專利名稱:網(wǎng)際協(xié)議電信網(wǎng)上動態(tài)帶寬分配的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)際協(xié)議(IP)電信網(wǎng)絡(luò),特別涉及在IP電信網(wǎng)上進行動態(tài)帶寬分配的方法和裝置。
背景技術(shù):
因特網(wǎng)的飛速發(fā)展使得網(wǎng)際協(xié)議(IP)成為支持數(shù)據(jù)業(yè)務(wù)的首選協(xié)議,而IP電話(VoIP,Voice over IP)的大范圍部署也加快了IP向其它業(yè)務(wù)擴展的步伐。于是,運營商紛紛建立起新的IP網(wǎng)絡(luò)或?qū)υ芯W(wǎng)絡(luò)進行擴容,但是運營商很快發(fā)現(xiàn)其運營收入并未隨著因特網(wǎng)流量的增長速度線性增長,其原因正是原有的傳輸控制協(xié)議/網(wǎng)際協(xié)議(TCP/IP)的設(shè)計初衷是為了支持數(shù)據(jù)業(yè)務(wù),從而導(dǎo)致現(xiàn)有的IP網(wǎng)絡(luò)支持包括話音和視頻等實時業(yè)務(wù)時,仍采用盡力而為(Best-effort)的機制,無法針對業(yè)務(wù)的不同帶寬需求進行分配,所以不具有可管理性和可運營性。
為了解決現(xiàn)有網(wǎng)絡(luò)的問題,ITU(國際電信聯(lián)盟)和ETSI(歐洲電信標準協(xié)議)開始致力于構(gòu)造將傳統(tǒng)的電話網(wǎng)和因特網(wǎng)兩者結(jié)合的下一代網(wǎng)絡(luò)(NGN)。ETSI對NGN的定義為“NGN是一種規(guī)范和部署網(wǎng)絡(luò)的概念,通過使用分層、分面和開發(fā)接口的方式,對業(yè)務(wù)提供者和運營者提供一個平臺,借助這一平臺逐步演進以生成、部署和管理新的業(yè)務(wù)”。而一般認為IP+QoS(服務(wù)質(zhì)量)是NGN能力的標準,它代表了因特網(wǎng)和電信網(wǎng)技術(shù)的結(jié)合,即所謂的IP電信網(wǎng)。而實現(xiàn)IP電信網(wǎng)的QoS問題的關(guān)鍵問題之一,就是如何有效地實現(xiàn)對帶寬的動態(tài)分配。
因此,尋找一種簡單高效的動態(tài)帶寬分配機制對未來的IP網(wǎng)絡(luò)前途有著重大的意義,這是因為未來的IP電信網(wǎng)需要對帶寬的有效的動態(tài)分配,以保證對用戶服務(wù)質(zhì)量的保證,并實現(xiàn)運營商利益的最大化(Maximal Revenue)。
目前的IP網(wǎng)絡(luò)上對帶寬分配是基于以下三種模型,即盡力而為模型、集成服務(wù)模型和區(qū)分服務(wù)模型。
在目前大規(guī)模的應(yīng)用的IP網(wǎng)絡(luò)中,路由器對帶寬的分配均采用盡力而為(Best-Effort)的方式。圖1示意性地圖解了盡力而為服務(wù)模型。所謂Best-Effort是一個單一的服務(wù)模型,也是最簡單的服務(wù)模型。應(yīng)用程序可以在任何時候發(fā)出任意數(shù)量的報文,而且不需要事先獲得批準,也不需要通知。所有的報文都被無區(qū)別的等同對待,每個路由器對所有的報文均采用先入先出(FIFO)的策略進行處理,如圖1所示。它盡最大的努力Best-Effort將報文送到目的地,但對報文傳送的可靠性傳送延遲等性能不提供任何保證。Best-Effort服務(wù)是現(xiàn)在因特網(wǎng)的缺省服務(wù)模型,它適用于絕大多數(shù)網(wǎng)絡(luò)應(yīng)用如超文本傳輸協(xié)議(HTTP)和電子郵件(E-Mail)等。
但是隨著網(wǎng)絡(luò)發(fā)展日新月異,IP網(wǎng)絡(luò)上新應(yīng)用的不斷出現(xiàn),對IP網(wǎng)絡(luò)的服務(wù)質(zhì)量也提出了新的要求,例如IP語音等實時業(yè)務(wù)就對報文的傳輸延遲提出了較高要求,如果報文傳送延時太長將是用戶所不能接受的;相對而言,E-Mail和HTTP業(yè)務(wù)對時間延遲并不敏感。因此,由于傳統(tǒng)IP網(wǎng)絡(luò)的盡力服務(wù)對所有應(yīng)用均采用同一種帶寬分配策略(FIFO),無法支持語音等實時業(yè)務(wù),也無法滿足網(wǎng)絡(luò)新業(yè)務(wù)的需求。
為了解決Best-Effort模型下帶寬無法保證的問題,IETF(因特網(wǎng)工程任務(wù)組)于1994年提出了一種理想化的帶寬分配模型-集成服務(wù)模型(IntServ),而其核心則是RFC2209中定義的RSVP(資源預(yù)留協(xié)議)。IntServ是一個集成服務(wù)模型,這種服務(wù)模型的關(guān)鍵在于IP網(wǎng)絡(luò)為每個流進行端到端的帶寬預(yù)留。它要求在發(fā)送報文前,應(yīng)用程序需要向網(wǎng)絡(luò)申請?zhí)囟ǖ姆?wù),這個請求是通過RSVP信令來完成的。應(yīng)用程序首先通知網(wǎng)絡(luò)它自己的流量參數(shù)和需要的特定服務(wù)質(zhì)量請求,包括帶寬需求等。網(wǎng)絡(luò)在收到應(yīng)用程序的資源請求后進行準入控制(Admission control),即基于應(yīng)用程序的資源申請和網(wǎng)絡(luò)現(xiàn)有的資源情況,判斷是否為應(yīng)用程序分配資源。應(yīng)用程序一般在收到網(wǎng)絡(luò)的確認信息,即確認網(wǎng)絡(luò)已經(jīng)為這個應(yīng)用程序的報文預(yù)留了資源后才開始發(fā)送報文。同時,應(yīng)用程序發(fā)出的報文應(yīng)該控制在流量參數(shù)描述的范圍以內(nèi)。
IntServ主要借鑒了窄帶公共開關(guān)電話網(wǎng)絡(luò)(PSTN)領(lǐng)域的成功經(jīng)驗,通信前先通過信令協(xié)議建立端到端的通信路徑,看似十分完美,但同樣的思想在IP領(lǐng)域卻沒有獲得成功,其中一個重要的原因在于IP網(wǎng)絡(luò)與PSTN網(wǎng)量模型和業(yè)務(wù)模型是不同。在PSTN中,每一對源和目的節(jié)點之間只有單一的64Kbps的語音業(yè)務(wù);而在因特網(wǎng)中,每一對源和目的之間可能并發(fā)多個業(yè)務(wù)流,并且源和目的可能是多對多的關(guān)系。
由于IP網(wǎng)絡(luò)流量模型和業(yè)務(wù)模型的特點,使得因特網(wǎng)骨干網(wǎng)瞬間要為成千上萬的業(yè)務(wù)流提供服務(wù)。因此,粒度為單個流的帶寬預(yù)留的解決思路在因特網(wǎng)骨干網(wǎng)上無法擴展,這嚴重制約了IntServ在實際網(wǎng)絡(luò)中的應(yīng)用。此外,采用IntServ意味著需要在互聯(lián)網(wǎng)中引入端到端的RSVP信令,這會帶來一系列的互聯(lián)互通問題。因此,可以說基于RSVP的IntServ解決方案是在資源分配方面一次失敗的嘗試。IntServ從1994年推出至今并沒有獲得任何規(guī)模的商用。
為了尋求擴展性和簡易性,IETF在1998年推出了基于DSCP(區(qū)分服務(wù)編碼點)的區(qū)分服務(wù)模型(DiffServ)解決方案,是一種基于粗粒度的QoS技術(shù)。在采用DiffServ時,網(wǎng)絡(luò)的邊界路由器通過分組的源地址和目的地址等內(nèi)容,對分組進行分類,并對不同的分組設(shè)置不同的DSCP值,即將不同的流聚合為有限的等級,而網(wǎng)絡(luò)的核心路由器只需要用DSCP值來進行報文的分類,并為之服務(wù),包括資源分配、隊列調(diào)度和分組丟棄策略等,這些操作統(tǒng)稱為逐跳行為(Per-Hop Behavior or PHB)。
DiffServ沒有采用IntServ中為每一個流端到端分配的方式,而是采用了兩級的體系結(jié)構(gòu),即在邊界節(jié)點分類,并實現(xiàn)流的聚合,而在核心節(jié)點根據(jù)類別進行不同的帶寬分配和轉(zhuǎn)發(fā)策略。這樣就避免了IntServ中的擴展性差和引入信令的問題。
但是,DiffServ仍然存在不足。首先,DiffServ模型解決了網(wǎng)絡(luò)匯聚節(jié)點和核心節(jié)點的帶寬分配問題,但并未解決在最靠近用戶的接入節(jié)點的帶寬分配問題,這樣就無法真正保證端到端的QoS;其次,DitfServ只能在OSI模型的三層以上解決資源的動態(tài)分配,而無法解決二層甚至更底層的帶寬分配問題。最后,DiffServ在帶寬分配的過程中沒有考慮運營商的利益最大化。
綜上所述,見下表一,目前的三種模型都無法滿足未來IP電信網(wǎng)對帶寬分配的需要。因此一種合理的、高效的帶寬分配方式顯得意義重大。
發(fā)明內(nèi)容由于現(xiàn)有技術(shù)存在種種缺陷,本發(fā)明提出一種帶寬分配模型,并針對這種模型提出了一種全新的帶寬分配的方法。它不需要引入額外的信令,帶來任何互聯(lián)互通的問題,也不會帶來任何可擴展性差的問題。它基于用戶的帶寬請求的收入密度(Revenue Density)進行帶寬分配,能夠保證運營商收入的最大化,可用于數(shù)據(jù)網(wǎng)上傳輸和交換節(jié)點,并可以和其它主流的QoS技術(shù)共同使用。
本發(fā)明提供了一種帶寬分配方法,用于向多個請求方分配預(yù)定總帶寬,該方法包括以下步驟獲取每個請求方的帶寬需求及其所對應(yīng)的一個指標值;對每個請求方計算其所對應(yīng)的指標值與其帶寬需求的比值,得出單位帶寬指標值;對所述多個請求方根據(jù)單位帶寬指標值從大到小排序,形成第一隊列;以及形成可滿足其帶寬需求的請求方的第一集合,其中,按所述第一隊列順序?qū)Ω鱾€請求方逐一判斷剩余帶寬能否滿足其帶寬需求,當(dāng)能夠滿足其帶寬需求時,將該請求方添加到所述第一集合中。
最好,本發(fā)明的帶寬分配方法還包括判斷是否需要完全滿足請求方的帶寬需求的步驟,其中,當(dāng)判定剩余帶寬不足以滿足一個請求方的帶寬需求時,如果判定需要完全滿足請求方的帶寬需求,則跳過該請求方,而對下一個請求方進行判斷;如果判定不需要完全滿足請求方的帶寬需求,則將剩余帶寬分配給該請求方。
最好,本發(fā)明的帶寬分配方法在需要完全滿足請求方的帶寬需求的情況下,還包括以下步驟對所述第一隊列中單位帶寬指標值相同的請求方進一步按每個請求方所對應(yīng)的指標值從高到低排列順序。
最好,本發(fā)明的帶寬分配方法在需要完全滿足請求方的帶寬需求的情況下,還包括以下步驟計算所述第一集合中的各請求方所對應(yīng)的指標值之和,作為第一總指標值;將最高單位帶寬指標值之外的各單位帶寬指標值所對應(yīng)的多個請求方中指標值較高的至少一個請求方從所述第一隊列中取出,排在隊列最前面,形成第二隊列;形成可滿足其帶寬需求的請求方的第二集合,其中,按所述第二隊列順序?qū)Ω鱾€請求方逐一判斷剩余帶寬能否滿足其帶寬需求,當(dāng)能夠滿足其帶寬需求時,將該請求方添加到所述第二集合中;計算所述第二集合中各請求方所對應(yīng)的指標值之和,作為第二總指標值;比較所述第一總指標值和第二總指標值;當(dāng)?shù)谝豢傊笜酥荡笥诘诙傊笜酥禃r,滿足所述第一集合中的各請求方的帶寬需求;以及當(dāng)?shù)诙傊笜酥荡笥诘谝豢傊笜酥禃r,滿足所述第二集合中的各請求方的帶寬需求。
最好,本發(fā)明的帶寬分配方法在不需要完全滿足請求方的帶寬需求的情況下,還包括首先向每個請求方分配預(yù)定比例的基本帶寬的步驟。
最好,本發(fā)明的帶寬分配方法還包括以下步驟循環(huán)判斷請求方的帶寬需求和其所對應(yīng)的指標值是否發(fā)生了改變,并在發(fā)生改變的情況下重新進行帶寬分配。
本發(fā)明還提供了一種帶寬分配裝置,用于向多個請求方分配預(yù)定總帶寬,該裝置包括請求信息獲取裝置,用于獲取每個請求方的帶寬需求及其所對應(yīng)的一個指標值;單位帶寬指標值計算裝置,用于對每個請求方計算其所對應(yīng)的指標值與其帶寬需求的比值,得出單位帶寬指標值;排序裝置,對所述多個請求方根據(jù)單位帶寬指標值從大到小排序,形成第一隊列;存儲裝置,用于存儲可滿足其帶寬需求的請求方的第一集合;判斷選取裝置,按所述第一隊列順序?qū)Ω鱾€請求方逐一判斷剩余帶寬能否滿足其帶寬需求,在判定能夠滿足請求方的帶寬需求時,將該請求方添加到所述第一集合中。
最好,本發(fā)明的帶寬分配裝置還包括模式判斷裝置,用于判斷是否需要完全滿足請求方的帶寬需求,其中,當(dāng)所述帶寬判斷裝置判定剩余帶寬不足以滿足一個請求方的帶寬需求時,如果所述模式判斷裝置判定需要完全滿足請求方的帶寬需求,則跳過該請求方,而對下一個請求方進行判斷;如果所述判斷裝置判定不需要完全滿足請求方的帶寬需求,則將剩余帶寬分配給該請求方。
最好,本發(fā)明的帶寬分配裝置在所述模式判斷裝置判定需要完全滿足請求方的帶寬需求的情況下,所述排序裝置對所述第一隊列中單位帶寬指標值相同的請求方進一步按每個請求方所對應(yīng)的指標值從高到低排列順序。
最好,在本發(fā)明的帶寬分配裝置中,排序裝置將最高單位帶寬指標值之外的各單位帶寬指標值所對應(yīng)的多個請求方中指標值較高的至少一個請求方從所述第一隊列中取出,排在隊列最前面,形成第二隊列;存儲裝置還存儲可滿足其帶寬需求的請求方的第二集合,其中,所述帶寬判斷裝置按所述第二隊列順序?qū)Ω鱾€請求方逐一判斷剩余帶寬能否滿足其帶寬需求,當(dāng)能夠滿足其帶寬需求時,將該請求方添加到所述第二集合中,該帶寬分配裝置還包括總指標值計算裝置,用于計算所述第一集合中各請求方所對應(yīng)的指標值之和,作為第一總指標值,并計算所述第二集合中各請求方所對應(yīng)的指標值之和,作為第二總指標值;比較選擇裝置,用于比較所述第一總指標值和第二總指標值,當(dāng)?shù)谝豢傊笜酥荡笥诘诙傊笜酥禃r,選擇所述第一集合,以滿足其中的各請求方的帶寬需求,當(dāng)?shù)诙傊笜酥荡笥诘谝豢傊笜酥禃r,選擇所述第二集合,以滿足其中的各請求方的帶寬需求。
最好,本發(fā)明的帶寬分配裝置還包括基本帶寬分配裝置,用于在不需要完全滿足請求方的帶寬需求的情況下,首先向每個請求方分配預(yù)定比例的基本帶寬。
最好,本發(fā)明的帶寬分配裝置還包括檢測裝置,用于循環(huán)判斷請求方的帶寬需求和其所對應(yīng)的指標值是否發(fā)生了改變,并在發(fā)生改變的情況下重新進行帶寬分配。
圖1示意性地圖解了盡力而為服務(wù)模型;圖2圖解了本發(fā)明提出抽象的帶寬分配模型;圖3是根據(jù)本發(fā)明一個實施例的帶寬分配方法的流程圖;圖4是在嚴格帶寬分配情況下,圖3中的步驟S4的詳細子步驟流程圖;
圖5是在靈活帶寬分配情況下,圖3中的步驟S4的詳細子步驟流程圖;圖6是根據(jù)本發(fā)明另一個實施例的帶寬分配方法的流程圖;圖7是本發(fā)明的帶寬分配裝置的示意性方框圖;圖8顯示出本發(fā)明的應(yīng)用的邏輯視圖;以及圖9是應(yīng)用本發(fā)明的線卡的示意圖。
具體實施例方式
首先描述本發(fā)明中帶寬分配的模型。
由于在IP電信網(wǎng)中,進行帶寬分配的實體可能是路由器、交換機、寬帶接入服務(wù)器、EPON(以太網(wǎng)無源光網(wǎng)絡(luò))的ONU(光網(wǎng)絡(luò)節(jié)點)或城域多業(yè)務(wù)環(huán)(MSR)設(shè)備等,而用戶接入的方式也可能是xDSL(數(shù)字用戶環(huán)路)、局域網(wǎng)(LAN)、光纖到家庭(FTTH)或?qū)>€接入等,因此一個好的帶寬分配模型必須滿足以下條件其一必須具備邏輯上的獨立性,即獨立于具體物理設(shè)備和具體實現(xiàn)技術(shù),是邏輯上最基本的一種模型;其二具有通用性,必須能夠用于多種應(yīng)用環(huán)境,即既可以用于三層的網(wǎng)絡(luò)層,也可以用于三層以下的鏈路層如MSR,甚至于物理層的帶寬分配如無源光網(wǎng)絡(luò)(PON);其三具有兼容性,即該模型可以和現(xiàn)有的主流技術(shù)一起使用,即可以用于Best-effort和Diffserv的網(wǎng)絡(luò)環(huán)境中。
圖2圖解了本發(fā)明提出抽象的帶寬分配模型。本發(fā)明中以用戶(Client)來代表請求帶寬的最小單元,它可以是IP電信網(wǎng)中一個具體的接入用戶(比如在寬帶接入服務(wù)器BNAS(寬帶網(wǎng)絡(luò)接入服務(wù)器)的應(yīng)用中),也可以是一個支路信號(比如是在城域多業(yè)務(wù)環(huán)MSR的應(yīng)用中),每個Client有自己和運營商的服務(wù)協(xié)定(SLA),其中包括用戶的等級、請求的帶寬(Request Bandwidth)、流量參數(shù)和為運營商帶來的收入(Revenue)。而帶寬的分配由資源管理器完成,它必須能夠?qū)崟r的進行動態(tài)帶寬分配,它所能管理的帶寬總量為B。
顯然,該模型符合以上三個要求,它是一個單節(jié)點的模型,不考慮和其他節(jié)點的信令交互,獨立于具體的物理設(shè)備和底層技術(shù),并可以應(yīng)用于多種環(huán)境,還可以和其它主流技術(shù)一起使用。
資源管理器中一個好的帶寬分配算法必須具備以下特點1.簡單。其由于請求帶寬的Client在實時變化,因此為了實現(xiàn)動態(tài)帶寬分配,帶寬分配的算法必須能夠在確定性(deterministic)的時間內(nèi)實現(xiàn),即該算法的計算時間不能是請求Client個數(shù)n的指數(shù)形式,而必須是在多項式時間內(nèi)能夠計算,并且必須方便軟件實現(xiàn)或?qū)S眉呻娐?ASIC)實現(xiàn)。
2.公平。資源管理器(RM,Resource Manager)對各個用戶帶寬的分配應(yīng)該是公平(Fair)的。在帶寬資源充裕的條件下,按需分配;而在用戶帶寬的請求量超過總帶寬時,按一定的算法進行分配,但需要考慮對不同用戶等級帶寬分配的公平性,即進行帶寬分配時,應(yīng)該能夠滿足高優(yōu)先級業(yè)務(wù)的帶寬要求,即保證對高付費用戶的公平性和運營商利益的最大化。因此,RM必須通過建立起區(qū)分業(yè)務(wù)和基于業(yè)務(wù)的調(diào)度算法,對各等級隊列中的發(fā)送數(shù)據(jù)進行控制,即可決定分配到給各類業(yè)務(wù)的帶寬大小,從而滿足用戶等級隊列對帶寬分配的公平性。
3.健壯性好。該帶寬分配算法必須能夠不依賴任何具體的業(yè)務(wù)模型,即無論IP網(wǎng)的流量采用何種業(yè)務(wù)模型,均能有效的對之進行支持。
在本發(fā)明中,動態(tài)帶寬分配問題可以具體描述如下假定有編號為N1,N2,…,Nk,共k個Client,分別具有用戶等級1,2,…,k(其中,不同的用戶等級表示不同的統(tǒng)計特性和帶寬需求,而用戶等級和帶寬需求及收入為正相關(guān)。所謂正相關(guān)是指用戶等級越高,則帶寬需求越大,而給運營商帶來的收入越大,即收入密度越大),向一個速率為B的鏈路提出帶寬請求。問題是網(wǎng)絡(luò)能否選擇出足夠的Client,能夠充分利用現(xiàn)有的帶寬,滿足Client的帶寬需求,并且能夠最大化的運營收入。
當(dāng)網(wǎng)絡(luò)必須完全滿足為Client的帶寬需求時,此時我們稱之為嚴格的帶寬分配(Strict Bandwidth Allocation or SBA)問題,而當(dāng)網(wǎng)絡(luò)可以部分滿足Client帶寬需求時,我們稱之為靈活帶寬分配問題(Flexible BandwidthAllocation or FBA)。
下面,先描述對嚴格帶寬分配問題的求解。
SBA問題可以更準確地描述為存在編號為N1,N2,…,Nk的Client,用戶等級分別為C1,C2,…Ck,其帶寬需求分別為B1,B2,…,Bk,而產(chǎn)生的收入為R1,R2,…,Rk,鏈路的速率為B,收入目標為R。
問網(wǎng)絡(luò)能否選擇足夠的Client,產(chǎn)生的收入>R,且?guī)捫枨螅迹紹,且完全滿足這些Client的帶寬需求。
容易看出BAP(帶寬分配問題)屬于NP問題,因為存在非確定性的算法被用來解決該問題,即簡單的猜一組Client,并在多項式時間內(nèi)檢驗以下1.檢查選擇的Client的帶寬需求和是否不超過現(xiàn)有的帶寬;2.檢查產(chǎn)生的收入是否超過R;3.檢查是否完全滿足各個Client的帶寬需求。
以下我們證明嚴格的帶寬分配問題是NP完全問題,不存在多項式時間求出最優(yōu)解的多項式算法。
我們知道存在定理若Q為NP完全問題,且Q可以在多項式時間內(nèi)歸約到L,則L是NP難度的。因此為了證明SBA問題是NP完全問題,我們只需要證明某個經(jīng)典的NP完全問題可以在多項式時間內(nèi)歸約到SBA問題。
從對SBA問題的描述,我們可以看出其與背包問題類似。而背包問題描述如下已知有n種物品和一個可容納W重量的背包,存在一個有限集U,其中每個物品的重量為W(u),而將物品u的一部分X(u)放入到背包中產(chǎn)生的效益為V(u)X(u),問能否選擇一些物品,使得背包的重量不超過W,且產(chǎn)生的效益>=V。其中當(dāng)0<=X(u)<=1時,該問題為背包問題,而當(dāng)X(u)只能等于0或1時,為0-1背包問題。而0-1背包問題為經(jīng)典NP完全問題。
現(xiàn)在,我們可以證明0-1背包問題是SBA問題的一個特例。0-1背包問題中定義的有限集U可以等效于Client,W(u)等效于Bk,V(u)等效于Rk,背包的大小等效于W,價值目標V等效于R。這些等效可以在常數(shù)時間內(nèi)完成,即可以在O(1)時間內(nèi)完成0-1背包問題到SBA問題的歸約,這可以證明SBA問題是NP完全問題。因此,不存在多項式時間內(nèi)的確定算法可以求解嚴格的帶寬分配問題,而我們要尋求的是如何得出在確定時間內(nèi)可以得到近似的算法。
本發(fā)明提出采用一種改進貪心算法(Greedy Algorithm)進行求解SBA問題。因為簡單的貪心算法并不一定能夠找到最優(yōu)解。例如,如果是以收入值進行貪心算法,即優(yōu)先選擇產(chǎn)生的收入值最大的Client,則如果存在收入值大的Client的帶寬需求大時,所找到的結(jié)果并非是最優(yōu)解。如當(dāng)帶寬B為100Mbps,有Client分別為C1(100元,100Mbps);C2(75元,25Mbps);C3(200元,50Mbps);用收入值進行貪心算法,選擇的結(jié)果為{C1};而最優(yōu)解為{C2,C3}。
同樣以收入密度(Revenue Density,即收入/帶寬)進行貪心算法,所得結(jié)果也可能不是最優(yōu)解。如帶寬B為100Mbps,有Client分別為C1(8元,2Mbps);C2(200元,100Mbps);C3(98元,98Mbps);用收入密度進行貪心算法得到的結(jié)果為{C1,C3},而最優(yōu)解為{C2};另外,需要注意的是,在帶寬分配中,還存在一些其它約束條件1.Client的數(shù)量n可能很大(n>=10K),但用戶等級較少(<=256),因為目前的IP電信網(wǎng)上采用粗粒度的QoS機制,且用戶等級決定了收入密度;2.相同優(yōu)先級的Client必須保證其帶寬分配的公平性;SBA問題的求解方法如下;1.將Client分為N’組,其中N’為用戶等級的個數(shù),每組內(nèi)Client用戶等級(收入密度)相同。
2.按照用戶等級(收入密度)的非遞增順序排列這N’組Client,而每組內(nèi)的Client按照收入值的非遞增順序進行排列。
3.U’為空集合;4.fori=1 to n do beginif∑Bi<=B,the U’=U’+Ui;5.將結(jié)果放入暫存數(shù)組1。
6.將第一組之外的N’-1組中收入最大的且?guī)捫枨笮∮贐的Client放入U’中,并重新重復(fù)4)的過程,將所得結(jié)果放入暫存數(shù)組2中。比較兩次的結(jié)果,將能夠產(chǎn)生的收入較大的作為結(jié)果輸出。
下面分析本發(fā)明對SBA問題的求解算法的時間和空間復(fù)雜度1.排序時間,由于第一步排序可以根據(jù)數(shù)據(jù)的用戶等級進行,其時間復(fù)雜度為O(nlog2n)。
2.采用快速排序算法將相同用戶等級的按照非遞增順序進行排列的時間為O(nlog2n)。
3.而采用針對收入密度的Client進行貪心算法的時間復(fù)雜度為O(n)。
4.選擇第一組之外的收入最大值所需要的時間為O(1),第二次運行貪心算法的時間為O(n)。
因此,時間復(fù)雜度為O(nlog2n),空間復(fù)雜度只需要三個最大長度為n的數(shù)組,所以空間復(fù)雜度為O(n)。
下面描述對靈活帶寬分配問題的求解。
對于FBA問題準確表述和上文中對SBA的表述基本相同,唯一的區(qū)別將完全滿足改為部分滿足Client的帶寬需求,所以由上述的證明可知本問題可以等效于背包問題,則該問題是一個P問題,可以用貪心算法在多項式時間內(nèi)求解出最優(yōu)解。
但是對于靈活帶寬分配問題,我們需要注意的是,在IP電信網(wǎng)中對Client進行靈活帶寬分配時,除考慮收入的最大化時,還必須考慮保證所有業(yè)務(wù)基本帶寬需求(CIR),因此,我們必須首先進行基本帶寬分配(CIR),保證沒有用戶出現(xiàn)饑餓(Starvation)現(xiàn)象,然后用貪心算法進行帶寬分配如下第一步進行基本帶寬分配算法首先根據(jù)加權(quán)輪轉(zhuǎn)法(WRR)算法將系統(tǒng)能夠分配的總帶寬在各個業(yè)務(wù)隊列中進行分配,保證各個業(yè)務(wù)隊列獲得一定比例(Ratio)的固定數(shù)目的系統(tǒng)上行帶寬。根據(jù)WRR基本原則,各業(yè)務(wù)隊列可獲得如下基本帶寬;B’i=Ci*(B*Ratio/∑Ck)第二步用貪心算法對剩余的B*(1-Ratio)進行求解;采用貪心算法求解按照Client請求的收入密度(用戶等級),即Revenue/Bandwidth(R/B)進行貪心算法;1.將Client分為N’組,其中N’為用戶等級的個數(shù),每組內(nèi)Client用戶等級相同。
2.將每組的Client進行合并,則重新生成N’個Client’,其請求的帶寬分別為∑C1,∑C2,…,∑CN,并將重新合并過的N’個請求按照用戶等級的大小(即收入密度)的非遞增順序進行排列。
3.對這N’個請求運行貪心算法,選擇出產(chǎn)生收入最大的最優(yōu)解。
4.輸出選擇的每個Client’所對應(yīng)的所有Client,每個Client分配的收入值為R(u)*X(u)。
下面分析本發(fā)明對靈活帶寬分配問題的求解的時間復(fù)雜度和空間復(fù)雜度。顯然該算法是確定性算法,所需的時間為O(nlog2n),而空間復(fù)雜度也為O(n)。
下面參考附圖,更詳細地描述本發(fā)明的帶寬分配方法和裝置。
首先參考圖3-6描述本發(fā)明的帶寬分配方法。圖3是根據(jù)本發(fā)明一個實施例的帶寬分配方法的流程圖。
在步驟S1,從n個用戶流量的帶寬請求中獲取每個請求方的帶寬需求值及其所對應(yīng)的一個指標值,該指標值可以是運營商或其他人所需要的任何值,除了上文中所提到的為運營商帶來的收入之外,還可以是其它一些值,例如,該運營商指定的一些優(yōu)先級等。本發(fā)明旨在從這n個用戶中選擇部分用戶,在總帶寬B的限度范圍內(nèi)滿足其帶寬需求,以使總指標值最大化或接近最大化。
在步驟S2,對每個請求方計算其所對應(yīng)的指標值與其帶寬需求的比值,從而得出單位帶寬指標值。
在步驟S3,對所述n個請求方根據(jù)單位帶寬指標值從大到小排序,形成第一隊列。如前面所描述,可以先將所有請求方按照單位帶寬指標值進行分組,然后對各個組進行排序。優(yōu)選地,還可以在各個具有相同單位帶寬指標值的請求方的組內(nèi)部,進一步按照各個請求方的指標值從大到小排序,這在嚴格帶寬分配模式下尤其顯得有益。
在步驟S4,按所述第一隊列順序選取可滿足其帶寬需求的請求方,形成第一集合。其中,按所述第一隊列順序?qū)Ω鱾€請求方逐一判斷剩余帶寬能否滿足其帶寬需求,當(dāng)能夠滿足其帶寬需求時,將該請求方添加到所述第一集合中。圖4和圖5分別圖解了步驟S4在不同分配模式要求下的具體執(zhí)行方式。
在本發(fā)明的帶寬分配方法中還可以包括判斷是否需要完全滿足請求方的帶寬需求的步驟,即判斷是嚴格帶寬分配還是靈活帶寬分配。圖中沒有示出這一步驟,但是本領(lǐng)域一般技術(shù)人員應(yīng)該明白,這一步驟可以在步驟S4之前任何時候進行,也可以在執(zhí)行步驟S4的過程中進行。嚴格帶寬分配模式和靈活帶寬分配模式的區(qū)別就在于當(dāng)總帶寬中剩余部分不足以滿足一個請求方的帶寬需求時嚴格帶寬分配模式需要完全滿足請求方的帶寬需求,而不允許只滿足請求方的部分帶寬需求,因此跳過該請求方,對下一個請求方進行判斷;而靈活帶寬分配模式不需要完全滿足請求方的帶寬需求,允許只滿足請求方的部分帶寬需求,因此可以簡單地通過將剩余帶寬分配給該請求方而完成分配,并獲得最高的指標值。
圖4圖解了在嚴格帶寬分配模式下,執(zhí)行圖3中的步驟S4的選取操作的詳細子步驟流程圖。
在步驟S401,進行初始化,建立一個空的集合U,從隊列中第一個請求方開始,即取i=1,因為尚未選擇任何請求方,因此,已選請求方的帶寬總需求Bselect=0。
在步驟S402,判斷已選請求方的帶寬總需求Bselect與第i個請求方Ni的帶寬需求Bi之和是否超過了總帶寬B。
如果在步驟S402判定上述和值未超過總帶寬B,則在步驟S403中將第i個請求方Ni添加到集合U中,然后處理進入步驟S404。如果在步驟S402判定上述和值超過了總帶寬B,則處理直接進入步驟S404。
在步驟S404,使i值遞增1。在步驟S405判斷遞增后的i是否大于請求方數(shù)目。通過步驟S404和步驟S405的處理,判斷了隊列中是否還有未判斷的請求方,即是否已對所有這n個請求方進行了判斷和選取。
如果在步驟S404判定i值不大于n,即隊列中還有未被判斷選取的請求方,則處理范圍步驟S402,繼續(xù)對下一個請求方進行判斷和選取。
如果在步驟S404判定i值大于n,即已判斷選取了隊列中所有的請求方,則處理進入步驟S406,選取操作結(jié)束。
圖5圖解了在靈活帶寬分配模式下,執(zhí)行圖3中的步驟S4的選取操作的詳細子步驟流程圖。
圖5中與圖4相同的步驟使用了相同的標號。圖5中,步驟S401的初始化和步驟S402的判斷,以及在步驟S402判定上述和值未超過總帶寬B的情況下的操作步驟S413、步驟S414、步驟S415與圖4中相應(yīng)的步驟相同,因此這里省略對其的詳細描述。圖5的方法與圖4的方法的區(qū)別僅在于,在步驟S402判定上述和值超過了總帶寬B的情況下的操作不同。在靈活帶寬分配模式中,由于可以只滿足請求方的部分帶寬需求,因此,只需在步驟S417將剩余帶寬B-Bselect分配給該第i個請求方,即可進入步驟S406,最優(yōu)地完成帶寬分配任務(wù)。
至此,在所描述的帶寬分配方法中,對于靈活帶寬分配模式而言,已經(jīng)獲得了最優(yōu)的帶寬分配的方案,對于嚴格帶寬分配模式而言,獲得了一個近似最優(yōu)的帶寬分配方案,如前所述,這一可能并不是最優(yōu)的,但是這一方案同樣是可行的,而且在很多情況下,也可以獲得較大的指標值。由于前面已經(jīng)證明嚴格帶寬分配問題是NP完全問題,不可能在多項式時間內(nèi)獲得精確求解,所以這樣一個近似的方案同樣是非常有意義的。
對于嚴格帶寬分配模式,為了進一步優(yōu)化帶寬分配方案,還可以進一步改進圖3所示的方法。
圖6圖解了根據(jù)本發(fā)明另一個實施例的帶寬分配方法的流程圖。
其中步驟S1-S4與圖3中的步驟S1-S4完全相同,步驟S4中采用圖4所示的方法選取請求方。即相當(dāng)于先按前述方法獲得一套分配方案。
然后在步驟S5對步驟S3中獲得的隊列進行重新排序,即將最高單位帶寬指標值之外的各單位帶寬指標值所對應(yīng)的多個請求方(如果按照單位帶寬指標值進行分組排序,則是第一組之外各組)中指標值較高的至少一個請求方從所述第一隊列中取出,排在隊列最前面,形成第二隊列。
在步驟S6,按照第二隊列的順序,再次對各個請求方執(zhí)行如圖4所示的選取操作,選取可滿足其帶寬需求的請求方,形成第集合。即逐一判斷剩余帶寬能否滿足其帶寬需求,當(dāng)能夠滿足其帶寬需求時,將該請求方添加到所述第二集合中。
在步驟S7,計算所述第一集合中的各請求方所對應(yīng)的指標值之和,作為第一總指標值,并計算所述第二集合中各請求方所對應(yīng)的指標值之和,作為第二總指標值,比較所述第一總指標值和第二總指標值。
在步驟S8,選擇總指標值較大的集合,即當(dāng)?shù)谝豢傊笜酥荡笥诘诙傊笜酥禃r,滿足所述第一集合中的各請求方的帶寬需求;而當(dāng)?shù)诙傊笜酥荡笥诘谝豢傊笜酥禃r,滿足所述第二集合中的各請求方的帶寬需求。
另外,如前面所述,在靈活帶寬分配模式下,即不需要完全滿足請求方的帶寬需求的情況下,還可以包括首先向每個請求方分配預(yù)定比例的基本帶寬的步驟。
另外,還可以包括循環(huán)判斷請求方的帶寬需求和其所對應(yīng)的指標值是否發(fā)生了改變,并在發(fā)生改變的情況下重新進行帶寬分配的步驟。從而可以針對帶寬需求和指標值的改變進行實時帶寬分配。
圖7是本發(fā)明的帶寬分配裝置的示意性方框圖。
如圖7所示,本發(fā)明的帶寬分配裝置包括請求信息獲取裝置701,用于獲取每個請求方的帶寬需求及其所對應(yīng)的一個指標值;單位帶寬指標值計算裝置702,用于對每個請求方計算其所對應(yīng)的指標值與其帶寬需求的比值,得出單位帶寬指標值;排序裝置703,對所述多個請求方根據(jù)單位帶寬指標值從大到小排序,形成第一隊列;存儲裝置705,用于存儲可滿足其帶寬需求的請求方的第一集合,此外,存儲裝置705也可以,但非必須,存儲請求信息獲取裝置所獲取的每個請求方的帶寬需求及其所對應(yīng)的一個指標值;判斷選取裝置704,按所述第一隊列順序?qū)Ω鱾€請求方逐一判斷剩余帶寬能否滿足其帶寬需求,在判定能夠滿足請求方的帶寬需求時,將該請求方添加到所述第一集合中。
擁有上述裝置,本發(fā)明已足以完成帶寬分配的任務(wù),但是為了更好地實現(xiàn)本發(fā)明的目的,本發(fā)明的帶寬分配裝置還可以包括模式判斷裝置(未示出),用于判斷是否需要完全滿足請求方的帶寬需求,其中,當(dāng)所述帶寬判斷裝置判定剩余帶寬不足以滿足一個請求方的帶寬需求時,如果所述模式判斷裝置判定需要完全滿足請求方的帶寬需求,則跳過該請求方,而對下一個請求方進行判斷;如果所述判斷裝置判定不需要完全滿足請求方的帶寬需求,則將剩余帶寬分配給該請求方。
在所述模式判斷裝置判定需要完全滿足請求方的帶寬需求的情況下,所述排序裝置還可以對所述第一隊列中單位帶寬指標值相同的請求方進一步按每個請求方所對應(yīng)的指標值從高到低排列順序。
圖7中雖然同時還示出了總指標值計算裝置706和比較選擇裝置707,但是,沒有它們同樣可以實現(xiàn)本發(fā)明的目的。
為了在嚴格帶寬分配模式下,即需要完全滿足請求方的帶寬需求的情況下更好地實現(xiàn)本發(fā)明的目的,本發(fā)明的排序裝置703進一步將最高單位帶寬指標值之外的各單位帶寬指標值所對應(yīng)的多個請求方中指標值較高的至少一個請求方從所述第一隊列中取出,排在隊列最前面,形成第二隊列;存儲裝置705還存儲可滿足其帶寬需求的請求方的第二集合,其中,所述判斷選取裝置704按所述第二隊列順序?qū)Ω鱾€請求方逐一判斷剩余帶寬能否滿足其帶寬需求,當(dāng)能夠滿足其帶寬需求時,將該請求方添加到所述第二集合中。同時,為了更好地實現(xiàn)本發(fā)明的目的,本發(fā)明的帶寬分配裝置還包括總指標值計算裝置706,用于計算所述第一集合中各請求方所對應(yīng)的指標值之和,作為第一總指標值,并計算所述第二集合中各請求方所對應(yīng)的指標值之和,作為第二總指標值;比較選擇裝置707,用于比較所述第一總指標值和第二總指標值,當(dāng)?shù)谝豢傊笜酥荡笥诘诙傊笜酥禃r,選擇所述第一集合,以滿足其中的各請求方的帶寬需求,當(dāng)?shù)诙傊笜酥荡笥诘谝豢傊笜酥禃r,選擇所述第二集合,以滿足其中的各請求方的帶寬需求。
本發(fā)明的帶寬分配裝置還可以包括基本帶寬分配裝置(未示出),用于在不需要完全滿足請求方的帶寬需求的情況下,首先向每個請求方分配預(yù)定比例的基本帶寬。
本發(fā)明的帶寬分配裝置還包括可以包括檢測裝置(未示出),用于循環(huán)判斷請求方的帶寬需求和其所對應(yīng)的指標值是否發(fā)生了改變,并在發(fā)生改變的情況下重新進行帶寬分配。
上面參考附圖3-7所描述的本發(fā)明的方法和裝置只是作為示例而提出,本領(lǐng)域技術(shù)人員完全可以在此基礎(chǔ)上進行各種修改,而這種修改都涵蓋在本由于本發(fā)明用于網(wǎng)絡(luò)中的單個節(jié)點,不需要對數(shù)據(jù)包做任何修改,也不需要引入任何信令,因此本發(fā)明具有良好的兼容性,可以和其它主流技術(shù)一起使用。如在現(xiàn)有的Best-effort網(wǎng)絡(luò)應(yīng)用中,本發(fā)明由于只在用戶的接入節(jié)點實現(xiàn)動態(tài)帶寬分配,并不對其它節(jié)點的轉(zhuǎn)發(fā)方式進行要求,因此不影響現(xiàn)有網(wǎng)絡(luò)的正常運行,即在網(wǎng)絡(luò)的接入節(jié)點根據(jù)SLA進行動態(tài)帶寬分配,而在其它節(jié)點仍采用Best-effort的方式。而在Diffserv的三層應(yīng)用環(huán)境中,即在采用本發(fā)明的設(shè)備進行了動態(tài)帶寬分配后,網(wǎng)絡(luò)的匯聚節(jié)點仍然可以對數(shù)據(jù)包進行分類,并打入DSCP標記,供核心節(jié)點轉(zhuǎn)發(fā)。
下一代的IP電信網(wǎng)絡(luò)是可運營、可管理的網(wǎng)絡(luò),因此,它必須能夠?qū)崿F(xiàn)對帶寬進行有效的動態(tài)分配。本發(fā)明提出一種簡化的帶寬分配模型,并闡述了帶寬分配問題可以分為完全滿足帶寬需求的嚴格帶寬分配問題和部分滿足的靈活帶寬分配問題。前者可以等效于0-1背包問題,是一個NP完全問題,不存在多項式時間的算法求出最優(yōu)解;而后者可以等效于背包問題,可以用對收入密度貪心算法求出最優(yōu)解。本發(fā)明提供了針對嚴格帶寬分配問題的一種近似求解算法,它可以在O(nlog2n)的時間內(nèi)求出近似解;而針對靈活帶寬分配問題,在采用貪心算法之前,需要對業(yè)務(wù)進行基本帶寬分配,以滿足帶寬分配的公平性。本發(fā)明提出的算法既滿足了帶寬的分配的公平性,也考慮了運營收入的最大化,并且可以在確定性時間內(nèi)完成,具有較好的應(yīng)用前景。并且,由本發(fā)明僅用于單個網(wǎng)絡(luò)設(shè)備內(nèi),不需要引入復(fù)雜的信令和帶來可擴展性的問題,可以和其它QoS方法兼容使用。
下面,描述本發(fā)明的上述設(shè)備的應(yīng)用實例,即在武漢烽火網(wǎng)絡(luò)公司的R8000多業(yè)務(wù)高端路由器上的具體應(yīng)用。
武漢烽火網(wǎng)絡(luò)公司研制的R8000是定位于城域網(wǎng)匯聚層和主干層的路由交換設(shè)備,它支持多種接口種類和具有靈活的業(yè)務(wù)生成能力。當(dāng)R8000定位于城域網(wǎng)匯聚層的網(wǎng)絡(luò)設(shè)備時,它主要完成對城域網(wǎng)中接入層上聯(lián)鏈路的匯接(Metro Aggregation),在用戶側(cè)能夠接入Fast Ethernet、Gigabit Ethernet和低速ATM等信號,并提供智能業(yè)務(wù)生成(Service Creation)功能,為運營商提供各種增值功能,而在網(wǎng)絡(luò)層通過GE(千兆以太網(wǎng))或POS(Packet overSDH/Sonet)和城域網(wǎng)主干層設(shè)備相連。此外,R8000也可以通過POS接口和SDH本地環(huán)連接,或者通過GE組成環(huán)形或星形網(wǎng)絡(luò),組成城域網(wǎng)的主干,并通過OC-48 POS和主干網(wǎng)設(shè)備相連。
從組網(wǎng)的需求來看,R8000上需要實現(xiàn)RIP(路由信息協(xié)議)和OSPF(開放最短路徑優(yōu)先)等域內(nèi)協(xié)議和BGP-4等域間協(xié)議,在鏈路層支持端對端協(xié)議(PPP)、以太網(wǎng)(Ethernet)、LAPS(鏈路接入?yún)f(xié)議-SDH)和高級數(shù)據(jù)鏈路控制(HDLC)等協(xié)議。從應(yīng)用的角度來說,R8000能夠提供實現(xiàn)單播、組播和MPLS(多協(xié)議標記交換)轉(zhuǎn)發(fā),并提供NAT、Firewall(防火墻)、虛擬個人網(wǎng)絡(luò)(VPN)、虛擬路由器(Virtual Router)和移動IP等應(yīng)用。此外,考慮到目前國內(nèi)接入層的組網(wǎng)方式,R8000上該能夠提供二層應(yīng)用(VLAN)的支持。作為提供給運營商的增值功能,R8000目前可以提供基于端口和PPPoE Session(PPPoE會話)的帶寬限制和QoS保證。從對用戶的管理角度來說,R8000目前可以提供基于PPPoE的認證方式,并能通過Radius來實現(xiàn)對用戶流量的計費。此外,還支持VLAN+IP+MAC的三級綁定和Web認證。
R8000的機架采用工業(yè)標準的19英寸機箱,盤位間距為25.4mm,總共16個槽位,其中主控CPU和交換盤占用7號和8號槽位,為1+1的備份,而剩余14個槽位提供給線卡使用,線卡為9U。
圖8顯示出本發(fā)明的應(yīng)用的邏輯視圖。圖中,黑色箭頭代表高速數(shù)據(jù)總線,綠色箭頭代表高速控制總線。其中,高速的數(shù)據(jù)總線提供的大容量的數(shù)據(jù)通道,而控制總線中提供了管理消息的通道,并提供了監(jiān)控硬件狀態(tài)的Health#、Present#和Alarm#等信號。整個系統(tǒng)采用3∶1的風(fēng)扇備份和1∶1的電源備份,提供了硬件的高可用性冗余支持。
此外,MAISP-8000采用了控制和轉(zhuǎn)發(fā)分離的體系結(jié)構(gòu),其中控制和管理功能運行在主控CPU上,本發(fā)明上的動態(tài)帶寬分配方法就運行在主控CPU上。而線卡采用了基于網(wǎng)絡(luò)處理器轉(zhuǎn)發(fā)的體系架構(gòu),如圖9,在每個線卡的核心為一個高性能的網(wǎng)絡(luò)處理器,它在SRAM和SDRAM中維護有全局的轉(zhuǎn)發(fā)消息庫(FIB),并可以對用戶的流量進行動態(tài)的帶寬控制。
綜上所述,由于MAISP-8000是定位于運營商的電信級設(shè)備,它采用了冗余的硬件體系結(jié)構(gòu)和轉(zhuǎn)發(fā)和控制分離的實現(xiàn)方案,并實現(xiàn)了本發(fā)明的動態(tài)帶寬分配方法,主要包括以下功能
1.線卡上的網(wǎng)絡(luò)處理器對進入R8000的用戶流量按照SLA進行分類,也就是說,對每個用戶流量獲取其相關(guān)的服務(wù)協(xié)定,包括帶寬需求、指標值如收入等,并將帶寬需求信息送至主控CPU;2.主控CPU上的帶寬分配軟件判斷該接口的工作模式為嚴格帶寬分配(SBA)還是靈活帶寬分配(FBA)方式;3.如果是SBA方式,則主控CPU上的軟件按照本發(fā)明中的SBA的分配算法在多項式時間內(nèi)計算出,各個用戶能夠滿足的帶寬,并將帶寬參數(shù)發(fā)給各個網(wǎng)絡(luò)處理器。各個網(wǎng)絡(luò)處理器上的流量控制單元將按照這些帶寬參數(shù)控制各個用戶的帶寬。
4.如果FBA方式,則主控按照本發(fā)明中的FBA的分配算法在多項式時間內(nèi)計算出,各個用戶能夠滿足的帶寬,并將帶寬參數(shù)發(fā)給各個網(wǎng)絡(luò)處理器。各個網(wǎng)絡(luò)處理器上的流量控制單元將按照這些帶寬參數(shù)控制各個用戶的帶寬。
當(dāng)用戶的帶寬需求發(fā)生動態(tài)改變時,重復(fù)1到4的過程。
盡管參考本發(fā)明的優(yōu)選實施例具體展示和描述了本發(fā)明,但是本領(lǐng)域一般技術(shù)人員應(yīng)該明白,在不脫離所附權(quán)利要求限定的本發(fā)明的精神和范圍的情況下,可以對其進行形式和細節(jié)上的各種修改。
權(quán)利要求
1.一種帶寬分配方法,用于向多個請求方分配預(yù)定總帶寬,該方法包括以下步驟獲取每個請求方的帶寬需求及其所對應(yīng)的一個指標值;對每個請求方計算其所對應(yīng)的指標值與其帶寬需求的比值,得出單位帶寬指標值;對所述多個請求方根據(jù)單位帶寬指標值從大到小排序,形成第一隊列;以及形成可滿足其帶寬需求的請求方的第一集合,其中,按所述第一隊列順序?qū)Ω鱾€請求方逐一判斷剩余帶寬能否滿足其帶寬需求,當(dāng)能夠滿足其帶寬需求時,將該請求方添加到所述第一集合中。
2.如權(quán)利要求1所述的帶寬分配方法,還包括判斷是否需要完全滿足請求方的帶寬需求的步驟,其中,當(dāng)判定剩余帶寬不足以滿足一個請求方的帶寬需求時,如果判定需要完全滿足請求方的帶寬需求,則跳過該請求方,而對下一個請求方進行判斷;如果判定不需要完全滿足請求方的帶寬需求,則將剩余帶寬分配給該請求方。
3.如權(quán)利要求2所述的帶寬分配方法,在需要完全滿足請求方的帶寬需求的情況下,還包括以下步驟對所述第一隊列中單位帶寬指標值相同的請求方進一步按每個請求方所對應(yīng)的指標值從高到低排列順序。
4.如權(quán)利要求3所述的帶寬分配方法,在需要完全滿足請求方的帶寬需求的情況下,還包括以下步驟計算所述第一集合中的各請求方所對應(yīng)的指標值之和,作為第一總指標值;將最高單位帶寬指標值之外的各單位帶寬指標值所對應(yīng)的多個請求方中指標值較高的至少一個請求方從所述第一隊列中取出,排在隊列最前面,形成第二隊列;形成可滿足其帶寬需求的請求方的第二集合,其中,按所述第二隊列順序?qū)Ω鱾€請求方逐一判斷剩余帶寬能否滿足其帶寬需求,當(dāng)能夠滿足其帶寬需求時,將該請求方添加到所述第二集合中;計算所述第二集合中各請求方所對應(yīng)的指標值之和,作為第二總指標值;比較所述第一總指標值和第二總指標值;當(dāng)?shù)谝豢傊笜酥荡笥诘诙傊笜酥禃r,滿足所述第一集合中的各請求方的帶寬需求;以及當(dāng)?shù)诙傊笜酥荡笥诘谝豢傊笜酥禃r,滿足所述第二集合中的各請求方的帶寬需求。
5.如權(quán)利要求2所述的帶寬分配方法,在不需要完全滿足請求方的帶寬需求的情況下,還包括首先向每個請求方分配預(yù)定比例的基本帶寬的步驟。
6.如權(quán)利要求1-5中任何一個所述的帶寬分配方法,還包括以下步驟循環(huán)判斷請求方的帶寬需求和其所對應(yīng)的指標值是否發(fā)生了改變,并在發(fā)生改變的情況下重新進行帶寬分配。
7.一種帶寬分配裝置,用于向多個請求方分配預(yù)定總帶寬,該裝置包括請求信息獲取裝置,用于獲取每個請求方的帶寬需求及其所對應(yīng)的一個指標值;單位帶寬指標值計算裝置,用于對每個請求方計算其所對應(yīng)的指標值與其帶寬需求的比值,得出單位帶寬指標值;排序裝置,對所述多個請求方根據(jù)單位帶寬指標值從大到小排序,形成第一隊列;存儲裝置,用于存儲可滿足其帶寬需求的請求方的第一集合;判斷選取裝置,按所述第一隊列順序?qū)Ω鱾€請求方逐一判斷剩余帶寬能否滿足其帶寬需求,在判定能夠滿足請求方的帶寬需求時,將該請求方添加到所述第一集合中。
8.如權(quán)利要求7所述的帶寬分配裝置,還包括模式判斷裝置,用于判斷是否需要完全滿足請求方的帶寬需求,其中,當(dāng)所述帶寬判斷裝置判定剩余帶寬不足以滿足一個請求方的帶寬需求時,如果所述模式判斷裝置判定需要完全滿足請求方的帶寬需求,則跳過該請求方,而對下一個請求方進行判斷;如果所述判斷裝置判定不需要完全滿足請求方的帶寬需求,則將剩余帶寬分配給該請求方。
9.如權(quán)利要求9所述的帶寬分配裝置,其中在所述模式判斷裝置判定需要完全滿足請求方的帶寬需求的情況下,所述排序裝置對所述第一隊列中單位帶寬指標值相同的請求方進一步按每個請求方所對應(yīng)的指標值從高到低排列順序。
10.如權(quán)利要求9所述的帶寬分配裝置,其中,排序裝置將最高單位帶寬指標值之外的各單位帶寬指標值所對應(yīng)的多個請求方中指標值較高的至少一個請求方從所述第一隊列中取出,排在隊列最前面,形成第二隊列;存儲裝置還存儲可滿足其帶寬需求的請求方的第二集合,其中,所述帶寬判斷裝置按所述第二隊列順序?qū)Ω鱾€請求方逐一判斷剩余帶寬能否滿足其帶寬需求,當(dāng)能夠滿足其帶寬需求時,將該請求方添加到所述第二集合中,該帶寬分配裝置還包括總指標值計算裝置,用于計算所述第一集合中各請求方所對應(yīng)的指標值之和,作為第一總指標值,并計算所述第二集合中各請求方所對應(yīng)的指標值之和,作為第二總指標值;比較選擇裝置,用于比較所述第一總指標值和第二總指標值,當(dāng)?shù)谝豢傊笜酥荡笥诘诙傊笜酥禃r,選擇所述第一集合,以滿足其中的各請求方的帶寬需求,當(dāng)?shù)诙傊笜酥荡笥诘谝豢傊笜酥禃r,選擇所述第二集合,以滿足其中的各請求方的帶寬需求。
11.如權(quán)利要求8所述的帶寬分配裝置,還包括基本帶寬分配裝置,用于在不需要完全滿足請求方的帶寬需求的情況下,首先向每個請求方分配預(yù)定比例的基本帶寬。
12.如權(quán)利要求7-11中任何一個所述的帶寬分配裝置,還包括檢測裝置,用于循環(huán)判斷請求方的帶寬需求和其所對應(yīng)的指標值是否發(fā)生了改變,并在發(fā)生改變的情況下重新進行帶寬分配。
全文摘要
本發(fā)明提供了一種快速高效帶寬分配方法和裝置,用于向多個請求方分配預(yù)定總帶寬,該方法包括以下步驟獲取每個請求方的帶寬需求及其所對應(yīng)的一個指標值;對每個請求方計算其所對應(yīng)的指標值與其帶寬需求的比值,得出單位帶寬指標值;對所述多個請求方根據(jù)單位帶寬指標值從大到小排序,形成第一隊列;以及形成可滿足其帶寬需求的請求方的第一集合,其中,按所述第一隊列順序?qū)Ω鱾€請求方逐一判斷剩余帶寬能否滿足其帶寬需求,當(dāng)能夠滿足其帶寬需求時,將該請求方添加到所述第一集合中。該方法能夠?qū)掃M行有效的分配,以實現(xiàn)對用戶服務(wù)質(zhì)量的保證,并實現(xiàn)運營商利益的最大化,并可以在多項式時間內(nèi)得出最優(yōu)或接近最優(yōu)解的結(jié)果。
文檔編號H04L12/24GK1691604SQ20041004209
公開日2005年11月2日 申請日期2004年4月30日 優(yōu)先權(quán)日2004年4月30日
發(fā)明者吉萌, 余少華 申請人:武漢烽火網(wǎng)絡(luò)有限責(zé)任公司