TWI384378B - 網頁應用程式執行方法 - Google Patents
網頁應用程式執行方法 Download PDFInfo
- Publication number
- TWI384378B TWI384378B TW097151203A TW97151203A TWI384378B TW I384378 B TWI384378 B TW I384378B TW 097151203 A TW097151203 A TW 097151203A TW 97151203 A TW97151203 A TW 97151203A TW I384378 B TWI384378 B TW I384378B
- Authority
- TW
- Taiwan
- Prior art keywords
- webpage
- server
- client
- response
- virtual
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/541—Client-server
Description
本發明係有關於網頁連線技術,尤其是有關於執行網頁應用程式的機制。
網頁應用程式就是一種透過超文件傳輸協定(HTTP)執行的程式,供客戶端存取伺服器而獲得服務。隨著行動上網技術的普及,訊號中斷的機會增加,導致斷線問題成為使用上的主要障礙。因此各種在離線狀態下繼續使用應用程式的技術也陸續推出。
傳統的離線或斷線執行功能,多半仰賴伺服器端提供改寫過的應用程式,事先定義可離線瀏覽的網頁。例如Google Gears以及Adobe AIR。由於這些技術牽涉到應用程式的改寫,因此無法廣泛應用。一種通具備相容性和通透性的離線執行技術是有待開發的。
本發明提出一種網頁應用程式執行方法,供一客戶端透過一伺服器執行一網頁應用程式。首先觀測該客戶端和該伺服器之間的連線狀態。如果連線正常,則進行一線上學習程序,監測該客戶端和該伺服器的通訊以建立一虛擬伺服器。如果連線中斷,則進行一離線服務程序,使該客戶端透過該虛擬伺服器執行該網頁應用程式。如果連線從中斷恢復正常,則進行一同步程序,使該虛擬伺服器的執行狀態與該伺服器同步。更進一步的內容以下列實施方式說明。
下列實施例具體的說明如何以較佳的方式實現本發明。實施例僅供說明一般應用的方式,而非用以限縮本發明的範圍。實際範圍以申請專利範圍所列為準。
本發明提出一種中介介面,可在不需改寫原有網頁應用程式的前提下,進行離線執行網頁應用程式的功能。
第1圖係為本發明實施例之系統架構圖。伺服器110係為一傳統的網頁伺服器,支援超文件傳輸協定HTTP,其中包含一應用程式服務器114和一資料庫112。該應用程式服務器114內包含網頁應用程式,根據一客戶端120發出的網頁要求,而產生一網頁回應。該網頁應用程式可進一步搭配位於後臺的一資料庫112,將該客戶端120上傳的資料儲存在其中。但是在本發明中,該網頁應用程式不需要為了支援離線執行而特別改寫。該客戶端120可以是一電腦或手機,具備有一瀏覽界面122供使用者與該伺服器110互動。一般的網頁應用程式中,許多功能未必一定要在連線狀態下才能執行。本發明提供一種代理器124,可攔截該瀏覽界面122和該伺服器110之間HTTP層之資料傳輸,使網頁應用程式不論是在離線或是連線狀態中皆能順利執行方法。詳細的運作過程以下列流程圖說明。
第2圖係為本發明網頁應用程式執行方法之流程圖。本發明所揭露的代理器124,尤其適合實作於客戶端120中。在步驟201中,該代理器124啟動後,持續觀測該客戶端120和該伺服器110之間的連線狀態,以及瀏覽界面122和應用程式服務器114之間來往的傳輸資料。在步驟203中,該代理器124
判斷連線狀態是否正常。如果連線正常,則跳至步驟205,進行一線上學習程序,用以持續監測該瀏覽界面122和該應用程式服務器114的通訊。此時該代理器124扮演的是一個隱形的記錄器,對瀏覽界面122和應用程式服務器114而言並不需要知道該代理器124的存在,應用程式的執行也不會受到影響。該線上學習程序的結果可建立一虛擬伺服器,供連線中斷時使用。在步驟203中,如果該代理器124偵測到連線中斷,則跳至步驟207,進行一離線服務程序,使該瀏覽界面122透過該代理器124繼續使用該網頁應用程式。此時的代理器124,扮演的是虛擬伺服器的角色,而網頁應用程式則是由代理器124執行的虛擬版本,並非由應用程式服務器114執行。對瀏覽界面122而言,應用程式的執行不致於因為連線狀態不佳而中斷。在步驟209中,該代理器124繼續觀測伺服器110和客戶端120之間的連線狀態。如果如果連線狀態恢復正常,則在步驟211中進行一同步程序,使該虛擬伺服器的執行狀態與該伺服器110同步。傳統上,一般的靜態網頁只需要提供固定的文件內容,因此沒有狀態機器的問題。但是網頁應用程式牽涉到各種執行功能,操作順序有一定流程,稱為狀態機器。在離線狀態下,瀏覽界面122與代理器124的互動過程會導致狀態機器的改變,例如登入狀態改變、變數異動以及檔案/表單上傳。因此當連線狀態恢復正常時,虛擬伺服器必須儘可能的將瀏覽界面122的操作歷程在應用程式服務器114上重演,使變動過的數值同步,才能接替該代理器124繼續提供網頁應用程式的服務。步驟211的同步程序結束後,接著跳回步驟205的線上
學習程序。因此本發明的離線執行功能,主要牽涉到線上學習程序、離線服務程序以及同步程序。以下實施例將詳細說明。
第3圖係為本發明線上學習程序之流程圖。在步驟301中,進入如第2圖之步驟205所述之線上學習程序。此時該代理器124扮演的是一隱形的記錄器,並不介入該瀏覽界面122和該應用程式服務器114之間的資料傳輸過程。在步驟303中,該代理器124記錄該瀏覽界面122發出的一網頁要求(request),以及該應用程式服務器114回應的一網頁回應(response)。
基本上,網頁要求是一串地址與參數的組合。通常瀏覽界面122中具有快取(Cookie)以記錄執行狀態和執行參數,因此網頁要求亦可用來夾帶快取資料或是欲上傳至應用程式服務器114的表單與檔案。每一網頁要求,會獲得一網頁回應。根據HTTP通訊協定,網頁回應本身是具有制式的標籤格式的資料,用以透過瀏覽界面122呈現各種執行效果。一網頁回應基本上包含一標頭區段(HEADER)以及一內容區段(BODY),此外也可包含供瀏覽界面122執行的程式腳本如Javascript。標頭區段中包含各種中間資料(METADATA)用以定義各種制式的參數,以便於控制瀏覽界面122的執行效果。而內容區段則可包含各種型式的網頁資源(例如超連結),結構資料(如標籤語言XML),或是網頁文件(圖案、音樂、各式文件)。從應用程式的建構模式來分析,可以把上述各種元素歸納為MODEL、VIEW以及CONTROLLER三個面向(俗稱MVC模型)。MODEL定義的是應用程式在操作過程中會變動的各種數
值資料。VIEW定義的是應用程式在操作過程中呈現的畫面。而CONTROLLER則是用來產生MODEL和VIEW的程式腳本。
為了在代理器124中重建一個虛擬伺服器以供離線執行,本發明基於MVC模型來分析所攔截到的通訊資料。在步驟305中,該代理器124偵測所攔截到的網頁要求以獲取一或多個要求參數,並偵測該網頁回應以獲取一標頭區段以及一內容區段。該標頭區段中可能包含一或多個回應參數(METADATA),而內容區段中可能包含一或多個網頁資源、結構資料或網頁文件。為了分析網頁要求與網頁回應,本發明提供一本地資料庫126以輔助該代理器124之運作,其中包含一資源對應資料庫以及一資源庫。資源對應資料庫係用來記錄每一網頁要求與網頁回應之對應關係,更確切的說是記錄一網頁要求中一或多個要求參數,與網頁回應中一或多個回應參數以及內容區段之間的對應關係。而資源庫則是用來儲存各式網頁資源、結構資料或網頁文件。由於不同的網頁要求,可能會得到大致相同的網頁回應,其中可能只有小部份的內容區段是有差異的。因此在資源庫中,重複的資源不需要佔據額外的空間,只需仰賴資源對應資料庫所記錄的對應關係來建立連結即可。與該代理器124相同,該本地資料庫126尤其適合實作在客戶端120中。
在學習過程中,任何網頁要求與網頁回應皆會被拆解分析後儲存至上述的資源對應資料庫以及資源庫中。舉例來說,在步驟307中,當該代理器124接收到一組網頁要求與網頁回應時,會先查找本地資料庫126,以判斷這一組要求/回應對話是
否已經學習過。如果是一組新的要求/回應對話,則進行步驟309,將偵測而得的要求參數、回應參數、內容區段中之網頁資源、結構資料或網頁文件儲存至本地資料庫126中。如果這組要求/回應對話在本地資料庫126中已存在記錄,則不再重複執行學習的動作。步驟309完成後,接著在步驟311中,分析該瀏覽界面122發出的多個網頁要求之間的關聯,以及該應用程式服務器114回應的多個網頁回應之間的關聯,以建立一狀態機器表。由於網頁應用程式可能具有一些固定的操作流程,例如先登入頁面,才可以進入主選單再進入副選單。因此透過分析操作歷程,可以概略的建立一狀態機器表,有助於重建一虛擬伺服器。最後,該代理器124即根據該資源對應資料庫,該資源庫以及該狀態機器表建立該虛擬伺服器。
此外,本發明所述的代理器124,也可以借助習知的做法來輔助虛擬伺服器的建立。舉例來說,如果該伺服器110中的應用程式服務器114支援改寫過的網頁應用程式,例如Google Gears或Adobe AIR,其網頁回應中通常會包含一宣告檔(Manifest),用以定義離線操作所需的網頁資源。本發明的代理器124可以進一步偵測該宣告檔,將其定義的網頁資源和對應關係寫入該本地資料庫126中的資源對應資料庫以及資源庫中。
第4圖係為本發明離線服務程序之流程圖。在離線狀態下,該代理器124扮演一虛擬伺服器的角色,基於上述資源庫、資源對應資料庫以及狀態機器表而模擬應用程式服務器114的行為,提供服務。因此該瀏覽界面122所發出的任何網頁要求,
皆會被重新導向至該虛擬伺服器。第2圖的步驟207所述之離線服務程序,在步驟401中啟動。在步驟403中,代理器124偵測接收到的網頁要求以獲取一或多個要求參數。在步驟405中,判斷所接收到的網頁要求中是否包含需要上傳的檔案或表單。如果是,則進行步驟407,將該些網頁要求與對應的上傳資料暫存在一佇列中。該佇列可以是由本地資料庫126來處理。由於資料只是暫存在佇列中,並未真正上傳到應用程式服務器114中,所以在步驟409中,由代理器124發出一訊息給瀏覽界面122,告知上傳動作已被延緩的事實。
在步驟405中,如果網頁要求不是上傳動作,則進行步驟411,查詢該本地資料庫126中的資源對應資料庫,以判斷所接收到的網頁要求中的要求參數是否具有對應的記錄。如果本地資料庫126中查不到對應記錄,表示這個網頁要求並沒有在學習過程中被學習到,所以進行步驟413,由代理器124發出一訊息給瀏覽界面122,告知無法回應此網頁要求。換言之,該代理器124所能提供的服務範圍係限定在已知的網頁要求中。如果本地資料庫126中能查找到網頁要求的對應記錄,則進行步驟415,從資源庫中獲取對應的一或多個回應參數,一或多個網頁資源、結構資料或網頁文件,然後組合成一虛擬網頁回應。由於虛擬網頁回應並不是線上執行的結果,因此有些特定的網頁屬性必須改變。所以在步驟417中,在組合出該虛擬網頁回應時,插入一超文件識別碼於該虛擬網頁回應的標頭區段,用以宣告該虛擬網頁回應的屬性為「暫時不需更新」。例如在標頭區段中新增欄位ETag,並賦予一狀態代碼304(Not
Modified),以避免瀏覽界面122要求重新更新該虛擬網頁回應。最後,在步驟419中,該代理器124傳送該虛擬網頁回應給該客戶端。
第5圖係為本發明同步程序之流程圖。如前所述,在離線操作過程中,應用程式的狀態機器會受到登入狀態或是上傳表單/檔案的影響而有所改變。因此當客戶端120和伺服器110之間的連線狀態從斷線恢復為連線時,需要一個同步程序。在步驟501中,啟動第2圖步驟211的同步程序。在步驟503中,根據該狀態機器表,將連線中斷時該虛擬伺服器接收的一或多個網頁要求傳送至該伺服器,使該伺服器上的應用程式執行狀態與該虛擬伺服器上的應用程式執行狀態一致。舉例來說,該代理器124可以記錄離線過程中瀏覽界面122的所有操作歷程,然後在恢復連線時對應用程式服務器114重演(replay)一遍。更進一步地說,該代理器124可以只選擇代理器124的操作歷程中對狀態機器有影響的網頁要求進行重演。如果網頁要求是一個上傳資料的要求,則該代理器124將佇列中暫存的網頁要求和上傳資料傳送至該伺服器,如步驟505所示。由於同步程序是一個對應用程式服務器114重演網頁要求的過程,若是因為學習過程不夠完善或是網頁安全機制,可能遭遇到重演失敗。因此在步驟507中,需將伺服器110之回應通報給瀏覽界面122。由於上傳佇列保存了欲上傳的表單/檔案,使用者可以視情況決定是否在連線狀態下手動重試上傳,不需要再重新鍵入資料。
綜上所述,本發明可無縫處理連線狀態與斷線狀態下的網頁要求。該代理器124扮演中介者的角色,並具有虛擬伺服器的能力。為了達成線上學習以離線服務的效果,代理器124可收集資源、組合資源、以及分析網頁結構。此外,若是網頁應用程式本身是改寫過的版本,支援離線功能,則代理器124可解讀宣告檔來進一步增進學習能力。本發明所述的代理器124可以是安裝在客戶端120中的一軟體,介於瀏覽界面122和應用程式服務器114之間以處理HTTP層的通訊內容。
更進一步地說,本發明的代理器124並未必要在斷線狀態才提供虛擬伺服器的功能。即使是在連線狀態,只要代理器124攔截到的網頁要求是可以離線執行的,就沒有必要連線至應用程式服務器114,而是直接由代理器124傳送一虛擬網頁回應給該瀏覽界面122。藉此還可以有效節省伺服器110和客戶端120之間的通訊成本,例如耗電與頻寬。至於可離線執行之網頁要求,舉例來說,可以是該資源對應資料庫中已經學習過的網頁要求。
雖然本發明以較佳實施例說明如上,但可以理解的是本發明的範圍未必如此限定。相對的,任何基於相同精神或對習知技術者為顯而易見的改良皆在本發明涵蓋範圍內。因此專利要求範圍必須以最廣義的方式解讀。
110‧‧‧伺服器
112‧‧‧資料庫
114‧‧‧應用程式服務器
120‧‧‧客戶端
122‧‧‧瀏覽界面
124‧‧‧代理器
126‧‧‧本地資料庫
第1圖係為本發明實施例之系統架構圖;第2圖係為本發明網頁應用程式執行方法之流程圖;第3圖係為本發明線上學習程序之流程圖;第4圖係為本發明離線服務程序之流程圖;以及第5圖係為本發明同步程序之流程圖。
Claims (11)
- 一種網頁應用程式執行方法,用以供一客戶端透過一伺服器執行一網頁應用程式,包含:觀測該客戶端和該伺服器之間的連線狀態;如果連線正常,進行一線上學習程序,用以監測該客戶端和該伺服器的通訊以建立一虛擬伺服器,其中該線上學習程序包含:記錄該客戶端發出的一網頁要求,以及該伺服器回應的一網頁回應;偵測該網頁要求以獲取一或多個要求參數;偵測該網頁回應以獲取一標頭區段以及一內容區段;其中該標頭區段包含一或多個回應參數,該內容區段包含一或多個網頁資源、結構資料或網頁文件;建立一資源對應資料庫,用以記錄該等要求參數,該等回應參數,以及該內容區段之間的對應關係;建立一資源庫,用以儲存該等網頁資源、結構資料或網頁文件;如果連線中斷,進行一離線服務程序,使該客戶端透過該虛擬伺服器執行該網頁應用程式;以及如果連線從中斷恢復正常,進行一同步程序,使該虛擬伺服器的執行狀態與該伺服器同步。
- 如申請專利範圍第1項所述之網頁應用程式執行方法,其中該線上學習程序進一步包含:分析該客戶端發出的多個網頁要求之間的關聯,以及該伺 服器回應的多個網頁回應之間的關聯,以建立一狀態機器表;以及根據該資源對應資料庫,該資源庫以及該狀態機器表建立該虛擬伺服器。
- 如申請專利範圍第1項所述之網頁應用程式執行方法,其中該線上學習程序進一步包含:如果該伺服器回應中包含一宣告檔,將所需的網頁資源更新至該資源對應資料庫以及該資源庫中;其中該宣告檔係用以定義哪些資源是離線操作所需的網頁資源。
- 如申請專利範圍第1項所述之網頁應用程式執行方法,其中該離線服務程序包含:將該客戶端發出的網頁要求重新導向至該虛擬伺服器;該虛擬伺服器偵測接收到的網頁要求以獲取一或多個要求參數;查詢該資源對應資料庫,以該等要求參數為索引,從該資源庫中獲取對應的一或多個回應參數,一或多個網頁資源、結構資料或網頁文件;將查找出來的一或多個回應參數,一或多個網頁資源、結構資料或網頁文件,組合成一虛擬網頁回應;以及傳送該虛擬網頁回應給該客戶端。
- 如申請專利範圍第4項所述之網頁應用程式執行方法,其中該離線服務程序進一步包含,在組合出該虛擬網頁回應時,插入一超文件識別碼於該虛擬網頁回應的標頭區段,用以宣告該虛擬網頁回應的屬性為「暫時不需更新」。
- 如申請專利範圍第4項所述之網頁應用程式執行方法,其中該離線服務程序進一步包含,如果該資源對應資料庫中查找不到對應資料,則回應一連結無效通知給該客戶端。
- 如申請專利範圍第4項所述之網頁應用程式執行方法,其中該離線服務程序進一步包含,如果該虛擬伺服器接收到的網頁要求包含上傳資料,則將該些網頁要求與對應的上傳資料暫存在一佇列中。
- 如申請專利範圍第1項所述之網頁應用程式執行方法,進一步包含:如果連線正常,但是該客戶端發出之網頁要求符合離線執行之條件,則進行該離線服務程序,由該虛擬伺服器回應該客戶端發出之網頁要求。
- 如申請專利範圍第2項所述之網頁應用程式執行方法,其中該同步程序包含:根據該狀態機器表,將連線中斷時該虛擬伺服器接收的一或多個網頁要求傳送至該伺服器,使該伺服器上的應用程式執行狀態與該虛擬伺服器上的應用程式執行狀態一致。
- 如申請專利範圍第9項所述之網頁應用程式執行方法,其中該同步程序進一步包含:將該佇列中暫存的網頁要求和上傳資料傳送至該伺服器。
- 如申請專利範圍第1項所述之網頁應用程式執行方法,其中該虛擬伺服器係安裝於該客戶端之一軟體。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW097151203A TWI384378B (zh) | 2008-12-29 | 2008-12-29 | 網頁應用程式執行方法 |
US12/426,670 US7966367B2 (en) | 2008-12-29 | 2009-04-20 | Web application execution method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW097151203A TWI384378B (zh) | 2008-12-29 | 2008-12-29 | 網頁應用程式執行方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201025046A TW201025046A (en) | 2010-07-01 |
TWI384378B true TWI384378B (zh) | 2013-02-01 |
Family
ID=42286199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097151203A TWI384378B (zh) | 2008-12-29 | 2008-12-29 | 網頁應用程式執行方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7966367B2 (zh) |
TW (1) | TWI384378B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI669614B (zh) * | 2018-03-07 | 2019-08-21 | 宏碁股份有限公司 | 電子裝置與其離線更新程式的方法 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9588803B2 (en) | 2009-05-11 | 2017-03-07 | Microsoft Technology Licensing, Llc | Executing native-code applications in a browser |
US8620914B1 (en) * | 2010-05-18 | 2013-12-31 | Google Inc. | Ranking of digital goods in a marketplace |
US9323921B2 (en) | 2010-07-13 | 2016-04-26 | Microsoft Technology Licensing, Llc | Ultra-low cost sandboxing for application appliances |
US9330196B2 (en) | 2010-11-01 | 2016-05-03 | Seven Networks, Llc | Wireless traffic management system cache optimization using http headers |
WO2012060995A2 (en) * | 2010-11-01 | 2012-05-10 | Michael Luna | Distributed caching in a wireless network of content delivered for a mobile application over a long-held request |
US9495183B2 (en) | 2011-05-16 | 2016-11-15 | Microsoft Technology Licensing, Llc | Instruction set emulation for guest operating systems |
US8813190B2 (en) * | 2011-05-18 | 2014-08-19 | International Business Machines Corporation | Resource upload |
US20130054734A1 (en) * | 2011-08-23 | 2013-02-28 | Microsoft Corporation | Migration of cloud applications between a local computing device and cloud |
US9389933B2 (en) | 2011-12-12 | 2016-07-12 | Microsoft Technology Licensing, Llc | Facilitating system service request interactions for hardware-protected applications |
US9413538B2 (en) | 2011-12-12 | 2016-08-09 | Microsoft Technology Licensing, Llc | Cryptographic certification of secure hosted execution environments |
US9600787B2 (en) | 2013-05-16 | 2017-03-21 | Toshiba Global Commerce Solutions Holdings Corporation | Deferring authentication and resource loading while starting an enterprise system |
WO2014192063A1 (ja) * | 2013-05-27 | 2014-12-04 | 富士通株式会社 | アプリケーション実行プログラム,アプリケーション実行方法及びアプリケーションを実行する情報処理端末装置 |
US9444752B2 (en) | 2013-07-12 | 2016-09-13 | Seven Networks, Llc | Distributed caching systems with configurable extended caching optimization |
JP6131817B2 (ja) * | 2013-10-08 | 2017-05-24 | 富士通株式会社 | 通信端末、通信処理方法および通信処理プログラム |
US9591095B2 (en) * | 2014-03-10 | 2017-03-07 | Microsoft Technology Licensing, Llc | Prefetching application data for periods of disconnectivity |
WO2015195529A1 (en) * | 2014-06-20 | 2015-12-23 | Google Inc. | Integrating online navigation data with cached navigation data during active navigation |
US9917923B2 (en) * | 2014-09-26 | 2018-03-13 | Oracle International Corporation | Building message relationships for offline operation of an enterprise application |
WO2016160052A1 (en) | 2015-03-31 | 2016-10-06 | Paradigm, Inc. | Systems and methods for generating and validating certified electronic credentials |
US10489378B2 (en) * | 2015-12-08 | 2019-11-26 | Sap Se | Detection and resolution of conflicts in data synchronization |
US9836527B2 (en) * | 2016-02-24 | 2017-12-05 | Google Llc | Customized query-action mappings for an offline grammar model |
CN107295075B (zh) * | 2017-06-14 | 2020-08-11 | 天津大学 | 一种基于会话保持的跨终端应用状态迁移方法 |
US11150920B2 (en) * | 2018-05-25 | 2021-10-19 | Vmware, Inc. | 3D API redirection for virtual desktop infrastructure |
TWI684907B (zh) * | 2018-11-28 | 2020-02-11 | 財團法人金屬工業研究發展中心 | 數位影像辨識方法、電子裝置、電腦程式產品 |
CN112887410B (zh) * | 2021-01-28 | 2022-12-20 | 郑州市景安网络科技股份有限公司 | 一种web服务程序的运行方法、装置、设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040205068A1 (en) * | 2002-11-05 | 2004-10-14 | Everypath, Inc. | Unified platform for building and operating connected and disconnected mobile applications |
US6954782B2 (en) * | 1997-12-17 | 2005-10-11 | Microsoft Corporation | Method for continuously processing electronic messages throughout a transition between online and offline states |
US20060004927A1 (en) * | 2004-07-02 | 2006-01-05 | Oracle International Corporation | Systems and methods of offline processing |
US7272782B2 (en) * | 2003-12-19 | 2007-09-18 | Backweb Technologies, Inc. | System and method for providing offline web application, page, and form access in a networked environment |
US20070300243A1 (en) * | 2006-06-22 | 2007-12-27 | Sap Portals Israel Ltd. | Modular caching method and system for enabling offline functionality of server-client systems |
US20080086540A1 (en) * | 2006-10-06 | 2008-04-10 | James Scott | Method and system for executing a normally online application in an offline mode |
TW200826551A (en) * | 2006-10-30 | 2008-06-16 | Microsoft Corp | Offline execution of web based applications |
US20080189439A1 (en) * | 2007-02-01 | 2008-08-07 | Microsoft Corporation | Synchronization framework for occasionally connected applications |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6493758B1 (en) * | 1998-09-08 | 2002-12-10 | Microsoft Corporation | Offline viewing of internet content with a mobile device |
US6779042B1 (en) * | 1999-09-10 | 2004-08-17 | Ianywhere Solutions, Inc. | System, method, and computer program product for enabling on-device servers, offline forms, and dynamic ad tracking on mobile devices |
US6959331B1 (en) * | 2000-08-14 | 2005-10-25 | Sun Microsystems, Inc. | System and method for operating a client network computer in a disconnected mode by establishing a connection to a fallover server implemented on the client network computer |
US7275105B2 (en) * | 2002-01-16 | 2007-09-25 | Laszlo Systems, Inc. | Enabling online and offline operation |
TWI231669B (en) * | 2002-11-02 | 2005-04-21 | Ibm | System and method for using portals by mobile devices in a disconnected mode |
KR100462839B1 (ko) * | 2002-12-24 | 2004-12-23 | 한국전자통신연구원 | 모바일 환경에서의 이동 클라이언트와 서버간의 데이터동기화 및 갱신 충돌 해결 방법 |
US9811603B2 (en) | 2003-09-03 | 2017-11-07 | International Business Machines Corporation | Transport and administration model for offline browsing |
US7685253B1 (en) * | 2003-10-28 | 2010-03-23 | Sun Microsystems, Inc. | System and method for disconnected operation of thin-client applications |
US7577771B2 (en) | 2004-05-03 | 2009-08-18 | Microsoft Corporation | Caching data for offline display and navigation of auxiliary information |
US7650432B2 (en) * | 2004-05-20 | 2010-01-19 | Bea Systems, Inc. | Occasionally-connected application server |
US20090094332A1 (en) * | 2004-09-02 | 2009-04-09 | Zimbra, Inc. | System and method for enabling offline use of email through a browser interface |
US20070255617A1 (en) | 2006-04-27 | 2007-11-01 | Microsoft Corporation | Offline advertisement serving and presentation |
US7966426B2 (en) * | 2006-11-14 | 2011-06-21 | Microsoft Corporation | Offline synchronization capability for client application |
JP5268021B2 (ja) * | 2008-11-21 | 2013-08-21 | 日本電気株式会社 | リッチインターネットアプリケーションのオフラインサポート装置、方法、プログラム及び携帯端末 |
-
2008
- 2008-12-29 TW TW097151203A patent/TWI384378B/zh active
-
2009
- 2009-04-20 US US12/426,670 patent/US7966367B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6954782B2 (en) * | 1997-12-17 | 2005-10-11 | Microsoft Corporation | Method for continuously processing electronic messages throughout a transition between online and offline states |
US20040205068A1 (en) * | 2002-11-05 | 2004-10-14 | Everypath, Inc. | Unified platform for building and operating connected and disconnected mobile applications |
US7272782B2 (en) * | 2003-12-19 | 2007-09-18 | Backweb Technologies, Inc. | System and method for providing offline web application, page, and form access in a networked environment |
US20060004927A1 (en) * | 2004-07-02 | 2006-01-05 | Oracle International Corporation | Systems and methods of offline processing |
US20070300243A1 (en) * | 2006-06-22 | 2007-12-27 | Sap Portals Israel Ltd. | Modular caching method and system for enabling offline functionality of server-client systems |
US20080086540A1 (en) * | 2006-10-06 | 2008-04-10 | James Scott | Method and system for executing a normally online application in an offline mode |
TW200826551A (en) * | 2006-10-30 | 2008-06-16 | Microsoft Corp | Offline execution of web based applications |
US20080189439A1 (en) * | 2007-02-01 | 2008-08-07 | Microsoft Corporation | Synchronization framework for occasionally connected applications |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI669614B (zh) * | 2018-03-07 | 2019-08-21 | 宏碁股份有限公司 | 電子裝置與其離線更新程式的方法 |
Also Published As
Publication number | Publication date |
---|---|
TW201025046A (en) | 2010-07-01 |
US20100169407A1 (en) | 2010-07-01 |
US7966367B2 (en) | 2011-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI384378B (zh) | 網頁應用程式執行方法 | |
JP5325169B2 (ja) | ウェブアプリケーションの操作再現方法およびシステム | |
US9898542B2 (en) | Narration of network content | |
CN104133828B (zh) | 用于html文档的拖放剪贴板 | |
US9003059B2 (en) | Running applications in an online or offline mode based on the availability of the connection to the remote web server | |
US20160378731A1 (en) | Method and apparatus for intelligent capture of document object model events | |
US8914736B2 (en) | On-page manipulation and real-time replacement of content | |
US9298747B2 (en) | Deployable, consistent, and extensible computing environment platform | |
US9479564B2 (en) | Browsing session metric creation | |
JP5122146B2 (ja) | 状態情報の保存を要請する方法及び装置、状態情報を復旧する方法及び装置並びに記録媒体 | |
US20110252305A1 (en) | Capturing the visual content of browser windows | |
KR20140068882A (ko) | 호스팅된 문서 서비스에서 오프라인 액세스를 제공하기 위한 시스템 및 방법 | |
JP2011060196A (ja) | ウェブアプリケーションの操作記録・再生方法およびシステム | |
WO2015176321A1 (zh) | 信息共享方法和设备 | |
WO2014034001A1 (ja) | Webコンテンツ先読み制御装置、Webコンテンツ先読み制御プログラム、及びWebコンテンツ先読み制御方法 | |
JP5393242B2 (ja) | データ提供方法および中間サーバ装置 | |
US9171091B2 (en) | Storing a journal of local and remote interactions | |
JP2011164749A (ja) | Webアプリケーション高可用化装置及びWebアプリケーション高可用化方法 | |
JP2013137631A (ja) | 再生装置、再生方法、及び再生プログラム | |
CN107451182B (zh) | 基于Appcache的文件缓存方法 | |
US7937441B2 (en) | Data-control device and method of controlling same | |
JP3890911B2 (ja) | 情報処理装置 | |
JP5020011B2 (ja) | コンテンツ処理装置 | |
JP6358049B2 (ja) | ローカルストレージ同期方法、ローカルストレージ同期装置およびローカルストレージ同期プログラム | |
JP5898734B2 (ja) | 仮想化デスクトップ提供システム |