针对虚拟化技术部件的动作执行架构的制作方法

文档序号:12182958阅读:255来源:国知局
针对虚拟化技术部件的动作执行架构的制作方法与工艺

本申请涉及对向虚拟化的资源的复杂全局网络架构中供应的技术部件(诸如虚拟机和其他资源)执行动作。



背景技术:

可用于处理系统的处理能力、存储器容量、网络连通和带宽、可用盘空间和其他资源已经在过去二十年内呈指数增加。计算资源已经演变到单个物理服务器可以主控虚拟机和虚拟化的功能的许多实例这样的点。这些发展已经造成将用于许多类型的实体的广泛功能大量供应到可以位于实质上任何地方的聚集的处理资源的具体成袋中。也就是说,功能被重定位到在许多不同地理位置的由许多不同服务提供商主控的处置许多不同客户端的处理资源云中。多云系统控制的改进将有助于将功能进一步开发和实施到云中。



技术实现要素:

云计算技术部件被供应至由许多不同服务提供商提供的许多不同服务平台中。一旦供应,就经常出现动作需要针对技术部件执行的情况。动作执行架构跨主控公共和私用目标主控平台两者的大量不同服务提供商执行动作,同时还提供更加灵活动态的环境用于实现并部署这些动作。

附图说明

图1示出了全局网络架构的示例。

图2图示了多云网络代理的示例实现方式。

图3示出了动作执行架构。

图4示出了用于确定针对目标主控环境中部署的资源类型的可用动作的逻辑流。

图5示出了动作执行架构的特定实现方式。

图6示出了针对规范化服务路径动作的动作执行。

图7示出了针对规范化服务路径动作的逻辑流。

图8示出了针对公共目标主控环境的公共动态服务路径动作的动作执行架构。

图9示出了针对公共目标主控环境的公共动态服务路径动作的逻辑流。

图10示出了针对驻地上目标主控平台的驻地上动态服务路径动作的动作执行架构。

图11示出了针对驻地上目标主控平台的驻地上动态服务路径动作的逻辑流。

图12示出了针对公共目标主控平台的直接执行服务路径的动作执行架构。

具体实施方式

在云中有效地控制计算资源的操作是显著技术挑战。新的云服务提供商有规律地涌现,每个云服务提供商供给不同目标主控平台、支持不同服务、资产、支持的技术部件和其他特征。所述动作执行架构对跨多个不同类型的目标主控平台有许多不同服务提供商主控的技术部件执行动作。动作执行架构提供集中化、灵活并且可扩展的机制用于针对云服务提供商供应的技术部件执行标准化和定制的动作,而不考虑任意目标主控平台是公共的还是驻地的。

图1和图2提供用于以下讨论用于动作执行的技术解决方案的示例情境。图1和图2中的示例示出许多可能不太实施情境之一。就此而言,技术解决方案不限于应用于图1和图2中所示架构和系统、但是适用于许多其他云计算实现方式、架构和连通。

图1示出全局网络架构100。贯穿全局网络架构100分布云计算服务提供商、例如服务提供商102、104、106、108和110。服务提供商可以位于任何地理区域中、例如美国(US)东部、美国西部或者中欧。表征服务提供商的地理区域可以根据将关于位置而做出的任何希望的区分来定义。服务提供商可以在多个地理位置提供云计算基础结构。服务提供商的示例包括亚马逊、谷歌、微软和埃森哲,它们供给用于驻地上云实现方式的不同目标主控平台、例如亚马逊Web服务(AWS)、谷歌计算引擎(GCE)、微软Azure(Azure)、埃森哲云平台(ACP)和微软Azure Pack(WAP),仅作为少数示例。

某些服务提供商经由通常公共可获得的主控平台提供计算资源。公共云平台可以涉及例如具有多个不同客户端经由web浏览器功能通过因特网可获得并且可控制的共享资源的主控平台。为了下文描述的目的,图1示出了以高容量数据中心的形式提供了(公共)蓝色目标主控平台112的蓝色服务提供商108。

每个服务提供商具有个别目标主控平台中的广泛地可变技术特性集合。例如,图1示出蓝色目标主控平台112支持运行许多不同虚拟机(VM),每个虚拟机潜在地运行许多不同虚拟功能(VF)。蓝色目标主控平台112可以包括高密度网络设备阵列,这些网络设备包括路由器和交换机114以及主机服务器116。主机服务器116支持由蓝色服务提供商108从蓝色目标主控平台112供给的特定计算功能集合。

