对it操作/策略建模的制作方法

文档序号:6569460阅读:273来源:国知局
专利名称:对it操作/策略建模的制作方法
对IT操作/策略建模
祖旦
冃豕
各种企业和公共机构所拥有并操作的IT (信息技术)系统可能是高度复 杂的。典型的IT系统需要多台计算机,并且每台计算机上有多个相互关连的 软件。这些IT系统的部署、配置和管理的手工强度很大,并且通过人类经验、 常识、不相关软件工具的集合以及文档的自组织(adhoc)组合来实现,其中 这些文档通常是不完整的、过时的、当需要时难以定位的或者难以理解的。对 IT系统的手工强度很大的操作通常是误操作和未达最优地执行系统的原因。对 IT系统的改变也通常是非正式地管理的,例如通过电子邮件消息来管理。如果 IT系统具有例如3层应用并且需要应用一修补或改变,则没有方便的方法来确 定该修补或改变是否有效或者它是否会损坏IT系统。这一改变之前可以有大 量的测试。随着IT系统变得越来越复杂,自组织方法也随之失效信息没有 被完全共享或变得陈旧、低效和错误增加等等。总而言之,现代的复杂IT系 统是使用缓慢改变并且没有随着IT系统的复杂度增加而改进的技术来管理的。 没有方法来标准化IT系统的配置。IT系统管理中的这一缺乏标准化和缺乏改 进持续地使企业、公共机构和其它商业机构遭受大量的风险和成本。
缺少标准化配置工具和模型,就没有确定或容易的方式来检査是否满足了 IT系统的操作策略和偏好。没有灵活性;IT系统的改变和扩展难以确认。没 有可用于"编程"某些预定义组件以对操作策略进行建模或捕捉的系统。上述 许多问题在存在捕捉并正式化IT系统的操作知识,即与IT系统的所需配置环 境和操作相关联的知识的情况下可被缓和。
概述
包括以下概述仅是为了介绍在以下详细描述中所讨论的某些概念。本概述 并不是全面的,并且并不旨在勾画可保护的主题的范围,该范围由所附权利要 求书来阐明。
5可对用于操作企业或公共机构的实际或计划的IT系统的操作策略进行建 模。该IT系统可包括诸如应用、应用主机、其一个或多个网络或组件、硬件 等组件以及组件之间的相互关系。该IT系统将根据支配组件的存在或数量、 组件如何相互关连、如何配置组件和相互关系、和/或用于管理和维护IT系统 的手动或自动化过程来操作。建模可涉及通过使用对应于该IT系统的组件的 类型声明抽象、通过声明对应于该IT系统的相互关系的相互关系类型、以及 通过定义类型上和类型之间的约束来生成符合一语言的代码,其中约束对应于 操作该IT系统的策略。
通过结合附图参考以下详细描述,可以更容易理解许多附带特征。


