欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

網(wǎng)絡(luò)端點(diǎn)之間的媒體會話的制作方法

文檔序號:12071814閱讀:299來源:國知局
網(wǎng)絡(luò)端點(diǎn)之間的媒體會話的制作方法與工藝

通信網(wǎng)絡(luò)通常包括不同類型的網(wǎng)絡(luò)節(jié)點(diǎn),例如用戶設(shè)備、路由器、網(wǎng)絡(luò)地址翻譯器(NAT)、媒體中繼服務(wù)器等,這些節(jié)點(diǎn)在網(wǎng)絡(luò)內(nèi)執(zhí)行不同的功能。兩個(gè)進(jìn)行通信的節(jié)點(diǎn)(端點(diǎn),例如用戶設(shè)備)之間的通信可以經(jīng)由網(wǎng)絡(luò)中的其他節(jié)點(diǎn)(中間節(jié)點(diǎn),例如路由器、NAT、和媒體中繼服務(wù)器)。網(wǎng)絡(luò)可以具有分層的架構(gòu),由此不同的邏輯層提供不同類型的點(diǎn)對點(diǎn)通信服務(wù)。每一層是由該層緊接著下面的層(不是最低層)來服務(wù)的,并且向該層緊接著上面的層(不是最高層)提供服務(wù)。該網(wǎng)絡(luò)可以是基于分組的網(wǎng)絡(luò)和/或互聯(lián)網(wǎng)。

可以在諸如經(jīng)由通信網(wǎng)絡(luò)連接的用戶設(shè)備之類的兩個(gè)端點(diǎn)之間建立媒體會話,以使得可以經(jīng)由網(wǎng)絡(luò)在這些端點(diǎn)之間發(fā)送和接收實(shí)時(shí)媒體。媒體會話的示例是SIP(“會話發(fā)起協(xié)議”)媒體會話。媒體會話可以是IP語音或視頻(VOIP)會話,其中通話的音頻和/或視頻是在VOIP會話中的端點(diǎn)之間發(fā)送和接收的。可以通過網(wǎng)絡(luò)地址(例如,IP(“互聯(lián)網(wǎng)協(xié)議”)地址)來標(biāo)識端點(diǎn)和其他類型的網(wǎng)絡(luò)節(jié)點(diǎn),其中會話是在與端點(diǎn)相關(guān)聯(lián)的傳輸?shù)刂分g建立的。傳輸?shù)刂肥蔷W(wǎng)絡(luò)地址(例如,IP地址)和與該網(wǎng)絡(luò)地址相關(guān)聯(lián)的端口的組合。

為了建立媒體會話,端點(diǎn)中的一個(gè)端點(diǎn)可以向其他端點(diǎn)發(fā)送媒體會話請求。在本文中,發(fā)起針對媒體會話(例如,音頻/視頻通信)的請求的端點(diǎn)被稱為“進(jìn)行發(fā)起的端點(diǎn)”或等同地被稱為“呼叫方端點(diǎn)”。接收并處理來自呼叫方的通信請求的端點(diǎn)被稱為“進(jìn)行響應(yīng)的端點(diǎn)”或“被叫方端點(diǎn)”。每個(gè)端點(diǎn)可以具有多個(gè)關(guān)聯(lián)的傳輸?shù)刂?,例如本地傳輸?shù)刂?、在NAT的公共側(cè)上的傳輸?shù)刂贰⒃谥欣^服務(wù)器上分配的傳輸?shù)刂返取T诿襟w會話建立期間,對于每個(gè)端點(diǎn),相應(yīng)的地址是針對該端點(diǎn)所選擇的以用于在媒體會話中發(fā)送和接收數(shù)據(jù)。例如,可以根據(jù)ICE(“交互式連通性建立”)協(xié)議來選擇地址。一旦建立了媒體會話,媒體就可以在不同端點(diǎn)的這些所選擇的地址之間流動。



技術(shù)實(shí)現(xiàn)要素:

提供了該發(fā)明內(nèi)容以用簡化的形式引入在下文的具體實(shí)施方式中進(jìn)一步表述的概念的選擇。該發(fā)明內(nèi)容并不旨在標(biāo)識所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用來限制所要求保護(hù)的主題的范圍。

本主題的方面針對一種用于在進(jìn)行發(fā)起的端點(diǎn)和進(jìn)行響應(yīng)的端點(diǎn)之間產(chǎn)生媒體會話的方法。進(jìn)行發(fā)起和進(jìn)行接收的端點(diǎn)是經(jīng)由通信來連接的,所述通信包括網(wǎng)絡(luò)節(jié)點(diǎn),存在通過網(wǎng)絡(luò)的多個(gè)可用路徑,通過上述路徑可以建立媒體會話。所述端點(diǎn)可以訪問與可用路徑相關(guān)聯(lián)的類型度量,所述類型度量傳達(dá)可用路徑的直接性,所述類型度量用于對針對媒體會話可用的路徑進(jìn)行選擇。所述方法包括以下步驟。訪問指示可用路徑的質(zhì)量的網(wǎng)絡(luò)信息,所述網(wǎng)絡(luò)信息是從多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)收集的并且包括來自與進(jìn)行發(fā)起和進(jìn)行接收的節(jié)點(diǎn)不同的網(wǎng)絡(luò)節(jié)點(diǎn)的貢獻(xiàn),所述不同的網(wǎng)絡(luò)節(jié)點(diǎn)具有可用路徑的至少部分的當(dāng)前的可見性和/或過去的可見性。選擇數(shù)據(jù)是基于網(wǎng)絡(luò)信息而生成的,所述選擇數(shù)據(jù)用于影響所述選擇。向端點(diǎn)中的至少一個(gè)端點(diǎn)發(fā)送選擇數(shù)據(jù),以便使得端點(diǎn)針對媒體會話而選擇較高質(zhì)量但是較不直接的可用路徑而不是較直接但質(zhì)量較差的可用路徑。

附圖說明

為了幫助理解本主題并且示出如何實(shí)施本主題,現(xiàn)在將僅僅作為示例來參考以下附圖,其中:

圖1示出了通信系統(tǒng);

圖2示出了用戶設(shè)備的框圖;

圖3示出了控制服務(wù)器的框圖;

圖4示出了分層網(wǎng)絡(luò)架構(gòu)的表示;

圖5示出了網(wǎng)絡(luò)地址翻譯器的操作;

圖6A-C分別示出了針對媒體會話的通過網(wǎng)絡(luò)的第一、第二、和第三路徑;

圖7示出了針對媒體會話的一組可能的地址對;

圖8示出了功能性地表示端點(diǎn)和控制服務(wù)器的功能框圖;

圖9是用于產(chǎn)生媒體會話的方法的流程圖。

具體實(shí)施方式

現(xiàn)在僅僅作為示例來描述實(shí)施例。

圖1是通信系統(tǒng)的示意圖,其包括:公共網(wǎng)絡(luò)2,其是具有公共地址空間的基于分組的互聯(lián)網(wǎng)(即,經(jīng)互連的個(gè)體網(wǎng)絡(luò)的系統(tǒng)),例如因特網(wǎng);第一和第二端點(diǎn),其是由第一和第二用戶4a、4b操作的第一和第二用戶設(shè)備6a、6b;第三和第四端點(diǎn),其是由第三和第四用戶4’a、4’b操作的第三和第四用戶設(shè)備6’a、6’b;第一和第二媒體服務(wù)器14a、14b;以及控制服務(wù)器(遙測服務(wù)器)12。公共網(wǎng)絡(luò)2包括多個(gè)路由器3,其在公共網(wǎng)絡(luò)2的不同個(gè)體網(wǎng)絡(luò)(未示出)之間對業(yè)務(wù)進(jìn)行路由。

用戶設(shè)備6a、6’a連接至第一基于分組的專用網(wǎng)絡(luò)5a并且作為其網(wǎng)絡(luò)節(jié)點(diǎn),而用戶設(shè)備6a、6’a連接至第二基于分組的專用網(wǎng)絡(luò)5b并且作為其網(wǎng)絡(luò)節(jié)點(diǎn)。

專用網(wǎng)絡(luò)的每個(gè)節(jié)點(diǎn)在該專用網(wǎng)絡(luò)的專用地址空間中具有相應(yīng)的專用網(wǎng)絡(luò)地址,其中連接至該同一專用網(wǎng)絡(luò)的其他節(jié)點(diǎn)(且僅僅這樣的節(jié)點(diǎn))可以使用所述專用網(wǎng)絡(luò)地址來通過該專用網(wǎng)絡(luò)(且僅僅通過該專用網(wǎng)絡(luò))與該節(jié)點(diǎn)進(jìn)行通信。該地址是專用的在于其不能由未與該同一專用網(wǎng)絡(luò)連接的設(shè)備使用以與該節(jié)點(diǎn)進(jìn)行通信,例如,其不能在公共網(wǎng)絡(luò)2中被使用。此外,盡管該地址在該專用網(wǎng)絡(luò)內(nèi)是唯一的,但是其他的節(jié)點(diǎn)可以在不同的網(wǎng)絡(luò)中(例如,第一和第二用戶設(shè)備5a、5b可能恰好具有同一專用網(wǎng)絡(luò)地址,但是其僅可用于在專用網(wǎng)絡(luò)5a內(nèi)與第一用戶設(shè)備6a進(jìn)行通信并且其僅可用于在第二專用網(wǎng)絡(luò)5b內(nèi)與第二用戶設(shè)備6b進(jìn)行通信)使用相同的網(wǎng)絡(luò)地址。

為了使得第一專用網(wǎng)絡(luò)5a(相應(yīng)地,第二專用網(wǎng)絡(luò)5b)的節(jié)點(diǎn)能夠與公共網(wǎng)絡(luò)2進(jìn)行通信,第一(相應(yīng)地,第二)專用網(wǎng)絡(luò)經(jīng)由第一網(wǎng)絡(luò)地址翻譯器(NAT)8a(相應(yīng)地,第二NAT 5b)而連接至公共網(wǎng)絡(luò)2。也分別在第一和第二專用網(wǎng)絡(luò)5a、5b的第一和第二專用地址空間中具有相應(yīng)的專用網(wǎng)絡(luò)地址(被稱為該NAT專用側(cè)的地址)的每個(gè)NAT 5a、5b,還在公共網(wǎng)絡(luò)2的公共地址空間中具有相應(yīng)的公共網(wǎng)絡(luò)地址(被稱為該NAT的公共側(cè)上的地址)。因此,不僅第一和第二專用網(wǎng)絡(luò)5a、5b的節(jié)點(diǎn)可以使用這些NAT的專用網(wǎng)絡(luò)地址來分別與第一和第二NAT 5a、5b進(jìn)行通信,而且在該專用網(wǎng)絡(luò)之外的節(jié)點(diǎn)也可以使用這些NAT的專用網(wǎng)絡(luò)地址來與這些NAT 5a、5b進(jìn)行通信。

NAT(例如,8a、8b)通過將專用網(wǎng)絡(luò)的專用地址空間映射到公共網(wǎng)絡(luò)的公共地址空間中來充當(dāng)專用網(wǎng)絡(luò)(例如,5a、5b)與公共網(wǎng)絡(luò)(例如2)之間的接口,由此使得專用網(wǎng)絡(luò)的節(jié)點(diǎn)能夠通過公共網(wǎng)絡(luò)在專用網(wǎng)絡(luò)之外進(jìn)行通信。

在專用網(wǎng)絡(luò)(5a/5b)中的一個(gè)專用網(wǎng)絡(luò)之外的節(jié)點(diǎn)可以使用該NAT公共地址經(jīng)由公共網(wǎng)絡(luò)2將去往該專用網(wǎng)絡(luò)的特定的節(jié)點(diǎn)的業(yè)務(wù)送往相關(guān)的NAT(8a/8b),其中,該NAT接著經(jīng)由該專用網(wǎng)絡(luò)將所述業(yè)務(wù)轉(zhuǎn)發(fā)至該節(jié)點(diǎn)。

在下文中詳細(xì)地描述了NAT的操作。

專用網(wǎng)絡(luò)5a、5b和公共網(wǎng)絡(luò)2構(gòu)成了通信網(wǎng)絡(luò)1,其中各種用戶設(shè)備6a、…、6’b、NAT 8a、8b、服務(wù)器12、14a、14b、和路由器3是網(wǎng)絡(luò)節(jié)點(diǎn)。通信網(wǎng)絡(luò)1也是互聯(lián)網(wǎng)(其包括互聯(lián)網(wǎng)的個(gè)體網(wǎng)絡(luò)2以及專用網(wǎng)絡(luò)5a、5b)。

用戶設(shè)備6a、6b執(zhí)行通信客戶端軟件7a、7b(客戶端)的相應(yīng)的實(shí)例??蛻舳耸沟糜脩粼O(shè)備6a、6b能夠通過網(wǎng)絡(luò)1在用戶設(shè)備6a、6b之間建立媒體會話,例如以促進(jìn)在用戶的4a、4b之間的實(shí)時(shí)通信事件(例如,語音和/或視頻通話),以使得用戶4a、4b可以通過網(wǎng)絡(luò)1彼此進(jìn)行通信,其中在媒體會話中,通話音頻和/或視頻是在設(shè)備6a、6b之間發(fā)送和接收的。用戶設(shè)備6’a、6’b也將客戶端軟件7’a、7’b的相應(yīng)的實(shí)例執(zhí)行到類似的效果。

盡管未在圖2中示出,但是,用戶設(shè)備可以通過不包含任何NAT的某一其他機(jī)制而連接至公共網(wǎng)絡(luò)2。例如,用戶設(shè)備可以經(jīng)由Wi-Fi連接至專用網(wǎng)絡(luò),而經(jīng)由不包含NAT的移動網(wǎng)絡(luò)連接至公共網(wǎng)絡(luò)。

控制服務(wù)器12執(zhí)行控制代碼13以用于以在下文中所描述的方式來監(jiān)測和控制各種用戶設(shè)備之間的通信的方面。

圖2是用戶設(shè)備6(例如,6a、6b、6’a、6’b)的示意性框圖。用戶設(shè)備6是可以采取多種形式的計(jì)算機(jī)設(shè)備,例如:臺式計(jì)算機(jī)或膝上型計(jì)算機(jī)、移動電話(例如,智能電話)、平板計(jì)算設(shè)備、可穿戴計(jì)算設(shè)備、電視機(jī)(例如,智能TV)、機(jī)頂盒、游戲控制臺等。