仅作为许多示例之一,蓝色目标主控平台112中的那些主机服务器116可以支持许多不同类型的技术部件。技术部件的示例包括处理器数目、RAM数量以及盘大小、图形处理器、加密硬件或者其他性质不同的不同类型的虚拟机;多个不同类型的web前端(例如用于网站的不同类型和功能);若干不同类型的数据库解决方案(例如SQL数据库平台);安全数据存储解决方案、例如支付卡行业(PCI)数据(或者任何其他安全数据标准)顺应存储装置;若干不同类型的应用服务器;以及许多不同类型的数据层级。

服务提供商可以附加地或者备选地在“驻地上”主控平台中提供计算资源。“驻地上”平台可以涉及专用于单个客户端(例如,不与多个客户端共享资源)并且与公开云资源比较而言私密性和安全性增加的主控平台。驻地上位置可以例如在由已经将计算功能移到基于云的实现方式的资源请求器拥有并控制的安全设施内。为了下文描述的目的,图1示出了在防火墙120后(例如,在特定资源请求器设施内)提供红色驻地上红色目标平台118的红色服务提供商110。

贯穿全局网络架构110的是提供在服务提供商内和在服务提供商与其他实体之间的连通的网络、例如网络122。网络122可以包括在任何预定和可能地动态因特网协议(IP)地址范围内定义的私用网络和公共网络。如下文详细所述,动作执行架构(AEA)124促进贯穿云空间的主控技术部件(包括驻地上和公共目标主控平台两者)的动作执行。

作为概述,AEA 124可以包括动作监督器电路126。动作监督器电路126被配置为例如获得用于针对主控技术部件执行的动作130的动作选择128。动作130可以是公共云动作或驻地上动作。技术部件可以是例如VM、数据库和应用服务器、网络、盘映像以及广泛其他类型、资产或任意目标主控平台中供应的任意其他管理资源。

AEA 124的另一方面是规范化动作执行电路132。规范化动作执行电路132可以被配置为例如执行针对主控技术部件的选定动作。具体地,规范化动作执行电路132可以执行针对多个不同资源请求器定义并验证的动作。以另一方式表达,规范化动作执行电路132执行已经设计、测试并验证适用于多个不同资源请求器,并且可以作为跨多个不同资源请求器可获得的服务目录的一部分出现的动作。规范化动作执行电路132的其他细节在下文描述。

AEA 124还包括动态动作执行电路134。动态动作执行电路134被配置为提供用于不仅定义新的动作和定制动作还执行针对驻地上和公共目标主控平台两者的那些动作的灵活、可扩展并且有效的机制。动态动作执行电路134解决了快速创建、部署并执行针对给定资源请求器定制的动作而不引起在创建跨多个资源请求器可应用的新的动作时常伴有的并且由规范化服务目录执行的大量测试和验证的延迟、复杂度和成本的技术问题。

图2示出AEA 124的示例实现方式200。AEA 124包括通信接口202、系统电路204、输入/输出(I/O)接口206和显示电路208,该显示电路本地或者为了远程显示而例如在运行于资源请求器150的web浏览器中生成用户接口210。用户接口210和I/O接口206可以包括图形用户界面(GUI)、触敏显示、语音或者脸部识别输入、按钮、开关、扬声器和其他用户接口元素。I/O接口206的附加示例包括麦克风、视频和静止图像相机、头戴式受话器和麦克风输入/输出插口、通用串行总线(USB)连接器、记忆卡槽和其他类型的输入。I/O接口206还可以包括磁或者光介质接口(例如CDROM或者DVD驱动)、串行和并行总线接口以及键盘和鼠标接口。

通信接口202可以包括无线传输器和接收器(“收发器”)212以及由收发器212的传输和接收电路使用的任何天线214。收发器212和天线214可以支持例如在IEEE 802.11的任何版本、例如802.11n或者802.11ac之下的WiFi网络通信。通信接口202也可以包括有线收发器216。有线收发器216可以提供用于广泛通信协议中的任何通信协议、比如任何类型的以太网、通过线缆服务接口的数据规范(DOCSIS)、数字用户线(DSL)、同步光网络(SONET)或者其他协议的物理层接口。

