欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于包括無阻塞交換結(jié)構(gòu)和線路卡接口的系統(tǒng)的包調(diào)度的制作方法

文檔序號:7907003閱讀:407來源:國知局
專利名稱:用于包括無阻塞交換結(jié)構(gòu)和線路卡接口的系統(tǒng)的包調(diào)度的制作方法
技術(shù)領(lǐng)域
本發(fā)明專門涉及通信和計算機系統(tǒng),更具體地說,本發(fā)明涉及特別適用于但是不限于包括無阻塞交換結(jié)構(gòu)和同構(gòu)或異構(gòu)線路卡接口的系統(tǒng)的包調(diào)度。
背景技術(shù)
通信產(chǎn)業(yè)正迅速改變以適應(yīng)新興技術(shù)和不斷增長的用戶需求。用戶對新應(yīng)用和已有應(yīng)用的提高了的性能的需求正促使通訊網(wǎng)絡(luò)和系統(tǒng)供應(yīng)者采用具有更高速度和容量(例如,更寬的帶寬)的網(wǎng)絡(luò)和系統(tǒng)。在實現(xiàn)這些目標(biāo)的努力中,一種很多通信供應(yīng)者采用的普遍方法是采用包交換技術(shù)。日益增長地利用各種包技術(shù),如IP(Internet Protocol,網(wǎng)際協(xié)議),建立和擴大公共和私有的通訊網(wǎng)絡(luò)。
SLIP是一種用于通過一個N×N交換機調(diào)度包發(fā)送的迭代算法。在一個實施例中,執(zhí)行了以下三個步驟1.每個不匹配輸入向每個它為之具有一個排隊的信元的輸出發(fā)送一個請求,2.如果一個不匹配輸出接收到任何請求,它選擇在一個從最高選擇優(yōu)先權(quán)單元開始的固定的循環(huán)調(diào)度(round-robinschedule)中接下來出現(xiàn)的那個。該輸出通知每一個輸入其請求是否被授權(quán)。當(dāng)且僅當(dāng)在第一次迭代的步驟3中授權(quán)被接收時,指向循環(huán)調(diào)度表的最高選擇優(yōu)先權(quán)單元的指針增加(模N)到在被授權(quán)的輸入之外的一個位置。在隨后的迭代中指針不增加。
3.如果輸入接收到一個授權(quán),它接受在一個從最高選擇優(yōu)先權(quán)單元開始的固定的循環(huán)調(diào)度表中接下來出現(xiàn)的那個。指向循環(huán)調(diào)度表的最高選擇優(yōu)先權(quán)單元的指針增加(模N)到一個在被接受的輸出之外的一個位置。
I-SLIP是一種包括多次SLIP算法迭代來確定每一輪包發(fā)送的包調(diào)度(而不是僅僅一次SLIP迭代)的調(diào)度算法。
每個輸出調(diào)度器利用循環(huán)的選擇優(yōu)先權(quán)在排序的競爭的一組請求之間作決定。當(dāng)一個請求的輸入被授權(quán),并且該輸入接受了授權(quán)時,下一個單元時間中該輸入在那個輸出上將具有最低的選擇優(yōu)先權(quán)。同時,不論輸入具有什么,在每一個連續(xù)的時隙中一個輸出上的最高選擇優(yōu)先權(quán)都將被授權(quán),直到它被服務(wù)。這保證了連接不會被空缺(starved)在不多于N個單元時間內(nèi),一個輸出上的最高選擇優(yōu)先權(quán)連接總會被一個輸入所接受。
移動指針不僅防止空缺,它也會使調(diào)度器失去同步。每個在前一個時隙中被匹配的輸出將具有一個不同的最高選擇優(yōu)先權(quán)輸入。這樣,它們每個會授權(quán)給不同的輸入??紤]一個例子,其中兩個輸入都請求相同的兩個輸出。最初,兩個輸出可能授權(quán)給同一個輸入;那種情況下在第一次迭代中只有一個連接被建立了。
成功的輸出將增加它的指針,在下一個單元時間,輸出將不再競爭一個將繼續(xù)移動以授權(quán)給另一個輸入,而另一個將授權(quán)給和以前相同的輸入。這帶來下一個單元時間的第一次迭代中的更好的匹配。這是因為輸出調(diào)度器們相對于彼此變得失去同步(或“錯開的”)。這帶來了高性能,即使是對于單獨一次SLIP迭代。
由于指針的循環(huán)移動,該算法將在競爭的連接之間提供帶寬的公平分配,并且減少爆炸(Burst-reducing)。在所有輸入隊列都被占用的高負(fù)載情況下,爆炸減少是最容易被理解的該算法將依次訪問每一個競爭的連接,因此即使要求同一個輸出的幾個單元的爆炸到達輸入,如果存在競爭通信,該爆炸也會及時地被分散。
但是,I-SLIP算法被設(shè)計為適應(yīng)交叉交換結(jié)構(gòu)(Cross-barSwitching),其中輸入端口是獨立的并且同構(gòu)的。某些無阻塞交換結(jié)構(gòu)的實施例具有容量不同的異構(gòu)線路卡。這些系統(tǒng)需要的是在不同容量的線路卡中提供比較公平的帶寬分配的調(diào)度器,而獨立于線路卡的構(gòu)造。即使在不同速度的線路卡連接到數(shù)量成比例增長的輸入端口的系統(tǒng)中,該I-SLIP調(diào)度算法一般也不提供足夠公平的帶寬分配。需要的是用于在無阻塞交換結(jié)構(gòu)和同構(gòu)或者異構(gòu)線路卡接口中調(diào)度包的新方法和設(shè)備。

