消息的即时递送的制作方法

文档序号:13081402阅读:244来源:国知局
消息的即时递送的制作方法与工艺



背景技术:

目前,存在多种用于消息传递的电子通信的不同格式,包括即时消息传递、电子邮件(email)和文本消息传递、以及其它格式。这些格式中的许多格式在使用时具有特定的优点和缺点。例如,已知经由电子邮件发送的消息具有固有的时延问题。诸如即时消息传递的其它通信格式提供实时通信,但是不提供允许更丰富的协作特征的其它机制。

关于这些考虑和其它考虑,呈现了本文给出的公开内容。



技术实现要素:

本文描述了用于提供电子邮件消息的递送优化的技术。一般地,优化涉及提供对消息的即时或近似即时的处理以及经由电子邮件来递送消息。根据本文呈现的方面,提供了一种用于经由电子邮件对消息进行即时处理的方法。该方法包括接收待发送的即时消息。另外,该方法经由电子邮件将即时消息发送到多个接收方。对消息的这种即时处理允许通过电子邮件进行即时消息传递(“im”)类型的协作。另外,在通过电子邮件进行的im类型的协作中可以利用电子邮件的特征和益处。

取决于一个或多个条件,可以使用操作的不同集合将消息递送给不同的接收方。实现即时消息的递送不要求新的帐户。任何现有用户都能够参与通信,并且通信的即时性质针对满足系统中定义的标准的任何用户实现,具有适当的客户端软件的客户端也能够请求即时递送。提供对消息递送的确认的技术可以通过修改与消息的发送方相关联的邮箱的属性来提供。

应当意识到,上述主题还可以实现为计算机控制的装置、计算机进程、计算系统,或者实现为诸如计算机可读介质的制品。通过阅读以下具体实施方式并阅览相关联的附图,这些特征以及其它各特征将显而易见。

提供本发明内容以便以简化的形式来引入在下面的具体实施方式中进一步描述的概念的选择。本发明内容并非旨在识别所要求保护的主题的关键特征或必要特征,也并非旨在使用本发明内容来限定所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任何部分指出的任何或全部缺点的实现方式。

附图说明

图1是示出本文公开的用于提供电子邮件消息的递送优化的说明性系统的方面的系统图;

图2是示出可以与图1所示的系统一起使用的说明性例程的流程图;

图3是示出本文公开的用于提供电子邮件消息的递送优化(包括消息传递的后处理)的说明性系统的方面的系统图;

图4是示出说明性例程的流程图,其示例说明了图3所示的系统的与消息的后处理相关的操作的方面;

图5是示出说明性例程的流程图,其示例说明了提供与即时确认相关的电子邮件消息的递送优化的方面;

图6是示出能够实现本文呈现的技术的方面的计算系统的说明性计算机硬件和软件架构的计算机架构图;

图7是示出能够实现本文呈现的技术的方面的分布式计算环境的图;以及

图8是示出能够实现本文呈现的技术的方面的计算设备架构的计算机架构图。

具体实施方式

以下具体实施方式针对用于提供电子邮件消息的递送优化的技术。虽然本文描述的主题在与计算机系统上执行操作系统和应用程序结合地执行的程序模块的一般上下文中呈现,但是本领域技术人员将认识到,其它实现方式可以与其它类型的程序模块组合地执行。一般地,程序模块包括例程、程序、组件、数据结构、以及执行特定任务或实现特定抽象数据类型的其它类型的结构。此外,本领域技术人员将意识到,本文描述的主题可以利用其它计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器的或可编程的消费电子设备、小型计算机、大型计算机等。

在下面的具体实施方式中,对形成其一部分的附图进行参考,并且附图通过示例说明具体配置或示例的方式示出。现在参考附图,在附图中同样的附图标记遍及若干附图表示同样的元素,将描述用于提供电子邮件消息的递送优化的计算系统和方法的方面。

基于电子邮件的通信一般涉及时延问题,时延问题阻止将电子邮件系统用于实时通信应用。本文描述的技术提供了经由电子邮件进行即时通信的能力。通过使用本文公开的技术,电子邮件系统和电子邮件帐户可以用于即时通信,而不必使用专门的应用或者被配置用于专门的应用的帐户。如将更详细地描述的,使用用户现有的电子邮件帐户和电子邮件应用来进行即时通信允许用户之间增加的协作。

如下面进一步讨论的,提供电子邮件消息的递送优化通过利用对现有应用(例如,电子邮件应用)的熟悉性来提高用户效率。通过使用现有的电子邮件帐户进行即时通信而非具有用于电子邮件和即时消息传递二者的分离的帐户也可以提高用户效率。

电子邮件消息可能遭受递送延迟,递送延迟可以是从几秒到更长时间段的宽范围。已知一些延迟为大约九十秒。偶尔地,这些延迟甚至可能更长。提供电子邮件消息的递送优化可以在不到两秒内提供消息的递送。出于示例说明的目的,术语“即时递送”和“直接递送”是指与减少的时延相关联的机制。通过使用本文公开的技术,用户利用电子邮件消息的递送优化不需要附加的应用或帐户。用户可以利用现有的电子邮件帐户和电子邮件应用。下面将关于图1-8提供关于这些机制和其它机制的附加细节。

现在转到图1,将提供关于本文公开的说明性操作环境和若干软件组件的细节。具体地,图1是示出用于提供电子邮件消息的递送优化的说明性系统的方面的系统图。图1所示的系统100包括能够构成、显示、发送和/或接收电子邮件消息的客户端102。客户端102可以是一个或多个计算设备,例如,在图8中示出并且在下面更详细地描述的示例计算设备架构。在这方面,应当意识到,客户端102可以指示能够发送和/或接收电子邮件的、单独或共同地工作的任何数量的计算设备。例如但不限于,本文所使用的技术可能包括独立的电子邮件应用或其它应用,例如,网络浏览器和/或服务(例如,图7所示的服务)。

图1示出了客户端102发送消息106。可以使用用于将消息递送到邮箱的一种或多种已知技术将消息106发送到发送方邮箱104。在一些配置(图1中未示出)中,客户端102将消息106传输到发送方邮箱104。然后,通知提交服务110在发送方邮箱104中存在新的消息106。用于提交消息106的其它配置是可能的。接下来,基于一个或多个因素,可以使用直接递送系统109或通过使用处理中心112将消息106递送到接收方邮箱116。

如将在下面更详细地描述的,取决于消息106的一个或多个方面和/或其它因素,处理中心112可以执行操作。例如但不限于,在将消息106递送到接收方邮箱116之前,操作可以包括恶意软件扫描、解析、符合性检查、排队、归档、和/或spam过滤。处理中心112可以执行许多其它复杂功能,例如,出于高可用性目的而创建消息106的副本。在不脱离本说明书的范围和精神的情况下进行其它操作是可能的,其中仅提供前述示例用于促进该讨论。取决于消息106的方面和/或其它因素,系统100可以使用直接递送系统109来递送消息106,直接递送系统109可以在消息106被递送到接收方邮箱116之前仅执行操作的子集,例如,仅进行恶意软件扫描和符合性检查。可以利用直接递送系统109将消息106递送到一些接收方,以及从处理中心112将消息106递送到其它接收方。利用直接递送系统109来递送消息106的决定可以在每个接收方的基础上发生。通过使消息服从使用直接递送系统109的操作的子集,可以减轻到接收方邮箱116的递送的时延。例如,在一些配置中,使用处理中心112来递送消息106可以涉及用于对处理进行管理的排队机制。在一些配置中,使用直接递送系统109来递送消息106消除了作为用于对处理进行管理的手段的任何排队,并且还消除了处理功能中的一些。这种消除在两个方面有益:首先,它去除了在任何排队功能中固有的延迟的可能性,并且其次,递送消息所需的操作更少。如本文描述的,直接递送技术减轻了对于对消息进行排队(例如,对处理进行管理)的需求,从而可以消除诸如排队的任务。

