專利名稱:負載分散方法、節(jié)點和控制程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種在兩個節(jié)點之間使用多個通信通道的通信系統(tǒng)。特別地,本發(fā)明涉及一種利用發(fā)送節(jié)點在通道之間分散負載的技術(shù)。
背景技術(shù):
在兩個節(jié)點之間的多條通道中,發(fā)送端將流量分散地輸入不同的通道,接收端從不同的通道將流量重新整合。這樣,原則上可以得到比使用單一通道的情形下更高的發(fā)送速率。這種機制涉及到一種將不同的通道聯(lián)合起來構(gòu)建一個邏輯通道的技術(shù)。典型地,比如已知的反轉(zhuǎn)多路(Multiplexing)技術(shù),該技術(shù)被用來根據(jù)多個低速率連接獲得一個邏輯寬帶線路。在數(shù)據(jù)通信中的應(yīng)用有ATM線路的多路復(fù)用和點對點連接的多路復(fù)用協(xié)議Multilink PPP。
在流量分散方案中,典型的例如將多個通道聯(lián)合形成一個邏輯通道的反轉(zhuǎn)多路技術(shù)中,將分組或者片段依次輸入不同通道的輪叫方案(round robin scheme)被廣泛采用(參見非專利文檔1)。這種方法在每一個通道中的速率幾乎相同并保持穩(wěn)定的時候是有效的。但問題是當(dāng)通道之間的速率不平衡的時候,發(fā)送速率就會被限制為與速率最低的通道相同。
為了解決這一問題,加權(quán)輪叫方案根據(jù)速率來控制每條通道的使用頻率。輪叫被安裝在與聯(lián)合多個通道形成一個邏輯通道的技術(shù)對應(yīng)的路由器產(chǎn)品上。Cisco制造的產(chǎn)品中采用了實現(xiàn)優(yōu)化負載分散的方法,該方法對輸入分組進行散列算法(hashing)以便決定輸出通道。各公司所發(fā)布的文檔中描述了這一系列信息(例如非專利文檔2)。
所有以上提到的已知技術(shù)都假定每個通道只由一條電纜鏈路組成。
在這種聯(lián)合多個通道構(gòu)建一個邏輯通道的技術(shù)中,有人提議包含無線連接的通道。在此提議方案中,輸入分組被分成片段以便將它們分派到每個通道上去,每個片段大小的比例只根據(jù)每個發(fā)送通道的速率而變化(例如非專利文檔3和專利文檔6)。
在多通道選擇通信系統(tǒng)中,如下技術(shù)被提出來監(jiān)視每個通道的狀態(tài)并根據(jù)通道狀態(tài)或延遲時間來選擇一個通道。(例如,參見專利文檔1,專利文檔2,專利文檔3,專利文檔4和專利文檔5)。
專利文檔1日本申請?zhí)亻_2000-49862專利文檔2日本申請?zhí)亻_2001-308917專利文檔3日本申請?zhí)亻_2001-333100專利文檔4日本申請?zhí)亻_2002-176441專利文檔5日本申請?zhí)亻_昭58-27449專利文檔6日本申請?zhí)亻_2000-216815非專利文檔1″Striping Within the Network Subsystem″,IEEENetwork.1995年7/8月非專利文檔2Cisco系統(tǒng)公司″Load Balancing with Cisco ExpressForwarding″,Cisco應(yīng)用說明,1998年1月。
非專利文檔3″Adaptive Inverse Multiplexing for Wide-AreaWireless Networks″,Snoeren等,Proceedings of IEEE GlobeCom,1999年12月。
本發(fā)明解決的問題傳統(tǒng)技術(shù)中當(dāng)兩個節(jié)點之間的通道存在無線連接時,發(fā)送節(jié)點查詢每個通道的速度或延遲并作為發(fā)送通道遴選的選擇標(biāo)準(zhǔn)。但是,由于包含動態(tài)地改變速率或延遲的無線連接的通道容易累積通道狀態(tài)的測量誤差,因此很難精確地預(yù)測被發(fā)送的分組到達接收端的時間或者接收完成時間。結(jié)果是當(dāng)根據(jù)預(yù)測的結(jié)果來進行通道選擇的時候,實際上會選中一個速率顯著降低的通道。這樣導(dǎo)致的問題是多路效率降低。
在圖8中說明預(yù)測發(fā)送分組的到達時間或接收完成時間的傳統(tǒng)技術(shù)。
參見圖8,數(shù)字700-1,700-2,700-3分別表示數(shù)據(jù)分組。在時間軸上表示出發(fā)送節(jié)點中的分組發(fā)送歷史(實線)、接收節(jié)點中的分組接收歷史(實線)、關(guān)于分組到達時間和接收完成時間的預(yù)測(點線)。
首先,對于實際的分組發(fā)送和接收,發(fā)送節(jié)點在時間T1開始發(fā)送數(shù)據(jù)分組700-1,在時間T2完成發(fā)送操作。接收節(jié)點在時間T3開始接收分組700-1,在時間T5完成接收。
然后,發(fā)送節(jié)點在時間T4開始發(fā)送數(shù)據(jù)分組700-2,在時間T7結(jié)束發(fā)送。由于通信速率降低,接收節(jié)點在時間T6開始接收數(shù)據(jù)分組700-2,在時間T11結(jié)束接收。
此外,發(fā)送節(jié)點在時間T8開始發(fā)送數(shù)據(jù)分組700-3,在時間T9結(jié)束發(fā)送。接收節(jié)點在時間T12開始接收分組700-3,在時間T13完成接收。
比較起來,傳統(tǒng)技術(shù)中基于通道狀態(tài)信息——例如接收節(jié)點在完成數(shù)據(jù)分組700-1的接收后發(fā)布的發(fā)送速率——來預(yù)測分組到達和接收完成時間。
參考圖8,發(fā)送節(jié)點在例如時間TX收到來自接收節(jié)點的通道狀態(tài)信息。為了預(yù)測數(shù)據(jù)分組700-3的到達時間和完成接收時間,發(fā)送節(jié)點使用了在時間TX收到的通道狀態(tài)信息。結(jié)果是發(fā)送端知道了發(fā)送延遲I1,將數(shù)據(jù)分組700-3的發(fā)送時間T8加上發(fā)送延遲I1的T10預(yù)測為數(shù)據(jù)分組700-3的到達時間。
但是數(shù)據(jù)分組700-3實際到達的時間是T12,與預(yù)測到達時間T10相比,產(chǎn)生了一個裕量時間誤差I(lǐng)D。
預(yù)測時間和實際時間的巨大誤差導(dǎo)致了錯誤的通道選擇,從而導(dǎo)致多路效率的降低。
如果可以實時獲得預(yù)測時間的通道狀態(tài)并在發(fā)送時間上反映出來,就可以解決以上問題。但是實際上實時接收和發(fā)送當(dāng)前通道狀態(tài)是不可能的。
本發(fā)明是考慮以上提到的問題而作出的。本發(fā)明的一個目的是提供一種將從接收端獲得的通道狀態(tài)反映到過去發(fā)送的數(shù)據(jù)中并預(yù)測數(shù)據(jù)真實抵達時間、或接近完成發(fā)送時間的抵達時間、或完成發(fā)送時間的技術(shù)。
本發(fā)明的另一目的是提供一種具有優(yōu)異的多路效率的技術(shù)。在該技術(shù)中,當(dāng)兩個節(jié)點之間可以選擇多個通道來發(fā)送數(shù)據(jù)時,從接收端獲得的通道狀態(tài)被反映到先前發(fā)送的數(shù)據(jù)中。預(yù)測實際數(shù)據(jù)到達時間、或者接近完成發(fā)送時間的到達時間、或者完成發(fā)送時間,并根據(jù)該預(yù)測進行通道選擇。
本發(fā)明另一個更進一步的目的是提供一種技術(shù),在兩個節(jié)點間發(fā)送數(shù)據(jù)有多個通道可供選擇,分組來回延遲與時間常數(shù)相比不可忽略,每一個通道的性能動態(tài)變化時,能夠有效地利用通道資源。
問題的解決辦法本發(fā)明是為解決以上問題而作出的。本發(fā)明的第一個方面是一種負載分散方法,其特征在于,對于每一個輸入到發(fā)送節(jié)點的分組,在有多路通信通道可供選擇的2個節(jié)點之間,基于以下信息進行通道選擇或者通道選擇優(yōu)先級更新,所述信息為可選擇通道的通道狀態(tài)信息;關(guān)于上述通道狀態(tài)信息何時生效或者關(guān)于已發(fā)送的分組的標(biāo)識信息;以及在上述通道狀態(tài)信息生效的時間之后的發(fā)送歷史或者由已發(fā)送的分組的標(biāo)識信息確定的分組的發(fā)送后的發(fā)送歷史方面的信息。
本發(fā)明的第二個方面是一種負載分散方法,其特征在于,包括以下步驟對于每一個輸入到發(fā)送節(jié)點的分組,在有多路通信通道可供選擇的2個節(jié)點之間,監(jiān)視各路可選通道的通道狀態(tài),儲存關(guān)于該通道狀態(tài)的通道狀態(tài)信息、上述通道狀態(tài)信息生效的時間或者分組標(biāo)識信息;基于通道狀態(tài)信息、在上述通道狀態(tài)信息生效的時間之后的分組發(fā)送歷史或者上述已發(fā)送分組的標(biāo)識信息確定的分組被發(fā)送之后的分組的發(fā)送歷史,估算各路通道中分組預(yù)測到達時間;并且,基于上述估算的預(yù)測到達時間更新通道選擇或者選擇優(yōu)先級。
本發(fā)明的負載分散方法中,上述通道狀態(tài)信息包含通道的延遲。
本發(fā)明的負載分散方法中,上述通道狀態(tài)信息包含通道的發(fā)送速率。
本發(fā)明的負載分散方法中,上述通道狀態(tài)信息包含通道的負載。
本發(fā)明中的負載分散方法中進一步包含了以下步驟當(dāng)因為通道選擇或選擇優(yōu)先級的更新通道狀態(tài)信息被更新時,對各路通道狀態(tài)信息更新前被發(fā)送的分組的發(fā)送成本計算結(jié)果進行修正。
本發(fā)明的負載分散方法中進一步包含以下步驟當(dāng)各路通道的發(fā)送成本計算結(jié)果被修正時,舍棄在最新的通道狀態(tài)信息生效時或者生效后已發(fā)送的第一個分組以前的歷史。
本發(fā)明的負載分散方法中進一步包含了以下步驟選擇在接收節(jié)點估算的接收完成時間為最早的通道作為分組發(fā)送通道。
本發(fā)明的負載分散方法中進一步包含以下步驟選擇在接收節(jié)點到特定時間為止能完成接收的數(shù)據(jù)量的估算值最大的通道作為分組發(fā)送通道。
本發(fā)明的負載分散方法中進一步對各路通道根據(jù)估算的當(dāng)前通道狀態(tài)中斷數(shù)據(jù)發(fā)送。
本發(fā)明的負載分散方法中,上述數(shù)據(jù)發(fā)送中斷的條件是估算的接收完成時間等于或大于某個具體值。
在本發(fā)明的負載分散方法中,通道選擇或發(fā)送中斷的判斷是按照因發(fā)送數(shù)據(jù)的各種屬性而異的策略來決定的。
本發(fā)明的負載分散方法中進一步包含了以下步驟從一張將通信接口的地址和用上述的通信接口可以到達的目標(biāo)地址聯(lián)系起來的表中選擇與接收分組的目標(biāo)地址相對應(yīng)的通信接口,當(dāng)上述接收分組中存在用來指定發(fā)送源地址或通信接口的信息時,從上述選定的多個通信接口中選擇與上述發(fā)送源地址或通信接口相對應(yīng)的通信接口;當(dāng)上述接收分組中不存在發(fā)送源地址或通信接口信息時,從上述選定的多個通信接口中選擇任意一個通信接口;然后向所選定的通信接口發(fā)送上述接收分組。
本發(fā)明另一方面是能夠選擇多路分組發(fā)送通道的節(jié)點,具備對于每一個被輸入的分組,基于以下信息進行通道選擇或者通道選擇優(yōu)先級更新的單元,所述信息為各路可選擇通道的通道狀態(tài)信息;關(guān)于上述通道狀態(tài)信息何時生效或者關(guān)于已發(fā)送的分組的標(biāo)識信息;以及在上述通道狀態(tài)信息生效的時間之后的發(fā)送歷史或者由已發(fā)送的分組的標(biāo)識信息確定的分組的發(fā)送后的發(fā)送歷史方面的信息。
能夠選擇多路分組發(fā)送通道的節(jié)點,具備監(jiān)視單元,對于每一個輸入到發(fā)送節(jié)點的分組,監(jiān)視各路可選通道的通道狀態(tài),并監(jiān)視關(guān)于通道狀態(tài)的通道狀態(tài)信息以及該通道狀態(tài)信息的生效時間或分組的標(biāo)識信息;存儲單元,存儲上述通道狀態(tài)信息和在上述通道狀態(tài)信息生效后的可用分組發(fā)送歷史;調(diào)度單元,基于上述通道狀態(tài)信息和上述通道狀態(tài)信息生效后的分組發(fā)送歷史,估算各通道中分組的預(yù)測到達時間,并且基于上述估算的預(yù)測到達時間更新通道選擇或選擇優(yōu)先級。
在本發(fā)明的節(jié)點中,上述通道狀態(tài)信息包含通道的延遲。
在本發(fā)明的節(jié)點中,上述通道狀態(tài)信息包含通道的發(fā)送速率。
在本發(fā)明的節(jié)點中,上述通道狀態(tài)信息包含通道的負載。
在本發(fā)明的節(jié)點中,當(dāng)更新通道選擇或選擇優(yōu)先級各路通道狀態(tài)信息被更新時,上述調(diào)度單元對更新前被發(fā)送的分組的發(fā)送成本計算結(jié)果進行修正。
在本發(fā)明的節(jié)點中,當(dāng)各路通道的發(fā)送成本計算結(jié)果被修正時,上述調(diào)度手段舍棄使最新的通道狀態(tài)信息生效的第一個已發(fā)送分組以前的歷史。
本發(fā)明的節(jié)點中,上述調(diào)度單元選擇在接收節(jié)點估算的接收完成時間為最早的通道作為分組發(fā)送通道。
在本發(fā)明的節(jié)點中,上述調(diào)度單元選擇在接收節(jié)點到特定時間為止能完成接收的數(shù)據(jù)量的估算值最大的通道作為分組發(fā)送通道。
在本發(fā)明的節(jié)點中,上述調(diào)度單元對各路通道根據(jù)估算的當(dāng)前通道狀態(tài)中斷數(shù)據(jù)發(fā)送。
在本發(fā)明的節(jié)點中,上述數(shù)據(jù)發(fā)送中斷的條件是估算的接收完成時間等于或大于某個具體值。
在本發(fā)明的節(jié)點中,上述調(diào)度單元按照因發(fā)送數(shù)據(jù)的各種屬性而異的策略來進行通道選擇或發(fā)送中斷的判斷。
本發(fā)明的節(jié)點進一步包含一張將通信接口的地址和用上述的通信接口可以到達的目標(biāo)地址聯(lián)系起來的表;和路由單元,從上述表中選擇與發(fā)送分組的目標(biāo)地址相對應(yīng)的通信接口,當(dāng)上述發(fā)送分組中存在用來指定發(fā)送源地址或通信接口的信息時,從上述選定的多個通信接口中選擇與上述發(fā)送源地址或通信接口相對應(yīng)的通信接口;向所選定的通信接口發(fā)送上述發(fā)送分組。
本發(fā)明的另一方面是應(yīng)用于可以選擇多路分組發(fā)送通道的節(jié)點的節(jié)點控制程序,上述控制程序使節(jié)點發(fā)揮基于以下信息對每一個輸入分組更新通道選擇或選擇優(yōu)先級的單元的功能,所述信息為每路可選擇通道的通道狀態(tài)信息;關(guān)于上述通道狀態(tài)信息生效的時間或已發(fā)送分組的標(biāo)識信息;以及上述通道狀態(tài)信息生效的時間之后的發(fā)送歷史或由已發(fā)送分組的標(biāo)識信息確定的分組發(fā)送后的發(fā)送歷史。
本發(fā)明的另一方面是應(yīng)用于可以選擇多路分組發(fā)送通道的節(jié)點的節(jié)點控制程序,上述節(jié)點控制程序控制節(jié)點作為監(jiān)視單元,對于每一個輸入到發(fā)送節(jié)點的分組,監(jiān)視各路可選通道的通道狀態(tài),并監(jiān)視關(guān)于通道狀態(tài)的通道狀態(tài)信息以及該通道狀態(tài)信息的生效時間或分組的標(biāo)識信息;和調(diào)度單元,基于上述通道狀態(tài)信息和上述通道狀態(tài)信息生效后的分組發(fā)送歷史,估算各通道中分組的預(yù)測到達時間,并且基于上述估算的預(yù)測到達時間更新通道選擇或選擇優(yōu)先級。
在本發(fā)明的節(jié)點控制程序中,上述通道狀態(tài)信息包含通道的延遲。
在本發(fā)明的節(jié)點控制程序中,上述通道狀態(tài)信息包含通道的發(fā)送速率。
在本發(fā)明的節(jié)點控制程序中,上述通道狀態(tài)信息包含通道的負載。
本發(fā)明中,節(jié)點控制程序進一步控制上述調(diào)度單元,當(dāng)在通道選擇或選擇優(yōu)先級的更新中各路通道的通道狀態(tài)信息被更新時,對與更新前被發(fā)送的分組相關(guān)的發(fā)送成本計算結(jié)果進行修正。
本發(fā)明的節(jié)點控制程序進一步控制上述調(diào)度單元,當(dāng)各路通道的發(fā)送成本計算結(jié)果被修正時,舍棄使最新的通道狀態(tài)信息生效的第一個已發(fā)送分組以前的歷史。
本發(fā)明的節(jié)點控制程序進一步控制上述調(diào)度單元,選擇在接收節(jié)點估算的接收完成時間為最早的通道作為分組發(fā)送通道。
本發(fā)明的節(jié)點控制程序進一步控制上述調(diào)度單元,選擇在接收節(jié)點到特定時間為止能完成接收的數(shù)據(jù)量的估算值最大的通道作為分組發(fā)送通道。
本發(fā)明的節(jié)點控制程序進一步控制上述調(diào)度單元,對各路通道根據(jù)估算的當(dāng)前通道狀態(tài)中斷數(shù)據(jù)發(fā)送。
在本發(fā)明的節(jié)點控制程序中,上述數(shù)據(jù)發(fā)送中斷的條件是估算的接收完成時間等于或大于某個具體值。
本發(fā)明的節(jié)點控制程序進一步控制上述調(diào)度單元,按照因發(fā)送數(shù)據(jù)的各種屬性而異的策略來進行通道選擇或發(fā)送中斷的判斷。
本發(fā)明的節(jié)點控制程序作為路由單元進行從一張將通訊接口的地址和用上述的通訊接口可以到達的目標(biāo)地址聯(lián)系起來的表中選擇與發(fā)送分組的目標(biāo)地址相對應(yīng)的通訊接口,當(dāng)上述發(fā)送分組中存在用來指定發(fā)送源地址或通訊接口的信息時,從上述選定的多個通訊接口中選擇與上述發(fā)送源地址或通訊接口相對應(yīng)的通信接口,向所選定的通訊接口發(fā)送上述發(fā)送分組。
本發(fā)明的另一方面是一種發(fā)送分組時間估算方法,其特征在于,是估算發(fā)送分組的到達時間或接收完成時間的發(fā)送分組時間估算方法,包含以下步驟添加識別分組的分組標(biāo)識信息到從上述發(fā)送節(jié)點發(fā)送的發(fā)送分組然后進行發(fā)送;在上述發(fā)送節(jié)點將已發(fā)送分組的發(fā)送歷史和分組標(biāo)識信息一起儲存起來;將關(guān)于通道狀態(tài)的信息以及在上述通道狀態(tài)下關(guān)于最新收到的分組的分組標(biāo)識信息一起從接收節(jié)點發(fā)送到發(fā)送節(jié)點;基于上述通道狀態(tài)和由包含在上述通道狀態(tài)的信息中的分組標(biāo)識信息確定的分組之后被發(fā)送的分組的發(fā)送歷史,在發(fā)送節(jié)點估算要發(fā)送的分組的到達時間或接收完成時間。
本發(fā)明的另一方面是一種節(jié)點,其特征在于,具備添加識別分組的分組標(biāo)識信息到發(fā)送分組并進行發(fā)送的單元;將已發(fā)送分組的發(fā)送歷史和分組標(biāo)識信息一起儲存起來的單元;和接收從接收側(cè)發(fā)送過來的通道狀態(tài)的信息,并基于上述通道狀態(tài)和使上述通道狀態(tài)生效的分組之后被發(fā)送的分組的發(fā)送歷史,估算要發(fā)送的分組的到達時間或接收完成時間的單元。
本發(fā)明的另一方面是一種節(jié)點控制程序,其特征在于,是發(fā)送分組的節(jié)點的控制程序,上述控制程序使上述節(jié)點成為添加識別分組的分組標(biāo)識信息到發(fā)送分組并進行發(fā)送的單元;將已發(fā)送分組的發(fā)送歷史和分組標(biāo)識信息一起儲存起來的單元;和接收從接收側(cè)發(fā)送過來的通道狀態(tài)的信息,并基于上述通道狀態(tài)和使上述通道狀態(tài)生效的分組之后被發(fā)送的分組的發(fā)送歷史,估算要發(fā)送的分組的到達時間或接收完成時間的單元。
本發(fā)明中,在數(shù)據(jù)(分組)被發(fā)送的時候存儲發(fā)送數(shù)據(jù)(分組)的發(fā)送歷史。發(fā)送歷史描述了例如用于識別發(fā)送數(shù)據(jù)(分組)的標(biāo)識符和開始發(fā)送的時間。接收端向發(fā)送端發(fā)送數(shù)據(jù)(分組)運送中所經(jīng)過的通道的狀態(tài)信息(例如速率或分組延遲)。通道狀態(tài)信息包含用于識別最新的數(shù)據(jù)(分組)的信息,通道狀態(tài)信息——例如上面描述過的數(shù)據(jù)(分組)的標(biāo)識符——被應(yīng)用在這些數(shù)據(jù)(分組)上。
發(fā)送端接收通道狀態(tài)信息。通過使用包含在通道狀態(tài)中用來識別數(shù)據(jù)(分組)的信息(例如標(biāo)識符),發(fā)送端參考發(fā)送歷史獲取使通道狀態(tài)生效的已發(fā)送數(shù)據(jù)(分組)。至于對已經(jīng)取得的數(shù)據(jù)(分組)隨后的數(shù)據(jù),通過應(yīng)用收到的通道狀態(tài)可以預(yù)測完成接收時間。此外,可以在預(yù)測和收到的狀態(tài)信息的基礎(chǔ)上預(yù)測每個通道中即將被發(fā)送數(shù)據(jù)的到達時間或完成接收時間。
在通道選擇中,在預(yù)測的數(shù)據(jù)到達時間或數(shù)據(jù)接收完成時間的基礎(chǔ)上選擇一個最優(yōu)通道,例如具有最早(快)到達時間的通道。
發(fā)明的效果根據(jù)本發(fā)明,從接收端獲得的通道狀態(tài)信息被應(yīng)用在該信息生效的之前發(fā)送的數(shù)據(jù)(分組)上。通過將該結(jié)果反應(yīng)到即將被發(fā)送的數(shù)據(jù)(分組),可以預(yù)測數(shù)據(jù)到達時間或完成接收時間。與傳統(tǒng)技術(shù)相比,這種方法預(yù)測的精度更高。原因是在傳統(tǒng)技術(shù)中,只將從接收端獲得的通道信息應(yīng)用在將被發(fā)送的數(shù)據(jù)(分組)上來預(yù)測到達時間或接收完成時間。
根據(jù)本發(fā)明,為了在都能選擇多個通道的兩個節(jié)點之間發(fā)送數(shù)據(jù),從接收端獲得的通道狀態(tài)數(shù)據(jù)被應(yīng)用到該信息生效的之前發(fā)送的數(shù)據(jù)上。其結(jié)果被反映到將被發(fā)送的數(shù)據(jù)的預(yù)測上,數(shù)據(jù)到達時間和完成接收時間被預(yù)測出來。由于通道選擇是在該預(yù)測的基礎(chǔ)上作出的,合適的通道被選出來,不會因為預(yù)測出錯而選擇錯誤的通道。這樣可以避免多路效率下降。
根據(jù)本發(fā)明,在都能選擇多個通道的兩個節(jié)點之間進行發(fā)送,即使每個通道的性能動態(tài)地變化,即使存在與時間常數(shù)相比不可忽略的比較大的返回延遲,通道資源也可以很好地被利用。
圖1是表示本發(fā)明的節(jié)點之間的通道的示意圖。
圖2是表示發(fā)送節(jié)點結(jié)構(gòu)的示意圖。
圖3是表示本發(fā)明的實施方式中說明發(fā)送節(jié)點上分組處理的時序和接收節(jié)點上的分組處理時序的示意圖。
圖4是表示實施方式的調(diào)度器操作流程圖。
圖5是表示本發(fā)明的另一實施方式中說明發(fā)送節(jié)點上分組處理的時序和接收節(jié)點上的分組處理時序的示意圖。
圖6是表示另一實施方式的調(diào)度器操作流程圖。
圖7是說明一實施方式發(fā)送節(jié)點上到達時間或完成接收時間的預(yù)測和接收節(jié)點上到達時間或完成接收時間的預(yù)測的示意圖。
圖8是描述了一種傳統(tǒng)技術(shù)的示意圖。
圖9是通信接口具有單獨IP地址的配置實例的示意圖。
圖10是表示圖9所示系統(tǒng)中發(fā)送節(jié)點100-2的內(nèi)部結(jié)構(gòu)的示意圖。
圖11是表示IP路由處理器1318的示意圖。
圖12是表示通道控制表1321的示意圖。
圖13是表示接口地址管理表1322的示意圖。
圖14表示了保存在存儲體315-2中的通道與通信接口的對應(yīng)表1330的一個實例。
圖15表示發(fā)送IP分組生成數(shù)據(jù)1510的結(jié)構(gòu)。
圖16表示傳輸IP分組1610的結(jié)構(gòu)。
圖17是發(fā)送接口判定/傳輸處理器1320關(guān)于發(fā)送接口決定的流程圖。
圖18是表示其他的發(fā)送IP分組生成數(shù)據(jù)的示意圖。
圖19是表示其他的發(fā)送IP分組的示意圖。
圖20是發(fā)送接口判定/傳輸處理器1320關(guān)于發(fā)送接口決定的流程圖。
圖21是說明通道控制表1321的項的示意圖。
符號說明10 數(shù)據(jù)生成節(jié)點11 目標(biāo)節(jié)點100 發(fā)送節(jié)點101 接收節(jié)點102 電纜網(wǎng)200 無線發(fā)射機201 無線接收器202 無線連接300 無線網(wǎng)絡(luò)310 通信接口
312 隊列段313 調(diào)度器314 通道狀態(tài)監(jiān)視器315 存儲器本發(fā)明最佳實施方式下面說明本發(fā)明的一種最佳實施方式。
假定本發(fā)明是應(yīng)用在將多個通道聯(lián)合起來構(gòu)建一個邏輯通道的技術(shù)中,通道的速率和延遲動態(tài)變化,特別地,通道中包括無線連接。下面說明反轉(zhuǎn)多路技術(shù),作為一種通過聯(lián)合多個通道構(gòu)建單一邏輯通道技術(shù)的實例。
圖1表示本實施方法的結(jié)構(gòu)上的實例。
參考圖1,實現(xiàn)了反轉(zhuǎn)多路技術(shù)的發(fā)送節(jié)點100和接收節(jié)點101存在于數(shù)據(jù)生成節(jié)點10和目標(biāo)節(jié)點11之間的通道上。發(fā)送節(jié)點100和接收節(jié)點101之間有3條通道。無線連接202-1和202-3分別位于無線發(fā)送單元200-1到200-3和無線接收單元201-1到201-3之間的通道上。圖1表示了3條通道,但也可以配備兩條或者更多。發(fā)送節(jié)點和接收節(jié)點之間的所有通道都可以由無線連接構(gòu)成。然而,通道中通常包括電纜網(wǎng)102。通常每個無線連接屬于一個不同的無線網(wǎng)絡(luò)300。本例中通道202-1、202-2屬于蜂窩網(wǎng)絡(luò)300-1,無線網(wǎng)絡(luò)300-2是無線局域網(wǎng)。
在圖1的系統(tǒng)中,發(fā)送節(jié)點100基于狀態(tài)信息將數(shù)據(jù)生成節(jié)點10收到的流量分散到各自的通道。接收節(jié)點101將從發(fā)送節(jié)點100經(jīng)過各自通道發(fā)送過來的流量重新整合并將結(jié)果發(fā)送到目標(biāo)節(jié)點11上。
發(fā)送節(jié)點100的內(nèi)部結(jié)構(gòu)表示在圖2中。
通信接口310-1接收從數(shù)據(jù)生成節(jié)點10發(fā)送過來發(fā)往目標(biāo)節(jié)點11的流量。反轉(zhuǎn)多路連接中發(fā)送端通信接口310-2或310-3通過隊列單元312和調(diào)度器313發(fā)送流量。在某些情形中多路連接共享靠近發(fā)送節(jié)點的物理連接。因此構(gòu)成反轉(zhuǎn)多路連接的通道不需要逐個與通信接口對應(yīng)。
調(diào)度器313從隊列單元312中取出輸入數(shù)據(jù)送往特定通道。為發(fā)送所獲得的數(shù)據(jù)的通道選擇是參考由通道狀態(tài)監(jiān)視器314管理的通道狀態(tài)來實現(xiàn)的。通道狀態(tài)監(jiān)視器314通過通信接口310-2或310-3從接收節(jié)點101間歇接收每個通道的狀態(tài)信息和用來表示可以使更新生效的發(fā)送分組的信息(下面提到時稱之為報告)。在此基礎(chǔ)上通道狀態(tài)監(jiān)視器314更新存儲在存儲器315中的通道狀態(tài)信息。
通道狀態(tài)信息通常描述關(guān)于通信性能的通信性能指標(biāo)上的信息。本實施方式中使用通道狀態(tài)信息中的通道速率和分組延遲。通道狀態(tài)信息的生效時間并不意味著發(fā)送節(jié)點中通道狀態(tài)信息的更新,而是意味著通道成為由通道狀態(tài)信息顯示出來的通道狀態(tài)的時間,或者在該通道狀態(tài)中由被傳送的分組確定的時間。因此通道狀態(tài)信息的有效時間后的發(fā)送歷史意味著通道狀態(tài)信息的有效時間之后的被發(fā)送分組的發(fā)送歷史。該時間是基于本來是用于時間測量的分組信息(識別分組的標(biāo)識符)或基于從接收節(jié)點發(fā)送過來的接收時間獲得的。然而可能多少有些變化。多種在接收節(jié)點測量速率和延遲來獲得通道狀態(tài)信息的方法已經(jīng)被提了出來。下面描述本實施方式設(shè)想的方法。
發(fā)送節(jié)點100在每個發(fā)送到接收節(jié)點101的分組上插入標(biāo)識符和發(fā)送時間,然后進行發(fā)送。接收節(jié)點通過比較自己接收到分組的時間和發(fā)送節(jié)點插入的時間來測量分組延遲。發(fā)送節(jié)點周期性的發(fā)送一串用于測量的分組,接收節(jié)點在到達時間變化的基礎(chǔ)上估算速率。在例如Dovrolis,Ramanathan和Moore在2001年的IEEE INFOCOM會議上所寫的″What Do Packet Dispersion Techniques Measure?″中透露了這一估算方法。在Dovrolis等人的文章中,發(fā)送節(jié)點同時發(fā)送兩個分組,并且發(fā)送側(cè)在兩個分組到達時間的差值的基礎(chǔ)上估算連接速率。發(fā)送延遲導(dǎo)致分組到達有時間間隔。因為發(fā)送延遲和連接速率有關(guān),速率可以從到達時間間隔中估算出來。
接收節(jié)點101將這些測量值作為通道狀態(tài)信息周期性發(fā)送到發(fā)送節(jié)點100。同時接收節(jié)點101發(fā)送至此時為止接到的最新的分組標(biāo)識符作為使要發(fā)送的狀態(tài)信息生效的分組的標(biāo)識信息。發(fā)送節(jié)點接收作為報告的這些信息的集合。此系統(tǒng)作為例示。實施這一發(fā)明的可能性并不取決于決定和發(fā)送通道狀態(tài)信息和使該通道狀態(tài)信息生效的分組的方法。
對于下一個將被發(fā)送的分組,調(diào)度器313按每個發(fā)送通道參照當(dāng)前通道信息及使該信息生效的分組發(fā)送時之后的發(fā)送歷史。由此,調(diào)度器313預(yù)測分組到達接收節(jié)點101的延遲時間。發(fā)送歷史被保存在存儲器315中。對于下一個將被發(fā)送的分組,調(diào)度器313選擇具有預(yù)測出的最小到達延遲時間的通道作為發(fā)送通道,在分組被發(fā)送到選定的通道之后,將發(fā)送時間添加到存儲器315中的發(fā)送歷史里。
圖3闡述了一種調(diào)度器313操作的每條通道的到達延遲估算方法。圖3中數(shù)字400-1、400-2、或400-3表示數(shù)據(jù)分組。時間軸上分別表示了發(fā)送節(jié)點100中發(fā)送歷史和預(yù)測值以及接收節(jié)點101中的接收歷史和預(yù)測值。例如,發(fā)送節(jié)點在時間T1開始發(fā)送數(shù)據(jù)分組400-1,在時間T2結(jié)束發(fā)送操作。此外接收節(jié)點在時間T3開始接收分組400-1,在時間T4完成接收操作。時間T1和時間T3之間的差值I1相當(dāng)于發(fā)送延遲。時間T4和T2之間的差值12相當(dāng)于總延遲,總延遲是發(fā)送延遲I1再加上由于發(fā)送接口和發(fā)送通道的速率差別導(dǎo)致了分組離散的結(jié)果。
這里假定分組400-3是在時間軸上TP表示的當(dāng)前時間發(fā)送的。對于通道,由于在T5和TP之間收到了一個報告結(jié)果的通知,通道狀態(tài)信息被更新。通道狀態(tài)信息從分組400-1起生效。考慮到分組400-1和400-2,分組400-3的完成接收時間是基于在使通道狀態(tài)信息生效的分組(400-1,400-2)的發(fā)送歷史被估算出來的。
接收節(jié)點101中分組400-1之后發(fā)送的分組400-2的開始接收時間和完成接收時間是基于包含在當(dāng)前正在接收的通道狀態(tài)信息的速率和發(fā)送歷史估算出來的。圖3中估算的接收開始時間為T5,接收完成時間為T7。如果通道狀態(tài)信息中表示的延遲時間等于I1,則在TP開始發(fā)送的分組400-3應(yīng)該會在時間T6被接收。但是,假設(shè)接收節(jié)點還沒有完成接收分組400-2。因此分組的接收開始時間被假定為T7,此時分組400-2的接收結(jié)束。估算的分組400-3的接收完成時間成了T8,這其中已經(jīng)添加了從通道狀態(tài)信息中包含的通道速率估算出來的分組離散時間。類似地對每一條通道都估算分組400-3的接收完成時間。分組400-3被發(fā)送到能提供最快的接收時間的通道。
圖3所示用于在時間TP進行接收端到達時間估算的通道狀態(tài)信息會由于T5和TP之間的報告結(jié)果通知被更新。被發(fā)送的分組400-2的到達時間是在時間TP在舊的通道狀態(tài)信息的基礎(chǔ)上被估算的。假設(shè)舊的通道狀態(tài)信息為信息A,在T5和TP之間更新的新信息為信息B。如果由于連接狀態(tài)的變化引起信息A和B中包含的延遲和通道速率彼此不同的話,基于信息A作出的到達時間估算值和基于信息B作出的到達時間估算值也會不同,如圖3所示。這樣圖3中分組400-1的到達時間預(yù)測值和分組400-2的到達預(yù)測值反映了對從信息B獲得的結(jié)果的修正。一旦通道狀態(tài)信息被更新,先于使更新生效的分組的分組發(fā)送歷史被舍棄掉,因為不再需要它們作參考了。
此外下面通過參考圖7具體地說明本發(fā)明中分組到達時間估算和完成接收時間和傳統(tǒng)技術(shù)中分組到達時間估算和完成接收時間的差別。
參考圖7,數(shù)字500-1,500-2,或500-3表示將被發(fā)送的數(shù)據(jù)分組。發(fā)送節(jié)點中分組的發(fā)送歷史(用實線表示)和接收節(jié)點中實際的分組的接收歷史(用實線表示)分別在時間軸上被標(biāo)示出來。分組到達時間和接收完成時間的預(yù)測值(用點線表示)在時間軸上被標(biāo)示出來。圖7上面部分的曲線表示發(fā)送通道的速率變化。圖7表示發(fā)送速率隨時間滯后的狀態(tài)。
在實際的分組發(fā)送和接收中,發(fā)送節(jié)點首先在時間T1開始發(fā)送數(shù)據(jù)分組500-1,在時間T2結(jié)束發(fā)送。接收節(jié)點在時間T3開始接收分組500-1,在時間T5完成接收。
然后,發(fā)送節(jié)點在時間T4開始發(fā)送數(shù)據(jù)分組500-2,在時間T7結(jié)束發(fā)送。由于通信速率降低,接收節(jié)點在時間T7開始接收數(shù)據(jù)分組500-2,在時間T13結(jié)束接收。
然后,發(fā)送節(jié)點在時間T9開始發(fā)送數(shù)據(jù)分組500-3,在時間T10結(jié)束發(fā)送。接收節(jié)點在時間T14開始接收分組500-3,在時間T16完成接收。
下面說明借助于本發(fā)明在實際的分組發(fā)送和接收中對分組到達時間和接收完成時間的預(yù)測。
發(fā)送節(jié)點在時間T1一起發(fā)送數(shù)據(jù)分組500-1和關(guān)于數(shù)據(jù)分組500-1的發(fā)送時間以及分組標(biāo)識符的信息,在時間T2結(jié)束發(fā)送。發(fā)送節(jié)點儲存數(shù)據(jù)分組500-1的發(fā)送時間和分組標(biāo)識符作為發(fā)送歷史。
接著,發(fā)送節(jié)點在時間T4一起發(fā)送數(shù)據(jù)分組500-2和關(guān)于數(shù)據(jù)分組500-2的發(fā)送時間以及分組標(biāo)識符的信息,在時間T8結(jié)束發(fā)送。此時,用類似于前面提到方法,發(fā)送節(jié)點儲存發(fā)送數(shù)據(jù)分組500-2的時間和分組標(biāo)識符作為發(fā)送歷史。
接收節(jié)點在時間T3開始接收分組500-1,在時間T5完成接收。此時,接收節(jié)點將關(guān)于數(shù)據(jù)分組500-1的標(biāo)識符和接收完成時間以及通信速率作為報告發(fā)送到發(fā)送節(jié)點。
如果在時間TX收到從接收節(jié)點過來的報告,基于報告中包含的數(shù)據(jù)分組500-1的標(biāo)識符,發(fā)送節(jié)點可以確定報告的通道狀態(tài)信息有效的時間為數(shù)據(jù)分組500-1的發(fā)送時間T1。
發(fā)送節(jié)點在時間T1后的發(fā)送歷史的基礎(chǔ)上預(yù)測數(shù)據(jù)分組500-3的到達時間和接收完成時間。由時間T1以后的發(fā)送歷史可知,數(shù)據(jù)分組500-1和500-2接下來會被處理。根據(jù)報告,數(shù)據(jù)分組500-1的接收完成時間為T5。數(shù)據(jù)分組500-2的到達時間和接收完成時間的預(yù)測中使用了報告中數(shù)據(jù)分組500-1的通信速率和接收完成時間。在這一系列信息的基礎(chǔ)上,可知發(fā)送延遲或總的分組延遲時間。發(fā)送延遲為時間T1和T3之間的差別I1。分組的總延遲是發(fā)送延遲I1加上由發(fā)送接口和發(fā)送通道之間的速率差別引起的分組離散。時間T5和時間T2之間的差別為I2。數(shù)據(jù)分組500-2的到達時間在發(fā)送延遲I1的基礎(chǔ)上獲得并被預(yù)測為T6,T6是數(shù)據(jù)分組500-2的發(fā)送時間T4加上發(fā)送延遲I1得到的。由于數(shù)據(jù)分組延遲可以在報告中的通信速率的基礎(chǔ)上獲得,數(shù)據(jù)分組500-2的接收完成時間被預(yù)測為T12。因此可以預(yù)見數(shù)據(jù)分組500-3在這條通道中的接收節(jié)點的到達時間是T12之后的某個時間。當(dāng)在時間T12開始接收時,通過分組離散預(yù)測可以預(yù)測到接收完成時間為T15。根據(jù)預(yù)測結(jié)果,預(yù)測的數(shù)據(jù)分組500-3到達時間T12和數(shù)據(jù)分組50-3實際到達時間T14的差值是ID1。
在傳統(tǒng)技術(shù)對分組到達時間和接收完成時間的預(yù)測中,接收節(jié)點獲得的報告的到達時間,報告所示的通道狀態(tài)信息是生效的。通道狀態(tài)沒有任何變化就被用來預(yù)測數(shù)據(jù)分組500-3。那就是說,數(shù)據(jù)分組500-3的到達時間被預(yù)測為T11,是數(shù)據(jù)分組500-3的發(fā)送時間T9加上發(fā)送延遲I1得到的。根據(jù)這樣的預(yù)測結(jié)果,預(yù)測的數(shù)據(jù)分組500-3到達時間T11和實際的數(shù)據(jù)分組500-3的到達時間T14之間的差值為ID2。
從附圖可知,對于相對于實際到達時間的時間誤差I(lǐng)D1和時間誤差I(lǐng)D2,根據(jù)本發(fā)明預(yù)測的時間誤差I(lǐng)D1小于時間誤差I(lǐng)D2。
接下來,圖4表示了包含上述到達時間估算的調(diào)度器選擇通道的過程。
首先,隊列單元312接收分組(步驟100)。
接著,在通過任意一條通道發(fā)送的最后的分組之后,確定通道狀態(tài)信息是否已經(jīng)更新(步驟101)。當(dāng)通道狀態(tài)信息被更新時,刪除所有被更新過的通道中在通道狀態(tài)信息生效以前的發(fā)送歷史(步驟102)。
依次在每條通道中以通道狀態(tài)信息和發(fā)送歷史為基礎(chǔ)預(yù)測(估算)分組到達時間(步驟103)。然后將分組發(fā)送到具有最快的預(yù)測(估算)到達時間的通道上(步驟104)。
最后更新用來發(fā)送分組的通道的發(fā)送歷史(步驟105)。
如上所述,在更新通道狀態(tài)信息中,修正更新以前對已發(fā)送分組的到達時間的預(yù)測值。修正過的到達時間反映在對后續(xù)分組發(fā)送的判斷上。因此,以前的發(fā)送記錄可以被補償。補償?shù)男Ч诿總€通道結(jié)果的往返延遲比較大并且在通道狀態(tài)變化周期內(nèi)不能忽略的情況下變得顯著。其原因在下面描述。
如果在例如往返延遲的時間內(nèi)通道狀態(tài)發(fā)生了變化,當(dāng)發(fā)送節(jié)點獲得一系列狀態(tài)信息時相應(yīng)通道的狀態(tài)可能已經(jīng)發(fā)生了變化。因此這樣的信息是不可靠的。這樣的話就不可能對在分組發(fā)送時對通道選擇和時序設(shè)定進行優(yōu)化了。通常分組是以不適合的時序在不適合的通道上發(fā)送。在狀態(tài)信息更新時修正到達時間的預(yù)測值等價于根據(jù)狀態(tài)信息更新操作間隔的時間來評估已經(jīng)實行的不適宜的發(fā)送的影響。例如,分組以過高速率發(fā)送時,通過狀態(tài)信息的更新,已發(fā)送分組的到達預(yù)測時間值會被延長。這增加了通道發(fā)送成本。
如前所述,由于狀態(tài)信息的更新而對以前的發(fā)送分組的到達時間預(yù)測值的修正有效地優(yōu)化了通道選擇。然而,將到達時間預(yù)測值的修正不僅僅反饋到通道選擇,也反饋到發(fā)送時間控制上,可以長期地優(yōu)化每條通道的擁塞控制。
下一步將說明另一種實施方式。
接下來的實施方式說明包含簡單時間控制的操作。
用與前面所述實施方式中類似的方法,另一種實施方式對每條通道估算發(fā)送分組的接收完成時間,選擇具有最高值的通道。然而,此實施方式能夠引入簡單時間控制,其中對于一條新通道定義一個允許估算延遲值,發(fā)送節(jié)點控制發(fā)送時間使估算延遲值不超過允許值。此實施方式的操作將參考圖5來解釋。
圖5中,允許估算延遲值TM意味著對于在時間TP發(fā)送的分組,它必須被估計為到時間TM+TP之前被完全接收。用與上述方式相同的裝置估計的分組400-3的接收完成時間為T8,是(TM+TP)的將來時。發(fā)送節(jié)點100不使用該通道發(fā)送分組400-3直至估計的接收完成時間到TM+TP為止。在此情形中發(fā)送節(jié)點100滯留分組400-3,直到有一條通道的估算接收完成時間是TM+TP或更小。發(fā)送節(jié)點100通過解除滯留時間最早的通道發(fā)送分組。以這種方式工作的調(diào)度器313的操作流程表示在圖6中。
首先,隊列單元312接收消息分組(步驟200)。
接著,在通過任意一條通道發(fā)送的最后的分組之后,確定通道狀態(tài)信息是否已經(jīng)更新(步驟201)。當(dāng)通道狀態(tài)信息被更新時,刪除所有被更新過的通道中在通道狀態(tài)信息生效以前的可用發(fā)送歷史(步驟202)。
接著,每條通道中依次在通道狀態(tài)信息和發(fā)送歷史的基礎(chǔ)上,預(yù)測(估算)消息分組到達時間(步驟203)。利用預(yù)測(估算)的到達時間,確定所有通道中預(yù)測(估算)到達時間是否大于(當(dāng)前時間+允許估算延遲值)(步驟204)。在有任意一條通道的(預(yù)測(估算)到達時間≤(當(dāng)前時間+允許估算延遲值))的情形中,分組被發(fā)送到具有最早預(yù)測(估算)到達時間的通道上(步驟205)。
當(dāng)所有通道都保持(預(yù)測(估算)到達時間)>(當(dāng)前時間+允許估算延遲值)時,保持等待狀態(tài)直到有任意一條通道的當(dāng)前時間變成(預(yù)測到達時間-允許估算延遲值)。當(dāng)任意一條通道滿足條件時,流程處理進行到步驟205(步驟206)。
最后更新用來發(fā)送分組的通道的發(fā)送歷史(步驟207)。
可以獨立地為每條通道設(shè)置延遲允許值TP。例如,當(dāng)每條通道的延遲或分組通過的服務(wù)器的緩沖量顯著不同的時候,可以在每條通道中設(shè)置不同的TM值,特別是在負載繁重的情況下。這樣被認為可以有效利用每條通道的頻帶。
在估算接收完成時間之外如果還能監(jiān)測丟分組率和線路使用收費,它們可以被擇優(yōu)估計。確定方法可能依賴于數(shù)據(jù)類型。例如,對于聲音數(shù)據(jù),選擇要著重于延遲,而對于不太緊急的文件發(fā)送,選擇要著重于線路使用收費。無論哪種情形,本發(fā)明的特點是在發(fā)送節(jié)點更新通道狀態(tài)信息的同時獲得使更新生效的發(fā)送分組或時間,根據(jù)在有效分組或有效時間之后的可用發(fā)送歷史,估計發(fā)送成本的影響,并將下一個分組發(fā)送到具有最小成本的通道。結(jié)果是即使延遲比較大,與通道狀態(tài)變化的時間常數(shù)相比不能被忽略,由過去不當(dāng)?shù)陌l(fā)送已經(jīng)產(chǎn)生的對成本標(biāo)準(zhǔn)的影響也可以在后續(xù)發(fā)送時間的調(diào)整中反映出來來補償延遲。這樣就有效地改善了通道使用效率。
接下來解釋本發(fā)明應(yīng)用在如圖9所示IP網(wǎng)絡(luò)中的通道選擇方法。
圖9表示在本實施方式中具有單獨IP地址的通信接口的配置。
參考圖9,發(fā)送節(jié)點100-2和接收節(jié)點101-2都擁有多條通道,位于數(shù)據(jù)生成節(jié)點10-2和地址節(jié)點11-2之間。發(fā)送節(jié)點100-2和接收節(jié)點101-2之間有3條通道。在圖9的配置中,發(fā)送節(jié)點100-2擁有通信接口S-IF#1 1310-1,S-IF#2 1310-2,S-IF#3 1310-3和S-IF#4 1310-4作為發(fā)送手段。從S-IF#1 1310-1至S-IF#3 1310-3的通信接口分別屬于無線網(wǎng)絡(luò)1300-1至1300-3。通信接口S-IF#1 1310-1至S-IF#3 1310-3分別通過無線連接202-4至202-6連接到安裝在蜂窩載波網(wǎng)絡(luò)上的載波網(wǎng)絡(luò)網(wǎng)關(guān)1400-1,1400-2和1400-3上。通信接口S-IF#4 1310-4通過電纜連接或無線連接202-7連接到安裝在數(shù)據(jù)生成節(jié)點10-2上的通信接口D-IF 1200。接收節(jié)點101-2包括作為接收裝置的通信接口R-IF 1500-1。接收節(jié)點101-2通過通信接口R-IF 1500-1和電纜網(wǎng)絡(luò)102-2連接到載波網(wǎng)絡(luò)網(wǎng)關(guān)1400-1至1400-3上。
在圖9的系統(tǒng)中,通信接口S-IF#1 1310-1至S-IF#3 1310-3分別用點對點協(xié)議(PPP)分配[100.1.2.3],[110.1.2.3]和[120.1.2.3]作為單獨的IP地址。然后通信接口R-IF 1500-1包括固定設(shè)置方法或動態(tài)主機配址協(xié)議(DHCP)方法來分配[200.7.8.9]作為IP地址。通信接口D-IF 1200包括固定設(shè)置方法或動態(tài)主機配址協(xié)議(DHCP)方法來分配[192.168.2.50]作為IP地址。
圖10說明圖9系統(tǒng)中發(fā)送節(jié)點100-2的內(nèi)部配置。為了進行IP通信,發(fā)送節(jié)點100-2包括分組隊列區(qū)312-2,調(diào)度器313-2,通道狀態(tài)監(jiān)測器314-2,存儲器315-2,IP分組生成器1316,IP分組隊列區(qū)1317和IP路由處理器1318。
調(diào)度器313-2從隊列區(qū)312-2中取出輸入數(shù)據(jù)(目標(biāo)數(shù)據(jù)和發(fā)送數(shù)據(jù))選擇一個具體的通信接口。通過參照通道狀態(tài)監(jiān)測器314-2管理的通道狀態(tài)選擇用來發(fā)送取出數(shù)據(jù)的通信接口(通道)。在調(diào)度器313-2和通道狀態(tài)監(jiān)視器314-2的通道選擇方法中,通道是根據(jù)與調(diào)度器313和通道狀態(tài)監(jiān)視器314中所用的類似的方法來選擇和確定的。存儲器315-2用與存儲器315相類似的方法儲存通道狀態(tài)信息。接下來的解釋是針對調(diào)度器313-2和通道狀態(tài)監(jiān)視器314-2的,它們用類似于前面描述過的操作選擇通信接口(通道)。
IP分組生成器1316在從調(diào)度器313-2收到的數(shù)據(jù)中加入IP頭以產(chǎn)生一個IP分組。IP分組隊列區(qū)1317是保存由IP分組生成器1316產(chǎn)生的IP分組的緩沖區(qū)。IP路由處理器1318導(dǎo)出儲存在IP分組隊列區(qū)1317中的IP分組,決定IP分組的下一個發(fā)送目標(biāo),用S-IF#1 1310-1至S-IF#4 1310-4中適合的通信接口發(fā)送出去。
圖11是表示IP路由處理器1318的配置的示意圖。IP路由處理器1318有一張通道控制列表1321(在圖12中表示),用來確定傳輸?shù)腎P分組的發(fā)送目標(biāo)。此外,準(zhǔn)備接口地址管理表1322(在圖13中表示),它記錄為安裝通信接口而分配的IP地址。通道控制表包括發(fā)送接口判定/發(fā)送處理器1320。利用通道控制表1321和接口地址管理表1322,接口判定/發(fā)送處理器1320判定傳輸?shù)絀P路由處理器1318的IP分組的發(fā)送目標(biāo),然后將IP分組發(fā)送到對應(yīng)的通信接口S-IF#1 1310-1至S-IF#4 1310-4上。
圖14描繪了一個儲存了通信通道和對應(yīng)的通信接口的對應(yīng)關(guān)系的表,它們被儲存在存儲器315-2中,(下文中提到時稱為通道至通信接口的對應(yīng)表1330)。調(diào)度器313-2和通道狀態(tài)監(jiān)視器314-2識別的各通信通道的通信通道號碼或標(biāo)識符,用來進行通信通道連接的通信接口名稱儲存在通道至通信接口對應(yīng)表1330的項中。
圖12所示的通道控制表1321中,對于每一個作為IP分組發(fā)送目標(biāo)的目標(biāo)網(wǎng)絡(luò)IP地址描述了網(wǎng)絡(luò)掩碼和用來發(fā)送IP分組到網(wǎng)絡(luò)作為下一個發(fā)送目標(biāo)的網(wǎng)關(guān)IP地址。通道控制表1321也記錄關(guān)于連接到具有與網(wǎng)關(guān)IP地址同一地址的子網(wǎng)的通信接口的信息。實際上通常設(shè)置一個多點廣播地址以便將分組發(fā)送到屬于同一子網(wǎng)的所有通信設(shè)備上。但這里省略關(guān)于這方面的實例和說明。
圖13表示的接口地址管理表1322記錄安裝在發(fā)送節(jié)點的通信接口和分配給它們的IP地址的對應(yīng)關(guān)系。每一次分配給通信接口的IP地址改變時接口地址管理表1322中的內(nèi)容會被更新。
本實施方式中接收節(jié)點101-2包括作為接收單元的通信接口R-IF1500-1。發(fā)送節(jié)點100-2包括通信接口S-IF#1 1310-1至S-IF#4 1310-4,每一個都被分配了一個不同的IP地址。由于這個原因,通道控制表1321中有項1321-a,1321-b和1321-c,對于同一個目標(biāo)網(wǎng)絡(luò)IP地址[200.7.8.9],它們分別注冊了不同的網(wǎng)關(guān)IP地址和不同的通信接口。此外,通道控制表1321中存在通道信息1321-d,這是到數(shù)據(jù)生成節(jié)點10-2的通道信息。
發(fā)送接口判定/發(fā)送處理器1320實現(xiàn)了所謂的IP路由處理,即利用收到的IP分組頭部信息和通道控制表1321,確定用來發(fā)送IP分組的接口。
本實施方式,如圖12所示,擁有″目標(biāo)網(wǎng)絡(luò)IP地址″是重復(fù)的多個項。IP路由處理確定用來傳輸?shù)慕涌凇?br>
然后,在圖9所示的本實施方式中,調(diào)度器313-2選擇在通道至通信接口對應(yīng)表1330中注冊為例如通信通道號碼3的發(fā)送通道。這樣的話,使用與所確定的通道對應(yīng)的通信接口S-IF#2 202-5來發(fā)送IP分組。用同樣的處理也可以實現(xiàn)選擇其他通道。
當(dāng)選擇了通信通道號碼3的通信通道時,調(diào)度器313-2從通道至通信接口對應(yīng)表1330中獲取于通信通道對應(yīng)的通信接口名S-IF#2。
下一步調(diào)度器313-2以得到的通信接口S-IF#2為關(guān)鍵字檢索在IP路由處理器1318內(nèi)接口地址管理表1322,然后得到分配給通信接口S-IF#2的IP地址[110.1.2.3]。下一步調(diào)度器313-2產(chǎn)生發(fā)送IP分組生成信息(下文中稱之為發(fā)送IP分組生成數(shù)據(jù))并移交給IP分組生成器1316。
圖15表示發(fā)送IP分組生成數(shù)據(jù)1510的結(jié)構(gòu)。生成數(shù)據(jù)1510將接收節(jié)點101-2的通信接口1500-1的IP地址[200.7.8.9]存儲為″目標(biāo)IP地址″,將通信接口S-IF#2 1310-2的IP地址[110.1.2.3]存儲為″發(fā)送源IP地址″。
IP分組生成器1316在收到的發(fā)送IP分組生成數(shù)據(jù)1510的基礎(chǔ)上產(chǎn)生圖16所示的發(fā)送IP分組1610,并將它添加到IP分組隊列區(qū)1317中。在發(fā)送IP分組生成數(shù)據(jù)1510中包含的信息的基礎(chǔ)上,發(fā)送IP分組1610在IP頭的″發(fā)送源IP地址″域中存儲通信接口S-IF#2 1310-2的IP地址[110.1.2.3]。此外,發(fā)送IP分組1610在IP頭的″目標(biāo)IP地址″域中存儲接收節(jié)點101-2的通信接口R-IF 1500-1的IP地址[200.7.8.9]。
下一步,IP路由處理器1318發(fā)送接口判定/發(fā)送處理器1320從IP分組隊列區(qū)1317中導(dǎo)出發(fā)送IP分組1610,并使用通道控制表1321和接口地址管理表1322來確定傳輸發(fā)送IP分組的通信接口。然后執(zhí)行發(fā)送過程。
圖17的流程圖表示了本實施方式中發(fā)送接口判定/發(fā)送處理器1320的發(fā)送接口決定流程。當(dāng)隨著項x構(gòu)建通道控制表1321時,發(fā)送接口判定/發(fā)送處理器1320準(zhǔn)備好計數(shù)值i,第一候選列表,計數(shù)值m,計數(shù)值j,第二候選列表和計數(shù)值n作為變量。計數(shù)值i表示在第一條件下當(dāng)實行了搜索處理時通道控制表1321中要被處理的項。第一候選列表存儲在第一條件下通道控制表中被選為發(fā)送候選的項的一個排列。計數(shù)值m表示存儲在第一候選列表中的項數(shù)目。計數(shù)值j表示在第二條件下當(dāng)實行了選擇過程時第一候選列表中一個被處理的項。第二候選列表存儲第二條件下被選為發(fā)送候選的發(fā)送接口的一個排列。計數(shù)值n表示存儲在第二候選列表中的項數(shù)目。首先從IP分組隊列區(qū)1317中導(dǎo)出發(fā)送IP分組1610(步驟300)。將計數(shù)值i和j設(shè)為初始值″1″,將計數(shù)值m和n設(shè)為″0″(步驟301)。然后流程執(zhí)行到步驟302。
下一步通過比較計數(shù)值i和計數(shù)值x,確定第一候選檢索是否已經(jīng)完成(步驟302)。特別地,當(dāng)計數(shù)值i等于計數(shù)值x時,完成第一候選檢索。當(dāng)計數(shù)值i不等于計數(shù)值x(步驟302為否)時,比較發(fā)送IP分組1610中目標(biāo)IP地址中存儲的值和通道控制表中第i個項中目標(biāo)網(wǎng)絡(luò)IP地址中存儲的值(步驟303)。當(dāng)比較結(jié)果為匹配(步驟303為是)時,復(fù)制通道控制表中第i項的內(nèi)容到第一候選列表中第m項(步驟304)。然后將計數(shù)值m增加1(步驟305),將計數(shù)值i增加1(步驟306)。流程繼續(xù)到下一個通道控制表項。當(dāng)發(fā)送IP分組1610中目標(biāo)IP地址中存儲的值和通道控制表中笫i項中目標(biāo)網(wǎng)絡(luò)IP地址中存儲的值不匹配(步驟303為否)時,流程不作任何改變執(zhí)行到步驟306。
通過重復(fù)步驟302至306之間的過程,這一過程可以從第一項開始依次處理通道控制表中各自的項。當(dāng)處理到最后的項(步驟302為是)時,流程執(zhí)行到步驟307來確定第一候選列表中是否有項存在。
特別地,第一候選是否存在由計數(shù)值m來確定。計數(shù)值m為″0″(步驟307為是)時,用于發(fā)送發(fā)送IP分組1610的通信接口不存在,因此處理結(jié)束。計數(shù)值m不為″0″(步驟307為否)時,第一候選存在,所以過程執(zhí)行到步驟308。下一步確定計數(shù)值m是否為″1″(步驟308)。計數(shù)值m為″1″(步驟308為是)時,發(fā)送發(fā)送IP分組1610的通信接口被唯一確定。因此第一候選列表中第一項記錄的通信接口被取到(步驟309)。用獲得的通信接口發(fā)送發(fā)送IP分組1610(步驟322),然后處理結(jié)束。計數(shù)值m不為″1″(步驟308為否)時,用來發(fā)送發(fā)送分組1610的通信接口不能被唯一確定,所以流程執(zhí)行到步驟310。
在步驟310中,確定第二候選檢索是否已經(jīng)完成。特別地,當(dāng)計數(shù)值j等于計數(shù)值m時,第二候選檢索已經(jīng)完成。如果計數(shù)值j不等于計數(shù)值m(步驟為否),第一候選列表中第j項的通信接口首先被獲得(步驟311)。下一步從接口地址管理表1322中取得與步驟310中被獲得的通信接口對應(yīng)的分配IP地址(步驟312)。依次比較發(fā)送IP分組1610的發(fā)送源IP地址和步驟311中獲得的分配IP地址(步驟313)。當(dāng)發(fā)送IP分組1610的發(fā)送源IP地址與分配IP地址匹配(步驟313為是)時,復(fù)制步驟311中獲得的通信接口到第二候選列表中的第n個項(步驟314)。然后將計數(shù)值n加1(步驟315)。此外將計數(shù)值j加1(步驟316)。流程執(zhí)行到第一候選列表中下一個項的處理。如果發(fā)送IP分組1610的發(fā)送源IP地址與分配IP地址不匹配(步驟313為否),流程不作任何改變執(zhí)行到步驟316。
通過重復(fù)步驟310和316之間的過程,第一候選列表中從第一個項開始每一個項的處理被依次執(zhí)行。
當(dāng)處理到最后的項(步驟310為是)時,流程執(zhí)行到步驟317來確定第二候選列表中是否有項存在。
特別地,第二候選是否存在由計數(shù)值n來確定。計數(shù)值(n=)″0″表示能夠?qū)l(fā)送IP分組1610發(fā)送到第一候選列表的通信接口存在但沒有被唯一確定。計數(shù)值(n=)″1″表示能夠發(fā)送發(fā)送IP分組1610的通信接口被唯一確定。計數(shù)值(n=)″2″或更大值表示能夠?qū)l(fā)送IP分組1610發(fā)送到第二候選列表的通信接口存在但沒有被唯一確定。
計數(shù)值n為″1″(步驟317為是)時,從第二候選列表中的第一個項中獲得通信接口(步驟318)。用獲得的通信接口發(fā)送發(fā)送IP分組1610(步驟322),然后處理結(jié)束。計數(shù)值n不為″1″(步驟317為否)時流程執(zhí)行到步驟319。
下一步當(dāng)計數(shù)值n為″0″(步驟319為是)時,從第一候選列表中的給定項中獲得通信接口(步驟320)。用獲得的通信接口發(fā)送發(fā)送IP分組1610(步驟322),然后處理結(jié)束。當(dāng)計數(shù)值n不為″0″(步驟319為否)時,從第二候選列表中的給定項中獲得通信接口(步驟321)。用獲得的通信接口發(fā)送發(fā)送IP分組1610(步驟322),然后處理結(jié)束。
發(fā)送IP分組1610的IP頭中,[200.7.8.9]被存儲到目標(biāo)IP地址,[110.1.2.3]被存儲在發(fā)送源IP地址中。因此第一候選對應(yīng)于通道控制表1321中的1321-a,1321-b和1321-c項,如圖21所示。在步驟307的處理執(zhí)行中,第一候選列表的第一個項存儲了通道控制表1321中1321-a項的內(nèi)容。此外第一候選列表的第二個項存儲了通道控制表1321中1321-b項的內(nèi)容。第一候選列表的第三個項存儲了通道控制表1321中1321-c項的內(nèi)容。″3″被存儲在計數(shù)值m中。步驟312中,對于j=1,[100.1.2.3]被獲得作為分配IP地址;對于j=2,[110.1.2.3]被獲得作為分配IP地址;對于j=3,[120.1.2.3]被獲得作為分配IP地址;在步驟317的執(zhí)行中,第二候選列表只將″S-IF#2作為通信接口儲存。″1″被存儲為計數(shù)值。即,在步驟317作出的確定結(jié)果的基礎(chǔ)上,步驟318的處理被執(zhí)行。在步驟318中,″S-IF#2作為一個通信接口被獲得。發(fā)送接口判定/發(fā)送處理器1320用和于被調(diào)度器313-2選中的通道號碼為3的通道對應(yīng)的通信接口S-IF#2 1310-2來發(fā)送發(fā)送IP分組1610。
結(jié)果是發(fā)送IP分組1610從通信接口S-IF#2 1310-2被發(fā)送。接收節(jié)點101-2的通信接口R-IF 1500-1經(jīng)過載波網(wǎng)絡(luò)GW 1400-3接收發(fā)送IP分組1610。
本實施方式包括多個通信接口,這其中發(fā)送節(jié)點100-2和接收節(jié)點101-2不是一一對應(yīng)的,每個通信接口都被分配了單獨的IP地址。通過執(zhí)行上面所說的處理,即使這樣配置也能使用由調(diào)度器313-2確定的通道發(fā)送IP分組。沒有特別存儲發(fā)送源IP地址并且希望使用傳統(tǒng)技術(shù)中的IP路由的IP分組也能被IP路由處理。
此外,根據(jù)另一實施方式,發(fā)送節(jié)點100-2中的調(diào)度器313-2可能選擇通信通道號碼為″3″的通信通道,然后將遞交到IP分組生成器1316的發(fā)送IP分組生成信息轉(zhuǎn)換到圖18所示的格式。
圖18表示本實施方式中的發(fā)送IP分組生成數(shù)據(jù)1511。調(diào)度器313-2存儲接收節(jié)點101-2中通信接口1500-1的IP地址[200.7.8.9]作為發(fā)送IP分組生成數(shù)據(jù)1511的″目標(biāo)IP地址″。此外調(diào)度器313-2存儲與從通道至通信接口對應(yīng)表1330中通信通道號碼″3″對應(yīng)的通信接口″S-IF#2″作為發(fā)送IP分組生成數(shù)據(jù)1510的″發(fā)送源接口″。
當(dāng)接收到發(fā)送IP分組生成數(shù)據(jù)1511時,IP分組生成器1316產(chǎn)生圖19所示的發(fā)送IP分組1611,并將它添加到分組隊列區(qū)1317中。在發(fā)送IP分組1611中,在包含在發(fā)送IP分組生成數(shù)據(jù)1511中的信息的基礎(chǔ)上,通信接口名″S-IF#2″被存儲在IP頭的″發(fā)送源IP地址″域。此外,接收節(jié)點101-2中的通信接口R-IF 1500-1的IP地址[200.7.8.9]被存儲在IP頭的″目標(biāo)IP地址″域。
在IP路由處理器1318中,發(fā)送接口判定/發(fā)送處理器1320從IP分組隊列區(qū)1317中獲得發(fā)送IP分組1611,并使用通道控制表1312和接口地址管理表1322來確定傳輸發(fā)送IP分組的通信接口。然后執(zhí)行發(fā)送處理。
圖20的流程圖表示了本實施方式中發(fā)送接口判定/發(fā)送處理器1320的發(fā)送接口決定流程。在這一實施方式中,當(dāng)隨著項x構(gòu)建通道控制表1321時,發(fā)送接口判定/發(fā)送處理器1320準(zhǔn)備好計數(shù)值i,第一候選列表,計數(shù)值m,計數(shù)值j,第二候選列表和計數(shù)值n作為變量。計數(shù)值i表示在第一條件下當(dāng)實行了檢索處理時通道控制表1321中要被處理的項。第一候選列表存儲在第一條件下通道控制表中被選為發(fā)送候選的項的一個排列。計數(shù)值m表示存儲在第一候選列表中的項數(shù)目。計數(shù)值j表示在第二條件下當(dāng)實行了選擇處理時第一候選列表中要被處理的項。第二候選列表存儲第二條件下被選為發(fā)送候選的發(fā)送接口的一個排列。計數(shù)值n表示存儲在第二候選列表中的項數(shù)目。首先從IP分組隊列區(qū)1317中導(dǎo)出發(fā)送IP分組1611(步驟400)。″1″被設(shè)為計數(shù)值i,j的初始值,″0″被設(shè)為計數(shù)值m,n的初始值(步驟401)。然后流程執(zhí)行到步驟402。
下一步通過比較計數(shù)值i和計數(shù)值x,確定第一候選檢索是否已經(jīng)完成(步驟402)。特別地,當(dāng)計數(shù)值i等于計數(shù)值x時,第一候選檢索完成。當(dāng)計數(shù)值i不等于計數(shù)值x(步驟402為否)時,比較發(fā)送IP分組1611中目標(biāo)IP地址中存儲的值和通道控制表中第i個項中目標(biāo)網(wǎng)絡(luò)IP地址中存儲的值(步驟403)。當(dāng)比較結(jié)果為匹配(步驟403為是)時,復(fù)制通道控制表中第i項的內(nèi)容到第一候選列表中第m項(步驟404)。然后將計數(shù)值m加1(步驟405)。此外當(dāng)計數(shù)值i增加1(步驟406)時,流程執(zhí)行到通道控制表中下一個項的處理。當(dāng)發(fā)送IP分組1611中目標(biāo)IP地址中存儲的值和通道控制表中第i項中目標(biāo)網(wǎng)絡(luò)IP地址中存儲的值不匹配(步驟403為否)時,流程不作任何改變執(zhí)行到步驟406。
通過重復(fù)步驟402和406之間的過程,通道控制列表中從第一個項開始每一個項的處理被依次執(zhí)行。當(dāng)處理到最后的項(步驟402為是)時,流程執(zhí)行到步驟407來確定第一候選列表中是否有項存在。
特別地,第一候選是否存在由計數(shù)值m來確定。計數(shù)值m為″0″(步驟407為是)時,因為不存在可以發(fā)送IP分組1611的通信接口,處理結(jié)束。計數(shù)值m不為″0″(步驟407為否)時,第一候選存在,流程執(zhí)行到步驟408。下一步確定計數(shù)值m是否為″1″(步驟408)。計數(shù)值m為″1″(步驟408為是)時,發(fā)送發(fā)送IP分組1611的通信接口被唯一確定。由此,獲得第一候選列表中第一個項記錄的通信接口(步驟409),并用獲得的通信接口來發(fā)送發(fā)送IP分組1611(步驟422)。然后結(jié)束處理。計數(shù)值m不為″1″(步驟408為否)時,因為用來發(fā)送發(fā)送IP分組1611的通信接口不能被唯一確定,流程執(zhí)行到步驟410。然后流程執(zhí)行到步驟410。
步驟410中確定第二候選檢索是否已經(jīng)完成。特別地,當(dāng)計數(shù)值j等于計數(shù)值m時,第二候選檢索已經(jīng)完成。如果計數(shù)值j不等于計數(shù)值m(步驟為否),第一候選列表中第j項的通信接口首先被獲得(步驟411)。下一步比較存儲在發(fā)送IP分組1611的發(fā)送源IP地址中的通信接口和步驟411中獲得的通信接口(步驟412)。如果匹配(步驟412為是),復(fù)制步驟411中獲得的通信接口到第二候選列表中的第n個項(步驟413)。然后計數(shù)值n加1(步驟414)。此外計數(shù)值j加1(步驟415)。流程執(zhí)行到第一候選列表中下一個項的處理。如果發(fā)送IP分組1611的發(fā)送源IP地址中存儲的接口和步驟411中獲得的通信接口不匹配(步驟412為否),流程不作任何改變執(zhí)行到步驟415。
通過重復(fù)步驟410和415之間的過程,第一候選列表中從第一個項開始每一個項的處理被依次執(zhí)行。當(dāng)處理到最后的項(步驟410為是)時,流程執(zhí)行到步驟417來確定第二候選列表中是否有項存在。
特別地,第二候選是否存在由計數(shù)值n來確定。計數(shù)值(n=)″0″表示能夠?qū)l(fā)送IP分組1611發(fā)送到第一候選列表的通信接口存在但沒有被唯一確定。計數(shù)值(n=)″1″表示能夠發(fā)送發(fā)送IP分組1611的通信接口被唯一確定。計數(shù)值(n=)″2″或更大表示能夠?qū)l(fā)送IP分組1611發(fā)送到第二候選列表的通信接口存在但沒有被唯一確定。
計數(shù)值n為″1″(步驟416為是)時,從第二候選列表中的第一個項中獲得通信接口(步驟417)。用獲得的通信接口發(fā)送發(fā)送IP分組1611(步驟421),然后處理結(jié)束。計數(shù)值n不為″1″(步驟416為否)時流程執(zhí)行到步驟419。
下一步當(dāng)計數(shù)值n為″0″(步驟418為是)時,從第一候選列表中的給定項中獲得通信接口(步驟419)。用獲得的發(fā)送接口發(fā)送發(fā)送IP分組1611(步驟421),然后處理結(jié)束。當(dāng)計數(shù)值n不為″0″(步驟418為否)時,從第二候選列表中的給定項中獲得通信接口(步驟420)。用獲得的通信接口發(fā)送發(fā)送IP分組1611(步驟421),然后處理結(jié)束。
在發(fā)送IP分組1611的IP頭中,目標(biāo)IP地址存儲[200.7.8.9],發(fā)送源IP地址實際上存儲著標(biāo)識符″S-IF#2″(不是一個IP地址)。通道控制表1321中項1321-a,1321-b和1321-c對應(yīng)于第一候選。在步驟407的處理執(zhí)行中,第一候選列表的第一個項存儲了通道控制表1321中1321-a項的內(nèi)容。第一候選列表的第二個項存儲了通道控制表1321中1321-b項的內(nèi)容。第一候選列表的第三個項存儲了通道控制表1321中1321-c項的內(nèi)容?!?″被存儲在計數(shù)值m中。在步驟416的處理執(zhí)行中,第二候選列表僅僅儲存″S-IF#2″作為發(fā)送接口和″1″作為計數(shù)值。步驟418的處理在步驟417處理所作的判定結(jié)果的基礎(chǔ)上被執(zhí)行。在步驟418中,″S-IF#2作為通信接口被獲得。發(fā)送接口判定/發(fā)送處理器1320用與被調(diào)度器313-2選中的通道號碼為3的通道對應(yīng)的通信接口S-IF#21310-2來發(fā)送發(fā)送IP分組1611。
結(jié)果是通信接口S-IF#2 1310-2發(fā)送發(fā)送IP分組1611,接收節(jié)點101-2的通信接口R-IF 1500-1通過載波網(wǎng)絡(luò)GW 1400-3接收發(fā)送IP分組1611。
在上述程序中,本實施方式包含多個通信接口,這其中發(fā)送節(jié)點100-2和接收節(jié)點101-2彼此之間沒有一一對應(yīng)。在每個通信接口都分配有獨立的IP地址的IP網(wǎng)絡(luò)結(jié)構(gòu)中,IP分組可以用調(diào)度器313-2確定的通道來發(fā)送。
IP路由處理過程可以應(yīng)用到那些希望利用沒有特別指定通信接口的傳統(tǒng)IP路由技術(shù)中的IP分組。
在上述實施方式的發(fā)送節(jié)點中,隊列區(qū)、調(diào)度器和通道狀態(tài)監(jiān)視器是分別建立的。但是可以由在控制程序操作下的CPU(中央處理器)來構(gòu)建這些組件的全部或一部分。
權(quán)利要求
1.一種負載分散方法,其特征在于,對于每一個輸入到發(fā)送節(jié)點的分組,在有多路通信通道可供選擇的2個節(jié)點之間,基于以下信息進行通道選擇或者通道選擇優(yōu)先級更新,所述信息為可選擇通道的通道狀態(tài)信息;關(guān)于上述通道狀態(tài)信息何時生效或者關(guān)于已發(fā)送的分組的標(biāo)識信息;以及在上述通道狀態(tài)信息生效的時間之后的發(fā)送歷史或者由已發(fā)送的分組的標(biāo)識信息確定的分組的發(fā)送后的發(fā)送歷史方面的信息。
2.一種負載分散方法,其特征在于,包括以下步驟對于每一個輸入到發(fā)送節(jié)點的分組,在有多路通信通道可供選擇的2個節(jié)點之間,監(jiān)視各路可選通道的通道狀態(tài),儲存關(guān)于該通道狀態(tài)的通道狀態(tài)信息、上述通道狀態(tài)信息生效的時間或者分組標(biāo)識信息;基于通道狀態(tài)信息、在上述通道狀態(tài)信息生效的時間之后的分組發(fā)送歷史或者上述已發(fā)送分組的標(biāo)識信息確定的分組被發(fā)送之后的分組的發(fā)送歷史,估算各路通道中分組預(yù)測到達時間;并且基于上述估算的預(yù)測到達時間更新通道選擇或者選擇優(yōu)先級。
3.如權(quán)利要求1所述的負載分散方法,其特征在于,上述通道狀態(tài)信息包含通道的延遲。
4.如權(quán)利要求1所述的負載分散方法,其特征在于,上述通道狀態(tài)信息包含通道的發(fā)送速率。
5.如權(quán)利要求1所述的負載分散方法,其特征在于,上述通道狀態(tài)信息包含通道的負載。
6.如權(quán)利要求1所述的負載分散方法,其特征在于,當(dāng)因為通道選擇或選擇優(yōu)先級的更新通道狀態(tài)信息被更新時,對各路通道狀態(tài)信息更新前被發(fā)送的分組的發(fā)送成本計算結(jié)果進行修正。
7.如權(quán)利要求6所述的負載分散方法,其特征在于,當(dāng)各路通道的發(fā)送成本計算結(jié)果被修正時,舍棄在最新的通道狀態(tài)信息生效時或者生效后已發(fā)送的第一個分組以前的歷史。
8.如權(quán)利要求1所述的負載分散方法,其特征在于,選擇在接收節(jié)點估算的接收完成時間為最早的通道作為分組發(fā)送通道。
9.如權(quán)利要求1所述的負載分散方法,其特征在于,選擇在接收節(jié)點到特定時間為止能完成接收的數(shù)據(jù)量的估算值最大的通道作為分組發(fā)送通道。
10.如權(quán)利要求1所述的負載分散方法,其特征在于,對各路通道根據(jù)估算的當(dāng)前通道狀態(tài)中斷數(shù)據(jù)發(fā)送。
11.如權(quán)利要求10所述的負載分散方法,其特征在于,上述數(shù)據(jù)發(fā)送中斷的條件是估算的接收完成時間等于或大于某個具體值。
12.如權(quán)利要求1所述的負載分散方法,其特征在于,通道選擇或發(fā)送中斷的判斷是按照因發(fā)送數(shù)據(jù)的各種屬性而異的策略來決定的。
13.如權(quán)利要求1所述的負載分散方法,其特征在于,從一張將通信接口的地址和用上述的通信接口可以到達的目標(biāo)地址聯(lián)系起來的表中選擇與接收分組的目標(biāo)地址相對應(yīng)的通信接口,當(dāng)上述接收分組中存在用來指定發(fā)送源地址或通信接口的信息時,從上述選定的多個通信接口中選擇與上述發(fā)送源地址或通信接口相對應(yīng)的通信接口;當(dāng)上述接收分組中不存在發(fā)送源地址或通信接口信息時,從上述選定的多個通信接口中選擇任意一個通信接口;然后向所選定的通信接口發(fā)送上述接收分組。
14.一種節(jié)點,其特征在于,是能夠選擇多路分組發(fā)送通道的節(jié)點,具備對于每一個被輸入的分組,基于以下信息進行通道選擇或者通道選擇優(yōu)先級更新的單元,所述信息為各路可選擇通道的通道狀態(tài)信息;關(guān)于上述通道狀態(tài)信息何時生效或者關(guān)于已發(fā)送的分組的標(biāo)識信息;以及在上述通道狀態(tài)信息生效的時間之后的發(fā)送歷史或者由已發(fā)送的分組的標(biāo)識信息確定的分組的發(fā)送后的發(fā)送歷史方面的信息。
15.一種節(jié)點,其特征在于,是能夠選擇多路分組發(fā)送通道的節(jié)點,具備監(jiān)視單元,對于每一個輸入到發(fā)送節(jié)點的分組,監(jiān)視各路可選通道的通道狀態(tài),并監(jiān)視關(guān)于通道狀態(tài)的通道狀態(tài)信息以及該通道狀態(tài)信息的生效時間或分組的標(biāo)識信息;存儲單元,存儲上述通道狀態(tài)信息和在上述通道狀態(tài)信息生效后的可用分組發(fā)送歷史;調(diào)度單元,基于上述通道狀態(tài)信息和上述通道狀態(tài)信息生效后的分組發(fā)送歷史,估算各通道中分組的預(yù)測到達時間,并且基于上述估算的預(yù)測到達時間更新通道選擇或選擇優(yōu)先級。
16.如權(quán)利要求15所述的節(jié)點,其特征在于,上述通道狀態(tài)信息包含通道的延遲。
17.如權(quán)利要求15所述的節(jié)點,其特征在于,上述通道狀態(tài)信息包含通道的發(fā)送速率。
18.如權(quán)利要求15所述的節(jié)點,其特征在于,上述通道狀態(tài)信息包含通道的負載。
19.如權(quán)利要求15所述的節(jié)點,其特征在于,當(dāng)更新通道選擇或選擇優(yōu)先級各路通道狀態(tài)信息被更新時,上述調(diào)度單元對更新前被發(fā)送的分組的發(fā)送成本計算結(jié)果進行修正。
20.如權(quán)利要求19所述的節(jié)點,其特征在于,當(dāng)各路通道的發(fā)送成本計算結(jié)果被修正時,上述調(diào)度手段舍棄使最新的通道狀態(tài)信息生效的第一個已發(fā)送分組以前的歷史。
21.如權(quán)利要求15所述的節(jié)點,其特征在于,上述調(diào)度單元選擇在接收節(jié)點估算的接收完成時間為最早的通道作為分組發(fā)送通道。
22.如權(quán)利要求15所述的節(jié)點,其特征在于,上述調(diào)度單元選擇在接收節(jié)點到特定時間為止能完成接收的數(shù)據(jù)量的估算值最大的通道作為分組發(fā)送通道。
23.如權(quán)利要求15所述的節(jié)點,其特征在于,上述調(diào)度單元對各路通道根據(jù)估算的當(dāng)前通道狀態(tài)中斷數(shù)據(jù)發(fā)送。
24.如權(quán)利要求23所述的節(jié)點,其特征在于,上述數(shù)據(jù)發(fā)送中斷的條件是估算的接收完成時間等于或大于某個具體值。
25.如權(quán)利要求15所述的節(jié)點,其特征在于,上述調(diào)度單元按照因發(fā)送數(shù)據(jù)的各種屬性而異的策略來進行通道選擇或發(fā)送中斷的判斷。
26.如權(quán)利要求15所述的節(jié)點,其特征在于,具備一張將通信接口的地址和用上述的通信接口可以到達的目標(biāo)地址聯(lián)系起來的表;和路由單元,從上述表中選擇與發(fā)送分組的目標(biāo)地址相對應(yīng)的通信接口,當(dāng)上述發(fā)送分組中存在用來指定發(fā)送源地址或通信接口的信息時,從上述選定的多個通信接口中選擇與上述發(fā)送源地址或通信接口相對應(yīng)的通信接口;向所選定的通信接口發(fā)送上述發(fā)送分組。
27.一種節(jié)點控制程序,其特征在于,是應(yīng)用于可以選擇多路分組發(fā)送通道的節(jié)點的節(jié)點控制程序,上述控制程序使節(jié)點發(fā)揮基于以下信息對每一個輸入分組更新通道選擇或選擇優(yōu)先級的單元的功能,所述信息為每路可選擇通道的通道狀態(tài)信息;關(guān)于上述通道狀態(tài)信息生效的時間或已發(fā)送分組的標(biāo)識信息;以及上述通道狀態(tài)信息生效的時間之后的發(fā)送歷史或由已發(fā)送分組的標(biāo)識信息確定的分組發(fā)送后的發(fā)送歷史。
28.一種節(jié)點控制程序,其特征在于,是應(yīng)用于可以選擇多路分組發(fā)送通道的節(jié)點的節(jié)點控制程序,上述節(jié)點控制程序控制節(jié)點作為監(jiān)視單元,對于每一個輸入到發(fā)送節(jié)點的分組,監(jiān)視各路可選通道的通道狀態(tài),并監(jiān)視關(guān)于通道狀態(tài)的通道狀態(tài)信息以及該通道狀態(tài)信息的生效時間或分組的標(biāo)識信息;和調(diào)度單元,基于上述通道狀態(tài)信息和上述通道狀態(tài)信息生效后的分組發(fā)送歷史,估算各通道中分組的預(yù)測到達時間,并且基于上述估算的預(yù)測到達時間更新通道選擇或選擇優(yōu)先級。
29.如權(quán)利要求28所述的節(jié)點控制程序,其特征在于,上述通道狀態(tài)信息包含通道的延遲。
30.如權(quán)利要求28所述的節(jié)點控制程序,其特征在于,上述通道狀態(tài)信息包含通道的發(fā)送速率。
31.如權(quán)利要求28所述的節(jié)點控制程序,其特征在于,上述通道狀態(tài)信息包含通道的負載。
32.如權(quán)利要求28所述的節(jié)點控制程序,其特征在于,進一步控制上述調(diào)度單元,當(dāng)在通道選擇或選擇優(yōu)先級的更新中各路通道的通道狀態(tài)信息被更新時,對與更新前被發(fā)送的分組相關(guān)的發(fā)送成本計算結(jié)果進行修正。
33.如權(quán)利要求32所述的節(jié)點控制程序,其特征在于,進一步控制上述調(diào)度單元,當(dāng)各路通道的發(fā)送成本計算結(jié)果被修正時,舍棄使最新的通道狀態(tài)信息生效的第一個已發(fā)送分組以前的歷史。
34.如權(quán)利要求28所述的節(jié)點控制程序,其特征在于,進一步控制上述調(diào)度單元,選擇在接收節(jié)點估算的接收完成時間為最早的通道作為分組發(fā)送通道。
35.如權(quán)利要求28所述的節(jié)點控制程序,其特征在于,進一步控制上述調(diào)度單元,選擇在接收節(jié)點到特定時間為止能完成接收的數(shù)據(jù)量的估算值最大的通道作為分組發(fā)送通道。
36.如權(quán)利要求28所述的節(jié)點控制程序,其特征在于,進一步控制上述調(diào)度單元,對各路通道根據(jù)估算的當(dāng)前通道狀態(tài)中斷數(shù)據(jù)發(fā)送。
37.如權(quán)利要求36所述的節(jié)點控制程序,其特征在于,上述數(shù)據(jù)發(fā)送中斷的條件是估算的接收完成時間等于或大于某個具體值。
38.如權(quán)利要求28所述的節(jié)點控制程序,其特征在于,進一步控制上述調(diào)度單元,按照因發(fā)送數(shù)據(jù)的各種屬性而異的策略來進行通道選擇或發(fā)送中斷的判斷。
39.如權(quán)利要求28所述的節(jié)點控制程序,其特征在于,作為路由單元進行從一張將通訊接口的地址和用上述的通訊接口可以到達的目標(biāo)地址聯(lián)系起來的表中選擇與發(fā)送分組的目標(biāo)地址相對應(yīng)的通訊接口,當(dāng)上述發(fā)送分組中存在用來指定發(fā)送源地址或通訊接口的信息時,從上述選定的多個通訊接口中選擇與上述發(fā)送源地址或通訊接口相對應(yīng)的通信接口,向所選定的通訊接口發(fā)送上述發(fā)送分組。
40.一種發(fā)送分組時間估算方法,其特征在于,是估算發(fā)送分組的到達時間或接收完成時間的發(fā)送分組時間估算方法,包含以下步驟添加識別分組的分組標(biāo)識信息到從上述發(fā)送節(jié)點發(fā)送的發(fā)送分組然后進行發(fā)送;在上述發(fā)送節(jié)點將已發(fā)送分組的發(fā)送歷史和分組標(biāo)識信息一起儲存起來;將關(guān)于通道狀態(tài)的信息以及在上述通道狀態(tài)下關(guān)于最新收到的分組的分組標(biāo)識信息一起從接收節(jié)點發(fā)送到發(fā)送節(jié)點;基于上述通道狀態(tài)和由包含在上述通道狀態(tài)的信息中的分組標(biāo)識信息確定的分組之后被發(fā)送的分組的發(fā)送歷史,在發(fā)送節(jié)點估算要發(fā)送的分組的到達時間或接收完成時間。
41.一種節(jié)點,其特征在于,具備添加識別分組的分組標(biāo)識信息到發(fā)送分組并進行發(fā)送的單元;將已發(fā)送分組的發(fā)送歷史和分組標(biāo)識信息一起儲存起來的單元;和接收從接收側(cè)發(fā)送過來的通道狀態(tài)的信息,并基于上述通道狀態(tài)和使上述通道狀態(tài)生效的分組之后被發(fā)送的分組的發(fā)送歷史,估算要發(fā)送的分組的到達時間或接收完成時間的單元。
42.一種節(jié)點控制程序,其特征在于,是發(fā)送分組的節(jié)點的控制程序,上述控制程序使上述節(jié)點成為添加識別分組的分組標(biāo)識信息到發(fā)送分組并進行發(fā)送的單元;將已發(fā)送分組的發(fā)送歷史和分組標(biāo)識信息一起儲存起來的單元;和接收從接收側(cè)發(fā)送過來的通道狀態(tài)的信息,并基于上述通道狀態(tài)和使上述通道狀態(tài)生效的分組之后被發(fā)送的分組的發(fā)送歷史,估算要發(fā)送的分組的到達時間或接收完成時間的單元。
全文摘要
當(dāng)通道狀態(tài)信息被更新時,更新生效的時間被記錄下來。基于新的狀態(tài)信息和有效時間之后的數(shù)據(jù)發(fā)送歷史預(yù)測各個通道中分組到達時間。分組被發(fā)送到能夠提供最快分組到達時間的通道。這種方法將從接收端可用的通道狀態(tài)反應(yīng)到過去發(fā)送的數(shù)據(jù)上,因此可以預(yù)測真實的數(shù)據(jù)到達時間、接近接收完成時間的到達時間、或者接收完成時間。
文檔編號H04L12/56GK1910870SQ200580002170
公開日2007年2月7日 申請日期2005年1月7日 優(yōu)先權(quán)日2004年1月9日
發(fā)明者中田恒夫, 野口裕介 申請人:日本電氣株式會社