[發(fā)明專利]高效的狀態(tài)協(xié)調(diào)無效
| 申請?zhí)枺?/td> | 201280029265.3 | 申請日: | 2012-06-10 |
| 公開(公告)號: | CN103597465A | 公開(公告)日: | 2014-02-19 |
| 發(fā)明(設(shè)計)人: | C·R·海沃斯 | 申請(專利權(quán))人: | 微軟公司 |
| 主分類號: | G06F15/16 | 分類號: | G06F15/16 |
| 代理公司: | 上海專利商標事務所有限公司 31100 | 代理人: | 顧嘉運 |
| 地址: | 美國華*** | 國省代碼: | 美國;US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 高效 狀態(tài) 協(xié)調(diào) | ||
背景技術(shù)
使用通過諸如Web瀏覽器之類的瀏覽器進行輪詢來請求來自諸如Web服務器之類的服務器的數(shù)據(jù)已經(jīng)變得日益流行。在Web瀏覽器和Web服務器之間的數(shù)據(jù)交換中,Web瀏覽器或客戶端在嘗試實現(xiàn)客戶端和服務器之間的同步時通常向服務器請求內(nèi)容更新。響應于每個請求,服務器發(fā)送一個完整的響應。通過每次發(fā)送一個完整的響應,即使是在服務器處沒有對這樣的數(shù)據(jù)做出更新的情況下,在響應于客戶端的請求而發(fā)送數(shù)據(jù)時,這樣的請求和響應交換不必要地消耗了網(wǎng)絡(luò)的資源。而且,來自與單個Web服務器通信的許多瀏覽器對Web服務器內(nèi)容和更新的不斷增加的需求引起了對系統(tǒng)資源的濫用,并導致結(jié)合了在試圖協(xié)調(diào)客戶端內(nèi)容與服務器更新時的低效的等待時間。
在嘗試更加有效地在瀏覽器和服務器之間交換內(nèi)容時,長輪詢,例如超文本傳輸協(xié)議(HTTP)長輪詢,允許Web服務器在在該服務器處發(fā)生一個事件或其它事件觸發(fā)服務器活動時再將數(shù)據(jù)推送給瀏覽器。通過長輪詢,瀏覽器或客戶端將一個長輪詢請求發(fā)送給服務器以獲得在服務器處的事件。這樣的長輪詢技術(shù)有時被稱為“彗星”Web應用模型的部分,所述模型用于在不需要瀏覽器特地請求這樣的數(shù)據(jù)的情況下使用長期保持HTTP請求來將數(shù)據(jù)從服務器推送到瀏覽器。在典型的長輪詢或彗星實現(xiàn)中,由服務器保持客戶端請求直到服務器事件發(fā)生。當一個事件發(fā)生時,服務器在一個完整響應中將新數(shù)據(jù)發(fā)送給瀏覽器。這樣,對服務器的請求持久存留,直到服務器已經(jīng)將新數(shù)據(jù)發(fā)送。一旦接收到響應,瀏覽器向服務器發(fā)送另一個請求以等待后續(xù)的事件。然而,由于每個服務器響應對應于一個服務器事件,不必要的更新還是發(fā)生了并且不同步的客戶端經(jīng)歷了在協(xié)調(diào)內(nèi)容和服務器中的等待時間。這些服務器事件中的一些對于實現(xiàn)同步并不是必需的,例如在當服務器開始基于中間事件發(fā)送新數(shù)據(jù)時客戶端已經(jīng)處于與服務器的當前狀態(tài)相同的狀態(tài)時。因此,當客戶端由于例如與因特網(wǎng)斷開而導致不同步時,該客戶端試圖通過處理具有關(guān)于先前服務器事件的數(shù)據(jù)的潛在的大量的響應消息來追趕當前服務器的狀態(tài)。對于慢的客戶端來說保持與快速改變的服務器的同步是尤其困難的,因為在服務器已經(jīng)做出進一步改變時,該客戶端經(jīng)常還在處理先前的事件。而且,在客戶端落后于服務器的情況下,為了能夠達到與服務器同步,對于客戶端來說某些臨時事件是可以忽略的。然而,基于服務器事件的數(shù)據(jù)推送則不管事件是否對客戶端有用都將它們推送至客戶端以實現(xiàn)與服務器的當前狀態(tài)的最終同步。
雖然本背景技術(shù)中著眼于特定的問題,但本發(fā)明決不旨在限于解決那些特定問題。
發(fā)明內(nèi)容
各實施例通常涉及通過令牌機制將服務器處的狀態(tài)數(shù)據(jù)推送到客戶端。具體而言,令牌被用作狀態(tài)更新的長輪詢請求的多向(例如雙向)參數(shù),以實現(xiàn)在服務器和客戶端之間的高效的狀態(tài)協(xié)調(diào)。諸如Web服務器之類的服務器接收狀態(tài)更新。例如,服務器可以從包括文檔編輯會話的應用中接收狀態(tài)更新,在該會話中,對共同創(chuàng)作的文檔做出改變,例如,被發(fā)送到服務器或發(fā)送到在服務器上執(zhí)行的管理模塊。管理模塊接著改變服務器的狀態(tài)以反映所接收的狀態(tài)更新。服務器隨后計算期望要在服務器和客戶端之間被同步的狀態(tài)的摘要/散列。在這樣做時,生成包括散列值的令牌。一旦從客戶端接收到對任意狀態(tài)更新的請求,服務器將隨客戶端請求一起接收的令牌與服務器上的令牌進行比較以確定所述令牌是否不同。如果所述令牌是相同的,則客戶端具有數(shù)據(jù)的當前狀態(tài)并且不需要將其內(nèi)容與服務器進一步協(xié)調(diào)。取而代之地,服務器保持具有所接收的令牌的該客戶端請求,即長期保持請求,直到在服務器狀態(tài)中發(fā)生改變。然而,如果所述令牌不同,則客戶端不具有當前狀態(tài)。服務器隨后將服務器上的具有當前令牌的實際狀態(tài)發(fā)送給客戶端。在各實施例中,客戶端可以隨后更新其數(shù)據(jù)并存儲所接收的令牌以供與后續(xù)的狀態(tài)更新請求一起發(fā)送。如所示,在各實施例中,來自客戶端的請求是作為長輪詢技術(shù)的一部分的長期保持請求。在更多的實施例中,客戶端的長輪詢包括HTTP長輪詢。在其他實施例中使用常規(guī)輪詢。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于微軟公司,未經(jīng)微軟公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201280029265.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字數(shù)據(jù)處理
G06F15-00 通用數(shù)字計算機
G06F15-02 .通過鍵盤輸入的手動操作,以及應用機內(nèi)程序的計算,例如,袖珍計算器
G06F15-04 .在引入被處理的數(shù)據(jù)的同時,進行編制程序的,例如,在同一記錄載體上
G06F15-08 .應用插接板編制程序的
G06F15-16 .兩個或多個數(shù)字計算機的組合,其中每臺至少具有一個運算器、一個程序器及一個寄存器,例如,用于數(shù)個程序的同時處理
G06F15-18 .其中,根據(jù)計算機本身在一個完整的運行期間內(nèi)所取得的經(jīng)驗來改變程序的;學習機器
- 一種用于多天線OFDMA系統(tǒng)的基站間干擾協(xié)調(diào)預編碼方案
- 一種采用復合協(xié)調(diào)關(guān)口的省地協(xié)調(diào)電壓控制方法
- Zigbee網(wǎng)絡(luò)中協(xié)調(diào)器的熱備方法
- 資源調(diào)度、用戶設(shè)備協(xié)調(diào)調(diào)度方法及裝置、系統(tǒng)
- 決策協(xié)調(diào)方法、執(zhí)行裝置和決策協(xié)調(diào)器
- 協(xié)調(diào)服務器、協(xié)調(diào)系統(tǒng)及協(xié)調(diào)方法
- 協(xié)調(diào)方向重復放行的干線協(xié)調(diào)優(yōu)化方法
- 在無線局域網(wǎng)中執(zhí)行協(xié)調(diào)發(fā)送的方法及裝置
- 一種醫(yī)療數(shù)據(jù)信息協(xié)調(diào)處理方法、裝置及系統(tǒng)
- 城市建設(shè)用地擴張與人口增長相對協(xié)調(diào)度評價方法及系統(tǒng)