系统电路204可以包括硬件、软件、固件或者其他逻辑的任何组合。系统电路204可以例如用一个或者多个片上系统(SoC)、专用集成电路(ASIC)、微处理器、分立模拟和数字电路以及其他电路来实施。系统电路204是AEA 124中的任何希望的功能的实现方式的部分。仅作为一个示例,系统电路204可以实现动作监督器电路126、规范化动作执行电路132和具有一个或者多个指令处理器218、存储器220和专用控制指令222的动态动作执行电路134。

存储器220例如存储控制指令222和操作系统224。处理器218执行操作系统224和控制指令222以执行用于AEA 124的任何希望的功能。控制参数226提供和指定用于控制指令222、操作系统224和AEA 124的其他功能的配置和操作选项。

在图2所示的示例中,AEA 124包括定义特殊目的指令集的控制指令222。控制指令222包括动作监督指令227用于例如从资源请求器150接收动作选择128并且发起针对主控技术部件的动作的执行。控制指令222还包括规范化执行指令228和动态执行指令230,被配置为例如执行针对公共和驻地上目标主控环境中的主控技术部件选定的动作,以及提供用于快速创建、部署并执行针对给定资源请求器定制的动作的机制。AEA 124及其系统电路204的实现方式的其他示例在下文给出。具体地,动作监督指令227、规范化执行指令228和动态执行指令230可以作为由基础硬件执行的特殊目的控制指令实现下文针对图3至图12详细描述的全部处理或其一部分。

AEA 124还包括卷存储设备、例如硬盘驱动(HDD)和固态盘驱动(SDD)。存储设备可以定义和存储如下数据库,控制指令222例如通过数据库控制系统访问这些数据库以执行利用控制指令222和处理硬件实施的功能。在图2中所示示例中,数据库包括动作数据库232和脚本数据库234。如下文将进一步详细描述,动作数据库232存储定义资源请求器可以选择针对已经部署到目标主控环境的资源执行的动作的记录。AEA 124可以通过例如资源、资源请求器、区域、资源请求器用户、时间、日期、订阅状态或任意其他特性来检索、过滤和渲染用于在用户接口210中选择的动作。例如,AEA 124可以显示针对资源请求器150可以承担在红色驻地上目标主控平台118中运行的VM的动作的由资源请求器150授权的管理员可选择链接。脚本数据库234可以存储定义并执行实现针对目标主控平台中的资源的动作的处理步骤的指令序列(例如,Powershell、Unix、AppleScript、PHP或ColdFusion脚本)。

图2还示出了若干服务提供商。注意,蓝色服务提供商108已经经由数据中心建立了蓝色目标主控平台112。出于下文描述的目的,蓝色目标主控平台112被假设为公共云主控平台。AEA 124通过来自脚本数据库234的支持执行针对蓝色目标主控平台112的公共云动作236。

图2还示出了红色驻地上目标主控平台118的示例。在红色驻地上目标主控平台118的严密控制的环境内,驻地上动作处理电路238选择性执行针对其供应的资源的动作。在此示例中,驻地上动作处理电路238包括动作出队电路240以及脚本检索和执行电路242。另外,驻地上脚本数据库244本地存储定义并执行实行针对红色驻地上目标主控平台118内的资源的驻地上动作246的处理步骤的指令序列(例如,Powershell、Python、Ruby、JavaScript或Perl脚本)。

动作执行

图3示出了动作执行架构(AEA)300,作为AEA 124的一个示例实现方式。AEA 300包括动作监督器电路302。在一个实现方式中,动作监督器电路302包括动作应用编程接口(API)。该动作API定义AEA 300与资源请求器150之间的功能接口用于例如生成指定用于针对目标主控平台中供应的技术部件308执行的可用动作306的动作选择接口304;向在技术部件控制下的资源请求器150通信动作选择接口304;以及从资源请求器150接收对用于针对目标主控平台中的技术部件执行的动作的动作选择310。资源请求器150可以使用本地显示器电路312渲染动作选择接口304。

在此示例中,可用动作306包括:开始VM、停止VM、增加大小、减少大小、删除VM和悬置VM。可用动作306在动作数据库232中被定义。该动作数据库232可以取决于特定资源、资源请求器、资源请求器用户/操作者、目标主控平台、目标主控平台订户选项和许可、时间、日期和许多其他因素来组织可用动作。动作监督器电路302搜索动作数据库232以找到应用的动作,并且组建动作选择接口304以包括可用动作。

