亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

使用顯示通道測量客戶交互性能的制作方法

文檔序號:7713905閱讀:256來源:國知局

專利名稱::使用顯示通道測量客戶交互性能的制作方法
技術(shù)領(lǐng)域
:本發(fā)明一般地涉及使用顯示通道測量客戶交互性能。
背景技術(shù)
:計算行業(yè)近年來已有許多進步,這些進步產(chǎn)生了大量產(chǎn)品和服務(wù)。計算系統(tǒng)也有了許多改變,包括它們的虛擬化。計算機資源的虛擬化通常意味著計算機硬件的抽象,其實質(zhì)是將操作系統(tǒng)與應(yīng)用同與具體硬件的直接相關(guān)相分離。硬件因而被抽象,使得多個操作系統(tǒng)和應(yīng)用能夠訪問硬件的多個部分,進而定義了無縫虛擬機。虛擬化的結(jié)果是硬件被更有效利用并被平衡。在典型的虛擬化桌面基礎(chǔ)體系結(jié)構(gòu)中,用戶顯示器和輸入設(shè)備是本地的,而應(yīng)用在服務(wù)器上遠程執(zhí)行。因為應(yīng)用遠程執(zhí)行,所以由于網(wǎng)絡(luò)行進時間和應(yīng)用響應(yīng)時間引入了等待時間要素。評估遠程應(yīng)用性能的一種方法是通過測量多個事件的響應(yīng)時間。這些響應(yīng)時間是經(jīng)過體系結(jié)構(gòu)中的不同組件的合計等待時間。然而,測量這些等待時間是一個挑戰(zhàn),因為測量結(jié)果必須包含與低級別事件(例如鼠標運動)和高級別事件(應(yīng)用啟動)都相關(guān)的等待時間,以及與跨越網(wǎng)絡(luò)邊界的工作和一系列客戶設(shè)備相關(guān)的等待時間。盡管記錄客戶側(cè)事件的開始是易做的,但是由于缺少語義學(xué)信息,因此準確記錄事件的結(jié)束是有挑戰(zhàn)性的,例如知道應(yīng)用何時啟動或者檢測到字符何時出現(xiàn)在屏幕上。正是在這種情況下,本發(fā)明的實施例應(yīng)運而生。本申請與2008年12月18日遞交的名為"MEASURINGREM0TEVIDE0PLAYBACKPERFORMANCEWITHEMBEDDEDENCODEDPIXELS"的美國專利申請12/337,895有關(guān),該申請通過引用結(jié)合于此。
發(fā)明內(nèi)容本發(fā)明的實施例提供了用于測量由服務(wù)器計算機提供的虛擬桌面服務(wù)的性能的方法、系統(tǒng)和計算機程序。計時信息通過編碼像素在顯示通道中傳送,使得性能分析能夠獨立于底層的通信協(xié)議。應(yīng)當(dāng)意識到,本發(fā)明可以以多種方式實施,例如方法、裝置、系統(tǒng)、計算機程序、計算機可讀介質(zhì)上的方法或設(shè)備。下文描述了本發(fā)明的幾個創(chuàng)造性實施例。在一個實施例中,提供了一種測量由服務(wù)器計算機提供的虛擬桌面服務(wù)的性能的方法。所述方法包括從客戶計算機接收將要在服務(wù)器計算機處執(zhí)行的動作請求。在服務(wù)器計算機處,第一編碼像素被插入第一圖像幀中,所述第一圖像幀在確收動作請求時被傳送到客戶計算機。所述方法進一步包括在服務(wù)器計算機處將第二編碼像素插入第二圖像幀中,所述第二圖像幀在與動作請求相關(guān)聯(lián)的動作完成之后被傳送到客戶計算機。在計算所述第一和第二圖像幀到達客戶計算機的時間差之后,動作性能時間被存儲在存儲器中。在另一實施例中,提供了一種用于在客戶計算機處測量虛擬桌面應(yīng)用的性能的方法。所述方法包括從所述客戶計算機發(fā)送將要在服務(wù)器計算機處執(zhí)行的動作請求,以及輪詢在客戶計算機處接收到的視頻幀,直到在第一圖像幀中檢測到第一編碼像素。編碼像素指示服務(wù)器計算機接收到了動作請求。此外,方法輪詢在客戶計算機處接收到的視頻幀,直到在指示與所述動作請求相關(guān)聯(lián)的動作完成的第二圖像幀中檢測到第二編碼像素。在計算所述第一和第二圖像幀到達的時間差之后,動作性能時間被存儲在存儲器中。在又一實施例中,提供了一種測量虛擬桌面服務(wù)的性能的系統(tǒng)。所述系統(tǒng)包括服務(wù)器計算機和性能計算機。服務(wù)器計算機被配置來處理從客戶計算機接收的動作請求。所述服務(wù)器計算機包括接收所述動作請求的服務(wù)器代理以及與所述服務(wù)器代理通信的工作負荷模塊。所述工作負荷模塊被配置成將第一編碼像素插入第一圖像幀中,其中所述第一圖像幀在確收所述動作請求時被傳送到所述客戶計算機;處理與所述動作請求相關(guān)聯(lián)的動作;以及將第二編碼像素插入第二圖像幀,其中所述第二圖像幀在完成所述動作之后被傳送到所述客戶計算機。性能服務(wù)器從所述客戶計算機接收動作性能時間,并且在存儲器中存儲所述動作性能時間,所述動作性能時間是所述第一和第二圖像幀到達所述客戶計算機的時間差。通過下面詳細的說明并結(jié)合以示例方式圖示本發(fā)明原理的附圖,本發(fā)明的其它方面將變得明顯。通過下面的說明并結(jié)合附圖最好地理解本發(fā)明,其中圖1描述了根據(jù)一個實施例的包括虛擬機服務(wù)器的遠程桌面環(huán)境。圖2示出了根據(jù)一個實施例使用在顯示通道上發(fā)送的以及在鏡像緩沖器上檢測到的信息測量顯示性能的體系軍規(guī)。圖3A-3D描述了根據(jù)不同實施例在顯示通道上發(fā)送編碼信息的不同方法。圖4示出了根據(jù)一個實施例,使用帶內(nèi)和帶外消息測量服務(wù)器處的響應(yīng)時間的時序圖。圖5示出了根據(jù)一個實施例,使用帶內(nèi)消息測量服務(wù)器處的響應(yīng)時間的時序圖。圖6描述了用于將路內(nèi)(in-route)信息添加到顯示通道的網(wǎng)絡(luò)示圖的一個實施例。圖7示出了根據(jù)一個實施例,用于動作類型(MicrosoftOfficeWord修改)的性能數(shù)據(jù)和每個核的虛擬機(VM)的不同配置的圖形表達。圖8示出了根據(jù)一個實施例,作為每個邏輯單元號(LUN)的VM數(shù)的函數(shù)的等待時間的圖形表達。圖9示出了用于測量由服務(wù)器計算機提供的虛擬桌面服務(wù)的性能的流程圖。圖10示出了用于在客戶計算機處測量虛擬桌面應(yīng)用性能的流程圖。圖11是用于實現(xiàn)本發(fā)明實施例的計算機系統(tǒng)的簡化示意圖。具體實施例方式本發(fā)明的實施例包括用于測量由服務(wù)器計算機提供的虛擬桌面服務(wù)的性能的方法、系統(tǒng)和計算機程序。所述方法包括從客戶計算機接收將要在服務(wù)器計算機處執(zhí)行的動作請求,其中服務(wù)器計算機被配置成為發(fā)出請求的客戶生成顯示器視圖。該方法進一步在服務(wù)器計算機處,將第一編碼像素插入第一圖像幀中,第一圖像幀在確收動作請求時被傳送到客戶計算機。此外,該方法將第二編碼像素插入第二圖像幀中,第二圖像幀在完成與動作請求相關(guān)聯(lián)的動作之后被傳送到客戶計算機。動作性能時間,這里也被稱作服務(wù)器等待時間,被存儲在存儲器中,其中動作性能時間是第一和第二圖像幀到達客戶計算機之間的時間。存儲的計時信息被用來生成統(tǒng)計性能數(shù)據(jù)。然而,對本領(lǐng)域技術(shù)人員來說很明顯,本發(fā)明可以在沒有這些具體細節(jié)中的一些或全部的情況下實施。在其它實例中,為了避免不必要地模糊本發(fā)明,沒有詳細描述眾所周知的過程操作。圖1描述了根據(jù)一個實施例的包括虛擬機服務(wù)器(也被稱作企業(yè)服務(wù)器)的遠程桌面環(huán)境。圖1中描述的環(huán)境包括向遠程用戶136a-m提供虛擬桌面服務(wù)的企業(yè)服務(wù)器102。盡管本發(fā)明的實施例是在虛擬桌面系統(tǒng)內(nèi)進行描述的,但是提出的實施例可以用在遠程顯示應(yīng)用向遠程客戶傳輸顯示數(shù)據(jù)的其它環(huán)境中。在一個實施例中,性能服務(wù)器138也是虛擬化服務(wù)器102的一部分。性能服務(wù)器138收集來自服務(wù)器和客戶的性能數(shù)據(jù),并分析收集的數(shù)據(jù)用于向用戶描述。虛擬化服務(wù)器102的簡化體系結(jié)構(gòu)在圖1中示出,其中出于簡化的目的省略了一些組件。虛擬基礎(chǔ)結(jié)構(gòu)層106管理企業(yè)服務(wù)器102中的虛擬機(VM)104a-n向遠程用戶的分配。遠程用戶136a-m連接到在虛擬基礎(chǔ)結(jié)構(gòu)中充當(dāng)客戶的計算機122、124和126。計算機122、124和126提供與虛擬機104a-n相關(guān)聯(lián)的顯示描述和輸入/輸出能力??蛻舭≒C122、膝上型計算機124、PDA、移動電話126等??蛻敉ㄟ^網(wǎng)絡(luò)120與虛擬化服務(wù)器102通信。虛擬機104a-n包括客戶操作系統(tǒng)(G0S),G0S支持運行于客戶0S上的應(yīng)用。虛擬機104n的不同視圖包括桌面視圖110、工作負荷模塊112和服務(wù)器代理114。服務(wù)器代理114是在VM中執(zhí)行的進程,其處理來自本地客戶128的動作請求,并提供動作開始和完成時間。另一方面,本地客戶128包括顯示器130、遠程桌面客戶132和幀緩沖器134。桌面視圖110對應(yīng)于虛擬機的顯示,其被傳輸?shù)奖镜乜蛻?28處的顯示器130。顯示信息被幀緩沖器134接收,并且遠程桌面132更新顯示器130。幀緩沖器是視頻輸出設(shè)備,其從包含完整幀數(shù)據(jù)的存儲器緩沖器驅(qū)動視頻顯示器。緩沖器中的信息典型地包括用于屏幕上的每個像素的色彩值。色彩值通常以1比特黑白、4比特調(diào)色、8比特調(diào)色、16比特高彩色、24比特真彩色格式存儲。虛擬機104n使用遠程協(xié)議(例如遠程桌面協(xié)議(RDP))通過網(wǎng)絡(luò)120與關(guān)聯(lián)的本地客戶通信。遠程桌面協(xié)議是有多通道能力的協(xié)議,其支持用于攜帶描述數(shù)據(jù)、串行設(shè)備通信、許可信息、高加密數(shù)據(jù)(鍵盤、鼠標活動)等的單獨虛擬通道。在遠程計算環(huán)境的一個實施例中,經(jīng)由數(shù)據(jù)通道(例如RDP中的數(shù)據(jù)通道)以及經(jīng)由用于屏幕更新的顯示通道,通常以顯示器的新矩形更新的形式,發(fā)生信息傳送。與相同操作相對應(yīng)的兩條通道上的事件并不總是同步的。顯示通道完成其更新的時刻是用戶瀏覽并察覺先前請求的任務(wù)已完成的時刻。當(dāng)運行在遠程環(huán)境中的時候,測量顯示更新對于評價用戶體驗來說至關(guān)重要。應(yīng)當(dāng)注意,顯示更新的到達幾乎總是遲于用于相同操作的數(shù)據(jù)通道更新。本發(fā)明的實施例測量用戶136a-m所見的虛擬環(huán)境的性能??刂葡⒈痪幋a到顯示通道(帶內(nèi)消息)中而不是使用其它的帶外通道。在許多情形中,由于服務(wù)器和客戶之間的防火墻和其它障礙,顯示通道是到達客戶機器的唯一通道。此外,所提出的實施例獨立于用來傳送顯示數(shù)據(jù)的通信協(xié)議,從而能夠可靠地獲得不同拓撲和協(xié)議之下的性能測量結(jié)果,并評估不同因素是如何影響虛擬桌面性能的。此外,所提出的方法可以擴展到數(shù)萬客戶和服務(wù)器,而不會過度加重虛擬基礎(chǔ)結(jié)構(gòu)的負擔(dān)。圖2示出了根據(jù)一個實施例使用在顯示通道發(fā)送的并在鏡像緩沖器上檢測到的信息測量顯示性能的體系結(jié)構(gòu)。與使用數(shù)據(jù)通道不同,服務(wù)器104使用屏幕的特定部分來通知客戶128特定事件。屏幕的特定區(qū)域被指定用來以編碼像素的形式攜帶對應(yīng)于預(yù)定義消息的信息。例如,所述區(qū)域可以是像素、正方形、矩形、線、圓等,如下面參考圖3A-3D更為詳細描述的那樣。最初,諸如鼠標點擊之類的用戶動作在遠程桌面應(yīng)用132處被檢測到。該動作經(jīng)由客戶模塊204被發(fā)送到服務(wù)器代理114,并且隨后被轉(zhuǎn)發(fā)到工作負荷應(yīng)用112。工作負荷應(yīng)用112處理接收到的動作,并且將動作發(fā)送到將處理該動作的虛擬機中的適當(dāng)模塊。一旦對動作的響應(yīng)完成,工作負荷應(yīng)用112通知服務(wù)器代理114,并將編碼像素插入顯示器視圖中。幀緩沖器134經(jīng)由遠程協(xié)議通道116接收更新的顯示,并且當(dāng)請求的動作已完成時,客戶模塊204掃描并檢測編碼像素。鏡像緩沖器202保持幀緩沖器134的拷貝,以降低客戶模塊204掃描尋找編碼像素所需的處理量。顯示鏡像技術(shù)被遠程桌面應(yīng)用廣泛使用,例如NetMeeting、PCAnywhere、VNC、Webex等。鏡像要比原語屏幕抓取執(zhí)行起來更優(yōu),因為鏡像允許僅獲取顯示器的最小更新區(qū)域并直接獲取數(shù)據(jù),繞過了中間拷貝。可購買到的鏡像緩沖器的一個示例是DFMirage,一種用于WindowsNTOS家族的視頻驅(qū)動器鏡像技術(shù)。DFMirage是用于在圖形系統(tǒng)的顯示驅(qū)動器管理層(D匿L)級別處管理的虛擬視頻設(shè)備的驅(qū)動器,其精確鏡像一個或多個物理顯示設(shè)備的畫圖操作。在另一實施例中,客戶模塊204直接檢查幀緩沖器134,而不使用鏡像緩沖器。下面的表1示出了在一個實施例中用來測量遠程桌面性能的定義動作的列表。該列表是示例性的,可以做出其它動作的組合用于性能監(jiān)視。在另一實施例中,其它動作(除了那些與具體應(yīng)用有關(guān)的動作)可以被監(jiān)視,例如鼠標指示符在按鈕或窗口上移動、鍵盤輸入、鼠標點擊等。表17<table>tableseeoriginaldocumentpage8</column></row><table>在一個實施例中,在客戶服務(wù)器遠程顯示環(huán)境中測量響應(yīng)時間是通過讓服務(wù)器通過數(shù)據(jù)通道利用消息告知客戶特定任務(wù)的開始與停止來執(zhí)行的。服務(wù)器還通過顯示通道傳輸對應(yīng)的更新。客戶模塊204輪詢(poll)屏幕上的預(yù)定坐標以找到顯示更新通知。所述方法當(dāng)在遠程環(huán)境中操作時,使能了真實用戶體驗的仿真和自動化。應(yīng)當(dāng)注意,除顯示通道外還使用數(shù)據(jù)通道是一種優(yōu)化,以防止客戶側(cè)過度的輪詢,特別是當(dāng)鏡像驅(qū)動器未實現(xiàn)回呼(callback)功能的時候。在另一實施例中,數(shù)據(jù)通道上的通信被省略,如下文參考圖5所見到的那樣。在一個實施例中,通過監(jiān)視顯示更新并確信顯示數(shù)據(jù)不包括作為常規(guī)視頻更新一部分的編碼像素,服務(wù)器代理114確保編碼像素未被無意發(fā)送。在另一實施例中,不同的常量編碼像素在開始和停止顯示幀之間的顯示幀中被發(fā)送。例如,開始像素可以是紅色像素,停止像素可以是綠色像素,而白色像素被包括在紅色和綠色像素之間的所有顯示幀中。在另一實施例中,編碼像素被包括在不只一個幀中以增加冗余度并減少由錯失的更新產(chǎn)生的不準確測量結(jié)果的數(shù)目。在另一實施例中,編碼像素被插入開始幀和所有后續(xù)幀中,直到所請求的動作完成。圖3A-3D描述了根據(jù)不同實施例在顯示通道上發(fā)送編碼信息的不同方法。在圖3A中,像素302被用來包括編碼消息。每個消息利用不同像素值編碼。例如,藍綠色像素(0xffooff)被用于操作開始消息,紅色像素(0xFF0000)用于操作完成消息。在另一實施例中,相同編碼像素值被用于開始和完成消息,從而客戶處的輪詢僅掃描查找特定值。例如,如果值0x0(黑色)被用于編碼像素,那么掃描僅需要檢查等于零的像素值,從而計算周期更少并且掃描開銷降低。在圖3B示出的實施例中,使用若干編碼像素向客戶傳送信息。額外的像素可以用于冗余目的,以幫助檢測假的肯定或檢測損壞的編碼像素。額外的像素還可以被用來傳送額外的信息。例如,第二像素可以被編碼以指示與請求相關(guān)聯(lián)的應(yīng)用(g卩,MicrosoftPowerPoint),或編碼與視頻幀相關(guān)聯(lián)的時間戳、幀號碼、服務(wù)器標識、運行核標識等。在一個實施例中,通過向一個特定字節(jié)值分配0值并向不同字節(jié)值分配1值,使用一個字節(jié)(每比特一個信息)來編碼信息。將每個比特編碼到數(shù)據(jù)字節(jié)中解決了與一些遠程通信協(xié)議相關(guān)聯(lián)的問題,所述遠程通信協(xié)議通過運送與初始視頻幾乎相同的視頻,為改善總體性能會丟掉一些視頻信息,但是需要更少的傳輸數(shù)據(jù)量。在另一實施例中,在多個像素或像素數(shù)據(jù)的若干字節(jié)上(例如兩個、三個或更多)編碼一個比特的信息,這在像素數(shù)據(jù)在傳輸過程中經(jīng)歷有損壓縮時是有幫助的。在又一實施例中,在像素數(shù)據(jù)的子像素中編碼一個比特的信息。子像素是一個像素的色彩組分的強度值。通常,子像素定義像素的紅、綠或藍組分的強度(intensity)信息。對于24比特"真彩色",其中每個子像素被編碼為一個字節(jié)(8比特)的像素數(shù)據(jù),那么在一個字節(jié)中編碼每個比特。但是,如果子像素需要不同的存儲量,那么將使用子像素所需要的存儲量對每個比特編碼。例如,在16比特"高彩色"中,紅色和藍色子像素每個用5比特的數(shù)據(jù)編碼,而綠色子像素用6比特編碼?!┮曨l或圖像壓縮算法依靠被稱為色度(chroma)子抽樣的算法,其中色度(或色彩信息)以比亮度(或亮度信息)更低的分辨率進行抽樣。在此情形中,使用子像素信息對個體像素數(shù)據(jù)來說會是不可靠的。當(dāng)使用色度子抽樣時,可以使用像素的總體強度對每個比特的信息編碼,而不是在子像素信息的基礎(chǔ)上進行區(qū)分。在此情形中,可以使用白色和黑色像素,從而每個像素與一個比特的信息相關(guān)??梢詫嵤┒喾N技術(shù)來獲得準確的總體強度值。例如,由于綠色組分攜帶最多的強度信息,因此每個像素的綠色組分可以被單獨用來標識比特值。若干比特可以組合在一起形成字,例如幀號碼。在一個實施例中,使用了RBG編碼,其中每個像素被編碼為三個字節(jié),并且每個字節(jié)被用來編碼一個比特的信息,從而對于每個像素得到3比特的編碼信息。每個字節(jié)被編碼為0x00或0xff。如果幀號碼被編碼為24比特值,那么8個像素被用來編碼幀號碼。應(yīng)當(dāng)注意,出于說明的目的,這里描述的一些實施例參考了一個編碼像素。本領(lǐng)域技術(shù)人員很容易意識到,盡管描述的是一個編碼像素,但是這里描述的實施例可以擴展到涵蓋一組像素內(nèi)編碼的信息。該組像素可以用來記錄更多比特的信息,向編碼的信息添加冗余,使用不只一個字節(jié)編碼比特,等等。圖3C示出了視頻幀的矩形內(nèi)部的一組編碼像素。在一個實施例中,矩形對應(yīng)于視頻幀的左上角,但其它配置也是可以的。在另一實施例中,可以同時使用若干矩形區(qū)域,每個矩形內(nèi)包括唯一信息或者包括冗余信息以改善可靠性。圖3D示出了視頻屏幕的線308中的編碼像素的配置。線可以是水平的、豎直的、或者任何其它方向。線還可以是視頻顯示中的完整水平線或豎直線,或者可以只是線的一段(這將類似于圖3C的矩形306,具有一個像素的寬度)。在一個實施例中,線可以是若干像素寬。在測試期間,大編碼像素區(qū)域(例如線308)對于監(jiān)視目的是有幫助的,因為編碼像素可以很容易被視覺檢測觀察到。在又一實施例中,整個視頻幀被給予編碼像素值,例如紅色像素,當(dāng)編碼消息在客戶處被接收時,這導(dǎo)致了閃爍的視頻顯示。應(yīng)當(dāng)意識到,圖3A-3D中圖示的實施例是視頻幀內(nèi)編碼像素的示例性布置。其它實施例可以采用不同像素值或不同布置。圖3A-3D中圖示的實施例因此不應(yīng)被理解為窮盡9性或限制性的,其僅是示例性或圖示性的。圖4示出了根據(jù)一個實施例使用帶內(nèi)和帶外消息測量服務(wù)器處的響應(yīng)時間的時序圖。在圖4示出的實施例中,動作請求由客戶模塊模擬,以便增加在測試環(huán)境中產(chǎn)生的動作請求的數(shù)量。在另一實施例中,動作由客戶交互產(chǎn)生,并且客戶模塊檢測到動作請求,該動作請求隨后被發(fā)送到服務(wù)器。應(yīng)當(dāng)注意,計時信息是示例性的,并且計時說明意在幫助理解事件,而不是按實際比例描繪的。實際計時可能與圖4中示出的計時信息不同??蛻裟K例如以動作(例如鼠標點擊事件)的形式向服務(wù)器代理發(fā)送開始操作請求,服務(wù)器代理將請求以代理開始消息的形式轉(zhuǎn)發(fā)到工作負荷模塊??蛻裟K在發(fā)送開始操作消息之后開始輪詢顯示器,以檢測來自服務(wù)器的"開始顯示通知"消息。工作負荷模塊將請求傳送到服務(wù)器處的適當(dāng)應(yīng)用,然后向客戶發(fā)送"開始顯示通知"。"開始顯示通知"在顯示通道(也被稱為帶內(nèi)通道)中被發(fā)送?!┛蛻糨喸儥z測到"開始顯示通知",那么計時器開始測量服務(wù)器完成所請求動作所用的時間。一旦接收到開始顯示通知后,用戶就可以在顯示器中看到操作開始?!┰诜?wù)器處操作結(jié)束,工作負荷模塊經(jīng)由數(shù)據(jù)通道(這里被稱為帶外通道)發(fā)送"結(jié)束操作"消息。當(dāng)"結(jié)束操作"消息被客戶接收的時候,客戶開始輪詢顯示更新以檢測顯示器中操作的結(jié)束。在發(fā)送帶外消息之后,工作負荷模塊在顯示幀中發(fā)送帶內(nèi)"結(jié)束顯示通知"消息。當(dāng)在客戶處接收到"結(jié)束顯示通知"的時候,輪詢檢測到顯示通道中的編碼信息,并停止計時器,以便測量接收到開始和結(jié)束顯示通知之間的時間,在圖4中被稱為"遠程操作等待時間"。用戶在"結(jié)束顯示通知被接收"的同時在顯示器中觀察到操作結(jié)束。遠程操作等待時間測量結(jié)果被存儲在存儲器中,并且可以被發(fā)送到中央性能服務(wù)器138(圖l),中央性能服務(wù)器138收集一個或多個客戶的性能數(shù)據(jù)。在另一實施例中,客戶還測量發(fā)送初始開始操作和接收開始顯示通知之間的時間量,以提供有關(guān)往返請求處理時間的額外信息,在圖4中被標記為網(wǎng)絡(luò)等待時間。圖5示出了根據(jù)一個實施例使用帶內(nèi)消息測量服務(wù)器處的響應(yīng)時間的時序圖。圖5的方法完全依靠帶內(nèi)消息,即,不發(fā)送任何帶外消息。結(jié)果是客戶側(cè)對顯示器的輪詢在接收到開始顯示通知之后開始。圖6描述了用于向顯示通道添加路內(nèi)信息的網(wǎng)絡(luò)示圖的一個實施例。在顯示通道中添加編碼信息可以通過在不同時間添加編碼像素進行擴展,并且可以由在處理客戶請求過程中涉及的額外實體擴展。在圖6中,在數(shù)據(jù)通過廣域網(wǎng)(WAN)606發(fā)送之前,壓縮模塊604和608對數(shù)據(jù)執(zhí)行壓縮和解壓縮。在壓縮視頻數(shù)據(jù)之前,壓縮模塊604和608內(nèi)的編碼模塊612和614將編碼像素加入顯示通道以提供顯示數(shù)據(jù)的行進信息。在一個實施例中,編碼模塊612和614在顯示數(shù)據(jù)中編碼時間戳和服務(wù)器標識。在另一實施例中,額外的編碼像素被服務(wù)器610內(nèi)的模塊添加到顯示幀中,以標識服務(wù)器內(nèi)不同模塊的處理時間。圖7示出了根據(jù)一個實施例,用于動作類型(MicrosoftOfficeWord修改)的性能數(shù)據(jù)和每個核的虛擬機(VM)的不同配置的圖形表達。一旦性能信息被記錄在存儲器中,性能信息會被處理以提供合計的統(tǒng)計信息。在一個實施例中,性能信息被發(fā)送到性能服務(wù)器,例如圖1的性能服務(wù)器138,以產(chǎn)生來自多個客戶的統(tǒng)計數(shù)據(jù)。圖7提供了虛擬基礎(chǔ)10結(jié)構(gòu)環(huán)境中的遠程桌面服務(wù)的用于MicrosoftOfficeWord修改動作的二維統(tǒng)計數(shù)據(jù)。第一維是關(guān)于服務(wù)器處每個處理核的虛擬機(VM)數(shù)量。第二維對應(yīng)于響應(yīng)時間。在圖7示出的實施例中,響應(yīng)時間基本保持不變,直到每個核的VM數(shù)量達到7。在每個核8VM處,性能略微降低,在每個核IOVM處,性能顯著降低,從約7秒的延遲升至17秒的延遲。通過標識性能瓶頸并對其采取行動,性能結(jié)果被用來精細調(diào)節(jié)虛擬桌面環(huán)境。例如,虛擬基礎(chǔ)結(jié)構(gòu)可以將客戶從一個服務(wù)器轉(zhuǎn)移到另一服務(wù)器以改善響應(yīng)時間和負載均衡。圖8示出了根據(jù)一個實施例,作為每個邏輯單元號(LUN)的VM數(shù)的函數(shù)的等待時間的圖形表達。在由圖8中的性能數(shù)據(jù)獲取的環(huán)境中,一旦每個LUN的VM數(shù)量超過256,響應(yīng)時間就快速變差。網(wǎng)絡(luò)管理器可以使用該信息標識出每個LUN的VM數(shù)量的適當(dāng)限額,例如通過將VM轉(zhuǎn)移給不同LUN,或者通過向計算環(huán)境添加額外的LUN。圖9示出了用于測量由服務(wù)器計算機提供的虛擬桌面服務(wù)的性能的流程圖。在操作902,該方法從客戶計算機接收將在服務(wù)器計算機處執(zhí)行的動作請求。例如參見前面提供的包括可能動作列表的表l。在操作904,在服務(wù)器計算機處插入第一編碼像素。第一編碼像素被插入第一圖像幀中,第一圖像幀在確認接收到動作請求時被傳送到客戶計算機。參見圖3A-3D關(guān)于插入編碼像素的示例性實施例。在操作906,在服務(wù)器計算機處第二編碼像素被插入顯示通道中。第二編碼像素被添加到第二圖像幀,第二圖像幀在與所述動作請求相關(guān)聯(lián)的動作完成之后被傳送到客戶計算機。在操作908,該方法在存儲器中存儲動作性能時間。動作性能時間是第一和第二圖像幀到達客戶計算機的時間差。參見上文圖4和圖5關(guān)于如何獲得計時信息的詳細描述。圖IO示出了用于在客戶計算機處測量虛擬桌面應(yīng)用性能的流程圖。在操作1002,該方法從客戶計算機發(fā)送將要在服務(wù)器計算機處執(zhí)行的動作請求。例如,參見圖1中的客戶136a-m和企業(yè)服務(wù)器102。在操作104,客戶計算機輪詢接收到的視頻幀,直到在第一圖像幀中檢測到第一編碼像素。第一編碼像素指示服務(wù)器計算機處接收到動作請求。在操作1006,客戶計算機進一步輪詢接收到的視頻幀,直到在第二圖像幀中檢測到第二編碼像素。第二編碼像素指示與動作請求相關(guān)聯(lián)的動作完成。在操作1008,該方法在存儲器中存儲動作性能時間。動作性能時間是第一和第二圖像幀到達的時間差。性能信息可以被處理以產(chǎn)生網(wǎng)絡(luò)管理員使用的統(tǒng)計數(shù)據(jù)。例如參見圖7和8關(guān)于所收集性能數(shù)據(jù)的圖形表達。圖11是用于實現(xiàn)本發(fā)明實施例的計算機系統(tǒng)的簡化示意圖。應(yīng)當(dāng)意識到,這里描述的方法可以用數(shù)字處理系統(tǒng)執(zhí)行,例如傳統(tǒng)的通用計算機系統(tǒng)。或者,可以使用被設(shè)計或編程用來執(zhí)行僅僅一個功能的專用計算機。計算機系統(tǒng)包括中央處理單元(CPU)1104,CPU1104通過總線1110連接到隨機存取存儲器(RAM)1106、只讀存儲器(ROM)1112、以及大容量存儲設(shè)備1114。程序1108駐留在隨機存取存儲器(RAM)1106中,但也可以駐留在大容量存儲設(shè)備1114中。程序1108可以包括性能管理器程序、圖2的客戶模塊204、服務(wù)器代理114、工作負荷應(yīng)用112等。大容量存儲設(shè)備1114代表永久性的數(shù)據(jù)存儲設(shè)備,例如軟盤驅(qū)動或固定盤驅(qū)動,其可以是本地或遠程的。網(wǎng)絡(luò)接口1130提供與網(wǎng)絡(luò)1132的連接,允許與其它設(shè)備通信。應(yīng)當(dāng)意識到,CPU1104可以實現(xiàn)為通用處理器、專用處理器、或?qū)iT編程邏輯設(shè)備。輸入/輸出(I/O)接口提供與不同外圍設(shè)備的通信,并且通過總線1110與CPU1104、RAM1106、R0M1112和大容量存儲設(shè)備1114相連。示例性外圍設(shè)備包括顯示器1118、鍵盤1122、光標控制1124、可移動介質(zhì)設(shè)備1134等。顯示器1118被配置成顯示這里描述的用戶界面,例如圖2的遠程桌面視圖130。鍵盤1122、光標控制1124、可移動介質(zhì)設(shè)備1134和其它外圍設(shè)備耦合到1/0接口1120,以便向CPU1104傳送命令集信息。應(yīng)當(dāng)意識到,來自和去往外部設(shè)備的數(shù)據(jù)可以通過I/0接口1120傳送。本發(fā)明的實施例可以利用多種計算機系統(tǒng)配置來實施,包括手持設(shè)備、微處理器系統(tǒng)、基于微處理器或可編程的消費電子產(chǎn)品、微機算計、大型計算機等。本發(fā)明還可以在分布式計算環(huán)境中實施,在分布式計算環(huán)境中,任務(wù)由通過有線或無線網(wǎng)絡(luò)連接的遠程處理設(shè)備執(zhí)行。盡管虛擬化操作可以采用許多形式,但是為確保物理機器的物理構(gòu)建被正確轉(zhuǎn)移到虛擬機,一些概念是重要的。有鑒于此,作為參考,有關(guān)虛擬系統(tǒng)和方法的更多信息可以在由本申請的申請人威睿公司擁有的美國專利中找到。因此,美國專利6,397,242,6,496,847,7,069,413,7,356,679和美國申請公開2008/0244028A1中找到,這里提到的每個申請通過引用結(jié)合于此。出于完整性考慮,參考一個示例性服務(wù)器系統(tǒng),其是由加州PaloAlto的VMware公司提供的"ESXTM"。然而所述的方法、系統(tǒng)和實施例不限于任何品牌的服務(wù)器或虛擬化服務(wù)器。示例ESX服務(wù)器是將物理服務(wù)器劃分成多個虛擬機的系統(tǒng)監(jiān)管器。每個虛擬機可以代表完整系統(tǒng),具有處理器、存儲器、連網(wǎng)、存儲裝置和BIOS。VMwareESX使得多個虛擬機能夠(a)共享物理資源,(b)運行未經(jīng)修改的操作系統(tǒng)和應(yīng)用,以及(c)在同一服務(wù)器上并排運行資源密集型應(yīng)用。取決于它們的目標產(chǎn)品,其它供應(yīng)商制造的其它服務(wù)器可以具有類似的功能或更多或更少的功能。因此,可以使用任何產(chǎn)品、軟件或硬件配置來實施所述系統(tǒng)、方法和計算機可讀介質(zhì)。參考上述實施例,應(yīng)當(dāng)理解,本發(fā)明可以使用多種計算機實現(xiàn)的涉及存儲在計算機系統(tǒng)中的數(shù)據(jù)的操作。這些操作是需要對物理量進行物理操縱的操作。這里描述的構(gòu)成本發(fā)明一部分的任何操作是有用的機器操作。本發(fā)明還涉及用于執(zhí)行這些操作的設(shè)備或裝置。所述裝置可以為所需目的專門構(gòu)建,或者所述裝置可以是由存儲在計算機中的計算機程序有選擇地啟動或配置的通用計算機。特別地,多個通用計算機可以結(jié)合根據(jù)這里的教導(dǎo)編寫的計算機程序一起使用?;蛘?,構(gòu)建更為專門的裝置來執(zhí)行所需操作可能是更方便的。本發(fā)明還可以實現(xiàn)為計算機可讀介質(zhì)上的計算機可讀代碼。計算機可讀介質(zhì)是能夠存儲數(shù)據(jù)的任何數(shù)據(jù)存儲設(shè)備,其隨后可以被計算機系統(tǒng)讀取。計算機可讀介質(zhì)的示例包括硬驅(qū)動、網(wǎng)絡(luò)附接存儲(NAS)、只讀存儲器、隨機存取存儲器、CD-R0M、CD-R、CD-RW、磁帶、以及其它光和非光數(shù)據(jù)存儲設(shè)備。計算機可讀介質(zhì)可以包括在網(wǎng)絡(luò)連接的計算機系統(tǒng)上分布的計算機可讀有形介質(zhì),從而計算機可讀代碼以分布的方式被存儲和執(zhí)行。盡管以具體的順序描述了方法操作,但是應(yīng)當(dāng)理解,其它內(nèi)務(wù)操作可以在操作之間執(zhí)行,或者操作可以被調(diào)整使得它們在稍不同的時間發(fā)生,或者可以分布在下述系統(tǒng)中,所述系統(tǒng)允許在與處理相關(guān)聯(lián)的多個間隔處發(fā)生處理操作,只要上層操作的處理以期望的方式被執(zhí)行即可。12盡管出于明確說明的目的詳細描述了前述發(fā)明,很明顯在權(quán)利要求的范圍內(nèi)可以進行某些修改和改變。因此,實施例應(yīng)視為示例性的而非限制性的,并且本發(fā)明不限于這里給出的細節(jié),而是可以在權(quán)利要求的范圍和等同物之內(nèi)進行修改。權(quán)利要求一種測量由服務(wù)器計算機提供的虛擬桌面服務(wù)的性能的方法,所述方法包括從客戶計算機接收將要在所述服務(wù)器計算機處執(zhí)行的動作請求;在所述服務(wù)器計算機處將第一編碼像素插入第一圖像幀中,所述第一圖像幀在確收所述動作請求時被傳送到所述客戶計算機;在所述服務(wù)器計算機處將第二編碼像素插入第二圖像幀中,所述第二圖像幀在與所述動作請求相關(guān)聯(lián)的動作完成之后被傳送到所述客戶計算機;以及在存儲器中存儲動作性能時間,所述動作性能時間是所述第一和第二圖像幀到達所述客戶計算機的時間差。2.如權(quán)利要求l所述的方法,進一步包括在傳送所述第二圖像幀之前,從所述服務(wù)器計算機向所述客戶計算機發(fā)送帶外消息,所述帶外消息在與傳送所述圖像幀的通道不同的通道上被發(fā)送。3.如權(quán)利要求1所述的方法,其中用于所述第一編碼像素和所述第二編碼像素的值在色彩或強度的至少一個上不同,所述第一編碼像素和所述第二編碼像素在它們對應(yīng)的圖像幀中具有相同位置。4.如權(quán)利要求1所述的方法,進一步包括在所述第一圖像幀中插入多個編碼像素,所述多個編碼像素形成正方形、矩形、線或線段中的一個。5.如權(quán)利要求l所述的方法,進一步包括將第三常量像素插入所述第一和所述第二圖像幀之間傳送的所有圖像幀中。6.如權(quán)利要求l所述的方法,進一步包括在所述第一圖像幀之后的n個連續(xù)幀中插入所述第一編碼像素,其中所述客戶計算機從每k個進入幀中抽樣一個幀來檢測所述第一編碼像素,其中k小于等于n加1。7.如權(quán)利要求l所述的方法,進一步包括在所述第一圖像幀被傳送到所述客戶計算機之前,將額外編碼像素插入所述第一圖像幀中,所述額外編碼像素在所述服務(wù)器計算機內(nèi)處理的不同階段被插入。8.如權(quán)利要求l所述的方法,進一步包括在存儲器中存儲來自從所述服務(wù)器計算機請求動作的多個客戶的動作性能時間。9.如權(quán)利要求8所述的方法,進一步包括基于所存儲的動作性能時間生成統(tǒng)計性能度量。10.如權(quán)利要求1所述的方法,其中像素信息以二進制RGB值編碼。11.一種用于在客戶計算機處測量虛擬桌面應(yīng)用的性能的方法,所述方法包括從所述客戶計算機發(fā)送將要在服務(wù)器計算機處執(zhí)行的動作請求;輪詢在所述客戶計算機處接收到的視頻幀,直到在指示在所述服務(wù)器計算機處接收到所述動作請求的第一圖像幀中檢測到第一編碼像素;輪詢在所述客戶計算機處接收到的視頻幀,直到在指示與所述動作請求相關(guān)聯(lián)的動作完成的第二圖像幀中檢測到第二編碼像素;以及在存儲器中存儲動作性能時間,所述動作性能時間是所述第一和第二圖像幀到達的時間差。12.如權(quán)利要求11所述的方法,其中所述客戶計算機包括鏡像緩沖器,所述鏡像緩沖器鏡像保持所接收圖像幀的幀緩沖器,其中輪詢視頻幀進一步包括輪詢所述鏡像緩沖器。13.如權(quán)利要求11所述的方法,其中所述客戶計算機包括保持所接收圖像幀的幀緩沖器,其中輪詢視頻幀進一步包括輪詢所述幀緩沖器。14.如權(quán)利要求11所述的方法,其中所述動作請求由所述客戶計算機處的客戶模塊發(fā)起,所述客戶模塊被配置成模擬用戶請求。15.如權(quán)利要求11所述的方法,其中所述動作請求選自以下動作構(gòu)成的組運行應(yīng)用、打開文件、打開網(wǎng)站、修改文件、保存文件、關(guān)閉文件、最小化窗口、最大化窗口、安裝、解除安裝、壓縮、解壓縮、發(fā)送或接收。16.如權(quán)利要求11所述的方法,進一步包括從所述服務(wù)器計算機接收帶外消息,所述帶外消息在與傳送所述圖像幀的通道不同的通道上被發(fā)送,其中輪詢在所述客戶計算機處接收到的視頻幀直到檢測到第二編碼像素的操作是在接收到所述帶外消息之后開始的。17.—種測量虛擬桌面服務(wù)的性能的系統(tǒng),所述系統(tǒng)包括服務(wù)器計算機,被配置來處理從客戶計算機接收的動作請求,所述服務(wù)器計算機包括接收所述動作請求的服務(wù)器代理,以及與所述服務(wù)器代理通信的工作負荷模塊,所述工作負荷模塊被配置成將第一編碼像素插入第一圖像幀中,其中所述第一圖像幀在確收所述動作請求時被傳送到所述客戶計算機,處理與所述動作請求相關(guān)聯(lián)的動作,將第二編碼像素插入第二圖像幀,其中所述第二圖像幀在完成所述動作之后被傳送到所述客戶計算機;以及性能服務(wù)器,所述性能服務(wù)器從所述客戶計算機接收動作性能時間,并且在存儲器中存儲所述動作性能時間,所述動作性能時間是所述第一和第二圖像幀到達所述客戶計算機的時間差。18.如權(quán)利要求17所述的系統(tǒng),其中所述性能服務(wù)器從多個客戶接收動作性能時間信息,所述性能服務(wù)器基于從所述多個客戶接收的所述性能時間信息創(chuàng)建統(tǒng)計性能數(shù)據(jù)。19.如權(quán)利要求18所述的系統(tǒng),其中所述性能服務(wù)器在顯示器上顯示所創(chuàng)建的統(tǒng)計性能數(shù)據(jù)。20.如權(quán)利要求17所述的系統(tǒng),其中所述服務(wù)器計算機實現(xiàn)虛擬機,所述客戶計算機實現(xiàn)與所述服務(wù)器計算機處實現(xiàn)的所述虛擬機相關(guān)聯(lián)的遠程桌面應(yīng)用。21.如權(quán)利要求17所述的系統(tǒng),進一步包括中間服務(wù)器,被配置成接收由所述工作負荷模塊傳送的所述第一圖像幀,在所述第一圖像幀中插入第三編碼像素,以及將所述第一圖像幀轉(zhuǎn)發(fā)到所述客戶計算機,其中所述第三編碼像素被配置成提供與所述第一圖像幀相關(guān)聯(lián)的行進信息。全文摘要本發(fā)明提供了用于測量服務(wù)器系統(tǒng)提供的虛擬桌面服務(wù)的性能的方法、系統(tǒng)和計算機程序。所述方法包括從客戶計算機接收將要在服務(wù)器計算機處執(zhí)行的動作請求,其中服務(wù)器計算機被配置成為進行請求的客戶生成顯示視圖。所述方法進一步在服務(wù)器計算機處將第一編碼像素插入第一圖像幀中,其中第一圖像幀在確收動作請求時被傳送到客戶計算機。此外,該方法將第二編碼像素插入第二圖像幀中,其中第二圖像幀在與動作請求相關(guān)聯(lián)的動作完成之后被傳送到客戶計算機。動作性能時間被存儲在存儲器中,其中動作性能時間是第一和第二圖像幀到達客戶計算機的時間差。存儲的計時信息被用來生成統(tǒng)計性能數(shù)據(jù)。文檔編號H04N7/14GK101754046SQ20091017689公開日2010年6月23日申請日期2009年9月23日優(yōu)先權(quán)日2008年12月18日發(fā)明者梅金賈·維克拉姆M,畢達卡·里希N,科里斯南·斯里尼瓦斯,薩特娜·蘇尼爾申請人:威睿公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1