在重新连接时传递非预期协作服务器响应.pdf

上传人:54 文档编号:4335926 上传时间:2018-09-14 格式:PDF 页数:18 大小:7.27MB
返回 下载 相关 举报
摘要
申请专利号:

CN201210377076.7

申请日:

2012.09.28

公开号:

CN102946407A

公开日:

2013.02.27

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||专利申请权的转移IPC(主分类):H04L 29/08变更事项:申请人变更前权利人:微软公司变更后权利人:微软技术许可有限责任公司变更事项:地址变更前权利人:美国华盛顿州变更后权利人:美国华盛顿州登记生效日:20150728|||实质审查的生效IPC(主分类):H04L 29/08申请日:20120928|||公开

IPC分类号:

H04L29/08; H04L12/58; H04L12/24

主分类号:

H04L29/08

申请人:

微软公司

发明人:

S·曼宁; J·V·E·巴尔杜奇; F·平托斯; D·克洛

地址:

美国华盛顿州

优先权:

2011.09.30 US 13/249,243

专利代理机构:

上海专利商标事务所有限公司 31100

代理人:

陈斌

PDF下载: PDF下载
内容摘要

本发明涉及在重新连接时传递非预期协作服务器响应。提供了用于结合异步通信服务在用户采取动作之后支持适当的用户通知的一组工作流。通知的定时和/或类型或者服务要采取的动作基于以下各项中的一个或多个来确定:发生故障的用户动作的本质、自从采取动作以来经过的时间、多动作依赖性、设备类型以及增强用户体验及减少混淆的类似的特性。

权利要求书

权利要求书一种至少部分地在计算设备上执行的用于提供由于通信系统中的连通性丢失导致的故障响应的方法,所述方法包括:从通信应用的用户界面接收用户动作;确定由于连通性丢失导致的将接收到的动作提供给服务器的故障;以及基于从以下组中的至少一个来确定故障通知的定时以及显露类型:故障类型、其他动作是否取决于所述接收到的动作的成功、接收到所述动作以来的时间、在其上接收所述动作的设备、用户简档、使用情况、所述动作的类型、以及方便通信的类型。如权利要求1所述的方法,其特征在于,还包括:将所述接收到的动作存储在本地高速缓存中。如权利要求2所述的方法,其特征在于,还包括:在重新建立连通性时向所述服务器重放存储的动作。如权利要求1所述的方法,其特征在于,还包括:通过从以下组中的至少一个来显露所述故障通知:声音警告、振动警告、所述用户界面的主视图上的视觉通知、信息性电子邮件消息以及所述系统要处理的事件。如权利要求1所述的方法,其特征在于,还包括:通过所述用户界面以及经由消息之一来显示关于所述故障的详细信息,所述信息包括以下组中的至少一个:与所述故障相关联的通信、所述故障的时间、用于缓解所述故障的一个或多个用户选项。如权利要求1所述的方法,其特征在于,使得所述用户界面能够从本地数据存储读取用户动作并且向本地数据存储写入用户动作,并且在重新建立连通性时将动作写入所述服务器以维护同步。一种用于提供由于连通性丢失导致的故障响应的通信系统,所述系统包括:客户机控件模块,管理被配置成接收用户动作以及显露故障通知的用户界面;连接管理器模块,被配置成确定由于连通性丢失导致的将接收到的动作提供给服务器的故障;客户机视图模块,是所述用户界面的模板集合;客户机视图模型,包括所述用户界面的应用逻辑,其中所述应用逻辑被配置成基于多个因素来确定故障通知的定时以及显露类型,所述多个因素包括所述故障的类型、其他动作是否取决于所述接收到的动作的成功、接收到所述动作以来的时间、在其上接收所述动作的设备、用户简档、使用情况、所述动作的类型、以及方便通信的类型;以及本地高速缓存,用于存储所述接收到的用户动作。如权利要求7所述的系统,其特征在于,所述客户机视图模型维护应用状态。如权利要求7所述的系统,其特征在于,所述应用逻辑还被配置成:在接收到的动作被本地提交时将所述动作存储在本地web数据库表和本机设备数据库表之一中的队列中。一种其上存储有用于提供由于通信系统中的连通性丢失导致的故障响应的指令的计算机可读存储器设备,所述指令包括:从通信应用的用户界面接收用户动作;确定由于连通性丢失导致的将接收到的动作提供给服务器的故障;将所述接收到的动作存储在本地高速缓存中;基于多个因素来确定故障通知的定时以及显露类型,所述多个因素包括所述故障的类型、其他动作是否取决于所述接收到的动作的成功、接收到所述动作以来的时间、在其上接收所述动作的设备、用户简档、使用情况、所述动作的类型、以及方便通信的类型;以及在重新建立连通性时向所述服务器重放存储的动作。

说明书