动作监督器电路302还可以生成动作控制接口314。AEA 300可用例如使用显示器电路208本地渲染动作控制接口314。动作控制接口314可以定义作为仅三个示例:动作注册机制316,通过该动作注册机制316,AEA 300可以将新的动作插入动作数据库232;删除动作机制318,通过该删除动作机制318,AEA 300可以从动作数据库232中移除动作;以及更新动作机制320,通过该更新动作机制320,AEA可以改变动作的配置,包括例如针对动作的动作参数。

如下文进一步详细描述,动作注册机制316结合脚本数据库234促进对AEA 300的动态更新。即,针对特定资源请求器定制的动作可以被写入并插入脚本数据库234并且注册在动作数据库232中,而不引起在创建跨多个资源请求器可应用的新的动作时常伴有的并且由规范化服务目录350执行的大量测试和验证的延迟、复杂度和成本。

响应于动作选择310,动作监督器电路302可以搜索动作数据库232以确定用于执行动作的动作参数322。动作监督器电路302向动作执行电路324提供动作选择310和动作参数322。动作执行电路324取决于目标动作平台、动作和其他因素实现针对动作的多个不同的处理路径。

在一个实现方式中,动作执行电路324包括路由电路326、规范化和动态执行电路328以及脚本数据库234。路由电路326可以进行是否沿着例如规范化服务路径、驻地上动态服务路径或公共动态服务路径处理动作的处理确定。路由电路326可以响应于目标主控平台(例如,驻地上对公共)和动作本身或者附加地或备选地包括动作选择310和动作参数322的其他因素来进行处理确定。作为一个特定示例,路由电路326可以基于例如利用动作选择310或在动作参数322中接收的动作标识符或动作参数以及路由电路326中配置的到目的地的标识符和参数的路由表来进行路由决策。

当处理确定时规范化服务路径本身时,规范化和动态执行电路328向规范化服务目录350中的规范化服务接口352提交动作选择。规范化服务接口352根据预建立的规范化服务处理354来处理规范化服务目录350中预定义的动作。规范化服务接口352可以被保留用于已经跨多个不同目标主控平台定义、测试、验证和实现并且现在由规范化服务目录350处理的那些动作。

在一个实现方式中,思科主要服务目录(CPSC)实现规范化服务目录,包括以下服务方面,诸如SLA控制、错误控制、动作执行跟踪、报告、动作执行、规范化服务处理354、外部服务路由器358(例如,经由思科服务链路)、返回接口360和其他特征。以另一种方式表达,规范化服务目录350提供附加的(针对动作执行电路324)自动引擎或服务编排引擎,通过该自动引擎或服务编排引擎,预定义的标准化动作可以针对资源执行。规范化服务目录350可以是处理预定义的标准化动作的经建立或预存在的服务目录机制。在一个方面,AEA扩展规范化服务目录350以提供针对公共和私用目标主控平台的动作的更灵活和动态定义和执行。

在处理确定是公共动态服务路径时,规范化和动态执行电路328向规范化服务目录350中的动态动作接口356提交动作选择和动作参数,即使规范化服务目录350沿着规范化服务路径。事实上,动态动作接口356反而促进动作执行电路324处理动作,同时获得经建立的规范化服务目录350的服务方面的益处。即,动态动作接口356假设动作执行电路324实现其自己针对动作的处理。仅作为一个示例,动态动作接口356可以被配置为接收包括动作选择310和动作参数322的消息,并且触发上文指出的在规范化服务目录350中实现的服务方面。消息可以将动作标识为由动态动作接口356处理与经由规范化服务接口352作为规范化服务进行处理相反。

动态动作接口356将动作选择310和动作参数322递送到外部服务路由器358。外部服务路由器368被配置为将动作选择310和动作参数322转发到外部服务进行处理,这可以在包装器消息中指定或者针对从动态动作接口356接收的请求预配置。如下文进一步详细描述,在此具体实现方式中,外部服务路由器368将动作选择310和动作参数322转发回到动作执行电路324。

即,在处理确定是公共动态服务路径时,规范化和动态执行电路328被配置为作为回报从规范化服务目录350接收动作选择并且将动作选择本地入队到公共动作队列中。规范化和动态执行电路328从公共动作队列检索动作选择310,并且搜索动作定义存储器(诸如脚本数据库234)以定位定义实现动作的处理步骤的指令序列。规范化和动态执行电路328执行该指令序列以在公共目标主控平台(例如图3所示的蓝色目标主控平台112)上实行动作。

