CN1164990C - 用于服务和基于角色的软件分配的系统和方法 - Google Patents

用于服务和基于角色的软件分配的系统和方法 Download PDF

Info

Publication number
CN1164990C
CN1164990C CNB011302887A CN01130288A CN1164990C CN 1164990 C CN1164990 C CN 1164990C CN B011302887 A CNB011302887 A CN B011302887A CN 01130288 A CN01130288 A CN 01130288A CN 1164990 C CN1164990 C CN 1164990C
Authority
CN
China
Prior art keywords
software package
software
service
target machine
server
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
CNB011302887A
Other languages
English (en)
Other versions
CN1363882A (zh
Inventor
Լɪ��L������˹̹
约瑟夫·L·赫勒斯坦
高塔姆·卡尔
亚历山大·凯勒
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN1363882A publication Critical patent/CN1363882A/zh
Application granted granted Critical
Publication of CN1164990C publication Critical patent/CN1164990C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

把软件包自动分配给目标机分布式网络的一个或多个区域中的一个或多个目标机器的基于计算机的方法和系统,包括:根据下列的至少一个,为每一区域准备基本软件包:(i)指示一个或多个区域的哪些是接收软件包的候选者的策略数据;(ii)指示有关软件包提供的服务的必需条件的相关性信息;和(iii)有关每个候选区的配置信息。然后把基本软件包分配给分布式网络的每个候选区。接着,根据下列的至少一个,定制在每个候选区上接收的基本软件包:(i)区域分配策略;(ii)该区域中目标机所扮演的一个或数个角色特有的相关性信息;和(iii)单个目标机配置信息。把为每个候选区定制的软件包分配给分布式网络的候选区中的至少一个目标机。

Description

用于服务和基于角色的软件分配的系统和方法
                       技术领域
本发明涉及分布式计算系统,尤其涉及在这样的分布式计算系统中进行软件分配的系统和方法。
                       背景技术
由于如下需求,软件分配大大增加了与分布式系统有关的拥有权的总成本:(i)从企业角度识别需要用特定软件包更新的计算设备或机器(“目标”);(ii)确保目标含有正确的服务(service)和组件(例如,操作系统、服务和应用程序),和这些服务程序具有正确的版本;和(ii)确保具备作为先决条件的一组资源(例如,CPU(中央处理单元)类型和时钟速率、存储器、盘存储、分页空间等),以便能够接收和运行新的软件项目。
大多数现有的软件分配机构把有关目标机配置和要求的信息存储在中央数据库中,需要操作人员的涉入,从而使过程变得效率低下、伸缩性差、成本昂贵、和易于出错。它们往往依赖于目标机用户选择应该分配和安装的软件包(“拉入式(pull-based)方法”),请参见:例如,1999年9月14日颁发给Fink等人的、标题为“计算机软件分配、安装和维护方法和设备(Computer Software Distribution,Installation and Maintenance Methodand Apparatus)”的第5,953,533号美国专利;和1999年12月7日颁发给Rowley的、标题为“软件的更新机制(Updating Mechanism for Software)”的第5,999,740号美国专利。
用于“推出式(push-based)”软件分配的现有方法通常需要软件分配管理人员人工选择潜在的分配目标,因此,把作出决定的重担压在操作人员的肩上,基本上导致与上述拉入式方法相同的问题。
图1显示了典型的传统软件分配系统实现的过程。在步骤1,管理人员10准备要分配给一组台式机的新软件项目。这最好在专用于构建软件包的机器14中进行,该构建软件包包含用于执行此操作的必要操作系统组件。在步骤2,查找配置文件或数据库12,以确定哪些目标机应该接收新软件。这个配置文件通常由一组管理人员来更新和维护,需要进行大量的人机交互,因此,往往与目标机的真实状态不同步。在步骤3,把新的软件包存储在软件包贮藏库16中。在步骤4,请求把软件包从管理人员10处分配到分布式计算机系统或服务器18。在步骤5,把软件包下载到分配服务器18。最后,在步骤6,由分配服务器18把软件包分配给分配目标计算机系统20-1、20-2、......、20-N。
                       发明内容
本发明提供了在分布式计算系统中进行自动软件分配的系统和方法。本发明从服务供应的角度解决了软件分配问题。在这种情况中,所谓服务,指的是典型的应用程序,譬如,万维网浏览服务、字处理服务、计算机病毒检测服务等。
在企业IT(信息技术)环境下进行软件安装和升级的主要理由是,保证最终用户利用他们的计算环境,有机会获得和可以使用他们选择的服务。当引入与软件包相联系的新服务,或升级现有的服务时,首要任务是有效地识别需要安装新软件包的目标机。本发明提供了新颖的方法来完成这项工作。本发明把焦点集中在目标机在分布式系统的操作过程中所扮演的角色上。本发明对目标是使用特定的服务(“客户机”),还是提供服务(“服务器”)加以考虑。提供服务机器的例子有“名称服务器”和“DHCP服务器”。使用服务的机器的例子有“数据库客户机”和“万维网客户机”。目标同时可以扮演数个角色,例如,扮演“万维网客户机”角色的目标可以要求有名称服务的功能,从而也起到“名称服务客户机”的作用。
在本发明的一个方面,提供了把软件包自动分配给目标机分布式网络的一个或多个区域中的一个或多个目标机器的基于计算机的方法。这种方法包括下列步骤。首先,根据下列的至少一个,为一个或多个区域的每一个准备基本软件包:(i)指示一个或多个区域的哪些是接收软件包的候选者的策略数据;(ii)指示软件包提供的服务的必需条件的相关性信息;和(iii)有关每个候选区的配置信息。然后把基本软件包分配给分布式网络的每个候选区。接着,根据下列的至少一个,定制在每个候选区上接收的基本软件包:(i)区域分配策略;(ii)该区域中目标机所扮演的一个或数个角色特有的相关性信息;和(iii)单个目标机配置信息。最后,把为每个候选区定制的软件包分配给分布式网络的候选区中的至少一个目标机。
在本发明的另一个方面,本发明的自动软件包分配方法可以在三层结构的系统中实现,致使确定哪些目标将接收新软件包的决定处理分散在系统中。服务分配服务器、一个或多个区域服务器、和一个或多个目标机构成这三层结构的系统。基本软件包的准备和分配按照服务分配服务器来进行。基本软件包的定制和定制软件包的分配按照区域服务器来进行。然后,目标机接收定制软件包。
从如下的详细描述中将更清楚地看到,本发明的全自动软件准备和分配方法提供了许多有利特征。例如,本发明提供了企业中的单个用户可以在本地安装软件包和绕过自动系统,强制安装软件包的方法。本发明提供了进行分级分配,使网络带宽要求和出现单点故障的负面效应降到最低的方法。本发明的允许对软件分配进行分散式决定的方法提供了如下特征:(i)定期可更新性;(ii)与资源保持密切关系的精确信息(动态信息);和(iii)保留在服务分配服务器或区域服务器上的类型信息。本发明还提供了维护库存的方法,即,区域服务器可以选择维护(除了角色贮藏库之外)数据库中的其区域中所有目标的库存,或者在运行时间确定目标资源的方法。并且,本发明还提供了为软件分配选择相关目标,即,只有适当的目标才接收传送的软件,从而使无效发送达到最小的方法。并且,本发明还提供了只分配所需的那套软件包,即,只有必要的软件包才得以传送(如果特定的区域不提供服务和没有设置“优先(override)”标志,那么,将不把软件包传送到那个区域服务器上)的方法。这个特征节约了带宽和系统资源。另外,本发明使与企业整体范围(自上而下)的策略和单个(自下而上)的系统要求有关的知识得到更好更灵活地传播。
                          附图简述
通过结合附图,对本发明的示范性实施例进行如下详细描述,本发明的这些和其它目的、特征和优点将更加清楚。
图1是显示在典型的传统软件分配系统中实现的准备和分配过程的方块图;
图2是显示根据本发明的实施例构建和分配软件包的系统的方块图;
图3是显示供根据本发明使用的服务封闭性树结构的图形;
图4是显示供根据本发明使用的、服务和子组件的相关树结构的图形;
图5A是显示根据本发明实施例,为单个区域服务器或数组相似服务器作基本软件包准备的图形;
图5B是显示根据本发明实施例,为单个区域准备和分配软件包的图形;
图6是显示根据本发明实施例的软件分配算法的各个步骤的流程图;
图7是显示根据本发明实施例的软件包接收和信息提取算法的各个步骤的流程图;
图8是显示根据本发明实施例的策略贮藏库扩展算法的各个步骤的流程图;
图9是显示根据本发明实施例的角色贮藏库维护算法的各个步骤的流程图;
图10是显示根据本发明实施例的区域预订算法的各个步骤的流程图;
图11是显示根据本发明实施例的服务分配算法的各个步骤的流程图;
图12是显示根据本发明实施例的区域服务器算法的各个步骤的流程图;
图13是显示适合于实现根据本发明实施例的软件构建和分配系统的各种功能性组件/模块的计算机系统通用硬件结构的方块图。
                        具体实施方式
下面将在客户机/服务器的环境下,针对示范性软件分配系统的情况,说明本发明。但是,应该明白,本发明并不限于这样的分布式计算环境。而是,本发明可更广泛地应用于含有单个计算设备的任何计算环境,其中最好提供基于与软件包相联系的角色和服务的,而不是依赖于管理人员(如在传统推出式方法中那样)或目标机用户(如在传统拉入式方法中那样)的自动软件分配,以确定目标机是否需要更新。
现在参照图2,图2的方块图显示了根据本发明实施例构建和分配软件包的系统。我们将按照图2,开始描述本发明的软件包构建和分配系统的各种组件和概念。
软件包201是有关形成服务或最终用户应用程序的一批软件组件的一个物理封闭单位。
软件分配是把软件包部署和装运到目标处的任务。这个任务还牵涉到确定适当的目标。
分配目标202是向最终用户和/或其它计算机系统提供服务的计算机系统。目标能够接收和安装软件包。目标系统是一个区域中的一个成员,它与维护配置信息的区域服务器交互。如图2所述,可以有多个策略区I、......、n,其中每一个策略区可以包括一个或多个分配目标。
区域服务器203维护一个区域(每个区域含有一个区域服务器)的区域角色贮藏库204,回答服务分配服务器205的询问,确定目标是否含有适当的资源(通过请求式地询问它们,或通过维护含有它们的配置设置的数据库)把软件分配给目标,和初始化它们的安装和后安装步骤(例如,目标的重新引导),如果软件包安装例程没有把这些步骤包括在内的话。
角色贮藏库204包含它的领域或区域中每台机器的入口。示范性入口如下:
服务 角色 软件包 可更新性(是/否)
数据库 服务器 DB2 UDB 5.2
万维网 服务器 Apache 1.3.4
万维网 客户机 Netscape 4.72
万维网 客户机 MS Internet Explorer 5
字处理 独立机 Microsoft Word 2000
上面表中各字段的例子和说明
“服务”名称:例如,万维网、数据库、万维网应用程序。
“角色”名称:例如,服务器、客户机、独立机(后者代表通常分离的PC应用程序,譬如,字处理程序、电子表格程序等)。
相关“软件包”(即,产品名称):被安装和使目标能够扮演特定角色。
“可更新性”标志:例如,当必须使用和不应该更新字处理器的合法版本时,这使用户能够避免安装的软件包被更新。
服务分配服务器205是一旦系统已经决定需要分配新软件/服务项目,便负责协调分配处理的实体。在下面算法的详细描述中,将会简要地说明服务器经历的整个处理过程,它完成如下工作:(i)在每次安装之前,查找策略数据库209;(ii)为分配软件包确定适当的区域服务器;(iii)把软件包分配给区域服务器;(iv)与区域服务器进行交互;和(v)维护企业服务贮藏库208和策略数据库209。
全局软件贮藏库206用法如下。一旦接收到新软件包和它的描述,该软件包便被存储在这个档案中,然后,就可用于分配。在把软件包的组件结构记录在贮藏库207的服务组件部分中的同时,读出与相关性有关的描述,和将其插入贮藏库207的企业服务相关性部分中。服务分配服务器周期性地访问用于新软件的全局软件贮藏库206(或者,如果新软件包可用,就通知服务分配服务器),取出软件包和把它们分配给区域服务器。
服务组件和相关性贮藏库207由如下两个逻辑贮藏库构成:
企业服务相关性贮藏库
随着新服务得到确定和部署,将它们与其它服务的相关关系记录在这个贮藏库中。图3提供了一个例子。这个信息结构对每个部署的服务,枚举所有的分服务和软件组件。一般来说,S指的是由一个或多个软件组件组成的服务,而C指的是构成服务的软件组件。因此,如图3所示,服务S1由服务S11和S12和软件组件C12组成。例如,如果新版本的软件组件C21或C22可用,那么,涉及服务S11和S1的所有终点机器都是接收这个软件的新副本的潜在目标。对于与C23和C24有关的S12和S1,情况亦如此。
组件相关性贮藏库:
这个贮藏库记录着有关形成各个可分配单元的软件项目的相关性信息。如图4所示,每个这样的项目含有特定的硬件和软件要求,这些要求可分类成先决条件(pre-requsite)、附加条件(co-requsite)和冲突条件(ex-requsite)组。当可用时,取出服务的物理封闭结构(即,组件),并且将其存储在这里。考虑一下如下的例子:由于服务组件只存在于服务的范围内,因此把含有图形输入过滤器之类的(可选)部分的字处理器记录在这里,而不是记录在企业相关性贮藏库部分中。为图形输入过滤器定义资源要求没有什么意义,而为字处理器规定它们有意义。
组件相关性贮藏库包括有关全局软件包贮藏库206中所有元素的相关性信息分层结构。
与软件包相关的是子软件包、它们提供的服务、平台要求等的描述,无论它们是先决条件还是附加条件。
如图4所示,组件C(根)含有相关性的各种类目,包括硬件(例如,CPU、存储器、盘)、软件(例如,C4和C5)和服务元素(例如,传输控制协议(TCP)、域名服务(DNS))。先决条件(从C延伸出来的最左边分支所示)是应该已存在,即可以成功安装所关心的组件之前需要已经安装在环境内的项目。例如,“TCP/IP版本2.3是组件DNS客户机的先决条件。”冲突条件(包括C2的中间分支)是应该不存在,以便组件能得到成功安装的项目。例如,“无线LAN卡驱动器软件”可以是安装“红外线驱动器组件软件”的冲突条件。附加条件(可选)相关性(如从C和C3延伸出来的最右边分支所示)是可以,例如,提高服务的性能/可使用性的元素。附加条件的例子有字处理器的图形输入过滤器。
企业服务贮藏库208对于每个区域包含:(i)区域提供的服务:通过为每个服务询问适当的服务器是否位于该区域中来确定;和(ii)一个区域中可用的服务(即一个区域内部的目标所享受的服务):通过从区域服务器下载服务/客户机对来确定。
此外,通信服务(网络连接、名称服务等)也列在这个贮藏库中。这样贮藏库的例子如下:
区域 服务 角色
财务部门 万维网 客户机
财务部门 数据库 服务器
市场部门 字处理 独立机
市场部门 万维网 客户机
服务简表是一个区域提供给它的用户的,即在客户机、服务器或独立机角色中的一组服务。特定区域的服务简表等效于对于给定区域,企业服务贮藏库的入口。请注意,对于给定区域,通常存在许多个入口。
策略贮藏库209用法如下。软件分配策略由软件分配管理人员周期性地输入到策略数据库209中。策略规则的例子有:“担当适当角色的每个有能力系统应该接收新的软件包;”“只有适当的服务器可用的时候(从企业服务贮藏库208中确定),才可以安装客户机软件;”“只有服务被标志成可更新的的时候,或者,如果还没有存在于目标之中,被设置成“优先”标记的时候,才在特定目标上安装软件包;”“软件更新应该只发生在11PM和6AM之间;”“由于没有支付,区域I不应该进行任何更新;”“如果区域服务器所在的区域与分配简表相匹配,就把软件包分配给区域服务器;”(“服务器”优先于“客户机”,即,如果给定服务的服务器存在于一个区域之中,那么总可以安装客户机软件,反之则不成立)等。
与示范性系统有关的一些通用规则可以包括下列这些。只有系统上已存在同一软件包的时候,才更新节点上的软件。这是防止发生(只因为它们的区域被列为已经预订了字处理服务)使用MicrosoftTM Word 2000作为字处理器的目标也接收到LotusTM Word Pro7的情况所必需的。
如果不得不安装新软件,软件管理人员可以利用“优先”标志强迫安装。但是,与在特定目标上定义的“可更新的”标记相比,“优先”标志具有较低的优先级。这用于防止必须保留以前版本(例如,为了兼容起见)的软件包被更新。
在假设本发明示范性软件包构建和分配系统的组件和概念被描述成如图2所示那样的情况下,现在详细描述根据本发明示范性实施例的软件分配处理如下。软件分配算法包括两个阶段:通常如图5A所示的、为分配给区域服务器所作的基本软件包准备;和通常如图5B所示的、每个区域内的软件包的准备和分配。
首先参照图5A,基本服务(软件)包504是作为安装在适当目标机中的候选者的组件。基本软件包准备者操作502接收指示哪些区域是要更新的候选者的全局策略数据510、指示服务包的先决条件、冲突条件和附加条件的基本相关性信息506、和代表候选区域的区域服务器每一个的配置信息508,作为输入。利用这些信息,基本软件包准备者操作502为区域512、514和516的每一个构建基本服务包。
现在参照图5B,当负责把软件包分配给它的辖区中每个端点的区域服务器接收到基本服务包522时,它需要用该区域中单个机器所需的特定相关项目补充它。这由区域软件包补充器操作520进行,区域软件包补充器操作520接收区域分配策略528、那个区域中的机器特有的相关性信息524、和用于为目标机的每一个定制基本软件包的单个机器配置信息526,作为输入。其输出是具有相同安装环境的、为区域内每组机器生成的一套定制软件包530。
现在说明提供软件分配处理的示范性细节的图6至图12。
现在参照图6,该流程图显示了根据本发明实施例的软件分配算法的各个步骤。该算法从方块600开始,按如下进行下去。
步骤601:引入新软件包(SP)。把新SP(图2中的201)和它的描述(例如,服务、角色、软件名称、版本、资源先决条件列表、服务先决条件列表)输入到服务分配服务器或SDS(图2中的205)中,或者存储在全局软件贮藏库(图2中的206)中。引入新SP的步骤也可以通过另一个应用程序来完成,这个应用程序把软件包和它的描述存储在服务组件和相关性贮藏库(图2中的207)中,和通知SDS有关给定服务和给定角色的新SP是可用的。如果这还没有完成,把软件包提供的服务输入到服务组件和相关性贮藏库(图2中的207)中。这个贮藏库存储着有向的、非循环的服务相关性图,它使系统能够确定新服务是否和如何与相关性结构相匹配,尤其是,什么样的服务将受到这个新软件包引入的影响。
步骤602:目标区域的选择。这个步骤是由SDS(图2中的205)完成,以确定其服务简表与新软件包打算提供的服务(即,该区域提供/享受所关心的服务)匹配的所有区域服务器(图2中的203)。如果特定区域是这个服务的预订者(作为客户机或作为服务器),那么,将其加入该组要分配的潜在目标中。接着,对于这个组的每个区域,SDS查找策略贮藏库(图2中的209),保证每个目标区域的确是潜在候选者。如果不是,从该目标组删除这个区域。
步骤603:从SDS(图2中的205)到区域服务器(图2中的203)的软件分配。管理人员可以通过把软件安装请求标志成“优先”(安装该区域中还不存在的新软件所需的),进行优先设置。对于该目标组中的每个区域(在步骤602中计算的),SDS根据相关性要求,准备适合于那个区域中的目标机的软件包。然后,把这个软件包传输到该区域。典型的消息内容可以包括:服务名称、软件包名称、“优先”标志、软件包二进制表示。
步骤604:区域服务器(图2中的203)进行库存扫描。在接收到软件包之后,区域服务器(RS)确定端点机(潜在目标)的每一个是否具有适当数量的资源(CPU、RAM、盘空间、交换空间等)。另外进行的检查还有:(i)确定目标(图2中的202)是否具有适当版本的(正确的)操作系统;和(ii)确定目标是否具有适当的先决条件(即,所需的服务是否已经存在)。请注意,因为在更新或新建立SP的时候,同时建立了相关性信息,并且可以集中存储它,所以在SDS这一级上维护相关性贮藏库(图2中的207)。
步骤605:目标角色的检索(由RS来进行)。如前所述,RS(图2中的203)为它辖区内的每个目标机(图2中的202)维护角色贮藏库(图2中的204)。这个贮藏库中的这个信息或者是借助于在角色贮藏库中的结果存储周期性地提取、或者动态地(请求式地)提取。对于每个目标,信息可以由下列组成:服务、角色、相关软件包、和可更新标志。
步骤606:从RS(图2中203)到目标(图2中的202)的软件分配。对于辖区内的每个端点机,RS进行库存扫描,以确定该机器的环境。如果结果满足SP的相关性要求,那么,该端点机就是潜在目标。只有把标志设置成可更新的(即,目标用户不明确禁止),或安装请求被标志成“优先”(即,软件分配管理人员强行这样做)的时候,才开始对这个目标的分配。消息内容可以包括服务名称、软件包名称、“优先”标志、软件包的二进制表示。
步骤607:从RS(图2中的203)到目标(图2中的202)的软件分配的结果。在这个步骤中,收集分配步骤的结果,执行对目标的前期安装、后期安装过程和测试。在区域服务器上收集安装结果。
步骤608:从RS(图2中203)到SDS(图2中的205)的状态更新。RS把分配步骤的状态发送到SDS,然后,结束算法。
现在参照图7,该流程图显示了根据本发明实施例的软件包接收和信息提取算法的各个步骤。该算法从方块700开始,按如下进行下去。
步骤701:获取新软件包。这个步骤代表作为分配候选者的新软件包(图2中的201)的到达。该软件包的到达可以可由管理人员人工指示,或者通过在SDS(图2中的205)中运行的、周期性检查存储软件包的全局软件包贮藏库(图2中的206)的状态的处理过程自动地指示。该步骤可由把软件包文件放置在受到周期性检查的上载区中的操作者来执行,或者利用命令行接口(推出式方法)来执行。另一种方法是,负责任的组件可以询问用于更新的一些预定义的软件服务器和自己下载它们。
步骤702:确定软件包是否已经存在于全局软件包贮藏库中。也就是说,系统检查这是否是新软件。
步骤703:放弃软件包。如果确定为软件包已经存在,因此,不再是新的,那么,放弃它,然后,退出该算法(方块708)。
步骤704:读出软件包描述。如果确定为软件包还不存在,因此,是新的,那么,执行步骤705。假设每个软件包都伴随着列出软件包的服务、软件和硬件相关性的信息。由SDS(图2中的205)读出这个信息。
步骤705:记录服务相关性。把在步骤704中读出的信息记录在服务组件和相关性贮藏库(图2中的207)内的适当数据结构中。
步骤706:记录服务结构。把与这个软件包与现有服务的关系有关的相关信息记录在服务组件和相关性贮藏库(图2中的207)中。
步骤707:存储软件包。把软件包存储在全局软件贮藏库(图2中的206)中。
步骤708:退出该算法。借助于适当的退出代码从该算法中退出。
现在参照图8,该流程图显示了根据本发明实施例的策略贮藏库扩展算法的各个步骤。该算法从方块800开始,按如下进行下去。这个过程处理策略贮藏库(图2中的209)的分布(population)。当公式化处理特定区域是否可以被认为是软件分配的目标的条件的新策略时,这个过程执行把这样的策略输入到策略贮藏库中的步骤。如果在获得新策略定义(步骤801)之后,检测到与现在策略的冲突(步骤802),那么,放弃新策略(步骤803)。否则,把新策略输入策略贮藏库中(步骤804)。在方块805结束该过程。请注意,根据正在实施软件分配的企业的性质,判断放弃的准则可能更复杂一些。这种示范性的描述并无谈及策略冲突解决问题。而是,假设该处理过程在一致的状态下,适当地维护策略贮藏库。因此,应该明白,可以应用任何适当的策略冲突解决机制。
现在参照图9,该流程图显示了根据本发明实施例的角色贮藏库维护算法的各个步骤。该算法从方块900开始,按如下进行下去。这个算法是由区域服务器(图2中的203)实现的,并且为作为区域服务器辖区的成员的每台机器执行的。区域服务器执行单个机器贮藏库的扫描(步骤901),从这个信息中推算出分布它维护的角色贮藏库所需的数据。因此,库存扫描检查单个机器贮藏库和返回如下数据:服务、角色、软件包、和可更新标志。后者尤为重要,因为它使单个用户能够阻止他的目标被自动更新。然后,把扫描结果插入角色贮藏库中(步骤902)。在方块903结束该算法。
现在参照图10,该流程图显示了根据本发明实施例的区域预订算法的各个步骤。该算法从方块1000开始,按如下进行下去。区域预订算法是区域服务器与SDS之间的协议的实现,通过这种协议实现,SDS能够为代表它的组成成员,学习和记录一个区域感兴趣的所有服务。
当一个区域内的端点机器想要作为客户机或服务器加入新服务中时,区域服务器就把这个信息(以形式化协议的形式)通信给SDS(步骤1001)。SDS从区域服务器接收预订信息(步骤1002),和把这个信息记录在企业服务贮藏库(图2中的208)中(步骤1003)。在方块1004结束该算法。
现在参照图11,该流程图显示了根据本发明实施例的服务分配算法的各个步骤。这个算法由SDS来执行,确定哪些区域有资格成为软件分配的目标,和需要为有资格的区域准备分配软件包做些什么。
处理从方块1100开始。一旦新软件包已经被SDS接受为潜在分配项目,SDS就查找企业服务贮藏库(图2中的208),以确定给定区域是否受到新项目的影响(步骤1101)。也就是说,确定该区域是否与新服务相匹配。请注意,企业服务贮藏库保留描绘每个区域预订的服务的表。如果特定的区域与服务无关,那么,退出该算法(方块1111)。如果涉及到该区域,SDS进行检查,看一看该区域是否满足基本相关性要求(例如,如果这个软件改变只对Window95机器有效,而该区域只有UNIX机器,那么,尽管该区域预订了基本服务,它也不是分配候选者)。这可以根据步骤1103和1104来完成。也就是说,在步骤1103中,SDS获取用于特定区域的服务简表。然后,在步骤1104中,SDS确定该服务简表是否是根据相关性模型的。如果不是,那么就退出该算法(步骤1111)。如果是,SDS接下来检查策略贮藏库,以确定所关心的区域不含有排除在考虑之外的相关策略(例如,可能存在比方说,如果许可证已经过期,就不分配的策略)。这可以根据步骤1106和1107来完成。也就是说,在步骤1106中,SDS从策略贮藏库中获取用于特定区域的策略规定。然后,在步骤1107中,SDS确定该服务请求是否是根据策略规定的。如果不是,那么就退出该算法(步骤1111)。如果是,此时,特定区域已经成功地通过了所有检查,是接收新软件包的候选者。然后,SDS从全局软件贮藏库中取出软件包(步骤1109),将软件包分配到该区域(步骤1110)。在方块1111结束该算法。
现在参照图12,该流程图显示了根据本发明实施例的区域服务器算法的各个步骤。该算法从方块1200开始。在步骤1201中,区域服务器从SDS接收软件包或服务。一旦区域服务器已经从SDS接收到分配的软件包,它就开始确定其辖区中哪些端点或机器有资格接收新软件包的算法。第一步骤是对辖区成员的每一个都进行库存检查,以获取它们的环境(步骤1202)。然后,将这个信息与新软件包的基本相关性或资源要求相对照(步骤1203)。例如,资源可以包括:CPU、RAM、盘空间、交换空间、操作系统(类型和版本)等。应该认识到,操作系统的检查必须在区域级上进行,因为SDS不知道操作系统的细节。如果满足资源要求,那么,从角色贮藏库中取出有关这个机器的角色信息(步骤1205)。否则,就退出该算法(方块1211)。应该明白,角色贮藏库是一个概念性的贮藏库,即,可以把它当作一个存储实体来实现,也可以在运行时,询问单个目标确定它的信息。
在步骤1206中,区域服务器确定这个服务是否被标志成可更新的,和在这种可更新服务的情况下,该机器扮演什么样的角色(例如,客户机、服务器、还是独立机)。请注意,尽管目标机可能有资格得到更新,但由于各种原因,用户也可能不想要这样的更新。更新标志是用户停止更新所用的机制。如果服务没有被标志成“可更新的”,那么,特定的目标机就被排除在考虑之外,退出该算法(方块1211)。接着,在步骤1208中,识别目标的角色(例如,例如,客户机、服务器、或独立机)。最后,在步骤1209中,把软件包分配给目标机,和根据发生的变化,利用新的服务/目标信息,在角色贮藏库中更新这个机器的角色信息(步骤1210)。这使角色贮藏库得到逐步更新,从而免除了每次都进行库存扫描的需要。在方块1211结束该算法。
现在参照图13,图13所示的是显示适合于实现如图2所描绘的和在这里所详述的软件构建和分配系统的各种功能性组件/模块的计算机系统通用硬件结构的方块图。应该明白,该系统的各个组件,即,服务分配服务器、区域服务器、目标、和各种贮藏库可以在一个这样的计算机系统上,或者在多于一个这样的计算机系统上分别实现。此外,该系统的两个或更多个组件可以在一个或多个这样的计算机系统上实现。
还应该明白,实现系统的各个组件的计算机系统通过通信网络(未示出)来耦合,以形成分布式计算环境。通信网络可以是公用的(例如,因特网)和/或专用的。网络可以是广域网络和/或局域网。网络的类型不是本发明的关键所在。
如图13所示,计算机系统可以根据处理器1302、存储器1304和I/O设备1306实现。应该认识到,在这里所用的术语“处理器”意在包括任何处理设备,例如,包括CPU(中央处理单元)和/或其它处理电路的处理设备。在这里所用的术语“存储器”意在包括与处理器或CPU相联系的存储器,例如,RAM、ROM、固定存储设备(例如,硬盘驱动器)、可拆卸存储设备(例如,软盘)、闪速存储器等。另外,在这里所用的术语“输入/输出设备”或“I/O设备”意在包括,例如,把数据输入到处理单元的一个或多个输入设备,比如,键盘、鼠标等,和/或展示与处理单元相联系的结果的一个或多个输出设备,比如,CRT显示器、打印机等。还应该明白,术语“处理器”可以指多于一个的处理设备,和与处理设备相联系的各种部件可以被其它处理设备共享。于是,在这里所述的、包含实现本发明的方法的指令或代码的软件组件可以存储在一个或多个相关存储设备(例如,ROM、固定的或可拆卸的存储器)中,和当准备使用时,部分或全部地被装载(例如,到RAM中)和由CPU执行。在任何情况下,都应该明白,图2所示的部件,以及图3至12所示的结构和步骤可以在各种形式的硬件、软件、或它们的结合,例如,含有相关存储器的一个或多个经适当编程的通用数字计算机中实现。以本文提供的本发明的原理为前提,本领域的普通技术人员能够设想出本发明各部件的其它实现方法。
尽管在这里参照附图,已经对本发明的示范性实施例进行了描述,但应该明白,本发明并不仅限于这些确切的实施例,本领域的普通技术人员可以对其作出各种各样其它的修改和改进,而不偏离本发明的范围或精神。

Claims (18)

1.一种把软件包自动分配给目标机分布式网络的一个或多个区域中的一个或多个目标机的基于计算机的方法,所述方法包括下列步骤:
根据下列的至少一个,为一个或多个区域的每一个准备基本软件包:(i)指示一个或多个区域的哪些是接收所述软件包的候选者的策略数据;(ii)指示有关所述软件包提供的服务的必需条件的相关性信息;和(iii)有关每个候选区的配置信息;
把所述基本软件包分配给分布式网络的每个候选区;
根据下列的至少一个,定制在每个候选区上接收的基本软件包:(i)区域分配策略;(ii)该区域中目标机所扮演的一个或数个角色特有的相关性信息;和(iii)单个目标机配置信息;
把在每个候选区定制的软件包分配给分布式网络的候选区中的至少一个目标机。
2.根据权利要求1所述的方法,其特征在于,指示有关软件包提供的服务的必需条件的所述相关性信息包括与软件包在目标机上的安装相联系的先决条件、冲突条件和附加条件的至少一个。
3.根据权利要求1所述的方法,其特征在于,指示有关软件包提供的服务的必需条件的所述相关性信息以多层树结构的形式表示。
4.根据权利要求3所述的方法,其特征在于,所述树结构的一个或多个枝叶表示一个或多个软件组件。
5.根据权利要求1所述的方法,其特征在于,一个区域中所述目标机所扮演的一个或多个角色包括客户机角色、服务器角色和独立机角色。
6.根据权利要求1所述的方法,进一步包括下列步骤:在贮藏库中设置一标志,用于控制所述软件包在目标机上的安装。
7.根据权利要求1所述的方法,进一步包括下列步骤:维护指示为不同区域和不同最终用户环境构建可分配组件软件包所需的步骤的策略贮藏库。
8.根据权利要求1所述的方法,其特征在于,用于定制在候选区上接收的所述基本软件包的所述单个目标机配置信息是在使用之前存储的和在使用时确定的目标机配置信息两者之一。
9.一种把软件包自动分配给目标机分布式网络的一个或多个区域中一个或多个目标机的基于计算机的系统,所述系统包括:
服务分配服务器,所述服务分配服务器起如下作用:(i)根据指示一个或多个区域的哪些是接收所述软件包的候选者的策略数据、指示有关所述软件包提供的服务的必需条件的相关性信息、和有关每个候选区的配置信息的至少一个,为一个或多个区域的每一个准备基本软件包;和(ii)把基本软件包分配给分布式网络的每个候选区;和
一个或多个区域服务器,所述区域服务器的每一个起如下作用:(i)根据区域分配策略、区域服务器所在区域中目标机所扮演的一个或数个角色特有的相关性信息、和单个目标机配置信息的至少一个,在接收时定制基本软件包;和(ii)把所述定制的软件包分配给区域服务器所在区域中的至少一个目标机。
10.根据权利要求9所述的系统,其特征在于,指示有关软件包提供的服务的必需条件的所述相关性信息包括与所述软件包在目标机上的安装相联系的先决条件、冲突条件和附加条件的至少一个。
11.根据权利要求9所述的系统,其特征在于,指示有关软件包提供的服务的必需条件的所述相关性信息以多层树结构的形式表示。
12.根据权利要求11所述的系统,其特征在于,所述树结构的一个或多个枝叶表示一个或多个软件组件。
13.根据权利要求9所述的系统,其特征在于,一个区域中所述目标机所扮演的一个或多个角色包括客户机角色、服务器角色和独立机角色。
14.根据权利要求9所述的系统,其特征在于,在贮藏库中设置一标志,用于控制软件包在目标机上的安装。
15.根据权利要求9所述的系统,进一步包括策略贮藏库,用于指示为不同区域和不同最终用户环境构建可分配组件软件包所需的步骤。
16.根据权利要求9所述的系统,其特征在于,每个区域服务器进一步起如下作用:在使用之前维护用于定制所述基本软件包的单个目标机配置信息和在使用时确定该信息两者之一。
17.根据权利要求9所述的系统,进一步包括一个或多个贮藏库,用于存储指示一个或多个区域的哪些是接收所述软件包的候选者的所述策略数据、指示有关所述软件包提供的服务的必需条件的所述相关性信息、和有关每个候选区的所述配置信息。
18.根据权利要求9所述的系统,进一步包括一个或多个贮藏库,用于存储区域分配策略、区域服务器所在区域中目标机所扮演的一个或数个角色特有的相关性信息、和所述单个目标机配置信息。
CNB011302887A 2001-01-05 2001-12-29 用于服务和基于角色的软件分配的系统和方法 Expired - Fee Related CN1164990C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/755,786 2001-01-05
US09/755,786 US7013461B2 (en) 2001-01-05 2001-01-05 Systems and methods for service and role-based software distribution

Publications (2)

Publication Number Publication Date
CN1363882A CN1363882A (zh) 2002-08-14
CN1164990C true CN1164990C (zh) 2004-09-01

Family

ID=25040648

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB011302887A Expired - Fee Related CN1164990C (zh) 2001-01-05 2001-12-29 用于服务和基于角色的软件分配的系统和方法

Country Status (3)

Country Link
US (1) US7013461B2 (zh)
CN (1) CN1164990C (zh)
TW (1) TWI288331B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937685B2 (en) 2005-01-13 2011-05-03 Hsbc Technology & Services (Usa) Inc. Computer software implemented framework for configuration and release management of group systems software, and method for same

Families Citing this family (155)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7127705B2 (en) * 2000-09-06 2006-10-24 Oracle International Corporation Developing applications online
US8073780B2 (en) * 2001-05-15 2011-12-06 Altair Engineering, Inc. Token based club digital content licensing method
US9633182B2 (en) 2001-05-15 2017-04-25 Altair Engineering, Inc. Token based digital content licensing method
US7134122B1 (en) 2001-05-31 2006-11-07 Oracle International Corporation One click deployment
CA2349654A1 (en) * 2001-06-04 2002-12-04 Ibm Canada Limited-Ibm Canada Limitee Server configuration versioning tool
US7596617B2 (en) * 2001-06-27 2009-09-29 International Business Machines Corporation Apparatus, method, and business method for enabling customer access to computer system execution data in exchange for sharing the execution data
US7185093B2 (en) 2001-06-27 2007-02-27 International Business Machines Corporation Computer system, method, and business method for enabling customer access to computer system performance data in exchange for allowing access to the performance data by another computer system
US7055149B2 (en) * 2001-07-25 2006-05-30 Lenovo (Singapore) Pte Ltd. Method and apparatus for automating software upgrades
US7317699B2 (en) * 2001-10-26 2008-01-08 Research In Motion Limited System and method for controlling configuration settings for mobile communication devices and services
CA2481298A1 (en) * 2002-04-19 2003-10-30 Computer Associates Think, Inc. Method and system for managing a computer system
EP1383327B1 (en) * 2002-06-11 2013-12-25 Panasonic Corporation Content distributing system and data-communication controlling device
US8447963B2 (en) 2002-06-12 2013-05-21 Bladelogic Inc. Method and system for simplifying distributed server management
JP3483252B1 (ja) * 2002-08-22 2004-01-06 コナミ株式会社 ゲームプログラム
US20050251546A1 (en) * 2002-12-11 2005-11-10 International Business Machines Corporation Method and system for configuring processing entities according to their roles in a data processing system with a distributed architecture
US7848834B2 (en) * 2003-03-28 2010-12-07 Gm Global Technology Operations, Inc. Computerized system for network-based management of engineering projects
US20040268420A1 (en) * 2003-06-20 2004-12-30 N2 Broadband, Inc. Systems and methods for activating a host in a cable system
US7627868B2 (en) * 2003-06-20 2009-12-01 N2 Broadband, Inc. Systems and methods for distributing software for a host device in a cable system
US7194756B2 (en) 2003-06-20 2007-03-20 N2 Broadband, Inc. Systems and methods for provisioning a host device for enhanced services in a cable system
US7757261B2 (en) * 2003-06-20 2010-07-13 N2 Broadband, Inc. Systems and methods for providing flexible provisioning architectures for a host in a cable system
US7958505B2 (en) * 2003-06-20 2011-06-07 Ericsson Television, Inc Systems and methods for distributing software for a host device in a cable system
US20040268336A1 (en) * 2003-06-30 2004-12-30 Chen-Jen Lu System and method for equipment automation program refresh
US20050076325A1 (en) * 2003-10-02 2005-04-07 International Business Machines Corporation Automatic software update of nodes in a network data processing system
US20050091346A1 (en) * 2003-10-23 2005-04-28 Brijesh Krishnaswami Settings management infrastructure
US20050108703A1 (en) * 2003-11-18 2005-05-19 Hellier Charles R. Proactive policy-driven service provisioning framework
DE10356368A1 (de) * 2003-11-28 2005-06-23 Abb Patent Gmbh System und Verfahren zum automatischen Installieren, Verifizieren und Konfigurieren von Funktionalitäten in den Systemkomponenten eines verteilten Netzwerkes
US7376945B1 (en) * 2003-12-02 2008-05-20 Cisco Technology, Inc. Software change modeling for network devices
US7409463B2 (en) * 2003-12-04 2008-08-05 International Business Machines Corporation On-demand active role-based software provisioning
US8285578B2 (en) * 2004-01-21 2012-10-09 Hewlett-Packard Development Company, L.P. Managing information technology (IT) infrastructure of an enterprise using a centralized logistics and management (CLAM) tool
JP2005242981A (ja) * 2004-01-28 2005-09-08 Seiko Epson Corp サービス提供システム、アプリケーション管理システム、サービス提供装置、サービス提供プログラム、アプリケーション管理プログラムおよび記憶媒体、並びにサービス提供方法およびアプリケーション管理方法
US20050234827A1 (en) * 2004-04-14 2005-10-20 Rudowsky Michael J System for processing executable applications to be suitable for distribution
GB2413407B (en) * 2004-04-22 2007-11-07 Ibm Method and system for software or data distribution
US20050289539A1 (en) * 2004-06-29 2005-12-29 Sudhir Krishna S Central installation, deployment, and configuration of remote systems
JP2006099307A (ja) * 2004-09-29 2006-04-13 Hitachi Ltd 分散サーバへのアプリケーションセットのインストール方法
EP1653317A1 (en) * 2004-10-27 2006-05-03 Sap Ag Method and system for setting change options of software systems
ATE363096T1 (de) * 2004-10-27 2007-06-15 Sap Ag Verfahren zur durchführung eines softwaredienstes in einer systemlandschaft
EP1653351B1 (en) * 2004-10-27 2008-06-25 Sap Ag Method and computer system for effecting changes in a software system landscape
DE602004015295D1 (de) * 2004-10-27 2008-09-04 Sap Ag Rechnersystem und Verfahren zum Bewirken von Softwarewartung in einer Softwaresystemlandschaft
EP1653350B1 (en) * 2004-10-27 2008-10-08 Sap Ag Method and computer system for effecting a preliminary software service in a productive system of a software system landscape
ATE400844T1 (de) * 2004-10-27 2008-07-15 Sap Ag Verfahren und system zur generierung eines transportweges durch eine softwaresystemlandschaft
EP1653348A1 (en) * 2004-10-27 2006-05-03 Sap Ag Method for tracking transport requests and computer system with trackable transport requests
US8219807B1 (en) 2004-12-17 2012-07-10 Novell, Inc. Fine grained access control for linux services
US8271785B1 (en) 2004-12-20 2012-09-18 Novell, Inc. Synthesized root privileges
US8214398B1 (en) 2005-02-16 2012-07-03 Emc Corporation Role based access controls
US7793284B2 (en) * 2005-03-25 2010-09-07 Microsoft Corporation Role based server installation and configuration
US20060224484A1 (en) * 2005-04-04 2006-10-05 Eli Nhaissi System and method of economic taxation
US20060225047A1 (en) * 2005-04-05 2006-10-05 William Brothers Generic software requirements analyzer
JP4764056B2 (ja) * 2005-04-14 2011-08-31 キヤノン株式会社 画像処理装置、制御プログラムの更新方法、およびプログラム
US8352935B2 (en) * 2005-05-19 2013-01-08 Novell, Inc. System for creating a customized software distribution based on user requirements
US8074214B2 (en) * 2005-05-19 2011-12-06 Oracle International Corporation System for creating a customized software installation on demand
US8245216B2 (en) * 2005-10-11 2012-08-14 Oracle International Corporation Patch management system
US8271970B2 (en) * 2005-10-27 2012-09-18 Siemens Aktiengesellschaft Method for software distribution
US8341622B1 (en) * 2005-12-15 2012-12-25 Crimson Corporation Systems and methods for efficiently using network bandwidth to deploy dependencies of a software package
US7774446B2 (en) 2005-12-30 2010-08-10 Microsoft Corporation Discovering, defining, and implementing computer application topologies
US8145737B2 (en) * 2005-12-30 2012-03-27 Microsoft Corporation Implementing computer application topologies on virtual machines
US7676565B2 (en) * 2006-01-27 2010-03-09 Microsoft Corporation Light weight software and hardware inventory
US8869142B2 (en) 2006-01-27 2014-10-21 Microsoft Corporation Secure content publishing and distribution
US20070240151A1 (en) * 2006-01-29 2007-10-11 Microsoft Corporation Enhanced computer target groups
US8676973B2 (en) * 2006-03-07 2014-03-18 Novell Intellectual Property Holdings, Inc. Light-weight multi-user browser
US20070234126A1 (en) * 2006-03-28 2007-10-04 Ju Lu Accelerating the testing and validation of new firmware components
US8060871B2 (en) * 2006-03-30 2011-11-15 Microsoft Corporation Servicing software through versioning
US7802243B1 (en) 2006-04-20 2010-09-21 Open Invention Network Llc System and method for server customization
US20070283346A1 (en) * 2006-04-21 2007-12-06 David Delgrosso System and method for remote management and facilitating installation and registration of software
US7971187B2 (en) * 2006-04-24 2011-06-28 Microsoft Corporation Configurable software stack
US7873940B2 (en) * 2006-04-24 2011-01-18 Microsoft Corporation Providing packages for configuring software stacks
US10838714B2 (en) 2006-04-24 2020-11-17 Servicenow, Inc. Applying packages to configure software stacks
US20070271584A1 (en) * 2006-05-16 2007-11-22 Microsoft Corporation System for submitting and processing content including content for on-line media console
US20070294364A1 (en) * 2006-06-15 2007-12-20 International Business Machines Corporation Management of composite software services
US7519711B2 (en) * 2006-06-15 2009-04-14 International Business Machines Corporation Method for middleware assisted system integration in a federated environment
US7950007B2 (en) * 2006-06-15 2011-05-24 International Business Machines Corporation Method and apparatus for policy-based change management in a service delivery environment
US7496893B2 (en) * 2006-06-15 2009-02-24 International Business Machines Corporation Method for no-demand composition and teardown of service infrastructure
US20080005787A1 (en) * 2006-06-28 2008-01-03 Siemens Medical Solutions Usa, Inc. Software Distribution and License Management System
US7730480B2 (en) * 2006-08-22 2010-06-01 Novell, Inc. System and method for creating a pattern installation by cloning software installed another computer
US7567984B1 (en) * 2006-08-31 2009-07-28 Symantec Operating Corporation Operating system and application deployment based on stored user state and organizational policy
US7840941B2 (en) * 2006-09-01 2010-11-23 Microsoft Corporation Conflict resolution of software customizations based on product dependencies
US20080184200A1 (en) * 2007-01-26 2008-07-31 Microsoft Corporation Software configuration policies' validation, distribution, and enactment
US20080184277A1 (en) * 2007-01-26 2008-07-31 Microsoft Corporation Systems management policy validation, distribution and enactment
US8132166B2 (en) 2007-05-14 2012-03-06 Red Hat, Inc. Methods and systems for provisioning software
US8561058B2 (en) * 2007-06-20 2013-10-15 Red Hat, Inc. Methods and systems for dynamically generating installation configuration files for software
US8464247B2 (en) * 2007-06-21 2013-06-11 Red Hat, Inc. Methods and systems for dynamically generating installation configuration files for software
US20090037287A1 (en) * 2007-07-31 2009-02-05 Ahmad Baitalmal Software Marketplace and Distribution System
US8122447B2 (en) * 2007-07-31 2012-02-21 Hewlett-Packard Development Company, L.P. Firmware installation
US8434077B2 (en) * 2007-10-18 2013-04-30 International Business Machines Corporation Upgrading virtual resources
WO2009067710A2 (en) * 2007-11-21 2009-05-28 Motive, Incorporated System and method for network service management and diagnostics
US8612966B2 (en) * 2007-11-29 2013-12-17 Red Hat, Inc. Method and system for preparing software offerings having software application code and post-install configuration information
US8589903B2 (en) * 2007-12-04 2013-11-19 Oracle International Corporation Patch attachment facility
US9477462B2 (en) * 2008-01-16 2016-10-25 Oracle International Corporation System and method for software product versioning packaging, distribution, and patching
US8954550B2 (en) * 2008-02-13 2015-02-10 Microsoft Corporation Service dependency discovery in enterprise networks
US20100017794A1 (en) * 2008-03-14 2010-01-21 Terix Computer Company, Inc. d/b/a Terix Computer Service Operating system patch metadata service and process for recommending system patches
US8713177B2 (en) * 2008-05-30 2014-04-29 Red Hat, Inc. Remote management of networked systems using secure modular platform
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)
US9100297B2 (en) * 2008-08-20 2015-08-04 Red Hat, Inc. Registering new machines in a software provisioning environment
US8930512B2 (en) * 2008-08-21 2015-01-06 Red Hat, Inc. Providing remote software provisioning to machines
US8838827B2 (en) * 2008-08-26 2014-09-16 Red Hat, Inc. Locating a provisioning server
US9477570B2 (en) * 2008-08-26 2016-10-25 Red Hat, Inc. Monitoring software provisioning
US8793683B2 (en) * 2008-08-28 2014-07-29 Red Hat, Inc. Importing software distributions in a software provisioning environment
US8302093B2 (en) * 2008-08-28 2012-10-30 International Business Machines Corporation Automated deployment of defined topology in distributed computing environment
US8103776B2 (en) 2008-08-29 2012-01-24 Red Hat, Inc. Systems and methods for storage allocation in provisioning of virtual machines
US9111118B2 (en) * 2008-08-29 2015-08-18 Red Hat, Inc. Managing access in a software provisioning environment
US9021470B2 (en) * 2008-08-29 2015-04-28 Red Hat, Inc. Software provisioning in multiple network configuration environment
US9952845B2 (en) * 2008-08-29 2018-04-24 Red Hat, Inc. Provisioning machines having virtual storage resources
US8244836B2 (en) * 2008-08-29 2012-08-14 Red Hat, Inc. Methods and systems for assigning provisioning servers in a software provisioning environment
US9164749B2 (en) * 2008-08-29 2015-10-20 Red Hat, Inc. Differential software provisioning on virtual machines having different configurations
US8527578B2 (en) * 2008-08-29 2013-09-03 Red Hat, Inc. Methods and systems for centrally managing multiple provisioning servers
US8326972B2 (en) 2008-09-26 2012-12-04 Red Hat, Inc. Methods and systems for managing network connections in a software provisioning environment
US8612968B2 (en) * 2008-09-26 2013-12-17 Red Hat, Inc. Methods and systems for managing network connections associated with provisioning objects in a software provisioning environment
US8160064B2 (en) 2008-10-22 2012-04-17 Backchannelmedia Inc. Systems and methods for providing a network link between broadcast content and content located on a computer network
US8898305B2 (en) 2008-11-25 2014-11-25 Red Hat, Inc. Providing power management services in a software provisioning environment
US9124497B2 (en) * 2008-11-26 2015-09-01 Red Hat, Inc. Supporting multiple name servers in a software provisioning environment
US8775578B2 (en) * 2008-11-28 2014-07-08 Red Hat, Inc. Providing hardware updates in a software environment
US8782204B2 (en) * 2008-11-28 2014-07-15 Red Hat, Inc. Monitoring hardware resources in a software provisioning environment
US8832256B2 (en) * 2008-11-28 2014-09-09 Red Hat, Inc. Providing a rescue Environment in a software provisioning environment
US8402123B2 (en) * 2009-02-24 2013-03-19 Red Hat, Inc. Systems and methods for inventorying un-provisioned systems in a software provisioning environment
US9727320B2 (en) * 2009-02-25 2017-08-08 Red Hat, Inc. Configuration of provisioning servers in virtualized systems
US8413259B2 (en) * 2009-02-26 2013-04-02 Red Hat, Inc. Methods and systems for secure gated file deployment associated with provisioning
US20100217944A1 (en) * 2009-02-26 2010-08-26 Dehaan Michael Paul Systems and methods for managing configurations of storage devices in a software provisioning environment
US8892700B2 (en) 2009-02-26 2014-11-18 Red Hat, Inc. Collecting and altering firmware configurations of target machines in a software provisioning environment
US8990368B2 (en) 2009-02-27 2015-03-24 Red Hat, Inc. Discovery of network software relationships
US9940208B2 (en) * 2009-02-27 2018-04-10 Red Hat, Inc. Generating reverse installation file for network restoration
US8572587B2 (en) * 2009-02-27 2013-10-29 Red Hat, Inc. Systems and methods for providing a library of virtual images in a software provisioning environment
US9558195B2 (en) * 2009-02-27 2017-01-31 Red Hat, Inc. Depopulation of user data from network
US9411570B2 (en) * 2009-02-27 2016-08-09 Red Hat, Inc. Integrating software provisioning and configuration management
US8640122B2 (en) * 2009-02-27 2014-01-28 Red Hat, Inc. Systems and methods for abstracting software content management in a software provisioning environment
US8135989B2 (en) * 2009-02-27 2012-03-13 Red Hat, Inc. Systems and methods for interrogating diagnostic target using remotely loaded image
US8667096B2 (en) * 2009-02-27 2014-03-04 Red Hat, Inc. Automatically generating system restoration order for network recovery
EP2409258A4 (en) * 2009-03-18 2012-09-12 Altair Eng Inc METHOD FOR LICENSING DIGITAL CONTENT
US8417926B2 (en) * 2009-03-31 2013-04-09 Red Hat, Inc. Systems and methods for providing configuration management services from a provisioning server
EP2414954A4 (en) * 2009-04-02 2013-05-22 Altair Eng Inc METHOD FOR MANAGING LICENSE BY UNIT
US9250672B2 (en) * 2009-05-27 2016-02-02 Red Hat, Inc. Cloning target machines in a software provisioning environment
US9134987B2 (en) 2009-05-29 2015-09-15 Red Hat, Inc. Retiring target machines by a provisioning server
US9047155B2 (en) * 2009-06-30 2015-06-02 Red Hat, Inc. Message-based installation management using message bus
EP2315115A1 (en) * 2009-10-23 2011-04-27 Iriscene Software Corporation, S.L. Method and system for managing the software distribution and maintenance in hostile environments
US8825819B2 (en) * 2009-11-30 2014-09-02 Red Hat, Inc. Mounting specified storage resources from storage area network in machine provisioning platform
US10133485B2 (en) 2009-11-30 2018-11-20 Red Hat, Inc. Integrating storage resources from storage area network in machine provisioning platform
CN102238142B (zh) * 2010-04-23 2014-03-26 英业达集团(天津)电子技术有限公司 计算机的文件传输控制方法
CN102109991A (zh) * 2010-07-30 2011-06-29 兰雨晴 软件包依赖关系建模方法
CN102073582A (zh) * 2010-07-30 2011-05-25 兰雨晴 基于冲突的软件包依赖关系检查方法
US20120254852A1 (en) * 2011-03-30 2012-10-04 Hitachi, Ltd. Method and apparatus to deploy firmware
US20120254857A1 (en) * 2011-03-31 2012-10-04 Infosys Technologies Limited System and method for installing an application on client machine
US8881258B2 (en) * 2011-08-24 2014-11-04 Mcafee, Inc. System, method, and computer program for preventing infections from spreading in a network environment using dynamic application of a firewall policy
US8613101B2 (en) 2011-09-12 2013-12-17 Microsoft Corporation Software distribution service federation
JPWO2014054179A1 (ja) * 2012-10-05 2016-08-25 富士通株式会社 情報処理装置、システム、方法及びプログラム
US9361083B2 (en) * 2013-03-06 2016-06-07 Microsoft Technology Licensing, Llc Enterprise management for devices
US9245128B2 (en) 2013-03-06 2016-01-26 Microsoft Technology Licensing, Llc Limiting enterprise applications and settings on devices
US20140379780A1 (en) * 2013-06-25 2014-12-25 Sap Ag Determining a support package status
US9621424B2 (en) 2013-10-04 2017-04-11 Microsoft Technologies Licensing, LLC Providing a common interface for accessing and presenting component configuration settings
US10679151B2 (en) 2014-04-28 2020-06-09 Altair Engineering, Inc. Unit-based licensing for third party access of digital content
US10685055B2 (en) 2015-09-23 2020-06-16 Altair Engineering, Inc. Hashtag-playlist content sequence management
US10503787B2 (en) 2015-09-30 2019-12-10 Oracle International Corporation Sharing common metadata in multi-tenant environment
US11900090B2 (en) * 2015-10-27 2024-02-13 Airwatch Llc Enforcement of updates for devices unassociated with a directory service
CN105426205A (zh) * 2015-11-03 2016-03-23 上海斐讯数据通信技术有限公司 一种云平台模板升级方法及装置
US10402229B2 (en) * 2017-01-31 2019-09-03 Sap Se Platform for orchestrating custom processes across system landscapes
CN106909392A (zh) * 2017-03-01 2017-06-30 郑州云海信息技术有限公司 基于虚拟化平台的Codis集群服务的部署维护方法
US11327743B2 (en) * 2018-11-21 2022-05-10 Sap Se Transportation of configuration data across multiple cloud-based systems
US11799864B2 (en) 2019-02-07 2023-10-24 Altair Engineering, Inc. Computer systems for regulating access to electronic content using usage telemetry data
US11003433B1 (en) * 2020-02-05 2021-05-11 Dell Products L.P. System and method for improved peer-to-peer software distribution

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1994025913A2 (en) * 1993-04-30 1994-11-10 Novadigm, Inc. Method and apparatus for enterprise desktop management
US5586304A (en) * 1994-09-08 1996-12-17 Compaq Computer Corporation Automatic computer upgrading
GB9623298D0 (en) * 1996-11-08 1997-01-08 Int Computers Ltd Updating mechanism for software
US5953533A (en) * 1997-08-27 1999-09-14 Lucent Technologies Inc. Computer software distribution, installation and maintenance method and apparatus
GB2333864B (en) * 1998-01-28 2003-05-07 Ibm Distribution of software updates via a computer network
US6381742B2 (en) * 1998-06-19 2002-04-30 Microsoft Corporation Software package management
US6484247B1 (en) * 1998-06-25 2002-11-19 Intellution, Inc. System and method for storing and retrieving objects
US6918112B2 (en) * 2000-11-29 2005-07-12 Microsoft Corporation System and method to facilitate installation of components across one or more computers

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7937685B2 (en) 2005-01-13 2011-05-03 Hsbc Technology & Services (Usa) Inc. Computer software implemented framework for configuration and release management of group systems software, and method for same

