首页> 中国专利> 用于实时工业控制系统安全事件监视和管理的知识图

用于实时工业控制系统安全事件监视和管理的知识图

摘要

公开了用于工业控制系统(ICS)中的安全管理的方法和系统。事件实体检测和链接模块针对从多个不同数据源(包括一个ICS数据源和一个IT数据源)提取的多个事件实体生成模型。该模型对一组链接的事件实体及它们的关系进行编码,每个事件实体与属性值对的矢量相关联。领域知识的数据标准化包括通过机器学习应用将提取的知识库信息转换为约束的规则并使用该规则来验证约束并添加新的约束。融合模块在不同数据源的数据流上执行时间相关检测,以在定义的时间跨度内建立关联模型的三元组之间的因果关系。

著录项

说明书

技术领域

本申请涉及网络安全。更尤其是,本申请涉及针对安全事件实时地对工业控制系统进行建模。

背景技术

过去,大多数工业控制系统(ICS)都设计为与其它系统隔离运行,并且以“气隙”作为提供安全性的标准方法。然而,信息技术(IT)和运营技术(OT)网络已经聚合在一起以实现对工业过程的监视和管理的附加用例。由于生产系统的垂直整合和价值链的水平整合等方面,ICS网络通常直接或间接连接到IT网络(例如办公网络)和互联网,因此,为网络攻击者提供了渗透此类环境并利用任何现有漏洞的机会。针对ICS网络的攻击可能会造成重大的经济损失、人员伤亡和威胁国家安全的事件。

ICS从不同来源产生大量数据,诸如网络流量、来自各种系统、传感器和致动器的日志。入侵ICS可能会在IT/OT基础架构的不同层上留下痕迹。攻击者通常需要访问公司计算机以探索漏洞,通过改变目标设备的配置来控制ICS控制组件,并最终改变控制逻辑以破坏由ICS监视和控制的生产。分析从不同层生成的警报和信息通常需要不同领域专家之间的协作,并且链接来自不同数据源的信息通常很耗时,而对安全事件的响应通常是时间敏感的。

由于ICS的复杂性,安全系统不仅应依靠单一的统计和学习模型,而应通过整合异构数据流源来适应上下文的变化,与系统状态保持一致以及整体性。在本发明中,我们旨在开发一种框架,该框架支持ICS安全事件的在线数据处理、查询和推理。轻量级知识库尤其被设计用于从ICS中的多个异构数据封包中收集知识,该数据封包包括来自信息技术(IT)领域和运营技术(OT)领域二者中具有不同类型数据格式的数据。

在过程控制中,可编程逻辑控制器(PLC)是从现场设备、过程和控制现场致动器收集数据的关键组件。通过未授权访问PLC,攻击者可能直接改变过程变量,并从而操纵现场设备。熟练的攻击者可以将他们的行为隐藏在正常的网络流量水平下,并使用合法的系统来更改PLC控制逻辑。由积极进取的顶尖专家精心设计的高级持续威胁(APT),有时具有由国家赞助的扩展资源,从检测角度来看可能会带来附加挑战,因为它们具有特定的用途并且可以长期运行而不被发现。借助避免现有基于签名的恶意软件检测方法的检测的方法,此类针对ICS设备的复杂网络攻击通常在正常的网络流量下被有意地伪装并隐藏在合法系统内。当前,事实证明,现有的安全控制措施不足以应对此类威胁,尤其是在过程级攻击的情况下。其它ICS系统,诸如分布式控制系统(DCS)、运动控制器、监控和数据采集(SCADA)服务器以及人机界面(HMI),在部署安全措施时也面临附加挑战。

为改善工业系统中的检测空间而开发的最新创新方法包括检测从I/O过程变量观察到的值(即传感器和致动器值)的偏差并基于神经网络或自回归模型对过程趋势数据进行建模的能力。当前的入侵检测解决方案主要集中于单一数据源,诸如IT数据或过程变量数据,并且缺乏在IT和OT之间组合有用信息的能力。用于ICS的大部分商业安全软件都直接从IT领域迁移并且专注于分析网络流量、来自各种系统的日志信息、资产信息等。最近,研究和测试了分析控制系统语义数据,以发现基于与系统基线的值偏差的异常。监视生产过程变量(诸如温度、压力、实际电动机速度、电磁阀命令、比例阀设定)时,那些先前的方法可能会遇到以下一个或多个问题。

此类方法可能缺乏支持对复杂事件的实时情况感知的能力,并且无法将给定过程中检测到的偏差与从其它数据源观察到的异常相关。例如,当一个过程变量开始模式变化时,很难确定这是由外部环境刺激(诸如网络攻击)还是自然预期的过程行为引起的。发生这种情况是因为不同的监视领域(例如安全、网络性能、生产过程)被独立监视,并且缺乏统一的格式来共享信息。分析从IT和OT生成的警报通常需要不同领域专家之间的协作,并且链接来自不同数据源的信息非常耗时,而对安全事件的响应通常是时间敏感的。

