作为微云环境中的服务的软件的监视和管理的制作方法

文档序号:11690994阅读:250来源:国知局
作为微云环境中的服务的软件的监视和管理的制造方法与工艺

本发明涉及云环境中应用的管理操作,更具体地,涉及用于在诸如微云环境的、具有在应用的提供者和应用的用户之间的分布式管理域的环境中监视和管理应用的技术,诸如在微云环境中。



背景技术:

云环境是其中客户租出或租赁一种能力(如计算基础架构、或开发平台或软件包等)而不购买它的环境。微云环境是其中出租的能力或软件包运行在位于用户的场所(premise)中而不是位于云本身中的服务器上的一种环境。

微云环境允许云计算的益处延伸至由于安全、监管、带宽或数据大小问题而不能将数据移动到云的企业。然而,微云环境对现有的云方案增加了应用管理的挑战。

例如,如果租出的应用有问题,例如它遇到了故障,或需要任何其它管理操作,该方面不能从云安装远程地处理。原因是由于被放置以防止云站点和应用执行站点之间通信的防火墙,微云环境一般与云实例分离。因此,传统的方案无法工作。

因此,将希望用于微云环境中应用管理的技术。



技术实现要素:

本发明提供了用于在诸如微云环境的、具有在应用的提供者和应用的用户之间的分布式管理域的环境中监视和管理应用的技术。在本发明的一个方面中,提供了一种用于在具有在应用的提供者和应用的用户之间的分布式管理域的环境中管理应用的方法。所述方法包括步骤:在应用的生命周期中标识其中允许分布式管理域之间的通信的点;由提供者在应用的生命周期中标识的、其中允许分布式管理域之间的通信的点处获取应用的管理专用(managementspecific)信息,其中所述获取使用由用户提供的过滤脚本和由提供者提供的管理脚本执行,以验证所述管理专用信息符合预定的信息交换标准;以及使用所述管理专用信息执行管理功能。

通过参考以下详细描述和附图,将获得对本发明的更全面的理解以及本发明的进一步的特征和优点。

附图说明

图1是示出根据本发明一个实施例的示例性的微云环境的图;

图2是示出根据本发明实施例的用于在具有在应用的提供者和应用的用户之间的分布式管理域的环境中管理应用的示例性方法的图;以及

图3是示出根据本发明实施例的用于执行这里所呈现的一个或多个方法的示例性装置的图。

具体实施方式

如上面所提供的,由于云站点和应用执行站点之间通信的限制,微云环境提供了独特的应用管理的挑战。当前用于在多个分布式位置管理应用的方案要求同一管理域具有对被管理的所有系统的控制权。然而,微云环境跨多个管理域,即,一个域由云应用的客户管理且另一个域由云应用提供者管理。截至目前为止,尚不存在微云环境中可能需要的(诸如当应用经历故障时)、用于管理操作的可行方案。

因此,需要一个新的方案用于微云环境中的应用管理操作。有利的是,这里提供了用于有效地确定应用是否已经在微云环境中正确地运行到完成的技术。即,如将在下面详细描述的,租用应用的企业提供了一组应当要满足的标准以便确定应用已正确地运行,而且应用的提供者提供了一组满足该标准以及提供者可能会有的任何附加标准的脚本。该脚本执行并且如果它们令人满意地完成了,则应用被视为已令人满意地执行了。通过将功能分为两组规格,一个由用户提供且一个由应用提供者提供,在租赁模型中可以绕过许多与管理应用相关的复杂挑战。

正如上面所强调的,微云环境涉及至少两个管理域,一个是云应用的用户/客户,且另一个是应用提供者。为简单起见,这里也将这些管理企业分别称为云应用“用户”和“提供者”。

微云环境是其中在与开发应用的环境不同的环境中执行应用的环境。微型云环境的最常见的实例是其中企业(一般为用户)从云服务的提供者租用应用、并且在他们自己的计算基础架构内执行应用的情形。操作环境如图1所示。

