多個語義推理引擎對數(shù)據(jù)的并行處理的制作方法
【專利摘要】本公開涉及多個語義推理引擎對數(shù)據(jù)的并行處理。方法包括:從多個規(guī)則中標識一對或多對鏈接規(guī)則,并且從一對或多對鏈接規(guī)則中將鏈接在一起的規(guī)則分配給P個規(guī)則集中的相應(yīng)規(guī)則集。方法還包括:從多個規(guī)則所參照的多個個體中將P個規(guī)則集中的每個規(guī)則集所參照的個體分配給與每個規(guī)則集相關(guān)聯(lián)的個體集,并且將來自每個規(guī)則集的規(guī)則和來自與每個規(guī)則集相關(guān)聯(lián)的個體集的個體映射到與每個規(guī)則集相關(guān)聯(lián)的相應(yīng)知識庫實例。這樣的方法在允許給定流窗口內(nèi)的并行語義推理時確保知識完備性和良好的推斷。
【專利說明】
多個語義推理引擎對數(shù)據(jù)的并行處理
技術(shù)領(lǐng)域
[0001]本公開一般地涉及通信領(lǐng)域,并且更具體地涉及使用語義推理機的數(shù)據(jù)控制和管理?!颈尘凹夹g(shù)】
[0002]數(shù)據(jù)中心越來越多地被企業(yè)用于進行有效的合作和交互以及用于存儲數(shù)據(jù)和資源。典型的數(shù)據(jù)中心網(wǎng)絡(luò)包含大量網(wǎng)絡(luò)元件,包括主機、負載平衡器、路由器、交換機等。連接網(wǎng)絡(luò)元件的網(wǎng)絡(luò)按照需要提供對數(shù)據(jù)中心服務(wù)和針對部署、互連、以及共享資源聚合的基礎(chǔ)設(shè)施(包括應(yīng)用、主機、裝置、以及存儲裝置)的安全用戶訪問。提高操作效率并且優(yōu)化對這類數(shù)據(jù)中心中的資源的利用是數(shù)據(jù)中心管理器面臨的一些挑戰(zhàn)。數(shù)據(jù)中心管理器希望有彈性的基礎(chǔ)設(shè)施,該有彈性的基礎(chǔ)設(shè)施始終支持各種應(yīng)用和服務(wù)并且保護應(yīng)用和服務(wù)免受中斷。適當計劃并操作的數(shù)據(jù)中心網(wǎng)絡(luò)提供應(yīng)用和數(shù)據(jù)完整性并且優(yōu)化應(yīng)用可用性和性能。【附圖說明】
[0003]為了提供對本公開及其特征和優(yōu)勢的更完整理解,結(jié)合附圖對以下說明進行參考,圖中相似的標號代表相似的部分,其中:
[0004]圖1是示出了根據(jù)本公開的實施例的、用于在網(wǎng)絡(luò)環(huán)境中使用語義推理機來協(xié)助網(wǎng)絡(luò)控制和管理的通信系統(tǒng)的簡化框圖;
[0005]圖2A和圖2B是示出了根據(jù)本公開的各個實施例的、可以與通信系統(tǒng)的實施例相關(guān)聯(lián)的示例操作的簡化流程圖;
[0006]圖3是示出了根據(jù)本公開的一個實施例的一組相關(guān)規(guī)則的不同規(guī)則集的簡化框圖;
[0007]圖4是示出了根據(jù)本公開的一個實施例的、與圖3中所示出的一組相關(guān)規(guī)則相對應(yīng)的窗口的不同個體集的簡化框圖;
[0008]圖5是示出了根據(jù)本公開的一個實施例的、圖3中所示出的不同規(guī)則集和圖4中所示出的個體集到相應(yīng)KB實例的映射的簡化框圖?!揪唧w實施方式】
[0009]
[0010]本文公開了由語義推理機(例如,網(wǎng)絡(luò)中的語義推理機)執(zhí)行的計算機實現(xiàn)的方法。方法包括:從多個規(guī)則中標識一對或多對鏈接規(guī)則,并且從一對或多對鏈接規(guī)則中將鏈接在一起的規(guī)則分配給P個規(guī)則集中的相應(yīng)規(guī)則集。方法還包括:標識多個規(guī)則所參照的多個個體,并且從多個規(guī)則所參照的多個個體中將P個規(guī)則集中的每個相應(yīng)規(guī)則集所參照的所有個體分配給與每個相應(yīng)規(guī)則集相關(guān)聯(lián)的個體集(在本文中被稱為“窗口窗格(window pane)”)( S卩,規(guī)則集和個體集之間存在一對一的對應(yīng)關(guān)系,其中每個規(guī)則集與一個個體集且僅與一個個體集相關(guān)聯(lián),反之亦然)。方法還包括:將來自每個相應(yīng)規(guī)則集的規(guī)則和來自與每個相應(yīng)規(guī)則集相關(guān)聯(lián)的個體集的個體映射到與每個相應(yīng)規(guī)則集相關(guān)聯(lián)的相應(yīng)知識庫 (KB)實例(S卩,規(guī)則集和KB實例之間存在一對一的對應(yīng)關(guān)系,其中每個規(guī)則集與一個KB實例且僅與一個KB實例相關(guān)聯(lián),反之亦然;類似地,個體集和KB實例之間存在一對一的對應(yīng)關(guān)系)。
[0011]由于本文所描述的方法的實施例涉及對一個或多個窗口窗格的操縱,因此執(zhí)行本文所述方法的實施例的網(wǎng)絡(luò)元件內(nèi)的功能實體在下文中將被稱為“窗口窗格預處理器”。本領(lǐng)域技術(shù)人員將理解的是,本公開的各方面(尤其是本文所述的窗口窗格預處理器的功能) 可以被體現(xiàn)為系統(tǒng)、方法或計算機程序產(chǎn)品。因此,本公開的各方面可以采取以下的形式: 完全硬件實施例、完全軟件實施例(包括固件、駐留軟件、微代碼等)、或?qū)④浖陀布矫娼Y(jié)合的在本文中通??梢匀糠Q為“電路”、“模塊”或“系統(tǒng)”的實施例。本公開中所述的功能可以被實現(xiàn)為由處理器(例如,計算機的微處理器)執(zhí)行的算法。此外,本公開的各方面可以采取計算機程序產(chǎn)品的形式,計算機程序產(chǎn)品被包括優(yōu)選非暫態(tài)的在一個或多個計算機可讀介質(zhì)中、其上具有(例如存儲有)計算機可讀程序代碼。在各種實施例中,這樣的計算機程序可以例如被下載(被更新)到現(xiàn)有設(shè)備和系統(tǒng)(例如,到現(xiàn)有網(wǎng)絡(luò)元件,如路由器、交換機、各種控制節(jié)點等)或在制造這些設(shè)備和系統(tǒng)時被存儲。
[0012]示例實施例
[0013]轉(zhuǎn)向圖1,圖1是示出了根據(jù)一個示例實施例的、用于在網(wǎng)絡(luò)環(huán)境中使用語義推理機來協(xié)助網(wǎng)絡(luò)數(shù)據(jù)控制和管理的通信系統(tǒng)10的簡化框圖。雖然參照網(wǎng)絡(luò)數(shù)據(jù)、基礎(chǔ)網(wǎng)絡(luò)本體(ontology)、網(wǎng)絡(luò)知識庫等解釋了本文所述的實施例,但本文所述的功能(具體地為窗口窗格預處理器的功能)可以被實現(xiàn)來處理任意類型的數(shù)據(jù)(不一定是網(wǎng)絡(luò)數(shù)據(jù)),并且適用于任意環(huán)境(不一定是網(wǎng)絡(luò)環(huán)境)。例如,本文所述的實施例可以針對傳感器數(shù)據(jù)(例如,語義傳感器網(wǎng)絡(luò)(SSN)的傳感器云)上或網(wǎng)絡(luò)數(shù)據(jù)(例如,社交網(wǎng)絡(luò)饋送)上的機器推理來實現(xiàn)。
[0014]圖1示出了包括語義推理機12的通信系統(tǒng)10,語義推理機12包括語義映射器14、知識庫(KB)16(例如網(wǎng)絡(luò)KB)、以及推理引擎18。來自系統(tǒng)21(例如網(wǎng)絡(luò)21)的數(shù)據(jù)20(例如網(wǎng)絡(luò)數(shù)據(jù))可以以任意適當?shù)母袷?例如(但不限于),管理信息結(jié)構(gòu)(SMI)22、YANG 24、或可擴展標記語言(XML)26)被饋送入語義推理機12。根據(jù)各個實施例,語義映射器14中的解析器子模塊28和生成器子模塊30可以與窗口窗格預處理器13合作來例如使用根據(jù)基礎(chǔ)本體34(例如基礎(chǔ)網(wǎng)絡(luò)本體34)的清單(manifest)32動態(tài)地和自動地用從網(wǎng)絡(luò)數(shù)據(jù)20中提取的數(shù)據(jù)填充KB16。存儲器元件36和處理器38可以協(xié)助由語義推理機12的任意元件執(zhí)行的各種操作 (具體地為由窗口窗格預處理器13執(zhí)行的操作)。推理引擎18可以例如使用來自策略數(shù)據(jù)庫 39的策略和規(guī)則來對KB 16中的內(nèi)容執(zhí)行機器推理,并且生成適用于控制和管理網(wǎng)絡(luò)21的 (一個或多個)動作或(一個或多個)報告40。注意,動作/報告40可以包括任意適當?shù)膭幼骰驁蟾?,包括補救動作和報告、通知動作和信息報告。
[0015]通常,本體在形式上將知識表示為使用共享詞匯來表示概念的類型、特性和相互關(guān)系的域(例如網(wǎng)絡(luò))內(nèi)的概念的層級。具體地,網(wǎng)絡(luò)(例如網(wǎng)絡(luò)21)的“基礎(chǔ)網(wǎng)絡(luò)本體”(例如,基礎(chǔ)網(wǎng)絡(luò)本體34)包括提供形式結(jié)構(gòu)框架的網(wǎng)絡(luò)的共享概念化的顯式表示,形式結(jié)構(gòu)框架用于將與網(wǎng)絡(luò)有關(guān)的知識組織為互相關(guān)聯(lián)的概念的層級。共享概念化包括:用于對域知識(例如,與網(wǎng)絡(luò)有關(guān)的知識、用于網(wǎng)絡(luò)內(nèi)的設(shè)備和應(yīng)用間的通信的內(nèi)容特定協(xié)議等)進行建模的概念框架;以及與特定域理論的表示有關(guān)的協(xié)議。通常,基礎(chǔ)網(wǎng)絡(luò)本體34可以用任意適當?shù)闹R表示語言(例如,網(wǎng)絡(luò)本體語言(OWL))來編碼。
[0016]如本文所使用的,術(shù)語“清單”指數(shù)據(jù)定義格式(例如,SMI版本2 (SMIv2)、YANG、XML 等)和本體組件之間的綁定(例如,映射)的列表。在某些實施例中,清單32本質(zhì)上可以是相對靜態(tài)的,并且可以基于被映射的網(wǎng)絡(luò)數(shù)據(jù)20的相關(guān)聯(lián)的基礎(chǔ)網(wǎng)絡(luò)本體34和SMI/YANG/XML 等來被開發(fā)。隨著基礎(chǔ)網(wǎng)絡(luò)本體34演進(例如,被更新),清單32可以相應(yīng)地被更新(例如,由人工操作者更新)。[〇〇17]實現(xiàn)諸如圖1中所示推理機12之類的語義推理機的技術(shù)啟示的重要性可能未受到重視。隨著各種系統(tǒng)中部署的數(shù)據(jù)生成設(shè)備的數(shù)量不斷增加,用最小的人為干涉(如果有人為干涉的話)處理所生成的數(shù)據(jù)對發(fā)明和部署這類設(shè)備的有用性來說變得至關(guān)重要。畢竟, 例如傳感器的系統(tǒng)無法產(chǎn)生任何技術(shù)效果,除非由這些傳感器測量的數(shù)據(jù)可以被有意義地處理以使得它可以起作用。因此,實現(xiàn)這類設(shè)備的技術(shù)效果在于實現(xiàn)能夠?qū)τ稍O(shè)備生成的數(shù)據(jù)執(zhí)行機器推理的語義推理機。
[0018]為了說明通信系統(tǒng)10的技術(shù),重要的是理解可以穿過圖1中所示的系統(tǒng)的通信。下面的基本信息可以被視為適當解釋本公開的基礎(chǔ)。這類信息被真誠地提供并且僅為了解釋的目的,因此不應(yīng)以任何限制本公開和其潛在應(yīng)用的廣義范圍的方式來理解。
[0019]在當今的復雜信息技術(shù)(IT)環(huán)境中,操作包括對跨越至少以下廣義類別的大量數(shù)據(jù)進行管理和推理:(1)商業(yè)規(guī)則,其指示總體系統(tǒng)行為和結(jié)果;(2)策略定義,其管理連接性模式和控制平面操作;(3)設(shè)備配置,其服從軟件和/或硬件功能和限制;以及(4)可用于大數(shù)據(jù)分析的操作軟狀態(tài)數(shù)據(jù),包括例如路由表、統(tǒng)計資料等。然而,存在多個網(wǎng)絡(luò)管理和操作、營運和管理(0AM)工具,網(wǎng)絡(luò)操作仍舊是高接觸(high-touch)任務(wù),需要人工參與來基于技術(shù)或商業(yè)上下文解釋數(shù)據(jù)或配置策略。
[0020]軟件定義網(wǎng)絡(luò)(SDN)承諾通過使應(yīng)用以編程方式向控制器聲明它們的意圖來降低人工參與,并且后者(控制器)驅(qū)動網(wǎng)絡(luò)的操作。對SDN的成功來說必不可少的是具有對各種網(wǎng)絡(luò)數(shù)據(jù)類別進行推理的能力的網(wǎng)絡(luò)管理和控制邏輯。這類推理包括:檢測策略違反;在沖突的策略定義之間進行調(diào)解;檢測意外后果并且回復到穩(wěn)定狀態(tài);以及基于意圖和上下文信息以及其它特征來推斷網(wǎng)絡(luò)配置。推理可以使用語義技術(shù)來機械化,語義技術(shù)包括本體語言(例如,網(wǎng)絡(luò)本體語言(OWL)、0WL-描述邏輯(0WL-DL)、資源描述框架(RDF)、語義網(wǎng)規(guī)則語言(SWRL)等);本體編輯器(例如,Protege);語義框架(例如,Sesame);以及語義推理機 (例如,卩61101:,1161'11111',卩&(71++等)。
[0021]相對近的并且尚未充分解決的、需要由任意解決方案處理的問題正在應(yīng)對快速變化的數(shù)據(jù),例如流數(shù)據(jù)。在很多用例中,需要對網(wǎng)絡(luò)元件的軟狀態(tài)(例如,接口統(tǒng)計或協(xié)議有限狀態(tài)機(FSM)狀態(tài)、路由表內(nèi)容等)進行推理。該類型的連續(xù)變化數(shù)據(jù)創(chuàng)建了針對當前語義推理機的挑戰(zhàn),當前語義推理機傳統(tǒng)地對靜態(tài)數(shù)字知識庫進行操作。[〇〇22]流推理是過去幾年中已引人注目的學術(shù)研究的新興領(lǐng)域,主要地受提供將實現(xiàn)對異構(gòu)流數(shù)據(jù)(傳感器、社交網(wǎng)絡(luò)等)進行機器推理的解決方案的需求激發(fā)。[〇〇23]流推理內(nèi)的一個當前方法引入了作為流推理的關(guān)鍵要素的“窗口”和“連續(xù)處理” 的概念。根據(jù)該方法,“窗口”的概念包括將流分為在時間的不同快照處觀測的數(shù)據(jù)的子集。落在當前窗口之外的數(shù)據(jù)從知識庫中被忽略。這樣的方法一方面允許節(jié)省存儲器和處理資源,而另一方面從知識庫中消除不相關(guān)的(即陳舊的)數(shù)據(jù)。“連續(xù)處理”的概念包括使語義推理機連續(xù)運行以評估針對不斷變化的知識庫的目標。
[0024]另一方法定義針對流推理的框架,包括KB緩存和永久KB,其中KB緩存用于托管執(zhí)行推理的當前窗口,永久KB用于托管歷史知識。此外,該方法根據(jù)它們涉及的KB(OWL)個體的數(shù)量來定義窗口。這保證涉及0WL個體的所有語句被保持在當前窗口范圍中。當與基于資源描述框架(RDF)語句的窗口相比時,基于個體的窗口通過放棄涉及KB中最老個體的RDF語句的組減少了不完備性的程度。
[0025]然而,這些方法遭受了很多缺點。一個缺點是,雖然第二種方法可以減少知識不完備性的程度,但它仍然無法保證任意給定窗口中的知識的完備性。這對于某些聯(lián)網(wǎng)場景來說是不可接受的,其中,例如存在無法基于網(wǎng)絡(luò)數(shù)據(jù)來觸發(fā)動作的風險,這是因為數(shù)據(jù)被分為兩個不同的窗口,并且因此當單獨在每個窗口上執(zhí)行推理時,觸發(fā)期望動作的適當?shù)臈l件在KB的當前快照中不存在。此外,這兩種方法共同的另一缺點是,當在復雜規(guī)則上執(zhí)行推理時(正如例如網(wǎng)絡(luò)域中通常存在的情況),語義推理機的處理延遲可能大于保證實時推理所需的窗口刷新速率。換句話說,當前方法無法處理復雜規(guī)則被應(yīng)用在快速變化的數(shù)據(jù)上的場景。[〇〇26]通信系統(tǒng)10被配置為處理這些問題(及其他問題),以提供使得語義推理機能夠在快速變化的數(shù)據(jù)上進行操作的系統(tǒng)和方法。根據(jù)各種實施例,KB 16在邏輯上被分為n個單獨的KB實例15-1到15-n(n可以是大于1的任意整數(shù)),并且語義推理機12中的窗口窗格預處理器13可以自動地(例如,無人為干涉)將數(shù)據(jù)20映射到不同的KB實例15,其中數(shù)據(jù)20可以根據(jù)基礎(chǔ)本體34來建模。在實施例中,KB實例15可以被實現(xiàn)為緩存存儲器。[〇〇27] 此外,推理引擎18在邏輯上被分為n個單獨的推理引擎實例17-1到17-n,推理引擎 17-1到17-n的每個推理引擎實例17與KB實例15-1到15-n的一個KB實例相對應(yīng),反之亦然。 每個推理引擎實例17是推理引擎18的個體表示,因此本文針對推理引擎18所提供的所有討論適用于每個推理引擎實例17。[〇〇28]如本文所述,窗口窗格預處理器13可以確保/控制每個KB實例15的內(nèi)容被供應(yīng)給推理引擎實例17中可以適當?shù)毓餐刂坪凸芾砭W(wǎng)絡(luò)21的相應(yīng)的一個推理引擎實例。以這種方式,窗口窗格預處理器13實現(xiàn)通過多個語義推理引擎對語義數(shù)據(jù)進行并行處理,這進而使得語義推理機12能夠在快速變化的數(shù)據(jù)上進行操作。
[0029]具體地,如本文所述,窗口窗格預處理器13被配置為執(zhí)行新的方法,該新的方法可以在允許給定流窗口內(nèi)的并行語義推理時確保知識完備性和良好推斷。這樣的方法可以被稱為“窗口窗格”算法或方法。
[0030]除了使得語義推理機能夠處理可能涉及對流數(shù)據(jù)進行實時推理(例如,故障檢測 (troubleshooting)協(xié)議FSM、分析分組統(tǒng)計等)的用例,本文所述的窗口窗格方法可以減少推理機延遲(推理機延遲可能隨KB的尺寸以指數(shù)方式增長)。本文所述的窗口窗格方法可以適用任意類型的流數(shù)據(jù),例如網(wǎng)絡(luò)數(shù)據(jù)、傳感器數(shù)據(jù)、或從社交網(wǎng)絡(luò)生成的數(shù)據(jù)。[0031 ]本文所述的窗口窗格方法是基于規(guī)則的特殊分組的,因此首先提供規(guī)則的一般說明。[〇〇32]在當今的網(wǎng)絡(luò)域內(nèi),語義推理機操作的優(yōu)選實施例被期望經(jīng)由語義網(wǎng)規(guī)則語言(SWRL)規(guī)則評估。SWRL規(guī)則具有包括“主體(body)”和“頭部(head)”的一般形式,并且被表達為“主體->頭部”。每個主體和頭部包括一個或多個原子,其中原子可以是類原子或?qū)傩栽?,原子包括參照一個或多個個體的原子的對象(即,個體可以被視為規(guī)則的對象)。類原子測試或斷言個體是特定類的成員。例如,類原子“接口(?x)”可以測試或斷言個體“x”是類 “接口”的成員(即,“x”是接口)。屬性原子測試或斷言個體與給定屬性相關(guān)聯(lián)(即關(guān)聯(lián))。例如,屬性原子“hasIPv4Address( ?x,?y)”可以測試或斷言個體“x”使得個體“y”作為它的 IPv4地址。[〇〇33]當規(guī)則的主體評估為真時,則規(guī)則引發(fā)并且頭部中的(一個或多個)語句通過KB (通過KB個體)被斷言。例如,用于檢測表示為“xl”和“x2”的兩個接口之間的IP地址沖突的規(guī)則可以用SWRL表達為如下:
[0034]hasSameAddressAs(?xl,?x2),hasSameVFIAs(?xl,?x2),DifferentFrom(?xl,? x2)_>hasDuplicateAddress(?xl,?x2)
[0035]其中,“hasSameAddressAs”和“hasSameVFIAs”是規(guī)則的主體的屬性原子, “DifferentFrom”是SWRL內(nèi)置函數(shù),“hasDuplicateAddress”是規(guī)則的頭部的屬性原子,并且“xl”和“x2”是KB個體(S卩,規(guī)則的對象)。當確定接口 xl和x2具有相同的地址 (hasSameAddressAs( ?xl,?x2))、具有相同的虛擬轉(zhuǎn)發(fā)實例(VFI) (hasSameVFIAs( ?xl,? 12))、并且彼此不同(01€€6^1^?1'〇111(?11,?12))時,這樣的規(guī)則的主體被評估為真。當主體評估為真時,這樣的規(guī)則將斷言接口 xl具有接口 x2的重復地址(hasDuplicateAddress(? xl,?x2)),正如該規(guī)則的頭部中所提供的。
[0036]在關(guān)于規(guī)則如何被使用的另一示例中,針對基于策略的網(wǎng)絡(luò)的現(xiàn)有語義方法使用邊界網(wǎng)關(guān)協(xié)議(BGP)與本體網(wǎng)絡(luò)語言(0WL)中表達的語義信息(例如,與路徑相關(guān)聯(lián))。策略使用SWRL來表達以提供細粒度控制,其中路由器可以在其路徑上推理并且確定路徑將如何被改變。SWRL規(guī)則與0WL—起表達定義路由策略的BGP本體,并且語義推理機可以在本體和規(guī)則上動作以生成路由器的BGP配置(例如,路徑輸入/輸出規(guī)則)。
[0037]如本文所使用的,“個體”(例如,“KB個體”)指代本體(指定討論的知識庫的語義模型)中定義的0WL類的實例。
[0038]雖然本文提供的示例涉及SWRL規(guī)則,但本公開中所提供的教導同樣適用于使用霍恩子句(Horn clauses)的任意規(guī)則語言。
[0039]圖2A是示出了可以與通信系統(tǒng)10的實施例相關(guān)聯(lián)的示例操作的簡化流程圖。圖2A 中所示的操作概述了由窗口窗格預處理器13執(zhí)行的計算機實現(xiàn)的窗口窗格方法42。盡管參照圖1的通信系統(tǒng)10的元件解釋了方法42的方法步驟,但是本領(lǐng)域技術(shù)人員將認識到被配置為按任意順序執(zhí)行這些方法步驟的任意系統(tǒng)或網(wǎng)絡(luò)元件是在本公開的范圍內(nèi)的。
[0040]如圖2A中所示,方法42可以在步驟44中開始,在步驟44中,窗口窗格預處理器13將檢查特定本體的多個規(guī)則(例如,基礎(chǔ)本體34中參照的規(guī)則)。在那時規(guī)則可以未分開的被存儲在KB 16中、在窗口窗格預處理器13它本身中、或被存儲在窗口窗格預處理器13可訪問的任意其它數(shù)據(jù)庫/存儲器中。在步驟44中,窗口窗格預處理器13訪問規(guī)則以標識一對或多對鏈接規(guī)則。[0041 ]在一個實施例中,當一對規(guī)則中的一個規(guī)則的執(zhí)行影響該對規(guī)則中的另一規(guī)則的執(zhí)行或受該對規(guī)則中的另一規(guī)則的執(zhí)行的影響時,來自多個規(guī)則的該對規(guī)則被標識為鏈接的。在一個另外的實施例中,如果另一規(guī)則(即第二規(guī)則)的執(zhí)行影響第一規(guī)則的個體(BP, 第一規(guī)則),則一對規(guī)則中的一個規(guī)則(第一規(guī)則)受另一規(guī)則(第二規(guī)則)的執(zhí)行的影響。
[0042]在一些實施例中,兩個規(guī)則是否是鏈接的是通過評估規(guī)則的主體和/或頭部來確定的。在這樣的實施例中,假設(shè)一對規(guī)則中的每個規(guī)則包括主體和頭部,每個主體和頭部包括一個或多個原子,一個或多個原子包括零個或多個類原子和零個或多個屬性原子,并且一個或多個原子中的每個原子參照一個或多個個體。在一個這樣的實施例中,當一對規(guī)則中的一個規(guī)則的頭部中所包括的至少一個類原子被包括在該對規(guī)則中的另一規(guī)則的主體中時,來自多個規(guī)則的該對規(guī)則被標識為鏈接的。在另一這樣的實施例中,當一對規(guī)則中的一個規(guī)則的頭部中所包括的至少一個屬性原子是該對規(guī)則中的另一規(guī)則的主體中的屬性原子、并且一個規(guī)則的頭部中所包括的屬性原子的對象參照至少一個個體(另一規(guī)則的主體中的屬性原子的對象也參照該至少一個個體)時,來自多個規(guī)則的該對規(guī)則被標識為鏈接的。在又一這樣的實施例中,當一對規(guī)則中的一個規(guī)則的頭部中所包括的至少一個類原子的對象參照至少一個個體(該對規(guī)則中的另一規(guī)則的主體中所包括的至少一個屬性原子的對象也參照該至少一個個體)時,來自多個規(guī)則的該對規(guī)則被標識為鏈接的。這樣的實施例的條件包括基于類或?qū)傩缘睦^承交叉(由于0WL支持類和屬性層級)。
[0043]盡管上面提供的解釋涉及“鏈接規(guī)則對”,但是步驟44當然可以包括兩個以上規(guī)則被標識為“鏈接的”,但這些關(guān)系通??梢员环纸鉃殒溄右?guī)則對。因此,如本文所使用的,短語“標識一對或多對鏈接規(guī)則”指代標識彼此之間是鏈接的兩個或多個規(guī)則。例如,如果規(guī)貝1JA與規(guī)則B鏈接并且規(guī)則B與規(guī)則C鏈接,則規(guī)則A、B和C將被標識為鏈接在一起的規(guī)則(SP 使規(guī)則A可能未直接鏈接到規(guī)則C)。
[0044]此外,為了說明性目的,“相關(guān)”規(guī)則的概念被呈現(xiàn)。如果兩個(或多個)規(guī)則的對象參照或可以參照一個或多個共同的KB個體,則這兩個(或多個)規(guī)則是相關(guān)的。在各種實施例中,這樣的參照可以應(yīng)用到規(guī)則的頭部和/或主體,并且可以包括基于類或?qū)傩缘睦^承交叉。通過定義,如果兩個規(guī)則是鏈接的,則它們也是相關(guān)的,但是兩個規(guī)則可以是相關(guān)的而不是鏈接的。
[0045]作為示例,在下文中被稱為“10規(guī)則示例”,考慮本體,該本體包括如下相關(guān)的十個規(guī)則(規(guī)則1 -1 〇)及可能的多個其它規(guī)則:
[0046]-規(guī)則1和規(guī)則2是鏈接的 [〇〇47]-規(guī)則2和規(guī)則3是鏈接的 [〇〇48]-規(guī)貝1J4和規(guī)貝1J5是鏈接的
[0049]-規(guī)則6和規(guī)則7是鏈接的
[0050]-規(guī)則6和規(guī)則8是鏈接的[0051 ]-規(guī)則1和規(guī)則4是相關(guān)的(但不是鏈接的)
[0052]-規(guī)則5和規(guī)則10是相關(guān)的(但不是鏈接的)
[0053]該示例示出了某些規(guī)則可以是鏈接的而其它規(guī)則可以是相關(guān)的但不是鏈接的。這種差異的結(jié)果將從下面的描述中變得清晰。[〇〇54] 返回圖2A中所示的方法步驟,在步驟46中,窗口窗格方法42包括窗口窗格預處理器13將相關(guān)規(guī)則劃分為規(guī)則集,如下所述:如果兩個或多個規(guī)則是鏈接的,則它們被分配給相同的規(guī)則集。針對上面所述的10規(guī)則示例,這在圖3中被示出。圖3示出了本體64,本體64包括被分配給四個規(guī)則集(示出為規(guī)則集66-1、66-2、66-3和66-4)的相關(guān)規(guī)則1-10。本體64 當然可以包括彼此之前可能相關(guān)或可能不相關(guān)的另外的規(guī)則,尤其是聯(lián)系在一起的規(guī)則的另外的集群,但是為了清楚的目的,10規(guī)則示例僅集中于如上所述的相關(guān)規(guī)則的單個集合。
[0055] 如圖3中所示,規(guī)則集66-1包括規(guī)則1、規(guī)貝IJ2和規(guī)則3,因為這些是鏈接在一起的10 個相關(guān)規(guī)則1-10中的規(guī)則(規(guī)則1和規(guī)則2是鏈接的并且規(guī)則2和規(guī)則3是鏈接的)。規(guī)則集 66-2包括規(guī)則4和規(guī)則5 (因為規(guī)則4和規(guī)則5是鏈接的)。規(guī)則集66-3包括規(guī)則6、規(guī)則7和規(guī)則8,因為這些是鏈接在一起的10個相關(guān)規(guī)則1-10中的規(guī)則(規(guī)則6和規(guī)則7是鏈接的并且規(guī)貝1J6和規(guī)則8是鏈接的)。最后,規(guī)則集66-4包括規(guī)則9和規(guī)則10 (因為規(guī)則9和規(guī)則10是鏈接的)。規(guī)則的鏈接用每個規(guī)則集中的相應(yīng)規(guī)則周圍的虛線在圖3中示出,而非鏈接的相關(guān)規(guī)則用連接它們的點虛線被示出在圖3中(因此,規(guī)則1和規(guī)則4被示出是相關(guān)的但不是鏈接的,并且規(guī)則5和10被示出是相關(guān)的但不是鏈接的)。盡管圖3示出了具有四個規(guī)則集的示例,但是本文所提供的教導當然適用于任意數(shù)量的P個規(guī)則集。[〇〇56] 返回圖2A中所示的方法步驟,在步驟48中,窗格預處理器13可以標識由多個規(guī)則參照的多個個體。具體地,步驟48可以包括:窗格預處理器13定義用于流推理技術(shù)中的物理流窗口,每個流窗口包括相關(guān)規(guī)則(例如10規(guī)則示例中的規(guī)則1-10)的集合所參照的所有個體。本公開的實施例是基于以下的洞察的:為了維持KB中的知識的完備性,相關(guān)規(guī)則的集合中所參照的所有個體必須一起保持在任意流推理技術(shù)的相同窗口中。這保證推斷是基于當前系統(tǒng)狀態(tài)的同步快照的。[〇〇57]此外,單個窗口內(nèi)的個體還被分為被稱為窗口窗格的非互斥組(個體集合),從而使得屬于相同規(guī)則集的規(guī)則所參照的所有個體是相同窗口窗格的一部分。因此,返回到圖 2A中所示的方法步驟,在步驟50中,窗口窗格預處理器13被配置為檢查多個規(guī)則(如步驟48 中所標識的)的對象所參照的多個個體,并且將P個規(guī)則集中的每個相應(yīng)規(guī)則集所參照的所有個體分配給與每個相應(yīng)規(guī)則集相關(guān)聯(lián)的個體集(即,窗口的窗口窗格)。因此,規(guī)則集和個體集之間存在一對一的對應(yīng)關(guān)系,其中每個規(guī)則集與一個個體集且僅與一個個體集相關(guān)聯(lián),反之亦然。針對上面所述的10規(guī)則示例,這在圖4中被示出。[〇〇58]圖4示出了窗口 66,窗口 66包括一組相關(guān)規(guī)則1-10的所有個體,在圖4的示例性說明中,所有個體包括14個個體11-14。因為相關(guān)規(guī)則的示例性集合包括被分配給四個規(guī)則集的規(guī)則,并且規(guī)則集和個體集之間存在一對一的對應(yīng)關(guān)系,因此個體11-14被分配給四個個體集,這四個個體集在圖4中被示出為個體集70-1、70-2、70-3和70-4。個體集70-1與規(guī)則集 66-1相對應(yīng),個體集70-2與規(guī)則集66-2相對應(yīng),個體集70-3與規(guī)則集66-3相對應(yīng),并且個體集70-4與規(guī)則集66-4相對應(yīng)。此外,針對本體64的所有規(guī)則,可以存在與窗口 68類似的更多窗口,但是由于為了清楚的目的,10規(guī)則示例僅集中于如上所述的相關(guān)規(guī)則的單個集合,圖 4僅示出了單個窗口(S卩,與相關(guān)規(guī)則1-10相對應(yīng)的窗口)。[〇〇59] 如圖4中所示,個體集70-1包括個體I1、13、15、12和14,因為這些是規(guī)則集66-1的規(guī)則的對象中所參照的個體。類似地,個體集70-2包括個體19、15和111,因為這些是規(guī)則集 66-2的規(guī)則的對象中所參照的個體。個體集70-3包括個體16、17和18,因為這些是規(guī)則集 66-3的規(guī)則的對象中所參照的個體。最后,個體集70-4包括個體111、112、113和114,因為這些是規(guī)則集66-4的規(guī)則的對象中所參照的個體。[0060 ]注意,窗口窗格中的個體的成員資格(member sh ip)不是互斥的(S卩,個體可以被分配,即是不止一個窗口窗格的成員)。事實上,至少非鏈接的相關(guān)規(guī)則中共享的個體可以跨相應(yīng)的窗口窗格是共同的。這可以從圖4的檢查中看出,在圖4中個體15對窗口窗格70-1和70-2來說是共同的(因為規(guī)則I和規(guī)則4是相關(guān)的但不是鏈接的),并且個體Ill對窗口窗格70-2和70-4來說是共同的(因為規(guī)則5和規(guī)則10是相關(guān)的但不是鏈接的)。在實施例中,為了在機器推理期間維護數(shù)據(jù)的完整性,個體可以被分配給不止一個個體集,只要個體在任意個體集中無法被改變,這是由于在個體集中執(zhí)行機器推理的相應(yīng)推理引擎實例共享該個體的分配。
[0061]返回圖2A中所示的方法步驟,在步驟52中,窗口窗格預處理器13被配置為構(gòu)造單獨的KB實例15。為此,窗口窗格預處理器13被配置為針對每個規(guī)則集將來自規(guī)則集的規(guī)則和來自與該規(guī)則集相關(guān)聯(lián)的個體集的個體映射到相應(yīng)的KB實例中。因此,每個KB實例與特定的規(guī)則集相關(guān)聯(lián)(即,規(guī)則集和KB實例之間存在一對一的對應(yīng)關(guān)系,其中每個規(guī)則集與一個KB實例且僅與一個KB實例相關(guān)聯(lián),反之亦然)。因為規(guī)則集和個體集之間也存在一對一的對應(yīng)關(guān)系,因此這還可以被表達為每個KB實例與特定的個體集相關(guān)聯(lián),其中每個個體集與一個KB實例且僅與一個KB實例相關(guān)聯(lián),反之亦然。
[0062]如上所述,從良好推斷的角度來看,每個規(guī)則集是原子的,并且每個窗口窗格具有針對其相應(yīng)規(guī)則集的完整的知識。因此,針對數(shù)據(jù)流中給定的物理窗口,構(gòu)造多個KB實例從而使得每個規(guī)則集被映射到KB實例并且窗口窗格內(nèi)的個體被映射到托管與相應(yīng)規(guī)則集相關(guān)聯(lián)的規(guī)則的KB實例是可能的。這在圖5中被示出,在圖5中,繼續(xù)上面所述的10規(guī)則示例,來自圖3的本體64的規(guī)則集的規(guī)則和來自圖4的窗口 68的個體集被示出為被映射到相應(yīng)的不同的KB實例72 (可以是圖1中所示的KB實例15)。由于在圖3和圖4的示例中存在四個規(guī)則集和四個個體集,因此存在四個不同的KB實例(在圖5中示出為KB實例72-1到72-4),這四個不同的KB實例的內(nèi)容如從本體64和窗口 68出發(fā)的虛線箭頭所示出的進行填充(S卩,KB實例72-1包括規(guī)則集66-1和個體集70-1等)。
[0063]因此,窗口窗格方法42可以被視為提供用于分割數(shù)據(jù)的分析的裝置,從而使得僅增加的差異可能需要被計算/確定而不是必須重新計算/重新確定整個空間。與相應(yīng)KB實例相關(guān)聯(lián)的推理引擎實例負責獨立于其它推理引擎實例或KB實例來計算與其自身的個體集上的其自身的規(guī)則集相關(guān)聯(lián)的推斷。與在針對窗口中的所有個體的本體的整個規(guī)則上進行推理相比,這產(chǎn)生更好的推理性能。
[0064]在實施例中,KB實例的內(nèi)容可以包括網(wǎng)絡(luò)本體語言描述邏輯(OWL-DL)本體文件。
[0065]本公開的實施例還基于以下的洞察:為了保證KB上的良好推斷,每組鏈接規(guī)則必須由一個語義推理機實例操作(即,由相同的推理引擎實例17操作)。否則,某些推斷將被語義推理機錯過。因此,基于上述窗口窗格方法,與給定窗口相關(guān)聯(lián)的每個KB實例15可以獨立地由不同的語義推理機實例(例如不同的推理引擎實例17)推理。因此,在數(shù)據(jù)流的給定窗口內(nèi)開發(fā)平行性是可能的。在一個實施例中,語義推理機12可以被配置為創(chuàng)建尺寸為P的線程池,其中P是在那時被處理的特定窗口中的規(guī)則集的數(shù)量,每個線程具有一個KB實例15和相應(yīng)的推理引擎實例17。
[0066]在實施例中,所有的推理引擎實例17可以被配置為向共享推斷緩存(未在圖1中示出)提供其推斷,共享推斷緩存可以例如在KB 16內(nèi)被實現(xiàn),KB 16可以被查詢。由于實現(xiàn)本文所述的窗口窗格算法,這樣的推斷緩存中的推斷將是良好的和完整的。
[0067]在實施例中,不同的KB實例15可以被配置為向永久緩存(未在圖1中示出)提供其數(shù)據(jù),永久緩存被配置為存儲優(yōu)選地與單獨的窗口相關(guān)聯(lián)的KB實例的不同狀態(tài)(即規(guī)則集)的歷史知識。
[0068]圖2B概述了計算機實現(xiàn)的方法54,方法54可以是圖2A中所示的方法42的繼續(xù),方法54這次集中于當單獨的KB實例根據(jù)方法42被構(gòu)造時機器推理如何可以被執(zhí)行。此外,雖然參照圖1的通信系統(tǒng)10的元件解釋了方法54的方法步驟,但是本領(lǐng)域技術(shù)人員將認識到被配置為按任意順序執(zhí)行這些方法步驟的任意系統(tǒng)或網(wǎng)絡(luò)元件是在本公開的范圍內(nèi)的。
[0069]如圖2B中所示,方法54可以在步驟56中開始,在步驟56中,窗口窗格預處理器13將標識與每個相應(yīng)規(guī)則集對應(yīng)的數(shù)據(jù),這類似于標識與每個個體集相對應(yīng)的網(wǎng)絡(luò)數(shù)據(jù),這是由于規(guī)則集和個體集之間存在一對一的對應(yīng)關(guān)系。
[0070]在步驟58中,針對每個規(guī)則集,窗口窗格預處理器13將自動將與該相應(yīng)規(guī)則集相對應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)映射到與該相應(yīng)規(guī)則集相關(guān)聯(lián)的KB實例。
[0071 ]在步驟60中,針對每個KB實例,窗口窗格預處理器13將向與KB實例相關(guān)聯(lián)的相應(yīng)推理引擎實例饋送KB實例的內(nèi)容,從而在步驟62中使得每個單獨的推理引擎實例能夠在相應(yīng)KB實例中的數(shù)據(jù)上執(zhí)行機器推理。按這種方式,單獨的KB實例用實際數(shù)據(jù)填充,在這些實際數(shù)據(jù)上每個單獨的KB實例的規(guī)則可以通過相應(yīng)推理引擎實例來評估。
[0072]在各種實施例中,基礎(chǔ)本體34可以包括系統(tǒng)21的范圍、系統(tǒng)21中的網(wǎng)絡(luò)元件、以及網(wǎng)絡(luò)元件上運行的單獨的協(xié)議和特征?;A(chǔ)本體34可以指定概念(例如,類)、概念之間的關(guān)系(例如,對象屬性)、數(shù)據(jù)屬性(例如,將個體鏈接到文字)以及個體(例如,類的實例)。通常意義上,基礎(chǔ)本體34可以用作用于將數(shù)據(jù)20映射到系統(tǒng)21的具體語義模型的字典。在這類實施例的一個另外的實施例中,方法54還可以包括語義推理機12的處理器(例如處理器38)的以下步驟(未在圖中示出):根據(jù)本體從數(shù)據(jù)中生成系統(tǒng)21的完全填充的語義模型。自動將與每個相應(yīng)規(guī)則集相對應(yīng)的數(shù)據(jù)映射到與每個規(guī)則集相關(guān)聯(lián)的KB實例的步驟(上述步驟58)將包括:自動映射包括與每個規(guī)則集相對應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)的完全填充的語義模型的一部分。這樣的實施例可以有利地允許將完全填充的語義模型的一部分映射到單獨的KB實例上,從而使得該部分可以被單獨處理。
[0073]在實施例中,生成系統(tǒng)(例如網(wǎng)絡(luò)21)的完全填充的語義模型可以包括:語義推理機12從系統(tǒng)21接收數(shù)據(jù)20;解析接收到的數(shù)據(jù)(例如,使用解析器28);將經(jīng)解析的數(shù)據(jù)加載到內(nèi)存數(shù)據(jù)結(jié)構(gòu)中;訪問指定數(shù)據(jù)定義格式(在實施例中,其可以是來自由以下各項組成的組的選擇:管理信息結(jié)構(gòu)(SMI)、YANG、以及可擴展標記語言(XML))和本體的本體組件之間的綁定的清單;基于清單來標識與數(shù)據(jù)相關(guān)聯(lián)的本體組件;以及用來自相應(yīng)數(shù)據(jù)結(jié)構(gòu)的個體和屬性填充所標識的本體組件。一旦本體已被填充,則圖2A和圖2B中所示的方法就可以被執(zhí)行。
[0074]如本文所使用的,“語義模型”包括概念數(shù)據(jù)模型(例如,計算機可讀數(shù)據(jù)表示的對象的描述,計算機可讀數(shù)據(jù)包括概念和其關(guān)系的映射),語義信息被包括在概念數(shù)據(jù)模型中。語義模型描述它的實例的含義,從而允許在無人為干涉的情況下基于模型來表達任意信息交換中的含義。具體地,系統(tǒng)(例如系統(tǒng)21)的語義模型包括系統(tǒng)的知識表示,系統(tǒng)由語義相關(guān)項的框架組成。知識表示可以包括例如由頂點(其表示概念,例如各種網(wǎng)絡(luò)元件)和邊緣(其表示概念之間的關(guān)系)組成的有向圖或無向圖。如本文所使用的,術(shù)語“語義推理機”包括能夠從斷言的事實和/或公理的集合中推斷邏輯結(jié)果的軟件和/或硬件(例如,專用集成電路、現(xiàn)場可編程門陣列等)。
[0075]在各種實施例中,基礎(chǔ)本體34和清單32可以手動(例如,利用程序員輸入)生成,而語義推理機12基本可以自動(例如,無程序員輸入)操作。在其它實施例中,基礎(chǔ)本體34和清單32可以半自動(例如利用最小的人為干涉)或完全自動生成。
[0076]W3C網(wǎng)絡(luò)本體語言描述邏輯(OWL-DL)和W3C語義網(wǎng)規(guī)則語言(SWRL)的組合可用于定義能夠聲明定義事實、策略和規(guī)則的本體(例如基礎(chǔ)網(wǎng)絡(luò)本體34),這些事實、策略和規(guī)則管理網(wǎng)絡(luò)技術(shù)(例如,與網(wǎng)絡(luò)21相關(guān)聯(lián))并且針對要保持的給定“目的”(例如,策略、目標等)指定哪些條件是真或假。策略和規(guī)則中的一些或全部可以單獨地被存儲在策略數(shù)據(jù)庫39中。
[0077]目的說明書可以就SWRL規(guī)則來表達,SWRL規(guī)則使用本體的集合中定義的高級概念,因此使得目的說明書通用、獨立于設(shè)備并且是可擴展的。例如,元策略可用于當多個目的適用于上下文時確定目的的優(yōu)先順序。例如,元級詞匯可用于創(chuàng)建默認沖突解決規(guī)則,從而使得禁止性策略覆蓋許可策略。元級詞匯還允許定義目的的絕對優(yōu)先和相對優(yōu)先,因此覆蓋默認規(guī)則。元策略定義自動沖突解決診斷以響應(yīng)以下情況:呈現(xiàn)給網(wǎng)絡(luò)的目的將沖突條件強加在總體基礎(chǔ)設(shè)施上或在一個具體網(wǎng)絡(luò)元件上。
[0078]在各種實施例中,對網(wǎng)絡(luò)數(shù)據(jù)20進行建模可以包括在語義映射器14處接收網(wǎng)絡(luò)數(shù)據(jù)20。通常意義上,語義映射器14可以包括幫助數(shù)據(jù)元素從一個命名空間(例如,SM1、YANG或XML)轉(zhuǎn)換到另一命名空間(例如,OffL-DL)的應(yīng)用(例如,軟件工具或服務(wù))的一部分。語義映射器14中的解析器28可以對網(wǎng)絡(luò)數(shù)據(jù)20進行解析,并且將經(jīng)解析的網(wǎng)絡(luò)數(shù)據(jù)20加載到內(nèi)存數(shù)據(jù)結(jié)構(gòu)中,內(nèi)存數(shù)據(jù)結(jié)構(gòu)可以包括Java類。生成器30可以訪問清單32,清單32指定網(wǎng)絡(luò)數(shù)據(jù)類型和基礎(chǔ)網(wǎng)絡(luò)本體34之間的綁定。生成器30可以使用清單32和網(wǎng)絡(luò)數(shù)據(jù)值從數(shù)據(jù)結(jié)構(gòu)中生成完全填充的語義模型。因此,根據(jù)各種實施例,通信系統(tǒng)10可以協(xié)助開發(fā)網(wǎng)絡(luò)21的語義模型。網(wǎng)絡(luò)21內(nèi)可用的網(wǎng)絡(luò)數(shù)據(jù)20可以被投射到語義模型上。
[0079]在某些實施例中,完全填充的語義模型可以包括(一個或多個)0WL-DL文件,其可以被保存到NKB 16中。在各種實施例中,NKB 16可以包括已針對基礎(chǔ)網(wǎng)絡(luò)本體34(其可以由各種機構(gòu)定義,機構(gòu)例如為多個組織、個人、域、部門等)被投射的開采的網(wǎng)絡(luò)數(shù)據(jù)20。在各種實施例中,NKB 16可以使用OWL-DL和SWRL來寫。根據(jù)各種實施例,NKB16可以被配置為允許推理引擎18訪問NKB 16并且在其上執(zhí)行推理操作的任意適當?shù)臄?shù)據(jù)庫、表、陣列、數(shù)據(jù)結(jié)構(gòu)等。在某些實施例中,NKB 16包括具有表示網(wǎng)絡(luò)21的類、子類、屬性和實例的OWL-DL本體。NKB 16在某些實施例中可以用作信息的集中式數(shù)據(jù)庫,允許搜索查詢在其中的內(nèi)容上運行。通常意義上,NKB 16包括用于以任意適當格式存儲信息的機器可讀有形非暫態(tài)介質(zhì)。在各種實施例中,NKB 16可以包括信息的動態(tài)庫,其能夠?qū)W習和更新與網(wǎng)絡(luò)21相關(guān)聯(lián)的網(wǎng)絡(luò)相關(guān)信息。
[0080]根據(jù)各種實施例,推理引擎18可以在網(wǎng)絡(luò)知識庫16中的網(wǎng)絡(luò)數(shù)據(jù)20上執(zhí)行機器推理,并且做出適用于控制和管理網(wǎng)絡(luò)21的推斷。在各種實施例中,機器推理可以是根據(jù)(例如策略數(shù)據(jù)庫39中的)預配置的規(guī)則和策略的。策略數(shù)據(jù)庫39中的至少一個規(guī)則、策略和元策略可以在基礎(chǔ)網(wǎng)絡(luò)本體34的外部并且因此不是NFB 16中的語義模型的一部分。外部規(guī)貝1J、策略和元策略可以由用戶、管理員等輸入。在某些實施例中,規(guī)則、策略和元策略中的一些對網(wǎng)絡(luò)21的提供商是特定的(例如專有的);在其它實施例中,規(guī)則、策略和元策略中的一些在所有網(wǎng)絡(luò)提供商之間是共同的。
[0081]在示例實施例中,推理引擎18包括人工智能(Al)引擎,Al引擎使用網(wǎng)絡(luò)數(shù)據(jù)20和用戶定義策略用于網(wǎng)絡(luò)21的管理和控制。在特定實施例中,推理引擎18可以在NKB 16上進行操作,并且提供描述邏輯(DL)可用的基本推理功能,例如一致性檢查、推斷和概念覆蓋(例如,可滿足性驗證)ο推理可用于適當控制和管理網(wǎng)絡(luò)21。例如,推理引擎18可以觸發(fā)可以引起網(wǎng)絡(luò)配置變化、警告人工操作者、以及以其它方式協(xié)助控制和管理網(wǎng)絡(luò)21的(一個或多個)動作和/或(一個或多個)報告40的生成。
[0082]在示例實施例中,推理引擎18可以基于基礎(chǔ)網(wǎng)絡(luò)本體34中指定的規(guī)則來檢測任意網(wǎng)絡(luò)數(shù)據(jù)20是否是不一致的,并且觸發(fā)適當?shù)膭幼鳌@?,策略?shù)據(jù)庫39指示來自基礎(chǔ)網(wǎng)絡(luò)本體34的規(guī)則:不同路由器上的接口在其虛擬路由和轉(zhuǎn)發(fā)實例(VRF)和跨網(wǎng)絡(luò)的IP地址組合方面是不同的。假設(shè)網(wǎng)絡(luò)21在不同的路由器上包括兩個接口,其中接口是相同的。推理引擎18可以用與接口實例有關(guān)的數(shù)據(jù)實例化規(guī)則,并且標記不一致性被發(fā)現(xiàn)。因此,推理引擎可以自動檢測具有相同虛擬路由和轉(zhuǎn)發(fā)實例(VRF)和相同IP地址的兩個不同路由器上配置的兩個接口,并且基于策略數(shù)據(jù)庫39中的預設(shè)規(guī)則來觸發(fā)校正動作(例如拾取子網(wǎng)中的下一可用IP地址)。
[0083]推理引擎18還可以基于斷言的事實和/或公理來推斷邏輯結(jié)果。例如,推理引擎18可以基于檢查流量統(tǒng)計和中央處理單元(CPU)/存儲器利用和觸發(fā)(例如,安裝訪問控制列表(ACL)以過濾來自該惡意源的流量)來檢測特定路由器的控制平面正經(jīng)受來自給定源IP的拒絕服務(wù)攻擊。
[0084]在某些實施例中,推理引擎18可以解決概念覆蓋問題(CCoP),例如用于服務(wù)合成和資源標識。例如,推理引擎18可以標識未遍歷特定自治系統(tǒng)的從源A到目的地B可用的路徑。在另一示例中,推理引擎18可以確定到目的地前綴的特定路線是否離開加拿大的政治邊界等。推理引擎18可以觸發(fā)請求和網(wǎng)絡(luò)的當前狀態(tài)之間的偏差度的報告返回。在示例實施例中,給定網(wǎng)絡(luò)的當前狀態(tài),推理引擎18可以確定應(yīng)用的目的在SDN上下文中是否是可滿足的,并且如果不是,則可以觸發(fā)目的和當前狀態(tài)之間的“語義距離”(例如,散度)的報告返回。
[0085]此外,中央服務(wù)器上運行的或者網(wǎng)絡(luò)21內(nèi)或外的一個或多個網(wǎng)絡(luò)元件中嵌入的推理引擎18可以使用元信息來自動合并來自多個控制器的目的,并且生成滿足組合要求的目標配置。如本文所使用的,術(shù)語“網(wǎng)絡(luò)元件”表示涵蓋計算機、網(wǎng)絡(luò)裝置、服務(wù)器、路由器、交換機、網(wǎng)關(guān)、網(wǎng)橋、負載平衡器、防火墻、處理器、模塊、或能操作來在網(wǎng)絡(luò)環(huán)境中交換信息的任意其它適當?shù)脑O(shè)備、組件、元件或?qū)ο蟆4送?,網(wǎng)絡(luò)元件可以包括促進其操作的任意適當?shù)挠布?、軟件、組件、模塊、接口或?qū)ο蟆_@可以包括允許數(shù)據(jù)或信息的有效交換的適當?shù)乃惴ê屯ㄐ艆f(xié)議。在某些實施例中,推理引擎18可以被體現(xiàn)在網(wǎng)絡(luò)21內(nèi)或外的一個或多個網(wǎng)絡(luò)元件上執(zhí)行的一個或多個實例中。
[0086]—個或多個推理引擎18實例可以遵循由策略語言定義的語義。因此,合并策略中的步驟可以使用邏輯模型在形式上被驗證。為了結(jié)合多個目的,語義語言可以依賴開放世界假設(shè)推理(例如,在開放世界假設(shè)推理中,“正”斷言可以被做出;斷言的缺乏不意味著缺乏的斷言是假的)。在這樣的開放世界假設(shè)推理中,NKB 16可以被遞增開發(fā),并且不要求是完整有用的。在這樣的實施例中,通信系統(tǒng)10可以使得規(guī)則由NKB 16內(nèi)包含的知識評估。例如,這樣的限制可以允許推理引擎18在有限時間中產(chǎn)生解決方案。通過利用語義技術(shù)來驅(qū)動框架,實現(xiàn)知識的動態(tài)重配置是是可能的,這是由于新的事實可以通過指定的策略被推斷。任意適當?shù)墓ぞ呖捎糜隍?qū)動基礎(chǔ)網(wǎng)絡(luò)本體34的本體說明、推理引擎18等,以大規(guī)模構(gòu)建和部署通信系統(tǒng)10的實施例。
[0087]在各種實施例中,策略說明機制的復雜度可以與它的易于接受度相關(guān)。使得每個機構(gòu)能夠用高級語言起草抽象策略的聲明性策略語言可以是策略說明的良好候選者。每個機構(gòu)可以僅定義與其需要相關(guān)的那些目的和約束。策略語言表達的信息可以以盡可能獨立于硬件、軟件、以及協(xié)議的方式來定義。因此,根據(jù)通信系統(tǒng)10的實施例,機構(gòu)不需要集中于用于配置特定網(wǎng)絡(luò)基礎(chǔ)設(shè)施的寫程序;相反它們可以集中于描述通用基礎(chǔ)設(shè)施和它的特征而無需掌握和理解各種設(shè)備/協(xié)議/系統(tǒng)特定機制。語義推理機12的語義推理元件基本可以將任意指定策略轉(zhuǎn)換為設(shè)備特定配置。
[0088]通信系統(tǒng)10的實施例可以提供用于使用語義映射器14來構(gòu)建語義NKB16的方法和裝置,語義映射器14采用用戶定義的基礎(chǔ)網(wǎng)絡(luò)本體34、包括網(wǎng)絡(luò)數(shù)據(jù)20的SMI/YANG/XML的集合作為輸入,并且可以生成表示為語義模型的完全填充的OWL-DL本體,語義模型可以由推理引擎18動作以實現(xiàn)至少以下各項:網(wǎng)絡(luò)和設(shè)備操作和配置的一致性檢查(例如,檢測和補救重疊IP地址分配);基于事實的集合對狀態(tài)或結(jié)果的推斷(例如,檢測拒絕服務(wù)攻擊并且隔離惡意源);核驗概念的可滿足性(例如,在SDN上下文中,給定網(wǎng)絡(luò)的狀態(tài),核驗應(yīng)用的目的是否是可滿足的)。
[0089]通信系統(tǒng)10的實施例可以通過語義推理機18使網(wǎng)絡(luò)21中的嵌入人工智能實現(xiàn)在網(wǎng)絡(luò)元件它們本身上或在SDN控制器上。通信系統(tǒng)10的實施例可以實現(xiàn)的優(yōu)勢之一可以包括:使用基礎(chǔ)網(wǎng)絡(luò)本體34作為輸入從網(wǎng)絡(luò)數(shù)據(jù)20(例如,SMI/YANG模塊/XML文件的形式)自動生成NKB 16,基礎(chǔ)網(wǎng)絡(luò)本體34可以描述網(wǎng)絡(luò)的基本規(guī)則和原則,并且正式地描述網(wǎng)絡(luò)的商業(yè)規(guī)則和高級策略。此外,通信系統(tǒng)1的實施例基本可以跨所有網(wǎng)絡(luò)技術(shù)和協(xié)議(例如,第2層、第3層等)被應(yīng)用。通信系統(tǒng)10的實施例還可以提供用于在網(wǎng)絡(luò)大數(shù)據(jù)上執(zhí)行機器推理的機制。
[0090]轉(zhuǎn)向通信系統(tǒng)10的基礎(chǔ)設(shè)施,網(wǎng)絡(luò)21的網(wǎng)絡(luò)拓撲結(jié)構(gòu)可以包括任意數(shù)量的服務(wù)器、硬件加速器、虛擬機、交換機(包括分布式虛擬交換機)、路由器、以及互連以形成大型復雜網(wǎng)絡(luò)的其它節(jié)點。節(jié)點可以是任意電子設(shè)備、客戶端、服務(wù)器、對等體、服務(wù)、應(yīng)用或能夠通過網(wǎng)絡(luò)中的通信信道發(fā)送、接收或轉(zhuǎn)發(fā)信息的其它對象。圖1的元件可以通過采用任意適當連接(有線或無線)的一個或多個接口互相耦合,該一個或多個接口提供用于電子通信的可行路徑。此外,這些元件中的任意一個或多個可以基于特定配置需要來結(jié)合或從架構(gòu)中移除。
[0091]通信系統(tǒng)10可以包括能夠進行TCP/IP通信的配置,用于網(wǎng)絡(luò)中的數(shù)據(jù)分組的電子發(fā)送或接收。通信系統(tǒng)10還可以在適當時候并基于特定需要結(jié)合用戶數(shù)據(jù)報協(xié)議/互聯(lián)網(wǎng)協(xié)議(UDP/IP)或任意其它適當協(xié)議來進行操作。此外,網(wǎng)關(guān)、路由器、交換機、以及任意其它適當?shù)墓?jié)點(物理節(jié)點或虛擬節(jié)點)可用于促進網(wǎng)絡(luò)中的各種節(jié)點之間的電子通信。
[0092]注意,分配給圖1的元件的數(shù)值和字母指定不意味著任意類型的層級;指定是任意的并且僅已用于教導的目的。這樣的指定不應(yīng)以限制潛在環(huán)境中可以從通信系統(tǒng)10的特征中受益的它們的能力、功能或應(yīng)用的任意方式來理解。應(yīng)該理解的是,為了易于說明,圖1中所示的通信系統(tǒng)10被簡化。
[0093]示例網(wǎng)絡(luò)實施例可以在可包括一個或多個網(wǎng)絡(luò)的物理基礎(chǔ)設(shè)施上被配置,并且還可以以任意形式(包括但不限于局域網(wǎng)(LAN)、無線局域網(wǎng)(WLAN)、VLAN、城域網(wǎng)(MAN)、VPN、內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)、任意其它適當?shù)募軜?gòu)或系統(tǒng)、或促進網(wǎng)絡(luò)中的通信的其任意組合)被配置。
[0094]在某些實施例中,通信鏈路可以表示支持LAN環(huán)境的任意電子鏈路,例如電纜、以太網(wǎng)、無線技術(shù)(例如,IEEE 802.llx)、ATM、光纖等、或其任意適當?shù)慕M合。在其它實施例中,通信鏈路可以表示通過任意適當介質(zhì)(例如,數(shù)字訂戶線(DSL)、電話線、Tl線、T3線、無線、衛(wèi)星、光纖、電纜、以太網(wǎng)等、或其任意組合)和/或通過任意額外的網(wǎng)絡(luò)(例如,廣域網(wǎng)(例如互聯(lián)網(wǎng)))的遠程連接。
[0095]在各種實施例中,語義推理機12可以包括使用處理器38和存儲器元件36執(zhí)行的軟件應(yīng)用。在某些實施例中,語義推理機12可以被實例化在包括存儲器元件36和處理器38的服務(wù)器上。在其它實施例中,語義推理機12可以被實例化在包括存儲器元件36和處理器38的另一網(wǎng)絡(luò)元件上。在其它實施例中,語義推理機12可以包括獨立的裝置,其包括連接到網(wǎng)絡(luò)的存儲器元件36和處理器38,并且能操作來執(zhí)行本文所述的各種操作。在其它實施例中,語義推理機12可以包括分布式應(yīng)用,不同的元件(例如,語義映射器14、NKB 16、推理引擎18)被實例化在單獨的物理或虛擬機上。
[0096]注意在該說明書中,對“一個實施例”、“示例實施例”、“實施例”、“另一實施例”、“某些實施例”、“各種實施例”、“其它實施例”、“替代實施例”等中所包括的各種特征的提及(例如,元件、結(jié)構(gòu)、模塊、組件、步驟、操作、特征等)旨在表示任意這樣的特征被包括在本公開的一個或多個實施例中,但是可能或可能不必被結(jié)合在同一實施例中。還要注意,本文該說明中所使用的“應(yīng)用”可以包括可執(zhí)行文件(包括可以被理解和在計算機上被處理的指令),并且還可以包括在執(zhí)行期間被加載的圖書館模塊、目標文件、系統(tǒng)文件、硬件邏輯、軟件邏輯、或任意其它可執(zhí)行模塊。此外,詞語“優(yōu)化”、“最優(yōu)化”以及相關(guān)術(shù)語是領(lǐng)域中涉及指定結(jié)果的速度和/或效率的改善的術(shù)語,并且不意指指示用于實現(xiàn)指定結(jié)果的處理已實現(xiàn)或能夠?qū)崿F(xiàn)“優(yōu)化的”或完全快速/完全有效的狀態(tài)。
[0097]在示例實現(xiàn)方式中,本文所概述的活動的至少一些部分可以在例如語義推理機12中的軟件(具體地為窗口窗格預處理器13)中被實現(xiàn)。在某些實施例中,這些特征中的一個或多個特征可以被實現(xiàn)在硬件中,硬件被提供在這些元件外部、或以任意適當?shù)姆绞奖缓喜⒁詫崿F(xiàn)期望的功能。各種網(wǎng)絡(luò)元件(例如,語義推理機12,具體地為窗口窗格預處理器13)可以包括可以協(xié)調(diào)以實現(xiàn)本文所概述的操作的軟件(交互式軟件)ο在其它實施例中,這些元件可以包括促進其操作的任意適當?shù)乃惴ā⒂布?、軟件、組件、模塊、接口或?qū)ο蟆?br>[0098]此外,本文所描述和示出的語義推理機12(具體地為窗口窗格預處理器13)還可以包括用于在網(wǎng)絡(luò)環(huán)境中接收、發(fā)送和/或以其它方式傳送數(shù)據(jù)或信息的適當接口。此外,與各種節(jié)點相關(guān)聯(lián)的處理器和存儲器元件中的一些可以被移除、或以其它方式被合并,從而使得單個處理器和單個存儲器元件負責某些活動。通常意義上,圖中描繪的布置更多地在其表示方面是合邏輯的,而物理架構(gòu)可以包括這些元件的各種排列、組合、和/或混合。必要的是注意,無數(shù)可能的設(shè)計配置可用于實現(xiàn)本文所概述的操作目標。因此,相關(guān)聯(lián)的基礎(chǔ)設(shè)施具有大量的替代布置、設(shè)計選擇、設(shè)計可能性、硬件配置、軟件實現(xiàn)方式、設(shè)備選項等。
[0099]在某些示例實施例中,一個或多個存儲器元件(例如,存儲器元件36)可以存儲用于本文所述操作的數(shù)據(jù)。這包括能夠?qū)⒅噶?例如,軟件、邏輯、代碼等)存儲在非暫態(tài)計算機可讀存儲介質(zhì)中、從而使得指令被運行以執(zhí)行本說明書中所述的活動的存儲器元件。處理器可以運行與實現(xiàn)本文在說明書中所詳述的操作的數(shù)據(jù)相關(guān)聯(lián)的任何類型的指令。在一個示例中,處理器(例如,處理器38或窗口窗格預處理器13)可以將元件或物品(例如數(shù)據(jù))從一個狀態(tài)或事物轉(zhuǎn)換到另一狀態(tài)或事物。在另一示例中,可以利用固定邏輯或可編程邏輯(例如由處理器運行的軟件/計算機指令)來實現(xiàn)本文所概述的活動,并且本文所標識的元件可以是某種類型的可編程處理器、可編程數(shù)字邏輯(例如,現(xiàn)場可編程門陣列(FPGA)、可擦除可編程只讀存儲器(EPROM)、電可擦除可編程只讀存儲器(EEPROM) )、ASIC(包括數(shù)字邏輯、軟件、代碼、電子指令、閃速存儲器、光盤、⑶-R0M、DVD ROM、磁卡或光卡、適用于存儲電子指令的其它類型的機器可讀介質(zhì)、或其任意適當?shù)慕M合)。
[0100]這些設(shè)備還可以將信息保留在任何適當類型的非暫態(tài)存儲介質(zhì)(例如隨機存取存儲器(RAM)、只讀存儲器(R0M)、現(xiàn)場可編程門陣列(FPGA)、可擦除可編程只讀存儲器(EPROM)、電可擦除可編程ROM(EEPROM)等)、軟件、硬件中,或者基于特定需求適當?shù)卮鎯υ谌魏纹渌线m的組件、設(shè)備、元件或?qū)ο笾?。可以基于具體需要和實現(xiàn)方式來將被跟蹤、被發(fā)送、被接收、或被存儲在通信系統(tǒng)10中的信息提供在任意數(shù)據(jù)庫、寄存器、表、緩存、隊列、控制列表或存儲結(jié)構(gòu)中,可以在任意合適的時間幀處對所有這些信息進行引用。本文所討論的任意存儲器項應(yīng)該被理解為被包括在廣義術(shù)語“存儲器元件”內(nèi)。類似地,本說明書中所描述的任何潛在的處理元件、模塊和機器應(yīng)該被理解為被包括在廣義術(shù)語“處理器”內(nèi)。
[0101]更要注意的是,參照前述附圖所描述的操作和步驟僅示出可以由系統(tǒng)運行或者可以在系統(tǒng)內(nèi)運行的可能的場景中的一些。在適當?shù)那闆r下,可以對這些操作中的一些操作進行刪除或移除,或者可以在不脫離所討論的概念的范圍的情況下,對這些步驟進行顯著修改或改變。此外,這些操作的時序和序列可以被顯著更改并且仍實現(xiàn)本公開中所教導的結(jié)果。出于示例和討論的目的提供了前面的操作流程。由系統(tǒng)提供了大量的靈活性,這在于在不脫離所討論的概念的教導的情況下可以提供任意適當?shù)牟贾?、時間、配置以及時序機制。
[0102]盡管已經(jīng)參照特定的布置和配置詳細描述了本公開,但這些示例配置和布置可以在不脫離本公開的范圍的情況下進行顯著地改變。例如,盡管已經(jīng)參照涉及某些網(wǎng)絡(luò)流程和信令協(xié)議的特定通信交換描述了本公開,但通信系統(tǒng)10可適用于其它交換或路由協(xié)議。此外,盡管已經(jīng)參照促進通信處理的特定元件和操作示出了通信系統(tǒng)10,但這些元件和操作可以由實現(xiàn)通信系統(tǒng)10的預期功能的任意適當?shù)募軜?gòu)或處理來代替。
[0103]本領(lǐng)域的技術(shù)人員可以查明很多其它的改變、替換、變化、更改、以及修改,并且旨在于本公開包括落入所附權(quán)利要求的范圍內(nèi)的所有這樣的改變、替換、變化、更改、以及修改。為了幫助美國專利和商標局(USPTO)以及附加地幫助本申請中所發(fā)布的任何專利的任何讀者對這里所附權(quán)利要求進行解釋,
【申請人】希望注意的是,
【申請人】:(a)不期望任何所附權(quán)利要求援引其遞交日期存在的U.S.C.35部分112的段落六(6),除非在特定權(quán)利要求中具體使用了詞語“用于…的裝置”或“用于…的步驟”;并且(b)不期望通過說明書中的任何陳述來以所附權(quán)利要求中未反映的任何方式來限制本公開。
【主權(quán)項】
1.一種由語義推理機執(zhí)行的方法,包括:從多個規(guī)則中標識一對或多對鏈接規(guī)則;從所述一對或多對鏈接規(guī)則中將鏈接在一起的規(guī)則分配給P個規(guī)則集中的相應(yīng)規(guī)則 集;從所述多個規(guī)則所參照的多個個體中將所述P個規(guī)則集中的每個規(guī)則集所參照的個體 分配給與所述每個規(guī)則集相關(guān)聯(lián)的個體集;以及將來自所述每個規(guī)則集的規(guī)則和來自與所述每個規(guī)則集相關(guān)聯(lián)的個體集的個體映射 到與所述每個規(guī)則集相關(guān)聯(lián)的相應(yīng)知識庫KB實例。2.如權(quán)利要求1所述的方法,其中,當以下情況發(fā)生時,來自所述多個規(guī)則的一對規(guī)則 被標識為鏈接的:當所述一對規(guī)則中的一個規(guī)則的執(zhí)行影響所述一對規(guī)則中的另一規(guī)則的執(zhí)行或受所 述一對規(guī)則中的另一規(guī)則的執(zhí)行的影響時,或當所述一對規(guī)則中的一個規(guī)則的頭部中所包括的至少一個類原子被包括在所述一對 規(guī)則中的另一規(guī)則的主體中時,或當所述一對規(guī)則中的一個規(guī)則的頭部中所包括的至少一個屬性原子是所述一對規(guī)則 中的另一規(guī)則的主體中的屬性原子、并且一個規(guī)則的所述頭部中所包括的屬性原子的對象 參照另一規(guī)則的所述主體中的所述屬性原子的對象所參照的至少一個個體時,或當所述一對規(guī)則中的一個規(guī)則的頭部中所包括的至少一個類原子的對象參照所述一 對規(guī)則中的另一規(guī)則的主體中所包括的至少一個屬性原子的對象所參照的至少一個個體 時。3.如權(quán)利要求1所述的方法,還包括:標識與每個規(guī)則集相對應(yīng)的數(shù)據(jù);自動將與所述每個規(guī)則集相對應(yīng)的數(shù)據(jù)映射到與所述每個規(guī)則集相關(guān)聯(lián)的KB實例;向與每個KB實例相關(guān)聯(lián)的相應(yīng)推理引擎實例饋送所述每個KB實例的內(nèi)容;以及 使用與所述每個KB實例相關(guān)聯(lián)的推理引擎實例對所述每個KB實例中的數(shù)據(jù)執(zhí)行機器推理。4.如權(quán)利要求3所述的方法,其中,執(zhí)行機器推理包括:至少兩個推理引擎實例并行執(zhí) 行機器推理。5.如權(quán)利要求3所述的方法,其中,所述機器推理由每個推理引擎實例根據(jù)與所述推理 引擎實例相關(guān)聯(lián)的規(guī)則集來執(zhí)行。6.如權(quán)利要求3所述的方法,還包括:針對每個推理引擎實例,通過相關(guān)聯(lián)的推理引擎實例向共享推斷數(shù)據(jù)庫提供處理每個 KB實例的內(nèi)容的結(jié)果。7.如權(quán)利要求3所述的方法,還包括:根據(jù)本體從所述數(shù)據(jù)中生成網(wǎng)絡(luò)的完全填充的語義模型;其中,自動將與所述每個規(guī)則集相對應(yīng)的數(shù)據(jù)映射到與所述每個規(guī)則集相關(guān)聯(lián)的KB實 例包括:自動映射包括與所述每個規(guī)則集相對應(yīng)的數(shù)據(jù)的完全填充的語義模型的一部分。8.編碼有軟件的一個或多個計算機可讀存儲介質(zhì),所述軟件包括計算機可執(zhí)行指令, 并且當所述計算機可執(zhí)行指令被執(zhí)行時,能夠操作來執(zhí)行以下操作:從多個規(guī)則中標識一對或多對鏈接規(guī)則;從所述一對或多對鏈接規(guī)則中將鏈接在一起的規(guī)則分配給P個規(guī)則集中的相應(yīng)規(guī)則 集;從所述多個規(guī)則所參照的多個個體中將所述P個規(guī)則集中的每個規(guī)則集所參照的個體 分配給與所述每個規(guī)則集相關(guān)聯(lián)的個體集;以及將來自所述每個規(guī)則集的規(guī)則和來自與所述每個規(guī)則集相關(guān)聯(lián)的個體集的個體映射 到與所述每個規(guī)則集相關(guān)聯(lián)的相應(yīng)知識庫KB實例。9.如權(quán)利要求8所述的一個或多個計算機可讀存儲介質(zhì),其中,當以下情況發(fā)生時,來 自所述多個規(guī)則的一對規(guī)則被標識為鏈接的:當所述一對規(guī)則中的一個規(guī)則的執(zhí)行影響所述一對規(guī)則中的另一規(guī)則的執(zhí)行或受所 述一對規(guī)則中的另一規(guī)則的執(zhí)行的影響時,或當所述一對規(guī)則中的一個規(guī)則的頭部中所包括的至少一個類原子被包括在所述一對 規(guī)則中的另一規(guī)則的主體中時,或當所述一對規(guī)則中的一個規(guī)則的頭部中所包括的至少一個屬性原子是所述一對規(guī)則 中的另一規(guī)則的主體中的屬性原子、并且一個規(guī)則的所述頭部中所包括的屬性原子的對象 參照另一規(guī)則的所述主體中的所述屬性原子的對象所參照的至少一個個體時,或當所述一對規(guī)則中的一個規(guī)則的頭部中所包括的至少一個類原子的對象參照所述一 對規(guī)則中的另一規(guī)則的主體中所包括的至少一個屬性原子的對象所參照的至少一個個體 時。10.如權(quán)利要求8所述的一個或多個計算機可讀存儲介質(zhì),還能夠操作來執(zhí)行以下操 作:標識與每個規(guī)則集相對應(yīng)的數(shù)據(jù);自動將與所述每個規(guī)則集相對應(yīng)的數(shù)據(jù)映射到與所述每個規(guī)則集相關(guān)聯(lián)的KB實例;向與每個KB實例相關(guān)聯(lián)的相應(yīng)推理引擎實例饋送所述每個KB實例的內(nèi)容;以及使用與所述每個KB實例相關(guān)聯(lián)的推理引擎實例對所述每個KB實例中的數(shù)據(jù)執(zhí)行機器推理。11.如權(quán)利要求10所述的一個或多個計算機可讀存儲介質(zhì),其中,執(zhí)行機器推理包括: 至少兩個推理引擎實例并行執(zhí)行機器推理。12.如權(quán)利要求10所述的一個或多個計算機可讀存儲介質(zhì),還能夠操作來執(zhí)行以下操 作:針對每個推理引擎實例,通過相關(guān)聯(lián)的推理引擎實例向共享推斷數(shù)據(jù)庫提供處理每個 KB實例的內(nèi)容的結(jié)果。13.如權(quán)利要求10所述的一個或多個計算機可讀存儲介質(zhì),還能夠操作來執(zhí)行以下操 作:根據(jù)本體從所述數(shù)據(jù)中生成網(wǎng)絡(luò)的完全填充的語義模型;其中,自動將與所述每個規(guī)則集相對應(yīng)的數(shù)據(jù)映射到與所述每個規(guī)則集相關(guān)聯(lián)的KB實 例包括:自動映射包括與所述每個規(guī)則集相對應(yīng)的數(shù)據(jù)的完全填充的語義模型的一部分。14.一種用于實現(xiàn)語義推理的系統(tǒng),所述系統(tǒng)包括:至少一個存儲器,被配置為存儲計算機可執(zhí)行指令;以及至少一個處理器,被耦合到所述至少一個存儲器并且被配置為當執(zhí)行指令時能夠執(zhí)行 以下操作:從多個規(guī)則中標識一對或多對鏈接規(guī)則;從所述一對或多對鏈接規(guī)則中將鏈接在一起的規(guī)則分配給P個規(guī)則集中的相應(yīng)規(guī)則 集;從所述多個規(guī)則所參照的多個個體中將所述P個規(guī)則集中的每個規(guī)則集所參照的個體 分配給與所述每個規(guī)則集相關(guān)聯(lián)的個體集;以及將來自所述每個規(guī)則集的規(guī)則和來自與所述每個規(guī)則集相關(guān)聯(lián)的個體集的個體映射 到與所述每個規(guī)則集相關(guān)聯(lián)的相應(yīng)知識庫KB實例。15.如權(quán)利要求14所述的系統(tǒng),其中,當以下情況發(fā)生時,來自所述多個規(guī)則的一對規(guī) 則被標識為鏈接的:當所述一對規(guī)則中的一個規(guī)則的執(zhí)行影響所述一對規(guī)則中的另一規(guī)則的執(zhí)行或受所 述一對規(guī)則中的另一規(guī)則的執(zhí)行的影響時,或當所述一對規(guī)則中的一個規(guī)則的頭部中所包括的至少一個類原子被包括在所述一對 規(guī)則中的另一規(guī)則的主體中時,或當所述一對規(guī)則中的一個規(guī)則的頭部中所包括的至少一個屬性原子是所述一對規(guī)則 中的另一規(guī)則的主體中的屬性原子、并且一個規(guī)則的所述頭部中所包括的屬性原子的對象 參照另一規(guī)則的所述主體中的所述屬性原子的對象所參照的至少一個個體時,或當所述一對規(guī)則中的一個規(guī)則的頭部中所包括的至少一個類原子的對象參照所述一 對規(guī)則中的另一規(guī)則的主體中所包括的至少一個屬性原子的對象所參照的至少一個個體 時。16.如權(quán)利要求14所述的系統(tǒng),其中,所述至少一個處理器還被配置為:標識與每個規(guī)則集相對應(yīng)的數(shù)據(jù);自動將與所述每個規(guī)則集相對應(yīng)的數(shù)據(jù)映射到與所述每個規(guī)則集相關(guān)聯(lián)的KB實例;向與每個KB實例相關(guān)聯(lián)的相應(yīng)推理引擎實例饋送所述每個KB實例的內(nèi)容;以及 使用與所述每個KB實例相關(guān)聯(lián)的推理引擎實例對所述每個KB實例中的數(shù)據(jù)執(zhí)行機器推理。17.如權(quán)利要求16所述的系統(tǒng),其中,執(zhí)行機器推理包括:至少兩個推理引擎實例并行 執(zhí)行機器推理。18.如權(quán)利要求16所述的系統(tǒng),其中,所述機器推理由每個推理引擎實例根據(jù)與所述推 理引擎實例相關(guān)聯(lián)的規(guī)則集來執(zhí)行。19.如權(quán)利要求16所述的系統(tǒng),其中,所述至少一個處理器還被配置為:針對每個推理引擎實例,通過相關(guān)聯(lián)的推理引擎實例向共享推斷數(shù)據(jù)庫提供處理每個 KB實例的內(nèi)容的結(jié)果。20.如權(quán)利要求16所述的系統(tǒng),其中,所述至少一個處理器還被配置為:根據(jù)本體從所述數(shù)據(jù)中生成網(wǎng)絡(luò)的完全填充的語義模型;其中,自動將與所述每個規(guī)則集相對應(yīng)的數(shù)據(jù)映射到與所述每個規(guī)則集相關(guān)聯(lián)的KB實 例包括:自動映射包括與所述每個規(guī)則集相對應(yīng)的數(shù)據(jù)的完全填充的語義模型的一部分。
【文檔編號】G06N5/02GK105976031SQ201610141086
【公開日】2016年9月28日
【申請日】2016年3月11日
【發(fā)明人】薩姆爾·薩拉姆, 埃里克·A·沃伊特
【申請人】思科技術(shù)公司