说明书在重新连接时传递非预期协作服务器响应
技术领域
本发明涉及异步通信技术,尤其涉及在重新连接时提供故障响应的技术。
背景技术
诸如电子邮件、文本消息收发等之类的异步通信服务是日常生活中便于出于个人、商务以及其他目的进行信息交换的一个很大的部分。异步通信服务通常包括管理在一个或多个网络上的通信的一个或多个服务器,其中用户通过胖客户机或瘦客户机来访问这些服务。胖客户机是本地安装的客户机应用,它本地地执行大部分功能从而周期性地或按需与服务器进行同步。瘦客户机通常是通用应用,诸如能够通过服务器所控制的用户界面允许对通信服务进行访问的web浏览器,其中大部分的功能是基于服务器的。
在存在网络连通性时,胖客户机或瘦客户机提供无缝的用户体验。另一方面,如果丢失了网络连通性,则客户机应用可能仍然向用户提供某些功能,但无法与服务器进行同步。因此,某些通信服务可能被中断。例如,电子邮件消息可能没有被发送或检索、日历项可能没有被更新等等。在某些实现中,即使在缺失网络连通性的情况下,客户机应用仍然可正常工作并执行功能,并且一旦连通性恢复之后重放用户动作。然而,网络中断可能并不总是持续较短的时间。如果中断持续相对较长的时间段(例如,几小时或几天),则在连通性恢复时重放用户动作或者在连通性恢复时重放用户动作中的差错可能导致用户混淆。例如,可能在安排的约会时间过去之后向用户提供该安排的约会。某些常规系统在每次有中断时都会警告用户,这可能会使用户体验降级。其他系统完全不报告任何故障,这可能导致更差的情况,诸如用户在通信系统中丢失置信度。
发明内容
提供本发明内容以便以简化的形式介绍将在以下的具体实施方式中进一步描述的一些概念。本发明内容并不旨在专门标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
各实施例涉及用于结合异步通信服务在用户采取动作之后支持适当的用户通知的一组工作流。通知的定时和/或类型或者服务要采取的动作可基于以下各项中的一个或多个来确定:发生故障的用户动作的本质、自从采取动作之后经过的时间、多动作依赖性、设备类型以及增强用户体验及减少混淆的类似的特性。
通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。可以理解,前述一般描述和以下的详细描述都是说明性的,并且不限制所要求保护的各方面。
附图说明
图1示出可实现各实施例的用于便于异步通信服务的一示例系统;
图2示出根据各实施例的一示例基于web的电子邮件服务体系结构;
图3示出根据各实施例的通信服务中的示例动作流;
图4示出根据各实施例的带有离线支持的示例系统的体系结构;
图5示出根据各实施例的带有对离线动作通知的支持的电子邮件服务的一示例用户界面;
图6是可实现根据各实施例的系统的联网环境;
图7是可实现各实施例的示例计算操作环境的框图;以及
图8示出根据各实施例的用于在重新连接时传递非预期协作服务器响应的过程的逻辑流程图。
具体实施方式
如上简述,结合异步通信服务在用户采取动作之后,并且尤其在该动作无法正确地向服务器重放时可提供适当的用户通知。在网络连通性被中断时,通知以及响应于用户动作要被执行的任务可基于预定义准则以及本地高速缓存的被创建的/被修改的数据的至少一部分来确定。通知的定时和/或类型或者服务要采取的动作可基于以下各项中的一个或多个来确定:发生故障的用户动作的本质、自从采取动作之后经过的时间、多动作依赖性、设备类型以及增强用户体验及减少混淆的类似的特性。
在以下详细描述中,参考了构成了详细描述的一部分并作为说明示出了各具体实施例或示例的附图。可组合这些方面,可利用其他方面,并且可以做出结构上的改变而不背离本发明的精神或范围。因此,以下详细描述并不旨在限制,并且本发明的范围由所附权利要求及其等效方案来限定。
尽管在结合在计算设备上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述了各实施例,但是本领域的技术人员会认识到各方面也可以结合其它程序模块实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域的技术人员可以明白,各实施例可以用其他计算机系统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机以及类似计算设备。各实施例还能在任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
各实施例可被实现为计算机实现的过程(方法)、计算系统、或者诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并且编码包括用于使计算机或计算系统执行示例过程的指令的计算机程序的计算机存储介质。例如,计算机可读存储介质可经由易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘或紧致盘和类似介质中的一个或多个来实现。
贯穿本说明书,术语“平台”可以是用于提供诸如电子邮件或文本消息收发之类的异步通信服务的软件和硬件组件的组合。平台的示例包括但不限于,在多个服务器上执行的托管服务、在单个计算设备上执行的应用、以及类似系统。术语“服务器”一般指通常在联网环境中执行一个或多个软件程序的计算设备。然而,服务器还可以被实现为在被视作网络上的服务器的一个或多个计算设备上执行的虚拟服务器(软件程序)。以下提供关于这些技术和示例操作的更多细节。如此处所使用的,术语“动作”指的是用户与通信应用的交互,诸如选择/激活用户界面元素或通过用户界面提供输入。术语“任务”指的是系统响应于在向用户提供通信服务中的“动作”或其他事件而执行的操作。
图1在图100中示出可实现各实施例的用于便于异步通信服务的一示例系统。通信服务102可便于服务异步通信,诸如电子邮件交换、文本消息交换等,以及诸如安排服务(日历)、联系人、任务列表等辅助特征。通信服务102可通过网络110与客户机应用104、106交互以便于通信的交换。
客户机应用104、106可以是胖客户机或瘦客户机。胖客户机是本地安装的客户机应用,它本地地执行大部分功能从而周期性地或按需与服务器进行同步。瘦客户机通常是通用应用,诸如能够通过服务器所控制的用户界面允许对通信服务的访问的web浏览器,其中大部分的功能是基于服务器的。在任一种情况下,客户机应用的功能取决于通信服务102的连通性。
例如,尤其在便携式设备上提供电子邮件交换服务的电子邮件、日历或联系人特征时,客户机应用可能与网络110断开连接。一旦连通性恢复,可在无需用户干预的情况下重放用户采取的动作。然而,断开连接的时间段可能是几秒、几分钟、几小时或几天。如果动作无法完整地或部分地重放,则挑战在于是否以及如何向用户指示重放故障。
在根据各实施例的一系统中,可基于诸如故障的类型或本质、故障时间、应用或设备的类型等之类的多个预定义准则来提供故障通知并且执行与发生故障的动作相关联的任务。这些动作可包括但不限于,发送/删除/修改消息、创建/删除/修改日历或联系人项、或创建/删除/修改项的属性。因此,响应于检测到重放动作的故障,根据各实施例的一系统可应用一个或多个准则并且执行包括提供通知(通知的类型、定时、格式)在内的任务。还可基于所述准则本地高速缓存某些被创建的/被修改的数据。
图2在图200中示出根据各实施例的一示例基于web的电子邮件服务体系结构。
根据某些实施例,如果用户在他们的客户机应用中选择离线工作的能力,则应用可创建本地数据存储(客户机高速缓存222)以存储与应用相关联的项(诸如电子邮件应用中的电子邮件、日历和联系人)以在应用断开连接时支持各功能。在应用连接时,用户界面可从本地数据存储读取用户动作并且将用户动作写入本地数据存储(出于性能以及保持其最新两方面的目的),并且将动作写入本地数据存储以及服务器(通信服务220)两者以维护同步。对于本地写入可能过于资源密集的任何动作,数据同步组件可将增量式服务器变更直接复制到本地数据存储。
根据各实施例的一系统中的其他主要功能组件可包括管理诸如列表视图、文本框、编辑器等之类的元件的客户机控件214;作为原语控件的合成的模板集合的客户机视图212;包括应用逻辑的客户机视图模型216;以及包括数据管理器、日历、文件夹、联系人等的客户机模型218。
如上所述,客户机视图模型216可包括用户界面专用的应用逻辑并维护应用状态。根据某些实施例,客户机视图模型216可能不具有对用户界面的知识,并且状态可通过属性和命令绑定来展示。以客户机模型218中的改变来对用户动作作出响应的责任可属于这一层。
客户机视图212可绑定到用户体验界面,并且在用户界面中像客户机视图模型216的反射一样来动作。数据绑定是用于在客户机视图212和较低层之间进行通信的主要机制。作为包括原语控件的模板集合的客户机视图212可具有与客户机视图模型216的1:1映射。采用客户机视图212和客户机视图模型216之间的数据绑定的配置可实现使用模板来创建视图模型的完整视图。在如图200所示的这样一个系统中,通知226可从通信服务220流向客户机控件214,而事件从客户机控件214流向通信服务220或客户机高速缓存222。
图3在图300中示出根据各实施例的通信服务中的示例动作流。在根据各实施例的一系统中,动作334可如上所讨论地通过视图模型332来获得。
在通信应用连接时,用户界面可从本地数据存储读取用户动作并且将用户动作写入本地数据存储(客户机存储代理336),并且将动作写入本地数据存储和服务器两者以维护同步。在应用丢失连通性时,动作334可被本地地提交直到连通性恢复。为了在一旦连通性恢复后使这些动作反映在服务器上,动作334可在它们被本地提交的同时被存储在本地web数据库表或本机设备数据库表中的队列中(排队的代理344)。在某些实施例中,可在客户机存储代理336和服务器的在线代理342之间采用聚集代理340。流程可直接或者经由排队的代理344从聚集代理340流向在线代理342。只要设备重新获得连通性(如由诸如连通性管理器之类的独立进程所确定的),就可向服务器(向在线代理342)回放动作。
如果服务器不能处理该动作,则它可返回故障响应。故障响应可被传递到动作管理器体系结构中的响应处理器330。响应处理器330可提供信息以实现用户界面代码从而基于多个因素来选择是否以及如何向用户显露故障。关于这些因素中的每一个的数据可与故障响应一起被返回到响应处理器。这些因素可包括但不限于,故障类型、其他动作是否取决于这一动作的成功、采取动作以来的时间、在其上采取动作的设备、用户简档和/或使用情况、通信方法(例如电子邮件对文本消息交换)或动作本质。例如,涉及用户自己的时间的日历项的创建/修改/删除可能不如当日历项涉及其他用户时(例如会议)那么重要。短期断开连接对于用户可能是透明的(例如,对于日历或联系人项相关的动作),而长期断开连接就计划、通信、分析等方面来说可能具有重大意义。
在某些示例实现中,故障类型可包括创建高投资定制内容,诸如新消息或会议请求;创建低投资定制内容,诸如对联系人添加或改变电话号码;改变项范围内的属性,诸如删除消息或将消息移动至不同的文件夹;以及改变项内的单个属性,诸如设置标志或将项标记为已读。
其他动作对于特定动作的成功的依赖性可以是例如具有其地址不存在于组织内的接收者的消息。发送可能成功,但该单个接收者的地址名称解析可能出现故障。在其他动作依赖于单个故障的情况下,可执行所有相关动作的回退或者可允许其他动作继续而仅返回这一动作的故障。因此,响应处理器330可调用代码来相应地对成功或故障响应作出反应,并且取决于相关或依赖动作的成功或故障响应,只要连通性恢复,该动作就可从服务器被重放、重新排队或清除(忽略)。
图4在图400中示出根据各实施例的带有离线支持的示例系统的体系结构。
用户界面452是能够与用户交互并且包括视图和视图模型对象的系统的顶层。从用户界面层452接收的诸如回复消息、改变项属性、删除属性、阅读消息等之类的动作458可用于反馈至用户界面层452的用户界面数据绑定对象456。动作458和数据绑定对象456在模型层454(客户机侧)中。
在服务器侧,持久存储的数据存取层460可包括动作分派器464和同步管理器462。动作分派器464可接收动作(例如,使用动作请求调用)。动作可被提供给在线及离线业务逻辑和数据存储,并且从其接收响应于(对用户界面的)动作的任务。同步管理器462可便于动作和故障响应在在线和离线状态之间的同步。
在线业务逻辑468可包括文件夹、消息、附件、日历、联系人、以及与通信服务相关联的类似项。在线业务逻辑468还可包括这些项的视图、以及文件夹同步逻辑、通知逻辑以及属性模式逻辑。在线存储470可存储文件夹、消息、附件以及这些的视图。在线存储470还可包括界面同步、通知和属性模式。在线业务逻辑的物理层抽象472可包括索引、表和列,并且允许与诸如关系数据库或其他数据库之类的数据库的交互。
离线业务逻辑和存储组合466可包括馈送至文件夹、消息、附件、日历、联系人等以及这些的视图的项。离线业务逻辑和存储组合466还可包括通知、视图以及持久存储并上传动作。离线业务逻辑的物理层抽象474可包括索引、表和列,并且允许与诸如web关系数据库、经索引的数据库或其他数据库之类的数据库的交互。
已经用具体配置、应用和交互描述了图1到4中的示例系统。各实施例不限于根据这些示例的系统。可以用采用更少或更多组件以及执行其他任务的配置来实现用于提供用于监视云服务的执行的自适应监视系统的系统。此外,可以使用此处描述的原理以相似的方式来实现特定的协议和/或接口。
图5示出根据各实施例的带有对离线动作通知的支持的电子邮件服务的一示例用户界面。可通过任何通信应用用户界面以各种方式来提供关于故障的用户通知。图5中的示例用户界面500只是出于例示的目的。
在根据各实施例的一系统中,根据某些实施例,用户体验可通过多个特征来增强。例如,呈现用户体验的代码可基于对上文讨论并且由动作管理器体系结构返回至响应处理器的因素的评估来决定是否以及如何向用户显露差错。用户体验可基于由响应处理器所提供的数据以最具侵入性和吸引注意力到最无侵入性和吸引注意力的顺序(可分别对应于最重要的故障到最不重要的故障)来选择以下方法中的一种。
通知可通过与在接收到文本消息或日历通知时的用户体验类似的声音或振动来(在支持显露这种类型的通知的设备中)显露。信息可在设备的主屏幕上显示,或者在基于web的应用用户界面(例如基于web的电子邮件应用)的主视图上显示。信息还可在添加到用户收件箱的消息中进行详细描述。
示例用户界面500呈现了电子邮件应用的“草稿”文件夹。用户界面元素582使得用户能够返回至所有文件夹列表。简要状态更新584向用户指示本地版本最近被更新的时间。如上所讨论的,视觉通知586可向用户强调故障的本质。视觉通知586可伴随有诸如特定声音之类的音频通知588。在其他实施例中,取决于用户界面配置、可用屏幕空间、设备类型等,还可显示关于故障的更详细的信息,诸如与故障相关联的通信、故障时间、用于缓解故障的用户选项等。
图6是可实现各实施例的示例联网环境。可经由诸如主存服务之类的在一个或多个服务器614上执行的软件来实现用于在重新连接时传递非预期协作服务器响应的系统。该平台可以通过网络610来与诸如智能电话613、膝上型计算机612、或台式计算机611(‘客户机设备’)之类的个体计算设备上的客户机应用进行通信。
在任一客户机设备611‑613上执行的客户机应用可便于通过由各服务器616执行的或在个体服务器616上执行的应用进行的通信。在服务器中的一个上执行的通信应用可如上所讨论的便于基于预定义准则向用户提供故障通知以及执行适当的任务。该应用可直接从数据存储619中或通过数据库服务器618检索相关数据,并且通过客户机设备611‑613将所请求的服务提供给用户。
网络610可包括服务器、客户机、因特网服务供应商以及通信介质的任何拓扑结构。根据各实施例的系统可以具有静态或动态拓扑结构。网络610可包括诸如企业网络等安全网络、诸如无线开放网络等非安全网络、或因特网。网络610还可通过诸如公共交换电话网络(PSTN)或蜂窝网络等其他网络来协调通信。此外,网络610可包括诸如蓝牙或类似网络等近程无线网络。网络610提供本文描述的节点之间的通信。作为示例而非限制,网络610可以包括无线介质,诸如声学、RF、红外和其他无线介质。
计算设备、应用、数据源和数据分布系统的许多其他配置可用于实现用于向通信服务提供由于网络连通性中断导致的故障通知的平台。此外,图5中所讨论的联网环境仅用于说明目的。各实施例不限于示例应用、模块、或过程。
图7及相关联讨论旨在提供对其中可实现各实施例的合适计算环境的简要概括描述。参考图7,示出了根据各实施例的用于应用程序的示例计算操作环境(诸如计算设备700)的框图。在基本配置中,计算设备700可以是根据各实施例的诸如执行提供连通性有关的故障通知的通信应用的服务器之类的任何计算设备,并且包括至少一个处理单元702和系统存储器704。计算设备700还可包括协作执行程序的多个处理单元。取决于计算设备的确切配置和类型,系统存储器704可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等)或是两者的某种组合。系统存储器704通常包括适于控制平台操作的操作系统705,诸如来自华盛顿州雷德蒙市的微软公司的操作系统。系统存储器704还可以包括一个或多个软件应用,诸如通信服务724和同步管理器模块726。
在通信应用724丢失连通性时,动作可被本地地提交直到连通性恢复。只要客户机设备重新获得连通性,就可向服务器回放动作。如果服务器不能处理该动作,则它可返回故障响应。同步管理器模块726可基于多个因素来确定如何向用户显露故障。这些因素可包括但不限于,故障类型、其他动作是否取决于这一动作的成功、采取动作以来的时间、或在其上采取动作的设备。该基本配置在图7中由虚线708内的那些组件示出。
计算设备700可具有附加特征或功能。例如,计算设备700还可包括附加数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。在图7中通过可移动存储709和不可移动存储710示出这样的附加存储。计算机可读存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器704、可移动存储709和不可移动存储710都是计算机可读存储介质的示例。计算机可读存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD‑ROM、数字多功能盘(DVD)或其他光存储、磁带、磁盘存储或其他磁存储设备、或能用于存储所需信息且可以由计算设备700访问的任何其他介质。任何这样的计算机可读存储介质都可以是计算设备700的一部分。计算设备700还可以具有输入设备712,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备和类似输入设备。还可以包括输出设备714,诸如显示器、扬声器、打印机和其他类型的输出设备。这些设备在本领域中公知且无需在此处详细讨论。
计算设备700还可包含通信连接716,该通信连接允许该设备诸如通过分布式计算环境中的有线或无线网络、卫星链接、蜂窝链接、短程网络和类似机制来与其他设备718进行通信。其他设备718可包括执行通信应用的计算机设备、web服务器和类似设备。一个或多个通信连接716是通信介质的一个示例。通信介质可在其中包括计算机可读指令、数据结构、程序模块或其他数据。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。
各示例实施例还包括各种方法。这些方法可以用任何数量的方式,包括本文中所描述的结构来实现。一种此类方式是通过本文中描述的类型的设备的机器操作。
另一可任选方式是结合一个或多个人类操作者执行该方法的各个操作中的某一些来执行该方法的一个或多个操作。这些人类操作者无需彼此同在一处,而是其每一个可以仅与执行程序的一部分的机器同在一处。
图8示出根据各实施例的用于在重新连接时传递非预期协作服务器响应的过程的逻辑流程图。过程800可在当丢失网络连通性时向用户提供故障响应的通信系统中实现。
过程800开始于操作810,在那里可通过用户与用户界面的交互来检测用户动作,诸如创建/删除/修改项(消息、约会、联系人、属性)。在检测动作以及向用户提供响应时,用户界面可由通过数据绑定进行交互的视图和视图模型组件来补充。
在可选操作820,在网络连通性丢失的情况下,动作可被提供给服务器并且作为备份被存储在本地高速缓存处。在应用丢失连通性时,动作可被本地地提交直到连通性恢复。为了在一旦连通性恢复后使这些动作反映在服务器上,动作可在它们被本地提交的同时被存储在本地web数据库表或本机设备数据库表中的队列中。
在操作830,响应处理器可基于一个或多个因素来确定何时以及如何(通过用户界面)向用户显露故障响应。如果服务器不能处理该动作,则它可返回故障响应。故障响应可被传递到动作管理器体系结构中的响应处理器。响应处理器可提供信息以实现用户界面代码从而基于多个因素来选择是否以及如何向用户显露故障。关于这些因素中的每一个的数据可与故障响应一起被返回到响应处理器。这些因素可包括但不限于,故障类型、其他动作是否取决于这一动作的成功、采取动作以来的时间、或在其上采取动作的设备。
在可选操作840,在网络连通性恢复时可重放动作。在应用连接时,用户界面可从本地数据存储读取用户动作并且将用户动作写入本地数据存储(出于性能以及保持其最新两方面的目的),并且将动作写入本地数据存储以及服务器两者以维护同步。
包括在过程800内的各操作是用于说明目的。用于在重新连接时传递非预期协作式服务器响应的过程可以使用此处所述的各原理通过具有更少或附加步骤的相似过程、以及不同的操作次序来实现。
以上说明书、示例和数据提供了对各实施例的组成的制造和使用的全面描述。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求和各实施方式的示例形式而公开的。

