專利名稱:管理服務(wù)應(yīng)用程序中的組件程序的制作方法
管理服務(wù)應(yīng)用程序中的組件程序背景通常,軟件應(yīng)用程序被編寫成在其配置中允許許多自由度。在利用該特性時(shí),各個(gè) 用戶能夠?qū)⑻囟ㄜ浖?yīng)用程序設(shè)置成以對(duì)每一個(gè)用戶專用的方式執(zhí)行。由此,這些結(jié)合在 單個(gè)軟件應(yīng)用程序中的自由度使得該軟件應(yīng)用程序能夠產(chǎn)生完全不同的結(jié)果。這種類型的軟件應(yīng)用程序由允許用戶經(jīng)由因特網(wǎng)遠(yuǎn)程地操縱應(yīng)用程序的應(yīng)用服 務(wù)提供者(ASP)來利用。因?yàn)檐浖?yīng)用程序包括自由度,所以用戶可向ASP提供性能要求 以便手動(dòng)地編程到應(yīng)用程序中。此外,大多數(shù)軟件應(yīng)用程序包括單獨(dú)的底層元素,必須單獨(dú) 標(biāo)識(shí)并手動(dòng)編程這些底層元素以使得軟件應(yīng)用程序可表達(dá)性能要求。根據(jù)接收到的性能要 求來手動(dòng)編程底層元素的過程是勞動(dòng)力密集的且容易出錯(cuò)。因此,這種用于定制軟件應(yīng)用 程序的特別方法將脆弱性引入軟件應(yīng)用程序從ASP的提供中。這些手動(dòng)編程的缺點(diǎn)在大量 用戶不斷提供并改變其各自的性能要求時(shí)惡化。概述提供本概述是為了以簡(jiǎn)化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的概念。本 概述不旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求 保護(hù)的主題的范圍。本發(fā)明的各實(shí)施例提供了一種通過提供用于根據(jù)服務(wù)模型來自動(dòng)管理服務(wù)應(yīng)用 程序中的組件程序的結(jié)構(gòu)(例如,實(shí)例化方案)來減少手動(dòng)編程的缺點(diǎn)的服務(wù)建模方法。最 初,檢測(cè)實(shí)例化服務(wù)應(yīng)用程序中的組件程序的觸發(fā)事件。在各實(shí)施例中,觸發(fā)基于對(duì)服務(wù)應(yīng) 用程序上的負(fù)載水平的改變的指示(例如,通過監(jiān)視主存服務(wù)應(yīng)用程序的網(wǎng)站的流量),或 者對(duì)服務(wù)模型中的規(guī)約的改變的指示(例如,通過修改在應(yīng)用程序提供者和客戶機(jī)之間建 立的服務(wù)描述合同)。與檢測(cè)觸發(fā)事件相關(guān)聯(lián)地,從服務(wù)模型的規(guī)約中提取配置設(shè)置,其中這些配置設(shè) 置(例如,組件程序的地址、算法標(biāo)識(shí)符、服務(wù)位置、存儲(chǔ)器資源地址等)用于配置組件程序 中的參數(shù)。在一種情況下,組件程序被部署在執(zhí)行服務(wù)應(yīng)用程序的數(shù)據(jù)中心中的各計(jì)算設(shè) 備處。在另一種情況下,駐留在各計(jì)算設(shè)備上的先前建立的組件程序被標(biāo)識(shí)為可供實(shí)例化。 這些所部署和/或所標(biāo)識(shí)的組件程序根據(jù)包括以下邏輯步驟的實(shí)例化過程來配置訪問圖 (例如,變換圖、結(jié)構(gòu)圖)、根據(jù)變換圖來從配置設(shè)置導(dǎo)出公式化值、自動(dòng)在組件程序中傳播 公式化值、根據(jù)結(jié)構(gòu)圖來定位對(duì)應(yīng)于公式化值的參數(shù)、以及在適當(dāng)?shù)膮?shù)處安裝公式化值。 該穩(wěn)健的實(shí)例化過程自動(dòng)配置組件程序,由此顯著地減少手動(dòng)編程中所固有的缺點(diǎn)(以上 所討論的)。附圖簡(jiǎn)述以下參考附圖詳細(xì)描述本發(fā)明的各實(shí)施例,附圖中
圖1是適用于實(shí)現(xiàn)本發(fā)明的各實(shí)施例的示例性計(jì)算環(huán)境的框圖;圖2是適用于實(shí)現(xiàn)本發(fā)明的各實(shí)施例的示例性計(jì)算系統(tǒng)的框圖;圖3是示出根據(jù)本發(fā)明的一實(shí)施例的用于根據(jù)服務(wù)模型來管理服務(wù)應(yīng)用程序中 的組件的方法的流程圖4和5是示出用于將公式化值安裝到組件程序的適當(dāng)參數(shù)中的方法的流程圖; 以及圖6是示出根據(jù)本發(fā)明的一實(shí)施例的用于響應(yīng)觸發(fā)事件的方法的流程圖。詳細(xì)描述此處用細(xì)節(jié)來描述本發(fā)明的各實(shí)施例的主題以滿足法定要求。然而,該描述本身 并非旨在限制本專利的范圍。相反,發(fā)明人設(shè)想所要求保護(hù)的主題還可結(jié)合其他當(dāng)前或未 來技術(shù)按照其他方式來具體化,以包括不同的步驟或類似于本文中所描述的步驟的步驟組 合。此外,盡管術(shù)語“步驟”和/或“框”可在此處用于指示所采用的方法的不同元素,但除 非而且僅當(dāng)明確描述了各個(gè)步驟的順序時(shí),該術(shù)語不應(yīng)被解釋為意味著此處公開的各個(gè)步 驟之中或之間的任何特定順序。本發(fā)明的各實(shí)施例涉及各種方法、系統(tǒng)、以及其上包含計(jì)算機(jī)可執(zhí)行指令的計(jì)算 機(jī)存儲(chǔ)介質(zhì),這些指令在被執(zhí)行時(shí)執(zhí)行根據(jù)本發(fā)明的各實(shí)施例的用于根據(jù)服務(wù)模型來自動(dòng) 管理服務(wù)應(yīng)用程序中的組件程序的方法。最初,檢測(cè)實(shí)例化服務(wù)應(yīng)用程序中的組件程序的 觸發(fā)事件。在各實(shí)施例中,觸發(fā)基于對(duì)服務(wù)應(yīng)用程序上的負(fù)載水平的改變的指示(例如,通 過監(jiān)視主存服務(wù)應(yīng)用程序的網(wǎng)站的流量),或者對(duì)服務(wù)模型中的規(guī)約的改變的指示(例如, 通過修改在應(yīng)用程序提供者和客戶機(jī)之間建立的服務(wù)描述合同)。與檢測(cè)觸發(fā)事件相關(guān)聯(lián)地,從服務(wù)模型的規(guī)約中提取配置設(shè)置,其中這些配置設(shè) 置(例如,組件程序的地址、算法標(biāo)識(shí)符、服務(wù)位置、存儲(chǔ)器資源地址等)用于配置組件程序 中的參數(shù)。在一種情況下,組件程序被部署在執(zhí)行服務(wù)應(yīng)用程序的數(shù)據(jù)中心中的各計(jì)算設(shè) 備處。在另一種情況下,駐留在各計(jì)算設(shè)備上的先前建立的組件程序被標(biāo)識(shí)為可供實(shí)例化。 這些所部署和/或所標(biāo)識(shí)的組件程序根據(jù)包括以下邏輯步驟的實(shí)例化過程來配置訪問圖 (例如,變換圖、結(jié)構(gòu)圖)、根據(jù)變換圖來從配置設(shè)置導(dǎo)出公式化值、自動(dòng)在組件程序中傳播 公式化值、根據(jù)結(jié)構(gòu)圖來定位對(duì)應(yīng)于公式化值的參數(shù)、以及在適當(dāng)?shù)膮?shù)處安裝公式化值。因此,在一方面,本發(fā)明的各實(shí)施例涉及一種或多種其上包含計(jì)算機(jī)可執(zhí)行指令 的計(jì)算機(jī)存儲(chǔ)介質(zhì),這些指令在被執(zhí)行時(shí)執(zhí)行用于根據(jù)服務(wù)模型來管理服務(wù)應(yīng)用程序中的 一個(gè)或多個(gè)組件程序的方法。該方法包括確定服務(wù)應(yīng)用程序上的負(fù)載水平,其中該服務(wù)應(yīng) 用程序包括可以在數(shù)據(jù)中心中的單獨(dú)計(jì)算設(shè)備上執(zhí)行的組件程序;從服務(wù)模型中提取可給 予組件程序的配置設(shè)置;以及啟動(dòng)用于根據(jù)負(fù)載水平來管理服務(wù)應(yīng)用程序的實(shí)例化過程。 該實(shí)例化過程包括在數(shù)據(jù)中心內(nèi)部署組件程序,自動(dòng)在所部署的組件程序中傳播從配置設(shè) 置導(dǎo)出的公式化值,以及至少暫時(shí)將公式化值安裝到組件程序中,由此提供與服務(wù)模型一 致的服務(wù)應(yīng)用程序的功能。在各實(shí)施例中,該方法還包括根據(jù)所安裝的公式化值來執(zhí)行服 務(wù)應(yīng)用程序。在另一方面,本發(fā)明的各實(shí)施例涉及一種具體化在一個(gè)或多個(gè)計(jì)算機(jī)存儲(chǔ)介質(zhì)上 的計(jì)算機(jī)系統(tǒng),該計(jì)算機(jī)存儲(chǔ)介質(zhì)上包含有用于執(zhí)行一種方法的計(jì)算機(jī)可執(zhí)行指令,該方 法用于通過將配置設(shè)置傳播到組件程序來實(shí)例化服務(wù)應(yīng)用程序以由此提升服務(wù)應(yīng)用程序 的功能。該計(jì)算機(jī)系統(tǒng)包括第一計(jì)算設(shè)備和第二計(jì)算設(shè)備。第一計(jì)算設(shè)備執(zhí)行支持服務(wù)應(yīng) 用程序的操作的組件程序。第二計(jì)算設(shè)備啟動(dòng)用于根據(jù)服務(wù)模型來實(shí)現(xiàn)服務(wù)應(yīng)用程序的實(shí) 例化過程。該實(shí)例化過程包括從服務(wù)模型中的規(guī)約中提取配置設(shè)置,將駐留在第一計(jì)算設(shè) 備上的組件程序標(biāo)識(shí)為可供實(shí)例化,詢問組件程序中的參數(shù)以確定這些組件程序中的某一
6些是否與配置設(shè)置兼容,自動(dòng)在兼容的組件程序中傳播從配置設(shè)置導(dǎo)出的公式化值,以及 根據(jù)公式化值來配置兼容的組件程序的參數(shù)。 在又一方面,本發(fā)明的各實(shí)施例涉及一種用于根據(jù)實(shí)例化方案來配置在數(shù)據(jù)中心 中操作的服務(wù)應(yīng)用程序的組件程序的計(jì)算機(jī)化方法。該計(jì)算機(jī)化方法包括至少以下步驟 通過詢問服務(wù)模型來確定配置設(shè)置;訪問實(shí)例化方案,其中該實(shí)例化方案指示要部署哪些 組件程序以滿足服務(wù)模型,并且其中該實(shí)例化方案提供變換圖;在數(shù)據(jù)中心內(nèi)的多個(gè)計(jì)算 設(shè)備上部署所指示的組件程序;部分地基于變換圖來將配置設(shè)置轉(zhuǎn)換成公式化值;自動(dòng)將 公式化值分發(fā)給所部署的組件程序;以及至少暫時(shí)將所分發(fā)的公式化值與所部署的組件程 序相關(guān)聯(lián)地存儲(chǔ)。在簡(jiǎn)要描述了本發(fā)明的各實(shí)施例的概覽后,以下描述適于實(shí)現(xiàn)本發(fā)明的各實(shí)施例 的示例性操作環(huán)境。泛而參考附圖,并且首先具體參考圖1,示出了用于實(shí)現(xiàn)本發(fā)明的各實(shí)施例的示例 性操作環(huán)境,并將其概括地指定為計(jì)算設(shè)備100。計(jì)算設(shè)備100只是合適的計(jì)算環(huán)境的一個(gè) 示例,并且不旨在對(duì)本發(fā)明的各實(shí)施例的使用范圍或功能提出任何限制。也不應(yīng)該把計(jì)算 環(huán)境100解釋為對(duì)所示出的任一組件或其組合有任何依賴性或要求。本發(fā)明的各實(shí)施例可以在由計(jì)算機(jī)或諸如個(gè)人數(shù)據(jù)助理或其它手持式設(shè)備之類 的其它機(jī)器執(zhí)行的計(jì)算機(jī)代碼或機(jī)器可使用指令的一般上下文中描述,該機(jī)器可使用指令 包括諸如程序組件之類的計(jì)算機(jī)可執(zhí)行指令。一般而言,包括例程、程序、對(duì)象、組件、數(shù)據(jù) 結(jié)構(gòu)等的程序組件指的是執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定提取數(shù)據(jù)類型的代碼。本發(fā)明的各實(shí) 施例可以在各種系統(tǒng)配置中實(shí)施,這些系統(tǒng)配置包括手持式設(shè)備、消費(fèi)電子產(chǎn)品、通用計(jì)算 機(jī)、專用計(jì)算設(shè)備等等。本發(fā)明也可以在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí) 行的分布式計(jì)算環(huán)境中實(shí)施。繼續(xù)參考圖1,計(jì)算設(shè)備100包括直接或間接耦合以下設(shè)備的總線110 存儲(chǔ)器 112、一個(gè)或多個(gè)處理器114、一個(gè)或多個(gè)呈現(xiàn)組件116、輸入/輸出(I/O)端口 118、I/O組 件120、和說明性電源122??偩€110可以是一條或多條總線(諸如地址總線、數(shù)據(jù)總線、或 其組合)。盡管為了清楚起見用線條示出了圖1的各框,但是在實(shí)際上,各組件的輪廓并不 是那樣清楚,并且比喻性地來說,線條更精確地將是灰色的和模糊的。例如,可以將諸如顯 示設(shè)備等的呈現(xiàn)組件認(rèn)為是I/O組件。而且,處理器具有存儲(chǔ)器。發(fā)明人關(guān)于此點(diǎn)認(rèn)識(shí)到, 這是本領(lǐng)域的特性,并且重申,圖1的圖示只是例示可結(jié)合本發(fā)明的一個(gè)或多個(gè)實(shí)施例來 使用的示例性計(jì)算設(shè)備。諸如“工作站”、“服務(wù)器”、“膝上型計(jì)算機(jī)”、“手持式設(shè)備”等分類 之間沒有區(qū)別,它們?nèi)慷急徽J(rèn)為是在圖1的范圍之內(nèi)的并且被稱為“計(jì)算機(jī)”或“計(jì)算設(shè)
A/ ”
-β"。計(jì)算設(shè)備100通常包括各種計(jì)算機(jī)可讀介質(zhì)。作為示例而非限制,計(jì)算機(jī)可讀 介質(zhì)可以包括隨機(jī)存取存儲(chǔ)器(RAM);只讀存儲(chǔ)器(ROM);電可擦除可編程只讀存儲(chǔ)器 (EEPROM);閃存或其它存儲(chǔ)器技術(shù);CDR0M、數(shù)字多功能盤(DVD)或其它光或全息介質(zhì);磁 帶盒、磁帶、磁盤存儲(chǔ)或其它磁存儲(chǔ)設(shè)備;或可用于對(duì)所需信息進(jìn)行編碼并且可由計(jì)算設(shè)備 100訪問的任何其它介質(zhì)。存儲(chǔ)器112包括易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì)。存儲(chǔ)器可 以是可移動(dòng)的、不可移動(dòng)的或其組合。示例性硬件設(shè)備包括固態(tài)存儲(chǔ)器、硬盤驅(qū)動(dòng)器、光盤驅(qū)動(dòng)器等。計(jì)算設(shè)備100包括從諸如存儲(chǔ)器112或I/O組件120等各種實(shí)體讀取數(shù)據(jù)的一 個(gè)或多個(gè)處理器。呈現(xiàn)組件116向用戶或其他設(shè)備呈現(xiàn)數(shù)據(jù)指示。示例性呈現(xiàn)組件包括顯 示設(shè)備、揚(yáng)聲器、打印組件、振動(dòng)組件等等。I/O端口 118允許計(jì)算設(shè)備100邏輯上耦合至包 括I/O組件120的其他設(shè)備,其中某些可以是內(nèi)置的。說明性組件包括話筒、操縱桿、游戲 手柄、圓盤式衛(wèi)星天線、掃描儀、無線設(shè)備等等?,F(xiàn)在轉(zhuǎn)向圖2,示出了例示根據(jù)本發(fā)明的一實(shí)施例的被配置成根據(jù)服務(wù)模型來管 理服務(wù)應(yīng)用程序210中的組件程序201、202、203和204的計(jì)算系統(tǒng)200的框圖。本領(lǐng)域普 通技術(shù)人員將理解和明白,圖2所示的計(jì)算系統(tǒng)200僅僅是一個(gè)合適的計(jì)算系統(tǒng)環(huán)境的示 例,并且不旨在對(duì)本發(fā)明的各實(shí)施例的使用范圍或功能提出任何限制。也不應(yīng)該將計(jì)算系 統(tǒng)200解釋為對(duì)其中所示出的任何單個(gè)組件或各組件的組合有任何依賴性或要求。此外, 盡管為了清楚起見用線條示出了圖2的各個(gè)框,但是在實(shí)際上,各組件的輪廓并不是那樣 清楚,并且比喻性地來說,線條更精確地將是灰色的和模糊的。計(jì)算系統(tǒng)200包括客戶機(jī)計(jì)算設(shè)備215、相關(guān)服務(wù)提供者220、以及數(shù)據(jù)中心225, 它們?nèi)慷冀?jīng)由網(wǎng)絡(luò)(未示出)彼此通信。網(wǎng)絡(luò)可包括但不限于一個(gè)或多個(gè)局域網(wǎng)(LAN) 和/或廣域網(wǎng)(WAN)。這樣的聯(lián)網(wǎng)環(huán)境常見于辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特 網(wǎng)中。因此,網(wǎng)絡(luò)不在此進(jìn)一步描述。圖2所示的客戶機(jī)計(jì)算設(shè)備215和相關(guān)服務(wù)提供者220、以及數(shù)據(jù)中心225中的每 一個(gè)都可以是任何類型的計(jì)算設(shè)備,諸如例如,以上參考圖1描述的計(jì)算設(shè)備100。僅作為 示例而非限制,客戶機(jī)計(jì)算設(shè)備215和相關(guān)服務(wù)提供者220中的每一個(gè)都可以是個(gè)人計(jì)算 機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、手持式設(shè)備、移動(dòng)手機(jī)、消費(fèi)電子設(shè)備等。在各實(shí)施例中,數(shù) 據(jù)中心225可以是服務(wù)器、計(jì)算設(shè)備的集合、或者能夠執(zhí)行服務(wù)應(yīng)用程序210的其他機(jī)器。 另外,客戶機(jī)計(jì)算設(shè)備215還可包括駐留在其上的web瀏覽器應(yīng)用程序230,該web瀏覽器 應(yīng)用程序經(jīng)由到數(shù)據(jù)中心225的有線或無線網(wǎng)絡(luò)路徑來訪問服務(wù)應(yīng)用程序210。然而,應(yīng)當(dāng) 注意,本發(fā)明的各實(shí)施例不限于在這些計(jì)算設(shè)備上實(shí)現(xiàn),而是可在處于其各實(shí)施例的范圍 內(nèi)的各種不同類型的計(jì)算設(shè)備的任一種上實(shí)現(xiàn)。如圖2所示,客戶機(jī)計(jì)算設(shè)備215被配置成執(zhí)行web瀏覽器應(yīng)用程序230以訪問 服務(wù)應(yīng)用程序210。服務(wù)應(yīng)用程序210能夠以大致直接的方式、經(jīng)由通信路徑235、或通過 相關(guān)服務(wù)提供者220來訪問。在各實(shí)施例中,通過相關(guān)服務(wù)提供者220的訪問包括向其傳 遞用戶提供的憑證240。通常,用戶提供的憑證240是登錄數(shù)據(jù)、口令或由客戶機(jī)提供以滿 足在相關(guān)服務(wù)提供者220處實(shí)現(xiàn)的安全協(xié)議的任何其他信息。進(jìn)而,相關(guān)服務(wù)提供者220 在消息245中與組件201、202、203和204中的一個(gè)或多個(gè)交換憑證240。在各實(shí)施例中,相關(guān)服務(wù)提供者220位于數(shù)據(jù)中心225的外部并由與維護(hù)服務(wù)應(yīng) 用程序210的應(yīng)用服務(wù)提供者分開的實(shí)體來管理。然而,相關(guān)服務(wù)提供者220能夠通過在其 間交換消息245來與組件程序201、202、203和204協(xié)調(diào)活動(dòng)。在相關(guān)服務(wù)提供者220和組 件程序201、202、203和204之間協(xié)調(diào)活動(dòng)由針對(duì)相關(guān)服務(wù)提供者220的資源位置來促進(jìn)。 這些資源位置通常根據(jù)服務(wù)模型中的規(guī)約來建立。一般而言,服務(wù)模型是提供用于管理服務(wù)應(yīng)用程序210的組件程序201、202、203 和204的指令的接口藍(lán)圖。因此,服務(wù)模型包括將這些管理方面標(biāo)識(shí)為以下內(nèi)容的規(guī)約在 實(shí)例化期間采用哪些圖;在傳播組件程序201、202、203和204期間利用哪些計(jì)算設(shè)備;組
8件程序201、202、203和204之間的通信路徑246和247位于哪里;以及描述將由數(shù)據(jù)中心 225執(zhí)行服務(wù)應(yīng)用程序210的特定方式的任何其他信息。在一種情況下,服務(wù)模型部分地 根據(jù)在客戶機(jī)和應(yīng)用服務(wù)提供者之間建立的服務(wù)描述合同來生成。作為服務(wù)描述合同的結(jié) 果,向客戶機(jī)提供對(duì)由應(yīng)用服務(wù)提供者維護(hù)的服務(wù)應(yīng)用程序210以及其他軟件的訪問。此外,服務(wù)模型提供規(guī)約中的允許從中提取隱式和顯式配置設(shè)置的掛鉤。在各實(shí) 施例中,隱式配置設(shè)置提供結(jié)構(gòu)信息(例如,組件地址、資源位置、以及存儲(chǔ)器資源地址)以 便于組件程序201、202、203和204和/或其他組件(例如,相關(guān)服務(wù)提供者220、存儲(chǔ)器資 源250)中的每一個(gè)之間的交互。另外,隱式配置設(shè)置提供用于消費(fèi)和轉(zhuǎn)換上述組件之間的 消息的應(yīng)用程序編程接口(API),由此允許這些組件和諧地通信。在各實(shí)施例中,顯式配置 設(shè)置向組件程序201、202、203和204中的參數(shù)提供影響這些組件程序的功能的指令(例 如,算法標(biāo)識(shí)符以及其他配置值)。僅僅作為示例,在服務(wù)模型中儲(chǔ)存用于將客戶機(jī)登錄到 服務(wù)應(yīng)用程序210中的專用憑證。服務(wù)模型中的掛鉤將這些憑證提供給顯式配置設(shè)置,這 些顯式配置設(shè)置將憑證分發(fā)給組件201作為期望值。將這些期望值與在消息245中從相關(guān) 服務(wù)提供者220傳遞的用戶提供的憑證240進(jìn)行比較。在接收到消息245后,組件201將 用戶提供的憑證240與期望值進(jìn)行比較。如果比較結(jié)果匹配,則向客戶機(jī)提供對(duì)服務(wù)應(yīng)用 程序210的訪問。提供用于執(zhí)行服務(wù)應(yīng)用程序210等的數(shù)據(jù)中心225。服務(wù)應(yīng)用程序210包括可針對(duì) 使用(例如,每小時(shí)客戶機(jī)命中數(shù))或通過修改服務(wù)模型來縮放的一組組件程序201、202、 203和204。通常,服務(wù)應(yīng)用程序210通過包括許多不同的組件(例如,組件程序201、202、 203和204)來表征,這與傳統(tǒng)應(yīng)用程序類似。在一示例性實(shí)施例中,服務(wù)應(yīng)用程序210管理 不同的組件以使得這些組件一起用作組合的因特網(wǎng)服務(wù)。作為示例,服務(wù)應(yīng)用程序210是 允許各個(gè)客戶機(jī)在特定網(wǎng)站發(fā)表評(píng)論的博客服務(wù)。因?yàn)榭赡艽嬖谌荚L問博客服務(wù)的數(shù)千 個(gè)客戶機(jī),所以部署博客服務(wù)用來支持其持續(xù)操作的多個(gè)組件。這些組件相互協(xié)調(diào)動(dòng)作以 用作單個(gè)應(yīng)用程序,由此對(duì)組件的部署和解散對(duì)于客戶機(jī)是透明的。盡管已經(jīng)示出和描述了服務(wù)應(yīng)用程序210的一個(gè)實(shí)例,但本領(lǐng)域的普通技術(shù)人員 應(yīng)理解和明白,多個(gè)服務(wù)應(yīng)用程序可以在數(shù)據(jù)中心225中執(zhí)行,并且本發(fā)明的各實(shí)施例不 限于所示出和所描述的服務(wù)應(yīng)用程序210。在具有不止一個(gè)服務(wù)應(yīng)用程序的實(shí)施例中,服務(wù) 應(yīng)用程序210和其他服務(wù)應(yīng)用程序(未示出)可以獨(dú)立地和/或相互協(xié)作地操作。在一種 情況下,同時(shí)在數(shù)據(jù)中心225上運(yùn)行的服務(wù)應(yīng)用程序共享組件程序集201、202、203和204。 僅僅作為示例,組件程序集201、202、203和204可由新服務(wù)應(yīng)用程序(例如,根據(jù)使用要求 來重新提供的)來消費(fèi),或者在服務(wù)應(yīng)用程序(例如,訪問程序組件的多個(gè)服務(wù)應(yīng)用程序) 之間共享。由此,在各實(shí)施例中,數(shù)據(jù)中心225上的資源提供許多相互依賴的或獨(dú)立服務(wù)應(yīng) 用程序的互操作性。在各實(shí)施例中,數(shù)據(jù)中心225包括各種機(jī)器,諸如第一計(jì)算設(shè)備255和第二計(jì)算設(shè) 備265、以及存儲(chǔ)器資源250。計(jì)算設(shè)備255和265可以是任何類型的計(jì)算設(shè)備,諸如例如, 計(jì)算設(shè)備100 (參見圖1)、個(gè)人計(jì)算機(jī)、服務(wù)器、計(jì)算設(shè)備的集合、或者能夠執(zhí)行服務(wù)應(yīng)用程 序210的其他機(jī)器。另外,計(jì)算設(shè)備255和265能夠存儲(chǔ)并執(zhí)行組件程序201、202、203和 204。組件程序201、202、203和204包含由服務(wù)應(yīng)用程序210管理的大量組件程序中的若 干組件。在各實(shí)施例中,組件程序201、202、203和204根據(jù)服務(wù)模型中的規(guī)約來開發(fā)或編寫。在一種情況下,組件程序201、202、203和204中的一個(gè)或多個(gè)根據(jù)服務(wù)模型中的準(zhǔn)許 在確定對(duì)配置設(shè)置的更新已經(jīng)發(fā)生時(shí)自動(dòng)重新配置參數(shù)270的一組規(guī)則來開發(fā)。盡管在圖 2中描繪并在此處描述了四個(gè)組件程序,但本發(fā)明的各實(shí)施例構(gòu)想利用任何數(shù)量的組件程 序來支持服務(wù)應(yīng)用程序210的操作。在一示例性實(shí)施例中,組件程序的數(shù)量涉及服務(wù)應(yīng)用 程序210上的負(fù)載水平,其中負(fù)載水平爬得越高,所部署的組件程序就越多。參數(shù)270通常駐留在組件程序201、202、203和204上,或者在分別駐留在組件201 和204上的元素266和275上。一般而言,參數(shù)精細(xì)地調(diào)整每一個(gè)組件在內(nèi)部作出的決定, 由此細(xì)化各組件的經(jīng)協(xié)調(diào)的執(zhí)行。參數(shù)270在數(shù)量和特性方面是示例性的。即,盡管在特 定組件程序或元素示出了特定參數(shù),但本發(fā)明的各實(shí)施例構(gòu)想零到多個(gè)參數(shù)駐留在組件程 序或元素中的任一個(gè)上。存儲(chǔ)器資源250通常駐留在數(shù)據(jù)中心225上并被配置成存儲(chǔ)數(shù)據(jù)。在各實(shí)施例中, 可以在存儲(chǔ)器資源250中搜索與其相關(guān)聯(lián)地存儲(chǔ)的項(xiàng)目中的一個(gè)或多個(gè)。本領(lǐng)域的普通技 術(shù)人員可以理解和明白,存儲(chǔ)在數(shù)據(jù)存儲(chǔ)250中的數(shù)據(jù)可以是可配置的,并可包括與服務(wù) 應(yīng)用程序210的執(zhí)行相關(guān)的任何信息。這一信息的內(nèi)容和量決不旨在限制本發(fā)明的各實(shí)施 例的范圍。此外,盡管被示為單個(gè)、獨(dú)立組件,但存儲(chǔ)器資源250實(shí)際上可以是多個(gè)數(shù)據(jù)存 儲(chǔ),例如數(shù)據(jù)庫(kù)群集。另外,存儲(chǔ)在存儲(chǔ)器資源250處的數(shù)據(jù)可由組件程序201、202、203和 204訪問。在一個(gè)實(shí)施例中,向配置設(shè)置提供準(zhǔn)許組件程序201、202、203和204中的一個(gè) 或多個(gè)定位存儲(chǔ)器資源250的存儲(chǔ)器資源地址或另一適當(dāng)?shù)拇鎯?chǔ)器分配,以便從中訪問數(shù) 據(jù)。在操作中,服務(wù)應(yīng)用程序210被配置成管理組件程序201、202、203和204。一管理 方面涉及在檢測(cè)到觸發(fā)事件時(shí)建立并配置組件程序201、202、203和204。觸發(fā)事件警告服 務(wù)應(yīng)用程序210在檢測(cè)到該觸發(fā)事件時(shí)實(shí)例化服務(wù)應(yīng)用程序210中的組件程序201、202、 203和204。在各實(shí)施例中,觸發(fā)基于對(duì)服務(wù)應(yīng)用程序210上的負(fù)載水平的改變的指示(例 如,通過監(jiān)視來自一個(gè)或多個(gè)客戶機(jī)計(jì)算設(shè)備215的流量),或者對(duì)服務(wù)模型中的規(guī)約的改 變的指示(例如,通過修改在應(yīng)用服務(wù)提供者和客戶機(jī)之間建立的服務(wù)描述合同),如下文 中參考圖6更全面地討論的。與檢測(cè)觸發(fā)事件相關(guān)聯(lián)地,從規(guī)約和或服務(wù)模型的掛鉤中提取配置設(shè)置280。一般 而言,配置設(shè)置280促進(jìn)正確地管理服務(wù)應(yīng)用程序210。在各實(shí)施例中,配置設(shè)置280可以 是隱式或顯式配置設(shè)置,如以上更全面地討論的。在特定情況下,配置設(shè)置280包括組件程 序的地址、算法標(biāo)識(shí)符、服務(wù)位置、存儲(chǔ)器資源地址、或者用于配置組件程序中的參數(shù)的任 何其它數(shù)據(jù)串。與提取配置設(shè)置280相關(guān)聯(lián)地或同時(shí)地,為了滿足負(fù)載,滿足已更新的服務(wù)模型, 或出于涉及服務(wù)應(yīng)用程序210的操作的任何其它原因,建立組件程序201、202、203和204。 在一種情況下,建立組件程序201、202、203和204包括在數(shù)據(jù)中心225中的各計(jì)算設(shè)備255 和265處部署組件程序201、202、203和204。在另一種情況下,建立組件程序201、202、203 和204包括將駐留在計(jì)算設(shè)備255和256上的先前建立的組件程序標(biāo)識(shí)為可供實(shí)例化。盡 管已經(jīng)示出建立組件程序201、202、203和204的兩種不同的方式,但本領(lǐng)域的普通技術(shù)人 員應(yīng)理解和明白,可以利用用于建立組件程序201、202、203和204的其他方法,并且本發(fā)明 的各實(shí)施例不限于此處所示出和描述的那些方式。
這些所部署和/或所標(biāo)識(shí)的組件程序201、202、203和204根據(jù)包括以下邏輯步驟 的實(shí)例化過程來配置訪問圖(例如,變換圖、結(jié)構(gòu)圖)、根據(jù)變換圖來從配置設(shè)置280導(dǎo)出 公式化值290、自動(dòng)在組件程序201、202、203和204中傳播公式化值290、根據(jù)結(jié)構(gòu)圖來定 位對(duì)應(yīng)于公式化值290的參數(shù)270、以及在適當(dāng)?shù)膮?shù)270處安裝公式化值290。在一示例 性實(shí)施例中,服務(wù)應(yīng)用程序210詢問參數(shù)270以便在安裝公式化值290之前確定組件201、 202,203和204中的每一個(gè)是否與配置設(shè)置280兼容?,F(xiàn)在轉(zhuǎn)向圖3,示出了例示根據(jù)本發(fā)明的一實(shí)施例的用于根據(jù)服務(wù)模型來管理服 務(wù)應(yīng)用程序中的組件的總體方法300的流程圖。最初,如框305所示,在服務(wù)應(yīng)用程序處接 收指示(例如,觸發(fā)事件)。觸發(fā)事件參考圖6更全面地討論。通常,該指示警告服務(wù)應(yīng)用 程序應(yīng)建立更多或更少的組件程序以維護(hù)該服務(wù)應(yīng)用程序的統(tǒng)一操作。在一示例性實(shí)施例 中,組件程序的添加和刪減對(duì)于當(dāng)前正在訪問服務(wù)應(yīng)用程序的客戶機(jī)是透明的。如框310 所示,在詢問服務(wù)模型中的規(guī)約時(shí)從掛鉤中提取配置設(shè)置。如上文中更全面地討論的,可以 提取各種類型的配置設(shè)置,諸如隱式和顯式配置設(shè)置。如框315所示,啟動(dòng)用于根據(jù)觸發(fā)事件來管理服務(wù)應(yīng)用程序的實(shí)例化過程。在各 實(shí)施例中,實(shí)例化過程包括至少以下邏輯步驟建立組件程序;導(dǎo)出公式化值;自動(dòng)傳播公 式化值;以及安裝公式化值。具體而言,如框320所示,通過部署(例如,生成新組件程序) 或?qū)?shù)據(jù)中心內(nèi)的機(jī)器上的現(xiàn)有組件程序標(biāo)識(shí)為可用來建立組件程序。在將現(xiàn)有組件程序 標(biāo)識(shí)為可用的示例性實(shí)施例中,詢問現(xiàn)有組件程序中的參數(shù)以確定它們是否與配置設(shè)置兼 容。因此,這些“兼容”組件程序在傳播期間接收公式化值。在各實(shí)施例中,這些組件程序位于數(shù)據(jù)中心內(nèi)的一個(gè)或多個(gè)計(jì)算設(shè)備處。這種樣 式的遠(yuǎn)程部署通過由配置設(shè)置提供給組件設(shè)備的指令(例如,組件地址)來啟用。另外,配 置設(shè)置包括用于配置某些組件程序處的API的指令,以由此允許每一個(gè)組件程序與其他類 型的組件程序和組件程序的其他實(shí)例、存儲(chǔ)器資源、以及遠(yuǎn)程相關(guān)服務(wù)提供者(例如,由通 信伙伴維護(hù)的服務(wù))相協(xié)調(diào)。如框325所示,從配置設(shè)置導(dǎo)出公式化值。在各實(shí)施例中,公式化值根據(jù)變換圖、 所確定的每一個(gè)組件程序的狀態(tài)、或其組合來導(dǎo)出。自動(dòng)將這些公式化值傳播到所部署的 組件程序、兼容的組件程序、或其組合,如框330所示。這些步驟(例如,框320、325和330) 可以按任何次序或相伴地采取。如框335所示,在組件程序的參數(shù)處安裝公式化值。在其 他實(shí)施例中,公式化值被暫時(shí)與對(duì)應(yīng)的參數(shù)相關(guān)聯(lián)地存儲(chǔ)。與安裝參數(shù)相關(guān)聯(lián)地,根據(jù)公式 化值來執(zhí)行服務(wù)應(yīng)用程序,如框340所示?,F(xiàn)在轉(zhuǎn)向圖4和5,示出了例示根據(jù)本發(fā)明的一實(shí)施例的用于將公式化值安裝到 組件程序的適當(dāng)參數(shù)中的方法400和500的流程圖。最初,參考圖4,由服務(wù)應(yīng)用程序訪問 圖結(jié)構(gòu),如框410所示。在其他實(shí)施例中,結(jié)構(gòu)圖由配置設(shè)置訪問或被存儲(chǔ)在配置設(shè)置中。 如框420所示,根據(jù)結(jié)構(gòu)圖中的邏輯來定位組件程序中的參數(shù)。因此,結(jié)構(gòu)圖的邏輯幫助將 公式化值定向到適當(dāng)?shù)膮?shù),由此促進(jìn)公式化值的正確安裝,如框430所示。參考圖5,如框510所示,確定所建立的組件程序中的每一個(gè)的狀態(tài)。在各實(shí)施例 中,狀態(tài)一般涉及組件程序的實(shí)例或類型,或組件程序的現(xiàn)有配置。如框520所示,訪問變 換圖。在一示例性實(shí)施例中,變換圖包括允許在進(jìn)入每一個(gè)組件程序的所確定的狀態(tài)時(shí)將 配置設(shè)置表達(dá)為公式化值的邏輯?;谠撨壿?,導(dǎo)出對(duì)應(yīng)于組件程序的每一個(gè)實(shí)例的公式化值。圖6是示出根據(jù)本發(fā)明的一實(shí)施例的用于響應(yīng)觸發(fā)事件的方法600的流程圖。如 框610所示,接收對(duì)服務(wù)描述合同的修改的指示。如框620所示,確定這些修改是否影響服 務(wù)模型中的規(guī)約。如果該判定指示未產(chǎn)生實(shí)質(zhì)性影響,則維護(hù)組件程序的當(dāng)前配置,如框 630所示。如框640所示,監(jiān)視服務(wù)應(yīng)用程序處的流量。如框650所示,確定是否存在對(duì)負(fù) 載水平的改變。如果該判定指示沒有對(duì)負(fù)載水平的改變或?qū)嵸|(zhì)性調(diào)整,則維護(hù)組件程序的 當(dāng)前配置,如框630所示。然而,如果框620和650的判定指示觸發(fā)事件已經(jīng)發(fā)生(例如,發(fā)生對(duì)負(fù)載水平的 實(shí)質(zhì)性改變,或者對(duì)規(guī)約的修改已產(chǎn)生實(shí)質(zhì)性影響),則根據(jù)服務(wù)模型來更新已更新的配置 設(shè)置,如框660所示。利用服務(wù)模型來創(chuàng)建已更新的配置設(shè)置在上文中參考圖2更全面地 討論。如框670所示,從已更新的配置設(shè)置導(dǎo)出公式化值。如框680所示,用所導(dǎo)出的公式 化值來重新配置組件程序。在各實(shí)施例中,重新配置包括圖3中所列出的各步驟。參考各具體實(shí)施例描述了本發(fā)明的各實(shí)施例,各具體實(shí)施例在所有方面都旨在是 說明性的而非限制性的。在不背離本發(fā)明范圍的情況下各替換實(shí)施例對(duì)本發(fā)明的各實(shí)施例 的所屬領(lǐng)域的普通技術(shù)人員將變得顯而易見。從前述內(nèi)容可知,本發(fā)明很好地適用于實(shí)現(xiàn)前述的所有目的和目標(biāo),并且具有對(duì) 于該系統(tǒng)和方式是顯而易見且固有的其他優(yōu)點(diǎn)??梢岳斫?,特定的特征和子組合是有用的, 并且可以在不參考其他特征和子組合的情況下使用。這由權(quán)利要求書所構(gòu)想并在其范圍之 內(nèi)。
1權(quán)利要求
一種或多種其上包含計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)存儲(chǔ)介質(zhì),所述指令在被執(zhí)行時(shí)執(zhí)行一種用于根據(jù)服務(wù)模型來管理服務(wù)應(yīng)用程序中的一個(gè)或多個(gè)組件程序的方法,所述方法包括確定所述服務(wù)應(yīng)用程序上的負(fù)載水平(305),其中所述服務(wù)應(yīng)用程序包括可以在數(shù)據(jù)中心內(nèi)的單獨(dú)的計(jì)算設(shè)備上執(zhí)行的一個(gè)或多個(gè)組件程序;從所述服務(wù)模型中提取可給予所述一個(gè)或多個(gè)組件程序的配置設(shè)置(310);啟動(dòng)用于根據(jù)所述負(fù)載水平來管理所述服務(wù)應(yīng)用程序的實(shí)例化過程(315),所述實(shí)例化過程包括(1)在所述數(shù)據(jù)中心內(nèi)部署所述一個(gè)或多個(gè)組件程序(320);以及(2)自動(dòng)在所部署的一個(gè)或多個(gè)組件程序中傳播從所述配置設(shè)置導(dǎo)出的公式化值(330);以及至少暫時(shí)將所述公式化值安裝到所述一個(gè)或多個(gè)組件程序中(335),由此提供與所述服務(wù)模型一致的服務(wù)應(yīng)用程序的功能。
2.如權(quán)利要求1所述的一種或多種計(jì)算機(jī)存儲(chǔ)介質(zhì),其特征在于,確定負(fù)載水平包括 監(jiān)視主存所述服務(wù)應(yīng)用程序的網(wǎng)站的流量。
3.如權(quán)利要求1所述的一種或多種計(jì)算機(jī)存儲(chǔ)介質(zhì),其特征在于,所述服務(wù)應(yīng)用程序 包括駐留在數(shù)據(jù)中心上的、由客戶機(jī)可經(jīng)由web瀏覽器應(yīng)用程序訪問的應(yīng)用服務(wù)提供者來 維護(hù)的軟件。
4.如權(quán)利要求3所述的一種或多種計(jì)算機(jī)存儲(chǔ)介質(zhì),其特征在于,所述服務(wù)模型部分 地根據(jù)在所述應(yīng)用服務(wù)提供者和所述客戶機(jī)之間建立的服務(wù)描述合同來生成。
5.如權(quán)利要求1所述的一種或多種計(jì)算機(jī)存儲(chǔ)介質(zhì),其特征在于,還包括根據(jù)所安裝 的公式化值來執(zhí)行所述服務(wù)應(yīng)用程序。
6.如權(quán)利要求1所述的一種或多種計(jì)算機(jī)存儲(chǔ)介質(zhì),其特征在于,所述實(shí)例化過程還 包括確定所部署的一個(gè)或多個(gè)組件程序中的每一個(gè)的狀態(tài);訪問變換圖,其中所述變換圖包括用于將所述配置設(shè)置表達(dá)為對(duì)應(yīng)于所述一個(gè)或多個(gè) 組件程序中的每一個(gè)的狀態(tài)的公式化值的邏輯;以及根據(jù)所述變換圖的邏輯來從所述配置設(shè)置導(dǎo)出所述公式化值。
7.一種計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)用于執(zhí)行一種通過將配置設(shè)置傳播到一個(gè)或多個(gè) 組件程序來實(shí)例化服務(wù)應(yīng)用程序以由此提升所述服務(wù)應(yīng)用程序的功能的方法,所述計(jì)算機(jī) 系統(tǒng)包括第一計(jì)算設(shè)備(255),其執(zhí)行支持所述服務(wù)應(yīng)用程序的操作的一個(gè)或多個(gè)組件程序;以及第二計(jì)算設(shè)備(265),其啟動(dòng)用于根據(jù)服務(wù)模型來實(shí)現(xiàn)所述服務(wù)應(yīng)用程序的實(shí)例化過 程,所述實(shí)例化過程包括(1)從所述服務(wù)模型中的規(guī)約中提取配置設(shè)置;(2)將駐留在所述第一計(jì)算設(shè)備上的一個(gè)或多個(gè)組件程序標(biāo)識(shí)為可用于實(shí)例化;(3)詢問所述一個(gè)或多個(gè)組件程序中的參數(shù)以確定所述一個(gè)或多個(gè)組件程序中的某一 些是否與所述配置設(shè)置兼容;(4)自動(dòng)在一個(gè)或多個(gè)兼容的組件程序中傳播從所述配置設(shè)置導(dǎo)出的公式化值;以及(5)根據(jù)所述公式化值來配置所述一個(gè)或多個(gè)兼容的組件程序的參數(shù)。
8.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述實(shí)例化過程還包括接收對(duì)所述服務(wù)模型的規(guī)約的修改的指示;以及從所修改的規(guī)約中提取已更新的配置設(shè)置。
9.如權(quán)利要求8所述的計(jì)算機(jī)系統(tǒng),其特征在于,駐留在所述第一計(jì)算設(shè)備上的一個(gè) 或多個(gè)組件程序根據(jù)準(zhǔn)許在接收到來自所述已更新的配置設(shè)置的公式化值時(shí)自動(dòng)重新配 置所述參數(shù)的一組規(guī)則來開發(fā)。
10.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述第二計(jì)算設(shè)備還被配置成執(zhí)行 支持所述服務(wù)應(yīng)用程序的操作的一個(gè)或多個(gè)組件程序。
11.如權(quán)利要求10所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述配置設(shè)置包括組件地址,所述 組件地址準(zhǔn)許駐留在所述第一計(jì)算設(shè)備上的一個(gè)或多個(gè)組件程序與駐留在所述第二計(jì)算 設(shè)備上的一個(gè)或多個(gè)組件程序協(xié)調(diào)活動(dòng)。
12.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述配置設(shè)置包括算法標(biāo)識(shí)符,所 述算法標(biāo)識(shí)符指示所述一個(gè)或多個(gè)組件程序啟動(dòng)特定算法,以由此影響所述服務(wù)應(yīng)用程序 的執(zhí)行。
13.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其特征在于,還包括用于支持所述服務(wù)應(yīng)用程序 的操作的一組相關(guān)服務(wù),所述服務(wù)應(yīng)用程序由應(yīng)用服務(wù)提供者來管理,而所述一組相關(guān)服 務(wù)由與所述應(yīng)用服務(wù)提供者分開的至少一個(gè)實(shí)體來管理。
14.如權(quán)利要求13所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述配置設(shè)置包括資源位置,所述 資源位置準(zhǔn)許所述一個(gè)或多個(gè)組件程序與位于所述第一計(jì)算設(shè)備和所述第二計(jì)算設(shè)備外 部的一組相關(guān)服務(wù)協(xié)調(diào)活動(dòng)。
15.如權(quán)利要求14所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述協(xié)調(diào)活動(dòng)包括在所述一組相關(guān)服務(wù)和所述一個(gè)或多個(gè)組件程序之間交換消息;以及將所交換的消息與安裝在所述一個(gè)或多個(gè)兼容的組件程序的參數(shù)處的公式化值進(jìn)行 比較。
16.如權(quán)利要求15所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述公式化值包括期望值并且所 交換的消息包括用戶提供的憑證,其中在實(shí)例化后,所述一個(gè)或多個(gè)組件程序被配置成允 許用戶在所述用戶提供的憑證與所述期望值的對(duì)應(yīng)的期望值匹配時(shí)訪問所述服務(wù)應(yīng)用程序。
17.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述實(shí)例化過程還包括從所述一個(gè)或多個(gè)兼容的組件程序訪問結(jié)構(gòu)圖,其中所述結(jié)構(gòu)圖包括用于定位所述一 個(gè)或多個(gè)兼容的組件程序中的參數(shù)的邏輯;以及根據(jù)所述結(jié)構(gòu)圖的邏輯來將從所述配置設(shè)置導(dǎo)出的公式化值定向到適當(dāng)?shù)膮?shù)。
18.如權(quán)利要求7所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述第一計(jì)算設(shè)備和所述第二計(jì)算 設(shè)備包括數(shù)據(jù)中心,其中所述數(shù)據(jù)中心包括存儲(chǔ)數(shù)據(jù)的存儲(chǔ)器資源,其中所述存儲(chǔ)器資源 處的數(shù)據(jù)可由所述一個(gè)或多個(gè)組件程序訪問。
19.如權(quán)利要求18所述的計(jì)算機(jī)系統(tǒng),其特征在于,所述配置設(shè)置包括存儲(chǔ)器資源地 址,所述存儲(chǔ)器資源地址準(zhǔn)許所述一個(gè)或多個(gè)組件程序定位適當(dāng)?shù)拇鎯?chǔ)器資源以便訪問所述數(shù)據(jù)。
20. 一種用于根據(jù)實(shí)例化方案來配置在數(shù)據(jù)中心中操作的服務(wù)應(yīng)用程序的組件程序的 計(jì)算機(jī)化方法,所述方法包括通過詢問服務(wù)模型來確定配置設(shè)置(310);訪問所述實(shí)例化方案,其中所述實(shí)例化方案指示部署哪些組件程序以滿足所述服務(wù)模 型,并且其中所述實(shí)例化方案提供變換圖;在所述數(shù)據(jù)中心內(nèi)的多個(gè)計(jì)算設(shè)備上部署所指示的組件程序(320); 部分地基于所述變換圖來將所述配置設(shè)置轉(zhuǎn)換成公式化值(325); 自動(dòng)將所述公式化值分發(fā)到所部署的組件程序(330);以及 至少暫時(shí)將所分發(fā)的公式化值與所部署的組件程序相關(guān)聯(lián)地存儲(chǔ)(335)。
全文摘要
提供了各種方法、系統(tǒng)、以及其上包含計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)存儲(chǔ)介質(zhì),這些指令在被執(zhí)行時(shí)執(zhí)行根據(jù)本發(fā)明的各實(shí)施例的用于根據(jù)服務(wù)模型來管理服務(wù)應(yīng)用程序中的組件程序的方法。最初,從服務(wù)模型中提取可給予組件程序的配置設(shè)置。啟動(dòng)用于根據(jù)對(duì)服務(wù)應(yīng)用程序上的負(fù)載水平和/或服務(wù)模型中的規(guī)約的改變來管理服務(wù)應(yīng)用程序的實(shí)例化過程。該實(shí)例化過程包括在數(shù)據(jù)中心內(nèi)部署組件程序或?qū)⑵錁?biāo)識(shí)為可用,以及自動(dòng)在所部署的組件程序中傳播從配置設(shè)置導(dǎo)出的公式化值。將這些導(dǎo)出的公式化值安裝到組件程序中,由此提供與服務(wù)模型一致的服務(wù)應(yīng)用程序的功能。
文檔編號(hào)G06F9/06GK101933000SQ200980103908
公開日2010年12月29日 申請(qǐng)日期2009年1月7日 優(yōu)先權(quán)日2008年1月30日
發(fā)明者J·伯納布-奧班, Y·A·哈利迪 申請(qǐng)人:微軟公司