电子邮件网络客户端通知排队的制作方法_4

文档序号:9794040阅读:来源:国知局
通知提供给网络客户端之后,在操作637处,HTTP服务器可以从通知的存储位置(例如本地数据库、存储装置)删除通知,或者其中在使用通知服务器时,通知服务器可以删除通知。可替代地,可以从网络客户端接收收到通知的确认,并且作为响应HTTP服务器或通知服务器可以删除通知。
[0062]在操作640处,HTTP服务器可以将电子邮件系统访问提供给网络客户端,包括通过建立到电子邮件服务器的持续连接,并且如本文所描述地存储和传送即将到来的任意通知。注意的是在一些实施方案中,HTTP服务器可以首先代表网络客户端建立到电子邮件服务器的连接,并在检索和传送任意通知之前请求电子邮件数据和/或服务。全部这种实施方案被预期为在本公开的范围内。在操作640之后,操作程序600移动到操作程序结束的操作645。
[0063]图7示出根据本公开的一些实施方案的示例性非限制性信号流700,所述信号流700示出在网络客户端、HTTP服务器(并且在一些实施方案中是通知服务器)以及电子邮件服务器之间可以发生的示例通信。注意的是在通知服务器的实施方案中,HTTP服务器720表示HTTP服务器和通知服务器,并且在下文中详细阐述它们的交互。网络客户端710可以在通信711下从HTTP服务器720请求电子邮件系统访问或数据,或者以其他方式在通信711下将与电子邮件系统有关的通信传送至HTTP服务器720。作为响应,HTTP服务器720可以传送请求721来:建立与电子邮件服务器730的连接(例如持续连接);检索电子邮件数据;为网络客户端710订阅通知;和/或以其他方式代表网络客户端710来与电子邮件服务器730通信。
[0064]可替代地,响应于通信711,HTTP服务器720可以告知通知服务器或以其他方式指令通知服务器来传送请求721以建立与电子邮件服务器730的连接(例如持续连接)并为网络客户端710订阅通知。可将响应731从电子邮件服务器730传送至HTTP服务器720,所述响应731可以包括任意数据,诸如收到请求721、电子邮件数据、连接数据等的确认。作为响应HTTP服务器可以将通信722传送至网络客户端710,所述通信722可以包括由旨在用于网络客户端710的电子邮件服务器730所提供的任意数据。
[0065]例如响应于由电子邮件服务器730检测或产生的事件,可将通知732传送至HTTP服务器720。可替代地,可将通知732传送至通知服务器。这种事件可以是可以告知用户的任意类型的事件,包括收到电子邮件、日历提醒、会议邀请等。在723处,HTTP服务器720或与其相关联的通知服务器可以以任意方式存储通知,所述方式包括:本地存储通知;通过与网络客户端710相关联的识别信息将通知存储在数据库记录中;或者将通知存储在存储装置中并且通过与网络客户端710相关联的识别信息将通知位置信息存储在数据库记录中。可将收到通知的确认724通过HTTP服务器720或通知服务器传送至电子邮件服务器730。后续通知733可由HTTP服务器720或通知服务器接收、在725处进行存储、并且在726处进行确认。任意其他后续通知可由HTTP服务器720或通知服务器类似地进行接收、存储、和确认。
[0066]HTTP服务器720可以接收来自网络客户端710的通信712,所述通信712可以是对于另外的电子邮件数据或与电子邮件服务器730的交互的请求。在这种实施方案中,HTTP服务器720可以将这个请求转发至电子邮件服务器730,并从电子邮件服务器730接收响应。可替代地,通信712可以仅仅是根据正常的操作程序由网络客户端710所传送的保活通信。响应于收到通信712,HTTP服务器720可以检索对于网络客户端710的任意待处理通知。这可以包括如本文所描述的本地检索、从数据库检索、从存储设备检索、通过查询通知服务器检索,或者任意其他检索方法和装置。可在通信728中将待处理通知传送至网络客户端710,所述通信728还可以包括响应于通信712可能已产生或接收的任意其他数据或通信。
[0067]注意的是,如上所述,本文所阐述的实施方案不限于用于电子邮件服务供应商和电子邮件服务器和系统,但是也可以用于其中用户可以编写可以包括附件的任意类型的消息并且到HTTP服务器的连接在编写过程期间可能会中断的任意系统中,或者用于其中可能产生旨在用于用户消费的通知的任意系统中。例如,允许用户交互的许多社交消息传送网站和其他网站提供允许用户彼此发送包括附件的消息并发送指示新消息或事件发生的通知给用户的消息传送的能力。日历服务和会议协调服务也可以发送通知给用户,从而提醒用户会议邀请和即将到来的事件。本领域技术人员将理解的是公开的实施方案可以被容易地施加到这种系统,并且全部这种应用被预期为在本公开的范围内的实施方案。
[0068]同样注意的是,当前的实施方案还可以用于使一个或多个文件与网络客户端相关联或者将通知提供给用户的任意其他系统。例如,允许用户使用网络客户端上传文件到服务器或其他设备的一些系统。在这种系统中,当上传文件相对较大时,可将文件分成两个或更多个部分以有助于上传文件(可以被称为“多部分上传”)。在一个实施方案中,如本文所描述的,这种系统可以将用于网络客户端的状态信息保存在数据库中,并将正上传的文件的一个或多个部分存储在存储设备或系统中。可将位置信息存储在与网络客户端相关联的数据库记录中,或者如本文关于消息附件所描述地以其他方式来确定位置信息。在这种实施方案中,如果网络客户端当执行多部分上传时与其通信的HTTP服务器变得不可用,那么备用或故障转移HTTP服务器可以确定网络客户端是否处于多部分上传的过程中,并且如果是这样的话在其中可以存储多部分上传的一个或多个部分。以这种方式,这种系统能够防止使网络客户端再发送多部分上传的已由最初服务网络客户端的HTTP服务器所接收的部分。
[0069]图8-图10类似于图1和图2,因为它们描绘了可以实现本文公开的实施方案的示例操作环境,并且这些附图描绘了在不同的粒度水平下的这些操作环境。图8大体上描绘了包括多个数据中心的可编程执行服务平台。图9大体上描绘了包括多个计算机的数据中心。图10大体上描绘了计算机。
[0070]应理解的是,图8-图10的这些操作环境可以被用于实现图1和图2的操作环境的各方面。例如,HTTP服务器130和140、存储装置150、数据库160以及邮件服务器170可以在图8的数据中心80 2中实现,或者跨图8的多个数据中心80 2实现。同样地,图1和图2的互联网120可以是图8的广域网,并且图1的用户设备101可以是图8的客户计算系统804。
[0071]在图8的数据中心802内,HTTP服务器130和140、存储装置150、数据库160以及邮件服务器170中的每一个可以是图9的服务器计算机902或904(其本身可以是图10的计算机1000)。图1和图2的通信链路112、123、124、153、154、163 164、173和174可以是图9的局域网916的部分。
[0072]现转到图8的细节,图8描绘了可实现本文所述的实施方案的合适的计算环境的示例。云服务供应商(诸如计算服务平台808)可以配置示出的计算环境以托管虚拟云实体并且启动可能以其他方式隔离的这些虚拟云之间的通信路径。具体地说,图8是示出了说明性操作环境800的系统和网络图,所述操作环境800包括计算服务平台808,所述计算服务平台808用于实现虚拟云并且用于提供到诸如虚拟机实例的计算资源的按需访问。计算服务平台808可在永久性或按需基础上提供用于执行应用的计算资源,并且可以被配置成私用网络。这些计算资源可以包括各种类型的资源,诸如数据处理资源、数据存储资源、数据通信资源等。每种类型的计算资源可以是通用的,或者可以可用于一些特定配置中。例如,数据处理资源可用作虚拟机实例。所述实例可以被配置来执行应用,包括邮件服务器、web服务器、HTTP服务器、存储服务器、应用服务器、媒体服务器、数据库服务器等。数据存储资源可以包括文件存储设备、区块存储设备等。
[0073]每种类型或每种配置的计算资源可以具有不同大小,诸如大型资源,其由许多处理器、大量存储器和/或较大存储容量组成;以及小型资源,其由较少处理器、更少量的存储器和/或更小的存储容量组成。例如,实体可选择分配许多如web服务器、HTTP服务器的小型处理资源,和/或如数据库服务器的一个大型处理资源。
[0074]由计算服务平台808提供的计算资源可由一个或多个数据中心802A-802N启用,所述数据中心802A-802N在本文中可单数地称为“数据中心802”或复数地称为“多个数据中心802”。数据中心802可以是容纳和操作计算机系统和相关联部件的设施,并且可以包括冗余和备用电源、通信、冷却和安全系统。数据中心802可以位于相同的地理区域,诸如在相同的设施中,并且可以使用由计算服务平台808的服务供应商控制和管理的私用网络诸如高速光纤网络进行互联。数据中心802还可以跨地理上不同的位置来分布,并且可以使用公用网络诸如互联网部分互联。下文中关于图9描述了实现本文公开的概念和技术的用于数据中心802的一种说明性配置。
[0075]计算服务平台808的实体可以通过广域网(“WAN”)806访问由数据中心802提供的计算资源。尽管图8中示出WAN,但是应理解的是可以利用将数据中心802连接到远程实体和其他用户的局域网(“LAN”)、互联网或本领域已知的任意其他网络拓扑。还应理解的是,也可以利用这种网络的组合。
[0076]是计算服务平台808的客户的实体或其他实体能够利用客户计算系统804来访问由数据中心802提供的计算资源。客户计算系统804可以包括能够访问计算服务平台808的计算机,诸如服务器计算机、台式机或膝上型个人计算机、平板计算机、无线电话、PDA、电子阅读器、游戏机、机顶盒或任意其他计算设备。
[0077]如下文中更详细地描述的,客户计算系统804可以被利用来配置由计算服务平台808所提供的计算资源的各方面。在这点上,计算服务平台808可以提供web接口,通过所述web接口,可通过使用在客户计算系统804上执行的web浏览器应用程序来配置计算服务平台的操作的各方面。可替代地,在客户计算系统804上执行的独立应用程序可以访问由计算服务平台808公开的应用编程接口(API)以便执行配置操作。也可以利用用于配置计算服务平台808的操作的其他机制,包括在计算服务平台808上启动新的虚拟机实例。
[0078]根据本文所述的实施方案,由计算服务平台808提供的所购买计算资源的容量可响应于需求而进行缩放。在这点上,缩放是指响应于需求来例示(其在本文中也可称为“启动”或“创建”)或终止(其在本文中也可称为“停止缩放”)计算资源实例的过程。
[0079]自动缩放可以是一种用于响应于对资源的需求的增加或减弱来对计算资源进行缩放的机制。自动缩放可以允许计算服务平台808的实体根据由实体所定义的条件对实体所购买的计算资源进行缩放。例如,可定义规则以用于响应于指定的条件(诸如需求高峰)的发生而以特定方式放大容量。类似地,也可定义规则来响应于其他条件(诸如需求减弱)的发生而以特定方式缩小容量。当实例由实体手动地启动或当实例由在计算服务平台808中的自动缩放部件启动时,可利用本文所公开的用于启动虚拟机实例的机制。
[0080]计算服务平台808也可被配置有部署部件来辅助实体部署计算资源的新实例。部署部件可以从实体接收配置,所述配置可以包括描述新实例应如何被配置的数据。例如,所述配置可以:指定应在新实例中安装的一个或多个应用或软件部件,提供将要在新实例中执行的脚本和/或其他类型的代码,提供指定应如何准备应用高速缓存的高速缓存热身逻辑以及其他类型的信息。部署部件利用实体提供的配置和高速缓存热身逻辑来启动、配置并预先准备计算资源的新实例。
[0081]图9描绘了计算系统图,示出用于实现计算服务平台808的数据中心802的一种配置。图9中示出的示例数据中心802可以包括用于提供计算资源的若干服务器计算机902A-902N,用于托管虚拟云并用于执行应用,所述服务器计算机902A-902N在本文中可单数地称为“服务器计算机902”或复数地称为“多个服务器计算机902”。服务器计算机902可以是被适当配置用于提供上文所述的计算资源的标准塔式或机架安装的服务器计算机。例如,在一种实现方式中,服务器计算机902可以被配置来提供计算资源的实例906A-906N。
[0082]实例906A-906N(其在本文中可单数地称为“实例906”或复数地称为“多个实例906” )可以是虚拟机实例。如本领域中已知的,虚拟机实例是像物理机一样执行程序的机器(即,计算机)的软件实现方式的实例。在虚拟机实例的示例中,每个服务器计算机902可以被配置来执行能够执行所述实例的实例管理器908。例如,实例管理器908可以是管理程序或被配置来使得能够在单个服务器计算机902上执行多个实例906的另一种类型的程序。每个实例906可以被配置来执行应用的全部或部分。
[0083]应理解的是,尽管本文所公开的实施方案主要是在虚拟机实例的情境中描述的,但是其他类型的实例也可与本文所公开的概念和技术一起使用。例如,本文所公开的技术可与存储资源的实例、数据通信资源的实例以及与其他类型的资源一起使用。本文所公开的实施方案也可直接在计算机系统上执行应用的全部或部分,而不利用虚拟机实例。
[0084]图9中示出的数据中心802还可以包括被保留用于执行软件部件的服务器计算机904,所述软件部件用于管理数据中心802、服务器计算机902以及实例906的操作。具体地说,服务器计算机904可以执行管理部件910。如上文所讨论的,计算服务平台808的实体可利用客户计算系统804来访问管理部件910以便配置计算服务平台808和由实体购买的实例906的操作的各种方面。例如,实体可以购买实例并对实例的配置做出改变。实体还可以指定关于所购买的实例如何响应于需求而缩放的设置。实体还可以提供请求来启动管理部件910的实例。
[0085]同样如上文简要描述的,自动缩放部件912可以基于由计算服务平台808的实体所定义的规则来对实例906进行缩放。例如,自动缩放部件912可以允许实体指定用于确定应何时例示新实例的放大规则以及用于确定应何时终止现有实例的缩小规则。
[0086]自动缩放部件912可以在单个服务器计算机904上执行或者跨计算服务平台808中的多个服务器计算机902并行执行。此外,自动缩放部件912可由在计算服务平台808中的不同服务器计算机902或其他计算设备上执行的许多子部件组成。自动缩放部件912
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1