在重新连接时传递非预期协作服务器响应.pdf_第1页
第1页 / 共18页
在重新连接时传递非预期协作服务器响应.pdf_第2页
第2页 / 共18页
在重新连接时传递非预期协作服务器响应.pdf_第3页
第3页 / 共18页
点击查看更多>>
资源描述

《在重新连接时传递非预期协作服务器响应.pdf》由会员分享,可在线阅读,更多相关《在重新连接时传递非预期协作服务器响应.pdf(18页珍藏版)》请在专利查询网上搜索。

1、(10)申请公布号 CN 102946407 A (43)申请公布日 2013.02.27 C N 1 0 2 9 4 6 4 0 7 A *CN102946407A* (21)申请号 201210377076.7 (22)申请日 2012.09.28 13/249,243 2011.09.30 US H04L 29/08(2006.01) H04L 12/58(2006.01) H04L 12/24(2006.01) (71)申请人微软公司 地址美国华盛顿州 (72)发明人 S曼宁 JVE巴尔杜奇 F平托斯 D克洛 (74)专利代理机构上海专利商标事务所有限公 司 31100 代理人陈斌 (。

2、54) 发明名称 在重新连接时传递非预期协作服务器响应 (57) 摘要 本发明涉及在重新连接时传递非预期协作服 务器响应。提供了用于结合异步通信服务在用户 采取动作之后支持适当的用户通知的一组工作 流。通知的定时和/或类型或者服务要采取的动 作基于以下各项中的一个或多个来确定:发生故 障的用户动作的本质、自从采取动作以来经过的 时间、多动作依赖性、设备类型以及增强用户体验 及减少混淆的类似的特性。 (30)优先权数据 (51)Int.Cl. 权利要求书2页 说明书7页 附图8页 (19)中华人民共和国国家知识产权局 (12)发明专利申请 权利要求书 2 页 说明书 7 页 附图 8 页 1/2。

