TW201312969A - 纜線數據機終端系統、光線路終端及其方法 - Google Patents

纜線數據機終端系統、光線路終端及其方法 Download PDF

Info

Publication number
TW201312969A
TW201312969A TW101129028A TW101129028A TW201312969A TW 201312969 A TW201312969 A TW 201312969A TW 101129028 A TW101129028 A TW 101129028A TW 101129028 A TW101129028 A TW 101129028A TW 201312969 A TW201312969 A TW 201312969A
Authority
TW
Taiwan
Prior art keywords
video stream
client
bit rate
monitoring
user end
Prior art date
Application number
TW101129028A
Other languages
English (en)
Other versions
TWI517632B (zh
Inventor
Niki Pantelias
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 TW201312969A publication Critical patent/TW201312969A/zh
Application granted granted Critical
Publication of TWI517632B publication Critical patent/TWI517632B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • 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/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • H04L47/762Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions triggered by the network
    • 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
    • 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/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • H04Q11/0067Provisions for optical access or distribution networks, e.g. Gigabit Ethernet Passive Optical Network (GE-PON), ATM-based Passive Optical Network (A-PON), PON-Ring
    • 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/215Flow control; Congestion control using token-bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/0001Selecting arrangements for multiplex systems using optical switching
    • H04Q11/0062Network aspects
    • H04Q2011/0064Arbitration, scheduling or medium access control aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本發明提供了動態頻寬再分配的方法和系統。該方法包括如下步驟:監視由伺服器交付給具有相同服務水準協定的第一用戶端和第二用戶端的視頻流,並判定第一用戶端是否正在接收相比於第二用戶端較低位元速率的視頻流。該方法還包括如下步驟:調節參數從而使所述第一用戶端接收較高位元速率的視頻流。在一個實例中,監視、確定和調節步驟通過纜線數據機終端系統執行。在另一實例中,監視、確定和調節步驟通過光線路終端執行。

Description

纜線數據機終端系統、光線路終端及其方法
本發明總體上涉及動態頻寬再分配。
線上視頻交付涉及視頻檔以視頻流形式從儲存視頻檔的伺服器到請求線上交付視頻檔的用戶端的傳輸。通常,用戶端確定與伺服器連接的位元速率,並請求在可由連接持續的位元速率的視頻流。然而,可產生使第一用戶端接收比第二用戶端更低的位元速率的網路條件,即使兩個用戶端與它們的網路服務具有相同的服務水準協定以提供用於頻寬分配。回應較低位元速率條件,第一用戶端將請求伺服器切換到較低位元速率視頻流。這導致對於相同服務水準,第一用戶端和第二用戶端之間頻寬分配不公平。
需要克服上述缺陷的方法和系統。
因此,本發明提供了一種纜線數據機終端系統,包括視頻流監視和標記系統以及下游實體層調製器。該視頻流監視和標記系統被配置為:監視由伺服器交付給第一用戶端和第二用戶端的視頻流,其中第一用戶端和第二用戶端具有相同服務水準協定;判定第一用戶端是否正在接收相比於第二用戶端較低位元速率的視頻流;以及調節參數從而使第一用戶端接收較高位元速率的視頻流。該下游實體層調製器耦合到視頻流監視和標記系統並被配置為將從伺服器接收的視頻流傳送到第一用戶端和第二用戶端。
較佳地,視頻流監視和標記系統被配置為調節參數從而減小對第二用戶端的頻寬分配,從而均衡第一用戶端和第二用戶端之間的頻寬分配。
較佳地,視頻流監視和標記系統被配置為確定交付給第一用戶端和第二用戶端的視頻流的位元速率。
較佳地,視頻流監視和標記系統被配置為監視第一用戶端和伺服器之間的控制通道上控制消息,從而檢測第一用戶端對於伺服器的、對相比於第二用戶端較低位元速率的視頻流的請求。
較佳地,視頻流監視和標記系統被配置為為第一用戶端和第二用戶端確定服務水準協定。
較佳地,服務水準協定指定分配給用戶端的下游頻寬。
較佳地,視頻流監視和標記系統被配置為調節下游服務流擴展報頭中的參數,從而為交付給第一用戶端的視頻流賦予較高優先順序。
較佳地,視頻流監視和標記系統被配置為調節權杖桶中的持續的信元速率參數,從而為交付給第一用戶端的視頻流賦予較高優先順序。
較佳地,視頻流監視和標記系統被配置為調節等待時間水準參數,從而為交付給第一用戶端的視頻流賦予較高優先順序。
本發明還提供了一種方法,包括:監視由伺服器交付給第一用戶端和第二用戶端的視頻流,其中第一用戶端和第二用戶端具有相同的服務水準協定;判定第一用戶端是否正在接收相比於第二用戶端較低位元速率的視頻流;以 及調節參數從而使第一用戶端接收較高位元速率的視頻流。
較佳地,調節步驟還包括調節參數從而減小對第二用戶端的頻寬分配,以均衡第一用戶端和第二用戶端之間的頻寬分配。
較佳地,判定步驟還包括監視第一用戶端和伺服器之間的控制通道上的控制消息,從而檢測第一用戶端對於伺服器的、對相比於第二用戶端較低位元速率的視頻流的請求。
較佳地,調節步驟還包括調節下游服務流擴展報頭中的參數,從而為交付給第一用戶端的視頻流賦予較高優先順序。
較佳地,調節步驟包括調節權杖桶中的持續的信元速率參數,從而為交付給第一用戶端的視頻流賦予較高優先順序。
較佳地,調節步驟包括調節等待時間水準參數,從而為交付給第一用戶端的視頻流賦予較高優先順序。
較佳地,其中,這些步驟通過光線路終端執行。
較佳地,調節步驟還包括:改變資料包的顏色從而為交付給第一用戶端的視頻流賦予較高優先順序。
較佳地,調節步驟還包括:改變資料包的丟棄閾值從而為交付給第一用戶端的視頻流賦予較高優先順序。
本發明還提供了一種光線路終端,包括視頻流監視和標記系統以及下游實體層調製器。其中該視頻流監視和標記系統被配置為:監視由伺服器交付給具有相同服務水準協定的第一用戶端和第二用戶端的視頻流;判定第一用戶 端是否正在接收相比於第二用戶端較低位元速率的視頻流;以及調節參數從而使第一用戶端接收較高位元速率的視頻流。該下游實體層調製器耦合到視頻流監視和標記系統並被配置為將從伺服器接收的視頻流傳送到第一用戶端和第二用戶端。
較佳地,其中視頻流監視和標記系統被配置為改變資料包的顏色,從而為交付給第一用戶端的視頻流賦予較高優先順序。
包括附圖以用來提供對本發明進一步的理解,其包括在本說明書中並且構成本說明書的一部分,示出了本發明的實施方式,並且與說明書一起解釋本發明的原理。
下面將參考附圖描述本發明。在附圖中,相似的參考標號可表示相同或功能類似的要素。
雖然本公開是參考所示特定應用的實施方式描述的,但應該理解,本公開不限於此。接受本文所提供的教導的本領域技術人員將認識到本發明範圍內的其他修改、應用和實施方式,以及本公開具有顯著實用性的其他領域。
圖1示出了根據本發明實施方式的示例性系統100。系統100包括經由網路110耦合到一個以上纜線數據機(CM)104a至104n的纜線數據機終端系統(CMTS)102。每個纜線數據機104可耦合到一個以上用戶端112a至112n。網路108可以是任何類型的網路,包括但不限於網際網路、區域網路(LAN)或廣域網路(WAN)。應該理解,網路108的類型是設計選擇,且可以是任意的。本文給出的實施方式中,“n”是任意的正整數。
CMTS 102可包括介質存取控制器(MAC)114、下游實體層調製器(DS PHY)116和上游實體層解調器(US PHY)118。CMTS 102也可包括主時鐘120、視頻流監視和標記單元122、一個以上下游佇列124和調度器130。在實施方式中,CMTS 102可包括耦合到記憶體128的處理器126。這裡所述的由CMTS 102或由視頻流監視和標記單元122執行的功能可由處理器126基於儲存在記憶體128中的指令執行。CMTS 102也耦合到提供CMTS 102和纜線數據機104之間的互連的網路110。網路110支援有線、無線或這兩種傳送介質,包括衛星、地面(例如,光纖、銅線、雙絞線、同軸等)、無線電、微波、自由空間光學和/或任何其他傳送形式或方法。在實施方式中,DOCSIS網路是網路110的一部分。
US PHY 118形成CMTS 102和網路110的上游通道之間的實體層介面。CMTS 102可包括用於每個上游通道的獨立的US PHY 118。US PHY 118接收並解調所有來自纜線數據機104的突發(burst)。
DS PHY 116形成CMTS 102和網路110的下游通道之間的實體層介面。因此,目標為一個以上纜線數據機104的視頻、語音、資料和/或控制消息都彙集在DS PHY 116並傳送到各纜線數據機104。DS PHY 116調製和/或格式化下游傳送的資訊。
適當地,MAC 114接收來自US PHY 118的上游信號,並提供下游信號到DS PHY 116。MAC 114操作為CMTS 102的資料連結層的下子層。在實施方式中,MAC 114支 援實體層上傳輸的信號的分段儲存、級聯(concatenation)、有效載荷報頭抑制/擴展和/或錯誤檢測。
記憶體128可與MAC 114相互作用,從而在信號由MAC 114處理時儲存這些信號。記憶體128也可儲存用於支援處理活動的各種輔助資料。這樣的輔助資料包括安全協定、識別字、規則、策略等。
在實例中,用戶端112可以是任何有線或無線計算設備,包括但不限於個人電腦、膝上型電腦、行動電話、個人數位助理(PDA)或媒體播放機,如iPodTM或iPadTM。在另一實例中,用戶端112可與纜線數據機104集成在單個設備(未示出)中。用戶端112可請求交付來自伺服器106的視頻流。該請求由CMTS 102接收並被中繼給伺服器106。回應於來自用戶端112對視頻流的請求,伺服器106發送所請求的媒體流到用戶端112。圖2示出了伺服器106和用戶端112之間示例性視頻流會話。伺服器106以多種大小儲存視頻檔200以便以不同位元速率傳輸。不同位元速率是不同水準的壓縮的結果。壓縮涉及視頻圖像中某些冗餘數據的抽取(decimation)。位元速率減小系統是通過在解碼器傳送和再插入冗餘資訊之前,在視訊轉碼器從視頻中除去冗餘資訊而操作的。在其最基本水準,壓縮是在分析輸入視頻流且丟棄觀看者不可見的資訊時執行的。然後每個事件都被賦予代碼,其中常發事件被賦予較少位元,且偶發事件被賦予較多位元。例如,視頻的具體持續時間(通常幾秒長)由伺服器106儲存為不同壓縮水準且因此具有不同大小的片段。在實例中,伺服器106以不同壓縮水準儲存500千位元每秒(kbps)的片段202、1兆位 元每秒(Mbps)的片段204以及2 mbps的片段206。每個片段202、204和206對應於視頻的相同持續時間,但具有不同壓縮水準且因此具有不同大小和不同的品質水準。
因此,伺服器106以不同大小的片段儲存相同的視頻檔200,從而允許視頻流以不同位元速率和不同品質水準來交付。視頻流的品質取決於由伺服器106交付給用戶端112的視頻流的位元速率。進而,視頻流的位元速率取決於所交付的視頻檔片段的大小。例如,片段206導致比片段204更高的位元速率且因此更高品質的視頻流,片段204導致比片段202更高品質的視頻流。因此,以不同大小儲存相同視頻檔200允許伺服器106支援用戶端112請求的不同位元速率。要使用的視頻流的品質(且因此位元速率)是由用戶端112基於其對網路條件的瞭解所選擇的。然而,用戶端112實際上沒有關於網路的總體資訊。用戶端112不知道其他用戶端112正在做什麼,也不知道總網路容量或該容量將如何被理想分配。單個用戶端112基於其從伺服器106接收的視頻片段的等待時間和速率估計網路條件。如果對用戶端112來說,等待時間長(即,在從伺服器106請求片段和片段開始到達之間的時間長),或速率低(即,一旦片段開始到達,資料包到達慢),則用戶端112可確定網路條件差,並從伺服器106要求較低的位元速率流。回應於較低的位元速率流,伺服器106切換到較低位元速率的片段。相反,如果對用戶端112來說,接收片段較快(即,低等待時間和/或高速率),則其從伺服器106要求更較高的位元速率流。伺服器106回應於較高位元速率流,切換用戶端112到較高位元速率的片段。然而,因 為用戶端沒有關於網路的總體資訊,其可能做出不正確的網路條件的估計。
在實例中,假定在兩個不同的纜線數據機後面有兩個用戶端--用戶端112a在纜線數據機104a後面而用戶端112b在纜線數據機104b後面--它們都具有相同的服務水準協定(SLA)。在另一實例中,用戶端112a和112b可在同一個纜線數據機104後面。這裡所指的服務水準協定指的是網路供應商和用戶端之間的服務合同,其為用戶端保證一定的服務水準,例如特定量的上游和/或下游頻寬。在當前實例中,用戶端112a和112b在基本相同的時間請求視頻。在可用的高速率、中速率和低速率流中,都選擇中速率流,並被提供以中速率片段,如片段204。現在假定某些臨時網路堵塞事件發生。巧合地,該事件引起用戶端112a,而非用戶端112b有延遲的或丟失的資料包。發生該巧合例如是因為用戶端112a和112b與不同的視訊伺服器106通訊,以及臨時網路堵塞事件在發生在作為伺服器106提供內容到用戶端112a的路徑中的鏈路上,而非伺服器106提供內容到用戶端112b的路徑中的鏈路上。或者,發生該巧合是因為用戶端112a請求片段的時刻,發生堵塞,但在用戶端112b從相同或不同的伺服器106請求片段的不同時刻(可能一兩秒鐘之前或之後),沒有發生堵塞。
臨時網路堵塞事件可引起用戶端112a確定網路條件差,並請求低速率(較低品質)流。其間,用戶端112b不受臨時事件影響,因此其不要求較低位元速率流。實際上,當用戶端112a切換到較低位元速率時,用戶端112b可察覺網路條件得到改善(因為用戶端112a消耗較低的頻寬,潛 在導致目標為用戶端112b的資料包較少延遲),且用戶端112b可嘗試切換到高速率流。如果發生該情況,則一旦用戶端112b正在消耗高速率流,即使臨時網路堵塞事件結束,用戶端112a可能仍然無法估計網路條件得到足夠改善從而切換回中速率流。這是因為交付給用戶端的額外資料包可稍微延遲對應於用戶端112a的資料包。可替換地,用戶端112a可能僅在長時間段之後估計網路條件得到改善。因為先前中速率流失敗,用戶端112a可能不會立即嘗試切換回中速率流,因為如果該嘗試失敗,則其可引起用戶使用用戶端112a看到的畫面品質破壞。用戶端112a將在試圖切換回中速率流之前等待以確定網路條件得到改善。
因此,臨時網路堵塞事件的結果是即使兩個使用者具有相同服務水準協定且因此應當接收相同品質的視頻,然而用戶端112a以比開始的位元速率低的位元速率(且因此品質較低)的流結束,而用戶端112b以比開始的位元速率高的位元速率(且因此品質較高)流結束。該條件可持續長時間,因為用戶端112a不會立即嘗試再獲取較高位元速率流,且如果其嘗試,則由於用戶端112b消耗的頻寬而仍然有問題。CMTS 102和CM 104通常不是在用戶端112和伺服器106之間交涉的成員。因此,CMTS 102無法簡單命令用戶端112a和112b切換回中速率流。
為了克服這些問題,根據本公開實施方式,CMTS 102(或PON系統情況下的OLT)試圖通過如下所述調節各種參數而間接影響用戶端112的決定,以如上面實例那樣引起用戶端112b察覺到稍低的網路性能,和/或引起用戶端112a察覺到稍高的網路性能。這會加速用戶端112a察覺到 網路條件改善從而使其切換回中速率流,和/或引起用戶端112b看到稍微降低的網路條件,從而使其切換回中速率流。例如,參數可調節為使得用戶端112a具有更大頻寬,並可從低品質片段202促進到中等品質片段204,且參數可調節為使得用戶端112b具有更小頻寬,並且不得不從最高品質片段206降低到中等品質片段204。
在另一實例中,參數可調節為使得用戶端112a能夠從伺服器106接收較高位元速率的視頻流,同時維持用戶端112b接收的位元速率。例如,參數可調節為使得用戶端112a和用戶端112b都可以接收高品質片段206。
再次參考圖1,視頻流監視和標記系統122監視由伺服器106交付給用戶端112的視頻流,以確定視頻流的位元速率。視頻流監視和標記系統122判定用戶端112a是否正在接收相比於具有相同服務水準協定的其他用戶端112較低的位元速率。在另一實例中,視頻流監視和標記系統122在具有相同服務水準協定的其他用戶端112正在接收較高位元速率的視頻流的同時檢測用戶端112a的減小視頻流的位元速率的請求。例如,視頻流監視和標記系統122檢測用戶端112a的對於比用戶端112b低的位元速率的視頻流的請求。在另一實例中,視頻流監視和標記系統122在另一個用戶端112b對於同一服務水準協定持續請求較高位元速率的視頻流的同時,檢測用戶端112a的對於比用戶端112a在視頻會話開始時原始請求的視頻流更低位元速率的視頻流的請求。在又一實例中,不監視位元速率,視頻流監視和標記系統122可監視用戶端112和伺服器106之間的控制通道(未示出)上的控制消息,從而檢測用戶端112a對 於伺服器106的、對相比於用戶端112b較低位元速率的視頻流的請求。在另一實例中,視頻流監視和標記系統122可監視視頻流的位元速率和用戶端112a與伺服器106之間的控制消息,從而確定用戶端112a是否正在接收比用戶端112b低的位元速率流。
一旦檢測到用戶端112a和用戶端112b之間不等的頻寬分佈,CMTS 102調節參數從而使用戶端112a接收較高位元速率的視頻流。在實施方式中,由視頻流監視和標記系統122調節的參數是權杖桶(token bucket)參數。圖3A示出了根據本公開實施方式的示例性權杖桶。權杖桶300表示控制資料包交付給用戶端112速率的監管功能(policing function)。流入資料包流302表示進入權杖桶300以傳送給用戶端112的資料包。流出流304表示由權杖桶300傳送給用戶端112的資料包。丟棄資料包流306表示由權杖桶300丟棄的不符合(non-conformant)的資料包。權杖桶300可以是調度器130的一部分。在另一實例中,權杖桶300可以是基於記憶體128中儲存的指令在處理器126上運行的軟體構造。
權杖桶300是由參數“r”和“b”定義。參數r表示權杖301加入至權杖桶300的速率。權杖301每1/r秒加入至權杖桶。權杖桶300最多可保持“b”個權杖。當權杖桶300滿時,如果權杖301到達,則權杖301被丟棄。當n個位元組的流入資料包由權杖桶300接收時,n個權杖從桶中移除,且資料包在流出資料包流304中被發送到網路。如果少於n個權杖可用,則沒有權杖從權杖桶300中移除,且 資料包被當作是不符合的。不符合的資料包可緩存以用於隨後傳送或經丟棄資料包流306丟棄。
在DOCSIS網路中,最大持續速率等於r,且最大流量突發等於b。根據本公開的實施方式,視頻流監視和標記系統122可通過增加與要接收較高位元速率的視頻流的用戶端112a相對應的視頻資料包的最大保持速率而添加權杖r,從而防止其資料包丟失。視頻流監視和標記系統122可通過減小與用戶端112b相對應的視頻資料包的最大持續速率,而為正在接收較高位元速率的用戶端112b同時移除權杖r,從而均衡用戶端112a和112b之間的頻寬分佈。在實例中,最大流量突發參數也可被調節為均衡用戶端112a和112b之間的頻寬分配。
在另一實施方式中,視頻流監視和標記系統122可調節下游佇列124的丟棄水準閾值,以使得要接收較高位元速率的視頻流的用戶端112a的視頻資料包不被丟棄或以相比於用戶端112b較低的頻率被丟棄。
在另一實施方式中,由視頻流監視和標記系統122調節的參數是如圖3B中所示的下游服務擴展報頭(DS EHDR)308中的位元。下游服務擴展報頭308包括3位元流量優先順序欄位310。相對於到達在各流量優先順序欄位310具有與第一值不同的第二值的同一CM 104的第二資料包,改變流量優先順序欄位310的值使CM 104為具有流量優先順序欄位310中的第一值的第一資料包賦予不同水準的優先順序。通過在下游方向上調節這些位元,視頻流監視和標記系統122使用戶端112a從伺服器106接收相比於用戶端112b較高位元速率的視頻流。
在又一實例中,視頻流監視和標記系統122發送信號131以調節與調度器130相關聯的最大下游等待時間參數,從而為交付給用戶端112a的視頻流賦予較高優先順序。當做調度決定時,調度器130考慮最大下游等待時間。例如,視頻流監視和標記系統122調節最大下游等待時間參數,以使得目標為特定用戶端112a的下游佇列126a至126n中的資料包被調度器130賦予相比於其他用戶端(如用戶端112b)的資料包較高的優先權。具有較低的最大下游等待時間的資料流程將傾向於使資料包在下游佇列124中等待的時間少於具有較高最大下游等待時間的資料流程。
在其他實例中,視頻流監視和標記系統122可調節其他服務品質(QoS)參數,如流量優先順序參數,從而使用戶端112a接收相比於用戶端112b較高位元速率的視頻流。流量優先順序參數類似於流量優先順序欄位310,但其影響在調度器130的優先順序,然而下游服務擴展報頭308中的流量優先順序欄位影響處理下游服務擴展報頭310的纜線數據機104內的優先順序。在實例中,視頻流監視和標記系統122發送信號131到調度器130從而調節流量優先順序參數,以使得與用戶端112a相關聯的資料包被賦予較高優先順序,且較低優先順序被賦予與客戶群112b相關聯的資料包。
在又一實施方式中,視頻流監視和標記系統122可調節調度器130中的參數131,從而在與用戶端112b相對應的資料包之前為要接收較高位元速率的視頻流的用戶端112a調度視頻資料包。
在實施方式中,視頻流監視和標記系統122可多於一個的參數,從而使用戶端112a接收較高位元速率的視頻流。例如,視頻流監視和標記系統122可調節DOCSIS擴展流報頭、權杖桶參數、等待時間水準參數、QoS參數、以及丟棄水準閾值從而允許用戶端112a從伺服器106接收較高位元速率的視頻流。
最小保留速率(minimum reserved rate)、下游峰值速率或廠商專用QoS參數也可用於實現其他演算法。應該理解,調節的參數類型或用於提供較高優先順序給屬於某用戶端112的資料包的方法可在不偏離本公開的範圍的前提下有所不同。
在實施方式中,視頻流監視和標記系統122可處於位於伺服器106和用戶端112之間的光線路終端(OLT)中。在該實施方式中,視頻流監視和標記系統122執行與上述類似的步驟,從而使用戶端112獲得較高位元速率的視頻流。例如,視頻流監視和標記系統122調節賦予交付給要接收較高位元速率的視頻流的用戶端112a的視頻流的資料包的“顏色”。顏色可由位元欄位的特定數目指示。例如,紅色可由數字5指示並相應於未被丟棄的高優先級數據包,而綠色可由數字3指示並指示如果有堵塞則可丟棄的中優先級數據包。根據本公開實施方式,顏色可調節為使得賦予位元速率正被調節的用戶端112a的資料包獲得相比於具有同一服務水準協定的其他用戶端112更高的優先順序。應該理解,用於指示顏色的顏色類型或數位或位元是設計選擇並可以是任意的。在另一實例中,視頻流監視和標記系統122可調節權杖桶的r、等待時間水準參數或丟棄 水準閾值,從而給交付到用戶端112a的視頻流賦予較高優先順序。
在實例中,視頻流監視和標記系統122可以在CMTS102或OLT外部。應該理解,視頻流監視和標記功能122可僅以硬體實現,諸如邏輯門和/或電路。在另一實施方式中,視頻流監視和標記功能122可僅以處理器126上運行的軟體實現。在又一實施方式中,視頻流監視和標記功能122可實施為硬體和軟體的結合。
圖4示出根據本公開實施方式的動態頻寬再分配的示例性流程圖400。下面繼續參考圖1至圖3中所示的示例性操作環境來描述流程圖400。然而,流程圖不限於該實施方式。應注意,流程圖400中示出的某些步驟不必以所示順序發生。在實例中,該步驟是由視頻流監視和標記系統122執行的。
在步驟402中,監視用戶端和伺服器之間的視頻流和/或控制通道。例如,視頻流監視和標記系統122監視用戶端112和伺服器106之間的視頻和/或控制通道。
在步驟404中,檢測頻寬不均等分佈。例如,視頻流監視和標記系統122檢測用戶端112a正在接收或正在請求相比於具有相同服務水準協定的用戶端112b較低位元速率的視頻流。
在步驟406中,判定是否調節參數以允許較高位元速率的視頻流。例如,視頻流監視和標記系統122判定用戶端112a和用戶端112b是否具有相同服務水準協定。如果判定它們具有相同服務水準協定,則調節用戶端112a的參數,且處理進入步驟408。如果判定用戶端112b具有比用 戶端112b高的服務水準協定,則不調整參數且處理進入步驟410。
在步驟408中,調節參數從而允許較高位元速率的視頻流。例如,視頻流監視系統122可調節參數,如等待時間控制、DOCSIS擴展報頭中的位元、QOS參數、丟棄水準閾值或權杖桶參數,從而允許用戶端112a接收較高位元速率的視頻流。
在步驟410中,保持用戶端112a的當前位元速率。
本文給出的實施方式或其中的部分可以硬體、固件、軟體和/或它們的組合實現。
本文給出的實施方式應用於兩個以上設備之間或一個設備的子元件內的任何通訊系統。本文所述的代表性功能(如圖4中步驟)可以硬體、軟體或它們的某些組合實現。例如,如本領域技術人員理解的那樣,基於本文給出的上面的討論,圖4中步驟可用電腦處理器實現,諸如處理器126、電腦邏輯、專用電路(ASIC)、數位訊號處理器等。因此,執行上述功能的任何處理器在本文給出的實施方式的範圍和精神內。
下面描述通用電腦系統,其可用於實現本文給出的本公開的實施方式。本公開可以硬體、或軟體和硬體的結合實現。因此,本公開可以在電腦系統或其他處理系統的環境中實現。這樣的電腦系統500的實例在圖5中示出。電腦系統500包括一個以上處理器,如處理器504。處理器504可以是特殊用途或通用數位訊號處理器。處理器504連接到通訊設施506(例如,匯流排或網路)。不同軟體實現是根據該示例性電腦系統描述的。在閱讀了本說明書後, 本領域技術人員顯然可瞭解如何用其他電腦系統和/或電腦架構實現本公開。
電腦系統500還包括主記憶體505、較佳為隨機存取記憶體(RAM),並還可包括副記憶體510。副記憶體510例如可包括:硬碟驅動器512、和/或RAID陣列516、和/或可移除儲存驅動器514,其表示軟碟機、磁帶驅動器、光碟驅動器等。可移除儲存驅動器514可以已知方式從可移除儲存單元518讀取和/或向其中寫入。可移除儲存單元518表示軟碟、磁帶、光碟等。如可以理解的那樣,可移除儲存單元518包括電腦可用儲存介質,其中儲存有電腦軟體和/或資料。
在可選實施方式中,副記憶體510可包括其他類似裝置,以允許電腦程式或其他指令載入到電腦系統500中。這樣的裝置可包括:可移除儲存單元522和介面520。這類裝置的實例可包括程式盒式記憶體和儲存盒介面(如視頻遊戲裝置中發現的介面)、可移除記憶體晶片(如EPROM、或PROM)以及相關聯的插座、以及允許軟體和資料從可移除儲存單元522轉移到電腦系統500的其他可移除儲存單元522和介面520。
電腦系統500也可包括通訊介面524。通訊介面524允許軟體和資料在電腦系統500和外部設備之間轉移。通訊介面524的實例可包括數據機、網路介面(如乙太網卡)、通訊連接埠、PCMCIA插槽和插卡等。經由通訊介面524轉移的軟體和資料形式為信號528,其可以是電子的、電磁的、光學的或能夠由通訊介面524接收的其他信號。這些信號528經由通訊路徑526提供給通訊介面524。通訊路徑 526攜帶信號528並可用有線或電纜、光纖、電話線、行動電話鏈路、RF鏈路以及其他通訊通道實現。
這裡使用的術語“電腦程式介質”和“電腦可用介質”通常指諸如可移除儲存驅動器514、安裝在硬碟驅動器512中的硬碟和信號518的介質。這些電腦程式產品是提供軟體給電腦系統500的裝置。
電腦程式(也稱為電腦控制邏輯)儲存在主記憶體505和/或副記憶體510中。電腦程式也可經由通訊介面524接收。這類電腦程式在被執行時能夠使電腦系統500實現本文討論的本公開。具體地,電腦程式在被執行時,使得處理器504能夠實現本公開的處理。例如,當被執行時,電腦程式使得處理器504能夠實現部分或上面參考圖4所述的所有這些步驟。本公開是用軟體來實現的,該軟體可儲存在電腦程式產品中並用冗餘磁碟陣列(raid array)516、可移除儲存驅動器514、硬碟驅動器512或通訊介面524載入到電腦系統500中。
在其他實施方式中,本公開的特徵主要以例如使用諸如專用積體電路(ASIC)和可程式設計或靜態閘陣列的硬體元件的硬體來實現。硬體狀態標準化以執行本文所述功能,這對本領域技術人員來說是顯而易見的。
結論
雖然上面描述了不同實施方式,但應該理解這些都是以示例的形式提供的,而非限制性的。對本領域技術人員來說顯然的是,可在不偏離本文給出的實施方式的精神和範圍的前提下對形式和細節做出不同變化。
上面借助示出特定功能和關係的功能構築塊和方法步驟描述了本文給出的實施方式。這些功能構築塊和方法步驟的邊界在本文中已經任意定義以便描述。也可定義其他邊界,只要適當執行其特定功能和關係即可。任何這類其他邊界都在所要求的實施方式的範圍和精神內。本領域技術人員應認識到這些功能構築塊可通過獨立部件、專用積體電路、執行適當軟體的處理器等或它們的組合實現。因此本實施方式的幅度和範圍不局限於任何上述示例性實施方式,而是應僅根據以下申請專利範圍及它們的等價物來限定。
100‧‧‧示例性系統
102‧‧‧纜線數據機終端系統
104a~n‧‧‧纜線數據機
106a~n‧‧‧伺服器
108‧‧‧網路
110‧‧‧網路
112a~n‧‧‧用戶端
114‧‧‧介質存取控制器
116‧‧‧下游實體層調製器
118‧‧‧上游實體層解調器
122‧‧‧標記單元
124a~n‧‧‧下游佇列
126‧‧‧處理器
130‧‧‧調度器
131‧‧‧發送信號
200‧‧‧視頻檔
202a~n‧‧‧片段
204a~n‧‧‧片段
206a~n‧‧‧片段
300‧‧‧權杖桶
301‧‧‧權杖
302‧‧‧資料包流
304‧‧‧流出流
306‧‧‧資料包流
308‧‧‧下游服務擴展報頭
310‧‧‧優先順序欄位
504‧‧‧處理器
505‧‧‧主記憶體
506‧‧‧通訊設施
510‧‧‧副記憶體
512‧‧‧硬碟驅動器
514‧‧‧可移除儲存驅動器
516‧‧‧冗餘磁碟陣列
518‧‧‧可移除儲存單元
520‧‧‧介面
522‧‧‧可移除儲存單元
524‧‧‧通訊介面
526‧‧‧通訊路徑
圖1示出了根據本發明實施方式的示例性系統。
圖2示出了伺服器和用戶端之間的示例性視頻流會話。
圖3A示出了根據本發明實施方式的示例性權杖桶。
圖3B示出了根據本發明實施方式的示例性下游服務流擴展報頭。
圖4示出了根據本發明實施方式的動態頻寬再分配的示例性步驟的示例性流程圖。
圖5是可實現本發明的示例性電腦系統的框圖。
100‧‧‧示例性系統
102‧‧‧纜線數據機終端系統
104a~n‧‧‧纜線數據機
106a~n‧‧‧伺服器
108‧‧‧網路
110‧‧‧網路
112a~n‧‧‧用戶端
114‧‧‧介質存取控制器
116‧‧‧下游實體層調製器
118‧‧‧上游實體層解調器
122‧‧‧標記單元
124a~n‧‧‧下游佇列
126‧‧‧處理器
130‧‧‧調度器
131‧‧‧發送信號

Claims (10)

  1. 一種纜線數據機終端系統,包括:視頻流監視和標記系統,被配置為:監視由伺服器交付給第一用戶端和第二用戶端的視頻流,其中所述第一用戶端和所述第二用戶端具有相同服務水準協定;判定所述第一用戶端是否正在接收相比於所述第二用戶端較低位元速率的視頻流;以及調節參數從而使所述第一用戶端接收較高位元速率的視頻流;以及下游實體層調製器,耦合到所述視頻流監視和標記系統並被配置為將從所述伺服器接收的視頻流傳送到所述第一用戶端和所述第二用戶端。
  2. 如申請專利範圍第1項所述之纜線數據機終端系統,其中所述視頻流監視和標記系統被配置為:調節所述參數從而減小對所述第二用戶端的頻寬分配,從而均衡所述第一用戶端和所述第二用戶端之間的頻寬分配,或者確定交付給所述第一用戶端和所述第二用戶端的視頻流的位元速率,或者監視所述第一用戶端和所述伺服器之間的控制通道上控制消息,從而檢測所述第一用戶端對於所述伺服器的、對相比於所述第二用戶端較低位元速率的視頻流的請求,或者為所述第一用戶端和所述第二用戶端確定服務水準協定。
  3. 如申請專利範圍第1項所述之纜線數據機終端系統,其中所述視頻流監視和標記系統被配置為調節下游服務流擴展報 頭中的參數、或調節權杖桶中的持續的信元速率參數、或調節等待時間水準參數,從而為交付給所述第一用戶端的視頻流賦予較高優先順序。
  4. 一種方法,包括:監視由伺服器交付給第一用戶端和第二用戶端的視頻流,其中,所述第一用戶端和所述第二用戶端具有相同的服務水準協定;判定所述第一用戶端是否正在接收相比於所述第二用戶端較低位元速率的視頻流;以及調節參數從而使所述第一用戶端接收較高位元速率的視頻流。
  5. 如申請專利範圍第4項所述之方法,調節步驟還包括調節所述參數從而減小對所述第二用戶端的頻寬分配,以均衡所述第一用戶端和所述第二用戶端之間的頻寬分配。
  6. 如申請專利範圍第4項所述之方法,判定步驟還包括監視所述第一用戶端和所述伺服器之間的控制通道上的控制消息,從而檢測所述第一用戶端對於所述伺服器的、對相比於所述第二用戶端較低位元速率的視頻流的請求。
  7. 如申請專利範圍第4項所述之方法,調節步驟還包括調節下游服務流擴展報頭中的參數、或調節權杖桶中的持續的信元速率參數、或調節等待時間水準參數,從而為交付給所述第一用戶端的視頻流賦予較高優先順序。
  8. 如申請專利範圍第4項所述之方法,其中這些步驟通過光線路終端執行。
  9. 如申請專利範圍第8項所述之方法,調節步驟還包括:改變資料包的顏色、或改變資料包的丟棄閾值,從而為交付給所述第一用戶端的視頻流賦予較高優先順序。
  10. 一種光線路終端,包括:視頻流監視和標記系統,其中所述視頻流監視和標記系統被配置為:監視由伺服器交付給具有相同服務水準協定的第一用戶端和第二用戶端的視頻流;判定所述第一用戶端是否正在接收相比於所述第二用戶端較低位元速率的視頻流;以及調節參數從而使所述第一用戶端接收較高位元速率的視頻流;以及下游實體層調製器,耦合到所述視頻流監視和標記系統並被配置為將從所述伺服器接收的視頻流傳送到所述第一用戶端和所述第二用戶端。
TW101129028A 2011-08-23 2012-08-10 纜線數據機終端系統、光線路終端及其方法 TWI517632B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161526504P 2011-08-23 2011-08-23
US13/538,037 US9014048B2 (en) 2011-08-23 2012-06-29 Dynamic bandwidth re-allocation

Publications (2)

Publication Number Publication Date
TW201312969A true TW201312969A (zh) 2013-03-16
TWI517632B TWI517632B (zh) 2016-01-11

Family

ID=46796215

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101129028A TWI517632B (zh) 2011-08-23 2012-08-10 纜線數據機終端系統、光線路終端及其方法

Country Status (6)

Country Link
US (1) US9014048B2 (zh)
EP (1) EP2563034B1 (zh)
KR (1) KR20130023094A (zh)
CN (1) CN102957946B (zh)
HK (1) HK1178352A1 (zh)
TW (1) TWI517632B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8331231B2 (en) 2008-09-09 2012-12-11 Centurylink Intellectual Property Llc System and method for monitoring bursting traffic
US8873565B2 (en) * 2012-04-16 2014-10-28 Futurewei Technologies, Inc. Method and apparatus of delivering upstream data in ethernet passive optical network over coaxial network
US9276967B2 (en) 2012-07-27 2016-03-01 Centurylink Intellectual Property Llc System and method for determining optimal bandwidth for streaming to a client device in an adjustable bit rate video system
US9066153B2 (en) 2013-03-15 2015-06-23 Time Warner Cable Enterprises Llc Apparatus and methods for multicast delivery of content in a content delivery network
US9402107B2 (en) * 2013-03-15 2016-07-26 Time Warner Cable Enterprises Llc Apparatus and methods for delivery of multicast and unicast content in a content delivery network
US9363188B2 (en) * 2013-03-15 2016-06-07 Arris Enterprises, Inc. Cable modem termination system control of cable modem queue length
EP3005717B1 (en) * 2013-06-05 2020-05-27 InterDigital CE Patent Holdings Method and apparatus for content distribution for multiscreen viewing
EP3005707B1 (en) * 2013-06-05 2017-10-04 Thomson Licensing Method and apparatus for content distribution for multiscreen viewing
CN105378695B (zh) 2013-06-05 2020-05-19 交互数字Ce专利控股公司 用于内容分发以便多屏幕观看的方法和装置
US9391915B2 (en) * 2013-06-20 2016-07-12 Microsoft Technology Licensing, Llc Controlling bandwidth across multiple users for interactive services
US10812550B1 (en) 2016-08-03 2020-10-20 Amazon Technologies, Inc. Bitrate allocation for a multichannel media stream
US10873781B2 (en) 2017-06-13 2020-12-22 Comcast Cable Communications, Llc Video fragment file processing
CN111327925A (zh) * 2019-06-04 2020-06-23 杭州海康威视系统技术有限公司 数据处理方法、装置、电子设备及机器可读存储介质
CN110557398B (zh) * 2019-09-12 2022-05-17 金蝶软件(中国)有限公司 服务请求控制方法、装置、系统、计算机设备和存储介质

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6314466B1 (en) * 1998-10-06 2001-11-06 Realnetworks, Inc. System and method for providing random access to a multimedia object over a network
EP1320216A1 (en) * 2001-12-11 2003-06-18 BRITISH TELECOMMUNICATIONS public limited company Method and device for multicast transmission
GB0215013D0 (en) * 2002-06-28 2002-08-07 Nokia Corp Communications system and method
US20050114432A1 (en) * 2003-11-24 2005-05-26 Hodges Donna K. Methods for providing communications services
US7536205B2 (en) * 2004-06-15 2009-05-19 Samsung Electronics Co., Ltd. Apparatus and method for downlink spatial division multiple access scheduling in a wireless network
WO2006034185A2 (en) 2004-09-20 2006-03-30 Camiant, Inc. Method for dynamic rate adaptation based on selective passive network monitoring
US20060149845A1 (en) * 2004-12-30 2006-07-06 Xinnia Technology, Llc Managed quality of service for users and applications over shared networks
US7734784B1 (en) * 2006-09-22 2010-06-08 Juniper Networks, Inc. Dynamic service activation using COPS-PR to support outsourcing and configuration models for policy control
US20080192773A1 (en) 2007-02-13 2008-08-14 Canhui Ou Methods and apparatus to manage bandwidth utilization in an access network
CN101272479B (zh) * 2008-03-31 2011-11-30 华为软件技术有限公司 资源调度装置及方法,点播节目的方法及系统和机顶盒
CN101436996B (zh) 2008-12-19 2010-12-15 广东工业大学 基于短时公平性的分组反馈调度方法
US9191322B2 (en) 2009-05-19 2015-11-17 Beaumaris Networks Inc. Methods, apparatus and computer readable medium for managed adaptive bit rate for bandwidth reclamation
US8554082B2 (en) 2009-09-09 2013-10-08 Broadcom Corporation Ethernet passive optical network over coaxial (EPOC)

Also Published As

Publication number Publication date
US9014048B2 (en) 2015-04-21
EP2563034B1 (en) 2018-10-10
TWI517632B (zh) 2016-01-11
KR20130023094A (ko) 2013-03-07
EP2563034A1 (en) 2013-02-27
HK1178352A1 (zh) 2013-09-06
CN102957946B (zh) 2016-07-06
US20130051276A1 (en) 2013-02-28
CN102957946A (zh) 2013-03-06

Similar Documents

Publication Publication Date Title
TWI517632B (zh) 纜線數據機終端系統、光線路終端及其方法
US6898182B1 (en) Congestion control in a network device having a buffer circuit
US7088678B1 (en) System and method for traffic shaping based on generalized congestion and flow control
US8190750B2 (en) Content rate selection for media servers with proxy-feedback-controlled frame transmission
US8971184B2 (en) Latency based random early discard for network packets
RU2316127C2 (ru) Спектрально-ограниченная контролирующая пакетная передача для управления перегрузкой и установления вызова в сетях, основанных на пакетах
US8125904B2 (en) Method and system for adaptive queue and buffer control based on monitoring and active congestion avoidance in a packet network switch
EP2466824B1 (en) Service scheduling method and device
US9363188B2 (en) Cable modem termination system control of cable modem queue length
EP2095580B1 (en) Method and apparatus for policing bandwidth usage of a home network
US20150271232A1 (en) Transport accelerator implementing request manager and connection manager functionality
US20030031178A1 (en) Method for ascertaining network bandwidth allocation policy associated with network address
US7779142B1 (en) Bandwidth allocation to support fast buffering
JP4128198B2 (ja) 帯域制御装置
US9729459B2 (en) System and method for credit-based link level flow control
EP2929718A1 (en) Method and apparatus for scheduling adaptive bit rae streams
WO2018218957A1 (zh) 一种流量控制方法、设备及系统
US8923330B2 (en) Using dynamic burst size metric to mark data
US20030099199A1 (en) Bandwidth allocation credit updating on a variable time basis
US11456958B1 (en) Method and system for meter conformance in a switch
CN117412120A (zh) 视频传输方法、视频发送设备、系统以及存储介质
JP2022122064A (ja) 配信サーバ、配信システム及び配信プログラム
Nee Experimental evaluation of two-dimensional media scaling techniques for Internet Videoconferencing
JP2004349824A (ja) 映像配信システムおよび映像配信方法
JP2015037262A (ja) 制御ルータ、コンテンツ転送システム、コンテンツ転送方法、および、コンテンツ転送プログラム

Legal Events

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