如果不事先知道过程变量或来自不同层的信息之间的因果关系,则此类方法可能无法提供进一步的根本原因分析。如果没有链接不同类型的安全事件的能力,则无法进行上下文丰富的分析。例如,在水箱存储系统中,如果独立监视水压变量和阀状态而阀不能正常工作,则很难确定是否应该对压力监视传感器或阀进行研究,因为水压会由于阀门故障而受到影响。

此类方法可能缺乏将其分析方法推广到不同的信息物理系统的能力。每种监视方法都是专门为特定物理系统设计的。例如,能源管理系统的物理模型不能用于制造系统。同样,构建多个特定系统需要主题专家的特定知识,并且因此可能很昂贵且耗时。

此类方法还可能缺乏数据驱动模型的可行的解释机制。例如,尽管典型的数据驱动方法可以通过连续监视过程变量趋势来生成异常评分,但操作员仍然很难仅基于评分而在没有附加上下文的情况下及时采取动作。

现有的使用ICS数据的机器学习方法可能包含一些空白,诸如缺乏对事件模型领域知识的支持,以及缺乏对实时检测的支持。另一方面,由于编码过程的物理特性所需的时间量大,硬编码规则和具有预定义距离度量的异常值检测通常无法扩展。

发明内容

提出的框架开发了新的一类轻量级本体知识融合、提取和来源(英语:provenance)技术,其在快速ICS数据交换上构建和维护知识库。异构知识库由关键事件和信号实体及其语义关系组成。该框架包括在线事件和信号检测模块,该模块结合实时数据流学习和增量查询处理,以实时提取和融合复杂事件实体的值,合并ICS和IT数据流领域的事件检测过程。该框架进一步包括在线事实检查模块,该模块利用上下文模式来识别在开放世界假设(OWA)下编写的知识库的关系。还提供了问答用户界面,以允许在在线模型开发期间框架与操作员之间的用户友好的交换,以验证相关性。

公开了用于工业控制系统(ICS)中的安全管理的方法和系统。事件实体检测和链接模块针对从多个不同数据源(包括一个ICS数据源和一个IT数据源)提取的多个事件实体来生成模型。该模型对一组链接的事件实体及其关系进行编码,每个事件实体与属性-值对的矢量相关联。领域知识的数据标准化包括通过机器学习应用将提取的知识库信息转换为约束的规则,并使用规则来验证约束并添加新的约束。融合模块在不同数据源的数据流上执行时间相关检测,以在定义的时间跨度内建立关联模型的三元组之间的因果关系。

附图说明

当结合附图阅读时,根据以下详细描述可以最好地理解本发明的前述和其它方面。为了说明本发明,在附图中示出了当前优选的实施方式,但是应当理解,本发明不限于所公开的特定手段。附图中包括以下附图:

图1示出根据本公开的实施方式的用于工业控制系统的事件实体提取和融合过程的示例的流程图;

图2示出根据本公开的实施方式的用于工业控制系统的时间相关检测过程的示例的流程图;

图3示出根据本公开的实施方式的用于对工业控制系统的安全事件进行查询和排序的用户友好的问答界面的示例。

图4示出根据本公开的实施方式的用于执行实时安全事件管理和监视的应用模块集的示例的框图;以及

图5示出可以在其中实现本公开的实施方式的计算环境的示例。

具体实施方式

公开了用于大规模工业控制系统中的安全监视和评估异构数据的方法和系统。尽管当前可用的工具可以基于从感测到的测量的过程变量或致动器值中观察到的值的偏差来检测异常,但是对生产过程具体数据的监视无法将事件实体在各种数据流之间链接在一起。根据条件功能依赖性的实施,针对各种数据流构造知识图,以解决检测到的不一致性。实时时间相关性作为一种事实检查机制应用于不断发展的ICS数据,该机制通过执行时间关联规则来检测到期数据或时空本体模型的关系衰减。用户友好的问答界面被配置为将用户查询自动重写为重新构造的对应查询,以使计算机能够检索与事件模型相关的信息。因此,该增强界面可以为用户提供对事件与相关信号或事件实体之间的潜在物理关系的理解,以及对为什么特定信号或事件实体与建模的事件不相关的答案。

图1示出根据本公开的实施方式的用于工业控制系统的事件实体提取和融合过程的示例的流程图。对复杂事件的快速检测和响应对于ICS应用是关键的。复杂事件是关键因素及其上下文敏感相关性的链接表示。在实施方式中,通过异常值对事件建模,其中目的在于在给定的时间或距离度量中找到与多数对象明显不同的数据对象。异常值的此类检测被认为是潜在的安全事件。如图1所示的框架100应用增量查询和实时学习技术从各种不同的数据流中检索和预测关键信号的值,以构造复杂的事件实体。作为事件检测的示例,在时间t,从位置L处的传感器检测到信号。在实施方式中,可以使用应用于链接事件实体的图形模型的规则和约束,基于特定时间跨度内检测到的信号和传感器的模式自动生成事件实体。例如,可以在一系列时间间隔上监视通过关系来链接的实体节点的提取图形模型,以检测子图的模式以揭示潜在事件。更尤其是,如果在12次中有10次观察到链接事件实体的特定子图模式,则在预期子图不存在的情况下,可能基于数据不一致触发警报。