在全部附图中,使用相同的参考标号来指示相同的部分。
图l示出了具有操作知识、模型和IT系统的社团。
图2示出了由模型代表的层。
图3示出了对IT系统的模型的一种使用。
图4示出了用于声明模型的过程。
图5示出了一声明性模型。
图6示出了模型的另一表示。
图7示出了定义图6的示例中所使用的各种关系类型和类类型的代码。 图8-10示出了声明捕捉电子商务网站的操作知识的复杂类类型的代码。 图11示出了规则或约束形式的操作策略的示例。 图12示出了通过限制或扩展的派生的示例。
详细描述
此处所讨论的实施例涉及在模型中通过使用正式语言来捕捉IT系统的操 作知识。更具体而言, 一声明性模型捕捉IT系统的操作知识一涉及IT系统的 配置环境、策略和正在进行的操作和管理的信息。这一知识捕捉声明性模型是 使用诸如XML (或基于XML的建模方案)、UML、 0#等(具体语言并不重 要)等正式语言的类型化系统来形成的。一旦建立,这一模型可具有许多用户。模型向诸如IT管理员、系统操作
员、系统构建者、开发者、测试者等所有感兴趣方清楚地传达IT系统的操作 知识。她可被用作推动关于IT系统应当做什么以及它应当如何运作的协定的 基础。不同的股东可审阅该模型,并同意或不同意对该IT系统的期望。这一 模型可用于实际配置真实世界中的系统。此外,可使用一良好声明的模型来周 期性地检査真实世界的系统是否符合该模型以及它可能捕捉到的各种不变量。 并且,可在将所提出的对IT系统的改变被应用于该IT系统之前对照该模型(以 及因此的该模型所体现的知识和策略)来确认这些改变。因为基于一语言,因 此模型可被容易地解释、编译、操纵、丰富地可视化等等。
图1示出了具有操作知识、模型52和IT系统54的社团。操作知识被体 现在模型52中或在其中捕捉。模型52可用于对IT系统54进行配置、确认、 理解等。值得注意的是,模型52与IT系统54本身分离并且独立于IT系统54。 模型52反映了 IT系统54的期望或优选状态。换言之,尽管模型52独立于真 实世界,但是它可对在真实世界的IT系统54 (例如,服务器、应用等)中找 到的信息的类型进行建模,并且它可以不一定照原样,而是如信息应该是什么 样地来对信息进行建模。总之,模型52捕捉期望的配置状态,并且可允许IT 系统54是什么以及它应当是什么之间的相关。
如所述的,使用一种语言来以包括涉及部署和/或正在进行的操作的信息 的方式声明IT系统的模型。该模型就像IT系统的蓝图。如可从图2中所见到 的,模型52/68可捕捉IT系统的结构,即,IT系统的各个部分,以及它们如 何彼此相关(例如,web应用与目录数据库通信,目录数据库被主存在SQL 上等等)。模型68可以对IT系统的任一或所有层建模。诸如模型68等模型 可声明任何类型的应用70,应用主机72、网络组件和操作系统74、甚至是硬 件76。应用70可以是数据访问客户机或信息工作者生产性工具,或以Java或 ASP.NET编码的网络类型的应用。应用主机72可以是任何web服务器,或工 作者进程隔离模式中的因特网信息服务器等等。网络组件74可以像数据网络 那样简单,但是也可以是用于联网的任何组件。操作系统74可以是基于 Windows的、基于Unix的、虚拟化的操作系统或其它操作系统。硬件76也是 不受限制的,但是可包括诸如外围设备、存储器、CPU、存储、RAID配置等典型的计算机组件。
IT系统的模型还捕捉约束或不变量一为使系统被认为是最优或可操作的
而应当或必须对系统保持为真的一组规则或策略(例如,主机顾客交易数据库
必须在SQL群集上,每一 DFS实例必须具有至少三个服务器、对每一链接必 须存在至少两个目标、对一链接的目标应当被主存在不同的文件服务器上等 等)。
图3示出了对IT系统的模型的一种使用。系统管理员90可提交针对模型 94的模型更新请求92。请求92可对照模型94进行确认96,并且如果保持满 足模型94的所有规则、约束或不变量,则可用请求92来更新模型94。然后可 使用经更新的模型98来例如驱动提供经更新的模型98和真实世界的IT系统 102之间的桥梁的适配器100。例如,可以有用于SQL服务器的适配器,并且 该适配器可通过改变真实世界的IT系统102中的SQL服务器的配置参数来实 现经更新的模型98中的策略或约束。如所述的,模型可具有许多其它用途。
图4示出了用于声明模型的一个过程。首先,生成模型的个人定义120IT 系统的组件/类、关系和约束的类型。然后,个人修改122这些类型以对操作 IT系统的策略或方面的知识进行建模或镜像制作。类型以用于声明模型的语言 的类型化句法来储存124。进一步的细节如下。
图5示出了声明性模型140。模型140可如同图4的过程那样生成。生成 模型140的设计者可通过选择某一特定语言142来开始。语言142应具有包括 用于声明和使用类型的规则和句法144的类型系统144,以及用于确保源代码 没有任何类型违反的类型检查算法146 (类型检査器)。类型系统是类型化语 言的组成部分,它跟踪变量的类型,并且一般跟踪语言中的表达式的类型。类 型系统可描述一程序或代码是否表现良好或是否是定义良好的。类型系统可涉 及诸如范围规则、类型等效等其它方面。最后,类型系统应是可强制实施的; 类型声明应能够在某一程度上进行静态检查。类型系统可用于对IT系统的操 作知识建模,因为类型表达了关于各种东西的静态(相对于算法而言)知识。 应当注意,类型检査器或类型检査算法146有助于以各种方式来使用声明性模 型,它对于实际构建声明性模型不是必需的。
返回到图5,设计人员可收集期望要被建模的所有可用操作知识148。这可涉及从人150或从文档152、 154获得知识。文档152可以是诸如电子邮件、 松散维护的"操作策略"文档等非正式文档。文档154可以是诸如IBM红皮 书、ITIL (IT基础架构库)出版物、某些制度IT策略手册、来自软件出版商 的指示配置或安装应用程序的优选方式的文档等较正式文档。
选择了语言142并收集了操作知识148之后,设计者可通过声明或定义 120IT系统的组件/类、关系和约束来继续。
类/组件和关系的类型形成了用于建模IT系统的软件和硬件构件块。某些 类型可以是值类型,这是诸如整型、串、布尔、枚举等预定义类型。类或组件 类型通常表示基本的系统和资源,并且可具有捕捉要建模和维护的不变状态的 特性。约束类型在捕捉不变要求的特性上或之间操作。
关系类型表示两个或更多类之间的语义关系。关系类型可表示包括 "在……之间通信"、"引用"、"主存/主存在"、"委托"、"特定种类的 交互"、"另一对象可包含什么对象"、"哪些端点可被连接在一起"、"什 么环境可主存特定对象"等任何任意的关系。包含性关系类型可用作定义包含 性模型结构的基本构件块。关系类型可具有表示与关系相关联的不变状态的特 性,并且关系可被约束。
合成或复杂类型可用于构建复杂、多部分的类型。合成类型可以便于对真 实世界的系统(或子系统)建模,并且可通常(但不总是)包括关于系统的规 模和部署的细节。合成类型可包含(通过引用或值)任一类类型的对象,以表 示系统的资源。合成类型可包含任何关系类型的连接器,以表示合成的对象之 间的关系。合成类型还可包含捕捉该合成的不变要求(或偏好)的对象上或之 间的约束或规则。总之,合成类型是类和关系以及所需状态、结构、约束和行 为的采用上下文的合成。
也可定义约束类型。约束表示给定类或关系(连接)类型的实例(对象) 的不变量。约束可包含值或结构。约束通常是能够访问特性/任务/……等的布 尔表达式。约束通常可被求值为真或假,其中假求值指示该约束被违反或其建 议没有得到满足。
给定可由设计模型140的人定义120的类型,并给定语言142和操作知识 148,设计者定义对IT系统建模所需的类、关系、约束和/或合成的类型。设计者修改122这些类型以对操作知识148进行建模或捕捉。关于如何执行这一步 的细节将在参考图6-12讨论示例时变得更明白。对这一点的过程是一设计过 程;类型可用任意数目的方式,如纸笔、建模工具等来定义120和修改122。 然而,当类型被最终化时,它们以语言142的类型化句法144来储存124,作 为类(或组件或值)156的类的声明、关系158的类的声明、约束模型140的 约束160的声明、以及合成类型162的声明。模型140及其类型定义或声明 156-162可以作为一个或多个电子文件或文档被储存124在诸如磁介质、光介 质、易失性或非易失性存储器等任何计算机可读介质中。此外,模型140可以 例如通过编译被变换成机器代码、字节代码、中间代码等等。
图6示出了模型的另一表示。模型180的已编码定义将参考图7-12来讨 论。模型180表示期望的电子商务web系统。某些类类型是web应用程序 182、工作者进程隔离184、顾客交易数据库186、 SQL服务器(群集)188、 目录数据库190、和SQL服务器(标准)192。某些关系类型是主机依赖性 194、 196、 198以及通信200、 202。如将讨论的,模型180还捕捉多个操作约 束204。
某些关系可具有多数性不变量(numerosity invariant)。例如,通信关系 200具有一个实体必须处在关系200的每一端的多数性不变量206。某些类也 具有多数性不变量(见表示类182-192的框的右上角)。例如,SQL服务器(标 准)192可以是该服务器的一次或多次出现()。
图7示出了定义在图6的示例中使用的各种关系类和类类型的代码220。 不论选择什么语言来建模,类型声明都具有指示它们是类型定义并指示所声明 的类型的种类(例如,"RelationshipType"(关系类型),指示所声明的类的 类型)的某一构造或信息。图7中声明的大多数类型及其特性都是自解释的。 如可以见到的,这些基类型可用作更复杂合成类型的各部分。
图8-10示出了声明捕捉电子商务网站的操作知识的复杂类类型的代码 222、 224、 226。被声明为eCommerceSite (电子商务站点)复杂类的各部分和 连接的部分和关系是在图7中定义的类型。eCommerceSite捕捉若干操作方面 或策略。它指定了其构成的数量。它还指定了各部分之间的连接器以及端点和 任务。图IO示出了 eCommerceSite类型的约束的形式的某些其它操作指示。定义了名为WorkerProcessMustBeEnabled (工作者进程必须被启用)的约束以 要求所有IIS6 webserver (web服务器)部分(见图8 )必须将其 WorkerProcessEnabled特性设为真(true)。这并不实际设置电子商务实例的 webserver成员的特性,相反,它声明了电子商务类型上的期望约束;如果其 所有工作者进程未被启用,则电子商务类型的实例将不是有效的。另一约束指 定所有transactionSqlServer (交易SQL服务器)必须将其认证模式 (AuthenticationMode)设为"Windows"。
图11示出了规则或约束的形式的操作策略的示例228、 230。在示例228 中,eCommerceSite类的webapp (web应用程序)对象被定义为每一应用程序 具有不多于1,000个用户。在示例230中,约束被归类为对性能是推荐的。
约束或规则可从几乎任何一条信息中形成。此外,约束可以被构建为可被 求值为真或假的布尔表达式。诸如"所有"、"没有一个"等逻辑算子可用于 构造这些表达式。可构造复杂的多算子表达式。在全部表达式中可以有大致通 过以下来定义的一组布尔表达式表达式=表达式<算子>表达式,或表达式= 项;其中算子是诸如数学算子、布尔算子等东西,而项可以是在该模型中定义 的任何类型(例如,关系、类等),或类型的特性,或常量,或甚至是诸如主 模型本身的日期、时间或设置等全局信息。参见C^、 .NET、 Java以获得布尔 表达式的类似定义。由此,可对IT系统的几乎任何类型的操作约束建模。约 束可被类型化为严格约束或建议性约束,然而,约束可以用同一方式另外地声 明。也可定义其它类型的约束或不变量,因此,例如,约束可基于其类型来确 认。
鉴于以上讨论和示例,应当清楚,所建模的期望IT系统(电子商务web 系统)的策略能够使用声明性构造来建立,并且不需要算术或行为代码的构造。 此外,尽管各示例是以XML来编码的,但是也可使用其它语言。例如,可容 易地使用C弁风格的声明,且即使这一代码中以可执行语句形式包括了行为, 该声明性代码(类型定义)也可被认为是在逻辑上与这些行为代码分开。换言 之,该模型的有效性可被测试(使用类型检査、规则测试、不变量测试等), 而不必考虑可能偶然被包括在该模型的代码中的任何行为。
图12示出了通过限制或扩展的派生的示例232、 234。在模型中捕捉的操作知识可通过派生来重复使用和细化。通过限制的派生可用于专门化在现有模
型中捕捉的知识。如可在示例232中见到的,在用于电子商务站点的模型的情 况下,该模型可被重复使用(限制性地派生)来定义用于具有至少两个web服 务器和至少两个目录服务器的容错电子商务站点的模型,使得它对于一个web 服务器或一个目录数据库服务器的故障有复原力。也可通过扩展派生基模型。 通过扩展的派生可用于扩展在模型中捕捉的知识。如在示例234中所见到的, 电子商务站点模型可被扩展以定义用于除了 web服务器和数据库服务器之外 还具有媒体服务器的在线音乐商店的模型。
总而言之,本领域的技术人员将认识到,用于储存程序指令的存储设备可 在网络上分布。例如,远程计算机可储存被描述为软件的进程的示例。本地或 终端计算机可访问该远程计算机并下载该软件的一部分或全部来运行该程序。 或者,本地计算机可按需下载软件的各部分,或通过在本地终端处执行某些软 件指令并在远程计算机(或计算机网络)处执行某些软件指令来分布式地处理。 本领域的技术人员还将认识到,通过利用本领域的技术人员已知的常规技术, 全部或部分软件指令可由诸如DSP、可编程逻辑阵列等专用电路来实现。
上述所有实施例和特征可用储存在易失性或非易失性计算机或设备可读 介质中的信息的形式来实现。这被认为是至少包括了诸如CD-ROM、磁介质、 闪存ROM等储存机器可执行指令、或源代码、或任何其它可用于使得计算设 备能执行各实施例的信息的介质。这还被认为是至少包括了诸如在实现一实施 例的程序的执行期间储存如CPU指令等信息的RAM等易失性存储器。
1权利要求
1.一种方法,所述方法包括生成一IT系统的模型,所述模型对用于部署、配置和操作所述IT系统的策略进行建模,所述模型包括采用声明性语言的类型化句法的类型声明,其中所述类型声明一起对用于配置和操作所述IT系统的策略进行建模,并且其中,所述类型声明声明了所述IT系统的类/组件的类型、所述IT系统的类/组件之间的关系的类型、以及所述IT系统的约束;以及将所述模型储存在计算机可读介质中。
2. 如权利要求1所述的方法,其特征在于,所述约束包括表达式,所述 表达式包括对所述IT系统的组件和/或所述IT系统的关系操作的算子,其中所 述表达式为真与否可被求值以确定是否满足所述约束。
3. 如权利要求2所述的方法,其特征在于,所述声明性语言具有用于构 造表达式的表达式句法,并且构成所述约束的表达式采用符合所述表达式句法 的形式。
4. 如权利要求1所述的方法,其特征在于,所述约束对操作、部署和配 置所述IT系统的约束进行建模。
5. 如权利要求l所述的方法,其特征在于,还包括 将所储存的模型的一实例传递到所述语言的一实现,所述实现至少包括一类型检查算法并验证所述实例是否满足所述模型的策略。
6. 如权利要求1所述的方法,其特征在于,所述类/组件的类型包括主机 类型、服务器类型以及应用类型,并且其中,所述关系类型包括主存关系、依 赖关系、委托关系和通信关系。
7. 如权利要求1所述的方法,其特征在于,通过添加一声明来从所述模 型中派生一新模型,该声明或者用新声明扩展所述模型,或者通过限制在所述 模型中声明的类型来限制所述模型。
8. —种或多种储存IT系统的模型的定义的计算机可读介质,所述定义包括声明性语言的源或已编译代码,所述源或己编译代码包括软件和硬件组件类型的声明,其中所述组件类型被声明为具有为操作 所述IT系统的策略建模的特性;组件之间的关系类型的声明,其中所述关系类型被声明为具有对操作 所述IT系统的策略建模的特性;对所述关系和组件的约束的声明,其中所述约束以对操作所述IT系 统的策略建模的方式约束了关系和组件的组合。
9. 如权利要求8所述的一种或多种计算机可读介质,其特征在于,所述 定义还包括扩展或细化操作所述IT系统的策略的限制性派生。
10. 如权利要求8所述的一种或多种计算机可读介质,其特征在于,所述 定义指定了所述IT系统中必须对所述IT系统满足的不变量方面。
11. 如权利要求8所述的一种或多种计算机可读介质,其特征在于,还储存了指示所述IT系统的状态的信息;以及用于使用所述定义来确定对所述IT系统的状态的改变是否会违反操作所 述IT系统的策略的组件。
12. 如权利要求8所述的一种或多种计算机可读介质,其特征在于,所述 约束中的某一些还包括指示所述约束的分类的信息。
13. 如权利要求8所述的一种或多种计算机可读介质,其特征在于,还储 存了通过添加一声明而从所述模型中派生的第二模型的定义,该声明或者用新 声明扩展所述模型,或者通过限制在所述模型中声明的类型限制所述模型。
14,如权利要求8所述的一种或多种计算机可读介质,其特征在于,所述 约束的声明包括表达式,所述表达式包括在组件和/或关系上操作的算子,其中 所述表达式可进行为真与否的求值。
15. —种对操作企业或公共机构的实际或计划的IT系统的操作策略建模 的方法,其中所述IT系统包括组件,所述组件包括应用、应用主机、其一个 或多个网络或组件、硬件、以及所述组件之间的相互关系,并且所述IT系统 要根据支配组件的存在或数量、所述组件如何相互关连、如何配置所述组件和 相互关系、以及管理和维护所述IT系统的手动或自动过程的的操作策略来操 作,所述方法包括-通过以下步骤生成符合一语言的代码声明对应于所述IT系统的组件的类类型;声明对应于所述IT系统的相互关系的相互关系类型;以及定义所述类型上和所述类型之间的约束,其中所述约束对应于操作所 述IT系统的操作策略;以及 其中,所述代码独立于所述IT系统。
16. 如权利要求15所述的方法,其特征在于,所述类型是用声明性代码 的各部分根据所述语言的类型化系统的句法和语义来声明的。
17. 如权利要求16所述的方法,其特征在于,所述约束包括在由所述语言定义的全体布尔表达式之内的表达式。
18. 如权利要求17所述的方法,其特征在于,所述约束包含抽象类型中 的某一些,使得所述抽象类型的实例可对照所述约束进行确认。
19. 如权利要求15所述的方法,其特征在于,还包括自动确定所声明的 类型的实例是否满足由所述类型建模的操作策略。
20. 如权利要求15所述的方法,其特征在于,还包括自动确定对所述类 型之一的实例的建议修改是否会违反所述操作策略。
全文摘要
对操作企业或公共机构的实际或计划的IT系统的操作策略进行建模。该IT系统可包括诸如应用、应用主机、其一个或多个网络或组件、硬件等组件以及组件之间的相互关系。该IT系统要根据支配组件的存在和数量、组件如何相互关连、如何配置组件和相互关系、和/或用于管理和维护IT系统的手动或自动化过程的操作策略来操作。建模可涉及通过使用对应于该IT系统的组件的类型声明抽象、通过声明对应于该IT系统的相互关系的相互关系类型、以及通过定义抽象类型上和之间的约束来生成符合一语言的代码,其中约束对应于操作该IT系统的操作策略。
文档编号G06F17/00GK101297293SQ200680040145
公开日2008年10月29日 申请日期2006年10月3日 优先权日2005年11月2日
发明者B·塔巴拉, G·H·奥特海德, J·B·帕哈姆, K·D·J·吉尔利什, P·佳吉, P·杜伯里什 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1