首页> 中国专利> 分析启动的预测性故障和SMART日志

分析启动的预测性故障和SMART日志

摘要

分析启动的预测性故障和SMART日志。一个方面包括从多个盘设备接收包括数据的驱动器日志页面,其中驱动器日志页面包括多个属性字段,多个属性字段包括重新分配字段,重新分配字段跟踪从盘设备的故障扇区到盘设备的新扇区的数据移动。由系统根据驱动器日志页面的属性数据执行故障预测,以识别多个盘设备中的被预测为发生故障的一个或多个盘设备。由系统响应于故障预测而禁用一个或多个磁盘设备。

著录项

  • 公开/公告号CN112416700A

    专利类型发明专利

  • 公开/公告日2021-02-26

    原文格式PDF

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

    申请/专利号CN202010788202.2

  • 申请日2020-08-07

  • 分类号G06F11/30(20060101);G06F11/34(20060101);

  • 代理机构11038 中国贸促会专利商标事务所有限公司;

  • 代理人郑宗玉

  • 地址 美国纽约

  • 入库时间 2023-06-19 10:02:03

说明书

技术领域

本发明总体上涉及预测盘设备故障,并且更具体地,涉及基于分析启动的预测性故障(AIPFA)分析和驱动器日志页面的属性(诸如例如,自我监测、分析和报告技术(SMART)日志的属性)来预测盘设备故障。

背景技术

短语“机器学习”广义地描述了从数据中学习的电子系统的功能。机器学习系统、引擎或模块可以包括可训练的机器学习算法,该机器学习算法可以例如在外部云环境中被训练以学习输入和输出之间的功能关系,其中所述功能关系当前是未知的。

SMART广义上是指盘驱动器和驱动器控制器之间的接口的功能,其中驱动器控制器通过SMART接口以属性的形式从盘驱动器接收信息。

发明内容

本发明的实施例提供了一种用于基于AIPFA分析和驱动器日志页面的属性(诸如例如SMART日志的属性)进行盘设备故障预测的计算机实现的方法。一种非限制性示例的计算机实现的方法包括:由包括一个或多个处理器的系统接收驱动器日志页面,所述驱动器日志页面包括来自多个盘设备的数据,其中所述驱动器日志页面包括多个属性字段,所述多个属性字段包括重新分配字段,所述重新分配字段跟踪从盘设备的故障扇区到盘设备的新扇区的数据移动。所述方法包括由系统基于驱动器日志页面的属性数据执行故障预测,以识别所述多个盘设备中的被预测为发生故障的一个或多个盘设备。所述方法包括由系统响应于所述故障预测而禁用所述一个或多个盘设备。

本发明的其他实施例以计算机系统和计算机程序产品来实现上述方法的特征。

通过本发明的技术实现了附加的技术特征和益处。本发明的各实施例和各方面在本文中被详细描述,并且被视为所要求保护的主题的一部分。为了更好的理解,请参考详细描述和附图。

附图说明

在说明书的结尾处的权利要求书中特别地指出并且明确地要求保护本文中所述的专有权的细节。从以下结合附图进行的详细描述中,本发明的实施例的前述以及其他特征和优点将变得明显,在附图中:

图1描绘根据本发明的一个或多个实施例的示例分布式环境的框图;

图2A-图2C组合描绘根据本发明的一个或多个实施例的示例SMART日志。

图3描绘根据本发明的一个或多个实施例的示例分析环境的系统架构;

图4描绘示出根据本发明的一个或多个实施例的方法的流程图;

图5描绘根据本发明的一个或多个实施例的云计算环境;

图6描绘根据本发明的一个或多个实施例的抽象模型层;以及

图7描绘能够实现本发明的一个或多个实施例的示例性计算机系统。

本文中所描绘的图是说明性的。在不偏离本发明的精神的情况下,本文中描述的图或操作可以有许多变型。例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。另外,术语“耦合”及其变型描述了在两个元件之间具有通信路径,并且并不意味着元件之间的直接连接而在元件之间没有中间元件/连接。所有这些变型均被视为说明书的一部分。

