专利名称:使用名称解析来供应虚拟资源的制作方法
技术领域:
本公开一般地涉及使用名称解析来供应虚拟资源。
背景技术:
在计算环境中,可用物理资源可以在计算系统初始建立时静态地指派。例如,诸如 存储器、处理器和盘之类的物理资源可以安装到特定机器中,并且该特定机器被分配给特 定用户。指派过程可能是带外过程,其需要用户向信息技术部门指定资源需求,然后信息技 术部门针对该用户指派和供应系统。重新供应资源通常需要重建系统,或者指派具有重新 定义的资源需求的新系统。在云计算环境中,以类似于在传统计算环境中如何指派物理资源的方式带外地供 应虚拟资源。例如,用户可以使用web接口来请求虚拟资源。响应于该请求,用户可以接收 针对虚拟资源的访问信息,诸如与新虚拟资源相关联的网际协议(IP)地址、与新虚拟资源 相关联的逻辑标识符或者虚拟盘的网络位置。然后,用户可以通过如下方式来使用虚拟资 源,即在运行用户命令之前将该用户命令更新为包括对虚拟资源的访问信息,或者在重启 系统之前将系统配置为包括对虚拟资源的访问信息。
发明内容
公开了一种用于使用名称解析来供应虚拟资源的系统和方法。在特定实施例中, 该方法包括在通往计算系统的接口处接收指令和数据串。该数据串包括资源标识符和一个 或多个资源属性。该方法包括解析该数据串,以提取该资源标识符和一个或多个资源属性。 该方法还包括向计算资源供应系统提供资源标识符和该一个或多个资源属性。计算资源供 应系统供应对应于资源标识符并且具有该一个或多个资源属性的资源。该方法还包括返回 句柄,以在耦合至通往计算资源供应系统的接口的客户端系统处执行指令期间提供对所供 应资源的访问。在另一特定实施例中,一种方法包括响应于接收到包括名称解析请求的命令而供 应云计算系统的虚拟资源。在另一特定实施例中,一种系统包括命令接口,用以接收包括数据串自变量的用 户命令。该系统包括名称解析模块,用以从数据串自变量中解析资源标识符和一个或多个 资源属性。该系统还包括供应系统接口,用以向供应系统发送请求以创建具有该一个或多 个资源属性的资源,并且用以向名称解析模块返回资源的句柄。在另一特定实施例中,一种计算机程序产品包括计算机可读介质。该计算机可读 介质包括第一程序指令,用以接收指令和数据串,该数据串包括资源标识符和一个或多个 资源属性。该计算机可读介质还包括第二程序指令,用以生成去往云计算系统的请求,以创 建具有该一个或多个资源属性的虚拟资源。该计算机可读介质还包括第三程序指令,用以 实现使用资源标识符来对虚拟资源进行访问。第一程序指令、第二程序指令和第三程序指 令存储在该计算机可读介质上。
图1是用以使用名称解析来供应虚拟资源的系统的第一实施例的一般示图;图2是用以使用名称解析来供应虚拟资源的系统的第二实施例的框图;图3是用以使用名称解析来供应虚拟资源的系统的第三实施例的框图;图4是用以使用名称解析来供应虚拟资源的方法的第一示例性实施例的流程图;图5是用以使用名称解析来供应虚拟资源的方法的第二示例性实施例的流程图;图6是用以使用名称解析来供应虚拟资源的方法的第三示例性实施例的流程图;图7是用以使用名称解析来供应虚拟资源的方法的第四示例性实施例的流程图;图8是用以使用名称解析来供应虚拟资源的方法的第五示例性实施例的流程图;图9是用以使用名称解析来供应虚拟资源的方法的第六示例性实施例的流程图; 以及图10是用以使用名称解析来供应虚拟资源的系统的第四实施例的一般示图。
具体实施例方式图1示出了用以使用名称解析来供应虚拟资源的系统100的特定实施例。系统100 包括名称解析单元102,名称解析单元102耦合至客户端104并且耦合至云计算系统106。云计算系统106包括接口,诸如应用编程接口(API) 108,该接口耦合至基于网络 的图形用户接口(⑶I) Iio并且耦合至资源供应系统112。供应系统112能够访问物理资 源114和虚拟资源116。虚拟资源116与物理资源114的至少一个可用物理资源相关联。 物理资源114包括代表性服务器Sl 120、S2 122、S3 IM和S4 1 以及代表性数据中心 128。代表性数据中心1 包括代表性服务器S5130、S6 132、S7 1;34和S8 136。虚拟资源 116包括代表性虚拟存储器Ml 138、M2 140和M3 142、代表性虚拟处理器Pl 144、P2 146 和P3 148、代表性虚拟带宽Bl 152、B2巧4和B3 156以及代表性新创建虚拟资源Cl 150。 代表性新创建虚拟资源Cl 150可以是虚拟存储器单元、虚拟处理器单元、虚拟带宽单元、 其他虚拟资源或者其任何组合。例如,云计算系统106可以包括服务器Sl 120、S2 122和 S3 IM的多个处理器,这些服务器逻辑地映射到虚拟处理资源P1144、P2 146和P3 148并 且是用户可按需访问的。虚拟资源116可以是物理资源114的服务器的现有物理处理器、 盘或者存储器的细分。例如,可以通过响应于用户要求而细分物理资源114的一部分来创 建虚拟资源116中的一个或多个。物理资源114包括诸如客户端104之类的订户可按需访问的多个联网的计算机系 统。代表性数据中心1 可以物理地位于与代表性服务器120、122、124和1 不同的位 置。客户端104配置为执行软件程序指令以执行利用虚拟资源116中的一个或多个虚拟资 源的各种功能。将虚拟资源116映射到物理资源114。虚拟资源116可以包括逻辑处理资 源,该逻辑处理资源与诸如物理资源114之类的多处理单元计算机系统处的至少一个物理 处理单元相关联。每个逻辑存储器资源可以与至少一个物理存储设备相关联。资源供应系统112配置为通过动态地分配物理资源114来响应于供应请求,诸如 经由应用编程接口(API)调用172发送的请求。包括用户标识符168和账户标识符170的 供应请求167经由资源供应系统112的应用编程接口(API) 108提供给资源供应系统112。API 108配置为接收来自基于网络的⑶I 110的供应请求。例如,基于网络的⑶I 110可以 包括一种或多种web形式,以收集用户输入数据和显示对应于虚拟资源供应的结果。对应 于虚拟资源供应的结果可以包括域名系统(DNS)地址180以使得能够访问所供应的虚拟资 源。在特定实施例中,对应于虚拟资源供应的结果可以包括端口号(未示出)。客户端104配置为经由名称解析单元102访问虚拟资源116。名称解析单元102 使得资源的实时供应能够由客户端104在执行软件程序指令期间使用。由此,名称解析单 元102使得客户端104能够使用资源,而不必在使用资源之前单独地指派和供应它们。例 如,当软件程序指令表明要将文件存储在标识为“mydisk”的具有30吉字节容量的盘处时, 名称解析单元102确定是否存在名为“mydisk”的30吉字节的盘。当“mydisk”存在并且 具有30吉字节的容量时,名称解析单元102返回句柄184。当“mydisk”存在并且具有不 同于30吉字节的容量时,名称解析单元102向云计算系统106发送请求以将“mydisk”重 新供应为具有30吉字节的容量,并且返回句柄184。当“mydisk”不存在时,名称解析单元 102向云计算系统106发送请求以供应具有标识符“mydisk”并且容量为30吉字节的盘,并 且返回句柄184。名称解析单元102可以使用正则表达式规则来标识数据串162的标识符164和属 性166。名称解析单元102配置为生成API调用172以请求云计算系统106供应一个或多 个虚拟资源。名称解析单元102进一步配置为接收DNS地址180,DNS地址180用于访问云 计算系统106的新供应的资源。名称解析单元102进一步配置为返回句柄184,句柄184将 新供应的虚拟资源映射到用户标识的名称,诸如数据串162中的标识符164。名称解析单元 102可以集成到客户端104的操作系统中,可以在客户端104外部,或者其任何组合。在操作时,客户端104接收命令160和数据串162用于执行,并且向名称解析单 元102转发命令160和数据串162以供解析。数据串162包括资源标识符164和资源属性 166。在示例性实施例中,数据串是到资源的路径。名称解析单元102接收来自客户端104 的命令160和数据串162。命令160可以是与虚拟资源116之一相关联的指令,诸如存储指 令、获取指令或者修改指令。名称解析单元102解析数据串162以提取资源标识符164和 资源属性166。名称解析单元102确定数据串162是否引用了先前供应的资源。当数据串162引 用了先前供应的资源时,名称解析单元102返回句柄184。句柄184使得客户端104能够 访问数据串162所引用的先前供应的资源。当数据串162并未引用先前供应的资源时,名 称解析单元102生成去往云计算系统106的请求以供应新的虚拟资源。在特定实施例中, 该请求是绕开基于网络的⑶I 110的应用编程接口(API)调用172。API调用172可以包 括与命令160相关的上下文信息,诸如用户标识符168或账户标识符170。用户标识符168 和账户标识符170可以用于出于计费目的而跟踪虚拟资源使用信息。例如,用户标识符168 可以用于保持对单个用户对虚拟资源的使用的跟踪。账户标识符170可以用于保持对一组 用户对虚拟资源的使用的跟踪。云计算系统106供应和指派所请求的虚拟资源,并且向名称解析单元102返回使 得能够访问虚拟资源的DNS地址180。名称解析单元102将DNS地址180与句柄184相关 联,并且向客户端104返回句柄184以使得客户端104能够经由句柄184访问新供应的虚 拟资源。
在云计算系统106内,在资源供应系统112处经由API 108接收资源标识符164和 资源属性166。资源供应系统112供应新供应的资源Cl 150,新供应的资源Cl 150对应于 资源标识符164并且具有资源属性166。例如,当资源标识符164和资源属性166标识了具 有特定容量的服务器时,代表性的新供应的资源Cl 150被供应为具有特定容量的虚拟服 务器。作为说明,当资源标识符164是“mydisk”并且资源属性166是6太字节时,代表性的 新供应的资源Cl 150是具有6太字节容量并且被引用为“mydisk”的虚拟服务器。当资源 标识符164和资源属性166标识了容量为一万次浮点运算/秒(FL0PQ的处理器“cpulOk” 时,代表性的新供应的资源Cl 150是容量为一万FLOPS并且被引用为“cpulOk”的虚拟处 理器。当资源标识符164和资源属性166标识了容量为100兆字节的存储器“memlOOM”时, 代表性的新供应的资源Cl 150是容量为100兆字节并且被引用为“memlOOM”的虚拟存储器。响应于经由API 108进行API调用172,名称解析单元102接收域名系统(DNS)地 址180以访问资源Cl 150。名称解析单元102存储DNS地址180并且将DNS地址180与句 柄184相关联。名称解析单元102返回句柄184以使得客户端104能够在执行命令160期 间访问资源Cl 150。句柄184可以包括针对命令160的上下文信息,诸如用户标识符168 或账户标识符170,作为用以诸如在多个用户可能复制虚拟资源名称时进一步区分虚拟资 源的环境变量。在已经供应资源Cl 150之后,可以解析数据串162以经由句柄184访问资源Cl 150。当客户端104随后遇到数据串162时,诸如在客户端104处执行的软件程序中的稍后 指令中,名称解析单元102执行使用句柄184来获取DNS地址180的查找操作。由此,资源供应系统112响应于触发去往名称解析单元102的名称解析请求的命 令160(诸如通过包括数据串162作为命令160的自变量)而供应云计算系统106的虚拟 资源Cl 150,并且资源供应系统112在命令160在客户端104处的运行时执行期间供应虚 拟资源Cl 150。响应于触发名称解析请求的命令160,在云计算系统106处经由应用编程 接口(API) 172接收资源名称,诸如基于虚拟资源Cl 150的标识符164和属性166的名称。 云计算系统106独立于基于网络的⑶I 110而接收资源的名称和属性166,避开了任何手动 供应步骤。名称解析单元102通过返回通往虚拟资源Cl 150的句柄184来解析名称解析 请求。句柄184可以由客户端104用来完成对命令160的执行。由此,系统100使得客户 端104即使在数据串162并未引用在执行命令160之前供应的资源时,也能够执行以数据 串162作为其自变量的命令160。作为说明,可以提供库接口以使得能够实现动态资源供应。例如,命令R= dial (" cloud ! storagemydisk ! capacity = 2GB)包括命令"dial,,以及 具有属性"storage,,、容量“2GB,,和标识符“mydisk,,的数据串“cloud ! storagemydisk ! capacity = 2GB"0在这一示例中,资源是2吉字节的虚拟存储器。名称解析单元102辨识 出“cloud”引用了云计算系统106中具有2GB容量的虚拟存储器资源。当虚拟存储器资源 可用时,名称解析单元102可以返回“/dev/sdal”作为通往虚拟存储器资源的句柄,当虚拟 存储器资源不可用时,名称解析单元102可以返回错误。作为另一说明,可以提供替代性文件系统接口以使得能够实现动态资源供应。例 如,命令
capacity = 20GB>/cloud/storage/mydisk/clone 包括重定向命令“〉”以及具有 属性 “storage” 和标识符 “mydisk” 的数据串 “cloud/storage/mydisk/clone”。文件系统 接口命令“capacity”表明虚拟资源的容量是“20GB”。当执行命令之前虚拟存储器资源 “clone”不存在时,将具有20吉字节的虚拟存储器资源供应为具有名称“clone”,并且将其 动态地指派给该命令使用。当虚拟存储器资源“clone”具有不同于20吉字节的容量时,可 以将虚拟存储器资源“clone”重新供应为具有20吉字节的容量。在替代性文件系统接口 的另一示例中,用户输入cd/cloud/storage/mydisk/capacity = 2GB 包括改变目录命令“cd” 以及具有属 性 “ storage ”、容量“ 2GB” 和标识符 “mydisk” 的数据串 “ cloud/storage/mydisk/capacity =2GB”。当执行命令之前虚拟存储器资源“mydisk”不存在时,将具有2吉字节的虚拟 存储器资源供应为具有名称“mydisk”,并且将其指派给该命令使用。当虚拟存储器资源 “mydisk”具有不同于2吉字节的容量时,可以将虚拟存储器资源“mydisk”重新供应为具有 2吉字节的容量。作为第三说明,可以提供网络接口以使得能够实现动态资源供应。例如Ssh cloud ! cpu:newsys ! x86, linux,mem = 4GB, cpus = 4 包括远程登录命令 “3吐”以及具有标识符“11冊巧8”和属性“访6”、“1丨11皿”、“111_”和“叩卯”的数据串“(31011(1 ! cpu:newsys ! x86, linux,mem = 4GB, cpus = 4”。该数据串表明 newsys 系统使用基于 x86 的处理器,运行基于Iirmx的操作系统,具有4吉字节的存储器,并且具有4个虚拟中央处 理单元(CPU)。由于系统100能够实现“即兴”(on-the-fly)动态供应,因此该系统使得云计算系 统106的用户能够避开在使用资源之前的供应步骤(通常是手动步骤)。通过独立于图形 用户接口而向资源供应系统112发送请求,系统100能够实现在运行时对虚拟资源的供应 和使用,同时消除了对使用GUI 110进行带外供应的需要。可以使用统一资源名称(URN) 来实现动态供应,该URN包含对于用户来说有意义的名称并且标识了使得可以在先前尚未 供应资源时对资源进行供应的足够属性。当URN引用了未供应的资源时,利用URN的属性 和名称来供应资源。动态供应可以是对客户端透明的,其原因在于动态供应可以响应于对 先前不存在的资源的引用而发生,而不需要客户端知晓资源被供应了。URN可以与附加的上 下文相关信息(诸如用户身份或逻辑系统身份)相结合,以使得能够实现针对资源使用的 计费。用户身份或逻辑系统身份可以与计费模型相关联,该计费模型允许基于使用时 间、已供应带宽、已供应存储器或者已供应处理能力而计费。每个用户身份或逻辑系统身份 可以具有限制,以限制或局限能够供应的资源数量。例如,雇主可以限制每个雇员在给定时 间能够使用的最大资源数目,以确保雇员所使用的资源量不超过预算量。图2是用以使用名称解析来供应虚拟资源的系统200的特定实施例的框图。系统 200包括耦合至名称解析单元204的供应系统202。供应系统202耦合至代表性资源230。 第一解析处理程序216和第二解析处理程序218耦合至名称解析单元204。在特定实施例 中,名称解析单元204是图1的名称解析单元102。名称解析单元204包括命令接口 206、名称解析模块208、资源表210以及供应系 统接口 212。命令接口 206配置为接收用户命令220,用户命令220包括数据串222作为用户命令220的自变量。名称解析模块208配置为解析数据串222以从数据串222获取资源 标识符2M和资源属性226。名称解析模块208配置为确定资源属性226是否引用了资源 表210中的资源。名称解析模块208包括解析器M0,解析器240配置为使用正则表达式规则来识别 数据串222的至少第一部分并且配置为向解析处理程序转发数据串222的未被解析器240 识别的至少第二部分。例如,解析器240可以配置为访问第一解析处理程序216以解析文件 系统标识符,访问第二解析处理程序218以解析域名系统(DNQ标识符,以及访问包括与供 应系统202通信的供应系统接口 212的云解析处理程序214以解析云或虚拟资源标识符。 作为示例,如果解析器240确定数据串222的第一部分包括术语“云”,则解析器240可以配 置为向云解析处理程序214发送数据串222的其余部分或整个数据串222。当资源属性226并未引用资源表210中所标识的虚拟资源时,供应系统接口 212 配置为向供应系统202发送请求228以创建资源230。供应系统202创建具有资源属性226 的资源230并将资源标识符224与资源230相关联。例如,当资源属性230是4吉字节存 储器并且资源标识符2M是“meml”时,供应系统202创建具有4吉字节存储的存储器并且 将名称“meml”与所创建的资源相关联。在示例性实施例中,资源属性2 可以指定虚拟存 储器器件的容量、虚拟处理器设备的吞吐量或者虚拟带宽的吞吐量。供应系统接口 212配置为接收来自供应系统202的DNS地址232。DNS地址232 使得能够访问资源230。供应系统接口 212配置为将句柄236与DNS地址232相关联以使 得能够访问资源230。向名称解析模块208返回句柄236。名称解析模块208使用资源表 210的表条目来将句柄236与DNS地址232相关联。当资源属性226引用了资源表210中的条目时,名称解析模块208配置为使用资 源属性2 在资源表210处执行查找操作以获取与资源属性2 相关联的句柄236。当先 前供应了资源230并且资源属性2 与资源230的属性不匹配时,供应系统接口 212进一步 配置为发送请求2 以通过重新供应资源230来修改与资源标识符2 相关联的资源230。 例如,当资源222是具有特定数量的处理单元的虚拟处理器并且资源属性2 表明了与资 源230相关联的不同数量的处理单元时,供应系统接口 212配置为发送请求228以将资源 230修改为具有资源属性2 所规定的数量的处理单元。系统200使得客户端即使在数据串222并未引用在执行命令220之前就存在的资 源时,也能够执行以数据串222作为其自变量的命令220。名称解析模块208通过在资源 表210处执行查找操作来确定数据串222是否引用了已供应的资源。当数据串222并未引 用资源表210中的已供应的资源时,供应系统接口 212向供应系统202发送请求228以供 应资源。供应系统202创建所请求的资源(未示出)并且返回用于访问新供应的资源的信 息。名称解析模块208将用以访问新供应的资源的信息与使得客户端能够访问新供应的资 源的句柄236相关联,并且向客户端返回句柄236。当客户端随后引用已供应的资源时,名 称解析模块208使用资源表210执行查找以获取用于访问该资源的句柄。系统200能够实现“按需”动态供应,“按需”动态供应响应于执行如下命令而创建 虚拟资源,该命令引用了不能通过在资源表210中进行资源查找而解析的资源。此外,系统 200能够实现“即兴”动态重新供应,当引用资源的命令表明该资源具有不同于资源的当前 属性的属性时,“即兴”动态重新供应会重新供应资源。例如,可以初始地将资源230供应为具有200吉字节的存储器容量。在执行命令220期间,当属性2 表明资源230具有2太 字节的存储器容量时,名称解析单元204确定资源230当前不具有2太字节的存储器容量 并且相应地发送请求228以重新供应资源230。图3是用以使用名称解析来供应虚拟资源的系统300的特定实施例的框图。在系 统300中,客户端302经由资源供应系统306耦合至资源304。客户端302包括终端308、 域名服务器(DNS) 310、合成文件系统312、供应和名称解析单元314以及资源映射数据库 316。资源304包括各种类型的受管理服务器,包括受电源监督程序(pHyp)管理的服务器 320、受Xen管理的服务器322、受VMware管理的服务器324、受基于内核的虚拟机器(KVM) 管理的服务器326、存储服务器328以及网络设备330。终端308配置为经由DNS服务器310和合成文件系统312访问虚拟资源。当DNS 服务器310或合成文件系统312试图访问虚拟资源时,供应和名称解析单元314配置为确 定是否已经供应了虚拟资源。当已经供应了虚拟资源时,供应和名称解析单元314在资源 映射数据库316处执行针对使得能够访问虚拟资源的句柄的查找,并且向DNS服务器310 或合成文件系统312返回该句柄。当尚未供应虚拟资源时,供应和名称解析单元314配置 为向资源供应系统306发送请求以供应虚拟资源。资源供应系统306接收供应请求,供应 资源304的虚拟资源,然后返回信息,诸如DNS标识符,以使得能够访问虚拟资源。名称解 析单元314接收来自资源供应系统306的信息,将句柄与该信息相关联,在资源映射数据库 316中存储该句柄和信息,并且向DNS服务器310或向合成文件系统312返回该句柄。图4是用以使用名称解析来供应虚拟资源的方法的第一示例性实施例的流程图。 该方法可以由解析器系统来执行,该解析器系统诸如图1中的名称解析单元102、图2中的 名称解析单元204或者图3中的名称解析单元314。在402处,接收命令和数据串。移动到404,确定数据串类型。继续到406,基于数 据串类型确定解析器类型。例如,每种类型的数据串可以具有其自己的关联解析器。在示 例性实施例中,第一解析器用于解析与存储器资源相关联的第一数据串,第二解析器用于 解析与处理器资源相关联的第二数据串,并且第三解析器用于解析与带宽资源相关联的第 三数据串。前进到408,确定与数据串相关联的用户和系统信息。与数据串相关联的用户和 系统信息包括与在其中执行命令和数据串的上下文相关的信息,并且可以用于在多个用户 引用了同一资源时区分资源请求。例如,当多个用户访问公共虚拟资源时,用户和系统信息 可以用于区分来自不同用户的用以访问公共虚拟资源的请求。前行到410,确定数据串是否与现有数据库条目相匹配。例如,在图2中的数据串 222与资源表210中的数据串相匹配的情况下,所引用的资源已经被供应并且名称解析单 元204能够从资源表210返回对应的句柄。在数据串与数据库条目匹配的情况下,在412 处确定数据串的属性是否与数据库条目相匹配。当先前已经供应了资源时,数据串与数据 库条目相匹配。在412处属性与数据库条目相匹配的情况下,在418处返回句柄,并且该方法在 420处结束。在412处属性与数据库条目不匹配的情况下,在414处确定资源是否可用。当 属性与数据库条目不匹配时,尝试将资源重新供应为具有这些属性。在414处资源不可用 的情况下,在422处报告错误,并且该方法在420处结束。在414处资源可用的情况下,该方法前行到416。在416处,将虚拟资源重新供应为具有新属性,在418处返回句柄,并且该方法在420处结束。在410处数据串与数据库条 目不匹配的情况下,该方法前行到424。例如,在图2的数据串222与资源表210中的条目 不匹配的情况下,名称解析单元204向供应系统202发送请求以供应数据串222所引用的 资源。在4M处,在资源数据库中创建新条目。前行到426,确定资源是否可用。例如,该资 源可以是虚拟资源,诸如处理能力、存储器、硬盘空间、带宽、其他计算相关的资源或者其任 何组合。在似6处资源不可用的情况下,在422处报告错误,并且该方法在420处结束。在 426处资源可用的情况下,在4 处创建新虚拟资源。前进到430,将该新虚拟资源与句柄 相关联,并且将该句柄存储在资源数据库中。移动到432,返回句柄,并且该方法在420处结 束ο图5是用以使用名称解析来供应虚拟资源的方法的第二示例性实施例的流程图。 该方法可以由解析器系统来执行,该解析器系统诸如图1中的名称解析单元102、图2中的 名称解析单元204或者图3中的名称解析单元314。在502处,在解析器处接收资源名称。移动到504,将句柄与设备名称相关联。在 一个示例性实施例中,解析器可以请求供应资源并为其分配所接收的名称。解析器可以接 收所供应的资源并且将句柄与所供应的资源的名称相关联。在另一示例性实施例中,解析 器可以执行查找以获取针对与该资源相关联的名称的句柄。继续到506,将设备的属性映射 到合成文件。合成文件系统提供文件系统接口,使得软件程序能够使用简单的文件操作,而 不必与底层协议交互。前进到508,执行正常安装操作,准备好资源以供使用。例如,当安装 操作在盘驱动器上执行时,使得盘驱动器的文件系统对于操作系统可用。该方法在510处 结束。图6是用以使用名称解析来供应虚拟资源的方法的第三示例性实施例的流程图。 该方法可以由DNS服务器来执行,该DNS服务器诸如图3的DNS服务器310。在602处接收DNS主机名称。前行到604,确定DNS主机名称是否引用了云计算系 统处的云地址。在DNS主机名称并未引用云计算系统处的地址的情况下,在606处执行正 常DNS主机名称解析,并且该方法在614处结束。在604处DNS主机名称引用了云计算系 统的情况下,在608处使用设备属性来解析DNS主机名称。继续到610,将虚拟资源的设备 属性映射到合成文件。移动到612,向新的或现有的资源返回地址,并且该方法在614处结 束ο图7是用以使用名称解析来供应虚拟资源的方法的第四示例性实施例的流程图。 在702处,在通往计算资源供应系统的接口处接收指令和数据串,其中该数据串包括资源 标识符和一个或多个资源属性。例如,该接口可以是图1的应用编程接口(API) 108。继续 到704,解析数据串以提取资源标识符和该一个或多个资源属性。移动到706,向计算资源 供应系统提供资源标识符和该一个或多个资源属性,其中计算资源供应系统供应对应于资 源标识符并且具有该一个或多个资源属性的资源。例如,当资源标识符是“mydisk”并且属 性是1太字节时,计算资源供应系统可以供应具有1太字节容量并且被标识为“mydisk”的 虚拟盘。前行到708,可以向计算资源供应系统提供用户标识符或账户标识符。用户标识符 和账户标识符可以用于针对资源使用的计费。例如,计费可以基于单个用户或者基于具有 访问资源的多个用户的账户。前进到710,可以接收用以访问资源的域名系统(DNS)地址,并且在712处存储该DNS地址。移动到714,提供句柄以在耦合至该接口的客户端系统处执 行指令期间访问资源。前行到716,响应于包括该句柄的查找操作而获取DNS地址。该方法 在718处结束。图8是用以使用名称解析来供应虚拟资源的方法的第五示例性实施例的流程图。 该方法可以由资源供应系统来执行,该资源供应系统诸如图1的资源供应系统112、图2的 供应系统202或者图3的资源供应系统306。在802处,响应于包括名称解析请求的命令而供应云计算系统的虚拟资源。前行 到804,响应于名称解析请求而向通往云计算系统的接口提供虚拟资源的名称和虚拟资源 的属性。前进到806,通过返回通往虚拟资源的句柄而解析名称解析请求。该方法在808处结束。图9是用以使用名称解析来供应虚拟资源的方法的第六示例性实施例的流程图。 该方法可以由名称解析单元来执行,该名称解析单元诸如图1中的名称解析单元102、图2 中的名称解析单元204或者图3中的名称解析单元314。在902,接收指令和数据串。该数据串包括资源标识符、一个或多个资源属性以及 供应系统指示符。继续到904,生成去往云计算系统的请求,以创建具有该一个或多个资源 属性的虚拟资源。前行到906,使用资源标识符来实现对虚拟资源的访问。前进到908,独 立于图形用户接口而向供应系统发送请求。该方法在910处结束。图10是其中可以实现本公开的系统和方法的计算系统的框图。计算系统1000包 括名称解析单元示例,诸如图1中的名称解析单元102或者图2中的名称解析单元204,其 中可执行计算机可用代码或指令以实现图2中的名称解析模块208、命令接口 206以及供应 系统接口。在所示的示例中,计算系统1000包括处理器1006、主存储器1008、诸如键盘或鼠 标之类的输入设备1024、显示设备1022以及网络适配器1012。网络适配器1012耦合至远 程计算系统1040,诸如图1中的云计算系统106。网络适配器1012还耦合至客户端1042, 诸如图1中的客户端104。主存储器1008包括安装到计算机可读介质上的计算机指令。主存储器1008包括 第一程序指令1044,用以接收指令1052和数据串1054,该数据串包括资源标识符(未示 出)和一个或多个资源属性(未示出)。主存储器1008还包括第二程序指令1046,用以 生成去往远程计算系统1040的请求1056,以创建具有该一个或多个资源属性的虚拟资源 1058。主存储器1008还包括第三程序指令1048,用以实现使用资源标识符来对虚拟资源 1058进行访问。去往远程计算系统1040的请求1056还包括对针对按需计算资源系统的供应系统 的应用编程接口(API)的至少一个命令。在图10中,API和按需计算资源系统包括在远程 计算系统1040中,因此未示出。按需计算资源系统包括在数据中心处的至少一组联网的计 算机,该数据中心具有远程用户可用作按需供应的虚拟资源的处理资源。主存储器1008还 包括第四程序指令1050,用以独立于图形用户接口而向供应系统发送请求1056。操作系统(未示出)运行于处理器1006上,并且协调和提供对计算系统 1000内的各种组件的控制。该操作系统可以是可通过商业途径获得的操作系统,诸如 Microsoft Windows XP (Microsoft和Windows是微软公司在美国、其他国家或者这两者中的商标)。面向对象的编程系统,诸如Java 编程系统,可以结合该操作系统而运 行,并且提供从在计算系统1000上执行的Java程序或应用对该操作系统的调用(Java和 所有基于Java的商标是Sim微系统公司在美国、其他国家或者这两者中的商标)。计算系统1000中的硬件可以依赖于实现而改变。其他内部硬件或外围设备,诸如 闪存、等同的非易失性存储器或者光盘驱动器等,可以用于计算系统1000,但为便于说明, 在图10中未示出。另外,所公开的示例性实施例的处理可以应用于多处理器数据处理系 统。图10中所示并在上面描述的示例并非意在暗示体系结构上的限制。例如,计算系 统1000的多个部分还可以以个人计算机、服务器、服务器集群、平板计算机、笔记本计算机 或者电话设备来实现。计算系统1000的特定实施例可以采取完全硬件实施例、完全软件实施例或者包 含硬件和软件单元这两者的实施例的形式。在特定实施例中,所公开的方法以嵌入在处理 器可读介质中并且由处理器执行的软件来实现,该软件包括但不限于固件、驻留软件、微代
码,等等。另外,本公开的实施例,诸如图1-图10中的一个或多个实施例,可以采取可从计 算机可用介质或计算机可读介质访问的计算机程序产品的形式,该计算机可用介质或计算 机可读介质提供程序代码以供计算机或任何指令执行系统使用或者结合计算机或任何指 令执行系统使用。出于本说明书的目的,计算机可用介质或计算机可读介质可以是能够具 体体现计算机程序并且能够包含、存储、传送、传播或者传输程序以供指令执行系统、装置 或设备使用或者结合指令执行系统、装置或设备使用的装置。在各种实施例中,该介质可以包括电子、磁、光、电磁、红外或半导体系统(或者装 置或设备)或者传播介质。计算机可读介质的示例包括半导体或固态存储器、磁带、可移除 计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前示例包 括压缩盘-只读存储器(⑶-ROM)、压缩盘-读/写(⑶-R/W)以及数字多功能盘(DVD)。适合于存储和/或执行程序代码的数据处理系统可以包括直接地或间接地通过 系统总线耦合至存储器元件的至少一个处理器。存储器元件可以包括在实际执行程序代码 期间采用的本地存储器、大容量存储设备以及高速缓存存储器,高速缓存存储器提供至少 一些程序代码的临时存储以便减少在执行期间必须从大容量存储设备获取代码的次数。输入/输出或I/O设备(包括但不限于键盘、显示器、指示设备,等等)可以直接 地或者通过中间I/O控制器耦合至数据处理系统。网络适配器也可以耦合至数据处理系统以使得数据处理系统能够变为通过中间 专用网络或公共网络耦合至其他数据处理系统或者远程打印机或存储设备。调制解调器、 线缆调制解调器以及以太网卡仅为少量当前可用类型的网络适配器。提供了对所公开实施例的以上描述以使得本领域技术人员能够实现或使用所公 开的实施例。对这些实施例的各种修改对于本领域技术人员来说是相当明显的,并且在不 脱离本发明范围的情况下,在此定义的一般原理可以应用于其他实施例。由此,本公开并非 旨在限于在此示出的实施例,而是符合与由所附权利要求书所限定的原理和特征一致的可 能的最宽范围。
权利要求
1.一种方法,包括在形成通往计算资源供应系统的接口的名称解析单元处接收指令和数据串,所述数据 串包括资源标识符和一个或多个资源属性;在所述名称解析单元处解析所述数据串,以提取所述资源标识符和所述一个或多个资 源属性,并确定所述资源标识符是否标识了先前供应的资源的名称;当所述名称解析单元确定所述资源标识符并不标识先前供应的资源时,向所述计算资 源供应系统提供所述资源标识符和所述一个或多个资源属性,其中所述计算资源供应系统 供应对应于所述资源标识符并且具有所述一个或多个资源属性的资源;返回句柄,以在耦合至所述接口的客户端系统处执行所述指令期间提供对所述资源的 访问;以及当所述名称解析单元确定所述资源标识符标识了先前供应的资源时,返回句柄,以在 耦合至所述接口的客户端系统处执行所述指令期间提供对所述资源的访问。
2.根据权利要求1所述的方法,其中所述计算资源供应系统通过创建云计算系统的 虚拟资源来供应所述资源,所述虚拟资源与所述云计算系统的至少一个可用物理资源相关 联,所述可用物理资源具有所述一个或多个资源属性,并且其中所述云计算系统包括订户 可按需访问的多个联网的计算机系统。
3.根据权利要求1所述的方法,其中所述资源是与多处理单元计算机系统处的至少一 个物理处理单元相关联的逻辑处理资源。
4.根据权利要求1所述的方法,其中所述资源是与至少一个物理存储设备相关联的逻 辑存储器资源。
5.根据权利要求1所述的方法,进一步包括向所述计算资源供应系统提供用户标识符或账户标识符中的至少一个,并且其中所述 句柄包括所述用户标识符或所述账户标识符。
6.根据权利要求1所述的方法,其中所述计算资源供应系统配置为响应于供应请求而 动态地分配联网的多计算机系统的物理计算资源。
7.根据权利要求1所述的方法,其中所述资源标识符和所述至少一个是经由所述计算 资源供应系统的应用编程接口(API)向所述计算资源供应系统提供的,并且所述方法进一 步包括接收域名系统(DNS)地址以访问所述资源;以及存储所述DNS地址;响应于包括所述句柄的查找操作而获取所述DNS地址。
8.一种系统,包括适于执行根据任一前述方法权利要求的方法的所有步骤的装置。
9.一种计算机程序,包括当所述计算机程序在计算机系统上执行时,用于执行根据任 一前述方法权利要求的方法的所有步骤的指令。
全文摘要
一种包括资源标识符和一个或多个资源属性的数据串在名称解析模块处被解析,并被提供给计算资源供应系统。计算资源供应系统供应对应于资源标识符和具有该至少一个的资源。返回句柄以提供在客户端系统处对资源的访问。
文档编号G06F9/50GK102132256SQ200980133433
公开日2011年7月20日 申请日期2009年8月19日 优先权日2008年8月25日
发明者E·范赫恩斯伯根 申请人:国际商业机器公司