针对驻地上动态服务路径,规范化和动态执行电路328配置私用动作队列用于与向该私用动作队列指派的特定驻地上目标主控平台远程通信。例如,私用动作队列可以被指派给红色驻地上目标主控平台118。该配置允许驻地上目标主控平台检查并从私用动作队列检索动作选择,并且在特定驻地上目标主控平台中远程执行动作。即,驻地上目标主控平台执行其安全环境内的动作,而不是使得动作执行电路324通过到达驻地上目标主控平台并且执行处理步骤来执行动作。

针对驻地上动态服务路径和公共动态服务路径两者,动作执行电路324包括响应接口。该响应接口被配置为从目标主控平台接收动作执行响应并且向规范化服务目录350提交该动作执行响应(例如,经由返回接口360)用于跟踪动作的执行。提交动作执行响应闭合了用于驱动规范化服务目录350内预建立的各服务方面(例如,SLA控制、错误报告和动作执行报告)的环路。

以另一方式表达,AEA 300生成指定针对目标主控平台中供应的资源执行的可用动作306的动作选择接口304,从针对目标主控平台中供应的资源执行的可用动作中获得动作的动作选择310,以及获得用于执行动作的动作参数322。响应于目标主控平台,AEA 300还从在动作执行系统中提供动作执行选项的多个预定义执行路径中选择选定的执行路径。下文描述的示例是包括规范化服务路径、驻地上动态服务路径和公共动态服务路径的多个预定义执行路径。AEA 300路由动作选择用于沿着选定执行路径进行处理。

图4示出了可以在AEA 300(例如,在动作监督器电路302中)实现用于确定针对目标主控环境中部署的资源类型的可用动作并且生成动作选择接口304的逻辑流400。该逻辑流400包括生成用户接口瓦片,其中用于显示可用动作(402)。逻辑流400继而利用可用动作加载动作瓦片。在这方面,逻辑流400可以从资源请求器150接收资源请求器用户标识符和客户端标识符、瓦片特定信息、诸如描述服务提供者、用户角色、目标主控平台标识符和资源请求器将针对其请求动作的资源类型的服务和环境元数据(404)。

逻辑流400继而使用从资源请求器150获得的信息认证针对目标主控平台的服务提供商(406)。逻辑流400查询例如服务提供商中的瓦片服务以通过类型、角色和目标主控平台获得可用动作(408)。瓦片服务可以通过查询可以在服务提供商、在AEA 300或在其他位置维护的动作数据库232来获得可用动作。逻辑流400可以将可用动作(例如,在超文本标记语言(HTML)文档中)返回到资源请求器150用于在动作选择接口304中渲染(410)。

针对每个可用动作,资源请求器150还可以请求标识动作的动作标识符,以及标识动作参数的动作数据类型标识符。逻辑流接收请求(412)。许多不同的位置可以存储并维护动作标识符和动作数据类型标识符,例如在数据库中。在不同的实现方式中,动作标识符和动作数据类型标识符可以在例如资源请求器150、动作数据库232本身或动作执行电路324中维护。逻辑流400查询针对每个可用动作的动作标识符和动作数据类型标识符的位置,并且将其返回到资源请求器150。因此,资源请求器150可以通过特定动作和动作参数的动作选择接口304接受输入。作为一个特定示例,资源请求器150可以通过指定开始VM的时间的动作参数接收“开始VM”动作的选择。资源请求器150发送动作和参数作为动作选择310和动作参数322。

图5示出了动作执行架构(AEA)500的另一示例,包括动作执行电路502的另一实现方式示例。在图5的示例中,动作执行电路502中的路由电路326可以进行是否沿不同服务路径(诸如规范化服务路径、驻地上动态服务路径或公共动态服务路径)处理给定动作的处理确定。如上文所指出的,路由电路326可以响应于目标主控平台(例如,驻地上对公共)和动作本身或者其他因素来进行处理确定。

动作执行电路502包括公共动作队列504和私用动作队列506。公共动作队列504和私用动作队列506可以利用Azure服务总线或其他查询机制实现。动作执行电路502还包括动作处理器508和响应侦听器510。公共动作队列504存储具有动作参数的动作用以针对公共目标主控平台执行。公共动作队列504还存储由于执行动作产生的动作执行响应(例如,完成消息、错误消息、状态消息等)。在图5中所示的实现方式中,公共动作队列504缓冲来自公共目标主控平台和驻地上目标主控平台两者的动作执行响应。