具体实施方式

本发明的一个或多个实施例提供了一种驱动器分析系统,该驱动器分析系统以流线型(stream-lined)的方式收集为预测分析所需要的关键数据,其中基于为预测现场的当前故障所需要的新数据来选择关键字段以添加到改进的驱动器日志页面(诸如例如自我监测、分析和报告技术(SMART)日志页面)。已添加的新字段的示例是“包括待决的重新分配在内的重新分配”字段(即重新分配字段),该重新分配字段是除了其他方面之外还可以用来预测在过去两年导致客户数据丢失的前三个驱动器的故障的关键数据。该系统可以每周(心跳)从驱动器收集数据,并且将该数据传递到数据保持系统,以及分析系统可以从数据保持系统拉取数据以进行分析。然后,对所有驱动器上的所有数据进行趋势分析,以及如果部件发生故障,则导致故障的数据将被分析系统使用,以了解如何识别其他可能发生故障的驱动器。来自所有驱动器中的数据都用于分析,而不仅仅是发生故障的驱动器。分析系统可能会禁用它已预测可能发生故障的驱动器。在本发明的一些实施例中,禁用包括经由电子和/或物理移除来移除驱动器。关于“包括待决的重新分配在内的重新分配”字段,在盘的一小部分损坏的情况下,可能会发生“重新分配”。预留了备用扇区来处理该错误,并且将数据“重新分配”到备用扇区之一。当数据尚未被重新分配时,发生“待决的重新分配”。例如,在驱动器已识别出损坏区域但是驱动器尚未接收到要存储在新位置中的新数据的情况下,可能会发生“待决的重新分配”。换句话说,重新分配字段跟踪需要将数据从边际(marginal)扇区移动到盘设备的新扇区的频率。

当代分析系统使用预定义的参数集合来预测驱动器故障,这些参数是在系统或固件设计级别设置的。因此,基于在现场实时识别的问题来更新那些系统可能既耗时又效率低下。

类似地,当代系统采用属性的SMART日志捕获。然而,由于这些SMART日志中捕获的数据范围有限,因此这些现代系统提供了不准确的结果。这些系统当前没有使用基于相关部件的全局安装来进行用于系统的故障预测的SMART分析。而是,这些系统采用预测算法,该预测算法受到在产品发布或代码更新时当前已知的驱动器信息的限制。

当代系统具有几个缺点。首先,一些当代系统要求从驱动器设备中检索完整的系统日志,然后日志被完整地解析,与将要在下面更详细地描述的更新的SMART日志相比,这既耗时又不太紧凑。

本发明的一个或多个实施例通过提供如下分析系统来解决现有技术的上述缺点中的一个或多个缺点,在数据被传送到分析系统之前,该分析系统依赖于驱动器将数据压缩到驱动器日志页面(诸如例如SMART日志)中。然后,分析系统实时地利用数据来预测故障或驱动器,和/或无需人工参与即可提供给系统。所收集的数据可用于更快地隔离全局问题,并且关于是否将驱动器用于特定应用做出实时决定。在本发明的一些实施例中,故障预测和反馈的改进的处理极大地减少了计划外的系统中断的数量和时长。在本发明的一些实施例中,分析系统被配置为响应于预测驱动器可能发生故障而在方便的时间禁用(例如,移除)驱动器,而不是在重要操作期间使多个驱动器同时发生故障,这可能导致数据丢失、系统停机或系统变慢。

现在转向图1,示出了用于执行盘驱动器故障预测的示例分布式环境100。分布式环境100包括经由网络106互连的一个或多个用户设备102和分析系统104。图1仅提供了一个示例系统的图示,并且没有暗示对可以实现本发明的不同实施例的其他系统的任何限制。在不偏离权利要求所记载的本发明的范围的情况下,本领域技术人员可以对所描绘的环境进行各种适当的修改。

