專利名稱:用于無線消息傳送系統(tǒng)的堵塞控制方法
根據(jù)U.S.C.§119(e),要求享有于1996年7月12日提出的臨時申請No.60/021617和于1996年7月22日提出的臨時申請No.60/022045的有關(guān)權(quán)利。
本發(fā)明一般涉及無線消息傳送系統(tǒng),特別涉及用于無線消息傳送系統(tǒng)的堵塞控制方法。
無線消息傳送系統(tǒng)例如尋呼系統(tǒng)在近二十年來發(fā)生了明顯的變化。早期的尋呼機是在接收來自尋呼服務(wù)的尋呼信號時發(fā)出嘟嘟聲的簡單的無線接收機。然后,佩帶尋呼機的用戶會一旦接收尋呼信號會采取一些預(yù)定的行動,例如通過普通電話撥打?qū)ず舴?wù)以得到消息。由于尋呼信號不包括有關(guān)要采取其它行動的性質(zhì)的消息,用戶接收尋呼信號時他不具有如何應(yīng)答的其它選擇。
隨著尋呼技術(shù)的進(jìn)展,有可能向?qū)ず魴C發(fā)送消息數(shù)據(jù)。該消息數(shù)據(jù)可包括字母數(shù)字消息,以通知接收方采取適當(dāng)?shù)男袆?。例如,尋呼消息可能告訴用戶向家里回電話、向辦公室回電話、干洗店停止洗衣等等。此外,技術(shù)進(jìn)展還增大發(fā)送給尋呼機的信息量。例如,數(shù)字尋呼機典型地只包含128位的信息,而數(shù)字化的電子留言可包含10,000位。
隨著無線消息技術(shù)的進(jìn)展,將來的消息傳送裝置能接收和發(fā)送多得多的消息。由于無線消息傳送系統(tǒng)的容量和用戶數(shù)量的增加,信號干擾和堵塞成為更需要關(guān)心的問題。堵塞的定義是,因缺乏資源(例如CPU處理能力、RAM存儲器或介質(zhì)的帶寬)全部或者部分無線消息網(wǎng)絡(luò)不能處理消息。當(dāng)出現(xiàn)堵塞時,無線消息傳送系統(tǒng)的性能趨于急劇下降。
用一套特定的協(xié)議控制無線消息傳送系統(tǒng)中處理信號堵塞的方法,這些協(xié)議管理無線消息傳送系統(tǒng)內(nèi)各部件之間的通信。一般來說,協(xié)議是有關(guān)形式、格式、數(shù)據(jù)內(nèi)容和在連接不同裝置的通信鏈路上發(fā)送的消息流的一套規(guī)則。無線消息傳送系統(tǒng)使用大范圍的協(xié)議,以在不同的部件之間提供通信。
由幾種協(xié)議使用的堵塞控制的最基本的方法之一是“停-等(stop-and-wait)”方法。停-等方法要求發(fā)送部件能夠?qū)⑾⒒蚱渌鼣?shù)據(jù)發(fā)送給接收部件,接收部件能夠?qū)⒈硎疽殉晒Φ亟邮蘸徒邮芟⒌拇_認(rèn)信號送回到發(fā)送部件。發(fā)送部件被稱為“發(fā)送器”,接收部件被稱為“接收器”。由于在發(fā)送消息后,發(fā)送器停止并在發(fā)送另一個消息之前等待已經(jīng)成功地接收和接受的確認(rèn)消息,所以將這種方法稱為“停-等”。因此,在任何給定時間至多存在已經(jīng)發(fā)送的單個未處理消息。由于無線消息網(wǎng)絡(luò)可能有在任何時間發(fā)送多于一個消息的能力,所以這種方法效率低。采用更先進(jìn)方法的協(xié)議允許發(fā)送器在其接收確認(rèn)信號之前發(fā)送幾個消息。
堵塞控制的更先進(jìn)的方法是“滑動窗口”方法,該方法詳細(xì)披露于“計算機網(wǎng)絡(luò)”,A.Tanenbaum,1989?;瑒哟翱诜椒ㄊ窃S多標(biāo)準(zhǔn)網(wǎng)絡(luò)協(xié)議的基礎(chǔ),例如TCP和SPX。在滑動窗口的一個類型中,發(fā)送器對各消息分配一個順序號,順序號的范圍從0至某個最大數(shù)。發(fā)送器指定發(fā)送消息的最大數(shù),即允許有在任何給定時間未處理的消息數(shù)。這個最大數(shù)確定發(fā)送窗口的大小。發(fā)送窗口包括相應(yīng)于已經(jīng)由發(fā)送器發(fā)送但還未由接收器確認(rèn)的消息的順序號表。一旦發(fā)送窗口包括允許保持的最多數(shù)量的順序號,那么發(fā)送器就不能發(fā)送更多的消息。對于發(fā)送窗口中的某順序號來說,當(dāng)來自接收器的確認(rèn)信號到達(dá)時,窗口就清除該順序號,并且窗口可接收又一個的順序號,從而允許發(fā)送器發(fā)送下一個消息。
由于發(fā)送窗口內(nèi)與當(dāng)前的順序號對應(yīng)的消息在交換中可能最終損失或受損,所以發(fā)送器必須在其存儲器中保留所有消息以便可以重發(fā)。因此,發(fā)送器必須有足夠大的緩沖器,以保存與其窗口中的順序號同樣多的消息。發(fā)送器還記錄發(fā)送各消息的時間,如果在“超時周期”過去前發(fā)送器未接收到確認(rèn)信號,那么它就重發(fā)該消息。
接收器還保留對應(yīng)于允許接受的無序順序號的數(shù)量的接收窗口。落在接收窗口外邊的順序號的消息不加說明地被放棄。帶有“1”尺寸的接收窗口意味著接收器只按連續(xù)次序接收由其順序號規(guī)定的消息。對于較大的接收窗口來說,可以無序接收消息直至接收窗口允許的最大數(shù)量。
盡管使用滑動窗口方法的協(xié)議可實現(xiàn)某種程度的堵塞控制,但這種方法有許多缺點。主要的缺點之一是,在發(fā)送窗口接收表示已經(jīng)成功地接收和接受的確認(rèn)消息之前,它不接收消息狀態(tài)指示。因此,無論出現(xiàn)堵塞或有其它問題,有關(guān)發(fā)送器遇到的問題的唯一消息是未接收到響應(yīng)發(fā)送消息的確認(rèn)信號。
采用滑動窗口方法的協(xié)議的另一個缺點是,當(dāng)窗口接收中僅存在一個空的空間而不是存在許多空間時,接收窗口不能不同地響應(yīng)。因此,無論接收窗口怎樣快速被填滿,或接近被填滿,只要可以繼續(xù)接受進(jìn)入的消息,接收窗口都只對發(fā)送器回送簡單的確認(rèn)信號。
采用滑動窗口方法的協(xié)議的另一個缺點是,發(fā)送窗口和接收窗口只可以指示在尋呼網(wǎng)絡(luò)的一個地方即在接收器處的一般堵塞。換句話說,即使接收器完成幾種功能級別和類型,但在它們中任何一個的堵塞都將造成相同的結(jié)果,亦即不發(fā)送響應(yīng)于輸入給接收器的消息的確認(rèn)信號。
采用停-等方法或滑動窗口方法的協(xié)議的另一個缺點是,一旦出現(xiàn)堵塞,消息的流動就完全停止。而且,由于發(fā)送器未接收響應(yīng)于已發(fā)送消息的任何類型的確認(rèn)信號,所以發(fā)送器設(shè)法重發(fā)消息,而這只能更加劇網(wǎng)絡(luò)中的堵塞。
本發(fā)明的目的在于提供堵塞控制方法,用以克服上述缺點和其它缺點。更具體地說,本發(fā)明的目的是提供堵塞控制方法,從而使發(fā)送器接收表示正在發(fā)生的堵塞類型的應(yīng)答和發(fā)送另一消息前發(fā)送器應(yīng)該等待的時間間隔。
提供在無線消息傳送系統(tǒng)中控制堵塞的方法。該消息系統(tǒng)包括在被傳送的信息或指令之間的節(jié)點。該信息可以是消息包形式。發(fā)送消息包的節(jié)點被稱為發(fā)送器,接收消息包的節(jié)點被稱為接收器。接收器節(jié)點至少包括一個處理消息包所需的部件。在消息包的地址中包含該消息包要發(fā)送到的部件列表。
按照本發(fā)明的一個方案,當(dāng)發(fā)送器將消息包發(fā)送給接收器時,接收器響應(yīng)這樣規(guī)定的應(yīng)答是否已經(jīng)接收了消息包;接收機中消息要路由到的任何部件是否堵塞;如果堵塞,發(fā)送器將另外的消息包發(fā)送給被堵塞部件應(yīng)等待的延遲時間。
按照本發(fā)明的另一方案,當(dāng)發(fā)送器接收表示在以前未被堵塞的部件中存在堵塞的應(yīng)答時,發(fā)送器建立臨時的堵塞隊列,以保存定址到該堵塞部件的消息包。臨時堵塞隊列包括帶有用于確定將消息包發(fā)送給被堵塞部件之間的延遲的某設(shè)定時間的定時器。一旦產(chǎn)生臨時堵塞隊列,發(fā)送器在將其發(fā)送給接收器之前確定消息包的地址,把定址到堵塞部件的消息包放入臨時堵塞隊列中。如果發(fā)送器接收表示消息因堵塞被拒絕的應(yīng)答,那么就將消息放入臨時堵塞隊列,并在由接收器規(guī)定的延遲后再次發(fā)送。如果發(fā)送器接收表示消息被堵塞的接收器接收的應(yīng)答,那么在發(fā)送任何后續(xù)消息前發(fā)送器將等待由接收器規(guī)定的延遲時間。當(dāng)在延遲時間的末端臨時堵塞隊列中沒有更多的消息時,或當(dāng)以前被堵塞的部件不再堵塞時,臨時堵塞隊列就被終止。
通過參照下列結(jié)合附圖的詳細(xì)說明,本發(fā)明的上述方面和許多附加的優(yōu)點會變得更明顯,其中
圖1是無線通信系統(tǒng)的方框圖;圖2是圖1的消息交換機系統(tǒng)的方框圖;圖3是圖1的單向?qū)ず粝到y(tǒng)的輸出消息交換機的方框圖;圖4是圖1的雙向?qū)ず粝到y(tǒng)的輸出消息交換機的方框圖;圖5A是發(fā)送部件消息發(fā)送例行程序的流程圖;圖5B是接收部件的消息接收和應(yīng)答例行程序的流程圖;圖5C是發(fā)送部件的應(yīng)答接收例行程序的流程圖;圖5D是臨時堵塞隊列的消息發(fā)送例行程序;圖6是表示將消息和應(yīng)答在內(nèi)部(home)消息交換機和輸出消息交換機之間發(fā)送和接收的時間線;和圖7是圖6所示的消息和應(yīng)答的時序圖。
圖1表示無線通信系統(tǒng)10的主要部件。無線消息傳送系統(tǒng)的最常見的類型之一是尋呼系統(tǒng)。通過尋呼系統(tǒng)的常見信息類型是用戶輸入的對特定尋呼機廣播的消息包。這種類型的消息包通過標(biāo)準(zhǔn)電話16或計算機18經(jīng)公共交換電話網(wǎng)絡(luò)20進(jìn)入無線通信系統(tǒng)10。然后,消息包被傳送給輸入消息交換機22,該開關(guān)是消息交換系統(tǒng)21的輸入部件。接著,消息包經(jīng)通信鏈路50通過內(nèi)部交換協(xié)議網(wǎng)絡(luò)24和經(jīng)通信鏈路51傳到內(nèi)部消息交換機23,該開關(guān)包括消息包指定的尋呼機的特定消息。通信鏈路50和51可以是簡單的線路、專用電話線路、微波線路、衛(wèi)星線路,或其它任何合適的通信路徑。
然后,消息包經(jīng)通信鏈路51再通過內(nèi)部交換協(xié)議網(wǎng)絡(luò)24分別經(jīng)通信鏈路52或53傳給兩個輸出消息交換機36或44的其中之一。輸出消息交換機36和44是消息交換系統(tǒng)21的輸出部件。來自輸出消息交換機36的消息包經(jīng)通信鏈路56發(fā)送給單向發(fā)射系統(tǒng)30。單向發(fā)射系統(tǒng)30發(fā)送的消息包經(jīng)發(fā)射站38和40廣播通信給其地理區(qū)域內(nèi)的尋呼機。來自輸出消息交換機44的消息包經(jīng)通信鏈路58發(fā)送給雙向發(fā)射系統(tǒng)32。發(fā)送給雙向發(fā)射系統(tǒng)32的消息包通過基站網(wǎng)絡(luò)46發(fā)送,然后經(jīng)通信鏈路62或64有選擇地分別發(fā)送給要廣播通信的基站48或49?;?8和49可以廣播通信消息包和接收來自遠(yuǎn)程尋呼機的信號。
在單向?qū)ず粝到y(tǒng)30中不能獲得的雙向?qū)ず粝到y(tǒng)32的一個特征是使用“定位”信號。用由基站48和49同步廣播通信的唯一“定位”信號可以確定特定的地理區(qū)域,在該區(qū)域中特定尋呼機被定位。一旦響應(yīng)唯一定位信號的尋呼機接收了信號,它將“確認(rèn)”信號送回基站48和49。兩個基站48和49的其中之一或二者接收確認(rèn)信號并將有關(guān)信號強度的消息送回輸出消息交換機44,以分析確定哪個基站最靠近該尋呼機。然后,可以從最近的基站廣播通信對該尋呼機的消息包。如以下更詳細(xì)的說明那樣,將消息廣播通信給尋呼機的單個基站可能要求另一級別的堵塞控制,而不是在單向發(fā)射系統(tǒng)中所需的堵塞控制級別。
消息交換系統(tǒng)21使用的協(xié)議管理如何控制在消息交換機22、23、36和44之間正被發(fā)送的消息的堵塞。盡管將被發(fā)送的消息稱為“消息包”或簡稱為“消息”,但在本應(yīng)用中,它們實際上可以是任何類型的應(yīng)用協(xié)議數(shù)據(jù)單元(APDU),該數(shù)據(jù)單元為“包”形式,在任何消息交換機之間可以該形式發(fā)送數(shù)據(jù)或命令。消息傳送系統(tǒng)21包括作為輸入裝置的輸入消息交換機22,作為消息存儲裝置的內(nèi)部交換機23,作為輸出裝置的輸出消息交換機36和44,以及連接所有消息交換機的內(nèi)部交換協(xié)議網(wǎng)絡(luò)24。在優(yōu)選實施例中,輸入消息交換機22和內(nèi)部消息交換機23可以是設(shè)備的相同物理部件的兩個方面。
各消息交換機中的關(guān)鍵部件在消息交換系統(tǒng)21中被表示成“節(jié)點”標(biāo)記。節(jié)點可以表示許多部件,即在輸入消息交換機中,節(jié)點可以表示一組進(jìn)入的電話線路;在內(nèi)部消息交換機中,節(jié)點可以表示特定尋呼機的存儲器區(qū)域;在輸出消息交換機中,節(jié)點可以表示特定地理區(qū)域中的發(fā)射機。賦予各節(jié)點唯一的標(biāo)識號,消息交換系統(tǒng)21使用標(biāo)識號識別網(wǎng)絡(luò)中各關(guān)鍵部件的位置。
如圖2所示,輸入消息交換機22包括節(jié)點N1、N2和N3;內(nèi)部消息交換機23包括節(jié)點N4、N5和N6;輸出消息交換機包括節(jié)點N7;和輸出消息交換機44包括節(jié)點N8。實際上,任一消息交換機可以包括任何數(shù)量的節(jié)點。各節(jié)點包括一個存儲器區(qū)和一個時鐘;因此,節(jié)點N1至N8分別包括存儲器ME1至ME8和時鐘CL1至CL8。如下更詳細(xì)的說明那樣,這些存儲器和時鐘可以用于堵塞控制。具體地,可以在存儲器區(qū)中建立堵塞隊列。盡管下面參照將消息包從PSTN20通過尋呼交換機網(wǎng)絡(luò)發(fā)送給指定的尋呼機說明了節(jié)點的使用,但應(yīng)該理解,可以通過不同的路徑和通過任何節(jié)點序列發(fā)送不同類型的消息包或APDU。
在輸入消息交換機22中包括節(jié)點N1、N2和N3,各節(jié)點可分別表示來自公共交換電話網(wǎng)絡(luò)20的唯一輸入線路組。輸入消息交換機22接收來自公共交換電話網(wǎng)絡(luò)20的消息,然后,如下所述,將消息發(fā)送給適當(dāng)?shù)膬?nèi)部消息交換機23,該開關(guān)被指定給要被尋呼的特定尋呼機。
來自輸入消息交換機22的節(jié)點N1、N2或N3的消息包通過內(nèi)部交換協(xié)議網(wǎng)絡(luò)24發(fā)送給內(nèi)部消息交換機23的節(jié)點N4、N5或N6。節(jié)點N4、N5和N6是內(nèi)部節(jié)點,通常表示各單獨尋呼機所需要的消息存儲區(qū)。發(fā)送給尋呼機和來自尋呼機的所有消息都通過尋呼機的內(nèi)部節(jié)點。內(nèi)部節(jié)點存儲進(jìn)入的消息包,如下所述,將消息通過輸出交換機發(fā)送給尋呼機。內(nèi)部節(jié)點還保留有關(guān)尋呼機的數(shù)據(jù)庫記錄,包括有關(guān)地理區(qū)域的消息,在該區(qū)域中,將廣播通信尋呼機的消息包。
將來自內(nèi)部消息交換機23的節(jié)點N4、N5或N6的消息包通過內(nèi)部交換協(xié)議網(wǎng)絡(luò)分別發(fā)送給輸出消息交換機36或44的節(jié)點N7或N8。節(jié)點N7和N8通??膳c某些發(fā)射機或被發(fā)射機覆蓋的地理區(qū)域相聯(lián)系。因此,節(jié)點N7和N8可以表示覆蓋特定區(qū)域的發(fā)射機,例如特定的城市,和應(yīng)該發(fā)送給該節(jié)點的在城市中要被廣播通信的消息包。
為了說明本發(fā)明的堵塞控制方法,圖2中節(jié)點N7和N8還表示包括某個應(yīng)用程序(application)、信道和點。應(yīng)用、信道和點在各節(jié)點內(nèi)被認(rèn)為是“部件”。部件可以是節(jié)點內(nèi)的任何類型的元件,包括軟件應(yīng)用程序和進(jìn)行消息包或指令處理的類似非物理實體。在一些實施例中,可以把節(jié)點本身認(rèn)為是一種類型的部件。節(jié)點N7包括應(yīng)用AP1和信道CH1及CH2,節(jié)點N8包括應(yīng)用AP2和信道CH3及CH4,還有點P1和P2。“信道”是指射頻信道。一旦在節(jié)點上接收了消息包,就可以從一個或多個信道與該節(jié)點相關(guān)的發(fā)射機廣播通信消息包。因此,各節(jié)點可以有幾個射頻信道,以從其各發(fā)射機廣播通信消息包。除廣播通信外,在節(jié)點上還可以完成其它功能,例如在節(jié)點的數(shù)據(jù)庫中查找消息。這種功能被稱為“應(yīng)用”。此外,在雙向發(fā)射系統(tǒng)32中,可以指定消息包去特定的基站48或49(圖1)??梢詫⒒?8和49表示為節(jié)點上的“點”。如下所述,點一般指在發(fā)送消息包的時刻發(fā)送器未知的任何部件。因此,總之當(dāng)通過內(nèi)部消息交換機將消息包發(fā)送給輸出消息交換機時,消息包可以要求使用特定的節(jié)點、應(yīng)用、信道和/或點。
輸出消息交換機中的以上部件與可能在輸出消息交換機中出現(xiàn)的某些類型的堵塞有關(guān)。盡管以下參照輸出消息交換機說明堵塞的類型和堵塞控制方法,但應(yīng)該理解,在任何消息交換機中可能出現(xiàn)相同類型的堵塞,而且以下說明的堵塞控制方法同樣可以用于任何相同類型的堵塞。堵塞控制的目的在于限定發(fā)送給被堵塞的尋呼網(wǎng)絡(luò)部件的數(shù)據(jù)量。圖3和圖4從原理上說明可能出現(xiàn)堵塞的某些通信路徑。圖3和圖4所示的通信路徑僅用于說明的目的,并不一定表示實際的物理連接。
如圖3所示,通信線路70從通信鏈路52達(dá)到節(jié)點N7。從線路70,線路72達(dá)到應(yīng)用AP1。從應(yīng)用AP1,線路74和76分別到達(dá)信道CH1和CH2。如圖4所示,通信線路80從通信鏈路54到達(dá)節(jié)點N8。從線路80,線路82到達(dá)應(yīng)用AP2。從應(yīng)用AP2,線路84和86分別到達(dá)信道CH3和CH4。從信道CH3和CH4,線路91和94到達(dá)點P1,線路92和95到達(dá)點P2。
下面,參照圖3和圖4說明堵塞的四種類型,包括連帶(association)堵塞、應(yīng)用堵塞、信道堵塞和點堵塞。當(dāng)整個節(jié)點被堵塞,例如當(dāng)節(jié)點上所有部件被堵塞或出現(xiàn)其它問題以致節(jié)點不能接收其它消息時,會出現(xiàn)連帶堵塞。節(jié)點N7或N8上的連帶堵塞會分別阻止其它消息從線路70或80到達(dá)節(jié)點。當(dāng)應(yīng)用被堵塞,例如分別阻止其它消息從線路72或82到達(dá)應(yīng)用AP1或AP2時,會出現(xiàn)應(yīng)用堵塞。當(dāng)信道被堵塞,例如分別阻止其它消息從線路74、76、84或86到達(dá)信道CH1、CH2、CH3或CH4時,會出現(xiàn)信道堵塞。當(dāng)點被堵塞,例如分別阻止其它消息從線路91和94或92和95到達(dá)點P1或P2時,會出現(xiàn)點堵塞。如下所述,點堵塞與其它類型的堵塞不同。
根據(jù)本發(fā)明的堵塞控制方法,輸出消息交換機36和44中的節(jié)點用應(yīng)答響應(yīng)由內(nèi)部消息交換機23中的節(jié)點發(fā)送的各進(jìn)入消息,該應(yīng)答表示(1)是否已經(jīng)接收了消息;(2)出現(xiàn)堵塞的部件(若顯示堵塞),和(3)在發(fā)送下一個消息前,內(nèi)部消息交換機23中的該節(jié)點應(yīng)該等待的規(guī)定延遲時間。為了控制消息流的速率,可以改變延遲時間。以這種方式,如果部件變?yōu)槎氯?,并且接著暢通,可采用“慢啟動”技術(shù);就是說,速率可以慢慢地上升,而不是僅僅“打開閘門”。
當(dāng)內(nèi)部消息交換機23接收來自輸出消息交換機表示部件被堵塞的應(yīng)答時,它為需要使用該部件的消息建立臨時堵塞隊列。例如,如果將消息從內(nèi)部消息交換機23的節(jié)點N4發(fā)送給輸出消息交換機36的節(jié)點N7并在信道CH1上廣播通信,而應(yīng)答表示信道CH1被堵塞,則在節(jié)點N4的存儲器ME4中為信道CH1建立臨時堵塞隊列。接著,需要使用信道CH1的所有消息將被放在該臨時堵塞隊列中。
可以同時存在用于多個被堵塞部件的多個臨時堵塞隊列。如果消息需要使用多于一個的被堵塞部件,那么將該消息放在最高級別部件的臨時堵塞隊列中。由級別系統(tǒng)確定部件的級別,例如級別的順序為節(jié)點、應(yīng)用、信道和點,其表示最高級別部件至最低級別部件的順序。
來自輸出消息交換機的表示以前被堵塞的部件不再堵塞的應(yīng)答允許終止該部件的臨時堵塞隊列。通過發(fā)送其所有消息使隊列變空,然后重新分配存儲器ME4中曾為該隊列分配的區(qū)域。如果在延遲時間后在隊列中沒有要發(fā)送的消息,那么也重新分配存儲器中為隊列分配的區(qū)域。
當(dāng)由來自輸出消息交換機的最近的應(yīng)答消息中表示的延遲時間確定時,臨時堵塞隊列中的消息以周期性間隔發(fā)送給被堵塞的部件。通過節(jié)點中的時鐘可以測量周期性間隔,在該節(jié)點中存在臨時堵塞隊列。時鐘計數(shù)至到發(fā)送消息之間設(shè)定的延遲時間。通過在接收消息交換機中的算法可以確定應(yīng)答中規(guī)定的延遲時間。該算法可考慮多種因素,其中一些因素可以是被堵塞的特定部件的特性;部件增加堵塞使消息系統(tǒng)的性能下降的速率;消息系統(tǒng)的其它部分是否有堵塞;和因堵塞部件是否已經(jīng)拒絕了前面的消息。
采用堵塞控制的另一方法,在應(yīng)答中可以不包括延遲時間,而由內(nèi)部消息交換機23使用根據(jù)其自身條件產(chǎn)生延遲時間的算法。例如,在優(yōu)選實施例中,當(dāng)連帶堵塞出現(xiàn)以致整個節(jié)點被堵塞時,在表示節(jié)點被堵塞的應(yīng)答中不包括延遲時間。相反,內(nèi)部消息交換機23使用這樣的算法,該算法規(guī)定每次從臨時堵塞隊列中發(fā)送消息并被拒絕時,延遲時間被加倍,而每次接收消息時,延遲時間被減半。設(shè)定延遲時間的最大和最小值,當(dāng)達(dá)到最小延遲時間時,終止臨時堵塞隊列。
在圖5A、5B、5C和5D的流程圖中說明應(yīng)用、信道、和/或點的堵塞控制的優(yōu)選方法。盡管該示出的方法可以施加在消息交換系統(tǒng)21的任何地方出現(xiàn)的堵塞上,但為了說明的目的,圖5A至圖5D應(yīng)用于將內(nèi)部消息交換機23中的節(jié)點N4發(fā)送的消息包傳送給消息交換機44中的節(jié)點N8。在圖5A至圖5D中,內(nèi)部消息交換機23被規(guī)定為“發(fā)送器”,輸出消息交換機44被規(guī)定為“接收器”。再有,如上所述,被發(fā)送的“消息”或“消息包”實際上可以是應(yīng)用協(xié)議數(shù)據(jù)單元(APDU)的任何類型,該消息是“包”形式,在這種包中,數(shù)據(jù)或指令可以在消息交換系統(tǒng)21中的任何消息交換機之間發(fā)送。
圖5A表示發(fā)送器的消息包發(fā)送例行程序。在啟動程序塊100后,在程序塊102中,程序檢查要發(fā)送的下一個消息包的地址。消息包地址包括接收器中的部件,需要利用該部件處理消息包。例如,地址可以規(guī)定消息包所需的特定的節(jié)點、應(yīng)用和/或信道。在地址中不包括點,其原因在后面說明。因此,地址規(guī)定消息包將通過的部件的“路徑”。
在判定(decision)程序塊104中,利用當(dāng)前存在著臨時堵塞隊列的部件表比較各部件,從而程序確定消息包地址是否包括任何被堵塞部件。如下所述,已知被堵塞部件有為其建立的臨時堵塞隊列。如果在地址中沒有被堵塞部件那么程序繼續(xù)至程序塊106,在該程序塊中將消息包發(fā)送給接收器,程序接著返回程序塊102以檢查下一個消息包地址。如果地址中的一個部件被堵塞,那么程序繼續(xù)至程序塊108,在該程序塊中把消息包放在該確定的被堵塞部件的臨時堵塞隊列的尾部,程序返回程序塊102以檢查下一個消息包地址。
圖5B表示接收器的消息接收和應(yīng)答例行程序。在程序塊150啟動后,接收器在程序塊152中等待要從發(fā)送器接收的消息。在判定程序塊154中,程序確定沿消息路徑是否有連帶堵塞。如上所述,連帶堵塞是指該消息包定址的整個節(jié)點有難以處理消息。如果出現(xiàn)連帶堵塞,那么程序轉(zhuǎn)到程序塊156,在該程序塊中,把被堵塞的節(jié)點規(guī)定為對發(fā)送器的應(yīng)答的一部分。如上所述,在優(yōu)選實施例中,接收器在連帶堵塞情況下不指定延遲時間,于是從程序塊156程序直接轉(zhuǎn)到程序塊157,在該程序塊中,將應(yīng)答發(fā)送給發(fā)送器,表示存在連帶堵塞。如果在程序塊154中未出現(xiàn)連帶堵塞,那么程序轉(zhuǎn)到判定程序塊158。
在判定程序塊158,程序確定沿消息路徑是否有應(yīng)用堵塞。如上所述,應(yīng)用堵塞是指該消息包定址的應(yīng)用有難以處理消息。如果顯示應(yīng)用堵塞,那么程序轉(zhuǎn)到程序塊160,在該程序塊中,把被堵塞的應(yīng)用規(guī)定為對發(fā)送器的應(yīng)答的一部分。如果未出現(xiàn)應(yīng)用堵塞,程序轉(zhuǎn)到判定程序塊162。
在判定程序塊162中,程序通過監(jiān)視接收器產(chǎn)生什么響應(yīng),確定沿消息路徑是否有信道堵塞。如上所述,信道堵塞是指該消息包定址的信道難以處理消息。如果出現(xiàn)信道堵塞,那么程序轉(zhuǎn)到程序塊164,在該程序塊中,把被堵塞的信道規(guī)定為對發(fā)送器的應(yīng)答的一部分。如果不出現(xiàn)信道堵塞,那么程序轉(zhuǎn)到判定程序塊166。
在判定程序塊166中,程序確定沿消息路徑是否有點堵塞。如下所述,點堵塞是指當(dāng)發(fā)送消息時沿發(fā)送器不知道的消息路徑上的某“點”難以處理消息。如果出現(xiàn)點堵塞,那么程序轉(zhuǎn)到程序塊168,在該程序塊中,將被堵塞的點規(guī)定為對發(fā)送器的應(yīng)答的一部分。如果不出現(xiàn)點堵塞,那么程序轉(zhuǎn)到程序塊170,在該程序塊中,將應(yīng)答送回發(fā)送器,表示在沒有堵塞的情況下已經(jīng)接收了消息包。
各程序塊154、158、162和166表示輸出消息交換機中的不同軟件模塊。隨著消息通過程序塊154、158、162和166達(dá)到“在堆棧頂上(upthe stack)”,不同的軟件模塊處理該消息。例如,在程序塊154的“節(jié)點”處理器中消息碰到第一軟件模塊,該模塊了解在其配置中有多少資源。如果節(jié)點被堵塞,該模塊還是形成堵塞消息的軟件模塊。
從程序塊160、164或168,程序轉(zhuǎn)到程序塊172,在該程序塊上確定發(fā)送器將消息發(fā)送給被堵塞部件之間應(yīng)該等待的延遲時間。如上所述,可由接收器中的算法確定延遲時間,該算法可以涉及多個因素。程序接著轉(zhuǎn)到判定程序塊174,在該程序塊上程序確定是否應(yīng)該接收或拒絕來自發(fā)送器的當(dāng)前消息包。如果當(dāng)前消息包被拒絕,那么程序繼續(xù)至程序塊176,在該程序塊上將應(yīng)答發(fā)送回發(fā)送器,表示消息包已經(jīng)被拒絕、被堵塞部件和發(fā)送器在將另外的消息包發(fā)送給被堵塞部件之前應(yīng)該等待的延遲時間。如果當(dāng)前消息包被接收,那么程序繼續(xù)至程序塊178,在該程序塊上將應(yīng)答發(fā)送回發(fā)送器,表示在堵塞的情況下消息包已經(jīng)接收、被堵塞部件和發(fā)送器在將另外的消息包發(fā)送給被堵塞部件之前應(yīng)該等待的延遲時間(如果需要)。
程序塊178表示本發(fā)明的堵塞控制方法甚至在堵塞確實出現(xiàn)前也可以工作。如下所述,接收器可以有確定部件剛剛趨近堵塞狀態(tài)的方法,因此,甚至在部件變得堵塞之前,可以實施預(yù)防性的堵塞控制。因此,如在程序塊178中所示,可以將應(yīng)答發(fā)送給發(fā)送器,表示雖然已經(jīng)接收當(dāng)前的消息包,但仍應(yīng)該實施堵塞控制。
圖5C表示發(fā)送器的應(yīng)答接收例行程序。程序開始于程序塊110,然后在判定程序塊112上確定來自接收器的應(yīng)答是否表示正在出現(xiàn)堵塞。如果表示堵塞,那么程序轉(zhuǎn)到判定程序塊120。如果表示不堵塞,那么程序轉(zhuǎn)到判定程序塊114。
在判定程序塊114中,程序確定臨時堵塞隊列目前是否對產(chǎn)生應(yīng)答的消息包路徑上的任何部件有效。如上所述,接收器上部件的臨時堵塞隊列的存在表示在該部件上預(yù)先已經(jīng)有堵塞。表示該部件不再堵塞的應(yīng)答可以終止臨時堵塞隊列。因此,在判定程序塊114上,如果在預(yù)先被堵塞的部件上表示不再有堵塞,那么程序轉(zhuǎn)到程序塊116,在該程序塊上,在沒有延遲時間的情況下發(fā)送臨時堵塞隊列中的所有消息,并在程序塊136上終止隊列。如果沒有隊列,那么程序轉(zhuǎn)到程序塊136,在該程序塊上程序結(jié)束。
在判定程序塊120上,程序確定臨時堵塞隊列對于由應(yīng)答消息規(guī)定的堵塞的部件目前是否有效。如果臨時堵塞隊列目前無效,那么程序轉(zhuǎn)到程序塊122,在該程序塊上建立新的對被堵塞部件定址的消息包的臨時堵塞隊列。如上所述,隊列使用定時器,根據(jù)設(shè)定的延遲時間按周期間隔送出消息包。如果已經(jīng)存在隊列,那么程序轉(zhuǎn)到判定程序塊124,在該程序塊中確定由應(yīng)答表示的延遲時間是否與隊列目前使用的延遲時間相同。如果延遲時間相同,那么程序轉(zhuǎn)到判定程序塊130。如果延遲時間不同,那么程序轉(zhuǎn)到程序塊126,在該程序塊中改變隊列的延遲時間。
當(dāng)在程序塊126上程序改變臨時堵塞隊列的延遲時間時,隊列的定時器可能已經(jīng)處于先有延遲時間的中間時段。在優(yōu)選實施例中,當(dāng)延遲時間在程序塊126上改變時不復(fù)位定時器,而允許定時器繼續(xù)運行,而且沿著對先有延遲時間的任何計時時間繼續(xù)朝向新的延遲時間計時。因此,如果新的延遲時間不長于當(dāng)前定時器的計時,那么定時器繼續(xù)運行直至它達(dá)到新的延遲時間,在該點上發(fā)送隊列中的下一個消息。如果新的延遲時間短于當(dāng)前定時器的計時,那么立即發(fā)送隊列中的下一個消息,計數(shù)器開始按新的延遲時間計數(shù)。從程序塊126或程序塊122中,程序轉(zhuǎn)到判定程序塊130。
在判定程序塊130上,程序確定產(chǎn)生該應(yīng)答的消息包是否被拒絕。如果消息包未被拒絕,那么程序在程序塊136上結(jié)束。如果消息包被拒絕,那么將消息包放在被堵塞部件的臨時堵塞隊列的前面。程序塊132表示如果消息包被接收器拒絕,那么從臨時堵塞隊列的前面發(fā)送給接收器的消息包將返回臨時堵塞隊列的前面。這將按某個順序保留隊列中的消息。在程序塊132之后,程序在程序塊136上結(jié)束。
圖5D表示臨時堵塞隊列的消息包發(fā)送例行程序。程序在程序塊140上開始,轉(zhuǎn)到啟動延遲定時器的程序塊142。在判定程序塊144上,在延遲時間的末尾,程序確定在隊列中是否有要發(fā)送的任何消息。如果隊列是空的,那么程序轉(zhuǎn)到終止隊列的程序塊148。如果在隊列中有要發(fā)送的消息,程序轉(zhuǎn)到發(fā)送隊列中下一個消息的程序塊146。然后,程序轉(zhuǎn)回重新啟動延遲定時器的程序塊142。
參照圖5A至圖5D,可解釋點堵塞和其它堵塞類型之間的一些差別。如上所述,在圖5A中,在判定程序塊104上,程序確定消息包地址在其路徑上是否包括任何被堵塞部件。如果存在堵塞,那么程序繼續(xù)至程序塊108,在該程序塊中消息包被放在規(guī)定堵塞部件隊列的末尾。由于發(fā)送消息包經(jīng)過路徑的這些部件是發(fā)送器上已知地址的部件,所以程序的該部分對特定節(jié)點、應(yīng)用和/或信道上出現(xiàn)的堵塞是有效的。但是,在點堵塞的情況下,由于對其發(fā)送消息的點部件的定義不是地址的一部分,因此當(dāng)發(fā)送消息時發(fā)送器不會知道該點部件。
例如,參照圖1,如果內(nèi)部消息交換機23是發(fā)送器,輸出消息交換機44是接收器,基站48和49是可能的“點”,那么在發(fā)出如上所述的“定位信號”之前,發(fā)送消息包的點是不知道的。如上所述,當(dāng)消息包到達(dá)輸出消息交換機44時,利用定位信號確定哪個基站(點)更靠近尋呼機,以由哪個基站48或49(點)發(fā)送消息包。因此,直至輸出消息交換機44(接收器)接收消息包前,仍不知道將消息包發(fā)送給哪個基站(點)。因此,當(dāng)內(nèi)部消息交換機23(發(fā)送器)有發(fā)送給輸出消息交換機44(接收器)的消息包時,由于內(nèi)部消息交換機23(發(fā)送器)還不知道消息包將最終發(fā)送給哪個特定的點,所以不能將消息包放在特定點的特定臨時堵塞隊列中。
為了比較,一旦消息包到達(dá)接收器和出現(xiàn)點堵塞,那么當(dāng)應(yīng)答發(fā)送回發(fā)送器時,應(yīng)答規(guī)定被堵塞的點。因此,如圖5C所示,在判定程序塊130上,當(dāng)消息因點堵塞被拒絕時,與堵塞的任何其它類型一樣,可以將消息包放在特定點建立的臨時堵塞隊列中。因此,盡管原來的消息包不能放在特定點的臨時堵塞隊列中,但一旦消息包從特定點中被拒絕,消息包也可以放在特定點的臨時堵塞隊列中。
參照圖5C和圖5D,可以解釋點堵塞和其它堵塞類型之間的另一差別。當(dāng)根據(jù)圖5D中的程序從臨時堵塞隊列中發(fā)送消息包時,應(yīng)答被發(fā)送回接收器,并根據(jù)圖5C的程序由發(fā)送器處理應(yīng)答。當(dāng)從臨時堵塞隊列中發(fā)送的消息包被拒絕時,根據(jù)圖5C的程序塊132,消息被放在拒絕它的部件的臨時堵塞隊列的開頭。對于節(jié)點、應(yīng)用或信道來說,不改變發(fā)送消息包的部件,因此如果從這些部件的其中之一的臨時堵塞隊列中發(fā)送消息包,然后由于該部件仍被堵塞而拒絕消息包,那么消息包將返回發(fā)送它的同一臨時堵塞隊列的開頭。如果在沒有堵塞的情況下接收消息,那么就可以終止該部件的堵塞隊列。
但是,在點堵塞的情況下,從特定點的臨時堵塞隊列中發(fā)送的消息包并不總是發(fā)送給相同的點部件,因此應(yīng)答可能表示消息在不同的點上被拒絕或被接收。再次參照圖1,如果點是基站48和49,那么當(dāng)在輸出消息交換機44(接收器)上接收消息包時,利用如上所述的“定位”信號,接收器確定從哪個基站48或49(點)發(fā)射消息包。因此,即使在內(nèi)部消息交換機23(發(fā)送器)中從臨時堵塞隊列發(fā)送特定的第一點(例如,以前更靠近尋呼機的基站48)的消息包,來自接收器的應(yīng)答消息可能表示在不同的點上被拒絕或被接收的消息(例如,現(xiàn)在更靠近尋呼機的基站49)。如果消息在不同的點上被拒絕,不把它放回發(fā)送它的臨時堵塞隊列,而是把消息包放在最近拒絕它的點的臨時堵塞隊列的前面。應(yīng)答(例如,延遲時間)上的指令也僅施加給從剛拒絕該消息的點的臨時堵塞隊列。
為了進(jìn)一步說明本發(fā)明的工作,圖6和圖7包括一組展示的實例。圖6表示消息包的時間線和內(nèi)部消息交換機23和輸出消息交換機36之間的應(yīng)答。為了說明圖7中定時器的計時,圖6最左邊的垂直時間線表示消息和應(yīng)答的“事件時間”。還如圖6所示,用由左向右的進(jìn)入標(biāo)明內(nèi)部消息交換機23的垂直線的箭頭表示進(jìn)入內(nèi)部消息交換機23的新消息。如下所述,與圖7對應(yīng)的時間T1至T8也標(biāo)注在圖6中。在信道CH1的臨時堵塞隊列中排隊的消息在圖6中用內(nèi)部消息交換機23線右邊的標(biāo)記表示。再有,按與最新發(fā)送消息相同的方式表示從信道CH1的臨時堵塞隊列中發(fā)送的消息。各圖示消息A至F用其將通過的部件地址來標(biāo)記,在這種情況下地址僅表示為節(jié)點和信道。
如圖6中由左向右的箭頭所示,一旦消息從內(nèi)部消息交換機32移至輸出消息交換機36,那么用由右向左的返回箭頭表示從輸出消息交換機36返回內(nèi)部消息交換機23的應(yīng)答。在應(yīng)答箭頭的原點至輸出消息交換機36線的右邊表示應(yīng)答的內(nèi)容。應(yīng)答表示消息被接收還是被拒絕,消息路徑及是否被堵塞,如果被堵塞,對于被堵塞部件的臨時堵塞隊列來說,延遲時間應(yīng)該如何。
當(dāng)特定部件變得堵塞時,除在內(nèi)部消息交換機23上啟動的臨時堵塞隊列外,在優(yōu)選實施例中,在輸出消息交換機36中也存在一些永久隊列。輸出消息交換機36中的永久隊列用于特定的部件和用于作為部件正常工作一部分的功能。例如,在圖6所示的實例中,信道CH1和CH2在輸出消息交換機36中有永久隊列。這些永久隊列可以是存儲器ME7的一部分。
永久隊列不改變上述堵塞控制方法。當(dāng)信道CH1和CH2有永久隊列時,發(fā)送給信道的消息可以被放在永久隊列中而不是立即被廣播通信,在這種情況下,正如如果不存在永久隊列那樣,表示消息已在信道中被接收的應(yīng)答可以發(fā)送給發(fā)送器。這還提供了在實際出現(xiàn)堵塞前可以如何實施堵塞控制的實例,在該實例中,實際上在永久隊列填滿前,可以對信道啟動堵塞控制。在啟動堵塞控制上可能的觸發(fā)狀態(tài)的實例可以是永久隊列中的一定數(shù)量的消息或永久隊列的填入速率。
如下所述,當(dāng)永久隊列被所有方式填滿時,會出現(xiàn)圖6和圖7所示的觸發(fā)堵塞控制的觸發(fā)狀態(tài)。當(dāng)信道可以處理來自永久隊列的消息時,就從隊列中刪除處理過的消息。圖6中,從輸出消息交換機36的線中用由左向右的箭頭表示從隊列中刪除處理過的消息。對圖7中時間T1至T8示出信道CH1的臨時堵塞隊列的內(nèi)容和信道CH1及CH2的永久隊列的內(nèi)容。盡管為了說明的目的,圖7中的各隊列僅示出了三個消息,但實際上隊列可以保留與系統(tǒng)存儲器允許保留消息同樣多的消息。圖7中還示出當(dāng)前定時器計時和信道CH1的臨時堵塞隊列的設(shè)定延遲時間。
如圖6和圖7所示,在時間T1,沒有消息進(jìn)入內(nèi)部消息交換機23。然后,新消息A和B到達(dá)內(nèi)部消息交換機23中的節(jié)點N7,被發(fā)送給輸出消息交換機36中的節(jié)點N7的信道CH1,并被接收在存儲器ME7內(nèi)信道CH1的永久隊列中,如圖7中時間T2處所示。
如圖6所示,在時間T2后,新的消息C到達(dá)并由信道CH1的永久隊列接收,但帶有表示堵塞已經(jīng)開始和應(yīng)對節(jié)點N7中信道CH1的所有消息延遲t=100的返回消息。本例中,表示堵塞的輸出消息交換機36的觸發(fā)狀態(tài)是信道CH1的永久隊列被排滿。一旦由內(nèi)部消息交換機23接收來自消息C的應(yīng)答消息,就為定址到節(jié)點N7的信道CH1的消息建立臨時堵塞隊列。把延遲時間按指令設(shè)定至t=100,隊列定時器即時鐘CL4的一部分開始從0計時直至它達(dá)到設(shè)定的延遲時間,在該點上,隊列前面的消息將被發(fā)送給節(jié)點N7的信道CH1。圖7中為展示的目的,在時間T3,如圖6的垂直時間線所示,經(jīng)過t=20的時間,于是定時器顯示t=20。
如圖6所示,在時間T3后,新的消息D到達(dá),并對節(jié)點N7上信道CH1定址,于是消息D變成放在節(jié)點N7上信道CH1的新的臨時堵塞隊列中的第一消息。如圖7的時間T4所示。
如圖6所示,在時間T4后,定時器達(dá)到延遲時間(已經(jīng)經(jīng)過t=100的總時間),于是信道CH1的臨時隊列設(shè)法將臨時隊列前面的消息(消息D)發(fā)送給節(jié)點7上的信道CH1。圖6所示的應(yīng)答表示消息D在堵塞的情況下被拒絕,和給出t=150的延遲時間。因此,消息D被放回信道CH1臨時堵塞隊列的前面。這種情況如圖7中時間T5所示,延遲時間被設(shè)定為t=150。但是,在這種情況下不是從接收應(yīng)答時開始計時,定時器從發(fā)送消息D時開始計時。由于定時器從發(fā)送消息D時已經(jīng)開始計時新的t=100,所以出現(xiàn)這種情況。由于當(dāng)定時器達(dá)到延遲時間時定時器才停止計時,所以當(dāng)來自消息D的應(yīng)答將延遲時間從t=100重設(shè)到t=150時,已經(jīng)開始計時但還未達(dá)到t=100的定時器僅繼續(xù)計時直至它達(dá)到t=150。
還如圖6所示,在時間T4后,信道CH1處理消息A,因此除去來自信道CH1永久隊列的消息A。消息A的除去允許消息B至C在信道CH1的永久隊列中向前移動一個位置,如圖7中的時間T5所示。如圖6所示,時間T4后還出現(xiàn)新的消息E和F的到達(dá)。如圖7中的時間T5所示,定址到節(jié)點N7上信道CH1的消息E被放在消息D之后的臨時堵塞隊列中。定址到節(jié)點N7上信道CH2的消息F是信道CH2的第一消息,它在沒有堵塞的情況下被接收,并被放在信道CH2的永久隊列中,這可以從圖7的T5上看出。
如圖6所示,在時間T5后,信道CH1臨時堵塞隊列的定時器達(dá)到延遲時間(已經(jīng)經(jīng)過t=150的總時間),于是臨時堵塞隊列試圖將隊列前面的消息(消息D)發(fā)送給節(jié)點N7上的信道CH1。如圖6所示的應(yīng)答表示在堵塞情況下接收消息D,和給出新的延遲時間t=90。因此,消息D放置在信道CH1永久隊列的后面,如圖7中的時間T6所示。
如圖6所示,在時間T6后,信道CH1l處理消息B、C和D,于是從信道CH1的永久隊列中除去這些消息,如可從圖7中的時間T7上看出。時間T6后還出現(xiàn)的情況是,信道CH1臨時堵塞隊列的定時器達(dá)到延遲時間(已經(jīng)經(jīng)過t=90的總時間),因此臨時堵塞隊列將隊列前面的消息(消息E)發(fā)送給節(jié)點N7上的信道CH1。如圖6所示的應(yīng)答表示在沒有堵塞的情況下接收消息E,于是節(jié)點N7上的信道CH1的臨時堵塞隊列與設(shè)定的延遲時間一起被刪除。因此,消息E被放置在信道CH1的永久隊列上,如圖7中時間T7所示。
如圖6所示,在時間T7后,信道CH2處理消息F和信道CH1處理消息E,因此清除信道CH1和CH2的永久隊列存儲器。在圖7中的時間T8表示這種情況。
盡管已經(jīng)說明和論述了本發(fā)明的優(yōu)選實施例,但十分明顯,在不脫離本發(fā)明的精神和范圍的情況下,可以進(jìn)行各種改進(jìn)。例如,盡管以堵塞的節(jié)點、應(yīng)用、信道和點的類型說明了堵塞控制的方法,但對于可能出現(xiàn)堵塞的消息系統(tǒng)中的任何區(qū)域或功能,也可以實施相同的方法。
權(quán)利要求
1.在具有多個節(jié)點的無線消息傳送系統(tǒng)中控制消息包堵塞的方法,其中該消息包在系統(tǒng)的所述節(jié)點之間發(fā)送,其中將發(fā)送消息包的節(jié)點稱為發(fā)送器,將接收消息包的節(jié)點稱為接收器,所述接收器具有一個處理消息包所需要的部件,該方法包括所述接收器對發(fā)送消息包的發(fā)送器進(jìn)行應(yīng)答的步驟,應(yīng)答指定(a)是否有堵塞;(b)如果有堵塞,在其上發(fā)生堵塞的部件;(c)如果有堵塞,在將消息包發(fā)送給被堵塞部件之前發(fā)送器應(yīng)該等待的延遲時間。
2.如權(quán)利要求1的方法,其特征在于,無線消息傳送系統(tǒng)還包括用于堵塞隊列的存儲器區(qū),其中一旦接收到表示部件中存在堵塞的應(yīng)答,發(fā)送器將定址到被堵塞部件的消息包放置于堵塞隊列中。
3.如權(quán)利要求2的方法,其特征在于,堵塞隊列包括帶有設(shè)定時間的定時器,用于確定在將消息包發(fā)送給被堵塞部件之前的延遲。
4.如權(quán)利要求2的方法,其特征在于,發(fā)送器在將消息包發(fā)送給接收器之前檢查各消息包的地址,并將定址到被堵塞部件的任何消息放置在部件的堵塞隊列中。
5.如權(quán)利要求4的方法,其特征在于,如果消息包對多于一個的被堵塞部件定址,那么發(fā)送器將被堵塞的部件排序,將消息包放置在帶有最高排序的部件的堵塞隊列中。
6.如權(quán)利要求1的方法,其特征在于,被堵塞部件可以是一個應(yīng)用。
7.如權(quán)利要求1的方法,其特征在于,被堵塞部件可以是一個信道。
8.如權(quán)利要求1的方法,其特征在于,被堵塞部件可以是一個點。
9.如權(quán)利要求2的方法,其特征在于,由被堵塞部件拒絕的消息被放置在該部件的堵塞隊列中。
10.如權(quán)利要求9的方法,其特征在于,被拒絕的消息被放置在堵塞隊列的前面。
11.如權(quán)利要求3的方法,其特征在于,由來自接收器的最近應(yīng)答中規(guī)定的設(shè)定時間確定設(shè)定時間。
12.如權(quán)利要求11的方法,其特征在于,當(dāng)設(shè)定時間改變時定時器計時不復(fù)位。
13.如權(quán)利要求1的方法,其特征在于,在某些堵塞類型情況下,發(fā)送器確定延遲時間,而不是由接收器在應(yīng)答中包括延遲時間。
14.如權(quán)利要求13的方法,其特征在于,發(fā)送器利用以下算法確定延遲時間,其中(a)每當(dāng)消息被接收器拒絕的時候,延遲時間就加倍,直至某個最大延遲;(b)每當(dāng)消息被接收器接收的時候,延遲時間就被減半,直至某個最小延遲。
15.如權(quán)利要求2的方法,其特征在于,堵塞隊列是臨時的。
16.如權(quán)利要求15的方法,其特征在于,一旦接收到表示在預(yù)先被堵塞的部件上不再堵塞的應(yīng)答,發(fā)送器發(fā)送在堵塞隊列中保留的所有消息包,然后重新分配指定給堵塞隊列的存儲器區(qū)。
17.如權(quán)利要求15的方法,其特征在于,堵塞隊列包括帶有設(shè)定時間的定時器,用于確定將消息包發(fā)送給堵塞隊列之間的延遲。
18.如權(quán)利要求17的方法,其特征在于,如果在設(shè)定時間的末端,在堵塞隊列中沒有消息包,那么發(fā)送器重新分配指定給堵塞隊列的存儲器區(qū)。
19.在無線消息傳送系統(tǒng)中的堵塞控制方法,其中無線消息傳送系統(tǒng)的部件相互發(fā)送消息和相互進(jìn)行有關(guān)消息處理的堵塞狀態(tài)的通信,當(dāng)部件沒有足夠的資源處理另外的消息時部件就被堵塞,被堵塞的部件造成建立堵塞隊列以使至被堵塞部件的后續(xù)消息排隊,按變化的速率將消息從堵塞隊列發(fā)送給被堵塞的部件。
20.如權(quán)利要求1的方法,其特征在于,通過與被堵塞部件的通信規(guī)定從隊列發(fā)送的消息的變化速率。
21.如權(quán)利要求19的方法,其特征在于,被堵塞部件的隊列建立于試圖將消息發(fā)送給被堵塞部件的某部件的存儲器區(qū)中。
22.如權(quán)利要求21的方法,其特征在于,響應(yīng)于來自被堵塞部件的表示堵塞發(fā)生的應(yīng)答,建立堵塞隊列。
23.在具有發(fā)送和接收消息部件的無線消息傳送系統(tǒng)中控制消息堵塞的方法,其中通過無線消息傳送系統(tǒng)發(fā)送該消息,該方法包括以下步驟(a)確定在正接收消息的部件上是否發(fā)生堵塞;和(b)響應(yīng)于堵塞,被堵塞的部件將應(yīng)答發(fā)送給已將消息發(fā)送給被堵塞部件的部件,應(yīng)答表示被堵塞部件的身份和將消息發(fā)送給被堵塞部件的速率。
24.如權(quán)利要求23的方法,其特征在于,可以改變將消息發(fā)送給被堵塞部件的速率。
25.如權(quán)利要求23的方法,其特征在于,無線消息傳送系統(tǒng)還包括用于堵塞隊列的存儲器區(qū),其中一旦接收到表示部件被堵塞的應(yīng)答,接收應(yīng)答的部件將定址到被堵塞部件的消息放入堵塞隊列。
26.如權(quán)利要求25的方法,其特征在于,響應(yīng)于表示在以前未被堵塞部件處出現(xiàn)堵塞的應(yīng)答建立堵塞隊列。
27.在無線消息傳送系統(tǒng)內(nèi)控制堵塞的方法,其中該無線消息傳送系統(tǒng)具有發(fā)送和接收消息的部件,發(fā)送消息的部件是消息源,接收消息的部件包括無線消息傳送系統(tǒng)內(nèi)可能發(fā)生堵塞的區(qū)域,該方法包括以下步驟(a)確定無線消息傳送系統(tǒng)的某區(qū)域中何時出現(xiàn)堵塞;(b)確定正被發(fā)送給被堵塞區(qū)域的消息的源;和(c)按將消息再次發(fā)送給被堵塞區(qū)域的速率提供消息源。
28.如權(quán)利要求27的方法,其特征在于,可以改變將消息發(fā)送給被堵塞區(qū)域的速率。
29.如權(quán)利要求28的方法,其特征在于,由被堵塞區(qū)域內(nèi)的部件確定將消息發(fā)送給被堵塞區(qū)域的速率。
30.如權(quán)利要求29的方法,其特征在于,將消息發(fā)送給被堵塞區(qū)域的速率作為從被堵塞區(qū)域發(fā)送的應(yīng)答的一部分提供給消息源。
31.如權(quán)利要求27的方法,其特征在于,無線消息傳送系統(tǒng)還包括用于堵塞隊列的存儲器區(qū),其中消息源將對被堵塞區(qū)域定址的消息放置在堵塞隊列中,從該隊列將消息按規(guī)定的速率發(fā)送給被堵塞區(qū)域。
全文摘要
本發(fā)明提供在無線消息傳送系統(tǒng)的多層中進(jìn)行堵塞控制的方法。與僅以一種方式響應(yīng)于堵塞的以往系統(tǒng)不同,本發(fā)明的接收部件用這樣的應(yīng)答響應(yīng)于各進(jìn)入的消息包,該應(yīng)答表示:是否已經(jīng)接收了消息包(170、176、178);在其上發(fā)生拒絕消息包(156、160、164、168)的堵塞的層或功能塊;以及發(fā)送器在發(fā)送下一個消息包(172)前應(yīng)該等待的規(guī)定延遲時間。為了控制消息流的速率,可以改變延遲時間。在這種方式中,如果一個區(qū)域變得堵塞然后變得通暢,那么可以采用“慢啟動”技術(shù);就是說,速率可以緩慢地上升返回,而不是僅僅“打開閘門”。發(fā)送器中的臨時堵塞隊列被用于保持對堵塞區(qū)域定址的消息包。
文檔編號G06F1/00GK1228909SQ9719758
公開日1999年9月15日 申請日期1997年7月11日 優(yōu)先權(quán)日1996年7月12日
發(fā)明者安杰伊·古德羅賈 申請人:格萊納瑞電子公司