响应侦听器510监测针对动作执行响应的公共动作队列。当响应侦听器510找到动作执行响应时,响应侦听器510从公共动作队列拉取动作执行响应,并且将该动作执行响应提交给规范化服务目录350用于沿公共动态服务路径和驻地上动态服务路径两者跟踪动作的执行。例如,响应侦听器510可以经由返回接口360将该响应提交给规范化服务目录350。返回接口360可以包括被配置为向规范化服务目录350中定义的实体提供访问的代表性状态转移API和Java存根(例如,经由CPSC nsAPI)。

AEA 500配置私用动作队列506用于与指派给私用动作队列506的特定驻地上目标主控平台远程通信。在图5的示例中,私用动作队列506是针对红色驻地上红色目标平台118的承租特定队列。由此,红色驻地上红色目标平台118中的动作出队电路240具有对检查并且检索在任意预定调度被本地入队到私用动作队列506中的动作和动作参数的访问权。红色驻地上红色目标平台118中的脚本检索和执行电路242搜索本地驻地上脚本数据库244以找到实现动作的脚本。脚本检索和执行电路242继而在红色驻地上红色目标平台118中而不是AEA 500中远程执行(针对AEA 500)该动作。

动作处理器508可以被实现为例如在.NET平台上运行的Windows(TM)服务或者Azure web工作。动作出队电路240和脚本检索和执行电路242可以利用相同技术实现。动作处理器508监测针对用于针对公共目标主控平台和驻地上目标主控平台执行的动作的公共动作队列。

针对驻地上目标主控平台,动作处理器508将动作和动作参数插入针对其中该动作将执行的特定驻地上目标主控平台的特定私用动作队列506(其中可以存在许多)。针对公共目标主控平台,动作处理器508搜索动作定义存储器(诸如脚本数据库234)来定位定义实现该动作的处理步骤的指令序列。动作处理器508继而本地执行动作执行系统内针对公共目标主控平台的指令序列。动作处理器508可以通过例如通过连接到公共目标主控平台并且向公共目标主控平台发出根据指令序列执行的指令来执行该指令序列。

实现方式可以从AEA的一个实例显著地变化到另一个。针对图5并且作为一个示例,规范化动作执行电路132可以包括路由电路326用于将动作和动作参数导向规范化服务接口352,同时依赖独立实体来提供规范化服务接口352。在其他实现方式中,规范化动作执行电路132可以包括规范化服务接口352的实现方式以及实现规范化服务处理354的服务编排引擎。

再次参考图5,动态动作执行电路134可以包括路由电路326和公共动作队列504。当驻地上目标主控平台被支持时,动态动作执行电路134还可以包括私用动作队列506。动态动作执行电路134还可以包括动作处理器508和响应侦听器510。此外,动态动作执行电路134可以包括存储用于执行针对公共目标主控平台的动作的指令序列的脚本数据库234。动态动作执行电路134依赖独立实体以提供动态动作接口356、返回接口360和外部服务路由器358,或者可以实现这些特征本身的任意特征或所有特征。在某种意义上,动态动作执行电路134是动态的,因为其避免了在创建跨多个资源请求器可应用的新的动作时常伴有的并且由规范化服务目录350执行的大量测试和验证的延迟、复杂度和成本。由动态动作执行电路134支持的动作因此可以被更快地部署,其中新的指令序列被写入脚本数据库234用于特定目标主控平台和新的动作,并且新的动作经由动作注册机制316注册到动作数据库。

执行路径

图6示出了AEA 500中的规范化服务路径600。图7示出了对应的逻辑流700。规范化服务路径600处理规范化服务路径动作。更具体地,规范化服务路径600由规范化服务目录350使用规范化服务处理354处理的动作采用。

在规范化服务路径600上,动作监督器电路302将动作选择310和动作参数322递送到路由电路326(702)。路由电路326经由规范化服务接口352将动作选择310和动作参数322提交给规范化服务目录350(704)。如上文所述,路由电路326可以例如基于利用动作选择310接收的动作标识符以及路由电路326中配置的到目的地的标识符的路由表来进行路由决策。在此情景中,动作是规范化服务目录350内预定义的,并且规范化服务目录350可以根据预定义的规范化服务处理354来执行动作(706)。

