專利名稱:用于車輛和其它移動物體的動態多點傳播分組的制作方法
技術領域:
本發明一般來說涉及分布式信息系統。更具體地說,本發明涉及一種用于移動體的可縮放多點傳播算法。本發明的應用包括智能運輸系統,其中智慧型車輛與網絡連接,并且周期地發送例如位置、速度、交通和天氣條件等狀態信息。本發明還應用于智能協同運輸系統,其中車輛協同把貨物運送到其目的地。本發明的原理還能擴展到其它移動物體應用,包括多用戶網絡游戲。
在這樣的系統中,各車輛將既用作數據源又用作數據目的,收集關于各車輛的位置、車輛的速度、行駛方向的信息,以及其它狀態信息,例如交通和天氣條件。實際上,各車輛將收集關于其狀態的信息,并將把該信息廣播給感興趣的車輛,該車輛將利用此信息。
構成用于這種應用的分布式信息系統的一種常用方式是建立一個中央服務器,它從所有用戶(例如所有車輛)收集信息。當一個用戶想得到關于特定區域的條件的信息時,該用戶向服務器發送一個請求,然后服務器把結果送回給請求用戶。這種方法具有規模問題,因為隨著應用的用戶數增加,網絡帶寬和中央服務器需要的處理資源快速地增加。中央服務器很快變得阻塞,并且成為系統的故障單點。
另一種常用技術是使所有用戶聯合一個共同多點傳播組,用戶通過它廣播所有信息。在從多點傳播組收到信息之后,各用戶必須濾出它認為多余的任何消息。例如,在交通應用中,在城市的東上方的用戶可能對西下方的交通條件不感興趣,并且因此可能配置客戶應用軟件,以把西下方信息作為多余濾出。
雖然共同多點傳播方法解決了與單服務器關聯的單點故障問題,但是這樣做是以增加網絡帶寬需求,并且還增加各用戶的車載計算機所消耗的處理資源為巨大代價的。
隨著移動實體的車輛到處移動,分區服務器獲得關于這種移動的信息,并且重新配置四叉樹數據結構,以使性能最優化。因而通過把一個或多個現有小區分成較小的小區,具有高用戶密度的區域將被分成大量的小區。相反,通過合并較少占位的相鄰小區,稀疏占位的區域可以分配給較較大的小區。
根據本發明的一個方面,動態四叉樹分區算法對各小區分配一個協調器,它被這個小區的用戶所選擇。協調器然后根據本地的使用條件知識,估計與分裂或合并其小區關聯的成本。通過使一個選擇的協調器執行這個功能,在該小區之內的其它用戶無需消耗收集這個信息的計算資源。協調器把成本信息送給分區服務器。分區服務器使用算法來確定哪些小區應該分裂,哪些小區應該合并,以使全局成本最小,從而使系統的性能最優化。分區服務器然后把新分區方案廣播給所有用戶。這樣,用戶全部被告知哪些小區可用作與其通信。因而,如果一個西上方的用戶希望獲得東下方的信息,該用戶能識別哪個小區目前與可能包含感興趣信息的東下方關聯。
本發明因而提供一種混合解決方法,它使用分布元件(多點傳播,協調器)和中央元件(分區服務器)兩者,以動態地對一個地區分區,以便移動實體有效地分組。為了更完全地理解本發明、它的目的和優點,參考以下說明和附圖。
本發明的動態多點傳播分組算法具有許多應用。為了說明本發明的原理,
圖1說明分布式交通條件發現應用。移動實體在一個地理區之內到處移動,并且通過聯合不同多點傳播組而相互通知交通條件,不同多點傳播組各與該地理區之內的一個區域或小區關聯。雖然移動實體可以是機動車,但是應該顯而易見,本發明的原理能容易地用于其它類型的移動實體,例如航空器、步行者、甚至運送中的包裝件或貨物。此外,雖然這里已經說明了分布式交通條件發現應用,但是本發明能夠具有各種各樣的其它應用。這樣應用的另一例是智能協同運輸系統,其中車輛與其它車輛協同,以把其它商品運送到適當目的地。本發明還能用于多用戶網絡游戲和其它模擬裝置。
參考圖1,哥倫比亞特區的地圖用10說明。該地圖畫出了感興趣的示例地理區域,它包括哥倫比亞特區和其周圍的維吉尼亞區和馬里蘭區。12表示的是相同哥倫比亞特區地圖的復制,其上疊加了移動實體14的總體。例如,各移動實體可以是汽車、卡車或其它備有根據本發明的客戶應用軟件的車輛。各移動實體還備有適當的能夠連接互聯網的通信設備,以允許移動實體通過聯合一個或多個多點傳播話路,建立與其它移動實體的通信。移動實體總體分布可以是從均勻分布到正態分布、高聚束分布或聚類分布的任何分布。此外,分布能預期整天隨移動實體為從事其商務在地區內到處移動而改變。為了說明,圖1說明了均勻分布。然而,更可能地,聚束或聚類分布將是預期條件,因為特區的不同部分將無疑地比其它部分具有更多的交通。
圖1用放大細節說明了兩個移動實體14和16。為了說明,實體的尺寸和標度被放大。實體14占據實體16的西北方的位置。各實體具有一個視域,分別用圓形18和20表示,它們對應于實體感興趣獲得的有關信息的地理區。注意這兩個說明的移動實體的視域18和20碰巧重疊。這就意味這兩個實體共享共同興趣。這不是系統要求,因為各實體控制其本身的視域,并且因此能包括或排除如希望那樣多的地域。
所有通信實體集體匯編全局信息體22,它由所有本地信息例如與實體16關聯的本地信息24的集體組成。在本優選實施例中,全局信息22以分布方式維護。因而不必在中央數據庫中上載和存儲全局信息的整個復制信息。相反,全局信息以本地信息體的集合形式按分布狀態存在。各移動實體能根據其特定視域存取與該移動實體有關的信息。因為本地實體控制它們各自的視域,所以如果希望,任何移動實體能獲得關于地理區之內的任何區域的信息。在交通應用中,典型地移動實體將對附近的交通條件感興趣。
移動實體典型地基于地理考慮而與其它移動實體通信,以獲得信息。實體與感興趣的地理區之內物理存在的其它實體,或與已經獲得關于感興趣的地理區的信息的其它實體通信。移動實體使用反映移動實體怎樣地理分組或排列的共用數據結構,確定它們希望與哪些其它實體通信。為了給所有移動實體提供一個對它們怎樣分組進行組織的共同基礎,本優選實施例使用一種四叉樹數據結構,它隨著實體到處移動而動態地更新,以反映實體的變化分布圖形。在本優選實施例中,四叉樹數據結構在分區服務器中根據本地收集和估計的信息集中地產生。每次四叉樹被修訂,四叉樹數據結構的復制就為實體所共享。
四叉樹數據結構之內的各節點或小區具有分配的多點傳播組地址。希望獲得與該小區關聯的有關條件的信息的移動實體簡單地聯合多點傳播組。四叉樹數據結構因而根據該實體的當前視域,引導移動實體確定聯合哪個多點傳播組。
在本優選實施例中,各移動實體既起數據源作用又起數據目的作用。這在圖1中以26和28圖解說明。
在本優選實施例中,各移動實體具有一個計算機系統,它運行圖2功能性說明的客戶應用。客戶應用具有一個數據目的端口40,輸入信息通過它從全局信息集體22到達。因為全局信息22典型地以分布方式存儲,所以實際數據流將來自一個或多個移動實體,客戶應用使用一個或多個多點傳播通道與這些實體通信。
所以客戶應用還能對全局信息體22提供信息,客戶應用包括一個數據源端口42。本地信息存儲在本地數據存儲44中。如說明,這個本地數據存儲向數據源端口42供給信息。它還從數據目的端口40接收首先由信息過濾器46處理之后的信息。信息過濾器篩選出多余信息,例如不屬于移動實體的視域的信息。
本地數據存儲優選地存儲在由客戶應用所管理的計算機可讀存儲器中。如以50圖解表示的,本地數據存儲保存關于移動實體的信息和它在四叉樹的本地區小區之內的全體成員。本地數據存儲還保存其它專用的本地狀態信息。如以52圖解所示,本地狀態信息可能包括移動實體的位置的數據、它的速度和其它相關定位數據,以及其它條件,例如溫度、風速和其它環境條件。
在本優選實施例中,各移動實體具有用作該實體位于其中的小區的協調器的可能性。協調器的責任是估計該小區之內的擁塞條件,以估計該小區是否應該再分或與其它小區合并,以改善性能。在本優選實施例中,對于各小區,根據移動實體是否物理位于該小區之內來選擇單協調器。如果希望,可以代替使用其它準則。客戶應用使用一個處理模塊54,它從本地數據存儲44存取關于當前四叉樹配置和特定小區之內的移動實體的位置的信息,以確定這個實體是否滿足成為協調器的資格。所有其它移動實體具有相同的模塊54,并且因而也能夠確定它們是否取得協調器的資格。設計協調器選擇規則,以便在本實施例中每小區選擇一個且僅一個協調器。
因為各移動實體潛在地能夠滿足選擇為一個特定小區的協調器的要求,所以處理模塊54包括一個處理程序,以估計反映小區是否應該再分或合并的成本信息。如以下將更完全地討論,這個成本信息在小區級估計,然后通知分區服務器。本優選實施例根據一個給定小區之內出現的多點傳播組聯合數,和該小區的成員必須濾出或拒絕的多余消息數來估計成本。聯合成本是由聯合小區之內關聯的多點傳播組的用戶而引起。多余消息成本是對從多點傳播組接收的不需要消息數進行計數而引起。把一個小區再分成少量的子小區建立了一個更精細網格,它給系統提供識別用戶的更大能力,并且因而減少多余消息數。另一方面,把小區再分成更小子小區增加了用戶為實現它們的視域而聯合附加多點傳播組的需要。因而,在多點傳播組聯合數與多余消息數之間有一個折衷。這個折衷直接與給定小區之內的用戶密度有關。
如上所述,本優選實施例使用四小區數據結構來表示一個地區,并且表示該地區怎樣再分成區域或小區。如圖3說明,四叉樹的基本原理是用一個正方形或其它形狀覆蓋感興趣的平面區域,然后把這個正方形或其他形狀遞歸分成較小的正方形或其他形狀,直到各包含輸入的適當均勻子集。在本優選實施例中,各正方形表示一個小區,對其分配一個多點傳播組地址。雖然這里說明了四邊(正方形)數據結構,并且是優選的,但是應該顯而易見,可以使用其它幾何形狀(例如K-d樹)和其它維數的數據結構來實施本發明的原理。因而如這里所使用,術語四叉樹打算含蓋n維數據結構,其中n是2或大于2的整數。
參考圖3,如以60、62和64說明,在整個華盛頓D.C.地區周圍正方形劃線,然后根據對以上討論的成本數據的估計,把這個正方形地區遞歸再分,直到達到適當尺寸的小區,可以構成用于華盛頓D.C.地區的四叉樹。在本優選實施例中,并不是所有小區必須為相同尺寸。因而最西南象限可以再分成如70的較小的小區,而稍靠東北的小區可以如72那樣的4倍大,同時剩余小區可以仍如76那樣大。
根據本發明實現的動態再分區算法,四叉樹小區的尺寸和配置將隨移動實體到處移動而動態地改變。在任何給定時間配置四叉樹的基本分區方案是由分區服務器使用各小區的選擇協調器傳給它的信息來計算的。圖4表示這樣動態再分區的消息流是怎樣發生的。在圖4中說明了一個單示例小區70。由圓形72表示的6個移動實體位于該小區之內。如互連線說明,小區70之內的所有移動實體使用與小區70關聯的多點傳播組地址相互通信。使用以下與圖6有關將要敘述的選擇規則,聲明實體中的一個為協調器。在圖4的說明例中,在小區70的右下角的移動實體指定為協調器74。協調器74從小區70的成員收集聯合和多余消息處理數據,并且把該信息傳給分區服務器80。在本優選實施例中,分區服務器80可以是一個負責區域之內所有小區的中央服務器。當然,如果希望,可以用服務器網絡代替單服務器,以分配分區產生功能。
分區服務器使用預定算法,用從四叉樹表示的不同小區的所有協調器接收的信息來確定新分區方案。它通過對所有用戶多點傳播組廣播,或通過單用戶例如協調器74轉播信息,把新分區方案82廣播給移動用戶。系統可以具有為此目的的專用協調器多點傳播組。新分區方案表示由各移動用戶存儲(在圖2的本地數據存儲44中)的新四叉樹。四叉樹信息然后由各移動實體使用,以根據該實體的視域確定該實體應該聯合哪些多點傳播組。
本優選分區服務器使用貪婪算法84,以根據本地估計的成本數據修改現有四叉樹數據結構,來產生新分區方案。為了產生初始四叉樹數據結構,自頂向下貪婪算法為優選。這種貪婪算法的流程圖在圖7說明,并且將在以下討論。然而,在敘述初始化算法之前,將參考圖5流程圖和圖6四叉樹圖更完全地敘述圖4說明的基本動態再分區過程。
參考圖5,動態分區算法在步驟100以選擇協調器開始。在本優選實施例中,協調器是根據它與其小區所源自的父小區的中心的幾何鄰近性而選擇的。圖6說明這點。在圖6中,多個移動實體如圓形說明。滿足協調器準則的實體涂成黑色。
為了理解協調器選擇過程,首先參考較較大的小區200。它的子小區之一202表示再分成孫小區204、206、208和210。各孫小區204至210將選擇一個協調器。獲勝候選者是與這個子小區的父小區的中心最近的一個。在這種情況下,父小區202的中心用X標記。因為孫小區204僅包含一個實體,所以這個實體默認與父小區的中心X最近。孫小區206的移動實體212比該小區中任何其它實體更靠近中心X。因而實體212選擇為小區206的協調器。類似地,實體214和216在它們各自小區的中心競爭中贏得最近,并且因而選擇為協調器。
雖然中心最近技術用來確定各小區的一個協調器,但是可選擇使用其它選擇協調器的技術。因為本系統設計為預期移動實體到處移動,所以協調器選擇過程以足夠頻率重復,以捕獲分布式信息系統的動態性質。
返回參考圖5,一旦協調器選擇過程完成,在步驟102,各協調器根據本地知識估計分裂或合并其小區的成本變化。然后在步驟104,協調器把成本估計信息送給服務器。在步驟106,服務器使用貪婪算法來判定哪些小區分裂,而哪些小區合并,以便全局成本最小。在步驟108,服務器把新近計算的分區方案廣播返回給所有用戶。這能通過對所有用戶多點傳播組的覆蓋廣播完成。可選擇地,如步驟110說明,新分區或許通過協調器多點傳播組,能送給各小區的協調器,并且該協調器對協調器的小區的各成員執行傳播本地分裂和合并指令的責任。
如上所述,本優選實施例使用自頂向下貪婪算法來生產四叉樹的初始分區方案。圖7以步驟300開始說明貪婪算法。在步驟300,首先分析在整個地區周圍劃線的較大的小區。算法遞歸地進行。對于各小區,算法計算如果這個小區分成n個較較小的小區的減小成本。這在步驟302說明。其次,根據步驟302的結果,算法選擇具有最大成本減小的小區。然后如步驟304所示,算法把這個小區分成n=4個較較小的小區。然后重復步驟302和304,直到所有小區都被處理或直到成本停止減小為止,如步驟306說明。雖然自頂向下貪婪算法為優選,但是其它算法也可能。例如,可以使用基于用戶數的自頂向下貪婪算法,或根據自底向上貪婪算法,計算新分區方案。基于用戶數的自頂向下貪婪算法的一例具有下列步驟1.開始用正方形在地區周圍劃線作為較大的小區。對于較大的小區之內的各小區,計算該小區內的用戶數。
2.根據上述步驟的結果,選擇具有最大用戶數的小區,并且把它分成四個較小的正方形小區。
3.重復上述兩個步驟,直到使用了所有組地址(小區)或每個小區內的用戶數小于一個閾值為止。
4.如果還有任何可用組,使用貪婪算法例如圖7所示算法繼續劃分。
自底向上貪婪算法的一例具有下列步驟1.根據一個給定深度的完全四叉樹,把地區分成小區。
2.對于各可合并節點(它是具有四葉子節點的各節點),計算成本增加。
3.選擇具有最小合并成本增加的節點,并且合并它。
4.重復上述兩個步驟,直到小區數等于可用多點傳播組數。
在使用中,移動實體使用它們各自的視域和當前四叉樹,實現狀態傳播協議。協議設計為保證源自各移動實體的狀態消息達到所有其它感興趣的實體。協議包括下列步驟1.各用戶使用四叉樹數據結構中反映的它的當前分區方案的知識,計算與它自己“視域”相交的小區。
2.各用戶聯合與這些相交小區關聯的所有多點傳播組,并且準備從這些多點傳播組接收信息。
3.各用戶把它的狀態信息送給它自己“本地區”小區組(即它所位于之內的小區組)。
4.在從所有聯合多點傳播組接收信息時,用戶濾出多余消息,并且維護過濾的消息數的記錄,以便該信息能被協調器用作成本量度。
本優選實施例以使用圖7的貪婪算法(或等效算法)產生的靜態分區開始,實現動態再分區。隨著移動實體到處移動,它們可以動態地聯合或脫離多點傳播組話路。新協調器也根據新分區方案選擇。本優選動態分區算法根據下列步驟進行1.用戶四處移動。在每一步驟,選擇新協調器。
2.協調器計算與分裂其各子葉關聯的成本減小。
3.如果一個節點具有四個子節點,對應協調器計算與合并這四個節點關聯的成本增加。
4.協調器各自把成本變化信息送給分區服務器。服務器判定是否應該創建新分區。可能準則包括在經過一定時間之后,或如果新分區的成本減小達到一定水平,周期地創建新分區。
5.如果服務器判定創建新分區,它使用貪婪算法來計算應該分裂和合并的小區,以創建新分區方案。新分區方案廣播給所有用戶。
雖然以上算法的確依靠分區服務器來判定新分區方案,但是服務器承擔非常少的計算負載,因為成本估計由協調器分布地執行。
使用計算機模擬,用實際地理數據對本發明的動態分區算法進行了測試,并且發現消息成本減小80%那樣多。在模擬中,測試了動態四叉樹分區算法的性能,并且把它與基于小區的協議和靜態四叉樹分區比較。正方形模擬地區假定具有單位邊長。在模擬中,假定所有用戶具有相同的圓形視域。該視域的半徑設為0.01。所有用戶隨機地選擇一個方向,并且向這個方向移動恒定步。如果移動將使用戶超出地區,用戶被“彈回”地區內,以便用戶數保持恒定。在模擬中,我們假定所有用戶將具有相同步距。選擇的步距分別是0.001、0.002、0.005和0.01。為了減小數據量,我們每100步抽樣一個數據點。當新分區將使消息成本減小20%時,創建新分區。結果展示本動態四叉樹分區算法將節省80%那樣多的消息成本。
雖然已經就其優選實現敘述了本發明,但是應該理解,全部在如所附權利要求所述的本發明的精神之內,本發明能夠變更,并且適用于各種各樣的不同用戶。
權利要求
1.一種用于對移動實體分組的方法,包括限定一個分區實體;構造一個初始數據結構,它限定由所述移動實體占據的多個小區;對于各小區,從占據該小區的移動實體集中選擇一個協調器;所述協調器協同計算與選擇地再分和合并所述小區關聯的成本,并且把所述成本通知所述分區實體;以及所述分區實體使用所述成本產生新分區方案,并且所述新分區方案通知所述移動實體。
2.如權利要求1所述的方法,其特征在于還包括使一個多點傳播組與各所述小區關聯,并且使用所述多點傳播組支持各小區之內的移動實體之間的通信。
3.如權利要求1所述的方法,其特征在于所述協同計算步驟包括各協調器計算與再分該協調器的小區關聯的第一成本;以及使用所述四叉樹數據結構以識別所述協調器之間的同胞關系,以限定同胞協調器;以及所述同胞協調器選擇計算與合并所述同胞協調器占據的小區關聯的第二成本。
4.如權利要求1所述的方法,其特征在于還包括把一個多點傳播組與各所述小區關聯;把一個視域與各所述實體關聯;以及使所述實體能夠根據所述視域選擇地聯合所述多點傳播組中的至少一個。
5.如權利要求1所述的方法,其特征在于還包括把一個多點傳播組與各所述小區關聯,允許所述實體聯合所述多點傳播組中的至少一個,并且通過估計所述實體聯合的多點傳播組數,計算所述成本。
6.如權利要求1所述的方法,其特征在于還包括把一個多點傳播組與各所述小區關聯,并且使用所述多點傳播組把所述新分區方案通知所述移動實體。
7.如權利要求1所述的方法,其特征在于所述分區實體通過劃分所述小區中給出最大成本降低的小區,產生所述新分區方案。
8.一種用于對移動實體分組的系統,包括一個分區服務器;所述分區服務器限定一個數據結構,它具有與所述移動實體占據的小區對應的節點;多個客戶應用,各與所述移動實體中的一個關聯;所述客戶應用各具有通信機制,能夠與其它客戶應用的通信機制以及與所述分區服務器通信;以及所述客戶應用和所述分區服務器配置為建立動態分區協議,由此根據各所述小區之內的通信實體數,重新配置所述四叉樹數據結構。
9.如權利要求8所述的系統,其特征在于所述客戶應用各有存儲器,用于存儲與預定感興趣地區對應的視域,并且各所述客戶應用的所述通信機制配置為聯合與所述視域重疊的小區中的多點傳播組通信移動實體。
10.如權利要求8所述的系統,其特征在于所述移動實體是具有產生車輛位置數據的定位設備的車輛,并且其中所述客戶應用把所述車輛位置數據通知與占據一個共同小區的移動實體關聯的其它客戶應用。
全文摘要
把一個地區分成各具有一個關聯多點傳播組地址的區域或小區。使用動態更新的四叉樹數據結構來組織小區。在一個給定小區之內的移動實體選擇它們成員中的一個作為協調器,用于估計與再分該小區或與其它同胞小區合并該小區關聯的成本數據。協調器把這個成本數據通知一個分區實體,它可以是中央服務器,使用貪婪算法計算新分區方案。然后把新分區方案廣播給移動實體,用于隨后通信。移動實體聯合與它們個別視域相交的多點傳播組。這樣,移動實體能無需監視所有多點傳播組傳送而從其它移動實體獲得信息。
文檔編號G08G1/13GK1409498SQ0214331
公開日2003年4月9日 申請日期2002年9月25日 優先權日2001年9月27日
發明者伊博拉希姆·穆斯塔法·卡麥爾 申請人:松下電器產業株式會社