首页> 中国专利> 用于动态地管理虚拟化环境中的工作负荷放置的方法及系统

用于动态地管理虚拟化环境中的工作负荷放置的方法及系统

摘要

本公开的实施例涉及用于动态地管理虚拟化环境中的工作负荷放置的方法及系统。接收来自请求访问至少一个虚拟化应用的多个用户的多个工作负荷,其中利用来自多个全局化特性之中的一个或多个单独的全局化特性来指定工作负荷中的每个工作负荷。为了动态地管理工作负荷放置,基于工作负荷中的每个工作负荷的一个或多个单独的全局化特性,对工作负荷中的每个工作负荷进行单独地动态分类,以用于放置在来自多个虚拟化环境之中的一个或多个特定虚拟化环境中,其中每个虚拟化环境包括至少一个虚拟化应用,至少一个虚拟化应用被配置用于对来自多个全局化服务之中的全局化服务的单独选择,以处理对一个或多个单独的全局化特性的单独选择。

著录项

  • 公开/公告号CN105988878A

    专利类型发明专利

  • 公开/公告日2016-10-05

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN201610150738.5

  • 申请日2016-03-16

  • 分类号G06F9/50;

  • 代理机构北京市金杜律师事务所;

  • 代理人酆迅

  • 地址 美国纽约阿芒克

  • 入库时间 2023-06-19 00:38:30

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-05-17

    授权

    授权

  • 2016-11-09

    实质审查的生效 IPC(主分类):G06F9/50 申请日:20160316

    实质审查的生效

  • 2016-10-05

    公开

    公开

说明书

技术领域

本发明的实施例总体上涉及数据处理,并且特别地涉及基于当前用户全局化定制请求来动态地管理虚拟化环境中的工作负荷放置。

背景技术

向客户提供虚拟化服务的服务提供商提供了使得客户能够使用虚拟化环境内的虚拟化硬件、软件和网络资源的服务,其中底层的应用、平台和基础设施资源中的一个或多个对于客户不可见。在一个示例中,在云计算环境中,软件即服务(SaaS)表示SaaS服务提供商用于递送虚拟化服务的一个服务模型,该虚拟化服务允许客户在“现用现付(pay as you go)”模型下访问虚拟化应用资源,其中客户在访问和使用应用资源时针对应用资源使用被收费。

发明内容

不同的客户可能要求由虚拟化服务的服务提供商向客户提供的服务的不同的定制。从虚拟化服务提供商请求服务的顾客可以在其使用计算资源时使用不同的全局化特性。全局化特性可以包括但不限于客户的语言、文化习惯和代码集选择。客户可以请求虚拟化服务提供商提供针对由该客户使用的全局化特性而定制的服务,然而,可以通过虚拟化服务来处理针对全局化特性的应用服务器的定制,并且其对于用户是透明的。因此,需要一种用于基于当前用户全局化定制请求来动态地管理虚拟化环境中的工作负荷放置的方法、系统和计算机程序产品。

在一个实施例中,一种用于动态地管理虚拟化环境中的工作负 荷放置的方法,该方法包括由至少一个计算机系统从请求访问至少一个虚拟化应用的多个用户接收多个工作负荷,利用来自多个全局化特性之中的一个或多个单独的全局化特性来指定多个工作负荷中的每个工作负荷。该方法包括:由至少一个计算机系统基于工作负荷中的每个工作负荷的一个或多个单独的全局化特性,对多个工作负荷中的每个工作负荷进行单独地选择性地分类,以用于放置在来自多个虚拟化环境之中的一个或多个特定虚拟化环境中,每个虚拟化环境包括至少一个虚拟化应用,至少一个虚拟化应用被配置用于对来自多个全局化服务之中的全局化服务的单独选择,以用于处理对一个或多个单独的全局化特性的单独选择。

在另一实施例中,一种用于动态地管理虚拟化环境中的工作负荷放置的系统,该系统包括与存储器耦合的处理器。处理器被配置为执行从请求访问至少一个虚拟化应用的多个用户接收多个工作负荷的动作,利用来自多个全局化特性之中的一个或多个单独的全局化特性来指定多个工作负荷中的每个工作负荷。处理器被配置为执行以下动作:基于工作负荷中的每个工作负荷的一个或多个单独的全局化特性,对多个工作负荷中的每个工作负荷进行单独地选择性地分类,以用于放置在来自多个虚拟化环境之中的一个或多个特定虚拟化环境中,每个虚拟化环境包括至少一个虚拟化应用,至少一个虚拟化应用被配置用于对来自多个全局化服务之中的全局化服务的单独选择,以用于处理对一个或多个单独的全局化特性的单独选择。

在另一实施例中,一种用于动态地管理虚拟化环境中的工作负荷放置的计算机程序产品。该计算机程序产品包括具有与其实施的程序指令的计算机可读存储介质。程序指令由处理器可执行以使得处理器从请求访问至少一个虚拟化应用的多个用户接收多个工作负荷,利用来自多个全局化特性之中的一个或多个单独的全局化特性来指定多个工作负荷中的每个工作负荷。程序指令由处理器可执行以使得处理器基于工作负荷中的每个工作负荷的一个或多个单独的 全局化特性,对多个工作负荷中的每个工作负荷进行单独地选择性地分类,以用于放置在来自多个虚拟化环境之中的一个或多个特定虚拟化环境中,每个虚拟化环境包括至少一个虚拟化应用,至少一个虚拟化应用被配置用于对来自多个全局化服务之中的全局化服务的单独选择,以用于处理对一个或多个单独的全局化特性的单独选择。

附图说明

所附的权利要求中阐述了被认为是本发明的一个或多个实施例的特性所在的新颖特征。然而,在结合附图阅读时,通过参考说明性实施例的以下详细描述将能最佳地理解本发明本身的一个或多个实施例,在附图中:

图1图示了虚拟化服务的管理层内的动态全局化管理器的框图的一个示例,该管理层用于基于对虚拟化服务的当前用户全局化定制请求来动态地管理一个或多个虚拟化环境中的工作负荷放置;

图2图示了动态分类管理器的一个或多个部件的框图的一个示例,该动态分类管理器用于根据当前工作负荷中所请求的应用和全局化特性来优化虚拟化服务的管理;

图3图示了动态地管理、分类和维护针对平台划分的划分设置的平台分类控制器的框图的一个示例;

图4图示了用于根据当前用户工作负荷的全局化特性来动态地管理划分的分类的过程和程序的高层逻辑流程图;

图5图示了动态地管理、分类和维护应用组中的应用的分类的应用分类控制器的框图的一个示例;

图6图示了用于根据当前用户工作负荷的全局化特性来动态地管理应用组的分类的过程和程序的高层逻辑流程图的一个示例;

图7图示了动态分类管理器的框图的一个示例,该动态分类管理器管理来自不同用户的、具有相同的应用和全局化特性的工作负荷到被优化用于处理应用和全局化特性的相同的虚拟化环境的分 配;

图8图示了动态分类管理器的框图的一个示例,该动态分类管理器管理来自相同用户的、具有不同的应用和全局化特性的工作负荷到被优化用于处理每个工作负荷的应用和全局化特性的不同的虚拟化环境的分配;

图9图示了用于基于工作负荷的全局化特性来动态地管理到虚拟化环境的工作负荷分配的过程和计算机程序的高层逻辑流程图的一个示例;

图10图示了用于根据实时应用和用户的全局化特性请求来管理虚拟化服务用户的用户简档的过程和计算机程序的高层逻辑流程图的一个示例;

图11图示了分类的规则中所应用的分类标准的组成的框图的一个示例;

图12图示了由用户和应用指定针对每个应用的主要代码集需求的表格的框图的一个示例;

图13图示了由应用组分类和应用指定到应用组的用户分配的表格的框图的一个示例;

图14图示了可以在云计算环境中实施的云计算节点的框图的一个示例;

图15图示了云计算环境的框图的一个示例;以及

图16图示了由云计算环境提供的功能抽象层的集合的框图的一个示例。

具体实施方式

在下面的描述中,出于解释的目的,阐述了大量具体细节,以便提供对本发明的透彻理解。然而,应当理解,本领域技术人员可以在没有这些特定细节的情况下实践本发明。在其他情况下,用框图形式示出众所周知的结构和设备,以便避免不必要地模糊本发明。

另外,在下面的描述中,出于解释的目的,描述了很多系统。 重要的是,本领域技术人员应当注意并且很清楚,可以在各种系统中执行本发明,包括各种计算机系统以及操作任何数目的不同类型的操作系统的电子设备。