用戶設(shè)備6包括處理器22,其上連接了存儲器20、一個(gè)或多個(gè)輸出設(shè)備(例如,顯示器24和揚(yáng)聲器26)、一個(gè)或多個(gè)輸入設(shè)備(例如,相機(jī)27和麥克風(fēng)28)、以及網(wǎng)絡(luò)接口24(例如使得用戶設(shè)備6能夠連接至網(wǎng)絡(luò)1的以太網(wǎng)、Wi-Fi、或移動網(wǎng)絡(luò)(例如,3G、LTE等)接口)。顯示器24可以包括觸摸屏,其可以從設(shè)備6的用戶處接收觸摸輸入,在該情況下,顯示器24也是用戶設(shè)備6的輸入設(shè)備。被示出為連接至處理器的各種組件中的任何一個(gè)組件可以集成在用戶設(shè)備6中,或者非集成并且經(jīng)由合適的外部接口(有線的例如以太網(wǎng),或無線的例如Wi-Fi)而連接至處理器22。

存儲器20保存客戶端7的備份,當(dāng)在處理器24上執(zhí)行時(shí),其使得用戶設(shè)備6實(shí)現(xiàn)客戶端7的功能。

客戶端7具有用戶界面,用于從用戶設(shè)備6的用戶處接收信息并且向用戶設(shè)備6的用戶輸出信息,包括在諸如通話之類的通信事件期間。用戶接口可以包括,例如,經(jīng)由顯示器24輸出信息的圖形用戶界面(GUI)和/或自然用戶界面(NUI),所述NUI使得用戶能夠以“自然的”方式與設(shè)備進(jìn)行交互,不受諸如鼠標(biāo)、鍵盤、遙控器等之類的某些輸入設(shè)備所施加的人為約束。NUI方法的示例包括利用觸摸感應(yīng)顯示器、語音和話音識別、意圖和目標(biāo)理解、使用深度相機(jī)(例如立體或飛行時(shí)間相機(jī)系統(tǒng)、紅外相機(jī)系統(tǒng)、RGB相機(jī)系統(tǒng)及其組合)的運(yùn)動姿勢檢測、使用加速計(jì)/陀螺儀、面部識別、3D顯示器、頭部、眼睛、和視線追蹤的運(yùn)動姿勢檢測、沉浸式增強(qiáng)現(xiàn)實(shí)和虛擬現(xiàn)實(shí)系統(tǒng)等。

圖3是控制服務(wù)器12的示意性框圖??刂破鞣?wù)器12包括其上連接有存儲器30的處理器32,以及使得控制服務(wù)器12能夠連接至網(wǎng)絡(luò)1的網(wǎng)絡(luò)接口34。存儲器30保存控制軟件13,其中當(dāng)在處理器32上執(zhí)行時(shí),所述控制軟件13使得控制服務(wù)器12實(shí)現(xiàn)控制軟件13的功能。盡管被描繪為單個(gè)設(shè)備,但是控制服務(wù)器12的功能可以以分布式的方式跨多個(gè)服務(wù)器設(shè)備而分布,或者可替代地,例如以分布式的、對等的方式由一個(gè)或多個(gè)用戶設(shè)備來實(shí)現(xiàn)。

網(wǎng)絡(luò)1具有分層架構(gòu),由此將網(wǎng)絡(luò)1的功能組織成抽象的層。這在圖4中示意性地示出。在該示例中,網(wǎng)絡(luò)1實(shí)現(xiàn)互聯(lián)網(wǎng)協(xié)議組,由此將功能組織成四個(gè)層108-102:應(yīng)用層108(相當(dāng)于OSI(“開放系統(tǒng)互聯(lián)”)模型的層5、6、和7)、在應(yīng)用層108之下的傳輸層106(相當(dāng)于OSI模型的層4)、在傳輸層106之下的網(wǎng)絡(luò)層104(相當(dāng)于OSI模型的層3)——其是互聯(lián)網(wǎng)層、以及在互聯(lián)網(wǎng)層104之下的鏈路層102(相當(dāng)于OSI模型的層1和2的組合)。

應(yīng)用層108在運(yùn)行在不同主機(jī)上的進(jìn)程之間提供了進(jìn)程到進(jìn)程的通信,所述主機(jī)即連接至網(wǎng)絡(luò)1的通用計(jì)算機(jī)設(shè)備例如,用戶設(shè)備6和服務(wù)器12、14(應(yīng)當(dāng)注意的是,路由器3和NAT 8不是如在本文中所使用的術(shù)語“主機(jī)”)。傳輸層106在不同主機(jī)之間提供端到端通信,包括在主機(jī)之間提供端到端信道以供進(jìn)程使用?;ヂ?lián)網(wǎng)層104例如經(jīng)由在互聯(lián)網(wǎng)層操作的路由器3/NAT 8在互聯(lián)網(wǎng)1的不同的個(gè)體網(wǎng)絡(luò)之間提供路由(即通信),其中NAT 8在互聯(lián)網(wǎng)層提供對網(wǎng)絡(luò)地址信息的翻譯(網(wǎng)絡(luò)地址翻譯)。鏈路層102例如經(jīng)由在鏈路層102處操作的網(wǎng)絡(luò)開關(guān)和/或集線器等而在相同的個(gè)體網(wǎng)絡(luò)(互聯(lián)網(wǎng)1)的相鄰節(jié)點(diǎn)的物理網(wǎng)絡(luò)地址(例如,MAC(“媒體訪問控制”)地址)之間提供通信。

待通過網(wǎng)絡(luò)1發(fā)送的應(yīng)用數(shù)據(jù)(例如,用戶數(shù)據(jù))在進(jìn)行發(fā)送的主機(jī)處從應(yīng)用層108傳遞至傳輸層106,在傳輸層106處其根據(jù)諸如UDP(“用戶數(shù)據(jù)報(bào)協(xié)議”)或TCP(“傳輸控制協(xié)議”)之類的傳輸層協(xié)議而被分組花成傳輸層分組。TCP是“可靠的”流式傳遞服務(wù)在于其包含確認(rèn)/重新傳輸機(jī)制,而UDP是“不可靠的”流式傳遞服務(wù)在于其不包括任何這樣的機(jī)制。不可靠服務(wù)的分組被稱為數(shù)據(jù)報(bào)。接著,將傳輸層的數(shù)據(jù)(例如,TCP分組/UDP數(shù)據(jù)報(bào))傳遞到該主機(jī)處的互聯(lián)網(wǎng)層104,在該互聯(lián)網(wǎng)層104處所述數(shù)據(jù)根據(jù)互聯(lián)網(wǎng)協(xié)議(其是互聯(lián)網(wǎng)層協(xié)議)被進(jìn)一步分組化成IP數(shù)據(jù)報(bào)。接著,將IP數(shù)據(jù)報(bào)的數(shù)據(jù)傳遞至鏈路層102以用于通過網(wǎng)絡(luò)1發(fā)送至進(jìn)行接收的主機(jī)。當(dāng)在進(jìn)行接收的主機(jī)處被接收時(shí),將IP數(shù)據(jù)報(bào)的數(shù)據(jù)向上傳遞至互聯(lián)網(wǎng)層104,在互聯(lián)網(wǎng)層104處,從IP數(shù)據(jù)報(bào)的有效載荷提取傳輸層分組的數(shù)據(jù)并且向上傳遞至傳輸層106,在傳輸層106處,從傳輸層分組的有效載荷提取應(yīng)用數(shù)據(jù)并向上傳遞至應(yīng)用層。

在圖4中示出了傳輸層分組(例如,TCP分組或UDP數(shù)據(jù)報(bào))10。傳輸層分組106包括在進(jìn)行發(fā)送的主機(jī)的傳輸層106處生成并附接的傳輸層報(bào)頭(例如,UDP/TCP報(bào)頭)10i以及對從應(yīng)用層108所接收的應(yīng)用數(shù)據(jù)進(jìn)行編碼的傳輸層有效載荷(例如,UDP/TCP有效載荷)10ii。

還示出了IP數(shù)據(jù)報(bào)11。IP數(shù)據(jù)報(bào)11包括在進(jìn)行發(fā)送的主機(jī)的互聯(lián)網(wǎng)層104處生成并附接的IP報(bào)頭11i,以及對從傳輸層所接收的傳輸層分組的數(shù)據(jù)進(jìn)行編碼的IP有效載荷11ii。IP報(bào)頭包括作為IP分組11通過網(wǎng)絡(luò)1被送往的傳輸?shù)刂返哪康牡貍鬏數(shù)刂?,以及作為在生成IP數(shù)據(jù)報(bào)的主機(jī)本地的傳輸?shù)刂?至少在該分組產(chǎn)生階段)的源傳輸?shù)刂贰?/p>

分別參考在IP報(bào)頭和IP有效載荷中所編碼的信息來在本文中使用術(shù)語“IP報(bào)頭等級”和“IP有效載荷等級”。

針對在專用網(wǎng)絡(luò)(例如,5a/5b)內(nèi)生成的分組,IP報(bào)頭包括作為該專用網(wǎng)絡(luò)的專用地址空間中的專用網(wǎng)絡(luò)地址(例如,5a/5b中的用戶設(shè)備6a/6b的專用網(wǎng)絡(luò)地址)的傳輸?shù)刂?,以及與該專用地址相關(guān)聯(lián)的端口。如所指示的,這樣的專用地址空間在該專用網(wǎng)絡(luò)之外是不可使用的。因此,如果簡單路由器用于在該專用網(wǎng)絡(luò)(例如,5a/5b)與公共網(wǎng)絡(luò)(例如,2)之間轉(zhuǎn)發(fā)IP數(shù)據(jù)報(bào),則專用網(wǎng)絡(luò)之外的節(jié)點(diǎn)將無法響應(yīng)這樣的數(shù)據(jù)報(bào),因?yàn)槠湓贗P報(bào)頭中將不具有任何可用的源地址。

為此,NAT可以用于在公共網(wǎng)絡(luò)和私人網(wǎng)絡(luò)之間提供接口。

圖5示出了NAT 8(例如,8a、8b)的操作。IP報(bào)頭11i和IP有效載荷11ii的IP數(shù)據(jù)報(bào)11是由NAT經(jīng)由專用網(wǎng)絡(luò)5(例如,5a、5b)從諸如用戶設(shè)備6(例如,6a/6’a、6b/6’b)之類的網(wǎng)絡(luò)節(jié)點(diǎn)接收的。IP報(bào)頭11i包含用戶設(shè)備6的初始源傳輸?shù)刂?,其包括用戶設(shè)備6在專用網(wǎng)絡(luò)5的專用地址空間中的專用網(wǎng)絡(luò)地址(其是專用IP地址)以及與該專用地址相關(guān)聯(lián)的端口。IP報(bào)頭11i還包含用戶設(shè)備6已經(jīng)將IP數(shù)據(jù)報(bào)11送往的目的地傳輸?shù)刂贰?/p>

如圖所示,NAT 8修改IP報(bào)頭11i以用新的源傳輸?shù)刂穪泶娉跏荚磦鬏數(shù)刂罚纱松山?jīng)修改的IP數(shù)據(jù)報(bào)11’,其具有包含新的源傳輸?shù)刂?目的地傳輸?shù)刂泛虸P有效載荷11i沒有由NAT 8修改)的經(jīng)修改的報(bào)頭11’i。新的傳輸?shù)刂钒∟AT 8在公共網(wǎng)絡(luò)2的公共地址空間中的公共網(wǎng)絡(luò)地址(其是公共IP地址),以及與該公共IP地址相關(guān)聯(lián)的端口。

NAT 8保持初始傳輸?shù)刂放c新的傳輸?shù)刂分g的映射9,以使得其可以將已經(jīng)經(jīng)由公共網(wǎng)絡(luò)2送往新的傳輸?shù)刂返娜魏畏祷貥I(yè)務(wù)(且其將從而在NAT 8處結(jié)束)經(jīng)由專用網(wǎng)絡(luò)5而轉(zhuǎn)發(fā)至用戶設(shè)備6的初始傳輸?shù)刂贰?/p>

在最簡單的示例中,NAT簡單地用其自身的公共IP網(wǎng)絡(luò)地址來替換專用IP地址并且不改變端口。然而,對于NAT而言,實(shí)現(xiàn)地址空間的偽裝變得日益常見,由此將專用地址空間隱藏在單個(gè)網(wǎng)絡(luò)地址之后。為了防止返回分組的不確定性,NAT通常必須改變諸如與源地址相關(guān)聯(lián)的端口之類的其他信息。例如,NAT可以具有單個(gè)公共IP地址并且用其自身的單個(gè)公共IP地址和唯一的(并且很可能不同的)端口來替換專用地址空間中的每個(gè)傳輸?shù)刂?,以使得在專用網(wǎng)絡(luò)之外僅僅通過與單個(gè)公共IP地址相關(guān)聯(lián)的端口來彼此區(qū)分專用網(wǎng)絡(luò)的節(jié)點(diǎn)。

通常而言NAT不修改IP有效載荷,而是僅僅以上述方式修改IP報(bào)頭。這對僅僅將響應(yīng)送往IP報(bào)頭中的源地址的協(xié)議(例如,HTTP)而言一般是可接受的。

然而,包括一些媒體會話協(xié)議(例如SIP)在內(nèi)的其他協(xié)議也依賴于在IP有效載荷(非報(bào)頭)等級被編碼的端點(diǎn)地址。例如,SIP協(xié)議指示端點(diǎn)應(yīng)該使用在SIP邀請/SIP響應(yīng)中所包含的地址來建立媒體會話,其將在IP有效載荷(不是報(bào)頭)等級被編碼。如在圖5中所示出的,這不由NAT 8修改。