分析系统104包括预测组件108、消息传递组件110、机器学习组件112和/或一个或多个数据库114。在本发明的一些实施例中,预测组件108、消息传递组件110、机器学习组件112和/或数据库114经由诸如图7中所示的通信基础设施和/或通信路径互连。分析系统104可以具有内部和外部硬件组件,诸如下面关于图7所描绘和描述的那些组件。

分析系统104是机器学习系统,该机器学习系统可用于解决与技术有关的各种技术问题(例如,学习先前未知的功能关系),所述技术例如是但不限于机器学习技术、视频处理技术、虚拟现实技术、数据分析技术、数据分类技术、数据聚类技术、推荐系统技术、信号处理技术、文本分析技术和/或其他数字技术。分析系统104采用硬件和/或软件来解决本质上是高度技术性的、不是抽象的并且不能作为人类的一组精神行为来执行的问题。

在本发明的某些实施例中,由分析系统104执行的一些或全部处理由一个或多个专用计算机来执行,以用于执行与机器学习有关的所定义的任务。在本发明的一些实施例中,采用分析系统104和/或系统的组件来解决由于上述技术的进步而出现的新问题。

机器学习经常被许多技术用来确定数字数据之间的关系和/或推论。例如,机器学习技术、信号处理技术、图像处理技术、数据分析技术和/或其他技术采用机器学习模型来分析数字数据,处理数字数据,根据数字数据确定推论和/或确定数字数据之间的关系。机器学习功能可以使用人工神经网络(ANN)来实现,人工神经网络(ANN)具有被训练为执行当前未知功能的能力。在机器学习和认知科学中,ANN是受到动物特别是大脑的生物神经网络启发的一系列统计学习模型。ANN可以用来估计或近似依赖于大量输入的系统和功能。

ANN可以被实现为互连的处理器元件的所谓的“神经形态”系统,所述处理器元件充当模拟的“神经元”并且以电子信号的形式在彼此之间交换“消息”。类似于在生物神经元之间传递消息的突触神经递质连接的所谓的“可塑性”,ANN中的在模拟的神经元之间传递电子消息的连接被提供有与给定连接的强弱相对应的数字权重。可以基于经验来调整和调节权重,从而使ANN适应输入并且能够学习。例如,用于手写识别的ANN由可以被输入图像的像素激活的输入神经元集合来定义。在被由网络设计者确定的函数加权和转换后,这些输入神经元的激活然后被传递给其他下游神经元,这些下游神经元通常被称为“隐藏”神经元。重复该处理,直到输出神经元被激活为止。激活的输出神经元确定哪个字符被读取。

在本发明的一些实施例中,分析系统104是独立的计算设备、管理服务器、网络(web)服务器、移动计算设备或其他能够接收、发送和处理数据的合适的电子设备和/或计算系统。在本发明的一些实施例中,分析系统104是例如在云计算环境50中的利用多个计算机的服务器计算系统。在本发明的一些实施例中,分析系统104是膝上型计算机、平板计算机、上网本计算机、个人计算机(PC)、台式计算机、个人数字助理(PDA)、智能电话或其他能够经由网络106与分布式环境100中的用户设备102和其他计算设备(未示出)进行通信的合适的可编程电子设备。在本发明的一些实施例中,分析系统104是利用集群计算机和组件(例如,数据库服务器计算机、应用服务器计算机等)的计算系统,所述集群计算机和组件充当可在分布式环境100中访问的无缝资源的单个池。分析系统104可以具有内部和外部硬件组件,例如下面关于图7所描绘和描述的那些组件。

网络106可以是例如电信网络、局域网(LAN)、诸如因特网之类的广域网(WAN)或这三者的组合,并且可以包括有线、无线或光纤连接。网络406可以包括一个或多个有线和/或无线网络,其能够接收和发送数据、语音和/或视频信号,包括多媒体信号,多媒体信号包括语音、数据和视频信息。一般而言,网络406可以是可以支持用户设备102与分析系统104和/或分布式环境100内的其他计算设备(未示出)之间的通信的连接和协议的任何合适的组合。在本发明的一些实施例中,分布式环境100被实现为诸如云计算环境50(图5)之类的云计算环境的一部分。

