新四季網

用於檢測TCP網絡連接上進行Nagle的系統和方法

2023-11-11 13:29:57

專利名稱:用於檢測TCP網絡連接上進行Nagle的系統和方法
技術領域:
本發明涉及計算機系統領域。更具體而言,本發明涉及用於檢測在傳輸控制協議(TCP)網絡連接上,尤其是實現Nagle算法[RFC 896]機制的TCP網絡連接上進行Nagle的系統、方法和介質。
背景技術:
個人計算機系統在本領域是眾所周知的。對於向當今現代社會的許多部門提供計算機能力而言,它們已獲得廣泛應用。個人計算機(PC)可以定義為包括具有一個或多個中央處理單元(CPU)及相關易失和非易失存儲器、系統監視器、鍵盤、一個或多個活動磁碟驅動器、CD-ROM驅動器、固定磁碟存儲器驅動器(也稱為「硬碟驅動器」)、如滑鼠的定點設備及可選網絡接口適配器的系統單元的桌面、立式或可攜式微型計算機,其中易失和非易失存儲器包括隨機存取存儲器(RAM)和基本輸入/輸出系統只讀存儲器(BIOS ROM)。這種個人計算機系統的例子是國際商業機器公司(IBM)的ThinkCenterTM、ThinkPadTM、AptivaTM和IntelliStationTM個人計算機系列。
而且,PC和其它計算機系統已經由如網際網路、內聯網、廣域網(WAN)和區域網(LAN)的網絡越來越多地連接在一起。網絡常常使用一種或多種協議來方便網絡中及其它網絡上計算機之間的通信。如網際網路協議(IP)和TCP的協議是網絡上計算機之間通信的預建立方式。IP允許數據包(包括數據和頭)從節點到節點的路由、基於4位元組目的地地址(IP號)轉發數據包。TCP在有點不可靠的包IP之上創建可靠的通信流(當它們結合時稱為TCP/IP)。TCP增加了對檢測錯誤或丟失數據及觸發重新發送直到數據被正確和完整接收的支持。TCP將數據看作是包括指明起始字節和大小、使接收方能夠檢測丟失或順序不正確包的頭的字節流。
一旦建立了TCP連接,大部分發送最終都導致來自接收方的響應(如ACK,或確認)。但是,在給定與TCP和IP關聯的開銷的情況下,每次發送的明確確認會產生顯著的附加通信量。因此,TCP試圖將最少可能的包發送到網絡中,以避免使網絡擁塞及增加路由器和交換機的負擔。為了方便發送,包可以分成多個段。「小」段是任何小於當TCP連接建立時由發送方和接收方協商的最大段尺寸(MSS)的段。[在1984年1月6日發表的標題為「Congestion Control in IP/TCPInternetworks」的網絡工作組請求注釋(RFC)896中描述的]Nagle算法是一種由TCP用於減少網絡連接上發送的確認數的機制。當其實現時,Nalge算法要求發送方不會有多於一個未確認的小段未完成。當未確認的小段未完成時,發送方保留任何來自應用程式的任何更多數據,直到該未完成的段由接收方確認。TCP使接收方有可能將確認附加到另一響應(也稱為「背負(piggyback)」的處理),以消除兩次發送的需要,從而減小網絡負擔。當TCP連接主要具有單向通信時,附加確認的機會是有限的。因此,Nagle算法常常導致每個往返時間(RTT)只有一個小段在給定連接上發送,其中RTT是發送數據和隨後接收該數據的確認所花費的時間,在許多情況下導致發送中不期望的延遲。
發送小段時由RTT造成的延遲由於TCP的延遲確認策略而更加劇了。傳統的接收方TCP實現延遲向發送方發送確認,直到在反向路徑上有數據要發送(使它能夠將ACK附加到該數據)、直到至少有兩個滿尺寸的段(2乘MSS字節)要確認或者直到延遲確認定時器(一般是大約200毫秒)到期。當發送方發送小段時,確認一般要到延遲確認定時器到期才發送,導致應當快得多完成的操作延遲幾百毫秒並在RTT之上給出另外的延遲。由於延遲確認定時器,因此其它延遲也是有可能的,如在某些作業系統(OS)中當發送方試圖發送尺寸大於OS網絡緩衝區大小的包時所發生的延遲,這種延遲會導致一個小段保持未確認,直到延遲確認定時器到期。
由於小段的確認很少能夠利用其它數據背負,因此由延遲確認時間造成的延遲在主要具有單向通信的環境中是尤其不期望的。由於對某些網絡連接與Nagle算法相關的問題,因此有些應用程式開發人員通過使用TCP_NODELAY套接字選項簡單地對給定網絡連接關掉Nagle算法。此外,在某些作業系統上,系統管理員可以利用OS調整參數關掉Nagle算法。儘管對於某些應用程式這提高了性能,但是對於許多應用程式,關掉Nagle算法將導致網絡壓力增加,尤其是當網絡上有些發送方有錯誤輸出緩衝區管理時。由於關掉Nagle算法常常比Nagle算法本身使網絡減速更多,因此簡單地關掉Nagle算法不能對由Nagle導致的減速提供滿意的解決方案。而且,關掉Nagle算法還會導致損失由Nagle算法提供的好處。
關掉Nagle算法的另一問題是這種解決方案首先要求對由Nagle導致的減速的正確診斷。當前作業系統不能識別何時減速是由Nagle導致的延遲造成的。當網絡減速發生時,如果不去分析日誌或執行跟蹤分析,那麼管理員可能不會知道是什麼造成了減速。即使當網絡減速可以通過關掉Nagle算法改善時,管理員也不能很快確定這種解決方案將提供好處,從而導致它常常被忽略。
因此,需要有一種有效的機制來檢測和管理TCP網絡中Nagle算法的使用,尤其是當那些網絡容易受由Nagle導致的減速影響時。當應用程式在它們數據包的發送中效率不高時這種機制的需求甚至更大。

