專利名稱:內(nèi)嵌相關(guān)性能測量的系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及分布式計算網(wǎng)絡(luò),更明確而言,涉及在與應(yīng)用性能分解中使用的分布式應(yīng)用有關(guān)的事務(wù)中內(nèi)嵌相關(guān)性能測量的技術(shù)。
背景技術(shù):
測量及分解性能應(yīng)用事務(wù)時常需要分布式工具,此工具與服務(wù)或傳輸事務(wù)的應(yīng)用組件共同設(shè)置。該應(yīng)用組件是在分布式網(wǎng)絡(luò)的各種不同計算設(shè)備上實施,該應(yīng)用組件包括(例如,初始化、處理、傳輸?shù)?至少一部分事務(wù)。此共同設(shè)置工具的需要造成分立的性能測量數(shù)據(jù)流,這些數(shù)據(jù)流需要被相關(guān)以顯現(xiàn)每個應(yīng)用組件的服務(wù)時間對整個事務(wù)響應(yīng)時間的相對貢獻。使用日期時間的相關(guān)是不容易的,因為它需要同步的時間源,這種時間源容易偏移,并且在較長時間周期上保持同步會出現(xiàn)問題。對于性能測量而言,不能借著將功能應(yīng)用到從不同時間源得到的時間標簽而容易取得精確的時延。因此,精確的時延計算必須根據(jù)來自相同時間源的時間標簽來進行。每當(dāng)一分布式應(yīng)用跨越多個時間源時,會導(dǎo)致在事務(wù)路徑的不斷變化的位置上測量多個時間標簽和/或時延。
這些時間標簽與時延的相關(guān)通常以對其標記相關(guān)數(shù)據(jù)為基礎(chǔ),此相關(guān)數(shù)據(jù)稍后可用來關(guān)聯(lián)有關(guān)測量,可參考2000年8月22日授權(quán)給Maccabee等人的美國專利6,108,700,″Application End-to-EndResponse Time Measurement and Decomposition″,這里參考引用了所述公開內(nèi)容。該文獻介紹了造成與分布式應(yīng)用相關(guān)困難且耗時的數(shù)據(jù)管理問題(例如,分布式時延數(shù)據(jù)的存儲、轉(zhuǎn)移與合并)。
此外,已知若干技術(shù),其中內(nèi)嵌JavaScript被加入HTML(超文本標記語言)頁面,以測量客戶端需要多久時間來接收及呈現(xiàn)WEB頁面。增加JavaScript的系統(tǒng)可得到時間標簽,時間標簽稍后能與JavaScript所產(chǎn)生的信息相比較,以產(chǎn)生一層分解。然而,例如WEB代理的介入應(yīng)用組件不能增加其預(yù)期的響應(yīng)時間,因此,此傳統(tǒng)方法局限于一對參與者(例如,執(zhí)行JavaScript的客戶端及嵌入JavaScript的服務(wù)器)。此外,此內(nèi)嵌的JavaScript方法引入了通常不在HTML頁面中進行的JavaScript處理,因此需要改變應(yīng)用的工作方式。
發(fā)明內(nèi)容
本發(fā)明提供了根據(jù)應(yīng)用性能分解而使用的技術(shù),此技術(shù)利用了用于在分布式計算網(wǎng)絡(luò)的應(yīng)用組件之間傳遞事務(wù)的通信協(xié)議。明確而言,本發(fā)明擴充了通信協(xié)議,其中在協(xié)議中內(nèi)嵌例如時間標簽、時延測量數(shù)據(jù)的數(shù)據(jù),而不是如既有方法那樣擴充或改變應(yīng)用或協(xié)議所傳遞的事務(wù)數(shù)據(jù)。因此,本發(fā)明可在此事務(wù)上提供了分布式應(yīng)用組件的交互的自然相關(guān),而無需修改應(yīng)用或事務(wù)數(shù)據(jù)。因為相關(guān)與應(yīng)用組件交互并行(in-line)執(zhí)行,所以只需要最小的數(shù)據(jù)管理開銷,而且對于事務(wù)而言,可以實時進行相關(guān)性能分解。此外,分布式應(yīng)用的后續(xù)處理階段可解釋通信協(xié)議,以搜集先前階段的處理時延,以便對事務(wù)處置作出決定。
在可選實施例中,本發(fā)明提供了根據(jù)分布式應(yīng)用的一或多個應(yīng)用組件而使用的方法,其中執(zhí)行至少一部分分布式應(yīng)用,該方法包括根據(jù)一個應(yīng)用組件,向用于傳遞涉及分布式應(yīng)用執(zhí)行的事務(wù)數(shù)據(jù)的通信協(xié)議加入涉及分布式應(yīng)用性能的數(shù)據(jù)的步驟,使得加入的性能數(shù)據(jù)可以和事務(wù)數(shù)據(jù)一起被傳送到一或多個其它應(yīng)用組件,以便在一或多個其它應(yīng)用組件上可以和事務(wù)數(shù)據(jù)一起得到相關(guān)應(yīng)用性能數(shù)據(jù)。
在某些情況下,為了保證靈活性,通過使用變長數(shù)據(jù)間隔的標記數(shù)據(jù)單元,通信協(xié)議被設(shè)計成采用新特征而不破壞既有功能。當(dāng)本發(fā)明能夠增加特別標記的測量數(shù)據(jù)而不致破壞既有的協(xié)議解釋機構(gòu)(例如,增加的數(shù)據(jù)可被忽略,除非協(xié)議解釋器知道尋找它)時,這些協(xié)議可用于本發(fā)明。雖然根據(jù)本發(fā)明可使用通信協(xié)議的一個范例是超文本傳送協(xié)議(HTTP),然而應(yīng)當(dāng)理解本發(fā)明不限于此。而且,雖然說明性實施例是在下面的環(huán)球網(wǎng)環(huán)境中詳細描述的,但是應(yīng)當(dāng)理解,本發(fā)明可在其它分布式計算環(huán)境中實施。
在有關(guān)內(nèi)嵌測量數(shù)據(jù)格式的說明性實施例中,本發(fā)明將明確定義(well-defined)的關(guān)鍵字前綴與可變后綴組合在一起,此后綴標識定時源,后面接著一冒號分界符與空格,接著是時間標簽和/或時延信息?!迕鞔_定義″在這里表示前綴在參與的數(shù)據(jù)解釋器之間共同定義或共知,從而允許它們分析(例如)前綴。明確定義的前綴與可變后綴的組合允許多個唯一標識的應(yīng)用組件將其性能數(shù)據(jù)加入?yún)f(xié)議。即使在應(yīng)用不是唯一標識的情況也可支持,因為包括具有明確定義關(guān)鍵字前綴的關(guān)鍵字的行可按照時延排序,以建立性能分解的″洋蔥皮(onion-skin)″分層。
如上所述,分布式應(yīng)用性能分解的傳統(tǒng)解決方案是依賴在分布式位置上收集性能數(shù)據(jù),而且稍后使用與應(yīng)用本身分立的路徑傳送所述數(shù)據(jù),以便進行相關(guān)。此造成事務(wù)性能的延緩知識。本發(fā)明提供的技術(shù)將測量信息內(nèi)嵌在其描述的相同應(yīng)用中,所以事務(wù)的完成與得到事務(wù)性能特性的知識可基本上同時發(fā)生,或至少同階段發(fā)生。因為本發(fā)明使得和事務(wù)一起傳遞相關(guān)性能分解,因此不需要單獨存儲和傳遞性能數(shù)據(jù)。
此外,因為本發(fā)明捕捉應(yīng)用組件的時間標簽,所以應(yīng)用組件時間源的域內(nèi)的自然相關(guān)器可用于其它系統(tǒng)管理監(jiān)視器(例如,有關(guān)性能、容量、可用性等)。可選事務(wù)標識亦可被用作其它系統(tǒng)管理數(shù)據(jù)的相關(guān)器,以便在離線分析期間進一步擴充性能分解。
此外應(yīng)當(dāng)理解,多個應(yīng)用組件可經(jīng)由使用本發(fā)明而加入。即是,本發(fā)明允許事務(wù)路徑上任何數(shù)量的應(yīng)用組件加入其性能信息,藉此提供n層性能分解。此外,本發(fā)明無須改變應(yīng)用的工作方式。本發(fā)明可擴充傳遞應(yīng)用數(shù)據(jù)的協(xié)議,而無須改變應(yīng)用數(shù)據(jù)。這很有意義,因為安全傳輸(例如,使用安全Socket層(SSL)協(xié)議的安全超文本傳輸協(xié)議(HTTPS)),或使用GZIP(一Mime-Type定義的公眾可用數(shù)據(jù)壓縮)壓縮的內(nèi)容不受本發(fā)明的影響。然而,如前文發(fā)明背景所述,由于HTML可被加密或壓縮且無法改變,所以這些類型傳輸對于嘗試將JavaScript方法引用HTML,或以某種方式改變應(yīng)用數(shù)據(jù)的既有方法是有問題的。因此,本發(fā)明與改變應(yīng)用數(shù)據(jù)的方法(例如內(nèi)嵌JavaScript方法)之間的根本不同是,本發(fā)明無干擾地改變用來傳遞應(yīng)用數(shù)據(jù)的協(xié)議,而既有方法改變應(yīng)用數(shù)據(jù)本身,從而通過應(yīng)用施加特殊的處理。只有協(xié)議解釋器需要知道本發(fā)明,而且那些不知道本發(fā)明的部分會簡單地越過我們的擴充部分,而且不用擔(dān)心其存在。
此亦是使用用于得到測量并報告其發(fā)現(xiàn)的邏輯擴充應(yīng)用數(shù)據(jù)或有效載荷的上述技術(shù)的情況。對照下,本發(fā)明將應(yīng)用數(shù)據(jù)獨自放在一邊,并且配置協(xié)議,即傳遞有效載荷的封裝。另一不同是邏輯擴充方法只工作在端點(例如,應(yīng)用服務(wù)器,且多數(shù)是在客戶端),而如上所述的本發(fā)明可由事務(wù)路徑上的多個節(jié)點使用,其每個可提供其性能預(yù)期。
本發(fā)明的這些及其它目的、特征與優(yōu)點可從下列具體實施例與附圖的詳細說明而變得更了解。
圖1根據(jù)客戶端應(yīng)用/服務(wù)器應(yīng)用實施例圖解了本發(fā)明;圖2A根據(jù)本發(fā)明的實施例圖解了HTTP請求頭;圖2B根據(jù)本發(fā)明的實施例圖解了服務(wù)器端HTTP應(yīng)答頭;圖2C根據(jù)本發(fā)明的實施例圖解了客戶端HTTP應(yīng)答頭;圖3根據(jù)本發(fā)明的實施例圖解了處理無標記消息的方法;圖4根據(jù)本發(fā)明的實施例圖解了處理標記消息的方法;及圖5根據(jù)本發(fā)明用以實施應(yīng)用組件的計算設(shè)備圖解了硬件實施例。
具體實施例方式
將在作為分布式計算網(wǎng)絡(luò)的環(huán)球網(wǎng)(WWW),和作為說明性通信協(xié)議的超文本傳輸協(xié)議(HTTP)的背景下描述本發(fā)明。然而應(yīng)當(dāng)理解,本發(fā)明并未局限于任何特殊計算網(wǎng)絡(luò)或任何特殊通信協(xié)議。本發(fā)明通??蓱?yīng)用于任何環(huán)境,其中期望無須改變應(yīng)用或事務(wù)數(shù)據(jù)地得到相關(guān)性能分解,而且使事務(wù)的完成與事務(wù)性能特性知識的得到基本上同時發(fā)生,或至少同階段發(fā)生。因此,本發(fā)明可使用在分布式應(yīng)用中,這種應(yīng)用包含至少兩個分立的、經(jīng)由某種通信形式而交互的應(yīng)用組件。例如,雖然下述通信形式是例如互聯(lián)網(wǎng)的網(wǎng)絡(luò),但是通信形式也可是一平臺上的進程間通信。本領(lǐng)域技術(shù)人員根據(jù)這里公開的發(fā)明構(gòu)思可想到各種不同的其它情況。
參考圖1,對于一具體實施例而言,假設(shè)網(wǎng)絡(luò)是互聯(lián)網(wǎng)或內(nèi)部網(wǎng)100,而且應(yīng)用組件是在客戶端105上執(zhí)行的應(yīng)用及在服務(wù)器110上執(zhí)行的應(yīng)用。再者,在一具體實施例中,假設(shè)使用本發(fā)明擴充的協(xié)議是由RFC 2098和RFC 1945定義的HTTP,這里參考引用了其公開內(nèi)容,客戶端應(yīng)用程序是WEB瀏覽器(例如,Netscape、InternetExplorer),而且服務(wù)器應(yīng)用在WEB服務(wù)器(例如,IBM的Apache、IIS(微軟公司的互聯(lián)網(wǎng)信息服務(wù)器)、IHS(IBM HTTP服務(wù)器))上執(zhí)行。分布式應(yīng)用事務(wù)包含向應(yīng)用服務(wù)器請求內(nèi)容的客戶端應(yīng)用,及作出應(yīng)答的應(yīng)用服務(wù)器。使用本發(fā)明產(chǎn)生性能信息,以便從客戶端應(yīng)用的角度測量往返響應(yīng)時間,并且將響應(yīng)時間分解成服務(wù)器應(yīng)用處理請求和產(chǎn)生其應(yīng)答所使用的時間。
對于HTTP而言,在通過行終結(jié)字符序列(通常是回車與換列)界限的文本行中包含一定義的信息序列。HTTP頭包含一或多個這樣的行,而且是使用一空行結(jié)束。此允許選擇性地提供在頭中傳遞的數(shù)據(jù),以幫助管理下層的傳輸控制協(xié)議(TCP)Socket通信,或提供緩存指示,或提供例如頭的發(fā)出方(例如,瀏覽器或服務(wù)器軟件)所使用的軟件的類型與版本的上下文信息。這些行中的信息通常遵循包含″關(guān)鍵字值″的格式要求。因此,HTTP解釋器被編寫成檢查頭中的行,測試關(guān)鍵字,且在適當(dāng)時,根據(jù)關(guān)鍵字和/或它的對應(yīng)數(shù)據(jù)(值)而采取行動。因為WWW已歷經(jīng)若干代的HTTP及其擴展,所以HTTP解釋器被編寫成靈活適應(yīng)存在或不存在預(yù)期關(guān)鍵字的情況,而且當(dāng)非預(yù)期關(guān)鍵字出現(xiàn)時,不會被破壞。本發(fā)明利用了此特性,其中將行加到HTTP頭中以傳遞性能測量數(shù)據(jù),從而允許客戶端通過HTTP應(yīng)答頭接收服務(wù)器測量時延。此是在圖1、2A、2B和2C的背景下描述的。
如圖1所示,在客戶端應(yīng)用程序準備送出它的要求時,客戶端應(yīng)用程序獲得時間標簽115,如標示TC1所示,用以捕捉日期時間(例如,來自精確跟蹤從″新紀元″經(jīng)過的時間的時鐘源,其中″新紀元″是指全球統(tǒng)一時間1970年1月1日午夜),而且可選擇地產(chǎn)生標示為TXSeq的事務(wù)序列標識120,以區(qū)分此請求與在合理長的時間周期內(nèi)發(fā)生的所有其它請求(例如,重復(fù)的事務(wù)標識是可能的,假定重復(fù)標識的出現(xiàn)時間有足夠間隔,以允許進行報告來對其進行區(qū)分)。如圖2A所示,此信息被加到HTTP請求頭200中,以作為分別針對時間標簽(例如,TS-WD_SOCKS-C46EC47E3A9A86C8.38C99)與事務(wù)序列標識(例如,TX-WD_SOCKS-C46EC47E3E8)的附加行205和210,或當(dāng)解釋此請求的下一應(yīng)答時,可經(jīng)由客戶端應(yīng)用程序存儲以備用。
在時間標簽行205中,關(guān)鍵字″TS-WD_SOCKS-C46EC47E″充當(dāng)產(chǎn)生此信息的客戶端標記或標識。關(guān)鍵字包括明確定義的前綴″TS-″,以標識包含時間標簽的HTTP行;及可變后綴″WD_SOCKS-C46EC47E″,以標識從其得到時間標簽的定時源。冒號與隨后的空格(空白間隔)被用來形成上述″關(guān)鍵字值″格式?!?A9A86C8.38C99″是十六進制時間標簽值,其中小數(shù)點左邊數(shù)字是自新紀元所經(jīng)過的秒數(shù),而小數(shù)點右邊的數(shù)字是自新紀元經(jīng)過的秒的小數(shù)。注意,關(guān)鍵字中的″TS-″通常表示時間標簽。
此外,在事務(wù)序列標識行210中,″TX-″是明確定義的關(guān)鍵字前綴,以標識包含事務(wù)標識的HTTP行。因此,″TS-″通常表示時間標簽,″TX-″通常表示事務(wù)標識。行210中的″WD_SOCKS-C46EC47E″是標識此事務(wù)標識相關(guān)的具體來源(域)的可變后綴。應(yīng)當(dāng)理解,在此特殊說明的具體實施例中,使用一般-具體標識,其中″WD_SOCKS″對來源或域進行分類,而且″C46EC47E″唯一標識這種來源或域的實例。″3E8″是用以標識事務(wù)序列的十六進制值。
應(yīng)當(dāng)理解,明確定義的前綴與可變后綴的組合允許多個唯一標識的應(yīng)用組件將其性能數(shù)據(jù)(例如,時間標簽、時延、事務(wù)序列標識等)加入?yún)f(xié)議。即使在應(yīng)用不能被唯一標識的情況也可被支持,因為包含具有明確定義的關(guān)鍵字前綴的關(guān)鍵字的行可通過時延排序,以建立性能分解的″洋蔥皮″分層。
″洋蔥皮″分層描述了″包含″關(guān)系的延續(xù),例如,就象洋蔥外皮包含內(nèi)部洋蔥的其余部分,而且每個隨后的內(nèi)皮可說是包含它內(nèi)部的皮。與此類似地,由客戶端發(fā)起并及經(jīng)由代理到達服務(wù)器的事務(wù)可視為具有至少3″層″,即,客戶端層是最外層,服務(wù)器是最內(nèi)層,而且代理(在客戶端與服務(wù)器之間)是中間層。
典型的情況是(i)事務(wù)從客戶端經(jīng)由代理到達服務(wù)器并且返回所經(jīng)過的時間(時延)將會最長;(ii)服務(wù)器處理事務(wù)所經(jīng)過的時間最短;及(iii)從代理接收到事務(wù),到發(fā)送事務(wù)給服務(wù)器,以及與返回到代理所經(jīng)過的時間將短于(i),但是長于(ii)。這些時序關(guān)系的產(chǎn)生是因為從外層到內(nèi)層的通信會增加時間。
因此,即使唯一標識符不用于在事務(wù)上執(zhí)行的處理的每一″層″,然而時延仍然可排序,而且層的相互之間的相對位置仍然可了解,例如最大時延在最接近事務(wù)發(fā)起方的位置,而且最短時延在最接近事務(wù)服務(wù)器的位置。
應(yīng)當(dāng)理解,附加行可將客戶端選擇性地標識為將這些行加入HTTP請求頭的來源,以允許稍后對這些行進行搜尋與更新。包含此HTTP請求頭的HTTP請求及需要的其它應(yīng)用數(shù)據(jù)(例如,POST數(shù)據(jù))經(jīng)由互聯(lián)網(wǎng)100被客戶端應(yīng)用程序105傳送給服務(wù)器應(yīng)用110。
應(yīng)當(dāng)理解,通過可變后綴在HTTP請求頭中唯一標識行的″作者″的主要目的是允許作者在回程中發(fā)現(xiàn)其編寫的行,以計算時延,及更新該行以存儲時延,此將在下面說明。這適用于時間標簽源沒有資源存儲初始時間標簽和不從這些資源檢索初始時間標簽以計算時延的情況。本發(fā)明是將頭當(dāng)作″每個事務(wù)″的初始時間標簽信息存儲器。在大部分情況下,頭中行的″作者″維護有關(guān)事務(wù)的一些信息,例如,代理可維護內(nèi)部Socket/端口到外部Socket/端口的映射,所以它可通過對應(yīng)的內(nèi)部Socket傳送在外部Socket上取回的數(shù)據(jù),而且稍后從內(nèi)部Socket取回應(yīng)答,并且在適當(dāng)?shù)耐獠縎ocket上將它傳回。映射表可被擴充以保存初始時間標簽,而且稍后將它取回而與另一時間標簽結(jié)合使用,以計算時延,并且將單一″完成″行寫到應(yīng)答頭中。
當(dāng)接收到HTTP請求時,服務(wù)器應(yīng)用110解釋HTTP請求,以分析該請求包含的任何時間標簽或事務(wù)序列標識。服務(wù)器應(yīng)用亦得到標示為TS1的時間標簽125,解釋HTTP請求頭,及開始處理請求。當(dāng)服務(wù)器應(yīng)用準備響應(yīng)HTTP請求時,從HTTP請求頭所分析的信息與時間標簽被存儲以供稍后存取。應(yīng)當(dāng)理解,本發(fā)明亦支持可充當(dāng)服務(wù)器及客戶端的應(yīng)用組件的觀念,例如,先接收來自另一客戶端的請求,然后將請求(或一相關(guān)請求)轉(zhuǎn)送給另一服務(wù)器。在此情況下,本發(fā)明可用于這些角色之中每一個,例如,將一時間標簽及一事務(wù)序列標識加到它的請求中,并且將服務(wù)器在新HTTP請求中接收的任何既有時間標簽與事務(wù)序列標識轉(zhuǎn)送給另一服務(wù)器。
在一些時間之后,例如,在服務(wù)器決定如何應(yīng)答事務(wù)請求之后,服務(wù)器應(yīng)用110準備針對HTTP請求的HTTP應(yīng)答,包含一如圖2B所示的HTTP應(yīng)答頭220。此包括增加從HTTP請求頭(分別是行205和210)存儲的任何時間標簽或事務(wù)序列標識行,及得到標示為TS2的第二時間標簽130。兩時間標簽(TS1和TS2)可用來計算一時延(例如,時延=TS2-TS1),并且行225(例如,TS-APACHE-SRIRAMA3A9A86CC.4E375.4D9DDA)被加到HTTP應(yīng)答頭220中,以標識服務(wù)器,其處理開始時的時間標簽(TS1,在此范例是3A9A86CC.4E375),和時延(在此范例是4D9DDA)。
在時間標簽行225中,關(guān)鍵字″TS-APACHE-SRIRAMA″包括明確定義的前綴″TS-″與充當(dāng)時間標簽來源″APACHE-SRIRAMA″的標識的可變后綴。注意,在此范例的關(guān)鍵字中,″APACHE″表示服務(wù)器類型,而″SRIRAMA″是此類型服務(wù)器的唯一實證。應(yīng)當(dāng)理解,此分類形式對于本發(fā)明不是必需的,而是為了說明對數(shù)據(jù)進行分類以用于報告目的,例如,報告來自APACHE類型服務(wù)器的所有時延的優(yōu)選方式。此外,行225中的″3A9A86CC.4E375″是十六進制時間標簽值,其中小數(shù)點左邊的數(shù)字是從新紀元經(jīng)過的秒數(shù),小數(shù)點右邊的數(shù)字是從新紀元經(jīng)過的秒的小數(shù)。″4D9DDA″是用以表示時延(TS2-TS1)的十六進制值。應(yīng)當(dāng)理解,由于可從其它得到一對,本發(fā)明亦支持提供兩個時間標簽,例如TS2和TS1的觀念,以取代一時間標簽與一時延。HTTP應(yīng)答頭220接著通過HTTP應(yīng)答被傳送給客戶端應(yīng)用程序105。
雖然針對具體的說明性格式描述了本發(fā)明,但是應(yīng)當(dāng)理解,時間標簽與事務(wù)序列信息可被格式化和組合在相同頭行中,假定該信息傳遞本發(fā)明的概念。例如,在一可選的優(yōu)選實施例中,TS-<標識>行可被格式化成使用十進制數(shù)值和/或具有標識數(shù)值的標記,例如t=<時間標簽值>或D=<時延值>或seq=<事務(wù)序列標識>。本領(lǐng)域技術(shù)人員根據(jù)這里提供的發(fā)明構(gòu)思可想到其它格式。
當(dāng)接收到包含HTTP應(yīng)答頭220的HTTP應(yīng)答時,客戶端應(yīng)用程序105得到標示為TC2的另一時間標簽135,并且分析HTTP應(yīng)答頭以得到包含客戶端先前產(chǎn)生的時間標簽或事務(wù)序列標識,或代表事務(wù)的其它應(yīng)用組件所產(chǎn)生的時間標簽或事務(wù)序列標識的行。在客戶端應(yīng)用程序通過HTTP請求頭200傳送一時間標簽行的情況下,HTTP應(yīng)答頭的行被檢查,以找出客戶端應(yīng)用程序(例如,使用在行上的客戶端標識信息)先前產(chǎn)生的時間標簽行。在一請求時間標簽被產(chǎn)生和保存以供稍后處理的情況下,它可被取出以用于此事務(wù)。一時延可被產(chǎn)生(時延=TC2-TC1),以反映事務(wù)來回行程響應(yīng)時間的客戶端預(yù)期。此可在HTTP應(yīng)答頭220中被加到客戶端最初產(chǎn)生的既有行中,如此可形成如圖2C所示的修改HTTP應(yīng)答頭220′。修改行如HTTP應(yīng)答頭220′中的行230所示(例如,TS-WD_SOCKS-C46EC47E3A9A86C8.38C99.1841478)。″1841478″表示事務(wù)來回行程響應(yīng)時間的客戶端預(yù)期,而行230中的其余信息是與行205中的相同。
應(yīng)當(dāng)理解,在沒有行是先前由客戶端產(chǎn)生的情況下,一新行可被加入HTTP應(yīng)答頭中,以形成修改的應(yīng)答頭,修改的應(yīng)答頭可顯示客戶端請求的時間標簽與時延(或者可選地,響應(yīng)接收的時間標簽),客戶端標識信息,和包含一事務(wù)序列標識的另一行。還應(yīng)當(dāng)理解,本發(fā)明可支持時間標簽,時間標簽來源標識,和在相同位置(例如,HTTP頭行)或在多個位置(例如,多個HTTP頭行)被加入的事務(wù)序列標識的概念。
因為產(chǎn)生針對客戶端請求的完整響應(yīng)可能需要額外的處理,所以服務(wù)器應(yīng)用可選擇性地得到后續(xù)時間標簽140(如圖1中TS3所示),以供稍后與事務(wù)關(guān)聯(lián)。然而,因為這些可能在產(chǎn)生對客戶端的響應(yīng)之后發(fā)生,所以它們可被存儲,以便與應(yīng)答包含的事務(wù)性能信息進行離線相關(guān)。同樣地,當(dāng)從服務(wù)器應(yīng)用接收到后續(xù)響應(yīng)數(shù)據(jù)時,客戶端應(yīng)用程序可選擇性地得到后續(xù)時間標簽145,用以稍后與圖1標示為TC3的事務(wù)關(guān)聯(lián)。
應(yīng)當(dāng)理解,事務(wù)序列標識符可當(dāng)作一相關(guān)器使用,其可用來在存儲例如TS3信息的后續(xù)時間標簽的記錄或其它數(shù)據(jù)存儲中進行搜尋。換句話說,傳回客戶端的頭會在得到時間TS3之前離開。所以,如果客戶端稍后想要將其時延TC3-TC2與服務(wù)器端時延TS3-TS2關(guān)聯(lián),它需要一相關(guān)器來查找此信息。TX-<標識符><序列標識符>可用于此目的。
應(yīng)答中包含的結(jié)果性能分解信息可被客戶端使用,以便通過檢查時間標簽和/或時延來導(dǎo)出與其它應(yīng)用組件所提供服務(wù)有關(guān)的信息。例如,從請求送出到應(yīng)答接收的時延的客戶預(yù)期可被反映為TC2-TC1(在圖1標示150),而且服務(wù)器應(yīng)用應(yīng)答請求的時延是TS2-TS1(在圖1標示155)??蛻艨蛇x擇性地將接收其請求的整個響應(yīng)所需的時延確定為TC3-TC2(在圖1標示160),而且將總事務(wù)響應(yīng)時間確定為TC3-TC1(在圖1標示165)。
參考圖3,其中示出了根據(jù)本發(fā)明實施例處理無標記消息的方法的一般概觀。在此使用的″無標記消息″是指尚不具有嵌入根據(jù)本發(fā)明的通信協(xié)議的性能測量數(shù)據(jù)的消息,例如,如上面在圖1、2A、2B和3C的背景下描述的。在步驟300,一無標記消息被接收。例如,這可以是處理尚未在″工具組件″內(nèi)開始的消息?!骞ぞ呓M件″是指事務(wù)路徑中提供時間標簽信息的組件。例如,由于瀏覽器的商業(yè)代碼不能修改,所以一代理可使用在客戶機器的瀏覽器之前,以增加時間標簽。無標記消息然后由此代理(已由瀏覽器產(chǎn)生)接收,而且作為工具組件的此代理在將其傳送給服務(wù)器之前,將時間標簽信息加入頭中。WD_SOCKS可以是這種在客戶端上執(zhí)行的代理。
在步驟310,得到一本地時間標簽,例如從系統(tǒng)時鐘獲得。在步驟320,構(gòu)造一標記,其中包含時間標簽信息與增加此標記的處理單元的身份。標記最好具有如圖2A所示的上述格式″關(guān)鍵字值″,例如,TS-WD_SOCKS-C46EC47E3A9A86C8.38C99。該標記亦可以包括事務(wù)序列標識,例如,TX-WD_SOCKS-C46EC47E3E8。此標記被加入消息中,亦即,內(nèi)嵌到如上所述的通信協(xié)議。在步驟330,啟動針對消息的處理。此包括將增加標記的消息傳送到其它機器。
圖4根據(jù)本發(fā)明實施例圖解了用于處理標記消息的方法的一般概觀。在此使用的″標記消息″是指具有嵌入根據(jù)本發(fā)明的通信協(xié)議的性能測量數(shù)據(jù)的消息,例如在上面圖1、2A、2B和2C的背景下描述的。在步驟400,標記消息被接收。在步驟410,例如從系統(tǒng)時鐘獲得本地時間標簽。在步驟420,處理消息的組件的標記被找出,而且提取先前內(nèi)嵌的時間標簽。在步驟430,通過從在步驟410獲得時間標簽減去提取的時間標簽,計算處理消息所經(jīng)過的時間。在步驟440,經(jīng)過的時間被記錄及內(nèi)嵌在消息中。此標記的范例可以是如圖2B所示的TS-APACHE-SRIRAMA3A9A86CC.4E375.4D9DDA。
圖5是根據(jù)本發(fā)明的例如一工作站或服務(wù)器的計算設(shè)備或系統(tǒng)的模塊圖。在圖5顯示的計算設(shè)備是可以執(zhí)行至少一部分客戶端應(yīng)用程序(例如,圖1的105)的客戶端計算機系統(tǒng)的范例,可以執(zhí)行至少一部分服務(wù)器應(yīng)用(例如,在圖1的110)的服務(wù)器計算機系統(tǒng)的范例,以及網(wǎng)絡(luò)中任何其它采用本發(fā)明的計算設(shè)備的范例。圖5的環(huán)境包含單一代表性的計算設(shè)備500,例如個人計算機、膝上型計算機、工作站、手持式計算機、信息家電等,包括可選擇性提供、相關(guān)的外圍設(shè)備。根據(jù)已知技術(shù),工作站500包括微處理機502或等效處理能力,以及總線504,用于連接且允許微處理機502與計算設(shè)備500的組件之間的通信。注意,在一些計算設(shè)備中,可合并多個處理器。
微處理機502經(jīng)由總線504與存儲設(shè)備506通信。例如隨機存取內(nèi)存(RAM)、只讀存儲器(ROM)、閃存等的存儲器508可直接存取,而例如硬盤的輔助存儲設(shè)備510,以及例如軟盤機、CD ROM驅(qū)動器、磁帶存儲設(shè)備等的可移動存儲設(shè)備512可通過本領(lǐng)域已知的附加接口硬件與軟件存取。可移動存儲設(shè)備512具有適當(dāng)類型的可移動介質(zhì)514,例如磁盤、CD、磁帶滾動條、固態(tài)存儲等,可保存計算機可用數(shù)據(jù),而且是計算機可用介質(zhì)的形式。注意,計算設(shè)備500可以具有多個存儲器(例如,RAM和ROM),輔助存儲設(shè)備,和可移動存儲設(shè)備(例如,軟盤機與CD ROM機)。
計算設(shè)備500通常包括用戶接口適配器516,其經(jīng)由總線504將微處理器502連接到一或多個接口設(shè)備,例如鍵盤518、鼠標或其它指向設(shè)備520、顯示器522(例如CRT監(jiān)視器、LCD屏幕等)、打印機524、或任何其它用戶接口設(shè)備,例如觸摸屏,數(shù)字化輸入板等。注意,計算設(shè)備500可使用多個用戶接口適配器,以便與用戶接口設(shè)備進行必要的連接。
計算設(shè)備500亦能經(jīng)由通信適配器526而與其它計算設(shè)備、計算機、工作站等,或其網(wǎng)絡(luò)通信,其中該通信適配器可以是例如電話、電纜、或無線調(diào)制解調(diào)器、綜合業(yè)務(wù)數(shù)字網(wǎng)絡(luò)(ISDN)適配器、數(shù)字用戶線(DSL)適配器、局域網(wǎng)(LAN)適配器、或其它通信信道。此可使計算設(shè)備直接存取網(wǎng)絡(luò)528(LAN、廣局域網(wǎng)絡(luò)(WAN)、互聯(lián)網(wǎng)等),可用來存取其它網(wǎng)絡(luò)或計算機的電話線530、諸如蜂窩電話網(wǎng)的無線網(wǎng)絡(luò)532、及其它通信機構(gòu)。注意,計算設(shè)備500可使用多個通信適配器進行必要的通信連接(例如,電話調(diào)制解調(diào)器卡及蜂窩數(shù)字分組數(shù)據(jù)(CDPD))。計算設(shè)備500可以和LAN或WAN中的其它計算設(shè)備關(guān)聯(lián),或計算設(shè)備可以是具有另一計算機等的客戶端/服務(wù)器配置的客戶端或服務(wù)器。
計算設(shè)備500提供了環(huán)境,其中操作系統(tǒng)534、中間件536與應(yīng)用程序538軟件執(zhí)行任務(wù),且能與在相同或其它計算設(shè)備上的軟件通信。所有這些結(jié)構(gòu)、及適當(dāng)通信硬件與軟件在本領(lǐng)域是已知的。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,例如在此描述的計算機程序(例如,操作系統(tǒng)534、中間件536和/或應(yīng)用程序538軟件)通常被布置為計算機程序產(chǎn)品的一部分,這種計算機程序產(chǎn)品具有包含程序代碼的計算機可用介質(zhì)。因此,在此使用的″介質(zhì)″、″計算機可用介質(zhì)″包括磁盤、磁帶、光盤、集成電路、可編程邏輯陣列(PLA)、通信電路上的遠程傳輸、例如蜂窩網(wǎng)絡(luò)的無線網(wǎng)絡(luò)上的遠程傳輸、或具有/沒有適配器接口的任何其它計算機可用介質(zhì)。注意,計算機可用介質(zhì)的范例包括(但是未局限于)實物物理介質(zhì),例如CD ROM、磁盤、硬盤等,以及其它非實物物理介質(zhì),例如當(dāng)電子發(fā)布程序時,可有線或無線傳輸?shù)妮d波信號。而且注意,根據(jù)可從美國加州Mountain View市的Sun Microsystems公司獲得的JAVA技術(shù)的″Servlet″或″Applet″可被認為是計算機程序產(chǎn)品。
雖然使能指令可″寫在″磁盤或磁帶上,″存儲在″集成電路或PLA中,″傳遞″在通信電路或無線網(wǎng)絡(luò)上,但是應(yīng)當(dāng)理解,對于在此描述的本發(fā)明的目的而言,計算機可用介質(zhì)可被稱為″承載″指令,或指令(或軟件)可被稱為″在″介質(zhì)上。因此,在介質(zhì)上″具體實施″的軟件或指令包括上述及所有類似方法,其中指令或軟件可與計算機可用介質(zhì)相關(guān)。
為了簡化,用語″計算機程序產(chǎn)品″可用來表示如上面定義的計算機可用介質(zhì),而且在其上承載或具體實施任何形式的軟件或指令,以使計算機系統(tǒng)(或多個協(xié)作系統(tǒng))可根據(jù)上述發(fā)明而操作。
用語″數(shù)據(jù)結(jié)構(gòu)″是指可以預(yù)定方式使用的有意義數(shù)據(jù)值的特定組織。例如,網(wǎng)絡(luò)分組具有多種不同數(shù)據(jù)單元,可由用以在不同計算機系統(tǒng)之間傳輸分組的通信網(wǎng)路與計算機節(jié)點使用和訪問。分組是數(shù)據(jù)結(jié)構(gòu),而且當(dāng)通過文件存儲、當(dāng)載入系統(tǒng)存儲器、當(dāng)通過通信網(wǎng)絡(luò)等傳輸時,在計算機可用介質(zhì)中具有與計算機程序產(chǎn)品相同方式的實質(zhì)具體實施例。
應(yīng)當(dāng)理解,實現(xiàn)本發(fā)明的計算機硬件包含一或多個處理器,而且是一起操作、基本上獨立、或分散于網(wǎng)絡(luò),而且進一步包括存儲器,用以存儲執(zhí)行本發(fā)明所需的指令與計算。
本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,根據(jù)本發(fā)明的系統(tǒng)能以本領(lǐng)域已知的各種不同方式建立。例如,如圖5的背景下所述的通用計算設(shè)備可以配置適當(dāng)軟件,使得計算設(shè)備能夠如上所述地工作。此外,離散電子組件可用來建立實施所有或部分功能的系統(tǒng)。最后注意,執(zhí)行適當(dāng)軟件的多個計算設(shè)備或離散電子組件的組合能以類似方式使用。本質(zhì)上,硬件被構(gòu)造成(經(jīng)由軟件、定制設(shè)計等)執(zhí)行構(gòu)成本發(fā)明的功能單元。
應(yīng)當(dāng)理解,WWW比上面所引用的范例更復(fù)雜,其具有有助于擴展事務(wù)服務(wù)與傳輸?shù)拇砼c緩存服務(wù)器。因為本發(fā)明標識時間源并使其與時間標簽與時延信息關(guān)聯(lián),多個應(yīng)用組件可使用本發(fā)明來增加它們的時延測量,結(jié)果當(dāng)它從開始的客戶端經(jīng)由這些應(yīng)用組件流動并且最后返回時,多個行被加入事務(wù)HTTP頭中。頭的檢查可經(jīng)由應(yīng)用組件在沿著事務(wù)路徑的任何點上發(fā)生,以搜集本發(fā)明的性能信息。更具體地,在事務(wù)路徑的返回部分期間,一應(yīng)用組件可檢查先前的應(yīng)用組件時延,及決定它要提供的服務(wù)。當(dāng)經(jīng)由事務(wù)的發(fā)起方接收到事務(wù)時,通過針對本發(fā)明的關(guān)鍵字檢查HTTP應(yīng)答頭,可測量事務(wù)的響應(yīng)時間,和所有先前參與應(yīng)用組件的時延的分解。
雖然本發(fā)明的具體實施例是參考附圖描述,但是應(yīng)當(dāng)理解,本發(fā)明并未局限于這些具體實施例,而且各種不同其它變化與修改可由本領(lǐng)域技術(shù)人員達成,而不致于違背本發(fā)明的范圍或精神。
權(quán)利要求
1.一種根據(jù)分布式應(yīng)用的一或多個應(yīng)用組件而使用的方法,其中分布式應(yīng)用的至少一部分被執(zhí)行,該方法包含下列步驟根據(jù)該應(yīng)用組件中的一個,在用于傳遞有關(guān)該分布式應(yīng)用的執(zhí)行的事務(wù)數(shù)據(jù)的通信協(xié)議中,內(nèi)嵌與該分布式應(yīng)用的性能有關(guān)的數(shù)據(jù),其中該性能數(shù)據(jù)被內(nèi)嵌在通信協(xié)議中,而無須改變事務(wù)數(shù)據(jù);和將該內(nèi)嵌性能數(shù)據(jù)與該事務(wù)數(shù)據(jù)傳輸給一或多個其它應(yīng)用組件,使得在一或多個其它應(yīng)用組件上獲得相關(guān)應(yīng)用性能數(shù)據(jù)和該事務(wù)數(shù)據(jù)。
2.根據(jù)權(quán)利要求1的方法,根據(jù)獲得該內(nèi)嵌性能數(shù)據(jù)與該事務(wù)數(shù)據(jù)的一或多個其它應(yīng)用組件中的至少一個,還包括以下步驟處理與其它性能數(shù)據(jù)有關(guān)的該性能數(shù)據(jù),其中該其它性能數(shù)據(jù)與一或多個其它應(yīng)用組件有關(guān);將與經(jīng)過處理的性能數(shù)據(jù)有關(guān)的至少一部分結(jié)果內(nèi)嵌在通信協(xié)議中,其中該通信協(xié)議被用來傳遞有關(guān)該分布式應(yīng)用的執(zhí)行的事務(wù)數(shù)據(jù);及將內(nèi)嵌結(jié)果和該事務(wù)數(shù)據(jù)傳輸給一或多個其它應(yīng)用組件。
3.根據(jù)權(quán)利要求1的方法,根據(jù)獲得該內(nèi)嵌性能數(shù)據(jù)與該事務(wù)數(shù)據(jù)的一或多個其它應(yīng)用組件中的至少一個,進一步包含以下步驟針對至少一個其它應(yīng)用組件,將有關(guān)該分布式應(yīng)用的性能的數(shù)據(jù)內(nèi)嵌在通信協(xié)議中,該通信協(xié)議被用來傳遞與該分布式應(yīng)用的執(zhí)行有關(guān)的事務(wù)數(shù)據(jù),其中該性能數(shù)據(jù)被內(nèi)嵌在通信協(xié)議中,而無須改變事務(wù)數(shù)據(jù);和將該內(nèi)嵌性能數(shù)據(jù)與該事務(wù)數(shù)據(jù)傳輸給一或多個其它應(yīng)用組件。
4.根據(jù)權(quán)利要求3的方法,其中該傳輸步驟進一步包含將來自一個應(yīng)用組件,及來自至少一個其它應(yīng)用組件的內(nèi)嵌性能數(shù)據(jù)的至少一部分和該事務(wù)數(shù)據(jù)傳輸?shù)揭换蚨鄠€其它應(yīng)用組件。
5.根據(jù)權(quán)利要求1的方法,其中該性能數(shù)據(jù)包含與事務(wù)相關(guān)的經(jīng)過時間,此事務(wù)與分布式應(yīng)用有關(guān)。
6.根據(jù)權(quán)利要求1的方法,其中該性能數(shù)據(jù)包括下列之中的至少一個時間標簽、時延、與應(yīng)用組件相關(guān)的標識、及與涉及分布式應(yīng)用的事務(wù)相關(guān)的標識。
7.根據(jù)權(quán)利要求1的方法,其中該性能數(shù)據(jù)的格式包含″關(guān)鍵字值″格式。
8.根據(jù)權(quán)利要求7的方法,其中該關(guān)鍵字包含前綴,用以標識數(shù)據(jù)格式;及可變后綴,用以將應(yīng)用組件標識為定時源與事務(wù)序列源中的一個。
9.根據(jù)權(quán)利要求7的方法,其中該值包含時間標簽與時延信息中的至少一個。
10.根據(jù)權(quán)利要求1的方法,其中n個應(yīng)用組件可通過傳輸協(xié)議內(nèi)嵌和傳輸性能數(shù)據(jù),從而提供n級性能分解。
11.根據(jù)權(quán)利要求1的方法,其中該相關(guān)性能數(shù)據(jù)被報告給性能測量系統(tǒng)。
12.根據(jù)權(quán)利要求1的方法,其中該分布式應(yīng)用在環(huán)球網(wǎng)上執(zhí)行。
13.根據(jù)權(quán)利要求1的方法,其中該通信協(xié)議是超文本傳輸協(xié)議。
14.一種根據(jù)分布式應(yīng)用的一或多個應(yīng)用組件而使用的設(shè)備,其中該分布式應(yīng)用的至少一部分被執(zhí)行,該設(shè)備包含至少一處理器,用以(i)根據(jù)應(yīng)用組件之一,內(nèi)嵌有關(guān)分布式應(yīng)用的性能的數(shù)據(jù)于一通信協(xié)議中,該通信協(xié)議被用來傳遞有關(guān)該分布式應(yīng)用的執(zhí)行的事務(wù)數(shù)據(jù),其中該性能數(shù)據(jù)被內(nèi)嵌在通信協(xié)議中,而無須改變事務(wù)數(shù)據(jù);及(ii)將該內(nèi)嵌性能數(shù)據(jù)與該事務(wù)數(shù)據(jù)傳輸給一或多個其它應(yīng)用組件,使得在一或多個其它應(yīng)用組件上獲得相關(guān)應(yīng)用性能數(shù)據(jù)和該事務(wù)數(shù)據(jù)。
15.根據(jù)權(quán)利要求14的設(shè)備,進一步包含至少另一處理器,其中根據(jù)獲得該內(nèi)嵌性能數(shù)據(jù)與該事務(wù)數(shù)據(jù)的一或多個其它應(yīng)用組件中的至少一個,所述至少另一個處理器用以(i)處理與涉及一或多個其它應(yīng)用組件的其它性能數(shù)據(jù)相關(guān)的性能數(shù)據(jù);(ii)將與經(jīng)過處理的性能數(shù)據(jù)相關(guān)的至少一部分結(jié)果內(nèi)嵌在通信協(xié)議中,該通信協(xié)議被用來傳遞有關(guān)該分布式應(yīng)用的執(zhí)行的事務(wù)數(shù)據(jù);及(iii)將內(nèi)嵌結(jié)果和該事務(wù)數(shù)據(jù)傳輸給一或多個其它應(yīng)用組件。
16.根據(jù)權(quán)利要求14的設(shè)備,進一步包含至少另一處理器,其中根據(jù)獲得該內(nèi)嵌性能數(shù)據(jù)與該事務(wù)數(shù)據(jù)的一或多個其它應(yīng)用組件中的至少一個,所述至少另一個處理器用以(i)針對至少一個其它應(yīng)用組件,將有關(guān)該分布式應(yīng)用的性能的數(shù)據(jù)內(nèi)嵌在通信協(xié)議中,該通信協(xié)議被用來傳遞與該分布式應(yīng)用的執(zhí)行有關(guān)的事務(wù)數(shù)據(jù),其中該性能數(shù)據(jù)被內(nèi)嵌在通信協(xié)議中,而無須改變事務(wù)數(shù)據(jù);及(ii)將該內(nèi)嵌性能數(shù)據(jù)與該事務(wù)數(shù)據(jù)傳輸給一或多個其它應(yīng)用組件。
17.根據(jù)權(quán)利要求16的設(shè)備,其中傳輸操作進一步包括將來自一個應(yīng)用組件,及來自至少一個其它應(yīng)用組件的內(nèi)嵌性能數(shù)據(jù)的至少一部分和該事務(wù)數(shù)據(jù)傳輸?shù)揭换蚨鄠€其它應(yīng)用組件。
18.根據(jù)權(quán)利要求14的設(shè)備,其中該性能數(shù)據(jù)包含與事務(wù)相關(guān)的經(jīng)過時間,此事務(wù)與分布式應(yīng)用有關(guān)。
19.根據(jù)權(quán)利要求14的設(shè)備,其中該性能數(shù)據(jù)包括下列之中的至少一個時間標簽、時延、與應(yīng)用組件相關(guān)的標識、及與涉及分布式應(yīng)用的事務(wù)相關(guān)的標識。
20.根據(jù)權(quán)利要求14的設(shè)備,其中該性能數(shù)據(jù)的格式包含″關(guān)鍵字值″格式。
21.根據(jù)權(quán)利要求20的設(shè)備,其中該關(guān)鍵字包含前綴,用以標識數(shù)據(jù)格式;及可變后綴,用以將應(yīng)用組件標識為定時源及事務(wù)序列源中的一個。
22.根據(jù)權(quán)利要求20的設(shè)備,其中該值包含時間標簽與時延信息中的至少一個。
23.根據(jù)權(quán)利要求14的設(shè)備,其中n個應(yīng)用組件可通過傳輸協(xié)議內(nèi)嵌和傳輸性能數(shù)據(jù),從而提供n級性能分解。
24.根據(jù)權(quán)利要求14的設(shè)備,其中該相關(guān)性能數(shù)據(jù)被報告給性能測量系統(tǒng)。
25.根據(jù)權(quán)利要求14的設(shè)備,其中該分布式應(yīng)用在環(huán)球網(wǎng)上執(zhí)行。
26.根據(jù)權(quán)利要求14的設(shè)備,其中該通信協(xié)議是超文本傳輸通信協(xié)議。
27.一種根據(jù)分布式應(yīng)用的一或多個應(yīng)用組件而使用的制造品,其中分布式應(yīng)用的至少一部分被執(zhí)行,包括含有一或多個程序的機器可讀介質(zhì),所述程序在執(zhí)行時實施下列步驟根據(jù)該應(yīng)用組件中的一個,在用于傳遞有關(guān)該分布式應(yīng)用的執(zhí)行的事務(wù)數(shù)據(jù)的通信協(xié)議中,內(nèi)嵌與該分布式應(yīng)用的性能有關(guān)的數(shù)據(jù),其中該性能數(shù)據(jù)被內(nèi)嵌在通信協(xié)議中,而無須改變事務(wù)數(shù)據(jù),使得可以將該內(nèi)嵌性能數(shù)據(jù)與該事務(wù)數(shù)據(jù)傳輸給一或多個其它應(yīng)用組件,從而在一或多個其它應(yīng)用組件上可以獲得相關(guān)應(yīng)用性能數(shù)據(jù)和該事務(wù)數(shù)據(jù)。
全文摘要
本發(fā)明提供了根據(jù)應(yīng)用性能分解而使用的技術(shù),此技術(shù)利用了用于在分布式計算網(wǎng)絡(luò)的應(yīng)用組件之間傳遞事務(wù)的通信協(xié)議。明確而言,本發(fā)明擴充了通信協(xié)議,其中在協(xié)議中內(nèi)嵌例如時間標簽、時延測量數(shù)據(jù)的數(shù)據(jù),而不是如既有方法那樣擴充或改變應(yīng)用或協(xié)議所傳遞的事務(wù)數(shù)據(jù)。因此,本發(fā)明可在此事務(wù)上提供了分布式應(yīng)用組件的交互的自然相關(guān),而無需修改應(yīng)用或事務(wù)數(shù)據(jù)。因為相關(guān)與應(yīng)用組件交互并行執(zhí)行,所以只需要最小的數(shù)據(jù)管理開銷,而且對于事務(wù)而言,可以實時進行相關(guān)性能分解。此外,分布式應(yīng)用的后續(xù)處理階段可解釋通信協(xié)議,以搜集先前階段的處理時延,以便對事務(wù)處置作出決定。
文檔編號G06F11/34GK1524225SQ02806141
公開日2004年8月25日 申請日期2002年3月6日 優(yōu)先權(quán)日2001年3月9日
發(fā)明者納撒尼爾·米爾斯三世, 納撒尼爾 米爾斯三世, 伊 克魯格爾, 小雷羅伊·克魯格爾, 斯瑞羅瑪·M.·克里斯納庫瑪, 瑪 M. 克里斯納庫瑪, 斯庫蘭特, 馬克·斯庫蘭特, 海勒爾斯汀, 約瑟夫·海勒爾斯汀 申請人:國際商業(yè)機器公司