因此,例如,假定圖1中的第一用戶設(shè)備6a將經(jīng)由第一NAT 8a將在IP有效載荷等級被編碼的媒體會話邀請發(fā)送至第二用戶設(shè)備6b。NAT 8a將不修改IP有效載荷,因此在接收到邀請之后,第二用戶設(shè)備6b將嘗試使用來自未經(jīng)修改的IP有效載荷(非報(bào)頭)的未經(jīng)修改的第一用戶設(shè)備6a的專用傳輸來響應(yīng)該邀請——這將失敗,因?yàn)閷S玫刂吩趯S镁W(wǎng)絡(luò)5a之外是不可用的,并且其將因此不可能建立會話。類似地,即使第一用戶設(shè)備6a不在NAT 8a之后而是替代地具有其自己的公共IP地址,會話建立仍然會失敗,這是因?yàn)榈诙脩粼O(shè)備5b在NAT 5b之后:在以會話邀請響應(yīng)而對該邀請進(jìn)行響應(yīng)時(shí),第二用戶設(shè)備6b將在響應(yīng)中包含在IP有效載荷等級編碼的、在第二專用網(wǎng)絡(luò)5b的第二地址空間中其自身的專用地址,類似地第一用戶設(shè)備6a不可使用該地址。

為此,已經(jīng)開發(fā)出了諸如STUN(“針對NAT的會話遍歷工具”)和TURN(“使用中繼NAT的遍歷”)之類的協(xié)議,以使得SIP會話等能夠在由一個(gè)或多個(gè)NAT分隔的端點(diǎn)之間被建立。

STUN允許端點(diǎn)來確定其是否位于在NAT之后,并且如果是,則NAT的公共地址被映射至進(jìn)行發(fā)起的端點(diǎn)的專用地址(即,有效地給予其對映射9的訪問),以使得端點(diǎn)可以包括IP有效載荷中的公共地址而不是其自己的專用地址。通常而言,STUN通過進(jìn)行發(fā)起的端點(diǎn)向STUN服務(wù)器發(fā)送查詢來工作,所述查詢作為IP數(shù)據(jù)報(bào)通過NAT并經(jīng)由公共網(wǎng)絡(luò)而被中繼至STUN服務(wù)器。因?yàn)镹AT在NAT公共側(cè)上的對應(yīng)的公共地址來替代查詢的IP報(bào)頭中的專用地址,所以STUN服務(wù)器可以從查詢的IP報(bào)頭獲得所述對應(yīng)的公共地址,進(jìn)而,其可以提供至進(jìn)行發(fā)起的端點(diǎn)。接著,進(jìn)行發(fā)起的端點(diǎn)可以使用該公共地址而不是其自己的專用地址來建立會話,由此在IP有效載荷等級將可用的地址傳達(dá)至?xí)捳埱笾械倪M(jìn)行響應(yīng)的端點(diǎn)。進(jìn)行響應(yīng)的端點(diǎn)可以類似地發(fā)現(xiàn)在響應(yīng)中在IP有效載荷等級可以傳達(dá)至進(jìn)行發(fā)起的端點(diǎn)的其相關(guān)聯(lián)的公共地址,而不是其自己的專用地址。STUN服務(wù)器的角色是有效地提供地址發(fā)現(xiàn),并且一旦媒體會話被建立后,其通常不參與到其中的一個(gè)角色。

如在現(xiàn)有技術(shù)中已知的,存在這樣的情況,其中即使當(dāng)已知NAT的公共地址時(shí)也無法建立這樣的會話,例如,當(dāng)進(jìn)行發(fā)起和/或進(jìn)行響應(yīng)的端點(diǎn)在對稱NAR之后時(shí)。在這樣的情況下,一個(gè)或多個(gè)TURN中繼服務(wù)器常??梢杂糜谕ㄟ^將媒體數(shù)據(jù)中繼通過TURN服務(wù)器來遍歷NAT。

當(dāng)端點(diǎn)需要使用TURN中繼時(shí),其向TURN中繼發(fā)送請求以請求向該端點(diǎn)分配在TURN中繼上唯一的公共傳輸?shù)刂?。如果該請求被接受,則使用TURN服務(wù)器的公共地址作為針對該端點(diǎn)的源地址來建立媒體會話。該端點(diǎn)向TURN服務(wù)器發(fā)送其希望在會話中發(fā)送的包含在TURN消息中的媒體。TURN服務(wù)器從TURN消息中提取該媒體,且將其從已經(jīng)作為源地址被分配至該端點(diǎn)的TURN服務(wù)器上的公共地址向前中繼。TURN服務(wù)器還將目的在于該端點(diǎn)的、已經(jīng)被引導(dǎo)至在TURN服務(wù)器上所分配的地址的數(shù)據(jù)中繼至在TURN消息中包含的端點(diǎn)以供由該端點(diǎn)提取。

如果兩個(gè)端點(diǎn)都位于不允許STUN的NAT之后,則每個(gè)端點(diǎn)都將需要其自己的相應(yīng)的傳輸?shù)刂芬栽赥URN服務(wù)器上被分配,在該情況下,在這兩個(gè)所分配的TURN服務(wù)器地址之間建立了媒體會話,并且每個(gè)端點(diǎn)中繼/接收TURN消息中的數(shù)據(jù),其中提供給TURN服務(wù)器的數(shù)據(jù)是向分配至媒體會話中的那些端點(diǎn)的兩個(gè)TURN服務(wù)器地址發(fā)送的和從其接收的。

TURN中繼需要在該(這些)服務(wù)器上分配資源(包括在TURN服務(wù)器上分配的唯一的公共傳輸?shù)刂?以持續(xù)至少媒體會話的持續(xù)時(shí)間,并且也意味著媒體會話的媒體經(jīng)由比當(dāng)在端點(diǎn)之間直接地建立或經(jīng)由一個(gè)或多個(gè)NAT建立媒體會話時(shí)較不直接的路徑行進(jìn)。因此,盡管TURN中繼可以或多或少地保證提供通過網(wǎng)絡(luò)針對媒體會話可用的路徑,但是該中繼是以增加服務(wù)器資源的使用以及由于路徑的不直接性而潛在地增加延遲為代價(jià)的。

STUN和TURN功能可以并入在同一個(gè)服務(wù)器中,有時(shí)其也簡單地被稱為TURN服務(wù)器,雖然其也包括STUN功能。

圖1的媒體服務(wù)器14a和14b是TURN服務(wù)器,其并入了STUN和TURN功能兩者,并且因此具有地址查找和媒體中繼功能兩者??商娲?,這個(gè)和/或其他功能可以在分別的服務(wù)器中分開,或者可以由同一個(gè)服務(wù)器來執(zhí)行在下文中所描述的由媒體服務(wù)器14a、14b所執(zhí)行的功能。

ICE(“交互式連通性建立”)是用于建立供VOIP會話遍歷網(wǎng)絡(luò)地址NAT和防火墻的連通性的已知協(xié)議,其嘗試建立在媒體延遲方面最高效的路徑以確保理想的媒體質(zhì)量??梢栽诠_可獲得的RFC 5245,Interactive Connectivity Establishment(ICE):A Protocol for Network Address Translator(NAT)Traversal for Offer/Answer Protocols,J.Rosenberg(2010年4月)中找到ICE協(xié)議的細(xì)節(jié)。對ICE協(xié)議的某些擴(kuò)展是在[MS-ICE2]連接建立(ICE)擴(kuò)展文件中定義的

(http://msdn.microsoft.com/en-us/library/office/cc431504(v=office.12).aspx)。

在ICE的上下文中,對于媒體會話而言,優(yōu)選在客戶之間具有直接連通性的路徑(直接路徑)而不是例如涉及使用中間中繼服務(wù)器(例如,通過TURN服務(wù)器進(jìn)行中繼)的間接路徑。ICE的上下文中的路徑指的是一組NAT和/或媒體中繼服務(wù)器(如果存在的話:路徑可以不包括NAT或服務(wù)器),其可以用于在這些端點(diǎn)之間發(fā)送和接收數(shù)據(jù)。如在下文中所討論的,由一對傳輸?shù)刂?其中一個(gè)用于由進(jìn)行發(fā)起的端點(diǎn)來發(fā)送和接收數(shù)據(jù),而另一個(gè)用于由進(jìn)行響應(yīng)的端點(diǎn)來發(fā)送和接收數(shù)據(jù))來標(biāo)識路徑,其定義了這樣一組NAT和/或媒體中繼服務(wù)器(如果存在的話)。

在ICE上下文中的“直接”路徑指的是這樣的路徑,當(dāng)經(jīng)過該路徑時(shí),由進(jìn)行發(fā)送的端點(diǎn)沿著該路徑所發(fā)送的、去往進(jìn)行接收的端點(diǎn)的數(shù)據(jù)不是在互聯(lián)網(wǎng)層之上被處理的時(shí),即以使得該數(shù)據(jù)在被傳送至互聯(lián)網(wǎng)層之前,僅僅在進(jìn)行發(fā)送的端點(diǎn)的傳輸層處/之上被處理以供傳輸,并且在進(jìn)行接收的端點(diǎn)處被接收之后,在進(jìn)行接收的端點(diǎn)的傳輸層處/之上以及從互聯(lián)網(wǎng)層向上傳遞。不包括任何媒體中繼服務(wù)器(例如,TURN服務(wù)器)的路徑是直接的,其包括具有NAT和/或路由器的那些路徑,因?yàn)樗鼈儾辉诨ヂ?lián)網(wǎng)層之上處理這樣的數(shù)據(jù)(盡管,例如為了管理的目的,它們?nèi)匀豢梢詫?shí)現(xiàn)傳輸層和應(yīng)用層)。

在ICE上下文中的“間接”路徑指的是這樣的路徑,當(dāng)經(jīng)過該路徑時(shí),由進(jìn)行發(fā)送的端點(diǎn)沿著該路徑發(fā)送的、去往進(jìn)行接收的端點(diǎn)的數(shù)據(jù)是在互聯(lián)網(wǎng)層之上(例如,在傳輸層和可能的更高層,例如應(yīng)用層)被處理的時(shí)。即,這樣將數(shù)據(jù)向上傳輸至傳輸層以在由進(jìn)行發(fā)送的端點(diǎn)發(fā)送之后但是在進(jìn)行接收的端點(diǎn)接收之前,在沿著該路徑某處的某一中間網(wǎng)絡(luò)節(jié)點(diǎn)處在該層處或該層之上進(jìn)行處理。包括一個(gè)或多個(gè)媒體(例如,TURN)中繼服務(wù)器的路徑是間接的。

ICE僅僅允許通過網(wǎng)絡(luò)的對稱路徑。該上下文中的對稱路徑指的這樣的路徑,其中沿著該路徑從第一端點(diǎn)到第二端點(diǎn)而發(fā)送的數(shù)據(jù)經(jīng)過同一組NAT和/或媒體中繼服務(wù)器(如果存在的話),這是因?yàn)閿?shù)據(jù)是沿著該路徑從第二端點(diǎn)向第一端點(diǎn)發(fā)送的,但是是以相反的順序。當(dāng)然,在端點(diǎn)和NAT、端點(diǎn)和服務(wù)器之間、NAT和NAT之間、服務(wù)器和服務(wù)器、服務(wù)器和NAT之間等,在所采用的路由方面可能存在不對稱,例如針對互聯(lián)網(wǎng)業(yè)務(wù),數(shù)據(jù)可以在每個(gè)方向和/或在不同的時(shí)刻通過互聯(lián)網(wǎng)的不同的個(gè)體網(wǎng)絡(luò),并從而通過不同的路由器,但是在兩個(gè)方向都通過相同的NAT和/或TURN服務(wù)器(如果存在的話)。不包括服務(wù)器或NAT的直接路徑是對稱的。

圖6A-6B示出了通過圖1的網(wǎng)絡(luò)的路徑示例,其是對稱的并且在ICE的上下文中被認(rèn)為是直接的。

圖6A示出了沿著從進(jìn)行發(fā)送的端點(diǎn)6(左手側(cè))到進(jìn)行接收的端點(diǎn)的第一路徑、在一個(gè)方向行進(jìn)的去往進(jìn)行接收的端點(diǎn)6(右手側(cè))的數(shù)據(jù)。第一路徑不包括任何NAT 8或中繼服務(wù)器14。路徑是對稱的在于以另一方向行進(jìn)的數(shù)據(jù)也不經(jīng)過任何的NAT 8或中繼服務(wù)器14,盡管其以不同的方向和/或在不同的時(shí)刻可以經(jīng)過不同的路由器3。

如圖所示,一旦數(shù)據(jù)已經(jīng)由進(jìn)行發(fā)送的端點(diǎn)作為傳輸層(例如,UDP/TCP)分組10而從傳輸層106被傳遞至網(wǎng)絡(luò)層104,其保持在網(wǎng)絡(luò)層104處或之下,直到到達(dá)進(jìn)行接收的端點(diǎn)為止。即,在沿著第一路徑行進(jìn)時(shí),不存在對數(shù)據(jù)的傳輸層(或更高層)處理。沿途可以將傳達(dá)數(shù)據(jù)的IP分組10分塊,但是除了保持未經(jīng)修改的之外,并且因此傳輸層分組10到達(dá)進(jìn)行接收的端點(diǎn)的傳輸層,類似地未經(jīng)修改。

圖6B示出了沿著從進(jìn)行發(fā)送的端點(diǎn)6(左手側(cè))到進(jìn)行接收的端點(diǎn)的第二路徑、在一個(gè)方向上行進(jìn)的去往進(jìn)行接收的端點(diǎn)6(右手側(cè))的數(shù)據(jù)。第二路徑包括至少一個(gè)NAT 8但是不包括任何中繼服務(wù)器14。路徑是對稱的在于以另一方向行進(jìn)的數(shù)據(jù)經(jīng)過同一NAT 8(以相反的順序)但是沒有中繼服務(wù)器14,盡管其可以經(jīng)過不同的路由器3,盡管其以任一方向和/或在不同時(shí)刻遍歷的路由器可以是不同的。

再次,一旦數(shù)據(jù)已經(jīng)在進(jìn)行發(fā)送的端點(diǎn)處作為分組10而從傳輸層(例如UDP/TCP)被傳遞至網(wǎng)絡(luò)層104,其就保持在網(wǎng)絡(luò)層104處或之下,直到達(dá)到進(jìn)行接收的端點(diǎn)為止。然而,相比于圖6A的第一路徑,傳達(dá)數(shù)據(jù)的IP分組11在NAT 8處被修改以改變IP報(bào)頭中的源地址。在圖7B中將經(jīng)修改的IP分組標(biāo)記為11’。盡管如此,編碼傳輸層分組10的IP有效載荷是未經(jīng)修改的,并且因此在進(jìn)行接收的端點(diǎn)的傳輸層處接收未經(jīng)修改的傳輸層分組10。

