用于帶寬分配和估計(jì)的方法和裝置制造方法
【專利摘要】公開了用于帶寬分配和估計(jì)的系統(tǒng)和方法。計(jì)算機(jī)經(jīng)由多個(gè)活動(dòng)流進(jìn)行通信,每個(gè)活動(dòng)流具有類型。計(jì)算機(jī)確定是啟用還是禁用帶寬管理。當(dāng)確定啟用帶寬管理時(shí),計(jì)算機(jī)估計(jì)總可用帶寬,針對(duì)每個(gè)流確定所請(qǐng)求的帶寬,并在活動(dòng)流之間動(dòng)態(tài)地分配總可用帶寬的一部分。當(dāng)確定禁用帶寬管理時(shí),計(jì)算機(jī)放棄在流之間動(dòng)態(tài)地分配帶寬。
【專利說明】用于帶寬分配和估計(jì)的方法和裝置
[0001] 相關(guān)申請(qǐng)的交叉引用
[0002] 本申請(qǐng)根據(jù)35U. S. C. § 119(e)要求于2012年5月1日遞交的題為"Method and Apparatus for Bandwidth Allocation and Estimation,'的美國臨時(shí)申請(qǐng) No. 61/641,196 的優(yōu)先權(quán),其全部?jī)?nèi)容通過引用而在此加入。
【背景技術(shù)】
[0003] 電話會(huì)議、視頻會(huì)議和桌面共享會(huì)話可用來實(shí)現(xiàn)在處于不同地理位置的多方之間 的通信。
【發(fā)明內(nèi)容】
[0004] 在一些方面中,題述技術(shù)涉及一種用于管理通信流的帶寬利用的方法。所述方法 包括:在計(jì)算設(shè)備處經(jīng)由通信應(yīng)用中的多個(gè)活動(dòng)流進(jìn)行通信,其中多個(gè)活動(dòng)流中的每一個(gè) 具有類型。所述方法包括:基于所述多個(gè)活動(dòng)流中的至少一個(gè)的類型來確定是啟用還是禁 用通信應(yīng)用內(nèi)的帶寬管理。所述方法包括:當(dāng)確定啟用通信應(yīng)用內(nèi)的帶寬管理時(shí),估計(jì)計(jì)算 設(shè)備處的總可用帶寬,基于所述多個(gè)活動(dòng)流中的每一個(gè)的類型為所述多個(gè)活動(dòng)流中的每一 個(gè)確定請(qǐng)求帶寬,以及基于請(qǐng)求帶寬在計(jì)算設(shè)備處在所述多個(gè)活動(dòng)流之間經(jīng)由通信應(yīng)用動(dòng) 態(tài)地分配總可用帶寬的至少一部分。所述方法包括:當(dāng)確定禁用通信應(yīng)用內(nèi)的帶寬管理時(shí), 放棄在計(jì)算設(shè)備處在多個(gè)活動(dòng)流之間經(jīng)由通信應(yīng)用動(dòng)態(tài)地分配帶寬。
[0005] 在一些方面中,題述技術(shù)涉及一種用于管理帶寬利用的非瞬時(shí)機(jī)器可讀介質(zhì)。所 述機(jī)器可讀介質(zhì)存儲(chǔ)用于經(jīng)由在連接到網(wǎng)絡(luò)的計(jì)算機(jī)器處執(zhí)行的通信應(yīng)用監(jiān)控一個(gè)或多 個(gè)網(wǎng)絡(luò)度量的指令,其中通信應(yīng)用被配置為在正常操作模式或緊急操作模式中運(yùn)行。所述 機(jī)器可讀介質(zhì)存儲(chǔ)用于基于所監(jiān)控的一個(gè)或多個(gè)網(wǎng)絡(luò)度量來估計(jì)計(jì)算機(jī)器處的總可用帶 寬的指令。所述機(jī)器可讀介質(zhì)存儲(chǔ)用于以第一網(wǎng)絡(luò)數(shù)據(jù)速率在正常操作模式中運(yùn)行通信應(yīng) 用的指令。所述機(jī)器可讀介質(zhì)存儲(chǔ)用于基于所監(jiān)控的一個(gè)或多個(gè)網(wǎng)絡(luò)度量進(jìn)入緊急操作模 式的指令。所述機(jī)器可讀介質(zhì)存儲(chǔ)用于基于所監(jiān)控的一個(gè)或多個(gè)網(wǎng)絡(luò)度量的改變來確定通 信應(yīng)用能夠針對(duì)第一方向上的通信返回正常操作模式的指令。所述機(jī)器可讀介質(zhì)存儲(chǔ)用于 針對(duì)第一方向上的通信進(jìn)入正常操作模式的指令。所述機(jī)器可讀介質(zhì)存儲(chǔ)用于以第一網(wǎng)絡(luò) 數(shù)據(jù)速率運(yùn)行第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試的指令。所述機(jī)器可讀介質(zhì)存儲(chǔ)用于進(jìn)行以下操作的 指令:如果第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試成功,則將第一方向上的當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率設(shè)置為第一 網(wǎng)絡(luò)數(shù)據(jù)速率。所述機(jī)器可讀介質(zhì)存儲(chǔ)用于進(jìn)行以下操作的指令:如果第一網(wǎng)絡(luò)數(shù)據(jù)速率 測(cè)試失敗,則測(cè)量在第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試期間的有效吞吐量(goodput)速率,以及以所 述有效吞吐量速率運(yùn)行第二網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試。所述機(jī)器可讀介質(zhì)存儲(chǔ)用于進(jìn)行以下操作 的指令:如果第二網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試成功,則將當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率調(diào)整為有效吞吐量速率。 所述機(jī)器可讀介質(zhì)存儲(chǔ)用于進(jìn)行以下操作的指令:如果第二網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試失敗,則從 在緊急操作模式期間實(shí)現(xiàn)的網(wǎng)絡(luò)數(shù)據(jù)速率開始逐漸增加當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率。
[0006] 在一些方面中,題述技術(shù)涉及一種用于管理帶寬利用的系統(tǒng)。系統(tǒng)包括一個(gè)或多 個(gè)處理器、用于連接到網(wǎng)絡(luò)的網(wǎng)絡(luò)接口和存儲(chǔ)指令的存儲(chǔ)器。所述存儲(chǔ)器存儲(chǔ)用于經(jīng)由通 過一個(gè)或多個(gè)處理器執(zhí)行的通信應(yīng)用來監(jiān)控一個(gè)或多個(gè)網(wǎng)絡(luò)度量的指令,其中通信應(yīng)用被 配置為在正常操作模式或緊急操作模式中運(yùn)行。所述存儲(chǔ)器存儲(chǔ)用于基于所監(jiān)控的一個(gè)或 多個(gè)網(wǎng)絡(luò)度量來估計(jì)網(wǎng)絡(luò)中的總可用帶寬的指令。所述存儲(chǔ)器存儲(chǔ)用于以第一網(wǎng)絡(luò)數(shù)據(jù)速 率在正常操作模式中運(yùn)行通信應(yīng)用的指令。所述存儲(chǔ)器存儲(chǔ)用于基于所監(jiān)控的一個(gè)或多個(gè) 網(wǎng)絡(luò)度量進(jìn)入緊急操作模式的指令。所述存儲(chǔ)器存儲(chǔ)用于基于所監(jiān)控的一個(gè)或多個(gè)網(wǎng)絡(luò)度 量的改變來確定通信應(yīng)用能夠針對(duì)第一方向上的通信返回正常操作模式的指令。所述存儲(chǔ) 器存儲(chǔ)用于針對(duì)第一方向上的通信進(jìn)入正常操作模式的指令。所述存儲(chǔ)器存儲(chǔ)用于以第一 網(wǎng)絡(luò)數(shù)據(jù)速率運(yùn)行第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試的指令。所述存儲(chǔ)器存儲(chǔ)用于進(jìn)行以下操作的指 令:如果第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試成功,則將第一方向上的當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率設(shè)置為第一網(wǎng) 絡(luò)數(shù)據(jù)速率。所述存儲(chǔ)器存儲(chǔ)用于進(jìn)行以下操作的指令:如果第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試失敗, 則測(cè)量在第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試期間的有效吞吐量速率,以及以所述有效吞吐量速率運(yùn)行 第二網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試。所述存儲(chǔ)器存儲(chǔ)用于進(jìn)行以下操作的指令:如果第二網(wǎng)絡(luò)數(shù)據(jù)速 率測(cè)試成功,則將當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率調(diào)整為有效吞吐量速率。所述存儲(chǔ)器存儲(chǔ)用于進(jìn)行以 下操作的指令:如果第二網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試失敗,則從在緊急操作模式期間實(shí)現(xiàn)的網(wǎng)絡(luò)數(shù) 據(jù)速率開始逐漸增加當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率。
【專利附圖】
【附圖說明】
[0007] 圖IA是示例通信系統(tǒng)的框圖;
[0008] 圖IB是示例通信系統(tǒng)的框圖;
[0009] 圖2是示例通信設(shè)備的框圖;
[0010] 圖3是示例帶寬管理系統(tǒng)的框圖;
[0011] 圖4示出了用于帶寬分配和估計(jì)的示例系統(tǒng);
[0012] 圖5示出了圖4的客戶端計(jì)算設(shè)備的示例;
[0013] 圖6示出了用于管理通信流的帶寬利用的示例過程;
[0014] 圖7A-7B示出了用于管理帶寬利用的示例過程
[0015] 圖8概念性地示出了實(shí)現(xiàn)了題述技術(shù)的一些實(shí)現(xiàn)的示例電子系統(tǒng)。
【具體實(shí)施方式】
[0016] 圖IA是可用于這里公開的實(shí)施例的通信系統(tǒng)100的框圖。通信系統(tǒng)100包括多 個(gè)通信設(shè)備120AU20B,它們經(jīng)由通信網(wǎng)絡(luò)110參與會(huì)議會(huì)話。在一些實(shí)施例中,通信設(shè)備 120A、120B可參與彼此之間的會(huì)議會(huì)話。雖然示出了兩個(gè)通信設(shè)備,但任意數(shù)量的通信設(shè)備 120AU20B可參與會(huì)議會(huì)話。會(huì)議會(huì)話可以允許在通信設(shè)備120AU20B之間共享桌面屏幕 內(nèi)容128A、視頻145A和音頻147A。在一些實(shí)施例中,會(huì)議會(huì)話允許在通信設(shè)備120AU20B 之間同時(shí)進(jìn)行雙向數(shù)據(jù)、音頻和視頻信號(hào)傳輸。
[0017] 通信設(shè)備120AU20B可以是移動(dòng)(例如無線)或非移動(dòng)(例如桌面)通信設(shè)備 (具有視頻/音頻和桌面屏幕共享能力)。在一些實(shí)施例中,可以使用能夠支持實(shí)時(shí)對(duì)等通 信以及支持提供桌面屏幕共享會(huì)話和用戶交互的應(yīng)用的任意通信設(shè)備??捎糜谶@里公開的 實(shí)施例的通信設(shè)備120AU20B的示例包括但不限于移動(dòng)電話、個(gè)人數(shù)字助理、便攜式電視、 膝上型計(jì)算機(jī)、數(shù)字視頻/音頻錄制機(jī)等。
[0018] 在一些實(shí)施例中,一個(gè)通信設(shè)備120AU20B可充當(dāng)主機(jī)通信設(shè)備,而系統(tǒng)中剩余 的通信設(shè)備可充當(dāng)客戶端通信設(shè)備。在一些實(shí)施例中,主機(jī)通信設(shè)備可以是會(huì)議會(huì)話中的 主持人通信設(shè)備,而剩余的通信設(shè)備可以是會(huì)議會(huì)話中的觀眾設(shè)備。
[0019] 每個(gè)通信設(shè)備120A、120B包括顯示器128A、128B,其用于顯示共享桌面屏幕內(nèi)容 135AU35B、共享視頻內(nèi)容145AU45B、和/或共享音頻內(nèi)容147AU47B。在某些實(shí)施例中, 顯示器128A、128B可以是內(nèi)置顯示器。在一些實(shí)施例中,顯示器128A、128B可以是與通信 設(shè)備120AU20B耦合(例如無線地或通過諸如網(wǎng)絡(luò)連接等的物理連接)的分離單元。通信 設(shè)備120AU20B的視頻/音頻能力可由內(nèi)置于通信設(shè)備120AU20B中的模塊提供。在某些 實(shí)施例中,向通信設(shè)備120A、120B提供視頻/音頻能力的模塊可以是與通信設(shè)備120A、120B 耦合的獨(dú)立單元。
[0020] 通信設(shè)備120A、120B可以直接地或通過中間通信設(shè)備(未示出)進(jìn)行通信。例如, 在一些實(shí)施例中,通信服務(wù)器(示于圖IB中)可以便于通信設(shè)備120A、120B之間的通信。 在一些實(shí)施例中,通信設(shè)備120AU20B可以通過安全和/或加密通信鏈路進(jìn)行通信。
[0021] 通信網(wǎng)絡(luò)110可以是高帶寬和/或帶寬受限的通信網(wǎng)絡(luò)。在一些實(shí)施例中,通信 網(wǎng)絡(luò)110可以是無線通信網(wǎng)絡(luò)。在某些實(shí)施例中,通信網(wǎng)絡(luò)110可以是局域網(wǎng)(LAN)、城域 網(wǎng)(MN)或廣域網(wǎng)(WAN)(比如因特網(wǎng))。在一些實(shí)施例中,網(wǎng)絡(luò)110可包括一個(gè)或多個(gè)通 用網(wǎng)絡(luò)(例如因特網(wǎng)、LAN等)和/或其他網(wǎng)絡(luò)(例如互聯(lián)網(wǎng)協(xié)議(IP)網(wǎng)絡(luò))的一個(gè)或多 個(gè)部分。
[0022] 根據(jù)所使用的通信設(shè)備120A、120B的類型(例如移動(dòng)或桌面),通信設(shè)備120A、 120B通過適當(dāng)?shù)耐ㄐ沛溌?25AU25B (例如無線和/或有線通信鏈路)以及通過適當(dāng)?shù)耐?信網(wǎng)絡(luò)110參與會(huì)議會(huì)話。
[0023] 在一些實(shí)施例中,可確定在會(huì)議會(huì)話期間任意給定時(shí)刻的可用帶寬量。在某些實(shí) 施例中,帶寬估計(jì)器(隨后參照?qǐng)D3示出)可用來估計(jì)可用帶寬量。
[0024] 帶寬估計(jì)器可位于參與會(huì)議會(huì)話的通信設(shè)備120A、120B內(nèi)、位于通信網(wǎng)絡(luò)110的 下游或通信網(wǎng)絡(luò)110內(nèi)。在某些實(shí)施例中,帶寬估計(jì)器可與監(jiān)控組件(隨后參照?qǐng)D3示出) 耦合,該監(jiān)控組件觀測(cè)多個(gè)網(wǎng)絡(luò)度量(例如延遲、分組丟失等)并確定帶寬估計(jì)器進(jìn)行操作 應(yīng)該采用的設(shè)置(即模式)。監(jiān)控組件可位于帶寬估計(jì)器的內(nèi)部或位于帶寬估計(jì)器的外部, 例如位于網(wǎng)絡(luò)內(nèi)和/或位于通信設(shè)備內(nèi)。
[0025] 在一些實(shí)施例中,帶寬估計(jì)器可運(yùn)行于正常設(shè)置(即正常模式),其指示網(wǎng)絡(luò)110 處于其典型/正常操作狀況。備選地,在某些實(shí)施例中,帶寬估計(jì)器可運(yùn)行于緊急設(shè)置(例 如非正常模式),其指示因素(比如大量交叉業(yè)務(wù)(cross traffic))可能正改變網(wǎng)絡(luò)的正常 操作狀況。
[0026] 在一些實(shí)施例中,帶寬分配器(隨后參照?qǐng)D3示出)可用來在活動(dòng)業(yè)務(wù)流之間分 割對(duì)于會(huì)議會(huì)話可用的估計(jì)帶寬?;顒?dòng)的業(yè)務(wù)流可包括在通信設(shè)備120AU20B之間共享的 桌面屏幕數(shù)據(jù)內(nèi)容135AU35B、視頻145AU45B、或音頻147AU47B。在一些實(shí)施例中,每個(gè) 業(yè)務(wù)流在被激活時(shí)向帶寬分配器進(jìn)行登記。在一些實(shí)施例中,當(dāng)向帶寬分配器進(jìn)行登記之 后,業(yè)務(wù)流可規(guī)定最小帶寬需要。帶寬分配器在確保滿足每個(gè)流所需的最小帶寬的同時(shí)向 每個(gè)流分配帶寬。業(yè)務(wù)流所需的所有最小帶寬級(jí)別之和指示用于執(zhí)行會(huì)議會(huì)話的最小帶寬 需要。
[0027] 圖IB是可用于這里公開的實(shí)施例的通信系統(tǒng)的框圖。在一些實(shí)施例中,通信設(shè)備 120AU20B可使用一個(gè)或多個(gè)通信服務(wù)器來促進(jìn)彼此的通信。例如,如圖IB所示,在一些 實(shí)施例中,通信設(shè)備120A、120B可連接到促進(jìn)數(shù)據(jù)業(yè)務(wù)149 (包括通信設(shè)備之間的共享桌面 屏幕內(nèi)容135A)的傳輸?shù)耐ㄐ欧?wù)器150。在某些實(shí)施例中,音頻服務(wù)器160 (音頻橋160) 可用來促進(jìn)參與會(huì)議會(huì)話的通信設(shè)備120AU20B之間的音頻業(yè)務(wù)159的傳輸。此外,在一 些實(shí)施例中,視頻服務(wù)器170可用來促進(jìn)通信設(shè)備120AU20B之間的共享視頻業(yè)務(wù)169的 傳輸。
[0028] 通信服務(wù)器150、音頻橋160和視頻服務(wù)器170可位于網(wǎng)絡(luò)110內(nèi)或位于網(wǎng)絡(luò)110 的下游。
[0029] 圖2是可用于這里公開的實(shí)施例的通信設(shè)備120A、120B的框圖。
[0030] 設(shè)備120AU20B可包括處理器230 (例如中央處理單元或CPU),其執(zhí)行設(shè)備的操 作,執(zhí)行各種指令以及操縱來自主存儲(chǔ)器220的數(shù)據(jù)結(jié)構(gòu)。
[0031] 處理器230可經(jīng)由輸入/輸出(I/O)設(shè)備接口 240耦合到多個(gè)接口。I/O設(shè)備接 口 240可包括用來與多個(gè)輸入和/或輸出設(shè)備(比如鍵盤或鼠標(biāo))以及與處理器230對(duì)接 的邏輯,并允許在處理器230和其他組件之間傳輸信號(hào)。此外,接口設(shè)備(比如揚(yáng)聲器210、 麥克風(fēng)207、外圍設(shè)備203和顯示器128)可用來傳輸去往/來自處理器230和主存儲(chǔ)器220 的信號(hào)。在一些實(shí)施例中,輸入/輸出接口 240可包括USB端口(未示出)。
[0032] 在一些實(shí)施例中,通信設(shè)備120AU20B可包括網(wǎng)絡(luò)設(shè)備接口 250,其向設(shè)備提供對(duì) 通信網(wǎng)絡(luò)110的接入。在一些實(shí)施例中,輸入/輸出網(wǎng)絡(luò)接口 240可用來發(fā)送和接收用于 根據(jù)這里描述的實(shí)施例估計(jì)和分配帶寬的信號(hào)。
[0033] 主存儲(chǔ)器220可以是計(jì)算機(jī)可讀存儲(chǔ)器,并且可包括非易失性存儲(chǔ)器設(shè)備的組 合。主存儲(chǔ)器220還可包括操作系統(tǒng)270,其實(shí)現(xiàn)多種傳統(tǒng)操作系統(tǒng)功能,包括:對(duì)多個(gè)設(shè) 備(比如數(shù)據(jù)庫存儲(chǔ)設(shè)備260)的存儲(chǔ)器管理和受控訪問以及任務(wù)和處理調(diào)度。數(shù)據(jù)存儲(chǔ) 設(shè)備260可包括用于這里公開的實(shí)施例的內(nèi)容,比如圖像、文本、視頻、音頻和計(jì)算機(jī)應(yīng)用。 主存儲(chǔ)器220可被配置為保存多種軟件265和計(jì)算機(jī)可執(zhí)行指令以及包括計(jì)算機(jī)可執(zhí)行指 令的數(shù)據(jù)結(jié)構(gòu)和實(shí)現(xiàn)這里描述的技術(shù)的方面的數(shù)據(jù)結(jié)構(gòu)。
[0034] 例如,在一些實(shí)施例中,軟件265可實(shí)現(xiàn)用于估計(jì)針對(duì)會(huì)議會(huì)話的可用帶寬量的 過程。在一些實(shí)施例中,軟件270還可實(shí)現(xiàn)用于分配估計(jì)帶寬和在活動(dòng)業(yè)務(wù)流之間分割針 對(duì)會(huì)議會(huì)話的可用估計(jì)帶寬的過程。
[0035] 如前所述,備選地,在一些實(shí)施例中,位于網(wǎng)絡(luò)110 (示于圖1)中的應(yīng)用程序(未 示出)或模塊(未示出)可估計(jì)針對(duì)會(huì)議會(huì)話的可用帶寬量和/或在活動(dòng)業(yè)務(wù)流之間分割 對(duì)于會(huì)議會(huì)話可用的估計(jì)帶寬。
[0036] 圖3是根據(jù)這里公開的某些實(shí)施例的帶寬管理系統(tǒng)300的框圖。帶寬管理系統(tǒng) 可包括帶寬估計(jì)器310和帶寬分配器330。帶寬估計(jì)器310確定針對(duì)引導(dǎo)進(jìn)/出通信設(shè)備 120AU20B的業(yè)務(wù)流301的可用帶寬量。帶寬分配器使用估計(jì)的可用帶寬340來在業(yè)務(wù)流 301之間分隔可用帶寬并向每個(gè)業(yè)務(wù)流分配適當(dāng)?shù)膸?50。
[0037] 在某些實(shí)施例中,帶寬估計(jì)器310、帶寬分配器330或監(jiān)控組件320中的至少一個(gè) 可位于通信設(shè)備120AU20B內(nèi)。在一些實(shí)施例中,帶寬估計(jì)器310、帶寬分配器330或監(jiān)控 組件320中的至少一個(gè)或一個(gè)的一部分可位于通信網(wǎng)絡(luò)110、通信服務(wù)器150、音頻橋160 或視頻服務(wù)器170中的至少一個(gè)內(nèi)。
[0038] 在一些實(shí)施例中,帶寬估計(jì)器310可操作于正常設(shè)置。正常設(shè)置可指示網(wǎng)絡(luò)處于 正常操作狀態(tài)(例如具有期望的且典型的延遲或業(yè)務(wù))。在一些實(shí)施例中,帶寬估計(jì)器320 可操作于緊急設(shè)置。緊急設(shè)置可指示網(wǎng)絡(luò)處于非正常狀態(tài)。例如,緊急狀態(tài)可指示大量交 叉業(yè)務(wù)。在某些實(shí)施例中,監(jiān)控組件320可監(jiān)控網(wǎng)絡(luò)度量319 (比如通信網(wǎng)絡(luò)110中的延遲 和分組丟失)以及確定帶寬估計(jì)器310在任意給定時(shí)刻進(jìn)行操作應(yīng)采用的設(shè)置(即操作模 式 322)。
[0039] 在某些實(shí)施例中,帶寬估計(jì)器310可通過周期性地監(jiān)控和測(cè)試護(hù)送(convoy)進(jìn)/ 出通信設(shè)備120AU20B的數(shù)據(jù)速率來估計(jì)可用帶寬量。在一些實(shí)施例中,在每個(gè)數(shù)據(jù)速率 測(cè)試期間,增加(例如使用帶寬分配器330)數(shù)據(jù)速率并監(jiān)控(例如使用監(jiān)控組件320)任 何由此得到的網(wǎng)絡(luò)度量的改變,以確定數(shù)據(jù)速率增加是否成功。
[0040] 在某些實(shí)施例中,當(dāng)轉(zhuǎn)變到緊急設(shè)置時(shí),數(shù)據(jù)速率可減少預(yù)定因子(例如使用帶 寬分配器330),以便為交叉業(yè)務(wù)留出空間。在某些實(shí)施例中,預(yù)定因子可以是一半。一旦數(shù) 據(jù)速率降低,就不再對(duì)數(shù)據(jù)速率進(jìn)行任何改變,除非觀測(cè)到網(wǎng)絡(luò)度量發(fā)生重大改變(例如 大量分組丟失)。在一些實(shí)施例中,在觀測(cè)到網(wǎng)絡(luò)度量319發(fā)生重大改變(例如大量分組丟 失)的情況下,可進(jìn)一步降低數(shù)據(jù)速率。
[0041] 在某些實(shí)施例中,監(jiān)控組件320可確定緊急設(shè)置不再有效。監(jiān)控組件320可響應(yīng) 于網(wǎng)絡(luò)度量319返回到它們的正常狀況來確定這一從緊急設(shè)置的轉(zhuǎn)出。例如,在一些實(shí)施 例中,監(jiān)控組件320可響應(yīng)于觀測(cè)到網(wǎng)絡(luò)度量319 (比如延遲和分組丟失)已經(jīng)返回到它們 的正常期望值來確定這一從緊急設(shè)置的轉(zhuǎn)出。
[0042] 在一些實(shí)施例中,可進(jìn)行從緊急設(shè)置的"快速恢復(fù)"。在一些實(shí)施例中,如上所述, 可通過嘗試緊急模式前速率測(cè)試(例如以在進(jìn)入緊急模式之前存在的網(wǎng)絡(luò)數(shù)據(jù)速率)來完 成從緊急設(shè)置的恢復(fù),由此減少恢復(fù)時(shí)間。在一些實(shí)施例中,在快速恢復(fù)數(shù)據(jù)速率測(cè)試失敗 (這可能意味著網(wǎng)絡(luò)110尚未返回到其緊急狀態(tài)之前的狀態(tài))的情況下,帶寬估計(jì)器110可 通過"慢提升(slow ramp-up)"發(fā)現(xiàn)新的可用帶寬。當(dāng)使用慢提升確定可用帶寬時(shí),帶寬估 計(jì)器110可進(jìn)行多次數(shù)據(jù)速率測(cè)試,在每次數(shù)據(jù)速率測(cè)試期間,增加(例如使用帶寬分配器 330)數(shù)據(jù)速率并監(jiān)控(例如使用監(jiān)控組件320)任何由此得到的網(wǎng)絡(luò)度量的改變,以確定數(shù) 據(jù)速率增加是否成功。
[0043] 在某些實(shí)施例中,在快速恢復(fù)速率測(cè)試失敗的情況下,可以執(zhí)行第二數(shù)據(jù)速率測(cè) 試,而不是直接回退到慢提升。在一些實(shí)施例中,第二數(shù)據(jù)速率測(cè)試可以以在失敗的快速恢 復(fù)測(cè)試期間獲得的有效吞吐量速率評(píng)估網(wǎng)絡(luò)100的性能。在一些實(shí)施例中,有效吞吐量速 率可指示應(yīng)用級(jí)別吞吐量或由網(wǎng)絡(luò)110向/從通信設(shè)備120AU20B遞送的有用信息的量。 這涉及網(wǎng)絡(luò)110已經(jīng)恢復(fù)到某一程度但尚未恢復(fù)到緊急模式前級(jí)別的情況下的快速恢復(fù)。
[0044] 在一些實(shí)施例中,當(dāng)在通信設(shè)備120AU20B之間沒有共享視頻內(nèi)容且所共享的業(yè) 務(wù)流是音頻(語音)內(nèi)容和/或屏幕內(nèi)容135AU35B時(shí),可以進(jìn)行活動(dòng)帶寬管理。在沒有 共享視頻內(nèi)容的情況下,管理音頻(語音)內(nèi)容和/或屏幕內(nèi)容135AU35B會(huì)話涉及受控 屏幕共享突發(fā)并且移除可由音頻流引起的任何干擾。
[0045] 備選地,在某些實(shí)施例中,當(dāng)除了共享的桌面會(huì)話和/或任何共享音頻之外在通 信設(shè)備120A、120B之間還共享了視頻內(nèi)容時(shí),可進(jìn)行活動(dòng)帶寬管理。
[0046] 某些實(shí)施例可涉及低帶寬連接上的改善的屏幕共享性能。具體地,在某些實(shí)施例 中,當(dāng)屏幕共享是活動(dòng)的時(shí),可增加總體帶寬利用。例如,在一種實(shí)施例中,當(dāng)屏幕共享是活 動(dòng)的時(shí),總體帶寬利用可從80%增加到95%。在一些實(shí)施例中,在持續(xù)的突發(fā)的情況下,可 增加分配給屏幕共享會(huì)話的帶寬。例如,在一個(gè)實(shí)施例中,分配給屏幕共享會(huì)話的帶寬可從 50 %增加到85%。
[0047] 在一些實(shí)施例中,針對(duì)非常低帶寬的連接,可向屏幕共享分配施加下限,以向屏幕 共享會(huì)話135AU35B許可比可用的帶寬更多的帶寬,并且讓傳輸控制協(xié)議(TCP)使用分配 給屏幕共享會(huì)話135AU35B的附加帶寬提供擁塞控制,從而得到最佳可能的屏幕共享性 能。在視頻內(nèi)容共享會(huì)話是活動(dòng)的情況下,當(dāng)屏幕共享突發(fā)是活動(dòng)的時(shí),向屏幕共享會(huì)話許 可附加帶寬可導(dǎo)致共享視頻內(nèi)容145AU45B的質(zhì)量下降。
[0048] 如上所述,帶寬估計(jì)器310可操作于兩個(gè)設(shè)置/模式,即正常模式和緊急模式。在 數(shù)據(jù)傳輸?shù)囊粋€(gè)方向(下游或上游)處于緊急模式的情況下,某些實(shí)施例可阻止在另一方 向上進(jìn)行數(shù)據(jù)速率測(cè)試。然而,在某些實(shí)施例中,即使一個(gè)方向處于緊急模式,也可將提升 能力添加到傳輸?shù)牧硪环较颉?br>
[0049] 如上所述,帶寬分配器330可在活動(dòng)業(yè)務(wù)流301 (音頻共享、視頻共享145AU45B 和/或屏幕共享135A、135B)之間分割可用帶寬(按照帶寬估計(jì)器310所報(bào)告的)。
[0050] 在一些實(shí)施例中,當(dāng)被激活時(shí),每個(gè)業(yè)務(wù)流301可以向帶寬分配器330進(jìn)行登記。 作為其登記簡(jiǎn)檔的一部分,每個(gè)業(yè)務(wù)流301可規(guī)定最小帶寬需要。在一些實(shí)施例中,保證滿 足最小帶寬需要。所有最小需要之和是用于進(jìn)行會(huì)議會(huì)話的最小帶寬需要。
[0051] 在某些實(shí)施例中,每個(gè)業(yè)務(wù)流301 (在其壽命期間)可向帶寬分配器330表達(dá)當(dāng)前 帶寬需求。例如,在一個(gè)實(shí)施例中,互聯(lián)網(wǎng)協(xié)議語音(VoIP)音頻流可具有可以等于其最小 需要的靜態(tài)當(dāng)前需求。在一些實(shí)施例中,針對(duì)視頻145AU45B和屏幕共享145AU45B流,需 求可響應(yīng)于每個(gè)流301中的活動(dòng)級(jí)別發(fā)生改變。
[0052] 在一些實(shí)施例中,帶寬分配器330可通過向每個(gè)活動(dòng)流301初始許可其最小需要 來進(jìn)行操作。當(dāng)處理VoIP流時(shí),由于需求不會(huì)增加到超過最小需要,所以不需要對(duì)帶寬分 配進(jìn)行進(jìn)一步的修改。
[0053] 如果在已經(jīng)滿足最小帶寬需要之后還剩余任何帶寬,則在屏幕共享和視頻流之間 按比例分配剩余帶寬。具體地,如果不存在當(dāng)前屏幕共享活動(dòng)135AU35B,則可將所有多余 帶寬分配給共享視頻流145A、145B。然而,如果屏幕共享流135A、135B具有正在進(jìn)行的活 動(dòng),則其被給予多于帶寬的一部分,假定其對(duì)此具有充分的需求。在一個(gè)實(shí)施例中,多余帶 寬的所分配的部分可達(dá)到多余帶寬的50%。剩余帶寬分配給視頻流145AU45B。
[0054] 在一些實(shí)施例中,視頻流可在每次屏幕共享變得活動(dòng)時(shí)暫時(shí)地適應(yīng)更低帶寬許 可。在一些實(shí)施例中,為了將該暫時(shí)帶寬減少與更持久的帶寬減少(比如當(dāng)連接帶寬自身 下降時(shí))相區(qū)分,可基于短期或長(zhǎng)期來完成帶寬分配。長(zhǎng)期分配可表示當(dāng)屏幕共享135A、 135B是非活動(dòng)的時(shí)共享視頻內(nèi)容145AU45B可獲得的帶寬量。在一些實(shí)施例中,視頻流可 使用長(zhǎng)期帶寬分配來配置其編解碼器等。在某些實(shí)施例中,當(dāng)短期分配發(fā)生改變時(shí)(例如 當(dāng)屏幕共享是活動(dòng)的時(shí)),視頻流可以不執(zhí)行任何顯著的重配置并且假定屏幕共享活動(dòng)是 短暫的。
[0055] 在一些實(shí)施例中,短期/長(zhǎng)期許可可用來在屏幕共享活動(dòng)期間最優(yōu)化視頻性能。
[0056] 由于在屏幕共享和視頻流之間對(duì)多余帶寬的均等分割可導(dǎo)致屏幕共享性能下降 (尤其是在低帶寬連接上),所以某些實(shí)施例可增加分配給屏幕共享會(huì)話135A、135B的多余 帶寬。例如,在一個(gè)實(shí)施例中,在持續(xù)活動(dòng)(例如活動(dòng)持續(xù)超過2秒)的情況下,分配給屏 幕共享會(huì)話135八、1358的多余帶寬可從50%增加到85%。
[0057] 在一些實(shí)施例中,為了獲得最佳可能屏幕共享性能,當(dāng)存在活動(dòng)時(shí)可向屏幕共享 分配施加下限度量,由此向屏幕共享會(huì)話分配與可用帶寬相比更多的帶寬,以及讓TCP使 用分配給屏幕共享會(huì)話的附加帶寬來提供擁塞控制。這可導(dǎo)致在屏幕共享會(huì)話是活動(dòng)的時(shí) 視頻質(zhì)量下降。
[0058] 在一些實(shí)施例中,當(dāng)屏幕共享會(huì)話135AU35B是活動(dòng)的時(shí)可應(yīng)用預(yù)定等待時(shí)間, 以便在屏幕共享是活動(dòng)的時(shí)降低高許可和低許可之間的反復(fù)。
[0059] 圖4示出了用于帶寬分配和估計(jì)的示例系統(tǒng)400。如圖所示,系統(tǒng)400包括經(jīng)由 網(wǎng)絡(luò)接入點(diǎn)420連接到網(wǎng)絡(luò)430的客戶端計(jì)算設(shè)備410。網(wǎng)絡(luò)430包括與音頻通信服務(wù)器 440、視頻通信服務(wù)器450和屏幕共享服務(wù)器460 (它們都被配置為經(jīng)由網(wǎng)絡(luò)430與客戶端 計(jì)算設(shè)備410進(jìn)行通信)的連接。
[0060] 客戶端計(jì)算設(shè)備410可以是膝上型計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、平板計(jì)算機(jī)、移動(dòng)電話、 個(gè)人數(shù)字助理(PDA)、電子音樂播放器等??蛻舳擞?jì)算設(shè)備410可存儲(chǔ)用于進(jìn)行通信會(huì)話 (例如在線會(huì)議、使用屏幕共享的語音呼叫、視頻呼叫等)的通信應(yīng)用。通信會(huì)話是結(jié)合服 務(wù)器440、450和460中的一個(gè)或多個(gè)在網(wǎng)絡(luò)430上進(jìn)行的。在一些實(shí)現(xiàn)中,客戶端計(jì)算設(shè) 備410與服務(wù)器440、450或460的通信受帶寬的限制。通常,帶寬限制是由于客戶端計(jì)算 設(shè)備410和網(wǎng)絡(luò)接入點(diǎn)420之間的連接415或網(wǎng)絡(luò)接入點(diǎn)420和網(wǎng)絡(luò)430之間的連接425 中的受限帶寬導(dǎo)致的。在一些示例中,服務(wù)器440、450和460和網(wǎng)絡(luò)430之間的連接444、 455和465是具有比連接415或425更高的帶寬限制的高帶寬連接。因此,客戶端計(jì)算設(shè) 備410可假定客戶端計(jì)算設(shè)備410和服務(wù)器440、450和460中的每一個(gè)之間存在相同的或 近似相同的帶寬。例如,客戶端計(jì)算設(shè)備410和服務(wù)器440之間的帶寬等于客戶端計(jì)算設(shè) 備410和服務(wù)器450之間的帶寬,其還等于客戶端計(jì)算設(shè)備410和服務(wù)器460之間的帶寬。 下面結(jié)合圖5對(duì)客戶端計(jì)算設(shè)備410進(jìn)行更為詳細(xì)的描述。
[0061] 網(wǎng)絡(luò)接入點(diǎn)420可包括用來將客戶端計(jì)算設(shè)備410連接到網(wǎng)絡(luò)430的一個(gè)或多個(gè) 調(diào)制解調(diào)器、路由器或蜂窩接入點(diǎn)。網(wǎng)絡(luò)430可以是因特網(wǎng)、局域網(wǎng)、廣域網(wǎng)、蜂窩網(wǎng)絡(luò)、內(nèi) 聯(lián)網(wǎng)、虛擬私有網(wǎng)絡(luò)等。
[0062] 音頻通信服務(wù)器440被配置為通過在客戶端計(jì)算設(shè)備410和遠(yuǎn)程計(jì)算設(shè)備之間提 供音頻流來支持客戶端計(jì)算設(shè)備410和遠(yuǎn)程計(jì)算設(shè)備之間的音頻通信。視頻通信服務(wù)器 450被配置為通過在客戶端計(jì)算設(shè)備410和遠(yuǎn)程計(jì)算設(shè)備之間提供視頻流來支持客戶端計(jì) 算設(shè)備410和遠(yuǎn)程計(jì)算設(shè)備之間的視頻通信。屏幕共享服務(wù)器460被配置為通過在客戶端 計(jì)算設(shè)備410和遠(yuǎn)程計(jì)算設(shè)備之間提供屏幕共享流來支持客戶端計(jì)算設(shè)備410和遠(yuǎn)程計(jì)算 設(shè)備之間的音頻通信。如圖所示,音頻通信服務(wù)器440、視頻通信服務(wù)器450和屏幕共享服 務(wù)器460實(shí)現(xiàn)于三個(gè)不同的機(jī)器上。然而,在一些不例中,服務(wù)器440、450和460中的兩個(gè) 或更多個(gè)可實(shí)現(xiàn)于相同的機(jī)器上。在一些不例中,系統(tǒng)400可缺少服務(wù)器440、450和460 中的一個(gè)或多個(gè)并且題述技術(shù)可在沒有服務(wù)器440、450和460中的一個(gè)或多個(gè)的情況下實(shí) 現(xiàn)。在一些示例中,作為服務(wù)器440、450和460中的一個(gè)或多個(gè)的補(bǔ)充或替換,可結(jié)合題述 技術(shù)使用其他通信服務(wù)器,比如文件下載服務(wù)器或文件上傳服務(wù)器。
[0063] 圖5示出了圖4的客戶端計(jì)算設(shè)備410的示例。如圖所示,客戶端計(jì)算設(shè)備410 包括中央處理單元(CPU) 502、網(wǎng)絡(luò)接口 504和存儲(chǔ)器506。CPU502包括一個(gè)或多個(gè)處理器。 CPU 502被配置為執(zhí)行存儲(chǔ)于計(jì)算機(jī)可讀介質(zhì)(例如存儲(chǔ)器506)中的指令。網(wǎng)絡(luò)接口 504 被配置為允許客戶端計(jì)算設(shè)備410在網(wǎng)絡(luò)(例如網(wǎng)絡(luò)430)中發(fā)送和接收數(shù)據(jù)。網(wǎng)絡(luò)接口 504可包括一個(gè)或多個(gè)網(wǎng)絡(luò)接口卡(1C)。存儲(chǔ)器506存儲(chǔ)數(shù)據(jù)和/或指令。存儲(chǔ)器506可 以是緩存單元、存儲(chǔ)單元、內(nèi)部存儲(chǔ)器單元或外部存儲(chǔ)器單元中的一個(gè)或多個(gè)。如圖所示, 存儲(chǔ)器206包括通信應(yīng)用508。
[0064] 通信應(yīng)用508被配置為經(jīng)由客戶端計(jì)算設(shè)備410與連接到網(wǎng)絡(luò)430的一個(gè)或多個(gè) 遠(yuǎn)程計(jì)算設(shè)備進(jìn)行通信會(huì)話。通信會(huì)話可包括在線會(huì)議、語音呼叫、視頻呼叫、屏幕共享會(huì) 話等。通信會(huì)話可結(jié)合服務(wù)器440、450和460中的一個(gè)或多個(gè)進(jìn)行。如圖所示,通信應(yīng)用 508包括音頻流510、視頻流512、屏幕共享流514和帶寬管理模塊516。
[0065] 音頻流510可包括客戶端計(jì)算設(shè)備410和通信會(huì)話中所涉及的遠(yuǎn)程計(jì)算單元之間 的結(jié)合音頻通信服務(wù)器440發(fā)送的音頻傳輸(例如語音傳輸)。視頻流512可包括客戶端 計(jì)算設(shè)備410和通信會(huì)話中所涉及的遠(yuǎn)程計(jì)算單元之間的結(jié)合視頻通信服務(wù)器450發(fā)送的 視頻傳輸(例如經(jīng)由客戶端計(jì)算設(shè)備410或遠(yuǎn)程計(jì)算設(shè)備的相機(jī)拍攝的視頻)。屏幕共享 流514可包括客戶端計(jì)算設(shè)備410和通信會(huì)話中所涉及的遠(yuǎn)程計(jì)算單元之間的結(jié)合屏幕共 享服務(wù)器460發(fā)送的屏幕共享傳輸。在一些實(shí)現(xiàn)中,除了以上所列的流之外,通信應(yīng)用508 還可具有其他流,或者可以缺少以上所列的流510、512或514中的一個(gè)或多個(gè)。
[0066] 帶寬管理模塊516被配置為管理通信應(yīng)用508的帶寬利用,例如流510、512或514 的帶寬利用。如圖所示,帶寬管理模塊包括帶寬管理啟用模塊518、帶寬估計(jì)模塊520、帶寬 分配模塊522和操作模式控制模塊524。
[0067] 帶寬管理啟用模塊518被配置為基于至少一個(gè)活動(dòng)流(例如具有音頻類型的音頻 流510、具有視頻類型的視頻流512或具有屏幕共享類型的屏幕共享流514)的類型確定是 啟用還是禁用帶寬管理。在一些示例中,如果視頻流512是活動(dòng)的,則啟用帶寬管理。在一 些示例中,如果視頻流512是非活動(dòng)的,則禁用帶寬管理。在一些示例中,音頻流510是活 動(dòng)的,屏幕共享流514是活動(dòng)的,且視頻流512是非活動(dòng)的,帶寬管理被禁用。在一些示例 中,所有三個(gè)流510、512或514都是活動(dòng)的,帶寬管理被啟用。
[0068] 帶寬估計(jì)模塊520被配置為估計(jì)客戶端計(jì)算設(shè)備410處的總可用帶寬。假定由客 戶端計(jì)算設(shè)備410到網(wǎng)絡(luò)接入點(diǎn)420的連接415和/或由網(wǎng)絡(luò)接入點(diǎn)420到網(wǎng)絡(luò)430的連 接425限制總可用帶寬。因此,客戶端計(jì)算設(shè)備和服務(wù)器440、450和460中的每一個(gè)之間 的總可用帶寬是等同的,且可能只需要服務(wù)器440、450和460中的僅一個(gè)服務(wù)器或不同的 服務(wù)器能夠輔助客戶端計(jì)算設(shè)備410經(jīng)由帶寬估計(jì)模塊520估計(jì)可用帶寬。
[0069] 帶寬分配模塊522被配置為(在由帶寬管理啟用模塊518啟用帶寬管理的情況 下)針對(duì)多個(gè)活動(dòng)流510、512或514中的每一個(gè)確定最小請(qǐng)求帶寬和對(duì)附加帶寬的期望。 可由服務(wù)器440、450或460將該信息提供給客戶端計(jì)算設(shè)備410。帶寬分配模塊522被配 置為基于最小請(qǐng)求帶寬和對(duì)附加帶寬的期望在計(jì)算設(shè)備處在多個(gè)活動(dòng)流510、512或514之 間動(dòng)態(tài)地分配總可用帶寬的至少一部分(例如在80%與95%或100%之間)。
[0070] 根據(jù)一些示例,由于音頻是以大體恒定的速率和質(zhì)量發(fā)送的,所以音頻流510具 有最小請(qǐng)求帶寬并且不具有對(duì)附加帶寬的期望。由于較大的帶寬可改善視頻質(zhì)量,所以視 頻流512具有最小請(qǐng)求帶寬以及對(duì)附加帶寬的較大(大體恒定)期望。由于屏幕共享流514 可在被共享的屏幕顯示發(fā)生改變時(shí)發(fā)送大量數(shù)據(jù)且在其他時(shí)刻發(fā)送相對(duì)較少的數(shù)據(jù),因此 屏幕共享流514具有最小請(qǐng)求帶寬和對(duì)附加帶寬的可變期望。
[0071] 在由帶寬管理啟用模塊518禁用帶寬管理的情況下,客戶端計(jì)算設(shè)備410可放棄 在客戶端計(jì)算設(shè)備410處的多個(gè)活動(dòng)流510、512或514之間動(dòng)態(tài)地分配帶寬。
[0072] 操作模式控制模塊524被配置為在正常操作模式(按照操作模式控制模塊524中 的正常操作模式模塊528的定義)和緊急模式(按照操作模式控制模塊524中的緊急操作 模式模塊526的定義)之間交替。操作模式控制模塊524被配置為監(jiān)控網(wǎng)絡(luò)430中的分組 丟失率和/或分組延遲率。如果分組丟失率高于分組丟失閾值或分組延遲率高于分組延遲 閾值,則操作模式控制模塊524可通過調(diào)用緊急操作模式模塊526進(jìn)入緊急模式。否則,操 作模式控制模塊526可通過調(diào)用正常操作模式模塊528進(jìn)入或保持在正常模式。
[0073] 緊急操作模式模塊526當(dāng)被調(diào)用時(shí)將客戶端計(jì)算設(shè)備410的通信應(yīng)用508置于緊 急操作模式。緊急操作模式模塊526將網(wǎng)絡(luò)數(shù)據(jù)速率設(shè)置為對(duì)應(yīng)于緊急操作模式的網(wǎng)絡(luò)數(shù) 據(jù)速率。緊急操作模式模塊526使得客戶端計(jì)算設(shè)備410的通信應(yīng)用508忽略傳輸中的分 組延遲。緊急操作模式模塊526使得客戶端計(jì)算設(shè)備410的通信應(yīng)用508在檢測(cè)到分組丟 失率高于預(yù)定分組丟失量時(shí)進(jìn)一步將操作網(wǎng)絡(luò)數(shù)據(jù)速率從對(duì)應(yīng)于緊急操作模式的網(wǎng)絡(luò)數(shù) 據(jù)速率降低。
[0074] 正常操作模式模塊528當(dāng)被調(diào)用時(shí)將客戶端計(jì)算設(shè)備410的通信應(yīng)用508置于正 常操作模式。正常操作模式模塊528以超出當(dāng)前操作網(wǎng)絡(luò)數(shù)據(jù)速率的網(wǎng)絡(luò)數(shù)據(jù)速率運(yùn)行網(wǎng) 絡(luò)數(shù)據(jù)速率測(cè)試。如果以超出當(dāng)前操作網(wǎng)絡(luò)數(shù)據(jù)速率的網(wǎng)絡(luò)數(shù)據(jù)速率的網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試 是成功的,則正常操作模式模塊528增加當(dāng)前操作網(wǎng)絡(luò)數(shù)據(jù)速率。
[0075] 圖6示出了用于管理通信流的帶寬利用的示例過程600。
[0076] 過程600開始于步驟610,在步驟610,計(jì)算設(shè)備(例如客戶端計(jì)算設(shè)備410經(jīng)由 通信應(yīng)用508的操作)經(jīng)由多個(gè)活動(dòng)流(例如流510、512或514)進(jìn)行通信(例如發(fā)送或 接收數(shù)據(jù))。多個(gè)活動(dòng)流中的每一個(gè)具有類型(例如音頻、視頻、屏幕共享、文件下載、文件 上傳等)。多個(gè)活動(dòng)流中的每一個(gè)的類型的特性為以下中的一個(gè)或多個(gè):(i)固定或可變帶 寬需求;(ii)優(yōu)先級(jí)級(jí)別;(iii)突發(fā)(busty)或平滑的業(yè)務(wù);以及(iv)最大請(qǐng)求帶寬值。 例如,音頻類型流具有固定的帶寬需求、高優(yōu)先級(jí)級(jí)別、平滑業(yè)務(wù)和低最大請(qǐng)求帶寬值。視 頻類型流具有可變帶寬需求、低優(yōu)先級(jí)級(jí)別(可能不如音頻或屏幕共享重要)、突發(fā)業(yè)務(wù)和 高最大請(qǐng)求帶寬值。屏幕共享類型流具有可變帶寬需求、高優(yōu)先級(jí)級(jí)別、突發(fā)業(yè)務(wù)和高最大 請(qǐng)求帶寬值。
[0077] 在步驟620中,計(jì)算設(shè)備基于多個(gè)活動(dòng)流中的至少一個(gè)的類型確定是啟用還是禁 用通信應(yīng)用內(nèi)的帶寬管理。例如,如果視頻流(或具有可變帶寬需求和高最大請(qǐng)求帶寬值 的另一流)是活動(dòng)的,則計(jì)算設(shè)備可確定啟用通信應(yīng)用內(nèi)的帶寬管理,否則,禁用通信應(yīng)用 內(nèi)的帶寬管理。如果在通信應(yīng)用中禁用帶寬管理,則仍然可以在通信應(yīng)用之外管理帶寬,例 如經(jīng)由計(jì)算設(shè)備的操作系統(tǒng)或經(jīng)由網(wǎng)絡(luò)。如果確定啟用帶寬管理,則過程600繼續(xù)到步驟 630。如果確定禁用帶寬管理,則過程600繼續(xù)到步驟625。
[0078] 在步驟625中,當(dāng)確定禁用通信應(yīng)用內(nèi)的帶寬管理時(shí),計(jì)算設(shè)備放棄在計(jì)算設(shè)備 處在多個(gè)活動(dòng)流之間經(jīng)由通信應(yīng)用動(dòng)態(tài)地分配帶寬。在步驟625之后,過程600結(jié)束。
[0079] 在步驟630中,當(dāng)確定啟用通信應(yīng)用內(nèi)的帶寬管理時(shí),計(jì)算設(shè)備估計(jì)計(jì)算設(shè)備處 的總可用帶寬。在一些示例中,計(jì)算設(shè)備基于計(jì)算設(shè)備和第一服務(wù)器(例如服務(wù)器440、450 或460之一)之間的數(shù)據(jù)傳輸來計(jì)算計(jì)算設(shè)備和第一服務(wù)器之間的上游和下游帶寬。計(jì)算 設(shè)備基于計(jì)算設(shè)備和第一服務(wù)器之間計(jì)算出的上游或下游帶寬來估計(jì)計(jì)算設(shè)備和第二服 務(wù)器(例如服務(wù)器440、450或460中的另一個(gè))之間的上游和下游帶寬。計(jì)算設(shè)備和第一 服務(wù)器之間的上游和下游帶寬可以等于計(jì)算設(shè)備和第二服務(wù)器之間的上游和下游帶寬。
[0080] 在步驟640中,計(jì)算設(shè)備基于多個(gè)活動(dòng)流中的每一個(gè)的類型為多個(gè)活動(dòng)流中的每 一個(gè)確定最小請(qǐng)求帶寬和對(duì)附加帶寬的期望。在一些情況下,流與服務(wù)器相關(guān)聯(lián),并且服務(wù) 器提供最小請(qǐng)求帶寬和對(duì)附加帶寬的期望。例如,音頻流510與音頻通信服務(wù)器440相關(guān) 聯(lián);視頻流512與視頻通信服務(wù)器450相關(guān)聯(lián);以及屏幕共享流與屏幕共享服務(wù)器460相關(guān) 聯(lián)。在一些情況下,通信應(yīng)用(例如通信應(yīng)用508)存儲(chǔ)由通信應(yīng)用使用的每個(gè)流的最小請(qǐng) 求帶寬和對(duì)附加帶寬的期望。
[0081] 在步驟650中,計(jì)算設(shè)備基于最小請(qǐng)求帶寬和對(duì)附加帶寬的期望在計(jì)算設(shè)備處在 多個(gè)活動(dòng)流之間經(jīng)由通信應(yīng)用動(dòng)態(tài)地分配總可用帶寬(在步驟630中估計(jì)的)的至少一部 分。根據(jù)一些示例,計(jì)算設(shè)備向多個(gè)活動(dòng)流中的每一個(gè)至少指派最小請(qǐng)求帶寬。計(jì)算設(shè)備 基于總可用帶寬的所述部分和針對(duì)多個(gè)活動(dòng)流的最小請(qǐng)求帶寬之和之間的差別確定剩余 帶寬。計(jì)算設(shè)備基于對(duì)附加帶寬的期望和基于多個(gè)活動(dòng)流中的至少一個(gè)的類型的用戶體驗(yàn) 優(yōu)化對(duì)剩余帶寬進(jìn)行分配。在一些示例中,活動(dòng)流包括音頻流、視頻流和屏幕共享流。剩余 帶寬在視頻流和屏幕共享流之間動(dòng)態(tài)地分配,且沒有任何剩余帶寬指派給音頻流,音頻流 只使用音頻流的最小請(qǐng)求帶寬。例如,50%的剩余帶寬指派給視頻流,50%的剩余帶寬指派 給屏幕共享流。在一些示例中,如果計(jì)算設(shè)備確定屏幕共享活動(dòng)持續(xù)閾值時(shí)段(例如兩秒 鐘),則計(jì)算設(shè)備響應(yīng)于屏幕共享活動(dòng)持續(xù)閾值時(shí)段而增加向活動(dòng)屏幕共享流的剩余帶寬 分配,并減少向活動(dòng)視頻流的剩余帶寬分配。例如,可向屏幕共享流指派剩余帶寬的85%, 可向視頻流指派剩余帶寬的15%。在步驟650之后,過程600結(jié)束。
[0082] 圖7A-7B示出了用于管理帶寬利用的示例過程700。
[0083] 如圖7A所示,過程700開始于步驟710,在步驟710中,計(jì)算設(shè)備(例如客戶端計(jì) 算設(shè)備410)在以第一網(wǎng)絡(luò)數(shù)據(jù)速率在正常操作模式(例如使用正常操作模式模塊528)中 運(yùn)行通信應(yīng)用(例如通信應(yīng)用508)的同時(shí)監(jiān)控分組丟失率或分組延遲率。
[0084] 在步驟720中,計(jì)算設(shè)備響應(yīng)于檢測(cè)到分組丟失超過分組丟失的閾值量或分組延 遲超過分組延遲的閾值量而進(jìn)入緊急操作模式(例如使用緊急操作模式模塊526)。
[0085] 在步驟725中,計(jì)算設(shè)備基于分組丟失率或分組延遲率的改變確定返回到正常操 作模式。計(jì)算設(shè)備然后返回到正常操作模式(例如使用正常操作模式模塊528)。
[0086] 在步驟730中,計(jì)算設(shè)備(例如使用操作模式控制模塊524)以第一網(wǎng)絡(luò)數(shù)據(jù)速率 運(yùn)行第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試。
[0087] 在步驟740中,計(jì)算設(shè)備確定第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試是否成功。如果是的話,則過 程700繼續(xù)步驟745。如果否的話,則過程700繼續(xù)圖7B的步驟750。
[0088] 在步驟745中,如果第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試是成功的,則計(jì)算設(shè)備將操作網(wǎng)絡(luò)數(shù) 據(jù)速率調(diào)整為第一網(wǎng)絡(luò)數(shù)據(jù)速率。在步驟745之后,過程700結(jié)束。
[0089] 如圖7B所示,在步驟750中,如果第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試失敗,則計(jì)算設(shè)備測(cè)量第 一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試期間的有效吞吐量速率。
[0090] 在步驟760中,計(jì)算設(shè)備以有效吞吐量速率運(yùn)行第二網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試。
[0091] 在步驟770中,計(jì)算設(shè)備確定第二網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試是否成功。如果是的話,則過 程700繼續(xù)步驟775。如果否的話,則過程700繼續(xù)步驟780。
[0092] 在步驟775中,如果第二網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試是成功的,則計(jì)算設(shè)備將操作網(wǎng)絡(luò)數(shù) 據(jù)速率調(diào)整為有效吞吐量速率。在步驟775之后,過程700結(jié)束。
[0093] 在步驟780中,如果第二網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試失敗,則計(jì)算設(shè)備從在緊急操作模式 期間實(shí)現(xiàn)的網(wǎng)絡(luò)數(shù)據(jù)速率開始逐漸增加操作網(wǎng)絡(luò)數(shù)據(jù)速率。在一些示例中,在正常操作模 式期間實(shí)現(xiàn)的一個(gè)網(wǎng)絡(luò)數(shù)據(jù)速率至少是在緊急操作模式期間實(shí)現(xiàn)的一個(gè)網(wǎng)絡(luò)數(shù)據(jù)速率的 兩倍。
[0094] 在一些示例中,計(jì)算設(shè)備基于網(wǎng)絡(luò)度量確定計(jì)算設(shè)備能夠在網(wǎng)絡(luò)業(yè)務(wù)的第一方向 (例如進(jìn)入計(jì)算設(shè)備)上而不是網(wǎng)絡(luò)業(yè)務(wù)的第二方向(例如離開計(jì)算設(shè)備)上從緊急操作 模式返回到正常操作模式。在這些情況下,計(jì)算設(shè)備能夠針對(duì)第一方向上的業(yè)務(wù)返回正常 操作模式,而針對(duì)第二方向上的業(yè)務(wù)仍維持緊急模式。在這些情況中,計(jì)算設(shè)備可以跳過過 程700中的步驟730-775并且從在緊急操作模式期間實(shí)現(xiàn)的網(wǎng)絡(luò)數(shù)據(jù)速率開始逐漸增加第 一方向上的操作網(wǎng)絡(luò)數(shù)據(jù)速率??商^第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試(例如步驟730)和第二網(wǎng) 絡(luò)數(shù)據(jù)速率測(cè)試(例如步驟760)。
[0095] 在一些示例中,計(jì)算設(shè)備放棄向位于計(jì)算設(shè)備外部的服務(wù)器(服務(wù)器440、450或 460)發(fā)送對(duì)計(jì)算設(shè)備的操作模式(例如緊急操作模式)的指示。然而,計(jì)算設(shè)備可以向服 務(wù)器發(fā)送對(duì)從服務(wù)器發(fā)送到計(jì)算設(shè)備的數(shù)據(jù)(例如在與服務(wù)器相關(guān)聯(lián)的流中從服務(wù)器發(fā) 送到計(jì)算設(shè)備的數(shù)據(jù))的操作網(wǎng)絡(luò)數(shù)據(jù)速率(這是在計(jì)算設(shè)備處確定的)的指示。從服務(wù) 器發(fā)送到計(jì)算設(shè)備的數(shù)據(jù)的操作網(wǎng)絡(luò)數(shù)據(jù)速率然后可以在服務(wù)器處或計(jì)算設(shè)備處被執(zhí)行。 在步驟780之后,過程700結(jié)束。
[0096] 根據(jù)一些示例,帶寬管理系統(tǒng)包括兩個(gè)主要組件:估計(jì)(例如在任意給定時(shí)刻確 定多少帶寬是可用的)和分配(例如確定如何在活動(dòng)媒體流之間分割可用帶寬)。
[0097] 在客戶端計(jì)算設(shè)備處或端點(diǎn)處執(zhí)行帶寬算法。端點(diǎn)作出針對(duì)上游和下游方向的所 有涉及帶寬的決定并從而指示各個(gè)服務(wù)器。在一些情況下,為了帶寬管理的目的,在服務(wù)器 之間不存在直接通信或協(xié)調(diào)。
[0098] 端點(diǎn)可以估計(jì)其到一個(gè)服務(wù)器的上游和下游帶寬并假定該估計(jì)對(duì)所有服務(wù)器都 成立。由于端點(diǎn)通常運(yùn)行于有限容量用戶網(wǎng)絡(luò),所以當(dāng)服務(wù)器典型地位于高容量數(shù)據(jù)中心 中時(shí),帶寬瓶頸典型地接近端點(diǎn)并且在到所有服務(wù)器的路徑之間是同樣的。因此,在大多數(shù) 情況下,估計(jì)到任意一個(gè)服務(wù)器的帶寬就足夠了。這一技術(shù)的一個(gè)附帶好處在于只有一個(gè) 服務(wù)器需要向端點(diǎn)提供帶寬管理支持。
[0099] 帶寬估計(jì)的一個(gè)目標(biāo)是確定在任意給定時(shí)刻多少帶寬是可用的。
[0100] 估計(jì)過程可包括短初始估計(jì)步驟,其提供對(duì)網(wǎng)絡(luò)帶寬的快速粗略估計(jì)。
[0101] 在初始估計(jì)步驟之后,估計(jì)算法可操作于以下兩種模式之一:"正常"(指示網(wǎng)絡(luò) 處于其正常狀態(tài))和"緊急"(指示網(wǎng)絡(luò)處于"異常"狀態(tài),比如存在大量交叉業(yè)務(wù)時(shí))???基于網(wǎng)絡(luò)度量(分組丟失和延遲)的觀測(cè)值來選擇任意給定時(shí)刻的操作模式。
[0102] 在正常模式中,算法允許周期性"速率測(cè)試"以測(cè)試可用帶寬。在每個(gè)速率測(cè)試中, 算法稍微增加線上的數(shù)據(jù)速率并觀測(cè)度量,以確定速率增加是否成功。
[0103] 當(dāng)轉(zhuǎn)變到緊急模式時(shí),算法將線上的數(shù)據(jù)速率減半,以便為交叉業(yè)務(wù)留出空間。在 此之后,在一些情況下,算法不再對(duì)其數(shù)據(jù)速率進(jìn)行進(jìn)一步的改變,除非其觀測(cè)到大量的分 組丟失。在一些情況下,算法不再對(duì)這一模式中的延遲加以關(guān)注,這有助于處理基于傳輸控 制協(xié)議(TCP)的交叉業(yè)務(wù)。
[0104] 帶寬分配的一個(gè)目標(biāo)是在活動(dòng)業(yè)務(wù)流(例如音頻、視頻或屏幕共享)之間分割可 用帶寬(如估計(jì)算法所報(bào)告的)。分配器通常只利用估計(jì)帶寬的一部分(例如80%)并且 留出一些未使用的帶寬(例如20% ),以便承擔(dān)瞬時(shí)交叉業(yè)務(wù)。
[0105] 當(dāng)被激活時(shí),每個(gè)流可向帶寬分配器進(jìn)行登記。作為其登記簡(jiǎn)檔的一部分,流規(guī)定 最小帶寬需要。最小帶寬需要可一直被滿足。所有最小需要之和可以對(duì)應(yīng)于供通信應(yīng)用進(jìn) 行操作的最小帶寬需要。
[0106] 在一些情況下,流簡(jiǎn)檔指示流的帶寬消耗通常是突發(fā)的、可變比特率還是恒定比 特率以及還指示流可以消耗的最大帶寬。
[0107] 在其壽命期間,每個(gè)流向分配器表達(dá)當(dāng)前帶寬需求。在一些情況下,當(dāng)前帶寬大于 或等于最小帶寬并且小于或等于簡(jiǎn)檔中規(guī)定的最大帶寬。對(duì)于音頻流(例如互聯(lián)網(wǎng)協(xié)議語 音流),當(dāng)前需求是靜態(tài)的并且等于最小需要。對(duì)于視頻和屏幕共享流,需求隨流上的活動(dòng) 改變。
[0108] 在一些示例中,分配算法按如下進(jìn)行操作。分配算法向每個(gè)活動(dòng)流許可其最小需 要,由于在一些情況中音頻流的需求不會(huì)高于音頻流的最小需要,所以其滿足音頻流。如 果在已經(jīng)滿足最小值之后還剩余任何帶寬,則在屏幕共享和視頻流之間按比例分配剩余帶 寬。如果當(dāng)前不存在任何屏幕共享活動(dòng),則可向視頻流指派多余帶寬。如果屏幕共享流有 正在進(jìn)行的活動(dòng),則可按照其需求給予屏幕共享流一部分多余帶寬??蓪⑹S鄮挿峙浣o 視頻流。
[0109] 在一些示例中,題述技術(shù)涉及智能地確定何時(shí)啟用、部分地啟用或禁用帶寬管理。 在一些情況下,帶寬是不管活動(dòng)流設(shè)置而一直顯式地被管理的,以便確??捎镁W(wǎng)絡(luò)容量處 的最優(yōu)體驗(yàn)。然而,在一些情況下,帶寬估計(jì)算法可能有時(shí)錯(cuò)誤地估計(jì)容量,導(dǎo)致負(fù)面的性 能影響,尤其是在網(wǎng)絡(luò)容量被嚴(yán)重低估且業(yè)務(wù)流被人為限制于低估計(jì)帶寬的情況下。這對(duì) 帶寬管理既有好處又有壞處。究竟是好處大于壞處還是壞處大于好處取決于活動(dòng)的流的屬 性。
[0110] 在一些示例中,這里公開的帶寬管理算法考慮到這一點(diǎn)并巧妙地啟用、禁用或部 分啟用自身。隨著各個(gè)流在會(huì)話中變得活動(dòng)或非活動(dòng),帶寬管理的狀態(tài)可發(fā)生改變。
[0111] 例如,當(dāng)視頻流是活動(dòng)的時(shí),顯式管理帶寬的好處要大于壞處。視頻流通常具有大 的操作帶寬范圍。為了獲得最佳體驗(yàn),可能期望向流提供盡可能多的帶寬而不使網(wǎng)絡(luò)擁塞。 因此,當(dāng)視頻流是活動(dòng)的時(shí),可以使用帶寬管理。
[0112] 當(dāng)只有音頻流和屏幕共享流是活動(dòng)的時(shí),可能存在顯式管理帶寬的好處,這是因 為屏幕共享突發(fā)的帶寬消耗是更可控的并且不對(duì)音頻流引起任何干擾。然而,如果帶寬被 低估,則可引起對(duì)屏幕共享響應(yīng)性(responsiveness)的嚴(yán)重負(fù)面影響,導(dǎo)致較差的用戶體 驗(yàn),尤其是在高容量網(wǎng)絡(luò)中更是如此。從而,可能期望在這些場(chǎng)景中禁用帶寬管理,從而以 可能的簡(jiǎn)短音頻中斷換取快速屏幕共享??蛇x地,在一些情況下,當(dāng)只有音頻和屏幕共享是 活動(dòng)的時(shí),題述技術(shù)不啟用帶寬管理系統(tǒng)。
[0113] 當(dāng)視頻、音頻和屏幕共享在低容量網(wǎng)絡(luò)上都是活動(dòng)的時(shí),在一些情況下,題述技術(shù) 可管理帶寬,同時(shí)進(jìn)行特定修改以改善屏幕共享性能。例如,分配器可以使用更高比例(例 如95%而不是80%)的可用帶寬。在一些情況下,首先,屏幕共享流被許可50%的多余帶 寬(在滿足了所有流的最小需要之后),而剩余的50%則給予視頻。然而,如果屏幕共享活 動(dòng)持續(xù)超過閾值時(shí)段(例如2秒),則許可增加到多余帶寬的85%,只有15%給予視頻。以 上的百分比是示例且可以被其他閾值替代。
[0114] 在一些情況下,可不管可用帶寬向?qū)ζ聊还蚕砹鞯脑S可指定"下限"(例如每秒 350千比特)。這潛在地向屏幕共享流許可多于可用帶寬的帶寬并且迫使TCP處理網(wǎng)絡(luò)內(nèi) 的擁塞控制。然而,因此當(dāng)屏幕共享突發(fā)是活動(dòng)的時(shí),視頻質(zhì)量可能下降。這一權(quán)衡(更快 的屏幕共享針對(duì)下降的視頻質(zhì)量)可導(dǎo)致低容量網(wǎng)絡(luò)上的最佳總體用戶體驗(yàn)。可針對(duì)屏幕 共享流部分地禁止帶寬管理。
[0115] 在緊急模式期間,帶寬估計(jì)算法使數(shù)據(jù)速率減少一部分(例如一半或更多)。當(dāng)度 量指示網(wǎng)絡(luò)狀態(tài)已經(jīng)返回到正常時(shí),算法可切換回到正常模式。此時(shí),算法首先以緊急模式 前速率進(jìn)行速率測(cè)試。如果該測(cè)試成功,則完成到緊急模式前性能的快速返回。如果速率 測(cè)試失敗,則算法測(cè)量失敗的測(cè)試期間的有效吞吐量(其可低于所嘗試的速率)。算法然后 以有效吞吐量速率嘗試另一速率測(cè)試。如果該測(cè)試成功,則可導(dǎo)致更快地趨于網(wǎng)絡(luò)的新狀 態(tài)。如果有效吞吐量速率測(cè)試也失敗,則算法回退到"慢提升"策略,其中從緊急速率開始 逐漸增加速率。
[0116] 如果另一方向(對(duì)于下游估計(jì)來講是上游,反之亦然)仍處于緊急模式,則算法可 根據(jù)一些實(shí)現(xiàn)跳過快速恢復(fù)并且直接嘗試慢提升。根據(jù)一些示例,由于度量傳遞可被相反 方向上的緊急狀況不利地影響,所以需要倍加小心。
[0117] 圖8概念性地示出了實(shí)現(xiàn)了題述技術(shù)的一些實(shí)現(xiàn)的電子系統(tǒng)800。例如,可使用電 子系統(tǒng)800的布置實(shí)現(xiàn)以下中的一個(gè)或多個(gè):通信設(shè)備120A和120B、通信服務(wù)器150、音頻 橋160、視頻服務(wù)器170、客戶端計(jì)算設(shè)備410、音頻通信服務(wù)器440、視頻通信服務(wù)器450或 屏幕共享服務(wù)器460。電子系統(tǒng)800可以是計(jì)算機(jī)(例如移動(dòng)電話、PDA)或任意其他類型 的電子設(shè)備。這種電子系統(tǒng)包括各種類型的計(jì)算機(jī)可讀介質(zhì)和用于各種其他類型的計(jì)算機(jī) 可讀介質(zhì)的接口。電子系統(tǒng)800包括總線805、處理單元810、系統(tǒng)存儲(chǔ)器815、只讀存儲(chǔ)器 820、永久存儲(chǔ)設(shè)備825、輸入設(shè)備接口 830、輸出設(shè)備接口 835和網(wǎng)絡(luò)接口 840。
[0118] 總線805統(tǒng)一表示通信地連接電子系統(tǒng)800的多個(gè)內(nèi)部設(shè)備的所有系統(tǒng)、外設(shè)和 芯片組總線。例如,總線805通信地將處理單元810與只讀存儲(chǔ)器820、系統(tǒng)存儲(chǔ)器850和 永久存儲(chǔ)設(shè)備825連接在一起。
[0119] 處理單元810從這些多個(gè)存儲(chǔ)器單元獲取要執(zhí)行的指令和要處理的數(shù)據(jù),以便執(zhí) 行題述技術(shù)的過程。處理單元在不同實(shí)現(xiàn)中可以是單個(gè)處理器或多核處理器。
[0120] 只讀存儲(chǔ)器(ROM) 820存儲(chǔ)處理單元810和電子系統(tǒng)的其他模塊所需的靜態(tài)數(shù)據(jù) 和指令。另一方面,永久存儲(chǔ)設(shè)備825是讀寫存儲(chǔ)器設(shè)備。該設(shè)備是非易失存儲(chǔ)單元,其即 使在電子系統(tǒng)800關(guān)閉時(shí)也存儲(chǔ)指令和數(shù)據(jù)。題述技術(shù)的一些實(shí)現(xiàn)使用大容量存儲(chǔ)設(shè)備 (例如磁或光盤及其相應(yīng)的盤驅(qū)動(dòng)器)作為永久存儲(chǔ)設(shè)備825。
[0121] 其他實(shí)現(xiàn)使用可移除存儲(chǔ)設(shè)備(例如軟盤、閃存驅(qū)動(dòng)器及其相應(yīng)磁盤驅(qū)動(dòng)器)作 為永久存儲(chǔ)設(shè)備825。像永久存儲(chǔ)設(shè)備825 -樣,系統(tǒng)存儲(chǔ)器815是讀寫存儲(chǔ)器設(shè)備。然 而,與存儲(chǔ)設(shè)備825不同的是,系統(tǒng)存儲(chǔ)器815是易失性的讀寫存儲(chǔ)器,比如隨機(jī)存取存儲(chǔ) 器。系統(tǒng)存儲(chǔ)器815存儲(chǔ)處理器在運(yùn)行時(shí)間需要的一些指令和數(shù)據(jù)。在一些實(shí)現(xiàn)中,將題 述技術(shù)的過程存儲(chǔ)在系統(tǒng)存儲(chǔ)器815、永久存儲(chǔ)設(shè)備825或只讀存儲(chǔ)器820中。例如,各個(gè) 存儲(chǔ)器單元包括根據(jù)一些實(shí)現(xiàn)用于帶寬分配和估計(jì)的指令。處理單元810從這些多個(gè)存儲(chǔ) 器單元獲取要執(zhí)行的指令和要處理的數(shù)據(jù),以便執(zhí)行一些實(shí)現(xiàn)的過程。
[0122] 總線805還連接到輸入和輸出設(shè)備接口 830和835。輸入設(shè)備接口 830使用戶能 夠向電子系統(tǒng)傳送信息并選擇命令。與輸入設(shè)備接口 830-起使用的輸入設(shè)備包括例如字 母數(shù)字鍵盤和定點(diǎn)設(shè)備(也稱為"光標(biāo)控制設(shè)備")。輸出設(shè)備接口 835使得能夠例如顯示 由電子系統(tǒng)800生成的圖像。與輸出設(shè)備接口 835 -起使用的輸出設(shè)備包括例如打印機(jī)和 顯示設(shè)備,例如陰極射線管(CRT)或液晶顯示器(LCD)。一些實(shí)現(xiàn)包括諸如觸摸屏等的設(shè) 備,其既充當(dāng)輸入設(shè)備又充當(dāng)輸出設(shè)備。
[0123] 最后,如圖8所示,總線805還通過網(wǎng)絡(luò)接口 840將電子系統(tǒng)800耦合到網(wǎng)絡(luò)(未 示出)。通過這種方式,電子系統(tǒng)800可以是計(jì)算機(jī)網(wǎng)絡(luò)(例如局域網(wǎng)(LAN)、廣域網(wǎng)(WAN) 或內(nèi)聯(lián)網(wǎng))或網(wǎng)絡(luò)網(wǎng)絡(luò)(例如因特網(wǎng))的一部分。電子系統(tǒng)800的任何或全部組件可結(jié)合 題述技術(shù)使用。
[0124] 上述特征和應(yīng)用可被實(shí)現(xiàn)為軟件過程,其被規(guī)定為記錄在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì) (也被稱為就計(jì)算機(jī)可讀介質(zhì))上的指令集合。當(dāng)由一個(gè)或多個(gè)處理單元(例如一個(gè)或多 個(gè)處理器、處理器的內(nèi)核或其他處理單元)執(zhí)行這些指令時(shí),它們使處理單元執(zhí)行指令中 指示的動(dòng)作。計(jì)算機(jī)可讀介質(zhì)的示例包括但不限于CD-ROM、閃存驅(qū)動(dòng)器、RAM芯片、硬盤驅(qū) 動(dòng)器、EPROM等。計(jì)算機(jī)可讀介質(zhì)不包括無線地或通過有線連接傳遞的載波和電子信號(hào)。
[0125] 在本說明書中,術(shù)語"軟件"旨在包括位于只讀存儲(chǔ)器中的固件或存儲(chǔ)在磁存儲(chǔ)設(shè) 備或閃存存儲(chǔ)設(shè)備(例如固態(tài)驅(qū)動(dòng)器)中的應(yīng)用,其可被讀取到存儲(chǔ)器中供處理器處理。此 夕卜,在一些實(shí)現(xiàn)中,多個(gè)軟件技術(shù)在保持不同軟件技術(shù)的同時(shí)可被實(shí)現(xiàn)為較大程序的子部 分。在一些實(shí)現(xiàn)中,多個(gè)軟件技術(shù)也可被實(shí)現(xiàn)為分離的程序。最后,一起實(shí)現(xiàn)這里描述的軟 件技術(shù)的分離程序的任何組合在題述技術(shù)的范圍內(nèi)。在一些實(shí)現(xiàn)中,軟件程序(當(dāng)在一個(gè) 或多個(gè)電子系統(tǒng)上被安裝以便進(jìn)行操作時(shí))限定實(shí)施和執(zhí)行軟件程序的操作的一個(gè)或多 個(gè)具體的機(jī)器實(shí)現(xiàn)。
[0126] 計(jì)算機(jī)程序(也稱為程序、軟件、軟件應(yīng)用、腳本或代碼)可用任意形式的編程語 言來編寫,包括匯編或解釋語言、說明或過程語言,并且其可被部署為任意的形式,包括獨(dú) 立程序或模塊、組件、子例程、對(duì)象或適于在計(jì)算環(huán)境中使用的其他單元。計(jì)算機(jī)程序可以 但不必對(duì)應(yīng)于文件系統(tǒng)中的文件。程序可存儲(chǔ)在保存其他程序或數(shù)據(jù)(例如存儲(chǔ)在標(biāo)記語 言文檔中的一個(gè)或多個(gè)腳本)的文件的一部分中、在專用于所考慮的程序的單一文件中或 在多個(gè)協(xié)調(diào)文件(例如存儲(chǔ)一個(gè)或多個(gè)模塊、子程序或部分代碼的文件)中。計(jì)算機(jī)程序 可被部署為在一個(gè)計(jì)算機(jī)上或在位于一個(gè)站點(diǎn)或分布在多個(gè)站點(diǎn)且由通信網(wǎng)絡(luò)互連的多 個(gè)計(jì)算機(jī)上執(zhí)行。
[0127] 以上描述的這些功能可被實(shí)現(xiàn)在數(shù)字電子電路、計(jì)算機(jī)軟件、固件或硬件中??墒?用一個(gè)或多個(gè)計(jì)算機(jī)程序產(chǎn)品實(shí)現(xiàn)技術(shù)??删幊烫幚砥骱陀?jì)算機(jī)可被包括在移動(dòng)設(shè)備中或 封裝為移動(dòng)設(shè)備。可由一個(gè)或多個(gè)可編程處理器和由一個(gè)或多個(gè)可編程邏輯電路來執(zhí)行過 程和邏輯流??赏ㄟ^通信網(wǎng)絡(luò)互連通用和專用計(jì)算設(shè)備和存儲(chǔ)設(shè)備。
[0128] 一些實(shí)現(xiàn)包括電子組件,例如微處理器、在機(jī)器可讀或計(jì)算機(jī)可讀介質(zhì)(備選地, 被稱為計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)、機(jī)器可讀介質(zhì)或機(jī)器可讀存儲(chǔ)介質(zhì))中存儲(chǔ)計(jì)算機(jī)程序指 令的存儲(chǔ)設(shè)備和存儲(chǔ)器。這種計(jì)算機(jī)可讀介質(zhì)的一些示例包括RAM、ROM、只讀壓縮光盤 (⑶-ROM)、可記錄壓縮光盤(⑶-R)、可重寫壓縮光盤(⑶-RW)、只讀數(shù)字多功能光盤(例如 DVD-ROM、雙層 DVD-ROM)、多種可記錄 / 可重寫 DVD (例如 DVD-RAM、DVD-RW、DVD+RW 等)、閃 存存儲(chǔ)器(例如SD卡、微型SD卡、微SD卡等)、磁或固態(tài)硬盤驅(qū)動(dòng)器、只讀和可記錄:藍(lán)光?: 光盤、超高密度光盤、任意其他光或磁介質(zhì)和軟盤。計(jì)算機(jī)可讀介質(zhì)可存儲(chǔ)可由至少一個(gè)處 理單元執(zhí)行的包括用于執(zhí)行多個(gè)操作的指令集合的計(jì)算機(jī)程序。計(jì)算機(jī)程序或計(jì)算機(jī)代碼 的示例包括機(jī)器代碼(例如由編譯器制作)和文件(包括由計(jì)算機(jī)、電子組件或微處理器 使用解譯器執(zhí)行的高級(jí)別代碼)。
[0129] 雖然上述討論主要涉及執(zhí)行軟件的微處理器和多核處理器,但是一些實(shí)現(xiàn)是由一 個(gè)或多個(gè)集成電路執(zhí)行的,例如專用集成電路(ASIC)或現(xiàn)場(chǎng)可編程門陣列(FPGA)。在一些 實(shí)現(xiàn)中,這種集成電路執(zhí)行存儲(chǔ)在電路本身上的指令。
[0130] 說明書和本申請(qǐng)中的任意權(quán)利要求中使用的術(shù)語"計(jì)算機(jī)"、"服務(wù)器"、"處理器" 和"存儲(chǔ)器"都指代電子設(shè)備或其他技術(shù)設(shè)備。這些術(shù)語不包括人或人群。為了本說明書 的目的,術(shù)語顯示或正在顯示意思是在電子設(shè)備上顯示。說明書和本申請(qǐng)中的任意權(quán)利要 求中使用的術(shù)語"計(jì)算機(jī)可讀介質(zhì)"整體限于有形的物理對(duì)象,其存儲(chǔ)可由計(jì)算機(jī)讀取的形 式的信息。這些術(shù)語不包括任意無線信號(hào)、有線下載信號(hào)、和任意其他短暫信號(hào)。
[0131] 為了提供與用戶的交互,對(duì)本說明書中所述的主題的實(shí)現(xiàn)可以實(shí)現(xiàn)于計(jì)算機(jī)上, 該計(jì)算機(jī)具有顯示設(shè)備(例如,CRT(陰極射線管)或LCD(液晶顯示器)監(jiān)控器)(以用于 向用戶顯示信息)以及鍵盤和定點(diǎn)設(shè)備(例如鼠標(biāo)或軌跡球)(用戶可通過其向計(jì)算機(jī)提 供輸入)。也可使用其他類型的設(shè)備來提供與用戶的交互,例如向用戶提供的反饋可以是任 意形式的感覺反饋,例如,視覺反饋、聽覺反饋或觸覺反饋;以及可采用任何形式從用戶接 收輸入,包括聲學(xué)、語言或觸覺輸入。此外,計(jì)算機(jī)可通過向由用戶使用的設(shè)備發(fā)送文檔或 從其接收文檔來與用戶進(jìn)行交互;例如,通過響應(yīng)于從用戶的客戶端設(shè)備上的網(wǎng)絡(luò)瀏覽器 接收的請(qǐng)求向網(wǎng)絡(luò)瀏覽器發(fā)送網(wǎng)頁。
[0132] 本說明書中所述的主題可實(shí)現(xiàn)于計(jì)算系統(tǒng)中,該計(jì)算系統(tǒng)包括后端組件(例如數(shù) 據(jù)服務(wù)器)、或包括中間件組件(例如應(yīng)用服務(wù)器)、或包括前端組件(例如客戶端計(jì)算機(jī), 該客戶端計(jì)算機(jī)具有用戶可用來與本說明書中所述的主題的實(shí)現(xiàn)進(jìn)行交互的圖形用戶界 面或網(wǎng)絡(luò)瀏覽器)、或一個(gè)或多個(gè)這種后端、中間件或前端組件的任意組合。系統(tǒng)組件可被 任意形式或介質(zhì)的數(shù)字?jǐn)?shù)據(jù)通信(例如通信網(wǎng)絡(luò))互連。通信網(wǎng)絡(luò)的示例包括局域網(wǎng)(LAN) 和廣域網(wǎng)(WAN)、互連網(wǎng)絡(luò)(例如因特網(wǎng))和對(duì)等網(wǎng)絡(luò)(例如專用對(duì)等網(wǎng)絡(luò))。
[0133] 計(jì)算系統(tǒng)可包括客戶端和服務(wù)器??蛻舳撕头?wù)器一般彼此遠(yuǎn)離且通常通過通 信網(wǎng)絡(luò)交互。客戶端和服務(wù)器之間的關(guān)系源于運(yùn)行于相應(yīng)計(jì)算機(jī)上的并且彼此具有客戶 端-服務(wù)器關(guān)系的計(jì)算機(jī)程序。在所公開的主題的一些方面中,服務(wù)器(例如為了向與客 戶端設(shè)備交互的用戶顯示數(shù)據(jù)并且從其接收用戶輸入)向客戶端設(shè)備發(fā)送數(shù)據(jù)(例如HTML 頁面)??稍诜?wù)器處從客戶端設(shè)備接收在客戶端設(shè)備處生成的數(shù)據(jù)(例如用戶交互的結(jié) 果)。
[0134] 應(yīng)該理解的是,所公開的過程中的步驟的具體順序或?qū)蛹?jí)是示例方法的示出。基 于設(shè)計(jì)偏好,應(yīng)該理解的是,可以對(duì)過程中的步驟的具體順序或?qū)蛹?jí)重新進(jìn)行安排,或執(zhí)行 所有示出的步驟。一些步驟可同時(shí)執(zhí)行。例如,在一些情況下,多任務(wù)并行處理可以是有利 的。此外,上文示出的各個(gè)系統(tǒng)組件的分離不應(yīng)被理解為需要這一分離,應(yīng)該理解的是,所 描述的程序組件和系統(tǒng)一般可被集成在單個(gè)軟件產(chǎn)品中或封裝成多個(gè)軟件產(chǎn)品。
[0135] 對(duì)這些方面的各種修改是明顯的,且這里所限定的一般原理可適用于其他方面。 從而,權(quán)利要求不限于這里示出的方面,而是符合與書面權(quán)利要求相一致的的完整范圍,其 中除非特別表明,否則對(duì)單數(shù)形式的元素的提及并不意味著"一個(gè)且僅是一個(gè)",而是"一個(gè) 或多個(gè)"。除非另外表明,否則術(shù)語"一些"指一個(gè)或多個(gè)。男性代詞(例如他的)包括女 性和中性(例如她的和它的),反之亦然。標(biāo)題和小標(biāo)題(如果有的話)只是為了方便而使 用的而并不限制題述技術(shù)。
[0136] 例如,短語"方面"并不意味著所述方面對(duì)題述技術(shù)是必不可少的或所述方面適用 于題述技術(shù)的所有配置。涉及一個(gè)方面的公開可以適用于所有配置或一個(gè)或多個(gè)配置。例 如,短語方面可指一個(gè)或多個(gè)方面,反之亦然。例如,短語"配置"并不意味著這一配置對(duì)題 述技術(shù)是必不可少的或所述配置適用于題述技術(shù)的所有配置。涉及一個(gè)配置的公開可以適 用于所有配置或一個(gè)或多個(gè)配置。例如,短語配置可指一個(gè)或多個(gè)配置,反之亦然。
[0137] 這里使用的詞語"示例性"意思是"充當(dāng)示例或說明"。這里描述為"示例性"的任 意方面或設(shè)計(jì)不必被理解為比其他方面或設(shè)計(jì)更優(yōu)選或更有利。
【權(quán)利要求】
1. 一種用于管理通信流的帶寬利用的方法,所述方法包括: 在計(jì)算設(shè)備處經(jīng)由通信應(yīng)用中的多個(gè)活動(dòng)流進(jìn)行通信,其中所述多個(gè)活動(dòng)流中的每一 個(gè)具有類型; 基于所述多個(gè)活動(dòng)流中的至少一個(gè)活動(dòng)流的類型來確定是啟用還是禁用所述通信應(yīng) 用內(nèi)的帶寬管理; 當(dāng)確定啟用所述通信應(yīng)用內(nèi)的帶寬管理時(shí): 估計(jì)所述計(jì)算設(shè)備處的總可用帶寬; 基于所述多個(gè)活動(dòng)流中的每一個(gè)活動(dòng)流的類型,為所述多個(gè)活動(dòng)流中的每一個(gè)確定請(qǐng) 求帶寬;以及 基于所述請(qǐng)求帶寬,在所述計(jì)算設(shè)備處,在所述多個(gè)活動(dòng)流之間經(jīng)由所述通信應(yīng)用動(dòng) 態(tài)地分配所述總可用帶寬的至少一部分;以及 當(dāng)確定禁用所述通信應(yīng)用內(nèi)的帶寬管理時(shí): 放棄在所述計(jì)算設(shè)備處在所述多個(gè)活動(dòng)流之間經(jīng)由所述通信應(yīng)用動(dòng)態(tài)地分配帶寬。
2. 根據(jù)權(quán)利要求1所述的方法,其中,流的請(qǐng)求帶寬包括所述流的最小請(qǐng)求帶寬和對(duì) 所述流的附加帶寬的期望。
3. 根據(jù)權(quán)利要求1所述的方法,其中,所述多個(gè)活動(dòng)流中的每一個(gè)活動(dòng)流的類型的特 征在于以下各項(xiàng)中的一個(gè)或多個(gè):(i)固定或可變帶寬需求、(ii)優(yōu)先級(jí)級(jí)別、(iii)突發(fā) 或平滑的業(yè)務(wù)、或(iv)最大請(qǐng)求帶寬值。
4. 根據(jù)權(quán)利要求3所述的方法,其中,基于所述多個(gè)活動(dòng)流中的至少一個(gè)活動(dòng)流的類 型來確定是啟用還是禁用所述通信應(yīng)用內(nèi)的帶寬管理包括: 在所述多個(gè)活動(dòng)流包括具有可變帶寬需求和超過最大請(qǐng)求帶寬閾值的最大請(qǐng)求帶寬 值的第一類型的流的情況下,確定啟用所述通信應(yīng)用內(nèi)的帶寬管理;以及 在所述多個(gè)活動(dòng)流缺少所述第一類型的流的情況下,確定禁用所述通信應(yīng)用內(nèi)的帶寬 管理。
5. 根據(jù)權(quán)利要求4所述的方法,其中,所述第一類型的流包括活動(dòng)視頻流。
6. 根據(jù)權(quán)利要求3所述的方法,其中,所述多個(gè)活動(dòng)流包括以下各項(xiàng)中的一個(gè)或多個(gè): 具有音頻類型的活動(dòng)音頻流、具有視頻類型的活動(dòng)視頻流、以及具有屏幕共享類型的活動(dòng) 屏幕共享流。
7. 根據(jù)權(quán)利要求6所述的方法,還包括: 向所述多個(gè)活動(dòng)流中的每一個(gè)至少指派最小請(qǐng)求帶寬; 基于所述總可用帶寬的所述至少一部分與最小請(qǐng)求帶寬之和之間的差來確定剩余帶 寬;以及 在所述活動(dòng)視頻流與所述活動(dòng)屏幕共享流之間動(dòng)態(tài)地分配所述剩余帶寬。
8. 根據(jù)權(quán)利要求7所述的方法,還包括: 確定屏幕共享活動(dòng)持續(xù)閾值時(shí)段;以及 響應(yīng)于所述屏幕共享活動(dòng)持續(xù)所述閾值時(shí)段,增加向所述活動(dòng)屏幕共享流的剩余帶寬 分配并減少向所述活動(dòng)視頻流的剩余帶寬分配。
9. 根據(jù)權(quán)利要求6所述的方法,還包括: 不管所估計(jì)的總可用帶寬如何,每當(dāng)所述活動(dòng)屏幕共享流提出對(duì)下限帶寬的請(qǐng)求時(shí), 向所述活動(dòng)屏幕共享流指派所述下限帶寬。
10. 根據(jù)權(quán)利要求1所述的方法,其中,基于所述請(qǐng)求帶寬在所述計(jì)算設(shè)備處在所述多 個(gè)活動(dòng)流之間經(jīng)由所述通信應(yīng)用動(dòng)態(tài)地分配所述總可用帶寬的至少一部分包括: 向所述多個(gè)活動(dòng)流中的每一個(gè)至少指派最小請(qǐng)求帶寬; 基于所述總可用帶寬的所述至少一部分與最小請(qǐng)求帶寬之和之間的差來確定剩余帶 寬;以及 基于對(duì)所述多個(gè)活動(dòng)流中的至少一個(gè)活動(dòng)流的附加帶寬的期望和所述多個(gè)活動(dòng)流中 的所述至少一個(gè)活動(dòng)流的類型,動(dòng)態(tài)地分配所述剩余帶寬。
11. 一種用于管理帶寬利用的非瞬時(shí)機(jī)器可讀介質(zhì),所述機(jī)器可讀介質(zhì)存儲(chǔ)用于執(zhí)行 以下操作的指令: 經(jīng)由在連接到網(wǎng)絡(luò)的計(jì)算機(jī)器處執(zhí)行的通信應(yīng)用來監(jiān)控一個(gè)或多個(gè)網(wǎng)絡(luò)度量,其中所 述通信應(yīng)用被配置為在正常操作模式或緊急操作模式中運(yùn)行; 基于所監(jiān)控的一個(gè)或多個(gè)網(wǎng)絡(luò)度量來估計(jì)所述計(jì)算機(jī)器處的總可用帶寬; 以第一網(wǎng)絡(luò)數(shù)據(jù)速率在所述正常操作模式中運(yùn)行所述通信應(yīng)用; 基于所監(jiān)控的一個(gè)或多個(gè)網(wǎng)絡(luò)度量進(jìn)入緊急操作模式; 基于所監(jiān)控的一個(gè)或多個(gè)網(wǎng)絡(luò)度量的改變來確定所述通信應(yīng)用能夠針對(duì)第一方向上 的通信返回所述正常操作模式; 針對(duì)所述第一方向上的通信進(jìn)入所述正常操作模式; 以所述第一網(wǎng)絡(luò)數(shù)據(jù)速率運(yùn)行第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試; 如果所述第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試成功,則將所述第一方向上的當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率設(shè)置 為所述第一網(wǎng)絡(luò)數(shù)據(jù)速率;以及 如果所述第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試失敗,則: 測(cè)量在所述第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試期間的有效吞吐量速率; 以所述有效吞吐量速率運(yùn)行第二網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試; 如果所述第二網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試成功,則將所述當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率調(diào)整為所述有效吞 吐量速率;以及 如果所述第二網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試失敗,則從在所述緊急操作模式期間實(shí)現(xiàn)的網(wǎng)絡(luò)數(shù)據(jù) 速率開始逐漸增加所述當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率。
12. 根據(jù)權(quán)利要求11所述的非瞬時(shí)機(jī)器可讀介質(zhì),其中,用于估計(jì)所述計(jì)算機(jī)器處的 總可用帶寬的指令包括用于執(zhí)行以下操作的指令: 基于所述計(jì)算機(jī)器與針對(duì)第一活動(dòng)流的第一服務(wù)器之間的數(shù)據(jù)傳輸,計(jì)算所述計(jì)算機(jī) 器與所述第一服務(wù)器之間的上游和下游帶寬;以及 估計(jì)所述計(jì)算機(jī)器與針對(duì)第二活動(dòng)流的第二服務(wù)器之間的上游和下游帶寬與所計(jì)算 的所述計(jì)算機(jī)器與所述第一服務(wù)器之間的上游或下游帶寬相對(duì)應(yīng)。
13. 根據(jù)權(quán)利要求11所述的非瞬時(shí)機(jī)器可讀介質(zhì),其中,用于進(jìn)入緊急操作模式的指 令包括用于執(zhí)行以下操作的指令: 將操作網(wǎng)絡(luò)數(shù)據(jù)速率設(shè)置為與所述緊急操作模式相對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)速率; 忽略分組延遲;以及 當(dāng)檢測(cè)到分組丟失率高于分組丟失的第二閾值量時(shí),進(jìn)一步減小所述操作網(wǎng)絡(luò)數(shù)據(jù)速 率。
14. 根據(jù)權(quán)利要求11所述的非瞬時(shí)機(jī)器可讀介質(zhì),其中,用于進(jìn)入所述正常操作模式 的指令包括用于執(zhí)行以下操作的指令: 以超出所述當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率的網(wǎng)絡(luò)數(shù)據(jù)速率運(yùn)行網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試;以及 如果以超出所述當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率的所述網(wǎng)絡(luò)數(shù)據(jù)速率運(yùn)行的所述網(wǎng)絡(luò)數(shù)據(jù)速率測(cè) 試成功,則增加所述當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率。
15. 根據(jù)權(quán)利要求11所述的非瞬時(shí)機(jī)器可讀介質(zhì),所述機(jī)器可讀介質(zhì)還存儲(chǔ)用于執(zhí)行 以下操作的指令: 基于所估計(jì)的總可用帶寬或所監(jiān)控的一個(gè)或多個(gè)網(wǎng)絡(luò)度量,確定所述通信應(yīng)用不能針 對(duì)第二方向上的通信返回所述正常操作模式,其中所述第一方向是進(jìn)入所述計(jì)算機(jī)器或離 開所述計(jì)算機(jī)器中的第一個(gè),所述第二方向是進(jìn)入所述計(jì)算機(jī)器或離開所述計(jì)算機(jī)器中不 同的第二個(gè); 針對(duì)所述第二方向上的通信,維持所述緊急操作模式;以及 針對(duì)所述第一方向上的通信,從在所述緊急操作模式期間實(shí)現(xiàn)的網(wǎng)絡(luò)數(shù)據(jù)速率開始逐 漸增加所述當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率,同時(shí)針對(duì)所述第二方向上的通信,將所述當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速 率維持在在所述緊急操作模式期間實(shí)現(xiàn)的所述網(wǎng)絡(luò)數(shù)據(jù)速率。
16. 根據(jù)權(quán)利要求11所述的非瞬時(shí)機(jī)器可讀介質(zhì),所述機(jī)器可讀介質(zhì)還存儲(chǔ)用于執(zhí)行 以下操作的指令: 放棄向所述計(jì)算機(jī)器外部的與活動(dòng)流相關(guān)聯(lián)的服務(wù)器發(fā)送對(duì)所述通信應(yīng)用的操作模 式的指示;以及 向與所述活動(dòng)流相關(guān)聯(lián)的所述服務(wù)器發(fā)送對(duì)從所述服務(wù)器到所述計(jì)算機(jī)器的活動(dòng)流 中的數(shù)據(jù)傳輸?shù)漠?dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率的指示。
17. 根據(jù)權(quán)利要求11所述的非瞬時(shí)機(jī)器可讀介質(zhì),其中,所監(jiān)控的一個(gè)或多個(gè)網(wǎng)絡(luò)度 量包括以下各項(xiàng)中的一個(gè)或多個(gè):分組丟失率、分組延遲率、或網(wǎng)絡(luò)有效吞吐量速率。
18. -種用于管理帶寬利用的系統(tǒng),所述系統(tǒng)包括: 一個(gè)或多個(gè)處理器; 網(wǎng)絡(luò)接口,用于連接到網(wǎng)絡(luò);以及 存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)用于執(zhí)行以下操作的指令: 經(jīng)由通過所述一個(gè)或多個(gè)處理器執(zhí)行的通信應(yīng)用來監(jiān)控一個(gè)或多個(gè)網(wǎng)絡(luò)度量,其中所 述通信應(yīng)用被配置為在正常操作模式或緊急操作模式中運(yùn)行; 基于所監(jiān)控的一個(gè)或多個(gè)網(wǎng)絡(luò)度量來估計(jì)所述網(wǎng)絡(luò)中的總可用帶寬; 以第一網(wǎng)絡(luò)數(shù)據(jù)速率在所述正常操作模式中運(yùn)行所述通信應(yīng)用; 基于所監(jiān)控的一個(gè)或多個(gè)網(wǎng)絡(luò)度量進(jìn)入緊急操作模式; 基于所監(jiān)控的一個(gè)或多個(gè)網(wǎng)絡(luò)度量的改變,確定所述通信應(yīng)用能夠針對(duì)第一方向上的 通信返回所述正常操作模式; 針對(duì)所述第一方向上的通信進(jìn)入所述正常操作模式; 以所述第一網(wǎng)絡(luò)數(shù)據(jù)速率運(yùn)行第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試; 如果所述第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試成功,則將所述第一方向上的當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率設(shè)置 為所述第一網(wǎng)絡(luò)數(shù)據(jù)速率;以及 如果所述第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試失敗,則: 測(cè)量在所述第一網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試期間的有效吞吐量速率; 以所述有效吞吐量速率運(yùn)行第二網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試; 如果所述第二網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試成功,則將所述當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率調(diào)整為所述有效吞 吐量速率;以及 如果所述第二網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試失敗,則從在所述緊急操作模式期間實(shí)現(xiàn)的網(wǎng)絡(luò)數(shù)據(jù) 速率開始逐漸增加所述當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率。
19. 根據(jù)權(quán)利要求18所述的系統(tǒng),其中,用于估計(jì)所述網(wǎng)絡(luò)中的總可用帶寬的指令包 括用于執(zhí)行以下操作的指令: 基于所述網(wǎng)絡(luò)接口與第一服務(wù)器之間的數(shù)據(jù)傳輸,計(jì)算所述網(wǎng)絡(luò)接口與所述第一服務(wù) 器之間的上游和下游帶寬;以及 估計(jì)所述網(wǎng)絡(luò)接口與針對(duì)第二活動(dòng)流的第二服務(wù)器之間的上游和下游帶寬與所計(jì)算 的所述網(wǎng)絡(luò)接口與所述第一服務(wù)器之間的上游或下游帶寬相對(duì)應(yīng)。
20. 根據(jù)權(quán)利要求18所述的系統(tǒng),其中,用于進(jìn)入緊急操作模式的指令包括用于執(zhí)行 以下操作的指令: 將操作網(wǎng)絡(luò)數(shù)據(jù)速率設(shè)置為與所述緊急操作模式相對(duì)應(yīng)的網(wǎng)絡(luò)數(shù)據(jù)速率; 忽略分組延遲;以及 當(dāng)檢測(cè)到分組丟失率高于分組丟失的第二閾值量時(shí),進(jìn)一步減小所述操作網(wǎng)絡(luò)數(shù)據(jù)速 率。
21. 根據(jù)權(quán)利要求18所述的系統(tǒng),其中,用于進(jìn)入所述正常操作模式的指令包括用于 執(zhí)行以下操作的指令: 以超出所述當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率的網(wǎng)絡(luò)數(shù)據(jù)速率運(yùn)行網(wǎng)絡(luò)數(shù)據(jù)速率測(cè)試;以及 如果以超出所述當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率的所述網(wǎng)絡(luò)數(shù)據(jù)速率運(yùn)行的所述網(wǎng)絡(luò)數(shù)據(jù)速率測(cè) 試成功,則增加所述當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率。
22. 根據(jù)權(quán)利要求18所述的系統(tǒng),所述存儲(chǔ)器還存儲(chǔ)用于執(zhí)行以下操作的指令: 基于所估計(jì)的總可用帶寬或所監(jiān)控的一個(gè)或多個(gè)網(wǎng)絡(luò)度量,確定所述通信應(yīng)用不能針 對(duì)第二方向上的通信返回所述正常操作模式,其中所述第一方向是進(jìn)入所述網(wǎng)絡(luò)接口或離 開所述網(wǎng)絡(luò)接口中的第一個(gè),所述第二方向是進(jìn)入所述計(jì)算機(jī)器或離開所述計(jì)算機(jī)器中不 同的第二個(gè); 針對(duì)所述第二方向上的通信,維持所述緊急操作模式;以及 針對(duì)所述第一方向上的通信,從在所述緊急操作模式期間實(shí)現(xiàn)的網(wǎng)絡(luò)數(shù)據(jù)速率開始逐 漸增加所述當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率,同時(shí)針對(duì)所述第二方向上的通信,將所述當(dāng)前網(wǎng)絡(luò)數(shù)據(jù)速 率維持在在所述緊急操作模式期間實(shí)現(xiàn)的所述網(wǎng)絡(luò)數(shù)據(jù)速率。
23. 根據(jù)權(quán)利要求18所述的系統(tǒng),所述存儲(chǔ)器還存儲(chǔ)用于執(zhí)行以下操作的指令: 放棄向與活動(dòng)流相關(guān)聯(lián)的服務(wù)器發(fā)送對(duì)所述通信應(yīng)用的操作模式的指示;以及 向與所述活動(dòng)流相關(guān)聯(lián)的所述服務(wù)器發(fā)送對(duì)從所述服務(wù)器到所述網(wǎng)絡(luò)接口的活動(dòng)流 中的數(shù)據(jù)傳輸?shù)漠?dāng)前網(wǎng)絡(luò)數(shù)據(jù)速率的指示。
24. 根據(jù)權(quán)利要求18所述的系統(tǒng),其中,所監(jiān)控的一個(gè)或多個(gè)網(wǎng)絡(luò)度量包括以下各項(xiàng) 中的一個(gè)或多個(gè):分組丟失率、分組延遲率、或網(wǎng)絡(luò)有效吞吐量速率。
【文檔編號(hào)】H04L12/70GK104396215SQ201380034733
【公開日】2015年3月4日 申請(qǐng)日期:2013年4月26日 優(yōu)先權(quán)日:2012年5月1日
【發(fā)明者】基馬亞·米塔爾, 艾伯特·亞歷山德羅夫, 薩沙·屈梅爾, 蘇妮塔·比爾拉姆, 克里希納·拉馬錢德蘭 申請(qǐng)人:思杰系統(tǒng)有限公司