操作系统体验状态的制作方法

文档序号:6365530阅读:155来源:国知局
专利名称:操作系统体验状态的制作方法
技术领域
本申请涉及操作系统体验状态。
背景技术
随着服务器变得越来越有能力,它们越来越多地运行更多的应用和过程。运行更多的应用和过程增加了服务器被其他方恶意攻击的攻击面,一般增加了服务要求,并对硬件施加了更大的要求以支持运行的程序、服务以及应用。对服务器进行服务可涉及用它们的服务资源消耗和停机时间来打补丁和系统重新引导。一般而言,服务器应用和过程的增加的大小、数量等可增加由于重新引导而引起的支持成本、风险和潜在的服务中断。在此要求保护的主题不限于解决任何缺点或仅在诸如上述环境中操作的各个实施例。相反,提供该背景仅用以示出在其中可实践在此描述的部分实施例的一个示例性技术领域。

发明内容
简言之,本文所描述的主题的各方面涉及操作系统体验状态。可接收到请求从当前体验状态到目标体验状态的改变的输入。作为响应,可获得指示允许的体验状态的状态数据以及指示目标体验状态中的组件和目标体验状态中各组件之间的关系的组件数据。该状态数据接着可被用于从当前体验状态改变到目标体验状态。目标体验状态可被用于例如配置服务器或其他操作系统。提供本发明内容是为了简要地标识在以下详细描述中进一步描述的主题的一些方面。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。除非上下文清楚地指出,否则短语“此处所描述的主题”指的是具体实施方式
中描述的主题。术语“方面”被当作“至少一个方面”。标识具体实施方式
中所描述的主题的各方面不旨在标识所要求保护的主题的关键特征或必要特征。上述各方面和此处所描述的主题的其它方面是借助于示例说明的,并且不受附图限制,附图中相同的标号指示相似的元素。


