CN103534700A - 用于配置策略提取的系统和方法 - Google Patents

用于配置策略提取的系统和方法 Download PDF

Info

Publication number
CN103534700A
CN103534700A CN201180071007.7A CN201180071007A CN103534700A CN 103534700 A CN103534700 A CN 103534700A CN 201180071007 A CN201180071007 A CN 201180071007A CN 103534700 A CN103534700 A CN 103534700A
Authority
CN
China
Prior art keywords
configuration
complex configuration
distance
project
complex
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.)
Pending
Application number
CN201180071007.7A
Other languages
English (en)
Inventor
Y.卡梅尔
O.巴科尔
R.伯格曼
O.齐林斯基
I.伊什-赫维奇
S.戈兰
R.班纳
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN103534700A publication Critical patent/CN103534700A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
    • H04L41/0856Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information by backing up or archiving configuration information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Game Theory and Decision Science (AREA)
  • Development Economics (AREA)
  • Educational Administration (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种用于针对具有多个复合配置项目的组织进行配置策略提取的方法可以包括计算复合配置项目之间在配置空间中的距离。该方法还可以包括基于计算的距离将复合配置项目聚类成一个或多个簇。该方法还可以包括标识这些簇的一个或多个中的配置模式,并基于所标识的配置模式来提取至少一个配置策略。还公开了用于针对具有多个复合配置项目的组织进行配置策略提取的非暂态计算机可读介质和系统。

Description

用于配置策略提取的系统和方法
背景技术
在大型信息技术(IT)组织中的配置管理实践正朝策略驱动的过程前进,其中贯穿组织一致地管理IT资产。
在许多组织中,配置策略可能没有具体定义、不是已知的,并且即使是已知的或者定义的,也可能与其资产的实际配置状态不相关。此外,在许多组织中,资产的状态可能动态改变,使IT管理者甚至更加难以监视资产配置,更不用说针对他们的资产决定配置策略。
附图说明
在本说明书的结论部分具体指出并清楚主张了视为本发明的主题。然而,通过在跟着附图阅读时参考以下详细描述,可以最佳地理解关于组织和操作方法二者的本发明连同其目的、特征和优势,在附图中:
图1示出了根据本发明的实施例的用于配置策略提取的方法。
图2示出了示例性“j2ee-doman”的复合配置项目(CI)树。
图3示出了根据本发明的实施例的、通过使用二部图来解决最小流问题(连续最短路径)而在复合CI中的节点之间进行匹配的多分配问题的建立。
图4描绘了根据本发明的实施例的从大型数据库提取的简单策略规则400。
图5示出了根据本发明的实施例的用于配置策略提取的系统。
图6示出了根据本发明的一些实施例的配置策略提取器设备。
将意识到,为了说明的简单和清楚,图中示出的元素并不一定是按比例绘制的。例如,为了清楚,可以相对于其他元素增大一些元素的尺寸。此外,在认为适当的情况下,参考标号可以在图间重复以指示对应或者类似的元素。
具体实施方式
IT从业者典型地负责配置项目的特定集合,并由此具有整个组织的有限视图。在许多组织中,没有人实际知道配置项目是如何贯穿组织被管理的。如实践中所经常发生的,用配置策略管理工具(并且这样的工具是已知的)存在风险,即,由于缺少关于组织中实际配置状态的知识而将不合适地使用这样的工具,并因此,组织不能享用这样的工具可以提供的益处。
图1示出了根据本发明的实施例的用于配置策略提取的方法。
根据本发明的实施例,用于配置策略提取的方法100可以包括计算102组织的复合配置项目(CI)之间在配置空间中的距离。该方法还可以包括基于计算的距离将复合配置项目聚类104成一个或多个簇。每个簇可以通过其复合配置项目之间的距离来表征(例如,这样的距离不大于最大阈值距离)。该方法还可以包括标识106所述一个或多个簇的一个或多个中的配置模式,并基于所标识的配置模式来提取108至少一个配置策略。该方法还可以包括收集101关于组织的复合CI的配置数据。本发明的上下文中的“组织”可以包括公司、机构和其他组织。其还可以包括任何这样的企业,其具有许多CI、可能希望监视其CI的配置和/或基于当前CI配置来得到配置策略。
在本发明的上下文中,“策略”的意思是可以向组织建议的任何配置标准。配置策略可以例如基于规划的目标和计划来手动生成,或者可以例如基于对于该组织可用的处理配置信息。,配置策略典型地可以针对将其实施为该组织的配置标准。
配置数据可以存储在例如配置管理数据库(CMDB)中。根据本发明的一些实施例,可以例如通过每当现有复合CI的配置中发生改变时记录配置数据或者每当添加新复合CI时输入配置数据来手动收集配置数据。根据本发明的其他实施例,可能通过采用不断地、周期地或者以其他方式搜索组织网络以确定其复合CI的配置状态的爬虫应用来自动收集和存储配置数据。
根据本发明的实施例,IT从业者可以使用所提出的方法来分析组织的CI的配置。当计划采购(planning acquisition)或者登入(on boarding)新客户时,这对应管理服务提供商(MSP)可以是有用的。
为了清楚起见,后文提供了一些基本定义和注释。复合配置项目(CI)在CMDB中典型地表示为树。显式复合或者简单CI将用CI来标示。每个简单CI可以具有用type(CI)标示的类型和属性值集合                                                
Figure DEST_PATH_IMAGE001
,其中A i 是第i个属性的一组可能的值。例如,复合CI可以具有类型NT,并且在例如指定“操作系统”的第i个属性中具有值“Windows-7”。其可能具有不同的孩子CI,例如类型“CPU”的CI。当人们提到CI时,其可能仅仅考虑的是简单CI(及其属性),或者考虑的是整个树,其中CI是该树的根。本文中使用术语简单CI和复合CI是为了在不清楚时区分上下文。
复合CI由用T(CI)标示的CI的树构成。该上下文中的树可以是有向图G(V,E),其中V是节点的集合并且E是有向边的集合。如果(u, v) 
Figure 945141DEST_PATH_IMAGE002
 E,则人们可以称u是v的父亲并且v是u的孩子。如果进一步(u,w) 
Figure 862281DEST_PATH_IMAGE002
 E,其中w 
Figure DEST_PATH_IMAGE003
 v,则人们可以称w是v的兄弟节点。树T的根节点可以用root(T)来标示,并且节点v的孩子可以用children(v)来标示。如果(v, u) 
Figure 30019DEST_PATH_IMAGE002
 E或者如果存在v1,…, vk使得(v,v1), (vk,u) 
Figure 487545DEST_PATH_IMAGE002
 E并且对于所有1 
Figure 301917DEST_PATH_IMAGE004
 i 
Figure 186697DEST_PATH_IMAGE004
 k - 1, (vi, vi +1
Figure 453730DEST_PATH_IMAGE002
 E,则可以说v和u之间存在路径。这样的路径可以用v 
Figure DEST_PATH_IMAGE005
u来标示。有时可以根据某种顺序来遍历树。在该情况中,IT(v)可以标示树T的该顺序的v的索引。如果上下文是清楚的,则人们可以忽略T下标。矢量可以用
Figure 714947DEST_PATH_IMAGE006
~x来标示。
计算复合CI之间在配置空间中的距离可以等同于确定复合CI之间的相似度。可以典型地在树结构中表示复合CI。因此,计算CI之间的距离的问题可以表示为确定树之间的相似度,这通常在设置树编辑距离算法中进行研究。树编辑算法已经用于解决分子生物学、XML文档处理以及其他学科(discipline)中的问题。过去提出的针对带标记有序树(labeled ordered tree)的编辑距离的定义允许对节点进行三种编辑操作——“删除”、“插入”和“重新标记(relabel)”。对于无序树,已经知道问题是NP困难(NPhard)的。另一方面,对于有序树,基于动态规划技术存在多项式算法。若干研究人员已经标识了对编辑距离的该定义的限制。CI相似度可以表示对于树编辑的约束的独特集合。
为了保存CI结构,“删除”和“插入”操作将不应用于单个节点,相反,它们可以应用于完全子树。例如,图2描绘了“j2ee-doman”202的复合CI树200。在该示例中,“i2ee-doman”202是jdbc数据源204和j2eeapplication 206、207的父亲。此外,j2eeapplication 206、207(分别)是ejb模块208、web模块209和ejb模块210、web模块211的父亲。此外,ejb模块208、210(分别)是无状态会话bean 212、214的父亲,并且web模块209、211(分别)是服务小程序(servlet)213、215的父亲。ejb模块208、210必须(分别)是j2eeapplication 206、207的孩子。人们不能删除j2eeapplication(206,207)并将ejbmodule添加为j2ee-domain 202的孩子——j2eeapplication 206、207的父亲。在重新标记操作中改变CI的一些属性是可能的,但是不能改变其类型。因此,为了计算单独节点之间的距离,可以比较CI的属性。
因为CI的孩子CI是无序的,所以两个CI的孩子之间的匹配典型地不是一对一的。例如,j2eedomain可以由任意数量的j2eeapplication构成。如果一个j2eedomain包括五个j2eeapplication而另一个包括五十个j2eeapplication,则这人们可能不希望将这两个j2eedomain视为是非常不同的。因此,一边的多个孩子可以映射到另一边的单个孩子,反之亦然。另一方面,例如,具有一个中央处理单元(CPU)的Windows NT服务器与具有四个CPU的Windows NT服务器是非常不同的。因此,可以考虑关于多个分配的惩罚,这取决于CI类型。这些约束可以在指导CI编辑距离测量的设计的考虑之中。关于“删除”和“插入”操作的约束允许人们将自顶向下方法类似地用于计算编辑距离。另一方面,人们可以不采用动态规划来在孩子节点之间进行匹配,因为其假设有序的一对一匹配。替代地,可以定义多分配。该分配可以缩减为最小代价流问题,其可以例如通过使用多项式时间的连续最短路径算法来解决。通过递归地激活该过程来计算完全树编辑距离,并且完全树编辑距离也具有多项式运行时间。
为了自组织配置,人们可能希望找到CI的频繁模式。因为CI是树,所以人们可能需要用于频繁树挖掘的算法。这样的算法用于在树的输入收集中搜索重复的子树结构。这些算法可以在重复结构必须遵守的限制上和搜索的树的类型上变化。为了挖掘配置项目,人们可能对具体的树挖掘场景感兴趣。
在计算复合CI之间的距离之后,可以基于计算的距离对复合CI进行聚类。
可以使用各种有效的非参数聚类算法。根据本发明的实施例,考虑所有复合CI之间的距离,包括作为在其他复合CI内的子树的那些复合CI。因此,如果人们可以将复合CI的给定集合视为森林,则可以考虑该森林中每两个子树之间的距离。在根级的复合CI的簇可以帮助确定配置策略。例如,内部CI的CI簇可以表示这样的策略的普遍模式。
CI的输入集合可以通过CI聚类算法来计算,或者其可以由用户手动选择。
为了生成基线策略,人们可以收集关于每个CI模式的统计。然后,可以通过例如以贪心方式一次添加一种模式同时确保策略充分覆盖CI的输入集合来提取策略。
为了陈述的简单起见,如同聚类正在输出CI的单个最大簇并提取针对该簇的策略那样编写本文中描述的算法。平常地,聚类可以输出所有簇并然后可以产生多个策略——针对每个簇一个策略或者针对若干簇一个策略。
可以考虑诸如本文给出的算法那样的算法:
算法:GeneratePolicy
Figure DEST_PATH_IMAGE007
       (1)
Figure 947608DEST_PATH_IMAGE008
注解: 创建距离矩阵
Figure DEST_PATH_IMAGE009
Figure 3288DEST_PATH_IMAGE010
for 
Figure DEST_PATH_IMAGE011
 to 
Figure 819935DEST_PATH_IMAGE012
 to n
  do 
Figure DEST_PATH_IMAGE013
update D from 
Figure 619263DEST_PATH_IMAGE014
注解: 对CI进行聚类
Figure DEST_PATH_IMAGE015
注解: 生成策略P
Figure DEST_PATH_IMAGE017
return (P)  。
在算法(1)中,第一阶段创建大小为NxN的距离矩阵D,其中,N是包括内部CI的复合CI的数量(即,输入CI的森林中子树的数量)。通过重复计算距离矩阵M D 来填充该矩阵,距离矩阵M D 包括所有的一个复合CICIi的子树与另一复合CI CIj的子树之间的距离。将D输入到聚类阶段作为输入。然后,可以计算策略,使得对于输入CI的至少α部分,该策略有效。
后文详述CI树编辑距离矩阵D的创建。
树编辑距离可以取决于以下四种代价类型:
rep(C i ,CI j ),其可以计算用简单CI CI j 替换简单CI CI i 的代价。该计算可以主要取决于每个CI的属性。人们可以假设其获得作为输入的对属性进行加权的函数,函数
Figure 502534DEST_PATH_IMAGE018
确定两个简单CI之间的距离;
mult(CI i ),其可以计算用多于一个CI替换简单CI CI i 的一个实例的代价。人们可以假设获得作为输入的函数,如果分配有多样性(multiplicity),则函数
Figure 839974DEST_PATH_IMAGE019
对每种类型的简单CI给予惩罚;
del(CI i ),其可以计算删除CI子树T(CI i )的代价;以及
ins(CI i ),其可以计算插入CI子树T(CI i )的代价。
如人们可以在算法(1)中看到的,其包括用于推断参数的预处理步骤。明确地,参数
Figure 483445DEST_PATH_IMAGE018
Figure 382393DEST_PATH_IMAGE019
,它们是四个代价函数所需的。为了简单,人们可以假设
Figure 111315DEST_PATH_IMAGE018
Figure 252446DEST_PATH_IMAGE019
是输入的部分。可以进一步假设用于计算这四个函数的时间独立于子树的大小。在本示例中,用于插入和删除的代价是独立于输入值的常量(替代地,可以在树距离计算之前预先计算这些值)。
下面给出用于针对复合CI计算树距离的示例性递归算法。在每个步骤中,可以考虑两个节点(简单CI)和它们的孩子。如果这些节点不具有相同的类型或者它们中的一个没有孩子,则情况更加简单。在一般情况中,递归计算每对孩子之间的距离,并然后考虑节点之间的距离连同两个孩子集合之间的距离。本示例中使用这两个距离的最大值,但是作为替代,人们可以使用总和。
算法:CITreeEdit(M D , T 1 , T 2 , p)       (2)
Figure DEST_PATH_IMAGE021
Figure 584388DEST_PATH_IMAGE022
Figure 597343DEST_PATH_IMAGE024
Figure DEST_PATH_IMAGE025
if rep((r1,r2)) =inf,
     then MD
Figure 479848DEST_PATH_IMAGE026
return
if n 1 =0 or n2=0
     then MD
Figure DEST_PATH_IMAGE027
            
Figure 458431DEST_PATH_IMAGE028
 return
for 
Figure 463296DEST_PATH_IMAGE011
to n 1 ,
Figure DEST_PATH_IMAGE029
 to n2
     do CITreeEdit(M D , c 1  [i], c 2 [j], p)
MD
              MinCost(MD,
return   。
函数MinCost表现为编辑距离算法的核心。其计算当前节点的两个孩子(复合CI)集合之间的分配,考虑该问题的约束。
如上文中所讨论的,两个CI之间的孩子CI的“编辑距离”体现该问题的一些独特约束。基本地,给定树中孩子节点的两个集合,人们可能希望将一个集合中的每个节点匹配至另一个集合中的节点或节点的子集,使得代价将最小。在一些情况中,当节点类型的多样性具有较小重要性时(例如,针对计算机配置的IP地址的数量),使用代价函数目的在于允许以低代价来进行一对多匹配。在其他情况中,当不同的多样性意味着不同的功能性时(例如,计算机中CPU的数量),人们可能希望多个匹配的代价为高。在该情况中,当从一个集合移动到另一个时,“编辑距离”可以优选“删除”CPU,而非将一个CPU匹配至另一集合中的两个CPU。另外,匹配的代价可以考虑相互匹配的节点的属性的相似度。例如,如果一个节点具有两个文件系统,一个为10Gbt并且第二个为160Gbt,并且第二个节点具有20Gbt和200Gbt的两个文件系统,则人们可能想要以该顺序来分配它们,使得它们的相异度的代价将最小。
为了找到最优匹配集合,人们可以构建加权的二部图,其中权重是用于匹配的代价(或者两个CI之间的距离)。为了允许“删除”和“插入”操作,可以添加两个特殊节点(每个集合一个):“删除”和“插入”节点。节点可以根据它们的类型被分配给多于一个节点,但是可能经受某种惩罚。存在用来解决加权的匹配问题的方法的真实性(verity)。
可以例如使用常称为“连续最短路径”的最小流问题来解决匹配问题。实质上,连续最短路径算法解决作为具有任意链路权重的一系列最短路径问题的最小代价流问题。为了实施每个集合中的任何节点要具有分配给其的在另一集合中的至少一个节点的要求,人们可以使用多样超额(multi-excess)公式。第一集合中的每个节点可以具有为1的超额值,并且第二集合中的每个节点可以具有为(-1)的超额值。此外,两个集合之间的边可以具有为1的容量值,使得仅可以匹配节点对。因此,可以要求每个节点匹配至另一集合中的至少一个节点(或者插入/删除节点)。为了允许多对一和一对多匹配,人们可以添加具有大超额的源和汇聚节点,并在源和汇聚节点与二部图的节点之间的边上添加多个匹配的代价。
图3示出了根据本发明的实施例的、通过使用二部图来解决最小流问题(连续最短路径)而在复合CI中的节点之间进行匹配的多分配问题的建立。
在该图中,比较两个CI组,并计算它们之间的最小距离。一个CI组包括:四个CPU(302a、302b、302c、302d),每个可以以3.4GHz操作;两个存储驱动器,具有120GB存储容量的C:(304a)和具有280GB存储容量的D:(304b);以及两个IP地址(306a、306b)。另一个CI组包括:可以以2.8GHz操作的两个CPU(213a、213b);三个存储驱动器,具有136GB存储容量的C:(314a)和具有280GB存储容量的D:(314b)以及具有10GB存储容量的U:(314a);以及三个IP地址(316a、316b、316c)。
正式地,给定两个孩子CI集合
Figure DEST_PATH_IMAGE031
Figure 420516DEST_PATH_IMAGE032
,分配将每个c1[i]映射到
Figure 533965DEST_PATH_IMAGE032
的零个或更多元素;类似地,
Figure 521513DEST_PATH_IMAGE031
的零个或更多元素可以映射到每个c2[j]。存在将c1[i]分配给c2[j]的代价d(c1[i], c2[j])。该代价对应于CI之间的相异度。对于将任何CI分配给零个元素,存在惩罚P。另外,对于向类型type的元素的多个分配,存在惩罚Ptype。除了第一个以外,针对每个分配的元素累积该惩罚。为了匹配
Figure 745821DEST_PATH_IMAGE031
的元素与
Figure 869635DEST_PATH_IMAGE032
的元素,人们可以生成以下带标记的图G(V,E,Cost,Cap,Exc),其中Cost和Cap是每条边的代价和容量标记,并且Exc是分配给每个节点的超额值。回顾输入是这样的参数(见上文),其包括如果分配有多样性则向每种类型的简单CI给与惩罚的
Figure 153986DEST_PATH_IMAGE019
。令P > 1是某种常量惩罚。节点集合及它们的超额由V = {s, t, del, insg} V1
Figure 628829DEST_PATH_IMAGE033
V2 来定义,其中前4个节点是特殊节点(源s 340、汇聚t 342、删除332和插入330),并且对于每个i 
Figure 656828DEST_PATH_IMAGE002
 {1, 2}, Vi = {ci[1],…, ci[ni]}。超额参数可以包括:
Exc(s) = |V 1 | + |V 2 |
Exc(t) = -2|V 1 |
Exc(del) = Exc(ins) = 0
对于每个
Figure 402193DEST_PATH_IMAGE002
 V 1 , Exc(v) = 1
对于每个 v 
Figure 591865DEST_PATH_IMAGE002
 V 2 , Exc(v) = -1
边集合及它们的代价和容量标签可以定义如下:
对于每个  V 1 ,e = (s, v) 2 
Figure 120116DEST_PATH_IMAGE002
, Cost(e) = P type ,并且Cap(e) = ∞, 其中type = type(c 1 [j] = v)
对于每个
Figure 546418DEST_PATH_IMAGE002
 V 2 ,e = (v, t) 
Figure 906992DEST_PATH_IMAGE002
 E, Cost(e) = P type 并且Cap(e) = ∞, 其中 type = type(c 2 [j] = v)
对于每个
Figure 857893DEST_PATH_IMAGE002
 V 1 ,e = (v, del) 
Figure 227694DEST_PATH_IMAGE002
 E, Cost(e) = P,并且Cap(e) = 1
对于每个 v 
Figure 180607DEST_PATH_IMAGE002
 V 2 ,e = (ins, v) 
Figure 977661DEST_PATH_IMAGE002
 E, Cost(e) = P,并且Cap(e) = 1
e = (s, ins) 
Figure 586497DEST_PATH_IMAGE002
 E, Cost(e) = 0,并且 Cap(e) = ∞
e = (del, t) 
Figure 822307DEST_PATH_IMAGE002
 E, Cost(e) = 0,并且 Cap(e) = ∞
对于每个
Figure 832988DEST_PATH_IMAGE002
 V 1 并且  V 2 ,e = (v, u) 
Figure 959393DEST_PATH_IMAGE002
 E, Cost(e) = MD(c 1 [j] = v, c 2 [k] = u),并且Cap(e) = 1,其对应于两个CI之间的相异度。
用Reduce来标示上面描述的通过创建输入图G来将分配问题简化为多分配最小代价流问题的过程,并且用MinCostFlow来标示以最小代价作为输出的最小代价流算法本身,人们可以执行以下算法:
算法:MinCost(M D , c 1 , c 2 , params)       (3)
Figure 223060DEST_PATH_IMAGE034
return (MinCostFlow(G))  。
在图3中示出的示例中,存在给出的具有作为它们的孩子CI的CPU、文件系统和IP地址的两个主机。因此,存在:
N1 = 9个元素的集合c1 = { CPU0, CPU1, CPU2, CPU3, C :, D :, E :, IP1, IP2 }
N2 = 10个元素的集合c2 = { CPU0, CPU1, C :, D :, E :, N :, U :, IP1, IP2, IP3 };元素的数量
对于每个i和j,代价函数是d(c1[i], c2[j])并且容量是1。注意,对于i和j,使得type(c1[i]) ≠ type(c2[j]),则d(c1[i], c2[j])=∞,并因此在图中没有布置边。
所有其他边的容量为∞。
通过从/至这些特殊节点的任何边上的P的代价来实施插入/删除惩罚。
通过在至源s或汇聚t的边上具有P type 的代价来实施对多个分配的惩罚。例如,Cost(s, CPU0) = P CPU 。当CPU0具有超额1时,仅为1的流可以从该节点起始。将把其连接到另一集合中的节点的任何其他流将必须从s流动并且为多样性付出惩罚。
(插入、删除)边上的代价0使我们能够在向任何节点分配多于一个节点时从s耗尽(drain)超额。
注意,连续最短路径典型地具有伪多项式复杂度。然而,在本情况中,人们可以在每次迭代时增加一个流单元,这将相当于分配一个附加的节点对。结果,如果人们令N标示CI的数量,则算法将在N次迭代内终止并且需要多项式运行时间。
注意,在实践中,许多孩子CI在所有它们的值中可以是相同的。在这种情况中,人们可以将所有相同孪生子组合成一个大节点。在该情况中,人们可以将该新节点的超额更新为具有等于该大节点表示的兄弟的数量的绝对值。显然,这可以等同于具有分离节点的方案。这可以显著改进算法对于真实数据的性能。
现在考虑计算上文定义的代价函数的方法。预处理步骤从输入配置项目数据聚集统计。该阶段可以离线执行,并且在比之后工作的集合大的数据集上执行。人们可以假设存在各种类型的CI(例如,主机、CPU等)。令{type1, type2, … typeτ }是数据集中所有类型的集合,并且A1, … At是所有可能属性的集合。在预处理阶段期间推断两个参数集合:
属性权重。属性权重可以针对每个CI类型而设置。属性权重可以用于忽视一些不相关的属性,并且可以使更有信息性属性能够影响距离。例如,如果对于某个属性几乎所有CI就单个值达成一致,或者可替代地几乎每个CI具有不同值,则其不能在相似和不相似CI之间进行区分。该认识可以导致这样的理解,即,向具有适度熵值的属性分配高权重将是有用的。因此,可以针对每个属性attr j 聚集统计来对数据中出现的不同值进行计数。作为示例,例如,Windows-7:245、Windows-Vista:101、Unix:7等)。最后,对于每个,人们可以输出wij,其可以启发式地计算如下(这作为示例给出):
-如果类型type i 的几乎所有(例如,多于90%)的CI对于attrj具有相同值,则wij=0。
-如果类型type i 的CI对于attrj具有许多不同值(例如,值的数量超过出现的10%),则wij=0。
-人们可以向系统中分配负和正的附加域知识,例如,某些类型的属性可以始终获得值0(例如,日期或IP地址),或者诸如“名称”的特殊属性可以获得高值(比如10)。
-对于所有其他属性wij=1。
-对于每种类型,将权重正规化以加起来为1。
假设不同类型的CI具有无限距离。替代地,属性权重可以由算法使用。实践中,人们可以将该统计途径与一些域知识进行组合以便产生权重。
重复惩罚。重复惩罚可以针对每个CI类型而设置。主要思想是查看在复合CI中趋向于一起出现的某种类型的CI的数量。如果该数量变化很大,例如考虑分配给服务器的IP地址,则对于重复的惩罚可以为小。另一方面,如果该数量为小,例如考虑服务器中CPU的数量,则对于重复的惩罚可以为大。因此,人们可以收集关于每个CI类型的重复计数的统计,并且计算重复计数的分布的方差。重复惩罚可以影响做出多个分配的代价,其继而将趋向于使具有不同重复类型的CI相距更远(换言之——更加相异),在重复惩罚高时尤其如此,例如,具有1个CPU的主机与具有4个CPU的主机相比较。
预处理算法可以如下所示:
算法:Preprocess
Figure 150565DEST_PATH_IMAGE036
       (4)
Figure DEST_PATH_IMAGE037
return 
Figure DEST_PATH_IMAGE039
可以从上文的描述直接推导出算法SetAttributeWeights。用于惩罚表示的算法可以如下:
算法:GeneragePenaltyValues
Figure 997484DEST_PATH_IMAGE036
Figure 247200DEST_PATH_IMAGE040
?, where 
Figure DEST_PATH_IMAGE041
for each, foreach 
Figure DEST_PATH_IMAGE043
for each 
Figure 168330DEST_PATH_IMAGE044
     do 
Figure DEST_PATH_IMAGE045
u is of type type i
Figure 301371DEST_PATH_IMAGE046
if 
Figure DEST_PATH_IMAGE047
     then replace(hi, k)with (H i , K+1)
     else add (H i , 1) to Hist i
for each i
     do 
Figure DEST_PATH_IMAGE049
return 
Figure 820657DEST_PATH_IMAGE050
  。
与其他数据挖掘应用类似,可以期望合适的聚类算法是在时间和空间二者上是高效的。对于这样的应用,可以典型地选择凝聚层次聚类(agglomerative hierarchical clustering)。用于聚类的该途径从作为单独簇的每个对象开始并反复地合并簇。人们可以使用具有良好空间和时间性能的找到聚类途径的模式,因为其使用邻居列表而非完全距离矩阵。可以基于距离阈值θ来确定邻居列表。该算法的运行时间和存储器要求是O(N x average
Figure DEST_PATH_IMAGE051
,其中N是对于簇的对象的数量,并且
Figure 363634DEST_PATH_IMAGE052
是objecti的邻居列表。正常地,人们将期望邻居列表为小且独立于N。
现在可以考虑用于创建给定的复合CI集合的策略的算法。可以假设输入CI遵守某种策略。此时,可以做出进一步假设:CI聚类算法提供频繁模式簇。可以调用两种算法来生成基线策略。第一种算法ComputePatternGraph计算模式包含并收集关于模式的频率和重复的统计。如算法(5)所示(见下文),创建图GP,其是各种簇的层次图。每个簇用图中的节点来表示。如果存在为第一簇的成员的复合CI,其是为第二簇的成员的CI的父亲,则簇节点链接为另一簇节点的父亲。用范围对边进行标记。因为每个节点可以具有为相同簇的成员的许多孩子,所以对这些出现进行计数并跟踪每条边的最小和最大的这种多样性。
算法:ComputePatternGraph
Figure DEST_PATH_IMAGE053
       (5)
G(V, E, L)
Figure 718391DEST_PATH_IMAGE054
 ?
for each add v s  to V
for each
Figure 637806DEST_PATH_IMAGE056
        for each 
Figure DEST_PATH_IMAGE057
        
Figure 895874DEST_PATH_IMAGE058
for each 
Figure DEST_PATH_IMAGE059
Figure 609752DEST_PATH_IMAGE060
for each 
Figure 717386DEST_PATH_IMAGE059
: if 
        then add (v S , v S' ) to E
        if 
Figure 174912DEST_PATH_IMAGE062
        if 
return G P    。
算法(5)在与树大小呈线性的时间内工作。哈希表可以用于计算模式的最小和最大量。下一种算法(算法(6),见下文)GeneratePolicy利用多种启发法从模式图中的模式路径建立策略。在其是具有属性的简单CI的树的意义上,策略本身实际上是广义的CI。存在许多方式来从簇图GP生成该树。这里表示一种非常基本的方式,其在性能方面看起来有优势。一般而言,其以贪心方式添加图GP的部分,只要策略的支持仍然超过作为输入给出的阈值。假设存在有效的函数Match,其允许检查CI是否匹配策略。开始时,策略Pol是空图,因此任何CI将肯定地回答Match。
算法:GeneratePolicy
Figure 287486DEST_PATH_IMAGE064
       (6)
G P =G P (V, E, L)
Figure DEST_PATH_IMAGE065
for each leaf 
Figure 437845DEST_PATH_IMAGE066
Figure DEST_PATH_IMAGE067
Pol(VP, EP, LP) ?
for each Rv:
     if 
Figure 28412DEST_PATH_IMAGE068
     then 
for each 
Figure 995494DEST_PATH_IMAGE070
     while 
Figure DEST_PATH_IMAGE071
     for 
Figure 316754DEST_PATH_IMAGE072
to 
Figure DEST_PATH_IMAGE073
Figure 133400DEST_PATH_IMAGE074
return (Pol)  。
函数Sort基于每个路径的优先级来对不同的路径进行排序,其中每个路径的优先级基于该路径中每条边上的最小量(多样性)、该路径的支持以及该路径的深度。
在两个类型非常不同的配置的真实客户数据上测试提出的方案,这两个类型非常不同的配置在实践中均是很常见的。
第一种类型的配置涉及700个主机的集合,其是混合CI。在该数据集中,每个CI具有许多孩子,但是CI树的深度为小。图4描绘了根据本发明的实施例的从大型数据库提取的简单策略规则400。根据本发明的实施例的策略提取算法首先对不同类型的主机进行聚类。在该示例中,对于NT主机的一个簇,策略规定NT机器应当具有微软OS 402、至少两个文件系统406以及四个IP服务端点404。
第二种类型的配置涉及8个CI J2EE域CI的集合。在该数据中,每个混合CI包括数千个CI和复杂的树结构。图2描绘了根据本发明的实施例的针对该集合提取的策略。该策略规定每个j2eedomain包含22个jdbcdatasource(204)、3个一种类型的j2eeapplication(206)以及一个不同类型的j2eeapplication(207)。在该示例中,两种类型的j2eeapplication不同之处在于它们包含的CI。一种类型包括3种不同类型的ejbmodule,而第二种类型仅包含一种类型的ejbmodule。
图5示出了根据本发明的实施例的用于配置策略提取的系统。
组织可以具有在其支配下的各种复合CI(504a-g)。例如,可以存在通过网络510连接到配置策略提取器设备502的CI(504a、504c)。例如,还可以存在通过局域网连接到或者连接到(504f-h)网络510或者与网络510相分离(504d-e)的复合CI(504d-e、504f-g)。附加CI可以包括单独的复合CI(504c)。
可以以服务器或者主机的形式来提供配置策略提取器设备502,并且配置策略提取器设备502可以包括配置策略提取模块506,其被设计为执行根据本发明的实施例的用于配置策略提取的方法。
图6示出了根据本发明的一些实施例的配置策略提取器设备600。这样的设备可以包括诸如例如硬盘驱动器的非暂态存储设备602,用于存储根据本发明的实施例的可以在处理器606上执行的用于配置策略提取的配置数据和可执行程序。可以提供诸如例如键盘、指示设备、电子笔、触摸屏等的输入设备608,用于促进由用户进行信息或命令的输入。可以提供通信接口604来允许配置策略提取器设备与外部设备之间的通信。这样的通信可以是促进至或从设备的信息的输入或输出的点对点通信、无线通信、通过网络的通信或其他类型的通信。还可以提供输出设备609用于从设备输出信息,例如监视器、打印机或其他输出设备。
存储设备602可以用于存储诸如例如配置管理数据库(CMDB)的配置数据。根据本发明的一些实施例,系统600可以包括不断地、周期性地或者以其他方式搜索组织网络以确定其复合CI的配置状态的爬虫应用。
本发明的实施例可以包括用于执行本文描述的操作的装置。这样的装置可以专门构建用于期望的目的,或者可以包括通过存储在计算机中的计算机程序来选择性地激活或重新配置的计算机或处理器。这样的计算机程序可以存储在暂态或非暂态计算机可读或处理器可读存储介质、包括软盘、光学盘、CD-ROM、磁光盘的任何类型的盘、只读存储器(ROM)、随机访问存储器(RAM)、电可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、磁或光卡或者适于存储电子指令的任何其他类型的介质中。将意识到,各种各样的编程语言可以用于实现如本文所描述的本发明的教导。本发明的实施例可以包括诸如计算机或处理器可读存储介质的制品,例如,计算机或处理器可读存储介质诸如是编码、包括或存储例如计算机可执行指令的指令的存储器、盘驱动器或USB闪速存储器,当由处理器或控制器执行时,指令使得处理器或控制器实行本文公开的方法。指令可以使得处理器或控制器执行实行本文公开的方法的处理。
本文讨论的各种实施例的特征可以与本文讨论的其他实施例一起使用。已经出于说明和描述的目的给出了本发明的实施例的前面的描述。其并不意图是穷尽性的或者将本发明限制在所公开的精确形式。本领域技术人员应当意识到,根据上面的教导,许多修改、变型、替代、改变以及等同是可能的。因此,应当理解,所附权利要求书意图涵盖如落入本发明的真实精神内的所有这样的修改和改变。

Claims (19)

1.一种用于针对具有多个复合配置项目的组织的配置策略提取的方法,所述方法包括:
计算复合配置项目之间在配置空间中的距离;
基于计算的距离将复合配置项目聚类成一个或多个簇;
标识所述一个或多个簇的一个或多个中的配置模式;以及
基于所标识的配置模式来提取至少一个配置策略。
2.如权利要求1所述的方法,还包括收集关于组织的复合配置项目的配置数据。
3.如权利要求1所述的方法,其中,计算复合配置项目之间的距离包括使用树编辑距离算法来确定树之间的相似度。
4.如权利要求3所述的方法,其中,计算复合配置项目之间的距离是通过递归解决最小流问题来完成的。
5.如权利要求4所述的方法,其中,最小流问题用于在多个复合配置项目的复合配置项目的节点之间进行匹配。
6.如权利要求5所述的方法,还包括向复合配置项目的属性分配权重。
7.如权利要求5所述的方法,还包括分配重复惩罚,所述惩罚取决于复合配置项目的属性。
8.一种其上存储有用于配置策略提取的指令的非暂态计算机可读介质,当由处理器执行时,所述指令导致处理器执行以下方法:
计算复合配置项目之间在配置空间中的距离;
基于计算的距离将复合配置项目聚类成一个或多个簇;
标识所述一个或多个簇的一个或多个中的配置模式;以及
基于所标识的配置模式来提取至少一个配置策略。
9.如权利要求8所述的非暂态计算机可读介质,包括还使得处理器执行收集关于组织的复合配置项目的配置数据的方法的指令。
10.如权利要求8所述的非暂态计算机可读介质,其中,计算复合配置项目之间的距离包括使用树编辑距离算法来确定树之间的相似度。
11.如权利要求10所述的非暂态计算机可读介质,其中,计算复合配置项目之间的距离是通过递归解决最小流问题来完成的。
12.如权利要求11所述的非暂态计算机可读介质,其中,最小流问题用于在多个复合配置项目的复合配置项目的节点之间进行匹配。
13.如权利要求12所述的非暂态计算机可读介质,包括使得处理器执行向复合配置项目的属性分配权重的方法的指令。
14.如权利要求12所述的非暂态计算机可读介质,包括使得处理器执行分配重复惩罚的方法的指令,所述惩罚取决于复合配置项目的属性。
15.一种用于针对具有多个复合配置项目的组织的配置策略提取的配置策略提取系统,所述系统包括处理器,所述处理器被配置为:
计算复合配置项目之间在配置空间中的距离;
基于计算的距离将复合配置项目聚类成一个或多个簇;
标识所述一个或多个簇的一个或多个中的配置模式;以及
基于所标识的配置模式来提取至少一个配置策略。
16.如权利要求15所述的系统,包括存储设备,用于存储配置信息。
17.如权利要求15所述的系统,包括爬虫应用,用于自动搜索组织的配置数据。
18.如权利要求15所述的系统,还包括输入或输出设备。
19.如权利要求15所述的系统,包括通信模块,用于与一个或多个其他设备进行通信。
CN201180071007.7A 2011-05-20 2011-05-20 用于配置策略提取的系统和方法 Pending CN103534700A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/037313 WO2012161672A1 (en) 2011-05-20 2011-05-20 System and method for configuration policy extraction

Publications (1)

Publication Number Publication Date
CN103534700A true CN103534700A (zh) 2014-01-22

Family

ID=47217525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180071007.7A Pending CN103534700A (zh) 2011-05-20 2011-05-20 用于配置策略提取的系统和方法

Country Status (4)

Country Link
US (1) US20140108625A1 (zh)
EP (1) EP2710493A4 (zh)
CN (1) CN103534700A (zh)
WO (1) WO2012161672A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104598536A (zh) * 2014-12-29 2015-05-06 浙江大学 一种分布式网络信息结构化处理方法
CN104662842A (zh) * 2012-07-20 2015-05-27 瑞典爱立信有限公司 基于网格的流量测量

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6107456B2 (ja) * 2013-06-14 2017-04-05 富士通株式会社 構成要件作成プログラム、構成要件作成装置および構成要件作成方法
US10305738B2 (en) 2016-01-06 2019-05-28 Esi Software Ltd. System and method for contextual clustering of granular changes in configuration items
CN105847065B (zh) * 2016-05-24 2019-05-10 华为技术有限公司 一种网元设备误配置检测方法及检测设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080229277A1 (en) * 2006-06-19 2008-09-18 International Business Machines Corporation Data locations template based application-data association and its use for policy based management
US20100199088A1 (en) * 2003-09-30 2010-08-05 Guardian Data Storage, Llc Method and System For Securing Digital Assets Using Process-Driven Security Policies
US7822785B2 (en) * 2006-06-30 2010-10-26 International Business Machines Corporation Methods and apparatus for composite configuration item management in configuration management database
CN102012917A (zh) * 2010-11-26 2011-04-13 百度在线网络技术(北京)有限公司 信息处理装置以及处理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5963953A (en) * 1998-03-30 1999-10-05 Siebel Systems, Inc. Method, and system for product configuration
US6167408A (en) * 1998-08-31 2000-12-26 International Business Machines Corporation Comparative updates tracking to synchronize local operating parameters with centrally maintained reference parameters in a multiprocessing system
US20040002880A1 (en) * 2000-09-21 2004-01-01 Jones William B. Method and system for states of beings configuration management
US7937281B2 (en) * 2001-12-07 2011-05-03 Accenture Global Services Limited Accelerated process improvement framework
US8838699B2 (en) * 2004-02-27 2014-09-16 International Business Machines Corporation Policy based provisioning of Web conferences
US7584161B2 (en) * 2004-09-15 2009-09-01 Contextware, Inc. Software system for managing information in context
US20060161879A1 (en) * 2005-01-18 2006-07-20 Microsoft Corporation Methods for managing standards
US9753747B2 (en) * 2006-11-16 2017-09-05 Oracle International Corporation Dynamic generated web UI for configuration
IL200425A0 (en) * 2008-08-15 2010-04-29 Yosef Luzon Fluid based resorce allocation and appoinment scheduling system and method
US9594759B2 (en) * 2009-06-16 2017-03-14 Microsoft Technology Licensing, Llc Backup and archival of selected items as a composite object
US8880682B2 (en) * 2009-10-06 2014-11-04 Emc Corporation Integrated forensics platform for analyzing IT resources consumed to derive operational and architectural recommendations

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100199088A1 (en) * 2003-09-30 2010-08-05 Guardian Data Storage, Llc Method and System For Securing Digital Assets Using Process-Driven Security Policies
US20080229277A1 (en) * 2006-06-19 2008-09-18 International Business Machines Corporation Data locations template based application-data association and its use for policy based management
US7822785B2 (en) * 2006-06-30 2010-10-26 International Business Machines Corporation Methods and apparatus for composite configuration item management in configuration management database
CN102012917A (zh) * 2010-11-26 2011-04-13 百度在线网络技术(北京)有限公司 信息处理装置以及处理方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104662842A (zh) * 2012-07-20 2015-05-27 瑞典爱立信有限公司 基于网格的流量测量
CN104598536A (zh) * 2014-12-29 2015-05-06 浙江大学 一种分布式网络信息结构化处理方法
CN104598536B (zh) * 2014-12-29 2017-10-20 浙江大学 一种分布式网络信息结构化处理方法

Also Published As

Publication number Publication date
EP2710493A1 (en) 2014-03-26
EP2710493A4 (en) 2014-10-29
WO2012161672A1 (en) 2012-11-29
US20140108625A1 (en) 2014-04-17

Similar Documents

Publication Publication Date Title
Becker et al. A comparative survey of business process similarity measures
US20120317142A1 (en) Systmen and method for data management in large data networks
CN103180826B (zh) 在代表计算机程序的数据流图中管理数据集对象
CN104756107B (zh) 采用位置信息剖析数据
CN103020302B (zh) 基于复杂网络的学术核心作者挖掘及相关信息抽取方法和系统
Wang et al. Review on community detection algorithms in social networks
CN101884024A (zh) 在基于图的计算中管理数据流
CN103678671A (zh) 一种社交网络中的动态社区检测方法
US8326982B2 (en) Method and apparatus for extracting and visualizing execution patterns from web services
CN103534700A (zh) 用于配置策略提取的系统和方法
US20190303266A1 (en) String transformation based trace classification and analysis
US20130290237A1 (en) Discovery and grouping of related computing resources using machine learning
EP3427163B1 (en) Node-centric analysis of dynamic networks
Chaudhary et al. Efficient error correction algorithms for gene tree reconciliation based on duplication, duplication and loss, and deep coalescence
CN102521332B (zh) 基于强模拟的图模式匹配方法、装置及系统
Ganji et al. A declarative approach to constrained community detection
Jansson On the complexity of inferring rooted evolutionary trees
CN114153862A (zh) 业务数据处理方法、装置、设备及存储介质
Fu et al. IbLT: An effective granular computing framework for hierarchical community detection
Hambrusch et al. Edge weight reduction problems in directed acyclic graphs
Al Aghbari et al. Geosimmr: A mapreduce algorithm for detecting communities based on distance and interest in social networks
CN110061917A (zh) 接口组的创建方法、装置、网络设备及存储介质
Meddah et al. Discovering patterns using process mining
Shi et al. Flow-based influence graph visual summarization
Lin et al. Triplet supertree heuristics for the tree of life

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140122