利用人工智能自动修复安全问题的技术的制作方法

未命名 09-18 阅读:93 评论:0

利用人工智能自动修复安全问题的技术
1.对相关申请的交叉引用
2.本技术要求于2020年12月22日提交的题为“techniques for auto-remediating security issues with artificial intelligence”的第17/130,867号美国专利申请的权益和优先权,该美国专利申请通过引用整体并入本文。
技术领域
3.本公开一般地涉及网络安全,并且更具体地,涉及用于利用人工智能自动修复(auto-remediating)安全问题的技术。


背景技术:

4.安全信息和事件管理(siem)是网络安全领域内的子部分,其中软件方案和工具结合了安全信息管理(sim)和安全事件管理(sem)。这些软件方案和工具提供对应用和网络硬件生成的安全通知的实时分析。siem软件通过收集主机系统、安全设备和应用贯穿组织的基础设施而生成的日志和事件数据并在集中式平台上整理日志和事件数据而工作。siem软件方案和工具基于分类规则在此数据(例如防病毒事件和防火墙日志)内标识各种活动,并将活动分类(诸如恶意软件活动、失败和成功登录以及其他潜在的恶意活动)。当软件标识出可能对组织意味着威胁的活动时,通知被生成以指示潜在的安全问题。通过使用一组预定义规则,这些通知可被将设置在各种优先级级别。例如,如果用户帐户在给定时间段内生成多次失败的登录尝试,这可能会被标记为可疑活动,但被设置为较低的优先级级别,因为最有可能是用户已经忘记了他们的登录详细信息。然而,如果帐户在短的给定时间内经历了大量失败的登录尝试,这更可能是正在进行的暴力攻击并被标记为高严重性事故。
5.虽然siem软件方案和工具聚合来自多个源的相关数据并且此数据收集是有意义的,但是siem内的这些过程倾向于产生比安全团队可能预期对其做出响应的通知更多的通知同时仍保持有效。为了协助安全团队完成这些任务,称为soar(安全编排、自动化和响应)的一组软件方案和工具允许安全团队对威胁和漏洞进行管理,并对事故或安全事件做出响应。编排组件提供各种软件方案和工具之间的协调,以无缝集成并相互通信,以建立可重复、可强制执行、可测量且有效的事故响应过程和工作流。自动化组件使用基于规则或策略的系统来半自动地处理线性基础任务和过程,以减少或消除必须被执行的日常动作。一旦通知已被确认,响应组件就处理和管理安全事故,包括分类、遏制、修复、形式化工作流、报告和协作。因此,通过利用siem能力来摄取大量数据和生成通知,soar方案可被用于增强siem方案,以便更好地管理对每个通知的事故响应过程,从而对日常和重复性任务进行自动化和编排(否则这些任务花费安全团队数小时才能完成)。


技术实现要素:

