專利名稱:存儲客戶側數據的制作方法
存儲客戶側數據
背景技術:
計算機運行執行任務的應用程序。可以使用像C、C++、Java或別的語言這樣的語言來編制應用程序。應用程序(例如字處理器或數據庫)可以存儲數據,例如由字處理器產生的文本文檔或者數據庫的表格中的數據條目。可以使用像超文本標記語言(HTML)這樣的語言來編制web頁。HTML是腳本語言,其限定文本、圖片、鏈接向訪問web頁的用戶表現的方式。Web瀏覽器可以使用像web工具包(webkit)這樣的布局引擎渲染適于觀看的HTML文檔。應用程序可以使用多種語言來完成任務,例如在Java中對文本進行編程可能比在HTML中對文本進行編程和使用布局引擎來渲染HTML更低效。
本發明的一些實施例是關于下面的附圖描述的:圖1是根據示例實施例的設備的框圖;圖2是根據示例實施例的系統的框圖;圖3是根據示例實施例的方法的流程圖;圖4是根據示例實施例的方法的流程圖;以及圖5是根據示例實施例的系統的框圖。
具體實施例方式操作系統控制計算機的操作以及指引程序的處理。可以通過分配存儲器中的存儲空間和控制輸入功能和輸出功能進行程序的指引和處理。操作系統可以具有腳本語言布局引擎,例如webkit 。布局引擎取得標記內容(如HTML、XML、圖像文件等)和格式信息(如CSS、XS1等),并且將格式化的內容顯示在屏幕上。包括布局引擎的操作系統的示例是PalmWebOS ,為了使數據下載更高效,運行操作系統的設備可以包括布局引擎來渲染數據。至少部分地屬于被設備上的布局引擎渲染的腳本語言的應用程序,可以使用較少存儲器來存儲,因此可以更有效地在設備之間轉移。例如,至少部分地包括html代碼的應用程序可以從服務器轉移至客戶設備或者從第一設備轉移至第二設備,并且被接收設備上的布局引擎渲染,這可以比不使用布局引擎的程序更高效。基于web的應用程序是通過將web瀏覽器指向統一資源定位器(URL)來執行的應用程序。基于web的應用程序通過web瀏覽器渲染。基于web的應用程序可能看上去類似于在計算機上運行的應用程序,例如在瀏覽器中運行的基于web的字處理器可能表現得類似于在操作系統上運行的字處理器。在web瀏覽器中運行的基于web的應用程序訪問位于向運行應用程序的web瀏覽器提供基于web的應用程序的服務的系統上的存儲器。例如,基于web的應用程序可以將由基于web的應用程序產生的數據存儲在為基于web的應用程序提供服務的系統上。如果web瀏覽器可以存儲客戶側數據,那么基于web的應用程序可以表現得類似于在客戶機上運行的應用程序。
具有包括對包括HTML的應用程序進行渲染的布局引擎的操作系統的設備,可以連接至另一設備。該設備上的應用程序可以被該另一設備執行。根據應用程序,客戶側數據可以被存儲在該設備上或該另一設備上。例如,游戲的客戶側數據可以存儲在該設備上,來自字處理應用程序的客戶側數據可以存儲在該另一設備上。將客戶側數據存儲在哪里可以由應用程序的用戶根據該設備和另一設備的容量、基于應用程序或其它標準來確定。在一個實施例中,設備包括從第二設備接收代碼的接收器。代碼的至少一部分可以是腳本語言。存儲設備可以存儲來自代碼的客戶側數據。控制器可以運行代碼并且確定是否將客戶側數據存儲在存儲器和第二設備中的至少之一中。對照附圖,圖1是根據示例實施例的第一設備100的框圖。第一設備100包括接收器120,接收器120從第二設備中接收代碼125。設備100可以是便攜式系統,例如移動電話或筆記本計算機。第二設備可以是便攜式系統,例如移動電話或筆記本計算機,或者可以是固定設備,例如塔柜(tower)或一體化(all in one)。代碼125可以是應用程序,代碼125的至少一部分是腳本語言。腳本語言是被布局引擎渲染的語言。腳本語言可以是例如超文本標記語言、可擴展標記語言(XML)或別的腳本語言。如果腳本語言是HTML,那么布局引擎可以是例如webkit 。第一設備100中的存儲器115可以存儲來自代碼125的客戶側數據110。如果代碼125由控制器105執行,那么客戶側數據110可以由控制器105產生。控制器105可以是例如通用處理器,可以是圖形處理器,或者可以是專用集成電路(ASIC)。通用處理器可以處理來自不同操作系統或應用程序的多個指令,或者可以處理以下應用程序:例如由第一設備100上的控制器105執行的web瀏覽器,由第一設備100上的控制器105執行的字處理器或者由第一設備100上的控制器105執行的別的應用程序。控制器105還可以確定是否將客戶側數據110存儲在存儲器115和第二設備中的至少之一中。存儲器115可以是例如易失性存儲器,如隨機存取存儲器(RAM),或者非易失性存儲器,如硬盤驅動器、光介質、閃存,或者別的存儲設備。第一設備可以包括確定代碼出處的邏輯。邏輯可以是硬件、固件或計算機可讀指令。代碼的出處可以被確定為第一設備或外部設備(如第二設備)之一。邏輯可以根據代碼的出處確定將客戶側數據存儲在哪里。例如,邏輯可以確定,如果代碼是從第二設備收到的,那么將通過執行代碼產生的客戶側數據存儲在第二設備中,以及如果代碼不是從外部源例如第二設備收到的,那么將客戶側數據存儲在存儲器115中。邏輯還可以使用其它標準(如用戶控制的標準、應用程序控制的標準或別的標準)來確定將客戶側數據存儲在哪里。用戶控制的標準可以包括對用戶的提示,如給用戶用于選擇將客戶側數據存儲在哪里的消息。對用戶的提示可以例如在應用程序開始執行時,在應用程序產生客戶側數據時,在應用程序關閉時或者在另外的時間。如果標準是應用程序控制的,那么應用程序可以把將客戶側數據存儲在哪里確定為由應用程序的創造者預先確定的,或者可以是由應用程序動態決定的。在一個實施例中,布局引擎可以產生數據庫或者使用現有數據庫。客戶側數據可以存儲在第一設備上或者外部源(如第二設備)上的數據庫內。圖2是根據示例實施例的系統的框圖。該系統包括與第二設備210連接的第一設備200。第一設備具有執行應用程序205的運行時刻230。應用程序可以從第二設備210中復制或轉移至第一設備200。運行時刻230可以包括HTML web存儲器和存儲路由器240。HTML web存儲器存儲由運行時刻230產生的數據。存儲路由器240確定將由應用程序205產生的客戶側數據發送到哪里。存儲路由器240可以將客戶側數據發送至第一設備200上的存儲器255。第一設備上的存儲器255可以包括數據庫250,數據庫250用來存儲存儲器250上的數據。如果存儲路由器240確定由應用程序205產生的客戶側數據存儲在第二設備內,那么存儲路由器240將客戶側數據發送至收發器260,收發器260與第二設備210中的另一收發器265連接。收發器260和收發器265可以有線的或無線的。例如,收發器260和收發器265可以是802.llwif1、藍牙 、無線通用串行總線(USB)、蜂窩數據協議或別的無線協議以及有線協議,如USB、IEEE 1394、串行高級技術附件(SATA)或別的有線協議。在一個實施例中,在客戶側數據通過收發器260和收發器256傳輸至第二設備210以前,重新格式化客戶側數據。第二設備210中的收發器265可以通過總線連接至第二設備上的HTML web存儲器270和存儲器275。如果客戶側數據可以存儲在數據庫中,那么可以產生數據庫280來存儲客戶側數據。收發器260和收發器265可以用來傳輸應用程序205。例如,如果第一設備200從第二設備210請求應用程序205,那么收發器260和收發器265可以將應用程序205從第二設備210復制到第一設備200上。應用程序還可以從第二設備210轉移至第一設備200,其中在該轉移后,應用程序不存儲在第二設備210上。在一個實施例中,應用程序的一部分可以從第二設備210轉移至第一設備200。在應用程序205被第一設備上的運行時刻230執行以后,應用程序205可以保留在第一設備200上供今后執行應用程序205,可以從第一設備205中刪除,或者可以例如轉移回第二設備210。在將應用程序205轉移回至第二設備210以前,第一設備200可以更新應用程序205。如果第一設備200和第二設備210之間的連接斷開,那么第一設備可以確定要干什么。例如,第一設備可以暫停執行應用程序205,直到第一設備200與第二設備210連接為止,使得待在第二設備210上存儲的客戶側數據被存儲在第二設備210上。第一設備還可以將待存儲在第二設備上的客戶側數據存儲在存儲器255中,直到客戶側數據可以存儲在第二設備210中為止。圖3是根據示例實施例的方法的流程圖。如果第二設備與第一設備連接,則該方法將操作第二設備。在步驟305中,第二設備可以將超文本標記語言(HTML)代碼從第二設備發送至第一設備。如果第一設備請求HTML代碼,那么第二設備可以將HTML代碼發送至第一設備。HTML代碼可以是執行任務的應用程序。第一設備可以執行HTML代碼。在第一設備上執行HTML代碼可以產生客戶側數據。第一設備可以確定客戶側數據應當存儲在第二設備上。在步驟310中,如果超文本標記語言代碼被執行,那么第二設備可以接收從第一設備中產生的客戶側數據。客戶側數據可以通過例如收發器傳遞至第二設備。在步驟315中,第二設備可以存儲從第一設備接收的客戶側數據。第二設備可以將客戶側數據存儲在易失性存儲器或非易失性存儲器中。
圖4是根據示例實施例的方法的流程圖。如果第二設備與第一設備連接,則該方法操作第二設備。在步驟405中,第二設備可以接收由第一設備做出的從第二設備對HTML代碼的請求。在步驟410中,第二設備可以將超文本標記語言(HTML)代碼從第二設備發送至第一設備。HTML代碼可以是執行任務的應用程序。第一設備可以執行HTML代碼。在第一設備上執行HTML代碼可以產生客戶側數據。第一設備可以確定客戶側數據應當存儲在第二設備上。在步驟415中,如果執行超文本標記語言代碼,那么第二設備可以接收從第一設備中產生的客戶側數據。客戶側數據可以通過例如收發器傳遞至第二設備。在步驟420中,第二設備可以創建數據庫,來將客戶側數據存儲在第二設備中。在步驟425中,第二設備可以存儲從第一設備接收的客戶側數據。第二設備可以將客戶側數據存儲在易失性存儲器或非易失性存儲器中。在第一設備中執行HTML代碼可能導致第一設備從第二設備請求客戶側數據。第二設備可以將由第二設備存儲的客戶側數據發送至第一設備。例如,HTML代碼可以是能夠由用戶在第二設備上玩的游戲,或者是可以復制至第一設備去玩的游戲。如果游戲產生客戶側數據,如用戶偏好和游戲狀態,那么第一設備可以將客戶側數據存儲在第二設備上,使得如果第二設備運行游戲,則用戶偏好和游戲狀態可以在第一設備和第二設備斷開連接以后利用。如果第一設備重新連接至第二設備,那么第二設備可以將客戶側數據發送至第一設備,以便如果在第一設備上執行游戲客戶側數據可供游戲利用。圖5是根據示例實施例的設備500的框圖。例如,設備500可以是關于其它實施例描述的第一設備或第二設備。設備500可以包括與控制器集線器510連接的處理器505。控制器集線器510可以連接至圖形控制器520、輸入/輸出控制器525或計算機可讀介質515或516。處理器505、控制器集線器510、輸入/輸出控制器525、圖形控制器520中至少之一可以位于一個電路包內或一個電路芯片(circuit die)上。處理器505可以是能夠執行多種任務的通用處理器。控制器集線器510可以將處理器505連接至控制器。輸入/輸出控制器525可以包括例如USB控制器、IEEE1394控制器、wifi控制器或其它輸入/輸出控制器。輸入/輸出控制器可以將像鍵盤和鼠標這樣的外設連接至設備500,或者可以將設備500連接至另一設備。圖形控制器520可以處理圖形,以在顯示器530上顯示。鍵盤、鼠標和顯示器可以與設備500的其它組件位于同一外殼內,或者可以例如位于設備500外部。控制器集線器510還可以連接至計算機可讀介質515或516。如果例如設備500是第一設備,那么計算機可讀介質可以包括指令,如果處理器執行這些指令則促使設備運行設備上的代碼來產生客戶側數據。如果產生客戶側數據的代碼源自第二設備,那么指令可以將客戶側數據發送至第二設備去存儲。如果產生客戶側數據的代碼源自第一設備,那么指令可以將客戶側數據存儲在第一設備上。指令可以創建數據庫,來將客戶側數據存儲在第一設備上。指令可以將客戶側數據的格式轉換成用于向第二設備發送客戶側數據的格式。指令可以從第二設備請求待執行的代碼。指令可以將在第一設備上存儲的客戶側數據與發送至第二設備的客戶側數據同
止/J/ O
上面描述的技術可以包含在計算機可讀介質中,以配置計算系統來執行該方法。計算機可讀介質可以例如包括但不限于以下介質中的任意多個:包括磁盤和磁帶存儲介質在內的磁性存儲介質;光存儲介質,如光盤介質(例如CD-ROM、CD-R等)和數字視頻光盤存儲介質;全息存儲器;包括基于半導體的存儲單元(如FLASH存儲器、EEPR0M、EPR0M、R0M)在內的非易失性存儲器存儲介質;鐵磁數字存儲器;包括寄存器、緩沖器或緩存、主存儲器、RAM等在內的易失性存儲介質;以及互聯網;等等。可利用其它新型的各式的計算機可讀介質來存儲和/或傳輸本文中論述的軟件模塊。計算系統可以以多種形式存在,多種形式包括但不限于大型機、小型計算機、服務器、工作站、個人計算機、掌上電腦、個人數字助理、各種無線設備和嵌入式系統等等。在上面的描述中,闡述了大量細節,以提供對本發明的理解。然而,本領域技術人員應理解在沒有這些細節的情況下也可實踐本發明。盡管關于有限數量的實施例公開了本發明,但本領域的技術人員應意識到由此產生的許多修改和變化。希望所附權利要求覆蓋落入本發明的真正精神和范圍內的這種修改和變化。
權利要求
1.一種設備,包括: 接收器,用于從第二設備接收代碼,其中所述代碼的至少一部分是腳本語言; 所述設備中的存儲器,用于存儲來自于所述代碼的客戶側數據;以及控制器,用于執行所述代碼并且確定是否將所述客戶側數據存儲在所述存儲器和所述第二設備中的至少之一中。
2.根據權利要求1所述的設備,其中所述腳本語言是超文本標記語言。
3.根據權利要求1所述的設備,進一步包括用于確定所述代碼的出處的邏輯。
4.根據權利要求3所述的設備,其中根據所述代碼的出處,所述客戶側數據被存儲在所述存儲器和所述第二設備中的至少之一中。
5.根據權利要求1所述的設備,進一步包括可由所述設備的所述控制器執行的web瀏IrWSBJaL-HPT O
6.根據權利要求1所述的設備,進一步包括用于存儲所述客戶側數據的數據庫。
7.一種若第二設備與第一設備連接則操作第二設備的方法,所述方法包括: 將超文本標記語言代碼從第二設備發送至第一設備; 如果所述超文本標記語言代碼被執行,則所述第二設備接收從所述第一設備產生的客戶側數據;以及` 所述第二設備存儲從所述第一設備接收的所述客戶側數據。
8.根據權利要求7所述的方法,進一步包括:將由所述第二設備存儲的所述客戶側數據發送至所述第一設備。
9.根據權利要求7所述的方法,進一步包括:創建數據庫來將所述客戶側數據存儲在所述第一設備上。
10.根據權利要求7所述的方法,進一步包括:所述第二設備接收來自所述第一設備的對超本文標記語言代碼的請求。
11.一種計算機可讀介質,包括如果被執行則使第一設備的處理器執行下述步驟的指令: 在第一設備上執行代碼來產生客戶側數據; 如果產生所述客戶側數據的所述代碼源自第二設備,則將所述客戶側數據發送至所述第二設備去存儲;以及 如果產生所述客戶側數據的所述代碼源自所述第一設備,則將所述客戶側數據存儲在所述第一設備上。
12.根據權利要求11所述的計算機可讀介質,進一步包括如果被執行則使第一設備的處理器執行下述步驟的指令: 創建數據庫來將所述客戶側數據存儲在所述第一設備上。
13.根據權利要求11所述的計算機可讀介質,進一步包括如果被執行則使第一設備的處理器執行下述步驟的指令: 將所述客戶側數據的格式轉換成用于向所述第二設備發送所述客戶側數據的格式。
14.根據權利要求11所述的計算機可讀介質,進一步包括如果被執行則使第一設備的處理器執行下述步驟的指令: 從第二設備請求待執行的代碼。
15.根據權利要求11所述的計算機可讀介質,進一步包括如果被執行則使第一設備的處理器執行下述步驟的指令: 將在所述第一設 備上存儲的所述客戶側數據與發送至所述第二設備的所述客戶側數據同步。
全文摘要
代碼可以由第一設備接收和由第二設備發送。第一設備可以執行來自第二設備的代碼來產生客戶側數據。確定是否將客戶側數據存儲在第一設備和第二設備中的至少之一中。
文檔編號G06F15/16GK103119575SQ201080069253
公開日2013年5月22日 申請日期2010年10月20日 優先權日2010年10月20日
發明者羅蘭·M·霍克默思 申請人:惠普發展公司,有限責任合伙企業