图1图示了虚拟化服务的管理层内的动态全局化管理器的的一个示例的框图,该管理层用于基于对虚拟化服务的当前用户全局化定制请求来动态地管理一个或多个虚拟化环境中的工作负荷放置。

在一个示例中,一个或多个用户可以通过一个或多个网络层连接向一个或多个虚拟化服务(诸如虚拟化服务110)提交工作负荷,以访问由虚拟化服务110提供的一个或多个服务。例如,用户130可以向虚拟化服务110提交一个或多个工作负荷(诸如工作负荷134),用户132可以向虚拟化服务110提交一个或多个工作负荷(诸如工作负荷136)。在一个示例中,工作负荷134和工作负荷136中的每个工作负荷可以表示可以经由一个或多个网络连接层在用户与虚拟化服务110之间通信的一个或多个任务、请求、数据、模块、对象或其他元素。用户130和用户132中的每个用户可以向虚拟化服务110发送多个工作负荷。虽然该示例图示有向虚拟化服务110发送工作负荷的用户130和用户132,然而在附加的或者备选的示例中,单个用户、附加的用户、或者备选的用户可以向虚拟化服务110发送工作负荷。在一个示例中,用户130和用户132可以表示单个客户或多个客户。

在一个示例中,虚拟化服务110可以表示用于管理用户对一个或多个应用120的虚拟化选择的访问的服务或者其他类型的部件,一个或多个应用120在一个或多个平台122上被支持并且通过一个或多个虚拟化环境被实现在一种或多种类型的基础设施124内。在一个示例中,基础设施124可以包括一个或多个基础设施部件,包括但不限于虚拟机、硬件、软件、服务器、存储装置、负载平衡器和其他虚拟或物理资源。在一个示例中,平台122可以包括但不限于操作系统层、执行运行时间控制、数据库层、web服务器、中间件层和网络支持层。基础设施124和平台122可以各自被配置为执 行一种或多种类型的任务,包括但不限于系统维护、备份、弹性规划和全局化服务。

在一个示例中,虚拟化服务110可以支持用户对一个或多个应用120的访问,一个或多个应用120在一个或多个平台122上被支持,并且基于通过一个或多个虚拟化环境递送对虚拟化资源的访问的一种或多种类型的服务模型,在一种或多种类型的基础设施124内实现一个或多个应用120。虚拟化服务110支持的服务模型的示例可以包括但不限于软件即服务(SaaS)、平台即服务(PaaS)和基础设施即服务(IaaS)。在一个示例中,单个服务提供商可以提供PaaS、SaaS、和IaaS中的两个或更多个的组合连同另外的虚拟化和网络服务。

在一个示例中,SaaS可以表示用于向用户提供对应用120的应用软件和数据库的访问的虚拟化软件服务。在一个示例中,SaaS提供商可以管理运行应用120的平台122和基础设施124;用户不管理应用120运行在其上的平台122和基础设施124,因此用户不需要在用户的计算机上安装和运行应用120。SaaS可以是由用户使用的方便的服务,这是因为用户可以在具有应用接口(可以在浏览器窗口中提供应用接口)和用于访问虚拟化服务110的网络连接性的任何计算设备上访问应用,而不需要用户在计算设备上安装或维护应用,并且不需要用户奉献来自计算设备的底层平台和基础设施资源来运行应用。SaaS提供商可以实现软件许可并且使用模型,在该模型中,应用120被集中托管在云上,并且用户可以基于订阅并通过云客户端从中央主机访问和使用应用120。在一个示例中,应用120在被提供作为虚拟化应用或云应用时,可以包括对互相关联的任务和配置文件的选择,配置文件包含关于运行时的任务的动态信息。虚拟化应用或云应用的任务可以被克隆到多个虚拟机中,并且在一个或多个虚拟化环境中可访问,并且也可以从虚拟机被移除,以匹配工作负荷需求。

在一个示例中,PaaS可以表示将平台122递送为计算平台的服 务,计算平台可以包括一个或多个平台部件,诸如但不限于操作系统、编程语言、执行环境、数据库和web服务器,并且该服务允许用户开发、运行和管理平台122上的应用120,而不需要用户构建和管理可能要求用于开发和开始应用120的平台122和基础设施124的底层的硬件和软件层。

在一个示例中,IaaS可以表示一种类型的云计算,在该类型的云计算中,第三方提供商根据需要,在网络上托管来自被安装在数据中心的大型池的一个或多个物理或虚拟计算资源,诸如代表其用户托管来自大型数据中心的一个或多个基础设施部件124的服务提供商。IaaS服务提供商可以提供由管理程序管理的虚拟机连同附加资源,包括但不限于虚拟机磁盘镜像库、原始块存储装置、文件或对象存储装置、防火墙、负载平衡器、IP地址、虚拟局域网(VLAN)和软件包。IaaS提供商可以基于所分配和所消耗的资源量来对IaaS服务进行收费。

在一个示例中,虚拟化服务110可以支持通过一个或多个虚拟化环境对应用120的用户访问,其中每个虚拟化环境可以表示应用120、平台122和基础设施124中的一个或多个虚拟化应用、虚拟化平台和虚拟化基础设施资源的服务器划分。在一个示例中,可以针对虚拟服务110,部署多个虚拟化环境,诸如虚拟化环境140、虚拟化环境144和虚拟化环境148。在一个示例中,虚拟化环境140、虚拟化环境144和虚拟化环境148中的每个虚拟化环境可以表示一种或多种类型的虚拟化资源,包括但不限于平台122和基础设施124中虚拟化资源的虚拟机(VM)、逻辑划分(LPAR)和工作负荷划分(WPAR),其被加载有应用120中的一个或多个虚拟化应用。在一个示例中,虚拟化应用可以指代针对应用的任务和配置文件的克隆。例如,虚拟化服务110可以通过递送对虚拟化应用142的访问的虚拟化环境140、通过递送对虚拟化应用146的访问的虚拟化环境144、以及通过递送对虚拟化应用150的访问的虚拟化环境148来递送对应用120内的一个或多个应用的访问。在一个示例中,每个虚 拟化环境可以由平台122和基础设施124中单独的虚拟化配置来支持。在一个示例中,多个虚拟化环境也可以共享应用120、平台122和基础设施124中的资源。在一个示例中,一个用户可以访问一个或多个虚拟化环境。此外,用户可以共享对相同虚拟化环境的访问。虽然示例中图示了虚拟化环境140、虚拟化环境144和虚拟化环境148,然而,管理层112可以管理附加的或者备选的划分,其中每个划分支持附加的或者备选的虚拟化环境。

在一个示例中,在支持多个用户通过一个或多个虚拟化环境对应用120的访问时,虚拟化服务110也可能需要提供每个用户对应用120的定制化访问。为了通过一个或多个虚拟化环境提供每个用户对应用120的定制化访问,虚拟化服务110可以实现用于管理每个用户对应用120的定制化访问的管理层112。在一个示例中,管理层112可以管理元数据、用户设置以及关于一个或多个层中(诸如管理层112内作为用户账户118的,以及应用120、平台122和基础设施124层中的一个或多个内)的每个用户的其他信息,以在定制每个用户对应用120的访问时进行应用。此外,在一个示例中,管理层112可以检测工作负荷请求中用户的当前信息,以在定制每个用户对应用120的访问时进行动态应用。管理层112也可以管理服务器划分,并且管理将所选应用加载到每个划分作为要在虚拟化环境内被访问的虚拟化应用。应用、平台和基础设施层中的一个或多个处的用户的服务访问的定制化可以对于每个用户透明。在一个示例中,管理层112对服务器划分的管理可以包括一个或多个划分管理功能,包括但不限于重新平衡划分、添加划分、融合划分和迁移划分。在一个示例中,管理层112可以被实现在虚拟化服务110的一个或多个层内,诸如但不限于用于管理虚拟化服务110的云服务层的云管理层或者用于管理虚拟化服务110内的服务器划分的划分管理层。

