欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

客戶/服務(wù)器計(jì)算機(jī)系統(tǒng)中處理不同協(xié)議方法調(diào)用的方法和裝置的制作方法

文檔序號(hào):6410837閱讀:150來(lái)源:國(guó)知局
專利名稱:客戶/服務(wù)器計(jì)算機(jī)系統(tǒng)中處理不同協(xié)議方法調(diào)用的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明通常涉及客戶/服務(wù)器計(jì)算機(jī)網(wǎng)絡(luò)。更詳細(xì)地說(shuō),本發(fā)明涉及一服務(wù)器計(jì)算機(jī),該服務(wù)器計(jì)算機(jī)可一般地處理來(lái)自使用各種通訊協(xié)議的對(duì)象請(qǐng)求代理的方法調(diào)用。
在一客戶/服務(wù)器計(jì)算機(jī)網(wǎng)絡(luò)中,一客戶計(jì)算機(jī)的用戶請(qǐng)求一對(duì)象的執(zhí)行。特別是,該用戶請(qǐng)求與該對(duì)象相關(guān)的一方法的執(zhí)行。常常是,該對(duì)象沒有本地地存貯在該客戶計(jì)算機(jī)中。因此,對(duì)于在其中駐留有對(duì)象的服務(wù)器計(jì)算機(jī)必須進(jìn)行遠(yuǎn)程過(guò)程調(diào)用(RPC)。該RPC規(guī)定了該對(duì)象及其相關(guān)的方法。該服務(wù)器計(jì)算機(jī)識(shí)別該將被執(zhí)行的方法、執(zhí)行這種方法并將所產(chǎn)生的結(jié)果和/或異常送回到該客戶計(jì)算機(jī)。用來(lái)處理遠(yuǎn)程過(guò)程調(diào)用的分布式機(jī)構(gòu)通常被稱之為一對(duì)象請(qǐng)求代理(ORB)。與一ORB相關(guān)的軟件意義上的分布式機(jī)構(gòu)是在該客戶計(jì)算機(jī)和該服務(wù)器計(jì)算機(jī)中。
存在有大量的一客戶計(jì)算機(jī)可用來(lái)向一服務(wù)器計(jì)算機(jī)傳送一遠(yuǎn)程過(guò)程調(diào)用的“在線”數(shù)據(jù)格式。相同的在線數(shù)據(jù)格式還被用來(lái)將結(jié)果從該服務(wù)器計(jì)算機(jī)傳送到該客戶計(jì)算機(jī)。更廣泛的是,這些在線數(shù)據(jù)格式規(guī)定所有與遠(yuǎn)程過(guò)程調(diào)用相關(guān)的信息的格式。
在這里通常稱之為協(xié)議的這些在線數(shù)據(jù)格式確定了例如變?cè)绾伪粋魉秃蛿?shù)據(jù)類型如何被處理這樣的因子。不同廠家用不同的協(xié)議實(shí)施ORB。近來(lái),由Object Management Group頒布了一種稱之為Universal NetworkedObject(UNO)協(xié)議的工藝標(biāo)準(zhǔn)。這種協(xié)議主要被看作為用于連接來(lái)自不同廠家的對(duì)象系統(tǒng)的一種網(wǎng)關(guān)協(xié)議。至少在一短期限內(nèi),不同廠家有可能想要繼續(xù)使用它們現(xiàn)有的協(xié)議,以便在它們各自的對(duì)象系統(tǒng)內(nèi)保持更高性能,同時(shí)在它們的ORB中支持較低性能UNO網(wǎng)關(guān)。因此,將繼續(xù)使用多種協(xié)議來(lái)傳送涉及RPC的信息。因此,最好是提供一種能夠容易地和迅速地識(shí)別使用在涉及RPC信息中的多個(gè)協(xié)議的一服務(wù)器計(jì)算機(jī)。
本發(fā)明的一實(shí)施例是一帶有大量與一傳送通道相連的客戶計(jì)算機(jī)的分布式客戶/服務(wù)器計(jì)算機(jī)系統(tǒng)。這些客戶計(jì)算機(jī)產(chǎn)生被加到該傳送通道的方法調(diào)用(也稱之為方法遠(yuǎn)程過(guò)程調(diào)用)。每個(gè)方法調(diào)用可由一不同的通信協(xié)議來(lái)編碼。利用最初設(shè)置在該方法調(diào)用中的由一協(xié)議相關(guān)格式所規(guī)定的一方法描述符,一服務(wù)器計(jì)算機(jī)處理通過(guò)該傳送通道所接收的每個(gè)方法調(diào)用。然后將該方法描述符與在該服務(wù)器計(jì)算機(jī)的存貯器中所存貯的一協(xié)議相關(guān)值表相比較。
當(dāng)該方法描述符與一在該協(xié)議相關(guān)值表中所選擇的協(xié)議相關(guān)值相匹配時(shí),則被賦予一索引值。該索引值被傳送到該服務(wù)器計(jì)算機(jī)的一協(xié)議獨(dú)立部分。然后該服務(wù)器的協(xié)議獨(dú)立部分執(zhí)行相應(yīng)于該索引值的方法以產(chǎn)生一應(yīng)答。隨后通過(guò)該傳送通道將該應(yīng)答傳送到該客戶計(jì)算機(jī)。
本發(fā)明的另一實(shí)施例包括在一服務(wù)器計(jì)算機(jī)中接收一由一客戶計(jì)算機(jī)所產(chǎn)生的一方法調(diào)用的步驟。之后,將以一協(xié)議相關(guān)格式所規(guī)定的方法描述設(shè)置在該方法調(diào)用中。然后當(dāng)該方法描述符與在一協(xié)議相關(guān)值表中所選擇的協(xié)議相關(guān)值相匹配時(shí),賦予一索引值。隨后該索引值被傳送到該服務(wù)器的一協(xié)議獨(dú)立處理模塊。接著該服務(wù)器執(zhí)行相應(yīng)于該索引值的該方法并且隨后將這樣的執(zhí)行的結(jié)果通過(guò)傳送通道送到該客戶計(jì)算機(jī)。
該服務(wù)器的協(xié)議獨(dú)立部分構(gòu)成一可用來(lái)處理所有方法調(diào)用的單一的對(duì)象特定代碼組,而不管通過(guò)該客戶計(jì)算機(jī)將該方法調(diào)用傳送給該服務(wù)器的協(xié)議。因此,不同的對(duì)象特定計(jì)算機(jī)代碼組不需要用來(lái)處理在該傳送通道上使用的不同的協(xié)議。本發(fā)明因而簡(jiǎn)化了在這些對(duì)象中以一與語(yǔ)言和廠家無(wú)關(guān)方式對(duì)這些方法的遠(yuǎn)程過(guò)程調(diào)用的處理。其結(jié)果,網(wǎng)絡(luò)服務(wù)器可從不同的客戶環(huán)境條件下進(jìn)行顯而易見地存取。因此,例如,以從前不可得到的方式,Internet(國(guó)際互聯(lián))中的網(wǎng)絡(luò)服務(wù)器可處理客戶計(jì)算機(jī)的請(qǐng)求,并且客戶計(jì)算機(jī)可訪問網(wǎng)絡(luò)服務(wù)器。
為了更好的了解本發(fā)明的屬性和目的,結(jié)合附圖將作如下詳細(xì)的說(shuō)明。


