服务引导期间的错误处理的制作方法

文档序号:26004011发布日期:2021-07-23 21:21阅读:90来源:国知局
服务引导期间的错误处理的制作方法

本申请是申请日为2016年11月21日、申请号为201680071011.6、发明名称为“服务引导期间的错误处理”的中国专利申请的分案申请。



背景技术:

近来,越来越多的组织正在从使用他们自己的计算基础设施切换到使用由服务提供商(例如,第三方服务提供商)操作和管理的网络计算基础设施。例如,公司通常使用代理(例如信息技术(it)管理员)来设置和管理公司自己的内部部署服务器,该服务器托管为公司的员工提供的电子邮件服务或其他服务。然而,最近,让服务提供商使用网络计算基础架构托管服务可能会更具成本效益。

引导指的是帮助客户组织(例如,也可以被称为客户或租户)在由服务提供商操作和管理的网络计算基础设施上建立服务的过程和/或机制。在许多情况下,在网络计算基础设施上建立服务包括将服务的至少一部分从客户组织自身的计算基础设施移动到网络计算基础设施。引导的目标是有效和高效地配置网络计算基础架构上的服务,以便客户组织充分参与,且客户组织内的各个设备能够在服务引导后与服务交互(例如员工设备可以访问由云服务器托管的电子邮箱,而不是内部部署服务器或作为内部部署服务器的替代品)。

引导典型地需要例如由客户组织的代理(例如it管理员)必须实施的大量任务。例如,在引导过程开始时,通常会向客户组织提供长且详尽的不同任务列表(例如,超过两百个任务),其中的各个任务甚至可能对于根据客户组织的期望将特定服务引导于网络计算基础设施不是必需的和/或相关的。不同任务的列表通常是预先订购的,并且对于所有客户组织而言都是相同的,不管客户组织的规模如何,也不管与引导服务相关的客户期望如何。

因此,许多客户组织在通过引导过程进行导航以便不仅识别待完成的相关任务,而且还确定用于完成相关任务的最佳且高效的顺序时遇到困难。相反,在引导过程开始时通常提供给客户组织的不同任务的列表提供有限的指导或没有指导,并且在引导过程期间没有有效更新任务要完成的顺序。这导致客户脱离引导过程。



技术实现要素:

这里描述的是用于将来自客户管理的计算基础架构的服务的至少一部分引导到网络计算基础架构的技术和系统。作为引导的一部分,访问存储引导信息的数据库并识别一组任务。基于引导信息生成状态图,其中状态图对该组任务中各个任务之间的依赖关系进行建模。在一些情况下,状态图可以包括被配置为检测当前状态和状态转换触发器以移动到下一个状态(例如,下一个最佳状态)的有限状态机。所述技术和系统被配置成在状态图内计算任务执行路径,所述任务执行路径与用于将客户组织从与客户管理的计算基础设施相关联的当前环境移动到与网络计算基础设施相关联的目标环境的最高成功概率相关联。任务执行路径可用于识别和提供客户组织实施的任务子集。在各种示例中,任务执行路径可以基于客户反馈(例如,指示尝试实施单独任务,但该单独任务的完成不成功)而被重新计算。在各种示例中,可以基于在完成单独任务的预期时间量内没有完成单独任务的确定来重新计算任务执行路径。

另外,本文描述的技术和系统监测引导参与会话并存储与监测的引导参与会话的任务完成相关联的引导信息。使用引导信息,可以确定来自引导参与会话中的至少一些的任务共有的错误,并且可以识别解决方案,以便可以响应于当前引导会话中的运行时错误推荐这些解决方案。

提供该发明内容以便以简化的形式来引入下面的具体实现方式中进一步描述的概念的选择。该发明内容不旨在确定所要求保护的主题的关键特征或主要特征,也不旨在用于限定所要求保护的主题的范围。

附图说明

参考附图对具体实施方式进行说明。在这些图中,附图标记的最左边的数字表示附图标记首次出现的图。不同图中的相同附图标记表示相似或相同的项目。

图1示出服务提供商和/或客户组织实现引导参与会话以将服务引导于网络计算基础设施的示例环境。

图2是示出示例性引导设备的组件的示意图,该引导设备可以是协助将服务引导于网络计算基础设施的服务提供商的一部分。

图3图示了示例数据库,其中可以存储和访问从多个监测的引导参与会话收集的引导信息以帮助将服务引导到网络计算基础设施。

图4图示了生成状态图的示例过程的流程图,该状态图对服务提供商为了客户组织引导服务所识别的一组任务中的各个任务之间的依赖关系进行建模。

图5示出了计算与用于将服务引导到网络计算基础设施的最高成功概率相关联的任务执行路径并且基于客户反馈更新部署计划的示例过程的流程图。

图6示出了客户组织和/或服务提供商可以用来查看要完成的任务的列表和/或单独任务的状态的示例图形用户界面。

图7图示了涉及引导参与会话的客户组织和/或服务提供商的单独用户可以使用来提供关于单独任务的反馈的示例图形用户界面。

图8示出了基于指示单独任务尚未成功完成的客户反馈来重新计算任务执行路径的示例过程的流程图。

图9示出了确定多个引导参与会话共有的错误并识别针对错误的解决方案的示例过程的流程图。

图10示出了响应于确定当前引导参与会话中的运行时错误的发生而提供解决方案的示例过程的流程图。

图11图示了计算与用于将服务引导到网络计算基础设施的最高成功概率相关联的任务执行路径并且基于单独任务的状态的自动和连续监测来更新部署计划的示例过程的流程图。

图12图示了响应于确定当前引导参与会话中的运行时错误的发生而自动识别和实现解决方案的示例过程的流程图。

具体实施方式

