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

分組消息的方法和設備的制作方法

文檔序號:7594119閱讀:174來源:國知局
專利名稱:分組消息的方法和設備的制作方法
技術領域
本發(fā)明涉及管理分組(packet)消息的方法和設備。本發(fā)明特別應用于經(jīng)過窄帶寬鏈路的某一類分組消息的優(yōu)化管理。
已知在許多情況下源實體(entity)經(jīng)過通訊鏈路傳送消息到接收實體。這些情況中一個公知的問題涉及到通訊鏈路,源實體經(jīng)過該鏈路傳送它的消息,而鏈路的帶寬不足以傳遞預定給接收實體的消息量。
這個問題的一個原始解決方案是在任何給定時間簡單地發(fā)送可以發(fā)送的消息,隨后丟棄任何剩余的‘溢出’消息。盡管這個解決方案具有簡單的優(yōu)點,但不能提供對通訊鏈路的有效使用。突然激活的脈沖串可能導致當溢出消息時一大批消息被丟棄。然而,在激活的脈沖串之后,通訊鏈路可能返回到只有小量負載的情況。
這里提供了一種用于緩存溢出消息的改進的解決方案。如果在任何給定時間溢出消息不能被發(fā)送,它們將不會被簡單地丟棄,而是可以被緩存,并且在激活的脈沖串之后,在通訊鏈路返回到小量負載情況時發(fā)送。然而,很清楚對消息緩存器的大小有限制,這樣可以想象緩存器本身可能溢出。同時很清楚在消息之間不存在真正的區(qū)別,所有的消息被看作同樣的重要。
在某些情況下完全可以應用另一種方法,這里各種消息可以被認為具有不同的重要性。當在源實體和接收實體之間的通訊鏈路產(chǎn)生阻塞時,較重要的消息可以經(jīng)過通訊鏈路傳送,而較不重要的消息可能被丟棄,或者如上面討論的被緩存。
單個源實體的這種方法的公知的例子采用了‘分層視頻編碼’的概念。然而,這種方法也只能能應用于許多爭用的源實體的情況,這里源實體和它們相應的消息根據(jù)它們的重要性來排列。
與上面情況稍微不同特點的問題是存在許多都傳送相同類型消息、爭用同時也是相同重要的源實體。一個例子是許多源實體根據(jù)它們狀態(tài)的某一方面?zhèn)魉拖?。例如,移動實體可以根據(jù)它們的位置傳送消息。同樣地,傳感器實體可以根據(jù)環(huán)境溫度或壓力傳送消息。
一個更熟悉的例子是網(wǎng)絡計算機游戲如‘Quake’(由ID Softwareof Mesquite,TX,USA制作),這里移動物(mobile creatue)在一個或多個服務器計算機上運行的三維虛擬環(huán)境中創(chuàng)建。這些移動物源實體的位置可以適當?shù)赝ㄖ皆谶B接到服務器的用戶計算機上宿主(host)的游戲?qū)嶓w。
典型地,對于接收這種周期性狀態(tài)更新消息的實體來說,最重要的是確保從所有的源實體接收到有規(guī)律的更新。如果許多源實體正在發(fā)送具有狀態(tài)更新的消息,通常,更重要的是接收來自所有源實體的有規(guī)律的狀態(tài)更新,而不是接收來自源實體子集的所有的狀態(tài)更新,以及即使有也很少的來自剩余源實體的狀態(tài)更新。也就是說通常更重要的是減少源實體最大可能的狀態(tài)誤差,而不是所有源實體的平均狀態(tài)誤差。
再次使用Quake游戲的例子,如果游戲參與者的人物(character)被高度移動的敵方移動物包圍,對于游戲參與者的人物來說,更重要的是知道所有相關的移動物(或者說在短時間以前的它們)在相對較小的誤差內(nèi),而不是知道這些移動物的子集在非常小的誤差內(nèi)(它們現(xiàn)在),剩余的(高度移動的敵方)移動物的位置具有相當大的誤差(它們不久前的位置)。
很清楚簡單的分層定向方案如分層視頻編碼方案不能用于這種情況。如上面表示的,在這個方案中,可以用接收(即使有也很少的)來自較不重要源實體的信息為代價,從最重要的源實體請求所有可利用的信息,同時注意考慮中的問題,從每個被標稱相同重要性的所有的源實體請求至少一些信息。
這樣,根據(jù)本發(fā)明的一個方面,提供的分組消息源包括用于在分組消息序列的每個分組消息中包括相應的分組消息有效負載的裝置;用于根據(jù)一種標號的預定周期序列將優(yōu)先次序標號與所述序列中每個連續(xù)的分組消息相聯(lián)系的裝置;所述優(yōu)先次序標號的每一個表示若干個優(yōu)先次序級別中的一個和周期性序列中每個標號的位置,使得該標號和相等或較高優(yōu)先次序的最近標號之間的連續(xù)較低優(yōu)先次序標號的數(shù)字實際上是最大的;以及用于發(fā)送這種分組消息的裝置。
有益的是,這將確保當許多這種分組消息源正在發(fā)送這種分組消息,并且必須競爭有限的帶寬,使得根據(jù)這些分組的優(yōu)先次序標號使分組如所需的放棄時,盡可能將來自所有源的表示有規(guī)律更新的分組消息發(fā)送給接收的用戶,而不是將如現(xiàn)有技術的來自源的子集的所有更新、以及即使有也很少的來自剩余源的更新發(fā)送。
本發(fā)明還提供分組通知方法和操作分組通知系統(tǒng)方法的分組消息系統(tǒng)。
現(xiàn)在根據(jù)附圖并借助于例子,描述本發(fā)明的幾個實施例,其中