圖1示出了一客戶/服務(wù)器計(jì)算機(jī)的拓普結(jié)構(gòu)。
圖2示出了與圖1的裝置相關(guān)的處理。
圖3示出了與本發(fā)明的協(xié)議識(shí)別方法的一實(shí)施例相關(guān)的處理步驟。
圖4示出了在實(shí)踐所披露的技術(shù)中可以使用的一數(shù)據(jù)結(jié)構(gòu)的一個(gè)例子。
圖5示出了在實(shí)踐所披露的技術(shù)中可使用的一數(shù)據(jù)結(jié)構(gòu)的一般表示。
在所有的附圖中相類似的標(biāo)號(hào)表示相應(yīng)部分。
圖1示出了包括本發(fā)明技術(shù)的一客戶/服務(wù)器計(jì)算機(jī)裝置20。該裝置20包括有一組客戶計(jì)算機(jī)22A-22N,這些計(jì)算機(jī)的每一個(gè)均與一傳送通道23相連接。該傳送通道23通常是指任何在計(jì)算機(jī)之間的有線或無(wú)線連接。該客戶計(jì)算機(jī)22A-22N利用該傳送通道23與服務(wù)器計(jì)算機(jī)24通信。
每個(gè)客戶計(jì)算機(jī)22具有標(biāo)準(zhǔn)計(jì)算機(jī)配置,包括一連接到一存貯器32的中央處理單元(CPU)30,該存貯器32存貯有一組可執(zhí)行程序。在該典型系統(tǒng)中該可執(zhí)行程序包括有至少一個(gè)客戶應(yīng)用程序34、客戶存根38、客戶子合同40、和一操作系統(tǒng)42。
該客戶應(yīng)用程序34是任何應(yīng)用層程序,例如是與一客戶計(jì)算機(jī)22的用戶互相配合的應(yīng)用程序。該客戶存根38通過(guò)請(qǐng)求特定對(duì)象的特定方法的執(zhí)行的應(yīng)用程序34而接收過(guò)程調(diào)用。該客戶存根38的目的是存取在另外地址空間,例如服務(wù)器計(jì)算機(jī)24被實(shí)施的對(duì)象。
該客戶子合同程序40和服務(wù)器子合同程序58控制對(duì)象調(diào)用和變?cè)ㄟ^(guò)的基本機(jī)理。它們控制對(duì)象調(diào)用如何被實(shí)施、在地址空間之間對(duì)象基準(zhǔn)如何被傳送、對(duì)象基準(zhǔn)如何被解除,以及類似的對(duì)象運(yùn)行時(shí)間操作。例如,當(dāng)一客戶調(diào)用一所給子合同的對(duì)象時(shí),通過(guò)將該請(qǐng)求傳送給相關(guān)對(duì)象被裝入的地址空間、一般為服務(wù)器計(jì)算機(jī)24,該子合同實(shí)施該對(duì)象調(diào)用。
該客戶子合同程序40執(zhí)行一引導(dǎo)操作,以將一對(duì)象調(diào)用(即,遠(yuǎn)程過(guò)程調(diào)用)傳送給另一地址空間。在服務(wù)器計(jì)算機(jī)24中通過(guò)一服務(wù)器子合同58執(zhí)行相應(yīng)的未引導(dǎo)操作。當(dāng)從另一計(jì)算機(jī),即所說(shuō)的服務(wù)計(jì)算機(jī)24,接收一應(yīng)答(諸如從一方法調(diào)用產(chǎn)生的結(jié)果)時(shí),該客戶子合同程序40還執(zhí)行未引導(dǎo)操作。一操作系統(tǒng)42,諸如Sun Microsystem的SOLARIS操作系統(tǒng),構(gòu)成客戶應(yīng)用程序34、客戶存根38、和客戶子合同40的操作的基礎(chǔ)。
服務(wù)器24具有一類似于客戶計(jì)算機(jī)22的構(gòu)型。該服務(wù)器24包括一CPU50和一相關(guān)存貯器52。存貯器52存貯有服務(wù)器應(yīng)用程序54、服務(wù)器存根56、服務(wù)器子合同程序58、和一操作系統(tǒng)60。如上所指出的,服務(wù)器存根56處理在一對(duì)象上輸入的方法調(diào)用并調(diào)用所指定的方法以執(zhí)行該操作。如上面還指出的,服務(wù)器子合同58執(zhí)行數(shù)據(jù)引導(dǎo)和其它操作,以支持方法調(diào)用的傳送并且在服務(wù)器24和客戶計(jì)算機(jī)22之間產(chǎn)生返回信息。
參考圖2對(duì)圖1的裝置的操作作更全面的說(shuō)明。圖2示出了圖1的客戶計(jì)算機(jī)22A、傳送通道23、和服務(wù)器24。如上面所述,客戶應(yīng)用程序34利用遠(yuǎn)程過(guò)程調(diào)用在一不同的地址空間調(diào)用一對(duì)象的一指定方法。為了在該傳送通道23上傳送,該遠(yuǎn)程過(guò)程調(diào)用通過(guò)客戶存根38被送到組裝該遠(yuǎn)程過(guò)程調(diào)用的客戶子合同40。服務(wù)器24的服務(wù)器子合同58接收該信息并且不組裝它。服務(wù)器子合同58隨后將該信息送到服務(wù)器存根56。該服務(wù)器存根56對(duì)上面所描述的對(duì)象方法的服務(wù)器應(yīng)用程序54進(jìn)行存取。更詳細(xì)地說(shuō),特定的服務(wù)器存根56形成一過(guò)程調(diào)用以執(zhí)行一指定的被調(diào)用對(duì)象的方法。該方法的執(zhí)行產(chǎn)生一組結(jié)果,這里稱之為應(yīng)答,該應(yīng)答隨后返回到服務(wù)器子合同58并且該傳送通道被反向,如同圖2箭頭所指那樣。
圖2的方框70示出了有關(guān)本發(fā)明的一對(duì)象請(qǐng)求代理(ORB)組成部分。如上面所指出的,在ORSs上使用了各種的通信協(xié)議。當(dāng)一服務(wù)器試圖識(shí)別輸入的對(duì)象請(qǐng)求時(shí),在不同的ORBs上使用不同的協(xié)議是困難的。
現(xiàn)在來(lái)說(shuō)明與本發(fā)明相關(guān)的一般的結(jié)構(gòu)格式和處理?,F(xiàn)在更為詳細(xì)的考慮本發(fā)明的結(jié)構(gòu)格式、本發(fā)明的處理、這些要素和現(xiàn)有技術(shù)中的相應(yīng)要素之間的區(qū)別、以及相關(guān)的所披露技術(shù)的優(yōu)點(diǎn)。
如圖2所示,客戶子合同40使用一協(xié)議相關(guān)方法描述符去請(qǐng)求與一被調(diào)用對(duì)象有關(guān)的方法。更詳細(xì)地說(shuō),該客戶子合同40使用了一服從于一被選擇的在線數(shù)據(jù)格式的排列緩沖器。例如,為了識(shí)別一所給方法“X”,一協(xié)議可使用一值“XXX”,另一協(xié)議可使用一值“@@@∷123∷XXX”,以及另一協(xié)議可使用一整數(shù)值“123456”,這里該值是在該方法名上的一散列函數(shù)的輸出??蛻舸娓?8向客戶子合同40傳送一列協(xié)議相關(guān)值,客戶子合同40根據(jù)這些值計(jì)算協(xié)議相關(guān)方法描述符。
因此,當(dāng)一組客戶計(jì)算機(jī)22A-22N被連接到服務(wù)器24時(shí),服務(wù)器24必須處理每一個(gè)協(xié)議。單獨(dú)的服務(wù)器子合同58(未示出)必須適應(yīng)于這些協(xié)議的每一個(gè)。在現(xiàn)有技術(shù)中,每一服務(wù)器子合同58帶有一組相應(yīng)的服務(wù)器存根56,為了支持帶有多個(gè)協(xié)議的ORBs,對(duì)于每個(gè)協(xié)議服務(wù)器24應(yīng)具有不同的服務(wù)器存根56,其結(jié)果將具有大量的服務(wù)器存根56。因此,很容易了解不同ORB協(xié)議的使用對(duì)于服務(wù)器24將產(chǎn)生非常多的要求。
根據(jù)本發(fā)明,當(dāng)服務(wù)器子合同58接收一輸入的方法調(diào)用時(shí),它以對(duì)該子合同協(xié)議的特定的方式不排列該方法描述符。然后試著將該方法描述符與協(xié)議相關(guān)值表中的每一個(gè)入口相匹配。協(xié)議相關(guān)值可以是字符串、數(shù)值、以及其它類型參數(shù)值。不同協(xié)議可以使用不同的匹配函數(shù)以使該方法描述符與協(xié)議相關(guān)值的表進(jìn)行比較。該匹配函數(shù)可以是一字符串比較、一散列函數(shù)、或由服務(wù)器子合同58所指定的其它技術(shù)。當(dāng)一匹配協(xié)議相關(guān)的值被識(shí)別時(shí),該服務(wù)器子合同58可以將它與索引值相聯(lián)系。
如圖2所示,該索引值被送到可以請(qǐng)求相應(yīng)于該索引值的方法的協(xié)議獨(dú)立服務(wù)器存根56。在這種方式中,各自對(duì)象基準(zhǔn)的協(xié)議相關(guān)性與協(xié)議獨(dú)立服務(wù)器存根56相隔離。因此,協(xié)議獨(dú)立的服務(wù)器存根56可使用任何類型的對(duì)象請(qǐng)求代理70。另外,一單個(gè)的編譯程序可以用來(lái)產(chǎn)生該協(xié)議獨(dú)立服務(wù)器存根56。
因此,不同于現(xiàn)有技術(shù),本發(fā)明提供了識(shí)別各種ORB協(xié)議的一服務(wù)器24。此外,通過(guò)使用一組協(xié)議獨(dú)立服務(wù)器存根56,本發(fā)明以高效的方式執(zhí)行這種功能。應(yīng)注意的是為了支持這種技術(shù),通過(guò)利用本發(fā)明的客戶子合同40和服務(wù)器子合同58執(zhí)行通常由現(xiàn)有技術(shù)存根使用的引導(dǎo)和未引導(dǎo)操作。這種處理的傳送和使用索引值以提供協(xié)議獨(dú)立服務(wù)器存根構(gòu)成了現(xiàn)有技術(shù)和本發(fā)明之間的差別。因此,一旦這些處理差別被調(diào)整,本發(fā)明可以被成功的實(shí)施在現(xiàn)存的結(jié)構(gòu)格式和過(guò)程中。
圖3是對(duì)前面部分所描述的該處理步驟的一詳細(xì)說(shuō)明。圖3的初始處理步驟是該服務(wù)器子合同識(shí)別在一方法調(diào)用中的一方法描述符(框80)。如上面所指出的,該客戶計(jì)算機(jī)產(chǎn)生一方法調(diào)用,該方法調(diào)用作為一組信息最終被組裝在一引導(dǎo)緩沖器中。該信息的內(nèi)容隨已引導(dǎo)的該信息的客戶子合同而定。在該服務(wù)器處相應(yīng)的子合同不引導(dǎo)該信息并在該信息之內(nèi)識(shí)別該方法描述符。
接下來(lái)的處理步驟是對(duì)于該服務(wù)器子合同去選擇一匹配該方法描述符的協(xié)議相關(guān)值(框82)。這種操作可參照?qǐng)D4來(lái)說(shuō)明。圖4示出了協(xié)議相關(guān)值的一描述符-表。該表包括N個(gè)子集合表。每一子集合表識(shí)別一組可被用來(lái)識(shí)別單個(gè)方法的一組協(xié)議相關(guān)值。每個(gè)子集合表具有j個(gè)入口。在圖4中,這些入口如Descriptor-List-1-1到Descriptor-List-1-j所示。在圖4中,Descriptor-List-1-1是與一接口定義語(yǔ)言(IDL)短名有關(guān)。IDL是一工業(yè)標(biāo)準(zhǔn)。也就是,在該表中的一入口是被調(diào)用方法的IDL短名。該IDL短名是一在該技術(shù)中使用的ORB協(xié)議名。該表還示出了Descriptor-List-1-2與一IDL長(zhǎng)名相關(guān)。也就是說(shuō),在該表中這個(gè)入口是該被調(diào)用方法的IDL長(zhǎng)名。該IDL長(zhǎng)名是在該技術(shù)中使用的另外的ORB協(xié)議名。在該子集合表中的第三個(gè)入口是Descriptor-List-1-3,它具有一貯存庫(kù)ID。該貯存庫(kù)ID是一用于該技術(shù)的另一ORB協(xié)議中的名稱。例如這些不同的協(xié)議的例子包括如下的語(yǔ)句<pre listing-type="program-listing"><![CDATA[“get_weak_comparator” (IDL Short Name),“ ∷comparator∷weak_comparable∷get_weak_comparator”   (IDL Long Name),and“IDL/comparator/weak_comparable/get_weak_comparator1.0″  (Repository ID),]]></pre>這些語(yǔ)句被用于調(diào)用該操作get_weak_comparator.
如圖4所指出的,另外的指定還可用于該協(xié)議相關(guān)值的表中。此外,無(wú)須使用由這里例子所示的指定。無(wú)論如何,使用由IDL標(biāo)準(zhǔn)和其它工業(yè)標(biāo)準(zhǔn)以及實(shí)踐所建立的格式,可以預(yù)言在該方式中大多數(shù)方法描述符將由任何適當(dāng)?shù)膮f(xié)議來(lái)實(shí)施。
作為一個(gè)簡(jiǎn)單的例子,用下面的偽代碼來(lái)說(shuō)明該描述符是如何被檢索的。(1)i=0(2)match=false(3)repeat(4) i=i+1(5) if Match_p(Method_Descriptor,Descriptor_List_i_j)(6)Then Match=True(7)until Match(8)call operation_Table(i)行(1)和(2)進(jìn)行初始化。行(3)進(jìn)入一處理循環(huán)。行(4)在該處理循環(huán)中進(jìn)行初始化。行(5)用于一條件樣驗(yàn)。即,該代碼校驗(yàn)是否該方法調(diào)用的未引導(dǎo)的“Method-Descriptor”(方法-描述符)與協(xié)議相關(guān)表的“第i個(gè)”子集合表(Descriptor-List-i_j)的“第j個(gè)”入口匹配?!暗趈個(gè)”入口,即所說(shuō)的IDL短名,由服務(wù)器子合同58可知是用于這個(gè)協(xié)議比較的一個(gè)入口。該“第i個(gè)”值是允許的每個(gè)子集合描述符表(Descriptor-List_1到Descriptor-List_N)被校驗(yàn)的一被增量值。該“match_P”項(xiàng)代表用來(lái)將方法描述符與該表入口相比較的匹配函數(shù)。例如,“Match_P”可規(guī)定為在兩值之間的一簡(jiǎn)單字符串比較,或可規(guī)定為散列值的比較。由服務(wù)器子合同58提供“Match_P”的定義。
如果該條件滿足,則尋求一匹配,反之,則存取下一個(gè)子集合表“i”。當(dāng)求出一匹配時(shí),則行(8)提供一對(duì)服務(wù)器存根(56)的操作表的調(diào)用。應(yīng)注意的是,當(dāng)求得一匹配時(shí),值“i”是送到服務(wù)器存根的值。這個(gè)值相應(yīng)于被檢索表的一子集合,并且這個(gè)子集合與已被調(diào)用的單個(gè)方法關(guān)聯(lián)。因此,在行(8)中的代碼表示圖3的下一個(gè)處理步驟,即該服務(wù)器子合同將一索引值送到該服務(wù)器存根(框86)。
一旦該服務(wù)器存根接收該索引值,則它們根據(jù)如圖4中所示的一操作表100,以調(diào)用由該索引值指定的方法。該操作表最好是作為一種具有一組與每種情況值“i”相關(guān)的處理步驟的情況表而被實(shí)施。當(dāng)該值“i”被接收時(shí),由該值所規(guī)定的方法被執(zhí)行(框88)。圖4示出了為完成這種結(jié)果的一組簡(jiǎn)單的處理步驟。第一步是執(zhí)行方法i,第二步是將所有的結(jié)果信息(應(yīng)答)裝入該引導(dǎo)緩沖器中。由圖3示出的最后的處理步驟是使該服務(wù)器存根將由執(zhí)行該方法產(chǎn)生的應(yīng)答送到服務(wù)器子合同(框90)。
到此本發(fā)明已全部被披露。圖5示出了該技術(shù)的另外方面。即,圖5示出了本發(fā)明支持的方法調(diào)用以及它們的相關(guān)的異常。圖5示出了圖4的操作表l00。如上所指出的,該操作表被存貯在服務(wù)器存根56中。該圖示出了操作表的索引值“i”被連接到該表的一特定子集合(Descriptor-List-i)。如上所指出的,該Descriptor-List-i被用于該服務(wù)器子合同58。該子集合表包括有“j”個(gè)入口,每個(gè)入口包括一IDL短名、一IDL長(zhǎng)名、一貯存庫(kù)識(shí)別、一交替識(shí)別等。如圖4所示,該服務(wù)器從操作表100調(diào)用操作i并向該客戶返回一應(yīng)答。該應(yīng)答可包括一異常描述符。例如,當(dāng)是上述的“get_weak_Comparator Operation Descriptor Instance”例子時(shí),該異常描述符可以是字符串“_get_weak_Comparator Exception Descriptor Instance。
該客戶子合同40具有包括一異常表的操作描述符。在該應(yīng)答中該異常描述符被客戶子合同40用以確定哪個(gè)異常被返回。這種匹配操作可使用上述用來(lái)匹配該操作描述符的技術(shù)而被執(zhí)行。
該異常描述符指向具有N個(gè)異常子集合表的一異常表。圖5示出了Exception_List_X。每個(gè)子集合規(guī)定對(duì)于方法調(diào)用中的一種異常和用于該異常的IDL短名、IDL長(zhǎng)名、一貯存庫(kù)識(shí)別和選擇識(shí)別。應(yīng)注意的是,協(xié)議相應(yīng)值表的每個(gè)子集合表的第“j”個(gè)入口對(duì)應(yīng)于所說(shuō)的IDL短名協(xié)議這樣一個(gè)特定協(xié)議。
在圖4中已進(jìn)一步示出了該異常描述符的概念。應(yīng)注意的是,在該子集合描述符表“Descriptor-List-l”中該最后的入口是一指向一異常表的異常描述符。如果需要的話,由該服務(wù)器計(jì)算機(jī)所產(chǎn)生并傳送給該客戶計(jì)算機(jī)的應(yīng)答包括該異常的指示。該異??膳c在該異常表中的一異常相匹配。
該客戶子合同40存貯有相應(yīng)于一異常描述符的該異常表的一拷貝。因此,當(dāng)該異常描述符從該服務(wù)器計(jì)算機(jī)24被接收時(shí),該客戶計(jì)算機(jī)22可處理該異常描述符。
該異常符通過(guò)調(diào)用該異常表中的每個(gè)入口的異常代碼來(lái)處理。應(yīng)注意的是在圖5中類似于所有其它異常子集合表的Exception-List-x包括指向在一本地對(duì)象貯存庫(kù)104中的一對(duì)象的一異常對(duì)象識(shí)別。該異常對(duì)象識(shí)別可以是一與在該本地對(duì)象貯存庫(kù)104中的一對(duì)象相連的字符串名。在該本地對(duì)象貯存庫(kù)104中的每個(gè)對(duì)象提供被編碼的指令或信息以允許該客戶計(jì)算機(jī)22去處理該異常。如果該對(duì)象不駐留在該本地對(duì)象貯存庫(kù)104中,通過(guò)下裝來(lái)自該網(wǎng)絡(luò)中的另外一個(gè)計(jì)算機(jī)的代碼,該操作系統(tǒng)42例示該對(duì)象進(jìn)入本地對(duì)象貯存庫(kù)104。
為了說(shuō)明和描述的目的而對(duì)所存在的本發(fā)明的特定實(shí)施例作了如上所述的說(shuō)明。上述說(shuō)明并不意味著包括了本發(fā)明的全部或?qū)⒈景l(fā)明限于所披露的精確的形式,很明顯地,根據(jù)如上描述作若干改進(jìn)和變型也是可能的。為了更好的說(shuō)明本發(fā)明的原理和它的實(shí)際應(yīng)用而選擇和描述了這些實(shí)施例,以使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能更好的利用本發(fā)明,具有各種變型的各種實(shí)施例適用于不同的使用目的,下面的權(quán)利要求和其它的等效物將確定本發(fā)明的范圍。
權(quán)利要求
1.一種客戶/服務(wù)器計(jì)算機(jī)系統(tǒng)中處理不同協(xié)議方法調(diào)用的方法,所述方法包括如下步驟在一服務(wù)器計(jì)算機(jī)中接收一由一客戶計(jì)算機(jī)所產(chǎn)生的方法調(diào)用;在所述方法調(diào)用中安置一以一協(xié)議相關(guān)格式所規(guī)定的一方法描述符;重新獲得一與所述方法描述符相關(guān)聯(lián)的索引值;將所述索引值傳送到所述服務(wù)器計(jì)算機(jī)的一協(xié)議獨(dú)立處理模塊;在所述服務(wù)器計(jì)算機(jī)中,執(zhí)行一相應(yīng)于所述索引值的方法以產(chǎn)生一應(yīng)答;和從所述協(xié)議獨(dú)立處理模塊向所述客戶計(jì)算機(jī)傳遞所述應(yīng)答。
2.如權(quán)利要求1所述方法,其中所述接收步驟包括將來(lái)自所述客戶計(jì)算機(jī)的一應(yīng)用程序的所述方法調(diào)用傳送到所述客戶計(jì)算機(jī)的一客戶存根程序、所述客戶計(jì)算機(jī)的子合同程序、與所述客戶計(jì)算機(jī)和所述服務(wù)器計(jì)算機(jī)相連的傳送通道、存貯所述協(xié)議相關(guān)值表的所述服務(wù)器計(jì)算機(jī)的子合同程序的步驟。
3.如權(quán)利要求1所述的方法,其中所述的安置步驟包括未引導(dǎo)一含有所述方法調(diào)用的一引導(dǎo)(marshal)緩沖器的步驟。
4.如權(quán)利要求1所述的方法,其中所述重新獲得的步驟包括使用一協(xié)議相關(guān)值表的步驟,該協(xié)議相關(guān)值表包括從包含有一接口定義語(yǔ)言(IDL)短名、一IDL長(zhǎng)名和一IDL貯存庫(kù)識(shí)別的組中選擇的語(yǔ)句。
5.如權(quán)利要求1所述的方法,其中所述傳送步驟包括將所述索引值傳送到所述服務(wù)器計(jì)算機(jī)的所述協(xié)議獨(dú)立處理模塊的步驟,它是按照在所述服務(wù)器計(jì)算機(jī)上所操作的一服務(wù)器存根程序而被實(shí)施的。
6.如權(quán)利要求1所述的方法,其中所述傳遞步驟包括將所述應(yīng)答從在所述服務(wù)計(jì)算機(jī)上操作的所述服務(wù)器存根程序傳遞到在所述服務(wù)器計(jì)算機(jī)上操作的一子合同程序、與所述服務(wù)器計(jì)算機(jī)及所述客戶計(jì)算機(jī)相連的一傳送通道、在所述客戶計(jì)算機(jī)上操作的一子合同程序、在所述客戶計(jì)算機(jī)上操作的一客戶存根程序的步驟。
全文摘要
客戶/服務(wù)器計(jì)算機(jī)系統(tǒng)中處理不同協(xié)議方法調(diào)用的方法和裝置,一服務(wù)器計(jì)算機(jī)利用每個(gè)方法調(diào)用中的一方法描述符處理來(lái)自傳送通道的每個(gè)方法調(diào)用,方法描述符與存貯在該服務(wù)器計(jì)算機(jī)存貯器中的一協(xié)議相關(guān)值表比較,當(dāng)該方法描述符與選擇的一協(xié)議相關(guān)值匹配時(shí),被賦予一索引值,該索引值被送到該服務(wù)器計(jì)算機(jī)的一協(xié)議獨(dú)立部分,該獨(dú)立部分相應(yīng)于索引值執(zhí)行該方法產(chǎn)生一應(yīng)答,該應(yīng)答通過(guò)傳送通道傳遞到客戶計(jì)算機(jī)。
文檔編號(hào)G06F9/44GK1159631SQ96122420
公開日1997年9月17日 申請(qǐng)日期1996年10月6日 優(yōu)先權(quán)日1995年10月6日
發(fā)明者格拉厄姆·漢密爾頓, 彼得·B·凱斯勒, 杰弗里·D·尼塞王格, 艾倫·畢曉普, 愛多爾多·皮萊格里-洛帕特 申請(qǐng)人:太陽(yáng)微系統(tǒng)有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
思茅市| 海门市| 东平县| 禹城市| 镇赉县| 东城区| 手游| 元氏县| 集安市| 慈溪市| 兰西县| 仙桃市| 安义县| 安国市| 信丰县| 潜山县| 水富县| 和龙市| 伊金霍洛旗| 武山县| 北安市| 龙江县| 仁布县| 望城县| 宜良县| 德州市| 青河县| 沙坪坝区| 新田县| 漳平市| 宁强县| 绍兴市| 德格县| 九台市| 贵溪市| 红河县| 庄浪县| 高陵县| 台北县| 沅江市| 怀安县|