图8示出了AEA 500中的公共动态服务路径800。图9示出了对应的逻辑流900。公共动态服务路径800处理针对公共目标主控环境的公共动态服务路径动作。更具体地,公共动态服务路径800由动作执行电路502处理的动作采用。

在公共动态服务路径800上,动作监督器电路302将动作选择310和动作参数322递送到路由电路326(902)。路由电路326将动作选择310和动作参数322提交给规范化服务目录350中的动态动作接口356(904)。动作使用动态动作接口356选择跟随的路径用于处理。在这方面,动态动作接口356可以被实现(并且好像动作和路由电路326)为规范化服务目录350中实现的另一服务。然而,不同于规范化服务352,动态动作接口356被配置为将其接收的动作通过外部服务路由器358传向外部处理器。换言之,当动作针对规范化服务目录350被外部处理时,路由电路326调用动态动作接口356定义的服务,其依次将动作选择310和动作参数322传向外部服务路由器358(906)。外部服务路由器358被预配置为调用外部服务,并且在此情况下,被预配置为将动作选择310和动作参数322传回动作执行电路502。更具体地,外部服务路由器358将动作选择310和动作参数322传向公共动作队列504用于插入(908)。

动作处理器508监测公共动作队列504并且检索用于执行的动作和动作参数(910)。动作处理器508针对实现动作的脚本搜索脚本数据库234,继而检索并执行该脚本(912)。一种结果是动作处理器508直接向公共目标主控平台(例如,向蓝色目标主控平台112)发出指令。

动作处理器508还可以接收并且入队对动作的响应(914)。响应可以来自公共目标主控平台,或者可以由动作处理器508本身生成,因为其执行实现该动作的指令序列。响应的示例包括:动作和构成动作的单独指令的成功和失败状态、动作执行的当前状态、以及由目标主控平台或动作处理器508结合动作生成的信息(例如,响应于开始新的VM现在运行的VM的总数)。

响应侦听器510侦听响应。如果找到任何响应,则响应侦听器510检索该响应并且将其递送到规范化服务目录350中的返回接口360(916)。返回接口360可以被实现为例如规范化服务目录350中的API。作为一个特定实现方式示例,返回接口可以是由CPSC提供的nsAPI,或者提供API用于响应由外部服务路由器358采取的动作的单独侦听器部件。返回接口360可以通过若干不同方式实现,包括作为动态动作接口356的部件、外部服务路由器358的部件。即,响应侦听器510可以调用返回接口360以向规范化服务目录350递送响应(例如,完成或失败消息)。转而,返回接口360将针对动作的相应递送给动态动作接口356(918)。动态动作接口356作为通过机制(通过外部服务路由器358)以使得动作由动作执行电路502执行。然而,因为动态动作接口356存在于规范化服务目录350中,因此规范化服务目录350提供的各服务方面对于动态动作接口356可用以向外部处理的动作的应用。如此,作为一个示例,规范化服务目录350可以定义并且向以下动作的执行应用SLA,其中所述动作由规范化服务目录350响应于通过动态动作接口356动作的发出并且响应于通过返回接口360返回的响应而跟踪并应用。

图10示出了AEA 500中的驻地上动态服务路径1000。图11示出了对应的逻辑流1100。驻地上动态服务路径1000处理针对私用/驻地上目标主控环境的驻地上动态服务路径动作。更具体地,驻地上动态服务路径1000由驻地上目标主控平台内的驻地上动作处理电路处理的动作采用。在图10的示例中,驻地上动作处理电路238在红色驻地上目标主控平台118中处理动作。

针对驻地上动态服务路径1000,动作监督器电路302将动作选择310和动作参数322递送到路由电路326(1102)。路由电路326将动作选择310和动作参数322提交给规范化服务目录350中的动态动作接口356(1104)。动态动作接口356将动作选择310和动作参数322传向外部服务路由器358(1106)。外部服务路由器358被预配置为调用外部服务,并且在此情况下,被预配置为将动作选择310和动作参数322传回动作执行电路502。更具体地,外部服务路由器358将动作选择310和动作参数322传向公共动作队列504用于插入(1108)。

动作处理器508监测公共动作队列504并且检索用于执行的动作和动作参数(1110)。然而,注意在此实例中,动作处理器508将该动作识别为应当在驻地上目标主控环境中执行的动作,并且不针对实现该动作的脚本搜索脚本数据库234。相反,动作处理器508将动作和动作参数插入私用动作队列506(1112)。