圖6C示出了通過網(wǎng)絡(luò)1的對稱的間接路徑的示例。

圖6C示出了沿著從進(jìn)行發(fā)送的端點(diǎn)6(左手側(cè))到進(jìn)行接收的端點(diǎn)的第三路徑、在一個(gè)方向上行進(jìn)的去往進(jìn)行接收的端點(diǎn)6(右手側(cè))的數(shù)據(jù)。第三路徑包括至少一個(gè)媒體中繼服務(wù)器14并且還可以包括一個(gè)或多個(gè)NAT(未示出)。該路徑是對稱的在于以另一方向行進(jìn)的數(shù)據(jù)經(jīng)過相同的中繼器和NAT(以相反的順序),但是可以以不同的方向和/或在不同的時(shí)刻經(jīng)過不同的路由器。

如果在圖6C中所示出的TURN服務(wù)器被分配至進(jìn)行發(fā)送的端點(diǎn)6(左手側(cè)),則將包含在其從中提取的TURN消息中的數(shù)據(jù)從進(jìn)行發(fā)送的端點(diǎn)發(fā)送至服務(wù)器14,并且向前中繼至進(jìn)行接收的端點(diǎn),否則,如果將TURN服務(wù)器分配至進(jìn)行接收的端點(diǎn),則在中繼服務(wù)器14處所接收的來自進(jìn)行發(fā)送的端點(diǎn)的數(shù)據(jù)被打包到TURN消息中以朝向進(jìn)行接收的端點(diǎn)發(fā)送。在任一事件中,TURN服務(wù)器在傳輸層和應(yīng)用層操作以當(dāng)經(jīng)過第三路徑時(shí)將數(shù)據(jù)重新格式化,這使得第三路徑是間接的。由于重新格式化,進(jìn)行接收的端點(diǎn)接收傳輸層分組10’,其與由進(jìn)行發(fā)送的端點(diǎn)(10)原本發(fā)送的那些分組是不同的。

ICE協(xié)議嘗試基于靜態(tài)的優(yōu)先級來標(biāo)識其所認(rèn)為的最高效的路徑,所述靜態(tài)優(yōu)先級被分配給可以用于媒體會話的多個(gè)所謂的“候選者對”中的每個(gè)候選者對。候選者是與進(jìn)行發(fā)起的端點(diǎn)或進(jìn)行響應(yīng)的端點(diǎn)中的一個(gè)相關(guān)聯(lián)的傳輸?shù)刂?。候選者對是一對候選者(i,r),第一(i)與進(jìn)行發(fā)起的端點(diǎn)相關(guān)聯(lián)而第二(r)與進(jìn)行響應(yīng)的端點(diǎn)相關(guān)聯(lián)。術(shù)語“候選者“涉及這樣的事實(shí):ICE機(jī)制一開始假定與端點(diǎn)相關(guān)聯(lián)的任何傳輸?shù)刂房赡芸捎糜诿襟w會話(盡管由于在上文中所討論的原因其可能實(shí)際上不可用)——則ICE協(xié)議涉及標(biāo)識實(shí)際上可用的候選者。

ICE將候選者分成3個(gè)類別:主機(jī)候選者、反射候選者、和中繼候選者。

主機(jī)候選者是所討論的端點(diǎn)本地的傳輸?shù)刂罚丛谥苯拥馗浇又猎摱它c(diǎn)的網(wǎng)絡(luò)接口上。例如,用戶設(shè)備6a、6b的專用地址是那些用戶設(shè)備本地的,并且因此是主機(jī)候選者,而類似地,如果用戶設(shè)備直接地連接至公共網(wǎng)絡(luò)2(而不是或除了經(jīng)由NAT 8a、8b之外),則它們將具有其自己的、那些用戶設(shè)備本地的公共地址,其也將是主機(jī)地址。

反射候選者是傳輸?shù)刂?,其不是端點(diǎn)本地的,但其是NAT的公共側(cè)上經(jīng)翻譯的傳輸?shù)刂?例如,如在圖5的經(jīng)修改的IP報(bào)頭11’中所包括的)。這些被分類成兩個(gè)子類別:“服務(wù)器反射候選者”,其是通過以在上文中所概述的方式查詢服務(wù)器(例如,STUN服務(wù)器)而發(fā)現(xiàn)的公共NAT地址,以及“對等反射候選者”,其是在媒體會話的建立期間由另一端點(diǎn)發(fā)現(xiàn)的(例如,如由進(jìn)行響應(yīng)的端點(diǎn)發(fā)現(xiàn)的、與進(jìn)行發(fā)起的端點(diǎn)相關(guān)聯(lián)的公共側(cè)NAT地址,或反之亦然)。

中繼候選者是以在上文中所概述的方式從媒體中繼服務(wù)器(例如,TURN服務(wù)器)分配的傳輸?shù)刂贰?/p>

這是針對圖1中的第一和第二用戶設(shè)備6a、6b,在圖7中示意性地示出的。在該示例中,第一用戶設(shè)備6a是進(jìn)行發(fā)起的端點(diǎn)而第二用戶設(shè)備6b是進(jìn)行響應(yīng)的端點(diǎn)。

第一用戶設(shè)備6a與以下項(xiàng)相關(guān)聯(lián):第一本地傳輸?shù)刂?其是主機(jī)候選者)40a;在第一NAT 8a的公共側(cè)上且映射至第一專用網(wǎng)絡(luò)5a中的第一用戶設(shè)備6a的專用傳輸?shù)刂返牡谝环瓷鋫鬏數(shù)刂?其是反射候選者)42a;以及在第一TURN服務(wù)器14a上的分配給第一用戶設(shè)備6a的第一中繼傳輸?shù)刂?4a(其是中繼候選者)。類似地,第一用戶設(shè)備6b與以下項(xiàng)相關(guān)聯(lián):第二本地傳輸?shù)刂?其是主機(jī)候選者)40b;在第二NAT 8b的公共側(cè)上、映射至第二專用網(wǎng)絡(luò)5b中的第二用戶設(shè)備6b的專用傳輸?shù)刂返牡诙瓷鋫鬏數(shù)刂?其是反射候選者)42b;以及在第二TURN服務(wù)器14b上的分配給第二用戶設(shè)備6b的第二中繼傳輸?shù)刂?4b(其是中繼候選者)。

潛在地,進(jìn)行發(fā)起的端點(diǎn)的候選傳輸?shù)刂分械娜魏我粋€(gè)傳輸?shù)刂房梢杂糜谂c進(jìn)行響應(yīng)的端點(diǎn)的候選傳輸?shù)刂分械娜魏我粋€(gè)傳輸?shù)刂愤M(jìn)行通信。即,第一用戶設(shè)備6a可以潛在地將數(shù)據(jù)從其自己的相關(guān)聯(lián)的地址(40a、42a、44a)中的任何一個(gè)地址送往與第二用戶設(shè)備相關(guān)聯(lián)的地址(40b、42b、44b)中的任何一個(gè)地址,反之亦然。在圖6的示例中,這產(chǎn)生了潛在地可以用于在第一與第二用戶設(shè)備6a、6b之間進(jìn)行通信的9個(gè)候選者對:[(40a、40b)、(40a、42b)、…、(44a、42b)、(44a、44b)]。

然而,在實(shí)踐中,一些候選者對將不是有效的(即,將不起作用)。例如,如果兩個(gè)端點(diǎn)都在NAT之后,并且它們的主機(jī)候選者40a、40b是專用網(wǎng)絡(luò)5a/5b中的專用地址,則由于在上文中所討論的原因,其不太可能能夠使用這些地址40a、40b直接地進(jìn)行通信。然而,如果它們的主機(jī)候選者40a、40b是當(dāng)被使用時(shí)不涉及通過任何NAT的路由數(shù)據(jù)的公共地址,則候選者對(40a、40b)很可能是有效的。

類似地,取決于NAT的類型(例如,如果其是對稱的NAT),可能不能如所討論的使用反射候選者42a和/或42b。

盡管實(shí)際上這樣的路徑將僅在候選者對實(shí)際上有效的情況下才是可用的,每個(gè)候選者對因此潛在地表示通過網(wǎng)絡(luò)的某一類型的路徑。

一對主機(jī)候選者(例如(40a、40b))潛在地表示通過網(wǎng)絡(luò)的直接路徑,其是在上文中參考圖6A所描述的不涉及任何NAT或媒體中繼服務(wù)器的類型的第一直接路徑。然而,如果本地地址40a、40b中的任何一個(gè)本地地址是其使用實(shí)際上涉及通過NAT發(fā)送數(shù)據(jù)的專用地址,則這樣的候選者對將是無效的。

一對候選者,其中至少一個(gè)是潛在地表示通過網(wǎng)絡(luò)的直接路徑的反射候選者(例如,(40a、42b)、(42a、40b)、(42a、42b)),其是在上文中參考圖6B所描述的涉及NAT但沒有媒體中繼服務(wù)器類型的第二直接路徑。然而,如果反射地址(中的任何一個(gè))是在例如對稱NAT的公共側(cè),則這樣的候選者對將是無效的。

一對候選者,其中的至少一個(gè)是中繼候選者(例如,(40a、44b)、(42a、44b)、(44a、44b)、(44a、42b)、(44a、40b))表示在上文中參考圖6C所描述的有可能起作用但是以需要將資源分配在媒體中繼服務(wù)器上為代價(jià)的類型的通過網(wǎng)絡(luò)的間接路徑。

作為ICE媒體會話建立過程的一部分,進(jìn)行發(fā)起的端點(diǎn)和進(jìn)行響應(yīng)的端點(diǎn)兩者都嘗試通過與合適的TURN服務(wù)器(例如,14a、14b)進(jìn)行通信來發(fā)現(xiàn)它們所有的候選者,所述后選擇接著以所有可能的組合來配對,例如,如果發(fā)現(xiàn)了6個(gè)候選者40a-44b,則這將產(chǎn)生在上文中所討論的9個(gè)候選者對。接著,ICE嘗試發(fā)現(xiàn)哪些候選者對是有效的。ICE這樣做的方式是以具體的排序順序?qū)ΨQ地嘗試所有可能的對,直到其找到中的一個(gè)可以接著針對媒體會話而被選擇的一組一個(gè)或多個(gè)有效的(例如,起作用的)候選者對為止。每當(dāng)端點(diǎn)中的至少一個(gè)端點(diǎn)發(fā)現(xiàn)產(chǎn)生多個(gè)候選者對的超過一個(gè)候選者時(shí),將存在經(jīng)由其可以建立媒體會話的多個(gè)潛在地可用的通過網(wǎng)絡(luò)的路徑(盡管由于不是每個(gè)候選者對都有效,因此不是所有路徑都實(shí)際上可用)。

嘗試候選者對的順序是由ICE靜態(tài)優(yōu)先級方案所指示的,具有較高優(yōu)先級的對在較低優(yōu)先級的對之前被嘗試。

根據(jù)ICE協(xié)議,可以根據(jù)方程1向每個(gè)候選者(例如,40a-44b)分配靜態(tài)優(yōu)先級:

優(yōu)先級=(224)*(類型偏好)+(28)*(本地偏好)+(20)*(256-組件ID)

類型偏好(類型度量的一個(gè)示例)是包含性的從0到126的整數(shù),并表示針對候選者類型的偏好(本地、服務(wù)器反射、對等反射、以及中繼)。126是最高偏好,而0是最低偏好。將值設(shè)置為0意味著該類型將僅僅被用作最后的手段。對于具有相同類型的所有候選者而言,類型偏好是相同的,而對于不同類型的候選者,類型偏好是不同的。針對對等反射候選者的類型偏好比針對服務(wù)器反射候選者的類型更高。ICE協(xié)議為主機(jī)候選者推薦值126(除非這些主機(jī)候選者是來自虛擬專用網(wǎng)絡(luò)接口的,在該情況下則推薦0),為服務(wù)器反射候選者推薦100,為對等反射候選者推薦110,并且為中繼候選者推薦0。本地偏好是包含性的從0到65535的整數(shù),并表示針對特定IP地址的偏好,其中當(dāng)端點(diǎn)是多家鄉(xiāng)終端時(shí)(連接至多于一個(gè)計(jì)算機(jī)網(wǎng)絡(luò))從該特定IP地址獲得候選者。當(dāng)僅僅存在單個(gè)IP地址時(shí),ICE推薦將其設(shè)置為最大值65535,當(dāng)不存在多家鄉(xiāng)終端時(shí),有效地使該項(xiàng)成為冗余。

可以看出,迄今為止,方程1中最重要的項(xiàng)是基于候選類型的第一項(xiàng)。

因此,ICE優(yōu)先級方案經(jīng)由中繼候選者將間接路徑去優(yōu)先級(其僅僅被用作最后的手段),并且此外偏置靜態(tài)優(yōu)先級離開反射候選者。

一旦形成了候選者對并根據(jù)方程(1)分配了優(yōu)先級,則可以根據(jù)方程2來計(jì)算針對每個(gè)候選者對的候選者對靜態(tài)優(yōu)先級:

對優(yōu)先級=232*MIN(G,D)+2*MAX(G,D)+(G>D?1:0)

其中,G是針對進(jìn)行發(fā)起的端點(diǎn)候選者的靜態(tài)優(yōu)先級,D是針對進(jìn)行響應(yīng)的端點(diǎn)的候選者的,并且G>D?1:0是這樣的表達(dá)式:如果G大于D則其值為1,否則為0。

因?yàn)榕c非中繼候選者相比,ICE使中繼候選者較不優(yōu)先,所以包括中繼候選者的候選者對與不包括主機(jī)候選者的那些候選者對相比較不優(yōu)先。因此,ICE靜態(tài)優(yōu)先級方案使較直接的路徑優(yōu)先于較不直接的路徑。

另外,因?yàn)镮CE使反射候選者不優(yōu)先與主機(jī)候選者,所以包括反射候選者的候選者對與僅僅包括主機(jī)候選者的那些候選者對相比較不優(yōu)先。因此,ICE靜態(tài)優(yōu)先級方案被偏置朝向不涉及NAT的路由。

