push業(yè)務(wù)被定義為一種在沒有用戶請求的情況下應(yīng)用系統(tǒng)主動將數(shù)據(jù)發(fā)送給用戶的業(yè)務(wù)。push的概念在以SMS(short message service)為代表的2G網(wǎng)絡(luò)中獲得了巨大的成功,3GPP(third generation partnership project)將push業(yè)務(wù)體系模型抽象為一種網(wǎng)絡(luò)能力提供給其它業(yè)務(wù)使用。接收者向一個或多個發(fā)送者訂購要求推送的數(shù)據(jù),符合訂購條件的數(shù)據(jù)產(chǎn)生后,發(fā)送者利用網(wǎng)絡(luò)提供的功能將數(shù)據(jù)發(fā)送給接收者,推送的途徑和所采用的網(wǎng)絡(luò)功能在訂購要求中指定。
在我國通信行業(yè)標(biāo)準(zhǔn)YD/T 3002-2016《移動網(wǎng)絡(luò)推送業(yè)務(wù)技術(shù)要求 點(diǎn)到點(diǎn)推送》中,對“push業(yè)務(wù)”給出的標(biāo)準(zhǔn)定義是:由服務(wù)器發(fā)起內(nèi)容傳遞到用戶的一種傳輸方式。同時該標(biāo)準(zhǔn)給出了下述移動網(wǎng)絡(luò)推送業(yè)務(wù)的業(yè)務(wù)概念。
1、push業(yè)務(wù)的系統(tǒng)框架
Push技術(shù)允許業(yè)務(wù)的使用者能接收推送的數(shù)據(jù)到他們的移動客戶端上。最初一個用戶可以去瀏覽push發(fā)起者(PI,Push Initiator)維護(hù)的網(wǎng)頁,PI將提供業(yè)務(wù)給用戶。一個典型的push業(yè)務(wù)例子可以是本地的天氣預(yù)報業(yè)務(wù),PI每天早上推送本地天氣預(yù)報到用戶的客戶端。
Push的結(jié)構(gòu)除Push用戶外,又定義了三個實(shí)體:Push業(yè)務(wù)發(fā)起者PI、Push代理網(wǎng)關(guān)PPG(Push Proxy Gateway)和客戶端,如圖1所示。當(dāng)通過無連接方式推送內(nèi)容到用戶的客戶端時,PI與PPG使用push接入?yún)f(xié)議PAP(Push Access Protocol)協(xié)議進(jìn)行交互。PPG依次編譯Push消息,并經(jīng)過空中下載OTA(Over the Air)協(xié)議發(fā)送給用戶的客戶端。
圖1:Push業(yè)務(wù)框架
2、push業(yè)務(wù)的系統(tǒng)元素
PI為普通web服務(wù)器上運(yùn)行的一種典型的應(yīng)用,與PPG通過HTTP連接使用PAP協(xié)議通信。PPG使用Push-OTA協(xié)議傳送push內(nèi)容到客戶端。
PAP基于標(biāo)準(zhǔn)的Internet協(xié)議,用XML傳遞指令并且push內(nèi)容可以任何MIME(Multipurpose Internet Mail Extensions,多用途網(wǎng)際郵件擴(kuò)展)媒體類型。
PPG負(fù)責(zé)傳遞push內(nèi)容到客戶端,將PI提供的客戶端地址轉(zhuǎn)換成一個移動網(wǎng)絡(luò)可以識別的格式,如果客戶端當(dāng)前不可用時緩存內(nèi)容等。PPG不只完成傳遞消息的功能,它還可以通知PI關(guān)于push提交的最終結(jié)果,選擇性的取消、覆蓋或?yàn)?/span>PI請求客戶端能力。
PPG為push框架中主要功能實(shí)體。其責(zé)任為從Internet向移動網(wǎng)絡(luò)push內(nèi)容的接入點(diǎn),及隨之相關(guān)的所有事情(鑒權(quán)、地址解析等)。將執(zhí)行網(wǎng)絡(luò)的接入控制策略。例如,push內(nèi)容發(fā)送權(quán)限控制等。
Push-OTA協(xié)議是完成push框架的一部分,負(fù)責(zé)從PPG傳輸內(nèi)容到客戶端及其用戶代理。通過HTTP(OTA-HTTP)、WSP(OTA-WSP)或其他協(xié)議實(shí)現(xiàn)。
3、Push代理網(wǎng)關(guān)PPG
push服務(wù)是WAP的一個組成部分,這個體系結(jié)構(gòu)使得信息內(nèi)容能夠從有線網(wǎng)絡(luò)上被推送到兼容WAP的移動設(shè)備上。Push業(yè)務(wù)技術(shù)規(guī)范主要是針對內(nèi)容提供商把內(nèi)容推送(即不需要同步請求的發(fā)送)到客戶端(即支持push相應(yīng)功能的移動設(shè)備)的需求。這與“pull”技術(shù)相反。“pull”技術(shù)需要客戶端發(fā)出的同步請求。利用有線網(wǎng)絡(luò)到無線網(wǎng)絡(luò)之間的網(wǎng)關(guān)使得push業(yè)務(wù)更加便利,該網(wǎng)關(guān)稱為Push代理網(wǎng)關(guān)PPG。PGG的執(zhí)行的操作包括:push提交處理、結(jié)果通知、傳送取消,以及push訪問協(xié)議(PAP)狀態(tài)查詢等。
4、PAP協(xié)議
PAP協(xié)議的框架如下圖4所示,是PI與PPG之間的接口,為PI推送內(nèi)容到移動網(wǎng)絡(luò)的方法,并且能夠?qū)ぶ纺繕?biāo)PPG。
圖4:PAP協(xié)議的框架
PAP原來設(shè)計時獨(dú)立于底層傳輸機(jī)制。HTTP為首選PAP傳輸?shù)膮f(xié)議,其他協(xié)議(例如SMTP)也可選。PAP攜帶PPG將使用的push相關(guān)控制信息。這些信息使用XML表述。例如,一個新的消息提交到PPG,控制信息和push內(nèi)容都攜帶在MIME multipart/related體中,具體應(yīng)符合IETF GFC 2387。這意味一個單獨(dú)的MIME實(shí)體的傳輸與操作類型無關(guān)。
PAP目的在于從PI向PPG傳送內(nèi)容,進(jìn)一步傳遞到窄帶設(shè)備,包括手機(jī)和尋呼機(jī)。例如,消息包含新聞、股票價格、天氣、交通,和事件通知例如郵件到來。伴隨著push功能,用戶可不必請求這個信息就可以得到信息。很多情況下,用戶及時得到消息時非常重要的。
PAP協(xié)議不用于空口部分,PAP是PI與PPG間的通信協(xié)議。PAP設(shè)計與底層傳輸協(xié)議無關(guān),它可基于任何能夠通過Internet傳輸MIME格式的傳輸協(xié)議。目前制定的傳輸協(xié)議是HTTP,將來可能引入如SMTP等的其他協(xié)議。PAP支持的操作如下表4所示。
表4:PAP協(xié)議支持的操作
5、push-OTA協(xié)議
push-OTA協(xié)議是push框架組成部分,負(fù)責(zé)將push內(nèi)容從PPG傳遞給客戶端和其用戶代理。它運(yùn)行在HTTP(OTA-HTTP)、WSP(OTA-WSP)或SIP(OTA-SIP)之上。OTA-WSP經(jīng)常用于在PPG和客戶端之間執(zhí)行無連接的push。面向連接的push,使用OTA-HTTP、OTA-WSP或OTA-SIP是可選的,OTA框架如圖5所示;三個協(xié)議的簡介詳見下表5中。
圖5:push-OTA協(xié)議框架
表5:OTA-HTTP、OTA-WSP和OTA-SIP的介紹
HTTP為超文本傳輸協(xié)議(Hypertext Transfer Protocol);WSP為無線會話協(xié)議(Wireless Session Protocol);SIP為初始會話協(xié)議(Session Initiated Protocol)。
以上簡單介紹的是移動通信網(wǎng)的點(diǎn)到點(diǎn)的推送業(yè)務(wù),當(dāng)然也有點(diǎn)到多點(diǎn)的推送業(yè)務(wù)。另外還有基于SIP協(xié)議的推送業(yè)務(wù)。
欲進(jìn)一步了解移動網(wǎng)推送業(yè)務(wù)國內(nèi)標(biāo)準(zhǔn)情況介紹的請進(jìn)入。