TWI505673B - 用於來自電子裝置中之應用程式的網路封包之流量控制 - Google Patents

用於來自電子裝置中之應用程式的網路封包之流量控制 Download PDF

Info

Publication number
TWI505673B
TWI505673B TW102116262A TW102116262A TWI505673B TW I505673 B TWI505673 B TW I505673B TW 102116262 A TW102116262 A TW 102116262A TW 102116262 A TW102116262 A TW 102116262A TW I505673 B TWI505673 B TW I505673B
Authority
TW
Taiwan
Prior art keywords
network
application
electronic device
network interface
rate
Prior art date
Application number
TW102116262A
Other languages
English (en)
Other versions
TW201351931A (zh
Inventor
Sarma V R K V Vangala
Faraz Faheem
Vikram B Yerrabommanahalli
Swaminathan Balakrishnan
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of TW201351931A publication Critical patent/TW201351931A/zh
Application granted granted Critical
Publication of TWI505673B publication Critical patent/TWI505673B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/29Flow control; Congestion control using a combination of thresholds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/80Actions related to the user profile or the type of traffic
    • H04L47/805QOS or priority aware

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Description

用於來自電子裝置中之應用程式的網路封包之流量控制
所揭示之實施例係關於網路中之流量控制。更具體而言,所揭示之實施例係關於用於提供對自電子裝置至網路中之網路鏈路的網路封包之流量控制的技術。
諸如無線存取點、小區塔(cell tower)及/或路由器之網路鏈路可由諸如個人電腦、膝上型電腦、行動電話、攜帶型媒體播放器、印表機及/或視訊遊戲控制台的眾多具網路功能之電子裝置共用。為了管理至電子裝置之網路訊務,網路鏈路可減小至電子裝置之封包之流量、重新排序該等封包及/或漏失該等封包。封包之發送者亦可基於封包錯誤、損失及/或延遲來調整後續封包之傳輸速率,因此解除網路鏈路處之壅塞且促進電子裝置對網路頻寬之共用。
另一方面,電子裝置可能缺乏控制網路封包自電子裝置上之應用程式至網路鏈路之流量的能力。舉例而言,電子裝置上之多個應用程式可將外傳封包置於一最佳努力網路介面佇列中以用於該等外傳封包至連接至電子裝置之網路鏈路的後續傳輸。一積極應用程式可藉由在外傳速率下或高於外傳速率連續地將外傳封包置於網路介面佇列中而消耗網路鏈路上之可用頻寬,外傳封包係以該外傳速率自網路介面佇列傳輸至網路鏈路。另外,其他應用程式可能直至積極應用程式藉 以將外傳封包置於網路介面佇列中的速率下降至低於外傳速率時才獲得填充網路介面佇列之機會。因此,積極應用程式可使其他應用程式久候,從而使得其他應用程式經歷在網路上之增大之延時且進而經歷減小之效能。
所揭示之實施例提供一種處理一電子裝置上之網路封包的系統。在操作期間,該系統在該電子裝置上獲得該等網路封包自該電子裝置上之一網路介面佇列至一網路鏈路之一外傳速率。接下來,在偵測到該等網路封包自該電子裝置上之一應用程式至該網路介面佇列的一傳輸之後,該系統隨即使用該電子裝置基於將網路封包自該電子裝置傳輸至該網路鏈路之應用程式的一數目而將該外傳速率之一比例分配給該應用程式。最後,該系統使用該外傳速率之該經分配比例及該網路介面佇列將網路封包自該應用程式傳輸至該網路鏈路。
在一些實施例中,該系統亦針對該應用程式獲得該等網路封包至該網路介面佇列之一傳入速率,且基於該傳入速率及該電子裝置上之其他應用程式的一或多個傳入速率修改該外傳速率之該經分配比例。舉例而言,該系統可在該傳入速率高於該等其他應用程式之平均傳入速率的情況下增大該經分配比例,且在該傳入速率低於該等其他應用程式之該平均傳入速率的情況下減小該經分配比例。
在一些實施例中,該系統亦基於該應用程式之一優先級修改該外傳速率之該經分配比例。舉例而言,該系統可在該應用程式與高於使用該網路鏈路之其他應用程式之優先級相關聯時增大該經分配比例,且在該應用程式與低於該等其他應用程式之優先級相關聯時減小該經分配比例。
在一些實施例中,該系統亦判定該應用程式對與該網路介面佇列相關聯之事件的一或多個回應時間,且基於該一或多個回應時間、 該外傳速率及該應用程式之一延遲容限中的至少一者設定該網路介面佇列之一或多個特性。該等事件可包括一流量啟用事件及/或一流量停用事件,且該一或多個特性可包括一下限標準(low-water mark)、一上限標準(high-water mark)及/或一不可超過限制(do-not-exceed limit)。
在一些實施例中,使用該外傳速率之該經分配比例及該網路介面佇列將網路封包自該應用程式傳輸至該網路鏈路包括將該等網路封包自該應用程式接受至該網路介面佇列中,直至達到在該下限標準與該上限標準之間的該網路介面佇列之該經分配比例為止。舉例而言,可將該流量啟用事件傳輸至該應用程式以將該等網路封包自該應用程式接受至該網路介面佇列。該流量停用事件可接著至該應用程式以停止網路封包自該應用程式至該網路介面佇列之傳輸。
在一些實施例中,該網路鏈路為一蜂巢式網路鏈路。
在一些實施例中,該電子裝置為一行動電話、一平板電腦及一攜帶型媒體播放器中之至少一者。
102‧‧‧伺服器
104‧‧‧網路
106‧‧‧網路鏈路
108‧‧‧網路鏈路
110‧‧‧電子裝置
112‧‧‧電子裝置
202‧‧‧電子裝置
204‧‧‧電子裝置
206‧‧‧電子裝置
208‧‧‧分析設備
210‧‧‧管理設備/濾波設備
212‧‧‧外傳速率
214‧‧‧傳入速率
216‧‧‧優先級
218‧‧‧回應時間
220‧‧‧網路鏈路
222‧‧‧比例
224‧‧‧應用程式
226‧‧‧網路介面佇列
302‧‧‧下限標準
304‧‧‧上限標準
306‧‧‧不可超過限制
308‧‧‧網路封包
310‧‧‧網路封包
312‧‧‧網路封包
500‧‧‧電腦系統
502‧‧‧處理器
504‧‧‧記憶體
506‧‧‧儲存器
508‧‧‧鍵盤
510‧‧‧滑鼠
512‧‧‧顯示器
圖1展示根據所揭示之實施例之系統的示意圖。
圖2展示根據所揭示之實施例的用於處理電子裝置上之網路封包的系統。
圖3展示根據所揭示之實施例的例示性網路介面佇列。
圖4展示說明根據所揭示之實施例的處理電子裝置上之網路封包之程序的流程圖。
圖5展示根據所揭示之實施例的電腦系統。
在諸圖中,相同參考數字指代相同圖式元件。
呈現以下描述以使熟習此項技術者能夠製作且使用實施例,且 在特定應用及其要求之內容脈絡下提供以下描述。對於熟習此項技術者而言,對已揭示之實施例之各種修改將易於顯而易見,且在不脫離本發明之精神及範疇的情況下,本文中所界定之一般原理可應用於其他實施例及應用。因此,本發明不限於所展示實施例,而應符合與本文所揭示之原理及特徵一致的最寬範疇。
在此詳細描述中所描述之資料結構及程式碼通常儲存於電腦可讀儲存媒體上,該電腦可讀儲存媒體可為可儲存用於由電腦系統使用之程式碼及/或資料的任何裝置或媒體。電腦可讀儲存媒體包括但不限於揮發性記憶體、非揮發性記憶體、諸如磁碟機、磁帶、CD(緊密光碟)、DVD(數位多功能光碟或數位視訊光碟)之磁性及光學儲存裝置,或現在已知或稍後開發之能夠儲存程式碼及/或資料的其他媒體。
在該詳細描述部分中所描述的方法及程序可體現為程式碼及/或資料,其可儲存於如以上所描述之電腦可讀儲存媒體中。當電腦系統讀取且執行儲存於電腦可讀儲存媒體上之程式碼及/或資料時,電腦系統執行體現為資料結構及程式碼且儲存於電腦可讀儲存媒體內的方法及程序。
另外,本文中所描述之方法及程序可包括於硬體模組或設備中。此等模組或設備可包括但不限於特殊應用積體電路(ASIC)晶片、場可程式化閘陣列(FPGA)、在特定時間執行特定軟體模組或一段程式碼之專用或共用處理器,及/或現在已知或稍後開發之其他可程式化邏輯裝置。當硬體模組或設備啟動時,該等硬體模組或設備執行包括於其內之方法及程序。
所揭示之實施例提供一種用於處理電子裝置上之網路封包的方法及系統。如圖1中所展示,眾多電子裝置110至112經由網路鏈路106至108連接至網路104,該等網路鏈路106至108係由諸如無線存取點、 小區塔及/或路由器的裝置提供。電子裝置110至112可對應於個人電腦、膝上型電腦、平板電腦、行動電話、攜帶型媒體播放器及/或其他具網路功能之電子裝置。網路104可包括區域網路(LAN)、廣域網路(WAN)、個人區域網路(PAN)、虛擬私用網路、企業內部網路、行動電話網路(例如,蜂巢式網路)、WiFi網路、藍芽網路、通用串列匯流排(USB)網路、乙太網路、形成於兩個或兩個以上裝置之間的特用網路,及/或促進連接至網路104之電子裝置(例如,電子裝置110至112)之間的通信的其他類型之網路。
詳言之,電子裝置110至112可藉由經由網路104發送及接收諸如檔案、音訊、視訊及/或網頁內容之資料而彼此及/或與網路104上之伺服器102互動。舉例而言,電子裝置110可藉由建立與電子裝置112及伺服器102之傳輸控制協定(TCP)連接而自電子裝置112及伺服器102請求資料。電子裝置112及伺服器102可藉由經由網路104將含有該資料之封包之序列傳輸至電子裝置110而提供所請求之資料。同時,電子裝置110至112及/或其他電子裝置(未圖示)可藉由經由網路104傳輸及接收封包而彼此、與伺服器102及/或與網路104上之其他伺服器(未圖示)通信。
為了防止及/或減輕網路上之壅塞,網路鏈路106至108及/或網路104上之其他網路鏈路(未圖示)可實施網路訊務控制技術,該等技術將至電子裝置110至112及/或其他電子裝置的封包排入佇列、重新排序、延遲及/或漏失該等封包。電子裝置110至112、伺服器102及/或其他伺服器或裝置亦可基於封包錯誤、損失及/或延遲來調整後續封包之傳輸速率,因此促進可用頻寬之共用及/或電子裝置對網路104之有效使用。網路104之組件亦可支援服務品質(QoS),其保證了沿網路104流動之QoS資料之效能(例如,頻寬、封包漏失比率(packet drop rate)、延遲,等等)的特定位準。
相反,QoS可能不受電子裝置110至112、伺服器102、網路鏈路106至108及/或網路104之其他組件(例如,路由器、交換器,等等)支援。因此,電子裝置110至112上之應用程式可在將封包傳輸至網路鏈路106至108時經歷效能之變化的位準。
舉例而言,電子裝置112上之應用程式可將外傳封包置於最佳努力網路介面佇列中以用於外傳封包至網路鏈路108之後續傳輸。一積極應用程式可藉由在自網路介面佇列至網路鏈路108之封包傳輸的外傳速率下或高於該外傳速率連續地將外傳封包置於網路介面佇列中而消耗網路鏈路108上之可用頻寬。此外,其他應用程式可能直至積極應用程式藉以將外傳封包置於網路介面佇列中的速率下降至低於外傳速率時才獲得將外傳封包置於網路介面佇列中之機會。積極應用程式可因此使其他應用程式久候,從而使得其他應用程式經歷在網路104上之增大之延時且進而經歷減小之效能。同時,外傳速率在電子裝置112與網路鏈路108之間的波動可進一步促成資料速率及/或應用程式所經歷之延時的變化及/或不可預測性。
在一或多項實施例中,電子裝置110至112包括如下功能性:在缺乏應用程式及/或網路104上之QOS支援及/或處理的情況下提供對來自電子裝置110至112中之應用程式之外傳封包的流量控制。如圖2中所展示,一組電子裝置202至206(例如,個人電腦、膝上型電腦、行動電話、平板電腦、攜帶型媒體播放器、伺服器,等等)可經由諸如圖1之網路104的網路彼此連接。詳言之,電子裝置202上之應用程式224可藉由將去往電子裝置204至206之網路封包置於網路介面佇列226中而將資料傳輸至電子裝置204至206。雖然網路封包在網路介面佇列226中,但網路封包可由電子裝置202上之網路堆疊之一或多個層處理。可接著經由與網路上之網路鏈路220之網路介面傳輸該等網路封包。舉例而言,網路封包可經由空中介面自行動電話上之基頻處理器 傳輸至鄰近蜂巢式塔。
如以上所提及,缺乏QoS支援可使得應用程式224經歷資料速率之明顯波動,來自網路介面佇列226之網路封包係以該等資料速率傳輸至網路鏈路220。為了促進應用程式224對網路鏈路220之公平使用,電子裝置202可將自網路介面佇列226至網路鏈路220之網路封包之外傳速率212的比例222分配給應用程式224。如以下更詳細地論述,該分配可係基於將封包傳輸至網路鏈路220之應用程式224的數目、網路封包自應用程式224至網路介面佇列226之傳入速率214之集合、及/或針對應用程式224之優先級216之集合。
詳言之,電子裝置202上之分析設備208可(例如)藉由監視網路封包自網路介面佇列226至網路鏈路220之傳輸而週期性地獲得外傳速率212。若分析設備208偵測到網路封包自一應用程式(例如,應用程式224)至網路介面佇列226之傳輸,則分析設備208可基於將網路封包傳輸至網路鏈路220之應用程式224的數目將外傳速率212之一比例(例如,比例222)分配給該應用程式。舉例而言,分析設備208可在活躍地使用網路鏈路220之應用程式224之間均勻地分割外傳速率212。分析設備208可另外回應於外傳速率212及/或活躍地使用網路鏈路220之應用程式224之數目而更新針對應用程式224之經分配比例222。
分析設備208亦可基於網路封包自應用程式224至網路介面佇列226之傳入速率214及/或應用程式224之一或多個優先級216來修改比例222。舉例而言,分析設備208可分配比例222,以使得具有較高傳入速率之應用程式比具有較低傳入速率之應用程式接收到外傳速率212之較高份額。類似地,分析設備208可基於應用程式224所使用之協定、應用程式224之類型及/或來自應用程式224之網路封包中的QoS資訊來判定應用程式224之優先級216。分析設備208可接著將外傳速率212之較高比例分配給較高優先級之應用程式,且將外傳速率212之 較低比例分配給較低優先級之應用程式。
接下來,電子裝置202上之管理設備210可使用外傳速率212之經分配比例及網路介面佇列226來將網路封包自應用程式傳輸至網路鏈路220。詳言之,管理設備210可維護活躍地將網路封包傳輸至網路鏈路220之應用程式224的有序清單。管理設備210可將來自該有序清單上之第一應用程式的網路封包接受至網路介面佇列226中,直至該等網路封包達到針對該應用程式的網路介面佇列226之經分配比例為止。管理設備210可接著繼續進行至有序清單上之下一應用程式,且接受來自下一應用程式之網路封包,直至達到針對下一應用程式的網路介面佇列226之經分配比例為止。管理設備210可繼續將來自有序清單上之應用程式224的網路封包添加至網路介面佇列226,直至來自有序清單上之所有應用程式224的網路封包已「填滿」網路介面佇列226為止。
為了接受來自每一應用程式之網路封包,管理設備210可將一流量啟用事件傳輸至應用程式,且該應用程式可在接收到該流量啟用事件之後隨即開始將網路封包傳輸至網路介面佇列226。為了停止自應用程式至網路介面佇列226的網路封包流動,管理設備210可將一流量停用事件傳輸至該應用程式,且該應用程式可在接收到該流量停用事件之後隨即停止將網路封包傳輸至網路介面佇列226。
在應用程式224正將網路封包添加至網路介面佇列226的同時,網路封包自網路介面佇列226至網路鏈路220之傳輸可自網路介面佇列226移除網路封包。若經移除之網路封包在管理設備210已遍歷有序清單之後在網路介面佇列226中產生了充足的自由空間,則管理設備210可返回至有序清單之開始,且用來自有序清單上之應用程式224的新網路封包來填充先前被經移除之網路封包佔用的空間。換言之,管理設備208可以循環方式用來自應用程式224之網路封包來填充網路介面佇列226,因此確保來自所有應用程式224之網路封包根據比例222被 置於網路介面佇列226中。
另外,管理設備210可週期性地計算應用程式224對流量啟用事件及/或流量停用事件的回應時間218,且基於回應時間218、外傳速率212及/或應用程式224之延遲容限來設定網路介面佇列226之一或多個特性。該等特性可指定網路介面佇列226之大小及/或邊界。舉例而言,該等特性可包括針對網路介面佇列226之下限標準、上限標準及/或不可超過限制。藉由根據應用程式224及/或網路鏈路220之行為及/或約束來設定特性,管理設備210可幫助避免網路介面佇列226變得滿或空,且網路封包自應用程式224至網路鏈路220之傳輸可滿足使用網路鏈路220之具最低延遲容限之應用程式的時序要求。以下關於圖3更詳細地論述網路介面之特性。
熟習此項技術者將瞭解,圖2之系統可以多種方式實施。首先,分析設備208與管理設備210可被提供相同軟體及/或硬體組件,或分析設備208與管理設備210可彼此獨立地執行。舉例而言,可使用應用程式處理器、基頻處理器、多核心處理器、單核心處理器、作業系統內核、獨立應用程式及/或電子裝置202上之驅動器的不同組合來實施分析設備208與濾波設備210。
其次,分析設備208及管理設備210可基於眾多準則將外傳速率212(例如,網路頻寬)之比例222分配給應用程式224。如以上所提及,可基於活躍地使用網路鏈路220之應用程式224的數目、應用程式224之優先級216及/或應用程式224之傳入速率214來分配比例222。另外,分析設備208及/或管理設備210可使用各種技術以適應新應用程式對網路鏈路220之使用及/或具有經分配頻寬之應用程式對網路鏈路220的不連續使用。舉例而言,分析設備208及/或管理設備210可最初將外傳速率212之小比例分配給最近開始使用網路鏈路220之應用程式,且一旦判定該應用程式之傳入速率及/或回應時間便修改該經分 配之比例。或者,分析設備208及/或管理設備210可基於該應用程式之優先級及/或將網路封包傳輸至網路介面佇列226之應用程式224的數目而立即將外傳速率212之比例分配給該應用程式。
最後,分析設備208及管理設備210可替代及/或結合自電子裝置202至網路鏈路220之網路封包的QoS處理而提供對來自應用程式224之網路封包的流量控制。舉例而言,分析設備208及管理設備210可使用網路介面佇列226來處理及/或傳輸缺乏QoS資訊之網路封包,且使用一單獨網路介面佇列來處理及/或傳輸包括QoS資訊之網路封包。另一方面,若QoS不受網路鏈路202及/或網路之其他組件支援,則分析設備208及管理設備210可使用網路介面佇列226來處理及/或傳輸來自電子裝置202上之所有應用程式的網路封包,而無關於QoS資訊在該等封包中之存在。為了促進含有QoS資訊之網路封包的傳輸,分析設備208及管理設備210可使供獲得網路封包之應用程式優先於在外傳網路封包中不包括QoS資訊的應用程式。
圖3展示根據所揭示之實施例的例示性網路介面佇列。用來自電子裝置上之三個不同應用程式的網路封包308至312填充網路介面佇列。另外,該網路介面佇列與特性之一集合相關聯,特性之該集合包括下限標準302、上限標準304及不可超過限制306。
如以上所提及,下限標準302、上限標準304及不可超過限制306可指定網路介面佇列之邊界及/或大小。舉例而言,下限標準302及上限標準304可界定網路介面佇列之有效大小,而不可超過限制306可表示網路介面佇列之最大大小或一點,超過該點,網路封包被廢棄而非被置於網路介面佇列中。
網路介面佇列之特性可經設定以幫助避免在網路介面佇列之使用期間網路介面佇列變得全滿或全空,且用網路封包308至312填充網路介面佇列所需的時間量通常少於具最低延遲容限之應用程式的時間 要求。如圖3中所展示,下限標準302可略高於網路介面佇列(例如,先進先出(FIFO)佇列)之底部,其中網路封包排出至網路鏈路,而上限標準304可略低於網路介面佇列之頂部(例如,不可超過限制306),其中最近添加之網路封包等候到達底部。
下限標準302及上限標準304分別自網路介面佇列之實際底部及頂部的偏移可說明應用程式對於與網路介面佇列相關聯之事件的回應時間。舉例而言,可基於應用程式對觸發網路封包自應用程式至網路介面佇列中之置放之流量啟用事件的平均回應時間乘以網路封包自網路介面佇列之底部至網路鏈路之外傳速率來計算下限標準302。類似地,可基於使用網路鏈路之具最低延遲容限之應用程式的放棄計時值(例如,延遲容限)乘以網路介面佇列之外傳速率來計算上限標準304。最後,不可超過限制306可經設定以使得上限標準304與不可超過限制306之間的空間適應所有應用程式對停止網路封包自應用程式至網路介面佇列中之流動之流量停用事件的回應時間。
可接著使用該等特性來調節網路封包308至312自應用程式至網路介面佇列之傳輸。首先,網路介面佇列至下限標準302之清空可觸發流量啟用事件至第一應用程式之傳輸,以使得該第一應用程式可開始用網路封包308填充網路介面佇列。在流量啟用事件的傳輸與在網路介面佇列中接收到網路封包308之間的延遲(例如,第一應用程式對流量啟用事件的回應時間)期間,亦可發生網路封包在下限標準302與網路介面佇列之底部之間的排出。
接下來,第一應用程式可將網路封包308傳輸至網路介面佇列,直至達到針對第一應用程式的在下限標準302與上限標準304之間的網路介面佇列之第一經分配比例為止。可將流量停用事件傳輸至第一應用程式以停止網路封包308之傳輸,且可將流量啟用事件傳輸至第二應用程式以起始網路封包310至網路介面佇列之傳輸。流量停用事件 及流量啟用事件亦可經定時以使在網路封包308之傳輸的末尾與網路封包310之傳輸的開始之間的延遲最小。
一旦已用網路封包310填充了針對第二應用程式的在下限標準302與上限標準304之間的網路介面佇列之第二經分配比例,便可將流量停用事件傳輸至第二應用程式以停止網路封包310至網路介面佇列之傳輸。可接著將流量啟用事件傳輸至第三應用程式以起始網路封包312自第三應用程式至網路介面佇列之傳輸。最後,一旦網路封包312達到上限標準304及/或在下限標準302與上限標準304之間的網路介面佇列之第三經分配比例,便可將流量停用事件傳輸至第三應用程式。可接著在已經過第三應用程式對流量停用事件之回應時間之後停止網路封包312至網路介面佇列之傳輸。
另外,可在少於來自應用程式之最短放棄計時值的時間內用網路封包308至312填充在下限標準302與上限標準304之間的網路介面佇列之部分,因此允許網路封包308至312滿足所有三個應用程式之延遲容限。此外,網路介面佇列之不同比例的分配及/或針對應用程式之外傳速率可使得所有應用程式能夠對網路鏈路進行存取,同時相比於具有較低傳入速率及/或優先級之應用程式(例如,第三應用程式)而向具有較高傳入速率及/或優先級之應用程式(例如,第二應用程式)提供對網路鏈路之較大存取。因此,經分配比例、下限標準302、上限標準304及/或不可超過限制306的使用可向使用網路鏈路之每一應用程式保證效能之特定位準,即使應用程式及/或網路鏈路不支援QoS亦如此。
在用網路封包308至312填充網路介面佇列的同時,亦可將網路封包308至312自網路介面佇列之底部傳輸至網路鏈路。因此,到將網路封包312添加至網路介面佇列時,可自網路介面佇列移除網路封包308及/或網路封包310中之一些。網路封包自網路介面佇列之底部的 移除可進一步觸發網路封包在網路封包312之上以循環方式自第一、第二及第三應用程式至網路介面佇列的連續添加。來自活躍地使用網路鏈路之應用程式的網路封包之此種有序及/或成比例傳輸可繼續,直至應用程式不再使用該網路鏈路及/或電子裝置與網路鏈路斷開連接為止。
圖4展示說明根據所揭示之實施例的處理電子裝置上之網路封包之程序的流程圖。在一或多項實施例中,可省略、重複及/或以不同次序執行步驟中之一或多者。因此,圖4中所展示之步驟之特定配置不應被解釋為限制該技術之範疇。
最初,獲得網路封包自電子裝置上之網路介面佇列至網路鏈路之外傳速率(操作402)。該外傳速率可能基於電子裝置與網路鏈路之間的網路介面而波動。舉例而言,自電子裝置經由與蜂巢式網路鏈路(例如,蜂巢式塔)之介面的外傳速率可基於連接至該蜂巢式網路鏈路之電子裝置的數目、來自其他電子裝置之干擾的位準及/或電子裝置與蜂巢式塔之間的障礙物之存在而變化。
在將網路封包傳輸至網路鏈路之前,可將網路封包自電子裝置上之應用程式傳輸至網路介面佇列(操作404)。若偵測到網路封包自應用程式至網路介面佇列之傳輸,則基於將網路封包自電子裝置傳輸至網路鏈路之應用程式的數目將外傳速率之一比例分配給該應用程式(操作406)。舉例而言,分配給該應用程式的外傳速率之該比例可等於外傳速率除以活躍地將網路封包自電子裝置傳輸至網路鏈路之應用程式的數目。
應用程式亦可與優先級相關聯。舉例而言,應用程式之優先級可係基於應用程式所使用之網路協定、應用程式之類型及/或在應用程式之網路封包中的QoS資料。若應用程式與一優先級相關聯,則基於該優先級修改外傳速率之經分配比例(操作408)。若應用程式不與 一優先級相關聯,則不基於優先級修改外傳速率之經分配比例。
同樣,網路封包自應用程式至網路介面佇列之傳入速率可為可用的。若該傳入速率可用,則基於該傳入速率及電子裝置上之其他應用程式的一或多個傳入速率修改外傳速率之經分配比例(操作412)。舉例而言,經分配比例可在應用程式具有高於其他應用程式之平均傳入速率的傳入速率的情況下增大,且在應用程式具有低於其他應用程式之平均傳入速率的傳入速率的情況下減小。若傳入速率不可用,則不基於傳入速率修改外傳速率之經分配比例。
接著使用外傳速率之經分配比例及網路介面佇列將網路封包自應用程式傳輸至網路鏈路(操作414)。舉例而言,網路封包自應用程式至網路介面佇列中之傳輸可藉由將流量啟用事件傳輸至應用程式而起始,且藉由將流量停用事件傳輸至應用程式而停止。流量啟用事件及流量停用事件可另外經傳輸以使得來自應用程式之網路封包被接受至網路介面佇列中,直至達到網路介面佇列之經分配比例為止。在應用程式已停止將網路封包傳輸至網路佇列中之後,可使用流量啟用事件及流量停用事件來將來自另一應用程式之網路封包傳輸至網路介面佇列中。
亦可判定應用程式對與網路介面佇列相關聯之事件的一或多個回應時間(操作416)。舉例而言,可計算應用程式對流量啟用事件及流量停用事件之回應時間。可接著使用該(等)回應時間、外傳速率及/或應用程式之延遲容限來設定網路介面佇列之一或多個特性(操作418)。該等特性可包括指定網路介面佇列之大小及/或邊界的下限標準、上限標準及/或不可超過限制。根據應用程式及/或網路鏈路之行為及/或約束對特性之此管理可確保在使用網路鏈路時網路介面佇列從不會全滿或全空且網路封包自應用程式至網路介面佇列之傳輸滿足具最低延遲容限之應用程式的時序要求。
可在電子裝置上之應用程式使用網路介面佇列及/或網路鏈路期間繼續提供流量控制(操作420)。若將提供流量控制,則週期性地獲得網路介面佇列之外傳速率(操作402),且藉由將外傳速率之一比例分配給應用程式且使用該經分配比例以將網路封包自應用程式傳輸至網路鏈路(操作406至414)來管理每一應用程式對網路鏈路之使用。亦獲得應用程式對與網路介面佇列相關聯之事件的回應時間(操作416),且基於應用程式之該(等)回應時間、外傳速率及/或延遲容限設定網路介面佇列之一或多個特性(操作418)。此流量控制可確保使用網路鏈路之所有應用程式對外傳速率的成比例且及時之存取,直至應用程式不再使用網路介面佇列及/或網路鏈路傳輸網路封包為止。
圖5展示根據所揭示之實施例的電腦系統500。電腦系統500可對應於包括處理器502、記憶體504、儲存器506及/或見於電子計算裝置中之其他組件的設備。處理器502可支援與電腦系統500中之其他處理器平行之處理及/或多線緒操作。電腦系統500亦可包括諸如鍵盤508、滑鼠510及顯示器512之輸入/輸出(I/O)裝置。
電腦系統500可包括用以執行本發明實施例之各種組件的功能性。詳言之,電腦系統500可包括協調電腦系統500上之硬體及軟體資源之使用的作業系統(未圖示),以及執行針對使用者之特殊化任務的一或多個應用程式。為了執行使用者之任務,應用程式可自作業系統獲得電腦系統500上之硬體資源的使用,且經由由作業系統提供之硬體及/或軟體構架與使用者互動。
在一或多項實施例中,電腦系統500提供用於處理電子裝置上之網路封包的系統。該系統可包括一分析設備,該分析設備獲得網路封包自電子裝置上之網路介面佇列至網路鏈路之外傳速率。在偵測到網路封包自電子裝置上之應用程式至網路介面佇列的傳輸之後,分析設備可隨即基於將網路封包自電子裝置傳輸至網路鏈路之應用程式的數 目將外傳速率之一比例分配給應用程式。分析設備亦可基於應用程式之優先級、網路封包至網路介面佇列之傳入速率及/或針對電子裝置上之其他應用程式的一或多個傳入速率修改外傳速率之經分配比例。該系統亦可包括一管理設備,該管理設備使用外傳速率之經分配比例及網路介面佇列將網路封包自應用程式傳輸至網路鏈路。
另外,電腦系統500之一或多個組件可遠端地定位且經由網路連接至其他組件。本發明實施例之部分(例如,分析設備、管理設備,等等)亦可位於實施該等實施例之分散式系統之不同節點上。舉例而言,可使用將網路頻寬分配給一組遠端電子裝置上之應用程式的遠端流量控制系統來實施本發明實施例。
僅出於說明及描述之目的呈現各種實施例之前述描述。前述描述不欲為詳盡的或將本發明限於所揭示之形式。因此,許多修改及變化對於熟習此項技術之從業者而言將顯而易見。另外,以上揭示內容不意欲限制本發明。

Claims (18)

  1. 一種用於處理一電子裝置上之網路封包的電腦實施方法,其包含:在該電子裝置上獲得該等網路封包自該電子裝置上之一網路介面佇列至一網路鏈路之一外傳速率;及在偵測到該等網路封包自該電子裝置上之一應用程式至該網路介面佇列之一傳輸之後,隨即使用該電子裝置以:基於將該等網路封包自該電子裝置傳輸至該網路鏈路之應用程式的一數目將該外傳速率之一比例分配給該應用程式;及使用該外傳速率之該經分配比例及該網路介面佇列將該等網路封包自該應用程式傳輸至該網路鏈路,藉由發送對應信號至該應用程式使得該應用程式開始或停止網路封包之一流動在被傳輸至該網路鏈路前被儲存於該網路介面佇列。
  2. 如請求項1之電腦實施方法,其進一步包含:針對該應用程式獲得該等網路封包至該網路介面佇列之一傳入速率;及基於該傳入速率及該電子裝置上之其他應用程式的一或多個傳入速率修改該外傳速率之該經分配比例。
  3. 如請求項1之電腦實施方法,其進一步包含:基於該應用程式之一優先級修改該外傳速率之該經分配比例。
  4. 如請求項1之電腦實施方法,其進一步包含:判定該應用程式對與該網路介面佇列相關聯之事件的一或多個回應時間;及 基於該一或多個回應時間、該外傳速率及該應用程式之一延遲容限中的至少一者設定該網路介面佇列之一或多個特性。
  5. 如請求項4之電腦實施方法,其中該等事件包含以下各者中之至少一者:一流量啟用事件;及一流量停用事件。
  6. 如請求項4之電腦實施方法,其中該一或多個特性包含以下各者中之至少一者:一下限標準;一上限標準;及一不可超過限制。
  7. 如請求項6之電腦實施方法,其中使用該外傳速率之該經分配比例及該網路介面佇列將該等網路封包自該應用程式傳輸至該網路鏈路包含:將該等網路封包自該應用程式接受至該網路介面佇列中,直至達到在該下限標準與該上限標準之間的該網路介面佇列之該經分配比例為止。
  8. 如請求項1之電腦實施方法,其中該網路鏈路為一蜂巢式網路鏈路。
  9. 一種用於處理網路封包的系統,其包含:一電子裝置,其包含一處理器及一記憶體,其中該電子裝置:獲得該等網路封包自該電子裝置上之一網路介面佇列至一網路鏈路之一外傳速率;及在偵測到該等網路封包自該電子裝置上之一應用程式至該網路介面佇列的一傳輸之後,隨即基於將該等網路封包自該 電子裝置傳輸至該網路鏈路之應用程式的一數目將該外傳速率之一比例分配給該應用程式;及使用該外傳速率之該經分配比例及該網路介面佇列將該等網路封包自該應用程式傳輸至該網路鏈路,該使用包含發送對應信號至該應用程式使得該應用程式開始或停止網路封包之一流動在被傳輸至該網路鏈路前被儲存於該網路介面佇列。
  10. 如請求項9之系統,其中該電子裝置進一步:針對該應用程式獲得該等網路封包至該網路介面佇列之一傳入速率;及基於該傳入速率及該電子裝置上之其他應用程式的一或多個傳入速率修改該外傳速率之該經分配比例。
  11. 如請求項9之系統,其中該電子裝置進一步:基於該應用程式之一優先級修改該外傳速率之該經分配比例。
  12. 如請求項9之系統,其中該電子裝置進一步:判定該應用程式對與該網路介面佇列相關聯之事件的一或多個回應時間;及基於該一或多個回應時間、該外傳速率及該應用程式之一延遲容限中的至少一者設定該網路介面佇列之一或多個特性。
  13. 如請求項12之系統,其中該等事件包含下列各者中至少一者:一流量啟用事件;及一流量停用事件。
  14. 如請求項12之系統,其中該一或多個特性包含下列各者中至少一者:一下限標準; 一上限標準;及一不可超過限制。
  15. 如請求項14之系統,其中使用該外傳速率之該經分配比例及該網路介面佇列將該等網路封包自該應用程式傳輸至該網路鏈路包含:將該等網路封包自該應用程式接受至該網路介面佇列中,直至達到在該下限標準與該上限標準之間的該網路介面佇列之該經分配比例為止。
  16. 如請求項9之系統,其中該電子裝置為一行動電話、一平板電腦及一攜帶型媒體播放器中之至少一者。
  17. 一種儲存指令之非暫態電腦可讀儲存媒體,當藉由一電腦執行時,該等指令使得該電腦執行用於處理一電子裝置上之網路封包的一方法,該方法包含:在該電子裝置上獲得該等網路封包自該電子裝置上之一網路介面佇列至一網路鏈路之一外傳速率;及在偵測到該等網路封包自該電子裝置上之一應用程式至該網路介面佇列之一傳輸之後,隨即使用該電子裝置以:基於將該等網路封包自該電子裝置傳輸至該網路鏈路之應用程式的一數目將該外傳速率之一比例分配給該應用程式;及使用該外傳速率之該經分配比例及該網路介面佇列將該等網路封包自該應用程式傳輸至該網路鏈路,藉由發送對應信號至該應用程式使得該應用程式開始或停止網路封包之一流動在被傳輸至該網路鏈路前被儲存於該網路介面佇列。
  18. 如請求項17之非暫態電腦可讀儲存媒體,該方法進一步包含:針對該應用程式獲得該等網路封包至該網路介面佇列之一傳 入速率;及基於該傳入速率及該電子裝置上之其他應用程式的一或多個傳入速率修改該外傳速率之該經分配比例。
TW102116262A 2012-06-06 2013-05-07 用於來自電子裝置中之應用程式的網路封包之流量控制 TWI505673B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/489,606 US9413672B2 (en) 2012-06-06 2012-06-06 Flow control for network packets from applications in electronic devices

Publications (2)

Publication Number Publication Date
TW201351931A TW201351931A (zh) 2013-12-16
TWI505673B true TWI505673B (zh) 2015-10-21

Family

ID=48537017

Family Applications (1)

Application Number Title Priority Date Filing Date
TW102116262A TWI505673B (zh) 2012-06-06 2013-05-07 用於來自電子裝置中之應用程式的網路封包之流量控制

Country Status (3)

Country Link
US (1) US9413672B2 (zh)
TW (1) TWI505673B (zh)
WO (1) WO2013184326A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9628405B2 (en) * 2014-04-07 2017-04-18 Ericsson Ab Merging multicast ABR and unicast ABR with progressive download ABR in a customer premises device within the same video delivery pipe
US20160050586A1 (en) * 2014-08-12 2016-02-18 Naddive, LLC Data prioritization for wireless networks
US10149343B2 (en) 2015-05-11 2018-12-04 Apple Inc. Use of baseband triggers to coalesce application data activity
US20210075734A1 (en) * 2018-05-31 2021-03-11 Hewlett-Packard Development Company, L.P. Packets transmissions based on priority levels
CN114449015A (zh) * 2022-01-14 2022-05-06 福建省公田软件股份有限公司 一种基于边缘计算的移动蜂窝智能化管道实现方法
US20240323252A1 (en) * 2023-03-24 2024-09-26 Dell Products L.P. Controlling transfer of data based on network bandwidth demand

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050232153A1 (en) * 2004-04-16 2005-10-20 Vieo, Inc. Method and system for application-aware network quality of service
US20080117930A1 (en) * 2005-07-20 2008-05-22 Jacob Chakareski System and method for the control of the transmission rate in packet-based digital communications
TW201108687A (en) * 2009-01-16 2011-03-01 Mainline Net Holdings Ltd Maximizing bandwidth utilization in networks with high latencies and packet drops using transmission control protocol
TW201132147A (en) * 2009-06-08 2011-09-16 Qualcomm Inc Systems and methods to provide flow control for mobile devices
TW201212593A (en) * 2010-05-31 2012-03-16 Jin Magic Inc Communication apparatus and communication method
US20120106342A1 (en) * 2010-11-02 2012-05-03 Qualcomm Incorporated Systems and methods for communicating in a network

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6880017B1 (en) * 2000-03-20 2005-04-12 International Business Machines Corporation System and method for providing an adaptive streaming flow control mechanism between the TCP and IP layers of the TCP/IP suite of protocols
US7911948B2 (en) * 2007-10-17 2011-03-22 Viasat, Inc. Methods and systems for performing TCP throttle
JP5706297B2 (ja) * 2011-02-18 2015-04-22 アラクサラネットワークス株式会社 パケット転送装置及びQoS制御回路の電力供給制御方法
US9450873B2 (en) * 2011-06-28 2016-09-20 Microsoft Technology Licensing, Llc Performance isolation for clouds
US8705357B2 (en) * 2011-11-29 2014-04-22 Hughes Network Systems, Llc Method and system for controlling TCP traffic with random early detection and window size adjustments
US9007901B2 (en) * 2012-02-09 2015-04-14 Alcatel Lucent Method and apparatus providing flow control using on-off signals in high delay networks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050232153A1 (en) * 2004-04-16 2005-10-20 Vieo, Inc. Method and system for application-aware network quality of service
US20080117930A1 (en) * 2005-07-20 2008-05-22 Jacob Chakareski System and method for the control of the transmission rate in packet-based digital communications
TW201108687A (en) * 2009-01-16 2011-03-01 Mainline Net Holdings Ltd Maximizing bandwidth utilization in networks with high latencies and packet drops using transmission control protocol
TW201132147A (en) * 2009-06-08 2011-09-16 Qualcomm Inc Systems and methods to provide flow control for mobile devices
TW201212593A (en) * 2010-05-31 2012-03-16 Jin Magic Inc Communication apparatus and communication method
US20120106342A1 (en) * 2010-11-02 2012-05-03 Qualcomm Incorporated Systems and methods for communicating in a network

Also Published As

Publication number Publication date
US20130329556A1 (en) 2013-12-12
US9413672B2 (en) 2016-08-09
WO2013184326A1 (en) 2013-12-12
TW201351931A (zh) 2013-12-16

Similar Documents

Publication Publication Date Title
TWI505673B (zh) 用於來自電子裝置中之應用程式的網路封包之流量控制
US8681614B1 (en) Quality of service for inbound network traffic flows
Kumar et al. PicNIC: predictable virtualized NIC
CN108616458B (zh) 客户端设备上调度分组传输的系统和方法
US9572135B2 (en) Airtime-based packet scheduling for wireless networks
CN107454017B (zh) 一种云数据中心网络中混合数据流协同调度方法
JP5362875B2 (ja) 通信ネットワークでの優先権のスケジュールおよび承認制御
US8081569B2 (en) Dynamic adjustment of connection setup request parameters
TWI498018B (zh) 減少網路流量中的抵達延遲
US9813529B2 (en) Effective circuits in packet-switched networks
US11025745B2 (en) Technologies for end-to-end quality of service deadline-aware I/O scheduling
JP2010533400A (ja) エンド・ツー・エンド型ネットワークqosの強化
WO2012100544A1 (zh) 基于网络数据流向的虚拟机迁移方法、设备和集群系统
TW201635159A (zh) 通用串列匯流排的協定適應層資料流控制
WO2023186046A1 (zh) 一种发送报文的方法和装置
CN118264620A (zh) 用于多路径网络上的灵活负载均衡的计算系统和方法
AU2013369015A1 (en) Method and system for packet job scheduler in data processing based on workload self-learning
US10057807B2 (en) Just in time packet body provision for wireless transmission
US8804521B1 (en) Quality of service for inbound network traffic flows during slow-start phases
WO2024098757A1 (zh) 网络集群系统、报文传输方法及网络设备
US20230254259A1 (en) System And Method For Using Dynamic Thresholds With Route Isolation For Heterogeneous Traffic In Shared Memory Packet Buffers
CN118264619A (zh) 用于管理分组的拥塞控制的计算系统和方法