發(fā)明內(nèi)容
本發(fā)明公開了用于調(diào)度包的一種方法,該方法包括識別對應(yīng)于希望通過包交換機從多個輸入被發(fā)送到一個特定輸出的包的一組請求,保存授權(quán)起始位置,確定授權(quán)提前位置,確認(rèn)在預(yù)定隊列中從授權(quán)起始位置開始的第一個n個請求,其中n小于或等于在單個包時間內(nèi)能發(fā)送到特定輸出的包的最大數(shù)目,以及響應(yīng)于包括了對應(yīng)于授權(quán)提前位置的特定授權(quán)的第一個n個授權(quán),更新授權(quán)起始位置。
本發(fā)明還公開了包含可用于執(zhí)行上述方法的計算機可執(zhí)行指令的計算機可讀介質(zhì)。
本發(fā)明公開了用于調(diào)度包的另一種方法,該方法包括產(chǎn)生對應(yīng)于希望通過包交換機從一個特定輸入被發(fā)送到多個輸出的包的一組請求,識別響應(yīng)于該組請求而產(chǎn)生的一組授權(quán),保存接受起始位置,確定接受提前位置,識別預(yù)定隊列中從接受起始位置開始的第一個m個授權(quán),其中m小于或者等于來自特定輸入的在單個包時間內(nèi)能被使用的連接的最大數(shù)目,以及響應(yīng)于包括了對應(yīng)于接受提前位置的特定接受的第一個m個授權(quán),更新接受起始位置。
本發(fā)明還公開了包含可用于執(zhí)行上述方法的計算機可執(zhí)行指令的計算機可讀介質(zhì)。
本發(fā)明公開了用于調(diào)度包的設(shè)備,該設(shè)備包括多個請求發(fā)生器、耦合到該多個請求發(fā)生器的多個授權(quán)仲裁器、耦合到該多個授權(quán)仲裁器的接受仲裁器,其中多個請求發(fā)生器中的每一個都被配置成用來產(chǎn)生交換機的多個輸入中的它所聯(lián)系的輸入的請求,多個授權(quán)仲裁器中的每一個都被配置成用來基于一個或多個接收到的請求來產(chǎn)生授權(quán),所述授權(quán)對應(yīng)于準(zhǔn)許項該交換機的多個輸出中它所聯(lián)系的輸出發(fā)送;其中所述產(chǎn)生授權(quán)包括保存授權(quán)起始位置,確定授權(quán)提前位置,識別預(yù)定隊列中從授權(quán)起始位置開始的第一個n個請求,其中n小于或者等于在單個包時間內(nèi)能被發(fā)送到所述所聯(lián)系的輸出的包的最大數(shù)目,以及響應(yīng)于包括了對應(yīng)于授權(quán)提前位置的特定授權(quán)的第一個n個授權(quán),更新授權(quán)起始位置;并且其中多個接受仲裁器中的每一個都被配置成用來基于一個或多個接收到的授權(quán)產(chǎn)生接受,所述接受對應(yīng)于多個輸入中它所聯(lián)系的輸入。
本發(fā)明公開了用于調(diào)度包的另一種設(shè)備,該設(shè)備包括用來識別希望通過包交換機從多個輸入被發(fā)送到一個特定輸出的包的一組請求的裝置,用來保存授權(quán)起始位置的裝置,用來確定授權(quán)提前位置的裝置,用來識別在預(yù)定隊列中從授權(quán)起始位置開始的第一個n個請求的裝置,其中n小于或等于在單個包時間內(nèi)能被發(fā)送到特定輸出的包的最大數(shù)目;和用來響應(yīng)于包括了一個對應(yīng)于授權(quán)提前位置的特定授權(quán)的第一個n個授權(quán),更新授權(quán)起始位置的裝置。
本發(fā)明公開了用于調(diào)度包的另一種設(shè)備,該設(shè)備包括用來產(chǎn)生對應(yīng)于希望通過包交換機從一個特定輸入被發(fā)送到多個輸出的包的一組請求的裝置,用來識別響應(yīng)于該組請求而產(chǎn)生的一組授權(quán)的裝置,用來保存接受起始位置的裝置,用來確定接受提前位置的裝置,用來識別在預(yù)定隊列中從接受起始位置開始的第一個m個授權(quán)的裝置,其中m小于或等于來自特定輸入的在單個包時間內(nèi)能被發(fā)送的包的最大數(shù)目,和用來響應(yīng)于包括了對應(yīng)于接受提前位置的一個特定接受的第一個m個授權(quán),更新接受起始位置的裝置。


