專利名稱:移動設(shè)備的網(wǎng)絡(luò)控制仿真器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及網(wǎng)絡(luò)服務(wù)。更具體地講,本發(fā)明涉及網(wǎng)絡(luò)控制仿真。
背景技術(shù):
隨著移動應(yīng)用的發(fā)展,不同類型的移動軟件普遍地發(fā)展起來,特別是Web應(yīng)用。雖然PC (個人計算機(jī))或移動設(shè)備上的Web瀏覽器能夠顯示標(biāo) 準(zhǔn)HTML (超文本標(biāo)記語言)網(wǎng)頁(Web pages ),但是多數(shù)情況下基于PC的 網(wǎng)頁(應(yīng)用)與移動設(shè)備(例如,PDA、智能電話等)的Web瀏覽器并不兼 容。這是因為移動設(shè)備具有不同分辨率(240x320或更低,而PC具有1024x768 或更高)的較小的屏幕,并且移動設(shè)備的Web瀏覽器只能夠支持基本的HTML 元素和腳本。多數(shù)復(fù)雜的Web控制不能在移動瀏覽器上正常的工作。
已有的一種解決方案是為了移動使用的目的而開發(fā)所述應(yīng)用的移動版 本,這種解決方案浪費大量的時間和資源。通常,當(dāng)Web請求到來時,Web 服務(wù)器將首先檢測請求設(shè)備的設(shè)備類型(例如,桌上機(jī)或移動設(shè)備),然后將 桌上機(jī)網(wǎng)頁傳給桌上機(jī)設(shè)備或是將移動網(wǎng)頁傳給移動設(shè)備。結(jié)果,Web服務(wù) 器不得不保留用于PC平臺和移動平臺兩者的多種版本的網(wǎng)頁。
發(fā)明內(nèi)容
這里描述了用于移動設(shè)備的Web控制仿真器。在一個實施例中,用于仿 真Web控制的過程包括,但并不限于,通過網(wǎng)絡(luò)接收移動設(shè)備請求的第一網(wǎng) 頁,該第一網(wǎng)頁具有該移動設(shè)備不能識別的第一元素,并動態(tài)地將該第一元 素轉(zhuǎn)換為該移動設(shè)備能夠識別的第二元素,以便具有第二元素的第 一網(wǎng)頁能 夠被該移動設(shè)備處理。
本發(fā)明的其它特征將從以下附圖和具體描述中變得明顯。
在附圖中作為示例而非限定對本發(fā)明進(jìn)行了示出,其中相似的參考標(biāo)號 指示類似的原件。
圖1是示出根據(jù)本發(fā)明的一個實施例的網(wǎng)絡(luò)配置的框圖。
圖2是示出根據(jù)本發(fā)明的一個實施例的仿真Web控制的過程的流程圖。
圖3是示出根據(jù)一個實施例的Web控制仿真系統(tǒng)的框圖。
圖4是示出根據(jù)本發(fā)明的一個實施例的用于仿真Web控制的過程的流程圖。
圖5A-5D是示出根據(jù)本發(fā)明的一定實施例的仿真Web控制的過程的圖 形用戶界面。
圖6是可以與本發(fā)明的 一 個實施例 一起使用的數(shù)字處理系統(tǒng)的框圖。
具體實施例方式
這里描述了用于移動設(shè)備的Web控制仿真器。在以下的描述中陳述了許 多細(xì)節(jié)以提供對本發(fā)明的實施例的更加全面的解釋。但是本領(lǐng)域技術(shù)人員應(yīng)當(dāng)清楚, 本發(fā)明的實施例可以在沒有這些特定細(xì)節(jié)的情況下來實施。在其它的實例中,熟知結(jié)構(gòu)和設(shè)備以框圖的形式示出,而沒有以細(xì)節(jié)示出,以避免 使本發(fā)明的實施例變得模糊。
說明書中提及的"一個實施例"或"實施例"是指與實施例相關(guān)的描述 的特定特征、結(jié)構(gòu)或特性被包括在本發(fā)明的至少一個實施例中。在說明書各 處出現(xiàn)的短語"在一個實施例中"未必全指同一個實施例。
根據(jù)一個實施例,附加層被添加到PC上,其包括在移動客戶端與Web 服務(wù)器之間的控制仿真器。當(dāng)移動客戶端請求該移動客戶端的Web瀏覽器不 能支持的Web控制時,Web控制仿真器將從Web服務(wù)器取得所請求的網(wǎng)頁 (page),并將其傳送(transfer)到返回至移動瀏覽器的圖像。然后,洌覽器 可以簡單地顯示該圖像,而不是不支持的Web控制。用戶可以像以前一樣對 該圖像進(jìn)行任何鼠標(biāo)行為(例如,點擊、拖放)。鼠標(biāo)行為將被發(fā)回Web控 制仿真器。然后,Web控制仿真器將在網(wǎng)頁上仿真所述鼠標(biāo)行為,并發(fā)回Web 服務(wù)器。當(dāng)Web服務(wù)器響應(yīng)所述鼠標(biāo)行為并發(fā)出新的網(wǎng)頁時,Web控制仿真器再次將其捕獲,并將代表新的網(wǎng)頁的Web控制的新的圖像發(fā)送到移動客戶 端。結(jié)果,Web服務(wù)器只需要保留一種版本的網(wǎng)頁,并使用Web控制仿真器 來仿真移動客戶端不識別的任何Web控制。網(wǎng)頁可以被不同的Web應(yīng)用共同 和有效地使用而不需要重新開發(fā),并與大多樣式的移動設(shè)備良好地合作,以 顯示網(wǎng)頁并實現(xiàn)與用戶的數(shù)據(jù)交換。開發(fā)者可以使相同的網(wǎng)頁運行在PC或 Mobile上,而不需要專門開發(fā)用于不同種類的平臺的相同網(wǎng)頁。
圖1是示出根據(jù)本發(fā)明的一個實施例的網(wǎng)絡(luò)配置的框圖。參考圖1,網(wǎng) 絡(luò)系統(tǒng)100包括一個或多個移動客戶端101-102,所述移動客戶端101-102通 過網(wǎng)絡(luò)104通信地耦合到Web服務(wù)器103。網(wǎng)絡(luò)104可以是諸如內(nèi)聯(lián)網(wǎng)的局 域網(wǎng)(LAN)或諸如互聯(lián)網(wǎng)的廣域網(wǎng)(WAN)。 Web服務(wù)器103被配置成向 客戶端101-102提供各種Web服務(wù)。
"Web服務(wù)"是描述使用開放標(biāo)準(zhǔn)集成基于Web的應(yīng)用的方式的統(tǒng)稱術(shù) 語,所述開放標(biāo)準(zhǔn)如XML (可擴(kuò)展標(biāo)記語言)、SOAP (簡單對象訪問協(xié)議)、 WSDL ( Web服務(wù)描述語言)和UDDI (通用描述、發(fā)現(xiàn)和集成)。XML用于 標(biāo)簽(例如,定義)應(yīng)用之間發(fā)送的數(shù)據(jù),SOAP用于傳送數(shù)據(jù),WSDL用 于描述可用的服務(wù),而UDDI用于列出可用的服務(wù)。
Web服務(wù)可以分布在各種計算機(jī)網(wǎng)絡(luò)上,并且雖然未必、但是典型地涉 及通過互聯(lián)網(wǎng)的通信。用戶可以通過點對點配置來訪問Web服務(wù)主機(jī),而非 通過中央服務(wù)器D—些Web服務(wù)主機(jī)具有與其它Web服務(wù)主機(jī)直接通信的能 力(例如,無需用戶干預(yù))。
在一個實施例中,Web服務(wù)器可以用來為各種平臺提供地圖信息,如PC 平臺和移動平臺。例如,Web服務(wù)器103可以由地理信息服務(wù)(GIS)提供商 來操作,如可以從加利福尼亞的Redlands的ESRI獲得的那些。
此外,系統(tǒng)100包括通信地耦合到網(wǎng)絡(luò)104的Web控制仿真器(WCS ) 105,以便仿真客戶端101-102不能識別的任何Web控制,例如,ActiveX控 制或Javaapplet。請注意,WCS 105可以被實施為Web服務(wù)器103的一部分 或獨立的服務(wù)器。例如,WCS105和Web服務(wù)器103可以實施為服務(wù)器中心 (server farm)或服務(wù)器簇?;蛘?,WCS 105可以是被Web服務(wù)器103根據(jù) 需要(例如,以按需執(zhí)行的方式)調(diào)用的第三方服務(wù)提供商。
根據(jù)一個實施例,WCS 105為已有網(wǎng)站或服務(wù)提供商提供通用的解決方 案以便將它們的Web服務(wù)遞送給移動設(shè)備。對于已經(jīng)實施了它們自己的Web解決方案的任何Web應(yīng)用,不需要再實施其它類似的解決方案。它們可以由 移動設(shè)備通過中間層設(shè)備WCS 105而直接訪問。WCS 105對Web服務(wù)器103
是透明的。
根據(jù)本發(fā)明的一定實施例,許多已有應(yīng)用能夠使用WCS 105而不需要修 改。為了說明,貫穿本申請,GIS (地理信息系統(tǒng))服務(wù)器被用作Web服務(wù) 器103的例子,以便向客戶端101-102提供地圖服務(wù)。典型地,GIS服務(wù)器被 用來提供含有由客戶端請求的一定地點的地圖的網(wǎng)頁。通常,含有一定Web 控制的網(wǎng)頁一般只能被顯示在運行在桌上機(jī)(desktop )上的Web瀏覽器中(如 圖5B所示),而不能顯示在移動設(shè)備的瀏覽器中(如圖5A所示),因為移動 設(shè)備有可能不能處理這樣的Web控制。在Web控制仿真器105的幫助下,移 動設(shè)備101-102能夠訪問由Web服務(wù)器103提供(host)的網(wǎng)站,而不需要 修改網(wǎng)頁。WCS 105能夠?qū)⑽醋R別出的Web控制翻譯為移動設(shè)備能夠解析和 顯示的Web元素(例如,作為激活Web控制的結(jié)果的圖像)(如圖5C所示), 而不通知Web服務(wù)器103和/或移動設(shè)備101-102。
圖2是示出根據(jù)本發(fā)明的一個實施例的仿真Web控制的過程的流程圖。 過程200可以由處理邏輯(processing logic )來執(zhí)行,處理邏輯可以包括軟件、 硬件、或兩者的組合。例如,過程200可以由圖1的WCS105來執(zhí)行。在一 個實施例中,過程200包括、但不限于通過網(wǎng)絡(luò)接收由移動設(shè)備請求的第一 網(wǎng)頁,該第一網(wǎng)頁具有移動設(shè)備不能識別的第一元素,以及動態(tài)地將第一元 素轉(zhuǎn)換為能夠被移動設(shè)備識別的第二元素,以便具有第二元素的第 一 網(wǎng)頁能 夠被移動設(shè)備處理。
參考圖2,在方框201,處理邏輯從Web服務(wù)器接收具有第一元素(例 如,Web控制)的網(wǎng)頁,該網(wǎng)頁是由客戶端(例如,移動設(shè)備)通過網(wǎng)絡(luò)請 求的。在方框202,處理邏輯基于客戶端的特性(例如,移動設(shè)備的類型) 來確定第一元素是否能夠被該客戶端識別。如果第一元素不能被客戶端識別, 在方框203,處理邏輯將第一元素轉(zhuǎn)換為能夠被客戶端識別的第二元素(例 如,圖像)。在一個實施例中,所述轉(zhuǎn)換是通過仿真第一元素(例如,Web控 制)的激活而執(zhí)行的。在方框204,可選地,使(render)具有第二元素的新 的網(wǎng)頁與客戶端的特性兼容,諸如適當(dāng)?shù)嘏浜峡蛻舳说娘@示器。在方框205, 具有第二元素的新的網(wǎng)頁被通過網(wǎng)絡(luò)傳輸?shù)娇蛻舳?,從而該網(wǎng)頁的第二元素 能夠被客戶端處理。其它操作也可以被執(zhí)行。
圖3是示出根據(jù)一個實施例的Web控制仿真系統(tǒng)的框圖。系統(tǒng)300可以 被實施為圖1的系統(tǒng)100的一部分。例如,WCS 302可以被實施為圖1的 WCS 105的一部分。在一個實施例中,WCS 302包括、但不限于牽mtft, 其響應(yīng)于由移動設(shè)備通過網(wǎng)絡(luò)請求的第一網(wǎng)頁來確定該第一網(wǎng)頁的第一元素 是否能夠被移動設(shè)備識別;以及網(wǎng)頁仿真器,其耦合到解析單元以便動態(tài)地 將第一元素轉(zhuǎn)換為能夠被移動設(shè)備識別的第二元素,以便具有第二元素的第 一網(wǎng)頁能夠被移動設(shè)備處理。
再次參考圖3,客戶端301通過網(wǎng)絡(luò)通信地耦合到WCS 302,其中WCS 302執(zhí)行由Web服務(wù)器303提供的網(wǎng)頁的Web控制的仿真。如上所述,WCS 302和Web服務(wù)器303可以實施為服務(wù)器中心或服務(wù)器簇。或者,WCS 302 可以是被第三方操作的獨立服務(wù)器。在一個實施例中,WCS 302包括、但不 限于動作調(diào)度器304、解析單元或解析器306、以及網(wǎng)頁仿真器307。
在一個實施例中,客戶端301可以是具有移動Web瀏覽器的移動設(shè)備。 移動Web瀏覽器有點像運行在移動設(shè)備上的普通瀏覽器。但是,由于移動設(shè) 備的限制,其典型地只能夠解析已經(jīng)由WCS 302翻譯的網(wǎng)頁。其能夠顯示大 多數(shù)標(biāo)準(zhǔn)HTML元素,但是不能夠顯示復(fù)雜的Web控制,如GIS (地理信息 服務(wù))Web控制和Java applets等。
Web服務(wù)器303可以是任何能夠提供對諸如IIS、 Apache或NWDI的網(wǎng) 頁的可訪問性的Web服務(wù)器或企業(yè)服務(wù)器。因為網(wǎng)頁被WCS 302翻譯,Web 服務(wù)器303不需要另外的工作來處理翻譯,并且Web服務(wù)器303只需要為PC 平臺或移動平臺保留一種版本的網(wǎng)頁。從客戶端301的角度看,WCS 302擔(dān)
當(dāng)代理服務(wù)器,而從Web服務(wù)器303的角度看,WCS302表現(xiàn)為普通的客戶端。
在一個實施例中,WCS解析器306負(fù)責(zé)解析來自Web服務(wù)器303的所 有網(wǎng)頁305。在得到客戶端301的請求后,WCS 302確定客戶端301的可用 元素列表。通過解析網(wǎng)頁,解析器306檢查網(wǎng)頁中的所有元素,并標(biāo)記客戶 端301不能正常顯示的元素。然后WCS 302在本地磁盤上保存網(wǎng)頁(例如, 網(wǎng)頁305 ),并在瀏覽器引擎309中運行網(wǎng)頁,諸如Microsoft的Internet Explorer 或Mozilla的FireFox。瀏覽器引擎在瀏覽器引擎上運行網(wǎng)頁并追蹤執(zhí)行過程。 這樣仿真器能夠獲得元素的運行狀態(tài)和運行時圖像,它們可以從遠(yuǎn)程服務(wù)器
或Web服務(wù)器3 03下載,作為由瀏覽器引擎執(zhí)行Web控制的結(jié)果。
在解析網(wǎng)頁之后,仿真器307準(zhǔn)備好進(jìn)行翻譯。在一個實施例中,仿真 器307創(chuàng)建新的網(wǎng)頁(例如,網(wǎng)頁308 ),并將原始網(wǎng)頁(例如,網(wǎng)頁305 ) 中接受的元素復(fù)制到新的網(wǎng)頁中而不進(jìn)行任何修改。而對于未接受的元素, 仿真器307轉(zhuǎn)向瀏覽器引擎309以得到運行狀態(tài),并通過API (應(yīng)用編程接 口 )得到運行時畫面。然后仿真器307以從瀏覽器引擎得到的圖像(例如, 第二元素)來替換原始元素(例如,第一元素),并以諸如JavaScript的腳本 語言的形式來添加相關(guān)操作和動作。之后,仿真器307在本地磁盤上保存新 的網(wǎng)頁(例如,新的網(wǎng)頁308 ),并且例如通過可以是LAN (例如,內(nèi)聯(lián)網(wǎng)) 或WAN (例如,互聯(lián)網(wǎng))的.網(wǎng)絡(luò)將新的網(wǎng)頁傳送到客戶端301。
在一個實施例中,在用戶在客戶端301瀏覽網(wǎng)頁時,用戶對網(wǎng)頁執(zhí)行的 一些或全部動作被轉(zhuǎn)送到WCS 302。 WCS 302能夠找到應(yīng)當(dāng)對其執(zhí)行所述動 作的相應(yīng)的原始網(wǎng)頁。動作調(diào)度器304將每個動作重新定向到舊的原始網(wǎng)頁 (例如,網(wǎng)頁305 ),并經(jīng)由瀏覽器引擎309執(zhí)行動作。請注意,每個功能單 元或模塊304、 306-307和309可以被實施為包括軟件、硬件或兩者的組合的 處理邏輯。網(wǎng)頁305和308可以被一個或多個數(shù)據(jù)庫或存儲器保留。其它配 置也可以存在。
圖4是示出根據(jù)本發(fā)明的一個實施例的仿真Web控制的過程的流程圖。 過程400可以由處理邏輯來執(zhí)行,該處理邏輯可以包括軟件、硬件、或兩者 的組合。例如,過程400可以由圖1的系統(tǒng)100和/或圖3的系統(tǒng)300來執(zhí)行。 在一個實施例中,在操作401期間,客戶端發(fā)送HTTP (超文本傳輸協(xié)議) 請求到WCS (如圖5A所示)。在操作402期間,WCS將該請求轉(zhuǎn)送到Web 服務(wù)器。此外,通過解析HTTP請求,WCS能夠提取客戶端能夠接受的網(wǎng)頁 元素類型的列表,并將該信息保存在WCS的本地存儲器中。然后WCS將該 請求轉(zhuǎn)送到Web服務(wù)器并等待來自Web服務(wù)器的響應(yīng)。
在操作403期間,Web服務(wù)器將HTTP請求發(fā)送回WCS。在操作404 期間,WCS從響應(yīng)中提取網(wǎng)頁。在一個實施例中,這個網(wǎng)頁是和正常平臺瀏 覽器將得到的網(wǎng)頁相同而沒有任何修改的原始HTML網(wǎng)頁(如圖5B所示)。 客戶端從WCS得到已經(jīng)用可識別的網(wǎng)頁元素(例如,圖像)替換過的修改的 網(wǎng)頁。在方框405,用戶可以瀏覽這個網(wǎng)頁,并對這個網(wǎng)頁進(jìn)行任何希望的 操作。如果用戶與該網(wǎng)頁進(jìn)行交互,則在方框406 (如圖5C所示),該動作 將通過HTTP協(xié)議被轉(zhuǎn)送到WCS。用戶的動作是以客戶端能夠識別的形式。
WCS接收用戶的動作請求、新的網(wǎng)頁請求或post請求。如果該請求是 對于替換的元素的,則在方框407, WCS將該請求翻譯為實際的HTTP請求, 并對來自Web服務(wù)器的原始網(wǎng)頁中的相應(yīng)元素執(zhí)行這個動作。在方框408, Web服務(wù)器接收請求,并通過刷新網(wǎng)頁響應(yīng)該請求(如圖5D所示)。其它操 作也可以^皮執(zhí)行。
圖6是可以與本發(fā)明的一個實施例一起使用的數(shù)字處理系統(tǒng)的框圖。例 如,圖6所示的系統(tǒng)600可以用作如上關(guān)于圖l和3所述的客戶端和/或服務(wù) 器,以及Web控制仿真器。
請注意,雖然圖6示出了計算機(jī)系統(tǒng)的各種部件,但并不是想表示將所 述部件相互連接的任何特定的體系結(jié)構(gòu)或方式,因為這些細(xì)節(jié)與本發(fā)明不是 密切相關(guān)的。還應(yīng)當(dāng)理解,網(wǎng)絡(luò)計算機(jī)、掌上計算機(jī)、手機(jī)以及其它具有更 少部件或者也許更多部件的數(shù)據(jù)處理系統(tǒng)都可以與本發(fā)明一起使用。
如圖6所示,處于數(shù)據(jù)處理系統(tǒng)的形式的系統(tǒng)600包括總線或互連
(interconnect) 602,其耦合到 一個或多個微處理器603和ROM 607、易失 性RAM 605、以及非易失性存儲器606。微處理器603可以是與如圖6的例 子所示的高速IC沖存儲器604耦合的、來自Motorola Inc.或IBM的PowerPC G4或PowerPC G5微處理器??偩€602將這些各種部件互連在一起,并將這 些部件603、 607、 605和606互連到顯示控制器和顯示^殳備608、以及輸入/ 輸出(I/O)設(shè)備610,所述I/O設(shè)備610可以是鼠標(biāo)、鍵盤、調(diào)制解調(diào)器、 網(wǎng)絡(luò)接口 、打印機(jī)以及其它本領(lǐng)域熟知的設(shè)備。
典型地,輸入/輸出設(shè)備610通過輸入/輸出控制器609耦合到系統(tǒng)。易失 性RAM 605被典型地實施為動態(tài)RAM ( DRAM ),其需要連續(xù)的電源以刷新 或維持存儲器中的數(shù)據(jù)。非易失性存儲器606典型地為磁性硬盤驅(qū)動
(magnetic hard drive )、》茲'1"生光盤馬區(qū)動(magnetic optical drive )、 光盤馬區(qū)動、 或DVD RAM、或者其它類型的即使在從系統(tǒng)去除電源之后還能維持?jǐn)?shù)據(jù)的 存儲器系統(tǒng)。典型地,非易失性存儲器也可以是隨機(jī)存取存儲器,雖然并不 要求這樣。
雖然圖6示出了非易失性存儲器是直接耦合到數(shù)據(jù)處理系統(tǒng)中的剩余部 件的本地設(shè)備,但是本發(fā)明可以利用遠(yuǎn)離系統(tǒng)的非易失性存儲器;比如,通 過諸如調(diào)制解調(diào)器或以太網(wǎng)接口的網(wǎng)絡(luò)接口耦合到數(shù)據(jù)處理系統(tǒng)的網(wǎng)絡(luò)存儲 設(shè)備。如本領(lǐng)域所熟知的,總線602可以包括通過各種網(wǎng)橋、控制器、和/或
適配器互相連接的一個或多個總線。在一個實施例中,1/0控制器609包括用 于控制USB (通用串行總線)外設(shè)的USB適配器。或者,1/O控制器609可 以包括用于控制Fire Wire設(shè)備的IEEE-1394適配器,也被稱為Fire Wire適配器。
這樣,在這里描述了用于移動設(shè)備的Web控制仿真器。以上所述的部分 可以用諸如專用邏輯電路的邏輯電路來實施,或者用微控制器或執(zhí)行程序代 碼指令的其它形式的處理核心來實施。由以上討論所教導(dǎo)的過程可以用諸如
機(jī)器可執(zhí)行指令的程序代碼來執(zhí)行,所述機(jī)器可執(zhí)行指令使得機(jī)器執(zhí)行這些 指令以執(zhí)行一定的功能。在此情況中,"機(jī)器"(machine)可以是將中間形式 的(或"抽象")指令轉(zhuǎn)換為處理器專用指令(例如,抽象執(zhí)行環(huán)境,諸如"虛 擬、才幾',(例^口, Java Virtual Machine )、 解釋器、Common Language Runtime、 高級語言虛擬機(jī)等)的機(jī)器、和/或布置在被設(shè)計用來執(zhí)行指令的半導(dǎo)體芯片 (例如,用晶體管實施的"邏輯電路")上的電子電路,所述半導(dǎo)體芯片諸如 通用處理器和/或?qū)S锰幚砥?。以上討論所教?dǎo)的過程也可以由被設(shè)計用來執(zhí) 行過程(或一部分過程)的電子電路(可替換地,機(jī)器或結(jié)合機(jī)器)來執(zhí)行, 而不執(zhí)行程序代碼。
相信由以上討論所教導(dǎo)的過程也可以用各種軟件開發(fā)框架(例如, Microsoft Corporation的.NET、 Mono、 Java、 Oracle Corporation的Fusion等) 所支持的各種面向?qū)ο蠡蚍敲嫦驅(qū)ο蟮挠嬎銠C(jī)編程語言(例如,Java、 C#、 VB、 Python、 C、 C++、 J#、 APL、 Cobol、 ABAP、 Fortran、 Pascal、 Perl等) 描述在源碼級(source level)程序代碼中。源碼級的程序代碼可以.被轉(zhuǎn)換為 可以凈皮才由象4九4亍環(huán)境(例3口, Java Virtual Machine 、 Common Language Runtime 、 高級語言虛擬機(jī)、解釋器等)理解的中間形式的程序代碼(諸如Java字節(jié)碼、 Microsoft Intermediate Language等)、或以特定處理器為目標(biāo)的更加特別形式 的程序代碼。
前述詳細(xì)描述的一些部分已經(jīng)按照對計算機(jī)存儲器中的數(shù)據(jù)位的算法和 操作的符號表述進(jìn)行了示出。這些算法的描述和表述是數(shù)據(jù)處理領(lǐng)域技術(shù)人 員所使用的手段,以便最有效地將他們工作的實質(zhì)轉(zhuǎn)達(dá)給其他的本領(lǐng)域技術(shù) 人員。在這里,并且一般地,算法被設(shè)計為導(dǎo)向期望結(jié)果的前后一致的操作 序列。所述操作是那些需要物理量的物理操縱的操作。通常,雖然不是必須 的,這些量采用能夠被存儲、傳送、組合、比較、以及其它操縱的電信號或 磁信號。將這些信號稱為位、數(shù)值、元素、符號、字符、術(shù)語、數(shù)字等常被 證明是方便的,主要是因為通用。
但是,應(yīng)當(dāng)在記住所有這些以及類似的術(shù)語都與適當(dāng)?shù)奈锢砹肯嚓P(guān)聯(lián), 并且僅僅是施加到這些量的方便的標(biāo)注。除非特別聲明,否則可以從以上討 論中清楚地看出,應(yīng)當(dāng)理解貫穿整個描述,利用諸如"處理"或"計算"或 "運算"或"確定"或"顯示"等術(shù)語的討論指示計算機(jī)系統(tǒng)或類似的電子 計算設(shè)備的動作和處理,它們將表現(xiàn)為計算機(jī)系統(tǒng)的寄存器和存儲器中的物 理(電子)量的數(shù)據(jù)搡縱和變換為類似地表現(xiàn)為計算機(jī)系統(tǒng)存儲器或寄存器 或其它這樣的存儲、傳輸或顯示設(shè)備中的物理量的其它數(shù)據(jù)。
本發(fā)明的實施例還涉及用于執(zhí)行這里的操作的裝置。這個裝置可以為了 所需目的而特別構(gòu)造,或者它可以包括由存儲在計算機(jī)中的計算機(jī)程序選擇 性地激活或重新配置的通用計算機(jī)。這樣的計算機(jī)程序可以被存儲在計算機(jī) 可讀存儲介質(zhì)中,諸如、但不限于任何類型的存儲盤,包括軟盤、光盤、
CD-ROM、以及磁光盤、只讀存儲器(ROM)、隨機(jī)存取存儲器(RAM)、可 擦除可編程ROM ( EPROM )、電可擦除可編程ROM ( EEPROM )、磁或光卡、 或適于存儲電子指令的任何類型的介質(zhì),并且每一個都耦合到計算機(jī)系統(tǒng)總 線。
這里所展示的算法和顯示并不必然地涉及任何特定的計算機(jī)或其它裝 置。各種通用系統(tǒng)可以根據(jù)這里的教導(dǎo)與程序一起使用,或可以證明構(gòu)建更 加專用的裝置來執(zhí)行所需的方法操作是方便的。用于多種這些系統(tǒng)的所需結(jié) 構(gòu)將從以下描述中清楚地看出。此外,本發(fā)明的實施例并不是參考任何特定 的編程語言而描述的。應(yīng)當(dāng)理解各種編程語言都可以用來實施這里所描述的 本發(fā)明的實施例的教導(dǎo)。
機(jī)器可讀介質(zhì)可以包括用于以機(jī)器(例如,計算機(jī))可讀的形式存儲或 傳輸信息的任何機(jī)制。例如,機(jī)器可讀介質(zhì)包括只讀存儲器("ROM");隨 機(jī)存取存儲器("RAM");磁盤存儲介質(zhì);光存儲介質(zhì);閃速存儲器設(shè)備; 電、光、聲或其它形式的傳播信號(例如,載波、紅外信號、數(shù)字信號等); 等等。
在前述說明中,已經(jīng)參考本發(fā)明的特定示例實施例描述的本發(fā)明的實施 例t很明顯,在不脫離如在以下權(quán)利要求書中所陳述的本發(fā)明的精神和范圍 的情況下,可以進(jìn)行各種修改。因此,說明書和附圖將被視為是為了說明的 目的而不是為了進(jìn)行限定。
權(quán)利要求
1.一種機(jī)器實施的方法,包括通過網(wǎng)絡(luò)接收由移動設(shè)備請求的第一網(wǎng)頁,該第一網(wǎng)頁具有該移動設(shè)備不能識別的第一元素;并且將所述第一元素動態(tài)地轉(zhuǎn)換為能被所述移動設(shè)備識別的第二元素,以便具有所述第二元素的第一網(wǎng)頁能夠被所述移動設(shè)備處理。
2. 如權(quán)利要求l所述的方法,其中所述第一元素是第一網(wǎng)絡(luò)控制,而所 述第二元素是代表激活所述第 一 網(wǎng)絡(luò)控制的結(jié)果的第 一 圖像。
3. 如權(quán)利要求2所述的方法,還包括基于來自所述移動設(shè)備的請求所述網(wǎng)頁的請求來確定所述移動設(shè)備的特 性;并且使具有所述第 一圖像的第 一網(wǎng)頁與所確定的移動設(shè)備的特性相兼容。
4. 如權(quán)利要求3所述的方法,還包括通過網(wǎng)絡(luò)將所述具有第一圖像的第 一網(wǎng)頁傳輸?shù)剿鲆苿釉O(shè)備,作為對所述請求的響應(yīng)的 一部分。
5. 如權(quán)利要求4所述的方法,還包括響應(yīng)于用于激活所述第一網(wǎng)頁上的第一圖像的輸入,通過網(wǎng)絡(luò)從所述移 動設(shè)備接收信號;并且基于在移動設(shè)備顯示的第一網(wǎng)頁的第一圖像所接收的輸入來仿真所述第 一網(wǎng)頁的用戶交互。
6. 如權(quán)利要求5所述的方法,還包括 基于第一網(wǎng)頁的第一圖像的用戶交互的仿真接收第二網(wǎng)頁;通過網(wǎng)絡(luò)將代表激活所述第 一 圖像的輸入的結(jié)果的所述第二網(wǎng)頁傳輸?shù)?移動設(shè)備。
7. 如權(quán)利要求6所述的方法,還包括在將所述第二網(wǎng)頁傳輸?shù)揭苿釉O(shè)備 之前,如果該第二網(wǎng)頁的第二網(wǎng)絡(luò)控制不能被所述移動設(shè)備識別,則將所述 第二網(wǎng)絡(luò)控制轉(zhuǎn)換為第二圖像。
8. 如權(quán)利要求7所述的方法,其中所述第一圖像是由所述移動設(shè)備的瀏 覽器激活第 一 網(wǎng)絡(luò)控制的結(jié)果的仿真。
9. 一種具有指令的機(jī)器可讀介質(zhì),當(dāng)由機(jī)器執(zhí)行時,使得機(jī)器執(zhí)行一種 方法,該方法包括通過網(wǎng)絡(luò)接收由移動設(shè)備請求的第 一 網(wǎng)頁,該第 一 網(wǎng)頁具有該移動設(shè)備 不能識別的第一元素;并且將所述第一元素動態(tài)地轉(zhuǎn)換為能被所述移動設(shè)備識別的第二元素,以便 具有所述第二元素的第一網(wǎng)頁能夠被所述移動設(shè)備處理。
10. 如權(quán)利要求9所述的機(jī)器可讀介質(zhì),其中所述第一元素是第一網(wǎng)絡(luò)控制,而所述第二元素是代表激活所述第一網(wǎng)絡(luò)控制的結(jié)果的第一圖像。
11. 如權(quán)利要求IO所述的機(jī)器可讀介質(zhì),其中所述方法還包括 基于來自所述移動設(shè)備的請求所述網(wǎng)頁的請求來確定所述移動設(shè)備的特性;并且使具有所述第 一 圖像的第 一 網(wǎng)頁與所確定的移動設(shè)備的特性相兼容。
12. 如權(quán)利要求11所述的機(jī)器可讀介質(zhì),其中所述方法還包括通過網(wǎng)絡(luò) 將所述具有第一圖像的第一網(wǎng)頁傳輸?shù)剿鲆苿釉O(shè)備,作為對所述請求的響 應(yīng)的一部分。
13. 如權(quán)利要求12所述的機(jī)器可讀介質(zhì),其中所述方法還包括響應(yīng)于用于激活所述第 一網(wǎng)頁上的第 一 圖像的輸入,通過網(wǎng)絡(luò)從所述移 動設(shè)備接收信號;并且基于在移動設(shè)備顯示的第一網(wǎng)頁的第一圖像接收的輸入來仿真所述第一 網(wǎng)頁的用戶交互。
14. 如權(quán)利要求13所述的機(jī)器可讀介質(zhì),其中所述方法還包括 基于第一網(wǎng)頁的第一圖像的用戶交互的仿真接收第二網(wǎng)頁;通過網(wǎng)絡(luò)將代表激活所述第 一圖像的輸入的結(jié)果的所述第二網(wǎng)頁傳輸?shù)?移動設(shè)備。
15. 如權(quán)利要求14所述的機(jī)器可讀介質(zhì),其中所述方法還包括在將所述 第二網(wǎng)頁傳輸?shù)揭苿釉O(shè)備之前,如果該第二網(wǎng)頁的第二網(wǎng)絡(luò)控制不能被所述 移動設(shè)備識別,則將所述第二網(wǎng)絡(luò)控制轉(zhuǎn)換為第二圖像。
16. 如權(quán)利要求15所述的機(jī)器可讀介質(zhì),其中所述第一圖像是由所述移 動設(shè)備的瀏覽器激活第 一 網(wǎng)絡(luò)控制的結(jié)果的仿真。
17. —種裝置,包括解析單元,響應(yīng)于由移動設(shè)備通過網(wǎng)絡(luò)請求的第一網(wǎng)頁,以確定所述第 一網(wǎng)頁的第 一元素是否能夠被所述移動設(shè)備識別;以及網(wǎng)頁仿真器,耦合到所述解析單元,以動態(tài)地將所述第一元素轉(zhuǎn)換為能被所述移動設(shè)備識別的第二元素,以便具有所述第二元素的第 一 網(wǎng)頁能夠被 所述移動設(shè)備處理。
18. 如權(quán)利要求17所述的裝置,其中所述第一元素是第一網(wǎng)絡(luò)控制,而 所述第二元素是代表激活所述第 一 網(wǎng)絡(luò)控制的結(jié)果的第 一 圖像。
19. 如權(quán)利要求18所述的裝置,其中所述解析單元被配置來基于來自所 述移動設(shè)備的請求所述網(wǎng)頁的請求來確定所述移動設(shè)備的特性,并且其中所 述網(wǎng)頁仿真器被配置為使具有所述第 一圖像的第 一 網(wǎng)頁與所確定的移動設(shè)備 的特性相兼容。
20. 如權(quán)利要求19所述的裝置,還包括動作調(diào)度器,耦合到所述解析單 元,響應(yīng)于所述網(wǎng)頁的第二元素將用戶交互調(diào)度到提供網(wǎng)頁的網(wǎng)絡(luò)服務(wù)器。
全文摘要
這里描述了用于移動設(shè)備的Web控制仿真器。在一個實施例中,用于仿真Web控制的過程包括、但不限于通過網(wǎng)絡(luò)接收由移動設(shè)備請求的第一網(wǎng)頁,該第一網(wǎng)頁具有該移動設(shè)備不能識別的第一元素;并且將所述第一元素動態(tài)地轉(zhuǎn)換為能被所述移動設(shè)備識別的第二元素,以便具有所述第二元素的第一網(wǎng)頁能夠被所述移動設(shè)備處理。還描述了其它方法和裝置。
文檔編號H04M3/493GK101202794SQ20071018696
公開日2008年6月18日 申請日期2007年11月15日 優(yōu)先權(quán)日2006年11月16日
發(fā)明者李穎暉, 陳穎宇 申請人:Sap股份公司