在其中使用直接递送系统109的场景中,可以通过使用递送服务114将消息106直接写入到接收方邮箱116中。这样做时,系统100还可以直接在发送方邮箱104中修改消息106的消息属性108,其指示递送的确认。此外,在其中使用直接递送系统109的场景中,处理中心112可以在消息106已经被递送到接收方邮箱116之后对消息106执行其它操作,例如,归档、搜索索引、出于高可用性目的而制作冗余副本。

在一些配置中,取决于消息106的大小、接收方的数量、消息类型、指示消息106的存在时间的时间戳、和/或其它因素,系统100可以使用直接递送系统109或处理中心112来递送消息106。基于考虑这些因素的一个或多个条件,系统100还可以使用不同的机制(例如,直接递送系统109或处理中心112)将相同的消息106递送到不同的接收方。下面讨论的图2描述了确定消息对于直接递送系统109的合格性。

提交服务110还可以执行正常在处理中心112中执行的处理的子集。如果在消息106被发送到处理中心112之前将消息106发送到接收方的邮箱116,则可以附加地将消息106发送到处理中心112以用于后处理。虽然可以从提交两次发送消息,但是可以阻止将消息106两次递送到接收方邮箱116的递送服务114。下面讨论的图3和图4涵盖在递送之前对消息106进行处理以及在消息106已经被发送到接收方邮箱116的递送服务114一次之后对消息106进行后处理。

如上面概述的,还可以使用消息属性108在每个接收方的基础上跟踪消息106的递送、未递送、以及其它特性。例如,一些消息属性108可以指示消息是已读还是未读。如本文将描述的,这些属性由系统100直接更新,以便对递送和/或其它功能或任务进行即时确认。下面讨论的图5涵盖利用消息属性108对消息进行确认。

现在参考图2,描述了关于用于提供电子邮件消息的递送优化的技术的附加细节。具体地,图2是示出说明性例程200的流程图,其示例说明了图1所示的系统的上述处理的方面。

应当意识到,本文所描述的逻辑操作可以实现为(1)在计算系统上运行的计算机实现的动作或程序模块的序列,和/或实现为(2)计算系统内的互连的机器逻辑电路或电路模块。实现方式是取决于计算系统的性能和其它需求的选择问题。因此,本文所描述的逻辑操作可以多样地称为状态操作、结构设备、动作、或模块。这些操作、结构设备、动作、以及模块可以以软件、固件、专用数字逻辑、及其任何组合来实现。还应当意识到,可以执行比在图中示出和在本文中描述的更多或更少的操作。这些操作还可以以与本文所描述的次序不同的次序来执行。

例程200在操作202处开始,在操作202处提交服务110接收来自客户端102的消息106。提交服务110可以响应于客户端102将消息106发送到发送方邮箱104而接收消息106。

例程200从操作202进行到操作204,在操作204处提交服务110可以确定消息106是否有资格经由直接递送系统109被递送。提交服务110可以利用因素来确定消息106是否有资格用于直接传递系统109。这些因素可能包括但不限于消息大小、消息类型、接收方数量、接收方属于与发送方相同的组织、接收方的类型、和/或消息106的时间戳。任何数量的这些因素或其它因素可以用于确定消息106是否有资格在直接递送路线上发送到接收方的邮箱116。

可以利用消息106的消息大小来确定消息106对于使用直接递送系统109进行传送的合格性。例如,大小高于特定阈值的消息可以不在该路径上发送,并且相反可以将该消息发送到处理中心112。

另外,可以利用消息106的类型来确定消息106对于使用直接递送系统109进行传送的合格性。例如,可以将会议通知发送到处理中心112而不是使用直接递送系统109。

消息106的接收方的数量也可以用于确定消息106对于使用直接递送系统109进行传送的合格性。作为示例,如果接收方的数量超过阈值,则可以将消息106发送到处理中心112,以用于将消息106递送到接收方。

提交服务110还可以根据发送方与接收方之间的一个或多个关联来确定消息106对于在直接递送系统109上进行传送的合格性。例如,如果发送方在与接收方相同的组织(例如,由单个组织/实体管理的域的相同集合)中,则消息106对于使用直接递送系统109进行传送可以是合格的。对于在发送方外部的接收方而言(例如,不同的组织),可以使用处理中心112来发送消息106。另外,如果接收方的子集在相同的组织中,则可以使用直接递送系统109将消息106发送到接收方的子集,并且另外使用处理中心112将相同的消息106发送到组织外的其它接收方。出于示例说明的目的,在多租户系统中,如果消息从一个组织发送到另一组织,则消息从与一个租户相关联的第一邮箱跨越到与系统的另一租户相关联的第二邮箱。

另外,接收方的类型可以针对这些接收方确定消息106是否经由直接递送系统109发送到接收方116。作为示例,分发列表上的接收方可以仅经由处理中心112接收消息106。

在另一示例中,单个组织在第一系统(例如,云系统)中可以具有多个用户,并且在第二系统(例如,内部部署(on-premise)系统)中具有多个用户。在这样的结构中,消息106可以仅对于在系统中的一个系统内的用户之间使用直接递送系统合格。例如,云系统的用户可以仅针对云系统上的其他用户使用直接递送系统。在该示例中,如果云系统的用户向内部部署系统的用户发送消息106,则该消息对于使用直接递送系统可能是不合格的,并且可以使用其它递送机制。

作为另一示例,可以将消息106从发送方发送到多个接收方,其中接收方和发送方在单个组织中。在该示例中,接收方中的一些接收方具有在云中的邮箱,而其他接收方具有内部部署的邮箱。如果发送方的邮箱104也在云中,则使用直接递送系统109将消息106递送到具有在云中的邮箱的接收方,同时还使用处理中心112将相同的消息106递送到具有在内部部署系统中的邮箱的其他接收方。

另外,消息106的时间戳可以针对这些接收方确定消息106是否直接发送到接收方的邮箱116。作为示例,如果时间戳指示消息106比特定阈值更早,则可以在递送之前将消息发送到处理中心112,因为时间戳可以指示消息106对于进行即时通信而言不再足够当前。出于示例说明的目的,使用时间戳的因素和/或条件被称为“新近度”因素。