所附權(quán)利要求詳細(xì)陳述了本發(fā)明的特征。從以下結(jié)合附圖所作的詳細(xì)說明中,可以最好地理解本發(fā)明及其優(yōu)點。
圖1A-E和圖2是在具有無阻塞交換結(jié)構(gòu)的系統(tǒng)中調(diào)度包的實施例的框圖;圖3A是在一個實施例中用于在三次迭代調(diào)度循環(huán)中調(diào)度單播和組播包的進程的流程圖;
圖3B是在一個實施例中用于在一次或多次迭代中調(diào)度單播和/或組播包的進程的流程圖;圖4A和4C是在一個實施例中用于向調(diào)度器發(fā)送單播和組播包指示的進程的流程圖;圖4B是在一個實施例中用于向調(diào)度器發(fā)送單播和組播包指示的消息格式的框圖;圖5是在一個實施例中用于產(chǎn)生請求的進程的流程圖;圖6A是在一個實施例中用于執(zhí)行授權(quán)處理的進程的流程圖;圖6B-C是在一個實施例中用于執(zhí)行授權(quán)處理的數(shù)據(jù)結(jié)構(gòu)的框圖;圖7A是在一個實施例中用于執(zhí)行接受處理的進程的流程圖;圖7B圖示了在一個實施例中用于執(zhí)行接受處理的數(shù)據(jù)結(jié)構(gòu)的框圖;圖8是在一個實施例中用于組播指針處理的進程的流程圖;和圖9是在一個實施例中用于設(shè)置交換機和初始化在該交換機中發(fā)送數(shù)據(jù)的框圖。
具體實施例方式
本發(fā)明公開了在例如,但不限于,具有無阻塞交換結(jié)構(gòu)和同構(gòu)或者異構(gòu)線路卡接口的系統(tǒng)中用于調(diào)度包的方法和設(shè)備。這里所描述的實施例包括了各種元件或限制,其中沒有一個元件或限制被認(rèn)為是關(guān)鍵性的元件或限制。每一項權(quán)利要求獨立完整地陳述本發(fā)明的一個方案。此外,所描述的一些實施例包括,但不限于,系統(tǒng)、網(wǎng)絡(luò)、集成電路芯片、嵌入式處理器、ASIC(Application Specific Integrated Circuit,特定用途集成電路)、方法和包含指令的計算機可讀介質(zhì)。以下描述的實施例實現(xiàn)了在本發(fā)明范圍和原則內(nèi)的不同方案和構(gòu)造,其中圖說明了示例性的非限制性的構(gòu)造。
術(shù)語“包”使用在這里指所有類型的包或者任何其它單位的信息或數(shù)據(jù),包括,但不限于,固定長度的信元、可變長度的包,其中每一個可以或不可以分為更小的包或信元。術(shù)語“包”使用在這里也指包本身或包指示,例如,但不限于,包或包頭的全部或部分、數(shù)據(jù)結(jié)構(gòu)值、指針或索引,或者包的任何其他部分或標(biāo)識。而且,這些包可以包含一種或多種類型的信息,包括,但不限于,語音、數(shù)據(jù)、視頻和音頻信息。在這里術(shù)語“項”用來指包或者任何其它單位或段的信息或數(shù)據(jù)。
術(shù)語“系統(tǒng)”在這里通用于描述任何數(shù)目的組件、元件、子系統(tǒng)、設(shè)備、包交換元件、包交換機、路由器、網(wǎng)絡(luò)、計算機和/或通信設(shè)備或機構(gòu)、或其組件的組合。術(shù)語“計算機”在這里通用于描述任何數(shù)目的計算機,包括,但不限于,個人電腦、嵌入式處理器和系統(tǒng)、控制邏輯、ASIC、芯片、工作站、大型機等。術(shù)語“設(shè)備”在這里通用于描述任何類型的機構(gòu),包括計算機或系統(tǒng)或其組成部分。術(shù)語“任務(wù)”和“進程”在這里通用于描述任何類型的運行的程序,包括,但不限于,計算機進程、任務(wù)、線程、執(zhí)行應(yīng)用程序、操作系統(tǒng)、用戶進程、設(shè)備驅(qū)動程序、本地碼、機器或其他語言等,并且可以是交互的和/或非交互的、本地和/或遠程執(zhí)行的、在前臺和/或后臺執(zhí)行的、在用戶和/或操作系統(tǒng)地址空間內(nèi)執(zhí)行的、二進制例程和/或獨立的應(yīng)用程序,并且不限于任何特定存儲器分區(qū)技術(shù)。圖中所示的步驟、連接和信號與信息的處理,包括,但不限于,任何框圖、流程圖和消息隊列表,在保持在本發(fā)明范圍和原則內(nèi)的其他實施例中,可以以相同或不同的串行或并行次序和/或由不同組件和/或進程、線程等,和/或通過不同的連接并結(jié)合其他功能來執(zhí)行。
此外,術(shù)語“網(wǎng)絡(luò)”和“通信機構(gòu)”在這里通用于描述一個或多個網(wǎng)絡(luò)、通信媒體或通信系統(tǒng),包括,但不限于,因特網(wǎng),私有或公共電話,蜂窩狀的、無線的、衛(wèi)星的、電纜的、局域、大城市區(qū)的和/或廣域的網(wǎng)絡(luò),通過電纜的電連接、總線等等,和例如消息傳送、進程間通信、共享存儲器等的內(nèi)部通信機構(gòu)。
術(shù)語“存儲機構(gòu)”包括任何類型的存儲器、存儲設(shè)備或其他用于以任何形式保存指令或數(shù)據(jù)的機構(gòu)?!坝嬎銠C可讀介質(zhì)”是一個可延伸術(shù)語,包括了任何存儲器、存儲設(shè)備、存儲機構(gòu)、和包括了例如網(wǎng)絡(luò)接口卡及其緩存的接口和設(shè)備的其他存儲和信號發(fā)送機構(gòu),以及任何通信設(shè)備和所接收和傳送的信號,和計算機化的系統(tǒng)能夠解釋、接收和/或傳送的其它當(dāng)前和發(fā)展中的技術(shù)。術(shù)語“存儲器”包括任何隨機訪問存儲器(RAM)、只讀存儲器(ROM)、閃存、集成電路和/或其他存儲器組件或元件。術(shù)語“存儲設(shè)備”包括任何固態(tài)存儲介質(zhì)、盤驅(qū)動器、磁盤、網(wǎng)絡(luò)化的服務(wù)、磁帶驅(qū)動器和其他存儲設(shè)備。存儲器和存儲設(shè)備可以存儲由處理器和/或控制邏輯執(zhí)行的計算機可執(zhí)行指令,和由處理器和/或控制邏輯操縱的數(shù)據(jù)。術(shù)語“數(shù)據(jù)結(jié)構(gòu)”是一個可延伸術(shù)語,指任何數(shù)據(jù)元素、變量、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫、和/或能應(yīng)用于數(shù)據(jù)以方便解釋該數(shù)據(jù)或?qū)ζ鋱?zhí)行操作的一個或多個或一個組織的體系(scheme),例如,但不限于,存儲器位置或設(shè)備、集合、隊列、樹結(jié)構(gòu)、堆棧、列表、鏈接列表、陣列、表格、指針等。一個數(shù)據(jù)機構(gòu)一般保存在存儲機構(gòu)中。
術(shù)語“第一”、“第二”等在這里通常用來代表不同單元(如,第一元件、第二元件)。在這里使用這些術(shù)語不一定意味一個排序,如一個單元或事件比另一個發(fā)生或到來得更早,而是提供一個區(qū)別特定單元的機制。此外,短語“基于x”和“響應(yīng)于x”用來表示最小的一組x項,從它衍生或引起了某些事物,其中“x”是可延伸的,并且不一定描述冠以“the”的完整列表的項等。另外,短語“耦合到”用來表示兩個元件或設(shè)備之間的一定程度的直接或間接連接,而耦合設(shè)備修改或不修改被耦合的信號或通信的信息。術(shù)語“子集”用來表示包括了一個集合中元素的全部、少于全部或一個也沒有的組。此外,術(shù)語“或”在這里用來表示連續(xù)項目中的一個或多個,包括全部,的或然選擇。
本發(fā)明公開了在例如,但不限于,具有無阻塞交換結(jié)構(gòu)和同構(gòu)或異構(gòu)的線路卡接口的系統(tǒng)中的,用于調(diào)度包的方法和設(shè)備。在一個實施例中,多個請求發(fā)生器、授權(quán)仲裁器和接受仲裁器聯(lián)合工作來確定該調(diào)度。產(chǎn)生一組要求發(fā)送來自一個特定輸入的包的請求。從授權(quán)起始位置開始,識別預(yù)定隊列中的第一個n個請求,其中n小于或者等于在單個包時間內(nèi)能被使用的到特定輸出的連接的最大數(shù)目。響應(yīng)于包括了一個對應(yīng)于授權(quán)提前位置的特定授權(quán)的第一個n個授權(quán),更新授權(quán)起始位置。在一個實施例中,基于該組請求產(chǎn)生的該組授權(quán)是利用接受起始位置和接受提前位置類似地確定的。
在一個實施例中,一個“包時間”是給定交換機配置的一個時間間隔,其間能夠從一個或多個輸入發(fā)送一個或多個包到一個或多個輸出。在一個實施例中,包時間與被要求或分配來執(zhí)行包調(diào)度的調(diào)度時間間隔一致,并因此,當(dāng)在為下一個包時間確定包調(diào)度和相應(yīng)的交換機配置時能夠發(fā)送包。
圖1圖示了包括了無阻塞交換機(或者交換機結(jié)構(gòu))102、帶有調(diào)度器和存儲器的控制器101,和多個線路卡103-106的系統(tǒng)100的實施例。線路卡103標(biāo)識為是“類型A”的,具有A1準(zhǔn)入鏈路或端口104和A2準(zhǔn)入鏈路或端口105。線路卡106標(biāo)識為是“類型B”的,具有N1準(zhǔn)入鏈路或端口107和N2準(zhǔn)入鏈路或端口108。標(biāo)記強調(diào)了具有不同速率和不同數(shù)目的到無阻塞交換機102的端口或連接的接口和線路卡得到支持。
圖1B圖示了一個線路卡110的實施例。線路接口111接收和傳送包括了包或其他數(shù)據(jù)格式的信號。所示為單播和組播隊列113,在一個實施例中,其中放置了進入的要調(diào)度的包。如以下所描述的,具有請求發(fā)生器、授權(quán)仲裁器和接受仲裁器的控制器112確定和調(diào)度包,包通過交換機接口114在它們各自的被調(diào)度的時間內(nèi)從單播和組播隊列113被發(fā)送。另外,通過交換機接口114在其他請求發(fā)生器、授權(quán)仲裁器和接受仲裁器之間通信調(diào)度請求、授權(quán)和接受。
圖1C示出說明了一個實施例,其中請求發(fā)生器、授權(quán)仲裁器和接受仲裁器位于具有請求發(fā)生器、授權(quán)仲裁器和接受仲裁器的控制器122中央。具有單播和組播隊列和包指示發(fā)生器的線路卡121發(fā)送包業(yè)務(wù)指示123到具有請求發(fā)生器、授權(quán)仲裁器和接受仲裁器的控制器122。返回的是到線路卡121的包的接受/調(diào)度指示124,它啟動了在被調(diào)度時間對所接受的包的發(fā)送。另外,具有請求發(fā)生器、授權(quán)仲裁器和接受仲裁器的控制器122發(fā)送配置信息125給交換機120,這樣交換機結(jié)構(gòu)能夠被配置來在交換機輸入和輸出端口與所連接的線路卡121之間通信所接受的包。
圖1D圖示了線路卡130的一個實施例。線路接口131接收和傳送包括包或其他數(shù)據(jù)格式的信號。所示為N個單播隊列133-134和一個組播隊列135,其中放置了進入的要調(diào)度的包。一般,N對應(yīng)于輸出線路卡的數(shù)目或者線路卡能夠向其發(fā)送包的交換機輸出端口的數(shù)目。在一個實施例中,使用了額外的隊列,例如,但不限于,多個組播隊列和用于緩存具有不同優(yōu)先權(quán)水平的包的隊列。具有請求模塊和存儲器的控制器132通過交換機接口136發(fā)送包指示并接收接受和調(diào)度指示。
圖1E圖示了一個包括N個請求發(fā)生器154、授權(quán)仲裁器155和接受仲裁器156的系統(tǒng)150。通過交換機接口151從不同線路卡接收包指示,并存入N個單播隊列152和N個組播隊列153的對應(yīng)的隊列中。該N個請求發(fā)生器154基于隊列152和153中的包指示產(chǎn)生單播和組播包請求(一般在分別的迭代中),并發(fā)送給N個授權(quán)仲裁器155中對應(yīng)于包的目的地的授權(quán)仲裁器。接著,N個授權(quán)仲裁器155產(chǎn)生并發(fā)送它們的授權(quán)給N個接受仲裁器156中對應(yīng)于所授權(quán)的包的來源的接受仲裁器。然后,或在多次迭代以后,該接受被發(fā)送到交換機接口151,用來中繼到合適的線路卡和交換機配置控制器。在一個實施例中,一個組播控制器157被用來保存在選擇授權(quán)哪一個組播請求中被授權(quán)仲裁器所使用的公用組播位置。
圖2圖示了系統(tǒng)200的一個實施例,它可以包括,但不限于,根據(jù)本發(fā)明用來調(diào)度包的一個或多個請求發(fā)生器、授權(quán)仲裁器和/或接受仲裁器。在一個實施例中,系統(tǒng)200包括處理器201、存儲器202、存儲設(shè)備203和交換機/控制器接口204,它們一般通過一個或多個通信機構(gòu)209(為了說明的目的示為一個總線)耦合。系統(tǒng)200的不同實施例可以包括更多或更少的元件。系統(tǒng)200的運行一般由處理器201利用存儲器202和存儲設(shè)備203來控制以執(zhí)行一個或多個調(diào)度任務(wù)或進程。存儲器202是一種類型的計算機可讀介質(zhì),一般包括隨機訪問存儲器(RAM)、只讀存儲器(ROM)、閃存、集成電路和/或其他存儲器組成部分。存儲器202一般存儲要被處理器201執(zhí)行的計算機可執(zhí)行指令和/或由處理器201操縱的數(shù)據(jù),以實現(xiàn)本發(fā)明的功能。存儲設(shè)備203為另一種類型的計算機可讀介質(zhì),一般包括固態(tài)存儲介質(zhì)、盤驅(qū)動器、磁盤、網(wǎng)絡(luò)化的服務(wù)器、磁帶驅(qū)動器和其他存儲設(shè)備。存儲設(shè)備203一般存儲要被處理器201執(zhí)行的計算機可執(zhí)行指令和/和由處理器201操縱的數(shù)據(jù),以實現(xiàn)本發(fā)明的功能。
圖3A示出說明了在一個實施例中用于利用三次調(diào)度迭代調(diào)度包的進程。進程開始于進程框300,并前進到進程框302,其中執(zhí)行了第一次單播調(diào)度迭代。接著,在進程框304,執(zhí)行第二次單播調(diào)度迭代。在進程框306,執(zhí)行組播調(diào)度迭代。接著,在進程框308,根據(jù)被調(diào)度的包,配置交換機(和它的交換結(jié)構(gòu)),在進程框310發(fā)送包。對于接下來一輪調(diào)度,處理前進到進程框312,其中執(zhí)行了組播調(diào)度迭代。接著在進程框314,執(zhí)行第一次單播調(diào)度迭代。在進程框316,執(zhí)行第二次單播調(diào)度迭代。接著,在進程框318,根據(jù)被調(diào)度的包配置交換機(和它的交換結(jié)構(gòu)),在進程框319包被發(fā)送。處理回到進程框302來執(zhí)行更多的包調(diào)度。
圖3B圖示了用于在一個實施例中利用一次或多次調(diào)度迭代來調(diào)度包的進程,其中所述調(diào)度迭代包括按照任何希望的順序的單播和/或組播迭代。處理開始于進程框320。在進程框322中確定,如果接下來是一次單播迭代,則在進程框324執(zhí)行該單播調(diào)度迭代;否則在進程框326執(zhí)行組播迭代。在進程框328中確定,如果此次調(diào)度循環(huán)還有其它調(diào)度迭代要執(zhí)行,則處理返回到進程框322去執(zhí)行下一次調(diào)度迭代。否則,在進程框330配置交換機,在進程框340包被發(fā)送,然后處理返回到進程框322。
圖4A圖示了在一個實施例中用來產(chǎn)生包指示消息的進程。處理開始于進程框400,并前進到進程框402,其中包指示數(shù)據(jù)結(jié)構(gòu)被清零。在進程框404中確定,如果還有其它單播包要發(fā)送,則在進程框406選擇單播隊列中第一個或下一個位置。在進程框408,向數(shù)據(jù)結(jié)構(gòu)中加入處于目標(biāo)隊列中被選擇的位置的包的目的地的一個位圖或其他表示。在一個用于單播和/或組播包的實施例中,如果一個特定的目的地是廢能的,不服務(wù)的、或基于背壓(backpressure)或其他流控制信息目前是不能到達的,在進程框408或414該目的地的指示不加入數(shù)據(jù)結(jié)構(gòu)中。
否則,在進程框410中確定,如果有其它組播包要發(fā)送,則在進程框412選擇組播隊列中的第一個或下一個位置。在進程框414,向數(shù)據(jù)結(jié)構(gòu)中加入處于組播隊列的被選擇的位置的組播包的目的地的一個位圖或其他表示,并且處理返回到進程框410。
否則,在進程框430數(shù)據(jù)結(jié)構(gòu)被發(fā)送到調(diào)度器。在進程框432,從調(diào)度器接收要發(fā)送的包的指示,并且如果少于特定包的所有目的地被允許,則更新該組播隊列。在進程框434啟動這些包的發(fā)送。處理返回到進程框402。
圖4B說明了用于一個實施例中的數(shù)據(jù)結(jié)構(gòu)/消息格式450的框圖。數(shù)據(jù)結(jié)構(gòu)450一般具有多個入口,每一個具有一個用來指示該入口對應(yīng)單播還是組播包指示的標(biāo)識區(qū)451,和一個用來指示包的目的地的位圖區(qū)452。
圖4C示出說明了在一個實施例中被集中式調(diào)度系統(tǒng)用來為不同的發(fā)送線路卡收集包指示的進程。處理開始于進程框470,并前進到進程框472,其中接收了一個消息。在進程框474,更新一個或多個包指示隊列或其他數(shù)據(jù)結(jié)構(gòu),處理返回到進程框472。
圖5示出說明了在一個實施例中被每一個請求發(fā)生器使用的進程,一般每一個與無阻塞包交換機聯(lián)系的線路卡對應(yīng)一個請求發(fā)生器。處理開始于進程框500。在進程框502中確定,如果存在第一次迭代,則在進程框504將MAX的值設(shè)置為在一個包時間內(nèi)該線路卡能夠發(fā)送的包的最大數(shù)目,該最大數(shù)目一般對應(yīng)于線路卡所連接的交換機輸入端口的數(shù)目。每一個請求發(fā)生器一般會超過在一個調(diào)度循環(huán)中它所能服務(wù)的請求的累積數(shù)目。
在進程框506確定,如果這是單播迭代,則處理前進到進程框508將一組請求指示給每一個授權(quán)仲裁器。當(dāng)在進程框508確定還有其它輸出時,在進程框510選擇一個輸出,并且在進程框512確定希望被發(fā)送到該特定輸出的包的數(shù)目(最高到在一個包時間內(nèi)目的地能夠?qū)嶋H接收的包的最大數(shù)目)。如果在進程框514中確定該數(shù)目大于MAX的值,則在進程框516將該數(shù)目設(shè)定為MAX。在進程框518,用信號將請求通知給相應(yīng)的授權(quán)仲裁器。所有輸出已經(jīng)被處理之后,接著在進程框520授權(quán)仲裁器等待當(dāng)前單播迭代的接受階段的結(jié)束。然后,在進程框522,MAX減少對應(yīng)于在此次迭代中先前從該授權(quán)仲裁器發(fā)送的請求的接受的數(shù)目,處理返回進程框502。
在進程框506確定,如果這是組播迭代,則處理前進到進程框530將CNT設(shè)置為1并且將組播請求數(shù)據(jù)結(jié)構(gòu)清零。當(dāng)在進程框532確定CNT不大于MAX并且存在要處理的組播請求時,執(zhí)行進程框534和進程框536。在進程框534,基于處于組播隊列中CNT位置的組播包的目的地來填充數(shù)據(jù)結(jié)構(gòu),并且在進程框536將CNT加1。完成后,處理前進到進程框538發(fā)送組播請求給每一個授權(quán)仲裁器(當(dāng)然,它可以為一個非組播包的請求)或者至少那些有來自該請求發(fā)生器的待解決的組播請求的授權(quán)仲裁器。然后處理進入進程框520。
圖6A示出說明了在一個實施例中被授權(quán)仲裁器使用的進程的流程圖。處理開始于進程框600,并前進到進程框602,其中初始化了一個授權(quán)起始位置。接下來,在進程框604接收來自請求發(fā)生器的請求,這些請求被用來填充數(shù)據(jù)結(jié)構(gòu)。在一個實施例中,使用了圖6B所示數(shù)據(jù)結(jié)構(gòu)650,數(shù)據(jù)結(jié)構(gòu)650包括一個每個插槽(slot)(例如,來自每個請求發(fā)生器)所接收的請求的數(shù)目的位圖一元表示。
在一個實施例中,如數(shù)據(jù)結(jié)構(gòu)660中所示,這些位圖表示是向右對齊的。在一個實施例中,這些位圖表示是向左對齊時,而在一個實施例中,這些位圖表示以一種表示線路卡或插槽的物理端口的方式被保存。在這樣一個位圖中的該請求位的對齊方式一般通過影響授權(quán)起始位置的更新來影響包的調(diào)度。當(dāng)位圖是向右對齊時,用來選擇位(例如,對應(yīng)于授權(quán)或接受的位)的起始位置更有可能提前到對應(yīng)于下一個線路卡或插槽的位。但是,提前的速率還是由,包括但不限于,由請求、授權(quán)和接受的產(chǎn)生速率指示的交換機的吞吐量和線路卡的通信速率,以及對應(yīng)于特定請求、授權(quán)和接受的線路卡和端口扼制。
回到圖6A的處理,在進程框606中確定,如果這是當(dāng)前一輪調(diào)度的第一次迭代,則在進程框608,MAX被設(shè)置為在一個包時間內(nèi)對應(yīng)于該授權(quán)仲裁器的線路卡能夠接收的包的最大數(shù)目。接著,在進程框610確定,如果這是一個單播迭代,則在進程框612確定GAP(Grant AdvancementPosition,授權(quán)提前位置)。如果在第一次迭代中(或者在一個實施例中在任何迭代中)對應(yīng)于授權(quán)提前位置的授權(quán)被接受,則授權(quán)起始位置將被修改,這樣在下一輪調(diào)度中授權(quán)將從一個不同的位置開始被產(chǎn)生。
在一個實施例中,授權(quán)提前位置是請求數(shù)據(jù)結(jié)構(gòu)中指示在授權(quán)起始位置之后的一個請求的第一個位置。向前參照圖6C,數(shù)據(jù)結(jié)構(gòu)660示出說明了兩個向右對齊的位圖。如果授權(quán)起始位置在位置661,則授權(quán)提前位置在位置662。如果授權(quán)起始位置在位置662,則授權(quán)提前位置在位置663。如果授權(quán)起始位置在位置663,則授權(quán)提前位置在位置664。
回到圖6A的處理和進程框614,如果迭代不是單播迭代,則在進程框616,從組播指針位置(在一個實施例中在所有授權(quán)仲裁器之間公用)開始產(chǎn)生最多MAX個組播請求,并且這些授權(quán)被發(fā)送給對應(yīng)的接受仲裁器。
否則,在進程框618,從授權(quán)起始位置開始產(chǎn)生最多MAX個單播授權(quán)。接著,在進程框620,這些產(chǎn)生的授權(quán)和是否包括在授權(quán)提前位置上的授權(quán)的指示一起,被發(fā)送給對應(yīng)的接受仲裁器。接著,在進程框622,接收所接受的授權(quán)的指示,并且MAX減少由該授權(quán)仲裁器產(chǎn)生的被接受的授權(quán)的數(shù)目。如果,在進程框624中確定這是當(dāng)前調(diào)度循環(huán)的第一次迭代,則在進程框626確定,如果位于授權(quán)提前位置的包被接受了,則在進程框628設(shè)立提前標(biāo)記。在進程框630中確定,如果這是當(dāng)前調(diào)度循環(huán)的最后一次迭代,則在進程框632中確定,如果設(shè)立了提前標(biāo)記,則在進程框634將授權(quán)起始位置提前到授權(quán)提前位置后的下一個位置。然后處理返回到進程框604。
圖7A示出說明了在一個實施例中被接受仲裁器所使用的進程的流程圖。處理開始于進程框700,并前進到進程框702,其中初始化了接受起始位置。接著,在進程框704從授權(quán)仲裁器接收到授權(quán)和授權(quán)提前位置指示,該數(shù)據(jù)被用于填充一個或多個數(shù)據(jù)結(jié)構(gòu)。在一個實施例中,圖7B所示GAP數(shù)據(jù)結(jié)構(gòu)740被用于為每一個授權(quán)仲裁器(在一個實施例中對應(yīng)于線路卡插槽)保存授權(quán)接受指示,授權(quán)數(shù)據(jù)結(jié)構(gòu)750包括每一個插槽(例如,來自每一個請求發(fā)生器)所接收的授權(quán)數(shù)目的位圖一元表示。這些位圖可以或可以不是向右對齊的。
回到圖7A的處理和進程框706,如果這是一個單播迭代和調(diào)度循環(huán)的第一次迭代,則在進程框708,一般以與這里所述的對授權(quán)提前位置的相同的方式來確定接受提前位置。
接著,在進程框710中確定,如果這是組播迭代,則在進程框712接受所有的授權(quán)(由于發(fā)送線路卡沒有發(fā)送多于它能夠服務(wù)的組播請求),傳送接受指示,并且處理返回進程框704。
否則,在進程框714,接受最多MAX個單播授權(quán),從處于接受提前位置的授權(quán)開始,接著是來自授權(quán)起始位置的授權(quán)。接著,在進程框716,通知相應(yīng)的授權(quán)仲裁器它們的被接受的授權(quán)和是否它們的GAP授權(quán)被接受。然后,在進程框718,MAX減少由接受仲裁器產(chǎn)生的被接受的授權(quán)的數(shù)目。在進程框720中確定,如果這是當(dāng)前調(diào)度循環(huán)的第一次迭代,則在進程框722中確定,如果處于接受提前位置的授權(quán)被接受了,則在進程框724設(shè)立提前標(biāo)記。在進程框726確定,如果這是當(dāng)前調(diào)度循環(huán)的最后一次迭代,則在進程框728確定,如果設(shè)立了提前標(biāo)記,則在進程框730將接受起始位置提前到接受提前位置之后的下一個位置。然后處理返回進程框704。
圖8示出說明了在一個實施例中被組播控制器用來更新組播指針的進程。處理開始于進程框800,并且前進到進程框802,其中初始化了組播起始位置。接著,在進程框804,從不同請求發(fā)生器接收組播請求消息。在進程框806,將組播提前位置設(shè)置為在組播起始位置或其后有組播請求的下一個位置。在進程框808,接收組播接受指示。在進程框810確定,如果隊列頭部的對應(yīng)于組播起始位置的組播包的所有請求都被接受了(例如,將被從輸入發(fā)送的對應(yīng)于MAP位置的第一個組播包被完全地接受了),則在進程框812將組播起始位置設(shè)置為組播提前位置之后的下一個位置。處理返回進程框804。
圖9示出說明了在一個實施例中用來配置交換機(例如,無阻塞交換機結(jié)構(gòu))和發(fā)送被接受的包的進程。處理開始于進程框900,并且前進到進程框902,其中接收被接受的連接的指示。在進程框904,在合適的時間配置交換機以連接對應(yīng)于被接受的請求的交換機的合適的輸入和輸出端口。然后,在進程框906,啟動包的發(fā)送并且發(fā)送。處理返回到進程框902。
由于我們的發(fā)明原理可以被應(yīng)用于很多可能的實施例,可以發(fā)現(xiàn)這里參照圖畫/插圖所描述的本發(fā)明的實施例和方案僅僅是例證性的,而不應(yīng)該被當(dāng)作是對本發(fā)明的限制。例如,并且這對熟悉本領(lǐng)域的人員是顯然的,很多進程框操作可以被重新排序以在其他操作之前、之后或幾乎同時執(zhí)行。而且,許多不同格式的數(shù)據(jù)結(jié)構(gòu)可以被用于各種實施例中。這里描述的本發(fā)明考慮了可能落入以下權(quán)利要求及其等同物范圍中的所有這樣的
權(quán)利要求
1.一種方法,包括識別對應(yīng)于希望通過包交換機從多個輸入被發(fā)送到一個特定輸出的包的一組請求;保存授權(quán)起始位置;確定授權(quán)提前位置;識別在預(yù)定隊列中從授權(quán)起始位置開始的第一個n個請求,其中n小于或等于在單個包時間內(nèi)能發(fā)送到特定輸出的包的最大數(shù)目;以及響應(yīng)于包括了對應(yīng)于授權(quán)提前位置的特定授權(quán)的第一個n個授權(quán),更新授權(quán)起始位置。
2.如權(quán)利要求1所述的方法,其中所述更新授權(quán)起始位置只有當(dāng)?shù)谝粋€n個授權(quán)包括了對應(yīng)于授權(quán)提前位置的特定授權(quán)時才被執(zhí)行。
3.如權(quán)利要求1所述的方法,其中所述更新授權(quán)起始位置包括將授權(quán)起始位置的值設(shè)置為授權(quán)提前位置之外的一個位置。
4.如權(quán)利要求1所述的方法,還包括保存指示該組請求的位圖數(shù)據(jù)結(jié)構(gòu),其中授權(quán)起始位置和授權(quán)提前位置標(biāo)識位圖數(shù)據(jù)結(jié)構(gòu)中的一個或多個位置。
5.如權(quán)利要求4所述的方法,其中位圖數(shù)據(jù)結(jié)構(gòu)包括一個對應(yīng)于多個輸入中的每一個的位圖表示。
6.如權(quán)利要求5所述的方法,其中位圖表示是向右對齊的。
7.如權(quán)利要求1所述的方法,其中該組請求包括來自多個輸入中的每一個輸入的最多n個請求。
8.如權(quán)利要求1所述的方法,其中該組請求包括來自多個輸入中的每一個特定輸入的,最多在單個包時間內(nèi)所述每一個特定輸入能夠發(fā)送的最大數(shù)目的包。
9.如權(quán)利要求8所述的方法,其中該組請求包括來自多個輸入中的每一個輸入的最多n個請求。
10.一種計算機可讀介質(zhì),包含用于執(zhí)行權(quán)利要求1所述的方法的計算機可執(zhí)行指令。
11.一種方法,包括產(chǎn)生對應(yīng)于希望通過包交換機從一個特定輸入被發(fā)送到多個輸出的包的一組請求;識別響應(yīng)于該組請求而產(chǎn)生的一組授權(quán);保存接受起始位置;確定接受提前位置;識別預(yù)定隊列中從接受起始位置開始的第一個m個授權(quán),其中m小于或者等于來自特定輸入的在單個包時間內(nèi)能被使用的連接的最大數(shù)目;和響應(yīng)于包括了對應(yīng)于接受提前位置的特定接受的第一個m個授權(quán),更新接受起始位置。
12.如權(quán)利要求11所述的方法,其中所述的更新接受起始位置只有當(dāng)?shù)谝粋€m個授權(quán)包括了對應(yīng)于接受提前位置的特定接受時才被執(zhí)行。
13.如權(quán)利要求11所述的方法,其中所述的更新接受起始位置包括將接受起始位置的值設(shè)置為接受提前位置之外的一個位置。
14.如權(quán)利要求11所述的方法,還包括保存指示該組授權(quán)的位圖數(shù)據(jù)結(jié)構(gòu),其中接受起始位置和接受提前位置標(biāo)識位圖數(shù)據(jù)結(jié)構(gòu)中的一個或多個位置。
15.如權(quán)利要求14所述的方法,其中位圖數(shù)據(jù)結(jié)構(gòu)包括一個對應(yīng)于多個輸出中的每一個的位圖表示。
16.如權(quán)利要求15所述的方法,其中位圖表示是向右對齊的。
17.如權(quán)利要求11所述的方法,其中該組請求包括來自特定輸入的最多m個請求。
18.如權(quán)利要求11所述的方法,其中該組請求包括給多個輸出中的每一個特定輸出的最多在單個包時間內(nèi)能被發(fā)送到所述每一個特定輸出的最大數(shù)目的包。
19.如權(quán)利要求18所述的方法,其中該組請求包括來自特定輸入的最多m個請求。
20.一種計算機可讀介質(zhì),包含用于執(zhí)行權(quán)利要求11所述方法的計算機可執(zhí)行指令。
21.一種設(shè)備,包括多個請求發(fā)生器;耦合到該多個請求發(fā)生器的多個授權(quán)仲裁器;耦合到該多個授權(quán)仲裁器的多個接受仲裁器;其中多個請求發(fā)生器中的每一個都被配置成用來產(chǎn)生交換機的多個輸入中的它所聯(lián)系的輸入的請求;其中多個授權(quán)仲裁器中的每一個都被配置成用來基于一個或多個接收到的請求來產(chǎn)生授權(quán),所述授權(quán)對應(yīng)于準(zhǔn)許向該交換機的多個輸出中它所聯(lián)系的輸出發(fā)送,其中所述產(chǎn)生授權(quán)包括保存授權(quán)起始位置,確定授權(quán)提前位置,識別預(yù)定隊列中從授權(quán)起始位置開始的第一個n個請求,其中n小于或等于在單個包時間內(nèi)能被發(fā)送到所述所聯(lián)系的輸出的包的最大數(shù)目;以及響應(yīng)于包括了對應(yīng)于授權(quán)提前位置的特定授權(quán)的第一個n個授權(quán),更新授權(quán)起始位置;并且其中多個接受仲裁器中的每一個都被配置為用來基于一個或多個接收到的授權(quán)產(chǎn)生接受,所述接受對應(yīng)于多個輸入中它所聯(lián)系的輸入。
22.如權(quán)利要求21所述的設(shè)備,還包括多個包指示發(fā)生器,多個包指示發(fā)生器中的每一個都與多個輸入中的不同輸入以及多個請求發(fā)生器中的不同請求發(fā)生器相聯(lián)系;其中多個包指示發(fā)生器中的每一個都被配置以將排隊的包的指示和它們各自的目的地發(fā)送到多個請求發(fā)生器中它所聯(lián)系的一個。
23.如權(quán)利要求21所述的設(shè)備,其中包是根據(jù)所述接受通過交換機從交換機的多個輸入被發(fā)送到交換機的多個輸出的。
24.如權(quán)利要求23所述的設(shè)備,其中所述的接受包括第一單播組的接受、第二單播組的接受和一個組播組的接受。
25.如權(quán)利要求21所述的設(shè)備,其中所述的產(chǎn)生接受包括保存接受起始位置,確定接受提前位置,識別預(yù)定隊列中從接受起始位置開始的第一個m個授權(quán),其中m小于或等于來自所述所聯(lián)系的輸入的在單個包時間內(nèi)能被使用的連接的最大數(shù)目,以及響應(yīng)于包括了對應(yīng)于接受提前位置的一個特定接受的第一個m個授權(quán),更新接受起始位置。
26.如權(quán)利要求21所述的設(shè)備,還包括被配置來保存組播指針的組播控制器。
27.如權(quán)利要求26所述的設(shè)備,其中組播控制器還被配置來確定組播提前位置,和響應(yīng)于一個對應(yīng)于組播提前位置被授權(quán)的特定請求,一個對應(yīng)于組播提前位置被接受的授權(quán),或一個對應(yīng)于組播提前位置的被發(fā)送的組播包,更新組播指針。
28.一種設(shè)備,包括用來識別對應(yīng)于希望通過包交換機從多個輸入被發(fā)送到一個特定輸出的包的一組請求的裝置;用來保存授權(quán)起始位置的裝置;用來確定授權(quán)提前位置的裝置;用來識別在預(yù)定隊列中從授權(quán)起始位置開始的第一個n個請求的裝置,其中n小于或等于在單個包時間內(nèi)能被發(fā)送到特定輸出的包的最大數(shù)目;和用來響應(yīng)于包括了一個對應(yīng)于授權(quán)提前位置的特定授權(quán)的第一個n個授權(quán),更新授權(quán)起始位置的裝置。
29.如權(quán)利要求28所述的設(shè)備,其中所述用來更新授權(quán)起始位置的裝置包括用來將授權(quán)起始位置的值設(shè)置為授權(quán)提前位置之外的一個位置的裝置。
30.如權(quán)利要求28所述的設(shè)備,還包括用來保存指示該組請求的位圖數(shù)據(jù)結(jié)構(gòu)的裝置;其中授權(quán)起始位置和授權(quán)提前位置標(biāo)識位圖數(shù)據(jù)結(jié)構(gòu)中的一個或多個位置。
31.一種設(shè)備,包括用來產(chǎn)生對應(yīng)于希望通過包交換機從一個特定輸入被發(fā)送到多個輸出的包的一組請求的裝置;用來識別響應(yīng)于該組請求而產(chǎn)生的一組授權(quán)的裝置;用來保存接受起始位置的裝置;用來確定接受提前位置的裝置;用來識別在預(yù)定隊列中從接受起始位置開始的第一個m個授權(quán)的裝置,其中m小于或等于來自特定輸入的在單個包時間內(nèi)能被送出的包的最大數(shù)目;和用來響應(yīng)于包括了對應(yīng)于接受提前位置的一個特定接受的第一個m個授權(quán),更新接受起始位置的裝置。
32.如權(quán)利要求31所述的設(shè)備,其中所述用于更新接受起始位置的裝置包括用于將接受起始位置的值設(shè)置為接受提前位置之外的一個位置的裝置。
33.如權(quán)利要求31所述的設(shè)備,還包括用來保存指示該組授權(quán)的位圖數(shù)據(jù)結(jié)構(gòu)的裝置;其中接受起始位置和接受提前位置標(biāo)識位圖數(shù)據(jù)結(jié)構(gòu)中的一個或多個位置。
全文摘要
公開了例如在具有無阻塞交換結(jié)構(gòu)和同構(gòu)或異構(gòu)線路卡接口的系統(tǒng)中的,用于調(diào)度包的方法和設(shè)備。在一個實施例中,多個請求發(fā)生器、授權(quán)仲裁器和接受仲裁器聯(lián)合工作來確定該調(diào)度。產(chǎn)生要求發(fā)送來自一個特定輸入的數(shù)據(jù)包的一組請求。從授權(quán)起始位置開始,識別預(yù)定隊列中的第一個n個請求,其中n小于或等于在單個包時間內(nèi)能被使用的到特定輸出的連接的最大數(shù)目。響應(yīng)于包括了對應(yīng)于授權(quán)提前位置的一個特定授權(quán)的第一個n個授權(quán),更新授權(quán)起始位置。在一個實施例中,基于該組請求產(chǎn)生的該組授權(quán)是利用接受起始位置和接受提前位置類似地確定的。
文檔編號H04Q3/66GK1449160SQ0312157
公開日2003年10月15日 申請日期2003年3月31日 優(yōu)先權(quán)日2002年3月30日
發(fā)明者弗拉維歐·喬瓦尼·博諾米, 帕特里克·A·科斯特洛, 羅伯特·E·勃蘭特 申請人:思科技術(shù)公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
株洲县| 杭锦后旗| 玛纳斯县| 佛冈县| 土默特左旗| 江永县| 新和县| 通榆县| 台东县| 留坝县| 洪洞县| 巴彦淖尔市| 永春县| 台东县| 马鞍山市| 榆社县| 沐川县| 涪陵区| 阿巴嘎旗| 云和县| 昭平县| 柳江县| 军事| 神木县| 丽江市| 平塘县| 镇巴县| 英超| 阿图什市| 广东省| 明溪县| 彩票| 宁陵县| 万载县| 东乡族自治县| 洪泽县| 五原县| 黔江区| 油尖旺区| 扎兰屯市| 玛纳斯县|