将附加的存储空间供应至计算机应用程序的方法

文档序号:6352496阅读:165来源:国知局
专利名称:将附加的存储空间供应至计算机应用程序的方法
将附加的存储空间供应至计算机应用程序的方法
背景技术
计算机在现今的办公室中流行的原因之一是可采用多种方式简化人工任务的大范围的多样计算机应用程序的可用性。从简单的计算器应用程序至ERP (企业资源计划)软件,计算机应用程序在其对企业的有用性方面已经取得很大进展。然而,随着组织日益变得依赖于计算机来组织其工作,这些任务的维持中涉及的计算机应用程序的数目已经增长许多倍。到这种程度以至于这些计算机应用程序的存储已经变成任务本身。在典型的情形中,组织中采用的计算机应用程序寄宿在各种计算机服务器上。这些计算机服务器也被称为主计算机。一般地,计算机服务器具有用于寄住单个或多个计算机应用程序的大存储区域。随着需要由企业存储和管理的计算机应用程序的不断增长,行业迅速形成以下思想:建立大型数据中心来寄住其应用程序和关联数据。数据中心的主要目的之一是:运行对组织的核心商业和运行数据进行处理的应用程序。为此目的,可以使大量计算机服务器参与进来。管理计算机应用程序在这些服务器上的存储是不轻松的任务。