连同确定消息106是否有资格用于直接递送系统109,提交服务110可以执行正常在处理中心112中发生的处理的子集。在直接递送系统109中发生的处理可能包括但不限于恶意软件扫描和符合性检查。这些递送任务还可以用于确定消息106对于使用直接递送系统109进行传送的合格性。因此,除了检查上述条件(例如,接收方的数量)之外,可以执行递送操作的子集作为操作204的一部分。这可以包括诸如恶意软件扫描、解析、以及符合性的任务。当执行这些任务时,系统可以确定消息106对于直接递送系统109是不合格的。例如,如果没有满足合格标准中的一个或多个,则可能发生这种情况。在一些配置中,如果这些任务成功地执行,则例程200进行到操作208,在操作208处进行递送尝试。在另一示例中,可以使用与消息106相关的某些条件来确定消息106对于使用直接递送系统109进行传送是否合格。例如,系统100可以被配置为在提交期间检查消息106以确定消息是否需要特定的任务。如果在提交期间确定消息106需要特定的任务(例如,排队),则系统100可以确定消息106对于使用直接递送系统109进行传送是不合格的。在这样的示例中,如果消息106需要排队,则系统可以取消消息106用于直接递送系统的资格,这是因为排队可以涉及从外部资源获取信息的多个操作,这可能增加固有的时延。该示例出于示例说明的目的提供,并且不应被解释为限制性的,因为可以使用除了排队之外的任务和/或与单独的消息相关联的其它条件来确定消息对于直接递送109是否合格。

如果确定消息106没有资格用于直接递送系统109,则例程200可以从操作204进行到操作206。在操作206处,消息106服从多个电子邮件处理操作的集合。如上面讨论的,处理中心112可以对消息106执行多个任务,其可以涉及解析过程、恶意软件扫描、符合性检查、以及其它任务。在处理中心112完成其任务之后,可以将消息106递送到接收方的邮箱116。如果作为操作204的一部分执行一个或多个递送任务,则操作206可以跳过那些先前执行的任务。例如,如果操作204执行过恶意软件扫描,则操作206可以跳过该任务。例程200可以从操作206继续到操作214,在操作214处例程200结束。

如果确定消息106有资格用于直接递送系统109,则例程200可以从操作204进行到操作208。在操作208处,进行递送消息106的尝试。在一些配置中,操作208可以涉及将消息106直接写入到接收方邮箱116中。可以使用任何已知的技术来进行递送尝试。另外,对递送的验证可以涉及一种或多种已知的技术。例如,递送尝试可以包括一种或多种技术,例如,使用超文本传输协议(http)的技术。如果消息106的递送不成功,则例程200继续到操作206。虽然该示例使用http,但是能够意识到,该示例出于示例说明的目的提供,并且不应被解释为限制性的,因为许多其它传输协议可以与例程200一起使用,例如,简单邮件传输协议(smtp)、互联网消息访问协议(imap)、邮局协议(pop)、以及消息传递应用编程接口(mapi)。在操作206处,消息106可以经过中心处理112,如上面讨论的。然后,可以经由其它技术(例如,利用简单邮件传输协议(smtp)的技术)来递送消息106。例程200可以从操作206继续到操作214,在操作214处例程200结束。

当递送尝试成功时,例程200从操作208进行到操作210。在操作210处,系统100可以生成确认。在一个示例中,发送方可以接收消息106被成功递送到(多个)接收方的即时确认。该操作可以涉及在发送方邮箱104中直接写入消息106的属性108。利用消息属性108,能够在每个接收方的基础上对消息递送进行跟踪。可以更改消息属性108以指示针对特定接收方的递送,而不是接收递送回执。下面讨论的图5涵盖利用消息属性108对消息进行确认。

例程200从操作210继续到操作212,在操作212处消息106可以经历附加的处理。如上面讨论的,使用直接递送系统递送的消息106可以仅服从如果使用中心112来递送消息106将发生的任务的子集。然后,该消息服从操作212的后处理,其可以包括归档、或者为了一个或多个消息的冗余而制作副本、或其它复杂的操作。例程200从操作212进行到操作214,在操作214处例程200结束。

现在参考图3,图3是示出本文公开的用于提供电子邮件消息的递送优化的说明性系统的方面的系统图。图3所示的系统300包括客户端102和发送方邮箱104。另外,递送服务114和接收方邮箱116包括在图3中。

图3示出了消息可以遵从的直接递送系统。如上面讨论的,提交服务110可以执行由处理中心112执行的操作的子集。一旦消息106经由直接递送系统被递送,则消息106可以经历正常由处理中心112管理的处理。

后处理304可以处理最初由提交服务110跳过的任务。这些任务可以涉及一个或多个任务,包括归档、或者制作副本以用于冗余、以及其它任务。一旦后处理304完成,则不再次将消息106递送到接收方邮箱116。下面讨论的图4更详细地涵盖对消息106的处理和后处理。

现在转到图4,将提供关于本文呈现的用于提供电子邮件消息的递送优化的技术的附加细节。具体地,图4是示出说明性例程400的流程图,其示例说明了图1和图3所示的后处理的方面。

例程400在操作402处开始,在操作402处消息由最终用户发送。最终用户可以利用诸如客户端102的计算机使用应用来发送消息。例程400从操作402继续到操作404。

在操作404处,可以利用直接递送标签对消息进行戳记(stamp)。直接递送标签可以指示客户端或另一设备已经做出使用直接递送系统来发送消息的确定。可替代地,利用直接递送标签戳记的消息可以指示该消息已被认证为经由直接递送系统发送。认证过程可以包括上面关于图2讨论的例程200。

从操作404,例程400可以在操作406处继续。在操作406处,消息可以经由直接递送系统发送。如上面概述的,可以通过经由直接递送系统发送消息来跳过可以由处理中心112执行的一些任务。在一些配置中,直接递送系统仍然可以处理一个或多个任务,例如,恶意软件扫描、解析、符合性处理。操作406可以涉及对接收方邮箱直接写入。例程400从操作406继续到操作408。

在操作408处,可以对消息进行处理以使消息服从使用直接递送系统没有执行的任务。例如,该处理可以包括归档、制作冗余副本、以及正常由处理中心112管理的其它任务。例程400从操作408进行到操作410,在操作410处例程400结束。

现在参考图5,将提供关于本文呈现的用于提供电子邮件消息的递送优化的技术的附加细节。具体地,图5是示出提供即时确认的说明性例程500的流程图。

例程500在操作502处开始,在操作502处消息106可以经由直接递送系统发送。操作502可以涉及对接收方邮箱直接写入,并且操作502可以仅涉及由处理中心112执行的任务的子集。例程500从操作502继续进行到操作504。在操作504处,发送方接收已发送消息的递送回执的即时确认。发送方可以经由在发送方邮箱104中直接更改消息属性108来接收确认。如上面讨论的,可以在每个接收方的基础上对消息属性108进行更改。消息属性108的更改可以代替从接收方邮箱传达的递送回执的使用。

例程500可以从操作504继续进行到操作506。在操作506处,可以从接收方邮箱116访问消息106,例如,接收方用户可以读取消息106。例程500可以从操作506继续到操作508。在操作508处,发送方接收消息106由接收方读取的即时确认。如在操作504中,发送方可以经由更改消息属性108来接收确认。如上面讨论的,可以在每个接收方的基础上对消息属性108进行更改。消息属性108的更改可以代替已读回执的使用。

在一些配置中,可以将已读回执发送到发送方的邮箱104。代替将已读回执作为新的消息递送到用户的邮箱,系统利用已读回执的数据来改变发送方邮箱中的原始消息106的消息属性108。基于经更改的消息属性108,客户端可以改变已发送消息106的外观以图形化地指示确认。

另外,可以更改消息属性108以指示消息106的其它状态。状态可以指示未递送和/或未读。在读取之前被删除的消息能够生成未读的状态。可以在每个接收方的基础上对消息属性108进行更改以指示该状态。类似地,如果消息尚未成功递送,则可以在每个接收方的基础上对消息属性108进行更改以指示该结果。例程500从操作508进行到操作510,在操作510处例程500结束。