框架100实现了异构ICS数据流和实时ICS事件实体链接的标准化。例如,可以监视如从ICS和IT系统的组合的各种数据源接收到的异构数据流140、141、142、143,该组合可以包括IT系统的现场设备150、SCADA数据源151、ICS的配置文件152和安全数据源153(例如,互联网流量、防火墙日志等)。每个单个源数据流都包括异构数据,因为来自传感器的信号在不同的数据域上变化。例如,现场设备数据流140可以包括与各种生产过程变量有关的信息(诸如温度、压力、实际电动机速度、对电磁阀的命令、比例阀的设定、设备状态)。类似地,数据流141、142和143中的每一个可以包括在各种数据域上的异构数据。期望的链接可以识别潜在的安全事件如何在众多受监视的数据流140、141、142、143上表现出来,包括对关系事件实体之间反应时间的时间延迟的考虑。为了使来自此类各种数据源150、151、152和153的数据相关,框架100应用链接的数据模型来表示知识数据数据库中的ICS数据词库和实例。链接的数据模型的数据标准化包括将数据转换为通用格式。例如,可以通过数值、位置和功能来概括与实体节点相关联的特性,并且该节点可以链接到类似领域类型的其它节点(例如,链接到其它时间序列数据节点的时间序列数据节点)。每个节点的标准化数据可以包括领域信息和统计分析信息。作为另一示例,服务器实体(例如,网络资产)可以通过诸如IP地址、发送的封包和接收的封包的实体特性信息来概括。

例如,标准化方案是针对知识图设计的,而不是使用记录所有信号值的传感器表。在知识图模式中,报告监视算法结果并输出是否存在异常事件。例如,实体A是具有信号B特性的传感器并链接到由基于规则的算法创建的特殊事件。

针对每个事件实体的建议模型是三元组的集合,该三元组集合对存储在事件实体存储库111、112、113中的一组链接的事件实体及其关系进行编码。每个事件实体都与类型(例如,本体)以及属性-值对的矢量相关联。值得注意的属性可包括数据源、原始设备、信号名称、位置或时间。每个三元组<主体,谓词,对象>编码了主体实体、对象实体及其关系,诸如以下示例:

其中主体实体PMU

与诸如作为表格存储的关系数据库的刚性数据模型相比,两个实体根据其数据异质性可具有不同组的属性-值对。可以关联分层类型系统来表征ICS数据对象的本体。为了进一步改善数据互操作性,最初由各个事件实体提取器130、131、132、133中的每一个针对关系数据所定义的完整性和语义约束可以由事件实体融合器121、122、123扩展为多源数据,以在属性(即元数据)级别和实例级别二者处确保一致性并提高数据完整性。从相应的数据流140、141、142、143中提取相关信息135、136、137、138。例如,事件实体提取器130可以从数据源150的数据流140中提取相关事件实体信息135,并返回一组事件实体模型145。同样,事件实体提取器131从不同的数据源151返回另一组事件实体模型146。事件实体融合器121从多源集合145和146识别相关的事件实体模型并融合多源关系数据以存储在事件实体存储库111中。事件实体融合器121、122、123中的任何一个都可能有其它融合变体,每一个都在根据如下所描述的数据相关算法所建立的定义持续时间内链接来自事件实体模型集145、146、147、148的两个或更多个事件实体模型。

过程100使得能够检测可由信号噪声引起的数据不一致。可以根据引用完整性和条件功能依赖性对链接的异构实体属性和值强制执行语义约束。例如,可以提供以下的引用完整性:

其指出“任何PMU的位置都必须来自某个变电站的位置”;并且可以提供以下的条件功能依赖性:

Meter.[time,location]=Meter.read

其声明任何两个仪表在相同的具体时间和关闭位置的仪表读数[Meter.read]应该相同。关于引用完整性,监视该信息以检测数据不一致,其中如果检测到数据不匹配,则可以自动纠正信息,或者可以触发警报以允许操作员采取纠正措施。对于条件功能依赖性语句,如果值满足左侧条件(例如,两个实体都是同一时间实例且在非常接近的位置中的仪表读数),但违反了右侧约束(例如,仪表读数的两个值不相等),则两个事件实体违反条件功能依赖性。在执行算法以检测不一致之前,可以通过领域专业知识或统计分析来学习基线。一旦学习了基线,就可以应用这些约束来将不一致识别为潜在的ICS系统攻击或故障,这可以通过删除链接的属性-值对或以最小的编辑成本更新值来解决。

