一種支持進程粒度網(wǎng)絡計算的虛擬計算環(huán)境系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種支持進程粒度網(wǎng)絡計算的虛擬計算環(huán)境系統(tǒng),屬于計算機領域,用戶在本地計算機上發(fā)起選定應用的執(zhí)行請求,該系統(tǒng)在本地計算機及網(wǎng)絡中的應用程序庫服務器上查找符合執(zhí)行請求要求的應用并在對應的應用程序庫服務器上執(zhí)行,并將應用執(zhí)行過程的輸入請求及輸出結(jié)果集成于本地計算機的桌面終端系統(tǒng)。該系統(tǒng)包括:桌面終端系統(tǒng)、應用服務中心、應用程序庫服務器、以及網(wǎng)絡。桌面終端系統(tǒng)負責用戶的輸入請求和輸出結(jié)果的處理;應用服務中心主要負責應用注冊、查詢及應用的動態(tài)調(diào)度;應用程序庫服務器負責執(zhí)行應用。本發(fā)明能夠有效拓展用戶計算機的計算能力。
【專利說明】一種支持進程粒度網(wǎng)絡計算的虛擬計算環(huán)境系統(tǒng)
【技術(shù)領域】
[0001]本發(fā)明屬于計算機領域,主要涉及如何通過網(wǎng)絡計算資源拓展用戶計算機的計算能力。
【背景技術(shù)】
[0002]目前通過網(wǎng)絡計算資源拓展用戶的本地計算機的計算能力主要有兩類手段,一類是通過遠程桌面訪問技術(shù)并委托遠程特定的物理計算機系統(tǒng)執(zhí)行應用程序,其拓展計算能力有限;另外一類是通過虛擬機技術(shù)和遠程桌面訪問技術(shù)在遠程的云服務中心中以虛擬機粒度來執(zhí)行應用程序并通過遠程桌面訪問,其運行最小單位虛擬機,運行代價過高。
【發(fā)明內(nèi)容】
[0003]本發(fā)明目的是解決現(xiàn)有網(wǎng)絡計算資源拓展技術(shù)運行代價過高的問題,提供一種支持進程粒度網(wǎng)絡計算的虛擬計算環(huán)境系統(tǒng),通過網(wǎng)絡計算資源并以進程為最小運行單位有效地拓展用戶計算機的計算能力。
[0004]本發(fā)明提供的支持進程粒度網(wǎng)絡計算的虛擬計算環(huán)境系統(tǒng),是由用戶在本地計算機上發(fā)起選定應用的執(zhí)行請求,該虛擬計算環(huán)境系統(tǒng)在本地計算機及網(wǎng)絡中的應用程序庫服務器上查找符合執(zhí)行請求要求的應用,在對應的應用程序庫服務器上執(zhí)行,并將應用執(zhí)行過程的輸入請求及輸出結(jié)果集成于本地計算機的桌面終端系統(tǒng),從而拓展用戶的本地計算機的計算能力;該系統(tǒng)包括“桌面終端系統(tǒng)”裝置、至少有一個“應用服務中心”裝置、至少有一個“應用程序庫服務器”裝置、以及“網(wǎng)絡”裝置,“桌面終端系統(tǒng)”裝置、“應用服務中心”裝置和“應用程序庫服務器”裝置三者之間通過“網(wǎng)絡”裝置采用網(wǎng)絡通信方式進行互聯(lián);其中:
[0005](I) “桌面終端系統(tǒng)”裝置,主要負責用戶輸入請求和應用程序輸出結(jié)果的處理,包括桌面圖標顯示模塊、桌面窗口顯示模塊、桌面應用運行管理模塊、桌面應用圖標管理模塊、桌面應用信息庫、本地應用代理服務模塊、本地應用程序庫模塊和本地應用實例庫;
[0006]“桌面圖標顯示模塊”讀取“桌面應用信息庫”中在該“桌面終端系統(tǒng)”裝置中注冊的所有應用的“應用基本元信息”和“應用圖標顯示位置信息”,并將這些應用的應用圖標顯示在該“桌面終端系統(tǒng)”裝置中的“桌面窗口顯示模塊”所創(chuàng)建的“圖標窗口 ”中桌面窗口顯示模塊”負責在該“桌面終端系統(tǒng)”裝置中創(chuàng)建、顯示及銷毀所有“應用窗口 ”和“圖標窗口 ”,“桌面窗口顯示模塊”依據(jù)應用的“應用實例”的請求創(chuàng)建相應的“應用窗口 ”,“桌面窗口顯示模塊”依據(jù)該“桌面終端系統(tǒng)”裝置中注冊的所有應用的“應用圖標顯示位置信息”創(chuàng)建“圖標窗口 ” ;桌面應用圖標管理模塊負責管理在該“桌面終端系統(tǒng)”裝置中注冊新應用、卸載應用、發(fā)布本地應用和修改本地已注冊應用圖標位置信息等,并讀取和保存在“桌面應用信息庫”;“桌面應用信息庫”中存儲著在該“桌面終端系統(tǒng)”裝置中注冊的所有應用的“應用基本元信息”和“應用圖標顯示位置信息”;“本地應用程序庫模塊”中存儲著可在該“桌面終端系統(tǒng)”裝置中運行的應用程序,并包括增加、刪除及管理這些應用程序;“本地應用代理服務模塊”負責在“本地應用程序庫模塊”查找指定本地應用程序、創(chuàng)建指定本地應用程序的應用實例、以及與“桌面窗口顯示模塊”的“會話通道”;“本地應用實例庫”為本地“桌面終端系統(tǒng)”裝置中正在運行的所有應用實例集合;“桌面應用運行管理模塊”負責從“桌面圖標顯示模塊”獲取用戶待執(zhí)行的應用請求,并動態(tài)發(fā)起從“本地應用代理服務模塊”或者網(wǎng)絡上“應用服務中心”裝置執(zhí)行該應用的請求以及“會話通道”信息,并協(xié)調(diào)應用執(zhí)行環(huán)境的建立;
[0007]“本地應用代理服務模塊”與“桌面窗口顯示模塊”采用網(wǎng)絡通信方式,其它模塊之間采用進程間通信或者網(wǎng)絡通信方式,其中使用進程間通信機制來通信和協(xié)調(diào)時可具體包括信號、信號量以及共享內(nèi)存方式;
[0008](2) “應用服務中心”裝置,主要負責應用程序的登記、查找、應用調(diào)度和運行服務代理,包括應用登記模塊、應用查找模塊、應用調(diào)度服務模塊、運行服務模塊和應用信息庫模塊;
[0009]“應用服務中心”裝置,主要負責應用程序的登記、查找、應用調(diào)度和運行服務代理,包括應用登記模塊、應用查找模塊、應用調(diào)度服務模塊、運行服務模塊和應用信息庫模塊;
[0010]“應用信息庫模塊”負責保存網(wǎng)絡上“應用程序庫服務器”裝置上已發(fā)布應用的應用擴展元信息的保存、修改和刪除;“應用登記模塊”負責注冊登記、更新、撤銷來自網(wǎng)絡上“應用程序庫服務器”裝置上應用的擴展元信息到“應用信息庫模塊”中;“應用查找模塊”負責從“應用信息庫模塊”查找指定應用的應用擴展元信息;“應用調(diào)度服務模塊”負責接收網(wǎng)絡上“桌面終端系統(tǒng)”裝置發(fā)來的應用執(zhí)行請求,并通過“應用查找”模塊在“應用信息庫”中查找待執(zhí)行應用的所在的“應用程序庫服務器”裝置列表,根據(jù)負載等情況等調(diào)度策略動態(tài)選擇一個“應用程序庫服務器”裝置,并向該“應用程序庫服務器”裝置中的“應用代理模塊”發(fā)起執(zhí)行該應用的請求;“運行服務模塊”負責為“桌面終端系統(tǒng)”裝置與“應用程序庫服務器”裝置不能建立直接網(wǎng)絡連接時的建立“會話通道”中轉(zhuǎn)代理;
[0011]“應用服務中心”裝置的各模塊之間采用進程間通信或者網(wǎng)絡通信方式,其中使用進程間通信機制來通信和協(xié)調(diào)時可具體包括信號、信號量以及共享內(nèi)存方式;
[0012](3) “應用程序庫服務器”裝置,主要負責應用程序的執(zhí)行,包括應用代理模塊、應用程序庫模塊和應用實例庫模塊;
[0013]“應用程序庫模塊”中存儲著可在該“應用程序庫服務器”裝置中運行的應用程序,并支持對這些應用的增加、修改和刪除管理;“應用代理服務模塊”負責在該“應用程序庫服務器”裝置中的“應用程序庫模塊”查找指定應用程序、并在該“應用程序庫服務器”裝置中創(chuàng)建指定應用程序的應用實例、以及與網(wǎng)絡上發(fā)起該應用執(zhí)行請求的“桌面終端系統(tǒng)”裝置中的“桌面窗口顯示模塊”的“會話通道”應用實例庫”為該“應用程序庫服務器”裝置中正運行的應用實例集合;
[0014]“應用程序庫服務器”裝置的各模塊之間采用進程間通信或者網(wǎng)絡通信方式,其中使用進程間通信機制來通信和協(xié)調(diào)時可具體包括信號、信號量以及共享內(nèi)存方式;
[0015](4) “網(wǎng)絡”裝置,主要負責網(wǎng)絡通信,網(wǎng)絡物理層支持有線網(wǎng)絡傳輸協(xié)議、無線網(wǎng)絡傳輸協(xié)議,網(wǎng)絡傳輸層支持TCP/IP協(xié)議。
[0016]“桌面終端系統(tǒng)”裝置、“應用服務中心”裝置和“應用程序庫服務器”裝置三者之間通過“網(wǎng)絡”裝置采用網(wǎng)絡通信方式進行互聯(lián)。
[0017]一種在支持進程粒度網(wǎng)絡計算的虛擬計算環(huán)境系統(tǒng)中運行應用程序的方法,所述方法包括具體步驟如下:
[0018]第1、啟動“應用程序庫服務器”裝置,“應用程序庫服務器”裝置準備接收網(wǎng)絡發(fā)來的應用執(zhí)行請求、并在該“應用程序庫服務器”裝置運行該應用程序;
[0019]第2、啟動“應用服務中心”裝置,“應用服務中心”裝置準備接收網(wǎng)絡上“桌面終端系統(tǒng)”裝置發(fā)來的應用執(zhí)行請求、尋找滿足應用執(zhí)行要求的“應用程序庫服務器”裝置、并轉(zhuǎn)發(fā)應用執(zhí)行請求到該“應用程序庫服務器”裝置;
[0020]第3、用戶啟動“桌面終端系統(tǒng)”裝置,“桌面圖標顯示”模塊顯示桌面圖標環(huán)境;“桌面應用運行管理”模塊從本地計算機持久存儲空間中讀取“應用執(zhí)行規(guī)則”配置文件到內(nèi)存;
[0021]第4、用戶選中準備運行的應用程序的圖標,并選擇執(zhí)行該應用程序的操作動作;
[0022]第5、“桌面圖標顯示”模塊捕捉到用戶執(zhí)行應用程序的操作動作,讀取待執(zhí)行應用程序的“基本元信息”,進一步通知“桌面應用運行管理”模塊用戶的第4步中應用執(zhí)行請求桌面圖標顯示”模塊繼續(xù)捕捉用戶接下來新的操作動作;
[0023]第6、“桌面應用運行管理”模塊處于持續(xù)接收“桌面圖標顯示”模塊應用執(zhí)行請求通知的狀態(tài);當“桌面應用運行管理”模塊收到“桌面圖標顯示”模塊應用執(zhí)行請求通知時,“桌面應用運行管理”模塊依據(jù)“應用執(zhí)行規(guī)則”判斷第4步中應用執(zhí)行請求是否為關閉“桌面終端系統(tǒng)”裝置,若是則執(zhí)行第14步,否則執(zhí)行第7步;
[0024]第7、“桌面應用運行管理”模塊依據(jù)“應用執(zhí)行規(guī)則”判斷是否優(yōu)先在本地“桌面終端系統(tǒng)”裝置中查詢并執(zhí)行該應用程序,若優(yōu)先在本地“桌面終端系統(tǒng)”裝置中查詢并執(zhí)行該應用程序,則執(zhí)行第8步,否則執(zhí)行第10步;
[0025]第8、“桌面應用運行管理”模塊發(fā)送應用執(zhí)行請求給“本地應用代理”模塊,“本地應用代理”模塊判斷是否該應用存在于“本地應用程序庫”模塊,若該應用存在于“本地應用程序庫”模塊中,則執(zhí)行第9步,否則執(zhí)行第10步:
[0026]第9、“桌面應用運行管理”模塊發(fā)起在本地“桌面終端系統(tǒng)”裝置中執(zhí)行該應用程序的子任務,“桌面應用運行管理”模塊跳轉(zhuǎn)到第6步執(zhí)行;
[0027]第10、“桌面應用運行管理”模塊通過網(wǎng)絡連接“應用服務中心”裝置中的“應用調(diào)度服務”模塊,并請求“應用調(diào)度服務”模塊查找并運行該應用程序;
[0028]第11、“應用服務中心”裝置中的“應用調(diào)度服務”模塊請求“應用查找”模塊在“應用信息庫”中是否存在該應用的“擴展元信息”,若不存在該應用的“擴展元信息”,則執(zhí)行第12步,否則執(zhí)行第13步;
[0029]第12、“應用服務中心”裝置中的“應用調(diào)度服務”模塊通知用戶“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊待執(zhí)行應用程序不存在,“桌面應用運行管理”模塊告知用戶待執(zhí)行應用無法執(zhí)行,跳轉(zhuǎn)到第6步執(zhí)行;
[0030]第13、“應用服務中心”裝置中的“應用調(diào)度服務”模塊通知用戶“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊待執(zhí)行應用程序存在,用戶“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊發(fā)起在網(wǎng)絡上執(zhí)行該應用程序的子任務,用戶“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊跳轉(zhuǎn)到第6步執(zhí)行;[0031]第14、“桌面應用運行管理”模塊從“本地應用程序庫”模塊加載關閉“桌面終端系統(tǒng)”裝置的應用程序,并在本地運行該應用程序,從而關閉用戶的本地“桌面終端系統(tǒng)”裝置。
[0032]按照本發(fā)明提供的運行應用程序的方法,所述的第9步中發(fā)起在本地計算機“桌面終端系統(tǒng)”裝置中執(zhí)行該應用程序的子任務,具體實現(xiàn)方法如下:
[0033]第9_1、“桌面應用運行管理”模塊通知“桌面窗口顯示”模塊建立會話通道和會話密鑰;“桌面窗口顯示”模塊建立會話通道和會話密鑰,并將會話通道ID和會話密鑰傳遞給“桌面應用運行管理”模塊;
[0034]第9-2、“桌面應用運行管理”模塊將第9-1步中的會話通道ID和會話密鑰傳遞給“本地應用代理”模塊,“桌面應用運行管理”模塊繼續(xù)等待“桌面圖標顯示”模塊接下來的應用執(zhí)行請求;“本地應用代理”模塊根據(jù)該會話通道ID和會話密鑰信息連接“桌面窗口顯示”模塊會話通道;
[0035]第9-3、“本地應用代理”模塊從“本地應用程序庫”模塊加載該應用、并在本地創(chuàng)建該應用“執(zhí)行實例”;
[0036]第9-4、“本地應用代理”模塊將該應用執(zhí)行實例的輸入輸出重定向到第9-2步中所述的“本地應用代理”模塊與“桌面窗口顯示”模塊的會話通道中;
[0037]第9_5、“桌面窗口顯示”模塊負責與“本地應用代理”模塊協(xié)作完成該應用在本地運行的“執(zhí)行實例”,“桌面窗口顯示”模塊建立該應用“執(zhí)行實例”的輸入及輸出資源?’該應用“執(zhí)行實例”執(zhí)行結(jié)束后,“桌面窗口顯示”模塊斷開該應用“執(zhí)行實例”會話通道,“桌面窗口顯示”模塊清除該應用“執(zhí)行實例”的輸入及輸出資源,“本地應用代理”模塊清除該應用“執(zhí)行實例”在本地計算`機上的計算資源;
[0038]第9-6、在本地計算機“桌面終端系統(tǒng)”裝置中執(zhí)行該應用程序的任務結(jié)束。
[0039]按照本發(fā)明提供的運行應用程序的方法,所述的第13步中發(fā)起在網(wǎng)絡上執(zhí)行該應用程序的子任務,具體實現(xiàn)方法如下:
[0040]第13-1、用戶端“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊通知“桌面窗口顯示”模塊建立會話通道和會話密鑰;“桌面窗口顯示”模塊建立會話通道和會話密鑰,并將會話通道ID和會話密鑰傳遞給“桌面應用運行管理”模塊;
[0041]第13-2、用戶端“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊將第13-1步中的會話通道ID和會話密鑰傳遞給網(wǎng)絡上“應用服務中心”裝置中的“應用調(diào)度服務”模塊,“桌面應用運行管理”模塊繼續(xù)等待“桌面圖標顯示”模塊接下來的應用執(zhí)行請求;
[0042]第13-3、“應用服務中心”裝置中的“應用調(diào)度服務”模塊從網(wǎng)絡上獲取第13-1步中的會話通道ID和會話密鑰,并將該會話通道ID和該會話密鑰作為當前的該會話通道ID和該會話密鑰;“應用服務中心”裝置中的“應用調(diào)度服務”模塊根據(jù)該應用的“擴展元信息”,找到該應用所在的“應用程序庫服務器”裝置列表,根據(jù)調(diào)度策略選擇一個“應用程序庫服務器”裝置;
[0043]第13-4、“應用服務中心”裝置中的“應用調(diào)度服務”模塊判斷第13-3步所選擇的“應用程序庫服務器”裝置相對于第13-1步用戶端“桌面終端系統(tǒng)”裝置是否為私有“應用程序庫服務器”裝置,若第13-3步所選擇的“應用程序庫服務器”裝置相對于第13-1步用戶端“桌面終端系統(tǒng)”裝置是私有“應用程序庫服務器”裝置,則執(zhí)行第13-5步,否則執(zhí)行第13-6步;
[0044]第13-5、“應用服務中心”裝置中的“應用調(diào)度服務”模塊向“應用服務中心”裝置中的“運行服務”發(fā)送該應用程序的會話通道ID和會話密鑰,“運行服務”根據(jù)該會話通道ID和會話密鑰信息連接用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊的“會話通道”,進一步“運行服務”建立“私有會話通道”并將該私有會話通道ID和該私有會話密鑰發(fā)送給“應用調(diào)度服務”模塊,“應用服務中心”裝置中的“運行服務”負責在上述兩個會話通道之間進行信息中轉(zhuǎn);“應用服務中心”裝置中的“應用調(diào)度服務”模塊將該私有會話通道ID和該私有會話密鑰作為當前的該會話通道ID和該會話密鑰;
[0045]第13-6、“應用服務中心”裝置中的“應用調(diào)度服務”模塊向第13-3步所選擇的“應用程序庫服務器”裝置的“應用代理”模塊發(fā)送當前的會話通道ID和會話密鑰,并請求該“應用代理”模塊運行該應用程序,“應用服務中心”裝置中的“應用調(diào)度服務”模塊繼續(xù)等待網(wǎng)絡上用戶“桌面終端系統(tǒng)”裝置接下來應用執(zhí)行請求;
[0046]第13-7、第13-3步中所選擇的“應用程序庫服務器”裝置的“應用代理”模塊根據(jù)該會話通道ID和會話密鑰信息連接用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊會話通道;
[0047]第13-8、在第13-3步中所選擇的“應用程序庫服務器”裝置中,“應用代理”模塊從“應用程序庫”模塊加載該應用、并在該“應用程序庫服務器”裝置中創(chuàng)建該應用“執(zhí)行實例”;
[0048]第13-9、在第13-3步中所選擇的“應用程序庫服務器”裝置中,“應用代理”模塊將該應用執(zhí)行實例的輸入輸出重定向到第13-7步中所建立的會話通道中;
[0049]第13-10、用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊負責與第13-3步中所選擇的“應用程序庫服務器”裝置中“應用代理”模塊協(xié)作完成該應用在第13-3步中所選擇的“應用程序庫服務器”裝置運行的“執(zhí)行實例”,用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊建立該應用“執(zhí)行實例”的輸入及輸出資源;該應用“執(zhí)行實例”執(zhí)行結(jié)束后,用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊斷開該應用“執(zhí)行實例”會話通道,用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊清除該應用“執(zhí)行實例”的輸入及輸出資源,第13-3步中所選擇的“應用程序庫服務器”裝置中“應用代理”模塊清除該應用“執(zhí)行實例”在第13-3步中所選擇的“應用程序庫服務器”裝置中的計算資源;
[0050]第13-11、在網(wǎng)絡上執(zhí)行該應用程序的子任務結(jié)束。
[0051]按照本發(fā)明提供的系統(tǒng)和運行應用程序的方法,所述的,在用戶端的“桌面終端系統(tǒng)”裝置中的“桌面應用信息庫”中存儲應用圖標顯示位置信息,應用圖標顯示位置信息包括:應用標識符、圖標窗口編號和坐標位置;坐標位置包括應用圖標在圖標窗口中的橫坐標和縱坐標。
[0052]按照本發(fā)明提供的系統(tǒng)和運行應用程序的方法,所述的,在用戶端的“桌面終端系統(tǒng)”裝置中存儲應用的基本元信息,應用的基本元信息包括:應用名稱、應用標識符、應用圖標和應用功能基本描述;在“應用程序庫”和“應用服務中心”裝置中,“應用信息庫”模塊中存儲所有注冊的應用擴展元信息,應用擴展元信息包括:應用名稱、應用標識符、應用圖標、應用指紋、應用功能描述、應用分類標簽、應用程序庫服務器列表和應用運行參數(shù)。
[0053]其中,應用的基本元信息和應用擴展元信息中,應用標識符在整個系統(tǒng)中全局唯一,應用標識符由“應用服務中心”裝置統(tǒng)一分配;應用功能描述包含應用功能基本描述和應用功能擴展描述,應用功能基本描述為簡單的文字描述信息,應用功能擴展描述包含整個系統(tǒng)中統(tǒng)一定義的語義信息;應用指紋為標識該應用程序代碼的一個字符串序列,可以采用SHA1,SHA256等哈希算法對應用程序代碼進行計算所得出的哈希值字符串。
[0054]按照本發(fā)明提供的系統(tǒng)和運行應用程序的方法,所述的,應用程序在“桌面終端系統(tǒng)”裝置和“應用程序庫服務器”裝置中的最小運行單位為進程,由“應用代理”動態(tài)捕捉該應用程序運行實例進程的圖像輸出操作、音頻輸出操作,并將輸出操作通過會話通道傳遞給用戶端的“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊,并進一步由用戶端的“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊將輸出操作在用戶端的“桌面終端系統(tǒng)”裝置中重新進行音頻輸出操作,以及在用戶端的“桌面終端系統(tǒng)”裝置中對應的“應用窗口”中重新進行圖像輸出操作。
[0055]其中,“應用代理”動態(tài)捕捉該應用程序運行實例進程的圖像輸出操作、音頻輸出操作的方法是:可以通過鉤子Hook在用戶態(tài)捕捉圖像輸出和音頻輸出操作函數(shù),也可以在計算機操作系統(tǒng)內(nèi)核態(tài)中對圖像和音頻驅(qū)動添加過濾模塊方式捕獲圖像輸出和音頻輸出操作;“應用代理”針對進程級別的應用程序運行實例進行動態(tài)捕獲圖像輸出操作、音頻輸出操作,而不是捕獲所在計算機操作系統(tǒng)上所有進程的圖像輸出操作、音頻輸出操作;
[0056]“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊將本地或者遠程“應用代理”通過會話通道傳過來的圖像輸出和音頻輸出操作在“桌面終端系統(tǒng)”裝置進行重做;“桌面終端系統(tǒng)”裝置所進行重做操作支持在該“桌面終端系統(tǒng)”裝置中的支持本地執(zhí)行的兼容HTML5的瀏覽器應用窗口中重做操作。
[0057]按照本發(fā)明提供的系統(tǒng)和運行應用程序的方法,所述的,“應用程序庫服務器”裝置分為私有“應用程序庫服務器”裝置和共享“應用程序庫服務器”裝置,私有“應用程序庫服務器”裝置包含私有應用程序庫模塊,共享“應用程序庫服務器”裝置包含共享應用程序庫模塊;用戶端“桌面終端系統(tǒng)”裝置與私有“應用程序庫服務器”裝置不能直接互通,需要通過“應用服務中心”裝置中“運行服務”作為代理實現(xiàn)互通;用戶端“桌面終端系統(tǒng)”裝置與共享“應用程序庫服務器”裝置可直接互通。
[0058]按照本發(fā)明提供的系統(tǒng)和運行應用程序的方法,所述的,“應用執(zhí)行規(guī)則”標明全部或者指定應用程序的查找順序,“應用執(zhí)行規(guī)則”包含應用名稱,查找優(yōu)先順序。
[0059]按照本發(fā)明提供的系統(tǒng)和方法,所述的,會話通道為網(wǎng)絡通信鏈路,可由“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊和“應用服務中心”裝置的“運行服務”模塊創(chuàng)建會話通道服務器;會話通道由會話通道ID所標識,會話通道ID包括網(wǎng)絡IP地址、網(wǎng)絡端口號;“應用程序庫服務器”裝置的“應用代理”模塊和“應用服務中心”裝置的“運行服務”模塊可以作為會話通道的客戶端憑借會話密鑰來連接會話通道服務器,會話密鑰至少包含該會話通道服務器和會話通道客戶端的身份信息和會話通道的生存期信息。
[0060]按照本發(fā)明提供的運行應用程序的方法第13-3步,所述的,當應用存在于多個“應用程序庫服務器”裝置時,調(diào)度策略可以是隨機選擇任意一個“應用程序庫服務器”裝置,也可以由“應用服務中心”裝置中的“應用調(diào)度服務”模塊根據(jù)這些“應用程序庫服務器”裝置的動態(tài)負載情況選擇負載輕的“應用程序庫服務器”裝置。
[0061 ] 本發(fā)明的優(yōu)點和積極效果:[0062]本發(fā)明給出一種支持進程粒度網(wǎng)絡計算的虛擬計算環(huán)境系統(tǒng),通過網(wǎng)絡計算資源以及以進程為最小運行單位能夠有效地拓展用戶計算機的計算能力。
[0063]本發(fā)明積極效果如下:一方面,用戶通常無需在本地計算機上安裝應用程序及其相關依賴軟件包,用戶只需在網(wǎng)絡中下載應用的基本元信息(即應用名稱、應用標識符、應用圖標、應用功能基本描述)到用戶本地“桌面終端系統(tǒng)”中,用戶執(zhí)行選中的應用時,用戶本地計算機上的桌面終端系統(tǒng)裝置按照“應用執(zhí)行規(guī)則”自動在網(wǎng)絡上定位待執(zhí)行應用所在的應用程序庫服務器裝置并在網(wǎng)絡上的應用程序庫服務器裝置中運行并把輸入輸出重定向到用戶本地計算機上的桌面終端系統(tǒng)裝置上,從而有效拓展用戶本地計算機的計算能力;另一方面,用戶也可以將常用的應用程序安裝到本地計算機的本地應用程序庫中,用戶執(zhí)行選中的應用時,用戶本地計算機上的桌面終端系統(tǒng)裝置按照“應用執(zhí)行規(guī)則”自動在用戶本地計算機和網(wǎng)絡上定位待執(zhí)行應用所在的應用程序庫服務器裝置,當“應用執(zhí)行規(guī)則”中優(yōu)先使用本地應用程序庫時,待執(zhí)行應用運行于用戶本地計算機中,從而有效利用用戶本地計算機的計算能力。
【專利附圖】
【附圖說明】
[0064]圖1是本發(fā)明中支持進程粒度網(wǎng)絡計算的虛擬計算環(huán)境系統(tǒng)架構(gòu)圖。
[0065]圖2是本發(fā)明中桌面終端系統(tǒng)、應用服務中心、應用程序庫服務器三方協(xié)作圖。
[0066]圖3是本發(fā)明中應用程序的基本元信息。
[0067]圖4是本發(fā)明中應用程序的擴展元信息。
[0068]圖5是實施例1系統(tǒng)架構(gòu)示意圖。
[0069]圖6是實施例1的應用執(zhí)行規(guī)則。
[0070]圖7是本發(fā)明中桌面終端系統(tǒng)中桌面圖標顯示位置信息。
[0071]圖8是實施例1的“IE瀏覽器”應用的圖標顯示位置信息。
【具體實施方式】
[0072]為能進一步了解本發(fā)明的技術(shù)內(nèi)容、特點及功效,茲列舉以下應用實例,并配合附圖詳細說明如下:
[0073]實施例1、支持進程粒度網(wǎng)絡計算的虛擬計算環(huán)境系統(tǒng)
[0074]如圖1所示支持進程粒度網(wǎng)絡計算的虛擬計算環(huán)境系統(tǒng),該系統(tǒng)中用戶在本地計算機上發(fā)起選定應用的執(zhí)行請求,該虛擬計算環(huán)境系統(tǒng)在本地計算機及網(wǎng)絡中的應用程序庫服務器上查找符合執(zhí)行請求要求的應用并在對應的應用程序庫服務器上執(zhí)行,并將應用執(zhí)行過程的輸入請求及輸出結(jié)果集成于本地計算機的桌面終端系統(tǒng),從而拓展用戶的本地計算機的計算能力,該系統(tǒng)包括“桌面終端系統(tǒng)”裝置100、至少有一個“應用服務中心”裝置200、至少有一個“應用程序庫服務器”裝置300或400、以及“網(wǎng)絡”裝置500,其中:
[0075](I) “桌面終端系統(tǒng)”裝置100,主要負責用戶輸入請求和應用程序輸出結(jié)果的處理,包括桌面圖標顯示模塊110、桌面窗口顯示模塊120、桌面應用運行管理模塊140、桌面應用圖標管理模塊130、桌面應用信息庫170、本地應用代理服務模塊150、本地應用程序庫模塊160和本地應用實例庫180 ;“桌面圖標顯示模塊”讀取“桌面應用信息庫”中在該“桌面終端系統(tǒng)”裝置中注冊的所有應用的“應用基本元信息”和“應用圖標顯示位置信息”,并將這些應用的應用圖標顯示在該“桌面終端系統(tǒng)”裝置中的“桌面窗口顯示模塊”所創(chuàng)建的“圖標窗口 ”中;“桌面窗口顯示模塊”負責在該“桌面終端系統(tǒng)”裝置中創(chuàng)建所有“應用窗口 ”和“圖標窗口 ”,“桌面窗口顯示模塊”依據(jù)應用的“應用實例”的請求創(chuàng)建相應的“應用窗口 ”,“桌面窗口顯示模塊”依據(jù)該“桌面終端系統(tǒng)”裝置中注冊的所有應用的“應用圖標顯示位置信息”創(chuàng)建“圖標窗口 ” ;桌面應用圖標管理模塊負責管理在該“桌面終端系統(tǒng)”裝置中注冊新應用、卸載應用、發(fā)布本地應用和修改本地已注冊應用圖標位置信息等,并讀取和保存在“桌面應用信息庫”;“桌面應用信息庫”中存儲著在該“桌面終端系統(tǒng)”裝置中注冊的所有應用的“應用基本元信息”和“應用圖標顯示位置信息”;“本地應用程序庫模塊”中存儲著可在該“桌面終端系統(tǒng)”裝置中運行的應用程序;“本地應用代理服務模塊”負責在“本地應用程序庫模塊”查找指定本地應用程序、創(chuàng)建指定本地應用程序的應用實例、以及與“桌面窗口顯示模塊”的“會話通道”;“本地應用實例庫”為本地“桌面終端系統(tǒng)”裝置中正在運行的所有應用實例集合;“桌面應用運行管理模塊”負責從“桌面圖標顯示模塊”獲取用戶待執(zhí)行的應用請求,并動態(tài)發(fā)起從“本地應用代理服務模塊”或者網(wǎng)絡上“應用服務中心”裝置執(zhí)行該應用的請求以及“會話通道”信息;“本地應用代理服務模塊”與“桌面窗口顯示模塊”采用網(wǎng)絡通信方式,其它模塊之間采用進程間通信或者網(wǎng)絡通信方式;
[0076](2)“應用服務中心”裝置200包括:應用登記模塊220、應用查找模塊230、應用調(diào)度服務模塊240、運行服務模塊250和應用信息庫模塊210 ;
[0077]“應用信息庫模塊”負責保存網(wǎng)絡上“應用程序庫服務器”裝置上已發(fā)布應用的應用擴展元信息的保存、修改和刪除;“應用登記模塊”負責登記、撤銷來自網(wǎng)絡上“應用程序庫服務器”裝置上應用的擴展元信息到“應用信息庫模塊”中;“應用查找模塊”負責從“應用信息庫模塊”查找指定應用的應用擴展元信息應用調(diào)度服務模塊”負責接收網(wǎng)絡上“桌面終端系統(tǒng)”裝置發(fā)來的應用執(zhí)行請求,并通過“應用查找”模塊在“應用信息庫”中查找待執(zhí)行應用的所在的“應用程序庫服務器”裝置列表,根據(jù)調(diào)度策略選擇一個“應用程序庫服務器”裝置,并向該“應用程序庫服務器”裝置中的“應用代理模塊”發(fā)起執(zhí)行該應用的請求;“運行服務模塊”負責為“桌面終端系統(tǒng)”裝置與“應用程序庫服務器”裝置不能建立直接網(wǎng)絡連接的建立“會話通道”中轉(zhuǎn)代理;“應用服務中心”裝置的各模塊之間采用進程間通信或者網(wǎng)絡通信方式;
[0078](3) “應用程序庫服務器”裝置300,主要負責應用程序的執(zhí)行,包括應用代理模塊310、應用程序庫模塊320和應用實例庫模塊330 ;“應用程序庫模塊”中存儲著可在該“應用程序庫服務器”裝置中運行的應用程序;“應用代理服務模塊”負責在該“應用程序庫服務器”裝置中的“應用程序庫模塊”查找指定應用程序、并在該“應用程序庫服務器”裝置中創(chuàng)建指定應用程序的應用實例、以及與網(wǎng)絡上發(fā)起該應用執(zhí)行請求的“桌面終端系統(tǒng)”裝置中的“桌面窗口顯示模塊”的“會話通道”應用實例庫”為該“應用程序庫服務器”裝置中正運行的應用實例集合;“應用程序庫服務器”裝置的各模塊之間采用進程間通信或者網(wǎng)絡通信方式;
[0079](4) “網(wǎng)絡”裝置500,網(wǎng)絡物理層支持有線網(wǎng)絡傳輸協(xié)議、無線網(wǎng)絡傳輸協(xié)議,網(wǎng)絡傳輸層支持TCP/IP協(xié)議。
[0080]“桌面終端系統(tǒng)”裝置100、“應用服務中心”裝置200和“應用程序庫服務器”裝置300或400三者之間通過“網(wǎng)絡”裝置500采用網(wǎng)絡通信方式進行互聯(lián)。[0081]“桌面終端系統(tǒng)”裝置中的實現(xiàn)技術(shù),其中,桌面窗口顯示模塊和本地應用代理服務模塊采用網(wǎng)絡通信方式通信,其它內(nèi)部各模塊之間主要采用進程間通信機制來通信和協(xié)調(diào),包括信號、信號量、共享內(nèi)存以及消息隊列方式;例如各模塊之間通過共享內(nèi)存或者消息隊列進行數(shù)據(jù)傳遞,通過信號通知其它模塊接收數(shù)據(jù),通過信號量實現(xiàn)各模塊之間的同步與互斥;
[0082]“應用服務中心”裝置中的實現(xiàn)技術(shù),內(nèi)部各模塊之間既可以采用進程間通信機制來通信和協(xié)調(diào),也可以采用網(wǎng)絡通信方式進行通信和協(xié)調(diào),方法同“桌面終端系統(tǒng)”裝置中對應的實現(xiàn)技術(shù),不贅述;
[0083]“應用程序庫服務器”裝置中的實現(xiàn)技術(shù),內(nèi)部各模塊之間主要采用進程間通信機制來通信和協(xié)調(diào),方法同“桌面終端系統(tǒng)”裝置中對應的實現(xiàn)技術(shù),不贅述。
[0084]按照本發(fā)明提供的系統(tǒng),所述的,在用戶端的“桌面終端系統(tǒng)”裝置中存儲著在該用戶端的“桌面終端系統(tǒng)”裝置中注冊應用的應用基本元信息,如圖3所示,應用的基本元信息包括應用名稱、應用標識符、應用圖標、應用功能基本描述;在“應用程序庫”和“應用服務中心”裝置中的“應用信息庫”模塊中存儲所有注冊的應用擴展元信息,如圖4所示,應用擴展元信息包括應用名稱、應用標識符、應用圖標、應用哈希指紋、應用功能描述、應用分類標簽、應用程序庫服務器列表和應用運行參數(shù)。
[0085]例如,如圖5所示的應用“ IE瀏覽器”的基本元信息:{應用名稱:“ IE瀏覽器”、應用標識符:“001-MS-1E”、應用圖標:“/etc/vc/icon/001-MS-1E.1con”、應用功能基本描述:“瀏覽器應用” };如圖5所示的應用“IE瀏覽器”的擴展元信息:{應用名稱:“IE 瀏覽器”、應用標識符:“001-MS-1E”、應用圖標:“/etc/vc/icon/001-MS-1E.1con”、應用指紋:“12a5e5bc2f012f6e61af81cld65f3b521b5635f0”、應用功能描述:{應用功能基本描述:“瀏覽器應用”,應用功能擴展描述:“ <AppExtDescXFunc>ffebBrowser</Func>〈Corp>Microsoft〈/Corp>〈/AppExtDesc>”}、應用分類標簽:瀏覽器、應用程序庫服務器列表:{10.10.1.100, 10.10.3.11}、應用運行參數(shù):www.baidu.com}。
[0086]按照本發(fā)明提供的系統(tǒng),所述的,在用戶端的“桌面終端系統(tǒng)”裝置中存儲著在該用戶端的“桌面終端系統(tǒng)”裝置中注冊應用的“應用圖標顯示位置信息”,如圖7所示,“應用圖標顯示位置信息”包括應用標識符、圖標窗口編號和坐標位置;坐標位置包括應用圖標在圖標窗口中的橫坐標和縱坐標。
[0087]例如,如圖7所示的應用“IE瀏覽器”的“應用圖標顯示位置信息”:{應用標識符:“001-MS-1E”,0, (100,200)} ο
[0088]按照本發(fā)明提供的系統(tǒng),所述的,應用程序在“桌面終端系統(tǒng)”裝置和“應用程序庫”服務器裝置中的最小運行單位為進程,由“應用代理”動態(tài)捕捉該應用程序運行實例進程的圖像輸出操作、音頻輸出操作,并將輸出操作通過會話通道傳遞給用戶端的“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊,并進一步由用戶端的“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊將輸出操作在用戶端的“桌面終端系統(tǒng)”裝置中重新進行音頻輸出操作以及在用戶端的“桌面終端系統(tǒng)”裝置中對應的“應用窗口”中重新進行圖像輸出操作。
[0089]例如,如圖5所示應用Evolution郵件客戶端,該應用運行在基于Linux的“應用程序庫服務器”裝置即應用程序庫Linux服務器I上,應用程序庫Linux服務器I中的“應用代理”模塊在該應用程序庫Linux服務器I上創(chuàng)建了應用Evolution郵件客戶端的“執(zhí)行實例”進程,并且該“應用代理”模塊在Linux內(nèi)核中動態(tài)捕捉該應用Evolution郵件客戶端的“執(zhí)行實例”進程的圖像輸出操作即創(chuàng)建窗口、移動窗口、銷毀窗口、畫點、線及區(qū)域等操作,并且該“應用代理”模塊將這些圖像輸出操作通過會話通道傳遞到網(wǎng)絡上用戶端的裝置中“桌面窗口顯示”模塊,用戶端的裝置中“桌面窗口顯示”模塊創(chuàng)建“Evolution郵件客戶端窗口”應用窗口并重做畫點、線及區(qū)域等操作,從而用戶在未將應用Evolution郵件客戶端安裝到本地計算機“桌面終端系統(tǒng)”裝置情況下就可透明使用應用Evolution郵件客戶端程序;當用戶本地計算機為Windows操作系統(tǒng)時,由于應用Evolution郵件客戶端只能運行在Linux操作系統(tǒng)下,無法安裝到用戶本地計算機中,所以傳統(tǒng)的計算環(huán)境無法支持用戶使用該Evolution郵件客戶端,而本發(fā)明給出的虛擬計算環(huán)境可以支持用戶使用該Evolution郵件客戶端;當“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊為的支持本地執(zhí)行的兼容HTML5的瀏覽器時,可實現(xiàn)在“桌面終端系統(tǒng)”裝置中的本地執(zhí)行的兼容HTML5的瀏覽器中顯示和操縱遠程的應用Evolution郵件客戶端。
[0090]按照本發(fā)明提供的系統(tǒng),所述的,“應用程序庫服務器”裝置分為私有“應用程序庫服務器”裝置和共享“應用程序庫服務器”裝置,私有“應用程序庫服務器”裝置包含私有應用程序庫模塊,共享“應用程序庫服務器”裝置包含共享應用程序庫模塊;用戶端“桌面終端系統(tǒng)”裝置與私有“應用程序庫服務器”裝置不能直接互通,需要通過“應用服務中心”裝置中“運行服務”作為代理實現(xiàn)互通;用戶端“桌面終端系統(tǒng)”裝置與共享“應用程序庫服務器”裝置可直接互通。
[0091]例如,如圖2所示,“應用服務中心”裝置中“運行服務”分別與用戶端“桌面終端系統(tǒng)”裝置、私有“應用程序庫服務器”裝置建立兩個會話通道,并且由“應用服務中心”裝置中“運行服務”采用共享內(nèi)存或者消息隊列的方式實現(xiàn)兩個會話通道數(shù)據(jù)的傳遞,從而實現(xiàn)用戶端“桌面終端系統(tǒng)”裝置與私有“應用程序庫服務器”裝置的網(wǎng)絡通信。
[0092]實施例2、在支持進程粒度網(wǎng)絡計算的虛擬計算環(huán)境系統(tǒng)中運行應用程序的方法
[0093]所述方法I包括具體步驟如下:
[0094]第1、啟動“應用程序庫服務器”裝置300和400,“應用程序庫服務器”裝置準備接收網(wǎng)絡發(fā)來的應用執(zhí)行請求、并在該“應用程序庫服務器”裝置運行該應用程序;
[0095]第2、啟動“應用服務中心”裝置200,“應用服務中心”裝置準備接收網(wǎng)絡上“桌面終端系統(tǒng)”裝置發(fā)來的應用執(zhí)行請求、尋找滿足應用執(zhí)行要求的“應用程序庫服務器”裝置、并轉(zhuǎn)發(fā)應用執(zhí)行請求到該“應用程序庫服務器”裝置;
[0096]第3、用戶啟動“桌面終端系統(tǒng)”裝置100,“桌面圖標顯示”模塊顯示桌面圖標環(huán)境;“桌面應用運行管理”模塊從本地計算機持久存儲空間中讀取“應用執(zhí)行規(guī)則”配置文件到內(nèi)存;
[0097]其中“應用執(zhí)行規(guī)則”標明全部或者指定應用程序的查找優(yōu)先順序,例如,如圖6所示若干個應用,其中“ IE瀏覽器”優(yōu)先使用遠程網(wǎng)絡中“ IE瀏覽器”應用,其次使用本地的“IE瀏覽器”應用,Evolution郵件客戶端”只使用遠程網(wǎng)絡中“Evolution郵件客戶端”應用。
[0098]第4、用戶選中準備運行的應用程序的圖標,并選擇執(zhí)行該應用程序的操作動作;
[0099]第5、“桌面圖標顯示”模塊110捕捉到用戶執(zhí)行應用程序的操作動作,讀取待執(zhí)行應用程序的“基本元信息”,進一步通知“桌面應用運行管理”模塊用戶的應用執(zhí)行請求;“桌面圖標顯示”模塊繼續(xù)捕捉用戶接下來新的操作動作;
[0100]其中應用的基本元信息如前述實例,在此不贅述。
[0101]第6、“桌面應用運行管理”模塊140處于持續(xù)接收“桌面圖標顯示”模塊110應用執(zhí)行請求通知的狀態(tài);當“桌面應用運行管理”模塊140收到“桌面圖標顯示”模塊應用執(zhí)行請求通知時,“桌面應用運行管理”模塊依據(jù)“應用執(zhí)行規(guī)則”判斷第4步中應用執(zhí)行請求是否為關閉“桌面終端系統(tǒng)”裝置,若是則執(zhí)行第14步,否則執(zhí)行第7步;
[0102]第7、“桌面應用運行管理”模塊140依據(jù)“應用執(zhí)行規(guī)則”判斷是否優(yōu)先在本地“桌面終端系統(tǒng)”裝置中查詢并執(zhí)行該應用程序,若優(yōu)先在本地“桌面終端系統(tǒng)”裝置中查詢并執(zhí)行該應用程序,則執(zhí)行第8步,否則執(zhí)行第10步;
[0103]第8、“桌面應用運行管理”模塊140發(fā)送應用執(zhí)行請求給“本地應用代理”模塊150,“本地應用代理”模塊判斷是否該應用存在于“本地應用程序庫”模塊160,若該應用存在于“本地應用程序庫”模塊中,則執(zhí)行第9步,否則執(zhí)行第10步:
[0104]第9、“桌面應用運行管理”模塊140發(fā)起在本地“桌面終端系統(tǒng)”裝置中執(zhí)行該應用程序的子任務,“桌面應用運行管理”模塊跳轉(zhuǎn)到第6步執(zhí)行;
[0105]第10、“桌面應用運行管理”模塊通過網(wǎng)絡連接“應用服務中心”裝置200中的“應用調(diào)度服務”模塊240,并請求“應用調(diào)度服務”模塊查找并運行該應用程序;
[0106]第11、“應用服務中心”裝置中的“應用調(diào)度服務”模塊請求“應用查找”模塊230在“應用信息庫”210中是否存在該應用的“擴展元信息”,若不存在該應用的“擴展元信息”,則執(zhí)行第12步,否則執(zhí)行第13步;
[0107]其中應用的擴展元信息如前述實例,在此不贅述。
[0108]第12、“應用服務中心”裝置中的“應用調(diào)度服務”模塊通知用戶“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊待執(zhí)行應用程序不存在,“桌面應用運行管理”模塊告知用戶待執(zhí)行應用無法執(zhí)行,跳轉(zhuǎn)到第6步執(zhí)行;
[0109]第13、“應用服務中心”裝置中的“應用調(diào)度服務”模塊通知用戶“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊待執(zhí)行應用程序存在,用戶“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊發(fā)起在網(wǎng)絡上執(zhí)行該應用程序的子任務,用戶“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊跳轉(zhuǎn)到第6步執(zhí)行;
[0110]第14、“桌面應用運行管理”模塊從“本地應用程序庫”模塊加載關閉“桌面終端系統(tǒng)”裝置的應用程序,并在本地運行該應用程序,從而關閉用戶的本地“桌面終端系統(tǒng)”裝置。
[0111]按照本發(fā)明提供的方法1,所述的,第9步中發(fā)起在本地計算機“桌面終端系統(tǒng)”裝置中執(zhí)行該應用程序的子任務,具體實現(xiàn)方法如下:
[0112]第9-1、“桌面應用運行管理”模塊通知“桌面窗口顯示”模塊120建立會話通道和會話密鑰;“桌面窗口顯示”模塊建立會話通道和會話密鑰,并將會話通道ID和會話密鑰傳遞給“桌面應用運行管理”模塊;
[0113]其中會話通道ID和會話密鑰如前述實例,在此不贅述。
[0114]第9-2、“桌面應用運行管理”模塊將第9-1步中的會話通道ID和會話密鑰傳遞給“本地應用代理”模塊,“桌面應用運行管理”模塊繼續(xù)等待“桌面圖標顯示”模塊接下來的應用執(zhí)行請求;“本地應用代理”模塊根據(jù)該會話通道ID和會話密鑰信息連接“桌面窗口顯示”模塊會話通道;
[0115]第9-3、“本地應用代理”模塊從“本地應用程序庫”模塊加載該應用、并在本地創(chuàng)建該應用“執(zhí)行實例”;
[0116]第9-4、“本地應用代理”模塊將該應用執(zhí)行實例的輸入輸出重定向到第9-2步中所述的“本地應用代理”模塊與“桌面窗口顯示”模塊的會話通道中;
[0117]第9_5、“桌面窗口顯示”模塊負責與“本地應用代理”模塊協(xié)作完成該應用在本地運行的“執(zhí)行實例”,“桌面窗口顯示”模塊建立該應用“執(zhí)行實例”的輸入及輸出資源?’該應用“執(zhí)行實例”執(zhí)行結(jié)束后,“桌面窗口顯示”模塊斷開該應用“執(zhí)行實例”會話通道,“桌面窗口顯示”模塊清除該應用“執(zhí)行實例”的輸入及輸出資源,“本地應用代理”模塊清除該應用“執(zhí)行實例”在本地計算機上的計算資源;
[0118]第9-6、在本地計算機“桌面終端系統(tǒng)”裝置中執(zhí)行該應用程序的任務結(jié)束。
[0119]按照本發(fā)明提供的方法1,所述的,第13步中發(fā)起在網(wǎng)絡上執(zhí)行該應用程序的子任務,具體實現(xiàn)方法如下:
[0120]第13-1、用戶端“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊通知“桌面窗口顯示”模塊建立會話通道和會話密鑰;“桌面窗口顯示”模塊建立會話通道和會話密鑰,并將會話通道ID和會話密鑰傳遞給“桌面應用運行管理”模塊;
[0121]其中會話通道ID和會話密鑰如前述實例,在此不贅述。
[0122]第13-2、用戶端“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊將第13-1步中的會話通道ID和會話 密鑰傳遞給網(wǎng)絡上“應用服務中心”裝置中的“應用調(diào)度服務”模塊,“桌面應用運行管理”模塊繼續(xù)等待“桌面圖標顯示”模塊接下來的應用執(zhí)行請求;
[0123]第13-3、“應用服務中心”裝置中的“應用調(diào)度服務”模塊從網(wǎng)絡上獲取第13-1步中的會話通道ID和會話密鑰,并將該會話通道ID和該會話密鑰作為當前的該會話通道ID和該會話密鑰;“應用服務中心”裝置中的“應用調(diào)度服務”模塊根據(jù)該應用的“擴展元信息”,找到該應用所在的“應用程序庫服務器”裝置列表,根據(jù)調(diào)度策略選擇一個“應用程序庫服務器”裝置;
[0124]其中應用的擴展元信息如前述實例,在此不贅述。
[0125]當應用存在于多個“應用程序庫服務器”裝置時,調(diào)度策略可以是隨機選擇任意一個“應用程序庫服務器”裝置,也可以由“應用服務中心”裝置中的“應用調(diào)度服務”模塊根據(jù)這些“應用程序庫服務器”裝置的動態(tài)負載情況選擇負載輕的“應用程序庫服務器”裝置。
[0126]第13-4、“應用服務中心”裝置中的“應用調(diào)度服務”模塊判斷第13-3步所選擇的“應用程序庫服務器”裝置相對于第13-1步用戶端“桌面終端系統(tǒng)”裝置是否為私有“應用程序庫服務器”裝置,若第13-3步所選擇的“應用程序庫服務器”裝置相對于第13-1步用戶端“桌面終端系統(tǒng)”裝置是私有“應用程序庫服務器”裝置,則執(zhí)行第13-5步,否則執(zhí)行第13-6步;
[0127]第13_5、“應用服務中心”裝置中的“應用調(diào)度服務”模塊向“應用服務中心”裝置中的“運行服務”發(fā)送該應用程序的會話通道ID和會話密鑰,“運行服務”根據(jù)該會話通道ID和會話密鑰信息連接用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊的“會話通道”,進一步“運行服務”建立“私有會話通道”并將該私有會話通道ID和該私有會話密鑰發(fā)送給“應用調(diào)度服務”模塊,“應用服務中心”裝置中的“運行服務”負責在上述兩個會話通道之間進行信息中轉(zhuǎn);“應用服務中心”裝置中的“應用調(diào)度服務”模塊將該私有會話通道ID和該私有會話密鑰作為當前的該會話通道ID和該會話密鑰;
[0128]如圖2中線6所示,“應用程序庫服務器”裝置的“應用代理”模塊直接連接用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊的會話通道。
[0129]如圖2中線6.1和6.2所示,“應用程序庫服務器”裝置的“應用代理”模塊通過“應用服務中心”裝置中的“運行服務”作為中轉(zhuǎn)間接連接用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊的會話通道。
[0130]第13-6、“應用服務中心”裝置中的“應用調(diào)度服務”模塊向第13-3步所選擇的“應用程序庫服務器”裝置的“應用代理”模塊發(fā)送當前的會話通道ID和會話密鑰,并請求該“應用代理”模塊運行該應用程序,“應用服務中心”裝置中的“應用調(diào)度服務”模塊繼續(xù)等待網(wǎng)絡上用戶“桌面終端系統(tǒng)”裝置接下來應用執(zhí)行請求;
[0131]第13-7、第13-3步中所選擇的“應用程序庫服務器”裝置的“應用代理”模塊根據(jù)該會話通道ID和會話密鑰信息連接用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊會話通道;
[0132]第13-8、在第13-3步中所選擇的“應用程序庫服務器”裝置中,“應用代理”模塊從“應用程序庫”模塊加載該應用、并在該“應用程序庫服務器”裝置中創(chuàng)建該應用“執(zhí)行實例”;
[0133]第13-9、在第13-3步中所選擇的“應用程序庫服務器”裝置中,“應用代理”模塊將該應用執(zhí)行實例的輸入輸出重定向到第13-7步中所建立的會話通道中;
[0134]如圖5所示,IE瀏覽器、微軟Word等兩個應用運行于名為“Windows服務器N”的“應用程序庫服務器”裝置中,而Evolution郵件客戶端應用運行于名為“Linux服務器I”的“應用程序庫服務器”裝置中,但這三個應用通過網(wǎng)絡都顯示在同一個用戶端“桌面終端系統(tǒng)”上,且用戶在“桌面終端系統(tǒng)”上針對不同應用窗口的操作分別通過“會話通道”傳遞給對應的“應用程序庫服務器”裝置中對應的應用實例中。
[0135]其中“應用代理”模塊動態(tài)捕獲應用“執(zhí)行實例”的圖像及音頻輸出操作方法如前述實例,在此不贅述。
[0136]第13-10、用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊負責與第13-3步中所選擇的“應用程序庫服務器”裝置中“應用代理”模塊協(xié)作完成該應用在第13-3步中所選擇的“應用程序庫服務器”裝置運行的“執(zhí)行實例”,用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊建立該應用“執(zhí)行實例”的輸入及輸出資源;該應用“執(zhí)行實例”執(zhí)行結(jié)束后,用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊斷開該應用“執(zhí)行實例”會話通道,用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊清除該應用“執(zhí)行實例”的輸入及輸出資源,第13-3步中所選擇的“應用程序庫服務器”裝置中“應用代理”模塊清除該應用“執(zhí)行實例”在第13-3步中所選擇的“應用程序庫服務器”裝置中的計算資源;
[0137]第13-11、在網(wǎng)絡上執(zhí)行該應用程序的子任務結(jié)束。
[0138]按照本發(fā)明提供的運行應用程序的方法,所述的,會話通道為網(wǎng)絡通信鏈路,可由“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊和“應用服務中心”裝置的“運行服務”模塊創(chuàng)建會話通道服務器;會話通道由會話通道ID所標識,會話通道ID包括網(wǎng)絡IP地址、網(wǎng)絡端口號應用程序庫服務器”裝置的“應用代理”模塊和“應用服務中心”裝置的“運行服務”模塊可以作為會話通道的客戶端憑借會話密鑰來連接會話通道服務器,會話密鑰至少包含該會話通道服務器和會話通道客戶端的身份信息和會話通道的生存期信息。
[0139]例如,如圖5所示應用“微軟Word”的會話通道,該會話通道ID可為{202.116.11.100,6100},其中202.116.11.100為用戶端“桌面終端系統(tǒng)”裝置的IP地址;會話密鑰可為{202.116.11.100,6100,218.69.200.120,2013.12.20,08:00,120,xxxx},其中218.69.200.120為“應用程序庫服務器”裝置的IP地址,2013.12.20為該應用執(zhí)行實例運行起始日期,08:00為該應用執(zhí)行實例運行起始時間,120為該應用執(zhí)行實例的最大運行時間,XXXX為會話密鑰前6項的數(shù)字簽名。
[0140]考慮到在此公開的對本發(fā)明的描述和特例的實施例,本發(fā)明的其他實施例對于本領域的技術(shù)人員來說是顯而意見的。這些說明和實施例僅作為例子來考慮,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權(quán)利要求】
1.一種支持進程粒度網(wǎng)絡計算的虛擬計算環(huán)境系統(tǒng),其特征在于,該系統(tǒng)由用戶在本地計算機上發(fā)起選定應用的執(zhí)行請求,該虛擬計算環(huán)境系統(tǒng)在本地計算機及網(wǎng)絡中的應用程序庫服務器上查找符合執(zhí)行請求要求的應用,在對應的應用程序庫服務器上執(zhí)行,并將應用執(zhí)行過程的輸入請求及輸出結(jié)果集成于本地計算機的桌面終端系統(tǒng),從而拓展用戶的本地計算機的計算能力;該系統(tǒng)包括“桌面終端系統(tǒng)”裝置、至少有一個“應用服務中心”裝置、至少有一個“應用程序庫服務器”裝置、以及“網(wǎng)絡”裝置,“桌面終端系統(tǒng)”裝置、“應用服務中心”裝置和“應用程序庫服務器”裝置三者之間通過“網(wǎng)絡”裝置采用網(wǎng)絡通信方式進行互聯(lián);其中: “桌面終端系統(tǒng)”裝置,主要負責用戶輸入請求和應用程序輸出結(jié)果的處理,包括桌面圖標顯示模塊、桌面窗口顯示模塊、桌面應用運行管理模塊、桌面應用圖標管理模塊、桌面應用信息庫、本地應用代理服務模塊、本地應用程序庫模塊和本地應用實例庫;“桌面圖標顯示模塊”讀取“桌面應用信息庫”中在該“桌面終端系統(tǒng)”裝置中注冊的所有應用的“應用基本元信息”和“應用圖標顯示位置信息”,并將這些應用的應用圖標顯示在該“桌面終端系統(tǒng)”裝置中的“桌面窗口顯示模塊”所創(chuàng)建的“圖標窗口”中;“桌面窗口顯示模塊”負責在該“桌面終端系統(tǒng)”裝置中創(chuàng)建所有“應用窗口”和“圖標窗口 ”,“桌面窗口顯示模塊”依據(jù)應用的“應用實例”的請求創(chuàng)建相應的“應用窗口”,“桌面窗口顯示模塊”依據(jù)該“桌面終端系統(tǒng)”裝置中注冊的所有應用的“應用圖標顯示位置信息”創(chuàng)建“圖標窗口 ” ;桌面應用圖標管理模塊負責管理在該“桌面終端系統(tǒng)”裝置中注冊新應用、卸載應用、發(fā)布本地應用和修改本地已注冊應用圖標位置信息,并讀取和保存在“桌面應用信息庫”;“桌面應用信息庫”中存儲著在該“桌面終端系統(tǒng)”裝置中注冊的所有應用的“應用基本元信息”和“應用圖標顯示位置信息”;“本地應用程序庫模塊”中存儲著可在該“桌面終端系統(tǒng)”裝置中運行的應用程序;“本地應用代理服務模塊”負責在“本地應用程序庫模塊”查找指定本地應用程序、創(chuàng)建指定本地應用程序的應用實例、以及與“桌面窗口顯示模塊”的“會話通道”;“本地應用實例庫”為本地“桌面終端系統(tǒng)”裝置中正在運行的所有應用實例集合;“桌面應用運行管理模塊”負責從“桌面圖標顯示模塊”獲取用戶待執(zhí)行的應用請求,并動態(tài)發(fā)起從“本地應用代理服務模塊”或者網(wǎng)絡上“應用服務中心”裝置執(zhí)行該應用的請求以及“會話通道”信息;“本地應用代理服務模塊”與“桌面窗口顯示模塊”采用網(wǎng)絡通信方式,其它模塊之間采用進程間通信或者網(wǎng)絡通信方式; “應用服務中心”裝置,主要負責應用程序的登記、查找、應用調(diào)度和運行服務代理,包括應用登記模塊、應用查找模塊、應用調(diào)度服務模塊、運行服務模塊和應用信息庫模塊;“應用信息庫模塊”負責保存網(wǎng)絡上“應用程序庫服務器”裝置上已發(fā)布應用的應用擴展元信息的保存、修改和刪除;“應用登記模塊”負責登記、撤銷來自網(wǎng)絡上“應用程序庫服務器”裝置上應用的擴展元信息到“應用信息庫模塊”中;“應用查找模塊”負責從“應用信息庫模塊”查找指定應用的應用擴展元信息;“應用調(diào)度服務模塊”負責接收網(wǎng)絡上“桌面終端系統(tǒng)”裝置發(fā)來的應用執(zhí)行請求,并通過“應用查找”模塊在“應用信息庫”中查找待執(zhí)行應用的所在的“應用程序庫服務器”裝置列表,根據(jù)調(diào)度策略選擇一個“應用程序庫服務器”裝置,并向該“應用程序庫服務器”裝置中的“應用代理模塊”發(fā)起執(zhí)行該應用的請求;“運行服務模塊”負責為“桌面終端系統(tǒng)”裝置與“應用程序庫服務器”裝置不能建立直接網(wǎng)絡連接時建立“會話通道”中轉(zhuǎn)代理;“應用服務中心”裝置的各模塊之間采用進程間通信或者網(wǎng)絡通信方式; “應用程序庫服務器”裝置,主要負責應用程序的執(zhí)行,包括應用代理模塊、應用程序庫模塊和應用實例庫模塊;“應用程序庫模塊”中存儲著可在該“應用程序庫服務器”裝置中運行的應用程序;“應用代理服務模塊”負責在該“應用程序庫服務器”裝置中的“應用程序庫模塊”查找指定應用程序、并在該“應用程序庫服務器”裝置中創(chuàng)建指定應用程序的應用實例、以及與網(wǎng)絡上發(fā)起該應用執(zhí)行請求的“桌面終端系統(tǒng)”裝置中的“桌面窗口顯示模塊”的“會話通道”;“應用實例庫”為該“應用程序庫服務器”裝置中正運行的應用實例集合;“應用程序庫服務器”裝置的各模塊之間采用進程間通信或者網(wǎng)絡通信方式; “網(wǎng)絡”裝置,主要負責網(wǎng)絡通信,網(wǎng)絡物理層支持有線網(wǎng)絡傳輸協(xié)議、無線網(wǎng)絡傳輸協(xié)議,網(wǎng)絡傳輸層支持TCP/IP協(xié)議。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述的“應用程序庫服務器”裝置分為私有“應用程序庫服務器”裝置和共享“應用程序庫服務器”裝置,私有“應用程序庫服務器”裝置包含私有應用程序庫模塊,共享“應用程序庫服務器”裝置包含共享應用程序庫模塊;用戶端“桌面終端系統(tǒng)”裝置與私有“應用程序庫服務器”裝置不能直接互通,需要通過“應用服務中心”裝置中“運行服務”作為代理實現(xiàn)互通;用戶端“桌面終端系統(tǒng)”裝置與共享“應用程序庫服務器”裝置可直接互通。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,在用戶端的“桌面終端系統(tǒng)”裝置中的“桌面應用信息庫”中存儲應用圖標顯示位置信息,應用圖標顯示位置信息包括:應用標識符、圖標窗口編號和坐標位置;坐標位置包括應用圖標在圖標窗口中的橫坐標和縱坐標。
4.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,在用戶端的“桌面終端系統(tǒng)”裝置中的“桌面應用信息庫”中存儲應用的基本元信息,應用的基本元信息包括:應用名稱、應用標識符、應用圖標和應用功能基本描述;在“桌面終端系統(tǒng)”裝置中的“本地應用程序庫”、“應用程序服務器”裝置中的“應用程序庫”和“應用服務中心”裝置中的“應用信息庫”模塊中存儲所有注冊的應用擴展元信息,應用擴展元信息包括:應用名稱、應用標識符、應用圖標、應用哈希指紋、應用功能描述、應用分類標簽、應用程序庫服務器列表和應用運行參數(shù)。
5.一種在支持進程粒度網(wǎng)絡計算的虛擬計算環(huán)境系統(tǒng)中運行應用程序的方法,其特征在于,所述方法包括具體步驟如下: 第1、啟動“應用程序庫服務器”裝置,“應用程序庫服務器”裝置準備接收網(wǎng)絡發(fā)來的應用執(zhí)行請求、并在該“應用程序庫服務器”裝置運行該應用程序; 第2、啟動“應用服務中心”裝置,“應用服務中心”裝置準備接收網(wǎng)絡上“桌面終端系統(tǒng)”裝置發(fā)來的應用執(zhí)行請求、尋找滿足應用執(zhí)行要求的“應用程序庫服務器”裝置、并轉(zhuǎn)發(fā)應用執(zhí)行請求到該“應用程序庫服務器”裝置; 第3、用戶啟動“桌面終端系統(tǒng)”裝置,“桌面圖標顯示”模塊顯示桌面圖標環(huán)境;“桌面應用運行管理”模塊從本地計算機持久存儲空間中讀取“應用執(zhí)行規(guī)則”配置文件到內(nèi)存;第4、用戶選中準備運行的應用程序的圖標,并選擇執(zhí)行該應用程序的操作動作; 第5、“桌面圖標顯示”模塊捕捉到用戶執(zhí)行應用程序的操作動作,讀取待執(zhí)行應用程序的“基本元信息”,進一步通知“桌面應用運行管理”模塊用戶的第4步中應用執(zhí)行請求;“桌面圖標顯示”模塊繼續(xù)捕捉用戶接下來新的操作動作; 第6、“桌面應用運行管理”模塊處于持續(xù)接收“桌面圖標顯示”模塊應用執(zhí)行請求通知的狀態(tài);當“桌面應用運行管理”模塊收到“桌面圖標顯示”模塊應用執(zhí)行請求通知時,“桌面應用運行管理”模塊依據(jù)“應用執(zhí)行規(guī)則”判斷第4步中應用執(zhí)行請求是否為關閉“桌面終端系統(tǒng)”裝置,若是則執(zhí)行第14步,否則執(zhí)行第7步; 第7、“桌面應用運行管理”模塊依據(jù)“應用執(zhí)行規(guī)則”判斷是否優(yōu)先在本地“桌面終端系統(tǒng)”裝置中查詢并執(zhí)行該應用程序,若優(yōu)先在本地“桌面終端系統(tǒng)”裝置中查詢并執(zhí)行該應用程序,則執(zhí)行第8步,否則執(zhí)行第10步; 第8、“桌面應用運行管理”模塊發(fā)送應用執(zhí)行請求給“本地應用代理”模塊,“本地應用代理”模塊判斷是否該應用存在于“本地應用程序庫”模塊,若該應用存在于“本地應用程序庫”模塊中,則執(zhí)行第9步,否則執(zhí)行第10步: 第9、“桌面應用運行管理”模塊發(fā)起在本地“桌面終端系統(tǒng)”裝置中執(zhí)行該應用程序的子任務,“桌面應用運行管理”模塊跳轉(zhuǎn)到第6步執(zhí)行; 第10、“桌面應用運行管理”模塊通過網(wǎng)絡連接“應用服務中心”裝置中的“應用調(diào)度服務”模塊,并請求“應用調(diào)度服務”模塊查找并運行該應用程序; 第11、“應用服務中心”裝置中的“應用調(diào)度服務”模塊請求“應用查找”模塊在“應用信息庫”中是否存在該應用的“擴展元信息”,若不存在該應用的“擴展元信息”,則執(zhí)行第12步,否則執(zhí)行第13步; 第12、“應用服務中心”裝置中的“應用調(diào)度服務”模塊通知用戶“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊待執(zhí)行應用程序不存在,“桌面應用運行管理”模塊告知用戶待執(zhí)行應用無法執(zhí)行,跳轉(zhuǎn)到第6步執(zhí)行; 第13、“應用服務中心”裝置中的“應用調(diào)度服務”模塊通知用戶“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊待執(zhí)行應用程序存在,用戶“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊發(fā)起在網(wǎng)絡上執(zhí)行該應用程序的子任務,用戶“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊跳轉(zhuǎn)到第6步執(zhí)行; 第14、“桌面應用運行管理”模塊從“本地應用程序庫”模塊加載關閉“桌面終端系統(tǒng)”裝置的應用程序,并在本地運行該應用程序,從而關閉用戶的本地“桌面終端系統(tǒng)”裝置。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,第9步中所述的發(fā)起在本地計算機“桌面終端系統(tǒng)”裝置中執(zhí)行該應用程序的子任務,具體方法如下: 第9-1、“桌面應用運行管理”模塊通知“桌面窗口顯示”模塊建立會話通道和會話密鑰;“桌面窗口顯示”模塊建立會話通道和會話密鑰,并將會話通道ID和會話密鑰傳遞給“桌面應用運行管理”模塊; 第9-2、“桌面應用運行管理”模塊將第9-1步中的會話通道ID和會話密鑰傳遞給“本地應用代理”模塊,“桌面應用運行管理”模塊繼續(xù)等待“桌面圖標顯示”模塊接下來的應用執(zhí)行請求;“本地應用代理”模塊根據(jù)該會話通道ID和會話密鑰信息連接“桌面窗口顯示”模塊會話通道; 第9-3、“本地應用代理”模塊從“本地應用程序庫”模塊加載該應用、并在本地創(chuàng)建該應用“執(zhí)行實例”; 第9-4、“本地應用代理”模塊將該應用執(zhí)行實例的輸入輸出重定向到第9-2步中所述的“本地應用代理”模塊與“桌面窗口顯示”模塊的會話通道中; 第9-5、“桌面窗口顯示”模塊負責與“本地應用代理”模塊協(xié)作完成該應用在本地運行的“執(zhí)行實例”,“桌面窗口顯示”模塊建立該應用“執(zhí)行實例”的輸入及輸出資源;該應用“執(zhí)行實例”執(zhí)行結(jié)束后,“桌面窗口顯示”模塊斷開該應用“執(zhí)行實例”會話通道,“桌面窗口顯示”模塊清除該應用“執(zhí)行實例”的輸入及輸出資源,“本地應用代理”模塊清除該應用“執(zhí)行實例”在本地計算機上的計算資源; 第9-6、在本地計算機“桌面終端系統(tǒng)”裝置中執(zhí)行該應用程序的任務結(jié)束。
7.根據(jù)權(quán)利要求5所述的方法,其特征在于,第13步中所述的發(fā)起在網(wǎng)絡上執(zhí)行該應用程序的子任務,具體實現(xiàn)方法如下: 第13-1、用戶端“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊通知“桌面窗口顯示”模塊建立會話通道和會話密鑰;“桌面窗口顯示”模塊建立會話通道和會話密鑰,并將會話通道ID和會話密鑰傳遞給“桌面應用運行管理”模塊; 第13-2、用戶端“桌面終端系統(tǒng)”裝置中“桌面應用運行管理”模塊將第13-1步中的會話通道ID和會話密鑰傳遞給網(wǎng)絡上“應用服務中心”裝置中的“應用調(diào)度服務”模塊,“桌面應用運行管理”模塊繼續(xù)等待“桌面圖標顯示”模塊接下來的應用執(zhí)行請求; 第13-3、“應用服務中心”裝置中的“應用調(diào)度服務”模塊從網(wǎng)絡上獲取第13-1步中的會話通道ID和會話密鑰,并將該會話通道ID和該會話密鑰作為當前的該會話通道ID和該會話密鑰;“應用服務中心”裝置中的“應用調(diào)度服務”模塊根據(jù)該應用的“擴展元信息”,找到該應用所在的“應用程序庫服務器”裝置列表,根據(jù)調(diào)度策略選擇一個“應用程序庫服務器”裝置; 第13-4、“應用服務中心”裝置中的“應用調(diào)度服務”模塊判斷第13-3步所選擇的“應用程序庫服務器”裝置相對于第13-1步用戶端“桌面終端系統(tǒng)”裝置是否為私有“應用程序庫服務器”裝置,若第13-3步所選擇的“應用程序庫服務器”裝置相對于第13-1步用戶端“桌面終端系統(tǒng)”裝置是私有“應用程序庫服務器”裝置,則執(zhí)行第13-5步,否則執(zhí)行第13-6 步; 第13-5、“應用服務中心”裝置中的“應用調(diào)度服務”模塊向“應用服務中心”裝置中的“運行服務”發(fā)送該應用程序的會話通道ID和會話密鑰,“運行服務”根據(jù)該會話通道ID和會話密鑰信息連接用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊的“會話通道”,進一步“運行服務”建立“私有會話通道”并將該私有會話通道ID和該私有會話密鑰發(fā)送給“應用調(diào)度服務”模塊,“應用服務中心”裝置中的“運行服務”負責在上述兩個會話通道之間進行信息中轉(zhuǎn);“應用服務中心”裝置中的“應用調(diào)度服務”模塊將該私有會話通道ID和該私有會話密鑰作為當前的該會話通道ID和該會話密鑰; 第13-6、“應用服務中心”裝置中的“應用調(diào)度服務”模塊向第13-3步所選擇的“應用程序庫服務器”裝置的“應用代理”模塊發(fā)送當前的會話通道ID和會話密鑰,并請求該“應用代理”模塊運行該應用程序,“應用服務中心”裝置中的“應用調(diào)度服務”模塊繼續(xù)等待網(wǎng)絡上用戶“桌面終端系統(tǒng)”裝置接下來應用執(zhí)行請求; 第13-7、第13-3步中所選擇的“應用程序庫服務器”裝置的“應用代理”模塊根據(jù)該會話通道ID和會話密鑰信息連接用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊會話通道; 第13-8、在第13-3步中所選擇的“應用程序庫服務器”裝置中,“應用代理”模塊從“應用程序庫”模塊加載該應用、并在該“應用程序庫服務器”裝置中創(chuàng)建該應用“執(zhí)行實例”;第13-9、在第13-3步中所選擇的“應用程序庫服務器”裝置中,“應用代理”模塊將該應用執(zhí)行實例的輸入輸出重定向到第13-7步中所建立的會話通道中; 第13-10、用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊負責與第13-3步中所選擇的“應用程序庫服務器”裝置中“應用代理”模塊協(xié)作完成該應用在第13-3步中所選擇的“應用程序庫服務器”裝置運行的“執(zhí)行實例”,用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊建立該應用“執(zhí)行實例”的輸入及輸出資源;該應用“執(zhí)行實例”執(zhí)行結(jié)束后,用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊斷開該應用“執(zhí)行實例”會話通道,用戶端“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊清除該應用“執(zhí)行實例”的輸入及輸出資源,第13-3步中所選擇的“應用程序庫服務器”裝置中“應用代理”模塊清除該應用“執(zhí)行實例”在第13-3步中所選擇的“應用程序庫服務器”裝置中的計算資源; 第13-11、在網(wǎng)絡上執(zhí)行該應用程序的子任務結(jié)束。
8.根據(jù)權(quán)利要求5至7中任一項所述的方法,其特征在于,應用程序在“桌面終端系統(tǒng)”裝置和“應用程序庫服務器”裝置中的最小運行單位為進程,由“應用代理”動態(tài)捕捉該應用程序運行實例進程的圖像輸出操作、音頻輸出操作,并將輸出操作通過會話通道傳遞給用戶端的“桌面終端系統(tǒng)”裝置中的“桌面窗口顯示”模塊,并進一步由用戶端的“桌面終端系統(tǒng)”裝置中的“桌面窗口顯示”模塊將輸出操作在用戶端的“桌面終端系統(tǒng)”裝置中重新進行音頻輸出操作,以及在用戶端的“桌面終端系統(tǒng)”裝置中對應的“應用窗口”中重新進行圖像輸出操作。
9.根據(jù)權(quán)利要求5至7中任一項所述的方法,其特征在于,會話通道為網(wǎng)絡通信鏈路,可由“桌面終端系統(tǒng)”裝置中“桌面窗口顯示”模塊和“應用服務中心”裝置的“運行服務”模塊創(chuàng)建會話通道服務器;會話通道由會話通道ID所標識,會話通道ID包括網(wǎng)絡IP地址、網(wǎng)絡端口號;“應用程序庫服務器”裝置的“應用代理”模塊和“應用服務中心”裝置的“運行服務”模塊可以作為會話通道的客戶端憑借會話密鑰來連接會話通道服務器,會話密鑰至少包含該會話通道服務器和會 話通道客戶端的身份信息和會話通道的生存期信息。
【文檔編號】H04L29/08GK103810019SQ201410045114
【公開日】2014年5月21日 申請日期:2014年2月8日 優(yōu)先權(quán)日:2014年2月8日
【發(fā)明者】李旭東 申請人:南開大學