3、页 2 1.一种至少部分地在计算设备上执行的用于提供由于通信系统中的连通性丢失导致 的故障响应的方法,所述方法包括: 从通信应用的用户界面接收用户动作; 确定由于连通性丢失导致的将接收到的动作提供给服务器的故障;以及 基于从以下组中的至少一个来确定故障通知的定时以及显露类型:故障类型、其他动 作是否取决于所述接收到的动作的成功、接收到所述动作以来的时间、在其上接收所述动 作的设备、用户简档、使用情况、所述动作的类型、以及方便通信的类型。 2.如权利要求1所述的方法,其特征在于,还包括: 将所述接收到的动作存储在本地高速缓存中。 3.如权利要求2所述的方法,其特征在于,还包括: 在重新建立连通性。

4、时向所述服务器重放存储的动作。 4.如权利要求1所述的方法,其特征在于,还包括: 通过从以下组中的至少一个来显露所述故障通知:声音警告、振动警告、所述用户界面 的主视图上的视觉通知、信息性电子邮件消息以及所述系统要处理的事件。 5.如权利要求1所述的方法,其特征在于,还包括: 通过所述用户界面以及经由消息之一来显示关于所述故障的详细信息,所述信息包括 以下组中的至少一个:与所述故障相关联的通信、所述故障的时间、用于缓解所述故障的一 个或多个用户选项。 6.如权利要求1所述的方法,其特征在于,使得所述用户界面能够从本地数据存储读 取用户动作并且向本地数据存储写入用户动作,并且在重新建立连通性时将。

