速率控制的制作方法
【專利說明】速率控制
【背景技術】
[0001] -些通信系統允許諸如個人計算機或移動設備之類的設備的用戶通過諸如因特 網之類的基于分組的計算機網絡進行語音或視頻呼叫。運樣的通信系統包括通過互聯網協 議(VoIP)系統的語音或視頻。運些系統對用戶是有益的,因為它們通常具有比常規固定線 路或移動蜂窩網絡明顯更低的成本。運可能特別地是針對長距離通信的情況。為了使用 VoIP系統,用戶在其設備上安裝和執行客戶端軟件。客戶端軟件設立VoIP連接W及提供諸 如注冊和驗證之類的其它功能。除語音通信之外,客戶端還可W設立用于諸如即時消息傳 遞("IM" )、SMS消息傳遞、文件傳輸和語音郵件之類的其它通信媒體的連接。
[0002] 在音頻/視頻的實時通信期間,內容的下載和上載可W發生在呼叫期間。例如,月良 務提供商可W選擇將內容(例如廣告)分發給用戶,或者用戶可W共享諸如照片、屏幕截圖 和文件之類的內容。內容的分發典型地基于超文本傳輸協議(HTTP)或超文本傳輸協議安全 (HTTPS)應用協議,其中傳輸控制協議(TCP)作為默認底層輸運協議。
【發明內容】
[0003] 內容數據(依照TCP輸運)可W通過網絡傳送到接收器,而同時通信事件數據也在 接收器與一個或多個另外的設備之間的通信事件期間通過網絡傳送到接收器。
[0004] 發明人已經認識到,TCP內容數據在W下意義上本質上是相當進取的:其保持增加 發送速率直到網絡節點處的緩沖器變滿并且發生丟失。該行為引入分組丟失和高延遲抖 動,其引起并發音頻/視頻呼叫的質量中的明顯降級。
[000引提供了一種控制在接收器處通過網絡W其接收內容數據的速率的方法,其中接收 器已經引起要在接收器處接收的實時通信事件數據的第一串流,W及要在接收器處接收的 內容數據的第二串流,該方法包括W下步驟:基于實時通信事件數據動態地測量網絡的網 絡條件;W及基于動態測量的網絡條件而限制在接收器處W其接收內容數據的速率。
[0006] 提供本
【發明內容】
來W簡化形式引入W下在【具體實施方式】中進一步描述的概念的 選擇。本
【發明內容】
不意圖標識所要求保護的主題的關鍵特征或必要特征,也不意圖用于限 制所要求保護的主題的范圍。
【附圖說明】
[0007] 為了更好地理解本發明并且為了示出本發明可W如何付諸實踐,現在將通過示例 的方式對W下各圖做出參照,其中: 圖1示出通信系統的示意性圖示; 圖2是用戶設備的示意性框圖; 圖3是協議找的示意性框圖; 圖4是示例架構的功能圖; 圖5是圖示了算法模式切換機制的流程圖;W及 圖6是另一示例架構的功能圖。
【具體實施方式】
[0008] W下描述的本發明的實施例實現了在通信事件(即音頻/視頻呼叫)期間所經歷的 端對端隊列延遲/分組丟失與網絡的帶寬利用之間的權衡。也就是說,當網絡的帶寬利用將 降低某個百分比(例如降低20%)時,通信事件中的端對端隊列延遲/分組丟失將被最小化, 因而避免實時通信事件中的質量(即音頻/視頻呼叫質量)的降級。
[0009] 現在將僅通過示例的方式描述實施例。
[0010] 圖1示出通信系統100,包括與第一用戶設備104相關聯的第一用戶102("用戶A") 和與第二用戶設備110相關聯的第二用戶1〇8("用戶B")。在其它實施例中,通信系統100可 W包括任何數目的用戶及相關聯的用戶設備。用戶設備104和110可W通過通信系統100中 的網絡106通信,從而允許用戶102和108通過網絡106與彼此通信。用戶102和108之間的通 信由圖1中的虛線表示。網絡106可W包括用于在端點之間中繼數據的一個或多個路由節點 107。圖1示出通信系統100,包括由服務提供商操作W將內容(即廣告)分發給通信系統的一 個或多個用戶的廣告服務器。在用戶102與108之間的通信事件期間,用戶可W共享諸如照 片、屏幕截圖和文件之類的內容。內容從廣告服務器W及在用戶102和108之間的分發由圖1 中的粗線表示。
[0011] 圖1中所示的通信系統100是基于分組的通信系統,但是可W使用其它類型的通信 系統。網絡106可W例如是互聯網。用戶設備104和110中的每一個可W例如是移動電話、平 板電腦、膝上型電腦、個人計算機("PC')(包括例如Windows ?、Mac 0S?和Linux? PC)、游 戲設備、電視、個人數字助理("PDA")、或者能夠連接到網絡106的其它嵌入式設備。用戶設 備104布置成從用戶設備104的用戶102接收信息并且向其輸出信息。用戶設備104包括諸如 顯示器和揚聲器之類的輸出構件。用戶設備104還包括輸入構件,諸如小鍵盤、觸摸屏、用于 接收音頻信號的麥克風和/或用于捕獲視頻信號的圖像的相機。用戶設備104連接到網絡 106。
[0012] 用戶設備104執行由與通信系統100相關聯的軟件提供商所提供的通信客戶端的 實例。通信客戶端是在用戶設備104中的本地處理器上執行的軟件程序。客戶端施行用戶設 備104處所要求的處理W便使用戶設備104通過通信系統100傳送和接收數據。
[0013] 用戶設備110對應于用戶設備104并且在本地處理器上執行與用戶設備104處所執 行的通信客戶端對應的通信客戶端。用戶設備110處的客戶端W與用戶設備104處的客戶端 施行允許用戶102通過網絡106通信所要求的處理相同的方式來施行允許用戶108通過網絡 106通信所要求的處理。用戶設備104和110是通信系統100中的端點。圖1為了清楚起見而僅 示出兩個用戶(102和108)和兩個用戶設備(104和110),但是多得多的用戶和用戶設備可W 包括在通信系統100中,并且可W使用在相應用戶設備上執行的相應通信客戶端通過通信 系統100通信。
[0014] 圖2圖示了在其上執行通信客戶端實例206W用于通過通信系統100通信的用戶設 備104的詳細視圖。用戶設備104包括中央處理單元("CPU")或"處理模塊"202,連接到它的 有:輸出設備,諸如可W實現為觸摸屏的顯示器208、W及用于輸出音頻信號的揚聲器(或 "擴音器")210;輸入設備,諸如用于接收音頻信號的麥克風212、用于接收圖像數據的相機 216W及小鍵盤218;用于存儲數據的存儲器214; W及網絡接口 220,諸如用于與網絡106通 信的調制解調器。用戶設備104可W包括除圖2中所示那些之外的其它元件。顯示器208、揚 聲器210、麥克風212、存儲器214、相機216、小鍵盤218和網絡接口 220可W集成到如圖2中所 示的用戶設備104中。在可替換的用戶設備中,顯示器208、揚聲器210、麥克風212、存儲器 214、相機216、小鍵盤218和網絡接口 220中的一個或多個可W不集成到用戶設備104中并且 可W經由相應接口連接到CPU 202。運樣的接口的一個示例是USB接口。如果用戶設備104經 由網絡接口220到網絡106的連接是無線連接,則網絡接口 220可W包括用于將信號無線地 傳送到網絡106和從網絡106無線地接收信號的天線。
[001引圖2還圖示了在CPU 202上執行的操作系統r0S")204。在OS 204的頂部上運行的 是通信系統100的客戶端實例206的軟件。操作系統204管理計算機的硬件資源并且處置經 由網絡接口 220傳送到網絡106和從網絡106傳送的數據。客戶端206與操作系統204通信并 且管理通過通信系統的連接。客戶端206具有用于向用戶102呈現信息和從用戶104接收信 息的客戶端用戶接口。W此方式,客戶端206施行允許用戶102通過通信系統100通信所要求 的處理。
[0016] 如本領域技術人員將熟悉的,用戶設備通過其可W通過諸如因特網之類的網絡通 信的基本機制可W被視為協議找(體現在運行于每一個用戶設備上的軟件中)。取決于通信 類型而存在數個不同的協議找,但是在圖3中作為代表示出一個。
[0017] 在該找300中,最低層是負責通過RF鏈路在設備102和110之間運送位的鏈路層 301。鏈路層301負責W調制到載波頻率上的(典型地經編碼的)位的形式運送RF業務量。
[0018] 互聯網層303是負責即時分組路由的分組協議。本領域技術人員將理解到,數據分 組包括報頭部分和有效載荷。報頭包括目的地用戶設備的互聯網絡地址(例如IP地址),并 且有效載荷包括通信客戶端應用期望傳送的實際用戶數據。當路由節點接收到分組時,其 IP層軟件檢驗IP地址并且確定將分組路由到的下一相鄰路由節點(或者最終用戶終端設 備,如果目的地設備相鄰的話)。
[0019] 輸運層305添加纏繞在IP報頭頂部上的附加報頭信息W提供諸如端口編號、擁塞 控制和分組接收的確認之類的服務。輸運層305可W例如根據傳輸控制協議(TCP)或用戶數 據報協議(UDP)處置通信。
[0020] TCP服務通過傳送器和接收器二者創建被稱為套接口(socket)的端點而獲得。每 一個套接口具有套接口號碼(地址),其包括主機的IP地址和在被稱為端口的該主機本地的 16位數字。對于要獲得的TCP服務而言,連接必須建立在傳送設備上的套接口與接收設備上 的套接口之間。每一個TCP套接口具有在其從操作于上部應用層307上的應用讀取之前隊列 化所接收的數據(通過網絡106接收的數據)的TCP接收緩沖器,W及在將其發送到找300中 的較低層W用于通過網絡106傳送之前隊列化數據的TCP發送緩沖器。
[0021] 最終,應用層307設及要包括在分組有效載荷中的用戶信息,例如語音或視頻呼叫 的音頻或視頻內容,或者用于IM消息的用戶文本。在應用層307上操作的客戶端應用自由地 在有效載荷中包括它希望的任何內容,如對于所討論的應用適當的那樣。
[0022] 在應用層307上操作的應用布置成從TCP接收緩沖器讀取所接收的數據,并且將數 據發送到TCP發送緩沖器W用于通過網絡106傳送。
[0023] 在本發明的實施例中,網絡106的條件通過通信客戶端206動態地測量并且運些網