劉鳳霞,陳國棟,黃洪海,翟朝亮,余 輪
(福州大學 數字媒體研究院,福建 福州350002)
關于面向Web的三維交互技術的研究已經有相當的成果,但是這一技術在實際中并沒有得到廣泛的應用。首先,該技術需要在網絡上傳輸大量的三維數據,海量的網格數據對計算機的存儲能力和網絡的傳輸能力提出了新的挑戰(zhàn)[1]。其次,受網絡帶寬的限制,用戶在訪問網頁之前要忍受較長的等待時間。再次,傳統(tǒng)的傳輸策略是“先下載后顯示”,不足在于響應時間太長。為了解決這些問題,人們提出了多種技術方案,其中最主要的有緩存(caching)和預取技術(pre-fetching)兩種。緩存技術已在網絡節(jié)點的不同位置得到廣泛應用,但隨著網絡資源更新頻率的增加,緩存帶來的性能改善不再顯著。預取技術為提高網絡性能帶來了新的機遇,同時也遇到了一些新的問題。大多數的預取算法都是將客戶端、代理服務器端和服務器端的預取分開進行研究[2],這樣的研究方式并不能解決諸如將預取放在網絡的什么位置、在一個給定的網絡中應該進行預取的數量和不同位置之間的預取在什么情況下應該協(xié)作等問題。
為了提高用戶體驗,出現了一種新類型的Web應用,那就是富互聯網應用(rich internet application,RIA)[3]。RIA簡化并改進了Web應用程序的用戶交互,可以提供更豐富、更具有交互性和響應性的用戶體驗。但現有RIA的響應速度還有待提高,特別是在人機交互非常頻繁的系統(tǒng)中,這種需求更為迫切[4-5]。對于網絡數據傳輸而言,需要計算機主動判斷何時該為用戶傳輸何種數據。所以可以把上下文感知計算引入數據的傳輸策略,利用用戶沒有發(fā)出請求時客戶端網絡的空閑時間,后臺程序感知預測用戶下一步的行為和該行為所需的驅動程序和數據,預先把用戶所需的驅動程序和數據傳輸到瀏覽器端,進一步提高系統(tǒng)的響應性。
上下文感知是指RIA系統(tǒng)能發(fā)現并有效利用上下文信息(如用戶位置,瀏覽時間,環(huán)境參數,用戶活動等)進行計算的一種計算模式。上下文感知技術是富互聯網應用確定自身行為最為直接、有效的依據。在 Mikael[6]和李蕊[7]等人關于上下文感知計算的研究基礎上,本文提出一個面向RIA的上下文感知計算模型,如圖1所示。
圖1 面向RIA的上下文感知計算模型
面向RIA的上下文感知計算模型調用不同的傳感器對用戶的輸入和富互聯網環(huán)境的隱式輸入進行感知、監(jiān)測和獲取。這些上下文信息的主要來源包括3個方面:①經過識別的用戶輸入,它是用戶意圖和個性化因素最集中的體現,是用戶上下文推理的主要依據;②服務器端的隱式輸入,包括網絡帶寬的使用情況、服務器的負載情況等;③其它隱式輸入,包括設備特征和上下文日志,所有上下文形成之后都被保存,從這些記錄中往往可以提取規(guī)律性信息,挖掘出有意義的上下文。
不同類型的上下文在感知方法、數據類型、表示形式上存在顯著的差異,為了對多源上下文信息進行整合,系統(tǒng)利用語義的支持消除這些底層差異,采用本體語言[8]對上下文信息進行統(tǒng)一的規(guī)范化描述,向高層應用提供表示格式統(tǒng)一、只與當前應用語義相關的上下文信息,使上下文的有效利用達到一個更高的水平。
上下文組織模塊把表示過的上下文信息進行有效的管理和存儲,方便后續(xù)的推理、調度和執(zhí)行。
上下文形成后發(fā)出與高層應用通信的請求,系統(tǒng)則根據上下文信息表示的各個域的值對其進行推理和協(xié)調調度,其中上下文的優(yōu)先級是調度的重要依據,越是重要的上下文信息,其優(yōu)先級越高。對于優(yōu)先級相等的上下文信息,則根據其是否搶占性進行調度。上下文的推理和調度是研究數據傳輸策略,增強用戶體驗的關鍵模塊。
用戶在使用RIA系統(tǒng)過程中,下一步行為與用戶的上下文(用戶的瀏覽目的、文化背景、興趣愛好、行為習慣等)及當前環(huán)境狀態(tài)等因素相關聯[9]。由于這些因素的差異,各個用戶的瀏覽過程也就表現出不同的個性化特點,某些用戶的瀏覽過程表現出相同或相近的特點。王大玲[10]和竇伊男[11]等對網絡用戶分類的研究取得了較好的結果。通過對用戶分類,由于不同類別的用戶其瀏覽過程差別較大,用不同的模型來描述他們的特征更為合理。
本文在獲得上下文語義支持的基礎上,通過多馬爾科夫鏈模型[12]建立用戶行為與上下文的聯系,從而預測用戶下一步行為。假設根據用戶在富互聯網空間的瀏覽特點可以將用戶分為L類,首先利用單馬爾科夫鏈模型[13-14]對每一類用戶行為進行建模,定義每一類用戶行為模型為:λl=(S,Al,πl(wèi))。
其中:S={s1,s2,…,sN}代表用戶的行為狀態(tài)的集合,N為其隱含狀態(tài)數;
Al={alij},1≤i,j≤N表示第l類用戶的動作狀態(tài)轉移概率矩陣,aij=P {ql(t+1)=sj|qlt=si},q1t表示第l類用戶在時刻t的狀態(tài);
πl(wèi)表示第l類用戶各行為的初始分布,πl(wèi)={πl(wèi)j},πl(wèi)j=P(ql1=sj),1≤j≤N。
根據馬爾科夫鏈模型觀測值與隱含狀態(tài)之間的概率函數關系,在用戶類別λl中,瀏覽序列O=s1s2,…sT出現的概率為
記P(λl)為第l類用戶的概率分布,則任意一個用戶瀏覽序列O=s1s2,…,sT出現的概率為
可以推導出該瀏覽序列屬于第l類用戶的概率為
用N維向量Dl(t)來描述第l類用戶在時刻t的狀態(tài),若qlt=si,則該向量的第i維為1,其余各維為0。用N維向量Vl(t)來描述第l類用戶在時刻t0的狀態(tài)概率,Vl(t)=[P(qlt=s1),P(qlt=s1),…,P(qlt=s1)],利用式(4)對用戶在t時刻的狀態(tài)進行預測
向量Vl(t)中,概率值最大的那一維對應的狀態(tài),即用戶在t時刻最可能的狀態(tài)。
為驗證該算法,采用數字媒體研究院開發(fā)的人體經絡系統(tǒng)中的相關數據進行分析。從人體經絡系統(tǒng)的日志文件中隨機獲取用戶對服務器的3705次請求,并將這些數據轉化為195個瀏覽序列,并從中隨機抽取120個作為實驗數據,建立多馬爾科夫模型,其它75個作為測試數據。實驗中采用動態(tài)預測方法,對每一個用戶的下一個狀態(tài)做出預測后,就利用該用戶的瀏覽序列對該用戶所屬類別的馬爾科夫鏈模型和概率分布進行更新。實驗結果如圖2所示。
圖2 多馬爾科夫鏈預測準確率
由圖2可知用戶的瀏覽序列越長,獲得的用戶信息就越多,對用戶分類就越準確,預測的準確率也越高。
本文把上下文感知計算技術引入面向RIA的系統(tǒng)傳輸策略中,如圖3所示。
圖3 面向RIA的數據傳輸策略
在瀏覽器和服務器之間增加一個上下文感知計算模塊,以實現用戶操作和服務器響應異步化。用戶與RIA系統(tǒng)的交互過程中,服務器不再直接響應用戶的請求,而是在用戶主動請求之前,通過傳感器獲取當前計算環(huán)境中的上下文和歷史上下文,并依據上下文感知計算模塊感知計算的結果,向服務器發(fā)送數據預傳輸的請求。服務器按照請求并充分利用網絡空閑時間向瀏覽器端發(fā)送數據,提高了網絡帶寬的利用率,縮短了用戶的等待時間。
傳統(tǒng)的Web請求處理過程中等待時間[15]如圖4所示。
圖4 傳統(tǒng)的Web系統(tǒng)用戶請求處理過程
所有等待時間(響應時間)=(N1+N2+N3+N4)+(A1+A2+A3),其中,Nx代表網絡等待時間,Ax代表應用等待時間。通常,響應時間主要由N1和N4決定,這個等待時間代表了客戶訪問Internet的方式。網絡等待時間N2和N3常常依賴服務器交互設備的性能。要減少應用等待時間(A1,A2,A3)比較困難,因為服務器應用軟件的復雜性將使得性能調整變得十分復雜。
面向RIA的數據傳輸策略的Web請求處理過程中的等待時間如圖5所示。
圖5 面向RIA的系統(tǒng)的用戶請求處理過程
當用戶發(fā)送請求之后,首先判斷該請求所需要的數據是否已經根據上下文感知計算模型的計算結果事先傳輸到瀏覽器端,如果已經開始傳輸并傳輸完畢,響應時間約等于0,如果已經開始傳輸但是沒有傳輸完畢,傳輸時間為傳輸剩余部分數據所需的時間。如果所請求的數據還沒有開始傳輸,響應時間與傳統(tǒng)的Web請求響應時間是一致的。
基于上述的理論和方法,將本文研究的面向RIA的數據傳輸策略應用于人體經絡系統(tǒng)。實驗中,客戶端通過ADSL與服務器連接,根據用戶體驗來驗證該傳輸策略的有效性。系統(tǒng)上下文感知計算模塊通過分析用戶在人體經絡系統(tǒng)的瀏覽記錄和特點將用戶分為4類,記為λ1,λ2,λ3,λ4。以某老用戶為例進行分析,以下為用戶訪問系統(tǒng)流程及系統(tǒng)的處理過程:
(1)用戶輸入登錄信息,系統(tǒng)判斷該用戶類別為λ1,系統(tǒng)開始主菜單即場景1的數據傳輸。同時上下文感知計算模塊根據該用戶的瀏覽日志和馬爾科夫鏈模型λ1,預測該用戶下一步最可能瀏覽的場景(如場景2),并向服務器發(fā)送場景2數據的預傳輸請求;
圖6 人體經絡系統(tǒng)部分場景
(2)用戶進入場景1,服務器開始場景2的數據傳輸,同時系統(tǒng)對馬爾科夫鏈模型λ1和相關概率分布進行更新,上下文感知計算模塊開始預測用戶的下一步行為(如場景4);
(3)用戶發(fā)送請求,若用戶選擇場景2,即可直接進入場景2并開始用戶與系統(tǒng)的交互,同時服務器開始場景4數據的預傳輸。若用戶選擇其它場景(如場景3),則服務器停止其他數據的傳輸,立刻向客戶端傳輸場景3的相關數據;
(4)重復步驟(2)、(3),系統(tǒng)不斷更新馬爾科夫鏈模型λ1和預測用戶下一步的數據需求。假設用戶行為依次為場景1、場景2、場景4、場景5,場景5中又包含了相關視頻、循經動畫、模型操作等行為。故用戶進入場景5后,系統(tǒng)要預測用戶是要在當前場景中進行查看視頻等操作,還是要進入下一個場景。
(5)假設系統(tǒng)預測到用戶進入場景5后要查看相關視頻,則服務器在傳輸完場景5的基本數據后,立刻開始傳輸相關視頻。各相關場景如圖6所示。
經過實驗測試,得到用戶在前一場景停留時間、場景數據傳輸時間和用戶等待時間見表1。
表1 面向RIA的傳輸策略下的測試結果
傳統(tǒng)的數據傳輸策略中,用戶等待時間即場景傳輸時間,由表1可知,面向RIA的數據傳輸策略大大減少了用戶的等待時間,特別是在比較復雜的場景中,效果更為明顯。
本文以面向RIA的網絡游戲的發(fā)布和用戶體驗為應用背景,將上下文感知計算引入到數據傳輸策略中,并應用于人體經絡系統(tǒng)。用戶在使用RIA系統(tǒng)初期只需下載初始化應用界面所需的少量數據,在后續(xù)使用過程中,系統(tǒng)能夠自動感知或預測用戶的意圖和下一步對數據的需求,充分利用用戶和系統(tǒng)交互過程中的網絡空閑時間傳輸數據,減少了用戶的等待時間。這種基于上下文感知的數據傳輸策略,為提高RIA系統(tǒng)的響應速度提供了新思路和新方法,具有廣泛的應用前景。
[1]PANG Ming-yong,LU Zhang-ping,ZHANG Fu-yan,et al.Compact data format for progressive meshes and its data transmission over internet[J].Journal of System Simulation,2007,19(2):332-335(in Chinese).[龐明勇,盧章平,張福炎,等.緊湊的累進網格數據格式及其網絡傳輸[J].系統(tǒng)仿真學報,2007,19(2):332-335.]
[2]ZHAO Yue,LIU Yan-h(huán)eng,LI Zhao,et al.Web prefetching model based on client[J].Computer Engineering and Applications,2008,44(20):102-106(in Chinese).[趙越,劉衍珩,李釗,等.基于客戶端的網頁預取模型[J].計算機工程與應用,2008,44(20):102-106.]
[3]WU Bao-yu.RIA client-side technology research and application[D].Hefei:Hefei University of Technology,2009(in Chinese).[吳報玉.RIA客戶端技術研究與應用[D].合肥:合肥工業(yè)大學,2009.]
[4]Rong Yao,Wang Jian-dong,Ding Jian-li.RIA-based visualization platform of flight delay intelligent prediction[C].Sanya,China:ISECS International Colloquium on CCCM,2009:94-97.
[5]Nijdam N A,Han S,Kevelham B,et al.A context-aware adaptive rendering system for user-centric pervasive computing environments[C].Valletta,Malta:The 15th IEEE Mediterranean Electro Technical Conference,2010:790-795.
[6]Mikael Desertot,Sylvain Lecomte,Dana Popovici,et al.A context aware framework for services management in the transportation domain[C].Athens,Greece:The 10th Annual International Conference on New Technologies of Distributed Systems(NOTERE),2010:157-164.
[7]LI Rui.Research on some key techniques of context-aware computing[D].Changsha:Hunan University,2007(in Chinese).[李蕊.上下文感知計算若干關鍵技術研究[D].長沙:湖南大學,2007.]
[8]WANG Shu-ning,YU Jian-xin.Ontology-based context-aware system architecture[J].Computer Engineering,2007,33(11):42-43(in Chinese).[王曙寧,俞建新.基于本體的上下文感知系統(tǒng)[J].計算機工程,2007,33(11):42-43.]
[9]Roman Y Shtykh,Zhu Yishui,Jin Qun.A context-aware framework for flowable services[C].Qingdao,China:The third International Conference on Multimedia and Ubiquitous Engineering,2009:251-256.
[10]WANG Da-ling,BAO Yu-bin,YU Ge.Study of user classification rule mining for personalized recommendation[J].Mini Micro Systems,2004,25(11):1948-1951(in Chinese).[王大玲,鮑玉斌,于戈.支持個性化推薦的用戶分類規(guī)則挖掘的研究[J].小型微型計算機系統(tǒng),2004,25(11):1948-1951.]
[11]DOU Yi-nan.Research on network user classification based on multi-dimensional characteristics[D].Beijing:Beijing University of Posts and Telecommunications,2010(in Chinese).[竇伊男.根據多維特征的網絡用戶分類研究[D].北京:北京郵電大學,2010.]
[12]XING Yong-kang,MA Shao-ping.Modeling user navigation sequences based on multi-Markov chains[J].Chinese Journal of Computers,2003,26(11):1510-1517(in Chinese).[邢永康,馬少平.多Markov鏈用戶瀏覽預測模型[J].計算機學報,2003,26(11):1510-1517.]
[13]PENG Limin.Research on semantic events of analyzing soccer video based on hidden Markov model[J].Computer Engineering and Design,2008,29(19):5002-5005(in Chinese).[彭利民.基于HMM的足球視頻語義分析研究[J].計算機工程與設計,2008,29(19):5002-5005.]
[14]WU Yi-jian.Research of speech synthesis technology based on hidden Markov model[D].Hefei:University of Science and Technology of China,2006(in Chinese).[吳義堅.基于隱馬爾科夫模型的語音合成技術研究[D].合肥:國科學技術大學,2006.]
[15]LU Xiao-li.Research on testing technology of web applications[D].Xi’an:Northwest University,2006(in Chinese).[路曉麗.Web應用軟件的測試技術研究[D].西安:西北大學,2006.]