CN105976031B - 多个语义推理引擎对数据的并行处理 - Google Patents
多个语义推理引擎对数据的并行处理 Download PDFInfo
- Publication number
- CN105976031B CN105976031B CN201610141086.9A CN201610141086A CN105976031B CN 105976031 B CN105976031 B CN 105976031B CN 201610141086 A CN201610141086 A CN 201610141086A CN 105976031 B CN105976031 B CN 105976031B
- Authority
- CN
- China
- Prior art keywords
- rules
- rule
- instance
- pair
- inference engine
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/043—Distributed expert systems; Blackboards
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0866—Checking the configuration
- H04L41/0873—Checking configuration conflicts between network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0894—Policy-based network configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
- H04L41/122—Discovery or management of network topologies of virtualised topologies, e.g. software-defined networks [SDN] or network function virtualisation [NFV]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/40—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/046—Forward inferencing; Production systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0895—Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computational Linguistics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
本公开涉及多个语义推理引擎对数据的并行处理。方法包括:从多个规则中标识一对或多对链接规则,并且从一对或多对链接规则中将链接在一起的规则分配给P个规则集中的相应规则集。方法还包括:从多个规则所参照的多个个体中将P个规则集中的每个规则集所参照的个体分配给与每个规则集相关联的个体集,并且将来自每个规则集的规则和来自与每个规则集相关联的个体集的个体映射到与每个规则集相关联的相应知识库实例。这样的方法在允许给定流窗口内的并行语义推理时确保知识完备性和良好的推断。
Description
技术领域
本公开一般地涉及通信领域,并且更具体地涉及使用语义推理机的数据控制和管理。
背景技术
数据中心越来越多地被企业用于进行有效的合作和交互以及用于存储数据和资源。典型的数据中心网络包含大量网络元件,包括主机、负载平衡器、路由器、交换机等。连接网络元件的网络按照需要提供对数据中心服务和针对部署、互连、以及共享资源聚合的基础设施(包括应用、主机、装置、以及存储装置)的安全用户访问。提高操作效率并且优化对这类数据中心中的资源的利用是数据中心管理器面临的一些挑战。数据中心管理器希望有弹性的基础设施,该有弹性的基础设施始终支持各种应用和服务并且保护应用和服务免受中断。适当计划并操作的数据中心网络提供应用和数据完整性并且优化应用可用性和性能。
附图说明
为了提供对本公开及其特征和优势的更完整理解,结合附图对以下说明进行参考,图中相似的标号代表相似的部分,其中:
图1是示出了根据本公开的实施例的、用于在网络环境中使用语义推理机来协助网络控制和管理的通信系统的简化框图;
图2A和图2B是示出了根据本公开的各个实施例的、可以与通信系统的实施例相关联的示例操作的简化流程图;
图3是示出了根据本公开的一个实施例的一组相关规则的不同规则集的简化框图;
图4是示出了根据本公开的一个实施例的、与图3中所示出的一组相关规则相对应的窗口的不同个体集的简化框图;
图5是示出了根据本公开的一个实施例的、图3中所示出的不同规则集和图4中所示出的个体集到相应KB实例的映射的简化框图。
具体实施方式
概览
本文公开了由语义推理机(例如,网络中的语义推理机)执行的计算机实现的方法。方法包括:从多个规则中标识一对或多对链接规则,并且从一对或多对链接规则中将链接在一起的规则分配给P个规则集中的相应规则集。方法还包括:标识多个规则所参照的多个个体,并且从多个规则所参照的多个个体中将P个规则集中的每个相应规则集所参照的所有个体分配给与每个相应规则集相关联的个体集(在本文中被称为“窗口窗格(windowpane)”)(即,规则集和个体集之间存在一对一的对应关系,其中每个规则集与一个个体集且仅与一个个体集相关联,反之亦然)。方法还包括:将来自每个相应规则集的规则和来自与每个相应规则集相关联的个体集的个体映射到与每个相应规则集相关联的相应知识库(KB)实例(即,规则集和KB实例之间存在一对一的对应关系,其中每个规则集与一个KB实例且仅与一个KB实例相关联,反之亦然;类似地,个体集和KB实例之间存在一对一的对应关系)。
由于本文所描述的方法的实施例涉及对一个或多个窗口窗格的操纵,因此执行本文所述方法的实施例的网络元件内的功能实体在下文中将被称为“窗口窗格预处理器”。本领域技术人员将理解的是,本公开的各方面(尤其是本文所述的窗口窗格预处理器的功能)可以被体现为系统、方法或计算机程序产品。因此,本公开的各方面可以采取以下的形式:完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等)、或将软件和硬件方面结合的在本文中通常可以全部称为“电路”、“模块”或“系统”的实施例。本公开中所述的功能可以被实现为由处理器(例如,计算机的微处理器)执行的算法。此外,本公开的各方面可以采取计算机程序产品的形式,计算机程序产品被包括优选非暂态的在一个或多个计算机可读介质中、其上具有(例如存储有)计算机可读程序代码。在各种实施例中,这样的计算机程序可以例如被下载(被更新)到现有设备和系统(例如,到现有网络元件,如路由器、交换机、各种控制节点等)或在制造这些设备和系统时被存储。
示例实施例
转向图1,图1是示出了根据一个示例实施例的、用于在网络环境中使用语义推理机来协助网络数据控制和管理的通信系统10的简化框图。虽然参照网络数据、基础网络本体(ontology)、网络知识库等解释了本文所述的实施例,但本文所述的功能(具体地为窗口窗格预处理器的功能)可以被实现来处理任意类型的数据(不一定是网络数据),并且适用于任意环境(不一定是网络环境)。例如,本文所述的实施例可以针对传感器数据(例如,语义传感器网络(SSN)的传感器云)上或网络数据(例如,社交网络馈送)上的机器推理来实现。
图1示出了包括语义推理机12的通信系统10,语义推理机12包括语义映射器14、知识库(KB)16(例如网络KB)、以及推理引擎18。来自系统21(例如网络21)的数据20(例如网络数据)可以以任意适当的格式(例如(但不限于),管理信息结构(SMI)22、YANG 24、或可扩展标记语言(XML)26)被馈送入语义推理机12。根据各个实施例,语义映射器14中的解析器子模块28和生成器子模块30可以与窗口窗格预处理器13合作来例如使用根据基础本体34(例如基础网络本体34)的清单(manifest)32动态地和自动地用从网络数据20中提取的数据填充KB16。存储器元件36和处理器38可以协助由语义推理机12的任意元件执行的各种操作(具体地为由窗口窗格预处理器13执行的操作)。推理引擎18可以例如使用来自策略数据库39的策略和规则来对KB 16中的内容执行机器推理,并且生成适用于控制和管理网络21的(一个或多个)动作或(一个或多个)报告40。注意,动作/报告40可以包括任意适当的动作或报告,包括补救动作和报告、通知动作和信息报告。
通常,本体在形式上将知识表示为使用共享词汇来表示概念的类型、特性和相互关系的域(例如网络)内的概念的层级。具体地,网络(例如网络21)的“基础网络本体”(例如,基础网络本体34)包括提供形式结构框架的网络的共享概念化的显式表示,形式结构框架用于将与网络有关的知识组织为互相关联的概念的层级。共享概念化包括:用于对域知识(例如,与网络有关的知识、用于网络内的设备和应用间的通信的内容特定协议等)进行建模的概念框架;以及与特定域理论的表示有关的协议。通常,基础网络本体34可以用任意适当的知识表示语言(例如,网络本体语言(OWL))来编码。
如本文所使用的,术语“清单”指数据定义格式(例如,SMI版本2(SMIv2)、YANG、XML等)和本体组件之间的绑定(例如,映射)的列表。在某些实施例中,清单32本质上可以是相对静态的,并且可以基于被映射的网络数据20的相关联的基础网络本体34和SMI/YANG/XML等来被开发。随着基础网络本体34演进(例如,被更新),清单32可以相应地被更新(例如,由人工操作者更新)。
实现诸如图1中所示推理机12之类的语义推理机的技术启示的重要性可能未受到重视。随着各种系统中部署的数据生成设备的数量不断增加,用最小的人为干涉(如果有人为干涉的话)处理所生成的数据对发明和部署这类设备的有用性来说变得至关重要。毕竟,例如传感器的系统无法产生任何技术效果,除非由这些传感器测量的数据可以被有意义地处理以使得它可以起作用。因此,实现这类设备的技术效果在于实现能够对由设备生成的数据执行机器推理的语义推理机。
为了说明通信系统10的技术,重要的是理解可以穿过图1中所示的系统的通信。下面的基本信息可以被视为适当解释本公开的基础。这类信息被真诚地提供并且仅为了解释的目的,因此不应以任何限制本公开和其潜在应用的广义范围的方式来理解。
在当今的复杂信息技术(IT)环境中,操作包括对跨越至少以下广义类别的大量数据进行管理和推理:(1)商业规则,其指示总体系统行为和结果;(2)策略定义,其管理连接性模式和控制平面操作;(3)设备配置,其服从软件和/或硬件功能和限制;以及(4)可用于大数据分析的操作软状态数据,包括例如路由表、统计资料等。然而,存在多个网络管理和操作、营运和管理(OAM)工具,网络操作仍旧是高接触(high-touch)任务,需要人工参与来基于技术或商业上下文解释数据或配置策略。
软件定义网络(SDN)承诺通过使应用以编程方式向控制器声明它们的意图来降低人工参与,并且后者(控制器)驱动网络的操作。对SDN的成功来说必不可少的是具有对各种网络数据类别进行推理的能力的网络管理和控制逻辑。这类推理包括:检测策略违反;在冲突的策略定义之间进行调解;检测意外后果并且回复到稳定状态;以及基于意图和上下文信息以及其它特征来推断网络配置。推理可以使用语义技术来机械化,语义技术包括本体语言(例如,网络本体语言(OWL)、OWL-描述逻辑(OWL-DL)、资源描述框架(RDF)、语义网规则语言(SWRL)等);本体编辑器(例如,Protege);语义框架(例如,Sesame);以及语义推理机(例如,Pellet,HermIT,FaCT++等)。
相对近的并且尚未充分解决的、需要由任意解决方案处理的问题正在应对快速变化的数据,例如流数据。在很多用例中,需要对网络元件的软状态(例如,接口统计或协议有限状态机(FSM)状态、路由表内容等)进行推理。该类型的连续变化数据创建了针对当前语义推理机的挑战,当前语义推理机传统地对静态数字知识库进行操作。
流推理是过去几年中已引人注目的学术研究的新兴领域,主要地受提供将实现对异构流数据(传感器、社交网络等)进行机器推理的解决方案的需求激发。
流推理内的一个当前方法引入了作为流推理的关键要素的“窗口”和“连续处理”的概念。根据该方法,“窗口”的概念包括将流分为在时间的不同快照处观测的数据的子集。落在当前窗口之外的数据从知识库中被忽略。这样的方法一方面允许节省存储器和处理资源,而另一方面从知识库中消除不相关的(即陈旧的)数据。“连续处理”的概念包括使语义推理机连续运行以评估针对不断变化的知识库的目标。
另一方法定义针对流推理的框架,包括KB缓存和永久KB,其中KB缓存用于托管执行推理的当前窗口,永久KB用于托管历史知识。此外,该方法根据它们涉及的KB(OWL)个体的数量来定义窗口。这保证涉及OWL个体的所有语句被保持在当前窗口范围中。当与基于资源描述框架(RDF)语句的窗口相比时,基于个体的窗口通过放弃涉及KB中最老个体的RDF语句的组减少了不完备性的程度。
然而,这些方法遭受了很多缺点。一个缺点是,虽然第二种方法可以减少知识不完备性的程度,但它仍然无法保证任意给定窗口中的知识的完备性。这对于某些联网场景来说是不可接受的,其中,例如存在无法基于网络数据来触发动作的风险,这是因为数据被分为两个不同的窗口,并且因此当单独在每个窗口上执行推理时,触发期望动作的适当的条件在KB的当前快照中不存在。此外,这两种方法共同的另一缺点是,当在复杂规则上执行推理时(正如例如网络域中通常存在的情况),语义推理机的处理延迟可能大于保证实时推理所需的窗口刷新速率。换句话说,当前方法无法处理复杂规则被应用在快速变化的数据上的场景。
通信系统10被配置为处理这些问题(及其他问题),以提供使得语义推理机能够在快速变化的数据上进行操作的系统和方法。根据各种实施例,KB 16在逻辑上被分为n个单独的KB实例15-1到15-n(n可以是大于1的任意整数),并且语义推理机12中的窗口窗格预处理器13可以自动地(例如,无人为干涉)将数据20映射到不同的KB实例15,其中数据20可以根据基础本体34来建模。在实施例中,KB实例15可以被实现为缓存存储器。
此外,推理引擎18在逻辑上被分为n个单独的推理引擎实例17-1到17-n,推理引擎17-1到17-n的每个推理引擎实例17与KB实例15-1到15-n的一个KB实例相对应,反之亦然。每个推理引擎实例17是推理引擎18的个体表示,因此本文针对推理引擎18所提供的所有讨论适用于每个推理引擎实例17。
如本文所述,窗口窗格预处理器13可以确保/控制每个KB实例15的内容被供应给推理引擎实例17中可以适当地共同控制和管理网络21的相应的一个推理引擎实例。以这种方式,窗口窗格预处理器13实现通过多个语义推理引擎对语义数据进行并行处理,这进而使得语义推理机12能够在快速变化的数据上进行操作。
具体地,如本文所述,窗口窗格预处理器13被配置为执行新的方法,该新的方法可以在允许给定流窗口内的并行语义推理时确保知识完备性和良好推断。这样的方法可以被称为“窗口窗格”算法或方法。
除了使得语义推理机能够处理可能涉及对流数据进行实时推理(例如,故障检测(troubleshooting)协议FSM、分析分组统计等)的用例,本文所述的窗口窗格方法可以减少推理机延迟(推理机延迟可能随KB的尺寸以指数方式增长)。本文所述的窗口窗格方法可以适用任意类型的流数据,例如网络数据、传感器数据、或从社交网络生成的数据。
本文所述的窗口窗格方法是基于规则的特殊分组的,因此首先提供规则的一般说明。
在当今的网络域内,语义推理机操作的优选实施例被期望经由语义网规则语言(SWRL)规则评估。SWRL规则具有包括“主体(body)”和“头部(head)”的一般形式,并且被表达为“主体->头部”。每个主体和头部包括一个或多个原子,其中原子可以是类原子或属性原子,原子包括参照一个或多个个体的原子的对象(即,个体可以被视为规则的对象)。类原子测试或断言个体是特定类的成员。例如,类原子“接口(?x)”可以测试或断言个体“x”是类“接口”的成员(即,“x”是接口)。属性原子测试或断言个体与给定属性相关联(即关联)。例如,属性原子“hasIPv4Address(?x,?y)”可以测试或断言个体“x”使得个体“y”作为它的IPv4地址。
当规则的主体评估为真时,则规则引发并且头部中的(一个或多个)语句通过KB(通过KB个体)被断言。例如,用于检测表示为“x1”和“x2”的两个接口之间的IP地址冲突的规则可以用SWRL表达为如下:
hasSameAddressAs(?x1,?x2),hasSameVFIAs(?x1,?x2),DifferentFrom(?x1,?x2)->hasDuplicateAddress(?x1,?x2)
其中,“hasSameAddressAs”和“hasSameVFIAs”是规则的主体的属性原子,“DifferentFrom”是SWRL内置函数,“hasDuplicateAddress”是规则的头部的属性原子,并且“x1”和“x2”是KB个体(即,规则的对象)。当确定接口x1和x2具有相同的地址(hasSameAddressAs(?x1,?x2))、具有相同的虚拟转发实例(VFI)(hasSameVFIAs(?x1,?x2))、并且彼此不同(DifferentFrom(?x1,?x2))时,这样的规则的主体被评估为真。当主体评估为真时,这样的规则将断言接口x1具有接口x2的重复地址(hasDuplicateAddress(?x1,?x2)),正如该规则的头部中所提供的。
在关于规则如何被使用的另一示例中,针对基于策略的网络的现有语义方法使用边界网关协议(BGP)与本体网络语言(OWL)中表达的语义信息(例如,与路径相关联)。策略使用SWRL来表达以提供细粒度控制,其中路由器可以在其路径上推理并且确定路径将如何被改变。SWRL规则与OWL一起表达定义路由策略的BGP本体,并且语义推理机可以在本体和规则上动作以生成路由器的BGP配置(例如,路径输入/输出规则)。
如本文所使用的,“个体”(例如,“KB个体”)指代本体(指定讨论的知识库的语义模型)中定义的OWL类的实例。
虽然本文提供的示例涉及SWRL规则,但本公开中所提供的教导同样适用于使用霍恩子句(Horn clauses)的任意规则语言。
图2A是示出了可以与通信系统10的实施例相关联的示例操作的简化流程图。图2A中所示的操作概述了由窗口窗格预处理器13执行的计算机实现的窗口窗格方法42。尽管参照图1的通信系统10的元件解释了方法42的方法步骤,但是本领域技术人员将认识到被配置为按任意顺序执行这些方法步骤的任意系统或网络元件是在本公开的范围内的。
如图2A中所示,方法42可以在步骤44中开始,在步骤44中,窗口窗格预处理器13将检查特定本体的多个规则(例如,基础本体34中参照的规则)。在那时规则可以未分开的被存储在KB 16中、在窗口窗格预处理器13它本身中、或被存储在窗口窗格预处理器13可访问的任意其它数据库/存储器中。在步骤44中,窗口窗格预处理器13访问规则以标识一对或多对链接规则。
在一个实施例中,当一对规则中的一个规则的执行影响该对规则中的另一规则的执行或受该对规则中的另一规则的执行的影响时,来自多个规则的该对规则被标识为链接的。在一个另外的实施例中,如果另一规则(即第二规则)的执行影响第一规则的个体(即,第一规则),则一对规则中的一个规则(第一规则)受另一规则(第二规则)的执行的影响。
在一些实施例中,两个规则是否是链接的是通过评估规则的主体和/或头部来确定的。在这样的实施例中,假设一对规则中的每个规则包括主体和头部,每个主体和头部包括一个或多个原子,一个或多个原子包括零个或多个类原子和零个或多个属性原子,并且一个或多个原子中的每个原子参照一个或多个个体。在一个这样的实施例中,当一对规则中的一个规则的头部中所包括的至少一个类原子被包括在该对规则中的另一规则的主体中时,来自多个规则的该对规则被标识为链接的。在另一这样的实施例中,当一对规则中的一个规则的头部中所包括的至少一个属性原子是该对规则中的另一规则的主体中的属性原子、并且一个规则的头部中所包括的属性原子的对象参照至少一个个体(另一规则的主体中的属性原子的对象也参照该至少一个个体)时,来自多个规则的该对规则被标识为链接的。在又一这样的实施例中,当一对规则中的一个规则的头部中所包括的至少一个类原子的对象参照至少一个个体(该对规则中的另一规则的主体中所包括的至少一个属性原子的对象也参照该至少一个个体)时,来自多个规则的该对规则被标识为链接的。这样的实施例的条件包括基于类或属性的继承交叉(由于OWL支持类和属性层级)。
尽管上面提供的解释涉及“链接规则对”,但是步骤44当然可以包括两个以上规则被标识为“链接的”,但这些关系通常可以被分解为链接规则对。因此,如本文所使用的,短语“标识一对或多对链接规则”指代标识彼此之间是链接的两个或多个规则。例如,如果规则A与规则B链接并且规则B与规则C链接,则规则A、B和C将被标识为链接在一起的规则(即使规则A可能未直接链接到规则C)。
此外,为了说明性目的,“相关”规则的概念被呈现。如果两个(或多个)规则的对象参照或可以参照一个或多个共同的KB个体,则这两个(或多个)规则是相关的。在各种实施例中,这样的参照可以应用到规则的头部和/或主体,并且可以包括基于类或属性的继承交叉。通过定义,如果两个规则是链接的,则它们也是相关的,但是两个规则可以是相关的而不是链接的。
作为示例,在下文中被称为“10规则示例”,考虑本体,该本体包括如下相关的十个规则(规则1-10)及可能的多个其它规则:
-规则1和规则2是链接的
-规则2和规则3是链接的
-规则4和规则5是链接的
-规则6和规则7是链接的
-规则6和规则8是链接的
-规则1和规则4是相关的(但不是链接的)
-规则5和规则10是相关的(但不是链接的)
该示例示出了某些规则可以是链接的而其它规则可以是相关的但不是链接的。这种差异的结果将从下面的描述中变得清晰。
返回图2A中所示的方法步骤,在步骤46中,窗口窗格方法42包括窗口窗格预处理器13将相关规则划分为规则集,如下所述:如果两个或多个规则是链接的,则它们被分配给相同的规则集。针对上面所述的10规则示例,这在图3中被示出。图3示出了本体64,本体64包括被分配给四个规则集(示出为规则集66-1、66-2、66-3和66-4)的相关规则1-10。本体64当然可以包括彼此之前可能相关或可能不相关的另外的规则,尤其是联系在一起的规则的另外的集群,但是为了清楚的目的,10规则示例仅集中于如上所述的相关规则的单个集合。
如图3中所示,规则集66-1包括规则1、规则2和规则3,因为这些是链接在一起的10个相关规则1-10中的规则(规则1和规则2是链接的并且规则2和规则3是链接的)。规则集66-2包括规则4和规则5(因为规则4和规则5是链接的)。规则集66-3包括规则6、规则7和规则8,因为这些是链接在一起的10个相关规则1-10中的规则(规则6和规则7是链接的并且规则6和规则8是链接的)。最后,规则集66-4包括规则9和规则10(因为规则9和规则10是链接的)。规则的链接用每个规则集中的相应规则周围的虚线在图3中示出,而非链接的相关规则用连接它们的点虚线被示出在图3中(因此,规则1和规则4被示出是相关的但不是链接的,并且规则5和10被示出是相关的但不是链接的)。尽管图3示出了具有四个规则集的示例,但是本文所提供的教导当然适用于任意数量的P个规则集。
返回图2A中所示的方法步骤,在步骤48中,窗格预处理器13可以标识由多个规则参照的多个个体。具体地,步骤48可以包括:窗格预处理器13定义用于流推理技术中的物理流窗口,每个流窗口包括相关规则(例如10规则示例中的规则1-10)的集合所参照的所有个体。本公开的实施例是基于以下的洞察的:为了维持KB中的知识的完备性,相关规则的集合中所参照的所有个体必须一起保持在任意流推理技术的相同窗口中。这保证推断是基于当前系统状态的同步快照的。
此外,单个窗口内的个体还被分为被称为窗口窗格的非互斥组(个体集合),从而使得属于相同规则集的规则所参照的所有个体是相同窗口窗格的一部分。因此,返回到图2A中所示的方法步骤,在步骤50中,窗口窗格预处理器13被配置为检查多个规则(如步骤48中所标识的)的对象所参照的多个个体,并且将P个规则集中的每个相应规则集所参照的所有个体分配给与每个相应规则集相关联的个体集(即,窗口的窗口窗格)。因此,规则集和个体集之间存在一对一的对应关系,其中每个规则集与一个个体集且仅与一个个体集相关联,反之亦然。针对上面所述的10规则示例,这在图4中被示出。
图4示出了窗口66,窗口66包括一组相关规则1-10的所有个体,在图4的示例性说明中,所有个体包括14个个体I1-14。因为相关规则的示例性集合包括被分配给四个规则集的规则,并且规则集和个体集之间存在一对一的对应关系,因此个体I1-14被分配给四个个体集,这四个个体集在图4中被示出为个体集70-1、70-2、70-3和70-4。个体集70-1与规则集66-1相对应,个体集70-2与规则集66-2相对应,个体集70-3与规则集66-3相对应,并且个体集70-4与规则集66-4相对应。此外,针对本体64的所有规则,可以存在与窗口68类似的更多窗口,但是由于为了清楚的目的,10规则示例仅集中于如上所述的相关规则的单个集合,图4仅示出了单个窗口(即,与相关规则1-10相对应的窗口)。
如图4中所示,个体集70-1包括个体I1、I3、I5、I2和I4,因为这些是规则集66-1的规则的对象中所参照的个体。类似地,个体集70-2包括个体I9、I5和I11,因为这些是规则集66-2的规则的对象中所参照的个体。个体集70-3包括个体I6、I7和I8,因为这些是规则集66-3的规则的对象中所参照的个体。最后,个体集70-4包括个体I11、I12、I13和I14,因为这些是规则集66-4的规则的对象中所参照的个体。
注意,窗口窗格中的个体的成员资格(membership)不是互斥的(即,个体可以被分配,即是不止一个窗口窗格的成员)。事实上,至少非链接的相关规则中共享的个体可以跨相应的窗口窗格是共同的。这可以从图4的检查中看出,在图4中个体I5对窗口窗格70-1和70-2来说是共同的(因为规则1和规则4是相关的但不是链接的),并且个体I11对窗口窗格70-2和70-4来说是共同的(因为规则5和规则10是相关的但不是链接的)。在实施例中,为了在机器推理期间维护数据的完整性,个体可以被分配给不止一个个体集,只要个体在任意个体集中无法被改变,这是由于在个体集中执行机器推理的相应推理引擎实例共享该个体的分配。
返回图2A中所示的方法步骤,在步骤52中,窗口窗格预处理器13被配置为构造单独的KB实例15。为此,窗口窗格预处理器13被配置为针对每个规则集将来自规则集的规则和来自与该规则集相关联的个体集的个体映射到相应的KB实例中。因此,每个KB实例与特定的规则集相关联(即,规则集和KB实例之间存在一对一的对应关系,其中每个规则集与一个KB实例且仅与一个KB实例相关联,反之亦然)。因为规则集和个体集之间也存在一对一的对应关系,因此这还可以被表达为每个KB实例与特定的个体集相关联,其中每个个体集与一个KB实例且仅与一个KB实例相关联,反之亦然。
如上所述,从良好推断的角度来看,每个规则集是原子的,并且每个窗口窗格具有针对其相应规则集的完整的知识。因此,针对数据流中给定的物理窗口,构造多个KB实例从而使得每个规则集被映射到KB实例并且窗口窗格内的个体被映射到托管与相应规则集相关联的规则的KB实例是可能的。这在图5中被示出,在图5中,继续上面所述的10规则示例,来自图3的本体64的规则集的规则和来自图4的窗口68的个体集被示出为被映射到相应的不同的KB实例72(可以是图1中所示的KB实例15)。由于在图3和图4的示例中存在四个规则集和四个个体集,因此存在四个不同的KB实例(在图5中示出为KB实例72-1到72-4),这四个不同的KB实例的内容如从本体64和窗口68出发的虚线箭头所示出的进行填充(即,KB实例72-1包括规则集66-1和个体集70-1等)。
因此,窗口窗格方法42可以被视为提供用于分割数据的分析的装置,从而使得仅增加的差异可能需要被计算/确定而不是必须重新计算/重新确定整个空间。与相应KB实例相关联的推理引擎实例负责独立于其它推理引擎实例或KB实例来计算与其自身的个体集上的其自身的规则集相关联的推断。与在针对窗口中的所有个体的本体的整个规则上进行推理相比,这产生更好的推理性能。
在实施例中,KB实例的内容可以包括网络本体语言描述逻辑(OWL-DL)本体文件。
本公开的实施例还基于以下的洞察:为了保证KB上的良好推断,每组链接规则必须由一个语义推理机实例操作(即,由相同的推理引擎实例17操作)。否则,某些推断将被语义推理机错过。因此,基于上述窗口窗格方法,与给定窗口相关联的每个KB实例15可以独立地由不同的语义推理机实例(例如不同的推理引擎实例17)推理。因此,在数据流的给定窗口内开发平行性是可能的。在一个实施例中,语义推理机12可以被配置为创建尺寸为P的线程池,其中P是在那时被处理的特定窗口中的规则集的数量,每个线程具有一个KB实例15和相应的推理引擎实例17。
在实施例中,所有的推理引擎实例17可以被配置为向共享推断缓存(未在图1中示出)提供其推断,共享推断缓存可以例如在KB 16内被实现,KB 16可以被查询。由于实现本文所述的窗口窗格算法,这样的推断缓存中的推断将是良好的和完整的。
在实施例中,不同的KB实例15可以被配置为向永久缓存(未在图1中示出)提供其数据,永久缓存被配置为存储优选地与单独的窗口相关联的KB实例的不同状态(即规则集)的历史知识。
图2B概述了计算机实现的方法54,方法54可以是图2A中所示的方法42的继续,方法54这次集中于当单独的KB实例根据方法42被构造时机器推理如何可以被执行。此外,虽然参照图1的通信系统10的元件解释了方法54的方法步骤,但是本领域技术人员将认识到被配置为按任意顺序执行这些方法步骤的任意系统或网络元件是在本公开的范围内的。
如图2B中所示,方法54可以在步骤56中开始,在步骤56中,窗口窗格预处理器13将标识与每个相应规则集对应的数据,这类似于标识与每个个体集相对应的网络数据,这是由于规则集和个体集之间存在一对一的对应关系。
在步骤58中,针对每个规则集,窗口窗格预处理器13将自动将与该相应规则集相对应的网络数据映射到与该相应规则集相关联的KB实例。
在步骤60中,针对每个KB实例,窗口窗格预处理器13将向与KB实例相关联的相应推理引擎实例馈送KB实例的内容,从而在步骤62中使得每个单独的推理引擎实例能够在相应KB实例中的数据上执行机器推理。按这种方式,单独的KB实例用实际数据填充,在这些实际数据上每个单独的KB实例的规则可以通过相应推理引擎实例来评估。
在各种实施例中,基础本体34可以包括系统21的范围、系统21中的网络元件、以及网络元件上运行的单独的协议和特征。基础本体34可以指定概念(例如,类)、概念之间的关系(例如,对象属性)、数据属性(例如,将个体链接到文字)以及个体(例如,类的实例)。通常意义上,基础本体34可以用作用于将数据20映射到系统21的具体语义模型的字典。在这类实施例的一个另外的实施例中,方法54还可以包括语义推理机12的处理器(例如处理器38)的以下步骤(未在图中示出):根据本体从数据中生成系统21的完全填充的语义模型。自动将与每个相应规则集相对应的数据映射到与每个规则集相关联的KB实例的步骤(上述步骤58)将包括:自动映射包括与每个规则集相对应的网络数据的完全填充的语义模型的一部分。这样的实施例可以有利地允许将完全填充的语义模型的一部分映射到单独的KB实例上,从而使得该部分可以被单独处理。
在实施例中,生成系统(例如网络21)的完全填充的语义模型可以包括:语义推理机12从系统21接收数据20;解析接收到的数据(例如,使用解析器28);将经解析的数据加载到内存数据结构中;访问指定数据定义格式(在实施例中,其可以是来自由以下各项组成的组的选择:管理信息结构(SMI)、YANG、以及可扩展标记语言(XML))和本体的本体组件之间的绑定的清单;基于清单来标识与数据相关联的本体组件;以及用来自相应数据结构的个体和属性填充所标识的本体组件。一旦本体已被填充,则图2A和图2B中所示的方法就可以被执行。
如本文所使用的,“语义模型”包括概念数据模型(例如,计算机可读数据表示的对象的描述,计算机可读数据包括概念和其关系的映射),语义信息被包括在概念数据模型中。语义模型描述它的实例的含义,从而允许在无人为干涉的情况下基于模型来表达任意信息交换中的含义。具体地,系统(例如系统21)的语义模型包括系统的知识表示,系统由语义相关项的框架组成。知识表示可以包括例如由顶点(其表示概念,例如各种网络元件)和边缘(其表示概念之间的关系)组成的有向图或无向图。如本文所使用的,术语“语义推理机”包括能够从断言的事实和/或公理的集合中推断逻辑结果的软件和/或硬件(例如,专用集成电路、现场可编程门阵列等)。
在各种实施例中,基础本体34和清单32可以手动(例如,利用程序员输入)生成,而语义推理机12基本可以自动(例如,无程序员输入)操作。在其它实施例中,基础本体34和清单32可以半自动(例如利用最小的人为干涉)或完全自动生成。
W3C网络本体语言描述逻辑(OWL-DL)和W3C语义网规则语言(SWRL)的组合可用于定义能够声明定义事实、策略和规则的本体(例如基础网络本体34),这些事实、策略和规则管理网络技术(例如,与网络21相关联)并且针对要保持的给定“目的”(例如,策略、目标等)指定哪些条件是真或假。策略和规则中的一些或全部可以单独地被存储在策略数据库39中。
目的说明书可以就SWRL规则来表达,SWRL规则使用本体的集合中定义的高级概念,因此使得目的说明书通用、独立于设备并且是可扩展的。例如,元策略可用于当多个目的适用于上下文时确定目的的优先顺序。例如,元级词汇可用于创建默认冲突解决规则,从而使得禁止性策略覆盖许可策略。元级词汇还允许定义目的的绝对优先和相对优先,因此覆盖默认规则。元策略定义自动冲突解决诊断以响应以下情况:呈现给网络的目的将冲突条件强加在总体基础设施上或在一个具体网络元件上。
在各种实施例中,对网络数据20进行建模可以包括在语义映射器14处接收网络数据20。通常意义上,语义映射器14可以包括帮助数据元素从一个命名空间(例如,SMI、YANG或XML)转换到另一命名空间(例如,OWL-DL)的应用(例如,软件工具或服务)的一部分。语义映射器14中的解析器28可以对网络数据20进行解析,并且将经解析的网络数据20加载到内存数据结构中,内存数据结构可以包括Java类。生成器30可以访问清单32,清单32指定网络数据类型和基础网络本体34之间的绑定。生成器30可以使用清单32和网络数据值从数据结构中生成完全填充的语义模型。因此,根据各种实施例,通信系统10可以协助开发网络21的语义模型。网络21内可用的网络数据20可以被投射到语义模型上。
在某些实施例中,完全填充的语义模型可以包括(一个或多个)OWL-DL文件,其可以被保存到NKB 16中。在各种实施例中,NKB 16可以包括已针对基础网络本体34(其可以由各种机构定义,机构例如为多个组织、个人、域、部门等)被投射的开采的网络数据20。在各种实施例中,NKB 16可以使用OWL-DL和SWRL来写。根据各种实施例,NKB16可以被配置为允许推理引擎18访问NKB 16并且在其上执行推理操作的任意适当的数据库、表、阵列、数据结构等。在某些实施例中,NKB 16包括具有表示网络21的类、子类、属性和实例的OWL-DL本体。NKB 16在某些实施例中可以用作信息的集中式数据库,允许搜索查询在其中的内容上运行。通常意义上,NKB 16包括用于以任意适当格式存储信息的机器可读有形非暂态介质。在各种实施例中,NKB 16可以包括信息的动态库,其能够学习和更新与网络21相关联的网络相关信息。
根据各种实施例,推理引擎18可以在网络知识库16中的网络数据20上执行机器推理,并且做出适用于控制和管理网络21的推断。在各种实施例中,机器推理可以是根据(例如策略数据库39中的)预配置的规则和策略的。策略数据库39中的至少一个规则、策略和元策略可以在基础网络本体34的外部并且因此不是NFB 16中的语义模型的一部分。外部规则、策略和元策略可以由用户、管理员等输入。在某些实施例中,规则、策略和元策略中的一些对网络21的提供商是特定的(例如专有的);在其它实施例中,规则、策略和元策略中的一些在所有网络提供商之间是共同的。
在示例实施例中,推理引擎18包括人工智能(AI)引擎,AI引擎使用网络数据20和用户定义策略用于网络21的管理和控制。在特定实施例中,推理引擎18可以在NKB 16上进行操作,并且提供描述逻辑(DL)可用的基本推理功能,例如一致性检查、推断和概念覆盖(例如,可满足性验证)。推理可用于适当控制和管理网络21。例如,推理引擎18可以触发可以引起网络配置变化、警告人工操作者、以及以其它方式协助控制和管理网络21的(一个或多个)动作和/或(一个或多个)报告40的生成。
在示例实施例中,推理引擎18可以基于基础网络本体34中指定的规则来检测任意网络数据20是否是不一致的,并且触发适当的动作。例如,策略数据库39指示来自基础网络本体34的规则:不同路由器上的接口在其虚拟路由和转发实例(VRF)和跨网络的IP地址组合方面是不同的。假设网络21在不同的路由器上包括两个接口,其中接口是相同的。推理引擎18可以用与接口实例有关的数据实例化规则,并且标记不一致性被发现。因此,推理引擎可以自动检测具有相同虚拟路由和转发实例(VRF)和相同IP地址的两个不同路由器上配置的两个接口,并且基于策略数据库39中的预设规则来触发校正动作(例如拾取子网中的下一可用IP地址)。
推理引擎18还可以基于断言的事实和/或公理来推断逻辑结果。例如,推理引擎18可以基于检查流量统计和中央处理单元(CPU)/存储器利用和触发(例如,安装访问控制列表(ACL)以过滤来自该恶意源的流量)来检测特定路由器的控制平面正经受来自给定源IP的拒绝服务攻击。
在某些实施例中,推理引擎18可以解决概念覆盖问题(CCoP),例如用于服务合成和资源标识。例如,推理引擎18可以标识未遍历特定自治系统的从源A到目的地B可用的路径。在另一示例中,推理引擎18可以确定到目的地前缀的特定路线是否离开加拿大的政治边界等。推理引擎18可以触发请求和网络的当前状态之间的偏差度的报告返回。在示例实施例中,给定网络的当前状态,推理引擎18可以确定应用的目的在SDN上下文中是否是可满足的,并且如果不是,则可以触发目的和当前状态之间的“语义距离”(例如,散度)的报告返回。
此外,中央服务器上运行的或者网络21内或外的一个或多个网络元件中嵌入的推理引擎18可以使用元信息来自动合并来自多个控制器的目的,并且生成满足组合要求的目标配置。如本文所使用的,术语“网络元件”表示涵盖计算机、网络装置、服务器、路由器、交换机、网关、网桥、负载平衡器、防火墙、处理器、模块、或能操作来在网络环境中交换信息的任意其它适当的设备、组件、元件或对象。此外,网络元件可以包括促进其操作的任意适当的硬件、软件、组件、模块、接口或对象。这可以包括允许数据或信息的有效交换的适当的算法和通信协议。在某些实施例中,推理引擎18可以被体现在网络21内或外的一个或多个网络元件上执行的一个或多个实例中。
一个或多个推理引擎18实例可以遵循由策略语言定义的语义。因此,合并策略中的步骤可以使用逻辑模型在形式上被验证。为了结合多个目的,语义语言可以依赖开放世界假设推理(例如,在开放世界假设推理中,“正”断言可以被做出;断言的缺乏不意味着缺乏的断言是假的)。在这样的开放世界假设推理中,NKB 16可以被递增开发,并且不要求是完整有用的。在这样的实施例中,通信系统10可以使得规则由NKB 16内包含的知识评估。例如,这样的限制可以允许推理引擎18在有限时间中产生解决方案。通过利用语义技术来驱动框架,实现知识的动态重配置是是可能的,这是由于新的事实可以通过指定的策略被推断。任意适当的工具可用于驱动基础网络本体34的本体说明、推理引擎18等,以大规模构建和部署通信系统10的实施例。
在各种实施例中,策略说明机制的复杂度可以与它的易于接受度相关。使得每个机构能够用高级语言起草抽象策略的声明性策略语言可以是策略说明的良好候选者。每个机构可以仅定义与其需要相关的那些目的和约束。策略语言表达的信息可以以尽可能独立于硬件、软件、以及协议的方式来定义。因此,根据通信系统10的实施例,机构不需要集中于用于配置特定网络基础设施的写程序;相反它们可以集中于描述通用基础设施和它的特征而无需掌握和理解各种设备/协议/系统特定机制。语义推理机12的语义推理元件基本可以将任意指定策略转换为设备特定配置。
通信系统10的实施例可以提供用于使用语义映射器14来构建语义NKB 16的方法和装置,语义映射器14采用用户定义的基础网络本体34、包括网络数据20的SMI/YANG/XML的集合作为输入,并且可以生成表示为语义模型的完全填充的OWL-DL本体,语义模型可以由推理引擎18动作以实现至少以下各项:网络和设备操作和配置的一致性检查(例如,检测和补救重叠IP地址分配);基于事实的集合对状态或结果的推断(例如,检测拒绝服务攻击并且隔离恶意源);核验概念的可满足性(例如,在SDN上下文中,给定网络的状态,核验应用的目的是否是可满足的)。
通信系统10的实施例可以通过语义推理机18使网络21中的嵌入人工智能实现在网络元件它们本身上或在SDN控制器上。通信系统10的实施例可以实现的优势之一可以包括:使用基础网络本体34作为输入从网络数据20(例如,SMI/YANG模块/XML文件的形式)自动生成NKB 16,基础网络本体34可以描述网络的基本规则和原则,并且正式地描述网络的商业规则和高级策略。此外,通信系统10的实施例基本可以跨所有网络技术和协议(例如,第2层、第3层等)被应用。通信系统10的实施例还可以提供用于在网络大数据上执行机器推理的机制。
转向通信系统10的基础设施,网络21的网络拓扑结构可以包括任意数量的服务器、硬件加速器、虚拟机、交换机(包括分布式虚拟交换机)、路由器、以及互连以形成大型复杂网络的其它节点。节点可以是任意电子设备、客户端、服务器、对等体、服务、应用或能够通过网络中的通信信道发送、接收或转发信息的其它对象。图1的元件可以通过采用任意适当连接(有线或无线)的一个或多个接口互相耦合,该一个或多个接口提供用于电子通信的可行路径。此外,这些元件中的任意一个或多个可以基于特定配置需要来结合或从架构中移除。
通信系统10可以包括能够进行TCP/IP通信的配置,用于网络中的数据分组的电子发送或接收。通信系统10还可以在适当时候并基于特定需要结合用户数据报协议/互联网协议(UDP/IP)或任意其它适当协议来进行操作。此外,网关、路由器、交换机、以及任意其它适当的节点(物理节点或虚拟节点)可用于促进网络中的各种节点之间的电子通信。
注意,分配给图1的元件的数值和字母指定不意味着任意类型的层级;指定是任意的并且仅已用于教导的目的。这样的指定不应以限制潜在环境中可以从通信系统10的特征中受益的它们的能力、功能或应用的任意方式来理解。应该理解的是,为了易于说明,图1中所示的通信系统10被简化。
示例网络实施例可以在可包括一个或多个网络的物理基础设施上被配置,并且还可以以任意形式(包括但不限于局域网(LAN)、无线局域网(WLAN)、VLAN、城域网(MAN)、VPN、内联网、外联网、任意其它适当的架构或系统、或促进网络中的通信的其任意组合)被配置。
在某些实施例中,通信链路可以表示支持LAN环境的任意电子链路,例如电缆、以太网、无线技术(例如,IEEE 802.11x)、ATM、光纤等、或其任意适当的组合。在其它实施例中,通信链路可以表示通过任意适当介质(例如,数字订户线(DSL)、电话线、T1线、T3线、无线、卫星、光纤、电缆、以太网等、或其任意组合)和/或通过任意额外的网络(例如,广域网(例如互联网))的远程连接。
在各种实施例中,语义推理机12可以包括使用处理器38和存储器元件36执行的软件应用。在某些实施例中,语义推理机12可以被实例化在包括存储器元件36和处理器38的服务器上。在其它实施例中,语义推理机12可以被实例化在包括存储器元件36和处理器38的另一网络元件上。在其它实施例中,语义推理机12可以包括独立的装置,其包括连接到网络的存储器元件36和处理器38,并且能操作来执行本文所述的各种操作。在其它实施例中,语义推理机12可以包括分布式应用,不同的元件(例如,语义映射器14、NKB 16、推理引擎18)被实例化在单独的物理或虚拟机上。
注意在该说明书中,对“一个实施例”、“示例实施例”、“实施例”、“另一实施例”、“某些实施例”、“各种实施例”、“其它实施例”、“替代实施例”等中所包括的各种特征的提及(例如,元件、结构、模块、组件、步骤、操作、特征等)旨在表示任意这样的特征被包括在本公开的一个或多个实施例中,但是可能或可能不必被结合在同一实施例中。还要注意,本文该说明中所使用的“应用”可以包括可执行文件(包括可以被理解和在计算机上被处理的指令),并且还可以包括在执行期间被加载的图书馆模块、目标文件、系统文件、硬件逻辑、软件逻辑、或任意其它可执行模块。此外,词语“优化”、“最优化”以及相关术语是领域中涉及指定结果的速度和/或效率的改善的术语,并且不意指指示用于实现指定结果的处理已实现或能够实现“优化的”或完全快速/完全有效的状态。
在示例实现方式中,本文所概述的活动的至少一些部分可以在例如语义推理机12中的软件(具体地为窗口窗格预处理器13)中被实现。在某些实施例中,这些特征中的一个或多个特征可以被实现在硬件中,硬件被提供在这些元件外部、或以任意适当的方式被合并以实现期望的功能。各种网络元件(例如,语义推理机12,具体地为窗口窗格预处理器13)可以包括可以协调以实现本文所概述的操作的软件(交互式软件)。在其它实施例中,这些元件可以包括促进其操作的任意适当的算法、硬件、软件、组件、模块、接口或对象。
此外,本文所描述和示出的语义推理机12(具体地为窗口窗格预处理器13)还可以包括用于在网络环境中接收、发送和/或以其它方式传送数据或信息的适当接口。此外,与各种节点相关联的处理器和存储器元件中的一些可以被移除、或以其它方式被合并,从而使得单个处理器和单个存储器元件负责某些活动。通常意义上,图中描绘的布置更多地在其表示方面是合逻辑的,而物理架构可以包括这些元件的各种排列、组合、和/或混合。必要的是注意,无数可能的设计配置可用于实现本文所概述的操作目标。因此,相关联的基础设施具有大量的替代布置、设计选择、设计可能性、硬件配置、软件实现方式、设备选项等。
在某些示例实施例中,一个或多个存储器元件(例如,存储器元件36)可以存储用于本文所述操作的数据。这包括能够将指令(例如,软件、逻辑、代码等)存储在非暂态计算机可读存储介质中、从而使得指令被运行以执行本说明书中所述的活动的存储器元件。处理器可以运行与实现本文在说明书中所详述的操作的数据相关联的任何类型的指令。在一个示例中,处理器(例如,处理器38或窗口窗格预处理器13)可以将元件或物品(例如数据)从一个状态或事物转换到另一状态或事物。在另一示例中,可以利用固定逻辑或可编程逻辑(例如由处理器运行的软件/计算机指令)来实现本文所概述的活动,并且本文所标识的元件可以是某种类型的可编程处理器、可编程数字逻辑(例如,现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM))、ASIC(包括数字逻辑、软件、代码、电子指令、闪速存储器、光盘、CD-ROM、DVD ROM、磁卡或光卡、适用于存储电子指令的其它类型的机器可读介质、或其任意适当的组合)。
这些设备还可以将信息保留在任何适当类型的非暂态存储介质(例如随机存取存储器(RAM)、只读存储器(ROM)、现场可编程门阵列(FPGA)、可擦除可编程只读存储器(EPROM)、电可擦除可编程ROM(EEPROM)等)、软件、硬件中,或者基于特定需求适当地存储在任何其它合适的组件、设备、元件或对象中。可以基于具体需要和实现方式来将被跟踪、被发送、被接收、或被存储在通信系统10中的信息提供在任意数据库、寄存器、表、缓存、队列、控制列表或存储结构中,可以在任意合适的时间帧处对所有这些信息进行引用。本文所讨论的任意存储器项应该被理解为被包括在广义术语“存储器元件”内。类似地,本说明书中所描述的任何潜在的处理元件、模块和机器应该被理解为被包括在广义术语“处理器”内。
更要注意的是,参照前述附图所描述的操作和步骤仅示出可以由系统运行或者可以在系统内运行的可能的场景中的一些。在适当的情况下,可以对这些操作中的一些操作进行删除或移除,或者可以在不脱离所讨论的概念的范围的情况下,对这些步骤进行显著修改或改变。此外,这些操作的时序和序列可以被显著更改并且仍实现本公开中所教导的结果。出于示例和讨论的目的提供了前面的操作流程。由系统提供了大量的灵活性,这在于在不脱离所讨论的概念的教导的情况下可以提供任意适当的布置、时间、配置以及时序机制。
尽管已经参照特定的布置和配置详细描述了本公开,但这些示例配置和布置可以在不脱离本公开的范围的情况下进行显著地改变。例如,尽管已经参照涉及某些网络流程和信令协议的特定通信交换描述了本公开,但通信系统10可适用于其它交换或路由协议。此外,尽管已经参照促进通信处理的特定元件和操作示出了通信系统10,但这些元件和操作可以由实现通信系统10的预期功能的任意适当的架构或处理来代替。
本领域的技术人员可以查明很多其它的改变、替换、变化、更改、以及修改,并且旨在于本公开包括落入所附权利要求的范围内的所有这样的改变、替换、变化、更改、以及修改。为了帮助美国专利和商标局(USPTO)以及附加地帮助本申请中所发布的任何专利的任何读者对这里所附权利要求进行解释,申请人希望注意的是,申请人:(a)不期望任何所附权利要求援引其递交日期存在的U.S.C.35部分112的段落六(6),除非在特定权利要求中具体使用了词语“用于…的装置”或“用于…的步骤”;并且(b)不期望通过说明书中的任何陈述来以所附权利要求中未反映的任何方式来限制本公开。
Claims (20)
1.一种由语义推理机执行的用于提供对异构流数据的推理的方法,包括:
形成流窗口,所述流窗口包括多个窗口窗格,其中,每个流窗口包括由多个相关规则参照的多个个体中的所有个体;
从所述多个规则中标识一对或多对链接规则;
从所述一对或多对链接规则中将链接在一起的规则分配给P个规则集中的相应规则集;
标识由所述多个规则所参照的所述多个个体;
从所述多个规则所参照的所述多个个体中将所述P个规则集中的每个规则集所参照的个体分配给与所述每个规则集相关联的个体集,其中,所述个体集是所述流窗口的窗口窗格,并且使得由属于同一规则集的规则所参照的所有个体是同一窗口窗格的一部分;以及
将来自所述每个规则集的规则和来自与所述每个规则集相关联的个体集的个体映射到与所述每个规则集相关联的相应知识库KB实例。
2.如权利要求1所述的方法,其中,当以下情况发生时,来自所述多个规则的一对规则被标识为链接的:
当所述一对规则中的一个规则的执行影响所述一对规则中的另一规则的执行或受所述一对规则中的另一规则的执行的影响时,或
当所述一对规则中的一个规则的头部中所包括的至少一个类原子被包括在所述一对规则中的另一规则的主体中时,或
当所述一对规则中的一个规则的头部中所包括的至少一个属性原子是所述一对规则中的另一规则的主体中的属性原子、并且一个规则的所述头部中所包括的属性原子的对象参照另一规则的所述主体中的所述属性原子的对象所参照的至少一个个体时,或
当所述一对规则中的一个规则的头部中所包括的至少一个类原子的对象参照所述一对规则中的另一规则的主体中所包括的至少一个属性原子的对象所参照的至少一个个体时。
3.如权利要求1所述的方法,还包括:
标识与每个规则集相对应的数据;
自动将与所述每个规则集相对应的数据映射到与所述每个规则集相关联的KB实例;
向与每个KB实例相关联的相应推理引擎实例馈送所述每个KB实例的内容;以及
使用与所述每个KB实例相关联的推理引擎实例对所述每个KB实例中的数据执行机器推理。
4.如权利要求3所述的方法,其中,执行机器推理包括:至少两个推理引擎实例并行执行机器推理。
5.如权利要求3所述的方法,其中,所述机器推理由每个推理引擎实例根据与所述推理引擎实例相关联的规则集来执行。
6.如权利要求3所述的方法,还包括:
针对每个推理引擎实例,通过相关联的推理引擎实例向共享推断数据库提供处理每个KB实例的内容的结果。
7.如权利要求3所述的方法,还包括:
根据本体从所述数据中生成网络的完全填充的语义模型;
其中,自动将与所述每个规则集相对应的数据映射到与所述每个规则集相关联的KB实例包括:自动映射包括与所述每个规则集相对应的数据的完全填充的语义模型的一部分。
8.编码有软件的一个或多个计算机可读存储介质,所述软件包括计算机可执行指令,并且当所述计算机可执行指令被执行时,能够操作来执行以下操作:
形成流窗口,所述流窗口包括多个窗口窗格,其中,每个流窗口包括由多个相关规则参照的多个个体中的所有个体;
从所述多个规则中标识一对或多对链接规则;
从所述一对或多对链接规则中将链接在一起的规则分配给P个规则集中的相应规则集;
标识由所述多个规则所参照的所述多个个体;
从所述多个规则所参照的所述多个个体中将所述P个规则集中的每个规则集所参照的个体分配给与所述每个规则集相关联的个体集,其中,所述个体集是所述流窗口的窗口窗格,并且使得由属于同一规则集的规则所参照的所有个体是同一窗口窗格的一部分;以及
将来自所述每个规则集的规则和来自与所述每个规则集相关联的个体集的个体映射到与所述每个规则集相关联的相应知识库KB实例。
9.如权利要求8所述的一个或多个计算机可读存储介质,其中,当以下情况发生时,来自所述多个规则的一对规则被标识为链接的:
当所述一对规则中的一个规则的执行影响所述一对规则中的另一规则的执行或受所述一对规则中的另一规则的执行的影响时,或
当所述一对规则中的一个规则的头部中所包括的至少一个类原子被包括在所述一对规则中的另一规则的主体中时,或
当所述一对规则中的一个规则的头部中所包括的至少一个属性原子是所述一对规则中的另一规则的主体中的属性原子、并且一个规则的所述头部中所包括的属性原子的对象参照另一规则的所述主体中的所述属性原子的对象所参照的至少一个个体时,或
当所述一对规则中的一个规则的头部中所包括的至少一个类原子的对象参照所述一对规则中的另一规则的主体中所包括的至少一个属性原子的对象所参照的至少一个个体时。
10.如权利要求8所述的一个或多个计算机可读存储介质,还能够操作来执行以下操作:
标识与每个规则集相对应的数据;
自动将与所述每个规则集相对应的数据映射到与所述每个规则集相关联的KB实例;
向与每个KB实例相关联的相应推理引擎实例馈送所述每个KB实例的内容;以及
使用与所述每个KB实例相关联的推理引擎实例对所述每个KB实例中的数据执行机器推理。
11.如权利要求10所述的一个或多个计算机可读存储介质,其中,执行机器推理包括:至少两个推理引擎实例并行执行机器推理。
12.如权利要求10所述的一个或多个计算机可读存储介质,还能够操作来执行以下操作:
针对每个推理引擎实例,通过相关联的推理引擎实例向共享推断数据库提供处理每个KB实例的内容的结果。
13.如权利要求10所述的一个或多个计算机可读存储介质,还能够操作来执行以下操作:
根据本体从所述数据中生成网络的完全填充的语义模型;
其中,自动将与所述每个规则集相对应的数据映射到与所述每个规则集相关联的KB实例包括:自动映射包括与所述每个规则集相对应的数据的完全填充的语义模型的一部分。
14.一种用于实现语义推理以提供对异构流数据的推理的系统,所述系统包括:
至少一个存储器,被配置为存储计算机可执行指令;以及
至少一个处理器,被耦合到所述至少一个存储器并且被配置为当执行指令时能够执行以下操作:
形成流窗口,所述流窗口包括多个窗口窗格,其中,每个流窗口包括由多个相关规则参照的多个个体中的所有个体;
从所述多个规则中标识一对或多对链接规则;
从所述一对或多对链接规则中将链接在一起的规则分配给P个规则集中的相应规则集;
标识由所述多个规则所参照的所述多个个体;
从所述多个规则所参照的所述多个个体中将所述P个规则集中的每个规则集所参照的个体分配给与所述每个规则集相关联的个体集,其中,所述个体集是所述流窗口的窗口窗格,并且使得由属于同一规则集的规则所参照的所有个体是同一窗口窗格的一部分;以及
将来自所述每个规则集的规则和来自与所述每个规则集相关联的个体集的个体映射到与所述每个规则集相关联的相应知识库KB实例。
15.如权利要求14所述的系统,其中,当以下情况发生时,来自所述多个规则的一对规则被标识为链接的:
当所述一对规则中的一个规则的执行影响所述一对规则中的另一规则的执行或受所述一对规则中的另一规则的执行的影响时,或
当所述一对规则中的一个规则的头部中所包括的至少一个类原子被包括在所述一对规则中的另一规则的主体中时,或
当所述一对规则中的一个规则的头部中所包括的至少一个属性原子是所述一对规则中的另一规则的主体中的属性原子、并且一个规则的所述头部中所包括的属性原子的对象参照另一规则的所述主体中的所述属性原子的对象所参照的至少一个个体时,或
当所述一对规则中的一个规则的头部中所包括的至少一个类原子的对象参照所述一对规则中的另一规则的主体中所包括的至少一个属性原子的对象所参照的至少一个个体时。
16.如权利要求14所述的系统,其中,所述至少一个处理器还被配置为:
标识与每个规则集相对应的数据;
自动将与所述每个规则集相对应的数据映射到与所述每个规则集相关联的KB实例;
向与每个KB实例相关联的相应推理引擎实例馈送所述每个KB实例的内容;以及
使用与所述每个KB实例相关联的推理引擎实例对所述每个KB实例中的数据执行机器推理。
17.如权利要求16所述的系统,其中,执行机器推理包括:至少两个推理引擎实例并行执行机器推理。
18.如权利要求16所述的系统,其中,所述机器推理由每个推理引擎实例根据与所述推理引擎实例相关联的规则集来执行。
19.如权利要求16所述的系统,其中,所述至少一个处理器还被配置为:
针对每个推理引擎实例,通过相关联的推理引擎实例向共享推断数据库提供处理每个KB实例的内容的结果。
20.如权利要求16所述的系统,其中,所述至少一个处理器还被配置为:
根据本体从所述数据中生成网络的完全填充的语义模型;
其中,自动将与所述每个规则集相对应的数据映射到与所述每个规则集相关联的KB实例包括:自动映射包括与所述每个规则集相对应的数据的完全填充的语义模型的一部分。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/657,930 US10504025B2 (en) | 2015-03-13 | 2015-03-13 | Parallel processing of data by multiple semantic reasoning engines |
US14/657,930 | 2015-03-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105976031A CN105976031A (zh) | 2016-09-28 |
CN105976031B true CN105976031B (zh) | 2020-01-24 |
Family
ID=55357871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610141086.9A Active CN105976031B (zh) | 2015-03-13 | 2016-03-11 | 多个语义推理引擎对数据的并行处理 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10504025B2 (zh) |
EP (1) | EP3067836B1 (zh) |
CN (1) | CN105976031B (zh) |
Families Citing this family (75)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9781004B2 (en) | 2014-10-16 | 2017-10-03 | Cisco Technology, Inc. | Discovering and grouping application endpoints in a network environment |
US10547565B2 (en) | 2015-04-02 | 2020-01-28 | Cisco Technology, Inc. | Automatic determination and just-in-time acquisition of data for semantic reasoning |
US11630866B2 (en) * | 2016-10-31 | 2023-04-18 | Schneider Electric USA, Inc. | Semantic search and rule methods for a distributed data system |
US10826788B2 (en) | 2017-04-20 | 2020-11-03 | Cisco Technology, Inc. | Assurance of quality-of-service configurations in a network |
US10560328B2 (en) | 2017-04-20 | 2020-02-11 | Cisco Technology, Inc. | Static network policy analysis for networks |
US10623264B2 (en) | 2017-04-20 | 2020-04-14 | Cisco Technology, Inc. | Policy assurance for service chaining |
US10505816B2 (en) | 2017-05-31 | 2019-12-10 | Cisco Technology, Inc. | Semantic analysis to detect shadowing of rules in a model of network intents |
US10581694B2 (en) | 2017-05-31 | 2020-03-03 | Cisco Technology, Inc. | Generation of counter examples for network intent formal equivalence failures |
US20180351806A1 (en) * | 2017-05-31 | 2018-12-06 | Cisco Technology, Inc. | Intent specification checks for inconsistencies |
US10554483B2 (en) | 2017-05-31 | 2020-02-04 | Cisco Technology, Inc. | Network policy analysis for networks |
US10812318B2 (en) | 2017-05-31 | 2020-10-20 | Cisco Technology, Inc. | Associating network policy objects with specific faults corresponding to fault localizations in large-scale network deployment |
US10439875B2 (en) | 2017-05-31 | 2019-10-08 | Cisco Technology, Inc. | Identification of conflict rules in a network intent formal equivalence failure |
US20180351788A1 (en) | 2017-05-31 | 2018-12-06 | Cisco Technology, Inc. | Fault localization in large-scale network policy deployment |
US10693738B2 (en) | 2017-05-31 | 2020-06-23 | Cisco Technology, Inc. | Generating device-level logical models for a network |
US10623271B2 (en) | 2017-05-31 | 2020-04-14 | Cisco Technology, Inc. | Intra-priority class ordering of rules corresponding to a model of network intents |
US11469986B2 (en) | 2017-06-16 | 2022-10-11 | Cisco Technology, Inc. | Controlled micro fault injection on a distributed appliance |
US10574513B2 (en) | 2017-06-16 | 2020-02-25 | Cisco Technology, Inc. | Handling controller and node failure scenarios during data collection |
US10686669B2 (en) | 2017-06-16 | 2020-06-16 | Cisco Technology, Inc. | Collecting network models and node information from a network |
US10904101B2 (en) | 2017-06-16 | 2021-01-26 | Cisco Technology, Inc. | Shim layer for extracting and prioritizing underlying rules for modeling network intents |
US11150973B2 (en) | 2017-06-16 | 2021-10-19 | Cisco Technology, Inc. | Self diagnosing distributed appliance |
US10498608B2 (en) | 2017-06-16 | 2019-12-03 | Cisco Technology, Inc. | Topology explorer |
US10547715B2 (en) | 2017-06-16 | 2020-01-28 | Cisco Technology, Inc. | Event generation in response to network intent formal equivalence failures |
US11645131B2 (en) | 2017-06-16 | 2023-05-09 | Cisco Technology, Inc. | Distributed fault code aggregation across application centric dimensions |
US10587621B2 (en) | 2017-06-16 | 2020-03-10 | Cisco Technology, Inc. | System and method for migrating to and maintaining a white-list network security model |
US10528444B2 (en) | 2017-06-19 | 2020-01-07 | Cisco Technology, Inc. | Event generation in response to validation between logical level and hardware level |
US10812336B2 (en) | 2017-06-19 | 2020-10-20 | Cisco Technology, Inc. | Validation of bridge domain-L3out association for communication outside a network |
US10644946B2 (en) | 2017-06-19 | 2020-05-05 | Cisco Technology, Inc. | Detection of overlapping subnets in a network |
US10554493B2 (en) | 2017-06-19 | 2020-02-04 | Cisco Technology, Inc. | Identifying mismatches between a logical model and node implementation |
US10218572B2 (en) | 2017-06-19 | 2019-02-26 | Cisco Technology, Inc. | Multiprotocol border gateway protocol routing validation |
US10505817B2 (en) | 2017-06-19 | 2019-12-10 | Cisco Technology, Inc. | Automatically determining an optimal amount of time for analyzing a distributed network environment |
US10567228B2 (en) | 2017-06-19 | 2020-02-18 | Cisco Technology, Inc. | Validation of cross logical groups in a network |
US10341184B2 (en) | 2017-06-19 | 2019-07-02 | Cisco Technology, Inc. | Validation of layer 3 bridge domain subnets in in a network |
US10805160B2 (en) | 2017-06-19 | 2020-10-13 | Cisco Technology, Inc. | Endpoint bridge domain subnet validation |
US10432467B2 (en) | 2017-06-19 | 2019-10-01 | Cisco Technology, Inc. | Network validation between the logical level and the hardware level of a network |
US10411996B2 (en) | 2017-06-19 | 2019-09-10 | Cisco Technology, Inc. | Validation of routing information in a network fabric |
US10536337B2 (en) | 2017-06-19 | 2020-01-14 | Cisco Technology, Inc. | Validation of layer 2 interface and VLAN in a networked environment |
US11343150B2 (en) | 2017-06-19 | 2022-05-24 | Cisco Technology, Inc. | Validation of learned routes in a network |
US10652102B2 (en) | 2017-06-19 | 2020-05-12 | Cisco Technology, Inc. | Network node memory utilization analysis |
US11283680B2 (en) | 2017-06-19 | 2022-03-22 | Cisco Technology, Inc. | Identifying components for removal in a network configuration |
US10333787B2 (en) | 2017-06-19 | 2019-06-25 | Cisco Technology, Inc. | Validation of L3OUT configuration for communications outside a network |
US10700933B2 (en) | 2017-06-19 | 2020-06-30 | Cisco Technology, Inc. | Validating tunnel endpoint addresses in a network fabric |
US10673702B2 (en) * | 2017-06-19 | 2020-06-02 | Cisco Technology, Inc. | Validation of layer 3 using virtual routing forwarding containers in a network |
US10348564B2 (en) | 2017-06-19 | 2019-07-09 | Cisco Technology, Inc. | Validation of routing information base-forwarding information base equivalence in a network |
US10560355B2 (en) | 2017-06-19 | 2020-02-11 | Cisco Technology, Inc. | Static endpoint validation |
US10567229B2 (en) | 2017-06-19 | 2020-02-18 | Cisco Technology, Inc. | Validating endpoint configurations between nodes |
US10437641B2 (en) | 2017-06-19 | 2019-10-08 | Cisco Technology, Inc. | On-demand processing pipeline interleaved with temporal processing pipeline |
US10623259B2 (en) | 2017-06-19 | 2020-04-14 | Cisco Technology, Inc. | Validation of layer 1 interface in a network |
US10547509B2 (en) | 2017-06-19 | 2020-01-28 | Cisco Technology, Inc. | Validation of a virtual port channel (VPC) endpoint in the network fabric |
US10812329B2 (en) | 2017-08-01 | 2020-10-20 | At&T Intellectual Property I, L.P. | Systems and methods to control operation of virtualized networks |
US10587456B2 (en) | 2017-09-12 | 2020-03-10 | Cisco Technology, Inc. | Event clustering for a network assurance platform |
US10587484B2 (en) | 2017-09-12 | 2020-03-10 | Cisco Technology, Inc. | Anomaly detection and reporting in a network assurance appliance |
US10554477B2 (en) | 2017-09-13 | 2020-02-04 | Cisco Technology, Inc. | Network assurance event aggregator |
US10333833B2 (en) | 2017-09-25 | 2019-06-25 | Cisco Technology, Inc. | Endpoint path assurance |
CN107798387B (zh) * | 2017-11-01 | 2020-07-28 | 西安交通大学 | 一种适用于高端装备全生命周期的知识服务系统及方法 |
US11102053B2 (en) | 2017-12-05 | 2021-08-24 | Cisco Technology, Inc. | Cross-domain assurance |
US10873509B2 (en) | 2018-01-17 | 2020-12-22 | Cisco Technology, Inc. | Check-pointing ACI network state and re-execution from a check-pointed state |
US10572495B2 (en) | 2018-02-06 | 2020-02-25 | Cisco Technology Inc. | Network assurance database version compatibility |
WO2019168912A1 (en) * | 2018-02-27 | 2019-09-06 | Convida Wireless, Llc | Semantic operations and reasoning support over distributed semantic data |
CN108829666B (zh) * | 2018-05-24 | 2021-11-26 | 中山大学 | 一种基于语义解析和smt求解的阅读理解题求解方法 |
US10812315B2 (en) | 2018-06-07 | 2020-10-20 | Cisco Technology, Inc. | Cross-domain network assurance |
US10911495B2 (en) | 2018-06-27 | 2021-02-02 | Cisco Technology, Inc. | Assurance of security rules in a network |
US11218508B2 (en) | 2018-06-27 | 2022-01-04 | Cisco Technology, Inc. | Assurance of security rules in a network |
US11019027B2 (en) | 2018-06-27 | 2021-05-25 | Cisco Technology, Inc. | Address translation for external network appliance |
US11044273B2 (en) | 2018-06-27 | 2021-06-22 | Cisco Technology, Inc. | Assurance of security rules in a network |
US10659298B1 (en) | 2018-06-27 | 2020-05-19 | Cisco Technology, Inc. | Epoch comparison for network events |
US10904070B2 (en) | 2018-07-11 | 2021-01-26 | Cisco Technology, Inc. | Techniques and interfaces for troubleshooting datacenter networks |
US10826770B2 (en) | 2018-07-26 | 2020-11-03 | Cisco Technology, Inc. | Synthesis of models for networks using automated boolean learning |
US10616072B1 (en) | 2018-07-27 | 2020-04-07 | Cisco Technology, Inc. | Epoch data interface |
CN109684485B (zh) * | 2018-12-25 | 2021-09-28 | 福州大学 | 一种基于swrl的任意规则推理引擎设计方法 |
CN110046195A (zh) * | 2019-04-08 | 2019-07-23 | 青海省科学技术信息研究所有限公司 | 一种基于农业大数据知识库管理系统及其工作方法 |
US20230252321A1 (en) | 2020-07-08 | 2023-08-10 | Nec Corporation | Inference device, inference method, and recording medium |
US11394604B2 (en) | 2020-09-10 | 2022-07-19 | Cisco Technology, Inc. | Closed-loop automation of a managed network |
CN112231422B (zh) * | 2020-12-16 | 2021-02-26 | 中国人民解放军国防科技大学 | 一种图数据合成方法、装置、计算机设备和存储介质 |
CN113191498B (zh) * | 2021-04-30 | 2022-08-05 | 重庆交通大学 | 一种基于规则的Spark分布式弹性语义流推理方法 |
CN114550499B (zh) * | 2022-02-14 | 2024-06-18 | 武汉理工大学 | 融合COLREGs场景知识的船舶智能避碰方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8423501B2 (en) * | 2009-11-20 | 2013-04-16 | Oracle International Corporation | Data source for parallel inference using a source table that is partitioned on triple predicate |
CN103645948A (zh) * | 2013-11-27 | 2014-03-19 | 南京师范大学 | 一种面向数据密集型及依赖关系的并行计算方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8443074B2 (en) | 2007-03-06 | 2013-05-14 | Microsoft Corporation | Constructing an inference graph for a network |
CN101996208B (zh) | 2009-08-31 | 2014-04-02 | 国际商业机器公司 | 用于数据库语义查询回答的方法及系统 |
US8527443B2 (en) | 2009-10-08 | 2013-09-03 | Oracle International Corporation | Techniques for processing ontologies |
US9400778B2 (en) | 2011-02-01 | 2016-07-26 | Accenture Global Services Limited | System for identifying textual relationships |
US20120278788A1 (en) | 2011-04-29 | 2012-11-01 | General Electric Company | Methods for code generation from semantic models and rules |
US9015080B2 (en) | 2012-03-16 | 2015-04-21 | Orbis Technologies, Inc. | Systems and methods for semantic inference and reasoning |
US9448304B2 (en) | 2013-03-15 | 2016-09-20 | Src, Inc. | Ground moving target indicator (GMTI) radar that converts radar tracks to directed graphs (DG), and creates weighted DGs aligned with superimposed with digital maps |
US9628553B2 (en) | 2014-10-24 | 2017-04-18 | The Boeing Company | Mapping network service dependencies |
US10547565B2 (en) | 2015-04-02 | 2020-01-28 | Cisco Technology, Inc. | Automatic determination and just-in-time acquisition of data for semantic reasoning |
US20160292581A1 (en) | 2015-04-02 | 2016-10-06 | Cisco Technology, Inc. | Minimized processing of streaming changes into a semantic reasoner |
-
2015
- 2015-03-13 US US14/657,930 patent/US10504025B2/en not_active Expired - Fee Related
-
2016
- 2016-02-05 EP EP16154563.7A patent/EP3067836B1/en active Active
- 2016-03-11 CN CN201610141086.9A patent/CN105976031B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8423501B2 (en) * | 2009-11-20 | 2013-04-16 | Oracle International Corporation | Data source for parallel inference using a source table that is partitioned on triple predicate |
CN103645948A (zh) * | 2013-11-27 | 2014-03-19 | 南京师范大学 | 一种面向数据密集型及依赖关系的并行计算方法 |
Non-Patent Citations (2)
Title |
---|
Parallel Inferencing for OWL Knowledge Bases;Ramakrishna Soma et al.;《Parallel Processing, 2008. ICPP "08. 37th International Conference on》;20080916;第1页第1栏第1段-最后1页第2栏最后一段 * |
基于云计算的海量语义信息并行推理方法研究;施惠俊;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120715;第I138-2683页 * |
Also Published As
Publication number | Publication date |
---|---|
EP3067836A3 (en) | 2017-02-01 |
EP3067836B1 (en) | 2021-04-07 |
EP3067836A2 (en) | 2016-09-14 |
US20160267384A1 (en) | 2016-09-15 |
CN105976031A (zh) | 2016-09-28 |
US10504025B2 (en) | 2019-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105976031B (zh) | 多个语义推理引擎对数据的并行处理 | |
US10050842B2 (en) | Network control and management using semantic reasoners in a network environment | |
CN110612702B (zh) | 针对不一致的意图规范检查 | |
Trois et al. | A survey on SDN programming languages: Toward a taxonomy | |
da Costa Cordeiro et al. | Data plane programmability beyond openflow: Opportunities and challenges for network and service operations and management | |
CN112470431B (zh) | 使用自动布尔学习的网络的模型的合成 | |
US11303531B2 (en) | Generation of counter examples for network intent formal equivalence failures | |
US11038743B2 (en) | Event clustering for a network assurance platform | |
US10693738B2 (en) | Generating device-level logical models for a network | |
CN110710160B (zh) | 生成用于网络策略分析的全网络逻辑模型的方法和系统 | |
CN110785963B (zh) | 从网络收集网络模型和节点信息 | |
CN110800259B (zh) | 跨以应用为中心的维度的分布式故障代码聚合 | |
US10623271B2 (en) | Intra-priority class ordering of rules corresponding to a model of network intents | |
US20170116526A1 (en) | Automatic triggering of linear programming solvers using stream reasoning | |
Wijesekara et al. | A comprehensive survey on knowledge-defined networking | |
Taher | Testing of floodlight controller with mininet in sdn topology | |
Kang et al. | Process algebraic specification of software defined networks | |
Kohler | On consistency and distribution in software-defined networking | |
Pupatwibul | New information model that allows logical distribution of the control plane for software-defined networking: the distributed active information model (DAIM) can enable an effective distributed control plane for SDN with OpenFlow as the standard protocol | |
Agbariah | Common policy language for Policy Compliance and Change Detection System in managed service in data networks |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |