TWI282227B - Methods for inserting a filter instance into a filter stack, removing a filter instance from a filter stack, and filtering packets associated with one or more protocols - Google Patents

Methods for inserting a filter instance into a filter stack, removing a filter instance from a filter stack, and filtering packets associated with one or more protocols Download PDF

Info

Publication number
TWI282227B
TWI282227B TW091135673A TW91135673A TWI282227B TW I282227 B TWI282227 B TW I282227B TW 091135673 A TW091135673 A TW 091135673A TW 91135673 A TW91135673 A TW 91135673A TW I282227 B TWI282227 B TW I282227B
Authority
TW
Taiwan
Prior art keywords
filter
entity
stack
action
packet
Prior art date
Application number
TW091135673A
Other languages
English (en)
Other versions
TW200305322A (en
Inventor
Alireza Dabagh
Aditya Dube
Arvind Murching
Fengfen Liu
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of TW200305322A publication Critical patent/TW200305322A/zh
Application granted granted Critical
Publication of TWI282227B publication Critical patent/TWI282227B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/321Interlayer communication protocols or service data unit [SDU] definitions; Interfaces between layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Description

(i) 1282227 玖、發明說明 (發明說明應敘明:發明所屬之技術領域、先前技術、内容、實施方式及圖式簡單說明) 1. 技術領域 本發明關於資料封包濾波。更明確言之,本發明有關一 抽象介面管理插入濾波器實體於一濾波器堆疊、由一濾波 器堆疊移出濾波器實體與旁通一濾波器實體之功能而不 中斷相關通信協定堆疊操作的之系統、方法與電腦程式產 品 ° 2. 先前技術 在現今世界中,許多電腦經由允許電腦交換資料之電腦 網路(例如網際網路)彼此相互耦合。然而,大多數此類電 腦並非以一對一之關係直接耦合。相反的是,這些電腦通 常存在於一網路環境中,其中多數電腦係相互連接,且各 電腦均可與包括在網路之其他電腦交換資料。隨著耦合於 習知網路之電腦數目增加,越過此網路傳送之資料量也隨 之增加。因此,有效與可靠地透過電腦網路傳送資料之技 術業已開發。 一種促進資料越過一網路有效傳送資料之技術係一「封 包處理」。封包處理係將大量資料分割成較小片段或稱「 封包」的一技術。處理封包比處理大型資料需求較少之資 源。此外,藉由使用封包,資料可以一增量之方式接收而 減少當傳輸發生錯誤時必須再傳送之資料量。 另一技術係使用開放系統互連(「〇si」)模型,其界定一 用於實施通信協定之網路架構。〇 s I模型劃分資料傳送操 作成為七個不同「層面」,各經指定以執行某些資料傳送 1282227 __ (2) 發明說明續頁 程序作業。儘管一些網路應用已使用各個層面,然許多應 用只選擇性地使用一些層面用於越過一網路傳送資料。被 大多數通信協定堆疊納入之的二層面係傳輸層與資料鏈 結層。傳輸層通常關於封包處理資料。一傳輸層通信協定 之例子係傳輸控制通信協定(「TCP」)。資料鏈結層通常關 於將位元編碼成為封包與將封包解碼成為位元。 由一電腦裝置發送資料至一網路通常包括一傳輸層驅 動器封包處理大量資料、一資料鏈結層驅動器將封包解碼 成位元,與網路硬體(諸如網路介面卡)傳遞該位元至網路 。電腦裝置由一網路接收資料通常包括反向之操作。意即 ,一硬體裝置接收位元,一資料鏈結層驅動器將位元編碼 成為封包,而後該封包被發送至一傳輸層驅動器,以便組 合成為大型資料。當封包解碼成為位元供分派至網路硬體 ,與當位元編碼成為封包供分派至一傳輸層通信協定時 ,資料鏈結層驅動器可對資料執行特定之操作。此係有利 因為資料在越過網路發送或到到更高之通信協定層前可 能需要修改。 以往,資料鏈結層驅動器係為一特定平台編寫或設計以 利於相容地傳送資料。隨通信協定與硬體裝置型式之激增 ,此已導致某些問題。在刪除、增加或修改由一資料鏈結 層驅動器執行之操作時,該驅動器必須完全重寫。重寫資 料鏈結層驅動器係十分耗費,其涉及一高水準之技術專家 與經常造成現有硬體廢棄,或造成此硬體之使用者須事先 增強其功能性。再者,當複數個資料鏈結層驅動器在一電 1282227 發明說明續頁 (3) 腦系統中出現時,包括於各種資料鏈結層驅動器内之功能 可能冗餘,然而仍需求適當之操作。 因此,已開發其他方法以在一通信協定堆疊之資料鏈結 層處進行對資料之操作。一種此類方法係「IP防火牆鉤聯 」,當其在資料鏈結層與一通信協定堆疊之傳輸層間轉送 時其可「鉤聯」 資料封包。鉤聯封包之優勢在於資料監 控功能可易於執行,諸如檢核一封包之原始地址以決定該 封包應被處理或放棄。然而,封包鉤聯具有限定之優勢, 如封包可能未修改而插回該資料流。再者,其他不與封包 鉤聯相容之較先進網路技術已開發出。例如,IP防火牆鉤 聯無法與並廣泛使用之網際網路連接分享技術互相施作。 另一種用於對經由一通信協定堆疊之資料鏈結層轉送 的一資料封包執行操作之方法係使用「中間驅動器」。中 間驅動器座落於傳輸層與資料鏈結層間,且可執行習知資 料監控以及其他較先進之濾波器功能,諸如資料壓縮與加 密。中間驅動器允許可由一通信協定堆疊增加或刪除而無 須重寫在下層的一鏈結層裝置驅動器之功能。此外,多數 中間驅動器可經鋪設以執行一系列經由一資料鏈結層轉 送資料之功能。 雖然中間驅動器可比IP防火牆鉤聯提供增加之功能,中 間驅動器具有某些本質上之問題。安裝與設置中間驅動器 通常涉及由一操作系統組件(諸如一暫存器)併入資料或 提供其資料。由中間驅動器處理操作系統資料之濾波器環 境較不利之原因有二。 1282227 _ ⑷ I發明說明續頁 一通信協定堆疊被裝於或移出一中間驅動器可能需求 該通信協定堆疊被拆離與重建。此可能導致該通信協定堆 疊必須重建以增加該中間驅動器之功能。同樣地,一中間 驅動器撰寫資料可能造成一未重建之通信協定堆疊的誤 動作。拆離與重建一通信協定堆疊可包括重開機一電腦系 統,使資料能正峰地初始化供一中間驅動器用。此外,在 某些情況下,經安裝的一中間驅動器在其啟動後可能只需 要檢視網路資料。然而,即使未啟動,維持該中間驅動器 之安裝將使用珍貴之系統資源,因而降低網路效能。 因此,所需求的是能有效過濾資料封包與改變濾波器操 作之系統、方法與電腦程式產品以節約處理與網路之資源。 發明内容 本發明之方法提供有效過濾資料封包與改變濾波器操 作。包括於一電腦裝置之通信協定堆疊係關聯至一可包括 一或多數濾波器實體之濾波器堆疊。關聯該通信協定堆疊 之資料封包通過可能在該資料封包上執行濾波器操作之 濾波器實體。濾波器實體可被以減低中斷相關通信協定堆 疊機會之方式插入一濾波器堆疊中或由其移出。 此外,依據資料、封包及/或組態參數之特徵,相關一 濾波器實體之濾波器操作可被旁通。旁通濾波器操作可以 許多方式進行。當一封包完全地旁通與一通信路徑(諸如 一資料路徑或控制路徑)相關的濾波器實體時,可執行 旁通濾波器操作。當一濾波器實體内部的一或多數濾波器 操作未對係一接收之資料封包執行時,亦可執行旁通濾波 1282227 _ 巧、 I發明說明續頁 器操作。一抽象介面管理濾波器堆疊,係藉由呼叫濾波器 驅動器以利於由相關濾波器堆疊動態插入與移出濾波器 實體。 當濾波器實體插入該濾波器堆疊時,一濾波器驅動器可 由該抽象介面接收參數。這些參數有利於該濾波器實體之 設置以執行濾波器操作。濾波器實體依據一輸入資料封包 之特徵可設置以執行不同之濾波器操作。例如,一濾波器 堆疊可過濾網際網路通信協定(「IP」)與網際網路封包交換 (“IPX”)二種封包。適當時,該參數可導致該濾波器實體執 行相同之處理,而不論資料是包括於一 IP封包或是一 IPX 封包中。同時,適當時該參數可導致該濾波器實體執行類 似(但稍許不同)之處理,取決於那些資料係包括於IP封包 或一 IPX封包。 過濾資料封包時使用一單一濾波器堆疊用於所有傳輸 比每一傳輸使用一實體,可減低由一電腦裝置設置與維持 之濾波器實體的數量。此可減低一濾波器堆疊將會被依冗 餘邏輯設置之機會,且因此也減低關於過濾資料封包之操 作複雜性。 當一抽象介面有助於插入一新濾波器實體於一操作中 之濾波器堆疊時,其可能首先通知相關通信協定堆疊現行 之濾波器堆疊即將暫停。該抽象介面於是可暫停該濾波器 堆疊。暫停該濾波器堆疊可能涉及呼叫有關現行濾波器堆 疊内各濾波器實體的一「暫停」模組。一旦所有濾波器實 體均暫停,一新濾波器實體可被插入該濾波器堆疊内的適 -10- 1282227 _ ⑹- I發明說明續頁 當位置。該抽象介面隨後可通知所有通信協定,該濾波器 堆疊將要開始且其包括新增加濾波器實體之功能。新濾波 器堆疊隨後即可開始。此可能涉及呼叫關聯新濾波器堆疊 内各濾波器模組的一 「開始」模組。 當插入一濾波器實體於一濾波器堆疊時,該抽象介面可 發送參數予一相關濾波器驅動器,包括一「濾波器處理控 制碼」。一濾波器處理控制碼基本上係該濾波器驅動器可 用以轉送關聯一濾波器實體之資料至該抽象介面的一返 回地址。使用接收到之參數,一濾波器驅動器可產生一 「 濾波器環境(context)」與分配資源予一相關濾波器實體。 一關聯濾波器實體之濾波器環境於是可被轉送予該抽象 介面。該濾波器環境基本上係該抽象介面可用以轉送資料 至關於一相關濾波器實體之該濾波器驅動器的一返回地 址。 一濾波器實體可依據該接收參數插入該濾波器堆疊。該 濾波器驅動器可發送一狀態碼至該抽象介面,指明企圖將 該濾波器插入濾波器堆疊之結果。經由使用不同濾波器處 理控制碼,相同濾波器之多數獨立濾波器實體可被安裝於 一濾波器堆疊。所有這些操作可以減低拆離相關通信協定 堆疊或重設相關操作系統之方式執行。 在實際傳送資料期間,一濾波器實體依據由該濾波器實 體接收的一輸入資料封包,可執行一些但非所有相關之内 部濾波器操作。例如,當一濾波器實體接收到一 IP封包, 其可執行在濾波器實體接收到一 IPX封包時不執行的某 1282227 _ m I發明說明續頁 些濾波器操作。濾波器實體也可被設置以在「旁通」模態 内操作,其中一封包完全旁通關聯一通信路徑(諸如一資 料路徑或控制路徑)的一濾波器實體。此可增加該濾波處 理之效率,由於該處理器資源係未用以執行無關的濾波器 操作。 在下列說明中將公佈部分本發明的其他特點與優勢,且 有些部分從說明中就可理解,或者熟習本發明就可知道。 胃 藉由待審中的申請專利範圍内特別指出的元件與組合,可 馨, 實現並維持本發明的領域與優點。由下列說明與待審中的 申請專利範圍或者熟習以下將提出之本發明,本發明這些 與其他特點將會更加明顯。 實施方式 本發明可延伸至以節省處理器與網路資源之方法用於 過濾資料封包的系統、方法與電腦程式產品。一抽象介面 管理包括一或多數濾波器實體之一濾波器堆疊。各濾波器 實體可在接收自或發送至一網路之資料封包上執行濾波 H 器操作。一濾波器實體可依據一資料封包之特徵執行不同 之濾波器操作,或者封包可完全旁通一濾波器實體。此外 ' ,濾波器實體由濾波器堆疊加入或移出之方式可減低相 # 關通信協定堆疊必須重新啟動之可能。該易於交換濾波器 實體之能力(其可各執行不同之濾波器操作)導致許多不 同之濾波選擇。 為了在一濾波器堆疊增加或移出一濾波器實體,該濾波 器堆疊首先可能須暫停。暫停一濾波器堆疊可包括暫停包 -12- 1282227 (8) 發明說明續頁 括在該濾波器堆疊内的個別濾波器實體。當一濾波器堆疊 將暫停時,使用該濾波器堆疊以執行濾波器操作之通信協 定堆疊可被通知。當濾波器堆疊暫停時,可由一抽象介面 呼叫一濾波器驅動器以插入或移出一濾波器實體。在濾波 器實體插入或移出後,新設置之濾波器堆疊將被告知相關 通信協定堆疊。 在操作中,該抽象介面在傳輸層與資料鏈結層間操作以 處理將資料封包傳送至一濾波器堆疊。當該抽象介面由一 資料鏈結層接收一資料封包時,其由最靠近該資料鏈結層 之濾波器實體開始轉送該資料封包至該濾波器堆疊。該抽 象介面於是可依次地轉送該資料封包至靠近該傳輸層的 各個濾波器實體,直到該資料封包通過所有的濾波器模組 。該抽象介面於是可發送一經濾波之資料封包至一傳輸 層。 當該抽象介面由一傳輸層接收一資料封包時,其執行基 本上與上述相反順序之操作。該抽象介面由最靠近該傳輸 層之濾波器實體開始轉送該資料封包至該濾波器堆疊。該 抽象介面於是可依序地轉送該資料封包至較靠近該資料 鏈結層的各個濾波器實體,直到該資料封包通過所有的濾 波器實體。該抽象介面於是可發送一經濾波之資料封包至 一資料鏈結層。 在經由一濾波器堆疊傳送期間,不同之資料封包可由不 同之濾波器操作加以濾·波。此可依據該資料封包之特徵。 例如,網際網路通信協定(「IP」)封包可被依不同於網際網 -13 - 1282227 (9) 發明說明續頁 路工作封包交換(「IPX」)封包之方式加以濾波。以 濾波器操作濾波不同之資料封包,也可依據一資料 流動方向。意即,在由一資料鏈結層傳送至一傳輸 由一傳輸層至一資料鏈結層之資料封包上執行的 操作可能不同。 可能在一資料流方向資料封包完全旁通一濾、波 ,而同時在另一資料流方向封包並不完全旁通一 實體。例如,資料封包由資料鏈結層傳送至傳輸層 全旁通一濾波器實體,然而封包由傳輸層傳送至資 層係經濾波器實體加以濾波。除了資料封包,一濾 疊也可能經設置使得經濾波器堆疊之控制資訊行 通一濾波器實體。 本發明之具體實施例可包含一包括各種組件之 通用電腦,如下文之詳細說明。落入本發明範疇之 施例也可包括用於承載之電腦可讀媒體,或具有電 行指令或儲存於其上之資料結構。此電腦可讀媒體 由一專用或通用電腦存取之任何市售媒體。藉由例 限制,此電腦可讀媒體可包含RAM、ROM、EEPROM、 或其他光碟儲存、磁碟儲存或其他磁性儲存裝置, 可用電腦可執行指令或貢料結構以承載或儲存需 碼裝置之其他媒體,且其可由一專用或通用電腦4 當資訊透過一網路或另一通信連接(經由有線、 有線或無線之組合中任一者)傳送或提供至一電腦 電腦適當地視該連接為一電腦可讀媒體。因此,任 不同之 封包之 層與在 濾波器 器實體 濾波器 可能完 料鏈結 波器堆 完全旁 專用或 具體實 腦可執 可以是 示而非 CD-ROM 或任何 求程式 泰取。 無線、 時,該 何此類 -14- 1282227 _ (10) I發明說明續頁 之連接可稱為一電腦可讀媒體。上述之組合也可應被包括 在電腦可讀媒體之範疇。電腦可執行指令包含例如可造成 一專用電腦、通用電腦或專用處理裝置執行某些功能或功 能群組之指令與資料。 圖1與下文中之討論預期提供本發明可能實施的適當電 腦環境一簡要、一般性之說明。儘管非必須,本發明將描 述將由在網路環境内之電腦執行的電腦可執行指令之一 般環境,諸如程式模組。一般而言,程式模組包括執行特 殊工作或實施特殊抽象資料型別的常式、程式、物件、組 件、資料結構等。電腦可執行指令、相關資料結構與程式 模組代表用於執行在此揭示方法的步驟之程式裝置範例 。此可執行指令或相關資料結構之特別順序代表實施在 此步驟中描述之功能的範例。 熟習本技術者應瞭解本發明可在具有許多電腦系統設 置之網路電腦環境中實行,包括個人電腦、手持式裝置、 行動電話、個人數位助理(「PDA」)、多重處理器或系統、 微處理機為基礎或可程式消費者電子裝置、網路P C、微 型電腦、大型主機電腦與其他類似者。本發明也可經由一 通信網路在區域與遠端處理裝置經鏈結(藉由有線鏈結、 無線鏈結、有線或無線鏈結之組合中任一者)之分佈式電 腦環境中實施,且由區域與遠端處理裝置二者執行工作。 請參考圖1,一用於實施本發明之示範系統包括一習知 型式電腦120的通用電腦裝置,包括一處理單元121、一系 統記憶體122與耦合包括系統記憶體122至處理單元121之 -15 - 1282227 (11) I發明說明續頁 各種系統組件的一系統匯流排123。系統匯流排n3可為數 種型式之匯流排結構中任一,包括使用各種匯流排架構中 任一的一記憶體匯流排或記憶體控制器、一周邊匯流排與 一區域匯流排。系統記憶體可包括唯讀記憶體(「R〇M」)I% 與隨機存取記憶體(rRAM」)125。一基本輸入/輸出系統 (BIOS) 126,包含協助在電腦12〇元件間傳送資訊之基本常 式,諸如在開機時,可儲存於r〇m ι24中。
電腦120也可包括用於由一磁性硬碟丨39讀取及撰寫之一 硬碟驅動态127、用於由一可移式磁碟129讀取及撰寫之一 磁碟驅動态128及用於由一可移式光碟131(例如一 CD_R〇M) 或其他光學媒體讀取及撰寫之一光學驅動器13〇。硬碟驅 動器127、磁碟驅動器128及光學驅動器13〇可分別藉由一硬 碟驅動器介面132、一磁碟驅動器介面133、一光學驅動器 介面134連接至系統匯流排123。該驅動器與其相關電腦可 讀媒體提供用於電腦120之電腦可執行指令、資料結構、 程式模組與其他資料的不易失儲存。儘管在此描述之範例 環境使用一磁性硬碟139、一可移式磁碟129與一可移式光 碟13卜肖於儲存資料之其他型式的電腦可讀媒體均可使 用,包括卡E磁帶、快閃記憶卡、數值多用途碟片、伯努 利(Bernoulli)匣、RAM、ROM與其他類似者。 程式碼裝置包含一或多數可儲存於硬碟139、磁碟129、 光碟13卜ROM m或RAM m之程式模組,包括一操作系統 135、一或多數之應用程式136、其他程式模組137與程式資 料138。一使用者可經由鍵盤14〇、點取裝置142或其他輸入 -16- 1282227 (12) I發明說明續頁 裝置(未顯示),諸如一麥克風、搖桿、遊戲板、衛星碟、 掃目苗裔或類似者輸入命令與資訊於電腦120。這些及其他 輸入裝置通常經由耦合至系統匯流排123的一串列埠介面 146連接至處理單元121。或者,該輸入裝置可連接至其他 介面,諸如一並列埠、一遊戲接口或一通用串列匯流排「 USB」°顯示器147或另一顯示裝置也可經由如視訊適配器 148的〆介面連接至系統匯流排123。除了顯示器,個人電 腦通常包括其他周邊輸出裝置(未顯示),諸如喇 < 與印表 機0 電腦120可在使用邏輯連接至一或多數遠端電腦(諸如 遠端電腦149a與149b)的一網路環境中操作。遠端電腦149a 與149b可各為另一個人電腦 '一伺服器、一網路pc、一同 級裝置或其他共用網路節點。遠端電腦149&與149b可包括 許多或所有上述有關電腦12〇之元件,儘管只有記憶體儲 存裝置150a與150b及其相關應用程式136a*136b顯示於圖i 。圖1所示之邏輯連接包括在此示範而非限制的一區域網 路(LAN) 151與一廣域網路(WAN) 152。此網路環境係普遍的 公司範圍或企業範圍的雷Η盗細rkn xVrr , 呆粑图J ^ ^網路、内部網路與網際網路。 使用在一區域網路環境時,雷 包細120係經由一網路介面 適配器153或類似之適配器連接至 區域網路15:1。當使用在 一廣域網路環境中,電腦120可白 匕括一數據機154、一無線 鏈路或其他用於透過該廣域網路 32(例如網際網路)建立 通信之裝置。數據機154(可為内绪+二 知尺 建或或外接式)係經由串列 埠介面146連接至系統匯流排123 。在一網路環境中,有關 -17- 1282227 (13) 發明說明續頁 電腦1 2 0或其部份之程式模組可被儲存於遠端記憶體儲存 裝置中。應明白,如圖所示的網路連接是透過使用廣域網 路1 5 2示範性的網路連接,並且可使用其他裝置來產生電 腦間的通信連結。 在此說明與隨後之申請專利範圍中,一「無效常式」係 界定為一不執行任何工作之常式。一無效常式可為一程式 模組或電腦可執行指令組的一部份(包括用以接收資料的 一標頭)但對其接收之資料不執行任何操作。意即,由一馨 無效常式輸出之資料與輸入該無效常式之資料相同。 在此說明與隨後之申請專利範圍中,一「進入點」係界 定為在一程式模組或電腦可執行指令組一部份中的一位 置。外部程式模組可呼叫一進入點與發送輸入資料以利於 執行有關一進入點之指令。例如,一無效常式可具有一進 入點。
在此說明與隨後之申請專利範圍中,一 「系統暫存器」 係界定為一可由一操作系統用以儲存設置資訊之資料庫。 依據本發明,用以有助於濾波資料封包之程式模組(包 括抽象介面、濾波器堆疊、濾波器實體與濾波器驅動器以 及相關程式資料)可由任何有關電腦系統120之電腦可讀 媒體加以儲存與存取。例如,部份的抽象介面、濾波器堆 疊、濾波器實體、濾波器驅動器與包括於操作系統135、 應用程式136之程式資料,其他程式模組137及/或程式資料 138可儲存於磁性硬碟139。執行關於濾波資料封包之程式 模組可在如前述之分佈式環境中執行。例如,包括於一遠 -18- 1282227 _ (14) 發明說明續頁 端電腦裝置(諸如遠端電腦149a或149b)之一濾波器驅動器 ,可有助於插入濾波器實體於一包括在一區域處理裝置( 諸如電腦120)中之濾波器堆疊,或反之亦然。 圖2A所示係一些可被用以有助於插入一濾波器實體於 一濾波器堆疊之功能組件。如圖示,電腦201係通信耦合 至網路205。在電腦201與網路205間傳送之封包可行經包括 傳輸層通信協定202、抽象介面203與資料鏈結驅動器204的 · 一通信路徑。電腦201可包括在圖1之討論中所引述之組件 ·. 。網路205可包括任何在圖1之討論中引述之網路環境。 抽象介面203可與濾波器堆疊206與濾波器驅動器210通 信。當接收一資料封包時,抽象介面203可傳送該資料封 包至包括在濾波器堆疊206之各濾波器實體。如果一資料 封包係由傳輸層通信協定202接收,抽象介面203可轉送該 資料封包至濾波器實體207a,而於是其他濾波器模組靠向 貧料鍵結驅動裔204。如果一貢料封包係由貢料鍵結驅動 器204接收,抽象介面203可轉送資料封包至濾波器實體211a φ ,而於是其他濾波器模組靠向傳輸層通信協定202。 ♦ 抽象介面203可與濾波器驅動器210通信以有助於插入一 濾波器實體於濾波器堆疊206或由其移出一濾波器實體。 , 包括於濾波器驅動器210的是濾波器插入模組220、濾波器 開始模組221與濾波器暫停模組222。圖2Β所示係可能發生 在圖2 Α顯示之功能組件間的一些互動範例,其有助於插 入一濾波器實體於一濾波器堆疊。圖3所示係示範用於插 入一濾波器實體於一濾波器堆疊之方法的流程圖。圖3之 -19- 1282227 (15) 發明說明續頁 方法將參考圖2A與2B内之功能組件加以討論。 如圖3所示,插入一濾波器實體可由暫停一 之操作開始(動作301)。此可包括暫停目前在濾 作之個別濾波器實體。濾波器實體可藉由呼叫 模組而暫停。例如,濾波器暫停模組222可有 濾波器驅動器210插入於該濾波器堆疊之濾波 信協定堆疊可被告知該濾波器堆疊將會暫停 如圖2A所示,濾波器堆疊206包括灑波器實; 能先前已由濾波器驅動器210插入於濾波器堆 介面203可轉送資料至濾波器暫停模組222以使 210a(或其他由濾波器驅動器210插入濾波器堆 器實體)成一暫停狀態。當使一濾波器實體成 時,一濾、波器驅動器可執行某些操作。例如, 動器可導致關於一濾波器實體之佇列封包被f 關於濾波器實體之執行時間操作,及可延遲使 體成為一暫停狀態,直到未解決之封包與需求 實體加以處理。 濾波器實體可以串列方式予以暫停。例如, 輸層通信協定202之濾波器實體可先予暫停。 示,濾波器實體207a將是首先暫停之濾波器實 近傳輸層通信協定202之濾波器實體順利暫停 靠近的濾波器實體(即濾波器實體208a)可被暫 例中,如全部濾波器堆疊均將暫停,剩餘之濾 依下列順序予以暫停:208b、209a、210a與211a。 濾波器堆疊 波器堆疊操 一相關暫停 助於暫停由 器實體。通 〇 g 210a,其可 疊206 。抽象 濾、波器實體 疊206之濾波 一暫停狀態 一濾波器驅 I除、可停止 一濾波器實 已由濾·波器 一最靠近傳 在圖2 A中所 體。在最靠 後,次一最 ^[亭。#汰匕孽色 波器實體將 一旦濾波器 -20- 1282227 _ (16) 發明說明續頁 實體21 la(最靠近資料鏈結層之濾波器實體)順利地達成一 暫停狀態,濾波器堆疊206也可被視為處於一暫停狀態。 通信協定堆疊於是可被告知濾波器堆疊206已順利地暫停。 濾波器實體可關聯至「常式處理元」,其係用以有助於 發送、接收與要求資料封包之模組。在一具體實施例中, 暫停一濾波器實體也可能包括以無效常式交換常式處理 元。因此,資料封包之傳送可經由該無效常式而非真實之 常式處理元。例如,一資料封包可被發送至一無效常式而 籲 非一常式處理元用於接收一資料封包。交換可藉由一抽象 介面執行,以侯一濾波器實體無須在其於一暫停狀態下處 理任何新封包。 當設置一濾波器實體之操作時,該濾波器實體可能需要 被暫停。暫停一特定濾波器實體可藉由部份暫停一濾波器 堆疊而執行。意即,在濾波器堆疊中的一些濾波器實體被 暫停,而其他濾波器實體繼續操作。在這些情況下,可能 較靠近傳輸層之濾波器實體被暫停,而較靠近資料鏈結層 φ 之濾波器實體未被暫停。此可依一串列方式進行,其中較 靠近傳輸層之濾波器實體係在較靠近資料鏈結層之濾波 器實體前先被暫停。 例如在圖2A中,假設所有在濾、波器堆疊206中之濾波器 實體均正在操作。如果濾波器實體208b將接收設置參數, 則濾波器實體207a可能被暫停,隨後濾波器208a可被暫停 ,而後濾波器實體208b可能被暫停。然而,在設置濾波器 實體208b時,其他較靠近資料鏈結層之濾波器實體(包括濾 -21 - 1282227 (17) 發明說明續頁 波器實體209a、濾波器實體210a與濾波器實體211a)可繼 操作。 要開始一部份被暫停之濾波器堆疊時,最靠近資料鏈 層之暫停濾波器實體可首先重新開始,之後各靠近傳輸 之暫停濾波器實體則依一串列方式。在上述章節之範例 ,濾波器實體208b將重新開始,之後濾波器實體208a將 新開始,而後濾波器實體207a將重新開始。 圖3中之方法可包括重新設置包括於一濾波器堆疊之 作的步驟(步驟304)。此可包括執行插入一濾波器實體於 濾波器堆疊之動作,同時至少一通信協定堆疊能繼續傳 資料(動作302)且開始濾波器堆疊之操作(動作303)。插入 濾波器實體而同時通信協定堆疊能繼續傳送資料可促 沿一通信路徑有效傳送資料。 插入一濾波器實體於一濾波器堆疊可包括一濾波器 動器由一抽象介面接收參數。圖2 B之箭頭1示範抽象介 203發送參數至濾波器驅動器210。發送至濾波器驅動器2 之該參數可包括用以參照已產生濾波器實體的一濾波 處理控制碼。例如,如果包括在箭頭1之參數被用以產 濾波器實體210b,濾波器驅動器210可使用該濾波器處理 制碼以發送關於濾波器實體210b之資料予抽象介面203。 數也可包括一濾波器實體應插入一濾波器堆疊之位置。 圖2B中之範例,濾波器驅動器210可能已接收一參數, 指明濾波器實體210b應被插入濾波器實體208b與209a間。 插入一濾波器實體於一濾波器堆疊可包括產生一濾 續 結 層 中 重 操 該 送 進 驅 面 10 器 生 控 參 如 其 波 -22- 1282227 _ (18) I發明說明續頁 器實體環境。圖2B之箭頭2示範環境產生模組230產生濾波 器實體210b的一濾波器實體。一濾波器之多數實體可插入 於一濾、波器堆疊。例如,圖2B中所示係慮波器實體208a與 208b。相同之濾波器驅動器可能已插入濾波器實體208a與 208b於濾波器堆疊206。然而,濾波器實體208a與208b視用以 產生其之參數而可能有所不同。該濾波器實體環境可用以 分別濾波器實體,諸如由相同濾波器驅動器產生之濾波器 實體208a與208b。 插入一濾波器實體於一濾波器堆疊可包括分配資源予 濾波器實體。圖2B之箭頭3示範資源分配模組23 1分配資源 予濾波器實體210b。此可包括分配記憶體予濾波器實體以 操作與分配記憶體予資料封包佇列供濾波器實體用於處 理。當插入一濾波器實體於一濾波器堆疊時,這只是可被 分配之資源的範例。熟習本技術者在檢視本說明後,應明 白各種型式之資源將可分配予一濾波器實體使用。 插入一濾波器實體於濾波器堆疊可包括發送濾波器實 體環境予一抽象介面。圖2B之箭頭4示範濾波器驅動器210 發送濾波器實體210b之濾波器實體環境予抽象介面203。抽 象介面203可使用該濾波器實體環境作為濾波器實體210b 的一參考。例如,當抽象介面203發送關於濾波器實體210b 之資料予濾波器驅動器210時,該抽象介面203可包括該濾 波器實體環境。抽象介面203可使用該濾波器實體環境以 導致濾波器驅動器210獲悉所接收之資料是關於濾波器實 體 210b 。 -23 - 1282227 發明說明續頁 (19) 插入一濾波器實體於一濾波器堆疊可包括由一系統暫 存器讀取可設置參數。圖2B之箭頭5示範可設置參數存取 模組233由系統暫存器223讀取可設置參數。可設置參數存 取模組233可使用一先前接收之設置處理控制碼以進入系 統暫存器。一設置處理控制碼可能是一點取器或其他定址 機構,其引導可設置參數存取模組233至該系統暫存器的 一部份,其中參數關聯濾波器實體210b可能之位置。讀取 一系統暫存器可包括讀取代表一濾波器實體的一識別數 字。 在一具體實施例中,一濾波器驅動器登存於一抽象介面 係當其發送參數時可能發送一設置處理控制碼予該濾波 器驅動器,諸如圖2B之箭頭1所表示。該抽象介面可管理 登錄或轉送該登錄至一系統暫存器。另一選擇是,一濾波 器驅動器可直接暫存資料於一系統暫存器。 插入一濾波器實體於一濾波器堆疊可包括依據接收之 參數設置該濾波器實體。接收之參數可能已從一抽象介面 發送或由一系統暫存器讀取。圖2B中之箭頭6示範濾波器 插入模組220發送參數予設置濾波器實體210b。濾波器實體 可被設置以執行各種濾波器操作,例如監控資料封包、移 出、插入及/或修改資料封包内之資料、檢查有關資料封 包之地址、壓縮資料封包、加密資料封包或任何以上之組 合。 . 濾波器實體可被設置以過濾越過一虛擬私人網路(「VPN 」)傳送之資料封包。例如,透過網路205傳送之封包可經 -24- 1282227 (20) 發明說明續頁 由使得無實體出現之方式傳送。當資料封包係依序傳遞 正確目的之同時,該資料封包可被以特別之方式經由各 機器重定路徑。意即,無須實體線路專用於該連接。 濾波器實體也可被設置一進入點以接收能源管理(「 」)及/或即插即用(「PnP」)資料。當一電腦裝置由於未啟 而進入一備便模態時,相關之能源管理資料可被發送至 波器實體。同樣地,如果可影響資料流、封包的一周邊 置(諸如一網路介面卡)被插入於一電腦裝置,相關之資 可被發送至濾波器實體。 在一具體實施例中,濾波器實體可被設置以使用一管 介面。一管理介面可包括一使用者介面,其中一使用者 由一輸入裝置輸入有關於濾波器實體之參數。這些參數 由一濾波器驅動器接收且有助於設置一濾波器實體。此 之範例係如一使用者可設置防火牆。 設置一濾波器實體也可包括「聯結」一濾波器實體至 數個傳輸層通信協定。當一濾波器實體被聯結至一傳輸 通信協定時,其可過濾關聯該傳輸層通信協定之資料封 。例如,濾波器實體210b可被設置以過濾由圖2A中所示 A傳輸與B傳輸之資料封包。 應暸解先前描述之濾波器實體設置僅供示範。熟習本 術者在檢視本說明後,應明白濾波器實體可以相當多之 式加以設置。 插入一濾波器實體於一濾波器堆疊可包括確認一濾 器實體是否正確地插入一濾波器堆疊。此可包括發送一 至 種 PM 用 濾、 裝 料 理 經 是 類 複 層 包 之 技 方 波 插 -25 - 1282227 發明說明續頁 (21) 入狀態至一抽象介面。圖2B之箭頭7與8示範插入狀態模組 232接收濾波器實體210b之插入狀態的一確認,且發送該插 入狀態至抽象介面203。 回顧圖3,插入一濾波器實體於一濾波器堆疊可包括開 始操作該濾波器堆疊(動作303)。此可包括開始現正暫停之 個別濾波器實體。濾波器實體可藉由呼叫一相關之開始模 組而啟動。例如,遽波開始模組221可有助於啟動已由濾、 波器驅動器210插入於該濾波器堆疊之濾波器實體,諸如 濾波器實體210a與210b。通信協定堆疊可被告知該濾波器 堆疊即將被啟動。 抽象介面203可轉送資料至濾波開始模組221以引導由濾 波器驅動器210插入於濾波器堆疊206之濾波器實體210a、 210b或其他濾波器實體至一操作狀態。濾波器實體可以一 串列方式啟動。例如,一最靠近資料鏈結驅動器204(即濾 波器實體211a)之濾波器實體可先予啟動。在最靠近資料鏈 結驅動器204之濾波器實體順利啟動後,次一最靠近的濾 波器實體可被啟動。如圖2B中所示,此將是濾波器實體210a 。在此範例中,剩餘之濾波器實體將依下列順序開始啟動 :209a、210b、208b ' 208a與207a。一旦濾波器實體207a順利地 達到一操作狀態,濾波器堆疊206也可被視為在一操作狀 態。開始一濾波器堆疊也可包括以無效常式交換常式處理 元,使得資料封包可由濾波器堆疊206加以適當處理。通 信協定堆疊於是可被告知濾波器堆疊206在操作中。 可能全部暫停之一濾波器堆疊將部份重新開始。意即, -26- 1282227 發明說明續頁 (22) 在該濾波器堆疊中一些濾波器實體開始的同時,其他濾波 器實體維持暫停。此可能會發生之情形係當一濾波器堆疊 中一特定濾波器實體將重新開始時。在這些情況下,可能 較靠近資料鏈結層之濾波器實體重新開始,同時較靠近傳 輸層之濾波器實體維持暫停。此可依一串列方式進行,其 中較靠近資料鏈結層之濾波器實體係在較靠近傳輸層之 濾波器實體前先重新開始。 例如在圖2A中,假設所有在濾波器堆疊206中之濾波器 實體均正暫停。如果濾波器實體209a將重新開始,濾波器 實體211a可能先重新開始,隨後為濾波器實體210a,而後 為濾波器實體209b。其他靠近傳輸層之濾波器實體(包括濾 波器實體208b、濾波器實體208a與濾波器實體207a)可能維 持暫停。 應暸解圖2A與2B所示之模組與箭頭僅供示範。不同模組 與其相關功能可被組合而不脫離本發明之精神與範疇。例 如,濾波器驅動器210可能包括執行關於增加一濾波器實 體至一濾波器堆疊之操作的一單一模組。也可能濾波器驅 動器210係為抽象介面203之一部份。同樣地,圖2B中關於 箭頭之功能順序也僅為示範。圖2B關於箭頭之功能可有 許多不同之順序執行而而不脫離本發明之精神與範疇。熟 習本技術者在檢視本說明後,應明白模組與其相關之功能 可以相當多之方式組合使用。 除了插入一濾波器實體於一濾波器堆疊,本發明之具體 實施例可由一濾波器堆疊移出一濾波器實體。可能在由一 -27- 1282227 發明說明續頁 (23) 濾波器堆疊移出一濾波器實體時,該濾波器堆疊使用前述 之方法暫停與開始。 當由一濾波器堆疊移出一濾波器實體時,一遽波器驅動 器可釋出先前分配予該濾波器實體使用之資源。例如,抽 象介面203可發送資料至濾波器驅動器210指明濾波器實體 210b應由濾波器堆疊206移出濾波器實體。濾波器堆疊206 可被暫停而濾波器驅動器210可由濾波器堆疊206移出濾波 器實體210b。濾波器驅動器210於是可釋出分配予該濾波器 實體210b使用之資源。濾波器堆疊206於是可被啟動。相關 之通信協定堆疊可被告知該濾波器堆疊不再包括濾波器 實體210b之功能。 圖2C所示係可能有助於旁通關於一濾波器實體之濾波 器操作的一些功能組件範例。可依據有關一封包及/或設 置資訊之特徵旁通濾波器操作。旁通濾波器操作可包括一 封包完全旁通一濾波器實體與一接收之封包旁通一濾波 器實體一或多數内部濾波器操作。圖4所示係示範旁通至 少關於一濾波器實體之濾波器操作的方法之範例流程圖 。圖4中之方法將參考圖2C所包括之功能組件加以解說。 圖2C所示為濾波器實體210b,其係包括於濾波器堆疊206 。濾波器實體210b包括控制模組215與濾波器操作216a、216b 與216c。圖2C所示為一通信路徑,其中封包係由傳輸層傳送 至資料鏈結層。然而,本發明也可實施一通信路徑,其中 封包係由資料鏈結層傳送至傳輸層。一通信路徑可包括一 資料路徑而資料封包係越過一通信協定堆疊傳送,或一控 -28- 1282227 發明說明續頁 (24) 制路徑而控制封包係越過一通信協定堆疊傳送。 此控制路徑可包括要求與狀態指示。一要求可由一傳輸 層向下傳送至資料鏈結層。一要求可包括一網路介面適配 器(諸如網路介面適配器153)將接收多重傳播封包或將被 置於雜亂模態的一指示。一要求也可包括一詢問。例如, 一要求可詢問一網路介面適配器之媒體存取控制地址,或 一網路介面適配器目前是否正接收多重傳播封包。 一狀態指示可由資料鏈結層傳送至一傳輸層。一狀態指 示可包括來自資料鏈結層有關媒體目前是否連接的一指 示。 圖4之方法可包括處理一輸入封包之動作(動作401)。此 可包括濾波器實體210b接收封包240a。在圖2C中,封包240a 經由濾波器實體208b發送。在此示範具體實施例中,封包 240a沿由傳輸層通信協定202至資料鏈結驅動器204的一資 料路徑傳送。然而,此僅係示範,因資料封包也可能在沿 資料鏈結驅動器204至傳輸層通信協定202的一資料路徑上 被過濾。也可能沿一控制路徑傳送之封包被過濾。也可能 封包並未由濾波器實體依任何特定順序過濾。例如,一封 包可能由濾波器實體208a轉送至濾波器實體210a。一輸入 封包也可能是由一濾波器實體產生的一封包。 在一替代性具體實施例中,一由封包240c代表之封包可 被處理。封包240c之處理可決定封包240c之傳送係越過一 資料路徑或控制路徑,其完全旁通濾波器實體210b濾波器 操作。如圖2C所示,虛線箭頭所示之封包240c係由慮波器 -29- 1282227 (25) 發明說明續頁 實體208b直接傳送濾波器實體209a。封包240c可能旁通濾波 器實體210b,因為濾波器實體210b已被設置對於一資料路 徑或控制路徑係以「旁通」模態操作。 一濾波器實體可被抽象介面203設置以旁通模態操作。 一濾波器實體可在其初始啟動或在執行時間時被設置以 旁通模態操作。意即,初始未被設置為旁通模態之濾波器 實體隨後可被設定以旁通模態操作。在初始時,一濾波器 , 驅動器藉由在開始處理時對該資料路徑指明一 NULL處理 ·, 元,指明其希望一濾波器實體對於一或多數之資料路徑或 控制路徑以旁通模態開始。 在初始後與在執行時間中,一濾波器驅動器可能希望設 定一濾波器實體對一些資料路徑或一些控制路徑為旁通 模態。在該情形下,濾波器驅動器將要求抽象介面重新開 始該濾波器實體。該抽象介面於是將暫停該濾波器實體與 依據先前在本說明中示範之方法重新開始。當該濾波器實 體重新開始時,該濾波器驅動器藉由對旁通之路徑提供 · NULL·處理元,可指明濾波器實體將對一些資料路徑或控 制路徑以旁通模態操作。 一濾波器實體可被設置使得有關一些資料路徑或控制 * 路徑之封包旁通該濾波器實體,而有關其他資料路徑或控 制路徑之封包係由濾波器實體所接收。例如,一濾波器實 體可被設置以旁通旁通狀態指示,而仍接收其他型式之封 包。此可用抑制一應用程式不關注之媒體分離訊息而完成 。在另一例中,被沿資料鏈結層至傳輸層的一資料路徑傳 -30- 1282227 _ (26) I發明說明續頁 送的資料封包可被一濾波器實體接收,同時沿由傳輸層至 資料鏈結層的一資料路徑傳送之資料封包則旁通該濾波 器實體。 同理,目前對一資料路徑或控制路徑係在旁通模態之濾 波器實體,可能在執行時間中被設置對該資料路徑或控制 路徑接收封包。在這些情況下,一濾波器驅動器可要求抽 象介面203重新開始該濾波器實體。抽象介面203於是將依 , 據先前在本說明中示範之方法暫停與重新開始該濾波器 鲁, 實體。當該濾波器實體係重新開始,該濾波器驅動器可藉 由對現有之資料路徑提供一非NULL之處理元,以指明該 濾波器實體將由資料路徑或控制路徑接收封包。 設置一濾波器實體以在旁通模態操作或接收封包可由 一外部事件造成。例如,一使用者可經過與關聯一防火牆 的一管理介面,設置一濾波器實體對一些資料路徑以旁通 模態操作。此可在該濾波器實體濾波器操作會造成目前正 使用的一應用程式中斷之情況下完成。 _ 圖4中之方法可包括一步驟,用於傳送可能被一些但並 非所有包括於一濾波器堆疊之操作過濾的一輸出封包(步 驟404)。此可能包括執行旁通一或多數關於一濾波器實體 ’ 之濾波器操作的動作(動作402),與如果執行一濾波器操作 時發送一可能與輸入封包不同之輸出封包(動作403)。傳送 一旁通濾波器操作之封包可增加濾波處理之效率。 旁通一或多數關聯一濾波器實體之濾波器操作(動作 402),可包括旁通一或多數包含於一濾波器實體210b之濾 -31 - 1282227 發明說明續頁 (27) 波器操作。當濾波器實體210b接收資料封包240a,控制模 組215可分析資料封包240a之特徵。分析可包括決定一輸入 封包之貢料流方向。該貢料流之方向可由一貪料鍵結驅動 器至一傳輸層通信協定,或由一傳輸層通信協定至一資料 鏈結驅動器。分析也可包括決定關聯一輸入資料封包的一 通信協定,例如IP、TCP '網際網路工作封包交換(「IPX」) 、其他傳輸層通信協定或其他關聯開放系統互連(「OSI」) 模態之層面的通信協定。如果控制模組215決定資料封包 240a係與IPX有關,濾波器操作216a與216c可能被旁通。然而 ,如果控制模組215決定資料封包240a係與IP有關,濾波器 操作216b可能被旁通。 另一選擇是,可能濾波器實體210b係經設置而使封包沿 一完全旁通濾波器實體210b之資料路徑或控制路徑。如圖 2C所示,濾波器實體210b可經設置而使封包沿傳輸層至資 料鏈結層傳送的一資料路徑旁通濾波器實體210b。如果封 包240c係一資料封包,其將如虛線箭頭所示由濾波器實體 208b至濾波器實體209a而旁通濾波器實體210b。 也可能是儘管濾波器實體210b接收一封包,控制模組215 直接經由濾波器實體210b轉送該封包而未執行任何濾波 器操作。如果所有濾波器操作均以此方式旁通,資料封包 240a與資料封包240b可能實質上相同。 如果已執行一濾波器操作,發送可能與輸出資料封包不 同的一輸入資料封包(動作403)可包括發送具有已修改資 料的一資料封包。如果任何包括於濾波器實體210b之濾波 -32- 1282227 發明說明續頁 (28) 器操作被執行,資料封包240b可能與資料封包240a不同。 此可能發生當任何濾波器操作增加資料至資料封包240a 、由資料封包240a移出資料或修改包括於資料封包240a内 之資料。然而,如果未執行濾波器操作,資料封包240a與 資料封包240b可能實質上相同。 使用本發明之方法,資料封包可用能促進資料經由一通 信路徑有效流動的方式加以過濾。濾波器實體插入一濾波 器堆疊或由其移出時,相關之通信協定堆疊可維持資料之 傳送。當一濾波器堆疊之功能改變時,由於通信協定堆疊 未重建,此可節約處理器與網路之資源。由於濾波器實體 可被複數個通信協定使用,將有減低一電腦裝置内實行冗 餘邏輯之機會。此外,依據一資料封包及/或設置資訊之 特徵旁通濾波器操作,可減低無關之處理器操作被執行之 機會。 本發明可用其他特定形式來具體實施,而不會脫離本發 明的範疇及基本特性。所描述之具體實施例將被依全方位 加以考量且僅供示範而非限制。本發明之範疇因此係由隨 附申請專利範圍而非由前文之說明加以表明。所有由本文 申請專利範圍之等效意義與範圍所衍生之改變,將被包含 於其範疇中。 圖式簡單說明 為說明可獲得本發明上述及其他優勢特點中之方法,一 針對上述本發明内容而參考特定具體實施例之特別說明 將在待審之附圖中示範。應暸解這些經描述之圖式僅是本 -33 - 1282227 (29) I發明說明續頁 發明之典型具體實施例,且因此不應視為其範疇之限制, 經由使用隨附圖式本發明將可依附加之特性與細節加以 說明與解說,其中: 圖1示範用於本發明一適用操作環境的一處理系統範例。 圖2A示範有助於插入一濾波器實體於一濾波器堆疊的 一些功能性組件的一範例。 圖2B示範可在有助於插入一濾波器實體於一濾波器堆 疊的一些功能性組件間發生的一些互動的範例。 圖2C示範有助於旁通關聯一濾波器實體之濾波器操作 的一些功能性組件的範例。 圖3係顯示插入一濾波器實體於一濾波器堆疊之示範方 法的流程圖。 圖4係顯示旁通關聯一濾波器實體之至少一些濾波器操 作的示範方法之流程圖。 圖式代表符號說明 120 電腦 121 處理單元 122 記憶體 123 系統匯流排 124 唯讀記憶體 125 隨機存取記憶體 126 基本輸入/輸出系統 127 硬碟驅動器 128 磁碟驅動器介面 129 磁碟 130 光學驅動器 -34- 1282227 (30) 發明說明續頁 131 可移式硬碟 132 硬碟驅動器介面 133 磁碟驅動器介面 134 光學驅動器介面 135 操作系統 136 應用程式 136a 應用程式 136b 應用程式 137 其他程式模組 138 程式資料 139 硬碟 140 鍵盤 142 滑鼠 146 串列埠介面 147 監視器 148 視訊適配器 149a 遠端電腦 149b 遠端電腦 150a 記憶體儲存裝置 150b 記憶體儲存裝置 151 區域網路 152 廣域網路 153 網路介面 154 數據機 201 電腦 202 傳輸層通信協定 203 抽象介面 -35 - 1282227 (31) 發明說明續頁 204 資料鏈結層 205 網路 206 濾波器堆疊 2〇7a 濾波器實體 208a 濾波器實體 2〇8b 濾波器實體 2〇9a 濾波器實體 210 濾波器驅動器 210a 濾波器實體 210b 濾波器實體 211a 濾波器實體 220 濾波器插入模組 221 濾波器開始模組 222 濾波器暫停模組 223 系統暫存器 230 環境產生模組 23 1 資源分配模組
232 插入狀態模組 233 可設置參數存取模組 240a 封包 240b 封包 240c 封包

Claims (1)

128^3335673號專利申請案 u ’ 中文申請專利範圍替換本(96年1月)Ρ n Φ' -r^· - -: ,i;. ^-. ·; …' .......一—一.一….·,·.‘一 拾、申請專利範圍 1 · 一種在電腦裝置中用於插入一濾波器實體於一濾波器 堆疊而無須中斷相關通信協定堆疊之操作以致可節省 處理器與網路資源之方法,該電腦裝置可能經由一包括 一或多數關聯用於管理一濾、波器堆疊之一抽象介面的 通信協定堆疊之通信路徑耦合至一網路,該濾波器堆疊 包括一或多數之濾波器實體,其可在經由通信路徑傳送 之資料封包上執行濾波器操作,該方法包含·· 暫停該濾波器堆疊之操作的一動作; 插入該濾波器實體於該濾波器堆疊中同時至少一相 關之通信協定堆疊持續能夠傳送資料的一動作;及 開始該濾波器堆疊操作的一動作。 2. 如申請專利範圍第1項之方法,其中暫停該濾波器堆疊 之操作包含: 暫停一或多數包括於該濾波器堆疊内之濾波器實體 的一動作。 3. 如申請專利範圍第2項之方法,其中暫停包含於濾波器 堆疊之一或多數濾波器實體包含: 一或多數暫停常式接收指明該一或多數之濾波器實 體應被暫停之資料的一動作。 4. 如申請專利範圍第1項之方法,其中暫停一濾波器堆疊 之操作包含: 重新引導一被傳送資料封包至一送回該資料封包至 該通信路徑之無效常式而無須修改包括於該資料封包 82255-960126.doc
1282227 U ( 4 内之該資料的一動作。 5·如申請專利範圍第1項之方法,其中插入該濾波器實體 於該濾波器堆疊包含·· 插入使用由該抽象介面接收之參數加以設置之一濾 波器實體的一動作。 6. 如申請專利範圍第1項之方法,其中插入該濾波器實體 於該濾波器堆疊包含: 一濾波器驅動器接收可用以有助於傳送資料至一抽 象介面的一濾波器控制的一動作。 7. 如申請專利範圍第1項之方法,其中插入該濾波器實體 於該濾波器堆疊包含: 一濾波器驅動器為該濾波器實體分配資源的一動作。 8 ·如申請專利範圍第1項之方法,其中插入該濾波器實體 於該濾波器堆疊包含: 一濾波器驅動器為該濾波器實體產生一濾波器實體 環境的一動作。 9 ·如申請專利範圍第8項之方法,其中一濾波器驅動器為 該濾波器實體產生一濾波器實體環境包含: 一濾波器驅動器發送該濾波器實體環境至該抽象介 面的一動作。 10·如申請專利範圍第1項之方法,其中插入該濾波器實體 於該濾波器堆疊包含: 一濾波器驅動器登存資料於該抽象介面的一動作。 11.如申請專利範圍第1項之方法,其中插入該濾波器實體 於該濾波器堆疊包含: 82255-960126.doc -2-
1282227 U ( Λ 一濾波器驅動器登存資料於一系統暫存器的一動作。 12.如申請專利範圍第1項之方法,其中插入該濾波器實體 於該濾波器堆疊包含·· 插入一藉由使用自一系統暫存器接收之參數加以設 置之濾波器實體的一動作。 13·如申請專利範圍第1項之方法,其中插入該濾波器實體 於該濾波器堆疊包含: 插入該濾波器實體於該濾波器堆疊内一預設位置的 一動作。 14. 如申請專利範圍第1項之方法,其中插入該濾波器實體 於該濾波器堆疊包含: 插入能夠過濾透過虛擬連接傳送的資料封包之一濾 波器實體的一動作。 15. 如申請專利範圍第1項之方法,其中插入該濾波器實體 於該濾波器堆疊包含: 插入一包括一進入點以接收關聯該電腦裝置能源管 理的資料之一濾波器實體的一動作。 16·如申請專利範圍第1項之方法,其中插入該濾波器實體 於該濾波器堆疊包含: 插入一包括一進入點以接收關聯即插即用裝置的資 料之一濾波器實體的一動作。 17·如申請專利範圍第1項之方法,其中插入該濾波器實體 於該濾波器堆疊包含: 插入一包括可能經由一管理介面修改之性質的一濾 波器實體之一動作。 82255-960126.doc 1282227 % ί Λ
18. 如申請專利範圍第1項之方法,其中插入該濾波器實體 於該濾波器堆疊包含: 插入一濾波器實體於一被聯結至複數個傳輸層通信 協定之濾波器堆疊的一動作。 19. 如申請專利範圍第1項之方法,其中插入該濾波器實體 於該濾波器堆疊包含: 一濾波器驅動器確認該濾波器實體已插入於該濾波 器堆疊的一動作。 20. 如申請專利範圍第1 9項之方法,其中一濾波器驅動器確 認該濾波器實體已插入於該濾波器堆疊包含: 該濾波器驅動器發送一插入狀態至該抽象介面的一 動作。 21. 如申請專利範圍第1項之方法,其中開始操作該濾波器 堆疊包含: 開始一或多數包括於該濾波器堆疊之濾波器實體的 一動作。 22. 如申請專利範圍第21項之方法,其中開始一或多數包括 於該濾波器堆疊之濾波器實體包含: 一或多數之開始常式接收指明該一或多數之濾波器 實體應被開始之資料的一動作。 23. 如申請專利範圍第1項之方法,進一步包含: 告知相關通信協定堆疊該濾波器堆疊之操作行將暫 停的一動作。 24. 如申請專利範圍第1項之方法,進一步包含: 告知相關通信協定堆疊該濾波器堆疊現已包括該插 82255-960126.doc -4-
1282227 入之濾波器實體的一動作。 25. 如申請專利範圍第1項之方法,進一步包含: 告知相關通信協定堆疊該濾波器堆疊之操作即將開 始的一動作。 26. —種在電腦裝置中用於由一濾波器堆疊移出一濾波器 實體而無須中斷相關通信協定堆疊之操作以致可節省 處理器與網路資源之方法,於電腦裝置可能經由包括一 或多數關聯用於管理一濾波器堆疊之一抽象介面的通 信協定堆疊之一通信路徑通信耦合至一網路,該濾波器 堆疊包括一或多數濾波器實體,該方法包含: 暫停該濾波器堆疊之操作的一動作; 由該濾波器堆疊中移出該濾波器實體同時至少一相 關之通信協定堆疊持續能夠傳送資料的一動作;及 開始該濾波器堆疊之操作的一動作。 27. 如申請專利範圍第26項之方法,其中暫停該濾波器堆疊 之操作包含: 暫停一或多數包括於該濾波器堆疊内之濾波器實體 的一動作。 28·如申請專利範圍第27項之方法,其中暫停該一或多數包 含於該濾波器堆疊之濾波器實體的操作包含: 一或多數之暫停常式接收指明該一或多數之濾波器 實體應被暫停之資料的一動作。 29.如申請專利範圍第26項之方法,其中暫停一濾波器堆疊 之操作包含: 重新引導被傳送資料封包至一送回該資料封包至該 82255-960126.doc 1282227 通信路徑之無效常式的一動作。 30. 如申請專利範圍第26項之方法,其中由該濾波器堆疊移 出該濾波器實體包含: 暫停該濾波器實體的一動作。 31. 如申請專利範圍第26項之方法,其中由該濾波器堆疊移 出該濾波器實體包含: 一濾波器驅動器釋出關聯該濾波器實體之資源的一 動作。 32. 如申請專利範圍第26項之方法,其中開始該濾波器堆疊 之操作包含: 開始一或多數包括於該濾波器堆疊之濾波器實體的 一動作。 33. 如申請專利範圍第32項之方法,其中開始一或多數包括 於該濾波器堆疊之濾波器實體包含: 一或多數之開始常式接收指明該一或多數之濾波器 實體應被開始之資料的一動作。 34. 如申請專利範圍第26項之方法,進一步包含: 告知相關通信協定堆疊該濾波器堆疊之操作行將暫 停的一動作。 35·如申請專利範圍第26項之方法,進一步包含: 告知相關通信協定堆疊該濾波器實體已從該濾波器 堆疊移出的一動作。 36.如申請專利範圍第26項之方法,進一步包含: 告知相關通信協定堆疊該濾波器堆疊之操作即將開 始的一動作。 82255-960126.doc -6- 1282227 37. —種在電腦裝置中用於插入一濾波器實體於一濾波器 堆疊而無須中斷相關通信協定堆疊之操作以致可節省 處理器與網路資源之方法,於電腦裝置可能經由一包括 一或多數關於用於管理一濾波器堆疊之一抽象介面的 通信協定堆疊之通信路徑通信耦合至一網路,其可在經 由該通信路徑傳送之部份資料封包上執行濾波器操作 ,該方法包含: 暫停該濾波器堆疊操作的一動作;及 用於一在重新設置時可促進沿該通信路徑有效傳送 資料的一方式重新設置包括於該濾波器堆疊之濾波器 操作的一步驟。 38. —種在電腦裝置中用於過濾關聯該一或多數通信協定 堆疊的封包以致可節省處理器與網路資源之方法,於電 腦裝置可經由包括一或多數關於管理可能在封包上執 行濾波器操作之一或多數濾波器實體的一抽象介面之 通信協定堆疊之一或多數通信路徑通信耦合至一網路 ,該方法包含: 處理一輸入封包的一動作; 該輸入封包旁通一或多數關聯一濾波器實體之該濾 波器操作的一動作;及 發送可能與該輸入封包不同的一輸出封包的一動作 ,如果已執行一遽波器操作。 39. 如申請專利範圍第38項之方法,其中處理一輸入封包包 含: 處理關聯一資料鏈結層之一輸入封包的一動作。 82255-960126.doc -7-
1282227 40. 如申請專利範圍第38項之方法,其中處理一輸入封包包 含: 處理關聯一資料鏈結層驅動器之一輸入封包的一動 作。 41. 如申請專利範圍第38項之方法,其中處理一輸入封包包 含: 處理關聯一傳輸層通信協定之一輸入封包的一動作。 42. 如申請專利範圍第41項之方法,其中處理關聯一傳輸層 通信協定之一輸入封包包含: 處理關聯該傳輸控制通信協定之一輸入資料封包的 一動作。 43. 如申請專利範圍第41項之方法,其中處理關聯一傳輸層 通信協定之一輸入封包包含: 處理關聯該網際網路通信協定之一輸入資料封包的 一動作。 44. 如申請專利範圍第41項之方法,其中處理關聯一傳輸層 通信協定之一輸入封包包含: 處理來自一傳輸層驅動器之一輸入封包的一動作。 45. 如申請專利範圍第38項之方法,其中處理一輸入封包包 含: 處理沿著由一傳輸層至一資料鏈結層的一資料路徑 傳送之一資料封包的一動作。 46·如申請專利範圍第38項之方法,其中處理一輸入封包包 含: 處理沿著由一資料鏈結層至一傳輸層的一資料路徑 82255-960126.doc
1282227 傳送之一資料封包的一動作。 47.如申請專利範圍第38項之方法,其中處理一輸入封包包 含: 處理一控制封包的一動作,其包括要求資訊且被沿一 控制路徑傳送。 48. 如申請專利範圍第38項之方法,其中處理一輸入封包包 含: 處理一控制封包的一動作,其包括系統指示資訊且被 沿一控制路徑傳送。 49. 如申請專利範圍第38項之方法,其中該輸入封包旁通一 或多數關聯一濾波器實體之濾波器操作包含: 一接收之輸入封包旁通關聯包括於一濾波器堆疊内 的一濾波器實體之一或多數内部濾波器操作的一動作。 50. 如申請專利範圍第38項之方法,其中該輸入封包旁通一 或多數關聯一濾波器實體之濾波器操作包含: 一接收之輸入封包依據關聯該輸入封包之特徵旁通 一或多數關聯一濾波器實體之内部濾波器操作的一動 作。 51·如申請專利範圍第38項之方法,其中該輸入封包旁通一 或多數關聯一濾波器實體之濾波器操作包含: 該輸入封包完全旁通該濾波器實體的一動作。 52·如申請專利範圍第51項之方法,其中該輸入封包完全旁 通該濾波器實體包含: 該輸入封包因為該濾波器實體被設置對沿傳送該輸 入封包之該通信路徑以旁通模態操作而完全旁通該濾 82255-960126.doc -9-
1282227 f , i ( > 波器實體的一動作。 53. 如申請專利範圍第50項之方法,其中該輸入封包依據關 聯該輸入封包之特徵旁通一或多數關聯一濾波器實體 之一或多數濾波器操作包含·· 當一輸入封包係關聯一第一通信協定時旁通一第一 組之濾波器操作以及當一輸入封包係關聯一第二通信 協定時旁通一第二組之濾波器操作的一動作。 54. 如申請專利範圍第53項之方法,其中該第一組之濾波器 操作與該第二組之濾波器操作係不相同。 55·如申請專利範圍第38項之方法,其中如果已在該輸入封 包上執行一濾波器操作,發送可與該輸入封包不同的一 輸出封包包含: 發送一可能與該輸入封包不同之輸出封包的一動作 ,如果一濾波器操作已修改該輸入封包。 56. —種在電腦裝置中用於過濾關聯該一或多數通信協定 之封包以致可節省處理器與網路資源之方法,該電腦裝 置在一可經由一或多數包括關於用於管理一濾波器堆 疊之一抽象介面的一或多數通信協定堆疊之通信路徑 通信耦合至一網路,該方法包含: 接收一關聯一通信協定之輸入封包的一動作; 用於傳送可能已由包括於一濾波器堆疊的一些但非 全部濾波器操作過濾之一輸出封包的一步驟,以致於增 加該濾波器操作的效率。 57. —種在電腦裝置中用於過濾關聯該一或多數通信協定 之封包以致可節省處理器與網路資源之方法,該電腦裝 82255-960126.doc -10- 1282227 \ i) [ vt
置在一可經由一或多數包括關聯可在封包執行濾波器 操作之一或多數之濾波器實體的通信協定堆疊之一或 多數通信路徑通信耦合至一網路,該方法包含·· 一濾波器實體接收一輸入封包的一動作; 當該輸入封包係由一資料鍵結層越過一通信路徑傳 送至一傳輸層時旁通一第一組之濾波器操作,以及當該 輸入封包係由一傳輸層越過一通信路徑傳送至一資料 鏈結層時旁通一第二組之濾波器操作的一動作;及 如果已執行一濾波器操作,發送可與該輸入封包不同 的一輸出封包的一動作。 58·如申請專利範圍第57項之方法,其中該第一組之濾波器 操作與該第二組之濾波器操作係不相同。 59·如申請專利範圍第57項之方法,其中該通信路徑係一資 料路徑。 60.如申請專利範圍第57項之方法,其中該通信路徑係一控 制路徑。 61·—種在電腦裝置中用於過濾關聯該一或多數通信協定 之封包以致可節省處理器與網路資源之方法,該電腦裝 置在一可經由一或多數之通信路徑且其包括一或多數 關聯可執行濾波器操作於封包上之一或多數濾波器實 體的濾波器堆疊通信耦合至一網路,該方法包含: 處理一正越過一通信路徑傳送之封包的一動作; 該封包因為該第一濾波器實體已被設置對該通信路 徑以旁通模態操作而完全旁通該通信路徑一第一濾波 器實體的一動作;及 82255-960126.doc -11 - 1282227
該封包被該通信路徑中被設置以接收越過該通信路 徑傳送之封包的一第二濾波器實體接收的一動作。 62·如申請專利範圍第61項之方法,其中該封包因為該第一 濾波器實體已被設置對該通信路徑以旁通模態操作而 完全旁通該通信路徑一第一濾波器實體包含: 該封包因為該第一濾波器實體已被一抽象介面設置 對該通信路徑以旁通模態操作而完全旁通該通信路徑 一第一濾波器實體的一動作。 63·如申請專利範圍第62項之方法,進一步包含: 該抽象介面設置該濾波器實體以重新開始接收封包 的一動作。 64.如申請專利範圍第61項之方法,其中該封包因為該第一 濾波器實體已被設置對該通信路徑以旁通模態操作而 完全旁通該通信路徑中一第一濾波器實體的一動作包 含: 一輸入資料封包因為該第一濾波器實體已被設置對 一資料路徑以旁通模態操作而完全旁通在該資料路徑 中一第一濾波器實體的一動作。 65·如申請專利範圍第61項之方法,其中該封包因為該第一 濾波器實體已被設置對該通信路徑以旁通模態操作而 完全旁通該通信路徑中一第一濾波器實體的一動作包 含: 一輸入控制封包因為該第一濾波器實體已被設置對 一控制路徑以旁通模態操作而完全旁通在一控制路徑 中一第一濾波器實體的一動作。 82255-960126.doc -12- 1282227 私丨yf
66. —種用於實施插入一濾波器實體於該濾波器堆疊之電 腦程式產品,可經由包括一或多數關於用於管理一濾波 器堆疊之一抽象介面的通信協定堆疊之一通信路徑通 信耦合至一網路的電腦裝置中而無須中斷有關通信協 定堆疊之操作以致可節省處理器與網路資源的方法,該 電腦程式產品包含: 一電腦可讀媒體承載電腦可執行指令,當其在該電腦 裝置執行時導致該電腦裝置執行該方法,其包括: 暫停該濾波器堆疊操作的一動作; 插入該濾波器實體於該濾波器堆疊中同時至少一 相關之通信協定堆疊持續能夠傳送資料的一動作;及 開始該濾波器堆疊操作的一動作。 67. —種用於實施插入一濾波器實體於該濾波器堆疊之電 腦程式產品,可經由包括一或多數關於用於管理一濾波 器堆疊之一抽象介面的通信協定堆疊之一通信路徑通 信耦合至一網路的電腦裝置中而無須中斷有關通信協 定堆疊之操作以致可節省處理器與網路資源的方法,該 電腦程式產品包含: 一電腦可讀媒體承載電腦可執行指令,當其在該電腦 裝置執行時導致該電腦裝置執行該方法,包括: 暫停該濾波器堆疊操作的一動作; 由該濾波器堆疊移出該濾波器實體同時至少一相 關之通信協定堆疊持續能夠傳送資料的一動作;及 開始該濾波器堆疊操作的一動作。 68. —種用於實施插入一濾波器實體於該濾波器堆疊之電 82255-960126.doc -13-
IZ^OZ^Z^Z^ / 丨 丨 |‘H : Γ^ 腦程式產品,可經由包括一或多數關於用於管理一濾波 器堆疊之一抽象介面的通信協定堆疊之一通信路徑通 信耦合至一網路的電腦裝置中而無須中斷有關通信協 定堆疊之操作以致可節省處理器與網路資源的方法,該 電腦程式產品包含: 一電腦可讀媒體承載電腦可執行指令,當其在該電腦 裝置執行時導致該電腦裝置執行該方法,其包括: 處理一輸入封包的一動作; 該輸入封包旁通一或多數關聯一濾波器實體之該 濾波器操作;及 發送一可能與該輸入封包不同之輸出封包的一動 作,如果已在該輸入封包執行一滤波器操作。 82255-960126.doc 14-
TW091135673A 2001-12-11 2002-12-10 Methods for inserting a filter instance into a filter stack, removing a filter instance from a filter stack, and filtering packets associated with one or more protocols TWI282227B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/020,286 US7209971B1 (en) 2001-12-11 2001-12-11 Architecture and run-time environment for network filter drivers

Publications (2)

Publication Number Publication Date
TW200305322A TW200305322A (en) 2003-10-16
TWI282227B true TWI282227B (en) 2007-06-01

Family

ID=21797749

Family Applications (1)

Application Number Title Priority Date Filing Date
TW091135673A TWI282227B (en) 2001-12-11 2002-12-10 Methods for inserting a filter instance into a filter stack, removing a filter instance from a filter stack, and filtering packets associated with one or more protocols

Country Status (10)

Country Link
US (2) US7209971B1 (zh)
EP (1) EP1320238A3 (zh)
JP (1) JP4071098B2 (zh)
CN (1) CN1262941C (zh)
AR (1) AR037786A1 (zh)
BR (1) BR0205245A (zh)
CA (1) CA2413509C (zh)
MX (1) MXPA02012243A (zh)
RU (1) RU2298880C2 (zh)
TW (1) TWI282227B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7209971B1 (en) * 2001-12-11 2007-04-24 Microsoft Corporation Architecture and run-time environment for network filter drivers
JP4579623B2 (ja) * 2004-08-27 2010-11-10 キヤノン株式会社 情報処理装置及び受信パケットのフィルタリング処理方法
US7789919B2 (en) * 2006-10-19 2010-09-07 Sonoco Development, Inc. Combustible packages for containing a fuel source and a fire starter
US8040916B2 (en) * 2007-03-14 2011-10-18 Cisco Technology, Inc. Admission control for virtualized services in routers
US8713209B2 (en) * 2009-01-13 2014-04-29 Qualcomm Incorporated System, apparatus, and method for fast startup of USB devices
JP2010211388A (ja) * 2009-03-09 2010-09-24 Canon Inc 検索装置及び検索方法
DE112010005509T8 (de) * 2010-04-23 2013-05-16 Samsung Heavy Ind. Co., Ltd. Robotersystemsteuerverfahren und eine Vorrichtung davon
US8700896B1 (en) * 2010-08-25 2014-04-15 Symantec Corporation Techniques for automatic management of file system encryption drivers
US8621123B2 (en) 2011-10-06 2013-12-31 Honeywell International Inc. Device management using virtual interfaces
US8539123B2 (en) 2011-10-06 2013-09-17 Honeywell International, Inc. Device management using a dedicated management interface
US9069572B2 (en) 2012-07-27 2015-06-30 Prolific Technology Inc. Replacement of inbox driver with third party driver
JP5977860B1 (ja) * 2015-06-01 2016-08-24 エヌ・ティ・ティ・コミュニケーションズ株式会社 通信制御方法、通信制御装置及びプログラム
US10063414B2 (en) * 2016-05-13 2018-08-28 Cisco Technology, Inc. Updating a transport stack in a content centric network
CN111063230B (zh) * 2019-12-13 2021-09-10 中国人民解放军空军工程大学 一种模拟训练仿真系统动作过滤器

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10124979A (ja) 1996-10-11 1998-05-15 Sony Corp ディスクドライブ装置及びディスク記録/再生装置
US6205492B1 (en) * 1997-04-04 2001-03-20 Microsoft Corporation Method and computer program product for interconnecting software drivers in kernel mode
US6243753B1 (en) * 1998-06-12 2001-06-05 Microsoft Corporation Method, system, and computer program product for creating a raw data channel form an integrating component to a series of kernel mode filters
SE516175C2 (sv) * 1999-02-17 2001-11-26 Axis Ab Anordning och metod för kommunikation över ett nätverk
US6678734B1 (en) 1999-11-13 2004-01-13 Ssh Communications Security Ltd. Method for intercepting network packets in a computing device
US6801948B2 (en) 2000-12-15 2004-10-05 Hewlett-Packard Development Company, L.P. System and method for a streams based network access control for a computer
US7209971B1 (en) * 2001-12-11 2007-04-24 Microsoft Corporation Architecture and run-time environment for network filter drivers
US7418006B2 (en) * 2005-03-08 2008-08-26 Microsoft Corporation Virtual endpoints

Also Published As

Publication number Publication date
BR0205245A (pt) 2004-07-20
CN1424663A (zh) 2003-06-18
CA2413509A1 (en) 2003-06-11
EP1320238A3 (en) 2005-12-07
JP4071098B2 (ja) 2008-04-02
JP2003304269A (ja) 2003-10-24
EP1320238A2 (en) 2003-06-18
MXPA02012243A (es) 2004-12-13
CA2413509C (en) 2010-07-27
CN1262941C (zh) 2006-07-05
RU2298880C2 (ru) 2007-05-10
TW200305322A (en) 2003-10-16
US7209971B1 (en) 2007-04-24
AR037786A1 (es) 2004-12-01
US20060133275A1 (en) 2006-06-22

Similar Documents

Publication Publication Date Title
TWI282227B (en) Methods for inserting a filter instance into a filter stack, removing a filter instance from a filter stack, and filtering packets associated with one or more protocols
US7640382B2 (en) Virtual media systems, methods and devices
US7209972B1 (en) High speed data transfer mechanism
JP3251815B2 (ja) 対等サブシステム間のデータストリーミング機能を効率的に処理するコンピュータシステム
US7657787B2 (en) Method of restoring communication state of process
US20110145471A1 (en) Method for efficient guest operating system (os) migration over a network
TWI408934B (zh) 網路介面技術
WO2002031672A2 (en) Method and apparatus for interprocessor communication and peripheral sharing
US20050268068A1 (en) Method and system for transferring data in a storage operation
JP2008535099A (ja) 拡張割込み制御装置および合成割込みソースに関するシステムおよび方法
TWI360056B (en) Improvement of remote installation performance ove
JP6115331B2 (ja) トランザクション再開プログラム、情報処理装置及びトランザクション再開方法
US8681788B2 (en) Accelerating NDMP based virtual tape library operations
JP2007011673A (ja) ホスト間データ転送方法、プログラム及びシステム
JP6336602B2 (ja) パケットフロー制御方法、関連装置、及びコンピューティングノード
US6868437B1 (en) System and method for interprocess communication of remote procedure call messages utilizing shared memory
TW201113814A (en) Logically partitioned system having subpartitions with flexible network connectivity configuration
US20080259951A1 (en) Method and apparatus for unplanned and uninterrupted network adapter replacement
WO2004099984A1 (ja) プログラム処理システム及びプログラム処理方法、並びにコンピュータ・プログラム
US9384159B2 (en) Creating a checkpoint for a software partition in an asynchronous input/output environment
CN114328317B (zh) 一种提升存储系统通信性能的方法、装置及介质
JP2003330873A (ja) 情報処理装置及び入出力方法並びにプログラム
KR102523876B1 (ko) 가상화된 데이터를 배포하는 방법 및 그 시스템
JP2809169B2 (ja) 磁気ディスク装置の制御処理方法
JP2003167836A (ja) デバイスドライバ

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees