一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

私密转移学习的制作方法

2022-06-06 04:24:45 来源:中国专利 TAG:


1.本公开涉及私密转移学习,并且更具体地,涉及用于私密转移学习的安全便携式dnn。


背景技术:

2.深度神经网络(dnn)是机器学习架构。机器学习架构是可以学习的计算机系统,例如机器。机器可以学习的一件事情是如何对物品进行分类,例如,如何区分人的图像与物体的图像。因此,dnn可以将图像作为输入,并且输出该图像的标签,该标签指示dnn是否将图像分类为人或物体。通过例如dnn模型的机器学习对物体进行分类的动作在本文被称为推断或正向传递。相反,后向传递涉及训练dnn模型,dnn模型是学习执行预定分类的计算机程序。将dnn模型训练为准确的可能是复杂的,并且因此依赖于相对大量的数据来学习如何执行通用任务,诸如区分人的图像与物体的图像。
3.因此,在本领域中需要解决前述问题。


技术实现要素:

4.从各方面来看,本发明提供了一种用于私密转移学习的计算机实现的方法、计算机程序产品和系统,包括:生成包括训练应用编程接口(api)和推断api的机器学习模型;使用预定加密机制来加密机器学习模型;将经加密的机器学习模型复制到可信执行环境;以及使用推断api和训练api中的至少一个在可信执行环境中执行机器学习模型。
5.从一个方面来看,本发明提供了一种用于私密转移学习的计算机实现的方法,包括:生成包括训练应用编程接口(api)和推断api的机器学习模型;使用预定加密机制来加密机器学习模型;将经加密的机器学习模型复制到可信执行环境;以及使用推断api在可信执行环境中执行机器学习模型。
6.从一方面来看,本发明提供了一种计算机程序产品,其包括存储在计算机可读存储介质上的程序指令,其中该计算机可读存储介质本身不是暂时性信号,该程序指令可由处理器执行以使处理器执行一种方法,该方法包括:生成包括训练应用编程接口(api)和推断api的机器学习模型;使用预定加密机制来加密机器学习模型;将经加密的机器学习模型复制到可信执行环境;以及使用训练api在可信执行环境中执行机器学习模型。
7.从一个方面来看,本发明提供了一种系统,包括:计算机处理电路;以及存储指令的计算机可读存储介质,该指令在由计算机处理电路执行时被配置为使得计算机处理电路执行一种方法,该方法包括:生成包括训练应用编程接口(api)和推断api的机器学习模型;使用预定加密机制来加密机器学习模型;将经加密的机器学习模型复制到可信执行环境;使用训练api在可信执行环境中执行机器学习模型;以及使用推断api执行由训练api训练的机器学习模型。
8.从一个方面来看,本发明提供了一种系统,包括:计算机处理电路;图形处理电路(gpu);以及存储指令的计算机可读存储介质,该指令在由计算机处理电路执行时被配置为
使得计算机处理电路执行一种方法,该方法包括:生成包括训练应用编程接口(api)和推断api的机器学习模型;使用预定加密机制来加密机器学习模型;将经加密的机器学习模型复制到可信执行环境;通过在gpu上执行训练api来在可信执行环境中执行机器学习模型;以及通过在gpu上执行推断api来执行由训练api训练的机器学习模型。
9.从一个方面来看,本发明提供了一种用于私密转移学习的计算机实现的方法,包括:生成包括训练应用编程接口(api)和推断api的机器学习模型;使用预定加密机制来加密机器学习模型;将经加密的机器学习模型复制到可信执行环境;以及使用训练api在可信执行环境中执行机器学习模型。
10.从另一方面来看,本发明提供了一种用于私密转移学习的计算机程序产品,该计算机程序产品包括计算机可读存储介质,该计算机可读存储介质可由处理电路读取并且存储由处理电路执行以执行用于执行本发明的步骤的方法的指令。
11.从另一方面来看,本发明提供了一种存储在计算机可读介质上并且可加载到数字计算机的内部存储器中的计算机程序,包括软件代码部分,当该程序在计算机上运行时,用于执行本发明的步骤。
12.公开了用于私密转移学习的方法的实施例。该方法包括生成包括训练应用编程接口(api)和推断api的机器学习模型。该方法还包括使用预定加密机制来加密机器学习模型。该方法还包括将经加密的机器学习模型复制到可信执行环境。该方法还包括使用推断api在可信执行环境中执行机器学习模型。
13.本公开的进一步方面涉及具有与以上关于计算机实现的方法讨论的功能类似的功能的系统和计算机程序产品。本发明内容不旨在示出本公开的每个实施例的每个方面、每个实现和/或每个实施例。
附图说明
14.本技术中包括的附图被并入说明书中并形成说明书的一部分。它们示出了本公开的实施例,并且与说明书一起用于解释本公开的原理。附图仅说明某些实施例,而不限制本公开。
15.图1是根据本公开的一些实施例的用于私密转移学习的系统的框图。
16.图2是根据本公开的一些实施例的用于私密转移学习的系统的框图
17.图3是根据本公开的实施例的用于私密转移学习的过程的数据流程图。
18.图4是根据本公开的一些实施例的用于私密转移学习的示例方法的流程图。
19.图5是根据本公开的一些实施例的示例分类图数字化(ccd)管理器的框图。
20.图6示出了根据本公开的一些实施例的云计算环境。
21.图7示出了根据本公开的一些实施例的抽象模型层。
22.虽然本公开可修改为各种修改和替代形式,但其细节已在附图中以示例的方式示出并将详细描述。然而,应当理解,其目的不是将本公开限制于所描述的特定实施例。相反,本发明将涵盖落入本公开的精神和范围内的所有修改、等效物和替代物。
具体实施方式
23.dnn是在输入和输出之间具有多个层的机器学习软件架构。dnn可以使用输入的相
关参数和dnn学习要操纵的相关联的权重来在数学上将输入转换成输出。在训练阶段期间,dnn可以处理相对大量的加标签的输入,并且学习操纵各种参数的权重,以将输入转换成与标签匹配的输出。这些数学修改可以表示各种类型的数学关系,包括线性和非线性。以这种方式,dnn可以生成通用dnn模型。
24.转移学习对于将通用dnn模型开发成执行更特定任务的模型是有用的。例如,给定区分人与物体的图像的通用dnn模型,转移学习可以开发出区分棒球比赛的图像与板球比赛的图像的模型。执行转移学习可以涉及与用于通用dnn模型的训练数据相比相对少量的训练数据。例如,训练通用dnn模型以将人与物体区分开可能涉及数万个加标签的输入。相反,将通用模型开发成区分棒球比赛的图像与板球比赛的图像的转移学习模型可以涉及少于五十个加标签的输入。以这种方式,与其他机器学习技术相比,转移学习提供了降低成本和资源的优点。因此,转移学习可以从相对高度训练过的通用dnn模型构建执行相对高度特定任务的有价值的dnn模型。然而,拥有这种经过高度训练的、可以被开发来执行相对高度特定的任务的通用dnn模型可能隐含要防止未经授权的用户、小偷和/或其它恶意行动者使用它们的安全问题。
25.可信执行环境可以在主机计算机系统上提供安全区域(secure enclave),其中敏感或受控程序可以在没有未授权的内省(查看)或复制的情况下运行。事实上,可信执行环境甚至可以保护受控程序免受托管可信执行环境的计算机上的有特权的管理员和进程的影响。
26.因此,本公开的实施例可以控制高度训练过的通用dnn模型的传播和使用。这样,实施例可以允许:使用通用dnn模型以未修改的形式进行推断,并且将通用dnn模型开发为具有任务特定训练的转移学习模型。与正向传递相反,训练机器学习模型的动作在本文也被称为反向传递。本公开的实施例因此可以使用加密来封装dnn模型,该加密不能在可信执行环境之外打开。在一些实施例中,dnn的架构、权重和偏置的代码与两个应用编程接口(api)函数封装在一起。api函数之一对未加标签的输入执行推断。因此,数据在没有标签的情况下被输入,用于正向传递通过dnn。另一api函数训练通用dnn模型。因此,数据在有标签的情况下被输入,用于反向传递通过通用dnn模型。
27.图1是根据本公开的一些实施例的用于私密转移学习的系统100的框图。系统100包括具有经预训练的模型104、推断api 106-1和训练api 106-2的安全区域102。安全区域102可以是为安全操作保留的计算机设备(未示出)的系统存储器的预定部分,即,可信执行环境(tee)。
28.根据一些实施例,系统100可以用于控制传播并且使用经训练的深度神经网络模型,即,经预训练的模型104。系统100可允许使用经预训练的模型104以未修改的形式进行推断,并允许经预训练的模型104通过任务特定训练来定制。另外,系统100可提供这些优点,同时保持对如何使用和/或传播经预训练的模型104的控制。在系统100中,经预训练的模型104可以适于由一个或多个用户进行的训练,这可以使用来自一方或多方的私密输入来提供训练或细化。
29.安全区域102可以包括被限制在安全区域102内使用的密钥(未示出)。安全操作可以由在安全区域102中运行的计算机应用执行。为了使这些操作安全,计算机应用的指令被用密钥加密并且被写入安全区域102中的存储器位置。另外,在由处理器(未示出)执行之
前,从这些存储器位置读取指令并用密钥对指令进行解密。因此,尝试从安全区域102读取安全操作的指令的恶意行动者,例如黑客,被限制为读取经加密的指令。在没有密钥的情况下,恶意行动者不能确定实际指令,并且因此操作可以是安全的。
30.例如,经预训练的模型104可以是在安全区域102中运行的计算机应用。根据一些实施例,经预训练的模型104可以是被训练来执行通用任务的dnn模型。另外,经预训练的模型104可以在被复制到安全区域102之前被加密。这涉及到对上文关于安全区域102所描述的密钥加密的附加级别的加密。在一些实施例中,经预训练的模型的制造商可在具有两个api函数的经加密的分发块(distribution blob)中加密用于经预训练的模型104的架构、权重和偏置的代码,该两个api函数是推断api 106-1和训练api 106-2。引入有标签的数据可以被输入到推断api 106-1,用于反向传播传递通过经预训练的模型104。没引入标签的数据可被输入到训练api 106-2,用于正向传递通过经预训练的模型104。这样,系统100可以提供深度神经网络以与被限制为在tee内部打开的加密一起使用。
31.通过仅暴露安全区域102外部的两个api,预先训练的模型104可以被用作针对用户特定任务和数据集来打算和定制的。然而,经预训练的模型104不能被复制到安全区域102之外以用于向未许可用户的不受控制的传播、以超出预定范围的方式被修改、或者在预定的保存期限之后被使用,在此之后,用户可以被激励下载经预训练的模型104的更新版本。
32.如本领域普通技术人员所理解的,深度神经网络可以在图形处理单元(gpu)上比在中央处理单元(cpu)上更有效地操作。然而,可信执行环境可以不包括安全区域102内部的gpu。因此,可以在安全区域102外部将数据发送到gpu以用于训练和/或推断(在相对大的经预训练的模型104的情况下)。因此,在一些实施例中,安全区域102可以包括一个或多个gpu。另外,经预训练的模型104可被配置为禁止虚拟化gpu环境中的操作(其中gpu存储器可被tee之外的恶意行动者内省到)。在经预训练的模型104中包括批量计算的随机重排也是有帮助的,以使得恶意行动者更难从gpu存储器推断模型参数。
33.图2是根据本公开的一些实施例的用于私密转移学习的系统200的框图。系统200包括tee 202和执行环境204。如先前所述,安全区域可以被称为tee。另外,术语tee可以指更大的专用存储器元件组,例如tee 202。在系统200中,tee 202包括安全区域206,其可以类似于关于图1所描述的安全区域102,tee 202还可以包括附加的存储器元件,诸如用于安全区域206的加密密钥(未示出)。
34.执行环境204可以是存储计算机处理器指令的专用存储器元件组。与可信执行环境202和安全区域206相反,执行环境204可以是开放的,意味着存储器位置可以被恶意用户等读取。执行环境204可以包括编程环境210,其可以是执行环境204的一部分,dnn编解码平台可以在其中执行。dnn编解码平台可以指计算机软件架构,其中数据科学家例如可以建立、测试和运行诸如dnn模型208的模型。因此,编程环境210可以包括计算机应用,这些计算机应用通过对前向传递(推断)api 212-1和后向传递(训练)api 212-2进行调用来调用可信执行环境202的安全区域206中的dnn模型208的执行。
35.安全区域206可以包括dnn模型208,其可以类似于关于图1所描述的经预训练的模型104。返回参考图2,dnn模型208可以是例如相对较大的卷积dnn模型,其被训练用于对相对较大的图像内的相对较小的物体进行物体识别。这种dnn模型在高光谱卫星摄影中是有
用的,其中在来自卫星的地球图像中捕获相对较大范围的电磁光谱。数千gpu小时可能花费在训练这些模型以达到相对较高的准确度水平。训练这样的模型也会消耗相当大的财务费用。此外,dnn模型208的架构可以使用不是广泛已知的有价值的高级专有技术,并且因此可以隐含安全约束以防止公司或其他类型的间谍活动。
36.在另一示例中,dnn模型208可以是被训练用于预测文本生成的相对较大的语言模型。预测文本生成指的是其中一个键或按钮可以表示多个字符的技术,诸如在移动计算设备的数字键盘上。这样,键的每次选择可以导致对用户正在输入的词的预测。因此,用户可以基于少数键选择来选择预测单词,而不是键入整个单词。预测文本生成也可以结合专有架构技术,并且可能花费数千个处理小时来训练。这种dnn模型208可以用相对较少的训练时间来进一步训练,以执行更复杂的任务,例如,对相对较宽范围的主题进行问答、语法分析、文本概括和报告生成。此外,通过附加的训练,可以使主题的范围在特定领域中甚至更宽。这样的dnn模型208可以提供相对较大的财务价值,如果dnn模型208被泄露到在其中可以在不向dnn模型208的生成器提供任何补偿的情况下复制dnn模型208的公共空间中,则该财务价值可能被破坏。因此,本公开的实施例可以保护dnn模型208以防止这种情形。
37.因为正向传递api 212-1和反向传递api 212-2在可信执行环境202的安全区域206内执行,所以来自不安全执行环境204的执行这些api 212的任何调用被验证为具有调用api调用的权限,以避免dnn模型208被恶意行动者执行。因此,api包括基于被编程到dnn模型208的加密可执行文件中的证书的认证和授权。这允许对如何使用dnn模型208、由谁使用、使用多少以及以什么特定方式使用进行精细控制。因此,api 212可以包括允许限制dnn模型208的训练和推断使用的访问控制。另外,这些访问控制可以提供遥测,该遥测可以将关于dnn模型208的审计和性能度量提供回给dnn模型208的提供者。这样,dnn模型208可以适于分发到其他各方,而没有该模型被内省(缺乏州赞助的攻击)的风险。在一些实施例中,可以根据不同的使用权限集合来许可dnn模型208。因此,api的使用可以根据这些权限而被限制。例如,该使用可以限于执行反向传递api 212-2或者允许用于两个api 212。还可以允许使用预定的时间段。
38.在一些实施例中,dnn模型208的使用还可以包括超参数调谐。利用超参数调谐,正向传递api 212-1可以允许dnn模型用户定义对配置dnn模型208学习的方式的参数的选择。超参数可以包括优化算法,例如adam和单周期、学习速率、训练时期的数量、层锁定等。
39.在一些实施例中,dnn模型208的使用可以允许选择dnn模型208的多于一个可能的架构变型。例如,dnn模型208的主体可以与另一dnn模型头部一起用于多类别或单类别分类。dnn模型208的主体可以指模型逻辑的一部分。模型逻辑可以分层布置,其中第一层包括dnn模型208的初始逻辑,而最后一层包括最终逻辑。因此,dnn模型的头部可以指dnn模型逻辑的最后一层或最后几层。在一些实施例中,架构变体可以涉及将dnn模型208从生成的dnn重新规划到分类器。生成dnn是指生成用于分类dnn的加标签的输入的dnn模型。分类dnn是指对输入加标签(例如,分类)的dnn模型。在一些实施例中,这些和其它潜在的架构变体可以是在正向传递api 212-1和反向传递api 212-2内可选择的。
40.在一些实施例中,系统200可与现有dnn编解码平台(例如,pytorch和tensorflow)集成。以此方式,系统200可允许将dnn模型208更容易地封装到经加密的分发块中。另外,将系统200与现有dnn编解码平台集成还可以使数据科学家能够通过使用他们已经习惯的相
同编解码环境和命令来更有效地对dnn模型208执行推断和训练。
41.图3是根据本公开的实施例的用于私密转移学习的过程300的数据流程图。在过程300中,模型所有者开发环境302被用于生成机器学习(ml)模型304。模型所有者开发环境302可以是被配置成使数据科学家和软件工程师能够构建和训练机器学习模型(诸如,机器学习模型304)的私密的、安全的计算机硬件和软件架构。机器学习模型304可以是各种类型的机器学习模型中的一种,范围从相对简单的算法到dnn模型,诸如关于图2描述的dnn模型208。
42.返回参考图3,模型所有者可以使用加密来从机器学习模型304生成保密块(crypto blob)306。保密块306可以根据opal标准来签名和管理。opal标准是指用于诸如磁盘驱动器的电子存储设备的安全相关规范的组。例如,这些规范可以定义用于存储的数据的加密方法,该加密方法防止未授权用户控制设备或查看存储在其上的数据。加密可以由公钥-私钥基础设施(pki)、证明等提供。在pki中,在两个用户之间共享的公钥可以与加密的私钥一起使用,以确保授权用户可以访问安全文件,诸如机器学习模型304。证明可涉及使用公共散列标签(hashtag)和交换所(clearinghouse)签名来确认计算机应用程序(诸如,机器学习模型304等)的完整性。证明可以用作安全区域(诸如,安全区域206)内的潜在的被恶意编解码的计算机指令的工作区。
43.返回参考图3,模型所有者可以将保密块306存储在云存储系统308中,云存储系统可以托管机器学习模型库,该机器学习模型库被加密为多个保密块306。此外,为了从该库获得对机器学习模型的访问,客户可以订阅所选择的模型,诸如机器学习模型304。从云存储系统308,可以将保密块306复制到数据所有者开发环境310中。数据所有者开发环境310可以是诸如tee 202之类的可信执行环境。数据所有者开发环境310可以包括安全区域312和api314。安全区域312可以类似于关于图2所描述的安全区域206,api 314可以类似于关于图2所描述的api 212,安全区域312可以包括机器学习模型304和具有私钥316的加载器。因此,安全区域312具有解密保密块306所需的密钥。在本公开的实施例中,具有私钥316的加载器可以解密保密块306,从而生成机器学习模型304和api 314。此外,安全区域312可以使用其自己的密钥(未示出)在将机器学习模型304和api 314的指令写入安全区域312的存储器位置之前对这些指令进行加密。
44.当在安全区域312中运行时,机器学习模型304仍然被存储在加密的存储器中,这对于诸如管理员和根用户之类的有特权的用户是不可读的。安全区域312还防止存储器总线探测攻击,因为只有经加密的数据从安全区域312沿总线传递。以此方式,仅将api 314暴露给用户可以确保机器学习模型304不会在没有授权的情况下被误用或分发。
45.图4是根据本公开的一些实施例的用于私密转移学习的示例性方法400的流程图。在框402处,可以生成机器学习模型,诸如关于图3描述的机器学习模型304。机器学习模型304可以包括训练应用编程接口(api)和推断api。模型所有者可以在模型所有者开发环境中生成机器学习模型304,诸如参考图3描述的模型所有者开发环境302。
46.返回参考图4,在框404处,可以使用预定加密机制来加密机器学习模型304。例如,加密机制可以包括公钥-私钥基础设施或证明。
47.在框406处,经加密的机器学习模型可被复制到诸如参考图2描述的可信执行环境202之类的可信执行环境,经加密的机器学习模型可以是诸如参考图3描述的保密块306之
类的保密块。
48.返回参考图4,在框408处,机器学习模型可使用推断api或训练api在可信执行环境中执行。如前所述,推断api可用于对输入到机器学习模型的物体进行分类。另外,训练api可以用于进一步将机器学习模型的训练细化到比模型所有者已经为其训练了机器学习模型的一般任务更特定的任务。
49.现在参考图5,示出了根据本公开的一些实施例的示例私密转移学习管理器500的框图。在各种实施例中,私密转移学习管理器500类似于私密转移学习管理器214,并且可以执行图4中描述的方法和/或图1-3中讨论的功能。在一些实施例中,私密转移学习管理器500向客户端提供用于前述方法和/或功能性的指令使得客户端机器能够基于由私密转移学习管理器500提供的指令来执行该方法或方法的一部分。在一些实施例中,私密转移学习管理器500包括在并入到多个设备中的硬件上执行的软件。
50.私密转移学习管理器500包括存储器525、存储装置530、互连(例如,总线)520、一个或多个cpu 505(本文也称为处理器505)、i/o设备接口510、i/o设备512和网络接口515。
51.每个cpu 505检索并执行存储在存储器525或存储装置530中的编程指令。互连520用于在cpu 505、i/o设备接口510、存储装置530、网络接口515和存储器525之间移动数据,例如编程指令。互连520可以使用一个或多个总线来实现。在各种实施例中,cpu 505可以是单个cpu、多个cpu、或具有多个处理核的单个cpu。在一些实施例中,cpu 505可以是数字信号处理器(dsp)。在一些实施例中,cpu 505包括一个或多个3d集成电路(3dic)(例如,3d晶片级封装(3dwlp)、基于3d中介体的集成、3d堆叠ic(3d-sic)、单片3d ic、3d异构集成、3d系统级封装(3dsip)和/或封装上封装(pop)cpu配置)。存储器525通常被包括以表示随机存取存储器(例如,静态随机存取存储器(sram)、动态随机存取存储器(dram)或闪存)。存储器530通常被包括以表示非易失性存储器,诸如硬盘驱动器、固态设备(ssd)、可移动存储卡、光学存储器和/或快闪存储器设备。另外,存储装置530可以包括存储区域网络(san)设备、云或经由i/o设备接口510连接到私密转移学习管理器500或经由网络接口515连接到网络550的其他设备。
52.在一些实施例中,存储器525存储指令560。然而,在各种实施例中,指令560部分地存储在存储器525中并且部分地存储在存储装置530中,或者指令560完全存储在存储器525中、或者指令560完全存储在存储装置530中,或者指令560经由网络接口515通过网络550被访问。
53.指令560可以是用于执行图4的任何方法和/或图1-3中讨论的功能性中的任何部分或全部的处理器可执行指令。
54.在各种实施例中,i/o设备512包括能够呈现信息和接收输入的接口。例如,i/o设备512可以向与私密转移学习管理器500交互的监听器呈现信息,并且从监听器接收输入。
55.私密转移学习管理器500经由网络接口515连接到网络550。网络550可以包括物理、无线、蜂窝或不同的网络。
56.在一些实施例中,私密转移学习管理器500可以是多用户大型计算机系统、单用户系统、或服务器计算机或具有很少或没有直接用户界面但从其它计算机系统(客户机)接收请求的类似设备。此外,在一些实施例中,私密转移学习管理器500可被实现为台式计算机、便携式计算机、膝上型或笔记本计算机、平板计算机、袖珍计算机、电话、智能电话、网络交
换机或路由器、或任何其它适当类型的电子设备。
57.注意,图5旨在描绘示例性私密转移学习管理器500的代表性主要组件。然而,在一些实施例中,各个组件可以具有比图5中所表示的更大或更小的复杂度,可以存在不同于图5中所示的那些组件或除其之外的组件,并且这些组件的数量、类型和配置可以变化。
58.尽管本公开包括关于云计算的详细描述,但是本文所陈述的教导的实现不限于云计算环境。相反,本公开的实施例能够结合现在已知或以后开发的任何其他类型的计算环境来实现。
59.云计算是一种服务递送模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储装置、应用、虚拟机和服务)的共享池的方便的按需网络访问,所述可配置计算资源可以以最小的管理努力或与服务的提供者的交互来快速供应和释放。该云模型可以包括至少五个特性、至少三个服务模型和至少四个部署模型。
60.特征如下:
61.按需自助:云消费者可以单方面地自动地根据需要提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供者进行人工交互。广域网接入:能力在网络上可用,并且通过促进由异构的瘦或胖客户端平台(例如,移动电话、膝上型计算机和pda)使用的标准机制来访问。
62.资源池化:供应商的计算资源被集中以使用多租户模型来服务多个消费者,其中不同的物理和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的意义,因为消费者通常不控制或不知道所提供的资源的确切位置,但是能够在较高抽象级(例如,国家、州或数据中心)指定位置。
63.快速弹性:在一些情况下,可以快速且弹性地提供快速向外扩展的能力和快速向内扩展的能力。对于消费者,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。
64.测量服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某一抽象级别的计量能力来自动地控制和优化资源使用。可以监视、控制和报告资源使用,从而为所利用服务的提供者和消费者两者提供透明性。
65.服务模型如下:
66.软件即服务(saas):提供给消费者的能力是使用在云基础设施上运行的提供者的应用。应用可通过诸如web浏览器(例如,基于web的电子邮件)等瘦客户端界面从各种客户机设备访问。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至个别应用能力的底层云基础结构,可能的例外是有限的用户专用应用配置设置。
67.平台即服务(paas):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,该消费者创建或获取的应用是使用由提供商支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储的底层云基础设施,但具有对部署的应用和可能的应用托管环境配置的控制。
68.基础设施即服务(iaas):提供给消费者的能力是提供处理、存储、网络和消费者能够部署和运行任意软件的其它基本计算资源,所述软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但具有对操作系统、存储、部署的应用的控制,以及可能对选择的联网组件(例如,主机防火墙)的有限控制。
69.部署模型如下:
70.私有云:云基础设施仅为组织操作。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
71.社区云:云基础设施由若干组织共享,并且支持具有共享关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。它可以由组织或第三方管理,并且可以存在于场所内或场所外。
72.公有云:云基础设施可用于一般公众或大型工业群体,并且由销售云服务的组织拥有。
73.混合云:云基础设施是两个或更多云(私有、共同体或公共)的组合,所述云保持唯一实体,但是通过使数据和应用能够移植的标准化或私有技术(例如,用于云之间的负载平衡的云突发)绑定在一起。
74.云计算环境是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。在云计算的核心是包括互连节点的网络的基础设施。
75.现在参考图6,其描绘了根据本公开的一些实施例的云计算环境610。如图所示,云计算环境610包括一个或多个云计算节点600。云计算节点600可以执行图4中描述的方法和/或图1-3中讨论的功能性。此外,云计算节点600可以与云消费者使用的本地计算设备通信,例如个人数字助理(pda)或蜂窝电话600a、桌上型计算机600b、膝上型计算机600c和/或汽车计算机系统600n。此外,云计算节点600可以彼此通信。云计算节点600还可以物理地或虚拟地分组(未示出)在一个或多个网络中,诸如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境610提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图6中所示的计算设备600a-n的类型仅旨在说明,并且计算节点600和云计算环境610可以在任何类型的网络和/或网络可寻址连接上(例如,使用web浏览器)与任何类型的计算设备通信。
76.现在参考图7,示出了根据本公开的一些实施例的由云计算环境610(图6)提供的一组功能抽象模型层。应当预先理解,图7中所示的组件、层和功能仅旨在说明,并且本公开的实施例不限于此。如下所述,提供了下面的层和对应的功能。
77.硬件和软件层700包括硬件和软件组件。硬件组件的示例包括:主机702;基于risc(精简指令集计算机)架构的服务器704;服务器706;刀片服务器708;存储设备710;以及网络和联网组件712。在一些实施例中,软件组件包括网络应用服务器软件714和数据库软件716。
78.虚拟化层720提供抽象层,从该抽象层可以提供虚拟实体的以下示例:虚拟服务器722;虚拟存储器724;虚拟网络726,包括虚拟专用网络;虚拟应用和操作系统728;以及虚拟客户机730。
79.在一个示例中,管理层740可以提供以下描述的功能。资源供应742提供计算资源和被利用来在云计算环境内执行任务的其它资源的动态采购。计量和定价744提供了在云计算环境内利用资源时的成本跟踪,以及针对这些资源的消耗的计费或计价。在一个示例中,这些资源可以包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户746为消费者和系统管理员提供对云计算环境的访问。服务级别管理748提供云计算资源分配和管理,使得满足所需的服务级别。服务等级管理748
可分配适当的处理能力和存储器以处理静态传感器数据。服务水平协议(sla)计划和履行750提供对云计算资源的预安排和采购,其中根据sla预期未来需求。
80.工作负载层760提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:映射和导航762;软件开发和生命周期管理764;虚拟教室教育传送766;数据分析处理768;事务处理770;以及私有传输学习管理器772。
81.本公开可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本公开的方面。
82.计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
83.本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
84.用于执行本公开的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向物体的编程语言,诸如smalltalk、c 等)和过程式编程语言(诸如“c”编程语言或类似的编程语言)的任何组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化,以便执行本公开的方面。
85.本文参考根据本公开的实施例的方法、装置(系统)和计算机程序产品的流程图图示和/或框图来描述本公开的方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
86.这些计算机可读程序指令可以被提供给计算机或其他可编程数据处理装置的处
理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
87.计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
88.附图中的流程图和框图示出了根据本公开的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以作为一个步骤来实现,同时、基本同时、以部分或全部时间重叠的方式执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献