图6示出了能够执行本文所描述的用于提供电子邮件消息的递送优化的软件组件中的一些或全部软件组件的设备的计算机架构600。因此,图6所示的计算机架构600示出了服务器计算机、移动电话、pda、智能手机、台式计算机、上网本计算机、平板式计算机、和/或膝上型计算机的架构。计算机架构600可以用于执行本文呈现的软件组件的任何方面。

图6所示的计算机架构600包括中央处理单元602(“cpu”)、包括随机存取存储器606(“ram”)和只读存储器(“rom”)608的系统存储器604、以及将存储器604耦合到cpu602的系统总线610。基本输入/输出系统包含例如在启动期间有助于在计算机架构600内的元件之间传输信息的基本例程,其被存储在rom608中。计算机架构600还包括大容量存储设备612,其用于存储操作系统618以及一个或多个应用程序,包括但不限于网络浏览器程序624和电子邮件应用622。其它可执行的软件组件和数据也可能存储在大容量存储设备612中。

大容量存储设备612通过大容量存储控制器(未示出)连接到cpu602,大容量存储控制器连接到总线610。大容量存储设备612及其相关联的计算机可读介质为计算机架构600提供非易失性存储。虽然本文所包含的对计算机可读介质的描述是指诸如硬盘或cd-rom驱动器的大容量存储设备,但是本领域技术人员应当意识到计算机可读介质可以是能够由计算机架构600访问的任何可用的计算机存储介质或通信介质。

通信介质包括计算机可读指令、数据结构、程序模块、或调制数据信号(例如,载波或其它输送机制)中的其它数据,并且包括任何递送介质。术语“调制数据信号”表示这样的信号:其以使得能够对信号中的信息进行编码的方式来改变或设置其特性中的一个或多个。通过示例而非限制的方式,通信介质包括有线介质(例如,有线网络或直接有线连接)以及无线介质(例如,声波、rf、红外、以及其它无线介质)。以上通信介质中的任何通信介质的组合也应当包括在计算机可读介质的范围内。

通过示例而非限制的方式,计算机存储介质可以包括易失性和非易失性的、可移除和不可移除的介质,其以任何方法或技术实现,以用于存储诸如计算机可读指令、数据结构、程序模块、或其它数据的信息。例如,计算机介质包括但不限于ram、rom、eprom、eeprom、闪速存储器、或其它固态存储器技术,cd-rom、数字通用盘(“dvd”)、hd-dvd、blu-ray、或其它光存储,磁盒、磁带、磁盘存储、或其它磁存储设备,或者能够用于存储所期望的信息并且能够由计算机架构600访问的任何其它介质。出于权利要求的目的,短语“计算机存储介质”及其变型不包括波或信号本身和/或通信介质。

根据各种配置,计算机架构600可以通过诸如网络620的网络使用与远程计算机的逻辑连接在联网环境中进行操作。计算机架构600可以通过网络接口单元614连接到网络620,网络接口单元614连接到总线610。应当意识到,网络接口单元614还可以用于连接到其它类型的网络和远程计算机系统。计算机架构600还包括输入/输出控制器616,其用于接收和处理来自包括键盘、鼠标、或电子触笔(图6中未示出)的多个其它设备的输入。类似地,输入/输出控制器616可以将输出提供给显示器屏幕、打印机、或其它类型的输出设备(图6中未示出)。

应当意识到,本文所描述的软件组件在被加载到cpu602中并执行时,可以将cpu602和整个计算机架构600从通用计算系统转换成定制用于促进本文呈现的功能的专用计算系统。cpu602可以由任何数量的晶体管或其它分立电路元件构成,这些晶体管和分立电路元件可以单独地或者共同地显现任何数量的状态。更具体地,cpu602可以响应于包含在本文公开的软件模块内的可执行指令而作为有限状态机进行操作。这些计算机可执行指令可以通过指定cpu602如何在状态之间进行变迁从而对构成cpu602的晶体管或其它分立硬件元件进行转换来对cpu602进行转换。

对本文呈现的软件模块进行编码也可以转换本文呈现的计算机可读介质的物理结构。在本说明书的不同实现方式中,物理结构的具体转换可以取决于各种因素。这些因素的示例可以包括但不限于用于实现计算机可读介质的技术,无论计算机可读介质是被表征为主要存储还是次要存储等。例如,如果将计算机可读介质实现为基于半导体的存储器,则本文公开的软件可以通过对半导体存储器的物理状态进行转换而被编码在计算机可读介质上。例如,软件可以对构成半导体存储器的晶体管、电容器、或其它分立电路元件的状态进行转换。软件还可以对这些组件的物理状态进行转换以便于在其上存储数据。

作为另一示例,本文公开的计算机可读介质可以使用磁或光技术来实现。在这些实现方式中,当软件被编码在磁或光介质中时,本文所呈现的软件可以对磁或光介质的物理状态进行转换。这些转换可以包括更改给定磁介质内的特定位置的磁特性。这些转换还可以包括更改给定光介质内的特定位置的物理特征或特性,以改变这些位置的光特性。在不脱离本说明书的范围和精神的情况下,对物理介质的其它转换是可能的,其中提供上述示例仅为了促进该论述。

鉴于以上内容,应当意识到,许多类型的物理转换在计算机架构600中发生,以便于存储和执行本文呈现的软件组件。还应当意识到,计算机架构600可以包括其它类型的计算设备,包括手持式计算机、嵌入式计算机系统、个人数字助理、以及本领域技术人员已知的其它类型的计算设备。还可以设想,计算机架构600可以不包括图6所示的组件中的全部,可以包括图6中未明确示出的其它组件,或者可以使用与图6所示的架构完全不同的架构。

现在转到图7,图7示出了能够执行本文描述的用于提供电子邮件消息的递送优化的软件组件的说明性分布式计算环境700。因此,图7所示的分布式计算环境700能够用于提供本文关于图1-5描述的功能。因此,分布式计算环境700中的计算设备可以用于执行本文呈现的软件组件的任何方面。

根据各种实现方式,分布式计算环境700包括计算环境702,计算环境702在网络620上操作、与网络620通信、或作为网络620的部分。网络620还能够包括各种接入网络。一个或多个客户端设备706a-706n(下文统一地和/或一般性地称为“客户端706”)能够经由网络620和/或其它连接(图7中未示出)与计算环境702进行通信。

在所示的配置中,客户端706包括计算设备706a,例如,膝上型计算机、台式计算机、或其它计算设备;片式或平板计算设备(“平板计算设备”)706b;移动计算设备706c,例如,移动电话、智能手机、或其它移动计算设备;服务器计算机706d;和/或其它设备706n。应当理解,任何数量的客户端706能够与计算环境702进行通信。本文参考图6和图8示出并描述了客户端706的两个示例计算架构。应当理解,所示的客户端706和本文示出并描述的计算架构是说明性的,并且不应被解释为以任何方式进行限制。

