本發(fā)明屬于無線網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,具體涉及一種基于鄰近服務(wù)的D2D節(jié)點發(fā)現(xiàn)方法。
背景技術(shù):
D2D(device-to-device,設(shè)備到設(shè)備)技術(shù)是新一代通信領(lǐng)域的研究熱點之一,而D2D節(jié)點搜索是這項技術(shù)實現(xiàn)的重點。沒有外部架構(gòu)的輔助,D2D節(jié)點就必須“盲目”地搜索其它節(jié)點,這種移動終端如果沒有能耗的限制,節(jié)點發(fā)現(xiàn)就簡單多了,可以讓每臺設(shè)備周期性地發(fā)送信標(biāo)以便其它設(shè)備能及時快速地發(fā)現(xiàn)它的存在。然而,某種程度上來說,設(shè)備的能源效率和快速發(fā)現(xiàn)是一對矛盾的問題。為了實現(xiàn)節(jié)點的快速發(fā)現(xiàn),設(shè)備需要發(fā)送的信標(biāo)周期較短,這意味著消耗更多的能量。
設(shè)備可以按照一定比例的占空比,在大部分時間里讓無線接口保持在休眠狀態(tài)中,并定期將其喚醒以執(zhí)行搜索任務(wù)。當(dāng)然,兩個互相搜索的設(shè)備要想發(fā)現(xiàn)對方,必須保持喚醒狀態(tài),所以應(yīng)該制定合適的占空比方案來確保兩個鄰近設(shè)備的喚醒時間是重疊的。通過時間的同步可以讓設(shè)備同時處于喚醒狀態(tài),而且這并不難實現(xiàn)。然而,同步需要基礎(chǔ)設(shè)施的支持(4G/無線基站),或使用車載GPS組件,但不能一直使用,因為能耗巨大。因此,在無法獲得同步時鐘且保證低占空比的情況下,為了確保鄰近設(shè)備的喚醒時間在合理的時間內(nèi)重疊,客觀上需要探討異步搜索的解決方案。
關(guān)于可伸縮性的問題,節(jié)點搜索協(xié)議應(yīng)當(dāng)能在高度密集的環(huán)境中正常工作。如果希望許多設(shè)備能同時被搜索到,那么所有設(shè)備將在同一時間內(nèi)一同發(fā)送信標(biāo),這些信標(biāo)信號的傳輸有可能導(dǎo)致信號流量擁塞,從而使一些設(shè)備不能發(fā)現(xiàn),因此需要有效解決可伸縮性的問題。
另外,WiFi和藍(lán)牙技術(shù)在節(jié)點搜索中各有優(yōu)缺點。WiFi覆蓋范圍大但能耗也大,而藍(lán)牙能耗雖小但覆蓋范圍也小。為了節(jié)省能量,而又能保證節(jié)點的快速發(fā)現(xiàn)且不減小節(jié)點的搜索范圍,因此如何實現(xiàn)藍(lán)牙與WiFi搜索的融合,節(jié)省發(fā)射功率也是亟需解決的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明針對上述問題提出一種基于鄰近服務(wù)的D2D節(jié)點發(fā)現(xiàn)方法,節(jié)點通過組建藍(lán)牙群組的方式,輪流發(fā)送WiFi信標(biāo),信標(biāo)主要包含群列表消息。WiFi覆蓋范圍大但能耗也大,而藍(lán)牙能耗雖小但覆蓋范圍也小,這樣既能節(jié)省移動終端的能量,又能保證節(jié)點的快速發(fā)現(xiàn)且不減小節(jié)點的搜索范圍。群組內(nèi)部成員設(shè)備的搜索采用藍(lán)牙4.0廣播技術(shù),每個群組中每個節(jié)點輪流采用WiFi技術(shù)負(fù)責(zé)向遠(yuǎn)方節(jié)點宣告成員設(shè)備以及服務(wù)信息。
為達(dá)到上述目的,本發(fā)明提出的技術(shù)方案為一種基于鄰近服務(wù)的D2D節(jié)點發(fā)現(xiàn)方法,包括如下步驟:
步驟1:加入操作和群組操作
步驟1-1:加入操作
一個設(shè)備A進(jìn)入系統(tǒng),假定在系統(tǒng)中有一個群組,里面至少有一個成員,A會先按照一個周期Tc掃描,發(fā)現(xiàn)現(xiàn)有的信標(biāo),如果該設(shè)備接收到群組成員設(shè)備發(fā)送的藍(lán)牙廣播信標(biāo),假設(shè)此時刻為0時刻,則該設(shè)備可以計算出下一個加入窗的開始時間為t時刻,加入過程遵循三次握手,首先,該設(shè)備將發(fā)送一個加入請求到群組成員設(shè)備,其次,如果群組成員設(shè)備接受來自該設(shè)備的加入請求,則發(fā)送一個加入響應(yīng)給該設(shè)備,最后,如果該設(shè)備接收到這個加入響應(yīng),就回復(fù)一個應(yīng)答消息確認(rèn)接收,否則,如果加入窗口結(jié)束卻沒有收到群組成員設(shè)備的加入響應(yīng),該設(shè)備將掃描另一個周期繼續(xù)尋找信標(biāo);
步驟1-2:群組操作
(1)在一個加入窗口中,如果設(shè)備A被設(shè)備B接受,B就把A添加到群組列表中的上鏈,并更新自己的群組列表,然后通過藍(lán)牙廣播幀將現(xiàn)有的群組列表信息發(fā)送給設(shè)備A,設(shè)備A存儲該列表,同樣,A視B為它的下鏈,此時,群組循環(huán)周期T由公式T=N*t得到更新,然后,以加入時間為0時刻,A將更新窗的起始時間安排在(N-1)t時刻,設(shè)備A的下一個藍(lán)牙信標(biāo)發(fā)送時間為T時刻,其中N是設(shè)備A所在群組列表中的設(shè)備成員總數(shù),t為的群組成員間隔;
(2)在一個更新窗,如果設(shè)備B從它的上鏈設(shè)備A接收到一個信標(biāo),則B更新其群組列表,并且,如果A的群組列表包含B,B給A發(fā)送一個應(yīng)答消息,
如果A的群組列表不包含B,那么B就離開了群組,
如果B沒有接收到A的信標(biāo),B就從群組列表中移除它的上鏈A;
步驟2:發(fā)送WiFi廣播信標(biāo)
在每個設(shè)備的聯(lián)系窗之后,設(shè)備按照一定占空比進(jìn)行WiFi掃描,在WiFi掃描的過程中會發(fā)送信標(biāo),這個設(shè)備僅在這個群組循環(huán)周期T內(nèi)發(fā)送WiFi信標(biāo),等到下一個周期T,該設(shè)備就停止WiFi掃描和發(fā)送WiFi信標(biāo),進(jìn)入休眠狀態(tài),該設(shè)備的下鏈設(shè)備繼續(xù)按照相同的占空比發(fā)送WiFi信標(biāo),進(jìn)行WiFi掃描。
進(jìn)一步,上述步驟1-1中,加入操作是利用加入窗與其它設(shè)備進(jìn)行藍(lán)牙信標(biāo)交互實現(xiàn)的。
上述藍(lán)牙采用藍(lán)牙4.0廣播幀,群組設(shè)備成員都擁有一張成員列表,通過加入窗,群組成員設(shè)備可以更新自己的群組列表。
上述步驟1-2中,群組操作可以通過聯(lián)系窗和更新窗調(diào)節(jié)成員列表。
上述步驟2中,每個群組成員設(shè)備都有一份成員列表,這些設(shè)備可以通過發(fā)送WiFi廣播信標(biāo)的方式來通知遠(yuǎn)方設(shè)備。
上述遠(yuǎn)方設(shè)備是指藍(lán)牙搜索不到,但WiFi可以搜索到的設(shè)備。
作為優(yōu)選,上述應(yīng)答消息可以為ACK消息。
上述WiFi信標(biāo)的內(nèi)容包括所有群組成員的列表。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下有益效果:
1、本發(fā)明提供了一種群組搜索方案,節(jié)點通過組建群組的方式,輪流發(fā)送群列表消息,在保證節(jié)點快速發(fā)現(xiàn)的情況下,減少了每個節(jié)點的能耗。
2、藍(lán)牙能耗低但搜索范圍小,WiFi搜索范圍大但能耗高,本發(fā)明融合了藍(lán)牙和WiFi兩種技術(shù),跟單純的藍(lán)牙搜索或WiFi搜索相比,既保證了節(jié)點的搜索范圍,又解決了移動節(jié)點的能耗問題。
附圖說明
圖1為本發(fā)明的系統(tǒng)結(jié)構(gòu)示意圖。
圖2為本發(fā)明的群組成員的信標(biāo)發(fā)送模式。
具體實施方式
以下結(jié)合說明書附圖對本發(fā)明作進(jìn)一步的詳細(xì)說明。
現(xiàn)對本發(fā)明的方法流程進(jìn)行說明,包含以下步驟:
步驟1:加入操作和群組操作
加入操作規(guī)定設(shè)備如何選擇群組以及如何被群組接受。群組設(shè)備成員都擁有一張成員列表,成員將按照列表上的順序輪流發(fā)送信標(biāo),而群組操作可以調(diào)節(jié)成員列表,比如新成員設(shè)備的添加或從列表中刪除一個成員。為了實現(xiàn)這兩個操作,引入了三個窗:加入窗,聯(lián)系窗和更新窗。加入窗可以通過藍(lán)牙掃描發(fā)現(xiàn)其它設(shè)備,發(fā)現(xiàn)設(shè)備之后,通過聯(lián)系窗利用藍(lán)牙技術(shù)進(jìn)行聯(lián)系,以便開始下一步的操作,更新窗可以聯(lián)系其它設(shè)備,獲取或通知對方已更新的成員列表。最后,在藍(lán)牙信標(biāo)內(nèi)容里添加了一個信息元素:加入狀態(tài)。加入狀態(tài)信息元素可以防止兩個節(jié)點同一時間互相加入的競爭狀況的出現(xiàn)。
步驟1-1:加入操作
一個設(shè)備A剛剛進(jìn)入系統(tǒng)。假定在系統(tǒng)中有一個群組(至少有一個成員)。A會先按照周期Tc掃描發(fā)現(xiàn)現(xiàn)有的信標(biāo)。如果A接收到群組成員發(fā)送的藍(lán)牙廣播信標(biāo),假設(shè)此時刻為0時刻,設(shè)定群組成員發(fā)送藍(lán)牙信標(biāo)間隔為t,則A可以計算出下一個加入窗的開始時間為t時刻,加入過程遵循三次握手。首先,該設(shè)備將發(fā)送一個加入請求到群組成員設(shè)備。其次,如果群組成員設(shè)備接受來自該設(shè)備的加入請求,則發(fā)送一個加入響應(yīng)給該設(shè)備。第三,如果該設(shè)備接收到這個加入響應(yīng),就回復(fù)一個ACK消息確認(rèn)接收。否則,如果加入窗口結(jié)束卻沒有收到群組成員設(shè)備的加入響應(yīng),該設(shè)備將掃描另一個周期繼續(xù)尋找信標(biāo)。
步驟1-2:群組操作
(1)在一個加入窗口中,如果設(shè)備A被設(shè)備B接受,B就把A添加到群組列表中的上鏈并更新自己的群組列表,然后通過藍(lán)牙廣播幀將現(xiàn)有的群組列表信息發(fā)送給設(shè)備A,設(shè)備A存儲該列表。同樣,A視B為它的下鏈,此時,群組循環(huán)周期T由公式T=N*t得到更新。然后,以加入時間為0時刻,A將更新窗的起始時間安排在(N-1)t時刻,設(shè)備A的下一個藍(lán)牙信標(biāo)發(fā)送時間為T時刻,其中N是設(shè)備A所在群組列表中的設(shè)備成員總數(shù),t為的群組成員間隔。
(2)在一個更新窗,如果設(shè)備B從它的上鏈設(shè)備A接收到一個信標(biāo):
B更新其群組列表,并且,如果A的群組列表包含B,B給A發(fā)送一個ACK消息。
如果A的群組列表不包含B,那么B就離開了群組。
如果B沒有接收到A的信標(biāo),B就從群組列表中移除它的上鏈A。請注意,當(dāng)信標(biāo)被廣播,下鏈設(shè)備需要回復(fù)的一個ACK消息。該附加特征被包括在內(nèi),是因為信標(biāo)發(fā)送是廣播傳輸,這是不可靠的。通過包括額外的ACK機(jī)制,如果未接收到ACK消息,信標(biāo)可以被重傳。
步驟2:發(fā)送WiFi廣播信標(biāo)
每個群組成員設(shè)備都有一份成員列表,這些設(shè)備可以通過發(fā)送WiFi廣播信標(biāo)的方式來通知遠(yuǎn)方設(shè)備(指藍(lán)牙搜索不到,但WiFi可以搜索到的設(shè)備),所以只要讓每個設(shè)備輪流發(fā)送整個群組的列表信息,遠(yuǎn)方設(shè)備就能通過WiFi掃描搜索到整個群組的設(shè)備。這其中主要涉及到兩個方面:WiFi信標(biāo)的發(fā)送調(diào)度和WiFi信標(biāo)的內(nèi)容。
在每個設(shè)備的聯(lián)系窗之后,設(shè)備按照一定占空比進(jìn)行WiFi掃描,在WiFi掃描的過程中會發(fā)送信標(biāo)。這個設(shè)備僅在這個群組循環(huán)周期T內(nèi)發(fā)送WiFi信標(biāo),等到下一個周期T,該設(shè)備就停止WiFi掃描和發(fā)送WiFi信標(biāo),進(jìn)入休眠狀態(tài),該設(shè)備的下鏈設(shè)備繼續(xù)按照相同的占空比發(fā)送WiFi信標(biāo)以及進(jìn)行WiFi掃描。WiFi信標(biāo)的內(nèi)容包括所有群組成員的列表,傳統(tǒng)的WiFi搜索,每個WiFi信標(biāo)中只包含本設(shè)備的標(biāo)識,而本發(fā)明中的WiFi信標(biāo)包含所有成員列表的標(biāo)識。
如圖1所示,左側(cè)圈中的四臺設(shè)備距離在藍(lán)牙覆蓋范圍內(nèi),并且組成了一個群組,他們相互之間通過藍(lán)牙傳遞群組消息,而在右側(cè)的三臺設(shè)備距離左側(cè)四臺設(shè)備超出藍(lán)牙覆蓋范圍但在WiFi覆蓋范圍內(nèi),所以左側(cè)四臺設(shè)備可以輪流通過WiFi向右側(cè)三臺設(shè)備發(fā)送消息。
步驟1:加入操作和群組操作
步驟1-1:加入操作
如圖2所示,假設(shè)我們有一個設(shè)備A,剛剛進(jìn)入系統(tǒng)。假定在系統(tǒng)中有一個群組(BCD)。設(shè)備A會先按照一定周期掃描發(fā)現(xiàn)現(xiàn)有的信標(biāo)。假設(shè)設(shè)備A接收到設(shè)備D發(fā)送的藍(lán)牙信標(biāo),假設(shè)此時刻為0時刻,則設(shè)備A可以計算出下一個加入窗的開始時間為t時刻,例如設(shè)備B的加入窗,加入過程遵循三次握手。首先,設(shè)備A將發(fā)送一個加入請求到設(shè)備B。其次,如果設(shè)備B接受來自設(shè)備A的加入請求,則發(fā)送一個加入響應(yīng)到設(shè)備A。第三,如果設(shè)備A接收到這個加入響應(yīng),就回復(fù)一個ACK消息確認(rèn)接收。否則,如果加入窗口結(jié)束卻沒有收到設(shè)備A的加入響應(yīng),設(shè)備A將掃描另一個周期繼續(xù)尋找信標(biāo)。
步驟1-2:群組操作
(1)在一個加入窗口中,如果設(shè)備A被設(shè)備B接受,B就把A添加到群組列表中的上鏈并更新自己的群組列表,然后通過藍(lán)牙廣播幀將現(xiàn)有的群組列表信息發(fā)送給設(shè)備A,設(shè)備A存儲該列表。同樣,A視B為它的下鏈,此時,群組循環(huán)周期T由公式T=N*t得到更新。然后,以加入時間為0時刻,A將更新窗的起始時間安排在(N-1)t時刻,設(shè)備A的下一個藍(lán)牙信標(biāo)發(fā)送時間為T時刻,其中N是設(shè)備A所在群組列表中的設(shè)備成員總數(shù),t為如圖2所示的群組成員間隔。
(2)在一個更新窗,如果設(shè)備B從它的上鏈設(shè)備A接收到一個信標(biāo):
B更新其群組列表,并且,如果A的群組列表包含B,B給A發(fā)送一個ACK消息。
如果A的群組列表不包含B,那么B就離開了群組。
如果B沒有接收到A的信標(biāo),B就從群組列表中移除它的上鏈A。當(dāng)信標(biāo)被廣播,下鏈設(shè)備需要回復(fù)的一個ACK消息,如果未接收到ACK消息,信標(biāo)將被重新發(fā)送。
步驟2:發(fā)送WiFi廣播信標(biāo)
如圖2所示,在A設(shè)備的聯(lián)系窗之后,設(shè)備按照一定占空比進(jìn)行WiFi掃描,在WiFi掃描的過程中會發(fā)送信標(biāo)。這個設(shè)備僅在這個群組循環(huán)周期T內(nèi)發(fā)送WiFi信標(biāo),等到下一個周期T,該設(shè)備就停止WiFi掃描和發(fā)送WiFi信標(biāo),進(jìn)入休眠狀態(tài),該設(shè)備的下鏈設(shè)備B繼續(xù)按照相同的占空比發(fā)送WiFi信標(biāo)以及進(jìn)行WiFi掃描。WiFi信標(biāo)的內(nèi)容包括所有群組成員的列表。
以上所述僅為本發(fā)明的優(yōu)選實施例,并不用于限制本發(fā)明,盡管參照前述實施例對本發(fā)明進(jìn)行了詳細(xì)的說明,對于本領(lǐng)域的技術(shù)人員來說,其依然可以對前述各實施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包括在本發(fā)明的保護(hù)范圍之內(nèi)。