为了更好地理解解决方案,现在将参照附图仅以示例的方式描述实施例,在附图中:
图1是示出了根据实施例的存储系统的示意框图。图2是示出了根据实施例的存储服务器系统的示意框图。图3示出了根据实施例的用于将附加的存储空间供应至计算机应用程序的计算机实现的方法的流程图。
具体实施例方式如前所述,管理计算机服务器或存储设备上的大量计算机应用程序是不简单的任务。存储空间始终是这些应用程序的关键资源。可能的情况是,计算机应用程序可能在任何时间点处耗尽存储空间。这可能导致对企业的显著损失,尤其是在发生故障的计算机应用程序碰巧是对商业运营的运行来说关键的核心应用程序的情况下。例如,如果在线书店的负责在在线购买之前获得和存储客户数据的客户数据应用程序耗尽了存储空间,则这可能导致商业的收益和利润的显著损失。因此,有规律地针对计算机应用程序的利用和它们的存储需要的需求监视这些计算机应用程序是至关重要的。对大量计算机应用程序的存储要求的手动检验是困难且耗时的任务。在一些情况下,实际上这是持续不可能的。提出了一种减轻将存储空间供应至计算机应用程序的现有技术限制的解决方案。本解决方案的实施例提供了用于将附加的存储空间供应至计算机应用程序的方法和系统。以下在SRM (存储资源管理)应用程序的情形下,作为示例示出了所提出的解决方案。然而,该解决方案可以被实现为独立的应用或者结合其他的计算机应用程序而被实现。图1是示出了根据实施例的存储系统100的示意框图。存储系统100包括存储资源管理器服务器110、存储设备120、130、140和客户端计算机系统150、160。存储资源管理器服务器110通过网络连接至存储设备120、130、140和客户端计算机系统150、160,该网络可以是有线的或无线的。该网络可以是公用网络(诸如互联网)或专用网络(诸如内联网)。与存储资源管理器服务器110相连接的存储设备120、130、140和客户端计算机系统150、160的数目和类型仅出于示意的目的。存储系统100可以包括任何数目和类型的存储服务器和客户端计算机系统。存储资源管理器服务器110负责监视和供应存储设备120、130、140中的存储空间。其可以响应于来自客户端计算机系统150、160的计算机应用程序或用户的请求而将附加的存储空间分配给计算机应用程序。存储资源管理器服务器110还可以包括用于存储各种类型的策略的数据库,这些策略可以是内部组织策略或外部客户端专用策略。客户端计算机系统150、160可以是任何类型的计算设备,诸如但不限于个人计算机、台式计算机、膝上型计算机、笔记本计算机、网络计算机、路由器、交换机、个人数字助理(PDA)、移动设备、手持设备或者任何其他合适的计算设备。客户端计算机系统150、160可以作为单个或多个计算机应用程序的宿主。客户端计算机系统150、160可以请求存储资源管理器服务器110为一个或多个计算机应用程序分配或供应存储设备120、130、140中的内存。存储设备120、130、140可以是对(一个或多个)计算机服务器来说可访问的任何存储设备,诸如但不限于盘阵列、带库、光学光盘机(optical jukebox)等。典型地,存储区域网络(SAN)使用网络将这样的存储设备合并在一起。在一实施例中,存储设备120、130、140是包含多个盘驱动器的盘阵列。图2是示出了图1的存储服务器系统110的一实施例的示意框图。存储服务器系统200可以是服务于其他客户端计算机系统或应用程序的需要或请求的任何软件/硬件系统。其可以通过有线或无线手段连接至其他计算设备。存储服务器系统200包括输入设备210、处理器220和存储器230。这些组件可以通过系统总线240耦合在一起。在一实施例中,存储服务器系统200是存储资源管理器(SRM)系统。输入设备210可以包括鼠标、键区、触摸板或屏、语音识别器等。输入设备可以尤其用于由用户提供(一个或多个)计算机应用程序的最小存储要求并定义适用于计算机应用程序的存储策略。处理器220用于执行机器可读指令。在一实施例中,机器可读指令可以尤其包括用于执行以下操作的指令:监视计算机应用程序的存储使用以查明何时达到计算机应用程序的最小存储要求;识别适用于计算机应用程序的存储策略;以及一旦达到计算机应用程序的最小存储要求,就基于适用于计算机应用程序的存储策略将附加的存储空间供应至计算机应用程序。存储器230可以包括计算机系统存储器(诸如但不限于SDRAM (同步DRAM)、DDR(双数据速率SDRAM)、Rambus (存储器总线)DRAM (RDRAM)、Rambus RAM等)或存储器存储介质(诸如软盘、硬盘、CD-ROM、DVD、笔式驱动器等)。在一实施例中,存储器230可以存储SRM (存储资源管理)应用程序。典型地,SRM应用程序负责优化在存储区域网络(SAN)中利用可用驱动空间的效率和速度。SRM应用程序识别未充分利用的存储资源并帮助预测未来的存储需求。
此外,在一实施例中,假定SRM应用程序具有以下能力。第一,该应用程序能够发现主机及它们的如LUN (逻辑单元号)的存储细节、这些LUN从其被分配的存储系统、来自SAN的连接细节(如构造、交换机、端口等)。第二,该应用程序能够使用应用程序发现代理来发现应用程序(文件系统、数据库等)和从SAN指派给这些应用程序的LUN、发现所使用的空间和自由空间等。第三,该应用程序具有策略管理器组件或模块。第四,该应用程序能够具有用于从各种存储阵列供应存储空间的API (应用程序编程接口)。存储器230可以包括评估模块232、监视模块234、策略模块236和供应模块238。在一实施例中,上述模块可以形成SRM应用程序的一部分。如本文所使用的,术语“模块”意指但不限于软件或硬件组件。作为示例,模块可以包括诸如软件组件、处理、功能、属性、过程、驱动器、固件、数据、数据库和数据结构的组件。模块可以驻留在易失性或非易失性存储介质上,并被配置为与计算机系统的处理器交互。评估模块232负责确定可寄住在客户端计算机系统150、160上的计算机应用程序的存储要求。评估模块232确定在任何给定时间点处对计算机应用程序来说必须可用的自由空间的最小值或百分比。每个计算机应用程序可以具有不同的空间需求。此外,所需的空间的量可以基于组织的策略或客户需要而变化。拓扑管理器(模块)与API (应用程序编程接口)层一起可以帮助评估模块确定(一个或多个)计算机应用程序的存储空间要求。拓扑管理器提供从应用程序至存储LUN的细节,如存储供给链。这可以由提供给其的主机容量、HBA、构造连接、存储LUN构成。SRM应用程序中的API层以可配置的时间间隔发现每个所管理的单元的数据,并将其存储在数据库中。其提供用户可使用其来获取与所管理的资源有关的细节的API层。例如,如GetAllStorageSystems O的调用将报告SRM应用程序所发现的所有存储系统。对于如应用程序的每个所管理的实体,API将报告所分配的存储量、所使用的空间和自由空间等等。类似地,为了从所管理的存储阵列供应新的存储空间,SRM解决方案可以具有用于供应的API层。此外,应用程序所需的空间的量可以是由该应用程序自身设置的缺省值,或者该值可以由用户(例如,管理员)指定。在该值要由用户定义的情况下,存储服务器(例如,SRM服务器或系统)可以包含用于提供该值的用户界面。监视模块234负责监视一个或多个计算机应用程序所利用的存储空间。其监视对(一个或多个)计算机应用程序来说可用的当前自由空间。监视可以针对计算机应用程序所需的、如评估模块先前确定的最小自由空间而进行。策略模块236维持用于管理在存储设备(例如,存储设备120、130、140)上将存储空间向一个或多个计算机应用程序分派的策略。策略模块还可以被称作策略管理器。其充当策略的评估引擎。用户可以定义由策略管理器监视的各种策略。当满足针对特定策略的条件时,则与该策略相关联的动作将由策略管理器来执行。为了清楚起见,可以将策略定义为与(一个或多个)动作相关联的(一个或多个)条件。当针对特定策略的条件为真时,则与该策略相关联的(一个或多个)动作例如由策略模块或策略管理器来执行。供应模块238负责由于达到计算机应用程序的最小存储要求且当达到计算机应用程序的最小存储要求时将存储空间供应至(一个或多个)计算机应用程序。如果在监视时,监视模块234得到应用程序已达到先前确定的临界自由空间极限的结论,则监视模块将检验策略模块236以确定适用的策略。策略模块236将继而建议供应模块遵循该策略。例如,如果该策略声明要将附加的空间分配给计算机应用程序,那么一旦其存储空间要求达到一定的最小水平,供应模块238就会相应地将附加空间供应至计算机应用程序。供应模块可以从存储设备120、130、140或具有自由空间的任何其他存储系统(未示出)供应附加的存储空间。在SRM应用程序的情形下,供应可以涉及在没有用户的介入的情况下自动使用SRM API的以下步骤序列。第一,访问策略模块,以获得与计算机应用程序的存储相关的策略。识别要从其供应存储空间的存储设备(例如,存储阵列)。如果第一存储设备不具有可用的足够自由空间,则从先前识别的下一存储设备进行供应。第二,使用SRM应用程序提供的API来创建存储设备上的LUN。第三,使用LUN屏蔽和映射操作将新的LUN指派给主机。在主机中可见的新LUN被称为主机LUN。第四,创建分区配置。第五,激活新的分区配置。最后,将主机LUN指派给该应用程序。将意识到,图2中所示的系统组件仅出于示意的目的,并且实际组件可以根据针对本解决方案的实施而部署的计算系统和架构而变化。上述各个组件可以寄住在通过合适的手段连接在一起的多个计算机系统(包括多个服务器)或单个计算系统上。图3示出了根据一实施例的用于将附加的存储空间供应至计算机应用程序的计算机实现的方法的流程图。在一实施例中,该方法可以在存储服务器110上实现。该方法可以以确定驻留在与存储服务器110相连接的主计算机150 (客户端计算机系统)上的计算机应用程序的最小存储要求为开始(步骤310)。如果存在驻留在一个或多个主机150、160上的多个计算机应用程序,则该步骤将涉及针对计算机应用程序中的每一个确定最小存储要求。评估模块可以确定在任何给定时间点处对计算机应用程序来说必须可用的自由空间的最小值或百分比。一旦已经确定了(一个或多个)计算机应用程序的最小存储要求,就监视(一个或多个)计算机应用程序的存储使用,以查明是否已达到(一个或多个)计算机应用程序的最小存储要求(步骤320)。该监视可以由存储服务器周期性地或连续地进行。如果确定了(一个或多个)计算机应用程序已达到最小存储要求,则该方法识别适用于该计算机应用程序的存储策略(步骤330)。每个计算机应用程序的存储策略可以是预先明确定义的。存储策略管理在存储设备上存储空间(或者附加的存储空间)向一个或多个计算机应用程序的分派。用户可以定义适用于计算机应用程序的存储策略。在一实施例中,存储策略可以适用于多于一个的计算机应用程序或者一组计算机应用程序。此外,可以基于以下各项将计算机应用程序分组在一起:计算机应用程序的类型、与计算机应用程序相关联的用户、服务级别协议(SLA)和/或组织的策略。还可以在存储策略中定义应用程序和适用的存储设备的分组的基础。当满足针对特定策略的条件时,则实行与该策略相关联的动作。步骤340涉及:一旦达到计算机应用程序的最小存储要求,就将附加的存储空间供应至计算机应用程序。基于适用于计算机应用程序的存储策略将附加的存储空间供应至计算机应用程序。可以在至少一个存储设备120、130、140上供应附加的存储空间。存储策略还可以指定要在哪个存储设备上进行附加存储空间的供应。此外,该策略还可以基于可用存储设备的成本来对可用存储设备进行分类。在一个示例中,可以基于存储设备的成本将附加存储空间供应至计算机应用程序。在另一实施例中,将附加存储空间供应至计算机应用程序可以是根据该计算机应用程序的关键程度来进行的。例如,较不关键的应用程序(对商业的功能来说不核心)可以被给予低成本存储设备上的附加存储空间。另一方面,相对较关键的应用程序(对商业的功能来说是核心的)可以被给予高成本存储设备上的附加存储空间。所描述的实施例提供了用于例如在数据中心环境中将存储空间指派给计算机应用程序的有效机制。通过利用所提出的解决方案增强例如SRM应用程序,企业可以通过减少关键应用程序的停工时间和对存储资源的适当利用而受益。这可以节约与存储相关联的成本并提供对投资的更好回报。将意识到,可以以包括计算机可执行指令(诸如程序代码)的计算机程序产品的形式实现本解决方案的范围内的实施例,这些计算机可执行指令可以结合合适的操作系统(诸如Microsoft Windows、Linux或UNIX操作系统)运行在任何合适的计算环境上。本解决方案的范围内的实施例还可以包括程序产品,这些程序产品包括用于承载计算机可执行指令或数据结构或者使计算机可执行指令或数据结构存储于其上的计算机可读介质。这种计算机可读介质可以是可由通用或专用计算机访问的任何可用介质。作为示例,这种计算机可读介质可以包括RAM、ROM、EPROM、EEPROM、CD-ROM、磁盘存储器或其他存储设备、或者可以用于以计算机可执行指令的形式承载或存储期望的程序代码且可以由通用或专用计算机访问的任何其他介质。应当注意,本解决方案的上述实施例仅出于示意的目的。尽管已结合该解决方案的具体实施例描述了该解决方案,但是本领域技术人员将意识到,在不实质上脱离本文描述的主题的教导和优势的前提下,许多修改是可能的。在不脱离本解决方案的精神的前提下,可以进行其他替代、修改和改变。
权利要求
1.一种将附加存储空间供应至计算机应用程序的计算机实现的方法,包括: 监视所述计算机应用程序的存储使用,以查明何时达到所述计算机应用程序的最小存储要求;以及 一旦达到所述计算机应用程序的最小存储要求,就基于适用于所述计算机应用程序的存储策略将附加存储空间供应至所述计算机应用程序。
2.根据权利要求1所述的方法,还包括:在监视步骤之前,确定所述计算机应用程序的最小存储要求。
3.根据权利要求2所述的方法,其中,所述确定涉及:从所述计算机应用程序的用户或者从所述计算机应用程序自身获得最小存储要求。
4.根据权利要求1所述的方法,还包括:在供应步骤之前,识别适用于所述计算机应用程序的存储策略。
5.根据权利要求1所述的方法,其中,所述存储策略可适用于多于一个的计算机应用程序或一组计算机应用程序。
6.根据权利要求5所述的方法,其中,基于以下各项将所述计算机应用程序分组在一起:计算机应用程序的类型、与所述计算机应用程序相关联的用户和/或组织的策略。
7.根据权利要求1所述的方法,其中,将附加存储空间供应至所述计算机应用程序是在至少一个存储设备上进行的,所述至少一个存储设备被标识在适用于所述计算机应用程序的存储策略中。
8.根据权利要求7所述的方法,其中,所述至少一个存储设备是基于其成本被分类的,并且基于所述存储设备的成本将所述附加存储空间供应至计算机应用程序。
9.根据权利要求7所述的方法,其中,在至少一个存储设备上将附加存储空间供应至所述计算机应用程序是基于所述计算机应用程序的关键程度。
10.一种用于将附加存储空间供应至计算机应用程序的系统,包括: 存储器,用于存储机器可读指令;以及 处理器,用于执行所述机器可读指令,所述机器可读指令包括: 监视模块,用于监视所述计算机应用程序的存储使用,以查明何时达到所述计算机应用程序的最小存储要求;以及 供应模块,用于一旦达到所述计算机应用程序的最小存储要求,就基于适用于所述计算机应用程序的存储策略将附加存储空间供应至所述计算机应用程序。
11.根据权利要求10所述的系统,其中,所述机器可读指令还包括用于识别适用于所述计算机应用程序的存储策略的策略模块。
12.根据权利要求10所述的系统,还包括用于获得所述计算机应用程序的最小存储要求的输入设备。
13.根据权利要求10所述的系统,其中,所述系统是存储服务器,其被布置为一旦达到计算机应用程序的最小存储要求,就基于适用于所述计算机应用程序的存储策略将附加存储空间供应至所述计算机应用程序。
14.一种包括计算机可读装置的计算机程序,所述计算机程序被适配为当在计算机系统上运行所述程序时执行根据权利要求1所述的方法。
15.根据权利要求14所述的计算机程序,所述计算机程序被包含在计算机可读存储介质上。
全文摘要
本发明提供了一种将附加存储空间供应至计算机应用程序的方法。监视计算机应用程序的存储使用,以查明何时达到计算机应用程序的最小存储要求。一旦达到了计算机应用程序的最小存储要求,就基于适用于计算机应用程序的存储策略将附加存储空间供应至计算机应用程序。
文档编号G06F12/00GK103189850SQ201080070088
公开日2013年7月3日 申请日期2010年12月20日 优先权日2010年12月20日
发明者N.R.查拉, S.耶图库里, M.S.萨达尔 申请人:惠普发展公司,有限责任合伙企业
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1