动作出队电路240在任意预定调度上查询私用动作队列506。当动作出队电路240找到挂起动作时,其检索该动作和动作参数并且将该动作提交给脚本检索和执行电路242(1114)。脚本检索和执行电路242针对实现该动作的脚本搜索驻地上脚本数据库244,继而检索并执行该脚本(1116)。通过此方式,脚本检索和执行电路242从驻地上目标主控平台内将指令发给驻地上目标主控平台,而不受动作执行电路502的直接控制。

脚本检索和执行电路242生成并且入队对动作的响应(1118)。响应侦听器510侦听响应。如果找到任意响应,响应侦听器510检索该响应并将其递送到规范化服务目录350中的返回接口360(1120),例如,通过直接调用如上文针对图8解释的返回接口360中的API。转而,返回接口360将响应递送给针对动作的动态动作接口356(1122)。在其他实现方式中,响应侦听器510将响应递送给外部服务路由器358,其依次将响应递送给动态动作接口356。

针对驻地上动作,动态动作接口356再次作为通过机制(通过外部服务路由器358)使得动作最终在驻地上执行。如上文所指出的,因为动态动作接口356存在于规范化服务目录350,因此由规范化服务目录350提供的各服务方面对于动态动作接口356可用。即,AEA500提供从规范化服务目录350可用的各服务方面,同时促进针对公共和驻地上目标主控平台以更加动态的方式生成的动作的执行。

AEA的其他实施例可以实现附加、不同或更少的执行路径。例如,AEA的另一实现方式可以包括从资源请求器到公共目标主控平台的直接执行路径。图12示出了这种AEA的示例,以及直接执行服务路径1200。在此执行路径情景中,资源请求器150包括其自己的动作处理电路并且可以跟随指令序列以直接实现针对公共目标主控平台的动作,而不将动作和动作参数传向单独AEA。

可以用许多不同方式以及在硬件和软件的许多不同组合中实施以上描述的方法、设备、处理、电路和逻辑。例如实现方式的全部或者部分可以是电路,该电路包括指令处理器、比如中央处理单元(CPU)、微控制器或者微处理器;或者作为专用集成电路(ASIC)、现场可编程逻辑器件(PLD)或者现场可编程门阵列(FPGA);或者作为分立逻辑或者其他电路部件、包括模拟电路部件、数字电路部件或者二者的电路;或者其任何组合。电路可以包括分立互连硬件部件或者可以被组合在单个集成电路管芯上、分布在多个集成电路管芯之中或者实施在公共封装中的多个集成电路管芯的多芯片模块(MCM)中作为示例。

因而,电路可以存储或者访问用于执行的指令或者可以单独在硬件中实施它的功能。指令可以被存储在除了瞬态信号之外的有形存储介质、比如闪存、随机存取存储器(RAM)、只读存储器(ROM)可擦除可编程只读存储器(EPROM)中;或者磁或者光盘、比如紧致盘只读存储器(CDROM)、硬盘驱动(HDD)或者其他磁或者光盘上;或者另一机器可读介质中或者上。产品、比如计算机程序产品可以包括在介质中或者上存储的存储介质和指令,并且指令在由设备中的电路执行时可以使设备实施以上描述的或者在附图中图示的处理中的任何处理。

实现方式可以是分布式的。例如电路可以包括多个不同系统部件、比如多个处理器和存储器,并且可以跨越多个分布式处理系统。参数、数据库和其他数据结构可以被分离地存储和控制、可以被并入到单个存储器或者数据库中、可以用许多不同方式被逻辑地或者物理地组织并且可以用许多不同方式来实施。示例实现方式包括链接列表、程序变量、哈希表、数组、记录(例如数据库记录)、对象和隐式存储机制。指令可以形成单个程序的部分(例如子例程或者其他代码段)、可以形成多个分离程序、可以跨多个存储器和处理器来分布并且可以用多个不同方式来实施。示例实现方式包括单独程序和作为库、比如共享库如动态链接库(DLL)的部分。库例如可以包含共享数据和一个或者多个共享程序,该一个或者多个共享程序包括指令,这些指令在由电路执行时执行以上描述的或者在附图中图示的处理中的任何处理。

已经具体地描述各种实现方式。然而,许多其他实现方式也是有可能的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1