5、动作写入所述 服务器以维护同步。 7.一种用于提供由于连通性丢失导致的故障响应的通信系统,所述系统包括: 客户机控件模块,管理被配置成接收用户动作以及显露故障通知的用户界面; 连接管理器模块,被配置成确定由于连通性丢失导致的将接收到的动作提供给服务器 的故障; 客户机视图模块,是所述用户界面的模板集合; 客户机视图模型,包括所述用户界面的应用逻辑,其中所述应用逻辑被配置成基于多 个因素来确定故障通知的定时以及显露类型,所述多个因素包括所述故障的类型、其他动 作是否取决于所述接收到的动作的成功、接收到所述动作以来的时间、在其上接收所述动 作的设备、用户简档、使用情况、所述动作的类型、以及方便通信。

6、的类型;以及 本地高速缓存,用于存储所述接收到的用户动作。 8.如权利要求7所述的系统,其特征在于,所述客户机视图模型维护应用状态。 9.如权利要求7所述的系统,其特征在于,所述应用逻辑还被配置成: 在接收到的动作被本地提交时将所述动作存储在本地web数据库表和本机设备数据 库表之一中的队列中。 10.一种其上存储有用于提供由于通信系统中的连通性丢失导致的故障响应的指令的 计算机可读存储器设备,所述指令包括: 从通信应用的用户界面接收用户动作; 确定由于连通性丢失导致的将接收到的动作提供给服务器的故障; 权 利 要 求 书CN 102946407 A 2/2页 3 将所述接收到的动作存储在本地。

7、高速缓存中; 基于多个因素来确定故障通知的定时以及显露类型,所述多个因素包括所述故障的类 型、其他动作是否取决于所述接收到的动作的成功、接收到所述动作以来的时间、在其上接 收所述动作的设备、用户简档、使用情况、所述动作的类型、以及方便通信的类型;以及 在重新建立连通性时向所述服务器重放存储的动作。 权 利 要 求 书CN 102946407 A 1/7页 4 在重新连接时传递非预期协作服务器响应 技术领域 0001 本发明涉及异步通信技术,尤其涉及在重新连接时提供故障响应的技术。 背景技术 0002 诸如电子邮件、文本消息收发等之类的异步通信服务是日常生活中便于出于个 人、商务以及其他目的进行。

8、信息交换的一个很大的部分。异步通信服务通常包括管理在一 个或多个网络上的通信的一个或多个服务器,其中用户通过胖客户机或瘦客户机来访问这 些服务。胖客户机是本地安装的客户机应用,它本地地执行大部分功能从而周期性地或按 需与服务器进行同步。瘦客户机通常是通用应用,诸如能够通过服务器所控制的用户界面 允许对通信服务进行访问的web浏览器,其中大部分的功能是基于服务器的。 0003 在存在网络连通性时,胖客户机或瘦客户机提供无缝的用户体验。另一方面,如果 丢失了网络连通性,则客户机应用可能仍然向用户提供某些功能,但无法与服务器进行同 步。因此,某些通信服务可能被中断。例如,电子邮件消息可能没有被发送或。

9、检索、日历项 可能没有被更新等等。在某些实现中,即使在缺失网络连通性的情况下,客户机应用仍然可 正常工作并执行功能,并且一旦连通性恢复之后重放用户动作。然而,网络中断可能并不总 是持续较短的时间。如果中断持续相对较长的时间段(例如,几小时或几天),则在连通性恢 复时重放用户动作或者在连通性恢复时重放用户动作中的差错可能导致用户混淆。例如, 可能在安排的约会时间过去之后向用户提供该安排的约会。某些常规系统在每次有中断时 都会警告用户,这可能会使用户体验降级。其他系统完全不报告任何故障,这可能导致更差 的情况,诸如用户在通信系统中丢失置信度。 发明内容 0004 提供本发明内容以便以简化的形式介绍。

10、将在以下的具体实施方式中进一步描述 的一些概念。本发明内容并不旨在专门标识所要求保护的主题的关键特征或必要特征,也 不旨在用于帮助确定所要求保护的主题的范围。 0005 各实施例涉及用于结合异步通信服务在用户采取动作之后支持适当的用户通知 的一组工作流。通知的定时和/或类型或者服务要采取的动作可基于以下各项中的一个或 多个来确定:发生故障的用户动作的本质、自从采取动作之后经过的时间、多动作依赖性、 设备类型以及增强用户体验及减少混淆的类似的特性。 0006 通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显 而易见。可以理解,前述一般描述和以下的详细描述都是说明性的,并且不。

11、限制所要求保护 的各方面。 附图说明 0007 图1示出可实现各实施例的用于便于异步通信服务的一示例系统; 0008 图2示出根据各实施例的一示例基于web的电子邮件服务体系结构; 说 明 书CN 102946407 A 2/7页 5 0009 图3示出根据各实施例的通信服务中的示例动作流; 0010 图4示出根据各实施例的带有离线支持的示例系统的体系结构; 0011 图5示出根据各实施例的带有对离线动作通知的支持的电子邮件服务的一示例 用户界面; 0012 图6是可实现根据各实施例的系统的联网环境; 0013 图7是可实现各实施例的示例计算操作环境的框图;以及 0014 图8示出根据各实施例。

12、的用于在重新连接时传递非预期协作服务器响应的过程 的逻辑流程图。 具体实施方式 0015 如上简述,结合异步通信服务在用户采取动作之后,并且尤其在该动作无法正确 地向服务器重放时可提供适当的用户通知。在网络连通性被中断时,通知以及响应于用户 动作要被执行的任务可基于预定义准则以及本地高速缓存的被创建的/被修改的数据的 至少一部分来确定。通知的定时和/或类型或者服务要采取的动作可基于以下各项中的一 个或多个来确定:发生故障的用户动作的本质、自从采取动作之后经过的时间、多动作依赖 性、设备类型以及增强用户体验及减少混淆的类似的特性。 0016 在以下详细描述中,参考了构成了详细描述的一部分并作为说。

13、明示出了各具体实 施例或示例的附图。可组合这些方面,可利用其他方面,并且可以做出结构上的改变而不背 离本发明的精神或范围。因此,以下详细描述并不旨在限制,并且本发明的范围由所附权利 要求及其等效方案来限定。 0017 尽管在结合在计算设备上的操作系统上运行的应用程序执行的程序模块的一般 上下文中描述了各实施例,但是本领域的技术人员会认识到各方面也可以结合其它程序模 块实现。 0018 一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组 件、数据结构和其他类型的结构。此外,本领域的技术人员可以明白,各实施例可以用其他 计算机系统配置来实施,包括手持式设备、多处理器系统、基于。

14、微处理器或可编程消费电子 产品、小型计算机、大型计算机以及类似计算设备。各实施例还能在任务由通过通信网络链 接的远程处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块可位 于本地和远程存储器存储设备两者中。 0019 各实施例可被实现为计算机实现的过程(方法)、计算系统、或者诸如计算机程序 产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并且编码包括用于 使计算机或计算系统执行示例过程的指令的计算机程序的计算机存储介质。例如,计算机 可读存储介质可经由易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软 盘或紧致盘和类似介质中的一个或多个来实现。 002。

15、0 贯穿本说明书,术语“平台”可以是用于提供诸如电子邮件或文本消息收发之类的 异步通信服务的软件和硬件组件的组合。平台的示例包括但不限于,在多个服务器上执行 的托管服务、在单个计算设备上执行的应用、以及类似系统。术语“服务器”一般指通常在 联网环境中执行一个或多个软件程序的计算设备。然而,服务器还可以被实现为在被视作 网络上的服务器的一个或多个计算设备上执行的虚拟服务器(软件程序)。以下提供关于这 说 明 书CN 102946407 A 3/7页 6 些技术和示例操作的更多细节。如此处所使用的,术语“动作”指的是用户与通信应用的交 互,诸如选择/激活用户界面元素或通过用户界面提供输入。术语“任。

16、务”指的是系统响应 于在向用户提供通信服务中的“动作”或其他事件而执行的操作。 0021 图1在图100中示出可实现各实施例的用于便于异步通信服务的一示例系统。通 信服务102可便于服务异步通信,诸如电子邮件交换、文本消息交换等,以及诸如安排服务 (日历)、联系人、任务列表等辅助特征。通信服务102可通过网络110与客户机应用104、106 交互以便于通信的交换。 0022 客户机应用104、106可以是胖客户机或瘦客户机。胖客户机是本地安装的客户机 应用,它本地地执行大部分功能从而周期性地或按需与服务器进行同步。瘦客户机通常是 通用应用,诸如能够通过服务器所控制的用户界面允许对通信服务的访问。

17、的web浏览器, 其中大部分的功能是基于服务器的。在任一种情况下,客户机应用的功能取决于通信服务 102的连通性。 0023 例如,尤其在便携式设备上提供电子邮件交换服务的电子邮件、日历或联系人特 征时,客户机应用可能与网络110断开连接。一旦连通性恢复,可在无需用户干预的情况下 重放用户采取的动作。然而,断开连接的时间段可能是几秒、几分钟、几小时或几天。如果 动作无法完整地或部分地重放,则挑战在于是否以及如何向用户指示重放故障。 0024 在根据各实施例的一系统中,可基于诸如故障的类型或本质、故障时间、应用或设 备的类型等之类的多个预定义准则来提供故障通知并且执行与发生故障的动作相关联的 任。

18、务。这些动作可包括但不限于,发送/删除/修改消息、创建/删除/修改日历或联系人 项、或创建/删除/修改项的属性。因此,响应于检测到重放动作的故障,根据各实施例的 一系统可应用一个或多个准则并且执行包括提供通知(通知的类型、定时、格式)在内的任 务。还可基于所述准则本地高速缓存某些被创建的/被修改的数据。 0025 图2在图200中示出根据各实施例的一示例基于web的电子邮件服务体系结构。 0026 根据某些实施例,如果用户在他们的客户机应用中选择离线工作的能力,则应用 可创建本地数据存储(客户机高速缓存222)以存储与应用相关联的项(诸如电子邮件应用 中的电子邮件、日历和联系人)以在应用断开连。

19、接时支持各功能。在应用连接时,用户界面 可从本地数据存储读取用户动作并且将用户动作写入本地数据存储(出于性能以及保持其 最新两方面的目的),并且将动作写入本地数据存储以及服务器(通信服务220)两者以维护 同步。对于本地写入可能过于资源密集的任何动作,数据同步组件可将增量式服务器变更 直接复制到本地数据存储。 0027 根据各实施例的一系统中的其他主要功能组件可包括管理诸如列表视图、文本 框、编辑器等之类的元件的客户机控件214;作为原语控件的合成的模板集合的客户机视 图212;包括应用逻辑的客户机视图模型216;以及包括数据管理器、日历、文件夹、联系人 等的客户机模型218。 0028 如上。

20、所述,客户机视图模型216可包括用户界面专用的应用逻辑并维护应用状 态。根据某些实施例,客户机视图模型216可能不具有对用户界面的知识,并且状态可通过 属性和命令绑定来展示。以客户机模型218中的改变来对用户动作作出响应的责任可属于 这一层。 0029 客户机视图212可绑定到用户体验界面,并且在用户界面中像客户机视图模型 说 明 书CN 102946407 A 4/7页 7 216的反射一样来动作。数据绑定是用于在客户机视图212和较低层之间进行通信的主要 机制。作为包括原语控件的模板集合的客户机视图212可具有与客户机视图模型216的 1:1映射。采用客户机视图212和客户机视图模型216。

21、之间的数据绑定的配置可实现使用 模板来创建视图模型的完整视图。在如图200所示的这样一个系统中,通知226可从通信 服务220流向客户机控件214,而事件从客户机控件214流向通信服务220或客户机高速缓 存222。 0030 图3在图300中示出根据各实施例的通信服务中的示例动作流。在根据各实施例 的一系统中,动作334可如上所讨论地通过视图模型332来获得。 0031 在通信应用连接时,用户界面可从本地数据存储读取用户动作并且将用户动作写 入本地数据存储(客户机存储代理336),并且将动作写入本地数据存储和服务器两者以维 护同步。在应用丢失连通性时,动作334可被本地地提交直到连通性恢复。。