在所示的配置中,计算环境702包括应用服务器708、数据存储710、以及一个或多个网络接口712。根据各种实现方式,应用服务器708的功能能够由作为网络620的部分或者与网络620通信地执行的一个或多个服务器计算机来提供。应用服务器708能够托管各种服务、虚拟机、入口、和/或其它资源。在所示的配置中,应用服务器708托管一个或多个虚拟机714以用于托管应用或其它功能。根据各种实现方式,虚拟机714托管一个或多个应用和/或软件模块以用于提供本文所描述的功能。应当理解,该配置是说明性的,并且不应被解释为以任何方式进行限制。应用服务器708还托管或提供对一个或多个网络入口、链接页面、网站、和/或其它信息(“网络入口”)716的访问。

根据各种实现方式,应用服务器708还包括一个或多个邮箱服务718和一个或多个消息传递服务720。邮箱服务718能够包括电子邮件(“email”)服务。邮箱服务718还能够包括各种个人信息管理(“pim”)服务,包括但不限于日历服务、通讯录管理服务、协作服务、和/或其它服务。消息传递服务720能够包括但不限于即时消息传递服务、聊天服务、论坛服务、和/或其它通信服务。

应用服务器708还能够包括一个或多个社交联网服务722。社交联网服务722能够包括各种社交联网服务,包括但不限于用于分享或发布状态更新、即时消息、链接、照片、视频、和/或其它信息的服务;用于评论或显示对文章、产品、博客、或其它资源感兴趣的服务;和/或其它服务。

在一些配置中,社交联网服务722由以下项提供或包括以下项:facebook社交联网服务、linkedin职业联网服务、myspace社交联网服务、foursquare地理联网服务、yammer办公同事联网服务等。在其它配置中,社交联网服务722由其它服务、站点、和/或可能明确地已知或可能不明确地已知作为社交联网提供商的提供商来提供。例如,一些网站允许用户在各种活动和/或上下文(例如,阅读公开的文章、评论商品或服务、发表、协作、进行游戏等)期间经由电子邮件、聊天服务、和/或其它手段来彼此交互。这些服务的示例包括但不限于来自microsoftcorporation(redmond,washington)的windowslive服务和xboxlive服务。其它服务是可能且可设想的。

社交联网服务722还能够包括评论、博客、和/或微博客服务。这些服务的示例包括但不限于yelp评论服务、kudzu审阅服务、officetalk企业微博客服务、twitter消息传递服务、googlebuzz服务、和/或其它服务。应当意识到,上述服务列表不是穷尽性的,而且为了简要起见,这里没有提及许多附加的和/或可替代的社交联网服务722。因此,上述配置是说明性的,并且不应被解释为以任何方式进行限制。

如图7所示,应用服务器708还能够托管其它服务、应用、入口、和/或其它资源(“其它资源”)704。其它资源704能够包括但不限于如处理中心122所提供的上述功能。因此,应当意识到,计算环境702能够提供本文公开的概念和技术的整合,这些概念和技术在本文中提供以用于提供具有各种邮箱、消息传递、社交联网、和/或其它服务或资源的电子邮件消息的递送优化。

如上面提及的,计算环境702能够包括数据存储710。根据各种实现方式,数据存储710的功能由在网络620上操作或者与网络620通信的一个或多个数据库来提供。数据存储710的功能还能够由被配置为托管用于计算环境702的数据的一个或多个服务器计算机来提供。数据存储710能够包括、托管、或提供一个或多个真实的或虚拟的数据存储区726a-726n(下文统一地和/或一般性地称为“数据存储区726”)。数据存储区726被配置为托管由应用服务器708使用或创建的数据和/或其它数据。

计算环境702能够与网络接口712通信或者由网络接口712访问。网络接口712能够包括用于支持两个或更多个计算设备(包括但不限于客户端706和应用服务器708)之间的通信的各种类型的网络硬件和软件。应当意识到,网络接口712还可以用于连接到其它类型的网络和/或计算机系统。

应当理解,本文所描述的分布式计算环境700能够提供本文所描述的具有任何数量的虚拟计算资源和/或其它分布式计算功能的软件元件的任何方面,其能够被配置为执行本文公开的软件组件的任何方面。根据本文公开的概念和技术的各种实现方式,分布式计算环境700向客户端706提供在本文中描述为服务的软件功能。

应当理解,客户端706能够包括真实的或虚拟的机器,包括但不限于服务器计算机、网络服务器、个人计算机、移动计算设备、智能手机、和/或其它设备。因此,本文所公开的概念和技术的各种配置使得被配置为访问分布式计算环境700的任何设备能够利用本文描述的用于电子邮件消息的递送优化的功能。

现在转到图8,将针对能够执行本文所公开的技术的计算设备描述说明性计算设备架构800。计算设备架构800可应用于部分地由于形状因子而促进移动计算无线连接、和/或电池供电操作的计算设备。在一些配置中,计算设备包括但不限于移动电话、平板设备、片式设备、便携式视频游戏设备等。此外,计算设备架构800可应用于图7所示的客户端706中的任一个。此外,计算设备架构800的方面可以应用于传统的台式计算机、便携式计算机(例如,膝上型计算机、笔记本、超级便携式计算机、以及上网本)、服务器计算机、以及其它计算机系统。例如,下文所公开的单触摸方面和多触摸方面可以应用于利用触摸屏的台式计算机或一些其它触摸使能的设备,例如,触摸使能的跟踪垫或触摸使能的鼠标。

图8所示的计算设备架构800包括处理器802、存储器组件804、网络连接组件806、传感器组件808、输入/输出组件810、以及电源组件812。在所示的配置中,处理器802与存储器组件804、网络连接组件806、传感器组件808、输入/输出(“i/o”)组件810、以及电源组件812进行通信。虽然没有示出图8所示的单独的组件之间的连接,但是组件能够进行交互以执行设备功能。在一些配置中,组件被布置为使得经由一条或多条总线(未示出)进行通信。

处理器802包括中央处理单元(“cpu”),其被配置为处理数据,执行一个或多个应用程序的计算机可执行指令,以及与计算设备架构800的其它组件进行通信以便于执行本文所描述的各种功能。处理器802可以用于执行本文所呈现的软件组件的方面,并且尤其是至少部分地利用触摸使能的输入的方面。

在一些配置中,处理器802包括图形处理单元(“gpu”),其被配置为加速由cpu执行的操作,包括但不限于,通过执行通用科学与工程计算应用以及诸如高分辨率视频(例如,720p、1080p、4k超高清(uhd)且更大)、视频游戏、三维(“3d”)建模应用等的图形密集的计算应用来执行的操作。在一些配置中,处理器802被配置为与分立的gpu(未示出)进行通信。在任何情况下,cpu和gpu可以根据协处理cpu/gpu计算模型来配置,其中应用的顺序部分在cpu上执行,而计算密集的部分由gpu加速。

在一些配置中,处理器802连同下文描述的其它组件中的一个或多个组件一起作为片上系统(“soc”)或者包括在soc中。例如,soc可以包括处理器802、gpu、网络连接组件806中的一个或多个、以及传感器组件808中的一个或多个。在一些配置中,处理器802是部分地利用层叠封装(“pop”)集成电路封装技术制造的。此外,处理器802可以是单核或多核处理器。

处理器802可以根据从armholdings(cambridge,unitedkingdom)可获得许可的arm架构来创建。可替代地,处理器802可以根据例如从intelcorporation(mountainview,california)可获得的x86架构以及其它来创建。在一些配置中,处理器802是从qualcomm(sandiego,california)可获得的snapdragonsoc、从nvidia(santaclara,california)可获得的tegrasoc、从samsung(seoul,southkorea)可获得的hummingbirdsoc、从texasinstruments(dallas,texas)可获得的开放多媒体应用平台(“omap”)soc、以上soc中的任一个的定制版本、或专有soc。