作为提高建立基线学习的效率和增强数据驱动方法的一种选择,可以转换来自领域知识库的有关特定形式的ICS数据的可用领域知识(例如,系统设计工程文档或P&ID图表)以标准化数据。例如,生产过程的设计工程师通常在ICS的设计阶段期间以P&ID图表的形式来记录过程的详细信息。尽管不存在用于写入/读取P&ID图表的正式语言,但是机器学习应用或领域专家或二者都可以从领域知识库的图表中提取信息。例如,分析现有过程数据的机器学习算法可以建议规则。因此,过程工程师或专家系统可以使用P&ID图表来验证和写入附加的规则。一旦数据被标准化,就可以将其用于增强事件实体融合器121、122、123的性能(例如,图形构造),这种增强操作将在下面进一步说明。

返回图1,每当需要特定信号140、141、142、143的值用于复杂事件检测时,就引起事件实体提取器130、131、132、133的提取。例如,给定一组信号p

来自多个提取器130、131、132、133的输出145、146、147、148被重定向到由事件实体融合器121、122、123执行的实体链接过程,其实现在线知识融合以链接事件实体的值。在实施方式中,每个融合器121、122、123包括实时集成学习器,其在多源异构数据流上训练多个分类器。例如,可以利用各种算法来报告结果,并且结果的整合可以从一组不确定的值中确定的具有高概率的真实值。通过诸如增量学习的机器学习技术来动态更新事件实体的实体链接。在实施方式中,每个融合器121、122、123实现一类增量时间相关性基于规则的算法,以发现不同源数据流之间的时间查询模式。在实施方式中,可以根据以下规则生成规则:

每当因子X具有满足某个谓词P(X)的值时,因子Y将具有在时间跨度Δt内具有置信度θ的满足谓词P(Y)的值。规则(1)

因此,增量时间相关性算法(例如,诸如由X和P(X)触发的图形模式挖掘算法)在定义的时间跨度内在两个三元组之间建立了因果关系。概念漂移检测器监视受监视数据流中的变化点,并决定何时需要更新整个模型。作为实现规则(1)的示例,融合器121可以针对客户端A、服务器B和致动器C建立时间相关性,该相关性说明如下:每当客户端A向服务器B发送一定数量的封包时,则10秒钟后,致动器C将具有带有0.8置信度的信号变化点事件。

总之,框架100的事件实体提取器使不同的流格式标准化,这使得能够融合来自不同源的信息。通过设计轻量级的特定数据标准化和事件实体提取引擎,将因果关系检测算法、异常检测算法和实体提取算法的软件堆栈集成在框架100中。它还使用正常操作数据为单个数据流建立基线,并执行互相关监视。

图2示出根据本公开实施方式的用于工业控制系统的实时时间相关性检测过程的示例的流程图。可以在事件实体提取器130、131、132、133中的每一个事件实体提取器中部署规则引擎211,以基于输入因子X、输出因子Y和动作A执行时间相关性检测和事实检查。例如,如果事件实体模型缺少期望的链接,则事实检查算法可以确定期望的链接是否存在有效关系。规则引擎211处理提取的数据以发现复杂的模式并确认数据的正确性。静态数据集中的相关性推断可依靠关联及贝叶斯模型。然而,对于与ICS数据的演进流有关的本公开的相关领域,事件实体模型可能随着基础样本和数据变化而由于概念漂移而“过期”或衰减。作为一种解决方案,规则引擎211在某些时间间隔和寿命内开发数据流关联模型,将时间依赖性建模为包括上下文考虑因素的一组时间关联规则。时间间隔或寿命可以基于对数据分布变化的监视(例如,概念漂移),或者可以是基于某些领域知识的固定时间间隔。上下文的应用扩展了相关性分析,以指定关联两个因子的条件,因为在某些情况下一些事件可能导致其它事件。每个因子都被视为数值流。

给定一组异构输入因子X和输出因子Y以及动作A,时间关联规则R的形式为:

R:P(X)→P(Y)[a,Δt,θ,C],规则(2)其说明:

每当信号X具有满足谓词P(X)的值并执行动作a时,Y将在时间窗口Δt内在上下文C下概率为θ的具有满足谓词P(Y)的值。

其中上下文C指定了该关联的时空本体场景,并且概率θ表示置信度(或重要性)水平。

规则引擎211可以提供用于异常检测和根本原因分析的附加信息。例如,当ICS传感器报告异常读数时,对传感器数据的单项分析无法区分是网络攻击还是传感器故障。使用规则引擎211通过为框架100提供时间关联规则来解决该问题。例如,如果框架100捕获了事件,在该事件中,可编程逻辑控制器(PLC)向致动器发送控制命令,而所收集的传感器数据不满足预定义规则,则它可能是潜在的网络攻击,具有由相关数据和概率θ所支持的附加确定性。