圖1說明本發(fā)明第一個實施例;圖2說明一個通用計算機;圖3說明分組消息結(jié)構(gòu);圖4A和圖4B說明第一個程序流程圖;圖5說明根據(jù)本發(fā)明第二個實施例的第二個程序流程圖;圖6說明根據(jù)本發(fā)明第二個實施例的第三個程序流程圖;圖7說明示出第二個實施例的性能結(jié)果的第一個圖形;圖8說明示出第二個實施例的另一個性能結(jié)果的第二個圖形;圖9A和圖9B說明根據(jù)本發(fā)明第三個實施例的第四個程序流程圖;圖10說明示出第三個實施例的性能結(jié)果的第三個圖形;
圖11說明示出第三個實施例的另一個性能結(jié)果的第四個圖形;以及圖12說明本發(fā)明的第四個實施例。
現(xiàn)在根據(jù)圖1、圖2、圖3和圖4描述本發(fā)明第一個實施例。圖1以示意圖的形式說明本發(fā)明第一個實施例的結(jié)構(gòu)。圖4說明第一個實施例功能的程序流程圖。
第一組源實體的每一個根據(jù)它當前的狀態(tài)創(chuàng)建和發(fā)送包含信息的分組消息,其中每個源實體具有相關狀態(tài)。下面討論消息發(fā)送的目的地實體。源實體可以采用許多形式;這種形式的例子是在計算機的軟件處理內(nèi)宿主的實體。
圖1通過實例說明在第一個服務器計算機104的第一個軟件處理102內(nèi)宿主的一組源實體100。
這個計算機104如圖2說明,它典型地具有至少一個中央處理器(CPU)202、只讀存儲器(ROM)204、隨機存取存儲器(RAM)206、如硬盤208的存儲裝置、用于從存儲介質(zhì)讀出和寫入的裝置如從軟盤讀出和寫入的軟盤驅(qū)動器210、以及用于連接到另一個裝置或通訊網(wǎng)絡的輸入和輸出端口212。
計算機104可以利用任何適當?shù)牟僮飨到y(tǒng),公知的例子如Microsoft WindowsTMNT、Linux或其他許多Unix版本的任何一個。應用程序能夠用許多公知的適合于寫應用程序的語言來寫,其中一個公知的例子是C++。這個操作系統(tǒng)和應用程序可以加載到計算機104的存儲裝置208。
根據(jù)本發(fā)明實施例公開的功能各方面可以用計算機104執(zhí)行的軟件應用程序來實現(xiàn)。然后這個軟件應用程序可以采用任何適當?shù)挠嬎銠C可讀存儲介質(zhì)形式存儲在例如軟盤214中,經(jīng)過軟盤驅(qū)動器210加載到計算機104用于執(zhí)行。公知的另一種情況是將軟件應用程序存儲在CD-ROM(未示出)上,經(jīng)過CD-ROM驅(qū)動器(未示出)加載到計算機104用于執(zhí)行。另一種公知的情況是經(jīng)過適當?shù)木W(wǎng)絡(未示出)將應用程序下載用于計算機104的執(zhí)行。
在這個實施例中,計算機104具有一個或多個加載到它的軟件應用程序,當這些應用程序執(zhí)行時使計算機104如源實體的主機一樣工作。
通常,存在多個這樣的服務器計算機。因此,說明宿主在第二個服務器計算機104’上的第二個軟件處理102’中的第二組源實體100’。
如上面Quake的例子,例如,源實體可以是在三維虛擬環(huán)境中的移動物,如在一個或多個服務器計算機上作為處理運行的虛擬環(huán)境的不同部分。借助于簡單的例子,虛擬環(huán)境中一個地點的一組移動物可以通過在服務器計算機上處理運行的源實體表示,并且虛擬環(huán)境的另一個地點的另一組移動物可以通過在第二個服務器計算機上另一個處理運行的源實體表示。
如上所述,每個源實體100具有相關的狀態(tài);在這個例子中,每個人物將至少具有虛擬環(huán)境內(nèi)一個相關的位置。這樣,在三維虛擬環(huán)境移動的每個人物可以根據(jù)它們在三維虛擬環(huán)境中相應的當前位置創(chuàng)建和發(fā)送分組消息。
圖3說明這樣一個分組消息結(jié)構(gòu)的例子。在常規(guī)情況下分組消息300具有標題部分302和有效負載部分304。應該注意不是分組標題302中所有字段同時被本發(fā)明所有的實施例所要求。
分組標題302的第一個字段306包含源實體標識的表示。分組標題302的第二個字段308包含預定的目的地實體標識的表示。由于第一個實施例僅有一個目的地,所以不需要設置這個字段。分組標題302的第三個字段310包含在給定優(yōu)先次序范圍上分配的優(yōu)先次序的表示。
根據(jù)本發(fā)明,識別優(yōu)先次序設置的第三個字段310將如下設置。每個單獨的分組消息被分配一個優(yōu)先次序標記,每個優(yōu)先次序標記表示若干個優(yōu)先次序等級中的一個。根據(jù)預定的周期標記序列,連續(xù)的分組被分配這些優(yōu)先次序標記中的一個,它們被認為由每個分組消息源產(chǎn)生的序列中。關鍵的是,這個周期序列中每個標記的位置使得它和相等或較高優(yōu)先次序標記之間連續(xù)的較低優(yōu)先次序標記的數(shù)字實際上是最大的。
周期性優(yōu)先次序這樣變化,使得如果分組根據(jù)優(yōu)先次序被丟棄,在理論(notional)序列中剩余的分組將盡可能均勻間隔地留下。應該注意在這方面兩個功率(power)的序列長度是有益的。
對于具有0(最低優(yōu)先次序)到n(最高優(yōu)先次序)的優(yōu)先次序范圍并且n=7的簡單例子來說,在優(yōu)先次序上相應適當?shù)闹芷谧兓欠謩e具有設置為0、7、2、4、1、6、3、5的優(yōu)先次序的八個消息(相等的時間間距)的序列。0、7、2、4、1、6、3、5序列將確保當逐個低優(yōu)先次序必須放棄時,剩余分組將盡可能均勻地間隔。借助于例子,如果由于兩個鏈路容量的業(yè)務負荷使得必須從這八個消息的序列放棄一半的分組(這樣變?yōu)閇]、7、2、4、1、6、3、5,然后是[]、7、2、4、[]、6、3、5,然后是[]、7、[]、4、[]、6、3、5,最后是[]、7、[]、4、[]、6、[]、5),可以看出剩余分組在時間上仍然具有相等的間隔,并且將簡潔地每兩個時間周期提供更新,而不是如最初序列的每個時間周期提供更新。
分組標題302的第四個字段312包含所謂的激活時間(time-to-live)的表示。激活時間將表示為一個給定的時間周期、范圍,例如,達到兩三百毫秒,而不是常常如分組網(wǎng)絡的情況表示為給定鏈路跳躍的數(shù)量。在第一個實施例中這個字段沒有設置。
分組標題302的第五個字段314表示有效負載類型。有效負載類型例如可能是用于位置表示。在第一個實施例中這個字段沒有設置。
分組有效負載部分304傳遞數(shù)據(jù)。在這個例子中典型的有效負載將是位置表示。
參照圖4A,在第一個步驟400,源實體創(chuàng)建并且發(fā)送這個分組消息流,在分組有效負載中傳遞位置更新,并且周期地改變分組標題中第四個字段的優(yōu)先次序。
返回到圖1,第一個和第二個服務器計算機104、104’將分別具有第一個和第二個服務器計算機輸出端口106、106’。這些相應的第一個和第二個服務器計算機輸出端口106、106’通過相應的第一個和第二個高帶寬鏈路108、108’連接到通訊鏈路接口、鏈路管理計算機110。這樣的高帶寬鏈路108、108’可以典型地采用例如具有每秒100Mbit的相關帶寬的快速以太網(wǎng)的形式。
鏈路管理計算機110可以采用如圖2說明的通用計算機的形式。鏈路管理計算機110可以利用任何適當?shù)牟僮飨到y(tǒng),公知的例子是Mocrosoft WindowsTMNT、Linux或Unix的其他許多版本中任何一種。應用程序可以用寫應用程序的許多公知的適當語言來寫,其中一個公知的例子是C++。這個操作系統(tǒng)和應用程序可以加載到計算機110的存儲裝置208中。
根據(jù)本發(fā)明實施例公開的功能可以采用如鏈路管理計算機110執(zhí)行的軟件應用程序來實現(xiàn)。這個軟件應用程序可以采用任何適當?shù)挠嬎銠C可讀存儲介質(zhì)形式存儲,例如在軟盤214上,經(jīng)過軟盤驅(qū)動器210加載到計算機110用于執(zhí)行。公知的另一種方法是將軟件應用程序存儲在CD-ROM(未示出),經(jīng)過CD-ROM驅(qū)動器(未示出)加載到計算機110用于執(zhí)行。另一種公知的方法是經(jīng)過適當?shù)木W(wǎng)絡(未示出)下載軟件應用程序用于計算機110的執(zhí)行。
鏈路管理計算機110至少具有一個輸入端口112,鏈路管理計算機經(jīng)過該接口接收源實體發(fā)送的分組消息。在這個例子中,對于兩個服務器計算機104、104’,說明了第一個和第二個鏈路管理計算機輸入端口112、112’。應該理解第一個和第二個鏈路管理計算機輸入端口112、112’可以是分開的物理端口或者在軟件級別上分開的共享的物理端口。
在第二個步驟402,由宿主在第一個和第二個服務器計算機104、104’的源實體發(fā)送的分組消息經(jīng)過相應的第一個和第二個服務器計算機輸出端口106、106’、第一個和第二個快速鏈路108、108’以及第一個和第二個鏈路管理計算機輸出端口112、112’發(fā)送到鏈路管理計算機110。相應的服務器計算機和鏈路管理計算機之間的鏈路具有足夠的帶寬,源實體發(fā)送的分組消息能夠以與另一個下行延遲相比不明顯的延遲傳遞到鏈路管理計算機。
在這個實施例中,鏈路管理計算機110具有一個或多個加載的軟件應用程序,在執(zhí)行時,它使得鏈路管理計算機運行鏈路管理器處理114。通過執(zhí)行軟件應用程序?qū)崿F(xiàn)程序流程圖的適當步驟。
在第三個步驟404,鏈路管理器處理114接收到達第一個和第二個鏈路管理計算機輸入端口112、112’的分組消息。在第四個步驟406,鏈路管理器處理114從接收的分組的分組標題302的第四個字段讀出優(yōu)先次序設置。
在第五個步驟408,鏈路管理器處理114將到達第一個和第二個鏈路管理計算機輸入端口112、112’的分組消息按照優(yōu)先次序排序分類為簡單分類的線性分組隊列116。分組消息可以例如分類到具有相同優(yōu)先次序設置的分組消息組后面的隊列116。應該理解借助于另一種方法,具有相同優(yōu)先次序設置的簡單隊列116的部分可以對于每個優(yōu)先次序設置,在作為分開隊列的優(yōu)化實現(xiàn)中容易地排隊。
應該理解在另一個步驟(未示出)中,可以檢查分組隊列116的長度,并且當增加的隊列116的長度大于預定限制的隊列長度時,被存儲的分組消息可以丟棄。
鏈路管理計算機110還至少具有一個輸出端口118。
鏈路管理計算機110的輸出端口118通過公知的服務質(zhì)量的鏈路120和特別公知的窄帶寬連接到例如接收實體主機124的輸入端口122。當鏈路管理器處理114發(fā)送在優(yōu)先次序隊列116最前面的分組消息到鏈路管理計算機輸出端口118時,該消息經(jīng)過通訊鏈路120傳送到接收實體主機124,然后該主機將消息傳遞到接收實體(未示出)。
參照圖4B,在步驟410,鏈路管理器將測試是否在窄帶寬鏈路上有多余的容量來發(fā)送在隊列116最前面的分組消息。如果是這樣,在另一個步驟412,鏈路管理器處理114將發(fā)送在優(yōu)先次序隊列116最前面的分組消息到鏈路管理計算機輸出端口118并且輸出到鏈路120。如果不是這樣,則步驟410將重復。通過周期的優(yōu)先次序方案,本發(fā)明的鏈路管理器可以有效地進行分組消息的智能選擇;鏈路過載可能簡單地引起隨機分組消息丟失的結(jié)果,丟失了本發(fā)明的優(yōu)點。
應該理解在隊列116最前面的分組消息的發(fā)送將涉及到循環(huán)處理。鏈路管理器處理114在試圖發(fā)送隊列分組消息下一個最前面的消息之前必須等待隊列分組消息當前最前面的消息已經(jīng)被發(fā)送為止。例如,通過鏈路管理器處理,確定在隊列116最前面的分組消息大小可以獲得這一點,它隨后可以利用對鏈路120帶寬的了解來計算何時將開始發(fā)送隊列分組消息最前面的消息。借助于另一種方法,用于發(fā)送的分組消息將從緩沖器發(fā)送,直到先前的分組消息已經(jīng)清除了緩沖器為止下一個分組消息才能寫入。
典型的窄帶寬鏈路120可以例如是經(jīng)過公共交換電話網(wǎng)(PSTN)連接的每秒33.6kbit調(diào)制解調(diào)器鏈路,或者是每秒128kbit的第二綜合業(yè)務數(shù)字網(wǎng)(ISDN)連接。
借助于例子,接收實體主機124可以運行一個處理,該處理宿主一個預定接收源實體發(fā)送的消息的實體。然而,應該理解代替接收實體主機,接收實體可以替代地采用各種形式,甚至不必采用可計算的形式,例如采用簡單的數(shù)據(jù)存儲。
只要在任何給定時間由鏈路管理計算機110接收的分組消息業(yè)務量總的帶寬小于通訊鏈路120的已知窄帶寬,放置在鏈路管理器處理隊列116的所有分組消息將無排隊延遲地在鏈路120上發(fā)送。接收實體將以最小可能的延遲(它僅由網(wǎng)絡延遲引起)接收從所有源實體發(fā)送的所有分組消息。
然而,可能的情況是越來越多的源實體100、100’的變?yōu)榧せ?,導致同?shù)量地增加消息流。另一方面,源實體100、100’它們自己可以變得更加活躍,導致需要對于狀態(tài)更新消息減少周期。在任何一種情況下,隨著分組消息業(yè)務量的增加,當輸入分組消息業(yè)務量總的帶寬超過通訊鏈路120的帶寬時產(chǎn)生一個關鍵點。在這一點它將不再可能同時發(fā)送預定給接收實體的所有分組消息。
現(xiàn)在分組消息將開始由鏈路管理器處理114排隊、如上面表示的根據(jù)優(yōu)先次序排序。當新的分組消息到達鏈路管理計算機110時,它們將被分類到適用于在它們分組標題302中攜帶優(yōu)先次序設置的隊列部分。
再次對于源實體100、100’發(fā)出的分組消息序列的周期性優(yōu)先次序設置進行討論。上面提供了分組選擇管理的例子,用于在以兩倍鏈路容量運行業(yè)務負荷的鏈路上發(fā)送。如果由于兩個鏈路容量的業(yè)務負荷使得必須從具有0、7、2、4、1、6、3、5的周期性優(yōu)先次序序列的八個消息序列中放棄一半的分組,(這樣變?yōu)閇]、7、2、4、1、6、3、5,然后是[]、7、2、4、[]、6、3、5,然后是[]、7、[]、4、[]、6、3、5,最后是[]、7、[]、4、[]、6、[]、5),可以看出剩余分組仍然在時間上具有相等的間隔,并且將簡潔地每兩個時間周期提供更新,而不是如最初序列的每個時間周期提供更新。
這樣當鏈接管理器處理114開始根據(jù)優(yōu)先次序排隊分組消息時,它將在發(fā)送較高優(yōu)先次序消息的同時采用類似于上面給出例子的周期性排序有效地開始放棄(或更確切地說排隊)較低的優(yōu)先次序消息。這樣,對于越來越阻塞的鏈路120,根據(jù)本發(fā)明實施例的鏈路管理計算機110將能夠繼續(xù)發(fā)送來自所有源實體100、100’的有規(guī)律的狀態(tài)更新。自然地,剩余的有規(guī)律的這些更新將變得越來越少地增加窄帶寬鏈路120阻塞,但是這種逐漸降低次數(shù)表示了降級服務的適度方式。
下面根據(jù)圖10和圖11說明的第三個實施例性能結(jié)果的比較來討論對于第一個實施例的模擬性能結(jié)果。
現(xiàn)在根據(jù)圖1、圖2、圖3、圖5、圖6、圖7和圖8討論本發(fā)明第二個實施例。第二個實施例與第一個實施例的不同僅僅在于源實體100、100’發(fā)送的分組消息300的結(jié)構(gòu)和鏈路管理器處理114的功能,所以應該再次適當?shù)貐⒄請D1、圖2和圖3。圖5和圖6說明根據(jù)本發(fā)明第二個實施例的功能各方面的程序流程圖。同時通過執(zhí)行運行在鏈路管理計算機110上的軟件應用程序,將實現(xiàn)程序流程圖的適當步驟。
根據(jù)第二個實施例并且特別參照圖1和圖2,源實體100、100’傳送具有下面結(jié)構(gòu)的分組消息300。分組標題302的第一個字段306將設置為發(fā)送源實體的標識。識別目的地實體的分組標題302的第二個字段308不需要設置,因為在這個例子中僅存在一個目的地實體。
識別優(yōu)先次序設置的第三個字段310將如第一個實施例進行設置。每個單獨的分組消息根據(jù)例如0(最低優(yōu)先次序)到n(最高優(yōu)先次序)的范圍被分配一個優(yōu)先次序設置。同樣關鍵的是n+1個這種消息的序列從源實體發(fā)出,不具有上述分配給源實體固定的優(yōu)先次序,而是具有周期性改變的優(yōu)先次序。周期性優(yōu)先次序改變使得如果根據(jù)優(yōu)先次序分組被丟棄,序列中剩余的分組將盡可能均勻間隔地留下。
再次,對于n=7的簡單例子,在優(yōu)先次序中相應的適當周期變化是分別具有設置為0、7、2、4、1、6、3、5的優(yōu)先次序的八個消息的序列。如上所述,0、7、2、4、1、6、3、5序列將確保逐個低優(yōu)先次序消息被丟棄,剩余的分組消息將是盡可能均勻的間隔。
在第二個實施例中,第四個字段312將設置為激活時間的周期。應該理解不是所有的源實體需要具有相同的分組消息發(fā)送周期,改變激活時間的表示允許每個源實體設置它們自己的周期。例如,由于它的特性,給定的源實體可能僅需要每20個標稱時間周期發(fā)送更新,其中激活時間的周期可以設置在20個標稱時間周期。在20個這樣的標稱時間周期之后,給定的源實體將發(fā)出新的更新,所以較舊的更新可以丟棄。
在第二個實施例中,不設置分組標題302的第五個字段314,假定為分組有效負載類型的表示。
如上所述,具有周期性優(yōu)先次序設置的這種分組消息流從源實體100、100’發(fā)出。然后這些分組消息經(jīng)過相應的第一和第二服務器計算機輸出端口106、106’以及第一和第二鏈路108、108’傳遞到鏈路管理計算機110。
參照圖5,在第一個步驟500中,在第一和第二鏈路管理計算機輸入端口112、112’接收到這些分組消息之后,它們被傳遞到鏈路管理器處理114。
如第一個實施例,鏈路管理器處理114將根據(jù)優(yōu)先次序排序再次保持一個簡單的分組消息隊列116。
鏈路管理處理器114備有一個時鐘(未示出),保持例如毫秒級周期測量的本地時間。在第二個步驟502,鏈路管理器處理114讀出在相應的分組標題302的第四個字段312的激活時間設置,在第三個步驟504,將本地時鐘時間加上源實體分配設置的激活時間,以創(chuàng)建調(diào)節(jié)的激活前的時間。在第四個步驟506,這個調(diào)節(jié)的激活時間隨后寫回到分組標題302的第四個字段312。
應該理解借助于另一種方法,分組消息和相關的到達時間可以替代地一起存儲在隊列116中。它的優(yōu)點是不用重寫源實體設置激活時間,但缺點是要求匹配的較大隊列存儲器。
應該理解只有給定分組消息受到的明顯的延遲是由在隊列中保持引起的。借助于上面使用的例子,如果給定的分組消息被具有20個標稱單位的激活時間表示的鏈路管理器處理114接收,并且鏈路管理器處理本地時間是t=100個標稱單位,則寫入分組標題第四個字段的調(diào)節(jié)的激活時間將是120個標稱單位。由于下面討論的原因,如果這個分組消息被排隊大于20個標稱單位的持續(xù)時間,由于這個時間,而鏈路管理器處理本地時間是t=120個標稱單位,則分組消息將是超時的。源實體已經(jīng)發(fā)送并且鏈路管理器處理116應該在這個時間已經(jīng)接收到另一個分組消息。
在第五個步驟506,鏈路管理器處理114還讀出相應的分組標題302的第三個字段310中每個優(yōu)先次序設置,然后在第六個步驟510,將分組消息分類為根據(jù)優(yōu)先次序設置排序的簡單的隊列116。同時,例如分組消息可以分類到具有相同優(yōu)先次序設置的分組消息組后面的隊列116。同樣如上所述,借助于另一種方法,具有相同優(yōu)先次序設置的簡單隊列116部分可以分開排隊。
圖6說明的處理可以理解為與圖5說明的并行執(zhí)行。
參照圖6,在第一個步驟600,當每個新的分組消息上移到隊列116的最前面用于發(fā)送到鏈路120時,鏈路管理器處理114將再次從隊列116最前面的分組消息的分組標題302的第四個字段312讀出調(diào)節(jié)的激活時間的設置。
在第二個步驟602,鏈路管理器114將這個調(diào)節(jié)的激活時間與鏈路管理器處理本地時間相比較。在第三個步驟604,如果鏈路管理器處理本地時間已經(jīng)傳遞了分組消息調(diào)節(jié)的激活時間,則該分組消息必須被認為是超時的,并且將被鏈路管理器處理114丟棄。然而,如果鏈路管理器處理本地時間沒有傳遞分組消息的調(diào)節(jié)的激活時間,則分組消息的排隊時間將不會比它分配的激活時間更長,在第四個步驟606,它將經(jīng)過鏈路管理計算機118的輸出端口發(fā)送到鏈路以及到用戶120的接收實體。如第一個實施例,這時鏈路管理器處理114將再次測試鏈路120的容量以發(fā)送在優(yōu)先次序隊列116最前面的分組消息。
應該理解對于在窄帶寬鏈路上可利用帶寬的優(yōu)化使用來說,可以進行標題壓縮的步驟(未示出)。因為分組消息經(jīng)過窄帶寬鏈路120發(fā)出,標題302部分不再需要,例如,優(yōu)先次序設置可以被去掉。
如第一個實施例,只要由鏈路管理計算機110接收的分組消息的瞬時總帶寬小于已知的通訊鏈路120的(低)帶寬,放置在鏈路管理器處理隊列116的所有分組消息將沒有排隊延遲地在鏈路上發(fā)送。接收實體124將接收從所有源實體100、100’發(fā)送的分組消息。然而,同樣如第一個實施例,隨著分組消息業(yè)務量的增加,當輸入的分組消息業(yè)務量總的帶寬超過通訊鏈路120的帶寬時產(chǎn)生一個關鍵點。在該點上將不再可能同時發(fā)送所有預定給接收實體的分組消息。
當總的業(yè)務量帶寬超過窄帶寬鏈路容量時,根據(jù)周期性的優(yōu)先次序設置能夠提供優(yōu)化和適度的降級服務,在這方面本發(fā)明第二個實施例將提供本發(fā)明第一個實施例所有的優(yōu)點。然而,如現(xiàn)在將解釋的,本發(fā)明第二個實施例將提供優(yōu)于第一個實施例性能的另外的優(yōu)點。
對于每個消息的激活時間的分配使得避免下面對消息的錯誤的重新排序。
第一個位置分組消息采用優(yōu)先次序設置為0,在標稱t=0時由給定源實體發(fā)送。第二個分組消息采用優(yōu)先次序設置為7,在標稱t=1時發(fā)送。第三個分組消息采用優(yōu)先次序為2,在標稱t=2時發(fā)送。如果由于窄帶寬鏈路120上阻塞的程度,當接收第一個分組消息時具有最低優(yōu)先次序設置為0的第一個分組消息不能由鏈路管理器處理114通過鏈路發(fā)送,它將被排隊。一旦接收到分別具有7和2的優(yōu)先次序設置的第二個和第三個分組消息,鏈路管理器處理114經(jīng)過窄帶寬鏈路120直接發(fā)送第二個和第三個分組消息到接收實體主機。如果窄帶寬鏈路120上的阻塞隨后減緩,并且如果第一個分組消息不具有與它相關的限定的激活時間,則鏈路管理器處理114經(jīng)過窄帶寬鏈路將第一個消息發(fā)送到接收實體主機。
鏈路管理器處理114這樣處理之后,其結(jié)果是在用戶已經(jīng)接收第二個和第三個消息傳遞的位置更新之前,由用戶接收的最后的位置更新消息實際上已經(jīng)分別開始一個和兩個時間周期。代之以,對于消息的激活時間設置將使得消息在可以經(jīng)過窄帶寬鏈路120發(fā)送之前被從鏈路管理器處理隊列116丟棄。
如上所述,應該理解分組消息在傳輸之前經(jīng)受的最長的延遲,實際上只有明顯的延遲來自于排隊。如上面解釋的,除了防止分組消息被錯誤的重新排序的優(yōu)點以外,激活時間設置還可以更全面的幫助排隊存儲管理。例如,當隊列116達到某一預定長度時,可以掃描分組消息隊列116。否則,由超時分組消息占用的存儲器空間可以因此釋放。然而,仍然需要檢查每個分組發(fā)送的超時。在另一種情況,在隊列116到達某個長度之前它可以被掃描。否則,將釋放被超時分組占用的存儲器空間,這些分組在小于某個長度時在隊列116中排隊。
根據(jù)圖7和圖8,描述和討論通過鏈路管理器處理的、結(jié)合周期性優(yōu)先次序設置和激活時間設置的這種窄帶寬鏈路管理的優(yōu)點。
根據(jù)如下步驟產(chǎn)生一個模擬。在單個PC機上建立一個‘服務器’處理,具有少量的初始實體,其中每一個擁有位置狀態(tài)。在同一個機器上建立具有相同狀態(tài)的‘用戶’處理,并且這兩個機器通過‘反射器(reflector)’機器(簡單地將分組從服務器‘反射’回用戶)經(jīng)過28.8 Kbit/s UDP/IP的鏈路連接。
服務器以恒定速率并且以對于每個實體固定的周期在隨機的方向上移動所有的實體(因此,對于每個實體的分組消息分配激活時間),每個實體給用戶發(fā)送位置更新。這個例子中的周期性優(yōu)先次序設置使用n=3,即四個級別的優(yōu)先次序方案。狀態(tài)傳送的效率可以隨后通過估計服務器和用戶狀態(tài)之間的差別來測量。對于理想的鏈路(無限帶寬和零延遲),其狀態(tài)將是相同的。而非理想的鏈路,其狀態(tài)將是不同的,并且這種不同可以通過應用Pythagoras的規(guī)則來測量,以確定服務器和用戶實體位置之間的距離。
對于給定實體數(shù)量的這種狀態(tài)差別可以采用下面任一個來表示。
1.在長時間周期上所有服務器一用戶位置差別的平均值。
2.在長時間周期上最大服務器一用戶位置差別的平均值。
隨著實體數(shù)量的增加,產(chǎn)生的狀態(tài)更新量也增加了,因此施加在服務器到用戶鏈路的負載也更大。
沒有優(yōu)先次序的發(fā)送和具有四個級別的周期性優(yōu)先次序發(fā)送的方法與多達25個實體發(fā)送數(shù)據(jù)的表現(xiàn)十分相同。這是因為小于25個實體在固定時間周期內(nèi)產(chǎn)生的所有狀態(tài)更新可以在相同的周期經(jīng)過服務器發(fā)送到用戶鏈路。
隨著實體數(shù)量的增加,以及由此發(fā)送給用戶的業(yè)務量的增加,沒有優(yōu)先次序時檢測的誤差迅速地惡化。這是因為UDP鏈路丟棄過多的數(shù)據(jù),基本上對提供的更新進行隨機選擇。一個實體可以成功地控制傳送10個位置更新的序列,同時另一個實體在相同的周期上控制不進行任何傳送。
相反,在25和95個實體之間的周期性優(yōu)先次序方案表明在檢測的平均和最大誤差上有很大的改進。這是因為周期性優(yōu)先次序的使用確保當超過鏈路帶寬時,每個發(fā)送實體獲得可利用的公平的一部分。例如,當產(chǎn)生的業(yè)務量是可利用帶寬的三倍(75個實體)時,最大的誤差大約是沒有優(yōu)先次序時的4倍。
當產(chǎn)生的業(yè)務量等于鏈路帶寬乘以優(yōu)先次序級別的數(shù)量時,優(yōu)先次序方案方法降低到如沒有優(yōu)先次序方法相同的誤差級別。這是因為沒有足夠的帶寬可用于傳遞所有最高優(yōu)先次序狀態(tài)更新,因此再次選擇更新成為網(wǎng)絡的功能。這可以清楚地在最大誤差圖上看到,如實體方法100的數(shù)量。
現(xiàn)在根據(jù)圖1、圖2、圖3、圖9、圖10和圖11討論本發(fā)明的第三個實施例。第三個實施例與第一個和第二個實施例的不同僅僅在于通過源實體發(fā)送的分組消息的結(jié)構(gòu)和鏈路管理器處理的功能,所以應該再次適當?shù)貐⒄請D1、圖2和圖3。圖9說明本發(fā)明第二個實施例的功能各方面的程序流程圖。同樣通過運行在鏈路管理計算機上的軟件應用程序的執(zhí)行實現(xiàn)程序流程圖的步驟。
根據(jù)第三個實施例并且特別參照圖3,源實體100、100’采用下面的結(jié)構(gòu)傳送分組消息300。分組標題302的第一個字段306將設置為發(fā)送源實體的標識。識別目的地實體的分組標題302的第二個字段308不需要設置,因為在這個例子中僅有一個目的地實體。
識別優(yōu)先次序設置的第三個字段310將再次如第一個和第二個實施例進行設置。每個單獨的分組消息根據(jù)例如0(最低優(yōu)先次序)到n(最高優(yōu)先次序)的范圍被分配一個優(yōu)先次序設置。同樣關鍵的是n+1個這種消息的序列從源實體發(fā)出,不采用上述分配給源實體固定的優(yōu)先次序,而是采用周期性變化的優(yōu)先次序。周期性優(yōu)先次序改變使得如果分組根據(jù)優(yōu)先次序被丟棄,序列中剩余的分組將盡可能均勻間隔地留下。
再次,對于n=7的簡單例子,在優(yōu)先次序中相應的適當周期變化是分別具有設置為0、7、2、4、1、6、3、5的優(yōu)先次序的八個消息的序列。0、7、2、4、1、6、3、5序列將確保逐個低優(yōu)先次序消息必須被丟棄,具有優(yōu)先次序為0的消息被首先丟棄,接著是具有優(yōu)先次序為1的消息等等,剩余的分組將是盡可能均勻的間隔。
在第三個實施例中,假定為激活時間周期的第四個字段312將不設置。然而,在第三個實施例中,假定為分組有效負載類型表示的分組標題302中第五個字段314被設置。
由上面第二個實施例的討論可以回想起通過與源實體周期相應的發(fā)送源實體的激活時間的設置。上面給出的例子具有每20個標稱時間單位發(fā)送分組消息的源實體,具有相應的20個標稱時間單位的激活時間。攜帶狀態(tài)更新的每個分組消息不需要比源實體發(fā)送周期更長的激活時間,因為在另一個這樣的時間周期之后,新狀態(tài)更新分組消息將已經(jīng)發(fā)送。
在第三個實施例中,不設置激活時間周期。代之以,每個源實體采用以分組有效負載類型的標識設置的分組標題302的第五個字段314發(fā)出狀態(tài)更新消息,在這個例子中它將是位置表示。這樣,僅當需要時,每個源實體將發(fā)出狀態(tài)更新分組消息。
根據(jù)第三個實施例,鏈路管理器鏈路114屏蔽輸入的非周期的分組消息,使得來自具有相同有效負載類型的相同源實體的分組消息可以被組合,以形成具有最后可能狀態(tài)更新的新的分組消息。
這樣,如上面討論的,再次具有周期性優(yōu)先次序設置的這種分組消息流從源實體100、100’發(fā)出。如第一個實施例,這些分組消息隨后經(jīng)過相應的服務器計算機104、104’傳遞到鏈路管理計算機110。
參照圖9,在第一個步驟900,在第一個和第二個鏈路管理計算機輸入端口112、112’接收這些分組消息之后,它們被隨后傳遞到鏈路管理器處理114。
在第二個步驟902,當鏈路管理計算機輸入端口112、112’中的一個接收新的分組消息時,鏈路管理器處理114將讀出分組標題302的第一個字段306,以確定發(fā)送源實體的標識??梢曰叵肫鹪谶@個實施例中,識別目的地實體的分組標題302的第二個字段308不用設置,因為在這個例子中僅有一個目的地實體。在第三個步驟904,鏈路管理器處理114還讀出分組標題302的第五個字段314,假定是分組有效負載類型的表示,在這個例子中它將是位置表示。在第四個步驟906,鏈路管理器處理114還讀出分組標題302的第三個字段310,假定為分配的優(yōu)先次序設置。
鏈路管理器處理114將再次保持簡單的分組消息隊列116,如第一個和第二個實施例根據(jù)優(yōu)先次序排隊。
在第五個步驟908,鏈路管理器處理114隨后將掃描這個分組隊列116,讀出排隊的分組消息的分組標題中第一個和第五個字段306、314,以確定是否從該源實體已經(jīng)接收分組消息,并且具有的該類型有效負載當前被排隊。因為假設從源實體發(fā)送的分組消息沒有明顯延遲地到達鏈路管理計算機110,可以假設較后到達的分組消息比較早到達的分組消息攜帶更近的狀態(tài)更新。
應該注意因為根據(jù)至少發(fā)送源標識和有效負載類型來實現(xiàn)這種匹配,每個發(fā)送源實體將自由地表示它要求哪種有效負載類型,希望哪種有效負載類型的指示器(即,源A可以選擇表示具有類型=1的位置有效負載,而源B可以表示例如具有相同類型的類型=1的溫度有效負載)。
因此,如果鏈路管理器處理114定位這樣一個來自相同源實體的較早分組消息,并且具有仍然排隊的相同類型有效負載,則在第六個步驟910,鏈路管理器處理將讀出排隊的分組消息的分組標題302的第三個字段310,假定為分配的優(yōu)先次序設置。
在第七個步驟912,鏈路管理器處理114可以如下創(chuàng)建一個新的分組消息。參照圖2,鏈路管理器處理將從新接收的分組消息和排隊的分組消息的分組標題302第一個字段306讀出的公共源實體標識寫到新分組消息的分組標題302的第一個字段306。鏈路管理器處理114將剛從鏈路管理計算機接收的分組消息的有效負載寫入這個新分組消息的有效負載部分304,換句話說是可利用的最近的狀態(tài)更新。鏈路管理器處理114將比較排隊的分組消息和新接收的分組消息的分組標題302中第三個字段310的優(yōu)先次序設置,并且將排隊的分組消息和新接收的分組消息的兩個優(yōu)先次序中較高的一個寫入新的分組消息的分組標題302中第三個字段310。
在第八個步驟914,鏈路管理器處理114創(chuàng)建了這樣一個新的分組消息,然后將這個新的分組消息分類到簡單的優(yōu)先次序序列的隊列116。
在第九個步驟916,鏈路管理器處理114將丟棄新接收的分組消息和排隊的分組消息。
通過另一種方法,代替第七個和第八個步驟912、914的處理可以如下實現(xiàn)。如果排隊的分組消息具有比新接收的分組更高的優(yōu)先次序,則新接收的分組消息的有效負載可以簡單地復制到排隊的分組消息有效負載,新接收的分組消息隨后被丟棄。然而,如果新接收的分組具有比排隊的分組消息更高的優(yōu)先次序,則排隊的分組消息可以簡單地丟棄,并且將新接收的分組消息分類到優(yōu)先次序隊列116。
當鏈路管理器處理114根據(jù)準則沒有找到匹配時,則在第十個步驟918將接收的分組消息簡單地直接分類到隊列116。
如第一個和第二個實施例,借助于本發(fā)明的第三個實施例,鏈路管理器處理114將在發(fā)送之前再次測試鏈路120的容量,以發(fā)送在優(yōu)先次序隊列116最前面的分組消息。
如第一個和第二個實施例,只要鏈路管理計算機110接收的分組消息業(yè)務量的瞬時總帶寬小于己知的通訊鏈路120的(低)帶寬,放置在鏈路管理器處理隊列116的所有分組消息將沒有排隊延遲地經(jīng)過鏈路120發(fā)出。接收實體將接收從所有源實體發(fā)送的所有分組消息。同樣,如第一個和第二個實施例,隨著分組消息業(yè)務量的增加,當輸入分組消息業(yè)務量的總帶寬超過通訊鏈路120的帶寬時產(chǎn)生一個關鍵點。在這個點將不再可能同時發(fā)送預定給接收實體的所有分組消息。
當總的業(yè)務量帶寬超過窄帶寬鏈路容量時,根據(jù)周期性優(yōu)先次序設置能夠提供優(yōu)化和適度的降級服務,在這方面本發(fā)明的第三個實施例將提供本發(fā)明第一個實施例的所有優(yōu)點。然而,如現(xiàn)在將要解釋的,本發(fā)明第三個實施例還將提供優(yōu)于第一個實施例性能的優(yōu)點。
參照圖10和圖11,將更好地表示和討論本發(fā)明第三個實施例通過鏈路管理器處理的窄帶寬鏈路管理方法的優(yōu)點。
參照圖7和圖8的討論進行類似的模擬。這個實驗示出完全不使用優(yōu)先次序方案、根據(jù)它自己的周期性優(yōu)先次序方案、以及采用消息組合方式的周期性優(yōu)先次序方案的結(jié)果。在這個例子中,使用了具有n=7的周期性優(yōu)先次序方案,即八個級別優(yōu)先次序方案。
不使用任何優(yōu)先次序方案足以完成到某一點,在該點服務器產(chǎn)生的業(yè)務量超過為了更新用戶(30個實體)可利用的帶寬。從這一點開始,隨著狀態(tài)更新被網(wǎng)絡隨機地丟棄,平均和最大誤差增加。
使用根據(jù)它自己的8個級別優(yōu)先次序方案的結(jié)果如兩個圖形的虛線示出。在某些業(yè)務量(例如,70個實體和90個實體)時它明顯地比沒有優(yōu)先次序的情況完成得好,而在其他業(yè)務量(例如,35個實體)時明顯地完成得不好。來自這個數(shù)據(jù)集合誤差峰值中的每一個相應于產(chǎn)生的業(yè)務量等于能夠在服務器和用戶之間傳遞的某一限定容量的整數(shù)倍數(shù)時。如上面例子所述,引起這些峰值的事件序列是1.在時間t,實體X產(chǎn)生具有優(yōu)先次序P的狀態(tài)更新St。
2. St被排隊,因為該鏈路當前被較高的優(yōu)先次序更新完全利用。
3.在時間t+1,實體X產(chǎn)生具有優(yōu)先次序大于P的St+1的狀態(tài)更新。
4.St+1被發(fā)送,因為它具有足夠高的優(yōu)先次序來代替任何其它的排隊業(yè)務量。
5.在新的狀態(tài)更新階段的波動允許已經(jīng)排隊的較低優(yōu)先次序的更新被發(fā)送,St被發(fā)送,在用戶的接收實體將這看作更新St+2。
因此,僅當狀態(tài)更新階段產(chǎn)生的速率波動可以引起上面的重新排序情況時,即產(chǎn)生的業(yè)務量接近于可利用帶寬的某一整數(shù)倍時才產(chǎn)生這些誤差峰值,一個特定的優(yōu)先次序級別只是偶爾使得它進入窄帶寬鏈路。
如兩個圖形的虛線所示,通過本發(fā)明的第三個實施例解決了這個問題,其中新的消息與來自相同實體的任何舊的排隊消息組合。因此,上面描述的重新排序問題的類型被去除,并且該方案在所有的業(yè)務量級別上完成得很好。
參照圖3,特別是分組標題302的第二個字段308,應該理解如果提供了相應的不同目的地實體標識,則可能從單個鏈路管理器發(fā)送給多個用戶。然后,根據(jù)例如每個用戶一個這樣的隊列,鏈路管理器處理可以保持多個分類的優(yōu)先次序分組消息隊列。
這樣,目的地實體標識字段可以由鏈路管理器使用,以確定任何輸入分組應該放置在哪個隊列。使用分組目的地字段以確定相關的隊列,鏈路管理器可以隨后使用先前描述的方式以將該分組放置在隊列中并且隨后提供它或丟棄它。應該理解一旦鏈路管理器支持多個用戶、以及由此的多個優(yōu)先次序分類的分組隊列,它將需要在這些隊列之間循環(huán),允許在它們每一個的處理時間發(fā)送來自它們隊列最前面的任何分組,到它們用戶的鏈路可以及時地在該時刻傳遞。
圖12說明根據(jù)本發(fā)明的第四個實施例。
每個用戶1200、1202、1204被認為是單個接收實體1206,具有駐留在它上面的零個或多個發(fā)送實體1208。所有的用戶連接到鏈路管理器1210。每個用戶1200、1202、1204可以產(chǎn)生來自任何它的發(fā)送實體的任何數(shù)量的更新,并且將這些交給任何其他用戶接收實體。每個更新被發(fā)送到鏈路管理器1210,它具有將輸入更新分配給相關的用戶1200、1202、1204的任務。因為任何單個用戶1200、1202、1204可以接收來自許多其他用戶1200、1202、1204的更新,輸入端數(shù)類型問題產(chǎn)生,因此每個用戶僅僅產(chǎn)生有限數(shù)量的更新,但特定的用戶正在發(fā)送比它們網(wǎng)絡連接允許帶寬更大數(shù)量的更新。
為了有效地處理這個問題,鏈路管理器1210保持對于每個用戶的優(yōu)先次序分類的隊列1212、1214、1216,這個隊列1212、1214、1216以鏈路管理器對于用戶鏈路可以支持的帶寬向下騰空用于用戶1200、1202、1204。使用先前描述的周期性優(yōu)先次序方案來管理這些隊列1212、1214、1216,因此隨著每次更新的產(chǎn)生由用戶對每個更新分配一個優(yōu)先次序,以及激活時間或有效負載類型。因此,如果任何用戶比它的鏈路帶寬允許接收的被發(fā)送更多的更新,鏈路管理器將起作用,以確保在接收更新的周期中產(chǎn)生適當?shù)慕导墶?br> 這種方法假設從用戶到鏈路管理器產(chǎn)生的上行業(yè)務量將不會超過可利用的鏈路帶寬,即該用戶能夠調(diào)節(jié)由發(fā)送實體產(chǎn)生的更新周期,以確保在任何單個時間周期產(chǎn)生的總業(yè)務量保持在它能夠在該相同周期內(nèi)傳送的最大量以下。如果不是這種情況,則在鏈路管理器使用的相同的方案可以用于用戶,即采用優(yōu)先次序分類的隊列、以鏈路帶寬允許的速率從它最前面發(fā)送的消息、用于限制隊列大小并且防止消息重新排序的激活時間或數(shù)據(jù)組合方法。
在這個實現(xiàn)中,每個消息將經(jīng)過多到兩個隊列傳遞,一個在離開用戶之前,一個在鏈路管理器等待提供給用戶。注意如果使用具有這個雙排隊方案的激活時間的方法,消息中激活時間必須在消息被發(fā)送之前正確地調(diào)節(jié)。例如,如果在t=0產(chǎn)生具有20個TTL的消息,并且保留在用戶一側(cè)隊列5個時間周期,則它應該被發(fā)送到具有15個TTL的鏈路管理器(即最初的TTL減去在隊列里花費的時間)。
盡管上面的實施例已經(jīng)說明了通過源將優(yōu)先次序標記分配給每個分組消息的技術,但并不總是這種情況。只要由源傳送的分組消息的序列次序被保留(例如,一個序列次序字段),優(yōu)先次序標記的分配可以完成源的下行。的確,假定優(yōu)先次序標記被分配用于決定將接收的分組消息分類到分組消息隊列的哪個部分,如上面在兩個步驟完成的,分類算法(使用如上的周期性標記序列技術并且了解來自給定源的給定接收分組消息的序列位置)可以用于將接收的分組消息分類到隊列的相同部分,具有適當?shù)膬?yōu)先次序標記的分配和基于優(yōu)先次序分類到隊列。
權利要求
1.分組消息源包括用于在分組消息序列的每個分組消息中包括相應的分組消息有效負載的裝置;用于根據(jù)這種標記的預定周期性序列將優(yōu)先次序標記與所述序列的每個連續(xù)的分組消息相聯(lián)系的裝置;所述優(yōu)先次序標記的每一個表示若干個優(yōu)先次序級別中的一個和周期性序列中每個標記的位置,使得該標記和具有相等或較高優(yōu)先次序的最近標記之間的連續(xù)的較低優(yōu)先次序的數(shù)字實際上是最大的;以及用于發(fā)送這種分組消息的裝置。
2.如權利要求1所述的分組消息源,其中所述分組消息源具有相關的動態(tài)狀態(tài),并且所述相應的分組消息有效負載包括源狀態(tài)更新消息。
3.如權利要求1或2所述的分組消息源還包括用于將激活時間設置與每個分組消息相聯(lián)系的裝置。
4.如權利要求1到3中任何一個所述的分組消息源還包括用于將分組消息源標識與每個分組消息相聯(lián)系的裝置;以及用于將分組消息有效負載類型設置與每個分組消息相聯(lián)系的裝置。
5.分組通知系統(tǒng)包括如權利要求1到4中任何一個所述的若干個分組消息源,以及通訊鏈路接口;所述通訊鏈路接口包括用于從所述若干個分組消息源接收分組消息的輸入端口;用于讀出與每個接收的分組消息相聯(lián)系的優(yōu)先次序標記的裝置;用于按照它們相關的優(yōu)先次序標記的次序?qū)⒔邮盏姆纸M消息排隊的隊列;以及用于發(fā)送在所述隊列最前面的每個分組消息到通訊鏈路的輸出端口。
6.如權利要求5所述的分組通知系統(tǒng),其中根據(jù)權利要求3,所述通訊鏈路接口還包括用于讀出與每個接收的分組消息有關的分組消息激活時間設置的裝置;用于與每個相應的分組消息相關、表示分組消息已經(jīng)排隊的時間周期的裝置;以及用于放棄每個分組消息的裝置,該消息的相關表示說明該分組消息排隊的時間周期已經(jīng)大于相關的分組消息激活時間設置。
7.如權利要求5所述的分組通知系統(tǒng),其中根據(jù)權利要求3,所述通訊鏈路接口還包括時鐘;以及用于將從分組消息讀出的激活時間設置加上接收分組的本地時間產(chǎn)生的調(diào)節(jié)的激活時間設置代替與每個分組消息相關的分組消息激活時間設置的裝置;用于將時間周期的表示與每個分組消息相關的裝置與至少一個分組消息相關,從每個所述分組消息讀出的所述調(diào)節(jié)的激活時間減去所述分組消息到達的本地時間的結(jié)果,使得用于丟棄每個分組消息的裝置被這樣安排,如果所述相關的總和小于或等于零則丟棄分組消息。
8.如權利要求5所述的分組通知系統(tǒng),其中根據(jù)權利要求4,所述通訊鏈路接口還包括用于從每個接收的分組消息讀出分組消息源標識的裝置;用于讀出與每個接收的分組消息相關的分組消息有效負載類型設置的裝置;用于對排隊的分組消息測試分組消息隊列的裝置,該分組消息具有匹配于接收的分組消息的相關源標識;用于讀出與匹配的排隊分組消息相關的優(yōu)先次序標記的裝置;用于根據(jù)優(yōu)先次序標記,將代替匹配的接收和排隊的分組消息的分組消息分類到隊列的裝置,具有匹配的接收和排隊的分組消息的相關源標識,接收的分組消息的有效負載以及無論哪個匹配的接收和排隊的分組消息的相關優(yōu)先次序標記表示較高的優(yōu)先次序。
9.分組通知系統(tǒng)包括若干個分組消息源,每個包括用于在分組消息序列的每個分組消息中包括相應的分組消息有效負載的裝置;以及用于發(fā)送這樣的分組消息的裝置;以及通訊鏈路接口包括用于從所述若干個分組消息源接收分組消息的輸入端口;根據(jù)相應分配的優(yōu)先次序標記將分組消息排隊的隊列;考慮所述若干個分組消息源每一個的所述序列,根據(jù)這種標記的預定周期性序列已經(jīng)分配所述優(yōu)先次序標記;所述優(yōu)先次序標記的每一個表示若干個優(yōu)先次序級別中的一個和周期性序列中每個標記的位置,使得它和相等或較高優(yōu)先次序的最近標記之間的連續(xù)較低優(yōu)先次序標記的數(shù)字實際上是最大的;以及發(fā)送所述隊列最前面的每個分組消息到通訊鏈路的輸出端口。
10.分組通知的方法包括在分組消息序列的每個分組消息中包括相應的分組消息有效負載;根據(jù)這種標記的預定周期性序列,將優(yōu)先次序標記與所述序列的每個連續(xù)的分組消息相關;所述優(yōu)先次序標記的每一個表示若干個優(yōu)先次序級別中的一個和周期性序列中每個標記的位置,使得所述標記和相等或較高優(yōu)先次序的最近標記之間的連續(xù)較低優(yōu)先次序標記的數(shù)字實際上是最大的;以及發(fā)送這樣的分組消息。
11.一種操作包括若干個分組消息源和通訊鏈路接口的分組通知系統(tǒng)的方法,所述方法包括根據(jù)這種標記的預定周期性序列,考慮分組消息源中每一個的最初序列,將優(yōu)先次序的標記分配給連續(xù)的分組;所述優(yōu)先次序標記的每一個表示若干個優(yōu)先次序級別中的一個和周期性序列中每個標記的位置,使得它和相等或較高優(yōu)先次序之間的連續(xù)較低優(yōu)先次序標記的數(shù)字實際上是最大的;根據(jù)在所述通訊鏈路接口相應分配的優(yōu)先次序標記將所述分組消息在隊列中排隊;以及發(fā)送所述隊列最前面的每個分組消息到通訊鏈路。
12.計算機可讀存儲介質(zhì),所述介質(zhì)包括讀入計算機并且可以由所述計算機執(zhí)行的計算機可讀代碼,用于完成權利要求10或11所述的方法。
13.用于管理鏈路上分組消息的發(fā)送的鏈路管理器;由若干個分組消息源產(chǎn)生的分組消息;每個分組消息源具有相關的狀態(tài);每個分組消息包括在n到m范圍中相關的分組消息優(yōu)先次序設置和分組消息源狀態(tài)更新;每個分組消息周期性地通過所述優(yōu)先次序設置范圍的每個優(yōu)先次序設置,由m-n+1個分組消息的源發(fā)送序列發(fā)送,使得根據(jù)優(yōu)先次序從序列逐個丟棄分組消息,該序列剩余的分組消息盡可能均勻地間隔;鏈路管理器包括至少一個分組消息輸入端口,用于接收這樣的分組消息;用于讀出與每個這樣接收的分組消息相關的優(yōu)先次序設置的裝置;用于根據(jù)與每個這樣接收的分組消息有關的優(yōu)先次序設置,將每個這樣接收的分組消息分類到分組消息隊列的裝置;用于測試鏈路是否有足夠容量以發(fā)送在隊列最前面的分組消息的裝置;以及用于當鏈路具有足夠的容量時,經(jīng)過至少一個輸出端口發(fā)送在隊列最前面的分組消息到鏈路的裝置。
14.一種發(fā)送來自鏈路上若干個源的分組消息的管理方法;分組消息由若干個分組消息源產(chǎn)生;每個分組消息源具有相關的狀態(tài);每個分組消息包括在n到m范圍的相關的分組消息優(yōu)先次序設置和分組消息源狀態(tài)更新;每個分組消息周期性地通過所述優(yōu)先次序設置范圍的每個優(yōu)先次序設置,由m-n+1個分組消息的源發(fā)送序列發(fā)送,使得根據(jù)優(yōu)先次序從序列逐個丟棄分組消息,該序列剩余的分組消息盡可能均勻地間隔;該方法包括接收在鏈路管理器至少一個輸入端口的這種分組消息;讀出與每個這樣接收的分組消息有關的優(yōu)先次序設置;根據(jù)與每個這樣接收的分組消息相關的優(yōu)先次序設置,將每個這樣接收的分組消息分類到分組消息隊列;以及經(jīng)過鏈路管理器至少一個輸出端口,發(fā)送在隊列最前面的分組消息到鏈路。
全文摘要
根據(jù)本發(fā)明,分組消息序列的每個分組消息根據(jù)這樣標記的預定周期性序列,以相關的分組消息優(yōu)先次序標記發(fā)送。這些優(yōu)先次序標記的每一個表示若干個優(yōu)先次序級別中的一個和周期性序列中每個標記的位置,使得該標記和相等或較高優(yōu)先次序的最近標記之間的連續(xù)較低優(yōu)先次序的數(shù)字實際上是最大的。這樣,如果由于阻塞根據(jù)優(yōu)先次序從序列中丟棄分組消息,根據(jù)本發(fā)明的分組通知方法和設備確保,只要可能,有規(guī)律的更新分組消息將仍然從所有的分組消息源接收。
文檔編號H04L29/06GK1345503SQ0080585
公開日2002年4月17日 申請日期2000年3月24日 優(yōu)先權日1999年3月31日
發(fā)明者西蒙·尤里安·鮑爾斯, 邁克爾·勒登·海因絲 申請人:英國電訊有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
镇康县| 栖霞市| 阿尔山市| 扎鲁特旗| 曲松县| 基隆市| 大连市| 宣汉县| 青铜峡市| 嵩明县| 巴中市| 宽甸| 湛江市| 宜宾市| 沿河| 南平市| 县级市| 永嘉县| 安阳县| 扬中市| 广河县| 大关县| 宣汉县| 云林县| 镇平县| 多伦县| 孟连| 缙云县| 大庆市| 衡山县| 大竹县| 隆子县| 天峻县| 彰武县| 安新县| 绍兴市| 遵义市| 登封市| 蕉岭县| 波密县| 连南|