專利名稱:無線通信網中的簡化分組頭標的制作方法
發(fā)明的領域本發(fā)明涉及通信網絡并且更具體地涉及使用如以太網協議這樣的分組通信協議的通信網絡。
發(fā)明的背景網絡計算機或其他數據處理設備在計算和通信中已經很普通。網絡處理系統的一個問題是處理器之間的通信所需要的基礎設施。通常,通信在使用通信協議(如以太網協議)的硬連線接口上完成。但是,并不是總有這樣的基礎設施,在特定的環(huán)境或特定的應用中建立固定的基礎設施可能是不現實的。例如,在居民樓為計算機網布線也許就無法實現或太昂貴。類似地,在商用環(huán)境下,便攜式處理系統可能需要到處移動而同時仍然維持網絡鏈路。
由于這些和其它類似情況,無線以及其它減少固定基礎設施量的通信系統已經用于處理系統間的通信。然而,無線系統與硬連線系統相比通常運營費用比較昂貴或者帶寬較小。當專用無線系統以提高的速率工作時,通常這些無線網絡與現存的硬連線網絡綜合在一起,因此可能希望使用現有的網絡協議,如以太網、令牌環(huán)或其它網絡協議。然而,以太網協議以及其它常規(guī)網絡協議并不是為無線環(huán)境開發(fā)的,并且當工作在無線網絡環(huán)境時可能效率不高。
根據上述討論,需要提高無線通信的性能以便現有通信協議更有效地在無線通信鏈路上工作。
發(fā)明概要根據上述討論,本發(fā)明的一個目的是為無線或其它低帶寬通信鏈路上的網絡計算機提供更高的效率。
本發(fā)明的另一個目的是提高低帶寬通信鏈路的吞吐量,而這對于通信鏈路的用戶是透明的。
本發(fā)明還有一個目的是在保持與現有網絡協議兼容的同時提高通信鏈路的吞吐量。
本發(fā)明的這些和其它目的是通過減少通信鏈路上具有頭標的消息通信中的開銷的方法、系統和計算機程序產品實現的。這種減少可以在接收到將要在通信鏈路上傳輸的消息后通過確定在第一預定義別名地址集中是否有可用的未使用的別名地址來完成。如果有未使用的別名地址,就將未使用的別名地址與至少一部分接收消息的頭標相關聯。如果沒有未使用的別名地址,就將第一預定義別名地址集中的一個使用過的別名地址與接收消息的至少一部分頭標相關聯。后續(xù)的具有頭標的消息(它的一部分與接收消息的頭標完全一致)中至少有一部分頭標被移去以提供簡化的數據消息。然后在通信鏈路上發(fā)送簡化的數據消息以及相關的別名地址。該通信鏈路可以是無線通信鏈路。
通過將別名地址與消息的頭標信息相關聯,別名地址就可以取代頭標信息。這種替換可以導致在通信鏈路上傳輸較少字節(jié)的數據。此外,通過自動選擇最近未使用的使用過的鏈路,本發(fā)明不再需要“拆除”以前建立的鏈路。因此,沒有與拆除不使用的鏈路相關的開銷。
在本發(fā)明的具體實施例中,別名地址以及至少一部分與消息相關聯的頭標是在通信鏈路上傳輸的。從通信鏈路上也可以接收到對頭標的所述那部分和相關聯的別名地址的并聯的確認。然后就可以從通信鏈路上接收所傳輸的簡化數據消息,并且通過與接收的別名地址相關聯的頭標部分和簡化數據消息重建隨后的消息。
通過將別名地址與原始消息的頭標的一部分相關聯,并且然后根據別名地址重建原始消息,本發(fā)明降低了每次通信的開銷。對于任何具有用于識別該消息中與原始消息協議無關的多個分組的頭標的協議都可以降低開銷,這是由于原始消息要被加以重建以便符合協議,而在通信鏈路上發(fā)送的簡化數據分組的格式可以獨立于所提供的原始消息格式,因為頭標信息可以從消息的數據部分中分離出來。
在本發(fā)明的另一個實施例中,與至少一部分頭標相關的別名地址被標識為用過的。然而通過確定第一預定義別名地址集中每一個用過的別名地址是何時最后使用的、以便為每個用過的別名地址提供最后使用時間,用過的別名地址也可以與頭標的一部分相關聯。如果沒有可用的未使用的別名地址,就將具有最早的最后使用時間的用過的別名地址與接收消息的頭標該部分相關聯。這樣,本發(fā)明就不需要拆除不再使用的別名地址關聯。
在本發(fā)明的一個具體實施例中,為了建立簡化數據消息而從頭標中除去的這部分,包括消息的原地址和目的地址。
在本發(fā)明的另一個實施例中,別名地址和頭標的關聯是被進行監(jiān)視的。根據監(jiān)視來增加第一預定義別名地址集中的別名地址的數量以便提供第二預定義的別名地址集。
通過監(jiān)視別名地址的關聯,本發(fā)明可以選擇性地增加可用地址數以便減少建立別名地址關聯所占用的通信帶寬量。因此,可以動態(tài)調整可用地址數以便降低“攪亂”別名地址的可能性。
在本發(fā)明的另一個實施例中,如果確定別名地址是不活動的,就從第二預定義別名地址集中除去該別名地址。更具體地,在第二預定義別名地址集包括第一預定義別名地址集和第三預定義別名地址集的組合的場合下,如果已經從第二預定義別名地址集中除去了全部第三預定義別名地址集,則其別名地址數就減少到第一預定義別名地址集。因此,如果需要避免攪亂的別名地址數下降,則別名地址數也可以動態(tài)地減少。
如那些本領域的技術人員所稱道的,本發(fā)明可以表現為方法,裝置/系統或計算機程序產品。
附圖的簡要描述
圖1是使用本發(fā)明的一個實施例通信系統的框圖;圖2A到圖2C說明本發(fā)明的一個實施例所使用的數據分組;圖3是說明根據本發(fā)明的一個實施例的通信接口接收到分組后所進行的操作的流程圖;圖4是說明根據本發(fā)明的一個實施例的通信接口從通信鏈路接收數據后所進行的操作的流程圖;圖5A到圖5E說明本發(fā)明的另一個實施例所使用的數據分組;圖6是說明根據本發(fā)明的另一個實施例的通信接口接收到分組后所進行的操作的流程圖;圖7是說明根據本發(fā)明的另一個實施例的通信接口從通信鏈路接收數據后所進行的操作的流程圖;而圖8是說明根據本發(fā)明的另一個實施例的通信接口從通信鏈路接收數據后所進行的操作的流程圖。
發(fā)明的詳細描述現在將參考附圖對本發(fā)明進行更全面的描述,其中說明了本發(fā)明的優(yōu)選實施例。然而,本發(fā)明可以表現為很多不同的形式,并且不應該解釋為受到這里的實施例的限制;相反,所提供的實施例是為了使這個揭示全面、徹底,并且將向那些本領域的技術人員充分地傳達本發(fā)明的范疇。自始至終,相同的號碼表示相同的單元。正如本領域的技術人員所理解的,本發(fā)明可以表示為方法或裝置。據此,本發(fā)明可以完全由硬件實現、完全由軟件實現或由軟件和硬件相結合而實現。
圖1說明本發(fā)明的一個實施例。如圖1所示,傳送消息的源10可接入無線通信接口12。通信消息的目的設備可接入通過無線通信鏈路16與第一無線通信接口12通信的第二無線通信接口14。
在本發(fā)明的一個具體實施例中,源10和目的設備18是以太網源和各種目的設備。在這種情況下,通信接口12和14可以是無線以太網適配器或其它能夠在無線通信鏈路上傳送以太網分組的適配器。源和目的設備可以是網絡計算機、工作站、個人計算機、個人信息管理器或能夠在如以太網通信協議這樣的分組通信協議中作為數據分組的源或目的設備的其它設備。
在這里參考以太網協議描述本發(fā)明的同時,正如那些本領域的技術人員所理解的,其它基于分組的通信協議也同樣可以從本發(fā)明的教導中受益。例如,傳輸控制協議/網際協議(TCP/IP),異步傳輸模式(ATM)協議和其它基于分組通信的協議也可以使用本發(fā)明的教導。
此外,在這里是參考無線通信鏈路來描述本發(fā)明,然而,本發(fā)明不應該解釋為只限于無線通信。這里所使用的通信鏈路是指兩個彼此遠離的處理器之間的讓兩個處理器進行通信的任何類型的鏈路。本發(fā)明的教導對要降低通過通信鏈路傳送的數據量的任何通信鏈路都是有益的。這種通信鏈路的例子包括低速調制解調器通信、衛(wèi)星通信鏈路、蜂窩通信鏈路、射頻通信鏈路、微波通信鏈路或任何基于通過通信鏈路傳輸的數據量來確定速率的通信鏈路。
圖1說明可以通過通信鏈路16通信的單個源和單個目的設備。然而,正如那些本領域的技術人員所意識到的,通過通信接口12和14可以很容易地接入多個源和多個目的設備。此外,源和目的設備之間的通信在通信鏈路16上可以是雙向的。通信接口12和14中的每一個都可以提供對使用通信接口12和14通過通信鏈路16通信的源和目的設備的接入。據此,圖1是一個示范,而不應解釋為限制本發(fā)明。
總體上,本發(fā)明特定實施例的操作是通過減小通信分組中頭標的大小,從而來減小通過諸如通信鏈路16這樣的通信鏈路傳輸的分組中的數據。更具體地,具有路由信息(如目的設備和源地址)的數據分組在通信鏈路上傳輸之前,這些頭標信息被剝離。將一個別名地址分配給頭標并將別名地址添加到數據分組中。這里使用的術語“別名地址”指與原始消息的頭標信息相關的指示,這樣,知道了別名地址就可以重建原始消息。隨后在通信鏈路上發(fā)送數據和別名地址。通信鏈路的接收端接收修改過的數據分組并且根據接收的別名地址重建原始數據分組。此后,具有相同源和目的地址的后續(xù)消息也被剝離源和目的地址信息并使用相關的別名地址在通信鏈路上進行通信。由于別名地址會比相應的原始頭標的源和目的地址短小,因此可以減小通信鏈路上傳輸的數據量。
具體到本發(fā)明,別名地址被分配給未使用的別名地址直到所有別名地址都已經利用。所有別名地址被使用之后,當接收到要在通信鏈路上傳輸的具有新的源和目的設備的數據分組時,就將最近最少使用的別名地址分配給新的源和目的地址。這樣,本發(fā)明不必明顯地終止以前的別名地址關聯就可以改變別名地址關聯。此外,如果判斷分配別名地址占用了太大的通信鏈路帶寬,則可以擴展別名地址空間以減小重分配的出現率。
現在將針對以太網例子和圖1的框圖描述本發(fā)明不同實施例的具體操作。同時還要參考說明本發(fā)明的實施例的流程圖-圖3,4和6到8。應該理解,流程圖中的每一個單元和流程圖中的單元組合可以通過計算機程序指令來實現??梢詫⑦@些程序指令提供給處理器以得出這樣一種機器,使得處理器中執(zhí)行的指令可以建立實現流程單元中指定功能的裝置。計算機程序指令可以由一個處理器來執(zhí)行以產生一系列由處理器完成的操作步驟,從而完成一個計算機實現的過程,這樣,處理器上執(zhí)行的指令可提供實現流程單元指定功能所需的步驟。
據此,流程圖中的各單元支持完成指定功能的裝置組合、完成指定功能的步驟組合、和完成指定功能的程序指令裝置。還應該理解流程圖中的每一個單元和流程圖中的單元組合都可以由完成指定功能或步驟或專用硬件和計算機指令組合的專用硬件系統來實現。
圖3說明當接收到要在通信鏈路(如無線通信鏈路16)上傳輸的數據分組時通信接口的操作(如無線通信接口12)。如圖3所示,當無線通信接口12從源10接收到數據分組時,無線通信接口12從數據分組中提取頭標并且從頭標中確定源和目的地址(單元30)。然后判斷是否存在與通過通信鏈路16的源和目的地址相關聯的鏈路(即別名地址)(單元32)。如果鏈路尚未建立,就將最近最少使用的別名地址分配給源和目的地址(單元34)并且在通信鏈路16上發(fā)送請求將別名地址分配給源和目的地址(單元36)。如果所有別名地址尚未完全分配,該最近最少使用的別名地址將是一個未使用的別名地址。在本例子中,別名地址是一字節(jié)(8比特)大小,并且有兩個地址(“00”和“01”)為控制而保留,從而定義了一組預定義的254個別名地址,這樣,在以前分配的別名地址(用過的別名地址)被復用前,有254個別名地址需要分配。
圖2B說明通過通信接口12或14在通信鏈路16上傳輸的、用于請求建立鏈路的數據分組。數據分組的格式中包括幀頭之后的數據分組的為“00”的第一字節(jié)?!?0”表明該分組是請求建立鏈路。分組的下12個字節(jié)指定原始數據分組的源和目的地址。源和目的地址的后面跟隨的一個字節(jié)指示與源和目的地址相關聯的、所請求的別名地址。使用圖2B說明的格式,鏈路請求是一個16字節(jié)的分組。
回到圖3,在傳輸了鏈路建立請求后,通信接口12和14設置一個重新賦值標志(單元38),該標志用來作為與該接收通信接口14或12進行信息交換的一部分,從而驗證鏈路已經建立(即,通信鏈路16的兩端都具有相同的源和目的地址與別名地址的關聯)并且等待從通信鏈路16接收應答分組。接收到應答后,通信接口12或14檢查重新賦值標志是否仍處于被設置狀態(tài)(單元40)。如果重新賦值標志仍處于被設置狀態(tài),那么鏈路請求失敗并且選擇一個新的別名地址(單元34),然后重復該過程(單元36和38)。這個過程可以一直重復到鏈路建立,或者只進行有限次嘗試,如果仍不成功,就將該消息丟棄或向分組的源提供一個錯誤通知。
如果重新賦值標志未設置(單元40),則鏈路已經建立。隨后通信接口12或14校驗原始分組的CRC(單元42)并在CRC錯誤時將該分組丟棄(單元44)。另外,CRC校驗可以在建立鏈路之前進行。
如果未檢測到CRC錯誤,那么就從分組中移去CRC和源和目的地址并用別名地址取代(單元46)。在本以太網例子中的通信鏈路16上傳輸的分組的格式如圖2A所示。在圖2A中,通信鏈路16上傳輸的分組包括幀頭、其后的別名地址(1字節(jié))、再其后的消息類型(2字節(jié))、以及隨后的46到576字節(jié)數據。在建立簡化的數據分組后,在通信鏈路16上傳輸該簡化的數據分組(單元48)。
圖3中還說明了對通信接口12或14接收的具有相同別名地址的后續(xù)數據分組的處理。如圖3所示,接收到分組時,提取頭標(單元30)并判斷是否存在鏈路(單元32)。由于該分組是一個后續(xù)分組,所以鏈路將存在,并且重新賦值標志將成為未設置(單元40)。需要校驗分組的CRC(單元42),并在沒有CRC錯誤的情況下移去頭標信息(單元46),然后在通信鏈路16上發(fā)送簡化的數據分組(單元48)。
圖4根據本發(fā)明的一個實施例說明從通信鏈路16接收到分組時,通信接口12或14的操作。當接收到分組時,幀頭“7E”后的第一字節(jié)(C)被提取出來,并判斷該幀頭后的第一字節(jié)是否表示鏈路建立請求(C=“00”)(單元52)。如果幀頭后的第一字節(jié)表示鏈路請求,則提取分組的源、目的和別名地址(見圖2B),并將別名地址與源和目的地址相關聯(單元56)。然后構造一個確認分組(單元58)并將其安排在通信鏈路16上進行傳輸(單元60)。
圖2C說明通信接口12或14為了確認鏈路建立而在通信鏈路16上發(fā)送的數據分組。數據分組的格式包括幀頭之后的數據分組的第一字節(jié)為“01”(C=“01”)?!?1”表明該分組是鏈路已經建立的確認。分組的下12個字節(jié)指定原始數據分組的源和目的地址。源和目的地址的后面跟隨的一個字節(jié)指示與源和目的地址相關聯的別名地址。使用圖2C說明的格式,一個鏈路確認分組是一個16字節(jié)的分組。
返回到圖4的單元52,如果分組的幀頭后的第一字節(jié)不是“00”,則判斷該字節(jié)是否是一個如圖2C所示的指示該分組是確認分組的“01”。如果幀頭后的第一字節(jié)表示一個鏈路確認分組,那么就將分組的源、目的和別名地址(見圖2C)提取出來(單元64),并且復位與該別名地址相關的重新賦值標志(單元66)。然后流程進行到上面針對圖3所進行的描述,在通信鏈路16上發(fā)送原始分組的數據。
如果幀頭后的第一字節(jié)不是“00”或“01”,那么該分組就是圖2A所表示格式的數據分組。于是幀頭后的第一字節(jié)表示分組的別名地址,該別名地址與其相關聯的源和目的地址對匹配(單元68)。于是,原始分組被重新構造并被安排傳輸到原始目的18(單元72)。
圖5A到8說明本發(fā)明的另一個實施例,在這個實施例中別名地址的大小可以擴展。這種實施例減小了“攪亂”別名地址的可能性。由于建立將別名地址與源和目的地址相關聯的鏈路也有一定的開銷,因此可能出現建立鏈路的分組占據通信鏈路16很大一部分帶寬的情況??梢酝ㄟ^將別名地址域擴展為包括兩字節(jié)地址數據,以便極大地增加可用別名地址數并減少別名地址復用的頻率,從而延緩或避免這種情況(這里稱為“攪亂”)的發(fā)生。
圖5A和5B說明與本發(fā)明的另一個實施例相關的單字節(jié)和雙字節(jié)地址的例子。如圖5A所示,單字節(jié)地址的第一比特被設為“0”表示單字節(jié)地址。圖5B說明擴展地址域的第一比特被設為“1”表示擴展地址。
圖6說明接收到要在通信鏈路16上傳輸的分組時,本發(fā)明的另一個實施例的操作。如圖6所示,通信接口12或14首先判斷是否存在與所接收分組的源和目的地址相關聯的鏈路(單元80)。如果沒有鏈路,就判斷是否有未使用的別名地址(單元82)。如果未使用擴展別名地址,那么這個判斷就是根據單字節(jié)別名地址的可用性作出的。如果使用了擴展別名地址,那么這個判斷就是根據擴展別名地址的可用性作出的。如果沒有未使用的別名地址,那么就判斷別名地址是否已經攪亂(單元84)。
對別名地址是否已經攪亂的判斷可以根據鏈路建立請求與通信鏈路上傳輸的數據分組的比率或在全部地址空間被分配以后的時間(例如,最近254次8比特別名分配后經歷的時間),或本領域技術人員周知的其它方法作出。在一個實施例中,對攪亂的判斷是在活動鏈路被別名地址重分配中斷的概率(以發(fā)生的相對頻率來進行估計)將變得很大時作出的,這里如果鏈路在過去T毫秒中使用過就認為它是活動的。
如果發(fā)生攪亂,那么就將別名地址域的域長度擴展為大于一字節(jié)并使用擴展別名(單元86)。然后從未使用的擴展別名地址中選擇別名地址(單元90)。如果未發(fā)生攪亂,那么就選擇最近最少使用的別名,將其與源和目的地址相關聯(單元88)。如果未使用擴展別名地址,那么這個選擇是根據最后使用的單字節(jié)別名地址作出的。如果使用了擴展地址,那么這個選擇是根據最后使用的擴展別名地址作出的。
在任何一種情況下,一旦選擇了別名地址,就在通信鏈路上發(fā)送鏈路建立請求(單元92)。圖5D是針對擴展別名地址的示范鏈路建立請求分組的格式,而圖2B針對單字節(jié)地址的示范鏈路建立請求分組的格式。圖2B已經在上面進行了描述。圖5D說明通信接口12或14在通信鏈路16上傳輸的請求建立擴展別名地址鏈路的數據分組。在數據分組格式中,幀頭后的第一數據分組字節(jié)為“02”?!?2”表示這是請求建立擴展別名地址鏈路的分組。分組的下12個字節(jié)指明原始數據分組的源和目的地址。源和目的地址的后面跟隨著兩個字節(jié),它們指明所請求的與源和目的地址相關聯的別名地址。在使用圖5D所示的格式的情況下,鏈路請求是一個17字節(jié)的分組。
發(fā)送鏈路建立請求后,通信接口12或14等待接收鏈路已經建立的確認(單元94)。建立鏈路的操作(單元92和94)可以根據上面參考圖3和4所做的描述完成,其中在建立鏈路時使用了出錯重試技術。
一旦建立了鏈路,就按照上面的描述改變原始數據分組,以便移去源和目的地址以及CRC并添加別名地址以提供簡化的數據分組(單元96)。然后在鏈路16上發(fā)送這個簡化的數據分組(單元98)。圖2A和圖5C說明了簡化數據分組的示范格式。
圖7和8說明本發(fā)明的另一個實施例的操作,該實施例在從通信鏈路16接收到分組時使用擴展別名尋址。如圖7所示,當從通信鏈路16接收到分組時,將幀頭后的第一字節(jié)提取出來(單元100)。如果該第一字節(jié)是“00”或“02”,那么該分組是鏈路建立請求,并根據分組的格式(見圖2B和圖5D)從分組中提取正確的源、目的和別名地址(單元102和104)。然后將所提取的擴展別名地址與源和目的地址相關聯(單元106)。隨后構造確認分組(單元108)并安排在通信鏈路16上傳輸(單元110)。
確認分組的格式與建立請求的格式相對應。因此,如果接收到“00”鏈路建立請求,那么就構造圖2C中所說明的“01”格式的確認分組。圖2C的確認分組格式已經在上面做了描述。然而,如果所接收的鏈路建立請求是“02”擴展別名地址鏈路建立請求,那么就構造具有圖5E格式的確認分組。
圖5E說明通信接口12或14在通信鏈路16上傳輸的一個用于確認擴展別名地址鏈路已經建立的數據分組。該數據分組的格式是以“03”作為幀頭后數據分組的第一字節(jié)?!?3”表示該分組確認擴展別名地址鏈路已經建立。分組的下12個字節(jié)指明原始數據分組的源和目的地址。源和目的地址后面跟隨的兩個字節(jié)指明所請求的與源和目的地址相關聯的別名地址。在使用圖5E所示的格式時,鏈路確認分組是一個17字節(jié)的分組。
現在回到圖7,如果從通信鏈路16上接收的分組幀頭后的第一字節(jié)不是“00”也不是“02”,那么就判斷幀頭后的第一字節(jié)是否為“01”或“03”(單元112)。如果該第一字節(jié)是“01”或“03”,那么該分組就是確認分組,并根據分組的格式(見圖2C和5E)從分組中提取正確的源、目的和別名地址(單元112和單元114)。然后復位與所提取的別名地址相關聯的重新賦值標志以指示鏈路已經成功建立(單元116)。
如果接收分組的幀頭后的第一字節(jié)不是“00”,“01”,“02”,也不是“03”,那么該分組就是圖2A或圖5C所示多種格式中的一種數據分組。可以通過檢查幀頭后的第一字節(jié)的第一比特來判斷數據分組的別名地址。如果該比特為“0”,那么使用的是單字節(jié)別名地址(見圖5A),而如果該比特是“1”,那么使用的就是擴展別名地址(見圖5B)。無論哪種情況都從分組中提取別名地址,并與該源和目的對相匹配(單元118)。然后重建包括CRC(單元120)的原始分組,并安排將其發(fā)送到目的(單元122)。
圖8說明本發(fā)明的另一個實施例,該實施例在從通信鏈路16接收到分組時使用擴展別名尋址,但是對擴展別名地址不使用單獨的請求和確認分組。通過使用相同的方法可判斷是否發(fā)生了攪亂,通信鏈路16的兩端都可以獨立地判斷是否發(fā)生了攪亂,藉此避免了對使用擴展別名地址時的顯式信令的需要。
如圖8所示,從通信鏈路16接收到分組時,提取幀頭后的第一字節(jié)(單元130)。如果第一字節(jié)是“00”或“01”,那么該分組是一個鏈路建立請求或確認分組,然后判斷是否發(fā)生了攪亂(單元132和142),這可以指示是使用單字節(jié)還是擴展別名尋址。另外,接收通信接口可以檢查別名地址域的第一比特,判斷它是一個指示單字節(jié)的“0”還是一個指示擴展別名尋址的“1”。通信接口還可以判斷分組的總長度,如果長度是16那么使用的就是單字節(jié)別名尋址。如果分組的長度是17,那么使用的是擴展別名尋址。在兩種情況下,當判斷是使用單字節(jié)還是擴展別名尋址后,就根據分組的格式(見圖2B和2C或圖5D和圖5E)從分組中提取正確的源、目的和別名地址。
提取別名地址后,判斷幀頭后的第一字節(jié)是否是指示鏈路請求分組的“00”(單元146)。如果不是,那么該分組是鏈路確認分組,于是就復位與該別名地址相關聯的重新賦值標志(單元148)。如果幀頭后的第一字節(jié)是“00”,那么該分組是鏈路建立請求,于是為源和目的設備分配別名地址(單元150)并且構造適當的確認分組(單元152)。然后安排在通信鏈路16上傳輸該確認分組(單元154)。
返回單元132,如果幀頭后的第一字節(jié)不是“00”或“01”,那么該分組就數據分組。根據上面的描述,用地址的第一比特判斷地址是否是擴展的,從而可以提取別名地址(單元134)。然后重建原始數據分組(單元136)并且安排將其傳輸到目的設備(單元138)。
可以使用很多用于關聯項目的技術來實現別名地址與源和目的地址的關聯。例如,可以使用查找表或鏈表來建立別名地址與源和目的地址之間的關聯。通信鏈路16的每一端都可以維護一個關聯著別名地址、源和目的地址、以及該別名地址的最后使用時間的表,以便幫助選擇最近最少使用的以前使用過的別名地址。
在本發(fā)明的擴展別名地址實施例中,一個“垃圾收集”例程可以周期性地檢查每個具有擴展長度別名的鏈路的最后使用時間,并從通信鏈路16兩端的表中移去帶有擴展地址的長期空閑的鏈路。這樣,別名長度就有回到最短的可能選擇。一旦表中沒有了擴展域別名,就暫時不再使用“02”和“03”消息,直到再次檢測到發(fā)生攪亂,橋接表回到預擴展大小。
另外,“垃圾收集”例程還可以周期性地從兩端的表中移去那些最后使用時間早于預定門限的鏈路。當鏈路總數小于在非擴展別名地址集中可得到的鏈路數時,在隨后的通信中將擴展別名地址鏈路重分配給非擴展別名地址。那些本領域的技術人員將會意識到,根據本發(fā)明的揭示,還可以使用其它令系統返回到使用非擴展別名地址的方法。
在本發(fā)明參考以太網通信協議進行討論時,本領域的技術人員將會意識到,本發(fā)明的教導也可以應用與其它通信協議。例如,如果通信接口12和14完成IP路由功能并且以太網分組包含IP數據報,通信接口12和14也可以從數據報中剝離IP路由信息。這種情況下,可以將路由信息保存起來,或者重新計算以提供數據報路徑中的下一跳。這樣,本發(fā)明可以與TCP/IP一起使用以進一步減少開銷,在此場合下,以太網和IP尋址信息被剝離,而每一端的網關或路由器將把IP數據報重新綁定到指定IP路徑中下一跳的一個以太網分組中。
在附圖和說明書中,已經揭示了本發(fā)明的優(yōu)選實施例,雖然使用了特定的術語,但它們僅是用于一般性的描述功能,而不是出于限制的目的,本發(fā)明的范疇是由下面的權利要求限定的。
權利要求
1.在通信鏈路上減少具有頭標的消息通信的開銷的方法,該方法包括以下步驟接收將要在通信鏈路上發(fā)送的消息;判斷第一預定義別名地址集中是否有可用的未用別名地址;如果有可用的未用別名地址,則將第一預定義別名地址集中的一個未用別名地址與接收消息的至少一部分頭標相關聯;如果沒有未用的別名地址可用,則將第一預定義別名地址集中的一個用過的別名地址與接收消息的至少一部分頭標相關聯;從具有頭標的后續(xù)消息中移除該至少一部分頭標以提供簡化的數據消息,該部分是接收消息的基本一致的頭標;和在通信鏈路上發(fā)送該簡化的數據消息和相關聯的別名地址。
2.根據權利要求1的方法,其特征在于所述的移除步驟之前有一個在通信鏈路上發(fā)送與該消息相關聯的別名地址和至少一部分頭標的步驟。
3.根據權利要求2的方法,還包括從通信鏈路接收對至少一部分頭標和相關的別名之間的關聯的確認的步驟。
4.根據權利要求1的方法,還包括以下步驟從通信鏈路接收別名地址和所傳輸的簡化的數據消息;根據與接收的別名地址相關聯的一部分頭標和簡化的數據消息重建后續(xù)消息。
5.根據權利要求1的方法,還包括識別與至少一部分頭標相關的別名地址是用過的的步驟。
6.根據權利要求1的方法,其特征在于所述關聯第一預定義別名地址集中一個用過的別名地址的步驟包括以下步驟確定第一預定義別名地址集中的每一個用過的別名地址是何時最后使用的,以提供每一個用過的別名地址的最后使用時間;和如果沒有未用的別名地址可用,就將第一預定義別名地址集中具有最老最后使用時間的用過的別名地址與接收消息的至少一部分頭標相關聯。
7.根據權利要求1的方法,其特征在于該至少一部分頭標包括消息的源地址和目的地址。
8.根據權利要求1的方法,其特征在于該通信鏈路是無線通信鏈路。
9.根據權利要求1的方法,還包括以下步驟監(jiān)視別名地址和頭標之間的關聯;和根據上述監(jiān)視,增加第一預定義別名地址集中的別名地址數,以提供第二預定義別名地址集。
10.根據權利要求9的方法,其特征在于所述的增加步驟包括在通信鏈路上發(fā)送增加的別名長度通知的步驟。
11.根據權利要求9的方法,還包括如果確定別名地址是不活動的、則從第二預定義別名地址集中移除該別名地址的步驟。
12.根據權利要求11的方法,其特征在于該第二預定義別名地址集包括第一預定義別名地址集和第三預定義別名地址集的組合。
13.根據權利要求12的方法,還包括如果全部第三預定義別名地址集已經從第二預定義別名地址集中移除、就將別名地址數減少為第一預定義別名地址集的步驟。
14.在通信鏈路上減少具有頭標的消息通信的開銷的系統,包括用于接收將要在通信鏈路上發(fā)送的消息的裝置;用于判斷第一預定義別名地址集中是否有可用的未用別名地址的裝置;用于如果有可用的未用別名地址、則將第一預定義別名地址集中的一個未用別名地址與接收消息的至少一部分頭標相關聯的裝置;用于如果沒有未用的別名地址、則將第一預定義別名地址集中的一個用過的別名地址與接收消息的至少一部分頭標相關聯的裝置;用于從具有頭標的后續(xù)消息中移除該至少一部分頭標以提供簡化的數據消息的裝置,該部分是接收消息的基本一致的頭標;和用于在通信鏈路上發(fā)送該簡化的數據消息和相關聯的別名地址的裝置。
15.根據權利要求14的系統,還包括用于在通信鏈路上發(fā)送與該消息相關聯的別名地址和至少一部分頭標的裝置。
16.根據權利要求15的系統,還包括用于從通信鏈路接收對有關至少一部分頭標和相關的別名的確認的裝置。
17.根據權利要求14的系統,還包括用于從通信鏈路接收別名地址和所傳輸的簡化數據消息的裝置;用于根據與接收的別名地址相關聯的至少一部分頭標和簡化的數據消息重建后續(xù)消息的裝置。
18.根據權利要求14的系統,還包括用于識別與至少一部分頭標相關的別名地址是用過的的裝置。
19.根據權利要求14的系統,其特征在于所述用于關聯第一預定義別名地址集中一個用過的別名地址的裝置包括用于確定第一預定義別名地址集中的每一個用過的別名地址是何時最后使用的、以提供每一個用過的別名地址的最后使用時間的裝置;和用于如果沒有未用的別名地址、就將第一預定義別名地址集中具有最老最后使用時間的用過的別名地址與接收消息的至少一部分頭標相關聯的裝置。
20.根據權利要求14的系統,其特征在于該至少一部分頭標包括消息的源地址和目的地址。
21.根據權利要求14的系統,其特征在于該通信鏈路是無線通信鏈路。
22.根據權利要求14的系統,還包括用于監(jiān)視別名地址和頭標之間的關聯的裝置;和用于根據上述監(jiān)視增加第一預定義別名地址集中的別名地址數、以提供第二預定義別名地址集的裝置。
23.根據權利要求22的系統,其特征在于所述的用于增加的裝置包括用于在通信鏈路上發(fā)送增加的別名長度通知的裝置。
24.根據權利要求22的系統,還包括用于如果確定別名地址是不活動的、則從第二預定義別名地址集中移除該別名地址的裝置。
25.根據權利要求24的系統,其特征在于該第二預定義別名地址集包括第一預定義別名地址集和第三預定義別名地址集的組合。
26.根據權利要求25的系統,還包括用于如果全部第三預定義別名地址集已經從第二預定義別名地址集中移除、就將別名地址數減少為第一預定義別名地址集的裝置。
27.在通信鏈路上減少具有頭標的消息通信的開銷的計算機程序產品,該計算機程序產品包括計算機可讀存儲介質,該介質中嵌入了計算機可讀程序代碼裝置,該計算機可讀程序代碼裝置包括用于接收將要在通信鏈路上發(fā)送的消息的計算機可讀程序代碼裝置;用于判斷第一預定義別名地址集中是否有可用的未用別名地址的計算機可讀程序代碼裝置;用于如果有可用的未用別名地址、則將第一預定義別名地址集中的一個未用別名地址與接收消息的至少一部分頭標相關聯的計算機可讀程序代碼裝置;用于如果沒有未用的別名地址、則將第一預定義別名地址集中的一個用過的別名地址與接收消息的至少一部分頭標相關聯的計算機可讀程序代碼裝置;用于從具有頭標的后續(xù)消息中移除該至少一部分頭標以提供簡化的數據消息的計算機可讀程序代碼裝置,該部分是與接收消息的完全一致的頭標;和用于在通信鏈路上發(fā)送該簡化的數據消息和相關聯的別名地址的計算機可讀程序代碼裝置。
28.根據權利要求27的計算機程序產品,還包括在通信鏈路上發(fā)送與該消息相關聯的別名地址和至少一部分頭標的計算機可讀程序代碼裝置。
29.根據權利要求28的計算機程序產品,還包括用于從通信鏈路接收有關至少一部分頭標和相關的別名的確認的計算機可讀程序代碼裝置。
30.根據權利要求27的計算機程序產品,還包括用于從通信鏈路接收別名地址和所傳輸的簡化數據消息的計算機可讀程序代碼裝置;和用于根據與接收的別名地址相關聯的一部分頭標和簡化的數據消息重建后續(xù)消息的計算機可讀程序代碼裝置。
31.根據權利要求27的計算機程序產品,還包括用于識別與至少一部分頭標相關的別名地址是用過的的計算機可讀程序代碼裝置。
32.根據權利要求27的計算機程序產品,其特征在于所述用于關聯第一預定義別名地址集中一個用過的別名地址的計算機可讀程序代碼裝置包括用于確定第一預定義別名地址集中的每一個用過的別名地址是何時最后使用的、以提供每一個用過的別名地址的最后使用時間的計算機可讀程序代碼裝置;和用于如果沒有未用的別名地址可用、就將第一預定義別名地址集中具有最老最后使用時間的用過的別名地址與接收消息的至少一部分頭標相關聯的計算機可讀程序代碼裝置。
33.根據權利要求27的計算機程序產品,其特征在于該至少一部分頭標包括消息的源地址和目的地址。
34.根據權利要求27的計算機程序產品,其特征在于該通信鏈路是無線通信鏈路。
35.根據權利要求27的計算機程序產品,還包括用于監(jiān)視別名地址和頭標之間的關聯的計算機可讀程序代碼裝置;和用于根據上述監(jiān)視而增加第一預定義別名地址集中的別名地址數、以提供第二預定義別名地址集的計算機可讀程序代碼裝置。
36.根據權利要求35的計算機程序產品,其特征在于所述用于增加的計算機可讀程序代碼裝置包括用于在通信鏈路上發(fā)送增加的別名長度通知的計算機可讀程序代碼裝置。
37.根據權利要求35的計算機程序產品,還包括用于如果確定別名地址是不活動的、則從第二預定義別名地址集中移除該別名地址的計算機可讀程序代碼裝置。
38.根據權利要求37的計算機程序產品,其特征在于該第二預定義別名地址集包括第一預定義別名地址集和第三預定義別名地址集的組合。
39.根據權利要求38的計算機程序產品,還包括用于如果全部第三預定義別名地址集已經從第二預定義別名地址集中移除、就將別名地址數減少為第一預定義別名地址集的計算機可讀程序代碼裝置。
全文摘要
提供了對通信鏈路上傳送的具有頭標的消息減少開銷的方法、系統和計算機程序產品。從一組預定義的別名地址中選擇一個別名地址,并且將其與一部分頭標相關聯。如果沒有未用的別名地址,則將最近最少使用的別名地址與該部分頭標相關聯。從消息中移去該部分頭標并用別名地址來取代。然后傳輸這個簡化的數據消息??梢栽黾觿e名地址的數量以免攪亂別名地址。消息的重建是根據別名地址和與其相關的原始消息部分完成的。
文檔編號H04L12/56GK1292961SQ99803639
公開日2001年4月25日 申請日期1999年2月17日 優(yōu)先權日1998年3月4日
發(fā)明者K·巴拉錢德蘭, H·科拉帕蒂, D·R·歐文 申請人:艾利森公司