6.提供了用于利用人工智能自动修复安全问题的技术(例如,方法、系统、存储可由一个或多个处理器执行的代码或指令的非暂时性计算机可读介质)。
7.在各种实施例中,提供了一种方法,该方法包括:通过安全体系架构的响应系统获得在来自与用户相关联的发射器的信号内检测到的问题;使用被实现为响应系统的一部分并且将问题作为输入的全局模型来推断第一响应,其中全局模型包括一组全局模型参数,该组全局模型参数是关于使用安全体系架构的所有用户的偏好而全局地从问题和响应之间的映射中学习的;使用被实现为响应系统的一部分并且将问题作为输入的本地模型来推断第二响应,其中本地模型包括一组本地模型参数,该组本地模型参数是关于用户的偏好而本地地从问题和响应之间的映射中学习的;通过响应系统使用标准来评估第一响应和第二响应,这些标准包括:(i)与第一响应和第二响应中的每一个相关联的置信度分数,以及(ii)与全局模型和本地模型中的每一个相关联的权重;基于对第一响应和第二响应的评估,通过响应系统确定对问题的最终响应;以及基于最终响应,通过响应系统从一组响应器(responder)中选择响应器,其中该响应器被调适成采取一个或多个动作来对问题做出响应。
8.在一些实施例中,该方法还包括:在选择响应器之前,使用响应系统针对准确度来对最终响应进行评估,其中准确度是基于最终响应与用户针对该问题所偏好的真实状况响应(groundtruth response)之间的比较来评估的,并且当基于该比较,最终响应与真实状况响应一致时,最终响应的准确度被确定为可接受的,或者当基于该比较,最终响应与真实状况响应不一致时,最终响应的准确度被确定为不可接受的;响应于准确度被确定为不可接受的:为问题生成标签,其中标签包含真实状况响应;将包含真实状况(ground truth)的标签和问题存储在本地数据存储库中;以及基于真实状况而不是最终响应从该一组响应器中选择响应器;以及,响应于准确度被确定为可接受的:为问题生成标签,其中标签包含最终响应;将包含最终响应的标签和问题存储在本地数据存储库和全局数据存储库中;以及基于最终响应从一组响应器中选择响应器。
9.在一些实施例中,该方法还包括:响应于准确度被确定为不可接受的:将包含真实状况的标签和问题存储在通用数据存储库中或将包含真实状况的标签和问题放在数据队列中,以供管理员评估;从管理员接收响应,以关于包含真实状况的标签和问题不采取任何动作,或者使用包含真实状况的标签和问题来训练全局模型;响应于该响应为不采取任何动作,从数据存储库或数据队列中移除包含真实状况的标签和问题;以及响应于该响应为训练全局模型,将包含真实状况的标签和问题存储在全局储存库中。
10.在一些实施例中,该方法还包括:使用来自全局储存库的全局训练数据来训练全局模型,其中全局训练数据包括包含最终响应的标签和问题;以及使用来自本地储存库的本地训练数据来训练本地模型,其中本地训练数据包括包含最终响应的标签和问题。
11.在一些实施例中,该方法还包括:使用来自本地储存库的本地训练数据来训练本地模型,其中本地训练数据包括包含真实状况响应的标签和问题。
12.在一些实施例中,该方法还包括:使用来自全局储存库的全局训练数据来训练全局模型,其中全局训练数据包括包含真实状况响应的标签和问题;以及使用来自本地储存库的本地训练数据来训练本地模型,其中本地训练数据包括包含真实状况响应的标签和问题。
13.在一些实施例中,该方法还包括:通过响应系统执行一个或多个动作以对问题进行响应。
附图说明
14.图1描绘了图示根据各种实施例的用于生成潜在安全问题的通知并利用人工智能自动修复安全问题的计算系统的框图。
15.图2描绘了图示根据各种实施例的具有主动学习(active learning)的响应系统的框图。
16.图3描绘了图示根据各种实施例的用于利用人工智能自动修复安全问题的过程的流程图。
17.图4描绘了图示根据各种实施例的通过被实现为具有主动学习的两个或更多个预测模型来自动修复安全问题的过程的流程图。
18.图5描绘了图示根据各种实施例的用于将云基础设施实现为服务系统的一种模式的框图。
19.图6描绘了图示根据各种实施例的用于将云基础设施实现为服务系统的另一种模式的框图。
20.图7描绘了图示根据各种实施例的用于将云基础设施实现为服务系统的另一种模式的框图。
21.图8描绘了图示根据各种实施例的用于将云基础设施实现为服务系统的另一种模式的框图。
22.图9描绘了图示根据各种实施例的示例计算机系统的框图。
具体实施方式
23.在下面的描述中,将描述各种实施例。出于解释的目的,阐述了具体配置和细节以便提供对实施例的透彻理解。然而,对于本领域的技术人员来说也将清楚的是,可以在没有具体细节的情况下实践这些实施例。此外,可以省略或简化众所周知的特征以便不混淆正在被描述的实施例。
24.引言
25.在各种实施例中,由在siem方案之上分层的soar方案所组成的安全体系架构被作为独立系统提供,其帮助客户在分布式计算环境内(诸如云计算内)保持强大的安全态势。客户使用该安全体系架构来监控他们的租赁(tenancy),并确定分布式计算环境资源是否处于减弱的安全性的状态,或者资源是否处于攻击下。在检测后,安全体系架构会采取纠正动作(corrective action)。在许多方面,soar方案是对siem方案的自然补充。siem在聚集来自整个网络的安全数据方面是有效的,但通常缺乏允许它们为所有这些数据提供上下文(context)的特征。结果是siem用户仍然需要花费大量时间执行手动分类以及研究在无数警报和数据洪流面前变得越来越困难的任务。减少所需的手动工作量需要编排(orchestration)和自动化,并且soar方案能够收集威胁数据,然后自动化可重复的事故响应任务,从而减轻人员的负担。但为了让soar方案有效工作,它们需要可重复的规则或策略、被设计为描述威胁以及如何处理它们的自动化的安全工作流。问题是,这些规则或策略仅与被用于构建它们的数据一样好,并且人类仍然被需要来编排对威胁的整体修复以及如何处理它们。此外,与siem一样,soar可能遭受如数据过载、内部系统上下文缺失以及对外部威胁的视野有限的问题。
26.为了克服这些挑战和其他挑战,各种实施例针对具有soar方案的安全体系架构,其可被用于利用人工智能自动修复安全事件。安全事故(本文中被简称为“问题”)是安全体系架构被调适成对其进行响应和修复的可能的安全事件。问题源自一组信号。随时间重复的相同信号可以指示单个问题,或者多个信号可以指示相同问题。“alice的用户凭证已被泄露”是问题示例。在各种实施例中,由安全体系架构实现的用于自动修复安全问题的技术包括:通过安全体系架构的响应系统获得在来自与用户相关联的发射器的信号内检测到的问题;使用被实现为响应系统的一部分并且将问题作为输入的全局模型来推断第一响应,其中全局模型包括一组全局模型参数,该组全局模型参数是关于使用安全体系架构的所有用户的偏好而全局地从问题和响应之间的映射中学习的;使用被实现为响应系统的一部分并且将问题作为输入的本地模型来推断第二响应,其中本地模型包括一组本地模型参数,该组本地模型参数是关于用户的偏好而本地地从问题和响应之间的映射中学习的;通过响应系统使用标准来评估第一响应和第二响应,这些标准包括:(i)与第一响应和第二响应中的每一个相关联的置信度分数,以及(ii)与全局模型和本地模型中的每一个相关联的权重;基于对第一响应和第二响应的评估,通过响应系统确定对问题的最终响应;以及基于最终响应,通过响应系统从一组响应器中选择响应器,其中该响应器被调适成采取一个或多个动作来对问题做出响应。
27.在一些实例中,由安全体系架构实现的用于自动修复安全问题的技术还包括主动学习,其包括:在选择响应器之前,使用响应系统针对准确度来对最终响应进行评估,其中准确度是基于最终响应与用户针对该问题所偏好的真实状况响应之间的比较来评估的,并且当基于该比较,最终响应与真实状况响应一致时,最终响应的准确度被确定为可接受的,或者当基于该比较,最终响应与真实状况响应不一致时,最终响应的准确度被确定为不可接受的。
28.响应于准确度被确定为不可接受的:为问题生成标签,其中标签包含真实状况响应;将包含真实状况的标签和问题存储在本地数据存储库中;以及基于真实状况而不是最终响应从该一组响应器中选择响应器;以及使用来自本地储存库的本地训练数据训练本地模型,其中本地训练数据包括包含真实状况的标签和问题。
29.进一步响应于准确度被确定为不可接受的:将包含真实状况的标签和问题存储在通用数据存储库中或将包含真实状况的标签和问题放在数据队列中,以供管理员评估;从管理员接收响应,以关于包含真实状况的标签和问题不采取任何动作,或者使用包含真实状况的标签和问题来训练全局模型;响应于该响应为不采取任何动作,从数据存储库或数据队列中移除包含真实状况的标签和问题;以及响应于该响应为训练全局模型,将包含真实状况的标签和问题存储在全局储存库中,并且之后使用来自全局储存库的全局训练数据来训练全局模型,其中全局训练数据包括包含真实状况的标签和问题。
30.响应于准确度被确定为可接受的:为问题生成标签,其中标签包含最终响应;将包含最终响应的标签和问题存储在本地数据存储库和全局数据存储库中;基于最终响应从一组响应器中选择响应器;使用来自全局储存库的全局训练数据来训练全局模型,其中全局训练数据包括包含最终响应的标签和问题;以及使用来自本地储存库的本地训练数据来训练本地模型,其中本地训练数据包括包含最终响应的标签和问题。
31.具有主动学习的安全体系架构
typed internal api)140或未分类的信号处理流145。
35.通过使用强类型内部api 140,经分类的信号130被映射到它们对应的先前已学习或编程的信号类型(或检测器主题(detector topic)),诸如网络流(netflow)、配置和活动。网络流信号是如下互联网协议(ip)信息,它通知设备之间的连接,诸如端口、协议、目标ip地址、源ip地址等等。配置信号是使用控制平面通过在计算系统上设置各种组件的配置参数(例如,指定为公共或私有的对象桶的可见性标志配置)。活动信号是活动(诸如在控制平面或数据平面上发生的api调用)的审计日志。未分类的信号135进入信号处理流145并被传递而通过单独的学习过程。初始地,学习过程被调适成确定围绕未分类的信号135的基础(basics)。这些基础包括输入格式、记录定界符、字段类型和语义。此后,特殊的未分类信号检测器和主题基于这些基础被构建,并且学习过程是被使用来确定未分类的信号135内的正常行为与异常行为的无监督机器学习。异常行为是偏离已学习且众所周知的模式的活动。在一些实例中,针对未分类的信号135的学习过程可能还需要来自客户的标签形式的输入,以帮助和提供有监督学习。学习过程还尝试学习未分类的信号目标。目标标识出作为安全体系架构110配置的主题的基础设施隔间或资源(infrastructure compartment or resource)。安全体系架构110配置对与安全体系架构110监视基础设施租赁内的哪些隔间以及哪些检测器应用于哪些隔间有关的信息进行捕获。目标也可以是具体的saas实例,例如人力资本管理云的实例。目标应该具有标识符,诸如oracle云id(ocid)。学习过程允许响应推荐器为检测到的问题选择正确的响应器。
36.一旦经分类的信号130和/或未分类的信号135被键入或检测器主题被确定,这些信号就被转发到流处理器150中用于实时分析。检测器155订阅进入流处理器150的各种信号类型或检测器主题。订阅实质上创建检测器155与各种信号类型或检测器主题之间的映射。映射可以是多对多映射,其中某些检测器可能对某些数据片段或多个数据片段的某些组合感兴趣,或者其中多个检测器正在消耗相同的数据片段或多个数据片段的组合。检测器155被调适成从信号中导出问题160。例如,安全体系架构110可以支持被订阅到网络流信号并被调适成检测网络流信号内指示问题的异常行为的网络行为异常检测器以及被订阅到配置信号并被调适成检测配置信号内指示问题的异常行为的配置漂移检测器(configuration shift detector)。这些检测器155使用试探法、机器学习、或试探法和机器学习技术的某种组合来检测异常行为并从信号中导出问题160。检测器155可以是无状态的或有状态的。
37.通常,问题160触发被发送到安全团队的(一个或多个)成员的通知,并且(一个或多个)成员审查问题并编排对问题的修复。然而,此传统过程流是时间密集型的并且消耗大量资源(例如,没有足够的(一个或多个)成员可用于在给定时间处理所有问题),因此对问题的响应或修复变得延迟并且与问题的原因脱节。为了克服这些挑战和其他挑战,各种实施例针对响应系统165,该系统可被用于利用人工智能自动修复问题160。可以以多种方式对问题160进行响应,并且被调适成针对问题160采取切实的(tangible)动作175(例如,减轻、纠正或预防动作)的一组响应器170被提供。例如,如果检测器155之一检测到与计算实例有关的问题,则响应器170之一可以采取动作175来隔离该实例。为了确定针对给定问题选择哪个响应器(即,要采取哪个动作),响应推荐(response recommendation)被实现为安全体系架构110的一部分。响应器170由响应推荐器180基于问题类型、问题目标、问题严重
性和其他属性来选择。在一些实例中,用户能够使用指南(guideline)来配置响应推荐器180以限制响应推荐器180可以针对给定问题160推荐什么。例如,用户可能想要指示以下:“不要挂起(suspend)用户,除非他们已n次多因素认证失败,并且来自先前看到过的ip地址。”替代地,对于低严重性的警告,用户可以选择简单的通知。
38.应当理解,重要的是响应推荐器180能够从其错误中进行学习。为此,响应系统165提供反馈回路,也被称为主动学习,其允许用户对响应系统165已经采取的动作175进行纠正并从这些纠正中学习。主动学习是使用人工智能实现的。具体地,响应推荐器180使用两个或更多个预测模型来推断针对给定问题要采取的最佳响应。第一模型(本文中被描述为本地模型)将学习具体用户租赁(例如,特定于于给定的实体或组织)的响应器偏好。一般地,本地模型是更强的模型,并且如果本地模型显示出高置信度,它将被偏好。第二模型(本文中被描述为全局模型)是基础设施范围的(infrastructure-wide)模型,该模型学习所有用户(例如,跨所有实体或组织)通常偏好什么并且将在本地模型被首次学习时早期地被使用。在一些实例中,随着附加的响应推荐器标签经由主动学习被收集,本地模型将接管全局模型。替代地,随着附加的响应推荐器标签经由主动学习被收集,本地模型将与全局模型结合使用。可选的第三模型(本文中被描述为(一个或多个)中间级模型)将学习用户子集(例如,类似的实体或组织,诸如医疗保健相关实体或金融机构)的响应器偏好,并且将与本地模型和/或全局模型结合使用。
39.图2是图示根据各种实施例的具有主动学习的响应系统200的框图。如关于图1所描述的,本例中响应系统200执行的主动学习响应包括几个阶段:问题获取阶段205、模型训练阶段210、具有主动学习的响应推荐阶段215和响应器阶段220。
40.问题获取阶段205包括用于从来自发射器的数据信号导出问题225的一个或多个检测器(例如,关于图1描述的检测器155)以及用于存储问题的一个或多个存储库或数据储存库。检测器给出的问题225可以被相关(correlate)并被分组以减少重复并提升关联性。例如,如果单个行动者从可疑ip执行五个活动,则响应系统200可以将这些活动分组为单个问题。问题可以按照基础设施、发射器、资源类型、标记等进行相关。
41.在新模型230a-230n(n表示任何自然数)(其在本文中可以被个别地称为新模型230或统称为模型230)将在部署之前被训练的实例中,问题225由模型训练阶段210从问题获取阶段205获得并被用于训练新模型230。模型训练阶段210可以训练一个或多个新模型230以供其他阶段在运行时使用。例如,模型训练阶段可以使用人工创建的问题225或相似的本地模型在运行时遇到的历史问题225来在部署之前训练本地模型。在新模型230a-230n在部署之前未被训练的实例中,问题225由响应推荐阶段215从问题获取阶段205获得,并在运行时被用于选择响应器以及全局模型235、本地模型240a-240n和/或中间模型245a-245n的主动学习。各种模型(模型230、235、240、245)可以是任何机器学习(“ml”)模型,诸如梯度提升、随机森林、支持向量机(svm)、卷积神经网络(“cnn”),例如初始神经网络、残差神经网络(“resnet”)、u-net、v-net、单发多框检测器(“ssd”)网络或循环神经网络(“rnn”),或其任何组合。响应系统200可以采用相同类型的模型或不同类型的模型以用于响应预测和推荐。
42.为了在此示例中训练新模型230,问题225可被获得并被布置成用于训练的问题子集225a(例如,90%)和用于验证/测试的映像子集225b(例如,10%)。问题子集225a可以从
检测器获取。在一些实例中,问题子集225a是从与一个或多个检测器相关联的诸如数据库的数据存储结构、siem或soar方案等等获取的。在一些实例中,问题子集225a被预处理和/或增强以准备用于新模型230的训练的问题。例如,问题内的数据可以被归一化以将数据集合中的值更改为公共的尺度而不扭曲值范围的差异,和/或被人为增强以增加可被用于训练模型的数据的多样性而不实际收集新数据。在一些实例中,问题子集225a用标签250进行注释。注释可以由一个或多个人(诸如安全团队成员的注释者)手动执行,从而确认响应于问题子集225a内的每个问题应该被执行的响应并为问题提供标签250。新模型230的标记和训练的主要目标是在响应推荐阶段215内部署该模型之前改进对问题的响应的推断。
43.训练过程包括为新模型230选择超参数(hyperparameter)并且执行将问题从问题子集225a输入到新模型230以找到使新模型230的目标函数最小化的一组模型参数(例如,权重和/或偏差)的迭代操作。超参数是可被调整或优化以控制新模型230的行为的设置。大多数模型明确定义了控制模型不同方面的超参数,诸如存储器或执行成本。然而,附加的超参数可被定义以使模型适应具体场景。例如,超参数可能包括模型的隐藏单元数、模型的学习率、损失项之间的加权、卷积内核宽度、模型的内核数、学习率、批大小(batch size)和批组成(batch composition)。
44.训练的每次迭代可以涉及为新模型230(配置有一组定义的超参数)寻找一组模型参数,使得使用该组模型参数的目标函数的值小于在先前迭代中使用一组不同模型参数的目标函数的值。目标函数可被构建为测量使用新模型230推断的输出与使用标签250注释到该问题的真实状况之间的差异。一旦标识出一组模型参数,新模型230就已经被训练并且可以使用映像子集225b(测试或验证数据集合)被验证。验证过程包括使用诸如k折交叉验证、留一交叉验证、留一组交叉验证、嵌套交叉验证等等的验证技术将来自问题子集225b的问题输入到新模型230中以调整超参数并最终找到最佳超参数集的迭代操作。一旦最佳超参数集被获得,来自问题子集225b的保留映像测试集合就被输入到新模型230中以获得输出(在此示例中,输出是推断响应或对响应器的选择),并且使用相关技术(诸如bland-altman方法和spearman秩相关系数)以及计算性能度量(诸如误差、准确度、精度、召回率、接受者操作特征曲线(roc)等)来相对于真实状况响应评估该输出。
45.应当被理解,其他训练/验证机制被设想并且可以在响应系统200内实现。例如,新模型230可被训练,并且超参数可以关于来自问题子集225a的问题被调整,并且来自问题子集225b的问题可以仅用于测试和评估模型的性能。此外,尽管关于模型230描述的训练机制集中于训练新的模型。这些训练机制也可被用于微调从其他数据集训练的现有模型235、240、245,或者在部署之前仅被部分训练或根本没有被训练的那些模型。例如,在一些实例中,模型235、240、245可能已经使用从其他实体或响应系统检测到的问题被预训练,或模型235、240、245可以使用在部署期间实时检测到的问题被持续训练。在这样的实例中,作为本文详细描述的反馈回路或主动学习过程的一部分,模型230、235、240、245可以被持续地重新训练(并且可选地,被重新测试/验证)。
46.模型训练阶段210输出经训练的新模型230,未训练的模型235、240、245或经重新训练的模型235、240、245,以供响应推荐阶段215使用。响应推荐阶段215包括被调适成为给定问题225生成响应的推断或预测的响应推荐器255。响应推荐器255包括全局模型235、一个或多个本地模型240a-240n,可选地一个或多个中间模型245a-245n,鉴别器260和监控
器/分析器265。响应推荐器255使用两个或更多个预测模型(即,从全局模型235、本地模型240和中间模型245中选择的两个或更多个模型)以推断针对给定问题225要采取的最佳响应。本地模型240已经学习或被调适成学习针对具体用户租赁的响应器偏好(例如,特定于给定的实体或组织)。一般地,本地模型240是更强的模型,并且如果本地模型240显示出更高的置信度分数,则本地模型240应该被偏好。全局模型235是基础设施范围的模型,其已经学习或被调适成学习所有用户(例如,跨所有实体或组织)通常偏好什么并且将在本地模型240正在被初始地学习或优化时被早期地使用。随着附加的响应推荐器标签经由主动学习收集并被用于训练本地模型240(经由模型训练阶段210),本地模型240可以接管全局模型235。替代地,随着附加的响应推荐器标签经由主动学习被收集并被用于训练本地模型240(经由模型训练阶段210),本地模型240可以与全局模型235结合使用。可选的中间级模型245已经学习或被调适成学习针对用户子集(例如,类似的实体或组织,诸如医疗保健相关实体或金融机构)的响应器偏好,并且可以与本地模型240和/或全局模型235结合使用。
47.如本文所述,问题225被输入到两个或更多个预测模型(即,从全局模型235、本地模型240和中间模型245中选择的两个或更多个模型),每个模型基于问题的特征(例如,所发现的特征模式)生成推断响应(inferred response),并且来自该多个推断响应的最终响应(例如,最佳响应)是由鉴别器260针对给定问题225确定的。最终响应可以是使用一个或多个标准来确定的。在一些实例中,该一个或多个标准包括该两个或更多个预测模型的加权。该两个或更多个预测模型的权重可以随着模型条件的更改而动态地更改(例如,随着本地模型变为被训练和验证,该模型的权重可以增加)。例如,当新用户首次上线时,他们的本地模型240可能几乎没有训练,因此全局模型235可被分配比本地模型240更高的权重(可选地,中间模型245可被分配中间值权重或最高值权重),这可能导致全局模型235和/或中间模型245的推断响应基于对来自每个模型的加权响应的排序而成为最终响应。
48.在一些实例中,该一个或多个标准包括来自该两个或更多个预测模型中的每一个的推断响应的置信度分数。例如,全局模型235可能提供具有80%的置信度分数的推断响应,并且本地模型240可能提供具有85%的置信度分数的推断响应,这可能导致本地模型240的推断响应基于对来自每个模型的推断响应的置信度分数的排序而成为最终响应。在一些实例中,该一个或多个标准包括两个或更多个预测模型的加权以及来自两个或更多个预测模型中的每一个的推断响应的置信度分数。例如,一旦本地模型240开始训练并且其模型参数变为被学习的,则应用于本地模型240的加权可被增加到与全局模型235的加权相当或超过全局模型235的加权的点。此外,全局模型235可能提供具有87%的置信度分数的推断响应,并且本地模型240可能提供具有87%的置信度分数的推断响应,这可能导致本地模型240的推断响应基于对将各个模型的权重考虑在内的置信度分数的排序而成为最终响应。
49.响应推荐器255适用于以两种模式运行:(i)正常模式,其中响应推荐器255推断对给定问题225的响应并基于推断响应选择响应器,以及(ii)测试模式,其中响应推荐器255在主动学习环境内推断给定问题225的响应,在主动学习环境中,响应推荐器255在选择响应器之前询问用户(例如,安全团队成员)和/或监控器/分析器265以接受或拒绝推断响应(并可选地在拒绝推断响应的情况下提供正确或真实状况响应)。对推断响应(以及可选地所提供的正确或真实状况响应)的接受或拒绝被用于生成和提供标签250,用于模型235、
240、245的重新训练或持续训练。响应系统200的用户可以打开/关闭这两种模式(例如,打开/关闭测试模式)。在一些实例中,在给定模型的成功测试/验证后(例如,模型实现了超过预定阈值的推断准确度),响应系统200可以提示用户关闭测试模式(替代地打开正常模式)或者可以自动关闭测试模式(替代地打开正常模式)以停止或搁置对(一个或多个)模型的训练。在一些实例中,在检测到给定模型的模型漂移后(例如,模型性能已经漂移到可接受的标准之外),响应系统200可以提示用户打开测试模式(替代地关闭正常模式)或者可以自动打开测试模式(替代地关闭正常模式)以发起对(一个或多个)模型的重新训练。在一些实例中,响应系统200可以一直处于测试模式以允许对(一个或多个)模型的持续主动学习和训练。
50.模型235、240、245在三种上下文中被训练和主动学习:(i)全局地(globally),其是全局模型235如何已关于使用安全体系架构的所有组织或实体的偏好来全局地学习问题和响应之间的映射,(ii)本地地(locally),其是本地模型240各自如何已关于使用安全体系架构的每个组织或实体的偏好来学习问题和响应之间的映射,以及(iii)区域性地(regionally),其是中间模型245如何已关于使用安全体系架构的组织或实体的子组的偏好来区域性地学习问题和响应之间的映射。在其中从用户或监控器/分析器265获得正确或真实状况响应的主动学习期间,在这些上下文中的每一个内,正确或真实状况响应被用于生成和提供标签250,以供用于模型235、240、245的重新或持续训练。从主动学习生成的标签250可以分别被存储在全局储存库270、本地储存库275和中间储存库280中。因此,主动学习实现了两件事:(i)对问题的响应(由模型生成或由用户纠正),其可被用于对响应器的选择,以及(ii)经标记的数据,用于模型235、240、245的重新或持续训练。
51.例如,如果新用户上线,他们可以从运行全局模型235和本地模型240的响应推荐器255开始,全局模型235是在跨所有实体或组织的问题和响应上被持续训练的,本地模型240是以下两者之一:(i)在不一定特定于该新用户的训练数据(例如,人工创建的训练数据集225a)上预训练而学习一组初始模型参数,或者(ii)未被训练的,具有被预先选择并准备好被学习的模型参数。初始地,当问题开始由安全体系架构检测到时,新用户的响应推荐器255可以被配置在测试模式中,每个问题将被输入到全局模型235和本地模型240,并且两个模型235、240将使用每个模型的模型参数来基于与问题相关联的特征生成推断响应。鉴别器260将评估推断响应并提供什么将被确定为最终推断响应(在此示例中,最终推断响应最有可能是来自全局模型235的推断响应)。监控器/分析器265将监控鉴别器260的输出,并且当在测试模式时,将最终推断响应提供给用户以用于准确度的评估,或自动评估最终推断响应的准确度。如果新用户和/或监控器/分析器265确定最终推断响应关于新用户的偏好是准确的,则响应推荐器255发起针对该问题的标签250的生成,该标签包含该最终推断响应。该问题和相关联的标签250被存储在全局储存库270和本地存储库275两者中,用于两个模型235、240的正强化训练(positive reinforcement training)。
52.替代地,如果新用户和/或监控器/分析器265确定最终推断响应关于新用户的偏好是不准确的,则新用户和/或监控器/分析器265将提供正确或真实状况响应,并且响应推荐器255发起标签250的生成,该标签包含对该问题的正确或真实状况响应。该问题和相关联的标签250被存储在本地储存库275中,用于本地模型240的纠正训练。此外,该问题和相关联的标签250被存储在通用存储库中和/或放置在数据队列中,以供安全体系架构的管理
员评估。管理员将评估该问题和相关联的标签250以确定它是否应该被包括在全局储存库270中以用于全局模型235的纠正训练。例如,如果问题具有全局模型235以前从未见过的一组特征,则该推断响应很可能是因为第一印象的实例而不准确,并且管理员可以确定该问题和相关联的标签250应该被包括在全局储存库270中以用于全局模型240的纠正训练。相反,如果该问题具有全局模型235之前看到过的一组特征,并且该推断响应至少关于实体或组织的全局社区(global community)是准确的,则该推断响应很可能是因为新用户的偏好(例如,新用户有他们采取的特定于该用户上下文的响应)而不准确,并且管理员可以确定该问题和相关联的标签250不应被包括在全局储存库270中以用于全局模型235的纠正训练。因此,全局模型由人类管理员精心规划,以免在其训练和使用中引入噪声。
53.在一些实例中,新用户和/或监控器/分析器265针对准确度对最终响应的评估包含最终响应与该用户针对该问题所偏好的真实状况响应之间的比较,并且,当基于该比较,最终响应与真实状况响应一致时,最终响应的准确度被确定为可接受的,或者当基于该比较,最终响应与真实状况响应不一致时,最终响应的准确度被确定为不可接受的。真实状况可由用户手动提供和/或由监控器/分析器265自动提供(例如,从储存库检索)。可以以多种方式确定一致性,例如,完全的、基本上完全的、或部分的一致/匹配。在一些实例中,一致是完全的匹配。例如,最终响应——“提出多因素认证”将被确定为与真实状况——“提出多因素认证”一致/匹配。在附加或替代实例中,一致是基本上完全的一致/匹配或至少是部分的一致/匹配。如本文所用,术语“基本上”、“大约”和“约”被定义为如本领域普通技术人员所理解的那样在很大程度上是但不一定完全是指定的内容(并且包括完全是指定的内容的情况)。在任何公开的实施例中,术语“基本上”、“大约”或“约”可以被替换为“在指定的内容[百分比]内”,其中百分比包括0.1%、1%、5%和10%。例如,最终响应——“提升认证级别”将被确定为与真实状况——“提出多因子认证”一致/匹配。替代地,最终响应——“提升认证级别”将被确定为与真实状况——“提出多因子认证”和/或“挂起用户帐户”一致/匹配。
[0054]
在一些实例中,新用户和/或监控器/分析器265针对准确度对最终响应的评估还包括对最终响应的解释的分析。在一些实例中,模型235、340、245中的每个模型被调适成以简单的术语解释它们的推断。例如:“我建议挂起此用户,因为他们已经生成了n个mfa问题,并且在大多数此类情况下,您已经表达挂起是正确的响应(标签)。”虽然一些ml模型是黑匣子(没有或几乎没有能力来解释决策),但其他算法实际上是可以解释的。例如,梯度提升机可以被构造为一组浅层决策树(shallow decisions trees)。用于提供解释的估计器可以通过减少模型中的树的数量并且然后遍历树来创建解释而创建。诸如svm(支持向量机)的其他模型也支持以特征重要性的形式的解释。
[0055]
响应推荐器255还被调适成基于鉴别器260的输出(即最终推断响应)或用户和/或监控器/分析器265的输出(即正确或真实状况响应)从响应器阶段220选择响应器285。响应器阶段220包括多个响应器285以供响应推荐器255选择,并且每个响应器与一个或多个动作290a-290n相关联以供安全体系架构自动采取以用于对给定问题的响应或修复。响应器285可以包括主动响应器,包括:隔离响应器(quarantine responder,)、关闭和快照响应器(shut down and snap shot responder,)、禁用桶响应器(disable bucket responder)、提出多因素认证(mfa)响应器、挂起用户帐户响应器、恢复配置响应器(revert configuration responder)、添加到黑名单响应器,禁用公共ip响应器等等。响应器285可
以包括被动响应器,包括:通知响应器、事件响应器和日志响应器。
[0056]
隔离响应器将采取动作以通过禁用对具体基础设施资源(诸如计算)的网络访问的方式来隔离这些资源。关闭和快照响应器将采取动作以停止计算资源并立即拍摄该实例的快照。此响应器将停止与计算资源相关联的威胁,同时允许用户捕获在问题检测时的状态。禁用桶响应器将采取动作来禁用(但不删除)配置错误的对象存储桶。例如,已被给予公共访问的桶可以通过此响应器而被禁用。mfa响应器将采取动作来强制最终用户通过多因素认证来认证。挂起用户账户响应器将采取动作来挂起oci用户账户。恢复配置响应器将采取动作来回滚用户所做的配置更改。添加到黑名单响应器将采取动作来将源ip地址添加到用户cp/dp黑名单。禁用公共ip响应器将采取动作来从基础设施资源(诸如计算)中移除公共ip地址。通知响应器将采取动作来将基础设施通知服务配置为通过可用的通知方法传递问题。事件响应器将采取动作来发出启用标准事件输出的云事件:通知、流和函数。日志响应器将采取动作来通过基础设施日志服务将问题作为日志传递。
[0057]
利用人工智能自动修复安全问题
[0058]
图3和图4图示了利用人工智能自动修复安全问题的过程和操作。各个实施例可被描述为被描绘为流程图、流图、数据流图、结构图或框图的过程。尽管流程图可以将操作描述为顺序过程,但是这些操作中的许多操作可以并行或同时执行。此外,操作的次序可被重新布置。过程在其操作完成时终止,但可能有图中未包括的其他步骤。过程可以对应于方法、函数、程序、子例程、子程序等。当过程对应函数时,它的终止可以对应于函数到调用函数或主函数的返回。
[0059]
图3和图4中描绘的过程和/或操作可以在由一个或多个处理单元(例如,处理器核心)、硬件或其组合执行的软件(例如,代码、指令、程序)中实现。软件可以存储在存储器中(例如,在存储器设备上,在非暂时性计算机可读存储介质上)。图3和图4中的特定系列的处理步骤并非旨在限制。根据替代实施例,其他顺序的步骤也可被执行。例如,在替代实施例中,上面概述的步骤可被以不同的次序执行。此外,图3和图4所示的各个步骤可以包括可以以适合于各个步骤的各种顺序执行的多个子步骤。此外,附加的步骤可以取决于特定应用而被添加或移除。本领域的普通技术人员将认识到许多变型、修改和替代。
[0060]
图3示出了图示用于利用两个或更多个预测模型自动修复安全问题的过程的流程图300。在一些实施例中,流程图300中描绘的过程可以由图1和图2中描绘的体系架构、系统和技术来实现。例如,这些过程可以在具有主动学习的响应系统中实现以自动化对响应器的选择,作为对安全体系架构内检测到的问题的响应。响应系统实现在以下至少两种上下文中主动学习的至少两个模型:(i)全局地,其是全局模型如何已关于使用安全体系架构的所有用户的偏好来全局地学习问题和响应之间的映射,(ii)本地地,其是本地模型如何已关于使用安全体系架构的每个用户的偏好来学习问题和响应之间的映射。
[0061]
在步骤305处,问题被安全体系架构的响应系统获得。该问题可能已被检测器在来自与用户相关联的发射器的信号内检测到。该问题是安全体系架构被调适成对其进行响应和修复的可能的安全事件。
[0062]
在步骤310处,使用被实现为响应系统的一部分并且将问题作为输入的全局模型来推断第一响应。全局模型包括关于使用安全体系架构的所有用户(例如,所有实体或组织)的偏好而全局地从问题和响应之间的映射学习到的一组全局模型参数。换句话说,该组
全局模型参数是从包括如下标签和问题的训练数据中学习的(即,有监督学习),这些标签和问题包括复制了使用安全体系架构的所有用户的偏好的真实状况响应。偏好是这些用户期望对问题采取的响应。“alice的用户凭证已被泄露”是给定问题的示例,并且“挂起用户帐户”和/或“关闭并快照”是用户的全局社区所偏好的响应的示例。
[0063]
在步骤315处,使用被实现为响应系统的一部分并且将问题作为输入的本地模型来推断第二响应。本地模型包括关于用户(例如,实体或组织)的偏好来本地地从问题和响应之间的映射学习到的一组本地模型参数。换句话说,该组本地模型参数是从包括如下标签和问题的训练数据中学习到的(即,有监督学习),这些标签和问题包括复制了使用安全体系架构的该用户的偏好的真实状况响应。偏好是该用户期望对问题采取的响应。“alice的用户凭据已被泄露”是给定问题的示例,并且“提出多因素认证”是该用户所偏好的响应。
[0064]
在可选的步骤320处,使用被实现为响应系统的一部分并且将问题作为输入的中间模型来推断第三响应。第三响应可以被推断作为第一响应的替代,或者作为第一响应和第二响应的补充。中间模型包括关于使用安全体系架构的用户子组(例如,给定行业内的实体或组织)的偏好而区域地从问题和响应之间的映射学习的一组区域模型参数。换句话说,该组区域模型参数是从包括如下标签和问题的训练数据中学习到的(即,有监督学习),这些标签和问题包括复制了使用安全体系架构的用户子组的偏好的真实状况响应。偏好是该用户子组期望对问题采取的响应。“alice的用户凭据已被泄露”是给定问题的示例,并且“挂起用户帐户”和/或“提出多因素认证”是用户的该区域性社区所偏好的响应的示例。
[0065]
在步骤325处,第一响应和第二响应(以及可选地第三响应)使用标准来被评估。在一些实例中,标准包括全局模型和本地模型(以及可选地中间模型)的加权。模型的权重可以随着模型条件的更改而动态地更改(例如,随着本地模型变为被训练和验证,该模型的权重可以增加)。例如,当新用户首次上线时,他们的本地模型可能几乎没有训练,因此全局模型可能被分配比本地模型更高的权重(可选地,中间模型可以被分配中间值权重或最高值权重),这可能导致全局和/或中间模型的推断响应基于来自每个模型的加权响应的排序而成为最终响应。
[0066]
在一些实例中,标准包括来自全局模型和本地模型(以及可选地中间模型)中的每一个模型的推断响应的置信度分数。置信度分数可以根据任何已知过程(例如,softmax、预测函数/操作、贝叶斯网络等等都是可以被实现以估计模型的预测的置信度的已知过程)来计算。例如,全局模型可能提供具有80%的置信度分数的推断响应,而本地模型可能提供具有85%的置信度分数的推断响应,这可能导致本地模型的推断响应基于来自每个模型的推断响应的置信度分数的排序而成为最终响应。在一些实例中,标准包括:(i)与第一响应和第二响应(以及可选地第三响应)中的每一个响应相关联的置信度分数,以及(ii)与全局模型和本地模型(以及可选地中间模型)中的每一个模型相关联的权重。
[0067]
在步骤330处,由响应系统基于对第一响应和第二响应(以及可选地第三响应)的评估来为问题确定最终响应。例如,如果按照权重对模型的排序指示全局模型响应是最佳响应(例如,基于加权而被最高排序的模型),则第一响应被确定为最终响应。替代地,如果按照置信度分数对模型的排序指示本地模型响应是最佳响应(例如,基于置信度分数而被最高排序的响应),则第二响应被确定为最终响应。替代地,如果按照考虑权重的置信度分数对模型的排序指示本地模型响应是最佳响应(例如,基于按照考虑权重的置信度分数而
被最高排序的响应/模型),则第二响应被确定为最终响应。
[0068]
在步骤335处,由响应系统基于最终响应从一组响应器中选择响应器。该响应器被调适成采取一个或多个动作来对问题进行响应。例如,如果最终响应是“挂起用户账户”,那么响应系统将选择挂起用户账户响应器来采取挂起用户账户的动作以解决“alice的用户凭证已被泄露”的问题。
[0069]
在步骤340处,响应系统执行该一个或多个动作以基于所选择的响应器对问题进行响应。例如,挂起用户账户响应器采取挂起用户账户的动作来解决“alice的用户凭证已被泄露”的问题。
[0070]
图4示出了图示通过被实现为具有主动学习的两个或更多个预测模型来自动修复安全问题的过程的流程图400。在一些实施例中,流程图400中描绘的过程可以由图1和图2中描绘的体系架构、系统和技术来实现。例如,这些过程可以在具有主动学习的响应系统中实现以自动化对响应器的选择,作为对安全体系架构内检测到的问题的响应。响应系统实现在以下至少两种上下文中主动学习的至少两个模型:(i)全局地,其是全局模型如何已关于使用安全体系架构的所有用户的偏好来全局地学习问题和响应之间的映射,(ii)本地地,其是本地模型如何已关于使用安全体系架构的每个用户的偏好来学习问题和响应之间的映射。
[0071]
在步骤405处,问题被安全体系架构的响应系统获得。该问题可能已被检测器在来自与用户相关联的发射器的信号内检测到。该问题是安全体系架构被调适成对其进行响应和修复的可能的安全事件。
[0072]
在步骤410处,使用被实现为响应系统的一部分并且将问题作为输入的全局模型来推断第一响应。全局模型包括关于使用安全体系架构的所有用户(例如,所有实体或组织)的偏好而全局地从问题和响应之间的映射学习到的一组全局模型参数。换句话说,该组全局模型参数是从包括如下标签和问题的训练数据中学习的(即,有监督学习),这些标签和问题包括复制了使用安全体系架构的所有用户的偏好的真实状况响应。偏好是这些用户期望对问题采取的响应。“alice的用户凭证已被泄露”是给定问题的示例,并且“挂起用户帐户”和/或“关闭并快照”是用户的全局社区所偏好的响应的示例。
[0073]
在步骤415处,使用被实现为响应系统的一部分并且将问题作为输入的本地模型来推断第二响应。本地模型包括关于用户(例如,实体或组织)的偏好来本地地从问题和响应之间的映射学习到的一组本地模型参数。换句话说,该组本地模型参数是从包括如下标签和问题的训练数据中学习到的(即,有监督学习),这些标签和问题包括复制了使用安全体系架构的该用户的偏好的真实状况响应。偏好是该用户期望对问题采取的响应。“alice的用户凭据已被泄露”是给定问题的示例,并且“提出多因素认证”是该用户所偏好的响应。
[0074]
在可选的步骤420处,使用被实现为响应系统的一部分并且将问题作为输入的中间模型来推断第三响应。第三响应可以被推断作为第一响应的替代,或者作为第一响应和第二响应的补充。中间模型包括关于使用安全体系架构的用户子组(例如,给定行业内的实体或组织)的偏好而区域地从问题和响应之间的映射学习的一组区域模型参数。换句话说,该组区域模型参数是从包括如下标签和问题的训练数据中学习到的(即,有监督学习),这些标签和问题包括复制了使用安全体系架构的用户子组的偏好的真实状况响应。偏好是该用户子组期望对问题采取的响应。“alice的用户凭据已被泄露”是给定问题的示例,并且“挂起用户帐户”和/或“提出多因素认证”是用户的该区域性社区所偏好的响应的示例。
[0075]
在步骤425处,第一响应和第二响应(以及可选地第三响应)使用标准来被评估。在一些实例中,标准包括全局模型和本地模型(以及可选地中间模型)的加权。模型的权重可以随着模型条件的更改而动态地更改(例如,随着本地模型变为被训练和验证,该模型的权重可以增加)。例如,当新用户首次上线时,他们的本地模型可能几乎没有训练,因此全局模型可能被分配比本地模型更高的权重(可选地,中间模型可以被分配中间值权重或最高值权重),这可能导致全局和/或中间模型的推断响应基于来自每个模型的加权响应的排序而成为最终响应。
[0076]
在一些实例中,标准包括来自全局模型和本地模型(以及可选地中间模型)中的每一个模型的推断响应的置信度分数。置信度分数可以根据任何已知过程(例如,softmax、预测函数/操作、贝叶斯网络等等都是可以被实现以估计模型的预测的置信度的已知过程)来计算。例如,全局模型可能提供具有80%的置信度分数的推断响应,而本地模型可能提供具有85%的置信度分数的推断响应,这可能导致本地模型的推断响应基于来自每个模型的推断响应的置信度分数的排序而成为最终响应。在一些实例中,标准包括:(i)与第一响应和第二响应(以及可选地第三响应)中的每一个响应相关联的置信度分数,以及(ii)与全局模型和本地模型(以及可选地中间模型)中的每一个模型相关联的权重。
[0077]
在步骤430处,由响应系统基于对第一响应和第二响应(以及可选地第三响应)的评估来为问题确定最终响应。例如,如果按照权重对模型的排序指示全局模型响应是最佳响应(例如,基于加权而被最高排序的模型),则第一响应被确定为最终响应。替代地,如果按照置信度分数对模型的排序指示本地模型响应是最佳响应(例如,基于置信度分数而被最高排序的响应),则第二响应被确定为最终响应。替代地,如果按照考虑权重的置信度分数对模型的排序指示本地模型响应是最佳响应(例如,基于按照考虑权重的置信度分数而被最高排序的响应/模型),则第二响应被确定为最终响应。
[0078]
在步骤435处,由响应系统针对准确度评估最终响应。准确度是基于最终响应与用户对于该问题所偏好的真实状况响应之间的比较来评估的,并且,当基于该比较,最终响应与真实状况响应响应一致时,最终响应的准确度被确定为可接受的,或者当基于该比较,最终响应与真实状况响应不一致时,最终响应的准确度被确定为不可接受的。真实状况可以由用户手动提供和/或由响应系统的监控器/分析器组件自动提供(例如,从储存库检索)。可以以多种方式确定一致性,例如,完全的、基本上完全的、或部分的一致/匹配。在一些实例中,一致是完全的匹配。在附加或替代实例中,一致是基本上完全的一致/匹配或至少是部分的一致/匹配。
[0079]
在步骤440处,响应于准确度被确定为是不可接受的,响应系统:(i)为问题生成标签(该标签包含真实状况响应),(ii)将包含真实状况的标签和问题存储在本地数据存储库(储存库)中,(iii)在步骤475处基于真实状况而不是最终响应从一组响应器中选择响应器。该响应器被调适成采取一个或多个动作来对问题进行响应。例如,如果真实状况是“挂起用户账户”,那么响应系统将选择挂起用户账户响应器以采取挂起用户账户的动作来解决“alice的用户凭证已被泄露”的问题。
[0080]
在步骤445处,响应系统使用来自本地储存库的本地训练数据发起本地模型的训练(即,主动学习)。本地训练数据包括包含真实状况的标签和问题。该训练可被持续地发
起,使得本地模型的本地模型参数持续地从本地训练数据中学习。替代地,训练可以成批次发起或者按已调度的过程发起以用于重新训练,使得本地模型的本地模型参数周期性地从本地训练数据中学习。
[0081]
在步骤450处,响应于准确度被确定为不可接受,响应系统:(i)将包含真实状况的标签和问题存储在通用数据存储库中,或将包含真实状况的标签和问题放入数据队列中,以供管理员评估,(ii)接收管理员的响应以要么对包含真实状况的标签和问题不采取任何动作,要么使用包含真实状况的标签和问题训练全局模型,(iii)响应于响应为不采取任何动作,从数据存储库或数据队列移除包含真实状况的标签和问题,以及(iv)响应于响应为训练全局模型,将包含真实状况的标签和问题存储在全局储存库中
[0082]
在步骤455处,响应系统使用来自全局储存库的全局训练数据发起全局模型的训练(即,主动学习)。全局训练数据包括包含真实状况的标签和问题。该训练可被持续地发起,使得全局模型的全局模型参数持续地从全局训练数据中学习。替代地,训练可以成批次发起或者按已调度的过程发起以用于重新训练,使得全局模型的全局模型参数周期性地从全局训练数据中学习。
[0083]
在步骤460处,响应于准确度被确定为可接受的,响应系统:(i)为问题生成标签(该标签包含最终响应),以及(ii)将包含最终响应的标签和问题存储在本地数据存储库和全局数据存储库中。
[0084]
在步骤465处,响应系统使用来自全局储存库的全局训练数据发起全局模型的训练(即,主动学习)。全局训练数据包括包含真实状况的标签和问题。该训练可被持续地发起,使得全局模型的全局模型参数持续地从全局训练数据中学习。替代地,训练可以成批次发起或者按已调度的过程发起以用于重新训练,使得全局模型的全局模型参数周期性地从全局训练数据中学习。
[0085]
在步骤470处,响应系统使用来自本地储存库的本地训练数据发起本地模型的训练(即,主动学习)。本地训练数据包括包含真实状况的标签和问题。该训练可被持续地发起,使得本地模型的本地模型参数持续地从本地训练数据中学习。替代地,训练可以成批次发起或者按已调度的过程发起以用于重新训练,使得本地模型的本地模型参数周期性地从本地训练数据中学习。
[0086]
在步骤475处,由响应系统基于最终响应从一组响应器中选择响应器。该响应器被调适成采取一个或多个动作来对问题进行响应。例如,如果最终响应是“挂起用户账户”,那么响应系统将选择挂起用户账户响应器以采取挂起用户账户的动作来解决“alice的用户凭证已被泄露”的问题。
[0087]
在步骤480处,响应系统执行该一个或多个动作来对问题进行响应。例如,挂起用户账户响应器采取挂起用户账户的动作来解决“alice的用户凭证已被泄露”的问题。
[0088]
说明性系统
[0089]
如以上所指出的,基础设施即服务(iaas)是一种特定类型的云计算。iaas可以被配置为通过公共网络(例如,互联网)提供虚拟化计算资源。在iaas模型中,云计算提供商可以托管基础设施组件(例如,服务器、存储设备、网络节点(例如,硬件)、部署软件、平台虚拟化(例如,管理程序层)等)。在一些情况下,iaas提供商还可以提供各种服务来伴随这些基础设施组件(例如,计费、监视、记载、安全性、负载平衡和聚类等)。因此,由于这些服务可能
是策略驱动的,因此iaas用户可以能够实现策略来驱动负载平衡,以维持应用的可用性和性能。
[0090]
在一些情况下,iaas客户可以通过诸如互联网之类的广域网(wan)访问资源和服务,并且可以使用云提供商的服务来安装应用栈的剩余元素。例如,用户可以登录到iaas平台以创建虚拟机(vm)、在每个vm上安装操作系统(os)、部署诸如数据库之类的中间件、为工作负载和备份创建存储桶,甚至将企业软件安装到那个vm中。然后,客户可以使用提供商的服务来执行各种功能,包括平衡网络流量、解决应用问题、监视性能、管理灾难恢复等。
[0091]
在大多数情况下,云计算模型将需要云提供商的参与。云提供商可以但不一定是专门提供(例如,供应、出租、销售)iaas的第三方服务。实体也可能选择部署私有云,从而成为其自己的基础设施服务提供商。
[0092]
在一些示例中,iaas部署是将新应用或应用的新版本放置到准备好的应用服务器等上的处理。它还可以包括准备服务器(例如,安装库、守护进程等)的处理。这通常由云提供商管理,位于管理程序层之下(例如,服务器、存储装置、网络硬件和虚拟化)。因此,客户可以负责处理(os)、中间件和/或应用部署(例如,在(例如,可以按需启动的)自助服务虚拟机等上)。
[0093]
在一些示例中,iaas供应(provision)可以指获取计算机或虚拟主机以供使用,甚至在它们上安装所需的库或服务。大多数情况下,部署不包括供应,并且供应可能需要被首先执行。
[0094]
在一些情况下,iaas供应存在两个不同的挑战。首先,在任何东西运行之前供应初始基础设施集存在最初的挑战。其次,一旦所有东西已被供应,就存在演进现有基础设施(例如,添加新服务、更改服务、移除服务等)的挑战。在一些情况下,可以通过启用以声明方式定义基础设施的配置来解决这两个挑战。换句话说,基础设施(例如,需要哪些组件以及它们如何交互)可以由一个或多个配置文件来定义。因此,基础设施的总体拓扑(例如,哪些资源依赖于哪些资源,以及它们如何协同工作)可以以声明的方式描述。在一些情况下,一旦定义了拓扑,就可以生成创建和/或管理配置文件中描述的不同组件的工作流。
[0095]
在一些示例中,基础设施可以具有许多互连的元素。例如,可能存在一个或多个虚拟私有云(vpc)(例如,可配置和/或共享计算资源的潜在按需池),也称为核心网络。在一些示例中,还可以供应一个或多个安全组规则以定义如何设置网络的安全性以及一个或多个虚拟机(vm)。也可以供应其它基础设施元素,诸如负载平衡器、数据库等。随着期望和/或添加越来越多的基础设施元素,基础设施可以逐步演进。
[0096]
在一些情况下,可以采用连续部署技术来使得能够跨各种虚拟计算环境部署基础设施代码。此外,所描述的技术可以使得能够在这些环境内进行基础设施管理。在一些示例中,服务团队可以编写期望部署到一个或多个但通常是许多不同的生产环境(例如,跨各种不同的地理位置,有时跨越整个世界)的代码。但是,在一些示例中,必须首先设置将在其上部署代码的基础设施。在一些情况下,供应可以手动完成,可以利用供应工具供应资源,和/或一旦供应基础设施就可以利用部署工具部署代码。
[0097]
图5是图示根据至少一个实施例的iaas体系架构的示例模式的框图500。服务运营商502可以通信地耦合到可以包括虚拟云网络(vcn)506和安全主机子网508的安全主机租赁504。在一些示例中,服务运营商502可以使用一个或多个客户端计算设备,其可以是便携
式手持设备(例如,蜂窝电话、计算平板、个人数字助理(pda))或可穿戴设备(例如,google头戴式显示器)、运行软件(诸如microsoft windows)和/或各种移动操作系统(诸如ios、windows phone、android、blackberry 8、palm os等),并且支持互联网、电子邮件、短消息服务(sms)、或其它通信协议。替代地,客户端计算设备可以是通用个人计算机,包括例如运行各种版本的microsofta8le和/或linux操作系统的个人计算机和/或膝上型计算机。客户端计算设备可以是运行各种商业上可获得的或类unix操作系统,包括但不限于各种gnu/linux操作系统(诸如例如google chrome os)中的任何一种的工作站计算机。替代地或附加地,客户端计算设备可以是任何其它电子设备,诸如瘦客户端计算机、支持互联网的游戏系统(例如,具有或不具有手势输入设备的microsoft xbox游戏控制台),和/或能够通过可以访问vcn 506和/或互联网的网络进行通信的个人消息传递设备。
[0098]
vcn 506可以包括本地对等网关(lpg)510,其可以经由包含在ssh vcn 512中的lpg 510通信地耦合到安全壳(ssh)vcn 512。ssh vcn 512可以包括ssh子网514,并且ssh vcn 512可以经由包含在控制平面vcn 516中的lpg 510通信地耦合到控制平面vcn 516。此外,ssh vcn 512可以经由lpg 510通信地耦合到数据平面vcn 518。控制平面vcn 516和数据平面vcn 518可以包含在可以由iaas提供商拥有和/或操作的服务租赁519中。
[0099]
控制平面vcn 516可以包括充当外围网络(例如,公司内部网和外部网络之间的公司网络的部分)的控制平面非军事区(dmz)层520。基于dmz的服务器可以承担有限责任并有助于控制安全漏洞。此外,dmz层520可以包括一个或多个负载平衡器(lb)子网522、可以包括(一个或多个)应用子网526的控制平面应用层524、可以包括(一个或多个)数据库(db)子网530(例如,(一个或多个)前端db子网和/或(一个或多个)后端db子网)的控制平面数据层528。包含在控制平面dmz层520中的(一个或多个)lb子网522可以通信地耦合到包含在控制平面应用层524中的(一个或多个)应用子网526和可以包含在控制平面vcn 516中的互联网网关534,并且(一个或多个)应用子网526可以通信地耦合到包含在控制平面数据层528中的(一个或多个)db子网530以及服务网关536和网络地址转换(nat)网关538。控制平面vcn 516可以包括服务网关536和nat网关538。
[0100]
控制平面vcn 516可以包括数据平面镜像应用层540,其可以包括(一个或多个)应用子网526。包含在数据平面镜像应用层540中的(一个或多个)应用子网526可以包括可以执行计算实例544的虚拟网络接口控制器(vnic)542。计算实例544可以将数据平面镜像应用层540的(一个或多个)应用子网526通信地耦合到可以包含在数据平面应用层546中的(一个或多个)应用子网526。
[0101]
数据平面vcn 518可以包括数据平面应用层546、数据平面dmz层548和数据平面数据层550。数据平面dmz层548可以包括(一个或多个)lb子网522,其可以通信地耦合到数据平面应用层546的(一个或多个)应用子网526和数据平面vcn 518的互联网网关534。(一个或多个)应用子网526可以通信地耦合到数据平面vcn 518的服务网关536和数据平面vcn 518的nat网关538。数据平面数据层550还可以包括可以通信地耦合到数据平面应用层546的(一个或多个)应用子网526的(一个或多个)db子网530。
[0102]
控制平面vcn 516和数据平面vcn 518的互联网网关534可以通信地耦合到元数据管理服务552,该元数据管理服务可以通信地耦合到公共互联网554。公共互联网554可以通信地耦合到控制平面vcn 516和数据平面vcn 518的nat网关538。控制平面vcn 516和数据平面vcn 518的服务网关536可以通信地耦合到云服务556。
[0103]
在一些示例中,控制平面vcn 516或数据平面vcn 518的服务网关536可以对云服务556进行应用编程接口(api)调用,而无需通过公共互联网554。从服务网关536到云服务556的api调用可以是单向的:服务网关536可以对云服务556进行api调用,并且云服务556可以将请求的数据发送到服务网关536。但是,云服务556可以不发起对服务网关536的api调用。
[0104]
在一些示例中,安全主机租赁504可以直接连接到服务租赁519,服务租赁519否则可以被隔离。安全主机子网508可以通过lpg 510与ssh子网514通信,lpg 510可以使得能够在否则隔离的系统上进行双向通信。将安全主机子网508连接到ssh子网514可以使安全主机子网508访问服务租赁519内的其它实体。
[0105]
控制平面vcn 516可以允许服务租赁519的用户设置或以其它方式供应期望的资源。在控制平面vcn 516中供应的期望资源可以在数据平面vcn 518中部署或以其它方式使用。在一些示例中,控制平面vcn 516可以与数据平面vcn 518隔离,并且控制平面vcn 516的数据平面镜像应用层540可以经由vnic 542与数据平面vcn 518的数据平面应用层546通信,vnic 542可以包含在数据平面镜像应用层540和数据平面应用层546中。
[0106]
在一些示例中,系统的用户或客户可以通过可以将请求传送到元数据管理服务552的公共互联网554来做出请求,例如创建、读取、更新或删除(crud)操作。元数据管理服务552可以通过互联网网关534将请求传送到控制平面vcn 516。请求可以被包含在控制平面dmz层520中的(一个或多个)lb子网522接收。(一个或多个)lb子网522可以确定请求是有效的,并且响应于该确定,(一个或多个)lb子网522可以将请求传输到包含在控制平面应用层524中的(一个或多个)应用子网526。如果请求被验证并且需要对公共互联网554的调用,那么对公共互联网554的调用可以被传输到可以对公共互联网554进行调用的nat网关538。请求可能期望存储的存储器可以存储在(一个或多个)db子网530中。
[0107]
在一些示例中,数据平面镜像应用层540可以促进控制平面vcn 516和数据平面vcn 518之间的直接通信。例如,可能期望对包含在数据平面vcn 518中的资源应用对配置的更改、更新或其它适当的修改。经由vnic 542,控制平面vcn 516可以直接与包含在数据平面vcn 518中的资源通信,并且从而可以执行对配置的更改、更新或其它适当的修改。
[0108]
在一些实施例中,控制平面vcn 516和数据平面vcn 518可以包含在服务租赁519中。在这种情况下,系统的用户或客户可能不拥有或操作控制平面vcn 516或数据平面vcn 518。替代地,iaas提供商可以拥有或操作控制平面vcn 516和数据平面vcn 518,这两者平面都可以包含在服务租赁519中。该实施例可以使得能够隔离可能阻止用户或客户与其它用户或其它客户的资源交互的网络。此外,该实施例可以允许系统的用户或客户私自存储数据库,而无需依赖可能不具有期望安全级别的公共互联网554进行存储。
[0109]
在其它实施例中,包含在控制平面vcn 516中的(一个或多个)lb子网522可以被配置为从服务网关536接收信号。在这个实施例中,控制平面vcn 516和数据平面vcn 518可以被配置为由iaas提供商的客户调用而无需调用公共互联网554。iaas提供商的客户可能期
望这个实施例,因为客户使用的(一个或多个)数据库可以由iaas提供商控制并且可以存储在服务租赁519上,服务租赁519可能与公共互联网554隔离。
[0110]
图6是图示根据至少一个实施例的iaas体系架构的另一个示例模式的框图600。服务运营商602(例如,图5的服务运营商502)可以通信地耦合到安全主机租赁604(例如,图5的安全主机租赁504),该安全主机租赁604可以包括虚拟云网络(vcn)606(例如,图5的vcn 506)和安全主机子网608(例如,图5的安全主机子网508)。vcn 606可以包括本地对等网关(lpg)610(例如,图5的lpg 510),其可以经由包含在ssh vcn 612中的lpg 510通信地耦合到安全壳(ssh)vcn 612(例如,图5的ssh vcn 512)。ssh vcn 612可以包括ssh子网614(例如,图5的ssh子网514),并且ssh vcn 612可以经由包含在控制平面vcn 616中的lpg 610通信地耦合到控制平面vcn 616(例如,图5的控制平面vcn 516)。控制平面vcn 616可以包含在服务租赁619(例如,图5的服务租赁519)中,并且数据平面vcn 618(例如,图5的数据平面vcn 518)可以包含在可能由系统的用户或客户拥有或操作的客户租赁621中。
[0111]
控制平面vcn 616可以包括控制平面dmz层620(例如,图5的控制平面dmz层520),其可以包括(一个或多个)lb子网622(例如,图5的(一个或多个)lb子网522)、可以包括(一个或多个)应用子网626(例如,图5的(一个或多个)应用子网526)的控制平面应用层624(例如,图5的控制平面应用层524)、可以包括(一个或多个)数据库(db)子网630(例如,类似于图5的(一个或多个)db子网530)的控制平面数据层628(例如,图5的控制平面数据层528)。包含在控制平面dmz层620中的(一个或多个)lb子网622可以通信地耦合到包含在控制平面应用层624中的(一个或多个)应用子网626和可以包含在控制平面vcn 616中的互联网网关634(例如,图5的互联网网关534),并且(一个或多个)应用子网626可以通信地耦合到包含在控制平面数据层628中的(一个或多个)db子网630以及服务网关636(例如,图5的服务网关)和网络地址转换(nat)网关638(例如,图5的nat网关538)。控制平面vcn 616可以包括服务网关636和nat网关638。
[0112]
控制平面vcn 616可以包括可以包含(一个或多个)应用子网626的数据平面镜像应用层640(例如,图5的数据平面镜像应用层540)。包含在数据平面镜像应用层640中的(一个或多个)应用子网626可以包括可以执行计算实例644(例如,类似于图5的计算实例544)的虚拟网络接口控制器(vnic)642(例如,542的vnic)。计算实例644可以促进数据平面镜像应用层640的(一个或多个)应用子网626和可以包含在数据平面应用层646(例如,图5的数据平面应用层546)中的(一个或多个)应用子网626之间经由包含在数据平面镜像应用层640中的vnic 642和包含在数据平面应用层646中的vnic 642的通信。
[0113]
包含在控制平面vcn 616中的互联网网关634可以通信地耦合到元数据管理服务652(例如,图5的元数据管理服务552),该元数据管理服务可以通信地耦合到公共互联网654(例如,图5的公共互联网554)。公共互联网654可以通信地耦合到包含在控制平面vcn 616中的nat网关638。包含在控制平面vcn 616中的服务网关636可以通信地耦合到云服务656(例如,图5的云服务556)。
[0114]
在一些示例中,数据平面vcn 618可以包含在客户租赁621中。在这种情况下,iaas提供商可以为每个客户提供控制平面vcn 616,并且iaas提供商可以为每个客户设置包含在服务租赁619中的唯一计算实例644。每个计算实例644可以允许包含在服务租赁619中的控制平面vcn 616和包含在客户租赁621中的数据平面vcn 618之间的通信。计算实例644可
以允许在包含在服务租赁619中的控制平面vcn 616中供应的资源被部署或以其它方式在包含在客户租赁621中的数据平面vcn 618中使用。
[0115]
在其它示例中,iaas提供商的客户可以具有存在于客户租赁621中的数据库。在这个示例中,控制平面vcn 616可以包括数据平面镜像应用层640,其可以包括(一个或多个)应用子网626。数据平面镜像应用层640可以驻留在数据平面vcn 618中,但数据平面镜像应用层640可能不在数据平面vcn 618中。即,数据平面镜像应用层640可以访问客户租赁621,但是数据平面镜像应用层640可能不存在于数据平面vcn 618中或者由iaas提供商的客户拥有或操作。数据平面镜像应用层640可以被配置为对数据平面vcn 618进行调用,但可以不被配置为对包含在控制平面vcn 616中的任何实体进行调用。客户可能期望在数据平面vcn 618中部署或以其它方式使用在控制平面vcn 616中供应的资源,并且数据平面镜像应用层640可以促进客户的期望部署或资源的其它使用。
[0116]
在一些实施例中,iaas提供商的客户可以将过滤器应用到数据平面vcn 618。在这个实施例中,客户可以确定数据平面vcn 618可以访问什么,并且客户可以限制从数据平面vcn 618对公共互联网654的访问。iaas提供商可能无法应用过滤器或以其它方式控制数据平面vcn 618对任何外部网络或数据库的访问。客户将过滤器和控制应用到包含在客户租赁621中的数据平面vcn 618上可以帮助将数据平面vcn 618与其它客户和公共互联网654隔离开。
[0117]
在一些实施例中,云服务656可以由服务网关636调用以访问公共互联网654、控制平面vcn 616或数据平面vcn 618上可能不存在的服务。云服务656与控制平面vcn 616或数据平面vcn 618之间的连接可以不是实时的或连续的。云服务656可以存在于由iaas提供商拥有或操作的不同网络上。云服务656可以被配置为接收来自服务网关636的调用并且可以被配置为不接收来自公共互联网654的调用。一些云服务656可以与其它云服务656隔离,并且控制平面vcn 616可以与可能与控制平面vcn 616不在同一区域的云服务656隔离。例如,控制平面vcn 616可能位于“区域1”,并且云服务“部署5”可能位于区域1和“区域2”。如果包含在位于区域1中的控制平面vcn 616中的服务网关636对部署5进行调用,那么该调用可以被传输到区域1中的部署5。在这个示例中,控制平面vcn 616或区域1中的部署5可能不与区域2中的部署5通信地耦合或以其它方式通信。
[0118]
图7是图示根据至少一个实施例的iaas体系架构的另一个示例模式的框图700。服务运营商702(例如,图5的服务运营商502)可以通信地耦合到安全主机租赁704(例如,图5的安全主机租赁504),该安全主机租赁704可以包括虚拟云网络(vcn)706(例如,图5的vcn 506)和安全主机子网708(例如,图5的安全主机子网508)。vcn 706可以包括lpg 710(例如,图5的lpg 510),其可以经由包含在ssh vcn 712中的lpg 710通信地耦合到ssh vcn 712(例如,图5的ssh vcn 512)。ssh vcn 712可以包括ssh子网714(例如,图5的ssh子网514),并且ssh vcn 712可以经由包含在控制平面vcn 716中的lpg 710通信地耦合到控制平面vcn 716(例如,图5的控制平面vcn 516)并且经由包含在数据平面vcn 718中的lpg 710耦合到数据平面vcn 718(例如,图5的数据平面518)。控制平面vcn 716和数据平面vcn 718可以包含在服务租赁719(例如,图5的服务租赁519)中。
[0119]
控制平面vcn 716可以包括可以包含(一个或多个)负载平衡器(lb)子网722(例如,图5的(一个或多个)lb子网522)的控制平面dmz层720(例如,图5的控制平面dmz层520)、
可以包括(一个或多个)应用子网726(例如,类似于图5的(一个或多个)应用子网526)的控制平面应用层724(例如,图5的控制平面应用层524)、可以包括(一个或多个)db子网730的控制平面数据层728(例如,图5的控制平面数据层528)。包含在控制平面dmz层720中的(一个或多个)lb子网722可以通信地耦合到包含在控制平面应用层724中的(一个或多个)应用子网726和可以包含在控制平面vcn 716中的互联网网关734(例如,图5的互联网网关534),并且(一个或多个)应用子网726可以通信地耦合到包含在控制平面数据层728中的(一个或多个)db子网730以及服务网关736(例如,图5的服务网关)和网络地址转换(nat)网关738(例如,图5的nat网关538)。控制平面vcn 716可以包括服务网关736和nat网关738。
[0120]
数据平面vcn 718可以包括数据平面应用层746(例如,图5的数据平面应用层546)、数据平面dmz层748(例如,图5的数据平面dmz层548),以及数据平面数据层750(例如,图5的数据平面数据层550)。数据平面dmz层748可以包括可以通信地耦合到数据平面应用层746的(一个或多个)可信应用子网760和(一个或多个)不可信应用子网762以及包含在数据平面vcn 718中的互联网网关734的(一个或多个)lb子网722。(一个或多个)可信应用子网760可以通信地耦合到包含在数据平面vcn 718中的服务网关736、包含在数据平面vcn 718中的nat网关738以及包含在数据平面数据层750中的(一个或多个)db子网730。(一个或多个)不可信应用子网762可以通信地耦合到包含在数据平面vcn 718中的服务网关736和包含在数据平面数据层750中的(一个或多个)db子网730。数据平面数据层750可以包括可以通信地耦合到包含在数据平面vcn 718中的服务网关736的(一个或多个)db子网730。
[0121]
(一个或多个)不可信应用子网762可以包括可以通信地耦合到租户虚拟机(vm)766(1)-(n)的一个或多个主vnic 764(1)-(n)。每个租户vm 766(1)-(n)可以通信地耦合到可以包含在相应容器出口vcn 768(1)-(n)中的相应应用子网767(1)-(n),相应容器出口vcn 768(1)-(n)可以包含在相应客户租赁770(1)-(n)中。相应的辅助vnic 772(1)-(n)可以促进数据平面vcn 718中包含的(一个或多个)不可信应用子网762与容器出口vcn 768(1)-(n)中包含的应用子网之间的通信。每个容器出口vcn 768(1)-(n)可以包括nat网关738,该nat网关738可以通信地耦合到公共互联网754(例如,图5的公共互联网554)。
[0122]
包含在控制平面vcn 716中并且包含在数据平面vcn 718中的互联网网关734可以通信地耦合到元数据管理服务752(例如,图5的元数据管理系统552),该元数据管理服务可以通信地耦合到公共互联网754。公共互联网754可以通信地耦合到包含在控制平面vcn 716中并且包含在数据平面vcn 718中的nat网关738。包含在控制平面vcn 716中和包含在数据平面vcn 718中的服务网关736可以通信地耦合到云服务756。
[0123]
在一些实施例中,数据平面vcn 718可以与客户租赁770集成。在一些情况下,诸如在执行代码时可能期望支持的情况下,这种集成对于iaas提供商的客户可能是有用的或期望的。客户可能提供可能具有破坏性、可能与其它客户资源通信或可能以其它方式导致非期望效果的代码来运行。作为对此的响应,iaas提供商可以确定是否运行由客户给与iaas提供商的代码。
[0124]
在一些示例中,iaas提供商的客户可以向iaas提供商授予临时网络访问,并请求附加到数据平面层应用746的功能。运行该功能的代码可以在vm 766(1)-(n)中执行,并且该代码可以不被配置为在数据平面vcn 718上的其它任何地方运行。每个vm 766(1)-(n)可以连接到一个客户租赁770。包含在vm 766(1)-(n)中的相应容器771(1)-(n)可以被配置为
运行代码。在这种情况下,可以存在双重隔离(例如,容器771(1)-(n)运行代码,其中容器771(1)-(n)可能至少包含在(一个或多个)不可信应用子网762中包含的vm 766(1)-(n)中),这可以帮助防止不正确的或以其它方式非期望的代码损坏iaas提供商的网络或损坏不同客户的网络。容器771(1)-(n)可以通信地耦合到客户租赁770并且可以被配置为传输或接收来自客户租赁770的数据。容器771(1)-(n)可以不被配置为从数据平面vcn 718中的任何其它实体传输或接收数据。在运行代码完成后,iaas提供商可以终止或以其它方式处置容器771(1)-(n)。
[0125]
在一些实施例中,(一个或多个)可信应用子网760可以运行可以由iaas提供商拥有或操作的代码。在这个实施例中,(一个或多个)可信应用子网760可以通信地耦合到(一个或多个)db子网730并且被配置为在(一个或多个)db子网730中执行crud操作。
[0126]
(一个或多个)不可信应用子网762可以通信地耦合到(一个或多个)db子网730,但是在这个实施例中,(一个或多个)不可信应用子网可以被配置为在(一个或多个)db子网730中执行读取操作。可以包含在每个客户的vm 766(1)-(n)中并且可以运行来自客户的代码的容器771(1)-(n)可以不与(一个或多个)db子网730通信地耦合。
[0127]
在其它实施例中,控制平面vcn 716和数据平面vcn 718可以不直接通信地耦合。在这个实施例中,控制平面vcn 716和数据平面vcn 718之间可能没有直接通信。但是,通信可以通过至少一种方法间接发生。lpg 710可以由iaas提供商建立,其可以促进控制平面vcn 716和数据平面vcn 718之间的通信。在另一个示例中,控制平面vcn 716或数据平面vcn 718可以经由服务网关736调用云服务756。例如,从控制平面vcn 716对云服务756的调用可以包括对可以与数据平面vcn 718通信的服务的请求。
[0128]
图8是图示根据至少一个实施例的iaas体系架构的另一个示例模式的框图800。服务运营商802(例如,图5的服务运营商502)可以通信地耦合到安全主机租赁804(例如,图5的安全主机租赁504),该安全主机租赁804可以包括虚拟云网络(vcn)806(例如,图5的vcn 506)和安全主机子网808(例如,图5的安全主机子网508)。vcn 806可以包括lpg 810(例如,图5的lpg 510),该lpg 810可以经由包含在ssh vcn 812(例如,图5的ssh vcn 512)中的lpg 810通信地耦合到ssh vcn 812。ssh vcn 812可以包括ssh子网814(例如,图5的ssh子网514),并且ssh vcn 812可以经由包含在控制平面vcn 816中的lpg 810通信地耦合到控制平面vcn 816(例如,图5的控制平面vcn 516)并且经由包含在数据平面vcn 818中的lpg 810耦合到数据平面vcn 818(例如,图5的数据平面518)。控制平面vcn 816和数据平面vcn 818可以包含在服务租赁819(例如,图5的服务租赁519)中。
[0129]
控制平面vcn 816可以包括可以包含(一个或多个)lb子网822(例如,图5的(一个或多个)lb子网522)的控制平面dmz层820(例如,图5的控制平面dmz层520)、可以包括(一个或多个)应用子网826(例如,图5的(一个或多个)应用子网526)的控制平面应用层824(例如,图5的控制平面应用层524)、可以包括(一个或多个)db子网830(例如,图7的(一个或多个)db子网730)的控制平面数据层828(例如,图5的控制平面数据层528)。包含在控制平面dmz层820中的(一个或多个)lb子网822可以通信地耦合到包含在控制平面应用层824中的(一个或多个)应用子网826和可以包含在控制平面vcn 816中的互联网网关834(例如,图5的互联网网关534),并且(一个或多个)应用子网826可以通信地耦合到包含在控制平面数据层828中的(一个或多个)db子网830以及服务网关836(例如,图5的服务网关)和网络地址
转换(nat)网关838(例如,图5的nat网关538)。控制平面vcn 816可以包括服务网关836和nat网关838。
[0130]
数据平面vcn 818可以包括数据平面应用层846(例如,图5的数据平面应用层546)、数据平面dmz层848(例如,图5的数据平面dmz层548)),以及数据平面数据层850(例如,图5的数据平面数据层550)。数据平面dmz层848可以包括可以通信地耦合到数据平面应用层846的(一个或多个)可信应用子网860(例如,图7的(一个或多个)可信应用子网760)和(一个或多个)不可信应用子网862(例如,图7的(一个或多个)不可信应用子网762)以及包含在数据平面vcn 818中的互联网网关834的(一个或多个)lb子网822。(一个或多个)可信应用子网860可以通信地耦合到包含在数据平面vcn 818中的服务网关836、包含在数据平面vcn 818中的nat网关838以及包含在数据平面数据层850中的(一个或多个)db子网830。(一个或多个)不可信应用子网862可以通信地耦合到包含在数据平面vcn 818中的服务网关836和包含在数据平面数据层850中的(一个或多个)db子网830。数据平面数据层850可以包括可以通信地耦合到包含在数据平面vcn 818中的服务网关836的(一个或多个)db子网830。
[0131]
(一个或多个)不可信应用子网862可以包括可以通信地耦合到驻留在(一个或多个)不可信应用子网862内的租户虚拟机(vm)866(1)-(n)的主vnic 864(1)-(n)。每个租户vm 866(1)-(n)可以在相应的容器867(1)-(n)中运行代码,并且可通信地耦合到可以包含在容器出口vcn 868中包含的数据平面应用层846中的应用子网826。相应的辅助vnic 872(1)-(n)可以促进包含在数据平面vcn 818中的(一个或多个)不可信应用子网862和包含在容器出口vcn 868中的应用子网之间的通信。容器出口vcn可以包括可以通信地耦合到公共互联网854(例如,图5的公共互联网554)的nat网关838。
[0132]
包含在控制平面vcn 816中和包含在数据平面vcn 818中的互联网网关834可以通信地耦合到元数据管理服务852(例如,图5的元数据管理系统552),该元数据管理服务可以通信地耦合到公共互联网854。公共互联网854可以通信地耦合到包含在控制平面vcn 816中并且包含在数据平面vcn 818中的nat网关838。包含在控制平面vcn 816中并且包含在数据平面vcn 818中的服务网关836可以通信地耦合到云服务856。
[0133]
在一些示例中,图8的框图800的体系架构所示的模式可以被认为是图7的框图700的体系架构所示的模式的例外,并且如果iaas提供商不能直接与客户通信(例如,断开连接的区域),那么这种模式可能是iaas提供商的客户所期望的。客户可以实时访问每个客户的vm 866(1)-(n)中包含的相应容器867(1)-(n)。容器867(1)-(n)可以被配置为对包含在数据平面应用层846的(一个或多个)应用子网826中的相应辅助vnic 872(1)-(n)进行调用,该数据平面应用层846可以包含在容器出口vcn 868中。辅助vnic 872(1)-(n)可以将调用传输到nat网关838,nat网关838可以将调用传输到公共互联网854。在这个示例中,可以由客户实时访问的容器867(1)-(n)可以与控制平面vcn 816隔离,并且可以与数据平面vcn 818中包含的其它实体隔离。容器867(1)-(n)也可以与来自其它客户的资源隔离。
[0134]
在其它示例中,客户可以使用容器867(1)-(n)来调用云服务856。在这个示例中,客户可以运行容器867(1)-(n)中从云服务856请求服务的代码。容器867(1)-(n)可以将该请求传输到辅助vnic 872(1)-(n),辅助vnic 872(1)-(n)可以将请求传输到nat网关,该nat网关可以将请求传输到公共互联网854。公共互联网854可以经由互联网网关834将请求
传输到包含在控制平面vcn 816中的(一个或多个)lb子网822。响应于确定请求有效,(一个或多个)lb子网可以将请求传输到(一个或多个)应用子网826,该(一个或多个)应用子网826可以经由服务网关836将请求传输到云服务856。
[0135]
应当认识到的是,各图中描绘的iaas体系架构500、600、700、800可以具有除所描绘的那些之外的其它组件。另外,各图中所示的实施例仅仅是可以结合本公开的实施例的云基础设施系统的一些示例。在一些其它实施例中,iaas系统可以具有比各图中所示更多或更少的组件、可以组合两个或更多个组件,或者可以具有不同的配置或组件布置。
[0136]
在某些实施例中,本文描述的iaas系统可以包括以自助服务、基于订阅、弹性可扩展、可靠、高度可用和安全的方式交付给客户的应用套件、中间件和数据库服务产品。此类iaas系统的示例是本受让人提供的oracle云基础设施(oci)。
[0137]
图9图示了其中可以实现本公开的各种实施例的示例计算机系统900。系统900可以用于实现上述任何计算机系统。如图所示,计算机系统900包括经由总线子系统902与多个外围子系统通信的处理单元904。这些外围子系统可以包括处理加速单元906、i/o子系统908、存储子系统918和通信子系统924。存储子系统918包括有形计算机可读存储介质922和系统存储器910。
[0138]
总线子系统902提供用于让计算机系统900的各种部件和子系统按意图彼此通信的机制。虽然总线子系统902被示意性地示出为单条总线,但是总线子系统的替代实施例可以利用多条总线。总线子系统902可以是若干种类型的总线结构中的任何一种,包括存储器总线或存储器控制器、外围总线、以及使用任何各种总线体系架构的局部总线。例如,这种体系架构可以包括工业标准体系架构(isa)总线、微通道体系架构(mca)总线、增强型isa(eisa)总线、视频电子标准协会(vesa)局部总线和外围部件互连(pci)总线,其可以被实现为按ieee p1386.1标准制造的mezzanine总线。
[0139]
可以被实现为一个或多个集成电路(例如,常规微处理器或微控制器)的处理单元904控制计算机系统900的操作。一个或多个处理器可以被包括在处理单元904中。这些处理器可以包括单核或多核处理器。在某些实施例中,处理单元904可以被实现为一个或多个独立的处理单元932和/或934,其中在每个处理单元中包括单核或多核处理器。在其它实施例中,处理单元904也可以被实现为通过将两个双核处理器集成到单个芯片中形成的四核处理单元。
[0140]
在各种实施例中,处理单元904可以响应于程序代码执行各种程序并且可以维护多个并发执行的程序或进程。在任何给定的时间,要被执行的程序代码中的一些或全部代码可以驻留在(一个或多个)处理器904中和/或存储子系统918中。通过适当的编程,(一个或多个)处理器904可以提供上述各种功能。计算机系统900可以附加地包括处理加速单元906,其可以包括数字信号处理器(dsp)、专用处理器,等等。
[0141]
i/o子系统908可以包括用户接口输入设备和用户接口输出设备。用户接口输入设备可以包括键盘、诸如鼠标或轨迹球的定点设备、结合到显示器中的触摸板或触摸屏、滚动轮、点击轮、拨盘、按钮、开关、键盘、具有语音命令识别系统的音频输入设备、麦克风以及其它类型的输入设备。用户接口输入设备可以包括,例如,运动感测和/或手势识别设备,诸如的microsoft运动传感器,其使得用户能够使用手势和语音命令通过自然用户接口来控制诸如的microsoft360游戏控制器的输入设备并与之交互。用户接口输入
设备也可以包括眼睛姿势识别设备,诸如从用户检测眼睛活动(例如,当拍摄照片和/或做出菜单选择时的“眨眼”)并且将眼睛姿势转换为到输入设备(例如,google)中的输入的google眨眼检测器。此外,用户接口输入设备可以包括使用户能够通过语音命令与语音识别系统(例如,导航器)交互的语音识别感测设备。
[0142]
用户接口输入设备也可以包括但不限于三维(3d)鼠标、操纵杆或指向棒、游戏面板和绘图板,以及音频/视频设备,诸如扬声器、数码相机、数码摄像机、便携式媒体播放器、网络摄像头、图像扫描仪、指纹扫描仪、条形码阅读器3d扫描仪、3d打印机、激光测距仪和视线跟踪设备。此外,用户接口输入设备可以包括,例如,医学成像输入设备,诸如计算机断层扫描、磁共振成像、正电子发射断层摄影术、医疗超声设备。用户接口输入设备也可以包括,例如,诸如midi键盘、数字乐器等的音频输入设备。
[0143]
用户接口输出设备可以包括显示子系统、指示灯,或者诸如音频输出设备的非可视显示器,等等。显示子系统可以是阴极射线管(crt)、诸如使用液晶显示器(lcd)或等离子显示器的平板设备、投影设备、触摸屏,等等。一般而言,术语“输出设备”的使用意在包括用于从计算机系统900向用户或其它计算机输出信息的所有可能类型的设备和机制。例如,用户接口输出设备可以包括,但不限于,可视地传达文本、图形和音频/视频信息的各种显示设备,诸如监视器、打印机、扬声器、耳机、汽车导航系统、绘图仪、语音输出设备,以及调制解调器。
[0144]
计算机系统900可以包括包含软件元件、被示为当前位于系统存储器910中的存储子系统918。系统存储器910可以存储可加载并且可在处理单元904上执行的程序指令,以及在这些程序的执行期间所产生的数据。
[0145]
取决于计算机系统900的配置和类型,系统存储器910可以是易失性的(诸如随机存取存储器(ram))和/或非易失性的(诸如只读存储器(rom)、闪存存储器,等等)。ram通常包含可被处理单元904立即访问和/或目前正被处理单元904操作和执行的数据和/或程序模块。在一些实现中,系统存储器910可以包括多种不同类型的存储器,例如静态随机存取存储器(sram)或动态随机存取存储器(dram)。在一些实现中,诸如包含有助于在启动期间在计算机系统900的元件之间传送信息的基本例程的基本输入/输出系统(bios),通常可以被存储在rom中。作为示例,但不是限制,系统存储器910也示出了可以包括客户端应用、web浏览器、中间层应用、关系数据库管理系统(rdbms)等的应用程序912,程序数据914,以及操作系统916。作为示例,操作系统916可以包括各种版本的microsofta8le和/或linux操作系统、各种可商业获得的或类unix操作系统(包括但不限于各种gnu/linux操作系统、google操作系统等)和/或诸如ios、phone、os、9os和os操作系统的移动操作系统。
[0146]
存储子系统918也可以提供用于存储提供一些实施例的功能的基本编程和数据结构的有形计算机可读存储介质。当被处理器执行时提供上述功能的软件(程序、代码模块、指令)可以被存储在存储子系统918中。这些软件模块或指令可以被处理单元904执行。存储子系统918也可以提供用于存储根据本公开被使用的数据的储存库。
[0147]
存储子系统918也可以包括可被进一步连接到计算机可读存储介质922的计算机
可读存储介质读取器920。与系统存储器910一起并且,可选地,与其相结合,计算机可读存储介质922可以全面地表示用于临时和/或更持久地包含、存储、发送和检索计算机可读信息的远程、本地、固定和/或可移除存储设备加存储介质。
[0148]
包含代码或代码的部分的计算机可读存储介质922也可以包括本领域已知或使用的任何适当的介质,包括存储介质和通信介质,诸如但不限于,以用于信息的存储和/或传输的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。这可以包括有形的计算机可读存储介质,诸如ram、rom、电可擦除可编程rom(eeprom)、闪存存储器或其它存储器技术、cd-rom、数字多功能盘(dvd)或其它光学储存器、磁带盒、磁带、磁盘储存器或其它磁存储设备,或者其它有形的计算机可读介质。这也可以包括非有形的计算机可读介质,诸如数据信号、数据传输,或者可以被用来发送期望信息并且可以被计算系统900访问的任何其它介质。
[0149]
作为示例,计算机可读存储介质922可以包括从不可移除的非易失性磁介质读取或写到其的硬盘驱动器、从可移除的非易失性磁盘读取或写到其的磁盘驱动器、以及从可移除的非易失性光盘(诸如cd rom、dvd和盘或其它光学介质)读取或写到其的光盘驱动器。计算机可读存储介质922可以包括,但不限于,驱动器、闪存卡、通用串行总线(usb)闪存驱动器、安全数字(sd)卡、dvd盘、数字音频带,等等。计算机可读存储介质922也可以包括基于非易失性存储器的固态驱动器(ssd)(诸如基于闪存存储器的ssd、企业闪存驱动器、固态rom等)、基于易失性存储器的ssd(诸如固态ram、动态ram、静态ram)、基于dram的ssd,磁阻ram(mram)ssd,以及使用基于dram和闪存存储器的ssd的组合的混合ssd。盘驱动器及其关联的计算机可读介质可以为计算机系统900提供计算机可读指令、数据结构、程序模块及其它数据的非易失性存储。
[0150]
通信子系统924提供到其它计算机系统和网络的接口。通信子系统924用作用于从其它系统接收数据和从计算机系统900向其它系统发送数据的接口。例如,通信子系统924可以使计算机系统900能够经由互联网连接到一个或多个设备。在一些实施例中,通信子系统924可以包括用于访问无线语音和/或数据网络的射频(rf)收发器部件(例如,使用蜂窝电话技术,诸如3g、4g或edge(用于全球演进的增强型数据速率)的先进数据网络技术,wifi(ieee 802.11系列标准),或其它移动通信技术,或其任意组合)、全球定位系统(gps)接收器部件和/或其它部件。在一些实施例中,作为无线接口的附加或者替代,通信子系统924可以提供有线网络连接(例如,以太网)。
[0151]
在一些实施例中,通信子系统924也可以代表可以使用计算机系统900的一个或多个用户接收结构化和/或非结构化数据馈送926、事件流928、事件更新930等形式的输入通信。
[0152]
作为示例,通信子系统924可以被配置为实时地从社交网络和/或其它通信服务的用户接收数据馈送926,诸如馈送、更新、诸如丰富站点摘要(rss)馈送的web馈送和/或来自一个或多个第三方信息源的实时更新。
[0153]
此外,通信子系统924也可被配置为接收连续数据流形式的数据,这可以包括本质上可以是连续的或无界的没有明确终止的实时事件的事件流928和/或事件更新930。产生连续数据的应用的示例可以包括,例如,传感器数据应用、金融报价机、网络性能测量工具
(例如,网络监视和流量管理应用)、点击流分析工具、汽车流量监视,等等。
[0154]
通信子系统924也可被配置为向一个或多个数据库输出结构化和/或非结构化数据馈送926、事件流928、事件更新930,等等,这一个或多个数据库可以与耦合到计算机系统900的一个或多个流式数据源计算机通信。
[0155]
计算机系统900可以是各种类型之一,包括手持便携式设备(例如,蜂窝电话、计算平板电脑、pda)、可穿戴设备(例如,glass头戴式显示器)、pc、工作站、大型机、信息站、服务器机架、或任何其它数据处理系统。
[0156]
由于计算机和网络的不断变化的本质,在图中绘出的计算机系统900的描述仅仅要作为具体的示例。具有比图中绘出的系统更多或更少部件的许多其它配置是可能的。例如,定制的硬件也可以被使用和/或特定的元素可以用硬件、固件、软件(包括a8lets)或其组合来实现。另外,也可以采用到诸如网络输入/输出设备之类的其它计算设备的连接。基于本文提供的公开内容和示教,本领域普通技术人员将认识到实现各种实施例的其它方式和/或方法。
[0157]
虽然已经描述了具体实施例,但是各种修改、变更、替代构造和等效形式也包含在本公开的范围内。实施例不限于在某些特定数据处理环境内操作,而是可以在多个数据处理环境内自由操作。此外,虽然已经使用特定系列的事务和步骤描述了实施例,但是本领域技术人员应该清楚本公开的范围不限于所描述系列的事务和步骤。上述实施例的各种特征和方面可以单独或联合使用。
[0158]
另外,虽然已经使用硬件和软件的特定组合描述了实施例,但是应当认识到硬件和软件的其它组合也在本公开的范围内。实施例可以仅用硬件、或仅用软件、或使用它们的组合来实现。本文描述的各种处理可以以任何组合在相同的处理器或在不同的处理器上实现。相应地,在组件或模块被描述为被配置为执行某些操作的情况下,可以通过例如设计电子电路来执行操作、通过对可编程电子电路(诸如微处理器)进行编程来执行操作,或其任何组合来完成这样的配置。处理可以使用多种技术进行通信,包括但不限于用于处理间通信的常规技术,并且不同的处理对可以使用不同的技术,或者同一对处理可以在不同时间使用不同的技术。
[0159]
相应地,说明书和附图被认为是说明性的而不是限制性的。但是,显然可以对其进行添加、减少、删除和其它修改和改变而不背离权利要求中阐述的更广泛的精神和范围。因此,虽然已经描述了具体的公开实施例,但这些并不旨在进行限制。各种修改和等效形式都在以下权利要求的范围内。
[0160]
在描述所公开的实施例的上下文中(尤其在以下权利要求的上下文中)使用术语“一”和“一个”和“该”以及类似的指称要被解释为涵盖单数和复数,除非本文另有指示或与上下文明显矛盾。除非另有说明,否则术语“包括”、“具有”、“包含(including)”和“包含(containing)”要被解释为开放式术语(即,意思是“包括但不限于”)。术语“连接”应被解释为部分或全部包含在、附加到或连接在一起,即使中间存在一些东西。除非本文另有指示,否则本文中值范围的列举仅旨在用作个别引用落入该范围内的每个单独值的速记方法,并且每个单独值被并入说明书中,就好像它在本文中个别列举一样。除非本文另有指示或与上下文明显矛盾,否则本文所述的所有方法都可以以任何合适的顺序执行。本文提供的任何和所有示例或示例性语言(例如,“诸如”)的使用仅旨在更好地阐明实施例并且不对本公
开的范围构成限制,除非另有声明。说明书中的任何语言都不应被解释为指示任何未要求保护的元素对于本公开的实践是必不可少的。
[0161]
析取语言,诸如短语“x、y或z中的至少一个”,除非另有明确说明,否则旨在在一般用于表示项目、术语等的上下文中理解,可以是x、y或z,或它们的任何组合(例如,x、y和/或z)。因此,这种析取语言通常不旨在也不应暗示某些实施例需要x中的至少一个、y中的至少一个或z中的至少一个各自存在。
[0162]
本文描述了本公开的优选实施例,包括已知用于实施本公开的最佳模式。那些优选实施例的变型对于本领域普通技术人员在阅读上述描述后会变得显而易见。普通技术人员应该能够适当地采用这样的变型并且可以以不同于本文具体描述的方式来实践本公开。相应地,本公开包括在适用法律允许的情况下对所附权利要求中记载的主题的所有修改和等效形式。此外,除非在本文中另有指示,否则本公开包括在其所有可能的变化中的上述元素的任何组合。
[0163]
本文引用的所有参考文献,包括出版物、专利申请和专利,均以相同的程度通过引用并入本文,就好像每个参考文献个别且具体地指示通过引用并入并在本文中全文阐述一样。
[0164]
在前述的说明书中,本公开的各方面参考其具体实施例进行了描述,但本领域技术人员将认识到的是,本公开不限于此。上述公开的各个特征和方面可以被单独或联合使用。此外,在不脱离本说明书的更广泛精神和范围的情况下,实施例可以在除本文所述的那些之外的任何数量的环境和应用中被使用。相应地,本说明书和附图应当被认为是说明性而不是限制性的。