靜態(tài)ICE路徑優(yōu)先化方案對于受控制的公司部署/拓?fù)涠允亲銐虻摹H欢?,?shí)時(shí)媒體服務(wù)的大規(guī)模全球在線服務(wù)部署帶來了完全不同的一組挑戰(zhàn),對于其而言,靜態(tài)優(yōu)先級方案不僅可能是不夠的,而且在某些情況下還可能損害媒體質(zhì)量。找到理想的連接路徑對于確保針對用戶的最佳可能體驗(yàn)以及確保對于訂閱了在線服務(wù)的用戶而言滿足媒體質(zhì)量SLA(“服務(wù)等級協(xié)議”)而言變得關(guān)鍵。

以下是一些場景,在這些場景中只基于由ICE定義的靜態(tài)路徑優(yōu)先級來選擇最有效的路徑可能是不夠的或不期望的。

1.作為在線服務(wù)合同的一部分,公司可能具有提供較好的媒體質(zhì)量和較低的延遲的MPLS(“多協(xié)議標(biāo)簽交換”)鏈路。即使ICE靜態(tài)優(yōu)先級方案確定通過MPLS鏈路的路徑為較低優(yōu)先級,但是使用MPLS鏈路將實(shí)際上提供更好的媒體體驗(yàn)。

如在本領(lǐng)域中公知的,MPLS是基于短路徑標(biāo)簽而不是長網(wǎng)絡(luò)地址將數(shù)據(jù)從一個(gè)或多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)送往下一網(wǎng)絡(luò)節(jié)點(diǎn)的機(jī)制,其無需在路由表中執(zhí)行查詢(這需要時(shí)間和資源)。標(biāo)簽標(biāo)識了遙遠(yuǎn)的節(jié)點(diǎn)之間的虛擬路徑(“MPLS鏈路”)而不是端點(diǎn)本身。在實(shí)現(xiàn)MPLS機(jī)制的網(wǎng)絡(luò)中,僅基于附接至分組的標(biāo)簽而不對分組本身進(jìn)行檢查來針對該分組的路由進(jìn)行決策,這被稱為標(biāo)簽交換。這與例如在IP路由中所使用的分組交換是不同的,其中路由器使用來自IP報(bào)頭自身的IP分組的目標(biāo)地址來決定下一跳。ICE看不見該較低層的標(biāo)簽交換,其簡單地將這些路徑和涉及較低效的路由機(jī)制的路徑等價(jià)地當(dāng)作“直接的”,已知其不涉及諸如中繼服務(wù)器之類的較高層的中介。MPLS協(xié)議可以被認(rèn)為是在OSI層2(數(shù)據(jù)鏈路)和層3(網(wǎng)絡(luò))之間運(yùn)行的,如傳統(tǒng)上所定義的,并且有時(shí)將它們稱為“層2.5”協(xié)議。

2.區(qū)域性ISP(“互聯(lián)網(wǎng)服務(wù)提供商”)對等協(xié)議可以產(chǎn)生ICE優(yōu)選的具有極高延遲的路徑。

術(shù)語“對等”是指在互聯(lián)網(wǎng)的兩個(gè)自主網(wǎng)絡(luò)之間的數(shù)據(jù)路由。對等協(xié)議規(guī)定了諸如ISP之類的不同網(wǎng)絡(luò)運(yùn)營商可以使用彼此網(wǎng)絡(luò)的方式,并且因此規(guī)定了通過這樣的互聯(lián)網(wǎng)來路由數(shù)據(jù)的方式。

這樣的較低層(例如,互聯(lián)網(wǎng)層)路由決策再一次對于ICE而言是不可見的,并且在ICE和本公開的上下文中,所產(chǎn)生的路徑是“直接的”,因?yàn)樗鼈儾簧婕爸T如媒體中繼服務(wù)器之類的較高層(例如,傳輸/應(yīng)用層)的中介。然而,實(shí)際上,這樣的協(xié)議可以得出通過互聯(lián)網(wǎng)的路徑,所述路徑在地理上是繞路的或以其他方式低效的(例如,這涉及不適合的互聯(lián)網(wǎng)網(wǎng)絡(luò)),并且因此容易延遲(并因此具有較低質(zhì)量),但是ICE卻將其高度優(yōu)先,因?yàn)楸M管如此這樣的路徑是“直接的”(如在本申請中所使用的術(shù)語)。

特別地,發(fā)明人已經(jīng)了解,不同ISP之間的路由決策通常未被優(yōu)化。有時(shí),是由于商業(yè)的而不是技術(shù)的原因來進(jìn)行路由決策的,即,進(jìn)行特定的一組較低層的路由決策不是因?yàn)樗鼈儗⒃趥€(gè)體網(wǎng)絡(luò)之間提供例如涉及最少跳的最快的路由,也不是因?yàn)樵谀承┮饬x上它們從技術(shù)的角度而言是最優(yōu)的,而是因?yàn)樗鼈儗τ贗SP更便宜。

這些次最優(yōu)路由決策在較高層實(shí)際上是不可見的(盡管在次最優(yōu)媒體傳遞方面其效果是顯然的),它們在ISP自身的域之外也不是直接可控制的。然而,發(fā)明人已經(jīng)理解,盡管使用受控的較高層中繼,但是較低層行為也為了終端用戶的利益而受影響,例如為了避免已知采用了不利的路由決策的路徑,如通過對來自過去的一段時(shí)間內(nèi)的媒體會話的網(wǎng)絡(luò)質(zhì)量度量的考慮所揭示的。

3.媒體路徑的質(zhì)量可以根據(jù)時(shí)間和網(wǎng)絡(luò)上的負(fù)載而不同,并且可以不與ICE靜態(tài)優(yōu)先級直接地關(guān)聯(lián)。

4.ICE缺少基于從先前建立的媒體會話收集遙測數(shù)據(jù)來學(xué)習(xí)和適應(yīng)連通性路徑的能力。

本公開提供了一種機(jī)制,從而路徑選擇可以額外地受到相關(guān)的網(wǎng)絡(luò)信息的影響,而不是僅依賴由ICE所提供的靜態(tài)優(yōu)先級。網(wǎng)絡(luò)信息指示了對在進(jìn)行發(fā)起和進(jìn)行響應(yīng)的端點(diǎn)之間的媒體會話可用(或至少潛在地可用)的路徑的質(zhì)量。在該上下文中,路徑的“質(zhì)量”指的是當(dāng)用于媒體會話時(shí),路徑能夠傳遞的終端用戶體驗(yàn)。例如,因?yàn)楫?dāng)沿著該路徑被接收時(shí),易受丟包、過度延遲、過度抖動等的影響并從而降低了媒體(例如,音頻和/或視頻)的感知質(zhì)量(例如,從用戶的角度)的降低了終端用戶體驗(yàn)的路徑具有較低的質(zhì)量,而例如因?yàn)檎故玖俗钚〉膩G包、較低的延遲、較低的抖動等,并且因此沒有顯著地降低媒體的感知質(zhì)量的增強(qiáng)了終端用戶體驗(yàn)的路徑則具有較高的質(zhì)量。

該網(wǎng)絡(luò)信息可以由管理員配置或者在媒體會話建立期間或可替代地基于從先前建立的媒體會話所收集的遙測數(shù)據(jù)而動態(tài)地確定。所述決策可以基于僅僅由進(jìn)行選擇的客戶端所收集的數(shù)據(jù),或者客戶端可以與關(guān)于連接路徑和網(wǎng)絡(luò)質(zhì)量特性的更豐富的數(shù)據(jù)組的服務(wù)器相結(jié)合地工作。

除了其他的事情之外,本公開將ICE協(xié)議擴(kuò)展至:

a.包括用于建立針對實(shí)時(shí)媒體的最佳連通性路徑的拓?fù)?部署信息(MPLS、ISP對等等)。在本上下文中,“拓?fù)湫畔ⅰ敝傅氖顷P(guān)于在網(wǎng)絡(luò)層或之下、在關(guān)于互聯(lián)網(wǎng)的個(gè)體網(wǎng)絡(luò)之間的數(shù)據(jù)的路由的信息(例如,在某種意義上,MPLS路由是在網(wǎng)絡(luò)層之下執(zhí)行的——參見上文)。該信息可以被配置在客戶端上或者客戶端可以從提供與在媒體會話中所涉及的實(shí)體相關(guān)的拓?fù)浜秃艚匈|(zhì)量遙測數(shù)據(jù)的遙測服務(wù)器(呼叫方/被呼叫方端點(diǎn)和中繼服務(wù)器)發(fā)現(xiàn)該信息。MPLS和ISP對等協(xié)議兩者都產(chǎn)生不影響如在本文中所使用的路徑的“直接性”的路由決策,這是因?yàn)樗鼈儾灰肴魏屋^高層的中介(例如,媒體中繼服務(wù)器),且其因此對于ICE協(xié)議而言是不可見的,但是它們在路徑質(zhì)量方面仍然是高度相關(guān)的(其中,取決于協(xié)議的性質(zhì),涉及MPLS路由的路徑趨向于具有較高的質(zhì)量并且涉及由ISP對等協(xié)議規(guī)定的路由路徑潛在地具有較低的質(zhì)量);

b.包括對在媒體會話的連通性建立期間的路徑質(zhì)量的動態(tài)發(fā)現(xiàn)或者在媒體會話期間的不間斷的監(jiān)測;

c.利用從先前所建立的媒體會話收集的遙測數(shù)據(jù)來針對隨后的呼叫建立更好的媒體連通性;

d.使能將具有更好質(zhì)量的路徑優(yōu)先化以及將具有較低質(zhì)量的路徑去優(yōu)先化或者完全移除;

e.如果當(dāng)前媒體路徑的質(zhì)量降低至比另一可用媒體路徑(通常是在呼叫方和被呼叫方端點(diǎn)之間存在的幾個(gè)可用的媒體路徑)更差,則使能在媒體會話期間切換媒體路徑。

利用ICE,呼叫方端點(diǎn)典型地被命名為進(jìn)行控制的端點(diǎn)并且負(fù)責(zé)選擇用于媒體流的最終路徑。根據(jù)下文,進(jìn)行控制的端點(diǎn)還在選擇針對媒體流的最終路徑的同時(shí)包含前述拓?fù)湫畔ⅰ?/p>

圖8是功能框圖,其中在圖8的虛線下方的功能框(組件)表示當(dāng)由用戶設(shè)備6(6a和/或6b)執(zhí)行時(shí),由客戶端7(7a和/或7b)所實(shí)現(xiàn)的功能。在虛線之上的組件表示當(dāng)在控制服務(wù)器12上執(zhí)行時(shí),由控制編碼13所實(shí)現(xiàn)的功能。

客戶端7a實(shí)現(xiàn)了路徑選擇系統(tǒng)50,其包括候選者對生成組件52、靜態(tài)優(yōu)先級生成組件53、核對清單生成組件54、以及候選者修改組件56、本地選擇組件57、以及包括路徑探查組件59的連通性檢查組件58。組件52、53、和56構(gòu)成了優(yōu)先級生成組件。

控制編碼13實(shí)現(xiàn)控制系統(tǒng)62,其包括遠(yuǎn)程選擇組件64、聚合組件66、以及監(jiān)測組件68。

修改組件、核對清單生成組件、和連通性檢查組件56、54、58構(gòu)成用于針對媒體會話來選擇路徑的路徑選擇組件。

現(xiàn)在將參考作為該方法的流程圖的圖9來描述用于在進(jìn)行發(fā)起的端點(diǎn)6a和進(jìn)行響應(yīng)的端點(diǎn)6b之間實(shí)現(xiàn)媒體會話的方法。端點(diǎn)6a、6b兩者都實(shí)現(xiàn)如在MS-ICE2中所定義的ICE協(xié)議,外加在本文中所描述的額外的功能。

在S2處,進(jìn)行發(fā)起的端點(diǎn)7a上的客戶端(進(jìn)行發(fā)起的客戶端)與第一TURN服務(wù)器14a進(jìn)行通信以發(fā)現(xiàn)其候選者(本地候選者),即可能能夠用于媒體會話的任何主機(jī)、服務(wù)器反射、和中繼候選者。接著,進(jìn)行發(fā)起的客戶端將這些在會話邀請消息中發(fā)送至進(jìn)行響應(yīng)的端點(diǎn)6b。作為響應(yīng)(S4),在進(jìn)行響應(yīng)的端點(diǎn)6b上的客戶端7b(進(jìn)行響應(yīng)的客戶端)通過與返回至進(jìn)行發(fā)起的端點(diǎn)的第二TURN服務(wù)器14b進(jìn)行通信而收集其候選者(遠(yuǎn)程候選者)。

在S6處,候選者對生成組件52分別接收如由進(jìn)行發(fā)起和進(jìn)行響應(yīng)的端點(diǎn)所發(fā)現(xiàn)的本地候選者和遠(yuǎn)程候選者,根據(jù)這些其生成并輸出一組候選者對。候選者對生成組件53接收所生成的一組候選者對以及分配給本地和遠(yuǎn)程候選者的ICE靜態(tài)優(yōu)先級,并且基于針對候選者對的三個(gè)輸入靜態(tài)優(yōu)先級來生成。兩個(gè)端點(diǎn)可以并行地執(zhí)行相同的候選者對/優(yōu)先級調(diào)整過程,或者一個(gè)端點(diǎn)可以執(zhí)行這些并且將這些結(jié)果傳送至另一個(gè)端點(diǎn)。

候選者對中的每個(gè)候選者潛在地與通過網(wǎng)絡(luò)的可用路徑相對應(yīng),其中,如果候選者對最后證明是有效的,則其可能可以由端點(diǎn)用于媒體會話。

S2-S6是根據(jù)在上文中所概述的常規(guī)ICE過程的。

在S8處,端點(diǎn)6a、6b中的一個(gè)或兩個(gè)向控制服務(wù)器12發(fā)送與端點(diǎn)中的至少一個(gè)端點(diǎn)有關(guān)的端點(diǎn)信息,以用于與在控制服務(wù)器12處所保存的信息進(jìn)行比較。端點(diǎn)信息包括標(biāo)識或以其他方式傳達(dá)關(guān)于潛在地可用的路徑的信息的路徑信息,例如關(guān)于如果將數(shù)據(jù)沿著該路徑發(fā)送將通過其來路由該數(shù)據(jù)的ISP的信息、標(biāo)識或以其他方式傳達(dá)關(guān)于數(shù)據(jù)將通過其沿著該路徑路由的任何專用網(wǎng)絡(luò)5a/5b的信息、標(biāo)識或以其他方式關(guān)于沿著該路徑所包括的任何媒體中繼服務(wù)器14a/14b的信息等。

