專利名稱:在分布式應(yīng)用對(duì)象上提供更新通知的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及在分布式應(yīng)用對(duì)象上提供更新通知。
背景技術(shù):
計(jì)算機(jī)系統(tǒng)和相關(guān)技術(shù)影響社會(huì)的許多方面。的確,計(jì)算機(jī)系統(tǒng)處理信息的能力已轉(zhuǎn)變了人們生活和工作的方式。計(jì)算機(jī)系統(tǒng)現(xiàn)在通常執(zhí)行在計(jì)算機(jī)系統(tǒng)出現(xiàn)以前手動(dòng)執(zhí)行的許多任務(wù)(例如,文字處理、日程安排和會(huì)計(jì)等)。最近,計(jì)算機(jī)系統(tǒng)彼此耦合并耦合到其他電子設(shè)備以形成計(jì)算機(jī)系統(tǒng)和其他電子設(shè)備可以在其上傳輸電子數(shù)據(jù)的有線和無(wú)線計(jì)算機(jī)網(wǎng)絡(luò)。因此,許多計(jì)算任務(wù)的執(zhí)行分布在多個(gè)不同的計(jì)算機(jī)系統(tǒng)和/或多個(gè)不同的計(jì)算環(huán)境中。在一些環(huán)境中,許多不同的物理資源被編組在一起并被虛擬化,以創(chuàng)建虛擬計(jì)算機(jī)系統(tǒng)(即,“虛擬機(jī)”)。例如,虛擬機(jī)可包括指定數(shù)量的處理器、指定量的存儲(chǔ)器、一個(gè)或多個(gè)虛擬存儲(chǔ)設(shè)備、要存儲(chǔ)在虛擬存儲(chǔ)設(shè)備上的應(yīng)用或其他組件,等等。為創(chuàng)建虛擬機(jī),ー個(gè)或多個(gè)用戶指定該虛擬機(jī)的所需配置。這ー配置可包括設(shè)置虛擬機(jī)實(shí)例上的多個(gè)屬性,如引用特定虛擬存儲(chǔ)設(shè)備的屬性。在本說(shuō)明書(shū)中,在虛擬存儲(chǔ)設(shè)備和這些設(shè)備的內(nèi)容(在下文中一般稱為虛擬盤(pán))之間作出區(qū)分。虛擬硬盤(pán)驅(qū)動(dòng)器是虛擬存儲(chǔ)設(shè)備,而虛擬硬盤(pán)驅(qū)動(dòng)器的內(nèi)容被稱為虛擬硬盤(pán)。虛擬硬盤(pán)驅(qū)動(dòng)器被表示為關(guān)于虛擬機(jī)的屬性,而虛擬硬盤(pán)是包含諸如該虛擬機(jī)所使用的操作系統(tǒng)等數(shù)據(jù)的文件。類似地,虛擬CD或DVD驅(qū)動(dòng)器被表示為關(guān)于虛擬機(jī)的屬性,而虛擬CD或虛擬DVD被表示為文件(例如,用于DVD的內(nèi)容的.1SO)。另ー形式的虛擬盤(pán)是虛擬機(jī)盤(pán)(VMDK)。為便于創(chuàng)建虛擬機(jī),可以根據(jù)虛擬機(jī)模板對(duì)象來(lái)生成虛擬機(jī)的實(shí)例(與需要手動(dòng)配置各屬性形成対比)。虛擬機(jī)模板對(duì)象可被認(rèn)為是用于創(chuàng)建虛擬機(jī)的藍(lán)圖。虛擬機(jī)模板對(duì)象可以指定所需物理資源和它們的配置。例如,虛擬機(jī)模板對(duì)象可包括用于指定處理器的數(shù)量、存儲(chǔ)器的量等的元數(shù)據(jù)。虛擬機(jī)模板對(duì)象還可標(biāo)識(shí)虛擬機(jī)要包括虛擬硬盤(pán)驅(qū)動(dòng)器(或其他虛擬存儲(chǔ)設(shè)備)和應(yīng)當(dāng)被包括在虛擬硬盤(pán)驅(qū)動(dòng)器內(nèi)的內(nèi)容。例如,虛擬機(jī)模板對(duì)象可以引用虛擬硬盤(pán)對(duì)象。另外,服務(wù)模板對(duì)象可被用作用于創(chuàng)建分布式應(yīng)用的藍(lán)圖。在本說(shuō)明書(shū)中,術(shù)語(yǔ)分布式應(yīng)用一般與術(shù)語(yǔ)服務(wù)實(shí)例互換地使用。分布式應(yīng)用包括被配置成實(shí)現(xiàn)所需功能的ー組一個(gè)或多個(gè)虛擬機(jī)。因此,服務(wù)模板對(duì)象可引用一個(gè)或多個(gè)虛擬機(jī)模板對(duì)象,其中要根據(jù)該虛擬機(jī)模板對(duì)象來(lái)創(chuàng)建ー個(gè)或多個(gè)虛擬機(jī)實(shí)例以實(shí)現(xiàn)分布式應(yīng)用。在本說(shuō)明書(shū)中,包括附圖,虛擬機(jī)模板對(duì)象和服務(wù)模板對(duì)象被統(tǒng)稱為模板對(duì)象。在根據(jù)虛擬機(jī)模板對(duì)象創(chuàng)建虛擬機(jī)時(shí),使用在該虛擬機(jī)模板對(duì)象中定義的屬性來(lái)配置該虛擬機(jī)。因此,虛擬機(jī)模板對(duì)象可被用來(lái)確保虛擬機(jī)的許多實(shí)例被類似地配置。例如,虛擬機(jī)模板對(duì)象可被定義一次,并且可根據(jù)該虛擬機(jī)模板對(duì)象生成虛擬機(jī)的許多實(shí)例,使得每ー實(shí)例具有相同屬性(例如,同一虛擬硬盤(pán)的副本、相同數(shù)量的處理器和存儲(chǔ)器,等坐、
ノ O類似地,服務(wù)模板對(duì)象可被定義一次,并且可根據(jù)該服務(wù)模板對(duì)象來(lái)生成分布式應(yīng)用的許多實(shí)例,使得分布式應(yīng)用的每ー實(shí)例包括相同數(shù)量的具有相同配置的虛擬機(jī)。雖然對(duì)本發(fā)明的理解而言并非必要,服務(wù)模板對(duì)象可包括引用虛擬機(jī)模板對(duì)象的分層模板對(duì)象。一層是被相同地配置的一組虛擬機(jī)。因此,分層模板對(duì)象可以引用虛擬機(jī)模板對(duì)象并指示應(yīng)根據(jù)該虛擬機(jī)模板對(duì)象生成的虛擬機(jī)實(shí)例的數(shù)量。用于創(chuàng)建虛擬機(jī)的資源通常是由不同的人來(lái)設(shè)計(jì)和/或管理的。例如,應(yīng)用一般由開(kāi)發(fā)人員創(chuàng)建。另ー方面,虛擬硬盤(pán)一般由主存虛擬機(jī)的公司的服務(wù)器管理員創(chuàng)建。模板對(duì)象通常由需要虛擬機(jī)的公司的IT管理員或其他IT員エ創(chuàng)建,并且虛擬機(jī)的各實(shí)例是由該公司的不同IT員エ部署的或甚至是由希望使用該公司的模板對(duì)象的另一公司來(lái)部署的。至少部分由于在創(chuàng)建和部署虛擬機(jī)的過(guò)程中所涉及的不同各方的數(shù)量,向所有相關(guān)各方通知對(duì)用于創(chuàng)建該虛擬機(jī)的資源的變更可能是困難的。提供經(jīng)變更的資源的通知的ー些方法涉及傳統(tǒng)通信模式,如電子郵件、電話,等等。這些傳統(tǒng)方法具有高等待時(shí)間,冗長(zhǎng)且易于出錯(cuò)。例如,由服務(wù)器管理員確定依賴`于特定虛擬硬盤(pán)的每一模板對(duì)象井隨后向每ー相關(guān)方通知對(duì)虛擬硬盤(pán)的變更一般是耗時(shí)的。另外,即使向每ー相關(guān)方通知了該變更(如通過(guò)電子郵件或電話),一方可能很容易忘記對(duì)該變更進(jìn)行響應(yīng)或以某ー其他方式未能修改模板對(duì)象而不能使用經(jīng)更新的虛擬硬盤(pán)。在創(chuàng)建經(jīng)更新的模板對(duì)象時(shí),存在類似問(wèn)題。例如,需要向管理依賴于該模板對(duì)象的服務(wù)實(shí)例對(duì)象的每一方通知經(jīng)更新的模板對(duì)象的可用性。如上所述,通知這些各方并且使被通知到的各方也適當(dāng)?shù)貙?duì)該通知作出響應(yīng)可能是冗長(zhǎng)且易于出錯(cuò)的過(guò)程。
發(fā)明內(nèi)容
本發(fā)明涉及用于在用來(lái)創(chuàng)建分布式應(yīng)用的對(duì)象上提供更新通知的方法、系統(tǒng)以及計(jì)算機(jī)程序產(chǎn)品。本發(fā)明簡(jiǎn)化了向相關(guān)各方通知新的或經(jīng)更新的對(duì)象的過(guò)程,并且便于對(duì)這些通知適當(dāng)?shù)剡M(jìn)行響應(yīng)。在一個(gè)實(shí)施例中,檢測(cè)到創(chuàng)建虛擬盤(pán)對(duì)象的新版本。該對(duì)象表示供在分布式應(yīng)用中使用的虛擬盤(pán)。標(biāo)識(shí)ー個(gè)或多個(gè)模板對(duì)象。該ー個(gè)或多個(gè)模板對(duì)象依賴于該虛擬盤(pán)對(duì)象。向該ー個(gè)或多個(gè)模板對(duì)象中的每ー個(gè)提供指示已創(chuàng)建了該虛擬盤(pán)對(duì)象的新版本的通知。在另ー實(shí)施例中,檢測(cè)到創(chuàng)建模板對(duì)象的新版本。模板對(duì)象的該新版本定義分布式應(yīng)用。標(biāo)識(shí)根據(jù)該模板對(duì)象生成的一個(gè)或多個(gè)服務(wù)實(shí)例對(duì)象。向該ー個(gè)或多個(gè)服務(wù)實(shí)例對(duì)象中的每ー個(gè)提供通知。該通知指示已創(chuàng)建了該模板對(duì)象的新版本。提供本發(fā)明內(nèi)容以便以簡(jiǎn)化的形式介紹將在以下的具體實(shí)施方式
中進(jìn)ー步描述的ー些概念。本發(fā)明內(nèi)容并非g在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。本發(fā)明的附加特征和優(yōu)點(diǎn)將在以下描述中敘述,且其一部分根據(jù)本描述將是顯而易見(jiàn)的,或可通過(guò)對(duì)本發(fā)明的實(shí)踐來(lái)獲知。本發(fā)明的特征和優(yōu)點(diǎn)可通過(guò)在所附權(quán)利要求書(shū)中特別指出的工具和組合來(lái)實(shí)現(xiàn)和獲得。本發(fā)明的這些和其他特征將通過(guò)以下描述和所附權(quán)利要求書(shū)變得更加顯而易見(jiàn),或可通過(guò)對(duì)下文中所述的本發(fā)明的實(shí)踐來(lái)領(lǐng)會(huì)。
為了描述可獲得本發(fā)明的上述和其他優(yōu)點(diǎn)和特征的方式,將通過(guò)參考附圖中示出的本發(fā)明的具體實(shí)施例來(lái)呈現(xiàn)以上簡(jiǎn)要描述的本發(fā)明的更具體描述??梢岳斫?,這些附圖僅描述本發(fā)明的典型實(shí)施例,從而不被認(rèn)為是對(duì)其范圍的限制,本發(fā)明將通過(guò)使用附圖用附加特征和細(xì)節(jié)來(lái)描述和說(shuō)明,在附圖中圖1示出便于在分布式應(yīng)用對(duì)象上提供更新通知的示例計(jì)算機(jī)體系結(jié)構(gòu);圖2A示出圖1的示例計(jì)算機(jī)體系結(jié)構(gòu)內(nèi)的計(jì)算機(jī)系統(tǒng)中的各邏輯空間;圖2B-2E示出如何向該計(jì)算機(jī)系統(tǒng)中的邏輯空間內(nèi)的對(duì)象提供通知;圖3是用于向依賴于虛擬盤(pán)對(duì)象的ー個(gè)或多個(gè)模板對(duì)象提供對(duì)該虛擬盤(pán)對(duì)象的更新的通知的方法的流程圖;以及圖4是用于向根據(jù)模板對(duì)象生成的一個(gè)或多個(gè)服務(wù)實(shí)例對(duì)象提供對(duì)該模板對(duì)象的更新的通知的方法的流程圖。
具體實(shí)施例方式
本發(fā)明涉及用于在用來(lái)創(chuàng)建分布式應(yīng)用的對(duì)象上提供更新通知的方法、系統(tǒng)以及計(jì)算機(jī)程序產(chǎn)品。本發(fā)明簡(jiǎn)化了向相關(guān)各方通知新的或經(jīng)更新的對(duì)象的過(guò)程,并且便于對(duì)這些通知適當(dāng)?shù)剡M(jìn)行響應(yīng)。在一個(gè)實(shí)施例中,檢測(cè)到創(chuàng)建虛擬盤(pán)對(duì)象的新版本。該對(duì)象表示供在分布式應(yīng)用中使用的虛擬盤(pán)。標(biāo)識(shí)了ー個(gè)或多個(gè)模板對(duì)象。該ー個(gè)或多個(gè)模板對(duì)象依賴于該虛擬盤(pán)對(duì)象。向該ー個(gè)或多個(gè)模板對(duì)象中的每ー個(gè)提供指示已創(chuàng)建了該虛擬盤(pán)對(duì)象的新版本的通知。在另ー實(shí)施例中,檢測(cè)到創(chuàng)建模板對(duì)象的新版本。模板對(duì)象的該新版本定義分布式應(yīng)用。標(biāo)識(shí)根據(jù)該模板對(duì)象生成的一個(gè)或多個(gè)服務(wù)實(shí)例對(duì)象。向該ー個(gè)或多個(gè)服務(wù)實(shí)例對(duì)象中的每ー個(gè)提供通知。該通知指示已創(chuàng)建了該模板對(duì)象的新版本。本發(fā)明的各實(shí)施例可包括或利用專用或通用計(jì)算機(jī),該專用或通用計(jì)算機(jī)包括諸如例如一個(gè)或多個(gè)處理器和系統(tǒng)存儲(chǔ)器等計(jì)算機(jī)硬件,如以下更詳細(xì)討論的。本發(fā)明范圍內(nèi)的各實(shí)施例還包括用于承載或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理和其他計(jì)算機(jī)可讀介質(zhì)。這樣的計(jì)算機(jī)可讀介質(zhì)可以是可由通用或?qū)S糜?jì)算機(jī)系統(tǒng)訪問(wèn)的任何可用介質(zhì)。存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是計(jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)。承載計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制,本發(fā)明的各實(shí)施例可包括至少兩種顯著不同的計(jì)算機(jī)可讀介質(zhì)計(jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)和傳輸介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)包括RAM、ROM、EEPROM、CD-ROM、固態(tài)驅(qū)動(dòng)器(SSD)(如基于RAM)、閃存、相變存儲(chǔ)器(PCM)、其他類型的存儲(chǔ)器、其他光盤(pán)存儲(chǔ)、磁盤(pán)存儲(chǔ)或其他磁存儲(chǔ)設(shè)備、或可用于存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜?jì)算機(jī)訪問(wèn)的任何其他介質(zhì)。“網(wǎng)絡(luò)”被定義為允許在計(jì)算機(jī)系統(tǒng)和/或模塊和/或其他電子設(shè)備之間傳輸電子數(shù)據(jù)的ー個(gè)或多個(gè)數(shù)據(jù)鏈路。當(dāng)信息通過(guò)網(wǎng)絡(luò)或另ー個(gè)通信連接(硬連線、無(wú)線、或者硬連線或無(wú)線的組合)傳輸或提供給計(jì)算機(jī)吋,該計(jì)算機(jī)將該連接適當(dāng)?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì)可包括可用于攜帶計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜?jì)算機(jī)訪問(wèn)的網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路。上述的組合也應(yīng)被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。此外,在到達(dá)各種計(jì)算機(jī)系統(tǒng)組件之后,計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程序代碼裝置可從傳輸介質(zhì)自動(dòng)傳輸?shù)接?jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)(或反之亦然)。例如,通過(guò)網(wǎng)絡(luò)或數(shù)據(jù)鏈接接收到的計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可被緩存在網(wǎng)絡(luò)接ロ模塊(例如,“NIC”)內(nèi)的RAM中,然后最終被傳輸?shù)接?jì)算機(jī)系統(tǒng)RAM和/或計(jì)算機(jī)系統(tǒng)處的較不易失性的計(jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)。因而,應(yīng)當(dāng)理解,計(jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)可被包括在還利用(甚至主要利用)傳輸介質(zhì)的計(jì)算機(jī)系統(tǒng)組件中。計(jì)算機(jī)可執(zhí)行指令例如包括,當(dāng)在處理器處執(zhí)行時(shí)使通用計(jì)算機(jī)、專用計(jì)算機(jī)、或?qū)S锰幚碓O(shè)備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計(jì)算機(jī)可執(zhí)行指令可以是例如ニ進(jìn)制代碼、諸如匯編語(yǔ)言之類的中間格式指令、或甚至源代碼。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專用的語(yǔ)言描述了本主題,但可以理解,所附權(quán)利要求書(shū)中定義的主題不必限于上述特征或動(dòng)作。相反,上述特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式而公開(kāi)的。本領(lǐng)域的技術(shù)人員將理解,本發(fā)明可以在具有許多類型的計(jì)算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計(jì)算環(huán)境中實(shí)踐,這些計(jì)算機(jī)系統(tǒng)配置包括個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、消息處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、移動(dòng)電話、PDA、尋呼機(jī)、路由器、交換機(jī)等等。本發(fā)明也可在其中通過(guò)網(wǎng)絡(luò)鏈接(或者通過(guò)硬連線數(shù)據(jù)鏈路、無(wú)線數(shù)據(jù)鏈路,或者通過(guò)硬連線和無(wú)線數(shù)據(jù)鏈路的組合)的本地和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)兩者都執(zhí)行任務(wù)的分布式系統(tǒng)環(huán)境中實(shí)施。在分布式系統(tǒng)環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備二者中。圖1示出 便于在分布式應(yīng)用對(duì)象上提供更新通知的示例計(jì)算機(jī)體系結(jié)構(gòu)100。參考圖1,計(jì)算機(jī)體系結(jié)構(gòu)100包括包含用于創(chuàng)建和執(zhí)行虛擬機(jī)的多個(gè)互連處理器、存儲(chǔ)器、以及存儲(chǔ)設(shè)備的計(jì)算機(jī)系統(tǒng)101。例如,計(jì)算機(jī)系統(tǒng)101包括存儲(chǔ)設(shè)備102、處理器103、以及存儲(chǔ)器104。計(jì)算機(jī)系統(tǒng)101可在計(jì)算系統(tǒng)的云中實(shí)現(xiàn)。計(jì)算機(jī)系統(tǒng)101的示例可包括構(gòu)成微軟的系統(tǒng)中心虛擬機(jī)管理器(System Center Virtual Machine Manager)產(chǎn)品的資源。計(jì)算機(jī)系統(tǒng)101可被通過(guò)網(wǎng)絡(luò)(例如,局域網(wǎng)(“LAN”)、廣域網(wǎng)(“WAN”)、或甚至因特網(wǎng))連接到其他計(jì)算機(jī)系統(tǒng),如計(jì)算機(jī)系統(tǒng)106和107。因此,其他計(jì)算機(jī)系統(tǒng)可使用任何可用的手段與計(jì)算機(jī)系統(tǒng)101進(jìn)行通信,如通過(guò)創(chuàng)建消息相關(guān)數(shù)據(jù)并經(jīng)由網(wǎng)絡(luò)交換消息相關(guān)數(shù)據(jù)(例如,因特網(wǎng)協(xié)議(“IP”)數(shù)據(jù)報(bào)和利用IP數(shù)據(jù)報(bào)的其他更高層協(xié)議,如傳輸控制協(xié)議(“TCP”)、超文本傳輸協(xié)議(“HTTP”)、簡(jiǎn)單郵件傳輸協(xié)議(“SMTP”)等)。這樣的通信可包括用于與正在執(zhí)行的虛擬機(jī)進(jìn)行交互的命令,或用于在計(jì)算機(jī)系統(tǒng)101內(nèi)配置新的或現(xiàn)有的虛擬機(jī)的指令。圖2A示出計(jì)算機(jī)系統(tǒng)101內(nèi)的各邏輯空間。計(jì)算機(jī)系統(tǒng)101可包括庫(kù)空間201、模板空間202、以及實(shí)例空間203。圖2A還示出計(jì)算機(jī)系統(tǒng)101可包括刷新器204,其功能將在下文描述。庫(kù)空間201存儲(chǔ)定義虛擬盤(pán)的對(duì)象。例如,庫(kù)空間201可以表示存儲(chǔ)定義計(jì)算機(jī)系統(tǒng)101內(nèi)可用的虛擬硬盤(pán)以及其他虛擬盤(pán)(如虛擬⑶或虛擬DVD)的對(duì)象的物理位置。庫(kù)空間201還可存儲(chǔ)用于創(chuàng)建虛擬機(jī)的其他人エ產(chǎn)物,如應(yīng)用、腳本、驅(qū)動(dòng)程序等。如圖所示,庫(kù)空間201存儲(chǔ)虛擬硬盤(pán)對(duì)象205。虛擬硬盤(pán)(或其他虛擬盤(pán))是存儲(chǔ)該虛擬硬盤(pán)的內(nèi)容(如操作系統(tǒng))的文件??筛鶕?jù)虛擬硬盤(pán)對(duì)象來(lái)創(chuàng)建虛擬硬盤(pán)的實(shí)例(如通過(guò)將表示該虛擬硬盤(pán)的文件復(fù)制到執(zhí)行使用該虛擬硬盤(pán)的虛擬機(jī)的主機(jī)系統(tǒng))。虛擬硬盤(pán)對(duì)象205具有家族名稱A. VHD和版本R-1。在下文描述對(duì)家族名稱和版本的使用。雖然各附圖示出了對(duì)虛擬硬盤(pán)的使用,但任何其他類型的虛擬盤(pán)(如虛擬DVD)可用在本發(fā)明的各實(shí)施例中。另外,根據(jù)本發(fā)明的虛擬機(jī)可以使用ー個(gè)以上虛擬盤(pán)。下文描述的通知技術(shù)可以同樣應(yīng)用于每一虛擬盤(pán)。模板空間202存儲(chǔ)所定義的模板對(duì)象,如虛擬機(jī)模板對(duì)象和服務(wù)模板對(duì)象。例如,模板空間202可以表示模板對(duì)象在計(jì)算機(jī)系統(tǒng)101內(nèi)被存儲(chǔ)的物理位置。在一特定實(shí)施例中,模板空間202可以表示存儲(chǔ)在計(jì)算機(jī)系統(tǒng)101內(nèi)定義的各模板對(duì)象的各組成值連同哪些模板對(duì)象使用哪ー組成值的標(biāo)識(shí)的ー個(gè)或多個(gè)數(shù)據(jù)庫(kù)表。然而,在其他實(shí)施例中,其他數(shù)據(jù)結(jié)構(gòu)可被用于模板對(duì)象。如圖所示,模板空間202包括模板對(duì)象206。模板對(duì)象206表示虛擬機(jī)模板對(duì)象。虛擬機(jī)模板對(duì)象標(biāo)識(shí)虛擬硬盤(pán)對(duì)象(以及可能其他虛擬盤(pán)對(duì)象),指定處理器的數(shù)量、存儲(chǔ)器的量、以及要安裝在該虛擬硬盤(pán)的實(shí)例上的應(yīng)用或組件,以及其他。在創(chuàng)建虛擬機(jī)的實(shí)例時(shí)使用虛擬機(jī)模板對(duì)象。例 如,模板對(duì)象206可標(biāo)識(shí)虛擬硬盤(pán)對(duì)象205,從而指示根據(jù)模板對(duì)象206生成的虛擬機(jī)實(shí)例將包括根據(jù)虛擬硬盤(pán)對(duì)象205來(lái)實(shí)例化的虛擬硬盤(pán)。雖然模板對(duì)象206被描述為表示虛擬機(jī)模板對(duì)象,但出于本發(fā)明的目的,模板對(duì)象206也可表示服務(wù)模板對(duì)象。例如,服務(wù)模板對(duì)象包括一個(gè)或多個(gè)虛擬機(jī)模板對(duì)象。具體而言,服務(wù)模板對(duì)象標(biāo)識(shí)將組成根據(jù)該服務(wù)模板對(duì)象創(chuàng)建的服務(wù)實(shí)例的一個(gè)或多個(gè)虛擬機(jī)模板對(duì)象。服務(wù)模板對(duì)象還定義用于定義服務(wù)實(shí)例的其他屬性和配置設(shè)置,如每一虛擬機(jī)如何與該服務(wù)實(shí)例中的其他虛擬機(jī)進(jìn)行通信。因此,可以說(shuō),服務(wù)模板對(duì)象間接引用被該服務(wù)模板對(duì)象中引用的虛擬機(jī)模板對(duì)象所直接引用的虛擬盤(pán)對(duì)象中的每ー個(gè)。因此,對(duì)虛擬盤(pán)對(duì)象的更新的通知可被類似地提供給直接引用該虛擬盤(pán)對(duì)象的虛擬機(jī)模板對(duì)象和引用對(duì)該虛擬盤(pán)對(duì)象進(jìn)行引用的任何虛擬機(jī)模板對(duì)象的服務(wù)模板對(duì)象兩者。本說(shuō)明書(shū)的其余部分以及權(quán)利要求書(shū)一般將指模板對(duì)象。這樣的引用應(yīng)被解釋為包括虛擬機(jī)和服務(wù)模板對(duì)象兩者,除非另外定義。實(shí)例空間203包含服務(wù)實(shí)例,如服務(wù)實(shí)例214,它們是一組ー個(gè)或多個(gè)虛擬機(jī)實(shí)例。例如,實(shí)例空間203可表示虛擬機(jī)實(shí)例在其中執(zhí)行的物理處理器、存儲(chǔ)器、以及存儲(chǔ)。如圖所示,實(shí)例空間203還可包括服務(wù)實(shí)例對(duì)象。服務(wù)實(shí)例對(duì)象是表示服務(wù)實(shí)例的數(shù)據(jù)結(jié)構(gòu)。例如,服務(wù)實(shí)例對(duì)象214a可表示服務(wù)實(shí)例214。服務(wù)實(shí)例214可根據(jù)模板對(duì)象206來(lái)創(chuàng)建并約束虛擬機(jī)實(shí)例207。虛擬機(jī)實(shí)例207引用虛擬硬盤(pán)實(shí)例205a。雖然服務(wù)實(shí)例214被示為包括單個(gè)虛擬機(jī)實(shí)例,但任何數(shù)量的虛擬機(jī)實(shí)例可組成服務(wù)實(shí)例214。在本說(shuō)明書(shū)中,服務(wù)實(shí)例和分布式應(yīng)用一般g在指類似的事物。分布式應(yīng)用在一組ー個(gè)或多個(gè)虛擬機(jī)實(shí)例內(nèi)執(zhí)行。例如,多層分布式應(yīng)用可包括實(shí)現(xiàn)該應(yīng)用的前端的ー個(gè)或多個(gè)虛擬機(jī)、實(shí)現(xiàn)該應(yīng)用的中間層的一個(gè)或多個(gè)虛擬機(jī)、以及實(shí)現(xiàn)該應(yīng)用的數(shù)據(jù)庫(kù)后端的一個(gè)或多個(gè)虛擬機(jī)。在該示例中,多層分布式應(yīng)用的虛擬機(jī)中的每ー個(gè)可以根據(jù)虛擬機(jī)模板對(duì)象來(lái)生成。表示該分布式應(yīng)用的服務(wù)模板對(duì)象可以引用這些虛擬機(jī)模板對(duì)象中的每ー個(gè)。為創(chuàng)建虛擬機(jī)實(shí)例207,根據(jù)模板對(duì)象206中標(biāo)識(shí)的虛擬硬盤(pán)對(duì)象205來(lái)實(shí)例化虛擬硬盤(pán)實(shí)例205a,如模板對(duì)象206中所定義的那樣來(lái)分配處理器和存儲(chǔ)器,并且將模板對(duì)象206中定義的應(yīng)用和組件安裝在虛擬硬盤(pán)實(shí)例205a上。圖2B示出在創(chuàng)建經(jīng)更新的虛擬硬盤(pán)對(duì)象時(shí)如何在模板對(duì)象上提供通知。圖2B類似于圖2A,加上虛擬硬盤(pán)對(duì)象208和經(jīng)更新資源列表209。虛擬硬盤(pán)對(duì)象208包括對(duì)虛擬硬盤(pán)對(duì)象205的更新。例如,虛擬硬盤(pán)對(duì)象205可包含操作系統(tǒng)的初始版本,而虛擬硬盤(pán)對(duì)象208可包含操作系統(tǒng)的經(jīng)修補(bǔ)版本。圖2B示出虛擬硬盤(pán)對(duì)象208具有與虛擬硬盤(pán)對(duì)象205相同的家族名稱(A. VHD)但具有不同的版本(R-2)。經(jīng)更新資源列表209包括對(duì)模板對(duì)象206所依賴的資源的更新的列表。例如,如上所述,模板對(duì)象206標(biāo)識(shí)虛擬硬盤(pán)對(duì)象205。因?yàn)樘摂M硬盤(pán)對(duì)象208是虛擬硬盤(pán)對(duì)象205的經(jīng)更新版本,所以向經(jīng)更新資源列表209添加ー個(gè)條目,該條目將虛擬硬盤(pán)對(duì)象208標(biāo)識(shí)為對(duì)虛擬硬盤(pán)對(duì)象205的可用更新。通知可以通過(guò)使用對(duì)象的家族名稱和版本來(lái)標(biāo)識(shí)經(jīng)更新對(duì)象,如下文充分描述的。雖然圖2A和2B示出了單個(gè)模板對(duì)象依賴于虛擬硬盤(pán)對(duì)象205并且單個(gè)服務(wù)實(shí)例對(duì)象214a依賴于模板對(duì)象206,但多個(gè)模板對(duì)象和服務(wù)實(shí)例對(duì)象可分別依賴于單個(gè)虛擬硬盤(pán)對(duì)象和單個(gè)模板對(duì)象。刷新器204包括可周期性地或以其他時(shí)間間隔來(lái)執(zhí)行以確定是否創(chuàng)建了對(duì)虛擬硬盤(pán)對(duì)象或模板對(duì)象的任何更新的模塊。在刷新器204標(biāo)識(shí)了經(jīng)更新對(duì)象時(shí),它更新適當(dāng)?shù)慕?jīng)更新資源列表。例如, 在虛擬硬盤(pán)對(duì)象208被創(chuàng)建時(shí),刷新器204可向經(jīng)更新資源列表209添加條目。本發(fā)明的各實(shí)施例還可提供一種用于向各對(duì)像提供即時(shí)通知的機(jī)制。例如,如果服務(wù)管理員創(chuàng)建了虛擬硬盤(pán)對(duì)象的新版本,則他可使得在依賴于該虛擬硬盤(pán)對(duì)象的每ー模板對(duì)象上立即發(fā)出通知,而非等待刷新器204再次運(yùn)行。除向與對(duì)象相關(guān)聯(lián)的經(jīng)更新資源列表添加條目之外,本發(fā)明的各實(shí)施例還可在該對(duì)象內(nèi)設(shè)置標(biāo)志,以通知該對(duì)象它的經(jīng)更新資源列表已被修改。只要該對(duì)象的經(jīng)更新資源列表包含通知,這ー標(biāo)志就保持設(shè)置。圖2C示出了另一虛擬硬盤(pán)對(duì)象211已被添加到庫(kù)空間201。虛擬硬盤(pán)對(duì)象211包括對(duì)虛擬硬盤(pán)對(duì)象208的更新。圖2C示出了虛擬硬盤(pán)對(duì)象211具有與虛擬硬盤(pán)對(duì)象205和208相同的家族名稱(A. VHD),但具有與虛擬硬盤(pán)對(duì)象205和208不同的版本(R-3)。作為添加虛擬硬盤(pán)對(duì)象211的結(jié)果,圖2C示出了經(jīng)更新資源列表209已被修改。經(jīng)更新資源列表209現(xiàn)在包括兩個(gè)通知,虛擬硬盤(pán)對(duì)象208和211各ー個(gè)。圖2D示出在創(chuàng)建經(jīng)更新的模板對(duì)象時(shí)如何在服務(wù)實(shí)例對(duì)象上提供通知。圖2D類似于圖2B,但包括在模板空間202和經(jīng)更新資源列表210中添加了新模板對(duì)象212。在圖2D中,模板對(duì)象206和212兩者被示為包括家族名稱和版本。模板對(duì)象212是模板對(duì)象206的經(jīng)更新版本,如以下事實(shí)所示這兩個(gè)對(duì)象共享家族名稱(X. Temple)但具有不同的版本(分別是R-1和R-2)。該更新可以是對(duì)模板對(duì)象206的任何變更,然而,圖2D示出了模板對(duì)象212中的更新是對(duì)虛擬硬盤(pán)對(duì)象208的引用。模板對(duì)象212的版本的通知可按上述類似的方式被設(shè)置在服務(wù)實(shí)例對(duì)象214a上。例如,如圖所示,經(jīng)更新資源列表210現(xiàn)在包括模板對(duì)象212的通知。如果在添加模板對(duì)象212的通知之前經(jīng)更新資源列表210是空的,則可設(shè)置服務(wù)實(shí)例對(duì)象214a中的標(biāo)志以向服務(wù)實(shí)例對(duì)象214a指示經(jīng)更新資源列表210中有ー個(gè)或多個(gè)通知。然而,如果經(jīng)更新資源列表210已經(jīng)包含通知,則該標(biāo)志將已經(jīng)是設(shè)置了的。模板對(duì)象212的通知也可如下所述地解散。雖然圖2D沒(méi)有示出模板對(duì)象212的經(jīng)更新資源列表,但模板對(duì)象212的經(jīng)更新資源列表將顯得類似于經(jīng)更新資源列表209。例如,如果模板對(duì)象212也標(biāo)識(shí)了虛擬硬盤(pán)對(duì)象205,則虛擬硬盤(pán)對(duì)象208的通知可被添加到模板對(duì)象212的經(jīng)更新資源列表。當(dāng)然,如果模板對(duì)象212標(biāo)識(shí)了虛擬硬盤(pán)對(duì)象208,則這樣的通知將是不必要的。圖2E示出了如何從對(duì)象的經(jīng)更新資源列表中解散通知。圖2E在以下方面與圖2D不同另ー經(jīng)更新的模板對(duì)象213已被添加到模板空間203。模板對(duì)象213也是對(duì)模板對(duì)象206的更新,如共享與模板對(duì)象206相同的名稱但不同版本的模板對(duì)象213所示。如圖所示,經(jīng)更新資源列表210包括模板對(duì)象213的新添加的通知,但模板對(duì)象212的通知已被解散。圖2E示出了出于簡(jiǎn)明的目的所解散的通知被劃掉,然而,該通知也可從經(jīng)更新資源列表210中移除。服務(wù)模板對(duì)象21 4a的管理員可出于任何原因來(lái)解散通知。例如,管理員也可解散經(jīng)更新資源列表210中的模板對(duì)象212的通知。在本發(fā)明的一些實(shí)施例中,如圖2E所示,只有服務(wù)實(shí)例對(duì)象的經(jīng)更新資源列表中的通知能被解散,而模板對(duì)象的經(jīng)更新資源列表中的通知不能被解散。在其他實(shí)施例中,模板對(duì)象的經(jīng)更新資源列表中的通知也可被解散。除向經(jīng)更新資源列表添加通知之外,刷新器204也可移除舊通知。例如,再次參考圖2E,如果模板對(duì)象213被刪除,則刷新器204可檢測(cè)到該刪除并相應(yīng)地對(duì)經(jīng)更新資源列表210進(jìn)行更新。類似地,如果虛擬盤(pán)被從庫(kù)空間201刪除,則可檢測(cè)到模板對(duì)象上的該被刪除虛擬盤(pán)的任何通知。雖然以上描述描述了可用更新的通知,從而允許手動(dòng)地解決這些更新,但在本發(fā)明的一些實(shí)施例中,可用更新可被自動(dòng)應(yīng)用于模板或服務(wù)實(shí)例對(duì)象。在這些場(chǎng)景中,并非向人通知可用更新,可以提供該更新將被應(yīng)用的通知。可用更新是否被自動(dòng)應(yīng)用可以基于業(yè)務(wù)智能和/或所定義的度量。另外,在本發(fā)明的一些實(shí)施例中,可在服務(wù)實(shí)例對(duì)象上提供經(jīng)更新的虛擬盤(pán)對(duì)象的通知。換言之,在經(jīng)更新的虛擬盤(pán)變得可用吋,除了在依賴于該虛擬盤(pán)的先前版本的任何模板對(duì)象上提供通知之外,本發(fā)明可以在依賴于該虛擬盤(pán)的先前版本的任何服務(wù)實(shí)例對(duì)象上提供類似的通知。為了標(biāo)識(shí)庫(kù)空間201和模板空間202內(nèi)的資源和對(duì)資源的更新,使用一命名方案。在這些空間內(nèi),用家族名稱和版本來(lái)標(biāo)識(shí)每ー資源。家族名稱標(biāo)識(shí)ー組相關(guān)資源。家族名稱的示例是“Windows Server 2008”。版本標(biāo)識(shí)家族中資源的特定版本。例如,“WindowsServer 2008”家族可包括具有家族名稱“Windows Server 2008”和版本“RTM”的虛擬硬盤(pán)對(duì)象以及具有相同家族名稱但不同版本“SP1”的另一虛擬硬盤(pán)對(duì)象。通過(guò)共享家族名稱,本發(fā)明的系統(tǒng)可以知道這兩個(gè)虛擬硬盤(pán)對(duì)象是相關(guān)的。
另外,向每ー資源分配指示首次發(fā)布該資源的時(shí)間戳。發(fā)布資源指的是使得該資源可供使用的動(dòng)作。例如,可在模板空間202內(nèi)創(chuàng)建(即,定義)模板對(duì)象,但可不發(fā)布該模板對(duì)象以供使用,直至特定日期為止。發(fā)布日期是用于該時(shí)間戳的日期。然而,在其他實(shí)施例中,資源的創(chuàng)建日期可被用作時(shí)間戳。例如,盤(pán)對(duì)象在庫(kù)空間201中的存在可以構(gòu)成發(fā)布。這ー時(shí)間戳使得該系統(tǒng)能夠知道哪ー資源是該家族中的最近版本。例如,使用以上“Windows Server 2008”家族名稱,帶有版本“SP1”的虛擬硬盤(pán)對(duì)象可具有比帶有版本“RTM”的虛擬硬盤(pán)對(duì)象在時(shí)間上較晚的時(shí)間戳。在刷新器204捜索新資源時(shí),它可以使用與每ー資源相關(guān)聯(lián)的時(shí)間戳來(lái)確定新資源是否被創(chuàng)建以及是否需要通知。例如,刷新器204可以檢測(cè)模板對(duì)象依賴于具有家族名稱“Windows Server 2008”和版本“RTM”的虛擬硬盤(pán)。在刷新器204檢測(cè)到帶有相同家族名稱和版本“SP1”的虛擬硬盤(pán)具有比版本“RTM”的時(shí)間戳更晚的時(shí)間戳?xí)r,刷新器204可以通過(guò)將通知添加到它的經(jīng)更新資源列表并在必要的情況下設(shè)置標(biāo)志來(lái)在模板對(duì)象上發(fā)出通知。如可看到的,在對(duì)象上自動(dòng)發(fā)出通知的這ー過(guò)程是用于向各相關(guān)人員通知經(jīng)更新的資源的可用性的高效方式。由人員所管理的對(duì)象的經(jīng)更新資源列表可被顯示在由相關(guān)人員所使用的應(yīng)用的用戶界面內(nèi)。該用戶界面還可提供用于允許該人生成新模板對(duì)象或新服務(wù)實(shí)例對(duì)象的裝置。因此,經(jīng)更新的資源可被更快速和高效地部署在虛擬機(jī)實(shí)例中。圖3示出了用于向依賴于虛擬盤(pán)對(duì)象的ー個(gè)或多個(gè)模板對(duì)象提供對(duì)該虛擬盤(pán)對(duì)象的更新的通知的示例方法300的流程圖。方法300將參考圖2B來(lái)描述。方法300包括檢測(cè)虛擬盤(pán)對(duì)象的新版本已被創(chuàng)建的動(dòng)作301。該虛擬盤(pán)對(duì)象表示供在分布式應(yīng)用中使用的虛擬盤(pán)。例如,刷新器204可以檢測(cè)虛擬硬盤(pán)對(duì)象208已被創(chuàng)建。刷新器還可基于在每一對(duì)象 中定義的家族名稱、版本、以及時(shí)間戳來(lái)檢測(cè)虛擬硬盤(pán)對(duì)象208是虛擬硬盤(pán)對(duì)象205的較新版本。方法300包括標(biāo)識(shí)依賴于虛擬盤(pán)對(duì)象的ー個(gè)或多個(gè)模板對(duì)象的動(dòng)作302。例如,刷新器204可標(biāo)識(shí)模板對(duì)象206依賴于虛擬硬盤(pán)對(duì)象205。方法300包括在依賴于虛擬盤(pán)對(duì)象的一個(gè)或多個(gè)模板對(duì)象中的每ー個(gè)中提供該虛擬盤(pán)對(duì)象的新版本已被創(chuàng)建的通知的動(dòng)作303。例如,刷新器204可以使得虛擬硬盤(pán)對(duì)象208的創(chuàng)建的通知被添加到經(jīng)更新資源列表209。如果經(jīng)更新資源列表209在虛擬硬盤(pán)對(duì)象208的通知被添加之前先前是空的,則刷新器204還可設(shè)置經(jīng)更新資源列表209中的標(biāo)
O圖4示出了用于向根據(jù)模板對(duì)象生成的一個(gè)或多個(gè)服務(wù)實(shí)例對(duì)象提供對(duì)該模板對(duì)象的更新的通知的示例方法400的流程圖。方法400將參考圖2E來(lái)描述。方法400包括檢測(cè)定義分布式應(yīng)用的模板對(duì)象的新版本已被創(chuàng)建的動(dòng)作401。例如,刷新器204可以檢測(cè)模板對(duì)象212已被創(chuàng)建。刷新器還可基于在每一對(duì)象中定義的家族名稱、版本、以及時(shí)間戳來(lái)檢測(cè)模板對(duì)象212是模板對(duì)象206的較新版本。方法400包括標(biāo)識(shí)根據(jù)模板對(duì)象生成的一個(gè)或多個(gè)服務(wù)實(shí)例對(duì)象的動(dòng)作402。例如,刷新器204可以標(biāo)識(shí)服務(wù)實(shí)例對(duì)象214a是根據(jù)模板對(duì)象206生成的。方法400包括向一個(gè)或多個(gè)服務(wù)實(shí)例對(duì)象中的每ー個(gè)提供模板對(duì)象的新版本已被創(chuàng)建的通知的動(dòng)作403。例如,刷新器204可以使得模板對(duì)象212的創(chuàng)建的通知被添加到經(jīng)更新資源列表210。如果經(jīng)更新資源列表210在模板對(duì)象212的通知被添加之前先前是空的,則刷新器204還可設(shè)置經(jīng)更新資源列表210中的標(biāo)志。
本發(fā)明可具體化為其他具體形式而不背離其精神或本質(zhì)特征。所描述的實(shí)施例在所有方面都應(yīng)被認(rèn)為僅是說(shuō)明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書(shū)而非前述描述指示。落入權(quán)利要求書(shū)的等效方案的含義和范圍內(nèi)的所有改變被權(quán)利要求書(shū)的范圍所涵蓋。
權(quán)利要求
1.一種在包括一個(gè)或多個(gè)處理器(103)和系統(tǒng)存儲(chǔ)器(104)的計(jì)算機(jī)系統(tǒng)(101)中的、用于提供對(duì)表示虛擬存儲(chǔ)設(shè)備(205 )的對(duì)象的更新(208 )通知的方法(300 ),所述計(jì)算機(jī)系統(tǒng)執(zhí)行各自都是根據(jù)模板對(duì)象(206)來(lái)實(shí)例化的多個(gè)分布式應(yīng)用(214),所述模板對(duì)象定義各自表示對(duì)應(yīng)的分布式應(yīng)用的組成的多個(gè)對(duì)象,所述方法包括 檢測(cè)(301)虛擬盤(pán)對(duì)象(205)的新版本(R-2,208)已被創(chuàng)建,所述虛擬盤(pán)對(duì)象表示供在分布式應(yīng)用中使用的虛擬盤(pán); 標(biāo)識(shí)(302)依賴于所述虛擬盤(pán)對(duì)象的一個(gè)或多個(gè)模板對(duì)象(206);以及 在依賴于所述虛擬盤(pán)對(duì)象的所述一個(gè)或多個(gè)模板對(duì)象中的每一個(gè)中提供(303)該虛擬盤(pán)對(duì)象的新版本已被創(chuàng)建的通知。
2.如權(quán)利要求1所述的方法,其特征在于,所述虛擬盤(pán)對(duì)象包括家族名稱的標(biāo)識(shí)符和該對(duì)象的版本的標(biāo)識(shí)符。
3.如權(quán)利要求2所述的方法,其特征在于,檢測(cè)供在分布式應(yīng)用中使用的虛擬盤(pán)對(duì)象的新版本已被創(chuàng)建還包括檢測(cè)具有所述家族名稱的相同標(biāo)識(shí)符和版本的不同標(biāo)識(shí)符的對(duì)象已被創(chuàng)建。
4.如權(quán)利要求3所述的方法,其特征在于,檢測(cè)供在分布式應(yīng)用中使用的虛擬盤(pán)對(duì)象的新版本已被創(chuàng)建還包括檢測(cè)與所述對(duì)象的所述新版本相關(guān)聯(lián)的時(shí)間戳比與所述虛擬盤(pán)對(duì)象相關(guān)聯(lián)的時(shí)間戳更新近。
5.如權(quán)利要求2所述的方法,其特征在于,標(biāo)識(shí)依賴于所述虛擬盤(pán)對(duì)象的一個(gè)或多個(gè)模板對(duì)象還包括標(biāo)識(shí)包含對(duì)所述虛擬盤(pán)對(duì)象的家族名稱的標(biāo)識(shí)符和版本的標(biāo)識(shí)符的引用的一個(gè)或多個(gè)模板對(duì)象。
6.如權(quán)利要求1所述的方法,其特征在于,在依賴于所述虛擬盤(pán)對(duì)象的一個(gè)或多個(gè)模板對(duì)象中的每一個(gè)中提供所述虛擬盤(pán)對(duì)象的新版本已被創(chuàng)建的通知還包括在依賴于所述虛擬盤(pán)對(duì)象的所述一個(gè)或多個(gè)模板對(duì)象中的每一個(gè)中設(shè)置標(biāo)志。
7.如權(quán)利要求1所述的方法,其特征在于,所述一個(gè)或多個(gè)模板對(duì)象中的每一個(gè)包括虛擬機(jī)模板對(duì)象或服務(wù)模板對(duì)象。
8.如權(quán)利要求1所述的方法,其特征在于,所述虛擬盤(pán)對(duì)象的所述新版本包括針對(duì)由所述對(duì)象所表示的虛擬硬盤(pán)的補(bǔ)丁。
9.一種在包括一個(gè)或多個(gè)處理器(103)和系統(tǒng)存儲(chǔ)器(104)的計(jì)算機(jī)系統(tǒng)(101)中的、用于向一個(gè)或多個(gè)服務(wù)實(shí)例對(duì)象(214a)提供對(duì)模板對(duì)象(206)的更新的通知的方法(400),所述計(jì)算機(jī)系統(tǒng)執(zhí)行各自都是根據(jù)模板對(duì)象(206)來(lái)實(shí)例化的多個(gè)分布式應(yīng)用(214),所述模板對(duì)象定義各自表示對(duì)應(yīng)的分布式應(yīng)用的組成的多個(gè)對(duì)象,所述服務(wù)實(shí)例對(duì)象表示根據(jù)所述模板對(duì)象生成的服務(wù)實(shí)例,所述方法包括 檢測(cè)(401)定義分布式應(yīng)用的模板對(duì)象(206)的新版本(R-2,212)已被創(chuàng)建; 標(biāo)識(shí)(402)表示根據(jù)所述模板對(duì)象生成的服務(wù)實(shí)例(214)的一個(gè)或多個(gè)服務(wù)實(shí)例對(duì)象(214a);以及 向所述一個(gè)或多個(gè)服務(wù)實(shí)例對(duì)象中的每一個(gè)提供(403 )所述模板對(duì)象的新版本已被創(chuàng)建的通知。
10.如權(quán)利要求9所述的方法,其特征在于,還包括 結(jié)合向所述一個(gè)或多個(gè)服務(wù)實(shí)例對(duì)象中的每一個(gè)提供所述通知,向所述一個(gè)或多個(gè)服務(wù)實(shí)例對(duì)象中的每一個(gè)提供解散所述通知的 選項(xiàng)。
全文摘要
在分布式應(yīng)用對(duì)象上提供更新通知。本發(fā)明涉及用于在分布式應(yīng)用對(duì)象上提供更新通知的方法、系統(tǒng)以及計(jì)算機(jī)程序產(chǎn)品。在創(chuàng)建另一對(duì)象所依賴的對(duì)象的新版本時(shí),通知可被添加到該依賴對(duì)象以向管理該依賴對(duì)象的人警告經(jīng)更新的對(duì)象的創(chuàng)建。依賴對(duì)象可包括模板對(duì)象以及表示根據(jù)模板對(duì)象來(lái)實(shí)例化的服務(wù)實(shí)例的服務(wù)實(shí)例對(duì)象,模板對(duì)象諸如引用虛擬盤(pán)對(duì)象的虛擬機(jī)模板對(duì)象和引用一個(gè)或多個(gè)虛擬機(jī)模板對(duì)象的服務(wù)模板對(duì)象。家族內(nèi)對(duì)象的各版本可通過(guò)共享家族名稱并具有不同版本來(lái)標(biāo)識(shí)。時(shí)間戳被用來(lái)表示對(duì)象何時(shí)被發(fā)布,以確定對(duì)象的哪一版本是家族中的最新版本。
文檔編號(hào)H04L29/08GK103036986SQ20121054670
公開(kāi)日2013年4月10日 申請(qǐng)日期2012年12月14日 優(yōu)先權(quán)日2011年12月15日
發(fā)明者A·施, S·帕薩沙拉西, B·N·貝雷拉, R·奈爾, R·馬爾霍特拉, M·邁克爾, E·J·溫納 申請(qǐng)人:微軟公司