移動網(wǎng)絡(luò)中的沒有持久性tcp連接情況下的推送服務(wù)的制作方法
【技術(shù)領(lǐng)域】
[0001 ] 本公開內(nèi)容總體上涉及移動網(wǎng)絡(luò),更具體來說涉及移動網(wǎng)絡(luò)推送服務(wù)。
【背景技術(shù)】
[0002]移動設(shè)備應(yīng)用通常運行在客戶端-服務(wù)器模型中,其中移動設(shè)備上的應(yīng)用客戶端接收并且處理來自一臺或多臺基于網(wǎng)絡(luò)的應(yīng)用服務(wù)器的數(shù)據(jù)。為了獲得來自服務(wù)器的數(shù)據(jù),應(yīng)用客戶端可以使用拉取或推送模式。在拉取模式下,應(yīng)用客戶端周期性地輪詢應(yīng)用服務(wù)器的新數(shù)據(jù)。在推送模式下,應(yīng)用服務(wù)器在新數(shù)據(jù)可用時將數(shù)據(jù)“推送”到應(yīng)用客戶端,而無需應(yīng)用客戶端進行輪詢。
[0003]常常輪詢網(wǎng)絡(luò)的應(yīng)用可以受益于推送服務(wù)。推送服務(wù)包括傳統(tǒng)的電子郵件(例如,用于在新的電子郵件到達服務(wù)器時向移動設(shè)備發(fā)送推送通知)、短消息服務(wù)(例如,用于在SMS消息到達服務(wù)器時發(fā)送推送通知)、互聯(lián)網(wǎng)協(xié)議承載語音(VoIP)(例如,用于通知傳入呼叫)、web瀏覽(其例如用于通知何時刷新網(wǎng)頁)以及用于3G/4G智能移動設(shè)備的不斷增長的視頻應(yīng)用。對應(yīng)于此類視頻應(yīng)用的推送事件通知的示例包括但不限于網(wǎng)絡(luò)環(huán)境改變、策略改變以及可能需要應(yīng)用客戶端響應(yīng)的其他通知。
[0004]推送模式對于運行在蜂窩網(wǎng)絡(luò)上的移動設(shè)備特別重要。通常來說,當(dāng)移動設(shè)備沒有數(shù)據(jù)要發(fā)送或接收時,其可以進入空閑(例如休眠、睡眠)模式,以便節(jié)省電池電力以及與該設(shè)備的無線電操作相關(guān)聯(lián)的空中資源。無線電接入網(wǎng)維護空閑設(shè)備的位置狀態(tài)信息,并且在針對所述設(shè)備的數(shù)據(jù)到達時,使用由相應(yīng)的蜂窩接入技術(shù)標(biāo)準(zhǔn)定義的尋呼機制來喚醒該移動設(shè)備。
[0005]相反地,拉取模式需要移動設(shè)備在應(yīng)用客戶端需要輪詢應(yīng)用服務(wù)器新數(shù)據(jù)時周期性地退出空閑模式,而不管服務(wù)器是否具有這樣的新數(shù)據(jù),從而導(dǎo)致移動設(shè)備電池資源的浪費和不必要的空中通信。此外,改進應(yīng)用響應(yīng)時間要求提高輪詢頻率,從而浪費更多的電池和空中資源。降低輪詢頻率可能導(dǎo)致應(yīng)用客戶端對應(yīng)用服務(wù)器事件響應(yīng)的更多延遲。
[0006]對于使用所有基于IP的數(shù)據(jù)服務(wù)的3G和4G網(wǎng)絡(luò),用于當(dāng)前蜂窩服務(wù)提供商的典型網(wǎng)絡(luò)架構(gòu)為移動設(shè)備提供使用私有IP地址,其在服務(wù)提供商核心網(wǎng)絡(luò)與公共因特網(wǎng)之間存在防火墻。這對推送實現(xiàn)方式構(gòu)成了嚴(yán)峻挑戰(zhàn)。位于(具有私有IP地址的)移動設(shè)備上的應(yīng)用客戶端與應(yīng)用服務(wù)器之間的、具有網(wǎng)絡(luò)地址翻譯(MT,Network AddressTranslat1n)的典型防火墻只允許應(yīng)用客戶端與應(yīng)用服務(wù)器之間的、基于傳輸控制協(xié)議(TCP, Transmiss1n Control Protocol)的客戶端發(fā)起的通信。但是在應(yīng)用客戶端與應(yīng)用服務(wù)器之間維持這樣的TCP連接需要周期性“心跳”,其實質(zhì)上等效于拉取模式(必須周期性地交換源自客戶端的TCP分組),并且對于移動設(shè)備空閑模式具有與拉取模式類似的影響。
[0007]對位于防火墻后方的具有私有IP地址的應(yīng)用客戶端,如果沒有防火墻中的特殊“孔洞”,則位于防火墻外的應(yīng)用服務(wù)器無法向該應(yīng)用客戶端發(fā)送IP分組,這是因為無法從服務(wù)提供商的網(wǎng)絡(luò)外部到達客戶端的私有IP地址。這樣的“防火墻中的孔洞”通常是在由應(yīng)用客戶端發(fā)起與應(yīng)用服務(wù)器的TCP連接時被自動產(chǎn)生。防火墻NAT功能在客戶端發(fā)送的TCP/IP分組中,將〈來源IP地址,來源TCP端口號〉對替換為〈許多客戶端所共有的公共IP地址+唯一的新來源TCP端口號〉對,并且在特定一段時間內(nèi)創(chuàng)建〈來源IP地址,來源TCP端口號〉對與〈唯一的新來源TCP端口號〉之間的映射,從而允許把來自應(yīng)用服務(wù)器的、尋址到〈許多客戶端所共有的公共IP地址+唯一的新來源TCP端口號〉的分組轉(zhuǎn)發(fā)到應(yīng)用客戶端的〈來源IP地址,來源TCP端口號〉。這樣的映射在防火墻中產(chǎn)生一個“孔洞”,從而允許應(yīng)用服務(wù)器向應(yīng)用客戶端發(fā)送分組。在沒有TCP通信量的情況下(例如當(dāng)客戶端進入空閑模式時),所述映射過時(age out),并且客戶端變?yōu)闊o法從服務(wù)器到達。然而,通過發(fā)送周期性TCP通信量以刷新該映射來維持持續(xù)的TCP連接的做法的成本較高,并且需要移動設(shè)備周期性地退出空閑狀態(tài)以生成這樣的通信量。此外,不同的防火墻的“時效”計時器配置可能有所不同,從而導(dǎo)致針對此類通信量的需求不必要地過于頻繁。
[0008]現(xiàn)有的解決方案表明了防火墻問題的重要性,而且還表明對于服務(wù)提供商網(wǎng)絡(luò)與公共因特網(wǎng)之間的防火墻的推送實現(xiàn)方式不存在單一的令人滿意的方法。
[0009]舉例來說,基于TCP的移動操作系統(tǒng)(OS)或者移動設(shè)備供應(yīng)商推送服務(wù)通常包括位于因特網(wǎng)中別處(在無線服務(wù)提供商的受到防火墻保護的核心的外部)的推送服務(wù)器,與移動設(shè)備OS耦合的推送客戶端中間件,以及特定于移動設(shè)備OS、被暴露給應(yīng)用客戶端和服務(wù)器以登記和接收推送服務(wù)的API集合。但是,持續(xù)的TCP連接必須穿過防火墻維持。維持這樣的連接要求在移動設(shè)備與推送服務(wù)器之間交換周期性TCP通信量,從而導(dǎo)致電池壽命和空中資源的浪費?;赥CP保持活動(keep-alive)(其在某些情況下是每秒鐘)和/或防火墻時效刷新交換的頻率,移動設(shè)備或者完全無法進入空閑模式(如果保持活動交換過于頻繁的話),或者被迫周期性地退出空閑模式以進行保持活動交換。TCP交換的頻率通常由特定于OS的考慮因素(例如TCP保持活動或其他機制,其允許服務(wù)器在移動設(shè)備斷電或突然離開無線覆蓋范圍時檢測到死亡TCP連接),以及對應(yīng)于從服務(wù)器到客戶端的反向TCP通信量的防火墻孔洞時效計時器來決定。此外,維持與數(shù)以千萬計的移動設(shè)備的持續(xù)TCP連接需要分配大量服務(wù)器資源。此外,這種方法可能會對于移動設(shè)備用戶產(chǎn)生隱私問題,這是因為其可能允許第三方推送服務(wù)器跟蹤移動設(shè)備及他們應(yīng)用的使用。
[0010]圖1示出了用于實施基于持續(xù)TCP連接的供應(yīng)商控制的推送服務(wù)的移動網(wǎng)絡(luò)的功能圖示。網(wǎng)絡(luò)100通常通過使用對應(yīng)于一個或多個移動設(shè)備102的私有IP地址來提供移動網(wǎng)絡(luò)服務(wù)(例如語音、文字、視頻和其他數(shù)據(jù)服務(wù))。移動設(shè)備102被配置來運行移動設(shè)備操作系統(tǒng)(OS)以及利用定制的、供應(yīng)商實施的推送服務(wù)的各種移動網(wǎng)絡(luò)服務(wù)應(yīng)用。網(wǎng)絡(luò)100包括移動服務(wù)提供商的核心網(wǎng)絡(luò)106與公共因特網(wǎng)108之間的具有網(wǎng)絡(luò)地址翻譯(NAT)的防火墻104。核心網(wǎng)絡(luò)106包括通常被用于實施LTE移動通信系統(tǒng)的組件,比如分組數(shù)據(jù)網(wǎng)絡(luò)網(wǎng)關(guān)(PDN-GW,Packet Data Network gateway) 110、本地用戶服務(wù)器(HSS,HomeSubscriber Server) 112、移動性管理實體(MME,Mobility Management Entity) 114、服務(wù)網(wǎng)關(guān)(S-GW, Serving gateway) 116以及一個或多個基站(eNodeB)蜂窩接入點118。然而,核心網(wǎng)絡(luò)106可以是2G、3G (例如WCDMA-UMTS、CDMA)或4G (例如LTE、WiMAX)網(wǎng)絡(luò),其具有被配置來實施任何此類標(biāo)準(zhǔn)定義的網(wǎng)絡(luò)架構(gòu)的組件。因此,雖然圖1示出了 LTE移動通信系統(tǒng),但是本領(lǐng)域技術(shù)人員將認(rèn)識到,可以添加或組合這些組件當(dāng)中的一項或更多項以及各種其他眾所周知的組件,用于實施2G、3G、4G或者其他移動通信系統(tǒng)網(wǎng)絡(luò)架構(gòu)。
[0011]網(wǎng)絡(luò)100還可以包括可以通過防火墻104外部的公共因特網(wǎng)108訪問的推送服務(wù)器120。移動設(shè)備102可以包括推送客戶端122 (例如與移動設(shè)備操作系統(tǒng)(0S,0peratingSystem)耦合的中間件)以及一個或多個應(yīng)用編程接口(