本申請要求于2014年8月21日提交的題為“基于經(jīng)過的時間在移動網(wǎng)絡中建模網(wǎng)絡信號”的美國臨時專利申請62/040,260的權益,其全部內容通過引用并入本文。
技術領域
本發(fā)明涉及在移動網(wǎng)絡中建模網(wǎng)絡信號,更具體地,涉及優(yōu)化移動網(wǎng)絡中的網(wǎng)絡流量管理。
背景技術:
為了解決移動網(wǎng)絡擁塞,理想的是能夠在特定擁塞區(qū)域中的設備上實施網(wǎng)絡管理策略或校正動作。不幸的是,校正動作當前被無差別地應用于設備。這提出了挑戰(zhàn),因為不加區(qū)別地應用校正動作可以消極地影響終端用戶體驗。
因此,需要對一移動網(wǎng)絡中的網(wǎng)絡信號進行建模,以便在擁塞區(qū)域中更精確地應用校正動作。
技術實現(xiàn)要素:
根據(jù)本發(fā)明的一個實施例,一種方法包括確定在移動設備上執(zhí)行的移動應用是否與需要相應無線電連接的網(wǎng)絡信號相關聯(lián)。過濾由事務引起的網(wǎng)絡信號的至少一部分。被過濾的網(wǎng)絡信號不引起相應的無線電連接。計算信號效率,該信號效率指示作為過濾的結果而節(jié)約的無線電連接的總數(shù)。
系統(tǒng)包括移動網(wǎng)絡優(yōu)化模塊,其被配置為:確定在移動設備上執(zhí)行的移動應用是否與需要相應無線電連接的網(wǎng)絡信號相關聯(lián),過濾由所述事務引起的網(wǎng)絡信號的至少一部分,其中被過濾的所述網(wǎng)絡信號不引起相應的無線電連接; 信號效率模塊,被配置為計算指示作為所述過濾的結果而節(jié)約的無線電連接的總數(shù)的信號效率。
附圖說明
圖1A示出了系統(tǒng)的示例圖,其中用于資源保護的無線網(wǎng)絡(或寬帶網(wǎng)絡)中的主機服務器促進在移動設備(例如,無線設備),應用服務器或內容提供商,或如廣告服務器的其他器服務器,促銷內容服務器,或電子優(yōu)惠券服務器之間的流量,內容緩存和/或資源保護的管理。
圖1A-1示出了一示出分布式網(wǎng)絡優(yōu)化系統(tǒng)的一般架構概述的示例圖。
圖1B示出了一分布在主機服務器和設備之間的用于資源保護和內容緩存的代理和緩存系統(tǒng)的示例圖,其促進設備,應用服務器或內容提供商,或諸如廣告服務器的其他服務器,促銷內容服務器,或電子優(yōu)惠券服務器之間的網(wǎng)絡流量管理。
圖1C示出了分布式代理和緩存系統(tǒng)的邏輯架構的一示例圖。
圖1D示出了示出分布式代理和緩存系統(tǒng)中的客戶端組件的架構的示例圖。
圖1E示出了分布式代理和緩存系統(tǒng)的服務器端組件的示例圖。
圖1F示出了示出分布式代理和緩存系統(tǒng)中的示例客戶端組件之間的數(shù)據(jù)流的示例圖。
圖2A描繪了示出駐留在移動設備(例如,無線設備)上的分布式代理和緩存系統(tǒng)中的客戶端組件的示例的一框圖,其管理無線網(wǎng)絡(或寬帶網(wǎng)絡)中的流量,用于資源保護,內容緩存,和/或流量管理??蛻舳舜恚ɑ虮镜卮恚┛梢赃M一步基于應用行為,內容優(yōu)先級,用戶活動,和/或用戶期望對移動流量進行分類和/或實施投遞策略,例如,以進一步用于促進對齊數(shù)據(jù)傳輸以優(yōu)化在移動設備處建立的連接。
圖2B描繪了說明圖2A的示例中所示的緩存系統(tǒng)中的組件的另一示例的框圖。其能夠緩存和適配用于移動應用行為和/或網(wǎng)絡條件的緩存策略。還示出了能夠檢測長輪詢請求和管理長輪詢的緩存的組件。
圖2C描繪了示出在圖2A的示例中所示的緩存系統(tǒng)中的應用行為檢測器和緩存策略管理器中的附加組件的框圖。其還能夠檢測緩存失敗并執(zhí)行由指向失敗的緩存的標識符尋址的內容的緩存。
圖2D描繪了示出在圖2A的示例中所示的本地緩存中的附加組件的示例的框圖,其還能夠基于應用行為和/或用戶活動來執(zhí)行移動流量的分類和策略的實現(xiàn)。
圖2E描繪了示出圖2A的示例中所示的流量整形引擎和應用行為檢測器中的附加組件的示例的框圖,其還能夠促進傳輸至移動或寬帶設備,或其他用戶的輸入數(shù)據(jù)的對齊,以優(yōu)化需要建立的用于通過無線網(wǎng)絡或寬帶網(wǎng)絡接收數(shù)據(jù)的連接的數(shù)量。
圖3A描繪了示出為了資源保護,內容緩存,和/或流量管理而管理在無線網(wǎng)絡(或寬帶網(wǎng)絡)中的流量的分布式代理和緩存系統(tǒng)中的服務器端組件的示例的框圖。服務器端代理(或代理服務器)可以進一步基于應用行為,內容優(yōu)先級,用戶活動,和/或用戶期望對移動流量進行分類和/或實施投遞策略,例如,以進一步用于對齊數(shù)據(jù)傳輸以優(yōu)化為到移動設備的無線傳輸而建立的連接。
圖3B描繪了示出在圖3A的示例中所示的緩存系統(tǒng)中的緩存策略管理器中的組件的另一示例的框圖,其能夠緩存和適配用于移動應用行為和/或網(wǎng)絡條件的緩存策略。還示出了能夠檢測長輪詢請求和管理長輪詢的緩存的組件。
圖3C描繪了示出在圖3A的示例中示出的代理系統(tǒng)中的組件的另一示例的框圖,其還能夠管理和檢測緩存失敗機制并且監(jiān)視內容源。
圖3D描繪了示出在圖3A的示例中示出的代理服務器中的附加組件的示例的框圖,其還能夠基于應用行為和/或流量優(yōu)先級來執(zhí)行移動流量的分類和策略的實現(xiàn)。
圖3E描繪了示出圖3A的示例的流量整形引擎中的附加組件的示例的框圖,其還能夠對齊數(shù)據(jù)傳輸?shù)揭苿踊驅拵гO備,或其他接收者,以優(yōu)化為在無線網(wǎng)絡或寬帶網(wǎng)絡中傳輸而建立的連接。
圖4描繪了示出用于移動設備(例如,任何無線設備)和遠程代理之間的分布式內容緩存和內容緩存的分布式管理的示例過程的流程圖。
圖5描繪了示出由移動設備(例如,任何無線設備)到無線網(wǎng)絡(或寬帶網(wǎng)絡)中的應用服務器/內容提供商的數(shù)據(jù)請求如何通過分布式代理系統(tǒng)協(xié)調,以使得通過使用由分布式代理系統(tǒng)執(zhí)行的內容緩存和監(jiān)視來節(jié)約網(wǎng)絡和電池資源。
圖6描繪了示出可以在實現(xiàn)網(wǎng)絡訪問和內容投遞策略中使用的不同流量或應用類別類型的示例的表格。
圖7描繪了示出可以在實現(xiàn)網(wǎng)絡訪問和內容投遞策略中使用的不同內容類別類型的示例的表格。
圖8描繪了示出具有通過無線網(wǎng)絡(或寬帶網(wǎng)絡)從移動設備(例如,任何無線設備)到應用服務器/內容提供商的數(shù)據(jù)請求的輪詢可以如何被緩存在本地代理上并且由分布式緩存系統(tǒng)管理的交互圖。
圖9描繪了示出用于對移動網(wǎng)絡中的移動設備(例如,任何無線設備)的信號進行建模的示例過程的流程圖。
圖10描繪了示出用于對移動網(wǎng)絡中的移動設備(例如,任何無線設備)的信號進行建模的示例過程的另一流程圖。
圖11A- 圖16D描繪了用于確定一般連接和時間計算的日志/報告數(shù)據(jù)字段示例的計算。
圖17A和17B分別示出了計算連接標志和連接時間間隔的示例以及無線電開啟間隔的示例。
圖18描繪了示出一段時間內的日志的示例圖。
圖19A和19B分別圖示出了用于將一個網(wǎng)絡日志項分成兩個網(wǎng)絡日志項的長輪詢過程以及為了將該網(wǎng)絡日志劃分為兩部分所必須成立的條件。
圖20和21分別圖示了TIME_ON_NOT_CHARGING字段的計算和TIME_ON_NOT_CHARGING字段的示例。
圖22描繪了示例測量點,日志/報告數(shù)據(jù)分析核心模塊可以從該示例測量點執(zhí)行用于對數(shù)據(jù)網(wǎng)絡中的信號建模的測量。
圖23A-23E分別描繪了可以在日志/報告數(shù)據(jù)分析核心模塊的各種實施例中使用的輸出指標的說明。
圖24A-24J圖形地示出了可以在日志/報告數(shù)據(jù)分析核心模塊的實施例中使用的輸出指標的示例的各種計算。
圖25描繪了示出包括測量點的分布式網(wǎng)絡優(yōu)化系統(tǒng)的一般結構概觀的示例圖,日志/報告數(shù)據(jù)分析核心模塊可以從該測量點執(zhí)行用于對數(shù)據(jù)網(wǎng)絡中的信號建模的測量。
圖26A-26N示出了日志/報告數(shù)據(jù)分析核心模塊可以適配的附加的和/或備選的輸出指標的示例。
圖27示出了計算機系統(tǒng)的示例形式的機器的圖示,其可以執(zhí)行用于使機器執(zhí)行本文所討論的方法中的任何一個或多個的一組指令。
圖28示出了有效電流消耗和作為樣本W(wǎng)CDMA測試運行的總時間的一部分的連接時間之間的關系。
圖29示出與圖28相同的數(shù)據(jù),但是根據(jù)包括具有優(yōu)化和無優(yōu)化的一結果對來評估。
圖30示出了斜率(β)與反映不同優(yōu)化量的SbS運行的TC優(yōu)化(總體α)的一交叉圖。
圖31示出了開銷與根據(jù)本文描述的主題的實施例的α的一交叉圖。
圖32示出了在與圖30中所使用的相同的圖形表示的由無優(yōu)化與優(yōu)化產(chǎn)生的斜率的曲線圖。
具體實施例
下面的描述和附圖是說明性的,而不應被解釋為限制性的。許多具體細節(jié)被描述用于對本公開內容的通篇理解。然而在某些情況下為避免模糊描述,對公認或常規(guī)的細節(jié)不做描述。在本公開內容中,對某一實施方式或一個實施方式的引用可以是但不一定是對同一實施方式的引用;并且這類引用意味著至少一個實施方式。
在本說明書中對“某一實施方式”或“一個實施方式”的引用,意味著被描述為與該實施方式相關的一個特定的特性、結構或特性被包括在本公開內容中的至少一個實施方式之中。在本說明中各個地方的“在一個實施方式中”這一短語的出現(xiàn),不一定全部指同一實施方式,也不是與其它實施方式相互排斥的單獨或替代實施方式。此外,也描述了可以通過一些實施方式而不可通過其他實施方式來展示的多種特性。同樣地,也描述了可能是某些實施方式的要求但非其他實施方式要求的各種要求。
在本文件中,披露的技術包括了用于建模移動網(wǎng)絡中的信號和/或連接的系統(tǒng)和方法,特別是,任何對于包含移動網(wǎng)絡中的信號和/或連接的流量優(yōu)化技術所帶來的有益效果。實施例可以將信號分配給特定的應用,(如,判定哪些程序是閑置無益的,哪些程序會造成錯誤信號),和/或利用這些公開的流量優(yōu)化技術進一步建模該優(yōu)化或節(jié)約。
在一些實施例中,披露技術認為在移動網(wǎng)絡中在一定時刻會產(chǎn)生數(shù)據(jù)信號,如,無線電連接在設置時(如建立連接)或無線電連接被移除時(如斷開連接)。每個無線電連接可用于一個或多個事務/數(shù)據(jù)傳輸,這些可源自一個或多個應用。披露技術定義了事務是否會產(chǎn)生一個連接(從而產(chǎn)生信號),并進一步建模、計算、或者相反的,對信號和連接的節(jié)約進行量化。這些信號和連接的節(jié)約源自在發(fā)信號或者數(shù)據(jù)通路中使用的任何流量優(yōu)化技術。
在一些實施例中,為了啟用或增強網(wǎng)絡中的數(shù)據(jù)流量和信號優(yōu)化的性能,本文中包含一個或多個字段,這些字段由例如一個CRCS分析核心模塊這樣的部件計算產(chǎn)生,這些字段至少用來定義和識別如下內容:1、一個事務是否產(chǎn)生了一個數(shù)據(jù)連接(從而產(chǎn)生了信號);2、由公開的分布式緩存和代理系統(tǒng)所減少或節(jié)約的連接數(shù)量。
圖1A展示了一個系統(tǒng)示例圖,在這個系統(tǒng)中,一個主機服務器100能促進移動設備(如無線設備150或客戶端設備150)之間的流量管理,內容緩存,和/或資源保護,系統(tǒng)中還包含一個應用服務器或內容提供商110,或諸如廣告服務器120A的其他服務器,促銷內容服務器120B,或電子優(yōu)惠券服務器120C,這些都為了資源保護而存在于無線網(wǎng)絡或寬帶網(wǎng)絡中。主機服務器100能進一步探知移動設備無線電的狀態(tài),從而應用在為主機服務器所產(chǎn)生的發(fā)送信息或其他控制信號而選擇一個合適的通信通道,并且促進使用用戶作為對在一個無線網(wǎng)絡中的內容和數(shù)據(jù)傳遞進行性能分析和優(yōu)化的終端。
移動/客戶端設備150可以是任何系統(tǒng)和/或設備,和/或任何設備/系統(tǒng)的組合,能夠對任何另一設備,服務器,和/或其他諸如主機服務器100和/或應用服務器/內容提供商110的系統(tǒng)建立數(shù)據(jù)連接,包括有線連接,無線連接,蜂窩連接。移動/客戶端設備150通常包含一個顯示器和/或其他輸出功能性部件從而來呈現(xiàn)在設備150和/或主機服務器100和/或應用服務器/內容提供商110之間的信息和數(shù)據(jù)交換。所述應用服務器/內容提供商110可以是任何服務器,包含第三方服務器或服務/內容提供商,進一步包含廣告、促銷內容,出版、電子優(yōu)惠券服務器或服務。同樣的,單獨的廣告服務器120A,促銷內容服務器120B,和/或電子優(yōu)惠券服務器120C作為應用服務器或內容提供商同樣在實施例中闡述到。
例如, 客戶端/移動設備150可以包含移動,手持或便攜式設備,無線設備,或非便攜設備,也可以是任何但不限于:一個服務器筆記本電腦,筆記本電腦,計算機集群,或便攜設備,包含筆記本電腦,手提電腦,便攜電腦,掌上電腦,移動電話,普通手機,智能手機,PDA,黑莓設備,掌上設備,任何平板電腦,平板手機(一類擁有更大的屏幕尺寸的智能手機,屏幕尺寸在小手機和平板電腦之間),手持平板電腦(如IPAD,Galaxy系列,Nexus,Kindle,KindleFIRE系列,任何基于安卓的平板,基于windows的平板,基于亞馬遜的平板或其他類型的平板),任何便攜式閱讀器/閱讀設備、手動控制器,手持游戲設備或控制臺,頭戴式設備,頭戴式顯示屏,一個超薄客戶端或如iPhone等任何超級手機,和/或其他便攜式移動手持設備,或如M2M設備這樣的固定式無線接口,等等。在一個實施例中,客戶端設備150(或移動設備150),主機服務器100,應用服務器110通過網(wǎng)絡106和/或網(wǎng)絡108進行耦合。在一些實施例中,設備150和主機服務器100可能直接彼此連接。
客戶端設備150的輸入機制可以包括觸摸屏鍵盤(包括單點觸摸,多點觸摸,2D或3D的手勢感應,等),一個物理鍵盤,鼠標,指示器,追蹤板,運動檢測器(如,包括一維、二維、三維加速計,等),光傳感器,電容傳感器、電阻傳感器、溫度傳感器、距離傳感器、壓電設備,設備方向檢測器(如,電子指南針、傾角傳感器、旋轉傳感器、回轉儀、加速度計),或以上任意組合。
通過一個或多個以上輸入機制,或者其他公開技術中以獲取客戶端設備150的情境認知的輸入機制被接收或被檢測的信號表明用戶在客戶端設備150上活動。在客戶端設備150上的情境認知一般包括但不限于所舉例子,客戶端設備150的工作或狀態(tài)確認,管理,用戶活動/行為/交互意識,檢測,傳感,跟蹤,和/或應用(如,移動應用)類型,行為,活動,操作狀態(tài),等。
本文公開技術中的情境認知還包括網(wǎng)絡端環(huán)境數(shù)據(jù)的認識和檢測,該數(shù)據(jù)能夠包括網(wǎng)絡信息如網(wǎng)絡容量,帶寬,流量,網(wǎng)絡/連接類型,和/或任何其他操作狀態(tài)數(shù)據(jù)。網(wǎng)絡端環(huán)境數(shù)據(jù)可以通過網(wǎng)絡106和/或網(wǎng)絡108(如,通過主機服務器和/或設備150)的網(wǎng)絡服務提供商(如,蜂窩移動網(wǎng)絡提供商112和/或互聯(lián)網(wǎng)服務提供商)收集或查詢。應用情境認知除了由客戶端150確定外,應用情境認知也可以從各自的應用服務器/服務提供商110(通過主機100和/或客戶端設備150)接收或獲得/查詢。
主機服務器100可以使用從客戶端設備150,網(wǎng)絡106/108,應用 (如,移動應用)、應用服務器/提供商110,或以上的任意組合中獲得的情境信息,以管理系統(tǒng)中的流量從而滿足客戶端設備150的數(shù)據(jù)請求(如,滿足應用請求或任何其他請求包括HTTP請求)。在一個實施例中,流量被管理以滿足數(shù)據(jù)請求,該數(shù)據(jù)請求是為了響應明確或非明確的用戶103的請求和/或設備/應用的維護任務。管理流量使得節(jié)約網(wǎng)絡消耗,如蜂窩移動網(wǎng)絡的使用,以實現(xiàn)有效和有效的寬帶利用。此外,主機服務器100可以管理和協(xié)調系統(tǒng)中的流量,使用設備150端資源(如,包括但不限于電池能消耗,無線電使用,處理器/儲存器使用)可以通過一般的資源節(jié)約原理被優(yōu)化,同時通優(yōu)化性能和用戶的體驗。
例如,在電池節(jié)約情境中,設備150能夠觀察用戶的活動(如,通過一個或多個輸入機制觀察用戶的鍵盤敲擊,背光狀態(tài),或其他信號,等)和改變設備150的行為。設備150也能夠要求主機服務器100改變基于用戶活動或行為的網(wǎng)絡資源消耗的行為。
在一個實施例中,用于資源節(jié)約的流量管理使用在主機服務器100和客戶端設備150之間的分布式系統(tǒng)執(zhí)行。分布式系統(tǒng)包括代理服務器和在服務器100、和設備/客戶端的緩存組件,例如,如在服務器100側上的服務器緩存135和在客戶端150側上的本地緩存185所示。
在網(wǎng)絡(如,網(wǎng)絡106和/108)和設備150中用于情境認知流量管理的資源節(jié)約的公開功能和技術能夠存在于分布式代理和/或緩存系統(tǒng)(如(分布式)流量優(yōu)化器,流量管理系統(tǒng),用于減緩流量的(分布式)內容緩存機制)。代理和緩存系統(tǒng)能部分或者全部分布于和位于一個給定的客戶端設備150和/或主機服務器100之間。分布式代理和/或緩存系統(tǒng)(如(分布式)流量優(yōu)化器,流量管理系統(tǒng),用于減緩流量的(分布式)內容緩存機制)在附圖1C中有了進一步的相關描繪。附圖2-5也進一步分別描繪了(分布式)代理和/或在客戶端設備150中的緩存組件,主機服務器100,和相關組件的功能與技術內容。
在一個實施例中,客戶端設備150與主機服務器100和/或應用服務器110通過網(wǎng)絡106進行通信,網(wǎng)絡106可以是蜂窩移動網(wǎng)絡和/或寬帶網(wǎng)絡。為了促進在設備150和各種應用服務器/內容提供商110之間的整體流量管理以實現(xiàn)網(wǎng)絡(寬帶利用)和設備資源(如,電池消耗),主機服務器100能夠與應用服務器/提供商通過網(wǎng)絡108進行通信,網(wǎng)絡108包括互聯(lián)網(wǎng)(如,寬帶網(wǎng)絡)。
一般而言,網(wǎng)絡106和/或108通過客戶端設備150,主機服務器100,和/或應用服務器110進行通信,網(wǎng)絡106和/或108可以是蜂窩移動網(wǎng)絡,寬帶網(wǎng)絡,電話網(wǎng)絡,開放式網(wǎng)絡,如互聯(lián)網(wǎng)或專用網(wǎng)絡,如內部網(wǎng)和/或外部網(wǎng),或任何組合。例如,互聯(lián)網(wǎng)可以提供文件傳輸、遠程登錄、電子郵件、新聞、RSS、云端服務,即時消息,可視語音郵件,郵件,網(wǎng)絡電話,和通過任何已知或便利協(xié)議的其他服務,例如但不限于TCP/IP協(xié)議,UDP,HTTP、DNS、FTP、UPnP、NSF、ISDN、PDH、SDH、RS-232、SDH、SONET,等。
網(wǎng)絡106和/或108可以是任何不同網(wǎng)絡操作的全部或部分結合的任何集合,以提供客戶端設備150和主機服務器100的連通性,可以對服務系統(tǒng)和設備提供一個或多個網(wǎng)絡。在一個實施例中,客戶端設備150通信可以通過開放式網(wǎng)絡實現(xiàn),如互聯(lián)網(wǎng),私人網(wǎng)絡,寬帶網(wǎng)絡,如內部網(wǎng)絡和/或外部網(wǎng)絡。在一個實施例中,通信可以通過安全通信協(xié)議實現(xiàn),如安全套接層協(xié)議(SSL),或安全傳輸層協(xié)議(TLS)。
此外,通信可以通過一個或多個網(wǎng)絡實現(xiàn),例如但不限于,一個或多個WiMax、局域網(wǎng)(LAN)、無線局域網(wǎng)(WLAN)、個人局域網(wǎng)(PAN)、校園網(wǎng)(CAN)、城域網(wǎng)(MAN)、廣域網(wǎng)(WAN)、無線廣域網(wǎng)(WWAN)、或任何寬帶網(wǎng)絡,并進一步使用技術,例如,全球移動通信系統(tǒng)(GSM)、個人通信服務(PCS)、藍牙、無線網(wǎng)絡、固定無線數(shù)據(jù),2G、2.5G、3G、4G、國際移動通訊先進技術、準4G、LTE先進技術、移動WiMax、WiMax2、無線MAN先進網(wǎng)絡、提高GSM進展數(shù)據(jù)率(EDGE)、通用分組無線業(yè)務(GPRS)、加強的GPRS、iBurst、UMTS、HSPDA、HSUPA、HSPA、UMTS-TDD、1xRTT、EV-DO、信息傳遞協(xié)議如TCP/IP、SMS、MMS、可擴展信息傳遞和業(yè)務協(xié)議(XMPP)、實時信息傳遞協(xié)議(RTMP)、即時通信和業(yè)務協(xié)議(IMPP)、即時信息傳遞、USSD、IRC,或任何其他無線數(shù)據(jù)網(wǎng)絡、寬帶網(wǎng)絡,或信息傳遞協(xié)議。
通過下文的更多細節(jié)描述和通過附圖2A-2E和3A-3E的具體描述,下文實現(xiàn)了一個或更多的實施例,這些實施例可實現(xiàn)如下技術內容:在一個移動網(wǎng)絡(若網(wǎng)絡106)中的建模信號,給一個或更多的特定應用分配信號,(從而判定哪個應用產(chǎn)生了流量信號),和建模由于分布式緩存和代理系統(tǒng)導致的流量信號的節(jié)約(如產(chǎn)生自附圖1C中所示的客戶端代理175和/或服務器端代理125)。
在本實施例中,在移動網(wǎng)絡中的數(shù)據(jù)信號在特定時刻發(fā)生,如,在無線電連接在設置的時候(如連接時)或者無線電連接被移除的時候(如斷開連接)。此外,每個無線電連接可以被一個或更多的事務/數(shù)據(jù)傳輸所用,這些事務/數(shù)據(jù)傳輸源自一個或更多應用。
為了啟用或增強網(wǎng)絡中數(shù)據(jù)流量和信號優(yōu)化的性能,本實施例中包含一個或多個字段,(如擴展的“CRCS”字段)。這些一個或多個字段由例如客戶端代理175和/或服務器端代理125這樣的部件計算產(chǎn)生。這些字段至少用來定義和識別如下內容:1、一個事務是否產(chǎn)生了一個數(shù)據(jù)連接(從而產(chǎn)生了信號);2、由分布式緩存的披露實施例和代理系統(tǒng)所減少或節(jié)約的連接數(shù)量。
值得注意的是,為了方便,分布式緩存系統(tǒng)的客戶端(如本地代理105,175,275)在本文中可以被指代為“網(wǎng)絡優(yōu)化客戶端”或者“優(yōu)化網(wǎng)絡客戶端”。同樣的,分布式緩存系統(tǒng)中的服務器(如主機服務器111,100,300,主機代理服務器113,125,325)在本文中可以被指代為“網(wǎng)絡優(yōu)化服務器”或者“優(yōu)化網(wǎng)絡服務器”??蛻舳撕?或服務器,單獨或者共同地,可以執(zhí)行分布式緩存技術。分布式緩存技術包含,但并不限于,信號優(yōu)化和擴展緩存技術,在本文中,可以被指代為“網(wǎng)絡優(yōu)化”或者“優(yōu)化網(wǎng)絡”。
在一個實施例中,一個日志/報告數(shù)據(jù)分析核心模塊能對信號的測量和建模執(zhí)行計算和/或確定。日志/報告數(shù)據(jù)分析核心模塊,可以包含在客戶端代理175和/或服務器端代理125(如附圖2E和3E所示),在下文中有更多的詳細闡述。
附圖1A-1描繪了一個分布式網(wǎng)絡優(yōu)化系統(tǒng),包括一個優(yōu)化網(wǎng)絡(網(wǎng)絡優(yōu)化)客戶端(或本地)代理175和一個網(wǎng)絡優(yōu)化(或主機)服務器100,這些被單獨或者組合配置為建模移動網(wǎng)絡中的信號。
在一個實施例中,一個CRCS分析核心工具或模塊(未示出)可以計算擴展日志/報告數(shù)據(jù)字段,它們在CRCS分析核心單元中被使用和維持,從而實現(xiàn)在移動網(wǎng)絡中的移動設備上的信號建模。更具體地說,所述CRCS分析核心單元工具能夠對網(wǎng)絡優(yōu)化架構的效果進行建模,(如本文所討論的包含信號優(yōu)化和擴展緩存技術的分布式緩存技術)。CRCS分析核心工具或模塊可以包含硬件和/或軟件模塊,并且可以被分別包含在或全部包含在網(wǎng)絡優(yōu)化客戶端(本地)代理175和網(wǎng)絡優(yōu)化(主機)服務器150之一或者兩者中。
在一個實施例中,為了對網(wǎng)絡優(yōu)化架構(如移動數(shù)據(jù)流量優(yōu)化技術)的優(yōu)化或者節(jié)約進行建模,則對擴展日志/報告數(shù)據(jù)字段進行計算。如,擴展日志/報告數(shù)據(jù)字段能為網(wǎng)絡優(yōu)化架構的總體效率進行測量。這些字段能被網(wǎng)絡優(yōu)化客戶端(本地)代理175和/或網(wǎng)絡優(yōu)化(主機)服務器150進行計算。另外,字段能按移動設備被計算和/或字段為了建模在移動設備上運行的個體應用的信號而被計算。如,信號能被標識或者分配(歸屬)給特定的應有程序,從而去,如,判定哪些應用是閑置無用,那些應用程序會產(chǎn)生問題信號,等。
移動設備150可以包含任意數(shù)量的移動設備應用。這些應用可以被內置、預裝或者被移動設備的用戶下載。此外,應用能與網(wǎng)絡優(yōu)化客戶端代理175進行通信(被網(wǎng)絡優(yōu)化客戶端代理175處理)或者與網(wǎng)絡(如因特網(wǎng))直接連接。如附圖1A-1所描繪的實施例,應用1-3在每一個最初事務上都有所顯示。圖中顯示,應用1和2被網(wǎng)絡優(yōu)化客戶端175所處理,應用3則與網(wǎng)絡(如因特網(wǎng))發(fā)生直接連接。應用1和2在本文中也可以被稱為“無線電感知”。應用3并不是被網(wǎng)絡優(yōu)化架構所處理,然而依然能夠啟動無線電(即移動設備無線電連接)。無線電連接能利用無線電日志追蹤。每一個應用程序都能形成任意數(shù)量的事務,這也許能或也許不能形成網(wǎng)絡信號,這一點,非??少F。
如上文所述,本文描述的擴展日志/報告數(shù)據(jù)字段的能夠為了測量網(wǎng)絡優(yōu)化解決方案效率,包括信號效率和連接時間效率。如,信號效率和連接時間效率能為了與一部移動設備相關聯(lián)的信號而被計算。信號效率(也常被稱為信號節(jié)約)代表著被節(jié)約和優(yōu)化的移動網(wǎng)絡連接數(shù)量。相似的,連接時間效率(也常被稱為時間節(jié)約)代表著移動網(wǎng)絡開啟時間的節(jié)約量。
在一個實施例中,擴展日志/報告數(shù)據(jù)字段能被分割成多個類型。如,擴展日志/報告數(shù)據(jù)字段可以包含一個連接標志類型和一個連接時間計數(shù)類型。此外,擴展日志/報告數(shù)據(jù)字段能被劃分成如下圖表1所示的類型。
圖表1–日志/報告數(shù)據(jù)字段類型
如上所述,一個CRCS分析核心工具或模塊(未示出)能夠計算擴展日志/報告數(shù)據(jù)字段,這些字段能被CRCS分析核心工具來維護和使用,從而使得一個移動網(wǎng)絡中的一個移動設備的信號能被建模。在一個實施例中,對一個移動設備的信號建模包含建立多個連接和時間計算。關于多個連接和時間計算的相關細節(jié)在附圖10A—附圖26N中闡述。
附圖1B描繪了實施例的示意圖,圖中,一個代理和緩存系統(tǒng)分布在主機服務器100和設備150之間,這促進了設備150和應用服務器或內容提供商110,或其他為了資源優(yōu)化和內容緩存的服務器諸如廣告服務器120A,促銷內容服務器120B,或電子優(yōu)惠券120C之間的網(wǎng)絡流量管理。分布在主機服務器100和設備150之間的代理系統(tǒng)能進一步監(jiān)控移動應用的活動,這些監(jiān)控動作是針對于在無線網(wǎng)絡環(huán)境下的移動設備的惡意流量,和/或關于惡意流量自動生成和/或分布的策略信息。
分布式代理和/或緩存系統(tǒng)(如(分布式)流量優(yōu)化器,流量管理系統(tǒng),針對流量減緩的(分布式)內容緩存機制)(例如(分布式)流量優(yōu)化器,流量管理系統(tǒng),針對流量減緩的(分布式)內容緩存機制)能包含,如,代理服務器125(如,遠程代理)和服務器緩存135在服務器端的組件。服務器端代理125和緩存135能夠位于主機服務器100的內部。此外,代理服務器125和服務器端的緩存135能夠部分或全部位于主機服務器100的外部并通過一個或多個網(wǎng)絡106和108進行通信。例如,代理服務器125可以在主機服務器的外部,服務器緩存135可以在主機服務器100上被維護。另外,代理服務器125可以在主機服務器內部,而緩存服務器在主機服務器100的外部。此外,每個代理服務器125和緩存服務器135可以部分在主機服務器100內部,部分在主機服務器100外部。應用服務器/內容提供商110可以是任何服務器包括第三方服務器或服務/內容提供商,還包括廣告、促銷內容、出版物、或電子優(yōu)惠券服務器或服務。同樣,不同的廣告服務器120A,促銷內容服務器120B和/或電子優(yōu)惠券服務器120C作為應用服務器或內容提供商由示例解釋說明。
在一個實施例中,分布式系統(tǒng)還可以包括客戶端組件,包括但不限于,本地代理175(如,移動設備上的移動客戶端)和/或本地緩存185,可位于設備150的內部(如,移動設備)。
此外,客戶端代理175年和本地緩存185可以部分或全部位于設備150的外部,并通過一個或多個網(wǎng)絡106和108進行通信。例如,本地代理175可能在設備150的外部,本地緩存185在設備150的內部。另外,本地代理175在設備150的內部,而本地緩存185在設備150的外部。此外,每個代理175和緩存185可能部分在主機服務器100的內部,部分在主機服務器100的外部。
在一個實施例中,分布式系統(tǒng)可能包括可選緩存代理服務器199。緩存代理服務器199可能是一個被應用服務器/內容提供商110,主機服務器100,網(wǎng)絡服務提供商112,或任何以上組合操作以促進用于網(wǎng)絡和設備資源節(jié)約的網(wǎng)絡流量管理的組件。代理服務器199能夠用于緩存以提供給設備150的內容,該內容來自一個或多個應用服務器/提供商110,主機服務器100,和/或網(wǎng)絡服務提供商112。內容緩存可以通過遠程代理125全部或部分執(zhí)行以滿足應用請求或設備150上的其他數(shù)據(jù)請求。
在情境認知流量管理和網(wǎng)絡(如,蜂窩或其他無線網(wǎng)絡)資源節(jié)約優(yōu)化中,在用戶活動/行為和/或移動設備150(如,任何無線設備)中應用行為的特征可以被本地代理175追蹤,并通過網(wǎng)絡106與主機服務器100上的代理服務器125進行通信,例如,作為連接元數(shù)據(jù)。代理服務器125輪流與應用服務器/提供商110耦合提供內容和數(shù)據(jù)以滿足設備150的請求。
此外,本地代理175可以識別和檢索移動設備性能,包括一個或多個電池電量,設備注冊網(wǎng)絡,無線電狀態(tài),或移動設備是否被使用(如,由用戶與之交互)。在某些情況下,本地代理175可以在數(shù)據(jù)傳輸?shù)酱矸掌?25之前的適當時候延遲,加快(預讀?。?,和/或修改數(shù)據(jù)。上述內容會在附圖2-5中做進一步的描述。
本地數(shù)據(jù)庫185可以包括在本地代理175或耦合到本地代理175中,可以查詢本地存儲以在數(shù)據(jù)請求轉發(fā)到代理服務器125之前響應數(shù)據(jù)請求。本地代理175可以使用本地緩存響應以滿足移動設備150的某些應用請求,通過檢索存儲在緩存存儲器185中的緩存內容,當緩存內容有效時。
同樣,主機服務器100的代理服務器125也可以在數(shù)據(jù)從本地代理傳輸?shù)絻热輥碓矗ㄈ?,應用服務?內容提供商110)之前延遲,加快,或修改數(shù)據(jù)。此外,代理服務器125使用設備特性和連接元數(shù)據(jù)以產(chǎn)生滿足移動設備150應用請求的規(guī)則。代理服務器125能夠收集關于應用請求的實時流量信息供以后通過移動設備150或其他移動設備優(yōu)化相似連接使用。
一般而言,本地代理175和代理服務器125對執(zhí)行在移動設備上的多個應用來說是透明的。本地代理175對操作系統(tǒng)或移動設備平臺來說通常是透明的,具有或不具有特定的設備制造商。在某些情況下,本地代理175的部分或全部特定設備是可選可定制的。在一些實施例中,本地代理175可以打包進無線模型,防火墻,和/或路由器中。
在一個實施例中,主機服務器100在某些情況下,可以利用短信息服務中心(SMSC)112的存儲和轉發(fā)功能,如由網(wǎng)絡服務提供商提供,與設備150通信以實現(xiàn)網(wǎng)絡流量管理。值得注意的是,短信息服務中心(SMSC)112也可以利用任何其他類型的可替代渠道,包括USSD和其他網(wǎng)絡控制機制。主機服務器100可以轉發(fā)內容或HTTP響應至SMSC112,這樣它就會被自動轉發(fā)給設備150如果在線的話,以及后續(xù)轉發(fā)給設備150如果不在線的話。
一般而言,本文公開的分布式代理和緩存系統(tǒng)允許優(yōu)化網(wǎng)絡使用,例如,通過服務來自于本地緩存185的請求,本地代理175減少了需要滿足網(wǎng)絡106的請求的數(shù)量。另外,本地代理175和代理服務器125可以過濾通信數(shù)據(jù)中的無關數(shù)據(jù)。此外,本地代理175和代理服務器125也能夠積累低優(yōu)先級數(shù)據(jù),并批量發(fā)送以避免發(fā)送個人數(shù)據(jù)片段的協(xié)議開銷。本地代理175和代理服務器125還能夠壓縮和譯碼視頻流量,以減少通過網(wǎng)絡106和/或108發(fā)送的數(shù)據(jù)量。在網(wǎng)絡106和/或108中的信號流量可以被減少,在網(wǎng)絡不常用的情況下,網(wǎng)絡流量在個別應用之間可以同步。
關于移動設備150的電池壽命,通過服務來自本地緩存185的應用或內容請求,本地代理175能夠減少無線電模塊啟動的次數(shù)。本地代理175和代理服務器125可以一起工作累積低級優(yōu)先級數(shù)據(jù),并批量發(fā)送以減少無線電啟動的次數(shù)和/或時間。本地代理175通過為所有連接同時執(zhí)行批量數(shù)據(jù)傳送使網(wǎng)絡使用同步。
附圖1C描述了分布式代理緩存系統(tǒng)的邏輯架構示例圖。
分布式系統(tǒng)可以包含以下組件:
客戶端代理175:安裝在智能手機,移動設備或無線設備150上的與設備的操作系統(tǒng),以及安裝在設備上的數(shù)據(jù)服務和應用程序接口的組件??蛻舳舜?75通常符合且能夠操作使用本領域網(wǎng)絡協(xié)議的標準或規(guī)定。附圖2A到附圖2B和附圖4A到附圖4C對客戶端代理175的額外組件和特征有了更進一步的闡述和描繪。
服務器端代理125可以包括一個或多個服務器,該服務器可以是與第三方應用交互的服務器(如,服務器199),移動運營商網(wǎng)絡(可以是代理199或是沒有說明的額外服務器)和/或客戶端代理175。一般而言,服務器端代理125通常符合且能夠操作使用本領域網(wǎng)絡協(xié)議和/或與移動網(wǎng)絡組件交互的說明書和/或第三方服務器的標準或規(guī)定。在附圖3A到附圖3B和附圖5A到附圖5C中進一步描述了服務器端代理125的額外組件和特征示例。
報告和使用分析服務器174:報告和使用分析系統(tǒng)或組件174能夠收集客戶端175和/或服務器端125的信息,并通過必要的工具產(chǎn)生可以用于分析流量和信號數(shù)據(jù)的報告和使用分析。這個分析可以被代理系統(tǒng)使用以管理/減少流量,或者被網(wǎng)絡運營商使用以監(jiān)測網(wǎng)絡并盡可能使網(wǎng)絡改進和增強。注意,報告和使用分析系統(tǒng)/組件174,可以作為獨立于服務器端代理125的服務器,或者可以是部分或全部位于服務器端代理125上的一個組件。
圖1D描述了分布式代理緩存系統(tǒng)中客戶端組件結構的示例圖。
客戶端組件175可以包括軟件組件或安裝在移動設備上的代理件,能夠使流量優(yōu)化并在客戶端執(zhí)行相關功能??蛻舳舜?75組件對最終用戶和應用163可以透明化操作。客戶端代理175可以安裝在移動設備上以進行優(yōu)化,并完成數(shù)據(jù)路由的更改。一旦數(shù)據(jù)路由被修改,客戶端代理175能夠響應服務器提供商或主機服務器的應用請求,此外還能使應用163直接訪問數(shù)據(jù)網(wǎng)絡。一般而言,移動設備上的應用163不會注意到客戶端代理175正在響應他們的請求。一些客戶端代理175組件的示例描述如下:
設備狀態(tài)監(jiān)視器121:設備狀態(tài)監(jiān)視器121能夠負責識別設備中的多個狀態(tài)和指標,如網(wǎng)絡狀態(tài),顯示狀態(tài),電池電量,等??蛻舳舜?75其余的組件能夠根據(jù)設備的狀態(tài)操作并做出決策,在每個狀態(tài)下以最優(yōu)的方式操作。
流量識別器122:流量識別器122分析在無線設備應用163和各自主機服務器之間的全部流量以識別周期性模式。支持傳輸協(xié)議包括DNS,HTTP和HTTPS,這樣通過這些端口的流量直接到了客戶端代理175處。而分析流量,客戶端代理175可以識別周期性輪詢模式,該模式可作為候選被服務器端代理125遠程執(zhí)行并,發(fā)送到協(xié)議優(yōu)化器123。
協(xié)議優(yōu)化器123:協(xié)議優(yōu)化器123能夠實現(xiàn)本地緩存185的周期性請求服務的邏輯,以替代允許這些請求通過網(wǎng)絡去服務器提供商/應用主機服務器上。它的任務是消除或減少發(fā)送請求到網(wǎng)絡的需求,對網(wǎng)絡擁塞和設備電池壽命有著積極地影響。
本地緩存185:本地緩存185能夠存儲對周期性請求的響應,能夠被協(xié)議優(yōu)化器123使用以對應用163發(fā)送響應。
流量調度器124:流量調度器124能夠短暫移動通信并通過統(tǒng)一的?;钚盘栆詢?yōu)化設備資源的使用,這樣一些或全部的不同應用163能夠在同一時間發(fā)送?;钚畔ⅲ髁苛魉€)。流量調度器124也可以在給定的時間(如,設備沒有被經(jīng)常使用)決定延遲不相關的數(shù)據(jù)傳輸。
策略管理器125:策略管理器125能夠存儲和執(zhí)行流量最優(yōu)化,策略報告由策略管理服務器(PMS)提供。在客戶端代理175首次啟動時,流量最優(yōu)化和在一個特定的設備中被執(zhí)行的策略報告(策略概要文件)能夠被策略管理服務器預分配。
看門狗127:看門狗127可以監(jiān)測客戶端代理175操作可用性。如果客戶端代理175由于故障或者因為被禁用不工作,看門狗127可以重置DNS路由規(guī)則信息,并且可以恢復原來的DNS設置使設備繼續(xù)工作直到客戶端代理175服務器恢復。
報告代理126:報告代理126可以收集設備中事件發(fā)生的信息并將這些信息發(fā)送到報告服務器。事件細節(jié)暫時存儲在設備中,只有當數(shù)據(jù)通道的狀態(tài)活躍時才會轉發(fā)到報告服務器。如果客戶端代理175沒有在24小時內發(fā)送記錄,報告代理126可能嘗試打開連接并發(fā)送記錄條目,或者如果那里沒有條目存儲,發(fā)送一個空的報告包。所有報告設置在策略管理服務器中配置。
推送客戶端128:推送客戶端128可以負責服務器端代理125和客戶端代理175之間的流量。推送客戶端128可以發(fā)送服務請求如內容更新請求和策略更新請求,并接收來自服務器端代理125請求的更新。此外,推送客戶端128可以發(fā)送數(shù)據(jù)到報告服務器(如,可能在服務器端代理125內部或外部的報告和/或使用分析系統(tǒng))。
代理服務器199具有各種各樣的用途,從通過緩存重復請求加快網(wǎng)絡服務器,到一組客戶共享網(wǎng)絡資源的緩存網(wǎng)絡、DNS和其他網(wǎng)絡的查找。代理服務器199是可選的。分布式代理和緩存系統(tǒng)(125和/或175)允許使用代理199,在運營商網(wǎng)絡中的額外代理(們),或代理199與運營商的或其他第三方的代理的集成代理的靈活代理配置。
附圖1E描述了分布式代理的緩存系統(tǒng)中服務器端組件結構的示例圖。
分布式系統(tǒng)的服務器端125包括,如能夠與流量協(xié)調器144交互的中繼服務器142,輪詢服務器145和/或策略管理服務器143。每個組件都能與客戶端代理175,或其他第三方(如,應用服務器/服務提供商110和/或其他代理199)和/或報告和使用分析系統(tǒng)通信。服務器端代理125的一些組件如下所述:
中繼服務器142:中繼服務器142是分布式代理結構中的路由代理。中繼服務器142管理安裝在設備上并與客戶端代理175連接和通信的組件,并提供一個用以報告,服務開通,平臺設置,等內容的管理接口。
通知服務器141:通知服務器141是一個可以連接運營商的短信息服務中心網(wǎng)關的模塊,并對客戶端代理175提供短信息服務通知。短信息服務通知可以在IP連接不活躍的時候使用,避免客戶端服務器175通過無線數(shù)據(jù)通道激活連接,從而避免額外的信號流量。然而,如果IP連接碰巧被打開用于一些其他通信,通知服務器141可以使用它對客戶端代理175發(fā)送通知。用戶數(shù)據(jù)庫可以存儲操作數(shù)據(jù),包括終端(MISISDN),組織機構和每個資源(URIs或URLs)的通知服務器141網(wǎng)關。
流量協(xié)調器144:流量協(xié)調器144可以負責客戶端代理175和輪詢服務器145之間的通信。流量協(xié)調器144直接連接輪詢服務器145或通過數(shù)據(jù)存儲器130連接輪詢服務器145,并且通過任何開放或專業(yè)協(xié)議(諸如7TP)連接到客戶端,實現(xiàn)流量優(yōu)化。流量協(xié)調器144可以負責服務器端的流量流水:如果相同客戶端的數(shù)據(jù)庫具有緩存內容,該內容可以在一個信息中發(fā)送到客戶端。
輪詢服務器145:輪詢服務器145可以輪詢代表被優(yōu)化的應用的第三方應用服務器。如果應用發(fā)生變化(如,新數(shù)據(jù)產(chǎn)生),輪詢服務器145可以報告流量優(yōu)化器144,該流量優(yōu)化器144依次向客戶端代理175發(fā)送通知消息以清除緩存和允許應用直接輪詢應用服務器。
策略管理服務器143:策略管理服務器(PMS)143允許管理員為客戶端代理175(設備客戶端)配置和存儲策略。它還允許管理員通知客戶端代理175關于策略的改變。使用策略管理服務器143,每個操作者都可以為每個特定移動運營商網(wǎng)絡的特性配置策略從而能夠以最有效的方式工作。
報告和使用分析組件:報告和使用分析組件或系統(tǒng)收集來自客戶端175和/或服務器端125的信息,并提供工具以產(chǎn)生供操作者分析應用信號和數(shù)據(jù)消耗的報告和使用分析,。
附圖1F描繪了在分布式代理和緩存系統(tǒng)中的客戶端組件的數(shù)據(jù)流的示例圖。應用(如應用1,應用2,應用3一直到應用N)之間的流量,客戶端代理(如本地代理)175,IP路由表(如在安卓操作系統(tǒng)層),網(wǎng)絡訪問層和無線網(wǎng)絡都在圖中被描繪。
在一個實施例中,未優(yōu)化的應用流量數(shù)據(jù)流,如來自APP1的流量,可以完全繞開客戶端代理175組件,并經(jīng)過操作系統(tǒng)層(如安卓操作系統(tǒng)層)直接前行。未優(yōu)化的流量可以包括但不限于:多元媒體,如視頻和音頻,以及來自網(wǎng)絡和應用的、被配置為繞過優(yōu)化和流量待決優(yōu)化的流量等。在一個實施例中,所有流量都可以被配置成繞開客戶端/服務器端代理。
在另一個實施例中,優(yōu)化過的應用流量,比如來自APP2的流量,可以從應用重新定向到客戶端代理175。默認地,可以是端口80(HTTP)和端口50(DNS)的流量,也可以是端口443(HTTPS)上經(jīng)過篩選的流量。然而,其他端口的流量可以配置為直接到達客戶端代理。
在另一種實施例中,流量流可以存在在客戶端代理175和源服務器(如內容服務器110)之間,經(jīng)過因特網(wǎng)和/或在客戶端代理175和服務器端代理(如代理服務器)125之間。
圖2A示出的塊圖顯示駐留在為了節(jié)約資源,內容緩存,和/或流量管理而在無線網(wǎng)絡中管理流量的一移動設備250上的分布式代理和緩存系統(tǒng)中的客戶端組件的另一個例子??蛻舳舜恚ɑ虮镜卮?75)可以進一步基于應用行為、內容優(yōu)先級、用戶活動和/或用戶預期為移動流量進行分類和/或實施投遞策略。
設備250可以是諸如便攜式電話的便攜式或移動式設備(例如任何無線設備),例如,其通常包括網(wǎng)絡接口208、操作系統(tǒng)204、情境API206以及可能是代理無感知210或代理感知220的移動應用。請注意,雖然設備250在圖2A的例子中被作為移動設備特別說明,但這并非一種限制;設備250可以是任何能夠通過在包括有線或無線網(wǎng)絡(例如無線網(wǎng)絡、蜂窩、藍牙、局域網(wǎng)、廣域網(wǎng)等)的網(wǎng)絡中接收并傳輸信號以滿足數(shù)據(jù)請求的無線、寬帶、便攜式/移動式或非便攜式設備。
網(wǎng)絡接口208可以是一個聯(lián)網(wǎng)模塊,使設備250通過由主機和外部實體所支持的任何已知的和/或便利的通信協(xié)議在網(wǎng)絡中與主機服務器250之外的實體調解數(shù)據(jù)。網(wǎng)絡接口208可以包括一個或多個網(wǎng)絡適配器卡、無線網(wǎng)絡接口卡(例如SMS接口、無線網(wǎng)絡接口、包括但不限于各代移動通信標準2G、3G、3.5G、4G、LTE等的接口)、藍牙、或不管該連接是否通過路由器、訪問點、無線路由器、交換機、多層交換機、協(xié)議轉換器、網(wǎng)關、網(wǎng)橋、橋路由器、集線器、數(shù)字媒體接收器和/或中繼器。
設備250還可以包括分布式代理和緩存系統(tǒng)的客戶端組件,其可以包括但不限于本地代理275(例如移動設備的一個移動客戶端)和緩存285。在一個實施方式中,本地代理275包括用戶活動模塊215、代理API225、請求/事務管理器235、緩存策略管理器245其有一個應用協(xié)議模塊248、流量整形引擎255和/或連接管理器265。流量整形引擎255還可以包括調整模塊256和/或批處理模塊257,連接管理器265還可以包括無線控制器266。請求/事務管理器235還可以包括應用行為檢測器236和/或優(yōu)先級處理引擎241,應用行為檢測器236還可以包括模式檢測器237和/或應用配置文件生成器239。更多或更少的組件/模塊/引擎都可以被包含在本地代理275及每個圖示組件中。
按照本發(fā)明所使用的情況,“模塊”、“管理器”、“處理器”、“檢測器”、“接口”、“控制器”、“標準化器”、“發(fā)生器”、“無效驗證器”或“引擎”都包括了一個通用、專有或共享的處理器以及通常來說由處理器執(zhí)行的固件或軟件模塊。取決于特定實現(xiàn)或其他考慮,模塊、管理器、處理器、檢測器、接口、控制器、標準化器、發(fā)生器、無效驗證器或引擎都可以被集中或使其功能被分布。模塊、管理器、處理器、檢測器、接口、控制器、標準化器、發(fā)生器、無效驗證器或引擎可包括通用或專有硬件、固件或用于處理器執(zhí)行的內嵌于計算機的可讀(存儲)介質的軟件中。
按照本發(fā)明所使用的情況,計算機可讀介質或計算機可讀存儲介質旨在包括所有法定(例如在美國即根據(jù)35U.S.C.101)介質并明確排除所有性質為非法定的介質,其程度為該排除對包括計算機可讀(存儲)介質是有效的的權利要求是必要的。已知法定計算機可讀介質包括硬件(例如僅舉幾例——寄存器、隨機存取存儲器(RAM)、非易失性(NV)存儲器),但可以或可以不被限于硬件。
在一個實施方式中,網(wǎng)絡流量管理的分布式代理和緩存系統(tǒng)一部分駐留在設備250中或者與之進行通信,包括本地代理275(移動客戶端)和/或緩存285。本地代理275可以在設備250上提供一個接口,使用戶可以訪問包括電子郵件、即時消息、語音信箱、可視語音郵件、消息源、互聯(lián)網(wǎng)、游戲、生產(chǎn)力工具或其他應用等在內的設備應用和服務。
代理275一般獨立于應用之外并可以被應用(例如代理感知和代理無感知應用210和220或其它移動應用)使用來打開到遠程服務器(例如服務器100)的TCP連接。在一些情況下,本地代理275包括代理API225,其可被選擇用于與代理感知應用220(或移動設備(例如任何無線設備)上的應用(例如手機應用))相連。
應用210和220通常可以包括任何用戶應用、窗口小部件、軟件、基于HTTP的應用、網(wǎng)絡瀏覽器、視頻或其他多媒體流或下載應用、視頻游戲、社交網(wǎng)絡應用、電子郵件客戶端、RSS管理應用、應用商店、文檔管理應用、生產(chǎn)率增強應用等。應用可以由設備制造商、網(wǎng)絡服務提供商與設備操作系統(tǒng)一并提供,也可由用戶下載或由其他人提供。
如圖所示,本地代理275的一個實施方式包括情境API206或者與之耦合。如圖所示,情境API206可以是操作系統(tǒng)204或設備平臺的一部分或獨立于操作系統(tǒng)204。操作系統(tǒng)204可以包括任何操作系統(tǒng),包括但不限于任何以前、當前和/或將來的WindowsMobile、iOS、安卓、塞班、PalmOS、BrewMP、Java2微型版(J2ME)、黑莓等等的版本/發(fā)布。
情境API206可以是操作系統(tǒng)204的一個插件或設備250上的一個特定的客戶端/應用。情境API206可檢測指示用戶或設備活動的信號,例如運動偵測、姿態(tài)、設備位置、設備位置的改變、設備背光、擊鍵、點擊、激活了的觸摸屏、鼠標點擊或對其它指針設備的檢測。情境API206可耦合到設備250上的輸入設備或傳感器來識別這些信號。這種信號通??梢园轫憫谠O備250的輸入設備/機制上的顯式用戶輸入所接收到的輸入和/或從設備250上或其附近(例如光、運動、壓電等等)的環(huán)境信號/情境線索處所收集到的輸入。
在一個實施方式中,用戶活動模塊215與情境API206交互以識別、確定、推斷、檢測、計算、預測和/或推理設備250上的用戶活動特性。由情境API206收集的各種輸入都可以由用戶活動模塊215來聚合從而為用戶活動特性生成一份簡檔。這樣一個簡檔可以由用戶活動模塊215結合各種時間特性而產(chǎn)生。例如,用戶活動簡檔可被實時生成以就用戶在給定的時刻(例如由時間窗口中所定義、在最后一分鐘、在最后30秒時等)正在做什么或沒有在做什么而在給定時間內提供說明,用戶活動簡檔也可以為一個由應用或網(wǎng)頁定義的“會話”而生成,其描述了就在設備250上所介入的特定任務而產(chǎn)生的或為一個特定的時間段(例如在過去的2個小時內、在過去的5小時內)的用戶行為特性。
此外,特性曲線可以由用戶活動模塊215產(chǎn)生來描繪出用戶活動和行為(例如1周、1個月、2個月等)的歷史趨勢。這樣的歷史簡檔也可以被用來推斷用戶行為趨勢,例如在一天的不同時間的訪問頻率、一周中某些日子的趨勢(周末或周天)、基于位置數(shù)據(jù)的用戶活動趨勢(例如IP地址、全球定位系統(tǒng)或蜂窩塔坐標數(shù)據(jù))或位置數(shù)據(jù)的改變(例如基于用戶位置的用戶活動、或基于所述用戶是否在旅途中還是在歸屬區(qū)以外旅行等的用戶活動),從而獲得用戶活動特性。
在一個實施方式中,用戶活動模塊215可以檢測和跟蹤設備250上的應用、文檔、文件、窗口、圖標和文件夾方面的用戶活動。例如,當應用或者窗口(例如網(wǎng)頁瀏覽器或任何其它類型的應用)已經(jīng)被退出、關閉、最小化、最大化、打開、移動到前臺或到背景中時,用戶活動模塊215可以檢測到多媒體內容播放等。
在一個實施方式中,設備250上的用戶活動特性可用于在本地調節(jié)所述設備(例如移動設備或任何無線設備)的行為,以優(yōu)化資源消耗,如電池/功耗,以及更一般的,包括內存、存儲器和處理功率等其他設備資源的消耗。在一個實施方式中,在設備上使用的無線可以根據(jù)用戶的行為(例如由連接管理器265上的無線電控制器266)特性而被耦合到用戶活動模塊215上。例如無線電控制器266可以基于設備250上的用戶活動特性而打開或關閉無線電。此外,取決于用戶活動特性,無線電控制器266可以調整無線設備的功率模式(例如使用更高的功率模式或更低的功率模式)。
在一個實施方式中,設備250上的用戶活動特性也可用于使另一個設備(其它計算機、移動設備、無線設備或者非便攜式設備)或服務器(例如圖1A-B和圖3A的示例中的主機服務器100和300),其可以與設備250進行通信(例如通過蜂窩式網(wǎng)絡或其它網(wǎng)絡)來修改其與設備250所使用的通信頻率。本地代理275可以使用由用戶活動模塊215所確定的用戶行為特性信息來指示遠程設備如何調節(jié)其通信頻率(例如,如果用戶處于閑置狀態(tài),則降低如數(shù)據(jù)推送頻率的通信頻率,而在新的數(shù)據(jù)、變化了的數(shù)據(jù)或具有一定重要性水平的數(shù)據(jù)變得可用等情況下,則請求該遠程設備通知設備250)。
在一個實施方式中,作為對確定表明用戶在不活躍一段時間之后開始活躍的用戶活動特性的響應,用戶活動模塊215可請求遠程設備(例如圖1A-B和圖3A的示例中的服務器主機服務器100和300)發(fā)送作為先前降低通信頻率結果而被緩沖的數(shù)據(jù)。
另外,或者作為替代,本地代理275可以就設備250上的用戶活動特性與遠程設備(例如圖1A-1B和圖3A中的主機服務器100和300)進行通信,而遠程設備將確定如何改變其自身與設備250的通信頻率以實現(xiàn)網(wǎng)絡資源保護和設備250的資源保護。
本地代理275的一個實施例進一步包括一個請求/事務管理器235,可以探測、識別、攔截、處理、管理、設備250發(fā)起的數(shù)據(jù)請求,例如,通過應用210和/或220發(fā)起的請求,和/或由用戶直接/間接發(fā)起的請求。請求/事務管理器235可以決定如何以及何時處理給定的請求或事務,或一組請求/事務,根據(jù)事務的特征。
請求/事務管理器235可以為在設備250上的應用和/或用戶進行的請求或事務進行優(yōu)先級排序,例如由優(yōu)先級處理引擎241進行。請求/事務的重要性或優(yōu)先級可以通過應用規(guī)則集由請求/事務管理器235來確定,例如根據(jù)事務的時間靈敏度、事務內容的時間靈敏度、事務的時間關鍵性、事務中所傳輸?shù)臄?shù)據(jù)的時間關鍵性和/或發(fā)出請求之應用的時間關鍵性或重要性。
此外,事務的特性也可取決于該事務是否是設備上的用戶交互或其他用戶發(fā)起動作的結果(例如與應用的用戶交互(例如手機應用))。在一般情況下,一個時間關鍵性事務可包括因用戶發(fā)起的數(shù)據(jù)傳輸而產(chǎn)生的事務,并且可依此被劃分優(yōu)先級。事務特性也可以取決于由所請求事務導致的將被傳輸或預計要被傳輸?shù)臄?shù)據(jù)量。例如,連接管理器265可基于需要傳輸?shù)臄?shù)據(jù)量而調節(jié)無線模式(例如通過無線控制器266調節(jié)高功率和低功率模式)。
此外,無線控制器266/連接管理器265可基于事務的時間關鍵性/靈敏度調節(jié)無線功率模式(高或低)。時間關鍵性事務(例如用戶發(fā)起的數(shù)據(jù)傳輸產(chǎn)生的事務、前臺運行的應用、任何符合一定條件的其它事件)被啟動或檢測到時,無線控制器266可以觸發(fā)使用高功率無線模式。
在一般情況下,優(yōu)先級可以被默認設置,例如基于設備平臺、設備制造商、操作系統(tǒng)等。優(yōu)先級可由特定應用可替代地或附加地設置;例如Facebook應用(例如手機應用)可以為各種事務(例如,狀態(tài)更新可以比加為好友請求或戳一下請求有更高的優(yōu)先級,再比如消息發(fā)送請求可以比消息刪除請求有更高的優(yōu)先級)配置其自己的優(yōu)先級,電子郵件客戶端或即時消息聊天客戶端也可有其自己用于優(yōu)先權的配置。優(yōu)先級處理引擎241可以包括用于分配優(yōu)先級的規(guī)則集。
優(yōu)先級處理引擎241還可以就對請求/事務的整體優(yōu)先地位的確定而追蹤網(wǎng)絡提供商的應用或事務優(yōu)先級之限制或規(guī)范。另外,優(yōu)先級可以部分或全部由用戶偏好確定,不管其是顯式還是隱式的偏好。在一般情況下,用戶可在設置不同優(yōu)先級層次,例如對于會話或類型或應用的具體優(yōu)先級(例如比較瀏覽會話、游戲會話與即時消息聊天會話,用戶可以把游戲會話優(yōu)先級設置為總是高于即時消息聊天會話,而后者優(yōu)先級又高于網(wǎng)頁瀏覽會話)。用戶可以就具體的事務類型(例如使跨越所有應用之所有發(fā)送信息請求比消息刪除請求具有更高的優(yōu)先級,使所有日歷相關的事件具有更高的優(yōu)先級等)和/或特定的文件夾來設置特定應用的優(yōu)先級(例如用戶可以設置Facebook相關的事務比LinkedIn相關的事務具有更高的優(yōu)先級)。
優(yōu)先級處理引擎241可以追蹤和解決不同實體設置的優(yōu)先級中的沖突。例如,由用戶指定的手動設置可能優(yōu)先于設備操作系統(tǒng)設置,網(wǎng)絡提供商參數(shù)/限制(例如為一個網(wǎng)絡服務區(qū)域的默認設置、地理區(qū)域、對于一天中的特定時間的設置或基于服務/費用類型的設置)可能會限制任何用戶指定的設置和/或應用設定的優(yōu)先級。在一些情況下,接收自用戶的手動同步請求可以覆蓋一些、大部分或所有的優(yōu)先級設置,其中被請求的同步會在被請求時被執(zhí)行,而無論為此所請求操作單獨分配的優(yōu)先級或整體優(yōu)先級排名如何。
優(yōu)先級可以通過任何已知和/或方便的方式被內部定義和追蹤,包括但不限于二進制表示、多值表示、分級表示,所有方式都被認為在所公開技術的范圍之內。
表2
為說明起見,以上表2以二進制表示方案示出含有已分配優(yōu)先級事務的一些例子。對額外的事件、請求、事務的類型來說,額外分配是可能的,并且如前所述,優(yōu)先級分配可以通過更多或更少的粒度級別進行,例如在會話級或在應用級等。
如上表中舉例所示,在一般情況下,低優(yōu)先級的請求/事務可以包括更新消息狀態(tài)為已讀、未讀、刪除消息、刪除聯(lián)系人;更高優(yōu)先級的請求/事務在某些情況下可能包括狀態(tài)更新、新的IM聊天消息、新的電子郵件、日歷事件更新/取消/刪除、手機游戲會話中的事件、或其他娛樂相關的事件、網(wǎng)購或在線購物的購買確認、加載額外內容或下載內容的請求、聯(lián)絡簿相關的事件、更改設備設置的事務、位置感知或基于位置的事件/事務或任何其他由用戶引發(fā)的或已知、預期為或懷疑用戶在等待響應等的事件/請求/事務等。
收件箱修剪事件(例如電子郵件或任何其它類型的消息)通常被認為是低優(yōu)先級的并且缺少其他緊迫事件,通常不會觸發(fā)在設備250上的無線使用。具體來說,如果在計劃的修剪事件時間無線電沒有另外開啟,則用來刪除舊的電子郵件或其他內容的修剪事件可以是“附帶”于其他通信的。例如,如果用戶把偏好設置為‘保持消息7天’,則不是在超過7天的那一刻打開設備無線電來從設備250啟動消息刪除,而是將消息在下次打開無線電時刪除。如果無線電功能已經(jīng)打開,則修剪可按計劃正常發(fā)生。
請求/事務管理器235可以使用請求的優(yōu)先級(如通過優(yōu)先級處理引擎241),以管理設備250輸出流量進行資源優(yōu)化(例如更有效使用設備的無線電來實現(xiàn)電池節(jié)約)。例如,如果由連接管理器265控制尚未開啟無線電,則低于某個優(yōu)先級次序的事務/請求可能不會觸發(fā)設備250上的無線電使用。與此相反,如果事務請求被檢測到在特定優(yōu)先級,無線電控制器266可打開無線電,使這樣的請求可以得到發(fā)送。
在一個實施方式中,優(yōu)先級分配(例如由本地代理275或其他設備/實體確定的)可以用來使遠程設備修改其與移動設備或無線設備進行通信的頻率。例如,可對遠程設備進行配置,以便在有更高重要性的數(shù)據(jù)要向移動設備或無線設備發(fā)送時發(fā)送通知到設備250,但在僅有低重要性數(shù)據(jù)時不發(fā)送通知。
在一個實施方式中,事務優(yōu)先級可以結合用戶活動特性被用于整形或管理流量,例如通過流量整形引擎255。例如,流量整形引擎255可等待從設備250發(fā)送低優(yōu)先級的事務,作為對檢測到用戶處于休眠狀態(tài)或非活躍狀態(tài)一段時間的響應。此外,流量整形引擎255可以允許多個低優(yōu)先級的事務進行積累來從設備250進行批量傳送(例如通過批處理模塊257)。在一個實施方式中,優(yōu)先級可以由用戶設置、配置或調整。例如,與表2中所示相同或類似形式的內容可以在設備250的用戶界面上訪問,例如由用戶使用以調節(jié)或查看優(yōu)先級。
批處理模塊257可以根據(jù)一定的標準開始批量傳輸。例如,批量傳輸(例如多次事件發(fā)生的批量傳輸,其中一些發(fā)生在不同時間)可在檢測到特定數(shù)量的低優(yōu)先級事件后、或在第一個低優(yōu)先級事件啟動后經(jīng)過一定時間之后發(fā)生。此外,批處理模塊257可以在設備250上發(fā)起或檢測到較高優(yōu)先級事件時,啟動累積起來的低優(yōu)先級事件的批量傳輸。當無線電使用因為其他原因(例如從諸如主機服務器100或300的遠程設備接收數(shù)據(jù))被觸發(fā)時,批量傳輸也可另外被啟動。在一個實施方式中,即將發(fā)生的修剪事件(收件箱修剪)或任何其他低優(yōu)先級的事件,都可以在批量傳輸發(fā)生時執(zhí)行。
在一般情況下,批處理功能可在事件/事務級、應用級或會話級基于以下任何一項或其組合被禁用或啟用:用戶配置、設備限制/設置、制造商規(guī)范、網(wǎng)絡提供商參數(shù)/限制、特定于平臺的限制/設置、設備的OS設置等。在一個實施方式中,批量傳輸可以在應用/窗口/文件被關閉、退出或移動到后臺時啟動;用戶可以選擇在批量傳輸之前接收提示;用戶也可以手動觸發(fā)批量傳輸。
在一個實施方式中,本地代理275通過在緩存285上緩存數(shù)據(jù)在本地本地調整設備250上的無線電使用。當來自設備250的請求或事務可以由存儲在緩存285中的內容來滿足時,無線電控制器266不必激活無線電來將請求發(fā)送到遠程實體(例如圖1A和3A所示的主機服務器100、圖1A和1B所示的服務器/提供商110的內容提供商/應用服務器)上去。這樣,本地代理275可以使用本地緩存285和緩存策略管理器245在本地存儲數(shù)據(jù),用以滿足數(shù)據(jù)請求,以消除或減少對設備無線電的使用,實現(xiàn)節(jié)約網(wǎng)絡資源和設備電池消耗。
在充分利用本地緩存方面,一旦請求/事務管理器225截獲設備250上應用的數(shù)據(jù)請求,本地資源庫285就可以被查詢,以確定是否有任何本地存儲的響應,并且還確定該響應是否有效。當在本地緩存285上有一個有效的響應時,該響應可被提供給設備250上的應用而無需設備250訪問蜂窩網(wǎng)絡或無線寬帶網(wǎng)絡。
如果沒有一個有效的響應,本地代理275可以查詢一個遠程代理以確定遠程存儲的響應是否有效(如,圖3A所示的服務器代理325)。如果有效,遠程存儲的響應(如,圖1B所示,其可存儲在服務器緩存135或可選的緩存服務器199之上)可以被提供給移動設備,可能無需移動設備250訪問蜂窩網(wǎng)絡,從而減輕網(wǎng)絡資源的消耗。
如果有效的緩存響應不可用,或者如果緩存響應不可用于所截取的數(shù)據(jù)請求,本地代理275,例如緩存策略管理器245,可以發(fā)送數(shù)據(jù)請求到遠程代理(如圖3A所示的服務器代理325),其將數(shù)據(jù)請求轉發(fā)到內容源(如圖1A所示的應用服務器/內容提供商110),并且自內容源的響應可以通過遠程代理來提供,并將與圖3A所示的主機服務器300聯(lián)系做進一步的描述。緩存策略管理器245可以管理或處理使用各種協(xié)議的請求,包括但不限于HTTP、HTTPS、IMAP、POP、SMTP、XMPP和/或ActiveSync。緩存策略管理器245可以把本地數(shù)據(jù)庫285中的數(shù)據(jù)請求響應作為緩存條目進行本地存儲,以隨后用于滿足相同或相似的數(shù)據(jù)請求。
緩存策略管理器245可以請求遠程代理監(jiān)視數(shù)據(jù)請求響應,而在檢測到對于數(shù)據(jù)請求的意外響應時,遠程代理可以通知設備250。在這種情況下,在被通知有對于數(shù)據(jù)請求的意外響應時(例如新的數(shù)據(jù)、改變了的數(shù)據(jù)、附加數(shù)據(jù)等)緩存策略管理器245可擦除或替換設備250上的本地存儲的響應。在一個實施方式中,緩存策略管理器245能夠檢測或識別用于特定請求的協(xié)議,包括但不限于HTTP、HTTPS、IMAP、POP、SMTP、XMPP和/或ActiveSync。在一個實施方式中,本地代理275上的特定應用的處理器(例如通過緩存策略管理器245的應用協(xié)議模塊246)允許對任何可以被端口映射到分布式代理(如圖3A所示的端口映射在代理服務器325上)中的處理器的協(xié)議進行優(yōu)化。
在一個實施方式中,本地代理275通知遠程代理,使得遠程代理可以在將結果返回至設備250之前(例如當對內容源的數(shù)據(jù)請求取得了與要返回給移動設備的結果相同的結果時),監(jiān)視接收自內容源進行數(shù)據(jù)請求的響應是否有更改的結果。在一般情況下,本地代理275可以使用本地緩存的內容為設備250上的應用模擬應用服務器響應。這能夠防止將蜂窩網(wǎng)絡的利用用于其中新的/有變化的數(shù)據(jù)不可用的事務,從而解放了網(wǎng)絡資源并防止網(wǎng)絡擁塞。
在一個實施方式中,本地代理275包括了一個應用行為檢測器236來跟蹤、檢測、觀察、監(jiān)測可在設備250上訪問或安裝的應用(例如代理感知和/或代理無感知應用210和220)。應用行為或設備250上可訪問到的一個或多個應用所檢測到行為(例如通過模式檢測器237)的模式可以由本地代理275使用,以優(yōu)化滿足這些應用的數(shù)據(jù)需求所需的無線網(wǎng)絡流量。
例如,基于多個應用被檢測到的行為,流量整形引擎255可以對齊至少由一些應用通過網(wǎng)絡(無線網(wǎng)絡)所作的內容請求(例如經(jīng)由調整模塊256)。調整模塊256可延緩或加快一些早期提出的請求以實現(xiàn)對齊。當請求被對齊時,流量整形引擎255可以利用連接管理器在網(wǎng)絡中輪詢從而滿足應用數(shù)據(jù)請求。多個應用的內容請求可以基于行為模式或規(guī)則/設置來對齊,例如包括多個應用所請求的內容類型(音頻、視頻、文本等)、設備(例如移動或無線設備)參數(shù)和/或網(wǎng)絡參數(shù)/流量狀況、網(wǎng)絡服務提供商的約束/規(guī)范等。
在一個實施方式中,模式檢測器237可檢測在多個應用中由其完成的重現(xiàn),例如可通過跟蹤應用行為中的模式進行。例如,被追蹤的模式可以包括作為后臺進程檢測應用定期、在一天的特定時間、在一周中的特定天、可預測方式的規(guī)則時間、以特定頻率、以響應于特定類型事件的特定頻率、響應于特定類型的用戶查詢、請求內容相同的頻率、做出相同請求所用的頻率、請求之間的間隔、應用發(fā)出請求或上述的任何組合輪詢一個應用服務器。
此類重現(xiàn)可以由流量整形引擎255使用,以卸載來自內容源(例如來自圖1A所示的應用/內容提供商110)內容的輪詢,該內容源將在移動設備或無線設備250上執(zhí)行的應用請求,代替的由處于設備250遠程的代理服務器(例如圖1B所示的代理服務器125或圖3A所示的代理服務器325)執(zhí)行。流量整形引擎255可以在重現(xiàn)與規(guī)則匹配時決定卸載輪詢。例如,對于具有完全相同的內容或者返回值的相同資源的多個出現(xiàn)或請求,或基于對請求和相應之間的可重復時長的檢測,諸如在白天的特定時間請求的資源。輪詢的卸載可以減少移動設備250為了重復的內容輪詢與內容源建立無線(蜂窩或其他無線寬帶)連接所需的帶寬消耗量。
作為輪詢卸載的結果,在內容源的輪詢中沒有檢測內容變化時,可提供存儲在本地緩存285上的本地緩存內容來滿足設備250上的數(shù)據(jù)請求。因此,當數(shù)據(jù)沒有變化時,應用數(shù)據(jù)的需求可以得到滿足,而無需在無線網(wǎng)絡中啟用無線電使用或占用蜂窩帶寬。當數(shù)據(jù)已經(jīng)改變和/或新數(shù)據(jù)已被接收時,輪詢被卸載到的遠程實體可以通知設備250。遠程實體可以是圖3A所示的主機服務器300。
在一個實施方式中,本地代理275可以減輕對周期?;钕ⅲㄐ奶ⅲ┑男枰?使用,以維持TCP/IP連接,這種需要/使用可能有大量功耗,從而對移動設備的電池壽命產(chǎn)生有害影響。本地代理(例如心跳管理器267)中的連接管理器265可以檢測、識別和攔截發(fā)送自應用的任何或所有心跳(?;睿┫ⅰ?/p>
心跳管理器267可以防止任何或所有這類心跳消息通過蜂窩或其他網(wǎng)絡發(fā)送,而是依靠分布式代理系統(tǒng)(例如圖1B中所示)的服務器組件生成并發(fā)送心跳消息,來維持與后端(例如圖1A例子中的應用服務器/提供商110)的連接。
本地代理275一般提供單獨管理器、模塊和/或引擎描述的功能中的任何一個或一部分。本地代理275和設備250可以包括額外或更少的組件;包括全部或部分更多或更少的功能,而不偏離本公開內容的新技術。
圖2B描繪了說明圖2A的示例中所示的緩存系統(tǒng)中的組件的另一示例的框圖。其能夠緩存和適配用于移動應用行為和/或網(wǎng)絡條件的緩存策略。
在一個實施例中,緩存策略管理器245包括元數(shù)據(jù)生成器203,緩存查找引擎205,緩存適當決策引擎246,輪詢調度生成器247,應用協(xié)議模塊248,緩存或連接選擇引擎249和/或本地緩存無效器244。緩存適當決策引擎246可以進一步包括時間預測器246a,內容預測器246b,請求分析儀246c,和/或響應分析儀246d,和緩存或連接選擇引擎249,包括一個響應調度器249a。元數(shù)據(jù)產(chǎn)生器203和/或緩存查找引擎205耦合到緩存285(或本地緩存)以修改或添加緩存條目或查詢。
緩存查找引擎205年可進一步包括ID或URI過濾器205a,本地緩存無效器244可進一步包括TTL管理器244a,和輪詢調度生成器247可進一步包括調度表更新引擎247a和/或時間調整引擎247B。緩存策略管理器245的一個實施例包括應用緩存策略庫243。在一個實施例中,應用行為探測器236包括一個模式檢測器237、輪詢間隔探測器238,應用概要文件生成器239,和/或優(yōu)先級引擎241。輪詢間隔探測器238可進一步包括長輪詢探測器238a,具有響應/請求跟蹤引擎238b。輪詢間隔探測器238可進一步包括長輪詢尋找檢測器238C。應用文件生成器239可進一步包括響應延遲間隔追蹤器239A。
模式檢測器237,應用文件生成器239,和優(yōu)先級引擎241的描述也與圖2A所描述的模式檢測器相聯(lián)系。一個實施例進一步包括應用文件存儲庫242可由本地代理275使用以存儲關于應用文件的信息或元數(shù)據(jù)(如、行為,模式,HTTP請求類型,等等)。
緩存適當決策引擎246可以檢測,評估,或者確定來自內容源(如圖1B所示的應用服務器/內容提供商110)的內容是否與移動設備250交互,并且是否具有適合緩存的內容。例如,決策引擎246可以使用關于為在移動設備250出發(fā)起的請求而被接收的請求和/或響應的信息,來確定緩存能力,潛在的可緩存性或非可緩存性。在某些情況下,決策引擎246可以初步驗證請求是否直接列入黑名單目的地或請求本身是否源于一個黑名單的客戶端或應用。如果是,額外的處理和分析可能不能被決策引擎246執(zhí)行并且請求可能被允許通過空氣發(fā)送到服務器來滿足需求。目標黑名單或應用/客戶端(如,移動應用)在本地代理處維護(例如,應用文件存儲庫242)或遠程的(如,代理服務器325或另一個實體)。
在一個實施例中,決策引擎246收集關于在移動設備250處生成的應用或客戶端請求的信息,例如經(jīng)由請求分析器246c。請求信息可以包括請求特性信息,例如包括請求方法。例如,請求方法可以指示由移動應用或客戶端生成的HTTP請求的類型。 在一個實施例中,如果請求方法是GET請求或POST請求,則對請求的響應可以被識別為可緩存的或潛在可緩存的。其他類型的請求(例如,OPTIONS,HEAD,PUT,DELETE,TRACE或CONNECT)可能會也可能不會被緩存。一般來說,具有不可緩存的請求方法的HTTP請求將不會被緩存。
請求特征信息可以進一步包括關于請求大小的信息,例如,響應體積的大小超過一定規(guī)模的請求(如,HTTP請求)將不被緩存。例如,可以確定緩存性如果請求的信息表明請求體積大小不超過特定大小。在某些情況下,最大緩存請求體積大小可以設置為8092個字節(jié)。在其他情況下,可以使用不同的值,依賴網(wǎng)絡容量或網(wǎng)絡運營商特定設置。
在某些情況下,來自給定的應用服務器/內容提供商(如,圖1B所示的服務器/內容提供商110)的內容被確定為適合基于一組標準的緩存,例如,標準指定了被內容源請求的內容的時間關鍵性。在一個實施例中,本地代理(如圖1B和圖2A所示的本地代理175或275)申請選擇標準以存儲來自主機服務器內容,主服務器被應用請求作為移動設備本地緩存上的緩存組件以滿足應用的后續(xù)請求。
緩存適當決策引擎246,進一步基于從移動設備250發(fā)送請求的檢測模式(如,通過設備250上的移動應用或其他類型的客戶端)和/或收到響應的模式,可以檢測請求或響應的可預測性。例如,決策引擎246收集的請求特征信息(如,請求分析儀246C)可以進一步包括在請求和由移動設備相同的客戶端生成的其他請求之間的周期性信息或指向相同主機的其他請求(如,具有相似或相同的檢驗參數(shù))。
周期可以被決策引擎246或請求分析儀246C周期性檢測到,當請求和由相同的客戶端生成的其他請求在一個固定速率或近似固定速率,或與一些可識別的動態(tài)速率或部分或全部可再生的變化模式下發(fā)生。如果請求是由一些可識別的模式(如,定期,間隔探測模式,或趨勢(例如,增加,減少,常數(shù)等)作出,則時間預測器246A可以確定由設備上給定的應用作出的請求,至少從時間的角度來看該應用是可預測的和可以識別潛在合適緩存的。
可識別的模式或趨勢通??梢园ㄈ魏慰梢员荒M的應用或客戶端行為,不管是否在本地。例如,在移動設備250上的本地代理275或遠程模擬,例如,由主機300上的代理服務器325,或結合本地和遠程模擬來仿真應用行為。
在一個實施例中,決策引擎246,例如,通過響應分析儀246d,可以收集信息關于響應應用或移動設備250生成的客戶端請求。響應通常接收服務器或主機的應用 (如,移動應用)或移動設備250上發(fā)送請求的客戶端。在某些實施例中,移動客戶端或應用可以是應用的移動版本(如,社交網(wǎng)絡、搜索、旅游管理器、語音信箱、聯(lián)系管理器,電子郵件)或通過web瀏覽器或桌面客戶端訪問網(wǎng)站。
例如,響應特征信息可以包括是否傳輸編碼或分塊傳輸編碼的指示用于發(fā)送響應。在某些情況下,通過傳輸編碼或分塊傳輸編碼以響應HTTP請求是不緩存的,因此也被進一步分析。分塊響應的基本原理通常是大型和非優(yōu)的,用以緩存,因為這些事物的處理可能減緩總體執(zhí)行。因此,在一個實施例中,緩存能力或潛在的緩存能力可以被確定當傳輸編碼不是用于發(fā)送響應時。
此外,響應特性信息可以包括相關狀態(tài)碼的響應,可以通過響應分析儀246d識別。在某些情況下,不可緩存狀態(tài)碼的HTTP響應通常是不能緩存的。響應分析儀246d可以從響應中提取狀態(tài)代碼和確定它是否匹配緩存或不可緩存的狀態(tài)代碼。一些緩存狀態(tài)碼包括舉例:200-好的,301-重定向,302-發(fā)現(xiàn),300-查看其他,304-不修改,307-臨時重定向,或500–內部服務器錯誤。一些不可緩存的狀態(tài)碼可以包括,例如,403-禁止或404-未找到。
在一個實施例中,可緩存性或潛在的可緩存性可以被確定,如果關于響應的信息并不表明不可緩存的狀態(tài)代碼或表明緩存狀態(tài)代碼。如果響應分析儀246d檢測到與一給定的響應相關的不可緩存的狀態(tài)代碼,具體的事物(請求/響應對)可能被排除在進一步的處理之外并且被確定為臨時的,半永久的,或永久的不可緩存的。如果這些狀態(tài)代碼表示緩存能力,事務(例如,請求和/或響應對)可能會受到進一步的處理和分析來確定緩存能力。
響應特性信息還可以包括響應大小信息。在一般情況下,響應可以緩存在本地移動設備250,如果響應不超過一定規(guī)模。在某些情況下,默認的最大緩存的響應大小設置為128KB。在其他情況下,最大可緩存的響應大小可能不同,和/或可根據(jù)運行條件,網(wǎng)絡條件,網(wǎng)絡容量,用戶偏好,網(wǎng)絡運營商的要求,或其他特定應用,特定用戶,和/或設備的具體原因進行動態(tài)調整。在一個實施例中,響應分析儀246d可以識別響應的大小,并且如果響應的大小沒有超出給定的閾值或最大值,則可以確定緩存能力或潛在的緩存能力。
此外,響應特性信息可以包括對于請求的響應的響應主體信息和對在移動設備上的同一客戶產(chǎn)生的或指向同一內容主機或應用服務器的其他請求的其他響應。用于響應的響應主體信息可以跟其他響應比較,例如,通過響應分析儀246d,以防止動態(tài)內容(或響應內容經(jīng)常變化并且不能有效地提供緩存條目,如財務數(shù)據(jù)、股票報價、新聞、實時的體育賽事活動,等)的緩存,如緩存條目服務的內容不再相關或更新。
緩存適當決策引擎246(例如,內容預測器246b)可以確定重復性或識別標志的可重復性,潛在可重復性和可預測性以響應接收到的內容源(例如,內容主機/應用服務器110如圖1A-B所示)??蓹z測到的可重復性,例如,通過追蹤至少兩個從內容源接收到的響應并確定該響應是否相同而被檢測到。例如,緩存能力可以被確定,通過響應分析儀246d,如果用于響應的響應本體信息與用同樣的手機客戶端或指向相同的主機/服務器發(fā)送的其他響應相同或基本相同。這兩種響應可能是或可能不是響應于連續(xù)請求而發(fā)送的響應。在一個實施例中,給定應用請求響應接收的哈希值可用于確定在一般和/或為特定請求的內容的可重復性(有或不具有啟發(fā))。對于一些應用或在某些情況下可能需要另外的相同響應。
重復性在收到的內容中不需要100%確定。例如,響應可以被確定為是可重復的,如果某個數(shù)字或某個百分比的響應是相同或類似的??梢栽谟赡J設置或應用基于生成的請求(例如,應用在不斷更新中是否是高度動態(tài)的,或在不頻繁更新下是少動態(tài)的)設置而選擇的時間段內追蹤特定數(shù)量或特定百分比的相同/類似響應。任何表明預測性或可重復性,或潛在可重復性,可被分布式系統(tǒng)用于緩存提供給請求應用或移動設備250上的客戶端的內容。
在一個實施例中,對于一個長輪詢請求,本地代理175可以開始在第三個請求時緩存響應,當最先兩個響應的響應延遲時間為相同時,大致相同時,或檢測到間隔增加時。在一般情況下,接收的響應的最先兩個響應應該是相同的,在確認收到第三請求的第三響應是相同的(例如,如果R0=R1=R2),第三響應可以本地緩存在移動設備上。根據(jù)應用類型、數(shù)據(jù)類型、內容類型、用戶偏好、或負載/網(wǎng)絡運營商規(guī)范,較少或更多相同的響應需要開始緩存。
對長輪詢的相同響應增加響應延遲可以表明搜索周期(例如,一個時期,在移動設備上的應用/客戶端正在尋找一個在請求和響應之間給定網(wǎng)絡允許的最長時間,時序圖顯示時序特性如圖8所示),如應用行為檢測器236的長輪詢搜索探測器238c檢測。
下述示例使用T0,T1,T2描述,其中T表示延時,在當請求被發(fā)送和當響應(如,響應標頭)被檢測/接受連續(xù)請求之間:
如上述時間序列所示,T0<T1<T2,這可能表明長輪詢的搜索模式當尚未達到或超過網(wǎng)絡超時時。此外,如果響應R0、R1和R2收到的三個請求是相同的,R2可以被緩存。在這個例子中,R2是緩存在長輪詢搜索期間無需等待長輪詢以解決,從而加快響應緩存(例如,這是可選加速緩存行為可以實現(xiàn)所有或選定的應用)。
因此,本地代理275可以指定可以從上面顯示的時間序列中提?。ㄈ纾喸儽?,輪詢間隔,輪詢類型)到代理服務器并開始緩存的信息,并開始要求代理服務器開始輪詢和監(jiān)控源(例如,使用任何T0,T1,T2作為輪詢間隔,但通常T2,或最大的檢測間隔是不定時的,并接收來自源的響應并將發(fā)送到圖3A的代理服務器325中用以使用輪詢內容源(例如,應用服務器/服務提供商310))。
然而,如果被檢測到的時間間隔被縮短,應用(例如,移動應用)/客戶端可能仍在尋找一個響應可以可靠地從內容源接收的時間間隔(例如,應用/服務器/供應商110或310),并且這樣的緩存通常不會開始,直到請求/響應間隔表示相同的時間間隔或時間間隔增加,例如,長輪詢類型請求。
下述示例使用T0,T1,T2描述,其中T表示延時,在當請求被發(fā)送和當響應(如,響應標頭)被檢測/接收連續(xù)請求之間:
如果響應延遲模式T1<T2<T3>T4被檢測到,如上述時間序列所示(例如,通過應用行為檢測器236的長輪詢搜索探測器238c檢測),可以確定的是,T3可能超出網(wǎng)絡超時并在長輪詢搜索周期之外。在 Request4(t)中,由于網(wǎng)絡、應用、服務器或其他原因,在響應發(fā)送或可用的響應之前,響應可能未接收到。Request4(t)(T4后),如果一個響應(例如,Response4(t))檢測或接收,然后本地代理275可以使用響應緩存(如果滿足內容重復性條件)。本地代理也可以使用T4作為代理服務器監(jiān)控/輪詢內容源的輪詢調度集的輪詢間隔。
注意上面的說明表明,緩存當長輪詢在檢測增加相應延時的事件中的搜索模式時開始,只要響應被接收并沒有超給定請求的時間。這可以被稱為在長輪詢搜索中的可選加速緩存。緩存也可以開始在搜索模式之后(例如,在輪詢請求已經(jīng)解決了一個常數(shù)或接近恒定的延遲值)已經(jīng)完成。請注意,搜索可能會或可能不會出現(xiàn)在長輪詢或當搜索開始時;代理275一般可以檢測到這一決定,并確定是否開始在搜索期間(對相同的響應增加時間間隔)緩存,或等待,直到找到一個穩(wěn)定值。
在一個實施例中,緩存適當決策引擎246的時間預測器246a可以追蹤時間響應,接收自應用的輸出請求(例如,移動應用)或客戶端以檢測任何可識別的模式,可以部分或完全重現(xiàn),使得本地緩存的響應可以在移動設備250上以模擬內容源(例如,應用服務器/內容提供商110或310)行為的方式提供給發(fā)出請求的客戶端。例如,該方式中(如,從時間角度)響應或內容將被傳遞到該設備250的請求應用/客戶端上。這確保用戶體驗保護當相應應用或移動客戶端請求的響應是服務于本地和/或遠程緩存,而不是直接從內容源(例如,應用,內容提供商110或310)被檢索/接收。
在一個實施例中,決策引擎246或時間預測器246a確定給定應用(例如,移動應用)或客戶端的時間特征,例如,請求/響應追蹤引擎238b和/或應用文件生成器239(例如,響應延時間隔追蹤器239a)。使用時序特征,時間預測器246a確定響應請求的內容是否合適的或是潛在適合用于緩存。例如,從一個給定的應用的連續(xù)兩個請求之間的輪詢請求間隔可以用來確定是否請求間隔是可重復的(例如,恒定的,接近恒定的,增加模式,減少模式等),可以被預測,這種重復至少有一些時間是精確或接近公差范圍內的。
在某些情況下,特定應用,應用的多個請求,或者多個應用的特定請求類型的時間特征能夠存儲在應用文件存儲庫242中。應用文件存儲庫242可以存儲任何類型的信息或元數(shù)據(jù)關于應用的請求/響應特性,包括時間模式,時間重復性,內容可重復性,等。
應用文件存儲庫242還可以存儲元數(shù)據(jù),表示用于給定應用的請求類型(例如,長時間輪詢,長期持有的HTTP請求,HTTP流,推送,可控推送,等)。應用文件表明應用的請求類型,應用可以用在后續(xù)被檢測的相同/相似的請求中,或當請求從已分類的應用中檢測。在這種方式下,給定請求類型的時間特征或特定的應用的請求被追蹤和/或分析,不需要再分析。
應用文件可與有效時間相關聯(lián)(例如,或一個默認的截止時間)。應用文件的截止時間的使用,或者對于各方面的應用或請求文件基于一個個案例。應用的有效時間或實際截止時間可以設置為默認值或單獨確定,或將其結合。應用文件也可以是特定于無線網(wǎng)絡,物理網(wǎng)絡,網(wǎng)絡運營商,或特定的運營商。
一個實施例包括應用黑名單管理器201。應用黑名單管理器201可以耦合到應用緩存策略庫243,并且可以部分或全部內部本地代理或緩存策略管理器245。同樣,黑名單管理器201可以部分或全部內部到本地代理或應用程序行為檢測器236。黑名單管理201能夠聚集,跟蹤、更新、管理、調整,或動態(tài)監(jiān)測服務器/主機的目的地列表,該目的地列表為‘黑名單’,或被永久的或暫時的標記為不緩存的。目的地黑名單,在請求中被標記時,可潛在的被用來允許請求發(fā)送到(蜂窩)網(wǎng)絡用于服務。對請求的額外處理可能不被執(zhí)行,因為它被檢測并直接列入黑名單目的地。
黑名單目的地可以在應用緩存策略庫243中通過包括特定URIs標識符或包括URI模式的標識符模式的地址標識符來確定。一般來說,黑名單目的地可以被任何一方于任何原因設置或修改,包括用戶(移動設備250所有者/使用者),設備250的操作系統(tǒng)/移動平臺,目的地本身,網(wǎng)絡運營商(蜂窩網(wǎng)絡的),網(wǎng)絡服務提供商,其他第三方,或根據(jù)知道是不可緩存的/不適合緩存的一個應用的目的地列表。基于分析或處理,目的地黑名單中的一些條目可能包括聚集的目的地,通過本地代理進行處理(例如,緩存適當決策引擎246)。
例如,在移動設備上的響應已被認定為不適合緩存的應用或移動客戶端能夠被添加到黑名單。其相應的主機/服務器可以被額外添加到或代替移動設備250上的請求應用/客戶端的標識。一些或全部由代理系統(tǒng)識別的客戶端可以添加到黑名單。例如,對于臨時被標識為不適合緩存的所有應用客戶端或應用,只有那些具有特定的檢測特征(基于時間、周期、頻率響應內容的變化,內容的可預測性,大小,等等)的應用客戶端或應用可以被列入黑名單。
黑名單條目可能包括應用請求列表或移動設備上的客戶端的請求(而不是目的地),這樣,當檢測到請求從一個給定的應用或給定的客戶端時,其可以通過網(wǎng)絡發(fā)送一個響應,由于黑名單的客戶/應用響應在大多數(shù)情況下不緩存。
一個給定的應用配置文件也可以被不同對待或處理(例如,本地代理275和遠程代理325的不同行為)取決于與移動設備相關的移動帳戶,通過它應用被訪問。例如,一個較高的付費帳戶,或首要帳戶可允許更高頻率訪問無線網(wǎng)絡或更高的帶寬余量,從而影響緩存策略在本地代理275和代理服務器325之間實現(xiàn),與資源保護相比具有更好的性能。一個給定的應用配置文件在不同的無線網(wǎng)絡條件下可能被不同對待或被不同處理(例如,基于擁塞或網(wǎng)絡中斷,等)。
注意,緩存適當性可以為了移動設備250上的多個客戶端或應用而被確定、追蹤和管理。緩存適當性也可以為了,由移動設備250的上給定的客戶端或應用發(fā)起的不同請求或請求類型而被確定。緩存策略管理器245,隨著時間預測器246a和/或內容預測器246b試探性地確定或估計預測性或潛在的可預測性,可以追蹤,管理和存儲緩存信息,針對不同應用或給定應用的不同請求。緩存信息也可能包括條件(例如,應用可以在一天中的特定時間被緩存,或一個星期的特定幾天,或給定應用的特定請求可以被緩存,或給定目標地址的所有請求可以被緩存),在這些條件下緩存是合適的,其可以被緩存適當決策引擎246確定和/或追蹤并且在適當時在耦合到緩存適當決策引擎246的應用緩存策略庫243中被存儲和/或更新。
當檢測到相同的請求時,可以在后續(xù)使用應用緩存策略庫243中的關于請求,應用,和/或相關條件的可緩存性的信息。在這種方式下,決策引擎246或時間和內容的預測246a/b不需要跟蹤和分析請求/響應時間和內容特征做出關于緩存能力評估。此外,在某些情況下,緩存信息可以直接通信或通過主機服務器(例如,代理服務器325服務器300)與其他移動設備的本地代理服務器共享。
例如,各種移動設備上的本地代理275檢測的緩存信息可以被發(fā)送到遠程主機服務器或主機服務器的代理服務器325上(如圖3A所示的主機服務器300或代理服務器325,圖1A-B所示的主機100和代理服務器125)。遠程主機或代理服務器可以分發(fā)關于特定于應用的信息,特定請求的緩存信息和/或任何相關條件到各種移動設備或無線網(wǎng)絡中的本地代理或多個無線網(wǎng)絡的本地代理(相同服務供應商或多個無線服務提供商),供其使用。
在一般情況下,緩存的選擇標準可以進一步包括,例如但不限于,表明是否移動設備是活躍的或不活躍的移動設備狀態(tài),網(wǎng)絡條件,和/或無線電覆蓋統(tǒng)計。緩存適當決策引擎246可以是任何一個或任何組合的標準,并以任何順序,確定緩存可能合適的來源。
一旦應用服務器/內容提供商識別或檢測到內容,該內容適合于移動設備250的本地緩存,則緩存策略管理器245可以處理緩存相關的內容,該內容接收于識別源,該識別源通過存儲從內容源接收的內容作為本地緩存中的緩存組件(例如,本地緩存185或285分別如圖1B和圖2A所示)在移動裝置250上。
響應可以作為緩存條目被存儲在緩存285(例如,也稱為的本地緩存)。處理對請求的響應請之外,緩存的條目可以包括具有關于響應的緩存的附加信息的響應元數(shù)據(jù)。元數(shù)據(jù)可能是元數(shù)據(jù)產(chǎn)生器203產(chǎn)生的并包含,例如定時數(shù)據(jù),諸如緩存的訪問時間或者緩存的創(chuàng)造時間。元數(shù)據(jù)可以包括附加信息,例如適合用于確定作為緩存條目被存儲的響應是否被用于滿足后續(xù)響應的任何信息。例如,元數(shù)據(jù)信息可以進一步包括,請求定時歷史(例如,包括請求時間,請求開始時間,請求結束時間),哈希的請求和/或響應,時間間隔或時間間隔的變化等。
緩存條目通常存儲在與有效時間(TTL)關聯(lián)的緩存285中,例如,其由緩存無效器244的TTL管理器244a指定或確定。緩存條目的有效時間是條目在緩存285中維持的總時間,不管該響應是否仍然有效,或是否與在移動設備250上的給定請求或客戶端/應用程序相關。例如,如果給定緩存條目的有效時間設置為12小時,緩存被清除,刪除,或以其他方式表明有超過有效時間,即使響應本身仍然包含在條目中并且適用相關請求。
默認的有效時間可以自動使用所有條目,除非另有規(guī)定(例如,由TTL管理器244a),或每個緩存條目可以用其個別的TTL創(chuàng)建(例如,由TTL管理器244a基于各種動態(tài)或靜態(tài)標準被確定)。請注意,每個條目都可以有一個單獨的時間與響應數(shù)據(jù)和任何相關的元數(shù)據(jù)關聯(lián)。在某些情況下,相關的元數(shù)據(jù)可能與響應的數(shù)據(jù)有不同的有效時間(例如,一個較長的有效時間)。
具有用于緩存的內容源可以另外或可替代的,被確定為遠程的并且與移動設備250進行無線通信的代理服務器(例如,分別示出在圖1B和圖3A中的代理服務器125或325),使得代理服務器能夠監(jiān)控內容源(例如,應用服務器/內容提供商110)。同樣,本地代理(例如,分別示出在圖1B和圖2A中的本地代理175或275)可以向代理服務器標志從一個特定的應用服務器/內容提供商接收到的內容作為緩存組件被存儲在本地緩存285中。
一旦內容被本地緩存,緩存策略管理器245,在接收以接觸應用服務器/內容主機(例如,110或310)的將來的輪詢請求時,可以從本地緩存檢索緩存的元素,以響應在移動設備的輪詢請求,使得移動設備無線電未激活的服務于輪詢請求。例如,緩存查找引擎205可以查詢緩存285以確定要響應于響應的響應。響應可以從緩存中提供響應來識別匹配的緩存條目,也可以使用存儲在緩存中的響應的任何元數(shù)據(jù)。緩存條目可以通過一個請求的URI或另一種類型的標識符(例如,通過ID或URI過濾器205A)的緩存查找引擎被查詢。緩存查找引擎205可以進一步使用存儲在匹配的緩存中的元數(shù)據(jù)(例如,提取任何時間信息或其他相關信息),以確定是否響應仍然是適合于使用在當前請求服務。
注意到,該緩存查找可以通過引擎205使用多種策略中的一個或多個來執(zhí)行。在一個實施例中,多個查找策略可以在存儲在緩存285中的每個條目中順序執(zhí)行,直到至少有一個策略識別道一匹配的緩存條目。用于執(zhí)行緩存查找的策略可以包括一個嚴格匹配標準或允許非匹配參數(shù)的匹配標準。
例如,查找引擎205執(zhí)行嚴格的匹配策略,其搜索在代理嘗試標識緩存條目的當前請求中引用的標識符(例如,主機或資源的URI)與同緩存條目一起存儲的標識符之間的精確匹配。在這種情況下,標識符包括URIs或URLs,嚴格匹配的匹配算法將搜索緩存條目,其中所有參數(shù)屬于URLs匹配。例如:
例1
1.緩存包含條目http://test.com/products/
2.請求被產(chǎn)生至URI http://test.com/products/
嚴格的策略會找到一個匹配,因為兩個URI是相同的。
例2
1.緩存包含條目
2.請求被產(chǎn)生至
在上述嚴格的策略下,因為URIs不同于查詢參數(shù),匹配不會被發(fā)現(xiàn)。
在另一個例子中,查找引擎205查找一個緩存條目,該標識符部分匹配當前請求中引用的標識符,該代理試圖找出匹配的緩存條目。例如,查找引擎205可以通過查詢具有標識符的緩存條目,該標識符不同于通過查詢參數(shù)值的請求標識符。利用該策略,查找引擎205可以收集用于多個先前的請求的信息(例如,標識符的任意參數(shù)列表)以在稍后檢查在當前的請求中檢測任意參數(shù)。例如,在緩存條目與URI或URL標識符一起被存儲的情況下,查詢引擎搜索具有與查詢參數(shù)不同的URI的緩存條目。如果找到,則引擎205可以檢查在先前的請求期間收集的信息(例如任意參數(shù)列表)的緩存條目,并檢查在當前URI/URL中檢測到的或從當前的URI/URL提取的任意參數(shù)是否屬于任意參數(shù)列表。
例1
1.緩存包含條目,其中查詢被標記為任意的。
2.請求被產(chǎn)生至
匹配將會被找到,因為查詢參數(shù)被標記為任意的。
例2
1.緩存包含條目,其中查詢?yōu)闃擞洖槿我獾摹?/p>
2.請求被產(chǎn)生至
匹配將不會被找到,因為當前請求包含在緩存條目中沒有被標記為任意的排序參數(shù)
檢測緩存命中的附加策略可以被利用。這些策略可以單獨使用或在任何組合中實現(xiàn)。當這些策略中的任何一個決定匹配時,可以確定緩存命中率。當查找引擎205確定所請求的數(shù)據(jù)不能從緩存285中送達時,因為任何原因,可能會顯示一個緩存未命中。例如,沒有為任何或所有使用的查找策略標識緩存條目時,可確定緩存未命中。
當匹配的緩存條目存在,但被確定為無效或與當前請求不相關時,也可以被確定為緩存未命中。例如,查找引擎205可以進一步分析元數(shù)據(jù)(例如,它可能包括與匹配的緩存條目相關聯(lián)的緩存條目的時間數(shù)據(jù)),以確定它是否仍然適合用于響應當前的請求。
當查找引擎205已確定緩存命中(例如,表示所請求的數(shù)據(jù)可以從緩存中送達),在匹配的緩存條目中存儲的響應可以被緩存服務來滿足應用/客戶端的請求。
通過使用存儲在緩存285的緩存條目來服務請求,網(wǎng)絡帶寬和其他資源不需要用于請求/接收可能沒有從已在移動設備250上接收到的響應改變的輪詢響應。通過在本地緩存285中的緩存條目如此本地的服務和實現(xiàn)應用(例如,移動應用)請求允許更有效的資源和移動網(wǎng)絡流量的利用以及管理,因為不需要通過進一步消耗帶寬的無線網(wǎng)絡發(fā)送請求。在一般情況下,緩存285可以維持移動設備250電源開啟/關閉之間,并跨越應用/客戶端保持刷新和重新啟動。
例如,本地代理275,一旦收到來自其移動設備250或移動設備250上的應用或其他類型客戶的輸出請求,可以攔截請求并確定是否允許在移動設備250上的本地緩存285中緩存響應。如果允許,本地代理275使用在移動設備的緩存中的緩存響應來響應輸出請求。因此,發(fā)出的請求可以被滿足,而不需要通過無線網(wǎng)絡發(fā)送請求,從而節(jié)約網(wǎng)絡資源和電池消耗。
在一個實施例中,對設備250上請求應用/客戶端的響應被定時為對應于內容服務器將通過持久連接對輸出請求進行相應的方式(例如,通過持續(xù)的連接,或長期保持的HTTP連接,長輪詢式連接,其將在沒有本地代理的情況下被建立)。響應時間可以通過由本地代理275效仿和模擬來保存應用的行為,由此最終用戶體驗不受影響,或者最小化來自本地緩存285的提供存儲內容的影響,相較于將要從內容源(例如,內容主機/應用服務器110的圖1A-B)收到的新內容的影響。可在公差參數(shù)內精確的復制或估計定時,其可以被用戶忽視或被應用類似的處理,從而不會導致出現(xiàn)操作問題。
例如,輸出請求可以是一個針對內容服務器(例如,應用服務器/內容提供商的圖1A-1B實例)的持續(xù)連接請求。在與一個內容源(服務器)持久連接(例如,長輪詢,COMET式推送或異步HTTP請求中的任何其他推送模擬,長期持有的HTTP請求,HTTP流媒體,或其他)中,連接在請求被發(fā)送后將保持一段時間。在移動設備和服務器之間的連接通常持續(xù)到內容被允許從服務器發(fā)送到移動設備。因此,當一個長輪詢請求發(fā)送和接收來自內容源的響應時,通常會有一些延遲時間。如果該內容源在一段時間內沒有提供響應,則該連接也可能由于網(wǎng)絡原因未發(fā)送響應而終止(例如,套接字關閉)。
因此,為了模擬從內容服務器經(jīng)持續(xù)連接(例如,長輪詢方式連接)發(fā)送的響應,對內容服務器響應的方式可以通過允許在具有緩存的響應的輸出請求之前經(jīng)過的一段時間間隔來模擬。例如,時間間隔的長度可以基于請求的請求或基于應用的應用(基于客戶端的客戶端)確定。
在一個實施例中,根據(jù)在移動設備上的應用的請求特征(例如,時間特性)來確定時間間隔,該應用來自原始輸出請求。例如,查詢請求的時間間隔(例如,它可以被追蹤,檢測,并通過輪詢間隔探測器238的長輪詢探測器238a確定)可以用來確定在響應本地緩存條目的請求和由響應調度器249a管理之前的等待時間間隔。
緩存策略管理器245的一個實施例包括一個輪詢調度生成器247,它可以為移動設備250上的一個或多個應用生成輪詢調度。一個物理上可區(qū)分的和/或與移動設備250分離的實體可以利用輪詢調度指定輪詢間隔,該輪詢間隔用于代表移動設備監(jiān)視一個或多個應用的內容源(因此,緩存的響應可以通過定期輪詢被直接請求的主機服務器(主機服務器110或310)被驗證)。舉一個例子,代理服務器(例如,代理服務器125或325在圖1B和圖3B-C實例)就是可以在移動設備250上的監(jiān)控內容源的這樣一個外部實體。
如根據(jù)移動設備向內容源的輪詢請求之間的間隔,可以確定輪詢調度(例如,包括輪詢的速率/頻率)。在移動設備250(由本地代理)可以確定輪詢時間或速率。在一個實施例中,該應用行為檢測器236中的輪詢間隔檢測器238可以監(jiān)視來自移動設備250的內容源的輪詢請求,以確定任何或所有應用(例如,移動應用)的輪詢請求之間的間隔。
舉例來說,輪詢間隔探測器238可以在設備250上為應用或客戶端追蹤請求和響應。在一個實施例中,在檢測到由移動設備250上的應用(例如,移動應用)由相同的移動客戶端或應用(如移動應用)發(fā)起的輸出請求之前,跟蹤連續(xù)請求??梢允褂脧捻憫彺嬲埱笾惺占恼埱笮畔泶_定輪詢速率。在一個實施例中,該速率是由相同客戶端生成的請求產(chǎn)生的在先請求之間的平均時間間隔來確定的。例如,第一個間隔可以在當前請求和先前請求之間計算,第二個間隔可以在兩個先前請求之間計算。輪詢速率可以由第一個間隔和第二個間隔的平均值被設置,并在設置緩存策略時發(fā)送到代理服務器。
可以在生成平均值時計算替代間隔;例如,除了兩個以前的請求外,可以使用多個先前的請求,并且可以在計算平均值中使用兩個以上的時間間隔。在一般情況下,計算時間間隔中,一個給定的請求不必導致從主機服務器/內容源接收的響應,以便使用它進行時間間隔計算。也就是說,只要該請求被檢測到,即使發(fā)送請求失敗,或者響應檢索失敗,使用給定請求的時間特性都可以用來計算時間間隔。
輪詢進度生成器247的一個實施例,包括一個調度更新引擎247a和/或時間調整引擎247b。調度更新引擎247a可以根據(jù)檢測到從設備250上的客戶端或應用(例如,移動應用)生成的實際請求的間隔變化來確定給定的應用服務器/內容主機的速率或輪詢間隔從預先設定的值進行更新的需要。
舉例來說,現(xiàn)在可以以不同的請求間隔從應用(例如,移動應用)或客戶端發(fā)送確定了監(jiān)測速率的請求。調度更新引擎247a可以確定實際請求的更新的輪詢間隔并且生成不同于先前設定的速率的新速率,以代表移動設備250輪詢主機。在蜂窩網(wǎng)絡中,更新輪詢速率可以傳送到遠程代理服務器(代理服務器325),用于遠程代理來監(jiān)視給定的主機。在某些情況下,更新輪詢速率可以在遠程代理或監(jiān)測主機的遠程實體上確定。
在一個實施例中,時間調整引擎247b可以進一步優(yōu)化輪詢調度生成以監(jiān)控應用服務器/內容源(110或310)。例如,時間調整引擎247b可以任意指定一個時間開始對代理服務器輪詢。例如,除了設置代理服務器的輪詢間隔以監(jiān)測應用,服務器/內容主機還可以指定在移動客戶端/應用生成實際請求的時間。
然而,在某些情況下,由于固有傳輸延遲或增加的網(wǎng)絡延遲或其他類型的延遲,遠程代理服務器接收來自本地代理的具有一些延時(例如,幾分鐘,幾秒)的輪詢設置。這具有在移動客戶端/應用生成請求之后在源處檢測的響應變化的效果,其導致當響應不再是當前或有效而被再次被提供給應用之后發(fā)生緩存響應的無效。這種差異進一步在圖21的數(shù)據(jù)時間圖中解釋說明。
為了解決這個在其無效之前再次服務于過期內容的非最優(yōu)結果,時間調整引擎247b可以指定除了速率之外的輪詢應該開始的時間(t0),當通過移動的應用/客戶端產(chǎn)生請求時,指定的初始時間t0可以被指定作為代理服務器325的時間,這個時間比移動應用/客戶端產(chǎn)生請求的實際時間要少。這種方式,所述服務器在移動客戶端產(chǎn)生實際請求之前對資源稍作輪詢,以至任何內容的變化都可以在真實的應用請求之前被檢測到。這可以防止在提供新內容之前再次提供無效或不相關的過時的內容/響應。
在一個實施例中,檢測來自于一個移動設備250的輸出請求,來完成在來自于移動設備250上同樣應用或者客戶端的在先請求的時間特性基礎上的持續(xù)連接(例如一個長輪詢、COMET式推送和長期保持(HTTP)請求)。例如,請求和/或通訊響應可以通過輪詢間隔檢測器238的長輪詢檢測器238a的請求/響應追蹤引擎238b追蹤到。
連續(xù)請求的時間特性可以被確定以為應用或者客戶端建立一個輪詢調度。所述輪詢調度可以用于監(jiān)控內容源(內容源/應用服務器)的內容變化,這樣,移動設備250中儲存于本地緩存的緩存內容可以被恰當管理(例如被更新或者被丟棄)。在一個實施例中,所述時間特性可包括,例如響應延遲時間(‘D’)和/或空閑時間(‘IT’)。
在一個實施例中,請求/響應追蹤引擎238b可以追蹤請求和響應來終止、計算和/或判斷應用或者客戶端請求的時序圖。
例如,請求/響應追蹤引擎238b發(fā)現(xiàn)由所述移動設備上的客戶端發(fā)出的第一請求(請求0)和在接收到響應之后由所述移動設備上的所述客戶端發(fā)出的第二請求(請求1)在移動設備處響應于第一請求,第二請求在所述移動設備接收到第一請求之后。
在一個實施例中,請求/響應追蹤引擎238b可以追蹤請求和響應來終止、計算和/或判斷應用或者客戶端請求的時序圖。所述請求/響應追蹤引擎238b可發(fā)現(xiàn)由所述移動設備上的客戶端發(fā)出的第一請求和由所述移動設備上的所述客戶端在響應于第一請求的響應在移動設備處被接收后發(fā)出的第二請求。第二請求在所述移動設備接收到第一請求之后。
所述請求/響應追蹤引擎238b還進一步確定第一、第二請求和對所述第一請求的響應被接收之間的相對時間。一般地,所述相對時間可以被長輪詢檢測器238a用來確定應用生成的請求是否為長輪詢請求。
請注意,所述請求/響應追蹤引擎238b在計算相對時間所用到的第一和第二請求是在長輪詢搜索周期結束之后或者長輪詢搜索周期并沒有出現(xiàn)的情況下被選擇使用。
在一個實施例中,長輪詢搜索檢測器238c可以通過識別增加的請求間隔(例如增加的延遲)來識別或者發(fā)現(xiàn)搜索模式,所述長輪詢檢測器238a還可以通過檢測沒有響應的請求(例如連接超時)之前為增加的請求間隔,或者通過檢測間隔的減小之前為增加的請求間隔來發(fā)現(xiàn)搜索模式。另外,長輪詢搜索檢測器238c可以將一個濾值或者一個閾值應用到請求-響應時間延遲值(例如一個絕對值),當檢測到的延遲大于這個值時可以被考慮為一個長輪詢請求-響應延遲。所述濾值可具有長輪詢和/或網(wǎng)絡條件(例如2s、5s、10s、15s、20s等)的任何適合的特征值,并且可以用作濾波器或閾值。
所述響應延遲時間('D')是指在一個請求發(fā)出之后接收到響應的起始時間,所述空閑是指在所述響應被接收到之后發(fā)出后續(xù)請求的時間。在一個實施例中,基于響應延遲時間相對('D')或者('D')的平均值(例如任何時間周期的任何平均值)與空閑時間('IT')的比較(例如通過追蹤引擎238b完成的)檢測到輸出請求是針對持續(xù)連接的,例如,通過長輪詢檢測器238a。用于平均的數(shù)量可以是確定的、動態(tài)調整的或者在很長一段時間內是變化的。例如,如果請求延遲時間間隔大于空閑時間間隔(D>IT或者D>>IT),客戶端發(fā)起的請求被判定是長輪詢請求。在一個實施例中,所述長輪詢檢測的所述追蹤引擎238b計算、確定或者估算請求延遲時間間隔,該延遲時間間隔作為第一請求和起始檢測或完全接收到響應的時間之間經(jīng)過的時間。
在一個實施例中,當在持續(xù)連接之后所述空閑時間(‘IT’)變短時,檢測到針對持續(xù)連接的輸出請求,其被建立以響應長輪詢請求或者長輪詢HTTP請求,例如,還可以表現(xiàn)為檢測在接收到在先請求(例如IT~0)的響應之后立即或者幾乎立即發(fā)出的后續(xù)請求。同樣地,所述空閑時間(‘IT’)還可以用于檢測這種立即的或者幾乎立即的再請求來識別長輪詢請求。所述追蹤引擎238b決定的相對或者絕對時間用于確定第二請求是否是第一請求的響應被接收后的立即或者幾乎立即的再請求。例如,如果D+RT+IT~D+RT,則由于IT的值比較小,請求可能被分類為長輪詢請求,以維持準確性。如果IT小于閾值,則可能被確定為小值。注意閾值可能是固定的或者通過一個限定的時間期限(一段、一天、一個月等)計算出來的或者通過一個更長的時間期限(幾個月或者分析的全程)計算出來的。例如,對于每個請求,平均IT可以被確定,并利用這個平均IT來確定閾值(例如平均IT減去一個特定百分比可能得到閾值)。這可以允許閾值隨著時間的推移自動適應網(wǎng)絡環(huán)境,并改變其服務器性能、可用資源或者服務器響應。一個固定的閾值可采用包括例子里的但不局限于此(例如1s、2s、3s、….等)的任何值。
在一個是實施例中,長輪詢檢測器238a可以比較相對時間(由跟蹤引擎238b確定的)和其他應用的請求-響應時間特性,以便確定應用的請求是否是長輪詢請求。例如,如果響應延遲間隔時間(‘D’)或者平均響應延遲間隔時間(例如以請求數(shù)x或時間量x平均的任何數(shù)量的延遲間隔)比閾值要大,則一個客戶端或者應用發(fā)出的請求可用確定為長輪詢請求。
所述閾值可以通過其它客戶端的發(fā)出的請求的響應延遲間隔時間來確定,例如,通過請求/響應追蹤引擎238b或者通過應用配置文件生成器239(例如響應延遲間隔時間追蹤器239a)。其它客戶端可能屬于相同的移動設備,其閾值通過移動設備的組件來在本地確定。例如,可以在所有網(wǎng)絡的所有資源服務器上為所有請求來確定閾值。例如,這個閾值可以被設定為一個特定的常量(例如30秒),用于所有請求或者沒有一個可適用的閾值(例如如果D大于30秒,檢測到長輪詢)的任何請求。
在某些實施例中,其它的客戶端屬于不同的移動設備,并且閾值可用通過一個代理服務器(例如圖3A-B中所顯示的主機300的代理服務器325)來確定,這個代理服務器是所述移動設備外部的并且能夠通過無線網(wǎng)絡與多臺不同的移動設備相通訊,參照圖3B將做進一步描述。
在一個實施例中,緩存策略管理器245將輪詢調度發(fā)送給代理服務器(例如圖1B和圖3A例子里的代理服務器125或者325),可用于代理服務器監(jiān)控內容源,例如,改變的或者新的內容(更新與請求或者應用相關聯(lián)的緩存響應不同的響應)。發(fā)送給代理服務器的輪詢調度可包括多種時間參數(shù),時間參數(shù)包含有但不限制于間隔(從請求1到請求2的時間)或者間隔外的時間(等待響應的時間,例如所用到的長輪詢)。時間間隔‘RI’、‘D’、‘RT’和/或‘IT’或者上述數(shù)值的一些統(tǒng)計學處理(例如平均值、標準偏差等)將全部或者部分送至所述代理服務器。
例如,當本地代理服務器275發(fā)現(xiàn)一個長輪詢的情況下,請求/響應時序中的各種不同時間間隔(例如‘D’、RT’和/或‘IT’)被送至代理服務器325以用于輪詢內容源(例如應用服務器/內容主機110)。本地代理服務器275可以為代理服務器325標識,要監(jiān)控的給定應用或者請求是一個長輪詢請求(例如指示所述代理服務器設置一個“長輪詢標志”)。另外,當代表移動設備發(fā)送持續(xù)連接跡象時,所述代理服務器利用各種時間間隔來確定。
當檢測到來自于應用服務器/內容源的新的或者變化的數(shù)據(jù)(例如,更新的響應)時,緩存策略管理器245的本地緩存無效驗證器244可以使本地高速緩存存儲器里的緩存元素對于給定請求無效?;诮邮盏絹碜杂诖矸掌?例如代理服務器325或者主機服務器300)的通知的輸出請求,緩存響應可以被確定為無效的。給移動客戶端的請求提供響應的來源可以被監(jiān)控到,來確定儲存于移動設備250的儲存器里的用于請求的存儲響應的相關性。例如,當所述儲存響應對給定的請求或者給定的應用不再有效時,本地緩存無效驗證器244可以進一步移動/刪除來自于移動設備的儲存器的所述儲存響應。
在一個實施例中,所述緩存響應在再一次被提供給一個生成輸出請求的應用,并確定所述緩存響應不再有效之后,從緩存中移除。所述緩存響應可以在沒有等待時間間隔或者有等待時間間隔后被再次提供(例如模擬長輪詢里的響應延遲的特定的時間間隔)。在一個實施例中,所述時間間隔是指響應延遲‘D’或者兩個或更多響應延遲‘D’的平均值。
新的或者變化的數(shù)據(jù)可以,例如,被代理服務器(例如圖1B和圖3A例子里的代理服務器125或者325)所檢測到。當一個提供給發(fā)送出的請求/輪詢的緩存條目被無效,用于移動設備250的無線電可以啟用來滿足隨后的輪詢請求,參考圖4B中的相互作用圖表作進一步描述。
緩存策略管理器245的一個實施例包括一個緩沖器或者一個連接選擇引擎249,能夠通過一個應用或者窗口小部件來決定是否用本地緩存條目來滿足移動設備250的輪詢/內容請求。例如,本地代理服務器275或者緩存策略管理器245可以攔截移動設備上的應用(例如,移動應用)發(fā)出的輪詢請求,來聯(lián)系應用服務器/內容提供商。選擇引擎249可確定攔截的請求接收到的內容是否作為緩存元素被儲存,以決定移動設備的無線電是否需要激活來滿足應用(例如,移動應用)發(fā)出的請求,還確定緩存響應是否對使用該緩存響應的在輸出請求響應之前的輸出請求響應仍然有效。
在一個實施例中,所述本地代理服務器275,對相關緩存內容的存在并且仍然有效的確定進行響應,可以從本地緩存中重新檢索復緩存元素為產(chǎn)生長輪詢請求的應用(如,移動應用)提供響應,因此移動設備的無線電沒有被激活用以提供對應用(例如,移動應用)響應。一般地,本地代理服務器275為接收到的任何時候的輸出請求持續(xù)提供緩存響應直到檢測到不同于緩存響應的更新的響應。
當確定了緩存響應不再有效,針對給定請求的一個新的請求通過無線網(wǎng)絡傳送以用于更新的響應。這個請求可以被傳送至應用服務器/內容提供商(例如服務器/主機110)或者主機服務器(例如主機300上的代理服務器325)上的代理服務器,為了新的或者更新的響應。在一個實施例中,如果在時間間隔內新的響應沒有被接收到,移動設備上緩存的緩存響應被移除之前,可以作為輸出請求的響應被再次提供。
圖2C描述了在圖2A中所示的分布式代理系統(tǒng)的客戶端的本地代理服務器275中的應用行為檢測器236和緩存策略管理器245中組件的另一個例子的說明。圖示的應用行為檢測器236和緩存策略管理器245,例如,能夠使本地代理服務器275檢測到緩存失敗,并執(zhí)行由指向失敗緩存的標識符尋址的內容的緩存。
在一個實施例中,緩存策略管理器245包括一個緩存失敗解決引擎221、一個標識符成型器211、一個緩存適當決策引擎246、一個輪詢調度發(fā)生器247、一個應用協(xié)議模塊248、具有一個緩存查詢模塊229的緩存或者連接選擇引擎249、和/或一個本地緩存失效器244。所述緩存失敗解決引擎221進一步包括一種模式提取模塊222和/或緩存失敗參數(shù)檢測器223。所述緩存失敗參數(shù)檢測器223進一步包括一個隨機參數(shù)檢測器224和/或一個時間/日期參數(shù)檢測器226。一個實施例中進一步包括耦合至所述決策引擎246的應用緩存策略儲存庫243。
在一個實施例中,所述應用行為檢測器236包括一個模式檢測器237、一個輪詢間隔檢測器238、應用配置文件生成器239和/或一個優(yōu)先級引擎241。所述模式檢測器237進一步包括一個緩存失敗參數(shù)檢測器223,也具有,例如,一個隨機參數(shù)檢測器233和/或一個時間/日期參數(shù)檢測器234。一個實施例中,進一步包括一個耦合至所述應用配置文件生成器239的應用策略儲存庫242。所述應用配置文件生成器239和所述優(yōu)先級引擎241已經(jīng)在圖2A中與所述應用行為檢測器236的相聯(lián)系的描述了。
所述緩存失敗解決引擎221可檢測、識別、追蹤、管理和/或監(jiān)控采用標識符和/或被標識符(例如如URLs和/或URIs的資源識別器)尋址的內容或內容源(例如服務器或主機)的一個或多個使得機制,該機制使得緩存失敗或者旨在使得緩存失敗。所述緩存失敗解決引擎221可以,例如,檢測來自于應用或者客戶端生成的,標識失敗或者可能的失敗緩存的給定數(shù)據(jù)請求,其中所述數(shù)據(jù)請求另外尋址來自主機或服務器(例如應用服務器/內容主機110或者310)的可緩存的內容或響應。
在一個實施例中,所述緩存失敗解決引擎221采用移動設備250檢測到的數(shù)據(jù)請求的標識符檢測或者識別內容源(例如應用服務器/內容主機110或者310)使用的緩存失敗機制。所述緩存失敗解決引擎221可檢測或者識別標識符中可顯示緩存失敗機制的參數(shù)。例如,參數(shù)的格式、排列或者模式可以用于鑒定緩存失?。ɡ缒J教崛∧K222檢測或提取的模式、格式或排列)。
所述模式提取模塊222可分析進入多個參數(shù)或者組件中的標識符,并執(zhí)行每個參數(shù)相匹配的算法來識別任何一個或多個預先確定的格式(例如日期和/時間格式,如圖7中所舉例的參數(shù)702)。例如,從標識符得到的相匹配的或者被解析出的參數(shù)可以用來(例如通過緩存失敗參數(shù)檢測器223)識別緩存失敗參數(shù),這里含有一個或者多個變化參數(shù)。
所述緩存失敗參數(shù)檢測器223,在一個實施例中,可檢測隨機參數(shù)(例如通過隨機參數(shù)檢測器224)和/或時間和/或日期參數(shù),這些代表性地用于緩存失敗。所述緩存失敗參數(shù)檢測器223可采用普通使用的格式檢測隨機參數(shù)(例如圖7中所描述的參數(shù)752)和/或時間/日期,并執(zhí)行模式匹配和測試。
除了檢測模式、格式、和/或排列,所述緩存失敗參數(shù)檢測器還能進一步確定或證實一個給定的參數(shù)是否緩存失敗和尋址內容能否被分布式緩存系統(tǒng)緩存下來。所述緩存失敗參數(shù)檢測器可以通過分析收到的被給定數(shù)據(jù)請求利用的標識符的響應來檢測它??傊攲诙鄠€數(shù)據(jù)請求的響應相同的時候,標識符中變化參數(shù)被標記以指示緩存失敗,即使當該多個數(shù)據(jù)請求使用對于多個數(shù)據(jù)請求中的每一個不同的變化參數(shù)的標識符。
例如,至少需要兩個相同的響應來確定指示緩存失敗的變化參數(shù)。在某些情況下,可能需要至少三個相同的響應。確定給定請求之間的不同參數(shù)值緩存失敗的相同響應的數(shù)量需求可能是特定應用程序的、情境依賴的、和/或用戶依賴的/用戶指定的,或者是以上內容的組合。這樣的需求也可能是通過分布式緩存系統(tǒng)靜態(tài)或動態(tài)調整的,以滿足特定的性能閾值和/或關于用戶體驗的顯式/隱式體驗。(例如,用戶或應用是否收到響應請求的相關/新鮮內容)??赡苄枰嘞嗤捻憫獊泶_認緩存失敗,或者如果應用由于響應緩存而開始出現(xiàn)故障和/或是否用戶表示不滿(顯式用戶反饋),系統(tǒng)將給定參數(shù)視為用于緩存失敗,或系統(tǒng)檢測到用戶的失望(隱式用戶提示)。
緩存適當決策引擎246能夠檢測、評估或決定內容來源(例如,圖1B中的應用服務器/內容提供商110)的內容是否與移動設備交互,是否有適于緩存的內容。在某些情況下,基于一組標準(例如,指定正從內容源中被請求的內容的時間關鍵性的標準),確定來自于給定應用服務器/內容提供商的內容(例如圖1B中的服務器/提供商)適于緩存。在一個實施例中,所述本地代理(例如,圖1B和圖2A中的本地代理175或275)申請一個選擇標準來儲存來自主機服務器的內容,該內容被應用請求作為移動設備上本地緩存的已緩存元素,以此來滿足應用的后續(xù)請求。
所述選擇標準也可以包括,舉例來說(但不作為限制),指示移動設備是否活躍或不活躍的移動設備的狀態(tài),網(wǎng)絡狀況,和/或無線電覆蓋統(tǒng)計。緩存適當決策引擎能夠以標準中的任意一個或任意組合,以任一順序,識別適于緩存的來源。
一旦應用服務器/內容提供商識別或檢測到移動設備250上潛在適于本地緩存的內容,所述緩存策略管理器245可以通過將從內容源接收的內容作為緩存元素存儲在移動設備250的本地緩存(例如,圖1B和圖2A中分別顯示的本地緩存185或285)中來繼續(xù)緩存從所標識的源接收的相關內容。所述內容源也可以被與移動設備遠程無線連接的代理服務器(例如,圖1B和圖3A例子中顯示的代理服務器125或325)識別,這樣所述代理服務器能夠監(jiān)控所述內容源(例如,應用服務器/內容提供商)新的或改變了的數(shù)據(jù)。同樣的,代理服務器可以識別本地代理(例如,圖1B和圖2A分別顯示的本地代理175或275),這樣來自特定應用服務器/內容提供商的內容被儲存為本地緩存中的已緩存元素。
在一個實施例中,緩存元素被儲存在本地緩存中與一個標準化版本的標識符相聯(lián)系,標識符使用一個或多個參數(shù)用于緩存失敗。標識符可以通過標識符標準化模塊來標準化,標準化過程可以包括一個或多個例子:將URI調度和宿主轉變成小寫,將百分比編碼的轉義字符大寫,刪除缺省端口,及刪除重復的斜杠。
在另一實施例中,所述標識符可以通過刪除緩存失敗的參數(shù)和/或用一個靜態(tài)值代替該參數(shù)來標準化,所述靜態(tài)值可以用于響應通過標準化器211或緩存失敗參數(shù)處理程序212來利用標識符的請求而尋址或關聯(lián)已緩存響應。例如,本地緩存285(圖2A顯示)中儲存的已緩存元素可以通過使用標準化版本的標識符或標識符的標準化版本的哈希值來識別。一個標識符或所述標準化標識符的哈希值可以由哈希引擎213產(chǎn)生。
一旦內容在本地被緩存,所述緩存策略管理器245能夠接收進一步輪詢請求來聯(lián)系內容服務器,檢索本地緩存中的緩存元素以響應移動設備250的輪詢請求,這樣,不用激活移動設備的無線電來服務輪詢請求。由于不需要使用網(wǎng)絡帶寬和其他資源來請求/接收可能未從在移動設備250處已經(jīng)接收的響應改變的輪詢響應,因此通過本地緩存條目本地的進行這樣的服務和滿足應用(例如,移動應用)請求允許了更有效的資源和移動網(wǎng)絡流量利用率和管理。
緩存策略管理器245的一個實施例包括一個輪詢調度發(fā)生器247,能為一個或多個移動設備250內的應用產(chǎn)生輪詢調度。輪詢調度能夠制定一個供代理服務器(例如,圖1B和圖3A例子中顯示的代理服務器125或325)使用的輪詢間隔來監(jiān)視一個或多個應用的內容來源。所述輪詢調度可以被確認,例如,根據(jù)移動設備內容源的輪詢請求時間的間隔。在一個實施例中,應用行為檢測器上的輪詢間隔檢測器可以監(jiān)視針對移動設備250中內容源的輪詢請求,以便確定任意或所有應用(例如,移動應用)的輪詢請求之間的間隔。
在一個實施例中,所述緩存策略控制器245發(fā)送輪詢調度至代理服務器(例如,圖1B和圖3A例子中顯示的代理服務器125或325)且能被代理服務器用于監(jiān)視內容源,例如,對于改變或新的內容。當檢測到應用服務器/內容源對于一個給定的請求有新的或改變的數(shù)據(jù)時,緩存策略控制器245上的本地緩存無效驗證器244能使本地緩存(例如,緩存185或285)中的緩存元素無效。新的或更改的數(shù)據(jù)能被代理服務器檢測到。當一個給定請求/輪詢的緩存條目被無效和/或無效后被刪除(例如,從緩存中刪除)時,移動設備250上的無線電被用于(例如,通過本地代理或緩存策略控制器245)滿足后續(xù)的輪詢請求,進一步的描述參照圖4B的交互圖。
在另一實施例中,所述代理服務器(例如,圖1B和圖3A例子中顯示的代理服務器125或325)在數(shù)據(jù)請求中使用資源標識符的改進版本來監(jiān)視給定內容源(圖1A和圖1B顯示的用于處理數(shù)據(jù)請求的應用服務器/內容主機110)的新的或改變的數(shù)據(jù)。例如,在檢測到內容源或標識符以采用緩存失敗機制的情況下,可以使用修改的(例如,標準化的)標識符來輪詢內容源。改進或標準化版本的標識符能夠通過緩存策略控制器245,或者更具體地說是標識符標準化器211上的緩存失敗參數(shù)處理器212與代理服務器聯(lián)系。
代理服務器使用的用于輪詢代表移動設備/應用的內容來源的改進后的標識符與標準化的標識符可能相同或可能不同。例如,標準化的標識符可能是被刪除了改變緩存失敗參數(shù)的原始標識符,然而修改的標識符使用一個替代參數(shù)來代替用于緩存失敗的參數(shù)(例如,改變參數(shù)被一個靜態(tài)值代替或其他已知的本地代理和/或代理服務器的預定值)。更改后參數(shù)可以由本地代理275確認并與代理服務器相連。更改后參數(shù)也可能是由代理服務器產(chǎn)生的(例如,圖3C例子中顯示的標識符修改模塊353)。
緩存策略管理器245的一個實施例包括一個緩存或內容選擇引擎249,可以決定是否使用一個本地緩存條目來滿足一個通過應用或窗口小程序在移動設備250上產(chǎn)生的輪詢/內容請求。例如,本地代理275或緩存策略管理器245能夠攔截一個移動設備上應用產(chǎn)生的與應用服務器/內容提供商商聯(lián)系的輪詢請求。所述選擇引擎249可以確認收到的關于攔截請求的內容是否被當做緩存元素儲存在當?shù)?,決定是否一個移動設備的無線電需要被激活以滿足應用(例如,移動應用)的請求。在一個實施例中,本地代理275為了確定相關緩存內容的存在且仍然是有效的,可以檢索本地緩存的緩存元素來響應應用(例如,移動應用),所述應用產(chǎn)生了該輪詢請求,這樣,移動設備的無線電不用激活以為應用(例如,移動應用)提供響應。
在一個實施例中,儲存于本地緩存器285(圖2A所示)中的所述緩存元素可用標識符的標準版本或者標識符的標準版本的哈希值來識別,例如,采用緩存查詢模塊229。緩存元素可與標準化的標識符一起儲存,標準化的標識符具有被移除或者被取代的緩存失敗參數(shù),這樣,相關的緩存元素在未來可被識別并恢復,采用緩存失敗相同的類型來滿足其它請求。例如,當用于隨后請求中的標識符確定被用于相同的緩存失敗參數(shù),該標識符的標準化版本會產(chǎn)生,并用于識別儲存于移動設備緩存器中的緩存響應并被用來滿足數(shù)據(jù)請求。標識符的哈希值或者標準化的標識符可能通過標識符標準化器211的哈希引擎213生成。
圖2D描述說明了本地代理275中附加組件的框圖,圖2A中所示的例子進一步執(zhí)行基于應用程序行為和/或用戶活動來執(zhí)行移動流量的分類和策略的實現(xiàn)。
本地代理275的一個實施方式中,用戶活動模塊215,進一步包括一個或更多的用戶活動檢測器/追蹤器215a、用戶活動預測引擎215b和/或用戶預期管理器215c。應用行為檢測器236還可以包括優(yōu)先級處理引擎241a、時間關鍵性檢測引擎241b、應用狀態(tài)分類器241c和/或應用流量分類器241d。本地代理275可以進一步包括背光檢測器219和/或網(wǎng)絡配置選擇引擎251。所述網(wǎng)絡配置選擇引擎251進一步包括無線生成標準選擇器251a、一個數(shù)據(jù)比率區(qū)分符251b、訪問通道選擇引擎251c和/或一個訪問點選擇器中的一個或多個。
在一個實施例中,應用行為檢測器236可檢測、確定、識別或推斷移動設備250上的一個應用的活動狀態(tài),流量源自或被導向(例如經(jīng)由應用狀態(tài)分類器241c和/或應用流量分類器241d)該移動設備?;顒訝顟B(tài)可以通過移動設備(通過應用狀態(tài)分類器241c)上的應用在前臺狀態(tài)還是在后臺狀態(tài)來確定,因為前臺應用的流量與后臺應用的流量可通過不同的方式處理。
在一個實施例中,活動狀態(tài)可以按啟發(fā)式的可靠性水平確定、檢測、識別或推斷,其基于移動設備250的背光狀態(tài)(例如通過背光檢測器219)或者在移動設備上的其他軟件代理或硬件傳感器,包括但不限于電阻傳感器、電容傳感器、環(huán)境光傳感器、運動傳感器、觸摸傳感器等。在一般情況下,如果背光開啟,流量可以被視為正在或被確定為從活動的或處于前臺中的應用產(chǎn)生,或者該流量是交互式的。此外,如果背光開啟,流量可以被視為或被確定來自用戶交互或用戶活動的流量,或包含用戶在某個時間段內期望的數(shù)據(jù)的流量。
在一個實施例中,活動狀態(tài)被基于流量是否是交互式流量或維護流量來確定。交互式流量可以包括來自從用戶的應用活動/交互直接產(chǎn)生之響應和請求的事務,并且可以包括用戶正在等待或預期接收的內容或數(shù)據(jù)。維護流量可被用于支持不直接由用戶檢測到的應用的功能。維護流量還包括可能發(fā)生響應用戶動作的動作或事務,但用戶沒有主動等待或預期響應。
例如,在移動設備250上的郵件或消息刪除操作生成一個在服務器上刪除相應郵件或消息的請求,但用戶通常不等待響應。因此,這樣的請求可以被分類為維護流量或具有較低優(yōu)先級(例如通過優(yōu)先級處理引擎241a)的流量和/或非時間關鍵性(例如通過時間關鍵性檢測引擎214b)的流量。
與此相反,由用戶在移動設備250上發(fā)起的郵件“讀取”或消息“讀取”請求可以被歸類為“交互流量”,因為用戶請求讀取消息或郵件時通常在等待訪問內容或數(shù)據(jù)。類似地,這樣的請求可以被歸類為具有較高優(yōu)先級(例如通過優(yōu)先級處理引擎241a)和/或時間關鍵/時間敏感(例如通過時間關鍵性檢測引擎241b)。
時間關鍵性檢測引擎241b可大致確定、識別、推斷包含在發(fā)送自移動設備250或發(fā)送至主機服務器(例如主機300)或應用服務器(例如應用服務器/內容源110)的移動設備流量中數(shù)據(jù)的時間靈敏度。例如,時間敏感數(shù)據(jù)可以包括狀態(tài)更新、股票信息更新、即時通訊在線狀態(tài)信息、電子郵件或其他消息、手機游戲應用產(chǎn)生的行動、網(wǎng)頁請求、位置更新等。根據(jù)內容或請求性質,非時間敏感或時間關鍵性的數(shù)據(jù)可以包括刪除消息請求、標記為已讀或已編輯的操作、添加好友或刪除好友請求等特定于應用的操作、某些類型的消息或其他性質不經(jīng)常變化的信息等等。在某些情況下,當數(shù)據(jù)不是時間關鍵性時,其允許流量通過的時機是基于何時需要從移動設備250發(fā)送附加數(shù)據(jù)而設定的。例如,流量整形引擎255可以把流量與一個或多個后續(xù)事務調整,使其被一起在移動設備無線電(例如使用對齊模塊256和/或批處理模塊257)的單次啟動事件中發(fā)送。對齊模塊256也可以把被導向同一主機服務器的時間接近的輪詢請求進行對齊,因為這些請求可能用相同的數(shù)據(jù)響應。
在替代或組合中,活動狀態(tài)可以從評價、確定、評估、推斷、識別移動設備250上的用戶活動(例如通過用戶活動模塊215)確定。例如,用戶活動可以使用用戶活動跟蹤器215a直接檢測和跟蹤。然后,由此產(chǎn)生的流量可以被適當歸類,從而用于后續(xù)處理以確定處理策略。此外,用戶活動可以由用戶活動預測引擎215b來預測或預期。通過預測用戶活動或預期用戶活動,預測后由此而產(chǎn)生的流量可以被視為是用戶活動產(chǎn)生的結果,并可被適當分類以確定傳輸策略。
此外,用戶活動模塊215還可以管理用戶預期(例如通過用戶預期管理器215c和/或結合使用活動追蹤器215a和/或預測引擎215b),以確保流量被適當歸類,從而大致滿足用戶預期。例如,用戶啟動操作應被分析(例如通過預期管理器215c)以確定或推斷用戶是否將等待響應。如果是這樣,這種流量應按能夠使用戶在接收這種響應或操作時不會經(jīng)歷令人不愉快延遲的策略來處理。
在一個實施例中,選擇新一代的無線標準網(wǎng)絡,以供基于流量源自或被導向至的移動設備上應用程序的活動狀態(tài)在無線網(wǎng)絡中的移動設備和主機服務器之間發(fā)送流量。可以選擇3G、3.5G、3G+、4G或LTE網(wǎng)絡等高級技術標準,用于處理用戶交互、用戶活動所產(chǎn)生的流量,或含有用戶預期或等待數(shù)據(jù)的流量。對于響應前臺活動的移動設備,也可選擇高級無線標準網(wǎng)絡用于傳輸包含在移動設備流量中的數(shù)據(jù)。
在為移動流量進行流量分類或定義傳輸策略時,可以選擇網(wǎng)絡配置(例如通過網(wǎng)絡配置選擇引擎251)以在移動設備250上使用,用于在移動設備和代理服務器(325)和/或應用服務器(例如應用服務器/主機110)之間發(fā)送流量。所選擇的網(wǎng)絡配置可以基于由應用行為模塊236收集的應用活動狀態(tài)(例如后臺或前臺的流量)、應用流量類別(例如交互或維護流量)、數(shù)據(jù)/內容的任何優(yōu)先級、時間靈敏度/關鍵性方面的信息確定。
所述網(wǎng)絡配置選擇引擎251可選擇或者指定一個或多個生成標準(例如通過無線生成標準選擇器251a)、一個數(shù)據(jù)比率(例如通過數(shù)據(jù)比率區(qū)分符251b)、一個訪問通道(例如訪問通道選擇引擎251c)和/或一個任何結合的訪問點(例如通過訪問點選擇器251d)。
例如,當活躍狀態(tài)與用戶交互或者在移動設備上的前臺時,可選擇或者指定更先進的一代(例如3G、LTE或者4G或更后)用于流量。相反,當檢測到應用與用戶之間沒有交互,應用位于移動設備的后臺,或者流量中包含的數(shù)據(jù)不是時間關鍵的或者另外確定具有較低優(yōu)先級中的一種或多種情況時,一種較舊的標準(例如2G、2.5G或者3G或者更老的)可指定用于流量。
同樣地,一個具有較慢數(shù)據(jù)速率的網(wǎng)絡配置可被指定用于流量,當檢測到下述一種或多種情況時:應用與用戶之間沒有交互,應用位于移動設備的后臺,或者流量中包含的數(shù)據(jù)不是時間關鍵的。所述訪問通道(例如前向訪問信道或者專用信道)可被指定。
圖2E描述了圖2A中顯示的流量整形引擎255和應用程序行為檢測器236中的附加組件例子的塊圖,其還能夠促進傳輸至移動或寬帶設備,或其他用戶的輸入數(shù)據(jù)的對齊,以優(yōu)化需要建立的用于通過無線網(wǎng)絡或寬帶網(wǎng)絡接收數(shù)據(jù)的連接的數(shù)量。
在本地代理服務器275的一個實施例中,所述流量整形引擎255,除了所述對齊模塊256、批處理模塊257之外,還包括一個輪詢間隔調整器258。所述輪詢間隔調整器258可包括一個因素或者分母檢測引擎258a、一個關鍵應用檢測器258b、一個關鍵間隔標識符258c和/或一個輪詢間隔設置引擎258d。進一步在一個實施例中,所述本地代理服務器275的應用行為檢測器236進一步包括一個輪詢間隔檢測器238。
在促進跨越不同的服務器或者主機的數(shù)據(jù)突發(fā)到所述移動設備250的對準中,本地代理服務器275可初始的確定、檢測、識別、計算、推斷、提取針對應用或者移動客戶端的原始的或者默認的輪詢間隔(例如通過所述輪詢間隔檢測器238)。原始的或者默認的輪詢間隔是移動應用本身和/或其主機(例如圖1A-1B所示的通信應用服務器/內容主機110)代表性的特性。所述輪詢間隔檢測器238可檢測到任何數(shù)量的或者所有的移動應用的原始的或者默認的輪詢間隔,其定期輪詢被代理服務器275用來基于那里已安裝的應用和它們各自輪詢時間特性生成或者調整輪詢間隔以適用于設備250。
例如,設備250的應用或者移動客戶端的輪詢時間間隔(原始的或默認的)可以通過輪詢間隔調整器258使用。一般來說,基于第二服務的輪詢間隔來生成第一服務的調整輪詢間隔,第二服務可以由不同主機從第一服務(如,Twitter=服務1;ESPN.com=服務2)提供服務。針對第一服務和/或第二服務調整計算的調整輪詢間隔,可用于對齊至少一些由于移動設備上對第一和第二服務的訪問而從不同的主機接收到的流量。
例如,在一個實施例中,第一服務調整輪詢間隔可以是第一服務的原始輪詢間隔與第二服務的原始輪詢間隔相同的因子或分母 (例如,由因子或分母檢測引擎258a決定的),并且可以進一步基于第一服務的原始輪詢間隔來確定。注意當?shù)谝环盏脑驾喸冮g隔和第二服務的輪詢間隔是彼此的因子或者分母時,第一服務的調整輪詢間隔不需要不同于第一服務原始輪詢間隔。
在一個實施例中,所述檢測引擎258a能夠進一步確定第二服務的輪詢間隔的因子或分母的倍數(shù),并且第一服務的調整輪詢間隔是第二服務輪詢間隔的分母的因子或倍數(shù)的倍數(shù)。此外,所述引擎258a可確定移動設備250上多個應用的多個默認輪詢間隔的公因子或公分母的倍數(shù)。
此外,基于來自第一服務的流量的時間關鍵性相對與來自第二服務或移動設備250上的附加服務的流量的時間關鍵性可以進一步確定、調整或重新配置(例如,通過輪詢間隔設置引擎258d) 第一服務的調整輪詢間隔。例如,關鍵應用檢測器258b可以識別、檢測或接收輸入識別或指定移動設備250上一個或多個的應用是比其它的更關鍵的(例如,更高優(yōu)先級的、時間敏感的內容/流量、用戶首選應用、操作系統(tǒng)支持的應用、運營贊助商內容等等),并進一步根據(jù)需要調整第一和/或第二服務的輪詢間隔。
例如,關鍵應用檢測器258b可以將關鍵應用識別為移動設備上所有應用或正在應用或嘗試數(shù)據(jù)突發(fā)對其的一組應用中最時間關鍵的應用。為了關鍵應用(們),關鍵應用的輪詢間隔被確定為一個最小的關鍵間隔(例如,通過關鍵間隔標識符258c),不被賦予給一個關鍵應用的更新的輪詢間隔的值所超過,這樣,數(shù)據(jù)的優(yōu)先級需要(例如,無論是用戶需要、裝置需要或應用需要)從應用服務器或內容主機快速和及時的傳遞數(shù)據(jù)。
高優(yōu)先級信息/數(shù)據(jù)或應用可以包括,例如,財務數(shù)據(jù)、體育數(shù)據(jù)或其他實際上不斷變化的數(shù)據(jù)、與先前的值沒有任何數(shù)據(jù)相關性的任何數(shù)據(jù),任何數(shù)據(jù)(例如,訂閱或提供的)用戶希望立即實時或接近實時的報告,任何被指示為實時的特定特征,近實時特性的應用服務器/內容主機(例如,實時更新狀態(tài)、或實時通知、優(yōu)先郵件或其他信息、及時通信消息等等)或者服務任何類型的高優(yōu)先級/時間敏感內容的應用。
一旦在移動設備250上已經(jīng)設有一個或多個應用的輪詢間隔,本地代理服務器275通信的輪詢調度包括代理服務器(例如,圖3A-3E的遠程代理325)的調整輪詢間隔,用于在時間上對齊至少一些由于移動設備上對第一和第二服務以及任何附加服務的訪問而從不同主機接收的流量。
在一個實施例中,輪詢間隔設置引擎258d也可以選擇一個共同的起始時間點作為多個應用的內容主機服務輪詢間隔設置的初始輪詢。輪詢間隔設置引擎258d可以設置開始時間被錨定到設備250上的多個應用中相同的絕對時間點。一般來說,應用服務器/內容主機通常是UTC,并使用NTP來保持在同一時間。例如,間隔設置引擎258d可以任意選擇分鐘標記、秒標記、小時標記或其他時間指標,將其作為調整輪詢的一部分參數(shù)傳給遠程代理服務器(例如,代理服務器325)。該標記可以被所有應用程序隨機選擇為共同的“初始時間t0”。
注意,雖然上面使用兩個應用的例子的描述可以為移動設備250中任意或所有的應用執(zhí)行相同的過程。在某些情況下,部分或全部的功能由一個或多個組件的輪詢間隔調整器258可以遠程執(zhí)行,例如,在一個遠程的代理服務器(例如,代理服務器325)上使用輪詢間隔可以檢測到本地移動設備250(例如,通過輪詢間隔檢測器238)。請注意,遠程代理(例如,代理服務器325)可以接收跨多個設備的應用的輪詢時間間隔和跟蹤多個設備的應用的調整時間間隔,將通過圖3E的例子進行進一步描述。
圖3A描述了一框圖,該框圖示出了位于主機服務器300的分布式代理和緩存系統(tǒng)中的服務器端組件的示例,所述主機服務器300為了節(jié)約資源而管理無線網(wǎng)絡流量。所述服務器端代理(或代理服務器325)能進一步基于應用程序行為、內容優(yōu)先級、用戶活動、和/或用戶期望對移動流量進行分類和/或執(zhí)行投遞策略。
所述主機服務器300通常包括,例如,網(wǎng)絡接口308和/或一個或多個儲存庫312,314,316。注意所述服務器300可以是任何便攜/移動或非便攜設備、服務器、計算機集群和/或其他類型處理單元(例如,在圖11示例中示出的任意數(shù)量的機器),能夠接收或傳輸信號,以滿足通過包括任意有線或無線網(wǎng)絡的數(shù)據(jù)請求(例如,WiFi,蜂窩,藍牙等)。
所述網(wǎng)絡接口308可包括網(wǎng)絡模塊(們)或設備(們),該網(wǎng)絡模塊或設備能夠與在所述主機服務器300外部的實體在網(wǎng)絡中調節(jié)數(shù)據(jù),通過任何已知的和/或便捷的由所述主機和所述外部實體支持的通信協(xié)議。特別地,所述網(wǎng)絡接口308允許所述服務器300與多種設備通信,該多種設備包括移動手機設備350和/或一個或多個應用服務器/內容提供商310。
所述主機服務器300能存儲關于在連接元數(shù)據(jù)儲存庫312中的設備連接信息。另外,任何關于第三方應用或內容提供商的信息還能存儲在所述儲存庫312中。所述主機服務器300能存儲關于在設備信息儲存庫324中的設備信息(例如,硬件功能、性能、設備設置、設備語言、網(wǎng)絡功能、制造商、設備模型、OS、OS版等)。另外,所述主機服務器300能存儲關于在所述網(wǎng)絡服務提供商儲存庫316中的網(wǎng)絡提供商和多種網(wǎng)絡服務區(qū)域的信息。
由網(wǎng)絡接口308啟動的通信,允許設備350間的同步連接(例如,包括蜂窩連接)和/或與內容服務器/提供商310的連接,以管理設備350和內容提供商310之間的流量,用于優(yōu)化網(wǎng)絡資源利用和/或節(jié)約所被服務設備350上的能源(電池)消耗。所述主機服務器300能與由不同網(wǎng)絡設備提供商,和/或在相同/不同網(wǎng)絡服務區(qū)域內服務的移動設備350通信。所述主機服務器300能操作設備350并與之相兼容,所述設備350具有不同類型或移動容量等級,包括通過此示例的方式但不限于1G,2G,2G遷移(2Gtransitional)(2.5G,2.75G),3G(IMT-2000),3G遷移(3.5G,3.75G,3.9G),4G(高級IMT),等。
通常,所述網(wǎng)絡接口308可能包括一個或多個網(wǎng)絡適配器卡、無線網(wǎng)卡(例如,SMS接口、WiFi接口、多種移動通信標準包括但不限于1G,2G,3G,3.5G,4G類型網(wǎng)絡,如LTE,WiMAX等產(chǎn)生的接口)、藍牙、WiFi或任何其他是否通過路由器、接入點、無線路由器、交換機、多層交換機、協(xié)議轉換器、網(wǎng)關、網(wǎng)橋路由器、集線器、數(shù)字媒體接收器和/或中繼器連接的網(wǎng)絡。
所述主機服務器300能進一步包括分布式代理和緩存系統(tǒng)的服務器端組件,所述系統(tǒng)能包括代理服務器325和服務器緩存335。在一實施例中,所述代理服務器325能包括HTTP訪問引擎345,緩存策略管理器355,代理控制器365,流量整形引擎375、新數(shù)據(jù)檢測器347和/或連接管理器395。
所述HTTP訪問引擎345可進一步包括心跳管理器398;所述代理控制器365可進一步包括數(shù)據(jù)無效驗證器368;所述流量整形引擎375可進一步包括控制協(xié)議376和批處理模塊377。額外或少部分組件/模塊/引擎可包括在所述代理服務器325和每個所示組件中。
按照本發(fā)明所使用的情況,“模塊”、“管理器”、“處理程序”、“檢測器”、“接口”、“控制器”、“標準化器”、“發(fā)生器”、“無效驗證器”或“引擎”都包括了一個通用、專有或共享的處理器以及通常來說由處理器執(zhí)行的固件或軟件模塊。取決于特定實現(xiàn)或其他考慮,模塊、管理器、處理程序、檢測器、接口、控制器、標準化器、發(fā)生器、無效驗證器或引擎都可以被集中或使其功能被分布。模塊、管理器、處理程序、檢測器、接口、控制器、標準化器、發(fā)生器、無效驗證器或引擎可包括通用或專有硬件、固件或用于處理器執(zhí)行的內嵌于計算機的可讀(存儲)介質的軟件中。按照本發(fā)明所使用的情況,計算機可讀介質或計算機可讀存儲介質旨在包括所有法定(例如在美國即根據(jù)35U.S.C.101)介質并明確排除所有性質為非法定的介質,其程度為該排除對包括計算機可讀(存儲)介質是有效的的權利要求是必要的。已知法定計算機可讀介質包括硬件(例如僅舉幾例——寄存器、隨機存取存儲器(RAM)、非易失性(NV)存儲器),但可以或可以不被限于硬件。
在向應用服務器或內容提供商310進行應用或內容請求的設備(例如移動設備350)示例中,所述請求可被截獲并被路由至所述代理服務器325,所述代理服務器325可被耦合至所述設備350和所述應用服務器/內容提供商310。特別地,所述代理服務器能與移動設備350的本地代理(例如,分別在圖1和圖2中示例的代理175、275)通信,所述本地代理提出向所述代理服務器325的數(shù)據(jù)請求,在某些情況下用于進一步處理,并且如有必要,用于傳輸對數(shù)據(jù)請求的響應至所述應用服務器/內容服務器310。
在這個配置下,所述主機300,或在所述主機服務器300中的所述代理服務器325可利用由所述本地代理提供的智能信息,在優(yōu)化網(wǎng)絡和設備資源使用的方式下調節(jié)本地代理與設備通信。例如,所述代理服務器325能識別設備350上的用戶活動特性,以修改通信頻率。所述用戶活動特性可由例如在代理控制器365中的活動/行為感知模塊,通過由設備350上的本地代理收集的信息確定。
在一實施例中,通信頻率可由代理服務器325的連接管理器395控制,例如,調整內容的推送頻率或更新至所述設備350。例如,當用戶活動特性顯示所述用戶不活躍,推動頻率可被連接管理器395降低。在一實施例中,當用戶活動特性顯示用戶在不活躍期后接著活躍時,所述連接管理器395能調整與設備350的通信頻率,發(fā)送因通信頻率降低而緩存至所述設備350的數(shù)據(jù)。
另外,所述代理服務器325包括多種請求、事務、會話、應用和/或特殊事件的優(yōu)先級感知。該感知可由在設備350上的本地代理確定并提供給所述代理服務器325。代理服務器325的所述優(yōu)先級感知模塊367通常能評估多個事件或應用的優(yōu)先級(例如,包括時間緊迫性和時間敏感性等);另外,所述優(yōu)先級感知模塊367能追蹤由設備350的本地代理確定的優(yōu)先級。
在某一實施例中,通過優(yōu)先級感知,所述連接管理器395可進一步修改服務器300與設備350的通信頻率(例如,如無線控制器396控制的使用或無線頻率)。例如,當符合標準的重要/優(yōu)先級數(shù)據(jù)或更新值變得可被發(fā)送時,所述服務器300可通知設備350,從而在并未準備使用無線電時請求使用無線電。
在一實施例中,代理服務器325能檢測事件(例如,事務、內容接收來自服務器/提供商310的數(shù)據(jù))的多種發(fā)生并允許所述事件積累批量傳輸至設備350。批量傳輸可被積累,且事件傳輸可基于由模塊367和/或366追蹤的優(yōu)先級感知和/或用戶活動/應用行為感知被延遲。例如,多個事件(較低優(yōu)先級的時間)批量傳輸至設備350,當較高優(yōu)先級(達到閾值或標準)的事件在服務器300處被檢測到時,可由所述批量模塊377啟動。另外,當服務器接收自設備350的數(shù)據(jù)時,來自服務器300的批量傳輸被觸發(fā),表明所述設備無線電已準備使用且因此開啟。在一實施例中,代理服務器325能在批量中排序每個信息/數(shù)據(jù)包,用于基于每個事件/事務的優(yōu)先級的傳輸,因此一旦連接丟失或電池枯竭等,較高優(yōu)先內容可被首先發(fā)送。
在一實施例中,所述服務器300緩存數(shù)據(jù)(例如,如由所述緩存策略管理器管理的數(shù)據(jù)),這樣可以修改(例如,降低)通過網(wǎng)絡(例如,蜂窩網(wǎng)絡)與設備350的通信頻率。數(shù)據(jù)可被緩存,例如,在所述服務器緩存335中,用于之后讀取或批量發(fā)送至設備,以可能減少開啟設備350無線電的需要。所述服務器緩存335可部分或全部在主機服務器300內部,盡管圖3A示例中在主機300的外部示出。在某些情況下,服務器緩存335可與另一個實體(例如,選擇緩存代理服務器199在圖1B示例中示出)管理的另一緩存相同和/或部分或全部集成,諸如應用服務器/內容提供商310、網(wǎng)絡服務提供商或另一第三方管理的緩存。
在一實施例中,內容緩存在主機服務器300的協(xié)助下在設備350本地處完成。例如,在主機服務器300中的代理服務器325能請求查詢應用服務器/提供商310并監(jiān)測響應變化。當變化或新響應被檢測到時(例如,通過新數(shù)據(jù)檢測器347),所述代理服務器325能通知移動設備350,使得在設備350上的本地代理能作出使作為在本地緩存中的任何存儲的相關緩存條目無效(例如,顯示過時)的決定。另外,數(shù)據(jù)無效驗證器模塊368能自動指令設備350的本地代理基于接收來自應用服務器/提供商310的響應去無效某緩存數(shù)據(jù)。所述緩存數(shù)據(jù)被標記為無效,并能在新內容從內容服務器310接收時被替代或刪除。
注意所述數(shù)據(jù)變化可被檢測器347用一種或多種方法檢測。例如,服務器/提供商310可在發(fā)生變化時通知主機服務器300。所述變化還可在主機服務器300響應源服務器/提供商310的直接輪詢處檢測到。在一些情況下,代理服務器325能額外在設備350上預載具有新的/更新的數(shù)據(jù)的本地緩存。這可在主機服務器300檢測到移動設備上的無線電已準備使用或在服務器具有額外發(fā)送至設備350的內容/數(shù)據(jù)時被實現(xiàn)。
一個或多個上述機制可基于應用(例如,用于不同服務器/提供商310的不同策略)同步實施或調整/配置。在一些情況下,源提供商/服務器310可通知主機300事件類型(例如,事件滿足優(yōu)先閾值級)。另外,提供商/服務器310可被配置為在特定時間間隔下通知主機300,而不管事件優(yōu)先級。
在一實施例中,主機300的代理服務器325能在將結果返回到移動設備之前監(jiān)測/追蹤響應,該響應針對來自內容源的數(shù)據(jù)請求所接收的針對改變的結果的響應;當內容源的數(shù)據(jù)請求具有返回給移動設備的相同結果時,該監(jiān)測可能合適,因此防止網(wǎng)絡/能源消耗在當沒有新變化被特定請求時而被使用。設備350的本地代理能指令代理服務器325完成該監(jiān)測或代理服務器325能在接收到特定數(shù)量的相同響應(例如,或者許多在某一時期內的相同響應)時自動啟動這樣的處理。
在一實施例中,服務器300,通過活動/行為感知模塊366,能夠在設備處識別或檢測用戶活動,該設備與移動設備350分離。例如,模塊366可檢測到用戶信息收件箱(例如,郵件或收件箱類型)被訪問。這顯示用戶與他/她的應用使用除所述移動設備350外的設備進行交互,并不需要頻繁更新,如果發(fā)生的話。
在該情況下,所述服務器300因此能降低新的或更新的內容被發(fā)送到移動設備350的頻率,或經(jīng)過所有通信,只要檢測到用戶正在使用另一設備進行訪問。該降頻可能是特定應用的(例如,用于用戶與另一設備交互的應用),或它可能是一般性降頻(例如,因為用戶被檢測到與一服務器或一應用通過另一設備進行交互,他/她還能使用其訪問其他服務)至所述移動設備350。
在一實施例中,所述主機服務器300能夠代表設備350輪詢內容源310,以節(jié)約設備350上的能量或電池消耗。例如,在移動設備350上的特定應用可以用可預測的重復方式輪詢其相應的服務器310。此類重復或其他類型的應用行為可以通過代理控制器365的活動/行為模塊366進行跟蹤。因此主機服務器300可以針對移動設備350上的應用輪詢內容源310,否則其將由設備350通過無線執(zhí)行(例如包括蜂窩連接)。主機服務器可通過HTTP訪問引擎345來建立HTTP連接的方式,或通過無線控制器396從蜂窩網(wǎng)絡來連接到源310的方式,以輪詢源310是否有新的或有變化的數(shù)據(jù)。當檢測到新的或有變化的數(shù)據(jù)時,新數(shù)據(jù)檢測器347可以通知設備450這樣的數(shù)據(jù)對設備450可用,并且/或者將新的/有變化的數(shù)據(jù)提供給設備350。
在一實施例中,連接管理器395確定移動設備350是不可用的(例如無線被關閉),并且利用SMS將內容發(fā)送到設備350,例如通過圖1B例子中的SMSC。SMS用于傳輸失效消息、失效消息的批次,或者,甚至在內容小到足以放入幾條(通常為一或兩條)SMS消息中的情況下也可傳輸內容。這避免了訪問無線信道來發(fā)送附加信息的需要。主機服務器300可使用SMS進行優(yōu)先級高于閾值或滿足其他某種條件的特定事務或響應。服務器300還可以利用SMS作為帶外觸發(fā)器來維持或喚醒的IP連接,作為保持永遠在線IP連接的替代。
在一實施例中,代理服務器325中的連接管理器395(例如心跳管理器398)可以代表所連接的設備350生成和/或傳輸心跳消息,以保持與提供商310的后臺連接,用于在設備上350上運行應用。
例如,在分布式代理系統(tǒng)中,設備450上的本地緩存可以防止用于維持應用所需TCP/IP連接需要的任何或所有心跳消息被通過蜂窩或其他網(wǎng)絡發(fā)送,而是依賴主機服務器300上的代理服務器325來生成和/或發(fā)送心跳消息來維持與后臺的連接(例如圖1A的例子中的應用服務器/提供商110)。代理服務器可以生成獨立于移動設備上本地代理的操作的?;睿ㄐ奶┫ⅰ?/p>
儲存庫312、314和/或316可以另外存儲軟件、描述性數(shù)據(jù)、圖像、系統(tǒng)信息、驅動程序和/或由主機服務器300和/或任何其他服務器的其它組件用于操作的任何其他數(shù)據(jù)項。儲存庫可以由一個數(shù)據(jù)庫管理系統(tǒng)(DBMS)管理,例如其可以是但不限于Oracle、DB2、MicrosoftAccess、MicrosoftSQLServer、PostgreSQL、MySQL和FileMaker等。
這些庫可以通過面向對象的技術和/或經(jīng)由文本文件來實現(xiàn),并且可以由分布式數(shù)據(jù)庫管理系統(tǒng)、面向對象的數(shù)據(jù)庫管理系統(tǒng)(OODBMS)(例如ConceptBase、FastDBMainMemoryDatabaseManagementSystem、JDOInstruments、ObjectDB等)、對象關系數(shù)據(jù)庫管理系統(tǒng)(ORDBMS)(例如Informix、OpenLinkVirtuoso、VMDS等)、一個文件系統(tǒng)和/或任何其它方便的或已知的數(shù)據(jù)庫管理包來管理。
圖3B描述了一框圖,所述框圖示出了在圖3A示例的緩存系統(tǒng)中的緩存策略管理器355內的組件的進一步示例,其能緩存且適應用于應用程序(例如移動應用)行為和/或網(wǎng)絡條件的緩存條件。
所述緩存策略管理器355,在一實施例中,可進一步包括元數(shù)據(jù)生成器303、緩存檢查引擎305、應用協(xié)議模塊356、具有輪詢調度管理器358的內容源監(jiān)測引擎357、響應分析器361、和/或更新的或新的內容檢測器359。在一實施例中,所述輪詢調度管理器358進一步包括主機時序模擬器358a,長輪詢請求檢測器/管理器358b,調度更新引擎358c,和/或時間調整引擎358d。所述元數(shù)據(jù)生成器303和/或緩存檢查引擎305能耦合至所述緩存335(或,服務器緩存)用于修改,或增加緩存條目或在其進行查詢。
在一實施例中,所述代理服務器(例如圖1B和圖3A示例的代理服務器125或325)可通過監(jiān)測引擎357監(jiān)測內容源新的或變化的數(shù)據(jù)。所述代理服務器,如圖所示,是在圖2A-B中移動設備250外部的實體。所述內容源(例如,圖1B中應用服務器/內容提供商110)可以是一個被代理服務器所識別為具有本地緩存于移動設備(例如,移動設備150或250)上的內容的源。所述內容源可被監(jiān)測,例如通過監(jiān)測引擎357在一頻率下監(jiān)測,該頻率是基于移動設備上內容源的輪詢頻率。所述輪詢調度可由例如本地代理產(chǎn)生并發(fā)送至代理服務器。所述輪詢頻率可被輪詢調度管理器358追蹤和/或管理。
例如,所述代理服務器能代表移動設備輪詢所述主機(例如,內容提供商/應用服務器)并通過主機時序模擬器358a模擬客戶端至主機的輪詢行為。輪詢行為可被模擬以包括在與主機(例如,通過長輪詢請求檢測器/管理器358b)持久連接中經(jīng)歷的長輪詢請求-響應時序的特性。注意一旦輪詢間隔/行為被設置,在設備端的本地代理275和/或在服務器端的代理服務器325能驗證應用服務器/內容主機服務器是否匹配或是否能由預測形式所表示。通常,本地代理和/或代理服務器能檢測差異并在核實時,重估并計算、確定或評估另一輪詢間隔。
在一實施例中,在分布式代理的服務器端的緩存策略管理器355,能與移動設備上的代理服務器275連接或獨立于代理服務器,識別或檢測長輪詢請求。例如,所述緩存策略管理器355能確定閾值,該閾值被用于在請求-響應時序中比較響應延遲間隔時間(間隔時間“D”在圖17A-B的示例性時序圖中示出)用于應用請求,以識別或檢測長輪詢請求,可能的長輪詢請求(例如,客戶端與主機通信的持久連接的請求,包括但不限于,長期保留的HTTP請求、使COMET形式推送的長久連接,HTTP流請求等),或另外可被認為長輪詢請求的其他請求。
例如,閾值可由代理325使用移動設備處的客戶端/應用產(chǎn)生的請求的響應延遲間隔時間而確定,所述移動設備可由多種不同蜂窩或無線網(wǎng)絡服務。自位于所述主機300的代理325能夠通過多種網(wǎng)絡與多種移動設備通信起,緩存策略管理器355能在全局級訪問應用程客戶信息,該全局級可被用于設定閾值來分類并檢測長輪詢。
通過在不同或相同網(wǎng)絡的設備的應用上追蹤響應延遲間隔時間,所述緩存策略管理器355能設置一個或多個閾值,以用于比較長輪詢檢測的響應延遲間隔時間。由代理服務器設置的閾值325可以是靜態(tài)的或動態(tài)的,并與條件和/或生存時間(以相對或絕對值表示的過期時間/日期)相關聯(lián)。
另外,代理325的緩存策略管理器355能進一步基于給定無線網(wǎng)絡、由給定運營商(服務提供商)服務的網(wǎng)絡、或多種無線網(wǎng)絡的網(wǎng)絡延遲,全部或部分的確定閾值。所述代理325還可確定用于長輪詢請求識別的閾值,該長輪詢基于一個或多個應用服務器/內容提供商(例如,110)的延遲,應用(例如移動應用)或移動客戶端請求指向應用服務器/內容提供商。
代理服務器能在監(jiān)測內容源處檢測新的或變化的數(shù)據(jù),并傳輸消息至移動設備通知該變化,該變化使移動設備(或在移動設備上的本地代理)能采取合適行動(例如,無效緩存在本地緩存內的元素)。在一些情況下,代理服務器(例如,緩存策略管理器355)在檢測到新的或變化的數(shù)據(jù)時,還能在其緩存(例如,分別在圖1B和圖3A示例中的服務器緩存135或335)中存儲新的變化的數(shù)據(jù)。存儲在服務器緩存335中的新的/更新的數(shù)據(jù),可在一些情況下被使用,以滿足在移動設備處的內容請求;例如,它可在代理服務器已通知移動設備新的/變化的內容且本地緩存的內容已被無效后使用。
元數(shù)據(jù)生成器303,與圖2B示例中所示的元數(shù)據(jù)生成器203相類似,能為移動設備250處的請求緩存的響應產(chǎn)生元數(shù)據(jù)。元數(shù)據(jù)生成器303能為存儲在服務器緩存335內的緩存條目產(chǎn)生元數(shù)據(jù)。類似地,緩存檢查引擎305可包括相同或相似功能,這些功能被描述用于圖2B示例中的緩存檢查引擎205。
響應分析器361可執(zhí)行與在圖2B示例中所示的本地代理的響應分析其相通或相似的方式分析在移動設備250處生成的請求而接收的響應相關的任何或所有功能。因所述代理服務器325能夠接收從應用服務器/內容源310直接到移動設備250的響應,所述代理服務器325(例如,響應分析器361)能完成相似響應分析步驟以確定緩存性,如針對本地代理的響應分析器所描述的。響應分析流程示例還被描述與圖11-13示例中示出的流程圖相關聯(lián)??梢苑治鲰憫匝a充或代替可以在移動設備250上的本地代理275處執(zhí)行的分析。
進一步,所述調度更新引擎358c能更新給定應用服務器/內容主機的輪詢間隔,該應用服務器/內容主機基于移動設備250處應用的應用請求間隔變化,如本地代理275中的調度更新引擎所描述的。時間調整引擎358d能設置初始時間,在該初始時間應用服務器/內容主機的輪詢將要開始阻止過期的內容再次服務,在如針對本地代理275內的調度更新引擎所描述的服務刷新內容之前。調度更新和時間調整算法均能與移動設備250的本地代理275處完成的相似過程相聯(lián)系或替換。
圖3C描述了一框圖,所述框圖示出了在圖3A示例中示出的分布式代理系統(tǒng)的服務器端上的代理服務器375中的緩存策略管理器355內的組件的另一示例,其能管理和檢測緩存失敗機制并監(jiān)測內容源。
在一個實施例中,緩存策略管理器355還可以包括一緩存失敗源管理器352,一具有輪詢調度管理器358的內容源監(jiān)視引擎357,和/或更新的或新的內容檢測器359。緩存失敗源管理器352 可以進一步包括一標識符修改模塊353和/或標識符模式跟蹤模塊354。
在一個實施例中,代理服務器(例如,圖1B和圖3A中示例的代理服務器125或325)可以經(jīng)由監(jiān)視引擎357監(jiān)視一內容源的新的或變化的數(shù)據(jù)。內容源(例如, 圖1B的應用服務器/內容提供商110或圖3A的應用服務器/內容提供商310)可以是已經(jīng)被代理服務器(例如,由本地代理)識別為具有正被本地緩存在一移動設備上的內容(例如,移動設備150或250)。 內容源310可以被監(jiān)視,例如由監(jiān)視引擎357以基于移動設備處的內容源的輪詢頻率的頻率。例如,可以由本地代理生成輪詢調度并將其發(fā)送到代理服務器325。輪詢頻率可以由輪詢調度管理器358跟蹤和/或管理。
在一個實施例中,代理服務器325在輪詢內容源310中使用標準化標識符或修改的標識符來檢測新的或變化的數(shù)據(jù)(響應)。 標準化標識符或修改的標識符也可以由代理服務器325用于在服務器緩存335上存儲響應。一般來說,當對可緩存內容采用緩存失敗機制時,可以使用標準化或修改的標識符。緩存失敗機制可以是一諸如URI或URL的標識符中的一改變參數(shù)的形式,并且可以包括改變時間/數(shù)據(jù)參數(shù),隨機變化參數(shù),或其他類型參數(shù)。
標準化標識符或修改的標識符刪除或以其他方式替換變化的參數(shù)以用于與后續(xù)請求相關聯(lián)并識別相關聯(lián)的響應,并且還可以用于輪詢內容源。在一個實施例中,代理服務器325(分布式代理系統(tǒng)的服務器端組件)上的緩存策略管理器355的緩存失敗源管理器352(例如,標識符修改器模塊353)來生成修改的標識符。修改的標識符可以使用一替代參數(shù)(其在一段時間內通常是靜態(tài)的)來代替用于緩存失敗的變化參數(shù)。
緩存失敗源管理器352可選地包括標識符模式跟蹤模塊354,以跟蹤,存儲和監(jiān)視對一個或多個內容源(例如,應用服務器/內容主機110或310)的內容進行尋址的一個或多個標識符的各種修改,以連續(xù)地驗證由代理服務器325使用來輪詢內容源的修改的標識符和/或標準化的標識符如預測的或預期的那樣工作(例如,接收相同的響應或者與原始的未修改的標識符相比仍然相關的響應)。
在模式跟蹤模塊354檢測到一在內容源上導致不穩(wěn)定或不可預測的行為(例如,將發(fā)送的意外響應)的標識符的修改或標準化的情況下,跟蹤模塊354可以記錄修改并指導緩存失敗源管理器352生成另一修改/標準化,或通知本地代理(例如,本地代理275)生成用于輪詢內容源的另一修改/標準化。替代地或并行地,來自移動設備(例如,移動設備250)上的給定移動應用/客戶端的請求可以臨時地通過網(wǎng)絡發(fā)送到內容源,以提供給移動設備的直接響應和/或直到其工作可以生成對一標識符的一修改。
在一個實施例中,當針對已經(jīng)存儲在移動設備(例如,移動設備250)的一本地緩存(例如,緩存285)上的響應檢測到新的或改變的數(shù)據(jù)時,響應被存儲為服務器緩存中的服務器緩存元素。因此,移動設備或本地代理275可以連接到代理服務器325以檢索新的或改變的數(shù)據(jù),以便對先前在本地緩存285中本地緩存的一請求(現(xiàn)在無效,過時或以其他方式確定為不相關)的一響應。
代理服務器325可以在一被監(jiān)視的應用服務器/內容主機310處檢測新的或改變的數(shù)據(jù),并且向移動設備發(fā)送消息,通知它這樣的改變,使得移動設備(或移動設備上的本地代理)可以采取適當?shù)膭幼鳎ɡ?,使本地緩存中的緩存元素無效)。在一些情況下,代理服務器(例如,緩存策略管理器355)在檢測到新的或改變的數(shù)據(jù)時,還可以將新的或改變的數(shù)據(jù)存儲在其緩存(例如,分別為圖1B和圖3A的示例的服務器緩存135或335)中。在一些情況下,存儲在服務器緩存中的更新的/新的數(shù)據(jù)可以用于滿足移動設備處的內容請求; 例如,它可以在代理服務器已經(jīng)通知移動設備新的/改變的內容并且本地緩存的內容已經(jīng)被無效之后使用。
圖3D描繪了在圖3A的示例中所示的代理服務器325中的附加組件的示例的一框圖,其還能夠基于應用行為和/或流量優(yōu)先級來執(zhí)行移動流量的分類和策略的實現(xiàn)。
在代理服務器325的一個實施例中,流量整形引擎375還耦合到一流量分析器336,用于將移動流量分類以用于針對移動流量和針對一個或多個移動設備(例如,圖2A-2D的移動設備250)或一應用服務器/內容主機(例如,圖1A-1B的110)的流量的策略的定義和實現(xiàn)。一般來說,代理服務器325遠離移動設備并且遠離主機服務器,如圖1A-1B的示例所示。代理服務器325或主機服務器300可以監(jiān)視多個移動設備的業(yè)務,并且能夠對不同移動設備的進行流量分類和流量策略設計。
另外,代理服務器325或主機服務器300可以與多個運營商或網(wǎng)絡運營商一起操作,并且可以實現(xiàn)與流量的分類和各種類別的流量策略的實現(xiàn)相關的運營商特定的策略。例如,代理服務器325或主機服務器300的流量分析器336可以包括一優(yōu)先化引擎341a,一時間關鍵性檢測引擎341b,一應用狀態(tài)分類器341c,和/或一應用流量分類器341d中的一個或多個。
這些引擎或模塊中的每一個可以基于不同的無線運營商來跟蹤被認為是優(yōu)先級,時間關鍵性,背景/前景或交互/維護的不同標準。不同的移動設備類型(例如,設備模型,制造商,操作系統(tǒng)等)也可能存在不同的標準。在一些情況下,移動設備的用戶可以調整關于流量類別的設置或標準,并且代理服務器325能夠跟蹤和實現(xiàn)這些用戶調整/配置的設置。
在一個實施例中,流量分析器336能夠檢測,確定,識別,或推斷在流量源自或被指向的一個或多個移動設備(例如,移動設備150或250)上的一應用的活動狀態(tài),例如,經(jīng)由應用狀態(tài)分類器341c和/或業(yè)務分類器341d??梢曰趹迷谝粋€或多個移動設備上(經(jīng)由應用狀態(tài)分類器341c)是否處于前臺或后臺狀態(tài)來確定活動狀態(tài),因為前臺應用與后臺應用的流量可以不同地處理以優(yōu)化網(wǎng)絡使用。
在替代或組合中,應用的活動狀態(tài)可以由無線電連接的移動設備(例如,經(jīng)由本地代理中的應用行為檢測器)來確定并且被傳送到代理服務器325。例如,可以在基于移動設備(例如,通過背光檢測器)或移動設備上的其它軟件代理或硬件傳感器的背光狀態(tài)以啟發(fā)式的確定性水平來確定,檢測,識別或推斷,包括但不限于,電阻傳感器,電容傳感器,環(huán)境光傳感器,運動傳感器,觸摸傳感器等。一般來說,如果背光打開,則流量可被視為是或被確定為由活動的或前臺的應用生成,或流量是交互的。另外,如果背光打開,則流量可以被視為是或確定為來自用戶交互或用戶活動的流量,或者包含用戶在一些時間段內期望的數(shù)據(jù)的流量。
可以通過評價,確定,評估,推斷,識別移動設備250處的用戶活動(例如,經(jīng)由用戶活動模塊215)并傳送到代理服務器325來確定活動狀態(tài)。在一個實施例中,基于流量是交互流量還是維護流量來確定活動狀態(tài)。交互流量可以包括來自直接從與用戶活動/交互的應用的響應和請求的流量,并且可以包括用戶正在等待或期望接收的內容或數(shù)據(jù)。 維護流量可以用于支持未被用戶直接檢測到的應用的功能。維護流量還可以包括可以響應于用戶動作而發(fā)生的動作或事務,但是用戶沒有主動地等待或期待該響應。
時間關鍵性檢測引擎341b通??梢源_定,識別,推斷包含在從移動設備250或從主機服務器300或代理服務器325或者應用服務器(例如應用/內容源110)發(fā)送到移動設備的流量中的數(shù)據(jù)的時間敏感性。例如,時間敏感數(shù)據(jù)可以包括狀態(tài)更新,股票信息更新,IM存在信息,電子郵件消息或其他消息,從移動游戲應用生成的動作,網(wǎng)頁請求,位置更新等。
根據(jù)內容或請求的性質,非時間敏感或時間關鍵性的數(shù)據(jù),根據(jù)內容或請求的性質,可以包括刪除消息,標記為已讀或已編輯的動作的請求,諸如添加好友或刪除好友的特定應用動作,某些類型的消息或者不經(jīng)常因性質改變的其他信息等。在一些情況下,當數(shù)據(jù)不是時間關鍵性時,允許將流量發(fā)送到移動設備的定時基于何時存在需要發(fā)送到相同移動設備的附加數(shù)據(jù)。例如,流量整形引擎375可以將流量與將在移動設備無線電裝置的單個通電事件中一起發(fā)送的一個或多個后續(xù)事務(例如,使用對齊模塊378和/或批處理模塊377)對齊。對齊模塊378還可以將指向同一主機服務器的在時間上接近的輪詢請求對齊,因為這些請求可能用相同的數(shù)據(jù)來響應。
一般來說,新的或改變的數(shù)據(jù)是否從主機服務器發(fā)送到移動設備,可以基于新的或改變的數(shù)據(jù)所關聯(lián)的移動設備上的應用是否在前臺運行,或者新的或改變的數(shù)據(jù)的優(yōu)先級或時間關鍵性來確定。如果應用在移動設備上的前臺中,或者如果應用處于前臺并且處于與移動設備上的用戶交互的活動狀態(tài),以及 /或用戶是否正在等待將在新的或改變的數(shù)據(jù)中提供的響應,則代理服務器325可以向移動設備發(fā)送新的或改變的數(shù)據(jù)。 代理服務器325(或流量整形引擎375)可以發(fā)送具有高優(yōu)先級或時間關鍵性的新的或改變的數(shù)據(jù)。
類似地,如果應用在移動設備上的后臺,則代理服務器325(或流量整形引擎375)可以禁止新的或改變的數(shù)據(jù)的發(fā)送。如果用戶沒有在等待新的或改變的數(shù)據(jù)中提供的響應,則代理服務器325也可以禁止新的或改變的數(shù)據(jù)的發(fā)送; 其中所述禁止由代理服務器執(zhí)行,該代理服務器耦合到主機服務器并能夠無線地連接到移動設備。
通常,如果包括新的或改變的數(shù)據(jù)的數(shù)據(jù)具有低優(yōu)先級或者不是時間關鍵的,則代理服務器可以等待直到一段時間之后,或者直到存在要發(fā)送的附加數(shù)據(jù)進行數(shù)據(jù)傳送(例如,經(jīng)由對齊模塊378和/或批處理模塊377)。
圖3E描繪了示出圖3A的示例的流量整形引擎375中的附加組件的示例的框圖。其還能夠對齊傳輸?shù)揭苿踊驅拵гO備或其他接收者的數(shù)據(jù),以優(yōu)化為在無線網(wǎng)絡或寬帶網(wǎng)絡中的傳輸而建立的連接。
在代理服務器325的一個實施例中,流量整形引擎375還包括通知引擎379,并且對齊模塊378包括一調整輪詢跟蹤器378a,并且批處理模塊377還包括一連接觸發(fā)器377a。
在一個實施例中,代理服務器325能夠輪詢在給定移動設備上以調度服務各種應用(例如,第一和第二服務)的不同主機。輪詢調度表可以由本地代理(例如,圖2A-2E的代理275)設置,并且可以包括的移動設備(例如,設備250)上的應用被分配的可能已經(jīng)被調整的輪詢間隔。例如,輪詢調度表可以由代理服務器325中的流量整形引擎375的對齊模塊378中的調整輪詢跟蹤器378a跟蹤。 可以基于移動設備上的另一服務的輪詢間隔來確定服務/應用的調整輪詢間隔,使得在遠程代理325處接收的數(shù)據(jù)可以批量地提供給移動設備,例如,通過批處理模塊377。
輪詢調度表還可以包括代表給定移動設備上的多個應用開始輪詢的初始開始時間(t0)。 服務于第一和第二服務的不同主機的第一輪詢的初始開始時間(例如,一共同的開始時間點)可以例如由本地代理275(例如,圖2A- 2E的代理275)選擇,并且在一些情況下由代理服務器325選擇。當由本地代理確定時,本地代理傳達用于輪詢的共同的開始時間點到代理服務器325。在一個實施例中,共同的開始時間點被設置為在將來用以補償通信延遲。
在一個實施例中,如果給定的移動客戶端/移動應用不是開啟的或活躍的,或者如果給定的移動設備250沒有連接到無線網(wǎng)絡,則連接觸發(fā)器377a可以發(fā)送一觸發(fā)(例如,帶外 )觸發(fā)移動設備或移動設備上的本地代理以請求對無線電供電和/或激活一個或多個相關應用。例如,批處理模塊377可以分批處理發(fā)送至給定移動設備上的多個應用的各種內容或數(shù)據(jù),并且如果移動客戶端/應用不是啟動的或活躍的,則連接觸發(fā)器377a可以發(fā)送請求應用活動的觸發(fā)。或者,通知引擎379可以向移動設備250發(fā)送存在準備好要發(fā)送的數(shù)據(jù)的指示,請求移動設備250打開無線電,如果當前處于關閉模式。
注意,代理服務器325監(jiān)視多個移動設備并且跟蹤應用特性和用戶行為/特性,該應用特性和用戶行為/特性跨越多個設備,用戶和網(wǎng)絡。 因此,涉及調整輪詢間隔跟蹤器的上述特征雖然涉及針對給定設備上的多個應用的示例,但是注意,對于已經(jīng)在其上安裝有其自己的其他應用集合的多個設備跟蹤相同,為此調整輪詢間隔或輪詢調度表是基于每個移動設備上的應用來計算的,例如駐留在其上的本地代理(例如,可以安裝在圖2E中描述的,由代理服務器325服務的多個移動設備中的一個或多個上的一本地代理275的組件)。
注意,由于代理服務器325管理,在一個網(wǎng)絡中的,跨網(wǎng)絡的,在一個地理區(qū)域的,對于一個網(wǎng)絡運營商而言跨越多個地理區(qū)域的,或跨越多個網(wǎng)絡的多個運營商的,去往/來自多個移動設備的流量,代理服務器325可以基于交通狀況或網(wǎng)絡條件的概覽或合計數(shù)據(jù)來對齊流量和批量傳輸數(shù)據(jù)。例如,當檢測到網(wǎng)絡擁塞時,代理服務器325可以劃分數(shù)據(jù)傳輸至移動設備的優(yōu)先級。例如,代理服務器325可以向移動設備傳送數(shù)據(jù),在此處,設備用戶訂閱的類型或級別基于要被轉移至移動設備的內容的最高優(yōu)先級而分等級或交錯(例如,當設備A的最高優(yōu)先級數(shù)據(jù)具有比設備B高的優(yōu)先級時,與移動設備B相比,一批數(shù)據(jù)可以首先被傳送到移動設備A)
注意,例如,對于一地理區(qū)域,或對于特定網(wǎng)絡運營商,對于一種類型的網(wǎng)絡服務,或者對于上述的任何組合,可以存在一個代理服務器325?;诓煌姆諏嶓w,代理服務器325可以聚集關于網(wǎng)絡流量,運營商設置,應用偏好/要求,用戶偏好,相關訂閱參數(shù)的不同類型的信息,上述的各種組合可以被代理325用于優(yōu)化需要通過接收移動設備建立的連接。多個代理服務器325服務于地理區(qū)域中的不同網(wǎng)絡,不同的運營商可以在它們之間共享流量,訂閱,用戶或應用級別信息,以進一步促進網(wǎng)絡資源利用,流量管理,并且在某些情況下促進傳輸至移動設備的數(shù)據(jù)的對齊。
圖4描繪了示出用于移動設備和代理服務器之間的分布式內容緩存以及內容緩存的分布式管理的示例過程的另一流程圖。如本文所示,所公開的技術是具有在客戶端/移動設備側(例如,圖2的示例中的本地代理275)和服務器端(例如,圖3中的代理服務器325)之間拆分的緩存任務的各個方面的分布式緩存模型。
一般來說,設備側的職責可以包括決定對一特定請求的響應是否可以和/或應該被緩存。代理的設備側可以基于在請求和響應之后/期間收集的信息(例如,定時特性,檢測到的模式,檢測到的具有啟發(fā)的模式,可預測或可重復的指示)作出這個決定并且對其進行緩存(例如,存儲它在移動設備上的本地緩存中)。設備側還可以向分布式緩存系統(tǒng)中的服務器端通知本地緩存事件,并且通知其監(jiān)視內容源(例如,圖1B-C的應用服務器/內容提供商110)。
設備側還可以指示分布式代理的服務器端周期性地驗證緩存響應(例如,通過輪詢,或向內容源發(fā)送輪詢請求)。設備側可以進一步?jīng)Q定是否應該從本地緩存返回對一特定緩存請求的響應(例如,是否一緩存命中被檢測到)。該決定可以由設備側(例如,設備上的本地代理)利用在來自內容源的請求和/或響應被接收之后/期間收集的信息做出該決定。
通常,服務器端的職責可以包括驗證用于關聯(lián)的緩存響應(例如,確定緩存響應是否仍然有效或與其相關聯(lián)的請求相關)。當檢測到緩存的響應不再有效或不再相關(例如,服務器使給定內容源無效)時,服務器端可以向移動設備發(fā)送一無效請求以通知設備側。 然后,設備端可以從本地緩存中移除該響應。
圖4的圖示出了為在移動設備(例如,分布式代理的客戶端)處檢測到的每個被檢測或被攔截的請求(例如,HTTP請求)執(zhí)行的緩存邏輯處理。在步驟602中,代理的客戶端(例如,本地代理275)接收請求(來自應用(例如,移動應用)或移動客戶端)。在步驟604中URL被標準化,并且在步驟606中客戶端檢查以確定請求是否可緩存。如果在步驟612中確定請求不可緩存,則在步驟608中將請求發(fā)送到源(應用服務器/內容提供商),并且請求被接收610并且被傳遞給請求應用622,類似于不被客戶端代理攔截的請求-響應序列。
如果確定請求是可緩存的,則在步驟612中,客戶端查找緩存以確定對于當前請求是否存在緩存條目。如果是,則在步驟624中,客戶端可以確定條目是否有效,并且如果是,則客戶端可以在步驟615中檢查該請求以查看是否包括驗證器(例如,一修改的頭域或實體標簽)。例如,驗證的概念在RFC 2616(超文本傳輸協(xié)議HTTP1.1)的第13.3節(jié),其描述了可能的頭域類型(例如,eTAG,Modified_Since,must_revlaidate,pragma no_cache)并且如果是則形成驗證響應632,如果是,則在步驟622中被傳遞到請求應用。如果該請求不包括由步驟615確定的驗證器,則響應在步驟630中從本地緩存形成,并在步驟622中被傳送到請求應用。該驗證步驟可以用于通常被認為是不可緩存的內容。
如果相反,在步驟624中找到緩存條目,但確定緩存條目不再有效或無效,則代理的客戶端將發(fā)送請求616到內容源(應用服務器/內容主機),并且在步驟618中直接從該源接收響應。類似地,如果步驟612中在查找期間沒有找到緩存條目,則該請求也在步驟616中被發(fā)送。一旦接收到該響應,客戶端在步驟626中檢查該響應以確定它是否可緩存。如果是,則在步驟620緩存該響應。然后在步驟614中客戶端發(fā)送另一個輪詢,然后在步驟622中將該響應傳遞給請求應用。
圖5描繪了示出無線網(wǎng)絡中的來自移動設備450的數(shù)據(jù)請求如何能夠由分布式代理系統(tǒng)460以某種方式協(xié)調到應用服務器/內容提供商495的序列圖,使得通過使用由該分布式代理系統(tǒng)460執(zhí)行的內容緩存和監(jiān)視來保護網(wǎng)絡和電池資源。
在沒有分布式代理系統(tǒng)460的移動設備450上滿足應用或客戶端請求時,移動設備450或在該設備450上執(zhí)行的軟件窗口小部件執(zhí)行直接到應用服務器495的數(shù)據(jù)請求452(例如,HTTP GET,POST或其他請求 ),并直接從服務器/提供商495接收響應404。如果數(shù)據(jù)已被更新,則移動設備450上的窗口小部件455可以刷新自身以反映該更新并且等待一小段時間,并且向服務器/提供商495發(fā)起另一數(shù)據(jù)請求。
在一個實施例中,設備450上的請求客戶端或軟件窗口小部件455可以在處理向服務器/提供商495做出的數(shù)據(jù)請求時使用分布式代理系統(tǒng)460。一般來說,分布式代理系統(tǒng)460可以包括本地代理465(其通常被認為是系統(tǒng)460的客戶端組件并且可以駐留在移動設備450上),緩存代理475(被認為是系統(tǒng)460的服務器端組件470,并且可以駐留在主機服務器485上,或者完全地或部分地在主機服務器485外),和主機服務器485。本地代理465可以經(jīng)由任何網(wǎng)絡或網(wǎng)絡的組合連接到緩存代理475和主機服務器485。
當分布式代理系統(tǒng)460用于數(shù)據(jù)/應用請求時,窗口小部件455可以經(jīng)由本地代理465執(zhí)行該數(shù)據(jù)請求456。本地代理465可以攔截由設備應用做出的請求,并且可以識別請求的連接類型(例如,HTTP獲取請求或其他類型的請求)。然后,本地代理465可以向本地緩存查詢關于請求的任何先前信息(例如,確定本地存儲的響應是否可用和/或仍然有效)。如果本地存儲的響應不可用或者如果存儲了無效的響應,則本地代理465可以在本地緩存中更新或存儲關于請求的信息,該請求做出的時間以及任何附加數(shù)據(jù)。信息可以被更新信息以用于潛在的滿足后續(xù)請求。
然后,本地代理465可以將請求發(fā)送到主機服務器485,并且主機服務器485可以執(zhí)行請求456并且在響應458中返回結果。本地代理465可以存儲該結果,并且另外存儲關于該結果的信息,并將結果返回給該請求窗口小部件455。
在一個實施例中,如果相同的請求已經(jīng)發(fā)生多次(在一特定時間段內)并且其經(jīng)常產(chǎn)生相同的結果,則本地代理465可以通知460服務器485(例如,步驟462和464 ):應該在將結果返回到本地代理465或請求窗口小部件455之前監(jiān)視該請求的結果變化。
在一個實施例中,如果請求被標記為監(jiān)視,則本地代理465現(xiàn)在可以將結果存儲到本地緩存中。現(xiàn)在,當本地響應可用的數(shù)據(jù)請求466由窗口小部件455做出并在本地代理465處被攔截時,本地代理465可以從本地緩存返回該響應468,而不需要通過無線網(wǎng)絡建立連接通信。
另外,服務器代理執(zhí)行標記為監(jiān)視的請求470以確定用于給定請求的響應472是否已經(jīng)改變。一般來說,主機服務器485可獨立于窗口小部件455或本地代理465操作來執(zhí)行此監(jiān)視。每當接收到針對請求的意外響應472時,服務器485可以通知本地代理465響應已經(jīng)改變(例如,步驟474中的無效通知)并且客戶端上本地存儲的響應應當被擦除或被新響應替換。
在這種情況下,來自設備450的窗口小部件455的后續(xù)數(shù)據(jù)請求476導致數(shù)據(jù)被從主機服務器485(例如,經(jīng)由緩存代理475)返回,并且在步驟478中,由緩存代理滿足該請求。因此,通過利用分布式代理系統(tǒng)460,當用于移動設備450上的窗口小部件或軟件應用455的內容/數(shù)據(jù)實際上已改變時,智能地使用無線(蜂窩)網(wǎng)絡。 因此,檢查應用數(shù)據(jù)的改變所需的流量不是通過無線(蜂窩)網(wǎng)絡執(zhí)行的。 這減少了生成的網(wǎng)絡流量的量,并且縮短了無線電模塊在移動設備450上加電的總時間和次數(shù),因此減少了電池消耗,并且還釋放了網(wǎng)絡帶寬。
圖6描繪了示出可以用于實現(xiàn)網(wǎng)絡訪問和內容傳送策略的不同流量或應用類別類型的示例的表700。例如,業(yè)務/應用類別可以包括交互的或后臺的,用戶是否正在等待響應,前臺/后臺應用,以及背光是打開還是關閉。
圖7描繪了示出可以用于實現(xiàn)網(wǎng)絡訪問和內容遞送策略的不同內容類別類型的示例的表800。例如,內容類別類型可以包括高或低優(yōu)先級,以及時間關鍵性或非時間關鍵性的內容/數(shù)據(jù)。
圖8描繪了示出應用(例如,移動應用)955如何輪詢具有通過無線網(wǎng)絡從移動設備到應用服務器/內容提供商995的數(shù)據(jù)請求的交互圖,其可以被能夠被緩存在本地代理965上并且由分布式緩存系統(tǒng)(包括本地代理965和主機服務器985(具有服務器緩存935或緩存代理服務器975))管理。
在一個示例中,當移動應用/窗口小部件955輪詢應用服務器/提供商932時,該輪詢可以在移動設備上被本地代理965本地攔截。本地代理965可以檢測到緩存的內容可用于請求中被輪詢的內容,并且因此可以從本地緩存檢索響應以滿足被攔截的輪詢936,而不需要使用無線網(wǎng)絡帶寬或其他無線網(wǎng)絡資源。移動應用/窗口小部件955隨后可以從緩存條目938接收對該輪詢的響應。
在另一示例中,移動應用窗口小部件955輪詢該應用服務器/提供商940。該輪詢被本地代理965攔截942,并且檢測到緩存內容在本地緩存中不可用,并且決定設置用于緩存的輪詢源944。為了滿足該請求,輪詢被轉發(fā)到內容源946。應用服務器/提供商995從應用接收輪詢請求,并提供響應以滿足當前請求948。在950中,應用(例如,移動應用) /窗口小部件955從應用服務器/提供商接收響應以滿足該請求。
結合起來,為了建立內容緩存,本地代理965跟蹤該應用的輪詢頻率,并且可以建立被發(fā)送到主機服務器952的輪詢調度表。本地代理將建立的緩存發(fā)送到主機服務器954。主機服務器985可以使用該建立的緩存,其包括,例如要輪詢的應用服務器/提供商的標識以及可選的輪詢調度表956。主機服務器985現(xiàn)在可以輪詢應用服務器/提供商995以為了移動設備監(jiān)視對請求958的響應。應用服務器從主機服務器接收該輪詢并且響應960。主機服務器985確定已經(jīng)接收到相同的響應,并且根據(jù)指定的輪詢調度表962輪詢該應用服務器995。應用服務器/內容提供商995接收該輪詢并相應地響應964。
主機服務器985檢測改變的或新的響應并通知本地代理965。主機服務器985可以另外將該改變的或新的響應存儲在服務器緩存或緩存代理968中。本地代理965從主機服務器985接收新的或改變的數(shù)據(jù)現(xiàn)在可用的通知并且可以無效受影響的緩存條目970。下一次應用(例如,移動應用)/窗口小部件955對相同的服務器/內容提供商972生成相同的請求時,本地代理確定沒有有效緩存條目是可用的,并且代之以例如通過HTTP連接從服務器緩存974檢索響應。 主機服務器985接收對新響應的請求,并將該響應976發(fā)送回本地代理965。該請求因此從服務器緩存或緩存代理978得到滿足,而不需要移動設備利用其無線電或消耗移動網(wǎng)絡帶寬,從而節(jié)約網(wǎng)絡資源。
或者,當應用(例如,移動應用)在步驟980中生成相同的請求時,本地代理965在響應確定沒有有效的緩存條目可用時,在步驟982中通過移動網(wǎng)絡將該輪詢轉發(fā)到應用服務器/提供商。應用服務器/提供商995接收該輪詢,并在步驟984中通過移動網(wǎng)絡將響應發(fā)送回移動設備。該請求因此在步驟986中從使用移動網(wǎng)絡的服務器/提供商得到滿足。
信號或連接模型示例
圖9描繪了示出用于對移動網(wǎng)絡中的移動設備(例如,任何無線設備)的信號進行建模的示例過程的流程圖。關于圖9示出的操作或步驟通過移動設備與性能進行討論。然而,可以在各種實施例中通過本文所討論的網(wǎng)絡優(yōu)化架構的一個或多個組件中的任何一個來執(zhí)行該操作或步驟。例如,操作或步驟可以由移動設備的網(wǎng)絡優(yōu)化客戶端代理(例如,圖1A-1的移動設備150的網(wǎng)絡優(yōu)化客戶端代理175),移動設備(例如,移動設備150),網(wǎng)絡優(yōu)化(主機)服務器(例如,網(wǎng)絡優(yōu)化(主機)服務器100),一個或多個處理器,和/或本文所討論的其他組件,模塊,引擎或工具。額外的或更少的數(shù)據(jù)流操作是可能的。
開始時,在步驟1010,移動設備跟蹤在移動網(wǎng)絡中的移動設備上執(zhí)行的移動應用發(fā)起的事務。在步驟1012,移動設備確定事務是否導致網(wǎng)絡信號需要相應的無線電連接。在步驟1014,移動設備為移動設備建模網(wǎng)絡信號。
圖10描繪了示出用于對移動網(wǎng)絡中的移動設備(例如,任何無線設備)的信號進行建模的示例過程的流程圖。關于圖9所述的操作或步驟通過移動設備與性能進行討論。然而,操作或步驟可以在各種實施例中由本文所討論的網(wǎng)絡優(yōu)化架構的一個或多個組件來執(zhí)行。例如,操作或步驟可以由移動設備的網(wǎng)絡優(yōu)化客戶端代理(例如,圖1A-1的移動設備150的網(wǎng)絡優(yōu)化客戶端代理175),移動設備(例如,移動設備150),網(wǎng)絡優(yōu)化(主機)服務器(例如,網(wǎng)絡優(yōu)化(主機)服務器100),一個或多個處理器,和/或本文所討論的其他組件,模塊,引擎或工具。額外的或更少的數(shù)據(jù)流操作是可能的。
開始時,在步驟1020,移動設備訪問與移動設備相關聯(lián)的無線電日志。 該無線電日志可以指示移動設備無線電的狀態(tài)。在步驟1022,移動設備訪問與該移動設備相關聯(lián)的流量活動日志。該流量活動日志可以指示在移動設備中的多個測量點處被測量的各種流量指標。在步驟1024,移動設備基于無線電日志和流量活動日志中的一個或多個來計算一個或多個日志/報告數(shù)據(jù)字段。在步驟1026,移動設備基于該一個或多個日志/報告數(shù)據(jù)字段對移動設備的網(wǎng)絡信號進行建模。
常規(guī)連接和時間計算示例
圖11A- 圖16D描繪了用于確定一般連接和時間計算的日志/報告數(shù)據(jù)字段的計算示例。如本文所討論的,各種字段計算可以用于對移動網(wǎng)絡中的信號進行建模。重要的是,下面討論的日志/報告數(shù)據(jù)字段計算示例包括以下標記方法:
?短時間戳格式(例如,使用07:26:00.000代替完整格式2012-10-30 07:26:00.000);
?輸入日志中僅顯示計算所需的字段;
?使用網(wǎng)絡延遲的示例默認值(例如,15 000毫秒);
?使用請求延遲的示例默認值(例如,1 000毫秒);
?使用拆分比的默認值示例(例如,3000);
?術語“休眠”和“網(wǎng)絡延遲”同義使用。
這里討論的示例連接和時間計算主要基于兩個主要數(shù)據(jù)收集:無線電開啟間隔和被過濾的網(wǎng)絡日志(netLog,也稱為流量活動日志)。
如上所述,擴展的日志/報告數(shù)據(jù)字段可以被劃分為多種類型。例如,擴展的日志/報告數(shù)據(jù)字段可以包括連接標志類型和連接時間計數(shù)類型(參見,例如附錄A和B)。另外,擴展的日志/報告數(shù)據(jù)字段可以被劃分為如上面表1中所示的幾個類別。
更具體地,圖11A和11B示出了真實的(或實際的)無線電時間間隔和相應的日志/報告數(shù)據(jù)字段示例的計算。圖12A和12B示出了虛擬無線電時間間隔和相應的日志/報告數(shù)據(jù)字段示例的計算。圖13A和13B示出了模擬無線電時間間隔和相應的日志/報告數(shù)據(jù)字段示例的計算。圖14A和14B示出了虛擬模擬無線電時間間隔和相應的日志/報告數(shù)據(jù)字段示例的計算。圖15A-15D示出了每個應用的模擬無線電開啟間隔示例的計算。圖16A-16D示出了每個應用的虛擬模擬無線電開啟間隔和相應的日志/報告數(shù)據(jù)字段示例的計算。
真實的(或實際的)字段示例計算
首先參考圖11A和11B,其分別示出了用于計算真實的(或實際的)無線電開啟間隔示例的操作說明和真實的(或實際的)無線電時間間隔示例的圖形說明。該真實的(或實際的)字段計算包括一實際連接字段和一實際連接時間字段的計算。
實際連接字段指示一通過網(wǎng)絡發(fā)生的真實連接。無線電日志可以指示一移動設備無線電在一段時間內的各種狀態(tài),并且因此可以用于進行該實際連接字段的計算。也就是說,移動設備無線電的狀態(tài)可以用于確定移動設備無線電是否是/已啟動。例如,在一些實施例中,如果無線電日志的當前狀態(tài)指示移動設備無線電的當前狀態(tài)被設置為DATA_ACTIVITY_CONNECTED狀態(tài)或WCDMA_DCH狀態(tài),則該移動設備無線電被認為是啟動的(或活躍的)。相反,如果移動設備無線電的當前狀態(tài)被設置為DATA_ACTIVITY_DORMANT狀態(tài)或IDLE狀態(tài),則該移動設備無線電被認為是關閉的(或不活躍的)。
在一個實施例中,計算的實際時間字段指示了移動設備的無線電信道在開啟期間的總的時間間隔。也就是說,實際時間字段指示了網(wǎng)絡信道用于傳送數(shù)據(jù)(例如,去往或來自客戶端)期間的時間。當網(wǎng)絡日志項處于無線電開啟間隔時,實際時間可以計算為兩個最近的網(wǎng)絡日志項之間的所有時間間隔的總和。重要的是,當計算實際時間字段時,如果特定的網(wǎng)絡日志項是無線電開啟日志項之后的日志中的第一個網(wǎng)絡日志項,則其連接的實際連接等于兩個值的和:
?此網(wǎng)絡日志項與其后的最近的網(wǎng)絡日志之間的時間間隔
?無線電開啟和此網(wǎng)絡日志項之間的時間間隔
如參考圖11B的示例所討論的,實際連接字段和實際時間字段可以通過首先讀取與移動設備相關聯(lián)的無線電訪問日志和流量活動日志(本文中也稱為網(wǎng)日志或網(wǎng)絡日志)來計算。無線電訪問日志和流量活動日志的相關部分可以在本文中共同被稱為與移動設備相關聯(lián)的輸入日志。在圖11A的示例中,下面的表3指示了輸入網(wǎng)絡日志和輸入無線電日志(統(tǒng)稱為輸入日志)的相關部分。
。
表3 - 輸入網(wǎng)絡日志和無線電字段
如上所述,輸入網(wǎng)絡日志和輸入無線電日志各自包括各種網(wǎng)絡日志項。網(wǎng)絡日志項由 “NLx”指示,而無線電日志項使用“RLx”指示。
諸如圖2E的日志/報告數(shù)據(jù)分析核心255a或圖3E的CRSC分析核心375a的crcs分析核心工具處理輸入日志(們),例如,以基于該一個或多個輸入日志(例如,無線電日志和流量活動日志),計算一個或多個附加的日志/報告數(shù)據(jù)字段。該過程可以包括利用一個或多個長輪詢技術將一個網(wǎng)絡日志項拆分為兩個或更多個網(wǎng)絡日志項。參考圖19A和19B更詳細地示出和討論了更多長輪詢技術中的一種的使用。如本示例所示,crcs分析核心工具為每個網(wǎng)絡日志項計算實際連接字段(或標志)和實際時間字段。下面示出了示例輸出表4。
表4-輸出網(wǎng)絡日志字段
在此示例中,RL1是無線電開啟日志,因為其“狀態(tài)”字段是data_activity_connected,并且其前一個狀態(tài)(“prev_state”)是data_activity_dormant。 類似地,RL2是無線電關閉日志,因為其“狀態(tài)”字段是data_activity_dormant并且其前一個狀態(tài)(“prev_state”)是data_activity_connected。 因此,實際無線電開啟間隔是:07:30:00.000-07:26:00.000 = 4min = 240sec = 240 000ms。
關于實際連接的計算,NL1進行實際連接,因為它是無線電開啟之后的第一個網(wǎng)絡日志,所以這個網(wǎng)絡日志開始了一新的連接。NL2和NL3在無線電已經(jīng)開啟時發(fā)生,因此它們不會開始新的連接。因此,實際連接NL1 = 1; 實際連接NL2 = 0; 并且實際連接NL3 = 0。關于實際時間計算:
實際時間 NL1 = [RL1, NL1] + [NL1, NL2];
實際時間 NL2 = [NL2, NL3]; 并且
實際時間 NL3 = [NL3, RL2]。
其中,
[RL1,NL1]是無線電日志項RL1和網(wǎng)絡日志項NL1之間的時間間隔;
[NL1,NL2]同樣為網(wǎng)絡日志項NL1和網(wǎng)絡日志項NL2之間的時間間隔;
[NL2,NL3]同樣為網(wǎng)絡日志項NL2和網(wǎng)絡日志項NL3之間的時間間隔;
[NL3,RL2]是網(wǎng)絡日志項NL3和無線電日志項RL2之間的時間間隔;
即,
[RL1,NL1] = 07:26:00.500 - 07:26:00.000 = 0 500
[NL1,NL2] = 07:26:20.000 - 07:26:00.500 = 19 500
[NL2,NL3] = 07:27:00.000 - 07:26:20.000 = 20 000
[NL3,RL2] = 07:30:00.000-07:27:00.000 = 180000
從而,
實際時間NL1 = [07:26:00.500 - 07:26:00.000] + [07:26:20.000 - 07:26:00.500] = 500 + 19 500 =2000;
實際時間NL2 = 07:27:00.000 - 07:26:20.000 = 40 000;
實際時間NL3 = 07:30:00.000 - 07:27:00.000 = 180 000;
虛擬字段計算示例
接下來參考圖12A和圖12B,其分別示出了用于計算虛擬無線電開啟間隔的示例操作和虛擬無線電開啟間隔示例的圖形說明。更具體地,虛擬字段計算包括虛擬連接字段和虛擬連接時間字段的計算。
如上所述,crcs分析核心工具或模塊(未示出)可以計算由crcs分析核心工具維護和利用的擴展的日志/報告數(shù)據(jù)字段,以建模移動網(wǎng)絡中的移動設備的信號。更具體地,crcs分析核心工具可以對網(wǎng)絡優(yōu)化架構(例如,包括本文所討論的信號優(yōu)化和擴展緩存技術的分布式緩存技術)的效果進行建模。例如,諸如圖2E的日志/報告數(shù)據(jù)分析核心255a或者圖3E的CRSC分析核心375a之類的crcs分析核心工具或模塊,可以計算該虛擬無線電開啟間隔。該計算可以包括基于一個或多個輸入日志(例如,無線電日志和包括緩存命中信息的流量活動日志)來計算一個或多個附加的日志/報告數(shù)據(jù)字段。
更具體地,如圖12B的示例所示,crcs分析核心工具或模塊利用無線電日志和緩存命中網(wǎng)絡日志來計算該虛擬無線電開啟間隔。虛擬字段示出了移動設備上‘如果沒有’該網(wǎng)絡優(yōu)化客戶端將發(fā)生哪些“連接”。圖12A示出了用于虛擬字段的計算的架構示例。
虛擬連接字段指示通過緩存(沒有無線電開啟)或通過真實的 (實際的)連接做出的虛擬連接。也就是說,虛擬連接示出了如果沒有網(wǎng)絡優(yōu)化客戶端在移動設備上操作則將發(fā)生什么連接。類似地,虛擬時間字段指示如果在移動設備上的操作沒有安裝網(wǎng)絡優(yōu)化客戶端則無線電信道將開啟的時間間隔。因此,總虛擬時間總是等于或大于關于圖11A和圖11B的示例計算的實際時間。
參考圖12A和圖12B的示例,下面的表5指示輸入網(wǎng)絡日志和輸入無線電日志(統(tǒng)稱為輸入日志)示例的相關部分。
表5-輸入網(wǎng)絡日志字段
在一些實施例中,記錄DL不是輸入日志(中的一項)的一部分。 如上所述,輸入網(wǎng)絡日志和輸入無線電日志各自包括各種網(wǎng)絡日志項。 如本文所討論的,網(wǎng)絡日志項由 “NLx”指示,而無線電日志項使用“RLx”來指示。
如本示例所示,crcs分析核心工具為每個網(wǎng)絡日志項計算實際連接字段(或標志)和實際時間字段。下面示出了輸出示例表6。
表6-輸出網(wǎng)絡日志字段
在該示例中,RL1被計算為第一虛擬無線電開啟日志項或條目,因為實際上發(fā)生了真實的無線電開啟。RL2被計算為第一無線電關閉日志,因為實際上發(fā)生了真實的無線電關閉。NL4被計算為第二虛擬無線電開啟日志,因為“CLIENT_BYTES_IN”或“CLIENT_BYTES_OUT”大于零。也就是說,在NL4處,數(shù)據(jù)在網(wǎng)絡優(yōu)化客戶端和網(wǎng)絡優(yōu)化服務器之間傳輸。DL被計算為第二無線電關閉日志,因為網(wǎng)絡延遲恰好在DL處結束。此外,在該示例中,NL5不被計算為日志中的虛擬無線電開啟,因為NL4和NL5之間的時間間隔小于休眠。
關于虛擬連接字段的計算,NL1產(chǎn)生虛擬連接,因為它進行實際連接。NL4產(chǎn)生虛擬連接,因為它使得虛擬無線電開啟。因此:
虛擬連接NL1 = 1
虛擬連接NL2 = 0
虛擬連接NL3 = 0
虛擬連接NL4 = 1
虛擬連接NL5 = 0
關于虛擬時間字段的計算:
虛擬時間NL1 =實際時間NL1
虛擬時間NL2 =實際時間NL2
虛擬時間NL3 =實際時間NL3
虛擬時間NL4 = [NL4,NL5]
虛擬時間NL5 = [NL5,DL]
其中,
[NL4,NL5]是網(wǎng)絡日志項NL4和網(wǎng)絡日志項NL5之間的時間間隔
[NL5,DL]是網(wǎng)絡日志項NL5和虛擬無線電關閉項DL之間的時間間隔
并且,
[NL4,NL5] = 07:31:01.500 - 07:31:00.000 = 1 500
[NL1,NL2] = 07:31:16.500-07:31:01.500 = 15000
這里DL是從虛擬無線電開啟開始的網(wǎng)絡延遲發(fā)生的時間。 從而,
虛擬時間NL1 = 20 000
虛擬時間NL2 = 40 000
虛擬時間NL3 = 180 000
虛擬時間NL4 = 1 500
虛擬時間NL5 = 15 000
因此,
總虛擬時間=總實際時間+休眠(網(wǎng)絡延遲)
總虛擬時間= 240 000 + 16 500 = 256 500
虛擬時間NL1 = 20 000
虛擬時間NL2 = 40 000
虛擬時間NL3 = 180 000
虛擬時間NL4 = 1 500
虛擬時間NL5 = 15 000
模擬字段計算示例
接下來參考圖13A和圖13B,其分別示出了用于模擬無線電開啟間隔的計算操作示例和模擬無線電開啟間隔示例的圖形說明。更具體地,模擬字段計算包括模擬連接字段和模擬連接時間字段的計算。
在一個實施例中,crcs分析核心工具或模塊(未示出)可以計算由crcs分析核心工具維護和利用的擴展的日志/報告數(shù)據(jù)字段,以建模移動網(wǎng)絡中的移動設備的信號。更具體地,crcs分析核心工具可以對網(wǎng)絡優(yōu)化架構(例如,包括本文所討論的包括信號優(yōu)化和擴展緩存技術的分布式緩存技術)的效果進行建模。例如,諸如圖2E的日志/報告數(shù)據(jù)分析核心255a或圖3E的CRSC分析核心375a的crcs分析核心工具或模塊可以計算模擬無線電開啟間隔。該計算可以包括基于一個或多個輸入日志(例如,包括網(wǎng)絡命中信息的流量活動日志)來計算一個或多個附加的日志/報告數(shù)據(jù)字段。
更具體地,如圖13B的示例所示,crcs分析核心工具或模塊利用網(wǎng)絡命中網(wǎng)絡日志( networkHit netLogs)來計算模擬無線電開啟間隔。
為了計算模擬字段,系統(tǒng)假定移動設備中的所有應用都使用網(wǎng)絡優(yōu)化客戶端,并且沒有應用可以在沒有網(wǎng)絡優(yōu)化的情況下啟動連接。那種情況的無線電日志被稱為模擬無線電日志。模擬連接字段指示如果在電話上沒有其他應代替那些在網(wǎng)絡優(yōu)化客戶端的控制下的應用,則將通過網(wǎng)絡發(fā)生的連接。類似地,模擬時間字段指示如果在電話上沒有其他應用代替那些在網(wǎng)絡優(yōu)化客戶端的控制下的應用,則將通過網(wǎng)絡將發(fā)生的連接的時間。
參考圖13A和圖13B的示例,下面的表7指示了包括網(wǎng)絡命中的輸入流量活動日志的相關部分。在一些實施例中,當計算模擬無線電開啟間隔時,可以忽略真實的(實際的)無線電日志。因此,真實的(虛擬的)無線電日志項在下面的輸入表數(shù)據(jù)中沒有示出。
表7-輸入網(wǎng)絡日志字段
在該示例中,記錄(或項)DL1,DL2和DL3不是輸入。 相反,為了描述的清楚起見而示出了這些記錄。如本文所討論的,網(wǎng)絡日志項由 “NLx”指示。
諸如例如圖2E的日志/報告數(shù)據(jù)分析核心255a或圖3E的CRSC分析核心375a的crsc分析核心工具處理輸入日志(們),例如,以基于一個或多個輸入日志(例如,流量活動日志)計算一個或多個附加的日志/報告數(shù)據(jù)字段。該過程可以包括利用一個或多個長輪詢技術將一網(wǎng)絡日志項拆分為兩個或更多個網(wǎng)絡日志項。參照圖19A更詳細地示出和討論了該過程。如本示例所示,crcs分析核心工具計算模擬連接字段(或標志)和模擬時間字段。下面示出了一示出輸出網(wǎng)絡日志字段的輸出示例表8。
表8-輸出網(wǎng)絡日志字段
在此示例中,NL1是第一模擬無線電開啟日志,因為網(wǎng)絡日志項在此開始。DL1是第一模擬無線電關閉日志,因為網(wǎng)絡延遲恰好在那時結束。NL2是第二模擬無線電開啟日志,原因與NL1相同。DL2是第二模擬無線電關閉日志,原因與RL1相同。NL3是第三模擬無線電開啟日志,原因與NL1相同。DL3是第三模擬無線電關閉日志,原因與RL1相同。
關于模擬連接字段的計算,NL1,NL2和NL3產(chǎn)生一模擬連接,因為它們均各自產(chǎn)生一模擬無線電開啟。因此,
模擬連接NL1 = 1;
模擬連接NL2 = 1;
模擬連接NL3 = 1。
關于模擬時間字段的計算,如果兩個相鄰網(wǎng)絡日志項之間的時間間隔大于休眠,則該第一個網(wǎng)絡日志項將具有等于休眠的模擬時間。否則,兩個相鄰網(wǎng)絡日志項之間的時間間隔將是該網(wǎng)絡日志項之間的實際時間。圖13C中示出了一個示例。
因此, 在圖13A-13C的示例中
模擬時間NL1 =休眠(網(wǎng)絡延遲)= 15 000
模擬時間NL2 =休眠(網(wǎng)絡延遲)= 15 000
模擬時間NL3 =休眠(網(wǎng)絡延遲)= 15 000
虛擬模擬字段計算示例
圖14A和14B分別示出了用于虛擬模擬無線電開啟間隔的計算的示例架構和虛擬模擬無線電時間間隔的圖示。更具體地,下面描述的虛擬模擬字段計算包括虛擬模擬字段和虛擬模擬連接時間的計算。
在一個實施例中,crcs分析核心工具或模塊(未示出)可以計算由該crcs分析核心工具維護和利用的擴展的日志/報告數(shù)據(jù)字段,以建模移動網(wǎng)絡中的移動設備的信號。更具體地,該crcs分析核心工具可以對網(wǎng)絡優(yōu)化架構(例如,包括本文所討論的信號優(yōu)化和擴展緩存技術的分布式緩存技術)的效果進行建模。例如,該crcs分析核心工具或模塊,例如諸如圖2E的日志/報告數(shù)據(jù)分析核心255a或圖3E的CRSC分析核心375a的crcs分析核心工具或模塊可以計算虛擬模擬無線電開啟間隔。該計算可以包括基于一個或多個輸入日志(例如,無線電日志和包括網(wǎng)絡命中和緩存命中信息的流量活動日志)來計算一個或多個附加的日志/報告數(shù)據(jù)字段。
更具體地,如圖14B中的示例所示,該crcs分析核心工具或模塊使用網(wǎng)絡命中和緩存命中網(wǎng)絡日志來計算虛擬模擬無線電開啟間隔。 如本文所討論的,無線電開啟(或活躍)間隔。
虛擬模擬字段指示在模擬環(huán)境中發(fā)生的連接,在該模擬環(huán)境中,移動設備上的通常使用該網(wǎng)絡優(yōu)化客戶端的所有應用被模擬,但是該移動設備上并不存在網(wǎng)絡優(yōu)化。
虛擬模擬連接字段指示在模擬環(huán)境中將通過網(wǎng)絡發(fā)生的連接(們),在該模擬環(huán)境中,移動設備上的通常使用該網(wǎng)絡優(yōu)化客戶端的所有應用被模擬,但是在該移動設備上并不存在網(wǎng)絡優(yōu)化。類似地,虛擬模擬時間字段指示在模擬環(huán)境中將通過網(wǎng)絡發(fā)生的連接的連接時間,在該模擬環(huán)境中,移動設備上的通常使用該網(wǎng)絡優(yōu)化客戶端的所有應用被模擬,但是在該移動設備上不存在網(wǎng)絡優(yōu)化。
參考圖14A和圖14B的示例,下面的表9指示了包括網(wǎng)絡命中的輸入日志的相關部分。模擬環(huán)境中,移動設備上的通常使用網(wǎng)絡優(yōu)化客戶端的所有應用被模擬,但是在該移動設備上不存在網(wǎng)絡優(yōu)化。
表9-輸入網(wǎng)絡日志字段
在該示例中,記錄(或項)DL1,DL2和DL3不是輸入。相反,為了描述的清楚起見示出這些記錄。如本文所討論的,網(wǎng)絡日志項由 “NLx”指示。
諸如例如圖2E的日志/報告數(shù)據(jù)分析核心255a或圖3E的CRSC分析核心375a的crcs分析核心工具處理輸入日志(們),例如,以基于一個或多個輸入日志(例如,流量活動日志)計算一個或多個附加的日志/報告數(shù)據(jù)字段。該過程可以包括利用一個或多個長輪詢技術將一個網(wǎng)絡日志項拆分為兩個或更多個網(wǎng)絡日志項。參照圖19A更詳細地示出和討論了該過程。如本示例所示,crcs分析核心工具計算模擬連接字段(或標志)和模擬時間字段。下面示出了描述輸出網(wǎng)絡日志字段的輸出示例表10。
表10-輸出網(wǎng)絡日志字段
在本示例中,NL4是第四虛擬模擬無線電開啟日志,因為“CLIENT_BYTES_IN”或“CLIENT_BYTES_OUT”大于零,表示數(shù)據(jù)被傳輸于網(wǎng)絡優(yōu)化客戶端和網(wǎng)絡優(yōu)化服務器之間。注意,NL5不是一虛擬模擬無線電開啟日志項,因為NL4和NL5之間的時間間隔小于休眠。
每個應用的模擬字段計算示例
圖15A和15B分別示出了用于計算模擬無線電開啟間隔的示例架構和模擬無線電時間間隔示例的圖示。更具體地,下面描述的模擬字段計算包括基于每個應用的虛擬模擬字段和虛擬模擬連接時間字段的計算。
在一個實施例中,crcs分析核心工具或模塊(未示出)可以計算由crcs分析核心工具維護和利用的擴展的日志/報告數(shù)據(jù)字段,以建模移動網(wǎng)絡中的移動設備的信號。更具體地,crcs分析核心工具可以對網(wǎng)絡優(yōu)化架構(例如,包括本文所討論的信號優(yōu)化和擴展緩存技術的分布式緩存技術)的效果進行建模。例如,諸如圖2E的日志/報告數(shù)據(jù)分析核心225a或圖3E的CRSC分析核心375a的crcs分析核心工具或模塊可以在每個應用的基礎上計算模擬無線電開啟間隔。 該計算可以包括基于一個或多個輸入日志(例如,包括網(wǎng)絡命中信息的流量活動日志)來計算一個或多個附加的日志/報告數(shù)據(jù)字段。
更具體地,如圖15B的示例所示,crcs分析核心工具或模塊利用某些應用的網(wǎng)絡日志來計算每個應用的模擬的無線電開啟間隔。在圖15B的示例中,網(wǎng)絡日志NL1與第一應用#1相關聯(lián),網(wǎng)絡日志NL2和NL3與第二應用#2相關聯(lián)。
在圖15C的示例中示出了每個第一應用#1的模擬無線電開啟間隔。 類似地,圖15D示出了每個第二應用#2的模擬無線電開啟間隔。
模擬各應用字段指示了在模擬環(huán)境中發(fā)生的連接,在該模擬環(huán)境中,移動設備上的通常使用網(wǎng)絡優(yōu)化客戶端的所有應用被模擬,但是在該移動設備并不存在網(wǎng)絡優(yōu)化。為了計算模擬各應用字段,系統(tǒng)僅考慮在移動設備上的一個應用(例如,應用#1)。該一個應用(例如,應用#1)利用網(wǎng)絡優(yōu)化客戶端,并且沒有應用可以在沒有網(wǎng)絡優(yōu)化的情況下開始連接。這種情況的無線電日志稱為模擬各應用無線電日志。
模擬各應用連接是指如果在移動設備上安裝了一個應用(在網(wǎng)絡優(yōu)化客戶端的控制下)并且在電話上沒有其他應用,則將通過網(wǎng)絡發(fā)生的連接。類似地,模擬各應用時間是指如果在移動設備上安裝了一個應用(在網(wǎng)絡優(yōu)化客戶端的控制下)并且在電話上沒有其他應用,則將通過網(wǎng)絡發(fā)生的連接的時間。
參考圖15A和圖15B的示例,下面的表11指示了包括網(wǎng)絡命中的輸入日志的相關部分。在計算模擬無線電開啟間隔時,我們忽略真實的(實際的)無線電日志,這就是為什么它們不在輸入數(shù)據(jù)中顯示的原因。參見表11中的示例。
表11-輸入網(wǎng)絡日志字段
在該示例中,記錄(或項)DL1,DL2和DL3不是輸入。 相反,為了描述的清楚起見,示出了這些記錄。如本文所討論的,網(wǎng)絡日志項由“NLx”指示。
諸如圖2E的日志/報告數(shù)據(jù)分析核心255a或圖3E的CRSC分析核心375a之類的crcs分析核心工具處理輸入日志(們),例如,以基于一個或多個輸入日志(例如,流量活動日志)計算一個或多個附加的日志/報告數(shù)據(jù)字段。該過程可以包括利用一個或多個長輪詢技術將一個網(wǎng)絡日志項拆分為兩個或更多個網(wǎng)絡日志項。該過程參照圖19A更詳細地被示出和討論。如本示例所示,crcss分析核心工具計算每個應用的模擬連接字段(或標志)和每個應用的模擬時間字段。 下面示出了輸出網(wǎng)絡日志字段的示例輸出表12。
表12-輸出網(wǎng)絡日志字段
在此示例中,NL1是第一模擬無線電開啟日志,因為網(wǎng)絡日志項在此開始。DL1是第一模擬無線電關閉日志,因為恰好在那時網(wǎng)絡延遲結束。NL2是第二模擬無線電開啟日志,原因與NL1相同。DL2是第二模擬無線電關閉,原因與RL1相同。NL3是第三模擬無線電開啟日志,與NL1相同。DL3是第三模擬無線電關閉日志,原因與RL1相同。
關于模擬各應用連接字段,NL1,NL2和NL3產(chǎn)生模擬連接,因為它們各自引起模擬無線電開啟事件。因此,
模擬連接NL1 = 1
模擬連接NL2 = 1
模擬連接NL3 = 1
并且,
模擬時間NL1 =休眠(網(wǎng)絡延遲)= 15 000
模擬時間NL2 =休眠(網(wǎng)絡延遲)= 15 000
模擬時間NL3 =休眠(網(wǎng)絡延遲)= 15 000
每個應用的虛擬模擬字段計算示例
圖16A和16B分別示出了用于計算一每個應用的虛擬模擬無線電開啟間隔的示例架構以及一每個應用的虛擬模擬無線電時間間隔的示例。 更具體地,下面描述每個應用的虛擬模擬字段計算包括每個應用的虛擬模擬字段和每個應用的虛擬模擬連接時間字段的計算。
在一個實施例中,crcs分析核心工具或模塊(未示出)可以計算由該crcs分析核心工具維護和利用的擴展的日志/報告數(shù)據(jù)字段,以建模移動網(wǎng)絡中的移動設備的信號。更具體地,crcs分析核心工具可以對網(wǎng)絡優(yōu)化架構(例如,包括本文所討論的信號優(yōu)化和擴展緩存技術的分布式緩存技術)的效果進行建模。例如,諸如圖2E的日志/報告數(shù)據(jù)分析核心255a或圖3E的CRSC分析核心375a的crcs分析核心工具或模塊可以計算虛擬模擬無線電開啟間隔。該計算可以包括基于一個或多個輸入日志(例如,無線電日志和包括網(wǎng)絡命中和緩存命中信息的流量活動日志)來計算一個或多個附加的日志/報告數(shù)據(jù)字段。
更具體地,如圖16B的示例所示,crcs分析核心工具或模塊使用網(wǎng)絡命中和緩存命中網(wǎng)絡日志來計算虛擬模擬無線電開啟間隔。如本文所討論的,該無線電開啟間隔指示了移動設備無線電活躍期間的時間段。
在圖16C的示例中,示出了與第一應用#1相關聯(lián)的虛擬模擬無線電開啟間隔。類似地,圖16D的示例示出了與第二應用#2相關聯(lián)的虛擬模擬無線電開啟間隔。
每個應用的虛擬模擬用字段指示了在模擬環(huán)境中發(fā)生的連接,在該模擬環(huán)境中,移動設備上的通常使用網(wǎng)絡優(yōu)化客戶端的單個應用被模擬,但是在該移動設備上不存在網(wǎng)絡優(yōu)化。
每個應用的虛擬模擬連接字段指示了在模擬環(huán)境中將通過網(wǎng)絡發(fā)生的連接(們),在該模擬環(huán)境中,在移動設備上的通常使用該網(wǎng)絡優(yōu)化客戶端的單個應用被模擬,但是在移動設備上不存在網(wǎng)絡優(yōu)化。 類似地,虛擬模擬時間字段指示了在模擬環(huán)境中通過網(wǎng)絡發(fā)生的連接的連接時間,在該模擬環(huán)境中,移動設備上的通常使用網(wǎng)絡優(yōu)化客戶端的單個應用被模擬,但是在移動設備上不存在網(wǎng)絡優(yōu)化。
參考圖16A和圖16B的示例,下面的表13指示了包括網(wǎng)絡命中的輸入日志的相關部分。在模擬環(huán)境中,移動設備上的通常使用網(wǎng)絡優(yōu)化客戶端的所有應用都被模擬,但是在該移動設備不存在網(wǎng)絡優(yōu)化。
表13-輸入網(wǎng)絡日志字段
在該示例中,記錄(或項)DL1,DL2和DL3不是輸入。 相反,為了描述的清楚起見,示出了這些記錄。如本文所討論的,網(wǎng)絡日志項由 “NLx”指示。
諸如圖2E的日志/報告數(shù)據(jù)分析核心255a或圖3E的CRSC分析核心375a之類的crcs分析核心工具處理輸入日志(們),例如,基于一個或多個輸入日志(例如,流量活動日志),以計算一個或多個附加的日志/報告數(shù)據(jù)字段。該過程可以包括利用一個或多個長輪詢技術將一個網(wǎng)絡日志項拆分為兩個或更多個網(wǎng)絡日志項。該過程參照圖19A更詳細地被示出和討論。如本示例所示,crcs分析核心工具計算每個應用的模擬連接字段(或標志)和每個應用的模擬時間字段。下面示出了輸出網(wǎng)絡日志字段的示例輸出表14。
表14-輸出網(wǎng)絡日志字段
節(jié)約值示例
如本文所討論的,各種字段計算可以用于對移動網(wǎng)絡中的信號進行建模。例如,該建??梢园ㄓ嬎愎?jié)約連接和節(jié)約時間。該節(jié)約連接指示作為使用網(wǎng)絡優(yōu)化架構的結果而節(jié)約的連接的量,數(shù)量或總量。在一個實施例中,節(jié)約的連接可以被建模如下:
節(jié)約連接=虛擬連接 - 實際連接,
節(jié)約模擬連接=虛擬模擬連接 - 模擬連接,
節(jié)約模擬各應用連接=每個應用的虛擬模擬連接 - 每個應用的模擬連接,
每個主機的節(jié)約模擬連接=每個主機的虛擬模擬連接擬 – 每個主機的模擬連接。
類似地,該節(jié)約時間是作為使用該網(wǎng)絡優(yōu)化架構的結果而節(jié)約的連接時間的時間間隔。在一個實施例中,節(jié)約時間可以被建模如下:
節(jié)約時間=虛擬時間 - 實際時間,
節(jié)約模擬時間=虛擬模擬時間 - 模擬時間,
每個應用的節(jié)約模擬時間=每個應用的虛擬模擬時間 –每個應用的模擬時間,
每個主機的節(jié)約模擬時間=每個主機的虛擬模擬時間- 每個主機的模擬時間。
連接標志和時間
圖17A示出了計算上述連接標志和連接時間間隔的示例。連接標志指示了特定的網(wǎng)絡日志是否引起無線電開啟。在一個實施例中,為了確定每個無線電開啟間隔的連接標志,最近的網(wǎng)絡日志到無線電開啟日志記錄用連接標志標記。重要的是,只有在請求延遲鄰域到無線電開啟日志中的網(wǎng)絡日志用標記有連接標志。
圖17B示出了無線電開啟間隔示例。無線電開啟間隔可以被計算,維持,和/或以其它方式獲得,以計算指示特定網(wǎng)絡日志的無線電開啟時間的影響的連接時間。對于每個無線電開啟間隔,該無線電開啟時間等于屬于該特定間隔的網(wǎng)絡日志的連接時間值的總和。
網(wǎng)絡命中
網(wǎng)絡命中是網(wǎng)絡優(yōu)化服務器端的數(shù)據(jù)傳輸?shù)钠瘘c。在一個實施例中,網(wǎng)絡日志項被認為是網(wǎng)絡命中,當其關聯(lián)字段的這些條件中的至少一個條件為真時:
緩存命中
緩存命中是緩存中的數(shù)據(jù)傳輸?shù)钠瘘c。在一個實施例中,網(wǎng)絡日志項被認為是緩存命中,當其不是網(wǎng)絡日志命中并且其關聯(lián)字段的這些條件中的至少一個為真時:
詳細計算示例
以下示例說明了另一個字段計算。首先,假設以下輸入網(wǎng)絡日志和無線電日志:
表15-輸入網(wǎng)絡日志字段
表16-輸入無線電日志字段
圖18描繪了在一段時間上的日志的示例方案。 例如,假設:
t1 =(07:26:20.000 - 07:26:00.000)= 20 000 ms,
t2 =(07:27:00.000-07:26:20.000)= 40 000ms,
t3 =(07:27:00.100 - 07:27:00.000)= 100ms,
t4 =(07:29:00.000-07:27:00.100)= 119000ms,
t5 =(07:29:00.500 - 07:29:00.000)= 500ms,
t6 =(07:30:00.07:29:00.500)= 59500ms,
t7 =(07:31:00.000 - 07:30:00.000)= 60 000 ms,
網(wǎng)絡延遲= 15秒,
因此,
t1,(t2 + t3),t4,(t6 + t7)>網(wǎng)絡延遲; 并且
t5 <網(wǎng)絡延遲;
t3 <請求延遲。
下面的表17示出了計算的結果
表17-計算結果
表18顯示了輸出網(wǎng)絡日志描述。請注意,輸出時間間隔以毫秒為單位。
。
表18-輸出網(wǎng)絡日志
長輪詢處理示例
根據(jù)一實施例,圖19A圖形地示出了用于將一網(wǎng)絡日志項分割成兩個網(wǎng)絡日志項目長輪詢過程。 更具體地,本文描述的長輪詢過程是將一網(wǎng)絡日志項分割成兩個網(wǎng)絡日志項的過程。在一個實施例中,用于對網(wǎng)絡日志項執(zhí)行長輪詢過程的條件是:
?RESPONSE_TIME大于或等于網(wǎng)絡延遲(默認值,例如15 000 ms);
?網(wǎng)絡日志項是網(wǎng)絡命中或緩存命中;
?SERVER_BYTES_IN / RESPONSE_TIME的值小于或等于拆分比(默認值,例如3 000 ms)。
圖19B圖形地示出了為了使得網(wǎng)絡日志被分為兩部分所必須為真的條件。 更具體地,如果SERVER_BYTES_IN / RESPONSE_TIME的值小于或等于拆分比(默認值,例如,3 000ms),則可以該網(wǎng)絡日志能夠被分為兩部分。 下面的表19示出了作為執(zhí)行長輪詢過程的結果而發(fā)生的字段修改。
表19-長輪詢處理后改變的字段
下面分別示出了輸入和輸出網(wǎng)絡日志拆分前后的示例。
。
表20-輸入網(wǎng)絡日志和無線電字段
表21-輸入網(wǎng)絡日志和無線電字段
日志預處理示例
在一些實施例中,在填充所計算的字段中的數(shù)據(jù)之前執(zhí)行日志預處理。 例如,可以執(zhí)行以下過程:
如果
那么用SERVER_BYTES_IN替換CLIENT_BYTES_OUT。
如果
那么用SERVER_BYTES_IN替換CLIENT_BYTES_OUT。
如果
那么用SERVER_BYTES_OUT替換CLIENT_BYTES_IN。
如果
那么用零值替換CLIENT_BYTES_IN。
如果RESPONSE_TIME <0,那么將RESPONSE_TIME替換為零值。
報告處理
現(xiàn)在描述各種示例字段的計算。
未充電時間計算示例
圖20圖示了TIME_ON_NOT_CHARGING字段的計算示例。 在一些實施例中,功率日志可以用于進行該計算。 在一些實施例中,TIME_ON_NOT_CHARGING字段表示當設備的電池狀況正在下降的間隔的總和。例如,TIME_ON_NOT_CHARGING = [電池間隔1] + [電池間隔2]。
電荷下降百分比計算示例
圖21圖形地示出CHARGE_DROP_PERCENT字段的一計算示例。 同樣,可以使用功率日志進行該計算。在一些實施例中,該下降百分比表示當電池狀況正在下降時電池狀況的變化的總和。例如,CHARGE_DROP_PERCENT = [89-25] + [60-10] = 64 + 50 = 114(百分比)。
無線電狀態(tài)時間示例
下面的表22描述了各種示例前一無線電狀態(tài)與相應的報告字段之間的關系。更具體地,下面的表描述了TIME_RADIO_STATE_n字段的計算,其中n從1到10。在該示例中,使用無線電日志,并且如果該無線電日志中的INTERVAL的值大于零,則將INTERVAL字段的值保存到其中一個TIME_RADIO_STATE_n字段。
。
表22-前一無線電狀態(tài)和報告字段之間的對應
轉換到無線電狀態(tài)的計算示例
下面的表23描述了TRANS_INTO_RADIO_STATE_n字段,其中n從1到10。在該示例中,使用無線電日志。 TRANS_INTO_RADIO_STATE_n字段表示無線電日志已轉換到某個狀態(tài)的次數(shù)。
。
表23-當前無線電狀態(tài)和報告字段之間的對應
WCDMA時間計算示例
下面的表24描述了WCDMA_TIME_IN_DCH,WCDMA_TIME_IN_FACH,WCDMA_TIME_IN_PCH和WCDMA_TIME_IN_IDLE字段。同樣,在該示例中使用無線電日志,并且如果該無線電日志中的INTERVAL的值大于零,則INTERVAL字段的值被保存到字段WCDMA_TIME_ <...>字段之一中。前一無線電狀態(tài)和報告字段之間的對應關系如下表所示。
。
表24-前一無線電狀態(tài)和報告字段之間的對應
WCDMA轉換到無線電狀態(tài)的計算示例
下面的表25描述了WCDMA_TRANS_INTO_DCH,WCDMA_TRANS_ INTO_FACH,WCDMA_TRANS_INTO_PCH,WCDMA_TRANS_INTO_IDLE計算字段。 在本示例中使用無線電日志。字段WCDMA_TRANS_INTO _ <...>表示無線電日志已轉換到某個狀態(tài)的次數(shù)。
表25-當前無線電狀態(tài)和報告字段之間的對應
總字節(jié)計算示例
下表26描述了TOTAL_BYTES_FROM_APP,TOTAL_BYTES_TO_APP,TOTAL_BYTES_FROM_NET,TOTAL_BYTES_TO_NET,TOTAL_BYTES_FROM_CACHE,TOTAL_BYTES_TO_CACHE計算字段。
表26-字節(jié)計算
總命中計算示例
下表27描述了TOTAL_HITS_FROM_APP,TOTAL_HITS_TO_APP,TOTAL_HITS_FROM_NET,TOTAL_HITS_TO_NET,TOTAL_HITS_FROM_CACHE和TOTAL_HITS_TO_CACHE計算字段。
。
表27-命中計算
緩存請求.字節(jié)和命中示例
下面的表28描述了TOTAL_BYTES_CACHE_REQ和TOTAL_HITS_CACHE_REQ計算字段。
。
表28-緩存請求計算
連接計算示例
下面的表29描述了SIM_RADIO_STATE_CHANGES_ACTUAL和SIM_RADIO_STATE_CHANGES_SAVED計算字段。在一些實施例中,網(wǎng)絡日志字段可以用于計算這些報告字段。計算有兩種情況:
?報告關鍵類別為“應用”;
?報告鍵類別是其他(不是“應用”)
報告關鍵類別為“應用”示例
表30-連接計算
報告鍵類別是其他(不是“應用”)示例
表31-連接計算
時間計算示例
下面的表32描述了SIM_RADIO_TIME_CONN_ACTUAL和SIM_RADIO_TIME_CONN_SAVED計算字段。在一些實施例中,網(wǎng)絡日志字段用于計算這些報告字段。計算有兩種情況:
?報告關鍵類別為“應用”;
?報告鍵類別是其他(不是“應用”)
報告關鍵類別為“應用”示例
表33-時間計算
報告鍵類別是其他(不是“應用”)示例
表34-時間計算
網(wǎng)絡日志字段示例
表35-網(wǎng)絡日志格式
報告格式字段示例
表36-報告格式
圖22示出了各種示例性測量點,諸如例如圖2E的日志/報告數(shù)據(jù)分析核心255a或圖3E的CRSC分析核心375a之類的日志/報告數(shù)據(jù)分析核心模塊可以從其執(zhí)行用于對數(shù)據(jù)網(wǎng)絡中的信號建模的測量。 可以由日志/報告數(shù)據(jù)分析核心模塊適配的輸出指標的一些示例在圖23A-23E中列出。
如上所述,在一些實施例中,日志/報告數(shù)據(jù)分析核心可以進行各種計算。例如,圖24A圖形地示出了網(wǎng)絡優(yōu)化字節(jié)計算的示例。
此示例中,關于HTTPS流量,該網(wǎng)絡優(yōu)化的模擬證書小于從網(wǎng)絡接收的證書,這將表現(xiàn)為負節(jié)約。對于HTTPS握手,到應用的字節(jié)被替換為來自網(wǎng)絡的字節(jié)。僅關于來自應用的字節(jié),網(wǎng)絡優(yōu)化接收與網(wǎng)絡可用性無關的請求。通常由網(wǎng)絡不可用引起。在請求不能去到網(wǎng)絡并且不能夠被緩存服務的情況下,調整optimization-AT-ADJ為0。
在該示例中,(調整的)應用(App)和網(wǎng)絡流量之間的差異是節(jié)約的流量(即,[network optimization-AT-ADJ] - [network optimization-NT] = [network optimization-ST])。節(jié)約的流量加上總網(wǎng)絡流量是總應用流量(即,[network optimization-ST] + [TNT] = [TAT])。(調整的)App流量除以總應用流量是字節(jié)覆蓋(即,[network optimization -AT-ADJ] / [TAT] = BC。
在一些實施例中,網(wǎng)絡優(yōu)化字節(jié)計算的覆蓋可以受以下影響:
?流量直接通向網(wǎng)絡接口,而不是通過:網(wǎng)絡優(yōu)化
?配置為旁路的TCP端口:IMAP,POP,7TP
?故障轉移中的網(wǎng)絡優(yōu)化客戶端
?第三方客戶端重新配置流量流(通常為共享)
?針對不正確接口記錄的總網(wǎng)絡流量:為TNT定義的接口是手動配置的。新的設備型號需要驗證。
?時間因素:定期記錄總網(wǎng)絡流量,同時記錄每個事務的網(wǎng)絡優(yōu)化應用流量。數(shù)據(jù)收集中斷,例如設備重新啟動可能會對這些指標造成不同的截止。網(wǎng)絡更改通知也可能出現(xiàn)在較長事務的中間,使得不清楚哪個網(wǎng)絡接口被使用了。
?TCP / IP和UDP協(xié)議開銷和TCP重試:測量總網(wǎng)絡流量,但未測量網(wǎng)絡優(yōu)化應用流量。
圖24A-24J圖形地示出了可以在日志/報告數(shù)據(jù)分析核心模塊的實施例中使用的示例輸出度量的各種計算。
圖25描繪了示出分布式網(wǎng)絡優(yōu)化系統(tǒng)的一般架構概述的示例圖,該分布式網(wǎng)絡優(yōu)化系統(tǒng)包括測量點,日志/報告數(shù)據(jù)分析核心模塊可以從該測量點執(zhí)行用于對數(shù)據(jù)網(wǎng)絡中的信號建模的測量。圖26A-26N示出了日志/報告數(shù)據(jù)分析核心模塊可以適配的附加的和/或備選的輸出指標的示例。
例如,圖26A-26C示出了數(shù)據(jù)指標示例。圖26D-26F示出了優(yōu)化指標示例。在一些實施例中,IS網(wǎng)絡優(yōu)化/ ISOTC可以存在異常:內部信號優(yōu)化公式在通過協(xié)議的計算中不再使用模擬值。圖26G示出了用戶指標示例。在一些實施例中,用戶指標可以用于在關注的時間段內提供唯一數(shù)量的用戶(例如,由7TP地址標識)或用戶的組合。此外,指標可以用于計算指標,例如每個用戶每天的字節(jié)/連接。圖26H示出了電池指標示例。圖26I-26K示出了信號指標示例。例如,信號總體指標可以提供在關注的時間段內,由無線電狀態(tài)所破壞的狀態(tài)轉換的數(shù)量。同樣,總體時間連接可以提供在關注的時間段內,由無線電狀態(tài)所破壞的連接的時間。圖26L-26M示出了維度指標示例。圖26N示出了優(yōu)化指標示例。圖26N示出了優(yōu)化指標示例。
圖27示出了計算機系統(tǒng)的示例形式的機器的圖示,在其中,可以執(zhí)行用于使該機器執(zhí)行本文所討論的方法中的任何一個或多個的一組指令。
在替代實施例中,該機器作為獨立設備操作或者可以被連接(例如,聯(lián)網(wǎng))到其他機器。在聯(lián)網(wǎng)部署中,該機器可以在客戶端-服務器網(wǎng)絡環(huán)境中作為服務器或客戶端機器操作,或者在對等(或分布式)網(wǎng)絡環(huán)境中作為對等機器操作。
該機器可以是服務器計算機,客戶端計算機,個人計算機(PC),用戶設備,平板PC,膝上型計算機,機頂盒(STB),個人數(shù)字助理(PDA) 移動電話,iPhone,iPad,黑莓,處理器,電話,網(wǎng)絡設備,網(wǎng)絡路由器,交換機或網(wǎng)橋,控制臺,手持控制臺,(手持)游戲設備,音樂播放器 ,任何便攜式,移動的,手持設備或能夠執(zhí)行指定要由該機器采取的動作的一組指令(序列或其他)的任何機器。
雖然機器可讀介質或機器可讀存儲介質在示例性實施例中被示為是單個的介質,但是術語“機器可讀介質”和“機器可讀存儲介質”應該被認為包括單個介質或多個媒體(例如,集中式或分布式數(shù)據(jù)庫和/或相關聯(lián)的緩存和服務器),其存儲一個或多個指令集。術語“機器可讀介質”和“機器可讀存儲介質”還將被認為包括能夠存儲,編碼或攜帶用于由機器執(zhí)行的一組指令的任何介質,并且使得機器執(zhí)行任何一個或多個本公開的技術和創(chuàng)新的方法。
一般來說,被執(zhí)行以實現(xiàn)本公開的實施例的例程可以被實現(xiàn)為被稱為“計算機程序”的操作系統(tǒng)或特定應用,組件,程序,對象,模塊或指令序列的一部分。計算機程序通常包括在各種事件在計算機的各種存儲器和存儲設備中的一個或多個指令,當由計算機中的一個或多個處理單元或處理器讀取和執(zhí)行時,使得計算機執(zhí)行操作以執(zhí)行涉及本公開的各個方面的元件。
此外,盡管已經(jīng)在功能齊全的計算機和計算機系統(tǒng)的環(huán)境下描述了實施例,但是本領域技術人員將理解,各種實施例能夠作為程序產(chǎn)品以各種形式分發(fā),并且本公開能夠同樣的應用,而不考慮用于實際實現(xiàn)分發(fā)的機器或計算機可讀介質的特定類型。
機器可讀存儲介質,機器可讀介質或計算機可讀(存儲)介質包括括但不限于可記錄類型介質,諸如易失性和非易失性存儲設備,軟盤和其他可移動盤,硬盤驅動器 ,光盤(例如,只讀光盤存儲器(CD ROM),數(shù)字通用盤(DVD)等)等以及諸如數(shù)字和模擬通信鏈路的傳輸型介質。
附加實施例
在一些實施例中,公開了一種在移動網(wǎng)絡中建模信號的方法。 該方法包括:確定由在移動網(wǎng)絡中的移動設備上執(zhí)行的移動應用發(fā)起的事務是否引起需要相應的無線電連接的網(wǎng)絡信號,其中由該事務引起的網(wǎng)絡信號的至少一部分由流量優(yōu)化引擎過濾; 并且至少部分地基于過濾的網(wǎng)絡信號來對移動設備的網(wǎng)絡信號進行建模。
在一些實施例中,過濾的網(wǎng)絡信令不引起相應的無線電連接。
在一些實施例中,為移動設備建模網(wǎng)絡信號還包括計算指示作為過濾的結果而被節(jié)約的無線電連接的總數(shù)的信號效率。
在一些實施例中,計算信號效率還包括:訪問與移動設備相關聯(lián)的無線電日志和流量活動日志; 基于無線電日志和流量活動日志對虛擬無線電連接的數(shù)量進行建模,其中虛擬無線電連接指示如果沒有所述過濾將發(fā)生的無線電連接; 基于無線電日志確定實際無線電連接的數(shù)量,其中所節(jié)約的無線電連接的總數(shù)包括虛擬無線電連接的數(shù)量與實際無線電連接的數(shù)量之間的差。
在一些實施例中,為移動設備建模網(wǎng)絡信號還包括計算指示作為過濾的結果而節(jié)約的總的無線電連接時間的連接時間效率。
在一些實施例中,所述方法還包括由流量優(yōu)化引擎應用流量優(yōu)化技術以過濾網(wǎng)絡信號,使得網(wǎng)絡信號的至少一部分被過濾。
在一些實施例中,所述方法還包括訪問指示在移動設備中的多個流量測量點處測量的流量指標的流量活動日志,其中建模網(wǎng)絡信號還包括基于流量指標計算連接狀態(tài)和連接時間間隔。
在一些實施例中,為移動設備建模網(wǎng)絡信號還包括將網(wǎng)絡信號歸因于在移動設備上執(zhí)行的移動應用的單獨應用。
在一些實施例中,所述方法還包括訪問與移動設備相關聯(lián)的無線電日志和流量活動日志,其中所述無線電日志指示移動設備無線電的狀態(tài),其中所述流量活動日志指示在該移動設備中的多個測量點處測量的各種流量指標;以及通過計算一個或多個日志/報告數(shù)據(jù)字段來維護所述流量活動日志。
在一些實施例中,基于一個或多個日志/報告數(shù)據(jù)字段來對網(wǎng)絡信號進行建模。
在一些實施例中,維護流量活動日志包括長輪詢。
在一些實施例中,一個或多個日志/報告數(shù)據(jù)字段被劃分為連接標志字段和連接時間計數(shù)字段。
在一些實施例中,一個或多個日志/報告數(shù)據(jù)字段被分類為以下類別中的一個或多個:實際的,模擬的,實際模擬的,虛擬模擬的,每個應用的實際模擬,以及每個應用的虛擬模擬。
在一些實施方案中,流量優(yōu)化引擎包括分布式緩存和代理系統(tǒng)的一個或多個元件。
在一些實施例中,分布式緩存和代理系統(tǒng)包括代理客戶端和代理服務器。
在一些實施例中,經(jīng)過濾的無線電連接由代理客戶端本地緩存。
在一些實施例中,公開了一種在移動網(wǎng)絡中建模網(wǎng)絡信號的方法。 該方法包括:訪問與在移動網(wǎng)絡中操作的移動設備相關聯(lián)的無線電日志,所述無線電日志指示移動設備無線電的狀態(tài); 訪問與所述移動設備相關聯(lián)的流量活動日志,所述流量活動日志指示在所述移動設備中的多個測量點處測量的各種流量指標; 基于所述無線電日志和所述流量活動日志中的一個或多個來計算一個或多個日志/報告數(shù)據(jù)字段; 以及基于所述一個或多個日志/報告數(shù)據(jù)字段對所述移動設備的網(wǎng)絡信號進行建模。
在一些實施例中,該方法還包括確定由在移動網(wǎng)絡中的移動設備上執(zhí)行的移動應用發(fā)起的事務是否導致網(wǎng)絡信號需要在移動設備上的相應的無線電連接,其中由所述事務引起的網(wǎng)絡信號的至少一部分由流量優(yōu)化引起過濾。
在一些實施例中,經(jīng)過濾的網(wǎng)絡信號不會引起移動設備上相應的無線電連接,并且未過濾的網(wǎng)絡信號引起移動設備上相應的無線電連接。
在一些實施例中,對網(wǎng)絡信號進行建模還包括至少部分地基于一個或多個計算的日志/報告數(shù)據(jù)字段來計算連接狀態(tài)和連接時間間隔。
在一些實施例中,為移動設備建模網(wǎng)絡信號還包括計算指示作為過濾的結果而節(jié)約的無線電連接的總數(shù)的信號效率。
在一些實施例中,計算信號效率還包括:訪問與移動設備相關聯(lián)的無線電日志和流量活動日志; 基于所述無線電日志和所述流量活動日志對虛擬無線電連接的數(shù)量進行建模,其中所述虛擬無線電連接指示了如果沒有所述過濾將發(fā)生的無線電連接; 基于所述無線電日志確定實際無線電連接的數(shù)量,其中所述無線電連接的總數(shù)包括所述虛擬無線電連接的數(shù)量和所述實際無線電連接的數(shù)量之間的差。
在一些實施例中,為移動設備建模網(wǎng)絡信號還包括計算指示作為過濾的結果節(jié)約的總無線電連接時間的連接時間效率。
在一些實施例中,計算連接時間效率還包括:訪問與移動設備相關聯(lián)的無線電日志和流量活動日志; 基于所述無線電日志和所述業(yè)務活動日志對虛擬無線電連接時間建模,其中所述虛擬無線電連接時間指示所述移動設備無線電將是活動的但用于所述過濾的時間量; 確定基于所述無線電日志的實際無線電連接時間,其中所述實際無線電連接時間指示所述移動設備無線電活躍的時間量; 其中所節(jié)約的總無線電連接時間包括虛擬無線電連接時間與實際無線電連接時間之間的差。
在一些實施例中,所述方法還包括通過跟蹤事務和測量在移動設備中的多個測量點處的各種流量指標來維護流量活動日志。
在一些實施例中,一個或多個日志/報告數(shù)據(jù)字段被劃分為連接標志字段和連接時間計數(shù)字段。
在一些實施例中,一個或多個日志/報告數(shù)據(jù)字段被分類為以下類別中的一個或多個:實際的,模擬的,實際模擬的,虛擬模擬的,每個應用的實際模擬,以及每個應用的虛擬模擬。
在一些實施例中,公開了一種移動設備。移動設備包括無線電裝置; 處理器; 以及存儲指令的存儲器,其中當該指令由所述處理器執(zhí)行時,導致所述移動設備:訪問與在所述移動網(wǎng)絡中操作的移動設備相關聯(lián)的無線電日志,所述無線電日志指示移動設備無線電的狀態(tài); 訪問與所述移動設備相關聯(lián)的流量活動日志,所述流量活動日志指示在所述移動設備中的多個測量點處測量的各種流量指標; 基于所述無線電日志和所述流量活動日志中的一個或多個來計算一個或多個日志/報告數(shù)據(jù)字段; 以及基于所述一個或多個日志/報告數(shù)據(jù)字段對所述移動設備的網(wǎng)絡信號進行建模。
在一些實施例中,其中所述指令在由所述處理器執(zhí)行時進一步致使所述移動設備:確定由在所述移動網(wǎng)絡中的所述移動設備上執(zhí)行的移動應用發(fā)起的事務是否導致網(wǎng)絡信號需要在所述移動設備上的相應的無線電連接,其中由所述事務引起的所述網(wǎng)絡信號的至少一部分被流量優(yōu)化引擎過濾,其中所述經(jīng)過濾的網(wǎng)絡信號不引起移動設備上的相應的無線電連接,并且所述未過濾的網(wǎng)絡信號引起移動設備上的相應的無線電連接。
在一些實施例中,移動設備還包括流量優(yōu)化引擎,該流量優(yōu)化引擎包括分布式緩存和代理系統(tǒng)的一個或多個元件。
在一些實施例中,分布式緩存和代理系統(tǒng)包括代理客戶端和代理服務器,并且其中經(jīng)過過濾的無線電連接由該代理客戶端本地緩存。
在一些實施例中,當指令由處理器執(zhí)行時還使得移動設備:跟蹤由在移動網(wǎng)絡中的移動設備上執(zhí)行的移動應用發(fā)起的事務; 測量所述移動設備中的多個測量點處的各種流量指標; 并基于所述測量來維護所述流量活動日志。
在一些實施例中,為了對移動設備的網(wǎng)絡信號進行建模,當指令由處理器執(zhí)行時,還使得移動設備計算指示作為過濾的結果而節(jié)約的無線電連接的總數(shù)的信號效率。
在一些實施例中,為了計算信號效率,指令在由處理器執(zhí)行時還使得移動設備:訪問與移動設備相關聯(lián)的無線電日志和流量活動日志; 基于所述無線電日志和所述流量活動日志對虛擬無線電連接的數(shù)量進行建模,其中所述虛擬無線電連接指示了如果沒有所述過濾將發(fā)生的無線電連接; 基于所述無線電日志確定實際無線電連接的數(shù)量,其中無線電連接的總數(shù)包括所述虛擬無線電連接的數(shù)量和所述實際無線電連接的數(shù)量之間的差。
在一些實施例中,為了對移動設備的網(wǎng)絡信號進行建模,當指令由處理器執(zhí)行時,還使得移動設備計算指示作為過濾的結果節(jié)約的總無線電連接時間的連接時間效率 。
在一些實施例中,為了計算連接時間效率,指令在由處理器執(zhí)行時還使得移動設備:訪問與移動設備相關聯(lián)的無線電日志和流量活動日志; 基于所述無線電日志和所述業(yè)務活動日志對虛擬無線電連接時間進行建模,其中所述虛擬無線電連接時間指示如果沒有所述過濾,所述移動設備無線電將活躍的時間量; 基于所述無線電日志確定實際無線電連接時間,其中實際無線電連接時間指示所述移動設備無線電活躍的時間量; 其中所節(jié)約的總無線電連接時間包括虛擬無線電連接時間與實際無線電連接時間之間的差。
在一些實施例中,公開了一計算機可讀存儲介質,其存儲的指令由具有處理器的移動設備執(zhí)行。所述指令在由處理器執(zhí)行時使得移動設備:確定由在移動網(wǎng)絡中的移動設備上執(zhí)行的移動應用發(fā)起的事務是否導致網(wǎng)絡信號需要相應無線電連接,其中由所述事務引起的網(wǎng)絡信號的至少一部分由流量優(yōu)化引擎過濾,其中被過濾的網(wǎng)絡信號不引起相應的無線電連接; 以及至少部分地基于所述過濾的網(wǎng)絡信號來對所述移動設備的網(wǎng)絡信號進行建模。
在一些實施例中,為移動設備建模網(wǎng)絡信號還包括計算指示作為過濾的結果而節(jié)約的無線電連接的總數(shù)的信號效率。
在一些實施例中,為移動設備建模網(wǎng)絡信號還包括計算指示作為過濾的結果節(jié)約的總無線電連接時間的連接時間效率。
在一些實施例中,當指令由處理器執(zhí)行時還使得處理器:訪問與移動設備相關聯(lián)的無線電日志和流量活動日志,其中所述無線電日志指示移動設備無線電的狀態(tài),其中所述流量活動日志指示在所述移動設備中的多個測量點處測量的各種流量指標; 并通過計算一個或多個日志/報告數(shù)據(jù)字段來維護流量活動日志。
在一些實施例中,對網(wǎng)絡信號進行建模是基于一個或多個日志/報告數(shù)據(jù)字段。
如本文所使用的,網(wǎng)絡優(yōu)化或關于一個或多個應用和系統(tǒng)的網(wǎng)絡優(yōu)化可以體現(xiàn)在被配置用于優(yōu)化網(wǎng)絡流量管理的任何適當?shù)挠布?。為了討論的簡單起見,“?yōu)化”可以指利用本文描述的網(wǎng)絡優(yōu)化架構和/或由移動設備發(fā)送或接收的網(wǎng)絡信號的過濾的系統(tǒng)或方法,以便減少移動設備的蜂窩無線電的使用。
本文公開的一個或多個應用和相關聯(lián)的用戶界面可以顯示由于優(yōu)化而延長的“分鐘”的數(shù)量。此外,UI可以顯示使用的分鐘數(shù)('分鐘')以及由于每個優(yōu)化的應用程序的優(yōu)化而擴展的“分鐘”。
將包含要顯示的數(shù)據(jù)的表將被維持。表的結構應確保UI上的最小休眠/延遲。對于性能問題,預先計算一些信息將是很好的。
在一些實施例中,可以在每個流量日志捕獲上插入數(shù)據(jù)。數(shù)據(jù)庫可以保留最近七天的數(shù)據(jù)。
方案
在一個或多個實施例中,數(shù)據(jù)可以存儲在一個或多個表中。在一個實施例中可以有兩個表。第一個表可以包含總體統(tǒng)計。這可以稱為表'O'。 另一個表可以具有應用級數(shù)據(jù)。這可以稱為表'A'。UI可以訪問用于顯示整體指標的表'O'和用于顯示應用級指標的表'A'。
表'O'可包括以下列中的每一個,全部或組合:日期時間,電池電量,充電狀態(tài),空閑時間和連接時間。
表'A'可以包括以下列中的每一個,全部或組合:日期和/或時間,應用,各應用的字節(jié)使用(表示為百分比),連接時間(針對每個應用計算)**,每個應用程序的優(yōu)化量,以及節(jié)約的連接時間(針對每個應用計算)**。 **可以理解,可以根據(jù)需要或對于每個間隔來計算這些參數(shù)并且填充到DB中。前一個選項使得DB更小/更簡單; 第二個在需要時執(zhí)行更少的計算(即,在UI中向用戶顯示結果)。
空閑期的定義
當以下條件滿足時,移動設備可以與空閑期相關聯(lián):屏幕關閉,移動網(wǎng)絡上的設備(不在Wi-Fi上),無呼叫,沒有GPS,音頻未播放。
邏輯
表‘O’
日期和/或時間可以表示事件的時間戳。該事件將與流量日志事件同步。電池電量可以表示該時間戳處的電池電量。充電狀態(tài)可以表示指示設備是否在充電的布爾值。空閑時間可以表示當設備空閑時的從上一個時間戳開始的累積時間。連接的時間可以表示從上一個時間戳(或從最后一次設備重新啟動)起的累積時間(整個期間,而不是僅空閑)。
表‘A’
日期和/或時間可以表示事件的時間戳。事該件可以與流量日志事件同步。應與表'O'中的相同。應用可以表示應用的名稱。
字節(jié)使用可以表示特定應用從上時間戳以來的分享的字節(jié)。 網(wǎng)絡日志可用于獲取應用字節(jié)和流量日志以獲取總字節(jié)數(shù)。字節(jié)使用可能表示應用字節(jié)/總字節(jié)。應用連接時間**可以是計算字段。表'A'可以每時間戳添加到表'O'。它被計算為字節(jié)用量*連接時間(從表'O')。 一個選項包括將連接時間(從表'O')存儲在變量中,并且在插入表'A'之前使用該變量來計算值。
用于每個應用的優(yōu)化量可以表示單位的數(shù)量; 其中“單位”定義了用于每個應用的節(jié)約的測量單位。對于所使用的每個優(yōu)化策略,單位將不同。(為了啟動,它將僅為該應用的連接時間,但可能需要多個變量)。
節(jié)約的連接時間** - 將是計算字段。 它將被計算為‘
各app的優(yōu)化量‘*α(在參數(shù)下定義)
要在每天結束時或其他預定時間段執(zhí)行的動作
在一個或多個實施例中,數(shù)據(jù)將被聚集在適當?shù)牡燃墶?/p>
參數(shù)
該模型將填充以下提到的預定參數(shù) –
聚集
根據(jù)一些實施例,在先的數(shù)據(jù)可以任何等級(例如,每天)聚集。
用于電池優(yōu)化的計算算法
電池改善顯示參數(shù)
在一個或多個實施例中,要顯示給體現(xiàn)在本文公開的一個或多個硬件設備上的一個或多個應用的用戶的參數(shù)如下:
'x'延長的分鐘
用于每個被優(yōu)化的應用的'x'分鐘
對于每個被優(yōu)化的應用延長的'x'分鐘
第一參數(shù)將被顯示為單個總數(shù),并且后兩個參數(shù)是每個應用的分解。這需要能夠在一天中的任何時間向給定用戶顯示,并且應當表示過去24小時累積的節(jié)約(例如,以滾動24小時時間段)。
延長的“x”分鐘的計算如下:
其中
并且
節(jié)約的時間計算如下:
其中
每個應用所節(jié)約的時間計算如下:
其中
并且
其中
并且
分配的(即,計算的)連接時間。
。
其中
空閑時間被定義為以下各項為真的期間:
屏幕關閉
移動網(wǎng)絡上的設備(不在wifi上)
音頻未播放
沒有電話呼叫
沒有GPS使用
第二顯示參數(shù)(用于每個被優(yōu)化的應用的“'x'分鐘”)計算如下:
其中
第三顯示參數(shù)(對于每個被優(yōu)化的應用延長的“x”分鐘)是簡單的
如上所定義。
已經(jīng)確定,當網(wǎng)絡優(yōu)化是優(yōu)化時(與不是優(yōu)化相比),在連接時間和能量之間的關系中似乎存在一小的變化。這可能主要作為與網(wǎng)絡優(yōu)化優(yōu)化相關聯(lián)的額外開銷來計算。如果/當包括這個因素時,整體節(jié)約的能量看起來像這樣:
其中
表示給定的連接時間的偏移(以電流表示)。
并且
表示累積的空閑時間
確定合適的值以使功耗與連接時間相關是建立合理準確的電池節(jié)約模型的依賴之一。
圖28示出了有效電流消耗和作為WCDMA樣本測試運行總時間的一部分的連接時間之間的關系。為了這個模型的目的,從WCDMA測試運行開始使用一些并行測試。對于這些運行,有效電流消耗和連接時間(作為總時間的一部分)之間的關系如圖28所示,對于具有和不具有本文公開的一個或多個應用的??設備(作為用于一個或多個應用的網(wǎng)絡優(yōu)化在圖中公開并且利用菱形形狀描繪以及利用方形形狀描繪的非網(wǎng)絡優(yōu)化版本)。在圖28中,兩條線的y截距非常接近,因此被固定為相同的值(6.5)?;貧w線的斜率表示有效電流消耗和連接時間之間的關系。在這種情況下,無網(wǎng)絡優(yōu)化(即,沒有優(yōu)化)的斜率是165,而網(wǎng)絡優(yōu)化數(shù)據(jù)(即,具有優(yōu)化)高出50%,為246。
圖29示出與圖28相同的數(shù)據(jù),但是根據(jù)包括一個具有優(yōu)化和一個沒有優(yōu)化的結果對來評估。線表示網(wǎng)絡優(yōu)化在mA和連接時間方面的效果,其中右上點表示沒有網(wǎng)絡優(yōu)化的設備,左下反映了具有網(wǎng)絡優(yōu)化的設備的優(yōu)化。在圖29中,圖中的虛線是與前面的圖中所示相同的回歸線。圖例顯示每個數(shù)據(jù)集的三個值:SbS測試運行(Jira)數(shù),根據(jù)連接時間的優(yōu)化百分比(對于每個應用集的總體)和結果線的斜率。最粗的線顯示所有這整個數(shù)據(jù)集的聚合結果。當確定由于網(wǎng)絡優(yōu)化而導致的能量消耗的網(wǎng)絡節(jié)約時,這些數(shù)據(jù)對的斜率為確定提供了最有價值的信息。從網(wǎng)絡優(yōu)化節(jié)約的連接時間的量被推斷,并且然后使用將其轉換為節(jié)約的能量,所以這些斜率是最重要的。
這些結果的一個方面是網(wǎng)絡優(yōu)化對節(jié)約的以mA為單位的能量效率相對于TC的節(jié)約在效率上是非常一致的(即,斜率非常相似)。 注意,斜率既不遵循“無網(wǎng)絡優(yōu)化”也不遵循“網(wǎng)絡優(yōu)化”回歸線,并且明顯比任何一個淺。 這是定性的。如果網(wǎng)絡優(yōu)化除了減少連接時間,對能量使用沒有影響,則隨著網(wǎng)絡優(yōu)化優(yōu)化連接時間,人們將期望向下移動“無網(wǎng)絡優(yōu)化”回歸線。 然而,已知網(wǎng)絡優(yōu)化對能量消耗具有額外的影響,因為它做什么以及如何做。這導致對于給定的節(jié)約的連接時間量的以mA為單位的一略微減小的節(jié)約,或者對于每個線路一略微減少陡峭的斜率。
圖30示出了反映不同優(yōu)化量的SbS運行的斜率()對TC優(yōu)化(總體)的交叉圖。這些SbS運行反映不同的網(wǎng)絡優(yōu)化的優(yōu)化量(按照節(jié)約的TC或整體值)。為了理解上述線的斜率和網(wǎng)絡優(yōu)化量之間是否存在系統(tǒng)關系,圖30是斜率()對TC優(yōu)化(總體)的交叉圖。 圖30示出和之間的關系。 如果與優(yōu)化相關的開銷(以mA為單位的一偏移量)是一個常數(shù),與TC優(yōu)化的量無關,人們將期望隨著的下降而下降,因為該開銷的相對影響將增加。
圖31示出了根據(jù)本文描述的主題的實施例的開銷對的交叉圖。 為了評估優(yōu)化“開銷”是否為常數(shù),通過沿“無網(wǎng)絡優(yōu)化”回歸線的斜率移動,將該開銷值計算為網(wǎng)絡優(yōu)化優(yōu)化數(shù)據(jù)點的mA與相關聯(lián)的mA之間的差。產(chǎn)生的開銷對比看起來像圖31。圖31示出了“開銷在1.5mA量級至高達6.5mA,與輕微(負)相關?;诖?,如何確定在客戶端V4.0中使用的有效這里有三個選項要考慮:
定義和使用常數(shù)值(例如來自上面數(shù)據(jù)集合的聚合值112)。創(chuàng)建一個簡單的方程作為總體的函數(shù)(如)。 以mA為單位定義網(wǎng)絡優(yōu)化的開銷(固定值或變量值),并使用“無網(wǎng)絡優(yōu)化回歸”線作為節(jié)約的mA與節(jié)約的TC之間的主要關系。然后將從使用無網(wǎng)絡優(yōu)化回歸關系計算的節(jié)約mA中減去該開銷(這與將該開銷值添加到為網(wǎng)絡優(yōu)化的優(yōu)化結果計算的mA相同)。
與以前的SbS電池建模結果的比較
在一個或多個實驗中,進行SbS電池組運行的分析,并且其得出以下等式:
WCDMA:
電池消耗(mAh)= 165.1201 *連接時間(小時)-0.8732 oc_status(開或關)+ 7.5975 [R2 = 0.85]
LTE:
電池消耗(mAh)= 103.8353 *連接時間(小時)+2.0123 oc_status(開或關)+2.3717 [R2 = 0.75]
這里的關鍵因素是指出,他對WCDMA SbS運行的分析產(chǎn)生了165(mAh每小時連接時間;或mA的單位)的有效系數(shù)。 這相當接近112以上的導出值,并且考慮到Andy的分析跨越比上述分析中使用的更寬的數(shù)據(jù)集,可以考慮使用更高(不太保守)的值165。
與客戶試驗結果的比較
與最近的客戶試驗結果的定性比較如下。
尚未針對空閑期分析試驗結果。 因此,結果反映了活躍和空閑時段,并且屏幕開啟影響不被考慮在內。因此,與連接時間產(chǎn)生的相關性夸大了連接時間的效果(因為在活動時段期間,大部分電池使用量與顯示相關聯(lián),雖然它在這里被集成到連接時間參數(shù)中。
在此處的差異中的另一個關鍵因素是試驗在各種網(wǎng)絡上運行,并且在試驗期間使用2G,3G和LTE。這些影響在這里也沒有被考慮。
圖32示出了在與圖30中使用的相同的圖形表示中由無優(yōu)化與優(yōu)化產(chǎn)生的斜率的曲線圖。在圖32中以與上面對SbS結果使用的相同的圖形表示示出了無網(wǎng)絡優(yōu)化與網(wǎng)絡優(yōu)化的優(yōu)化(來自試驗中的A / B周期)得到的線。注意,mA的值遠遠高于在SbS空閑期間看到的值,這再次表明在活動期間屏幕開啟對結果具有顯著影響。
由此得到的斜率如下:
聚集結果表明系數(shù)大約為400(相對于上面得出的大約112)。再一次,這里的關鍵區(qū)別是客戶試驗數(shù)據(jù)沒有排除活動(或屏幕打開)周期,因此已知系數(shù)太高。該值400表示上限,并提供可能有用的定性比較。
本文描述的主題包括估計與執(zhí)行網(wǎng)絡優(yōu)化相關聯(lián)的節(jié)約,而不計算在一段時間內節(jié)約的虛擬連接。
根據(jù)一個方面,計算“節(jié)約的無線電連接時間”或“節(jié)約的連接時間”。 該機制可以取決于所使用的優(yōu)化策略。下面描述用于計算節(jié)約的無線電連接時間的量的各種替代性優(yōu)化策略和方法。
在一個示例中,節(jié)約的連接時間可以包括實際連接時間*α,其中α是應用/策略特定因素。實際連接的時間可以用算法在應用之間劃分。該算法可以使用每個應用使用的字節(jié)的比率來劃分在應用之間的總連接時間。
在另一個示例中,節(jié)約的連接時間可以包括“當優(yōu)化時經(jīng)過的時間” ,其中是應用/策略特定因素。
在另一個示例中,節(jié)約的連接時間可以包括“優(yōu)化事件的數(shù)量*休眠定時器,其中是應用/策略特定因素。應當理解,可以反映不是所有的優(yōu)化事件都會導致節(jié)約。
在另一個示例中,保存的連接時間可以包括(客戶端保持活躍的數(shù)量* k1 - 服務器端保持活躍的數(shù)量)*休眠定時器。k1和k2可以包括用于從保持活躍的事件轉換到連接的因素。例如,k1可以包括客戶端保持活躍信息的縮減因子,其不會導致連接。k2可以包括未引起連接的服務器端保持活動消息的減少,包括未被無線電對準的消息。
在另一示例中,節(jié)約的連接時間可以包括(保持活動的客戶端的數(shù)量* k1 -保持活動的服務器端的數(shù)量)*休眠定時器。k1和k2可以包括用于從保持活躍事件轉換到連接的因素。例如,k1可以包括客戶端保持活躍消息的縮減因子,其不會導致連接。k2可以包括不引起連接的服務器端保持活躍的消息的減少,包括沒有無線電對齊的消息。
根據(jù)另一方面,節(jié)約的無線電連接時間還可以通過將節(jié)約的連接時間轉換為節(jié)約的能量,并使用每TC能量和空閑能量來計算電池壽命的延長,來進一步轉換為節(jié)約/延長的電池壽命。下面提供了該計算的幾個例子。
如本文所使用的,功耗[W]可以除以電壓[V]并以[mA]表示,其中W表示瓦特,J表示焦耳,V表示伏特,s表示秒,mA 指毫安。在一個示例中,節(jié)約/延長的電池壽命[S]等于節(jié)約的能量[J] /空閑時的平均功耗[W],其中節(jié)約的能量[J]等于節(jié)約的TC(計算的,[s])*每連接時間的額外功率[TC](參數(shù),[W]),并且空閑時的平均功耗[W]等于每個TC的額外功率[W] *總空閑時間(計算的,無單位)的TC的比率+平均非TC功耗(參數(shù),[W])。
在一個實施例中,移動設備可以使用固定為3.6V的電流(這可以根據(jù)設備而不同)。換句話說,如果它們以瓦特表示,有些功耗參數(shù)可以是其3.6倍大。
可以理解,本文描述的參數(shù)可以針對WCDMA和/或LTE來計算,并且與設備和網(wǎng)絡相關。
在另一示例中,每TC的額外功率可以等于高于非TC功耗的功率消耗,當設備其他空閑時。相反,非TC功耗可以等于當無線電未開啟但設備空閑時的平均功耗。
除非上下文明確要求,否則在整個說明書和權利要求書中,詞語“包括”,“包含”等應以包括的意義來理解,而不是排除性的或窮盡性的意義;也就是說,在“包括但不限于”的意義上。如本文所使用的,術語“連接”,“耦合”或其任何變體意味著兩個或更多元件之間的直接或間接的任何連接或耦合;元件之間的連接的耦合可以是物理的,邏輯的或其組合。另外,當詞語“本文”,“上方”,“下方”和類似含義的詞語在本申請中使用時,應當是指本申請的整體,而不是本申請的任何特定部分。在上下文允許的情況下,上述具體實施方式中使用單數(shù)或復數(shù)的詞語也可以分別包括復數(shù)或單數(shù)。關于兩個或更多個項的列表的詞語“或”涵蓋該詞語的所有以下解釋:列表中的任何項目,列表中的所有項目,以及列表中項目的任何組合。
本公開的實施例的上述詳細描述不旨在窮舉的或將教導限于上面公開的精確形式。雖然上面出于說明的目的描述了本公開的具體實施例和示例,但是如相關領域的技術人員將認識到的,在本公開的范圍內的各種等同修改是可能的。例如,雖然以給定順序呈現(xiàn)過程或塊,但是備選實施例可以以不同順序執(zhí)行具有步驟的例程或采用具有塊的系統(tǒng),并且一些過程或塊可以被刪除,移動,添加,細分,組合,和/或修改以提供替代或子組合。這些過程或塊中的每一個可以以各種不同的方式來實現(xiàn)。此外,盡管過程或塊有時被示為是串行執(zhí)行,但是這些過程或塊可以代替地并行執(zhí)行,或者可以在不同時間執(zhí)行。此外,本文中提到的任何特定數(shù)字僅是示例:替代實施方式可以采用不同的值或范圍。
本文提供的本公開的教導可以應用于其他系統(tǒng),不一定是上述系統(tǒng)。 上述各種實施例的元件和動作可以組合以提供另外的實施例。
上述任何專利和申請以及其他參考文獻,包括可能在所附申請文件中列出的任何文獻,通過引用并入本文。如果需要,可以修改本公開的方面以采用上述各種參考文獻的系統(tǒng),功能和概念,以提供本公開的又一些實施例。
根據(jù)上述具體實施方式,可以對本公開進行這些和其他改變。雖然以上描述描述了本公開的某些實施例,并且描述了預期的最佳模式,但是無論上述內容在文本中出現(xiàn)多么詳細,都可以以許多方式實踐教導。系統(tǒng)的細節(jié)可以在其實施細節(jié)方面顯著變化,同時仍被本文公開的主題所涵蓋。如上所述,當描述本公開的某些特征或方面時使用的特定術語不應被認為暗示該術語在本文中被重新定義為限于與該術語相關聯(lián)的本公開的任何特定特性,特征或方面。一般來說,除非上述具體實施方式部分明確地定義了這樣的術語,否則在所附權利要求中使用的術語不應被解釋為將本公開限制在說明書中公開的具體實施例。因此,本公開的實際范圍不僅包括所公開的實施例,而且包括根據(jù)本文提出的權利要求實施或實施本公開的或者關于要求其優(yōu)先權的任何申請?zhí)岢龅乃械韧绞健?/p>
盡管給出了本公開的某些方面,但是發(fā)明人以任何數(shù)量的權利要求形式考慮了本公開的各個方面。例如,雖然在美國法
下僅將本公開的一個方面描述為裝置加功能的權利要求,但是其他方面同樣可以被體現(xiàn)為裝置加功能的權利要求,或者其他形式,例如被包含在計算機可讀介質中。(任何根據(jù)美國法處理的任何權利要求將以“用于...的手段”開頭)。因此,申請人保留在提交申請之后增加額外權利要求以追求用于本公開的其他方面的附加權利要求形式。