在一个示例中,每个用户对应用120的定制访问可以要求对不同全局化特性的管理。应用120、平台122和基础设施124可以执行 的任务中的一些任务可以取决于被处理的数据和工作负荷的全局化特性。在一个示例中,全局化特性可以包括但不限于语言、文化习惯和代码集选择。为了使得应用120、平台122和基础设施124能够支持对具有不同的全局化特性的工作负荷、任务和数据的处理,全局化服务126的一个或多个层可以由应用120、平台122和基础设施124中的一个或多个来配置和实现。全局化服务126可以包括但不限于全局化库、全局化设置、全局化模块和全局化转换器,这些中的每个被标识用于处理一种或多种类型的全局化特性。全局化服务126可以包括由场所或其他全局化特性组织的文件。在一个示例中,每个场所可以特定于特定的语言、文化和地区、设置,并且可以指定例如应用数据使用的代码集的名称、代码集中的字符的种类、与字符数据的使用的对照顺序、以及针对货币、数值、日期、时间和联系数据的用户格式。此外,被指定用于场所的文件的类型可以例如包括:指定语言、地区、书写方向和其他文化习惯中的一个或多个的场所文件、指定如何将字符集中的每个逻辑字符映射到唯一的比特模式的代码集文件、指定如何将“源”代码集中的每个字符映射到“目标”代码集中的对应的字符的代码集转换文件、以及将代码集名称和别名与指定场所文件和代码集转换文件的文件名的代码集编号相关联的注册器文件。在一个示例中,代码集文件和代码集转换文件可以包括根据一个或多个标准而指定的字符,标准包括诸如统一编码(Unicode)的国际组件(ICU)、全局化(G11N)库和全局语言支持(GLS)。全局化服务126还可以包括用于管理应用使用和商业模型规则的全局化特征的服务。

在一个示例中,管理层112可以通过每个虚拟化应用的全局化配置来管理每个虚拟化环境内的每个虚拟化应用的定制,以处理一个或多个全局化特性,其中全局化配置指定对全局化服务126中的服务的选择。例如,全局化配置152可以应用于虚拟化应用142,全局化配置154可以应用于虚拟化应用146,全局化配置156可以应用于虚拟化应用150。

在一个示例中,管理层112可以确定来自一个或多个源的用户全局化定制请求。例如,针对虚拟化服务110的注册用户的用户账户118可以包括针对用户的全局化特性偏好的选择,全局化特性偏好指定全局化服务126中用户要求的全局化定制的类型。在另一示例中,在工作负荷134和工作负荷136内,用户可以包括对工作负荷中的全局化特性的选择,诸如工作负荷134中的全局化特性135和工作负荷136中的全局化特性137,其中全局化特性指定来自全局化服务126的、用于处理工作负荷的全局化特性的应用任务的全局化定制的类型。此外,在用户与虚拟化服务之间的附加的或者备选的通信可以包括指定用户全局化定制请求的信息。用户可以知道或者可以不知道工作负荷内或者用户账户118内存在的全局化特性的不同选择。另外,对于特定用户,由用户账户118内的用户所要求的全局化特性可以基于不同的因素(诸如但不限于一天中的时间)而变化。

在一个示例中,全局化服务126的不同配置可能要求不同等级的平台和基础设施资源。例如,不同语言的数据处理由于存储器缓冲器的大小、CPU时间、串格式化和正则表达式处理(可能对于处理不同的语言和代码集而变化)而可能要求不同数量的计算资源。一些语言和代码集组合可能要求比其他语言和代码集组合明显更多的计算资源。在一个示例中,全局化服务126可以包括各自被优化用于处理特定语言和代码集的全局化优化引擎,然而,编译和加载全局化优化引擎可能具有相关联的开销,并且在被要求处理其他全局化特性时,全局化优化引擎可能既不能够处理其他全局化特性,也不能够在明显性能下降的情况下进行操作。

在一个示例中,管理层112可以通过向每个用户分配所选择的一个或多个划分、通过加载具有用户订阅的虚拟化应用的划分的虚拟化环境、以及通过加载具有对被优化以支持全局化特性的当前集的全局化服务126的选择的全局化配置156,来管理用户的工作负荷,其中如果用户发送要求对于不同全局化特性的支持的请求,则 将对被优化以支持不同的全局化特性的全局化服务126的不同选择加载到用户被分配到的划分中。在一个示例中,可以将多个用户分组成在特定服务协商下共享所选择的一个或多个划分的租户组,其中租户组中的每个用户也可以发送要求对于不同全局化特性的支持的请求。

基于用户向所选择的一个或多个划分分配所有用户工作负荷的一个潜在限制是:如果用户发送要求不同应用和不同全局化特性的工作负荷并且划分需要处理不同应用和不同全局化特性,则从全局化优化引擎获得的任何益处可能丢失,其中在划分中的所有应用任务提交在全局化特性的一个集合下被指定的请求的情况下,该全局化优化引擎被优化。特别地,全局化优化引擎可以表示对被优化用于处理特定全局化特性集合的全局化服务126的选择,然而,可能存在与处理要求针对全局化特性的定制而非全局化特性的特定集合(引擎被优化用于加载和卸载不同的全局化优化引擎,或者引擎利用加载和卸载不同的全局化优化引擎而被优化)的任何应用任务的全局化优化引擎相关联的明显的开销。此外,即使附加的或者备选的全局化优化引擎被加载用于全局化特性的另一集合,仍然存在与将多个全局化优化引擎编译和加载到针对不同的全局化特性集合的虚拟化应用中相关联的开销和存储限制,其中从优化获得的任何益处可能由于将多个全局化优化引擎编译和加载到虚拟化应用的附加的开销和存储而降低。例如,在平台122内,一个或多个全局化服务126可以通过全局化库(诸如libiconv.a)的使用而在平台级提供文化意识支持。在一个示例中,平台级的全局化库的使用可以针对来自每个应用的特定类型的基于场所的支持请求而被自动优化,然而,如果多个应用和用户在相同的划分中要求不同的语言和不同的代码集转换,则自动优化的益处可能被加载不同库的需要或者使用优化库处理其被优化处理的不同语言和代码集转换的尝试的开销所抵消。例如,libiconv.a优化算法可以自动优化平台122级和基础设施124级中的API iconv_open操作的转换器搜索顺序,以使性能增 加50%,然而,如果多个应用和用户在相同的划分中要求不同的语言和代码集转换,则可能需要针对不同的语言和代码集转换模块中的每个单独地执行优化,使得自动优化的益处可以被加载针对不同语言和代码集转换模块中的每个的优化操作的开销所抵消。

基于用户向所选择的一个或多个划分分配所有用户工作负荷的另一潜在限制是:虽然虚拟化服务提供商可以限制用户发送被限于全局化特性的特定选择的工作负荷请求,使得向用户分配的划分可以被指定仅用于该全局化特性的该选择,然而用户可能不知道工作负荷可以要求不同的全局化特性,并且在尝试发送要求在用户的原始指定的全局化简档的范围之外的全局化特性的工作负荷时,用户可能经历降低的应用性能。此外,如果虚拟化服务110将用户限于被限制为特定全局化特性的全局化简档,则可能要求用户在向虚拟化服务110发送工作负荷之前,使用用户的客户端系统处的资源来管理全局化转换。虽然操作系统级的用户的系统可以包括用于将全局化转换器加载到存储器中并且转换用户侧的用户工作负荷全局化特性的功能,然而并非所有用户系统可以被优化用于执行全局化转换。另外,在用户的系统上在操作系统级执行全局化转换可能要求利用全局化转换器加载用户的系统存储器并且使用用户的系统资源执行转换,这可能减小支付访问来自虚拟化服务110的服务的用户的值。

向所选择的一个或多个划分分配每个用户的另一潜在限制是:划分分配然后由用户当前请求访问来确定,而不是由当前工作负荷的应用请求和全局化特性来确定,因此,没有基于当前工作负荷中的应用请求和全局化特性来优化划分管理。由于一些复杂的全局化特性的选择可能要求明显更大量的计算资源,以用于对处理全局化特性的选择所要求的全局化服务126的选择,因此,如果没有优化划分以用于处理更复杂的全局化特性,则在即将到来的工作负荷包括复杂的全局化特性时会对性能有显著的影响。

在一个示例中,为了根据当前工作负荷中所请求的应用和全局 化特性来优化对由虚拟化服务110提供的服务的管理,管理层112或者虚拟化服务110的另一层可以实现动态分类管理器114。在一个示例中,动态分类管理器114可以执行用于以下操作的一个或多个功能:通过监视应用和全局化特性请求,根据工作负荷中所请求的当前应用和全局化特性,优化对应用服务的管理;对被指定用于处理全局化特性的集合的应用组进行动态分类;根据工作负荷中的当前全局化特性,将用户动态地分类成应用组;以及动态地管理哪些应用在划分中被支持以及每个划分的全局化配置。

