專利名稱:用于客戶/服務器計算的設備、方法和計算機程序產品的制作方法
技術領域:
本發明涉及客戶/服務器(也稱為“分布式的”)計算領域,其中一個計算設備(“客戶”)請求另一個計算設備(“服務器”)完成一部分客戶工作。客戶和服務器也能夠都位于同一物理計算設備上。
過去幾年來在信息技術領域內客戶/服務器計算已經愈來愈重要。這類分布式計算允許一個機器分配它的某些工作給另一個例如可能更適合于完成該工作的機器。例如,服務器可以是一個高性能計算機,它所運行的數據庫程序管理極大量數據的存儲,而客戶機只是一個簡單的臺式個人計算機(PC),它向數據庫請求信息以便用于它的一個本地程序中。
由于采用眾所周知的所謂面向對象編程(OOP)的計算機編程技術,從而加強了客戶/服務器計算的優點,OOP允許客戶機和服務器位于不同(多機種)“平臺”上。一個平臺是一個機器用以完成其工作的具體硬件/軟件/操作系統/通信協議的組合。OOP允許客戶應用程序和服務器應用程序各在它們自己平臺上運行而不必操心如何發送客戶應用程序的工作請求和服務器應用程序如何接收該請求。類似地,服務器應用程序不必操心OOP系統如何接收、翻譯和發回服務器應用程序的處理結果至請求的客戶應用程序。
在美國專利5,440,744和歐洲專利公開申請EP 0 677,943 A2中描述了OOP技術與多機種客戶/服務器系統相結合的細節。這后面兩項公布此處引為參考。然而,下面將給出一個基本體系結構的例子,以便在上下文環境中解釋本發明。
如
圖1中所示,客戶計算機10(它可能是例如一個具有在其上安裝的IBM OS/2操作系統的個人計算機)具有一個在其操作系統上運行的應用程序40(“IBM”和“OS/2”是國際商業機器公司的商標)。應用程序40將周期地要求在服務器計算機20上完成工作和/或自服務器20送回數據以備應用程序40以后使用。服務器計算機20可以是例如一個運行IBM的MVS操作系統的高性能主機計算機(“MVS”也是IBM公司的商標)。對于本發明的實施而言,不論對于準備由服務器進行通信服務的請求是由用戶與第一應用程序40的交互作用而發動的,還是由應用程序40獨立于用戶交互作用而進行操作并在程序運行期間自動地作出請求的,都不重要。
當客戶計算機10希望請求服務器計算機20的服務時,第一應用程序40將所需服務通知第一邏輯裝置50。例如可以通過一起發送一個遠程過程名稱及輸入和輸出參數列表給第一邏輯裝置而做到此點。該第一邏輯裝置50然后參照存于存儲設備60中的可用通信服務的定義來完成建立與第二計算機20的必要通信。所有可能的服務都定義為對象類70的一個內聚框架,這些類自單個對象類派生而來。以此方式定義服務,在性能和可重用性方面具有大量優點。
為建立與服務器20的必要通信,第一邏輯裝置50判斷需要使用框架中哪個對象類,然后在該服務器處建立該對象的一個實例,發送一條消息至該對象以使該對象能調用其方法中的一個。由此,通過連接裝置80建立與服務器計算機20的連接,并隨后發送一個請求至第二邏輯裝置90。
第二邏輯裝置90然后將該請求傳送至在服務器計算機20上運行的第二應用程序100(今后稱為服務應用程序)以使服務應用程序能夠完成由該請求所要求的具體任務,例如運行一個數據檢索過程。一旦完成此任務,服務應用程序可能需要將結果送回至第一計算機10。在完成所請求的任務期間和當結果送回至第一計算機10時,服務器應用程序100與第二邏輯裝置90交互作用。第二邏輯裝置90建立對象實例,并在服務器應用程序100需要時調用這些對象中的合適方法,這些對象實例從存于存儲設備110中的對象類的內聚框架中建立。
使用以上技術,客戶應用程序40不暴露于通信結構。此外,服務應用程序100通過其環境的標準機理來調用;它并不知道它是遠程地調用的。
對象管理組(OMG)是一個在具有如圖1中所示分布式對象的多機種平臺上從事不同方面的客戶/服務器計算的各組織之間的國際性協議。OMG已經發布過標準,客戶計算機(例如10)按照該標準與服務器計算機(例如20)通信(以OOP形式)。作為這些標準的一部分,定義了一個對象請求經紀人(稱為CORBA-公共對象請求經紀人體系結構),它提供客戶和服務器計算機之間的面向對象的橋梁。ORB將客戶和服務器應用程序與面向對象的實施細節隔開,完成第一和第二邏輯裝置50和90以及連接裝置80的至少一部分工作。
作為CORBA軟件結構的一部分,OMG提出了關于“事務”的標準及這些標準稱為OTS或對象事務服務。見例如CORBA對象事務服務規范1.0,OMG文件94.8.4。計算機實施的事務處理系統用于不少工業中的重要商業任務中。一個事務定義一個或者必須全部完成或者必須全部清除而不采取動作的工作單元。例如,在一個顧客從其取錢的銀行自動取款機的情況下,發錢、減去機器中當前結算和減去顧客帳戶的銀行結算的這些動作必須或者全部進行或者什么都不做。附屬動作中一個的失敗將導致記錄和實際操作之間的不一致。
分布式事務處理涉及影響多個物理或邏輯位置處的資源的事務。在以上例子中,一個事務影響由本地自動取款機管理的資源,也影響由銀行主計算機管理的銀行結算。這些事務涉及一個通過一系列由服務器處理的客戶請求與一個具體服務器計算機(例如20)通信的具體客戶計算機(例如10)。OMG的OTS負責協調這些分布式事務。
通常,一個在客戶過程上運行的應用程序開始一個事務,它可能涉及調用多個不同服務器,其中每個服務器啟動一個服務器過程以便按照事務中包含的指令改變其本地數據庫。該事務結束時或者執行該事務(由此所有服務器都最后完成對它們本地數據庫的改變)或者使該事務流產(由此所有服務器都“滾動回”或忽略對它們的本地數據庫的改變)。為在事務期間與服務器通信(例如指令它們或者執行或者流產事務中它們那部分),所涉及的過程中之一必須維持事務的狀態數據。這通常涉及用于設置一系列事務對象的過程,它們中之一是一個協調對象,后者對于不同服務器協調事務。
圖2中顯示由國際商業機器公司所開發的并且包括于1997年5月發布的它的Component Broker Series(IBM公司的一個商標)中的OTS的常規實施。一個希望開始一個事務(例如從銀行帳戶中取錢)的客戶過程21需要尋找一個能夠建立和保持用于維持事務狀態的事務對象的過程。由于當今趨勢是建立“薄”客戶(由此只具有最少功能),客戶過程21通常不能在本地維持事務對象,因此必須為此目的尋找一個服務器過程。
根據現有技術方案,OTS(或另一個服務,例如CORBA生命周期服務)尋找一個服務器過程并且在找到的服務器過程上建立事務對象221(它包括協調、控制和終結對象)。始終根據此現有技術選擇相同服務器過程(圖2中的服務器A過程22)。在找到服務器A過程22后,客戶過程21發送(帶有圓圈號1的箭頭)一條消息至服務器A過程22以便指令服務器A過程22建立事務對象221。服務器A過程22然后建立事務對象221并發送一個包含事務上下文的回答(帶有圓圈號2的箭頭)至客戶21。客戶21然后發送一個借方銀行帳戶命令(帶有圓圈號3的箭頭)至服務器B過程23(該過程包含客戶過程21希望從其中取錢的銀行帳戶對象231)。這后一命令隨身攜帶由服務器A過程22提供給客戶21的事務上下文。以此方式,銀行帳戶對象231在過程23中能夠將它自己(帶有圓圈號4的箭頭)向過程22中的事務對象221登記以便能夠命令銀行帳戶對象231在事務結束時由事務對象221執行或滾動回(帶有圓圈號5的箭頭)。
此實施至少在兩方面是低效的。首先,由于當一個客戶尋找一個遠程過程用于建立和維持事務對象時該相同服務器始終在使用,此服務器過程將要很快過載,因此無法有效地執行它自己的任務(例如更新本地資源的內容)。第二,在事務中涉及的不同過程之間存在著許多交叉過程流。即使在一個任意服務器上建立和維持一個事務對象,仍然存在著大量交叉過程調用的問題。
此外,此實施在涉及哪個服務器用于放置事務對象方面不給客戶任何選擇。客戶可能嘗試尋找一個服務器上的事務工廠(CosTransactionTransactionFactory),客戶可能愿意在該服務器上設置事務對象,調用一個工廠上的建立方法,以及最后調用CosTransactionCurrentresume()方法以使該事務成為“current”,但這涉及客戶部分的許多處理步驟。如果客戶能夠使用簡單得多的CosTransactionCurrent接口,則將要容易得多,并且仍然能夠選擇在其上找到事務對象的服務器,但現有技術不允許如此做。
根據第一方面,本發明提供一個在客戶/服務器計算系統中用于執行事務的客戶處理設備,該設備具有一個用于發出一條開始命令以標志事務開始的裝置;一個用于發送一條命令至遠程服務器中的對象的裝置,該命令包括的事務上下文具有一個特定值,用于標示已經開始一個事務但尚未建立代表該事務的事務對象;以及一個當遠程服務器一旦建立事務對象后用于立即接收修改的事務上下文的裝置。
優選地,該特定值是一個NULL值。優選地,該客戶處理設備還包括一個用于選擇一個它判斷為最適合于建立事務對象的遠程服務器的裝置,以及其中用于發送命令的裝置將該命令指向由用于選擇的裝置所選擇的遠程服務器中的對象。優選地,用于選擇的裝置判斷哪個遠程服務器具有已在事務中更新過的資源以及將此遠程服務器選為最適合于建立事務對象的服務器。
在本發明的一個實施例中,用于發送的裝置發送一條命令至一個偽商業對象,而在另一個實施例中用于發送的裝置發送一條對應于對象上一個偽方法的命令。
根據第二方面,本發明提供一個在客戶/服務器計算系統中用于執行事務的客戶處理設備,該設備具有一個用于接收一條來自被指向位于所述服務器處理設備中的對象的客戶的命令的裝置,該命令包括的事務上下文具有一個特定值,用于標示已經開始一個事務但尚未建立代表該事務的事務對象;以及一個用于確認事務上下文中特定值和用于響應于該特定值而就地建立事務對象的裝置。
根據第三方面,本發明提供一個用于執行以上在第一方面中描述的客戶功能的方法。
根據第四方面,本發明提供一個用于執行以上在第二方面中描述的服務器功能的方法。
根據第五方面,本發明提供一個計算機程序產品,當它在計算機上運行時執行第一方面的功能。
根據第六方面,本發明提供一個計算機程序產品,當它在計算機上運行時執行第二方面的功能。
由于客戶可以容易地選擇在哪個服務器中建立事務對象,及這類對象可以例如被選擇以建立于實際上參與執行事務的服務器過程(例如具有用于事務中的資源)中,因此可以很大地減去交叉過程流的數量。通過簡單地比較圖2(現有技術)和圖3(本發明的優選實施例),即可清楚地看出此點。圖2具有五個交叉過程調用而圖3只有兩個。
參照下面附圖閱讀以下本發明優選實施例的描述,將能更好地理解本發明。
圖1是眾所周知的使用對象技術的多機種客戶/服務器體系結構的框圖,本發明的優選實施例可以應用于其上下文中;圖2是用于顯示一個常規OTS實施的框圖3是用于顯示一個根據本發明優選實施例的OTS實施的框圖;圖4用于顯示當客戶發出一條根據圖3的OTS實施的開始命令時所執行步驟的流程圖;圖5是用于顯示一個根據本發明優選實施例的OTS實施的框圖;及圖6是用于顯示一個根據本發明優選實施例的服務器過程的框圖。
公共對象請求經紀人(CORBA)對象事務服務(OTS)提供一個稱為“Current”的接口對象,它具有一個“begin”方法,供客戶應用程序(源代碼)用于向基礎軟件層發信號標示事務的開始。根據本發明的優選實施例,當客戶應用程序正在一個具體客戶體系結構中建立或運行以及包含“begin”方法時,基礎軟件將進而恰當地在一個實際上參與事務中的服務器(例如具有用于事務中的服務器資源的服務器)中設置事務狀態對象而建立事務。
在本發明的優選實施例中,一個在客戶過程31(見圖3)中運行的應用程序按照通常那樣調用一個“Current”接口對象上的“begin”方法而開始一個事務。該客戶過程然后通過例如就地建立一個最小對象集而記錄它已發出此命令的事實。以上操作闡述于圖4的流程圖中步驟41處。在此闡述性例子中,假定正在執行的事務是從一個銀行帳戶中取錢,這是一個世界范圍內普通的日常執行的事務操作,這里使用自動取款機(ATM)作為客戶。
應該注意到,在現有技術中,在此階段找到一個遠程過程22并且在該遠程過程22中建立事務對象(圖2中的221)。本發明將這些事務對象的建立推后一段時間,這將在下面解釋。
然后在客戶過程31中運行的應用程序發出一個借方命令至服務器B過程33中的銀行帳戶對象331,作為取錢事務的第一個實質部分。在此例中,借方命令是客戶過程在發出“begin”命令之后在事務中所作第一個遠程流。在制成此命令時,客戶過程必須在命令中包括某些事務上下文,以使銀行帳戶對象331知道該命令是事務的一部分及識別該特定事務。
在現有技術中(見圖2),該客戶過程21自遠程過程22中設置的事務對象221中接收事務上下文。然而在本發明的優選實施例中,尚未建立事務對象,因此無法提供帶有事務上下文的客戶過程。因此,在優選實施例中,當客戶過程31發送借方命令至遠程過程33中的銀行帳戶對象331時,在命令中包括了一個特定事務上下文(例如一個NULL事務上下文)(圖3中帶有圓圈號1的箭頭)。一個NULL事務上下文意味著事務上下文的所有域都設置為零。此特定事務上下文標志一個事務已經開始但尚未建立事務對象。這后一操作闡述于圖4流程圖中步驟42處。
當服務器B過程33確認此具體事務上下文(例如NULL事務上下文)時,它得到通知,即事務已經開始但尚未建立事務對象。服務器B過程33然后就地建立事務對象332(步驟43)。既然已經建立了事務對象332,現在事務具有一個有效事務上下文,這一有效事務上下文即賦予該事務。服務器B過程33然后發送一個回答(帶有圓圈號2的箭頭)至客戶過程31以便通知客戶過程31存在著有效事務上下文(圖4中步驟44)。現在客戶過程已經完全了解所建立的事務。
在此階段,銀行帳戶對象331以通常方式與事務對象332通信(步驟45),所不同之處在于所有這些通信都是在同一過程內進行的,因此這些通信不需要任何交叉過程流。在此例子中,進行的通信涉及向事務對象332登記的銀行帳戶對象331,以及當事務結束時,事務對象332發送回一個執行或滾動回命令至銀行帳戶對象331。
客戶可能調用其他服務器來參加事務,這些服務器應該向在服務器B過程中建立的事務對象登記,其結果是在服務器之間存在交叉過程流。然而,客戶使用本發明可以使交叉過程流的總數量最少,因為至少在服務器B過程中的本地資源與事務對象之間的交互不會產生任何交叉過程流。還有,對于只涉及一個服務器過程的事務而言,唯一交叉過程流存在于客戶過程與此單個服務器過程之間。
在一個選代實施例中,服務器B過程33將在稍后時間建立事務對象,例如在資源登記期間而不是與NULL事務上下文進入服務器B過程33的同時。
雖然NULL事務上下文(其所有域都設置為零)已經用于闡述性實施例中,但也可使用事務上下文的其他特定值。例如,事務上下文的私有數據域可以設置為具體值。
以上描述了一個IBM對其闡述于圖2中的初始ComponentBroker Series產品的改進,該改進的結果是智能地放置在事務中調用的第一服務器過程上的事務對象。已在于1998年1月16日提交的IBM的共同未決UK專利申請9800830.3中描述了此改進。然而,其中調用第一服務器過程的事務中有許多事務對于建立事務對象不是最有用。
例如,假定事務中的第一調用是一個為了證實客戶而對證實商業對象的證實調用(例如為證實該客戶已授權能執行此類事務)。在包含此商業對象的服務器過程中設置事務對象并不能減去交叉過程流的數量,因為此服務器過程不具有一個代表正在事務中更新的資源的商業對象。也即,如果該事務對象是在此具有證實商業對象的服務器過程中建立的,則在事務結束時將會需要許多交叉過程流,因為所有代表在事務期間更新的資源的商業對象都駐留在其他服務器過程中。
另一個例子是對事務中的商業對象的第一調用是對代表一個資源的商業對象的只讀調用。例如,事務中的第一調用只請求讀取銀行帳戶結余值而不請求更新代表銀行帳戶資源的商業對象中的任何值。再次,在此情況下,在包含此商業對象的服務器過程中建立事務對象并不有利。
為使客戶能對選擇服務器過程來建立事務對象之事具有更多控制,已經開發了本發明,并將繼續描述優選實施例從而解釋此附加功能。
在圖5中,客戶過程51指令處理事務。對事務中的遠程服務器過程的第一調用是對服務器B過程53中一個證實商業對象531的調用,用于證實客戶51的目的。對事務中的一個遠程過程的第二調用是一個對服務器A過程52中銀行帳戶對象521的調用,用于簡單地讀取銀行帳戶的結余值。對事務中的遠程過程的第三調用是對服務器C過程54中銀行帳戶對象541的調用,用于減去此銀行帳戶的結余值以便實現取錢。
在以上描述的事務中,在服務器A過程52中或在服務器B過程53中建立事務對象并不有利,因為并無商業對象位于這些代表一個在事務中更新的資源的過程中。相反,在服務器C過程54中建立事務對象非常有利,因為這個過程具有正在事務中更新的銀行帳戶對象541。
本發明的優選實施例分別將偽商業對象522、532和542置于服務器過程52、53和54中。這些偽商業對象中的每一個被賦予一個眾所周知的密鑰(例如,由服務器名稱所生成的)以使客戶51能夠容易地尋找任何一個偽商業對象。這些偽商業對象可以被賦予任何類型的功能,只要它們是從CosTransactionTransactional對象中繼承的。它們的用途是提供一個位于多個服務器中的每一個之上的可容易地訪問的對象以使客戶可以選擇多個服務器中的任何一個用作放置事務對象的場所。客戶51保證對事務中遠程過程的第一調用是一個對服務器過程中偽商業對象的調用,客戶希望在該服務器過程中建立事務對象。如果一個偽商業對象置于服務器中,則該服務器是一個供客戶選擇以便設置事務對象的候選人。
例如,在圖5中使用以上所給例子,客戶事務的前兩個調用是對過程53中證實商業對象531和過程52中銀行帳戶對象521的調用。然而,客戶過程51修改該事務以使真正第一個遠程調用(它被置于這兩個調用之前進行)是對服務器C過程54中偽商業對象542的調用,因為這是將在事務中更新的銀行帳戶對象541所在之處,因此是在其中放置事務對象的最佳過程。
因此,如圖5中所示,客戶過程51對服務器C過程54中的偽商業對象542發出第一調用(帶有圓圈號1的箭頭)。這對應于圖4的步驟42,但客戶發出帶有NULL事務上下文的調用至偽商業對象542而不是發至銀行帳戶對象。此調用的唯一目的是在服務器C過程54中設置事務對象543(見圖6)。該偽商業對象確認來自客戶的此第一調用中的NULL事務上下文,并且響應于此確認而進而建立事務對象(這對應于步驟43)。第二,客戶過程發出第二調用(帶有圓圈號2的箭頭)至服務器B過程53中的證實商業對象531以供證實客戶之用。第三,客戶過程發出第三調用(帶有圓圈號3的箭頭)至服務器A過程52中的銀行帳戶對象521以便讀取此銀行帳戶的結余。第四,客戶過程發出第四調用(帶有圓圈號4的箭頭)至服務器C的過程中的銀行帳戶對象541以便減去此帳戶的結余(因為是從它取錢的)。
一旦服務器B過程53就地建立了事務對象,過程53用有效事務上下文對客戶作出響應(這對應于步驟44)。
因此,本發明的優選實施例涉及一個客戶,該客戶注視它將要執行的事務,確定哪個服務器過程最適合于在其上設置事務對象,以及在事務之初附加一個對位于確定的服務器過程中的偽商業對象的調用。其結果是在此所確定的服務器過程中建立事務對象。
在第二實施例中不使用偽商業對象。相反,在現有對象(例如銀行帳戶對象541)上調用偽方法。因此,在此實施例中,以上圖5例子中真正第一個調用將是從客戶過程51對銀行帳戶對象541的調用,用于調用對象541的偽方法,例如bankacount.hello(),其結果是在銀行帳戶對象541所在的服務器過程中建立事務對象。
權利要求
1.一種在執行事務的客戶/服務器計算系統中所用的客戶處理設備,所述設備包括用于發出一條開始命令以便標志一個事務的開始的裝置;用于發送一條命令至遠程服務器中的一個對象的裝置,所述命令包括一個具有一個特定值的事務上下文,所述特定值標示一個事務已經開始但尚未建立代表該事務的事務對象;及一旦所述遠程服務器已經建立所述事務對象,即用于自所述遠程服務器接收一個修改的事務上下文的裝置。
2.權利要求1的設備,其中所述特定值是一個NULL值。
3.權利要求1的設備,其中所述客戶處理設備還包括用于選擇一個它確定為最適合于建立事務對象的遠程服務器的裝置,及其中所述用于發送命令的裝置將所述命令指向由所述用于選擇的裝置所選擇的遠程服務器中的一個對象。
4.權利要求3的設備,其中所述用于選擇的裝置確定哪個遠程服務器具有在事務中更新的資源及選擇此遠程服務器作為最適合于建立該事務對象的服務器。
5.權利要求1的設備,其中所述用于發送的裝置發送一條命令至一個偽商業對象。
6.權利要求1的設備,其中所述用于發送的裝置發送一條對應于對象上的一個偽方法的命令。
7.一種在執行事務的客戶/服務器計算系統中所用的服務器處理設備,所述設備包括用于接收一條來自客戶的指向位于所述服務器處理設備中的對象的命令的裝置,所述命令包括一個具有一個特定值的事務上下文,所述特定值標示已經由客戶開始一個事務但尚未建立代表該事務的事務對象;及用于確認事務上下文中的特定值和用于響應于所述特定值而就地建立所述事務對象的裝置。
8.權利要求7的設備,其中所述特定值是一個NULL值。
9.權利要求7的設備,其中所述設備還包括用于將一個本地的涉及事務的資源向就地建立的事務對象登記的裝置。
10.權利要求7的設備,其中所述用于接收的裝置接收一條位于所述服務器處理設備中的偽商業對象上的命令。
11.權利要求7的設備,其中所述用于接收的裝置接收一條對應于位于所述服務器處理設備中的一個對象上的偽方法的命令。
12.一種在執行事務的客戶/服務器計算系統中所用的客戶處理方法,所述方法包括以下步驟發出一條開始命令以便標志一個事務的開始;發送一條命令至遠程服務器中的一個對象,所述命令包括一個具有一個特定值的事務上下文,所述特定值標示一個事務已經開始但尚未建立代表該事務的事務對象;及一旦所述遠程服務器已經建立所述事務對象,即自所述遠程服務器接收一個修改的事務上下文。
13.一種在執行事務的客戶/服務器計算系統中所用的服務器處理方法,所述方法包括以下步驟接收一條來自客戶的指向位于所述服務器處理設備中的對象的命令,所述命令包括一個具有一個特定值的事務上下文,所述特定值標示已經由客戶開始一個事務但尚未建立代表該事務的事務對象;及確認事務上下文中的特定值和響應于所述特定值而就地建立所述事務對象。
14.一種存于一個計算機可讀存儲媒體上的計算機程序產品,當所述程序在計算機上運行時,執行一個在執行事務的客戶/服務器計算系統中所用的客戶處理方法,所述方法包括以下步驟發出一條開始命令以便標志一個事務的開始;發送一條命令至遠程服務器中的一個對象,所述命令包括一個具有一個特定值的事務上下文,所述特定值標示一個事務已經開始但尚未建立代表該事務的事務對象;及一旦所述遠程服務器已經建立所述事務對象,即自所述遠程服務器接收一個修改的事務上下文。
15.一種存于一個計算機可讀存儲媒體上的計算機程序產品,當所述程序在計算機上運行時,執行一個在執行事務的客戶/服務器計算系統中所用的服務器處理方法,所述方法包括以下步驟接收一條來自客戶的指向位于所述服務器處理設備中的對象的命令,所述命令包括一個具有一個特定值的事務上下文,所述特定值標示已經由客戶開始一個事務但尚未建立代表該事務的事務對象;及確認事務上下文中的特定值和響應于所述特定值而就地建立所述事務對象。
全文摘要
一種在客戶/服務器計算系統中用于執行事務的客戶處理設備,該設備具有:用于發出一條開始命令以便標志一個事務的開始的裝置;用于發送一條命令至遠程服務器中的一個對象的裝置,該命令包括一個具有一個特定值的事務上下文,該特定值標示一個事務已經開始但尚未建立代表該事務的事務對象;及一旦所述遠程服務器已經建立所述事務對象,即用于自所述遠程服務器接收一個修改的事務上下文的裝置。
文檔編號G06F9/44GK1290362SQ98813919
公開日2001年4月4日 申請日期1998年12月18日 優先權日1998年3月31日
發明者阿曼達·伊麗莎白·切塞爾, 凱思琳·莎拉·沃爾 申請人:國際商業機器公司