图I是表示其中可结合此处描述主题的各方面的示例性通用计算环境的框图;图2是根据此处所描述的主题的各方面概括地表示操作系统的一些示例性体验状态的框图;图3是表示根据此处所描述的主题的各方面配置的系统的框图;图4-5是根据本文所描述的主题的各方面的概括地表示可发生的示例性动作的流程图。具体实施例定义如本文所使用的,术语“包括”及其变体被当作开放式术语,表示“包括但不限于”。除非上下文另外清楚地指示出,否则术语“或”被当作“和/或”。术语“基于”被当作“至少部分地基于”。术语“一个实施例”和“一实施例”被当作“至少一个实施例”。术语“另一实施例”被当作“至少一个其他实施例”。如本文所使用的,诸如“一”和“该”等术语包括了所指示的项或动作中的一个或多个。具体而言,在权利要求书中,对某一项的引用一般表 示存在至少一个这样的项,并且对一动作的引用表示执行该动作的至少一个实例。本文中有时使用术语“第一”、“第二”、“第三”等等。权利要求中对这些术语的使用不意在暗示排序,而是用于标识的目的。例如,短语“第一版本”和“第二版本”不一定意味着第一版本是真正的第一个版本或是在第二版本之前创建的,或甚至是第一版本是在第二版本之前被请求或操作的。相反,这些短语用于标识不同的版本。标题是仅出于方便起见的;关于给定话题的信息可在其标题指示该话题的节之外找到。其他显式或隐式定义可包括在下文中。示例性操作环境图I示出可在其上实现本文所描述的主题的各方面的合适的计算系统环境100的示例。计算系统环境100仅为合适的计算环境的一个示例,并非旨在对本文所描述的主题的各方面的使用范围或功能提出任何限制。也不应该将计算环境100解释为对示例性操作环境100中示出的任一组件或其组合有任何依赖性或要求。本文所描述的主题的各方面可与众多其他通用或专用计算系统环境或配置一起操作。可适用于这里所述的主题的各方面的已知计算系统、环境或配置的例子包括个人计算机、服务器计算机、手持或膝上型设备、多处理器系统、基于微控制器的系统、机顶盒、可编程消费电子设备、网络PC、微型计算机、大型计算机、个人数字助理(PDA)、游戏设备、打印机、包括机顶盒,媒体中心或其他家电的家电设备、嵌入汽车或附加到汽车的计算设备、其他移动设备、包括任何上述系统或设备的分布式计算环境等等。本文所描述的主题的各方面可在由计算机执行的诸如程序模块等计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。本文所描述的主题的各方面也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可以位于包括存储器存储设备在内的本地和远程计算机存储介质中。参考图1,用于实现本文所描述的主题的各方面的示例性系统包括计算机110形式的通用计算设备。计算机可包括能够执行指令的任何电子设备。计算机110的组件可包括处理单元120、系统存储器130以及将包括系统存储器的各种系统组件耦合至处理单元120的系统总线121。系统总线121可以是若干类型的总线结构中的任一种,包括使用各种总线体系结构中的任一种的存储器总线或存储器控制器、外围总线、以及局部总线。作为示例,而非限制,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强型ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线、也称为夹层(Mezzanine)总线的外围部件互连(PCI)总线、扩展外围部件互连(PCI-X)总线、高级图形端口(AGP)、以及PCI Express (PCIe)。计算机110通常包括各种计算机可读介质。计算机可读介质可以是能由计算机 110访问的任何可用介质,并包含易失性和非易失性介质以及可移动、不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括RAM、ROM、EEPR0M、闪存或其它存储器技术CD-ROM、数字多功能盘(DVD) 或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储设备、或可以用来储存所期望的信息并可由计算机110访问的任一其它介质。通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任何信息传送介质。术语“已调制数据信号” 是指具有以在信号中编码信息的方式被设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包含在计算机可读介质的范围内。系统存储器130包括易失性和/或非易失性存储器形式的计算机存储介质,如只读存储器(ROM) 131和随机存取存储器(RAM) 132。包含诸如在启动期间帮助在计算机110内的元件之间传输信息的基本例程的基本输入/输出系统133 (BIOS)通常储存储在ROM 131 中。RAM 132通常包含处理单元120可立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图I示出了操作系统134、应用程序135、其它程序模块 136和程序数据137。计算机110也可以包括其他可移动/不可移动、易失性/非易失性计算机存储介质。仅作为示例,图I示出了从不可移动非易失性磁介质中读取或向其写入的硬盘驱动器 141,从可移动非易失性磁盘152中读取或向其写入的磁盘驱动器151,以及从诸如⑶ROM 或其它光学介质等可移动非易失性光盘156中读取或向其写入的光盘驱动器155。可以在该示例性操作环境中使用的其他可移动/不可移动、易失性/非易失性计算机存储介质包括磁带盒、闪存卡、数字多功能盘、其他光盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器141可通过接口 140连接至系统总线121,而磁盘驱动器151和光盘驱动器155可通过诸如接口 150之类的用于可移动非易失性存储器的接口连接至系统总线121。以上讨论并在图I中示出的驱动器及其相关联的计算机存储介质为计算机110提供了对计算机可读指令、数据结构、程序模块和其它数据的存储。例如,在图I中,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146和程序数据147。注意, 这些组件可与操作系统134、应用程序135、其他程序模块136和程序数据137相同,也可与它们不同。操作系统144、应用程序145、其他程序模块146和程序数据147在这里被标注了不同的附图标记是为了说明至少它们是不同的副本。用户可以远程地或通过输入设备,如键盘162和定点设备161 (通常被称为鼠标、 跟踪球或触摸垫)向计算机110输入命令和信息。其它输入设备(未示出)可包括话筒、 操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、触敏屏、或写字板等。这些以及其他输入设备通常通过耦合到系统总线的用户输入接口 160连接到处理单元120,但也可通过诸如并行端口、游戏端口或通用串行总线(USB)之类的其他接口和总线结构来连接。监视器191或其它类型的显示设备可经由接口,诸如视频接口 190,连接至系统总线121。除了监视器以外,计算机还可包括诸如扬声器197和打印机196之类的其他外围输出设备,它们可通过输出外围接口 195来连接。计算机110可使用到一个或多个远程计算机(诸如,远程计算机180)的逻辑连接而在联网环境中操作。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常见的网络节点或类似于可实现计算机110的设备的任何其他设备,且通常包括上文相对于计算机110描述的许多或所有元件,尽管在图I中只示出存储器存储设备181。图I中所示的逻辑连接包括局域网(LAN) 171和广域网(WAN) 173,但也可以包括其它网络。 这样的联网环境常见于办公室、企业范围计算机网络、内联网和因特网中。当在LAN联网环境中使用时,计算机110通过网络接口或适配器171连接到LAN170。当在WAN联网环境中使用时,计算机110可包括调制解调器172或用于通过诸如因特网等的WAN 173来建立通信的其它装置。可为内置或可为外置的调制解调器172可以经由用户输入接口 160或其他合适的机制连接至系统总线121。在联网环境中,相对于计算机110所示的程序模块或其部分可被存储在远程存储器存储设备中。作为示例而非限制,图I示出了远程应用185驻留在存储器设备181上。应当理解,所示的网络连接是示例性的,并且可使用在计算机之间建立通信链路的其他手段。体验状态如以上提到的,增加服务器应用和过程的大小、数量等可增加由于重新引导而引起的支持成本、风险和潜在的服务中断。图2是根据此处所描述的主题的各方面概括地表示操作系统的一些示例性体验状态的框图。状态200可包括诸如以下的状态完全体验状态205、核心体验状态206、命令行体验状态207、仅远程体验状态208、标准图形用户界面(GUI)界面209、三维(3D)体验状态210、触摸界面211、包括以上两个或更多个的合成状态、以及其他体验状态(未显示)。状态205-211中的各个状态可用一组组件来实现。如本文所使用的,术语组件要被当作包括硬件,所述硬件诸如以下的全部或一部分设备、一个或多个软件模块或其部分的集合、一个或多个软件模块或其部分与一个或多个设备或其部分的某种组合等等。核心体验状态206可对应于操作系统(最低程度)运行所需的一组基本的组件。命令行体验状态207可对应于向操作系统提供命令行界面而不提供全面的或完整的GUI子系统以与操作系统进行接口所需的一组组件。仅远程体验状态208可对应于允许操作系统与外部系统进行交互而不具有诸如命令行界面或GUI界面之类的用以与操作系统进行接口的设施的一组组件。标准⑶I界面209可对应于允许用户经由图形元素(诸如对话框、文本框、列表框、其他图形元素等)与操作系统进行接口的一组组件。3D体验状态210可对应于允许结合操作系统的3D体验的一组组件。例如,3D体验状态210可对应于能够经由相机、运动传感器、声音等的使用来接收人类输入的组件。触摸体验状态211可对应于允许触摸输入的一组组件。例如,触摸体验状态211可对应于允许用户触摸屏幕来对操作系统提供输入的一组组件。完全体验205可对应于允许与操作系统进行交互的扩展的一组组件。该扩展的一组组件可例如包括以上所指示的用于其他状态的组件中的多个或全部。一些其他示例性体验状态包括给予对查看文件的支持的文件浏览器体验状态、允许从因特网或其他地方访问网页的因特网浏览器体验状态、提供对图形地启动程序的支持的任务栏体验状态、提供帮助支持的帮助系统体验状态等。以上体验状态并不旨在是包括一切的或穷举的结合操作系统所允许的体验状态。 实际上,基于此处的教导,本领域技术人员可认识到也可使用其他体验状态,而不背离此处所描述的主题的各方面的精神或范围。组件中的一些组件可依赖于其他组件。例如,3D体验状态210中的组件可依赖于在标准⑶I体验状态209中找到的组件。体验状态205和207-211中的组件可各自直接地或间接地依赖于核心体验状态206中的组件。此外,可以存在多层依赖性。例如,3D体验状态210中的组件可依赖于标准⑶I体验状态209中的组件,而标准⑶I体验状态209中的组件可依赖于核心体验状态206中的组件。可以存在更多层或更少层依赖性。此外,一个体验状态中的组件可依赖于两个或更多个其他体验状态中的组件。如果第一组件被结构化为使用第二组件来用于该第一组件的操作,那么该第一组件可被称为依赖于该第二组件。换言之,如果第一组件包括可调用或以其他方式使用第二组件的代码或硬件的代码或硬件,那么该第一组件被称为依赖于该第二组件。 体验状态205-211、它们的子集、它们的超集或其他组的体验状态可被指定为操作系统的“允许的”体验状态。允许的体验状态可表示被指定为(例如,由操作系统供应商) 测试和支持的体验状态。作为另一示例,允许的体验状态可表示基于消费者所购买的密钥所允许的体验状态。这些示例并非是包括一切的或穷举的。体验状态205-211可被编码在指示允许的体验状态的状态数据(例如,数据结构) 中。对于每个体验状态,状态数据可指示操作系统的与该体验状态相关联的组件。状态数据还可包括指示组件之间的依赖性的关系数据。可从一个或多个清单获得状态数据。清单可包括、引用、或以其他方式指示二进制代码、动态链接库(DLL)、其它可执行代码、数据和其他资源等。清单可包括或引用一个或多个该清单所依赖的其它清单。例如,在清单包括依赖于第二组件的第一组件的情况下,该清单可包括该第二组件的指示(例如,引用、指针、名称等)或另一直接或间接地指示该第二组件的清单的指示。状态数据可从使用标记语言对允许的体验状态和组件之间的依赖性进行编码的文件或其它数据结构中获得。可用于该目的的一种流行的标记语言是可扩展标记语言 (XML),但是也可使用其它标记语言,而不背离此处所描述的主题的各方面的精神或范围。操作系统可包括管理计算机硬件资源的软件。在此使用的术语操作系统可包括任何类型的操作系统或提供硬件资源管理功能的一组组件。一些示例性操作系统可包括服务器操作系统(诸如那些经常在服务器上使用的操作系统)、桌面操作系统(诸如那些被经常安装在桌面和笔记本电脑上的操作系统)、移动操作系统(诸如那些经常在诸如手机、个人数字助理以及其它消费者设备的移动设备上找到的操作系统)、嵌入式操作系统(诸如那些被嵌入在固件中的操作系统)等。适合于执行操作系统的示例性设备包括图I的计算机 110。
某些体验状态可以是受时间限制的。例如,为了减少攻击面、服务需要或为了其它理由,体验状态可与指示操作系统被允许处在体验状态中的时间长度的策略相关联。例如,⑶I体验状态可被用于配置服务器。在服务器已经被配置好后,操作系统可被设置为更为限制的体验状态。为了实施该改变,可对操作系统所允许在GUI体验状态中的时间长度设置策略。在时间期满后,体验状态可由实施组件自 动地改变。图3是表示根据此处所描述的主题的各方面配置的系统的框图。图3中示出的组件是示例性的且不意味着包括一切的可能需要或包括的组件。在其他实施例中,结合图3描述的组件可被包括在其他组件(示出或未示出)中或者被放置在子组件中而不背离本文所描述的主题的各方面的精神或范围。在某些实施例中,结合图3所描述的组件和/或功能可跨多个设备地分布。转到图3,系统300可包括装置302和远程管理器340。装置302可包括体验组件305、通信机制330、存储335以及其它组件(未示出)。体验组件305可包括服务管理器310、状态数据管理器315、输入管理器320、远程接口 325以及其它组件(未示出)。装置302可包括一个或多个计算设备。这些设备可包括,例如,个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微控制器的系统、机顶盒、可编程消费电子产品、网络PC、小型计算机、大型计算机、蜂窝电话、个人数字助理(PDA)、游戏设备、打印机、包括机顶盒、媒体中心或其他电器在内的电器、汽车嵌入式或附连的计算设备、电话、其他移动设备、包括以上系统或设备中的任一种的分布式计算环境等。可被配置成作为装置305的示例设备包括图I的计算机110。装置302可包括本地输入/输出设备,诸如鼠标、键盘、显示器等,可以是“无头的(headless) ”,其中装置302不包括鼠标、键盘或显示器,或可被配置有其它输入/输出设备。装置302可包括虚拟环境。虚拟环境可模仿或模拟物理机器、操作系统、一个或多个接口的组、以上各项的部分、或以上各项的组合等等。在机器被模仿或被模拟时,该机器有时被称为虚拟机。对于在虚拟机上执行的软件来说,虚拟机是一种看上去是物理机器的机器。该软件可将文件保存在诸如虚拟硬盘驱动器、虚拟软盘等之类的虚拟存储设备中,可从虚拟⑶、DVD或其他虚拟介质处读取文件,可经由虚拟网络适配器来进行通信等等。通信机制330允许装置302和其它实体通信。例如,通信机制330可允许装置302与远程管理器(诸如,远程管理器340)进行通信。通信机制330可以是结合图I描述的网络接口或适配器170、调制解调器172、USB或其他端口、或用于建立通信的任何其它机制。存储335是任何能够提供对数据(包括例如,状态数据和策略)的访问的存储介质。存储335可采用文件系统、数据库、诸如RAM等易失性存储器、其它存储、以上的某种组合等来实现,并可以分布在多个设备中。存储335可以是外部的、内部的、或包括对于装置302而言内部的以及外部的组件。如以上指示的,状态数据可指示操作系统的与每个允许的体验状态相关联的组件以及指示组件之间的依赖性的关系数据。在一些实现中,状态数据可指示被指定为被测试和支持的体验状态。状态数据管理器315可被用于访问存储335上的状态数据。在一实施例中,状态数据管理器315可包括可被用于访问状态数据的数据库管理系统(DBMS)。在另一实施例中,状态数据管理器315可包括文件系统驱动器或其它可操作来访问状态数据的操作系统组件。输入管理器320可被用于接收操作系统的所需体验状态改变的指示。例如,输入管理器320可接收用户输入界面,该用户输入界面经由用户界面来指示所需体验状态改变。这样的用户界面可显示允许的体验状态并允许用户选择所需体验状态。该指示可由输入管理器320接收。服务管理器310可执行与改变体验状态有关的各种动作。例如,服务管理器310 可获得关联数据来确定与由输入所请求的体验状态改变相对应的目标体验状态。例如,用户可能想要使用用户友好的图形界面来配置服务器操作系统。为此,用户可选择被标记为例如“简单界面”的选项。作为响应,服务管理器310可确定(例如,通过诸如表格的关联数据结构的使用)与“简单界面”相关联的体验状态是完全体验状态。其它示例性选项可被标记为诸如例如,命令行配置、远程配置、触摸配置、3D配置、 标准配置等。在获得关联数据并确定目标体验状态后,服务管理器310可将操作系统的体验状态从当前体验状态改变为目标体验状态。在这样做时,服务管理器可使用例如状态数据的关系数据来确定目标体验状态中的组件。目标体验状态中的组件可在操作系统上被安装、 配置、转换或以其它方式激活,而不在目标体验状态中的组件可在操作系统上被卸载、重新配置或以其它方式停用。服务管理器310也可关于目标体验状态实施时间限制策略。例如,如果策略指示操作系统可处在目标体验状 态中的时间段,则服务管理器310可在该时段过去之后自动地从目标体验状态改变。服务管理器310可用于激活子系统(例如,命令行子系统、图形子系统或其它界面子系统)以准备接收体验状态改变的指示。例如,在用户想要作出操作系统配置改变的指示后,服务管理器310可激活图形子系统(例如,一个或多个支持图形用户界面的组件),使得用户可指示所需体验状态改变。服务管理器310还可用于在成功地将操作系统改变为目标体验状态后,停用子系统,而无需卸载或重写整个操作系统。被如此激活的子系统可以是完整的图形用户界面、具有足够的功能来接收对所需体验状态改变的输入的受限图形用户界面、或一些其它子系统。远程界面325可提供经由其可远程地启动(例如,通过远程管理器340)体验状态改变的界面。远程界面325可允许远程管理器340指示服务管理器310改变到目标体验状态。远程管理器340可包括一个或多个能够经由远程界面325与体验组件305中的一个或多个进行通信的组件。例如,远程管理器340可包括配备有适当的软件和/或设置的因特网浏览器,该适当的软件和/或设置允许浏览器查看当前体验状态以及请求装置302 的另一体验状态。作为另一示例,远程管理器340可包括专有管理软件,该专有管理软件能够经由远程界面325与体验组件305中的一个或多个进行通信来请求体验状态改变。远程管理器340还可包括用于一旦操作系统处在目标体验状态中时,就与操作系统进行交互的一个或多个组件。图4-5是根据本文所描述的主题的各方面的概括地表示可发生的示例性动作的流程图。为解释简明起见,结合图4-5描述的方法被描绘和描述为一系列动作。可以理解和明白,此处所描述的主题的各方面不受所示出的各动作和/或各动作次序的限制。在一个实施例中,各动作以如下描述的次序发生。然而,在其它实施例中,各动作可以并行地发生、以另一次序发生、和/或与此处未呈现和描述的其它动作一起发生。此外,并非所有示出的动作都是实现根据此处所描述的主题的各方面的方法所必需的。另外,本领域的技术人员将了解和明白,该方法也可以替代地经由状态图而被表示为一系列相互相关联的状态或者被表示为事件。转向图4,在框405处,动作开始。在框410,接收到请求体验状态改变的输入。当接收到该请求时,操作系统可能处在当前体验状态中。例如,参考图3,输入管理器320可从指示对体验状态改变的请求的用户界面、远程界面、文件、数据结构、消 息等接收输入。例如,输入管理器320可接收“简单界面”请求。在框415,获得指示操作系统的允许的体验状态的状态数据。如以上提到的,状态数据可指示操作系统的与每个允许的体验状态相关联的组件以及指示组件之间的依赖性的关系数据。例如,参考图3,状态数据管理器可从存储335获得状态数据。在获得状态数据中,状态数据管理器315可获得与目标体验状态相对应的状态数据,目标体验状态诸如以下之一完全体验、核心体验、3D体验、触摸体验、图形用户界面体验、命令行界面体验、以及仅远程体验。在框420,可获得关联数据来确定与体验状态改变相对应的目标体验状态。例如,参考图3,服务管理器310可使用将输入请求与体验状态相关联的代码(例如,switch语句等)、表格或其它数据结构来确定目标体验状态。在框425,体验状态被改变。例如,参考图3,服务管理器310可使用关系数据来确定目标体验状态中的组件并可使得组件被安装、激活或以其它方式配置,使得操作系统改变到目标体验状态。改变体验状态可从更为受限的体验状态改变到更为扩展的体验状态,或反之亦然。例如,体验状态可从仅命令行体验状态改变到标准GUI界面、3D界面、触摸界面或完整界面,或反之亦然。当从扩展的体验状态改变到受限的体验状态时,由操作系统支持的一组应用可以是由扩展的体验状态支持的一组应用的子集。在框430处,可以执行其他动作(如果存在)。例如,可获得指示操作系统被允许处在目标体验状态中的时间长度的策略。该策略接着被适当地实施。转向图5,在框505处,动作开始。在框510,支持图形界面的子系统被安装。在此和在权利要求中,单词“被安装”可表示被激活、被配置以执行、被合并到或以其它方式与操作系统工作等。子系统被临时地安装以用于配置操作系统的目的。子系统可包括使用图形界面来接收对操作系统的体验状态改变请求的配置工具(例如,一个或多个组件)。例如,参考图3,服务管理器310可安装支持图形用户界面的子系统。在框515,接收到请求操作系统的体验状态改变的输入。该输入可经由图形界面来接收。例如,参考图3,输入管理器可经由被先前安装的子系统来接收体验状态改变。在框520,可咨询(例如,获得、搜索、访问等等)第一数据来确定与体验状态改变相对应的第一组件。该第一组件可以是被用于实现与体验状态改变相对应的体验状态的多个组件之一。第一组件可以是依赖于多个要被安装在计算机上以完全地操作的其它组件的较高层组件。例如,参考图3,服务管理器310可咨询来自存储335的清单(例如,XML文件)来寻找与体验状态改变相对应的顶层组件。在框525,可咨询第二数据来确定第一组件所依赖的第二组件。例如,参考图3,服务管理器310可咨询先前提到的清单或由该清单所引用的其它清单或依赖清单(在任何层处)来确定第二组件(例如,第一组件所依赖的较低层组件)。在一实施例中,在每一层处的清单可被迭代地咨询以确定第一组件所依赖的组件。在框530,可确定第二组件的安装状态。安装状态可包括例如,第二组件是否当前被安装并被使用、第二组件是否是存在或出现在计算机上但没有被安装或被使用、第二组件是否从计算机上删除或没有存在在计算机上等。参考图3,服务管理器310可通过检查指示安装状态的数据结构(例如,诸如数据库、注册表等)来确定第二组件的安装状态。在框535,基于安装状态来执行配置动作。例如,参考 图3,如果第二组件没有被安装或存在在装置302上,则服务管理器310可从远程源下载第二组件并可安装和配置该第二组件以在操作系统中使用。配置动作可包括从操作系统卸载第一组件所依赖的每个安装的组件,该每个安装的组件不被不作为体验状态改变的结果而被卸载的另一组件所依赖。在框540,在执行配置动作后,子系统可基于策略从操作系统中被卸载或移除。例如,参考图3,服务管理器310可在配置动作已经被执行后实施策略来恢复到先前的体验状态。在框545处,可以执行其他动作(如果存在)。一些其它动作可包括,例如I.从数据结构获得操作系统的一组允许的体验状态;2.验证体验状态改变(如果被执行)将操作系统置于允许的体验状态之一中;以及3.基于该验证,提供(例如,经由用户界面)体验状态改变的可允许性的指示。一些其它动作可包括例如,在操作系统中安装组件的最小子集以供第一组件完全地操作,其中最小子集被定义为只有那些第一组件直接或间接依赖的组件。确定最小子集可包括搜索配置数据结构(例如,一个或多个清单)来确定最小子集以供第一组件完全地操作。以上描述的其他动作并不旨在是包括一切的或是穷举的。实际上,基于此处的教示,本领域技术人员可认识到可被执行的其他动作,而不背离此处所描述的主题的各方面的精神或范围。如从上述详细描述中可以看到,已经描述了关于体验状态的各方面。尽管本文所描述的主题的各方面易于作出各种修改和替换构造,但其某些说明性实施例在附图中示出并在上面被详细地描述。然而,应当理解,并不旨在将所要求保护主题的各方面限制于所公开的具体形式,而是相反地,目的是要覆盖落入本文所描述的主题的各方面的精神和范围之内的所有修改、替换构造和等效方案。
权利要求
1.一种至少部分地由计算机实现的方法,所述方法包括 接收(410)请求当前在第一体验状态中的操作系统的体验状态改变的输入; 获得(415)指示所述操作系统的允许的体验状态的状态数据,所述状态数据指示所述操作系统的与各个允许的体验状态相关联的组件以及指示组件之间依赖性的关系数据,其中如果第一组件被结构化为使用第二组件以用于所述第一组件的操作,则所述第一组件依赖于所述第二组件; 获得(420)关联数据来确定与由所述输入请求的体验状态改变相对应的目标体验状态,所述目标体验状态是所述操作系统的允许的体验状态之一;以及 通过使用所述关系数据来确定在所述目标体验状态中的组件,将所述操作系统的体验状态从所述第一体验状态改变(425)到所述目标体验状态。
2.如权利要求I所述的方法,其特征在于,将所述操作系统的体验状态从所述第一体验状态改变到所述目标体验状态包括从在其中操作系统具有图形用户界面并支持执行扩展的一组应用的体验状态改变到在其中操作系统具有命令行界面并支持执行是扩展的一组应用的子集的限制的一组应用。
3.如权利要求I所述的方法,其特征在于,获得指示所述操作系统的允许的体验状态的状态数据包括获得指示被指定为被测试和支持的体验状态的状态数据。
4.如权利要求I所述的方法,其特征在于,获得指示所述操作系统的允许的体验状态的状态数据包括获得指示仅仅包括以下之一的状态的状态数据完全体验、核心体验、3D体验、触摸体验、图形用户界面体验、命令行界面体验以及仅远程体验。
5.如权利要求I所述的方法,其特征在于,还包括获得指示所述操作系统被允许处在所述目标体验状态中的时间长度的策略。
6.一种具有计算机可执行指令的计算机存储介质,所述计算机可执行指令在被执行时执行以下动作,包括 临时地并用于配置操作系统地来安装(510)支持图形界面的子系统,所述子系统包括使用所述图形界面来接收对所述操作系统的体验状态改变请求的配置工具; 经由所述图形界面来接收(515)请求所述操作系统的体验状态改变的输入; 咨询(520)第一数据来确定与所述体验状态改变相对应的第一组件,所述第一组件潜在地依赖于多个要被安装在计算机上的其它组件以完全地操作; 咨询(525)第二数据来确定所述第一组件所依赖的第二组件; 确定(530)关于所述计算机的所述第二组件的安装状态; 基于所述安装状态,执行(535)相对于所述第二组件的配置动作;以及 在执行所述配置动作后,基于策略从所述操作系统中卸载(540)所述子系统。
7.如权利要求6所述的计算机存储介质,其特征在于,还包括 从数据结构获得所述操作系统的一组允许的体验状态; 验证如果体验状态改变被执行,则所述体验状态改变将所述操作系统置于允许的体验状态之一中;以及 基于所述验证,提供所述体验状态改变的可允许性的指示。
8.—种在计算环境中的系统,包括 用于提供对指示操作系统的允许的体验状态的状态数据的访问的数据存储(335),所述状态数据指示所述操作系统的与各个允许的体验状态相关联的组件以及指示组件之间依赖性的关系数据,其中如果第一组件被结构化为使用第二组件以用于所述第一组件的操作,则所述第一组件依赖于所述第二组件; 用于接收对所述操作系统的体验状态改变的指示的输入管理器(320);以及 用于响应于所述指示,执行包括以下各项的动作的服务管理器(310) 获得关联数据来确定与由所述指示请求的体验状态改变相对应的目标体验状态,所述目标体验状态是所述操作系统的允许的体验状态之一,以及 通过使用所述关系数据来确定在所述目标体验状态中的组件,将所述操作系统的体验状态从第一体验状态改变到所述目标体验状态。
9.如权利要求8所述的系统,其特征在于,所述数据存储被进一步用于存储指示所述操作系统被允许保持在允许的体验状态中的时间长度的策略。
10.如权利要求8所述的系统,其特征在于,所述数据存储被用于提供对指示操作系统的允许的体验状态的状态数据的访问包括所述数据存储被用于提供对指示被指定为被测试和支持的体验状态的状态数据的访问。
全文摘要
在此所描述的主题的各方面涉及操作系统体验状态。可接收到请求从当前体验状态到目标体验状态的改变的输入。作为响应,可获得指示允许的体验状态的状态数据以及指示目标体验状态中的组件和目标体验状态中各组件之间的关系的组件数据。该状态数据接着可被用于从当前体验状态改变到目标体验状态。目标体验状态可被用于例如配置服务器或其他操作系统。
文档编号G06F9/44GK102707942SQ20121004921
公开日2012年10月3日 申请日期2012年2月28日 优先权日2011年2月28日
发明者A·T·梅森, B·T·鲍尔, D·B·克罗斯, I·W·鲁宾逊 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1