在微云环境中,应用102在云站点104开发并且位于云站点104处。该应用由应用提供者服务器105开发。参见图1。应用102被设计为使得它能够操作存在于云站点104中的数据集106。这是在云中、或者在由企业中许多客户机访问的中心位置中开发许多应用的方式。微云环境允许客户获得该应用(例如,经由因特网访问)并且使它在位于不同场所中的数据上运行,例如,该应用可以在如图1所示的场所a、b或c(即分别为场所108、110和112)中的任何场所处的数据114、116或118中的任何数据上运行。这种环境的关键特征是,当应用正在场所环境(即场所a、b或c)中运行时,常常不准许应用的任何开发者或管理员访问该应用。

当在任何云环境中运行应用时,在应用上执行被认为是管理任务的各种任务。管理任务的目标是提供如下特征(i)升级应用(ii)检查应用的配置是否需要更新以获得更好的性能(iii)检查应用自身是否有错误或者漏洞(bug)和/或(iv)检查应用是否正在运行或是否它已经崩溃、以及类似的功能。一般地,这些管理任务由云站点处的管理员或系统管理者执行。然而,当基于微云的应用在客户机场所a、b或c的任何场所上运行时,这样的管理员不能够访问该应用来执行任何这些管理任务活动。

解决这个管理问题的当前途径是仅在应用的生命周期中的特定点处引入管理操作。应用的生命周期包括该应用在从被安装到在机器上到被从机器上卸载的其存在期间经过的所有阶段,包括启动应用、当其在一组数据上被调用时、当其停止处理一组数据产生结果时,当其写出中间结果时、当其遇到错误时、当其重新启动时、或者当其被卸载时。因此,代替具有连续的管理操作,在应用生命周期的特定点处执行以自动的方式执行管理任务。通过参考图2的方法200描述本技术的示例性实施例,该方法200用于在具有在应用的提供者和应用的用户之间的分布式管理域的环境(诸如微云环境)中管理应用。

在步骤202中,在应用的生命周期中标识其中允许管理域之间的通信的选择点。根据示例性实施例,在微云环境的情形下,管理任务在如下两个特定的点处执行:(i)当由客户选择应用用于执行时或者(ii)当应用在数据片段上执行其调用的实例并且运行至完成时(例如,当应用已完成时)。选择这些特定的点是由于在这些点处系统具有从管理站点到后端云站点的连接。在调用管理功能的这些点的每个点处,执行特定的动作。

例如,当选择应用用于执行时,该应用使用脚本,该脚本(a)检查安装在场所上的应用的版本是否是最新的版本(b)如果其不是最新的版本则获得并安装最新的版本(c)检查是否需要从主服务器获得关于应用的调用的任何配置或政策来使其更加高效和安全并且加以安装、以及(d)检查是否需要应用任何漏洞修复或补丁来修复错误。这在客户需要和允许连接到云服务的时刻允许管理功能的自动维护。类似地,当应用完成其操作的一个特定实例的运行时,它类似地执行一组脚本。这些脚本报告从特定实例的执行可能已发生的任何错误、以及运行成功地完成的事实。需要将成功的报告提供至云实例,以使得可以正确的执行开账单。

在微云实例中在这些指定的时间中的每个时间,客户可能想要检查从客户机流向服务器105(经由云站点104)的信息与客户想要提供的限制是兼容的。为了缓解这些担心,本技术采用(在这些通信点的一个或多个处)客户提供的、在管理点处被调用的过滤脚本,并且仅允许从过滤脚本通过的信息去往云站点104。类似地,管理脚本由应用提供者提供,其允许在应用生命周期中的选定点处执行云服务和向云服务报告。仅通过示例的方式,管理脚本可以执行以下一个或多个功能:分析来自应用的执行的数据、检查在应用的执行期间是否已发生任何错误、总结任何诊断信息、并验证通过过滤脚本的数据。通过采用过滤脚本,用户可以明确地指定哪些信息被传递给提供者(从而消除对保密信息的传输的担心)。此外,由于向提供者传送的信息优选地仅限于管理专用信息,则在这些指定的通信点处传送的数据量一般是可管理的大小。