在一个示例中,动态分类管理器114可以优化应用组分类以用于处理对应用和全局化特性的特定选择,并且基于用户请求中的当前全局化特性将用户分类成应用组,以减小划分中的全局化优化开销,并且将工作负荷高效地指引到具有全局化优化的划分。在一个示例中,应用120中的应用可以支持虚拟化服务110的协同服务,诸如用于协同共同编辑、文件管理和上下文评论的基于云的社交办公室,其中每个用户可以使用用户的偏好语言用户接口来访问协同服务,但是也可以生成包括其他语言的工作负荷任务,并且用户可以全球地分布在不同区域。动态分类管理器114可以指定针对所使用的语言和代码集组合中的每个的应用的单独的应用组分类,以管理针对不同区域的服务器中的每个应用组而被优化的一个或多个服务器划分。动态分类管理器114可以根据语言、代码集和区域来对用户请求进行分类,并且向用户的区域中针对语言和代码集组合的正确的全局化优化服务器划分迁移工作负荷任务,以最小化全局化优化开销并且提高虚拟化服务110提供的服务的效率。

在一个示例中,虚拟化服务110、管理层112、动态分类管理器114、虚拟化环境140、虚拟化环境144、虚拟化环境148、应用120、平台122、基础设施124和全局化服务126中的一个或多个可以被部署在云环境内或者在云环境中被管理。

图2图示了动态分类管理器的一个或多个部件的框图的一个示例,动态分类管理器用于根据当前工作负荷中所请求的应用和全局 化特性来优化对虚拟化服务的管理。

在一个示例中,动态分类管理器114可以包括用于根据当前工作负荷中所请求的应用和全局化特性来优化对虚拟化服务的管理的一个或多个部件。部件可以管理和追踪用户的全局化特性请求变化并且从一个应用组向另一应用组透明地迁移用户的工作负荷。动态分类管理器114的部件的示例可以包括但不限于平台分类控制器210、应用分类控制器212、当前工作负荷分类控制器214和用户账户管理器260。此外,动态分类管理器114可以访问一个或多个分类的规则220,分类的规则220可以包括由虚拟化服务110的服务提供商预定义的、由用户预定义、和被预定义用于优化分类的全局化分类规则,并且动态分类管理器114可以动态地管理和动态地调整用于根据全局化特性来特征化平台划分的划分设置240,并且可以动态地管理针对由全局化特性分类的应用组中的特性应用的已分类的应用组250。

在一个示例中,平台分类控制器210可以通过调整到划分设置240内的每个划分的分类分配来初始化、分类和动态调整平台划分。在一个示例中,划分设置240内的每个划分可以用单独的划分标识符242来标识。基于一个或多个全局化特性,在划分设置240中对划分进行动态分类,全局化特性包括但不限于语言、地理位置、主要代码集或OS类型。在一个示例中,向每个划分标识符242分配一个或多个全局化特性标识符244,以指定用于优化针对每个划分的全局化特性的使用的分类的一个或多个全局化服务特征。例如,如果在使用虚拟化应用服务之前,在(AIX为国际商用机器公司的注册商标)平台中创建用户的数据,其中AIX为操作系统UNIX的版本,则平台分类控制器210可以在划分设置240中指定基于的划分,以使得用户能够接收针对数据处理的恒定的代码集转换支持。在另一示例中,一个或多个划分可以各自由三种主要的语言中的一种语言分类,由具有针对三种主要语言之一的全局化服务特征的全局化特性标识符的用户请求这三种主要语言。在另一示例 中,附加地或备选地,可以由应用组标识符246在划分设置240中对划分进行动态分类。应用组标识符可以包括针对由一个或多个全局化特性分类的应用组的应用组标识符。另外,附加地或备选地,可以由用户组标识符248在划分设置中对划分进行动态分类。用户组标识符可以包括由一个或多个全局化特性分类的、针对一个或多个用户的组标识符。在附加的或者备选的实施例中,划分设置240可以包括附加的或者备选的标识符以及用于对每个平台划分进行分类的其他设置。

在一个示例中,应用分类控制器212可以管理、分类和动态调整和维护应用分类。来自应用210的一个或多个应用可以基于一个或多个全局化特性(包括但不限于语言、地理位置、主要代码集和OS类型)而被动态分类。在一个示例中,应用分类控制器212可以管理应用分类作为已分类的应用组250。在分类应用组中,每个应用组可以包括应用组标识符252并且可以由对应用组进行分类的一个或多个全局化特性的全局化特性标识符254连同在应用组中分类的一个或多个应用的应用标识符256来标识。在附加的或者备选的实施例中,已分类的应用组250可以包括附加的或者备选的标识符以及用于指定分类的应用组的其他设置。

在一个示例中,用户账户管理器260可以管理、分类和动态调整和维护针对虚拟化服务的客户的用户账户。在示例中,用户账户管理器260可以管理针对每个用户的用户账户,其中用户可以指代单个用户、多个用户、或者租户组。在一个示例中,用户账户管理器260可以管理针对包括用户标识符262的每个用户的用户账户,其也可以包括针对用户账户使用的、用于认证用户所要求的信息。此外,每个用户账户可以包括指定要向用户提供的虚拟化服务的服务设置的服务使用设置264,诸如收费协议,并且可以包括虚拟化服务的用户当前可收费的使用。此外,每个用户账户可以包括可以指定多种类型的全局化信息的全局化设置266。在一个示例中,用户初始可以设置针对用户的工作负荷的通用全局化特性,并且用户账户 管理器260可以动态地设置和管理向用户分配哪些划分标识符和应用组标识符,以处理用户的通用全局化特性。用户账户管理器260可以实时地监视由用户提交的工作负荷的全局化特性,以及监视当前工作负荷分类控制器214响应于用户发送具有不同于当前全局化设置的全局化特性的工作负荷而执行的任何工作负荷迁移,并且可以针对全局化设置266中的用户,动态地调整划分标识符和应用组标识符设置。在一个示例中,全局化设置266可以包括用于指引用户账户管理器260选择由用户要求的全局化特性以及用于选择是否调整与用户账户相关联的划分标识符和应用组标识符的规则。用户账户管理器260还可以基于分类的规则220中指定的相关规则来调整全局化设置266。此外,用户账户管理器260可以动态地标识和管理用户组,其中每个用户组包括一个或多个用户,其中每个用户组由一个或多个全局化特性动态地分类,其中用于用户的用户组分配可以根据用户请求的应用和全局化特性而被动态调整。用户账户管理器260可以管理针对用户账户的全局化设置266中的用户的当前用户组标识符。

在一个示例中,当前工作负荷分类控制器214可以管理工作负荷的全局化特性的确定并且管理使用被指定用于处理工作负荷的全局化特性的应用组所指定的划分中的工作负荷的放置。在一个示例中,当前工作负荷分类控制器214可以将当前工作负荷的全局化特性与针对用户的全局化设置相比较,并且确定当前用户工作负荷是否要求新的全局化特性,并且如果是,则向被分类用于所请求的全局化特性的新的划分迁移工作负荷。此外,当前工作负荷分类控制器214可以根据针对用户的当前应用组设置确定当前用户工作负荷是否要求另外的应用组,并且如果是,则将工作负荷改变为由工作负荷使用的另一应用组。

在一个示例中,分类的规则220可以包括根据一个或多个全局化特征指定的一种或多种类型的全局化规则。在一个示例中,分类的规则220被图示为包括根据语言和场所222、代码集和转换器 224、用户的地理位置226、应用(app)使用228、和商业模型230分类的规则的全局化特征。在一个示例中,分类的规则220还可以根据不同的全局化特征层次(诸如但不限于语言家族、脚本家族和代码集家族)或者根据不同的商业模型(诸如但不限于web内容服务、数据库服务、词语处理服务和其他商业相关应用服务)而被定义。此外,分类的规则220可以包括分类标准232,其可以包括用于以下各项的规则、算法和其他工具:由平台分类控制器210用于指引划分种类,由应用分类控制器212指引应用组分类,由当前工作负荷分类控制器214,以用于基于当前工作负荷的全局化特性来对用户进行分类、选择分类划分、以及选择正确的应用组,以及由用户账户管理器260用于选择用户组合其他分类选择的应用。

图3图示了动态地管理、分类和维护针对平台划分的划分设置的平台分类控制器的框图的一个示例。在一个示例中,图3图示更新划分设置240的平台分类控制器210的一个示例。在一个示例中,划分设置240初始可以作为未分类的划分314开始,未分类的划分314在参考标记312处被图示,其表示未分类的划分空间。在一个示例中,未分类的划分314可以表示具有被设置为空的全局化特性标识符244和应用组标识符246的划分设置240。接着,平台分类控制器210可以应用分类的规则220来将划分设置240内的一个或多个划分分类到已分类的划分(通过全局化特性)316中。例如,参考标记318处图示的划分网格图示已动态分类的划分316内的设置的一个示例,其由向划分的选择分配的索引数字来图示,其中每个索引数字可以表示针对一个或多个全局化特性的全局化特性标识符。在一个示例中,全局化特性标识符可以用于指定对全局化服务的选择。

