用于服务于消息客户端的系统和方法
【专利说明】用于服务于消息客户端的系统和方法
[0001]相关申请的交叉引用
[0002]本申请要求2013年11月19日提交的标题为“System and Method for Servinga Message Client”的美国专利申请N0.14/084, 142的优先权,该申请要求2012年11月20日提交的美国临时申请N0.61,728,626的权益。两篇申请的公开内容都通过引用并入本文。
技术领域
[0003]本发明总地涉及消息传递领域,更具体地讲,涉及消息传递领域中的一种新颖的且有用的用于服务于消息客户端的系统和方法。
【背景技术】
[0004]电子邮件是现代社会中的普遍存在的通信形式。电子邮件已经超出用于与其他人进行通信的工具发展为用于组织并且管理人的生活和事业的工具。尽管电子邮件很重要,但是电子邮件结构主要依赖于旧的电子邮件协议,诸如IMAP。该协议在设计时没有考虑到如今的计算环境的移动性和实时性。然而,新的消息传递协议尚不如电子邮件普遍,因此尽管它有许多限制,但是电子邮件仍保持为占主导的通信形式中的一种通信形式。因此,在消息传递领域中需要创建一种新颖的且有用的用于服务于消息客户端的系统和方法。本发明提供这样的新颖的且有用的系统和方法。
【发明内容】
[0005]优选实施例的用于服务于消息客户端的系统和方法的作用是提供一种更高效的且更具响应性的与服务提供者接口的消息客户端应用。所述系统和方法促进使客户端应用实例与电子邮件服务提供者接口,但是可替代地或者另外地,可以与社交媒体消息传递服务、即时消息传递服务、新闻或媒体流服务、或任何合适的消息服务接口。所述系统和方法的一些主要益处可以包括智能消息流加载、实时异步消息传递动作、消息格式化改进、在线-离线同步、支持更具响应性的客户端消息传递动作、和/或快速附件加载。这样的改进优选地通过装置上的以及云中的合作消息管理来使得能够实现。所述系统和方法可以被设计为在移动装置(诸如电话、平板或可佩戴计算机)上启用消息客户端应用,但是可替代地,可以与任何合适的计算装置(诸如台式计算机应用、浏览器邮件客户端、连接TV的计算装置、或任何合适的邮件应用)一起使用。
【附图说明】
[0006]图1是本发明的优选实施例的系统的示意性表示;
[0007]图2是本发明的优选实施例的方法的流程表示;
[0008]图3是本地消息格式数据对象的示例性描绘;
[0009]图4是示例性消息格式映射的表;
[0010]图5是处理延缓消息更新的通信流程表示;
[0011]图6是第二优选实施例的用于使消息同步的方法的通信流程表示;
[0012]图7是第三优选实施例的用于使消息同步的方法的通信流程表示;和
[0013]图8是优选实施例的解决消息冲突的通信流程表示。
【具体实施方式】
[0014]以下对于本发明的优选实施例的描述并非意图使本发明限于这些优选实施例,而是意在使得本领域的任何技术人员能够做出并且使用本发明。
[0015]1.用于服务于消息客户端的系统
[0016]如图1中所示,优选实施例的用于服务于消息客户端的系统可以包括消息服务层110、邮箱服务层120、客户端应用130和传输层140。所述系统的作用是代理现存的消息传递服务,并且使得能够实现更高效的且具有响应性的消息客户端应用。所述系统优选地用于与电子邮件服务提供者接口,但是可替代地或者另外地,可以与社交媒体消息传递服务、即时消息传递服务、新闻或媒体流服务、或任何合适的消息服务接口。所述系统的一些主要益处可以包括智能消息流加载、实时异步消息传递动作、消息格式化改进、在线-离线同步、支持更具响应性的客户端消息传递动作、和/或快速附件加载。这样的改进优选地通过装置上的以及云中的合作消息管理来使得能够实现。所述系统优选地被设计为在移动装置(诸如电话、平板或可佩戴计算机)上启用消息客户端应用,但是可替代地,可以与任何合适的计算装置(诸如台式计算机应用、浏览器邮件客户端、连接TV的计算装置、或任何合适的邮件应用)一起使用。
[0017]该系统优选地包括后端服务器基础设施,其包括消息服务层110、第一传输层140a、邮箱服务层120和第二传输层140b。后端基础设施可以在受到管理的分布式计算基础设施、多租户计算基础设施、计算集群、或任何合适的基础设施上实现。这些组件可以包括充当或提供服务器、负载均衡、队列、缓存、数据库、储存器或其他合适的组件的各种资源。后端服务器基础设施优选地实现为支持客户端应用。后端基础设施优选地包括能够在客户端应用上实现消息提供者在本地不提供的高级特征的各种设计特征。后端基础设施可以用作协调客户端应用的高级特征的中间层。
[0018]优选实施例的消息服务层110的作用是与外部消息服务接口。消息服务层110优选地是分布式计算基础设施中的服务器。消息服务层110优选地管理来自和去往消息服务提供者的消息通信。消息服务提供者优选地是电子邮件提供者,诸如Google mail、Yahoomail、hotmail或其他邮件服务。消息服务提供者可替代地可以与可替代形式的消息传递服务(诸如社交网络消息传递、即时消息传递或任何合适的消息传递服务)接口。消息服务层110优选地是共同操作来完成使得能够与外部服务提供者协调的任务的服务器和服务的集合。消息服务层110可以包括负载均衡,以使得后端层的服务可以缩放来支持增长的需求。当每个消息服务提供者可以具有自定义实现时,消息服务层110可以包括定义系统对于至少一个指定的消息服务提供者的消息处理的提供者模块或组件。提供者模块优选地专门针对预期的服务提供者进行配置,并且包括将消息格式问题、消息更新的解释、专门的特征或能力、和/或可以特定于该消息服务提供者的任何合适的处理考虑在内的规则和处理指令。
[0019]对于电子邮件服务提供者,消息服务层110优选地使用持续IMAP(互联网消息访问协议)连接来接收和操纵消息。持续IMAP连接优选地对于每一账户建立。消息服务层110建立IMAP连接的益处是,任何数量的客户端应用现在可以与消息进行交互,而不担心IMAP连接限制。例如,用户可以使客户端应用的多个实例在各种装置上打开,但是每个实例可以共享IMAP连接,而不是客户端应用单独地维护来自装置的IMAP连接。外传的邮件优选地通过典型的手段(诸如SMTP(简单邮件传输协议)连接或任何合适的出站消息协议)递送到消息服务提供者。消息服务层110另外地或者可替代地可以使用诸如POP MAPI/Exchange、Service API的连接和/或任何合适的连接来与消息服务提供者进行交互。消息服务层110另外地将从客户端/邮箱服务递送的账户或消息更新转化为在消息提供者上执行的适当的动作。账户或消息更新可以包括添加新的文件夹、将消息整理到文件夹中、给消息标上星号、给文件夹加上标志、将消息标记为已读/未读、和/或客户端应用和消息服务提供者之间的任何合适的更新。消息服务层110的服务器优选地管理多个消息传递账户。
[0020]消息服务层100另外可以转换来自消息提供者的数据以供在系统内使用。转换解析器可以提取电子邮件的新的部分,并且将它们转换为邮箱本地格式。来自各种来源的或者来自各种服务提供者的电子邮件可以包括不同格式或元数据。电子邮件服务格式的一些组件可以被设置为启用服务提供者内的特定特征。当转换为邮箱本地格式时,消息格式优选地规范化为可以在系统内使用的一致的且统一的消息格式。将消息格式规范化为本地消息格式的作用是简化系统中的其他组件的设计以及使得各种消息来源能够整合到系统中。在此,本地消息格式描述体现消息的内容和参数的标准化数据建模方法。消息服务层110另外包括将来自客户端应用或系统的其他部分的消息更新转化为与消息服务提供者兼容的指令的逻辑。诸如“全部存档”、“清空回收站”、“标记为未读”的动作、和/或任何合适的消息更新动作优选地包括指导针对消息服务的消息更新的处理和通信的逻辑。
[0021]消息服务层110另外可以将消息提供者的元数据参数(诸如消息计数)存储在文件夹中。在一个优选实施例中,消息线程是主导消息形式。因此,消息服务层110可以将单独的消息转换到或者合并到消息线程中。线程可以是任何合适的相关消息,诸如回复另一个消息的消息、转发消息的消息、具有共享对象的消息、引用消息的一部分和/或消息的任何合适的分组的消息。消息服务I1优选地使用提供者线程ID或者可替代地收件箱扫描处理来将消息添加到线程。
[0022]优选实施例的邮箱服务120的作用是管理用于客户端应用的邮箱。邮箱服务120优选地是通信地耦合到客户端应用130和消息服务110的中间服务器。更优选地,邮箱服务120通过第一中间传输层14a通信地耦合到客户端应用130,并且通过第二中间传输层140b通信地耦合到消息服务110。邮箱服务120优选地权衡利用(leverage)针对现代的消息通信优化的自定义网络协议。作为该协议的一个方面,令牌系统可以用于跟踪什么已经被传输、消息更新最近多久被传输、以及保证数据被适当地传送。可替代地,可以使用任何合适的协议,诸如HTTP。邮箱服务120可以提供任何数量的服务。第一服务可以包括消息加窗。消息加窗优选地描述仅直接相关的消息到客户端应用的传输。例如,邮箱服务120优选的是,当用户访问他或她的收件箱时,即使该用户还有500个未读消息没有看,也仅传输关于100个最近的消息的信息。邮箱服务层120或者可替代地消息服务层110可以管理多个消息流的状态和加窗。消息流优选地描述消息的不同集合。客户端应用可以被设计为提供对于设置消息流的频繁访问。电子邮件收件箱文件夹优选地是一个消息流。其他