本文描述的技术和系统通过识别在实施时将客户组织从使用客户控制的资源的当前环境移动到使用网络资源的目标环境的引导任务来为客户组织提供辅助引导。可以使用从以前的引导过程中收集的引导信息来识别引导任务和引导任务的执行顺序。因此,这里描述的技术和系统被配置为监测大量的引导过程并存储与所监测的引导过程相关的引导信息。因此,可以使用指示哪些动作已经成功和/或未成功完成任务的历史知识来改进未来的引导过程并确保客户继续参与引导过程。例如,本文描述的技术和系统能够确定:客户组织曾完成时有困难的单独任务,客户组织曾轻松完成的单独任务,导致延迟和/或错误的单独任务,为避免延迟和/或解决错误而实施的解决方案,确保客户参与引导过程(例如,减少脱离的可能性)的各个任务的最佳执行顺序等。在各种实现方式中,技术和系统使用历史知识来实现监督学习并且基于所选择的下一任务的完成有效地将客户组织移动到完全参与(例如对引导过程的完整解决方案)的学习概率来引领自主引导过程。

因此,本文描述的技术和系统能够提供为单独客户组织定制并且提供根据客户组织的期望从当前环境有效和高效地引领客户组织到目标环境的引导帮助的引导方法。例如,可以基于所确定的状态转换和/或错误状态来动态更新(例如可以改变)要完成的任务的执行顺序。为此,这些技术和系统基于引导信息生成状态图(例如,有限状态机),其中状态图包括非线性模型,该非线性模型提供可以遵循的各种路径以将客户组织从当前环境移到目标环境(例如,路径包括状态图中的单独节点代表任务的节点的执行顺序)。状态图包括与用于将服务引导于网络计算基础结构的最高成功概率相关联的任务执行路径。因此,状态图用于在整个引导过程中不断更新由特定客户组织实施任务的顺序。也就是说,这里描述的技术和系统能够基于任务是否成功完成而重新计算状态图内与最高成功概率相关联的任务执行路径。

在至少一个示例中,任务由特定客户组织实施的顺序基于由特定客户组织显式提供的客户反馈,客户反馈指示当前任务是否已成功完成。在至少一个可替代示例中,特定客户组织要实施任务的顺序基于单独任务的状态的自动和持续监测(例如,由服务提供商进行)。例如,试图由特定客户组织完成的当前任务可以与基于显式客户反馈或自动/检测反馈确定的错误状态相关联。错误状态可用于更改一组任务的执行顺序。因此,可以确定,客户组织在完成特定任务时遇到困难,或者客户组织未能完成特定任务。

因此,与在引导过程开始时提供长列表的预先排序的任务并且此后向客户组织提供很少帮助或没有提供任何帮助的常规方法形成对比,本文描述的技术和系统被配置为使用引导信息以在整个引导过程中识别和/或推荐任务。这增加了客户组织保持参与直到引导过程完成(例如,客户组织能够使用由网络计算基础架构托管的服务)的可能性。

图1示出了示例环境100,其中服务提供商102为了客户组织104引导服务106。如上所述,引导指的是使客户组织104能够在被服务提供商102操作和管理的网络计算基础设施108上建立服务106的过程和/或机制。在许多情况下,在网络计算基础设施108上建立服务106包括将服务106的至少一部分从客户管理的计算基础设施110移动到网络计算基础设施108。客户管理的计算基础设施110包括客户控制的资源112(例如,处理资源、存储资源、安全资源、网络资源等)。例如,客户控制的资源112可以包括托管用于客户组织104的电子邮件服务的内部部署服务器或其他设备(例如,其中内部部署服务器位于公司运行所在的物理结构中)。在替代示例中,客户控制的资源112中的至少一些还可以包括非内部部署的,而是外部部署的、但仍处于客户组织104的控制和管理之下的资源。

网络计算基础设施108包括网络资源114。例如,网络资源114可以包括包括数据中心、服务器群或其他云配置资源的服务器或其他设备。在各种实现方式中,网络资源114是缩放的资源,使得它们可以跨多个不同的客户组织(例如,包括客户组织104)共享。在各种情况下,客户组织可以支付与服务提供商102签约以经由网络资源114托管服务106的至少一部分的费用(例如,每月或每年的订购费)。

在网络计算基础设施108上建立服务106的至少一部分可以在引导参与会话116内实现。如上所述,在许多情况下,引导参与会话116的目标是将服务106的至少一部分从客户管理的计算基础设施110有效且高效地移动到网络计算基础设施108,使得客户组织104可以完全参与网络计算基础设施108上的服务106。

作为引导参与会话116的一部分,服务提供商102生成一组任务118,其帮助在网络计算基础设施108上建立服务106。在一些示例中,在网络计算基础设施108上建立服务106包括将服务106的至少一部分从使用客户控制资源112的当前环境120移动到至少部分地使用网络资源114的目标环境122。在各种实现方式中,客户组织104(例如代表或代理人,例如由客户组织104签约或雇用的it管理员)负责完成任务或至少部分任务。在各种实现方式中,服务提供商102(例如,由服务提供商102签约或雇用的待命工程师(oce))负责完成任务或至少部分任务。在各种实现方式中,客户组织104和服务提供商102一起工作以完成任务(例如,共享责任)。

当前环境120表示当前如何使用客户控制资源112建立和配置服务106。例如,当前环境120可以定义服务的特征(例如,服务的多个组织用户,组织用户的标识,客户组织104的组织用户使用的设备的数量,个人邮箱的存储容量等),服务的能力(例如,启用对电子邮箱的移动访问)和/或为该服务启用的功能(例如,启用安全特征、用户偏好和/或特权等)。因此,当前环境120可以表示客户管理的计算基础设施110上的服务106的硬件和/或软件配置。

服务提供商102被配置为确定目标环境122,使得可以使用网络计算基础设施108的网络资源114来类似地定位当前环境120中的服务的特征、能力和/或功能。目标环境122可以基于由客户组织104提供的输入来确定,其中输入定义了客户组织104的期望。例如,输入和期望可以包括操作需求、用于启用或禁用特定特征的指令、用于移动服务的时间线(例如,在第一个月期间引导员工邮箱的10%,在第二个月期间引导员工邮箱的20%,在第三个月期间引导员工邮箱的30%,等等),等等。因此,根据客户组织104的期望以及待完成相关引导任务118的数量和难度,引导参与会话116可能需要几小时、几天、几周、几个月甚至几年才能完成。

在各种示例中,服务106可以包括电子邮箱服务(例如,电子邮件交换服务)、文档共享服务、文档存储服务、视频会议服务、社交网络服务(例如,针对企业),等等。在一些情况下,服务106可以包括电子邮箱服务、文档共享服务、文档存储服务、视频会议服务、社交网络服务等中的多个服务的组合。因此,通过引导参与会话116,服务106的至少一部分被配置和设置用于与客户组织104相关联的客户设备124(在下文中称为客户设备124)。

客户设备124可以是任何设备,包括但不限于个人计算机设备、膝上型计算机设备、台式计算机设备、便携式数字助理(pda)设备、移动电话设备、智能电话设备、平板电脑设备、电子书(ebook)阅读器设备、机顶盒设备、游戏控制台设备、智能电视设备、可穿戴设备(例如,智能手表、电子“智能”眼镜、健身追踪器等)或任何其他电子设备。在一些示例中,客户设备124可以是服务器或作为客户管理的计算基础设施110的一部分的其他网络可访问设备。

在一个示例中,实施引导以实现使用客户管理的计算基础设施110和网络计算基础设施108两者的“混合”服务(例如,其中单独用户具有内部部署存储的邮箱和存储在云中的链接邮箱的电子邮件混合服务)。这使得客户组织104能够将其对现有客户管理的计算基础设施110(例如,内部部署基础设施)所具有的体验和管理控制扩展到网络计算基础设施110。要实施以实现电子邮箱混合服务的示例性任务118可以是将可接受的域添加到客户管理的计算基础设施110以允许邮件流。要实施以实现电子邮箱混合服务的另一示例任务118可以是更新客户管理的计算基础设施110中的活动目录(activedirectory)对象,使得其包含可用于配置内部部署邮箱设置和链接网络邮箱设置的混合部署配置参数(例如,内部部署邮箱与链接网络邮箱之间的安全邮件路由,具有共享域名称空间的邮件路由,内部部署邮箱与链接网络邮箱之间共享的统一全局地址列表(gal),内部部署邮箱和链接网络邮箱之间的日历共享,等等)。

引导参与会话116可以在网络126上实现。此外,客户组织104和/或客户设备124被配置为通过网络126使用服务106(例如,访问电子邮箱,在协作环境中共享文档,参与视频会议等)。为此,网络126可以包括广域网(wan)、局域网(lan)、个域网(pan)、特定于数据中心的网络(例如,内联网、存储区域网络(san))等。网络还可以包括将各种设备(例如,图1中所示的服务器和/或存储设备)连接到路由器和/或可以充当数据网络之间的桥的其他设备的交换机。设备之间的通信可以利用本领域中已知的用于发送和接收信息和/或消息的任何种类的通信协议,诸如传输控制协议/互联网协议(tcp/ip)和/或用户数据报协议(udp)。

如上所述,可以使用基于先前收集的引导信息生成的状态图(例如,有限状态机)来识别任务118。作为部署计划的一部分,服务提供商102可以向客户组织104提供或推荐任务118。因此,可以使用状态图来在整个引导参与会话116中更新要实施任务118的顺序。作为示例,域验证任务可以是提供雇员可以用来将移动设备(例如客户设备124)连接到引导的服务(例如服务106)的组织标识符(orgid)的任务的先驱。

在各种实现方式中,用于生成状态图的引导信息可以特定于客户组织的特定分段,其中不同分段可以基于不同大小的客户组织(例如,用户数、设备数等)。例如,为只有三名员工的小型企业提供的高效和有效的引导协助可能与为拥有数百或数千名雇员的大型企业及其自己的信息技术(it)部门提供的高效和有效的引导协助相比有所不同。

图2是示出示例性引导设备200的组件的示意图,示例引导设备200可以是将服务106引导到网络计算基础结构108的服务提供商102的一部分。

引导设备200可以包括一个或多个处理器202和存储器204以及网络接口206,使得引导设备200可以与客户组织104(例如,客户设备124)进行通信。处理器202可以是单独处理单元或多个单元,每个单元可以包括多个不同的处理单元。处理器202可以包括微处理器、微型计算机、微控制器、数字信号处理器、中央处理单元(cpu)、图形处理单元(gpu)等。可替换地或附加地,这里描述的技术中的一些或全部可以至少部分地由一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的示例性类型的硬件逻辑组件包括现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、状态机、复杂可编程逻辑器件(cpld)、其他逻辑电路、片上系统(soc)和/或基于指令执行操作的任何其他设备。除其他能力之外,处理器202可以被配置为获取并执行存储在存储器204中的计算机可读指令。

存储器204可以包括计算机可读介质中的一个或其组合。如这里所使用的,“计算机可读介质”包括计算机存储介质和通信介质。