在服务的初始安装之前,客户和应用提供者可以检查彼此的脚本,以确保他们同意这些条款。脚本表示可以被标准化,以便检查可以以自动的方式进行。有一些不同的方式来标准化脚本表示,例如,创建标准的脚本,该脚本是对每个人公开可见的,并且仅使用用户或管理可以提供的配置文件。另一种选择是有一套脚本,其全部是预定义和已知的,通过一组客户或应用提供者定义的一组规则来选择正确的脚本。通过使用这些途径,可以将管理功能提供给正在无法通过标准管理工具或人员接近的环境中运行的应用。

因此在服务的安装之前,在步骤204中,可以关于用户和提供者是否同意彼此的脚本(分别为过滤和管理脚本)的内容作出确定。如果在步骤204中确定(否),用户和/或提供者中任一者不同意彼此的脚本,则在步骤206中,对(用户)过滤脚本和/或(提供者)管理脚本修正,并重新提交给用户和/或提供者。这个处理可以重复,直到得到可接受的脚本。

如果/当在步骤204中的确定为(是),即条款是用户和提供者同意的,则在步骤208中,由提供者在步骤202中标识的特定点处使用该脚本(从用户)获得应用的管理专用信息,以确保获得的管理专用信息符合预定的信息交换标准(例如,如根据最初由当事人同意的条款——参见例如如上所述的步骤204)。即,如上所提供的,本步骤中传送给提供者的信息优选地仅限于管理专用的信息(排除任何保密信息)。为此,在步骤208中,仅允许提供者获得从(用户提供的)过滤脚本传递的管理专用信息。如上所述,管理专用信息可以包括但不限于指示以下内容的信息:应用是否需要升级、应用的配置是否需要更新(例如,为了更好的性能)、应用本身是否有错误或漏洞和/或应用是否正在运行或者是否已经崩溃。

在步骤210中,可以使用在步骤208中提供者获得的管理专用信息来执行管理功能。如上所提供的,管理功能可以包括但不限于,确定用户是否已经安装了应用的最新的版本、以及如果不是则检索并安装最新的版本、确定是否需要从主服务器获得关于应用的调用的任何配置或政策来使其更加高效和安全并且加以安装、和/或确定是否需要应用任何漏洞修复或补丁来修复错误并且应用它们。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式压缩盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供者来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

现在转到图3,框图示出了用于实现这里呈现的一个或多个方法的装置300。仅通过示例的方式,装置300可以被配置为实现图2的方法200的一个或多个步骤。

装置300包括计算机系统310和可移除介质350。计算机系统310包括处理器设备320、网络接口325、存储器330、介质接口335和可选的显示器340。网络接口325允许计算机系统310连接到网络,而介质接口335允许计算机系统310与介质交互,介质诸如硬盘驱动器或可移除介质350。

处理器设备320可以被配置为实现这里所公开的方法、步骤和功能。存储器330可以是分布式的或本地的,并且处理器设备320可以是分布式的或单个的。存储器330可以被实现为电、磁或光存储器,或这些或其他类型的存储设备的任何组合。此外,术语“存储器”应被解释得足够广泛,以包括任何能够从可由处理器设备320访问的可寻址空间中的地址读取或向其写入的信息。在该定义下,网络上的可通过网络接口325访问的信息仍然在存储器330内,因为处理器设备320可以从网络检索该信息。应该注意的是,构成处理器设备320的每个分布式处理器一般包含其自己的可寻址存储器空间。还应注意的是,计算机系统310的部分或全部可以合并入专用或通用的集成电路。

可选的显示器340是适合与装置300的个人用户交互的任何类型的显示器。一般情况下,显示器340是计算机监视或其他类似的显示器。

尽管这里已经描述了本发明的说明性的实施例,应理解的是,本发明不限于那些精确的实施例,并且在不脱离本发明的范围下本领域技术人员可做出各种其他变化和修改。

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