在S10處,由選擇組件64接收端點(diǎn)信息,選擇組件64將所接收到的信息與位于遙測服務(wù)器12處的存儲器30中所保存的全局網(wǎng)絡(luò)信息70進(jìn)行比較。接著,選擇組件64使用該比較結(jié)果來影響端點(diǎn)6a、6b針對該媒體會話而選擇通過網(wǎng)絡(luò)的路徑的方式,從而確保它們選擇具有適當(dāng)?shù)馗哔|(zhì)量的路徑,即使該路徑不是由ICE靜態(tài)優(yōu)先級優(yōu)選的并且已經(jīng)被分配了低靜態(tài)優(yōu)先級(參見下文)。

全局網(wǎng)絡(luò)信息包括網(wǎng)絡(luò)拓?fù)?部署信息以及從網(wǎng)絡(luò)2中的各種實(shí)體(節(jié)點(diǎn))所收集的呼叫質(zhì)量遙測數(shù)據(jù),其中的一些有可能與在媒體會話中涉及的實(shí)體相關(guān)(即,呼叫方/被叫方端點(diǎn)6a、6b和中繼服務(wù)器)。

全局網(wǎng)絡(luò)信息70包括當(dāng)前的和歷史的網(wǎng)絡(luò)信息70a、70b,其分別是來自聚合和監(jiān)測組件66、68的貢獻(xiàn)。貢獻(xiàn)70a、70b隨著時(shí)間而被更新,以提供關(guān)于網(wǎng)絡(luò)2的豐富的信息源,其包括關(guān)于對于進(jìn)行發(fā)起和進(jìn)行響應(yīng)的端點(diǎn)6a、6b潛在地可用的路徑的質(zhì)量、選擇組件64可以利用其來影響路徑選擇的信息。

聚合組件隨著時(shí)間接收并聚合來自諸如其他節(jié)點(diǎn)(例如6’a、6’b)之類的網(wǎng)絡(luò)節(jié)點(diǎn)的信息,以提供歷史網(wǎng)絡(luò)信息70a。歷史信息70a包括與先前建立的媒體會話相關(guān)聯(lián)的遙測數(shù)據(jù)。端點(diǎn)(例如,6’a、6’b)例如通過執(zhí)行對往返時(shí)間(RTT)、抖動、丟包等的測量來收集媒體會話被建立期間的遙測數(shù)據(jù)。接著,可以利用該所收集的遙測數(shù)據(jù)來針對隨后的媒體會話選擇更好的媒體路徑,所述隨后的媒體會話包括端點(diǎn)6a、6b當(dāng)前嘗試建立的會話。

接著,選擇組件64可以比較從端點(diǎn)6a、6b所接收的端點(diǎn)信息,并且如果遙測數(shù)據(jù)指示在歷史上其他端點(diǎn)先前已經(jīng)沿著對端點(diǎn)6a、6b潛在地可用的路徑中的一個(gè)路徑或沿著與該路徑重疊的某一其他路徑(即,至少部分與該路徑一致)經(jīng)歷了差的質(zhì)量(例如,因?yàn)檫@些路徑具有至少一個(gè)共同的媒體服務(wù)器、專用網(wǎng)絡(luò)/NAT、和/或ISP等(但是可能另外不同)),則選擇組件可以影響該選擇以使其偏置離開潛在地可用的路徑,即使得端點(diǎn)6a、6b將更不可能選擇針對它們的媒體會話而選擇該路徑。上述路徑無需完全重疊,并且選擇組件可以根據(jù)與該路徑重疊到某一程度的多個(gè)路徑有關(guān)的歷史信息來對關(guān)于給定路徑的信息執(zhí)行統(tǒng)計(jì)分析推斷。

例如,如果潛在地可用于端點(diǎn)6a、6b的給定的路徑包括第一和第二媒體中繼服務(wù)器,并且存在可用于包括第一中繼但不包括第二中繼的第一路徑的歷史信息,并且還存在可用于包括第二中繼的第二路徑的歷史信息,則選擇組件64可以從這兩組信息推斷關(guān)于該給定路徑的信息。例如,如果第一路徑和第二路徑兩者在歷史上都具有較高的質(zhì)量,則假定給定估計(jì)也具有較高質(zhì)量是合理的,相反也受制于其他網(wǎng)絡(luò)信息。可替代地,如果第二路徑在歷史上具有較低的質(zhì)量,則其可以指示該給定路徑也具有較低的質(zhì)量,盡管該假設(shè)有些飛躍。然而,如果歷史信息揭示了多個(gè)路徑(所有這些路徑包括第二中繼但以某種方式不同)全部在歷史上具有較低質(zhì)量,則可以利用具有相當(dāng)高等級的統(tǒng)計(jì)確定性來推斷第二中繼是有問題的,并且由于第二中繼存在,給定的路徑可能具有較低的質(zhì)量。

監(jiān)測組件68從對網(wǎng)絡(luò)2的部分具有當(dāng)前可見性的網(wǎng)絡(luò)節(jié)點(diǎn)接收網(wǎng)絡(luò)信息,例如對其自身的操作具有當(dāng)前可見性的媒體中繼服務(wù)器14。例如,媒體中繼服務(wù)器14可以向監(jiān)測組件68傳達(dá)其當(dāng)前是否正確執(zhí)行、其執(zhí)行地多好,例如如在性能度量方面所傳達(dá)的,即,其當(dāng)前能夠以什么速度傳送分組或者其丟失分組的可能性、哪些資源其當(dāng)前可用等。基于所接收的信息,監(jiān)測組件68更新當(dāng)前的網(wǎng)絡(luò)信息70b以反映網(wǎng)絡(luò)2的當(dāng)前狀態(tài),其可以改變選擇組件64操作的方式。例如,當(dāng)?shù)谝缓偷诙襟w中繼服務(wù)器中的一個(gè)耗盡資源(從而,易于引入過度分組延遲、丟包等)并且當(dāng)前的網(wǎng)絡(luò)信息70b被更新以對此進(jìn)行反映時(shí),接著,選擇組件可以影響路徑選擇以避免使用作為結(jié)果而選擇的媒體中繼形式的路徑。

因此,全局網(wǎng)絡(luò)信息70包括來自網(wǎng)絡(luò)2中的寬泛的多種節(jié)點(diǎn)的貢獻(xiàn),所述節(jié)點(diǎn)包括用戶設(shè)備6、媒體中繼14等,其具有網(wǎng)絡(luò)2的當(dāng)前可見部分和/或網(wǎng)絡(luò)2的已經(jīng)可見部分,包括形成對端點(diǎn)6a、6b潛在地可用路徑的部分的部分。

全局網(wǎng)絡(luò)信息70還可以包括管理員配置的路徑信息。通常為了具有MPLS鏈路的部署而完成或者在已知關(guān)于ISP對等的信息或具體的拓?fù)湫畔⒌那闆r下完成。

管理員路徑信息還可以包括關(guān)于在互聯(lián)網(wǎng)2內(nèi)進(jìn)行的路由決策的信息(如其當(dāng)前所表示的,對ICE不可見),其可以用將路徑選擇偏置離開(相應(yīng)地,朝向)已知涉及將有害于(相應(yīng)地,有益于)路徑質(zhì)量的低效的或不理想的(相應(yīng)地,高效的或理想的)路由決策的路徑。在本文中,將選擇偏置朝向(相應(yīng)地,遠(yuǎn)離)某路徑指的是對選擇進(jìn)行影響以增加(相應(yīng)地,降低)選擇該路徑的可能性。

例如,管理員路徑信息可以包括關(guān)于MPLS鏈路的信息,其可以用于將路徑選擇偏置朝向包括MPLS鏈路的路徑(因?yàn)檫@些路徑有可能具有高質(zhì)量),和/或關(guān)于ISP對等協(xié)議的信息,其可以用于將選擇偏置離開已知存在的非優(yōu)選對等協(xié)議的路徑。

在S12處,選擇組件64生成用于影響路徑選擇的第一選擇數(shù)據(jù),其向端點(diǎn)6a、6b中的至少一個(gè)端點(diǎn)發(fā)送。

在S14處,核對清單生成組件生成“核對清單”。核對清單是候選者對的按順序的列表,其確定了執(zhí)行連通性檢查的順序(參見下文)。

根據(jù)一般的ICE過程,核對清單的順序僅基于候選者對靜態(tài)優(yōu)先級,以使得它們的靜態(tài)優(yōu)先級的順序是以候選者對來排序的。

相比而言,在這里,修改組件56基于從選擇組件64接收的選擇數(shù)據(jù)并且還基于在進(jìn)行選擇的用戶設(shè)備處保存的本地網(wǎng)絡(luò)信息20來控制核對清單的順序。本地選擇組件57基于本地網(wǎng)絡(luò)信息來生成第二選擇數(shù)據(jù),所述本地網(wǎng)絡(luò)信息提供至修改組件56以用類似于第一選擇數(shù)據(jù)的方式來影響選擇。該本地網(wǎng)絡(luò)信息包括在客戶端上收集的針對客戶端已經(jīng)參與的先前的媒體會話的本地遙測數(shù)據(jù)。本地遙測數(shù)據(jù)是以與在服務(wù)器12處保存的信息類似的方式(參見上文)來收集的,但是反映客戶端自身的歷史體驗(yàn)并且是通過客戶端在其自身已經(jīng)參與的先前所建立的媒體會話期間監(jiān)測路徑質(zhì)量(例如,RTT、抖動、丟包等)來收集的。與在服務(wù)器12處所保存的類似,本地網(wǎng)絡(luò)信息60還可以包括管理員和/或用戶配置的路徑信息,并且在上文中對遠(yuǎn)程管理員所配置的信息的描述等同地應(yīng)用于其本地配對方。再一次,這通常將為了具有MPLS鏈路的部署而完成或是在已知關(guān)于ISP對等的信息或具體的拓?fù)湫畔⒌那闆r下完成。

修改組件56的輸入端從候選者對生成組件52接收該組候選者對,并且基于來自本地服務(wù)器12的選擇數(shù)據(jù)和本地網(wǎng)絡(luò)信息,將由選擇數(shù)據(jù)和/或本地網(wǎng)絡(luò)信息所指示的具有不可接受的低質(zhì)量的任何候選者對移除。在一些情況下,所移除的候選者對可以具有高的或甚至最高的靜態(tài)優(yōu)先級,但是因?yàn)樗鼈兙哂胁豢山邮艿牡唾|(zhì)量,所以還是被移除了。

修改組件56的輸入端還接收候選者對靜態(tài)優(yōu)先級(并且因此構(gòu)成具有訪問靜態(tài)優(yōu)先級的訪問組件),并且基于來自服務(wù)器12的選擇數(shù)據(jù)和本地網(wǎng)絡(luò)信息,為剩余的候選者分配可以與其靜態(tài)優(yōu)先級不同的新的優(yōu)先級。例如,修改組件54可以向與低(相應(yīng)地,高)質(zhì)量路徑對應(yīng)的候選者對分配新的優(yōu)先級,該新的優(yōu)先級低于(相應(yīng)地,高于)根據(jù)ICE協(xié)議分配的路徑的靜態(tài)優(yōu)先級。例如,如果所收集的遙測數(shù)據(jù)(本地的和/或在服務(wù)器12處)示出了針對特定的路徑的朝向差的媒體質(zhì)量的歷史傾向,則,可以針對隨后的媒體會話來降低該路徑的優(yōu)先級。

在一些實(shí)施例中,僅僅可以執(zhí)行候選者移除和生成新的優(yōu)先級中的一個(gè)。

向核對清單生成組件54提供(剩余)對以及它們的新的優(yōu)先級,并且根據(jù)這些生成核對清單。所生成的核對清單僅僅包含剩余的候選者對,并且此外基于新的優(yōu)先級(不是靜態(tài)優(yōu)先級)來進(jìn)行排序。因此,在核對清單中不存在具有不可接受的低質(zhì)量的路徑,并且此外,可以基于它們較高(相應(yīng)地,較低)的新優(yōu)先級將較高(相應(yīng)地,較低)質(zhì)量的路徑朝列表的頂部(相應(yīng)地,底部)移動,即使基于這些路徑具有較低(相應(yīng)地,較高)的靜態(tài)優(yōu)先級。

應(yīng)當(dāng)注意的是,選擇數(shù)據(jù)的生成可以涉及一定程度的人工監(jiān)督或指導(dǎo)。例如,人類操作員可以觀察到針對特定類型的路徑的質(zhì)量的下降,例如通過對網(wǎng)絡(luò)數(shù)據(jù)的觀察,例如網(wǎng)絡(luò)中的節(jié)點(diǎn)(例如,中繼)的當(dāng)前狀態(tài)和/或通過人工觀察歷史媒體會話質(zhì)量度量,以及手動配置控制系統(tǒng)62以將媒體數(shù)據(jù)從這樣的路徑轉(zhuǎn)移開,其接著是由生成合適的選擇數(shù)據(jù)的經(jīng)配置的系統(tǒng)62所實(shí)現(xiàn)的(因此可以通過以人為中介的方式至少部分地引入選擇數(shù)據(jù)的生成對網(wǎng)絡(luò)數(shù)據(jù)的依賴性)。為此,控制系統(tǒng)62可以具有利用其可以手動地配置系統(tǒng)62的用戶界面。

在S16處,客戶端7a、7b執(zhí)行連通性檢查。以其出現(xiàn)在核對清單中的順序,從列表頂部的對開始(即,按照新優(yōu)先級的順序),針對核對清單中的單個(gè)候選端來執(zhí)行連通性檢查。因此,首先檢查具有最高新優(yōu)先級的對(但不一定是最高靜態(tài)優(yōu)先級)。連通性檢查持續(xù)進(jìn)行直到滿足停止條件為止,例如,直到已經(jīng)揭示出特定數(shù)目(一個(gè)或多個(gè))的候選者對是有效的為止和/或在已經(jīng)經(jīng)過了預(yù)定量的時(shí)間之后。對于所謂的“積極提名”,當(dāng)找到第一個(gè)有效的候選者時(shí),連通性檢查結(jié)束;然而“定期的提名”允許連通性檢查繼續(xù)進(jìn)行,以嘗試找到多于一個(gè)的有效候選者對(如果想要的話)。在連通性檢查結(jié)束時(shí),生成被揭示為有效的一個(gè)或多個(gè)候選者的列表(有效列表)。