图3示出根据本公开的实施方式的用于对工业控制系统的安全事件进行查询和排序的用户友好的问答界面的示例的过程流程图。在框架100链接事件实体模型期间,用户友好的问答界面可用于提示操作员对检测到的数据不一致进行验证和事实检查,或者证实针对事件实体的应用约束和规则是否有效。在框架100于提取、链接和融合过程之后在事件实体存储库111、112、113中累积了事件实体模型,并为正常的关系模式建立了牢固的基线之后,当一个或多个事件提示需要进行查询以确定异常情况是否与潜在的网络攻击有关时,该用户友好界面对于ICS系统操作员会有用。用户友好界面可以根据用户界面模块进行操作,该用户界面模块被编程为经由有效的查询重写来将答案从高级问题的解释解释为底层物理世界。用户界面模块可以执行用于提供对两种类型的问题的答案的界面进程300:可以通过对事件进行查询和排序来直接回答的低级描述问题,以及经由有效的重写对底层物理世界的高级问题。与当今提供异常数据警报的ICS和IT配置相比,框架100对ICS和IT事件实体模型的融合使操作员可以在用户友好的界面上接收具有更丰富信息的事件通知,这可以提供事件是由流程故障(例如,需要维护的ICS设备)还是IT安全漏洞(例如,黑客修改了恶意行为中的过程变量以欺骗操作员的控制读数)引起的概率或可能性得分,从而加快并简化了根本原因分析。另一方面,传统ICS和IT系统中的异常数据警报需要沿着ICS系统和IT系统进行单独的根本原因调查,以确定警报的含义,并且甚至可能无法链接来自每个系统的独立警报。

如图3中所示,界面进程300可以由界面模块执行,并且包括向界面300提出的低级描述问题311可以通过首先提取主题和目的312,生成用于查询事件实体存储库314以直接从知识库获取信息的一组关键字31来回答。响应于低级问题形式的查询,关键字查询可以由执行搜索算法以搜索知识库并提取排名候选的系统控制器或处理器作为查询响应316来处理。

在实施方式中,用户界面模块可以执行界面进程300,该界面进程包括被配置为回答两类问题“为什么”和“为什么不是”的高级描述问题321,以增强对事件的解释。响应于查询,用户界面模块可以提取主题和目的322,生成查询重写323,查询事件实体存储库324,识别关系325,并提供量化的排名得分326。

作为第一示例,给定事件s在学习的事件模型中具有相关的信号X,操作员可能想了解“信号X为何关键?”(即“为什么”问题)。用户界面模块实现了查询重写,该查询重写将该问题修改为新的对应查询,使得一旦被发送,可以通过检索模型中学习的子图模式来触发对意外信号X和事件之间的相关链接及其显著关系的检索。

作为第二示例,给定事件s

可以根据界面进程300处理的问题和答案的附加示例如下。

Q1:[在线事件检测]“过去10分钟内[在60秒的时间范围内]在传感器1发生的头两个重要事件是什么?”

输入:实时信息物理数据/传感器流。

输出:事件发生在特定的数据流/传感器上。表示为复杂实体,具有关键属性值的列表以及与其它重要信号的关联时间链接的列表。

Q2:[在线事件排名]“新检测到的异常会排名高/可疑吗?鉴于过去

30天的经验”。“什么是当前前五名可疑事件?”

输入:实时信息物理数据/传感器流。一组待监视的关注事件。

输出:自动排名事件的列表

Q3:[在线相关性分析]“过去20分钟内密集相关的传感器/事件组是什么?”

输入:实时信息物理数据/传感器流。两个或多个传感器/事件。

输出:传感器/事件组

Q4:[交互式知识库探索和问答]

问答界面:

问:“Kronos,告诉我过去2个小时中最可疑活动的2个传感器”

答:“PMU 1和传感器2示出顶部列出的可疑事件。”

问:“这两个传感器与其它传感器有什么相关性?”

答:“传感器2定期从传感器3接收网络封包。”

问:“最可能的场景是?”

答:“很可能是欺骗攻击”。

输出:相关性模式,由Kronos本体、关系和事实解释

图4示出根据本公开的实施方式的用于执行实时安全事件管理和监视的应用模块集的示例的框图。应用模块410可以包括事件实体链接模块411、融合模块421和图形用户界面模块431。如上所描述,事件实体链接模块411可以包括语义约束模块412,用于通过执行检查实体模型的事件实体值是否违反语义约束来开发语义约束以检测数据不一致。数据标准化模块413可以使用用于验证约束并添加新的约束的机器学习应用来转换来自领域知识库(例如,设计工程文档、P&ID图示等)的信息。时间和上下文依赖性模块414可以包括用于基于上下文和时间相关性链接事件实体的规则引擎(例如,规则引擎211)。融合模块421可以包括多源时间相关模块422,用于基于时间相关规则(诸如上述规则(1))执行集成学习,以用于在多个数据源的事件实体模型上的三元组的融合。图形用户界面模块431可以包括低级描述Q&A模块432和高级描述Q&A模块433。低级描述Q&A模块432可以针对诸如图3的步骤311-316的“为什么”形式的问题执行处理,并且高级描述Q&A模块433可以针对诸如图3的步骤321-326的“为什么不是”形式的问题执行处理。

