專利名稱:保持虛擬機(jī)環(huán)境內(nèi)的會(huì)話狀態(tài)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明 一般地涉及虛擬機(jī)環(huán)境,其中客戶操作系統(tǒng)運(yùn)行在虛擬 機(jī)內(nèi),并且更具體地涉及保持此類虛擬機(jī)環(huán)境內(nèi)的會(huì)話狀態(tài)。
背景技術(shù):
按照慣例,單個(gè)計(jì)算設(shè)備運(yùn)行單個(gè)操作系統(tǒng)。例如,為每個(gè)計(jì) 算機(jī)用戶分配他所擁有的客戶端計(jì)算設(shè)備,并且該計(jì)算設(shè)備運(yùn)行操 作系統(tǒng),用戶可以在操作系統(tǒng)中運(yùn)行所希望的應(yīng)用程序。類似地, 服務(wù)器計(jì)算設(shè)備運(yùn)行單個(gè)操作系統(tǒng),該單個(gè)操作系統(tǒng)運(yùn)行應(yīng)用程序。
然而,此類計(jì)算機(jī)架構(gòu)具有劣勢(shì)。第一,它是昂貴的,因?yàn)槊?br>
個(gè)計(jì)算設(shè)備需要完整的一套處理器、存儲(chǔ)器以及輸入/輸出(1/0)設(shè)
備(而不論是否會(huì)用到它)以正確地執(zhí)行功能。第二,對(duì)此類架構(gòu) 的使用可能是效率低下的。在任何給定的時(shí)間,給定的計(jì)算設(shè)備可 能不在進(jìn)行工作,而是很可能正處于空閑,正在等待在工作負(fù)載增 加時(shí)將要執(zhí)行的任務(wù)。
因此,已經(jīng)開發(fā)了這樣的技術(shù),即多個(gè)操作系統(tǒng)能夠運(yùn)行在單 個(gè)計(jì)算設(shè)備上,至少共享該計(jì)算設(shè)備的存儲(chǔ)器和處理器。此類技術(shù)
稱作虛擬化。利用虛擬化,給定的計(jì)算設(shè)備具有多個(gè)虛擬機(jī)(VM) 或VM環(huán)境,其中客戶操作系統(tǒng)運(yùn)行在每個(gè)VM或VM環(huán)境中。因 此,針對(duì)多個(gè)計(jì)算機(jī)用戶的客戶操作系統(tǒng)可以同時(shí)在單個(gè)計(jì)算設(shè)備 上運(yùn)行,諸如單個(gè)服務(wù)器計(jì)算設(shè)備。當(dāng)工作負(fù)載需求為高時(shí),可以 實(shí)現(xiàn)并且運(yùn)行更多的VM。當(dāng)工作負(fù)載為低時(shí),VM可被掛起。
VM的客戶操作系統(tǒng)通常支持單個(gè)遠(yuǎn)程連接的用戶,并且在該操 作系統(tǒng)上運(yùn)行一個(gè)或多個(gè)希望的應(yīng)用程序。由VM主管的該客戶操 作系統(tǒng)以及在其上運(yùn)行或能夠運(yùn)行的應(yīng)用程序組成所謂的"會(huì)話",該"會(huì)話"可以分配給各個(gè)用戶。用戶遠(yuǎn)程連接至VM,即,經(jīng)由瘦 客戶端(thin-client)計(jì)算設(shè)備為客戶分配了會(huì)話,該瘦客戶端計(jì)算 設(shè)備具有最少的硬件,因?yàn)榇蟛糠痔幚碛蛇\(yùn)行VM的服務(wù)器計(jì)算設(shè) 備執(zhí)行。因此,最后得到與物理主管客戶端(hosted-client)方式相 對(duì)的虛擬化的主管客戶端方式,在物理主管客戶端方式中每個(gè)客戶 操作系統(tǒng)在其自己的獨(dú)立物理計(jì)算設(shè)備或"機(jī)器,,上而不是在VM 上運(yùn)行。
相對(duì)于物理主管客戶端方式,虛擬化主管客戶端方式是有優(yōu)勢(shì) 的,因?yàn)橥ǔP枰俚挠布Y源來支持相同數(shù)量的終端用戶。然 而,虛擬主管客戶端方式帶來了必須滿足的多個(gè)復(fù)雜度以便如期望 的那樣執(zhí)行。這些復(fù)雜度源自以下事實(shí),即給定的會(huì)話可以掛起、 重啟并且移動(dòng)到相同(或不同)計(jì)算設(shè)備上的其他VM,而不是針對(duì) 每個(gè)用戶僅具有單個(gè)必須管理的物理計(jì)算設(shè)備或"機(jī)器"。
特別地,必須仔細(xì)地跟蹤所有運(yùn)行在VM上的會(huì)話的狀態(tài)。例 如,在掛起的會(huì)話可以分配給用戶之前可能必須將該掛起的會(huì)話分 配給VM并且重啟它。如果并未正確地保持會(huì)話和到該會(huì)話的用戶 連接,那么虛擬主管客戶端方式很可能將周期性地或者更頻繁地發(fā) 生故障。即,考慮到會(huì)話的各種特征,為了分配并且正確地保持會(huì) 話,必須準(zhǔn)確地跟蹤會(huì)話的狀態(tài)。因此,出于這種和其他原因,需 要本發(fā)明。
發(fā)明內(nèi)容
本發(fā)明一般地涉及保持虛擬機(jī)(VM)環(huán)境內(nèi)的會(huì)話狀態(tài)。本發(fā) 明的 一個(gè)實(shí)施例的計(jì)算機(jī)化系統(tǒng)包括一個(gè)或多個(gè)VM環(huán)境和連接代 理器。每個(gè)VM環(huán)境主管客戶搡作系統(tǒng)(OS)以及能夠在該客戶OS 上運(yùn)行的 一個(gè)或多個(gè)應(yīng)用程序。每個(gè)VM環(huán)境的客戶OS和應(yīng)用計(jì)算 機(jī)程序組成了可分配給用戶的會(huì)話。連接代理器保持關(guān)于會(huì)話的狀 態(tài)才凡,并且允許響應(yīng)于消息、命令和內(nèi)部決定而在狀態(tài)之間進(jìn)4亍轉(zhuǎn) 換。例如,系統(tǒng)可以包括 一 個(gè)或多個(gè)瘦客戶端計(jì)算設(shè)備以接收來自
于VM環(huán)境的輸出并且向VM環(huán)境發(fā)送輸入。而且,客戶OS運(yùn)行 連接代理器代理,該連接代理器代理發(fā)送將會(huì)被連接代理器響應(yīng)的 消息。該系統(tǒng)可以進(jìn)一步包括外部管理代理以管理VM環(huán)境,并且 該外部管理代理發(fā)送將會(huì)被連接代理器響應(yīng)的命令。在連接代理器
會(huì)話的狀態(tài)可以包括未決狀態(tài)和多個(gè)其他狀態(tài),該未決狀態(tài)是 表明會(huì)話從其他狀態(tài)中的 一個(gè)轉(zhuǎn)換為其他狀態(tài)中的另 一個(gè)的過渡狀 態(tài)。這些其他狀態(tài)可以包括脫機(jī)狀態(tài)、聯(lián)才幾關(guān)閉狀態(tài)、聯(lián)機(jī)開啟 狀態(tài)、掛起狀態(tài)、活動(dòng)狀態(tài)、空閑狀態(tài)、斷開狀態(tài)以及故障狀態(tài)。
脫機(jī)狀態(tài)表明會(huì)話不可用于分配。脫機(jī)狀態(tài)可從聯(lián)機(jī)關(guān)閉狀態(tài) 以及聯(lián)機(jī)開啟狀態(tài)轉(zhuǎn)換,并且當(dāng)已初始地添加或創(chuàng)建會(huì)話時(shí),在移 除或解除會(huì)話的情況下會(huì)退出脫機(jī)狀態(tài)。脫機(jī)狀態(tài)可轉(zhuǎn)換為聯(lián)機(jī)關(guān) 閉狀態(tài)以及聯(lián)機(jī)開啟狀態(tài)。聯(lián)機(jī)關(guān)閉狀態(tài)表明會(huì)話實(shí)際上關(guān)閉但是 可用于分配。該聯(lián)機(jī)關(guān)閉狀態(tài)可從脫機(jī)狀態(tài)、聯(lián)機(jī)開啟狀態(tài)以及故 障狀態(tài)轉(zhuǎn)換,并且可轉(zhuǎn)換為脫機(jī)狀態(tài)以及聯(lián)機(jī)開啟狀態(tài)。
狀態(tài)可從脫機(jī)狀態(tài)、聯(lián)機(jī)關(guān)閉狀態(tài)以及掛起狀態(tài)轉(zhuǎn)換,并且可轉(zhuǎn)換 為脫機(jī)狀態(tài)、聯(lián)機(jī)關(guān)閉狀態(tài)、掛起狀態(tài)以及故障狀態(tài)。掛起狀態(tài)表 明會(huì)話正在VM環(huán)境中的一個(gè)已經(jīng)掛起的VM環(huán)境內(nèi)運(yùn)行,并且還 沒有分配該會(huì)話。掛起狀態(tài)可從聯(lián)機(jī)開啟狀態(tài)和其本身轉(zhuǎn)換,并且 可轉(zhuǎn)換為聯(lián)機(jī)開啟狀態(tài)和其本身。
活動(dòng)狀態(tài)表明會(huì)話已經(jīng)分配給已經(jīng)登錄到該會(huì)話的客戶O S上 并且正在活動(dòng)地使用該會(huì)話的用戶。活動(dòng)狀態(tài)可從聯(lián)機(jī)開啟狀態(tài)和 斷開狀態(tài)轉(zhuǎn)換,并且可轉(zhuǎn)換為聯(lián)機(jī)開啟狀態(tài)、空閑狀態(tài)以及斷開狀 態(tài)。空閑狀態(tài)表明會(huì)話已經(jīng)分配給已經(jīng)登錄到該會(huì)話的客戶OS上的 用戶,但是該會(huì)話正在VM環(huán)境中的一個(gè)已經(jīng)掛起的VM環(huán)境內(nèi)運(yùn) 行??臻e狀態(tài)可從活動(dòng)狀態(tài)和其本身轉(zhuǎn)換,并且可轉(zhuǎn)換為斷開狀態(tài) 和其本身。斷開狀態(tài)表明會(huì)話已經(jīng)分配給用戶并且正在運(yùn)行,但是該用戶
當(dāng)前沒有登錄到該會(huì)話的客戶OS上。斷開狀態(tài)可從活動(dòng)狀態(tài)和空閑
狀態(tài)轉(zhuǎn)換,并且可轉(zhuǎn)換為活動(dòng)狀態(tài)和故障狀態(tài)。故障狀態(tài)表明會(huì)話 已經(jīng)發(fā)生故障。故障狀態(tài)可從聯(lián)機(jī)開啟狀態(tài)和斷開狀態(tài)轉(zhuǎn)換,并且 可轉(zhuǎn)換為聯(lián)機(jī)關(guān)閉狀態(tài)。
本發(fā)明的實(shí)施例的計(jì)算設(shè)備包括連接代理器和由該連接代理器
實(shí)現(xiàn)的狀態(tài)跟蹤機(jī)制。該連接代理器針對(duì)一個(gè)或多個(gè)VM環(huán)境提供 服務(wù)。每個(gè)VM環(huán)境主管客戶OS和能夠在該客戶OS上運(yùn)行的一個(gè) 或多個(gè)應(yīng)用計(jì)算機(jī)程序。每個(gè)VM環(huán)境的客戶OS和應(yīng)用計(jì)算機(jī)程序 組成可分配給用戶的會(huì)話。狀態(tài)跟蹤機(jī)制保持關(guān)于會(huì)話狀態(tài)的狀態(tài) 機(jī)并且允許響應(yīng)于消息、命令和命令代理器的內(nèi)部決定而在狀態(tài)之 間進(jìn)行轉(zhuǎn)換。該狀態(tài)包括未決狀態(tài)和多個(gè)其他狀態(tài)。未決狀態(tài)表明 會(huì)話從其他狀態(tài)中的一個(gè)轉(zhuǎn)換為其他狀態(tài)中的另 一個(gè)。
本發(fā)明的實(shí)施例的產(chǎn)品包括有形計(jì)算機(jī)可讀介質(zhì)以及該介質(zhì)中
間進(jìn)行轉(zhuǎn)換。每個(gè)會(huì)話包括由VM環(huán)境主管的客戶操作系統(tǒng)OS以及 能夠在該客戶OS上運(yùn)行的一個(gè)或多個(gè)應(yīng)用程序。
本發(fā)明實(shí)施例的方法包括連接代理器接收關(guān)于會(huì)話第 一狀態(tài)的 消息、命令或內(nèi)部決定。該會(huì)話包括由VM環(huán)境主管的客戶OS以及 能夠在該客戶OS上運(yùn)行的一個(gè)或多個(gè)應(yīng)用程序。連接代理器作為響 應(yīng)而將會(huì)話從第 一狀態(tài)轉(zhuǎn)換為第二狀態(tài)。第 一狀態(tài)和第二狀態(tài)選自 多個(gè)不同的狀態(tài)。這些狀態(tài)包括脫機(jī)狀態(tài)、聯(lián)機(jī)關(guān)閉狀態(tài)、聯(lián)機(jī)開 啟狀態(tài)、掛起狀態(tài)、活動(dòng)狀態(tài)、空閑狀態(tài)、斷開狀態(tài)以及故障狀態(tài)。 而且,在從第一狀態(tài)向第二狀態(tài)轉(zhuǎn)換期間,會(huì)話處于過渡的未決狀 態(tài)。
本發(fā)明的實(shí)施例提供了相對(duì)于現(xiàn)有技術(shù)的優(yōu)勢(shì)。特別地,由連 接代理器,諸如由其狀態(tài)跟蹤機(jī)制保持的狀態(tài)機(jī)使虛擬化的主管客 戶端會(huì)話狀態(tài)能夠被仔細(xì)地跟蹤。因此,連接代理器動(dòng)態(tài)地跟蹤會(huì) 話,并且能夠采取適當(dāng)?shù)拇胧┮栽诮K端用戶連接至該會(huì)話之前準(zhǔn)備會(huì)話。連接代理器執(zhí)行的關(guān)于會(huì)話的操作被正確地管理,因?yàn)闀?huì)話 狀態(tài)在所有時(shí)間都是已知的。結(jié)果,可以支持全部虛擬化主管客戶 端解決方案。通過閱讀下文的詳細(xì)描述以及通過參考附圖,本發(fā)明 的其他實(shí)施例、方面和優(yōu)勢(shì)將變得明顯。
這里引用的附圖形成了說明書的一部分。除非另有指明,否則
明,并且不應(yīng)造成相反的暗示。
圖1是根據(jù)本發(fā)明的實(shí)施例在其中可以實(shí)現(xiàn)虛擬的主管客戶端
架構(gòu)的計(jì)算機(jī)化系統(tǒng)的圖示;
圖2是根據(jù)本發(fā)明的實(shí)施例在其中可以實(shí)現(xiàn)虛擬機(jī)(VM)環(huán)境 的服務(wù)器計(jì)算設(shè)備的圖示;
圖3是根據(jù)本發(fā)W 的狀態(tài)圖4是根據(jù)本發(fā)明的實(shí)施例的方法的流程圖
具體實(shí)施例方式
在對(duì)本發(fā)明的示例性實(shí)施例的以下詳細(xì)描述中參考了附圖,附 圖形成該詳細(xì)描述的一部分,并且在附圖中以說明的方式示出了其 中可以實(shí)施本發(fā)明的特定示例性實(shí)施例。這些實(shí)施例被描述得足夠 詳細(xì),使本領(lǐng)域技術(shù)人員能夠?qū)嵤┍景l(fā)明。可以使用其他實(shí)施例, 并且可以在不脫離本發(fā)明的精神和范圍的情況下做出邏輯的、機(jī)械 的和其他的改變。因此,不應(yīng)認(rèn)為以下的詳細(xì)描述具有限制性意義, 并且本發(fā)明的范圍僅由所附的權(quán)利要求書限定。
戶端架構(gòu)的系統(tǒng)150。該系統(tǒng)150包括服務(wù)器計(jì)算設(shè)備100和統(tǒng)稱為
瘦客戶端計(jì)算設(shè)備152的多個(gè)瘦客戶端計(jì)算設(shè)備152A、 1WB.....
152N。盡管在圖1中僅描述了一個(gè)服務(wù)器計(jì)算設(shè)備100,但在另一個(gè)實(shí)施例中,可以存在多個(gè)此類服務(wù)器計(jì)算設(shè)備,使得在此類實(shí)施
例中如這里描述的服務(wù)器計(jì)算設(shè)備100包括并且包容所有此類服務(wù)
器計(jì)算設(shè)備的功能。
服務(wù)器計(jì)算設(shè)備100是其上實(shí)現(xiàn)有多個(gè)虛擬機(jī)(VM)的計(jì)算設(shè) 備,如后面的更詳細(xì)描述中所描述的那樣。因此,服務(wù)器計(jì)算設(shè)備 100能夠支持多個(gè)痩客戶端計(jì)算設(shè)備152,以及因此支持多個(gè)用戶。 應(yīng)當(dāng)注意,虛擬化主管客戶端架構(gòu)不同于物理主管客戶端架構(gòu)。在 后者中,每個(gè)用戶以及因此每個(gè)瘦客戶端計(jì)算設(shè)備被分配了獨(dú)立的 物理計(jì)算設(shè)備、或物理"機(jī)器"。作為比較,在前者中,每個(gè)用戶 以及因此每個(gè)瘦客戶端計(jì)算設(shè)備沒有被分配獨(dú)立的物理計(jì)算設(shè)備, 而是被分配了運(yùn)行在服務(wù)器計(jì)算設(shè)備100上的獨(dú)立的虛擬計(jì)算設(shè)備 或虛擬"機(jī)器"(VM)。
在一個(gè)實(shí)施例中,希望每個(gè)瘦客戶端計(jì)算設(shè)備152具有向服務(wù) 器計(jì)算設(shè)備100發(fā)送用戶在該瘦客戶端計(jì)算設(shè)備鍵入的輸入以及顯 示由服務(wù)器計(jì)算設(shè)備100提供給該瘦客戶端計(jì)算設(shè)備處的用戶的輸 出所需的僅有的最少硬件。因此,可以認(rèn)為瘦客戶端計(jì)算設(shè)備是遠(yuǎn) 程用戶的計(jì)算設(shè)備,或本身不執(zhí)行應(yīng)用處理的計(jì)算機(jī)。而且,瘦客 戶端計(jì)算設(shè)備的功能類似于輸入/輸出終端,僅處理鍵盤、鼠標(biāo)以及 其他輸入設(shè)備的輸入以及屏幕或顯示器輸出。所有應(yīng)用處理都在服 務(wù)器計(jì)算設(shè)備100上執(zhí)行。
因此,服務(wù)器計(jì)算設(shè)備100可通信地連接至瘦客戶端計(jì)算設(shè)備 152。例如,在典型的情況中,服務(wù)器計(jì)算設(shè)備100可以位于服務(wù)器 "機(jī)拒,,(closet)中,通常僅有組織的信息技術(shù)(IT)人員對(duì)該"機(jī) 拒,,具有訪問權(quán)。作為比較,瘦客戶端計(jì)算設(shè)備152通常位于終端 用戶的房間或辦公室內(nèi)。因此,瘦客戶端計(jì)算設(shè)備152遠(yuǎn)程連接至 服務(wù)器計(jì)算設(shè)備100,并且因此認(rèn)為使用計(jì)算設(shè)備152的終端用戶是 遠(yuǎn)程用戶。
此外,在一個(gè)實(shí)施例中,瘦客戶端計(jì)算設(shè)備可以包括筆記本計(jì) 算機(jī)或其他便攜式計(jì)算機(jī)或用戶正在用來從遠(yuǎn)程位置登錄VM的其他計(jì)算機(jī)。此類遠(yuǎn)程位置可以包括用戶的住宅、用戶因?yàn)槌霾罨蛐?閑旅行而居留的旅館等等。在此類情況中,計(jì)算設(shè)備可以具有可以 執(zhí)行所希望的應(yīng)用處理的全套硬件,但是在此實(shí)例中,其用作瘦客
戶端,因?yàn)榉?wù)器計(jì)算設(shè)備IOO仍舊要執(zhí)行此類處理。
圖2更詳細(xì)地示出了根據(jù)本發(fā)明實(shí)施例的服務(wù)器計(jì)算設(shè)備100。 該計(jì)算設(shè)備100包括VM管理器(VMM) 102、以及統(tǒng)稱為VM104 的多個(gè)VM104A、 104B、…、104N。 VM 104還可以稱作VM環(huán)境。
VM 104在其上相應(yīng)地運(yùn)行有操作系統(tǒng)(OS)106A、 106B.....106N,
統(tǒng)稱為OS 106。
計(jì)算設(shè)備IOO還包括硬件,諸如一個(gè)或多個(gè)處理器108、以及存 儲(chǔ)器IIO。如本領(lǐng)域普通技術(shù)人員可以理解的,作為對(duì)圖2所示出的 硬件的補(bǔ)充或替代,計(jì)算設(shè)備IOO可以具有其他硬件。存儲(chǔ)器110 由VM 104共享??赏ㄟ^具有大量物理存儲(chǔ)器地址的物理地址空間對(duì) 存儲(chǔ)器110尋址??梢詾槊總€(gè)VM 104分配一部分物理存儲(chǔ)器地址空 間,使得每個(gè)VM 104被分配有存儲(chǔ)器110的物理存儲(chǔ)器地址空間的 一部分。處理器108可以由VM 104共享,或者每個(gè)處理器108可以 由VM 104中的一個(gè)使用。在一個(gè)實(shí)施例中,處理器108是x^處理 器。
每個(gè)VM 104都是虛擬化軟件環(huán)境,該虛擬化軟件環(huán)境使OS 106 中對(duì)應(yīng)的一個(gè)能夠在其上運(yùn)行,就好像所討論的OS是運(yùn)行在計(jì)算設(shè) 備100上的僅有的OS。這樣,在多個(gè)VM 104內(nèi),多個(gè)OS 106可以 運(yùn)行在計(jì)算設(shè)備100上。即,VM104是VM環(huán)境,因?yàn)閷?duì)于運(yùn)行在 每個(gè)VM 104內(nèi)的軟件,該VM 104表現(xiàn)得就好像傳統(tǒng)硬件環(huán)境,諸 如計(jì)算設(shè)備100的僅有的硬件環(huán)境。
存在多個(gè)應(yīng)用計(jì)算程序112A、 112B..... 112N,統(tǒng)稱為應(yīng)用計(jì)
算程序112,應(yīng)用計(jì)算程序112運(yùn)行在或能夠運(yùn)行在VM104的OS 106上。這些應(yīng)用計(jì)算程序112可以是文字處理程序、電子制表程序、 展示程序、電子郵件程序、web瀏覽程序以及其他類型的應(yīng)用計(jì)算 程序。給定VM的一組應(yīng)用計(jì)算程序和OS纟皮稱作會(huì)話。例如,會(huì)話114A包括OS 106A和應(yīng)用計(jì)算程序112A。通常,存在會(huì)話114A、
114B..... 114N,其包括OS 106和應(yīng)用計(jì)算程序112。
給定的會(huì)話不一定要綁定到給定的VM,使得對(duì)應(yīng)于圖2中的 VM 104的會(huì)話114的描述不意味著這些單獨(dú)的會(huì)話僅能夠運(yùn)行在如 圖2所示的它們的各個(gè)VM上。因此,會(huì)話可以#4居希望或需要而 在VM之間移動(dòng)。根據(jù)需要,可以實(shí)現(xiàn)或創(chuàng)建以及解除或刪除會(huì)話。 同樣可以根據(jù)需要實(shí)現(xiàn)以及解除VM。例如,可以存在多個(gè)初始創(chuàng)建 的VM 104,使得根據(jù)需要?jiǎng)?chuàng)建會(huì)話并且將其分配給這些VM 104中 的一個(gè)。
VM管理器102是允許諸如網(wǎng)絡(luò)管理員等信息技術(shù)UT)人員之 類的用戶管理VM 104的軟件。即,VM管理器102允許此類用戶管 理各個(gè)VM104,諸如它們的啟動(dòng)、關(guān)閉和維護(hù)。VM管理器102更 一般地是外部管理代理,因?yàn)槠湮挥赩M 104的外部。盡管在圖2 中將VM管理器102描述為與VM 104運(yùn)行在相同的服務(wù)器計(jì)算設(shè) 備IOO上,但是在本發(fā)明的另一個(gè)實(shí)施例中它可以運(yùn)行在不同的計(jì) 算設(shè)備上。當(dāng)管理員或其他用戶決定應(yīng)該啟動(dòng)新VM時(shí),他從VM 管理器102內(nèi)啟動(dòng)它,并且當(dāng)該用戶決定關(guān)閉現(xiàn)有的VM時(shí),他乂人 VM管理器102內(nèi)關(guān)閉它。通常還將VM管理器102稱作系統(tǒng)管理 程序。
計(jì)算設(shè)備IOO還包括連接代理器116,其是提供關(guān)于VM 104和 會(huì)話114的服務(wù)的軟件。這些服務(wù)包括判斷終端或遠(yuǎn)程用戶的連接 數(shù)量、掛起空閑會(huì)話、重啟發(fā)生故障的或掛起的VM以及在物理計(jì) 算設(shè)備之間移動(dòng)VM,其中存在多個(gè)服務(wù)器計(jì)算設(shè)備。因此,連接代 理器116對(duì)VM104和會(huì)話114進(jìn)行直接控制。作為比較,VM管理 器102與連接代理器116進(jìn)行通信,以便經(jīng)由將會(huì)被連接代理器116 響應(yīng)的命令來管理VM 104。
連接代理器116實(shí)現(xiàn)狀態(tài)跟蹤機(jī)制118,該跟蹤機(jī)制118也是軟 件。狀態(tài)跟蹤機(jī)制118保持會(huì)話114當(dāng)前所處狀態(tài)的狀態(tài)機(jī)120,如 稍后在詳細(xì)描述中更詳細(xì)地描述的那樣。這些狀態(tài)特別地由狀態(tài)枳j120并且因此由狀態(tài)跟蹤機(jī)制118和連接代理器116存儲(chǔ)于數(shù)據(jù)庫 122中。連接代理器116的狀態(tài)跟蹤功能使得可以正確地管理由連接 代理器U6提供的服務(wù),以便支持虛擬化主管客戶端架構(gòu)。
因此,如網(wǎng)絡(luò)管理員或其他IT人員之類的用戶通過VM管理器 102向連接代理器116發(fā)布的命令可以包括使會(huì)話114進(jìn)入不同狀態(tài) 的那些命令。此類命令可以包括所請(qǐng)求的服務(wù),比如提供新會(huì)話。 同樣地,連接代理器116可以自己做出使會(huì)話114進(jìn)入不同狀態(tài)的 內(nèi)部決定,這在后面的詳細(xì)描述中稱作連接代理器116自動(dòng)引起給 定轉(zhuǎn)換。例如,如果會(huì)話都不處于既聯(lián)機(jī)又實(shí)際上開啟的狀態(tài),后 者實(shí)際上等同于開啟物理計(jì)算設(shè)備,則連接代理器116可以自己決狀態(tài)。
而且,連接代理器116響應(yīng)于由連接代理器代理124A、 124B,..., 124N發(fā)送的消息,其中連接代理器代理統(tǒng)稱為連接代理器代理124, 其運(yùn)行在客戶OS106上。從OS106的角度來看,連接代理器代理 124是監(jiān)測(cè)它們包含的會(huì)話114的會(huì)話相關(guān)事件的軟件,并且該連接 代理器代理124經(jīng)由諸如狀態(tài)更新消息之類的消息來傳送這些事件。 例如, 一種此類消息可以表明所討論的會(huì)話正在特別慢地運(yùn)行,這 可能意味著該會(huì)話應(yīng)該移動(dòng)到不同VM。
連接代理器116還對(duì)圖1的瘦客戶端計(jì)算設(shè)備152本身諸如通 過這些計(jì)算設(shè)備152的固件發(fā)送的消息進(jìn)行響應(yīng)。此類消息可以包 括會(huì)話請(qǐng)求消息。例如,此類瘦客戶端計(jì)算設(shè)備處的終端或遠(yuǎn)程用 戶可能希望開始運(yùn)行會(huì)話,以便經(jīng)由所討論的瘦客戶端計(jì)算設(shè)備向 連接代理器116傳送該請(qǐng)求。還應(yīng)當(dāng)注意,在一個(gè)實(shí)施例中,VMM 102、連接代理器116以及數(shù)據(jù)庫122可以運(yùn)行在相同或不同的計(jì)算 設(shè)備上,這些計(jì)算設(shè)備本身與其上運(yùn)行VM 104的計(jì)算設(shè)備相同或不
同。,、 、、、,、—、p 、 、曰 、、、,、、
302、 304、 306、 308、 310、 312、 314、 316和318。如圖3中箭頭所示,會(huì)話在狀態(tài)之間轉(zhuǎn)換。然而,還存在特殊的過渡狀態(tài),稱作
未決狀態(tài)302,在圖3中由虛線框表示。未決狀態(tài)302是當(dāng)在其他狀 態(tài)中的一個(gè)和其他狀態(tài)中的另 一個(gè)之間轉(zhuǎn)換時(shí)會(huì)話有時(shí)會(huì)進(jìn)入的狀 態(tài)。特別地,當(dāng)針對(duì)會(huì)話完成了狀態(tài)到狀態(tài)的轉(zhuǎn)換(由虛線表示) 時(shí),那么基于過渡進(jìn)入未決狀態(tài)302。這是因?yàn)檗D(zhuǎn)換需要一些時(shí)間, 并且因此需要會(huì)話當(dāng)前所處狀態(tài)的準(zhǔn)確表示,會(huì)話將進(jìn)入未決狀態(tài) 302。由實(shí)線表示的其他狀態(tài)到狀態(tài)轉(zhuǎn)換至少基本上是立刻發(fā)生的, 使得當(dāng)進(jìn)行此類轉(zhuǎn)換時(shí)所討論的會(huì)話不進(jìn)入未決狀態(tài)302。
因此,未決狀態(tài)302是表明狀態(tài)轉(zhuǎn)換正在進(jìn)行的特殊狀態(tài)。當(dāng) 轉(zhuǎn)換處于未決時(shí),連接代理器116保持關(guān)于初始"來自于"狀態(tài)和 所請(qǐng)求的"目的"狀態(tài)的信息。當(dāng)檢測(cè)到轉(zhuǎn)換完成時(shí),則將當(dāng)前狀 態(tài)更新到適當(dāng)?shù)臓顟B(tài)。在一個(gè)實(shí)施例中,可以以兩個(gè)方式之一才全測(cè) 轉(zhuǎn)換完成異步通知和輪詢。
在異步通知中,由事件的發(fā)生來標(biāo)記轉(zhuǎn)換的完成,由如代理之 類的外部組件來檢測(cè)事件的發(fā)生并將其傳送給連接代理器116。在輪 詢中,轉(zhuǎn)換的完成不太容易被外部組件檢測(cè)到。例如,通過VMM 102 來實(shí)際關(guān)閉VM可能要花費(fèi)一些時(shí)間才能完成,并且所討論的連接 代理器代理不能檢測(cè)到該完成,因?yàn)樵诔晒﹃P(guān)閉時(shí),它將不再運(yùn)行。 因此,連接代理器116僅僅監(jiān)測(cè)所討論的會(huì)話的狀態(tài)。
在任一情況中,當(dāng)會(huì)話的狀態(tài)在轉(zhuǎn)換開始時(shí)移動(dòng)到未決狀態(tài)302 時(shí),在一個(gè)實(shí)施例中,記錄當(dāng)前的時(shí)間以及起始和所請(qǐng)求的目的狀 態(tài)。連接代理器116在指定的時(shí)間限制之后檢查完成,并且如果還 沒有接收到完成事件或者還沒有檢測(cè)到進(jìn)入了目的狀態(tài),則將會(huì)話 移動(dòng)到故障狀態(tài)318。因此,在一個(gè)實(shí)施例中,盡管沒有在圖3中特 別示出,4旦是所有狀態(tài)304、 306、 308、 310、 312、 314和316都可 以轉(zhuǎn)換為故障狀態(tài)318。
關(guān)于脫機(jī)狀態(tài)304,該狀態(tài)中的會(huì)話被連接代理器116看作不可 用于分配給用戶??梢詫?duì)脫機(jī)會(huì)話執(zhí)行維護(hù),并且該會(huì)話運(yùn)行在其 上的VM可以實(shí)際上開啟或?qū)嶋H上關(guān)閉。因此,連接代理器116已知會(huì)話,但是直到進(jìn)入聯(lián)機(jī)狀態(tài)該會(huì)話都是不可訪問的。
諸如VMM 102之類的外部管理代理可以經(jīng)由連接代理器116使 用適當(dāng)?shù)拿顒?chuàng)建會(huì)話,并且同樣可以使用適當(dāng)?shù)拿罱獬龝?huì)話。 這是由去往和來自脫機(jī)狀態(tài)304以及來自和去往其他狀態(tài)的實(shí)線箭 頭表示的。這些命令可以使得連接代理器116提供和解除會(huì)話。因 此, 一旦完成了提供,則在脫機(jī)狀態(tài)304中創(chuàng)建新提供的會(huì)話。同 樣,解除新解除的會(huì)話。
如圖3所示,脫機(jī)會(huì)話可以諸如經(jīng)由適當(dāng)?shù)拿钷D(zhuǎn)換為聯(lián)機(jī)開 啟狀態(tài)308或聯(lián)才幾關(guān)閉狀態(tài)306。例如,該命令可以由VMM 102發(fā) 布。所有進(jìn)入和脫離脫才幾狀態(tài)304的轉(zhuǎn)換都立即完成而不進(jìn)入未決 狀態(tài)302。
關(guān)于聯(lián)機(jī)關(guān)閉狀態(tài)306,該狀態(tài)中的會(huì)話實(shí)際上關(guān)閉,但是其一 旦實(shí)際上開啟即可用于分配給終端用戶。真實(shí)的物理計(jì)算機(jī)或"機(jī) 器"并未實(shí)際地打開或關(guān)閉,而是運(yùn)行在VM上的會(huì)話被開啟或關(guān) 閉,就此程度而言,開啟或關(guān)閉是虛擬的。聯(lián)機(jī)關(guān)閉會(huì)話可以利用 諸如由VMM 102發(fā)布的一個(gè)命令之類的適當(dāng)?shù)拿钜苿?dòng)到脫機(jī)狀 態(tài)304,并且此類轉(zhuǎn)換立即完成而不會(huì)作為過渡而進(jìn)入未決狀態(tài)302。
可選地,聯(lián)機(jī)關(guān)閉會(huì)話可以利用適當(dāng)?shù)拿钣蛇B接代理器116 自動(dòng)地或諸如從外部經(jīng)由來自于VMM 102的命令移動(dòng)到聯(lián)機(jī)開啟 狀態(tài)。在這種情況下,將轉(zhuǎn)換表示為未決并且進(jìn)入未決狀態(tài)302,直 到所討論的客戶OS已經(jīng)啟動(dòng)并且相關(guān)的連接代理器已經(jīng)通知連接 代理器116其正在運(yùn)行。然而,啟動(dòng)會(huì)話的命令發(fā)生故障會(huì)導(dǎo)致會(huì) 話保持在聯(lián)機(jī)關(guān)閉狀態(tài)。
關(guān)于聯(lián)機(jī)開啟狀態(tài)308,該狀態(tài)中的會(huì)話實(shí)際上開啟并且可用于 立即分配給用戶??梢酝ㄟ^來自于痩客戶端設(shè)備的適當(dāng)消息請(qǐng)求分 配,這啟動(dòng)了到活動(dòng)狀態(tài)312的轉(zhuǎn)換。當(dāng)接收到表明從運(yùn)行在所討 論的OS上的連接代理器代理成功登錄的適當(dāng)消息時(shí),該轉(zhuǎn)換完成。 然而,發(fā)生故障的登錄使得會(huì)話進(jìn)入故障狀態(tài)318。
利用適當(dāng)?shù)拿睿?lián)才幾開啟會(huì)話可以立即移動(dòng)到脫才幾狀態(tài)304,并且該轉(zhuǎn)換可以立即完成??蛇x地,聯(lián)機(jī)開啟會(huì)話可以利用不同的
命令返回到聯(lián)機(jī)關(guān)閉狀態(tài)306,或利用另一個(gè)命令移動(dòng)到掛起狀態(tài) 310。在任一情況中,連接代理器116必須進(jìn)行輪詢來檢測(cè)完成。
關(guān)于掛起狀態(tài)310,該狀態(tài)中的會(huì)話是諸如為了保留資源或使得 該會(huì)話可以移動(dòng)到另一個(gè)VM而運(yùn)行在已經(jīng)掛起的VM內(nèi)的一個(gè)會(huì) 話。根據(jù)定義,所討論的會(huì)話沒有登入的用戶,因?yàn)樵趻炱餠M上 的具有登入用戶的會(huì)話被認(rèn)為處于空閑狀態(tài)314。回到聯(lián)機(jī)開啟狀態(tài) 308的轉(zhuǎn)換可以由連接代理器116自動(dòng)啟動(dòng),或者利用由VMM 102 或另一個(gè)代理發(fā)布的適當(dāng)命令手工地啟動(dòng)。連接代理器116必須進(jìn) 行4侖詢來一企測(cè)完成。
當(dāng)處于掛起狀態(tài)310中時(shí),利用所發(fā)布的適當(dāng)命令,會(huì)話可以 移動(dòng)到另一個(gè)VM。在該情況中,連接代理器116也必須進(jìn)行輪詢來 檢測(cè)完成。然而,在該情況中,在轉(zhuǎn)換結(jié)束時(shí),會(huì)話保持在掛起狀 態(tài)310中。
關(guān)于活動(dòng)狀態(tài)312,該狀態(tài)中的會(huì)話是運(yùn)行已經(jīng)分配給已經(jīng)登錄 并且活動(dòng)地使用該會(huì)話的用戶的一個(gè)會(huì)話。當(dāng)用戶登出時(shí),活動(dòng)狀 態(tài)返回到聯(lián)機(jī)開啟狀態(tài)308。直到連接代理器已經(jīng)接收到運(yùn)行在所討 論的客戶OS上的連接代理器代理的表明登出事件的適當(dāng)消息為止, 不檢測(cè)該轉(zhuǎn)換。然后,立即完成該轉(zhuǎn)換。而且,可以經(jīng)由適當(dāng)?shù)拿?令強(qiáng)制地啟動(dòng)登出,在該情況中,將會(huì)話標(biāo)記為正處于未決狀態(tài)302 中直到已經(jīng)接收到表明完成的消息為止。
可選地,用戶可以選擇從會(huì)話完全斷開而不是登出。當(dāng)連接代 理器116接收到來自于連接代理器代理的表明斷開事件的適當(dāng)消息 時(shí),再次檢測(cè)轉(zhuǎn)換。完成立即發(fā)生??梢岳脕碜杂赩MM102或另 一個(gè)代理的適當(dāng)命令強(qiáng)制啟動(dòng)斷開,在該情況中,會(huì)話進(jìn)入未決狀 態(tài)302直到已經(jīng)收到來自于連接代理器代理的適當(dāng)消息為止。
而且,如果用戶在一段時(shí)間內(nèi)保持空閑,則可能希望掛起活動(dòng) 會(huì)話的VM。此類掛起可以由來自于連接代理器代理的表明空閑檢測(cè) 事件的消息來表明。因此,作為響應(yīng),連接代理器116斷開用戶并且掛起會(huì)話,會(huì)話移動(dòng)到空閑狀態(tài)314。此類掛起還可以利用由VMM 102或另一個(gè)外部代理發(fā)布的適當(dāng)命令來啟動(dòng)。在任一情況中,連接 代理器116必須進(jìn)行輪詢來檢測(cè)完成。
關(guān)于空閑狀態(tài)314,該狀態(tài)中的會(huì)話是具有登入用戶并且運(yùn)行在 已經(jīng)掛起的VM內(nèi)的一個(gè)會(huì)話。利用由VMM 102或另一個(gè)代理發(fā)布 的適當(dāng)命令,空閑會(huì)話可以移動(dòng)到斷開狀態(tài)316。在接收到來自于運(yùn) 行在該VM的OS上的連接代理器代理,特別是來自于已經(jīng)具有處于 空閑狀態(tài)314中的會(huì)話的用戶的適當(dāng)?shù)南r(shí),該轉(zhuǎn)換還可以由連 接代理器116自動(dòng)啟動(dòng)。在任一情況中,連接代理器116必須進(jìn)行 庫侖詢來^r測(cè)完成。
當(dāng)處于空閑狀態(tài)314中時(shí),會(huì)話可以利用由VMM 102或另一個(gè) 代理發(fā)布的適當(dāng)命令移動(dòng)到另一個(gè)VM。然而,同樣,連接代理器 116必須進(jìn)行輪詢來檢測(cè)完成。在轉(zhuǎn)換結(jié)束時(shí),會(huì)話保持在空閑狀態(tài) 314中。
關(guān)于斷開狀態(tài)316,該狀態(tài)中的會(huì)話與用戶相關(guān)并且具有正在運(yùn) 行的進(jìn)程,諸如任務(wù)或線程,如本領(lǐng)域普通技術(shù)人員可以理解的那 樣。然而,該狀態(tài)中的會(huì)話不具有當(dāng)前登錄的用戶。當(dāng)用戶諸如通 過再次登錄進(jìn)行重連接時(shí),斷開狀態(tài)移動(dòng)到活動(dòng)狀態(tài)312。轉(zhuǎn)換開始 于從所討論的瘦客戶端設(shè)備接收到消息,并且當(dāng)連接代理器接收到 來自于連接代理器代理的表明已經(jīng)發(fā)生登錄事件的消息時(shí),完成該 轉(zhuǎn)換。
然而,在接收到來自于瘦客戶端設(shè)備的消息時(shí),連接代理器116 可以首先執(zhí)行端口測(cè)試,其中故障將導(dǎo)致立即轉(zhuǎn)換為故障狀態(tài)318。 端口測(cè)試通常包括向目標(biāo)會(huì)話發(fā)送網(wǎng)絡(luò)消息并且驗(yàn)證已經(jīng)接收到回 復(fù),表明會(huì)話仍舊有響應(yīng)。即使端口測(cè)試成功,來自于連接代理器 代理的表明成功登錄的消息也可能未能在預(yù)定的時(shí)間限制內(nèi)成功到 達(dá),在該情況中,會(huì)話仍舊移動(dòng)到故障狀態(tài)318。
最后,關(guān)于故障狀態(tài)318,當(dāng)某些類型的故障發(fā)生時(shí),會(huì)話處于 該狀態(tài)。例如,如在前面的段落中描述的,端口測(cè)試故障可能會(huì)引起故障,或者在預(yù)定的時(shí)間限制內(nèi)沒有接收到表明成功登錄的消息
的故障??梢酝ㄟ^實(shí)際上關(guān)閉會(huì)話正運(yùn)行于其上的VM來收回故障 的會(huì)話,這使得會(huì)話移動(dòng)到聯(lián)機(jī)關(guān)閉狀態(tài)306??梢岳肰MM102 或另一個(gè)外部代理發(fā)布的適當(dāng)命令手工地啟動(dòng)該轉(zhuǎn)換,或由連接代 理器116自動(dòng)地啟動(dòng)該轉(zhuǎn)換。在任一情況中,連接代理器116必須 進(jìn)行4合詢來一企測(cè)完成。
圖4示出了根據(jù)本發(fā)明實(shí)施例的總結(jié)了會(huì)話通過連接代理器116 從第 一 狀態(tài)到另 一 個(gè)狀態(tài)的轉(zhuǎn)換的方法400 。連接代理器116首先接 收關(guān)于處于給定的第 一狀態(tài)中的會(huì)話的消息、命令或做出處于給定 的第一狀態(tài)中的會(huì)話的決定(402)。例如,如上所述,可以從瘦客 戶端設(shè)備或運(yùn)行在所討論的會(huì)話的客戶OS上的連接代理器代理接 收消息。同樣如上所述,VMM 102或另一個(gè)外部代理可以發(fā)布命令。 連接代理器116自己可以進(jìn)一步做出關(guān)于會(huì)話在兩個(gè)狀態(tài)之間轉(zhuǎn)換 的決定,這在以上已經(jīng)被描述為連接代理器116自動(dòng)引起各種轉(zhuǎn)換。
作為響應(yīng),連接代理器將會(huì)話轉(zhuǎn)換為第二狀態(tài)(404),已經(jīng)參 照?qǐng)D3描述了此類狀態(tài)到狀態(tài)轉(zhuǎn)換的特定示例。應(yīng)當(dāng)注意,某些狀 態(tài)到狀態(tài)轉(zhuǎn)換可能會(huì)導(dǎo)致會(huì)話首先臨時(shí)地進(jìn)入中間的未決狀態(tài)3 02 。
因此,連接代理器116甚至能夠檢測(cè)到給定的會(huì)話何時(shí)處于中間狀 態(tài),因?yàn)榇祟悤?huì)話在從其原始的第 一狀態(tài)進(jìn)入希望的第二狀態(tài)之前 將首先處于未決狀態(tài)302。
盡管已經(jīng)在此處示出并且描述了特定實(shí)施例,但是本領(lǐng)域技術(shù) 人員應(yīng)該理解可以在本發(fā)明的范圍內(nèi)對(duì)所描述的實(shí)施例做出各種修 改和增強(qiáng)。
權(quán)利要求
1. 一種計(jì)算機(jī)化系統(tǒng),包括一個(gè)或多個(gè)虛擬機(jī)(VM)環(huán)境,每個(gè)VM環(huán)境主管客戶操作系 統(tǒng)(OS)以及一個(gè)或多個(gè)能夠在所述客戶OS上運(yùn)行的應(yīng)用計(jì)算機(jī) 程序,每個(gè)VM環(huán)境的所述客戶OS和所述應(yīng)用計(jì)算機(jī)程序組成可分 配給用戶的會(huì)話;以及連接代理器,用于保持關(guān)于所述會(huì)話狀態(tài)的狀態(tài)機(jī)并且允許響應(yīng) 于消息、命令和內(nèi)部決定而在所述狀態(tài)之間進(jìn)行轉(zhuǎn)換。
2. 根據(jù)權(quán)利要求1所述的系統(tǒng),進(jìn)一步包括數(shù)據(jù)庫,由所述連 接代理器在所述數(shù)據(jù)庫中存儲(chǔ)所述會(huì)話的所述狀態(tài)。
3. 根據(jù)權(quán)利要求1所述的系統(tǒng),進(jìn)一步包括一個(gè)或多個(gè)瘦客戶 端計(jì)算設(shè)備以接收來自于所述VM環(huán)境的輸出并且向所述VM環(huán)境 發(fā)送輸入。
4. 根據(jù)權(quán)利要求1所述的系統(tǒng),進(jìn)一步包括一個(gè)或多個(gè)連接代 理器代理,其運(yùn)行在所述客戶OS上并且發(fā)送將會(huì)被所述連接代理器 響應(yīng)的所述消息。
5. 根據(jù)權(quán)利要求1所迷的系統(tǒng),進(jìn)一步包括管理所述VM環(huán)境 的外部管理代理,所述外部管理代理發(fā)送將會(huì)被所述連接代理器響 應(yīng)的所述命令。
6. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述狀態(tài)包括未決狀態(tài)和 多個(gè)其他狀態(tài),所述未決狀態(tài)表明會(huì)話正在從所述其他狀態(tài)中的一 個(gè)轉(zhuǎn)換為所述其他狀態(tài)中的另 一個(gè)。
7. 根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述狀態(tài)包括脫機(jī)狀態(tài)、 聯(lián)才幾關(guān)閉狀態(tài)、聯(lián)才幾開啟狀態(tài)、掛起狀態(tài)、活動(dòng)狀態(tài)、空閑狀態(tài)、 斷開狀態(tài)以及故障狀態(tài)。
8. 根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述脫機(jī)狀態(tài)表明會(huì)話不啟狀態(tài)轉(zhuǎn)換,并且當(dāng)已初始地添加或創(chuàng)建所述會(huì)話時(shí),在移除或解除所述會(huì)話的情況下會(huì)退出所述脫機(jī)狀態(tài),并且所述脫機(jī)狀態(tài)可轉(zhuǎn) 換為所述聯(lián)機(jī)關(guān)閉狀態(tài)以及所述聯(lián)機(jī)開啟狀態(tài)。
9. 根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述聯(lián)機(jī)關(guān)閉狀態(tài)表明會(huì) 話實(shí)際上關(guān)閉但是可用于分配,所述聯(lián)機(jī)關(guān)閉狀態(tài)可從所述脫機(jī)狀 態(tài)、所述聯(lián)機(jī)開啟狀態(tài)以及所述故障狀態(tài)轉(zhuǎn)換,并且可轉(zhuǎn)換為所述 脫才幾狀態(tài)以及所述聯(lián)才幾開啟狀態(tài)。
10. 根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述聯(lián)機(jī)開啟狀態(tài)表明會(huì) 話實(shí)際上開啟并且可用于分配,所述聯(lián)才幾開啟狀態(tài)可從所述脫^L狀 態(tài)、所述聯(lián)機(jī)關(guān)閉狀態(tài)以及所述掛起狀態(tài)轉(zhuǎn)換,并且可轉(zhuǎn)換為所述 脫機(jī)狀態(tài)、所述聯(lián)機(jī)關(guān)閉狀態(tài)、所述掛起狀態(tài)以及所述故障狀態(tài)。
11. 根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述桂起狀態(tài)表明會(huì)話正 在所述VM環(huán)境中的一個(gè)已經(jīng)掛起的VM環(huán)境內(nèi)運(yùn)行,并且還沒有 分配所述會(huì)話,所述掛起狀態(tài)可從所述聯(lián)機(jī)開啟狀態(tài)和其本身轉(zhuǎn)換, 并且可轉(zhuǎn)換為所述聯(lián)機(jī)開啟狀態(tài)和其本身。
12. 根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述活動(dòng)狀態(tài)表明會(huì)話已 經(jīng)分配給已經(jīng)登錄到所述會(huì)話的所述客戶OS上并且正在活動(dòng)地使 用所述會(huì)話的用戶,所述活動(dòng)狀態(tài)可從所述聯(lián)機(jī)開啟狀態(tài)和所述斷 開狀態(tài)轉(zhuǎn)換,并且可轉(zhuǎn)換為所述聯(lián)機(jī)開啟狀態(tài)、所述空閑狀態(tài)以及 所述斷開狀態(tài)。
13. 根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述空閑狀態(tài)表明會(huì)話已 經(jīng)分配給已經(jīng)登錄到所述會(huì)話的所述客戶OS上的用戶,但是該會(huì)話 正在所述VM環(huán)境中的一個(gè)已經(jīng)掛起的VM環(huán)境內(nèi)運(yùn)行,所述空閑 狀態(tài)可從所述活動(dòng)狀態(tài)和其本身轉(zhuǎn)換,并且可轉(zhuǎn)換為所述斷開狀態(tài) 和其本身。
14. 根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述斷開狀態(tài)表明會(huì)話已 經(jīng)分配給用戶并且正在運(yùn)行,但是所述用戶當(dāng)前沒有登錄到所述會(huì) 話的所述客戶OS上,所述斷開狀態(tài)可從所述活動(dòng)狀態(tài)和所述空閑狀 態(tài)轉(zhuǎn)換,并且可轉(zhuǎn)換為所述活動(dòng)狀態(tài)和所述故障狀態(tài)。
15. 根據(jù)權(quán)利要求7所述的系統(tǒng),其中所述故障狀態(tài)表明會(huì)話已經(jīng)發(fā)生故障,所述故障狀態(tài)可從所述聯(lián)機(jī)開啟狀態(tài)和所述斷開狀態(tài) 轉(zhuǎn)換,并且可轉(zhuǎn)換為所述聯(lián)機(jī)關(guān)閉狀態(tài)。
16. —種計(jì)算設(shè)備,包括連接代理器,用于針對(duì)一個(gè)或多個(gè)虛擬機(jī)(VM)環(huán)境提供服務(wù), 每個(gè)VM環(huán)境主管客戶操作系統(tǒng)(OS)以及一個(gè)或多個(gè)能夠在所述 客戶OS上運(yùn)行的應(yīng)用計(jì)算機(jī)程序,每個(gè)VM環(huán)境的所述客戶OS和 所述應(yīng)用計(jì)算機(jī)程序組成可分配給用戶的會(huì)話;以及狀態(tài)跟蹤機(jī)制,其由所述連接代理器實(shí)現(xiàn)以保持關(guān)于所述會(huì)話狀 態(tài)的狀態(tài)機(jī)并且允許響應(yīng)于消息、命令和所述連接代理器的內(nèi)部決 定而在所述狀態(tài)之間進(jìn)行轉(zhuǎn)換,其中,所述狀態(tài)包括未決狀態(tài)和多個(gè)其他狀態(tài),所述未決狀態(tài)表 明會(huì)話正在從所述其他狀態(tài)中的一個(gè)轉(zhuǎn)換為所述其他狀態(tài)中的另一 個(gè)。
17. 根據(jù)權(quán)利要求16所述的計(jì)算設(shè)備,其中所述其他狀態(tài)包括 脫機(jī)狀態(tài)、聯(lián)機(jī)關(guān)閉狀態(tài)、聯(lián)機(jī)開啟狀態(tài)、掛起狀態(tài)、活動(dòng)狀態(tài)、 空閑狀態(tài)、斷開狀態(tài)以及故障狀態(tài),所述脫機(jī)狀態(tài)表明會(huì)話不可用態(tài)轉(zhuǎn)換,并且當(dāng)已初始地添加或創(chuàng)建所述會(huì)話時(shí),在移除或解除所 述會(huì)話的情況下會(huì)退出所述脫機(jī)狀態(tài),并且所述脫機(jī)狀態(tài)可轉(zhuǎn)換為 所述聯(lián)機(jī)關(guān)閉狀態(tài)以及所述聯(lián)才幾開啟狀態(tài),機(jī)關(guān)閉狀態(tài)可從所述脫機(jī)狀態(tài)、所述聯(lián)機(jī)開啟狀態(tài)以及所述故障狀 態(tài)轉(zhuǎn)換,并且可轉(zhuǎn)換為所述脫機(jī)狀態(tài)以及所述聯(lián)機(jī)開啟狀態(tài),機(jī)開啟狀態(tài)可從所述脫機(jī)狀態(tài)、所述聯(lián)機(jī)關(guān)閉狀態(tài)以及所述掛起狀 態(tài)轉(zhuǎn)換,并且可轉(zhuǎn)換為所述脫機(jī)狀態(tài)、所述聯(lián)機(jī)關(guān)閉狀態(tài)、所述掛 起狀態(tài)以及所述故障狀態(tài),所述掛起狀態(tài)表明會(huì)話正在所述VM環(huán)境中的 一 個(gè)已經(jīng)掛起的 VM環(huán)境內(nèi)運(yùn)行,并且還沒有分配所述會(huì)話,所述掛起狀態(tài)可從所述聯(lián)機(jī)開啟狀態(tài)和其本身轉(zhuǎn)換,并且可轉(zhuǎn)換為所述聯(lián)機(jī)開啟狀態(tài)和其 本身,所述活動(dòng)狀態(tài)表明會(huì)話已經(jīng)分配給已經(jīng)登錄到所述會(huì)話的所述客戶OS上并且正在活動(dòng)地使用所述會(huì)話的用戶,所述活動(dòng)狀態(tài)可從所述聯(lián)機(jī)開啟狀態(tài)和所述斷開狀態(tài)轉(zhuǎn)換,并且可轉(zhuǎn)換為所述聯(lián)機(jī)開 啟狀態(tài)、所述空閑狀態(tài)以及所述斷開狀態(tài),所述空閑狀態(tài)表明會(huì)話已經(jīng)分配給已經(jīng)登錄到所述會(huì)話的所述客戶OS上的用戶,但是該會(huì)話正在所述VM環(huán)境中的一個(gè)已經(jīng)掛起 的VM環(huán)境內(nèi)運(yùn)行,所述空閑狀態(tài)可從所述活動(dòng)狀態(tài)和其本身轉(zhuǎn)換, 并且可轉(zhuǎn)換為所述斷開狀態(tài)和其本身,用戶當(dāng)前沒有登錄到所述會(huì)話的所述客戶OS上,所述斷開狀態(tài)可從 所述活動(dòng)狀態(tài)和所述空閑狀態(tài)轉(zhuǎn)換,并且可轉(zhuǎn)換為所述活動(dòng)狀態(tài)和 所述故障狀態(tài),并且所述故障狀態(tài)表明會(huì)話已經(jīng)發(fā)生故障,所述故障狀態(tài)可從所述聯(lián) 機(jī)開啟狀態(tài)和所述斷開狀態(tài)轉(zhuǎn)換,并且可轉(zhuǎn)換為所述聯(lián)機(jī)關(guān)閉狀態(tài)。
18. —種產(chǎn)品,包括 有形的計(jì)算機(jī)可讀介質(zhì);以及所述介質(zhì)中的裝置,用于保持關(guān)于會(huì)話狀態(tài)的狀態(tài)機(jī)并且允許在 所述狀態(tài)之間進(jìn)行轉(zhuǎn)換,其中每個(gè)會(huì)話包括由虛擬機(jī)(VM)環(huán)境主管的客戶操作系統(tǒng) (OS)以及一個(gè)或多個(gè)能夠在所述客戶OS上運(yùn)行的應(yīng)用程序。
19. 根據(jù)權(quán)利要求18所述的產(chǎn)品,其中所述狀態(tài)包括未決狀態(tài)一個(gè)轉(zhuǎn)換為所述其他狀態(tài)中的另一個(gè),所述其他狀態(tài)包括脫機(jī)狀 態(tài)、聯(lián)機(jī)關(guān)閉狀態(tài)、聯(lián)機(jī)開啟狀態(tài)、掛起狀態(tài)、活動(dòng)狀態(tài)、空閑狀 態(tài)、斷開狀態(tài)以及故障狀態(tài)。
20. —種方法,包4舌接收關(guān)于會(huì)話的第 一狀態(tài)的消息、命令或連接代理器的內(nèi)部決定,所述會(huì)話包括由虛擬機(jī)(VM)環(huán)境主管的客戶操作系統(tǒng)(OS) 以及一個(gè)或多個(gè)能夠在所述客戶OS上運(yùn)行的應(yīng)用程序;以及所述連接代理器作為響應(yīng)而將所述會(huì)話從所述第 一 狀態(tài)轉(zhuǎn)換為 第二狀態(tài),所述第一狀態(tài)和所述第二狀態(tài)選自脫機(jī)狀態(tài)、聯(lián)機(jī)關(guān) 閉狀態(tài)、聯(lián)機(jī)開啟狀態(tài)、掛起狀態(tài)、活動(dòng)狀態(tài)、空閑狀態(tài)、斷開狀 態(tài)以及故障狀態(tài),其中在從所述第 一狀態(tài)轉(zhuǎn)換為所述第二狀態(tài)期間,所述會(huì)話處于 過渡的未決狀態(tài)。
全文摘要
本發(fā)明涉及保持虛擬機(jī)(VM)環(huán)境內(nèi)的會(huì)話狀態(tài)。每個(gè)VM環(huán)境(104)主管客戶操作系統(tǒng)(OS)(106)以及一個(gè)或多個(gè)應(yīng)用程序(112)運(yùn)行。每個(gè)VM環(huán)境的客戶OS和應(yīng)用計(jì)算機(jī)程序組成會(huì)話。連接代理器(116)保持關(guān)于會(huì)話狀態(tài)的狀態(tài)機(jī)并且允許響應(yīng)于消息、命令以及內(nèi)部決定而在狀態(tài)之間進(jìn)行轉(zhuǎn)換。不同類型的代理(124)可以發(fā)送消息和命令。會(huì)話的狀態(tài)可以包括未決狀態(tài)和多個(gè)其他狀態(tài)。未決狀態(tài)是表明會(huì)話正在從其他狀態(tài)中的一個(gè)轉(zhuǎn)換為其他狀態(tài)中的另一個(gè)的過渡狀態(tài)。這些其他狀態(tài)可以包括脫機(jī)狀態(tài)、聯(lián)機(jī)關(guān)閉狀態(tài)、聯(lián)機(jī)開啟狀態(tài)、掛起狀態(tài)、活動(dòng)狀態(tài)、空閑狀態(tài)、斷開狀態(tài)以及故障狀態(tài)。
文檔編號(hào)G06F9/48GK101313278SQ200680043480
公開日2008年11月26日 申請(qǐng)日期2006年12月1日 優(yōu)先權(quán)日2005年12月2日
發(fā)明者C·D·鮑曼, C·桑塔納, G·B·普魯厄特, J·L·伍爾德里奇, S·A·派珀 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司