專利名稱:縮短傳輸控制協議連接的學習曲線的方法和系統的制作方法
技術領域:
本發明一般地涉及改進的數據處理系統,具體地說,涉及用于在數據處理系統中優化性能的方法、系統和計算機程序產品。更具體地說,本發明提供了一種用于縮短傳輸控制協議連接的學習曲線的方法、系統和計算機程序產品。
背景技術:
域名系統(DNS)是一種主要用在因特網上以便將主機名(根據其在網絡上識別計算機的唯一名稱)轉換成因特網地址(通常以加點的十進制計數法表示的32位主機地址,如128.121.4.5)的通用分布式復制的數據查詢服務。所述地址可以被拆分成網絡號(或網絡地址)和對網絡上的每個主機唯一的主機號(并且有時還會是子網地址)。用戶應用程序可以通過使用諸如例如GetHostByName之類的查詢將主機名提供給域名系統來執行數據查詢。所述域名系統可以通過向用戶提供與所述主機名對應的因特網地址來響應所述查詢。域名系統可以被配置成根據正在查找的名稱中的域來使用一系列名稱服務器,直到找到匹配的主機名為止。
多數用戶應用程序在建立傳輸控制協議(TCP)連接之前使用域名系統,以便將任意主機名解析或轉換成網際協議地址。因此,每個應用程序都具有用于其傳輸控制協議連接的學習曲線,即為所述連接設置所需的傳輸控制協議參數所花費的一段時間。由于對于共享同一子網或同一域的應用來說,所述傳輸控制協議連接參數是相同的或相似的,所以此設置時間的很大一部分被花費在復制先前已在同一子網或同一域中完成的設置上。
發明內容
本發明是一種在數據處理系統中用于縮短傳輸控制協議連接的學習曲線的方法、系統和計算機程序產品。向外部名稱服務器查詢信息。從域名系統接收所述信息和用于傳輸控制協議連接的先前使用的傳輸控制協議參數。所述信息和所述先前使用的傳輸控制協議參數被用來配置當前的傳輸控制協議連接。
在所附權利要求中說明了被認為是本發明特性的新穎特征。但是,當結合附圖閱讀時,通過參考以下對示例性實施例的詳細說明,可以最佳地理解發明本身及其優選使用方式、進一步的目的和優點,這些附圖是圖1是根據本發明的示例性實施例的其中可以實現本發明的各方面的數據處理系統的網絡的圖示;圖2是根據本發明的示例性實施例的其中可以實現本發明的各方面的數據處理系統的方塊圖;圖3是示出了根據本發明的示例性實施例的用于縮短傳輸控制協議連接的學習曲線的組件的實例的方塊圖;圖4是示出了根據本發明的示例性實施例的用于使用圖3中示出的組件來查詢域名系統的組件的實例的方塊圖;以及圖5是示出了根據本發明的示例性實施例的用于縮短傳輸控制協議連接的學習曲線的過程的流程圖。
具體實施例方式
圖1-2被提供為其中可以實現本發明的諸實施例的數據處理環境的示例性示意圖。應當理解,圖1-2只是示例性的并且并非旨在斷言或暗示有關其中可以實現本發明的各方面或實施例的環境的任何限制。在不偏離本發明的精神和范圍的情況下可以對所示環境做出許多修改。
現在參考附圖,圖1示出了其中可以實現本發明的各方面的數據處理系統的網絡的圖示。網絡數據處理系統100是其中可以實現本發明的諸實施例的計算機網絡。網絡數據處理系統100包含網絡102,網絡102是用于在網絡數據處理系統100內連接到一起的各種設備和計算機之間提供通信鏈路的介質。網絡102可以包括諸如有線、無線通信鏈路或光纜之類的連接。
在所示實例中,服務器104和服務器106與存儲單元108一起連接到網絡102。另外,客戶機110、112和114連接到網絡102。這些客戶機110、112和114可以是例如個人計算機或網絡計算機。在所示實例中,服務器104向客戶機110、112和114提供諸如引導文件、操作系統映像以及應用之類的數據。在此實例中,客戶機110、112和114對于服務器104而言是客戶機。網絡數據處理系統100可以包括其他服務器、客戶機以及未示出的其他設備。
在所示實例中,網絡數據處理系統100是因特網,同時網絡102代表全球范圍內使用傳輸控制協議/網際協議(TCP/IP)協議集來相互通信的網絡和網關的集合。在因特網的核心是主節點或主機之間的高速數據通信線路的主干,它包括數以千計的商業、政府、教育以及其他路由數據和消息的計算機系統。當然,網絡數據處理系統100也可以被實現為許多不同類型的網絡,諸如例如企業內部互聯網、局域網(LAN)或廣域網(WAN)。圖1旨在作為一個實例,并非旨在作為對本發明的不同實施例的體系結構限制。
現在參考圖2,圖2示出了其中可以實現本發明的各方面的數據處理系統的方塊圖。數據處理系統200是諸如圖1中的服務器104或客戶機110之類的計算機的實例,實現本發明的實施例的過程的計算機可用代碼或指令可以位于其中。
在所示實例中,數據處理系統200采用包括北橋和存儲器控制器集線器(NB/MCH)202以及南橋和輸入/輸出(I/O)控制器集線器(SB/ICH)204的集線器體系結構。處理單元206、主存儲器208和圖形處理器210與NB/MCH 202相連。圖形處理器210可以通過加速圖形端口(AGP)與NB/MCH 202相連。
在所示實例中,局域網(LAN)適配器212與南橋和I/O控制器集線器204相連。音頻適配器216、鍵盤和鼠標適配器220、調制解調器222、只讀存儲器(ROM)224、硬盤驅動器(HDD)226、CD-ROM驅動器230、通用串行總線(USB)端口和其他通信端口232以及PCI/PCIe設備234通過總線238和總線240與SB/ICH 204相連。PCI/PCIe設備可以包括例如以太網適配器、附加卡和用于筆記本計算機的PC卡。PCI使用卡總線控制器,而PCIe則不使用該控制器。ROM 224可以是例如閃速二進制輸入/輸出系統(BIOS)。
HDD 226和CD-ROM驅動器230通過總線240與SB/ICH 204相連。HDD 226和CD-ROM驅動器230可以使用例如集成驅動電路(IDE)或串行高級技術附件(SATA)接口。超級I/O(SIO)設備236可以與SB/ICH204相連。
操作系統在處理單元206上運行并協調和提供對圖2中的數據處理系統200內的各種組件的控制。作為客戶機,所述操作系統可以是諸如MicrosoftWindowsXP之類的可從市場上購買的操作系統(Microsoft和Windows是微軟公司在美國、其他國家和地區或二者的商標)。諸如JavaTM編程系統之類的面向對象的編程系統可以與所述操作系統一起運行,并從在數據處理系統200上執行的Java程序或應用提供對操作系統的調用(Java是Sun Microsystems,Inc.在美國、其他國家和地區或二者的商標)。
作為服務器,數據處理系統200可以是例如IBM eServerTM pSeries計算機系統,運行高級交互執行(AIX)操作系統或LINUX操作系統(eServer、pSeries和AIX是國際商業機器公司在美國、其他國家和地區,或二者的商標,而LINUX是Linus Torvalds在美國、其他國家和地區,或二者的商標)。數據處理系統200可以是對稱多處理器(SMP)系統,包括處理單元206中的多個處理器。可替代地,也可以采用單處理器系統。
用于所述操作系統、面向對象的編程系統以及應用或程序的指令位于諸如HDD 226之類的存儲設備上,并可以被加載到主存儲器208中以便由處理單元206執行。用于本發明的諸實施例的過程由處理單元206使用計算機可用程序代碼來執行,所述計算機可用程序代碼可以位于諸如例如主存儲器208、ROM 224之類的存儲器中或一個或多個外圍設備226和230中。
本領域的技術人員將理解,圖1-2中的硬件可以根據實施方式而有所變化。除圖1-2中所示的硬件之外或替代所示硬件,還可以使用諸如閃存、等效非易失性存儲器或光盤驅動器之類的其他內部硬件或外圍設備。此外,本發明的過程也可以被應用到多處理器數據處理系統。
在某些示例性實例中,數據處理系統200可以是個人數字助理(PDA),其配備有閃存以提供非易失性存儲器以便存儲操作系統文件和/或用戶生成的數據。
總線系統可以包括諸如圖2中所示的總線238或總線240之類的一個或多個總線。當然,所述總線系統可以使用在連接到結構或體系結構的不同組件或設備之間提供數據傳輸的任何類型的通信結構或體系結構來實現。通信單元可以包括一個或多個諸如圖2的調制解調器222或網絡適配器212之類的用于傳輸和接收數據的設備。存儲器可以是例如主存儲器208、只讀存儲器224或諸如在圖2中的NB/MCH 202中找到的高速緩存。圖1-2中所示的實例和上述實例并非旨在暗示體系結構限制。例如,除采取PDA的形式外,數據處理系統200還可以是平板電腦、膝上型計算機或電話設備。
多數用戶應用程序都使用名稱服務器來查詢域名系統以便在建立傳輸控制協議(TCP)連接之前解析IP地址。由于對于共享同一子網或同一域的應用來說,所述TCP連接參數是相同的或相似的,所以此設置時間的很大一部分被花費在復制先前已在同一子網或同一域中完成的設置上。
根據本發明,應用程序可以縮短其用于建立傳輸控制協議連接的學習曲線。所述應用程序可以采用應用程序接口以通過向域名系統提供主機名來向所述域名系統查詢因特網地址。接收到所述查詢后,所述域名系統將用于所提供的主機名的因特網地址發送到所述應用程序接口。
本發明的實施例將所述域名系統修改成還將在對所提供的主機名的查詢的同一響應中的傳輸控制協議連接參數發送到所述應用程序接口。傳輸控制協議連接參數的實例包括往返時間、重復(duplicate)確認閾值、下一躍點路由器、路徑最大傳輸單元等,并且將在下面的圖3中進一步描述。
所述應用程序接口將用于主機名的因特網地址和傳輸控制協議連接參數發送到用戶應用程序,所述用戶應用程序依次將所述傳輸控制協議連接參數發送到操作系統的內核。所述操作系統的內核然后可以使用所述傳輸控制協議連接參數來配置傳輸控制協議連接以提供用于傳輸控制協議連接的縮短的學習曲線。
如果所述操作系統的內核在沒有最近用于從所述應用程序到所述主機的子網路徑的任何傳輸控制協議連接參數的情況下配置傳輸控制協議連接,則所述操作系統的內核必須使用可能沒有被證明非常準確的初始傳輸控制協議連接參數的默認值。當所述操作系統的內核必須隨時間對傳輸控制協議連接參數進行許多調整以反映實際的傳輸控制協議連接參數時,將導致所述傳輸控制協議連接的學習曲線延長。
相比之下,當所述操作系統的內核使用最近使用并存儲在用于從所述應用程序到所述主機的子網路徑的外部名稱服務器處的傳輸控制協議連接參數,最小化了所述操作系統的內核必須隨時間對所述傳輸控制協議連接參數進行調整的次數時,將導致所述傳輸控制協議連接的學習曲線縮短。
圖3是示出了根據本發明的示例性實施例的包括用于縮短傳輸控制協議連接的學習曲線的組件的域名系統的實例的方塊圖。可以使用用于圖1中的數據處理系統的網絡組件(如客戶機110、客戶機112或客戶機114)來實現客戶機主機310。可以使用用于圖1中的數據處理系統的網絡組件(如服務器104或服務器106)來實現外部名稱服務器316-320。
在此示例性實例中,客戶機主機310包括用戶應用程序302,內部解析器304和本地高速緩存322。用戶應用程序302通過內部解析器304與域名系統交互。例如,用戶應用程序302可以將用戶查詢(如用戶查詢306)發送到域名系統并通過內部解析器304從域名系統接收用戶響應(如用戶響應308)。用戶查詢306和用戶響應308的格式特定于客戶機主機310及其操作系統。用戶查詢306通常將是操作系統調用,并且內部解析器304和本地高速緩存322將是用于本地主機310的主機操作系統的一部分。功能較少的主機可以選擇作為將被與每個需要其服務的程序鏈接的子例程來實現內部解析器304。內部解析器304使用其通過到外部名稱服務器的查詢312和來自外部名稱服務器的響應314以及到本地高速緩存322的引用326獲得的信息來應答用戶查詢306。內部解析器304將從響應314接收的信息存儲在本地高速緩存322中并通過引用326從本地高速緩存322檢索信息。
注意,內部解析器304可能必須對多個不同的外部名稱服務器(如外部名稱服務器316、外部名稱服務器318和外部名稱服務器320)執行多個查詢312來應答用戶查詢306,并且因此用戶查詢306的解析可能涉及多個網絡訪問和任意的時間量。
用于用戶應用的連接的學習曲線可以由使用域名系統查詢的本發明的實施例來縮短,使得為所述連接設置所需的傳輸控制協議參數所花費的時間被縮短。除了縮短當前連接的學習曲線以外,保存隨時間對傳輸控制協議連接所作的更改可以提供一種用于縮短使用同一子網路徑的后續連接的學習曲線的裝置,無論所述連接是由訪問同一數據服務器的同一應用程序還是由通過同一子網路徑訪問同一數據服務器的其他應用程序來配置,與所述其他應用程序駐留在同一客戶機還是駐留在其他客戶機上無關。由于所述傳輸控制協議連接參數對于共享同一子網或同一域的用戶應用來說可以是相同的或相似的,所以在同一子網或同一域上使用先前建立的傳輸控制協議連接參數可以減少用于同一子網或同一域上的應用的設置時間。
本發明的實施例使用一種用于縮短傳輸控制協議連接的學習曲線的方法,其中所述外部名稱服務器除提供名稱到IP地址映射之外還提供其他信息。例如,用戶應用程序可以使用應用程序接口來使用GetHostByName查詢交互地查詢DNS。所述GetHostByName查詢被所述應用程序用來獲得對應于給定主機名的因特網地址。本發明的實施例修改所述域名系統,以便當用戶應用程序使用應用程序接口來查詢所述域名系統時,這些用戶應用程序可以獲得其他類型的未經請求的信息,包括傳輸控制協議連接參數。
例如,外部名稱服務器可以在其他信息字段中提供未經請求的其他信息。此未經請求的其他信息可以包括但不限于諸如往返時間、重復確認閾值、下一躍點路由器,路徑最大傳輸單元之類的傳輸控制協議連接參數。
往返時間(RTT)是網絡上當前延遲的度量,通過對從某些遠程主機彈回的分組計時來確定。
重復確認閾值(ACK TH),默認設置成3,用于在網絡中出現分組重新排序時快速重新發送傳輸控制協議。所述傳輸控制協議數據發送方僅在出現重新發送超時之后,或已經達到觸發快速重新發送算法的三次(默認值)重復確認之后才重新發送分組。
從因特網控制消息協議(ICMP)重定向或任何檢測到的死網關獲知下一躍點路由器。如果用戶通過兩個路由器(主路由器和輔助路由器)發送數據并且發生到所述輔助路由器的重定向,則所述輔助路由器變成下一躍點路由器。
另一個參數取決于與路徑最大傳輸單元(PMTU)發現有關的由于防火墻過濾因特網控制消息協議分組導致的問題,由此根據數據傳輸采取的通過各個路由器的路徑來限制最大傳輸單元,并且最受限的路徑的最大傳輸單元確定了所述數據傳輸的最大傳輸單元。
從所述外部名稱服務器獲得的未經請求的其他信息可以在子網或域的基礎上被保存在用于給定網際協議(IP)地址的所述外部名稱服務器的庫中。用戶應用程序可以將這些傳輸控制協議連接參數發送到操作系統內核,以便所述連接可以被更快地建立并且所述傳輸控制協議不再有較長的學習曲線。
圖4是示出了根據本發明的示例性實施例的用于使用圖3中示出的組件來查詢域名系統的組件的實例的方塊圖。在此示例性實施例中,客戶機4.1.1.1和客戶機4.6.6.6位于兩個不同的子網上。當客戶機4.1.1.1通過路由器4.2.2.2發送交互地使用域名系統GetHostByName方法的對數據服務器4.3.3.3的查詢時,外部名稱服務器4.3.9.9返回用于所述查詢的名稱、類、記錄類型以及數據。表1中示出了此信息的一個實例。
表1
如表1中所示,如果客戶機4.1.1.1發送對數據服務器4.3.3.3的查詢,則外部名稱服務器4.3.9.9返回數據服務器4.3.3.3的名稱“DataServer”、類“IN”、記錄類型“A”以及數據“4.3.3.3”。外部名稱服務器4.3.9.9將主機名“DataServer”(根據其在網絡上識別所述數據服務器計算機的唯一名稱)轉換成因特網地址(通常以加點的十進制計數法表示的32位主機地址,如“4.3.3.3”)。如上所述,DNS GetHostByName方法的這種使用是所述方法的當前使用,并且目前被許多用戶應用程序及其應用程序接口所使用。
但是,當使用本發明的實施例時,所述外部名稱服務器除提供名稱到IP地址映射以外還提供其他信息。本發明的實施例在其他信息字段中提供了未經請求的其他信息,所述信息包括但不限于傳輸控制協議參數。所述用戶應用程序使用應用程序接口來使用DNS GetHostByName方法交互地查詢DNS。當客戶機4.1.1.1發送對數據服務器4.3.3.3的查詢時,外部名稱服務器4.3.9.9在所述其他信息字段中返回未經請求的其他信息,包括在所述其他信息字段中的數據服務器4.3.3.3的名稱“RTT”、類“TCP”、記錄類型“rtt”,以及在此實例中,數據“120ms”。某些路由算法使用往返時間來幫助計算最佳路由。
當客戶機4.1.1.1發送對數據服務器4.3.3.3的查詢時,外部名稱服務器4.3.9.9在其他信息字段中返回更多未經請求的其他信息,包括在所述其他信息字段中的數據服務器4.3.3.3的名稱“ACK TH”、類“ATH”、記錄類型“ack_th”,以及在此實例中,數據“6”。重復確認閾值(ACKTH)通常被維護以區分分組重新排序和分組丟棄。
當客戶機4.1.1.1發送對數據服務器4.3.3.3的查詢時,外部名稱服務器4.3.9.9在其他信息字段中返回甚至更多未經請求的其他信息,包括在所述其他信息字段中的數據服務器4.3.3.3的名稱“Router”、類“RT”,記錄類型“router”,以及在此實例中,數據“4.2.2.2”。從接收因特網控制消息協議重定向或檢測死網關可以獲知下一躍點路由器,這可以幫助子網上不具有死網關檢測功能的客戶機。
當客戶機4.1.1.1發送對數據服務器4.3.3.3的查詢時,外部名稱服務器4.3.9.9在其他信息字段中返回更多未經請求的其他信息,包括在所述其他信息字段中的數據服務器4.3.3.3的名稱“PMTU”、類“TCP”、記錄類型“mtu”,以及在此實例中,數據“16K”。任何由于防火墻過濾因特網控制消息協議(ICMP)分組而導致的對目的地的路徑最大傳輸單元(PMTU)發現失敗都將幫助子網上的客戶機確定傳輸控制協議連接時用于特定路徑的傳輸單元的最大數量。外部名稱服務器4.3.9.9可以在其他信息字段中返回任何未經請求的其他信息,包括但不限于此實例中的傳輸控制協議連接參數。
概括地說,外部名稱服務器4.3.9.9在其他信息字段中返回未經請求的其他信息,所述信息包括用于數據服務器4.3.3.3的以下數據中的所有數據、某些數據、不包括所述數據,或包括所述數據的任意組合“4.3.3.3”是以加點的十進制計數法表示的32位主機地址,“120ms”是往返時間,“6”是確認閾值,“4.2.2.2”是下一躍點路由器,并且“16K”是路徑最大傳輸單元。所述用戶應用程序將此其他信息發送到操作系統的內核以用于通過由setsockopt例程設置套接字選項來配置所述傳輸控制協議連接。
setsockopt功能設置與任何類型的處于任何狀態的套接字關聯的套接字選項的當前值。選項可以存在于多個協議級別,并且選項將影響套接字操作,例如是否以普通數據流接收加速數據,以及廣播消息是否可以在套接字上被發送。存在兩種類型的套接字選項,啟用或禁用功能或行為的布爾選項以及需要整數值或結構的選項。
所述操作系統的內核使用setsockopt功能來使用最近使用并存儲在用于從應用程序到主機的子網路徑的外部名稱服務器處的傳輸控制協議連接參數來設置套接字選項。使用最近使用的傳輸控制協議連接參數最小化了所述操作系統的內核必須隨時間做出的調整傳輸控制協議連接參數的次數,導致縮短了傳輸控制協議連接的學習曲線。
類似地,當客戶機4.6.6.6通過路由器4.5.5.5和路由器4.2.2.2發送交互地使用DNS GetHostByName方法的對數據服務器4.3.3.3的查詢時,外部名稱服務器4.3.9.9在其他信息字段中返回未經請求的其他信息,包括表2中的以下信息。注意,由于客戶機4.6.6.6所采取的到數據服務器4.3.3.3的路徑與客戶機4.1.1.1所采取的到數據服務器4.3.3.3的路徑不同,所以表2中的傳輸控制協議連接參數與表1中的傳輸控制協議連接參數不同。客戶機4.6.6.6采取通過路由器4.5.5.5和路由器4.2.2.2兩者的路徑,該路徑是比客戶機4.1.1.1(其只采取通過路由器4.2.2.2的路徑)采取的路徑更長的路徑。
表2
如表所示,根據查詢來自哪個客戶機或根據所述客戶機來自哪個域,表2中外部名稱服務器4.3.9.9返回客戶機的信息不同于表1中的信息。
與所述外部名稱服務器將此其他信息保留為靜態信息以供同一子網上的其他客戶機隨后使用不同,各個子網上的客戶機可以使用“nsupdate”動態地更新此信息。所述用戶應用程序將此其他信息發送到所述操作系統的內核,所述內核通過使用setsockopt例程來設置用于傳輸控制協議連接的套接字選項。在所述連接的持續時間內,所述內核將調整后的實時傳輸控制協議參數與所述內核初始地用來設置用于傳輸控制協議連接的套接字選項的傳輸控制協議參數進行比較。如果所述實時傳輸控制協議參數與所述內核最初使用的傳輸控制參數不同,則所述內核通過使用“nsupdate”命令來更新外部名稱服務器上的傳輸控制參數。此更新確保所述外部名稱服務器向從所述外部名稱服務器請求傳輸控制協議參數的后續用戶應用程序提供最近可用的傳輸控制協議參數。
在連接關閉期間,類似于往返時間方差和平滑往返時間之類的往返時間相關信息被發送到所述外部名稱服務器。
確認閾值具有默認值3,并且當其被更改時(如更改為4或5),所更新的確認閾值可以被發送到所述外部名稱服務器,以便將此信息提供給子網上的其他客戶機。
在接收到因特網控制消息協議(ICMP)重定向或檢測到死網關時,客戶機可以使用此信息來更新所述外部名稱服務器。
任何由于防火墻過濾因特網控制消息協議(ICMP)分組而導致的對目的地的路徑最大傳輸單元(PMTU)發現失敗都將被發送到所述外部名稱服務器,其可以將此信息提供給子網上的其他客戶機。
更新最近可用的傳輸控制協議參數允許將用于特定目的地的此未經請求的其他信息與同一子網上的后續用戶應用程序共享,從而縮短了用于同一子網上的后續用戶應用程序的傳輸控制協議連接的學習曲線。
參考圖4的組件,圖5是示出了根據本發明的示例性實施例的用于縮短傳輸控制協議連接的學習曲線的過程的流程圖。客戶機4.1.1.1中的用戶應用使用應用程序接口來向域名系統查詢信息(步驟502)。接著,所述域名系統中的外部名稱服務器4.3.9.9將請求的信息和其他信息字段中的未經請求的其他信息(包括傳輸控制協議參數)返回客戶機4.1.1.1中的應用程序接口(步驟504)。此后,客戶機4.1.1.1中的應用程序接口將包括傳輸控制協議參數的信息發送到所述用戶應用程序(步驟506)。然后,所述用戶應用程序將包括傳輸控制協議參數的信息發送到客戶機4.1.1.1中的所述操作系統的內核(步驟508)。隨后,所述操作系統的內核通過設置連接的套接字選項來使用包括傳輸控制協議參數的信息來配置到數據服務器4.3.3.3的傳輸控制協議連接(步驟510)。
此外,客戶機4.1.1.1中的操作系統的內核將所述連接之后的傳輸控制協議參數與用于配置所述連接的傳輸控制協議參數進行比較(步驟512)。如果所述連接之后的傳輸控制協議參數與用于配置所述傳輸控制協議連接的傳輸控制協議參數不同,則客戶機4.1.1.1中的操作系統內核更新用于配置外部名稱服務器4.3.9.9中的傳輸控制協議連接的傳輸控制協議參數(步驟514)。
總之,如圖4和5中所示的組件和過程提供了一種用于跨多層的系統傳播過濾器表達式(filter expression)的改進的方法。
本發明可以采取完全硬件實施例、完全軟件實施例或同時包含硬件和軟件元素的實施例的形式。在示例性實施例中,本發明以軟件來實現,所述軟件包括但不限于固件、駐留軟件、微編碼等。
此外,本發明可以采取計算機程序產品的形式,所述計算機程序產品可從提供程序代碼以供或結合計算機或任何指令執行系統使用的計算機可用或計算機可讀介質來訪問。出于此描述的目的,計算機可用或計算機可讀介質可以是任何可以包含、存儲、傳送、傳播或傳輸程序以供或結合指令執行系統、裝置或設備使用的裝置。
所述介質可以是電、磁、光、電磁、紅外線或半導體系統(或裝置或設備)或傳播介質。計算機可讀介質的實例包括半導體、固態存儲器、磁帶、可移動計算機盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、硬磁盤和光盤。光盤的當前實例包括光盤-只讀存儲器(CD-ROM)、光盤-讀/寫(CD-R/W)和數字視頻盤(DVD)。
適合于存儲和/或執行程序代碼的數據處理系統將包括至少一個通過系統總線直接或間接地連接到存儲器部件的處理器。所述存儲器部件可以包括在程序代碼的實際執行期間使用的本地存儲器、大容量存儲裝置以及對至少某些程序代碼提供臨時存儲以便減少在執行期間必須從大容量存儲裝置檢索代碼的次數的高速緩沖存儲器。
輸入/輸出或I/O設備(包括但不限于鍵盤、顯示裝置、指點設備等)可以直接或通過中間I/O控制器與所述系統相連。
網絡適配器也可以與所述系統相連以便使所述數據處理系統能夠通過中間專用或公共網絡與其他數據處理系統或遠程打印機或存儲設備相連。調制解調器、電纜調制解調器以及以太網卡只是少數幾種當前可用的網絡適配器類型。
出于示例和說明目的給出了對本發明的描述,并且所述描述并非旨在是窮舉的或是將本發明限于所公開的形式。對于本領域的技術人員來說,許多修改和變化都將是顯而易見的。實施例的選擇和描述是為了最佳地解釋本發明的原理、實際應用,并且當適合于所構想的特定使用時,使得本領域的其他技術人員能夠理解本發明的具有各種修改的各種實施例。
權利要求
1.一種用于縮短傳輸控制協議連接的學習曲線的計算機實現的方法,所述計算機實現的方法包括向域名系統查詢信息;從所述域名系統接收所述信息和用于傳輸控制協議連接的先前使用的傳輸控制協議參數;以及使用所述信息和所述先前使用的傳輸控制協議參數來配置當前的傳輸控制協議連接。
2.根據權利要求1的計算機實現的方法,還包括將與所述當前的傳輸控制協議連接關聯的當前傳輸控制協議參數與所述先前使用的傳輸控制協議參數相比較;以及如果與所述當前的傳輸控制協議連接關聯的所述當前傳輸控制協議參數不同于所述先前使用的傳輸控制協議參數,則在所述域名系統中更新與所述當前的傳輸控制協議連接關聯的所述當前傳輸控制協議參數,其中響應于所述查詢步驟接收的所述先前使用的傳輸控制協議參數在被更新之后變成所述更新后的當前傳輸控制協議參數。
3.根據權利要求2的計算機實現的方法,其中所述更新步驟在所述域名系統內的其他信息字段中更新所述當前傳輸控制協議參數。
4.根據權利要求1的計算機實現的方法,其中所述查詢步驟和所述接收步驟由內部解析器來執行。
5.根據權利要求1的計算機實現的方法,其中所述接收步驟和所述使用步驟由用戶應用程序來執行。
6.根據權利要求1的計算機實現的方法,其中所述信息包括往返時間、重復確認閾值、下一躍點路由器以及與路徑最大傳輸單元發現有關的問題中的至少一項。
7.根據權利要求2的計算機實現的方法,其中所述使用步驟、所述比較步驟和所述更新步驟由操作系統來執行。
8.一種用于縮短傳輸控制協議連接的學習曲線的數據處理系統,所述數據處理系統包括總線;與所述總線相連的存儲設備,其中所述存儲設備包括計算機可用代碼;與所述總線相連的通信單元;以及與所述總線相連的處理單元,其中所述處理單元執行所述計算機可用代碼以向域名系統查詢信息,從所述域名系統接收所述信息和用于傳輸控制協議連接的先前使用的傳輸控制協議參數,以及使用所述信息和所述先前使用的傳輸控制協議參數來配置當前的傳輸控制協議連接。
9.根據權利要求8的數據處理系統,還包括將與所述當前的傳輸控制協議連接關聯的當前傳輸控制協議參數與所述先前使用的傳輸控制協議參數相比較,以及如果與所述傳輸控制協議連接關聯的所述當前傳輸控制協議參數不同于所述先前使用的傳輸控制協議參數,則在所述域名系統中更新與所述當前的傳輸控制協議連接關聯的所述當前傳輸控制協議參數的計算機可用代碼,其中響應于所述查詢步驟接收的所述先前使用的傳輸控制協議參數在被更新之后變成所述更新后的當前傳輸控制協議參數。
10.根據權利要求9的數據處理系統,其中所述更新步驟在所述域名系統內的其他信息字段中更新所述當前傳輸控制協議參數。
11.根據權利要求8的數據處理系統,其中所述查詢步驟和所述接收步驟由內部解析器來執行。
12.根據權利要求8的數據處理系統,其中所述接收步驟和所述使用步驟由用戶應用程序來執行。
13.根據權利要求8的數據處理系統,其中所述信息包括往返時間、重復確認閾值、下一躍點路由器以及與路徑最大傳輸單元發現有關的問題中的至少一項。
14.根據權利要求9的數據處理系統,其中所述使用步驟、所述比較步驟和所述更新步驟由操作系統來執行。
15.一種用于縮短傳輸控制協議連接的學習曲線的計算機程序產品,所述計算機程序產品包括其中包含有用于實現以上方法權利要求中的任一方法的計算機可用程序代碼的計算機可用介質。
全文摘要
一種在數據處理系統中用于縮短傳輸控制協議連接的學習曲線的方法。向域名系統查詢信息。從所述域名系統接收所述信息和用于傳輸控制協議連接的先前使用的傳輸控制協議參數。所述信息和所述先前使用的傳輸控制協議參數被用來配置當前的傳輸控制協議連接。
文檔編號H04L29/06GK1929498SQ20061007497
公開日2007年3月14日 申請日期2006年4月25日 優先權日2005年9月8日
發明者K·P·潘喬利, V·瓦拉巴內尼, V·文卡塔蘇布拉 申請人:國際商業機器公司