在一个示例中,平台分类控制器210监视触发到新的划分的迁移的用户请求中的应用和全局化特性,其由当前工作负荷分类控制器214来管理。在一个示例中,平台分类控制器210可以检测到要求新的特征(其当前不可用),如在参考标记320处所图示的。平台分类控制器210更新划分设置,如更新后的已分类的划分324所 图示的。在参考标记322处所图示的划分网格图示更新后的已分类的划分324内的设置的一个示例,示出了添加到先前未分配的划分的索引数字“7”,其中索引数字“7”为用于标识用户请求中的全局化特性的全局化特性标识符。

在一个示例中,平台分类控制器210可以检测到要求新的全局化特性,其不同于处理用户的当前全局化设置所需要的全局化特性,但是已经在划分中可用,如参考标记328处所图示的。例如,新的全局化特性可以具有全局化特性标识符“5”,其中已经存在利用全局化特性标识符5分类的划分。平台分类控制器210可以确定是否将划分的分类调整为全局化特性标识符“5”或者是否选择已经分配全局化特性标识符“5”的划分中的一个划分。分类的规则220可以包括针对平台分类控制器210的规则,以应用于确定是否重新分类划分或者是否变为现有划分。在所图示的示例中,平台分类控制器210通过重新分类先前已分类的划分来将划分更新为更新后的已分类的划分332。参考标记330处图示的划分网格图示更新后的已分类的划分332内的设置的一个示例,示出了先前被分类为“7”的划分被动态地分类为“5”。

图4图示了用于根据当前用户工作负荷的全局化特性来动态地管理划分的分类的过程和程序的高层逻辑流程图的一个示例。在一个示例中,过程和程序在框400处开始并且之后继续进行到框402。框402图示加载针对未分类的划分网格的划分设置。接着,框404图示得到针对平台的分类的规则。之后,框406图示基于分类的规则来对全局化定制化的划分设置中的划分进行分类,其中一个或多个全局化特性被指定用于每个划分。接着,框408图示确定划分分类控制器是否检测到要求到新的划分的迁移的用户请求,这是因为用户请求的应用和全局化特性要求与先前关联于用户的划分的全局化特性设置不同的全局化特性。在框408,如果平台分类控制器没有检测到要求到新的划分的迁移的用户请求,则过程进行到框412。在框408,如果平台分类控制器检测到要求到新的划分的迁移的用户请 求,则过程进行到框410。框410图示基于新的全局化特性请求和分类的规则来调整划分设置中的划分的分类。在一个示例中,基于新的全局化特性请求和分类的规则调整划分设置中的划分的分类可以包括:基于全局化特性的变化来重新平衡、添加、合并和迁移划分中的一项或多项。接着,框412图示确定分类的规则是否触发当前划分分类的审核。在一个示例中,除了在接收到触发工作负荷迁移的工作负荷时动态地调整划分,分类的规则220可以包括用于管理当前划分分类的审核的一个或多个规则。例如,分类的规则220可以包括对被指定用于不同时间段期间使用的规则的选择,其中在一个时间段已经结束并且需要向当前时间段应用新的规则集时,规则触发当前划分分类的审核。在框412,如果没有已任何的分类规则触发当前划分分类的审核,则过程返回框408。如果一个或多个分类的规则触发当前划分分类的审核,则过程进行到框414。框414图示基于分类的规则来调整划分设置中的划分的分类,并且过程返回框408。

图5图示了动态地管理、分类和维护应用组中的应用的分类的应用分类控制器的框图的一个示例。

在一个示例中,应用池510表示可用于由虚拟化服务110向用户提供的应用的池。在一个示例中,如所图示的,应用池510包括应用512、应用514和应用516。在附加的或者备选的实施例中,应用池510可以包括附加的或者备选的应用。在一个示例中,应用池510中的每个应用可以表示对应用任务的选择,应用任务可以在已分类的应用组520中被分类以及可以被克隆到划分中以用于在虚拟化环境内访问。

在一个示例中,应用分类控制器212可以在已分类的应用组520内初始地建立应用组并且可以基于分类的规则220来将应用初始地分类到应用组中。在一个示例中,可以由一个或多个全局化特性特征来分类每个应用组。在一个示例中,利用基于不同的全局化特性选择分类的应用组来图示已分类的应用组520。例如,可以由基于语 言/场所522的全局化特性来分类应用组的选择,诸如服务拉丁语的应用组524、服务中文、日文和韩文(CJK)语言的应用组526以及服务复杂脚本语言的应用组528。在一个示例中,也可以由基于地理位置的530全局化特性并且由基于商业532的全局化特性来分类对应用组的选择。在附加的或者备选的示例中,已分类的应用组520可以包括基于附加的或者备选的全局化特性的分类,包括但不限于代码集以及转换器和应用使用。

此外,在附加的或者备选的示例中,已分类的应用组520可以包括基于多个全局化特性的分类。例如,对来自应用池510的应用的选择可以首先基于商业模型而被分类为电子邮件服务相关应用,并且电子邮件服务相关应用中的每个邮件服务相关应用然后基于全局化特性而被分类到三个基于语言/场所522的种类之一。在一个示例中,可以通过向不同的应用语言组分配电子邮件应用,将相同的电子邮件应用定制用于服务基于语言/场所522的分类中的一个或多个。在一个示例中,应用512被分配给针对拉丁语的应用524、针对CJK语言的应用526,但是不被分配给针对复杂脚本的应用528;应用514被分配给针对拉丁语的应用524、针对CJK语言的应用526和针对复杂脚本的应用528;以及应用516仅被分配给针对复杂脚本的应用528。

另外,应用分类控制器212可以监视当前工作负荷的应用和全局化特性请求,确定已分类的应用组520是否包括被分类用于应用和全局化特性请求的应用组,并且基于实时应用和全局化特性请求和分类的规则220,动态地调整应用组和已分类的应用组520中的应用的分类。例如,在图示中,应用分类控制器212可以检测具有拉丁语和UTF-8代码集的用户请求,如参考标记542处所图示的。应用分类控制器212可以选择添加由拉丁语和UTF-8代码集二者分类的已分类的应用组540,以优化针对包括拉丁语和UTF-8代码集二者的请求的全局化服务。如所图示的,利用已分类的应用组540更新的基于语言/场所522的种类包括针对拉丁语的应用524、针对CJK 语言的应用526和针对复杂脚本的应用528的相同的种类和设置。另外,应用分类控制器212可以向已分类的应用组540分配来自应用池510的应用中的一个或多个应用,诸如分配应用512和应用514,如所图示的。

图6图示了用于根据当前用户工作负荷的全局化特性来动态地管理应用组的分类的过程和程序的高层逻辑流程图的一个示例。在一个示例中,过程和程序在框600开始并且之后继续进行到框602。框602图示加载应用池设置。接着,框604图示得到针对平台的分类的规则。之后,框606图示基于分类的规则将应用池中的应用分类到已分类的应用组中,其中一个或多个全局化特性被指定用于每个应用组。接着,框608图示确定应用分类控制器是否检测到需要被切换到另一应用组的用户请求。在框608处,如果应用分类控制器没有检测到需要被切换到另一应用组的用户请求,则过程进行到框612。在框608处,如果应用分类控制器检测到需要被切换到另一应用组的用户请求,则过程进行到框610。框610图示基于应用组切换和分类的规则来调整应用组的分类,并且过程进行到框612。框612图示确定分类的规则是否触发当前应用组分类的审核。在一个示例中,除了在接收到触发到另一应用组的切换的工作负荷时动态地调整应用组分类,分类的规则220还可以包括用于管理当前应用组分类的审核的一个或多个规则。例如,分类的规则220可以包括被指定在不同的时间段期间使用的规则的选择,其中在一个时间段已经结束并且需要向当前时间段应用新的规则集时,规则触发当前应用组分类的审核。在框612,如果没有任何分类规则触发当前应用组分类的审核,则过程返回框608。如果一个或多个分类规则触发当前应用组分类的审核,则过程进行到框614。框614图示基于分类的规则来调整应用组的分类,并且过程返回框608。

图7图示了说明动态分类管理器的框图的一个示例,该动态分类管理器管理来自不同用户的、具有相同的应用和全局化特性的工作负荷到被优化用于处理应用和全局化特性的相同的虚拟化环境的 分配。

