專利名稱:在平臺(tái)之間移植虛擬機(jī)映像的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及分布式計(jì)算機(jī)系統(tǒng)領(lǐng)域。具體而言,本發(fā)明涉及一種用于在平臺(tái)之間移植(port)虛擬映像的方法和系統(tǒng)。
背景技術(shù):
云計(jì)算是描述基于因特網(wǎng)的服務(wù)的術(shù)語?;谝蛱鼐W(wǎng)的服務(wù)由服務(wù)提供商托管。服務(wù)提供商可以通過計(jì)算機(jī)網(wǎng)絡(luò)向請(qǐng)求客戶端提供硬件基礎(chǔ)設(shè)施或者軟件應(yīng)用。請(qǐng)求客戶端可以使用傳統(tǒng)的基于客戶端的“瀏覽器”軟件應(yīng)用來訪問軟件應(yīng)用,而軟件(指令)和數(shù)據(jù)存儲(chǔ)于由云計(jì)算提供商維護(hù)的服務(wù)器上。為了使服務(wù)提供商能夠利用在云計(jì)算環(huán)境中運(yùn)行應(yīng)用,服務(wù)提供商需要能夠?qū)⑺鼈兊默F(xiàn)有應(yīng)用移入云計(jì)算環(huán)境中。備選地,服務(wù)提供商可能需要從一個(gè)計(jì)算環(huán)境向另一計(jì)算環(huán)境移植它們的應(yīng)用。
從一個(gè)環(huán)境向另一環(huán)境移植應(yīng)用經(jīng)常耗費(fèi)時(shí)間并且難以做到。在從一個(gè)云提供商到另一云提供商的一個(gè)或者多個(gè)虛擬映像中的獨(dú)立于移植平臺(tái)的解決方案之所以困難,是因?yàn)橛诚窀袷绞窃朴?jì)算環(huán)境支持的管理程序(hypervisor)技術(shù)特有的。另外,在客戶操作系統(tǒng)中需要多個(gè)令人厭煩的手動(dòng)配置步驟以服從云特有的管理程序要求,并且如下基礎(chǔ)映像經(jīng)常不可用,這些基礎(chǔ)映像具有適當(dāng)版本的部分安裝和配置的附屬軟件部件等。US0090282404公開了一種用于根據(jù)用戶規(guī)范自動(dòng)配置虛擬機(jī)(VM)并且在物理主機(jī)上部署VM的供應(yīng)服務(wù)器(provisioning server)。用戶可以從預(yù)先配置的準(zhǔn)備好部署的VM的列表選擇,或者他可以選擇他想要VM具有哪個(gè)硬件、操作系統(tǒng)和應(yīng)用。如果所需配置可用,則供應(yīng)服務(wù)器繼而相應(yīng)地配置VM,或者如果所需配置不可用,則它應(yīng)用試探法以配置與用戶的請(qǐng)求匹配最好的VM。該發(fā)明還包括用于監(jiān)視VM和主機(jī)的狀態(tài)、用于在主機(jī)之間遷移VM以及用于創(chuàng)建VM的網(wǎng)絡(luò)的機(jī)制。US7356679公開了自動(dòng)捕獲源計(jì)算機(jī)的硬件和軟件配置的源映像(包括至少一個(gè)源盤的狀態(tài))。源計(jì)算機(jī)可以保持未預(yù)備并且無需用于有助于計(jì)算機(jī)克隆和重新配置的程序。自動(dòng)分析源映像并且確定目的地計(jì)算機(jī)的硬件配置。如為了與目的地計(jì)算機(jī)兼容或者為了定制而需要的那樣修改源映像,并且在可能的修改之后在目的地計(jì)算機(jī)上部署源映像。源和目的地計(jì)算機(jī)中的一個(gè)或者兩個(gè)計(jì)算機(jī)可以是虛擬機(jī)。然而,上述現(xiàn)有技術(shù)解決方案都未公開一種用于從一個(gè)云計(jì)算環(huán)境向另一云計(jì)算環(huán)境移植部分/完整解決方案(包括具有兼容校驗(yàn)/信息的一個(gè)或者多個(gè)虛擬映像)的裝置。
發(fā)明內(nèi)容
在一個(gè)實(shí)施例中,提供一種對(duì)與源平臺(tái)相關(guān)聯(lián)的源拓?fù)淠P秃团c目標(biāo)平臺(tái)相關(guān)聯(lián)的目標(biāo)拓?fù)淠P瓦M(jìn)行差異化的方法。這一差異化由處理器執(zhí)行并且產(chǎn)生拓?fù)洳町?。從資產(chǎn)庫獲得工作流模型中的操作,該操作與拓?fù)洳町愊嚓P(guān)聯(lián)。資產(chǎn)庫的至少部分存儲(chǔ)于持久存儲(chǔ)介質(zhì)中。傳輸用于部署解決方案的部分的操作以用于部署。解決方案的所部署的部分包括與目標(biāo)平臺(tái)兼容的目標(biāo)映像。前文為發(fā)明內(nèi)容并且因此必然包含對(duì)細(xì)節(jié)的簡(jiǎn)化、概括和省略;因而,本領(lǐng)域技術(shù)人員將理解,本發(fā)明內(nèi)容僅為說明性而并非旨在于以任何方式限制。如僅由權(quán)利要求限定的其它方面、發(fā)明特征和優(yōu)點(diǎn)將在下文闡述的非限制具體描述中變得清楚。從第一方面來看,本發(fā)明提供一種由信息操縱(handling)系統(tǒng)實(shí)施的方法,該方法包括對(duì)與源平臺(tái)相關(guān)聯(lián)的源拓?fù)淠P秃团c目標(biāo)平臺(tái)相關(guān)聯(lián)的目標(biāo)拓?fù)淠P瓦M(jìn)行差異化從而產(chǎn)生拓?fù)洳町?,其中差異化的至少部分由處理器?zhí)行;從資產(chǎn)庫獲得工作流模型中的操作,其中操作與拓?fù)洳町愊嚓P(guān)聯(lián),并且其 中資產(chǎn)庫的至少部分存儲(chǔ)于持久存儲(chǔ)介質(zhì)中;以及傳輸操作以用于部署解決方案的至少部分,其中解決方案的所部署的部分包括與目標(biāo)平臺(tái)兼容的目標(biāo)虛擬映像。優(yōu)選地,本發(fā)明提供一種方法,該方法還包括通過執(zhí)行操作在目標(biāo)平臺(tái)部署解決方案的部分。優(yōu)選地,本發(fā)明提供一種方法,其中部署的結(jié)果包括從源平臺(tái)向目標(biāo)平臺(tái)移植解決方案。優(yōu)選地,本發(fā)明提供一種方法,其中源平臺(tái)是第一個(gè)云,并且其中所述目標(biāo)平臺(tái)是
第二個(gè)云。優(yōu)選地,本發(fā)明提供一種方法,其中解決方案是復(fù)合解決方案,并且其中第二個(gè)云包括多個(gè)云。優(yōu)選地,本發(fā)明提供一種方法,其中源平臺(tái)是專用云,并且其中目標(biāo)平臺(tái)是公共云。優(yōu)選地,本發(fā)明提供一種方法,該方法還包括在元數(shù)據(jù)中搜索與目標(biāo)平臺(tái)相關(guān)聯(lián)的至少一個(gè)基本虛擬映像元數(shù)據(jù)。優(yōu)選地,本發(fā)明提供一種方法,該方法還包括在一個(gè)或者多個(gè)云特有的虛擬映像庫中搜索元數(shù)據(jù)。優(yōu)選地,本發(fā)明提供一種方法,該方法還包括取回搜索中使用的輸入?yún)?shù),其中輸入?yún)?shù)由目標(biāo)拓?fù)淠P吞峁?。?yōu)選地,本發(fā)明提供一種方法,該方法還包括響應(yīng)于搜索從存儲(chǔ)于資產(chǎn)庫中的元數(shù)據(jù)取回一個(gè)或者多個(gè)基本虛擬映像描述。優(yōu)選地,本發(fā)明提供一種方法,其中資源平臺(tái)是第一個(gè)云,并且其中目標(biāo)平臺(tái)是第二個(gè)云,該方法還包括從資產(chǎn)庫取回對(duì)應(yīng)于源平臺(tái)的模型單元的第一集合;從資產(chǎn)庫取回對(duì)應(yīng)于目標(biāo)平臺(tái)的模型單元的第二集合,其中差異化產(chǎn)生一個(gè)或者多個(gè)共同模型單元和一個(gè)或者多個(gè)不同模型單元;重用對(duì)應(yīng)于每個(gè)共同模型單元的一個(gè)或者多個(gè)工作流步驟的第一集合;從資產(chǎn)庫取回對(duì)應(yīng)于不同模型單元中的一個(gè)或者多個(gè)模型單元的一個(gè)或者多個(gè)工作流步驟的第二集合;以及使用工作流步驟的重用的第一集合和工作流步驟的取回的第二集合來創(chuàng)建工作流模型。優(yōu)選地,本發(fā)明提供一種方法,該方法還包括將拓?fù)洳町惻c源拓?fù)淠P秃湍繕?biāo)拓?fù)淠P拖嚓P(guān)聯(lián);以及在資產(chǎn)庫中存儲(chǔ)拓?fù)洳町惡完P(guān)聯(lián)作為補(bǔ)丁。優(yōu)選地,本發(fā)明提供一種方法,該方法還包括接收對(duì)于源拓?fù)淠P投圆糠止餐牡诙赐負(fù)淠P秃蛯?duì)于目標(biāo)平臺(tái)而言部分共同的第二目標(biāo)平臺(tái);在資產(chǎn)庫中搜索包括補(bǔ)丁的一個(gè)或者多個(gè)補(bǔ)丁,其中搜索包括相關(guān)聯(lián)的源拓?fù)淠P停豁憫?yīng)于搜索從資產(chǎn)庫取回補(bǔ)丁 ;以及將取回的補(bǔ)丁應(yīng)用于第二源拓?fù)淠P蛷亩a(chǎn)生與第二目標(biāo)平臺(tái)相關(guān)聯(lián)的第二目標(biāo)拓?fù)淠P汀?yōu)選地,本發(fā)明提供一種方法,其中解決方案是包括多個(gè)虛擬部分的復(fù)合解決方案,其中虛擬部分包括虛擬映像的模型及其組成客戶OS、中間件和應(yīng)用模型單元,其中向不同目標(biāo)平臺(tái)部署每個(gè)虛擬部分,并且其中每個(gè)目標(biāo)平臺(tái)對(duì)應(yīng)于公共云或者專用云。優(yōu)選地,本發(fā)明提供一種方法,該方法還包括傳輸包括操作的多個(gè)操作以用于部署完整解決方案。優(yōu)選地,本發(fā)明提供一種方法,其中差異化還包括標(biāo)識(shí)對(duì)應(yīng)于源平臺(tái)的模型單元的第一集合;標(biāo)識(shí)對(duì)應(yīng)于目標(biāo)平臺(tái)的模型單元的第二集合;比較模型單元的第一集合與模型單元的第二集合,該比較產(chǎn)生一個(gè)或者多個(gè)改變的模型單元的集合和一個(gè)或者多個(gè)共同模型單元的集合;從對(duì)應(yīng)于共同模型單元的源拓?fù)淠P腿』刈詣?dòng)化步驟模型的第一集合; 在資產(chǎn)庫中搜索改變的模型單元,該搜索產(chǎn)生對(duì)應(yīng)于改變的模型單元的自動(dòng)化步驟模型的第二集合;以及在工作流模型中包括自動(dòng)化步驟模型的第一集合和第二集合。優(yōu)選地,本發(fā)明提供一種方法,其中差異化產(chǎn)生一個(gè)或者多個(gè)新單元的標(biāo)識(shí),其中在目標(biāo)拓?fù)淠P椭邪l(fā)現(xiàn)而在源拓?fù)淠P椭形窗l(fā)現(xiàn)新單元,并且其中該方法還包括在資產(chǎn)庫中搜索新單元。優(yōu)選地,本發(fā)明提供一種方法,其中用于部署解決方案的部分的操作使解決方案的部分能夠從一個(gè)云銷售商向另一云銷售商移植。優(yōu)選地,本發(fā)明提供一種方法,其中用于部署解決方案的部分的操作設(shè)置安全防火墻。優(yōu)選地,本發(fā)明提供一種方法,其中用于部署解決方案的部分的操作在目標(biāo)平臺(tái)中實(shí)例化目標(biāo)虛擬映像。優(yōu)選地,本發(fā)明提供一種方法,其中源平臺(tái)是在一個(gè)或者多個(gè)計(jì)算機(jī)系統(tǒng)的第一集合上運(yùn)行的第一管理程序,其中目標(biāo)平臺(tái)是在一個(gè)或者多個(gè)計(jì)算機(jī)系統(tǒng)的第二集合上運(yùn)行的第二管理程序,并且其中第一管理程序和第二管理程序是不同類型的管理程序。優(yōu)選地,本發(fā)明提供一種方法,其中源拓?fù)淠P秃湍繕?biāo)拓?fù)淠P透髯园ㄔ獢?shù)據(jù),該元數(shù)據(jù)描述一個(gè)或者多個(gè)軟件應(yīng)用部件、中間件軟件應(yīng)用部件和客戶操作系統(tǒng)部件。優(yōu)選地,本發(fā)明提供一種方法,其中由源拓?fù)淠P秃湍繕?biāo)拓?fù)淠P退髯园ǖ脑獢?shù)據(jù)還包括一個(gè)或者多個(gè)虛擬映像部署參數(shù),其中源拓?fù)淠P桶▽?duì)應(yīng)于源云和源證書以及源服務(wù)端點(diǎn)的源配置參數(shù)的源拓?fù)淠P蛦卧渲心繕?biāo)拓?fù)淠P桶▽?duì)應(yīng)于目標(biāo)云和目標(biāo)證書以及目標(biāo)服務(wù)端點(diǎn)的目標(biāo)配置參數(shù)的目標(biāo)拓?fù)淠P蛦卧?。?yōu)選地,本發(fā)明提供一種方法,該方法還包括將每個(gè)源拓?fù)淠P蛦卧c源自動(dòng)化步驟模型相關(guān)聯(lián),源自動(dòng)化步驟模型具體描述用來部署相關(guān)聯(lián)的源拓?fù)淠P蛦卧牟僮髦械囊粋€(gè)或者多個(gè)操作;將每個(gè)目標(biāo)拓?fù)淠P蛦卧c目標(biāo)自動(dòng)化步驟模型相關(guān)聯(lián),目標(biāo)自動(dòng)化步驟模型具體描述用來部署相關(guān)聯(lián)的目標(biāo)拓?fù)淠P蛦卧牟僮髦械囊粋€(gè)或者多個(gè)操作;以及在工作流模型中存儲(chǔ)每個(gè)目標(biāo)自動(dòng)化步驟模型。優(yōu)選地,本發(fā)明提供一種方法,其中執(zhí)行用于部署解決方案的部分的操作實(shí)現(xiàn)多租戶。優(yōu)選地,本發(fā)明提供一種方法,其中執(zhí)行用于部署解決方案的部分的操作實(shí)現(xiàn)可變工作負(fù)荷。從另一方面來看,本發(fā)明提供一種信息操縱系統(tǒng),該系統(tǒng)包括一個(gè)或者多個(gè)處理器;存儲(chǔ)器,可由處理器中的至少一個(gè)處理器訪問;持久存儲(chǔ)介質(zhì),可由處理器中的至少一個(gè)處理器訪問;網(wǎng)絡(luò)接口,將信息操縱系統(tǒng)連接到計(jì)算機(jī)網(wǎng)絡(luò),其中網(wǎng)絡(luò)接口可由處理器中的至少一個(gè)處理器訪問;以及指令集,存儲(chǔ)于存儲(chǔ)器中并且由處理器中的至少一個(gè)處理器執(zhí)行以便執(zhí)行以下動(dòng)作對(duì)與源平臺(tái)相關(guān)聯(lián)的源拓?fù)淠P秃团c目標(biāo)平臺(tái)相關(guān)聯(lián)的目標(biāo)拓?fù)淠P瓦M(jìn)行差異化從而產(chǎn)生拓?fù)洳町?;從資產(chǎn)庫獲得工作流模型中的操作,其中操作與拓?fù)洳町愊嚓P(guān)聯(lián),并且其中資產(chǎn)庫的至少部分存儲(chǔ)于持久存儲(chǔ)介質(zhì)中;以及傳輸操作以用于部署解決方案的至少部分,其中解決方案的所部署的部分包括與目標(biāo)平臺(tái)兼容的目標(biāo)虛擬映像。
·
優(yōu)選地,本發(fā)明提供一種信息操縱系統(tǒng),其中動(dòng)作還包括通過執(zhí)行操作在目標(biāo)平臺(tái)部署解決方案的部分。優(yōu)選地,本發(fā)明提供一種信息操縱系統(tǒng),其中源平臺(tái)是第一個(gè)云,并且其中目標(biāo)平臺(tái)是第二個(gè)云。優(yōu)選地,本發(fā)明提供一種信息操縱系統(tǒng),其中動(dòng)作還包括在元數(shù)據(jù)中搜索與目標(biāo)平臺(tái)相關(guān)聯(lián)的至少一個(gè)基本虛擬映像元數(shù)據(jù)。優(yōu)選地,本發(fā)明提供一種信息操縱系統(tǒng),其中動(dòng)作還包括響應(yīng)于搜索從存儲(chǔ)于資產(chǎn)庫中的元數(shù)據(jù)取回一個(gè)或者多個(gè)基本虛擬映像描述。優(yōu)選地,本發(fā)明提供一種信息操縱系統(tǒng),其中源平臺(tái)是第一個(gè)云,其中目標(biāo)平臺(tái)是第二個(gè)云,并且其中動(dòng)作還包括從資產(chǎn)庫取回對(duì)應(yīng)于源平臺(tái)的模型單元的第一集合;從資產(chǎn)庫取回對(duì)應(yīng)于目標(biāo)平臺(tái)的模型單元的第二集合,其中差異化產(chǎn)生一個(gè)或者多個(gè)共同模型單元和一個(gè)或者多個(gè)不同模型單元;重用對(duì)應(yīng)于每個(gè)共同模型單元的一個(gè)或者多個(gè)工作流步驟的第一集合;從資產(chǎn)庫取回對(duì)應(yīng)于不同模型單元中的一個(gè)或者多個(gè)模型單元的一個(gè)或者多個(gè)工作流步驟的第二集合;以及使用工作流步驟的重用的第一集合和工作流步驟的取回的第二集合來創(chuàng)建工作流模型。優(yōu)選地,本發(fā)明提供一種信息操縱系統(tǒng),其中動(dòng)作還包括將拓?fù)洳町惻c源拓?fù)淠P秃湍繕?biāo)拓?fù)淠P拖嚓P(guān)聯(lián);以及在資產(chǎn)庫中存儲(chǔ)拓?fù)洳町惡完P(guān)聯(lián)作為補(bǔ)丁。優(yōu)選地,本發(fā)明提供一種信息操縱系統(tǒng),其中動(dòng)作還包括接收對(duì)于源拓?fù)淠P投圆糠止餐牡诙赐負(fù)淠P秃蛯?duì)于目標(biāo)平臺(tái)而言部分共同的第二目標(biāo)平臺(tái);在資產(chǎn)庫中搜索包括補(bǔ)丁的一個(gè)或者多個(gè)補(bǔ)丁,其中搜索包括相關(guān)聯(lián)的源拓?fù)淠P?;響?yīng)于搜索從資產(chǎn)庫取回補(bǔ)?。灰约皩⑷』氐难a(bǔ)丁應(yīng)用于第二源拓?fù)淠P蛷亩a(chǎn)生與第二目標(biāo)平臺(tái)相關(guān)聯(lián)的第二目標(biāo)拓?fù)淠P?。?yōu)選地,本發(fā)明提供一種信息操縱系統(tǒng),其中動(dòng)作還包括標(biāo)識(shí)對(duì)應(yīng)于源平臺(tái)的模型單元的第一集合;標(biāo)識(shí)對(duì)應(yīng)于目標(biāo)平臺(tái)的模型單元的第二集合;比較模型單元的第一集合與模型單元的第二集合,該比較產(chǎn)生一個(gè)或者多個(gè)改變的模型單元的集合和一個(gè)或者多個(gè)共同模型單元的集合;從對(duì)應(yīng)于共同模型單元的源拓?fù)淠P腿』刈詣?dòng)化步驟模型的第一集合;在資產(chǎn)庫中搜索改變的模型單元,該搜索產(chǎn)生對(duì)應(yīng)于改變的模型單元的自動(dòng)化步驟模型的第二集合;以及在工作流中包括自動(dòng)化步驟模型的第一集合和第二集合。優(yōu)選地,本發(fā)明提供一種信息操縱系統(tǒng),其中差異化產(chǎn)生一個(gè)或者多個(gè)新單元的標(biāo)識(shí),其中在目標(biāo)拓?fù)淠P椭邪l(fā)現(xiàn)而在源拓?fù)淠P椭形窗l(fā)現(xiàn)新單元,并且其中動(dòng)作還包括在資產(chǎn)庫中搜索新單元。優(yōu)選地,本發(fā)明提供一種信息操縱系統(tǒng),其中源平臺(tái)是在一個(gè)或者多個(gè)計(jì)算機(jī)系統(tǒng)的第一集合上運(yùn)行的第一管理程序,其中目標(biāo)平臺(tái)是在一個(gè)或者多個(gè)計(jì)算機(jī)系統(tǒng)的第二集合上運(yùn)行的第二管理程序,并且其中第一管理程序和第二管理程序是不同類型的管理程序。優(yōu)選地,本發(fā)明提供一種信息操縱系統(tǒng),其中源拓?fù)淠P秃湍繕?biāo)拓?fù)淠P透髯园ㄔ獢?shù)據(jù),元數(shù)據(jù)描述一個(gè)或者多個(gè)軟件應(yīng)用部件、中間件軟件應(yīng)用部件和客戶操作系統(tǒng)部件。優(yōu)選地,本發(fā)明提供一種信息操縱系統(tǒng),其中由源拓?fù)淠P秃湍繕?biāo)拓?fù)淠P退髯园ǖ脑獢?shù)據(jù)還包括一個(gè)或者多個(gè)虛擬映像部署參數(shù),其中源拓?fù)淠P桶▽?duì)應(yīng)于源云和源證書以及源服務(wù)端點(diǎn)的源配置參數(shù)的源拓?fù)淠P蛦卧?,其中目?biāo)拓?fù)淠P桶▽?duì)應(yīng)于目標(biāo)云和目標(biāo)證書以及目標(biāo)服務(wù)端點(diǎn)的目標(biāo)配置參數(shù)的目標(biāo)拓?fù)淠P蛦卧?。?yōu)選地,本發(fā)明提供一種信息操縱系統(tǒng),其中動(dòng)作還包括將每個(gè)源拓?fù)淠P蛦卧c源自動(dòng)化步驟模型相關(guān)聯(lián),源自動(dòng)化步驟模型具體描述用來部署相關(guān)聯(lián)的源拓?fù)淠P蛦卧牟僮髦械囊粋€(gè)或者多個(gè)操作;將每個(gè)目標(biāo)拓?fù)淠P蛦卧c目標(biāo)自動(dòng)化步驟模型相關(guān)聯(lián),目標(biāo)自動(dòng)化步驟模型具體描述用來部署相關(guān)聯(lián)的目標(biāo)拓?fù)淠P蛦卧牟僮髦械囊粋€(gè)或者多個(gè)操作;以及在工作流模型中存儲(chǔ)每個(gè)目標(biāo)自動(dòng)化步驟模型。從另一方面來看,本發(fā)明提供一種由信息操縱系統(tǒng)實(shí)施的方法,該方法包括獲得將向目標(biāo)平臺(tái)部署的拓?fù)淠P蛦卧辉诖鎯?chǔ)于持久存儲(chǔ)介質(zhì)中的資產(chǎn)庫中存儲(chǔ)的多個(gè)自動(dòng)化步驟模型中搜索與接收的拓?fù)淠P蛦卧嚓P(guān)聯(lián)的所選自動(dòng)化步驟模型,該搜索由一個(gè)或者多個(gè)處理器執(zhí)行;從資產(chǎn)庫獲得一個(gè)或者多個(gè)部署操作,其中獲得的部署操作與所選自動(dòng)化步驟模型相關(guān)聯(lián);以及執(zhí)行獲得的部署操作以便向目標(biāo)平臺(tái)部署拓?fù)淠P蛦卧?yōu)選地,本發(fā)明提供一種方法,其中搜索還包括從多個(gè)自動(dòng)化步驟模型標(biāo)識(shí)自動(dòng)化步驟模型的集合,其中該自動(dòng)化步驟模型的集合中的每個(gè)自動(dòng)化步驟模型與拓?fù)淠P蛦卧嚓P(guān)聯(lián)。并且比較該標(biāo)識(shí)的自動(dòng)化步驟模型的集合與標(biāo)準(zhǔn)的集合,其中該比較造成標(biāo)識(shí)所選自動(dòng)化步驟模型。優(yōu)選地,本發(fā)明提供一種由信息操縱系統(tǒng)實(shí)施的方法,該方法包括使用處理器從持久存儲(chǔ)介質(zhì)取回源映像元數(shù)據(jù),其中源映像元數(shù)據(jù)對(duì)應(yīng)于與源平臺(tái)相關(guān)聯(lián)的源映像;由處理器比較取回的源映像元數(shù)據(jù)與一個(gè)或者多個(gè)可用映像元數(shù)據(jù),該一個(gè)或者多個(gè)可用映像元數(shù)據(jù)對(duì)應(yīng)于與目標(biāo)平臺(tái)相關(guān)聯(lián)的一個(gè)或者多個(gè)可用虛擬映像;基于比較來標(biāo)識(shí)與源映像元數(shù)據(jù)最兼容的可用映像元數(shù)據(jù)之一;以及使用對(duì)應(yīng)于所標(biāo)識(shí)的可用映像元數(shù)據(jù)的可用虛擬映像作為與目標(biāo)平臺(tái)兼容的目標(biāo)虛擬映像。優(yōu)選地,本發(fā)明提供一種方法,其中源映像元數(shù)據(jù)與源拓?fù)淠P拖嚓P(guān)聯(lián),并且目標(biāo)平臺(tái)與目標(biāo)拓?fù)淠P拖嚓P(guān)聯(lián)。優(yōu)選地,本發(fā)明提供一種方法,其中源映像元數(shù)據(jù)和可用映像元數(shù)據(jù)包括軟件部 件元數(shù)據(jù)。
優(yōu)選地,本發(fā)明提供一種方法,該方法還包括在使用之前增強(qiáng)可用虛擬映像。優(yōu)選地,本發(fā)明提供一種方法,其中增強(qiáng)還包括更新可用虛擬映像中包括的一個(gè)或者多個(gè)軟件部件。優(yōu)選地,本發(fā)明提供一種方法,其中更新包括添加軟件部件之一。從另一方面來看,本發(fā)明提供一種方法,該方法包括獲得與拓?fù)洳町愊嚓P(guān)聯(lián)的操作,其中拓?fù)洳町愂桥c源平臺(tái)相關(guān)聯(lián)的源拓?fù)淠P秃团c目標(biāo)平臺(tái)相關(guān)聯(lián)的目標(biāo)拓?fù)淠P椭g的差異;以及通過執(zhí)行所獲得的操作來部署解決方案的至少部分,其中解決方案的所部署的部分包括與目標(biāo)平臺(tái)兼容的目標(biāo)映像。優(yōu)選地,本發(fā)明提供一種方法,其中源平臺(tái)是第一個(gè)云,其中目標(biāo)平臺(tái)是第二個(gè)云,并且其中部署解決方案的至少部分包括從第一個(gè)云向第二個(gè)云移植解決方案的至少部分。
優(yōu)選地,本發(fā)明提供一種方法,其中源平臺(tái)是專用云,其中目標(biāo)平臺(tái)是公共云,并且其中部署解決方案的至少部分包括從專用云向公共云部署解決方案。
現(xiàn)在將參照以下附圖僅通過示例描述
具體實(shí)施例方式圖I是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的信息操縱系統(tǒng)的實(shí)施例的框圖,該系統(tǒng)充當(dāng)云計(jì)算環(huán)境中的節(jié)點(diǎn)并且在該系統(tǒng)中也可以實(shí)施這里描述的方法;圖2是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的圖I中所示的信息操縱系統(tǒng)環(huán)境的擴(kuò)展的實(shí)施例,該擴(kuò)展用于例示可以在聯(lián)網(wǎng)環(huán)境中操作的廣泛多種信息操縱系統(tǒng)上執(zhí)行這里描述的方法;圖3是描繪根據(jù)本發(fā)明的優(yōu)選實(shí)施例的云計(jì)算環(huán)境的實(shí)施例的圖;圖4是描繪根據(jù)本發(fā)明的優(yōu)選實(shí)施例的由云計(jì)算環(huán)境提供的功能抽象層的集合的實(shí)施例的圖;圖5是根據(jù)本發(fā)明的優(yōu)選實(shí)施例的用來從源向目標(biāo)平臺(tái)移植解決方案的存儲(chǔ)于資產(chǎn)庫中的源和目標(biāo)拓?fù)淠P鸵约白詣?dòng)化步驟模型的實(shí)施例的圖;圖6是示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施例的如下步驟的流程圖,采取這些步驟以利用拓?fù)淠P蛦卧园l(fā)現(xiàn)源拓?fù)淠P团c目標(biāo)拓?fù)淠P椭g的共性和差異以便生成部署工作流;圖7是示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施例的自動(dòng)化步驟模型的實(shí)施例的圖,這些自動(dòng)化步驟模型用來創(chuàng)建向云環(huán)境部署的示例部署工作流;圖8是示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施例的為了創(chuàng)建拓?fù)淠P投扇〉牟襟E的流程圖;圖9是示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施例的為了創(chuàng)建自動(dòng)化步驟模型而采取的步驟的流程圖;圖10是示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施例的為了指定輸入?yún)?shù)并且在拓?fù)淠P椭写鎯?chǔ)而采取的步驟的流程圖;圖11是示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施例的為了完全指定和部署基于云的應(yīng)用的運(yùn)行實(shí)例而采取的步驟的流程圖12是示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施例的為了重用資產(chǎn)庫中存儲(chǔ)的資產(chǎn)并且使用所重用的資產(chǎn)向目標(biāo)云環(huán)境部署解決方案而采取的步驟的流程圖;圖13是示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施例的為了發(fā)現(xiàn)與請(qǐng)求匹配的現(xiàn)有拓?fù)鋯卧?、替換云特有的模型單元并且在資產(chǎn)庫中存儲(chǔ)新的和改變的模型單元而采取的步驟的流程圖;圖14是示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施例的為了生成部署工作流模型而采取的步驟的流程圖;圖15是示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施例的為了根據(jù)模型生成部署工作流并且使用部署引擎來部署而采取的步驟的流程圖;并且圖16是示出了根據(jù)本發(fā)明的優(yōu)選實(shí)施例的為了根據(jù)模型生成部署工作流并且向多個(gè)基于云的環(huán)境部署復(fù)合解決方案而采取的步驟的流程圖。
具體實(shí)施例方式為了便利,具體實(shí)施方式
具有以下章節(jié)第I節(jié)云計(jì)算定義;以及第2節(jié)具體實(shí)現(xiàn)。第I節(jié)云計(jì)算定義以下定義中的許多定義已經(jīng)取自于Peter Mell和Tim Grance的、日期注為2009年 10 月 7 日的 “Draft NIST Working Definition of Cloud Computing,,。云計(jì)算是如下模型,該模型用于實(shí)現(xiàn)對(duì)如下可配置計(jì)算資源(例如,網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用和服務(wù))的共享池的便利、隨需網(wǎng)絡(luò)訪問,可以用最少的管理工作或者服務(wù)提供商交互迅速供應(yīng)和釋放這些資源。這一云模型促進(jìn)可用性并且包括至少五個(gè)特性、至少三個(gè)服務(wù)模型和至少四個(gè)部署模型。特性如下隨需自服務(wù)消費(fèi)者可以如需要的那樣自動(dòng)單方面供應(yīng)計(jì)算能力(諸如服務(wù)器時(shí)間和網(wǎng)絡(luò)存儲(chǔ))而無需與每個(gè)服務(wù)提供商的人類交互。廣泛網(wǎng)絡(luò)接入能力跨網(wǎng)絡(luò)可用并且通過如下標(biāo)準(zhǔn)機(jī)制來訪問,這些機(jī)制促進(jìn)由異構(gòu)瘦或者胖客戶端平臺(tái)(例如,移動(dòng)電話、膝上型計(jì)算機(jī)和PDA)使用。資源聯(lián)合聯(lián)合提供商的計(jì)算資源以使用多租戶模型來服務(wù)于多個(gè)消費(fèi)者,并且根據(jù)消費(fèi)者需求動(dòng)態(tài)分配和重新分配不同物理和虛擬資源。存在位置獨(dú)立意義,因?yàn)榭蛻粢话銓?duì)所提供的資源的確切位置沒有控制或者了解、但是可以能夠在更高抽象水平(例如,國(guó)家、州或者數(shù)據(jù)中心)指定位置。資源的示例包括存儲(chǔ)、處理、存儲(chǔ)器、網(wǎng)絡(luò)帶寬和虛擬機(jī)。迅速彈性可以迅速和彈性(在一些情況下自動(dòng))地供應(yīng)能力以快速擴(kuò)張以及迅速釋放能力以快速收縮。對(duì)于消費(fèi)者,可用于供應(yīng)的能力經(jīng)常顯得無限并且可以在任何時(shí)間以任何數(shù)量來購買。測(cè)量的服務(wù)云系統(tǒng)通過在適合于服務(wù)類型(例如,存儲(chǔ)、處理、帶寬和活躍用戶賬戶)的某一抽象水平利用計(jì)量能力來自動(dòng)控制和優(yōu)化資源使用??梢员O(jiān)視、控制和報(bào)告資源使用從而為所利用的服務(wù)的提供商和消費(fèi)者二者提供透明性。服務(wù)模型如下
云軟件即服務(wù)(SaaS):向消費(fèi)者提供的能力是使用提供商的在云基礎(chǔ)結(jié)構(gòu)上運(yùn)行的應(yīng)用。應(yīng)用是通過瘦客戶端接口(諸如web瀏覽器(例如,基于web的電子郵件)從各種客戶端設(shè)備可訪問的。消費(fèi)者不管理或者控制包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)、存儲(chǔ)乃至個(gè)別應(yīng)用能力的下層云基礎(chǔ)結(jié)構(gòu),而以有限的用戶特有的應(yīng)用配置設(shè)置為可能的例外。云平臺(tái)即服務(wù)(PaaS):向消費(fèi)者提供的能力是向云基礎(chǔ)結(jié)構(gòu)上部署使用由提供商支持的編程語言和工具而創(chuàng)建的由消費(fèi)者創(chuàng)建或者取得的應(yīng)用。消費(fèi)者不管理或者控制包括網(wǎng)絡(luò)、服務(wù)器、操作系統(tǒng)或者存儲(chǔ)的下層云基礎(chǔ)結(jié)構(gòu),但是對(duì)部署的應(yīng)用和可能的應(yīng)用托管環(huán)境配置具有控制。云基礎(chǔ)結(jié)構(gòu)即服務(wù)(IaaS):向消費(fèi)者提供的能力是供應(yīng)處理、存儲(chǔ)、網(wǎng)絡(luò)和其它基本計(jì)算資源,其中消費(fèi)者能夠部署和運(yùn)行可以包括操作系統(tǒng)和應(yīng)用的任意軟件。消費(fèi)者不管理或者控制下層云基礎(chǔ)結(jié)構(gòu),但是對(duì)操作系統(tǒng)、存儲(chǔ) 、部署的應(yīng)用具有控制以及對(duì)所選網(wǎng)絡(luò)部件(例如,主機(jī)防火墻)具有可能的有限控制。部署模型如下專用云僅為組織操作云基礎(chǔ)結(jié)構(gòu)。它可以由組織或者第三方管理并且可以存在于駐地上或者駐地外。它在適當(dāng)位置具有安全機(jī)制。可以在適當(dāng)位置的安全機(jī)制的示例是防火墻??梢栽谶m當(dāng)位置的安全機(jī)制的另一示例是虛擬專用網(wǎng)絡(luò)(VPN)。團(tuán)體云云基礎(chǔ)結(jié)構(gòu)由若干組織共享并且支持具有共享關(guān)注(例如,使命、安全要求、策略和順應(yīng)考慮)的具體團(tuán)體。它可以由組織或者第三方管理并且可以存在于駐地上或者駐地外。公共云使云基礎(chǔ)結(jié)構(gòu)可用于一般公眾或者大型工業(yè)群體并且由銷售云服務(wù)的組織擁有?;旌显圃苹A(chǔ)結(jié)構(gòu)是兩個(gè)或者多個(gè)云(專用、團(tuán)體或者公共)的復(fù)合,這些云保持唯一實(shí)體、但是由實(shí)現(xiàn)數(shù)據(jù)和應(yīng)用可移植性的標(biāo)準(zhǔn)化或者專有技術(shù)(例如,用于在云之間的負(fù)荷平衡的云爆發(fā)(burst))綁定在一起。云計(jì)算環(huán)境面向服務(wù)而以無狀態(tài)、低耦合、模塊性和語義可互操作性為焦點(diǎn)。虛擬映像代表文件系統(tǒng)中的虛擬機(jī)并且可以包括如為了將它作為虛擬機(jī)運(yùn)行而必需的配置參數(shù)。虛擬機(jī)可以由稱為管理程序的軟件部件執(zhí)行,該軟件部件可以位于物理機(jī)器中并且可以補(bǔ)充物理機(jī)器的操作系統(tǒng)。虛擬映像也可以稱為機(jī)器映像或者虛擬機(jī)映像。虛擬機(jī)是如同物理機(jī)器一樣執(zhí)行程序的機(jī)器的軟件實(shí)現(xiàn)。“映像”是計(jì)算機(jī)系統(tǒng)和在計(jì)算機(jī)系統(tǒng)上運(yùn)行的軟件的狀態(tài)。在管理程序系統(tǒng)中,映像可以是“虛擬映像”,因?yàn)楣芾沓绦蚩刂茖?duì)計(jì)算機(jī)系統(tǒng)硬件的訪問,并且從客戶操作系統(tǒng)或者分區(qū)的觀點(diǎn)來看,當(dāng)事實(shí)上管理程序?qū)嶋H上控制對(duì)計(jì)算機(jī)硬件部件的訪問并且管理計(jì)算機(jī)硬件資源在多個(gè)分區(qū)(例如,客戶操作系統(tǒng)等)之間的共享時(shí),好像客戶操作系統(tǒng)/分區(qū)控制整個(gè)計(jì)算機(jī)系統(tǒng)一樣。第2節(jié)具體實(shí)施如本領(lǐng)域技術(shù)人員將理解的那樣,具體實(shí)現(xiàn)可以體現(xiàn)為系統(tǒng)、方法或者計(jì)算機(jī)程序產(chǎn)品。因而,實(shí)施例可以采用全硬件實(shí)施例、全軟件實(shí)施例(包括固件、常駐軟件、微代碼等)或者組合軟件與硬件方面的實(shí)施例這樣的形式,這些實(shí)施例在這里都可以通稱為“電路”、“模塊”或者“系統(tǒng)”。另外,實(shí)施例可以采用在一個(gè)或者多個(gè)計(jì)算機(jī)可讀介質(zhì)中體現(xiàn)的計(jì)算機(jī)程序產(chǎn)品這一形式,該計(jì)算機(jī)可讀介質(zhì)具有體現(xiàn)于其上的計(jì)算機(jī)可讀程序代碼??梢岳靡粋€(gè)或者多個(gè)計(jì)算機(jī)可讀介質(zhì)的任何組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以例如是但不限于電子、磁、光學(xué)、電磁、紅外線或者半導(dǎo)體系統(tǒng)、裝置或者設(shè)備或者前述各項(xiàng)的任何適當(dāng)組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更多具體示例(非窮舉列表)將包括以下示例具有一個(gè)或者多個(gè)接線的電連接、便攜計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦除可編程只讀存儲(chǔ)器(EPR0M或者閃存)、光纖、便攜光盤只讀存儲(chǔ)器(CD-ROM)、光學(xué)存儲(chǔ)設(shè)備、磁存儲(chǔ)設(shè)備或者前述各項(xiàng)的任何適當(dāng)組合。在本文獻(xiàn)的上下文中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何有形介質(zhì),該介質(zhì)可以包含或者存儲(chǔ)用于由指令執(zhí)行系統(tǒng)、裝置或者設(shè)備使用或者與指令執(zhí)行系統(tǒng)、裝置或者設(shè)備結(jié)合使用的程序。計(jì)算機(jī)可讀信號(hào)介質(zhì)可以包括例如在基帶中或者作為載波的部分的傳播的數(shù)據(jù)信號(hào),該信號(hào)具有體現(xiàn)于其中的計(jì)算機(jī)可讀程序代碼。這樣的傳播的信號(hào)可以采用多種形式(包括但不限于電磁、光學(xué)或者其任何適當(dāng)組合)中的任何形式。計(jì)算機(jī)可讀信號(hào)介質(zhì) 可以是任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)并非計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)并且可以傳送、傳播或者運(yùn)送用于由指令執(zhí)行系統(tǒng)、裝置或者設(shè)備使用或者與指令執(zhí)行系統(tǒng)、裝置或者設(shè)備結(jié)合使用的程序。可以使用適當(dāng)介質(zhì)(包括但不限于無線、有線、光纖線纜、RF等或者前述各項(xiàng)的任何適當(dāng)組合)來傳輸計(jì)算機(jī)可讀介質(zhì)上體現(xiàn)的程序代碼。可以用一種或者多種編程語目(包括諸如Java、Smalltalk、C++等面向?qū)ο缶幊陶Z言和諸如“C”編程語言或者相似編程語言之類的常規(guī)過程編程語言)的任何組合來編寫用于實(shí)現(xiàn)操作的計(jì)算機(jī)程序代碼。程序代碼可以完全在用戶的計(jì)算機(jī)上、部分在用戶的計(jì)算機(jī)上、作為獨(dú)立軟件包、部分在用戶的計(jì)算機(jī)上并且部分在遠(yuǎn)程計(jì)算機(jī)上或者完全在遠(yuǎn)程計(jì)算機(jī)或者服務(wù)器上執(zhí)行。在后一種場(chǎng)景中,遠(yuǎn)程計(jì)算機(jī)可以通過任何類型的網(wǎng)絡(luò)(包括局域網(wǎng)(LAN)或者廣域網(wǎng)(WAN))連接到用戶的計(jì)算機(jī),或者可以進(jìn)行與外部計(jì)算機(jī)的連接(例如,通過使用因特網(wǎng)服務(wù)提供商的因特網(wǎng))。下文參照方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程示和/或框圖描述實(shí)施例。將理解,流程示和/或框圖的每個(gè)塊以及在流程示和/或框圖中的塊組合可以由計(jì)算機(jī)程序指令實(shí)施??梢韵蛲ㄓ糜?jì)算機(jī)、專用計(jì)算機(jī)或者其它可編程數(shù)據(jù)處理裝置的處理器提供這些計(jì)算機(jī)程序指令以產(chǎn)生機(jī)器,從而使得經(jīng)由計(jì)算機(jī)或者其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行的指令創(chuàng)建用于實(shí)施在流程圖和/或框圖的一個(gè)或者多個(gè)塊中指定的功能/動(dòng)作的裝置。這些計(jì)算機(jī)程序指令也可以存儲(chǔ)于計(jì)算機(jī)可讀介質(zhì)中,該介質(zhì)可以指引計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或者其它設(shè)備以特定方式工作,從而使得存儲(chǔ)于計(jì)算機(jī)可讀介質(zhì)中的指令產(chǎn)生包括如下指令的制造品,這些指令實(shí)施在流程圖和/或框圖的一個(gè)或者多個(gè)塊中指定的功能/動(dòng)作。也可以向計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或者其它設(shè)備上加載計(jì)算機(jī)程序指令(功能描述材料)以使系列操作步驟在計(jì)算機(jī)、其它可編程裝置或者其它設(shè)備上執(zhí)行以產(chǎn)生計(jì)算機(jī)實(shí)施的過程,從而使得在計(jì)算機(jī)或者其它可編程裝置上執(zhí)行的指令提供用于實(shí)施在流程圖和/或框圖的一個(gè)或者多個(gè)塊中指定的功能/動(dòng)作的過程。在以下描述和附圖中闡述某些具體細(xì)節(jié)以提供對(duì)各種實(shí)施例的透徹理解。然而,在以下公開內(nèi)容中未闡述經(jīng)常與計(jì)算和軟件技術(shù)相關(guān)聯(lián)的某些公知細(xì)節(jié)以免不必要地模糊各種實(shí)施例。另外,相關(guān)領(lǐng)域普通技術(shù)人員將理解他們未用下文描述的細(xì)節(jié)中的一個(gè)或者多個(gè)細(xì)節(jié)也可以實(shí)踐其它實(shí)施例。最后,盡管在以下公開內(nèi)容中參照步驟和序列描述各種方法,但是這樣的描述是用于提供對(duì)實(shí)施例的清楚實(shí)現(xiàn),并且步驟和步驟序列不應(yīng)解釋為是為了實(shí)踐實(shí)施例而必需的。下文代之以旨在于提供對(duì)一個(gè)或者多個(gè)實(shí)施例的具體描述而不應(yīng)解釋為限制,任何數(shù)目的變化代之以可以落入由具體實(shí)施方式
后的權(quán)利要求限定的范圍內(nèi)。以下具體實(shí)施方式
將一般遵循如上文闡述的發(fā)明內(nèi)容從而如必需的那樣進(jìn)一步說明和展開各種方面和實(shí)施例的定義。為此,這一具體實(shí)施方式
先闡述圖I中的計(jì)算環(huán)境的示例,該計(jì)算環(huán)境適合實(shí)施與實(shí)施例相關(guān)聯(lián)的軟件和/或硬件技術(shù)。在圖2中圖示了聯(lián)網(wǎng)環(huán)境的實(shí)施例作為基本計(jì)算環(huán)境的擴(kuò)展,以強(qiáng)調(diào)可以跨多個(gè)分立設(shè)備執(zhí)行的那些現(xiàn)代計(jì)算技術(shù)?,F(xiàn)在參照?qǐng)D1,其示出了可以充當(dāng)云計(jì)算節(jié)點(diǎn)的信息操縱系統(tǒng)的實(shí)施例的示意圖。云計(jì)算節(jié)點(diǎn)10僅為適當(dāng)云計(jì)算節(jié)點(diǎn)的一個(gè)示例而并非旨在于暗示關(guān)于這里描述的使用或者功能范圍的任何限制。無論如何,云計(jì)算節(jié)點(diǎn)10能夠?qū)嵤┖?或執(zhí)行在上述章節(jié)I中闡述的功能中的任何功能。在云計(jì)算節(jié)點(diǎn)10中存在可與許多其它通用或者專用計(jì)算系統(tǒng)環(huán)境或者配置一起操作的計(jì)算機(jī)系統(tǒng)/服務(wù)器12。可以適合與計(jì)算機(jī)系統(tǒng)/服務(wù)器12 —起使用的公知計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括但不限于個(gè)人計(jì)算機(jī)系統(tǒng)、服務(wù)器計(jì)算機(jī)系統(tǒng)、瘦客戶端、胖客戶端、手持或者膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)者電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)系統(tǒng)、主機(jī)計(jì)算機(jī)系統(tǒng)和包括任何上述系統(tǒng)或者設(shè)備的分布式云計(jì)算環(huán)境等??梢栽谟捎?jì)算機(jī)系統(tǒng)執(zhí)行的計(jì)算機(jī)系統(tǒng)可執(zhí)行指令(諸如程序模塊)的一般上下文中描述計(jì)算機(jī)系統(tǒng)/服務(wù)器12。一般而言,程序模塊包括執(zhí)行特定任務(wù)或者實(shí)施特定抽象數(shù)據(jù)類型的例程、程序、對(duì)象、部件、邏輯、數(shù)據(jù)結(jié)構(gòu)等??梢栽诜植际皆朴?jì)算環(huán)境(其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行)中實(shí)踐計(jì)算機(jī)系統(tǒng)/服務(wù)器12。在分布式云計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)器存儲(chǔ)設(shè)備的本地和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)兩者中。如圖I中所示,以通用計(jì)算設(shè)備的形式示出了云計(jì)算節(jié)點(diǎn)10中的計(jì)算機(jī)系統(tǒng)/服務(wù)器12。計(jì)算機(jī)系統(tǒng)/服務(wù)器12的部件可以包括但不限于一個(gè)或者多個(gè)處理器或者處理單元16、系統(tǒng)存儲(chǔ)器28和將包括系統(tǒng)存儲(chǔ)器28的各種系統(tǒng)部件耦合到處理器16的總線18??偩€18代表任何若干總線結(jié)構(gòu)類型(包括存儲(chǔ)器總線或者存儲(chǔ)器控制器、外圍總線、加速圖形端口和使用多種總線架構(gòu)中的任何總線架構(gòu)的處理器或者本地總線)中的一個(gè)或者多個(gè)總線結(jié)構(gòu)類型。舉例而言而非限制,這樣的架構(gòu)包括工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)總線、微通道架構(gòu)(MCA)總線、增強(qiáng)型ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)本地總線和外圍部件互連(PCI)總線。、
計(jì)算機(jī)系統(tǒng)/服務(wù)器12通常包括多種計(jì)算機(jī)系統(tǒng)可讀介質(zhì)。這樣的介質(zhì)可以是計(jì)算機(jī)系統(tǒng)/服務(wù)器12可訪問的任何可用介質(zhì),并且它包括易失性和非易失性介質(zhì)、可拆卸和非可拆卸介質(zhì)。系統(tǒng)存儲(chǔ)器28可以包括采取易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì)(諸如隨機(jī)存取存儲(chǔ)器(RAM) 30和/或高速緩存存儲(chǔ)器32)。計(jì)算機(jī)系統(tǒng)/服務(wù)器12還可以包括其它可拆卸/非可拆卸、易失性/非易失性計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅舉例而言,可以提供硬盤驅(qū)動(dòng)器34以用于從非可拆卸、非易失性磁介質(zhì)(未示出并且通常稱為“硬盤”)讀取和向該磁介質(zhì)寫入。雖然未示出,但是可以提供用于從可拆卸、非易失性磁盤(例如“軟盤”)讀取和向該磁盤寫入的磁盤驅(qū)動(dòng)器以及用于從可拆卸、非易失性光盤(諸如⑶-R0M、DVD-R0M或者其它光學(xué)介質(zhì))讀取或者向該光盤寫入的光盤驅(qū)動(dòng)器。在這樣的實(shí)例中,各自可以由一個(gè)或者多個(gè)數(shù)據(jù)介質(zhì)接口連接到總線18。如下文將進(jìn)一步描繪和描述的那樣,存儲(chǔ)器28可以包括具有如下一組(或者至少一個(gè))程序模塊的至少一個(gè)程序產(chǎn)品,該程序模塊被配置成實(shí)現(xiàn)這里描述的功能。具有一組(至少一個(gè))程序模塊42的程序/工具40以及操作系統(tǒng)、一個(gè)或者多 個(gè)應(yīng)用程序、其它程序模塊和程序數(shù)據(jù)可以例如而不限于存儲(chǔ)于存儲(chǔ)器28中。操作系統(tǒng)、一個(gè)或者多個(gè)應(yīng)用程序、其它程序模塊和程序數(shù)據(jù)中的每項(xiàng)或者其某一組合可以包括聯(lián)網(wǎng)環(huán)境的實(shí)現(xiàn)。程序模塊42 —般實(shí)現(xiàn)如這里描述的功能和/或方法。計(jì)算機(jī)系統(tǒng)/服務(wù)器12也可以與諸如鍵盤、指點(diǎn)設(shè)備、顯示器24等一個(gè)或者多個(gè)外部設(shè)備14通信;與讓用戶能夠與計(jì)算機(jī)系統(tǒng)/服務(wù)器12交互的一個(gè)或者多個(gè)設(shè)備通信;和/或與任何如下設(shè)備(例如,網(wǎng)卡、調(diào)制解調(diào)器等)通信,該設(shè)備使計(jì)算機(jī)系統(tǒng)/服務(wù)器12能夠與一個(gè)或者多個(gè)其它計(jì)算設(shè)備通信。這樣的通信可以經(jīng)由I/O接口 22發(fā)生。另夕卜,計(jì)算機(jī)系統(tǒng)/服務(wù)器12可以經(jīng)由網(wǎng)絡(luò)適配器20來與一個(gè)或者多個(gè)網(wǎng)絡(luò)(諸如局域網(wǎng)(LAN)、一般廣域網(wǎng)(WAN)和/或公共網(wǎng)絡(luò)(例如,因特網(wǎng)))通信。如描繪的那樣,網(wǎng)絡(luò)適配器20經(jīng)由總線18與計(jì)算機(jī)系統(tǒng)/服務(wù)器12的其它部件通信。應(yīng)當(dāng)理解,雖然未示出,但是其它硬件和/或軟件部件可以與計(jì)算機(jī)系統(tǒng)/服務(wù)器12結(jié)合使用。示例包括但不限于微代碼、設(shè)備驅(qū)動(dòng)器、冗余處理單元、外部磁盤驅(qū)動(dòng)器陣列、RAID系統(tǒng)、磁帶驅(qū)動(dòng)器和數(shù)據(jù)檔案存儲(chǔ)系統(tǒng)等。圖2提供根據(jù)一個(gè)實(shí)施例的圖I中所示的信息操縱系統(tǒng)環(huán)境的擴(kuò)展,該擴(kuò)展用于例示可以在聯(lián)網(wǎng)環(huán)境中操作的廣泛多種信息操縱系統(tǒng)上執(zhí)行這里描述的方法。信息操縱系統(tǒng)類型的范圍從小型手持設(shè)備(諸如手持計(jì)算機(jī)/移動(dòng)電話210)到大型主機(jī)系統(tǒng)(諸如主機(jī)計(jì)算機(jī)270)。手持計(jì)算機(jī)210的示例包括個(gè)人數(shù)字助理(PDA)。個(gè)人娛樂設(shè)備(諸如MP3播放器、便攜電視和光盤播放器)。信息操縱系統(tǒng)的其它示例包括筆或者寫字板、計(jì)算機(jī)220、膝上型或者筆記本計(jì)算機(jī)230、工作站240、個(gè)人計(jì)算機(jī)系統(tǒng)250和服務(wù)器260。圖2中未個(gè)別示出的其它信息操縱系統(tǒng)類型由信息操縱系統(tǒng)280代表。如圖所示,各種信息操縱系統(tǒng)可以使用計(jì)算機(jī)網(wǎng)絡(luò)200來聯(lián)網(wǎng)在一起??梢杂脕砘ミB各種信息操縱系統(tǒng)的計(jì)算機(jī)網(wǎng)絡(luò)類型包括局域網(wǎng)(LAN)、無線局域網(wǎng)(WLAN)、因特網(wǎng)、公共交換電話網(wǎng)(PSTN)、其它無線網(wǎng)絡(luò)和可以用來互連信息操縱系統(tǒng)的任何其它網(wǎng)絡(luò)拓?fù)?。許多信息操縱系統(tǒng)包括非易失性數(shù)據(jù)存儲(chǔ)庫(諸如硬盤驅(qū)動(dòng)器和/或非易失性存儲(chǔ)器)。圖2中所示的信息操縱系統(tǒng)中的一些信息操縱系統(tǒng)描繪單獨(dú)非易失性數(shù)據(jù)存儲(chǔ)庫(服務(wù)器260利用非易失性數(shù)據(jù)存儲(chǔ)庫265,主機(jī)計(jì)算機(jī)270利用非易失性數(shù)據(jù)存儲(chǔ)庫275,并且信息操縱系統(tǒng)280利用非易失性數(shù)據(jù)存儲(chǔ)庫285)。非易失性數(shù)據(jù)存儲(chǔ)庫可以是各種信息操縱系統(tǒng)外部的部件或者可以在信息操縱系統(tǒng)之一內(nèi)部。此外??梢允褂酶鞣N技術(shù)(諸如將可拆卸非易失性存儲(chǔ)設(shè)備145連接到信息操縱系統(tǒng)的USB端口或者其它連接器)在兩個(gè)或者更多信息操縱系統(tǒng)之間共享可拆卸非易失性存儲(chǔ)設(shè)備145。此外,計(jì)算機(jī)網(wǎng)絡(luò)200可以用來將各種信息操縱系統(tǒng)連接到包括云計(jì)算環(huán)境205和任何數(shù)目的其它云計(jì)算環(huán)境的云計(jì)算環(huán)境201。如圖3和圖4中所示,云計(jì)算環(huán)境300包括一起工作以提供云計(jì)算環(huán)境的多個(gè)聯(lián)網(wǎng)信息操縱系統(tǒng)(節(jié)點(diǎn))。云計(jì)算環(huán)境201各自提供圖4中所示的抽象層。抽象層包括硬件和軟件層400、虛擬化層410、管理層420和工作負(fù)荷層430。在各種層400-430內(nèi)的部件可以從一個(gè)云計(jì)算環(huán)境到另一云計(jì)算環(huán)境變化。在圖4中示出了在各種層內(nèi)發(fā)現(xiàn)的部件的示例?,F(xiàn)在參照?qǐng)D3,描繪了例示性云計(jì)算環(huán)境201。如圖所示,云計(jì)算環(huán)境201包括計(jì)算設(shè)備(諸如例如個(gè)人數(shù)字助理(PDA)或者蜂窩電話210、臺(tái)式計(jì)算機(jī)250、膝上型計(jì)算機(jī)290、汽車計(jì)算機(jī)系統(tǒng)230)與之通信的一個(gè)或者多個(gè)云計(jì)算節(jié)點(diǎn)10以及圖2中所示的其它類型的客戶端設(shè)備。這允許從云計(jì)算環(huán)境201提供基礎(chǔ)結(jié)構(gòu)、平臺(tái)和/或軟件作為(如上文在章節(jié)I中描述的)服務(wù)以便無需每個(gè)客戶端單獨(dú)維護(hù)這樣的資源。理解圖2和圖3中 所示的計(jì)算設(shè)備類型旨在于僅是例示性的,并且云計(jì)算環(huán)境201可以通過任何類型的網(wǎng)絡(luò)和/或網(wǎng)絡(luò)/可尋址連接(例如,使用web瀏覽器)來與任何類型的計(jì)算機(jī)化設(shè)備通信。如本發(fā)明人這里已經(jīng)認(rèn)識(shí)到的那樣,用于不同云(或者管理程序)的源和目的地虛擬映像可以具有客戶OS和/或中間件的不兼容硬件架構(gòu)、高級(jí)程序技術(shù)、類型和/或版本。在虛擬映像中的盤分區(qū)可以是云(或者管理程序)提供商特有的。直接復(fù)制具有少量定制的內(nèi)容可能不工作。例如,Amazon EC2支持用于x86硬件的XEN虛擬映像,而具有p系列服務(wù)器的IMB云可能僅支持System p映像。本發(fā)明人這里也已經(jīng)認(rèn)識(shí)到在一些情形中由于API差異而不能向移植的解決方案添加云(或者管理程序)特有的配置(諸如防火墻和塊存儲(chǔ)卷)。例如,Amazon EC2提供用于將塊存儲(chǔ)卷附著到運(yùn)行實(shí)例的配置選項(xiàng),但是基于VMware的專用云可以未提供該選項(xiàng)。發(fā)明人這里也已經(jīng)認(rèn)識(shí)到包括多個(gè)虛擬映像的解決方案可能需要僅部分移植到不同云(或者管理程序)。例如,在虛擬映像中利用商業(yè)邏輯層而在另一虛擬映像中利用數(shù)據(jù)庫層的解決方案可以由于數(shù)據(jù)隱私問題而僅需向公共云移植商業(yè)邏輯層虛擬映像并且數(shù)據(jù)庫層虛擬映像保留于專用云中。然而,發(fā)明人已經(jīng)認(rèn)識(shí)到在一些情形中可能希望向不同云(或者管理程序)移植整個(gè)解決方案。發(fā)明人這里也已經(jīng)認(rèn)識(shí)到可能希望在向不同云(或者管理程序)移植時(shí)在供應(yīng)工作流中標(biāo)識(shí)和/或可視化改變、添加和/或刪除的解決方案部件/配置以及改變、添加和/或刪除的對(duì)應(yīng)部署操作。發(fā)明人也已經(jīng)認(rèn)識(shí)到可能希望在用于源模型的補(bǔ)丁中存儲(chǔ)這些改變、添加和/或刪除。例如,從基于VMware的專用云向Amazon EC2移植WebSphere應(yīng)用需要從基本VMware映像改變成具有WebSphere和用于部署Amazon機(jī)器映像(AMI)而不是VMware映像的改變的操作的基本AMI。如本領(lǐng)域技術(shù)人員也已經(jīng)認(rèn)識(shí)到的那樣,可能希望向多個(gè)云供應(yīng)解決方案。例如,Amazon EC2和IBM Development at Test Cloud二者提供用于實(shí)例化映像并且安全地遠(yuǎn)程連接到運(yùn)行虛擬機(jī)而且遠(yuǎn)程執(zhí)行解決方案供應(yīng)任務(wù)的API?,F(xiàn)在參照?qǐng)D4,示出了由云計(jì)算環(huán)境201 (圖3)提供的一組功能抽象層400的一個(gè)實(shí)施例。應(yīng)當(dāng)預(yù)先理解圖4中所示的部件、層和功能旨在于僅是例示性的并且實(shí)施例不限于此。如圖所示,提供以下層和對(duì)應(yīng)功能硬件和軟件層410包括硬件和軟件部件。硬件部件的示例包括主機(jī)(在一個(gè)示例中為IBM zSeries 系統(tǒng));基于Risc(精簡(jiǎn)指令集計(jì)算機(jī))架構(gòu)的服務(wù)器(在一個(gè)示例中為IBM pSeries 系統(tǒng);ibm xSeries 系統(tǒng);皿BladeCenter 系統(tǒng));存
儲(chǔ)設(shè)備;網(wǎng)絡(luò)和聯(lián)網(wǎng)部件。軟件部件的示例包括網(wǎng)絡(luò)應(yīng)用服務(wù)器軟件(在一個(gè)示例中為ibm WebSphere 應(yīng)用服務(wù)器軟件);以及數(shù)據(jù)軟件(在一個(gè)示例中為IBMDB2 數(shù)據(jù)庫軟件)。(IBM、zSeries、pSeries、xSeries、BaldeCenter> WebSphere 和 DB2 是國(guó)際商業(yè)機(jī)器公司在美國(guó)、其它國(guó)家或者二者的商標(biāo)。)、虛擬化層420提供如下抽象層,可以從該層提供以下虛擬實(shí)體虛擬服務(wù)器;虛擬存儲(chǔ);虛擬網(wǎng)絡(luò)(包括虛擬專用網(wǎng)絡(luò));虛擬應(yīng)用;以及虛擬客戶端。管理層430提供下文描述的功能。資源供應(yīng)提供動(dòng)態(tài)采辦用來在云計(jì)算環(huán)境內(nèi)執(zhí)行任務(wù)的計(jì)算資源和其它資源。計(jì)量和定價(jià)提供在云計(jì)算環(huán)境內(nèi)利用資源時(shí)的成本跟蹤以及針對(duì)這些資源的消費(fèi)的開賬單或者開發(fā)票。在一個(gè)示例中,這些資源可以包括應(yīng)用軟件許可。安全性提供針對(duì)用戶和任務(wù)二者的標(biāo)識(shí)驗(yàn)證以及針對(duì)數(shù)據(jù)和其它資源的保護(hù)。用戶門戶為用戶和系統(tǒng)管理員二者提供對(duì)云計(jì)算環(huán)境的訪問。服務(wù)水平管理提供云計(jì)算資源分配和管理,從而使得滿足必需的服務(wù)水平。服務(wù)水平協(xié)議規(guī)劃和實(shí)現(xiàn)提供對(duì)根據(jù)SLA預(yù)期將來需要的云計(jì)算資源的預(yù)先安排和采辦。工作負(fù)荷層440提供云計(jì)算環(huán)境被用于的功能??梢詮倪@一層提供的工作負(fù)荷和功能的示例包括映射和導(dǎo)航;軟件開發(fā)和生命周期管理;虛擬教室教育遞送;數(shù)據(jù)分析處理;以及事務(wù)處理;如上文提到的那樣,關(guān)于圖4描述的所有前述示例僅為例示性的并且不限于這些示例。圖5是用來從源向目標(biāo)平臺(tái)移植解決方案的存儲(chǔ)于資產(chǎn)庫中的源和目標(biāo)拓?fù)淠P鸵约白詣?dòng)化步驟模型的實(shí)施例的圖。在一個(gè)實(shí)施例中,“解決方案”是用來滿足某些功能和非功能要求的包括一個(gè)或者多個(gè)軟件應(yīng)用的軟件解決方案,該軟件應(yīng)用由一個(gè)或者多個(gè)基于硬件的計(jì)算機(jī)系統(tǒng)執(zhí)行。軟件解決方案包括一個(gè)或者多個(gè)軟件應(yīng)用及其有關(guān)配置參數(shù)。在一個(gè)實(shí)施例中,解決方案是“交鑰匙(turn-key) ”解決方案和“ 一站式(one-stop)”方式。解決方案可以包括多個(gè)應(yīng)用并且可以包括隸屬于應(yīng)用的配置信息。解決方案可以在性質(zhì)上為復(fù)合,因?yàn)樗梢园ǘ鄠€(gè)虛擬映像。解決方案的部分可以在一個(gè)虛擬映像中,并且解決方案的另一部分可以在另一虛擬映像中。使用資產(chǎn)庫500作為用于拓?fù)浜妥詣?dòng)化數(shù)據(jù)的倉庫。拓?fù)鋽?shù)據(jù)描述基于云的解決方案的部件及其關(guān)系。資產(chǎn)庫500用來存儲(chǔ)用于任何數(shù)目的拓?fù)淠P?10的數(shù)據(jù)。在一個(gè)實(shí)施例中,資產(chǎn)庫500存儲(chǔ)于從計(jì)算機(jī)系統(tǒng)可訪問的持久存儲(chǔ)介質(zhì)(諸如非易失性存儲(chǔ)設(shè)備)中。每個(gè)拓?fù)淠P?10描述在基于云的解決方案中使用的數(shù)據(jù)。當(dāng)先向特定云環(huán)境(“目標(biāo)云”)部署基于云的解決方案(“目標(biāo)云拓?fù)洹?時(shí),可以搜索資產(chǎn)庫500中存儲(chǔ)的資產(chǎn)以便標(biāo)識(shí)資產(chǎn)庫中已經(jīng)存儲(chǔ)的拓?fù)?“源云拓?fù)洹?,該源云拓?fù)淇梢杂脕硗ㄟ^重用各種源云拓?fù)淠P蛦呜黹_發(fā)目標(biāo)云拓?fù)洹T谝粋€(gè)實(shí)施例中,這發(fā)生于從源云(例如,由第一云提供商提供的云)向目標(biāo)云(例如,由第二云提供商提供的云)移植解決方案時(shí)。源平臺(tái)的一個(gè)實(shí)施例將是其中已經(jīng)部署了解決方案的云(例如,Amazon EC2 云)。目標(biāo)平臺(tái)的一個(gè)實(shí)施例可以是解決方案被移植到的另一個(gè)云(例如,IBM SmartBusiness Development and Test Cloud)。源平臺(tái)的一個(gè)實(shí)施例可以是管理程序(例如,VMware管理程序),并且對(duì)應(yīng)的目標(biāo)平臺(tái)的一個(gè)實(shí)施例可以是另一管理程序(例如,KVM管理程序)。源平臺(tái)的一個(gè)實(shí)施例可以是具有盤分區(qū)的物理計(jì)算機(jī)系統(tǒng)(例如,IBMPSeries服務(wù)器),并且對(duì)應(yīng)的目標(biāo)平臺(tái)的一個(gè)實(shí)施例可以是另一物理計(jì)算機(jī)系統(tǒng)(例如,Sun Microsystems服務(wù)器)。此外,平臺(tái)可以被混合和匹配。例如,源平臺(tái)的一個(gè)實(shí)施例可以是管理程序,并且對(duì)應(yīng)的目標(biāo)平臺(tái)的一個(gè)實(shí)施例可以是云。盡管對(duì)應(yīng)于許多拓?fù)淠P偷哪P蛦卧梢源鎯?chǔ)于資產(chǎn)庫500中,但是在圖5中示出了兩個(gè)一源云拓?fù)淠P蛦卧?20和目標(biāo)云拓?fù)淠P蛦卧?60。源云拓?fù)淠P秃湍繕?biāo)云拓?fù)淠P桶ǜ鞣N模型單元(諸如元數(shù)據(jù)(分別為522和562)、證書和服務(wù)端點(diǎn)數(shù)據(jù)(分別為524和564)以及配置參數(shù)(分別為526和566))。模型單元可以用來代表應(yīng)用、中間 件、客戶操作系統(tǒng)、虛擬映像、配置參數(shù)和其它解決方案部件。每個(gè)模型單元可以包括元數(shù)據(jù)(諸如虛擬映像類型、id、配置參數(shù)、軟件版本、訪問證書、防火墻規(guī)則等)。用于相應(yīng)拓?fù)淠P偷脑獢?shù)據(jù)包括多個(gè)元數(shù)據(jù)項(xiàng)(諸如虛擬映像部署參數(shù)、關(guān)于拓?fù)渲邪ǖ能浖脑獢?shù)據(jù)、關(guān)于拓?fù)渲邪ǖ闹虚g件的元數(shù)據(jù)和關(guān)于拓?fù)渲邪ǖ目蛻舨僮飨到y(tǒng)的元數(shù)據(jù))。如圖所示,自動(dòng)化步驟模型515也存儲(chǔ)于資產(chǎn)庫500中并且與拓?fù)淠P蛦卧嚓P(guān)聯(lián)。顧名思義,自動(dòng)化步驟模型描述用來部署拓?fù)渲邪ǖ母鞣N拓?fù)淠P蛦卧淖詣?dòng)化步驟。源云自動(dòng)化步驟模型530包括用來部署源云拓?fù)淠P蛦卧?20的自動(dòng)化步驟,而目標(biāo)云自動(dòng)化步驟模型570包括用來部署目標(biāo)云拓?fù)淠P蛦卧?60的自動(dòng)化步驟。當(dāng)開發(fā)目標(biāo)云拓?fù)淠P蛦卧?60和目標(biāo)云自動(dòng)化步驟模型570時(shí),將源云拓?fù)淠P蛦卧?20與目標(biāo)云拓?fù)淠P蛦卧g的差異與存在于目標(biāo)拓?fù)渲械遣淮嬖谟谠赐負(fù)渲械男履P蛦卧黄饦?biāo)識(shí)。此外,差異包括存在于源拓?fù)渲械遣淮嬖谟谀繕?biāo)拓?fù)渲械娜コ哪P蛦卧?。搜索資產(chǎn)庫500以便發(fā)現(xiàn)用于目標(biāo)拓?fù)淠P椭袠?biāo)識(shí)的不同的和新的模型單元的自動(dòng)化步驟模型。差異可以存儲(chǔ)于資產(chǎn)庫500中以作為補(bǔ)丁并且可以應(yīng)用于相似源拓?fù)淠P鸵詣?chuàng)建目標(biāo)拓?fù)淠P?。一個(gè)或者多個(gè)處理器可以用來在與源平臺(tái)(例如,源云、源管理程序等)相關(guān)聯(lián)的源拓?fù)淠P秃团c目標(biāo)平臺(tái)(例如,目標(biāo)云、目標(biāo)管理程序等)相關(guān)聯(lián)的目標(biāo)拓?fù)渲g執(zhí)行差異化。拓?fù)淠P桶ㄍ負(fù)淠P蛦卧?。拓?fù)淠P蛦卧梢园▎卧獏?shù)或者屬性并且也可以包括類型。類型可以例如是虛擬映像、中間件、操作系統(tǒng)、防火墻或者本領(lǐng)域中已知的任何其它類型。管理程序是可以在操作系統(tǒng)以上運(yùn)行的軟件。管理程序可以在操作系統(tǒng)以下運(yùn)行。管理程序可以允許不同操作系統(tǒng)或者單個(gè)操作系統(tǒng)的不同實(shí)例同時(shí)在系統(tǒng)上運(yùn)行。換言之,管理程序可以允許主機(jī)系統(tǒng)托管多個(gè)客戶機(jī)器。這一差異化產(chǎn)生包括新的、改變的和去除的模型單元的拓?fù)洳町?。拓?fù)洳町惪梢允菍?duì)應(yīng)于解決方案的各種如下部件的拓?fù)淠P蛦卧募?,這些部件相對(duì)于源拓?fù)淠P驮谀繕?biāo)拓?fù)淠P椭胁煌?。?dāng)從源平臺(tái)向目標(biāo)平臺(tái)移植解決方案時(shí),可能需要改變拓?fù)淠P蛦卧募?。從資產(chǎn)庫500獲得如下集合,該集合包括工作流模型(例如,存儲(chǔ)于自動(dòng)化步驟模型515中的自動(dòng)化步驟模型)中的至少一個(gè)操作。工作流模型中的操作是可以執(zhí)行的動(dòng)作。例如,工作流模型中的操作可以用來在sMash應(yīng)用服務(wù)器以上安裝sMash應(yīng)用。通過另一示例,工作流模型中的操作可以用來實(shí)例化虛擬映像。每個(gè)操作與源拓?fù)淠P秃湍繕?biāo)拓?fù)淠P椭g的拓?fù)洳町愔械哪P蛦卧幌嚓P(guān)聯(lián)。在一個(gè)實(shí)施例中,通過使用一個(gè)或者多個(gè)處理器來執(zhí)行獲得的操作中的一個(gè)或者多個(gè)操作來部署完整解決方案(例如,從源拓?fù)湎蚰繕?biāo)拓?fù)湟浦驳慕鉀Q方案)。在一個(gè)實(shí)施例中,通過使用一個(gè)或者多個(gè)處理器執(zhí)行獲得的操作中的一個(gè)或者多個(gè)操作從源拓?fù)湎蚰繕?biāo)拓?fù)湟浦步鉀Q方案的部分。解決方案的所部署的部分包括與目標(biāo)平臺(tái)(例如,目標(biāo)云590、目標(biāo)管理程序等)兼容的目標(biāo)映像。在一個(gè)實(shí)施例中,兼容性源于諸如管理程序技術(shù)、硬件架構(gòu)、操作系統(tǒng)版本、中間件版本、在不同云中可用的API (諸如配置防火墻和VPN)等多種原因。在一個(gè)實(shí)施例中,不兼容是由于上文討論的一個(gè)或者多個(gè)部件從源平臺(tái)到目標(biāo)平臺(tái)不兼容的各種相同原因。如圖所示,源部署工作流575操作以向源云580部署解決方案。該部署造成在源云中加載虛擬映像582并且向運(yùn)行中間件映像實(shí)例部署應(yīng)用550。類似地,目標(biāo)部署工作流 585操作以向目標(biāo)云590部署解決方案。該部署造成在目標(biāo)云中加載虛擬映像592并且向運(yùn)行中間件映像實(shí)例部署應(yīng)用550。注意,向源云580和目標(biāo)云590 二者部署共同應(yīng)用550。在一個(gè)實(shí)施例中,應(yīng)用550是獨(dú)立于平臺(tái)的應(yīng)用(諸如用獨(dú)立于平臺(tái)的計(jì)算機(jī)語言(諸如在依賴于平臺(tái)的“虛擬機(jī)”上運(yùn)行的Java編程語言)編寫的應(yīng)用)??梢酝ㄟ^使用虛擬映像模型單元中的元數(shù)據(jù)和它的包含在目標(biāo)拓?fù)淠P椭械膯卧獊順?biāo)識(shí)目標(biāo)映像??梢允褂眠@一元數(shù)據(jù)作為輸入以在元數(shù)據(jù)中搜索目標(biāo)云中的所有已知虛擬映像。所有這樣的元數(shù)據(jù)可以存儲(chǔ)于資產(chǎn)庫中??梢詷?biāo)識(shí)并且向目標(biāo)平臺(tái)(云)部署目標(biāo)映像,從而使得應(yīng)用可以部署于運(yùn)行目標(biāo)映像的目標(biāo)平臺(tái)上。在一個(gè)實(shí)施例中,目標(biāo)映像包括操作系統(tǒng)和如下中間件(例如虛擬機(jī)),該中間件提供適合應(yīng)用進(jìn)行操作的目標(biāo)環(huán)境。以這一方式,可以向具有在目標(biāo)拓?fù)淠P椭忻枋龅南嗨颇P蛦卧哪繕?biāo)云移植和部署當(dāng)前運(yùn)行在源云中的并且在源拓?fù)淠P椭忻枋龅慕鉀Q方案。圖6是示出了根據(jù)一個(gè)實(shí)施例的如下步驟的流程圖,采取這些步驟以利用拓?fù)淠P蛦卧园l(fā)現(xiàn)在源拓?fù)淠P团c目標(biāo)拓?fù)淠P椭g的共性和差異以便生成部署工作流。共性可以是對(duì)應(yīng)于解決方案的如下各種部件的拓?fù)淠P蛦卧募希@些部件相對(duì)于源拓?fù)淠P驮谀繕?biāo)拓?fù)淠P椭邢嗤?。共性的示例可以是在與目標(biāo)平臺(tái)相關(guān)聯(lián)的模型單元中代表的虛擬映像類型可以與在與源平臺(tái)相關(guān)聯(lián)的模型單元中代表的虛擬映像類型相同。諸如當(dāng)類型對(duì)于兩個(gè)模型單元而言相同、但是某一其它參數(shù)(諸如例如映像標(biāo)識(shí)符)當(dāng)與和源拓?fù)淠P拖嚓P(guān)聯(lián)的模型單元比較時(shí)在與目標(biāo)拓?fù)淠P拖嚓P(guān)聯(lián)的模型單元中不同時(shí),共性可以在性質(zhì)上為部分。諸如當(dāng)兩個(gè)拓?fù)淠P蛦卧乃袇?shù)相同并且不存在任何不同的參數(shù)時(shí),共性可以在性質(zhì)上為全部。如果共性在性質(zhì)上為全部,則當(dāng)從源平臺(tái)向目標(biāo)平臺(tái)移植解決方案時(shí)可以無需改變相關(guān)聯(lián)的部署操作和解決方案部件。如果共性在性質(zhì)上為部分,則這些可以視為差異或者它們可以視為完全共同。差異可以是對(duì)應(yīng)于解決方案的如下各種部件的拓?fù)淠P蛦卧募希@些部件相對(duì)于源拓?fù)淠P驮谀繕?biāo)拓?fù)淠P椭胁煌?。差異的示例可以是在與目標(biāo)平臺(tái)相關(guān)聯(lián)的模型單元中代表的虛擬映像類型可以不同于在與源平臺(tái)相關(guān)聯(lián)的模型單元中代表的虛擬映像類型。如果存在差異,則當(dāng)從源平臺(tái)向目標(biāo)平臺(tái)移植解決方案時(shí)可能需要改變相關(guān)聯(lián)的部署操作和解決方案部件。處理始于600,在步驟610,創(chuàng)建并且在資產(chǎn)庫500中存儲(chǔ)源拓?fù)淠P蛦卧屯負(fù)淠P?。在步驟620,針對(duì)在步驟610中為源拓?fù)淠P蛣?chuàng)建的一些拓?fù)淠P蛦卧獎(jiǎng)?chuàng)建自動(dòng)化步驟模型并且也在資產(chǎn)庫500中存儲(chǔ)這些自動(dòng)化模型。在步驟625,使用在步驟610和620中創(chuàng)建的模型(拓?fù)浜妥詣?dòng)化)以生成用于源云580的部署工作流628。步驟630和640類似于步驟610和620,然而,步驟630和640涉及不同(目標(biāo))云。在步驟630,創(chuàng)建并且在資產(chǎn)庫500中存儲(chǔ)目標(biāo)拓?fù)淠P蛦卧屯負(fù)淠P?。這些目標(biāo)拓?fù)淠P蛦卧屯負(fù)淠P捅辉O(shè)計(jì)成部署在源云上部署的相同解決方案,然而,目標(biāo)拓?fù)淠P蛦卧屯負(fù)淠P捅辉O(shè)計(jì)成在不同“目標(biāo)”云上運(yùn)行解決方案。在步驟640,針對(duì)在步驟630中為目標(biāo)拓?fù)淠P蛣?chuàng)建的一些拓?fù)淠P蛦卧獎(jiǎng)?chuàng)建自動(dòng)化步驟模型并且也在資產(chǎn)庫500中存儲(chǔ)這些自動(dòng)化模型。在步驟650,從資產(chǎn)庫500讀取并且比較源拓?fù)淠P秃湍繕?biāo)拓?fù)淠P鸵员銟?biāo)識(shí)模 型之間的差異。這些差異可以包括改變的、新的或者去除的單元。改變的模型單元是存在于源模型和目標(biāo)模型二者中、但是具有不同參數(shù)或者子類型(例如,源拓?fù)渥宇愋偷奶摂M映像不同于目標(biāo)拓?fù)渥宇愋偷奶摂M映像)的那些單元。參數(shù)差異可以包括中間件版本。新模型單元是不存在于源拓?fù)渲械窍蚰繕?biāo)拓?fù)涮砑拥哪切﹩卧?例如,如下拓?fù)淠P蛦卧?,無需該拓?fù)淠P蛦卧獊硐蛟丛撇渴鸾鉀Q方案、但是需要該拓?fù)淠P蛦卧员阆蚰繕?biāo)云部署解決方案)。去除的模型單元是在源拓?fù)渲?、但是不存在于目?biāo)拓?fù)渲械哪P蛦卧T诓襟E660,在資產(chǎn)庫500中搜索對(duì)應(yīng)于標(biāo)識(shí)的改變的和新的單元的自動(dòng)化步驟模型。在步驟660中發(fā)現(xiàn)的自動(dòng)化步驟是存儲(chǔ)于資產(chǎn)庫500中的自動(dòng)化步驟模型。例如,如果標(biāo)識(shí)了新的或者改變的模型單元,則存儲(chǔ)于資產(chǎn)庫中的如下不同拓?fù)淇赡芤呀?jīng)存在,該拓?fù)鋵?duì)應(yīng)于標(biāo)識(shí)的新的或者改變的模型單元。此外,當(dāng)?shù)谝淮斡龅侥P蛦卧獣r(shí),可以針對(duì)遇到的模型單元開發(fā)并且在資產(chǎn)庫500中存儲(chǔ)自動(dòng)化步驟模型,從而使得當(dāng)步驟660操作時(shí)將發(fā)現(xiàn)它。在步驟670,使用在步驟660中(為新的/改變的模型單元)標(biāo)識(shí)的自動(dòng)化步驟模型和用來在步驟625中生成用于源云的部署工作流的一些步驟來生成用于目標(biāo)云590的部署工作流675。注意,從源工作流模型丟棄用于去除的單元的部署操作。在步驟680,部署工作流675和628由部署引擎690執(zhí)行從而造成在源云580中運(yùn)行解決方案的實(shí)例582并且在目標(biāo)云590中運(yùn)行解決方案的實(shí)例592。在一個(gè)實(shí)施例中,通過向部署引擎690傳輸工作流模型中包括的操作來執(zhí)行部署工作流的執(zhí)行。部署引擎690可以是在670執(zhí)行生成步驟的相同計(jì)算機(jī)系統(tǒng)上的軟件進(jìn)程或者可以在經(jīng)由計(jì)算機(jī)網(wǎng)絡(luò)連接的不同計(jì)算機(jī)系統(tǒng)上。如果使用相同計(jì)算機(jī)系統(tǒng),則可以使用內(nèi)部操作(例如,經(jīng)由子例程調(diào)用、經(jīng)由執(zhí)行內(nèi)嵌代碼(該內(nèi)嵌代碼操縱部署操作)、經(jīng)由外部程序調(diào)用等)來傳輸操作。如果使用不同計(jì)算機(jī)系統(tǒng),則可以經(jīng)由通過網(wǎng)絡(luò)(諸如專用計(jì)算機(jī)網(wǎng)絡(luò)(例如,LAN)和/或公共網(wǎng)絡(luò)(例如,因特網(wǎng)、公共交換電話網(wǎng)絡(luò)(PSTN)等))的傳輸向其它計(jì)算機(jī)系統(tǒng)傳輸操作。盡管示出了一個(gè)部署引擎,但是可以使用不同部署引擎。在一個(gè)實(shí)施例中,自動(dòng)化步驟模型提供用于如下步驟的通用表示,這些步驟用來對(duì)各種模型單元的部署進(jìn)行自動(dòng)化,而生成的部署工作流¢28和675)包括設(shè)計(jì)成由部署引擎690讀取和處理的功能描述材料(例如,腳本等)。圖7是示出了自動(dòng)化步驟模型的一個(gè)實(shí)施例的圖,這些自動(dòng)化步驟模型用來創(chuàng)建向云環(huán)境部署的示例部署工作流。拓?fù)淠P?00包括拓?fù)淠P蛦卧?。自?dòng)化步驟模型710對(duì)應(yīng)于一些拓?fù)淠P蛦卧2渴鸸ぷ髁?20根據(jù)自動(dòng)化步驟模型710來生成并且提供用于部署解決方案的多個(gè)操作。圖7示出了包括公共目標(biāo)云760和專用目標(biāo)云780的混合解決方案的示例。公共目標(biāo)云功能的示例將是從網(wǎng)絡(luò)(諸如因特網(wǎng))可公共訪問的客戶前端操作。專用目標(biāo)云功能的示例將是操縱數(shù)據(jù)庫和LDAP操作的后端服務(wù)器應(yīng)用。在所示示例中,部署工作流包括操作725至750。操作725向公共目標(biāo)云760和專用目標(biāo)云780實(shí)例化特定機(jī)器映像。這造成在公共目標(biāo)云780上實(shí)例化具有客戶OS 768的云機(jī)器映像。在一個(gè)實(shí)施例中,操作725也在專用目標(biāo)云780上實(shí)例化云機(jī)器映像782,而在一個(gè)實(shí)施例中,云機(jī)器映像782是由多個(gè)公共目標(biāo)云所利用的共同后端服務(wù)器。在專用目標(biāo)云780上實(shí)例化和運(yùn)行的云機(jī)器映像782包括客戶操作系統(tǒng)784,該操作系統(tǒng)可以是與在公共目標(biāo)云上運(yùn)行的操作系統(tǒng)不同的操作系統(tǒng) 。云機(jī)器映像782也可以包括數(shù)據(jù)庫應(yīng)用在其之下操作的數(shù)據(jù)庫服務(wù)器786 (例如,IBM DB2 數(shù)據(jù)庫服務(wù)器等)。云機(jī)器映像782也可以包括LDAP應(yīng)用在其之下操作的LDAP (輕量級(jí)目錄訪問協(xié)議)服務(wù)器788。操作730在公共目標(biāo)云上實(shí)例化的映像上安裝中間件應(yīng)用(諸如IBM Websphere sMash 中間件應(yīng)用)。這造成應(yīng)用服務(wù)器772在具有客戶OS 768的云機(jī)器映像上運(yùn)行。此外,操作730可以安裝應(yīng)用服務(wù)器上運(yùn)行的獨(dú)立于平臺(tái)的應(yīng)用774。如圖所示,具有客戶OS 768的云機(jī)器映像包括IP表規(guī)則和VPN配置770,并且公共目標(biāo)云包括云的彈性IP地址762、云的安全組764和云的彈性塊存儲(chǔ)766。在一個(gè)云環(huán)境中,操作735運(yùn)行以配置彈性IP地址,從而產(chǎn)生云的彈性IP地址762的配置。在這一云環(huán)境中,操作740運(yùn)行以配置云的安全組764,并且操作745運(yùn)行以配置云的彈性塊存儲(chǔ)766。操作750運(yùn)行以配置VPN(虛擬專用網(wǎng)絡(luò))。操作750的結(jié)果是對(duì)在實(shí)例化的映像768中運(yùn)行的IP表規(guī)則和VPN配置770的更新,該映像在公共目標(biāo)云760與專用目標(biāo)云780之間建立虛擬專用網(wǎng)絡(luò)。圖8是示出了根據(jù)一個(gè)實(shí)施例的為了創(chuàng)建拓?fù)淠P投扇〉牟襟E的流程圖。處理始于800,在步驟802,選擇中間件單元(諸如Java虛擬機(jī)(例如,IBM WebSphere sMash應(yīng)用等))。中間件單元一般獨(dú)立于平臺(tái)。拓?fù)淠P?04包括所選中間件運(yùn)行時(shí)環(huán)境810置于其中的虛擬裝置806。也選擇獨(dú)立于平臺(tái)的應(yīng)用808 (諸如Java應(yīng)用)并且將該應(yīng)用與中間件運(yùn)行時(shí)環(huán)境810相關(guān)聯(lián)。在步驟805,為云特有的基本虛擬映像添加拓?fù)淠P蛦卧?。繼而在虛擬裝置806中包括機(jī)器映像812。在這一示例中,機(jī)器映像812包括客戶操作系統(tǒng)814 (例如,Linux操作系統(tǒng)等)、服務(wù)器軟件816和云映像實(shí)例818??梢栽谟糜谠频囊粋€(gè)或者多個(gè)云特有的映像庫中發(fā)現(xiàn)用于與該云兼容的現(xiàn)有虛擬映像的元數(shù)據(jù)。這樣的元數(shù)據(jù)可以包括對(duì)預(yù)先安裝于現(xiàn)有虛擬映像中的軟件部件的描述。虛擬裝置單元中的元數(shù)據(jù)和它的包括在目標(biāo)拓?fù)淠P椭械膯卧梢悦枋鲇糜诮鉀Q方案的可以發(fā)現(xiàn)預(yù)先安裝于云特有的基本虛擬映像中的必備軟件部件。虛擬裝置單元中的元數(shù)據(jù)可以用來搜索映像庫中的元數(shù)據(jù)以發(fā)現(xiàn)用于向目標(biāo)云部署解決方案的適當(dāng)基本虛擬映像。如果標(biāo)識(shí)為搜索結(jié)果的虛擬映像不包括所有必備軟件部件或者必備軟件部件的正確版本,則可以確定最接近匹配基本虛擬映像。繼而可以通過添加、更新或者去除虛擬映像中的軟件部件來增強(qiáng)這樣的最接近匹配基本虛擬映像作為部署工作流的部分。在步驟820,在一個(gè)實(shí)施例中添加云特有的配置設(shè)置822和824 (諸如彈性IP地址、卷信息、安全組設(shè)置等)。在步驟826,將應(yīng)用服務(wù)器(中間件運(yùn)行時(shí)環(huán)境810)鏈接到應(yīng)用單元(獨(dú)立于平臺(tái)的應(yīng)用808)。在步驟828,操作系統(tǒng)特有的配置設(shè)置被添加并且與客戶操作系統(tǒng)814相關(guān)聯(lián)。這些操作系統(tǒng)特有的配置設(shè)置可以包括HTTP設(shè)置、網(wǎng)絡(luò)設(shè)置、防火墻設(shè)置等。在步驟832,為如下目標(biāo)云添加一個(gè)或者多個(gè)虛擬裝置(外部服務(wù)單元834),該目標(biāo)云托管從基于云的虛擬裝置外部提供的必備應(yīng)用服務(wù)(諸如數(shù)據(jù)庫服務(wù)和LDAP服務(wù))。在步驟836,在應(yīng)用單元(應(yīng)用808)與在步驟832中添加的必備外部服務(wù)之間配置應(yīng)用通信鏈路。在步驟838,在不同模型單元之間指定部署順序約束。步驟838允許對(duì)用來部署解決方案的自動(dòng)化步驟的定序。在步驟840,在資產(chǎn)庫500中存儲(chǔ)拓?fù)淠P?04 (包括所有拓?fù)淠P蛦卧椭付ǖ牟渴痦樞?。在一個(gè)實(shí)施例中,資產(chǎn)庫500由資產(chǎn)管理器軟件應(yīng)用850管理。在預(yù)定義過程860,存儲(chǔ)的拓?fù)淠P秃椭付ǖ牟渴鸩襟E用來創(chuàng)建也存儲(chǔ)于資產(chǎn)庫850中的自動(dòng)化模型(關(guān)于創(chuàng)建自動(dòng)化模型的處理細(xì)節(jié),見圖9和對(duì)應(yīng)的文字)。圖9是示出了根據(jù)一個(gè)實(shí)施例的為了創(chuàng)建自動(dòng)化步驟模型而采取的步驟的流程圖。處理創(chuàng)建用于向目標(biāo)云部署解決方案的各種自動(dòng)化步驟模型910。處理始于900,在步驟905,創(chuàng)建自動(dòng)化步驟模型915。自動(dòng)化步驟模型915包括用于在目標(biāo)云中部署云特有的配置(該配置建立安全組)等的操作920。在步驟925,創(chuàng)建自動(dòng)化步驟模型930以用于安 裝應(yīng)用(包括用于應(yīng)用服務(wù)器(中間件運(yùn)行時(shí)環(huán)境)和獨(dú)立于平臺(tái)的軟件應(yīng)用的參數(shù))。自動(dòng)化步驟模型930包括用來安裝獨(dú)立于平臺(tái)的應(yīng)用(例如Java sMash應(yīng)用等)的操作935和用來配置中間件運(yùn)行時(shí)環(huán)境的操作940。在步驟945,創(chuàng)建自動(dòng)化步驟模型950以用于在目標(biāo)云上實(shí)例化映像。自動(dòng)化步驟模型950包括用來在目標(biāo)云上實(shí)例化特定映像的操作955。在步驟960,在示出為由資產(chǎn)管理器應(yīng)用軟件850管理的資產(chǎn)庫500中存儲(chǔ)自動(dòng)化步驟模型910。在預(yù)定義過程970,提供輸入?yún)?shù)指定并且將這些指定與目標(biāo)拓?fù)湟黄鸫鎯?chǔ)于資產(chǎn)庫中(關(guān)于處理細(xì)節(jié),見圖10和對(duì)應(yīng)的文字)。圖10是示出了根據(jù)一個(gè)實(shí)施例的為了指定輸入?yún)?shù)并且在拓?fù)淠P椭写鎯?chǔ)而采取的步驟的流程圖。在圖10中示出了圖8中介紹的拓?fù)淠P?04。在圖10中,處理始于1000,在步驟1010,向部件綁定部署模型單元。例如,向拓?fù)淠P椭械膽?yīng)用單元綁定如下資產(chǎn)庫中的特定壓縮文件資產(chǎn),該資產(chǎn)庫包含可部署的獨(dú)立于平臺(tái)的二進(jìn)制文件。應(yīng)用808包括如下性質(zhì)和參數(shù)1020,這些性質(zhì)和參數(shù)將例如具有配置于其中的指定壓縮文件(“zip”文件)。在步驟1030,為拓?fù)淠P蛦卧付ㄅ渲脜?shù)中的一些但是可能并非所有配置參數(shù)。例如,可以指定HTTP端口、zip文件名和用于應(yīng)用的URL。在步驟1040,在資產(chǎn)庫500中共享部分指定的模式作為可重用資產(chǎn)。在預(yù)定義過程1050,完全指定并且向目標(biāo)平臺(tái)部署實(shí)例(關(guān)于處理細(xì)節(jié),見圖11和對(duì)應(yīng)的文字)。圖11是示出了根據(jù)一個(gè)實(shí)施例的為了完全指定和部署基于云的應(yīng)用的運(yùn)行實(shí)例而采取的步驟的流程圖。圖11中所示的流程圖也示出了在指定期間部署有少量配置改變的用于多租戶的多個(gè)實(shí)例。處理始于1100,在步驟1105,完全指定并且在拓?fù)淠P?04中存儲(chǔ)拓?fù)淠P蛦卧械膮?shù)。一些拓?fù)淠P蛦卧c描述用來部署拓?fù)淠P蛦卧牟僮鞯淖詣?dòng)化步驟模型910相關(guān)聯(lián)。在步驟1110,生成并且在自動(dòng)化工作流模型1115中存儲(chǔ)部署操作的有序序列。在一個(gè)實(shí)施例中,自動(dòng)化工作流模型是對(duì)用來部署拓?fù)淠P蛦卧牟僮鞯耐ㄓ妹枋觥T诓襟E1120,根據(jù)自動(dòng)化工作流模型1115生成部署工作流1125。在一個(gè)實(shí)施例中,部署工作流1125是采取可以由特定部署引擎1135運(yùn)行的格式的對(duì)操作的非通用描述。以這一方式,可以執(zhí)行步驟1120以提供與不同部署引擎一起操作的不同部署工作流。在步驟1130,部署引擎1135執(zhí)行部署工作流1125并且創(chuàng)建在一個(gè)或者多個(gè)目標(biāo)云1140上運(yùn)行的基于云的應(yīng)用的一個(gè)或者多個(gè)運(yùn)行實(shí)例(實(shí)例1150和1155)。在步驟1160,觀測(cè)和測(cè)試運(yùn)行實(shí)例以保證基于云的解決方案恰當(dāng)運(yùn)行。關(guān)于是否需要改變?cè)谀P蛦卧兄付ǖ膮?shù)進(jìn)行確定(判決1170)。如果需要改變,則判決1170轉(zhuǎn)向“是”分支,在步驟1175,編輯實(shí)例的參數(shù)并且處理循環(huán)回到重新生成工作流模型、部署工作流并且由部署引擎重新執(zhí)行部署工作流。這一循環(huán)繼續(xù)直至無需進(jìn)一步改變,于是判決1170轉(zhuǎn)向“否”分支。注意,如果指定這樣的參數(shù)作為可以通過 用戶輸入在重新部署之前改變的輸入?yún)?shù)則可以不必重新生成工作流模型。關(guān)于是否在一個(gè)目標(biāo)云(或者多個(gè)目標(biāo)云)中創(chuàng)建應(yīng)用(基于云的解決方案)的多個(gè)實(shí)例進(jìn)行確定。如果創(chuàng)建應(yīng)用的多個(gè)實(shí)例,則判決1180轉(zhuǎn)向“是”分支,在步驟1185,改變少數(shù)工作流參數(shù)以便創(chuàng)建下一實(shí)例,并且處理循環(huán)回到生成另一工作流模型和另一部署工作流,并且處理使用部署引擎來執(zhí)行新部署工作流。例如,可能需要在多租戶解決方案中為新租戶部署新實(shí)例。在一個(gè)實(shí)施例中,多租戶性是用于在多個(gè)客戶端之間共享平臺(tái)(例如,云、管理程序)的能力。在另一示例中,可能需要解決方案的新實(shí)例以便滿足變化工作負(fù)荷中的不同性能或者安全要求。這一循環(huán)繼續(xù)直至無需應(yīng)用的更多實(shí)例,這時(shí),判決1180轉(zhuǎn)向“否”分支并且處理在1195結(jié)束。圖12是示出了根據(jù)一個(gè)實(shí)施例的為了重用資產(chǎn)庫中存儲(chǔ)的資產(chǎn)并且使用重用的資產(chǎn)向目標(biāo)云環(huán)境部署解決方案而采取的步驟的流程圖。處理始于1200,在步驟1210,處理接收對(duì)向特定目標(biāo)云或者管理程序移植解決方案的請(qǐng)求。在預(yù)定義過程1220,在資產(chǎn)庫500中發(fā)現(xiàn)與請(qǐng)求最接近的現(xiàn)有拓?fù)浜屯負(fù)淠P蛦卧?。預(yù)定義過程1220包括替換云特有的模型單元并且在資產(chǎn)庫500中存儲(chǔ)新拓?fù)浜托履P蛦卧?。關(guān)于預(yù)定義過程1220的處理細(xì)節(jié),見圖13和對(duì)應(yīng)的文字。在步驟1230,完全指定并且在資產(chǎn)庫500中存儲(chǔ)目標(biāo)拓?fù)淠P椭械呐渲脜?shù)。在預(yù)定義過程1240,在資產(chǎn)庫500中發(fā)現(xiàn)對(duì)應(yīng)于替換的或者添加的云特有的模型單元的自動(dòng)化步驟模型。也在預(yù)定義過程1240中,在資產(chǎn)庫500內(nèi)發(fā)現(xiàn)對(duì)應(yīng)于目標(biāo)云特有的拓?fù)淠P蛦卧淖詣?dòng)化步驟模型并且在資產(chǎn)庫500中存儲(chǔ)自動(dòng)化步驟模型。資產(chǎn)步驟模型用來向目標(biāo)云部署拓?fù)淠P蛦卧?。關(guān)于預(yù)定義過程1240的處理細(xì)節(jié),見圖14和對(duì)應(yīng)的文字。在預(yù)定義過程1250,基于自動(dòng)化步驟模型生成部署工作流(關(guān)于處理細(xì)節(jié),見圖15和對(duì)應(yīng)的文字,并且關(guān)于復(fù)合解決方案的部署的細(xì)節(jié),見圖16和對(duì)應(yīng)的文字)。部署結(jié)果是源云1260(該云具有現(xiàn)有的基于云的解決方案的實(shí)例1265)和目標(biāo)云1270(該云具有基于云的解決方案的新實(shí)例1275)。在一個(gè)實(shí)施例中,從計(jì)算機(jī)網(wǎng)絡(luò)200(諸如因特網(wǎng))可訪問源云和目標(biāo)云二者。因而,例如,每個(gè)實(shí)例可以諸如通過使用基于客戶端的web瀏覽軟件來提供客戶端通過計(jì)算機(jī)網(wǎng)絡(luò)可訪問的基于web的應(yīng)用的實(shí)例。圖13是示出了根據(jù)一個(gè)實(shí)施例的為了發(fā)現(xiàn)與請(qǐng)求匹配的現(xiàn)有拓?fù)鋯卧?、替換云特有的模型單元并且在資產(chǎn)庫中存儲(chǔ)新的和改變的模型單元而采取的步驟的流程圖。圖13由圖12中所示的預(yù)定義過程1220調(diào)用。圖13中所示的處理始于1300,在步驟1320,從用戶1310接收針對(duì)新的基于云的解決方案的要求。在步驟1325,搜索資產(chǎn)庫500中存儲(chǔ)的現(xiàn)有拓?fù)淠P偷脑獢?shù)據(jù)以便發(fā)現(xiàn)在某一程度上與用戶提供的要求匹配的現(xiàn)有拓?fù)淠P?。在一個(gè)實(shí)施例中,可以從資產(chǎn)庫500取回更早計(jì)算的差異作為補(bǔ)丁并且可以將差異應(yīng)用于現(xiàn)有源拓?fù)淠P鸵詣?chuàng)建目標(biāo)拓?fù)淠P?。關(guān)于是否在資產(chǎn)庫中發(fā)現(xiàn)與用戶的要求匹配的任何現(xiàn)有拓?fù)淠P瓦M(jìn)行確定(判決1330)。如果沒有與用戶的要求匹配的拓?fù)淠P彤?dāng)前存在于資產(chǎn)庫中,則判決1330轉(zhuǎn)向“否”分支,在預(yù)定義過程1335,創(chuàng)建新拓?fù)淠P?關(guān)于創(chuàng)建新拓?fù)淠P偷氖纠?,例如見圖8和對(duì)應(yīng)的文字)。另一方面,如果發(fā)現(xiàn)與用戶的要求匹配的一個(gè)或者多個(gè)拓?fù)淠P停瑒t判決1330轉(zhuǎn)向“是”分支,在步驟1340,復(fù)制資產(chǎn)庫中發(fā)現(xiàn)的與用戶的要求最接近匹配的現(xiàn)有拓?fù)淠P汀T诓襟E1350,在資產(chǎn)庫中存儲(chǔ)新拓?fù)淠P?在預(yù)定義過程1335中創(chuàng)建的新創(chuàng)建的拓?fù)淠P突蛘咴诓襟E1340中復(fù)制的現(xiàn)有拓?fù)淠P?。關(guān)于拓?fù)淠P蛦卧欠裥枰薷倪M(jìn)行確定(判決1360)。例如,如果在步驟1340復(fù)制了拓?fù)淠P停敲慈绻麖?fù)制的拓?fù)淠P筒慌c由用戶指定的要求確切匹配,則新目標(biāo)拓?fù)淠P涂赡苄枰薷摹H绻粋€(gè)或者多個(gè)拓?fù)淠P蛦卧枰薷?,則判決1360轉(zhuǎn)向“是”分支,在步驟1370,從目標(biāo)拓?fù)淠P腿』匦枰薷牡耐負(fù)淠P蛦卧⑶倚薷倪@些拓?fù)淠P蛦卧詽M足用戶的要求。在步驟1380,在資產(chǎn)庫500中的拓?fù)淠繕?biāo)模型中存儲(chǔ)修改的拓?fù)淠P蛦卧7祷氐脚袥Q1360,如果拓?fù)淠P蛦卧獰o需修改,則判決1360轉(zhuǎn)向繞過步驟1370和1380的“否”分支。在步驟1390,替換用于目標(biāo)云的云特有的模型單元。處理繼而在1395 返回到調(diào)用例程(見圖12)。圖14是示出了根據(jù)一個(gè)實(shí)施例的為了生成部署工作流模型而采取的步驟的流程圖。圖14由圖12中所示的預(yù)定義過程1240調(diào)用。圖14中所示的處理始于1400,在步驟1410,標(biāo)識(shí)用來在目標(biāo)云上部署解決方案的第一改變的或者新的拓?fù)淠P蛦卧?。注意,無需標(biāo)識(shí)未改變的源拓?fù)淠P蛦卧?,因?yàn)榭梢允褂靡呀?jīng)與未改變的拓?fù)淠P蛦卧嚓P(guān)聯(lián)的自動(dòng)化步驟模型。注意,如果從源拓?fù)淠P腿コ巳魏文P蛦卧?,則也可以從目標(biāo)工作流模型去除對(duì)應(yīng)的部署操作。也注意,在一個(gè)實(shí)施例中,多個(gè)拓?fù)淠P蛦卧梢耘c自動(dòng)化步驟模型(ASM)相關(guān)聯(lián)。如果多個(gè)拓?fù)淠P蛦卧c自動(dòng)化步驟模型相關(guān)聯(lián),則可以關(guān)于是否所有單元存在于目標(biāo)拓?fù)淠P椭羞M(jìn)行校驗(yàn)。在步驟1420,在資產(chǎn)庫500中搜索與目標(biāo)云相關(guān)聯(lián)的自動(dòng)化步驟模型。關(guān)于是否在資產(chǎn)庫中發(fā)現(xiàn)任何匹配自動(dòng)化步驟進(jìn)行確定(判決1430)。如果未發(fā)現(xiàn)匹配自動(dòng)化步驟模型,則判決1430轉(zhuǎn)向“否”分支,在步驟1450,為目標(biāo)云創(chuàng)建新自動(dòng)化步驟模型。另一方面,如果發(fā)現(xiàn)匹配自動(dòng)化步驟模型,則判決1430轉(zhuǎn)向“是”分支,使用發(fā)現(xiàn)的自動(dòng)化步驟模型。在步驟1450,將(通過搜索發(fā)現(xiàn)的或者在步驟1440中創(chuàng)建的)自動(dòng)化步驟模型與標(biāo)識(shí)的新的或者改變的拓?fù)淠P蛦卧嚓P(guān)聯(lián)。關(guān)于是否存在更多改變的或者新的拓?fù)淠P蛦卧幚磉M(jìn)行確定(判決1460)。如果存在更多改變的或者新的拓?fù)淠P蛦卧幚?,則判決1460轉(zhuǎn)向“是”分支,該分支循環(huán)回到如上文描述的那樣標(biāo)識(shí)下一改變的或者新的拓?fù)淠P蛦卧⑶覍⑺c自動(dòng)化步驟模型相關(guān)聯(lián)。注意,對(duì)于改變的模型單元,可以在搜索中使用在源云中使用的自動(dòng)化步驟模型名稱以便發(fā)現(xiàn)用于目標(biāo)云的相似自動(dòng)化步驟模型。這一循環(huán)繼續(xù)直至無更多改變的或者新的拓?fù)淠P蛦卧幚?,這時(shí),判決1460轉(zhuǎn)向“否”分支。在步驟1470,為目標(biāo)云生成部署工作流模型1480。使用與標(biāo)識(shí)的新的或者改變的拓?fù)淠P蛦卧嚓P(guān)聯(lián)的發(fā)現(xiàn)或者新創(chuàng)建的自動(dòng)化步驟模型以及已經(jīng)與源拓?fù)淠P椭械奈锤淖兊耐負(fù)淠P蛦卧嚓P(guān)聯(lián)的自動(dòng)化步驟模型來生成工作流模型以便向目標(biāo)云移植解決方案。處理繼而在1395返回到調(diào)用例程(見圖12)。
圖15是示出了根據(jù)一個(gè)實(shí)施例的為了根據(jù)模型生成部署工作流并且使用部署引擎來部署而采取的步驟的流程圖。圖15由圖12中所示的預(yù)定義過程1250調(diào)用。圖15中所示的處理始于1500,在步驟1510,從部署引擎數(shù)據(jù)存儲(chǔ)庫1515選擇將用來向目標(biāo)云部署解決方案的部署引擎。一些目標(biāo)云可以使用特定部署引擎,而其它通用部署引擎也可以用來向目標(biāo)云部署解決方案。部署引擎可以具有如下不同處理能力和特性,這些能力和特性可以使特定部署引擎對(duì)于向特定目標(biāo)云部署解決方案而言有吸引力。在步驟1520,從在圖14中生成的部署工作流模型1480選擇第一部署操作。每個(gè)自動(dòng)化步驟可以包括多個(gè)部署操作。在工作流模型中對(duì)這些部署操作依次排序。部署操作也是部署引擎特有的。每個(gè)部署操作繼而用來生成部署引擎特有步驟。步驟1520生成一個(gè)或者多個(gè)部署引擎1515特有的步驟,這些步驟能夠由所選部署引擎執(zhí)行。在部署工作流1530中存儲(chǔ)生成的部署引擎特有步驟作為第一部署步驟1531、第二部署步驟1532等直至最后部署步驟1534。關(guān)于是否存在更多部署操作待處理進(jìn)行確定(判決1540)。如果存在更多步驟模型待處理,則判決1540轉(zhuǎn)向“是”分支,該分支循環(huán)回到如上文在步驟1520描述的那樣從部署工作流模型1480選擇下一自動(dòng)化步驟模型并且生成部署引擎特有的步驟。這一循環(huán)繼續(xù)直至無更多部署操作待處理,這時(shí),判決1540轉(zhuǎn)向“否”分支,調(diào)用 所選部署引擎1550以處理部署工作流1530。部署工作流1530包括部署操作并且在調(diào)用之前向所選部署引擎1550傳輸。部署引擎處理通過執(zhí)行部署工作流1530中包括的第一部署步驟(步驟1531)來開始。執(zhí)行第一部署步驟造成向目標(biāo)平臺(tái)(目標(biāo)云1270)部署解決方案的部分。由部署引擎1515之一關(guān)于是否存在更多部署步驟待處理進(jìn)行確定(判決1570)。如果存在更多部署步驟待處理,則判決1570轉(zhuǎn)向“是”分支,該分支循環(huán)回到從部署工作流1530選擇下一步驟并且執(zhí)行該步驟(例如,第二部署步驟1532)從而造成向目標(biāo)平臺(tái)進(jìn)一步部署解決方案。這一循環(huán)繼續(xù)直至已經(jīng)在步驟1560處理了最后部署步驟(最后部署步驟1534),這時(shí),判決1570轉(zhuǎn)向“否”分支并且處理在1595返回。執(zhí)行所有部署步驟的結(jié)果是在目標(biāo)平臺(tái)(目標(biāo)云1270)上運(yùn)行的新的基于云的解決方案1275。圖16是示出了根據(jù)一個(gè)實(shí)施例的為了根據(jù)模型生成部署工作流并且向多個(gè)基于云的環(huán)境部署復(fù)合解決方案而采取的步驟的流程圖。步驟與圖15中示出和描述的步驟相同,然而,在圖16中,部署步驟造成跨兩個(gè)目標(biāo)平臺(tái)(第一目標(biāo)云1610和第二目標(biāo)云1630)部署解決方案從而產(chǎn)生復(fù)合解決方案1600。每個(gè)目標(biāo)云托管解決方案的虛擬部分(由第一目標(biāo)云1610托管的虛擬部分1620和由第二目標(biāo)云1630托管的虛擬部分1640)。此外,在部署工作流1530中包括的部署步驟中的一個(gè)或者多個(gè)部署步驟在虛擬部分1620與虛擬部分1640之間建立通信鏈路1650??梢钥缣摂M專用網(wǎng)絡(luò)(VPN)建立通信鏈路1650。盡管在復(fù)合解決方案1600中示出了兩個(gè)云和虛擬部分,但是可以在復(fù)合解決方案中包括任何數(shù)目的目標(biāo)云和虛擬部分而在任何數(shù)目的虛擬部分之間建立通信鏈路。在一個(gè)實(shí)施例中,可以使用如下模型驅(qū)動(dòng)方式來重建用于目標(biāo)云或者管理程序的解決方案,該方式可以避免i)復(fù)制映像內(nèi)容;以及ii)按照統(tǒng)一盤文件格式表示虛擬映像內(nèi)容。實(shí)施例可以允許在具有客戶OS的不兼容硬件架構(gòu)、管理程序技術(shù)、類型和版本的不同云(或者管理程序)提供商之間移植解決方案。實(shí)施例也可以允許在移植之時(shí)添加云特有(或者管理程序特有)的配置。實(shí)施例也可以允許在可以部分移植的用于混合云的復(fù)合解決方案中包括虛擬映像部分。在一個(gè)實(shí)施例中,可以使用工具(諸如Eclipse建模框架(EMF)比較項(xiàng)目)在補(bǔ)丁中獲得和/或存儲(chǔ)產(chǎn)生拓?fù)洳町惖呐c源平臺(tái)相關(guān)聯(lián)的源拓?fù)淠P秃团c目標(biāo)平臺(tái)相關(guān)聯(lián)的目標(biāo)拓?fù)淠P?。在一個(gè)實(shí)施例中,差異化的部分由可以從一個(gè)或者多個(gè)處理器選擇的至少一個(gè)處理器執(zhí)行。在一個(gè)實(shí)施例中,可以使用Eclipse以上的Rational SoftwareArchitect來構(gòu)造和/或可視化拓?fù)淠P蛦卧T谝粋€(gè)實(shí)施例中,可以使用Eclipse以上的Rational Software Architect來構(gòu)造和/或可視化自動(dòng)化步驟模型。Rational SoftwareArchitect以XML格式存儲(chǔ)模型數(shù)據(jù)。XML包括用于不同模型單元(諸如虛擬裝置、中間件、虛擬映像、客戶操作系統(tǒng)、云特有配置、應(yīng)用級(jí)通信鏈路等)的不同分節(jié)。每個(gè)XML分節(jié)可以包括多個(gè)部署參數(shù)(諸如軟件版本和類型)??梢栽谫Y產(chǎn)庫的搜索中使用虛擬裝置分節(jié)中的參數(shù)作為輸入以用于發(fā)現(xiàn)用于目標(biāo)云的兼容虛擬映像。在一個(gè)實(shí)施例中,可以通過搜索Rational Asset Manager (其中可以存儲(chǔ)包括部署操作的自動(dòng)化步驟模型)來獲得從資產(chǎn)庫獲得工作流模型中的操作。搜索可以使用用于與自動(dòng)化步驟模型相關(guān)聯(lián)的拓?fù)淠P蛦卧脑獢?shù)據(jù)作為輸入。在一個(gè)實(shí)施例中,可以在持久存儲(chǔ)介質(zhì)中存儲(chǔ)資產(chǎn)庫的部分。在一個(gè)實(shí)施例中,可以在持久存儲(chǔ)介質(zhì)中存儲(chǔ)整個(gè)資產(chǎn)庫(包括資產(chǎn)庫的部分)。·在一個(gè)實(shí)施例中,執(zhí)行用于部署解決方案的部分的操作,其中解決方案的所部署的部分包括與目標(biāo)平臺(tái)兼容的目標(biāo)映像、可以使用Tivoli Provisioning Manager作為部署引擎來執(zhí)行。在一個(gè)實(shí)施例中,Tivoli Provisioning Manager可以執(zhí)行向不同云或者管理程序部署解決方案的不同部分的工作流。公開了用于從源平臺(tái)向目標(biāo)平臺(tái)移植解決方案的方法、計(jì)算機(jī)程序產(chǎn)品和系統(tǒng)的實(shí)施例。確定在源拓?fù)淠P椭械哪P蛦卧募吓c目標(biāo)拓?fù)淠P椭械哪P蛦卧募现g的差異。源拓?fù)淠P团c源平臺(tái)相關(guān)聯(lián),并且目標(biāo)拓?fù)淠P团c目標(biāo)平臺(tái)相關(guān)聯(lián)。借助工作流模型中的操作與確定的在源拓?fù)淠P偷哪P蛦卧募虾湍繕?biāo)拓?fù)淠P蛦卧哪P蛦卧募现g的差異的關(guān)聯(lián)從資產(chǎn)庫獲得該工作流模型的操作。傳輸該操作。該操作被配置成部署如下解決方案的至少部分,該解決方案包括與目標(biāo)平臺(tái)兼容的目標(biāo)映像。這樣的實(shí)施例可以用來在支持不同硬件架構(gòu)、虛擬映像格式和編程接口的不同基礎(chǔ)結(jié)構(gòu)云或者管理程序之間移植解決方案。這樣的實(shí)施例也可以用來在移植解決方案時(shí)重用共同解決方案部件、配置參數(shù)和部署自動(dòng)化操作。根據(jù)更多公開的實(shí)施例,源平臺(tái)是硬件和軟件資源的第一集合,并且目標(biāo)平臺(tái)是硬件和軟件資源的第二集合。從硬件和軟件資源的第一集合向硬件和軟件資源的第二集合移植解決方案的至少部分。這樣的實(shí)施例可以用來從一個(gè)云(或者管理程序或者計(jì)算機(jī)系統(tǒng))向另一個(gè)云(或者管理程序或者計(jì)算機(jī)系統(tǒng))移植解決方案。根據(jù)更多公開的實(shí)施例,源平臺(tái)是硬件和軟件資源的專用集合。目標(biāo)平臺(tái)是硬件和軟件資源的公共集合。這樣的實(shí)施例可以用來從專用云向公共云移植解決方案。其它實(shí)施例可以用來從公共云向?qū)S迷啤膶S迷葡驅(qū)S迷坪?或從公共云向公共云移植解決方案。根據(jù)更多公開的實(shí)施例,解決方案是復(fù)合解決方案。硬件和軟件資源的第二集合包括硬件和軟件資源的多個(gè)集合。這樣的實(shí)施例可以用來向包括混合云的不同云(或者管理程序或者計(jì)算機(jī)系統(tǒng))移植解決方案的不同虛擬部分。根據(jù)更多公開的實(shí)施例,在存儲(chǔ)于資產(chǎn)庫中的元數(shù)據(jù)中搜索與目標(biāo)平臺(tái)相關(guān)聯(lián)的至少一個(gè)基本映像元數(shù)據(jù)。這樣的實(shí)施例可以用來發(fā)現(xiàn)解決方案的必備軟件部件預(yù)先安裝于其中的用于目標(biāo)平臺(tái)的可兼容基本虛擬映像。根據(jù)更多公開的實(shí)施例,源平臺(tái)是在一個(gè)或者多個(gè)計(jì)算機(jī)系統(tǒng)的第一集合上運(yùn)行的第一管理程序。目標(biāo)平臺(tái)是在一個(gè)或者多個(gè)計(jì)算機(jī)系統(tǒng)的第二集合上運(yùn)行的第二管理程序。第一管理程序和第二管理程序?yàn)椴煌愋偷墓芾沓绦颉_@樣的實(shí)施例可以用來從一個(gè)管理程序(或者計(jì)算機(jī)系統(tǒng))向另一管理程序(或者計(jì)算機(jī)系統(tǒng))移植解決方案。根據(jù)更多公開的實(shí)施例,所確定的差異包括新模型單元、改變的模型單元或者去除的模型單元中的至少一個(gè)模型單元。這樣的實(shí)施例可以用來在移植解決方案時(shí)重用共同解決方案部件、配置參數(shù)和部署自動(dòng)化操作。
根據(jù)更多公開的實(shí)施例,所確定的差異還包括標(biāo)識(shí)源拓?fù)淠P椭械哪P蛦卧募系囊粋€(gè)或者多個(gè)屬性和標(biāo)識(shí)所標(biāo)識(shí)的屬性是否與目標(biāo)拓?fù)渲械哪P蛦卧募系牡囊粋€(gè)或者多個(gè)所標(biāo)識(shí)的屬性不兼容。所確定的差異可以包括如與目標(biāo)拓?fù)淠P拖啾鹊脑赐負(fù)淠P偷哪P蛦卧械牟患嫒輰傩?包括類型)的標(biāo)識(shí)。這樣的實(shí)施例可以用來標(biāo)識(shí)需要在移植解決方案時(shí)改變的解決方案部件、配置參數(shù)和部署自動(dòng)化操作。根據(jù)更多公開的實(shí)施例,響應(yīng)于標(biāo)識(shí)所標(biāo)識(shí)的屬性不兼容來分析模型單元的所標(biāo)識(shí)的不兼容屬性。修改模型單元的不兼容屬性以便從源平臺(tái)向目標(biāo)平臺(tái)移植解決方案。這樣的實(shí)施例可以用來確定對(duì)用于移植解決方案的解決方案部件、配置參數(shù)和部署自動(dòng)化操作的改變;并且也可以用來使模型單元中的所標(biāo)識(shí)的不兼容屬性與目標(biāo)平臺(tái)拓?fù)淠P图嫒?。根?jù)更多公開的實(shí)施例,所標(biāo)識(shí)的不兼容屬性在與源拓?fù)淠P捅容^時(shí)標(biāo)識(shí)是否已經(jīng)在目標(biāo)拓?fù)渲腥コ?、添加或者修改了模型單元。這樣的實(shí)施例可以用來標(biāo)識(shí)需要在移植解決方案時(shí)改變的解決方案部件、配置參數(shù)和部署自動(dòng)化操作。根據(jù)更多公開的實(shí)施例,修改不兼容屬性還包括添加新模型單元、更新模型單元或者去除模型單元以便糾正源拓?fù)涞哪P蛦卧募吓c目標(biāo)拓?fù)涞哪P蛦卧募现g的所標(biāo)識(shí)的不兼容。這樣的實(shí)施例可以用來確定對(duì)用于移植解決方案的解決方案部件、配置參數(shù)和部署自動(dòng)化操作的改變。根據(jù)更多公開的實(shí)施例,模型單元包括如下數(shù)據(jù),該數(shù)據(jù)標(biāo)識(shí)拓?fù)淠P偷囊粋€(gè)或者多個(gè)屬性。這樣的實(shí)施例可以用來確定用于向平臺(tái)部署解決方案的配置和部署參數(shù)。根據(jù)更多公開的實(shí)施例,源平臺(tái)是在硬件資源和軟件資源的第一集合上運(yùn)行的第一管理程序。目標(biāo)平臺(tái)是在硬件資源和軟件資源的第二集合上運(yùn)行的第二管理程序。源管理程序和目標(biāo)管理程序?yàn)椴煌愋?。這樣的實(shí)施例可以用來在與不同類型的管理程序兼容的虛擬映像之間移植解決方案。提供了獲得將向目標(biāo)平臺(tái)部署的拓?fù)淠P蛦卧姆椒?、?jì)算機(jī)程序產(chǎn)品和系統(tǒng)的實(shí)施例。為與所接收的拓?fù)淠P蛦卧嚓P(guān)聯(lián)的所選自動(dòng)化步驟模型搜索資產(chǎn)庫中存儲(chǔ)的多個(gè)自動(dòng)化步驟模型。搜索由一個(gè)或者多個(gè)處理器執(zhí)行。從資產(chǎn)庫獲得一個(gè)或者多個(gè)部署操作。所獲得的部署操作與所選自動(dòng)化步驟模型相關(guān)聯(lián)。執(zhí)行所獲得的部署操作以便向目標(biāo)平臺(tái)部署拓?fù)淠P蛦卧?。這樣的實(shí)施例可以用來構(gòu)造用于向不同平臺(tái)部署解決方案的新的或者改變的工作流模型。方法、計(jì)算機(jī)程序產(chǎn)品和系統(tǒng)的實(shí)施例提供一種從持久存儲(chǔ)介質(zhì)取回源映像元數(shù)據(jù)的方式。源映像元數(shù)據(jù)對(duì)應(yīng)于與源平臺(tái)相關(guān)聯(lián)的源映像。比較取回的源元數(shù)據(jù)與一個(gè)或者多個(gè)可用映像元數(shù)據(jù),該可用映像元數(shù)據(jù)對(duì)應(yīng)于與目標(biāo)平臺(tái)相關(guān)聯(lián)的一個(gè)或者多個(gè)可用映像?;诒容^來標(biāo)識(shí)可用映像元數(shù)據(jù)中的與源映像元數(shù)據(jù)最兼容的可用映像元數(shù)據(jù)。使用對(duì)應(yīng)于所標(biāo)識(shí)的可用映像元數(shù)據(jù)的可用映像作為與目標(biāo)平臺(tái)兼容的目標(biāo)映像。這樣的實(shí)施例可以用來發(fā)現(xiàn)用于目標(biāo)平臺(tái)的可兼容基本虛擬映像,解決方案的必備軟件部件中的多數(shù)(如果不是所有)軟件部件預(yù)先安裝于這些目標(biāo)平臺(tái)中。理解存在各種備選實(shí)施例。例如,在一個(gè)實(shí)施例中, 本發(fā)明提供一種包括計(jì)算機(jī)程序代碼的計(jì)算機(jī)可讀/可用介質(zhì),該計(jì)算機(jī)程序代碼用于使計(jì)算機(jī)基礎(chǔ)結(jié)構(gòu)能夠提供如這里討論的功能。在這一程度上,計(jì)算機(jī)可讀/可用介質(zhì)包括實(shí)施各種過程中的每個(gè)過程的程序代碼。理解術(shù)語計(jì)算機(jī)可讀介質(zhì)或者計(jì)算機(jī)可用介質(zhì)包括程序代碼的任何類型的物理實(shí)施例中的一個(gè)或者多個(gè)實(shí)施例。具體而言,計(jì)算機(jī)可讀/可用介質(zhì)可以包括體現(xiàn)于一個(gè)或者多個(gè)便攜存儲(chǔ)制造品(例如,光盤、磁盤、磁帶等)上、計(jì)算設(shè)備的一個(gè)或者多個(gè)數(shù)據(jù)存儲(chǔ)部分(諸如存儲(chǔ)器28 (圖I)和/存儲(chǔ)系統(tǒng)34 (圖I)(例如,固定盤、只讀存儲(chǔ)器、隨機(jī)存取存儲(chǔ)器、高速緩存存儲(chǔ)器等))上和/或體現(xiàn)為(例如,在程序代碼的有線/無線電子分發(fā)期間)通過網(wǎng)絡(luò)傳播的數(shù)據(jù)信號(hào)(例如,傳播的信號(hào))的程序代碼。在一個(gè)實(shí)施例中,提供一種在預(yù)訂、廣告和/或費(fèi)用基礎(chǔ)上執(zhí)行該過程的方法。也就是說,服務(wù)提供商(諸如Solution Integrator)可以提出要提供這里描述的服務(wù)。在這一情況下,服務(wù)提供商可以創(chuàng)建、維護(hù)、支持等計(jì)算機(jī)基礎(chǔ)結(jié)構(gòu)(諸如為一個(gè)或者多個(gè)客戶執(zhí)行該過程的計(jì)算機(jī)系統(tǒng)12(圖I))。作為回報(bào),服務(wù)提供商可以在預(yù)訂和/或費(fèi)用協(xié)定之下從客戶接收付款和/或服務(wù)提供商可以從向一個(gè)或者多個(gè)第三方的廣告內(nèi)容銷售中接收付款。在一個(gè)實(shí)施例中,提供一種用于提供這里描述的功能的計(jì)算機(jī)實(shí)施的方法。在這一情況下,可以提供計(jì)算機(jī)基礎(chǔ)結(jié)構(gòu)(諸如計(jì)算機(jī)系統(tǒng)12(圖1)),并且可以獲得(例如,創(chuàng)建、購買、使用、修改等)并且向計(jì)算機(jī)基礎(chǔ)結(jié)構(gòu)部署用于執(zhí)行該過程的一個(gè)或者多個(gè)系統(tǒng)。在這一程度上,系統(tǒng)的部署可以包括以下操作中的一個(gè)或者多個(gè)操作(I)從計(jì)算機(jī)可讀介質(zhì)向計(jì)算設(shè)備(諸如計(jì)算機(jī)系統(tǒng)12(圖I))上安裝程序代碼;(2)向計(jì)算機(jī)基礎(chǔ)結(jié)構(gòu)添加一個(gè)或者多個(gè)計(jì)算設(shè)備;以及(3)并入和/或修改計(jì)算機(jī)基礎(chǔ)結(jié)構(gòu)的一個(gè)或者多個(gè)現(xiàn)有系統(tǒng)以使計(jì)算機(jī)基礎(chǔ)結(jié)構(gòu)能夠執(zhí)行該過程。描述的實(shí)現(xiàn)方式之一是軟件應(yīng)用,即在可以例如在計(jì)算機(jī)的隨機(jī)存取存儲(chǔ)器中駐留的代碼模塊中的指令集(程序代碼)或者其它計(jì)算機(jī)程序指令。功能描述材料包括“程序代碼”、“計(jì)算機(jī)程序代碼”、“計(jì)算機(jī)指令”以及如下指令集的按照任何語言、代碼或者符號(hào)表示的任何表達(dá),該指令集旨在于使具有信息處理能力的計(jì)算設(shè)備直接或者在以下操作中的任一個(gè)或者兩個(gè)操作之后執(zhí)行特定功能(a)向另一語言、代碼或者符號(hào)表示轉(zhuǎn)換;和/或(b)以不同材料形式再現(xiàn)。在這一程度上,程序代碼可以體現(xiàn)為以下各項(xiàng)中的一項(xiàng)或者多項(xiàng)應(yīng)用/軟件程序、部件軟件/功能庫、操作系統(tǒng)、用于特定計(jì)算設(shè)備的基本設(shè)備系統(tǒng)/驅(qū)動(dòng)器等。在計(jì)算機(jī)需要之前,指令集可以存儲(chǔ)于另一計(jì)算機(jī)存儲(chǔ)器中(例如,硬盤驅(qū)動(dòng)中)或者可拆卸存儲(chǔ)器(諸如光盤(用于最終在CDM ROM中使用)或者軟盤(用于最終在軟盤驅(qū)動(dòng)中使用))中。因此,實(shí)施例可以實(shí)施為用于在計(jì)算機(jī)中使用的計(jì)算機(jī)程序產(chǎn)品。此外,雖然描述的各種方法便利地實(shí)施于由軟件有選擇地激活或者重新配置的通用計(jì)算機(jī)中,但是本領(lǐng)域普通技術(shù)人員也將認(rèn)識(shí)到可以在硬件中、在固件中或者在構(gòu)造成執(zhí)行所需方法步驟的更專門化的裝置中實(shí)現(xiàn)這樣的方法。功能描述材料是向機(jī)器賦予功能的信息。功能描述材料包括但不限于計(jì)算機(jī)程序、指令、規(guī)則、事實(shí)、可計(jì)算功能的定義、對(duì)象和數(shù)據(jù)結(jié)構(gòu)。下文可以提供一種適合存儲(chǔ)和/或執(zhí)行程序代碼的信息操縱系統(tǒng)(數(shù)據(jù)處理系統(tǒng)),并且該系統(tǒng)可以包括通過系統(tǒng)總線直接或者間接通信地耦合到存儲(chǔ)器單元的至少一個(gè)處理器。存儲(chǔ)器單元可以包括但不限于在實(shí)際執(zhí)行程序代碼期間運(yùn)用的本地存儲(chǔ)器、大容量存儲(chǔ)和如下高速緩存存儲(chǔ)器,這些高速緩存存儲(chǔ)器提供對(duì)至少一些程序代碼的暫時(shí)存儲(chǔ)以便減少必須在執(zhí)行期間從大容量存儲(chǔ)取回代碼的次數(shù)。一個(gè)或者多個(gè)輸入/輸出設(shè)備(包括但不限于鍵盤、顯示器、指點(diǎn)設(shè)備等)可以直接或者通過居間設(shè)備控制器耦合到系統(tǒng)。網(wǎng)絡(luò)適配器也可以耦合到系統(tǒng)以使數(shù)據(jù)處理系統(tǒng)能夠變成通過居間專用或者公 共網(wǎng)絡(luò)的任何組合耦合到其它數(shù)據(jù)處理系統(tǒng)、遠(yuǎn)程打印機(jī)、存儲(chǔ)設(shè)備等。例示性網(wǎng)絡(luò)適配器包括但不限于調(diào)制解調(diào)器、線纜調(diào)制解調(diào)器和以太網(wǎng)卡。已經(jīng)出于圖示和描述的目的而呈現(xiàn)了前文描述。它并非旨在于窮舉或者限制,因?yàn)轱@然許多修改和變化是可能的。本領(lǐng)域技術(shù)人員可以清楚的這樣的修改和變化旨在于包含于如由所附權(quán)利要求限定的本公開內(nèi)容的范圍內(nèi)。盡管已經(jīng)示出和描述了具體實(shí)施例,但是本領(lǐng)域技術(shù)人員將清楚,基于這里的教導(dǎo),可以進(jìn)行改變和修改而不脫離本公開內(nèi)容及其更廣義方面。另外,將理解,一個(gè)或者多個(gè)實(shí)施例由所附權(quán)利要求限定。本領(lǐng)域技術(shù)人員將理解,如果意圖為引入的權(quán)利要求要素的具體數(shù)目,則將在權(quán)利要求中將明確記載這樣的意圖,而當(dāng)無這樣的記載時(shí),這樣的限制不存在。對(duì)于非限制示例,為了輔助理解,以下所附權(quán)利要求包含使用引導(dǎo)短語“至少一個(gè)”和“一個(gè)或者多個(gè)”以引入權(quán)利要求要素。然而,使用這樣的短語仍然不應(yīng)解釋為意味著由不定冠詞“一個(gè)”引入權(quán)利要求使包含這樣的引入權(quán)利要求要素的任何特定權(quán)利要求限于僅包含一個(gè)這樣的要素的限制,即使當(dāng)相同權(quán)利要求包括引導(dǎo)短語“一個(gè)或者多個(gè)”或者“至少一個(gè)”和不定冠詞(諸如“一個(gè)”)時(shí);這對(duì)于在權(quán)利要求中使用定冠詞同樣成立。
權(quán)利要求
1.一種用于在平臺(tái)之間移植虛擬映像的方法,所述方法包括以下步驟 對(duì)與源平臺(tái)相關(guān)聯(lián)的源拓?fù)淠P秃团c目標(biāo)平臺(tái)相關(guān)聯(lián)的目標(biāo)拓?fù)淠P瓦M(jìn)行差異化從而產(chǎn)生拓?fù)洳町?,其中所述差異化的至少部分由處理器?zhí)行; 從資產(chǎn)庫獲得工作流模型中的操作,其中所述操作與所述拓?fù)洳町愊嚓P(guān)聯(lián),并且其中所述資產(chǎn)庫的至少部分存儲(chǔ)于持久存儲(chǔ)介質(zhì)中;以及 傳輸所述操作以用于部署解決方案的至少部分,其中所述解決方案的所部署的部分包括與所述目標(biāo)平臺(tái)兼容的目標(biāo)虛擬映像。
2.如權(quán)利要求I所述的方法,還包括以下步驟 通過執(zhí)行所述操作在所述目標(biāo)平臺(tái)部署所述解決方案的所述部分。
3.如權(quán)利要求2所述的方法,其中所述部署的結(jié)果包括從所述源平臺(tái)向所述目標(biāo)平臺(tái)移植所述解決方案。
4.如權(quán)利要求I所述的方法,還包括以下步驟 在元數(shù)據(jù)中搜索與所述目標(biāo)平臺(tái)相關(guān)聯(lián)的至少一個(gè)基本虛擬映像元數(shù)據(jù)。
5.如權(quán)利要求4所述的方法,還包括以下步驟 取回所述搜索中使用的輸入?yún)?shù),其中所述輸入?yún)?shù)由所述目標(biāo)拓?fù)淠P吞峁?br>
6.如權(quán)利要求4所述的方法,還包括以下步驟 響應(yīng)于所述搜索從存儲(chǔ)于所述資產(chǎn)庫中的所述元數(shù)據(jù)取回一個(gè)或者多個(gè)基本虛擬映像描述。
7.如權(quán)利要求6所述的方法,還包括以下步驟 從所述資產(chǎn)庫取回對(duì)應(yīng)于所述源平臺(tái)的模型單元的第一集合; 從所述資產(chǎn)庫取回對(duì)應(yīng)于所述目標(biāo)平臺(tái)的模型單元的第二集合,其中所述差異化產(chǎn)生一個(gè)或者多個(gè)共同模型單元和一個(gè)或者多個(gè)不同模型單元; 重用對(duì)應(yīng)于每個(gè)所述共同模型單元的一個(gè)或者多個(gè)工作流步驟的第一集合; 從所述資產(chǎn)庫取回對(duì)應(yīng)于所述不同模型單元中的一個(gè)或者多個(gè)模型單元的一個(gè)或者多個(gè)工作流步驟的第二集合;以及 使用工作流步驟的重用的第一集合和工作流步驟的取回的第二集合創(chuàng)建所述工作流模型。
8.如權(quán)利要求I所述的方法,還包括以下步驟 將所述拓?fù)洳町惻c所述源拓?fù)淠P秃退瞿繕?biāo)拓?fù)淠P拖嚓P(guān)聯(lián);以及 在所述資產(chǎn)庫中存儲(chǔ)所述拓?fù)洳町惡退鲫P(guān)聯(lián)作為補(bǔ)丁。
9.如權(quán)利要求I所述的方法,還包括以下步驟 接收對(duì)于所述源拓?fù)淠P投圆糠止餐牡诙赐負(fù)淠P秃蛯?duì)于所述目標(biāo)平臺(tái)而言部分共同的第二目標(biāo)平臺(tái); 在所述資產(chǎn)庫中搜索包括所述補(bǔ)丁的一個(gè)或者多個(gè)補(bǔ)丁,其中所述搜索包括相關(guān)聯(lián)的源拓?fù)淠P停? 響應(yīng)于所述搜索從所述資產(chǎn)庫取回所述補(bǔ)丁 ;以及 將取回的補(bǔ)丁應(yīng)用于所述第二源拓?fù)淠P蛷亩a(chǎn)生與所述第二目標(biāo)平臺(tái)相關(guān)聯(lián)的第二目標(biāo)拓?fù)淠P汀?br>
10.如權(quán)利要求I所述的方法,還包括以下步驟傳輸包括所述操作的多個(gè)操作以用于部署完整解決方案。
11.如權(quán)利要求I所述的方法,其中所述差異還包括以下步驟 標(biāo)識(shí)對(duì)應(yīng)于所述源平臺(tái)的模型單元的第一集合; 標(biāo)識(shí)對(duì)應(yīng)于所述目標(biāo)平臺(tái)的模型單元的第二集合; 比較所述模型單元的第一集合與所述模型單元的第二集合,所述比較產(chǎn)生一個(gè)或者多個(gè)改變的模型單元的集合和一個(gè)或者多個(gè)共同模型單元的集合; 從對(duì)應(yīng)于所述共同模型單元的所述源拓?fù)淠P腿』刈詣?dòng)化步驟模型的第一集合;在所述資產(chǎn)庫中搜索所述改變的模型單元,所述搜索產(chǎn)生對(duì)應(yīng)于所述改變的模型單元的自動(dòng)化步驟模型的第二集合;以及 在所述工作流模型中包括所述自動(dòng)化步驟模型的第一集合和第二集合。
12.如權(quán)利要求I所述的方法,其中所述差異化產(chǎn)生一個(gè)或者多個(gè)新單元的標(biāo)識(shí),其中在所述目標(biāo)拓?fù)淠P椭邪l(fā)現(xiàn)而在所述源拓?fù)淠P椭形窗l(fā)現(xiàn)所述新單元,并且其中所述方法還包括 在所述資產(chǎn)庫中搜索所述新單元。
13.如權(quán)利要求I所述的方法,其中用于部署所述解決方案的所述部分的所述操作設(shè)置安全防火墻。
14.如權(quán)利要求I所述的方法,其中用于部署所述解決方案的所述部分的所述操作在所述目標(biāo)平臺(tái)中實(shí)例化所述目標(biāo)虛擬映像。
15.如權(quán)利要求I所述的方法,其中所述源平臺(tái)是在一個(gè)或者多個(gè)計(jì)算機(jī)系統(tǒng)的第一集合上運(yùn)行的第一管理程序,其中所述目標(biāo)平臺(tái)是在一個(gè)或者多個(gè)計(jì)算機(jī)系統(tǒng)的第二集合上運(yùn)行的第二管理程序,并且其中所述第一管理程序和第二管理程序是不同類型的管理程序。
16.一種用于在平臺(tái)之間移植虛擬映像的信息操縱系統(tǒng),所述信息操縱系統(tǒng)包括 一個(gè)或者多個(gè)處理器; 存儲(chǔ)器,可由所述處理器中的至少一個(gè)處理器訪問; 持久存儲(chǔ)介質(zhì),可由所述處理器中的至少一個(gè)處理器訪問; 網(wǎng)絡(luò)接口,將所述信息操縱系統(tǒng)連接到計(jì)算機(jī)網(wǎng)絡(luò),其中所述網(wǎng)絡(luò)接口可由所述處理器中的至少一個(gè)處理器訪問;以及 指令集,存儲(chǔ)于所述存儲(chǔ)器中并且由所述處理器中的至少一個(gè)處理器執(zhí)行以便執(zhí)行以下動(dòng)作 對(duì)與源平臺(tái)相關(guān)聯(lián)的源拓?fù)淠P秃团c目標(biāo)平臺(tái)相關(guān)聯(lián)的目標(biāo)拓?fù)淠P瓦M(jìn)行差異化從而廣生拓?fù)洳町悾? 從資產(chǎn)庫獲得工作流模型中的操作,其中所述操作與所述拓?fù)洳町愊嚓P(guān)聯(lián),并且其中所述資產(chǎn)庫的至少部分存儲(chǔ)于所述持久存儲(chǔ)介質(zhì)中;以及 傳輸所述操作以用于部署解決方案的至少部分,其中所述解決方案的所部署的部分包括與所述目標(biāo)平臺(tái)兼容的目標(biāo)虛擬映像。
17.如權(quán)利要求16所述的信息操縱系統(tǒng),還包括 通過執(zhí)行所述操作在所述目標(biāo)平臺(tái)部署所述解決方案的所述部分。
18.如權(quán)利要求16所述的信息操縱系統(tǒng),其中所述源平臺(tái)是第一個(gè)云,并且其中所述目標(biāo)平臺(tái)是第二個(gè)云。
19.如權(quán)利要求16所述的信息操縱系統(tǒng),還包括 在元數(shù)據(jù)中搜索與所述目標(biāo)平臺(tái)相關(guān)聯(lián)的至少一個(gè)基本虛擬映像元數(shù)據(jù)。
20.如權(quán)利要求19所述的信息操縱系統(tǒng),還包括 響應(yīng)于所述搜索從存儲(chǔ)于所述資產(chǎn)庫中的所述元數(shù)據(jù)取回一個(gè)或者多個(gè)基本虛擬映像描述。
21.如權(quán)利要求20所述的信息操縱系統(tǒng),還包括 從所述資產(chǎn)庫取回對(duì)應(yīng)于所述源平臺(tái)的模型單元的第一集合; 從所述資產(chǎn)庫取回對(duì)應(yīng)于所述目標(biāo)平臺(tái)的模型單元的第二集合,其中所述差異化產(chǎn)生一個(gè)或者多個(gè)共同模型單元和一個(gè)或者多個(gè)不同模型單元; 重用對(duì)應(yīng)于每個(gè)所述共同模型單元的一個(gè)或者多個(gè)工作流步驟的第一集合; 從所述資產(chǎn)庫取回對(duì)應(yīng)于所述不同模型單元中的一個(gè)或者多個(gè)模型單元的一個(gè)或者多個(gè)工作流步驟的第二集合;以及 使用工作流步驟的重用的第一集合和工作流步驟的取回的第二集合來創(chuàng)建所述工作流模型。
22.如權(quán)利要求16所述的信息操縱系統(tǒng),還包括 將所述拓?fù)洳町惻c所述源拓?fù)淠P秃退瞿繕?biāo)拓?fù)淠P拖嚓P(guān)聯(lián);以及 在所述資產(chǎn)庫中存儲(chǔ)所述拓?fù)洳町惡退鲫P(guān)聯(lián)作為補(bǔ)丁。
23.如權(quán)利要求22所述的信息操縱系統(tǒng),還包括 接收對(duì)于所述源拓?fù)淠P投圆糠止餐牡诙赐負(fù)淠P秃蛯?duì)于所述目標(biāo)平臺(tái)而言部分共同的第二目標(biāo)平臺(tái); 在所述資產(chǎn)庫中搜索包括所述補(bǔ)丁的一個(gè)或者多個(gè)補(bǔ)丁,其中所述搜索包括相關(guān)聯(lián)的源拓?fù)淠P停? 響應(yīng)于所述搜索從所述資產(chǎn)庫取回所述補(bǔ)丁 ;以及 將取回的補(bǔ)丁應(yīng)用于所述第二源拓?fù)淠P蛷亩a(chǎn)生與所述第二目標(biāo)平臺(tái)相關(guān)聯(lián)的第二目標(biāo)拓?fù)淠P汀?br>
24.如權(quán)利要求16所述的信息操縱系統(tǒng),還包括 標(biāo)識(shí)對(duì)應(yīng)于所述源平臺(tái)的模型單元的第一集合; 標(biāo)識(shí)對(duì)應(yīng)于所述目標(biāo)平臺(tái)的模型單元的第二集合; 比較所述模型單元的第一集合與所述模型單元的第二集合,所述比較產(chǎn)生一個(gè)或者多個(gè)改變的模型單元的集合和一個(gè)或者多個(gè)共同模型單元的集合; 從對(duì)應(yīng)于所述共同模型單元的所述源拓?fù)淠P腿』刈詣?dòng)化步驟模型的第一集合;在所述資產(chǎn)庫中搜索所述改變的模型單元,所述搜索產(chǎn)生對(duì)應(yīng)于所述改變的模型單元的自動(dòng)化步驟模型的第二集合;以及 在所述工作流模型中包括所述自動(dòng)化步驟模型的第一集合和第二集合。
25.如權(quán)利要求26所述的信息操縱系統(tǒng),其中所述差異化產(chǎn)生一個(gè)或者多個(gè)新單元的標(biāo)識(shí),其中在所述目標(biāo)拓?fù)淠P椭邪l(fā)現(xiàn)而在所述源拓?fù)淠P椭形窗l(fā)現(xiàn)所述新單元,并且其中所述動(dòng)作還包括在所述資產(chǎn)庫中搜索所述新單元。
26.如權(quán)利要求16所述的信息操縱系統(tǒng),其中所述源平臺(tái)是在一個(gè)或者多個(gè)計(jì)算機(jī)系統(tǒng)的第一集合上運(yùn)行的第一管理程序,其中所述目標(biāo)平臺(tái)是在一個(gè)或者多個(gè)計(jì)算機(jī)系統(tǒng)的第二集合上運(yùn)行的第二管理程序,并且其中所述第一管理程序和第二管理程序是不同類型的管理程序。
27.一種計(jì)算機(jī)程序,包括用于在被加載到計(jì)算機(jī)系統(tǒng)中并且執(zhí)行時(shí)執(zhí)行根據(jù)權(quán)利要求I至15中的任一權(quán)利要求所述的方法的所有所述步驟的計(jì)算機(jī)程序代碼。
全文摘要
在一個(gè)實(shí)施例中,提供一種對(duì)與源平臺(tái)相關(guān)聯(lián)的源拓?fù)淠P秃团c目標(biāo)平臺(tái)相關(guān)聯(lián)的目標(biāo)拓?fù)淠P瓦M(jìn)行差異化的方法。這一差異化由處理器執(zhí)行并且產(chǎn)生拓?fù)洳町?。從資產(chǎn)庫獲得工作流模型中的操作,該操作與拓?fù)洳町愊嚓P(guān)聯(lián)。資產(chǎn)庫的至少部分存儲(chǔ)于持久存儲(chǔ)介質(zhì)中。傳輸用于部署解決方案的部分的操作以用于部署。解決方案的所部署的部分包括與目標(biāo)平臺(tái)兼容的目標(biāo)映像。
文檔編號(hào)G06F9/455GK102725733SQ201080060191
公開日2012年10月10日 申請(qǐng)日期2010年12月14日 優(yōu)先權(quán)日2009年12月31日
發(fā)明者A·米羅斯金, I·波達(dá), I·薩克哈雷維, V·B·波諾瑪雷維, Y·加波南科 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司