發明內容
上面指出的問題很大部分是由用於檢測TCP網絡連接上進行Nagle的系統、方法和介質解決的。一種實施方式包括在第一時間由接收方計算機從發送方計算機接收小段並由接收方計算機向發送方計算機發送該小段的延遲確認。在發送完延遲確認後,該實施方式還可以包括在第二時間由接收方計算機從發送方計算機接收第二個小段。該實施方式還可以包括由接收方計算機確定用於網絡連接的Nagle檢測閾值及第二時間和第一時間之間的差值,如果第二時間和第一時間之間的差值小於或等於Nagle檢測閾值,則由接收方計算機系統檢測進行Nagle狀態。更多的實施方式還可以包括響應檢測到的進行Nagle狀態,由接收方計算機遞增接收方計算機的Nagle監視器計數器,如果Nagle監視器計數器超過Nagle監視器閾值,則由接收方計算機發送進行Nagle警告。
另一實施方式包括由網絡計算機搜索在從網絡連接上上次確認開始後小於所接收數據的MSS的兩倍的時間裡確認的通過網絡連接從接收方計算機向發送方計算機的純確認,如果找到純確認,則由網絡計算機搜索在該純確認之後從發送方計算機發送到接收方計算機的小包。該實施方式還可以包括由網絡計算機確定Nagle檢測閾值及檢測到純確認和小包之間的時間差,如果該時間差小於或等於Nagle檢測閾值,則由網絡計算機檢測進行Nagle狀態。另外的實施方式還可以包括由網絡計算機系統觀察接收方計算機和發送方計算機之間網絡連接的創建。
另一實施方式提供了用於檢測TCP網絡連接上進行Nagle的數據處理系統。該系統通常可以包括用於基於網絡連接確定Nagle檢測閾值的Nagle檢測閾值確定器。該系統通常還可以包括與Nagle檢測閾值確定器通信、用於觀察跟在指示第一時間進行Nagle狀態的確認之後第二時間的小段的Nagle檢測模塊,其中如果第二時間和第一時間之間的差值小於或等於Nagle檢測閾值,那麼Nagle檢測模塊也可以檢測到進行Nagle狀態。


