两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

在分布式應(yīng)用對象上提供更新通知的制作方法

文檔序號:7869023閱讀:343來源:國知局
專利名稱:在分布式應(yīng)用對象上提供更新通知的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及在分布式應(yīng)用對象上提供更新通知。
背景技術(shù)
計算機系統(tǒng)和相關(guān)技術(shù)影響社會的許多方面。的確,計算機系統(tǒng)處理信息的能力已轉(zhuǎn)變了人們生活和工作的方式。計算機系統(tǒng)現(xiàn)在通常執(zhí)行在計算機系統(tǒng)出現(xiàn)以前手動執(zhí)行的許多任務(wù)(例如,文字處理、日程安排和會計等)。最近,計算機系統(tǒng)彼此耦合并耦合到其他電子設(shè)備以形成計算機系統(tǒng)和其他電子設(shè)備可以在其上傳輸電子數(shù)據(jù)的有線和無線計算機網(wǎng)絡(luò)。因此,許多計算任務(wù)的執(zhí)行分布在多個不同的計算機系統(tǒng)和/或多個不同的計算環(huán)境中。在一些環(huán)境中,許多不同的物理資源被編組在一起并被虛擬化,以創(chuàng)建虛擬計算機系統(tǒng)(即,“虛擬機”)。例如,虛擬機可包括指定數(shù)量的處理器、指定量的存儲器、一個或多個虛擬存儲設(shè)備、要存儲在虛擬存儲設(shè)備上的應(yīng)用或其他組件,等等。為創(chuàng)建虛擬機,ー個或多個用戶指定該虛擬機的所需配置。這ー配置可包括設(shè)置虛擬機實例上的多個屬性,如引用特定虛擬存儲設(shè)備的屬性。在本說明書中,在虛擬存儲設(shè)備和這些設(shè)備的內(nèi)容(在下文中一般稱為虛擬盤)之間作出區(qū)分。虛擬硬盤驅(qū)動器是虛擬存儲設(shè)備,而虛擬硬盤驅(qū)動器的內(nèi)容被稱為虛擬硬盤。虛擬硬盤驅(qū)動器被表示為關(guān)于虛擬機的屬性,而虛擬硬盤是包含諸如該虛擬機所使用的操作系統(tǒng)等數(shù)據(jù)的文件。類似地,虛擬CD或DVD驅(qū)動器被表示為關(guān)于虛擬機的屬性,而虛擬CD或虛擬DVD被表示為文件(例如,用于DVD的內(nèi)容的.1SO)。另ー形式的虛擬盤是虛擬機盤(VMDK)。為便于創(chuàng)建虛擬機,可以根據(jù)虛擬機模板對象來生成虛擬機的實例(與需要手動配置各屬性形成対比)。虛擬機模板對象可被認為是用于創(chuàng)建虛擬機的藍圖。虛擬機模板對象可以指定所需物理資源和它們的配置。例如,虛擬機模板對象可包括用于指定處理器的數(shù)量、存儲器的量等的元數(shù)據(jù)。虛擬機模板對象還可標識虛擬機要包括虛擬硬盤驅(qū)動器(或其他虛擬存儲設(shè)備)和應(yīng)當被包括在虛擬硬盤驅(qū)動器內(nèi)的內(nèi)容。例如,虛擬機模板對象可以引用虛擬硬盤對象。另外,服務(wù)模板對象可被用作用于創(chuàng)建分布式應(yīng)用的藍圖。在本說明書中,術(shù)語分布式應(yīng)用一般與術(shù)語服務(wù)實例互換地使用。分布式應(yīng)用包括被配置成實現(xiàn)所需功能的ー組一個或多個虛擬機。因此,服務(wù)模板對象可引用一個或多個虛擬機模板對象,其中要根據(jù)該虛擬機模板對象來創(chuàng)建ー個或多個虛擬機實例以實現(xiàn)分布式應(yīng)用。在本說明書中,包括附圖,虛擬機模板對象和服務(wù)模板對象被統(tǒng)稱為模板對象。在根據(jù)虛擬機模板對象創(chuàng)建虛擬機時,使用在該虛擬機模板對象中定義的屬性來配置該虛擬機。因此,虛擬機模板對象可被用來確保虛擬機的許多實例被類似地配置。例如,虛擬機模板對象可被定義一次,并且可根據(jù)該虛擬機模板對象生成虛擬機的許多實例,使得每ー實例具有相同屬性(例如,同一虛擬硬盤的副本、相同數(shù)量的處理器和存儲器,等坐、
ノ O類似地,服務(wù)模板對象可被定義一次,并且可根據(jù)該服務(wù)模板對象來生成分布式應(yīng)用的許多實例,使得分布式應(yīng)用的每ー實例包括相同數(shù)量的具有相同配置的虛擬機。雖然對本發(fā)明的理解而言并非必要,服務(wù)模板對象可包括引用虛擬機模板對象的分層模板對象。一層是被相同地配置的一組虛擬機。因此,分層模板對象可以引用虛擬機模板對象并指示應(yīng)根據(jù)該虛擬機模板對象生成的虛擬機實例的數(shù)量。用于創(chuàng)建虛擬機的資源通常是由不同的人來設(shè)計和/或管理的。例如,應(yīng)用一般由開發(fā)人員創(chuàng)建。另ー方面,虛擬硬盤一般由主存虛擬機的公司的服務(wù)器管理員創(chuàng)建。模板對象通常由需要虛擬機的公司的IT管理員或其他IT員エ創(chuàng)建,并且虛擬機的各實例是由該公司的不同IT員エ部署的或甚至是由希望使用該公司的模板對象的另一公司來部署的。至少部分由于在創(chuàng)建和部署虛擬機的過程中所涉及的不同各方的數(shù)量,向所有相關(guān)各方通知對用于創(chuàng)建該虛擬機的資源的變更可能是困難的。提供經(jīng)變更的資源的通知的ー些方法涉及傳統(tǒng)通信模式,如電子郵件、電話,等等。這些傳統(tǒng)方法具有高等待時間,冗長且易于出錯。例如,由服務(wù)器管理員確定依賴`于特定虛擬硬盤的每一模板對象井隨后向每ー相關(guān)方通知對虛擬硬盤的變更一般是耗時的。另外,即使向每ー相關(guān)方通知了該變更(如通過電子郵件或電話),一方可能很容易忘記對該變更進行響應(yīng)或以某ー其他方式未能修改模板對象而不能使用經(jīng)更新的虛擬硬盤。在創(chuàng)建經(jīng)更新的模板對象時,存在類似問題。例如,需要向管理依賴于該模板對象的服務(wù)實例對象的每一方通知經(jīng)更新的模板對象的可用性。如上所述,通知這些各方并且使被通知到的各方也適當?shù)貙υ撏ㄖ鞒鲰憫?yīng)可能是冗長且易于出錯的過程。

發(fā)明內(nèi)容
本發(fā)明涉及用于在用來創(chuàng)建分布式應(yīng)用的對象上提供更新通知的方法、系統(tǒng)以及計算機程序產(chǎn)品。本發(fā)明簡化了向相關(guān)各方通知新的或經(jīng)更新的對象的過程,并且便于對這些通知適當?shù)剡M行響應(yīng)。在一個實施例中,檢測到創(chuàng)建虛擬盤對象的新版本。該對象表示供在分布式應(yīng)用中使用的虛擬盤。標識ー個或多個模板對象。該ー個或多個模板對象依賴于該虛擬盤對象。向該ー個或多個模板對象中的每ー個提供指示已創(chuàng)建了該虛擬盤對象的新版本的通知。在另ー實施例中,檢測到創(chuàng)建模板對象的新版本。模板對象的該新版本定義分布式應(yīng)用。標識根據(jù)該模板對象生成的一個或多個服務(wù)實例對象。向該ー個或多個服務(wù)實例對象中的每ー個提供通知。該通知指示已創(chuàng)建了該模板對象的新版本。提供本發(fā)明內(nèi)容以便以簡化的形式介紹將在以下的具體實施方式
中進ー步描述的ー些概念。本發(fā)明內(nèi)容并非g在標識所要求保護的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護的主題的范圍。本發(fā)明的附加特征和優(yōu)點將在以下描述中敘述,且其一部分根據(jù)本描述將是顯而易見的,或可通過對本發(fā)明的實踐來獲知。本發(fā)明的特征和優(yōu)點可通過在所附權(quán)利要求書中特別指出的工具和組合來實現(xiàn)和獲得。本發(fā)明的這些和其他特征將通過以下描述和所附權(quán)利要求書變得更加顯而易見,或可通過對下文中所述的本發(fā)明的實踐來領(lǐng)會。


為了描述可獲得本發(fā)明的上述和其他優(yōu)點和特征的方式,將通過參考附圖中示出的本發(fā)明的具體實施例來呈現(xiàn)以上簡要描述的本發(fā)明的更具體描述??梢岳斫猓@些附圖僅描述本發(fā)明的典型實施例,從而不被認為是對其范圍的限制,本發(fā)明將通過使用附圖用附加特征和細節(jié)來描述和說明,在附圖中圖1示出便于在分布式應(yīng)用對象上提供更新通知的示例計算機體系結(jié)構(gòu);圖2A示出圖1的示例計算機體系結(jié)構(gòu)內(nèi)的計算機系統(tǒng)中的各邏輯空間;圖2B-2E示出如何向該計算機系統(tǒng)中的邏輯空間內(nèi)的對象提供通知;圖3是用于向依賴于虛擬盤對象的ー個或多個模板對象提供對該虛擬盤對象的更新的通知的方法的流程圖;以及圖4是用于向根據(jù)模板對象生成的一個或多個服務(wù)實例對象提供對該模板對象的更新的通知的方法的流程圖。
具體實施例方式
本發(fā)明涉及用于在用來創(chuàng)建分布式應(yīng)用的對象上提供更新通知的方法、系統(tǒng)以及計算機程序產(chǎn)品。本發(fā)明簡化了向相關(guān)各方通知新的或經(jīng)更新的對象的過程,并且便于對這些通知適當?shù)剡M行響應(yīng)。在一個實施例中,檢測到創(chuàng)建虛擬盤對象的新版本。該對象表示供在分布式應(yīng)用中使用的虛擬盤。標識了ー個或多個模板對象。該ー個或多個模板對象依賴于該虛擬盤對象。向該ー個或多個模板對象中的每ー個提供指示已創(chuàng)建了該虛擬盤對象的新版本的通知。在另ー實施例中,檢測到創(chuàng)建模板對象的新版本。模板對象的該新版本定義分布式應(yīng)用。標識根據(jù)該模板對象生成的一個或多個服務(wù)實例對象。向該ー個或多個服務(wù)實例對象中的每ー個提供通知。該通知指示已創(chuàng)建了該模板對象的新版本。本發(fā)明的各實施例可包括或利用專用或通用計算機,該專用或通用計算機包括諸如例如一個或多個處理器和系統(tǒng)存儲器等計算機硬件,如以下更詳細討論的。本發(fā)明范圍內(nèi)的各實施例還包括用于承載或存儲計算機可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理和其他計算機可讀介質(zhì)。這樣的計算機可讀介質(zhì)可以是可由通用或?qū)S糜嬎銠C系統(tǒng)訪問的任何可用介質(zhì)。存儲計算機可執(zhí)行指令的計算機可讀介質(zhì)是計算機存儲介質(zhì)(設(shè)備)。承載計算機可執(zhí)行指令的計算機可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制,本發(fā)明的各實施例可包括至少兩種顯著不同的計算機可讀介質(zhì)計算機存儲介質(zhì)(設(shè)備)和傳輸介質(zhì)。計算機存儲介質(zhì)(設(shè)備)包括RAM、ROM、EEPROM、CD-ROM、固態(tài)驅(qū)動器(SSD)(如基于RAM)、閃存、相變存儲器(PCM)、其他類型的存儲器、其他光盤存儲、磁盤存儲或其他磁存儲設(shè)備、或可用于存儲計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜嬎銠C訪問的任何其他介質(zhì)?!熬W(wǎng)絡(luò)”被定義為允許在計算機系統(tǒng)和/或模塊和/或其他電子設(shè)備之間傳輸電子數(shù)據(jù)的ー個或多個數(shù)據(jù)鏈路。當信息通過網(wǎng)絡(luò)或另ー個通信連接(硬連線、無線、或者硬連線或無線的組合)傳輸或提供給計算機吋,該計算機將該連接適當?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì)可包括可用于攜帶計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜嬎銠C訪問的網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路。上述的組合也應(yīng)被包括在計算機可讀介質(zhì)的范圍內(nèi)。此外,在到達各種計算機系統(tǒng)組件之后,計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程序代碼裝置可從傳輸介質(zhì)自動傳輸?shù)接嬎銠C存儲介質(zhì)(設(shè)備)(或反之亦然)。例如,通過網(wǎng)絡(luò)或數(shù)據(jù)鏈接接收到的計算機可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可被緩存在網(wǎng)絡(luò)接ロ模塊(例如,“NIC”)內(nèi)的RAM中,然后最終被傳輸?shù)接嬎銠C系統(tǒng)RAM和/或計算機系統(tǒng)處的較不易失性的計算機存儲介質(zhì)(設(shè)備)。因而,應(yīng)當理解,計算機存儲介質(zhì)(設(shè)備)可被包括在還利用(甚至主要利用)傳輸介質(zhì)的計算機系統(tǒng)組件中。計算機可執(zhí)行指令例如包括,當在處理器處執(zhí)行時使通用計算機、專用計算機、或?qū)S锰幚碓O(shè)備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計算機可執(zhí)行指令可以是例如ニ進制代碼、諸如匯編語言之類的中間格式指令、或甚至源代碼。盡管用結(jié)構(gòu)特征和/或方法動作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述特征或動作。相反,上述特征和動作是作為實現(xiàn)權(quán)利要求的示例形式而公開的。本領(lǐng)域的技術(shù)人員將理解,本發(fā)明可以在具有許多類型的計算機系統(tǒng)配置的網(wǎng)絡(luò)計算環(huán)境中實踐,這些計算機系統(tǒng)配置包括個人計算機、臺式計算機、膝上型計算機、消息處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費電子設(shè)備、網(wǎng)絡(luò)PC、小型計算機、大型計算機、移動電話、PDA、尋呼機、路由器、交換機等等。本發(fā)明也可在其中通過網(wǎng)絡(luò)鏈接(或者通過硬連線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路,或者通過硬連線和無線數(shù)據(jù)鏈路的組合)的本地和遠程計算機系統(tǒng)兩者都執(zhí)行任務(wù)的分布式系統(tǒng)環(huán)境中實施。在分布式系統(tǒng)環(huán)境中,程序模塊可以位于本地和遠程存儲器存儲設(shè)備二者中。圖1示出 便于在分布式應(yīng)用對象上提供更新通知的示例計算機體系結(jié)構(gòu)100。參考圖1,計算機體系結(jié)構(gòu)100包括包含用于創(chuàng)建和執(zhí)行虛擬機的多個互連處理器、存儲器、以及存儲設(shè)備的計算機系統(tǒng)101。例如,計算機系統(tǒng)101包括存儲設(shè)備102、處理器103、以及存儲器104。計算機系統(tǒng)101可在計算系統(tǒng)的云中實現(xiàn)。計算機系統(tǒng)101的示例可包括構(gòu)成微軟的系統(tǒng)中心虛擬機管理器(System Center Virtual Machine Manager)產(chǎn)品的資源。計算機系統(tǒng)101可被通過網(wǎng)絡(luò)(例如,局域網(wǎng)(“LAN”)、廣域網(wǎng)(“WAN”)、或甚至因特網(wǎng))連接到其他計算機系統(tǒng),如計算機系統(tǒng)106和107。因此,其他計算機系統(tǒng)可使用任何可用的手段與計算機系統(tǒng)101進行通信,如通過創(chuàng)建消息相關(guān)數(shù)據(jù)并經(jīng)由網(wǎng)絡(luò)交換消息相關(guān)數(shù)據(jù)(例如,因特網(wǎng)協(xié)議(“IP”)數(shù)據(jù)報和利用IP數(shù)據(jù)報的其他更高層協(xié)議,如傳輸控制協(xié)議(“TCP”)、超文本傳輸協(xié)議(“HTTP”)、簡單郵件傳輸協(xié)議(“SMTP”)等)。這樣的通信可包括用于與正在執(zhí)行的虛擬機進行交互的命令,或用于在計算機系統(tǒng)101內(nèi)配置新的或現(xiàn)有的虛擬機的指令。圖2A示出計算機系統(tǒng)101內(nèi)的各邏輯空間。計算機系統(tǒng)101可包括庫空間201、模板空間202、以及實例空間203。圖2A還示出計算機系統(tǒng)101可包括刷新器204,其功能將在下文描述。庫空間201存儲定義虛擬盤的對象。例如,庫空間201可以表示存儲定義計算機系統(tǒng)101內(nèi)可用的虛擬硬盤以及其他虛擬盤(如虛擬⑶或虛擬DVD)的對象的物理位置。庫空間201還可存儲用于創(chuàng)建虛擬機的其他人エ產(chǎn)物,如應(yīng)用、腳本、驅(qū)動程序等。如圖所示,庫空間201存儲虛擬硬盤對象205。虛擬硬盤(或其他虛擬盤)是存儲該虛擬硬盤的內(nèi)容(如操作系統(tǒng))的文件??筛鶕?jù)虛擬硬盤對象來創(chuàng)建虛擬硬盤的實例(如通過將表示該虛擬硬盤的文件復(fù)制到執(zhí)行使用該虛擬硬盤的虛擬機的主機系統(tǒng))。虛擬硬盤對象205具有家族名稱A. VHD和版本R-1。在下文描述對家族名稱和版本的使用。雖然各附圖示出了對虛擬硬盤的使用,但任何其他類型的虛擬盤(如虛擬DVD)可用在本發(fā)明的各實施例中。另外,根據(jù)本發(fā)明的虛擬機可以使用ー個以上虛擬盤。下文描述的通知技術(shù)可以同樣應(yīng)用于每一虛擬盤。模板空間202存儲所定義的模板對象,如虛擬機模板對象和服務(wù)模板對象。例如,模板空間202可以表示模板對象在計算機系統(tǒng)101內(nèi)被存儲的物理位置。在一特定實施例中,模板空間202可以表示存儲在計算機系統(tǒng)101內(nèi)定義的各模板對象的各組成值連同哪些模板對象使用哪ー組成值的標識的ー個或多個數(shù)據(jù)庫表。然而,在其他實施例中,其他數(shù)據(jù)結(jié)構(gòu)可被用于模板對象。如圖所示,模板空間202包括模板對象206。模板對象206表示虛擬機模板對象。虛擬機模板對象標識虛擬硬盤對象(以及可能其他虛擬盤對象),指定處理器的數(shù)量、存儲器的量、以及要安裝在該虛擬硬盤的實例上的應(yīng)用或組件,以及其他。在創(chuàng)建虛擬機的實例時使用虛擬機模板對象。例 如,模板對象206可標識虛擬硬盤對象205,從而指示根據(jù)模板對象206生成的虛擬機實例將包括根據(jù)虛擬硬盤對象205來實例化的虛擬硬盤。雖然模板對象206被描述為表示虛擬機模板對象,但出于本發(fā)明的目的,模板對象206也可表示服務(wù)模板對象。例如,服務(wù)模板對象包括一個或多個虛擬機模板對象。具體而言,服務(wù)模板對象標識將組成根據(jù)該服務(wù)模板對象創(chuàng)建的服務(wù)實例的一個或多個虛擬機模板對象。服務(wù)模板對象還定義用于定義服務(wù)實例的其他屬性和配置設(shè)置,如每一虛擬機如何與該服務(wù)實例中的其他虛擬機進行通信。因此,可以說,服務(wù)模板對象間接引用被該服務(wù)模板對象中引用的虛擬機模板對象所直接引用的虛擬盤對象中的每ー個。因此,對虛擬盤對象的更新的通知可被類似地提供給直接引用該虛擬盤對象的虛擬機模板對象和引用對該虛擬盤對象進行引用的任何虛擬機模板對象的服務(wù)模板對象兩者。本說明書的其余部分以及權(quán)利要求書一般將指模板對象。這樣的引用應(yīng)被解釋為包括虛擬機和服務(wù)模板對象兩者,除非另外定義。實例空間203包含服務(wù)實例,如服務(wù)實例214,它們是一組ー個或多個虛擬機實例。例如,實例空間203可表示虛擬機實例在其中執(zhí)行的物理處理器、存儲器、以及存儲。如圖所示,實例空間203還可包括服務(wù)實例對象。服務(wù)實例對象是表示服務(wù)實例的數(shù)據(jù)結(jié)構(gòu)。例如,服務(wù)實例對象214a可表示服務(wù)實例214。服務(wù)實例214可根據(jù)模板對象206來創(chuàng)建并約束虛擬機實例207。虛擬機實例207引用虛擬硬盤實例205a。雖然服務(wù)實例214被示為包括單個虛擬機實例,但任何數(shù)量的虛擬機實例可組成服務(wù)實例214。在本說明書中,服務(wù)實例和分布式應(yīng)用一般g在指類似的事物。分布式應(yīng)用在一組ー個或多個虛擬機實例內(nèi)執(zhí)行。例如,多層分布式應(yīng)用可包括實現(xiàn)該應(yīng)用的前端的ー個或多個虛擬機、實現(xiàn)該應(yīng)用的中間層的一個或多個虛擬機、以及實現(xiàn)該應(yīng)用的數(shù)據(jù)庫后端的一個或多個虛擬機。在該示例中,多層分布式應(yīng)用的虛擬機中的每ー個可以根據(jù)虛擬機模板對象來生成。表示該分布式應(yīng)用的服務(wù)模板對象可以引用這些虛擬機模板對象中的每ー個。為創(chuàng)建虛擬機實例207,根據(jù)模板對象206中標識的虛擬硬盤對象205來實例化虛擬硬盤實例205a,如模板對象206中所定義的那樣來分配處理器和存儲器,并且將模板對象206中定義的應(yīng)用和組件安裝在虛擬硬盤實例205a上。圖2B示出在創(chuàng)建經(jīng)更新的虛擬硬盤對象時如何在模板對象上提供通知。圖2B類似于圖2A,加上虛擬硬盤對象208和經(jīng)更新資源列表209。虛擬硬盤對象208包括對虛擬硬盤對象205的更新。例如,虛擬硬盤對象205可包含操作系統(tǒng)的初始版本,而虛擬硬盤對象208可包含操作系統(tǒng)的經(jīng)修補版本。圖2B示出虛擬硬盤對象208具有與虛擬硬盤對象205相同的家族名稱(A. VHD)但具有不同的版本(R-2)。經(jīng)更新資源列表209包括對模板對象206所依賴的資源的更新的列表。例如,如上所述,模板對象206標識虛擬硬盤對象205。因為虛擬硬盤對象208是虛擬硬盤對象205的經(jīng)更新版本,所以向經(jīng)更新資源列表209添加ー個條目,該條目將虛擬硬盤對象208標識為對虛擬硬盤對象205的可用更新。通知可以通過使用對象的家族名稱和版本來標識經(jīng)更新對象,如下文充分描述的。雖然圖2A和2B示出了單個模板對象依賴于虛擬硬盤對象205并且單個服務(wù)實例對象214a依賴于模板對象206,但多個模板對象和服務(wù)實例對象可分別依賴于單個虛擬硬盤對象和單個模板對象。刷新器204包括可周期性地或以其他時間間隔來執(zhí)行以確定是否創(chuàng)建了對虛擬硬盤對象或模板對象的任何更新的模塊。在刷新器204標識了經(jīng)更新對象時,它更新適當?shù)慕?jīng)更新資源列表。例如, 在虛擬硬盤對象208被創(chuàng)建時,刷新器204可向經(jīng)更新資源列表209添加條目。本發(fā)明的各實施例還可提供一種用于向各對像提供即時通知的機制。例如,如果服務(wù)管理員創(chuàng)建了虛擬硬盤對象的新版本,則他可使得在依賴于該虛擬硬盤對象的每ー模板對象上立即發(fā)出通知,而非等待刷新器204再次運行。除向與對象相關(guān)聯(lián)的經(jīng)更新資源列表添加條目之外,本發(fā)明的各實施例還可在該對象內(nèi)設(shè)置標志,以通知該對象它的經(jīng)更新資源列表已被修改。只要該對象的經(jīng)更新資源列表包含通知,這ー標志就保持設(shè)置。圖2C示出了另一虛擬硬盤對象211已被添加到庫空間201。虛擬硬盤對象211包括對虛擬硬盤對象208的更新。圖2C示出了虛擬硬盤對象211具有與虛擬硬盤對象205和208相同的家族名稱(A. VHD),但具有與虛擬硬盤對象205和208不同的版本(R-3)。作為添加虛擬硬盤對象211的結(jié)果,圖2C示出了經(jīng)更新資源列表209已被修改。經(jīng)更新資源列表209現(xiàn)在包括兩個通知,虛擬硬盤對象208和211各ー個。圖2D示出在創(chuàng)建經(jīng)更新的模板對象時如何在服務(wù)實例對象上提供通知。圖2D類似于圖2B,但包括在模板空間202和經(jīng)更新資源列表210中添加了新模板對象212。在圖2D中,模板對象206和212兩者被示為包括家族名稱和版本。模板對象212是模板對象206的經(jīng)更新版本,如以下事實所示這兩個對象共享家族名稱(X. Temple)但具有不同的版本(分別是R-1和R-2)。該更新可以是對模板對象206的任何變更,然而,圖2D示出了模板對象212中的更新是對虛擬硬盤對象208的引用。模板對象212的版本的通知可按上述類似的方式被設(shè)置在服務(wù)實例對象214a上。例如,如圖所示,經(jīng)更新資源列表210現(xiàn)在包括模板對象212的通知。如果在添加模板對象212的通知之前經(jīng)更新資源列表210是空的,則可設(shè)置服務(wù)實例對象214a中的標志以向服務(wù)實例對象214a指示經(jīng)更新資源列表210中有ー個或多個通知。然而,如果經(jīng)更新資源列表210已經(jīng)包含通知,則該標志將已經(jīng)是設(shè)置了的。模板對象212的通知也可如下所述地解散。雖然圖2D沒有示出模板對象212的經(jīng)更新資源列表,但模板對象212的經(jīng)更新資源列表將顯得類似于經(jīng)更新資源列表209。例如,如果模板對象212也標識了虛擬硬盤對象205,則虛擬硬盤對象208的通知可被添加到模板對象212的經(jīng)更新資源列表。當然,如果模板對象212標識了虛擬硬盤對象208,則這樣的通知將是不必要的。圖2E示出了如何從對象的經(jīng)更新資源列表中解散通知。圖2E在以下方面與圖2D不同另ー經(jīng)更新的模板對象213已被添加到模板空間203。模板對象213也是對模板對象206的更新,如共享與模板對象206相同的名稱但不同版本的模板對象213所示。如圖所示,經(jīng)更新資源列表210包括模板對象213的新添加的通知,但模板對象212的通知已被解散。圖2E示出了出于簡明的目的所解散的通知被劃掉,然而,該通知也可從經(jīng)更新資源列表210中移除。服務(wù)模板對象21 4a的管理員可出于任何原因來解散通知。例如,管理員也可解散經(jīng)更新資源列表210中的模板對象212的通知。在本發(fā)明的一些實施例中,如圖2E所示,只有服務(wù)實例對象的經(jīng)更新資源列表中的通知能被解散,而模板對象的經(jīng)更新資源列表中的通知不能被解散。在其他實施例中,模板對象的經(jīng)更新資源列表中的通知也可被解散。除向經(jīng)更新資源列表添加通知之外,刷新器204也可移除舊通知。例如,再次參考圖2E,如果模板對象213被刪除,則刷新器204可檢測到該刪除并相應(yīng)地對經(jīng)更新資源列表210進行更新。類似地,如果虛擬盤被從庫空間201刪除,則可檢測到模板對象上的該被刪除虛擬盤的任何通知。雖然以上描述描述了可用更新的通知,從而允許手動地解決這些更新,但在本發(fā)明的一些實施例中,可用更新可被自動應(yīng)用于模板或服務(wù)實例對象。在這些場景中,并非向人通知可用更新,可以提供該更新將被應(yīng)用的通知??捎酶率欠癖蛔詣討?yīng)用可以基于業(yè)務(wù)智能和/或所定義的度量。另外,在本發(fā)明的一些實施例中,可在服務(wù)實例對象上提供經(jīng)更新的虛擬盤對象的通知。換言之,在經(jīng)更新的虛擬盤變得可用吋,除了在依賴于該虛擬盤的先前版本的任何模板對象上提供通知之外,本發(fā)明可以在依賴于該虛擬盤的先前版本的任何服務(wù)實例對象上提供類似的通知。為了標識庫空間201和模板空間202內(nèi)的資源和對資源的更新,使用一命名方案。在這些空間內(nèi),用家族名稱和版本來標識每ー資源。家族名稱標識ー組相關(guān)資源。家族名稱的示例是“Windows Server 2008”。版本標識家族中資源的特定版本。例如,“WindowsServer 2008”家族可包括具有家族名稱“Windows Server 2008”和版本“RTM”的虛擬硬盤對象以及具有相同家族名稱但不同版本“SP1”的另一虛擬硬盤對象。通過共享家族名稱,本發(fā)明的系統(tǒng)可以知道這兩個虛擬硬盤對象是相關(guān)的。
另外,向每ー資源分配指示首次發(fā)布該資源的時間戳。發(fā)布資源指的是使得該資源可供使用的動作。例如,可在模板空間202內(nèi)創(chuàng)建(即,定義)模板對象,但可不發(fā)布該模板對象以供使用,直至特定日期為止。發(fā)布日期是用于該時間戳的日期。然而,在其他實施例中,資源的創(chuàng)建日期可被用作時間戳。例如,盤對象在庫空間201中的存在可以構(gòu)成發(fā)布。這ー時間戳使得該系統(tǒng)能夠知道哪ー資源是該家族中的最近版本。例如,使用以上“Windows Server 2008”家族名稱,帶有版本“SP1”的虛擬硬盤對象可具有比帶有版本“RTM”的虛擬硬盤對象在時間上較晚的時間戳。在刷新器204捜索新資源時,它可以使用與每ー資源相關(guān)聯(lián)的時間戳來確定新資源是否被創(chuàng)建以及是否需要通知。例如,刷新器204可以檢測模板對象依賴于具有家族名稱“Windows Server 2008”和版本“RTM”的虛擬硬盤。在刷新器204檢測到帶有相同家族名稱和版本“SP1”的虛擬硬盤具有比版本“RTM”的時間戳更晚的時間戳?xí)r,刷新器204可以通過將通知添加到它的經(jīng)更新資源列表并在必要的情況下設(shè)置標志來在模板對象上發(fā)出通知。如可看到的,在對象上自動發(fā)出通知的這ー過程是用于向各相關(guān)人員通知經(jīng)更新的資源的可用性的高效方式。由人員所管理的對象的經(jīng)更新資源列表可被顯示在由相關(guān)人員所使用的應(yīng)用的用戶界面內(nèi)。該用戶界面還可提供用于允許該人生成新模板對象或新服務(wù)實例對象的裝置。因此,經(jīng)更新的資源可被更快速和高效地部署在虛擬機實例中。圖3示出了用于向依賴于虛擬盤對象的ー個或多個模板對象提供對該虛擬盤對象的更新的通知的示例方法300的流程圖。方法300將參考圖2B來描述。方法300包括檢測虛擬盤對象的新版本已被創(chuàng)建的動作301。該虛擬盤對象表示供在分布式應(yīng)用中使用的虛擬盤。例如,刷新器204可以檢測虛擬硬盤對象208已被創(chuàng)建。刷新器還可基于在每一對象 中定義的家族名稱、版本、以及時間戳來檢測虛擬硬盤對象208是虛擬硬盤對象205的較新版本。方法300包括標識依賴于虛擬盤對象的ー個或多個模板對象的動作302。例如,刷新器204可標識模板對象206依賴于虛擬硬盤對象205。方法300包括在依賴于虛擬盤對象的一個或多個模板對象中的每ー個中提供該虛擬盤對象的新版本已被創(chuàng)建的通知的動作303。例如,刷新器204可以使得虛擬硬盤對象208的創(chuàng)建的通知被添加到經(jīng)更新資源列表209。如果經(jīng)更新資源列表209在虛擬硬盤對象208的通知被添加之前先前是空的,則刷新器204還可設(shè)置經(jīng)更新資源列表209中的標
O圖4示出了用于向根據(jù)模板對象生成的一個或多個服務(wù)實例對象提供對該模板對象的更新的通知的示例方法400的流程圖。方法400將參考圖2E來描述。方法400包括檢測定義分布式應(yīng)用的模板對象的新版本已被創(chuàng)建的動作401。例如,刷新器204可以檢測模板對象212已被創(chuàng)建。刷新器還可基于在每一對象中定義的家族名稱、版本、以及時間戳來檢測模板對象212是模板對象206的較新版本。方法400包括標識根據(jù)模板對象生成的一個或多個服務(wù)實例對象的動作402。例如,刷新器204可以標識服務(wù)實例對象214a是根據(jù)模板對象206生成的。方法400包括向一個或多個服務(wù)實例對象中的每ー個提供模板對象的新版本已被創(chuàng)建的通知的動作403。例如,刷新器204可以使得模板對象212的創(chuàng)建的通知被添加到經(jīng)更新資源列表210。如果經(jīng)更新資源列表210在模板對象212的通知被添加之前先前是空的,則刷新器204還可設(shè)置經(jīng)更新資源列表210中的標志。
本發(fā)明可具體化為其他具體形式而不背離其精神或本質(zhì)特征。所描述的實施例在所有方面都應(yīng)被認為僅是說明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書而非前述描述指示。落入權(quán)利要求書的等效方案的含義和范圍內(nèi)的所有改變被權(quán)利要求書的范圍所涵蓋。
權(quán)利要求
1.一種在包括一個或多個處理器(103)和系統(tǒng)存儲器(104)的計算機系統(tǒng)(101)中的、用于提供對表示虛擬存儲設(shè)備(205 )的對象的更新(208 )通知的方法(300 ),所述計算機系統(tǒng)執(zhí)行各自都是根據(jù)模板對象(206)來實例化的多個分布式應(yīng)用(214),所述模板對象定義各自表示對應(yīng)的分布式應(yīng)用的組成的多個對象,所述方法包括 檢測(301)虛擬盤對象(205)的新版本(R-2,208)已被創(chuàng)建,所述虛擬盤對象表示供在分布式應(yīng)用中使用的虛擬盤; 標識(302)依賴于所述虛擬盤對象的一個或多個模板對象(206);以及 在依賴于所述虛擬盤對象的所述一個或多個模板對象中的每一個中提供(303)該虛擬盤對象的新版本已被創(chuàng)建的通知。
2.如權(quán)利要求1所述的方法,其特征在于,所述虛擬盤對象包括家族名稱的標識符和該對象的版本的標識符。
3.如權(quán)利要求2所述的方法,其特征在于,檢測供在分布式應(yīng)用中使用的虛擬盤對象的新版本已被創(chuàng)建還包括檢測具有所述家族名稱的相同標識符和版本的不同標識符的對象已被創(chuàng)建。
4.如權(quán)利要求3所述的方法,其特征在于,檢測供在分布式應(yīng)用中使用的虛擬盤對象的新版本已被創(chuàng)建還包括檢測與所述對象的所述新版本相關(guān)聯(lián)的時間戳比與所述虛擬盤對象相關(guān)聯(lián)的時間戳更新近。
5.如權(quán)利要求2所述的方法,其特征在于,標識依賴于所述虛擬盤對象的一個或多個模板對象還包括標識包含對所述虛擬盤對象的家族名稱的標識符和版本的標識符的引用的一個或多個模板對象。
6.如權(quán)利要求1所述的方法,其特征在于,在依賴于所述虛擬盤對象的一個或多個模板對象中的每一個中提供所述虛擬盤對象的新版本已被創(chuàng)建的通知還包括在依賴于所述虛擬盤對象的所述一個或多個模板對象中的每一個中設(shè)置標志。
7.如權(quán)利要求1所述的方法,其特征在于,所述一個或多個模板對象中的每一個包括虛擬機模板對象或服務(wù)模板對象。
8.如權(quán)利要求1所述的方法,其特征在于,所述虛擬盤對象的所述新版本包括針對由所述對象所表示的虛擬硬盤的補丁。
9.一種在包括一個或多個處理器(103)和系統(tǒng)存儲器(104)的計算機系統(tǒng)(101)中的、用于向一個或多個服務(wù)實例對象(214a)提供對模板對象(206)的更新的通知的方法(400),所述計算機系統(tǒng)執(zhí)行各自都是根據(jù)模板對象(206)來實例化的多個分布式應(yīng)用(214),所述模板對象定義各自表示對應(yīng)的分布式應(yīng)用的組成的多個對象,所述服務(wù)實例對象表示根據(jù)所述模板對象生成的服務(wù)實例,所述方法包括 檢測(401)定義分布式應(yīng)用的模板對象(206)的新版本(R-2,212)已被創(chuàng)建; 標識(402)表示根據(jù)所述模板對象生成的服務(wù)實例(214)的一個或多個服務(wù)實例對象(214a);以及 向所述一個或多個服務(wù)實例對象中的每一個提供(403 )所述模板對象的新版本已被創(chuàng)建的通知。
10.如權(quán)利要求9所述的方法,其特征在于,還包括 結(jié)合向所述一個或多個服務(wù)實例對象中的每一個提供所述通知,向所述一個或多個服務(wù)實例對象中的每一個提供解散所述通知的 選項。
全文摘要
在分布式應(yīng)用對象上提供更新通知。本發(fā)明涉及用于在分布式應(yīng)用對象上提供更新通知的方法、系統(tǒng)以及計算機程序產(chǎn)品。在創(chuàng)建另一對象所依賴的對象的新版本時,通知可被添加到該依賴對象以向管理該依賴對象的人警告經(jīng)更新的對象的創(chuàng)建。依賴對象可包括模板對象以及表示根據(jù)模板對象來實例化的服務(wù)實例的服務(wù)實例對象,模板對象諸如引用虛擬盤對象的虛擬機模板對象和引用一個或多個虛擬機模板對象的服務(wù)模板對象。家族內(nèi)對象的各版本可通過共享家族名稱并具有不同版本來標識。時間戳被用來表示對象何時被發(fā)布,以確定對象的哪一版本是家族中的最新版本。
文檔編號H04L29/08GK103036986SQ20121054670
公開日2013年4月10日 申請日期2012年12月14日 優(yōu)先權(quán)日2011年12月15日
發(fā)明者A·施, S·帕薩沙拉西, B·N·貝雷拉, R·奈爾, R·馬爾霍特拉, M·邁克爾, E·J·溫納 申請人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
莎车县| 鄂托克旗| 肥乡县| 永吉县| 乐至县| 凤山县| 岗巴县| 茂名市| 古丈县| 陇川县| 拜城县| 会泽县| 武汉市| 浮山县| 华宁县| 九龙城区| 宜君县| 股票| 龙江县| 武汉市| 陕西省| 什邡市| 衡东县| 讷河市| 广东省| 聊城市| 台湾省| 藁城市| 永吉县| 黄龙县| 大厂| 日喀则市| 来宾市| 即墨市| 普兰店市| 绥宁县| 沧州市| 黄梅县| 宝丰县| 衡水市| 鄂托克旗|