用于瀏覽器始發(fā)規(guī)程的基于移動(dòng)設(shè)備的代理的制作方法
【專(zhuān)利說(shuō)明】用于瀏覽器始發(fā)規(guī)程的基于移動(dòng)設(shè)備的代理
[0001]相關(guān)申請(qǐng)的交叉引用
[0002]本申請(qǐng)要求于2014年6月12日提交的美國(guó)非臨時(shí)專(zhuān)利申請(qǐng)N0.14/303,324的優(yōu)先權(quán),該美國(guó)非臨時(shí)專(zhuān)利申請(qǐng)要求于2013年9月13日提交的美國(guó)臨時(shí)專(zhuān)利申請(qǐng)N0.61/877,914的優(yōu)先權(quán),這兩篇申請(qǐng)的全部?jī)?nèi)容通過(guò)援弓I納入于此。
[0003]公開(kāi)領(lǐng)域
[0004]本公開(kāi)一般涉及網(wǎng)絡(luò)通信,并且尤其涉及移動(dòng)設(shè)備處的網(wǎng)絡(luò)通信。
【背景技術(shù)】
[0005]WebRTC(網(wǎng)頁(yè)實(shí)時(shí)通信)是旨在經(jīng)由JavaScript應(yīng)用編程接口(API)向網(wǎng)頁(yè)瀏覽器添加實(shí)時(shí)通信能力的開(kāi)放項(xiàng)目。WebRTC為網(wǎng)頁(yè)應(yīng)用開(kāi)發(fā)者提供了在網(wǎng)頁(yè)上編寫(xiě)豐富的、實(shí)時(shí)多媒體應(yīng)用的能力,而不需要插件、下載、或安裝。例如,WebRTC可以實(shí)現(xiàn)基于瀏覽器的應(yīng)用之間的對(duì)等實(shí)時(shí)通信而不管目標(biāo)對(duì)等體的相對(duì)位置(例如,在同一設(shè)備上、在同一專(zhuān)用網(wǎng)絡(luò)中、雙方位于不同的防火墻后面等等)。
[0006]WebRTC采用被稱為交互式通信建立(ICE)的技術(shù),這種技術(shù)允許基于網(wǎng)際協(xié)議(IP)的通信會(huì)話中的目標(biāo)對(duì)等體發(fā)現(xiàn)它們之間的最佳可能媒體路徑。這在ICE實(shí)現(xiàn)是不需要對(duì)于可位于兩個(gè)目標(biāo)對(duì)等體之間的NAT或防火墻類(lèi)型的先驗(yàn)知識(shí)的網(wǎng)絡(luò)地址轉(zhuǎn)譯(NAT)穿越整體解決方案的意義上可能是有用的。
[0007]I CE利用了針對(duì)NAT的會(huì)話穿越實(shí)用程序(STUN)協(xié)議以及使用中繼穿越NAT (TURN)協(xié)議。STUN是目標(biāo)對(duì)等體可用于發(fā)現(xiàn)它是否在NAT穿越盒后面的基于IP的協(xié)議。通過(guò)聯(lián)系開(kāi)放式因特網(wǎng)中的已知服務(wù)器并接收返回的響應(yīng),目標(biāo)對(duì)等體可將它自己的IP地址與STUN服務(wù)器被檢測(cè)為STUN消息的始發(fā)IP地址的IP地址作比較。以此方式,目標(biāo)對(duì)等體可快速確定其是否在NAT后面。
[0008]在一示例中,STUN請(qǐng)求消息由目標(biāo)對(duì)等體之一(也被稱為對(duì)等方)在公共因特網(wǎng)上向已知STUN服務(wù)器發(fā)送。STUN服務(wù)器的IP地址可以是對(duì)等體先驗(yàn)已知的或是可發(fā)現(xiàn)的(例如,在域名系統(tǒng)(DNS)服務(wù)的幫助下)。當(dāng)STUN服務(wù)器從對(duì)等體接收到STUN請(qǐng)求時(shí),STUN服務(wù)器發(fā)回包括始發(fā)IP地址的STUN響應(yīng)消息。如果NAT存在于對(duì)等體與STUN服務(wù)器之間(例如,對(duì)等體在專(zhuān)用網(wǎng)絡(luò)上),則STUN響應(yīng)消息中的IP地址將與對(duì)等體在其專(zhuān)用網(wǎng)絡(luò)上的IP地址不匹配。這種類(lèi)型的消息接發(fā)僅部分解決了NAT穿越問(wèn)題。NAT可以是服務(wù)器自反的,因?yàn)閷?duì)等體的專(zhuān)用IP地址與由NAT代表該對(duì)等體向公共因特網(wǎng)中的所有目的地提供的IP地址之間存在一對(duì)一映射。然而,許多NAT是對(duì)稱的--對(duì)于對(duì)等體,針對(duì)其在公共因特網(wǎng)上的每個(gè)目的地IP地址存在唯一性IP地址映射。因此,需要一種超越簡(jiǎn)單IP地址發(fā)現(xiàn)的機(jī)制。作為結(jié)果,開(kāi)發(fā)了 TURN協(xié)議。
[0009 ] TURN通過(guò)在公共因特網(wǎng)上設(shè)立中繼往來(lái)于NAT對(duì)等體的話務(wù)的TURN服務(wù)器來(lái)解決了NAT對(duì)等體從因特網(wǎng)上的任何其他目標(biāo)對(duì)等體接收話務(wù)的問(wèn)題。例如,始發(fā)對(duì)等體初始發(fā)送通常沒(méi)有用于確保消息完整性的必要字段的“ TURN分配”請(qǐng)求。作為響應(yīng),TURN服務(wù)器發(fā)送帶有關(guān)于將來(lái)消息接發(fā)的必要值(例如,用于散列的一次性數(shù))的“分配錯(cuò)誤”消息,此后始發(fā)對(duì)等體可以重新發(fā)送帶有必要消息完整性的“TURN分配”消息并接收“TURN分配”響應(yīng),其中NAT對(duì)等體不僅能夠確定其存在于NAT后面,并且還可被分配來(lái)自TURN服務(wù)器的可被用于設(shè)立與其他對(duì)等體的通信的中繼IP地址。
[0010]ICE提供了圍繞使用STUN和TURN的框架,從而兩個(gè)對(duì)等體可以在存在NAT的情況下協(xié)商它們之間的最佳可能媒體路徑。基于每個(gè)對(duì)等體檢測(cè)可被用于聯(lián)系它們的IP地址和端口,按ICE客戶端指定的優(yōu)先級(jí)來(lái)測(cè)試并排名IP地址/端口的“候選對(duì)”。ICE標(biāo)準(zhǔn)提供了用于區(qū)分優(yōu)先級(jí)的示例算法。作為結(jié)果,ICE定義了用于基于協(xié)議(例如,會(huì)話描述協(xié)議(SDP))來(lái)協(xié)商各對(duì)等體之間的通信會(huì)話的參數(shù)的提供/應(yīng)答(offer/answer)機(jī)制。
[0011]簡(jiǎn)要概述
[0012]本公開(kāi)涉及網(wǎng)絡(luò)通信。提供了用于促進(jìn)移動(dòng)設(shè)備的通信的方法、系統(tǒng)和技術(shù)。
[0013]根據(jù)一實(shí)施例,一種促進(jìn)位于內(nèi)部網(wǎng)絡(luò)內(nèi)的移動(dòng)設(shè)備與目標(biāo)對(duì)等體之間的通信的方法包括在正在移動(dòng)設(shè)備上執(zhí)行的代理處截取用于發(fā)起與目標(biāo)對(duì)等體的實(shí)時(shí)通信連接的通信。該移動(dòng)設(shè)備耦合至蜂窩網(wǎng)絡(luò),并且該內(nèi)部網(wǎng)絡(luò)通過(guò)網(wǎng)絡(luò)地址轉(zhuǎn)譯(NAT)與一個(gè)或多個(gè)外部網(wǎng)絡(luò)分隔開(kāi)。該方法還包括確定該目標(biāo)對(duì)等體是否經(jīng)由該蜂窩網(wǎng)絡(luò)可到達(dá)。該方法進(jìn)一步包括當(dāng)確定目標(biāo)對(duì)等體經(jīng)由蜂窩網(wǎng)絡(luò)可到達(dá)時(shí),通過(guò)該蜂窩網(wǎng)絡(luò)向該目標(biāo)對(duì)等體發(fā)送用第一協(xié)議通信的請(qǐng)求。
[0014]根據(jù)另一實(shí)施例,一種促進(jìn)位于內(nèi)部網(wǎng)絡(luò)內(nèi)的移動(dòng)設(shè)備與目標(biāo)對(duì)等體之間的通信的系統(tǒng)包括能在移動(dòng)設(shè)備上執(zhí)行的截取模塊。該內(nèi)部網(wǎng)絡(luò)通過(guò)網(wǎng)絡(luò)地址轉(zhuǎn)譯(NAT)與一個(gè)或多個(gè)外部網(wǎng)絡(luò)分隔開(kāi),并且該移動(dòng)設(shè)備耦合至蜂窩網(wǎng)絡(luò)。該截取模塊截取用于發(fā)起與目標(biāo)對(duì)等體的實(shí)時(shí)通信連接的通信。該系統(tǒng)還包括能在該移動(dòng)設(shè)備執(zhí)行的通信模塊。該通信模塊確定目標(biāo)對(duì)等體是否經(jīng)由蜂窩網(wǎng)絡(luò)可到達(dá),并且當(dāng)確定目標(biāo)對(duì)等體經(jīng)由蜂窩網(wǎng)絡(luò)可到達(dá)時(shí),通信模塊通過(guò)蜂窩網(wǎng)絡(luò)向目標(biāo)對(duì)等體發(fā)送用第一協(xié)議通信的請(qǐng)求。
[0015]根據(jù)另一實(shí)施例,一種其上存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),所述指令用于執(zhí)行以下操作,包括:在正在移動(dòng)設(shè)備上執(zhí)行的代理處截取用于發(fā)起與目標(biāo)對(duì)等體的實(shí)時(shí)通信連接的通信,該移動(dòng)設(shè)備耦合至蜂窩網(wǎng)絡(luò),確定該目標(biāo)對(duì)等體是否經(jīng)由該蜂窩網(wǎng)絡(luò)可到達(dá);以及當(dāng)確定目標(biāo)對(duì)等體經(jīng)由蜂窩網(wǎng)絡(luò)可到達(dá)時(shí),通過(guò)蜂窩網(wǎng)絡(luò)向目標(biāo)對(duì)等體發(fā)送用第一協(xié)議通信的請(qǐng)求。
[0016]根據(jù)另一實(shí)施例,一種用于促進(jìn)位于內(nèi)部網(wǎng)絡(luò)內(nèi)的移動(dòng)設(shè)備與目標(biāo)對(duì)等體之間的通信的裝備包括用于在移動(dòng)設(shè)備處截取來(lái)自始發(fā)對(duì)等體的用于發(fā)起與目標(biāo)對(duì)等體的實(shí)時(shí)通信連接的通信的裝置。該移動(dòng)設(shè)備耦合至蜂窩網(wǎng)絡(luò),并且該內(nèi)部網(wǎng)絡(luò)通過(guò)網(wǎng)絡(luò)地址轉(zhuǎn)譯(NAT)與一個(gè)或多個(gè)外部網(wǎng)絡(luò)分隔開(kāi)。該裝備還包括用于確定該目標(biāo)對(duì)等體是否經(jīng)由該蜂窩網(wǎng)絡(luò)可到達(dá)的裝置。該裝備進(jìn)一步包括用于在確定目標(biāo)對(duì)等體經(jīng)由蜂窩網(wǎng)絡(luò)可到達(dá)時(shí)通過(guò)該蜂窩網(wǎng)絡(luò)向該目標(biāo)對(duì)等體發(fā)送用第一協(xié)議通信的請(qǐng)求的裝置。
[0017]附圖簡(jiǎn)述
[0018]形成本說(shuō)明書(shū)一部分的諸附圖解說(shuō)了本發(fā)明的諸實(shí)施例,并且與本描述一起進(jìn)一步用以解釋諸實(shí)施例的原理。在附圖中,類(lèi)似的參考標(biāo)號(hào)可指示相同元件或功能上類(lèi)似的元件。元件在其中首次出現(xiàn)的附圖通常由對(duì)應(yīng)參考標(biāo)記中的最左邊的數(shù)字指示。
[0019]圖1是解說(shuō)根據(jù)一實(shí)施例的包括目標(biāo)對(duì)等體和位于內(nèi)部網(wǎng)絡(luò)內(nèi)的移動(dòng)設(shè)備的系統(tǒng)的框圖。
[0020]圖2是解說(shuō)根據(jù)一實(shí)施例的用于促進(jìn)位于內(nèi)部網(wǎng)絡(luò)內(nèi)的移動(dòng)設(shè)備與目標(biāo)對(duì)等體之間的通信的系統(tǒng)的框圖。
[0021 ]圖3解說(shuō)根據(jù)一實(shí)施例的部分呼叫設(shè)立信令示圖。
[0022]圖4是解說(shuō)根據(jù)一實(shí)施例的用于促進(jìn)位于內(nèi)部網(wǎng)絡(luò)內(nèi)的移動(dòng)設(shè)備與目標(biāo)對(duì)等體之間的通信的方法的簡(jiǎn)化流程圖。
[0023]圖5是解說(shuō)根據(jù)一實(shí)施例的包括數(shù)字信號(hào)處理器的無(wú)線設(shè)備的框圖。
[0024]詳細(xì)描述
[0025]1.總覽
[0026]I1.示例系統(tǒng)架構(gòu)
[0027]II1.示例方法
[0028]IV.示例無(wú)線設(shè)備
[0029]1.總覽
[0030]應(yīng)領(lǐng)會(huì),以下公開(kāi)提供用于實(shí)現(xiàn)本公開(kāi)的不同特征的許多不同實(shí)施例或示例。一些實(shí)施例可在沒(méi)有這些具體細(xì)節(jié)中的一些或所有細(xì)節(jié)的情況下實(shí)踐。以下描述組件、模塊、和安排的具體示例以簡(jiǎn)化本公開(kāi)。當(dāng)然,這些僅是示例且不旨在是限制性的。
[0031]當(dāng)前被標(biāo)準(zhǔn)化的WebRTC技術(shù)使網(wǎng)頁(yè)開(kāi)發(fā)者能在瀏覽器之間建立對(duì)等意義上的實(shí)時(shí)通信。WebRTC是在兩個(gè)對(duì)等體之間提供雙向?qū)崟r(shí)通信能力的應(yīng)用。當(dāng)前的WebRTC規(guī)范依賴于I CE標(biāo)準(zhǔn)來(lái)穿越NAT。給定蜂窩網(wǎng)絡(luò)上的部署場(chǎng)景,在WebRTC上下文中的ICE會(huì)話可能導(dǎo)致低效,這會(huì)影響移動(dòng)設(shè)備電池壽命并且導(dǎo)致不必要的空中事務(wù)。
[0032]具體而言,ICE可能潛在地是有問(wèn)題的,特別是在蜂窩上下文中操作時(shí)且尤其是在與啟用IP多媒體子系統(tǒng)(MS)的核心網(wǎng)互操作時(shí)。例如,潛在的問(wèn)題是基于SDP的提供/應(yīng)答機(jī)制可能導(dǎo)致顯著數(shù)目的具有它們自己的在蜂窩網(wǎng)絡(luò)容量(無(wú)論在空中還是在無(wú)線電接入網(wǎng)絡(luò)(RAN)內(nèi))方面的相關(guān)聯(lián)成本的空中消息接發(fā)事務(wù)。另一個(gè)潛在問(wèn)題是許多現(xiàn)有的IP語(yǔ)音(VoIP)目標(biāo)對(duì)等體(包括IMS)不支持ICE。另一個(gè)潛在問(wèn)題是ICE允許基于STUN綁定規(guī)程的保活機(jī)制。眾所周知,基于應(yīng)用的?;顧C(jī)制不僅具有網(wǎng)絡(luò)效率成本,而且還可能潛在地限制移動(dòng)設(shè)備的電池壽命。另一個(gè)潛在問(wèn)題是對(duì)于WebRTC,如果用戶出于任何原因關(guān)閉了應(yīng)用(例