本公开的实施方式集成了各种类型的数据源和数据格式,用于发现不同实体之间的相关性和因果关系。结果,当检测到异常时,来自其它实体的附加信息可以帮助框架识别其根本原因并区分网络攻击或物理故障。图形用户界面模块向操作员提供了用户友好且上下文丰富的消息,以进行系统监视、异常检测和根本原因分析。

图5示出可以在其中实现本公开的实施方式的计算环境的示例。计算环境500包括计算机系统510,该计算机系统可以包括诸如系统总线521的通信机制或用于在计算机系统510内传送信息的其它通信机制。计算机系统510进一步包括与系统总线521耦接的一个或多个处理器520,用于处理信息。在实施方式中,计算环境500对应于ICS的一部分,其中计算机系统510涉及下面更详细描述的中央单元301。

处理器520可以包括一个或多个中央处理单元(CPU)、图形处理单元(GPU)或本领域中已知的任何其它处理器。更一般而言,本文所述的处理器是用于执行存储在计算机可读介质上的机器可读指令以执行任务的设备,并且可以包括硬件和固件中的任何一个或组合。处理器还可包括存储器,该存储器存储可执行以执行任务的机器可读指令。处理器通过操纵、分析、修改、转换或传输供可执行过程或信息设备使用的信息,和/或通过将信息路由到输出设备来对信息起作用。处理器可以例如使用或包括计算机、控制器或微处理器的能力,并且可以使用可执行指令来进行调节,以执行通用计算机没有执行的特殊功能。处理器可以包括任何类型的合适的处理单元,包括但不限于中央处理单元、微处理器、精简指令集计算机(RISC)微处理器、复杂指令集计算机(CISC)微处理器、微控制器、应用程序专用集成电路(ASIC)、现场可编程门阵列(FPGA)、片上系统(SoC)、数字信号处理器(DSP)等。此外,处理器520可以具有任何合适的微体系结构设计,包括任何数量的组成组件,诸如例如寄存器、多路复用器、算术逻辑单元、用于控制对高速缓存存储器的读/写操作的高速缓存控制器、分支预测器等。处理器的微体系结构设计可以能够支持多种指令集中的任何一种。处理器可以与使得能够在它们之间进行交互和/或通信的任何其它处理器(电和/或包括可执行组件)耦联。用户界面处理器或生成器是包括用于生成显示图像或其一部分的电子电路或软件或二者的组合的已知元件。用户界面包括一个或多个显示图像,该显示图像使得用户能够与处理器或其它设备进行交互。

系统总线521可以包括系统总线、存储器总线、地址总线或消息总线中的至少一种,并且可以允许在计算机系统510的各个组件之间交换信息(例如,数据(包括计算机可执行代码)、信令等)。系统总线521可包括但不限于存储器总线或存储器控制器、外围总线、加速图形端口等。系统总线521可以与任何合适的总线架构相关联,包括但不限于工业标准架构(ISA)、微通道架构(MCA)、增强型ISA(EISA)、视频电子标准协会(VESA)架构、加速图形端口(AGP)架构、外围组件互连(PCI)架构、PCI Express架构、国际个人计算机存储卡协会(PCMCIA)架构、通用串行总线(USB)架构等。

继续参考图5,计算机系统510还可以包括耦接到系统总线521的系统存储器530,用于存储将由处理器520执行的信息和指令。系统存储器530可以包括易失性和/或非易失性存储器形式的计算机可读存储介质,诸如只读存储器(ROM)531和/或随机存取存储器(RAM)532。RAM 532可以包括其它动态存储设备(例如,动态RAM、静态RAM和同步DRAM)。ROM531可以包括其它静态存储设备(例如,可编程ROM、可擦除PROM和电可擦除PROM)。另外,系统存储器530可以用于在处理器520的执行指令期间存储临时变量或其它中间信息。可以在ROM 531中存储基本输入/输出系统533(BIOS),该基本输入/输出系统包含诸如在启动期间帮助在计算机系统510内的元件之间传递信息的基本例程。RAM 532可以包含数据和/或程序模块,该数据和/或程序模块可以被处理器520立即访问和/或当前被其操作。系统存储器530可以附加地包括例如操作系统534、应用程序模块535和其它程序模块536。应用程序模块535可以包括上述应用程序模块410,并且还可以包括用于开发应用程序的用户门户,允许键入输入参数并根据需要进行修改。