存储器组件804包括随机存取存储器(“ram”)814、只读存储器(“rom”)816、集成存储存储器(“集成存储”)818、以及可移除存储存储器(“可移除存储”)820。在一些配置中,ram814或其一部分、rom816或其一部分、和/或ram814和rom816的一些组合集成在处理器802中。在一些配置中,rom816被配置为存储固件、操作系统618或其一部分(例如,操作系统内核)、和/或引导加载程序,引导加载程序用于从集成存储818或可移除存储820加载操作系统618内核。

集成存储818能够包括固态存储器、硬盘、或固态存储器与硬盘的组合。集成存储818可以以焊接或以其它方式连接到逻辑板,处理器802以及本文描述的其它组件也可以连接到该逻辑板上。因此,集成存储818集成在计算设备中。集成存储818被配置为存储操作系统618或其一部分、应用程序、数据、以及本文描述的其它软件组件。

可移除存储820能够包括固态存储器、硬盘、或固态存储器与硬盘的组合。在一些配置中,可移除存储820替代集成存储818而提供。在其它配置中,可移除存储820作为附加的可选存储提供。在一些配置中,可移除存储820与集成存储818逻辑地组合从而使得总可用存储可用并且作为集成存储818和可移除存储820的总组合容量显示给用户。

可移除存储820被配置为插入到可移除存储存储器槽(未示出)或其它机构中,可移除存储820通过其被插入并保护以有助于连接,可移除存储820能够通过该连接与计算设备的其它组件(例如,处理器802)进行通信。可移除存储820可以以各种存储器卡格式来体现,包括但不限于,pc卡、compactflash卡、记忆棒、安全数字(“sd”)、minisd、microsd、通用集成电路卡(“uicc”)(例如,订户身份模块(“sim”)或通用sim(“usim”))、专有格式等。

能够理解,存储器组件804中的一个或多个能够存储操作系统618。根据各种配置,操作系统618包括但不限于来自microsoftcorporation(redmond,washington)的windowsmobileos、来自microsoftcorporation的windowsphoneos、来自microsoftcorporation的windows、来自researchinmotionlimited(waterloo,ontario,canada)的blackberryos、来自appleinc.(cupertino,california)的ios、以及来自googleinc.(mountainview,california)的androidos。设想到其它操作系统。

网络连接组件806包括无线广域网组件(“wwan组件”)822、无线局域网组件(“wlan组件”)824、以及无线个人区域网组件(“wpan组件”)826。网络连接组件806促进到网络620的通信和来自网络620的通信,网络620可以是wwan、wlan、或wpan。虽然示出了单个网络620,但是网络连接组件806可以促进与多个网络同时通信。例如,网络连接组件806可以促进经由wwan、wlan或wpan中的一个或多个与多个网络同时通信。

网络620可以是wwan,例如,利用一种或多种移动电信技术经由wwan组件822将语音和/或数据服务提供给利用计算设备架构800的计算设备的移动电信网络。移动电信技术能够包括但不限于全球移动通信系统(“gsm”)、码分多址(“cdma”)one、cdma2000、通用移动电信系统(“umts”)、长期演进(“lte”)、以及全球微波接入互操作(“wimax”)。此外,网络620可以利用各种信道接入方法(其可以或者可以不由上述标准使用),包括但不限于时分多址(“tdma”)、频分多址(“fdma”)、cdma、宽带cdma(“w-cdma”)、正交频分多路复用(“ofdm”)、空分多址(“sdma”)等。数据通信可以使用以下项来提供:通用分组无线电服务(“gprs”)、增强型数据速率全局演进(“edge”)、高速分组接入(“hspa”)协议系列(包括高速下行链路分组接入(“hsdpa”)、增强型上行链路(“eul”)或以其它方式称为高速上行链路分组接入(“hsupa”))、演进hspa(“hspa+”)、lte(“长期演进”)、以及各种其它当前和未来的无线数据访问标准。网络620可以被配置为利用上述技术的任何组合来提供语音和/或数据通信。网络620可以被配置为或适用于根据下一代技术来提供语音和/或数据通信。

在一些配置中,wwan组件822被配置为提供到网络620的双重多模式连接。例如,wwan组件822可以被配置为提供到网络620的连接,其中网络620经由gsm和umts技术或者经由技术的一些其它组合来提供服务。可替代地,可以利用多个wwan组件822来执行这样的功能,和/或提供附加的功能以支持其它不兼容(即,不能受到单个wwan组件支持)的技术。wwan组件822可以促进到多个网络(例如,umts网络和lte网络)的类似连接。

网络620可以是根据一个或多个电气与电子工程师协会(“ieee”)802.11标准(例如,ieee802.11a、802.11b、802.11g、802.11n、802.11ac、和/或未来802.11标准(在本文中统称为wi-fi))操作的wlan。还可以设想草拟802.11标准。在一些配置中,wlan利用一个或多个无线wi-fi接入点来实现。在一些配置中,无线wi-fi接入点中的一个或多个是与wwan连接的另一计算设备,其用作wi-fi热点。wlan组件824被配置为经由wi-fi接入点连接到网络620。可以经由各种加密技术来保护这些连接,包括但不限于wi-fi保护接入(“wpa”)、wpa2、有线等效隐私(“wep”)等。

网络620可以是根据红外数据联盟(“irda”)、bluetooth、无线通用串行总线(“usb”)、z-wave、zigbee、或一些其它短距离无线技术来操作的wpan。在一些配置中,wpan组件826被配置为促进经由wpan与诸如外围设备、计算机、或其它计算设备的其它设备进行通信。

传感器组件808包括磁力计830、环境光传感器832、接近度传感器834、加速度计836、陀螺仪838、以及全球定位系统传感器(“gps传感器”)840。设想到其它传感器也可以包含在计算设备架构800中,例如但不限于温度传感器或震动检测传感器。

磁力计830被配置为测量磁场的强度和方向。在一些配置中,磁力计830将测度提供给存储在存储器组件804中的一个存储器组件内的罗盘应用程序,以便于向用户提供在包括基本方向北、南、东、以及西的参考系中的精确方向。可以将类似的测度提供给包括罗盘组件的导航应用程序。设想到由磁力计830获得的测度的其它使用。

环境光传感器832被配置为测量环境光。在一些配置中,环境光传感器832将测度提供给存储在存储器组件804中的一个存储器组件内的应用程序,以便于自动地调节显示器(下面描述)的亮度以补偿低光照环境和高光照环境。设想到由环境光传感器832获得的测度的其它使用。

接近度传感器834被配置为在不直接接触的情况下检测存在接近计算设备的物体或事物。在一些配置中,接近度传感器834检测用户的身体(例如,用户的面部)的存在,并且将该信息提供给存储在存储器组件804中的一个存储器组件内的应用程序,该应用程序利用接近度信息来启用或禁用计算设备的某些功能。例如,电话应用程序可以响应于接收到接近度信息而自动地禁用触摸屏(下面描述),以使得用户的面部不会在通话期间不经意地结束通话或者启用/禁用电话应用程序内的其它功能。设想到如由接近度传感器834检测到的接近度的其它使用。

