專利名稱:移動設(shè)備用戶體驗的虛擬化的制作方法
移動設(shè)備用戶體驗的虛擬化
站旦 冃眾
用戶對在移動設(shè)備上運行的程序、應(yīng)用或服務(wù)的滿意度經(jīng)常取決于與該移
動設(shè)備相關(guān)聯(lián)的用戶界面(UI)。對于某些移動設(shè)備,UI經(jīng)由因特網(wǎng)提供給 移動設(shè)備。有了基于web的用戶界面的供應(yīng),在服務(wù)器上構(gòu)建網(wǎng)頁并通過在移 動設(shè)備上可用的web瀏覽器將其提供給用戶。用戶與網(wǎng)頁之間的交互性限于瀏 覽器的呈現(xiàn)能力,其還限制用戶與程序之間的交互性。移動設(shè)備還具有有限的 通信帶寬。較低的帶寬可引起對于在用戶的移動設(shè)備上產(chǎn)生的網(wǎng)頁與駐留在外 部服務(wù)器上的應(yīng)用程序之間的接收和傳輸?shù)妮^長的等待時間。
UI也可通過將整個程序或應(yīng)用下載到移動設(shè)備來與該移動設(shè)備相關(guān)聯(lián)。 該整個程序可能消耗該移動設(shè)備的存儲器中的一大部分。同樣,UI可通過將 "胖(thick)客戶端"下載到移動設(shè)備來與該移動設(shè)備相關(guān)聯(lián)??捎玫母鞣N移 動設(shè)備和各種胖客戶端可導(dǎo)致在使用這些類型的客戶端時引發(fā)的兼容性問題。 同樣,為各種移動設(shè)備中的每一個構(gòu)建胖客戶端導(dǎo)致開發(fā)、測試和經(jīng)濟效率低 下。
概述
提供本概述以便以簡化的形式介紹將在以下詳細描述中進一步描述的一 些概念。該概述不旨在標識所要求保護的主題的關(guān)鍵特征或必要特征,也不旨 在用于幫助確定所要求保護的主題的范圍。
一種設(shè)備虛擬化服務(wù)向移動設(shè)備提供通用胖客戶端。該通用胖客戶端幫助 在多個移動設(shè)備平臺提供可定制用戶界面而不要求開發(fā)者生成該用戶界面以 便為每一個移動設(shè)備模型編寫專門的代碼。以此方式,因特網(wǎng)服務(wù)可以向移動
設(shè)備提供數(shù)據(jù)和信息而不考慮正在其上呈現(xiàn)該信息的設(shè)備的類型。 附圖簡述
參考以下附圖描述了本發(fā)明的非限定性且非窮盡的實施例,其中除非另有指定,否則相同的附圖標記指代各個視圖中相同的部分。
圖1示出了一計算機的示例性計算體系結(jié)構(gòu); 圖2示出了用于提供設(shè)備虛擬化服務(wù)的示例性系統(tǒng);
圖3示出了用于供應(yīng)移動設(shè)備以便使用設(shè)備虛擬化服務(wù)(DVS)來接受服
務(wù)數(shù)據(jù)的操作流程圖4示出了用于DVS服務(wù)器的操作的示例性過程的操作流程圖;以及 圖5示出了根據(jù)本發(fā)明的由通用胖客戶端呈現(xiàn)的服務(wù)用戶界面屏幕的屏
幕截圖。
詳細描述
以下將參考形成本發(fā)明一部分并示出用于實現(xiàn)各實施例的具體示例的附 圖在此更詳盡地描述各個實施例。然而,各實施例可以用許多不同的形式實現(xiàn) 并且不應(yīng)被解釋為限于在此所述的各實施例;相反,提供這些實施例以使得本 公開變得全面且完整,并且將本發(fā)明的范圍完全傳達給本領(lǐng)域的普通技術(shù)人 員。所公開的各實施例可被實踐為方法、系統(tǒng)或設(shè)備。因此,所公開的各實施 例可采用完全硬件實現(xiàn)、完全軟件實現(xiàn)或者結(jié)合軟件和硬件方面實現(xiàn)的形式。 因此,以下詳細描述并非是局限性的。
當(dāng)閱讀對在此提供的例程的討論時,應(yīng)當(dāng)理解,各種實施例的邏輯操作被 實現(xiàn)為(l)運行于計算系統(tǒng)上的一系列計算機實現(xiàn)的動作或程序模塊,和/或(2) 計算系統(tǒng)內(nèi)互連的機器邏輯電路或電路模塊。該實現(xiàn)是取決于實現(xiàn)本發(fā)明的計
算機系統(tǒng)的性能要求來選擇的。因此,所例示的并且構(gòu)成此處所描述的實施例 的邏輯操作被不同地稱為操作、結(jié)構(gòu)設(shè)備、動作或模塊。這些操作、結(jié)構(gòu)設(shè)備、 動作和模塊可用軟件、固件、專用數(shù)字邏輯以及它們的任何組合來實現(xiàn)。
現(xiàn)在參考其中相同的標號代表相同的元素的附圖,將描述本發(fā)明的各種方 面。具體地,圖l和相應(yīng)的討論旨在提供對在其中可以實現(xiàn)本發(fā)明實施例的合 適計算環(huán)境的簡要概括描述。
一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型的例 程、程序、組件、數(shù)據(jù)結(jié)構(gòu)和其它類型的結(jié)構(gòu)。也可使用其它計算機系統(tǒng)配置, 包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程消費電子產(chǎn)品、小型計算機、大型計算機等等。也可使用在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠程處 理設(shè)備執(zhí)行的分布式計算環(huán)境。在分布式計算環(huán)境中,程序模塊可以位于本地 和遠程存儲器存儲設(shè)備中。
現(xiàn)參考圖1,將描述在各實施例中利用的計算設(shè)備100的示例性計算機體 系結(jié)構(gòu)。計算機可被配置為個人計算機、移動計算機等。如圖所示,計算設(shè)備
100包括中央處理單元102 ( "CPU")、含有隨機存取存儲器106 ( "RAM") 和只讀存儲器("ROM" ) 108的系統(tǒng)存儲器104、以及將存儲器耦合至CPU 102的系統(tǒng)總線116。計算設(shè)備100還包括用于存儲操作系統(tǒng)122、應(yīng)用程序和 其它程序模塊的大容量存儲設(shè)備120,這將在以下更為詳盡地描述。
大容量存儲設(shè)備120及其相關(guān)聯(lián)的計算機可讀介質(zhì)為計算設(shè)備100提供易 失性和非易失性存儲。計算機可讀介質(zhì)可包括任何類型的可移動和/或不可移動 介質(zhì)。
計算設(shè)備100可以使用通過諸如因特網(wǎng)等網(wǎng)絡(luò)112與遠程計算機的邏輯連 接而在網(wǎng)絡(luò)化環(huán)境中操作。計算設(shè)備IOO可以通過連接至總線116的網(wǎng)絡(luò)接口 單元110與網(wǎng)絡(luò)112相連。
計算設(shè)備100還可以包括輸入/輸出控制器114,用于接收并處理來自諸如 鍵盤、鼠標、電子指示筆等多個設(shè)備的輸入。類似地,輸入/輸出控制器114 可以為顯示屏、打印機或某一其它類型的設(shè)備(未示出)提供輸出。
如前簡述的,多個程序模塊和數(shù)據(jù)文件可以存儲在計算設(shè)備100的大容量 存儲設(shè)備120和RAM 106內(nèi),包括適用于控制聯(lián)網(wǎng)計算機的操作的操作系統(tǒng) 122。大容量存儲設(shè)備120和RAM106還可以存儲一個或多個程序模塊。具體 地,大容量存儲設(shè)備120和RAM 106可以存儲設(shè)備虛擬化服務(wù)(DVS)模塊 124。
DVS模塊124的配置取決于計算設(shè)備是被配置為提供服務(wù)數(shù)據(jù)和交互的 服務(wù)提供者服務(wù)器、配置數(shù)據(jù)以便傳輸?shù)揭苿釉O(shè)備的DVS服務(wù)器、還是移動 設(shè)備本身。對于服務(wù)提供者計算設(shè)備,DVS模塊124提供配置文件和通信協(xié)議 以便將數(shù)據(jù)以通用格式傳送到DVS服務(wù)器。對于DVS服務(wù)器,DVS模塊124 提供轉(zhuǎn)換和打包配置數(shù)據(jù)以便轉(zhuǎn)換從服務(wù)服務(wù)器接收到的數(shù)據(jù)。DVS模塊124 將數(shù)據(jù)打包以便高效地傳輸?shù)揭苿釉O(shè)備。對于移動設(shè)備本身,DVS模塊124可包括用于將所得用戶界面呈現(xiàn)在該移動設(shè)備的屏幕上的胖客戶端應(yīng)用程序。
胖客戶端(也被稱為肥(fat)客戶端或富(rich)客戶端)是執(zhí)行數(shù)據(jù)處理操
作,并依賴相關(guān)聯(lián)的服務(wù)器來存儲數(shù)據(jù)的客戶端。
貫穿說明書和權(quán)利要求書,下列術(shù)語采用此處顯式相關(guān)聯(lián)的含義,除非該 上下文在其他地方另有清楚指示。
在某些方面,"設(shè)備虛擬化服務(wù)"即"(DVS)"指的是用于從穿過DVS 服務(wù)器的通用數(shù)據(jù)中生成移動設(shè)備上的用戶界面的網(wǎng)絡(luò)配置的任何部分,無論 指通信中的服務(wù)器側(cè)還是客戶機側(cè)。
在某些方面,"DVS服務(wù)器"指的是一種服務(wù)器,該服務(wù)器被配置成從 服務(wù)獲得通用數(shù)據(jù)、幫助將該通用數(shù)據(jù)轉(zhuǎn)換為優(yōu)化的格式并將其打包、幫助將 該優(yōu)化的數(shù)據(jù)轉(zhuǎn)發(fā)至移動設(shè)備、幫助事件處理以便在移動設(shè)備與服務(wù)之間進行 通信、以及執(zhí)行其他附加任務(wù)。
在某些方面,"事件"指的是觸發(fā)回到與用戶界面相關(guān)聯(lián)的服務(wù)以及來自 該服務(wù)的通信的、與呈現(xiàn)在移動設(shè)備上的用戶界面的交互。
在某些方面,"窗口小部件"指的是用于提供用戶體驗(UX)的用戶界 面元素。作為對于窗口小部件的一個示例性定義,窗口小部件可以是諸如顯示 框或文本框等界面組件。
設(shè)備虛擬化服務(wù)(DVS)幫助將用戶體驗(UX)投影到移動設(shè)備上。在 一個實施例中,DVS提供允許服務(wù)提供一組用戶界面(UI)頁面的接口 ( API), 該組UI頁面進而對這些頁面的窗口小部件進行布局。窗口小部件可包括數(shù)據(jù) 表以便高效地存儲頁面上所包括的數(shù)據(jù)。設(shè)備虛擬化服務(wù)(DVS)從想在設(shè)備 上展示最終用戶體驗的服務(wù)中抽象出設(shè)備特性。DVS提供將要由該服務(wù)描述的 且然后呈現(xiàn)在設(shè)備上的獨立于該設(shè)備的UX。 DVS還可使服務(wù)能夠獲得諸如屏 幕大小、所支持的音頻和視頻壓縮/解壓技術(shù)(CODEC)等設(shè)備性能以使得該 服務(wù)能夠?qū)⑦m當(dāng)?shù)拿襟w提供給該設(shè)備。
圖2示出了根據(jù)本發(fā)明的用于提供設(shè)備虛擬化服務(wù)的示例性系統(tǒng)。該系統(tǒng) 包括服務(wù)202、 DVS服務(wù)器204和移動設(shè)備(例如,206)。
服務(wù)202可對應(yīng)于用于提供媒體的服務(wù)或用于提供新聞或體育標題行的 另一服務(wù)。特定類型的服務(wù)可以變化而不影響本發(fā)明的范圍或適用性。服務(wù)202在物理上可由服務(wù)器或存儲并管理特定于該服務(wù)的數(shù)據(jù)并負責(zé)將該數(shù)據(jù)傳送 到其他設(shè)備的其他計算設(shè)備來表示。
DVS服務(wù)器204被配置成從服務(wù)202接收數(shù)據(jù)、將該數(shù)據(jù)打包以便于傳 諭、將該數(shù)據(jù)發(fā)送至移動設(shè)備(例如,206)以供呈現(xiàn)、處理發(fā)生在該移動設(shè) 備上的事件、以及傳送這些事件。DVS服務(wù)器204的操作的更詳細的討論在以 下圖3的討論中提供。
一旦在移動設(shè)備(例如,206)處接收到打包的數(shù)據(jù),該移動設(shè)備就使用 DVS通用胖客戶端來呈現(xiàn)該數(shù)據(jù)。該通用胖客戶端可呈現(xiàn)對應(yīng)于多個服務(wù)的用 戶界面而不必使對應(yīng)于每一個服務(wù)的定制編程駐留在該移動設(shè)備上。系統(tǒng)200 所涉及的各過程的更詳細的討論在以下圖4的討論中提供。
圖2并非描繪與DVS相關(guān)聯(lián)的元素的窮盡表示??梢园ǜ嗷蚋俚?元素而DVS仍然可用于其預(yù)期的目的。例如,在一替換實施例中,服務(wù)提供 用于存儲在DVS服務(wù)器上的程序以使得直接DVS服務(wù)器與訂閱該服務(wù)的移動 設(shè)備之間提供通信。在這一替換實施例中,DVS服務(wù)器無需將數(shù)據(jù)轉(zhuǎn)發(fā)至服務(wù) 提供者。
應(yīng)用程序編程接口 (API)允許服務(wù)獲得一組設(shè)備特性以便定制其提供給 特定移動設(shè)備的數(shù)據(jù)。例如,服務(wù)可確定設(shè)備的像素分辨率、該設(shè)備所支持的 媒體格式、哪些媒體設(shè)置提供最優(yōu)設(shè)備回放等。
諸如音樂服務(wù)等典型服務(wù)經(jīng)常為其服務(wù)體驗的各不同部分提供一系列頁 面布局。例如,音樂服務(wù)可包括按作者頁面瀏覽、按流派頁面瀏覽等。該音樂 服務(wù)還可提供媒體預(yù)覽頁面和購買確認頁面。頁面之間的導(dǎo)航由附加到頁面上 的一個或多個窗口小部件的行為來定義。以此方式,該服務(wù)基本上控制了 UI 的流程。
圖3示出了用于供應(yīng)移動設(shè)備以便使用設(shè)備虛擬化服務(wù)(DVS)來接受服 務(wù)數(shù)據(jù)的操作流程圖。過程300在移動設(shè)備用戶選擇訂閱一特定服務(wù)(例如, 音樂服務(wù))時開始。處理在操作302處繼續(xù)。
在操作302處,將具有移動設(shè)備可定位并下載通用胖客戶端的網(wǎng)絡(luò)地址的 消息發(fā)送至該移動設(shè)備。在一個實施例中,DVS服務(wù)器將包括指示用于下載該 通用胖客戶端的位置的統(tǒng)一資源定位符(URL)的短消息通信服務(wù)(SMS)消息發(fā)送至移動設(shè)備。處理在操作304處繼續(xù)。
在操作304處,用戶選擇或點擊在該SMS消息中發(fā)送的URL以開始將通 用胖客戶端下載到移動設(shè)備的下載過程。處理在操作306處繼續(xù)。
在操作306處,因特網(wǎng)服務(wù)服務(wù)器或HTTPS服務(wù)器認證在發(fā)送至該用戶 的移動設(shè)備的URL中編碼的用戶ID。該認證確保向其發(fā)送該SMS消息的移 動設(shè)備是接收所下載的客戶端應(yīng)用程序的設(shè)備。將包括加密用戶ID和散列的 cookie發(fā)送至移動設(shè)備以使得該移動設(shè)備被標識為認證的移動設(shè)備以便于將來 通信。將通用胖客戶端連同該cookie—起下載到該移動設(shè)備。處理在框308處 繼續(xù)。
在框308處,將通用胖客戶端安裝在該移動設(shè)備上??梢允褂靡粋€或多個 安裝向?qū)戆惭b,或者可以使用其他安裝方法。 一旦安裝了通用胖客戶端,處 理就繼續(xù)至操作310。
在操作310處,用戶激活該胖客戶端以便接收與該服務(wù)相關(guān)的數(shù)據(jù)。 一旦 激活了該胖客戶端,處理就繼續(xù)至操作312。
在操作312處,請求設(shè)備密鑰以認證該移動設(shè)備的用戶和該移動設(shè)備被授 權(quán)訪問該服務(wù)數(shù)據(jù)。處理在操作314處繼續(xù)。
在操作314處,確認該cookie以確保該移動設(shè)備是被授權(quán)査看該服務(wù)數(shù) 據(jù)的移動設(shè)備。在另一實施例中,可以使用用戶名/口令來將該移動設(shè)備的用戶 確認為能夠查看該服務(wù)數(shù)據(jù)。如果認證失敗,則可質(zhì)詢該用戶的憑證或該移動 設(shè)備的憑證。如果質(zhì)詢了,則處理移至操作316。
在操作316處,作為該憑證質(zhì)詢的結(jié)果,生成該服務(wù)數(shù)據(jù)的呈現(xiàn)版本的用 戶界面可轉(zhuǎn)換為請求該用戶的憑證。用戶界面屏幕可被呈現(xiàn)為用于輸入用戶ID 和口令以供認證。 一旦提供了憑證,處理就返回到其中可再次向服務(wù)服務(wù)器認 證該移動設(shè)備的操作312。 一旦通過認證,處理就在操作318處繼續(xù)。
在操作318處,生成設(shè)備密鑰對以保護到該移動設(shè)備的服務(wù)的通信。生成 指示該設(shè)備此時正在訪問該服務(wù)數(shù)據(jù)的設(shè)備記錄。處理在操作320處繼續(xù)。
在操作320處,將設(shè)備私鑰、設(shè)備ID和下一個序列號返回到該移動設(shè)備。 設(shè)備私鑰用于在該數(shù)據(jù)由該移動設(shè)備接收時認證該數(shù)據(jù)源。設(shè)備ID為該服務(wù) 提供該設(shè)備的唯一標識符,并且可用于將來的通信以便加速服務(wù)數(shù)據(jù)供應(yīng)。下一個序列號指示當(dāng)前對于接收服務(wù)數(shù)據(jù)該設(shè)備在哪里。例如,服務(wù)可以是將新 聞項發(fā)送至移動設(shè)備的新聞服務(wù)。如果用戶在一段時間內(nèi)未接收到新聞服務(wù) 項,則這在序列號中反映。自從由該序列號所指示的時間起的每個新聞項然后 可被轉(zhuǎn)發(fā)至該移動設(shè)備。處理在操作322處繼續(xù)。
在操作322處,將設(shè)備私鑰、設(shè)備ID和序列號保存到該移動設(shè)備。處理 然后在操作324處繼續(xù)。
在操作324處,向該DVS服務(wù)器請求對于該服務(wù)的實際數(shù)據(jù)。將該設(shè)備 私鑰、設(shè)備ID、序列號和散列連同該移動設(shè)備正在運行的通用胖客戶端的版 本號的加密版本一起發(fā)送至DVS服務(wù)器。 一旦向DVS服務(wù)器提供了該請求, 處理就以操作326繼續(xù)。
在操作326處,DVS服務(wù)器使用私鑰/公鑰對中的公鑰來解密設(shè)備ID、序 列號、散列和版本號并且對其進行確認。處理然后繼續(xù)至操作328。
在操作328處,DVS服務(wù)器將使用公鑰加密的下一個序列號、實際服務(wù) 數(shù)據(jù)、以及任何特殊動作(例如,啟用調(diào)試模式)返回至該移動設(shè)備。處理繼 續(xù)至操作330。
在操作330處,通用胖客戶端解釋服務(wù)數(shù)據(jù)并顯示該服務(wù)的頂層頁面。一 旦完成,用戶然后就可與該數(shù)據(jù)交互,并且處理移至其他任務(wù)。
過程300是用于供應(yīng)移動設(shè)備以便接收服務(wù)數(shù)據(jù)以供呈現(xiàn)在移動設(shè)備上 的一個方面??梢允褂闷渌椒?。此外,對DVS服務(wù)器和移動設(shè)備之間的交 互的更高層次的描述在以下圖4的討論中提供。然而,可以理解,過程300中 所描繪的認證過程可同樣適用于此處所描述的其他過程。
圖4示出了根據(jù)本發(fā)明的用于DVS服務(wù)器的操作的示例性過程的操作流 程圖。過程400在用戶體驗(UX)定義由服務(wù)生成并且已開始該UX定義向 DVS服務(wù)器的傳輸時開始。處理以操作402繼續(xù)。
在操作402處,由DVS服務(wù)器接收UX定義。在一個實施例中,UX定 義作為可擴展標記語言(XML)文件來提供。其他實施例可接收根據(jù)其他格式 的UX定義。處理在操作404處繼續(xù)。
在操作404處,將從該服務(wù)接收到的UX定義文件編譯成二進制代碼。二 進制代碼是可在節(jié)省有限的通信帶寬的同時被發(fā)送至移動設(shè)備的數(shù)據(jù)的壓縮形式。
一旦生成了該二進制代碼,處理就繼續(xù)至操作406。
在操作406處,將該二進制代碼轉(zhuǎn)發(fā)至移動設(shè)備以便呈現(xiàn)對應(yīng)于該服務(wù)的 用戶界面。在一個實施例中,二進制代碼根據(jù)以上參考圖3描述的認證過程來 轉(zhuǎn)發(fā)。處理以判定操作408繼續(xù)。
在判定操作408處,確定是否發(fā)生了與用該服務(wù)數(shù)據(jù)來呈現(xiàn)的用戶界面相 關(guān)的事件。指示這一事件(例如,鼠標點擊)的事件通知可由DVS服務(wù)器接 收。如果發(fā)生了一事件,在處理以操作410繼續(xù)。
在操作410處,將該事件路由至服務(wù)服務(wù)器以供處理。 一旦將該事件路由 到該服務(wù)服務(wù)器,過程400就結(jié)束并移至其他任務(wù),諸如將響應(yīng)路由回到該移 動設(shè)備、接收其他事件或?qū)⒃撘苿釉O(shè)備從服務(wù)會話中注銷等。
圖5示出了本發(fā)明所描述的由通用胖客戶端呈現(xiàn)的服務(wù)用戶界面屏幕的 屏幕截圖。所呈現(xiàn)的屏幕對應(yīng)于該服務(wù)的頁面。每一個特定頁面都由描述窗口 小部件的特性的一系列窗口小部件定義來定義,窗口小部件的特性包括其在頁 面上的位置、用于窗口小部件的各部分的位圖、所使用的字體以及影響其行為 和外觀的其他特性。零個或多個行為被附加到每一個窗口小部件以處理諸如點 擊識別事件或其他值改變等該窗口小部件可生成的事件。這些行為對應(yīng)于諸如 焦點移動到另一窗口小部件、移動到另一頁面、將目錄或媒體請求發(fā)送至服務(wù) 等動作。窗口小部件的布局可以用絕對像素坐標或通過使用基于約束的布局來
指定。約束可用于指定相對于另一窗口小部件的位置或尺寸、屏幕/頁面尺寸或 文本字體尺寸。這允許測量設(shè)備抽象以使得服務(wù)不必為每一種不同的設(shè)備屏幕
分辨率提供頁面布局。
許多窗口小部件可通過綁定到提供服務(wù)的數(shù)據(jù)表來獲得其值。表格式和數(shù) 據(jù)由該服務(wù)指定。上述音樂服務(wù)示例可包括對應(yīng)于藝術(shù)家、專輯、流派和音軌 的表。表可包含其值鏈接到其他表中的行的一個或多個字段。例如,藝術(shù)家和 專輯表可能鏈接到流派表以指示特定藝術(shù)家或?qū)]嫷牧髋?。類似地,專輯表?鏈接到藝術(shù)家表以指示特定專輯的藝術(shù)家。
綁定可以在頁面定義中關(guān)聯(lián)。為窗口小部件提供數(shù)據(jù)綁定以便鏈接到特定 數(shù)據(jù)表。表還可被過濾到具有該表中的一字段的特定值的條目。例如,為了顯 示特定藝術(shù)家的專輯,可以將專輯表過濾到其中藝術(shù)家ID字段包含所選藝術(shù)家ID值的行。可能存在提供以將存儲在表中的值轉(zhuǎn)換成可向用戶顯示的文本 的可任選格式規(guī)范。例如,時間戳值(以數(shù)字存儲的)可以按若干不同方式
(h:mm、 hh:mm、 hh:mm:ss等)來顯示。
當(dāng)服務(wù)已將該DVS數(shù)據(jù)提供給DVS服務(wù)器時,如上所述,該數(shù)據(jù)被"編 譯"成適于用戶的移動設(shè)備的二進制格式。這允許使用DVS的服務(wù)與設(shè)備客 戶端之間的抽象層。因此,DVS可隱藏各特定移動設(shè)備客戶端實現(xiàn)之間的差別。 例如,某些設(shè)備可具有通過由通用胖客戶端提供的用戶界面窗口小部件來展示 本機媒體播放器的能力。其他設(shè)備可能只提供通過與提供服務(wù)的用戶界面分開 的本機回放用戶界面來播放音頻的能力??沙橄筮@些差別以使得服務(wù)不需要 "了解"設(shè)備特性。
設(shè)備虛擬化服務(wù)可支持移動電話、移動PDA、膝上型和臺式計算機、電 視機頂盒以及任何其他具有用戶界面的連接網(wǎng)絡(luò)的設(shè)備。用戶界面的生成由于 在將數(shù)據(jù)傳輸?shù)揭苿釉O(shè)備之前對其二進制打包而具有更佳的帶寬利用,并且通 過保留數(shù)據(jù)存儲以產(chǎn)生在移動設(shè)備外部的服務(wù)內(nèi)容而具有更佳的存儲器利用。 此外,服務(wù)提供者能夠在不具有對于當(dāng)前可用的各種移動設(shè)備類型的定制代碼 的情況下提供定制的用戶界面。
以上說明、示例和數(shù)據(jù)提供了對本發(fā)明的組成部分的制造和使用的全面描 述。因為可以在不背離本發(fā)明的精神和范圍的情況下做出本發(fā)明的許多實施 例,所以本發(fā)明落在所附權(quán)利要求的范圍內(nèi)。
權(quán)利要求
1. 一種用于在移動設(shè)備上提供對應(yīng)于聯(lián)網(wǎng)服務(wù)的用戶界面的計算機實現(xiàn)的方法,包括向移動設(shè)備提供通用胖客戶端(308),其中所述通用胖客戶端被配置成在所述移動設(shè)備上提供對應(yīng)于聯(lián)網(wǎng)服務(wù)的用戶界面;從所述移動設(shè)備接收對數(shù)據(jù)的請求(324、326);向服務(wù)提供者請求所述數(shù)據(jù)(328、330),其中從所述服務(wù)提供者接收到的數(shù)據(jù)是獨立于設(shè)備的;將來自所述服務(wù)提供者的數(shù)據(jù)編譯成優(yōu)化的格式(404);以及用所述優(yōu)化格式的數(shù)據(jù)來響應(yīng)所述設(shè)備(406)。
2. 如權(quán)利要求1所述的計算機實現(xiàn)的方法,其特征在于,向移動設(shè)備提供 通用胖客戶端(308)包括在SMS消息中發(fā)送指示用于下載所述通用胖客戶端 的位置的URL。
3. 如權(quán)利要求2所述的計算機實現(xiàn)的方法,其特征在于,下載所述通用胖 客戶端(308)包括認證移動設(shè)備并發(fā)送包括加密用戶ID和散列的cookie。
4. 如權(quán)利要求3所述的計算機實現(xiàn)的方法,其特征在于,還包括在所述移 動設(shè)備請求所述數(shù)據(jù)時確認所述cookie (314)以確定所述移動設(shè)備是否被授 權(quán)査看服務(wù)數(shù)據(jù)。
5. 如權(quán)利要求1所述的計算機實現(xiàn)的方法,其特征在于,所述通用胖客戶 端(308)包括包含與提供服務(wù)的數(shù)據(jù)表相關(guān)聯(lián)的值的窗口小部件。
6. 如權(quán)利要求1所述的計算機實現(xiàn)的方法,其特征在于,所述優(yōu)化的格式 (406)包括與所述移動設(shè)備的特性相關(guān)聯(lián)的格式。
7. 如權(quán)利要求7所述的計算機實現(xiàn)的方法,其特征在于,所述移動設(shè)備(206)的特性包括屏幕大小、音頻CODEC、視頻CODEC、像素分辨率、以 及所支持的媒體格式中的至少一個。
8. —種具有用于從服務(wù)中抽象出移動設(shè)備特性以提供獨立于設(shè)備的用戶 體驗以便在移動設(shè)備上呈現(xiàn)UI的計算機可執(zhí)行指令的計算機可讀介質(zhì),所述 指令包括獲得所述移動設(shè)備特性(206); 從所述移動設(shè)備接收對數(shù)據(jù)的請求(324、 326);向服務(wù)提供者請求所述數(shù)據(jù)(328、 330),其中從所述服務(wù)提供者接收到 的數(shù)據(jù)是獨立于設(shè)備的;將來自所述服務(wù)提供者的數(shù)據(jù)(404)編譯成最優(yōu)格式,其中所述最優(yōu)格 式包括與所述移動設(shè)備特性相關(guān)聯(lián)的格式;以及用所述優(yōu)化格式的數(shù)據(jù)來響應(yīng)所接收到的對數(shù)據(jù)的請求(406),其中所 述優(yōu)化格式的數(shù)據(jù)被配置成與所述移動設(shè)備的通用胖客戶端相關(guān)聯(lián)。
9. 如權(quán)利要求8所述的計算機可讀方法,其特征在于,所述移動設(shè)備特性 (206)包括屏幕大小、音頻CODEC、視頻CODEC、像素分辨率、以及所支持的媒體格式中的至少一個。
10. 如權(quán)利要求8所述的計算機可讀方法,其特征在于,從移動設(shè)備接 收對數(shù)據(jù)的請求包括通過確認與所述請求相關(guān)聯(lián)的cookie (314)來認證所述 請求。
11. 如權(quán)利要求8所述的計算機可讀方法,其特征在于,獨立于設(shè)備的 數(shù)據(jù)(402)包括并非對于一種類型的移動設(shè)備最優(yōu)地格式化的數(shù)據(jù)。
12. 如權(quán)利要求8所述的計算機可讀方法,其特征在于,還包括向所述 移動設(shè)備提供數(shù)據(jù)表并將所述數(shù)據(jù)表綁定到與所述通用胖客戶端相關(guān)聯(lián)的至 少一個窗口小部件(308)。
13. 如權(quán)利要求8所述的計算機可讀方法,其特征在于,將來自所述服務(wù)提供者的數(shù)據(jù)編譯成最優(yōu)格式(404)提供所述服務(wù)提供者與所述移動設(shè)備 之間的抽象層。
14. 一種用于在移動設(shè)備上提供對應(yīng)于聯(lián)網(wǎng)服務(wù)的用戶界面的計算機實現(xiàn)的方法,所述方法包括向移動設(shè)備提供通用胖客戶端(308),其中所述胖客戶端被配置成執(zhí)行 所述移動設(shè)備上的數(shù)據(jù)處理裝置并維護在所述移動設(shè)備外部的存儲; 獲得移動設(shè)備特性(206); 從所述移動設(shè)備接收對數(shù)據(jù)的請求(324、 326);向服務(wù)提供者請求所述數(shù)據(jù)(328、 330),其中從所述服務(wù)提供者提供獨 立于設(shè)備的格式的數(shù)據(jù);將來自所述服務(wù)提供者的數(shù)據(jù)編譯成最優(yōu)格式(404),其中所述最優(yōu)格 式包括與所述移動設(shè)備特性相關(guān)聯(lián)的格式;以及通過將優(yōu)化格式的數(shù)據(jù)發(fā)送至所述通用胖客戶端來響應(yīng)所接收到的對數(shù) 據(jù)的請求(406)。
15. 如權(quán)利要求14所述的計算機實現(xiàn)的方法,其特征在于,向移動設(shè)備 提供通用胖客戶端(308)包括在SMS消息中發(fā)送指示用于下載所述通用胖客 戶端的位置的URL。
16. 如權(quán)利要求15所述的計算機實現(xiàn)的方法,其特征在于,下載所述通 用胖客戶端(308)包括認證移動設(shè)備并發(fā)送包括加密的用戶ID和散列的 cookie o
17. 如權(quán)利要求14所述的計算機實現(xiàn)的方法,其特征在于,所述通用胖 客戶端(308)包括包含與提供服務(wù)的數(shù)據(jù)表相關(guān)聯(lián)的值的窗口小部件。
18. 如權(quán)利要求14所述的計算機實現(xiàn)的方法,其特征在于,還包括向所 述移動設(shè)備提供數(shù)據(jù)表并將所述數(shù)據(jù)表綁定到與所述通用胖客戶端(308)相 關(guān)聯(lián)的至少一個窗口小部件。
19. 如權(quán)利要求14所述的計算機實現(xiàn)的方法,其特征在于,將來自所述 服務(wù)提供者的數(shù)據(jù)編譯成最優(yōu)格式(404)提供所述服務(wù)提供者與所述移動設(shè) 備之間的抽象層。
20. 如權(quán)利要求14所述的計算機實現(xiàn)的方法,其特征在于,所述移動設(shè) 備(206)的特性包括屏幕大小、音頻CODEC、視頻CODEC、像素分辨率、 以及所支持的媒體格式中的至少一個。
全文摘要
提供了一種使用駐留在移動設(shè)備上的通用胖客戶端來向提供移動設(shè)備內(nèi)容的多個服務(wù)提供用戶界面生成支持的設(shè)備虛擬化服務(wù)(DVS)。DVS從各服務(wù)中抽象出設(shè)備特性以提供將要由該服務(wù)描述的且然后呈現(xiàn)在設(shè)備上的獨立于該設(shè)備的用戶體驗。
文檔編號H04W88/02GK101473675SQ200780023313
公開日2009年7月1日 申請日期2007年5月16日 優(yōu)先權(quán)日2006年6月23日
發(fā)明者A·W·費爾南多, W·D·斯普勞勒 申請人:微軟公司