操作系统534可以被加载到存储器530中,并且可以提供在计算机系统510上执行的其它应用软件与计算机系统510的硬件资源之间的接口。更具体地,操作系统534可以包括一组计算机可执行指令,用于管理计算机系统510的硬件资源以及用于向其它应用程序提供公共服务(例如,管理各种应用程序之间的存储器分配)。在某些示例实施方式中,操作系统534可以控制被描绘为存储在数据存储器540中的一个或多个程序模块的执行。操作系统534可以包括现在已知或将来可以开发的任何操作系统,包括(但不限于)任何服务器操作系统、任何大型机操作系统或任何其它专有或非专有操作系统。

计算机系统510还可以包括磁盘/介质控制器543,其耦接到系统总线521以控制用于存储信息和指令的一个或多个存储设备,诸如磁硬盘541和/或可移动介质驱动器542(例如,软盘驱动器、光盘驱动器、磁带驱动器、闪存驱动器和/或固态驱动器)。可以使用适当的设备接口(例如,小型计算机系统接口(SCSI)、集成设备电子设备(IDE)、通用串行总线(USB)或FireWire)将存储设备540添加到计算机系统510。存储设备541、542可以在计算机系统510的外部。

计算机系统510可以包括用户输入界面或图形用户界面(GUI)561,该界面可以包括一个或多个输入设备,诸如键盘、触摸屏、平板计算机和/或点击设备,以与计算机用户交互,并向处理器520提供信息。

计算机系统510可以响应于处理器520执行诸如系统存储器530的存储器中包含的一个或多个指令的一个或多个序列,来执行本发明实施方式的部分或全部处理步骤。此类指令可以从存储装置540的另一计算机可读介质(诸如磁性硬盘541或可移动介质驱动器542)读入系统存储器530中。磁性硬盘541和/或可移动介质驱动器542可以包含一个或多个本公开的实施方式使用的数据储存器和数据文件。数据存储540可以包括但不限于数据库(例如,关系的、面向对象的等)、文件系统、平面文件、分布式数据存储(其中数据存储在计算机网络的一个以上的节点上)、对等网络数据储存器等。数据储存器内容和数据文件可以加密以提高安全性。处理器520还可以在多处理布置中采用以执行系统存储器530中包含的一个或多个指令序列。在替代实施方式中,可以使用硬连线电路代替软件指令或与软件指令结合。因此,实施方式不限于硬件电路和软件的任何特定组合。

如上所述,计算机系统510可以包括至少一个计算机可读介质或存储器,用于保存根据本发明的实施方式编程的指令并且用于包含本文所述的数据结构、表、记录或其它数据。如本文所使用的术语“计算机可读介质”是指参与向处理器520提供指令以供执行的任何介质。计算机可读介质可以采用许多形式,包括但不限于非暂态非易失性介质、易失性介质和传输介质。非易失性介质的非限制性示例包括光盘、固态驱动器、磁盘和磁光盘,诸如磁性硬盘541或可移动介质驱动器542。易失性介质的非限制性示例包括动态存储器,诸如系统存储器530。传输介质的非限制性示例包括同轴电缆、铜线和光纤,包括构成系统总线521的线。传输介质还可以采用声波或光波的形式,诸如在无线电波和红外数据通信期间生成的那些形式。

用于执行本公开的操作的计算机可读介质指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或以一种或多种编程语言的任何组合编写的源代码或目标代码(包括面向对象的编程语言,诸如Smalltalk、C++等)和传统过程编程语言(诸如“C”编程语言或类似编程语言)。计算机可读程序指令可以完全在用户计算机上,部分在用户计算机上,作为独立软件套件执行,部分在用户计算机上并且部分在远程计算机上或完全在远程计算机或服务器上执行。在后一种场景中,远程计算机可以通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者可以与外部计算机建立连接(例如,通过使用互联网服务提供商的互联网)。在一些实施方式中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令来个性化电子电路,以执行本公开的方面。

在此参考根据本公开的实施方式的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各方面。将理解的是,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机可读介质指令来实现。

计算环境500可进一步包括计算机系统510,该计算机系统使用到一台或多台远程计算机(例如,远程计算设备580和远程代理581)的逻辑连接在联网环境中操作。在实施方式中,远程计算设备580可对应于ICS中的至少一个附加中央单元301。网络接口570可以使得例如经由网络571与其它远程设备580或系统和/或存储设备541、542的通信。远程计算设备580可以是个人计算机(膝上型计算机或台式计算机)、移动设备、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且通常包括上面相对于计算机系统510所述的许多或所有元件。当在联网环境中使用时,计算机系统510可包括调制解调器572用于在诸如互联网的网络571上建立通信。调制解调器572可以经由用户网络接口570或经由另一适当的机制连接至系统总线521。

网络571可以是本领域中通常已知的任何网络或系统,包括互联网、企业内部网、局域网(LAN)、广域网(WAN)、城域网(MAN)、直接连接或一系列连接、蜂窝电话网络或能够促进计算机系统510与其它计算机(例如,远程计算设备580)之间的通信的任何其它网络或介质。网络571可以是有线的、无线的或其组合。可以使用以太网、通用串行总线(USB)、RJ-6或本领域通常已知的任何其它有线连接来实现有线连接。可以使用Wi-Fi、WiMAX和蓝牙、红外、蜂窝网络、卫星或本领域通常已知的任何其它无线连接方法来实现无线连接。另外,几个网络可以单独工作或彼此通信以促进网络571中的通信。