加速度计836被配置为测量正确的加速度。在一些配置中,来自加速度计836的输出由应用程序用作对应用程序的一些功能进行控制的输入机制。例如,应用程序可以是视频游戏,其中人物、其部分、或对象响应于经由加速度计836接收到的输入而被移动或以其它方式被操纵。在一些配置中,将来自加速度计836的输出提供给应用程序,以供在横向模式与纵向模式之间切换、计算坐标加速度、或者检测下降时使用。设想到加速度计836的其它使用。

陀螺仪838被配置为测量并维持方位。在一些配置中,来自陀螺仪838的输出由应用程序用作对应用程序的一些功能进行控制的输入机制。例如,陀螺仪838能够用于在视频游戏应用或一些其它应用的3d环境内对移动进行精确识别。在一些配置中,应用程序利用来自陀螺仪838和加速度计836的输出来增强对应用程序的一些功能的控制。设想到陀螺仪838的其它使用。

gps传感器840被配置为接收来自gps卫星的信号以用于计算位置。由gps传感器840计算的位置可以由需要或受益于位置信息的任何应用程序使用。例如,由gps传感器840计算的位置可以与导航应用程序一起使用以提供从该位置到目的地的方向或者从目的地到该位置的方向。此外,gps传感器840可以用于将位置信息提供给基于外部位置的服务,例如,e911服务。gps传感器840可以经由wi-fi、wimax、和/或蜂窝三角测量技术利用网络连接组件806中的一个或多个来获得所生成的位置信息,以帮助gps传感器840获得位置固定。gps传感器840还可以用于辅助gps(“a-gps”)系统。

i/o组件810包括显示器842、触摸屏844、数据i/o接口组件(“数据i/o”)846、音频i/o接口组件(“音频i/o”)848、视频i/o接口组件(“视频i/o”)850、以及照相机852。在一些配置中,对显示器842和触摸屏844进行组合。在一些配置中,对数据i/o组件846、音频i/o组件848、以及视频i/o组件850中的两个或更多个进行组合。i/o组件810可以包括被配置为支持下面所描述的各种接口的分立的处理器,或者可以包括内置于处理器802中的处理功能。

显示器842是被配置为以视觉形式呈现信息的输出设备。特别地,显示器842可以呈现图形用户接口(“gui”)元件、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息传递数据、互联网内容、设备状况、时间、日期、日历数据、偏好、地图信息、位置信息、以及能够以视觉形式呈现的任何其它信息。在一些配置中,显示器842是利用任何有源或无源矩阵技术以及任何背光技术(如果使用)的液晶显示器(“lcd”)。在一些配置中,显示器842是有机发光二极管(“oled”)显示器。设想到其它显示器类型。

触摸屏844是被配置为检测触摸的存在和位置的输入设备。触摸屏844可以是电阻触摸屏、电容触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、分散信号触摸屏、声脉冲识别触摸屏,或者可以利用任何其它触摸屏技术。在一些配置中,触摸屏844作为透明层并入显示器842的顶部,以使得用户能够使用一个或多个触摸来与呈现在显示器842上的对象或其它信息进行交互。在其它配置中,触摸屏844是并入不包括显示器842的计算设备的表面上的触摸板。例如,计算设备可以具有并入显示器842顶部的触摸屏以及与显示器842相对的表面上的触摸板。

在一些配置中,触摸屏844是单触摸式触摸屏。在其它配置中,触摸屏844是多触摸式触摸屏。在一些配置中,触摸屏844被配置为检测离散的触摸、单触摸手势、和/或多触摸手势。为了方便,这些在本文中统称为手势。现在将描述若干手势。应当理解,这些手势是说明性的,而不旨在限制所附权利要求的范围。此外,所描述的手势、附加手势、和/或替代手势可以以软件实现以供与触摸屏844一起使用。因此,开发者可以创建特定于特定应用程序的手势。

在一些配置中,触摸屏844支持敲击手势,其中用户对呈现在显示器842上的项目敲击触摸屏844一次。敲击手势可以出于各种原因而使用,包括但不限于打开或启动用户敲击的无论什么事物。在一些配置中,触摸屏844支持双敲击手势,其中用户对呈现在显示器842上的项目敲击触摸屏844两次。双敲击手势可以出于各种原因而使用,包括但不限于阶段性地放大或缩小。在一些配置中,触摸屏844支持敲击并保持手势,其中用户敲击触摸屏844并且维持接触至少预先定义的时间。敲击并保持手势可以出于各种原因而使用,包括但不限于打开上下文特定菜单。

在一些配置中,触摸屏844支持平移手势,其中用户将手指放在触摸屏844上,并且在触摸屏844上移动手指的同时维持与触摸屏844接触。平移手势可以出于各种原因而使用,包括但不限于以受控的速率移动通过屏幕、图像、或菜单。设想到多手指平移手势。在一些配置中,触摸屏844支持拂动手势,其中用户沿用户想要屏幕移动的方向滑动手指。拂动手势可以出于各种原因而使用,包括但不限于水平地或者垂直地滚动通过菜单或页面。在一些配置中,触摸屏844支持捏合与拉伸手势,其中用户用两个手指(例如,拇指和食指)在触摸屏844上做出捏合运动或者移动使两个手指分开。捏合与拉伸手势可以出于各种原因而使用,包括但不限于逐渐地放大或缩小网站、地图、或图片。

虽然已经参考使用一个或多个手指来执行手势对上述手势进行了描述,但是也可以使用其它附件(例如,足趾或诸如触笔的对象)与触摸屏844进行交互。因此,上述手势应当被理解为说明性的,并且不应被解释为以任何方式进行限制。

数据i/o接口组件846被配置为促进将数据输入到计算设备并从计算设备输出数据。在一些配置中,数据i/o接口组件846包括连接器,该连接器被配置为提供计算设备与计算机系统之间的有线连接,例如,用于同步操作的目的。连接器可以是专属连接器或标准化连接器,例如,usb、微型usb、迷你usb等。在一些配置中,连接器是用于将计算设备与诸如对接站、音频设备(例如,数字音乐播放器)、或视频设备的另一设备进行对接的对接连接器。

音频i/o接口组件848被配置为向计算设备提供音频输入和/或输出能力。在一些配置中,音频i/o接口组件848包括被配置为采集音频信号的麦克风。在一些配置中,音频i/o接口组件848包括被配置为提供用于耳机或其它外部扬声器的连接的耳机插孔。在一些配置中,音频接口组件848包括用于输出音频信号的扬声器。在一些配置中,音频i/o接口组件848包括光学音频电缆出口。

视频i/o接口组件850被配置为向计算设备提供视频输入和/或输出能力。在一些配置中,视频i/o接口组件850包括视频连接器,该视频连接器被配置为从另一设备(例如,诸如dvd或bluray播放器的视频媒体播放器)接收视频作为输入,或者将视频发送到另一设备(例如,监视器、电视机、或一些其它外部显示器)作为输出。在一些配置中,视频i/o接口组件850包括用于输入/输出视频内容的高清多媒体接口(“hdmi”)、迷你hdmi、微型hdmi、displayport、或专属连接器。在一些配置中,视频i/o接口组件850或其部分与音频i/o接口组件848或其部分进行组合。