技术特征:
1.一种方法,包括:通过安全体系架构的响应系统,获得在来自与用户相关联的发射器的信号内检测到的问题;使用被实现为所述响应系统的一部分并且将所述问题作为输入的全局模型来推断第一响应,其中所述全局模型包括关于使用所述安全体系架构的所有用户的偏好而全局地从问题和响应之间的映射中学习的一组全局模型参数;使用被实现为所述响应系统的一部分并且将所述问题作为输入的本地模型来推断第二响应,其中所述本地模型包括关于所述用户的偏好而本地地从问题和响应之间的映射中学习的一组本地模型参数;通过所述响应系统,使用标准来评估第一响应和第二响应,所述标准包括:(i)与第一响应和第二响应中的每一个响应相关联的置信度分数,以及(ii)与所述全局模型和所述本地模型中的每一个模型相关联的权重;通过所述响应系统,基于对第一响应和第二响应的所述评估,确定对所述问题的最终响应;以及通过所述响应系统,基于所述最终响应从一组响应器中选择响应器,其中所述响应器被调适成采取一个或多个动作来对所述问题进行响应。2.如权利要求1所述的方法,还包括:在选择所述响应器之前,使用所述响应系统针对准确度评估所述最终响应,其中所述准确度是基于所述最终响应与所述用户针对所述问题所偏好的真实状况响应之间的比较来评估的,并且,当基于所述比较,所述最终响应与所述真实状况响应一致时,所述最终响应的所述准确度被确定为可接受的,或者当基于所述比较,所述最终响应与所述真实状况响应不一致时,所述最终响应的所述准确度被确定为不可接受的;响应于所述准确度被确定为不可接受的:为所述问题生成标签,其中所述标签包含所述真实状况响应;将包含所述真实状况的所述标签和所述问题存储在本地数据存储库中;以及基于所述真实状况而不是所述最终响应从所述一组响应器中选择所述响应器;以及响应于所述准确度被确定为可接受的:为所述问题生成标签,其中所述标签包含所述最终响应;将包含所述最终响应的所述标签和所述问题存储在所述本地数据存储库和所述全局数据存储库中;以及基于所述最终响应从所述一组响应器中选择所述响应器。3.权利要求2所述的方法,还包括:响应于所述准确度被确定为不可接受的:将包含所述真实状况的所述标签和问题存储在通用数据存储库中或将包含所述真实状况的所述标签和所述问题放在数据队列中,以供管理员评估;从所述管理员接收响应,以关于包含所述真实状况的所述标签和所述问题不采取任何动作,或者使用包含所述真实状况的所述标签和所述问题来训练所述全局模型;响应于响应为不采取任何动作,从所述数据存储库或所述数据队列中移除包含所述真实状况的所述标签和所述问题;以及
响应于响应为训练所述全局模型,将包含所述真实状况的所述标签和所述问题存储在所述全局储存库中。4.如权利要求2所述的方法,还包括:使用来自所述全局储存库的全局训练数据来训练所述全局模型,其中所述全局训练数据包括包含所述最终响应的所述标签和所述问题;以及使用来自所述本地储存库的本地训练数据来训练所述本地模型,其中所述本地训练数据包括包含所述最终响应的所述标签和所述问题。5.如权利要求2所述的方法,还包括使用来自所述本地储存库的本地训练数据来训练所述本地模型,其中所述本地训练数据包括包含所述真实状况响应的所述标签和所述问题。6.如权利要求3所述的方法,还包括:使用来自所述全局储存库的全局训练数据来训练所述全局模型,其中所述全局训练数据包括包含所述真实状况响应的所述标签和所述问题;以及使用来自所述本地储存库的本地训练数据来训练所述本地模型,其中所述本地训练数据包括包含所述真实状况响应的所述标签和所述问题。7.如权利要求1所述的方法,还包括通过所述响应系统执行所述一个或多个动作以对所述问题进行响应。8.一种非暂时性计算机可读存储器,存储能够由一个或多个处理器执行的多个指令,所述多个指令包括当由所述一个或多个处理器执行时使所述一个或多个处理器执行处理的指令,所述处理包括:通过安全体系架构的响应系统,获得在来自与用户相关联的发射器的信号内检测到的问题;使用被实现为所述响应系统的一部分并且将所述问题作为输入的全局模型来推断第一响应,其中所述全局模型包括关于使用所述安全体系架构的所有用户的偏好而全局地从问题和响应之间的映射中学习的一组全局模型参数;使用被实现为所述响应系统的一部分并且将所述问题作为输入的本地模型来推断第二响应,其中所述本地模型包括关于所述用户的偏好而本地地从问题和响应之间的映射中学习的一组本地模型参数;通过所述响应系统,使用标准来评估第一响应和第二响应,所述标准包括:(i)与第一响应和第二响应中的每一个响应相关联的置信度分数,以及(ii)与所述全局模型和所述本地模型中的每一个模型相关联的权重;通过所述响应系统,基于对第一响应和第二响应的所述评估,确定对所述问题的最终响应;以及通过所述响应系统,基于所述最终响应从一组响应器中选择响应器,其中所述响应器被调适成采取一个或多个动作来对所述问题进行响应。9.如权利要求8所述的非暂时性计算机可读存储器,其中所述处理还包括:在选择所述响应器之前,使用所述响应系统针对准确度评估所述最终响应,其中所述准确度是基于所述最终响应与所述用户针对所述问题所偏好的真实状况响应之间的比较来评估的,并且,当基于所述比较,所述最终响应与所述真实状况响应一致时,所述最终响
应的所述准确度被确定为可接受的,或者当基于所述比较,所述最终响应与所述真实状况响应不一致时,所述最终响应的所述准确度被确定为不可接受的;响应于所述准确度被确定为不可接受的:为所述问题生成标签,其中所述标签包含所述真实状况响应;将包含所述真实状况的所述标签和所述问题存储在本地数据存储库中;以及基于所述真实状况而不是所述最终响应从所述一组响应器中选择所述响应器;以及响应于所述准确度被确定为可接受的:为所述问题生成标签,其中所述标签包含所述最终响应;将包含所述最终响应的所述标签和所述问题存储在所述本地数据存储库和所述全局数据存储库中;以及基于所述最终响应从所述一组响应器中选择所述响应器。10.如权利要求9所述的非暂时性计算机可读存储器,其中,所述处理还包括:响应于所述准确度被确定为不可接受的:将包含所述真实状况的所述标签和问题存储在通用数据存储库中或将包含所述真实状况的所述标签和所述问题放在数据队列中,以供管理员评估;从所述管理员接收响应,以关于包含所述真实状况的所述标签和所述问题不采取任何动作,或者使用包含所述真实状况的所述标签和所述问题来训练所述全局模型;响应于响应为不采取任何动作,从所述数据存储库或所述数据队列中移除包含所述真实状况的所述标签和所述问题;以及响应于响应为训练所述全局模型,将包含所述真实状况的所述标签和所述问题存储在所述全局储存库中。11.如权利要求9所述的非暂时性计算机可读存储器,其中,所述处理还包括:使用来自所述全局储存库的全局训练数据来训练所述全局模型,其中所述全局训练数据包括包含所述最终响应的所述标签和所述问题;以及使用来自所述本地储存库的本地训练数据来训练所述本地模型,其中所述本地训练数据包括包含所述最终响应的所述标签和所述问题。12.如权利要求9所述的非暂时性计算机可读存储器,其中,所述处理还包括使用来自所述本地储存库的本地训练数据来训练所述本地模型,其中所述本地训练数据包括包含所述真实状况响应的所述标签和所述问题。13.如权利要求10所述的非暂时性计算机可读存储器,其中,所述处理还包括:使用来自所述全局储存库的全局训练数据来训练所述全局模型,其中所述全局训练数据包括包含所述真实状况响应的所述标签和所述问题;以及使用来自所述本地储存库的本地训练数据来训练所述本地模型,其中所述本地训练数据包括包含所述真实状况响应的所述标签和所述问题。14.如权利要求8所述的非暂时性计算机可读存储器,其中,所述处理还包括通过所述响应系统执行所述一个或多个动作以对所述问题进行响应。15.一种系统,包括:一个或多个处理器;以及耦合到所述一个或多个处理器的存储器,所述存储器存储能够由所述一个或多个处理
器执行的多个指令,所述多个指令包括当由所述一个或多个处理器执行时使所述一个或多个处理器执行处理的指令,所述处理包括:通过安全体系架构的响应系统,获得在来自与用户相关联的发射器的信号内检测到的问题;使用被实现为所述响应系统的一部分并且将所述问题作为输入的全局模型来推断第一响应,其中所述全局模型包括关于使用所述安全体系架构的所有用户的偏好而全局地从问题和响应之间的映射中学习的一组全局模型参数;使用被实现为所述响应系统的一部分并且将所述问题作为输入的本地模型来推断第二响应,其中所述本地模型包括关于所述用户的偏好而本地地从问题和响应之间的映射中学习的一组本地模型参数;通过所述响应系统,使用标准来评估第一响应和第二响应,所述标准包括:(i)与第一响应和第二响应中的每一个响应相关联的置信度分数,以及(ii)与所述全局模型和所述本地模型中的每一个模型相关联的权重;通过所述响应系统,基于对第一响应和第二响应的所述评估,确定对所述问题的最终响应;以及通过所述响应系统,基于所述最终响应从一组响应器中选择响应器,其中所述响应器被调适成采取一个或多个动作来对所述问题进行响应。16.如权利要求15所述的非暂时性计算机可读存储器,其中所述处理还包括:在选择所述响应器之前,使用所述响应系统针对准确度评估所述最终响应,其中所述准确度是基于所述最终响应与所述用户针对所述问题所偏好的真实状况响应之间的比较来评估的,并且,当基于所述比较,所述最终响应与所述真实状况响应一致时,所述最终响应的所述准确度被确定为可接受的,或者当基于所述比较,所述最终响应与所述真实状况响应不一致时,所述最终响应的所述准确度被确定为不可接受的;响应于所述准确度被确定为不可接受的:为所述问题生成标签,其中所述标签包含所述真实状况响应;将包含所述真实状况的所述标签和所述问题存储在本地数据存储库中;以及基于所述真实状况而不是所述最终响应从所述一组响应器中选择所述响应器;以及响应于所述准确度被确定为可接受的:为所述问题生成标签,其中所述标签包含所述最终响应;将包含所述最终响应的所述标签和所述问题存储在所述本地数据存储库和所述全局数据存储库中;以及基于所述最终响应从所述一组响应器中选择所述响应器。17.如权利要求16所述的非暂时性计算机可读存储器,其中,所述处理还包括:响应于所述准确度被确定为不可接受的:将包含所述真实状况的所述标签和问题存储在通用数据存储库中或将包含所述真实状况的所述标签和所述问题放在数据队列中,以供管理员评估;从所述管理员接收响应,以关于包含所述真实状况的所述标签和所述问题不采取任何动作,或者使用包含所述真实状况的所述标签和所述问题来训练所述全局模型;响应于响应为不采取任何动作,从所述数据存储库或所述数据队列中移除包含所述真
实状况的所述标签和所述问题;以及响应于响应为训练所述全局模型,将包含所述真实状况的所述标签和所述问题存储在所述全局储存库中。18.如权利要求16所述的非暂时性计算机可读存储器,其中,所述处理还包括:使用来自所述全局储存库的全局训练数据来训练所述全局模型,其中所述全局训练数据包括包含所述最终响应的所述标签和所述问题;以及使用来自所述本地储存库的本地训练数据来训练所述本地模型,其中所述本地训练数据包括包含所述最终响应的所述标签和所述问题。19.如权利要求16所述的非暂时性计算机可读存储器,其中,所述处理还包括使用来自所述本地储存库的本地训练数据来训练所述本地模型,其中所述本地训练数据包括包含所述真实状况响应的所述标签和所述问题。20.如权利要求17所述的非暂时性计算机可读存储器,其中,所述处理还包括:使用来自所述全局储存库的全局训练数据来训练所述全局模型,其中所述全局训练数据包括包含所述真实状况响应的所述标签和所述问题;以及使用来自所述本地储存库的本地训练数据来训练所述本地模型,其中所述本地训练数据包括包含所述真实状况响应的所述标签和所述问题。

技术总结
利用人工智能自动修复安全问题的技术。一种技术包括获得在来自与用户相关联的发射器的信号内检测到的问题,使用具有关于使用安全体系架构的所有用户的偏好全局地从问题和响应之间的映射中学习的一组全局模型参数的全局模型来推断第一响应,使用具有关于用户的偏好本地地从问题和响应之间的映射中学习的一组本地模型参数的本地模型来推断第二响应;使用标准来评估第一响应和第二响应,基于对第一响应和第二响应的评估确定对问题的最终响应;以及基于最终响应从一组响应器中选择响应器。响应器被调适成采取一个或多个动作来对问题进行响应。进行响应。进行响应。


技术研发人员:L
受保护的技术使用者:甲骨文国际公司
技术研发日:2021.01.11
技术公布日:2023/9/16
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