專利名稱::協(xié)調(diào)服務(wù)器組之間的動作的方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及協(xié)調(diào)一組服務(wù)器之間的動作的方法。更具體地說,本發(fā)明涉及協(xié)調(diào)一組服務(wù)器上的客戶授權(quán)、信息聚集、成組事務(wù)處理和多階段確認(rèn)。本發(fā)明的優(yōu)選實(shí)施例涉及在萬維網(wǎng)(WorldWideWeb)上的商業(yè)。電子商業(yè)在成指數(shù)地增加,尤其在萬維網(wǎng)上。許多商行在Web站點(diǎn)上建立了虛擬商店,允許消費(fèi)者聯(lián)機(jī)地逛商店和購買產(chǎn)品。隨著這些單個虛擬商店的符合邏輯的上升,虛擬商場也開始出現(xiàn)在Web上。如同真實(shí)商場的情況,虛擬商場提供既有利于商行又有利于消費(fèi)者的機(jī)會。商行潛在地從它們在商場的可見性得益。例如,虛擬商場上的一個虛擬商店會吸引一個原來到商場從另一個商店購買貨物的消費(fèi)者的注意。消費(fèi)者會從可能匯集和協(xié)調(diào)商場上的貨物和服務(wù)中獲益。一個虛擬商場可以提供,譬如說,許多虛擬商店貨物和服務(wù)的一個集中目錄。另外,虛擬商場還可以為商場上所有虛擬商店提供一單個授權(quán)點(diǎn)。一個虛擬商場或許還能協(xié)調(diào)涉及多個商店的成組事務(wù)處理。至今,業(yè)已出現(xiàn)在Web上的虛擬商場已采取了2個解決方案中的一個。第一個,一些商場提供一個具有至各個虛擬商店的超級鏈接的Web頁。第二個,一些商場已提供在相同Web站點(diǎn)內(nèi)的多個虛擬商店。這后一個商場已利用如IBMWorldAvenue系統(tǒng)(http∥mer.shop.ibm.com)和NetscapeMerchant系統(tǒng)(http∥home.netscape.com/comprod/products/iapps/capps/mersys.html)。這些解決方案的每一個都有缺點(diǎn)。第一個方案除了收集它們的URLS(統(tǒng)一資源定位器)外不提供各個商店間的任何協(xié)調(diào)。第二個方案,盡管提供各個商店間的協(xié)調(diào),但在這方面是有限制的,即虛擬商店必須在一單個Web站點(diǎn)內(nèi)被執(zhí)行和被管理。于是,為用第二個方案參加虛擬商場,可能要求在這個Web上有已建虛擬商店的商行重大地改變它的執(zhí)行過程。因此,需要一種協(xié)調(diào)可能被分布在多個Web站點(diǎn)上的多個獨(dú)立虛擬商店的方法。本發(fā)明針對協(xié)調(diào)一組服務(wù)器之間的動作的方法。本發(fā)明的優(yōu)選實(shí)施例涉及協(xié)調(diào)在Web上的多個虛擬商店,但本發(fā)明也適用于其他形式的連網(wǎng)通信。本發(fā)明的一個目的是提供協(xié)調(diào)客戶在一組商店間單一授權(quán)的方法。因而一旦提示授權(quán)信息,客戶就能在任何一個商店或任何子組商店上執(zhí)行事務(wù)處理不需要再提示授權(quán)。本發(fā)明的另一個目的是協(xié)調(diào)來自多個商店的信息匯總。例如,希望把在客戶訪問過的每個商店的售貨筐里包含的物品匯總并為該客戶提供這個信息的單一顯示。如另一個例子,希望允許客戶規(guī)定檢索關(guān)鍵字,發(fā)送檢索請求給商店的任何子組以及發(fā)送組合檢索結(jié)果給客戶。本發(fā)明的另一個目的是協(xié)調(diào)涉及多個商店的對于成組事務(wù)處理的請求。例如,一個客戶可請求成組購置,這涉及一種從跨各商店的一組細(xì)目的“所有的或沒有的”購置。這樣的一種購置涉及,譬如說,從不同的商店配外套和褲子。這種類型的請求可以結(jié)合單一的或跨各商店的多階段委托。本發(fā)明的體系結(jié)構(gòu)是有包括一個或多個參與服務(wù)器和一個或多個控者服務(wù)器的服務(wù)器組的客戶服務(wù)器環(huán)境,其中每個參與服務(wù)器能與至少一個控者服務(wù)器通信。在這個環(huán)境下,本發(fā)明針對協(xié)調(diào)服務(wù)器組中的各服務(wù)器間的動作的方法。協(xié)調(diào)包括以下步驟(1)為在客戶和服務(wù)器間傳遞狀態(tài)信息,用有限制的或無限定的過程的協(xié)議,在一個客戶和至少一個服務(wù)器之間進(jìn)行通信;(2)從客戶到一個服務(wù)器傳送一個動作請求;以及,(3)在響應(yīng)這個請求時,在至少一個控者服務(wù)器協(xié)調(diào)至少這些服務(wù)器中的一些服務(wù)器的動作的條件下在許多服務(wù)器間進(jìn)行通信。本發(fā)明的優(yōu)選實(shí)施例包括協(xié)調(diào)在對話期間客戶的授權(quán)和協(xié)調(diào)由一個客戶請求的一組事務(wù)。為協(xié)調(diào)在對話期間的客戶授權(quán),根據(jù)本發(fā)明的一個優(yōu)選方法包括以下步驟(1)為在客戶和服務(wù)器之間傳遞狀態(tài)信息,用有限制的或不確定的過程的協(xié)議在客戶和服務(wù)器組中至少一個服務(wù)器之間進(jìn)行通信;(2)由客戶發(fā)送第一個動作的請求到一個要求授權(quán)的服務(wù)器;(3)由客戶提供客戶標(biāo)識信息;(4)由一個或多個控者服務(wù)器檢驗(yàn)客戶標(biāo)識信息;(5)由一個或多個控者服務(wù)器產(chǎn)生客戶授權(quán)信息;(6)由一個或多個服務(wù)器保持客戶授權(quán)信息;(7)由一個或多個服務(wù)器利用一個方法保存在對話中的客戶授權(quán)信息;(8)由客戶發(fā)送第二個動作的請求到要求授權(quán)的一個服務(wù)器;以及,(9)用在對話中保存的客戶授權(quán)信息和由服務(wù)器保持的客戶授權(quán)信息對客戶授權(quán)。為協(xié)調(diào)由一個客戶請求的一組事務(wù)處理,根據(jù)本發(fā)明的一個優(yōu)選方法包括以下步驟(1)為在客戶和服務(wù)器之間傳遞狀態(tài)信息,用有限制的或不確定的過程協(xié)議在客戶和服務(wù)器組中至少一個服務(wù)器之間進(jìn)行通信;(2)從客戶到這些服務(wù)器中的一個服務(wù)器傳送多個服務(wù)器要求參與的動作的請求;以及(3)響應(yīng)該請求,在至少一個控者服務(wù)器協(xié)調(diào)多個服務(wù)器的動作的情況下,在服務(wù)器之間進(jìn)行通信??紤]下面的詳細(xì)說明,附加的權(quán)利要求和附圖,本發(fā)明的這些和其他特征、方面和優(yōu)點(diǎn)將成為較好被理解的。圖1是根據(jù)本發(fā)明的一個優(yōu)選實(shí)施例所使用的總體系結(jié)構(gòu)方框圖;圖2是根據(jù)本發(fā)明的一個優(yōu)選實(shí)施例的為協(xié)調(diào)客戶授權(quán)的方法的方框圖;圖3是根據(jù)本發(fā)明的一個優(yōu)選實(shí)施例的為協(xié)調(diào)參與服務(wù)器間的成組事務(wù)處理的方法的方框圖;圖4是根據(jù)本發(fā)明的一個優(yōu)選實(shí)施例的另一個總體系結(jié)構(gòu)的方框圖;圖5是在對話中保存的優(yōu)選變量表;以及,圖6是為在萬維網(wǎng)超級鏈接中動態(tài)嵌入狀態(tài)信息的方法的方框圖。如在本說明書和附加的權(quán)利要求中所使用的,術(shù)語“客戶”是向另一個執(zhí)行同命令有關(guān)任務(wù)的程序或應(yīng)用程序(稱為服務(wù)器)發(fā)出命令的程序或應(yīng)用程序。如在本說明書和附加的權(quán)利要求中所使用的,術(shù)語“公共網(wǎng)關(guān)接口”(CGI)是一種一個萬維網(wǎng)客戶供其能請求在Web站點(diǎn)上執(zhí)行一個程序的機(jī)制。這個Web站點(diǎn)運(yùn)行CGI程序并發(fā)送這個程序的輸出給這個客戶。如在本說明書和附加的權(quán)利要求中所使用的,術(shù)語“繼續(xù)”是客戶可以向一個服務(wù)器發(fā)送的一個新請求,它由服務(wù)器響應(yīng)客戶的上一個請求所提供。超文本鏈接(或超級鏈接)是客戶-服務(wù)器通信中繼續(xù)的例子。凡客戶間服務(wù)器做請求時,這個服務(wù)器可以在它的響應(yīng)中包括一個或多個繼續(xù)。雖然由這個服務(wù)器提供的繼續(xù)應(yīng)是任何有效請求,但是有用的繼續(xù)一般邏輯上與客戶原來的請求有關(guān)。如在本說明書和附加的權(quán)利要求中所使用的,術(shù)語“對話”是在客戶和服務(wù)器間通信的時序。按這個時序服務(wù)器用一組繼續(xù)響應(yīng)每個來自客戶的請求,并且客戶總是從由這個服務(wù)器提供的這組繼續(xù)接收下一個請求。在萬維網(wǎng)上,超文本鏈接是繼續(xù)的例子,凡客戶跟蹤由服務(wù)器提供的超文本鏈接時,這個客戶參與同這個服務(wù)器的對話。較正式地,一系列HTMLWeb頁h1、h2…h(huán)n組成一個對話,如果(1)頁h1、h2……h(huán)n全部被一個客戶查看;以及,(2)對于如1<i<n這樣的i,頁hi通過跟蹤在頁hi-1上的一個超文本鏈接得到。在一個不被中斷的對話中,這個客戶不總逆跟蹤而只跟蹤從頁h1到hn得到的n-1超文本鏈接。在一個被中斷的對話中,這個客戶至少逆跟蹤一次。逆跟蹤系指這樣的進(jìn)程,其中客戶(1)初始訪問頁hi,其中1<=i<n;(2)或者通過跟蹤超文本鏈接,顯然需要URLs,或者通過利用Web瀏覽器的高速緩存來查看其他頁;以及,(3)通過從內(nèi)存(如從瀏覽器的高速緩存)重裝入hi返回到hi。如在本說明書和附加的權(quán)利要求中所使用的,術(shù)語“引導(dǎo)頁”是一個目錄表,它引導(dǎo)萬維網(wǎng)用戶到儲存在Web站點(diǎn)上的信息。一個引導(dǎo)頁常常包含多媒體目錄。如在本說明書和附加的權(quán)利要求中所使用的,術(shù)語“超級鏈接”或“超文本鏈接”是一種網(wǎng)絡(luò)地址,如統(tǒng)一資源定位器,它被嵌入在字、詞組、圖標(biāo)或圖畫里,當(dāng)有人選擇它時它被啟動。當(dāng)一個客戶啟動一個超級鏈接時,相應(yīng)于這個超級鏈接的信息被返回到這個客戶并用Web瀏覽器顯示。如在本說明書和附加的權(quán)利要求中所使用的,術(shù)語“超文本標(biāo)記語言”(HTML)是被Web服務(wù)器使用的語言,用于創(chuàng)建和連接由Web客戶查看的超文本文檔。超文本文檔的其他用途在下列美國專利中被介紹美國專利NO.5,204,947,1993年4月20日發(fā)布,授權(quán)給Bernstein等;美國專利No.5,297,249,1994年3月22日發(fā)布,授權(quán)給Bernstein等;以及美國專利No.5,355,472,1994年10月11日發(fā)布,授權(quán)給Lewis。所有這些專利被轉(zhuǎn)讓給國際商業(yè)機(jī)器公司并在這里被編入作為參考。如在本說明書和附加的權(quán)利要求中所使用的,術(shù)語“超文本傳送協(xié)議”(HTTP)是為在計(jì)算機(jī)間傳送數(shù)據(jù)由萬維網(wǎng)使用的一個協(xié)議。HTTP允許客戶或者通過請求一個文件或者通過調(diào)用一個CGI程序從一個服務(wù)器取得數(shù)據(jù)。HTTP是個無狀態(tài)協(xié)議,這意味著,每個從客戶到服務(wù)器的請求被獨(dú)立處理。服務(wù)器沒有任何同客戶以前連接的記錄。在URL的一開始,“http”表示所使用的協(xié)議是HTTP。如在本說明書和附加的權(quán)利要求中所使用的,術(shù)語“因特網(wǎng)”是用TCP/IP協(xié)議互相連接的一批計(jì)算機(jī)網(wǎng)絡(luò)和網(wǎng)關(guān)。如在本說明書和附加的權(quán)利要求中所使用的,術(shù)語“服務(wù)器”是執(zhí)行在另一個程序和應(yīng)用程序(稱為客戶)的命令中的任務(wù)的一個程序或應(yīng)用程序。如在本說明書和附加的權(quán)利要求中所使用的,一個Web站點(diǎn)可以是一個服務(wù)器。術(shù)語“服務(wù)器”與支持Web站點(diǎn)的Web服務(wù)器不是同義的。如在本說明書和附加的權(quán)利要求中所使用的,術(shù)語“事務(wù)處理”系指客戶對服務(wù)器所做的任何一個請求。如在本說明書和附加的權(quán)利要求中所使用的,術(shù)語“傳輸控制協(xié)議/因特網(wǎng)協(xié)議”(TCP/IP)是把數(shù)據(jù)分成包,經(jīng)由網(wǎng)絡(luò)路由包,并在目的地重建包的一批協(xié)議。數(shù)據(jù)可以是從電子郵件的正文到影象的任何東西。如在本說明書和附加的權(quán)利要求中所使用的,術(shù)語“統(tǒng)一資源定位器”(URL)是唯一標(biāo)識或?qū)ぶ稺eb上信息的一個方式。一個URL能被看作是等效于一個電子郵件地址的Web。如果URL屬于深埋在其他文檔內(nèi)的文檔,它們可能是麻煩的,但是它們可經(jīng)常用超級鏈接訪問。URL的一個例子是“http∥www.arun.com80/table.html”。一個URL有四個部分,自左邊開始,第一個部分規(guī)定所使用的協(xié)議。它被一個冒號同URL的其余部分分開。下一個部分是目標(biāo)主機(jī)的主機(jī)名或IP(因特網(wǎng)協(xié)議)地址。這個部分在左邊用“∥”定界,而在右邊用“/或一個冒號”定界。第三個部分是一個可選的端口號。當(dāng)使用這個部分時,它在左邊用冒號定界,而在右邊用“/”定界。第四個部分是實(shí)際的文件名或程序名。在上面給出的例子中,協(xié)議是“http”,主機(jī)名是“www.arun.com”,端口號是“80”,以及文件名是“table.html”。在這個例子中,“http”系指超文本傳送協(xié)議,文件的擴(kuò)展名“html”系指超文本標(biāo)記語言。如在本說明書和附加的權(quán)利要求中所使用的,術(shù)語“Web瀏覽器”是允許人們在萬維網(wǎng)上顯示超文本檔的一個客戶程序。Web瀏覽器起因特網(wǎng)游覽向?qū)У淖饔?,用圖象桌面、目錄和搜索工具完成,它可被人們用于導(dǎo)航或“沖浪”因特網(wǎng)。如在本說明書和附加的權(quán)利要求中所使用的,術(shù)語“萬維網(wǎng)”(“Web”)是在因特網(wǎng)上的一批超文本文檔。一個超文本文檔包含到其他文檔的超級鏈接,人們可用它們在文件之間來回導(dǎo)航。實(shí)際上,在因特網(wǎng)上查找信息的人們可使用Web通過選擇超級鏈接在服務(wù)器之間和在數(shù)據(jù)庫之間來回切換,超級鏈接通常顯示為文檔中的高亮字或詞組。在Web上的資源經(jīng)由統(tǒng)一資源定位器(URLs)訪問。Web利用超文本標(biāo)記語言(HTML)顯示相應(yīng)于URLs的信息和提供一個至其它URLs的指向-單擊界面。如圖1所示,根據(jù)本發(fā)明的一個優(yōu)選實(shí)施例所使用的一個總體系結(jié)構(gòu)由客戶103和一個服務(wù)器組104組成。服務(wù)器組104包括參與服務(wù)器101和控者服務(wù)器102。(為簡潔起見,在本說明書中控者服務(wù)器102將被簡稱為控制器。)參與服務(wù)器和控制器的物理位置是不重要的。每個參與服務(wù)器101和控制器102可駐留在由網(wǎng)絡(luò)連接的各個計(jì)算機(jī)上,或者換過來,多個服務(wù)器可駐留在一單個計(jì)算機(jī)上。也可能,控制器和/或一個或多個參與服務(wù)器同時駐留在幾個計(jì)算機(jī)上。例如,如果控制器和/或一個或多個參與服務(wù)器作為可縮放Web服務(wù)器實(shí)現(xiàn),這種情況會成立。(關(guān)于可縮放(scalable)Web服務(wù)器的資料,見D.Dias等,“可縮放(scalable)和高度可用的Web服務(wù)器”,proceldingsofCOMPCON’96)??刂破?02保持客戶帳號信息(例如,用戶IDs用戶名字、口令、地址和電話號碼)。如圖1所示,每個參與服務(wù)器101能同控制器102通信,而客戶103能同每個參與服務(wù)器101和控制器102通信??刂破骱蛥⑴c服務(wù)器可以用HTTP這樣的標(biāo)準(zhǔn)協(xié)議互相通信。另外,它們還可用一個專利協(xié)議通信??蛻?03借助一個如HTTP這樣的通信協(xié)議同參與服務(wù)器101和控制器102通信。協(xié)議有為保持客戶狀態(tài)信息的限制的或非限定的過程。為保持客戶狀態(tài)信息的限制的或非限定的過程意味著,對于利用協(xié)議在客戶和服務(wù)器之間的非空子集通信類型來說,難于或者說不可能利用由協(xié)議規(guī)定的過程保存在對話中如客戶的標(biāo)識或客戶的口令這樣的狀態(tài)變量,因而狀態(tài)變量在對話的剩余期間能被一個服務(wù)器器序地檢索。有二種參與服務(wù)器可以完成事務(wù)處理類型處理。第一種,參與服務(wù)器可以完成一個簡單的事務(wù)處理。一個參與服務(wù)器能代表與其他參與服務(wù)器和控制器無關(guān)的客戶完成簡單的事務(wù)處理。因此,一個客戶可以直接從一個參與服務(wù)器請求一個簡單的事務(wù)處理。第二種,一個參與服務(wù)器可以完成成組事務(wù)處理。成組事務(wù)處理在控制器的協(xié)調(diào)下由一個或多個參與服務(wù)器來完成。一個客戶最好僅能從控制器請求一個成組事務(wù)處理。圖2表示本發(fā)明的一個優(yōu)選實(shí)施例。其中,控制器102在參與服務(wù)器間協(xié)調(diào)客戶103的授權(quán)。授權(quán)是客戶103借其將自己識別給服務(wù)組104中的一個服務(wù)器的進(jìn)程。在這個優(yōu)選實(shí)施例中,在對話期間只需要為客戶103提示一次標(biāo)識信息,提示由在這個對話的剩余期間執(zhí)行在這個服務(wù)器組中的任何一個服務(wù)器上的事務(wù)處理的任何參與服務(wù)器或控制器做出。在步驟201,較可取的是控制器最好建立同參與服務(wù)器的開放連接。相反,每當(dāng)控制器需要同一個參與服務(wù)器通信時,控制器應(yīng)建立一個新的連接。然而,保持如在步驟201所示的開放連接多半導(dǎo)致比每次都建立新連接要好的性能。在步驟202,客戶103不為自己授權(quán)就同服務(wù)器組交互。這個客戶,譬如說,可能還在瀏覽目錄。在步驟204,客戶103企圖進(jìn)行第一個需授權(quán)對話的事務(wù)處理。在步驟205,客戶經(jīng)由HTML格式輸入用戶ID401和口令。為了保密,在客戶和服務(wù)器組間傳遞的信息最好用如安全層(SSL)這樣的系統(tǒng)加密。(關(guān)于SSL的資料,見A.O.Frerier,P.Karpton和P.C.Kocher,“SSL協(xié)議版本3.0”,InternetDraft,1996年3月,httP∥home.netscape.com/eng/ss13/ssl-toc.htme)。在步驟207,被客戶連接的服務(wù)器檢查客戶是否已輸入有效的用戶ID401和口令。如果被客戶連接的服務(wù)器是一個參與服務(wù)器,這個服務(wù)器必須連接控制器以確認(rèn)用戶ID401和口令。如果客戶還沒輸入一個有效ID401和口令,錯誤處理在步驟206進(jìn)行。步驟206能用幾個方式實(shí)施。作為第一個方案,能給客戶一個新的機(jī)會來輸入用戶ID401和口令。作為第二個方案,能給客戶作為一個新用戶注冊的機(jī)會。在這種情況下,會提示客戶輸入進(jìn)一步的信息如名字、地址和電話號碼。作為第三個方案,對話會用一個出錯消息終止。最后一個方案是處理誤差處理的優(yōu)選方法。當(dāng)然,其他方法也是可能的。如果在步驟207中已輸入一個有效用戶ID401和口令,則控制器在步驟208產(chǎn)生一個會話ID402。會話IDS被用于在對話期間授權(quán)客戶。會話ID被從足夠大的關(guān)鍵字空間隨機(jī)地選擇以便一個有惡意的用戶不可能猜出它??刂破靼延脩鬒D和會話ID保持在數(shù)據(jù)庫中。(也可使用其他存儲方法,例如一個文件系統(tǒng))。當(dāng)前的會話ID改寫特定用戶ID的任何以前儲存的會話ID。在步驟208,被客戶連接的服務(wù)器將對話中的用戶ID401和會話ID402作為狀態(tài)變量保存。如在本說明書和附加的權(quán)利要求中所使用的,保存在對話中的狀態(tài)信息意思是保存這些信息以便服務(wù)器組中的任何一個服務(wù)器將能在對話期間同客戶的未來通信中獲得對這些信息的訪問。在步驟208,服務(wù)器也以所訪問節(jié)點(diǎn)狀態(tài)變量403的形式編碼它的標(biāo)識,以及保存對話中所訪問節(jié)點(diǎn)狀態(tài)變量。所訪問節(jié)點(diǎn)狀態(tài)變量403包括表示自授權(quán)以來已被客戶訪問過的參與服務(wù)器的一個或多個狀態(tài)變量。有可能用一單個變量表示所有已被訪問過的服務(wù)器。然而,合乎需要的是,用多個變量表示較多的詳細(xì)的信息,如在授權(quán)前已訪問過的參與服務(wù)器,在授權(quán)后被訪問的參與服務(wù)器,以及在其中簡單的事務(wù)處理已被完成的參與服務(wù)器??刂破鳛槭跈?quán)客戶儲存在它的數(shù)據(jù)庫里的狀態(tài)信息和在對話中保存的狀態(tài)信息不必相同。一個可以包含比另一個或多或少的狀態(tài)變量,然而,至少有一些儲存在每個里的變量是相同的。例如,在我們的優(yōu)選實(shí)施例中,用戶ID和會話ID變量既被儲存在控制器的數(shù)據(jù)庫里又在對話中被保存。如在本說明書和附加的權(quán)利要求中所使用的,術(shù)語“客戶授權(quán)信息”系是一組既被服務(wù)器儲存又在對話中被保存的變量。為保存在對話中的狀態(tài)變量的優(yōu)選方法是動態(tài)變元嵌入。在動態(tài)變元嵌入時,一個服務(wù)器遞推地將狀態(tài)信息嵌入到它發(fā)送給一個客戶的繼續(xù)里。利用這個方法,凡客戶選擇一個繼續(xù)時,它就將狀態(tài)信息作為繼續(xù)的部分發(fā)回給服務(wù)器。服務(wù)器則按需要檢查狀態(tài)信息、處理請求、以及再一次將狀態(tài)信息嵌入下一組發(fā)送給客戶的繼續(xù)中。在萬維網(wǎng)的上下文中,動態(tài)變元嵌入修改保存狀態(tài)信息的超級鏈接。一般說來,為調(diào)用一個稱為變元嵌入器的特殊程序,超級鏈接被改變。變元嵌入器將保存在超級鏈接中的狀態(tài)信息傳遞到Web站點(diǎn)上的其它CGI正本。另外,變元嵌入器修改所有在得到的CGI正本的輸出中的超級鏈接以便調(diào)用它本身。于是,一個跟蹤利用動態(tài)變元嵌入保存狀態(tài)的對話的客戶被傳遞所有調(diào)用變元嵌入器的超級鏈接。圖6說明利用動態(tài)變元嵌入在Web上的超級鏈接中保存狀態(tài)信息的方法。在步驟601,一個客戶調(diào)用一個Web站點(diǎn)上的CGI正本P1。在步驟603,CGI正本P1確定狀態(tài)變量X1、X2……Xn應(yīng)被嵌入對話中以便這些變量對在對話期間可被調(diào)用的所有CGI正本將是可訪問的。CGI正本P1為客戶繼續(xù)對話產(chǎn)生一個有超文本鏈接的HTML頁h。然而,不是直接將頁h返回給客戶,而是P1調(diào)用一個稱為embed1的變元嵌入器的模塊。CGI正本P1將頁h和狀態(tài)變量X1、X2……Xn傳遞給embed1。在步驟605,embed1模塊修改在頁h中的所有超文本鏈接以便調(diào)用另一個被稱為embed2的變元嵌入器模塊。被傳遞到embed2的變元取決于在頁h中的鏈接是到HTML文件還是到CGI正本。如果在頁h中的鏈接是到一個HTML文件,embed2對這個文件傳遞絕對參照和所有狀態(tài)變量。如果在頁h中的鏈接是到一個CGI正本,embed2對CGI正本傳遞絕對參照、對CGI正本傳遞原來變元傳遞一個定界原來變量結(jié)束的參數(shù)以及狀態(tài)變量。例如,假定CGI正本P1同一個HTML頁一起傳遞狀態(tài)變量X1=32和X2=45到embed1,這個HTML頁包含二個超級鏈接(1)“http∥www.watson.ibm.com/mail.html”;以及(2)“http∥www.watson.ibm.com/cgi-bin/prog?arg1=55”。模塊embed1將這二個超級鏈接分別轉(zhuǎn)換到(1)“http∥www.watson.ibm.com.cgi-bin/embed2?url=∥www.watson.ibm.com/mail.html&X1=32&X2=45”;以及(2)“http∥www.watson.ibm.com/cgi-bin/embed2?url=∥www.waston.ibm.com/cgi-bin/prog&arg1=55&comma=1&X11=32&X2=45”。在第二個超級鏈接中的“comma=1”字符串允許embed2從狀態(tài)變量X1和X2中區(qū)分出原來的變元arg1。任何唯一的變量名能被用作定界符。如果有“comma”會同另一個同名變量沖突的危險,一個較復(fù)雜的方法能被用于挑選一種唯一的定界符變量名。在步驟607,embed1模塊發(fā)送一個HTML頁h′到由被修改的超級鏈接組成的客戶。在頁h′中的所有超文本鏈接都是對embed2的調(diào)用。在步驟609,客戶從頁h′中選擇一個超文本鏈接繼續(xù)對話。這個超文本鏈接調(diào)用模塊embed2。在步驟611,embed2處理請求。如果到embed2的變元包含一個文件,則這個文件被取出。如果到embed2的變元包含一個對CGI正本的調(diào)用,則CGI正本同原來的變元和一個狀態(tài)變量一起被調(diào)用。利用在上面給出的例子,如果第一個超級鏈接被客戶選取,embed2將取出文件“mail.html”。如果第二個超級鏈接被客戶選取,embed2將用具有原來變量arg1=55和狀態(tài)變量X1=32和X2=45的CGI正本“prog”。在步驟613,一旦適當(dāng)?shù)腍TML文件被取出或CGI正本被調(diào)用,則得到的輸出和狀態(tài)變量被傳遞給embed1。然后,過程返回到步驟605,在這個步驟中,embed1修改在輸出中的超級鏈接。(下列資料中提供動態(tài)變元嵌入的充分討論“用無狀態(tài)網(wǎng)絡(luò)協(xié)議保存狀態(tài)”,美國專利申請?zhí)?8/660,633,1996年6月7日申請。)雖然動態(tài)嵌入是保存對話中的狀態(tài)的優(yōu)選方法,但也能使用NETSCAPE“cookies”。NETSCAP“cookies”是非標(biāo)準(zhǔn)HTTP特征,借助它把一個HTTP目標(biāo)返回給客戶的服務(wù)器,也可以發(fā)送一段客戶儲存的狀態(tài)信息。包括在狀態(tài)信息中的有對其狀態(tài)信息有效的URL的范圍的描述。如果一個客戶支持NETSCAPE“cookies”,客戶將檢查它發(fā)送的任何HTTP請求以便看一個請求的URL是否落在客戶已儲存的任何未過期的cookies范圍內(nèi)。如果一個HTTP請求落在“cookies”所規(guī)定的范圍內(nèi),客戶將包括對應(yīng)于那個“cookies”的狀態(tài)信息同它的HTTP請求。(關(guān)于NETSCAPE“cookies”的全面討論,見“持久客戶狀態(tài)HTTPcookies”,Netscape通信公司,1996,http∥home.netscape.com/newsref/std/cookie-spec.html.)使用動態(tài)變元嵌入有超過NETSCAPEcookies的優(yōu)點(diǎn)。通過使用動態(tài)變元嵌入,所有狀態(tài)信息的壽命同對話的壽命聯(lián)系在一起。每次在客戶和服務(wù)器組之間開始一個新的對話時,都產(chǎn)生新的狀態(tài)信息。使用cookies,不可能將狀態(tài)信息的壽命同對話的壽命聯(lián)系在一起。cookies的另一個缺點(diǎn)是,它們不是標(biāo)準(zhǔn)HTTP協(xié)議的一部分,因此不可能同所有的客戶和Web服務(wù)器一起工作。相對照地,動態(tài)變元嵌入同任何支持HTTP的客戶或Web服務(wù)器一起工作。動態(tài)變元嵌入的另一個優(yōu)點(diǎn)是,通過高速緩存對應(yīng)于客戶上的不同帳號的Web頁,可以同時提供對多個帳號的訪問。HTML表格也能用于保存狀態(tài)。HTML表格被服務(wù)器用于嵌入隱變量到表格中,當(dāng)客戶提交表格時表格被返回給這個服務(wù)器。然而,HTML表格的使用是有限制的又是麻煩的,這因?yàn)闉楸4嬲麄€對話期間的狀態(tài)信息,這個服務(wù)器必須總要響應(yīng)具有動態(tài)生成的HTML表格的客戶。在步驟300,進(jìn)行事務(wù)處理。如果這個事務(wù)處理是個簡單事務(wù)處理,則參與服務(wù)器或控制器獨(dú)自管理這個事務(wù)處理。如果被請求的事務(wù)處理是來自控制器的成組事務(wù)處理,則處理按圖3中的步驟來管理。在步驟209,管理簡單事務(wù)處理的服務(wù)器返回HTML頁到具有用于繼續(xù)對話的超文本鏈接的客戶。在這一頁發(fā)送到客戶之前,狀態(tài)信息可被包括在這一頁中。例如,如果服務(wù)器組正在使用動態(tài)變元嵌入,那么在這頁上的超文本鏈接必須如上面所討論的被修改。即使服務(wù)器組沒有使用動態(tài)變元嵌入,它也許有必要修改頁中的超文本鏈接以便使系統(tǒng)能跟蹤自客戶授權(quán)以來已被訪問的參與服務(wù)器。例如,如果必要的話,為調(diào)用將更新被訪問節(jié)點(diǎn)狀態(tài)變量403的一個CGI正本,在對應(yīng)于未在發(fā)送這頁的參與服務(wù)器的頁中的超文本鏈接應(yīng)被修改。在步驟210,一旦進(jìn)行一個事務(wù)處理,并且一個響應(yīng)頁已被返回到客戶,客戶通過從響應(yīng)頁中選擇一個新的超文本鏈接繼續(xù)對話(有可能結(jié)合輸入其他信息)。在步驟211,如果在步驟210所選擇的超文本鏈接指向一個參與服務(wù)器,CGI正本確定這個服務(wù)器自授權(quán)以來是否已被訪問過。通過檢查被訪問節(jié)點(diǎn)狀態(tài)變量403來確定。如果這個服務(wù)器自授權(quán)以來還未被訪問過,在步驟212中,這個服務(wù)器被加到被訪問節(jié)點(diǎn)狀態(tài)變量403上。在步驟213,被客戶連接的服務(wù)器確定客戶是否已試圖進(jìn)行需要授權(quán)的事務(wù)處理。如果客戶還沒有,在步驟300進(jìn)行事務(wù)處理。如果這個服務(wù)器確定需要授權(quán)的事務(wù)處理已被選擇,在步驟214處理繼續(xù)。在這個步驟中,服務(wù)器檢驗(yàn)用戶ID40和會話ID402是有效的。如果這個服務(wù)器是參與服務(wù)器,在一個優(yōu)選實(shí)施例中,為檢驗(yàn)用戶ID和會話ID的有效性,必須連接控制器。如果用戶ID和會話ID不是有效的,在步驟215進(jìn)行錯誤處理,如以前關(guān)于步驟206所說明的,錯誤處理能用幾個方式管理,但較可取的是服務(wù)器通過響應(yīng)于包含出錯消息的頁來結(jié)束對話。如果用戶ID和會話ID是有效的,如前面所述,在步驟300進(jìn)行事務(wù)處理。如果被客戶請求的事務(wù)處理是成組事務(wù)處理,按照圖3中本發(fā)明的優(yōu)選實(shí)施例參與服務(wù)器間的協(xié)調(diào)被進(jìn)行。在步驟303,控制器構(gòu)造一參與服務(wù)器缺省組,這組服務(wù)器由自授權(quán)以來被訪問過的所有參與服務(wù)器組成。這個信息被包含在被訪問節(jié)點(diǎn)狀態(tài)變量403中??蛻粲羞@樣選擇或者接受這個缺省組,或者用它自己選擇的參與服務(wù)器組代替這個缺省組。成組事務(wù)處理可以分n個階段進(jìn)行,其中一些有限的n>0。前n-1個階段被稱為準(zhǔn)備階段。后面的階段被稱為委托階段。步驟304確定是否還需要進(jìn)行任何準(zhǔn)備階段。如果繼續(xù)要進(jìn)行一個準(zhǔn)備階段,在步驟306,控制器發(fā)送適當(dāng)?shù)臏?zhǔn)備消息到在步驟303中被規(guī)定的組中的所有參與服務(wù)器。在步驟307,控制器收集來自所規(guī)定組中的所有參與服務(wù)器的響應(yīng)并將這些響應(yīng)加到來自以前階段的響應(yīng)上。參與服務(wù)器用確認(rèn)的響應(yīng)或否認(rèn)的響應(yīng)來響應(yīng)。如果參與服務(wù)器不能在超時期間內(nèi)響應(yīng),則響應(yīng)被假定為是否認(rèn)的。作為這些響應(yīng)的一部分,參與服務(wù)器可以發(fā)送HTML文本。因?yàn)镠TML文本的格式是靈活的,所以每個參與服務(wù)器能發(fā)送對成組動作的定制的響應(yīng),成組動作包括參與服務(wù)器選擇的超文本鏈接、圖象和多媒體內(nèi)容的組合。在步驟309,控制器檢查所有響應(yīng)是否是確認(rèn)的。如果任何參與服務(wù)器的響應(yīng)是否認(rèn)的,處理轉(zhuǎn)移到步驟311。在步驟311,控制器通知在步驟309被確認(rèn)響應(yīng)的所有參與服務(wù)器準(zhǔn)備階段失敗。在步驟312,控制器將來自被確認(rèn)響應(yīng)的參與服務(wù)器的響應(yīng)同一個這樣的信息一起合并成一單獨(dú)頁,即這個信息通知客戶失敗的準(zhǔn)備階段和使準(zhǔn)備階段失敗的參與服務(wù)器。返回到客戶的這頁也包含為客戶繼續(xù)對話的超文本鏈接。如果控制器在步驟309確定一個準(zhǔn)備階段在所規(guī)定組中的所有參與服務(wù)器上成功,處理返回到步驟304。如果所有準(zhǔn)備階段都成功地完成,處理進(jìn)行到步驟305。在步驟305,控制器發(fā)送委托信息到所規(guī)定的組中的所有參與服務(wù)器。在步驟308,控制器收集來自在所規(guī)定組中的所有參與服務(wù)器的響應(yīng)。如上所述,參與服務(wù)器可以在它們的響應(yīng)中包括HTML文本。在步驟310,控制器通過合并若干項(xiàng)產(chǎn)生發(fā)送到客戶的一單獨(dú)頁響應(yīng)。首先,控制器將在步驟308收到的所有響應(yīng)同以前在步驟307從準(zhǔn)備階段收集的響應(yīng)合并。然后,控制器加上一個表示所有準(zhǔn)備階段已成功的消息。如果一個參與服務(wù)器在步驟308不能在超時期間內(nèi)響應(yīng),控制器也可將這個信息加到響應(yīng)頁上。最后,包括允許客戶繼續(xù)對話的超文本鏈接。還有,在這頁被發(fā)送到客戶之前,為保存狀態(tài)信息或者為使系統(tǒng)能跟蹤以前訪問的節(jié)點(diǎn),這頁的修改或許是必要的。在上述實(shí)施例上可能有許多擴(kuò)展和變種。一個可能的變種是限制會話ID的壽命。當(dāng)會話ID在步驟208被建立時,控制器可以記錄每個會話ID的壽命和建立時間(稱為短暫會話ID)。凡在當(dāng)前時間和建立時間之間的差超過短暫會話ID的壽命時,短暫會話期ID屆滿。短暫會話ID的屆滿能在步驟214被檢查。如果客戶試圖一個具有屆滿的短暫會話ID的事務(wù)處理,則在步驟215進(jìn)行錯誤處理。處理屆滿的短暫會話ID的優(yōu)選方法是要求客戶通過提交一個有效的用戶ID和口令重授權(quán)它自己。另一個可能的變種是生成一個具有每個事務(wù)處理請求的新會話ID。這樣,每個會話ID只適合一個事務(wù)處理。這個方法會使存心不良的介入者難以竊取會話ID和闖入帳號。為實(shí)現(xiàn)這個變種,步驟214可被修改為使以前的會話ID失效、產(chǎn)生一個新的會話ID、記錄這個新的會話ID以及保存新會話ID到對話中。另一個可能的變種是在會話IDS被發(fā)送到客戶之前加密它們,并在它們被控制器授權(quán)之前使它們解密。如果使用諸如動態(tài)變元嵌入或cookies技術(shù),則加密功能會根據(jù)會話ID被傳遞到的URL產(chǎn)生不同的編碼。因此,訪問不同的URLs會需要不同的加密會話ID。存心不良的介入者設(shè)法竊取加密的會話ID,他只能對于一個特殊的URL使用它(并可能地只用一特殊組的變元)。這會限制這類人可能造成的損害。另一個可能的變種是,控制器要求由于一個特殊的會話ID的所有事務(wù)處理都來自與參加建立會話ID的授權(quán)過程的客戶相同的IP地址。為實(shí)現(xiàn)這個特點(diǎn),當(dāng)會話ID在步驟208中被建立時,客戶授權(quán)自己的IP地址被記錄。在步驟214,只要作出請求的客戶的地址與授權(quán)自己的客戶的地址相同,事務(wù)處理就將被允許進(jìn)行。這個方法或許能防止一個存心不良的用戶從一個客戶竊取會話ID和用這個會話ID從其他機(jī)器闖入這個客戶的帳號。然而,這是不安全的,因?yàn)椴煌臋C(jī)器能出現(xiàn)有相同的IP地址(例如,當(dāng)這些機(jī)器在同一防火墻后面時)。如加密這樣的其他安全特點(diǎn)可與這個方法結(jié)合使用以減小闖入帳號的危險。另一個可能的變種是,由控制器保持的客戶授權(quán)和帳號信息(例如,用戶ID、口令和會話ID)被復(fù)制在一個或多個參與服務(wù)器上。這樣,對于每個授權(quán),不需連接控制器。這個方法會減輕控制器上的負(fù)擔(dān)并能改進(jìn)系統(tǒng)性能。然而,為保持在授權(quán)和帳號信息的多個拷貝之間的一致性,會需要某個方法。另一個可能的變種,能改進(jìn)繁重工作負(fù)擔(dān)的系統(tǒng)性能,是標(biāo)定控制器在多個服務(wù)器上運(yùn)行。然而,標(biāo)定控制器在多個服務(wù)器上運(yùn)行的復(fù)雜性之一是如何在多個節(jié)點(diǎn)上共用授權(quán)信息問題。授權(quán)信息能被復(fù)制在多個節(jié)點(diǎn)上,但由于保持授權(quán)信息多個一致的拷貝的輔助操作和復(fù)雜性,合乎需要的是只保持在步驟208記錄的授權(quán)信息的一個拷貝。為當(dāng)一個控制器在多個節(jié)點(diǎn)上被標(biāo)定時保持授權(quán)信息的一個解決方法是分配一組所有會話ID(屬于當(dāng)前同服務(wù)器組通信的所有客戶)在控制器節(jié)點(diǎn)上。于是,任何一個特定會話器ID的只單獨(dú)一個拷貝被保持,但這組會話ID被分配在各控制器節(jié)點(diǎn)上。為實(shí)現(xiàn)這個方法,在步驟208控制器會儲存一個特定客戶的會話ID信息在一個控制器節(jié)點(diǎn)上。控制器節(jié)點(diǎn)n的標(biāo)識則會被編碼成同那個客戶對話中的一個狀態(tài)變量。例如,會話ID變量402可被編碼以便既儲存實(shí)際的會話ID也儲存已儲存客戶的會話ID的控制器節(jié)點(diǎn)。凡在客戶企圖進(jìn)行需要它的會話ID授權(quán)的事務(wù)處理時,步驟214檢查在同客戶的對話中所保存的適當(dāng)狀態(tài)變量以便確定哪個控制器節(jié)點(diǎn)包含這個客戶的會話ID。然后,客戶的會話ID在適當(dāng)?shù)目刂破鞴?jié)點(diǎn)上被檢驗(yàn)。如同在客戶授權(quán)信息的情況下,客戶帳號信息能被復(fù)制在多個控制器節(jié)點(diǎn)上或者分配在多個控制器節(jié)點(diǎn)上。采取哪個方法的決定能被與哪個方法被用于客戶授權(quán)信息無關(guān)地做出。如果客戶帳號信息被分配在多個節(jié)點(diǎn)上,則上述方法能被使用。包含一個特定客戶的帳號信息的控制器節(jié)點(diǎn)的標(biāo)識能被編碼成一個如用戶ID變量401這樣的狀態(tài)變量。另一個可能的變種是允許客戶執(zhí)行一些通常由服務(wù)器組執(zhí)行的功能。利用如JAVA這樣的語言,一些由服務(wù)器執(zhí)行的功能能被客戶下載和執(zhí)行。另一個可能的變種,不是在對話中既保存用戶ID狀態(tài)變量又保存會話ID狀態(tài)變量,而是只保存會話ID狀態(tài)變量。在這個執(zhí)行中,服務(wù)器將保持用戶ID和會話ID間的對應(yīng)性。然后,服務(wù)器將能夠從會話ID計(jì)算出用戶ID。另一個可能的變種是保持客戶的口令作為狀態(tài)變量,而不是產(chǎn)生會話ID狀態(tài)變量。但是,由于會話ID持續(xù)如同對話那么長時間,所以使用會話ID而不使用口令的優(yōu)點(diǎn)是一個被竊取的會話ID或許有可能比一個被竊取的口令損害小。另一個可能的變種是執(zhí)行XA協(xié)議處理多階段委托。(關(guān)于XA協(xié)議的討論,見J.Gray和A.Reuter,事務(wù)處理概念和技術(shù),Morgankaufman,1993)。在我們的優(yōu)選實(shí)施例中,用于成組事務(wù)處理的缺省參與服務(wù)器組由在授權(quán)時和成組事務(wù)處理被請求時之間已被訪問的參與服務(wù)器組成。關(guān)于選擇一缺省組能容易地實(shí)現(xiàn)若干變化。一缺省參與服務(wù)器組可由以下組成(1)自對話開始以來已被訪問的所有服務(wù)器;(2)自對話開始以來已被介入的所有服務(wù)器;(3)自最后的成組事務(wù)處理以來已被訪問的所有服務(wù)器;(4)自最后的成組事務(wù)處理以來已被介入簡單事務(wù)處理的所有服務(wù)器;以及(5)參加最后的成組事務(wù)處理的所有服務(wù)器。另外,以上缺省組的組合也是可能的。一般地,缺省組能相對于事務(wù)處理類型、授權(quán)證類型和關(guān)鍵事件被確定。事務(wù)處理可被分類成包括但不限于如下的組(1)所有事務(wù)處理;(2)簡單事務(wù)處理;以及(3)成組事務(wù)處理。事務(wù)處理還可按照授權(quán)類型被分類,如(1)所有事務(wù)處理;(2)其中需要授權(quán)的事務(wù)處理;(3)其中不需要授權(quán)的事務(wù)處理。關(guān)鍵事件是由事務(wù)處理確定的對話期間中的時間點(diǎn)。例如,如下可以是關(guān)鍵事件(1)一次對話的開始;(2)客戶最初提供有效標(biāo)識信息的瞬間;(3)最后的成組事務(wù)處理。缺省組可以相對于一關(guān)鍵服務(wù)器子集CS(i,j,k)來規(guī)定。CS(i,j,k)是提供j型事務(wù)處理和k型授權(quán)的事務(wù)處理的自關(guān)鍵事件i以來客戶已同其通信的服務(wù)器子集。例如,利用上面規(guī)定的分類,關(guān)鍵服務(wù)器子集CS(3、1、2)是在其上進(jìn)行要求授權(quán)的事務(wù)處理的自最后的成組事務(wù)處理以來客戶已同其通信的服務(wù)器的子集。另一個可能的變種是規(guī)定一種不依賴于被訪問的參與服務(wù)器的缺省組。在這個執(zhí)行中,被訪問的節(jié)點(diǎn)狀態(tài)變量403不需要被保存,而且不需要步驟211和212。也有可能讓一個參與服務(wù)器同多個控制器通信。如圖4所示,也可能有控制器的層次,在這里一個控制器協(xié)調(diào)發(fā)自它下面層中的控制器和參與服務(wù)器的動作。在我們的優(yōu)選實(shí)施例的圖3的步驟310和312中,控制器按一單獨(dú)HTML頁發(fā)送所有信息到客戶。如果信息量大,一個選擇會是將信息分成若干頁??刂破饕淮伟l(fā)送一頁。每頁將含有允許客戶看其他頁的超文本鏈接。按如下的(可能是幾個)超文本鏈接,客戶將能看到全部信息。當(dāng)然,這個技術(shù)不是新的。例如,在URLhttp∥ww.lycos.com的Lycos搜索引擎程序履行這個方法。另一個可能的變種是用數(shù)字證書識別客戶,代替揭示客戶手工輸入標(biāo)識信息。一個數(shù)字證書是一串標(biāo)識信息,它可以被儲存在客戶的磁盤或智能卡上。因?yàn)閿?shù)字證書由比一個客戶能被期待用手輸入的信息字符串長和復(fù)雜的信息字符串組成,所以,數(shù)字的使用可提供比讓客戶手工輸入標(biāo)識信息更安全的識別客戶的方法。另外,也可使用數(shù)字證書和手工輸入的組合。例如,一個客戶可被要求輸入個人標(biāo)識號(PIN)激活他或她的卡。在上述的優(yōu)選實(shí)施例中,客戶帳號信息被服務(wù)器控制器保持。另一個可能的變種是對控制器同管理當(dāng)局通信以檢驗(yàn)由客戶提供的客戶標(biāo)識信息。雖然本發(fā)明已參照某些優(yōu)選實(shí)施例被說明,但是其他實(shí)施例也是可能的并對本專業(yè)技術(shù)人員來說是明顯的。因此,附加的權(quán)利要求的精神和范圍不應(yīng)被限于包含在本發(fā)明中的優(yōu)選實(shí)施例。權(quán)利要求1.在有包括一個或多個參與服務(wù)器的一個服務(wù)器組和一個或多個控者服務(wù)器的一個客戶-服務(wù)器環(huán)境(其中每個參與服務(wù)器能同至少一個控者服務(wù)器通信)中,一種協(xié)調(diào)在這個服務(wù)器組中的服務(wù)器之間的動作的方法,它包括以下步驟為在客戶和服務(wù)器間傳遞狀態(tài)信息,利用有限制的或不確定的過程的協(xié)議在一個客戶和服務(wù)器組至少一個服務(wù)器之間進(jìn)行通信;從客戶向這些服務(wù)器中的一個發(fā)送動作請求;以及在多數(shù)的服務(wù)器同至少一個在響應(yīng)這個請求時協(xié)調(diào)至少這些服務(wù)器中的一些服務(wù)器的控者服務(wù)器之間進(jìn)行通信。2.在有包括一個或多個參與服務(wù)器的一個服務(wù)器組和一個或多個控者服務(wù)器的一個客戶-服務(wù)器環(huán)境(其中每個參與服務(wù)器能同至少一個控者服務(wù)器通信)中,一種協(xié)調(diào)在這個服務(wù)器組中的服務(wù)器之間的動作的方法,它包括以下步驟為在客戶和服務(wù)器間傳遞狀態(tài)信息,利用有限制的或不確定的過程的協(xié)議在一個客戶和服務(wù)器組中的至少一個服務(wù)器之間進(jìn)行通信;由客戶向一個要求授權(quán)的服務(wù)器發(fā)送關(guān)于第一個動作的請求;由客戶提供客戶標(biāo)識信息;由一個或多個控者服務(wù)器檢驗(yàn)客戶標(biāo)識信息;由一個或多個控者服務(wù)器產(chǎn)生客戶授權(quán)信息;由一個或多個服務(wù)器保持客戶授權(quán)信息;由一個或多個服務(wù)器利用一種方法保存對話中的客戶授權(quán)信息;由客戶向要求授權(quán)的服務(wù)器中的一個發(fā)送關(guān)于第二個動作的請求;以及利用在對話中被保存的客戶授權(quán)信息和被一個或多個服務(wù)器保持的客戶授權(quán)信息來授權(quán)客戶。3.在有包括一個或多個參與服務(wù)器的一個服務(wù)器組和一個或多個控者服務(wù)器的一個客戶-服務(wù)器環(huán)境(其中每個參與服務(wù)器能同至少一個控者服務(wù)器通信)中,一種協(xié)調(diào)在在這個服務(wù)器組中的服務(wù)器之間的動作的方法,它包括以下步驟為在客戶和服務(wù)器間傳遞狀態(tài)信息,利用有限制的或不確定的過程的協(xié)議在一個客戶和服務(wù)器組中的至少一個服務(wù)器之間進(jìn)行通信;從客戶向這些服務(wù)器中的一個發(fā)送一個關(guān)于要求由多數(shù)服務(wù)器參加的動作的請求;以及響應(yīng)該請求,在至少一個控者服務(wù)器協(xié)調(diào)多個服務(wù)器的動作的情況下,在服務(wù)器之間進(jìn)行通信。4.權(quán)利要求2的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,由客戶提供客戶標(biāo)識信息的步驟按由客戶手工輸入信息方式來完成。5.權(quán)利要求2的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,由客戶提供客戶標(biāo)識信息的步驟按檢索儲存在永久存儲器中的信息的方式來完成。6.權(quán)利要求5的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,儲存在永久存儲器中的信息包括一個或多個在磁盤或智能卡上的數(shù)字證書。7.權(quán)利要求2的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,檢驗(yàn)客戶標(biāo)識信息的步驟包括檢索由一個或多個控者服務(wù)器保持的客戶帳號信息和將客戶標(biāo)識信息同客戶帳號信息相比較。8.權(quán)利要求2的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,檢驗(yàn)客戶標(biāo)識信息的步驟包括同服務(wù)組之外的證實(shí)代理權(quán)的服務(wù)器通信。9.權(quán)利要求2的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,由一個或多個服務(wù)器保持客戶授權(quán)信息的步驟包括將客戶授權(quán)信息復(fù)制到多于一個的服務(wù)器組的服務(wù)器上。10.權(quán)利要求2的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,在對話中保存客戶授權(quán)信息的方法是動態(tài)變元嵌入。11.權(quán)利要求2的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,客戶是萬維網(wǎng)客戶,服務(wù)器是萬維網(wǎng)站點(diǎn),以及在對話中保存客戶授權(quán)信息的方法是一個或多個NETSCAPEcookies。12.權(quán)利要求2的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,客戶是萬維網(wǎng)客戶,服務(wù)器是萬維網(wǎng)站點(diǎn),以及在對話中保存客戶授權(quán)信息的方法是HTML表格。13.權(quán)利要求2的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,保持客戶授權(quán)信息的服務(wù)器包括至少一個控者服務(wù)器。14.權(quán)利要求2的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,客戶授權(quán)信息包括會話ID。15.權(quán)利要求14的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,會話ID有一個在其后它不再有效的壽命。16.權(quán)利要求14的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,它進(jìn)一步包括以下步驟由客戶發(fā)送一規(guī)定數(shù)目的要求授權(quán)的請求到一個或多個服務(wù)器;在規(guī)定數(shù)目的請求之后由一個或多個控者服務(wù)器產(chǎn)生新的客戶授權(quán)信息,包括一個新的會話ID;以及利用一種方法由一個或多個服務(wù)器保存對話中的新的客戶授權(quán)信息。17.權(quán)利要求14的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,保存客戶授權(quán)信息的方法包括加密會話ID,以及利用在對話中被保存的客戶授權(quán)信息包括解密一個被加密的會話ID。18.權(quán)利要求17的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,加密會話ID的方法產(chǎn)生一個只對特殊的服務(wù)器和請求組合有效的會話ID。19.權(quán)利要求18的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,在服務(wù)器組中的服務(wù)器是萬維網(wǎng)站點(diǎn)以及加密的會話ID只對特殊的URLs有效。20.權(quán)利要求2的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,它進(jìn)一步包括以下步驟保持由至少一個服務(wù)器提供客戶標(biāo)識信息的客戶的地址;以及在響應(yīng)要求授權(quán)的對話期間由客戶請求的至少一些動作使用這個地址授權(quán)客戶。21.權(quán)利要求2的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,至少一個控者服務(wù)器被分配在多個節(jié)點(diǎn)上。22.權(quán)利要求21的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,客戶授權(quán)信息包括會話ID,由一個或多個服務(wù)器保持客戶授權(quán)信息的步驟包括在少于被分配的控者服務(wù)器中之一個的所有節(jié)點(diǎn)上儲存會話ID,以及在至少一個節(jié)點(diǎn)上儲存標(biāo)識,在該節(jié)點(diǎn)上會話ID以會話中的變量形式儲存。23.權(quán)利要求21的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,客戶授權(quán)信息被復(fù)制在被分配的控者服務(wù)器中的一個的多個節(jié)點(diǎn)上。24.權(quán)利要求7的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,至少一個控者服務(wù)器被分配在多個節(jié)點(diǎn)上,以及客戶帳號信息被復(fù)制在被分布的控者服務(wù)器中的一個的多個節(jié)點(diǎn)上。25.權(quán)利要求3的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,協(xié)調(diào)許多的服務(wù)器的動作包括在響應(yīng)由客戶的請求時由至少一個控者服務(wù)器規(guī)定一個缺省服務(wù)器組。26.權(quán)利要求25的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,缺省服務(wù)器組包括這個服務(wù)器組中的在對話期間客戶已同其通信的一個或多個服務(wù)器。27.權(quán)利要求26的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,缺省服務(wù)器組被相對于關(guān)鍵服務(wù)器子集確定,其中每個關(guān)鍵服務(wù)器子集被相對于事務(wù)處理類型,授權(quán)類型和關(guān)鍵事件確定。28.權(quán)利要求27的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,事務(wù)處理類型包括所有事務(wù)處理,簡單事務(wù)處理和成組事務(wù)處理。29.權(quán)利要求27的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,授權(quán)類型包括所有事務(wù)處理、在其中要求授權(quán)的事務(wù)處理以及在其中不需要授權(quán)的事務(wù)處理。30.權(quán)利要求27的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,關(guān)鍵事件包括事務(wù)處理的開始、客戶首次提供有效標(biāo)識信息的瞬間以及最后的成組事務(wù)處理。31.權(quán)利要求25的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,缺省服務(wù)組被相對于在最后的成組事務(wù)處理中被涉及的服務(wù)器確定。32.權(quán)利要求3的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,對于一個動作的請求包括從多個服務(wù)器收集信息。33.權(quán)利要求3的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,對于要求多個服務(wù)器參加的動作的請求包括來自許多服務(wù)器的用于任意有限n>70的n階段委托。34.權(quán)利要求3的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,在至少有一個控者服務(wù)器協(xié)調(diào)多個服務(wù)器的動作的情況下在服務(wù)器間通信的步驟包括在至少一個控者服務(wù)器和至少許多服務(wù)器中的一些服務(wù)器間進(jìn)行通信;以及由至少一個控者服務(wù)器合并來自至少多個服務(wù)器中的一些服務(wù)器的響應(yīng)。35.權(quán)利要求1、2或3的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,服務(wù)器是萬維網(wǎng)站點(diǎn)。36.權(quán)利要求1、2或3的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,用于在客戶和服務(wù)器之間通信的協(xié)議是超文本傳送協(xié)議。37.權(quán)利要求1、2或3的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,用于在客戶和服務(wù)器之間通信的協(xié)議是安全的。38.權(quán)利要求1、2或3的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,至少一個參與服務(wù)器能同多個控制器通信。39.權(quán)利要求1、2或3的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,存在一種控者服務(wù)器的層次,借此每個控者服務(wù)器協(xié)調(diào)在它下面層次等級中的參與服務(wù)器和控者服務(wù)器之間的動作。40.權(quán)利要求1、2或3的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,進(jìn)一步包括從至少一個服務(wù)器由客戶接收和執(zhí)行一個程序的步驟,由此客戶執(zhí)行至少一些服務(wù)器組的功能。41.權(quán)利要求1、2或3的協(xié)調(diào)服務(wù)器之間的動作的方法,其特征是,參與服務(wù)器不能互相通信。全文摘要一種協(xié)調(diào)服務(wù)器組中的服務(wù)器之間的動作的方法,它包括以下步驟:(1)為在客戶和服務(wù)器之間傳遞狀態(tài)信息利用有限制的或不確定的過程的協(xié)議在一個客戶和服務(wù)器組中的至少一個服務(wù)器之間進(jìn)行通信;(2)從客戶向這些服務(wù)器中的一個發(fā)送關(guān)于一個動作的請求;(3)在多數(shù)服務(wù)器同至少一個在響應(yīng)這個請求時協(xié)調(diào)這些服務(wù)器中的至少一些服務(wù)器的動作的控者服務(wù)器之間進(jìn)行通信。文檔編號G06Q30/00GK1200608SQ9810664公開日1998年12月2日申請日期1998年4月16日優(yōu)先權(quán)日1997年5月8日發(fā)明者D·M·戴斯,A·K·耶恩格申請人:國際商業(yè)機(jī)器公司