專利名稱:用于自動設備驅動程序配置的方法、系統和計算機可讀存儲介質的制作方法
技術領域:
本發明主要涉及分布式計算機環境。特別是涉及計算機網絡中計算機部件的配置。更特別的是,涉及網絡接口卡的自動檢測和識別。
背景技術:
計算機網絡通常容納了含有不同部件的設備。部件會由于單個計算機的特殊功用、銷售來源或部件時代、或部件更新時間的不同而不同。因此,計算機與計算機網絡連接的網絡接接口卡(NIC)也會不同。網絡管理員的任務之一就是更新網絡上使用的各種軟件,包括操作系統軟件和特殊的應用軟件。通常,為了更新單個計算機上的軟件,網絡管理員必須修改存儲在計算機中的系統和協議文件,以指定網絡驅動程序接口規范(“NDIS”)驅動程序和NIC的特征。這些特征通常包括PC的資源分配,如輸入/輸出(“I/O”)地址、存儲變換、直接存取存儲器(“DMA”)通道和中斷分配。在現代計算機設計中,這些資源由PC的基本輸入輸出系統(“BIOS”)進行動態分配,用以消除沖突。系統中的這些信息的硬件加密和協議初始化文件與這些動態分配標準是不兼容的。在整個計算機網絡上布置更新的操作系統時,配置的時間是相當長的,這是因為常用的辦法是使用不同的軟磁盤(“引導軟盤”)來支持整個網絡上不同配置,且布置是大量的手工處理過程。
固化在大多數NIC中的是符合現有IEEE標準的唯一介質訪問控制器(“MAC”)地址。該MAC地址能夠用來在配置過程中識別NIC。但是,在引導過程的初期訪問這些信息是會有問題的。用低級程序訪問這些信息通常需要對NIC的硬件設計有詳盡的了解。在PC產業中這些信息很難得到,而且訪問通常需要許可條款。
驗證NDIS驅動程序版本時會產生另外一個問題。在特殊NIC驅動程序組中提供的NDIS驅動程序是供應商所特有的。這些驅動程序通常進行過許多更新,這些更新通過儲如互聯網的不同渠道發出。驅動程序舊的和新的版本可能不具有必需的兼容性,因此為正確配置有必要通過測試來驗證。
檢測各種各樣的NIC所面臨的問題之一就是可能會執行非法操作而掛起進程。不同的行業委員會做出了巨大努力,想通過建立識別已安裝NIC的標準訪問方法來消除沖突。但是,有時仍沒有別的方法能夠代替直接硬件訪問法來檢測已安裝的外圍部件。不幸的是,直接硬件訪問法存在許多危險和缺陷。直接硬件訪問法包括在不確定的區域內訪問存儲器和I/O空間以檢測當前的硬件注冊表或NIC中說明該設備的存儲器結構。但是,如果在該空間內駐留有其它設備,該設備的響應是不確定的。不確定的響應通常導致引導過程的中斷,如意料不到的中斷或掛起總線信號。
美國專利5,852,722,“主網絡計算機自動配置的系統和方法”,提出了通過在存儲于服務器中的本地服務提供者的目錄中查尋,確定本地服務提供者信息的系統和方法。客戶計算機說明信息同樣也可以從數據庫中得到并被服務器計算機所使用。客戶計算機從服務器計算機中下載本地服務提供者信息和配置信息以便進行自身配置并與本地服務提供者建立連接。但是’722專利沒有解決網絡接口卡檢測的問題。
這樣,就仍需要一種快速配置網絡計算機的方法和裝置,能對不同的NIC進行檢測和識別而不產生非法操作。
發明內容
本發明針對上面討論的問題,提出了一種方法和裝置,它能完成設備驅動程序配置以及自動檢測和識別已安裝的NIC,且能減小產生非法操作使檢測進程掛起的可能性。NIC識別后,本發明驗證并加載適合該NIC的軟件。
本發明的一個方面是,提供了一種自動配置至少有一個網絡接口卡的計算機的方法,其步驟包括a)應用至少一種標準化的訪問方法來識別計算機內的至少一個網絡接口卡;b)獲取標準化訪問方法的應用信息;c)根據第一個信息,加載適當的網絡接口卡軟件到計算機。
本發明的另一個方面是,提供了一種自動配置至少有一個網絡接口卡的計算機的方法,其步驟包括a)應用至少一種標準化的訪問方法來識別計算機內的至少一個網絡接口卡;b)獲取標準化訪問方法的應用信息;c)對上述計算機應用至少一種直接硬件訪問方法來識別計算機內的至少一個網絡接口卡;d)獲取直接硬件訪問方法應用的第二個信息;e)根據第二個信息,加載適當的網絡接口卡軟件到計算機。
本發明的另一個方面是,提供了一種配置其它至少含有一個網絡接口卡的計算機的計算機系統,該計算機系統包括a)用來接收配置計算機請求的第一個接口;b)連接到第一個接口的處理器;c)包含有能夠由處理器執行的指令的存儲器;d)用來在處理器和其它計算機間傳遞網絡接口卡信息的第二個接口。
本發明的另一個方面是,提供了一種計算機裝置使用的計算機可讀存儲介質,當由計算機裝置執行時,該包含計算機指令的介質能夠a)應用至少一種標準化的訪問方法來識別計算機內的至少一個網絡接口卡;b)響應標準化訪問方法的應用,獲取信息;c)根據第一個信息,加載適當的網絡接口卡軟件到計算機。
本發明的另一個特征是,提供了一種計算機裝置使用的計算機可讀存儲介質,當被計算機裝置執行時,該包含計算機指令的介質能夠a)應用至少一種標準化的訪問方法來識別計算機內的至少一個網絡接口卡;b)響應標準化訪問方法的應用獲取信息;c)對上述計算機應用至少一種直接硬件訪問方法來識別計算機內的至少一個網絡接口卡;d)響應直接硬件訪問方法的應用,獲取第二個信息;e)根據第二個信息,加載適當的網絡接口卡軟件到計算機。
本發明的其它的功能和優點會結合附圖進行更詳細的說明。
下面根據具體實施例對本發明進行說明,參考附圖包括圖1說明的是能夠用本發明進行自動配置的計算機網絡;圖2A和2B為本發明的一個實施例的方法中操作步驟的流程圖;圖3為高級方框圖,說明的是本發明的實施例中計算機系統的主要部件。
詳細說明參見圖1,分布式計算機網絡100連接了多個網絡客戶處理設備,如計算機102a-102e和服務器計算機104。在優選實施例中,客戶計算機102主要為臺式計算機,如PC機或工作站,但也可以包括其它各種用途的特殊計算機,如打印機、掌上型計算機、掃描儀或類似設備。每個客戶計算機102和服務器計算機104均含有NIC,使它們能夠通過網絡連接進行相互間的通信,如以太網、令牌環網或其它在網絡中鏈接計算機的適當的技術或結構。后面參照圖3中的計算機系統300會對客戶計算機102和服務計算機104進行詳細說明。每個計算機中的NIC可能會來自不同的制造商或同一制造商的不同型號,因此在計算機中應保留不同的設備驅動程序以運行NIC。在較大的計算機網絡中,每臺計算機可能由它的硬件和軟件配置唯一地識別。當計算機加入到分布式網絡100中時,如不拆卸和檢查硬件,并逐行地檢查存儲器中的設備驅動程序,這個唯一的配置很難確定。
由于這個原因,在優選實施例中,便攜介質105用來實現本發明。引導軟盤或其它通常使用的介質可用來啟動以控制計算機102。在另一個優選實施例中,本發明可以在連接到客戶計算機102上的服務器計算機104中實現。在設備介質上執行時,本發明實施例中的自動檢測和配置過程很容易實現,在本發明的另外實施例中,將自動檢測和配置過程合并到服務器計算機104中就可以緊跟在自動檢測和識別過程后面定制操作系統和應用程序軟件。而且,在服務器計算機104上實現本發明允許在網絡處于低通信量或沒被使用時,完成檢測和配置過程,這樣在配置進程被掛起或需要進行大規模軟件升級時可以減小資源浪費。下面說明的方法是參照通常所知的基于DOS的文件進行說明的,但可以進行修改以使本發明適用于其它操作系統。
圖2A和2B說明的是完成對已安裝的NIC進行自動檢測和識別步驟的合理次序,該過程由本發明的優選實施例執行。有關NIC配置和標準化訪問方法的更多信息請參見Douglas T.Anderson的《網絡接口技術指南》(The Network Interface Technical Guide)。
從步驟202開始,客戶計算機102從引導軟盤105或通過網絡連接108的服務器計算機104加載DOS。繼續到步驟204,客戶計算機102加載并執行DETPCIC.SYS驅動程序。如熟悉本技術的人們所知,DETPCIC.SYS為標準化的訪問算法并用來檢測PCIC總線的NIC。檢測的PCIC信息記錄在客戶計算機102的存儲器325中。步驟208,如果由config.sys指定,客戶計算機102加載OEM PC卡點啟動程序。它取決于客戶計算機102的配置。在步驟210中,引導軟盤105中其余的內容傳遞到RAM驅動器A(存儲器325)。如果實施例應用的是服務器,本步驟為選擇項。在步驟212中,客戶計算機102調用AUTOEXEC.EXE。大多數基于的DOS系統都會在autoexec.exe文件中調用自檢。如果用/unsupported參數調用AUTOEXEC.EXE(步驟214),控制轉到步驟215,介質訪問控制器(MAC)為隨機的。步驟214和步驟215為可選擇步驟,當需要手動來編輯NIC配置,而其它方法不能完成對該NIC的配置時,該步驟可以用來從自動檢測中跳出。然后到步驟216,客戶計算機102退出控制,用手動調整文件來完成配置過程,而不進行NIC的自動檢測。
但是,如果支持自動檢測,控制將繼續到步驟218,讀取客戶計算機102中的文件NICINFO.TXT,如對本技術熟悉的人們所知,該文件含有網絡接口卡的信息。控制然后繼續到步驟220,其中BIOS調用DETPCIC.SYS來檢測外圍部件接口(“PCI”)設備。如果沒有發現PCI設備(步驟221),控制繼續到步驟222,客戶計算機執行直接硬件訪問方法,如低級I/O模塊來檢測集成系統結構即插即用(“ISAPnP”)網絡控制器。此時進行測試以檢測當前是否有使用PCIC兼容控制器的設備,最后檢測ISA原有板。但如果發現了PCI設備,控制繼續到步驟224(圖2B),客戶計算機102建立NIC信息數組。控制然后進行步驟226,使用NIC信息數組和可能的NIC列表,比較廠商的ID和卡的ID。如果在列表中沒有檢測到的NIC(步驟227),控制繼續到步驟228,顯示檢測到的NIC的標識符并將其寫入文件,控制返回。但是如果檢測到的NIC在列表中,且如果有一個以上的NIC被發現(步驟229),控制繼續到步驟230,客戶計算機102提供菜單來選擇NIC。在步驟232中,客戶計算機102獲得一個可能的NIC的菜單選擇,控制繼續到步驟234,驗證并使用與選擇出的NIC相對應的驅動程序。另外,如果僅發現一個NIC,則使用該NIC的驅動程序。繼續步驟236,將NIC的參數寫入文件。在步驟238中,執行網絡100啟動操作的程序NETSTART。控制繼續到步驟240,NDISINF.DOS的地址被綁定到存儲器325的網絡堆棧中。控制然后進行步驟242,引導程序繼續,直至登錄到服務器計算機104。
如果上述步驟由服務器計算機104執行,服務器計算機104會立刻用適合檢測出的NIC的文件,下載操作系統或應用軟件。
圖3為計算機系統實施例的高級框圖,該計算機系統含有的計算機程序能夠使計算機系統完成本發明的方法。計算機系統300包括處理器330和存儲器325。處理器330可以含有單微處理器,也可以含有多個微處理器而將計算機系統配置為多處理器系統。存儲器325,在某種程度上,存儲處理器330執行的指令和數據。如果本發明的系統整個或部分地在軟件中完成,包括計算機程序310,在運行中存儲器325存儲可執行代碼。存儲器325可以包括動態隨機存取存儲器(DRAM)組和高速緩沖存儲器。系統300還包括大量存儲驅動器335、網絡接口卡340、輸入設備355、便攜存儲介質驅動器360、圖形子系統370和顯示器385。簡單起見,圖3所示部件表示為通過單總線380連接。但是,部件可以通過一種或多種數據傳輸裝置連接。例如,處理器330和存儲器325可以通過本地微處理器總線連接,大量存儲驅動器335、網絡接口卡340、便攜存儲介質驅動器360和圖形子系統370可以通過一個或多個輸入/輸出(I/O)總線連接。大量存儲驅動器335,主要由磁盤驅動器或光盤驅動器來實現,為非易失存儲設備,用來存儲處理器330所使用的數據和指令。本發明的方法也可以存儲在處理器330中。便攜存儲介質驅動器360與便攜式非易失存儲介質,如軟盤或其它計算機可讀介質一起,用來向或從計算機系統330中輸入和輸出數據和代碼。輸入設備355提供一部分用戶接口。輸入設備355可包括一個字母-數字鍵盤以輸入字母-數字和其它鍵信息,或包括一個指點設備,如鼠標、跟蹤球、輸入筆或光標方向鍵。為了顯示文字和圖形信息,計算機系統300包括圖形子系統370和顯示器385。顯示器385包括一個陰極射線管(CRT)顯示器、液晶顯示器(LCD)、其它適當的顯示設備,或其它能夠使用戶與計算機程序交互的顯示裝置。圖形子系統370接收文字和圖形信息并處理信息以便輸出到顯示器385。另外,系統300包括輸出設備345。適宜的輸出設備包括揚聲器、打印機和類似的設備。計算機系統300中的設備均為一般用途計算機系統中使用的設備,而且均表示為本技術領域所熟悉的能涵蓋此類計算機部件的類型。
盡管本發明的說明與上述具體實施例相關,顯然熟練的專業人員可以進行各種轉換、修改和改變。因此,前面所描述的本發明的優選實施例應當是說明性的且不僅限于此。所做的各種改變不會脫離本發明的宗旨和范圍。
權利要求
1.自動配置至少有一個網絡接口卡的計算機的方法,其步驟包括a)應用至少一種標準化的訪問方法到計算機來識別網絡接口卡;b)響應標準化訪問方法的應用獲得信息;c)響應所述信息,加載適合所述網絡接口卡的軟件到所述計算機。
2.根據權利要求1的方法,其特征在于,所述應用步驟也包括對所述計算機應用至少一種直接硬件訪問方法以識別網絡接口卡。
3.根據權利要求1的方法,還包括檢測多個網絡接口卡,并允許從要配置的所述多個接口卡中進行選擇的步驟。
4.根據權利要求1的方法,包括驗證步驟,即驗證所述軟件是否適合所述計算機和所述網絡接口卡。
5.自動配置至少有一個網絡接口卡的計算機的方法,其步驟包括a)應用至少一種標準化的訪問方法到所述計算機以識別至少一個網絡接口卡;b)響應所述標準化訪問方法的所述應用獲取第一個信息;c)如果所述第一個信息未能識別所述網絡接口卡,應用至少一種直接訪問方法來識別至少一個網絡接口卡;d)響應所述直接硬件訪問方法的所述應用獲取第二個信息;e)響應第二個信息,加載適合所述網絡接口卡的軟件到計算機。
6.根據權利要求5的方法,還包括檢測多個網絡接口卡,并允許從要配置的所述多個接口卡中進行選擇的步驟。
7.根據權利要求5的方法,包括驗證步驟,即驗證所述軟件是否適合所述計算機和所述網絡接口卡。
8.服務器計算機系統,用來配置至少有一個網絡接口卡的客戶計算機,所述服務器計算機系統包括a)用來接收配置所述計算機請求的第一個接口;b)存儲器;c)連接到所述存儲器和所述第一個接口的處理器;d)由所述處理器執行的指令,所述指令存儲在所述存儲器中;e)第二個接口,連接所述服務器計算機系統到所述客戶計算機,用來在所述客戶計算機和所述服務器計算機間傳送網絡接口卡的配置信息。
9.用于計算機裝置的計算機可讀存儲介質,當由所述計算機裝置執行時,該包含計算機指令的介質能夠a)應用至少一種標準化的訪問方法來識別至少一個網絡接口卡;b)響應所述標準化訪問方法的所述應用獲取信息;c)響應所述信息,加載適用于所述網絡接口卡的軟件到計算機。
10.用于計算機裝置的計算機可讀存儲介質,當由所述計算機裝置執行時,該包含計算機指令的介質能夠a)應用至少一種標準化的訪問方法來識別至少一個網絡接口卡;b)響應所述標準化訪問方法的所述應用獲取第一個信息;c)如果所述第一個信息未能識別網絡接口卡,應用至少一種直接訪問方法來識別至少一個網絡接口卡;d)響應所述直接硬件訪問方法的所述應用獲取第二個信息;e)響應所述第二個信息,加載適用于所述網絡接口卡的軟件到所述計算機。
全文摘要
對已安裝的NIC(340)進行自動檢測和識別的方法、系統和計算機可讀存儲介質,且能將產生非法操作而掛起檢測過程的可能性降至最低程度。當NIC(340)被識別后,加載適用于該NIC(340)的軟件。NIC(340)的自動檢測和識別可以通過在目標計算機(102a-102e)中插入便攜介質,如軟盤(105),來完成,并在啟動時執行檢測程序,或用服務器計算機(104)執行程序,以檢測并識別通過網絡連接(108)連接到服務器(104)的計算機(102a-102e)內安裝的NIC(340)。
文檔編號G06F13/10GK1384931SQ00812519
公開日2002年12月11日 申請日期2000年8月1日 優先權日1999年8月2日
發明者戈登·W·吉弗德, 蘭達爾·K·麥克西爾 申請人:計算機聯合思想公司