计算机存储介质包括以用于存储信息(例如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于相变存储器(pcm)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程rom(eeprom)、闪存或其它存储器技术、光盘rom(cd-rom)、数字多功能盘(dvd)或其他光存储设备、磁盒、磁带、磁盘存储器或其他磁盘存储设备或可用于存储供计算设备访问的信息的任何其他介质。

相反,通信介质包括调制数据信号(例如载波)中的计算机可读指令、数据结构、程序模块或其它数据。如本文所定义的,计算机存储介质不包括通信介质。

存储器204还可以包括操作系统,该操作系统被配置为管理在引导设备200内并耦合到引导设备200以利于其他组件和其他设备的硬件和服务。作为示例,存储器204可以包括观察模块208、客户交互模块210、部署计划模块212、错误模块214和解决方案模块216,其中的每一个在本文中进一步描述。为了便于讨论,部署计划模块212可以进一步包括任务识别模块218和任务状态模块220,其中的每一个可以被配置为使用状态图222来执行功能。如本文所使用的,术语“模块”旨在表示用于讨论目的的可执行指令的示例划分,并且不旨在表示任何类型的需求或所需的方法、方式或组织。因此,尽管描述了各种“模块”,但是它们的功能和/或类似功能可以不同地布置(例如,组合成更少数量的模块,分成更多数量的模块,等等)。此外,虽然某些功能和模块在本文中被描述为由能够在处理器上执行的软件和/或固件来实现,但是在其它实施例中,可以全部或部分地通过硬件来实现任何或全部模块(例如,专用处理单元等)执行所描述的功能。在各种实现方式中,本文描述的与引导设备200相关联的模块可以在多个设备上执行。

在各种实现方式中,存储器204还可以包括引导信息224。图3示出了示例数据库300,其中可以存储从多个监测的引导参与会话收集的引导信息224。

在各种示例中,观察模块208被配置为在引导参与会话116开始时观察和/或接收托管服务106的客户管理的计算基础设施110的当前环境120。如以上所描述的,当前环境120表示当前如何使用客户控制的资源112建立和配置服务106。例如,当前环境120可以定义服务106的特征(例如,服务的组织用户数、组织用户的标识、客户组织104的用户使用的设备的数量、个人邮箱的存储容量等)、服务106的能力(例如,启用对电子邮箱的移动访问),和/或针对服务106启用的功能(例如,与电子邮箱相关联的策略或用户特权,安全特征的实现,个人用户服务邮箱首选项等)。当前环境120还可以定义用于托管服务106的硬件的类型(例如,安全硬件、视频会议设备等)。观察模块208还被配置为监测和/或接收在引导参与会话内与完成任务相关联的信息。在一些情况下,与任务完成相关联的所监测的信息可以作为引导信息224存储,以便其可以被访问并用于将来的引导参与会话,如本文关于图3进一步描述的。例如,所存储的引导信息224可以用于实施监督式学习并且基于学习出的所选择的下一任务的完成有效地将客户组织移动到完全参与的概率来引领自主引导过程(例如,针对引导过程的完整的解决方案)。

在各种示例中,客户交互模块210被配置为接收定义了服务106的目标环境122可以从中确定的期望的客户输入。例如,可以在引导参与会话116开始时或在引导参与会话116期间接收客户输入,并且客户输入可以包括服务106的操作要求,用于启用或禁用服务106的特定特征的指令,用于将服务106从客户管理的计算基础设施110移动到网络计算基础设施108的时间线,等等。客户交互模块210还可以接收与任务完成状态相关联的客户输入(例如,完成时间、难以完成的指示,等等)。

在各种示例中,部署计划模块212被配置为生成部署计划以将服务106引导到网络计算基础设施108。如上所述,部署计划包括一组任务118,并且部署计划模块212被配置为生成状态图222,然后使用状态图222来创建部署计划。部署计划模块212还被配置为在整个引导参与会话116中不断更新部署计划(例如,基于显式客户反馈,基于自动和持续监测反馈,基于监督学习等)。

部署计划模块212使用引导信息224生成状态图222。引导信息224包括从先前的引导参与会话监测的信息和/或从先前的引导参与会话导出或计算的信息导出或计算的信息。例如,图3示出了存储引导信息224的示例数据库300,其中引导信息224可以根据要引导的服务302的类型和/或特定的分段304来组织。分段304基于客户组织104的大小(例如,要被引导的服务支持的用户数,要被引导的服务支持的设备数量等)。有多种不同的方式来区分一个分段和下一个分段,但是一个示例是基于范围来定义分段(例如,一到十名员工或设备包括第一分段,十一到五十名员工或设备包括第二分段,五十到五百名员工或设备包括第三分段,等等)。因此,对于服务302和分段304的每个组合,引导信息224包括先前监测的引导参与会话的会话标识符(id)306(1)...306(n),并且每个会话id306(1)...306(n)与被监测的会话信息308(1)...308(n)相关联。在各种示例中,对于在监测的引导参与会话中完成的每个任务,监测的会话信息308(1)...308(n)包括完成任务的时间量以及与完成难度相关的指示(例如,诸如“难”,“正常”,“容易”情绪)。例如,被监测的会话信息308(1)可以指示与域名系统(dns)更新相关联的任务花费了三天的时间来完成,并且dns更新的完成对于特定客户组织104而言是“难的”,而不是“容易的”。因此,所监测的会话信息308(1)...308(n)可以揭示导致在引导参与会话内延长的延迟和/或导致客户组织放弃或脱离引导参与会话的任务。

使用在多个会话id306(1)...306(n)上收集的监测的会话信息308(1)...308(n),部署计划模块212可以计算或导出特定分段的聚合信息310。例如,聚合信息可以包括完成任务的预期时间量312(例如,基于在每个会话id306(1)...306(n)内监测的实际完成时间的完成任务的计算平均时间)以及完成任务的总体难度314(例如,诸如“容易”,“中等”,“难”等情绪)。完成任务的总体难度314也可以是从针对单独的会话id306(1)...306(n)存储的所监测的会话信息308(1)...308(n)中导出的平均。因此,在各种示例中,客户组织有能力提供关于哪些任务为困难的输入。此外,服务提供商还能够持续监测引导参与会话并确定哪些任务是困难的(例如,基于确定任务的完成花费比完成的预期时间量312更长的时间)。

因此,由部署计划模块212用于生成状态图222的引导信息224可以特定于客户组织的特定分段。为此,部署计划模块212可以使用引导信息224来识别要由状态图222建模的与客户组织和客户组织的预期相关的全部任务集合(例如,任务118)。换言之,通过使用引导信息224,部署计划模块212可以减少典型的长且详尽的任务列表(例如,数百个任务),并避免包括与特定分段无关的任务。

基于引导信息224在状态图222内定义任务之间的相关性,使得状态图222包括引导参与会话116可以遵循的多个路径(例如,状态图222是非线性图)。返回参考图2,任务识别模块218被配置为使用状态图222识别要在引导参与会话116内完成的第一任务子集。

与提供预先排序的任务的长且详尽的列表的传统的引导方法相比,由任务识别模块218执行的第一任务子集的识别不包括引导服务106所需的所有任务118。相反,第一任务子集包括沿着状态图222中的提供将客户组织104从当前环境120移动到目标环境122的最高成功概率的任务执行路径包括的任务的初始小集合(例如,一个任务、两个任务、三个任务、四个任务、五个任务等等)。因此,对于代表状态图222中的任务的每个节点,部署计划模块212对引导信息224执行统计推断(例如,使用诸如贝叶斯定理的理论)基于条件和/或依赖性(例如,成功完成其他任务或其他“事件”)来计算成功完成任务(例如,“事件”)的概率。任务识别模块218然后评估各个概率(例如,单独地并且作为构建于彼此之上的概率的组合)以确定状态图222中提供最高成功概率的任务执行路径。任务识别模块218然后可以识别(例如,选择)沿着所计算的任务执行路径的第一任务子集(例如但不是全部任务)。任务识别模块212最终向客户组织104提供作为部署计划的一部分的第一有序任务子集。在各种示例中,任务执行路径可以包括部分欧拉路径。

在提供第一有序任务子集之后,接收与单独任务的完成状态相关联的输入。输入可以指示单独任务已经成功完成或者未成功完成(例如,客户组织104失败并且无法完成任务,由于困难而导致任务的完成延迟,在预期时间量内任务尚未完成,等等)。在各种示例中,输入可以是显式指示状态的客户提供的反馈,经由客户交互模块210接收的客户提供的反馈。在替代示例中,输入可以是基于由观察模块208执行的自动和连续监测的隐含的输入。例如,观察模块208可以接收信息并确定客户组织104在完成任务的预期时间量312内未成功完成任务。

基于输入,任务状态模块220可更新状态图222中的节点,使得任务(例如,试图实施的第一任务子集)被标记为“成功完成”或“未成功完成”。任务识别模块218然后在第一任务子集完成或未完成之后识别(例如,选择)沿任务执行路径的第二任务子集。任务识别模块212向客户组织提供作为更新的部署计划的一部分的第二任务子集。

在各种示例中,如果第一任务子集中的所有任务已经成功完成,则任务执行路径不会改变。相应地,第二任务子集是从选择第一任务子集的相同任务执行路径中选择的。然而,在任务状态模块220更新状态图222以反映第一任务子集中的任务尚未成功完成的替代示例中,部署计划模块212可重新计算状态图222内的概率和任务执行路径。因此,基于输入重新计算的任务执行路径可以改变(例如,在选择第一任务子集之前确定的初始路径可以不同于在输入指示第一任务子集中的任务未成功完成之后确定的后续路径)。

因此,部署计划模块212被配置为使用来自类似位置的客户组织的存储的引导信息224来生成用于当前引导参与会话116的状态图222。部署计划模块212可以基于指示任务成功或不成功完成和/或任务之间的转换的输入来继续推荐要完成的少量的任务(例如,一个任务、两个任务、三个任务、四个任务、五个任务等)。该基于对成功可能性最高的任务执行路径进行持续重新评估的更细化和精细的引导帮助可以产生与引导过程相关联的较高客户满意度。换言之,部署计划模块212使用针对特定分段的先前获悉的历史知识来理解(i)客户组织104处于引导参与会话116内的何处(例如,哪些任务已成功完成以及尝试了哪些任务但未成功完成),以及(ii)哪一个下一个任务是客户组织104应尝试在引导参与会话中实施以减少客户脱离的可能性的最佳任务。在各种实现方式中,部署计划模块212使用保存的引导信息224来实施监督式学习,并且基于所选择的下一任务的完成有效地将客户组织移动到完全参与的学习概率来引领自主引导过程。

如上所述,观察模块208被配置为监测,接收并存储与多个引导参与会话相关联的信息。在各种示例中,错误模块214被配置为评估所存储的信息(例如,引导信息224)并且确定在多个引导参与会话中的至少一些中的任务共有的错误。错误可能会阻止或延迟任务的完成。

解决方案模块216可以被配置为还评估所存储的信息并识别被实施来解决错误的一个或多个解决方案(例如,为解决错误而采取的先前行动)。在各种示例中,可以将错误和解决方案各自添加到用于增量学习(例如机器学习)的监督数据集。错误模块214和解决方案模块216可以将与共有错误和针对共有错误的解决方案相关联的信息存储在引导信息224的数据库中(例如,根据特定分段)。因此,在当前引导参与会话116中检测到运行时错误时,错误模块214可以确定运行时错误是否是共有错误和/或解决方案模块216是否能够向客户组织提供针对运行时错误的解决方案。作为示例,错误模块214可以响应于确定当前任务尚未在完成任务的预期时间量内成功完成来检测运行时错误。

在各种示例中,解决方案模块216可以推荐多种可能的解决方案中的一种解决方案。此外,解决方案模块216可以计算和/或提供与推荐解决方案相关联的置信度评级。例如,错误模块214可以检测客户组织遇到错误并且不能完成dns更新任务。使用引导信息224,解决方案模块216先前确定可以通过访问第三方域名注册商并输入密码来解决该错误的几率为85%。因此,解决方案模块216可以提供访问第三方域名注册商并输入密码以便dns更新任务可以成功完成的指令作为推荐的解决方案。当然,其他置信度评级可以与替代解决方案相关联(例如,第二解决方案的5%置信度评级,第三解决方案的3%置信度评级等)。在某些情况下,当只有一种可能的解决方案时,置信度可能为100%或接近100%。

图4以及图5和图8-12分别示出了采用本文描述的技术的示例过程。为了便于说明,示例过程被描述为在图1的环境100中执行。此外,示例过程可以通过引导设备200来实现。然而,示例过程也可以在其他环境中并且也可以由其他设备来执行。

示例过程被示为逻辑流程图,其每个操作表示可以用硬件、软件或其组合来实现的操作序列。在软件的上下文中,操作表示存储在一个或多个计算机可读存储介质上的计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时配置设备以执行所述操作。通常,计算机可执行指令包括执行特定功能的例程、程序、对象、组件、数据结构等。描述操作的顺序不意图被解释为限制,并且任何数量的所描述的操作可以以任何顺序和/或并行地组合以实现该过程。此外,可以省略任何单独的操作。

图4示出了生成状态图的示例过程400的流程图,该状态图对服务提供商为了客户组织引导服务所识别的一组任务中的各个任务之间的依赖性进行建模。

在402处,观察客户管理的计算基础设施110的当前环境120和/或接收与观察相关联的信息。如上所述,当前环境120表示当前如何使用客户控制的资源112建立和配置服务106。当前环境120可以定义服务106的特征(例如,服务的组织用户数、组织用户的标识、客户组织104的组织用户使用的设备的数量、个人邮箱的存储容量等)、服务106的能力(例如,启用对电子邮箱的移动访问),和/或为服务106启用的功能(例如,启用安全特征、用户偏好和/或特权等)。观察模块208可以观察和/或接收当前环境120。

在404处,接收(例如,来自客户组织104的)定义对目标环境122的期望的客户输入。例如,客户输入和期望可以包括操作需求、启用或禁用特定功能的指令、移动服务的时间线等等。

在406处,访问引导信息224以识别要从当前环境120移动到目标环境122的一组任务118。在各种示例中,所识别的任务118是从大量任务组中基于它们与以下各项的相关性来选择的:(i)正在引导的服务106的类型,以及(ii)与客户组织104相关联的特定分段(例如,客户组织104可以是具有五名雇员的小公司或具有五百名雇员的大公司)。如结合操作406所图示的,示例任务可以包括创建用户,验证域,更改域名控制器(dnc),连接客户设备,迁移数据等。

在408处,生成对该任务集合118中的各个任务之间的依赖关系进行建模的状态图222(例如,有限状态机)。状态图222包括非线性模型,其提供可以遵循以将客户组织104从当前环境120移动到目标环境122的各种路径(例如,路径包括节点的执行顺序,其中状态图的单独节点表示任务)。

图5示出了示例过程500的流程图,该示例过程500计算与用于将服务引导到网络计算基础设施108的最高成功概率相关联的任务执行路径并且基于客户反馈更新部署计划。

在502处,计算与从当前环境120移动到目标环境122的最高成功概率相关联的任务执行路径。例如,部署计划模块212可以基于其他任务是否已经成功完成来对引导信息224执行统计推断,以计算成功完成任务的概率。任务识别模块218评估各个概率(例如,单独地并且作为构建于彼此之上的概率的组合)以确定状态图222中提供最高成功概率的任务执行路径。

在504处,识别沿任务执行路径的第一任务子集。在各种示例中,第一子集中的任务数量与阈值数量(例如,一个任务、两个任务、三个任务、四个任务等)相关联。根据特定的服务和特定的分段,可以将阈值数量预先设置为少量的任务(例如,而不是数百个任务的长而详尽的列表)以减少或消除客户组织104变得不堪重负并脱离引导参与会话116的可能性。

在506处,将第一任务子集作为部署计划的一部分提供给客户组织104。

在508处,接收到客户反馈,客户反馈指示单独的任务的状态(例如,成功完成、未完成或未成功完成、延迟等)。图7示出了可以用于提供客户反馈的示例用户界面。

在510处,识别沿着任务执行路径的第二任务子集。与第一任务子集类似,第一子集中的任务数量可以与阈值数量相关联。

在512处,将第二任务子集作为更新的部署计划的一部分提供给客户组织104。

图6示出了客户组织104和/或服务提供商102可以用来查看待完成的任务的列表和/或单独任务的状态的示例图形用户界面600。示例图形用户界面600的第一部分602列出作为部署计划或更新的部署计划的一部分的任务(例如,第一子集或第二子集)。示例图形用户界面600的第二部分604指示在第一部分602中列出的任务的状态(例如,“完成”、“停止”、“未开始”等)。在各种实现方式中,观察模块208可以确定“停止的”任务与任务的未成功完成相关联(例如,客户遇到错误,客户难以完成任务,客户花费的时间长于完成任务的预期时间,等等)。示例性图形用户界面600的第三部分606指示完成单独任务所花费的时间量。如上所述,可以针对特定的分段存储和聚合该信息,并且用于确定完成特定任务的预期时间量312。最后,示例图形用户界面600的第四部分608指示完成任务的难度(例如,“简单”、“难”等)。在各种示例中,该难度指示包括客户情绪,并且可以在计算状态图222中的每个节点的概率时用作因素。

图7示出了示例图形用户界面700,引导参与会话涉及的客户组织104和/或服务提供商102的单独用户可以使用该图形用户界面700来提供关于单独任务的反馈。例如,在输入窗口702处,单独用户可以输入任务的状态(例如,“成功完成”、“未成功完成”、“正在进行中”等)。在输入窗口704处,单独用户可以输入完成单独任务所花费的时间量。在输入窗口706处,单独用户可以输入与任务的完成或未完成相关联的难度指示。该信息可以与正在引导的服务和特定的分段相关联地存储在数据库300中。

图8图示了示例过程800的流程图,该示例过程800基于指示单独任务尚未成功完成的客户反馈来重新计算任务执行路径。示例过程800可以与图5中的操作508和510相关联地实现。

在802处,确定单独任务的状态指示其尚未成功完成。在各种示例中,状态基于客户反馈来确定,并且尚未完成的任务可以是图5的第一有序任务子集中的任务。如上所述,基于客户反馈,任务状态模块220可以更新状态图222中的节点,使得试图由客户组织实施的任务被标记为“成功完成”或“未成功完成”。

在804,重新计算与最高成功概率相关联的任务执行路径。例如,任务识别模块218可以重新计算在状态图222被更新以指示任务未被成功完成之后的状态图222内的概率和任务执行路径。因此,在选择第一任务子集之前计算的初始任务执行路径可能不同于在接收输入指示任务未成功完成之后重新计算的后续任务执行路径。

在806处,识别沿着重新计算的任务执行路径的一个或多个替代任务。在各种示例中,一个或多个替代任务是在图5的操作510中识别的第二任务子集。因此,在任务执行路径改变(例如,通过重新计算)的情况下,选择一个或多个替代任务而不是沿着在任务执行路径没有被重新计算的情况下会选择的任务执行路径的其他任务。

图5和/或图8的操作可以是迭代的,使得部署计划模块212可以基于输入指示先前任务的成功或未功能完成而持续推荐任务的子集(例如,诸如一个任务、两个任务、三个任务、四个任务、五个任务等的少量任务)。基于对最高成功概率的任务执行路径进行持续重新评估的这种更加细化和精细的辅助引导方法使得客户满意度和参与度更高。

图9示出了示例过程900的流程图,该示例过程900针对多个引导参与会话共有的错误并识别错误的解决方案。

在902处,监测多个引导参与会话和/或接收基于监测的信息。如上所述,观察模块208被配置为监测或接收与多个引导参与会话相关联的信息(例如,任务的完成、完成任务的时间、完成任务的难度等)。

在904处,存储与多个引导参与会话内的任务的完成相关联的信息。

在906处,确定来自多个引导参与会话中的至少一些的任务共有的错误。例如,错误会阻止或延迟任务的完成(基于对定时的评估)。因此,在各种示例中,错误模块214被配置为评估所存储的信息(例如,引导信息224),并确定多个客户组织在完成任务时不成功或延迟。错误模块214可以分析存储的信息以确定导致延迟或阻止客户组织完成任务的共有错误。

在908处,识别解决错误的解决方案。例如,解决方案模块216可以分析存储的信息并识别客户组织为解决错误而实施的一个或多个解决方案(例如,为解决错误而采取的先前行动)。

在910处,关联的一个或多个解决方案与共有错误相关联地存储。在各种示例中,错误和解决方案可以各自被添加到用于增量学习(例如,机器学习)的监督数据集并且用于概率确定最佳下一步(例如,用于随后的引导参与会话)。

在912处,针对每个解决方案,计算解决方案解决错误的概率。例如,第一解决方案可能已经被实施以解决第一数量的引导参与会话中的共有错误(例如,一百中的五十个或50%),而第二解决方案可能已经被实施以解决第二数量的引导参与会话中的共有错误(例如,一百中的三十或30%)。

在914,将概率与其相应的解决方案相关联地存储。

图10示出了响应于确定当前引导参与会话中的运行时错误的发生而提供解决方案的示例过程1000的流程图。

在1002处,确定客户在实施部署计划期间遇到运行时错误。作为示例,错误模块214可以响应于确定当前任务尚未在完成任务的预期时间量内成功完成而检测到运行时错误。

在1004处,将运行时错误映射到对应的对于先前的引导参与会话共有的错误。

在1006处,响应于确定客户遇到运行时错误,将解决方案及其相应的解决概率提供给客户组织。在各种示例中,解决方案模块216可以提供推荐的解决方案(例如,具有最高解决概率的解决方案)。而且,解决方案模块216可以将解决概率提供为置信度评级。

图11示出了示例过程1100的流程图,该示例过程1100计算与用于将服务引导到网络计算基础设施的最高成功概率相关联的任务执行路径,并且基于对单独任务状态的自动且连续地监测来更新部署计划。

在1102处,计算与从当前环境120移动到目标环境122的最高成功概率相关联的任务执行路径。例如,部署计划模块212可以对引导信息224执行统计推断,以基于其他任务是否已经成功完成来计算成功完成任务的概率。任务识别模块218评估各个概率(例如,单独地并且作为构建于彼此之上的概率的组合)以确定状态图222中提供最高成功概率的任务执行路径。

在1104处,识别沿任务执行路径的第一任务子集。

在1106处,将第一任务子集作为部署计划的一部分提供给客户组织104。

在1108,第一任务子集中的单独任务的状态被自动且连续地监测和/或与监测相关联的信息被接收。

在1110处,确定第一任务子集中的单独任务尚未在其预期的完成时间量内完成。与在图5的操作508中由客户提供的显式反馈相反,这里收到的输入是基于自动化和持续监测。

在1112,重新计算与最高成功概率相关联的任务执行路径。

在1114处,识别沿着重新计算的任务执行路径的第二任务子集。与第一个任务子集类似,第一个子集中的任务数量可以与阈值数量相关联。

在1116处,将第二任务子集作为更新的部署计划的一部分提供给客户组织104。因此,所存储的引导信息224可用于实施监督式学习,并基于所选择的下一任务的完成有效地将客户组织移动到完全参与的学习概率来引领自主引导过程。

图12示出了响应于确定当前引导参与会话中的运行时错误的发生而自动识别和实施解决方案的示例过程1200的流程图。

在1202处,确定客户在实施部署计划期间遇到运行时错误。作为示例,错误模块214可以响应于确定当前任务尚未在完成任务的预期时间量内成功完成而检测到运行时错误。

在1204处,将运行时错误映射到对应的对于先前的引导参与会话共有的错误。

在1206处,服务提供商1206基于其中一个解决方案采取动作来自动解决运行时错误。

当然,这里描述的环境和各个元素可以包括许多其他逻辑、程序和物理组件,其中附图中示出的那些组件仅仅是与本文的讨论相关的示例。

这里描述的各种技术在给定的示例中被假定为在计算机可执行指令或软件(例如程序模块)的一般上下文中实现,所述指令或软件存储在计算机可读存储装置中并且由一个或多个计算机或诸如附图中所示的其他设备的处理器(一个或多个)来执行。通常,程序模块包括例程、程序、对象、组件、数据结构等,并定义用于执行特定任务或实现特定抽象数据类型的操作逻辑。

其他体系结构可以用于实现所描述的功能,并且意图在本公开的范围内。此外,虽然为了讨论的目的在上面定义了具体的责任分配,但根据情况,各种功能和责任可能以不同方式分配和划分。

类似地,软件可以以各种方式存储和分发并且使用不同的手段,并且上述特定的软件存储和执行配置可以以许多不同的方式变化。因此,实现上述技术的软件可以分布在各种类型的计算机可读介质上,而不限于具体描述的存储器的形式。

示例条款

示例a,一个或多个设备包括:一个或多个处理器;以及具有存储在其上的计算机可执行指令的存储器,所述计算机可执行指令在由所述一个或多个处理器执行时使所述一个或多个设备:监测多个引导参与会话,其中单独的引导参与会话包括用于将服务的至少部分从客户管理的计算基础设施移动到网络计算基础设施的任务;在数据库中并且至少部分地基于所述监测,存储与所述多个引导参与会话的任务的完成相关联的引导信息;确定来自所述多个引导参与会话中的至少一些的任务共有的错误,其中所述错误阻止或延迟所述任务的完成;至少部分地基于引导信息识别单独地具有解决错误潜力的一个或多个解决方案;并将该一个或多个解决方案存储在该数据库中并与错误相关联。

示例b,示例a的一个或多个设备,其中计算机可执行指令还使得一个或多个设备:确定客户组织已遇到与引导参与会话的当前任务相关联的运行时错误,运行时错误延迟或阻止当前任务的完成;将所述运行时错误映射到存储在所述数据库中的、所述多个引导参与会话中的所述至少一些共有的错误;并且响应于确定客户组织已遇到运行时错误,向客户组织提供一个或多个解决方案和相应的一个或多个解决概率。

示例c,示例b的一个或多个设备,其中计算机可执行指令还使得一个或多个设备推荐一个或多个解决方案的推荐的解决方案。

示例d,示例b或示例c的一个或多个设备,其中计算机可执行指令还使得一个或多个设备:确定任务未在完成任务的预期时间量内成功完成;并且响应于确定任务未在完成任务的预期时间量内成功完成而确定客户组织已经遇到运行时错误。

示例e,示例a至d中任一示例的一个或多个设备,其中计算机可执行指令还使得一个或多个设备:针对一个或多个解决方案的单独的解决方案计算解决概率;在数据库中存储相应的解决概率;并将相应的解决概率提供为置信度评级。

示例f,示例a至e中的任何一个示例的一个或多个设备,其中该错误是特定于基于客户组织的大小的多个不同分段中的特定分段的,其中该引导信息针对多个不同分段的特定分段存储在数据库中。

示例g,示例a至f中任一示例的一个或多个设备,其中,所述一个或多个解决方案中的至少一个解决方案包括与第三方系统进行交互以使得能够完成任务的指令。

示例h,一种方法,包括:监测多个引导参与会话,其中单独的引导参与会话包括将服务的至少一部分从客户管理的计算基础设施移动到网络计算基础设施的任务;在数据库中并且至少部分地基于所述监测来存储与完成所述多个引导参与会话的任务相关联的引导信息;通过一个或多个处理器确定来自所述多个引导参与会话中的至少一些的任务共有的错误,其中所述错误阻止或延迟所述任务的完成;至少部分基于引导信息来识别单独地具有解决错误的潜力的一个或多个解决方案;以及将所述一个或多个解决方案存储在所述数据库中并与所述错误相关联。

示例i,示例h的方法还包括:确定客户组织已遇到与当前引导参与会话的当前任务相关联的运行时错误,所述运行时错误延迟或阻止所述当前任务的完成;将所述运行时间错误映射到所述数据库中存储的、对于所述多个引导参与会话中的至少一些共有的错误;以及响应于确定所述客户组织已经遇到运行时错误,向所述客户组织提供所述一个或多个解决方案。

示例j,示例i的方法还包括推荐一种或多种解决方案的推荐的解决方案。

示例k,示例i或示例j的方法还包括:确定在完成任务的预期时间量内任务没有成功完成;以及响应于确定在完成任务的预期时间量内任务没有成功完成而确定所述客户组织已经遇到运行时错误。

示例l,示例h至k中任一示例所述的方法,还包括:针对所述一个或多个解决方案中的单独的解决方案,计算解决概率;在所述数据库中存储相应的解决概率;以及将相应的解决概率提供为置信度评级。

示例m,示例h至l中任一示例的方法,其中所述错误特定于基于客户组织的大小的多个不同分段中的特定分段,其中所述引导信息针对多个不同分段中的特定分段被存储在所述数据库中。

示例n,示例h至m中任一示例的方法,其中,所述一个或多个解决方案中的至少一个解决方案包括与第三方系统进行交互以使得能够完成任务的指令。

示例o:存储计算机可执行指令的一个或多个计算机可读存储介质,所述计算机可执行指令在由处理器执行时使设备:监测多个引导参与会话,其中单独的引导参与会话包括将服务的至少一部分从客户管理的计算基础设施移动到网络计算基础设施的任务;在数据库中并且至少部分地基于所述监测来存储与所述多个引导参与会话的任务的完成相关联的引导信息;确定来自所述多个引导参与会话中的至少一些的任务共有的错误,其中错误阻止或延迟任务的完成;至少部分地基于所述引导信息识别单独地具有解决错误的潜力的一个或多个解决方案;以及将所述一个或多个解决方案存储在所述数据库中并与所述错误相关联。

示例p,示例o的一个或多个计算机可读存储介质,其中计算机可执行指令还使得设备:确定客户组织已遇到与当前引导参与会话的当前任务相关联的运行时错误,所述运行时错误延迟或阻止所述当前任务的完成;将所述运行时间错误映射到所述数据库中存储的、对于所述多个引导参与会话中的至少一些共有的错误;以及响应于确定所述客户组织已经遇到运行时错误,提供所述一个或多个解决方案。

示例q,示例p的一个或多个计算机可读存储介质,其中计算机可执行指令还使得设备推荐一个或多个解决方案中的推荐的解决方案。

示例r,示例p或示例q的一个或多个计算机可读存储介质,其中所述计算机可执行指令还使所述设备:确定在完成任务的预期时间量内任务没有成功完成;以及响应于确定在完成任务的预期时间量内任务没有成功完成而确定所述客户组织已经遇到运行时错误。

示例s,示例o至r中任一示例的一个或多个计算机可读存储介质,其中计算机可执行指令还使得设备:针对所述一个或多个解决方案中的单独的解决方案,计算解决概率;在所述数据库中存储相应的解决概率;以及将相应的解决概率提供为置信度评级。

示例t,示例o至s中任一示例的一个或多个计算机可读存储介质,所述错误特定于基于客户组织的大小的多个不同分段中的特定分段,其中所述引导信息针对多个不同分段中的特定分段被存储在所述数据库中。

结论

最后,尽管可能已经用对结构特征和/或方法动作特定的语言对各种实现方式进行了描述,但是应当理解,所描述的主题不一定限于所描述的具体特征或动作。而是,具体特征和动作被公开为实现所要求保护的主题的示例形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1