專利名稱:對多重搜索實行的過濾器規則進行劃分的方法和系統的制作方法
技術領域:
本發明涉及計算機系統,特別涉及一種用于更高效搜索過濾器規則以與鍵進行匹配的方法和系統。
背景技術:
圖1示出可以連接到因特網30的傳統網絡10和20。網絡10包括主機12、14和16,而網絡20包括主機22和24。各網絡10和20還分別包括交換機18和26,并且可以分別包括一個或多個服務器如服務器17、19和28。另外,網絡10和20還可以分別包括一個或多個接到因特網30的網關13和25。路由器和還可以控制網絡10和20上的通信消息(traffic)的網絡10和20的其他部分未被顯式示出,它們將被視作分別由交換機18和26所固有描述的以及更一般的網絡10和20。
圖2示出典型交換機50的一部分,它可以用于交換機18和26以及/或者路由器(未示出)。交換機50包括網絡處理器52和存儲器54。交換機50典型地還包括其他組件(未示出)。網絡處理器52管理交換功能,包括使用下述規則對分組(packet)進行分類。存儲器54保存與規則相關的數據。
參照圖1和2,為了管理網絡如網絡10或20中的通信,使用過濾器規則。過濾器規則典型地由交換機、路由器和用來執行分組分類的網絡其他部分使用。各過濾器規則用來對正在通過網絡傳輸的分組進行分類,從而確定如何處理分組以及執行什么服務。例如,過濾器規則可以用于測試從外部源進入網絡的分組以確保可以阻止闖入網絡的企圖。例如,可以測試從因特網30進入網絡10的通信消息,從而確保拒絕來自未經授權源的分組進入。類似地,可以防止來自網絡一部分的分組訪問網絡的另一部分。例如,可以防止來自某些主機12、14或16的分組訪問服務器17或服務器19。還可以記錄主機試圖連接服務器的情況,從而網絡擁有者可以采取適當的操作。這些過濾器規則還可以用來根據分組的優先級傳輸通信消息。例如,即使當來自主機14或16的分組可能丟失時,也可以傳輸來自特定主機如主機12的分組,因為該分組具有更高優先級。過濾器規則還可以用來確保當非常擁擠時即使傳輸來自已建會話的通信消息也不允許開始新會話。還可以根據過濾器規則實現其他功能。
過濾器規則典型地還具有優先級。過濾器規則還可以根據各過濾器規則的優先級來交互。過濾器規則的優先級可以用來確定當鍵與兩條或多條過濾器規則的范圍匹配時所采取的操作。在這種情況下,具有較高優先級的過濾器規則控制所采取的操作。例如,第一規則可以是處理大多數情況的缺省規則。第二規則可以是第一規則的例外。第二規則典型地將具有比第一規則更高的優先級,以確保在分組與第一和第二規則都匹配的情況下將實行第二規則。在傳統系統中,所有過濾器規則根據它們的優先級排在一個列表中。另外,在傳統系統中,各過濾器規則的不同優先級由其在列表中的位置來反映。因此,在傳統系統中,優先級數與過濾器規則數相同。因此,在傳統系統中,過濾器規則的優先級數目大。
為了判定特定規則是否將作用于特定分組,對鍵進行測試。典型所用的鍵是分組的網際協議(IP)首標和分組的其他首標。IP首標典型地包含IP源地址(SA)和IP目的地址(DA)以及協議類型(P)字段。IP分組有效荷載典型地封裝另一首標和有效荷載結構,并且內部結構典型地是傳輸控制協議(TCP)、用戶數據報協議(UDP)或其他標準結構。TCP、UDP或其他標準結構的首標又包含源端口(SP)和目的端口(DP)值。這些字段典型地排序為SA、DA、SP、DP和P,并且分別為32、32、16、16和8位。規則典型地作用于這些字段中的一個或多個。例如,根據源和/或目的地址,規則可以判定來自特定主機的分組是否允許到達特定目的地址。
此外,鍵經常還包含不同于上述字段的另外位。例如,開始會話的TCP同步分組可以具有與現有會話的TCP數據分組不同的特征。該特征使用上述字段之外的位來體現。該另外位可以由管理網絡上的通信消息的過濾器規則使用。例如,當網絡擁擠時,過濾器規則可以主動丟棄TCP同步分組,而傳輸現有會話的TCP分組。這些操作允許網絡繼續工作并且幫助減輕擁擠。然而,為了執行該功能,規則檢查TCP首標中的同步位以判定分組是否是TCP同步過程的一部分。因此,過濾器規則典型地使用包括分組的IP首標和其他首標的至少一些字段并且可以包括另外位的鍵來工作。
在測試鍵中,判定是否對特定分組實行過濾器規則從而對分組進行分類。鍵通過判定鍵的某些字段是否在規則的范圍內來測試。各規則在一個或多個量綱中包含一個值范圍或一個確切值。每個量綱對應于鍵的一個字段(典型地是IP首標或其他首標)。一種過濾器規則字段范圍可以是單個值。在這種情況下,鍵將必須確切匹配規則值以作用于分組。其他規則具有某一字段范圍,該范圍由帶有以固定最高有效位開始的特定數目連續位和以任意最低有效位結束的其他連續位的所有二進制值組成。在這種情況下,固定位稱作前綴。前綴是包含一定數目的1和0(1或0)的二進制數,其后面是占位符或通配符(*)。范圍的下界通過用0替換所有通配符來獲得。范圍的上界通過用1替換所有通配符來確定。其他規則具有任意范圍。任意范圍是不能使用單個前綴表達的范圍。然而,任意范圍可以使用多個前綴來表達。
各種機制可以用于搜索過濾器規則以與鍵進行匹配。例如,如果過濾器規則的特定量綱要求確切匹配,則搜索可以包括搜索過濾器規則哈希值(hashed value)的表。搜索其他過濾器規則以與鍵進行匹配可能要求遍歷二元決策樹或其他機制。根據用來搜索過濾器規則的機制以及過濾器規則,搜索效率可能不同。
因此,需要一種改善搜索過濾器規則以與鍵進行匹配的效率的系統和方法。本發明就是解決這一需要。
發明內容
本發明提供一種用于在計算機系統中存儲多條過濾器規則的方法和系統。所述多條過濾器規則在至少一個量綱中使用至少一個值范圍,其中,量綱也稱作字段。該方法和系統包括將所述多條過濾器規則中的一部分分離為多個過濾器規則純子集。所述多個過濾器規則純子集均包括所述多條過濾器規則中的至少一條。該方法和系統還包括組合所述多個過濾器規則純子集中的一部分以提供組合子集,并且判定所述多條過濾器規則的使用效率是否通過組合所述多個過濾器規則純子集中的一部分而得到改善。如果結果是所得到子集的實行速度和/或存儲效率仍可以作進一步的改善,則另外重新組合過濾器規則的純子集或非純子集。該方法和系統還包括如果搜索和/或存儲所述多條過濾器規則的效率得到改善,則存儲包括經過組合的所述多個過濾器規則子集中的一部分的所述多條過濾器規則。
根據在此公開的系統和方法,本發明提供一種劃分過濾器規則子集的機制,它可以改善用于與鍵進行匹配的過濾器規則的存儲效率和/或實行速度。
圖1是其中可以使用本發明的網絡計算機系統的圖;圖2是其中可以使用本發明的交換機的圖;圖3是示出用于改善實行效率的存儲過濾器規則的本發明系統的一個實施例的方框圖;圖4是示出用于在計算機系統中存儲與過濾器規則相關的數據的本發明方法的一個實施例的高層流程圖;圖5是示出用于將計算機系統中的過濾器規則劃分為純子集的本發明方法的一個實施例的流程圖;圖6是示出用于對過濾器規則純子集進行排序的本發明方法的一個實施例的流程圖;圖7是示出用于測試過濾器規則的組合以改善效率的本發明方法的一個
具體實施例方式
本發明涉及分組分類的一種改進。下面描述讓本領域的普通技術人員能夠實現和使用本發明,并且它是在專利申請及其要求的上下文中提供的。對優選實施例的各種修改對于本領域的技術人員而言將是明顯的,并且在此所述的一般原理可以應用于其他實施例。因此,本發明不限于所示實施例,而是具有與在此所述的原理和特性一致的最廣范圍。
本發明提供一種用于在計算機系統中存儲多條過濾器規則的方法和系統。所述多條過濾器規則在至少一個量綱或字段中使用至少一個值范圍。該方法和系統包括將所述多條過濾器規則中的一部分分離為多個過濾器規則純子集。所述多個過濾器規則純子集均包括所述多條過濾器規則中的至少一條。該方法和系統還包括組合所述多個過濾器規則純子集中的一部分以提供組合子集,并且判定所述多條過濾器規則的使用效率是否通過組合所述多個過濾器規則純子集中的一部分而得到改善。如果結果是所得到子集的實行速度和/或存儲效率仍可以作進一步的改善,則另外重新組合過濾器規則的純子集或非純子集。該方法和系統還包括如果搜索和/或存儲所述多條過濾器規則的效率得到改善,則存儲包括經過組合的所述多個過濾器規則子集中的一部分的所述多條過濾器規則。
本發明將按照一組特定規則來描述。然而,本領域的普通技術人員應該清楚,該方法和系統將有效用于使用其他范圍的其他規則。本領域的普通技術人員還應該清楚,該方法和系統有效用于使用其他任務規則的其他系統。然而,絕不反對將該方法和系統應用于其他規則。
為更具體闡述本發明的方法和系統,現在參照圖3,圖3示出了利用三元內容可尋址存儲器(TCAM)來存儲與過濾器規則相關的數據的本發明系統100的一個實施例的方框圖。系統100最好用于網絡如網絡10和20中。更具體地說,系統100最好用于如交換機18或26的組件中。然而,系統100可以用于計算機系統的其他部分中。這樣,系統100與過濾器規則一起使用。過濾器規則在一個或多個量綱中具有范圍。這些量綱對應于鍵的字段,包括IP首標或其他首標的字段。各范圍可以通過一個或多個前綴來描述。
系統100包括處理器102、存儲器104和性能評價工具(“PET 106”)。存儲器104最好類似于存儲器54,并且用于存儲與過濾器規則相關的數據。處理器102最好執行下述功能如將過濾器規則劃分為純子集以及幫助組合過濾器規則的純子集。過濾器規則的純子集是帶有標為i=1,2,3,…,N的N(典型為5)個字段的過濾器規則集。對于每個字段i,必須只占三種可能性中的一種。各規則中的字段i可以是對于各規則完全一致的可能不同值;各規則中的字段i可以完全是通配符;或者各規則中的字段i可以是同一公共前綴。例如,具有下面字段的下列過濾器規則一起形成一個純子集。
表1規則源地址目的地址源端口目的端口協議R1 1.2.3.45.6.7.8 80 * 6R2 1.2.3.45.6.7.20 80 * 6R3 1.2.3.45.6.7.52 80 * 6R4 1.2.3.45.6.7.79 80 * 6R5 1.2.3.45.6.7.11380 * 6過濾器規則R1、R2、R3、R4和R5具有相同的源地址、源端口和協議。R1、R2、R3、R4和R5的這些字段還要求確切匹配。過濾器規則R1、R2、R3、R4和R5的目的地址全部通過同一前綴5.6.7來描述。所有過濾器規則R1、R2、R3、R4和R5的目的端口可以為任何值。因此,過濾器規則R1、R2、R3、R4和R5形成一個純子集。
PET 106可以用來評價使用特定過濾器規則集的系統如交換機的性能。PET 106最好考慮對過濾器規則執行的搜索類型、正被搜索的過濾器規則數目以及用來執行搜索的機制如二元決策樹或TCAM。PET 106用來如下所述評估過濾器規則不同組合的效率。在一個優選實施例中,PET 106測量存儲過濾器規則的代價和/或實行過濾器規則的速度。
圖4是示出用于在計算機系統中存儲與過濾器規則相關的數據的本發明方法150的一個實施例的高層流程圖。方法150最好使用系統100來實現。對要用于計算機系統例如交換機18或26中的過濾器規則集執行方法150。通過步驟152,將過濾器規則劃分為純子集。步驟152使用處理器102來執行。通過步驟154,嘗試性地組合一些純子集來提供組合子集。在一個優選實施例中,在步驟154嘗試性地組合兩個過濾器規則子集。步驟154最好首先組合規則(元素)最多的子集。通過步驟156,判定過濾器規則的使用效率是否通過組合得到改善。在一個優選實施例中,過濾器規則的使用效率通過存儲過濾器規則的代價或實行過濾器規則的速度來給出。過濾器規則的使用效率也可以是存儲過濾器規則的代價和實行過濾器規則的速度的組合。如果過濾器規則的使用效率得到改善,則通過步驟158,以在步驟154獲得的組合存儲過濾器規則。否則,不存儲組合。然后,通過步驟160,可以再次執行步驟154-158以進一步改善過濾器規則的搜索性能。在一個優選實施例中,重復步驟154-158,直到組合過濾器規則各部分不再改善性能為止。然而,在另一個實施例中,可以使用另一目標。例如,可以重復步驟154-158,直到達到特定性能級別或者進一步組合所實現的性能改善處于或低于特定級別為止。因此,重復步驟154-158,直到達到期望性能目標。
因此,使用方法150和系統100,將過濾器規則劃分為純子集。搜索純子集典型地更簡單和更高效。例如,在表1的規則純子集中,哈希處理可以忽略除目的地址字段之外的所有鍵字段。另外,聯合通過重復應用方法150而形成的子集(形成某對的合并),直到進一步的性能改善不可能或者滿足某種其他標準。如果子集組合不提高過濾器規則搜索效率,則在方法150中不存儲組合。然而,如果組合提高效率,則一起存儲從而一起搜索組合子集。因此,改善使用方法150和/或系統100的計算機系統如交換機18或26的性能。
圖5是示出用于將計算機系統中的過濾器規則劃分為純子集的本發明方法200的一個實施例的流程圖。通過步驟202,選擇一條過濾器規則作為當前純子集的一部分。步驟202最好還包括從計算機系統的過濾器規則列表中刪除該過濾器規則。通過步驟204,選擇剩余過濾器規則之一作為當前規則。通過步驟206,判定當前規則是否加到當前純子集以形成一個新的純子集。因此,步驟206可以包括,測試當前規則,以確保當前過濾器規則的字段要求確切匹配且與當前子集中過濾器規則的相應字段相同,可以通過與子集中過濾器規則的相應字段的前綴相同的前綴來描述,或者可以與子集中過濾器規則的相應字段一樣全部采用通配符來描述。
如果判定當前過濾器規則不能加到當前純子集并且形成新的純子集,則通過步驟208不將當前規則加到當前純子集。如果當前過濾器規則可以加到當前純子集來形成新的純子集,則通過步驟210將當前規則加到當前純子集。另外,通過步驟212,從規則列表中刪除當前規則。
通過步驟214,判定是否存在任何剩余規則要進行測試以與當前純子集合并。如果是,則返回到步驟204,并且選擇另一條當前過濾器規則。如果測試完畢所有過濾器規則以包括在當前純子集中,則通過步驟216判定是否存在任何過濾器規則剩余(未被刪除)。如果否,則方法200結束。否則,返回到步驟202,并且形成另一個純子集。
因此,使用方法200,可以將過濾器規則劃分為純子集。因此,方法200最好用來執行圖4所示的方法150的步驟152。回到圖5,方法152將計算機系統的過濾器規則劃分為考慮計算機系統的所有過濾器規則所需的多個純子集。一旦將過濾器規則劃分為純子集,則可以如下所述組合純子集。
圖6是示出用于對過濾器規則的純子集進行排序的本發明方法230的一個實施例的流程圖。在一個優選實施例中,方法230用來準備過濾器規則的純子集以在圖4所示的方法150的步驟154進行組合。回到圖6,通過步驟232,確定各純子集中的元素數。然后,通過步驟234,可以丟棄空子集。通過步驟236,以非遞增元素數依次列出純子集。因此,使用方法230,以條目最多的純子集為開始且以條目最少的純子集為結束列出各純子集。結果,當結合方法230執行步驟154或下述方法250時,首先將測試元素最多的純子集以與其他子集合并。因此,方法230可以允許方法150和250更快速地導致提高存儲效率或執行過濾器規則以與鍵進行匹配的搜索速度(使用效率)的純子集組合。
圖7是示出用于測試過濾器規則的組合以改善效率的本發明方法250的一個實施例的流程圖。在一個優選實施例中,方法250可以用來執行圖4所示的方法150的步驟154-160。回到圖7,方法250用于組合純子集對。然而,絕不反對本發明的方法和系統的另一個實施例以不同數目的子集形成組合。通過步驟252,確定在純子集中搜索過濾器規則的代價。在步驟252確定的代價可以當作基線。通過步驟254,選擇一對子集,并且形成它們的合并,以嘗試性地生成其中少一個子集的新子集組。通過步驟256確定相對于先前子集的搜索子集對(組合)的速度和/或存儲新子集組的代價。步驟256最好使用PET106來執行,并且考慮可能使用的不同類型的搜索引擎。例如,兩個純子集均可以使用全匹配算法來搜索。然而,由于兩個純子集的組合可能不是純子集,因此,組合可能要求更復雜的搜索機制如二元決策樹。如果搜索代價和/或存儲純子集對合并的效率小于搜索總代價和/或存儲兩個純子集的效率,則通過步驟258以純子集的組合代替單獨純子集。步驟258最好對所有純子集對都執行。在一個優選實施例中,在首次執行步驟258之后,當與特定其他純子集放在一起時更高效搜索的過濾器規則純子集得到組合。然后,通過步驟260,重復步驟252-258以反復組合子集,直到進一步組合不改善搜索速度和/或存儲代價。在隨后重復中,步驟252-258作用于子集組合而不是純子集對。例如,當首次重復步驟252-258時,在前一趟保存的純子集對可以與另一純子集或另一純子集對組合。下次重復步驟252-258時,可以組合子集對的對。該過程最好繼續直到進一步組合不再可以改善搜索代價為止。
因此,使用方法250,典型地組合純子集,然后如果性能改善,則重新組合。如果判定搜索和/或存儲兩個子集合并比單獨搜索和/或存儲一對子集更高效,則以子集合并代替兩個單獨子集。對于其他子集對和更高級別的子集組合,重復該過程。結果,所保存的規則最終組合具有由PET 106測量的更低存儲代價,更快速度或某種其他改善。因此,可以改善使用過濾器規則的計算機系統的性能。
上面公開了一種用于劃分和存儲過濾器規則的方法和系統。根據本發明編寫的軟件要存儲在某種形式的計算機可讀介質如存儲器、CD-ROM中,或者通過網絡傳輸,并且由處理器執行。因此,計算機可讀介質包括例如可以通過網絡傳輸的計算機可讀信號。雖然本發明是根據所示實施例來描述的,但是本領域的普通技術人員應該清楚,對這些實施例可以進行改變,并且這些改變將在本發明的精神和范圍內。因此,在不脫離所附權利要求的精神和范圍的情況下,本領域的普通技術人員可以進行各種修改。
權利要求
1.一種用于在計算機系統中存儲多條過濾器規則的方法,所述多條過濾器規則在至少一個量綱中使用至少一個值范圍,所述方法包括如下步驟(a)將所述多條過濾器規則中的一部分劃分為多個過濾器規則純子集,所述多個過濾器規則純子集均包括所述多條過濾器規則中的至少一條;(b)組合所述多個過濾器規則純子集中的一部分以提供組合純子集;(c)判定所述多條過濾器規則的使用效率是否通過組合所述多個過濾器規則純子集中的一部分而得到改善;以及(d)如果所述多條過濾器規則的使用效率得到改善,則存儲所述多條過濾器規則,包括作為組合子集存儲所述多條過濾器規則中的一部分。
2.如權利要求1所述的方法,還包括如下步驟(e)如果所述多條過濾器規則的使用效率沒有得到改善,則重新組合所述多個過濾器規則純子集中的第二部分。
3.如權利要求1所述的方法,其中,存儲步驟(d)導致多個存儲子集,所述方法還包括如下步驟(e)組合所述多個存儲子集中的一部分,以提供第二組合子集;(f)判定所述多條過濾器規則的使用效率是否通過組合所述多個存儲過濾器規則子集中的一部分而得到改善;以及(g)如果所述多條過濾器規則的使用效率得到改善,則存儲所述多個存儲子集中的一部分,包括作為第二組合子集存儲所述多個存儲子集中的一部分。
4.如權利要求3所述的方法,還包括如下步驟(h)重復步驟(e)、(f)和(g),直到所述多條過濾器規則的使用效率不再得到改善。
5.如權利要求3所述的方法,還包括如下步驟(h)重復步驟(e)、(f)和(g),直到所述多條過濾器規則的使用效率達到特定級別。
6.如權利要求1所述的方法,其中,組合步驟(b)還包括如下步驟(b1)組合所述多個過濾器規則純子集中的一對。
7.如權利要求1所述的方法,其中,效率判定步驟(c)還包括如下步驟(c1)判定實行所述多條過濾器規則的速度是否通過組合所述多個過濾器規則純子集中的一部分而得到改善。
8.如權利要求1所述的方法,其中,效率判定步驟(c)還包括如下步驟(c1)判定存儲所述多條過濾器規則的代價是否通過組合所述多個過濾器規則純子集中的一部分而得到改善。
9.如權利要求1所述的方法,其中,效率判定步驟(c)還包括如下步驟(c1)判定實行所述多條過濾器規則的速度與存儲所述多條過濾器規則的代價的組合是否通過組合所述多個過濾器規則純子集中的一部分而得到改善。
10.一種計算機可讀介質,包含一種用于在計算機系統中存儲多條過濾器規則的程序,所述多條過濾器規則在至少一個量綱中使用至少一個值范圍,所述程序包括如下指令(a)將所述多條過濾器規則中的一部分劃分為多個過濾器規則純子集,所述多個過濾器規則純子集均包括所述多條過濾器規則中的至少一條;(b)組合所述多個過濾器規則純子集中的一部分以提供組合純子集;(c)判定所述多條過濾器規則的使用效率是否通過組合所述多個過濾器規則純子集中的一部分而得到改善;以及(d)如果所述多條過濾器規則的使用效率得到改善,則存儲所述多條過濾器規則,包括作為組合子集存儲所述多條過濾器規則中的一部分。
11.如權利要求10所述的計算機可讀介質,其中,所述程序還包括如下指令(e)如果所述多條過濾器規則的使用效率沒有得到改善,則重新組合所述多個過濾器規則純子集中的第二部分。
12.如權利要求10所述的計算機可讀介質,其中,存儲指令(d)導致多個存儲子集,所述程序還包括如下指令(e)組合所述多個存儲子集中的一部分,以提供第二組合子集;(f)判定所述多條過濾器規則的使用效率是否通過組合所述多個存儲過濾器規則子集中的一部分而得到改善;以及(g)如果所述多條過濾器規則的使用效率得到改善,則存儲所述多個存儲子集中的一部分,包括作為第二組合子集存儲所述多個存儲子集中的一部分。
13.如權利要求12所述的計算機可讀介質,其中,所述程序還包括如下指令(h)重復指令(e)、(f)和(g),直到所述多條過濾器規則的使用效率不再得到改善。
14.如權利要求12所述的計算機可讀介質,其中,所述程序還包括如下指令(h)重復指令(e)、(f)和(g),直到所述多條過濾器規則的使用效率達到特定級別。
15.如權利要求10所述的計算機可讀介質,其中,組合指令(b)還包括如下指令(b1)組合所述多個過濾器規則純子集中的一對。
16.如權利要求10所述的計算機可讀介質,其中,效率判定指令(c)還包括如下指令(c1)判定實行所述多條過濾器規則的速度是否通過組合所述多個過濾器規則純子集中的一部分而得到改善。
17.如權利要求10所述的計算機可讀介質,其中,效率判定指令(c)還包括如下指令(c1)判定存儲所述多條過濾器規則的代價是否通過組合所述多個過濾器規則純子集中的一部分而得到改善。
18.如權利要求10所述的計算機可讀介質,其中,效率判定指令(c)還包括如下指令(c1)判定實行所述多條過濾器規則的速度與存儲所述多條過濾器規則的代價的組合是否通過組合所述多個過濾器規則純子集中的一部分而得到改善。
19.一種用于在計算機系統中存儲多條過濾器規則的系統,所述多條過濾器規則在至少一個量綱中使用至少一個值范圍,所述系統包括處理器,用于將所述多條過濾器規則中的一部分劃分為多個過濾器規則純子集,所述多個過濾器規則純子集均包括所述多條過濾器規則中的至少一條,并且組合所述多個過濾器規則純子集中的一部分以提供組合子集;性能評價工具,用于判定所述多條過濾器規則的使用效率是否通過組合所述多個過濾器規則純子集中的一部分而得到改善;以及存儲器,用于如果所述多條過濾器規則的使用效率得到改善,則存儲所述多條過濾器規則,包括作為組合子集存儲所述多個過濾器規則子集中的一部分。
20.如權利要求19所述的系統,其中,如果所述多條過濾器規則的使用效率沒有得到改善,則處理器還重新組合所述多個過濾器規則純子集中的第二部分。
21.如權利要求19所述的系統,其中,存儲器包括多個存儲子集,并且處理器還組合所述多個存儲子集中的一部分,以提供第二組合子集,其中,性能評價工具還判定所述多條過濾器規則的使用效率是否通過組合所述多個存儲過濾器規則子集中的一部分而得到改善,并且如果所述多條過濾器規則的使用效率得到改善,則存儲器還存儲所述多個存儲子集中的一部分,包括作為第二組合子集存儲所述多個存儲子集中的一部分。
22.如權利要求21所述的系統,其中,處理器還重新組合所述多個存儲過濾器規則子集中的另一部分,并且性能評價工具還重新判定所述多條過濾器規則的使用效率是否通過重新組合所述多個存儲過濾器規則子集中的其他部分而得到改善,直到所述多條過濾器規則的使用效率不再得到改善。
23.如權利要求22所述的系統,其中,處理器還重新組合所述多個存儲過濾器規則子集中的另一部分,并且性能評價工具還重新判定所述多條過濾器規則的使用效率是否通過重新組合所述多個存儲過濾器規則子集中的其他部分而得到改善,直到所述多條過濾器規則的使用效率達到特定級別。
24.如權利要求19所述的系統,其中,處理器通過組合所述多個過濾器規則純子集中的一對來組合所述多條過濾器規則中的一部分。
25.如權利要求19所述的系統,其中,性能評價工具通過判定實行所述多條過濾器規則的速度是否通過組合所述多個過濾器規則純子集中的一部分而得到改善,判定所述多條過濾器規則的使用效率。
26.如權利要求19所述的系統,其中,性能評價工具通過判定存儲所述多條過濾器規則的代價是否通過組合所述多個過濾器規則純子集中的一部分而得到改善,判定所述多條過濾器規則的使用效率。
27.如權利要求19所述的系統,其中,性能評價工具通過判定實行所述多條過濾器規則的速度與存儲所述多條過濾器規則的代價的組合是否通過組合所述多個過濾器規則純子集中的一部分而得到改善,判定所述多條過濾器規則的使用效率。
全文摘要
公開了一種用于在計算機系統中存儲多條過濾器規則的方法和系統。所述多條過濾器規則在至少一個量綱中使用至少一個值范圍。該方法和系統包括將所述多條過濾器規則中的一部分分離為多個過濾器規則純子集。所述多個過濾器規則純子集均包括所述多條過濾器規則中的至少一條。該方法和系統還包括組合所述多個過濾器規則純子集中的一部分以提供組合子集,并且判定所述多條過濾器規則的使用效率是否通過組合所述多個過濾器規則純子集中的一部分而得到改善。該方法和系統還包括,如果所述多條過濾器規則的搜索效率得到改善,則存儲所述多條過濾器規則,包括作為組合子集存儲所述多個過濾器規則子集中的一部分。
文檔編號H04L29/06GK1482548SQ0315307
公開日2004年3月17日 申請日期2003年8月12日 優先權日2002年8月12日
發明者小埃弗里特·A·科爾, 小埃弗里特 A 科爾, 戈洛瓦尼斯基, 奧爾加·戈洛瓦尼斯基, D 杰弗里斯, 克拉克·D·杰弗里斯, 小羅伯特·F·坎特納, 特 F 坎特納, W 沃澤拉, 蘭德爾·W·沃澤拉, 哈姆 齊哈維, 阿夫拉哈姆·齊哈維 申請人:國際商業機器公司