22、为了在一旦连 通性恢复后使这些动作反映在服务器上,动作334可在它们被本地提交的同时被存储在本 地web数据库表或本机设备数据库表中的队列中(排队的代理344)。在某些实施例中,可在 客户机存储代理336和服务器的在线代理342之间采用聚集代理340。流程可直接或者经 由排队的代理344从聚集代理340流向在线代理342。只要设备重新获得连通性(如由诸如 连通性管理器之类的独立进程所确定的),就可向服务器(向在线代理342)回放动作。 0032 如果服务器不能处理该动作,则它可返回故障响应。故障响应可被传递到动作管 理器体系结构中的响应处理器330。响应处理器330可提供信息以实现用户界面代码。

23、从而 基于多个因素来选择是否以及如何向用户显露故障。关于这些因素中的每一个的数据可与 故障响应一起被返回到响应处理器。这些因素可包括但不限于,故障类型、其他动作是否取 决于这一动作的成功、采取动作以来的时间、在其上采取动作的设备、用户简档和/或使用 情况、通信方法(例如电子邮件对文本消息交换)或动作本质。例如,涉及用户自己的时间的 日历项的创建/修改/删除可能不如当日历项涉及其他用户时(例如会议)那么重要。短期 断开连接对于用户可能是透明的(例如,对于日历或联系人项相关的动作),而长期断开连 接就计划、通信、分析等方面来说可能具有重大意义。 0033 在某些示例实现中,故障类型可包括创建高投资。

24、定制内容,诸如新消息或会议请 求;创建低投资定制内容,诸如对联系人添加或改变电话号码;改变项范围内的属性,诸如 删除消息或将消息移动至不同的文件夹;以及改变项内的单个属性,诸如设置标志或将项 标记为已读。 0034 其他动作对于特定动作的成功的依赖性可以是例如具有其地址不存在于组织内 的接收者的消息。发送可能成功,但该单个接收者的地址名称解析可能出现故障。在其他 动作依赖于单个故障的情况下,可执行所有相关动作的回退或者可允许其他动作继续而仅 返回这一动作的故障。因此,响应处理器330可调用代码来相应地对成功或故障响应作出 反应,并且取决于相关或依赖动作的成功或故障响应,只要连通性恢复,该动作就。

25、可从服务 器被重放、重新排队或清除(忽略)。 0035 图4在图400中示出根据各实施例的带有离线支持的示例系统的体系结构。 0036 用户界面452是能够与用户交互并且包括视图和视图模型对象的系统的顶层。从 用户界面层452接收的诸如回复消息、改变项属性、删除属性、阅读消息等之类的动作458 可用于反馈至用户界面层452的用户界面数据绑定对象456。动作458和数据绑定对象456 说 明 书CN 102946407 A 5/7页 8 在模型层454(客户机侧)中。 0037 在服务器侧,持久存储的数据存取层460可包括动作分派器464和同步管理器 462。动作分派器464可接收动作(例如,使。

26、用动作请求调用)。动作可被提供给在线及离线 业务逻辑和数据存储,并且从其接收响应于(对用户界面的)动作的任务。同步管理器462 可便于动作和故障响应在在线和离线状态之间的同步。 0038 在线业务逻辑468可包括文件夹、消息、附件、日历、联系人、以及与通信服务相关 联的类似项。在线业务逻辑468还可包括这些项的视图、以及文件夹同步逻辑、通知逻辑以 及属性模式逻辑。在线存储470可存储文件夹、消息、附件以及这些的视图。在线存储470 还可包括界面同步、通知和属性模式。在线业务逻辑的物理层抽象472可包括索引、表和 列,并且允许与诸如关系数据库或其他数据库之类的数据库的交互。 0039 离线业务逻。

27、辑和存储组合466可包括馈送至文件夹、消息、附件、日历、联系人等 以及这些的视图的项。离线业务逻辑和存储组合466还可包括通知、视图以及持久存储并 上传动作。离线业务逻辑的物理层抽象474可包括索引、表和列,并且允许与诸如web关系 数据库、经索引的数据库或其他数据库之类的数据库的交互。 0040 已经用具体配置、应用和交互描述了图1到4中的示例系统。各实施例不限于根 据这些示例的系统。可以用采用更少或更多组件以及执行其他任务的配置来实现用于提供 用于监视云服务的执行的自适应监视系统的系统。此外,可以使用此处描述的原理以相似 的方式来实现特定的协议和/或接口。 0041 图5示出根据各实施例的。

28、带有对离线动作通知的支持的电子邮件服务的一示例 用户界面。可通过任何通信应用用户界面以各种方式来提供关于故障的用户通知。图5中 的示例用户界面500只是出于例示的目的。 0042 在根据各实施例的一系统中,根据某些实施例,用户体验可通过多个特征来增强。 例如,呈现用户体验的代码可基于对上文讨论并且由动作管理器体系结构返回至响应处理 器的因素的评估来决定是否以及如何向用户显露差错。用户体验可基于由响应处理器所提 供的数据以最具侵入性和吸引注意力到最无侵入性和吸引注意力的顺序(可分别对应于最 重要的故障到最不重要的故障)来选择以下方法中的一种。 0043 通知可通过与在接收到文本消息或日历通知时的。

29、用户体验类似的声音或振动来 (在支持显露这种类型的通知的设备中)显露。信息可在设备的主屏幕上显示,或者在基于 web的应用用户界面(例如基于web的电子邮件应用)的主视图上显示。信息还可在添加到 用户收件箱的消息中进行详细描述。 0044 示例用户界面500呈现了电子邮件应用的“草稿”文件夹。用户界面元素582使 得用户能够返回至所有文件夹列表。简要状态更新584向用户指示本地版本最近被更新的 时间。如上所讨论的,视觉通知586可向用户强调故障的本质。视觉通知586可伴随有诸 如特定声音之类的音频通知588。在其他实施例中,取决于用户界面配置、可用屏幕空间、设 备类型等,还可显示关于故障的更详。

30、细的信息,诸如与故障相关联的通信、故障时间、用于 缓解故障的用户选项等。 0045 图6是可实现各实施例的示例联网环境。可经由诸如主存服务之类的在一个或多 个服务器614上执行的软件来实现用于在重新连接时传递非预期协作服务器响应的系统。 该平台可以通过网络610来与诸如智能电话613、膝上型计算机612、或台式计算机611(客 说 明 书CN 102946407 A 6/7页 9 户机设备)之类的个体计算设备上的客户机应用进行通信。 0046 在任一客户机设备611-613上执行的客户机应用可便于通过由各服务器616执行 的或在个体服务器616上执行的应用进行的通信。在服务器中的一个上执行的通。