用户设备102被配置为基于由用户设备102的一个或多个盘设备(例如,驱动器)生成的驱动器数据来生成和传送驱动器日志页面,诸如例如SMART日志。在本发明的一些实施例中,用户设备102是盘设备、膝上型计算机、平板计算机、上网本计算机、个人计算机(PC)、台式计算机、个人数字助理(PDA)、智能电话、物联网(IoT)使能的设备、VR/增强现实(AR)显示设备和/或其他能够与分布式环境400中的各种组件和设备进行通信的合适的可编程电子设备。在本发明的一些实施例中,用户设备102包括两个或更多个单独的设备。在本发明的一些实施例中,用户设备102是可编程电子移动设备或可编程电子移动设备的组合,其能够执行机器可读程序指令并且与分布式环境100内的其他计算设备(未示出)进行通信。在本发明的一些实施例中,用户设备102可以包括内部和外部硬件组件,诸如下面关于图7所描绘和描述的那些组件。

总体上,在本发明的一些实施例中,分析系统104是基于认知的工具,其被配置为从客户收集数据并且利用分析来向用户发送通知以向用户通知问题。分析系统104基于新数据(例如,客户系统、用户设备等)识别导致用户站点处的故障或问题的使用模式。分析系统104识别包括将导致故障(即,预测性故障)的使用模式的系统。分析系统104基于识别可以通过分析来触发但是在设计时或者在编写固件时没有被预定义的预测性故障,利用分析来向用户通知趋势的变化(例如,支持团队)。

在本发明的一些实施例中,分析系统104被配置为从多个驱动器设备(例如,SSD驱动器、HDD驱动器等)收集数据集合,其中数据包括可被用来预测驱动设备(例如,用户设备102的驱动器、分析系统104的驱动器等)的未来故障的更新的SMART属性集合。图2A-图2C提供了具有多个属性字段的示例SMART日志200,其中每个属性字段与以下各项中的一个或多个相关联:属性名称字段202,驱动器类型标识码字段204(例如,十六进制代码),硬盘驱动器(HDD)/固态驱动器(SSD)类型指示符字段206,PFA跳变点字段208,归一化公式字段210和/或原始数据定义字段212。在本发明的一些实施例中,每个属性的原始数据定义字段212与相应数量的字节相关联。与相反的实施方式相比,SMART日志200包括附加属性字段集合,其中附加属性字段集合包括一个或多个字段,诸如在图2A-图2C中被称为元素214的字段。附加字段允许改进的预测驱动器故障的方式。例如,在本发明的一些实施例中,附加属性字段集合中的一个或多个字段包括“包括待决的重新分配在内的重新分配”属性名称字段202,其与字段206中的HDD指示相关联。在本发明的一些实施例中,原始数据定义字段212与“包括待决的重新分配在内的重新分配”属性名称字段202相关联,原始数据定义字段212包括如下定义:字节6存储具有最大重新分配计数的盘驱动器的头(例如,盘读取/写入机械头)的标识符,字节7-10存储对于在字节6处的头的重新分配次数,以及字节11-14存储对于在字节6处的头的待决的重新分配次数。“包括待决的重新分配在内的重新分配”字段有助于在问题发生之前预测与驱动器有关的除气(outgassing)问题。例如,在本发明的一些实施例中,图1的分析系统104(例如,预测组件108)可以使用“包括待决的重新分配在内的重新分配”字段来预测被发现为在特定时间段(例如两年)内导致用户数据丢失的前三个驱动器的故障。

在本发明的一些实施例中,附加属性字段集合中的一个或多个字段进一步或替选地包括一个或多个HDD字段的集合和一个或多个SSD字段的集合。例如,在本发明的一些实施例中,一个或多个HDD字段包括上述“包括待决的重新分配在内的重新分配”、相对振动(RV)监测器字段和/或氦气监测器字段。在本发明的一些实施例中,RV监测器字段有助于检测振动问题、电机问题和/或机房灭火放电。在本发明的一些实施例中,氦气监测器字段有助于预测氦气驱动器的未来故障。在本发明的一些实施例中,一个或多个SSD字段包括“编程失败计数”字段、“擦除失败计数”字段和/或“可用的预留闪存存储器空间”字段。在本发明的一些实施例中,“编程失败计数”字段和“擦除失败计数”字段有助于在故障发生之前预测与闪存有关的故障。在本发明的一些实施例中,“可用的预留闪存存储器空间”字段有助于预测可以减少过量供应的存储器的问题。

