CN101346714B - 在计算机系统中用于保证内容映像的执行的方法 - Google Patents

在计算机系统中用于保证内容映像的执行的方法 Download PDF

Info

Publication number
CN101346714B
CN101346714B CN2006800487389A CN200680048738A CN101346714B CN 101346714 B CN101346714 B CN 101346714B CN 2006800487389 A CN2006800487389 A CN 2006800487389A CN 200680048738 A CN200680048738 A CN 200680048738A CN 101346714 B CN101346714 B CN 101346714B
Authority
CN
China
Prior art keywords
service window
content image
time
policy
machine
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.)
Expired - Fee Related
Application number
CN2006800487389A
Other languages
English (en)
Other versions
CN101346714A (zh
Inventor
K·史密斯
A·玛扎卡
D·密尔顿
D·拉杰普里
D·格拉夫
S·科汉
R·达科
K·埃奎巴尔
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 CN101346714A publication Critical patent/CN101346714A/zh
Application granted granted Critical
Publication of CN101346714B publication Critical patent/CN101346714B/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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Abstract

提供了一种在计算机系统中用于保证内容映像的执行的方法,包括:在所述计算机系统上执行的更新客户端(504)的控制下,获取用于在计算机系统上执行的内容映像及其相关联的内容映像策略(704),内容映像策略为内容映像指定一大致执行时间;通过比较当前时间、一服务窗口的开始时间和结束时间以及内容映像的大致执行时间来确定服务窗口是否可用于执行内容映像(710),其中,如果当前时间在服务窗口的开始时间和结束时间之间,且服务窗口的当前时间和结束时间之间的时间段大于内容映像的大致执行时间,则服务窗口可用于执行内容映像;以及在确定服务窗口可用时,在计算机系统上执行内容映像(708)。

Description

在计算机系统中用于保证内容映像的执行的方法
技术领域
本申请涉及计算机技术,尤其涉及用于保证一软件程序仅在指定的时间段期间在机器上执行的技术。
背景技术
一家企业即使没有数千个,也有数百个计算机系统并不罕见。这些计算机系统通常在包括系统软件(即,操作系统、驱动程序等)和应用软件在内的软件的控制下操作。
对于这些企业而言,对其计算机系统上的软件分发和软件更新的正确管理可能是一项复杂、昂贵、令人沮丧的、并且耗时的任务。例如,企业可能既需要追踪安装在每个计算机系统上的软件,包括软件的版本和发行,又需要追踪计算机系统上的其他资源。追踪安装每个计算机系统上的软件使该企业既能够确定在哪里按需部署另外的软件、软件更新以及其他资源,又能够确定该软件是否遵守适用的软件许可证。
许多企业利用市场上可购买到的软件管理产品来管理其计算机系统上的软件的分发。虽然这些软件管理产品提供了允许在一特定的日期和时间调度程序(例如,软件程序)执行的适当的软件分发和软件更新管理特征,但是该软件管理产品并不能够保证一程序在计算机系统上实际执行的时间。对于依赖于时间敏感应用程序的、并且因此不允许或许可在指定的时间段之外对其计算机系统进行改变的企业来说,这成为一个问题。
发明内容
提供了用于保证一软件程序仅在指定的时间段期间在机器上执行的技术。服务窗口定义在其间允许以在一机器上执行为目标的软件程序在该机器上执行的各时间段。在该机器上,服务窗口结合在该机器上执行的客户端进程工作,以保证各软件程序仅在可用的服务窗口中由该客户端进程执行。
根据本发明的一方面,提供了一种在计算机系统中用于保证内容映像的执行的方法,所述方法包括:在所述计算机系统上执行的更新客户端的控制下,获取用于在所述计算机系统上执行的所述内容映像及其相关联的内容映像策略,所述内容映像策略为所述内容映像指定一大致执行时间;通过比较当前时间、一服务窗口的开始时间和结束时间以及所述内容映像的大致执行时间来确定所述服务窗口是否可用于执行所述内容映像,其中,如果所述当前时间在所述服务窗口的开始时间和结束时间之间,且所述服务窗口的当前时间和结束时间之间的时间段大于所述内容映像的大致执行时间,则所述服务窗口可用于执行所述内容映像;以及在确定所述服务窗口可用时,在所述计算机系统上执行所述内容映像。
提供本概要以便用简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概要并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
附图说明
图1是示出服务窗口部署系统可在其中操作的一示例环境的高级框图。
图2是根据某些实施例示出一示例内容分发策略的框图。
图3是根据某些实施例示出一示例内容映像策略的框图。
图4是根据某些实施例示出一示例服务窗口策略的框图。
图5是根据某些实施例示出客户端机器的所选组件的框图。
图6是根据某些实施例示出客户端机器上的更新客户端检索适用策略的处理的流程图。
图7是根据某些实施例示出客户端机器上的更新客户端执行内容映像的处理的流程图。
图8是根据某些实施例示出客户端机器上的更新客户端标识出可用服务窗口的处理的流程图。
具体实施方式
提供了用于保证软件程序仅在指定的时间段内在计算机系统(此处也被称为“机器”)上执行的各种技术。各服务窗口定义了在其间允许以一台或多台机器的一特定组(此处也被称为“集合”)为目标的各软件程序(例如,操作系统、反病毒程序、管理程序、软件程序的更新、软件程序的更新和其他类型的内容)执行的时间段。在每台机器上,该服务窗口结合在该机器上执行的诸如更新客户端等的客户端进程工作以便保证各软件程序仅在可用服务窗口中由更新客户端执行。以此方式,服务窗口向管理员提供了控制何时允许一程序在其环境中的机器(例如,客户机和/或服务器机器)上执行的能力。例如,管理员可定义一个或多个服务窗口以便部署在他/她的环境中的一机器集合中的每台机器上。当被部署时,各服务窗口允许以这些机器中的每一台为目标的软件程序和更新仅在指定的服务窗口之一中执行。
在某些实施例中,一服务窗口指定具有可以跨越几天的开始和结束时间的时间窗口。该指定的时间窗口指示在其间允许一程序执行的时间段。例如,管理员可使用服务窗口来指定一周中在其间机器上的更新客户端可执行目标软件程序和软件更新的某几小时。当一服务窗口变得可用时,软件程序可在该服务窗口期间执行。在软件程序的上下文中。当(1)当前时间是在服务窗口中指定的时间窗口之内,以及(2)在服务窗口中剩下足够的时间(即,从当前时间到时间窗口结束的时间长度)用于软件程序执行时,该服务窗口被认为是可用的。管理员可将一大致执行时间分配给软件程序。这使得更新客户端能够确定对于软件程序来说是否有足够的时间来执行。如果没有为软件程序提供一大致执行时间,则更新客户端可将一默认值赋值给该大致执行时间。例如,该默认值可基于诸如,作为示例,一天中的时间、软件程序的大小、机器上的当前负载等因素。
在某些实施例中,在服务窗口可用的同时正在运行的(例如,该软件程序正在服务窗口期间运行)并且继续在该服务窗口结束的时间之外运行的软件程序将被允许运行直到该软件程序结束运行或直到达到预定的最长运行时间。在软件程序没有完成却达到预定运行时间的情况中,该软件程序可以是“孤立的”。或者,在其他实施例中,继续在服务窗口之外执行的软件程序可以由例如更新客户端来终止。在某些实施例中,不准许继续在可用的服务窗口结束的时间之外运行的软件程序重启机器。例如,一软件程序可包括执行机器的重启的指令。如果当服务窗口可用的时候该软件程序开始运行并且在该服务窗口结束后试图执行该指令(例如,执行重启),则该软件程序将会停止执行该重启指令(例如,该重启操作将会被截取并且不被执行)。在某些实施例中,该软件程序可以已与一忽略重启限制的指令相关联。例如,管理员能够设置一忽略重启标志来指示即使在服务窗口结束后该软件程序试图重启,该软件程序也被允许来重启该机器。如果为一软件程序设置了忽略重启标志,则在服务窗口结束后该软件程序将不会停止执行重启指令。
在某些实施例中,服务窗口可指定影响等级。例如,该影响等级可被指定为在“1”(低)和“10”(高)之间的一个范围。管理员能够为服务窗口指定一影响等级。同样,该管理员可将一影响等级分配给一软件程序,其中该影响等级是该软件程序对该机器所具有的影响的指示。当为服务窗口指定一影响等级时,只有和服务窗口的影响等级相等或更低影响等级的软件程序可以在该服务窗口中执行。如果没有为软件程序提供影响等级,则更新客户端可将一默认的影响等级分配给该软件程序。例如,更新客户端可将最高影响等级分配给软件程序。
在某些实施例中,服务窗口可指定一优先等级。例如,该优先等级可被指定为在“1”(低)和“10”(高)之间的一个范围。管理员能够为服务窗口指定一优先等级。同样,该管理员能够将一优先级分配给软件程序,其中该优先级是该软件程序的重要性的指示。例如,一病毒攻击修补程序比一简单的程序特征增强更重要,并且可能将一比特征增强的优先级更高的优先级分配给该病毒攻击修补。当为服务窗口指定一优先等级时,只有和服务窗口的优先等级相等或更高优先级的软件程序可以在该服务窗口中执行。如果没有为软件程序提供一优先等级,则更新客户端可将一默认的优先级分配给该软件程序。例如,更新客户端可将最低的优先级分配给软件程序。在某些实施例中,各软件程序在一可用的服务窗口期间基于其优先级次序来执行。例如,当多个软件程序能在一服务窗口中执行时,各软件程序基于分配给每个程序的优先级,从高优先级程序到低优先级程序来执行。
在某些实施例中,服务窗口可指定该服务窗口是否被启用(即,该服务窗口是否为活动的)。例如,服务窗口可包括可用来指示该服务窗口是否被启用的启用/禁用标志。管理员可使用该启用/禁用标志以指示该服务窗口或者被启用或者被禁用。如果服务窗口被启用,则该服务窗口可被更新客户端在执行软件程序时考虑。相反,如果服务窗口被禁用,则该服务窗口不被更新客户端在执行软件程序时考虑。
在某些实施例中,机器上的一个或多个服务窗口可以被忽略。软件程序可与用来忽略服务窗口使对于此软件程序的应用的服务窗口忽略指示符相关联。如果设置了或存在服务窗口忽略指示符,则更新客户端会在没有应用该服务窗口的情况下执行软件程序。换言之,如果设置了服务窗口忽略指示符,则会在不检查可用的服务窗口的情况下执行软件程序。此特征向管理员提供了忽略服务窗口的选项,以便例如基于关键业务需求来运行诸如安全软件程序或更新等的关键软件程序。
在某些实施例中,各服务窗口和软件程序可使用诸如由微软的系统管理服务器(SMS)等提供的软件分发基础结构来部署到机器。该SMS体系结构提供了用于对一大组基于WINDOWS的机器进行改变和配置管理的全面的解决方案。SMS向管理员提供了管理网络上的机器、从中央位置将软件分发到各机器、检测网络上的机器、跟踪软件和硬件配置以及从远程位置执行机器上的其他任务的能力。
该SMS基础结构仅构成可用于将服务窗口和服务程序部署到各机器的一个合适的范例。本领域的技术人员可以理解,可利用由各种公知的软件配置和发行管理系统中的任意一种提供的其他范例来将服务窗口和软件程序部署到各机器。本领域的技术人员还可以理解,可以在没有利用由软件配置和发行管理系统提供的服务的情况下将服务窗口和软件程序部署到各机器。
图1是示出服务窗口部署系统可在其中操作的一示例环境的高级框图。该操作环境只是合适的操作环境的一个示例,且并不旨在建议关于服务窗口部署系统的使用范围或功能的任何限制。如图所示,该环境包括管理服务器102、分发服务器104以及各自耦合到网络108的机器106a-n的集合106。为了简单起见,图1中仅示出了一个管理服务器、分发服务器和集合,并且本领域的技术人员可以理解,管理服务器和分发服务器各自都可由多个服务器组成并且可以有其他的机器集合。如此处所使用的,术语“连接的”、“耦合的”或其任何变体意思是在两个或多个元件之间的直接的或间接的任何连接或耦合;各元件之间的耦合或连接可以是物理的、逻辑的或其组合。
一般而言,管理服务器有助于对机器组合的配置管理和发行管理。管理服务器提供管理员可用于创建用于在机器集合上部署服务窗口和内容映像(例如,软件程序映像)的策略的管理控制台。在某些实施例中,管理控制台可提供向导、图形用户界面和/或其他合适的编辑器,这些编辑器向管理员提供了创建诸如内容分发策略、内容映像策略以及服务窗口策略等策略的能力。例如,向导可询问管理员大量简单的问题,并且通过使用对所询问问题的回答,向导可为管理员构建适当的策略。内容分发策略包含用于向一目标机器集合分发内容映像的特性。内容映像策略与一内容映像相关联,并包含相关联的内容映像的特性。服务窗口策略是以一机器集合为目标的,并包含一个或多个服务窗口,包括每个所包含的服务窗口的特性。管理服务器可在诸如数据库等的持久数据存储中维护策略和内容映像。
一般而言,分发服务器用作各机器可获得内容映像的分发点。例如,管理服务器可向一个或多个分发服务器分发内容映像,并且个别机器可从分发服务器获取内容映像。
一般而言,集合定义了一台或多台机器的一个组。例如,作为“数据中心”的所有机器可被定义为在一个集合中。类似地,在某一地点的所有机器(例如,在4号楼1-3层的所有机器)可被定义为在一个集合中。
在一典型的场景中,管理员使用管理服务器的管理员控制台来创建策略(例如,内容分发策略、内容映像策略以及服务窗口策略)并且指定向其应用该策略的目标机器集合。例如,管理员可为将要被部署到机器集合的每个内容映像创建内容分发策略。对于每个内容映像,管理员可创建/更新/修改内容映像策略以便指定该内容映像的各种特性。管理员还可创建/更新/修改服务窗口策略,包括将要被部署在机器集合上的策略中指定的服务窗口。一旦创建了策略,管理员可使用管理服务器来向适当的分发服务器分发内容映像。在每台机器上,诸如更新客户端等的客户端进程周期性地向管理服务器查询以该机器为目标的策略。作为响应,该机器从管理服务器接收任何新的内容分发策略和服务窗口策略。然后,每台机器上的客户端进程处理新接收到的策略。例如,客户端进程基于从管理服务器接收到的新的内容分发策略来从适当的分发服务器获取内容映像及其相关联的内容映像策略。然后,每台机器上的客户端进程基于其相关联的内容映像策略和服务窗口策略来执行所获取的内容映像。
一般而言,网络是有助于例如在附连的机器集合、管理服务器和分发服务器之间进行电子内容传输的通信链路。在某些实施例中,网络包括因特网。可以理解,网络可由诸如局域网、广域网、点对点拨号网络等等的一种或多种其他类型的网络组成。
在其上实现服务窗口部署系统,包括目标机器、管理服务器和分发服务器的计算设备可包括中央处理单元、存储器、输入设备(例如,键盘和定点设备)、输出设备(例如,显示设备)以及存储设备(例如,磁盘驱动器)。存储器和存储设备是可包含实现服务窗口部署系统的指令的计算机可读媒体。此外,可通过诸如通信链路上的信号等的数据传输介质来存储或发送数据结构和消息结构。可使用诸如因特网、局域网、广域网、点对点拨号链接、手机网络等等的各种通信链路。
本系统的各实施例可在各种操作环境中实现,该操作环境包括个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、数码照相机、网络PC、小型机、大型计算机、包括任何以上系统或设备的分布式计算环境等等。计算机系统可以是手机、个人数字助理、智能电话、个人计算机、可编程消费电子产品、数码照相机等等。
本系统可在诸如程序模块等由一个或多个计算机或其他设备执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块可包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,在各种实施例中可根据需要组合或分布程序模块的功能。
图2是根据某些实施例示出一示例内容分发策略的框图。内容分发策略可由管理员为要被下载到目标机器集合上且要在其上执行的每个内容映像创建,并且包含管控每台机器对该内容映像的下载的一个或多个特性。如图所示,内容分发策略202包括内容映像可用于下载到机器上的时间的指示、在其后内容映像不再可用于下载到机器上的时间的指示、以及从中可下载内容映像的位置的指示(例如,从中可获取内容映像的分发服务器)。
图3是根据某些实施例示出一示例内容映像策略的框图。内容映像策略可由管理员来创建,并且包含相对应的内容映像的一个或多个特性。如图所示,内容映像策略302包括优先等级、影响等级、忽略重启标志、服从服务窗口策略标志、执行语句以及大致执行时间。当提供了优先等级时,该优先等级指定相对应的内容映像的优先级。当提供了影响等级时,该影响等级是相对应的内容映像对于机器将具有的影响的等级的估计。当提供了忽略重启标志时,该标志指示当在服务窗口之外执行时,相对应的内容映像是否应被允许重启机器。当提供了服从服务窗口策略标志时,该标志指示服务窗口策略是否将被应用于相对应的内容映像。执行语句指定将要执行相对应的内容映像的方式。大致执行时间是相对应的内容映像执行所需要的时间量的估计。
图4是根据某些实施例示出一示例服务窗口策略的框图。服务窗口策略可由管理员来创建以控制其环境中的机器上的内容映像的执行。服务窗口策略包括一个或多个服务窗口,例如服务窗口404a-g。因此,服务窗口策略允许多个服务窗口以各机器集合为目标(或不再以其为目标)。服务窗口策略中的每个服务窗口定义了一个服务窗口并包含所定义的服务窗口的各种特性。如图4所示,服务窗口包括开始时间、结束时间、一周的各天、启用/禁用标志、影响等级以及优先等级。开始时间和结束时间分别指定了所定义的服务窗口的开始时间和结束时间。一周的各天指示所定义的服务窗口可用的(即,活动的)各天。当提供了启用/禁用标志时,该标志指示服务窗口是将被启用还是禁用。例如,禁用服务窗口类似于将服务窗口从服务窗口策略中移除。当提供了影响等级时,该影响等级指定了被允许在所定义的服务窗口期间执行的内容映像的最高影响等级。当提供了优先等级时,该优先等级指定了被允许在所定义的服务窗口期间执行的内容映像的最低优先等级。本领域的普通技术人员可以理解,一个或多个特性可以是可任选的,并且不会提供给服务窗口。此外,在服务窗口策略中所包含的各服务窗口可包含各种不同的特性。换而言之,服务窗口中所包含的各服务窗口不必包含相同的特性。
图5是根据某些实施例示出客户端机器的所选组件的框图。如图所示,客户端机器106a包括内容映像502和相对应的内容映像策略302、服务窗口策略402以及更新客户端504。内容映像是将要在机器上被执行的软件程序映像。内容映像策略包含相对应的内容映像的各种特性。更新客户端是在客户端机器上执行的客户端进程,该客户端进程用于向管理服务器查询新策略、处理从管理服务器接收到的各策略,例如,下载内容映像及其相对应的内容映像策略、以及基于内容映像策略和服务窗口策略来执行内容映像。
图6是根据某些实施例示出客户端机器上的更新客户端检索适用的策略的处理的流程图。在框602中,更新客户端向管理服务器查询以客户端机器为目标的新策略。在框604中,更新客户端从管理服务器接收新策略。在框606中,更新客户端处理从管理服务器接收到的新策略。例如,更新客户端可通过基于内容分发策略的内容来下载相对应的内容映像及其内容映像策略,并且一旦下载到客户端机器上,就基于内容映像策略和服务窗口策略来执行内容映像,来处理内容分发策略。
本领域的技术人员可以理解,对于此处所公开的这些和其他过程和方法,在各过程和方法中执行的各功能可以按不同的次序来实现。此外,所略述的各步骤仅仅是示例性的,并且某些步骤可以是可任选的、与更少的步骤相结合或扩展为另外的步骤。
图7是根据某些实施例示出客户端机器上的更新客户端执行内容映像的处理的流程图。对于从管理服务器接收到的并且需要在客户端机器上处理的每一内容分发策略(框702),更新客户端执行框704到712,直到处理了所有的内容分发策略(框714)。在框704中,更新客户端基于内容分发策略来获取内容映像以及相关联的内容映像策略。在框706中,更新客户端检查内容映像策略以确定是否要应用服务窗口策略。如果内容映像策略指定将不向内容映像的执行应用服务窗口策略,则在框708中,更新客户端在客户端机器上执行该内容映像,并继续处理下一个内容分发策略。否则,如果更新客户端从内容映像策略中确定将向内容映像的执行应用服务窗口策略,则在框710中,更新客户端检查服务窗口策略以确定服务窗口是否是可用的。如果服务窗口是可用的,则该更新客户端在可用的服务窗口期间执行该内容映像(框708),并继续处理下一个内容分发策略。否则,如果更新客户端确定在服务窗口中没有服务窗口是可用的,则在框712中,更新客户端发出在服务窗口变得可用时得到通知的请求,并继续处理下一个内容分发策略。例如,更新客户端可对在客户端机器上执行的操作系统设置当服务窗口变得可用时被调用的中断,或可周期性地轮询可用的服务窗口。
图8是根据某些实施例示出客产端机器上的更新客户端标识可用服务窗口的处理的流程图。在框802中,更新客户端确定内容映像的影响等级。在某些实施例中,如果没有为内容映像提供影响等级,则更新客户端将一默认的影响等级分配给该内容映像。在框804中,更新客户端标识服务窗口策略中所定义的满足内容映像的影响等级的所有服务窗口。例如,更新客户端标识被分配了至少和内容映像的影响等级一样高的影响等级的所有服务窗口。在框806中,更新客户端确定分配给内容映像的优先级。在某些实施例中,如果没有将优先级分配给内容映像,则更新客户端将一默认的优先级分配给内容映像。在框808中,更新客户端标识满足影响等级、并且还满足分配给内容映像的优先级的服务窗口。例如,从满足影响等级的服务窗口中,更新客户端标识被分配了与分配给内容映像的优先级相同或更低的优先级的所有服务窗口。然后,对于每个所标识的服务窗口(框810),更新客户端执行框812和814,直到处理了所有标识的服务窗口(框816)。在框812中,更新客户端检查服务窗口以确定该服务窗口是否可用于执行内容映像。例如,更新客户端可检查服务窗口以确定在服务窗口中剩下足够的时间来执行内容映像。如果服务窗口可用于执行内容映像,则在框814中,更新客户端指示该服务窗口是可用的,并继续处理下一个所标识的服务窗口。否则,如果服务窗口不可用于执行执行内容映像,则更新客户端继续处理下一个所标识的服务窗口。
尽管以对结构性特征和/或方法性动作专用的语言描述了本主题,但要理解的是,在所附权利要求中定义的主题不一定限于以上描述的具体特征或动作。相反,以上描述的具体特征和动作是作为实现权利要求的示例形式而公开的。

Claims (8)

1.一种在计算机系统中用于保证内容映像的执行的方法,所述方法包括:
在所述计算机系统上执行的更新客户端(504)的控制下,
获取用于在所述计算机系统上执行的所述内容映像及其相关联的内容映像策略(704),所述内容映像策略为所述内容映像指定一大致执行时间;
通过比较当前时间、一服务窗口的开始时间和结束时间以及所述内容映像的大致执行时间来确定所述服务窗口是否可用于执行所述内容映像(710),其中,如果所述当前时间在所述服务窗口的开始时间和结束时间之间,且所述服务窗口的当前时间和结束时间之间的时间段大于所述内容映像的大致执行时间,则所述服务窗口可用于执行所述内容映像;以及
在确定所述服务窗口可用时,在所述计算机系统上执行所述内容映像(708)。
2.权利要求1所述的方法,其特征在于,还包括在确定没有所述服务窗口可用时,请求在一服务窗口变得可用时得到通知(712)。
3.如权利要求2所述的方法,其特征在于,一服务窗口在当前时间在所述服务窗口的开始时间和结束时间之间的时候变得可用。
4.如权利要求1所述的方法,其特征在于,在确定一服务窗口是否可用于执行所述内容映像时使用一影响等级。
5.如权利要求1所述的方法,其特征在于,在确定一服务窗口是否可用于执行所述内容映像时使用一优先等级。
6.如权利要求1所述的方法,其特征在于,所述内容映像策略还指定了关于是否服从一服务窗口策略的指示,并且其中,所述关于是否服从服务窗口策略的指示在确定一服务窗口是否可用于执行所述内容映像时使用。
7.权利要求1所述的方法,其特征在于,还包括在确定所述内容映像正在所述可用服务窗口的结束时间之外执行时,禁止所述内容映像重启所述计算机系统。
8.权利要求1所述的方法,其特征在于,还包括在确定所述内容映像正在所述可用的服务窗口的结束时间之外执行时,允许所述内容映像执行直到达到预定的最长运行时间。
CN2006800487389A 2005-12-22 2006-11-22 在计算机系统中用于保证内容映像的执行的方法 Expired - Fee Related CN101346714B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/317,645 US8495613B2 (en) 2005-12-22 2005-12-22 Program execution service windows
US11/317,645 2005-12-22
PCT/US2006/045387 WO2007075248A1 (en) 2005-12-22 2006-11-22 Program execution service windows

Publications (2)

Publication Number Publication Date
CN101346714A CN101346714A (zh) 2009-01-14
CN101346714B true CN101346714B (zh) 2010-05-26

Family

ID=38195352

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2006800487389A Expired - Fee Related CN101346714B (zh) 2005-12-22 2006-11-22 在计算机系统中用于保证内容映像的执行的方法

Country Status (11)

Country Link
US (2) US8495613B2 (zh)
EP (1) EP1963989B1 (zh)
JP (1) JP2009521746A (zh)
KR (1) KR101265816B1 (zh)
CN (1) CN101346714B (zh)
AU (1) AU2006330029A1 (zh)
ES (1) ES2638162T3 (zh)
IL (1) IL190495A0 (zh)
NO (1) NO20081563L (zh)
NZ (1) NZ569085A (zh)
WO (1) WO2007075248A1 (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8495613B2 (en) * 2005-12-22 2013-07-23 Microsoft Corporation Program execution service windows
US7958216B2 (en) * 2006-03-31 2011-06-07 Sap Ag Method for implementing an unplanned shutdown of a computer system
US8572599B2 (en) * 2008-06-23 2013-10-29 Verizon Patent And Licensing Inc. Provisioning device make and model information for firmware over-the-air (FOTA)
US8019732B2 (en) 2008-08-08 2011-09-13 Amazon Technologies, Inc. Managing access of multiple executing programs to non-local block data storage
US20110185354A1 (en) * 2010-01-26 2011-07-28 Emdigo Inc. Mobile Application Delivery Management System
US9083772B2 (en) 2010-04-30 2015-07-14 Qualcomm Incorporated Exchanging data associated with a communication session within a communications system
JP5449044B2 (ja) * 2010-06-10 2014-03-19 シャープ株式会社 サーバ装置、端末装置およびアプリケーション制御システム
EP3525087A1 (en) * 2010-08-06 2019-08-14 Frederick Furtek A method and apparatus for a compiler and related components for stream-based computations for a general-purpose, multiple-core system
US10657034B2 (en) * 2016-07-25 2020-05-19 International Business Machines Corporation System testing using time compression
JP2018022370A (ja) * 2016-08-04 2018-02-08 キヤノン株式会社 アプリケーション実行装置及びその制御方法、並びにプログラム
US11200043B2 (en) * 2018-07-30 2021-12-14 International Business Machines Corporation Analyzing software change impact based on machine learning
US11363109B2 (en) * 2020-03-23 2022-06-14 Dell Products L.P. Autonomous intelligent system for feature enhancement and improvement prioritization
US11630452B2 (en) * 2020-05-22 2023-04-18 Hitachi, Ltd. Scheduling system and method for online program update

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1449521A (zh) * 2000-08-31 2003-10-15 关一 计算机系统

Family Cites Families (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155847A (en) * 1988-08-03 1992-10-13 Minicom Data Corporation Method and apparatus for updating software at remote locations
US5473772A (en) * 1991-04-02 1995-12-05 International Business Machines Corporation Automatic update of static and dynamic files at a remote network node in response to calls issued by or for application programs
US5210872A (en) * 1991-06-28 1993-05-11 Texas Instruments Inc. Critical task scheduling for real-time systems
JPH05265775A (ja) * 1992-03-19 1993-10-15 Hitachi Ltd ジョブ実行予測制御方法およびジョブ実行状況表示方法
US5392430A (en) * 1992-10-30 1995-02-21 International Business Machines Hierarchical scheduling method for processing tasks having precedence constraints on a parallel processing system
DE69304928T2 (de) * 1992-12-23 1997-04-03 Taligent Inc Atomares befehlsystem
US5694546A (en) * 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
FR2723653B1 (fr) * 1994-08-11 1996-09-13 Cegelec Procede pour ordonnancer des taches successives qui ne subissent que des contraintes du type delais
FR2723652B1 (fr) * 1994-08-11 1996-09-13 Cegelec Procede pour ordonnancer des taches successives
US5680548A (en) * 1994-12-02 1997-10-21 Xcellenet, Inc. Systems and methods for work assignment and distribution from a server to remote/mobile nodes
US5742829A (en) * 1995-03-10 1998-04-21 Microsoft Corporation Automatic software installation on heterogeneous networked client computer systems
US5764992A (en) * 1995-06-06 1998-06-09 Apple Computer, Inc. Method and apparatus for automatic software replacement
US6279153B1 (en) * 1995-10-16 2001-08-21 Nec Corporation Multi-user flash ROM update
US5708812A (en) * 1996-01-18 1998-01-13 Microsoft Corporation Method and apparatus for Migrating from a source domain network controller to a target domain network controller
US5919247A (en) * 1996-07-24 1999-07-06 Marimba, Inc. Method for the distribution of code and data updates
US6237020B1 (en) * 1996-10-01 2001-05-22 International Business Machines Corporation Task-oriented automatic distribution of software
US6317774B1 (en) * 1997-01-09 2001-11-13 Microsoft Corporation Providing predictable scheduling of programs using a repeating precomputed schedule
US6263359B1 (en) * 1997-05-22 2001-07-17 International Business Machines Corporation Computer resource proportional utilization and response time scheduling
US6049868A (en) * 1997-06-25 2000-04-11 Sun Microsystems, Inc. Apparatus for delivering precise traps and interrupts in an out-of-order processor
US20010054064A1 (en) * 1997-07-02 2001-12-20 Pallipuram V. Kannan Method system and computer program product for providing customer service over the world-wide web
CA2297935A1 (en) * 1997-07-25 1999-02-04 British Telecommunications Public Limited Company Scheduler for a software system
EP0910008A3 (en) * 1997-10-14 2005-01-26 Canon Kabushiki Kaisha Apparatus and method for changing, adding and deleting a job, and a storage medium for such a program
US6023586A (en) * 1998-02-10 2000-02-08 Novell, Inc. Integrity verifying and correcting software
US6810503B1 (en) * 1998-02-11 2004-10-26 Microsoft Corporation Method and apparatus for controlling the timing of the invocation of events within a computer runtime environment
US6182238B1 (en) * 1998-05-14 2001-01-30 Intel Corporation Fault tolerant task dispatching
US6813777B1 (en) * 1998-05-26 2004-11-02 Rockwell Collins Transaction dispatcher for a passenger entertainment system, method and article of manufacture
US6345386B1 (en) * 1998-09-21 2002-02-05 Microsoft Corporation Method and system for advertising applications
US6323882B1 (en) * 1998-10-26 2001-11-27 Simulation Sciences, Inc. Method and systems for a graphical real time flow task scheduler
JP3778720B2 (ja) * 1999-02-26 2006-05-24 沖電気工業株式会社 ソフトウェア更新方法
US6571389B1 (en) * 1999-04-27 2003-05-27 International Business Machines Corporation System and method for improving the manageability and usability of a Java environment
US6625636B1 (en) * 1999-05-13 2003-09-23 International Business Machines Corporation Job protection within a distributed processing system having subsystem downtime
JP3636012B2 (ja) 1999-12-06 2005-04-06 株式会社日立製作所 情報処理システム、情報処理装置およびソフトウェアのインストール方法
US6546554B1 (en) * 2000-01-21 2003-04-08 Sun Microsystems, Inc. Browser-independent and automatic apparatus and method for receiving, installing and launching applications from a browser on a client computer
KR100302511B1 (ko) 2000-03-09 2001-11-03 김재성, 이두원 인터넷상에서의 서비스 완료예정시간 표시방법
GB2361784A (en) 2000-04-28 2001-10-31 3Com Corp Automatic installation of software in a network
JP2002007364A (ja) * 2000-06-22 2002-01-11 Fujitsu Ltd 並列計算機システムのジョブスケジューリングを行うスケジューリング装置
JP3636984B2 (ja) * 2000-11-09 2005-04-06 株式会社日立製作所 Icカードシステム用記録媒体及びicカードシステム
FR2818769B1 (fr) * 2000-12-21 2004-06-18 Eads Airbus Sa Procede et systeme d'exploitation temps reel multitaches
US20020147974A1 (en) * 2001-02-09 2002-10-10 Wookey Michael J. Networked installation system for deploying systems management platforms
GB2374688B (en) * 2001-04-19 2004-12-29 Ibm A method and system for distributing software features to a computer
US7131123B2 (en) * 2001-04-30 2006-10-31 Opsware Inc. Automated provisioning of computing networks using a network database model
US6993763B2 (en) * 2001-06-26 2006-01-31 International Business Machines Corporation Technique for scheduling execution of jobs for or by network-connected devices
US6854112B2 (en) * 2001-08-29 2005-02-08 International Business Machines Corporation System and method for the automatic installation and configuration of an operating system
JP2003114806A (ja) * 2001-10-04 2003-04-18 Hitachi Ltd Os更新方法及びセキュリティ制御方法並びにその実施装置
US20030135643A1 (en) * 2002-01-11 2003-07-17 Chaucer Chiu Data transmission scheduling system and method
US7093004B2 (en) * 2002-02-04 2006-08-15 Datasynapse, Inc. Using execution statistics to select tasks for redundant assignment in a distributed computing platform
US20030149717A1 (en) * 2002-02-05 2003-08-07 William Heinzman Batch processing job streams using and/or precedence logic
US7120648B2 (en) * 2002-02-26 2006-10-10 International Business Machines Corporation System and method for predicting execution time of a database utility command
JPWO2003083693A1 (ja) * 2002-04-03 2005-08-04 富士通株式会社 分散処理システムにおけるタスクスケジューリング装置
US20030204547A1 (en) * 2002-04-29 2003-10-30 Kevin Davis Technique for scheduling computer processes
US20040093595A1 (en) * 2002-08-08 2004-05-13 Eric Bilange Software application framework for network-connected devices
US6782302B1 (en) * 2002-08-30 2004-08-24 Advanced Micro Devices, Inc. Method and apparatus for scheduling workpieces with compatible processing requirements
US6801819B1 (en) * 2002-08-30 2004-10-05 Advanced Micro Devices, Inc. Method and apparatus for evaluating bids for scheduling a resource
US7216343B2 (en) * 2002-09-20 2007-05-08 International Business Machines Corporation Method and apparatus for automatic updating and testing of software
US7150014B2 (en) * 2002-10-04 2006-12-12 Hewlett-Packard Development Company, L.P. Automatically deploying software packages used in computer systems
US7194385B2 (en) * 2002-11-12 2007-03-20 Arm Limited Performance level setting of a data processing system
KR100496871B1 (ko) 2002-12-13 2005-06-22 한국전자통신연구원 웹서비스 테스터 및 웹서비스 테스트 방법
US7584467B2 (en) * 2003-03-17 2009-09-01 Microsoft Corporation Software updating system and method
US20040187104A1 (en) * 2003-03-18 2004-09-23 Shantanu Sardesai Operating system deployment methods and systems
US7228539B2 (en) * 2003-06-16 2007-06-05 Lucent Technologies Inc. Method and apparatus for updating inter-server communication software
US8112764B2 (en) * 2003-11-20 2012-02-07 Microsoft Corporation Devices as services in a decentralized operating system
US20050120106A1 (en) * 2003-12-02 2005-06-02 Nokia, Inc. System and method for distributing software updates to a network appliance
US7533384B2 (en) * 2004-05-27 2009-05-12 International Business Machines Corporation Job routing to earliest available resources in a parallel job scheduler
US8161453B2 (en) * 2004-11-16 2012-04-17 Rabih Chrabieh Method and apparatus for implementing task management of computer operations
US7490073B1 (en) * 2004-12-21 2009-02-10 Zenprise, Inc. Systems and methods for encoding knowledge for automated management of software application deployments
US7793294B2 (en) * 2005-02-22 2010-09-07 Northrop Grumman Corporation System for scheduling tasks within an available schedule time period based on an earliest possible end time of the task
US7979859B2 (en) * 2005-05-03 2011-07-12 International Business Machines Corporation Managing automated resource provisioning with a workload scheduler
US8495613B2 (en) * 2005-12-22 2013-07-23 Microsoft Corporation Program execution service windows
US8176483B2 (en) * 2005-12-30 2012-05-08 Sap Ag Software maintenance management
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US9038062B2 (en) * 2006-10-17 2015-05-19 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
KR20090031111A (ko) * 2007-09-21 2009-03-25 삼성전자주식회사 화상형성장치 드라이버 프로그램의 관리 방법 및 장치
US8701121B2 (en) * 2011-06-27 2014-04-15 Khalifa University Of Science, Technology And Research Method and system for reactive scheduling

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1449521A (zh) * 2000-08-31 2003-10-15 关一 计算机系统

Also Published As

Publication number Publication date
AU2006330029A1 (en) 2007-07-05
CN101346714A (zh) 2009-01-14
ES2638162T3 (es) 2017-10-19
US8495613B2 (en) 2013-07-23
NZ569085A (en) 2011-09-30
WO2007075248A1 (en) 2007-07-05
EP1963989A4 (en) 2010-01-06
US20140165051A1 (en) 2014-06-12
EP1963989A1 (en) 2008-09-03
KR101265816B1 (ko) 2013-05-20
NO20081563L (no) 2008-05-22
US9195450B2 (en) 2015-11-24
IL190495A0 (en) 2008-11-03
JP2009521746A (ja) 2009-06-04
EP1963989B1 (en) 2017-05-31
KR20080085853A (ko) 2008-09-24
US20070150815A1 (en) 2007-06-28

Similar Documents

Publication Publication Date Title
CN101346714B (zh) 在计算机系统中用于保证内容映像的执行的方法
US9383993B2 (en) Enterprise wide software version recommendation
US9740522B2 (en) Controlled interruption and resumption of batch job processing
US8996701B2 (en) Computer resource distribution method based on prediction
CN1272707C (zh) 用于进行远程软件分发和安装的方法和系统
US6591262B1 (en) Collaborative workload management incorporating work unit attributes in resource allocation
US20080244589A1 (en) Task manager
US20070266390A1 (en) Automated management of application-specific tasks from the Internet via distributed task manager agents in a local area network
US20080255903A1 (en) Business process execution method, business process engine and method for deploying a business process engine
US20040025163A1 (en) Job management in presence of implicit dependency
US9904574B2 (en) Parallel computing without requiring antecedent code deployment
CN111459629A (zh) 基于Azkaban的项目运行方法、装置及终端设备
US10474475B2 (en) Non-intrusive restart of a task manager
KR101862353B1 (ko) 업그레이드 방식이 적응적으로 변경될 수 있는 업그레이드 시스템 및 업그레이드 방법
CN114244894A (zh) 停复机业务处理方法、系统、计算机存储介质和电子设备
US20230401095A1 (en) Intelligent autostopping of resources in computing environments
CN111240998B (zh) 测试用例处理方法和装置
CN116450182A (zh) 自动化流程机器人的更新方法、计算机设备及存储介质
CN114185685A (zh) 调度方法、调度系统、批处理系统、设备及介质
CN117632495A (zh) 容器镜像管理方法、系统及存储介质
CN115033251A (zh) 软件部署方法、装置、电子设备和存储介质
CN117908914A (zh) 一种组件部署升级方法、装置、计算机设备及存储介质
CN111666163A (zh) 一种网络编排系统及方法
MX2008006625A (en) Program execution service windows

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150424

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

Effective date of registration: 20150424

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

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

Granted publication date: 20100526

Termination date: 20191122