31、信应用可 如上所讨论的便于基于预定义准则向用户提供故障通知以及执行适当的任务。该应用可直 接从数据存储619中或通过数据库服务器618检索相关数据,并且通过客户机设备611-613 将所请求的服务提供给用户。 0047 网络610可包括服务器、客户机、因特网服务供应商以及通信介质的任何拓扑结 构。根据各实施例的系统可以具有静态或动态拓扑结构。网络610可包括诸如企业网络等 安全网络、诸如无线开放网络等非安全网络、或因特网。网络610还可通过诸如公共交换电 话网络(PSTN)或蜂窝网络等其他网络来协调通信。此外,网络610可包括诸如蓝牙或类似 网络等近程无线网络。网络610提供本文描述的节点之间。

32、的通信。作为示例而非限制,网 络610可以包括无线介质,诸如声学、RF、红外和其他无线介质。 0048 计算设备、应用、数据源和数据分布系统的许多其他配置可用于实现用于向通信 服务提供由于网络连通性中断导致的故障通知的平台。此外,图5中所讨论的联网环境仅 用于说明目的。各实施例不限于示例应用、模块、或过程。 0049 图7及相关联讨论旨在提供对其中可实现各实施例的合适计算环境的简要概括 描述。参考图7,示出了根据各实施例的用于应用程序的示例计算操作环境(诸如计算设备 700)的框图。在基本配置中,计算设备700可以是根据各实施例的诸如执行提供连通性有 关的故障通知的通信应用的服务器之类的任何计。

33、算设备,并且包括至少一个处理单元702 和系统存储器704。计算设备700还可包括协作执行程序的多个处理单元。取决于计算设备 的确切配置和类型,系统存储器704可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪 存等)或是两者的某种组合。系统存储器704通常包括适于控制平台操作的操作系统705, 诸如来自华盛顿州雷德蒙市的微软公司的操作系统。系统存储器704还可以 包括一个或多个软件应用,诸如通信服务724和同步管理器模块726。 0050 在通信应用724丢失连通性时,动作可被本地地提交直到连通性恢复。只要客户 机设备重新获得连通性,就可向服务器回放动作。如果服务器不能处理该动作,则它。

34、可返回 故障响应。同步管理器模块726可基于多个因素来确定如何向用户显露故障。这些因素可 包括但不限于,故障类型、其他动作是否取决于这一动作的成功、采取动作以来的时间、或 在其上采取动作的设备。该基本配置在图7中由虚线708内的那些组件示出。 0051 计算设备700可具有附加特征或功能。例如,计算设备700还可包括附加数据存 储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。在图7中通过可移动存储709和 不可移动存储710示出这样的附加存储。计算机可读存储介质可以包括以用于存储诸如计 算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和 非易失性、可移动和不可。

35、移动介质。系统存储器704、可移动存储709和不可移动存储710 都是计算机可读存储介质的示例。计算机可读存储介质包括,但不限于,RAM、ROM、EEPROM、 闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带、磁盘存储或其他 磁存储设备、或能用于存储所需信息且可以由计算设备700访问的任何其他介质。任何这 样的计算机可读存储介质都可以是计算设备700的一部分。计算设备700还可以具有输入 设备712,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备和类似输入设备。还可以包括输 说 明 书CN 102946407 A 7/7页 10 出设备714,诸如显示器、扬声器、。

36、打印机和其他类型的输出设备。这些设备在本领域中公知 且无需在此处详细讨论。 0052 计算设备700还可包含通信连接716,该通信连接允许该设备诸如通过分布式计 算环境中的有线或无线网络、卫星链接、蜂窝链接、短程网络和类似机制来与其他设备718 进行通信。其他设备718可包括执行通信应用的计算机设备、web服务器和类似设备。一 个或多个通信连接716是通信介质的一个示例。通信介质可在其中包括计算机可读指令、 数据结构、程序模块或其他数据。作为示例而非限制,通信介质包括诸如有线网络或直接线 连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。 0053 各示例实施例还包括各。

37、种方法。这些方法可以用任何数量的方式,包括本文中所 描述的结构来实现。一种此类方式是通过本文中描述的类型的设备的机器操作。 0054 另一可任选方式是结合一个或多个人类操作者执行该方法的各个操作中的某一 些来执行该方法的一个或多个操作。这些人类操作者无需彼此同在一处,而是其每一个可 以仅与执行程序的一部分的机器同在一处。 0055 图8示出根据各实施例的用于在重新连接时传递非预期协作服务器响应的过程 的逻辑流程图。过程800可在当丢失网络连通性时向用户提供故障响应的通信系统中实 现。 0056 过程800开始于操作810,在那里可通过用户与用户界面的交互来检测用户动作, 诸如创建/删除/修改项。

38、(消息、约会、联系人、属性)。在检测动作以及向用户提供响应时, 用户界面可由通过数据绑定进行交互的视图和视图模型组件来补充。 0057 在可选操作820,在网络连通性丢失的情况下,动作可被提供给服务器并且作为备 份被存储在本地高速缓存处。在应用丢失连通性时,动作可被本地地提交直到连通性恢复。 为了在一旦连通性恢复后使这些动作反映在服务器上,动作可在它们被本地提交的同时被 存储在本地web数据库表或本机设备数据库表中的队列中。 0058 在操作830,响应处理器可基于一个或多个因素来确定何时以及如何(通过用户界 面)向用户显露故障响应。如果服务器不能处理该动作,则它可返回故障响应。故障响应可 被。

39、传递到动作管理器体系结构中的响应处理器。响应处理器可提供信息以实现用户界面代 码从而基于多个因素来选择是否以及如何向用户显露故障。关于这些因素中的每一个的数 据可与故障响应一起被返回到响应处理器。这些因素可包括但不限于,故障类型、其他动作 是否取决于这一动作的成功、采取动作以来的时间、或在其上采取动作的设备。 0059 在可选操作840,在网络连通性恢复时可重放动作。在应用连接时,用户界面可从 本地数据存储读取用户动作并且将用户动作写入本地数据存储(出于性能以及保持其最新 两方面的目的),并且将动作写入本地数据存储以及服务器两者以维护同步。 0060 包括在过程800内的各操作是用于说明目的。。

40、用于在重新连接时传递非预期协作 式服务器响应的过程可以使用此处所述的各原理通过具有更少或附加步骤的相似过程、以 及不同的操作次序来实现。 0061 以上说明书、示例和数据提供了对各实施例的组成的制造和使用的全面描述。尽 管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中 定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要 求和各实施方式的示例形式而公开的。 说 明 书CN 102946407 A 10 1/8页 11 图1 说 明 书 附 图CN 102946407 A 11 2/8页 12 图2 说 明 书 附 图CN 102946407 A 12 3/8页 13 图3 说 明 书 附 图CN 102946407 A 13 4/8页 14 图4 说 明 书 附 图CN 102946407 A 14 5/8页 15 图5 说 明 书 附 图CN 102946407 A 15 6/8页 16 图6 说 明 书 附 图CN 102946407 A 16 7/8页 17 图7 说 明 书 附 图CN 102946407 A 17 8/8页 18 图8 说 明 书 附 图CN 102946407 A 18 。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1