返回参考图1,在本发明的一些实施例中,每个驱动器设备(例如用户设备102)被配置为响应于从分析系统104接收到读取请求而提供驱动器日志属性数据(例如,SMART日志200的SMART属性数据)。在本发明的一些实施例中,读取请求是(例如,由消息传递组件110)通过通信网络经由API调用来接收的。在本发明的一些实施例中,SMART属性数据是周期性地(诸如例如每周一次)从每个驱动器设备收集的。在本发明的一些实施例中,从驱动器收集的数据作为心跳信号被接收,然后被传递到系统并且被存储在一个或多个数据库(例如,数据库114)中。分析系统104可以利用所收集的数据以(例如,由机器学习组件112)经由机器学习来学习如何识别哪些驱动器将发生故障。来自所有驱动器中的数据都可以用于分析,而不仅仅是来自已经检测到发生故障的驱动器中的数据。

在本发明的一些实施例中,由分析系统104收集的数据被用来执行分析启动的PFA(AIPFA)处理、一个或多个分析启动的动作和/或一个或多个分析启动的消息(AIM)系统消息。如上所述,在当代系统中,故障预测是基于在预测驱动器处的故障时的预定的通用属性集合,而系统级和系统消息是基于广泛的设计级标准。与之相比,在本发明的一些实施例中,分析系统104被配置为实时地执行AIPFA和/或传送AIM消息,而不需要预定义的故障模式(例如,用户提供的模式)。例如,在本发明的一些实施例中,系统104被配置为实时地定义参数,所述参数可被用来例如按照部件号和/或按照月份来预测故障。在本发明的一些实施例中,当分析系统104实时地接收反馈时,分析系统104可以执行一个或多个机器学习算法以使驱动器的敏感之处显现出来并且定义用于故障分类的单独类别。

在本发明的一些实施例中,分析系统104被配置为基于整个驱动器总体的趋势来生成所建议的AIPFA规则集合,其中可以通过接受或改变消息来进一步训练分析系统104。基于该处理,分析系统104可以使预测性故障规则和消息以特定驱动器、工作负载或所识别的模式为目标。例如,在本发明的一些实施例中,分析系统104被配置为经由机器学习来动态地更新AIPFA规则,使得分析系统104能够基于新信息和故障来改进识别模式的方式。通过以这种方式应用机器学习和训练,分析系统104可以通过在驱动器发生故障之前使驱动器脱机来进一步有助于防止用户数据丢失。

在本发明的一些实施例中,分析系统104被配置为响应于检测到故障模式而(例如,由消息传递组件110)向用户设备102提供AIM通信,以将修复应用于用户设备102的驱动器。考虑其中已经检测到机房环境的改变(诸如例如温度(例如,驱动器温度、室温等)的改变)的示例场景,分析系统104可以被配置为在当前的行为正在对驱动器产生负面影响时警告用户。例如,如果用户正接近超过由SSD支持的写入数量,则分析系统104可以检测到驱动器可能发生早期故障,并且通知用户应该调查工作负载。

在本发明的一些实施例中,分析系统104以流线型方式收集预测分析所需要的关键驱动器数据,使得可以容易地定期从盘驱动器中拉取数据。分析系统104通过以下方式来利用该数据:预先预测故障,向系统提供反馈,向用户通知所预测的故障,和/或执行一个或多个动作来补救故障(例如,移除/禁用驱动器)。在新的驱动器位置(例如,图2A-图2C的更新的SMART日志页面200)中定义了关键参数,使得驱动器能够对关键数据进行日志记录,然后周期性地从驱动器中收集关键数据。在本发明的一些实施例中,将数据提供给供应商,使得供应商可以将数据馈送到他们自己的分析引擎中,以便能够更快地解决问题,并且由于收集了更多有价值的信息而允许更好的虚拟故障分析。与之相比,当代分析系统通常仅限于从发生故障的驱动器中收集数据,并且往往在故障几周后才接收到该信息。某些当代系统收集驱动器日志,但是与SMART日志第200页相比,这些日志的大小要大若干量级,并且需要通过固定的供应商工具来解析日志,这依赖于耗时的侵入性处理。