应当理解,图5中被描绘为存储在系统存储器530中的程序模块、应用程序、计算机可执行指令、代码等仅是说明性的,而不是穷举的,并且被描述为由任何特定模块支持的处理可以可替代地分布在多个模块上或由不同模块执行。另外,在计算机系统510上本地托管,在远程设备580上和/或托管在经由一个或多个网络571访问的其它计算设备上的各种程序模块、脚本、插件、应用程序编程接口(API)或任何其它合适的计算机可执行代码可以被提供以支持由图5中所描绘的程序模块、应用程序或计算机可执行代码提供的功能和/或附加或替代功能。此外,功能可以被不同地模块化,使得描述为由图5中所描绘的程序模块的集合共同支持的处理可以由更少或更多数量的模块执行,或者描述为由任何特定模块支持的功能可以至少部分地由另一个模块支持。另外,支持本文描述的功能的程序模块可以形成根据任何合适的计算模型(诸如例如,客户端-服务器模型、对等模型等)可在任何数量的系统或设备上执行的一个或多个应用程序的一部分。另外,描述为由图5中所描绘的任何程序模块支持的任何功能都可以至少部分地在任何数量的设备上以硬件和/或固件来实现。

应当进一步理解,在不脱离本公开的范围的情况下,计算机系统510可以包括除了所描述或描绘的那些之外的替代和/或附加的硬件、软件或固件组件。更具体地,应当理解,描绘为形成计算机系统510的一部分的软件、固件或硬件组件仅是说明性的,并且在各种实施方式中可能不存在某些组件或可以提供附加组件。尽管已经将各种说明性程序模块描绘和描述为存储在系统存储器530中的软件模块,但是应当理解,可以由硬件、软件和/或固件的任意组合来实现被描述为由程序模块支持的功能。进一步应当理解,在各种实施方式中,每个上述模块可以表示所支持功能的逻辑分区。为了易于解释功能而描绘了该逻辑分区,并且该逻辑分区可能不代表用于实现功能的软件、硬件和/或固件的结构。因此,应当理解,在各种实施方式中,描述为由特定模块提供的功能可以至少部分地由一个或多个其它模块提供。此外,在某些实施方式中可能不存在一个或多个所描绘的模块,而在其它实施方式中,可能会存在未描绘的附加模块,并且可以支持所描述的功能和/或附加功能的至少一部分。此外,尽管某些模块可以被描绘和描述为另一模块的子模块,但是在某些实施方式中,可以将此类模块提供为独立模块或其它模块的子模块。

尽管已经描述了本公开的具体的实施方式,但是本领域的普通技术人员将认识到,许多其它修改和替代实施方式也在本公开的范围内。例如,关于特定设备或组件描述的任何功能和/或处理能力可以由任何其它设备或组件执行。此外,尽管已经根据本公开的实施方式描述了各种说明性的实现方式和架构,但是本领域的普通技术人员将理解,对本文描述的说明性的实现方式和架构的许多其它修改也在本公开的范围内。另外,应当理解,本文中描述为基于另一种操作、元件、组件、数据等的任何操作、元件、组件、数据等可以附加地基于一个或多个其它操作、元件、组件、数据等。因此,短语“基于”或其变体应被解释为“至少部分地基于”。

尽管已经以特定于结构特征和/或方法动作的语言描述了实施方式,但是应当理解,本公开内容不必限于所描述的特定特征或动作。相反,公开了特定的特征和动作作为实现实施方式的说明性形式。除非另外具体说明或在所使用的上下文中以其它方式理解,否则条件语言(例如“能够”、“可以”、“可能”或“可”)通常旨在传达某些实施方式可以包括,但其它实施方式不包括某些特征、元件和/或步骤。因此,此类条件语言通常不旨在暗示一个或多个实施方式以任何方式要求特征、元件和/或步骤,或者一个或多个实施方式必须包括用于在具有或不具有用户输入或提示的情况下确定这些特征、元件和/或步骤是否包括在内或将在任何特定实施方式中执行的逻辑。

附图中的流程图和框图示出了根据本公开的各种实施方式的系统、方法和计算机程序产品的可能的实现方式的架构、功能和操作。就这而言,流程图或框图中的每个框可以表示指令的模块、片段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实现方式中,框中指出的功能可以不按图中指出的顺序发生。例如,取决于所涉及的功能,实际上可以基本上同时执行连续示出的两个框,或者有时可以以相反的顺序执行这些框。还应注意,框图和/或流程图的每个框以及框图和/或流程图的框的组合可以通过执行特定功能或动作或执行特殊目的硬件和计算机指令的组合的基于特殊目的硬件的系统来实现。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号