在一个示例中,“用户1”702提交具有“应用A”的应用请求和“代码集A”的全局化特性的工作负荷,如参考标记704处所图示的。“用户2”706提交具有“应用A”的应用请求和“代码集A”的全局化特性的工作负荷,如参考标记708处所图示的。动态分类管理器114动态地选择将来自“用户1”的工作负荷指引到“划分0001”和“应用组1”730,并且动态地选择将来自“用户2”的工作负荷指引到“划分0001”和“应用组1”732。在示例中,动态分类管理器114对指引工作负荷到划分的动态选择基于工作负荷的应用和全局化特性请求。

在示例中,如参考标记726处所图示的,被加载到表示“划分0001”的虚拟化环境720中的“应用组1”(如在参考标记728处所图示的)包括虚拟化“应用A”722和被优化用于“代码集A”的全局配置724。在示例中,工作负荷704和工作负荷708二者被指引到虚拟化环境720,使得“用户1”和“用户2”二者共享相同划分中被优化用于相同的代码集的应用,其中应用组在单个划分中被虚拟化。在另一示例中,如果应用在不同划分中被虚拟化,则“用户1”和“用户2”可以共享被优化用于相同代码集但是在不同划分中的应用。

图8图示说明动态分类管理器的框图的一个示例,该动态分类管理器管理来自相同用户的、具有不同的应用和全局化特性的工作负荷到被优化用于处理每个工作负荷的应用和全局化特性的不同的虚拟化环境的分配。

在一个示例中,“用户”802在初始地图示在参考标记810处的第一时间“1”提交具有应用“A”的应用请求和“代码集A”的全局化特性的第一工作负荷,如参考标记804处所图示的。另外,在初始图示在参考标记812处的时间“2”,“用户1”802提交具有“应用A”的应用请求和“代码集B”的全局化特性的工作负荷,如参考标记806处图示的。对于在时间“1”接收的工作负荷,动态 分类管理器114动态地选择将来自“用户1”的工作负荷指引到“划分0001”和“应用组1”830。接着,在第二时间“2”,动态分类管理器114接收具有“代码集B”的全局化特性的工作负荷,其要求与“代码集A”不同的全局化优化服务。动态全局化管理器114将在第二时间“2”接收的工作负荷动态地迁移到被优化用于处理“应用A”和“代码集B”的不同的划分,图示为“划分0011”和“应用组2”832。在示例中,动态分类管理器114对指引每个工作负荷到划分的动态选择基于每个工作负荷中的应用和全局化特性请求。

在示例中,在时间“1”,动态全局化管理器114将工作负荷804指引到虚拟化环境820。如参考标记826处图示的,向表示“划分0001”的虚拟化环境820中加载的“应用组1”(如在参考标记828处所图示的)包括虚拟化“应用A”822和被优化用于“代码集A”的全局化配置824。在示例中,在第二时间“2”,动态全局化管理器114将工作负荷806指引到虚拟化环境840。如参考标记846处所图示的,向表示“划分0011”的虚拟化环境840中加载的“应用组2”(如在参考标记848处所图示的)包括虚拟化“应用A”842和被优化用于“代码集B”的全局化配置844。在示例中,工作负荷804和工作负荷808二者基于工作负荷的应用和全局化特性而被指引到单独的虚拟化环境,每个单独的虚拟化环境具有被优化用于处理每个工作负荷的全局化特性的全局化服务特征的全局化配置。

图9图示了用于基于工作负荷的全局化特性来动态地管理到虚拟化环境的工作负荷分配的过程和计算机程序的高层逻辑流程图。

在一个示例中,过程和计算机程序在框900开始并且之后继续进行到框902。框902图示诸如通过用户发送工作负荷来确定是否触发对虚拟化服务的用户访问。在框902,如果触发对虚拟化服务的用户访问,则过程进行到框904。框904图示访问来自用户的简档的用户的全局化设置。在一个示例中,用户的全局化设置可以包括用户组设置、应用组设置、划分设置以及指示针对用户的先前全局化特性的其他设置。接着,框906图示根据当前工作负荷全局化特性来 设置所要求的全局化特性。之后,框908图示确定针对当前工作负荷的新的全局化特性是否不同于用户的全局化设置中的全局化分类。在框908,如果不需要新的全局化特性,则过程进行到框912。在框908,如果需要新的全局化特性,则过程进行到框910。框910图示将工作负荷迁移到被分类用于所要求的全局化特性的新的划分,并且过程进行到框912。

框912图示基于用户的当前全局化设置来选择应用组。在一个示例中,用户的当前全局化设置可以指定优选的或主要的应用组设置。接着,框914图示根据分类的规则和工作负荷的全局化特性来确定用户的工作负荷是否在正确的组中。在框914,如果用户的工作负荷在正确的组中,则过程进行到框918。在框914,如果工作负荷不在正确的组中,则过程进行到框916。框916图示切换到或者创建被分类用于工作负荷的全局化特性的应用的另一组,并且过程进行到框918。框918图示确定所选的应用组是否包括用于工作负荷的全局化特性所要求的现有的应用会话。在框918,如果所选的应用组包括用于工作负荷的全局化特性所要求的现有的应用会话,则过程进行到框922。在框918,如果所选的应用组不包括用于工作负荷的全局化特性所要求的现有的应用会话,则过程进行到框920。框920图示在所选应用组中开始用于工作负荷的全局化特性所要求的新的应用会话,并且过程进行到框922。框922图示供应来自所选的应用组的正确的应用会话。例如,在框918,如果日历应用在针对三种不同语言的语言组下已经具有三个会话,并且用户工作负荷请求与三个打开的会话中的一个会话相关联的语言中的一种语言,则在框922处,从现有打开会话供应正确的应用会话,然而,如果用户工作负荷请求与三个打开会话中一个会话不关联的语言,则过程首先进行到框920,以开始针对所请求的语言的新的应用会话,并且然后在框922处,从所选应用组供应新开始的应用会话。接着,框924图示利用选择(诸如划分和应用组选择)和工作负荷全局化特性来更新用户账户管理器,并且过程结束。

图10图示了用于根据实时应用和用户的全局化特性请求来管理虚拟化服务用户的用户简档的过程和计算机程序的高层逻辑流程图。

在一个示例中,过程和程序在框1000开始并且之后继续进行到框1002。框1002图示确定用户账户管理器是否接收到针对用户的已更新设置以及当前工作负荷的工作负荷全局化特性。在框1002,如果用户账户管理器接收到已更新设置以及当前工作负荷的工作负荷全局化特性,则过程进行到框1004。框1004图示根据已更新设置和工作负荷全局化特性并且根据分类的规则,动态更新用户全局化设置并且对用户账户中的用户组进行分类,并且过程结束。

图11图示分类的规则中所应用的分类标准的组成的框图的一个示例。

在一个示例中,分类标准232可以包括用于平台分类控制器210、应用分类控制器212、当前工作负荷分类控制器214和用户账户管理器260的一种或多种类型的标准。此外,分类标准232可以应用于调整分类的规则220内的其他规则。分类标准232可以包括但不限于规则、算法、模块、引擎和数据。

在一个示例中,分类标准232可以包括基于用户简档的标准1110。在一个示例中,基于用户简档的标准1110可以包括用户指定的全局化模式以及用于应用于模式的规则。在一个示例中,分类标准232可以包括帮助用户定义用户的全局化模式的评估组成,诸如特定时间段期间用户的通常的全局化特性使用。在一个示例中,评估组成可以要求用户对全局化相关的问题的选择,并且基于用户对问题的响应来创建用户的虚拟化应用服务模式连同用于应用于模式的规则,以最小化用户通常要求的不同全局化特性的全局化优化开销。在一个示例中,基于用户的模式,基于用户简档的标准1110可以设置要由分类标准232中的其他规则应用的、针对用户的全局化阈值。