图3描绘根据本发明的一个或多个实施例的示例分析环境300的系统架构。分析环境300包括硬件管理控制台(HMC)302、盘系统304和一个或多个数据库306(即,保存数据库、SMART数据数据库、分析数据库)。盘系统304容纳了盘308,该盘308经由适配器310与一个或多个数据库306进行通信。盘308被配置为响应于接收到日志感测命令而输出驱动器日志页面(例如,SMART日志)。盘系统304经由HMC 302传送自动通报(call home)消息以用于存储和分析。在本发明的一些实施例中,每周从盘系统304向第一数据库(即,保存数据库)发送日志页面,对保存数据库的文件进行解析,并且将来自解析的关键参数存储在第二数据库(即,SMART数据数据库)中,然后来自第二数据库的数据被分析并且被存储在第三数据库(即,分析数据库)中。该分析可以经由反馈回路被反馈到盘系统304中。分析也可以被输出到供应商,使得供应商可以基于这些改进来更新盘系统304。在一些实施例中,使用单个数据库来容纳信息的组合,而不是存储在三个数据库中。

现在将参考图4来描述分析系统104的操作的附加细节,其中图4描绘图示根据本发明的一个或多个实施例的由分析系统104执行的方法400的流程图。在方框402处,从多个盘设备接收诸如SMART日志页面之类的驱动器日志,其中驱动器日志页面包括多个属性字段,其中多个属性字段包括“包括待决的重新分配在内的重新分配”字段。在方框404处,基于驱动器日志页面的属性数据执行故障预测,以识别被预测为发生故障的一个或多个盘设备。在方框406处,响应于故障预测,禁用一个或多个盘设备。

在本发明的一些实施例中,多个属性字段还包括以下各项中的一个或多个:RV监测器字段、氦气监测器字段、编程失败计数字段、擦除失败计数字段和可用的预留闪存存储器空间字段。

在本发明的一些实施例中,多个属性字段中的每个属性字段与以下各项中的一个或多个相关联:属性名称、硬盘驱动器/固态驱动器类型指示符和/或原始数据定义。在本发明的一些实施例中,与“包括待决的重新分配在内的重新分配”字段相关联的原始数据定义字段包括如下定义,该定义指示字节6用于存储盘驱动器的头的标识符和/或字节7-10用于存储对于在字节6处的头的重新分配次数。在本发明的一些实施例中,“包括待决的重新分配在内的重新分配”字段的定义还包括字节11-14用于存储对于在字节6处的头的待决的重新分配数量。

在本发明的一些实施例中,方法400包括由系统响应于故障预测而生成故障通知,其中该通知指示哪些盘设备(例如,一个或多个驱动器)已被预测为发生故障。然后,将故障通知传送到与已被预测为发生故障的盘设备相关联的用户设备。

在本发明的一些实施例中,方法400包括基于多个盘设备上的趋势来生成所建议的分析启动的预测性故障(AIPFA)规则集合。然后经由机器学习来更新AIPFA规则。然后基于更新的AIPFA规则来执行第二故障预测。在本发明的一些实施例中,第二故障预测在多个盘设备、多个盘设备的子集和/或第二多个盘设备上执行。

为了简洁起见,在本文中可以详细或可以不详细描述与制造和使用本发明的各方面有关的常规技术。特别地,实现本文中所述的各种技术特征的计算系统和特定计算机程序的各个方面是众所周知的。因此,为了简洁起见,在不提供众所周知的系统和/或处理细节的情况下,本文中仅简要提及或完全省略了许多常规的实现细节。

