專利名稱:萬維網(wǎng)應(yīng)用程序的應(yīng)用程序管理框架的制作方法
萬維網(wǎng)應(yīng)用程序的應(yīng)用程序管理框架 相關(guān)專利申請(qǐng) 本專利申請(qǐng)要求2007年7月29日提交的第60/952, 588號(hào)美國臨時(shí)專利申請(qǐng)、 2007年8月6日提交的第60/954,022號(hào)美國臨時(shí)專利申請(qǐng)以及2008年7月29日提交的 第12/181, 776號(hào)美國專利申請(qǐng)的優(yōu)先權(quán)。該專利申請(qǐng)還涉及并且要求2006年5月8日 提交的名稱為"Method for Synch皿i zing SoftwareApplication and User Data for Asynchronous Client-Serverand Peer to Peer Computer Networks,,的第11/382,058 號(hào)美國專利申請(qǐng)的優(yōu)先權(quán)、2006年12月18日提交的名稱為"System forRunning Web Applications Offline and Providing Access toNative Services"的第11/612, 282號(hào) 美國專利申請(qǐng)的優(yōu)先權(quán)、2007年10月16日提交的名稱為"Offline Automated ProxyCache for Web Applications"的第11/873, 305號(hào)美國專利申請(qǐng)、2008年1月4日提交的名 禾爾為"System and Methods forProviding Granular Security for Locally Running ScriptedEnvironments and Web Applications"的美國專利申請(qǐng)、2008年4月2日提交的 名禾爾為"System and Methods for ProvidingAccess to a Desktop and Applications of a Mobile Device"的第12/061, 179號(hào)美國專利申請(qǐng)、以及2008年5月7日提交的名稱為 "Automatic Conversion Schema for Cached Web Requests,,的第12/116, 697號(hào)美國專利
申請(qǐng)的優(yōu)先權(quán)。引用這些專利申請(qǐng)的全部內(nèi)容供參考。
背景技術(shù):
最近幾年,萬維網(wǎng)(web)瀏覽器已經(jīng)成為能力強(qiáng)大的軟件包。除了提供萬維網(wǎng)網(wǎng) 頁,萬維網(wǎng)瀏覽器可以運(yùn)行有時(shí)被稱為"微件(widget)"的小應(yīng)用程序。許多萬維網(wǎng)瀏覽 器還支持在萬維網(wǎng)瀏覽器上運(yùn)行更復(fù)雜的萬維網(wǎng)應(yīng)用程序的能力。可以利用諸如HTML、 XHTML、XML以及異步JavaScirpt和XML(Ajax)的各種萬維網(wǎng)技術(shù),實(shí)現(xiàn)這種萬維網(wǎng)應(yīng)用程序。 盡管萬維網(wǎng)應(yīng)用程序具有許多優(yōu)點(diǎn),但是仍在許多領(lǐng)域受困。例如,因?yàn)槿f維網(wǎng)應(yīng) 用程序依賴于萬維網(wǎng)瀏覽器,所以萬維網(wǎng)瀏覽器必須在萬維網(wǎng)應(yīng)用程序運(yùn)行之前啟動(dòng)。與 許多移動(dòng)裝置的情況一樣,這種延遲可能令最終用戶不滿意,尤其是如果運(yùn)行萬維網(wǎng)應(yīng)用 程序的裝置具有有限的處理能力。此外,如果萬維網(wǎng)瀏覽器沒在運(yùn)行,則萬維網(wǎng)應(yīng)用程序也 不運(yùn)行。因此,萬維網(wǎng)應(yīng)用程序不能更新其數(shù)據(jù)。此外,如果用戶希望同時(shí)運(yùn)行幾個(gè)萬維網(wǎng) 應(yīng)用程序,則該用戶必須直接啟動(dòng)每個(gè)應(yīng)用程序。而且,沒有簡易方法可以使多個(gè)萬維網(wǎng)應(yīng) 用程序共享一組用戶輸入控件。 在諸如蜂窩電話的移動(dòng)裝置上,某些widget可以運(yùn)行在萬維網(wǎng)瀏覽器上。這些 widget具有萬維網(wǎng)應(yīng)用程序的某些好處,諸如開發(fā)商比較容易利用萬維網(wǎng)技術(shù)編寫程序, 但是卻受困于其它領(lǐng)域。首先,用戶不能為了下載萬維網(wǎng)網(wǎng)頁而在widget中點(diǎn)擊超鏈接。 其次,當(dāng)用戶希望從一個(gè)widget切換到另一個(gè)widget時(shí),用戶退出運(yùn)行該第一 widget的 基礎(chǔ)瀏覽器,然后,啟動(dòng)新瀏覽器實(shí)例(new browser instance),以運(yùn)行第二widget。由于 這兩個(gè)widget不同時(shí)運(yùn)行,所以從一個(gè)widget到另一個(gè)widget的切換處理花費(fèi)大量時(shí)間,這是最終用戶所不希望的。此外,也不存在通過通用用戶接口管理多個(gè)widget的機(jī)制。
基于萬維網(wǎng)做廣告已成為通常的做法,因此,根據(jù)各種準(zhǔn)則,將廣告插入萬維網(wǎng)網(wǎng) 頁中。然而,如果萬維網(wǎng)瀏覽器沒有連接到因特網(wǎng),則該廣告就不能插入萬維網(wǎng)網(wǎng)頁中。對(duì) 于諸如蜂窩電話的移動(dòng)裝置,當(dāng)接收弱信號(hào)時(shí)或者當(dāng)出了服務(wù)區(qū)時(shí),通常這種裝置與網(wǎng)絡(luò) 斷開。此外,當(dāng)該裝置脫機(jī)時(shí),即使最終用戶已經(jīng)觀看了和/或者點(diǎn)擊了該廣告,廣告寄存 提供商也不能獲得廣告收入。在這種情況下,登廣告者無需為使用通信媒體而向提供商支 付費(fèi)用就可以獲得登廣告的好處。而且,當(dāng)前的widget不容易支持基于萬維網(wǎng)的廣告。
圖1示出應(yīng)用程序管理框架的實(shí)施例。 圖2示出包括萬維網(wǎng)瀏覽器和萬維網(wǎng)虛擬機(jī)的計(jì)算裝置的實(shí)施例。
圖3示出用于啟動(dòng)應(yīng)用程序框架的邏輯流程的實(shí)施例。
圖4示出由應(yīng)用程序框架處理事務(wù)的邏輯流程的實(shí)施例。 圖5示出包括萬維網(wǎng)應(yīng)用程序和應(yīng)用程序管理框架用戶接口的移動(dòng)裝置的實(shí)施 例。 圖6A-6F示出萬維網(wǎng)應(yīng)用程序和應(yīng)用程序管理框架用戶接口的實(shí)施例。 圖7A示出萬維網(wǎng)瀏覽器、萬維網(wǎng)應(yīng)用程序以及應(yīng)用程序框架用戶接口的實(shí)施例。 圖7b示出萬維網(wǎng)瀏覽器、萬維網(wǎng)應(yīng)用程序以及應(yīng)用程序框架用戶接口的另一個(gè)
實(shí)施例。 圖8示出通信系統(tǒng)的實(shí)施例。 圖9示出用于產(chǎn)生廣告收入的邏輯流程的實(shí)施例。
具體實(shí)施例方式
各種實(shí)施例涉及萬維網(wǎng)應(yīng)用程序的應(yīng)用程序管理框架,對(duì)于廣泛的網(wǎng)絡(luò)裝置,它 可以提高速度、提高容量、改善用戶感受、增加獲得廣告利潤的機(jī)會(huì)、以及簡化應(yīng)用程序開 發(fā)。所描述的實(shí)施例可以采用用于在共享萬維網(wǎng)瀏覽器應(yīng)用程序管理框架中容納、控制以 及顯示多個(gè)基于萬維網(wǎng)的應(yīng)用程序的技術(shù)。這種技術(shù)尤其適合處理能力有限、間歇訪問網(wǎng) 絡(luò)、顯示屏幕小并且用戶輸入能力有限的諸如蜂窩電話的移動(dòng)裝置。 共享萬維網(wǎng)瀏覽器應(yīng)用程序管理框架能夠在應(yīng)用程序之間迅速切換、允許執(zhí)行 多任務(wù)、便于對(duì)各應(yīng)用程序使用一組通用輸入控件、并且使得以察覺不到的啟動(dòng)("自舉 (boot)")時(shí)間使用應(yīng)用程序成為可能。 此外,共享萬維網(wǎng)瀏覽器應(yīng)用程序管理框架內(nèi)的應(yīng)用程序可以使用該框架提供的 附加能力,諸如高速緩存脫機(jī)訪問的內(nèi)容或者數(shù)據(jù),保證對(duì)所包含的應(yīng)用程序的更新,使用 移動(dòng)裝置的本地服務(wù),諸如日歷或者聯(lián)系信息,以及將廣告插入應(yīng)用程序的用戶接口。所描 述的實(shí)施例也鼓勵(lì)萬維網(wǎng)應(yīng)用程序的用戶、萬維網(wǎng)應(yīng)用程序的開發(fā)商、萬維網(wǎng)應(yīng)用程序的 門戶網(wǎng)站提供商、以及萬維網(wǎng)廣告提供商共享相互之間的服務(wù)。 為了全面理解該實(shí)施例,將具體描述其大量細(xì)節(jié)。然而,本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員 明白,在沒有這些具體細(xì)節(jié)的情況下,也可以實(shí)施該實(shí)施例。在其它情況下,為了不妨礙理 解該實(shí)施例,對(duì)眾所周知的操作、部件以及電路沒有進(jìn)行詳細(xì)描述??梢悦靼?,在此描述的具體結(jié)構(gòu)和功能細(xì)節(jié)是說明性的,并不一定限制本發(fā)明的范圍。 在整個(gè)說明書中,"各種實(shí)施例"、" 一些實(shí)施例"、" 一個(gè)實(shí)施例"或者"實(shí)施例"均 指,結(jié)合該實(shí)施例描述的特定特征、結(jié)構(gòu)或者特性包括在至少一個(gè)實(shí)施例中。因此,位于整 個(gè)說明書各位置的短語"在各種實(shí)施例中"、"在一些實(shí)施例中"、"在一個(gè)實(shí)施例中"或者"在 實(shí)施例中"的意義不一定都指同一個(gè)實(shí)施例。此外,在一個(gè)或者多個(gè)實(shí)施例中,可以以任何 適當(dāng)方式組合特定特征、結(jié)構(gòu)或者特性。 圖1示出適于實(shí)現(xiàn)各種實(shí)施例的應(yīng)用程序管理框架100的體系結(jié)構(gòu)圖。盡管圖1 作為例子示出有限數(shù)量的部件,但是可以想象對(duì)于給定實(shí)現(xiàn),可以采用較多或者較少的部 件。 在各種實(shí)施例中,應(yīng)用程序管理框架100可以由計(jì)算裝置予以實(shí)現(xiàn)。該計(jì)算裝置 的單元可以包括各種用于傳播信息的物理部件和/或者邏輯部件,它們可以根據(jù)一組給 定的設(shè)計(jì)參數(shù)或者性能制約的要求,由硬件部件(例如,計(jì)算裝置、處理器、邏輯器件)、可 以被各種硬件部件執(zhí)行的可執(zhí)行計(jì)算機(jī)程序指令(例如,固件、軟件)或者它們的任意組合 予以實(shí)現(xiàn)。根據(jù)所描述的實(shí)施例,典型計(jì)算裝置可以包括個(gè)人計(jì)算機(jī)(PC)、臺(tái)式計(jì)算機(jī)、 筆記本計(jì)算機(jī)、膝上型計(jì)算機(jī)、移動(dòng)計(jì)算裝置、智能手機(jī)、個(gè)人數(shù)字助理(PDA)、移動(dòng)電話、組 合移動(dòng)電話/PDA、視頻裝置、電視機(jī)(TV)、數(shù)字電視機(jī)(DTV)、高清晰電視機(jī)(HDTV)、媒體播 放器、游戲機(jī)、消息傳送裝置(messaging device)或者任何其它適當(dāng)?shù)耐ㄐ叛b置。
包括應(yīng)用程序管理框架100的計(jì)算裝置可以構(gòu)成有線通信系統(tǒng)、無線通信系統(tǒng)或 者這二者的組合的一部分。例如,可以布置該計(jì)算裝置,以通過一種或者多種諸如電線、電 纜、總線、印刷電路板(PCB)、以太網(wǎng)連接、對(duì)等(peer-to-peer(P2P))連接、底板、交換結(jié) 構(gòu)(switch fabric)、半導(dǎo)體材料、對(duì)絞線、同軸電纜、光纖連接等等的有線通信鏈路傳播信 息??梢圆贾迷撚?jì)算裝置,以通過超過一種或者多種諸如無線電信道、衛(wèi)星信道、電視頻道、 廣播頻道、紅外信道、射頻(RF)信道、無線保真(WiFi)信道、一部分射頻頻譜、和/或者一 個(gè)或者多個(gè)許可頻帶或者免許可頻帶的無線通信鏈路傳播信息。在無線實(shí)現(xiàn)中,該計(jì)算裝 置可以包括一個(gè)或者多個(gè)用于無線通信的接口和/或者部件,諸如一個(gè)或者多個(gè)發(fā)射機(jī)、 接收機(jī)、收發(fā)信機(jī)、放大器、濾波器、控制邏輯、無線網(wǎng)絡(luò)接口卡(WNIC)、天線等等。盡管作為 例子利用特定通信介質(zhì)描述了特定實(shí)施例,但是應(yīng)該明白,利用各種通信介質(zhì)和相關(guān)技術(shù), 可以實(shí)現(xiàn)在此討論的原理和技術(shù)。 如圖1所示,應(yīng)用程序管理框架100可以由萬維網(wǎng)瀏覽器105實(shí)現(xiàn)并且在 該萬維網(wǎng)瀏覽器105上運(yùn)行。根據(jù)所描述的實(shí)施例,萬維網(wǎng)瀏覽器105可以由諸如
Internet Explorer 、 Mozilla 、 Firefox 、 Safari 、 Opera 、 Netsc即e Navigator⑧和/或者任何適當(dāng)萬維網(wǎng)瀏覽器的臺(tái)式機(jī)版本或者移動(dòng)版本的
萬維網(wǎng)瀏覽器予以實(shí)現(xiàn)。在各種實(shí)施例中,萬維網(wǎng)瀏覽器105可以支持應(yīng)用程序管理框架 100要求的計(jì)算機(jī)編程語音、標(biāo)準(zhǔn)、萬維網(wǎng)協(xié)議和/或者技術(shù)。這些計(jì)算機(jī)編程語音、標(biāo)準(zhǔn)、 萬維網(wǎng)協(xié)議和/或者技術(shù)可以包括,但是并不局限于包括HTML、 XHTML、 XML、Flash / ActionScript、Macromedia⑧Flash⑧、JavaScript、 ECMAScript、 JScript、 Basic、 Visual Basic 、 Visual Basic Scripting Edition (VBScript) 、CSS、異步JavaScript
和xml (Ajax) 、Flex Java 、 Python、Perl 、 c#/. net、Flash⑧和/或者其它適當(dāng)
的編程語言、腳本語言、或者基于VM的語言。此外,萬維網(wǎng)瀏覽器105可以支持"本地"沖浪,在不要求與網(wǎng)絡(luò)具有連通性的情況下,可以訪問"本地主機(jī)"的資源。應(yīng)該明白,即使當(dāng) 僅需要本地主機(jī)資源時(shí),當(dāng)今的一些萬維網(wǎng)瀏覽器也試圖連接到網(wǎng)絡(luò)上,這樣可能干擾一 些實(shí)施例的操作。 在各種實(shí)施例中,萬維網(wǎng)瀏覽器105可以提供用戶接口的基礎(chǔ),并且可以包括諸
如用于諸如JavaScript⑧、Flash 、 VBScript和/或者其它腳本編程語言的計(jì)算
機(jī)編程語言的腳本解釋程序的語言解釋程序,其中由runtime解釋程序?qū)崟r(shí)解釋基于瀏覽 器的腳本、字節(jié)碼集、或者語言。利用諸如HTML、XHTML、XML、異步JavaScript和XML(Ajax) 等等的各種萬維網(wǎng)技術(shù),萬維網(wǎng)瀏覽器105可以提供在萬維網(wǎng)瀏覽器105上運(yùn)行萬維網(wǎng)應(yīng) 用程序的平臺(tái)。 通常,應(yīng)用程序管理框架IOO可以由萬維網(wǎng)瀏覽器105支持的諸如一種或者多種 編程語言、腳本語言或者基于虛擬機(jī)(VM)語言的計(jì)算機(jī)編程語言編寫。例如,諸如HTML、 CSS、 JavaScript、以及ECMAScript的各種標(biāo)準(zhǔn)萬維網(wǎng)技術(shù)可以應(yīng)用于創(chuàng)建應(yīng)用程序管理 框架100。由于許多網(wǎng)頁作者熟悉這些技術(shù),利用應(yīng)用程序管理框架的好處是顯而易見的。 我們知道,利用萬維網(wǎng)技術(shù)進(jìn)行開發(fā)通常比諸如C、 C++等等的專用本機(jī)編程語言進(jìn)行開發(fā) 要快得多,而且容易得多。此外,對(duì)于移動(dòng)裝置,這種本機(jī)編程語言通常要求昂貴的開發(fā)工 具。然而,對(duì)于萬維網(wǎng)應(yīng)用程序,一大批免費(fèi)可用的或者廉價(jià)的軟件開發(fā)工具使得更大的開 發(fā)商群體進(jìn)行萬維網(wǎng)應(yīng)用程序開發(fā)成為可能。 如圖所示,應(yīng)用程序管理框架100可以包括并且封裝一個(gè)或者多個(gè)諸如萬維網(wǎng)應(yīng) 用程序110-1至110-N的萬維網(wǎng)應(yīng)用程序,其中N是基于所描述的實(shí)施例的任意適當(dāng)正整 數(shù)。萬維網(wǎng)應(yīng)用程序110-1至110-N均可以由萬維網(wǎng)瀏覽器105支持的任何語言編寫。萬 維網(wǎng)應(yīng)用程序110-1至110-N的和應(yīng)用程序管理框架100的源代碼在諸如臺(tái)式計(jì)算機(jī)、移 動(dòng)電話等等的一大批硬件和軟件平臺(tái)之間是高度可移植的。此外,中央服務(wù)器可以將一組 萬維網(wǎng)應(yīng)用程序110-1至IIO-N預(yù)載到應(yīng)用程序管理框架100內(nèi),并且對(duì)許多計(jì)算裝置提 供整個(gè)應(yīng)用程序管理框架100。在一些實(shí)施例中,萬維網(wǎng)應(yīng)用程序110-1至IIO-N可以包 括,或者可以在應(yīng)用程序管理框架100內(nèi)由一個(gè)或者多個(gè)小型應(yīng)用程序或者widget予以實(shí) 現(xiàn)。 應(yīng)用程序管理框架IOO可以允許用戶在萬維網(wǎng)應(yīng)用程序110-1至110-N之間快 速切換,而不必重新啟動(dòng)萬維網(wǎng)瀏覽器105或者HTML應(yīng)用程序環(huán)境。在各種實(shí)現(xiàn)中,例 如,多個(gè)萬維網(wǎng)應(yīng)用程序110-1至IIO-N可以同時(shí)運(yùn)行在應(yīng)用程序管理框架100內(nèi)。在 一個(gè)實(shí)施例中,萬維網(wǎng)應(yīng)用程序110-1至110-N可以運(yùn)行在應(yīng)用程序管理框架100內(nèi)的 HTML " iframe"上。當(dāng)多個(gè)萬維網(wǎng)應(yīng)用程序已在運(yùn)行并且駐留在內(nèi)存中時(shí),在萬維網(wǎng)應(yīng)用程 序之間進(jìn)行切換通常需要非常短的時(shí)間,因此改善了用戶感受。 應(yīng)用程序管理框架100可以捕獲用戶交互事件,諸如鼠標(biāo)點(diǎn)擊、指示筆點(diǎn)擊、鍵盤 輸入、滾動(dòng)鍵(jog wheel)輸入、觸摸屏輸入、語音輸入、按鈕輸入等等。應(yīng)用程序管理框架 IOO可以選擇性地將一個(gè)或者多個(gè)捕獲事件送到包含在應(yīng)用程序管理框架100內(nèi)的一個(gè)或 者多個(gè)萬維網(wǎng)應(yīng)用程序110-1至IIO-N。這有利于創(chuàng)建一組一起具有一組通用用戶輸入控 件的萬維網(wǎng)應(yīng)用程序。此外,對(duì)于具有有限輸入控件的裝置,這樣簡化了萬維網(wǎng)應(yīng)用程序開 發(fā)。例如,在移動(dòng)電話上,允許用一只手指控制萬維網(wǎng)應(yīng)用程序是有利的。在各種實(shí)施例中, 應(yīng)用程序管理框架100可以支持用戶能夠利用單只手指或者"鼠標(biāo)懸停(mouseover)"在萬維網(wǎng)應(yīng)用程序110-1至110-N之間快速切換,以保證用戶感受愉快。 應(yīng)用程序管理框架100可以對(duì)一個(gè)或者多個(gè)所包含的萬維網(wǎng)應(yīng)用程序110-1至 110-N的各方面進(jìn)行控制。例如,應(yīng)用程序管理框架100可以對(duì)哪個(gè)萬維網(wǎng)應(yīng)用程序在給定 時(shí)間對(duì)用戶是可視的、萬維網(wǎng)應(yīng)用程序是否在有效處理數(shù)據(jù)、和/或者何時(shí)指示"更新"萬 維網(wǎng)應(yīng)用程序或者將萬維網(wǎng)應(yīng)用程序重新下載到萬維網(wǎng)瀏覽器105上,進(jìn)行控制。應(yīng)用程 序管理框架100還可以提示一個(gè)或者多個(gè)所包含的萬維網(wǎng)應(yīng)用程序110-1至IIO-N重新下 載或者更新其數(shù)據(jù)。 在各種實(shí)施例中,應(yīng)用程序管理框架100可以提供保證開發(fā)商將多任務(wù)引入一個(gè) 或者多個(gè)萬維網(wǎng)應(yīng)用程序l 10-1至110-N的機(jī)制。例如,通過利用隱藏式幀(hidden frame) 按計(jì)劃"隱藏"萬維網(wǎng)應(yīng)用程序,應(yīng)用程序管理框架100可以使萬維網(wǎng)應(yīng)用程序在背景中運(yùn) 行,同時(shí)用戶看到不同萬維網(wǎng)應(yīng)用程序的用戶接口。 應(yīng)用程序管理框架100還可以提供開發(fā)商將基于萬維網(wǎng)的廣告插入其萬維網(wǎng)應(yīng) 用程序的機(jī)制。例如,萬維網(wǎng)應(yīng)用程序110-1至IIO-N可以使用現(xiàn)有廣告鏈路和腳本編制 方法,也是在包括計(jì)算機(jī)和移動(dòng)電話的廣泛的裝置上看得見的。 一個(gè)或者多個(gè)萬維網(wǎng)應(yīng)用 程序110-1至IIO-N可以包括橫幅廣告和/或者它本身可以是受應(yīng)用程序管理框架100控 制和配置的廣告。我們明白,應(yīng)用程序管理框架100使得對(duì)最終用戶提供免費(fèi)或者低成本 萬維網(wǎng)應(yīng)用程序的商務(wù)方法成為可能,在這種方法中,廣告收入可以在萬維網(wǎng)應(yīng)用程序開 發(fā)商、裝置制造商、服務(wù)提供商、甚至最終用戶之間共享。 圖2示出適于實(shí)現(xiàn)各種實(shí)施例的計(jì)算裝置200。如圖所示,計(jì)算裝置200可以包括 萬維網(wǎng)瀏覽器205和萬維網(wǎng)虛擬機(jī)(WebVM)210。在各種實(shí)施例中,應(yīng)用程序管理框架100 可以與萬維網(wǎng)瀏覽器205交互,如上所述。在這種實(shí)現(xiàn)中,應(yīng)用程序管理框架100的能力可 以與WebVM 210的能力組合。 通常,WebVM 210可以實(shí)現(xiàn)本地萬維網(wǎng)主機(jī),以在計(jì)算裝置200上提供服務(wù)器功 能,并且對(duì)萬維網(wǎng)瀏覽器205使用本地應(yīng)用程序。當(dāng)在計(jì)算裝置200上實(shí)現(xiàn)為服務(wù)器時(shí), WebVM 210可以支持多個(gè)應(yīng)用程序并且可以提供對(duì)多個(gè)應(yīng)用程序的訪問。WebVM 210可以 在計(jì)算裝置200上本地運(yùn)行諸如PHP、Python、PERL或者CGI編程環(huán)境的服務(wù)器端代碼。為 了能夠訪問計(jì)算裝置200的本地資源,WebVM 210還可以通過S0AP、XML PRC、REST等等實(shí)現(xiàn) 萬維網(wǎng)方法編程接口和萬維網(wǎng)服務(wù)擴(kuò)展。因此,計(jì)算裝置200可以提供用以訪問諸如文件 系統(tǒng)、電話簿、媒體儲(chǔ)存庫(media store)、數(shù)據(jù)庫、硬件部件(例如,照相機(jī)、麥克風(fēng)等等)、 軟件部件、和/或者計(jì)算裝置200的其它受控資源的本地資源的服務(wù)器端接口。這種接口 還可以實(shí)現(xiàn)服務(wù)器端代碼,用以允許用戶對(duì)諸如電話簿、媒體儲(chǔ)存庫等等的本地資源進(jìn)行 寫入。 WebVM 210可以執(zhí)行諸如安全HTTP(http)和/或者其它登錄方法的保密措施,以 獲得用戶驗(yàn)證,從而防止未授權(quán)存取和使用應(yīng)用程序和/或者其它資源??梢耘渲迷揥ebVM 210,以在計(jì)算裝置200上的應(yīng)用程序與萬維網(wǎng)瀏覽器205之間起媒介作用,從而代理本地 服務(wù),并且確保只有可信實(shí)體可以準(zhǔn)許訪問特定功能。WebVM 210將可以實(shí)現(xiàn)各種基于web 的保密模型和訪問限制,以對(duì)從請(qǐng)求訪問計(jì)算裝置200的本地資源的萬維網(wǎng)瀏覽器進(jìn)行函 數(shù)調(diào)用進(jìn)行評(píng)估。 當(dāng)與WebVM 210組合時(shí),應(yīng)用程序管理框架100具有幾個(gè)附加優(yōu)點(diǎn)。例如,在應(yīng)用程序管理框架100內(nèi)的一個(gè)或者多個(gè)萬維網(wǎng)應(yīng)用程序110-1至IIO-N可以與運(yùn)行在WebVM 210內(nèi)的本地服務(wù)器上的本地萬維網(wǎng)應(yīng)用程序或者本機(jī)應(yīng)用程序交互,它們都在計(jì)算裝置 200本身內(nèi)。在計(jì)算裝置200未連接到網(wǎng)絡(luò)上的時(shí)間內(nèi),或者在需要將萬維網(wǎng)應(yīng)用程序的數(shù) 據(jù)本地存儲(chǔ)到計(jì)算裝置200上的時(shí)間內(nèi),這是具有優(yōu)點(diǎn)的。在各種實(shí)施例中,諸如widget 的駐留或者非駐留萬維網(wǎng)應(yīng)用程序可以具有通過由WebVM 210實(shí)現(xiàn)的脫機(jī)代理對(duì)計(jì)算裝 置的起始屏幕(home screen)發(fā)布通知的能力。 此外,應(yīng)用程序管理框架100上的萬維網(wǎng)應(yīng)用程序可以使用WebVM 210的代理服 務(wù),從與萬維網(wǎng)應(yīng)用程序來源于其的網(wǎng)站不同的網(wǎng)站存取數(shù)據(jù)或者服務(wù)。通常,用于萬維網(wǎng) 應(yīng)用程序的"起始策略"避免這種行為,以致運(yùn)行在萬維網(wǎng)瀏覽器上的腳本只能存取或者修 改位于該腳本來源于其的網(wǎng)站上的數(shù)據(jù)。當(dāng)與WebVM 210組合時(shí),應(yīng)用程序管理框架100 可以提供根據(jù)該限制工作的機(jī)制。然后,在WebVM 210內(nèi)實(shí)現(xiàn)適當(dāng)?shù)谋C懿呗浴?
此外,WebVM 210可以頻繁高速緩存所需數(shù)據(jù),以便它可以立即被萬維網(wǎng)應(yīng)用程序 使用,而無需要求用戶等待利用網(wǎng)絡(luò)存取數(shù)據(jù)。這顯著改善用戶的整體感受,以致即使連接 到網(wǎng)絡(luò)上的速度慢或者不能連接到網(wǎng)絡(luò)上,用戶仍感覺數(shù)據(jù)總是可用的。
圖2示出WebVM 210的一種可能實(shí)現(xiàn),配置WebVM 210,以在諸如移動(dòng)裝置(例如, 移動(dòng)裝置IOO)或者臺(tái)式計(jì)算機(jī)的計(jì)算裝置200上運(yùn)行。在各種實(shí)施例中,可以如2006年 12月18日提交的名稱為"System for Running Web ApplicationsOffline and Providing Access to Native Services"的第11/612, 282號(hào)美國專利申請(qǐng)所述,實(shí)現(xiàn)web虛擬機(jī) (WebVM) 210,引用該美國專利申請(qǐng)的全部內(nèi)容供參考。 如圖所示,WebVM 210通過連接215直接與萬維網(wǎng)瀏覽器205交互,該連接215由 運(yùn)行在計(jì)算裝置200上的http網(wǎng)絡(luò)連接予以實(shí)現(xiàn)。通常,這可以由連接到本地主機(jī)IP地 址(例如,127. 0. 0. 1)或者其它適當(dāng)?shù)刂坊蛘叩刂放c端口的組合的萬維網(wǎng)瀏覽器205激活。 因此,WebVM 210可以在不同的地址端口組合上以及在不同的保密等級(jí)上同時(shí)提供不同的 應(yīng)用程序,其中每個(gè)應(yīng)用程序?qū)τ诒镜刭Y源有不同的許可等級(jí)和存取權(quán)限。
WebVM 210通過包括設(shè)備內(nèi)存API 238、設(shè)備文件API243、設(shè)備線程API 247、以及 專用設(shè)備函數(shù)和API 253的應(yīng)用程序接口 (API)連接到設(shè)備服務(wù)。請(qǐng)注意,WebVM 210利 用API 238、243和247連接便于進(jìn)行諸如內(nèi)存訪問、文件系統(tǒng)和任務(wù)/線程的內(nèi)部操作并 且還用于在不同類別的設(shè)備和操作系統(tǒng)之間移植WebVM 210的資源。 接口 253可以由一個(gè)或者多個(gè)表示W(wǎng)ebVM 210的擴(kuò)展性質(zhì)的元接口予以實(shí)現(xiàn)。利 用SOAP、 REST或者其它萬維網(wǎng)服務(wù)綁定、運(yùn)行在WebVM 210上或者通過萬維網(wǎng)瀏覽器205 運(yùn)行的萬維網(wǎng)程序,諸如通過Ajax,可以對(duì)該計(jì)算裝置200存取特定服務(wù)。例如,計(jì)算裝置 200可以包括可用作C++或者Java service的機(jī)載照相機(jī)的電話簿或者數(shù)字媒體儲(chǔ)存庫。 在外部服務(wù)器不依賴于能夠根據(jù)萬維網(wǎng)編程技術(shù)存取本地服務(wù)并且保持客戶機(jī)_服務(wù)器 編程模型,而萬維網(wǎng)保密模型原封不動(dòng)的情況下,利用WebVM 210通過接口 253的接口能 力,可以使萬維網(wǎng)應(yīng)用程序本地運(yùn)行在計(jì)算裝置200上(例如,移動(dòng)裝置或者臺(tái)式計(jì)算機(jī))。 例如,基于萬維網(wǎng)的電話簿應(yīng)用程序可以通過接口 253存取計(jì)算裝置200上的本地電話簿, 然后,在本地將聯(lián)系信息存儲(chǔ)在本地SQL數(shù)據(jù)庫213上,以產(chǎn)生混合功能。之后,同一個(gè)萬 維網(wǎng)應(yīng)用程序可以通過互聯(lián)網(wǎng)將通過接口 255檢索到的電話簿信息發(fā)送到或者存儲(chǔ)到在 線門戶網(wǎng)站。
根據(jù)一些實(shí)施例,接口 253可以包括設(shè)備主叫用戶IDAPI (Device Caller ID API)。利用SOAP、 REST或者其它web服務(wù)綁定,運(yùn)行在WebVM 210上的或者通過萬維網(wǎng)瀏 覽器205運(yùn)行的,諸如通過Ajax運(yùn)行的web程序,可以對(duì)計(jì)算裝置202存取特殊服務(wù)。例 如,計(jì)算裝置202可以包括電話簿、通話記錄(call log)以及對(duì)計(jì)算裝置202上的主叫用 戶10信息的存取,它們可以用作0++或者Java service。 在運(yùn)行中,如由萬維網(wǎng)瀏覽器205與網(wǎng)絡(luò)代理260通過通路215的交互所描述的, WebVM 210運(yùn)行http服務(wù)器堆棧的幾個(gè)部分。網(wǎng)絡(luò)代理260可以包括實(shí)現(xiàn)軟件堆棧的基 于規(guī)則的網(wǎng)絡(luò)代理引擎,該軟件堆棧使輸入的網(wǎng)絡(luò)流量或者通過接口 255流向外界,或者 通過通路245流向http服務(wù)器265。例如,XHTML特許的并且運(yùn)行諸如JavaScript或者 VBScript的本地腳本語言(在萬維網(wǎng)瀏覽器205中)的基于瀏覽器的應(yīng)用程序可以請(qǐng)求 新資源,諸如新頁面或者XMLHttpRequest型數(shù)據(jù)調(diào)用。該請(qǐng)求通過網(wǎng)絡(luò)代理260從萬維網(wǎng) 瀏覽器205到達(dá)http服務(wù)器265,以進(jìn)行處理。如果該請(qǐng)求是予萬維網(wǎng)網(wǎng)頁向服務(wù)器(例 如,萬維網(wǎng)廣告服務(wù)器),或者類似可尋址資產(chǎn)查詢?nèi)f維網(wǎng)網(wǎng)頁,則http服務(wù)器265可以取 出該資源,然后,將它送回萬維網(wǎng)瀏覽器205。 http服務(wù)器265可以從幾個(gè)本地對(duì)象之一獲 取資源,該本地對(duì)象包括由http服務(wù)器265和通過通路240連接到http服務(wù)器265的本 地應(yīng)用程序捆綁管理器(local即plication bundle manager) 235實(shí)現(xiàn)的本地安裝文件系 統(tǒng)。 如果該請(qǐng)求是對(duì)服務(wù)器端腳本語言(例如,PHP 、 Python 、 Java企業(yè)版(Java Enterprise Edition) 、 servlet或者公共網(wǎng)關(guān)接口腳本)進(jìn)行的數(shù)據(jù)調(diào)用或者回調(diào)函數(shù), 則http服務(wù)器265將該請(qǐng)求送到處理引擎。對(duì)于服務(wù)器端腳本語言,該請(qǐng)求通過通路270 被送到服務(wù)器端語言支持處理引擎275,該服務(wù)器端語言支持處理引擎275處理該請(qǐng)求、提 供語言具體特征、以及保持會(huì)話管理信息或者服務(wù)器端變量。如果該請(qǐng)求是通過萬維網(wǎng)描 述語言界面(web description language interface)(例如,SOAP、WSDL、REST、XML遠(yuǎn)程序 調(diào)用或者類似功能)的,則該請(qǐng)求可以通過通路285被送到用于如上所述完成該請(qǐng)求功能 的專用萬維網(wǎng)服務(wù)管理器223。還可以利用服務(wù)器端語言支持處理引擎275完成通過通路 290到專用萬維網(wǎng)服務(wù)管理器223的調(diào)用,從而使得或者僅Ajax應(yīng)用程序(例如,僅具有基 于瀏覽器的代碼和邏輯的應(yīng)用程序)或者基于服務(wù)器的代碼和邏輯能夠享用SOAP/REST/ Web服務(wù)插件。 WebVM 210也可以訪問通過通路217連接到萬維網(wǎng)服務(wù)管理器223的本地SQL數(shù) 據(jù)庫213。本地SQL數(shù)據(jù)庫213有能力存儲(chǔ)最終用戶數(shù)據(jù),諸如愛好、地址或者概況信息。 在一些實(shí)施例中,本地SQL數(shù)據(jù)庫213可以存儲(chǔ)廣告和主叫用戶ID信息。通過運(yùn)行在服務(wù) 器端語言支持處理引擎275上的服務(wù)器端腳本或者通過直接通過萬維網(wǎng)服務(wù)管理器223發(fā) 出的直接萬維網(wǎng)服務(wù)軟件調(diào)用(例如,SOAP調(diào)用),運(yùn)行在萬維網(wǎng)瀏覽器205上的應(yīng)用程序 可以訪問本地SQL數(shù)據(jù)庫213。本地SQL數(shù)據(jù)庫213還可以通過通路203連接到數(shù)據(jù)同步 引擎225。應(yīng)用程序資源以應(yīng)用程序捆綁方式存儲(chǔ)在由應(yīng)用程序捆綁管理器235實(shí)現(xiàn)的數(shù) 據(jù)庫中,該應(yīng)用程序捆綁管理器235通過通路240直接連接到http服務(wù)器265。由應(yīng)用程 序捆綁管理器235實(shí)現(xiàn)的數(shù)據(jù)庫還通過通路230連接到數(shù)據(jù)同步引擎225。
在各種實(shí)現(xiàn)中,在具有HTTP服務(wù)器部件或者沒有HTTP服務(wù)器部件的情況下,利用 消息傳遞接口 250與萬維網(wǎng)服務(wù)管理器223交互,也可以提供應(yīng)用程序捆綁225服務(wù)。這樣可以使應(yīng)用程序完成基于非套接字的直接服務(wù),從而以有效方式訪問本地硬件或者存儲(chǔ)器。接口 250的例子可以包括諸如Li皿x DBus的消息內(nèi)傳遞框架或者其它適當(dāng)消息傳遞框架。例如,萬維網(wǎng)服務(wù)管理器223可以通過直接消息傳遞接口與應(yīng)用程序管理框架100通信。在這種模型中,該應(yīng)用環(huán)境不僅可以用于這種瀏覽器,而且可以用于瀏覽器類的應(yīng)用程序。換句話說,諸如webkit的瀏覽器供應(yīng)引擎(a browser rendering engine)提供用于執(zhí)行JavaScript/ECMAscript的HTML和幫助程序庫,但是它本身不是瀏覽器應(yīng)用程序。即,用戶不認(rèn)為它們處于瀏覽器環(huán)境。 應(yīng)用程序捆綁管理器235管理整個(gè)萬維網(wǎng)應(yīng)用程序資產(chǎn)。應(yīng)用程序可以由包括萬維網(wǎng)應(yīng)用程序的一批必要應(yīng)用文件的萬維網(wǎng)歸檔文件提供服務(wù)。萬維網(wǎng)歸檔文件可以包括萬維網(wǎng)應(yīng)用程序的萬維網(wǎng)資產(chǎn)的捆綁或者封裝,該萬維網(wǎng)應(yīng)用程序包括索引文件、HTML文件、腳本文件(例如,JavaScript或者諸如PHP、 Python或者Perl的服務(wù)器腳本)、圖形(例如,JPEG、 GIF)、動(dòng)畫、字典、以及其它萬維網(wǎng)應(yīng)用程序部件。利用諸如zip、 gzip或者zlib、或者其它適當(dāng)封裝方案的文件歸檔庫,可以封裝、存儲(chǔ)以及壓縮該萬維網(wǎng)歸檔文件。
當(dāng)對(duì)可以作為包括該應(yīng)用程序資產(chǎn)的原子捆綁的一部分被存儲(chǔ)的特定文件進(jìn)行請(qǐng)求時(shí),網(wǎng)絡(luò)代理260、http服務(wù)器265、以及應(yīng)用程序捆綁管理器235順序工作,以解析該文件,就如同它宿主在因特網(wǎng)服務(wù)器上一樣。這些部件還以與瀏覽器高速緩存采用的同樣方式工作,以解析相同的原始策略保密執(zhí)行。換句話說,xyz. foo. com/mypage. xhtml可以被本地存儲(chǔ),但是不像以自動(dòng)(非程序控制)方法工作的瀏覽器高速緩存那樣以程序方式被訪問。明確地解析到本地地址(諸如運(yùn)行在127. 0. 0. 1上的端口, S卩,http回送地址(httploopback address))的統(tǒng)一資源定位器(URL)通過http接口 210解析到本地萬維網(wǎng)瀏覽器205,并且被送到本地萬維網(wǎng)瀏覽器205。在某些情況下,萬維網(wǎng)瀏覽器205并不清楚地知道實(shí)際提供該文件的地址。 利用同步引擎225,提供WebVM 210的附加功能,以分別通過通路230和203,更新本地存儲(chǔ)的應(yīng)用程序,諸如存儲(chǔ)在應(yīng)用程序捆綁管理器235的數(shù)據(jù)庫和本地SQL數(shù)據(jù)庫213內(nèi)的那些應(yīng)用程序。這樣可以使以捆綁方式存儲(chǔ)的應(yīng)用程序作為單個(gè)文件以原子方式存儲(chǔ)在計(jì)算裝置200上。然后,同步引擎225可以管理幾個(gè)這種應(yīng)用程序的存儲(chǔ)、更新、升級(jí)以及預(yù)訂狀態(tài)。例如,服務(wù)器可以存儲(chǔ)關(guān)于本地同步引擎225要增強(qiáng)的預(yù)訂應(yīng)用程序的信息。當(dāng)該預(yù)訂過期時(shí),該應(yīng)用程序捆綁將失效或者被刪除。該功能將與專用runtime(例如,Java微型版(Java MicroEdition))曾經(jīng)相關(guān)的應(yīng)用程序存儲(chǔ)器類型擴(kuò)展到基于萬維網(wǎng)的應(yīng)用程序。 此外,同步引擎225可以存儲(chǔ)、同步、并管理存儲(chǔ)在本地SQL數(shù)據(jù)庫213內(nèi)的應(yīng)用數(shù)據(jù)。在典型(基于服務(wù)器的)應(yīng)用中,用戶數(shù)據(jù)(例如,基于電子商務(wù)的網(wǎng)店(web store)購物車信息或者照片共享網(wǎng)站的相片)可以存儲(chǔ)在該網(wǎng)站的這種數(shù)據(jù)庫上。然而,利用WebVM 210,通過萬維網(wǎng)服務(wù)調(diào)用,可以立刻獲得利用基于萬維網(wǎng)的協(xié)議在本地存儲(chǔ)應(yīng)用數(shù)據(jù)的能力。此外,同步引擎225于是可以將存儲(chǔ)在本地SQL數(shù)據(jù)庫213內(nèi)的用戶數(shù)據(jù)移回位于因特網(wǎng)URL的標(biāo)準(zhǔn)運(yùn)行服務(wù)器中。因此,同步引擎225允許將應(yīng)用程序和用戶數(shù)據(jù)都本地存儲(chǔ)在計(jì)算裝置200上。如果計(jì)算裝置200無法找到,或者用戶獲得一個(gè)新的、可能被升級(jí)的裝置,則可以將該用戶的應(yīng)用程序或者應(yīng)用數(shù)據(jù)流暢無縫地重新送到該新裝置。
同步引擎225還可以利用通路220通過網(wǎng)絡(luò)代理260訪問外部因特網(wǎng)。這可以使同步引擎225移動(dòng)代碼資產(chǎn)以及存儲(chǔ)在應(yīng)用程序捆綁管理器235的數(shù)據(jù)庫或者本地SQL數(shù)據(jù)庫213內(nèi)的用戶數(shù)據(jù)和應(yīng)用數(shù)據(jù),并且根據(jù)預(yù)訂或者提供用戶應(yīng)用程序的商業(yè)規(guī)則保持它們。由于它利用數(shù)據(jù)庫存儲(chǔ)應(yīng)用程序捆綁和用戶數(shù)據(jù),所以WebVM 210還可以對(duì)不同的用戶支持不同的應(yīng)用許可,以允許某些用戶訪問比其它用戶更多或者不同的數(shù)據(jù)。
WebVM 210還可以實(shí)現(xiàn)2006年5月8日提交的名稱為"Method for SynchronizingSoftware Application and UserData for Asynchronous Client—Server and Peer toPeerComputer Networks"的第11/382, 058號(hào)美國專利申請(qǐng)描述的各種技術(shù),并且引用該美國專利申請(qǐng)的全部內(nèi)容供參考。因此,WebVM 210可以支持創(chuàng)建脫機(jī)萬維網(wǎng)應(yīng)用程序并且對(duì)脫機(jī)產(chǎn)生的、之后必須與一個(gè)或者多個(gè)中央服務(wù)器一致而不存在數(shù)據(jù)沖突的相關(guān)用戶數(shù)據(jù)進(jìn)行管理。這樣提供了不同用戶數(shù)據(jù)中的哪個(gè)版本是新的以及需要將哪個(gè)附加到中央服務(wù)器的信息。這應(yīng)用于實(shí)際萬維網(wǎng)應(yīng)用程序文件,以致除了使用戶產(chǎn)生明顯的在線和脫機(jī)感受的用戶數(shù)據(jù)之外,還可以使軟件應(yīng)用程序同步??梢砸栽试S對(duì)等同步和filedata分布的方式,分布數(shù)據(jù)集。為了提高計(jì)算機(jī)網(wǎng)絡(luò)上的可用帶寬的效率,可以將要求通過網(wǎng)絡(luò)使數(shù)據(jù)集同步的事務(wù)數(shù)據(jù)的數(shù)量降至最少。 WebVM 210還可以實(shí)現(xiàn)脫機(jī)自動(dòng)代理高速緩存,如2007年10月16日提交的名稱為"0ffline Automated Proxy Cache forWeb Applications"的第11/873, 305號(hào)美國專利申請(qǐng)所述,在此引用該美國專利申請(qǐng)的全部內(nèi)容供參考。脫機(jī)自動(dòng)高速緩存可以支持調(diào)度和自動(dòng)重發(fā)更新數(shù)據(jù)的請(qǐng)求。在各種實(shí)施例中,當(dāng)該公布應(yīng)用程序(publishingapplication)脫機(jī)時(shí),可以利用調(diào)度參數(shù)自動(dòng)檢索代表公布應(yīng)用程序的請(qǐng)求內(nèi)容的更新版本(例如,被關(guān)閉、runtime未運(yùn)行、VM未運(yùn)行等等)。在這種實(shí)施例中,即使當(dāng)該公布應(yīng)用程序沒有運(yùn)行時(shí),WebVM 210仍可以代表該重復(fù)調(diào)度運(yùn)行的公布應(yīng)用程序進(jìn)行重復(fù)的Ajax請(qǐng)求。該公布參數(shù)可以包括調(diào)度參數(shù),例如,該調(diào)度參數(shù)包括時(shí)間間隔參數(shù),定義了請(qǐng)求數(shù)據(jù)更新的時(shí)間間隔;歷史參數(shù),定義了可以同時(shí)高速緩存的最大數(shù)量的數(shù)據(jù)版本;數(shù)據(jù)期滿參數(shù),指定了高速緩存中數(shù)據(jù)的到期時(shí)間;重試參數(shù),定義了重試連接的次數(shù);等等。
利用覆蓋寫(overwrite)(例如,如果公布應(yīng)用程序發(fā)送不帶調(diào)度參數(shù)的同樣請(qǐng)求,則取消調(diào)度),利用顯式請(qǐng)求刪除(例如,如果公布應(yīng)用程序發(fā)送參數(shù),以通過序列號(hào)刪除公布的請(qǐng)求,則取消自動(dòng)調(diào)度的請(qǐng)求),利用應(yīng)用程序刪除(例如,如果用戶或者操作系統(tǒng)刪除該公布應(yīng)用程序,則從該系統(tǒng)刪除與該應(yīng)用程序相關(guān)的全部自動(dòng)公布和代理請(qǐng)求),利用程序清除(例如,API通過代理公布程序(proxy publisher)退出,以掛起給定的或者全部代理公布請(qǐng)求),和/或者利用超時(shí)(例如,如果給定的公布應(yīng)用程序沒有在諸如兩個(gè)星期的給定時(shí)間內(nèi)更新代理公布請(qǐng)求,則該代理公布程序可以使該重復(fù)代理請(qǐng)求老化移出、停止重復(fù)、并且與任何存儲(chǔ)數(shù)據(jù)和規(guī)則一起從該隊(duì)列中刪除),可以終止重復(fù)/自動(dòng)調(diào)度請(qǐng)求。 在各種實(shí)施例中,利用WebVM 210,在該應(yīng)用程序確定的名稱空間內(nèi),可以輪詢上述一些或者全部公布參數(shù)。這種名稱空間輪詢可以自動(dòng)執(zhí)行。例如,如果諸如MySuperWidget. wgt的公布應(yīng)用程序調(diào)用WebVM 210,則存儲(chǔ)的查詢和請(qǐng)求數(shù)據(jù)會(huì)被放在MySuperWidget作為前綴的名稱空間或者表內(nèi)。這樣,不同的應(yīng)用程序可以存儲(chǔ)具有代理的請(qǐng)求,并且可以保持各結(jié)果分離,以避免命名沖突(例如,兩個(gè)不同的銷售商使用相同的變量名)。對(duì)于某些實(shí)現(xiàn),明確鼓勵(lì)反向URL命名(例如,com. lampdesk. MySuperWidget)。此外,還可以對(duì)通信間的消息提供公用名稱空間。 WebVM 210還可以實(shí)現(xiàn)應(yīng)用程序runtime環(huán)境,如2008年1月4日提交的名稱為"System and Methods for ProvidingGra皿lar Security for Locally Running ScriptedEnvironmentsand Web Applications"的第12/019, 362號(hào)美國專利申請(qǐng)所述,引用該美國專利申請(qǐng)的全部內(nèi)容供參考。應(yīng)用程序runtime環(huán)境可以提供更精細(xì)的粒度以及在函數(shù)級(jí)的控制,而非為了控制應(yīng)用程序而強(qiáng)制執(zhí)行全有或者全無方法,在這種方法中,該應(yīng)用程序或者完全自由運(yùn)行或者被完全禁止運(yùn)行。特別是,應(yīng)用程序runtime環(huán)境允許基于腳本runtime的應(yīng)用程序利用函數(shù)調(diào)用等級(jí)控件,以簽約方式調(diào)用本地函數(shù)。
對(duì)于萬維網(wǎng)歸檔文件,可以將萬維網(wǎng)應(yīng)用程序的一批萬維網(wǎng)資產(chǎn)處理為可以簽約并且可以以安全方式分布的單個(gè)文件。當(dāng)捆綁萬維網(wǎng)歸檔文件,以提供API (例如,S0AP調(diào)用)的細(xì)節(jié)時(shí),自動(dòng)產(chǎn)生簽約文件(例如,顯化文件(manifest file)),當(dāng)該應(yīng)用程序在認(rèn)證機(jī)構(gòu)注冊(cè)時(shí),應(yīng)用程序以簽約方式使用。當(dāng)設(shè)置了應(yīng)用程序使用的本機(jī)函數(shù)(nativefunction)清單時(shí),簽署機(jī)構(gòu)和最后安裝該應(yīng)用程序的系統(tǒng)可以將該應(yīng)用程序試圖使用的函數(shù)與被簽署并被特許的函數(shù)清單進(jìn)行比較。這為目標(biāo)操作系統(tǒng)提供了額外保密層并且實(shí)現(xiàn)系統(tǒng)范圍的保密策略,以確定是否允許安裝應(yīng)用程序以及應(yīng)用程序使用的函數(shù)是否違反該策略。 可以將執(zhí)行函數(shù)調(diào)用的判定實(shí)時(shí)分派給操作系統(tǒng),以致整體保密性與該操作系統(tǒng)的總體保密策略一致。通過使操作系統(tǒng)負(fù)責(zé)允許函數(shù)調(diào)用,API級(jí)的平臺(tái)級(jí)保密控制可以通過多個(gè)runtime環(huán)境以及要求runtime環(huán)境僅跟蹤哪個(gè)應(yīng)用程序在請(qǐng)求什么服務(wù)予以實(shí)現(xiàn)。因此,該操作系統(tǒng)可以保持對(duì)保密性和訪問腳本應(yīng)用程序的控制,并且將必須遵從各種應(yīng)用程序runtime環(huán)境的保密機(jī)構(gòu)的數(shù)量最小化。 該應(yīng)用程序runtime環(huán)境還可以以統(tǒng)一方式將簽約過程和安裝虛擬機(jī)或者基于腳本runtime層的應(yīng)用程序回連到核心操作系統(tǒng)。特別是,當(dāng)準(zhǔn)許安裝應(yīng)用程序時(shí),該操作系統(tǒng)可以接受基于簽約腳本或者字節(jié)碼的應(yīng)用程序。此外,利用IP地址和端口地址組合,運(yùn)行在同一個(gè)本地計(jì)算裝置上的多個(gè)單獨(dú)萬維網(wǎng)應(yīng)用程序可以被跟蹤并且保持獨(dú)立。因此,在運(yùn)行在同一設(shè)備上的多個(gè)應(yīng)用程序中,可以強(qiáng)制賦予不同的保密等級(jí),并且即使應(yīng)用程序之一是"流氓"應(yīng)用程序,也可以保持應(yīng)用程序的完整性。 WebVM 210還可以執(zhí)行代理公布程序,如2008年5月7日提交的名稱為"Automatic Conversion Schema for Cached WebRequests"的第12/116, 697號(hào)美國專利申請(qǐng)所述,引用該美國專利申請(qǐng)的全部內(nèi)容供參考。該代理公布程序可以實(shí)現(xiàn)自動(dòng)轉(zhuǎn)換模式,該自動(dòng)轉(zhuǎn)換模式可以使得來自公布應(yīng)用程序的數(shù)據(jù)結(jié)果被顯示應(yīng)用程序而非被公布應(yīng)用程序提取和顯示。例如,代理公布程序可以接收來自公布應(yīng)用程序的請(qǐng)求,以檢索來自數(shù)據(jù)服務(wù)器的數(shù)據(jù)結(jié)果。該請(qǐng)求可以包括到數(shù)據(jù)服務(wù)器的通路和所附公布參數(shù)。根據(jù)自動(dòng)轉(zhuǎn)換模式,該公布參數(shù)可以包括與該公布應(yīng)用程序相關(guān)的解碼參數(shù),用于允許顯示應(yīng)用程序而非該公布應(yīng)用程序解碼該數(shù)據(jù)結(jié)果的變量,并且變換用于顯示的該解碼變量。該代理公布程序可以高速緩存包括所附公布參數(shù)的請(qǐng)求,并且檢索來自該數(shù)據(jù)服務(wù)器的數(shù)據(jù)結(jié)果。該代理公布程序可以本地存儲(chǔ)該數(shù)據(jù)結(jié)果以及高速緩存的公布參數(shù),并且通過將該高速緩存的數(shù)據(jù)結(jié)果和公布參數(shù)送到該顯示應(yīng)用程序,可以對(duì)來自顯示應(yīng)用程序?qū)εc該公布應(yīng)用程序相關(guān)的數(shù)據(jù)的查詢做出響應(yīng)。
在典型實(shí)施例中,該公布應(yīng)用程序可以包括以JavaScript和XHTML編寫的XHTMLwidget。該代理公布程序可以接收來自公布應(yīng)用程序的通過因特網(wǎng)從遠(yuǎn)程數(shù)據(jù)服務(wù)器上檢索數(shù)據(jù)結(jié)果的請(qǐng)求。來自該公布應(yīng)用程序的該請(qǐng)求可以包括到諸如統(tǒng)一資源定位器(URL)的遠(yuǎn)程數(shù)據(jù)服務(wù)器的通路和所附公布參數(shù)。 通過高速緩存包括所附公布參數(shù)的請(qǐng)求并且通過到遠(yuǎn)程數(shù)據(jù)服務(wù)器的通路,該代理公布程序可以處理來自公布應(yīng)用程序的請(qǐng)求。通過返回?cái)?shù)據(jù)結(jié)果,該遠(yuǎn)程數(shù)據(jù)服務(wù)器可以以常規(guī)方式做出響應(yīng)。該代理公布程序可以接收來自遠(yuǎn)程數(shù)據(jù)服務(wù)器的數(shù)據(jù)結(jié)果,并且通過在本地存儲(chǔ)該數(shù)據(jù)結(jié)果和該公布應(yīng)用程序的高速緩存公布參數(shù),處理該數(shù)據(jù)結(jié)果。
該公布參數(shù)可以包括與該公布應(yīng)用程序相關(guān)的解碼參數(shù),用于允許顯示應(yīng)用程序而非該公布應(yīng)用程序解碼該數(shù)據(jù)結(jié)果的變量并將它變換為用于顯示的解碼變量。解碼參數(shù)可以命名為公布最小化表示的該公布應(yīng)用程序而提取的變量。例如,通過僅公布一天的高溫,widget可以公布天氣應(yīng)用程序的最小化表示,或者通過僅公布未讀消息的數(shù)量,widget可以公布電子郵件應(yīng)用程序的最小化表示。 解碼參數(shù)還可以包括數(shù)據(jù)提取規(guī)則和數(shù)據(jù)格式化規(guī)則,用于指示該顯示應(yīng)用程序如何從數(shù)據(jù)結(jié)果(例如,響應(yīng)文本)中提取萬維網(wǎng)請(qǐng)求數(shù)據(jù)(例如,天氣)、如何格式化該數(shù)據(jù)(例如,將該字符串與提取的萬維網(wǎng)請(qǐng)求數(shù)據(jù)組合在一起)、以及如何顯示該數(shù)據(jù)(例如,顯示諸如URL或者文本的附加信息以及該響應(yīng)文本)。 隨后,該代理公布程序可以接收來自該顯示應(yīng)用程序的查詢。在某些情況下,該顯示應(yīng)用程序可以從特定命名請(qǐng)求中請(qǐng)求數(shù)據(jù)。例如,該顯示應(yīng)用程序可以請(qǐng)求與公布應(yīng)用程序相關(guān)的數(shù)據(jù)。在其它情況下,該顯示應(yīng)用程序可以向該代理公布程序要求當(dāng)前存儲(chǔ)的非專用(公布的)請(qǐng)求數(shù)據(jù)的全部名稱清單。如果該顯示應(yīng)用程序不要求特定名稱,則作為默認(rèn),該代理公布程序可以返回全部的命名規(guī)則。 —收到該顯示應(yīng)用程序選擇的可用名稱后,該代理公布程序可以將包括本地存儲(chǔ)數(shù)據(jù)結(jié)果和公布參數(shù)的匹配結(jié)果送到該顯示應(yīng)用程序。通過利用該提取規(guī)則提取和解碼該變量,并且利用該格式化規(guī)則以適當(dāng)方式顯示該提取值,該顯示應(yīng)用程序可以處理該匹配結(jié)果。在一些實(shí)施例中,通過利用該數(shù)據(jù)提取規(guī)則從該數(shù)據(jù)結(jié)果中提取變量以及將提取的變量和數(shù)據(jù)格式化規(guī)則送到該顯示應(yīng)用程序,該代理公布程序可以減少該顯示應(yīng)用程序所要求的處理。 通常,當(dāng)該公布應(yīng)用程序是基于萬維網(wǎng)的應(yīng)用程序時(shí),該顯示應(yīng)用程序可以由閱讀器應(yīng)用程序或者不能提供基于萬維網(wǎng)的標(biāo)準(zhǔn)內(nèi)容的萬維網(wǎng)瀏覽器外的移動(dòng)裝置起始屏幕(homescreen)予以實(shí)現(xiàn)。例如,該顯示應(yīng)用程序可以包括0/0++活動(dòng)的起始屏幕(activehome screen)、新聞聚會(huì)器(newsaggregator)、廣告牌(billboard)或者移云力裝置證券行情收錄器(mobile device ticker),該移動(dòng)裝置證券行情收錄器僅顯示少量信息,但是它要求高速緩存的數(shù)據(jù)結(jié)果的變換可以使用。利用公布應(yīng)用程序提供的解碼參數(shù),該顯示應(yīng)用程序可以將高速緩存數(shù)據(jù)變換為可以使用的格式。該顯示應(yīng)用程序一旦獲得可用格式的變量,該顯示應(yīng)用程序就可以以另一種格式重新公布該數(shù)據(jù)。 根據(jù)自動(dòng)轉(zhuǎn)換模式,該公布參數(shù)可以包括解碼參數(shù),用于允許該顯示應(yīng)用程序解碼該數(shù)據(jù)結(jié)果的變量并變換用于顯示的解碼的變量。該解碼參數(shù)可以包括名稱參數(shù)(例如,var—name)和變量名,用于使該公布應(yīng)用程序命名被提取的變量。該變量名可以由外部應(yīng)用程序使用,以尋址該萬維網(wǎng)應(yīng)用程序保留的參數(shù)。該變量名可能不是脫機(jī)代理請(qǐng)求編 碼的名稱,但是它是外部應(yīng)用程序所指的名稱(例如,"TempJli")。 解碼參數(shù)可以包括數(shù)據(jù)提取規(guī)則參數(shù)(例如,extraction_rules, var_extract_ regex)和用于從該響應(yīng)或者數(shù)據(jù)結(jié)果中提取信息的指令。該公布應(yīng)用程序可以使該代理 公布程序?qū)⒂糜趶脑擁憫?yīng)中提取信息的指令與該信息請(qǐng)求一起存儲(chǔ)。外部應(yīng)用程序(例 如,顯示應(yīng)用程序)或者代理公布程序可以使用該提取指令,從存儲(chǔ)的脫機(jī)代理請(qǐng)求中提 取(發(fā)現(xiàn))由該名稱參數(shù)(例如,varjame)所指的信息。 該提取指令可以以諸如PERL regex的服務(wù)器端腳本語言由規(guī)則表達(dá)式(regex) (例如,JS0N call) :get_byteS [23-28]或者"捕獲規(guī)則的表達(dá)式",予以實(shí)現(xiàn)。該提取指令 還可以通過Xpath或者XQuery予以實(shí)現(xiàn)。該提取指令還可以包括XSLT變換。該提取指令 還可以包括定制程序,該定制程序本身是用于處理該請(qǐng)求的指令。例如,用于從該數(shù)據(jù)結(jié)果 提取信息的存儲(chǔ)指令可以由含有JavaScript的XHTML網(wǎng)頁予以實(shí)現(xiàn)。
解碼參數(shù)可以包括數(shù)據(jù)格式化規(guī)則參數(shù)(例如,formatting—rules)和用于以外 部應(yīng)用程序(例如,該顯示應(yīng)用程序)使用的格式顯示該數(shù)據(jù)結(jié)果中的變量的指令。該公 布應(yīng)用程序可以使該代理公布程序?qū)⒁唤M表示如何顯示和格式化該提取數(shù)據(jù)的任選獨(dú)立 指令與該信息請(qǐng)求一起存儲(chǔ)。該格式化指令可以包括字符串,該字符串就是提取應(yīng)用程序 在警告對(duì)話中可以顯示的內(nèi)容。該參數(shù)可以利用不同語音參數(shù)進(jìn)行復(fù)制。該格式化指令可 以是變換規(guī)則集,該變換規(guī)則集取該提取值并且以諸如通過XSLT的特定格式(例如,如果 2007.04. 1 l是該日期,則通過regex將它變換為April 11,2007)顯示它。該提取指令用于 提取位于由該調(diào)用應(yīng)用程序(例如,公布應(yīng)用程序)形成的URL的服務(wù)器返回的數(shù)據(jù),而該 格式化指令詳細(xì)描述該提取數(shù)據(jù)應(yīng)當(dāng)如何出現(xiàn)在位于該調(diào)用應(yīng)用程序之外的特定應(yīng)用程 序(例如,顯示應(yīng)用程序)中。 該格式化指令可以由獨(dú)立于提取該數(shù)據(jù)使用的regex的規(guī)則表達(dá)式(regex)予以 實(shí)現(xiàn)。該格式化指令還可以包括XSLT變換。該格式化指令還可以依據(jù)其自己的權(quán)利由存儲(chǔ) 程序予以實(shí)現(xiàn)。例如,該存儲(chǔ)程序本身可以作為參數(shù)傳送,它攜帶該提取數(shù)據(jù),并且以該調(diào) 用應(yīng)用程序之外的外部應(yīng)用程序可以使用和處理的方式,顯示或者格式化該提取數(shù)據(jù)。例 如,該存儲(chǔ)程序可以包括諸如乂1^1^+JavaScript的腳本應(yīng)用程序。該顯示和格式化指令還 可以由為了格式化該提取數(shù)據(jù)而創(chuàng)建的定制語言予以實(shí)現(xiàn)。該顯示和格式化指令還可以由 A C/C++ sprintf ()授權(quán)串函數(shù)參數(shù)(c即able string function parameter)予以實(shí)現(xiàn)。
該解碼參數(shù)可以包括專用參數(shù)(例如,set_request_private),該專用參數(shù)可以 由標(biāo)志集予以實(shí)現(xiàn),因此,脫機(jī)代理請(qǐng)求不能被外部應(yīng)用程序讀取。通過指示代理從不鼓勵(lì) 來自特定應(yīng)用程序的請(qǐng)求來實(shí)現(xiàn)保密,該公布應(yīng)用程序可以有意不暴露其數(shù)據(jù)。這樣,可 以防止特定應(yīng)用程序接收給定的公布應(yīng)用程序的高速緩存數(shù)據(jù)結(jié)果和公布參數(shù)。因此,該 公布應(yīng)用程序可以進(jìn)行脫機(jī)請(qǐng)求,該脫機(jī)請(qǐng)求是使用其它應(yīng)用程序所專用的(而不是共享 的)。 該公布參數(shù)可以包括事件參數(shù)或者命令,用于要求該代理公布程序代表請(qǐng)求處理 之外的應(yīng)用程序執(zhí)行動(dòng)作,以使萬維網(wǎng)應(yīng)用程序如常規(guī)應(yīng)用程序一樣工作,但是具有背景 喚醒任務(wù)。該任選參數(shù)是否可以執(zhí)行取決于保密等級(jí)和操作系統(tǒng)。該事件參數(shù)可以包括 wake—upon(條件)參數(shù)或者命令,用于當(dāng)滿足特定脫機(jī)代理?xiàng)l件(例如,收到電子郵件)時(shí),請(qǐng)求該代理公布程序喚醒(啟動(dòng))應(yīng)用程序。是否實(shí)際啟動(dòng)該應(yīng)用程序由保密許可或 者操作系統(tǒng)決定。該代理公布程序可以執(zhí)行操作系統(tǒng)服務(wù),以使應(yīng)用程序睡眠,從而公布可 以讀取并且可以傳送到其它應(yīng)用程序的服務(wù)。例如,C/C++應(yīng)用程序可以利用該代理公布 程序告示自身更新以及提出共享的可公布結(jié)果的請(qǐng)求。通常,當(dāng)滿足特定喚醒條件時(shí),任何 被編譯(靜態(tài)鏈接)的應(yīng)用程序都可以利用該代理公布程序進(jìn)行喚醒。
該事件參數(shù)可以包括alert—upon(條件)參數(shù)或者命令,用于當(dāng)滿足條件(例如, 公布應(yīng)用程序需要注意)時(shí),請(qǐng)求該代理公布程序?qū)υ摬僮飨到y(tǒng)發(fā)出警告。這可以使萬維 網(wǎng)應(yīng)用程序通過該代理公布程序告示信息。該響應(yīng)可以是對(duì)話框中告示的消息或者該裝置 的起始屏幕/空閑屏幕上的文本或圖標(biāo)通知。例如,運(yùn)行在蜂窩電話裝置上的腳本widget 應(yīng)用程序可以提供電子郵件查看服務(wù),并且可以設(shè)定事件,以致當(dāng)該代理公布程序發(fā)現(xiàn)新 電子郵件時(shí),將事件請(qǐng)求發(fā)送到該裝置的空閑屏幕,以使該用戶知道查看其電子郵件。警告 參數(shù)還可以包fiH壬選alert_msg參數(shù)禾口^f壬選alert_urgency參數(shù)。 可以根據(jù)操作系統(tǒng)的保密策略,限制公布應(yīng)用程序的脫機(jī)權(quán)能。例如,該代理公布 程序可以與該操作系統(tǒng)交互保密策略和許可,以限制公布應(yīng)用程序脫機(jī)權(quán)能的使用。在一 些實(shí)施例中,為了保密目的,該代理公布程序包括應(yīng)用程序簽名ID或者參考頁,用于操作 系統(tǒng)決定是否響應(yīng)喚醒或者變更條件而執(zhí)行請(qǐng)求。 WebVM 210還可以如2008年4月2日提交的名稱為"Systemand Methods for Providing Access to a Desktop andApplications of a Mobile Device,,的第12/061, 179 號(hào)美國專利申請(qǐng)所述予以實(shí)現(xiàn),引用該美國專利申請(qǐng)的全部內(nèi)容供參考。因此,宿主在計(jì)算 裝置200上的一個(gè)或者多個(gè)萬維網(wǎng)應(yīng)用程序被配置,可以由運(yùn)行在與該計(jì)算裝置200分離 的終端上的萬維網(wǎng)瀏覽器進(jìn)行訪問。在各種實(shí)現(xiàn)中,該終端顯示的UI可以包括與該計(jì)算裝 置200的UI相比得到增強(qiáng)的界面。例如,可以配置移動(dòng)裝置上的應(yīng)用程序,以提供包括到該 移動(dòng)裝置的瀏覽器的中心電話界面的UI,并且配置該移動(dòng)裝置上的應(yīng)用程序,以當(dāng)連接到 該終端的瀏覽器時(shí),提供包括增強(qiáng)(例如,較大/較好/不同)界面的UI。通常,應(yīng)用程序 可以提供在該移動(dòng)裝置上進(jìn)行顯示的簡化界面和利用該終端的較大和/或者更有用的資 產(chǎn)(例如,較大屏幕、全尺寸鍵盤、鼠標(biāo)、內(nèi)存、瀏覽器插件、硬件等等)優(yōu)勢(shì)的增強(qiáng)界面。例 如,當(dāng)處于電話模式時(shí),使用四向?qū)Ш胶?個(gè)軟鍵的移動(dòng)裝置上的應(yīng)用程序可以對(duì)使用諸 如全鍵盤和鼠標(biāo)的導(dǎo)航硬件并且在該終端的較大屏幕上顯示更多內(nèi)容的終端提供增強(qiáng)UI。
采用基于萬維網(wǎng)的技術(shù)可以允許移動(dòng)裝置傳送諸如小widget的多功能數(shù)據(jù)應(yīng)用 程序或者甚至較大的傳統(tǒng)應(yīng)用程序。例如,在某些情況下,可以配置移動(dòng)裝置,以宿主并且 運(yùn)行PC應(yīng)用程序。在這種情況下,當(dāng)被該終端訪問時(shí),可以運(yùn)行該應(yīng)用程序的增強(qiáng)版,而當(dāng) 被該主機(jī)移動(dòng)裝置訪問時(shí),可以運(yùn)行該應(yīng)用程序的簡化版??梢耘渲迷搼?yīng)用程序,以支持在 該處理中無需要求修改該應(yīng)用程序的兩種環(huán)境。這樣,該應(yīng)用程序可以檢測到其環(huán)境,并且 當(dāng)被該移動(dòng)裝置使用時(shí)和被該終端使用時(shí),該應(yīng)用程序的運(yùn)行不同。 圖3示出用于初始化應(yīng)用程序管理框架100的邏輯流程300的一個(gè)實(shí)施例??梢?由各種系統(tǒng)和/或者裝置執(zhí)行邏輯流程300,并且邏輯流程300可以根據(jù)一組給定設(shè)計(jì)參數(shù) 或者性能約束的要求,由硬件、軟件、固件和/或者它們的任意組合予以實(shí)現(xiàn)。例如,邏輯流 程300的一個(gè)或者多個(gè)操作可以由邏輯器件(例如,計(jì)算機(jī)、處理器)執(zhí)行的可執(zhí)行程序指 令予以實(shí)現(xiàn)。
在該實(shí)施例中,用戶指示萬維網(wǎng)瀏覽器105開始工作,以初始化應(yīng)用程序管理框 架100(步驟302)。例如,通過利用命令行自變量啟動(dòng)萬維網(wǎng)瀏覽器105,或者通過提供統(tǒng) 一資源定位器(URL),用戶可以指定應(yīng)用程序管理框架100的腳本的協(xié)議、地址和名稱。萬 維網(wǎng)瀏覽器105利用該信息啟動(dòng)應(yīng)用程序管理框架100 (步驟304)。 在該典型實(shí)施例中,應(yīng)用程序管理框架100掃描其文檔根,以發(fā)現(xiàn)可用萬維網(wǎng)應(yīng) 用程序資產(chǎn)(步驟306)。然后,應(yīng)用程序管理框架100裝載第一萬維網(wǎng)應(yīng)用程序的萬維網(wǎng) 應(yīng)用程序資產(chǎn)(步驟308)。如果附加的萬維網(wǎng)應(yīng)用程序可用(步驟310),則應(yīng)用程序管理 框架100對(duì)每個(gè)萬維網(wǎng)應(yīng)用程序重復(fù)該處理(步驟312)。當(dāng)全部萬維網(wǎng)應(yīng)用程序的所有 萬維網(wǎng)資產(chǎn)被裝載時(shí)(步驟314),應(yīng)用程序管理框架100激活第一萬維網(wǎng)應(yīng)用程序(步驟 316)并且準(zhǔn)備好接收用戶輸入事件(步驟318)。 我們明白,邏輯流程300示出用于初始化應(yīng)用程序管理框架100的典型順序,并且 可以利用替換步驟在該應(yīng)用程序管理框架IOO內(nèi)安裝一個(gè)或者多個(gè)萬維網(wǎng)應(yīng)用程序。例 如,在某些情況下,萬維網(wǎng)應(yīng)用程序可以直接插入該應(yīng)用程序管理框架100的源代碼中。此 外,或者作為一種選擇,在用戶啟動(dòng)或者請(qǐng)求時(shí),WebVM 210可以存儲(chǔ)一個(gè)或者多個(gè)要由該 應(yīng)用程序管理框架100裝載的萬維網(wǎng)應(yīng)用程序。 在各種實(shí)施例中,一系列萬維網(wǎng)應(yīng)用程序可以存儲(chǔ)在用戶的計(jì)算裝置上的 "cookie"中,因此,可以重裝或者配置該萬維網(wǎng)應(yīng)用程序。在某些情況下,可以通過服務(wù)器 端邏輯(例如,SOAP、REST、JSON等)提供該系列萬維網(wǎng)應(yīng)用程序。 一些實(shí)施例可以利用服 務(wù)器端語言(例如,PHP)構(gòu)建可以由用戶和/或者萬維網(wǎng)應(yīng)用程序開發(fā)商定制的萬維網(wǎng)應(yīng) 用程序啟動(dòng)器。特定實(shí)施例還可以將用戶愛好、配置或者萬維網(wǎng)應(yīng)用數(shù)據(jù)保存到在用戶裝 置上(例如,通過WebVM 210)或者在網(wǎng)絡(luò)服務(wù)器上本地實(shí)現(xiàn)的數(shù)據(jù)庫內(nèi)。此外,該應(yīng)用程 序管理框架100可以兼容諸如Adobe PDF、Flash 、VMRL等等的"插件(plug-in)"技術(shù)。
圖4示出該應(yīng)用程序管理框架100處理事件的邏輯流程400的一個(gè)實(shí)施例。邏輯 流程400可以由各種系統(tǒng)和/或者裝置執(zhí)行,并且它可以根據(jù)一組給定設(shè)計(jì)參數(shù)或者性能 約束的要求,由硬件、軟件、固件和/或者它們的組合予以實(shí)現(xiàn)。例如,該邏輯流程400的一 個(gè)或者多個(gè)操作可以由邏輯器件(例如,計(jì)算機(jī)、處理器)執(zhí)行的可執(zhí)行程序指令予以實(shí) 現(xiàn)。 在該實(shí)施例中,該應(yīng)用程序管理框架100對(duì)諸如用戶交互事件的一個(gè)或者多個(gè)事
件進(jìn)行處理。在裝載了該應(yīng)用程序管理框架ioo和萬維網(wǎng)應(yīng)用程序后,該應(yīng)用程序管理框
架100就準(zhǔn)備好處理事件(步驟402)。在該典型實(shí)施例中,用戶可以通過在萬維網(wǎng)應(yīng)用程 序圖標(biāo)上點(diǎn)擊鼠標(biāo)按鈕觸發(fā)事件(步驟404)。該應(yīng)用程序管理框架IOO捕獲用戶輸入(步 驟406)。然后,該應(yīng)用程序管理框架IOO使選擇的萬維網(wǎng)應(yīng)用程序的圖標(biāo)高亮(步驟408), 并激活選擇的萬維網(wǎng)應(yīng)用程序(步驟410)。 一旦萬維網(wǎng)應(yīng)用程序被激活,該應(yīng)用程序管理 框架100就對(duì)該用戶事件做出響應(yīng)(步驟412)。 如果事件發(fā)生在選擇的萬維網(wǎng)應(yīng)用程序中(步驟414),則該應(yīng)用程序管理框架 IOO可以將該事件送到選擇的萬維網(wǎng)應(yīng)用程序(步驟416)。如果事件發(fā)生在該應(yīng)用程序管 理框架100的用戶界面內(nèi),諸如用戶點(diǎn)擊不同萬維網(wǎng)應(yīng)用程序圖標(biāo)(步驟418),則該應(yīng)用程 序管理框架100可以處理該事件(步驟420)。在該典型例子中,該應(yīng)用程序管理框架100 使選擇的萬維網(wǎng)應(yīng)用程序的圖標(biāo)高亮(步驟408),然后,繼續(xù)進(jìn)行該邏輯流程400的后續(xù)處理。 圖5示出適合實(shí)施各種實(shí)施例的移動(dòng)裝置500。如圖所示,移動(dòng)裝置500可以由組 合手持計(jì)算機(jī)和有時(shí)被稱為智能電話的移動(dòng)電話予以實(shí)現(xiàn)。我們明白,該移動(dòng)裝置500可 以包括具有手持形狀系數(shù)的計(jì)算裝置。盡管作為例子利用由智能電話實(shí)現(xiàn)的移動(dòng)裝置500 描述了特定實(shí)施例,但是該移動(dòng)裝置500可以由其它類型的用戶設(shè)備(UE)或者無線計(jì)算裝 置,諸如移動(dòng)電話、個(gè)人數(shù)字助理(PDA)、組合移動(dòng)電話/PDA、手持裝置、移動(dòng)單元、用戶臺(tái)、 游戲機(jī)、發(fā)信裝置(messaging device)、多媒體播放器、尋呼機(jī)、或者其它適當(dāng)移動(dòng)通信裝 置,予以實(shí)現(xiàn)。 通常,根據(jù)所描述的實(shí)施例,可以配置該移動(dòng)裝置500,以支持或者實(shí)現(xiàn)蜂窩語音 通信、無線數(shù)據(jù)通信以及計(jì)算能力。該移動(dòng)裝置500可以包括用于實(shí)現(xiàn)這種功能的各種部 件,例如,各種部件可以包括印刷電路板(PCB)、一個(gè)或者多個(gè)處理器(例如,主處理器、無 線電處理器)、一個(gè)或者多個(gè)收發(fā)信機(jī)(例如,語音通信收發(fā)信機(jī)、數(shù)據(jù)通信收發(fā)信機(jī)、GPS 收發(fā)信機(jī))、內(nèi)存(例如,易失性或者非易失性、可移動(dòng)的或者不可移動(dòng)的存儲(chǔ)器、可擦或者 不可擦存儲(chǔ)器、可寫或者可重寫存儲(chǔ)器)、內(nèi)部和/或者外部天線、可充電電池、等等。
通過利用移動(dòng)網(wǎng)絡(luò)進(jìn)行通信,諸如碼分多址(CDMA)網(wǎng)絡(luò)、全球移動(dòng)通信系統(tǒng) (GSM)網(wǎng)絡(luò)、北美數(shù)字蜂窩式(NADC)網(wǎng)絡(luò)、時(shí)分多址(TDMA)網(wǎng)絡(luò)、擴(kuò)展TDMA(E-TDMA)網(wǎng)絡(luò)、 窄帶高級(jí)移動(dòng)電話服務(wù)(NAMPS)網(wǎng)絡(luò)、諸如寬帶CDMA(WCDMA)網(wǎng)絡(luò)、CDMA-2000網(wǎng)絡(luò)、通用 移動(dòng)電話系統(tǒng)(UMTS)網(wǎng)絡(luò)的第三代(3G)網(wǎng)絡(luò)等等,該移動(dòng)裝置500可以實(shí)現(xiàn)語音和無線 數(shù)據(jù)通信功能。 該移動(dòng)裝置500還可以支持包括因特網(wǎng)接入的無線廣域網(wǎng)(WWAN)數(shù)據(jù)通信服務(wù)。 WWAN數(shù)據(jù)通信服務(wù)的例子可以包括演進(jìn)-數(shù)據(jù)優(yōu)化的或者演進(jìn)-僅數(shù)據(jù)(EV-DO)、演進(jìn)數(shù) 據(jù)和語音(EV-DV) 、 CDMA/1XRTT、具有通用分組無線服務(wù)系統(tǒng)的GSM(GSM/GPRS)、增強(qiáng)數(shù)據(jù)
速率的全球演進(jìn)(EDGE)、高速下行鏈路分組接入(HSDPA)、高速上行鏈路分組接入(HSUPA)
坐坐 寸寸。 根據(jù)電氣電子工程師學(xué)會(huì)(IEEE) 802. xx系列協(xié)議,諸如IEEE 802. lla/b/g/ n系列標(biāo)準(zhǔn)協(xié)議和變型(也稱為"WiFi") 、 IEEE 802. 16系列標(biāo)準(zhǔn)協(xié)議和變型(也稱為 "WiMAX") 、 IEEE802. 20系列標(biāo)準(zhǔn)協(xié)議和變型等等,該移動(dòng)裝置500可以實(shí)現(xiàn)無線局域網(wǎng) (WLAN)數(shù)據(jù)通信功能。 還可以根據(jù)短程無線網(wǎng)絡(luò),諸如根據(jù)藍(lán)牙技術(shù)聯(lián)盟(SIG)系列協(xié)議、技術(shù)規(guī)范、配 置文件(profile)等等,提供BluetOOth⑧數(shù)據(jù)通信服務(wù)的個(gè)人無線局域網(wǎng)(PAN),布置 該移動(dòng)裝置500,以執(zhí)行數(shù)據(jù)通信功能。短程無線網(wǎng)絡(luò)的其它例子可以采用紅外(IR)技術(shù) 或者近場通信技術(shù)和協(xié)議,諸如包括無源或者有源射頻識(shí)別(RFID)協(xié)議和裝置的電磁感 應(yīng)(EMI)技術(shù)。 該移動(dòng)裝置500可以包括各種輸入/輸出(I/O)接口,用于與其它裝置建立連接。
例如,該1/o接口可以包括串行連接端口、 iR端口、Bluetooth⑧接口、網(wǎng)絡(luò)接口、wiFi
接口、WiMAX接口、蜂窩式網(wǎng)絡(luò)接口、無線網(wǎng)絡(luò)接口卡(WNIC)、收發(fā)信機(jī)等等。根據(jù)所描述的 實(shí)施例,這種連接可以利用各種有線和/或者無線通信介質(zhì)予以實(shí)現(xiàn)。盡管作為例子利用 特定通信介質(zhì)描述了特定典型實(shí)施例,但是我們明白,利用各種通信介質(zhì)和相關(guān)技術(shù),可以 實(shí)現(xiàn)在此討論的原理和技術(shù)。
在一些實(shí)施例中,連接可以包括有線連接,諸如通用串行總線(USB)連接(例如,
usB主機(jī)、usB網(wǎng))、串行總線接口 (SBi)鏈接(例如,F(xiàn)ire Wire )或者其它適當(dāng)有線連
接,以當(dāng)非常靠近時(shí),將該移動(dòng)裝置500直接連接到(例如,系留、插入)裝置。在其它實(shí)現(xiàn)
中,連接可以包括短程無線連接(例如,Bluetooth⑧連接、IR連接),以當(dāng)非??拷鼤r(shí), 將該移動(dòng)裝置500通信連接到裝置。在某些實(shí)現(xiàn)中,根據(jù)所描述的實(shí)施例,該連接可以包括 該移動(dòng)裝置500與裝置之間的網(wǎng)絡(luò)連接,諸如WiFi連接、WiMax連接、以太網(wǎng)連接、蜂窩式 網(wǎng)絡(luò)(例如,1G/2G/3G)連接、或者其它適當(dāng)分組數(shù)據(jù)或者交換連接。 根據(jù)所描述的實(shí)施例,該移動(dòng)裝置500可以包括諸如系統(tǒng)程序和應(yīng)用程序的各種 軟件程序,以提供計(jì)算能力。典型系統(tǒng)程序可以包括但并不局限于包括操作系統(tǒng)(OS)、 設(shè)備驅(qū)動(dòng)器、編程工具、實(shí)用程序、軟件庫、應(yīng)用程序編程接口 (API)等等。例如,典型操 作系統(tǒng)可以包括PalmOS⑧、Microsoft OS、Unix OS、 Linux 0S、 Symbian 0S 、 Embedix 0S、無線二進(jìn)制運(yùn)行環(huán)境(BREW) 0S、 JavaOS、無線應(yīng)用協(xié)議(WAP)OS,等等。
該移動(dòng)裝置500可以提供各種應(yīng)用程序,以允許用戶執(zhí)行一個(gè)或者多個(gè)具體任 務(wù)。典型應(yīng)用程序可以包括但并不局限于包括萬維網(wǎng)瀏覽器應(yīng)用程序(例如,萬維網(wǎng)瀏 覽器105)、電話應(yīng)用程序(例如,蜂窩式、VoIP、PTT)、聯(lián)網(wǎng)應(yīng)用程序、消息應(yīng)用程序(例如, 電子郵件、IM、 SMS、匪S)、通訊錄應(yīng)用程序、日歷應(yīng)用程序、字處理應(yīng)用程序、電子數(shù)據(jù)表應(yīng) 用程序、數(shù)據(jù)庫應(yīng)用程序、媒體應(yīng)用程序(例如,視頻播放器、音頻播放器、多媒體播放器、 數(shù)碼相機(jī)、視頻攝像機(jī)、媒體管理)、基于位置的服務(wù)(location based service (LBS))應(yīng) 用程序、游戲應(yīng)用程序等等。該應(yīng)用程序可以包括或者由可執(zhí)行的計(jì)算機(jī)程序指令予以實(shí) 現(xiàn),該可執(zhí)行的計(jì)算機(jī)程序指令存儲(chǔ)在諸如易失性或者非易失性存儲(chǔ)器的計(jì)算機(jī)可讀存儲(chǔ) 介質(zhì)上,可以由處理器檢索和執(zhí)行,以實(shí)現(xiàn)該移動(dòng)裝置500的操作。該存儲(chǔ)器還可以實(shí)現(xiàn)各 種數(shù)據(jù)庫和/或者其它類型的數(shù)據(jù)結(jié)構(gòu)(例如,數(shù)組、文件、表格、記錄),用于存儲(chǔ)供該移動(dòng) 裝置500的處理器和/或者其它單元使用的數(shù)據(jù)。 該移動(dòng)裝置500可以包括用于與應(yīng)用程序交互的各種部件或者裝置,諸如用于輸 入數(shù)據(jù)和/或者命令的小鍵盤502和用于顯示一個(gè)或者多個(gè)用戶界面并接收用戶輸入的顯 示器504 (例如,觸摸屏)。我們明白,該移動(dòng)裝置500可以包括與一個(gè)或者多個(gè)應(yīng)用程序一 起使用的各種部件或者裝置,諸如指示筆、按鍵(例如,輸入鍵、預(yù)置并且可編程熱鍵)、按 鈕(例如,動(dòng)作按鈕、多向?qū)Ш桨粹o、預(yù)置并且可編程快捷按鈕)、開關(guān)、麥克風(fēng)、揚(yáng)聲器、頭 戴音頻耳機(jī)、攝像機(jī),等等。 根據(jù)各種實(shí)施例,該移動(dòng)裝置500可以包括應(yīng)用程序管理框架100,如上所述,該 應(yīng)用程序管理框架100由萬維網(wǎng)瀏覽器105實(shí)現(xiàn)并且包括多個(gè)萬維網(wǎng)應(yīng)用程序110-1至 110-N。在某些實(shí)現(xiàn)中,該移動(dòng)裝置500可以進(jìn)一步包括與該應(yīng)用程序管理框架100交互的 WebVM 210。 如圖所示,該移動(dòng)裝置500可以顯示萬維網(wǎng)瀏覽器UI 505,作為萬維網(wǎng)瀏覽器105 的例子。該萬維網(wǎng)瀏覽器UI 505可以顯示對(duì)應(yīng)于萬維網(wǎng)應(yīng)用程序110-1的萬維網(wǎng)應(yīng)用程 序UI 510-1。在該實(shí)施例中,該萬維網(wǎng)應(yīng)用程序110-1可以包括活動(dòng)時(shí)鐘應(yīng)用程序或者 widget,而該萬維網(wǎng)應(yīng)用程序UI 510-1可以顯示該移動(dòng)裝置500的本地日期和時(shí)間以及其 它地方的時(shí)間。該萬維網(wǎng)瀏覽器UI 505還可以顯示提供用于在萬維網(wǎng)應(yīng)用程序110-1至 IIO-N之間迅速切換的接口以及接收一組常規(guī)輸入控件的應(yīng)用程序管理框架UI 515。在各種實(shí)現(xiàn)中,該萬維網(wǎng)瀏覽器105可以包括由移動(dòng)裝置500實(shí)現(xiàn)的內(nèi)部widget控件。
在一個(gè)或者多個(gè)實(shí)施例中,該應(yīng)用程序管理框架UI 515可以由包括一組圖標(biāo) 520-1至520-M的菜單條實(shí)現(xiàn),其中根據(jù)所描述的實(shí)施例,M是任意適當(dāng)正整數(shù)值。該應(yīng)用 程序管理框架UI 515的菜單條可以由包括翻頁(page fli卯ing)UI的應(yīng)用程序翻轉(zhuǎn)托盤 (flip tray)予以實(shí)現(xiàn),以致作為對(duì)諸如單次觸摸屏幕(例如,按或者滑動(dòng))、按鈕按下(例 如,導(dǎo)航按鈕、專用硬鍵、軟鍵)、或者與諸如單指操作轉(zhuǎn)盤(jog-dial wheel)的輔助控件 交互的單個(gè)用戶事件的響應(yīng),用戶可以通過萬維網(wǎng)應(yīng)用程序或者widget非??焖俚胤?。 利用觸摸屏事件(例如,在圖標(biāo)上觸摸或者按壓)、按鈕事件(例如,移動(dòng)裝置500可以具 有用于選擇下一頁和前一頁的專用硬鍵或者軟鍵按鈕)、單指操作轉(zhuǎn)盤事件、以及屏幕事件 (例如,通過鼠標(biāo)點(diǎn)擊圖標(biāo))或者其他隨機(jī)導(dǎo)航事件的任意組合,用戶還可以選擇或者進(jìn)入 特定萬維網(wǎng)應(yīng)用程序。在一些實(shí)現(xiàn)中,圖標(biāo)托盤(icon tray)本身可以自動(dòng)隱藏,以保留可 用屏幕面積。在這種情況下,當(dāng)用戶利用上述事件在萬維網(wǎng)應(yīng)用程序之間切換時(shí),圖標(biāo)托盤 僅瞬間顯現(xiàn)。 正如該典型實(shí)施例所述,這組圖標(biāo)520-1至520-M包括用于在活動(dòng)萬維網(wǎng)應(yīng)用程 序之間切換的圖標(biāo)520-1至520-6。如圖所示,圖標(biāo)520-1至520-6可以由時(shí)鐘圖標(biāo)520-1 、 萬維網(wǎng)郵件圖標(biāo)520-2、天氣圖標(biāo)520-3、搜索圖標(biāo)520-4、新聞閱讀器圖標(biāo)520-5、以及證券 行情圖標(biāo)520-6予以實(shí)現(xiàn)。例如,圖標(biāo)520-1至520-6可以對(duì)應(yīng)于活動(dòng)萬維網(wǎng)應(yīng)用程序或 者widget,諸如由時(shí)鐘應(yīng)用程序110-1、萬維網(wǎng)郵件應(yīng)用程序110-2、天氣應(yīng)用程序110-3、 搜索應(yīng)用程序110-4、新聞應(yīng)用程序110-5、以及證券行情應(yīng)用程序110-6實(shí)現(xiàn)的萬維網(wǎng)應(yīng) 用程序110-1至110-6。然而,我們明白,圖標(biāo)520-1至520-6的排列和順序不必一定與萬 維網(wǎng)應(yīng)用程序110-1至110-6的順序?qū)?yīng)。例如,在一些實(shí)施例中,用戶可以設(shè)置優(yōu)先權(quán) (preference)、拖拉、移動(dòng)、添加、移除和/或者定制由該應(yīng)用程序管理框架UI 515顯示的 一組圖標(biāo)。 我們還明白,該應(yīng)用程序管理框架UI 515的部件的位置和形狀并不局限于圖5所 示的實(shí)施例。通過修改下層萬維網(wǎng)網(wǎng)頁的圖形單元或者布局參數(shù),可以容易地改變?cè)搼?yīng)用 程序管理框架UI 515的屬性,并且萬維網(wǎng)網(wǎng)頁編輯可以輕而易舉地定制該應(yīng)用程序管理 框架UI 515的屬性。例如,盡管在萬維網(wǎng)瀏覽器UI505的底部,以水平條示出該應(yīng)用程序 管理框架UI 515,但是也可以沿該萬維網(wǎng)瀏覽器UI 505的左側(cè),以垂直條示出它。該應(yīng)用 程序管理框架UI 515還可以經(jīng)常被隱藏。作為另一個(gè)例子,實(shí)際上,可以使用任意數(shù)量的 萬維網(wǎng)應(yīng)用程序圖標(biāo),它們分別對(duì)應(yīng)于萬維網(wǎng)應(yīng)用程序。 下面將描述其它典型實(shí)施例,在該典型實(shí)施例中,同樣的參考編號(hào)表示相同的單 元,如上所述。我們明白,根據(jù)特定實(shí)施例描述的任何特征、結(jié)構(gòu)或者特性均不局限于該實(shí) 施例,并且不能認(rèn)為它們對(duì)該實(shí)施例的用途或者功能的范圍有任何限制。
圖6A示出顯示萬維網(wǎng)應(yīng)用程序UI 510-2和應(yīng)用程序管理框架UI 515的萬維網(wǎng) 瀏覽器UI 505的一個(gè)實(shí)施例。在該實(shí)施例中,該應(yīng)用程序管理框架515顯示對(duì)應(yīng)于萬維網(wǎng) 應(yīng)用程序110-1至110-M的一組圖標(biāo)520-1至520-M。如圖所示,在萬維網(wǎng)瀏覽器UI 505 界面上,用戶可以看到對(duì)應(yīng)于選擇的萬維網(wǎng)應(yīng)用程序110-2的萬維網(wǎng)應(yīng)用程序UI 510-2。
在該典型實(shí)施例中,圖標(biāo)520-2的相對(duì)尺寸比其它圖標(biāo)大,這表示其相應(yīng)萬維網(wǎng) 應(yīng)用程序110-2被選擇,并且在該萬維網(wǎng)瀏覽器UI 505上,用戶可以看到萬維網(wǎng)應(yīng)用程序
20UI 510-2。我們明白,在其它實(shí)施例中,利用尺寸之外的特性,諸如形狀、亮度、顏色、高亮等等和/或者這些特性的組合,可以將選擇的萬維網(wǎng)應(yīng)用程序的圖標(biāo)和可見的萬維網(wǎng)應(yīng)用程序UI區(qū)別開。 圖6B示出顯示萬維網(wǎng)應(yīng)用程序UI 510-2和應(yīng)用程序管理框架UI 515的萬維網(wǎng)瀏覽器UI 505的另一個(gè)實(shí)施例。在該實(shí)施例中,該應(yīng)用程序管理框架UI 515包括對(duì)應(yīng)于當(dāng)前選擇的萬維網(wǎng)應(yīng)用程序的圖標(biāo)布置在該應(yīng)用程序管理框架UI 515的中心的布局。在該典型實(shí)施例中,圖標(biāo)520-2的相對(duì)尺寸比其它圖標(biāo)大,這表示其相應(yīng)萬維網(wǎng)應(yīng)用程序110-2被選擇,并且在該萬維網(wǎng)瀏覽器UI 505上,用戶可以看到萬維網(wǎng)應(yīng)用程序UI 510-2。
如圖6B所示,該應(yīng)用程序管理框架UI 515的布局允許移動(dòng)裝置500管理比單次裝配在小型顯示器504上的萬維網(wǎng)瀏覽器UI 505內(nèi)的圖標(biāo)數(shù)量多的萬維網(wǎng)應(yīng)用程序。在一個(gè)例子中,可以配置該應(yīng)用程序管理框架UI 515,以顯示圖標(biāo)520-1至520-M(例如,M二5),而基礎(chǔ)應(yīng)用程序管理框架IOO包括多個(gè)萬維網(wǎng)應(yīng)用程序,諸如萬維網(wǎng)應(yīng)用程序110-1至110-N(例如,N二9)。不為了裝配在該應(yīng)用程序管理框架UI 515內(nèi),來縮小萬維網(wǎng)應(yīng)用程序110-1至110-N的圖標(biāo),而僅示出諸如圖標(biāo)520-2的活動(dòng)圖標(biāo)和五個(gè)其它圖標(biāo)。
在該例中,在該視圖中對(duì)應(yīng)于當(dāng)前選擇的萬維網(wǎng)應(yīng)用程序110-2和萬維網(wǎng)應(yīng)用程序UI 520-2的圖標(biāo)520-2被布置在該應(yīng)用程序管理框架UI 515的中心。在該選擇圖標(biāo)520-2的右側(cè)是對(duì)應(yīng)于下一個(gè)萬維網(wǎng)應(yīng)用程序110-3的圖標(biāo)520-3。在該選擇圖標(biāo)520-1的左側(cè)是對(duì)應(yīng)于前一個(gè)萬維網(wǎng)應(yīng)用程序110-1的圖標(biāo)520-1。 圖6B所示的應(yīng)用程序管理框架UI 515還實(shí)現(xiàn)模塊環(huán)繞(modulus wr即-around)功能。例如,當(dāng)用戶前進(jìn)到左側(cè)或右側(cè)時(shí),顯示在該應(yīng)用程序管理框架UI 515上的一些圖標(biāo)被其它圖標(biāo)代替。例如,當(dāng)巻動(dòng)通過對(duì)應(yīng)于最后萬維網(wǎng)應(yīng)用程序的圖標(biāo)后,對(duì)應(yīng)于第一萬維網(wǎng)應(yīng)用程序的圖標(biāo)通過模塊環(huán)繞顯現(xiàn)。 在圖6B中,該應(yīng)用程序管理框架UI 515顯示的這組圖標(biāo)被排序?yàn)閳D標(biāo)520-N、圖標(biāo)520-1、圖標(biāo)520-2 (較大)、圖標(biāo)520-3和圖標(biāo)520-4。如上所述,圖標(biāo)520-2被選擇。顯示在圖標(biāo)520-3的右側(cè)的圖標(biāo)520-4對(duì)應(yīng)于萬維網(wǎng)應(yīng)用程序l 10-4,它按順序是排在萬維網(wǎng)應(yīng)用程序110-3之后的下一個(gè)。顯示在圖標(biāo)520-1左側(cè)的圖標(biāo)520-N對(duì)應(yīng)于萬維網(wǎng)應(yīng)用程序IIO-N,它是應(yīng)用程序管理框架IOO封裝的這組萬維網(wǎng)應(yīng)用程序110-1至110-N中的最后一個(gè)萬維網(wǎng)應(yīng)用程序。 利用這種方案,在中間示出當(dāng)前萬維網(wǎng)應(yīng)用程序的圖標(biāo),諸如圖標(biāo)520-X,其中1《X《N。如果這組顯示的圖標(biāo)包括在5個(gè)圖標(biāo)上,則在該當(dāng)前萬維網(wǎng)應(yīng)用程序的圖標(biāo)的左側(cè),示出諸如圖標(biāo)520-(X-l)和圖標(biāo)520-(X-2)的前兩個(gè)圖標(biāo)。在該當(dāng)前萬維網(wǎng)應(yīng)用程序的圖標(biāo)的右側(cè),示出諸如圖標(biāo)520-(X+l)和圖標(biāo)520-(X+2)的下兩個(gè)圖標(biāo)。例如,如果對(duì)應(yīng)于萬維網(wǎng)應(yīng)用程序110-6的圖標(biāo)520-6將被選擇,則這組顯示圖標(biāo)被排序?yàn)閳D標(biāo)520-4、520-5、520-6、520-7,以及520-8。 圖7A-7F示出萬維網(wǎng)應(yīng)用程序和應(yīng)用程序管理框架用戶界面的實(shí)施例。在圖7A-7F中,應(yīng)用程序管理框架UI 515包括圖標(biāo)520-1至520-6,該圖標(biāo)520-1至520-6由分別對(duì)應(yīng)于活動(dòng)萬維網(wǎng)應(yīng)用程序或者widget的時(shí)鐘圖標(biāo)520-l、萬維網(wǎng)郵件圖標(biāo)520-2、天氣圖標(biāo)520-3、搜索圖標(biāo)520-4、新聞閱讀器圖標(biāo)520-5、以及證券行情圖標(biāo)520-6予以實(shí)現(xiàn),該活動(dòng)萬維網(wǎng)應(yīng)用程序或者widget由時(shí)鐘應(yīng)用程序110-1、萬維網(wǎng)郵件應(yīng)用程序110-2、天氣應(yīng)用程序110-3、搜索應(yīng)用程序110-4、新聞應(yīng)用程序110-5、以及證券行情應(yīng)用程序110-6 予以實(shí)現(xiàn)。 圖7A示出當(dāng)圖標(biāo)520-1被選擇時(shí),可以顯示的萬維網(wǎng)應(yīng)用程序UI 510-1(對(duì)于萬 維網(wǎng)應(yīng)用程序110-1)的實(shí)施例。圖7B示出當(dāng)圖標(biāo)520-1被選擇時(shí),可以顯示的萬維網(wǎng)應(yīng)用 程序UI510-2 (對(duì)于萬維網(wǎng)應(yīng)用程序110-2)的實(shí)施例。圖7C示出當(dāng)圖標(biāo)520-3被選擇時(shí),可 以顯示的萬維網(wǎng)應(yīng)用程序UI 510-3 (對(duì)于萬維網(wǎng)應(yīng)用程序110-3)的實(shí)施例。圖7D示出當(dāng) 圖標(biāo)520-4被選擇時(shí),可以顯示的萬維網(wǎng)應(yīng)用程序UI 510-4(對(duì)于萬維網(wǎng)應(yīng)用程序110-4) 的實(shí)施例。圖7E示出當(dāng)圖標(biāo)520-5被選擇時(shí),可以顯示的萬維網(wǎng)應(yīng)用程序UI 510-5(對(duì)于 萬維網(wǎng)應(yīng)用程序110-5)的實(shí)施例。以及,圖7F示出當(dāng)圖標(biāo)520-6被選擇時(shí),可以顯示的萬 維網(wǎng)應(yīng)用程序UI 510-6(對(duì)于萬維網(wǎng)應(yīng)用程序110-6)的實(shí)施例。 通過在應(yīng)用程序管理框架UI 515菜單條上點(diǎn)擊或者選擇特定圖標(biāo),該用戶可以 在萬維網(wǎng)應(yīng)用程序110-1至110-6與顯示的萬維網(wǎng)應(yīng)用程序UI 510-1至510-6之間迅速 切換。例如,作為對(duì)單次觸摸或者鍵按下的響應(yīng),用戶可以以迅速連續(xù)方式縮放顯示的萬維 網(wǎng)應(yīng)用程序UI 510-1至510-6。 我們明白,萬維網(wǎng)應(yīng)用程序UI 510-1至510-6是典型視圖。例如,在該應(yīng)用程序 管理框架100內(nèi)可以含有任意數(shù)量的萬維網(wǎng)應(yīng)用程序110-1至IIO-N,并且可以利用任意順 序布置萬維網(wǎng)應(yīng)用程序110-1至110-N及其相應(yīng)圖標(biāo)。 在各種實(shí)現(xiàn)中,應(yīng)用程序管理框架UI 515的應(yīng)用程序翻頁式菜單條有助于用戶 確定廣告。如圖7E所示,萬維網(wǎng)應(yīng)用程序UI 510-5的典型實(shí)施例包括橫幅廣告700。如圖 7F所示,萬維網(wǎng)應(yīng)用程序UI 510-6的典型實(shí)施例本身包括贊助廣告702。
圖8示出適于實(shí)施各種實(shí)施例的通信系統(tǒng)800的實(shí)施例。盡管為了說明問題,圖 8示出有限數(shù)量的單元,但是我們明白,根據(jù)所描述的實(shí)施例,通信系統(tǒng)100可以包括更多 或者更少的單元以及其它類型的單元。根據(jù)一組給定設(shè)計(jì)參數(shù)或者性能制約的要求,通信 系統(tǒng)800的單元可以包括用于傳遞信息的物理或者邏輯實(shí)體,該物理或者邏輯實(shí)體由硬件 部件(例如,計(jì)算裝置、處理器、邏輯器件)、由各種硬件部件執(zhí)行的可執(zhí)行計(jì)算機(jī)程序指令 (例如,固件、軟件)或者它們的組合實(shí)現(xiàn)。 如圖所示,通信系統(tǒng)800可以包括門戶網(wǎng)站提供商802,該門戶網(wǎng)站提供商802實(shí) 現(xiàn)用于存儲(chǔ)widget 810-1至810-Z的widget圖庫(gallery) 805,其中根據(jù)所描述的實(shí)施 例,Z是任意正整數(shù)值。在各種實(shí)現(xiàn)中,萬維網(wǎng)應(yīng)用程序開發(fā)商815可以將一個(gè)或者多個(gè) widget上載到widget圖庫805。該萬維網(wǎng)應(yīng)用程序開發(fā)商815可以與萬維網(wǎng)應(yīng)用程序的 創(chuàng)建者或者公布程序聯(lián)系。隨后,用戶可以將一個(gè)或者多個(gè)widget從門戶網(wǎng)站提供商802 下載到該移動(dòng)計(jì)算裝置500。 在一些實(shí)現(xiàn)中,根據(jù)預(yù)定模型,用戶可以將各種萬維網(wǎng)應(yīng)用程序或者widget下載 到該移動(dòng)裝置500,以便用戶可以獲得駐留在裝置上的萬維網(wǎng)應(yīng)用程序和widget。在一個(gè) 或者多個(gè)實(shí)施例中,該widget顯然可以由門戶網(wǎng)站提供商820和/或者宿主該widget的 萬維網(wǎng)應(yīng)用程序開發(fā)商815進(jìn)行更新。在某些情況下,特定萬維網(wǎng)應(yīng)用程序或者widget只 能被顯示或者持續(xù)短時(shí)間周期,諸如在特定事件(例如,娛樂事件或者諸如奧運(yùn)會(huì)的體育 事件)期間。 在各種實(shí)施例中,widget不需要駐留在該移動(dòng)裝置500上,而是可以從門戶網(wǎng)站提供商802的服務(wù)器上實(shí)時(shí)提供。例如,用戶可以登錄到該門戶網(wǎng)站提供商802,并且可 以諸如通過萬維網(wǎng)瀏覽器cookie被自動(dòng)記憶或者通過注冊(cè)和口令被手動(dòng)記憶。該用戶的 widget可以被流化,從該門戶網(wǎng)站提供商到該移動(dòng)裝置500或者臺(tái)式機(jī)瀏覽器繼續(xù)存留。
在各種實(shí)現(xiàn)中,可以在該門戶網(wǎng)站提供商802上配置widget,并且可以將該配 置信息和該widget —起傳送到移動(dòng)裝置500。當(dāng)用戶購買新裝置時(shí),該用戶先前確認(rèn)的 widget可以被送到該新裝置。如果該裝置被盜或者丟失,則該用戶在舊裝置上的widget可 以被遠(yuǎn)程消除或者關(guān)閉。在一個(gè)或者多個(gè)實(shí)施例中,用戶可以同時(shí)在幾個(gè)不同裝置或者臺(tái) 式計(jì)算機(jī)上使用其widget。每個(gè)裝置可以不顯示相同的widget。 S卩,該用戶可以配置不同 的裝置,以顯示不同的widget。該配置可以是裝置相關(guān)的,或者可以是基于時(shí)間的、基于優(yōu) 先權(quán)和/或者基于其它因素的。 如果該widget在本地存儲(chǔ)應(yīng)用數(shù)據(jù)或者配置數(shù)據(jù),則該數(shù)據(jù)可以返回給該門戶 網(wǎng)站提供商802。例如,用戶可以配置證券行情收錄器widget,以跟蹤5個(gè)特定證券。然 后,該widget被送到移動(dòng)裝置500。在該移動(dòng)裝置500上,該用戶利用widget屏幕控件改 變這些證券代碼中的兩個(gè)證券代碼。這些新證券被穩(wěn)定地送回門戶網(wǎng)站提供商802,作為用 戶對(duì)該widget配置的一部分。這允許提供給該用戶的其它裝置被任選、自動(dòng)更新。備份數(shù) 據(jù)可以自動(dòng)產(chǎn)生,而無需用戶干預(yù)。在某些情況下,該備份數(shù)據(jù)可以根據(jù)widget應(yīng)用程序 的類型任選。 根據(jù)各種實(shí)施例,為了產(chǎn)生廣告收入,該萬維網(wǎng)應(yīng)用程序開發(fā)商815可以有幾種 選擇。例如,一種廣告選擇包括該門戶網(wǎng)站提供商802對(duì)widget添加橫幅廣告。在某些情 況下,該門戶網(wǎng)站提供商802可以在運(yùn)行期間對(duì)widget添加橫幅廣告。在其它情況下,該 萬維網(wǎng)應(yīng)用程序開發(fā)商815可以在widget內(nèi)包括橫幅廣告。實(shí)現(xiàn)該選擇的例子是包括橫 幅廣告700的萬維網(wǎng)應(yīng)用程序UI 510-5。當(dāng)橫幅廣告700被點(diǎn)擊時(shí)產(chǎn)生的收入可以與萬維 網(wǎng)應(yīng)用程序開發(fā)商815共享。 另一種廣告選擇是widget被贊助的免費(fèi)廣告實(shí)現(xiàn)。在這種情況下,萬維網(wǎng)應(yīng)用程 序開發(fā)商815可以向該門戶網(wǎng)站提供商802支付費(fèi)用,以關(guān)閉廣告。然后,萬維網(wǎng)應(yīng)用程序 開發(fā)商815擁有該widget的整個(gè)屏幕和用戶體驗(yàn)。該widget可以由一個(gè)大型交互名牌產(chǎn) 品廣告予以有效實(shí)現(xiàn)。該widget對(duì)用戶有價(jià)值,同時(shí)讓市場商人發(fā)布它們的消息。在某些 情況下,widget可以包括直接點(diǎn)進(jìn)該品牌的網(wǎng)站。實(shí)現(xiàn)這種選擇的例子是它本身包括資助 widget的萬維網(wǎng)應(yīng)用程序UI 510-6。 根據(jù)所描述的實(shí)施例,可以實(shí)現(xiàn)各種收入共享模型。例如,widget交互可以采用 千人成本(CPM)、每點(diǎn)擊成本(CPC)、每次成本((cost per)CP)應(yīng)用程序使用模型,等等。 CMP、 CPC和CP應(yīng)用程序使用模型可以基于為廣告交互保留的屏幕區(qū)域。當(dāng)萬維網(wǎng)應(yīng)用程 序開發(fā)商815在該移動(dòng)裝置500上的其應(yīng)用程序內(nèi)產(chǎn)生廣告顯示時(shí),該萬維網(wǎng)應(yīng)用程序開 發(fā)商815可以收取使用費(fèi)。例如,對(duì)于其應(yīng)用程序在裝置上的每次安裝、對(duì)于在裝置上的其 應(yīng)用程序的使用/用戶交互、對(duì)于在該裝置上通過其應(yīng)用程序產(chǎn)生的廣告收入、和/或者對(duì) 于廣告或者widget點(diǎn)進(jìn)之后發(fā)生的動(dòng)作(例如,在點(diǎn)進(jìn)商品網(wǎng)站之后,后續(xù)購買商品或者 服務(wù))產(chǎn)生的收入,該萬維網(wǎng)應(yīng)用程序開發(fā)商815可以收取使用費(fèi)。 在圖8所示的實(shí)施例中,移動(dòng)裝置500的用戶被賦予諸如萬維網(wǎng)應(yīng)用程序UI 510-5的widget。例如,該萬維網(wǎng)應(yīng)用程序UI 510-5可以對(duì)應(yīng)于在一部分其屏幕區(qū)域內(nèi)含有廣告區(qū)域的萬維網(wǎng)應(yīng)用程序。在該廣告區(qū)域內(nèi)可以填充基于展現(xiàn)的廣告,諸如橫幅廣告 700,可以根據(jù)CMP對(duì)其貨幣化。該橫幅廣告700可以是可動(dòng)作的(例如,超級(jí)鏈接),可以 利用移動(dòng)裝置500的小鍵盤或者觸摸激活控件在其上點(diǎn)擊或者選擇該橫幅廣告700。
在該典型實(shí)施例中,當(dāng)該用戶與橫幅廣告700交互(例如,點(diǎn)擊)時(shí),另一個(gè)UI 820出現(xiàn)在萬維網(wǎng)瀏覽器UI 505內(nèi)。例如,該UI 820可以是與該橫幅廣告700相關(guān)的商 品網(wǎng)站或者因特網(wǎng)上的其它常規(guī)網(wǎng)站。Widget可以連接到屬于該萬維網(wǎng)應(yīng)用程序開發(fā)商 815的網(wǎng)站、商品網(wǎng)站或者另一個(gè)網(wǎng)站或者服務(wù)器,以提供另外的服務(wù)。在某些情況下,UI 820可以是存儲(chǔ)在widget內(nèi)的先前隱蔽的屏幕,這樣可以更詳細(xì)看到廣告信息或者用戶可 以與廣告交互的交互屏幕。 該widget可以以在線或者脫機(jī)的方式與服務(wù)器上的萬維網(wǎng)應(yīng)用程序交互。例如, 在各種實(shí)現(xiàn)中,可以高速緩存廣告內(nèi)容(例如,一個(gè)或者多個(gè)深鏈路),以便在脫機(jī)時(shí),可以 訪問所點(diǎn)擊廣告的內(nèi)容。用戶/廣告交互可以被立即(例如,以在線方式)或者延期(例 如,以脫機(jī)方式)提交到廣告提供商825的服務(wù)器。為了確保脫機(jī)并且延期看到/點(diǎn)擊的 廣告合法,可以執(zhí)行驗(yàn)證序列,用于稍候報(bào)告。例如,當(dāng)用戶在widget脫機(jī)時(shí)點(diǎn)擊廣告時(shí), 該點(diǎn)擊用時(shí)間戳進(jìn)行了記錄??梢砸陨⒘蟹绞浇M合和存儲(chǔ)標(biāo)識(shí)符、時(shí)間戳和裝置證書。該 散列隨后可以與裝置證書進(jìn)行比較,以確保與該時(shí)間戳/裝置匹配。當(dāng)在線時(shí),將該封裝送 到廣告提供商825的服務(wù)器用于廣告收入支付處理。 在一些實(shí)施例中,根據(jù)主叫用戶識(shí)別(主叫用戶ID)信息,可以選擇特定萬維網(wǎng)廣 告顯示在運(yùn)行于移動(dòng)裝置500上的萬維網(wǎng)應(yīng)用程序上。主叫用戶識(shí)別(主叫用戶ID)信息 可以從對(duì)該移動(dòng)裝置500的呼入或者從該移動(dòng)裝置500的呼出中獲得。廣告請(qǐng)求可以由該 移動(dòng)裝置500根據(jù)主叫用戶ID信息產(chǎn)生,并且被發(fā)送到該廣告提供商825的萬維網(wǎng)廣告服 務(wù)器上。該廣告請(qǐng)求可以立即或者延期到之后的時(shí)間發(fā)送到萬維網(wǎng)廣告服務(wù)器上。該廣告 請(qǐng)求可以用于查詢具有主叫用戶ID信息的該萬維網(wǎng)廣告服務(wù)器。 作為對(duì)該廣告請(qǐng)求的響應(yīng),該萬維網(wǎng)廣告服務(wù)器可以根據(jù)主叫用戶ID信息選擇 相關(guān)廣告,并且可以將相關(guān)萬維網(wǎng)廣告發(fā)送到該移動(dòng)裝置500。該移動(dòng)裝置500可以從該萬 維網(wǎng)廣告服務(wù)器接收與該主叫用戶ID信息相關(guān)的萬維網(wǎng)廣告,并且將該萬維網(wǎng)廣告存儲(chǔ) 在該移動(dòng)裝置500的本地?cái)?shù)據(jù)庫(例如,SQL數(shù)據(jù)庫213)內(nèi)。 在該移動(dòng)裝置500上,可以將該萬維網(wǎng)廣告插入萬維網(wǎng)應(yīng)用程序。該萬維網(wǎng)廣告 可以顯示在電話用戶界面軟件或者獨(dú)立軟件應(yīng)用程序中。在呼叫期間,萬維網(wǎng)廣告可以被 立即顯示在移動(dòng)裝置500的諸如電話用戶界面的用戶界面上。還可以在之后的時(shí)間存儲(chǔ)和 顯示該萬維網(wǎng)廣告。 當(dāng)用戶看到和/或者點(diǎn)擊該萬維網(wǎng)廣告時(shí),該移動(dòng)裝置500可以記錄該用戶與該 萬維網(wǎng)廣告的交互(例如,看到和/或者點(diǎn)擊)。用戶/廣告交互可以被立即(在線方式) 或者延期(脫機(jī)方式)提交到萬維網(wǎng)廣告服務(wù)器。在某些實(shí)現(xiàn)中,用戶可以收到與萬維網(wǎng) 廣告進(jìn)行交互的信用分(credit)。例如,可以實(shí)現(xiàn)從登廣告者獲得的收入部分地或者全額 資助用戶擁有移動(dòng)裝置的產(chǎn)權(quán)或者服務(wù)的商務(wù)方法。在某些情況下,可以根據(jù)各種標(biāo)準(zhǔn),諸 如用戶點(diǎn)擊廣告的次數(shù)、廣告的"頁面瀏覽(pageview)"次數(shù),等等,從廣告提供商收取信用 分。在某些情況下,可以從廣告提供商之外的各方(例如,貿(mào)易商、萬維網(wǎng)應(yīng)用程序開發(fā)商 等等)收取信用分。
在各種實(shí)現(xiàn)中,所描述的實(shí)施例使登廣告者獲取關(guān)于買方與賣方之間關(guān)系的有價(jià) 值信息。此外,還可以有效、廉價(jià)地采集這種信息。這可以使登廣告者很快地洞察特定類型 的買方_賣方關(guān)系,并且根據(jù)個(gè)體用戶的詳情,制作目標(biāo)明確的廣告。例如,登廣告者根據(jù) 分析在客戶與賣方或者服務(wù)提供商之間可能存在的關(guān)系,可以確定目標(biāo)用戶。該登廣告者 還可以對(duì)現(xiàn)有客戶提供有用的特殊報(bào)價(jià),或者從競爭者到潛在客戶進(jìn)行特殊報(bào)價(jià)。
呼入或者呼出的主叫用戶ID信息可以對(duì)查詢相關(guān)的附加信息提供有用的線索。 例如,該用戶可以從知曉是否有關(guān)于他或者她正在調(diào)用的銷售商的最近的新聞文章獲益。 在這些情況下,該移動(dòng)裝置的用戶可以從上下文敏感的附加信息受益,并且登廣告者從接 觸對(duì)登廣告者提供的目標(biāo)報(bào)價(jià)可能非常感興趣的潛在用戶受益。 在某些實(shí)現(xiàn)中,當(dāng)朋友呼叫時(shí),該用戶可以從關(guān)于該主叫用戶的生日、周年紀(jì)念等
提醒中受益。該信息可以產(chǎn)生對(duì)廣告服務(wù)器的查詢,導(dǎo)致對(duì)顯示在該移動(dòng)裝置上的萬維網(wǎng)
應(yīng)用程序用戶界面上的用戶給出報(bào)價(jià)。萬維網(wǎng)應(yīng)用程序中的報(bào)價(jià)可以直接鏈接登廣告者的
網(wǎng)站(例如,超級(jí)鏈接),包括地圖超級(jí)鏈接、進(jìn)行在線保留的超級(jí)鏈接、以及直接從該移動(dòng)
裝置500撥電話號(hào)碼的電話鏈接。所有這種功能均是可用的,而不要求用戶停止電話應(yīng)用、
啟動(dòng)單獨(dú)萬維網(wǎng)瀏覽器或者其它軟件應(yīng)用程序,從而顯著加速了用戶交互。 我們明白,可以存在許多廣告變型。例如,該萬維網(wǎng)應(yīng)用程序可以提供附加服務(wù),
即,通過存儲(chǔ)的或者手動(dòng)插入的信用卡完成記賬,通過對(duì)用戶的移動(dòng)賬單/運(yùn)營商賬戶
(carrieracco皿t)直接記賬完成記賬,選項(xiàng)服務(wù)可以綁定到收到的或者呼叫的電話號(hào)碼上
(例如,今天是Sam的生日,你要送禮物給他嗎?),用戶可以在呼叫時(shí)或者在之后的某個(gè)時(shí)
間從網(wǎng)店/產(chǎn)品目錄中購買某物,等等。 在某些實(shí)現(xiàn)中,為了安全目的或者根據(jù)電話用戶的愿望,可以在數(shù)據(jù)庫中查詢另 一個(gè)通話參與者的電話號(hào)碼,以確定該號(hào)碼是否在"監(jiān)視清單"上。然后,適當(dāng)?shù)南?huì)在 萬維網(wǎng)應(yīng)用程序中產(chǎn)生并顯示,例如,當(dāng)從募捐組織得知主叫用戶時(shí)。可以在廣告數(shù)據(jù)庫中 查詢另一個(gè)通話參與者的電話號(hào)碼,以識(shí)別競爭者產(chǎn)品的報(bào)價(jià)。在通話期間或者在之后的 某個(gè)時(shí)間,可以利用另一個(gè)通話參與者的電話號(hào)碼啟動(dòng)其它形式的通信。例如,萬維網(wǎng)應(yīng)用 程序屏幕的一部分可以成為與另一個(gè)通話參與者的即時(shí)消息會(huì)話,以便文本、圖片或者文 件可以直接在參與者之間進(jìn)行交換。 我們還明白,通話可以包括兩個(gè)以上的參與者。例如,可以劃分萬維網(wǎng)應(yīng)用程序 UI,以顯示全部或者一些通話參與者的信息,并且可以允許在參與者之間傳遞文本、圖片或 者文件。此外,所有參與者均可以在其各自的萬維網(wǎng)應(yīng)用程序用戶界面上看到相同的顯示, 或者他們可以看到與所插入的可能不同的萬維網(wǎng)廣告不同的顯示。 可以通過從主叫用戶ID標(biāo)記或者后續(xù)查詢獲得信息,實(shí)現(xiàn)其它優(yōu)點(diǎn)。無需立即使 用從主叫用戶ID標(biāo)記或者后續(xù)查詢獲得的信息。相反,即使當(dāng)移動(dòng)裝置電話沒有立即連接 到網(wǎng)絡(luò),或者未被蜂窩覆蓋時(shí),諸如在飛機(jī)上或者在隧道中,該信息仍可以被存儲(chǔ)或者高速 緩存,供隨后在適當(dāng)時(shí)候使用。 其它優(yōu)點(diǎn)是,由該主叫用戶ID標(biāo)記或者后續(xù)查詢獲得的信息可以直接在該移動(dòng) 裝置的萬維網(wǎng)應(yīng)用程序中使用。這對(duì)用戶是有利的,因?yàn)榕c萬維網(wǎng)應(yīng)用程序的交互模型 (例如,利用指示筆、小鍵盤、鼠標(biāo)等,點(diǎn)擊超級(jí)鏈接、滾動(dòng)網(wǎng)頁等等,進(jìn)行輸入)是該用戶所 熟悉的。此外,萬維網(wǎng)公布商熟悉萬維網(wǎng)應(yīng)用程序編程,因此,不需要針對(duì)該用戶移動(dòng)裝置的特殊編程技巧。此外,該萬維網(wǎng)應(yīng)用程序提供將其它信息或者萬維網(wǎng)資源直接鏈接到主 叫用戶ID信息的簡單機(jī)制,而不必由切換應(yīng)用程序或者等待特定軟件應(yīng)用程序進(jìn)行啟動(dòng) ("自舉")。 我們明白,根據(jù)所描述的實(shí)施例,門戶網(wǎng)站提供商802、萬維網(wǎng)應(yīng)用程序開發(fā)者 815、以及廣告提供商825可以包括或者使用具有計(jì)算能力和/或者通信能力的任何適當(dāng) 計(jì)算裝置。典型計(jì)算裝置可以包括但并不局限于包括移動(dòng)裝置、個(gè)人數(shù)字助理、移動(dòng)計(jì)算 裝置、智能電話、蜂窩電話、手機(jī)、單向?qū)ず魴C(jī)、雙向?qū)ず魴C(jī)、發(fā)信裝置、計(jì)算機(jī)、個(gè)人計(jì)算機(jī) (PC)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、筆記本計(jì)算機(jī)、手持計(jì)算機(jī)、服務(wù)器、服務(wù)器陣列或者服 務(wù)器中心(server farm)、萬維網(wǎng)服務(wù)器、網(wǎng)絡(luò)服務(wù)器、因特網(wǎng)服務(wù)器、工作站、小型計(jì)算機(jī)、 大型計(jì)算機(jī)、超級(jí)計(jì)算機(jī)、網(wǎng)絡(luò)器材、萬維網(wǎng)器材、分布式計(jì)算系統(tǒng)、多處理器系統(tǒng)、基于處 理器的系統(tǒng)、消費(fèi)類電子產(chǎn)品、可編程消費(fèi)類電子產(chǎn)品、電視、數(shù)字電視、機(jī)頂盒、無線接入 點(diǎn)、基站、用戶臺(tái)、移動(dòng)用戶中心、無線網(wǎng)控制器、路由器、集線器、網(wǎng)關(guān)、網(wǎng)橋、交換機(jī)、或者 它們的組合。 圖9示出用于產(chǎn)生廣告收入的邏輯流程900,它示出由在此描述的一個(gè)或者多個(gè) 實(shí)施例執(zhí)行的操作。根據(jù)一組給定設(shè)計(jì)參數(shù)或者性能約束,邏輯流程900可以由各種系統(tǒng) 和/或者裝置執(zhí)行,并且可以由硬件、軟件、固件和/或者它們的任意組合予以實(shí)現(xiàn)。例如, 邏輯流程900的一個(gè)或者多個(gè)操作可以由邏輯器件(例如,計(jì)算機(jī)、處理器)執(zhí)行的可執(zhí)行 編程指令予以實(shí)現(xiàn)。 在該實(shí)施例中,邏輯流程900示范了為了產(chǎn)生廣告收入,移動(dòng)裝置500、門戶網(wǎng)站 提供商902、萬維網(wǎng)應(yīng)用程序開發(fā)商815以及廣告提供商825之間的交互。在各種實(shí)現(xiàn)中, 用戶的移動(dòng)裝置500可以包括應(yīng)用程序管理框架100以及可選擇地包括WebVM 210。
當(dāng)萬維網(wǎng)應(yīng)用程序開發(fā)商815寫入萬維網(wǎng)應(yīng)用程序時(shí),邏輯流程900啟動(dòng)(步驟 901)。萬維網(wǎng)應(yīng)用程序開發(fā)商815注冊(cè)該廣告提供商(步驟902),并且提供任意必要信息 以及廣告提供商825所要求的資格證書,以便萬維網(wǎng)應(yīng)用程序開發(fā)商815可以從廣告提供 商825那里獲得廣告。在一個(gè)實(shí)施例中,為了確保萬維網(wǎng)應(yīng)用程序開發(fā)商815與廣告提供 商825之間事務(wù)的安全性和完整性,在萬維網(wǎng)應(yīng)用程序開發(fā)商815與廣告提供商825之間 使用適當(dāng)?shù)陌踩C書。因此,萬維網(wǎng)應(yīng)用程序開發(fā)商815將萬維網(wǎng)鏈路或者腳本包括在萬 維網(wǎng)應(yīng)用程序中(步驟903),以便當(dāng)請(qǐng)求時(shí),萬維網(wǎng)應(yīng)用程序可以從廣告提供商825獲得廣
告 然后,萬維網(wǎng)應(yīng)用程序開發(fā)商815將該萬維網(wǎng)應(yīng)用程序上載到門戶網(wǎng)站提供商 802 (步驟904)。在各種實(shí)現(xiàn)中,為了確保該開發(fā)商與該門戶網(wǎng)站提供商之間事務(wù)的安全性 和完整性,在開發(fā)商815與門戶網(wǎng)站提供商802之間使用適當(dāng)?shù)陌踩C書。門戶網(wǎng)站提供 商802存儲(chǔ)該萬維網(wǎng)應(yīng)用程序和/或者從服務(wù)器獲得的該萬維網(wǎng)應(yīng)用程序必要的信息。
希望利用可用萬維網(wǎng)應(yīng)用程序的用戶將應(yīng)用程序管理框架100和任選的WebVM 210從門戶網(wǎng)站提供商802安裝到移動(dòng)裝置500上(步驟905)。在一個(gè)實(shí)施例中,為了確 保門戶網(wǎng)站提供商802與用戶之間事務(wù)的安全性和完整性,該用戶利用適當(dāng)?shù)陌踩C書注 冊(cè)到門戶網(wǎng)站提供商802。通過門戶網(wǎng)站,該用戶可以瀏覽可用萬維網(wǎng)應(yīng)用程序并且選擇萬 維網(wǎng)應(yīng)用程序動(dòng)作(步驟906)。由應(yīng)用程序管理框架100可以將該萬維網(wǎng)應(yīng)用程序下載并 安裝在移動(dòng)裝置500上(步驟907)。用戶通過選擇相應(yīng)萬維網(wǎng)應(yīng)用程序圖標(biāo)激活該萬維網(wǎng)
26應(yīng)用程序(步驟908)。 在邏輯流程900的典型實(shí)施例中,當(dāng)用戶訪問萬維網(wǎng)應(yīng)用程序時(shí),根據(jù)該移動(dòng)裝 置500是否立即鏈接到網(wǎng)絡(luò)"在線"(步驟909),可以執(zhí)行不同的步驟。如果該移動(dòng)裝置500 鏈接到網(wǎng)絡(luò)(910),則通過網(wǎng)絡(luò),該萬維網(wǎng)應(yīng)用程序可以與應(yīng)用程序管理框架100和/或者 WebVM 210—起請(qǐng)求并從萬維網(wǎng)應(yīng)用程序開發(fā)商的廣告提供商825獲得廣告。然后,可以將 該廣告下載并插入該用戶選擇的萬維網(wǎng)應(yīng)用程序中(步驟911)。 然而,如果該移動(dòng)裝置500不立即在線(步驟912),則該萬維網(wǎng)應(yīng)用程序可以與應(yīng) 用程序管理框架100和/或者WebVM210 —起將高速緩存的或者預(yù)裝載的廣告從本地存儲(chǔ) 器裝載到該移動(dòng)裝置500上,然后,可以將該廣告插入選擇的萬維網(wǎng)應(yīng)用程序(步驟913)。 無論給定的萬維網(wǎng)應(yīng)用程序是否運(yùn)行,WebVM 210可以不時(shí)地從廣告提供商825獲得這些 高速緩存的或者預(yù)裝載的廣告。 每當(dāng)用戶看到或者點(diǎn)擊廣告時(shí),可以根據(jù)該移動(dòng)裝置500是否在線(步驟914),執(zhí) 行不同的步驟。如果該移動(dòng)裝置500不在線(步驟915),則記錄該事務(wù)用于之后傳送(步 驟916)。有時(shí),當(dāng)該移動(dòng)裝置500在線時(shí),則WebVM 210可以將相關(guān)事務(wù)信息發(fā)送到廣告提 供商825,以便萬維網(wǎng)應(yīng)用程序開發(fā)商815可以接收廣告?zhèn)蚪?。無論含有該廣告的萬維網(wǎng)配 置是否在運(yùn)行,這都可以實(shí)現(xiàn)。 如果當(dāng)用戶點(diǎn)擊廣告時(shí)該移動(dòng)裝置500在線(步驟917),則該萬維網(wǎng)應(yīng)用程序與 應(yīng)用程序管理框架100和/或者WebVM210 —起將相關(guān)事務(wù)信息發(fā)送到該廣告提供商,以便 該萬維網(wǎng)應(yīng)用程序開發(fā)商可以接收廣告?zhèn)蚪?步驟918)。在變換實(shí)施例中,WebVM 210可 以改為延期發(fā)送廣告事務(wù)詳情直到稍后時(shí)間(例如, 一次性批發(fā)送許多事務(wù))。
在一些實(shí)施例中,可以在移動(dòng)裝置500、門戶網(wǎng)站提供商802、萬維網(wǎng)應(yīng)用程序開 發(fā)商815、以及廣告提供商825之間執(zhí)行驗(yàn)證或者審計(jì)步驟,以確保該廣告事務(wù)是合法的, 并且不會(huì)發(fā)生"點(diǎn)擊欺詐(click fraud)"。 所描述的實(shí)施例對(duì)用戶提供了為所提供的活動(dòng)和服務(wù)下載和使用萬維網(wǎng)應(yīng)用程 序的鼓勵(lì)辦法。萬維網(wǎng)應(yīng)用程序開發(fā)商815對(duì)創(chuàng)建萬維網(wǎng)應(yīng)用程序以共享廣告收入給予財(cái) 務(wù)鼓勵(lì)并且具有通過門戶網(wǎng)站提供商802發(fā)布編寫的萬維網(wǎng)應(yīng)用程序的機(jī)制。萬維網(wǎng)應(yīng)用 程序開發(fā)商815還具有從廣告提供商825獲得廣告的機(jī)制。此外,即使當(dāng)移動(dòng)裝置500不 在線時(shí),萬維網(wǎng)應(yīng)用程序開發(fā)商815也可以從用戶執(zhí)行的事務(wù)中掙取廣告收入。廣告提供 商825可以從其登廣告者掙取利潤,并且具有通過萬維網(wǎng)應(yīng)用程序發(fā)布其廣告的機(jī)制。門 戶網(wǎng)站提供商802具有通過共享廣告收入向用戶發(fā)布萬維網(wǎng)應(yīng)用程序的鼓勵(lì)辦法。
此夕卜,即使當(dāng)移動(dòng)裝置500不在線時(shí),該門戶網(wǎng)站提供商802也可以從用戶執(zhí)行事 務(wù)掙取廣告收入。我們明白,在一些實(shí)施例中,用戶、門戶網(wǎng)站提供商、萬維網(wǎng)應(yīng)用程序開發(fā) 商、以及廣告提供商的一些或者全部角色均可以由通用實(shí)體扮演。如上所述,該實(shí)施例創(chuàng)建 了所有參與者都受益的自保"有效循環(huán)(virtuous cycle)"。 我們明白,除非另有明確說明,諸如"處理"、"計(jì)算"、"運(yùn)算"、"確定"等等的術(shù)語指 計(jì)算機(jī)或者計(jì)算系統(tǒng)或者類似電子計(jì)算裝置的動(dòng)作和/或者處理,將寄存器和/或者存儲(chǔ) 器中以物理量(例如,電子)表示的數(shù)據(jù)處理和/或者變換為在存儲(chǔ)器、寄存器或者其它這 種信息存儲(chǔ)、發(fā)送或者顯示器件內(nèi)以物理量同樣表示的其它數(shù)據(jù)。 —些附圖可以包括流程圖。盡管這些附圖可以包括特定邏輯流程,但是我們明白,該邏輯流程僅示出通用功能的典型實(shí)現(xiàn)。此外,除非另有說明,該邏輯流程不一定必須以所 示的順序執(zhí)行。我們還明白,盡管邏輯流程示出特定順序的步驟,但是根據(jù)變換實(shí)施例,也 可以以其它順序的步驟執(zhí)行。此外,邏輯流程的某些單獨(dú)步驟可以包括以適合該單獨(dú)步驟 的各種順序執(zhí)行的多個(gè)分步驟。另外,根據(jù)特定實(shí)現(xiàn),可以添加附加步驟,或者去除一些步驟。 此外,該邏輯流程可以由硬件單元、由計(jì)算機(jī)執(zhí)行的軟件單元、嵌入硬件內(nèi)的固件 單元、或者它們的任意組合予以實(shí)現(xiàn)。在各種實(shí)施例中,該邏輯流程可以包括可執(zhí)行計(jì)算機(jī) 程序指令或者由可執(zhí)行計(jì)算機(jī)程序指令予以實(shí)現(xiàn)。該可執(zhí)行計(jì)算機(jī)程序指令可以由軟件、 固件、模塊、應(yīng)用程序、程序、widget、子例程、指令、指令集、計(jì)算代碼、字、數(shù)值、符號(hào)或者它 們的組合予以實(shí)現(xiàn)。該可執(zhí)行計(jì)算機(jī)程序指令可以包括任何適當(dāng)類型的代碼,諸如源代碼、 編譯代碼、解釋代碼、可執(zhí)行代碼、靜態(tài)代碼、動(dòng)態(tài)代碼等等。該可執(zhí)行計(jì)算機(jī)程序指令可 以根據(jù)用于命令計(jì)算機(jī)執(zhí)行特定功能的預(yù)先確定的計(jì)算機(jī)語言、方式或者語法予以實(shí)現(xiàn)。 根據(jù)所描述的實(shí)施例,該可執(zhí)行計(jì)算機(jī)程序指令可以利用任何適當(dāng)?shù)母呒?jí)、低級(jí)、面向?qū)ο?的、可視的、編譯的和/或者解釋的編程語言予以實(shí)現(xiàn)。 在各種實(shí)施例中,邏輯流程可以包括存儲(chǔ)在制品和/或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)內(nèi) 的可執(zhí)行計(jì)算機(jī)程序指令或者由存儲(chǔ)在制品和/或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)內(nèi)的可執(zhí)行計(jì) 算機(jī)程序指令予以實(shí)現(xiàn)。該制品和/或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以存儲(chǔ)可執(zhí)行計(jì)算機(jī)程序 指令,該可執(zhí)行計(jì)算機(jī)程序指令當(dāng)由計(jì)算機(jī)執(zhí)行時(shí)可以使該計(jì)算機(jī)執(zhí)行根據(jù)所描述的實(shí)施 例的方法和/或者操作。根據(jù)所描述的實(shí)施例,該制品和/或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以 由各種系統(tǒng)和/或者裝置予以實(shí)現(xiàn)。在這種實(shí)施例中,計(jì)算機(jī)可以包括利用硬件和/或者 軟件的任意適當(dāng)組合實(shí)現(xiàn)的任意適當(dāng)?shù)挠?jì)算機(jī)平臺(tái)、裝置、系統(tǒng)等等。 該制品和/或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以包括一種或者多種可以存儲(chǔ)數(shù)據(jù)的計(jì) 算機(jī)可讀存儲(chǔ)介質(zhì),它們包括易失性存儲(chǔ)器或者非易失性存儲(chǔ)器、可移動(dòng)存儲(chǔ)器或者非移 動(dòng)存儲(chǔ)器、可擦除或者不可擦除存儲(chǔ)器、可寫或者可重寫存儲(chǔ)器等等。根據(jù)所描述的實(shí)施 例,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的例子可以包括,但并不局限于包括隨機(jī)存取存儲(chǔ)器(RAM)、動(dòng) 態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、雙倍數(shù)據(jù)速率動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DDRAM)、同步動(dòng)態(tài)隨機(jī)存 取存儲(chǔ)器(SDRAM)、靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、只讀存儲(chǔ)器(ROM)、可編程只讀存儲(chǔ)器 (PR0M)、可擦可編程只讀存儲(chǔ)器(EPR0M)、電可擦可編程只讀存儲(chǔ)器(EEPR0M)、閃速存儲(chǔ)器 (例如,N0R型或者NAND型閃速存儲(chǔ)器)、內(nèi)容可尋址存儲(chǔ)器(CAM)、聚合物存儲(chǔ)器(例如, 鐵電聚合物存儲(chǔ)器)、相變存儲(chǔ)器、雙向開關(guān)半導(dǎo)體存儲(chǔ)器、鐵電存儲(chǔ)器、硅_氧化硅_氮化 硅-氧化硅-硅(Silicon-Oxide-Nitride-Oxide-Silicon) (S0N0S)存儲(chǔ)器、磁卡或者光 卡、或者任意其它適當(dāng)類型的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。盡管如上所述描述了該實(shí)施例的特定 特征,但是,現(xiàn)在,本技術(shù)領(lǐng)域內(nèi)的技術(shù)人員可以想到許多修改、替換、變更和等同。因此, 應(yīng)當(dāng)知道,所附權(quán)利要求書的目的是涵蓋落入該實(shí)施例的實(shí)質(zhì)范圍內(nèi)的所有這些修改和變 更。
28
權(quán)利要求
一種移動(dòng)裝置,包括萬維網(wǎng)瀏覽器;應(yīng)用程序管理框架,在該瀏覽器內(nèi)予以實(shí)現(xiàn),該應(yīng)用程序管理框架封裝多個(gè)萬維網(wǎng)應(yīng)用程序;以及應(yīng)用程序管理框架用戶界面,其包括一組對(duì)應(yīng)于多個(gè)運(yùn)行于該應(yīng)用程序管理框架內(nèi)的活動(dòng)萬維網(wǎng)應(yīng)用程序的圖標(biāo)。
2. 根據(jù)權(quán)利要求1所述的移動(dòng)裝置,其中該應(yīng)用程序管理框架用戶界面是運(yùn)行著的, 以允許在單個(gè)瀏覽器的情況下,在該應(yīng)用程序管理框架的萬維網(wǎng)應(yīng)用程序之間切換。
3. 根據(jù)權(quán)利要求1或者2所述的移動(dòng)裝置,其中該應(yīng)用程序管理框架用戶界面是運(yùn)行 著的,以對(duì)該應(yīng)用程序管理框架的萬維網(wǎng)應(yīng)用程序提供一組通用的輸入控件。
4. 根據(jù)上述權(quán)利要求中任一項(xiàng)所述的移動(dòng)裝置,其中該應(yīng)用程序管理框架用戶界面是 運(yùn)行著的,以響應(yīng)一個(gè)或者多個(gè)事件,進(jìn)入該組圖標(biāo)。
5. 根據(jù)上述權(quán)利要求中任一項(xiàng)所述的移動(dòng)裝置,其中該應(yīng)用程序管理框架的一個(gè)或者 多個(gè)萬維網(wǎng)應(yīng)用程序包括微件(widget)。
6. 根據(jù)上述權(quán)利要求中任一項(xiàng)所述的移動(dòng)裝置,其中當(dāng)該移動(dòng)裝置未連接到主動(dòng)網(wǎng)絡(luò) 時(shí),一個(gè)或者多個(gè)萬維網(wǎng)應(yīng)用程序是活動(dòng)的。
7. 根據(jù)上述權(quán)利要求中任一項(xiàng)所述的移動(dòng)裝置,其中該應(yīng)用程序管理框架的一個(gè)或者 多個(gè)萬維網(wǎng)應(yīng)用程序包括廣告。
8. —種方法,包括將應(yīng)用程序管理框架安裝在萬維網(wǎng)瀏覽器內(nèi); 將多個(gè)萬維網(wǎng)應(yīng)用程序安裝在該應(yīng)用程序管理框架內(nèi);以及顯示包括一組圖標(biāo)的應(yīng)用程序管理框架用戶界面,該組圖標(biāo)對(duì)應(yīng)于運(yùn)行在該應(yīng)用程序 管理框架內(nèi)的多個(gè)活動(dòng)萬維網(wǎng)應(yīng)用程序。
9. 根據(jù)權(quán)利要求8所述的方法,進(jìn)一步包括提供一個(gè)或者多個(gè)該萬維網(wǎng)應(yīng)用程序,以 供在一個(gè)或者多個(gè)計(jì)算裝置上使用。
10. 根據(jù)權(quán)利要求8或者9所述的方法,進(jìn)一步包括安裝萬維網(wǎng)虛擬機(jī),以與該應(yīng)用程 序管理框架通信,該萬維網(wǎng)虛擬機(jī)包括在該移動(dòng)裝置上的本地萬維網(wǎng)服務(wù)器主機(jī)。
11. 根據(jù)權(quán)利要求io所述的方法,其中該萬維網(wǎng)虛擬機(jī)包括萬維網(wǎng)服務(wù)管理器,該萬維網(wǎng)服務(wù)管理器通過直接消息傳遞接口與該應(yīng)用程序管理框架通信。
12. —種包含計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括運(yùn)行于計(jì)算裝置上以執(zhí)行權(quán)利 要求8至11中任一項(xiàng)所述方法的計(jì)算機(jī)可讀程序單元。
13. —種方法,包括從萬維網(wǎng)應(yīng)用程序開發(fā)商接收萬維網(wǎng)應(yīng)用程序; 將該萬維網(wǎng)應(yīng)用程序提供予用戶的計(jì)算裝置; 將廣告插入特定開發(fā)商的特定萬維網(wǎng)應(yīng)用程序;以及與該特定萬維網(wǎng)應(yīng)用程序開發(fā)商共享由用戶的該計(jì)算裝置上的特定萬維網(wǎng)應(yīng)用程序 產(chǎn)生的廣告展現(xiàn)獲得的廣告收入。
14. 根據(jù)權(quán)利要求13所述的方法,其中該萬維網(wǎng)廣告被插入該特定萬維網(wǎng)應(yīng)用程序,無論該用戶的計(jì)算裝置是處于網(wǎng)絡(luò)在線狀態(tài)還是脫機(jī)狀態(tài);以及該廣告展現(xiàn)發(fā)生在該特定萬維網(wǎng)應(yīng)用程序中,無論該用戶的計(jì)算裝置處于網(wǎng)絡(luò)在線狀 態(tài)還是脫機(jī)狀態(tài)。
15. —種包含計(jì)算機(jī)程序的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),包括運(yùn)行于計(jì)算裝置上以執(zhí)行權(quán)利 要求13或者14所述方法的計(jì)算機(jī)可讀程序單元。
全文摘要
各種實(shí)施例涉及萬維網(wǎng)應(yīng)用程序的應(yīng)用程序管理框架,該應(yīng)用程序管理框架可以提高速度、提高能力、改善用戶體驗(yàn)、增加了廣告收益的機(jī)會(huì)、以及對(duì)廣泛的網(wǎng)絡(luò)裝置簡化應(yīng)用程序開發(fā)。所描述的實(shí)施例可以采用在共享的萬維網(wǎng)瀏覽器應(yīng)用程序管理框架內(nèi)含有、控制、以及顯示多個(gè)基于萬維網(wǎng)的應(yīng)用程序的技術(shù)。共享萬維網(wǎng)瀏覽器應(yīng)用程序管理框架提供了在應(yīng)用程序之間迅速切換的能力,允許處理多任務(wù)、便于使用應(yīng)用程序的一組通用輸入控件、以及可以以察覺不到的啟動(dòng)(“自舉”)時(shí)間使用應(yīng)用程序。所描述的實(shí)施例還可以對(duì)萬維網(wǎng)應(yīng)用程序用戶、萬維網(wǎng)應(yīng)用程序開發(fā)商、萬維網(wǎng)應(yīng)用程序門戶網(wǎng)站提供商,以及萬維網(wǎng)廣告提供商提供共享互相之間事務(wù)的鼓勵(lì)辦法。
文檔編號(hào)G06F3/048GK101790714SQ200880100912
公開日2010年7月28日 申請(qǐng)日期2008年7月29日 優(yōu)先權(quán)日2007年7月29日
發(fā)明者曼吉爾納斯·查特吉, 格雷戈里·R·西蒙, 羅德里克·斯威夫特 申請(qǐng)人:帕姆公司