如所指示的,候選者對中的一些(可能許多)候選者可能沒有通過連通性檢查,例如包括主機(jī)候選者(其是專用傳輸?shù)刂?的候選者對由于所討論的原因有可能沒有通過,其中主機(jī)候選者為。

在S18處,使用來自有效列表的候選者對(其可以是或可以不是僅有的所找到的有效候選者)來建立媒體會話。在僅在連通性檢查中找到一個(gè)有效候選者的情況下,使用該候選者來建立媒體會話;如果揭示出了多個(gè)候選者對,則選擇一個(gè)并且使用其來建立媒體會話。例如,針對該媒體會話,可以選擇有效集中的最高優(yōu)先級的候選者對。

顯然,基于新的(而不是靜態(tài)的)優(yōu)先級移除候選者和/或執(zhí)行連通性檢查可以引起針對媒體會話選擇具有較低靜態(tài)優(yōu)先級但是具有較高質(zhì)量的路徑而不是具有較高靜態(tài)優(yōu)先級但具有較低質(zhì)量的路徑。

在S16處的連通性檢查期間,端點(diǎn)可以針對媒體流而找到幾個(gè)潛在路徑。作為連通性檢查的一部分,除了建立媒體路徑之外,端點(diǎn)還針對媒體質(zhì)量而對潛在的路徑進(jìn)行探測。探測可以簡單如在不同路徑上確定網(wǎng)絡(luò)RTT、丟包、抖動等以持續(xù)幾秒鐘,或可以執(zhí)行更復(fù)雜的質(zhì)量測量。接著,進(jìn)行控制的端點(diǎn)可以基于如由探測所指示的不同路徑的質(zhì)量而不是依賴于由ICE協(xié)議所定義的靜態(tài)優(yōu)先級來選擇最佳路徑。

如果在所建立的媒體會話期間,當(dāng)前正用于媒體會話的路徑的質(zhì)量發(fā)生改變(例如,如由監(jiān)測組件66或由端點(diǎn)自身所檢測到的,例如通過檢測延遲、抖動、和/或丟包等增加了和/或通過在媒體會話繼續(xù)進(jìn)行的同時(shí)執(zhí)行另外的路徑探測),則可以從先前生成的有效列表(如果存在多于一個(gè))或者通過再次開始連通性檢查而生成的新的有效列表中選擇不同的路徑,并且媒體會話替代地使用該路徑繼續(xù)。

應(yīng)當(dāng)注意的是,在本文中,“可用的”路徑指的是可以實(shí)際上用于媒體會話的有效路徑(例如,有效的候選者對不表示“可用的”路徑)。

盡管在上文中根據(jù)方程1和2計(jì)算了常規(guī)的ICE候選者對優(yōu)先級,并且接著基于選擇數(shù)據(jù)而被修改以生成新的優(yōu)先級,可替代地,可以在計(jì)算候選者對(按照方程2,但是應(yīng)用于經(jīng)修改的地址優(yōu)先級)之前修改個(gè)體地址優(yōu)先級(按照方程1計(jì)算),或者可以以其他方式來計(jì)算類似的優(yōu)先級,例如,通過根據(jù)選擇數(shù)據(jù)在方程1或2中的一個(gè)或兩個(gè)中有效地包括修改項(xiàng)的方式。

盡管在上文中已經(jīng)在ICE靜態(tài)優(yōu)先級方案的上下文中進(jìn)行了描述,但是本主題不限于此。一般而言,在經(jīng)過該路徑時(shí)沿著該路徑數(shù)據(jù)橫穿網(wǎng)絡(luò)的較高層的路徑更優(yōu)選在經(jīng)過該路徑時(shí)沿著該路徑數(shù)據(jù)僅橫穿網(wǎng)絡(luò)的較低層的路徑的任何優(yōu)先級方案被認(rèn)為是使直接路徑優(yōu)先于較不直接的路徑的靜態(tài)優(yōu)先級方案。此外,盡管上文呈現(xiàn)了以ICE類型偏好為形式的度量,但是還可以設(shè)想不根據(jù)ICE協(xié)議的其他類型的度量。

應(yīng)當(dāng)注意的是,所提及的“較高”和“較低”的優(yōu)先級不一定指的是這些優(yōu)先級的任何特定的數(shù)字(或任何其他)表示。而是,優(yōu)先級方案的“較高優(yōu)先級”指的是與被分配了“較低優(yōu)先級”的另一路徑相比,分配給路徑的、該方案更優(yōu)選的優(yōu)先級,而不管優(yōu)先級是以什么方式表示的(可以使用任何期望的表示,已知其傳遞了必需的信息,例如,作為一簡單的示例,可以使用較小的數(shù)值來表示較高的優(yōu)先級)。

在上文中所描述的本地和遠(yuǎn)程選擇組件57、64構(gòu)成了生成選擇數(shù)據(jù)的選擇組件(所述選擇數(shù)據(jù)包括第一選擇數(shù)據(jù)和第二選擇數(shù)據(jù))。盡管在上文中,第一選擇數(shù)據(jù)是由在遠(yuǎn)程服務(wù)器12(其保留了選擇數(shù)據(jù)所基于的全局網(wǎng)絡(luò)信息70)處的選擇組件64所生成的,在其他實(shí)施例中,可以本地地生成選擇數(shù)據(jù),即可以替代地由用戶設(shè)備來實(shí)現(xiàn)選擇組件64。例如,用戶設(shè)備可以將(部分)全局網(wǎng)絡(luò)信息70存儲在本地存儲器中并在本地存儲器中對其進(jìn)行訪問,或者,如果其被存儲在服務(wù)器12處中,則其可以經(jīng)由網(wǎng)絡(luò)遠(yuǎn)程地對其進(jìn)行訪問,并且用戶設(shè)備可以根據(jù)本地/遠(yuǎn)程訪問的全局網(wǎng)絡(luò)信息70來生成選擇數(shù)據(jù),以使得本地地接收選擇數(shù)據(jù)。

在本文中應(yīng)當(dāng)注意的是,“專用”網(wǎng)絡(luò)指的是在NAT之后的任何網(wǎng)絡(luò)。盡管其包括諸如家庭或商務(wù)網(wǎng)絡(luò)(未示出)之類的網(wǎng)絡(luò),但是其還包括由例如具有潛在地大量用戶的互聯(lián)網(wǎng)服務(wù)器提供商(ISP)所運(yùn)營的偽公共網(wǎng)絡(luò)(在一些國家中后者比在另一些國家中更常見)。

盡管參考互聯(lián)網(wǎng)協(xié)議組描述了上文,但是,在本文中所呈現(xiàn)的相關(guān)教導(dǎo)也適用于具有不同分層結(jié)構(gòu)的網(wǎng)絡(luò)。此外,盡管在上文中關(guān)于TCP/UDP和IP進(jìn)行了描述,但應(yīng)當(dāng)理解的是,所述描述適用于可以用于生成不同類型的網(wǎng)絡(luò)層和/或傳輸層分組的其他類型的傳輸層和/或網(wǎng)絡(luò)層協(xié)議。

通常而言,可以使用軟件、固件、硬件(例如,固定邏輯電路)、或這些實(shí)現(xiàn)的組合來實(shí)現(xiàn)在本文中所描述的功能中的任何一個(gè)。如在本文中所使用的,術(shù)語“模塊”、“功能”、“組件”和“邏輯”通常表示軟件、固件、硬件、或其組合。在軟件實(shí)現(xiàn)的情況下,模塊、功能、或邏輯表示當(dāng)在處理器(例如,CPU)上執(zhí)行時(shí)執(zhí)行指定任務(wù)的程序代碼。所述程序代碼可以被存儲在一個(gè)或多個(gè)計(jì)算機(jī)可讀存儲器設(shè)備中。在下文中所描述的技術(shù)特征是與平臺無關(guān)的,這是指所述技術(shù)可以在具有多種處理器的多種商業(yè)計(jì)算平臺上實(shí)現(xiàn)。

例如,用戶設(shè)備(用戶終端)還可以包括使得用戶終端的硬件執(zhí)行操作的實(shí)體(例如,軟件),例如,處理器功能塊等。例如,用戶終端可以包括計(jì)算機(jī)可讀介質(zhì),其可以被配置為保存使得用戶終端并且更加特別地使得用戶終端的操作系統(tǒng)和相關(guān)聯(lián)的硬件執(zhí)行操作的指令。因此,指令用于將操作系統(tǒng)和相關(guān)聯(lián)的硬件配置為執(zhí)行上述操作,并且以此方式引起操作系統(tǒng)的轉(zhuǎn)變并且引起相關(guān)聯(lián)的硬件執(zhí)行功能。指令可以是由計(jì)算機(jī)可讀介質(zhì)通過多種不同的配置而提供給用戶終端的。

一種計(jì)算機(jī)可讀介質(zhì)的配置是信號承載介質(zhì),并且因此被配置為向計(jì)算設(shè)備發(fā)送指令(例如,作為載波),例如經(jīng)由網(wǎng)絡(luò)。計(jì)算機(jī)可讀介質(zhì)還可以被配置為計(jì)算機(jī)可讀存儲介質(zhì),并且因此不是信號承載介質(zhì)。計(jì)算機(jī)可讀存儲介質(zhì)的示例包括:隨機(jī)存取存儲器(RAM)、只讀存儲器(ROM)、光盤、閃速存儲器、硬盤存儲器、以及可以使用磁的、光學(xué)的、以及其他的技術(shù)來存儲指令和其他數(shù)據(jù)的其他存儲器設(shè)備。

本主題的第一方面針對一種用于在經(jīng)由包括網(wǎng)絡(luò)節(jié)點(diǎn)的通信網(wǎng)絡(luò)所連接的進(jìn)行發(fā)起的端點(diǎn)和進(jìn)行響應(yīng)的端點(diǎn)之間實(shí)現(xiàn)媒體會話的方法,存在經(jīng)由其可以建立所述媒體會話的通過所述網(wǎng)絡(luò)的多個(gè)可用路徑,其中,所述端點(diǎn)能夠訪問與所述可用路徑相關(guān)聯(lián)的、傳達(dá)所述可用路徑的直接性的類型度量,所述類型度量用于針對所述媒體會話而選擇可用路徑,所述方法包括:訪問指示所述可用路徑的質(zhì)量的網(wǎng)絡(luò)信息,所述網(wǎng)絡(luò)信息是從多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)收集的并且包括來自與所述用戶設(shè)備和所述其他端點(diǎn)不同的網(wǎng)絡(luò)節(jié)點(diǎn)的貢獻(xiàn),其具有所述可用路徑的至少部分的當(dāng)前的可見性和/或過去的可見性;基于所述網(wǎng)絡(luò)信息而生成選擇數(shù)據(jù),所述選擇數(shù)據(jù)用于影響所述選擇;以及向所述端點(diǎn)中的至少一個(gè)端點(diǎn)發(fā)送所述選擇數(shù)據(jù),以便使得所述端點(diǎn)針對所述媒體會話而相對于較直接但是較低質(zhì)量的可用路徑而優(yōu)選地選擇較高質(zhì)量但較不直接的可用路徑。

在實(shí)施例中,所述網(wǎng)絡(luò)信息可以包括從先前建立的媒體會話所收集的遙測數(shù)據(jù),所述遙測數(shù)據(jù)包括來自與進(jìn)行發(fā)起的端點(diǎn)和進(jìn)行接收的端點(diǎn)不同的端點(diǎn)的貢獻(xiàn)。已經(jīng)從先前經(jīng)由與所述可用路徑中的一個(gè)可用路徑重疊的路徑所建立的媒體會話收集了所述遙測數(shù)據(jù)的一部分,所述選擇數(shù)據(jù)是基于所述遙測數(shù)據(jù)的所述一部分而生成的。已經(jīng)從先前經(jīng)由與所述可用路徑中的一個(gè)路徑的一部分重疊的路徑所建立的第一媒體會話收集了所述遙測數(shù)據(jù)的第一部分,并且已經(jīng)從先前經(jīng)由與所述一個(gè)可用路徑的不同的部分重疊的路徑所建立的第二媒體會話收集了所述遙測數(shù)據(jù)的第二部分,并且所述選擇數(shù)據(jù)是基于所述遙測數(shù)據(jù)的所述第一部分和所述第二部分兩者而生成的。

網(wǎng)絡(luò)可以是互聯(lián)網(wǎng),其中數(shù)據(jù)在所述互聯(lián)網(wǎng)的個(gè)體網(wǎng)絡(luò)之間被路由,并且所述網(wǎng)絡(luò)信息包括拓?fù)湫畔?,所述拓?fù)湫畔⑨槍λ隹捎寐窂街械闹辽僖粋€(gè)可用路徑而傳達(dá)如果數(shù)據(jù)要沿著所述至少一個(gè)可用路徑傳輸,則要進(jìn)行的路由決策的性質(zhì)。所述互聯(lián)網(wǎng)可以包括MPLS鏈路,并且所述拓?fù)湫畔⑺鲋辽僖粋€(gè)可用路徑標(biāo)識為包含MPLS鏈路,所述選擇數(shù)據(jù)用于將所述選擇偏置朝向所述至少一個(gè)可用路徑。數(shù)據(jù)是根據(jù)ISP對等協(xié)議而在所述個(gè)體網(wǎng)絡(luò)之間路由的,并且所述拓?fù)湫畔⑴cISP對等協(xié)議有關(guān),其中所述拓?fù)湫畔⒋_定如果要沿著所述至少一個(gè)可用路徑發(fā)送數(shù)據(jù),則要做出的路由決策的性質(zhì)。

網(wǎng)絡(luò)信息可以與形成了所述可用路徑中的至少一個(gè)可用路徑的一部分的至少一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的當(dāng)前狀態(tài)有關(guān)。

網(wǎng)絡(luò)信息可以包括針對至少一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的當(dāng)前資源可用性的測量;和/或指示所述至少一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)的當(dāng)前性能的性能度量;和/或指示至少一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)當(dāng)前是否正確地運(yùn)行的指示符。

可以根據(jù)ICE協(xié)議而將類型度量分配給與所述可用路徑相關(guān)聯(lián)的網(wǎng)絡(luò)地址。

