專利名稱:在用戶模式中分派網(wǎng)絡(luò)連接的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及用于向網(wǎng)絡(luò)監(jiān)聽器提供在用戶模式中將網(wǎng)絡(luò)連接的控制移交給所請求的進程的能力的系統(tǒng)、方法以及計算機程序產(chǎn)品。
背景技術(shù):
隨著越來越多的人和機構(gòu)無論在工作、家庭或是娛樂環(huán)境中都實現(xiàn)計算機化的系統(tǒng),對共享計算資源的需求也在增加。一種類型的共享環(huán)境即分布式文件系統(tǒng),其通常為基于客戶機/服務(wù)器的應(yīng)用程序,它允許客戶機通過網(wǎng)絡(luò)訪問并處理儲存在中央服務(wù)器中的數(shù)據(jù),如同該服務(wù)器就是客戶機自己的計算機一樣。例如,公司的幾個員工可被允許從多個個人計算機電子地訪問位于遠(yuǎn)程網(wǎng)絡(luò)驅(qū)動器中的某些文件。又比如說,位于一個位置的計算系統(tǒng)可能需要使用位于另一個位置的另一臺計算機的處理資源,以協(xié)助完成特定的作業(yè)。
當(dāng)然,恰恰因為通過網(wǎng)絡(luò)共享各種文件和進程可提供許多明顯的優(yōu)點,網(wǎng)絡(luò)化的問題和不足也是公知的。這樣的問題范圍從良性的體系結(jié)構(gòu)問題到惡意預(yù)謀的問題。良性體系結(jié)構(gòu)問題的一個示例是網(wǎng)絡(luò)計算機只有有限數(shù)量的端口的這一事實,這進而通常只允許向客戶機組件提供對有限數(shù)量的網(wǎng)絡(luò)組件的訪問,如網(wǎng)絡(luò)進程、模塊等等。在大量客戶機組件需要通過同一端口來訪問幾個網(wǎng)絡(luò)組件時,這就可能造成問題。
另一方面,惡意網(wǎng)絡(luò)問題的公知示例包括計算機病毒以及網(wǎng)絡(luò)入侵者。病毒是通常電子地從一個不知情的接收者傳播到下一接收者的計算機可執(zhí)行指令,當(dāng)被執(zhí)行時,它會變更或擦除重要的系統(tǒng)文件、盜取個人信息等等。類似地,網(wǎng)絡(luò)入侵者可以是對外部連接開放的網(wǎng)絡(luò)的問題,諸如具有到因特網(wǎng)的連接的關(guān)閉網(wǎng)絡(luò)。例如,惡意的人可能找到以非預(yù)期的方式獲取對公司網(wǎng)絡(luò)服務(wù)器的電子訪問的方法,并獲取對網(wǎng)絡(luò)內(nèi)發(fā)現(xiàn)的有價值的公司或者雇員文檔的訪問。
因此,對網(wǎng)絡(luò)上的計算機而言,計算機化系統(tǒng)的操作系統(tǒng)安全性正變得越來越重要。當(dāng)前,有各種各樣的方法和處理供計算機化系統(tǒng)使用,以加強安全性。這些方法和處理通常可分為幾種進程或組件運行的許可類型,如在用戶模式(較多限制,較少控制)控制級別運行,或者在核心模式(較少限制,較多控制)控制級別運行。一般而言,例如,若客戶機組件和網(wǎng)絡(luò)計算機處所請求的網(wǎng)絡(luò)進程正在用戶模式中傳遞信息,則客戶機組件僅能對網(wǎng)絡(luò)進程進行有限的訪問(如果有的話),而且它僅能對網(wǎng)絡(luò)計算機的系統(tǒng)存儲器或服務(wù)進行有限的訪問(如果有的話)。
然而,如果客戶機組件通過在網(wǎng)絡(luò)計算機上運行的核心模式驅(qū)動程序連接到網(wǎng)絡(luò)計算機組件,則客戶機就具有更多的靈活性。具體地,在某些情況下,客戶機進程可不受限地訪問系統(tǒng)存儲器,和/或網(wǎng)絡(luò)計算機中的其它服務(wù)、進程或組件。具體地,在網(wǎng)絡(luò)上監(jiān)聽的核心模式驅(qū)動程序幾乎或者完全不可能控制誰將對其發(fā)送消息。若核心模式驅(qū)動程序被消息發(fā)送者“愚弄”,則幾乎或完全不存在對消息發(fā)送者可造成的破壞的限制。相反,在用戶模式中運行的進程可能受到操作系統(tǒng)安全性的限制。
由此,運行組件的用戶模式和核心模式級別可具有多種優(yōu)點和不足,因此這兩種級別通常在特定類型的情況下實現(xiàn)。例如,諸如在網(wǎng)絡(luò)棧上實現(xiàn)TCP協(xié)議上的HTTP請求的組件等用戶模式監(jiān)聽器通過經(jīng)由任意數(shù)量的通信機制,諸如共享存儲器空間、命名管道、遠(yuǎn)程過程協(xié)議(“RPC”)、分布式組件對象模型(“DCOM”)等等,將客戶機進程數(shù)據(jù)中繼到請求的網(wǎng)絡(luò)進程來操作。請求的進程然后通過相關(guān)的通信機制采取所中繼的客戶機進程數(shù)據(jù),又同樣僅通過相關(guān)的通信機制對客戶機進程做出響應(yīng)。這樣,客戶機進程和請求的網(wǎng)絡(luò)計算機進程總是不直接通信。
具體地,由于在用戶模式中工作的監(jiān)聽器僅能對系統(tǒng)存儲器進行有限的訪問,且也只能對其它系統(tǒng)進程或組件進行有限的訪問,所以就顯著地阻止了惡意客戶機進程對網(wǎng)絡(luò)計算機進行破壞或訪問敏感信息。另一方面,由于用戶模式監(jiān)聽器擔(dān)當(dāng)使用共享存儲器、命名管道等中間中繼機制,因此用戶模式監(jiān)聽器就可成為網(wǎng)絡(luò)通信速度的重大瓶頸,尤其是對于大量外部客戶機連接或大量數(shù)據(jù)傳輸?shù)那闆r。
反之,諸如在核心模式中工作的網(wǎng)絡(luò)驅(qū)動程序等核心模式監(jiān)聽器將來自客戶機進程的連接數(shù)據(jù)直接寫到系統(tǒng)存儲器,且在適當(dāng)時甚至可將整個連接的控制分派給請求的網(wǎng)絡(luò)進程。在任一情況下,核心模式監(jiān)聽器允許網(wǎng)絡(luò)進程使用比使用共享存儲器空間、命名管道等快得多的機制與客戶機進程進行通信,就像用戶模式監(jiān)聽器一樣。令人遺憾的是,由于核心模式監(jiān)聽器能夠相當(dāng)自由地訪問網(wǎng)絡(luò)計算機系統(tǒng)和存儲器,所以惡意的人或程序就可能使網(wǎng)絡(luò)計算機存儲器過限,并能夠獲取對網(wǎng)絡(luò)計算機上的敏感系統(tǒng)文件或者其它網(wǎng)絡(luò)進程的訪問。因此,核心模式監(jiān)聽器在其中與其相關(guān)聯(lián)的速度可能會有益的多數(shù)情況下一般是被避免的。
因此,本領(lǐng)域的優(yōu)點可通過允許用戶模式監(jiān)聽器促進客戶機進程和請求的網(wǎng)絡(luò)進程之間的通信,而并不導(dǎo)致與其相關(guān)聯(lián)的典型的速度或瓶頸問題的系統(tǒng)、方法和計算機程序產(chǎn)品來實現(xiàn)。此外,可以用在適當(dāng)時促進客戶機進程和請求的網(wǎng)絡(luò)計算機之間的通信,同時不暴露網(wǎng)絡(luò)計算機中的系統(tǒng)存儲器或者其它敏感系統(tǒng)進程的系統(tǒng)來實現(xiàn)一個優(yōu)點。
發(fā)明內(nèi)容
本發(fā)明用允許用戶模式監(jiān)聽器以安全的方式有效地將客戶機連接的控制分派給網(wǎng)絡(luò)計算機組件的系統(tǒng)、方法和計算機程序產(chǎn)品解決了本領(lǐng)域中一個或幾個上述問題。具體地,依照本發(fā)明,用戶模式監(jiān)聽器可將客戶機連接的控制分派給請求的網(wǎng)絡(luò)組件,而并不暴露網(wǎng)絡(luò)計算機中的系統(tǒng)存儲器和/或系統(tǒng)服務(wù)。
例如,在本發(fā)明的至少一個實現(xiàn)中,監(jiān)聽器(如在網(wǎng)絡(luò)計算機上以用戶模式操作的網(wǎng)絡(luò)連接進程)接收來自客戶機組件的請求,用于對網(wǎng)絡(luò)組件進行通信訪問。如果適當(dāng),用戶模式監(jiān)聽器就將對于套接字復(fù)制的請求傳遞給第一應(yīng)用程序服務(wù),如應(yīng)用程序接口(“API”)或者其它組件、模塊,該第一應(yīng)用程序服務(wù)返回包括用戶模式上下文信息的第一組數(shù)據(jù)。然后,用戶模式監(jiān)聽器使用常規(guī)的中繼機制(如共享存儲器、命名管道等)將由第一應(yīng)用程序服務(wù)所發(fā)送的第一組數(shù)據(jù)傳遞給請求的網(wǎng)絡(luò)組件。
在適當(dāng)時,請求的網(wǎng)絡(luò)組件隨后調(diào)用應(yīng)用程序服務(wù),如第一或第二應(yīng)用程序服務(wù),以復(fù)制由用戶模式監(jiān)聽器所控制的套接字,并將第一組數(shù)據(jù)作為參數(shù)傳遞。接著,所調(diào)用的應(yīng)用程序服務(wù)向網(wǎng)絡(luò)組件提供具有對指定套接字的控制的參數(shù)以及第一組數(shù)據(jù)的參數(shù)的響應(yīng)。有了對指定套接字的控制,請求的網(wǎng)絡(luò)組件就能夠通過用于客戶機連接的剩余部分的套接字來與客戶機計算機組件進行直接通信。這樣,依照本發(fā)明的用戶模式監(jiān)聽器就可將客戶機連接控制分派給網(wǎng)絡(luò)計算機組件中,而不暴露系統(tǒng)存儲器或其它敏感系統(tǒng)服務(wù)、組件或進程。這就允許客戶機組件和網(wǎng)絡(luò)計算機組件以與在核心模式中操作時的速度相似的速度進行通信,并其安全性通常與用戶模式相關(guān)聯(lián)。
本發(fā)明的示例性實現(xiàn)的其它特征和優(yōu)點將在下面的描述中闡述,這些特征和優(yōu)點部分將從該描述中顯而易見,或者也可通過對這樣的示例性實現(xiàn)的實踐來領(lǐng)會??赏ㄟ^在所附權(quán)利要求書中特別指出的裝置和組合來實現(xiàn)和獲取這些實現(xiàn)的特征和優(yōu)點。通過下面的描述以及所附權(quán)利要求書,這些和其它特征會變得更加顯而易見,或者也可通過對下述這樣的示例性實現(xiàn)的實踐來了解。
為描述可獲得本發(fā)明的上述和其它優(yōu)點和特征的方式,將通過參考附圖中示出的其具體實施例來呈現(xiàn)上面簡述的本發(fā)明的更具體描述。要認(rèn)識到,這些附圖描述的僅是本發(fā)明的典型實施例,因此并不能認(rèn)為這是對本發(fā)明范圍的限制。通過使用附圖,本發(fā)明將用附加的特殊性和細(xì)節(jié)來描述和解釋,附圖中圖1A示出依照本發(fā)明的的一個實現(xiàn),在用戶模式中操作的監(jiān)聽器開始轉(zhuǎn)交客戶機組件和網(wǎng)絡(luò)組件之間連接的示意性綜述;圖1B示出圖1A的示意性綜述,其中網(wǎng)絡(luò)組件具有連接控制;圖2示出依照本發(fā)明的一個實現(xiàn),監(jiān)聽器用于終止連接、以及網(wǎng)絡(luò)組件用于從監(jiān)聽器接收連接控制的動作的流程圖;圖3示出用于實現(xiàn)依照本發(fā)明的系統(tǒng)和方法的合適的計算環(huán)境的示意圖。
具體實施例方式
本發(fā)明涉及允許用戶模式監(jiān)聽器以安全方式有效地將客戶機連接的控制分派到網(wǎng)絡(luò)計算機組件的系統(tǒng)、方法和計算機程序產(chǎn)品。具體地,依照本發(fā)明,用戶模式監(jiān)聽器可將客戶機連接的控制分派到請求網(wǎng)絡(luò)組件,而并不暴露網(wǎng)絡(luò)計算機的系統(tǒng)存儲器和/或系統(tǒng)服務(wù)。
由此,通過本說明書和權(quán)利要求書可以理解,本發(fā)明的一個方面包含將與客戶機組件(如進程、接口或模塊等)的連接控制分派給請求的網(wǎng)絡(luò)組件(如進程、接口或模塊等)。此外,盡管可以理解,此處闡述的連接可位于客戶機計算機系統(tǒng)的客戶機組件和不同網(wǎng)絡(luò)計算機系統(tǒng)的網(wǎng)絡(luò)組件之間,但是此處所述的本發(fā)明的原理也可用于同一本地計算機的組件間連接的環(huán)境中。即,存在這樣的情況,即同一計算機系統(tǒng)的客戶機和網(wǎng)絡(luò)組件通過中間進程,諸如監(jiān)聽器彼此交換數(shù)據(jù)。
在任何情況下,當(dāng)客戶機組件建立連接時,與網(wǎng)絡(luò)棧接口的用戶模式監(jiān)聽器可實現(xiàn)分派邏輯,以確定是否要將客戶機連接的控制分派到網(wǎng)絡(luò)組件。盡管并非所需,但本發(fā)明的另一方面可包括請求的網(wǎng)絡(luò)組件實現(xiàn)類似的演算以確定是否應(yīng)從用戶模式監(jiān)聽器接受客戶機連接的控制。當(dāng)網(wǎng)絡(luò)組件控制在每種環(huán)境下都適當(dāng)時,網(wǎng)絡(luò)組件就可接受連接控制,并通過網(wǎng)絡(luò)棧直接與客戶機組件進行對話。因此,客戶機組件和網(wǎng)絡(luò)組件能以在核心模式中通信時的速度類似的速度進行通信,而不會有其一個或幾個缺陷的風(fēng)險。
例如,圖1A示出用于在兩臺計算機之間實現(xiàn)本發(fā)明的示意圖,其中用戶模式監(jiān)聽器100控制來自客戶機計算機140的客戶機組件105和網(wǎng)絡(luò)計算機150中的網(wǎng)絡(luò)組件110之間的連接。在一個實現(xiàn)中,用戶模式監(jiān)聽器100是在用戶模式中操作的網(wǎng)絡(luò)連接進程,盡管用戶模式監(jiān)聽器100一般被認(rèn)為是與網(wǎng)絡(luò)棧115連接的接口、組件或模塊,而且其最初控制客戶機組件和網(wǎng)絡(luò)組件之間的用戶模式網(wǎng)絡(luò)連接。這樣,圖1A示出客戶機組件105已經(jīng)通過網(wǎng)絡(luò)棧115與網(wǎng)絡(luò)計算機150建立了連接。此外,圖1A示出監(jiān)聽器100通過套接字130控制客戶機組件105和網(wǎng)絡(luò)組件110之間的該連接。
最初,當(dāng)客戶機組件105和監(jiān)聽器100建立連接時,監(jiān)聽器100讀取由客戶機組件105所發(fā)送的一個或多個初始數(shù)據(jù)包中的至少一部分。在一個實現(xiàn)中,用戶模式監(jiān)聽器100在適當(dāng)時如此操作,以標(biāo)識如請求的網(wǎng)絡(luò)組件(如110)等因素,和/或有關(guān)請求的連接長度的某些指示。監(jiān)聽器100也可在從客戶機組件105讀取初始一個或多個數(shù)據(jù)包的時候?qū)崿F(xiàn)“分派邏輯”,以基于一個或多個客戶機消息屬性或系統(tǒng)屬性來確定是否可通過傳遞連接控制而提高效率。
例如,客戶機消息屬性可包括由客戶機組件105發(fā)送的所有或絕大多數(shù)數(shù)據(jù)包是否打算供同一請求的網(wǎng)絡(luò)組件110使用,或者要發(fā)送的連接會話的長度或消息大小是否使得控制分派適當(dāng),等等。相反,系統(tǒng)屬性可包括負(fù)載平衡或安全策略問題的考慮,它可通過將連接分派到請求的網(wǎng)絡(luò)組件來更好地實現(xiàn)。因此,分派邏輯可評估多個客戶機或其它系統(tǒng)因素,以向監(jiān)聽器100表明轉(zhuǎn)交連接控制是節(jié)省成本的。
若分派邏輯向監(jiān)聽器100表明從資源角度而言,傳遞已建立的客戶機連接控制是節(jié)省成本的,則監(jiān)聽器100可啟動所建立的連接控制的傳遞。為此,監(jiān)聽器100將功能調(diào)用發(fā)送到應(yīng)用程序服務(wù)120處,諸如應(yīng)用程序接口(“API”),或者管理套接字控制的其它組件或模塊。在一個實現(xiàn)中,監(jiān)聽器100也傳遞客戶機組件105所請求的網(wǎng)絡(luò)組件110以及對套接字復(fù)制的請求,作為功能調(diào)用參數(shù)。然后,應(yīng)用程序服務(wù)120用第一組數(shù)據(jù)(即“數(shù)據(jù)1”)做出響應(yīng),該數(shù)據(jù)是對客戶機組件105和網(wǎng)絡(luò)組件110之間的所建立的連接專用的。在一個實現(xiàn)中,該第一組數(shù)據(jù)包括這樣的數(shù)據(jù),比如有關(guān)所建立的連接的網(wǎng)絡(luò)棧115的一個或多個狀態(tài)變量,以及有關(guān)該連接的用戶模式上下文信息,以及在建立連接時由客戶機組件105所發(fā)送的任何數(shù)據(jù)。
在接收到第一組數(shù)據(jù)(即“數(shù)據(jù)1”)之后,圖1A示出監(jiān)聽器100使用用于用戶模式連接的通信機制將第一組數(shù)據(jù)和上下文信息發(fā)送到請求的網(wǎng)絡(luò)組件110。例如,現(xiàn)有的連接路徑可涉及對共享存儲器空間、命名管道、RPC、DCOM等的使用。對于共享存儲器空間,這通常涉及監(jiān)聽器100將第一組數(shù)據(jù)和上下文信息置于先前分配的共享存儲器中。在這樣的境況下,監(jiān)聽器100也可將單獨的信號(未示出)發(fā)送到網(wǎng)絡(luò)組件110,該信號表明在網(wǎng)絡(luò)組件110的共享存儲器中存在第一組數(shù)據(jù)要被提取。
一旦網(wǎng)絡(luò)組件110接收到第一組數(shù)據(jù)和上下文信息,網(wǎng)絡(luò)組件110就可啟動接受連接控制的步驟。在一個實現(xiàn)中,這涉及網(wǎng)絡(luò)組件110也執(zhí)行類似于監(jiān)聽器100所使用的“分派邏輯”的附加評估。例如,網(wǎng)絡(luò)組件110可試圖標(biāo)識客戶機組件105是否是可信客戶機,或者客戶機組件105要傳遞的數(shù)據(jù)類型是否適于被直接傳遞到網(wǎng)絡(luò)組件110中。在任何情況下,若網(wǎng)絡(luò)組件110決定接受連接控制,則網(wǎng)絡(luò)組件110啟動復(fù)制套接字130的步驟。為此,網(wǎng)絡(luò)組件100將功能調(diào)用傳遞到應(yīng)用程序服務(wù),附帶第一數(shù)據(jù)集參數(shù),以及復(fù)制由監(jiān)聽器100控制的套接字130的請求。
如圖1A中所示,網(wǎng)絡(luò)組件通過調(diào)用應(yīng)用程序服務(wù)125來請求復(fù)制套接字130,該應(yīng)用程序服務(wù)125是與應(yīng)用程序服務(wù)120不同的第二應(yīng)用程序服務(wù)、組件或模塊。然而,可以認(rèn)識到,使用相同的應(yīng)用程序服務(wù)可適用于某些情形,但是網(wǎng)絡(luò)組件110和監(jiān)聽器100使用兩種不同的應(yīng)用程序服務(wù)可適用于其它情形。在任何情況下,圖1示出應(yīng)用程序服務(wù)125評估功能調(diào)用以及從網(wǎng)絡(luò)組件110中傳遞出的所包括的數(shù)據(jù)。接著,應(yīng)用程序服務(wù)125將數(shù)據(jù)返回到網(wǎng)絡(luò)組件110,該應(yīng)用程序服務(wù)125允許網(wǎng)絡(luò)組件110控制套接字130。例如,應(yīng)用程序服務(wù)可返回套接字130的名稱或地址,在分派連接前從客戶機組件接收到數(shù)據(jù)的大初始包等、以及應(yīng)當(dāng)被中繼回到監(jiān)聽器100和網(wǎng)絡(luò)棧115的任何其它網(wǎng)絡(luò)棧狀態(tài)變量。應(yīng)用程序服務(wù)125也可在適當(dāng)時返回用戶模式上下文信息。
接下來,網(wǎng)絡(luò)組件110使用從應(yīng)用程序服務(wù)125返回的數(shù)據(jù),以操控套接字130,并從而控制建立的連接。在至少一種實現(xiàn)中,用于操控連接的該步驟可涉及由網(wǎng)絡(luò)組件110和監(jiān)聽器100所執(zhí)行的附加動作。例如,在一種實現(xiàn)中,網(wǎng)絡(luò)組件110將指示符發(fā)送到監(jiān)聽器100處,該指示符指示網(wǎng)絡(luò)組件110已經(jīng)操控了套接字130。響應(yīng)于該指示符,監(jiān)聽器100將另一個指示符發(fā)送到例如網(wǎng)絡(luò)棧的傳輸層107,該指示符表明監(jiān)聽器100不能再接收任何客戶機組件105數(shù)據(jù)。在某些情形下,監(jiān)聽器100也可將信號發(fā)送到網(wǎng)絡(luò)棧115,該信號告知相關(guān)層即刻緩沖傳入的客戶機組件105數(shù)據(jù),直到網(wǎng)絡(luò)組件110以某種方式建立套接字130的控制為止。
一旦所有的相關(guān)組件理解所請求的網(wǎng)絡(luò)組件110已經(jīng)接受了所建立的套接字130的控制,網(wǎng)絡(luò)組件110就被認(rèn)為已經(jīng)接受了所的連接的控制。具體地,圖1B示出圖1A的示意圖,其中網(wǎng)絡(luò)組件110已經(jīng)獲取了對套接字130的控制。在此圖中,監(jiān)聽器100不再用作客戶機組件105和網(wǎng)絡(luò)組件110之間的中繼中介,這樣以使網(wǎng)絡(luò)組件110和客戶機組件105直接通過網(wǎng)絡(luò)棧115進行通信。
如上所述,該直接通信通常比借助用戶模式中的監(jiān)聽器100通過共享存儲器、命名管道等進行通信的速度快得多。此外,諸如可涉及安全問題的一個或多個附加優(yōu)點可被實現(xiàn),這是由于可使套接字130控制的開關(guān)對客戶機組件105是透明的,這樣以使客戶機組件105不知道在從監(jiān)聽器100到請求網(wǎng)絡(luò)組件110的套接字控制中已存在開關(guān)。即,客戶機組件105最初可能完全不知道其連接正由監(jiān)聽器100處理。即使客戶機組件105知道它正在與監(jiān)聽器100對話,本發(fā)明的實現(xiàn)也不需要將表示網(wǎng)絡(luò)組件110現(xiàn)在正控制套接字130的信號發(fā)送到客戶機組件105。
本發(fā)明也可按照用于實現(xiàn)功能結(jié)果的特定、非功能性動作來描述,這些動作作為依照本發(fā)明的實現(xiàn)的一個或多個方法的一部分。具體地,圖2示出相互關(guān)聯(lián)的流程圖中的兩種方法,其中一方示出從用戶模式監(jiān)聽器100的觀點來執(zhí)行的動作,而另一方示出從請求的網(wǎng)絡(luò)組件110的觀點來執(zhí)行的動作。下面將按照圖1A和1B中所示示意圖來描述圖2的動作。
例如,圖2示出依照本發(fā)明將連接控制從監(jiān)聽器100一方分派給用戶模式中的網(wǎng)絡(luò)組件的方法包含建立連接的動作200。動作200包括在用戶模式中通過用戶模式中的套接字建立客戶機組件和監(jiān)聽器之間的連接。例如,客戶機組件105,如相同或不同的遠(yuǎn)程計算機中的進程啟動與監(jiān)聽器100的連接,并請求特定的網(wǎng)絡(luò)組件110,如相同或不同的遠(yuǎn)程網(wǎng)絡(luò)計算機中的另一個進程,作為連接參數(shù)的一部分。由于該連接是在用戶模式中的,因此與網(wǎng)絡(luò)棧115接口的監(jiān)聽器100將通過套接字,如通過圖1A中所示的套接字130來控制連接。
在某些情況下,監(jiān)聽器100也會在監(jiān)聽器100開始分派連接之前或同時將連接數(shù)據(jù)的初始部分傳遞到網(wǎng)絡(luò)組件110。因此,來自網(wǎng)絡(luò)組件110一方的方法可包含從客戶機組件接收數(shù)據(jù)的動作250。動作250包括通過用戶模式監(jiān)聽器100從客戶機組件105接收初始數(shù)據(jù)集。例如,網(wǎng)絡(luò)組件110可在監(jiān)聽器100決定對所建立的連接做什么時通過共享存儲器、命名管道、RPC、DCOM等接收一個或多個數(shù)據(jù)包。
再次參考監(jiān)聽器100的觀點,分派連接的方法還包含請求套接字的復(fù)制的動作210。動作210包括根據(jù)與連接相關(guān)聯(lián)的信息來請求套接字的復(fù)制,其中第一組數(shù)據(jù)被接收到。例如,在讀取由客戶機組件105啟動的連接中的初始數(shù)據(jù)集之后,監(jiān)聽器100可實現(xiàn)分派邏輯。如此處所描述的,分派邏輯可包括評估有關(guān)網(wǎng)絡(luò)棧115的狀態(tài)變量的這樣的因素數(shù)據(jù)、要在建立的連接中傳遞的數(shù)據(jù)量、連接的長度、客戶機是否是可信客戶機等等的功能。
若分派邏輯分析建議將控制轉(zhuǎn)交給網(wǎng)絡(luò)組件110,則在某些情況下,監(jiān)聽器100可執(zhí)行任何數(shù)量的附加步驟。例如,如上所述,監(jiān)聽器100可將功能調(diào)用發(fā)送到應(yīng)用程序服務(wù)120。在一種實現(xiàn)中,功能調(diào)用的參數(shù)包括客戶機請求的網(wǎng)絡(luò)組件、由客戶機組件105發(fā)送的某些初始數(shù)據(jù)量、對套接字復(fù)制的請求,和/或前述的任何組合。然后,應(yīng)用程序服務(wù)120可返回第一組數(shù)據(jù)(如“數(shù)據(jù)1”),該數(shù)據(jù)包括用戶模式上下文信息,作為其參數(shù)的一部分。如動作230中所示,監(jiān)聽器100隨后將任何諸如此類的相關(guān)數(shù)據(jù)繼續(xù)傳遞到網(wǎng)絡(luò)組件110。
因此,圖2中從網(wǎng)絡(luò)組件110的觀點來看的方法包含從監(jiān)聽器接收連接信息的動作260。動作260包括從用戶模式監(jiān)聽器接收連接信息,其中連接信息標(biāo)識有關(guān)客戶機組件和所建立的連接的信息。例如,網(wǎng)絡(luò)組件110可接收第一組數(shù)據(jù)(如“數(shù)據(jù)1”),該數(shù)據(jù)通過諸如共享存儲器、命名管道等傳遞通信機制而被傳遞。在某些情況下,該第一組數(shù)據(jù)也可包括建立的客戶機連接中還沒有從客戶機組件105接收到的其它數(shù)據(jù),以及網(wǎng)絡(luò)組件110可用來標(biāo)識接受套接字130的控制是否恰當(dāng)?shù)娜魏螖?shù)據(jù)。例如,監(jiān)聽器100可決定將套接字130的控制轉(zhuǎn)交給網(wǎng)絡(luò)組件110是適當(dāng)?shù)?,但是網(wǎng)絡(luò)組件110可實現(xiàn)其自己的類似的分派邏輯,以決定網(wǎng)絡(luò)組件110不適合處理連接的控制。例如,網(wǎng)絡(luò)組件110可確定客戶機組件105不是可信的?;蛘?,網(wǎng)絡(luò)組件110可被簡單地配置成接受來自監(jiān)聽器100的所有所分派的連接。
然而,若網(wǎng)絡(luò)組件110已經(jīng)確定能夠接受套接字130的控制,則圖2示出網(wǎng)絡(luò)組件110執(zhí)行請求套接字的復(fù)制的動作270。動作270包括請求與連接相關(guān)聯(lián)的套接字復(fù)制。例如,網(wǎng)絡(luò)組件110將功能調(diào)用傳遞到應(yīng)用程序服務(wù),無論是與之前一樣的同一應(yīng)用程序服務(wù)120,還是不同的應(yīng)用程序服務(wù),如應(yīng)用程序服務(wù)125。功能調(diào)用的參數(shù)包括先前被傳遞給監(jiān)聽器100的第一組數(shù)據(jù)(如“數(shù)據(jù)1”)。相關(guān)應(yīng)用程序服務(wù),如應(yīng)用程序服務(wù)125隨后處理功能調(diào)用并將套接字信息返回給網(wǎng)絡(luò)組件110。套接字信息也可包括網(wǎng)絡(luò)棧115的與所建立的連接相關(guān)聯(lián)的一個或多個狀態(tài)變量。在任何情況下,返回的信息允許網(wǎng)絡(luò)組件110操控套接字130。
因此,從網(wǎng)絡(luò)組件觀點來看的方法也包含接受套接字的控制的動作280。動作280包括從監(jiān)聽器接受套接字的控制,其中網(wǎng)絡(luò)組件通過用戶模式中的連接直接與客戶機組件進行通信。例如,在一種實現(xiàn)中,網(wǎng)絡(luò)組件110將信號發(fā)送給監(jiān)聽器100,該信號表明網(wǎng)絡(luò)組件110已經(jīng)接受了套接字的控制(如圖1B)。然而,在另一種實現(xiàn)中,網(wǎng)絡(luò)組件110可直接與網(wǎng)絡(luò)棧115進行通信,并告知網(wǎng)絡(luò)棧115停止通過監(jiān)聽器100發(fā)送信息。
然而,圖2中從監(jiān)聽器100觀點來看的方法示出用于分派控制的方法可包含接收網(wǎng)絡(luò)組件已經(jīng)接受控制的指示符的動作240。動作280包括接收網(wǎng)絡(luò)組件已經(jīng)接受套接字控制的指示符,這樣以使監(jiān)聽器不再從客戶機組件接受用于連接的連接數(shù)據(jù),并且使網(wǎng)絡(luò)組件和客戶機組件通過沒有監(jiān)聽器的連接而進行通信。例如,由于監(jiān)聽器在用戶模式中傳遞套接字130的控制,所以網(wǎng)絡(luò)組件110也在用戶模式中有效地連接到客戶機組件105。即,客戶機組件105和網(wǎng)絡(luò)組件110通過網(wǎng)絡(luò)協(xié)議棧115而直接相連,盡管是在關(guān)于存儲器使用有限制或其它限制許可的模式中,且從而避免了對網(wǎng)絡(luò)計算機的惡意利用。
因此,本發(fā)明的實現(xiàn)提供了本領(lǐng)域的眾多優(yōu)點。具體地,可以在不同計算機之間或同一計算機上的網(wǎng)絡(luò)和客戶機組件之間在必要時以快得多的速度做出相對安全或受限更多的連接,甚至達(dá)到核心模式連接速度或者更佳。此外,本發(fā)明的實現(xiàn)允許監(jiān)聽器主要在連接可能對系統(tǒng)產(chǎn)生瓶頸問題時終止到網(wǎng)絡(luò)組件的連接。由此,監(jiān)聽器就仍舊可繼續(xù)在用戶模式中處理不能堅持從分派連接中顯著獲益的大量連接,并以更有效的方式進行分派。
圖3和下面的討論旨在提供其中可實現(xiàn)本發(fā)明的合適計算環(huán)境的簡要概括描述。盡管并非所需,但本發(fā)明將在諸如由網(wǎng)絡(luò)環(huán)境中的計算機執(zhí)行的程序模塊等計算機可執(zhí)行指令的通用上下文中描述。一般而言,程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等,它們執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。計算機可執(zhí)行指令、相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)、以及程序模塊代表用于執(zhí)行此處所描述的方法的程序代碼裝置的示例。這些可執(zhí)行指令的特定序列或相關(guān)聯(lián)的數(shù)據(jù)結(jié)構(gòu)代表用于實現(xiàn)這些步驟中所描述的功能的相應(yīng)動作的示例。
本領(lǐng)域的技術(shù)人員會認(rèn)識到,本發(fā)明可在具有多種類型計算機系統(tǒng)配置的網(wǎng)絡(luò)計算環(huán)境中實現(xiàn),包括個人計算機、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程消費者電子設(shè)備、網(wǎng)絡(luò)PC、小型機、大型機等等。本發(fā)明也可在分布式計算環(huán)境中實現(xiàn),其中通過通信網(wǎng)絡(luò)鏈接(或者通過有線鏈路、無線鏈路,或者通過有線和無線鏈路的組合)本地和遠(yuǎn)程處理設(shè)備執(zhí)行任務(wù)。在分布式計算環(huán)境中,程序模塊可位于本地或遠(yuǎn)程存儲器存儲設(shè)備中。
參考圖3,用于實現(xiàn)本發(fā)明的示例性系統(tǒng)包括形式為常規(guī)計算機320的通用計算設(shè)備,包括處理單元321、系統(tǒng)存儲器322,以及將包括系統(tǒng)存儲器322在內(nèi)的不同系統(tǒng)組件耦合到處理單元321的系統(tǒng)總線323。系統(tǒng)總線323可以是幾種類型的總線結(jié)構(gòu)中的任一種,包括存儲器總線或存儲器控制器、外圍總線,以及使用幾種總線體系結(jié)構(gòu)中的任一種的局部總線。系統(tǒng)存儲器包括只讀存儲器(ROM)324和隨機存取存儲器(RAM)325?;据斎?輸出系統(tǒng)(BIOS)326可被儲存在ROM 324中,BIOS包含如在啟動階段幫助在計算機320內(nèi)的元件之間傳遞信息的基本例程。
計算機320也可包括用于對硬磁盤339進行讀寫的硬磁盤驅(qū)動器327,用于對可移動磁盤329進行讀寫的磁盤驅(qū)動器328,以及用于對諸如CD ROM或其它光介質(zhì)這樣的可移動光盤331進行讀寫的光盤驅(qū)動器330。硬磁盤驅(qū)動器327、磁盤驅(qū)動器328和光盤驅(qū)動器330分別通過硬磁盤驅(qū)動器接口332、磁盤驅(qū)動器接口333和光盤驅(qū)動器接口334連接到系統(tǒng)總線323。驅(qū)動器及其相關(guān)聯(lián)的計算機可讀介質(zhì)為計算機320提供了計算機可執(zhí)行指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的非易失性存儲。盡管這里示出的示例性環(huán)境使用硬磁盤339、可移動磁盤329和可移動光盤331,但是也可使用用于儲存數(shù)據(jù)的其它類型的計算機可讀介質(zhì),包括盒式磁帶、閃存卡、數(shù)字多功能盤、伯努利盒式磁帶、RAM、ROM等等。
包括一個或多個程序模塊的程序代碼裝置可被儲存在硬盤339、磁盤329、光盤331、ROM 324或者RAM 325中,其中包括操作系統(tǒng)335、一個或多個應(yīng)用程序336、其它程序模塊337以及程序數(shù)據(jù)338。用戶可通過鍵盤340、定點設(shè)備342、或者其它輸入設(shè)備(未示出),如麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星電視天線、掃描儀等來將命令和信息輸入到計算機320中。這些和其它的輸入設(shè)備一般通過與系統(tǒng)總線323耦合的串行端口接口346連接到處理單元321。另外,輸入設(shè)備可通過諸如并行端口、游戲端口或通用串行總線端口(USB)這樣的其它接口相連。監(jiān)視器347或另一顯示設(shè)備也通過諸如視頻適配器348這樣的接口與系統(tǒng)總線323相連。除監(jiān)視器之外,個人計算機通常包括其它的外圍輸出設(shè)備(未示出),如揚聲器和打印機。
計算機320可使用到一個或多個遠(yuǎn)程計算機,如遠(yuǎn)程計算機349a和349b的邏輯連接在網(wǎng)絡(luò)化環(huán)境中工作。遠(yuǎn)程計算機349a和349b的每一個都可以是另一個人計算機、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它常見的網(wǎng)絡(luò)節(jié)點,并且通常包括許多或所有上文相對于計算機320所描述的元件,盡管在圖3中只示出了存儲器存儲設(shè)備350a和350b,以及其相關(guān)聯(lián)的應(yīng)用程序336a和336b。圖3中所述的邏輯連接包括局域網(wǎng)(LAN)351和廣域網(wǎng)(WAN)352,這里作為示例性提出而并非限制性的。這樣的網(wǎng)絡(luò)化環(huán)境常見于辦公范圍或企業(yè)范圍計算機網(wǎng)絡(luò)、局內(nèi)網(wǎng)和因特網(wǎng)。
當(dāng)在LAN網(wǎng)絡(luò)化環(huán)境中使用時,計算機320通過網(wǎng)絡(luò)接口或適配器353連接到局域網(wǎng)351。當(dāng)在WAN網(wǎng)絡(luò)化環(huán)境中使用時,計算機320可包括調(diào)制解調(diào)器354、無線鏈路、或者用于通過廣域網(wǎng)352(如因特網(wǎng))建立通信的其它裝置。調(diào)制解調(diào)器354可為外置或內(nèi)置的,它通過串行端口接口346與系統(tǒng)總線323相連。在網(wǎng)絡(luò)化環(huán)境中,相對于計算機320所描述的程序模塊或其部分可被儲存在遠(yuǎn)程存儲器存儲設(shè)備中??梢哉J(rèn)識到,所示的網(wǎng)絡(luò)連接是示例性的,也可使用通過廣域網(wǎng)352建立通信的其它裝置。
在不背離本發(fā)明主旨或精髓的前提下,本發(fā)明可用其它具體形式來實施。所描述的實施例在各個方面都應(yīng)被認(rèn)為僅是示例性的,并非限制性的。因此,本發(fā)明的范圍是由所附權(quán)利要求書而非以上描述來指示的。落入權(quán)利要求書的等價技術(shù)方案的意義和范圍的所有變化都認(rèn)為包含在其范疇之內(nèi)。
權(quán)利要求
1.在網(wǎng)絡(luò)計算機系統(tǒng)的用戶模式監(jiān)聽器處,其中所述用戶模式監(jiān)聽器被配置成在用戶模式中在客戶機組件和網(wǎng)絡(luò)組件之間中繼連接,一種在用戶模式中將連接的控制分派給網(wǎng)絡(luò)組件的方法,包含以下步驟在用戶模式中,通過套接字在客戶機組件和監(jiān)聽器之間建立連接,其中,所述客戶機組件請求網(wǎng)絡(luò)組件;基于與所述連接相關(guān)聯(lián)的信息請求復(fù)制所述套接字,其中,接收到第一組數(shù)據(jù);將所述第一組數(shù)據(jù)和所述相關(guān)聯(lián)的連接信息發(fā)送到所請求的網(wǎng)絡(luò)組件;以及接收表明所述網(wǎng)絡(luò)組件已經(jīng)接受了所述套接字的控制的指示符,以使所述監(jiān)聽器不再從所述客戶機計算機接受用于所述連接的連接數(shù)據(jù),并且使所述網(wǎng)絡(luò)組件和所述客戶機組件通過沒有所述監(jiān)聽器的連接進行通信。
2.如權(quán)利要求1所述的方法,其特征在于,所述客戶機組件是客戶機計算機系統(tǒng)中的客戶機進程,并且所請求的網(wǎng)絡(luò)組件是不同的網(wǎng)絡(luò)計算機系統(tǒng)中的網(wǎng)絡(luò)進程,并且其中,所述客戶機計算機系統(tǒng)和所述網(wǎng)絡(luò)計算機系統(tǒng)通過網(wǎng)絡(luò)連接而連接。
3.如權(quán)利要求1所述的方法,其特征在于,所述監(jiān)聽器是被配置成將從網(wǎng)絡(luò)協(xié)議棧接收的消息中繼到所請求網(wǎng)絡(luò)組件的進程、接口、組件或模塊中的任意一個。
4.如權(quán)利要求1所述的方法,其特征在于,請求復(fù)制所述套接字還包含將功能調(diào)用傳遞到第一應(yīng)用程序服務(wù),所述功能調(diào)用包括所請求的網(wǎng)絡(luò)組件的參數(shù);以及從所述第一應(yīng)用程序服務(wù)接收所述第一組數(shù)據(jù)。
5.如權(quán)利要求4所述的方法,其特征在于,對所述第一應(yīng)用程序服務(wù)的函數(shù)調(diào)用的參數(shù)還包括與所建立的連接相關(guān)聯(lián)的一個或多個狀態(tài)變量。
6.如權(quán)利要求1所述的方法,其特征在于,請求復(fù)制所述套接字還包含用分派邏輯評估所建立的連接的初始部分,所述分派邏輯評估與所述第一組數(shù)據(jù)相關(guān)聯(lián)的一個或多個客戶機消息屬性,以及與網(wǎng)絡(luò)計算機系統(tǒng)相關(guān)聯(lián)的系統(tǒng)屬性。
7.如權(quán)利要求1所述的方法,其特征在于,接收表明所述網(wǎng)絡(luò)組件已經(jīng)接受控制的指示符包含將一信號發(fā)送到與所述連接相關(guān)聯(lián)的網(wǎng)絡(luò)棧,所述信號向所述網(wǎng)絡(luò)棧的傳輸層表明所述監(jiān)聽器不再能從所建立的連接接收數(shù)據(jù)。
8.如權(quán)利要求7所述的方法,其特征在于,所述信號還包含在所述網(wǎng)絡(luò)組件接受所建立的連接的控制之前緩沖由所述客戶機組件發(fā)送的數(shù)據(jù)的指令。
9.如權(quán)利要求7所述的方法,其特征在于,在將所述信號發(fā)送到所述網(wǎng)絡(luò)棧之后,一接收到客戶機組件數(shù)據(jù)的后續(xù)集合,該方法還包含監(jiān)聽器將所述客戶機組件數(shù)據(jù)的后續(xù)集合返回到所述網(wǎng)絡(luò)棧,這樣以使所述客戶機組件數(shù)據(jù)的后續(xù)集合在所述網(wǎng)絡(luò)組件接受所建立的連接的控制之前被緩沖。
10.如權(quán)利要求1所述的方法,其特征在于,還包含在請求復(fù)制所述套接字之前或同時,至少將所建立的連接中的客戶機組件數(shù)據(jù)的初始部分傳遞到所述網(wǎng)絡(luò)組件。
11.在網(wǎng)絡(luò)計算機系統(tǒng)的網(wǎng)絡(luò)組件中,其中,通過用戶模式監(jiān)聽器在客戶機組件和所述網(wǎng)絡(luò)組件之間建立連接,一種網(wǎng)絡(luò)組件接受來自用戶模式中的監(jiān)聽器的連接控制的方法,包含以下動作通過所述用戶模式監(jiān)聽器從客戶機組件接收初始數(shù)據(jù)集;從所述用戶模式監(jiān)聽器接收連接信息,其中,所述連接信息標(biāo)識有關(guān)所述客戶機組件和所建立的連接的信息;請求復(fù)制與所述連接相關(guān)聯(lián)的套接字;以及從所述監(jiān)聽器接受所述套接字控制,其中,所述網(wǎng)絡(luò)組件在用戶模式中通過所述連接直接與所述客戶機組件進行通信。
12.如權(quán)利要求11所述的方法,其特征在于,所述網(wǎng)絡(luò)組件是網(wǎng)絡(luò)計算機系統(tǒng)中的網(wǎng)絡(luò)進程,而所述客戶機組件是不同的客戶機計算機系統(tǒng)中的客戶機進程,并且其中,所述網(wǎng)絡(luò)計算機系統(tǒng)和所述客戶機計算機系統(tǒng)是通過網(wǎng)絡(luò)連接相連的。
13.如權(quán)利要求11所述的方法,其特征在于,來自所述客戶機組件的所述初始數(shù)據(jù)集是通過共享存儲器、命名管道、RPC或DCOM協(xié)議的一個或多個來接收的。
14.如權(quán)利要求11所述的方法,其特征在于,請求復(fù)制所述套接字還包含將功能調(diào)用傳遞給應(yīng)用程序服務(wù),所述功能調(diào)用包括由所述用戶模式監(jiān)聽器中繼的第一組數(shù)據(jù)的參數(shù);以及從所述應(yīng)用程序服務(wù)接收用于控制所述套接字的信息。
15.如權(quán)利要求14所述的方法,其特征在于,所述第一組數(shù)據(jù)是由所述監(jiān)聽器從第一應(yīng)用程序服務(wù)接收的,并且其中,所述第一應(yīng)用程序服務(wù)與所述網(wǎng)絡(luò)組件向其傳遞所述功能調(diào)用的應(yīng)用程序服務(wù)不同。
16.如權(quán)利要求14所述的方法,其特征在于,所述第一組數(shù)據(jù)的參數(shù)還包含與所建立的連接相關(guān)聯(lián)的一個或多個狀態(tài)變量、復(fù)制所述套接字的請求、以及由所述客戶機在所建立的連接中發(fā)送的初始數(shù)據(jù)集。
17.如權(quán)利要求11所述的方法,其特征在于,一接收到所述連接信息,所述網(wǎng)絡(luò)組件就實現(xiàn)分派邏輯,所述分派邏輯評估是否要基于所述客戶機組件的一個或多個身份來接受所述套接字的控制、由所述客戶機組件在初始數(shù)據(jù)集中發(fā)送的信息類型、或者所述連接的長度。
18.如權(quán)利要求11所述的方法,其特征在于,接受所述套接字的控制包括將表明所述網(wǎng)絡(luò)組件操控所述套接字的指示符發(fā)送到所述監(jiān)聽器。
19.如權(quán)利要求11所述的方法,其特征在于,直接與所述客戶機組件進行通信包含直接從所述相應(yīng)網(wǎng)絡(luò)協(xié)議棧的傳輸層接收用于所建立的連接的客戶機組件數(shù)據(jù)的后續(xù)集合,以使所述用戶模式監(jiān)聽器被避免。
20.一種在計算機化的系統(tǒng)中使用的計算機程序產(chǎn)品,在所述計算機化系統(tǒng)中,用戶模式監(jiān)聽器被配置成在用戶模式中在客戶機計算機系統(tǒng)的進程和網(wǎng)絡(luò)計算機的進程之間中繼連接,所述計算機程序產(chǎn)品具有儲存在其上的計算機可執(zhí)行指令,當(dāng)被執(zhí)行時,所述計算機可執(zhí)行指令使所述計算機化的系統(tǒng)執(zhí)行一種在用戶模式中將連接的控制分派給所述網(wǎng)絡(luò)進程的方法,所述方法包含以下動作在用戶模式中,通過套接字在客戶機組件和監(jiān)聽器之間建立連接,其中,所述客戶機組件請求網(wǎng)絡(luò)組件;基于與所述連接相關(guān)聯(lián)的信息來請求復(fù)制所述套接字,其中,接收第一組數(shù)據(jù);將所述第一組數(shù)據(jù)和所述相關(guān)聯(lián)的連接信息發(fā)送到所請求的網(wǎng)絡(luò)組件;以及接收表明所述網(wǎng)絡(luò)組件已經(jīng)接受所述套接字的控制的指示符,以使所述監(jiān)聽器不再從所述客戶機計算機接受用于所述連接的連接數(shù)據(jù),并且使所述網(wǎng)絡(luò)組件和所述客戶機組件通過沒有所述監(jiān)聽器的連接進行通信。
全文摘要
在用戶模式中工作的監(jiān)聽器可將客戶機連接的控制分派給監(jiān)聽器,而不暴露系統(tǒng)存儲器或其他的敏感服務(wù)或組件。例如,客戶機組件通過與用戶模式監(jiān)聽器的連接來請求訪問網(wǎng)絡(luò)組件。基于包含在客戶機請求中的信息,監(jiān)聽器將調(diào)用傳遞給應(yīng)用程序接口,該應(yīng)用程序接口返回包括用戶模式上下文信息的第一組數(shù)據(jù)。監(jiān)聽器將該第一組數(shù)據(jù)傳遞到所請求的網(wǎng)絡(luò)組件。對應(yīng)用程序接口進行另一個調(diào)用,這包括第一組數(shù)據(jù),以及對套接字復(fù)制的請求。應(yīng)用程序接口將所請求的套接字控制返回給網(wǎng)絡(luò)組件,以使網(wǎng)絡(luò)組件和客戶機組件直接通過用戶模式中的所請求套接字來進行通信。
文檔編號H04L12/26GK1816047SQ20051013818
公開日2006年8月9日 申請日期2005年12月30日 優(yōu)先權(quán)日2005年2月1日
發(fā)明者A·M·李四世, E·L·維恩古爾德, M·奧塔維亞尼 申請人:微軟公司