TWI388156B - 網路延遲控制 - Google Patents

網路延遲控制 Download PDF

Info

Publication number
TWI388156B
TWI388156B TW094111628A TW94111628A TWI388156B TW I388156 B TWI388156 B TW I388156B TW 094111628 A TW094111628 A TW 094111628A TW 94111628 A TW94111628 A TW 94111628A TW I388156 B TWI388156 B TW I388156B
Authority
TW
Taiwan
Prior art keywords
network
packet
transmission path
packets
network transmission
Prior art date
Application number
TW094111628A
Other languages
English (en)
Other versions
TW200534636A (en
Inventor
Pierce Keating
Yan Zhang
William M Stevens
Original Assignee
Broadcom Corp
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 Broadcom Corp filed Critical Broadcom Corp
Publication of TW200534636A publication Critical patent/TW200534636A/zh
Application granted granted Critical
Publication of TWI388156B publication Critical patent/TWI388156B/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/28Flow control; Congestion control in relation to timing considerations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • 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/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • 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/27Evaluation or update of window size, e.g. using information derived from acknowledged [ACK] packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • H04L43/0858One way delays

Landscapes

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

Description

網路延遲控制 相關申請案交互參照
本發明係主張申請於2004年4月13日標題為“網路流控制”之美國臨時專利申請案第60/562,111號案之優先權,該案係於此併入作為參考。
本發明係大體上關於連網,更明確言之,係揭示一種延遲控制技術。
於電腦網路中,自一個網路節點轉移至下一個節點之封包係可能經歷變化的延遲。一般而言,封包典型地係為循序的,且一次透過該網路路徑傳送一個封包。當複數個封包將透過一個網路而被傳送時,後續的協商及循序化係能夠導致隨機之傳送延遲量。舉例而言,一個封包係可以被強迫等待另一個封包以完成傳送,因為其他封包在該等待封包變成可使用之前開始傳送,或者因為其他封包係具有一個較高的優先傳送指定。因此,於該封包到達之延遲係可以偏離期望的傳送延遲。與期望的延遲偏離通常係被稱為抖動。對於許多網路組態而言,該抖動係具有一個非為常態分佈之機率分佈函數(pdf)。再者,該抖動係為一個非穩定隨機過程。
於網路中之抖動對於時序敏感的封包而言係特別不期望的,該些時序敏感的封包係諸如時序封包、透過網際網路之語音協定、視訊流或其他具有相對嚴格時序條件之協定的封包。抖動係可以導致於網路頻寬利用上相當大的效能劣化及降低。此外,對於包含時序及頻率資訊之封包而言,網路抖動之非穩定特質係使如此之資訊的可靠傳送變成困難的。因此,吾人係期望具有減少為時序敏感的封包之抖動的方式。假如網路頻寬之利用亦能夠被增加亦係有用的。再者,假如網路抖動係能夠變成一個穩定隨機過程係有用的。
根據發明之一個觀點,其係提供一種控制網路流量之方法。該方法係包含:監視將透過一個網路傳送路徑傳送之複數個封包;預期一個時序敏感封包將變成可使用於透過該網路傳送路徑傳送之一個時間;及根據該預期的時間而控制該複數個封包,使得該網路傳送路徑在與該預期時間相關之時間不被除了該時序敏感封包以外的封包占用。
根據發明之另一個觀點,其係提供一種用於控制網路流量之系統。該系統係包含:一個介面,其係用於透過一個網路傳送路徑傳送複數個封包;及一個網路延遲控制器,其係連接至該介面。該網路延遲控制器係建構成:監視將透過一個網路傳送路徑傳送之複數個封包;預期一個時序敏感封包將變成可使用於透過該網路傳送路徑傳送之一個時間;及根據該預期的時間而控制一個至該網路傳送路徑之封包流,使得該網路傳送路徑在與該預期時間相關之時間不被除了該時序敏感封包以外的封包占用。
根據發明之另一個觀點,其係提供一種用於控制網路流量之電腦程式產品。該電腦程式產品係內建於一個電腦可讀取媒體之中,且其係包含電腦指令,以用於:監視將透過一個網路傳送路徑傳送之複數個封包;預期一個時序敏感封包將變成可使用於透過該網路傳送路徑傳送之一個時間;及根據該預期的時間而控制一個至該網路傳送路徑之封包流,使得該網路傳送路徑在與該預期時間相關之時間不被除了該時序敏感封包以外的封包占用。
根據發明之另一個觀點,其係提供一種近似化與網路傳送路徑相關之最大資料傳送速率之方法。該方法係包含:在一已知的速率下,自一個傳送節點傳送一系列測試封包至該網路傳送路徑,以透過該網路傳送路徑傳送至一個接收節點;決定是否包含該系列測試封包之所有封包到達該接收節點;及至少一部分根據與假如有且未到達該接收節點之該些封包相關之賞料而近似化與該網路傳送路徑相關之最大賞料傳送速率。
根據發明之另一個觀點,其係提供一種近似化與網路傳送路徑相關之最大賞料傳送速率之系統。該系統係包含:一個傳送介面,其係建構成在一已知的速率下,自一個傳送節點傳送一系列測試封包至該網路傳送路徑,以透過該網路傳送路徑傳送至一個接收節點;及一個處理器,其係建構成決定是否包含該系列測試封包之所有封包到達該接收節點,且至少一部分根據與假如有且未到達該接收節點之該些封包相關之資料而近似化與該網路傳送路徑相關之最大賞料傳送速率。
根據發明之另一個觀點,其係提供一種用於近似化與網路傳送路徑相關之最大資料傳送速率之電腦程式產品。該電腦程式產品係內建於一個電腦可讀取媒體之中,且其係包含電腦指令,以用於:在一已知的速率下,自一個傳送節點傳送一系列測試封包至該網路傳送路徑,以透過該網路傳送路徑傳送至一個接收節點;決定是否包含該系列測試封包之所有封包到達該接收節點;及至少一部分根據與假如有且未到達該接收節點之該些封包相關之資料而近似化與該網路傳送路徑相關之最大資料傳送速率。
根據發明之另一個觀點,其係提供一種近似化與結合網路傳送路徑之緩衝器相關之緩衝器大小之方法。該方法係包含:在一已知的速率下,自一個傳送節點傳送一系列測試封包至該網路傳送路徑,以透過該網路傳送路徑傳送至一個接收節點;決定是否包含該系列測試封包之所有封包到達該接收節點;及在其係確認並非包含該系列測試封包之所有封包到達該接收節點之情況下:辨識該系列中未到達之一個第一遺失封包;決定在該系列中多少個封包在該第一遺失封包之前;及至少一部分根據該系列中多少個封包在該第一遺失封包之前而近似化該緩衝器大小。
根據發明之另一個觀點,其係提供一種近似化與結合網路傳送路徑之緩衝器相關之緩衝器大小之系統。該系統係包含:一個傳送介面,其係建構成在一已知的速率下,自一個傳送節點傳送一系列測試封包至該網路傳送路徑,以透過該網路傳送路徑傳送至一個接收節點;及一個處理器,其係建構成決定是否包含該系列測試封包之所有封包到達該接收節點,且在其係確認並非包含該系列測試封包之所有封包到達該接收節點之情況下:辨識該系列中未到達之一個第一遺失封包;決定在該系列中多少個封包在該第一遺失封包之前;及至少一部分根據該系列中多少個封包在該第一遺失封包之前而近似化該緩衝器大小。
根據發明之另一個觀點,其係提供一種用於近似化與結合網路傳送路徑之緩衝器相關之緩衝器大小之電腦程式產品。該電腦程式產品係內建於一個電腦可讀取媒體之中,且其係包含電腦指令,以用於:在一已知的速率下,自一個傳送節點傳送一系列測試封包至該網路傳送路徑,以透過該網路傳送路徑傳送至一個接收節點;決定是否包含該系列測試封包之所有封包到達該接收節點;及在其係確認並非包含該系列測試封包之所有封包到達該接收節點之情況下:辨識該系列中未到達之一個第一遺失封包;決定在該系列中多少個封包在該第一遺失封包之前;及至少一部分根據該系列中多少個封包在該第一遺失封包之前而近似化該緩衝器大小。
本發明係能夠以許多方式實施,包含作為一個程序,一個設備,一個系統,一個電腦可讀取媒體,諸如一個電腦可讀取儲存媒體或一個電腦網路,其中,程式指令係透過光學或電子通訊鏈路而被傳送。於此說明書中,這些實施方式或任何其他本發明可以實施之形式係可以被稱為技術。一般而言,所揭示之程序之步驟的次序係可以在本發明之範疇之下作改變。
本發明之一或多個實施例之一個詳細說明係與顯示本發明之原理之後附圖式提供如下。本發明係結合如此之實施例而予以敘述,然而本發明係不受限於任何實施例。本發明之範疇係僅受限於申請專利範圍,且本發明係涵蓋許多替代方式、修改及均等物。許多特定細節係敘述於下之中,以提供本發明完全瞭解。這些細節係提供用於範例之目的,且本發明係可以根據申請專利範圍而被實施,而不需要這些特定細節之某些或全部。為了簡潔的目的,關於本發明之在此技術領域中已知之技術項目係不予以詳細敘述,使得本發明係不會不必要地被模糊。
改進針對於延遲特性之一個以封包為基礎之網路的傳輸效能係被揭示,該以封包為基礎之網路係諸如乙太網路,非同步傳輸模式(Asynchronous Transfer Mode,ATM),封包中繼器等等。於某些實施例中,指定之封包透過一個以封包為基礎之網路之平均傳送延遲及一串列對應的指定封包之傳送延遲變化係被減少或最小化。如於此所使用,“時序敏感封包”一詞係使用於指一個針對減少、最小化或避免傳送延遲係有利的或期望的之封包。如此之封包之一個範例係可以為一個使用於同步化例如於兩個不同位置之兩個或更多個程序或操作之時序封包。如此之時序封包係可以被使用於提供經過一個網路之相位或頻率參考,以於一個遠距位置鎖定一個鎖相迴路或鎖頻迴路。
如於此所使用,一個封包係指一個透過一個網路傳送之資料單元,諸如乙太網路封包,資料單元或根據許多不同的協定及標準之其他資料單元。封包格式及儲存於一個封包中之資料量係可以改變。為了顯示之目的,使用乙太網路封包之範例係於整個說明書中廣泛討論,雖然該些技術係亦可應用於其他封包形式。
第1圖係顯示使用於一個實施例中之一個網路延遲控制器。於此範例中,一個第一節點(101)係透過一個網路傳送路徑(104)傳送資訊封包至一個第二節點(102)。節點101及102係可以包含內建系統、電腦終端機或用於相關網路或網路元件之進入/離開點。一個網路延遲控制器(Network Delay Controller,NDC)(106)係使用於在節點(101)及一個網路傳送路徑(Network Transmission Path,NTP)(104)之間轉移封包。所有由該第二節點(102)所接收之資訊封包係透過該網路延遲控制器(106)而被傳送。於第1圖中,自該第一節點(101)至該網路延遲控制器(106)之最大資料傳送速率係被指定為T1。自該網路延遲控制器(106)至該網路傳送路徑(104)之最大資料率係被指定為T2。自一個連接至該網路延遲控制器(106)之埠至一個連接至該第二節點(102)之埠的網路傳送路徑(104)之最大資料率係被指定為T3。於此範例中,係假設該最大資料率T3係小於該最大資料率T1或T2。與此情況相關之問題係於此稱為“速率轉換抖動”,因而接收端係難以可靠地預測時序敏感封包之到達時間,此係一部分因為該時序敏感封包必須穿過的不同的端點至端點路徑之片段係可能具有不同的資料率。該最大資料率T3係小於該最大賞料率T1或T2之假設係意謂該第一節點(101)係具有一個擁有比該網路傳送路徑(104)本身為高的傳送頻寬之網路介面。因此,該第一節點(101)係能夠於一個比該網路傳送路徑(104)為快的速率下作資料傳送。如此之網路傳送路徑之一個範例係可以包含一個數位用戶迴路(DSL)傳送路徑。一個數位用戶迴路數據機係可以具有一個連接至一個電腦之“10 base T”乙太網路介面,舉例而言,其係能夠傳送每秒1000萬位元(10Mbps)。該數位用戶迴路本身係可以具有每秒100萬位元(1Mbps)之最大傳送能力。為了與一個諸如該第一節點(101)之相當高速傳送器一起操作,該網路傳送路徑(104)係包含一個用於一個資料封包之儲存空間,其係用於當該資料封包於一個完整的叢發中自該傳送器被接收且係相當慢地經該網路傳送路徑(104)被傳送。當該些封包自該第一節點(101)被接收時,該網路傳送路徑(104)係可以包含用於一個雖然受到限制但快速之封包叢發之額外的儲存空間。該網路傳送路徑(104)係可以包含常用已知的網路元件之組合,諸如開關,路由器,光纖媒介,類比用戶迴路等等。
包含於由該第一節點(101)傳送至該第二節點(102)之封包形式組之中之封包係被指定為時序敏感封包。該些時序敏感封包與其他封包之差異係在於該封包結構內之一或多個特殊域。對於乙太網路協定而言,為接在48位元來源及目的地位址域之後之6位元之“乙太網路形式域”係可以被使用。可替代的是,係可以使用48位元目的地位址域或目的地位址域之一個子集合、該來源位址域之一部分、酬載、該封包內之許多域的一個組合或者任何其他適當的域係可以被使用。諸如特定應用、系統之組態整體效率、網路協定及網路媒介係可以影響使用於區別時序敏感封包之域之選擇。由該網路延遲控制器(106)接收之封包係為了指定之時序敏感封包之出現而被監視。
於第1圖中,該網路延遲控制器(106)係包含一個速率限制器(107),其係使用於當封包自該第一節點(101)被接收時限制資料率,使得被傳送至該網路傳送路徑(104)之封包之傳送係根據該網路傳送路徑(104)之最大賞料率而被抑制。為了限制轉送至該網路傳送路徑(104)之封包之資料率,該網路延遲控制器(106)係可以儲存自該第一節點(101)接收之某些封包。假如一個非時序敏感封包係被接收且在一個不足量之儲存空間係空著之情況下無儲存空間可使用,且假如在不實質上超過該網路傳送路徑(104)之資料率能力下,該封包係不能夠被轉送至該網路傳送路徑(104),則該封包係被丟棄。較佳的情況為,當該些時序敏感封包係被該網路延遲控制器(106)接收時,所有時序敏感封包係被轉送至該網路傳送路徑(104)。因為資料係根據該網路傳送路徑(104)之最大資料率而被該網路延遲控制器(106)限制速率,所以該網路傳送路徑(104)根據使用於該網路延遲控制器(106)中之特定速率限制技術,典型地係將不具有超過在儲存空間中最大尺寸之封包。
該網路延遲控制器(106)係被建構成當一個特定時序敏感封包自該第一節點(101)輸出時,認知該封包。第2A-2C圖係顯示根據某些實施例之由該網路延遲控制器(106)所實施之一組操作。明確言之,第2A圖係顯示由網路延遲控制器所實施之封包處理程序,第2B及2C圖係顯示分別由該網路延遲控制器所使用之用於一個正常模式計時器之程序及一個用於一個安定模式計時器之程序,如下文所述。首先參照第2A圖,其係決定是否一個指定之時序敏感封包係已經被接收或者儲存於一個佇列之中(206)。於某些實施例中,時序敏感封包係總是當其被接收時被傳送,且絕不儲存於一個佇列之中,以用於後來之傳送。於如此之實施例中,步驟206係包含決定是否一個時序敏感封包係已經被接收到。於其他實施例中,一個時序敏感封包係可以在設定之環境下儲存於一個佇列之中,舉例而言,假如一個較高優先等級之時序敏感封包係被接收,或者期望在相同時間或幾乎相同時間時被接收,或者假如該網路傳送路徑係於咳時序敏感封包被接收時不能被使用。假如一個時序敏感封包係已經被接收或者其係於該佇列之中且無較高的優先等級之封包係被期望於該時序敏感封包經過該網路傳送路徑之傳送期間到達,則該時序敏感封包係被轉送至該網路傳送路徑,以用於傳送(225)。假如一個時序敏感封包係尚未被接收且無時序敏感封包於該佇列之中,則其係決定是否一個非時序敏感封包已經被接收或者係儲存於該佇列之中(208)。假如無時序敏感封包被接收且無時序敏感封包於該佇列之中,則該程序係再次開始,且步驟206及208係被實施,直到一個時序敏感封包或一個非時序敏感封包被接收或被發現出現於該佇列之中為止。假如於步驟208中,其係決定一個非時序敏感封包係已經被接收或者出現於該佇列之中,則其係決定是否一個安定模式係被實施(210)。於某些實施例中,步驟210係包含決定是否一個安定模式計時器係被設定且時間尚未消逝或者尚未被重置(亦即,是否該計時器係正在運轉)。該安定模式計時器係定義一個時間窗,於該時間窗期間,進來的非時序敏感封包係被緩衝,以保持該網路傳送路徑淨空,以用於傳送一個期望到達之時序敏感封包。
安定模式計時器之細節係結合第2B及2C圖而於下文敘述。於某些實施例中,該時間窗係開始於該時序敏感封包期望到達之時間。於其他實施例中,該時間窗係開始於該時序敏感封包期望的到達時間之前之一預定量之時間,以在該時序敏感封包到達之前,允許該網路傳送路徑有時間清除非時序敏感封包。於某些實施例中,該時間窗係可以延長至該時序敏感封包之期望到達時間之外,例如,以允許時序敏感封包晚到。於某些實施例中,該時間窗係起初可以被設定成在該時序敏感封包之期望到達時間到期然而可以延長,舉例而言,延長一預定時間量或根據一預定演算法,假如該時序敏感封包不在期望之時間到達。
假如該安定模式係於實施中(亦即,該安定模式計時器係已經被設定且尚未到期)(210)且其係於步驟208中決定一個非時序敏感封包係已經被接收,則假如無足夠的儲存空間可以被使用,該接收到的封包係不是被儲存於一個佇列中即是被丟棄(270)。假如該安定模式係於實施中(亦即,該安定模式計時器係已經被設定且尚未到期)(210)且無非時序敏感封包被接收(亦即,於步驟208中之決定係回答為肯定的,因為一或多個非時序敏感封包出現於該佇列之中,而非因為一個當未儲存於該佇列中之非時序封包係已經被接收),則於步驟270中不作任何動作。
假如該安定模式係不於實施中(亦即,該安定模式計時器係已經到期或已經被設定,亦即,不在運轉中)(210),則其係決定是否一個速率限制臨限值係已經符合(215)。許多不同的速率限制技術係可以根據該網路延遲控制器之實施而被採用。於一個實施例中,該速率係受限制,使得資料係於一個不超過該網路傳送路徑(104)之最大資料傳送能力的平均速率下被傳送至該網路傳送路徑。假如該速率限制臨限值係已經符合,則假如有任何接收到的非時序封包,其係儲存於一個佇列之中,或者假如無足夠的儲存空間可使用,則被丟棄。假如該速率限制臨限值係尚未超過,則一個非時間敏感封包係被傳送(220)。於某些實施例中,於步驟220中,非時序敏感封包係於一個先前先出之基礎下被傳送,使得假如有任何儲存於該佇列中之封包,則其係以其被接收之次序且在後續接收到的封包被傳送之前被傳送。於某些如此之實施例中,步驟220係包含儲存一個不於步驟220之一個特定重複程序中被傳送(例如,因為一個較早接收到的封包係儲存於該佇列之中)且尚未儲存於該佇列之中之後來接收到的封包,於該佇列中之一個在任何可能已經儲存於該佇列中較早接收到的封包之下或之後的位置之中。於其他實施例中,該先進先出方式係可能不被使用,且先前尚未儲存於該佇列中之接收到的封包係可以在任何封包自該佇列中被拉出以用於傳送之前被傳送。一旦一個封包係已經被傳送(220),該程序係再度開始。
參照第2B圖,每當一個指定的時序敏感封包係被接收時(245),一個正常模式係被設定(250)。較佳地,該正常模式計時器係根據當下一個時序敏感封包係將到達之一個指定時間減去一個定義在下一個時序敏感封包之期望的到達時間之前之一個視窗之時間值之一個期間而被設定,其係於此稱為“安定模式”,於該期間,非時序敏感封包將不被傳送至該網路傳送路徑,以確保該網路傳送路徑係可使用於當該時序敏感封包到達時傳送該封包。在該設定時間值已經到達之後,該正常模式計時器將時間終了。一旦該正常模式計時器係已經被設定(250),假如該安定模式計時器係正在運轉(亦即,係被設定且尚未時間終了),則該安定模式計時器係被重置(停止)(252)。於某些實施例中,第2B圖之步驟252係僅在其被決定一個時序敏感封包已經被傳送之情況下被實施,以確保該安定視窗係維持實施中(亦即,無非時序敏感封包被傳送),直到該安定模式計時器被設定之時序敏感封包係已經被傳送為止。於某些實施例中,第2A圖之步驟225係包含:假如被設定且尚未時間終了則重置該安定模式計時器,且於如此之實施例中,第2B圖之步驟252中係被省略。
參照第2C圖,每尚該正常模式計時器時間終了(255)時,該安定模式計時器係被設定(260)。對於如上文所述之在非時序敏感封包將不被傳送至該網路傳送路徑之期間而言,該安定模式計時器係被設定成一個時間值。該安定模式計時器在該安定模式時間值已經達到之後將時間終了。
較佳的情況為,該正常模式計時器係預期一個指定之時序敏感封包的週期性。該安定模式計時器係使用於控制非時序敏感封包至該網路傳送路徑(104)之流動,使得當一個時序敏感封包係被預期到達時,非時序敏感封包將不占用該網路傳送路徑。於某些實施例中,該網路延遲控制器(106)係被建構成在接收一個時序敏感封包時,設定一個正常模式計時器成一個特定期間TN ,該特定期間TN 係對應於該些時序敏感封包之已知週期性的傳送間隔。舉例而言,假設該網路傳送路徑(104)係具有每秒100萬位元(1Mbps)之最大傳送速率T3 ,且該第一節點(101)至該網路傳送路徑(104)之介面T1 及T2 係為具有每秒1000萬位元(10Mbps)之最大傳送能力之乙太網路連結。再者,假設該指定之時序敏感封包係於1秒之週期性間隔被傳送。對於此範例之剩餘敘述而言,該些指定之時序敏感封包將被稱為“1pps封包”,雖然於此所述之技術亦可應用於具有一個不同的到達速率之時序敏感封包。
在該正常模式計時器時間終了之前,由該網路延遲控制器(106)所接收之所有非1pps封包將被限制速率且被適當地轉送至該網路傳送路徑(104)。第3A圖係提供於一個實施例中於被該網路延遲控制器(106)所調整之12毫秒間隔下該網路傳送路徑(104)之傳送速率之圖形表示。如示於第3A圖,一個12K位元/12毫秒或每秒100萬位元(1Mbps)之最大網路傳送路徑傳送速率係被指定。此外於第3A圖之中,一個1200位元/12毫秒或每秒100K位元之臨限傳送速率係被指定。假如該計算出之網路傳送路徑傳送速率係實質上超過每秒100K位元之臨限傳送速率,則由該網路延遲控制器(106)所接收之封包係不被轉送至該網路傳送路徑(104)。如示於第3A圖,於時間0 T0時,一個64位元組之封包係被轉送至該網路傳送路徑(104)。因為該網路延遲控制器/網路傳送路徑介面係相當快,所以瞬時計算出之傳送速率係當該整個封包完全被轉送至該網路傳送路徑(104)時,快速地增加至每秒38.416K位元之最大速率。當該網路傳送路徑(104)傳送該封包時,於一個12毫秒之時間窗上之傳送速率係減少成為0。於T1時,一個1500位元組之最大尺寸封包係被轉送至該網路傳送路徑。當該封包被轉送至該網路傳送路徑(104)時,於一個12毫秒間隔之該計算出之傳送速率之尖峰係為每秒900K位元。雖該封包透過該網路傳送路徑(104)傳送時,另一個最大尺寸封包係於時間T2時被該網路延遲控制器(106)接收。然而,該封包係不被轉送至該網路傳送路徑,直到於一個12毫秒之時間窗上之計算出的傳送速率係實質上為每秒100K位元為止,例如於所示之範例中之T4時間時或接近T4時間時。當該第二封包被傳送至該網路傳送路徑(104)時,在該第二封包被完全轉送至該網路傳送路徑(104)之情況下,該計算出之網路傳送路徑(104)的傳送速率之尖峰係為每秒100萬位元。類似地,於時間T3所接收之後續最大尺寸封包係被儲存且不轉送至該網路傳送路徑,直到於一個12毫秒之時間窗上之計算出的傳送速率係實質上為每秒100K位元為止,亦即,於所示之範例中之T5時或接近T5時。典型地,乙太網路之一個最大尺寸封包係為1500位元組。假如該網路係建構成接收一個1500位元組之最大尺寸封包,則其將花費最大值1500位元組*8位元/位元組*1秒/1000萬位元或1.2毫秒之時間,以自該網路延遲控制器(106)轉移一個封包至該網路傳送路徑(104)。假如只要資料自該網路延遲控制器(106)被接收時該網路傳送路徑(104)係開始傳送,則在一整個最大尺寸封包自該網路傳送路徑(104)接收之前,該網路傳送路徑(104)將已經於每秒100萬位元之速率下大約傳送1200位元相同的封包。因此,該網路傳送路徑(104)將需要儲存大約12000位元(1500位元組*8位元/位元組)減去1200位元,即10800位元,以容納一個最大尺寸封包。為了此範例之目的,假設速率限制功能係發生作用,以確保在一個被該網路延遲控制器(106)所接收之封包被轉送至該網路傳送路徑(104)之前,係需要不超過每秒100K位元之計算出之網路傳送路徑之傳送速率。因此,該正常模式計時器係應該被設定成在最差的情況下,允許儲存於該網路傳送路徑(104)之最大賞料量在下一個1pps封包應該到達之前被傳送離開該網路傳送路徑(104)。對於在每秒100萬位元下傳送之10800位元之資訊而言,該正常模式計時器係應該被設定成於1秒減去10.8毫秒即989.2毫秒時時間終了。當該正常模式計時器時間終了時(255),一個安定計時器係被設定(260)。該安定計時器係應該被設定成至少開始於該正常模式計時器時間終了至下一個1pps封包期望到達之時間之期間內運轉。較佳的情況為,該安定模式計時器係被設定成運轉一個略微長一點之期間,以提供針對下一個1pps封包到達時間之抖動的界限。在正常模式計時器時間終了之後及在該安定時間窗計時器時間終了之前,假如儲存空間足夠,則任何自該第一節點(100)接收而來之非時序敏感封包之封包係不被轉送至該網路傳送路徑(104),而係被該網路延遲控制器(106)儲存。假如一個相當小的封包被接收,且其係決定其係能夠被轉送,且當下一個時序敏感封包係被期望時,於12毫秒上之傳送速率係等於0,則其係可以選擇地被轉送至該網路傳送路徑(104)。否則,該些非時序敏感封包係被丟棄。因此,較佳的情況為,該正常模式計時器係被設定成一個下一個時序敏感封包期望到達之時間間隔減去清除在該網路傳送路徑(104)中任何被儲存資料所需之時間之值。較佳的情況為,該安定計時器係被設定,以限制非時序敏感之資料傳送於該網路傳送路徑(104)上被抑制之時間長度。在一個時序敏感封包被接收且被該網路延遲控制器(106)偵測及轉送之後,該安定計時器係被清除(252),且所有由該網路延遲控制器(106)所儲存或接收之其他資料流量係被限制速率且轉送至該網路傳送路徑(104)。假如下一個期望的時序敏感封包係延遲很久或者不到達且該安定計時器係時間終了,則所有由該網路延遲控制器(106)儲存或後來接收之資料流量係被限制速率,且轉送至該網路傳送路徑(104)。
可替代的是,當下一個指定的時序敏感封包係預定應到達時,該正常模式計時器係能夠被設定成時間終了,且該安定模式計時器係能夠在該正常模式計時器係設定成時間終了之前一預定時間被設定。
於上述且顯示於第2A-2C圖之範例中,資料於每秒1000萬位元被接收且於每秒100萬位元被輸出之速率轉變係可替代地被結合於該網路延遲控制器(106)之內。如此之功能的組態或重新配置係不需要針對指定之時序敏感封包之處理、正常模式計時器及安定計時器等等之操作而改變該網路延遲控制器(106)之操作。為了揭示於本文之範例所假設之功能的分割係已經大部分被選擇,以用於在本文中提供簡潔的目的。網路元件之其他邏輯及實際群組及配置係可能的,其係根據該實施方式或環境而定。
於上文所述且示於第1-2C圖之實施例中,資料傳送至該網路傳送路徑(104)之傳送係根據基於所使用之特定速率限制方法於該網路傳送路徑(104)內之緩衝器的利用之最壞情況假設而被抑制。亦即,資料係被抑制推測該網路傳送路徑(104)內之資料緩衝器係不比容納一個最大尺寸封包所需之大小為大之一段期間。該網路延遲控制器(106)係根據該網路傳送路徑(104)基於一個最大尺寸封包之傳送時間而限制最大速率。可替代的是,該網路延遲控制器係可以監視該網路傳送路徑之緩衝器利用。假如該網路傳送路徑係能夠儲存超過一個最大尺寸封包,則該網路延遲控制器係可以監視該網路傳送路徑之緩衝器利用係有利的,因此,較好地利用該網路傳送路徑中可使用之儲存空間。於某些實施例中,該網路延遲控制器係追蹤該網路傳送路徑內之緩衝器利用,且根據其之尺寸、於該網路傳送路徑中估計之目前資料量及在下一個時序敏感封包期望到達之前剩餘的時間而轉送進來的非時序敏感封包。
第3B圖係顯示如同上文所建議之該網路延遲控制器建構成計算該網路傳送路徑內之緩衝器利用之實施例。該網路組構(300)係包含一個網路延遲控制器(320),其係部分藉由使用一個緩衝器利用計算器(325)而控制至網路傳送路徑(330)之資料封包流。於此範例中,其係假設經過該網路傳送路徑之最大資料率T3係小於最大資料率T1及T2。當封包係由該網路延遲控制器(320)傳送至該網路傳送路徑(330)時,該緩衝器利用計算器(325)係追蹤當該些封包傳送經該網路傳送路徑(330)時,儲存於該網路傳送路徑(330)內之封包資料量。給定該緩衝器用計算器(325)之一個目前讀數、該網路傳送路徑(330)之傳送速率及在一個指定時序敏感封包應該到達之前之剩餘時間,該網路延遲控制器(320)係操作成確保在下一個時序敏感封包期望到達時間時,該網路傳送路徑(330)係不儲存任何資料。
第4A-4C圖係顯示一組程序,諸如可以實施於一個網路延遲控制器之上以計算網路傳送路徑緩衝器利用及根據該計算而控制封包流。第4A圖係顯示封包透過一個網路傳送路徑根據計算出之網路傳送路徑緩衝器利用及一個時序敏感封包之期望的到達時間而被接收及傳送之程序。第4B圖係顯示使用於決定示於第4A圖之操作的正常模式何時實施之正常模式計時器之操作。第4C圖係顯示如何藉由一個傳送計時器計算於一個網路傳送路徑中之目前緩衝器利用。
於一個實施例中,第3B圖之該網路延遲控制器(320)係實施第4A-4C圖之程序。於操作時,該網路延遲控制器係可以轉送封包至該網路傳送路徑且維持該網路傳送路徑緩衝器利用之一項計算。於下列敘述中,該網路傳送路徑緩衝器之真正容量係不必要由該網路延遲控制器考量。此外,當該網路傳送路徑之容量係為一個最大尺寸封包所需之最小值,則該網路傳送路徑緩衝器利用演算法係變成等於速率限制演算法。於下列範例中,其係假設該網路延遲控制器係包含考量該網路傳送路徑緩衝器之大小以及該網路傳送路徑之傳送速率。一個網路傳送路徑之瞬時緩衝器利用係能夠透過一個傳送計時器之目前讀數而被計算。當一個封包係被該網路延遲控制器傳送至該網路傳送路徑時,一個傳送計時器係根據該被傳送封包之大小而被設定。在被設定之後,該傳送計時器係根據該網路傳送路徑之傳送速率而倒數。當額外的封包係被該網路延遲控制器傳送時,每一個封包之大小係被加入至該傳送計時器之目前內容之中。以此方式,該網路延遲控制器係其採用之安定時間之量之運轉計算(亦即,無進一步封包被傳送至該網路傳送路徑之間隔長度),以清除該網路傳送路徑緩衝器,例如,以確保當下一個時序敏感封包到達時該緩衝器係空的。
參照第4A圖,該網路延遲控制器係決定是否一個時序敏感封包係已經到達或者係儲存於一個佇列之中(430)。假如一個時序敏感封包係已經到達或者係儲存於一個佇列之中,則其係被傳送(470)。假如無時序敏感封包已經被接收且於該佇列中係無時序敏感封包,則該網路延遲控制器係檢查,以查看是否一個非時序敏感封包係已經被接收或出現於該佇列之中(435)。假如無非時序敏感封包已經被接收或出現於該佇列之中,則該網路延遲控制器係持續檢查一個時序敏感或非時序敏感封包出現於該佇列之中或被接收(430及435)。假如一個時序敏感封包係已經被接收或出現於該佇列之中,則該網路延遲控制器係檢查是否該封包係能夠在下一個時序敏感封包到達之前透過該網路傳送路徑被傳送,且不使該網路傳送路徑緩衝器溢流(440)。為了如此實施,該網路延遲控制器係比較下一個非時序敏銳封包應該被傳送之封包大小(Ps)及結合第4C圖於下文予以更詳細說明之一個傳送計時器(Pt)之內容的總和以及該網路傳送路徑之緩衝器大小(Bsize)(440)。此項比較係決定是否將該接收到的封包之大小(Ps)之封包加入至已經透過該傳送計時器被計算出之於該網路傳送路徑緩衝器(Pt)中之資料係將超過該緩衝器之容量。該網路延遲控制器亦比較表示為清除該緩衝器所需之安定時間(亦即,Ps+Pt除以該網路傳送路徑之傳送速率)之Ps及Pt的總和以及直到下一個時序敏感封包被期望到達之時間(Te)(440)。於某些實施例中,Te係等於該正常模式計時器所剩餘之時間,其之操作係顯示於第4B圖。於某些實施例中,該正常模式計時器係於一個除了該下一個時序敏感封包期望的到達時間之外的時間,例如,緊接在該期望的到達時間之前或之後之時間。於某些如此之實施例中,直到下一個時序敏感封包被期望到達之時間Te係由在正常模式計時器時間終了之前所剩餘的時間,係例如藉由將一預定補償值加入至該正常模式計時器時間終了之前所剩餘之時間或自該正常模式計時器時間終了之前所剩餘之時間減去一預定補償值而推導出。於其他實施例中,一個分離的計時器係可以被使用於追蹤該時間Te,直到下一個時序敏感封包期望到達為止。假如Ps及Pt的總和係小於或等於Bsize(440)且係小於Te,則一個非時序敏感封包係被轉送至該網路傳送路徑(450)。如上文結合第2A圖之步驟220所述,對於不同的組態及/或實施方式而言,使用於決定在超過一個封包可以被使用之情況下哪一個非時序敏感封包係於步驟450中被傳送之演算法係可以不同的。假如Ps及Pt的總和係大於Bsize或大於或等於Te(440)且因為一個非時序敏感封包係已經被接收且尚未儲存於該佇列之中(亦即,不因為一或多個如此之封包係已經出現在該佇列之中)一個肯定的結果係於步驟435中獲得,則假如儲存空間係可使用之情況下該接收到的封包係儲存於該佇列之中,且假如無儲存空間可以被使用之情況下被丟棄(460)。
第4B圖係顯示一個用於控制一個正常模式計時器之開始之程序。於步驟445中,其係決定是否一個時序敏感封包係已經被接收。每次如此之封包被接收時,該正常模式計時器係被起動(445)。
較佳的情況為,於網路延遲控制器中所採用之計時器設定及/或決定標準係被選擇,以允許期望的時間敏感封包某些到達時間變異。假如該正常模式計時器時間終了,則該狀況係指示於示於第3B圖及第4A-4C圖所示之範例中,下一個時序敏感封包係不如預期實質上到達,因而該計時器時間終了係等於計時結束。於一個實施例中,一個計時結束係導致一個預設情況,使得Te係被推測為此Ps及Pt的總和大,直到正常計時器重新開始為止,例如藉由接收一個後續時序封包,使得藉由步驟435、440及450之操作,使得假如有任何非時序封包被接收或出現在該佇列中,則只要該網路傳送路徑之輸入緩衝器係不會太滿,非時序封包之傳送將持續。較佳的情況為,於示於第3B-4C圖之範例中,該正常模式計時器係被設定成一個略大於下一個期望的時序敏感封包之時間的值,以允許剩餘的網路抖動。於某些實施例中,於一個計時結束(亦即,在一個期望的時序敏感封包到達之前,正常模式計時器時間終了)之情況下,該正常模式計時器或一個輔助計時器係可以例如依據該些時序敏感封包被預期到達之已知的或期望的週期性,根據被期望到達之下一個時序敏感封包之預期的到達時間而被起動。於如此之範例中,該正常模式計時器係被重新起動,或者一個輔助計時器被起動,以在預期在期望於該正常模式計時器原始被設定之時序敏感封包之後到達之一個時序敏感封包之到達之下,恢復正常操作。如此之組態係將使正常操作在一個期望的時序敏感封包絕不會到達之情況下重新開始,例如因為該封包係被丟掉或於上游網路中轉移時遺失。
第4C圖係顯示於示於第4A-4C圖之範例中之傳送計時器之操作。當一個封包係被轉送至該網路傳送路徑時(480),如於第4A圖之步驟450及/或470中,於該封包中之位元數係被加入至該傳送計時器之內容(495)。當該傳送計時器之內容係大於零(485),該傳送計時器係以與該網路傳送路徑之最大傳送速率相同之速率減少(490)。該傳送計時器之內容係指示目前緩衝於該網路傳送路徑之中且經過該網路傳送路徑傳送之資料的數量。該傳送計時器之內容當除以該網路傳送路徑之傳送速率時,其係指示所有資料將透過該網路傳送路徑傳送之剩餘時間。
某些網路組態係可以傳送複數個指定之時序敏感封包流。較佳的情況為,當超過一種形式之時序敏感封包被該網路延遲控制器所指定或認知時,不同形式之時序敏感封包係相對於彼此而排定優先等級。再者,於正常模式及安定模式計時器被使用之實施例中,例如第1-2C圖,對於每一個由該網路延遲控制器所認知之指定的時序敏感封包而言,一個分離的正常模式計時器及一個分離的安定模式計時器係被維護。當一個較低優先等級時序敏感封包之安定窗係與一個較高優先等級時序敏感封包之安定窗重合時,該較低優先等級之封包將被該網路延遲控制器儲存,且在該較高優先等級之封包被接收且轉送至該網路傳送路徑之後或在該較高優先等級之安定模式計時器時間終了之後被傳送。假如該網路延遲控制器係維持該網路傳送路徑之緩衝器利用之一項計算,則一個較低優先等級之時序敏感封包將僅在其係被該網路傳送路徑決定該封包係在一個較高優先等級封包期望到達之前將不經過該網路傳送路徑傳送之情況下被儲存。
某些網路協定係包含一個規定,以根據一個目的地網路路徑之擁塞參數而調適進來的流量之速率。對於乙太網路而言,此係可以透過使用暫停封包而完成。當於一個乙太網路內之一個接收節點係偵測到其將在緊接的未來或不久將來不能夠處理接收到的資料之情況時,該節點將傳送暫停封包至一個起源節點,其係起始資料封包。一個時間間隔係於一個暫停封包之中被指定,以指示無封包被傳送至該接收節點之時間長度。暫停封包係可以被使用於更效地利用分佈於一個網路中整個不同的節點之資料緩衝器。一般而言,於一個諸如示於第1圖之實施例中,假如暫停封包係被計時,使得當一個指定之時序敏感封包係到期應被傳送時,該第一節點(101)將不被暫停,則該暫停封包係能夠被該網路延遲控制器(106)傳送至該第一節點(101),而不實質上影響指定之時序敏感封包之網路延遲。
於上文所述之實施例係主要將注意力放在解決速率傳送抖動之問題以及其對於時序敏感封包之效果。然而,一個網路延遲控制器係能夠額外被使用及/或取代使用,以實質上消除當複數個網路流量來源企圖透過一個共同的網路埠傳送時所導致之時序敏感封包的仲裁延遲。如於此所使用,“任何延遲”一詞係指於經過由一個第一傳送節點所傳送之資料的一個中間節點或共同網路埠傳送中之延遲,其係因為該中間節點或共同網路埠係忙於轉送一個第二(或複數個其他的)傳送節點透過相同的中間節點或共同埠傳送之資料。傳統上,如,如此之仲裁延遲係透過一個優先化機制而對於選擇出之封包最小化,於該優先化機制中,高優先等級之封包形式係總是被放置於目的地為被傳送離開一個特定網路埠之封包的一個佇列之頂端。舉例而言,乙太網路係能夠透過使用虛擬區域網路貼標籤而提供如此之優先化。然而,即使使用優先化之方法,時序敏感封包係仍然根據一個特定網路輸出埠之任意狀態而產生隨機延遲。由可能的可變任意延遲所導致之如此的隨機延遲係於此稱為“任意抖動”。明確言之,假如一個高的優先等級封包當另一個封包傳送係已經進行時變成可以被一個網路埠傳送,則該高的優先等級封包將被延遲。
參照第5圖,一個網路組態(500)係被顯示,其中,一個第一、第二及第三節點(分別為501,502,503)係連接成傳送網路封包資料至一個網路流控制器(510)。該網路流控制器(510)係包含於網路設備中常發現之網路功能,該網路設備係諸如集線器、開關及路由器。於第5圖中,該網路流控制器(510)係管理由該第一、第二及第三節點(分別為501,502,503)傳送至一個輸出網路埠之網路封包流,該輸出網路埠係連接至該網路傳送路徑(520)。因此,於第5圖中,該第一、第二及第三節點(501,502,503)係皆能夠透過該網路流控制器(510)及該網路傳送路徑(520)傳送網路封包至一個第四節點(530)。根據特定的形式,該網路流控制器係可以導引某些網路流至由某些埠至其他埠。舉例而言,一個乙太網路集線器典型地係不導引流量。反而是,於一個集線器之一個埠所接收之任何網路流量係僅於該集線器上之其他埠處輸出。其他網路流控制器,諸如開關及路由器,典型地係“學會”導引含有至一個具有相同來源位址之資料流量起源之埠的特定目的地位址的資料流量。許多不同的導引流量之模式及方法係使用於實際的網路設備之中。該網路流控制器(510)係包含一個選路由邏輯功能(515),其係可以包含任何導引網路流量之方法。該網路流控制器(510)亦包含一個網路延遲控制器(540),以最小化指定時序敏感封包之傳辛的任意抖動。該選路由邏輯係選擇性地耦合流量由該第一、第二及第三節點(501,502,503)至該網路延遲控制器(540)。示於該網路流控制器(510)中之特定功能分割係並非唯一方式。事實上,許多結合一個網路延遲控制器(540)之該網路流控制器(510)之替代結構係可能的。於操作時,實質上隨機的封包流量係被該第一、第二及第三節點(501,502,503)所產生,且透過該網路流控制器(410)及該網路傳送路徑(520)而轉送至該第四節點(530)。該網路延遲控制器(540)係在由該網路流控制器(510)所接收之封包中偵測出一個指定的時序敏感封包。當一個時序敏感封包被偵測出時,其係被放置於封包之佇列的開始處,以透過該網路傳送路徑(520)被傳送至該第四節點(530)。大約與此同時,一個正常模式計時器係根據下一個對應的指定時序敏感封包期望可以被使用於由該網路流控制器(510)傳送之時間間隔,而被設定成時間終了。使用該正常模式計時器,該網路傳送路徑(520)將確保當下一個時序敏感封包到達時,將無其他至該網路傳送路徑(520)及第四節點(530)之封包傳送開始或於進行中。假如由該網路流控制器(510)至該第四節點(530)之該網路傳送路徑(520)之傳送速率係小於該網路流控制器(510)之傳送速率,則該網路延遲控制器係亦可以補償該網路路徑中一項傳送速率減少所導致之抖動。
第6A-6D圖係顯示該網路延遲控制器(540)最小化該網路流控制器(510)內之仲裁抖動及關於該網路傳送路徑(520)之傳送抖動之操作。當該網路傳送路徑之傳送速率係小於該網路流控制器至該網路傳送路徑之傳送速率時,關於該網路傳送路徑之傳送抖動係可以被禁止。第6A圖係顯示一個程序,藉由該程序,自複數個輸入埠(例如,自第5圖之節點1,2,3等等)之一接收而來之封包係被加入至將透過一個網路傳送路徑傳送之佇列中。第6B圖係顯示使用於決定示於第6A及6C圖之正常模式操作何時實施之正常模式計時器之操作。第6C圖係顯示封包由該用於傳送之佇列透過該網路傳送路徑被拉引之程序。第6D圖係顯示於該網路傳送路徑中之緩衝器利用之目前水準係如何藉由一個傳送計時器而被計算。
如示於第6A圖,該網路延遲控制器係偵測是否一個封包被接收(605)。假如該接收到的封包係為一個時序封包(610),則該封包係被放置於將被轉送至該網路傳送路徑之封包佇列之頂端(615),且該正常模式計時器係被設定(第6B圖之620及625)。應注意的是,假如該網路傳送路徑之傳送速率係等於或大於該網路流控制器介面至該網路傳送路徑之傳送速率,則該傳送計時器係對於該網路延遲控制器無影響,且不需要包含在內。假如一個接收到的封包係不為一個時序封包(610),則該接收到的封包係儲存於該佇列之中或假如該佇列係滿的則丟棄(660)。
第6C圖係顯示於第5圖及第6A-6B圖之範例中封包自該佇列中取出及傳送之程序。於第6C圖之程序中,其係與第6A圖及第6B圖之程序平行運作,該傳送佇列係被檢查,以決定是否其係空的(645)。假如其係不是空的,則該網路延遲控制器係決定是否該佇列中之頂端封包係為一個時序敏感封包(647)。假如該頂端封包係為一個時序敏感封包,則其係透過該網路傳送路徑被傳送(655)。假如該頂端封包係不為一個時序敏感封包,則其係決定是否於該佇列中之封包係能夠在下一個期望的時序敏感封包到達之前不使該網路傳送路徑之緩衝器溢流之下,完全透過該網路傳送路徑傳送(650)。假如如此,則自該佇列而來之一個非時序敏感封包係被傳送(655),且該傳送佇列係再次被檢查,以決定是否其係為空的(645)。假如其係決定於該佇列中之一個封包係不能夠在下一個期望的時序敏感封包到達之前不使該網路傳送路徑之緩衝器溢流之下,完全透過該網路傳送路徑傳送(650),則此時係不傳送任何封包。
第6D圖係顯示於示於第4A-4C圖之範例之傳送計時器之操作。當一個封包係轉送至該網路傳送路徑時(680),如同於第6C圖之步驟655,該傳送計時器係以與該網路傳送路徑之最太傳送速率相同之速率減少(690)。該傳送計時器之內容係指示目前緩衝於該網路傳送路徑之中且經過該網路傳送路徑傳送之資料的數量。該傳送計時器之內容當除以該網路傳送路徑之傳送速率時,其係指示所有資料將透過該網路傳送路徑傳送之剩餘時間。
為了使一個網路延遲控制器有效地利用一個給定網路傳送路徑之可使用頻寬,該網路延遲控制器具有一個網路傳送路徑之最大產出容量之相當準確計算係重要的。假如一個網路延遲控制器係具有一個網路傳送路徑中可使用的儲存之實質準確的計算,則於傳送效率之進一步加強係能夠被獲得。然而,於實際上,一個特定網路傳送路徑之最大傳送速率及緩衝器容量對於一個一般目的且對於許多不同的網路組態之網路延遲控制器之廣佈配置而言,係可能為任意的及不可預測的。
第7圖係顯示一個鏈路頻寬分析器(Link Bandwidth Analyzer,LBA)之網路組構(700),該鏈路頻寬分析器係使用於自動計算一個給定網路傳送路徑之頻寬及輸入緩衝器大小。該網路組構(700)係包含一個連接至一個第一網路延遲控制器(710)之第一節點(705)及一個連接至一個第二網路延遲控制器(740)之第二節點(720)。如示於第7圖,該第二網路延遲控制器(740)係包含一個鏈路頻寬分析器(742)。在該網路傳送路徑(760)之分析期間,實質上所有由第一節點及第二節點(分別為705及720)而來之網路流量係被避免傳送經過該網路傳送路徑(760)。該鏈路頻寬分析器(742)係藉由透過該網路傳送路徑(760)在該第二網路延遲控制器(740)網路介面之最大傳送速率下,傳送一序列封包至該第一網路延遲控制器(710)而開始操作。第8圖係顯示由該第二網路延遲控制器(740)傳送之13個封包(800)之示範性序列。較佳的情況為,為了增加該網路傳送路徑(760)之緩衝器計算之準確性,該些被傳送之封包係小的且大小相同。較佳的情況為,該些封包之序列係足夠大,以確保在該網路傳送路徑(760)之傳送速率係低於第二網路延遲控制器(740)之傳送速率之情況下,與該網路傳送路徑(760)相關之任何緩衝器將溢流。每一個被傳送的封包係包含一個序列碼,其係指示由第二網路延遲控制器(740)所傳送之封包之序列內之每一個特定的封包之位置。該鏈路頻寬分析器(712)係檢查自該第二網路延遲控制器(740)接收之每一個封包之序列碼。假如對於所有傳送之封包而言,未發現任何遺失序列碼,則該網路傳送路徑(760)之頻寬係被假設為能夠支援該第二網路延遲控制器(740)的網路介面之最太傳送速率。假如遺失的接收到的序列碼係被該鏈路頻寬分析器(712)偵測到,則其係假設該網路傳送路徑(760)之最太傳送速率係小於該第二網路延遲控制器(740)的網路介面之最大傳送速率。於第8圖中,具有序列碼5(820)、8(830)及11(840)之封包係加上陰影,以指示其係不被該第一網路延遲控制器(710)所接收。當遺失的序列碼被發現,則於該第一網路延遲控制器(710)中之該鏈路頻寬分析器(712)係在序列碼被發現遺失之前偵測所接收到的封包數,該封包數係於該封包序列(800)中被指定為NR 。如示於第8圖,由該第二網路延遲控制器(740)所傳送之封包總數減去在序列碼被發現遺失之前所接收到的封包數係被指定為NT 。該第一網路延遲控制器(710)中之該鏈路頻寬分析器(712)係藉由將NT 除以成功地被傳送至遠端之子集合NT 內之封包數,而找到該第二網路延遲控制器(740)的最大傳送速率RN D C 與該網路傳送路徑(760)之最大傳送速率RN T P 之適當比值PR ,其中,成功地被傳送至遠端之子集合NT 內之封包數係NT 減去遺失之封包NM ,使得PR =NT /(NT -NM )。於示於第8圖之範例中,NT =9,NT 中之3個係不到達遠端(亦即,NM =3),使得PR =9/(9-3)=1.5。亦即,該網路延遲控制器之最大傳送速率係為該網路傳送路徑之最大傳送速率之1.5倍,亦即,其係造成在該網路傳送路徑輸入緩衝器已經填滿且該序列之第一個封包係遺失之後,該網路傳送路徑僅能夠對於每3個由該網路延遲控制器傳送至該網路傳送路徑之封包傳送2個封包。該比率係使用於在該網路傳送路徑(760)具有一個相當低最大傳送速率之情況下該網路延遲控制器中之速率限制,以及用於計算被轉送至該網路傳送路徑(760)之封包之傳送次數。
該網路傳送路徑(760)之大約輸入緩衝器大小係等於NR -(NR /PR )乘上被傳送序列之平均封包大小。此等式係能夠藉由設定該大約緩衝器大小等於在該緩衝器變成填滿的之前傳送至該網路傳送路徑之資料量而推導出,該緩衝器變成填滿係由該第一遺失封包(亦即,NR 乘上該傳送序列之平均封包大小)自在該緩衝器係被填充期間TR (亦即,TR 乘上該網路傳送路徑之最大傳送速率RN T P )透過該網路傳送路徑傳送之資料量所指示。此係產生下列方程式:Bsize=NR *平均大小-TR *RN T P 。該週期係能夠藉由將封包數NR 乘上平均封包大小而找到,以獲得在該緩衝器係填滿期間該網路延遲控制器傳送至該網路傳送路徑之大約資料量,且將該結果除以該網路延遲控制器之最大傳送速率,亦即,TR =NR *平均大小/RN D c 。允許諸如封包間延遲之其他網路參數係亦可以被考量。於上述方程式中以緩衝器大小取代TR 係產生Bsize=NR *平均大小-(NR *平均大小/RN D C )*RN T P ,藉由以PR 取代RN T P /RN D C 而變成Bsize=NR *平均大小-(NR *平均大小/RN D c )*RN T P ,該方程式係進一步簡化成為Bsize=〔NR -(NR /PR )〕*平均大小。對於示於第8圖之示範性封包序列而言,NR 係等於4,該比值PR 係等於1.5,且該網路傳送路徑(760)之大約輸入緩衝器大小係等於1.333乘上該被傳送序列之平均封包大小。該計算出之比值PR 及該計算出之緩衝器大小係提供至該第二網路延遲控制器(740)。因此,給定一個鏈路頻寬分析器之結果,一個網路延遲控制器係被提供計算出之網路參數,其係能夠被使用於網路延遲控制方法,諸如一個速率限制形式之方法(作為範例而無限制之意,諸如示於第1-2C圖中之方法)或者一個網路傳送路徑緩衝器管理形式之方法(作為範例而無限制之意,諸如示於第3-4C圖中之方法)。
指定時序敏感封包一個一般目的及動態方法係透過一個封包間隔協定(Packet Interval Protpcol,PIP)而被提供。使用一個封包間隔協定,指定時序敏感封包係不需要為週期性的或在結合網路延遲控制之網路的配置之前被定義。一個封包間隔協定資料封包之一個示範性格式係示於第9圖。示於第9圖之該封包間隔協定封包格式(900)係包含一個位址資料域(902),其係可以包含對於該資料封包之目的地及起源地之辨識資料。亦包含於該封包間隔協定封包格式(900)的是一個封包間隔協定形式域(904),其係使用於區分一個封包間隔協定及其他封包。一個封包間隔協定辨識元域(906)係使用於區分與一個特定功能或應用相關封包間隔協定封包及其他封包間隔協定封包。包含於該封包間隔協定封包格式(900)內的優先權域(908)係使用於優先權化許多不同的封包間隔協定封包之網路延遲控制。一個封包間隔域(910)係指定另一個具有相同的封包間隔協定辨識元封包之間隔協定封包將被傳送之期間。該封包之資料或酬載係可以包含於該資料域(912)之中。於操作時,該封包間隔協定域典型地將被管理,使得舉例而言,一個與一個應用之封包相關之封包間隔協定辨識元之指定係不與與該相同網路上另一個應用相關之封包之封包間隔協定辨識元重疊。較佳的情況為,一個最小間隔係指明於該封包間隔協定之中,使得指定之時序敏感封包係不能夠消耗一個給定網路路徑之可使用頻寬之一個不可接受的大的百分比。
許多元件及實施例係能夠被結合及併入網路流控制器之中,諸如開關,集線器,路由器及閘道器,以提供適合於任意及一般目的網路應用之網路延遲控制器之一個網路。一般而言,一個網路延遲控制器係操作成確保在一個第一指定時序敏感封包被偵測到之後,後續的指定時序敏感封包將不被外部的網路流量所延遲,該外部的網路流量係可以被儲存於一個埠中且經由該埠或網路傳送路徑而被傳送。因此,一個網路延遲控制器係提供一個相當小的期間,時序敏感封包係能夠於該相當小的期間無阻礙地及以最小及可預測之傳送延遲而傳送。使用一個網路延遲控制器,經過一個網路傳送路徑之時序敏感封包之測量出之平均延遲及測量出之平均抖動係實質上為固定的,即使當外部的網路流量由一個網路延遲控制器及網路傳送路徑傳送容量之串接組合之0%變化至100%亦如此。
透過使用一個計時器而偵測及預測時序敏感封包及後續控制到一個網路傳送路徑之封包流係已經被揭示。當下一個指定的時序敏感封包係被期望時,自一個網路流控制器而來之封包之輸出係能夠被調整及禁能。舉例而言,正常模式計時器係可以被設定成比下一個指定的時序敏感封包期望到達時間略微晚一些時間終了,或者可以結合另一個計時器一起使用,諸如一個安定計時器。於某些實施例中,在正常模式計時器或安定計時器假如被使用且時間終了之前,任何係非指定的時序敏感封包之將被傳送的封包係針對一個計時器之狀態、將被傳送之封包的大小及該封包計算出之傳送時間而被計算。此外,一個根據速率限制之網路延遲控制器係可以採用緩衝器利用計算,以改進一個對應的網路傳送路徑之效率或產量。
雖然上述實施例係已經詳細地敘述以瞭解本發明,然而,本發明係不受限於所提供之細節。有許多實施本發明之替代方式。所揭示之實施例係為例示性的及非限制性的。在不偏離在後附申請專利範圍中所定義之本發明之範疇之下,許多變化、修改及取代對於熟習本項技藝人士而言係容易想到的。
101...第一節點
102...第二節點
104...網路傳送路徑
106...網路延遲控制器
107...速率限制器
T3...最大資料率
T1,T2...最大資料率
300...網路組構
320...網路延遲控制器
325...計算器
330...網路傳送路徑
500...網路組態
501...第一節點
502...第二節點
503...第三節點
510...網路流控制器
515...選路由邏輯功能
520...網路傳送路徑
530...第四節點
540...網路延遲控制器
700...鏈路頻寬分析器之網路組構
705...第一節點
710...第一網路延遲控制器
712...鏈路頻寬分析器
720...第二節點
740...第二網路延遲控制器
742...鏈路頻寬分析器
760...網路傳送路徑
800...封包
820...序列碼5
830...序列碼8
840...序列碼11
RN D C ...最大傳送速率
RN T P ...最大傳送速率
900...封包間隔協定封包格式
902...位址資料域
904...封包間隔協定形式域
906...封包間隔協定辨識元域
908...優先權域
910...封包間隔域
912...資料域
本發明之許多不同的實施例係揭示於實施方式及後附圖式中。
第1圖係顯示使用於一個實施例中之一個網路延遲控制器;第2A圖係顯示由網路延遲控制器所實施之封包處理程序;第2B圖係顯示用於一個正常模式計時器之程序;第2C圖係顯示用於一個安定模式計時器之程序;第3A圖係提供一個於12毫秒期間一個網路傳送路徑之傳送速率之圖形表示;第3B圖係顯示該網路延遲控制器建構成保計一個網路傳送路徑內之緩衝器利用之實施例;第4A圖係顯示封包透過一個網路傳送路徑被接收及傳送之程序;第4B圖係顯示使用於決定示於第4A圖之操作的正常模式何時實施之正常模式計時器之操作;第4C圖係顯示如何藉由一個傳送計時器計算於一個網路傳送路徑中之目前緩衝器利用;第5圖係顯示一個第一、第二及第三節點被連接成傳送網路封包資料至一個網路流控制器之網路組態;第6A-6D圖係顯示最小化該網路流控制器內之仲裁抖動及關於一個網路傳送路徑之傳送抖動之網路延遲控制器之操作;第7圖係顯示包含一個使用於自動計算一個給定網路傳送路徑之頻寬及輸入緩衝器大小之鏈路頻寬分析器的網路組態;第8圖係顯示由一個第二網路延遲控制器所傳送之13個封包之示範性順序;第9圖係顯示一個封包間隔協定資料封包之示範性格式。

Claims (48)

  1. 一種控制網路流量之方法,其係包含:監視將透過一個網路傳送路徑傳送之複數個封包;預期一個時序敏感封包將變成可使用於透過該網路傳送路徑傳送之一個時間;及根據該預期的時間而控制該複數個封包,使得該網路傳送路徑在與該預期時間相關之時間不被除了該時序敏感封包以外的封包占用,其中,控制至該網路傳送路徑之封包流係包含在該預期時間之前清除一個與該網路傳送路徑相關之記憶體。
  2. 如申請專利範圍第1項之控制網路流量之方法,其係進一步包含根據該網路傳送路徑之最佳資料速率而速率限制將被傳送之該複數個封包。
  3. 如申請專利範圍第1項之控制網路流量之方法,其中,該時序敏感封包係包含一個時序封包。
  4. 如申請專利範圍第1項之控制網路流量之方法,其中,該與該預期時間相關之時間係包含一個根據預期時間所決定之時間窗。
  5. 如申請專利範圍第4項之控制網路流量之方法,其係進一步包含在該時序敏感封包不在該預期時間到達之情況下,延展該時間窗。
  6. 如申請專利範圍第1項之控制網路流量之方法,其中,控制至該網路傳送路徑之封包流係包含在該預期時間之前清除一個與該網路傳送路徑相關之記憶體,使得具 有一個特定形式之封包係在不被緩衝之下透過該網路傳送路徑被傳送。
  7. 如申請專利範圍第1項之控制網路流量之方法,其中,控制至該網路傳送路徑之封包流係包含在一個與該預期時間相關之時間窗期間,避免除了該時序敏感封包之外的封包被傳送。
  8. 如申請專利範圍第7項之控制網路流量之方法,其中,該時間窗係與一個計時器結合。
  9. 如申請專利範圍第7項之控制網路流量之方法,其中,該時間窗之開始係與設定一個計時器相關。
  10. 如申請專利範圍第7項之控制網路流量之方法,其中,該時間窗之結束係與一個計時器之時間終了相關。
  11. 如申請專利範圍第1項之控制網路流量之方法,其中,控制至該網路傳送路徑之封包流係包含儲存除了該時序敏感封包之外的封包於一個記憶體之中。
  12. 如申請專利範圍第1項之控制網路流量之方法,其中,控制至該網路傳送路徑之封包流係包含決定該網路傳送路徑之頻寬。
  13. 如申請專利範圍第1項之控制網路流量之方法,其中,控制至該網路傳送路徑之封包流係包含決定該網路傳送路徑之頻寬及調整資料至該網路傳送路徑之傳送,以避免大幅超過該網路傳送路徑之頻寬。
  14. 如申請專利範圍第1項之控制網路流量之方 法,其中,控制至該網路傳送路徑之封包流係包含透過該網路傳送路徑傳送複數個測試封包。
  15. 如申請專利範圍第1項之控制網路流量之方法,其中,控制至該網路傳送路徑之封包流係包含近似化一個與該網路傳送路徑相關之最大資料傳送速率。
  16. 如申請專利範圍第15項之控制網路流量之方法,其中,近似化一個與該網路傳送路徑相關之最大資料傳送速率係包含:在一已知的速率下,自一個傳送節點傳送一系列測試封包至該網路傳送路徑,以透過該網路傳送路徑傳送至一個接收節點;決定包含該系列測試封包之封包有多少個到達該接收節點;及至少一部分根據與假如有且未到達該接收節點之該些封包相關之資料而近似化與該網路傳送路徑相關之最大資料傳送速率。
  17. 如申請專利範圍第16項之控制網路流量之方法,其中,至少一部分根據與假如有且未到達該接收節點之該些封包相關之資料而近似化與該網路傳送路徑相關之最大資料傳送速率係包含至少一部分根據未到達之封包之數量而近似化與該網路傳送路徑相關之最大資料傳送速率。
  18. 如申請專利範圍第16項之控制網路流量之方法,其中,至少一部分根據與假如有且未到達該接收節點 之該些封包相關之資料而近似化與該網路傳送路徑相關之最大資料傳送速率係包含至少一部分根據一個與一個未到達之封包相關之辨識元而近似化與該網路傳送路徑相關之最大資料傳送速率。
  19. 如申請專利範圍第16項之控制網路流量之方法,其中,至少一部分根據與假如有且未到達該接收節點之該些封包相關之資料而近似化與該網路傳送路徑相關之最大資料傳送速率係包含:當於該接收節點接收時,辨識該系列中之一個第一遺失封包;決定包含該第一遺失封包及於順序上在該第一遺失封包之後之該系列的封包之子集合中之封包數量;及比較該子集合中之封包的總數量及到達該接收節點之子集合中之封包的數量。
  20. 如申請專利範圍第19項之控制網路流量之方法,其中,至少一部分根據與假如有且未到達該接收節點之該些封包相關之資料而近似化與該網路傳送路徑相關之最大資料傳送速率係進一步包含將到達該接收節點之子集合中之封包的數量除以該子集合中之封包的總數量,再將該結果乘上該已知的速率。
  21. 如申請專利範圍第16項之控制網路流量之方法,其中,該已知的速率係包含一個與該傳送節點相關之最大資料傳送速率。
  22. 如申請專利範圍第16項之控制網路流量之方 法,其中,其係確認與該網路傳送路徑相關之最大資料傳送速率係等於或超過該已知的速率。
  23. 如申請專利範圍第1項之控制網路流量之方法,其中,控制至該網路傳送路徑之封包流係包含決定與該網路傳送路徑相關之一個緩衝器之緩衝器大小。
  24. 如申請專利範圍第23項之控制網路流量之方法,其中,決定一個緩衝器之大小係包含:在一已知的速率下,自一個傳送節點傳送一系列測試封包至該網路傳送路徑,以透過該網路傳送路徑傳送至一個接收節點;決定是否所有包含該系列測試封包之封包係到達該接收節點;及在其係確認並非所有包含該系列測試封包之封包係到達該接收節點之情況下,:辨識該系列中未到達之一個第一遺失封包;決定在該系列中多少個封包在該第一遺失封包之前;及至少一部分根據在該系列中多少個封包在該第一遺失封包之前而近似化該緩衝器大小。
  25. 如申請專利範圍第24項之控制網路流量之方法,其中,近似化該緩衝器大小係進一步包含至少一部分根據與該網路傳送路徑相關之一個最大資料傳送速率而近似化該緩衝器大小。
  26. 如申請專利範圍第24項之控制網路流量之方 法,其中,近似化該緩衝器大小係進一步包含至少一部分根據與該系列相關之一個平均封包大小而近似化該緩衝器大小。
  27. 如申請專利範圍第24項之控制網路流量之方法,其中,至少一部分根據在該系列中多少個封包在該第一遺失封包之前而近似化該緩衝器大小係包含自與在該系列中該第一遺失封包之前之封包相關之資料的數量減去在該第一遺失封包之前該系列中之封包被傳送之期間由該網路傳送路徑傳送至該接收節點之資料的大約數量。
  28. 如申請專利範圍第1項之控制網路流量之方法,其中,控制至該網路傳送路徑之封包流係包含至少一部分根據該緩衝器之大小而決定與該網路傳送路徑相關之一個緩衝器之緩衝器大小及設定一個時間窗。
  29. 如申請專利範圍第1項之控制網路流量之方法,其中,控制至該網路傳送路徑之封包流係包含根據進來的封包長度及目前於該緩衝器內之資料量,而決定與該網路傳送路徑相關之一個緩衝器之緩衝器大小及動態地調整一個時間窗。
  30. 如申請專利範圍第1項之控制網路流量之方法,其中,控制至該網路傳送路徑之封包流係包含於一個運轉的基礎下近似化在任何給定時間下占用該網路傳送路徑之資料量。
  31. 如申請專利範圍第30項之控制網路流量之方法,其中,於一個運轉的基礎下近似化在任何給定時間下 占用該網路傳送路徑之資料量係包含每當一個封包被傳送至該網路傳送路徑時增大一個傳送計時器,且根據一個與該網路傳送路徑相關之資料傳送速率而於時間上減少該傳送計時器。
  32. 如申請專利範圍第30項之控制網路流量之方法,其中,控制至該網路傳送路徑之封包流係進一步包含假如將一個非時序敏感封包加入至該占用網路傳送路徑之資料係造成與該網路傳送路徑相關之緩衝器相關之緩衝器大小之容量超過,則防止該非時序敏感封包被傳送。
  33. 如申請專利範圍第32項之控制網路流量之方法,其中,控制至該網路傳送路徑之封包流係進一步包含假如將一個非時序敏感封包加入至該占用網路傳送路徑之資料係造成該網路傳送路徑在一個與該預期時間相關之時間下,不能夠被使用於以一個實質上最小的延遲傳送該時序敏感封包,則防止該非時序敏感封包被傳送。
  34. 如申請專利範圍第30項之控制網路流量之方法,其中,控制至該網路傳送路徑之封包流係進一步包含假如將一個非時序敏感封包加入至該占用網路傳送路徑之資料係造成該網路傳送路徑在一個與該預期時間相關之時間下,不能夠被使用於以一個實質上最小的延遲傳送該時序敏感封包,則防止該非時序敏感封包被傳送。
  35. 如申請專利範圍第1項之控制網路流量之方法,其中,該時序敏感封包係包含一個指示下一個時序敏感封包將變成可使用之時間之域。
  36. 如申請專利範圍第1項之控制網路流量之方法,其中,該時序敏感封包係包含一個使用於區別該時序敏感封包及非時序敏感封包之域。
  37. 如申請專利範圍第1項之控制網路流量之方法,其中,該時序敏感封包係結合一個特定功能,且係包含一個使用於區別該時序敏感封包及不與該功能結合之時序敏感封包之域。
  38. 如申請專利範圍第1項之控制網路流量之方法,其中,該時序敏感封包係包含一個指示一個與該時序敏感封包結合之優先權之域。
  39. 如申請專利範圍第1項之控制網路流量之方法,其中,該時序敏感封包係包含同步化資訊。
  40. 如申請專利範圍第1項之控制網路流量之方法,其中,該時序敏感封包係包含使用於頻率鎖定一個接收節點之頻率資訊。
  41. 如申請專利範圍第1項之控制網路流量之方法,其中,該時序敏感封包係包含一個無線協定封包。
  42. 如申請專利範圍第1項之控制網路流量之方法,其中,該時序敏感封包係包含語音資料。
  43. 如申請專利範圍第1項之控制網路流量之方法,其中,該時序敏感封包係包含串流視訊資料。
  44. 一種用於控制網路流量之系統,其係包含:一個介面,其係用於透過一個網路傳送路徑傳送複數個封包;及 一個網路延遲控制器,其係連接至該介面,其係建構成:監視將透過一個網路傳送路徑傳送之複數個封包;預期一個時序敏感封包將變成可使用於透過該網路傳送路徑傳送之一個時間;及根據該預期的時間而控制一個至該網路傳送路徑之封包流,使得該網路傳送路徑在與該預期時間相關之時間不被除了該時序敏感封包以外的封包占用,其中,控制至該網路傳送路徑之封包流係包含在該預期時間之前清除一個與該網路傳送路徑相關之記憶體。
  45. 一種用於控制網路流量之電腦程式產品,該電腦程式產品係內建於一個電腦可讀取媒體之中,且其係包含電腦指令,以用於:監視將透過一個網路傳送路徑傳送之複數個封包;預期一個時序敏感封包將變成可使用於透過該網路傳送路徑傳送之一個時間;及根據該預期的時間而控制一個至該網路傳送路徑之封包流,使得該網路傳送路徑在與該預期時間相關之時間不被除了該時序敏感封包以外的封包占用,其中,控制至該網路傳送路徑之封包流係包含在該預期時間之前清除一個與該網路傳送路徑相關之記憶體。
  46. 一種近似化與網路傳送路徑相關之最大資料傳送速率之方法,其係包含:在一已知的速率下,自一個傳送節點傳送一系列測試 封包至該網路傳送路徑,以透過該網路傳送路徑傳送至一個接收節點;決定是否包含該系列測試封包之所有封包到達該接收節點;及至少一部分根據與假如有且未到達該接收節點之該些封包相關之資料而近似化與該網路傳送路徑相關之最大資料傳送速率。
  47. 一種近似化與網路傳送路徑相關之最大資料傳送速率之系統,其係包含:一個傳送介面,其係建構成在一已知的速率下,自一個傳送節點傳送一系列測試封包至該網路傳送路徑,以透過該網路傳送路徑傳送至一個接收節點;及一個處理器,其係建構成決定是否包含該系列測試封包之所有封包到達該接收節點,且至少一部分根據與假如有且未到達該接收節點之該些封包相關之資料而近似化與該網路傳送路徑相關之最大資料傳送速率。
  48. 一種用於近似化與網路傳送路徑相關之最大資料傳送速率之電腦程式產品,該電腦程式產品係內建於一個電腦可讀取媒體之中,且其係包含電腦指令,以用於:在一已知的速率下,自一個傳送節點傳送一系列測試封包至該網路傳送路徑,以透過該網路傳送路徑傳送至一個接收節點;決定是否包含該系列測試封包之所有封包到達該接收節點;及 至少一部分根據與假如有且未到達該接收節點之該些封包相關之資料而近似化與該網路傳送路徑相關之最大資料傳送速率。
TW094111628A 2004-04-13 2005-04-13 網路延遲控制 TWI388156B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US56211104P 2004-04-13 2004-04-13
US11/054,345 US7499402B2 (en) 2004-04-13 2005-02-08 Network delay control

Publications (2)

Publication Number Publication Date
TW200534636A TW200534636A (en) 2005-10-16
TWI388156B true TWI388156B (zh) 2013-03-01

Family

ID=35060422

Family Applications (1)

Application Number Title Priority Date Filing Date
TW094111628A TWI388156B (zh) 2004-04-13 2005-04-13 網路延遲控制

Country Status (7)

Country Link
US (1) US7499402B2 (zh)
EP (1) EP1735953B1 (zh)
KR (1) KR101071898B1 (zh)
CN (1) CN101427516B (zh)
HK (1) HK1132394A1 (zh)
TW (1) TWI388156B (zh)
WO (1) WO2005101744A2 (zh)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509465B1 (en) * 2004-06-25 2009-03-24 Emc Corporation System and method for managing memory or session resources used for movement of data being copied in a data storage environment
US7929442B2 (en) * 2004-06-30 2011-04-19 Intel Corporation Method, system, and program for managing congestion in a network controller
EP1619834B1 (en) * 2004-07-23 2007-01-17 Siemens Aktiengesellschaft Method for transmitting data packets between nodes of a communication network
JP4851511B2 (ja) * 2005-04-28 2012-01-11 フランス・テレコム ルーティング方法並びに前記方法を実行するトランシーバ基地局及びコンピュータプログラム
US7778169B2 (en) * 2005-09-02 2010-08-17 Cisco Technology, Inc. Packetizing media for a time slotted communication system
US9002258B2 (en) 2006-01-18 2015-04-07 Dongju Chung Adaptable audio instruction system and method
US20070201365A1 (en) * 2006-01-23 2007-08-30 Frederick Skoog Video packet multiplexer with intelligent packet discard
US7876696B2 (en) * 2006-01-27 2011-01-25 Texas Instruments Incorporated Adaptive upstream bandwidth estimation and shaping
US7796999B1 (en) 2006-04-03 2010-09-14 Sprint Spectrum L.P. Method and system for network-directed media buffer-size setting based on device features
US20080086516A1 (en) * 2006-10-04 2008-04-10 Oracle International Automatically changing a database system's redo transport mode to dynamically adapt to changing workload and network conditions
TW200924438A (en) * 2007-11-21 2009-06-01 Ralink Technology Corp Apparatus of transmitting packets of wireless local network and method for using the same
US9013999B1 (en) * 2008-01-02 2015-04-21 Marvell International Ltd. Method and apparatus for egress jitter pacer
US8130752B2 (en) 2008-06-13 2012-03-06 Telco Acquisition I, Inc. Real-time network measurement
US8165011B2 (en) * 2008-06-13 2012-04-24 Telco Acquisition I, Inc. Real-time network measurement
US7876791B2 (en) 2008-07-24 2011-01-25 Samsung Electronics Co., Ltd. Synchronizing apparatus and method in packet network
US8218442B2 (en) 2008-09-11 2012-07-10 Juniper Networks, Inc. Methods and apparatus for flow-controllable multi-staged queues
US8325749B2 (en) 2008-12-24 2012-12-04 Juniper Networks, Inc. Methods and apparatus for transmission of groups of cells via a switch fabric
US8213308B2 (en) * 2008-09-11 2012-07-03 Juniper Networks, Inc. Methods and apparatus for defining a flow control signal related to a transmit queue
TWI395487B (zh) * 2008-10-02 2013-05-01 Ind Tech Res Inst 應用於網狀點對點串流系統之播放延遲時間之調整方法及其電腦程式產品
US8615201B1 (en) * 2008-10-13 2013-12-24 Altera Corporation System for communications link components
US8254255B2 (en) * 2008-12-29 2012-08-28 Juniper Networks, Inc. Flow-control in a switch fabric
US20100265833A1 (en) * 2009-04-16 2010-10-21 Ou Frank Y Network bandwidth determination
KR20110001464A (ko) * 2009-06-30 2011-01-06 주식회사 포스코아이씨티 신호들의 합성을 위한 신호 처리 방법 및 장치
US9264321B2 (en) * 2009-12-23 2016-02-16 Juniper Networks, Inc. Methods and apparatus for tracking data flow based on flow state values
US9602439B2 (en) 2010-04-30 2017-03-21 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric
US9065773B2 (en) 2010-06-22 2015-06-23 Juniper Networks, Inc. Methods and apparatus for virtual channel flow control associated with a switch fabric
US8553710B1 (en) 2010-08-18 2013-10-08 Juniper Networks, Inc. Fibre channel credit-based link flow control overlay onto fibre channel over ethernet
CN102420738B (zh) * 2010-09-27 2014-08-20 国基电子(上海)有限公司 电缆调制解调器及其设置优先级的方法
US9660940B2 (en) 2010-12-01 2017-05-23 Juniper Networks, Inc. Methods and apparatus for flow control associated with a switch fabric
US8792499B2 (en) * 2011-01-05 2014-07-29 Alcatel Lucent Apparatus and method for scheduling on an optical ring network
US9032089B2 (en) 2011-03-09 2015-05-12 Juniper Networks, Inc. Methods and apparatus for path selection within a network based on flow duration
US8811183B1 (en) 2011-10-04 2014-08-19 Juniper Networks, Inc. Methods and apparatus for multi-path flow control within a multi-stage switch fabric
US9584385B2 (en) * 2012-01-19 2017-02-28 Comcast Cable Communications, Llc Adaptive buffer control
WO2015196385A1 (zh) * 2014-06-25 2015-12-30 华为技术有限公司 确定传输缓存量的方法和设备
US10069748B2 (en) 2015-12-14 2018-09-04 Mellanox Technologies Tlv Ltd. Congestion estimation for multi-priority traffic
CN105828018B (zh) * 2015-12-21 2019-02-22 广东亿迅科技有限公司 用于视频会议的传输方法
US10069701B2 (en) 2016-01-13 2018-09-04 Mellanox Technologies Tlv Ltd. Flexible allocation of packet buffers
US10721178B2 (en) * 2016-01-22 2020-07-21 Medtronic, Inc. Systems, apparatus and methods facilitating data buffering and removal
US10250530B2 (en) 2016-03-08 2019-04-02 Mellanox Technologies Tlv Ltd. Flexible buffer allocation in a network switch
US10084716B2 (en) 2016-03-20 2018-09-25 Mellanox Technologies Tlv Ltd. Flexible application of congestion control measures
US10205683B2 (en) * 2016-03-28 2019-02-12 Mellanox Technologies Tlv Ltd. Optimizing buffer allocation for network flow control
US10387074B2 (en) 2016-05-23 2019-08-20 Mellanox Technologies Tlv Ltd. Efficient use of buffer space in a network switch
US9985910B2 (en) 2016-06-28 2018-05-29 Mellanox Technologies Tlv Ltd. Adaptive flow prioritization
CN109787861B (zh) * 2016-08-01 2021-03-02 北京大学 网络数据延迟控制方法
US10389646B2 (en) 2017-02-15 2019-08-20 Mellanox Technologies Tlv Ltd. Evading congestion spreading for victim flows
US10645033B2 (en) 2017-03-27 2020-05-05 Mellanox Technologies Tlv Ltd. Buffer optimization in modular switches
WO2019084970A1 (zh) * 2017-11-06 2019-05-09 华为技术有限公司 报文转发方法、转发设备和网络设备
US10602139B2 (en) * 2017-12-27 2020-03-24 Omnivision Technologies, Inc. Embedded multimedia systems with adaptive rate control for power efficient video streaming
WO2019231453A1 (en) * 2018-05-31 2019-12-05 Hewlett-Packard Development Company, L.P. Packets transmissions based on priority levels
US10609722B2 (en) * 2018-06-28 2020-03-31 Intel IP Corporation Techniques for scheduling communication based on receive data capacity
US11005770B2 (en) 2019-06-16 2021-05-11 Mellanox Technologies Tlv Ltd. Listing congestion notification packet generation by switch
US10999221B2 (en) 2019-07-02 2021-05-04 Mellanox Technologies Tlv Ltd. Transaction based scheduling
WO2021075671A1 (ko) * 2019-10-15 2021-04-22 한양대학교 에리카산학협력단 중앙 네트워크 구성개체 및 이를 포함하는 시간 민감 네트워크 제어 시스템
US11470010B2 (en) 2020-02-06 2022-10-11 Mellanox Technologies, Ltd. Head-of-queue blocking for multiple lossless queues
US11894948B2 (en) * 2020-04-02 2024-02-06 PrimeWan Limited Method of forming a virtual network
CN111800347B (zh) * 2020-09-09 2020-12-18 北京东方通科技股份有限公司 一种基于时间敏感网络的数据调度方法
US11973696B2 (en) 2022-01-31 2024-04-30 Mellanox Technologies, Ltd. Allocation of shared reserve memory to queues in a network device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6389010B1 (en) * 1995-10-05 2002-05-14 Intermec Ip Corp. Hierarchical data collection network supporting packetized voice communications among wireless terminals and telephones
US6188698B1 (en) * 1997-12-31 2001-02-13 Cisco Technology, Inc. Multiple-criteria queueing and transmission scheduling system for multimedia networks
US6097697A (en) * 1998-07-17 2000-08-01 Sitara Networks, Inc. Congestion control
US6529475B1 (en) * 1998-12-16 2003-03-04 Nortel Networks Limited Monitor for the control of multimedia services in networks
US6570849B1 (en) * 1999-10-15 2003-05-27 Tropic Networks Inc. TDM-quality voice over packet
US6654376B1 (en) * 1999-12-28 2003-11-25 Nortel Networks Limited ATM packet scheduler
US6707821B1 (en) * 2000-07-11 2004-03-16 Cisco Technology, Inc. Time-sensitive-packet jitter and latency minimization on a shared data link
US6917589B2 (en) * 2001-01-25 2005-07-12 Agere Systems Inc. Automatic quality of service assignment in ethernet switches
US7025985B2 (en) * 2001-05-28 2006-04-11 Kanebo, Ltd. Dihydroxyphenyl compounds and glucoside compounds thereof
US7225271B1 (en) * 2001-06-29 2007-05-29 Cisco Technology, Inc. System and method for recognizing application-specific flows and assigning them to queues
GB2385684A (en) * 2002-02-22 2003-08-27 Sony Uk Ltd Frequency synchronisation of clocks
US7385997B2 (en) * 2002-04-08 2008-06-10 International Business Machines Corporation Priority based bandwidth allocation within real-time and non-real-time traffic streams

Also Published As

Publication number Publication date
TW200534636A (en) 2005-10-16
CN101427516B (zh) 2010-12-15
WO2005101744A2 (en) 2005-10-27
HK1132394A1 (en) 2010-02-19
US7499402B2 (en) 2009-03-03
EP1735953A4 (en) 2013-03-20
EP1735953A2 (en) 2006-12-27
US20050226156A1 (en) 2005-10-13
CN101427516A (zh) 2009-05-06
WO2005101744A3 (en) 2009-04-09
EP1735953B1 (en) 2014-06-11
KR20070048648A (ko) 2007-05-09
KR101071898B1 (ko) 2011-10-11

Similar Documents

Publication Publication Date Title
TWI388156B (zh) 網路延遲控制
US9419907B2 (en) I/O driven rate adaptation
US7593329B2 (en) Service aware flow control
Braden et al. Recommendations on queue management and congestion avoidance in the Internet
JP5146548B2 (ja) パケットバッファ装置及びパケット廃棄方法
Braden et al. RFC2309: Recommendations on queue management and congestion avoidance in the internet
EP2050199B1 (en) Expedited communication traffic handling apparatus and methods
US11362957B2 (en) Jitter elimination and latency compensation at DetNet transport egress
US9054973B2 (en) Method and system for Ethernet congestion management
US20070280111A1 (en) Method and system for adaptive queue and buffer control based on monitoring and active congestion avoidance in a packet network switch
JP2002009842A (ja) 自動適応ジッタバッファ
EP1745606A1 (en) Rate shaper algorithm
TWI651951B (zh) 偶發性網路流量用超低傳送延遲
US10439940B2 (en) Latency correction between transport layer host and deterministic interface circuit
US7564785B2 (en) Dynamic flow control support
EP1931068A1 (en) Method of adaptively dejittering packetized signals buffered at the receiver of a communication network node
US20060056432A1 (en) System and method for varying the scheduling of real time protocol (RTP) packets
US7471630B2 (en) Systems and methods for performing selective flow control
JP2008193310A (ja) ルータのバッファ管理方法並びにその管理方法を用いたルータ
KR100462475B1 (ko) 선형제어를 이용한 큐 스케쥴링 장치 및 방법
Sun et al. Adaptive drop-tail: A simple and efficient active queue management algorithm for internet flow control
Davie et al. Recommendations on Queue Management and Congestion Avoidance in the Internet

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees