專利名稱:用于調試以太網(wǎng)的方法和系統(tǒng)的制作方法
技術領域:
本發(fā)明一般地涉及數(shù)據(jù)處理系統(tǒng),更特別地涉及調試(debug)以太網(wǎng)設備和驅動程序(driver)。
背景技術:
以太網(wǎng)是可以用于在建筑物或校園內互連計算機、打印機、服務器以及其它計算機設備的網(wǎng)絡標準。這種設備通過網(wǎng)絡利用以太網(wǎng)分組(packet)發(fā)送信息。以太網(wǎng)分組通常含有同步前置碼、目的地址、源地址、可變長度數(shù)據(jù)字段以及其它信息??梢酝ㄟ^以太網(wǎng)電纜,例如絞合線、同軸電纜或光纜,發(fā)送以太網(wǎng)分組。在另一種方法中,可以利用無線電波、紅外或其它無線通信裝置,發(fā)送以太網(wǎng)分組。
個人計算機是可以通過以太網(wǎng)進行通信的網(wǎng)絡設備的一個例子。利用通常被稱為以太網(wǎng)適配器的硬件,可以實現(xiàn)個人計算機通過以太網(wǎng)進行的這種通信。以太網(wǎng)適配器是一種將網(wǎng)絡設備連接到以太網(wǎng)電纜或其它傳輸媒體的單元。與和個人計算機相關聯(lián)的許多其它印刷電路板類似,以太網(wǎng)適配器也需要軟件驅動程序,以便與操作系統(tǒng)和其它計算機硬件一起正常工作。關于以太網(wǎng)適配器,軟件驅動程序通常被稱為以太網(wǎng)設備驅動程序。以太網(wǎng)適配器還可以被稱為以太網(wǎng)控制器。
在諸如AIX的某些操作系統(tǒng)中,以太網(wǎng)設備驅動程序將所有驅動程序錯誤跟蹤記錄到系統(tǒng)跟蹤表內,該系統(tǒng)跟蹤表駐留在內核存儲器上。啟用調試跟蹤導致喪失性能,因此根據(jù)默認不啟用調試跟蹤。為了避免犧牲性能,需要用戶干預,以記錄調試跟蹤。例如,在AIX操作系統(tǒng)中,開發(fā)人員可以在Unix命令行中鍵入命令“entstat-t”,以打開以太網(wǎng)設備驅動程序的調試跟蹤。為了診斷問題,開發(fā)人員可以檢查所存儲的調試跟蹤信息,并利用該信息和內核轉儲(kerneldump),以便有助于識別發(fā)生系統(tǒng)崩潰的原因。然而,在許多情況下,在開發(fā)人員可以檢查所存儲的調試跟蹤信息之前,開發(fā)人員必須重新引導系統(tǒng)、打開調試跟蹤,以存儲信息,并嘗試重新產生問題,以便可以檢查所存儲的信息。這種故障排除方法耗時,并且在重復導致系統(tǒng)崩潰的征兆時,通常不成功。
由于為對諸如以太網(wǎng)適配器的特定設備進行故障排除分配的存儲器的容量有限,涉及內核系統(tǒng)崩潰轉儲的本系統(tǒng)受到限制。因此,如果以太網(wǎng)設備驅動程序或以太網(wǎng)適配器存在問題,則在調試跟蹤中,開發(fā)人員只能使用有限數(shù)量的信息進行分析。此外,這種信息通常只有在重新引導系統(tǒng)后嘗試重新產生系統(tǒng)崩潰之后才可用。通常,在調試問題時,開發(fā)人員必須要求其客戶機啟用調試跟蹤,嘗試重新產生問題,然后,將跟蹤表轉發(fā)給開發(fā)人員。這種過程耗時,并且通常無效。此外,如果以太網(wǎng)產生致命錯誤,則跟蹤表內的各跟蹤的可能沒有足夠的信息來調試問題。
需要一種用于對以太網(wǎng)適配器和以太網(wǎng)設備驅動程序進行故障排除(troubleshoot),以使開發(fā)人員能夠在系統(tǒng)崩潰發(fā)生之前識別問題的來源的改進型方法和設備。
發(fā)明內容
本發(fā)明通過提供一種方法來滿足上述要求,所述方法通過啟用以太網(wǎng)錯誤跟蹤并檢測不正確以太網(wǎng)適配器功能來檢測以太網(wǎng)適配器錯誤。本發(fā)明實施例進一步在檢測到不正確以太網(wǎng)適配器功能時,遞增計數(shù)器。將計數(shù)值與閾值進行比較,并且如果計數(shù)值大于或者等于該閾值,則啟用調試跟蹤。在檢測到正確以太網(wǎng)適配器功能時,該計數(shù)器遞減。在另一個實施例中,如果計數(shù)器等于0或者某個其它閾值,則禁用調試跟蹤。
為了更好地理解下面對本發(fā)明所做的詳細說明,上面非常廣泛地概括了本發(fā)明的特征和優(yōu)點。下面將說明本發(fā)明的其它特征和優(yōu)點,它們構成本發(fā)明權利要求的主題。
為了更全面理解本發(fā)明及其優(yōu)點,現(xiàn)在,將結合附圖參考下面的說明,其中圖1是分布式數(shù)據(jù)處理系統(tǒng)的圖解表示;圖2示出用于實現(xiàn)本發(fā)明的說明性硬件環(huán)境;圖3是示出本發(fā)明實施例的各步驟的流程圖;圖4是典型操作系統(tǒng)體系結構的示意圖;圖5是操作系統(tǒng)的典型跟蹤設施的示意圖;以及圖6是示出本發(fā)明實施例的各步驟的流程圖。
具體實施例方式
在下面的描述中,說明了大量具體細節(jié),例如,特定閾值等,以便有助于理解本發(fā)明。在其它例子中,省略了一些對全面理解本發(fā)明不必要的細節(jié),因為這些細節(jié)在相關技術領域內的普通技術人員的知識范圍內。通常根據(jù)以太網(wǎng)適配器、以太網(wǎng)設備驅動程序以及AIX操作系統(tǒng),描述在此討論的實施例和例子。這些實施例和例子在于僅用于說明問題,而無意使權利要求局限于特定類型的網(wǎng)絡適配器和特定操作系統(tǒng)環(huán)境。
現(xiàn)在,參考圖1,圖1示出可以實現(xiàn)本發(fā)明的分布式數(shù)據(jù)處理系統(tǒng)的圖解表示。分布式數(shù)據(jù)處理系統(tǒng)100是可以實現(xiàn)本發(fā)明的計算機網(wǎng)絡。分布式數(shù)據(jù)處理系統(tǒng)100包括網(wǎng)絡102,網(wǎng)絡102是用于分布式數(shù)據(jù)處理系統(tǒng)內100在連接在一起的各種設備與計算機之間提供通信鏈路的媒體。網(wǎng)絡102可以包括永久連接,例如,線路或者光纜;以及通過電話連接或無線連接進行的臨時連接。
在所示的例子中,服務器104與存儲單元106一起連接到網(wǎng)絡102。此外,客戶機108、110以及112也連接到網(wǎng)絡102。這些客戶機108、110以及112可以是例如個人計算機、打印機或網(wǎng)絡計算機。對于本申請,網(wǎng)絡計算機可以是連接到網(wǎng)絡上的任意計算機,它從連接到該網(wǎng)絡的另一個計算機接收程序或其它應用。在所示的例子中,服務器104將諸如引導文件、操作系統(tǒng)圖像以及應用的數(shù)據(jù)送到客戶機108-112??蛻魴C108、110和112是服務器104的客戶機。分布式數(shù)據(jù)處理系統(tǒng)100可以包括未示出的附加服務器、客戶機以及其它設備。在本發(fā)明的實施例中,通過各以太網(wǎng)適配器,客戶機108、110和112可以連接到網(wǎng)絡102。此外,通過以太網(wǎng)適配器,服務器104也可以連接到網(wǎng)絡102,并且網(wǎng)絡102可以包括以太網(wǎng)電纜,用于在服務器104與客戶機108、110和112之間發(fā)送以太網(wǎng)分組。圖1是作為一個例子,而不是要限制本發(fā)明系統(tǒng)的體系結構。
圖2示出用于實現(xiàn)本發(fā)明的說明性硬件環(huán)境。數(shù)據(jù)處理系統(tǒng)213可以是例如圖1所示的客戶機計算機108。現(xiàn)在,參考圖2,所示的數(shù)據(jù)處理系統(tǒng)213的典型硬件配置具有中央處理單元(CPU),例如,傳統(tǒng)的微處理器;以及大量其它單元,通過系統(tǒng)總線212互連。數(shù)據(jù)處理系統(tǒng)213可以包括隨機存取存儲器(RAM)214、只讀存儲器(ROM)216以及輸入/輸出(I/O)適配器218,該適配器218用于將諸如磁盤單元220和磁帶驅動程序240的外圍設備連接到總線212。數(shù)據(jù)處理系統(tǒng)213可以包括用戶接口適配器222,用于將鍵盤224、鼠標226和/或者其它諸如觸摸屏設備的用戶接口設備(未示出)連接到總線212。此外,處理系統(tǒng)213可以包括通信適配器234,用于將數(shù)據(jù)處理系統(tǒng)213連接到數(shù)據(jù)處理網(wǎng)絡;以及顯示適配器236,用于將總線212連接到顯示器238。CPU 210可以包括在此未示出的其它電路系統(tǒng),它們包括通常建立在微處理器內的電路系統(tǒng),例如,執(zhí)行單元,總線接口單元、算術邏輯單元等。CPU 210還可以駐留在單個集成電路上。通信適配器234可以是諸如以太網(wǎng)適配器的任何網(wǎng)絡適配器。磁盤單元220可以是任何計算機可讀介質,并且可以用于存儲與本發(fā)明有關的網(wǎng)絡適配器驅動程序。
諸如AIX的操作系統(tǒng)的跟蹤設施(trace facility)用于檢測運行的設備驅動程序和系統(tǒng)。跟蹤設施獲取時間戳系統(tǒng)事件的順序流,并且可以提供關于系統(tǒng)活動的詳細細節(jié)。按時間順序并在其它事件的上下文中顯示事件。在展開跟蹤事件信息,以理解事件如何以及為什么發(fā)生時,該跟蹤設施有用。
通過監(jiān)視選擇的系統(tǒng)事件,該跟蹤設施可幫助開發(fā)人員隔離系統(tǒng)問題??梢员O(jiān)視的事件包括到選擇的子例程、內核例程、內核擴展例程以及中斷處理器的入口(entry)和出口(exist)。當跟蹤設施活動時,關于這些事件的信息被記錄到系統(tǒng)跟蹤日志文件或跟蹤表中。該跟蹤設施包括用于激活并控制跟蹤以及產生跟蹤報告的命令。應用和內核擴展可以利用幾個子例程記錄附加事件。AIX內的缺省跟蹤文件是/var/adm/ras/trcfile??梢詫⒃摳櫛泶鎯Φ酱鎯ζ?14的一部分上,存儲器214的該部分被內核預留用作內核存儲器。
諸如AIX的操作系統(tǒng)設置了許多預定跟蹤掛鉤標識符。跟蹤掛鉤標識符(trace hook identifier)還可以被稱為事件標識符。在內核系統(tǒng)崩潰轉儲中,可以存在具有來自許多不同設備驅動程序的跟蹤點的系統(tǒng)跟蹤表。跟蹤掛鉤標識符將跟蹤點的源(origin)告訴開發(fā)人員。跟蹤掛鉤標識符可以是3位十六進制數(shù),它用于識別正跟蹤的事件。對于獲取的關于發(fā)送分組、接收分組以及其它參數(shù)的信息,以太網(wǎng)設備驅動程序可以具有唯一的跟蹤掛鉤標識符。
AIX操作系統(tǒng)內的“entstat”命令顯示規(guī)定的以太網(wǎng)設備驅動程序采集的統(tǒng)計數(shù)字。Entstat命令的用途包括提供與以太網(wǎng)設備驅動程序和以太網(wǎng)適配器的功能有關的統(tǒng)計數(shù)字。開發(fā)人員可以利用該統(tǒng)計數(shù)字確定聯(lián)網(wǎng)系統(tǒng)內的潛在問題。利用“entstat”命令可以獲得的典型統(tǒng)計數(shù)字包括“Packet”,該設備成功發(fā)送的分組的數(shù)量;“Byte”,該設備成功發(fā)送的字節(jié)的數(shù)量;“Interrupt”,該驅動程序從適配器接收的發(fā)送中斷的數(shù)量;“Transmit error”,在該設備上遇到的輸出錯誤的數(shù)量;“Packets Dropped”,該設備驅動程序為了傳輸接收的未送到該設備的分組的數(shù)量;“Max Packet on S/W Transmit Queue”,曾經(jīng)排隊到軟件發(fā)送隊列中的外出分組的最大數(shù)量;“S/W Transmit QueueOverflow”,使軟件發(fā)送隊列溢出的外出分組的數(shù)量;“CurrentS/W+H/W Transmit Queue Length”,軟件發(fā)送隊列上的或硬件發(fā)送隊列上的未決外出分組的數(shù)量;“Broadcast Packet”,無差錯發(fā)送的廣播分組的數(shù)量;“Multicast Packet”,無差錯發(fā)送的多播分組的數(shù)量;“NoCarrier Sense”,因為沒有載波檢測錯誤造成的不成功傳輸?shù)臄?shù)量;“DMA Underrun”,因為DMA欠運行錯誤造成的不成功傳輸?shù)臄?shù)量;“Lost CTS Error”,因為喪失清除發(fā)送信號錯誤造成的不成功傳輸?shù)臄?shù)量;“Max Collision Error”,因為沖突太多造成的不成功傳輸?shù)臄?shù)量;“Late Collision Error”,因為新近的沖突錯誤造成的不成功傳輸?shù)臄?shù)量;“Deferred”,傳輸期間被延遲的外出分組(在試圖發(fā)送幀時,適配器必須延遲)的數(shù)量;“SQE Test”含有傳輸期間成功進行的“信號質量錯誤”測試(即,心跳(Heartbeat))的數(shù)量;“Timeout Error”,因為適配器報告超時錯誤造成的不成功傳輸?shù)臄?shù)量;“Single CollisionCount”,在傳輸期間遇到單個(唯一一個)沖突的外出分組的數(shù)量;“Multiple Collision Count”在傳輸期間遇到多個沖突的外出分組的數(shù)量;“Current HW Transmit Queue Length”,當前存在于硬件發(fā)送隊列上的外出分組的數(shù)量;“CRC Error”,存在校驗和(FCS)差錯的到來分組的數(shù)量;“DMA Overrun”,存在DMA過運行錯誤的到來分組的數(shù)量;“Alignment Error”,存在校準錯誤的到來分組的數(shù)量;“No Resource Error”,因為無資源錯誤而由硬件丟棄的到來分組的數(shù)量;“Receive Collision Error”,接收期間存在沖突錯誤的到來分組的數(shù)量;“Packet Too Short Error”,具有指出該分組大小小于以太網(wǎng)最小分組大小的長度錯誤的到來分組的數(shù)量;“Packet Too Long Error”,具有指出該分組的大小大于以太網(wǎng)最大分組大小的長度錯誤的到來分組的數(shù)量;“Packets Discarded by Adapter”,因為任何其它原因而被硬件丟棄的到來分組的數(shù)量;以及“Receiver Start Count”,該適配器上的接收機(接收單元)被啟動的次數(shù)。
除了這些情況,關于正確功能,還可以監(jiān)視其它情況。監(jiān)視這些情況對開發(fā)人員提供關于以太網(wǎng)適配器的正確功能的統(tǒng)計數(shù)字。然而,以太網(wǎng)設備驅動程序可以自動訪問或產生該統(tǒng)計數(shù)字,以確定聯(lián)網(wǎng)系統(tǒng)的正確功能。在確定通過聯(lián)網(wǎng)系統(tǒng)進行通信的網(wǎng)絡適配器的正確功能時,本發(fā)明的實施例自動訪問這些統(tǒng)計數(shù)字。
除了向開發(fā)人員提供統(tǒng)計數(shù)字外,采用帶有“-t”標志的“entstat”命令可以在某些以太網(wǎng)適配器設備驅動程序中打開調試跟蹤。在本發(fā)明之前,AIX環(huán)境下的開發(fā)人員可以使用“entstat”命令,人工切換與以太網(wǎng)適配器有關的調試跟蹤。本發(fā)明的實施例是以太網(wǎng)設備驅動程序,其在檢測到以太網(wǎng)適配器或以太網(wǎng)設備驅動程序的一部分上存在不正確功能時自動啟用調試跟蹤。這種系統(tǒng)向開發(fā)人員提供更容易調試問題的信息,而無需人工切換調試跟蹤。此外,這種系統(tǒng)使得開發(fā)人員不必重新啟動系統(tǒng)、啟用調試跟蹤以及嘗試重新產生問題。
圖3是示出本發(fā)明實施例的各步驟的流程圖。在步驟302,啟用以太網(wǎng)錯誤跟蹤。在某些操作系統(tǒng)中,根據(jù)缺省啟用錯誤跟蹤。在步驟304,初始化用于對錯誤進行計數(shù)的變量。在步驟306,監(jiān)視以太網(wǎng)適配器的功能。在結合AIX操作系統(tǒng)運行的實施例中,以太網(wǎng)適配器驅動程序通過訪問entstat命令自動監(jiān)視功能。在該變換例中,在步驟306,以太網(wǎng)適配器可以通過調用為了訪問以太網(wǎng)適配器的功能特性而編寫的其它子例程、功能或宏來監(jiān)視功能。在實施例中,以太網(wǎng)適配器驅動程序可以將觀察到的功能與存儲的功能特性的數(shù)據(jù)庫進行比較。通過這樣做,以太網(wǎng)適配器驅動程序可以確定以太網(wǎng)適配器是否在正常運行。如果在步驟308檢測到錯誤,則在步驟310,該計數(shù)器遞增??赡苡|發(fā)該系統(tǒng)以遞增錯誤計數(shù)器的可能錯誤的例子是丟棄的鏈路(dropped link)、發(fā)送超時、未要求的(unclaimed)中斷、凍結PCI總線或者在此討論的其它錯誤。如果錯誤計數(shù)器達到閾值,則在步驟314啟用調試跟蹤。圖3所示的步驟312表示確定是否達到閾值。例如,開發(fā)人員可以規(guī)定,在25個異常行為實例之后,啟用調試跟蹤。圖3中未示出的另一個步驟是找到(target)可疑問題的跟蹤。如果在步驟308未檢測到錯誤,則在步驟322,該計數(shù)器遞減。這種任選步驟是使開發(fā)人員能夠利用以太網(wǎng)適配器的正面行為彌補負面行為,以防止對基本上正常運行的系統(tǒng)啟用調試跟蹤的一種方式。如果在步驟320,計數(shù)器到達0或者第二閾值,則在步驟318,禁用調試跟蹤,然后,該系統(tǒng)返回步驟306,以進一步監(jiān)視以太網(wǎng)適配器。如果在步驟320,該計數(shù)器不等于0或者小于第二閾值,則在該調試跟蹤仍被啟用的情況下,該系統(tǒng)繼續(xù)在步驟306開始監(jiān)視該行為。
現(xiàn)在,參考圖4,簡化示意圖示出操作系統(tǒng)內核404如何與硬件406和用戶級空間(user level space)402交互。內核404可以包括幾個子部分,所述子部分包括例如虛擬文件系統(tǒng)418、設備驅動程序416、存儲器管理414。存儲器管理414可以執(zhí)行包括對各進程分配存儲區(qū)和交換空間區(qū)的任務。設備驅動程序416的例子可以包括以太網(wǎng)設備驅動程序。存儲器管理414可以負責對本發(fā)明使用的跟蹤表分配存儲器??梢詫⒄{試跟蹤存儲到駐留在存儲器424上的跟蹤表中。在變換例中,可以將跟蹤表和調試跟蹤存儲到硬盤420,或任何其他計算機可讀介質上。在本發(fā)明的實施例中,網(wǎng)絡適配器特性的數(shù)據(jù)庫可以存儲在硬盤420或存儲器424上。以太網(wǎng)設備驅動程序416可以監(jiān)視以太網(wǎng)適配器的功能、訪問數(shù)據(jù)庫、將以太網(wǎng)適配器422的功能與存儲的以太網(wǎng)適配器特性進行比較,并因此而確定以太網(wǎng)適配器422是否表現(xiàn)正確功能。
在實施例中,通過訪問操作系統(tǒng)的跟蹤設施,以太網(wǎng)設備驅動程序自動啟用調試跟蹤?,F(xiàn)在,參考圖5,圖5示出了結合本發(fā)明實施例使用的操作系統(tǒng)跟蹤設施500。在內核空間518與用戶空間520之間劃分操作系統(tǒng)。為了使開發(fā)人員獲取諸如以太網(wǎng)適配器的設備的事件流,開發(fā)人員可以激活跟蹤512,以獲取以太網(wǎng)設備的事件流。內核506可以調用子例程504,以將事件記錄到跟蹤表502上。跟蹤守護程序(trace daemon)514可以訪問跟蹤表502,并產生跟蹤日志文件516。諸如跟蹤守護程序514的守護程序可以是用于處理低級操作系統(tǒng)任務,例如訪問跟蹤表502的任何后臺進程。在本發(fā)明的實施例中,內核擴展模塊522自動訪問跟蹤表502。內核擴展模塊522可以是例如圖4中的以太網(wǎng)設備驅動程序416。跟蹤表502可以存儲在存儲器管理414在RAM 214內預留的內核存儲器上。
在實施例中,將設備驅動程序檢測到的每個錯誤計數(shù)為不正確功能的實例。在另一個實施例中,存儲功能參數(shù)的數(shù)據(jù)庫,以便以后訪問,以確定觀測的以太網(wǎng)適配器功能是否可被鑒定為不正確。例如,當設備驅動程序檢測到與Timeout有關的錯誤時,設備驅動程序可以訪問具有存儲的參數(shù)的數(shù)據(jù)庫,以根據(jù)超時錯誤確定不正確功能。在變換實施例中,存儲在該數(shù)據(jù)庫中的參數(shù)可以用于對不正確功能的實例進行加權或者計分。例如,數(shù)據(jù)庫對“Timeout”錯誤可以存儲權重10。此外,該數(shù)據(jù)庫可以對“No Carrier Sense”錯誤存儲權重20。利用這種加權方法,與Timeout錯誤相比,No Carrier Sense錯誤的每個實例均被加倍。利用加權方法,開發(fā)人員可以指示設備驅動程序對特定類型的問題分配值。然后,將各錯誤的加權實例的總和與閾值進行比較。數(shù)據(jù)庫和加權的使用可為開發(fā)人員提供一種魯棒方式來確定不正確的以太網(wǎng)適配器功能。
圖6是示出本發(fā)明實施例的各步驟的流程圖。在步驟602,啟用以太網(wǎng)錯誤跟蹤。在某些操作系統(tǒng)中,根據(jù)缺省啟用錯誤跟蹤。在步驟604,初始化用于對錯誤進行計數(shù)的變量。在步驟606,監(jiān)視以太網(wǎng)適配器的功能。在結合AIX操作系統(tǒng)運行的實施例中,通過以太網(wǎng)適配器驅動程序自動訪問entstat命令,可以監(jiān)視功能。在該變換例中,在步驟606,通過調用為了訪問以太網(wǎng)適配器的功能特性而編寫的其它子例程、功能或宏,以太網(wǎng)適配器可以監(jiān)視功能。在實施例中,以太網(wǎng)適配器驅動程序可以將觀察到的功能與存儲功能特性的數(shù)據(jù)庫進行比較。通過這樣做,以太網(wǎng)適配器驅動程序可以確定以太網(wǎng)適配器是否在正常運行。如果在步驟608檢測到錯誤,則在步驟610,該計數(shù)器遞增??赡苡|發(fā)該系統(tǒng)遞增錯誤計數(shù)器的可能錯誤的例子是丟棄的鏈路、發(fā)送超時、未要求的中斷、凍結PCI總線或者在此討論的其它錯誤。如果錯誤計數(shù)器達到閾值,則在步驟614,啟用調試跟蹤。圖6所示的步驟612表示確定是否達到閾值。例如,開發(fā)人員可以規(guī)定,在25個異常行為實例之后,啟用調試跟蹤。圖6中未示出的另一個步驟是找到可疑問題的跟蹤。如果在步驟608未檢測到錯誤,則在步驟622,該計數(shù)器遞減。這種任選步驟是使開發(fā)人員能夠利用以太網(wǎng)適配器的正面行為彌補負面行為,以防止對基本上正常運行的系統(tǒng)啟用調試跟蹤的一種方式。如果在步驟620,計數(shù)器到達0或者第二閾值,則在步驟618,禁用調試跟蹤,然后,該系統(tǒng)返回步驟606,以進一步監(jiān)視以太網(wǎng)適配器。如果在步驟620,該計數(shù)器不等于0或者小于第二閾值,則在該調試跟蹤仍被啟用的情況下,該系統(tǒng)繼續(xù)在步驟606開始監(jiān)視該行為。
盡管對本發(fā)明及其優(yōu)點進行了詳細說明,但是應該明白,在不脫離所附權利要求所限定的本發(fā)明實質范圍的情況下,可以進行各種修改、替換或者變更。
權利要求
1.一種用于檢測網(wǎng)絡適配器錯誤的方法,包括步驟啟用網(wǎng)絡適配器錯誤跟蹤;檢測不正確的網(wǎng)絡適配器功能;遞增計數(shù)器,其中該計數(shù)器的計數(shù)器值等于該計數(shù)器遞增的次數(shù)減去該計數(shù)器遞減的次數(shù);將該計數(shù)器值與第一閾值進行比較;以及如果該計數(shù)器值大于第一閾值,則啟用調試跟蹤。
2.根據(jù)權利要求1所述的方法,該方法進一步包括在檢測到正確網(wǎng)絡適配器功能時遞減該計數(shù)器的步驟。
3.根據(jù)權利要求1所述的方法,該方法進一步包括如果計數(shù)器值小于第二閾值,則禁用調試跟蹤的步驟。
4.根據(jù)權利要求1所述的方法,其中檢測不正確網(wǎng)絡適配器功能的步驟包括將觀測的網(wǎng)絡適配器功能與存儲的網(wǎng)絡適配器功能特性的數(shù)據(jù)庫進行比較。
5.根據(jù)權利要求1所述的方法,其中網(wǎng)絡適配器是以太網(wǎng)適配器。
6.根據(jù)權利要求1所述的方法,該方法進一步包括將調試跟蹤記錄到跟蹤表的步驟。
7.根據(jù)權利要求6所述的方法,其中該跟蹤表是可操作地連接到網(wǎng)絡適配器設備驅動程序的內部跟蹤表。
8.根據(jù)權利要求1所述的方法,其中啟用調試跟蹤的步驟通過網(wǎng)絡適配器驅動程序自動發(fā)生。
9.一種在計算機可讀介質中的網(wǎng)絡適配器設備驅動程序,包括第一指令,用于啟用錯誤跟蹤;第二指令,用于檢測不正確的網(wǎng)絡適配器功能;第三指令,用于遞增計數(shù)器,其中該計數(shù)器的計數(shù)器值等于該計數(shù)器遞增的次數(shù)減去該計數(shù)器遞減的次數(shù);第四指令,用于將該計數(shù)器值與第一閾值進行比較;以及第五指令,用于如果該計數(shù)器值大于第一閾值,則啟用調試跟蹤。
10.根據(jù)權利要求9所述的網(wǎng)絡適配器設備驅動程序,該網(wǎng)絡適配器設備驅動程序進一步包括第六指令,用于在檢測到正確網(wǎng)絡適配器功能時遞減該計數(shù)器。
11.根據(jù)權利要求9所述的網(wǎng)絡適配器設備驅動程序,該網(wǎng)絡適配器設備驅動程序進一步包括第七指令,用于如果計數(shù)器值小于第二閾值,則禁用調試跟蹤。
12.根據(jù)權利要求9所述的網(wǎng)絡適配器設備驅動程序,其中第二指令包括用于訪問已知網(wǎng)絡適配器功能錯誤的數(shù)據(jù)庫的指令。
13.根據(jù)權利要求9所述的方法,其中網(wǎng)絡適配器設備驅動程序可操作地連接到以太網(wǎng)適配器。
14.一種用于自動記錄網(wǎng)絡適配器的調試跟蹤的方法,包括步驟檢測不正確的網(wǎng)絡適配器功能;遞增計數(shù)器,其中該計數(shù)器的計數(shù)器值等于該計數(shù)器遞增的次數(shù)減去該計數(shù)器遞減的次數(shù);將該計數(shù)器值與第一閾值進行比較;以及如果該計數(shù)器值大于第一閾值,則啟用調試跟蹤。
15.根據(jù)權利要求14所述的方法,其中啟用調試跟蹤的步驟通過網(wǎng)絡適配器驅動程序訪問操作系統(tǒng)的跟蹤功能自動發(fā)生。
16.根據(jù)權利要求14所述的方法,其中檢測不正確網(wǎng)絡適配器功能的步驟包括監(jiān)視網(wǎng)絡適配器功能,并將網(wǎng)絡適配器功能與存儲的網(wǎng)絡適配器功能參數(shù)集進行比較。
17.根據(jù)權利要求14所述的方法,該方法進一步包括步驟檢測正確網(wǎng)絡功能;以及在檢測到正確網(wǎng)絡適配器功能時,遞減計數(shù)器。
18.根據(jù)權利要求14所述的方法,其中網(wǎng)絡適配器可操作地連接到網(wǎng)絡適配器驅動程序,該網(wǎng)絡適配器驅動程序可操作地連接到操作系統(tǒng),其中操作系統(tǒng)具有用于記錄功能信息的跟蹤功能,并且其中啟用調試跟蹤的步驟通過網(wǎng)絡適配器驅動程序訪問操作系統(tǒng)的跟蹤功能自動發(fā)生。
19.根據(jù)權利要求18所述的方法,其中網(wǎng)絡適配器是以太網(wǎng)適配器。
20.根據(jù)權利要求19所述的方法,其中操作系統(tǒng)是基于Unix的操作系統(tǒng)。
全文摘要
本發(fā)明公開和要求了一種通過自動監(jiān)視以太網(wǎng)適配器的功能并在檢測到不正確的以太網(wǎng)適配器功能時自動打開調試跟蹤,調試以太網(wǎng)適配器和以太網(wǎng)適配器設備驅動程序的系統(tǒng)。實施例使計數(shù)器保持表示不正確以太網(wǎng)適配器功能事件的數(shù)量減正確以太網(wǎng)適配器功能事件的數(shù)量。如果該計數(shù)器達到閾值,則以太網(wǎng)適配器設備驅動程序自動啟用調試跟蹤,以將功能信息存儲到跟蹤表。
文檔編號H04L12/24GK1710867SQ200510054110
公開日2005年12月21日 申請日期2005年3月4日 優(yōu)先權日2004年6月17日
發(fā)明者德比·安·安格林, 約翰·戴維·馬森, 鮑爾·恩古揚, 布賴恩·邁克爾·金斯基 申請人:國際商業(yè)機器公司