对按需重启执行重启循环、重启调度的制作方法

文档序号:9221613阅读:189来源:国知局
对按需重启执行重启循环、重启调度的制作方法
【专利说明】对按需重启执行重启循环、重启调度
[0001]相关申请的交叉引用
[0002]本专利申请要求2013年10月11日提交的序列号为14/051,664且具有相同标题的美国非临时性专利申请的优先权,该美国非临时性专利申请要求2012年10月12日提交的序列号为61/713,034且标题为“用户的无缝转换(SEAMLESS TRANSIT1N OF USERS) ”的美国临时专利申请的优先权。
[0003]上述专利申请中的每个的整体以引用方式并入本文。
[0004]背景
[0005]本公开的方面涉及计算机硬件和软件。
[0006]为将托管的应用程序、桌面和其他资源传送给用户,运营商往往部署许多为用户托管和提供资源的服务器或机器。这些服务器可被分配在一个或多个服务器群或站点中。当寻求访问托管资源时,用户可使用诸如个人计算机、笔记本电脑或移动设备的用户设备等连接到服务器群或机器。
[0007]当部署了机器或服务器群时,可期望执行各种维护操作。何时需要维护操作的一些示例包括:当数据库已经损坏时;当机器中的一个或多个已被选择进行更新或替换时;当机器中的一个或多个将被重启时;以及当服务器群的工作负荷将被转变为不同的工作负荷时。但是,执行维护操作可导致不利影响,诸如导致连接中断或服务中断。例如,为执行维护操作,可能需要断开或以其他方式禁用服务器群或机器。由于连接中断或服务中断,试图接入由受影响服务器群或机器托管的资源中的一个的任何用户可能都无法访问期望的托管资源。运营商可能希望避免或最小化维护操作对用户访问托管的应用程序、桌面或其他资源的能力所造成的影响。
[0008]发明概述
[0009]本公开的一个或多个方面可涉及针对应用程序、桌面或其他托管资源使用可配置的服务器群优选项。
[0010]例如,根据各个方面,可针对托管的资源配置服务器群优选项。服务器群优选项可包括主服务器群的指示和一个或多个辅助服务器群的指示。针对托管资源的请求可被接收。根据所述请求,可确定托管资源是否配置有服务器群优选项;响应于确定托管资源配置有服务器群优选项,可确定一个或多个辅助服务器群是否具有用于用户的有效或断开的会话;以及响应于确定一个或多个辅助服务器群具有用于用户的有效或断开的会话,可选择一个或多个辅助服务器群以托管所述托管资源。
[0011]本公开的各个方面可涉及基于可配置的服务器群优选项,转移服务器群工作负荷。
[0012]例如,根据一些方面,将被从服务器群转移的工作负荷可被确定;目标服务器群可被选取;以及在目标服务器群中的新的工作负荷可被创建。当新的工作负荷可用于接收针对托管资源的请求时,新工作负荷内的一个或多个资源可被发布;针对一个或多个资源中的每个,对应的服务器群优选项可被配置;工作负荷可被监控,以便停止使用该工作负荷中不具有有效或断开会话的任何机器,并在确定该工作负荷中所有机器均被停止使用时删除该工作负荷;以及针对一个或多个资源中的每个,服务器群可被从对应的服务器群优选项中移除。
[0013]本公开另外的方面涉及用于执行重启循环、重启调度和按需重启的方法。
[0014]例如,根据与重启循环相关的一些方面,用于执行自动机器重启的重启循环可被启动;用于重启循环的合格机器组可被确定;每个机器重启之间的间隔可被确定;以及基于所述间隔,用于重启循环的机器专有处理可被执行。这种机器专有处理可包括试图重启合格机器组中的每个机器。
[0015]作为另一个示例,根据与重启调度相关的一些方面,经配置的重启调度可被处理,该经配置的调度包括将被重启的桌面组;根据经配置的调度可确定是否要启动重启循环;响应于确定要启动重启循环,可确定是否另一个重启调度启动的重启循环针对桌面组有效或断开;响应于确定不存在针对桌面组有效或断开的另一个重启调度启动的重启循环,重启循环可被启动。
[0016]作为又一个示例,根据与目录(catalog)重启相关的一些方面,目录重启配置数据可被接收;目录机器组可被确定;可根据桌面组将目录机器组划分成一组或多组;以及针对一组或多组中的每个,对应的重启循环可被启动,从而导致多个重启循环被启动。
[0017]作为另一个示例,根据一些方面,单独机器重启操作可被错开,并且重启操作可被执行,使得一些机器可在重启循环期间用于用户会话。
[0018]在下文更详细地论述这些特征以及许多其他特征。
[0019]附图简述
[0020]本公开以示例的方式说明并且并非限制于附图,在附图中,相似的参考编号表示类似的元件,并且其中:
[0021]图1示出可根据本公开的一个或多个方面使用的示例性计算机系统结构。
[0022]图2示出可根据本公开的各个方面使用的示例性远程访问系统结构。
[0023]图3示出可根据本公开的一个或多个方面使用的示例性虚拟化(超级管理器)系统结构。
[0024]图4示出可根据本公开的各个方面使用的示例性的基于云的系统结构。
[0025]图5示出根据本文所述的一个或多个方面的用于提供可配置服务器群优选项的示例方法。
[0026]图6示出根据本文所述的一个或多个方面的用于根据可配置服务器群优选项转移服务器群工作负荷的示例方法。
[0027]图7示出根据本文所述的各个方面的用于执行重启循环的示例方法。
[0028]图8示出根据本公开的各个方面的用于执行重启调度的示例方法。
[0029]图9示出根据本公开的一个或多个方面的用于执行目录重启的示例方法。
[0030]图10示出根据本文所述的各个方面的由重启循环发出的电源操作与来自其他来源的待执行操作(pending operat1n)之间的示例优先级交互。
[0031]图11示出被划分成两组并且完成重启循环的合格机器组的图解。
[0032]图12示出来自可用于在用户创建重启调度或目录重启时指导用户的用户界面的示例屏幕截图。
[0033]发明详述
[0034]在下面各种实施例的描述中,参考由上文确定且构成本文一部分的附图,并且其中附图以例证各种实施例的方式示出,其中本文所述的方面可被实践。应当理解,可使用其他实施例,并且在不脱离本文所述范围的情况下,可做出结构上和功能上的修改。各个方面可具有其他实施例,并且可以各种不同的方式实践或实施。
[0035]应当理解,本文所用措辞和术语是出于描述的目的,并且不应将其视作限制性的。相反,本文所用措辞和术语旨在被给定其最广义的解释和意义。“包括”和“包含”以及它们的变型的使用旨在涵盖在其后列出的项目和它们的等同项以及它们的附加项目和等同项。术语“安装”、“连接”、“耦合”、“定位”、“接合”和类似术语的使用旨在同时包括直接和间接的安装、连接、親合、定位和接合。
[0036]计算结构
[0037]计算机软件、硬件和网络可用于多用不同的系统环境,包括独立式、网络化、远程访问(又称,远程桌面)、虚拟化和/或基于云的环境等。图1示出在独立式和/或网络化环境中可用于实施本文所述的一个或多个例示性方面的系统结构和数据处理设备的一个示例。各种网络节点103、105、107、和109可经由诸如因特网的广域网(WAN) 101互连。其他网络也可使用或者另选地使用,其他网络包括私有内部网、企业网、局域网、城域网(MAN)无线网络、个人网(PAN)等。网络101用于例证的目的,并且可被替换为更少的或更多的计算机网络。局域网(LAN)可具有任何已知LAN拓扑结构中的一种或多种,并且可使用诸如以太网的多种不同协议中的一种或多种。设备103、105、107、109和其他设备(未示出)可经由双绞线、同轴电缆、光纤、无线电波或其他通信介质连接到所述网络中的一个或多个。
[0038]如本文所使用和在附图中所示的术语“网络”不仅指其中远程储存器设备经由一个或多个通信路径耦合在一起的系统,还指可以不时地耦合到具有存储能力的此类系统的独立式设备。因此,术语“网络”不仅包括“物理网络”,还包括“内容网络”,该“内容网络”包括驻留在全部物理网络中的可归属于单个实体的数据。
[0039]组件可包括数据服务器103、网络服务器105和客户端计算机107、109。数据服务器103提供对数据库和控制软件的整体访问、控制和管理,数据库和控制软件用于执行本文所述的一个或多个示例性方面。数据服务器103可连接到网络服务器105,藉此,用户依照请求与数据交互并获得数据。另选地,数据服务器103自身可充当网络服务器,并且可直接连接到因特网。数据服务器103可通过网络101 (例如,因特网)、经由直接或间接连接、或经由一些其他网络,连接到网络服务器105。用户可使用远程计算机107、109与数据服务器103交互,例如,使用网络浏览器经由网络服务器105所托管的一个或多个对外公开的网站连接到数据服务器103。客户端计算机107、109可与数据服务器103配合使用来访问存储于其中的数据,或者可用作其他用途。例如,用户可使用因特网浏览器(如本领域已知的),或者通过执行经由计算机网络(诸如因特网)与网络服务器105和/或数据服务器103通信的软件应用程序,从客户端设备107访问网络服务器105。
[0040]服务器和应用程序可以在同一实际机器上组合,并且保留独立的虚拟或逻辑地址,或者可驻留在单独的实际机器上。图1仅示出了可使用的网络结构的一个示例,并且本领域的技术人员应当理解,所使用的具体网络结构和数据处理设备可改变,并且相对于它们所提供的功能是辅助性的,本文将对其进行进一步描述。例如,网络服务器105和数据服务器103提供的服务可以在单个服务器上组合。
[0041]每个组件103、105、107、109可为任何类型的已知计算机、服务器或数据处理设备。例如,数据服务器103可包括控制速率服务器103的总体操作的处理器111。数据服务器103还可包括RAM 113、ROM 115、网络接口 117、输入/输出接口 119 (例如,键盘、鼠标、显示器、打印机等)和存储器121。I/O 119可包括用于读取、写入、显示和/或打印数据或文件的多种接口单元和驱动器。存储器121还可存储:用于控制数据处理设备103的总体操作的操作系统软件123 ;用于指示数据服务器103来执行本文所述的方面的控制逻辑125 ;以及提供可以或可以不与本文所述的方面结合使用的辅助功能、支持功能和/或其他功能的其他应用软件127。控制逻辑在本文中也可称作数据服务器软件125。数据服务器软件的功能可指基于被编写到控制逻辑中的规则而自动做出的操作或决定、通过向系统提供输入由用户手动做出的操作或决定、和/或基于用户输入的自动处理的组合(例如,查询、数据更新等)。
[0042]存储器121还可存储用于执行本文所述的一个或多个方面的数据,包括第一数据库129和第二数据库131。在一些实施例中,第一数据库可包括第二数据库(例如,作为独立的表、报表等)。也就是说,根据系统设计,信息可被存储在单个数据库中,或者被划分到不同的逻辑数据库、虚拟数据库、或物理数据库中。设备105、107、109可具有如相对于设备103描述的类似或不同的结构。本领域的技术人员应当理解,如本文所述的数据处理设备103 (或设备105、107、109)的功能可以分布于多个数据处理设备,例如,以便在多个计算机中分配处理负荷,以便基于地理位置、用户访问级别、服务质量(QoS)等将处理事务分开。
[0043]—个或多个方面可以实现为计算机可使用的或可读取的数据和/或计算机可执行指令,诸如以一个或多个程序模块的形式,通过如本文所述的一个或多个计算机或其他设备执行。一般来讲,程序模块包括当被计算机的处理器或其他设备执行时执行特定任务或实现特定抽象数据类型的例行程序、程序、对象、组件、数据结构等。所述模块可被以源码编程语言编写然后被编译执行,或者可以用诸如(但不限于)HTML或XML的脚本语言编写。计算机可执行指令可被存储在诸如非易失性储存器设备的计算机可读介质上。可使用任何合适的计算机可读存储介质,包括硬盘、CD-ROM、光学储存器设备、磁储存器设备和/或它们的任何组合。另外,表示如本文所述数据或事件的各种传输(非存储)介质可以电磁波的形式通过信号传导介质,诸如金属线、光纤和/或无线传输介质(例如,空气和/或空间)传播,在源和目的地之间传输。本文所述的各个方面可以实现为方法、数据处理系统或计算机程序产品。因此,可在软件、固件和/或硬件或诸如集成电路、现场可编程门阵列(FPGA)等的硬件等同物中整体实现或部分实现各种功能。可用特定的数据结构,以更有效地实现本文所述的一个或多个方面,并且此类数据结构被认为是在本文所述的计算机可执行指令和计算机可使用数据的范围之内。
[0044]进一步参考图2,可在远程访问环境中执行本文所述的一个或多个方面。图2示出示例系统结构,其包括可根据本文所述的一个或多个示例性方面使用的在示例性计算环境200中的通用计算设备201。通用计算设备201可用作单服务器或多服务器桌面虚拟化系统(例如,远程访问或云系统)中的服务器206a,其中所述桌面虚拟化系统被配置用于为客户端访问设备提供虚拟机。通用计算设备201可具有用于控制服务器及其关联组件的总体操作的处理器203,其关联组件包括随机存取存储器(RAM) 205、只读存储器(ROM) 207、输入/输出(I/O)模块209和存储器215。
[0045]I/O模块209可包括鼠标、键盘、触摸屏、扫描仪、光读取器和/或触控笔(或其他输入设备),其中通用计算设备201的用户可通过上述输入设备提供输入,并且还可包括用于提供音频输出的扬声器和用于提供文本、视听和/或图形输出的视频显示设备中的一个或多个。软件可被存储在存储器215和/或其他储存器中,以便向处理器203提供指令以将通用计算设备201配置成专用计算设备,从而执行如本文所述的各种功能。例如,存储器215可存储被计算设备201使用的软件,诸如操作系统217、应用程序219和关联数据库221。
[0046]计算设备201可在支持连接至一个或多个诸如终端240 (也称作客户端设备)的远程计算机的网络化环境中操作。终端240可为个人计算机、移动设备、笔记本电脑、平板电脑或包括上文关于通用计算设备103或201描述的许多或全部元件的服务器。在图2中所示的网络连接包括局域网(LAN) 225和广域网(WAN) 229,但是还可包括其他网络。当在LAN网络环境中使用时,可将计算设备201通过网络接口或适配器223连接到LAN 225。当在WAN网络环境中使用时,计算设备201可包括用于在诸如计算机网络230 (例如,因特网)的WAN 229上建立通信的调制解调器227或其他广域网接口。应当理解,所示网络连接是示例性的,并且可使用在计算机之间建立通信链路的其他方式。计算设备201和/或终端240还可为移动终端(例如,移动电话、智能手机、PDA、笔记本等等),移动终端包括各种其他组件,诸如电池、扬声器和天线(未示出)。
[0047]本文所述方面也可在许多其他通用或专用计算系统环境或配置中操作。可适用于本文所述方面的其他计算系统、环境和/或配置的示例包括但不限于个人计算机、服务器计算机、手持式或笔记本电脑设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费性电子产品、网络PC、微型计算机、大型计算机、包括上述系统或设备中的任一个的分布式计算环境等。
[0048]如图2所示,一个或多个客户端设备240可与一个或多个服务器206a_206n (在本文中统称为“服务器206”)通信。在一个实施例中,计算环境200可包括安装在服务器206和客户机240之间的网络装置。该网络装置可管理客户端/服务器的连接,并且在一些情况下,可在多个后端服务器206之间对客户端连接进行负载平衡。
[0049]在一些实施例中,客户机240可指单个客户机240或单组客户机240,而服务器206可指单个服务器206或单组服务器206。在一个实施例中,单个客户机240与多于一个服务器206通信,而在另一个实施例中,单个服务器206与多于一个客户机240通信。在又一个实施例中,单个客户机240与单个服务器206通信。
[0050]在一些实施例中,客户机240可通过以下非穷举术语中的任一个引用:用户设备;客户机;客户端;客户端计算机;客户端设备;客户端计算设备;本地机器;远
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1