首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。

云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。

特征包括:

按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。

广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。

资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。

迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。

可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。

服务模型如下:

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

平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。

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

部署模型如下:

私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。

共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。

公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。

混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。

云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。

现在参考图5,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图5显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。

现在参考图6,其中显示了云计算环境50(图5)提供的一组功能抽象层。首先应当理解,图3所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图3所示,提供下列层和对应功能:

硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机61;基于RISC(精简指令集计算机)体系结构的服务器62;服务器63;刀片服务器64;存储设备65;网络和网络组件66。软件组件的例子包括:网络应用服务器软件67以及数据库软件68。

虚拟层70提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器71、虚拟存储72、虚拟网络73(包括虚拟私有网络)、虚拟应用和操作系统74,以及虚拟客户端75。

在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能82:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能85:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。

工作负载层90提供云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航91;软件开发及生命周期管理92;虚拟教室的教学提供93;数据分析处理94;交易处理95;以及驱动器日志处理96。

图7示出了高级框图,该框图示出了可用于实现本发明的一个或多个实施例的基于计算机的系统300的示例。尽管示出了一个示例性计算机系统700,但是计算机系统700包括通信路径726,该通信路径726将计算机系统700连接至附加系统,并且可以包括一个或多个广域网(WAN)和/或诸如因特网、内联网之类的局域网(LAN)和/或无线通信网络。计算机系统700和附加系统经由通信路径726进行通信(例如,在它们之间进行数据的通信)。

计算机系统700包括一个或多个处理器,例如处理器702。处理器702连接到通信基础设施704(例如,通信总线、交叉开关矩阵(cross-over bar)或网络)。计算机系统700可以包括显示接口706,该显示接口706转发来自通信基础设施704(或者来自未示出的帧缓冲器)的图形、文本和其他数据,以在显示单元708上显示。计算机系统700还包括主存储器710(优选地,随机存取存储器(RAM)),并且还可以包括辅助存储器712。辅助存储器712可以包括例如硬盘驱动器714、固态驱动器和/或可移动存储驱动器716,可移动存储驱动器716代表例如软盘驱动器、磁带驱动器或光盘驱动器。可移动存储驱动器716以本领域普通技术人员众所周知的方式从可移动存储单元718读取和/或向可移动存储单元718写入。可移动存储单元718代表例如由可移动存储驱动器716读取和写入的软盘、紧凑盘、磁带或光盘等。如将会想到的,可移动存储单元718包括其中存储有计算机软件和/或数据的计算机可读介质。

在本发明的一些替选实施例中,辅助存储器712可以包括用于允许将计算机程序或其他指令加载到计算机系统中的其他类似装置。这样的装置可以包括例如可移动存储单元720和接口722。这样的装置的示例可以包括程序包和包接口(例如在视频游戏设备中发现的那些)、可移动存储器芯片(例如EPROM或PROM)和相关联的插口、以及允许将软件和数据从可移动存储单元720传输到计算机系统700的其他可移动存储单元720和接口722。

计算机系统700还可以包括通信接口724。通信接口724允许软件和数据在计算机系统和外部设备之间传输。通信接口724的示例可以包括调制解调器、网络接口(例如以太网卡)、通信端口、或PCM-CIA插槽和卡等。经由通信接口724传输的软件和数据采用信号的形式,所述信号可以是例如能够被通信接口724接收的电、电磁、光或其他信号。这些信号经由通信路径(即,信道)726被提供给通信接口324。通信路径726传递信号并且可以使用电线或电缆、光纤、电话线、蜂窝电话链路、RF链路和/或其他通信信道来实现。

在本公开中,术语“计算机程序介质”、“计算机可用介质”和“计算机可读介质”通常用来指代诸如主存储器710和辅助存储器712、可移动存储驱动器716、以及安装在硬盘驱动器714和/或固态驱动器中的硬盘之类的介质。计算机程序(也称为计算机控制逻辑)存储在主存储器710和/或辅助存储器712中。计算机程序也可以经由通信接口724来接收。这样的计算机程序在运行时使得计算机系统能够执行如本文中所讨论的本公开的特征。特别地,计算机程序在运行时使得处理器702能够执行计算机系统的特征。因此,这样的计算机程序代表计算机系统的控制器。