針對媒體會話而選擇的較高質(zhì)量的可用路徑可以包括媒體中繼服務(wù)器,而較低質(zhì)量的可用路徑不包括任何媒體中繼服務(wù)器。媒體中繼服務(wù)器可以是TURN服務(wù)器,而較低質(zhì)量的路徑不包括任何TURN服務(wù)器。

針對媒體會話而選擇的較高質(zhì)量的可用路徑可以包括網(wǎng)絡(luò)地址翻譯器,而較低質(zhì)量的可用路徑不包括任何網(wǎng)絡(luò)地址翻譯器。

第二方面是針對一種計(jì)算機(jī)程序產(chǎn)品,其包括存儲在計(jì)算機(jī)可讀存儲介質(zhì)上的代碼,所述代碼被配置為當(dāng)被執(zhí)行時(shí),用于實(shí)現(xiàn)在經(jīng)由包括網(wǎng)絡(luò)節(jié)點(diǎn)的通信網(wǎng)絡(luò)所連接的進(jìn)行發(fā)起的端點(diǎn)和進(jìn)行響應(yīng)的端點(diǎn)之間實(shí)現(xiàn)媒體會話的方法,存在經(jīng)由其可以建立所述媒體會話的通過所述網(wǎng)絡(luò)的多個(gè)可用路徑,所述方法包括:訪問與所述可用路徑相關(guān)聯(lián)的、傳達(dá)所述可用路徑的直接性的類型度量,所述類型度量用于針對所述媒體會話而選擇可用路徑;接收選擇數(shù)據(jù)以用于影響所述選擇,所述選擇數(shù)據(jù)是基于指示所述可用路徑的質(zhì)量的網(wǎng)絡(luò)信息而生成的,所述網(wǎng)絡(luò)信息是從多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)收集的并且包括來自與所述用戶設(shè)備和所述其他端點(diǎn)不同的網(wǎng)絡(luò)節(jié)點(diǎn)的貢獻(xiàn),其具有所述可用路徑的至少部分的當(dāng)前的可見性和/或過去的可見性;基于所述選擇數(shù)據(jù),針對所述媒體會話而相對于較直接但是較低質(zhì)量的可用路徑而優(yōu)選地選擇較高質(zhì)量但較不直接的可用路徑,其中,所述媒體會話是經(jīng)由所選擇的路徑來建立的。

所述方法還可以包括:在所述媒體會話期間,檢測所述所選擇的路徑的質(zhì)量的降低;以及作為響應(yīng),選擇新的可用路徑,所述媒體會話經(jīng)由新選擇的路徑來繼續(xù)。

還可以基于在進(jìn)行發(fā)起的端點(diǎn)和進(jìn)行響應(yīng)的端點(diǎn)中的至少一個(gè)端點(diǎn)處保存的本地遙測數(shù)據(jù)來生成所述選擇數(shù)據(jù),本地遙測數(shù)據(jù)是針對所述端點(diǎn)先前已經(jīng)參加的、先前的媒體會話中的至少一個(gè)媒體會話而收集的。

所述方法可以包括基于類型度量和選擇數(shù)據(jù)向所述可用路徑分配優(yōu)先級,其中較高質(zhì)量的可用路徑具有比較低質(zhì)量的可用路徑更高的優(yōu)先級,并且基于此而被選擇。

所述方法可以包括至少基于所述類型度量而向可用路徑分配優(yōu)先級并生成一組可用路徑,其中,進(jìn)行選擇的步驟被限制在從所述一組可用路徑選擇,并且在進(jìn)行選擇的步驟之前從所述一組可用路徑移除較低質(zhì)量的可用路徑,以便使得替代地選擇較高質(zhì)量的可用路徑。

本主題的第三方面針對一種用于經(jīng)由通信網(wǎng)絡(luò)在用戶設(shè)備和其他端點(diǎn)之間實(shí)現(xiàn)媒體會話的用戶設(shè)備,存在經(jīng)由其可以建立所述媒體會話的通過所述網(wǎng)絡(luò)的多個(gè)可用路徑,所述用戶設(shè)備包括:訪問組件,其被配置為訪問與所述可用路徑相關(guān)聯(lián)的、傳達(dá)所述可用路徑的直接性的類型度量,所述類型度量用于針對所述媒體會話而選擇可用路徑;輸入端,其被配置為接收選擇數(shù)據(jù)以用于影響所述選擇,所述選擇數(shù)據(jù)是基于指示所述可用路徑的質(zhì)量的網(wǎng)絡(luò)信息而生成的,所述網(wǎng)絡(luò)信息是從多個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)收集的并且包括來自與所述用戶設(shè)備和所述其他端點(diǎn)不同的網(wǎng)絡(luò)節(jié)點(diǎn)的貢獻(xiàn),其具有所述可用路徑的至少部分的當(dāng)前的可見性和/或過去的可見性;路徑選擇組件,其被配置為基于所述選擇數(shù)據(jù),針對所述媒體會話而相對于較直接但是較低質(zhì)量的可用路徑而優(yōu)選地選擇較高質(zhì)量但較不直接的可用路徑,其中,所述媒體會話是經(jīng)由所選擇的路徑來建立的。

第四方面針對一種用于經(jīng)由通信網(wǎng)絡(luò)在進(jìn)行發(fā)起的端點(diǎn)和進(jìn)行響應(yīng)的端點(diǎn)之間實(shí)現(xiàn)媒體會話的計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括在進(jìn)行發(fā)起的端點(diǎn)和進(jìn)行響應(yīng)的端點(diǎn)中的至少一個(gè)端點(diǎn)的計(jì)算機(jī)處實(shí)現(xiàn)以下步驟:在所述端點(diǎn)處生成一組候選者對,每個(gè)候選者對包括可用于進(jìn)行發(fā)起的端點(diǎn)的相應(yīng)的網(wǎng)絡(luò)地址和可用于進(jìn)行響應(yīng)的端點(diǎn)的相應(yīng)的網(wǎng)絡(luò)地址,通過在進(jìn)行發(fā)起的端點(diǎn)和進(jìn)行響應(yīng)的端點(diǎn)之間交換網(wǎng)絡(luò)地址,使用通過應(yīng)用以下步驟而被確定為有效的該組中的一個(gè)候選者對來建立媒體會話:在端點(diǎn)處接收與網(wǎng)絡(luò)地址中的至少一個(gè)網(wǎng)絡(luò)地址有關(guān)并且指示通過網(wǎng)絡(luò)的路徑的質(zhì)量的選擇數(shù)據(jù),其中如果所述網(wǎng)絡(luò)地址用于所述媒體會話,則將經(jīng)過所述路徑;接收與每個(gè)網(wǎng)絡(luò)地址關(guān)聯(lián)并且指示通過所述網(wǎng)絡(luò)的路徑的直接性的相應(yīng)的類型度量,其中如果所述網(wǎng)絡(luò)地址用于所述媒體會話,則將經(jīng)過所述路徑;并且所述端點(diǎn)針對所述組中的至少一個(gè)候選者對而執(zhí)行連通性檢查,以確定候選者對是否有效,其中,根據(jù)類型度量和選擇數(shù)據(jù)來選擇至少一個(gè)候選者對。

第五方面針對一種用于通過通信網(wǎng)絡(luò)在進(jìn)行發(fā)起的端點(diǎn)和進(jìn)行響應(yīng)的端點(diǎn)之間實(shí)現(xiàn)媒體會話的計(jì)算機(jī),所述計(jì)算機(jī)是在進(jìn)行發(fā)起的端點(diǎn)和進(jìn)行響應(yīng)的端點(diǎn)中的至少一個(gè)處實(shí)施的,所述計(jì)算機(jī)包括:候選者對生成組件,其被配置成生成一組候選者對,每個(gè)候選者對包括可用于進(jìn)行發(fā)起的端點(diǎn)的相應(yīng)的網(wǎng)絡(luò)地址和可用于進(jìn)行響應(yīng)的端點(diǎn)的相應(yīng)的網(wǎng)絡(luò)地址,通過在進(jìn)行發(fā)起的端點(diǎn)和進(jìn)行響應(yīng)的端點(diǎn)之間交換網(wǎng)絡(luò)地址,使用通過應(yīng)用以下步驟而被確定為有效的所述組中的一個(gè)候選者對來建立媒體會話:i)在端點(diǎn)處接收與網(wǎng)絡(luò)地址中的至少一個(gè)網(wǎng)絡(luò)地址有關(guān)并且指示通過網(wǎng)絡(luò)的路徑的質(zhì)量的選擇數(shù)據(jù),其中如果所述網(wǎng)絡(luò)地址用于所述媒體會話,則將經(jīng)過所述路徑;ii)接收與每個(gè)網(wǎng)絡(luò)地址關(guān)聯(lián)并且指示通過所述網(wǎng)絡(luò)的路徑的直接性的相應(yīng)的類型度量,其中如果所述網(wǎng)絡(luò)地址用于所述媒體會話,則將經(jīng)過所述路徑;并且iii)所述端點(diǎn)針對所述組中的至少一個(gè)候選者對而執(zhí)行連通性檢查,以確定候選者對是否有效,其中,根據(jù)類型度量和選擇數(shù)據(jù)來選擇至少一個(gè)候選者對。

所述選擇數(shù)據(jù)的至少一部分可以是經(jīng)由通信網(wǎng)絡(luò)接收的和/或所述選擇數(shù)據(jù)的至少一部分可以是基于在所述端點(diǎn)處本地保存的網(wǎng)絡(luò)信息而生成的。

第六方面針對一種用于經(jīng)由通信網(wǎng)絡(luò)在進(jìn)行發(fā)起的端點(diǎn)和進(jìn)行響應(yīng)的端點(diǎn)之間實(shí)現(xiàn)媒體會話的計(jì)算機(jī)程序產(chǎn)品,所述計(jì)算機(jī)程序產(chǎn)品包括在計(jì)算機(jī)可讀存儲介質(zhì)上存儲的代碼,并且所述代碼被配置為當(dāng)在進(jìn)行發(fā)起的端點(diǎn)和進(jìn)行響應(yīng)的端點(diǎn)中的一個(gè)端點(diǎn)的計(jì)算機(jī)上執(zhí)行時(shí),使得以下步驟被執(zhí)行:在所述端點(diǎn)處生成一組候選者對,每個(gè)候選者對包括可用于進(jìn)行發(fā)起的端點(diǎn)的相應(yīng)的網(wǎng)絡(luò)地址和可用于進(jìn)行響應(yīng)的端點(diǎn)的相應(yīng)的網(wǎng)絡(luò)地址,通過在進(jìn)行發(fā)起的端點(diǎn)和進(jìn)行響應(yīng)的端點(diǎn)之間交換網(wǎng)絡(luò)地址,使用通過應(yīng)用以下步驟而被確定為有效的所述組中的一個(gè)候選者對來建立媒體會話:在端點(diǎn)處接收與網(wǎng)絡(luò)地址中的至少一個(gè)網(wǎng)絡(luò)地址有關(guān)并且指示通過網(wǎng)絡(luò)的路徑的質(zhì)量的選擇數(shù)據(jù),其中如果所述網(wǎng)絡(luò)地址用于所述媒體會話,則將經(jīng)過所述路徑;接收與每個(gè)網(wǎng)絡(luò)地址關(guān)聯(lián)并且指示通過所述網(wǎng)絡(luò)的路徑的直接性的相應(yīng)的類型度量,其中如果所述網(wǎng)絡(luò)地址用于所述媒體會話,則將經(jīng)過所述路徑;并且所述端點(diǎn)針對所述組中的至少一個(gè)候選者對而執(zhí)行連通性檢查,以確定候選者對是否有效,其中,根據(jù)類型度量和選擇數(shù)據(jù)來選擇至少一個(gè)候選者對。

在實(shí)施例中,根據(jù)ICE協(xié)議,所述類型度量與所述網(wǎng)絡(luò)地址相關(guān)聯(lián)。

可以根據(jù)類型度量和選擇數(shù)據(jù)而向候選者對中的每個(gè)候選者對分配相應(yīng)的第一對優(yōu)先級,選擇至少一個(gè)候選者對,而不是在所述組中比所述至少一個(gè)候選者對具有更低的第一對優(yōu)先級的另一個(gè)候選者對,所述至少一個(gè)候選者對是基于此而被選擇的。可以根據(jù)類型度量而向每一候選者對分配相應(yīng)的第二對優(yōu)先級,其中,第二對優(yōu)先級與選擇數(shù)據(jù)無關(guān),通過根據(jù)選擇數(shù)據(jù)而修改第二對優(yōu)先級來分配第一對優(yōu)先級,所述至少一個(gè)候選者對與其他候選者對相比具有較低的第二對優(yōu)先級,但是具有較高的第一對優(yōu)先級。可以根據(jù)所述ICE協(xié)議來分配第二對優(yōu)先級。

可以根據(jù)所述選擇數(shù)據(jù)而從所述組中移除候選者對,其中,針對所移除的候選者對不執(zhí)行連通性檢查,根據(jù)類型度量并且替代所移除的候選者對而選擇至少一個(gè)候選者對。

可以建立媒體會話以在進(jìn)行發(fā)起的端點(diǎn)和進(jìn)行響應(yīng)的端點(diǎn)之間建立實(shí)時(shí)通信事件。所述實(shí)時(shí)通信事件可以是語音通話和/或視頻通話。

盡管以特定于結(jié)構(gòu)性特征和/或方法動作的語言描述了本主題,但是應(yīng)當(dāng)理解的是,在所附權(quán)利要求中所定義的主題不一定限于在上文中所描述的特定的特征或動作。相反,在上文中所描述的特定的特征和動作是作為實(shí)現(xiàn)權(quán)利要求的示例形式而公開的。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
莱西市| 恭城| 洪洞县| 敖汉旗| 钟山县| 兴义市| 亚东县| 金秀| 中江县| 安阳市| 博白县| 全椒县| 确山县| 炉霍县| 同心县| 堆龙德庆县| 阿拉善右旗| 双城市| 阿拉善盟| 石河子市| 邻水| 莆田市| 沙湾县| 乐亭县| 烟台市| 图们市| 车险| 遂昌县| 含山县| 辽阳市| 广南县| 遂溪县| 平湖市| 英超| 江永县| 梁河县| 灵川县| 滨州市| 克山县| 溧水县| 新津县|