在一个示例中,分类标准232可以包括一个或多个基于自动用 户工作负荷全局化特性的标准1112。在一个示例中,基于自动用户工作负荷全局化特性的标准1112包括使得动态分类管理器114能够通过控制器和管理器部件将用户工作负荷自动放到应用组中并且将用户工作负荷移动到应用组中并且更新用户组信息的标准。在参考标记1120处图示的一个示例中,基于自动用户工作负荷全局化特性的标准1112可以包括针对特定用户的规则集的选择,针对用户,是否存在80%的“G11N_任务_百分比”的阈值全局化设置,以运行动态分类管理器114能够访问电子邮件应用的应用服务上的用户模式。在一个示例中,基于工作负荷请求中的全局化特性的用户的模式(其被设置为80%),如参考标记1120处图示的,如果包括语言“中文”、脚本“HANS(简化中文)”和代码集“GB18030”的应用上的全局化任务达到大于工作负荷请求的80%,则用户被放到被优化用于处理语言“中文”和“GB18030”代码集的“中文-GB18030”应用组中。在示例中,如参考标记1120处所图示的,如果包括语言“英文”、脚本“拉丁文”和代码集“ISO8859-1”的应用上的全局化任务达到大于工作负荷请求的80%,则用户被放到被优化用于处理语言“英语”和代码集“ISO8859-1”的“拉丁语-ISO8859-1”应用组中。在示例中,如参考标记1120处所图示的,如果其他条件不成立,则用户被放到“UTF-8”应用组中,其为被优化用于处理代码集“UTF-8”的默认组。在一个示例中,当前工作负荷分类控制器214可以应用参考标记1120处所图示的规则,以便确向用户分配的当前应用组是否是正确的应用组,或者是否将用户变为另一应用。在一个示例中,用户账户管理器260可以维护用户工作负荷中的全局化特性的历史,使得当前工作负荷分类控制器214可以确定是否达到全局化阈值。在一个示例中,基于自动用户工作负荷全局化特性的标准1112可以被指定用于特定用户、一种类型的用户或者用户组,并且可以单独地应用于特定用户或应用于一种类型的用户或用户组。在附加的或者备选的示例中,基于自动用户工作负荷全局化特性的标准1112可以包括标准中所包括的附加的或者备选的类型的阈值、条件和动作。

在一个示例中,分类标准232可以包括一个或多个要求全局化任务的用户和应用组标准1114。在一个示例中,要求全局化任务的用户和应用组标准1114可以包括用于对不同全局化特性的用户和应用组进行分类的标准,其还基于代码集、地理位置、商业模式、OS、峰值小时和其他因素而被分类。在一个示例中,例如,图12和图13图示了用于对不同代码集的用户和应用组进行分类的标准的一个示例。

例如,图12中的表格1200图示通过用户并且通过应用指定针对每个应用的主要代码集需求的表格的一个示例。在示例中,每个用户由“用户1”、“用户2”、“用户3”、“用户4”、“用户5”、“用户6”和“用户7”中的用户名来标识,并且每个应用(app)由应用编号1-6来标识。在示例中,针对每个应用的每个用户所要求的主要代码集选自代码集“UTF-8”、“GB18030”、“ISO8859-1”、“JIS”、“IBM-eudJP”和“IBM-eucCN”。在示例中,可以根据用户简档来编译表格1200中的数据,或者可以由用户或服务提供商来设置表格1200中的数据。此外,在示例中,还可以基于附加的因素,在针对应用的分类的规则中指定表格1200中的数据。

例如,图13中的表格1300图示了通过应用组分类和应用指定到应用组的用户分配的表格的一个示例。在示例中,表格1200中所标识的每个应用(app)由应用编号1-6来标识,并且表格1200中所标识的每个主要代码集被标识为“UTF-8组”、“GB18030组”、“ISO8859-1组”、“JIS组”、“IBM-eudJP组”和“IBM-eucCN组”中基于代码集的应用组。在示例中,表格1200中的分配信息在表格1300中被分类,以指定向哪些用户分配每个应用组并且指定用户组分配。

在一个示例中,要求全局化任务的用户和应用组标准1114可以用一个或多个附加因素(诸如一天中的时间或峰值负载次数)指定表格,诸如表格1200和表格1300,以优化在划分中配置的全局化服务和应用组分类。用户账户管理器260可以追踪工作负荷全局化特 性,将实际使用与表格中的先前设置相比较,并且基于实际全局化特性使用,动态调整表格1200和表格1300中以及要求全局化任务的用户和应用组标准1114中的设置。

事先应当理解,虽然本公开内容包括云计算的详细描述,然而本文中给出的教导的实现方式不限于云计算环境。相反,本发明的实施例能够结合现在已知或者稍后开发的任何其他类型的计算环境进行实现。

云计算是用于根据需要方便地实现对可配置计算资源(例如网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机和服务)的共享池的网络访问的服务递送的模型,这些计算资源可以利用最小管理精力或与服务的提供商的交互而被快速地供应和释放。这一云模型可以包括至少五个特性、至少三个服务模型以及至少四个部署模型。

特性如下:

根据需要的自助服务:云消费者可能根据需要自动地单方面地供应计算能力,诸如服务器时间和网络存储装置,而不需要与服务的提供商的人员交互。

宽带网接入:能力在网络上可用并且通过标准机制而被访问,标准机制促进通过异构性瘦客户端或胖客户端平台(例如移动电话、膝上型计算机和PDA)的使用。

资源池:提供商的计算资源被轮询,以利用根据需要动态地分配和重新分配的不同的物理和虚拟资源、使用多租户模型来服务多个客户。存在一种位置独立性,其中客户通常对所提供的资源的准确位置没有控制或认知,但是可能能够指定更高抽象层的位置(例如国家、州或数据中心)。

快速弹性:在一些情况下,能力可以被自动地快速地和弹性地供应,以快速向外扩展并且被快速释放以快速向内扩展。对于消费者而言,可用于供应的能力通常呈现为不受限制的并且可以在任何时间购买任何数量。

可计量的服务:云系统通过调节某个抽象水平的计量能力使其适应这一类型的服务(例如存储、处理、带宽和有效用户账户)来自动控制和优化资源使用。可以监视、控制和报告资源使用,以提供对于所利用的服务的供应商和客户二者的透明性。

服务模型如下:

软件即服务(SaaS):向消费者提供的能力是使用运行在云基础设施上的供应商的应用。通过瘦客户端接口(诸如web浏览器(例如基于web的电子邮件))从各种客户端设备可访问应用。除了可能的有限的用户特定的应用配置设置之外,消费者不管理或控制底层的云基础设施,包括网络、服务器、操作系统、存储装置或者甚至个体应用能力。

平台即服务(PaaS):向客户提供的能力是部署在使用供应商支持的编程语言和工具创建的消费者创建的云基础设施或获得的应用上。客户不管理或控制底层的云基础设施,包括网络、服务器、操作系统或存储装置,但是具有对托管环境配置的所部署的应用和可能的应用的控制。

基础设施即服务(IaaS):向客户提供的能力是供应处理、存储、网络和其他基础计算资源,其中消费者能够部署和运行任意软件,其可以包括操作系统和应用。消费者不管理或控制底层的云基础设施,但是具有操作系统、存储、所部署的应用的控制,以及对选择联网部件(例如主机防火墙)的可能有限的控制。

部署模型如下:

私有云:云基础设施仅被操作用于组织。其可以由组织或第三方来管理,并且可以场所内部或者场所外部存在。

社区云:云基础设施由若干组织共享并且支持具有共同关心的事(例如使命、安全要求、策略和顺应性考虑)的特定社区。其可以由组织或者第三方来管理,并且可以场所内部或场所外部存在。

公共云:云基础设施被使得可用于一般公共或大型工业组织,并且由销售云服务的组织拥有。

混合云:云基础设施为保持唯一实体但是通过标准化或专有技术绑定在一起的两个或更多个云(专用、社区或公共)的组合,其实现数据和应用可携带性(例如针对云之间的负载平衡的云爆发)。

云计算环境是面向专注于无状态、低耦合、模块性和语义互操作性的服务。云计算的核心是包括互连节点的网络的基础设施。

现在参考图14,示出了云计算节点的示例的示意图。云计算节点1410仅为适合的云计算节点的一个示例,而非意在建议对本文中所描述的本发明的实施例的使用范围或功能范围的任何限制。无论如何,云计算节点1410能够实现和/或执行上文中阐述的功能中的任何功能。

在云计算节点1410中,存在计算机系统/服务器1412,其利用多个其他通用或专用计算系统环境或配置而可操作。可能适合与计算机系统/服务器1412一起使用的众所周知的计算系统、环境和/或配置的示例包括但不限于个人计算机系统、服务器计算机系统、瘦客户端、胖客户端、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、迷你计算机系统、大型计算机系统以及包括以上系统或设备中的任何系统或设备的分布式云计算环境等。

可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般上下文中描述计算机系统/服务器1412。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例行程序、程序、对象、组成、逻辑、数据结构等。计算机系统/服务器1412可以被实践在分布式云计算环境中,在分布式云计算环境中,由通过通信网络链接的远程处理设备执行任务。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质二者中。

