專利名稱:在兩種網絡訪問技術之間切換的方法和系統的制作方法
本申請要求序列號為No.60/157,289、1999年10月1日提交、題為“網絡訪問仲裁器”的美國臨時申請的優先權。
一般說來,本發明涉及通信網絡訪問技術,更詳細地說,涉及在不中斷現行網絡應用或會話的情況下在兩種不同的網絡訪問技術之間提供透明和自動的切換的系統和方法。
計算機網絡的出現在人們的日常活動中如何用計算機工作方面給世界帶來了革命性的變化。網絡化的計算機使用戶能夠共享各種不同的計算機資源并給用戶提供了極大的方便。今天不同的網絡訪問技術(NAT)同時并存,給用戶提供不同的網絡設計方案。例如,令牌環、以太網和無線電局域網都是眾所周知的廣為應用的網絡訪問技術。因此,很有可能利用不同網絡訪問技術的多種網絡一起位于一個服務于例如一個大公司的較大型的網絡之中。
這種不同網絡訪問技術共存的情況帶來了問題,若網絡的每一部分使用不同的網絡訪問技術,則在用戶從網絡的一部分切換到另一部分時,就會造成不希望有的延遲。例如,用戶的膝上電腦可能安裝了以太網卡和無線LAN(局域網)PCMCIA卡,用來提供對公司網絡訪問的兩種替代的網絡訪問手段。例如,考慮用戶在現行網絡會話的中途,例如在用戶辦公室通過以太網下載一個長文件的中途,用戶必須到另一個建筑物與同事會面,而且必須隨身帶上這個文件。若他必須等待該文件完全下載完畢,則他可能會面遲到。作為另一個方案,用戶可以中斷下載過程,并在會面處完全重新下載同一文件,在這里他必須重新建立網絡連接(或者在會面的房間內通過另一個以太網連接,或者在他的膝上電腦上通過無線局域網PCMCIA卡連接)。這兩種選擇都不理想,因為不是用戶遲到,就是要廢棄他離開他的辦公室之前所下載的一切。
當用戶必須在利用一種特定的NAT的同時與網絡斷開并通過不同的NAT重新建立另一種網絡連接時,必須發生某些過程。在任何一個遵循標準開放系統互連(OSI)-7層模型的網絡中,在不同層上的所有活動都必須終止。
現參見
圖1,其中示出標準OSI-7層協議棧10。分層的概念一般在現有技術上是已知的,而OSI標準是在由不同的銷售商制造的不同系統之間通信用的國際上唯一接受的標準框架。OSI-7分層協議棧10一般有7個不同的層次物理層(L1)12、數據鏈路層(L2)14、網絡層(L3)16、傳輸層(L4)18、會話層(L5)20和表現層(L6)22和應用層(L7)24。如圖1所示,L1處理通過通信線路傳輸數據的物理裝置,并且在網絡的環境下,通常涉及用于不同的NAT的各種網絡接口卡(NIC)26。L2涉及用于操作通信線路的程序和協議,并且在本實施例中是用于不同的NIC的相應的適配卡驅動程序軟件28。為了識別每一個NIC,通常把數據鏈路地址或L2地址賦予NIC。L3提供有關如何能夠完成數據分組路由選擇和中繼的信息30。這個信息可以包括諸如文件服務器或其他計算機等通信節點用的網絡或互聯網協議地址。L4定義信息交換用的規則,例如,有關諸如TCP/IP協議、UDP或ICMP等不同網絡協議32,L5,L6和L7更多地是網絡應用34專用的。所有這些層次都一起工作在諸如主機服務器的計算機硬件平臺36上。
現將參見圖2,其中示出用于終止使用第一NAT的第一網絡訪問并且切換到使用第二NAT的第二網絡訪問的流程圖40,全都在現行網絡應用在進行之中的情況下進行的。結束第一網絡訪問時,現行網絡應用被中斷。從分層的觀點看,首先在步驟42關閉涉及L5,L6和L7的現行網絡應用。然后在步驟44破壞相應的網絡連接(涉及L4和L3)。最后,在步驟46重新配置L2,L1中的網絡軟件和硬件以及計算機平臺。在步驟48必須利用新的NAT著手網絡連接,并且在步驟50必須再次重新啟動網絡應用。總而言之,為了從第一NAT切換到第二NAT,傳統技術必須從L7向下直至L1拆卸所有過程,然后從L1向上直至L7重新建立應用。這種漫長的過程給網絡計算造成極大的延遲和費用,而且大大降低網絡應用的效率。
需要的是,用來在不中斷現行網絡應用的情況下在不同的網絡訪問技術之間切換的方法和系統。
提供了一種在不中斷現行網絡應用或會話的情況下在不同的網絡訪問技術之間進行無縫切換的系統和方法。
以實現網絡通信的標準OSI-7層協議棧為例,本發明的一個實施例提供一種網絡訪問仲裁器(NAA)。NAA是一個虛擬網絡設備驅動程序,位于OSI-7層協議棧的數據鏈路層(L2)和網絡層(L3)之間,用來控制不同的網絡訪問技術之間必要的切換。由于所有的計算機網絡應用都由處于L3或L3以上的各個層次控制,所以,當NAA在網絡訪問技術之間切時,利用由L3(連接或無連接)提供的網絡服務的所有應用都將不中斷地繼續它們現行的網絡會話。
除了提供不同網絡訪問技術之間的切換以外,NAA還結合諸如IP中的IP、加封/去封、代理ARP、免費ARP等移動互聯網協議功能而工作。
圖1舉例說明標準OSI-7層協議棧的全貌;圖2舉例說明用于在兩個不同的網絡訪問技術之間切換的處理流程;圖3是按照本發明一個實施例的、網絡訪問仲裁器如何與OSI-7層協議棧不同的層次相互作用的圖形表示。
現將參照圖3,圖中示出按照本發明一個實施例的OSI-7層協議棧10的環境中的網絡訪問仲裁器(NAA)60。NAA60是位于L2和L3之間的虛擬適配器驅動程序,用來提供兩個不同的網絡訪問技術(NAT)之間的無縫網絡切換。在執行NAA60的情況下,在NAA60停止通過現存的NAT交換信息并轉向利用新的NAT時,各種現行網絡應用并不中斷。
在L2上的諸如主機服務器等計算機硬件平臺36上,有多個NAT可供使用,例如多個網絡接口卡(NIC)62連同它們相應的適配器驅動程序軟件(NICO至NICN)。NAA60插入L2和L3之間。NAA60保證L3只檢測到虛擬錨適配器驅動程序(Anchor),盡管有多個NIC62和適配器驅動程序安裝在計算機平臺36上。因此,L3以及L3以上的所有處理都察覺不到不同的NIC62和適配器驅動程序64。
在計算機平臺上所有可用的適配器或NIC62中,可以把一個特定的NIC初始設置為初始適配器。它的驅動程序于是便是初始適配器驅動程序。所有其它適配器及其驅動程序都被認為是非初始或次要的。最初,初始適配器驅動程序就是錨(Anchor)。
執行網絡應用時,初始適配器通常是用來提供網絡訪問的適配器。任何時刻,只有一個適配器或NIC是現用的。但是,由于有多種NAT可供使用,所以,現用網絡適配器可以是也可以不是初始適配器。現用適配器接收和發送所有互聯網協議(IP)數據分組,包括那些單播、多播或廣播格式的。但是非現用適配器將僅僅接收多播或廣播分組。此外,NAA60監視所有適配器62,并接收和發送只通過現用適配器的數據分組。因為NAA60位于L2和L3之間,所有利用L3網絡協議的網絡應用或通信只由NAA60處理,而不直接涉及任何L2網絡組件。換句話說,不讓L3知道實際上正在使用L2中的哪一個適配器驅動程序及其L1上相應的現行適配器,NAA60向現用適配器提供數據分組,或從其中檢索數據分組,不論它是連接在同一主機硬件平臺上的初始適配器還是任何其他適配器。因此,與L3網絡協議一起工作的現行網絡應用看到來自NAA60的恒定的數據流,并把輸出信息用的其他數據流送回NAA60,而察覺不到兩個NAT之間的轉換。
NAA60以不同的方式處理輸出的數據分組和輸入的數據分組。對于輸出的數據分組,若現用適配器是初始適配器,則數據分組不經改變地從NAA60被送到初始適配器,有特殊的加封必要時除外。若現用適配器是初始適配器以外的適配器,則在該數據分組被送往現用適配器之前,數據分組的硬件幀由NAA60加以改變,使得幀中的源硬件地址設為現用適配器的L2地址。
對于輸入分組,若接收的適配器是初始適配器,則數據分組不加改變地“直送”NAA60,有特殊的去封要求時除外。若接收適配器不是初始適配器,則在該數據分組通過NAA60之前,改變數據分組的硬件幀,使得硬件目的地址被設置為初始適配器的L2地址。這保證了L3(它任何時候都在檢測)看不到錨(Anchor)的變化。
此外,必須停用地址轉換協議(ARP)或將其適當處理,使得協議棧的ARP模塊不會把L3上單一的IP地址與多重L2地址混淆。例如,為了響應路由器送來的ARP請求消息,可以廣播消息以發布現用適配器的L2地址。
另外,對于NAA60重要的是在任何時刻確定哪一個網絡適配器或NIC是現用的。某些NIC及其相關的適配器驅動程序能夠指示連接或斷開的狀態。一般說來,檢測到斷開檢測結果所需的時間約為一秒,而檢測到連接約需6秒。這些時間閾值是NIC活動狀態的良好指示器。因而,NAA60能夠利用這些硬件狀態指示來獲得有關哪一個適配器是現用的信息。
另外,按照本發明一個實施例,NAA60裝有定時器,它以一秒為度中斷(fime out)。這種定時事件用來檢測輸入的數據分組的存在。若NAA60檢測到給初始適配器的數據分組,則初始適配器看來便是現用適配器。若在2秒的時間周期內NAA60檢測不到通過初始適配器的數據分組,但至少有一個在非初始或次要的適配器接收的數據分組,則該次要適配器用作現用適配器。NAA60把現用適配器看作是現用的,直至另一個現用適配器代替它為止。
在執行NAA60的情況下,用戶可以自由地從一個NAT切換到另一個,而不必憂慮任何現行網絡應用會被中斷。例如,如上所述,若用戶的膝上電腦裝有以太網卡和無線局域網PCMCIA卡,從而提供兩種對公司網絡可替換的網絡訪問手段,則當網絡訪問從以太網卡切換到PCMCIA卡時,網絡應用不會中斷。NAA60可以在初期時把以太網卡設置為初始適配器,而把PCMCIA卡設置為次要適配器。通過現用初始適配器下載文件的中途,若用戶必須到另一個建筑物參加會議,他只需拔去以太網連接的插頭,并通過無線PCMCIA卡啟動即可。然后用戶可以自由地去開會,而同時它的膝上電腦利用無線局域網的連接繼續下載會話。用戶將會按時到會,而且能夠毫不延遲地完成下載。
此外,NAA60可以用來與移動互聯網協議結合,以便允許移動裝置無縫地在具有不同的NAT的子網之間漫游。類似地,本發明還應用于利用基于無線訪問技術的不同分組的網絡。只要至少有兩種不同的NAT,本發明就能夠在提供從一個NAT到另一個NAT平滑的過渡的同時,保持現行網絡應用的完整性。
應該指出,除了提供不同的網絡訪問技術之間的切換之外,如上所述,NAA60還與諸如IP中的IP、加封/去封、代理ARP、免費ARP等另一個移動互聯網協議功能結合一起工作。
以上公開提供了許多不同的實施例,或實例,以實現本發明不同的特征。另外,描述組件的特定實例和處理是為了弄清本發明。這當然只是實例而已,并不準備限制本發明。
盡管已經參照其最佳實施例具體地顯示和描述了本發明,但是本專業的技術人員應該明白,在不脫離本發明的精神和范圍的情況下在形式上和細節上可以做出各種改變。
權利要求
1.一種用來在不中斷現行網絡應用的情況下在網絡化硬件平臺上在兩種不同的網絡訪問技術之間切換的方法,所述網絡化硬件平臺以數據分組形式發送和接收信息,所述方法包括以下步驟通過監視網絡化硬件平臺上可用的一個或多個網絡適配器的分組通信量和硬件狀態來確定現用網絡適配器;以及借助網絡訪問仲裁器動態地接合所述現用網絡適配器,以便處理至少一個數據分組;其中對于所述現行網絡應用來說,所述現用網絡適配器的接合是不可見的。
2.權利要求1的方法,其特征在于所述網絡訪問仲裁器定義一個被稱為網絡應用僅有的適配器驅動程序的虛擬錨適配器驅動程序,而不管在所述網絡化硬件平臺上有其他實際的適配器驅動程序可用。
3.權利要求2的方法,其特征在于還包括以下步驟把一個預定的網絡適配器指定為初始網絡適配器,用來提供網絡訪問;以及最初把所述虛擬錨適配器驅動程序設置為與所述初始網絡適配器相關的網絡適配器驅動程序。
4.權利要求3的方法,其特征在于還包括以下步驟把輸入的數據分組的硬件目的地址改變為所述初始網絡適配器的數據鏈路層地址;以及把輸出的數據分組的硬件源地址改變為現用網絡適配器的數據鏈路層地址。
5.一種用來在不中斷現行網絡應用的情況下在網絡化硬件平臺上在兩種不同的網絡訪問技術之間切換的方法,所述平臺通過至少兩個網絡適配器為網絡應用發送輸出的數據分組和接收輸入的數據分組,所述網絡適配器提供對網絡硬件平臺的訪問以執行所述網絡應用,所述方法包括以下步驟提供具有虛擬錨適配器驅動程序的網絡訪問適配器;把一個網絡適配器指定為初始網絡適配器;檢測現用網絡適配器;以及當對所述網絡硬件平臺的訪問從所述初始網絡適配器切換到所述現用網絡適配器時,借助所述網絡訪問仲裁器配置由所述現行網絡應用產生的數據分組,以便繼續進行所述網絡應用;其中所述網絡應用在訪問所述網絡化的硬件平臺時只檢測所述網絡仲裁器。
6.權利要求5的方法,其特征在于所述指定步驟還包括最初把所述虛擬錨適配器驅動程序配置為與所述初始網絡適配器相關的所述網絡適配器驅動程序的步驟。
7.權利要求5的方法,其特征在于所述配置步驟還包括以下步驟把所述輸出信息的數據分組的硬件源地址改變為所述現用網絡適配器的數據鏈路層地址;以及把所述輸入信息的數據分組的硬件目的地址改變為所述初始網絡適配器的數據鏈路層地址。
8.權利要求5的方法,其特征在于所述檢測步驟還包括從至少一個網絡適配器接收有關所述網絡適配器及其適配器驅動程序的連接或斷開狀態的信息的步驟。
9.權利要求8的方法,其特征在于還包括以下步驟設置定時器以便控制定時事件;和判斷在兩次相繼的定時事件過程中至少一個適配器是接收還是發送數據分組。
10.權利要求5的方法,其特征在于所述檢測的步驟還包括檢測所述初始網絡適配器是否現用的步驟。
11.一種用來在不中斷現行網絡應用的情況下利用網絡訪問仲裁器在網絡化硬件平臺上從第一網絡訪問技術切換到第二網絡訪問技術的方法,所述現行網絡應用以數據分組的形式通過所述網絡化硬件平臺發送輸出信息和接收輸入信息,所述第一網絡訪問技術利用第一網絡適配器驅動程序,而所述第二網絡訪問技術利用第二網絡適配器驅動程序,所述方法包括以下步驟利用所述第一網絡訪問技術來執行所述現行網絡應用;以及采用為發送輸出的信息和接收輸入的信息而在所述第一網絡適配器驅動程序和所述第二網絡適配器驅動程序之間進行仲裁的方法,通過網絡訪問仲裁器選擇所述第二網絡訪問技術來繼續現行網絡應用,而不必中斷所述網絡應用。
12.權利要求11的方法,其特征在于所述網絡訪問仲裁器具有虛擬錨適配器驅動程序,后者對現行網絡應用是可見的。
13.權利要求12的方法,其特征在于所述利用的步驟還包括以下步驟選擇所述第一網絡適配器作為初始網絡適配器;以及把所述錨適配器驅動程序配置成與所述第一網絡適配器相聯系。
14.權利要求11的方法,其特征在于所述選擇的步驟還包括以下步驟檢測何時所述第二網絡適配器是現用的;以及把所述輸出信息的數據分組的硬件源地址改變為所述第二網絡適配器驅動程序的數據鏈路層地址;以及把所述輸入信息的數據分組的硬件目的地址改變為所述第一網絡適配器驅動程序的數據鏈路層地址。
15.權利要求14的方法,其特征在于所述檢測步驟還包括從所述第二網絡適配器接收有關所述第二網絡適配器的連接或斷開的狀態的信息的步驟。
16.權利要求15的方法,其特征在于所述接收步驟還包括以下步驟設置定時器以便控制定時事件;和判斷在兩次相繼的定時事件過程中所述第二適配器是接收還是發送數據分組。
17.一種用來在不中斷活動著的網絡應用的情況下在網絡化硬件平臺上在兩種不同的網絡訪問技術之間切換的系統,所述平臺為所述網絡應用通過至少兩個網絡適配器發送輸出的數據分組和接收輸入的數據分組,所述系統包括用來把一個網絡適配器指定為初始網絡適配器的裝置;用來檢測現用網絡適配器的裝置;和網絡訪問仲裁器,它具有虛擬錨適配器驅動程序,用來把由所述現行網絡應用產生的數據分組配置成在對所述網絡硬件平臺的訪問從所述初始網絡適配器切換到所述現用網絡適配器驅動程序時,繼續所述網絡應用;其中所述網絡應用為訪問所述網絡化硬件平臺而只檢測所述網絡仲裁器。
18.權利要求17的系統,其特征在于所述指定的裝置還包括最初把所述虛擬錨適配器驅動程序配置成與所述初始網絡適配器相關的網絡適配器驅動程序的裝置。
19.權利要求17的系統,其特征在于所述網絡仲裁器還包括用來把所述輸出信息的數據分組的硬件源地址改變為現用網絡適配器的數據鏈路層地址的裝置;和用來把所述輸入信息的數據分組的硬件目的地址改變為初始網絡適配器驅動程序的硬件目的地址的裝置。
20.權利要求17的系統,其特征在于所述檢測用的裝置還包括從至少一個網絡適配器接收有關所述網絡適配器及其適配器驅動程序的連接或斷開的狀態的信息的裝置。
21.權利要求20的系統,其特征在于還包括以下步驟設置定時器以便控制定時事件;和判斷在兩次相繼的定時事件過程中所述至少一個適配器是接收還是發送數據分組。
22.權利要求17的系統,其特征在于所述檢測步驟還包括檢測所述初始網絡適配器是否現用的步驟。
23.一種用來在不中斷現行網絡應用的情況下在網絡化硬件平臺上的兩種不同的網絡訪問技術之間切換的計算機程序,所述網絡化硬件平臺用數據分組形式發送和接收信息,所述計算機程序包括通過監視分組的通信量和所述網絡化硬件平臺上可用的一個或多個網絡適配器的硬件狀態來確定現用網絡適配器的指令;以及用網絡訪問仲裁器動態地接后所述現用網絡適配器,以便處理至少一個數據分組的指令;其中對所述現用網絡適配器的接合對所述現行網絡應用是不可見的。
24.權利要求23的程序,其特征在于所述網絡訪問仲裁器定義一個被稱為對所述網絡應用來說是僅有的適配器驅動程序的虛擬錨適配器驅動程序,而不管在所述網絡化硬件平臺上存在其他實際可用的適配器驅動程序。
25.權利要求24的程序,其特征在于還包括把預定的網絡適配器指定為初始網絡適配器以便提供所述網絡訪問的指令;和最初把所述虛擬錨適配器驅動程序設置成與所述初始網絡適配器相關的網絡適配器驅動程序的指令。
26.權利要求25的程序,其特征在于還包括把輸入的數據分組的硬件目的地址改變為所述初始網絡適配器的數據鏈路層地址的指令;和把輸出的數據分組的硬件源地址改變為所述現用網絡適配器的數據鏈路層地址的指令。
全文摘要
一種在不中斷現行網絡應用或會話的情況下在不同的網絡訪問技術之間提供無縫切換的系統和方法。包括虛擬網絡適配器驅動程序的網絡訪問仲裁器(NAA)位于OSI-7層協議棧的數據鏈路層和網絡層之間,用來控制不同的網絡訪問技術之間必要的切換。由于所有網絡應用都由網絡層或其以上的各個層次控制,所以,當NAA在網絡訪問技術之間切換時,利用由網絡層提供的網絡服務的所有網絡應用都將不中斷地繼續它們現行的網絡會話或應用。
文檔編號H04L29/06GK1292534SQ0013164
公開日2001年4月25日 申請日期2000年9月30日 優先權日1999年10月1日
發明者D·L·烏爾克, L·Q·列, C·B·貝克爾, E·A·卡杜拉, R·C·科芬 申請人:北方電訊網絡有限公司