多租戶中間件云服務(wù)技術(shù)的制作方法
【專利摘要】一種包括多個(gè)主機(jī)的系統(tǒng),每一個(gè)主機(jī)運(yùn)行多個(gè)虛擬機(jī)。該系統(tǒng)可以是例如其中存在各個(gè)服務(wù)以及與這些主機(jī)和服務(wù)通信的服務(wù)協(xié)調(diào)系統(tǒng)的云計(jì)算環(huán)境。這些服務(wù)包括被配置成維護(hù)針對(duì)多個(gè)租戶中的每一個(gè)租戶的按租戶中間件策略的中間件管理服務(wù)。該中間件管理服務(wù)導(dǎo)致通過將網(wǎng)絡(luò)話務(wù)導(dǎo)向中間件實(shí)施機(jī)構(gòu)來對(duì)網(wǎng)絡(luò)話務(wù)應(yīng)用中間件策略。該中間件策略是按租戶的,因?yàn)樗Q于租戶的身份。
【專利說明】多租戶中間件云服務(wù)技術(shù)
[0001]背景
[0002]“云計(jì)算”是用于使得能夠?qū)膳渲糜?jì)算資源(例如,網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用和服務(wù))的共享池進(jìn)行普遍、方便、按需的網(wǎng)絡(luò)訪問的模型??膳渲糜?jì)算資源的共享池可經(jīng)由虛擬化而被快速地供應(yīng),并可利用低管理努力或服務(wù)提供商交互來釋放,并隨后被相應(yīng)地縮放。云計(jì)算模型可由各種特性(如按需自服務(wù)、廣泛網(wǎng)絡(luò)訪問、資源池、快速靈活性、測(cè)量的服務(wù)等)、服務(wù)模型(如軟件即服務(wù)(“SaaS”)、平臺(tái)即服務(wù)(“PaaS”)、基礎(chǔ)結(jié)構(gòu)即服務(wù)(“IaaS”))以及部署模型(如私有云、社區(qū)云、公共云、混合云等)組成。實(shí)現(xiàn)云計(jì)算模型的環(huán)境通常被稱為云計(jì)算環(huán)境。
[0003]云計(jì)算可以是多租戶的。在多租戶云計(jì)算體系結(jié)構(gòu)中,相同的軟件應(yīng)用服務(wù)多個(gè)租戶,但該軟件應(yīng)用為每一個(gè)租戶保持?jǐn)?shù)據(jù)和配置的邏輯分區(qū)。為每一個(gè)租戶保護(hù)數(shù)據(jù),并且該應(yīng)用可以在按租戶的基礎(chǔ)上進(jìn)行配置。
[0004]簡要概述
[0005]本文描述的至少一個(gè)實(shí)施例涉及一種包括多個(gè)主機(jī)的系統(tǒng),每一個(gè)主機(jī)運(yùn)行虛擬機(jī)。該系統(tǒng)可以是例如其中存在各個(gè)服務(wù)以及與這些主機(jī)和服務(wù)通信的服務(wù)協(xié)調(diào)系統(tǒng)的云計(jì)算環(huán)境。
[0006]這些服務(wù)包括被配置成維護(hù)針對(duì)多個(gè)租戶中的每一個(gè)租戶的按租戶中間件策略的中間件管理服務(wù)。該中間件管理服務(wù)導(dǎo)致通過將網(wǎng)絡(luò)話務(wù)導(dǎo)向中間件實(shí)施機(jī)構(gòu)來對(duì)網(wǎng)絡(luò)話務(wù)應(yīng)用中間件策略,該中間件實(shí)施機(jī)構(gòu)對(duì)主存對(duì)應(yīng)于網(wǎng)絡(luò)話務(wù)的虛擬機(jī)的特定主機(jī)實(shí)施中間件。該中間件策略是按租戶的,因?yàn)樗Q于租戶的身份。
[0007]本
【發(fā)明內(nèi)容】
不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。
[0008]附圖簡述
[0009]為了描述能夠獲得上述和其它優(yōu)點(diǎn)和特征的方式,各實(shí)施例的更具體的描述將通過參考各附圖來呈現(xiàn)??梢岳斫猓@些附圖只描繪了示例實(shí)施例,并且因此不被認(rèn)為是對(duì)其范圍的限制,將通過使用附圖并利用附加特征和細(xì)節(jié)來描述和解釋各實(shí)施例,在附圖中:
[0010]圖1示出了其中可采用本文描述的一些實(shí)施例的計(jì)算系統(tǒng);
[0011]圖2抽象地示出了其中可采用本文描述的各個(gè)原理的環(huán)境,包括與多個(gè)主機(jī)、多個(gè)服務(wù)通信并通過接口與各客戶機(jī)通信的服務(wù)協(xié)調(diào)系統(tǒng);
[0012]圖3抽象地示出了運(yùn)行虛擬機(jī)的主機(jī),并且其中物理資源經(jīng)由管理程序來利用,該管理程序從虛擬機(jī)中抽象出物理資源并且改為呈現(xiàn)用于虛擬機(jī)的虛擬資源;
[0013]圖4抽象地示出了中間件實(shí)施機(jī)構(gòu)的各個(gè)組件,該中間件實(shí)施機(jī)構(gòu)被配置成對(duì)與在主機(jī)上運(yùn)行的虛擬機(jī)中的至少某一些相對(duì)應(yīng)的網(wǎng)絡(luò)話務(wù)應(yīng)用一個(gè)或多個(gè)中間件功能;
[0014]圖5示出了可表示圖2中所示的各個(gè)服務(wù)之一并且管理中間件功能策略的中間件管理服務(wù);以及
[0015]圖6示出了用于中間件管理組件操作以對(duì)網(wǎng)絡(luò)話務(wù)項(xiàng)執(zhí)行按租戶中間件功能的方法的流程圖。
[0016]詳細(xì)描述
[0017]根據(jù)本文描述的實(shí)施例,一種系統(tǒng)包括多個(gè)主機(jī),每一個(gè)主機(jī)運(yùn)行虛擬機(jī)。該系統(tǒng)可以是例如其中存在各個(gè)服務(wù)以及與這些主機(jī)和服務(wù)通信的服務(wù)協(xié)調(diào)系統(tǒng)的云計(jì)算環(huán)境。
[0018]這些服務(wù)包括被配置成維護(hù)針對(duì)多個(gè)租戶中的每一個(gè)租戶的按租戶中間件策略的中間件管理服務(wù)。該中間件管理服務(wù)導(dǎo)致通過將網(wǎng)絡(luò)話務(wù)導(dǎo)向中間件實(shí)施機(jī)構(gòu)來對(duì)網(wǎng)絡(luò)話務(wù)應(yīng)用中間件策略。例如,中間件實(shí)施機(jī)構(gòu)可以在特定主機(jī)上運(yùn)行(例如,作為虛擬機(jī)或者可能作為主存對(duì)應(yīng)于網(wǎng)絡(luò)話務(wù)的虛擬機(jī)的另一主機(jī)組件)。替換地或附加地,中間件實(shí)施機(jī)構(gòu)中的全部或部分可以在單獨(dú)的主機(jī)上和/或任何主機(jī)之外運(yùn)行(諸如單獨(dú)的服務(wù))。
[0019]首先,將參考圖1來描述關(guān)于計(jì)算系統(tǒng)的一些引導(dǎo)性討論。隨后,該系統(tǒng)的各實(shí)施例將參考圖2至6來描述。
[0020]計(jì)算系統(tǒng)現(xiàn)在越來越多地采取多種多樣的形式。計(jì)算系統(tǒng)可以例如是手持式設(shè)備、電器、膝上型計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、大型機(jī)、分布式計(jì)算系統(tǒng),或者甚至通常不被視為計(jì)算系統(tǒng)的設(shè)備。在本說明書以及權(quán)利要求書中,術(shù)語“計(jì)算系統(tǒng)”被廣義地定義為包括任何設(shè)備或系統(tǒng)(或其組合),該設(shè)備或系統(tǒng)包含至少一個(gè)物理有形的處理器以及其上能含有可由處理器執(zhí)行的計(jì)算機(jī)可執(zhí)行指令的物理有形的存儲(chǔ)器。存儲(chǔ)器可以采取任何形式,并可以取決于計(jì)算系統(tǒng)的特性和形式。計(jì)算系統(tǒng)可以分布在網(wǎng)絡(luò)環(huán)境中,并可包括多個(gè)組分計(jì)算系統(tǒng)。
[0021]如圖1所示,在其最基本的配置中,計(jì)算系統(tǒng)100通常包括至少一個(gè)處理單元102和存儲(chǔ)器104。存儲(chǔ)器104可以是物理系統(tǒng)存儲(chǔ)器,該物理系統(tǒng)存儲(chǔ)器可以是易失性、非易失性、或兩者的某種組合。術(shù)語“存儲(chǔ)器”在此也可用來指諸如物理存儲(chǔ)介質(zhì)等非易失性大容量存儲(chǔ)。如果計(jì)算系統(tǒng)是分布式的,則處理、存儲(chǔ)器和/或存儲(chǔ)能力也可以是分布式的。如此處所使用的那樣,術(shù)語“模塊”或“組件”可以指在計(jì)算系統(tǒng)上執(zhí)行的軟件對(duì)象或例程。此處所描述的不同組件、模塊、引擎,以及服務(wù)可以實(shí)現(xiàn)為在計(jì)算系統(tǒng)上執(zhí)行的對(duì)象或進(jìn)程(例如,作為分開的線程)。
[0022]在隨后的描述中,參考由一個(gè)或多個(gè)計(jì)算系統(tǒng)執(zhí)行的動(dòng)作描述了各實(shí)施例。如果這樣的動(dòng)作是以軟件實(shí)現(xiàn)的,則執(zhí)行動(dòng)作的相關(guān)聯(lián)計(jì)算系統(tǒng)的一個(gè)或多個(gè)處理器響應(yīng)于已經(jīng)執(zhí)行了計(jì)算機(jī)可執(zhí)行指令來引導(dǎo)計(jì)算系統(tǒng)的操作。這樣的操作的示例涉及對(duì)數(shù)據(jù)的操縱。計(jì)算機(jī)可執(zhí)行指令(以及被操縱的數(shù)據(jù))可以存儲(chǔ)在計(jì)算系統(tǒng)100的存儲(chǔ)器104中。計(jì)算系統(tǒng)100還可包含允許計(jì)算系統(tǒng)100例如通過網(wǎng)絡(luò)110與其他消息處理器通信的通信信道108。
[0023]本文描述的各實(shí)施例可包括或利用專用或通用計(jì)算機(jī),該專用或通用計(jì)算機(jī)包括諸如例如一個(gè)或多個(gè)處理器和系統(tǒng)存儲(chǔ)器等計(jì)算機(jī)硬件,如以下更詳細(xì)討論的。本文描述的各實(shí)施例還包括用于承載或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理的和其他的計(jì)算機(jī)可讀介質(zhì)。這樣的計(jì)算機(jī)可讀介質(zhì)可以是可由通用或?qū)S糜?jì)算機(jī)系統(tǒng)訪問的任何可用介質(zhì)。存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是物理存儲(chǔ)介質(zhì)。承載計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制,本發(fā)明的各實(shí)施例可包括至少兩種顯著不同的計(jì)算機(jī)可讀介質(zhì):計(jì)算機(jī)存儲(chǔ)介質(zhì)和傳輸介質(zhì)。
[0024]計(jì)算機(jī)存儲(chǔ)介質(zhì)包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲(chǔ)、磁盤存儲(chǔ)或其他磁存儲(chǔ)設(shè)備、或可用于存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜?jì)算機(jī)訪問的任何其他介質(zhì)。
[0025]“網(wǎng)絡(luò)”被定義為允許在計(jì)算機(jī)系統(tǒng)和/或模塊和/或其他電子設(shè)備之間傳輸電子數(shù)據(jù)的一個(gè)或多個(gè)數(shù)據(jù)鏈路。當(dāng)信息通過網(wǎng)絡(luò)或另一個(gè)通信連接(硬連線、無線、或者硬連線或無線的組合)傳輸或提供給計(jì)算機(jī)時(shí),該計(jì)算機(jī)將該連接適當(dāng)?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì)可包括可用于攜帶計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜?jì)算機(jī)訪問的網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路。上述的組合也應(yīng)被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。
[0026]此外,在到達(dá)各種計(jì)算機(jī)系統(tǒng)組件之后,計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程序代碼裝置可從傳輸介質(zhì)自動(dòng)傳輸?shù)接?jì)算機(jī)存儲(chǔ)介質(zhì)(或反之亦然)。例如,通過網(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ì)。因而,應(yīng)當(dāng)理解,計(jì)算機(jī)存儲(chǔ)介質(zhì)可被包括在還利用(或甚至主要利用)傳輸介質(zhì)的計(jì)算機(jī)系統(tǒng)組件中。
[0027]計(jì)算機(jī)可執(zhí)行指令例如包括,當(dāng)在處理器處執(zhí)行時(shí)使通用計(jì)算機(jī)、專用計(jì)算機(jī)、或?qū)S锰幚碓O(shè)備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計(jì)算機(jī)可執(zhí)行指令可以是例如二進(jìn)制代碼、諸如匯編語言之類的中間格式指令、或甚至源代碼。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專用的語言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述特征或動(dòng)作。相反,上述特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式而公開的。
[0028]本領(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ā)明也可在其中通過網(wǎng)絡(luò)鏈接(或者通過硬連線數(shù)據(jù)鏈路、無線數(shù)據(jù)鏈路,或者通過硬連線和無線數(shù)據(jù)鏈路的組合)的本地和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)兩者都執(zhí)行任務(wù)的分布式系統(tǒng)環(huán)境中實(shí)施。在分布式系統(tǒng)環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備二者中。
[0029]圖2抽象地示出了其中可采用本文描述的各原理的環(huán)境200。環(huán)境200包括使用接口 202與系統(tǒng)210交互的多個(gè)客戶機(jī)210。環(huán)境220被示為具有三個(gè)客戶機(jī)201A、201B和201C,但省略號(hào)201D表示本文描述的原理不限于通過接口 202與系統(tǒng)210交互的客戶機(jī)的數(shù)量。系統(tǒng)210可以按需向客戶機(jī)201提供服務(wù)并因此從系統(tǒng)210接收服務(wù)的客戶機(jī)201的數(shù)量可隨時(shí)間變化。
[0030]每一個(gè)客戶機(jī)201可以例如如上所述地被構(gòu)造成圖1的計(jì)算系統(tǒng)100。替換地或附加地,客戶機(jī)可以是通過接口 202與系統(tǒng)210對(duì)接的應(yīng)用或其他軟件模塊。接口 202可以是按照使得能夠使用應(yīng)用程序接口的任何計(jì)算系統(tǒng)或軟件實(shí)體可以與系統(tǒng)210通信的方式定義的應(yīng)用程序接口。
[0031]系統(tǒng)210可以是分布式系統(tǒng),但并非必需。在一個(gè)實(shí)施例中,系統(tǒng)210是云計(jì)算環(huán)境。云計(jì)算環(huán)境可以是分布式的,但并非必需,并且甚至可以分布在全球和/或具有跨多個(gè)組織處理的組件。
[0032]在本說明書和接下來的權(quán)利要求書中,“云計(jì)算”被定義為用于使得能夠?qū)膳渲糜?jì)算資源(例如,網(wǎng)絡(luò)、服務(wù)器、存儲(chǔ)、應(yīng)用和服務(wù))的共享池進(jìn)行按需的網(wǎng)絡(luò)訪問的模型。“云計(jì)算”的定義不限于在適當(dāng)部署時(shí)可以從這一模型獲取的其他眾多優(yōu)點(diǎn)中的任意個(gè)。
[0033]例如,云計(jì)算當(dāng)前在市場(chǎng)中被采用,以便提供對(duì)可配置計(jì)算資源的共享池的普遍存在且方便的按需訪問。此外,可配置計(jì)算資源的共享池可經(jīng)由虛擬化而被快速地供應(yīng),并可利用低管理努力或服務(wù)提供商干預(yù)來發(fā)布,并隨后因此被縮放。
[0034]云計(jì)算模型可由各種特性組成,諸如按需自服務(wù)、廣泛網(wǎng)絡(luò)訪問、資源池、快速靈活性、測(cè)定的服務(wù)等。云計(jì)算模型還可形成各種服務(wù)模型,諸如例如軟件即服務(wù)(“SaaS”)、平臺(tái)即服務(wù)(“PaaS”)以及基礎(chǔ)結(jié)構(gòu)即服務(wù)(“IaaS”)。云計(jì)算模型還可以使用不同的部署模型來部署,諸如私有云、社區(qū)云、公共云和混合云等。在該描述和權(quán)利要求書中,“云計(jì)算環(huán)境”是其中采用了云計(jì)算的環(huán)境。
[0035]系統(tǒng)210包括各自能夠運(yùn)行虛擬機(jī)的多個(gè)主機(jī)211。盡管系統(tǒng)200可能包括任何數(shù)量的主機(jī)211,但存在圖2所示的三個(gè)主機(jī)211A、21IB和211C,且省略號(hào)21ID表示本文描述的原理不限于系統(tǒng)210內(nèi)的主機(jī)的確切數(shù)量。該數(shù)量可能少至一個(gè),且沒有上限。此夕卜,主機(jī)的數(shù)量可以是靜態(tài)的,或者可能在新主機(jī)被添加到系統(tǒng)210時(shí)或者在主機(jī)被從系統(tǒng)210中丟棄時(shí)隨時(shí)間動(dòng)態(tài)改變。每一個(gè)客戶機(jī)211可以如上所述地被構(gòu)造成圖1的計(jì)算系統(tǒng)100。
[0036]每一個(gè)主機(jī)都能夠運(yùn)行一個(gè)或多個(gè)(且可能許多個(gè))虛擬機(jī)。例如,圖3更詳細(xì)地抽象地示出了主機(jī)300。作為示例,主機(jī)300可表示圖2的主機(jī)211中的任意個(gè)。在圖3的情況,主機(jī)300被示為操作包括虛擬機(jī)310A、310B和31C在內(nèi)的三個(gè)虛擬機(jī)310。然而,省略號(hào)310D再一次表示本文描述的原理不限于在主機(jī)300上運(yùn)行的虛擬機(jī)的數(shù)量??赡苌僦亮銈€(gè)虛擬機(jī)在主機(jī)上運(yùn)行,且只是上限由主機(jī)300的物理能力來定義。
[0037]在操作期間,虛擬機(jī)對(duì)至少包括操作系統(tǒng)并且也可能包括一個(gè)或多個(gè)其他應(yīng)用的全操作計(jì)算系統(tǒng)進(jìn)行仿真。每一個(gè)虛擬機(jī)被分配給特定客戶機(jī)并且負(fù)責(zé)支持用于該客戶機(jī)的桌面環(huán)境。
[0038]虛擬機(jī)生成桌面映像或者表示桌面的當(dāng)前狀態(tài)的其他呈現(xiàn)指令,并且然后將映像或指令傳送到客戶機(jī)以供進(jìn)行桌面呈現(xiàn)。例如,參考圖2和3,假設(shè)圖3的主機(jī)300表示圖2的主機(jī)21IA并且虛擬機(jī)310A被分配給客戶機(jī)201A (本文中稱為“主示例”),虛擬機(jī)310A可生成桌面映像或指令并經(jīng)由服務(wù)協(xié)調(diào)協(xié)調(diào)213并經(jīng)由系統(tǒng)接口 202將這些指令從主機(jī)21IA分派給對(duì)應(yīng)的客戶機(jī)201A。
[0039]當(dāng)用戶在客戶機(jī)處與桌面交互時(shí),用戶輸入從該客戶機(jī)傳送到虛擬機(jī)。例如,在主示例中且參考圖2和3,客戶機(jī)201A的用戶與桌面交互,并且用戶輸入經(jīng)由接口 201、經(jīng)由服務(wù)協(xié)調(diào)協(xié)調(diào)213并經(jīng)由主機(jī)211A從客戶機(jī)201傳送到虛擬機(jī)310A。
[0040]虛擬機(jī)處理用戶輸入,并且在適當(dāng)時(shí)改變桌面狀態(tài)。如果桌面狀態(tài)的這一改變導(dǎo)致所呈現(xiàn)的桌面改變,則虛擬機(jī)在適當(dāng)時(shí)更改映像或呈現(xiàn)指令并將更改后的映像或所呈現(xiàn)的指令傳送到客戶機(jī)計(jì)算系統(tǒng)以供進(jìn)行適當(dāng)?shù)某尸F(xiàn)。從用戶的角度來看,這就像客戶機(jī)計(jì)算系統(tǒng)本身執(zhí)行桌面處理。
[0041 ] 主機(jī)300包括管理程序320,該管理程序使用從虛擬機(jī)310的視角抽象出的物理資源321來仿真用于虛擬機(jī)310的虛擬資源。管理程序321還提供各虛擬機(jī)310之間的適當(dāng)隔離。由此,從任何給定虛擬機(jī)的角度來看,管理程序320提供虛擬機(jī)正與物理資源對(duì)接的假象,即使該虛擬機(jī)只與物理資源的外觀(例如,虛擬資源)對(duì)接,而不直接與物理資源對(duì)接。在圖3中,物理資源321被抽象地表示為包括資源321A到321F。物理資源321的示例包括處理容量、存儲(chǔ)器、盤空間、網(wǎng)絡(luò)帶寬、媒體驅(qū)動(dòng)器等。
[0042]主機(jī)300可操作主機(jī)代理302,該主機(jī)代理302監(jiān)視主機(jī)的執(zhí)行并執(zhí)行管理主機(jī)的其他操作。此外,主機(jī)300可包括其他組件303。此類其他組件303的一個(gè)示例是中間件實(shí)施機(jī)構(gòu)。
[0043]圖4抽象地示出了中間件實(shí)施機(jī)構(gòu)400的各個(gè)組件,該中間件實(shí)施機(jī)構(gòu)被配置成對(duì)與在對(duì)應(yīng)的主機(jī)上運(yùn)行的虛擬機(jī)中的至少某一些相對(duì)應(yīng)的網(wǎng)絡(luò)話務(wù)應(yīng)用一個(gè)或多個(gè)中間件功能401。例如,中間件實(shí)施機(jī)構(gòu)400被示為應(yīng)用兩個(gè)中間件功能401A和401B,但省略號(hào)401C表示本文描述的原理不限于被應(yīng)用于網(wǎng)絡(luò)話務(wù)的中間件功能的數(shù)量。中間件功能的示例將在下文中更詳細(xì)地描述。然而,泛泛而言,中間件功能是對(duì)網(wǎng)絡(luò)話務(wù)執(zhí)行有條件過濾操作或有條件變換操作的功能。中間件環(huán)境機(jī)構(gòu)400可表示能夠?qū)嵤┲虚g件功能的子集的多個(gè)組件。例如,一個(gè)組件可實(shí)施中間件功能401A,而另一個(gè)組件可實(shí)施中間件功能401B。在一些實(shí)施例中,中間件實(shí)施機(jī)構(gòu)400可以在主機(jī)211上操作。例如,中間件實(shí)施機(jī)構(gòu)400可以在與網(wǎng)絡(luò)話務(wù)被導(dǎo)向的目標(biāo)虛擬機(jī)相同的主機(jī)上操作。替換地或附加地,中間件實(shí)施機(jī)構(gòu)400中的部分或全部可以在與運(yùn)行目標(biāo)虛擬機(jī)的主機(jī)不同的主機(jī)211上操作。替換地或附加地,中間件實(shí)施機(jī)構(gòu)400中的部分或全部可以在任何主機(jī)211之外操作(諸如在服務(wù)協(xié)調(diào)系統(tǒng)213中和/或在一個(gè)或多個(gè)服務(wù)212中操作)。
[0044]回頭參考圖2,系統(tǒng)200還包括服務(wù)212。在所示示例中,服務(wù)200包括五個(gè)不同的服務(wù)212A、212B、212C、212D和212E,但省略號(hào)212F表示本文描述的原理不限于系統(tǒng)210中的服務(wù)的數(shù)量。服務(wù)協(xié)調(diào)系統(tǒng)213與主機(jī)211和服務(wù)212通信以由此提供客戶機(jī)201所請(qǐng)求的服務(wù)以及可以是所請(qǐng)求的服務(wù)的先決條件的其他服務(wù)(諸如授權(quán)、記賬等)。
[0045]圖5示出了可表示圖2所示的一個(gè)服務(wù)212的中間件管理服務(wù)500。中間件管理服務(wù)500被配置成維護(hù)針對(duì)多個(gè)租戶中的每一個(gè)以及針對(duì)可能的多個(gè)中間件功能中的每一個(gè)的按租戶中間件策略。因此,圖5示出了其中策略被表示為租戶在垂直維度上且中間件功能在水平維度上的二維網(wǎng)格的中間件策略組件501。策略具有標(biāo)識(shí)名501Xy,其中X是租戶的標(biāo)識(shí)符(租戶A到D),而y是中間件功能的標(biāo)識(shí)符(中間件功能a到e)。當(dāng)然,策略可以按任何方式表示,而不是僅僅二維網(wǎng)格。該網(wǎng)格僅僅為了便于向讀者可視化中間件策略的按租戶和按功能表示而提供。
[0046]中間件功能可以是對(duì)相關(guān)聯(lián)的租戶的網(wǎng)絡(luò)話務(wù)應(yīng)用有條件過濾或有條件變換的任何功能。僅僅作為示例,中間件功能可包括以下各項(xiàng):
[0047]I)防火墻功能,該功能過濾傳入話務(wù)并且不允許特定話務(wù)類型到達(dá)虛擬機(jī)和/或過濾傳出話務(wù)并且不允許虛擬機(jī)分派特定話務(wù)類型;
[0048]2)防病毒功能,該功能執(zhí)行對(duì)特定類型的傳出或傳入網(wǎng)絡(luò)話務(wù)的防病毒檢查;
[0049]3)隔離區(qū)功能,該功能在沙箱環(huán)境中執(zhí)行特定類型的網(wǎng)絡(luò)話務(wù)以標(biāo)識(shí)執(zhí)行將導(dǎo)致發(fā)生什么并取決于效果來過濾網(wǎng)絡(luò)話務(wù);
[0050]4)加密和/或解密功能,該功能加密傳出網(wǎng)絡(luò)話務(wù)和/或解密傳入網(wǎng)絡(luò)話務(wù);
[0051]5)壓縮和/或解壓縮功能,該功能壓縮傳出網(wǎng)絡(luò)話務(wù)和/或解壓傳入網(wǎng)絡(luò)話務(wù),等坐寸ο
[0052]對(duì)于每一個(gè)中間件功能并且對(duì)于每一個(gè)租戶,中間件策略501由此包括策略。注意,這些策略可具有在該策略內(nèi)表達(dá)的默認(rèn)設(shè)置,或者基于缺失信息來推斷的其他設(shè)置,等等。此外,策略本身可以是接收各種輸入的功能的產(chǎn)物。例如,策略501Aa可專用于租戶A和功能a,該策略是將壓縮特定類型的傳出網(wǎng)絡(luò)話務(wù),但只在特定時(shí)間期間,且只在主機(jī)資源使用低于特定水平的情況下,且只在主機(jī)的網(wǎng)絡(luò)帶寬使用高于特定水平的情況下。
[0053]注意,策略501支持被抽象地標(biāo)記為功能a到e的五個(gè)中間件功能。然而,策略501可支持從一個(gè)到許多個(gè)的任何數(shù)量的功能。所支持的功能可以是作為默認(rèn)由中間件管理服務(wù)200提供的中間件功能庫的一部分的預(yù)定義的功能。此外,這些策略中的一個(gè)、部分或全部不一定被應(yīng)用于所有租戶。例如,假設(shè)租戶A不具有相關(guān)聯(lián)的防火墻功能(例如,功能a)并由此對(duì)于租戶A和功能a不存在相關(guān)聯(lián)的策略501Aa。作為另一示例,假設(shè)租戶B不具有相關(guān)聯(lián)的防病毒功能(例如,功能c)并由此對(duì)于租戶B和功能c不存在相關(guān)聯(lián)的策略501Bc。還注意,策略501支持被抽象地標(biāo)記為功能A到D的四個(gè)租戶。然而,策略501可支持從一個(gè)到許多個(gè)的任何數(shù)量的租戶。
[0054]中間件管理服務(wù)500還包括準(zhǔn)許改變按租戶中間件策略501的策略調(diào)整組件502。作為示例,參考圖2,具有適當(dāng)憑證的客戶機(jī)可改變策略501的一個(gè)或多個(gè)分量。改變憑證的權(quán)力的范圍可限于對(duì)應(yīng)于特定租戶或租戶組的策略,或者限于中間件功能或中間件功能組,或者可以按其他方式受限。
[0055]策略確定組件503取決于對(duì)應(yīng)于網(wǎng)絡(luò)話務(wù)的虛擬機(jī)且取決于被分配給虛擬機(jī)的租戶以及取決于中間件功能來確定要應(yīng)用于網(wǎng)絡(luò)話務(wù)的策略。在圖5中,存在各自對(duì)應(yīng)于中間件功能a到e的多個(gè)這樣的確定組件503A到503E。路由組件504導(dǎo)致網(wǎng)絡(luò)話務(wù)被路由以使得所確定的策略使用中間件來被應(yīng)用于網(wǎng)絡(luò)話務(wù)。例如,路由組件504可將網(wǎng)絡(luò)話務(wù)路由至圖4的中間件實(shí)施機(jī)構(gòu)400。
[0056]圖6示出了用于中間件管理服務(wù)操作以對(duì)網(wǎng)絡(luò)話務(wù)項(xiàng)執(zhí)行按租戶中間件功能的方法600的流程圖。方法600可由例如圖5的中間件管理服務(wù)500來執(zhí)行。因此,圖6的方法600將頻繁地參考圖5的中間件管理服務(wù)500來描述。
[0057]中間件管理服務(wù)500訪問網(wǎng)絡(luò)話務(wù)項(xiàng)的一個(gè)或多個(gè)特性(動(dòng)作601)。這些特性可包括(僅僅作為示例)網(wǎng)絡(luò)話務(wù)是傳入還是傳出、是否具有特定大小、是否根據(jù)特定協(xié)議來傳送、是否具有特定內(nèi)容,等等。這些特性可例如由服務(wù)協(xié)調(diào)系統(tǒng)213來提供。中間件管理服務(wù)500標(biāo)識(shí)對(duì)應(yīng)于網(wǎng)絡(luò)話務(wù)的虛擬機(jī)(動(dòng)作602)(例如,在傳入網(wǎng)絡(luò)話務(wù)的情況下的網(wǎng)絡(luò)話務(wù)去往的虛擬機(jī),或者在傳出網(wǎng)絡(luò)話務(wù)的情況下的網(wǎng)絡(luò)話務(wù)源自的虛擬機(jī))。該信息可能已經(jīng)由服務(wù)協(xié)調(diào)系統(tǒng)213確定并被提供給中間件管理服務(wù)500,和/或中間件管理服務(wù)500可能已經(jīng)基于網(wǎng)絡(luò)話務(wù)特性確定虛擬機(jī)身份。
[0058]中間件管理服務(wù)500然后確定什么租戶被分配給虛擬機(jī)(動(dòng)作603)。基于租戶身份,確定組件503可參照中間件策略501以便標(biāo)識(shí)要應(yīng)用于網(wǎng)絡(luò)話務(wù)的(諸)中間件功能(動(dòng)作604),并標(biāo)識(shí)要應(yīng)用于那些中間件功能的相應(yīng)配置(動(dòng)作605)。然后可采用路由組件504以使得適當(dāng)配置的中間件功能被應(yīng)用于網(wǎng)絡(luò)話務(wù)的方式來路由網(wǎng)絡(luò)話務(wù)(動(dòng)作606)。例如,路由組件可使得網(wǎng)絡(luò)話務(wù)被路由到負(fù)責(zé)對(duì)目標(biāo)虛擬機(jī)應(yīng)用所標(biāo)識(shí)的中間件的中間件實(shí)施機(jī)構(gòu)400。網(wǎng)絡(luò)話務(wù)可包括用于中間件實(shí)施組件的關(guān)于哪些中間件功能、以什么次序以及在具有什么配置的情況下被應(yīng)用的指令。
[0059]例如,在主示例中,中間件管理服務(wù)可接收網(wǎng)絡(luò)話務(wù)的特性并確定網(wǎng)絡(luò)話務(wù)對(duì)應(yīng)于圖3的主機(jī)300中的虛擬機(jī)310A(即主示例中的主機(jī)210)。中間件管理服務(wù)然后可以參照策略501來確定將要執(zhí)行功能401A和401B。然后,中間件管理服務(wù)可以將網(wǎng)絡(luò)話務(wù)分派給中間件實(shí)施組件400,在使得中間件實(shí)施組件400執(zhí)行功能401A和401B的配置的情況下該中間件實(shí)施組件400將代表目標(biāo)虛擬機(jī)應(yīng)用中間件功能401A和401B。
[0060]再次參考圖5,中間件管理服務(wù)500可具有用于向由中間件管理服務(wù)500服務(wù)的可用中間件功能添加中間件服務(wù)或功能的擴(kuò)展性機(jī)構(gòu)505。由此,第三方中間件功能可被添加到中間件管理服務(wù)500。例如,假設(shè)將要添加新中間件功能f,擴(kuò)展性機(jī)構(gòu)505可包括準(zhǔn)許服務(wù)協(xié)調(diào)系統(tǒng)213導(dǎo)致附加策略被填充以便為一個(gè)或多個(gè)租戶支持功能f的應(yīng)用程序接口。另外,中間件確定功能可被添加以處理針對(duì)該新功能的配置確定。
[0061]回頭參考圖3,記得在一個(gè)實(shí)施例中主機(jī)本身具有中間件實(shí)施機(jī)構(gòu),該中間件實(shí)施機(jī)構(gòu)是圖3的其他組件303的示例并且被抽象地示為圖4中的中間件實(shí)施機(jī)構(gòu)400。存在能夠在主機(jī)上實(shí)現(xiàn)這一中間件實(shí)施機(jī)構(gòu)400的各種方式。在一個(gè)示例中,中間件實(shí)施機(jī)構(gòu)是在特定主機(jī)上運(yùn)行的專用虛擬機(jī),并且其操作以執(zhí)行用于其他虛擬機(jī)的中間件功能。由于所有虛擬機(jī)都在安全環(huán)境中操作并且被防止使用主機(jī)操作系統(tǒng)來損害主機(jī),因此這是允許第三方添加中間件功能同時(shí)降低對(duì)主機(jī)的損害的風(fēng)險(xiǎn)的更安全的方式。另一種方式是使得中間件實(shí)施機(jī)構(gòu)擔(dān)當(dāng)主機(jī)操作系統(tǒng)的一部分。然而,記得中間件實(shí)施機(jī)構(gòu)400中的部分或全部可以駐留在與目標(biāo)虛擬機(jī)不同的主機(jī)中和/或可能駐留在任何主機(jī)之外。
[0062]因此,本文描述的原理允許中間件功能被靈活地結(jié)合到諸如云計(jì)算環(huán)境等系統(tǒng)中,同時(shí)可能允許第三方向云添加自定義中間件功能。
[0063]本發(fā)明可具體化為其它具體形式而不背離其精神或本質(zhì)特征。所描述的實(shí)施例在所有方面都應(yīng)被認(rèn)為僅是說明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書而非前述描述指示。落入權(quán)利要求書的等效方案的含義和范圍內(nèi)的所有改變被權(quán)利要求書的范圍所涵蓋。
【權(quán)利要求】
1.一種系統(tǒng),包括: 多個(gè)主機(jī),每一個(gè)主機(jī)運(yùn)行多個(gè)虛擬機(jī); 中間件實(shí)施機(jī)構(gòu),所述中間件實(shí)施機(jī)構(gòu)被配置成對(duì)與在所述多個(gè)主機(jī)中的至少特定主機(jī)上運(yùn)行的所述多個(gè)虛擬機(jī)中的至少某一些相對(duì)應(yīng)的網(wǎng)絡(luò)話務(wù)應(yīng)用中間件功能; 包括中間件管理服務(wù)的多個(gè)服務(wù),所述中間件管理服務(wù)被配置成維護(hù)針對(duì)多個(gè)租戶中的每一個(gè)租戶的按租戶中間件策略,并使得通過在至少在某些情況下將網(wǎng)絡(luò)話務(wù)導(dǎo)向所述中間件實(shí)施機(jī)構(gòu)來對(duì)網(wǎng)絡(luò)話務(wù)應(yīng)用所述中間件策略,所述中間件策略取決于被分配給對(duì)應(yīng)于所述網(wǎng)絡(luò)話務(wù)的虛擬機(jī)的租戶的身份;以及 與所述多個(gè)主機(jī)以及所述多個(gè)服務(wù)通信的服務(wù)協(xié)調(diào)系統(tǒng)。
2.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述中間件功能是有條件過濾操作。
3.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述中間件功能是有條件變換操作。
4.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述系統(tǒng)是云計(jì)算環(huán)境。
5.如權(quán)利要求1所述的系統(tǒng),其特征在于,所述中間件管理服務(wù)具有用于多個(gè)中間件服務(wù)的策略。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述中間件管理服務(wù)包括用于向所述多個(gè)中間件服務(wù)添加中間件服務(wù)的機(jī)構(gòu)。
7.如權(quán)利要求1所述的系統(tǒng),其特征在于,對(duì)于至少特定主機(jī),所述中間件實(shí)施機(jī)構(gòu)包括在所述特定主機(jī)上運(yùn)行的專用虛擬機(jī)。
8.如權(quán)利要求1所述的系統(tǒng),其特征在于,對(duì)于至少特定主機(jī),所述中間件實(shí)施機(jī)構(gòu)包括主機(jī)操作系統(tǒng)的組件。
9.一種實(shí)現(xiàn)中間件管理服務(wù)的計(jì)算系統(tǒng),包括: 維護(hù)針對(duì)多個(gè)租戶中的每一個(gè)租戶的按租戶中間件策略的策略數(shù)據(jù)組件; 準(zhǔn)許改變所述按租戶中間件策略的策略調(diào)整組件; 策略確定組件,所述策略確定組件取決于對(duì)應(yīng)于網(wǎng)絡(luò)話務(wù)的虛擬機(jī)且取決于被分配給所述虛擬機(jī)的租戶來確定要應(yīng)用于所述網(wǎng)絡(luò)話務(wù)的策略;以及 路由組件,所述路由組件被配置成使得所述網(wǎng)絡(luò)話務(wù)被路由以使得所確定的策略使用中間件來應(yīng)用于所述網(wǎng)絡(luò)話務(wù)。
10.如權(quán)利要求9所述的計(jì)算系統(tǒng),其特征在于,所述策略確定組件包括多個(gè)策略確定組件,其中所述中間件管理服務(wù)還包括允許向所述中間件管理服務(wù)添加第三方策略確定組件的擴(kuò)展性機(jī)構(gòu)。
【文檔編號(hào)】G06F9/50GK104395886SQ201380032689
【公開日】2015年3月4日 申請(qǐng)日期:2013年6月12日 優(yōu)先權(quán)日:2012年6月19日
【發(fā)明者】D·班塞爾, P·帕特爾, A·格林伯格 申請(qǐng)人:微軟公司