Also Published As

Publication number Publication date
US7013461B2 (en) 2006-03-14
US20020129356A1 (en) 2002-09-12
TWI288331B (en) 2007-10-11
CN1363882A (zh) 2002-08-14

Similar Documents

Publication Publication Date Title
CN1164990C (zh) 用于服务和基于角色的软件分配的系统和方法
US5581764A (en) Distributed computer network including hierarchical resource information structure and related method of distributing resources
CN101151593B (zh) 自治计算:利用动作策略进行操作的管理代理
CN102165419B (zh) 用于管理批作业的计算机系统及其方法及计算机程序
CN1251138C (zh) 下载/访问网络基本内容期间提供本地存储器上附属内容的方法和系统
CN104769911A (zh) 多域身份管理系统
US7966617B2 (en) Tunable engine and program product for resolving prerequisites for client devices in an open service gateway initiative (OSGi) framework
US20070022023A1 (en) Method and apparatus for populating a software catalogue with software knowledge gathering
US20080126987A1 (en) Graphical representation of compatible workflow steps
CN1650263A (zh) 用于在分布式企业应用中进行问题确定的方法和系统
CN1668010A (zh) 用来在更新分发系统中分发更新元数据的基于标记模式
CN1645330A (zh) 用于应用程序分布式管理的启用网格的虚拟机的方法和系统
WO1994025924A9 (en) Method and apparatus for enterprise desktop management
CN103119557A (zh) 云计算环境中的企业应用的基于模式的构造和扩展
CN1906580A (zh) 对于具有可移动对象的启用网格的虚拟机的方法和系统
CN100350342C (zh) 有选择性地允许和禁止网络上访问软件应用的系统及方法
CN1668009A (zh) 用于分发软件的更新分发系统的体系结构和方法
CN1627286A (zh) 用于生命科学发现、设计和开发的系统、方法和制造品
US20070220509A1 (en) System and method for deploying software based on matching provisioning requirements and capabilities
US20200167444A1 (en) Systems and methods for software license management
US20080104250A1 (en) Identity migration system apparatus and method
US20030229726A1 (en) Default device configuration system and method for thin devices
CN101438269B (zh) 用于提供托管定制垂直应用的方法和装置
CN101281622B (zh) 知识管理系统及使用此知识管理系统导入管理软件的方法
CN1662915A (zh) 飞行计划修订的加载方法

Legal Events

Date Code Title Description
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C06 Publication
PB01 Publication
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20040901

Termination date: 20151229

EXPY Termination of patent right or utility model