遠(yuǎn)程仿真計(jì)算設(shè)備的制作方法
【專利摘要】公開了有助于遠(yuǎn)程仿真計(jì)算設(shè)備的各種實(shí)施方案。計(jì)算設(shè)備的型號(hào)和可在所述計(jì)算設(shè)備內(nèi)執(zhí)行的應(yīng)用程序被識(shí)別。所述應(yīng)用程序在托管環(huán)境內(nèi)執(zhí)行。所述應(yīng)用程序的圖象信號(hào)被編碼成媒體流。所述用戶界面被編碼以在客戶端內(nèi)呈現(xiàn)。所述用戶界面包括所述計(jì)算設(shè)備的型號(hào)的圖形表示。所述計(jì)算設(shè)備的型號(hào)的圖形表示的屏幕被配置為呈現(xiàn)來自所述媒體流的圖象信號(hào)的至少一部分。
【專利說明】遠(yuǎn)程仿真計(jì)算設(shè)備
[0001]相關(guān)申請案的交叉引用
[0002]本申請要求于2011年3月21日提交的名稱為〃REMOTELYEMULATINGCOMPUTINGDEVICES"的美國臨時(shí)專利申請?zhí)?1/454,986,和于2011年5月24日提交的名稱為"REM0TELYEMULATINGCOMPUTINGDEVICES"的美國專利申請?zhí)?3/114,534的優(yōu)先權(quán)和權(quán)益,其內(nèi)容以全文引用的方式并入本文。
[0003]發(fā)明背景
[0004]存在許多特殊形式的計(jì)算設(shè)備,比如智能手機(jī)、電子書閱讀器、平板電腦、視頻游戲控制臺(tái)等。由于這種設(shè)備之間的物理差異,不同設(shè)備的應(yīng)用可不同。即便是同一設(shè)備類別(比如,智能手機(jī)),不同型號(hào)的智能手機(jī)可具有不同的顯示和輸入特征。
[0005]附圖簡述
[0006]參考以下附圖可更好地理解本公開的許多方面。圖中的部件不需要按比例繪制,重點(diǎn)在于清楚地說明本公開的原理。此外,在附圖中,所有附圖中相同附圖標(biāo)記表示相應(yīng)的部分。
[0007]圖1是根據(jù)本公開的各種實(shí)施方案的網(wǎng)絡(luò)化環(huán)境的圖。
[0008]圖2A和2B是呈現(xiàn)在圖1中根據(jù)本公開的各種實(shí)施方案的網(wǎng)絡(luò)化環(huán)境中的客戶端內(nèi)的用戶界面的實(shí)例。
[0009]圖3是圖示作為在圖1中的根據(jù)本公開的各種實(shí)施方案的網(wǎng)絡(luò)化環(huán)境中的計(jì)算設(shè)備內(nèi)執(zhí)行的仿真服務(wù)器應(yīng)用程序的部分實(shí)現(xiàn)的功能性的一個(gè)實(shí)例的流程圖。
[0010]圖4是圖示作為在圖1中的根據(jù)本公開的各種實(shí)施方案的網(wǎng)絡(luò)化環(huán)境中的計(jì)算設(shè)備內(nèi)執(zhí)行的電子商務(wù)應(yīng)用程序的部分實(shí)現(xiàn)的功能性的一個(gè)實(shí)例的流程圖。
[0011]圖5是提供對在圖1中的根據(jù)本公開的各種實(shí)施方案的網(wǎng)絡(luò)化環(huán)境中使用的計(jì)算設(shè)備的一個(gè)實(shí)例說明的示意框圖。
【具體實(shí)施方式】
[0012]本公開涉及通過網(wǎng)絡(luò)仿真計(jì)算設(shè)備。用戶可能希望通過網(wǎng)絡(luò)購買用于各種計(jì)算設(shè)備的應(yīng)用程序。為了做出知情的購買決策,用戶可能希望在購買之前嘗試應(yīng)用程序。然而,用戶可能正使用來自計(jì)算設(shè)備的要運(yùn)行該應(yīng)用程序的不同客戶端設(shè)備。例如,用戶可能正在使用臺(tái)式計(jì)算機(jī)搜索用于移動(dòng)設(shè)備(比如,智能手機(jī))的應(yīng)用程序。本公開的各種實(shí)施方案使用戶能夠使用在仿真的計(jì)算設(shè)備上遠(yuǎn)程運(yùn)行的應(yīng)用程序。此外,在一些實(shí)施方案中,用戶或許能夠通過關(guān)聯(lián)的用戶界面購買應(yīng)用程序。在以下的討論中,提供了對系統(tǒng)及其組件的總體描述,接著討論了系統(tǒng)及其組件的操作。
[0013]在于2010 年 11 月 5 日提交的名稱為〃ProvidingRemoteAccessto GamesDesignedforaSingle_MachineExperience〃的美國專利申請和轉(zhuǎn)讓的申請?zhí)?2/940,132、于2010年12 月 9 日提交的名稱為 〃EnhancingUserExperiencebyPresentingPastApplicationUsage〃的美國專利申請和轉(zhuǎn)讓的申請?zhí)?2/964,225、于2010年12月15日提交的名稱為"SendingApplicationInputCommandsoveraNetwork〃 的美國專利申請和轉(zhuǎn)讓的申請?zhí)?12/968,845、于 2010 年 12 月 14 日提交的名稱為 〃LoadBalancingBetweenGeneral_PurposeProcessorsand GraphicsProcessor的美國專利申請和轉(zhuǎn)讓的申請?zhí)?2/967, 171、于2010年12月I 日提交的名稱為"AlteringStreamingVideoEncoding BasedonUserAttention"的美國專利申請和轉(zhuǎn)讓的申請?zhí)?2/957,450,和于2010年11月30日提交的名稱為"AttentionMisdirection for Streaming Video〃的美國專利申請和轉(zhuǎn)讓的申請?zhí)?2/956,693中描述了與遠(yuǎn)程執(zhí)行應(yīng)用程序有關(guān)的各種技術(shù),其內(nèi)容以全文引用的方式并入本文。
[0014]參考圖1,示出了根據(jù)各種實(shí)施方案的網(wǎng)絡(luò)化環(huán)境100。網(wǎng)絡(luò)化環(huán)境100包括通過網(wǎng)絡(luò)109與一個(gè)或多個(gè)客戶端106數(shù)據(jù)通信的一個(gè)或多個(gè)計(jì)算設(shè)備103。網(wǎng)絡(luò)109包括,例如因特網(wǎng)、內(nèi)聯(lián)網(wǎng)、外聯(lián)網(wǎng)、廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、有線網(wǎng)絡(luò)、無線網(wǎng)絡(luò)或其它合適的網(wǎng)絡(luò)等,或兩個(gè)或更多這種網(wǎng)絡(luò)的任意組合。
[0015]計(jì)算設(shè)備103可包括,例如服務(wù)器計(jì)算機(jī)或任何其它提供計(jì)算能力的系統(tǒng)??蛇x地,可使用多個(gè)設(shè)置在,例如一個(gè)或多個(gè)服務(wù)器庫或計(jì)算機(jī)庫或其它布置中的計(jì)算設(shè)備
103。例如,多個(gè)計(jì)算設(shè)備103 —起可包括云計(jì)算資源、網(wǎng)格計(jì)算資源和/或任何其它分布式計(jì)算布置。這種計(jì)算設(shè)備103可被一次安裝定位或分布于許多不同的地理位置。為了方便起見,計(jì)算設(shè)備103在文中被表示為單數(shù)。雖然計(jì)算設(shè)備103被表示為單數(shù),但應(yīng)理解,以上描述的各種布置中可使用多個(gè)計(jì)算設(shè)備103。
[0016]根據(jù)各種實(shí)施方案,各種應(yīng)用程序和/或其它功能性可在計(jì)算設(shè)備103內(nèi)執(zhí)行。此外,各種數(shù)據(jù)儲(chǔ)存于計(jì)算設(shè)備103可訪問的數(shù)據(jù)存儲(chǔ)器112。可以理解的是,數(shù)據(jù)存儲(chǔ)器112可代表多個(gè)數(shù)據(jù)存儲(chǔ)器112。例如,儲(chǔ)存于數(shù)據(jù)存儲(chǔ)器112的數(shù)據(jù)與以下描述的各種應(yīng)用程序和/或功能實(shí)體的操作相關(guān)聯(lián)。
[0017]例如,在計(jì)算設(shè)備103上執(zhí)行的組件包括仿真服務(wù)器應(yīng)用程序115、電子商務(wù)應(yīng)用程序117、多個(gè)包裝器118a...118N、多個(gè)應(yīng)用程序119a...119N、多個(gè)媒體編碼器120a...120N以及文中未詳細(xì)討論的其它應(yīng)用程序、服務(wù)、進(jìn)程、系統(tǒng)、引擎或功能。仿真服務(wù)器應(yīng)用程序115可與一種應(yīng)用程序會(huì)話服務(wù)器類型對應(yīng)。執(zhí)行仿真服務(wù)器應(yīng)用程序115以啟動(dòng)應(yīng)用程序119,其內(nèi)包裝器118內(nèi)執(zhí)行。還執(zhí)行仿真服務(wù)器應(yīng)用程序115以從客戶端106獲得應(yīng)用程序輸入數(shù)據(jù)122,并將應(yīng)用程序輸入數(shù)據(jù)122提供給各個(gè)包裝器118。
[0018]還執(zhí)行仿真服務(wù)器應(yīng)用程序115以將從應(yīng)用程序119捕獲的應(yīng)用程序輸出數(shù)據(jù)123發(fā)送至客戶端106。仿真服務(wù)器應(yīng)用程序115可通過各種協(xié)議(比如,超文本傳輸協(xié)議(HTTP)、簡單對象訪問協(xié)議(SOAP)、表述性狀態(tài)轉(zhuǎn)移(REST)、實(shí)時(shí)傳輸協(xié)議(RTP)、實(shí)時(shí)流協(xié)議(RTSP)、實(shí)時(shí)消息傳送協(xié)議(RTMP)、用戶數(shù)據(jù)報(bào)協(xié)議(UDP)、傳輸控制協(xié)議(TCP)JP/或其它通過網(wǎng)絡(luò)109用于通信的協(xié)議)與客戶端106通信。仿真服務(wù)器應(yīng)用程序115被配置為保持與執(zhí)行應(yīng)用程序119關(guān)聯(lián)的狀態(tài)信息124和輸入隊(duì)列125。
[0019]在各種實(shí)施方案中,仿真服務(wù)器應(yīng)用程序115可被配置為使用一個(gè)或多個(gè)網(wǎng)頁生成用戶界面。網(wǎng)頁可包括由仿真的應(yīng)用程序119生成的流視頻和/或音頻。在各種實(shí)施方案中,虛擬輸入設(shè)備的圖像可與流視頻和/或音頻一起顯示。例如,仿真的計(jì)算設(shè)備的虛擬鍵盤可包括在網(wǎng)頁內(nèi)。在仿真的計(jì)算設(shè)備為移動(dòng)計(jì)算設(shè)備的情況下,該移動(dòng)計(jì)算設(shè)備的圖像可包括在網(wǎng)頁內(nèi)。仿真服務(wù)器應(yīng)用程序115可與應(yīng)用程序119 一起促進(jìn)與移動(dòng)計(jì)算設(shè)備的圖像的相互作用。在仿真的計(jì)算設(shè)備與具有屏幕的移動(dòng)計(jì)算設(shè)備相對應(yīng)的情況下,從應(yīng)用程序119捕獲的視頻可被移動(dòng)計(jì)算設(shè)備的圖像圍繞,就好像視頻顯示在移動(dòng)計(jì)算設(shè)備的屏幕上一樣。
[0020]執(zhí)行電子商務(wù)應(yīng)用程序117是為了幫助通過網(wǎng)絡(luò)109在線從商家購買物品,比如下載的應(yīng)用程序。電子商務(wù)應(yīng)用程序117還執(zhí)行與商家在線出現(xiàn)關(guān)聯(lián)的各種后端功能以幫助在線購買物品。例如,為了選擇用于購買、租借、下載、租用或其它消費(fèi)形式的物品,電子商務(wù)應(yīng)用程序117可生成提供給客戶端106的網(wǎng)頁或部分網(wǎng)頁。在一些實(shí)施方案中,電子商務(wù)應(yīng)用程序117與包括多個(gè)商家參與的電子市場的網(wǎng)站關(guān)聯(lián)。
[0021]應(yīng)用程序119可與例如,游戲或其它類型的應(yīng)用程序?qū)?yīng)。作為非限制性實(shí)例,應(yīng)用程序119可與第一人稱射擊游戲、動(dòng)作游戲、冒險(xiǎn)游戲、玩家游戲、角色扮演游戲、模擬游戲、戰(zhàn)略游戲、車輛模擬游戲和/或其它類型的游戲?qū)?yīng)。最初設(shè)計(jì)應(yīng)用程序119可能是為了在通用計(jì)算設(shè)備或?qū)S迷O(shè)備(比如,智能手機(jī)、視頻游戲控制臺(tái)、掌上游戲設(shè)備、街機(jī)游戲設(shè)備等)內(nèi)執(zhí)行。應(yīng)用程序119也可對應(yīng)于移動(dòng)電話應(yīng)用程序、計(jì)算機(jī)輔助設(shè)計(jì)(CAD)應(yīng)用程序、計(jì)算機(jī)輔助制造(CAM)應(yīng)用程序、照片處理應(yīng)用程序、視頻編輯應(yīng)用程序、辦公室生產(chǎn)率應(yīng)用程序、操作系統(tǒng)和關(guān)聯(lián)的應(yīng)用程序、操作系統(tǒng)仿真器、體系結(jié)構(gòu),和消費(fèi)者設(shè)備上不存在的性能,以及其它應(yīng)用程序和應(yīng)用程序的組合。
[0022]應(yīng)用程序119可期望訪問其上執(zhí)行應(yīng)用程序119的設(shè)備的一個(gè)或多個(gè)資源。這種資源可與顯示設(shè)備、輸入設(shè)備或其它設(shè)備對應(yīng)。在某些情況下,應(yīng)用程序119可請求對資源的一個(gè)或多個(gè)的獨(dú)占訪問,由此其它應(yīng)用程序均不可訪問該特定資源。
[0023]包裝器118與為執(zhí)行應(yīng)用程序119提供托管環(huán)境的應(yīng)用程序?qū)?yīng)。在各種實(shí)施方案中,包裝器118可被配置為通過將應(yīng)用程序119期望訪問的資源的一個(gè)或多個(gè)虛擬化為應(yīng)用程序119提供虛擬化環(huán)境。這種資源可包括鍵盤、鼠標(biāo)、操縱桿、視頻設(shè)備、聲音設(shè)備、全球定位系統(tǒng)(GPS)設(shè)備、加速計(jì)、觸摸屏、內(nèi)置按鈕、文件系統(tǒng)、內(nèi)置電池等。這樣,包裝器118便能夠?qū)⑤斎朊詈推渌鼣?shù)據(jù)提供至應(yīng)用程序119,就像包裝器118仿真鍵盤、鼠標(biāo)或另一種類型的硬件設(shè)備一樣。
[0024]進(jìn)一步地,包裝器118能夠獲得由應(yīng)用程序119生成的圖象信號(hào)和/或音頻信號(hào),就好像包裝器118仿真顯示設(shè)備、音頻設(shè)備或另一種類型的輸出設(shè)備那樣。盡管本文討論的許多實(shí)例涉及具有顯示器的仿真的計(jì)算設(shè)備,但是仿真的計(jì)算設(shè)備也可包括,例如機(jī)頂盒、音頻播放器、和/或不具有集成顯示屏的其它設(shè)備。包裝器118能夠通過一個(gè)或多個(gè)媒體編碼器120將圖象信號(hào)和/或音頻信號(hào)編碼成媒體流。為此,包裝器118可包括各種類型的媒體編碼器120,比如運(yùn)動(dòng)圖像專家組(MPEG)、編碼器、H.264編碼器、FlashNE頻編碼器等。這種媒體編碼器120可根據(jù)因素,比如數(shù)據(jù)簡化、編碼質(zhì)量、等待時(shí)間等選擇。在一些實(shí)施方案中,包裝器118可直接與客戶端106通信以獲得應(yīng)用程序輸入數(shù)據(jù)122并提供應(yīng)用程序輸出數(shù)據(jù)123。
[0025]可為不同的應(yīng)用程序119或不同類別的應(yīng)用程序119提供不同類型的包裝器118。作為非限制性實(shí)例,可為使用不同應(yīng)用程序編程接口(APIs),比如
OpenGL?, DirectXu、圖形設(shè)備接口(GDI)等的應(yīng)用程序119提供不同的包裝器118。在
應(yīng)用程序119被配置為在專用設(shè)備或另一種類型的計(jì)算設(shè)備中執(zhí)行的情況下,包裝器118可包括仿真該設(shè)備的仿真應(yīng)用程序。在一些實(shí)施方案中,應(yīng)用程序119的輸出可在設(shè)備級被包裝器118捕獲。例如,應(yīng)用程序119可在物理游戲控制臺(tái)內(nèi)執(zhí)行,視頻輸出可通過視頻圖形陣列(VGA)連接、高清晰度多媒體界面(HDMI)連接、分量視頻連接、國家電視系統(tǒng)委員會(huì)(NTSC)電視連接和/或其它連接捕獲。在其它實(shí)施方案中,應(yīng)用程序119的輸出可由包裝器118通過截取系統(tǒng)調(diào)用(比如,圖形API下的繪圖調(diào)用或其它系統(tǒng)調(diào)用)捕獲。
[0026]由仿真服務(wù)器應(yīng)用程序115保持的狀態(tài)信息124包括各種與當(dāng)前活動(dòng)的應(yīng)用程序會(huì)話有關(guān)的數(shù)據(jù)。例如,狀態(tài)信息124可追蹤當(dāng)前參與應(yīng)用程序會(huì)話的用戶、與用戶關(guān)聯(lián)的狀態(tài)信息、與應(yīng)用程序會(huì)話關(guān)聯(lián)的安全許可(例如,誰能夠或不能參加)等。在一些實(shí)施方案中,當(dāng)應(yīng)用程序會(huì)話結(jié)束時(shí),部分或所有狀態(tài)信息124可被丟棄。輸入隊(duì)列125從給定應(yīng)用程序119的應(yīng)用程序輸入數(shù)據(jù)122收集輸入命令??芍匦屡判蜉斎朊钜孕U蛄校铱稍诿钪g插入延遲以確保當(dāng)輸入命令被提供給相應(yīng)的應(yīng)用程序119時(shí),被正確地解釋。
[0027]儲(chǔ)存于數(shù)據(jù)存儲(chǔ)器112的數(shù)據(jù)包括,例如應(yīng)用程序127、媒體編碼器129、包裝器130、保存的狀態(tài)數(shù)據(jù)133、用戶數(shù)據(jù)136、設(shè)備界面137以及可能的其它數(shù)據(jù)。應(yīng)用程序127與不同的應(yīng)用程序(其可作為應(yīng)用程序119啟動(dòng))庫對應(yīng)。應(yīng)用程序127可與計(jì)算設(shè)備103內(nèi)的可執(zhí)行代碼對應(yīng)??蛇x地,應(yīng)用程序127可與可在另一種類型的設(shè)備內(nèi)執(zhí)行但是不可在計(jì)算設(shè)備103內(nèi)執(zhí)行的代碼對應(yīng)。這種應(yīng)用程序127可稱為“二進(jìn)制”、只讀存儲(chǔ)器(ROMs)圖像以及其它術(shù)語。特定應(yīng)用程序127可作為用于多個(gè)應(yīng)用程序會(huì)話的應(yīng)用程序119的多個(gè)實(shí)例執(zhí)行。
[0028]媒體編碼器129與可在計(jì)算設(shè)備103內(nèi)使用的各種類型的媒體編碼器120對應(yīng)。一些媒體編碼器129可與特定格式,比如H.264、MPEG-4、MPEG-2和/或其它格式對應(yīng)。包裝器130與實(shí)現(xiàn)各種類型的包裝器118的可執(zhí)行代碼對應(yīng)。包裝器130可在計(jì)算設(shè)備103內(nèi)執(zhí)行,且可作為用于多個(gè)應(yīng)用程序會(huì)話的包裝器118的多個(gè)實(shí)例執(zhí)行。
[0029]保存的狀態(tài)數(shù)據(jù)133與應(yīng)用程序119保存的游戲狀態(tài)對應(yīng)。由于應(yīng)用程序119可在虛擬化環(huán)境中執(zhí)行,因此應(yīng)用程序119可將狀態(tài)信息寫入虛擬位置,然后該狀態(tài)信息被映射以作為保存的狀態(tài)數(shù)據(jù)133存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器112中。保存的狀態(tài)數(shù)據(jù)133可與通常由應(yīng)用程序119保存的數(shù)據(jù)對應(yīng),或可與應(yīng)用程序119的可在任何時(shí)間重新開始的存儲(chǔ)器圖像對應(yīng)。用戶數(shù)據(jù)136包括各種與應(yīng)用程序119的用戶有關(guān)的數(shù)據(jù),比如與用戶關(guān)聯(lián)的計(jì)算設(shè)備的類型、安全證書、應(yīng)用程序偏好、計(jì)費(fèi)信息、被允許參與由用戶發(fā)起的應(yīng)用程序會(huì)話的其它用戶列表等。
[0030]設(shè)備界面137與圖像、動(dòng)畫、代碼、超文本標(biāo)記語言(HTML)、可擴(kuò)展標(biāo)記語言(XML)、層疊樣式表(CSS)、和/或其它可用于生成虛擬化計(jì)算設(shè)備的圖形表示的數(shù)據(jù)對應(yīng)。應(yīng)注意,可在特定計(jì)算設(shè)備平臺(tái)上執(zhí)行的應(yīng)用程序119可與多個(gè)設(shè)備界面137關(guān)聯(lián)。作為
非限制性實(shí)例,多種不同型號(hào)的智能手機(jī)可支持用于智能手機(jī)的AndroicT平臺(tái)。所述型
號(hào)的一些可具有帶有觸摸屏的微型鍵盤,而其它型號(hào)可能只具有不帶有物理微型鍵盤的觸
摸屏。所述型號(hào)可具有不同的控制器和外殼。因此,可為不同型號(hào)的Androidu智能手機(jī)提
供不同的設(shè)備界面137。
[0031]在一些實(shí)施方案中,多個(gè)不同的設(shè)備界面137可與一個(gè)包裝器130結(jié)合使用。在仿真的計(jì)算設(shè)備不包括集成顯示器的情況下,設(shè)備界面137可包括顯示由仿真的計(jì)算設(shè)備生成的視頻的外部顯示設(shè)備的表示。同樣地,其它可連接至仿真的計(jì)算設(shè)備的非集成外部設(shè)備(例如,鍵盤、鼠標(biāo)等)可由設(shè)備界面137表示。[0032]客戶端106代表多個(gè)可耦合至網(wǎng)絡(luò)109的客戶端設(shè)備??蛻舳?06在地理上可以是不同的??蛻舳?06可包括,例如基于處理器的系統(tǒng),比如計(jì)算機(jī)系統(tǒng)。這種計(jì)算機(jī)系統(tǒng)可以臺(tái)式電腦、手提電腦、個(gè)人數(shù)字助理、移動(dòng)電話、智能手機(jī)、機(jī)頂盒、執(zhí)行應(yīng)用程序并能夠訪問網(wǎng)絡(luò)109的電視、音樂播放器、網(wǎng)絡(luò)平板(web pads)、平板電腦系統(tǒng)、游戲控制臺(tái)、電子書閱讀器、或其它具有相似能力的設(shè)備的形式體現(xiàn)。
[0033]客戶端106可包括顯示器139。顯示器139可包括,例如一個(gè)或多個(gè)設(shè)備,比如,陰極射線管(CRT)、液晶體顯示(LCD)屏、基于氣體等離子的平板顯示器、LCD投影儀或其它類型的顯示設(shè)備等。客戶端106可包括一個(gè)或多個(gè)輸入設(shè)備142。輸入設(shè)備142可包括,例如設(shè)備,比如鍵盤、鼠標(biāo)、操縱桿、加速計(jì)、光筆、游戲控制器、觸摸板、觸摸桿、按鈕、光學(xué)傳感器、麥克風(fēng)、網(wǎng)絡(luò)攝像機(jī)和/或任何其它能夠提供用戶輸入的設(shè)備。此外,各種輸入設(shè)備142可包含觸感技術(shù)以便為用戶提供反饋。
[0034]客戶端106可被配置為執(zhí)行各種應(yīng)用程序,比如客戶端應(yīng)用程序145和/或其它應(yīng)用程序。執(zhí)行客戶端應(yīng)用程序145以允許用戶啟動(dòng)、參與、播放在計(jì)算設(shè)備103內(nèi)執(zhí)行的應(yīng)用程序119或與其交互。為此,客戶端應(yīng)用程序145被配置為捕獲用戶通過輸入設(shè)備142的一個(gè)或多個(gè)提供的輸入命令,并通過網(wǎng)絡(luò)109將該輸入作為應(yīng)用程序輸入數(shù)據(jù)122發(fā)送至計(jì)算設(shè)備103。應(yīng)用程序輸入數(shù)據(jù)122也可包含客戶端106生成的供應(yīng)用程序119使用的其它數(shù)據(jù),例如GPS數(shù)據(jù)、音頻數(shù)據(jù)等。在各種實(shí)施方案中,客戶端應(yīng)用程序145與瀏覽器應(yīng)用程序?qū)?yīng)。
[0035]客戶端應(yīng)用程序145還被配置為通過網(wǎng)絡(luò)109從計(jì)算設(shè)備103獲得應(yīng)用程序輸出數(shù)據(jù)123,并將屏幕148顯示在顯示器139上。為此,客戶端應(yīng)用程序145可包括一個(gè)或多個(gè)視頻和音頻播放器以播放應(yīng)用程序119生成的媒體流。在一個(gè)實(shí)施方案中,客戶端應(yīng)用程序145包括在瀏覽器應(yīng)用程序內(nèi)執(zhí)行的插件或其它客戶端代碼??蛻舳?06可被配置為執(zhí)行客戶端應(yīng)用程序145以外的應(yīng)用程序,比如瀏覽器應(yīng)用程序、電子郵件應(yīng)用程序、即時(shí)消息應(yīng)用程序和/或其它應(yīng)用程序。在一些實(shí)施方案中,可為一個(gè)或多個(gè)用戶使用多個(gè)客戶端106以與應(yīng)用程序119交互。作為非限制性實(shí)例,一些客戶端106可專用于顯示輸出,而其它客戶端106可專用于獲得用戶輸入。應(yīng)注意,不同客戶端106可與不同的等待時(shí)間要求(其可影響在將輸入命令提供至應(yīng)用程序119之前使用的延遲)關(guān)聯(lián)。
[0036]現(xiàn)在轉(zhuǎn)到圖2A,示出了在網(wǎng)絡(luò)化環(huán)境100 (圖1)中的客戶端106 (圖1)內(nèi)執(zhí)行的客戶端應(yīng)用程序145 (圖1)內(nèi)呈現(xiàn)的用戶界面200的一個(gè)實(shí)例。圖2A中示出的用戶界面200與電子商務(wù)應(yīng)用程序117 (圖1)生成的網(wǎng)頁對應(yīng)。該網(wǎng)頁與用于應(yīng)用程序127 (圖1)的可通過電子商務(wù)應(yīng)用程序117下載的詳細(xì)網(wǎng)頁對應(yīng)。用戶界面200包括對應(yīng)用程序127的描述201,在本實(shí)例中,其名為"The Stupid Quiz",定價(jià)0.99美元??上螺d應(yīng)用程序127用于Androidli設(shè)備。用戶界面200內(nèi)可提供各種截屏和其它描述性信息。用戶界面200也可包括至相似物品的鏈接。
[0037]為用戶提供了仿真請求工具203以通過仿真服務(wù)器應(yīng)用程序115 (圖1)啟動(dòng)應(yīng)用程序127的會(huì)話。這種情況下,當(dāng)用戶激活仿真請求工具203時(shí),用戶便能夠在與要在其上執(zhí)行應(yīng)用程序127的計(jì)算設(shè)備相似的虛擬化環(huán)境中使用應(yīng)用程序127。激活仿真請求工具203可使得加載新的網(wǎng)頁和/或畫面、燈箱或用戶界面200內(nèi)的其它組成部分??商峁┵徺I組件206以購買應(yīng)用程序127以便在特定計(jì)算設(shè)備上使用。在該非限制性實(shí)例中,用戶與兩個(gè)與應(yīng)用程序127兼容的計(jì)算設(shè)備:“設(shè)備I”和“設(shè)備2”關(guān)聯(lián)。在其它實(shí)例中,可將與用戶關(guān)聯(lián)的不兼容設(shè)備列為不兼容的。也可將應(yīng)用程序127添加至購物車、愿望列表、禮物登記或任何其它類型的物品列表。
[0038]繼續(xù)至圖2B,示出了在網(wǎng)絡(luò)化環(huán)境100 (圖1)中的客戶端106 (圖1)內(nèi)執(zhí)行的客戶端應(yīng)用程序145 (圖1)內(nèi)呈現(xiàn)的用戶界面200的另一個(gè)實(shí)例。圖2B中示出的用戶界面200與電子商務(wù)應(yīng)用程序117 (圖1)生成的(如在圖2A中那樣)但是被用戶界面250 (即燈箱)覆蓋的網(wǎng)頁對應(yīng)。在其它實(shí)例中,用戶界面250可以全屏格式或另一種格式呈現(xiàn)。部分用戶界面250可由電子商務(wù)應(yīng)用程序117生成,而用戶界面250的其它部分可由仿真服務(wù)器應(yīng)用程序115 (圖1)生成。
[0039]用戶界面250包括設(shè)備界面253 (其為仿真的計(jì)算設(shè)備的圖形表示),這種情況下其為特定型號(hào)的AndroicT智能手機(jī)。在一些實(shí)例中,設(shè)備界面253可與仿真的計(jì)算設(shè)備的通用版本,例如AndroicT智能手機(jī)的通用版本對應(yīng)。用戶可在用戶界面200或用戶界面250中指定使用哪種型號(hào)。此外,對于一種仿真的計(jì)算設(shè)備型號(hào)的偏好可儲(chǔ)存于用戶數(shù)據(jù)136 中。
[0040]設(shè)備界面253由仿真服務(wù)器應(yīng)用程序115從合適的設(shè)備界面137 (圖1)生成。設(shè)備界面253包括虛擬形式的輸入按鈕254和/或?qū)嶋H設(shè)備上的其它控制器。動(dòng)畫和/或圖像可用于將物理體驗(yàn)轉(zhuǎn)化為虛擬體驗(yàn)。在設(shè)備界面253內(nèi)的是屏幕148 (圖1),其與包裝器118 (圖1)從與選擇的應(yīng)用程序127 (圖1)對應(yīng)的應(yīng)用程序119 (圖1)捕獲的媒體流的視頻部分對應(yīng)。客戶端應(yīng)用程序145可結(jié)合媒體流的視頻部分播放媒體流的音頻部分??商峁┮纛l硬件控制器255來控制來自仿真的計(jì)算設(shè)備的音頻播放,例如增大或降低音頻的音量。在其它實(shí)例中,可提供其它硬件控制器,例如錄音、快進(jìn)、倒帶、停止、上一曲、下一曲、屏幕亮度、選擇的顯示設(shè)備等。
[0041]用戶界面250也可包括描述性信息256,其可以是用戶界面200內(nèi)的描述201 (圖2A)的縮略版本。描述性信息256可包括名稱、發(fā)行人、價(jià)格、敘述性描述和/或有關(guān)應(yīng)用程序127的其它信息。在該非限制性實(shí)例中,用戶界面250包括計(jì)時(shí)器259,這是因?yàn)榭赡艿馁徺I用于測試應(yīng)用程序127所花費(fèi)的時(shí)間受到限制。在其它實(shí)例中,用戶使用應(yīng)用程序127的時(shí)間可不受限制。
[0042]用戶界面250可包括旋轉(zhuǎn)屏幕148的定向的定向控制器262。激活這種定向控制器262可實(shí)現(xiàn)加速計(jì)或其它設(shè)備的虛擬化形式以告知應(yīng)用程序119仿真的計(jì)算設(shè)備的定向已被改變,例如從縱向變?yōu)闄M向,反之亦然。用戶界面250也可包括一個(gè)或多個(gè)購買組件265,其用于啟動(dòng)對應(yīng)用程序127的購買或?qū)?yīng)用程序127添加至購物車、愿望列表、禮物登記或可理解的其它物品列表。
[0043]接下來,參考圖1、2A和2B,提供了對網(wǎng)絡(luò)化環(huán)境100的各種組件的操作的整體描述。首先,客戶端106的用戶瀏覽由電子商務(wù)應(yīng)用程序117提供的網(wǎng)站。用戶可,例如導(dǎo)航目錄分類、執(zhí)行搜索查詢、選擇鏈接和/或執(zhí)行其它導(dǎo)航功能。用戶可到達(dá)詳細(xì)的網(wǎng)頁,比如圖2A所示的用戶界面200或另一個(gè)以用于下載的應(yīng)用程序127為特征的相似網(wǎng)頁。用戶可指定一個(gè)或多個(gè)優(yōu)選的仿真的計(jì)算設(shè)備的型號(hào),用戶搜索應(yīng)用程序127正是為此。
[0044]除了購買和/或下載應(yīng)用程序127,用戶或許有機(jī)會(huì)通過模擬界面使用應(yīng)用程序127。為此,客戶端106的用戶通過例如激活仿真請求工具203,向仿真服務(wù)器應(yīng)用程序115發(fā)送啟動(dòng)應(yīng)用程序119的請求。仿真服務(wù)器應(yīng)用程序115從數(shù)據(jù)存儲(chǔ)器112獲得相應(yīng)的應(yīng)用程序127、媒體編碼器129、包裝器130和設(shè)備界面137。然后,仿真服務(wù)器應(yīng)用程序115啟動(dòng)相應(yīng)的包裝器118內(nèi)的應(yīng)用程序119。仿真服務(wù)器應(yīng)用程序115追蹤狀態(tài)信息124內(nèi)的應(yīng)用程序119的狀態(tài)。
[0045]包裝器118為應(yīng)用程序119的執(zhí)行提供托管環(huán)境。在一些實(shí)施方案中,托管環(huán)境可包括用于應(yīng)用程序119的虛擬化環(huán)境,其使計(jì)算設(shè)備103的一個(gè)或多個(gè)資源虛擬化。這種資源可包括獨(dú)占資源,即應(yīng)用程序119請求獨(dú)占訪問的資源。例如,應(yīng)用程序119可從視頻設(shè)備請求全屏訪問,該視頻設(shè)備為獨(dú)占資源,因?yàn)橥ǔV挥幸粋€(gè)應(yīng)用程序可全屏訪問。此夕卜,包裝器118可使輸入設(shè)備,比如鍵盤、鼠標(biāo)、GPS設(shè)備、加速計(jì)等(其實(shí)際上可并不存在于計(jì)算設(shè)備103內(nèi))虛擬化。包裝器118也可為應(yīng)用程序119提供對虛擬文件系統(tǒng)的訪問。在各種實(shí)施方案中,包裝器118可與虛擬計(jì)算機(jī)對應(yīng),和/或包裝器118可在虛擬計(jì)算機(jī)內(nèi)執(zhí)行。
[0046]客戶端106的用戶通過使用客戶端106的輸入設(shè)備142輸入用于應(yīng)用程序119的輸入命令。作為非限制性實(shí)例,用戶可點(diǎn)擊鼠標(biāo)左鍵。因此,客戶端應(yīng)用程序145運(yùn)行將輸入命令編碼成可通過網(wǎng)絡(luò)109在應(yīng)用程序輸入數(shù)據(jù)122內(nèi)傳輸?shù)母袷?。仿真服?wù)器應(yīng)用程序115接收輸入命令,將其添加至用于應(yīng)用程序119的輸入隊(duì)列125,最后將其傳送至包裝器118。然后,包裝器118通過虛擬化鼠標(biāo)為應(yīng)用程序119提供鼠標(biāo)左鍵點(diǎn)擊。
[0047]應(yīng)注意,如果一接收到輸入命令就將其提供至應(yīng)用程序119,則網(wǎng)絡(luò)109的可變等待時(shí)間特性可導(dǎo)致一些輸入命令被應(yīng)用程序119錯(cuò)誤解釋。作為非限制性實(shí)例,如果第一次單擊被網(wǎng)絡(luò)109延遲的量大于第二次單擊被延遲的量,則兩次單擊鼠標(biāo)鍵可被誤解為雙擊。類似地,如果某些輸入命令之間的相對時(shí)間關(guān)系未被保存,則鼠標(biāo)點(diǎn)擊和鼠標(biāo)拖動(dòng)可能會(huì)被誤解。
[0048]作為另一個(gè)非限制性實(shí)例,假設(shè)應(yīng)用程序119與格斗游戲類型,例如MortalKombat>Street Fighter等內(nèi)的游戲應(yīng)用程序?qū)?yīng)。客戶端106的用戶可通過一序列快速輸入命令執(zhí)行一系列復(fù)雜的動(dòng)作。如果輸入命令通過網(wǎng)絡(luò)109經(jīng)受了可變等待時(shí)間,則一系列的動(dòng)作可被應(yīng)用程序119錯(cuò)誤解釋,從而導(dǎo)致用戶控制的字符不執(zhí)行預(yù)期的動(dòng)作。例如,在某段時(shí)間內(nèi)需要按下兩個(gè)按鈕以順利執(zhí)行拳擊動(dòng)作。如果第二輸入命令被網(wǎng)絡(luò)109延遲,但是第一輸入命令未被延遲,則用戶沒有任何錯(cuò)誤動(dòng)作也可能失敗。為了解決該問題,仿真服務(wù)器應(yīng)用程序115可延遲第一輸入命令以保持第一和第二輸入命令之間的相對時(shí)間關(guān)系。這樣做,用戶執(zhí)行的姿勢或命令序列便為應(yīng)用程序119保存下來。
[0049]盡管可預(yù)定使用的附加延遲,但是也可基于當(dāng)在客戶端106生成時(shí)命令之間的時(shí)間周期與當(dāng)被仿真服務(wù)器應(yīng)用程序115接收時(shí)命令之間的時(shí)間周期的差值計(jì)算??赏ㄟ^參考與命令關(guān)聯(lián)的元數(shù)據(jù)內(nèi)的時(shí)戳來確定當(dāng)在客戶端106生成時(shí),命令之間的時(shí)間周期。應(yīng)注意,系統(tǒng)中各種固定的等待時(shí)間(例如,視頻編碼延遲、最低網(wǎng)絡(luò)等待時(shí)間)不會(huì)對應(yīng)用程序119的功能產(chǎn)生不利影響。
[0050]于2010 年 10 月 29 日提交的名稱為〃Adding Latency to Improve PerceivedPerformance"的美國專利申請和轉(zhuǎn)讓的申請?zhí)?2/916,111以及于2010年9月17日提交的名稱為〃Accommodating Latency in a Service-Based Application〃的美國專利申請和轉(zhuǎn)讓的申請?zhí)?2/885,296中描述了各種與增加等待時(shí)間和調(diào)節(jié)等待時(shí)間有關(guān)的技術(shù),其內(nèi)容以全文引用的方式并入本文。
[0051]在某些情況下,將輸入命令提供至應(yīng)用程序119的延遲可至少部分地取決于與輸入命令關(guān)聯(lián)的視頻幀區(qū)域。作為非限制性實(shí)例,當(dāng)應(yīng)用程序119為游戲時(shí),延遲與玩游戲有關(guān)的輸入命令以保持輸入命令的意義會(huì)是很重要的。然而,游戲屏幕148也可包括聊天窗口,輸入命令可以是通過聊天窗口被發(fā)送至游戲中的另一個(gè)播放器的文本。如果輸入命令與聊天窗口有關(guān),則包裝器118可被配置為將輸入命令提供至應(yīng)用程序119而無附加延遲。即,優(yōu)選的是盡可能快地將文本發(fā)送至另一個(gè)用戶。因此,延遲可取決于輸入命令是否與屏幕148的作為聊天窗口的區(qū)域有關(guān)。此外,應(yīng)理解,應(yīng)用程序119可具有多種模式,在一種模式與提供輸入命令時(shí)的延遲關(guān)聯(lián)的情況下,另一種模式則不會(huì)。
[0052]當(dāng)用戶在客戶端106內(nèi)生成輸入命令時(shí),確保輸入命令與呈現(xiàn)在用戶屏幕148上的視頻幀同步也很重要。作為非限制性實(shí)例,由于系統(tǒng)的各種等待時(shí)間,格斗游戲中用戶控制的字符所要投擲的火球可能要被晚點(diǎn)投擲。在某些情況下,這可能無關(guān)緊要。例如,用戶可能只是想投擲火球,其完全接受投擲火球時(shí)的短暫延遲。然而,為了更精確,應(yīng)用程序119可支持API,其允許包裝器118將幀編號(hào)或其它時(shí)間標(biāo)識(shí)符與輸入命令關(guān)聯(lián)。因此,應(yīng)用程序119可精確地知曉輸入命令何時(shí)被執(zhí)行并相應(yīng)地作出反應(yīng)。幀編號(hào)或其它時(shí)間標(biāo)識(shí)符可作為用于輸入命令的元數(shù)據(jù)由客戶端應(yīng)用程序145發(fā)送至仿真服務(wù)器應(yīng)用程序115。
[0053]在一些實(shí)施方案中,不同的輸入命令可從由客戶端106生成的輸入命令被提供至應(yīng)用程序119。作為非限制性實(shí)例,如果用戶發(fā)送按下鼠標(biāo)命令,且客戶端應(yīng)用程序145失去焦點(diǎn),則包裝器118可被配置為發(fā)送按下鼠標(biāo)命令之后緊接著發(fā)送松開鼠標(biāo)命令。在各種實(shí)施方案中,根據(jù)另一種方法,輸入命令可被盡可能快地轉(zhuǎn)送至包裝器118,或包裝器118可將輸入命令排入輸入隊(duì)列125中并從該隊(duì)列按順序轉(zhuǎn)送至應(yīng)用程序119。
[0054]同時(shí),應(yīng)用程序119的圖形輸出被包裝器118捕獲并被編碼成媒體流。此外,應(yīng)用程序119的音頻輸出可被捕獲且被復(fù)用成媒體流。在一些實(shí)施方案中,應(yīng)用程序119的圖形輸出和/或音頻輸出可被計(jì)算設(shè)備103的硬件設(shè)備捕獲。媒體流作為應(yīng)用程序輸出數(shù)據(jù)123通過網(wǎng)絡(luò)109被仿真服務(wù)器應(yīng)用程序115傳輸至客戶端106??蛻舳藨?yīng)用程序145獲得應(yīng)用程序輸出數(shù)據(jù)123并在用戶界面250內(nèi)使屏幕148呈現(xiàn)在顯示器139上。屏幕148可被從相應(yīng)的設(shè)備界面137 (其有助于仿真的計(jì)算設(shè)備的輸入和輸出)生成的設(shè)備界面253圍繞。
[0055]在一些實(shí)施方案中,用戶可在一個(gè)106開始應(yīng)用程序119,并在另一個(gè)客戶端106繼續(xù)應(yīng)用程序119。此外,處于不同地點(diǎn)的多個(gè)用戶可加入應(yīng)用程序119。作為非限制性實(shí)例,應(yīng)用程序119可已被開發(fā)出可在一個(gè)具有多個(gè)控制器的設(shè)備內(nèi)執(zhí)行。因此,包裝器118可被配置為將輸入命令從一個(gè)客戶端106映射至第一虛擬控制器,以及將輸入命令從另一個(gè)客戶端106映射至第二虛擬控制器。作為另一個(gè)非限制性實(shí)例,應(yīng)用程序119可已被開發(fā)出可在一個(gè)設(shè)備內(nèi)執(zhí)行,其中鍵盤的一側(cè)控制第一播放器,鍵盤的另一側(cè)控制第二播放器。因此,包裝器118可被配置為將輸入命令從一個(gè)客戶端106映射至虛擬鍵盤一側(cè)的按鍵,以及將輸入命令從另一個(gè)客戶端106映射至虛擬鍵盤另一側(cè)的按鍵。
[0056]各種實(shí)施方案使通過客戶端106內(nèi)的一種類型的輸入設(shè)備142生成的輸入能夠被包裝器118轉(zhuǎn)換成通過完全不同類型的虛擬輸入設(shè)備提供至應(yīng)用程序119的輸入命令。作為非限制性實(shí)例,由客戶端106內(nèi)的加速計(jì)生成的輸入可被包裝器118轉(zhuǎn)化成通過虛擬鼠標(biāo)提供的輸入。因此,可在應(yīng)用程序119中使用完全不同類型的輸入設(shè)備142,當(dāng)執(zhí)行應(yīng)用程序119時(shí),可能未考慮其。
[0057]在輸入設(shè)備142包含觸感技術(shù)和設(shè)備的情況下,應(yīng)用程序輸出數(shù)據(jù)123內(nèi)的力反饋可被提供至輸入設(shè)備142。作為非限制性實(shí)例,力反饋可程控模擬汽車方向盤以為用戶提供路的感覺。當(dāng)用戶轉(zhuǎn)彎或加速時(shí),方向盤可阻止轉(zhuǎn)彎或脫離控制。作為另一個(gè)非限制性實(shí)例,輸入設(shè)備142的溫度可被配置為根據(jù)力反饋改變。在一個(gè)實(shí)施方案中,由一個(gè)客戶端106的應(yīng)用程序輸入數(shù)據(jù)122生成的力反饋可包括在發(fā)送至另一個(gè)客戶端106的應(yīng)用程序輸出數(shù)據(jù)123內(nèi)。
[0058]由于客戶端106與應(yīng)用程序119的硬件要求分離,可通過各種不同的客戶端106(其能夠通過網(wǎng)絡(luò)109以可接受的帶寬和等待時(shí)間流式傳輸視頻)遠(yuǎn)程使用應(yīng)用程序119。例如,游戲應(yīng)用程序119可在客戶端106 (智能手機(jī))上播放。因此,客戶端106不需要包括昂貴的圖形硬件來進(jìn)行執(zhí)行應(yīng)用程序119所必須的復(fù)雜的三維呈現(xiàn)。相比之下,可根據(jù)需要升級計(jì)算設(shè)備103的硬件來滿足最新和計(jì)算最為密集的應(yīng)用程序119的硬件要求。在各種實(shí)施方案中,由仿真服務(wù)器應(yīng)用程序115發(fā)送的媒體流中的圖象信號(hào)可根據(jù)比特率和/或計(jì)算設(shè)備103和客戶端106之間通過網(wǎng)絡(luò)109的連接的其它特性縮放。
[0059]以與其各自的計(jì)算設(shè)備相似的界面徹底測試應(yīng)用程序127后,用戶充分準(zhǔn)備好購買應(yīng)用程序127。用戶可在任何時(shí)間通過選擇各種購買組件206、265來選擇購買、租用和/或下載應(yīng)用程序127。此外,如果用戶不具有特定版本的仿真的計(jì)算設(shè)備,其可在與虛擬版本交互之后決定購買仿真的計(jì)算設(shè)備的物理版本。
[0060]接下來參考圖3,示出了提供根據(jù)各種實(shí)施方案的仿真服務(wù)器應(yīng)用程序115的一部分的操作的一個(gè)實(shí)例的流程圖。應(yīng)理解,圖3的流程圖只提供許多不同類型的功能布置(其可用于執(zhí)行仿真服務(wù)器應(yīng)用程序115的此處描述的部分的操作)的實(shí)例。作為替代,圖3的流程圖可被視為描述在根據(jù)一個(gè)或多個(gè)實(shí)施方案的計(jì)算設(shè)備103 (圖1)中執(zhí)行的方法的步驟的實(shí)例。
[0061]從方框303開始,仿真服務(wù)器應(yīng)用程序115從客戶端106 (圖1)獲得請求以開始針對特定應(yīng)用程序127 (圖1)的應(yīng)用程序仿真會(huì)話。在方框306,仿真服務(wù)器應(yīng)用程序115確定仿真的計(jì)算設(shè)備的優(yōu)選型號(hào),該型號(hào)或者由客戶端106的用戶指定或與用戶關(guān)聯(lián)。在方框309,仿真服務(wù)器應(yīng)用程序115確定是否沒有優(yōu)選型號(hào)的指示。如果沒有指示優(yōu)選的型號(hào),或如果沒有用于優(yōu)選型號(hào)的設(shè)備界面137 (圖1),則仿真服務(wù)器應(yīng)用程序115進(jìn)行至方框310,并使用通用型號(hào)的仿真的計(jì)算設(shè)備來執(zhí)行應(yīng)用程序127并提供設(shè)備界面253 (圖2B)。然后,仿真服務(wù)器應(yīng)用程序115繼續(xù)進(jìn)行至方框312。如果指示了優(yōu)選的型號(hào),則仿真服務(wù)器應(yīng)用程序115也繼續(xù)進(jìn)行至方框312并使用優(yōu)選的型號(hào)。
[0062]在方框312,仿真服務(wù)器應(yīng)用程序115生成用戶界面250(圖2B),其包括定制的設(shè)備界面253并將相應(yīng)的數(shù)據(jù)發(fā)送至客戶端106。在方框315,仿真服務(wù)器應(yīng)用程序115加載應(yīng)用程序127并在包裝器118 (圖1)內(nèi)執(zhí)行與仿真的計(jì)算設(shè)備對應(yīng)的應(yīng)用程序119 (圖1)的實(shí)例。在方框318,仿真服務(wù)器應(yīng)用程序115從包裝器118捕獲媒體流,其可被媒體編碼器120 (圖1)和/或其它編碼器編碼。仿真服務(wù)器應(yīng)用程序115將媒體流作為應(yīng)用程序輸出數(shù)據(jù)123 (圖1)發(fā)送至客戶端106以在定制的設(shè)備界面253內(nèi)呈現(xiàn)。在一些實(shí)施方案中,設(shè)備界面253可嵌入媒體流的圖象信號(hào)。[0063]在方框321,仿真服務(wù)器應(yīng)用程序115從客戶端106獲得應(yīng)用程序輸入數(shù)據(jù)122(圖1)內(nèi)的輸入命令。仿真服務(wù)器應(yīng)用程序115將輸入命令提供給在包裝器118內(nèi)執(zhí)行的應(yīng)用程序119。在方框324,仿真服務(wù)器應(yīng)用程序115確定會(huì)話是否結(jié)束。作為非限制性實(shí)例,會(huì)話可與計(jì)時(shí)器關(guān)聯(lián),計(jì)時(shí)器可能已超時(shí)。作為另一個(gè)非限制性實(shí)例,通過客戶端106的用戶交互,可明確會(huì)話已結(jié)束。作為再另一個(gè)非限制性實(shí)例,客戶端106的用戶無交互可暗示會(huì)話已結(jié)束。
[0064]如果會(huì)話未結(jié)束,則仿真服務(wù)器應(yīng)用程序115返回至方框318并繼續(xù)從應(yīng)用程序119捕獲媒體流。如果會(huì)話結(jié)束,則仿真服務(wù)器應(yīng)用程序115進(jìn)行至方框327,結(jié)束會(huì)話并釋放會(huì)話所消耗的資源。此后,仿真服務(wù)器應(yīng)用程序115的所述部分結(jié)束。
[0065]進(jìn)行至圖4,示出了提供根據(jù)各種實(shí)施方案的電子商務(wù)應(yīng)用程序117的一部分的操作的一個(gè)實(shí)例的流程圖。應(yīng)理解,圖4的流程圖只提供許多不同類型的功能布置(其可用于執(zhí)行電子商務(wù)應(yīng)用程序117的此處描述的部分的操作)的實(shí)例。作為替代,圖4的流程圖可被視為描述在根據(jù)一個(gè)或多個(gè)實(shí)施方案的計(jì)算設(shè)備103 (圖1)中執(zhí)行的方法的步驟的實(shí)例。
[0066]從方框403開始,電子商務(wù)應(yīng)用程序117從客戶端106 (圖1)獲得關(guān)于應(yīng)用程序127 (圖1)的詳情網(wǎng)頁的請求。在方框406,電子商務(wù)應(yīng)用程序117生成網(wǎng)頁并將網(wǎng)頁發(fā)送至客戶端106。在方框409,電子商務(wù)應(yīng)用程序117從客戶端106獲得請求以啟動(dòng)應(yīng)用程序仿真會(huì)話。在方框412,電子商務(wù)應(yīng)用程序117與仿真服務(wù)器應(yīng)用程序115 —起為應(yīng)用程序仿真會(huì)話生成用戶界面250 (圖2B)或用戶界面250的一部分,并將相應(yīng)的數(shù)據(jù)發(fā)送至客戶端106以在顯示器139 (圖1)上呈現(xiàn)。
[0067]在方框415,電子商務(wù)應(yīng)用程序117獲得購買應(yīng)用程序127的請求。在方框418,電子商務(wù)應(yīng)用程序117開始訂購過程以完成用戶對應(yīng)用程序127的訂購,訂購渠道可涉及各種任務(wù)。此后,電子商務(wù)應(yīng)用程序117的所述部分結(jié)束。
[0068]參考圖5,示出了根據(jù)本發(fā)明的實(shí)施例的計(jì)算設(shè)備103的示意框圖。計(jì)算設(shè)備103包括至少一個(gè)處理器電路,例如具有處理器503、存儲(chǔ)器506,以及可選擇地一個(gè)或多個(gè)圖形設(shè)備507,其均耦合至本地接口 509。為此,計(jì)算設(shè)備103可包括,例如至少一個(gè)服務(wù)器計(jì)算機(jī)或相似設(shè)備。本地接口 509可包括,例如具有附帶地址/控制總線或其它可理解的總線結(jié)構(gòu)的數(shù)據(jù)總線。圖形設(shè)備507可與高性能的圖形硬件對應(yīng),包括一個(gè)或多個(gè)圖形處理器512。圖形設(shè)備507被被配置為呈現(xiàn)與計(jì)算設(shè)備103內(nèi)的執(zhí)行的應(yīng)用程序119對應(yīng)的圖形。
[0069]儲(chǔ)存于存儲(chǔ)器506的是可由處理器503執(zhí)行的數(shù)據(jù)和一些組件。尤其是,儲(chǔ)存于存儲(chǔ)器506且可由處理器503執(zhí)行的是仿真服務(wù)器應(yīng)用程序115、電子商務(wù)應(yīng)用程序117、包裝器118、應(yīng)用程序119、媒體編碼器120以及可能的其它應(yīng)用程序。數(shù)據(jù)存儲(chǔ)器112和其它數(shù)據(jù)也可儲(chǔ)存于存儲(chǔ)器506。此外,操作系統(tǒng)可儲(chǔ)存于存儲(chǔ)器506,且可由處理器503執(zhí)行。
[0070]應(yīng)理解,可存在其它儲(chǔ)存于存儲(chǔ)器506并可由處理器503執(zhí)行的應(yīng)用程序,如可理解的那樣。在本文討論的任何組件是以軟件形式被執(zhí)行的情況下,可使用許多編程語言(比如,C、C++、C#、Objective C、JavaK、JavaScript", Perl、PHP,Visual Basic \ Python ' > RubyK、Delphi \ Flash"或其它編程語言)中的任何一種。
[0071]許多軟件組件儲(chǔ)存于存儲(chǔ)器506中,并可由處理器503執(zhí)行。就此而言,術(shù)語“可執(zhí)行的”指的是最終可由處理器503運(yùn)行形式的程序文件??蓤?zhí)行程序的實(shí)例可以是,例如編譯程序,其可被轉(zhuǎn)換成可載入存儲(chǔ)器506的隨機(jī)存取部分且可由處理器503運(yùn)行格式的機(jī)器代碼,可以適當(dāng)格式表示的源代碼(比如,能夠被載入存儲(chǔ)器506的隨機(jī)存取部分且可由處理器503執(zhí)行的目標(biāo)代碼),或可被另一個(gè)可執(zhí)行程序解釋以在存儲(chǔ)器506的隨機(jī)存取部分中生成將要由處理器503執(zhí)行的指令的源代碼等。可執(zhí)行程序可儲(chǔ)存于存儲(chǔ)器506的任何部分或組件中,存儲(chǔ)器506包括,例如隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、硬盤驅(qū)動(dòng)器、固態(tài)驅(qū)動(dòng)器、USB快閃驅(qū)動(dòng)器、存儲(chǔ)卡、光盤(比如,壓縮盤(CD)或數(shù)字化通用磁盤(DVD))、軟盤、磁帶或其它存儲(chǔ)組件。
[0072]本文中存儲(chǔ)器506被定義為包括易失性和非易失性存儲(chǔ)器兩者和數(shù)據(jù)存儲(chǔ)組件。易失性組件是指失電時(shí)不能保留數(shù)據(jù)值的那些。非易失性組件是指失電時(shí)保留數(shù)據(jù)的那些。因此,存儲(chǔ)器506可包括,例如隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、硬盤驅(qū)動(dòng)器、固態(tài)驅(qū)動(dòng)器、USB快閃驅(qū)動(dòng)器、可通過存儲(chǔ)卡讀卡器訪問的存儲(chǔ)卡、可通過關(guān)聯(lián)的軟盤驅(qū)動(dòng)器訪問的軟盤、可通過光盤驅(qū)動(dòng)器訪問的光盤、可通過合適的磁帶驅(qū)動(dòng)器訪問的磁帶,和/或其它存儲(chǔ)組件,或這些存儲(chǔ)組件的任意兩個(gè)或多個(gè)的組合。此外,RAM可包括,例如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM),或磁性隨機(jī)存取存儲(chǔ)器(MRAM)以及其它這種設(shè)備。ROM可包括,例如可編程序只讀存儲(chǔ)器(PROM)、可擦可編程序只讀存儲(chǔ)器(EPROM)、電可擦可編程序只讀存儲(chǔ)器(EEPROM),或其它相似的存儲(chǔ)設(shè)備。
[0073]此外,處理器503可代表多個(gè)處理器503,存儲(chǔ)器506可代表多個(gè)存儲(chǔ)器506,所述多個(gè)處理器503和多個(gè)存儲(chǔ)器506分別在并聯(lián)處理電路中工作。在這種情況下,本地接口509可以是合適的網(wǎng)絡(luò)109 (圖1),其促進(jìn)多個(gè)處理器503的任意兩個(gè)之間的通信、任意一個(gè)處理器503和存儲(chǔ)器506的任意一個(gè)之間的通信,或存儲(chǔ)器506的任意兩個(gè)之間的通信等。本地接口 509可包括被設(shè)計(jì)成協(xié)調(diào)通信,包括例如執(zhí)行負(fù)載平衡的附加系統(tǒng)。處理器503可以是電氣結(jié)構(gòu)或一些其它可用的結(jié)構(gòu)。
[0074]盡管仿真服務(wù)器應(yīng)用程序115、電子商務(wù)應(yīng)用程序117、包裝器118、應(yīng)用程序119、媒體編碼器120、客戶端應(yīng)用程序145(圖1)和本文描述的其它各種系統(tǒng)可以軟件或由以上討論的通用硬件執(zhí)行的代碼的形式體現(xiàn),但是作為替代,其還可以專用硬件,或軟件/通用硬件和專用硬件的組合的形式體現(xiàn)。如果以專用硬件的形式體現(xiàn),則可將其每一個(gè)可作為使用多種技術(shù)的任意一種或多種技術(shù)的組合的電路或狀態(tài)機(jī)器來執(zhí)行。這些技術(shù)可包括,但不限于離散邏輯電路(其具有當(dāng)施加一個(gè)或多個(gè)數(shù)據(jù)信號(hào)時(shí)用于實(shí)現(xiàn)各種邏輯功能的邏輯門)、專用集成電路(其具有合適的邏輯門),或其它組件等。本領(lǐng)域中的技術(shù)人員通常熟知這種技術(shù),因此本文未加以詳細(xì)描述。
[0075]圖3和4的流程圖示出電子商務(wù)應(yīng)用程序117和仿真服務(wù)器應(yīng)用程序115的部分的實(shí)施方式的功能和操作。如果以軟件的形式體現(xiàn),則每一個(gè)方框可代表模塊、代碼段或部分代碼,代碼包括執(zhí)行指定邏輯功能的程序指令。程序指令可以源代碼的形式體現(xiàn),源代碼包括以編程語言或機(jī)器代碼(其包括可由合適的執(zhí)行系統(tǒng),比如計(jì)算機(jī)系統(tǒng)內(nèi)的處理器503或其它系統(tǒng)識(shí)別的數(shù)字指令)編寫的人可讀語句。機(jī)器代碼可從源代碼等轉(zhuǎn)換。如果以硬件形式體現(xiàn),則每一個(gè)方框可代表執(zhí)行指定的邏輯功能的電路或多個(gè)互聯(lián)的電路。
[0076]盡管圖3和4中的流程圖示出具體的執(zhí)行順序,但是應(yīng)理解執(zhí)行順序可與所描述的執(zhí)行順序不同。例如,兩個(gè)或更多方框的執(zhí)行順序相對于示出的順序可打亂。此外,可同時(shí)或部分同時(shí)地執(zhí)行圖3和4中連續(xù)示出的兩個(gè)或更多方框。進(jìn)一步地,在一些實(shí)施方案中,可跳過或省略圖3和4中示出的方框的一個(gè)或多個(gè)。此外,為了增強(qiáng)實(shí)用性、記帳、性能測量、或提供故障排除幫助等,可向本文描述的邏輯流添加任何數(shù)量的計(jì)數(shù)器、狀態(tài)變量、警告信號(hào)量或消息。應(yīng)理解,所有這種變化均在本公開的范圍內(nèi)。
[0077]此外,本文描述的包括軟件或代碼的任何邏輯或應(yīng)用程序(包括仿真服務(wù)器應(yīng)用程序115、電子商務(wù)應(yīng)用程序117、包裝器118、應(yīng)用程序119、媒體編碼器120和客戶端應(yīng)用程序145)可在任何非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)中體現(xiàn)以供指令執(zhí)行系統(tǒng),比如計(jì)算機(jī)系統(tǒng)或其它系統(tǒng)中的處理器503使用或與其結(jié)合。在這種意義上,邏輯可包括,例如語句,其包括可從計(jì)算機(jī)可讀介質(zhì)獲取并由指令執(zhí)行系統(tǒng)執(zhí)行的指令和聲明。在本公開的上下文中,“計(jì)算機(jī)可讀介質(zhì)”可以是任何包括、存儲(chǔ)或保存本文描述的以供指令執(zhí)行系統(tǒng)使用或與其結(jié)合的邏輯或應(yīng)用程序的介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可包括許多物理介質(zhì),比如磁、光或半導(dǎo)體介質(zhì)中的任意一個(gè)。合適的計(jì)算機(jī)可讀介質(zhì)的更多具體實(shí)例將包括,但不限于磁帶、磁性軟盤、磁性硬盤驅(qū)動(dòng)器、存儲(chǔ)卡、固態(tài)驅(qū)動(dòng)器、USB快閃驅(qū)動(dòng)器或光盤。此外,計(jì)算機(jī)可讀介質(zhì)可以是隨機(jī)存取存儲(chǔ)器(RAM),包括例如靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)和動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM),或磁性隨機(jī)存取存儲(chǔ)器(MRAM)。此外,計(jì)算機(jī)可讀介質(zhì)可以是只讀存儲(chǔ)器(ROM)、可編程序只讀存儲(chǔ)器(PROM)、可擦可編程序只讀存儲(chǔ)器(EPROM)、電可擦可編程序只讀存儲(chǔ)器(EEPROM)或其它類型的存儲(chǔ)設(shè)備。
[0078]條款
[0079]1.一種包含可在計(jì)算設(shè)備中執(zhí)行的程序的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),所述程序包括:
[0080]代碼,其確定仿真的計(jì)算設(shè)備的多個(gè)型號(hào)的其中之一;
[0081]代碼,其從客戶端獲得對可在所述仿真的計(jì)算設(shè)備內(nèi)執(zhí)行的應(yīng)用程序的選擇;
[0082]代碼,其在托管環(huán)境中執(zhí)行所述應(yīng)用程序;
[0083]代碼,其將所述應(yīng)用程序生成的圖象信號(hào)和音頻信號(hào)編碼成媒體流;
[0084]代碼,其生成包括所述仿真的計(jì)算設(shè)備的所述型號(hào)的所述其中之一的圖形表示的用戶界面,其中來自所述媒體流的所述圖象信號(hào)被配置為在所述仿真的計(jì)算設(shè)備的所述型號(hào)的所述其中之一的屏幕的圖形表示上呈現(xiàn);
[0085]代碼,其將所述用戶界面和所述媒體流發(fā)送至所述客戶端;
[0086]代碼,其從所述客戶端獲得輸入命令,所述輸入命令通過用戶與所述仿真的計(jì)算設(shè)備的所述型號(hào)的所述其中之一的所述圖形表示交互生成;和
[0087]代碼,其將所述輸入命令提供至在所述托管環(huán)境中執(zhí)行的所述應(yīng)用程序。
[0088]2.根據(jù)條款I(lǐng)所述的系統(tǒng),其中所述仿真的計(jì)算設(shè)備為移動(dòng)計(jì)算設(shè)備。
[0089]3.一種系統(tǒng),包括:
[0090]至少一個(gè)計(jì)算設(shè)備;和
[0091]可在所述至少一個(gè)計(jì)算設(shè)備內(nèi)執(zhí)行的服務(wù)器應(yīng)用程序,所述服務(wù)器應(yīng)用程序包括:[0092]邏輯,其識(shí)別計(jì)算設(shè)備的型號(hào)和可在所述計(jì)算設(shè)備內(nèi)執(zhí)行的應(yīng)用程序;
[0093]邏輯,其在托管環(huán)境中執(zhí)行所述應(yīng)用程序并將所述應(yīng)用程序的圖象信號(hào)編碼成媒體流;和
[0094]邏輯,其編碼用戶界面以在客戶端內(nèi)呈現(xiàn),所述用戶界面包括所述計(jì)算設(shè)備的所述型號(hào)的圖形表示,其中所述計(jì)算設(shè)備的所述型號(hào)的所述圖形表示的屏幕被配置為呈現(xiàn)來自所述媒體流的所述圖象信號(hào)的至少一部分。
[0095]4.根據(jù)條款3所述的系統(tǒng),其中所述計(jì)算設(shè)備的所述型號(hào)的所述圖形表示包括與所述計(jì)算設(shè)備的所述型號(hào)關(guān)聯(lián)的至少一個(gè)輸入設(shè)備的圖形表示。
[0096]5.根據(jù)條款3所述的系統(tǒng),其中所述計(jì)算設(shè)備為移動(dòng)計(jì)算設(shè)備。
[0097]6.根據(jù)條款3所述的系統(tǒng),其中所述服務(wù)器應(yīng)用程序還包括:
[0098]邏輯,其將所述用戶界面和所述媒體流發(fā)送至客戶端;
[0099]邏輯,其從所述客戶端獲得輸入命令,其中所述用戶界面進(jìn)一步被配置為生成所述輸入命令以回應(yīng)用戶與輸入設(shè)備的圖形表示的交互;和
[0100]邏輯,其通過虛擬化輸入設(shè)備將所述輸入命令提供至所述應(yīng)用程序。
[0101]7.根據(jù)條款3所述的系統(tǒng),其中所述計(jì)算設(shè)備的所述型號(hào)為所述計(jì)算設(shè)備的通用型號(hào)。
[0102]8.根據(jù)條款3所述的系統(tǒng),其中所述用戶界面還包括用于開始購買所述應(yīng)用程序的組件。
[0103]9.根據(jù)條款3所述的系統(tǒng),其中所述用戶界面還包括用于將所述應(yīng)用程序添加至物品列表的組件。
[0104]10.根據(jù)條款3所述的系統(tǒng),其中所述用戶界面還包括用于旋轉(zhuǎn)所述計(jì)算設(shè)備的所述型號(hào)的所述圖形表示的組件。
[0105]11.根據(jù)條款3所述的系統(tǒng),其中所述圖象信號(hào)包括所述計(jì)算設(shè)備的所述型號(hào)的所述圖形表示。
[0106]12.根據(jù)條款3所述的系統(tǒng),其中所述服務(wù)器應(yīng)用程序還包括超過預(yù)定義的時(shí)間周期后停止執(zhí)行所述應(yīng)用程序的邏輯。
[0107]13.根據(jù)條款3所述的系統(tǒng),其中至少一些所述輸入命令通過所述客戶端的鼠標(biāo)設(shè)備生成。
[0108]14.根據(jù)條款3所述的系統(tǒng),其中所述應(yīng)用程序并非固有地可在所述客戶端內(nèi)執(zhí)行。
[0109]15.根據(jù)條款3所述的系統(tǒng),其中所述服務(wù)器應(yīng)用程序還包括將由所述應(yīng)用程序生成的音頻信號(hào)編碼成所述媒體流的邏輯,其中所述用戶界面被配置為在所述客戶端內(nèi)播放所述音頻信號(hào)。
[0110]16.根據(jù)條款3所述的系統(tǒng),其中所述托管環(huán)境包括被配置為虛擬化至少一個(gè)輸入設(shè)備的虛擬化環(huán)境,而從所述客戶端獲得的輸入數(shù)據(jù)通過所述至少一個(gè)輸入設(shè)備被提供至所述應(yīng)用程序。
[0111]17.一種方法,其包括以下步驟:
[0112]在計(jì)算設(shè)備內(nèi)從服務(wù)器獲得用戶界面,所述用戶界面包括移動(dòng)計(jì)算設(shè)備的圖形表示;[0113]在所述計(jì)算設(shè)備內(nèi)從所述服務(wù)器獲得媒體流,所述媒體流包括從在仿真所述移動(dòng)計(jì)算設(shè)備的虛擬化環(huán)境中執(zhí)行的應(yīng)用程序捕獲的圖象信號(hào);以及
[0114]在所述計(jì)算設(shè)備中呈現(xiàn)所述用戶界面,其中所述圖象信號(hào)作為所述移動(dòng)計(jì)算設(shè)備的所述圖形表示的屏幕呈現(xiàn)。
[0115]18.根據(jù)條款17所述的方法,其還包括以下步驟:
[0116]在所述計(jì)算設(shè)備中獲得關(guān)于所述移動(dòng)計(jì)算設(shè)備的所述圖形表示的用戶輸入;
[0117]在所述計(jì)算設(shè)備中生成至少一個(gè)輸入命令來回應(yīng)所述用戶輸入;以及
[0118]在所述計(jì)算設(shè)備中將所述至少一個(gè)輸入命令發(fā)送至所述服務(wù)器。
[0119]19.根據(jù)條款18所述的方法,其中提供了關(guān)于所述移動(dòng)計(jì)算設(shè)備的輸入設(shè)備的圖形表示的用戶輸入。
[0120]20.根據(jù)條款17所述的方法,其還包括以下步驟:
[0121]在所述計(jì)算設(shè)備中獲得關(guān)于所述應(yīng)用程序的網(wǎng)頁;以及
[0122]在所述計(jì)算設(shè)備中向所述服務(wù)器發(fā)送啟動(dòng)所述應(yīng)用程序的仿真會(huì)話的請求。
[0123]21.根據(jù)條款17所述的方法,其還包括在所述計(jì)算設(shè)備中向所述服務(wù)器發(fā)送開始購買所述應(yīng)用程序的請求的步驟。
[0124]22.—種系統(tǒng),包括:
[0125]至少一個(gè)計(jì)算設(shè)備;和
[0126]可在所述至少一個(gè)計(jì)算設(shè)備內(nèi)執(zhí)行的服務(wù)器應(yīng)用程序,所述服務(wù)器應(yīng)用程序包括:
[0127]邏輯,其識(shí)別計(jì)算設(shè)備的型號(hào)和可在所述計(jì)算設(shè)備內(nèi)執(zhí)行的應(yīng)用程序;
[0128]邏輯,其在托管環(huán)境中執(zhí)行所述應(yīng)用程序并將所述應(yīng)用程序的輸出編碼成媒體流;和
[0129]邏輯,其編碼用戶界面以在客戶端內(nèi)呈現(xiàn),所述用戶界面包括所述計(jì)算設(shè)備的所述型號(hào)的圖形表示,其中所述圖形表示被更新以回應(yīng)所述媒體流。
[0130]23.根據(jù)條款22所述的系統(tǒng),其中所述計(jì)算設(shè)備的所述型號(hào)的所述圖形表示包括顯示設(shè)備的圖形表示,而所述媒體流包括用于更新所述顯示設(shè)備的圖形表示的數(shù)據(jù)。
[0131]24.根據(jù)條款22所述的系統(tǒng),其中所述計(jì)算設(shè)備的所述型號(hào)的所述圖形表示包括所述計(jì)算設(shè)備的所述型號(hào)的至少一個(gè)集成輸入設(shè)備的圖形表示。
[0132]25.根據(jù)條款22所述的系統(tǒng),其中所述計(jì)算設(shè)備的所述型號(hào)的所述圖形表示與所述計(jì)算設(shè)備的所述型號(hào)的通用版本對應(yīng)。
[0133]應(yīng)強(qiáng)調(diào),本公開的上述實(shí)施方案僅僅是為了清楚地理解本公開的原理而闡述的實(shí)施方式的可能的實(shí)例。在基本不脫離本公開的精神和原理的情況下,可對上述實(shí)施方案進(jìn)行許多變化和修改。所有這種修改和變化均包括于本公開的范圍內(nèi),并受以下權(quán)利要求保護(hù)。
【權(quán)利要求】
1.一種包含在計(jì)算設(shè)備中可執(zhí)行的程序的非暫時(shí)性計(jì)算機(jī)可讀介質(zhì),所述程序包括: 代碼,其確定仿真的計(jì)算設(shè)備的多個(gè)型號(hào)的其中之一; 代碼,其從客戶端獲得對在所述仿真的計(jì)算設(shè)備內(nèi)可執(zhí)行的應(yīng)用的選擇; 代碼,其在托管環(huán)境中執(zhí)行所述應(yīng)用; 代碼,其將所述應(yīng)用生成的視頻信號(hào)和音頻信號(hào)編碼成媒體流; 代碼,其生成包括所述仿真的計(jì)算設(shè)備的所述型號(hào)的所述其中之一的圖形表示的用戶界面,其中來自所述媒體流的所述視頻信號(hào)被配置為在所述仿真的計(jì)算設(shè)備的所述型號(hào)的所述其中之一的屏幕的圖形表示上呈現(xiàn); 代碼,其將所述用戶界面和所述媒體流發(fā)送至所述客戶端; 代碼,其從所述客戶端獲得輸入命令,所述輸入命令通過用戶與所述仿真的計(jì)算設(shè)備的所述型號(hào)的所述其中之一的所述圖形表示交互生成;和 代碼,其將所述輸入命令提供至在所述托管環(huán)境中執(zhí)行的所述應(yīng)用。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中所述仿真的計(jì)算設(shè)備為移動(dòng)計(jì)算設(shè)備。
3.一種系統(tǒng),包括: 至少一個(gè)計(jì)算設(shè)備;和 在所述至少一個(gè)計(jì)算設(shè)備內(nèi)可執(zhí)行的服務(wù)器應(yīng)用,所述服務(wù)器應(yīng)用包括: 邏輯,其識(shí)別計(jì)算設(shè)備的型號(hào)和在所述計(jì)算設(shè)備內(nèi)可執(zhí)行的應(yīng)用;· 邏輯,其在托管環(huán)境中執(zhí)行所述應(yīng)用并將所述應(yīng)用的視頻信號(hào)編碼成媒體流;和邏輯,其編碼用戶界面以在客戶端內(nèi)呈現(xiàn),所述用戶界面包括所述計(jì)算設(shè)備的所述型號(hào)的圖形表示,其中所述計(jì)算設(shè)備的所述型號(hào)的所述圖形表示的屏幕被配置為呈現(xiàn)來自所述媒體流的視頻信號(hào)的至少一部分。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其中所述計(jì)算設(shè)備的所述型號(hào)的所述圖形表示包括與所述計(jì)算設(shè)備的所述型號(hào)關(guān)聯(lián)的至少一個(gè)輸入設(shè)備的圖形表示。
5.根據(jù)權(quán)利要求3所述的系統(tǒng),其中所述計(jì)算設(shè)備為移動(dòng)計(jì)算設(shè)備。
6.根據(jù)權(quán)利要求3所述的系統(tǒng),其中所述服務(wù)器應(yīng)用還包括: 邏輯,其將所述用戶界面和所述媒體流發(fā)送至所述客戶端; 邏輯,其從所述客戶端獲得輸入命令,其中所述用戶界面還被配置為生成所述輸入命令以回應(yīng)用戶與輸入設(shè)備的圖形表示的交互;和 邏輯,其通過虛擬化輸入設(shè)備將所述輸入命令提供至所述應(yīng)用。
7.根據(jù)權(quán)利要求3所述的系統(tǒng),其中所述計(jì)算設(shè)備的所述型號(hào)為所述計(jì)算設(shè)備的通用型號(hào)。
8.根據(jù)權(quán)利要求3所述的系統(tǒng),其中所述用戶界面還包括用于發(fā)起對所述應(yīng)用的購買的組件。
9.根據(jù)權(quán)利要求3所述的系統(tǒng),其中所述用戶界面還包括用于將所述應(yīng)用添加至物品列表的組件。
10.根據(jù)權(quán)利要求3所述的系統(tǒng),其中所述用戶界面還包括用于旋轉(zhuǎn)所述計(jì)算設(shè)備的所述型號(hào)的所述圖形表示的組件。
11.根據(jù)權(quán)利要求3所述的系統(tǒng),其中所述服務(wù)器應(yīng)用還包括超過預(yù)定義的時(shí)間周期后停止執(zhí)行所述應(yīng)用的邏輯。
12.根據(jù)權(quán)利要求3所述的系統(tǒng),其中所述應(yīng)用并非固有地在所述客戶端內(nèi)可執(zhí)行。
13.根據(jù)權(quán)利要求3所述的系統(tǒng),其中所述服務(wù)器應(yīng)用還包括將由所述應(yīng)用生成的音頻信號(hào)編碼成所述媒體流的邏輯,其中所述用戶界面被配置為在所述客戶端內(nèi)播放所述音頻信號(hào)。
14.根據(jù)權(quán)利要求3所述的系統(tǒng),其中所述托管環(huán)境包括被配置為虛擬化至少一個(gè)輸入設(shè)備的虛擬化環(huán)境,而從所述客戶端獲得的輸入數(shù)據(jù)通過所述至少一個(gè)輸入設(shè)備被提供至所述應(yīng)用。
15.—種系統(tǒng),包括: 至少一個(gè)計(jì)算設(shè)備;和 在所述至少一個(gè)計(jì)算設(shè)備內(nèi)可執(zhí)行的服務(wù)器應(yīng)用,所述服務(wù)器應(yīng)用包括: 邏輯,其識(shí)別計(jì)算設(shè)備的型號(hào)和在所述計(jì)算設(shè)備內(nèi)可執(zhí)行的應(yīng)用; 邏輯,其在托管環(huán)境中執(zhí)行所述應(yīng)用并將所述應(yīng)用的輸出編碼成媒體流;和邏輯,其編碼用戶界面以在客戶端內(nèi)呈現(xiàn),所述用戶界面包括所述計(jì)算設(shè)備的所述型號(hào)的圖形表示,其中所述圖形表示被更新以回應(yīng)所述媒體流。
16.根據(jù)權(quán)利要求15所述的系統(tǒng),其中所述計(jì)算設(shè)備的所述型號(hào)的所述圖形表示包括顯示設(shè)備的圖形表示,而所述媒體流包括用于更新所述顯示設(shè)備的圖形表示的數(shù)據(jù)。
【文檔編號(hào)】G06F15/177GK103548012SQ201280010310
【公開日】2014年1月29日 申請日期:2012年3月19日 優(yōu)先權(quán)日:2011年3月21日
【發(fā)明者】亞當(dāng)·J·奧弗頓, 布魯斯·J·麥肯齊, 伊?!·埃文斯, 伊恩·S·W·康沃爾, 邁克爾·安東尼·弗拉茲尼, 保羅·A·萊德 申請人:亞馬遜技術(shù)股份有限公司