CN102946407A - 在重新连接时传递非预期协作服务器响应 - Google Patents

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

Info

Publication number
CN102946407A
CN102946407A CN2012103770767A CN201210377076A CN102946407A CN 102946407 A CN102946407 A CN 102946407A CN 2012103770767 A CN2012103770767 A CN 2012103770767A CN 201210377076 A CN201210377076 A CN 201210377076A CN 102946407 A CN102946407 A CN 102946407A
Authority
CN
China
Prior art keywords
action
user
fault
type
user interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012103770767A
Other languages
English (en)
Other versions
CN102946407B (zh
Inventor
S·曼宁
J·V·E·巴尔杜奇
F·平托斯
D·克洛
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of CN102946407A publication Critical patent/CN102946407A/zh
Application granted granted Critical
Publication of CN102946407B publication Critical patent/CN102946407B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5061Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the interaction between service providers and their network customers, e.g. customer relationship management
    • H04L41/5067Customer-centric QoS measurements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5061Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the interaction between service providers and their network customers, e.g. customer relationship management
    • H04L41/5074Handling of user complaints or trouble tickets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/23Reliability checks, e.g. acknowledgments or fault reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/58Message adaptation for wireless communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5683Storage of data provided by user terminals, i.e. reverse caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection

Abstract

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

Description

在重新连接时传递非预期协作服务器响应
技术领域
本发明涉及异步通信技术,尤其涉及在重新连接时提供故障响应的技术。
背景技术
诸如电子邮件、文本消息收发等之类的异步通信服务是日常生活中便于出于个人、商务以及其他目的进行信息交换的一个很大的部分。异步通信服务通常包括管理在一个或多个网络上的通信的一个或多个服务器,其中用户通过胖客户机或瘦客户机来访问这些服务。胖客户机是本地安装的客户机应用,它本地地执行大部分功能从而周期性地或按需与服务器进行同步。瘦客户机通常是通用应用,诸如能够通过服务器所控制的用户界面允许对通信服务进行访问的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,诸如来自华盛顿州雷德蒙市的微软公司的
Figure BDA00002209353900091
操作系统。系统存储器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内的各操作是用于说明目的。用于在重新连接时传递非预期协作式服务器响应的过程可以使用此处所述的各原理通过具有更少或附加步骤的相似过程、以及不同的操作次序来实现。
以上说明书、示例和数据提供了对各实施例的组成的制造和使用的全面描述。尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求和各实施方式的示例形式而公开的。

Claims (10)

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

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/249,243 2011-09-30
US13/249,243 US20130086437A1 (en) 2011-09-30 2011-09-30 Communicating unexpected collaboration server responses on reconnection

Publications (2)

Publication Number Publication Date
CN102946407A true CN102946407A (zh) 2013-02-27
CN102946407B CN102946407B (zh) 2015-09-16

Family

ID=47729313

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210377076.7A Expired - Fee Related CN102946407B (zh) 2011-09-30 2012-09-28 在重新连接时传递非预期协作服务器响应

Country Status (13)

Country Link
US (1) US20130086437A1 (zh)
EP (1) EP2761461B1 (zh)
JP (1) JP2014529150A (zh)
KR (1) KR20140070574A (zh)
CN (1) CN102946407B (zh)
AU (1) AU2012315577A1 (zh)
BR (1) BR112014006942A8 (zh)
CA (1) CA2849819A1 (zh)
HK (1) HK1180854A1 (zh)
IN (1) IN2014CN02205A (zh)
MX (1) MX348329B (zh)
RU (1) RU2604434C2 (zh)
WO (1) WO2013049781A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105229611A (zh) * 2013-04-29 2016-01-06 微软技术许可有限责任公司 同步中断的防止
JP2019204524A (ja) * 2014-12-29 2019-11-28 フェイスブック,インク. アプリケーションサービス・アバターを用いたアプリケーションサービス配信

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677256B2 (en) * 2011-12-29 2014-03-18 Jacob J. Dayan Graphic-based electronic signature management system and method
US9319911B2 (en) 2013-08-30 2016-04-19 International Business Machines Corporation Adaptive monitoring for cellular networks
US10095372B2 (en) * 2016-03-14 2018-10-09 Motorola Mobility Llc Devices and methods for modifying temporally dependent content elements of electronic communications

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030196136A1 (en) * 2002-04-15 2003-10-16 Haynes Leon E. Remote administration in a distributed system
US6665820B1 (en) * 1999-12-22 2003-12-16 Ge Medical Technology Services, Inc. Method and system for communications connectivity failure diagnosis
US20040117453A1 (en) * 2002-12-17 2004-06-17 International Business Machines Corporation Client/server request handling
CN1694073A (zh) * 2004-05-05 2005-11-09 微软公司 用于在电子设备中同步数据的系统和方法
CN1770738A (zh) * 2004-10-28 2006-05-10 阿尔卡特公司 具备自动建立机制的堆叠管理器协议
US20060238652A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Sync manager UI and updated API
CN1943181A (zh) * 2004-03-03 2007-04-04 诺基亚公司 用于传送数据的方法、设备和系统
US20080168105A1 (en) * 2007-01-05 2008-07-10 Microsoft Corporation SYNC Configuration And Discovery Support
US20100083032A1 (en) * 2008-09-30 2010-04-01 Alcorn Byron A Connection broker assignment status reporting

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6035324A (en) * 1997-08-28 2000-03-07 International Business Machines Corporation Client-side asynchronous form management
US7111205B1 (en) * 2000-04-18 2006-09-19 Siemens Communications, Inc. Method and apparatus for automatically reporting of faults in a communication network
AUPQ808700A0 (en) * 2000-06-09 2000-07-06 Honeywell Limited Human-machine interface
US7054955B2 (en) * 2001-06-27 2006-05-30 Microsoft Corporation System and method for recovering from a failed synchronization session
US20040044799A1 (en) * 2002-09-03 2004-03-04 Nokia Corporation Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process
US7366760B2 (en) * 2003-01-03 2008-04-29 Microsoft Corporation System and method for improved client server communications of email messages
KR100976475B1 (ko) * 2003-08-19 2010-08-18 엘지전자 주식회사 서비스 품질 (QoS) 측정보고 전송 방법 및 수신 방법
US8645973B2 (en) * 2006-09-22 2014-02-04 Oracle International Corporation Mobile applications
US7657769B2 (en) * 2007-01-08 2010-02-02 Marcy M Scott N-way synchronization of data
US7779299B2 (en) * 2007-04-24 2010-08-17 Ianywhere Solutions, Inc. Efficiently re-starting and recovering synchronization operations between a client and server

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6665820B1 (en) * 1999-12-22 2003-12-16 Ge Medical Technology Services, Inc. Method and system for communications connectivity failure diagnosis
US20030196136A1 (en) * 2002-04-15 2003-10-16 Haynes Leon E. Remote administration in a distributed system
US20040117453A1 (en) * 2002-12-17 2004-06-17 International Business Machines Corporation Client/server request handling
CN1943181A (zh) * 2004-03-03 2007-04-04 诺基亚公司 用于传送数据的方法、设备和系统
CN1694073A (zh) * 2004-05-05 2005-11-09 微软公司 用于在电子设备中同步数据的系统和方法
CN1770738A (zh) * 2004-10-28 2006-05-10 阿尔卡特公司 具备自动建立机制的堆叠管理器协议
US20060238652A1 (en) * 2005-04-22 2006-10-26 Microsoft Corporation Sync manager UI and updated API
US20080168105A1 (en) * 2007-01-05 2008-07-10 Microsoft Corporation SYNC Configuration And Discovery Support
US7548923B2 (en) * 2007-01-05 2009-06-16 Microsoft Corporation Sync configuration and discovery support
US20100083032A1 (en) * 2008-09-30 2010-04-01 Alcorn Byron A Connection broker assignment status reporting

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105229611A (zh) * 2013-04-29 2016-01-06 微软技术许可有限责任公司 同步中断的防止
JP2019204524A (ja) * 2014-12-29 2019-11-28 フェイスブック,インク. アプリケーションサービス・アバターを用いたアプリケーションサービス配信

Also Published As

Publication number Publication date
BR112014006942A8 (pt) 2018-02-06
AU2012315577A1 (en) 2014-04-17
EP2761461A1 (en) 2014-08-06
CA2849819A1 (en) 2013-04-04
RU2604434C2 (ru) 2016-12-10
MX348329B (es) 2017-06-07
MX2014003849A (es) 2014-04-30
JP2014529150A (ja) 2014-10-30
EP2761461B1 (en) 2017-01-04
WO2013049781A1 (en) 2013-04-04
BR112014006942A2 (pt) 2017-04-04
US20130086437A1 (en) 2013-04-04
CN102946407B (zh) 2015-09-16
IN2014CN02205A (zh) 2015-06-12
RU2014112037A (ru) 2015-10-10
KR20140070574A (ko) 2014-06-10
HK1180854A1 (zh) 2013-10-25
EP2761461A4 (en) 2015-04-01

Similar Documents

Publication Publication Date Title
US11126513B2 (en) Disaster recovery service
JP6220338B2 (ja) フォールトトレラント外部アプリケーションサーバ
US10261872B2 (en) Multilevel disaster recovery
CN102750312B (zh) 跨承租人移动的承租人数据的恢复
CN102609496B (zh) 批量项目导出/导入的web服务支持
KR101919180B1 (ko) 웹 기반 이메일 시스템에서의 대화 구조의 동기화 기법
US7783712B2 (en) System and method for bi-directional synchronized conversion of electronic mail data
CN102946407B (zh) 在重新连接时传递非预期协作服务器响应
US7996478B2 (en) Methods, systems, and computer program products for operating an electronic mail or messaging system in which information associated with an attachment is sent to a destination for evaluation before sending the attachment
CN101129057A (zh) 用于手持设备上的数据管理的方法和设备
CN102349062A (zh) 用于跨设备和web服务使浏览器缓存同步的编程模型
JP5631886B2 (ja) 常にレディ状態のクライアント/サーバ同期
KR20120008028A (ko) 데이터의 백업 또는 복원과 관련한 사용자 컨텍스트의 이용
JP2007299284A (ja) ログ収集システム、クライアント装置、及びログ収集エージェント装置
US20130339082A1 (en) Contextual information retrieval for groupware integration
US10936237B2 (en) Efficient data storage management system
CN103562876A (zh) 在临时断线期间将请求重定向至次要位置
CN104662573A (zh) 通信和crm应用的双向同步
US8713059B2 (en) Management of computer-file sharing between at least two devices
CN110990348B (zh) 消息通知方法、装置及系统
US11829708B1 (en) Communicating context for messages between users in copy management systems
JP5106648B2 (ja) 複数のインターネットサービスを多重化するサービス中継装置及びサービス中継方法
CN115269725A (zh) 一种基于消息中间件集群的数据同步方法及系统
Solutions BUSINESS CONTINUITY AND DISASTER RECOVERY REFERENCE GUIDE

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1180854

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150728

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150728

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1180854

Country of ref document: HK

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150916

Termination date: 20190928

CF01 Termination of patent right due to non-payment of annual fee