在本文中参考相关附图描述了本发明的各种实施例。可以在不偏离本发明的范围的情况下设计本发明的替选实施例。在以下描述和附图中阐述了在元件之间的各种连接和位置关系(例如,在上方,在下方,相邻等)。除非另有说明,否则这些连接和/或位置关系可以是直接的或间接的,并且本发明并不旨在在这方面进行限制。因此,实体的耦合可以是指直接或间接耦合,并且实体之间的位置关系可以是直接或间接的位置关系。此外,本文中描述的各种任务和处理步骤可以被合并到具有本文中未详细描述的附加步骤或功能的更全面的过程或处理中。

可以利用以下技术中的任何一种或组合来实现本文中描述的一种或多种方法,这些技术各自在本领域中是众所周知的:具有用于对数据信号实现逻辑功能的逻辑门的分立逻辑电路,具有适当的组合逻辑门的专用集成电路(ASIC),可编程门阵列(PGA),现场可编程门阵列(FPGA)等。

为了简洁起见,在本文中可以详细或可以不详细描述与制造和使用本发明的各方面有关的常规技术。特别地,实现本文中所述的各种技术特征的计算系统和特定计算机程序的各个方面是众所周知的。因此,为了简洁起见,在不提供众所周知的系统和/或处理细节的情况下,本文中仅简要提及或完全省略了许多常规的实现细节。

在一些实施例中,各种功能或动作可以在给定位置和/或与一个或多个装置或系统的操作相结合地进行。在一些实施例中,给定功能或动作的一部分可以在第一设备或位置处执行,并且该功能或动作的其余部分可以在一个或多个附加设备或位置处执行。

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

以下权利要求中的所有装置或步骤加上功能元件的对应结构、材料、动作和等同物旨在包括用于与具体要求保护的其他要求保护的元件相结合地执行功能的任何结构、材料或动作。已经出于说明和描述的目的呈现了本公开,但是本公开不是旨在是穷举的或限于所公开的形式。在不偏离本公开的范围和精神的情况下,许多修改和变型对于本领域普通技术人员将是明显的。选择和描述实施例是为了最好地解释本公开的原理和实际应用,并且使得本领域的其他普通技术人员能够理解本公开的各种实施例,这些实施例具有适于所设想的特定用途的各种修改。

本文中所描绘的图是说明性的。在不偏离本公开的精神的情况下,本文中描述的图或步骤(或操作)可以有许多变型。例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。另外,术语“耦合”描述了在两个元件之间具有信号路径,并且并不意味着元件之间的直接连接而在它们之间没有中间元件/连接。所有这些变型都被认为是本公开的一部分。

以下定义和缩写用于解释权利要求和说明书。如本文中所使用的,术语“包括”、“包含”、“包括”、“包含”、“具有”,“拥有”、“包含”或“含有”或其任何其他变体旨在覆盖非排他性的包括。例如,包括元素列表的组合物、混合物、处理、方法、物品或装置不一定仅限于那些元素,而是可以包括未明确列出或者这样的组合物、混合物、处理、方法、物品或装置所固有的其他元素。

另外,术语“示例性”在本文中用来表示“用作示例、实例或说明”。本文中被描述为“示例性”的任何实施例或设计不必被解释为比其他实施例或设计优选或有利。术语“至少一个”和“一个或多个”被理解为包括大于或等于一的任何整数,即一、二、三、四等。术语“多个”被理解为包括大于或等于2的任何整数,即二、三、四、五等。术语“连接”可以包括间接“连接”和直接“连接”两者。

术语“大约”、“基本上”、“近似”及其变体旨在包括与基于提交申请时可用的设备的特定数量的度量相关联的误差程度。例如,“大约”可以包括给定值的±8%或5%或2%的范围。

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

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

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

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

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

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

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

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

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号