CN101295380A - 用于估计资源供应的方法和系统 - Google Patents
用于估计资源供应的方法和系统 Download PDFInfo
- Publication number
- CN101295380A CN101295380A CNA2008100884331A CN200810088433A CN101295380A CN 101295380 A CN101295380 A CN 101295380A CN A2008100884331 A CNA2008100884331 A CN A2008100884331A CN 200810088433 A CN200810088433 A CN 200810088433A CN 101295380 A CN101295380 A CN 101295380A
- Authority
- CN
- China
- Prior art keywords
- node
- service
- hardware
- indicator
- group
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
描述了用于估计资源供应的方法和系统。一种示例方法可以包括:获取工作流路径,所述工作流路径包括外部调用节点和相应的服务节点、节点连接器和硬件节点组,并包括从外部调用节点到硬件节点的有向有序路径,有向有序路径指示与服务节点相关联的服务的执行流的顺序;基于与服务节点相关联的属性值和传播工作负荷的指示器确定服务节点工作负荷的指示器,传播工作负荷的指示器基于组合与外部调用节点和基于顺序在工作流路径中在服务节点之前的其他服务节点或节点连接器相关联的属性值;以及基于组合服务节点工作负荷的指示器和与硬件节点相关联的当前资源需求的指示器,在硬件节点上供应服务节点。
Description
技术领域
本发明涉及用于估计资源供应的技术。
背景技术
企业业务软件公司正日益更改其软件产品的体系结构,以便为公司或者其系统的其他用户提供更大的灵活性。常规业务软件可以包括分层的体系结构设计,例如可能包括数据库层、应用服务器层和用户接口层的三层体系结构。但是,近来更多的业务软件可能被基于面向服务体系结构(ServiceOriented Architecture,SOA)而进行设计。
在分层体系结构和SOA之间存在着许多差别。例如,可以使用服务器仓(server silo)构建分层体系结构,其中,可以在单个硬件资源或者资源集群(cluster)上维护例如数据库的单个软件层。因此,整个软件层与硬件资源的紧密耦合可以是示例分层体系结构的特性。
相反,SOA可以提供分布在很多软件服务上的系统功能,每一个软件服务均提供其自己的用于和其他服务相互通信的编程接口。由于软件服务在高得多的粒度水平上封装功能,它们可以提供比分层体系结构更为松散的耦合和更高的灵活性。可以基于被组合为工作流的所有服务的编制(orchestration)产生这样的系统。服务自身可以是分层的,但是对于整个系统可以认为这并不重要,因为只有服务接口可以暴露给系统。
由于SOA方法中更高的服务数量和粒度,可以确定基于SOA的系统上的硬件资源供应的特性可能比典型的分层体系结构的特性复杂得多。但是,SOA的资源供应和分层体系结构的资源供应可能同等重要。因此,人们可能期望提供可以改善对例如面向服务体系结构的体系结构的资源供应的估计的技术。
发明内容
根据一个一般方面,一种系统包括:资源供应估计器,包括被配置成获取包括第一外部调用节点、第一组服务节点、第一组节点连接器和第一组硬件节点的第一工作流路径的工作流管理器,其中,第一工作流路径包括从第一外部调用节点到第一组硬件节点中包括的一个或更多个硬件节点的第一有向有序路径,第一有向有序路径指示与第一组服务节点相关联的服务的执行流的第一顺序。资源供应估计器可以包括传播工作负荷引擎,传播工作负荷引擎被配置成基于与第一服务节点相关联的属性值和第一传播工作负荷的指示器确定与第一工作流路径中包括的第一服务节点相关联的第一服务节点工作负荷的指示器,第一传播工作负荷的指示器基于组合与第一外部调用节点和基于顺序在第一工作流路径中在第一服务节点之前的一个或更多个其他服务节点或节点连接器相关联的属性值。资源供应估计器还可以包括供应引擎,供应引擎被配置成基于组合与第一服务节点相关联的第一服务节点工作负荷的指示器和与第一硬件节点相关联的第一当前资源需求的指示器,在第一组硬件节点中包括的第一硬件节点上供应第一服务节点。
根据另一个方面,一种方法包括:获取包括第一外部调用节点、第一组服务节点、第一组节点连接器和第一组硬件节点的第一工作流路径,其中,第一工作流路径包括从第一外部调用节点到第一组硬件节点中包括的一个或更多个硬件节点的第一有向有序路径,第一有向有序路径指示与第一组服务节点相关联的服务的执行流的第一顺序。基于与第一服务节点相关联的属性值和第一传播工作负荷的指示器,可以确定与第一工作流路径中包括的第一服务节点相关联的第一服务节点工作负荷的指示器,第一传播工作负荷的指示器基于组合与第一外部调用节点和基于顺序在第一工作流路径中在第一服务节点之前的一个或更多个其他服务节点或节点连接器相关联的属性值。基于组合与第一服务节点相关联的第一服务节点工作负荷的指示器和与第一硬件节点相关联的第一当前资源需求的指示器,在第一组硬件节点中包括的第一硬件节点上可以供应第一服务节点。
根据又一个方面,一种计算机程序产品被有形地具体实施在计算机可读介质上,并被配置成导致数据处理装置获取包括第一外部调用节点、第一组服务节点、第一组节点连接器和第一组硬件节点的第一工作流路径,其中,第一工作流路径包括从第一外部调用节点到第一组硬件节点中包括的一个或更多个硬件节点的第一有向有序路径,第一有向有序路径指示与第一组服务节点相关联的服务的执行流的第一顺序。所述计算机程序产品还被配置成导致数据处理装置基于与第一服务节点相关联的属性值和第一传播工作负荷的指示器确定与第一工作流路径中包括的第一服务节点相关联的第一服务节点工作负荷的指示器,第一传播工作负荷的指示器基于组合与第一外部调用节点和基于顺序在第一工作流路径中在第一服务节点之前的一个或更多个其他服务节点或节点连接器相关联的属性值,并且基于组合与第一服务节点相关联的第一服务节点工作负荷的指示器和与第一硬件节点相关联的第一当前资源需求的指示器,在第一组硬件节点中包括的第一硬件节点上供应第一服务节点。
在附图和下面的描述中给出了一个或更多个实施方案的细节。从这些描述、附图和权利要求,其他的特征将会清晰。
附图说明
图1是根据示例实施例用于估计资源供应的示例系统的框图。
图2是示出了图1示例系统的操作的流程图。
图3绘出了根据示例实施例的与示例模型结构相关联的示例实体。
图4绘出了根据示例实施例的外部调用的示例图形表示。
图5绘出了根据示例实施例的接口连接器的示例图形表示。
图6绘出了根据示例实施例的服务600的示例图形表示。
图7绘出了根据示例实施例的工作负荷传播器的示例图形表示。
图8绘出了根据示例实施例的计算资源供给或者硬件节点的示例图形表示。
图9绘出了根据示例实施例的供应器的示例图形表示。
图10绘出了根据示例实施例的示例模型的示例图形表示。
图11绘出了根据示例实施例的模型分析的示例输出。
图12绘出了根据示例实施例的模型分析的示例输出。
图13是绘出了根据示例实施例的用于对系统设计建模的模板的屏幕截图。
图14是绘出了根据示例实施例的由用户添加到用于对系统设计建模的模板的节点的屏幕截图。
图15是绘出了根据示例实施例的由用户通过用于对系统设计建模的模板链接的节点的屏幕截图。
图16是绘出了根据示例实施例的用于指定与用户选择的实体相关联的定制属性的示例对话框的屏幕截图。
图17是绘出了根据示例实施例的开始执行仿真的用户选择的屏幕截图。
图18是示出了图1示例系统的操作的流程图。
具体实施方式
图1是根据示例实施例用于估计资源供应的系统100的框图。在图1的例子中,资源供应估计器102可以包括各种处理引擎,这些处理引擎提供并执行可以向例如用户104显示的模型或者设计的处理。资源供应估计器102可以包括工作流管理器106,工作流管理器106被配置成获取包括第一外部调用节点、第一组服务节点、第一组节点连接器和第一组硬件节点的第一工作流路径,其中,第一工作流路径包括从第一外部调用节点到第一组硬件节点中包括的一个或更多个硬件节点的第一有向有序路径(directed orderedpath),第一有向有序路径指示与第一组服务节点相关联的服务的执行流的第一顺序(ordering)。
例如,工作流可以指示可能从服务调用产生的服务的执行流,所述服务例如通过外部调用的“生成购买订单”服务,所述外部调用例如用户调用所述服务“生成购买订单”。例如,工作流路径可以从调用延伸到终止硬件节点,在工作流路径上,服务可以被供应,或者被布署以供执行,并且,例如在工作负荷路径中的所有服务已被供应后,可以执行分析。
根据示例实施例,传播工作负荷引擎108可以被配置成基于与第一服务节点相关联的属性值和第一传播工作负荷的指示器来确定与第一工作流路径中包括的第一服务节点相关联的第一服务节点工作负荷的指示器,所述第一传播的工作负荷的指示器基于组合与第一外部调用节点和基于顺序排在第一工作流路径中的第一服务节点之前的一个或更多个其他服务节点或节点连接器相关联的属性值。
示例供应引擎110可以被配置成基于组合与第一服务节点相关联的第一服务节点工作负荷的指示器和与第一硬件节点相关联的第一当前资源需求的指示器,在第一组硬件节点中包括的第一硬件节点上供应第一服务节点。根据示例实施例,供应引擎可以被配置成基于遍历包括每一个硬件节点的模型中所包括的所有工作流路径,确定与包括在所述模型中的每一个硬件节点相关联的服务和资源的供应。
根据示例实施例,利用率指示产生器112可以被配置成基于与第一硬件节点相关联的第一当前资源需求指示器和第一总资源指示器确定与第一硬件节点相关联的利用率指示器。
根据示例实施例,工作流遍历引擎114可以被配置成遍历从第一外部调用节点到第一硬件节点的第一工作流路径。
根据示例实施例,用户接口116可以被配置成在用户104和与系统100相关联的其他引擎或存储区域之间提供接口。用户接口116还可以通过例如图形用户接口(GUI)管理器118从用户104接收信息,并向用户104提供信息。例如,用户104可以通过GUI管理器118和用户接口116产生SOA系统的模型或者设计。例如,用户接口114可以被配置成实施与模型或者设计中可能包括的实体相关联的结构设计约束。例如,如果“外部调用”节点只可以通过“接口连接器”边缘被连接到“服务”节点,则用户接口114可以被配置成保证用户104不通过具有“接口连接器”边缘类型以外的类型的边缘错误地把“外部调用”节点连接到“服务”节点。例如GUI管理器118可以被配置成产生包括一个或更多个工作流的系统设计的显示。例如GUI管理器118可以被配置成产生包括一个或更多个工作流的系统设计的仿真结果的显示。
根据示例实施例,示例模型管理器120可以被配置成获取表示一个或更多个调用节点和多个服务节点、节点连接器和硬件节点的排列的模型,其中,所述模型包括第一工作流路径。例如,模型管理器120可以被配置成通过GUI管理器118和用户接口116从用户104获取模型。
根据示例实施例,模型库122可以被配置成基于工作流存储与工作流和模型相关联的信息。例如,关于工作流模型的结构的信息可以被存储在模型库122中。根据示例实施例,模型库122可以包括模型结构存储区域124,模型结构存储区域124可以被配置成存储模型结构信息。例如,模型结构存储区域124可以被配置成存储例如对应于和诸如SOA系统的被建模系统的图形表示相关联的结构的有向非循环图的模型结构信息。
根据示例实施例,模型库122可以包括节点库126和边缘库128,节点库126可以被配置成存储与一个或更多个节点相关联的节点信息,所述节点被包括在与模型结构信息相关联的一个或更多个模型结构中;边缘库128可以被配置成存储与一个或更多个模型结构中所包括的一个或更多个边缘相关联的边缘信息,所述模型结构与模型结构信息相关联。
根据示例实施例,模型结构信息可以与至少一个表示多个节点和一个或更多个边缘的排列的模型相关联,所述多个节点包括一个或更多个服务节点、外部调用节点,或者硬件节点,所述边缘包括节点连接器,包括一个或更多个接口连接器、供应器或者工作负荷传播器。
根据示例实施例,节点库126可以包括服务存储区域130、调用存储区域132和硬件存储区域134,服务存储区域130可以被配置成存储与服务节点相关联的信息,调用存储区域132可以被配置成存储与包括外部调用节点的调用节点相关联的信息,硬件存储区域134可以被配置成存储与硬件节点相关联的信息。例如,服务节点可以表示例如“生成购买订单”服务的服务。例如,外部调用节点可以表示可能调用服务的用户。例如,硬件节点可以表示例如诸如SOA系统的系统中的服务器的硬件。
根据示例实施例,边缘库128可以包括接口连接器存储区域136、供应器存储区域138,和工作负荷传播器存储区域140,接口连接器存储区域136可以被配置成存储与接口连接器边缘相关联的信息,供应器存储区域138可以被配置成存储与供应器边缘相关联的信息,工作负荷传播器存储区域140可以被配置成存储与调用边缘相关联的信息。例如,接口连接器边缘可以表示可以把外部调用节点连接到服务节点的接口连接器,供应器边缘可以表示可以把服务连接到硬件节点以便实现把服务供应或者布署到所连接的硬件节点的供应器,并且工作负荷传播器边缘可以把服务连接到其他服务以便通过工作流路径把工作负荷值传播到用于供应的服务器节点。
根据示例实施例,资源供应估计器可以包括仿真引擎142,仿真引擎142可以被配置成在图形用户接口屏幕的用户通过用户接口114和GUI管理器118完成模型或者设计后,开始模型或者设计的仿真的执行。例如,用户104可以通过GUI管理器118和用户接口114产生SOA系统的模型或者设计,并且可以通过仿真引擎142仿真所设计的系统的操作。
这里讨论了用于通过建模和仿真技术估计资源供应的示例方法和系统。例如,这里描述的示例方法和系统可以为用户提供建模和仿真技术来设计SOA系统,并在把服务实际布署到实际硬件之前确定和分析对供应的估计。
通过将单个服务合并到许多不同的系统配置中,面向服务体系结构(SOA)可以提供重用服务中所包括的功能的能力。因此,在硬件供应中可以考虑服务展望(service landscape),例如包括考虑工作流的构造。
在企业软件领域可以被称为分级(sizing)的一种用于估计分层体系结构的硬件资源供应的常规技术可能依赖于把任何硬件的处理能力量化到抽象的基准单位(benchmark unit)的能力,所述基准单位对于系统可以在其中运行的领域可能是有意义的。常规方法已使用了理论参考机(reference machine)。例如,用于根据吞吐量和响应时间测量系统的处理能力的独立于硬件的单元可以被称为“SAPS”。这种单元可以提供在两个系统之间比较的手段,而不考虑分层体系结构中的层数(例如2层、3层、多层),并不考虑客户端/服务器配置。例如,可以确定100个SAPS单位等同于每小时2000条完全处理的指令线(order lines),这可能导致处理6000个对话步骤(例如屏幕变化),具有2000个记录(posting)或者2400个系统事务处理。类似地,其他的基准单位可以包括FLOPS基准单位,它可以与硬件性能相关联,指的是“每秒的浮点运算”,并且包括TPS基准单位,它可以与数据库应用相关联,指的是“每秒的事务处理”。
根据示例实施例,分级过程中的第一个步骤可以包括在系统硬件上执行基准检测(perform a benchmark)以便例如按照处理能力确定系统的能力。例如,对于业务软件系统,基准检测过程可以包括销售和分销(Sales andDistribution,SD)基准检测。数据处理领域的技术人员将会理解,可能存在其他的可用来提供用于在不同的系统之间比较的更有用的单位的基准检测。根据示例实施例,SD基准检测可以在系统上生成强负荷,用于确定以SAPS单位衡量的最大系统处理能力。分级过程中的最终步骤可以包括确定满足系统生成的预期需求所需的SAPS单位的数量。
用于SOA的资源供应可能和分层体系结构的资源供应一样重要。尽管有分层体系结构的分级过程的可量测性,用于分层体系结构的常规资源供应技术可能不能为SOA提供最优结果,因为增多的更细粒度的对关于组成系统的服务的了解、服务如何连接在一起、以及增多的对服务工作流的了解对于SOA中的硬件供应可能是重要的考虑因素。SOA的服务重用特性可能高度需求系统中的单个服务,从而生成可能影响所有包括经受这种高需求的服务的工作流的瓶颈。
例如,在提供SOA设计和与该设计相关联的估计的硬件资源供应之间的关系的模型中,可以采用这里所讨论的示例分级技术。这里所讨论的示例技术可以采用许多实体,它们可能包括可以形成图的节点和边缘。
根据示例实施例,服务可以由节点表示,所述节点可以描述通过接口与其他服务进行通信的松散耦合的、自主业务或者技术功能。例如,“生成购买订单”服务可以描述用于生成购买订单的业务功能,并且可以通过接口与另一个服务例如“发送电子邮件”服务进行通信。
根据示例实施例,外部调用可以由节点表示,所述节点可以描述作为一个或更多个用户或者外部调用的结果在系统中产生的负载。例如,开始每月的薪金报表过程(monthly payroll process)的系统用户或者在系统上产生外部工作负荷的客户订单可以由外部调用表示。
根据示例实施例,接口连接器可以由边缘表示,所述边缘可被用来指示外部调用和工作流中第一个被调用的服务之间的关系。例如,接口连接器可以指示用户调用了诸如“生成购买订单”的服务,并指示“生成购买订单”是工作流中第一个被调用的服务。在这个上下文中,工作流路径可以由包括外部调用节点、一组服务节点、一组节点连接器和一组一个或更多个硬件节点的有向有序路径表示。工作流路径可以包括从外部调用节点到第一组硬件节点中所包括的一个或更多个硬件节点的有向有序路径,所述有向有序路径指示了和该组服务节点相关联的服务的执行流的顺序。例如,节点可以通过边缘连接,所述边缘可以和作为属性的方向相关联。例如,边缘可以依靠结构要求和方向相关联,所述结构要求是该边缘只可用来连接特定节点类型,或者,边缘可以和例如“源节点”和“目标节点”的属性相关联。例如,对于和工作流路径相关联的有向路径,可以遍历“前向”边缘以便提供按特定顺序访问实体的遍历,例如“前移”通过路径中所包括的实体。
根据示例实施例,工作负荷传播器可以由边缘表示。由于SOA的松散耦合性质,服务可以被配置成调用任何其他的服务,并且被调用的服务接着可以调用更多的服务。结果,例如可以生成服务编排,其中在每一个工作流中涉及的服务和订单可能是硬件资源供应估计的重要因素,并且可以被描述为系统中服务之间的关系的阵列。根据示例实施例,工作负荷传播器可以表示在这里所讨论的示例模型中一个服务调用另一个服务的关系。
根据示例实施例,硬件实体可以由提供满足被布署服务的需求的计算能力或者处理能力的SOA中的节点表示。根据示例实施例,示例系统中的所有硬件可以被表示为服务器集合。但是,数据处理领域的技术人员可以理解,这样的处理能力可以由服务器以外的实体提供。
根据示例实施例,供应器可以由边缘表示,所述边缘指示服务和硬件之间的关系。例如,所述关系可以指示在硬件节点上供应或者布署服务。硬件节点可以供应所有的计算或者处理能力来满足布署在硬件上的服务所产生的需求。
图2是流程图,示出了图1系统的示例操作。根据示例实施例,可以获取包括第一外部调用节点、第一组服务节点、第一组节点连接器和第一组硬件节点的第一工作流路径,其中,第一工作流路径包括从第一外部调用节点到第一组硬件节点中包括的一个或更多个硬件节点的第一有向有序路径,第一有向有序路径指示与第一组服务节点相关联的服务的执行流的第一顺序(202)。例如,工作流管理器106可以从例如模型库122获取第一工作流路径。例如,工作流管理器106可以基于存储在模型结构存储区域124中的信息获取第一工作流路径。例如,工作流管理器106可以基于通过用户接口116来自用户104的输入获取第一工作流路径。
根据示例实施例,服务节点和硬件节点可以和属性值相关联。例如,每一个服务节点可以与属性值相关联,所述属性值包括与服务的外部调用相关联的总工作负荷值、临时工作负荷值以及和执行每一个服务调用花费的工组量相关联的工作单位值,以及基于组合工作单位和工作负荷值的和服务相关联的资源需求值,例如,这些值可以被存储在服务存储区域130中。例如,每一个硬件节点可以和总需求值、总供给值和利用率值相关联,总需求值指示和硬件节点相关联的计算能力的总需求,总供给值指示和硬件节点相关联的计算能力的总供给,利用率值基于组合总需求和总供给值指示和硬件节点相关联的计算能力的利用率,这些值例如可以被存储在硬件存储区域134中。
例如外部调用节点的调用节点可以和调用速率相关联,例如,调用速率可以被存储在调用存储区域132中。
基于与第一服务节点相关联的属性值和第一传播工作负荷的指示器确定与第一工作流路径中包括的第一服务节点相关联的第一服务节点工作负荷的指示器,第一传播工作负荷的指示器基于组合与第一外部调用节点和基于顺序在第一工作流路径中在第一服务节点之前的一个或更多个其他服务节点或节点连接器相关联的属性值(204)。例如,如先前讨论的那样,与第一工作流路径中所包括的第一服务节点相关联的第一服务节点工作负荷指示器可以由示例传播工作负荷引擎108确定。
基于组合与第一服务节点相关联的第一服务节点工作负荷的指示器和与第一硬件节点相关联的第一当前资源需求的指示器,可以在第一组硬件节点中包括的第一硬件节点上供应第一服务节点(206)。例如,通过先前讨论的示例供应引擎110,可以在第一硬件节点上供应第一服务节点。根据示例实施例,基于遍历从第一外部调用节点到第一硬件节点的第一工作流路径,可以在第一硬件节点上供应第一服务节点。
根据示例实施例,可以获取表示一个或更多个调用节点和多个服务节点、节点连接器和硬件节点的排列的模型,其中,模型包括第一工作流路径。根据示例实施例,模型可以由模型管理器120从先前讨论的模型库122获取。根据示例实施例,模型可以表示多个节点和一个或更多个边缘的排列,所述多个节点包括一个或更多个服务节点、外部调用节点,或者硬件节点,并且所述一个或更多个边缘包括节点连接器,包括一个或更多个接口连接器、供应器,或者工作负荷传播器。
根据示例实施例,获取模型可以包括获取有向非循环图,所述有向非循环图包括第一外部调用节点、第一组服务节点、第一组节点连接器,以及第一组硬件节点。根据示例实施例,可以从先前讨论的模型结构存储区域124获取所述有向非循环图。
根据示例实施例,对于模型中所包括的每一个硬件节点,基于遍历包括每一个硬件节点的模型中所包括的所有工作流路径,可以确定与每一个硬件节点相关联的服务和资源的供应。
根据示例实施例,基于与第一硬件节点相关联的第一当前资源需求指示器和第一总资源指示器,可以确定与第一硬件节点相关联的利用率指示器。例如,利用率指示器可以指示根据仿真例如SOA系统的设计模型产生的供应可以利用的与第一硬件节点相关联的可用资源的百分比。根据示例实施例,如下面针对图11和图12所讨论的那样,可以产生与第一硬件节点相关联的利用率指示器的表示的显示。
根据示例实施例,可以获取包括第二外部调用节点、第二组服务节点、第二组节点连接器和第二组硬件节点的第二工作流路径,其中,第二工作流路径包括从第二外部调用节点到第二组硬件节点中包括的一个或更多个硬件节点的第二有向有序路径,第二有向有序路径指示与第二组服务节点相关联的服务的执行流的第二顺序。基于与第二服务节点相关联的属性值和第二传播工作负荷的指示器,可以确定与第二工作流路径中包括的第二服务节点相关联的第二服务节点工作负荷的指示器,第二传播工作负荷的指示器基于组合与第二外部调用节点和基于顺序在第二工作流路径中在第二服务节点之前的一个或更多个其他服务节点或节点连接器相关联的属性值。基于组合与第二服务节点相关联的第二服务节点工作负荷的指示器和与第二硬件节点相关联的第二当前资源需求的指示器,可以在第二组硬件节点中包括的第二硬件节点上供应第二服务节点。
例如,示例属性值可以至少与模型中的每一个节点相关联,以便提供特定配置对硬件的量化需求预测。例如,调用速率r(invocation rate r)可以与外部调用节点相关联,并且可以被定义为一个时段上的调用的次数,如下面所示:
调用速率 →r 单位:[l/s]
至少平均来说调用可以被看作是恒定的。根据示例实施例,调用速率可以由例如模型用户通过用户接口116提供。
示例服务可以与示例属性相关联,例如工作负荷、工作单位和资源需求,如下所示:
工作负荷→ w 单位:[l/s]
工作单位(units of work) →u 单位:[SAPS*s]
资源需求→d=u*w 单位:[SAPS]
示例属性工作负荷w可以基于特定服务的外部调用。示例属性u(即工作单位)可以是特定于每一个服务的固定参数,并且可以描述针对每一个调用服务需要执行的平均工作量。示例属性u的示例物理单位可以被表示为基准单位*s。例如,如果在SAP中指定基准单位(例如对于SAP应用),则示例属性u可以被表示为SAPS*s。通过把工作单位属性值与工作负荷属性值相乘,可以按基准单位(例如,对于SAP应用按照SAPS)计算服务的需求d。
示例硬件可以与示例属性相关联,例如计算能力的供给和利用率,如下所示:
计算能力供给→h 单位:[SAPS]
利用率 →d/h 其中d是总需求
可以按照基准单位(例如,对于SAP应用是SAPS)表示计算资源(例如,硬件)的供给。利用率可以被表示为总需求d的比,例如,总需求d可以被确定为由每一个所布署的服务导致的需求之和。
示例属性值也可以至少与模型中的边缘相关联。例如,工作负荷传播器可以与诸如两个服务之间的因子(multiplier)的属性相关联,如下所示:
因子→服务j(wj)和服务i(wi)之间的mij
因子mij可以指示服务j强加在另一个服务i上的作为从j到i发送消息(例如调用)的结果产生的工作负荷传播。
根据示例实施例,系统设计模型可以基于加权有向非循环图,其中,权重可以由一个或更多个工作负荷传播器提供。根据示例实施例,循环可以被排除,因为在SOA系统中可能不会发生服务工作流中的循环。在SOA中的工作流可能具有清晰定义的调用源点(source)和对应的汇点(sink)。
根据示例实施例,服务工作负荷、调用速率和工作负荷传播器通过如下线性方程相关:
与这些因子相关联并对应于上面所示线性方程(1)的示例矩阵可以具有下列三个性质:
1)mij=1
2)mij≤0,当i≠j时
3)mij mjk..mli=0 对于所有可能的循环排列(cyclic permutation)
上面所示三个性质中的第一个可以从SOA上无自发负荷(self-inflictedload)产生。这三个性质中的第二个可以和工作负荷总是为正(例如-mij表示工作负荷的实际变化)的情况相关。这三个性质中的第三个可以反映对应的有向图是非循环的情况。
因此,包括三个示例服务的示例方程可以被如下描述:
因为图是非循环的,所以上面所示的示例因子矩阵是三角形的,即m12m21=0,m13m31=0,m23m32=0并且m12m23m31=0。
但是,一般来说这可能不为真,因为对于n>3,可以确定其中上三角或者下三角可能都填充有一个或更多个非零值的示例场景。
根据示例实施例,由于单个服务j所致的需求可以由dj=wj·uj定义。施加于硬件节点的总需求d可以被确定为布署在该硬件节点上的所有服务的需求之和,如下所示:
根据示例实施例,如先前所讨论的那样利用率可以被定义为d/h,其中,h代表计算资源供给。
根据示例实施例,如先前所讨论的那样,示例建模技术可以提供示例模型实体的图形表示,并且可以提供指定与模型相关联的参数或者属性的手段。一旦产生了SOA设计或者展望,该技术可以求解先前所讨论的基本方程,并且可以提供系统中模型的估计硬件供应的显示供例如系统设计者的用户观看。例如,示例技术可以提供指示每一个硬件节点的利用率的显示。例如,显示可以指示可用计算能力的利用率百分比,并且可以基于外部调用可能不以恒定速率发生的假设,附加地指示输入速率的变化。
图3根据示例实施例绘出了与示例模型结构相关联的示例实体。更具体地说,图3绘出了统一建模语言(Unified Modeling Language,UML)图300,根据示例实施例绘出了与示例模型结构相关联的示例实体。如图3中所示,实体302可以包括节点实体304和边缘实体306。根据示例实施例,节点实体304可以与一个或更多个前向边缘向量的属性值相关联,所述属性值指示相关联的模型结构中从该节点发出的一个或更多个前向边缘。根据示例实施例,边缘实体306可以与包括源节点值和目标节点值的属性值相关联,所述属性值指示相关联的模型结构中通过该边缘连接的源节点和目标节点。
根据示例实施例,节点实体304可以包括外部调用实体308、服务实体310和硬件实体312。根据示例实施例,外部调用实体308可以与指示例如每秒三次调用的调用速率的属性值相关联。根据示例实施例,如先前所讨论的那样,服务实体310可以与指示总工作负荷、临时工作负荷和工作单位值的属性值相关联。根据示例实施例,如先前所讨论的那样,硬件实体312可以与指示总需求值和总供给值的属性值相关联,例如,与计算能力相关联。
根据示例实施例,边缘实体306可以包括接口连接器实体314、供应器实体316和工作负荷传播器实体318。根据示例实施例,供应器实体316可以指示服务节点310和硬件节点312之间的连接或者前向边缘,并且可以指示把由服务节点310表示的服务布署到由硬件节点312表示的硬件上,服务要在硬件节点312上执行。
根据示例实施例,工作负荷传播器实体318可以与指示因子的属性值相关联,所述因子可以指示可能作为第一服务把消息发送到第二服务,或者调用第二服务的结果发生的工作负荷传播。例如,所述因子可以指示作为源节点把消息发送到目标节点或者调用目标节点的结果施加在目标节点上的工作负荷传播。
如先前所讨论的那样,上面描述的模型实体的图形表示可以被显示,并且模型的参数和/或计量(quantifier)可以由例如用户或者其他外部来源指定。一旦产生了SOA设计,则可以求解一个或更多个基本方程,可以被针对每一个硬件节点312产生利用率结果,并且系统中的估计硬件供应可以被提供给用户,例如系统设计者。
根据示例实施例,一种算法可以被配置成基于基本非循环有向图确定利用率结果。一种示例算法可以基于沿着图的连续前向边缘,它可以被称为代表路径或者工作流,每一个均与起点和终点相关联。通过沿着所有可能的路径或者工作流迭代,所述示例算法可以提供上面讨论的方程的解。根据示例实施例,由下面所示的算法1引用的实体可以对应于如先前针对图3所讨论的实体的示例UML表示。
根据示例实施例,如下面所示的算法1示出与示例算法相关联的伪代码,所述算法通过如先前所讨论的那样遍历有向非循环图的路径,可以提供先前所讨论的方程的解。如算法1中所示,示例递归技术可以沿着前向边缘306从源节点移动到目标节点,前向边缘306可以代表有向非循环图的节点304之间的连接。如算法1中所示,示例递归技术可以由外部调用308发起,并且可以终止在硬件节点312上。
算法1
模型处理算法 |
FOR EACH edge IN ExternalInvocations.forwardEdgesevaluateNode(edge)FUNCTION evaluateNode(Edge edge)source=edge.sourcetarget=edge.targetCASE edge OF TYPEInterfaceConnector:target.temporaryWorkload=source.ratetarget.totalWorkload+=target.temporaryWorkloadBREAKWorkloadPropagator:target.temporaryWorkload=source.temporaryWorkload*edge.multipliertarget.totalWorkload+=target.temporaryWorkloadBREAKProvisioner:target.totalDemand+=source.temporaryWorkload*source.unitsOfWorkBREAKDEFAULT:RETURNEND CASEFOR EACH forwardEdge IN target.forwardEdgesevaluateNode(forwardEdge)END FUNCTION |
对于算法1中所示的伪代码例子被递归调用的示例函数evaluateNode(Edge edge)可以被配置成当节点被算法1的执行遍历时在节点上执行处理。
在算法开始处传递的示例自变量可以表示与接口连接器314的类型相关联的边缘306。如算法1中所示,可以根据针对接口连接器314的情况语句(case statement)处理指令。当第一遍中完成了情况语句指令的执行时进入循环,其中,目标节点的边缘306被查询,然后在每一个从当前目标节点304指向前向方向的边缘306上递归地调用evaluateNode(..)函数。当已经处理过所有从当前目标节点304指向前向的边缘306时,递归调用终止,因为此时,对于特定的外部调用308和相关联的工作流,该算法已经在由硬件节点312表示的硬件上供应了由服务节点310表示的服务(例如表示服务的布署)。
根据示例实施例,针对非循环有向图中的每一个类型的边缘306,可以由算法1的情况语句执行的操作可以被描述如下:
1.对于接口连接器314类型的边缘306(即与对服务310的外部调用308相关联),服务临时工作负荷参数可以被设置为等于外部调用速率的值。然后,服务310临时工作负荷参数可以被添加到累积服务总工作负荷。
2.对于工作负荷传播器318类型的边缘306(即服务310到服务310),目标服务310临时工作负荷参数可以被设置为等于源服务310临时工作负荷和与工作负荷传播器边缘318相关联的因子相乘的值。然后,服务310临时工作负荷参数可以被添加到累积服务总工作负荷。
3.对于供应器316类型的边缘306(即服务310到硬件312),服务310临时工作负荷参数与服务工作单位相乘产生的值可以被添加到累积硬件312总需求,因此有效地在硬件节点312上供应服务节点310,或者把由服务节点310表示的服务布署在由硬件节点312表示的硬件上以供执行。
4.对于其他类型的边缘(例如服务工作流末端),递归调用可以终止。
根据示例实施例,上面讨论的示例技术可以被整合在用于绘制或表示所有的实体302和对应的服务工作流的示例图形技术中。如下面针对图4到图17所讨论的那样,每一个类型的实体302的示例图形表示可以被包括在示例图形系统模型中。
图4根据示例实施例示出了外部调用400的示例图形表示。外部调用400的图形表示可以对应于先前针对图3讨论的外部调用节点308。示例外部调用400可以与多个用户调用相关联。这些调用也可以由机器触发,例如,这可能发生在业务对业务(business-to-business,B2B)上下文。外部工作负荷或者调用速率r可以例如由用户104通过GUI管理器118显示的上下文菜单设置。
图5绘出了根据示例实施例的接口连接器的示例图形表示。如图5中所示,示例接口连接器502可以把任何外部调用,例如外部调用504,映射或者连接到例如服务506的服务上。根据示例实施例,示例接口连接器502可以对应于接口连接器边缘314,外部调用504可以对应于外部调用节点308,并且服务506可以对应于先前针对图3所讨论的服务节点310。
图6根据示例实施例绘出了服务600的示例图形表示。如图6中所示,示例服务600可以包括标识符<标识符>和指示每个调用的工作单位的值u,例如可以通过与用户接口104相关联的上下文菜单设置值u。根据示例实施例,示例服务600可以对应于先前针对图3所讨论的服务节点310。
图7绘出了根据示例实施例的工作负荷传播器的示例图形表示。如图7中所示,示例工作负荷传播器可以由两个服务之间的连接器702表示,这两个服务即服务1704和服务2706。工作负荷传播器的值可以由被示为与连接器或者边缘702相关联的因子m指示(例如如先前所讨论的那样,m=-m12),并且例如可以通过与用户接口104相关联的上下文菜单设置。根据示例实施例,由连接器702表示的示例工作负荷传播器可以对应于先前针对图3讨论的工作负荷传播器318。
图8绘出了根据示例实施例的计算资源供给h或硬件节点800的示例图形表示。如图8中所示,示例硬件节点800,或处理能力或计算资源供给h可以被通过与用户接口104相关联的上下文菜单设置。根据示例实施例,示例硬件节点800可以对应于先前针对图3讨论的硬件节点312。
图9绘出了根据示例实施例的供应器的示例图形表示。如图9中所示,示例供应器902可以指示把服务904布署到硬件906上,在硬件906上执行服务904。根据示例实施例,示例供应器902可以对应于供应器316,服务904可以对应于服务310,并且硬件906可以对应于先前针对图3讨论的硬件节点312。
图10绘出了根据实施例的示例模型1000的示例图形表示,模型1000绘出了系统展望或者设计。图10的示例模型的图形表示包括先前针对图3和图4到图9所讨论的实体的图形表示的排列。示例模型1000包括诸如服务器1 1002、服务器2 1004和服务器3 1006的节点,它们中的每一个均可以对应于先前针对图3讨论的硬件节点实体312。示例模型1000还包括诸如外部调用1008和1010的节点,它们中的每一个均可以对应于先前针对图3讨论的外部调用节点实体308。此外,示例模型1000包括诸如服务节点生成购买订单1012、生成营销信函1014、发送电子邮件1016和数据库存储1018的节点,它们中的每一个均可以对应于先前针对图3讨论的服务节点实体310。
示例模型1000还包括接口连接器边缘1020、1022,它们可以对应于先前针对图3讨论的接口连接器边缘314。如图10中所示,接口连接器边缘1020把外部调用1008连接到服务节点生成购买订单1012,并且接口连接器边缘1022把外部调用1010连接到服务节点生成营销信函1014。
示例模型1000还包括示例供应器边缘1024、1026、1028、1030,它们可以对应于先前针对图3讨论的供应器边缘316。如图10中所示,供应器边缘1024把服务节点生成购买订单1012连接到服务器1节点1002,并且供应器边缘1026把服务节点生成营销信函1014连接到服务1节点1002。此外,供应器边缘1028把服务节点发送电子邮件连接到服务器2节点1004,并且供应器边缘1030把服务节点数据库存储1018连接到服务器3节点1006。
此外,示例模型1000包括示例工作负荷传播器边缘1032、1034、1036,它们可以对应于先前针对图3讨论的工作负荷传播器边缘318。如图10中所示,工作负荷传播器边缘1032、1034、1036均与因子属性相关联。例如,工作负荷传播器边缘1032与因子值2相关联,并且把服务节点生成购买订单1012连接到服务节点发送电子邮件1016。因此,例如对生成购买订单服务1012的每一个调用均可能导致2个调用被发送到发送电子邮件服务1016。
仍如图10中所示,工作负荷传播器边缘1034与因子值3相关联,并且把服务节点发送电子邮件1016连接到服务节点数据库存储1018。此外,工作负荷传播器边缘1036与因子值1相关联,并且把服务节点生成营销信函1014连接到服务节点发送电子邮件1016。
如图10中所示,示例模型场景1000可以包括被组合为一个服务展望或者设计的两个不同的工作流,其中,一些服务由两个工作流共享。例如,生成购买订单服务1012可以和用于生成营销信函的服务1014共享某些电子邮件和数据库功能。
该场景绘出了两个外部调用1008、1010,每一个均在基于SOA的系统上生成某些外部工作负荷。如图10中所示,从外部调用生成购买订单服务1012的示例用户(例如外部调用1008)可以以每秒r=6次调用的速率调用。对于关于生成购买订单服务1012的每一个调用,u=5个工作单位(SAPS*s)被其上布署了生成购买订单服务1012的服务器(例如服务器1 1002)执行或者施加。
在服务器1 1002上执行生成购买订单1012的同时或者与其并行地,可能存在某些来自服务生成营销信函1014上的其他示例用户1010的外部工作负荷活动。如图10中所示,这些示例用户1010的调用速率r是每秒r=3次调用。示例生成营销信函服务1014与具有u=3SAPS*3的值的工作单位的属性相关联,意味着关于生成营销信函服务1014的每一个调用在服务器1 1012上施加3个工作单位。因此,示例外部调用1008导致每秒6*5=30个基准单位被施加在服务器1节点1002上,并且外部调用1010导致每秒3*3=9个基准单位被施加在服务器1节点1002上。与服务器1 1002相关联的处理能力或供给h具有100个基准单位的值,所以在服务器1 1002上供应生成购买订单服务1012和生成营销信函1014以后,服务器1 1002可以具有每秒100-30-9=61个基准单位可用于其他服务。此外,对于图10的示例场景,并如下面针对图12进一步讨论的所示,服务器1 1002的利用率可以被确定为被可用基准单位(即h=100)除的需求(即30+9),或者与服务器1 1002相关联的39/100=39%的利用率。
如在图10的例子中所示,生成营销信函服务1014和下一个服务发送电子邮件1016通过工作负荷传播器1036连接。工作负荷传播器1036与m=1的示例属性值相关联,所以对于关于生成营销信函服务1014的每一个调用,将存在1个对发送电子邮件服务1016的调用。
又例如,如图10的例子中所示,对于对生成购买订单服务1012的每一个调用,工作负荷传播器1032指示发送电子邮件服务1016被调用两次。因此,外部调用1008以每秒6次调用的速率调用生成购买订单服务1012,这导致生成购买订单1012以每秒2*6=12次调用的速率调用发送电子邮件服务1016。此外,外部调用1010以每秒3次调用的速率调用生成营销信函服务1014,这导致生成营销信函服务1014以每秒1*3=3次调用的速率调用发送电子邮件服务1016。
示例发送电子邮件服务1016的每一个调用导致通过工作负荷传播器边缘1034的示例数据库存储服务1018的m=3次调用。因此,外部调用1008导致示例数据库存储服务1018的每秒总共6*2*3=36次调用,并且外部调用1010导致示例数据库存储服务1018的每秒总共3*1*3=9次调用。示例数据库存储服务1018和具有u=3SAPS*s的值的工作单位属性相关联,意味着对示例数据库存储服务1018的每一个调用在服务器3 1006上施加3个工作单位。因此,示例外部调用1008导致在服务器3节点1006上施加每秒36*3=108个基准单位,并且外部调用1010导致在服务器3节点1006上施加每秒9*3=27个基准单位。与服务器3 1006相关联的处理能力或者供给h具有150个基准单位的值,所以服务器3 1006在服务器3 1006上供应数据库存储服务1018以后,可以有每秒150-108-27=15个基准单位用于其他服务。此外,对于图10的示例场景,并如下面针对图11进一步讨论的所示,服务器3 1006的利用率可以被确定为被可用基准单位(即h=150)除的需求(即108+27),或者与服务器3 1006相关联的135/150=90%的利用率。
这里讨论的示例技术的示例输出可以包括从被建模的SOA设计的仿真和分析产生的对每一个硬件节点(例如服务器1002、1004、1006)的利用率的指示。图11根据示例实施例绘出了模型分析的示例输出,它显示了指示服务器的标签1102,针对该服务器显示两条线1104、1106,指示了外部调用1008、1010的变化对服务器3 1006的利用率的影响。如先前针对图10所讨论的,基于图10中所示的示例模型,可以为服务器3 1006确定90%利用率速率。为了显露在改变工作负荷下的行为,可以包括灵敏度分析,它可以指示因与每一个外部调用1008、1010相关联的外部调用速率的示例预定的变化所致的利用率的变化。根据示例实施例,示例改变可以被设置在外部调用实体308中,作为调用速率r的绝对变化,例如r=6,变化为2,意味着r=4..8。所显示的变化可以表示为相对于平均值的相对值。
当硬件的利用率被估计为在总容量的65%以上时,示例输出还可以指示警告,如图11的示例标签1102中指示,因为超过这个阶段,响应时间可能显著增大。如图11中所示,警告符号可以指示服务器3 1006被过度利用,因为在0%输入速率变化处,服务器3 1006被利用超过65%。
类似地,图12绘出了根据示例实施例的模型分析的示例输出。图12绘出了根据示例实施例的模型分析的示例输出,对于该分析显示了两条线1204、1206,指示了外部调用1008、1010的变化对服务器1 1002的利用率的影响。如先前针对图10所讨论的,基于图10中所示的示例模型,可以为服务器11002确定39%的利用率速率。
根据示例实施例,服务、硬件和用户展望或者设计可以被通过图形用户接口建模,然后,可以针对SOA的估计资源供应评估展望或者设计。
例如,基于示例图形框架,如先前针对图4到图9讨论的那些图形实体可以通过图形用户接口在图形上相关联,并且可以表现示例相互关系。示例约束可以引导图形用户接口的用户避免无效决策,例如针对在模型SOA或工作流中可以连接哪些实体的无效决策。
根据示例实施例,到仿真引擎142的示例输入可以包括通过与用户生成图形模型或者工作流所用的示例图形用户接口相关联的应用程序接口(application programming interface,API)提取图形实体。因此,仿真引擎142可以从服务、硬件和用户展望或者设计获取对象以及这些对象的相关联属性,例如与服务节点310相关联的工作单位属性值。因此,根据示例实施例,用户在其上可以设计模型的示例“模板设计者”应用可以被与例如仿真引擎142的仿真功能分开提供。但是,数据处理技术领域的技术人员将理解,在不偏离这里讨论的示例技术的精神的情况下,有很多实现设计功能和仿真功能的方法。
图13是屏幕截图,示出了根据示例实施例的包括用于对系统设计建模的模板1302的显示1300。因此图形用户接口的用户可以从空白模板开始。显示1300可以包括节点库区域1304,它可以包括图形实体的显示,图形实体例如示例节点1306、1308、1310、1312和1314,它们可以被用户选择,并被拖动和放到模板1302上,作为设计模型的一部分,例如用于供应的仿真。如图13的例子中所示,示例节点1306可以对应于硬件节点实体312,示例节点1312可以对应于服务节点实体310,并且示例节点1314可以对应于先前讨论的外部调用节点实体308。
显示1300还可以包括链接区域或者边缘库区域1316,它可以包括例如示例链接或边缘1318的图形实体的显示。对于每一个不同类型的边缘,示例边缘1318可以被用例如不同的显示颜色区分,示例边缘1318可以包括对应于先前讨论的接口连接器边缘314、供应器边缘316和工作负荷传播器边缘318的边缘类型。如先前所讨论的那样,可以在示例建模技术中包括安全措施来确保显示1300的用户在模型中布置节点和边缘时使得所述布置符合例如针对图3讨论的实体的结构描述。例如,用户可以通过对应于接口连接器边缘314的接口连接器边缘而不通过对应于供应器边缘316的供应器边缘把服务节点1312与外部调用节点1314连接。
显示1300还包括图形区域1320和SIM按钮1322,用户可以选择SIM按钮1322以开始执行已完成模型或设计的仿真。
图14是屏幕截图,示出了根据示例实施例由用户添加到用于对系统设计建模的模板的节点。根据示例实施例,用户可以从节点库区域1304把诸如服务、外部调用和硬件节点的节点拖动并放到模板1302上。如图14中所示,用户已经把节点进行了排列,和先前针对图10讨论的节点排列类似。
图15是屏幕截图,示出了根据示例实施例由用户通过用于对系统设计建模的模板链接的节点。根据示例实施例,用户可以从边缘库1316拖动并放下诸如工作负荷传播器1032、1034、接口连接器1020、1022以及供应器1024、1026、1028、1030的边缘1318以便用边缘把节点链接在一起。如图14中所示,用户已经把边缘进行了排列,和先前针对图10讨论的节点排列类似。
图16是屏幕截图,示出了根据示例实施例用于指定与用户选择的实体相关联的定制属性的示例对话框。例如,用户可以选择模板1302上显示的节点或边缘,并且可以提供弹出式定制属性对话框屏幕1602以使用户可以指定例如和被选择的服务、硬件或外部调用节点相关联或与被选择的工作负荷传播器相关联的定制属性。例如,定制属性对话框屏幕1602可以显示例如“因子”的属性名称,所以用户可以为与模板1302上显示的被选择工作负荷传播器相关联的属性输入一个值,例如为2的值。
图17是屏幕截图,示出了根据示例实施例开始执行仿真的用户选择。当用户已经在模板1302上完成了模型或设计方案时,用户可以选择SIM按钮1322以便例如通过用户接口116调用仿真引擎142开始执行仿真。然后,仿真进行到执行代码以便向硬件节点供应服务,并且可以提供结果,例如在图11和图12中所示的先前讨论的示例利用率结果。根据示例实施例,在查看仿真结果以后,用户可以修改设计并再次开始仿真,直到用户决定退出图形用户接口显示为止。
图18是流程图,示出了图1的示例系统的操作。例如,如先前针对图11到图17所示,用户接口116可以与仿真引擎142交互作用以便为例如用户104的用户提供示例屏幕视图。根据示例实施例,可以请求显示与多个节点和边缘相关联的图形指示器,其中,所述节点包括外部调用节点、服务节点和硬件节点,并且所述边缘包括节点连接器(1802)。例如,用户接口116可以请求显示包括节点库区域1304和链接区域或边缘库区域1316的屏幕,如先前针对图13的例子所讨论的那样,节点库区域1304可以包括诸如示例节点1306、1308、1310、1312和1314的图形实体的显示,边缘库区域1316可以包括诸如示例链接或边缘1318的图形实体的显示。
可以接收第一外部调用节点、第一组服务节点、第一组节点连接器和第一组硬件节点的第一排列的指示,其中,所述第一排列由与被显示的图形指示器交换作用的用户配置(1804)。例如,用户接口116可以接收第一排列的指示,例如先前讨论的图17的模板区域1302中所示的示例排列。
可以确定第一排列的指示是否包括第一工作流路径的表示,第一工作流路径包括第一外部调用节点、第一组服务节点、第一组节点连接器和第一组硬件节点,其中,第一工作流路径包括从第一外部调用节点到第一组硬件节点中包括的一个或更多个硬件节点的第一有向有序路径,第一有向有序路径指示与第一组服务节点相关联的服务的执行流的第一顺序(1806)。例如,用户接口116可以确定在图17的模板区域1302中所示的示例排列是否包括如先前所讨论的有效工作流路径的表示。
可以请求确定与第一工作流路径中包括的第一服务节点相关联的第一服务节点工作负荷的指示器,所述确定基于与第一服务节点相关联的属性值和第一传播工作负荷的指示器,第一传播工作负荷的指示器基于组合与第一外部调用节点和基于顺序在第一工作流路径中在第一服务节点之前的一个或更多个其他服务节点或节点连接器相关联的属性值(1808)。例如,如先前所讨论的那样,用户接口116可以请求示例传播工作负荷引擎108确定与第一服务节点相关联的第一服务工作负荷的指示器。
可以请求在第一组硬件节点中包括的第一硬件节点上供应第一服务节点,所述供应基于组合与第一服务节点相关联的第一服务节点工作负荷的指示器和与第一硬件节点相关联的第一当前资源需求的指示器(1810)。例如,如先前所讨论的那样,用户接口116可以请求示例供应引擎110在第一硬件节点上供应第一服务节点。根据示例实施例,供应可以基于组合与第一外部调用节点的调用速率相关联的值、与每一个服务节点相关联的工作单位值、与一个或更多个节点连接器相关联的因子值,以及与硬件节点其中之一相关联的总功率供给值。
通过使用这里讨论的示例技术,SOA架构师可以了解到服务需求以及容纳所有服务所需的的硬件展望的可能布局。响应于运行分析模型所产生的结果,他可以修改系统配置。当系统配置要被改变时,SOA架构师则能够估计到针对整个系统的后果。利用这个特征,在修改系统之前,能够有益地提供设计决策的必需信息。
如图1中所示的示例估计器、引擎、产生器、管理器以及接口可以被实施为分开的处理器,或者可以被实施为可执行代码,所述代码可以被单个处理器加载和执行。例如,所述估计器、引擎、产生器、管理器以及接口可以被实施为软件对象,它们可以被编译并存储在非易失存储器中,并且可以被加载到易失性存储器中供执行。例如,所述估计器、引擎、产生器、管理器以及接口也可以被置于可以分布于例如国际互联网的网络上的分开的处理器上,并且在需要时可以被以分布式方式执行。
这里描述的各种技术的实施方案可以被实施在数字电子电路中,或被实施在计算机硬件、固件、软件中或者其组合中。这些实施方案可以被实施为计算机程序产品,即有形地具体实施在信息载体例如机器可读储存设备或传播的信号中的计算机程序,供数据处理装置执行,或用于控制数据处理装置的操作,数据处理装置例如可编程处理器、计算机或多个计算机。计算机程序,例如上面描述的计算机程序,可以用任何形式的编程语言书写,包括汇编或解释语言,并且它可以被以任何形式部署,包括作为独立程序或作为模块、组件、子例程或其他适于在计算环境中使用的单元。计算机程序可以被部署成在一个或多个计算机上执行,所述计算机在一个地点或跨过多个地点分布,并被通讯网络互连。
方法步骤可以由一个或更多个可编程处理器执行,所述处理器执行计算机程序,以便通过操作输入数据并产生输出来执行功能。方法步骤也可以由专用逻辑电路执行,并且装置可以被实施为专用逻辑电路,所述专用逻辑电路例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)。
举例来说,适于计算机程序的执行的处理器包括通用和专用微处理器,以及任何种类的数字计算机的任何一个或更多个处理器。通常,处理器将从只读存储器或随机访问存储器或这两者接收指令和数据。计算机的元件可以包括至少一个用于执行指令的处理器和用于储存指令和数据的一个或更多个存储器设备。通常,计算机也将包括一个或更多个海量储存设备用于储存数据,或者计算机将被可操作地耦合成从所述一个或更多个海量储存设备接收数据或将数据转移到所述一个或更多个海量储存设备,或者进行这两者,所述海量储存设备例如磁盘、磁光盘或光盘。适于具体实施计算机程序指令和数据的信息载体包括所有形式的非易失存储器、例如包括半导体存储器器件,如EPROM、EEPROM和快闪存储器设备;例如内置硬盘和可移动盘的磁盘;磁光盘;和CD ROM和DVD ROM盘。处理器和存储器可以被专用逻辑电路补充或包含在专用逻辑电路中。
为了提供和用户的交互作用,这些实施方案可以被实施在具有用于向用户显示信息的显示设备和键盘以及指点(pointing)设备的计算机上,显示设备例如阴极射线管(CRT)或液晶显示器(LCD)监视器,指点设备例如鼠标或跟踪球,利用所述设备用户能够给计算机提供输入。也可以使用其他种类的设备提供和用户的交互作用;例如,提供给用户的反馈可以是任何形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且来自用户的输入可以被以任何形式接收,包括声音、语音或触摸输入。
这些实施方案可以被实施在计算系统中,所述计算系统包括例如数据服务器的后端组件,或者所述计算系统包括中间件组件,例如应用服务器;或者所述计算系统包括前端组件,例如具有图形用户接口或网络浏览器的客户端计算机,用户可以通过所述图形用户接口或网络浏览器和实施方案进行交互作用,或者,所述计算系统可以包括这些后端、中间件或前端组件的任意组合。组件可以通过任何数字数据通讯的形式或介质例如通信网络互连。通信网络的例子包括局域网(LAN)和广域网(WAN),例如国际互联网。
虽然如这里所描述的,已经示出了所描述的实施方案的某些特征,但是本领域的技术人员将想得到很多修改、替换、改变和等同物。因此,要理解所附权利要求旨在覆盖落入这些实施例的真实精神内的所有这些修改和改变。
Claims (24)
1.一种系统,包含:
资源供应估计器,包括:
工作流管理器,被配置成获取包括第一外部调用节点、第一组服务节点、第一组节点连接器和第一组硬件节点的第一工作流路径,其中,第一工作流路径包括从第一外部调用节点到第一组硬件节点中包括的一个或更多个硬件节点的第一有向有序路径,第一有向有序路径指示与第一组服务节点相关联的服务的执行流的第一顺序;
传播工作负荷引擎,被配置成基于与第一服务节点相关联的属性值和第一传播工作负荷的指示器确定与第一工作流路径中包括的第一服务节点相关联的第一服务节点工作负荷的指示器,第一传播工作负荷的指示器基于组合与第一外部调用节点和基于顺序在第一工作流路径中在第一服务节点之前的一个或更多个其他服务节点或节点连接器相关联的属性值;和
供应引擎,被配置成基于组合与第一服务节点相关联的第一服务节点工作负荷的指示器和与第一硬件节点相关联的第一当前资源需求的指示器,在第一组硬件节点中包括的第一硬件节点上供应第一服务节点。
2.如权利要求1所述的系统,其中,资源供应估计器还包括:
利用率指示产生器,被配置成基于与第一硬件节点相关联的第一当前资源需求指示器和第一总资源指示器确定与第一硬件节点相关联的利用率指示器。
3.如权利要求2所述的系统,其中,资源供应估计器还包括:
用户接口,被配置成基于预定的调用变化值为用户产生与第一硬件节点相关联的利用率指示器表示的显示。
4.如权利要求1所述的系统,其中,资源供应估计器还包括:
工作流遍历引擎,被配置成遍历从第一外部调用节点到第一硬件节点的第一工作流路径,并且
其中,供应引擎被配置成基于通过工作流遍历引擎遍历从第一外部调用节点到第一硬件节点的第一工作流路径,在第一硬件节点上供应第一服务节点。
5.如权利要求1所述的系统,其中:
工作流管理器被配置成获取包括第二外部调用节点、第二组服务节点、第二组节点连接器和第二组硬件节点的第二工作流路径,其中,第二工作流路径包括从第二外部调用节点到第二组硬件节点中包括的一个或更多个硬件节点的第二有向有序路径,第二有向有序路径指示与第二组服务节点相关联的服务的执行流的第二顺序,
传播工作负荷引擎被配置成基于与第二服务节点相关联的属性值和第二传播工作负荷的指示器确定与第二工作流路径中包括的第二服务节点相关联的第二服务节点工作负荷的指示器,第二传播工作负荷的指示器基于组合与第二外部调用节点和基于顺序在第二工作流路径中在第二服务节点之前的一个或更多个其他服务节点或节点连接器相关联的属性值,并且
供应引擎被配置成基于组合与第二服务节点相关联的第二服务节点工作负荷的指示器和与第二硬件节点相关联的第二当前资源需求的指示器,在第二组硬件节点中包括的第二硬件节点上供应第二服务节点。
6.如权利要求1所述的系统,其中,资源供应估计器还包括:
模型管理器,被配置成获取表示一个或更多个调用节点和多个服务节点、节点连接器和硬件节点的排列的模型,其中,模型包括第一工作流路径。
7.如权利要求6所述的系统,其中,供应引擎被配置成基于遍历包括每一个硬件节点的模型中所包括的所有工作流路径,确定与模型中所包括的每一个硬件节点相关联的服务和资源的供应。
8.如权利要求1所述的系统,还包含:
模型库,被配置成基于工作流存储与工作流和模型相关联的信息。
9.如权利要求8所述的系统,其中,模型库包含:
模型结构存储区域,被配置成存储模型结构信息;
节点库,被配置成存储与一个或更多个节点相关联的节点信息,所述节点被包括在与模型结构信息相关联的一个或更多个模型结构中;和
边缘库,被配置成存储与一个或更多个模型结构中所包括的一个或更多个边缘相关联的边缘信息,所述模型结构与模型结构信息相关联。
10.如权利要求8所述的系统,其中:
模型结构信息与至少一个表示多个节点和一个或更多个边缘的排列的模型相关联,所述多个节点包括一个或更多个服务节点、外部调用节点,或者硬件节点,并且所述一个或更多个边缘包括节点连接器,包括一个或更多个接口连接器、供应器,或者工作负荷传播器,
节点库包括:
服务存储区域,被配置成存储与服务节点相关联的信息,
调用存储区域,被配置成存储与包括外部调用节点的调用节点相关联的信息,和
硬件存储区域,被配置成存储与硬件节点相关联的信息,并且边缘库包括:
接口连接器存储区域,被配置成存储与接口连接器边缘相关联的信息,
供应器存储区域,被配置成存储与供应器边缘相关联的信息,和
工作负荷传播器存储区域,被配置成存储与调用边缘相关联的信息。
11.一种方法,包含:
获取包括第一外部调用节点、第一组服务节点、第一组节点连接器和第一组硬件节点的第一工作流路径,其中,第一工作流路径包括从第一外部调用节点到第一组硬件节点中包括的一个或更多个硬件节点的第一有向有序路径,第一有向有序路径指示与第一组服务节点相关联的服务的执行流的第一顺序;
基于与第一服务节点相关联的属性值和第一传播工作负荷的指示器确定与第一工作流路径中包括的第一服务节点相关联的第一服务节点工作负荷的指示器,第一传播工作负荷的指示器基于组合与第一外部调用节点和基于顺序在第一工作流路径中在第一服务节点之前的一个或更多个其他服务节点或节点连接器相关联的属性值;和
基于组合与第一服务节点相关联的第一服务节点工作负荷的指示器和与第一硬件节点相关联的第一当前资源需求的指示器,在第一组硬件节点中包括的第一硬件节点上供应第一服务节点。
12.如权利要求11所述的方法,还包含:
获取表示一个或更多个调用节点和多个服务节点、节点连接器和硬件节点的排列的模型,其中,模型包括第一工作流路径。
13.如权利要求12所述的方法,其中,模型表示多个节点和一个或更多个边缘的排列,所述多个节点包括一个或更多个服务节点、外部调用节点,或者硬件节点,并且所述一个或更多个边缘包括节点连接器,包括一个或更多个接口连接器、供应器,或者工作负荷传播器。
14.如权利要求12所述的方法,其中,获取模型包含:
获取包括有向非循环图的模型,所述有向非循环图包括第一外部调用节点、第一组服务节点、第一组节点连接器,以及第一组硬件节点。
15.如权利要求14所述的方法,还包含:
对于模型中所包括的每一个硬件节点,基于遍历包括每一个硬件节点的模型中所包括的所有工作流路径,确定与每一个硬件节点相关联的利用率指示器。
16.如权利要求14所述的方法,还包含:
对于模型中所包括的每一个硬件节点,基于遍历包括每一个硬件节点的模型中所包括的所有工作流路径,确定与每一个硬件节点相关联的服务和资源的供应。
17.如权利要求11所述的方法,还包含:
基于与第一硬件节点相关联的第一当前资源需求指示器和第一总资源指示器确定与第一硬件节点相关联的利用率指示器。
18.如权利要求17所述的方法,还包含:
产生与第一硬件节点相关联的利用率指示器表示的显示。
19.如权利要求17所述的方法,还包含:
基于预定的调用变化值,产生与第一硬件节点相关联的利用率指示器表示的显示。
20.如权利要求11所述的方法,其中,在第一硬件节点上供应第一服务节点包含:
基于遍历从第一外部调用节点到第一硬件节点的第一工作流路径,在第一硬件节点上供应第一服务节点。
21.如权利要求11所述的方法,还包含:
获取包括第二外部调用节点、第二组服务节点、第二组节点连接器和第二组硬件节点的第二工作流路径,其中,第二工作流路径包括从第二外部调用节点到第二组硬件节点中包括的一个或更多个硬件节点的第二有向有序路径,第二有向有序路径指示与第二组服务节点相关联的服务的执行流的第二顺序,
基于与第二服务节点相关联的属性值和第二传播工作负荷的指示器确定与第二工作流路径中包括的第二服务节点相关联的第二服务节点工作负荷的指示器,第二传播工作负荷的指示器基于组合与第二外部调用节点和基于顺序在第二工作流路径中在第二服务节点之前的一个或更多个其他服务节点或节点连接器相关联的属性值,并且
基于组合与第二服务节点相关联的第二服务节点工作负荷的指示器和与第二硬件节点相关联的第二当前资源需求的指示器,在第二组硬件节点中包括的第二硬件节点上供应第二服务节点。
22. 一种计算机程序产品,被具体实施在计算机可读介质上,并被配置成使数据处理装置执行以下步骤:
获取包括第一外部调用节点、第一组服务节点、第一组节点连接器和第一组硬件节点的第一工作流路径,其中,第一工作流路径包括从第一外部调用节点到第一组硬件节点中包括的一个或更多个硬件节点的第一有向有序路径,第一有向有序路径指示与第一组服务节点相关联的服务的执行流的第一顺序;
基于与第一服务节点相关联的属性值和第一传播工作负荷的指示器确定与第一工作流路径中包括的第一服务节点相关联的第一服务节点工作负荷的指示器,第一传播工作负荷的指示器基于组合与第一外部调用节点和基于顺序在第一工作流路径中在第一服务节点之前的一个或更多个其他服务节点或节点连接器相关联的属性值;和
基于组合与第一服务节点相关联的第一服务节点工作负荷的指示器和与第一硬件节点相关联的第一当前资源需求的指示器,在第一组硬件节点中包括的第一硬件节点上供应第一服务节点。
23.如权利要求22所述的计算机程序产品,还被配置成导致数据处理装置:
获取表示一个或更多个调用节点和多个服务节点、节点连接器和硬件节点的排列的模型,其中,模型包括第一工作流路径。
24.如权利要求23所述的计算机程序产品,还被配置成使数据处理装置:
对于模型中所包括的每一个硬件节点,基于遍历包括每一个硬件节点的模型中所包括的所有工作流路径,确定与每一个硬件节点相关联的利用率指示器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/731,229 | 2007-03-30 | ||
US11/731,229 US8051421B2 (en) | 2007-03-30 | 2007-03-30 | Method and system for estimating resource provisioning |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101295380A true CN101295380A (zh) | 2008-10-29 |
CN101295380B CN101295380B (zh) | 2017-04-12 |
Family
ID=39689411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810088433.1A Active CN101295380B (zh) | 2007-03-30 | 2008-03-31 | 用于估计资源供应的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8051421B2 (zh) |
EP (1) | EP1975795B1 (zh) |
JP (1) | JP2008257694A (zh) |
CN (1) | CN101295380B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901421A (zh) * | 2009-05-25 | 2010-12-01 | 株式会社日立制作所 | 处理委托目的地管理装置、程序以及方法 |
CN105009055A (zh) * | 2013-01-31 | 2015-10-28 | 惠普发展公司,有限责任合伙企业 | 定义设计计划 |
TWI716224B (zh) * | 2018-12-20 | 2021-01-11 | 大陸商北京北方華創微電子裝備有限公司 | 死鎖判斷方法及半導體設備 |
CN112968951A (zh) * | 2021-02-02 | 2021-06-15 | 浙江大华技术股份有限公司 | 服务节点的连接方法及装置、存储介质和电子装置 |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8583698B2 (en) * | 2007-10-03 | 2013-11-12 | Nec Corporation | Hierarchical load estimation system, method and program |
US8099480B1 (en) * | 2008-11-25 | 2012-01-17 | Google Inc. | Scalable workflow design for automated service management |
US20100269087A1 (en) * | 2009-04-20 | 2010-10-21 | Vidya Abhijit Kabra | Software tools usage framework based on tools effective usage index |
JP2012099062A (ja) * | 2010-11-05 | 2012-05-24 | Hitachi Ltd | サービス連携システムおよび情報処理システム |
US20140245319A1 (en) * | 2013-02-27 | 2014-08-28 | Greenbutton Limited | Method for enabling an application to run on a cloud computing system |
US9734486B2 (en) | 2013-08-08 | 2017-08-15 | Sap Se | Integrated temporary labor provisioning and monitoring |
US10762458B1 (en) * | 2013-10-24 | 2020-09-01 | Planet Labs, Inc. | Satellite scheduling system |
US11138537B2 (en) * | 2014-09-17 | 2021-10-05 | International Business Machines Corporation | Data volume-based server hardware sizing using edge case analysis |
US20170078392A1 (en) * | 2015-09-15 | 2017-03-16 | Skytree, Inc. | Federation and Inter-Organization Collaboration in Data Analysis |
US10366084B2 (en) | 2016-09-15 | 2019-07-30 | Microsoft Technology Licensing, Llc | Optimizing pipelining result sets with fault tolerance in distributed query execution |
US10664473B2 (en) | 2017-01-30 | 2020-05-26 | International Business Machines Corporation | Database optimization based on forecasting hardware statistics using data mining techniques |
US11467868B1 (en) * | 2017-05-03 | 2022-10-11 | Amazon Technologies, Inc. | Service relationship orchestration service |
US10909484B2 (en) * | 2017-06-20 | 2021-02-02 | Microsoft Technology Licensing, Llc | Dynamic directed graph workflows |
SG11201910158YA (en) * | 2019-04-24 | 2020-11-27 | Advanced New Technologies Co Ltd | Distributed resource allocation |
US11494779B1 (en) * | 2019-04-29 | 2022-11-08 | Vivint, Inc. | Techniques for configuring a transaction funnel |
US11579901B1 (en) * | 2021-06-30 | 2023-02-14 | Amazon Technologies, Inc. | Provisioning engine hosting solution for a cloud orchestration environment |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040078105A1 (en) * | 2002-09-03 | 2004-04-22 | Charles Moon | System and method for workflow process management |
US7299244B2 (en) | 2002-12-10 | 2007-11-20 | Hewlett-Packard Development Company, L.P. | System and method for dynamic sequencing of a requirements-based workflow |
US7461166B2 (en) * | 2003-02-21 | 2008-12-02 | International Business Machines Corporation | Autonomic service routing using observed resource requirement for self-optimization |
US20050125738A1 (en) | 2003-12-04 | 2005-06-09 | Biplav Srivastava | Composite network-accesible services |
US20060031930A1 (en) * | 2004-05-21 | 2006-02-09 | Bea Systems, Inc. | Dynamically configurable service oriented architecture |
JP2006099162A (ja) | 2004-09-28 | 2006-04-13 | Hitachi Software Eng Co Ltd | サービス指向アーキテクチャに基づく業務系Webシステムの運用・管理システム及びプログラム |
US8862631B2 (en) * | 2004-12-21 | 2014-10-14 | Bmc Software, Inc. | System and method for building business service model |
US20060235664A1 (en) * | 2005-04-15 | 2006-10-19 | Microsoft Corporation | Model-based capacity planning |
US7552036B2 (en) * | 2005-04-15 | 2009-06-23 | Microsoft Corporation | Preconditioning for stochastic simulation of computer system performance |
US7979859B2 (en) * | 2005-05-03 | 2011-07-12 | International Business Machines Corporation | Managing automated resource provisioning with a workload scheduler |
US20060265583A1 (en) * | 2005-05-20 | 2006-11-23 | Tamar Eilam | Method, system, and product for identifying provisioning operations via planning methods |
JP2007004414A (ja) | 2005-06-23 | 2007-01-11 | Hitachi Ltd | 複合サービス部品宛先解決方法 |
US20070028175A1 (en) * | 2005-07-29 | 2007-02-01 | Moore Dennis B | Grid processing user tools |
US8175906B2 (en) * | 2005-08-12 | 2012-05-08 | International Business Machines Corporation | Integrating performance, sizing, and provisioning techniques with a business process |
US20080005155A1 (en) * | 2006-04-11 | 2008-01-03 | University Of Southern California | System and Method for Generating a Service Oriented Data Composition Architecture for Integrated Asset Management |
US20070244904A1 (en) * | 2006-04-18 | 2007-10-18 | Kristopher Durski | Method and Architecture for Goal Oriented Applications, Configurations and Workflow Solutions on-the-Fly |
US9213526B1 (en) * | 2006-07-19 | 2015-12-15 | Red Hat, Inc. | Service oriented architecture (SOA) modeling |
WO2008036777A2 (en) * | 2006-09-19 | 2008-03-27 | Bea Systems, Inc. | System and method for supporting service networks in a service-oriented architecture environment |
US20080239985A1 (en) * | 2007-03-30 | 2008-10-02 | International Business Machines Corporation | Method and apparatus for a services model based provisioning in a multitenant environment |
US7619991B2 (en) * | 2007-03-30 | 2009-11-17 | Sap Ag | User interface for modeling estimations of resource provisioning |
-
2007
- 2007-03-30 US US11/731,229 patent/US8051421B2/en active Active
- 2007-12-11 EP EP07024020.5A patent/EP1975795B1/en active Active
-
2008
- 2008-02-06 JP JP2008026978A patent/JP2008257694A/ja active Pending
- 2008-03-31 CN CN200810088433.1A patent/CN101295380B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101901421A (zh) * | 2009-05-25 | 2010-12-01 | 株式会社日立制作所 | 处理委托目的地管理装置、程序以及方法 |
CN105009055A (zh) * | 2013-01-31 | 2015-10-28 | 惠普发展公司,有限责任合伙企业 | 定义设计计划 |
TWI716224B (zh) * | 2018-12-20 | 2021-01-11 | 大陸商北京北方華創微電子裝備有限公司 | 死鎖判斷方法及半導體設備 |
CN112968951A (zh) * | 2021-02-02 | 2021-06-15 | 浙江大华技术股份有限公司 | 服务节点的连接方法及装置、存储介质和电子装置 |
CN112968951B (zh) * | 2021-02-02 | 2022-08-16 | 浙江大华技术股份有限公司 | 服务节点的连接方法及装置、存储介质和电子装置 |
Also Published As
Publication number | Publication date |
---|---|
EP1975795B1 (en) | 2015-11-18 |
JP2008257694A (ja) | 2008-10-23 |
CN101295380B (zh) | 2017-04-12 |
EP1975795A1 (en) | 2008-10-01 |
US8051421B2 (en) | 2011-11-01 |
US20080244606A1 (en) | 2008-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101295380A (zh) | 用于估计资源供应的方法和系统 | |
US7619991B2 (en) | User interface for modeling estimations of resource provisioning | |
US8706707B2 (en) | Systems and methods for modeling costed entities and performing a value chain analysis | |
Măruşter et al. | Redesigning business processes: a methodology based on simulation and process mining techniques | |
US7406475B2 (en) | Software tool for heuristic search methods | |
US20120116835A1 (en) | Hybrid task board and critical path method based project management application interface | |
EP3772687B1 (en) | System and methods for optimal allocation of multi-tenant platform infrastructure resources | |
US8812964B2 (en) | Managing evelopment of an enterprise application | |
Wang et al. | A comparison of business process modeling methods | |
CN106548261A (zh) | 一种业务流程控制方法、装置及电子设备 | |
US9304746B2 (en) | Creating a user model using component based approach | |
US20170140306A1 (en) | Business graph model | |
US8527322B2 (en) | Proactive demand shaping for a configurable product portfolio with uncertain demand | |
Saraeian et al. | Towards an extended BPMS prototype: Open challenges of BPM to flexible and robust orchestrate of uncertain processes | |
CN114564176A (zh) | 一种代码开发方法、服务器及存储介质 | |
Oliveira Junior et al. | SMartySPEM: a SPEM-based approach for variability management in software process lines | |
US8165862B2 (en) | Methods and systems for predicting application performance | |
Silver et al. | Modeling and simulation of quality of service for composite web services | |
US10740514B1 (en) | Graph-based partitioning of dynamic system execution | |
US20140372386A1 (en) | Detecting wasteful data collection | |
US11704617B2 (en) | Systems and methods for modeling and analysis of infrastructure services provided by cloud services provider systems | |
US8429032B2 (en) | Method and system for managing inventory for a migration using forecast/inventory displays | |
US20080183733A1 (en) | Method, system, and program product for the creation and use of a unified dynamic information system | |
KR20190143595A (ko) | 동시병행 일정 최적화 방법 및 시스템 | |
Ghoddosi et al. | A method for evaluating the feasibility of SOA projects |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: German Waldo Applicant after: SAP AG Address before: German Waldo Applicant before: SAP AG |
|
COR | Change of bibliographic data |
Free format text: CORRECT: APPLICANT; FROM: SAP AG TO: SAP EUROPE AG |
|
GR01 | Patent grant | ||
GR01 | Patent grant |