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

文档序号:9794040阅读:308来源:国知局
电子邮件网络客户端通知排队的制作方法
【专利说明】电子邮件网络客户端通知排队
[0001]相关申请的交叉引用
[0002]本申请要求2013年9月17日提交的美国专利申请号14/029,113和2013年9月24日提交的美国专利申请号14/035,355 (部分继续申请)的权益,以上申请的公开内容的全部内容通过引用并入本文。
【背景技术】
[0003]通过互联网提供的许多服务(诸如由电子邮件服务供应商所提供的服务)提供了web接口( “网络客户端(webclient)” ),所述web接口允许用户使用web浏览器来与诸如邮件服务器的服务器进行交互。到邮件服务器的用户连接性通过一个或多个web服务器(通常是超文本传输协议(HTTP)服务器)促成,所述web服务器响应于用户网页请求来检索数据。邮件服务器和web服务器通常位于数据中心或远离用户的一些其他设施中。冗余性通常被建立在这类系统中,其中冗余服务器在主服务器故障的情况下提供服务,并且冗余通信链路在一个或多个通信链路故障的情况下被连接到互联网来提供服务。
[0004]网络客户端不维持到HTTP服务器或到网络客户端通过HTTP服务器与其进行交互的其他服务器的持续连接(例如,传输控制协议(TCP)连接)。因此,从这种服务器发送的通知(例如,新的电子邮件通知)可以不由网络客户端所接收,因为服务器在触发通知的事件之后传送通知并且在发送这类通知之前不存储这类通知或确认与网络客户端的连接。一旦发送,服务器不保留通知,并且因此对于网络客户端来说不可能随后请求在过去已发送过的通知。因此,网络客户端的用户可以不接收旨在警告用户事件发生的通知。
[0005]当用户使用网络客户端编写消息(诸如电子邮件消息)时,与消息相关联的数据被本地保存在网络客户端内部。这种数据可以包括收件人地址和文本内容。当用户发送消息或选择保存消息草稿时,这个数据被发送至邮件服务器用于保存和/或处理。在一些系统中,这种消息内容被定期自动地保存。在消息编写期间,用户还可以向消息附加数据文件(例如,图像、音频文件、视频文件等),但是这种文件在消息编写期间不被保存在网络客户端中,并且不被发送至邮件服务器直到用户发送消息或手动地保存消息草稿。当在消息编写期间到为网络客户端服务的HTTP服务器的连接性失效时,附件数据可能丢失。
【附图说明】
[0006]在全部附图中,参考数字可被再使用来指示所参考元件之间的对应关系。提供附图来示出本文所述的示例实施方案,并且并不意图限制本公开的范围。
[0007]图1示出可实现本发明的实施方案的示例环境;
[0008]图2示出可实现本发明的实施方案的另一种示例环境;
[0009]图3描绘了根据各实施方案的用于HTTP服务器的示例操作程序;
[0010]图4描绘了根据各实施方案的用于HTTP服务器的示例操作程序;
[0011]图5描绘了根据各实施方案的用于HTTP服务器的示例操作程序;
[0012]图6描绘了根据各实施方案的用于HTTP服务器的示例操作程序;
[0013]图7描绘了根据各实施方案的示例信号流;
[0014]图8描绘了可实现本文所述的实施方案的合适的计算环境的示例;
[0015]图9描绘了示出用于实现计算服务平台的数据中心的一种配置的计算系统图;以及
[0016]图10描绘了用于能够执行上述软件部件的计算机的示例计算机架构。
【具体实施方式】
[0017]电子邮件系统以及许多社交消息传送网站和其他交互式网站允许包括消息传送能力的用户交互,从而赋予用户彼此发送包括附件的消息的能力。根据本公开的各种实施方案的系统和方法提供了如果到服务器(例如HTTP服务器)的连接在消息编写期间丢失,那么自动地保存消息内容(诸如附件)的能力。例如,用户可以使用被配置来通过HTTP服务器与远程服务器(例如,邮件服务器)进行通信的网络客户端来编写电子邮件或消息。尽管在消息编写期间许多消息内容可以由网络客户端来保存,消息可以包括不能够被保存在网络客户端中的一个或多个附件。如果HTTP服务器故障或以其他方式变得不可访问,那么附件内容可能丢失,因为消息尚未在用于递送的服务器处保存或者尚未发送至用于递送的服务器。在一个实施方案中,网络客户端最初与其进行通信的HTTP服务器可以在消息正被编写时接收附件内容,并将附件内容复制到存储系统中。在一些实施方案中,关于网络客户端的状态信息将同样被保存。HTTP服务器还可以将与附件和/或消息相关联的元数据存储在数据库中。当到初始HTTP服务器的连接失败时,网络客户端可以与备用HTTP服务器通信,所述备用HTTP服务器使用与存储在数据库中的电子邮件相关联的元数据来检索存储的消息附件。以这种方式,当到HTTP服务器的连接丢失时,用户的附件数据在编写期间不会丢失,但是当正编写消息时并没有消耗邮件或消息服务器上的存储空间来保存这种附件数据。
[0018]根据本公开的各种实施方案的系统和方法还提供了使旨在对网络客户端的用户的通知排队的能力。由于网络客户端不维持到电子邮件服务器或类似系统或者到HTTP服务器的持续连接,如果响应于来自网络客户端的对于服务或活动的请求无法提供通知,那么旨在对网络客户端的通知可能会被网络客户端错过。在一个实施方案中,有利于网络客户端与电子邮件服务器或其他系统之间的通信的HTTP服务器能够维持与服务器或系统的持续连接,并且当旨在对网络客户端的通知由服务器或系统传送时存储所述通知。可替代地,这种通知可以由对HTTP服务器可访问的通知服务器来接收和存储。当HTTP服务器接收来自网络客户端的HTTP请求时,这些通知随后由HTTP服务器传送至网络客户端。当通知被存储在通知服务器上时,当HTTP服务器接收来自网络客户端的HTTP请求时,HTTP服务器可以查询或以其他方式检索通知。这些实施方案提供了一种方式来在没有改变由网络客户端和/或与网络客户端一起使用的服务器或系统所使用的连接类型的情况下确保网络客户端接收通知。
[0019]尽管本文论述的许多示例是根据电子邮件系统和邮件服务器来进行讨论的,本领域技术人员将理解的是公开的实施方案可以被容易地施加到其中在编写任意类型的消息或可能包括一个或多个附加文件的通信期间可能发生缺少连接性的任意系统。公开的实施方案还可以被容易地施加到将任意类型的通知提供给网络客户端的任意系统。全部这种应用被预期为在本公开的范围内的实施方案。
[0020]图1示出其中可以实现当前公开的实施方案的非限制性示例性系统100。用户可以操作用户设备101,所述用户设备101可以是任意类型的计算机、计算设备、移动设备、智能电话或能够操作网络客户端的任意其他设备。网络客户端110可以在用户设备101上执行,例如在web浏览器中执行。网络客户端110可以是提供到电子邮件系统的接口的电子邮件网络客户端,所述电子邮件系统是由电子邮件服务供应商托管或以其他方式提供的。用户设备101通常可以与其他设备进行通信,并且确切地是使用互联网120通过通信链路112与一个或多个电子邮件服务供应商设备进行通信。通信链路112可以是能够使用任意协议或使设备之间能够进行通信的其他装置来有助于两个或更多个设备之间的通信的任意类型和数量的通信链路,包括有线通信链路、无线通信链路以及它们的组合。互联网120表示有助于设备之间的通信的任意类型和数量的网络以及它们的任意组合。全部这种实施方案被预期为在本公开的范围内。
[0021]网络客户端110可以与HTTP服务器130进行通信,所述HTTP服务器130使用通信链路123连接到互联网120,所述通信链路123像通信链路112—样可以是任意类型和数量的通信链路。HTTP服务器130可以通过通信链路173与邮件服务器170交换电子邮件数据,所述通信链路173也可以是任意类型和数量的通信链路。
[0022]当用户正使用网络客户端110来编写电子邮件时,电子邮件数据可以通过网络客户端110被本地保存在用户设备101上。但是,当用户在编写中向电子邮件附加附件时,附件通常不能由网络客户端110保存。在一个实施方案中,当用户选择用于附加至电子邮件的文件时,这个附件可以被发送至HTTP服务器130 ATTP服务器130可以通过通信链路153将附件的副本传送至存储装置150。通信链路153可以是任意类型和数量的通信链路。存储装置150表示任意类型和数量的数据存储设备和系统,包括云存储系统。
[0023]HTTP服务器130可以使用通信链路163来传送或产生与存储的附件和数据库160中的电子邮件相关联的元数据。通信链路163可以是任意类型和数量的通信链路。数据库160表示任意类型和数量的数据库和数据库系统(包括基于云的数据库系统)以及任意数量和类型的存储器、高速缓存器、磁盘驱动器等。由HTTP服务器130传送和/或产生的元数据可以包括可以由另一个设备所使用的任意信息,以在网络客户端110中进行编写时使存储的附件与电子邮件相关联,所述信息可以包括指示附件在哪里被保存在存储装置150上的存储位置信息。可替代地,附件已被保存在存储装置150上的指示可以被包括在元数据中。其中这种元数据包括已将附件保存的指示而不是对于附件的具体位置的指示,其他识别的信息可以被用来确定存储的附件的存储位置。例如,网络客户端标识符(例如,会话标识符)与附件标识符(例如,以与网络客户端110相关联的记录保存的附件名称)的组合可以被用来识别存储装置150中的附件。这个元数据还可以包括关于网络客户端110的状态信息,诸如指示网络客户端110正编写电子邮件的信息。注意的是HTTP服务器130可以存储状态信息并定期地或者当网络客户端110的状态改变时来更新与网络客户端110相关联的状态信息,不管是否正存储关于电子邮件附件的任意信息。全部这种实施方案被预期为在本公开的范围内。
[0024]HTTP服务器140可以通过用作HTTP服务器130的备用HTTP服务器来向用户提供冗余性。HTTP服务器140可以使用通信链路124连接到其他设备,并且可以分别使用通信链路154、164和174与存储装置150、数据库160以及邮件服务器170进行通信。通信链路124、154、164和174中的每一个可以是任意类型和数量的通信链路。注意的是通信链路124、154、164和174中的每一个在图1中并不强调地示出,仅为了在图1中清楚地示出网络客户端110和其他设备正使用其他链路而不是通信链路124、154、164和174来进行通信。当前图中所示出的通信链路的各种宽度和强调不应当被理解成是示出的通信链路的任意其他特性、特征、或限制的指示。
[0025]在一个实施方案中,HTTP服务器130可以通过通信链路174与邮件服务器170建立持续连接(例如,TCP连接)O这种持续连接可以专用于与网络客户端110相关联的通信。所述持续连接可以当从网络客户端110接收对访问邮件服务器170的初始请求时开始,并且可以被维持直到预先确定的超时期满或者直到持续连接的明确关闭被获准(例如,用户退出或关闭网络客户端110)。响应于网络客户端的初始请求,HTTP服务器130可以代表网络客户端110从邮件服务器170请求电子邮件数据(例如,收件箱中的邮件列表、新的电子邮件等),并在从邮件服务器170接收后将这种数据提供给网络客户端110。
[0026]HTTP服务器130还可以为网络客户端110和/或与其相关联的用户从邮件服务器170订阅通知,或者以其他方式请求任意这种通知由邮件服务器170提供给HTTP服务器130。通知包括可以被发送给用户的事件的任意公告或指示,诸如最近接收的电子邮件、日历提醒、会议邀请等的指示。当发布通知时,HTTP服务器130可以本地存储这种通知(例如,存储器、硬盘),并使通知与网络客户端110、与网络客户端110相关联的会话、和/或与网络客户端110相关联的用户相关联。当后续通知被从邮件服务器170接收时,HTTP服务器130可以将其存储。HTTP服务器130可以将收到一个或多个通知的确认传送至邮件服务器170。
[0027]HTTP服务器130可以从网络客户端110接收对于由邮件服务器170所提供的数据或服务的后续请求。响应于这个请求,HTTP服务器130可以将请求转发至邮件服务器170,并从邮件服务器170接收对所述请求的响应。HTTP服务器可以随后将对网络客户端110的任意存储的通知与从邮件服务器170接收到的响应进行组合,并将组合通信传送至网络客户端110。可替代地,HTTP服务器130可以从不需要与邮件服务器170交互的网络客户端110接收保活通信或其他通信。在这个实施方案中,HTTP服务器130可以将对网络客户端110的任意存储的通知传送至网络客户端110。当传送存储的通知时,HTTP服务器130可以从本地存储装置移除这种通知。可替代地,网络客户端110可以将收到通知的确认传送至HTTP服务器130,并且HTTP服务器可以在收到这个确认时从本地存储装置删除通知。注意的是,通知可以在离散通信中或者在每一个可以包含超过一个通知的一个或多个通信中单独地传送。不论单独传送是否在某些方面被组合在一起,包含一个或多个通知的通信还可以包含其他数据,包括旨在用于网络客户端110的电子邮件数据。全部这种实施方案被预期为在本公开的范围内。
[0028]在一个实施方案中,而不是或除了本地存储通知之外,HTTP服务器130可以在数据库或存储装置处存储这种通知。例如,通知或通知的指示可以由HTTP服务器130存储在数据库160处与网络客户端110、由网络客户端110所使用的通信会话、或网络客户端110的用户相关联的一个或多个记录中。在其中一个或多个通知不被存储在数据库160中的实施方案中,这种通知可以被存储在存储装置中,诸如存储装置150。在这种实施方案中,指不通知在哪里被保存在存储装置150上的存储位置信息可以包括在数据库160上与网络客户端110相关联的记录中。可替代地,已将一个或多个通知保存在存储装置150上的指示可以被包括在这种记录中,并且其他识别信息可以被用来确定存储的通知的存储位置。例如,通知标识符可以针对每个通知存储在数据库160上与网络客户端110相关联的记录中,并且网络客户端标识符(例如会话标识符)与通知标识符的组合可以被用来在存储装置150中定位通知。全部这种实施方案被预期为在本公开的范围内。通过在数据库160或存储装置150处存储通知,这个信息在网络客户端110出于任意原因可以不再与HTTP服务器130进行通信的情况下,对于HTTP服务器140或其他HTTP服务器是可访问的。
[
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1