照相机852能够被配置为捕获静止图像和/或视频。照相机852可以利用电荷耦合器件(“ccd”)或互补金属氧化物半导体(“cmos”)图像传感器来捕获图像。在一些配置中,照相机852包括帮助在低光照环境下拍摄图片的闪光灯。用于照相机852的设置可以实现为硬件按钮或软件按钮。

虽然没有示出,但是一个或多个硬件按钮也可以包括在计算设备架构800中。硬件按钮可以用于控制计算设备的一些操作方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是机械的或基于传感器的。

图示的电源组件812包括一个或多个电池854,其能够连接到电池计量仪856。电池854可以是可再充电的或一次性的。可再充电电池类型包括但不限于锂聚合物、锂离子、镍镉、以及镍金属氢化物。电池854中的每一个可以由一个或多个单元制成。

电池计量仪856能够被配置为测量诸如电流、电压、以及温度的电池参数。在一些配置中,电池计量仪856被配置为测量电池的放电速率、温度、存在时间、以及其它因素的影响,以在特定误差百分比内预测剩余寿命。在一些配置中,电池计量仪856将测度提供给应用程序,该应用程序被配置为利用测度来向用户呈现有用的电源管理数据。电源管理数据可以包括以下中的一个或多个:电池使用百分比、电池剩余百分比、电池状态、剩余时间、剩余容量(例如,以瓦特小时为单位)、电流消耗、以及电压。

电源组件812还可以包括电源连接器,其可以与上述i/o组件810中的一个或多个进行组合。电源组件812可以经由电源i/o组件与外部电源系统或充电设备相接。

鉴于以下条款,可以考虑本文呈现的公开内容。

条款1:一种用于对消息进行即时处理的方法,该方法包括:接收来自客户端的消息;以及使用直接递送系统来发送消息,直接递送系统被配置为将消息写入一个或多个接收方的邮箱中,直接递送系统包括从包括恶意软件扫描、符合性检查、以及spam过滤的组中选择的至少一个操作。

条款2:条款1的方法,其中,发送消息包括使消息从多租户系统的第一租户跨越到与多租户系统的第二租户相关联的一个或多个接收方。

条款3:条款1-2的方法,其中,将消息发送到一个或多个接收中的第一接收方包括将消息写入第一接收方的邮箱中;并且其中,将消息发送到一个或多个接收方中的第二接收方包括利用被配置有电子邮件协议的处理中心来发送消息。

条款4:条款1-3的方法,其中,电子邮件协议包括以下中的至少一个:简单邮件传输协议(smtp)、互联网消息访问协议(imap)、超文本传输协议(http)、邮局协议(pop)、以及消息传递应用编程接口(mapi)。

条款5:条款1-4的方法,其中,直接递送系统不包括排队。

条款6:条款1-5的方法,其中,一个或多个接收方包括分别与第一接收方邮箱和第二接收方邮箱相关联的第一接收方和第二接收方,第一接收方邮箱与多租户系统的第一租户相关联,第二接收方邮箱与多租户系统的第二租户相关联,并且其中,发送消息包括经由不同的路径将消息发送到与第一租户相关联的第一接收方邮箱以及与第二租户相关联的第二接收方邮箱。

条款7:条款1-6的方法,其中,直接递送系统还包括创建用于冗余的副本以用于高可用性。

条款8:一种用于对消息进行即时处理的系统,该系统包括:处理器;以及与处理器通信的存储器,该存储器在其上存储有计算机可读指令,计算机可读指令当由处理器执行时,使得处理器执行包括以下操作的方法:接收待发送的消息,以及使用直接递送系统来发送消息,直接递送系统被配置为将消息写入至少一个接收方的邮箱中,直接递送系统包括从包括符合性检查和spam过滤的组中选择的至少一个操作。

条款9:条款8的系统,其中,发送消息包括使消息从多租户系统的第一租户跨越到与多租户系统的第二租户相关联的至少一个接收方。

条款10:条款8-9的系统,其中,直接递送系统还包括至少一个操作,其包括创建消息的副本和解析过程。

条款11:条款8-10的系统,其中,至少一个接收方包括分别与第一接收方邮箱和第二个接收方邮箱相关联的第一接收方和第二接收方,第一接收方邮箱与多租户系统的第一租户相关联,第二接收方邮箱与多租户系统的第二租户相关联,并且其中,发送消息包括经由不同的路径将消息发送到与第一租户相关联的第一接收方邮箱以及与第二租户相关联的第二接收方邮箱。

条款12:条款8-11的系统,其中,将消息发送到至少一个接收方中的第一接收方包括将消息写入第一接收方的邮箱中;并且其中,将消息发送到至少一个接收方中的第二接收方包括利用处理中心基于电子邮件协议来发送消息。

条款13:条款8-12的系统,其中,电子邮件协议包括以下中的至少一个:简单邮件传输协议(smtp)、超文本传输协议(http)、互联网消息访问协议(imap)、邮局协议(pop)、以及消息传递应用编程接口(mapi)。

条款14:条款8-13的系统,其中,直接递送系统还包括用于恶意软件扫描的操作。

条款15:条款8-14的系统,其中,直接递送系统包括用于符合性检查的操作。

条款16:条款8-15的系统,其中,直接递送系统包括用于spam过滤的操作。

条款17:一种用于对消息进行处理的方法,该方法包括:接收待发送的消息;以及使用被配置为跨多个组织将消息写入一个或多个接收方的邮箱中的直接递送系统来发送消息,直接递送系统包括用于递送消息的操作的集合,该操作的集合包括从包括恶意软件扫描、符合性检查、spam过滤、创建消息的副本、以及解析过程的组中选择的至少一个操作。

条款18:条款17的方法,其中,将消息发送到一个或多个接收方中的第一接收方包括将消息写入第一接收方的邮箱中;并且其中,将消息发送到一个或多个接收方中的第二接收方包括利用处理中心基于电子邮件协议来发送消息。

条款19:条款17-18的方法,其中,电子邮件协议包括以下中的至少一个:简单邮件传输协议(smtp)、互联网消息访问协议(imap)、超文本传输协议(http)、邮局协议(pop)、以及消息传递应用编程接口(mapi)。

条款20:条款17-19的方法,其中,用于发送消息的帐户是用于发送电子邮件的同一帐户。

条款21:条款17-20的方法,其中,一个或多个接收方包括分别与第一接收方邮箱和第二接收方邮箱相关联的第一接收方和第二接收方,第一接收方邮箱与多租户系统的第一租户相关联,第二接收方邮箱与多租户系统的第二租户相关联,并且其中,发送消息包括经由不同的路径将消息发送到与第一租户相关联的第一接收方邮箱以及与第二租户相关联的第二接收方邮箱。

基于上述内容,应当意识到在本文中已经公开了用于提供电子邮件消息的递送优化的技术。虽然本文所呈现的主题以特定于计算机结构特征、方法和变换动作、特定的计算机器、以及计算机可读介质的语言来描述,但是应当理解,在所附权利要求中限定的本发明并非必须限于本文所描述的特定特征、动作、或介质。相反,特定特征、动作、以及介质作为实现权利要求的示例形式公开。

上面描述的主题仅通过示例说明的方式来提供,并且不应被解释为进行限制。可以在不遵照所示出和所描述的示例的配置和应用并且不脱离本发明的真正精神和范围的情况下对本文所描述的主题做出各种修改和改动,本发明的真正精神和范围在所附权利要求中进行阐述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1