通過閱讀以下具體描述並參考附圖,本發明的其它目的和優點將變得顯而易見,其中相同的標號可以指示類似的元件圖1描述了根據一種實施方式的用於Nagle檢測系統的環境;圖2描述了根據一種實施方式的用於由接收方計算機系統檢測進行Nagle狀態並遞增Nagle監視器計數器的流程圖的例子;圖3描述了根據一種實施方式的用於由接收方計算機系統檢測進行Nagle狀態及產生、發送和/或記錄警告的流程圖的例子;圖4描述了根據一種實施方式的用於由接收方計算機系統檢測進行Nagle狀態並修改Nagle算法配置的流程圖的例子;及圖5描述了根據一種實施方式的用於由網絡計算機系統檢測進行Nagle狀態的流程圖的例子。
具體實施例方式
以下是附圖中所描述的本發明例子實施方式的具體描述。該例子實施方式具體到足以清楚地表達本發明。但是,所提供的細節量不是要限制本發明預期的變體;相反,其意圖是要覆蓋屬於由所附權利要求定義的本發明主旨和範圍的所有修改、等價物和可選物。以下具體描述設計成使這種實施方式對本領域普通技術人員顯而易見。
公開了用於檢測TCP網絡連接上進行Nagle的系統、方法和介質。實施方式通常可以包括具有用於基於網絡連接確定Nagle檢測閾值的Nagle檢測閾值確定器的系統。該系統通常還可以包括與Nagle檢測閾值確定器通信、用於觀察跟在指示第一時間進行Nagle狀態的確認之後第二時間的小段的Nagle檢測模塊,其中如果第二時間和第一時間之間的差值小於或等於Nagle檢測閾值,那麼Nagle檢測模塊還可以檢測到進行Nagle狀態。該系統可以是接收方計算機或網絡計算機。該系統還可以產生和發送進行Nagle狀態的通知、遞增Nagle監視器計數器或將進行Nagle狀態的指示保存在日誌中。
所公開的實施方式提供了從接收方計算機或網絡計算機的觀點用於檢測TCP網絡連接上進行Nagle的方法和系統。通過當Nagle狀態存在時產生警告,所公開實施方式的Nagle檢測系統為用戶或管理員提供了診斷並可能校正網絡問題的有效機制。所公開實施方式的Nagle檢測系統可以在網絡連接的接收方一側提供用於檢測由Nagle算法造成的延遲的啟發式算法。所公開實施方式的Nagle檢測系統還可以提供由(不是網絡連接終點的)網絡計算機使用的用於檢測由Nagle算法造成的延遲的啟發式算法。在一種例子中,如果網絡減速發生,則接收方計算機的管理員可以利用所公開的Nagle檢測系統對與多個發送方計算機關聯的網絡連接實時診斷由Nagle算法造成的延遲,從而使得比管理員在事實之後通過日誌分析或細查對網絡狀態有更快更準確的診斷(該發送方計算機系統可能有造成進行Nagle的效率不高的應用程式)。在另一例子中,網絡提供者可以分析網絡中的包流,以確定哪些網絡連接(及關聯的發送方計算機和接收方計算機)有可能造成網絡減速的進行Nagle情況。
儘管以下將參考硬體和/或軟體的特定配置描述特定實施方式,但本領域技術人員應當認識到本發明的實施方式可以有利地利用其它基本等效的硬體和/或軟體系統來實現。
現在轉向附圖,圖1描述了根據一種實施方式的用於Nagle檢測系統的環境。在所述實施方式中,Nagle檢測系統100包括通過網絡106與接收方計算機系統104(接收方計算機)通信的發送方計算機系統102(發送方計算機)。Nagle檢測系統100還可以包括網絡計算機系統120(網絡計算機)。發送方計算機系統102可以通過網絡106上的網絡連接利用如TCP的協議向接收方計算機系統104發送數據。類似地,接收方計算機系統104可以通過網絡106上的網絡連接向發送方計算機系統102發送如響應或確認的數據。網絡計算機系統120還可以與網絡106通信或者是網絡106的一部分。在Nagle檢測系統100中,發送方計算機系統102可以通過在網絡106上建立的TCP網絡連接通過向接收方計算機系統104發送數據包並從其接收響應或確認與接收方計算機系統104通信。接收方計算機系統104或網絡計算機系統120或兩者都能夠檢測由Nagle引起的減速的存在並產生進行Nagle狀態的警告。發送方計算機系統102和接收方計算機系統104每個都可以包括應用程式108、傳輸模塊110和網絡模塊112。傳輸模塊110和網絡模塊112幫助應用程式108在網絡106上發送和接收數據。
發送方計算機系統102、接收方計算機系統104及網絡計算機系統120可以是任何類型計算機系統中的一種或多種,包括伺服器、個人計算機、工作站、大型計算機、筆記本或膝上計算機、桌面計算機等,而且每個都可以是彼此不同或類似的類型。在一種實施方式中,接收方計算機系統104是具有一個或多個處理器或者處理器線程、執行與如隨機訪問存儲器(RAM)、只讀存儲器(ROM)、閃速存儲器、光碟驅動器、硬碟驅動器等的數據存儲設備耦合的軟體和/或一個或多個狀態機的IBMeServer或類似伺服器。在這種實施方式中,接收方計算機系統104可以與多個發送方計算機系統102通信(並與其具有網絡連接)。例如,服務提供者可以使用接收方計算機系統104與大量使用發送方計算機系統102的用戶接口。在這種實施方式中,每個發送方計算機系統102都可以是具有一個或多個處理器或者處理器線程、執行與如RAM、ROM、閃速存儲器、光碟驅動器、硬碟驅動器等的數據存儲設備耦合的軟體和/或一個或多個狀態機的IBMThinkCenterTM或ThinkPadTM個人計算機系統。可選的網絡計算機系統120也可以是由網絡提供者運行的IBMeServer或類似伺服器。發送方計算機系統102、接收方計算機系統104及網絡計算機系統120可以位於相同位置,如在同一建築或計算機實驗室中,或者可以是遠程的。儘管術語「遠程」是參考Nagle檢測系統100組件之間的距離使用的,但該術語是就指示某種類型間隔的意義,而不是就指示系統之間大物理距離的意義使用的。
網絡106可以是任何類型的數據通信通道,如網際網路、內聯網、LAN、WAN、乙太網或無線網。在一種實施方式中,網絡106使用TCP/IP協議。但是,本領域技術人員應當認識到,在不背離本發明範圍與主旨的前提下,發送方計算機系統102、接收方計算機系統104和/或網絡計算機系統120之間其它類型的數據通信通道也可以使用。計算機網絡最基本的層是計算機之間允許它們通信的一系列連接。如TCP和IP的協議是用於在網絡上通信的預建立機制,它幫助定義網絡的速度、內容和可靠性。使用TCP/IP協議的計算機系統可以使用包作為在網絡106上發送的基本單元。包一般可以包括數據和如校驗和、協議標識符、目的地和源地址的頭信息及狀態信息,而且為了發送可以分成多個段。
TCP/IP將整個網絡協議集分成了多個任務(有些是由傳輸模塊110或網絡模塊112執行的),因此每個應用程式108不需要有完整的網絡協議實現,相反,可以依賴網絡協議的其它「層」。TCP/IP通常包括連結層、網絡層、傳輸層和應用層。每層都可以添加自己的頭信息,以方便數據的處理。應用程式108可以是任何充當應用層的軟體程序。在一種例子中,應用程式108可以方便用戶通過網絡106利用從傳輸模塊110的傳輸層發送和接收數據來發送或接收數據。應用程式108可以包括如遠程登錄、文件傳輸協議(ftp)、電子郵件程序、在線聊天系統(IRC)和web瀏覽器的通信程序。
可以由傳輸模塊110實現的傳輸層可以向應用層(可以由應用程式108實現)提供數據流和可靠性保證。傳輸模塊110可以使用TCP協議來幫助確保包是以其發送的順序接收的,而且丟失的包被重新發送。應用程式108可以使用傳輸模塊110來與網絡模塊112,從而與網絡106,交互。
網絡層可以由網絡模塊112實現,而且可以確定如何使數據到達其預定的目的地。在一種實施方式中,網絡模塊112可以使用IP協議來發送和接收數據包。當要從計算機系統發送的數據從傳輸模塊110接收到時,網絡模塊112可以基於IP位址確定將包發送到哪裡及為了使其到達目的地該如何路由包。當網絡模塊112從連結層(連結層從網絡106接收數據)接收到數據時,它可以將包交給傳輸模塊110的傳輸層(在有些情況下如果包有問題則丟棄它)。連結層可以用於與真正的網絡硬體,如乙太網或其它網卡,通信,而且可以包括硬體設備驅動器。連結層可以從網絡106接收數據、剝去任何連結層頭信息並將數據交給網絡模塊112的網絡層。連結層還可以從網絡模塊112接收數據、放置連結層頭並將其放到網絡106上。
利用傳輸模塊110和網絡模塊112,發送方計算機系統102的應用程式可以向接收方計算機系統104的應用程式108發送數據包,如果必要,接收方計算機系統104利用其自己的傳輸模塊110和網絡模塊112接收數據包並響應。接收方計算機系統104還可以包括用戶接口114、Nagle檢測模塊116及Nagle檢測閾值確定器118。用戶接口114可以方便來自管理員或其它用戶的輸入的接收及向管理員或其它用戶的信息傳送。除了產生進行Nagle狀態的警告,接收方計算機系統104的Nagle檢測模塊116還可以檢測何時實現Nagle算法(並潛在地造成網絡連接性能的減速)。在確定Nagle條件存在時,Nagle檢測模塊116可以利用由Nagle檢測閾值確定器118計算出的Nagle檢測閾值。
接收方計算機系統104的用戶接口114可以從接收方計算機系統104的管理員或其它用戶接收輸入,如打開或關掉Nagle檢測模塊116的請求或改變Nagle檢測模塊116設置的請求。用戶接口114可以包括如鍵盤、滑鼠、聲音激活的輸入等的輸入設備來接收用戶輸入。用戶接口114還可以通過任何類型的通信設備,如顯示器或揚聲器,向接收方計算機系統104的管理員或其它用戶傳送如與Nagle算法相關的統計數據或當前設置的信息。
Nagle檢測模塊116可以確定何時Nagle算法被觸發(即,何時進行Nagle狀態存在),作為響應,產生警告或採取不同的動作。當在接收方計算機系統104中實現時,由於Nagle算法一般是在傳輸層實現的,因此Nagle檢測模塊116可以與傳輸模塊110交互。可選地,傳輸模塊110可以包括Nagle檢測模塊116。基於傳輸模塊110的活動,Nagle檢測模塊116可以確定小段的延遲確認是否發送到發送方計算機系統102,及在由Nagle檢測閾值確定器118確定的Nagle檢測閾值中該延遲確認後面是否跟著來自發送方計算機系統的另一小段的接收(或觀察)。該小段接收的第二時間和延遲確認發送的第一時間之間的差值可以與Nagle檢測閾值進行比較,如果差值小於或等於Nagle檢測閾值,則可能存在進行Nagle狀態。通過在其傳輸模塊110中實現的Nagle算法,這種嘗試提供了第二個段的發送在發送方計算機系統102被延遲的有力指示。
一旦接收方計算機系統104的Nagle檢測模塊116確定了何時存在進行Nagle狀態,作為響應,它就產生警告或採取其它動作。在一種實施方式中,Nagle檢測模塊116可以產生並向用戶、管理員或性能監視和/或分析軟體發送進行Nagle狀態的警告。在可選實施方式中,Nagle檢測模塊116可以記錄Nagle狀態的指示,例如通過記錄在日誌中或遞增Nagle監視器計數器。這使得管理員或其它用戶能夠很快找到對於特定連接Nagle狀態多長時間發生一次的記錄,而不需要在事實之後憑直覺從日誌獲得信息或分析日誌或報告,從而使用戶可以診斷網絡問題或識別出具有效率不高的應用程式108的發送方計算機系統102。由於接收方計算機系統104的操作員能夠很快診斷出由發送方計算機系統102造成的Nagle引起的減速,因此當接收方計算機系統104與大量具有不熟練用戶的發送方計算機系統102通信時,這尤其有用。例如,利用與具有多個不熟練用戶的發送方計算機系統102接口的接收方計算機系統104的服務提供者可以很快確定哪些用戶在運行造成Nagle引起的減速的效率不高的應用程式108。
接收方計算機系統104的Nagle檢測閾值確定器118可以確定或計算Nagle檢測閾值,該閾值是對延遲確認通過網絡106到達發送方計算機系統102的時間量、由發送方計算機系統102進行處理的時間量及小包通過網絡106到達接收方計算機系統104的時間量的估計。這三個估計值的總和(下文中稱為網絡遍歷(traversal)時間)可以充當Nagle檢測閾值,如果接收方計算機系統104發送小段的延遲確認,而且隨後在等於Nagle檢測閾值的時間幀內接收到一小段,則很可能發生了Nagle引起的減速。可選地,Nagle檢測閾值可以基於網絡遍歷時間,如通過將Nagle檢測閾值設置為大於網絡遍歷時間固定量或固定百分比的值,以解決時間幀中的變化和增加捕捉所有進行Nagle狀態的機會(及冒著捕捉其它虛假或錯誤讀數的危險)。
在一種實施方式中,接收方計算機系統104的Nagle檢測閾值確定器118通過利用已經由傳輸模塊110作出的計算作為部分TCP自適應地估計網絡遍歷時間。眾所周知的TCP實現通過採樣在連接上發送的包的行為並將這些樣本平均成「平滑的」往返時間估計(SRTT)來嘗試預測未來的往返時間。當包在TCP連接上發送時,發送方的傳輸模塊110計算確認要花費多長時間,基於各種計算產生隨後變成SRTT的往返樣本序列。當前的SRTT估計可以充當小包在兩個方向通過網絡106的時間估計。通過創建測量RTT和當前SRTT估計之間時間差的「平滑」估計,接收方計算機系統104的Nagle檢測閾值確定器118還可以估計發送方計算機系統102中的處理時間。目前,這個差值是由TCP實現計算的,但一般不保存。測量RTT和當前SRTT之間的平滑差值可以充當發送方計算機系統102中的處理時間的估計。因此,在這種實施方式中,網絡遍歷時間可以通過將當前SRTT加到測量RTT和當前SRTT之間的平滑差值來估計。用於估計網絡遍歷時間的其它方法也是可能的。
代替接收方計算機系統104或者除接收方計算機系統104之外,Nagle算法的使用還可以在網絡計算機系統120檢測。網絡計算機系統120可以包括用戶接口114、Nagle檢測模塊116、Nagle檢測閾值確定器118及跟蹤歷史122。用戶接口114關於接收方計算機系統104進行了描述。網絡計算機系統120的Nagle檢測模塊116和Nagle檢測閾值確定器118與接收方計算機系統104的等價物有相同的功能,但可以使用不同的功能來實現它們的目的。由於網絡計算機系統120不具有與接收方計算機系統104相同的由網絡連接終點維護的狀態信息,因此它必須使用其它方法檢測Nagle算法的使用。
通過利用標準包捕捉方法觀察發送方計算機系統102與接收方計算機系統104之間的包流,網絡計算機系統120的Nagle檢測模塊116可以確定進行Nagle狀態存在。追溯到網絡連接初始的包流歷史可以存儲在跟蹤歷史122中。特定的網絡連接可以由源IP位址、目的地IP位址、源埠和目的地埠來識別。Nagle檢測模塊可以搜索跟蹤歷史122來找進行Nagle狀態的指示,如在由網絡計算機系統120的Nagle檢測閾值確定器118確定的Nagle檢測閾值內後面跟著一小段的在小於數據的MSS的兩倍的時間之內確認的(不帶數據的)純確認。從特定網絡連接上上次確認開始後小於數據的MSS的兩倍的時間內確認的純確認有可能是延遲確認。為了確定延遲確認是否是由Nagle算法的實現造成的,Nagle檢測模塊116確定在Nagle檢測閾值內延遲確認之後是否跟著一小段(換句話說,時間差小於Nagle檢測閾值),這將指示小段是由Nagle算法阻塞的。
Nagle檢測閾值確定器118可以通過計算三方握手網絡連接啟動序列的往返時間來估計網絡遍歷時間。在一種例子中,網絡連接啟動序列可以包括在時間T0從發送方計算機系統102到接收方計算機系統104的同步消息(SYN)、在時間T1返回到發送方計算機系統102的確認(ACK)和同步消息及隨後在時間T2返回到接收方計算機系統104的確認。然後,Nagle檢測閾值確定器118可以將網絡連接的網絡遍歷時間估計為T2減T0。由於SYN和ACK消息非常小,因此它們提供了對小段和延遲確認網絡遍歷時間的有用估計,其中延遲確認也是小包。Nagle檢測閾值確定器118可以通過跟蹤歷史122的評審找到網絡連接初始狀態的記錄。在估計出網絡遍歷時間後,Nagle檢測閾值確定器118可以基於網絡遍歷時間確定Nagle檢測閾值。
所公開的Nagle檢測系統100的實施方式提供了在接收方計算機系統104或通過觀察網絡計算機系統120檢測Nagle狀態和管理網絡連接的有效方式。所公開實施方式的方法提供了可以精確估計在發送小段過程中何時Nagle算法造成延遲的啟發式算法。通過檢測Nagle狀態並產生警告,Nagle檢測系統100提供了用於分析網絡性能、診斷網絡減速並可能提高網絡性能的接收方側或基於網絡的有效機制。
當Nagle檢測系統100用在接收方計算機系統104時,管理員或其它用戶可以很快診斷網絡減速並識別出發送方計算機系統102側不能有效發送數據且觸發Nagle算法的應用程式108,而不需要在事實之後費力地分析網絡日誌。然後,運行接收方計算機系統104的服務提供者可以很快對網絡減速的用戶抱怨作出響應,並有可能響應進行Nagle的發生修改網絡連接配置。運行在網絡計算機系統120的Nagle檢測系統100使網絡提供者能夠分析網絡連接的效率,以識別不能有效使用網絡106的發送方計算機系統102或接收方計算機系統104。當與現有系統比較時,所公開實施方式的Nagle檢測系統100為管理員或其它用戶提供了對網絡連接上Nagle算法運行有價值的理解,從而方便對Nagle引起的減速的診斷或校正。
圖2描述了根據一種實施方式的用於由接收方計算機系統確定進行Nagle狀態存在並遞增Nagle監視器計數器的流程圖的例子。在一種實施方式中,流程圖200的方法的單元可以由接收方計算機系統104的組件執行。在單元202,接收方計算機系統104的組件,如網絡模塊112或傳輸模塊110,可以通過網絡106與發送方計算機系統102建立TCP連接。作為建立TCP連接的一部分,兩個計算機系統可以協商用於連接的MSS。當網絡連接活動時,在單元204接收方計算機系統104可以從發送方計算機系統102接收小段。
在決定塊206,傳輸模塊110確定是否響應接收方小段向發送方計算機系統102發送延遲確認。在一種實施方式中,接收方計算機系統104將不發送小段確認,直到它可以在另一數據包上背負、收到足夠多的小段使它們的總和大於MSS的兩倍或者延遲確認定時器到期。如果延遲確認定時器到期,則流程圖200繼續到決定塊208;否則,流程圖200返回單元204,在那裡等待新數據或流程圖終止。傳輸模塊110可以創建延遲確認包,該延遲確認包可以在包中包括頭信息,如校驗和、協議標識符、目的地和源地址及狀態信息。
Nagle確定模塊116在決定塊208可以確定接收方計算機系統104在網絡連接上發送完延遲確認後是否接收到第二個小段。如果接收方計算機系統104沒有接收到第二個小段,則流程圖200返回單元204,在那裡等待新數據或流程圖結束。如果接收方計算機系統104接收到第二個小段,則流程圖200繼續到單元210,開始計算Nagle檢測閾值。如果第二個小段接收得足夠快,則發送完延遲確認後第二個小段的接收可以指示Nagle算法的運行延遲了發送方計算機系統102第二個小段的發送。在傳統Nagle算法下,當發送方側傳輸模塊110嘗試發送第二個小段時未確認小段的存在將導致第二個小段發送的延遲,直到第一個小段的確認從接收方計算機系統接收到。
如果在決定塊208接收到第二個小段,則接收方計算機系統104將開始確定Nagle檢測閾值,以確定是否可能發生Nagle引起的延遲。在單元210,Nagle檢測閾值確定器118可以估計延遲確認行進到發送方計算機系統102及第二個小段行進到接收方計算機系統104的往返時間。如關於圖1所描述的,通過利用已經由傳輸模塊110作出的計算作為部分TCP,Nagle檢測閾值確定器118可以自適應地估計往返時間作為SRTT。在單元212,如關於圖1所描述的,通過創建測量RTT與當前SRTT估計之間時間差的「平滑」估計,Nagle檢測閾值確定器118可以估計發送方側的處理時間(發送方計算機系統102的處理時間)。估計出的往返時間和發送方側處理時間的總和是網絡遍歷時間。然後,在單元214Nagle檢測閾值確定器118可以確定Nagle檢測閾值。如關於圖1所描述的,Nagle檢測閾值可以基於網絡遍歷時間,如通過使用網絡遍歷時間作為Nagle檢測閾值或通過修改網絡遍歷時間。
在確定Nagle檢測閾值後,Nagle檢測模塊116在決定塊216確定在Nagle檢測閾值內是否接收到第二個小段。如果第二個小段與延遲確認接收時間之間的時間小於或等於Nagle檢測閾值,則第二個小段可以看作是在Nagle檢測閾值內接收到的。如果第二個小段在Nagle檢測閾值後接收到,則流程圖200或者終止,或者返回單元204繼續處理。如果第二個小段是在Nagle檢測閾值內接收到的,則可能存在Nagle狀態,Nagle檢測模塊116在單元218遞增Nagle監視器計數器。Nagle監視器計數器可以是傳輸模塊110、Nagle檢測模塊116或位於發送方計算機系統102上的任何其它軟體的一部分。在一種實施方式中,Nagle監視器計數器可以實現為可以由實用程序訪問的作業系統(OS)計數器。例如,Linux和Unix作業系統中的netstat命令可以充當用於維護Nagle監視器計數器的機制。為了傳送到管理員或其它用戶,接收方計算機系統104的實用程序可以訪問Nagle監視器計數器。Nagle監視器計數器使管理員或其它用戶能夠很快確定Nagle算法多長時間延遲一次小段的發送,因此個人可以診斷網絡問題或提高網絡連接的性能。
在遞增Nagle監視器計數器後,Nagle檢測模塊116在決定塊220確定Nagle監視器計數器是否高到足以產生和/或發送警告。如果計數器高於定義的Nagle計數器閾值,則Nagle監視器計數器足夠高。通過提供事件將發生的Nagle監視器計數器水平(Nagle計數器閾值),錯誤或虛假Nagle警告的危險減少了,因為只有在超過該水平後警告才會發生。導致計數器足夠高的Nagle警告個數可以任何方式定義,如用戶定義的量、預設的量、基於Nagle狀態、基於警告接收者的偏好等。如果Nagle監視器計數器不夠高,則流程圖200或者終止,或者返回單元204作進一步處理。如果Nagle監視器足夠高(高於Nagle監視器閾值),則Nagle檢測模塊116可以在單元222產生和/或發送進行Nagle狀態的警告,其後流程圖終止。如上所述,進行Nagle警告可以發送到用戶、管理員、應用程式108或性能監視和/或分析軟體,它們任何一個都可以位於接收方計算機系統104或其它計算機系統上。進行Nagle警告可以用來幫助管理員或其它用戶分析網絡性能和診斷網絡性能的減速。在一種實施方式中,當接收到進行Nagle警告後,用戶可以使用創建對一個或多個網絡連接顯示進行Nagle警告出現頻率或其它性能信息的實時顯示的實時性能分析工具。利用這種軟體,用戶或管理員能夠很快診斷出網絡減速是否是Nagle引起的。進行Nagle警告可以包括任何類型的信息,如關於網絡連接、發送方計算機系統102的信息(如IP位址、埠號或其它標識符)、發送或接收數據的應用程式108的身份或時間戳。
圖3描述了根據一種實施方式用於由接收方計算機系統確定進行Nagle狀態存在及產生、發送或記錄警告的流程圖的例子。在一種實施方式中,流程圖300的方法的單元可以由接收方計算機系統104的組件執行。流程圖300從單元302、304、306、308、310、312、314和316開始,這些單元與流程圖200的方法的類似編號的單元基本類似。當第二個小段在Nagle檢測閾值內接收到時,決定塊316的肯定響應指示可能存在進行Nagle狀態。
在單元318,Nagle檢測模塊116可以產生、發送和/或記錄進行Nagle警告。在一種例子中,進行Nagle警告可以產生並發送到接收方計算機系統104的管理員或其它用戶、存在進行Nagle狀態的發送方計算機系統102的用戶、具有網絡計算機系統120的網絡提供者等。在另一例子中,Nagle檢測模塊116可以將進行Nagle狀態的指示記錄在日誌中,如系統事件監視器或事件日誌。通過記錄網絡連接的Nagle狀態的歷史,管理員或其它用戶可以很快確定Nagle算法多長時間延遲一次小段的發送,因此個人可以診斷網絡問題,而不需要細查長長的事件日誌來試著分析或憑直覺獲知網絡減速的原因。
圖4描述了根據一種實施方式用於由接收方計算機系統確定進行Nagle狀態存在並修改Nagle算法配置的流程圖的例子。在一種實施方式中,流程圖400的方法的單元可以由接收方計算機系統104的組件執行。流程圖400從單元402、404、406、408、410、412、414和416開始,這些單元與流程圖200的方法的類似編號的單元基本類似。當第二個小段在Nagle檢測閾值內接收到時,決定塊416的肯定響應指示可能存在進行Nagle狀態。
在單元418,在決定塊416肯定響應和可能Nagle狀態的情況下,接收方計算機系統104的傳輸模塊110可以修改Nagle算法配置。傳輸模塊110可以任何合適的方式修改Nagle算法配置,如通過在特定網絡連接關掉Nagle算法或使其更難觸發。例如,如果在特定網絡連接進行Nagle狀態被過於頻繁地觸發,則傳輸模塊110可以對該網絡連接關掉Nagle算法(如通過TCP_NODELAY套接字選項),因此過多的進行Nagle事件將不會過度減慢網絡。在另一例子中,傳輸模塊110可以改變對延遲確認的設置,來減小用於延遲確認定時器的時間幀。在這個例子中,延遲確認定時器可以從其初始值,一般是200毫秒,減小到更低的值,這將降低Nagle算法的效果。這比簡單地關掉Nagle算法更能使管理員進行細微的控制。可選地,除傳輸模塊110之外或代替它,接收方計算機系統104的Nagle檢測模塊116或應用程式108也可以修改Nagle算法配置。
圖2、3和4的實施方式可以任何方式結合。例如,通過在Nagle監視器計數器遞增到足夠高的水平後(圖2的單元218和220)只修改Nagle算法配置(圖4的單元418),圖2和4的功能可以結合。其它實施方式和結合也是可能的。
圖5描述了根據一種實施方式的用於由網絡計算機系統確定進行Nagle狀態存在的流程圖的例子。在一種實施方式中,流程圖500的方法的單元可以由網絡計算機系統120的組件執行。流程圖500可以由網絡計算機系統120實時執行或在網絡連接建立後作為診斷或分析工具執行。在單元502,網絡計算機系統120的組件,如Nagle檢測模塊116,可以利用標準包捕捉方法觀察發送方計算機系統102與接收方計算機系統104之間TCP連接的創建。作為單元502的一部分,網絡計算機系統120可以確定用於網絡連接的協商MSS並開始將網絡連接的歷史記錄到跟蹤歷史122中。
在單元504,網絡計算機系統120的Nagle檢測模塊116利用標準包捕捉方法觀察發送方計算機系統102與接收方計算機系統104之間的包流,來搜索與Nagle算法一致的模式。Nagle檢測模塊116首先在單元504搜索從網絡連接上上次確認開始後小於數據的MSS的兩倍時間裡確認的來自一個計算機系統(不帶數據)的純確認。如果在決定塊506沒有找到這樣的純確認,則流程圖500返回單元504繼續搜索或終止。如果找到這種純確認,則可以指示延遲確認,流程圖500繼續到單元508,在那裡Nagle檢測模塊116可以搜索在Nagle檢測閾值內跟在該純確認之後來自另一計算機系統的小包。如果接收到小包和純確認之間的時間小於或等於Nagle檢測閾值,則小包可以看作是在Nagle檢測閾值內接收到的。如果發現小包跟在純確認後面,則流程圖500繼續到單元512,計算Nagle檢測閾值。如果在決定塊510沒有找到小包,則流程圖500返回單元504繼續運行或終止。
網絡計算機系統120的Nagle檢測閾值確定器118可以在單元512確定連接握手時的往返時間。如關於圖1所描述的,Nagle檢測閾值確定器118可以評審跟蹤歷史來確定網絡連接啟動多長時間發生一次,並且可以利用這個時間作為網絡遍歷時間。在估計出網絡遍歷時間後,Nagle檢測閾值確定器118可以在單元514基於網絡遍歷時間確定Nagle檢測閾值。
在決定塊516,網絡計算機系統120的Nagle檢測模塊116確定在Nagle檢測閾值內是否檢測到來自第二個系統的小包。如果Nagle檢測模塊116沒有在Nagle檢測閾值內檢測到小包,則流程圖500或者返回單元504,在那裡繼續搜索,或者流程圖終止。如果在Nagle檢測閾值內檢測到第二個包,則可能存在Nagle狀態,Nagle檢測模塊116在單元518遞增Nagle監視器計數器。在遞增Nagle監視器計數器以後,Nagle檢測模塊116可以在決定塊520確定Nagle監視器監視器是否高到足以進行動作,如Nagle監視器計數器是否大於Nagle監視器閾值。如果Nagle監視器計數器不夠高,則流程圖500或者終止,或者返回單元504作進一步處理。如果Nagle監視器計數器足夠高,則流程圖500繼續到單元522,產生或發送進行Nagle警告,其後流程圖終止。如上所述,進行Nagle警告可以發送到用戶、管理員或性能監視和/或分析軟體,它們任何一個都可以位於網絡計算機系統120或其它計算機系統上。在一種實施方式中,網絡計算機系統120可以將進行Nagle警告發送到接收方計算機系統104以進行通知或以便可以執行校正動作。可選地,網絡計算機系統120可以將進行Nagle狀態的指示記錄在日誌中。對檢測到潛在進行Nagle狀態的其它響應也是可能的。
總的來說,為實現本發明實施方式而執行的例程可以是作業系統或者是特定應用程式、組件、程序、模塊、對象或指令序列的一部分。本發明的電腦程式一般包括由本地計算機轉換成機器可讀格式因而成為可執行指令的許多指令。而且,程序包括本地駐留在程序中或在存儲器或存儲設備中找到的變量和數據結構。此外,下文描述的各種程序可以基於在本發明特定實施方式中實現其的應用識別。但是,應當理解,接下來任何特定的程序術語都只是為了方便而使用的,因此本發明不應當限定為只用於由這些術語識別和/或暗示的任何特定應用。
本發明設想了用於檢測TCP網絡連接上進行Nagle的方法、系統和介質,這對受益於本公開內容的本領域技術人員來說將是顯而易見的。應當理解,在具體描述和附圖中示出和描述的本發明的形式應當僅僅視為例子。以下權利要求打算可以更廣地解釋,以包含所公開例子實施方式的所有變體。
權利要求
1.一種用於檢測傳輸控制協議(TCP)網絡連接上進行Nagle的方法,該方法包括由接收方計算機從發送方計算機接收小段;由接收方計算機在第一時間向發送方計算機發送該小段的延遲確認;在發送完延遲確認後,由接收方計算機在第二時間從發送方計算機接收第二個小段;由接收方計算機確定用於網絡連接的Nagle檢測閾值及第二時間與第一時間之間的差值;及如果第二時間與第一時間之間的差值小於或等於Nagle檢測閾值,則由接收方計算機檢測進行Nagle狀態。
2.如權利要求1所述的方法,還包括其中檢測步驟包括響應檢測到的進行Nagle狀態,由接收方計算機遞增接收方計算機的Nagle監視器計數器;及如果Nagle監視器計數器大於Nagle監視器閾值,則由接收方計算機發送進行Nagle警告。
3.如權利要求1所述的方法,還包括其中網絡連接具有Nagle算法配置;及響應檢測到的進行Nagle狀態,通過對網絡連接關掉Nagle算法或通過減小用於網絡連接的延遲確認定時器,由接收方計算機修改Nagle算法配置。
4.如權利要求1所述的方法,其中由接收方計算機確定Nagle檢測閾值包括由接收方計算機估計網絡連接的往返時間;由接收方計算機估計發送側的處理時間;及其中Nagle檢測閾值是基於估計的網絡遍歷時間確定的,該網絡遍歷時間包括估計的往返時間和估計的發送側處理時間的總和。
5.如權利要求1所述的方法,其中檢測步驟包括由接收方計算機產生並發送進行Nagle狀態的通知、由接收方計算機顯示進行Nagle狀態的指示、由接收方計算機遞增接收方計算機的Nagle監視器計數器或由接收方計算機將進行Nagle狀態的指示記錄在日誌中的一個或多個。
6.一種用於檢測具有最大段尺寸(MSS)的傳輸控制協議(TCP)網絡連接上進行Nagle的方法,該方法包括由網絡計算機搜索從網絡連接上上次確認開始後小於所接收的數據的MSS的兩倍的時間內確認的通過網絡連接從接收方計算機向發送方計算機的純確認;如果找到純確認,則由網絡計算機搜索該純確認後從發送方計算機發送到接收方計算機的小包;由網絡計算機確定Nagle檢測閾值及檢測到純確認和小包之間的時間差;及如果該時間差小於或等於Nagle檢測閾值,則由網絡計算機檢測進行Nagle狀態。
7.如權利要求6所述的方法,還包括由網絡計算機觀察接收方計算機和發送方計算機之間網絡連接的創建。
8.如權利要求6所述的方法,還包括其中檢測步驟包括響應檢測到的進行Nagle狀態,由網絡計算機遞增網絡計算機的Nagle監視器計數器;及如果Nagle監視器計數器高於Nagle監視器閾值,則由網絡計算機向用戶、管理員、接收方計算機或發送方計算機中的一個或多個發送進行Nagle警告。
9.如權利要求6所述的方法,其中搜索步驟包括實時搜索網絡連接或搜索與該網絡連接關聯的跟蹤歷史中的一個或多個。
10.如權利要求6所述的方法,其中由網絡計算機確定Nagle檢測閾值包括估計從網絡連接創建開始連接握手的往返時間;及其中Nagle檢測閾值是基於在連接握手時估計的往返時間確定的。
11.如權利要求6所述的方法,其中檢測步驟包括由網絡計算機產生並發送進行Nagle狀態的通知、由網絡計算機顯示進行Nagle狀態的指示、由網絡計算機遞增網絡計算機的Nagle監視器計數器或由網絡計算機將進行Nagle狀態的指示記錄在日誌中的一個或多個。
12.一種用於檢測網絡連接上進行Nagle的數據處理系統,該系統包括Nagle檢測閾值確定器,該Nagle檢測閾值確定器適於基於網絡連接確定Nagle檢測閾值;及Nagle檢測模塊,該Nagle檢測模塊與Nagle檢測閾值確定器通信,該Nagle檢測模塊適於觀察跟在指示第一時間進行Nagle狀態的確認之後第二時間的小段,其中如果第二時間和第一時間之間的差值小於或等於Nagle檢測閾值,則該Nagle檢測模塊還適於檢測進行Nagle狀態。
13.如權利要求12所述的系統,還包括跟蹤歷史,該跟蹤歷史適於存儲網絡連接上發送的歷史。
14.如權利要求12所述的系統,還包括用戶接口,該用戶接口適於顯示進行Nagle狀態存在的指示。
15.如權利要求12所述的系統,還包括網絡模塊,該網絡模塊適於方便通過網絡連接向發送方計算機發送和接收數據。
16.如權利要求12所述的系統,其中指示進行Nagle狀態的確認包括從網絡連接上上次確認開始後小於數據最大段尺寸(MSS)兩倍的時間內確認的純確認,而且其中Nagle檢測閾值還至少部分地基於該網絡連接的連接握手時估計的往返時間確定。
17.如權利要求12所述的系統,其中指示進行Nagle的確認包括響應小段的延遲確認,而且其中Nagle檢測閾值還至少部分地基於該網絡連接上估計的往返時間和估計的發送側處理時間確定。
18.如權利要求12所述的系統,其中Nagle檢測模塊還適於產生包括IP位址、埠號或時間戳中至少一個的進行Nagle狀態的警告。
19.如權利要求12所述的系統,其中Nagle檢測模塊還適於產生並向應用程式、接收方計算機、發送方計算機、網絡計算機、用戶或管理員中的至少一個發送進行Nagle狀態的通知。
20.如權利要求12所述的系統,其中網絡連接是TCP網絡連接。
全文摘要
公開了用於檢測TCP網絡連接上進行Nagle的系統、方法和介質。實施方式通常可以包括具有用於基於網絡連接確定Nagle檢測閾值的Nagle檢測閾值確定器的系統。該系統通常還可以包括與Nagle檢測閾值確定器通信、用於觀察跟在指示第一時間進行Nagle狀態的確認後第二時間的小段的Nagle檢測模塊,其中如果第二時間和第一時間之間的差值小於或等於Nagle檢測閾值,則Nagle檢測模塊還可以檢測進行Nagle狀態。該系統可以是接收方計算機或網絡計算機。該系統還可以產生並發送進行Nagle狀態的通知、遞增Nagle監視器計數器或將進行Nagle狀態的指示保存在日誌中。
文檔編號H04L29/06GK1812412SQ200610002469
公開日2006年8月2日 申請日期2006年1月26日 優先權日2005年1月27日
發明者拉齊夫·阿羅拉, 傑西·M·戈登 申請人:國際商業機器公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