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