如图14所示,以通用计算设备的形式示出云计算节点1410中的计算机系统/服务器1412。计算机系统/服务器1412的部件可以包括但不限于一个或多个处理器或处理单元1416、系统存储器1428 以及将包括系统存储器1428的各种系统部件耦合到处理器1416的总线1418。

总线1418表示若干类型的总线结构中的任何总线结构中的一个或多个总线结构,包括存储器总线或存储器控制器、外围设备总线、加速图形端口以及使用各种总线架构中的任何总线架构的处理器或本地总线。作为示例而非限制,这样的架构包括工业标准架构(ISA)总线、微通道架构(MCA)总线、增强的ISA(EISA)总线、视频电子标准联盟(VESA)本地总线以及外围部件互连(PCI)总线。

计算机系统/服务器1412通常包括各种计算机系统可读介质。这样的介质可以是计算机系统/服务器1412可访问的任何可用介质,并且其包括易失性介质和非易失性介质、可移除介质和不可移除介质二者。

系统存储器1428可以包括易失性存储器形式的计算机系统可读介质,诸如随机访问存储器(RAM)30和/或高速缓存存储器1432。计算机系统/服务器1412还可以包括其他可移除/不可移除、易失性/非易失性计算机系统存储介质。仅作为示例,存储系统1434可以被提供用于从非可移除、非易失性磁性介质(未示出并且通常被称为“硬盘驱动器”)读取并且向非可移除、非易失性磁性介质写入。虽然没有被示出,然而,可以提供用于从可移除、非易失性磁盘(例如“软盘”)读取并且向可移除、非易失性磁盘(例如“软盘”)写入的磁盘驱动器以及用于从可移除、非易失性光盘(诸如CD-ROM、DVD-ROM或其他光学介质)读取并且向可移除、非易失性光盘(诸如CD-ROM、DVD-ROM或其他光学介质)写入的光盘驱动器。在这样的实例中,每个部件可以通过一个或多个数据介质接口连接到总线1418。如下面进一步描绘和描述的,存储器1428可以包括至少一个程序产品,该程序产品具有被配置为执行本发明的实施例的功能的程序模块的(例如至少一个)集合。

具有程序模块的(至少一个)集合1442的程序/实用程序1440作为示例而非限制可以被存储在存储器1428中,以及操作系统、一 个或多个应用程序、其他程序模块和程序数据也可以被存储在存储器1428中。操作系统、一个或多个应用程序、其他程序模块以及程序数据或它们的某种组合中的每个可以包括联网环境的实现方式。程序模块1442通常执行本文中所描述的本发明的实施例的功能和/或方法。

计算机系统/服务器1412还可以与一个或多个外部设备1414(诸如键盘、指示设备、显示器1424等)通信;与使得用户能够与计算机系统/服务器1412交互的一个或多个设备通信;和/或与使得计算机系统/服务器1412能够与一个或多个其他计算设备通信的任何设备(例如网卡、调制解调器等)通信。这样的通信可以经由输入/输出(I/O)接口1422而发生。另外,计算机系统/服务器1412可以经由网络适配器1420与一个或多个网络通信,诸如局域网(LAN)、通用广域网(WAN)、和/或公共网络(例如因特网)。如所描绘的,网络适配器1420经由总线1418与计算机系统/服务器1412的其他部件通信。应当理解,虽然没有被示出,然而,可以结合计算机系统/服务器1412使用其他硬件和/或软件部件。示例包括但不限于:微代码、设备驱动程序、冗余处理单元、外部磁盘驱动器阵列、RAID系统、磁带驱动器以及数据归档存储系统等。

图15图示云计算环境的一个示例的框图。在一个示例中,云计算环境1550表示图1中支持的云环境。如所示出的,云计算环境1550包括一个或多个云计算节点1510,由云消费者使用的本地计算设备(诸如例如个人通信设备1554,其可以包括但不限于个人数字助理(PDA)或蜂窝电话、台式计算机1556、膝上型计算机1558、汽车计算机系统1560、和服务器1562)可以与云计算节点1510通信。节点1510可以彼此通信。它们可以物理地或者虚拟地被分组(未示出)在一个或多个网络中,诸如上文中所描述的专用云、社区云、公共云或混合云、或者其组合。这允许云计算环境1550提供基础设施、平台和/或软件即服务,针对设施、平台和/或软件即服务,云消费者不需要在本地计算设备上维护资源。应当理解,图15所示的计 算设备的类型旨在仅作为说明性的,并且计算节点1510和云计算环境1550可以通过任何类型的网络和/或网络可寻址连接(例如使用web浏览器)与任何类型的计算机设备通信。

现在参考图16,示出了由云计算环境1550(图15)提供的功能抽象层的集合。应当事先理解,图16所示的部件、层和功能旨在仅作为说明性的,并且本发明的实施例不限于此。如所描绘的,提供以下层和对应功能:

硬件和软件层1660包括硬件和软件部件。硬件部件的示例包括:大型机1661;基于RISC(精简指令集计算机)架构的服务器1662;服务器1663;刀片服务器1664;存储设备1665;以及网络和联网部件1666。在一些实施例中,软件部件包括网络应用服务器软件1667和数据库软件1668。

虚拟化层1670提供抽象层,从抽象层可以提供虚拟实体的以下示例:虚拟服务器1671;虚拟存储装置1672、虚拟网络1673,包括虚拟专用网;虚拟应用和操作系统1674;以及虚拟客户端1675。

在一个示例中,管理层1680可以提供以下所描述的功能。资源供应1681提供计算资源和用于执行云计算环境内的任务的其他资源的动态获得。计量和计价1682提供由于在云计算环境内使用资源的费用跟踪,以及针对这些资源的消耗的计费或计价。在一个示例中,这些资源可以包括应用软件许可。安全提针对供云消费者和任务的身份验证以及针对数据和其他资源的保护。用户入口1683向消费者和系统管理员提供对云计算环境的访问。服务水平管理1684提供云计算资源分配和管理使得能够满足所要求的服务水平。服务水平协议(SLA)计划和履行1685提供根据SLA预期需要其进一步要求的云计算资源的预先布置和获得。

工作负荷层1690提供可以利用云计算环境的功能的示例。可以从这一层提供的工作负荷和功能的示例可以包括但不限于:映射和导航1691;软件开发和生命周期管理1692;虚拟课堂教育递送1693;数据分析处理1694;交易处理1695;以及全局化分类器1696。在一 个示例中,全局化分类器1696可以基于工作负荷的全局化特性来管理来自用户的、针对虚拟化服务的工作负荷的分类,以便动态管理云计算环境中工作负荷到具有优化的全局化配置的虚拟化环境的分配,从而处理工作负荷的全局化特性。其他服务器云功能可以包括以下功能中的一个或多个功能:虚拟化服务110、管理层112、动态分类管理器114、应用120、平台122、基础设施124和全局化服务126。

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

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

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

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

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

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

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

附图中的流程图和框图图示根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个块可以表示指令的模块、分段或部分,其包括用于实现所指定的逻辑功能的一个或多个可执行指令。在一些替选实现方式中,框中给出的功能可以不按照附图中给出的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者框有时可以按照相反顺序执行,这取决于所涉及的功能。还应当注意,可以由执行所指定的功能或动作或者执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现框图和/或流程图图示中的每个框以及框图和/或流程图图示中的框的组合。

本文中所使用的术语仅出于描述特定实施例的目的,而非意在限制本发明。如本文中所使用的,单数形式的“一”和“该”意在也包括复数形式,除非上下文另外明确指出。还应当理解,术语“包括”和/或“包含”当在本说明书中使用时,指定所陈述的特征、整体、步骤、操作、元素和/或组成的存在,但是不排除一个或多个其他特征、整体、步骤、操作、元素、组成和/或其组的存在或添加。

所附的权利要求中的所有装置或步骤加功能元素的对应的结构、材料、动作和等同实现旨在包括用于结合如特别要求保护的其他要求保护的元素执行功能的任何结构、材料或动作。出于说明和描述的目的,呈现了本发明的一个或多个实施例的描述,但是其并非意在是排他性的或者将本发明限于所公开的形式。在没有偏离本 发明的范围和精神的情况下,很多修改和变形对于本领域普通技术人员是显而易见的。选择和描述实施例以便最佳地解释本发明的原理以及实际应用,并且使得本领域其他技术人员能够理解本发明的具有适合预期的特定用途的各种修改的各种实施例。

虽然参考一个或多个实施例特别地示出和描述了本发明,然而本领域技术人员应当理解,可以在不偏离本发明的精神和范围的情况下,在形式和细节方面做出各种变化。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号