国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      處理多網(wǎng)絡(luò)連接上的定序記錄的設(shè)備和方法

      文檔序號:7552464閱讀:106來源:國知局
      專利名稱:處理多網(wǎng)絡(luò)連接上的定序記錄的設(shè)備和方法
      技術(shù)領(lǐng)域
      本發(fā)明一般性地涉及計算機(jī)系統(tǒng),特別涉及網(wǎng)絡(luò)上計算機(jī)系統(tǒng)之間進(jìn)行通信的設(shè)備和方法。
      背景技術(shù)
      自計算機(jī)時代開始以來,計算機(jī)系統(tǒng)已經(jīng)進(jìn)化為極其成熟的設(shè)備,可以在許許多多不同的環(huán)境下發(fā)現(xiàn)它的存在。計算機(jī)的廣泛使用刺激了計算機(jī)網(wǎng)絡(luò)的發(fā)展,計算機(jī)網(wǎng)絡(luò)使得計算機(jī)之間能夠相互通信。對大多數(shù)人來說,由于個人計算機(jī)(PC)的推廣,使用計算機(jī)處理日常工作變得極為容易。如今,個人計算機(jī)的網(wǎng)絡(luò)已經(jīng)發(fā)展成個人用戶和軟件可以在網(wǎng)絡(luò)上進(jìn)行相互通信。已經(jīng)變得極為流行的網(wǎng)絡(luò)是Internet。
      網(wǎng)絡(luò)通常是由硬件和軟件的組合構(gòu)成的。例如,為了使兩個計算機(jī)在網(wǎng)絡(luò)上進(jìn)行通信,每個計算機(jī)系統(tǒng)必須擁有通常通過路由器或交換設(shè)備將彼此連接在一起的網(wǎng)絡(luò)接口卡(NIC)。一旦硬件就緒,就要選擇能夠使計算機(jī)之間進(jìn)行通信的網(wǎng)絡(luò)協(xié)議。傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)是一個著名的、使計算機(jī)系統(tǒng)之間彼此能夠進(jìn)行通信的網(wǎng)絡(luò)協(xié)議。通過在一個計算機(jī)系統(tǒng)上定義套接字(代表與其它計算機(jī)系統(tǒng)上對應(yīng)套接字的點(diǎn)對點(diǎn)連接),TCP/IP在計算機(jī)系統(tǒng)之間進(jìn)行通信。一個計算機(jī)系統(tǒng)通過向其套接字寫入數(shù)據(jù)來向另一個計算機(jī)系統(tǒng)發(fā)送數(shù)據(jù),所述套接字對應(yīng)于這兩個計算機(jī)系統(tǒng)之間的連接。而另一個計算機(jī)系統(tǒng)在另一端從與該連接相應(yīng)的套接字讀出數(shù)據(jù)。一旦在兩個計算機(jī)系統(tǒng)上定義了一組相應(yīng)的套接字,通過針對各自的套接字寫入或讀出,這兩個系統(tǒng)能夠按照如上所述的那樣相互通信。
      本領(lǐng)域中已知許多不同類型的計算機(jī)網(wǎng)絡(luò)?,F(xiàn)今占絕對優(yōu)勢的計算機(jī)網(wǎng)絡(luò)形式是客戶-服務(wù)器網(wǎng)絡(luò)。在通常的客戶-服務(wù)器網(wǎng)絡(luò)中,一個或更多的客戶計算機(jī)系統(tǒng)被連接到網(wǎng)絡(luò)上,同時一個或更多服務(wù)器計算機(jī)系統(tǒng)也被連接到該網(wǎng)絡(luò)上。在某些客戶-服務(wù)器網(wǎng)絡(luò)中,客戶計算機(jī)系統(tǒng)是個人計算機(jī),而服務(wù)器系統(tǒng)是作為針對執(zhí)行網(wǎng)絡(luò)服務(wù)器功能而優(yōu)化的專用服務(wù)器的計算機(jī)系統(tǒng)。一般地,服務(wù)器計算機(jī)系統(tǒng)負(fù)責(zé)執(zhí)行客戶計算機(jī)系統(tǒng)請求的任務(wù)。
      從客戶計算機(jī)系統(tǒng)到服務(wù)器計算機(jī)系統(tǒng)的數(shù)據(jù)傳送是經(jīng)常需要執(zhí)行的常規(guī)任務(wù)。圖2給出的是現(xiàn)有技術(shù)的客戶-服務(wù)器計算機(jī)系統(tǒng)200的例子,用于從客戶計算機(jī)系統(tǒng)202的客戶機(jī)應(yīng)用210和220發(fā)送數(shù)據(jù)到服務(wù)器計算機(jī)系統(tǒng)204的服務(wù)器應(yīng)用270。在客戶計算機(jī)系統(tǒng)202上定義客戶機(jī)套接字230,該套接字通過網(wǎng)絡(luò)245連接到服務(wù)器計算機(jī)系統(tǒng)204上的相應(yīng)服務(wù)器套接字250。套接字230和套接字250因此專用于客戶機(jī)應(yīng)用210和服務(wù)器應(yīng)用270之間的通信。以類似的方式,客戶機(jī)套接字240被定義在客戶計算機(jī)系統(tǒng)202上,該套接字通過網(wǎng)絡(luò)245連接到服務(wù)器計算機(jī)系統(tǒng)204上的相應(yīng)服務(wù)器套接字260。套接字240和套接字260因此專用于客戶機(jī)應(yīng)用220和服務(wù)器應(yīng)用270之間的通信。
      當(dāng)客戶機(jī)應(yīng)用210將數(shù)據(jù)發(fā)送給服務(wù)器應(yīng)用270時,它將該數(shù)據(jù)寫到客戶機(jī)套接字230中,套接字230通過網(wǎng)絡(luò)245將數(shù)據(jù)傳輸?shù)椒?wù)器套接字250。服務(wù)器應(yīng)用270隨后可以從服務(wù)器套接字250中讀出該數(shù)據(jù)。這種類型的傳輸方式由圖中所示客戶機(jī)應(yīng)用210發(fā)送數(shù)據(jù)A、B、C和D到客戶機(jī)套接字230,數(shù)據(jù)由服務(wù)器套接字250接收并為服務(wù)器應(yīng)用270所用。包含數(shù)據(jù)A的記錄樣本如圖3所示。以類似的方式,當(dāng)客戶機(jī)應(yīng)用220將數(shù)據(jù)發(fā)送到服務(wù)器應(yīng)用270時,客戶機(jī)應(yīng)用220將該數(shù)據(jù)寫入客戶機(jī)套接字240,套接字240通過網(wǎng)絡(luò)245將該數(shù)據(jù)傳輸給服務(wù)器套接字260。服務(wù)器應(yīng)用270隨后可以從服務(wù)器套接字260中讀出數(shù)據(jù)。這種類型的傳輸方式由圖中所示客戶機(jī)應(yīng)用220發(fā)送數(shù)據(jù)V、X、Y和Z給客戶機(jī)套接字240,該數(shù)據(jù)由服務(wù)器套接字260接收并為服務(wù)器應(yīng)用270所用。
      在現(xiàn)有技術(shù),例如圖2所示的系統(tǒng)200中,客戶機(jī)應(yīng)用具有單個和專用的、用來與服務(wù)器應(yīng)用進(jìn)行通信的套接字。如果需要傳輸少量的數(shù)據(jù),該數(shù)據(jù)可以僅占用很少部分套接字能夠支持的可用帶寬。如果需要傳輸大量的數(shù)據(jù),數(shù)據(jù)必須在單個套接字上串行地發(fā)送,因而傳輸所需要的時間受到單個套接字的帶寬的限制。由于無法使用多個套接字在客戶機(jī)應(yīng)用和服務(wù)器應(yīng)用之間進(jìn)行通信,因此計算機(jī)產(chǎn)業(yè)將繼續(xù)受到在單個專用套接字上進(jìn)行通信的客戶機(jī)應(yīng)用的缺點(diǎn)的不利影響。

      發(fā)明內(nèi)容
      根據(jù)優(yōu)選實(shí)施例,一種設(shè)備和方法允許處理多個網(wǎng)絡(luò)連接上的定序記錄?!斑壿嬤B接”被定義為包含一個或多個網(wǎng)絡(luò)連接。每條消息被賦予一個序列號,使得消息能夠根據(jù)序列號在另一端按序排列,而不管邏輯連接中的哪一個網(wǎng)絡(luò)連接被用來傳輸該消息。通過定義消息,使那些消息按順序排列,并使得消息在多個網(wǎng)絡(luò)連接上傳輸,因而大大地提高了網(wǎng)絡(luò)計算機(jī)系統(tǒng)的吞吐量和性能。
      正如附圖所舉例說明的那樣,本發(fā)明的前述優(yōu)點(diǎn)和其它特性將在下列本發(fā)明的優(yōu)選實(shí)施例的具體描述中變得更為明顯。


      本發(fā)明的優(yōu)選實(shí)施例將在此后隨附圖一起描述,其中同樣的標(biāo)記表示同樣的部件圖1是根據(jù)本發(fā)明優(yōu)選實(shí)施例的設(shè)備的方框圖;圖2是現(xiàn)有技術(shù)中網(wǎng)絡(luò)計算機(jī)系統(tǒng)的一個實(shí)例的方框圖;圖3是圖2網(wǎng)絡(luò)計算機(jī)系統(tǒng)實(shí)例中發(fā)送的數(shù)據(jù)的方框圖;圖4是另一網(wǎng)絡(luò)計算機(jī)系統(tǒng)的方框圖;圖5是圖4網(wǎng)絡(luò)計算機(jī)系統(tǒng)發(fā)送的數(shù)據(jù)的方框圖;圖6是依據(jù)優(yōu)選實(shí)施例的網(wǎng)絡(luò)計算機(jī)系統(tǒng)的方框圖;
      圖7是圖6網(wǎng)絡(luò)計算機(jī)系統(tǒng)發(fā)送的數(shù)據(jù)的方框圖;圖8是圖7所示定序記錄頭的方框圖;圖9-圖18中的每個圖均給出根據(jù)優(yōu)選實(shí)施例的一個特定例子的網(wǎng)絡(luò)通信的不同階段;圖19給出的是根據(jù)優(yōu)選實(shí)施例、在單一邏輯連接上使用多個套接字在計算機(jī)系統(tǒng)之間進(jìn)行通信的方框圖;圖20給出的是根據(jù)優(yōu)選實(shí)施例、在多個邏輯連接上使用多個套接字在計算機(jī)系統(tǒng)之間進(jìn)行通信的方框圖;圖21給出的是根據(jù)優(yōu)選實(shí)施例、當(dāng)存在多個邏輯連接時在第一個邏輯連接上接收定序記錄的方框圖;圖22給出的是根據(jù)優(yōu)選實(shí)施例、當(dāng)存在多個邏輯連接時在第二個邏輯連接上接收定序記錄的方框圖;圖23是根據(jù)優(yōu)選實(shí)施例配置客戶機(jī)應(yīng)用的方法的流程圖;圖24是根據(jù)優(yōu)選實(shí)施例、通過套接字和異步I/O定序完成端口接收和處理記錄的方法的流程圖;圖25是根據(jù)優(yōu)選實(shí)施例、由服務(wù)器應(yīng)用執(zhí)行的方法的流程圖;圖26是圖25中的步驟2510的一種適用實(shí)現(xiàn)方案的流程圖。
      具體實(shí)施例方式
      本發(fā)明涉及計算機(jī)系統(tǒng)之間的網(wǎng)絡(luò)通信。對于那些不太熟悉的計算機(jī)之間網(wǎng)絡(luò)通信的技術(shù)人員,下面概述中提出的概念將有助于理解本發(fā)明。
      概述已知的網(wǎng)絡(luò)通信正如上述背景部分所討論的,圖2給出的是現(xiàn)有技術(shù)中的一個實(shí)例系統(tǒng)200,舉例說明的是客戶-服務(wù)器環(huán)境中的網(wǎng)絡(luò)通信??蛻粲嬎銠C(jī)系統(tǒng)202包含兩個客戶機(jī)應(yīng)用210和220,具有相應(yīng)的專用套接字230和240。套接字230和240經(jīng)過網(wǎng)絡(luò)245與服務(wù)器計算機(jī)系統(tǒng)204上相應(yīng)的套接字250和260進(jìn)行通信,服務(wù)器應(yīng)用270接收來自套接字250和260的輸入數(shù)據(jù)。
      圖2所例舉的現(xiàn)有技術(shù)系統(tǒng)200中存在幾個缺陷。首先,每個客戶機(jī)應(yīng)用專用于單一客戶機(jī)套接字。如果客戶機(jī)應(yīng)用有大量的數(shù)據(jù)需要發(fā)送,它必須在單一的套接字上進(jìn)行。其次,服務(wù)器應(yīng)用270直接服務(wù)于服務(wù)器套接字250和260。在TCP傳輸層上,為了在網(wǎng)絡(luò)245上傳輸數(shù)據(jù),可能將該數(shù)據(jù)(例如圖3所示的數(shù)據(jù)A)分解為多個數(shù)據(jù)分組。在現(xiàn)有技術(shù)的系統(tǒng)200中,當(dāng)每次接收分組時,服務(wù)器套接字250和260可以通知服務(wù)器應(yīng)用270。因此服務(wù)器應(yīng)用270針對每個所接收的信息分組都會與服務(wù)器套接字250和260進(jìn)行交互。這將對服務(wù)器應(yīng)用270增加很大的處理開銷。
      流協(xié)議頂層基于記錄的I/O在2001年11月21日提交的序列號為09/990,850的相關(guān)申請公開了對圖2現(xiàn)有技術(shù)系統(tǒng)200的改進(jìn),并作為圖4中的系統(tǒng)400給出。在服務(wù)器計算機(jī)系統(tǒng)270中提供了異步I/O的先入先出(FIFO)的完成端口460,以減輕服務(wù)器應(yīng)用270直接服務(wù)于服務(wù)器套接字250和260所接收的每個分組的開銷。當(dāng)數(shù)據(jù)(例如數(shù)據(jù)A)需要發(fā)送時,為數(shù)據(jù)前附指示消息長度的頭510,從而生成如圖5所示的數(shù)據(jù)記錄A′。數(shù)據(jù)記錄A′被發(fā)送到客戶機(jī)的專用套接字230,它通過網(wǎng)絡(luò)245將數(shù)據(jù)記錄A′傳輸?shù)较鄳?yīng)的服務(wù)器套接字250。如上所討論的那樣,數(shù)據(jù)記錄A′可能被分成多個分組以便在網(wǎng)絡(luò)245上傳輸。套接字250接收數(shù)據(jù)分組,讀出和解釋記錄的消息長度頭,將這些分組裝配在一起直至已經(jīng)完全接收了該記錄,并將完整的記錄(例如數(shù)據(jù)A′)遞送到異步I/O FIFO的完成端口460。因此服務(wù)器應(yīng)用270從異步I/O FIFO完成端口460讀出完整記錄。應(yīng)該注意的是,圖4所示的方案要求客戶機(jī)應(yīng)用410和420及服務(wù)器應(yīng)用270具有額外的發(fā)送數(shù)據(jù)記錄A′(它包括消息長度頭510(如圖5所示))而不是僅僅傳輸和接收數(shù)據(jù)A的邏輯連接。
      雖然計算機(jī)系統(tǒng)400通過減輕服務(wù)器應(yīng)用服務(wù)于服務(wù)器套接字的開銷對網(wǎng)絡(luò)通信進(jìn)行了改善,但當(dāng)大量的數(shù)據(jù)需要傳輸時,仍然存在十分嚴(yán)重的問題。因?yàn)橹挥袉我坏奶捉幼挚赡転橐粋€客戶機(jī)應(yīng)用服務(wù),大批量數(shù)據(jù)的傳輸受到單一套接字帶寬的吞吐量限制。
      細(xì)節(jié)描述本優(yōu)選實(shí)施例通過允許定義可以包含多個套接字的“邏輯連接”增強(qiáng)了網(wǎng)絡(luò)通信的性能。數(shù)據(jù)記錄可以通過包含多個套接字的邏輯連接發(fā)送出去,所接收的數(shù)據(jù)在另一端被正確重構(gòu)。通過定義包含多個套接字的邏輯連接,大大地減少了傳輸大量數(shù)據(jù)所需要的時間,因此提高了系統(tǒng)的性能。
      現(xiàn)在參照圖1,計算機(jī)系統(tǒng)100是根據(jù)本發(fā)明優(yōu)選實(shí)施例、適于服務(wù)器計算機(jī)系統(tǒng)的一個實(shí)現(xiàn)。計算機(jī)系統(tǒng)100是IBM eServeriSeries計算機(jī)系統(tǒng)。然而,本領(lǐng)域的技術(shù)人員會理解,本發(fā)明的這種機(jī)制和裝置同樣可以用于任何計算機(jī)系統(tǒng),不論該計算機(jī)系統(tǒng)是否是復(fù)雜的多用戶計算設(shè)備,單用戶的工作站,還是嵌入式控制系統(tǒng)。如圖1所示,計算機(jī)系統(tǒng)100包括處理器110、主存儲器120、海量存儲器接口130、顯示器接口140和網(wǎng)絡(luò)接口150。這些系統(tǒng)部件通過使用系統(tǒng)總線160相互連接起來。海量存儲器接口130用于將海量存儲設(shè)備(例如直接訪問存儲設(shè)備155)連接到計算機(jī)系統(tǒng)100。一種特定類型的直接訪問存儲設(shè)備155是可讀和可寫CD-RW驅(qū)動器,它可以向CD-RW195存儲數(shù)據(jù)和從CD-RW195讀出數(shù)據(jù)。
      根據(jù)優(yōu)選實(shí)施例的主存儲器120含有數(shù)據(jù)122、操作系統(tǒng)123、服務(wù)器應(yīng)用124、異步I/O定序完成端口125(此后被稱為AIOSCP125)和一個或多個的套接字129。AIOSCP125最好包含一個或多個排序分級隊(duì)列126和一個或多個已定義的邏輯連接128。計算機(jī)系統(tǒng)100利用著名的虛擬尋址機(jī)制,該機(jī)制允許計算機(jī)系統(tǒng)100的程序看上去就象它們僅對大的、單一的存儲實(shí)體,例如像主存儲器120和DASD設(shè)備155進(jìn)行訪問,而不是對多個較小的存儲實(shí)體進(jìn)行訪問。因此,雖然數(shù)據(jù)122、操作系統(tǒng)123、服務(wù)器應(yīng)用124、AIOSCP125和套接字129都示出為駐留在主存儲器120中,然而本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)認(rèn)識到,這些項(xiàng)目不必同時都完全地包含于主存儲器120中。同時應(yīng)當(dāng)注意到的是,這里使用的術(shù)語“存儲器”一般指的是計算機(jī)系統(tǒng)100的整個虛擬存儲器,可以包含與計算機(jī)系統(tǒng)100連接的其它計算機(jī)系統(tǒng)的虛擬存儲器。
      數(shù)據(jù)122表示任何充當(dāng)計算機(jī)系統(tǒng)100中任何程序中的輸入或輸出的數(shù)據(jù)。操作系統(tǒng)123是業(yè)內(nèi)被稱為OS/400的多任務(wù)操作系統(tǒng);然而,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解的是,本發(fā)明的宗旨和范圍并不限于任何一個操作系統(tǒng)。服務(wù)器應(yīng)用124最好是已知的服務(wù)器應(yīng)用軟件,但顯然可以擴(kuò)展到需要接收數(shù)據(jù)的任何計算機(jī)程序。套接字129和AIOSCP125(為簡單起見,此后被稱為AIOSCP 125)處理可能在多個邏輯連接上的輸入消息,并且在通知服務(wù)器應(yīng)用124可讀取一個或多個完成的消息之前,正確地將該數(shù)據(jù)排序。AIOSCP 1125適宜地包含一個或多個排序分級隊(duì)列126,它將消息以適當(dāng)?shù)捻樞蚺判?,無論接收的順序如何。然而,應(yīng)當(dāng)注意到的是,在優(yōu)選實(shí)施例的范圍內(nèi)排序分級隊(duì)列126可以與AIOSCP 125分立,如圖9-圖22所示。一個或多個邏輯連接128的定義告知AIOSCP 125如何構(gòu)造和排序輸入消息。AIOSCP 125對于它們各個組件126和128的操作將在下面參照圖9-22進(jìn)行詳細(xì)地闡述。
      處理器110可以由一個或多個微處理器和/或集成電路構(gòu)成。處理器110執(zhí)行存儲在主存儲器120內(nèi)的程序指令。主存儲器120存儲處理器110可以進(jìn)行訪問的程序和數(shù)據(jù)。當(dāng)計算機(jī)系統(tǒng)啟動時,處理器110最初執(zhí)行的程序指令是操作系統(tǒng)123的指令。操作系統(tǒng)123是管理計算機(jī)系統(tǒng)100的資源的復(fù)雜程序。這些資源中的某些資源是處理器110、主存儲器120、海量存儲器接口130、顯示器接口140、網(wǎng)絡(luò)接口150和系統(tǒng)總線160。
      盡管計算機(jī)系統(tǒng)100被示出為僅包含單一處理器和單一系統(tǒng)總線,然而本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解的是,本發(fā)明可以使用具有多個處理器和/或多個總線的計算機(jī)系統(tǒng)實(shí)現(xiàn)。此外,在優(yōu)選實(shí)施例中使用的接口均包含單獨(dú)的、用于從處理器110分擔(dān)計算密集的處理的完全編程微處理器。然而,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解的是,本發(fā)明同樣可以用于簡單使用I/O適配器執(zhí)行類似功能的計算機(jī)系統(tǒng)。
      顯示器接口140用于直接將一個或多個顯示器165連接到計算機(jī)系統(tǒng)100上。這些顯示器165可以是非智能(啞)終端或完全可編程工作站,用于允許系統(tǒng)管理員和用戶與計算機(jī)系統(tǒng)100通信。然而應(yīng)當(dāng)注意,盡管提供顯示器接口140以支持與一個或多個顯示器165的通信,但是計算機(jī)系統(tǒng)100不一定非得需要顯示器165,因?yàn)樗行枰呐c用戶和其它進(jìn)程進(jìn)行的交互可以通過網(wǎng)絡(luò)接口150進(jìn)行。
      網(wǎng)絡(luò)接口150用于將其它的計算機(jī)系統(tǒng)和/或工作站(例如圖1中的175)通過網(wǎng)絡(luò)170連接到計算機(jī)系統(tǒng)100。無論怎樣將計算機(jī)系統(tǒng)100連接到其它的計算機(jī)系統(tǒng)和/或,也不管是否使用現(xiàn)在的模擬技術(shù)和/或數(shù)字技術(shù),或某些未來的網(wǎng)絡(luò)機(jī)制組成網(wǎng)絡(luò)連接170,本發(fā)明均同樣適用。此外,許多不同的網(wǎng)絡(luò)協(xié)議可以用于實(shí)現(xiàn)網(wǎng)絡(luò)。這些協(xié)議是允許計算機(jī)通過網(wǎng)絡(luò)170進(jìn)行通信的專用計算機(jī)程序。TCP/IP(傳輸控制協(xié)議/網(wǎng)際協(xié)議)是一個合適的網(wǎng)絡(luò)協(xié)議例子。在本優(yōu)選實(shí)施例中,多個客戶機(jī)被連接到網(wǎng)絡(luò)170,服務(wù)器計算機(jī)系統(tǒng)100服務(wù)于這些客戶機(jī)的請求。
      這里需要注意到,盡管本發(fā)明已經(jīng)和將繼續(xù)在全功能計算機(jī)系統(tǒng)的環(huán)境中描述,然而本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解的是,本發(fā)明能夠作為各種形式的程序產(chǎn)品來發(fā)布,而且不管實(shí)際進(jìn)行發(fā)布的信號承載媒介的具體類型如何,本發(fā)明可以同樣適用。合適的信號承載媒介的例子包括可記錄類型的媒介,例如軟盤和CD-RW(例如圖1中的195),和例如數(shù)字和模擬通信鏈路的傳輸類型媒介。
      現(xiàn)在參照圖6,按照本優(yōu)選實(shí)施例的網(wǎng)絡(luò)計算機(jī)系統(tǒng)600包含通過網(wǎng)絡(luò)245連接到服務(wù)器計算機(jī)系統(tǒng)100的客戶計算機(jī)系統(tǒng)602??蛻粲嬎銠C(jī)系統(tǒng)602包含通過套接字630和632發(fā)送數(shù)據(jù)給服務(wù)器計算機(jī)系統(tǒng)100的第一客戶機(jī)應(yīng)用610。這兩個套接字630和632最好作為第一“邏輯連接”的一部分。以類似的方式,客戶計算機(jī)系統(tǒng)602包含通過套接字640和642發(fā)送數(shù)據(jù)給服務(wù)器計算機(jī)系統(tǒng)100的第二客戶機(jī)應(yīng)用620。這兩個套接字640和642最好作為第二邏輯連接的一部分。應(yīng)當(dāng)注意到的是,通過客戶機(jī)應(yīng)用610和620發(fā)送的數(shù)據(jù)最好包含定序記錄頭710,如圖7所示。定序記錄頭710最好包含消息長度810,序列號820和邏輯標(biāo)識(ID)號830,如圖8所示。因?yàn)樵搩?yōu)選實(shí)施例中所傳輸?shù)臄?shù)據(jù)與圖2和圖4中傳輸?shù)臄?shù)據(jù)的不同之處在于增加了新的頭信息,圖8所示的數(shù)據(jù)是A″-D″和V″-Z″。通過為數(shù)據(jù)前附包含消息長度,記錄序列號和對應(yīng)該記錄的邏輯ID號的定序記錄頭,客戶機(jī)在多個網(wǎng)絡(luò)連接上異步地發(fā)送消息,其中使用定序記錄頭710中的信息在接收計算機(jī)系統(tǒng)上適當(dāng)?shù)嘏判蛟撓ⅰ?br> 在假定單一邏輯連接的可選實(shí)施例中,定序記錄頭710可以不包含如圖8所示的邏輯ID號830。通過假定在這些套接字上接收的所有記錄在邏輯上相同(基于單一邏輯連接的假定),或者通過定義了一組用于邏輯連接的套接字的應(yīng)用級協(xié)議,邏輯ID可以被隱含。圖8中的定序記錄頭710是既可用于單一邏輯連接,又可用于多個邏輯連接的更加通用的情形。
      客戶機(jī)套接字630、632、640和642都通過網(wǎng)絡(luò)245連接到相應(yīng)的服務(wù)器套接字650、652、660和662。AIOSCP 125被連接到服務(wù)器套接字650、652、660和662上,如圖6所示。AIOSCP 125包含一個或多個排序分級隊(duì)列126,和一個或多個邏輯連接128。我們對這個例子假定第一邏輯連接包含客戶機(jī)套接字630、632和對應(yīng)的服務(wù)器套接字650、652。第二邏輯連接包含客戶機(jī)套接字640、642和對應(yīng)的服務(wù)器套接字660、662。與現(xiàn)有技術(shù)相比,優(yōu)選實(shí)施例非常重要的優(yōu)點(diǎn)之一是能夠定義多個套接字作為單個“邏輯連接”,因此強(qiáng)有力地改善了傳輸大數(shù)據(jù)記錄的速度。
      在圖6所示的特定構(gòu)造中,客戶機(jī)應(yīng)用610和620必須知道邏輯連接及其相應(yīng)套接字的配置。然后客戶機(jī)應(yīng)用必須將適當(dāng)?shù)亩ㄐ蛴涗涱^710加到每個待發(fā)送的數(shù)據(jù)消息中,并且必須確定哪個數(shù)據(jù)記錄將發(fā)送到哪個套接字。
      圖9-圖22舉例說明在本優(yōu)選實(shí)施例的范圍內(nèi)可執(zhí)行的各個步驟,以闡明本發(fā)明的原理。參照圖9,我們假定執(zhí)行服務(wù)器應(yīng)用124中所示的代碼。在行902和904上的兩個socket()指令創(chuàng)建圖9所示的套接字129A和129B。在行906處的createAIOSCP()指令創(chuàng)建異步I/O定序完成端口(AIOSCP)125。一旦創(chuàng)建了套接字129A,129B和AIOSCP,它們就在行908處進(jìn)行初始化。
      現(xiàn)在參照圖10,現(xiàn)在執(zhí)行服務(wù)器應(yīng)用124中的代碼。在行1002處設(shè)置記錄定義。記錄定義確定了定序記錄頭710中信息的布局和位置。然后在行1004處,在129A、129B和125的每個中將下一序列號初始化成1。隱含的邏輯ID可以在行1006處從AIOSCP 125中檢索出來。這假定邏輯ID可被隱含,正如圖8的可選實(shí)施例中所描述的那樣,不必使邏輯ID作為頭信息的一部分。對于圖8中所示的包含顯式邏輯ID 830的頭,行1006處的指令會被設(shè)置邏輯ID的指令所替換。
      行1008的startRecv()指令建立與套接字129A對應(yīng)的排序分級隊(duì)列126A,并使套接字129A、排序分級隊(duì)列126A和AIOSCP 125能夠開始進(jìn)行接收。在行1008處的指令中傳遞的參數(shù)指定AIOSCP#1(125)是完成端口,指定所規(guī)定的完成端口將服務(wù)于套接字#1(129A),并指定套接字#1(129A)是對應(yīng)于已定義連接的邏輯連接的部分。行1008的這個指令使該邏輯連接128被寫到AIOSCP125。以類似的方式,行1009的startRecv()指令建立對應(yīng)于套接字129B的排序分級隊(duì)列126B,使得套接字129A,排序分級隊(duì)列126A和AIOSCP 125能夠開始進(jìn)行接收。行1009的指令中傳遞的參數(shù)指定AIOSCP#1(125)是完成端口,指定所規(guī)定的完成端口將服務(wù)于套接字#2(129B),并指定套接字#2(129B)是對應(yīng)于已定義連接的邏輯連接的部分。在這個特定例子中,注意兩個套接字129A和129B已經(jīng)被指派到相同邏輯連接。本優(yōu)選實(shí)施例的非常重要的優(yōu)點(diǎn)是能夠?qū)⒍鄠€網(wǎng)絡(luò)連接(例如,多個套接字)定義成單一邏輯連接的部分,因此改善了傳輸大數(shù)據(jù)記錄的速度。
      一旦行1008和行1009的startRecv()指令已經(jīng)執(zhí)行,可以開始套接字129A和129B的記錄接收。參照圖11,現(xiàn)在可以執(zhí)行服務(wù)器應(yīng)用124中的代碼。在服務(wù)器應(yīng)用124等待時,在行1102上執(zhí)行指令asynchWait(),該指令指定AIOSCP 125可以開始執(zhí)行其功能,以便將定序記錄裝配成適當(dāng)?shù)捻樞颉?br> 圖12給出的是兩個套接字129A和129B現(xiàn)在正在接收的數(shù)據(jù)記錄。我們假定通過套接字129A已經(jīng)完全接收了記錄#2、#5和#8,因此所述記錄按順序保留在排序分級隊(duì)列126A中,其記錄號對應(yīng)于每個記錄的序列號。我們同樣假定通過套接字129B已經(jīng)完全接收了記錄#3、#6和#7,因此所述記錄按順序保留在排序分級隊(duì)列126B中,其記錄號對應(yīng)于每個記錄的序列號。應(yīng)當(dāng)注意的是,AIOSCP仍然將下一序列號設(shè)置為#1,然而記錄#1還沒有被接收,因此沒有完成記錄被傳輸?shù)綀D12的AIOSCP 125中。
      我們現(xiàn)在假定在套接字129B上接收到記錄#1,如圖13所示。因?yàn)?1是AIOSCP 125中的下一個序列號,完成記錄#1被傳輸?shù)紸IOSCP 125。此刻AIOSCP 125期望的下一個序列號是#2,它已經(jīng)出現(xiàn)在排序分級隊(duì)列126A中,因此完成記錄#2被傳輸?shù)紸IOSCP 125。AIOSCP 125期望的下一個序列號是#3,它已經(jīng)出現(xiàn)在排序分級隊(duì)列126B中,因此完成記錄#3被傳輸?shù)紸IOSCP 125。此刻AIOSCP 125期望的下一個序列號是#4,它還沒有被任一個套接字所接收,因此它不出現(xiàn)在排序分級隊(duì)列126A中,也不出現(xiàn)在排序分級隊(duì)列126B中。其結(jié)果如圖14所示,其中完成記錄#1、#2和#3已經(jīng)按順序?qū)懙紸IOSCP 125中。此刻AIOSCP 125通知服務(wù)器應(yīng)用124它具有要傳輸?shù)挠涗?。然后服?wù)器應(yīng)用124喚醒并接收完成記錄#1、#2和#3,如圖15的行1502所示。
      本優(yōu)選實(shí)施例的一個重要特性是能夠不按次序地接收優(yōu)先消息,使得該消息可以被服務(wù)器應(yīng)用盡可能快地接收。在本優(yōu)選實(shí)施例中,將0序列號視作優(yōu)先消息,該消息盡可能快地被直接傳遞到服務(wù)器應(yīng)用。參照圖16,在套接字129B上接收記錄#0。一旦整個記錄#0被套接字129B接收,完成記錄#0就被傳輸?shù)紸IOSCP 125,如圖17所示。AIOSCP 125接著喚醒服務(wù)器應(yīng)用124,服務(wù)器應(yīng)用124從AIOSCP 125接收完成記錄#0,如圖18所示。圖16-18表明,優(yōu)先記錄可以越過記錄的正常定序處理,使得優(yōu)先記錄被盡可能快地遞送到服務(wù)器應(yīng)用124。在圖16-18的簡單例子中,優(yōu)先記錄的序列號被設(shè)定為0。然而本優(yōu)選實(shí)施例顯然適用于任何將優(yōu)先記錄與定序記錄區(qū)分開的方式。
      圖9-18示出了一個系統(tǒng),其中當(dāng)只定義一個邏輯連接時,各個邏輯組的套接字通過AIOSCP 125執(zhí)行定序記錄I/O。正如圖19以簡化的方框圖形式所示的那樣,其中框1910表示圖9-18中所示的套接字129A和129B,排序分級隊(duì)列126A和126B,和AIOSCP125。因此,圖19是圖15所示系統(tǒng)的另一種表示。
      在本優(yōu)選實(shí)施例范圍內(nèi)的不同實(shí)施中,當(dāng)定義了多個邏輯連接時,各個邏輯組的套接字可以通過AIOSCP 125進(jìn)行定序記錄I/O。在這種情形中,輸入的數(shù)據(jù)記錄不僅包含序列號,而且包含邏輯連接號(見圖8)。不同邏輯連接的記錄可能會以任何順序接收???010表示多套接字多邏輯連接配置的AIOSCP,定序完成端口,和套接字。應(yīng)當(dāng)注意的是,輸入到框2010的數(shù)據(jù)記錄的順序是任意的,框2010對這些記錄進(jìn)行適當(dāng)?shù)亩ㄐ蚝团判?,以向服?wù)器應(yīng)用124提供經(jīng)過排序定序的記錄塊。于是,我們在圖20中可以見到邏輯連接#1的完成記錄#1、#2和#3作為排序的記錄組被傳輸,邏輯連接#2的完成記錄#1、#2和#3作為排序的記錄組被傳輸。該優(yōu)選實(shí)施例顯然適用于在任意適當(dāng)數(shù)目的網(wǎng)絡(luò)連接上定義任意適當(dāng)數(shù)目的邏輯連接的情況。
      圖20中的框2010的具體實(shí)施如圖21所示。我們看到套接字129A被定義為兩個邏輯連接的一部分,套接字129B同樣也被定義為這兩個邏輯連接的一部分。每個套接字上的每個邏輯連接具有它自己的對應(yīng)排序分級隊(duì)列。因此,套接字129A上的邏輯連接#1具有對應(yīng)的排序分級隊(duì)列126A;套接字129A上的邏輯連接#2具有對應(yīng)的排序分級隊(duì)列126B;套接字129B上的邏輯連接#1具有對應(yīng)的排序分級隊(duì)列126C;套接字129B上的邏輯連接#2具有對應(yīng)的排序分級隊(duì)列126D。對這個例子我們假定由套接字129A和129B接收的數(shù)據(jù)記錄如圖20所示。邏輯連接#1的記錄#1首先從排序分級隊(duì)列126A中取出并被寫到AIOSCP 125中。邏輯連接#1的記錄#2接著從排序分級隊(duì)列126C中取出并被寫到AIOSCP 125中。邏輯連接#1的記錄#3隨后從排序分級隊(duì)列126A中取出并被寫到AIOSCP 125中。此時,邏輯連接#1的下一個序列號是記錄#4,但在這個例子中它還沒有被接收。AIOSCP 125喚醒服務(wù)器應(yīng)用124,服務(wù)器應(yīng)用124接收邏輯連接#1的排序和定序記錄#1、#2和#3。
      圖22說明了AIOSCP 125如何針對邏輯連接#2按照適當(dāng)順序?qū)ε判蚍旨夑?duì)列126D中的定序記錄進(jìn)行排序,然后喚醒服務(wù)器應(yīng)用124并將這些記錄傳輸?shù)椒?wù)器應(yīng)用124。圖21和圖22中較為復(fù)雜一些的例子說明了AIOSCP 125和其相關(guān)的排序分級隊(duì)列126A、126B、126C和126D如何可以被用來定義多個網(wǎng)絡(luò)連接(例如套接字)上的多個邏輯連接。根據(jù)這里提出的簡單例子,本領(lǐng)域技術(shù)人員可以認(rèn)識到,優(yōu)選實(shí)施例的原理顯然可延及任意適當(dāng)數(shù)目的網(wǎng)絡(luò)連接上的任意適當(dāng)數(shù)目的邏輯連接。
      回到圖6,系統(tǒng)600的正確操作需要在系統(tǒng)600中執(zhí)行一些步驟。例如,圖23中的方法2300包含定義客戶機(jī)應(yīng)用必須知道以便根據(jù)優(yōu)選實(shí)施例進(jìn)行通信的信息的步驟。將這個信息適當(dāng)?shù)鼐幋a到客戶機(jī)應(yīng)用中(例如610和620)。在方法2300中,必須定義記錄格式(步驟2310)。下一個序列號被設(shè)置為1(步驟2320)。定義一個或多個邏輯連接,然后指派相應(yīng)的邏輯ID(步驟2330)。接著為每個邏輯連接定義一個或多個套接字(步驟2340)。通過步驟2310-2340中的信息,客戶機(jī)應(yīng)用610和620可以將消息傳輸?shù)娇蛻魴C(jī)套接字630、632、640和642(步驟2350)。應(yīng)當(dāng)注意的是,步驟2310、2320、2330和2340中的信息最好被硬編碼到客戶機(jī)應(yīng)用610和620中,或可以通過任何適當(dāng)?shù)姆绞奖粋魉偷娇蛻魴C(jī)610和620。一旦配置有步驟2310、2320、2330和2340中的信息,則在步驟2350中,客戶機(jī)應(yīng)用610和620將定序消息頭710(見圖8)加到記錄中,并確定將哪些記錄送往哪些邏輯連接的哪些套接字。
      如圖24所示的方法2400表示最好由圖6中AIOSCP 125執(zhí)行的步驟。定序消息(即包含圖8中的定序記錄頭710的記錄)被服務(wù)器套接字650、652、660和662裝配,然后完成的記錄被套接字和AIOSCP 125接收(步驟2410)。針對每個邏輯ID,在套接字上對記錄進(jìn)行排序(步驟2420)。然后AIOSCP 125等待任何丟失的記錄(步驟2430)。隨后,完成的定序記錄被發(fā)送到服務(wù)器應(yīng)用(步驟2440)。
      服務(wù)器應(yīng)用124最好執(zhí)行圖25所示的方法2500中的步驟。配置一個或多個的AIOSCP(例如圖6中的125)(步驟2510)。一旦AIOSCP配置好,服務(wù)器應(yīng)用124可以從AIOSCP接收定序消息(步驟2520)。然后服務(wù)器應(yīng)用124對這些記錄進(jìn)行處理(步驟2530)。必要地處理記錄的能力意味著服務(wù)器應(yīng)用知道存在多個邏輯ID,并且將接收的特定邏輯ID的記錄引向適當(dāng)?shù)奈恢?。在這個優(yōu)選實(shí)施例中,方法2500循環(huán)回到步驟2520,并繼續(xù)進(jìn)行循環(huán),直到服務(wù)器應(yīng)用結(jié)束。
      圖25的步驟2510的一種適合的實(shí)施如圖26所示。首先,在AIOSCP中定義記錄格式(步驟2610)。下一個序列號被設(shè)置為1(步驟2620)。定義一個或多個具有對應(yīng)邏輯ID的邏輯連接(步驟2630)。最后,使用記錄格式,序列號和邏輯ID在每個套接字上啟動異步接收操作(步驟2640)。因此,通過使用圖26所示的步驟進(jìn)行配置,AIOSCP 125準(zhǔn)備好在多個套接字上接收一個或多個邏輯連接的定序記錄。應(yīng)當(dāng)注意的是,圖25和圖26中的步驟2510的一種特定實(shí)施被示出為通過指令1002、1004、1006、1008和1009執(zhí)行的步驟。
      通過定義每個都能包含多個套接字的一個或多個邏輯連接,優(yōu)選實(shí)施例大大增強(qiáng)了計算機(jī)系統(tǒng)之間網(wǎng)絡(luò)通信的能力和靈活性。以這種方式,大量定序記錄能夠在多個套接字上并行地和不按次序地傳輸,其中在接收端上,在將記錄遞送到等待數(shù)據(jù)的應(yīng)用之前對這些記錄進(jìn)行適當(dāng)?shù)呐判颉?br> 本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,在本發(fā)明的范圍之內(nèi)可以進(jìn)行各種改動。因此,盡管參照其中的優(yōu)選實(shí)施例已經(jīng)特別給出和描述了本發(fā)明,然而本領(lǐng)域中的技術(shù)人員應(yīng)當(dāng)理解,可以進(jìn)行這些和其它形式和細(xì)節(jié)上的變化,只要不背離本發(fā)明的宗旨和范圍。例如,這里給出的套接字作為網(wǎng)絡(luò)連接的一個特定例子,但是顯然可以將優(yōu)選實(shí)施例延及任何和所有類型的網(wǎng)絡(luò)連接,不管它是現(xiàn)在已知的還是將來開發(fā)的。此外,優(yōu)選實(shí)施例是作為從客戶機(jī)到服務(wù)器傳輸?shù)臄?shù)據(jù)來舉例說明和描述的,但是這只是為了舉例的目的。優(yōu)選實(shí)施例顯然可以延及任何兩個計算機(jī)系統(tǒng)之間的定序記錄的傳輸和接收,不管它們是作為客戶計算機(jī)系統(tǒng)還是服務(wù)器計算機(jī)系統(tǒng)的特定指定或功能。
      權(quán)利要求
      1.一種設(shè)備,包括至少一個處理器;連接到至少一個處理器的存儲器;駐留在存儲器中并且由至少一個處理器執(zhí)行的軟件應(yīng)用;駐留在存儲器中并且由至少一個處理器執(zhí)行的異步完成端口,異步完成端口定義可以包含多個第一網(wǎng)絡(luò)連接的至少一個邏輯連接,異步完成端口從多個第一網(wǎng)絡(luò)連接接收多個定序消息,對多個定序消息進(jìn)行排序,并將排序的消息傳送到軟件應(yīng)用。
      2.如權(quán)利要求1中的設(shè)備,其中多個定序消息每個都包含序列號和邏輯連接標(biāo)識,其中異步完成端口使用每個定序消息的序列號和邏輯連接標(biāo)識對多個定序消息進(jìn)行排序。
      3.如權(quán)利要求1中的設(shè)備,其中異步完成端口定義多個邏輯連接,其中多個邏輯連接中的至少一個包含多個第一網(wǎng)絡(luò)連接。
      4.如權(quán)利要求1中的設(shè)備,其中異步完成端口包括對應(yīng)于邏輯連接的排序分級隊(duì)列,對相應(yīng)邏輯連接的多個定序消息進(jìn)行排序;從排序分級隊(duì)列接收排序消息的異步I/O定序完成端口。
      5.如權(quán)利要求1中的設(shè)備,其中異步完成端口定義多個邏輯連接,該異步完成端口包括與每個邏輯連接相對應(yīng)的排序分級隊(duì)列,每個排序分級隊(duì)列對相應(yīng)邏輯連接的多個定序消息進(jìn)行排序;和從每個排序分級隊(duì)列接收排序消息的異步I/O定序完成端口。
      6.如權(quán)利要求1中的設(shè)備,其中每個網(wǎng)絡(luò)連接包括套接字。7.如權(quán)利要求1中的設(shè)備,其中異步完成端口接收優(yōu)先消息并加快該優(yōu)先消息到軟件應(yīng)用的傳送。
      8.一種設(shè)備,包括至少一個處理器;與至少一個處理器相連的存儲器;駐留在存儲器中并且由至少一個處理器執(zhí)行的軟件應(yīng)用;駐留在存儲器中并且由至少一個處理器執(zhí)行的至少一個網(wǎng)絡(luò)連接,至少一個網(wǎng)絡(luò)連接接收多個消息,每個消息包含序列號和邏輯連接標(biāo)識;駐留在存儲器中并且由至少一個處理器執(zhí)行的異步完成端口,該異步完成端口定義至少一個邏輯連接,該異步完成端口接收多個消息,根據(jù)它們各自的序列號和邏輯連接標(biāo)識對多個消息進(jìn)行排序,并將排序消息傳送到軟件應(yīng)用。
      9.如權(quán)利要求8中的設(shè)備,其中異步完成端口定義多個邏輯連接,其中多個邏輯連接中的至少一個邏輯連接包含多個網(wǎng)絡(luò)連接。
      10.如權(quán)利要求8中的設(shè)備,其中異步完成端口包括對應(yīng)于邏輯連接的排序分級隊(duì)列,對相應(yīng)邏輯連接的多個消息進(jìn)行排序;從排序分級隊(duì)列接收排序消息的異步I/O定序完成端口。
      11.如權(quán)利要求8中的設(shè)備,其中異步完成端口定義多個邏輯連接,該異步完成端口包括與每個邏輯連接相對應(yīng)的排序分級隊(duì)列,該排序分級隊(duì)列對相應(yīng)邏輯連接的多個定序消息進(jìn)行排序;從每個排序分級隊(duì)列接收排序消息的異步I/O定序完成端口。
      12.如權(quán)利要求8中的設(shè)備,其中每個邏輯連接包括套接字。
      13.如權(quán)利要求8中的設(shè)備,其中異步完成端口接收優(yōu)先消息并將該優(yōu)先消息加快傳送到軟件應(yīng)用。
      14.一種設(shè)備,包括至少一個處理器;與至少一個處理器相連的存儲器;駐留在存儲器中并且由至少一個處理器執(zhí)行的軟件應(yīng)用;駐留在存儲器中并且由至少一個處理器執(zhí)行的多個套接字,每個套接字接收多個消息,每個消息包含序列號和邏輯連接標(biāo)識;駐留在存儲器中并且由至少一個處理器執(zhí)行的異步完成端口,該異步完成端口定義多個邏輯連接,其中多個邏輯連接中的至少一個包含多個套接字,異步完成端口包括與每個邏輯連接相對應(yīng)的排序分級隊(duì)列,該排序分級隊(duì)列讀出多個消息,并且根據(jù)它們各自的序列號和邏輯連接標(biāo)識對相應(yīng)邏輯連接的多個消息進(jìn)行排序;和異步I/O定序完成端口,從每個排序分級隊(duì)列接收排序消息,并將排序消息傳送到軟件應(yīng)用。
      15.在通過網(wǎng)絡(luò)連在一起的第一計算機(jī)系統(tǒng)和第二計算機(jī)系統(tǒng)之間進(jìn)行通信的方法,該方法包括步驟定義可包含多個第一網(wǎng)絡(luò)連接的至少一個邏輯連接;從多個第一網(wǎng)絡(luò)連接接收多個定序消息;對多個定序消息進(jìn)行排序。
      16.如權(quán)利要求15中的方法,該方法進(jìn)一步包括將排序消息傳送到在第二計算機(jī)系統(tǒng)中運(yùn)行的軟件應(yīng)用的步驟。
      17.如權(quán)利要求15中的方法,進(jìn)一步包括定義多個邏輯連接的步驟,其中多個邏輯連接中的至少一個邏輯連接包含多個網(wǎng)絡(luò)連接。
      18.如權(quán)利要求15中的方法,該方法進(jìn)一步包括步驟對每個邏輯連接的多個定序消息進(jìn)行排序;將排序消息傳送到軟件應(yīng)用。
      19.如權(quán)利要求15中的方法,該方法進(jìn)一步包括步驟接收優(yōu)先消息;加快傳送優(yōu)先消息到軟件應(yīng)用。
      20.如權(quán)利要求15中的方法,其中多個定序消息均包含序列號和邏輯連接標(biāo)識,其中對多個定序消息進(jìn)行排序的步驟包括使用每個定序消息的序列號和邏輯連接標(biāo)識對多個定序消息進(jìn)行排序的步驟。
      21.如權(quán)利要求15中的方法,其中每個網(wǎng)絡(luò)連接包括套接字。
      22.在通過網(wǎng)絡(luò)連接在一起的第一計算機(jī)系統(tǒng)和第二計算機(jī)系統(tǒng)之間進(jìn)行通信的方法,包括下列步驟(A)第一計算機(jī)系統(tǒng)通過網(wǎng)絡(luò)發(fā)送多個消息給第二計算機(jī)系統(tǒng),每個消息包含序列號和邏輯連接標(biāo)識;(B)第二計算機(jī)系統(tǒng)接收多個消息,并根據(jù)其各自的序列號和邏輯連接標(biāo)識對多個消息進(jìn)行排序。
      23.如權(quán)利要求22中的方法,該方法進(jìn)一步包括將排序消息傳送到在第二計算機(jī)系統(tǒng)上運(yùn)行的軟件應(yīng)用的步驟。
      24.如權(quán)利要求22中的方法,該方法進(jìn)一步包括定義多個邏輯連接的步驟,其中多個邏輯連接中的至少一個邏輯連接包含多個網(wǎng)絡(luò)連接。
      25.如權(quán)利要求22中的方法,該方法進(jìn)一步包括下列步驟對每個邏輯連接的多個定序消息進(jìn)行排序;將排序消息傳送到在第二計算機(jī)系統(tǒng)上運(yùn)行的軟件應(yīng)用。
      26.如權(quán)利要求22中的方法,該方法進(jìn)一步包括下列步驟第二計算機(jī)系統(tǒng)從第一計算機(jī)系統(tǒng)接收優(yōu)先消息;第二計算機(jī)系統(tǒng)加快傳送該優(yōu)先消息到第二計算機(jī)系統(tǒng)上運(yùn)行的軟件應(yīng)用。
      27.如權(quán)利要求22中的方法,其中每個網(wǎng)絡(luò)連接包括套接字。
      28.在通過網(wǎng)絡(luò)連接在一起的第一計算機(jī)系統(tǒng)和第二計算機(jī)系統(tǒng)之間進(jìn)行通信的方法,該方法包括下列步驟(A)在第二計算機(jī)系統(tǒng)上定義多個邏輯連接,其中所選擇的邏輯連接包含多個套接字;(B)第二計算機(jī)系統(tǒng)通過多個套接字從第一計算機(jī)系統(tǒng)接收多個消息,每個消息包含序列號和邏輯連接標(biāo)識;(C)第二計算機(jī)系統(tǒng)根據(jù)多個接收消息中每個消息的序列號和邏輯連接標(biāo)識對每個邏輯連接的多個接收消息進(jìn)行排序;(D)將排序消息傳送到在第二計算機(jī)系統(tǒng)上運(yùn)行的軟件應(yīng)用。
      29.一種程序產(chǎn)品,包括(A)異步完成端口,定義可包含多個第一網(wǎng)絡(luò)連接的至少一個邏輯連接,異步完成端口從多個第一網(wǎng)絡(luò)連接接收多個定序消息,對該多個定序消息進(jìn)行排序,并且將排序消息傳送到軟件應(yīng)用;(B)承載異步完成端口的計算機(jī)可讀信號承載媒體。
      30.如權(quán)利要求29中的程序產(chǎn)品,其中計算機(jī)可讀信號承載媒體包括可讀媒體。
      31.如權(quán)利要求29中的程序產(chǎn)品,其中計算機(jī)可讀信號承載媒體包括傳輸媒體。
      32.如權(quán)利要求29中的程序產(chǎn)品,其中多個定序消息均包含序列號和邏輯連接標(biāo)識,其中異步完成端口使用每個定序消息的序列號和邏輯連接標(biāo)識對多個定序消息進(jìn)行排序。
      33.如權(quán)利要求29中的程序產(chǎn)品,其中異步完成端口定義多個邏輯連接,其中多個邏輯連接的至少一個包含多個第一網(wǎng)絡(luò)連接。
      34.如權(quán)利要求29中的程序產(chǎn)品,其中異步完成端口包括與邏輯連接相應(yīng)的排序分級隊(duì)列,該隊(duì)列對相應(yīng)邏輯連接的多個定序消息進(jìn)行排序;從排序分級隊(duì)列接收排序消息的異步I/O定序完成端口。
      35.如權(quán)利要求29中的程序產(chǎn)品,其中異步完成端口定義多個邏輯連接,該異步完成端口包括與每個邏輯連接相應(yīng)的排序分級隊(duì)列,每個排序分級隊(duì)列對相應(yīng)邏輯連接的多個定序消息進(jìn)行排序;從每個排序分級隊(duì)列接收排序消息的異步I/O定序完成端口。
      36.如權(quán)利要求29中的程序產(chǎn)品,其中每個網(wǎng)絡(luò)連接包括套接字。
      37.一種程序產(chǎn)品,包括(A)定義至少一個邏輯連接的異步完成端口,該異步完成端口接收多個消息,每個消息包含序列號和邏輯連接標(biāo)識,根據(jù)其各自的序列號和邏輯連接標(biāo)識對多個消息進(jìn)行排序,并將排序消息傳送到軟件應(yīng)用;(B)計算機(jī)可讀信號承載媒體,承載異步完成端口。
      38.如權(quán)利要求37中的程序產(chǎn)品,其中計算機(jī)可讀信號承載媒體包括可記錄媒體。
      39.如權(quán)利要求37中的程序產(chǎn)品,其中計算機(jī)可讀信號承載媒體包括傳輸媒體。
      40.如權(quán)利要求37中的程序產(chǎn)品,其中異步完成端口定義多個邏輯連接,其中多個邏輯連接中的至少一個邏輯連接包含多個網(wǎng)絡(luò)連接。
      41.如權(quán)利要求37中的程序產(chǎn)品,其中異步完成端口包括與邏輯連接相應(yīng)的排序分級隊(duì)列,排序分級隊(duì)列對相應(yīng)邏輯連接的多個定序消息進(jìn)行排序;從排序分級隊(duì)列接收排序消息的異步I/O定序完成端口。
      42.如權(quán)利要求37中的程序產(chǎn)品,其中異步完成端口定義多個邏輯連接,該異步完成端口包括與每個邏輯連接相應(yīng)的排序分級隊(duì)列,排序分級隊(duì)列對相應(yīng)邏輯連接的多個定序消息進(jìn)行排序;從每個排序分級隊(duì)列接收排序消息的異步I/O定序完成端口。
      43.如權(quán)利要求37中的程序產(chǎn)品,其中每個網(wǎng)絡(luò)連接包括套接字。
      全文摘要
      處理多個網(wǎng)絡(luò)連接上的定序記錄的設(shè)備和方法。“邏輯連接”被定義為包含一個或多個網(wǎng)絡(luò)連接。每個消息被賦予一個序列號,使得消息按照序列號能夠在另一端按順序進(jìn)行排列,而不管邏輯連接中使用哪一個網(wǎng)絡(luò)連接來傳遞該消息。通過定義消息、將這些消息定序、并將這些消息通過多個網(wǎng)絡(luò)連接進(jìn)行傳遞,使得網(wǎng)絡(luò)計算機(jī)系統(tǒng)的吞吐量和性能得到了充分地增強(qiáng)。
      文檔編號H04L29/06GK1503152SQ20031011491
      公開日2004年6月9日 申請日期2003年11月13日 優(yōu)先權(quán)日2002年11月21日
      發(fā)明者蒂莫斯·R·布勞克, 鮑博·R·瑟諾豪斯, 斯蒂芬·J·西蒙森, 約翰·C·安特赫爾茲諾, J 西蒙森, C 安特赫爾茲諾, R 瑟諾豪斯, 蒂莫斯 R 布勞克 申請人:國際商業(yè)機(jī)器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1