本公開一般涉及無線網(wǎng)絡(luò),并且尤其涉及對等網(wǎng)絡(luò)內(nèi)的群主選擇。
相關(guān)技術(shù)背景
wi-fi網(wǎng)絡(luò)可由提供與數(shù)個無線設(shè)備(諸如移動站(sta))的無線通信信道或鏈路的一個或多個接入點(ap)形成。可對應(yīng)于基本服務(wù)集(bss)的每個ap周期性地廣播信標幀以使得在該ap的無線射程內(nèi)的任何sta能夠建立和/或維持與wi-fi網(wǎng)絡(luò)的通信鏈路??砂ㄖ甘綼p是否具有用于sta的經(jīng)排隊下行鏈路數(shù)據(jù)的話務(wù)指示映射(tim)以及該ap的定時同步功能(tsf)值的信標幀通常是根據(jù)目標信標傳輸時間(tbtt)調(diào)度來廣播的。
對等(p2p)網(wǎng)絡(luò)可以在不存在ap的情況下由數(shù)個sta形成。對于根據(jù)wi-fi聯(lián)盟p2p規(guī)范(也被稱為“wi-fi直連”)來操作的p2p網(wǎng)絡(luò),sta之一可被指定為群主(go),而其他的sta可被指定為p2p客戶端。p2p群主可執(zhí)行ap的許多功能,諸如舉例而言,向p2p群中的其他sta廣播信標幀。所廣播的信標幀可包括群主的tsf值,以及所要求的操作參數(shù)、所支持的能力、成員關(guān)系、和p2p群內(nèi)可用的服務(wù)。
選擇多個sta中的哪個sta將用作p2p群的go是重要的,因為例如go可控制來自p2p群的成員的數(shù)據(jù)傳輸并且應(yīng)當因此能夠與p2p群成員通信。
概述
提供本概述以便以簡化形式介紹以下將在詳細描述中進一步描述的概念選集。本概述并非旨在標識出要求保護的主題內(nèi)容的關(guān)鍵特征或必要特征,亦非旨在限定要求保護的主題內(nèi)容的范圍。
公開了一種用于為對等(p2p)網(wǎng)絡(luò)選擇群主(go)的方法和裝備。對于示例實施例而言,第一無線設(shè)備可確定指示在該第一無線設(shè)備的無線通信射程內(nèi)有多少個其他無線設(shè)備的第一計數(shù)值。第一無線設(shè)備可隨后針對一個或多個第二無線設(shè)備確定一個或多個第二計數(shù)值,該一個或多個第二計數(shù)值各自指示在該一個或多個第二無線設(shè)備中的相應(yīng)的一個第二無線設(shè)備的無線通信射程內(nèi)有多少個其他無線設(shè)備。第一無線設(shè)備可從該一個或多個第二無線設(shè)備接收該一個或多個第二計數(shù)值。第一無線設(shè)備可隨后至少部分地基于該第一計數(shù)值是大于還是小于該一個或多個第二計數(shù)值來將第一無線設(shè)備或者一個或多個第二無線設(shè)備中的一個第二無線設(shè)備選擇為對等網(wǎng)絡(luò)的群主。例如,在第一數(shù)目大于一個或多個第二計數(shù)值時,將第一無線設(shè)備選擇為go;在第一數(shù)目小于一個或多個第二計數(shù)值時,將第一無線設(shè)備選擇為go。在第一數(shù)目等于第二計數(shù)值中的最大者時,可基于第一無線設(shè)備和一個或多個第二無線設(shè)備的mac地址的(例如,比較)來選擇go。
一種無線設(shè)備可包括:一個或多個天線、包括用于通過該一個或多個天線來發(fā)射和接收信號的收發(fā)機、一個或多個處理器、以及存儲配置成由該一個或多個處理器來執(zhí)行的一個或多個程序的存儲器。該一個或多個程序包括用于執(zhí)行示例實施例的方法的指令。而且,在無線設(shè)備內(nèi)提供的非瞬態(tài)計算機可讀存儲介質(zhì)可存儲配置成由無線設(shè)備中的一個或多個處理器來執(zhí)行的一個或多個程序。該一個或多個程序可包括用于執(zhí)行示例實施例的方法的指令。
附圖簡要說明
本發(fā)明各實施例是作為示例來解說的,且不旨在受附圖中各圖的限制。相似的附圖標記貫穿附圖和說明書指代相似的元素。
圖1描繪了其內(nèi)可實現(xiàn)示例實施例的網(wǎng)絡(luò)系統(tǒng)。
圖2示出了作為圖1中描述的無線設(shè)備的一個實施例的無線設(shè)備。
圖3示出了根據(jù)示例實施例的描繪用于操作p2p網(wǎng)絡(luò)的示例操作的解說性流程圖。
圖4a示出了根據(jù)示例實施例的描繪用于為p2p網(wǎng)絡(luò)選擇群主的示例操作的解說性流程圖。
圖4b示出了根據(jù)示例實施例的描繪用于為p2p網(wǎng)絡(luò)選擇群主的另一示例操作的解說性流程圖。
圖5示出了根據(jù)示例實施例的描繪用于選擇p2p網(wǎng)絡(luò)的新群主的示例操作的解說性流程圖。
詳細描述
示例實施例在以下在根據(jù)ieee802.11標準族的一個或多個方面來操作的無線系統(tǒng)的上下文中描述。將理解,示例實施例等同地適用于其它無線網(wǎng)絡(luò)(例如,蜂窩網(wǎng)絡(luò)、藍牙網(wǎng)絡(luò)、微微網(wǎng)絡(luò)、毫微微網(wǎng)絡(luò)、衛(wèi)星網(wǎng)絡(luò)等),以及適用于使用一個或多個有線標準或協(xié)議(例如,以太網(wǎng)和/或homeplug/plc標準)的信號的系統(tǒng)。如本文所使用的,術(shù)語“wlan”和
另外,術(shù)語“睡眠狀態(tài)”、“打盹狀態(tài)”以及“功率節(jié)省狀態(tài)”是指低功率操作模式,其中啟用wi-fi的設(shè)備或站的一個或多個組件被停用(例如,為了延長電池壽命),并且由此術(shù)語“睡眠狀態(tài)”、“打盹狀態(tài)”以及“功率節(jié)省狀態(tài)”在本文中能被可互換地使用。術(shù)語“無線設(shè)備”和“站”(即sta)在本文中能被可互換地使用。另外,術(shù)語“p2p網(wǎng)絡(luò)”和“p2p群”兩者都可以指在沒有專用接入點的情況下可彼此通信的數(shù)個無線設(shè)備(例如,根據(jù)wi-fi直連協(xié)議),并且由此術(shù)語“p2p網(wǎng)絡(luò)”和“p2p群”在本文中能被可互換地使用。
在以下描述中,闡述了眾多具體細節(jié)(諸如具體組件、電路、和過程的示例),以提供對本公開的透徹理解。如本文所使用的,術(shù)語“被耦合”意指直接耦合至、或通過一個或多個居間組件或電路來耦合。而且,在以下描述中并且出于解釋目的,闡述了具體的命名以提供對本公開各實施例的透徹理解。然而,對于本領(lǐng)域技術(shù)人員將明顯的是,可以不需要這些具體細節(jié)就能實踐本發(fā)明各實施例。在其他實例中,以框圖形式示出公知的電路和設(shè)備以避免混淆本公開。本文所描述的在各種總線上提供的任何信號可以與其他信號進行時間復(fù)用并且在一條或多條共用總線上提供。另外,各電路元件或軟件塊之間的互連可被示為總線或單信號線。每條總線可替換地是單信號線,而每條單信號線可替換地是總線,并且單線或總線可表示用于各組件之間的通信的大量物理或邏輯機制中的任一個或多個。本發(fā)明各實施例不應(yīng)被解釋為限于本文描述的具體示例,而是在其范圍內(nèi)包括由所附權(quán)利要求所限定的所有實施例。
圖1描繪了其中可實現(xiàn)示例實施例的示例網(wǎng)絡(luò)系統(tǒng)100。系統(tǒng)100被示為包括四個無線設(shè)備wd1-wd4,其一起形成例如可根據(jù)wi-fi直連協(xié)議(盡管可采用其他無線協(xié)議來管控無線系統(tǒng)100的操作)來操作的對等(p2p)網(wǎng)絡(luò)110(或p2p群110)。為了簡明起見,雖然僅在圖1中示出四個無線設(shè)備wd1-wd4,但將理解,網(wǎng)絡(luò)系統(tǒng)100可包括任何數(shù)目的無線設(shè)備。
無線設(shè)備wd1-wd4中的每一者可以是任何合適的啟用wi-fi的無線設(shè)備,包括例如蜂窩電話、智能電話、智能手表、個人數(shù)字助理(pda)、平板設(shè)備、膝上型計算機、路由器、網(wǎng)關(guān)、集線器、接入點、移動站(sta)、媒體播放器、揚聲器、音頻放大器、或諸如此類。無線設(shè)備wd1-wd4中的每一者可被指派唯一性的媒體接入(mac)地址(即,分別為mac1–mac4),該媒體接入地址例如由該無線設(shè)備的制造商來編程于其中。對于至少一些實施例而言,無線設(shè)備wd1-wd4中的每一者可包括至少一個或多個收發(fā)機、一個或多個處理資源(例如,處理器和/或asic)、一個或多個存儲器資源、顯示器、一個或多個指示器、以及電源(例如,電池)。存儲器資源可包括非瞬態(tài)計算機可讀介質(zhì)(例如,一個或多個非易失性存儲器元件,諸如eprom、eeprom、閃存存儲器、硬盤驅(qū)動器等),其存儲用于執(zhí)行以下關(guān)于圖3和4所描述的操作的指令。
在形成p2p群之前,無線設(shè)備wd1-wd4可執(zhí)行發(fā)現(xiàn)操作以發(fā)現(xiàn)附近的無線設(shè)備和/或確定由附加的設(shè)備提供什么服務(wù)(例如,打印)。該發(fā)現(xiàn)操作可包括兩個階段:設(shè)備發(fā)現(xiàn)階段和服務(wù)發(fā)現(xiàn)階段。在設(shè)備發(fā)現(xiàn)階段期間,無線設(shè)備確定在wi-fi通信射程內(nèi)的其他無線設(shè)備的身份和/或可用性,例如,通過掃描3個社交信道(例如,2.4ghz頻帶中的信道1、6和11)以尋找傳入信標幀和/或通過向可能正在那些信道上監(jiān)聽的任何無線設(shè)備廣播探測請求幀來這么做。之后,在服務(wù)發(fā)現(xiàn)階段期間,無線設(shè)備向可用對等設(shè)備(例如,在設(shè)備發(fā)現(xiàn)階段期間發(fā)現(xiàn)的可用對等設(shè)備)查詢關(guān)于它們提供的服務(wù)。
一旦無線設(shè)備wd1-wd4發(fā)現(xiàn)彼此(在那之后它們可被稱為“對等”設(shè)備),無線設(shè)備wd1-wd4就可為該p2p網(wǎng)絡(luò)110選擇群主(go)。如以上提及的,群主(go)可執(zhí)行通常與接入點相關(guān)聯(lián)的許多功能(例如,準許新的成員進入該p2p群,管理p2p網(wǎng)絡(luò)、廣播信標幀等)。作為結(jié)果,go也可被稱為“軟ap”。其他對等設(shè)備(例如,未被選擇為go的那些無線設(shè)備wd1-wd4)可被稱為p2p客戶端設(shè)備。go還可允許p2p客戶端設(shè)備使用任何合適的(諸)有線或無線通信標協(xié)議來連接至網(wǎng)絡(luò)(例如,局域網(wǎng)(lan)、廣域網(wǎng)(wan)、城域網(wǎng)(man)、和/或因特網(wǎng))。對于一個示例而言,經(jīng)由go的至回程網(wǎng)絡(luò)的蜂窩連接來向附近的客戶端設(shè)備提供對因特網(wǎng)的接入的go通??杀环Q為“熱點”。
一旦形成了p2p群,該p2p群的成員(例如,go以及客戶端設(shè)備)就可以在沒有傳統(tǒng)接入點的輔助的情況下彼此通信,從而允許數(shù)個無線設(shè)備(諸如圖1的無線設(shè)備wd1-wd4)在幾乎任何地方形成p2p群。另外,p2p群的成員可(向彼此)提供服務(wù),包括例如,打印、游戲、文件共享、和/或因特網(wǎng)網(wǎng)關(guān)服務(wù)。
目前,存在兩種為p2p群選擇go的主要技術(shù)。在通常被稱為自主式群主選擇的第一技術(shù)中,無線設(shè)備的用戶將用戶的設(shè)備設(shè)立為go。在通常被稱為基于協(xié)商的群創(chuàng)建的第二技術(shù)中,數(shù)個候選無線設(shè)備彼此競爭以被選擇為go。更具體地,每個候選無線設(shè)備可計算其自己的群主意愿值,并且隨后這些候選無線設(shè)備將它們自己的群主意愿值與其他無線設(shè)備的群主意愿值相比較。具有最高群主意愿值的無線設(shè)備變成go,并且所有其他無線設(shè)備變成客戶端設(shè)備。無線設(shè)備的群主意愿值通常基于該無線設(shè)備是否能夠執(zhí)行基礎(chǔ)設(shè)施wlan服務(wù)與p2p群之間的交叉連接、無線設(shè)備中的剩余功率、該無線設(shè)備是否已經(jīng)是另一群的群主、和/或收到信號強度指示符(rssi)值。
因為go管理p2p群并且可控制其客戶端設(shè)備在何時可向彼此傳送數(shù)據(jù),所以該go在盡可能多的客戶端設(shè)備的無線通信射程內(nèi)是重要的。當前wi-fi直連協(xié)議在確定群主意愿值時不考慮這一信息。由此,基于常規(guī)技術(shù)來選擇go可能不會導(dǎo)致選擇最能夠服務(wù)具有不同物理位置的最多數(shù)目個客戶端設(shè)備的go。這是要由示例實施例解決的技術(shù)問題中的至少一個技術(shù)問題。
例如,參照圖1,雖然所有無線設(shè)備wd1-wd4都可以是p2p網(wǎng)絡(luò)110的成員,但是無線設(shè)備wd1-wd4中的一者或多者可能不能夠與所有其他無線設(shè)備通信。更具體地,對于圖1中描繪的示例而言,無線設(shè)備wd2的位置可允許與無線設(shè)備wd1和wd3進行無線通信但是不能與無線設(shè)備wd4進行無線通信(例如,因為無線設(shè)備wd4不在無線設(shè)備wd2的無線覆蓋區(qū)域內(nèi));無線設(shè)備wd3的位置可允許與無線設(shè)備wd1和wd2進行無線通信但是不能與無線設(shè)備wd4進行無線通信(例如,因為無線設(shè)備wd3不在無線設(shè)備wd4的無線覆蓋區(qū)域內(nèi));以及無線設(shè)備wd4的位置可僅允許與無線設(shè)備wd1進行無線通信(例如,因為僅無線設(shè)備wd1在無線設(shè)備wd4的無線覆蓋區(qū)域內(nèi))。然而,無線設(shè)備wd1的中央位置(例如,相對于其他無線設(shè)備wd2-wd4的位置)可允許無線設(shè)備wd1與所有其他無線設(shè)備wd2-wd4進行無線地通信(例如,因為所有無線設(shè)備wd2-wd4都在無線設(shè)備wd1的無線覆蓋區(qū)域內(nèi))。作為結(jié)果,無線設(shè)備wd1可以是對于p2p網(wǎng)絡(luò)110的go的選擇而言的最佳候選。
根據(jù)示例實施例,可以至少部分地基于無線設(shè)備wd1-wd4中的每一者可以與多少個其他無線設(shè)備無線地通信來選擇p2p群110的go。對于至少一個示例實施例而言,無線設(shè)備wd1-wd4中的每一者可確定在無線射程內(nèi)有多少個p2p網(wǎng)絡(luò)110內(nèi)的其他無線設(shè)備,以及可(例如,在存儲器中)存儲指示在無線射程內(nèi)的其他無線設(shè)備的數(shù)目的計數(shù)器值或數(shù)目。無線設(shè)備wd1-wd4可彼此交換它們的計數(shù)值,并且隨后彼此比較計數(shù)值以確定無線設(shè)備wd1-wd4中的哪一個具有最大計數(shù)值(例如,并且由此無線設(shè)備wd1-wd4中的哪一個能夠與p2p網(wǎng)絡(luò)110中的最大數(shù)目的其他無線設(shè)備進行無線通信)。之后,具有最大計數(shù)值或數(shù)目的無線設(shè)備可被選擇為p2p網(wǎng)絡(luò)110的go。對于至少一個示例實施例而言,該計數(shù)值或數(shù)目可形成無線設(shè)備的群主意愿值的基礎(chǔ)。
對于其他實施例而言,無線設(shè)備的群主意愿值可基于該計數(shù)值與一個或多個其他參數(shù)的組合,該參數(shù)包括例如無線設(shè)備是否能夠執(zhí)行基礎(chǔ)設(shè)施wlan服務(wù)與p2p群之間的交叉連接、無線設(shè)備中的剩余功率、無線設(shè)備是否已經(jīng)是另一群的群主、和/或收到信號強度指示符(rssi)值。對于此類其他實施例而言,在確定群主意愿值時要考慮的參數(shù)可被指派各種權(quán)重值,例如,以便相對較高地強調(diào)一個或多個第一參數(shù)和/或相對較低地強調(diào)一個或多個第二參數(shù)。以此方式,無線設(shè)備wd1-wd4的用戶可動態(tài)地配置和/或調(diào)節(jié)如何確定群主意愿值。
對于至少一些示例實施例而言,無線設(shè)備wd1-wd4中的每一者可通過(例如,向無線信道)傳送探測請求并且隨后監(jiān)聽以查看有多少個其他無線設(shè)備進行響應(yīng)來確定在無線射程內(nèi)有多少個其他無線設(shè)備。更具體地,如果另一無線設(shè)備在射程內(nèi)且接收到探測請求,則(根據(jù)當前的wi-fi協(xié)議)其他無線設(shè)備將用探測響應(yīng)來響應(yīng)。由此,如果其他無線設(shè)備用探測響應(yīng)來響應(yīng),則該其他無線設(shè)備可被認為在無線射程內(nèi)。相反,如果其他無線設(shè)備沒有用探測響應(yīng)來響應(yīng),則該其他無線設(shè)備可被認為不在無線射程內(nèi)。因為探測請求和探測響應(yīng)的報頭包括發(fā)送方無線設(shè)備的mac地址,所以接收探測請求和/或探測響應(yīng)的無線設(shè)備可提取發(fā)送方設(shè)備的mac地址并且之后在存儲器中存儲該無線設(shè)備的mac地址。對于一些示例實施例而言,無線設(shè)備wd1-wd4中的每一者可維護從其接收到幀(例如,探測請求和/或探測響應(yīng))的無線設(shè)備的mac地址的列表。無線設(shè)備wd1-wd4中的一者或多者可使用它的mac地址列表來推導(dǎo)出計數(shù)值或數(shù)目和/或至少部分地確定無線設(shè)備的群主意愿值。
圖2示出了作為圖1的無線設(shè)備wd1-wd4的一個實施例的無線設(shè)備200。無線設(shè)備200包括指示器205、顯示器210、至少一個收發(fā)機220、至少一個處理器230、存儲器240、以及天線(ant)。雖然圖2中僅示出了一個天線,但是無線設(shè)備200可包括任何合適數(shù)目個天線。指示器205可以是任何合適的指示器(例如,一個或多個led),其向無線設(shè)備200的用戶提醒無線設(shè)備200的操作狀態(tài)(或其他狀態(tài))。顯示器210可以是任何合適類型的顯示器(例如,觸敏顯示器),其提供無線設(shè)備200的用戶接口。
收發(fā)機220可被用于向其他無線設(shè)備傳送信號和從其他無線設(shè)備接收信號。在一些實施例中,收發(fā)機220可包括多個收發(fā)機以在不同的頻帶內(nèi)和/或根據(jù)不同的協(xié)議來傳送和接收信號。例如,收發(fā)機220中的第一收發(fā)機可傳送和接收wi-fi信號,收發(fā)機220中的第二收發(fā)機可傳送和接收蜂窩信號,而收發(fā)機220中的第三收發(fā)機可傳送和接收藍牙信號。收發(fā)機220還可傳送信標幀、探測請求、探測響應(yīng)、發(fā)現(xiàn)消息、動作幀、管理幀、測量幀、和/或數(shù)據(jù)幀(以及其他合適的幀)。
存儲器240可包括設(shè)備數(shù)據(jù)庫242,其可被用作本地高速緩存以存儲mac地址或者數(shù)個其他無線設(shè)備的其他標識信息。對于一些實施例而言,設(shè)備數(shù)據(jù)庫242中的每個mac地址條目可表示在無線設(shè)備200的無線通信射程內(nèi)的無線設(shè)備??梢越Y(jié)合p2p發(fā)現(xiàn)操作來創(chuàng)建到設(shè)備數(shù)據(jù)庫242中的mac地址條目,如以下更詳細討論的。對于至少一個實施例而言,設(shè)備數(shù)據(jù)庫242還可(或替換地)存儲無線設(shè)備200的計數(shù)值或數(shù)目和/或在無線設(shè)備200的無線射程內(nèi)的其他無線設(shè)備的計數(shù)值或數(shù)目。另外,設(shè)備數(shù)據(jù)庫242可存儲無線設(shè)備200的群主意愿值和/或在無線設(shè)備200的無線射程內(nèi)的其他無線設(shè)備的群主意愿值。對于至少一個示例實施例而言,設(shè)備數(shù)據(jù)庫242還可存儲先前與無線設(shè)備200相關(guān)聯(lián)的和/或連接至無線設(shè)備200的其他無線設(shè)備的歷史關(guān)聯(lián)(例如,以及對應(yīng)的mac地址)。
另外,設(shè)備數(shù)據(jù)庫242可包括存儲無線設(shè)備200和在無線設(shè)備200的無線通信射程內(nèi)的所有其他無線設(shè)備的計數(shù)值或數(shù)目(或替換地群主意愿值)的群主候選表243。對于其他實施例而言,群主候選表243可被集成在設(shè)備數(shù)據(jù)庫242內(nèi)。
另外,存儲器240還可包括可存儲以下軟件模塊的非瞬態(tài)計算機可讀存儲介質(zhì)(例如,一個或多個非易失性存儲器元件,諸如eprom、eeprom、閃存存儲器、硬盤驅(qū)動器等):
·用于確定在無線設(shè)備200的通信射程內(nèi)可能有多少個無線設(shè)備的設(shè)備發(fā)現(xiàn)模塊244;
·用于從一群候選無線設(shè)備中選擇p2p網(wǎng)絡(luò)110的群主的群主選擇模塊246;以及
·用于邀請其他無線設(shè)備加入p2p網(wǎng)絡(luò)110的p2p邀請模塊248。
每個軟件模塊包括在由處理器230執(zhí)行時可致使無線設(shè)備200執(zhí)行對應(yīng)的(諸)功能的程序指令。由此,存儲器240的非瞬態(tài)計算機可讀存儲介質(zhì)可包括用于執(zhí)行圖3、4a、4b和5的所有或部分操作的指令。
耦合至指示器205、顯示器210、收發(fā)機220和存儲器240的處理器230可以是任何合適的能夠執(zhí)行存儲在無線設(shè)備200中(例如,在存儲器240內(nèi))的一個或多個軟件程序的腳本或指令的一個或多個處理器。雖然在圖2中被示為耦合在收發(fā)機220與存儲器240之間,但是對于實際的實施例而言,收發(fā)機220、處理器230、以及存儲器240可使用一個或多個總線(為了簡明起見未示出)來連接到一起。
處理器230可執(zhí)行設(shè)備發(fā)現(xiàn)模塊244以確定在無線設(shè)備200的無線通信射程內(nèi)有多少個其他無線設(shè)備和/或與其他無線設(shè)備共享這一信息。如以上提及的,無線設(shè)備200的通信射程內(nèi)的其他無線設(shè)備可以是p2p網(wǎng)絡(luò)110的候選并且可以是被選擇為p2p網(wǎng)絡(luò)110的go的候選。對于一些實施例而言,由處理器230執(zhí)行設(shè)備發(fā)現(xiàn)模塊244可致使收發(fā)機220向其他無線設(shè)備廣播探測請求以及監(jiān)聽從其他無線設(shè)備傳送的響應(yīng)。例如,由處理器230執(zhí)行設(shè)備發(fā)現(xiàn)模塊244可致使無線設(shè)備200在無線介質(zhì)上傳送探測請求以引起來自在無線設(shè)備200的無線射程內(nèi)的附近無線設(shè)備的響應(yīng)。如果另一無線設(shè)備在射程內(nèi)且接收到探測請求,則該另一無線設(shè)備可向無線設(shè)備200發(fā)送探測響應(yīng)。無線設(shè)備200可以從該探測響應(yīng)中提取該另一無線設(shè)備的mac地址,并且將該mac地址存儲在設(shè)備數(shù)據(jù)庫242中。以此方式,在設(shè)備數(shù)據(jù)庫242中存儲mac地址可指示對應(yīng)的該另一無線設(shè)備在無線設(shè)備200的無線射程內(nèi)。對于至少一個實施例而言,在新的mac地址被存儲在設(shè)備數(shù)據(jù)庫242中時,設(shè)備發(fā)現(xiàn)模塊244可遞增無線設(shè)備200的計數(shù)值或數(shù)目。在當前存儲在設(shè)備數(shù)據(jù)庫242中的mac地址被刪除(或標記為無效)時,設(shè)備發(fā)現(xiàn)模塊244可遞減計數(shù)值或數(shù)目,例如,因為對應(yīng)的無線設(shè)備不再在無線設(shè)備200的無線射程內(nèi)。如以上提及的,存儲在設(shè)備數(shù)據(jù)庫242中的mac地址的數(shù)目可被用于確定無線設(shè)備200的群主意愿值的至少一部分。
處理器230可執(zhí)行群主選擇模塊246以至少部分地基于將形成p2p網(wǎng)絡(luò)110的無線設(shè)備的計數(shù)值或數(shù)目(或替換地群主意愿值)來為p2p網(wǎng)絡(luò)110選擇go。對于至少一些示例實施例而言,群主選擇模塊246在由處理器230執(zhí)行時可以將無線設(shè)備wd1-wd4的計數(shù)值或數(shù)目彼此比較以確定無線設(shè)備wd1-wd4中的哪個無線設(shè)備具有最大的計數(shù)值或數(shù)目(并且由此確定無線設(shè)備wd1-wd4中的哪個無線設(shè)備能夠與最大數(shù)目的其他無線設(shè)備無線地通信)。由此,對于至少一個示例實施例而言,如果無線設(shè)備200具有最大的計數(shù)值或數(shù)目(例如,與p2p群中的其他無線設(shè)備的計數(shù)值或數(shù)目比較),則無線設(shè)備200可將其自己選擇為p2p群的go。相反,如果無線設(shè)備200不具有最大的計數(shù)值或數(shù)目,則無線設(shè)備200可將其自己指定為p2p群中的客戶端設(shè)備。
對于其他示例實施例而言,每個無線設(shè)備的群主意愿值可基于計數(shù)值與一個或多個其他參數(shù)的組合,該其他參數(shù)包括例如該無線設(shè)備是否能夠執(zhí)行基礎(chǔ)設(shè)施wlan服務(wù)與p2p群之間的交叉連接、無線設(shè)備中的剩余功率、該無線設(shè)備是否已經(jīng)是另一群中的群主、和/或收到信號強度指示符(rssi)值。
處理器230可執(zhí)行p2p邀請模塊248以邀請其他無線設(shè)備加入p2p網(wǎng)絡(luò)110。在無線設(shè)備200被選擇成作為p2p網(wǎng)絡(luò)110的go來操作時,p2p邀請模塊248可由處理器230執(zhí)行。對于至少一些示例實施例而言,p2p邀請模塊248可被執(zhí)行以使得無線設(shè)備200向由存儲在設(shè)備數(shù)據(jù)庫242中的mac地址標識的無線設(shè)備發(fā)送邀請消息(例如,以加入p2p網(wǎng)絡(luò)110)。
圖3示出了根據(jù)示例實施例的描繪用于操作p2p網(wǎng)絡(luò)110的示例操作300的解說性流程圖。示例實施例可以執(zhí)行本文描述的操作連同附加操作、較少操作、以不同的次序執(zhí)行操作、并行地執(zhí)行操作、和/或不同地執(zhí)行一些操作。
參照圖1-3,無線設(shè)備wd1-wd4可首先進入發(fā)現(xiàn)階段(301)。在發(fā)現(xiàn)階段301期間,無線設(shè)備wd1-wd4可發(fā)現(xiàn)其他附近的無線設(shè)備。在一些實施例中,可在無線設(shè)備wd1-wd4從相應(yīng)的用戶接收到開始發(fā)現(xiàn)階段301的指示時進入發(fā)現(xiàn)階段301。對于一個示例而言,無線設(shè)備wd1-wd4中的每一者可檢測按鈕按壓或任何其他技術(shù)上可行的用戶輸入。對于另一示例而言,無線設(shè)備wd1-wd4可使用“配對”(例如,使用近場通信(nfc)或藍牙信號)來促成p2p網(wǎng)絡(luò)110的設(shè)立。
在發(fā)現(xiàn)階段301期間,無線設(shè)備wd1-wd4中的每一者可確定有多少個其他無線設(shè)備是可見的(例如,在它的無線通信射程內(nèi))(302)。在一些實施例中,無線設(shè)備wd1-wd4中的每一者可向其他無線設(shè)備傳送探測請求,并且隨后監(jiān)聽探測響應(yīng)以確定在無線射程內(nèi)有多少個其他無線設(shè)備。如以上提及的,每個探測響應(yīng)包括響應(yīng)方無線設(shè)備的mac地址,并且無線設(shè)備wd1-wd4中的每一者可編輯在它的無線射程內(nèi)的其他無線設(shè)備的mac地址的列表(例如,使用接收到的探測請求)。無線設(shè)備wd1-wd4中的每一者可使用結(jié)果得到的mac地址列表來確定指示在它的無線射程內(nèi)有多少個其他無線設(shè)備的計數(shù)值或數(shù)目。對于至少一個示例實施例而言,無線設(shè)備wd1-wd4中的每一者的群主意愿值可至少部分地基于所確定的計數(shù)值或數(shù)目。
仍然在發(fā)現(xiàn)階段301中時,無線設(shè)備wd1-wd4中的每一者可確定有多少個無線設(shè)備對于p2p網(wǎng)絡(luò)110中的其他無線設(shè)備中的每一者而言是可見的(304)。例如,無線設(shè)備wd1可例如在共享操作期間從其他無線設(shè)備wd2-wd4中的每一者接收計數(shù)值或數(shù)目(或群主意愿值)。該共享操作可利用任何合適的(諸)幀,并且可以在發(fā)現(xiàn)階段301期間被執(zhí)行。
更具體地,無線設(shè)備wd1-wd4可在預(yù)關(guān)聯(lián)服務(wù)發(fā)現(xiàn)時段期間彼此共享指示它們的所確定的計數(shù)值或數(shù)目的信息。預(yù)關(guān)聯(lián)服務(wù)發(fā)現(xiàn)協(xié)議的示例包括由來自因特網(wǎng)工程任務(wù)組的rfc6267描述的mdns(多播域名系統(tǒng))協(xié)議、來自
隨后,在連接階段305期間,無線設(shè)備wd1-wd4可形成彼此的連接以及形成p2p網(wǎng)絡(luò)110。首先,為p2p網(wǎng)絡(luò)110選擇群主(go)(306)。如以上提及的,無線設(shè)備wd1-wd4中的每一者可以將它們的計數(shù)值或數(shù)目與其他無線設(shè)備的計數(shù)值或數(shù)目進行比較以便選擇go。具有最大的計數(shù)值或數(shù)目的無線設(shè)備可被選擇為go,而所有其他無線設(shè)備可變成客戶端設(shè)備。對于至少一個示例實施例而言,無線設(shè)備wd1-wd4可將它們的群主意愿值彼此進行比較,并且具有最大的群主意愿值的無線設(shè)備可被選擇為go。對于一些實施例而言,如果多于一個候選無線設(shè)備具有相同的計數(shù)值或數(shù)目(或相同的群主意愿值),則候選無線設(shè)備的mac地址可被用作“打破平局者”。對于一些實施例而言,具有最大mac地址的候選無線設(shè)備可被選擇為go。對于其他實施例而言,具有最小mac地址的候選無線設(shè)備可被選擇為go。
隨后,go可邀請其他無線設(shè)備加入p2p網(wǎng)絡(luò)110(308)。在一些實施例中,go可使用p2p邀請規(guī)程來邀請其他無線設(shè)備加入p2p網(wǎng)絡(luò)110。例如,go可向被邀請的無線設(shè)備傳送p2p邀請幀。響應(yīng)于該邀請幀,go可以從被邀請的無線設(shè)備接收p2p邀請響應(yīng)幀。在一些實施例中,p2p邀請和響應(yīng)幀可用作與將無線設(shè)備加入p2p網(wǎng)絡(luò)110相關(guān)聯(lián)的按鈕按壓的等效物。
接下來,無線設(shè)備wd1-wd4可進入通信階段(309)。在通信階段期間,在p2p網(wǎng)絡(luò)110內(nèi)的無線設(shè)備wd1-wd4之間可交換數(shù)據(jù)和其他信息(310)。
對于一些實施例而言,p2p網(wǎng)絡(luò)110內(nèi)的無線設(shè)備wd1-wd4可指示無線設(shè)備的操作階段。例如,還是參考圖2,在無線設(shè)備200進入發(fā)現(xiàn)階段301時,與指示器205相關(guān)聯(lián)的led可以按第一占空比來閃爍。例如,led可以在發(fā)現(xiàn)階段301期間按25%的占空比來閃爍。隨著無線設(shè)備200進入連接階段305,led可以按第二占空比來閃爍。例如,led可以在連接階段305期間按50%的占空比來閃爍。隨著無線設(shè)備200進入通信階段309,led可以按第三占空比來閃爍,或者可以持續(xù)地發(fā)光。在其他實施例中,可以將其他占空比用于指示不同的操作階段。在又一實施例中,可以將不同的led顏色用于指示無線設(shè)備200的不同操作階段。
在一些實施例中,在go在308處邀請其他無線設(shè)備之后,一個或多個附加無線設(shè)備可加入p2p網(wǎng)絡(luò)110。例如,附加無線設(shè)備可檢測按鈕按壓,并且響應(yīng)于檢測到按鈕按壓,該附加無線設(shè)備可向go發(fā)送加入p2p網(wǎng)絡(luò)110的請求。已經(jīng)是p2p網(wǎng)絡(luò)110的成員的其他無線設(shè)備可以不受影響。
圖4a示出了根據(jù)示例實施例的描繪用于為p2p網(wǎng)絡(luò)110選擇go的更詳細的操作400的解說性流程圖。一些實施例可以執(zhí)行本文描述的操作連同附加操作、較少操作、以不同的次序執(zhí)行操作、并行地執(zhí)行操作、和/或不同地執(zhí)行一些操作。另外,為了簡明起見,雖然圖4a的操作在以下關(guān)于無線設(shè)備wd1來描述,但是與p2p網(wǎng)絡(luò)110相關(guān)聯(lián)的其他無線設(shè)備也可執(zhí)行圖4a的操作(并且也可被認為是選擇go的候選者)。
第一無線設(shè)備wd1確定指示在無線設(shè)備wd1的無線通信射程內(nèi)有多少個其他無線設(shè)備wd2-wd4的第一計數(shù)值(402)。隨后,第一無線設(shè)備wd1針對一個或多個第二無線設(shè)備wd2-wd4確定一個或多個第二計數(shù)值,該一個或多個第二計數(shù)值各自指示在一個或多個第二無線設(shè)備wd2-wd4中的相應(yīng)的一個第二無線設(shè)備的無線通信射程內(nèi)有多少個其他無線設(shè)備(404)。如以上提及的,第一無線設(shè)備wd1可以從該一個或多個第二無線設(shè)備wd2-wd4接收指示一個或多個第二計數(shù)值的信息。
隨后,第一無線設(shè)備wd1至少部分地基于該第一計數(shù)值是大于還是小于一個或多個第二計數(shù)值來將第一無線設(shè)備wd1或者該一個或多個第二無線設(shè)備wd2-wd4中的一個第二無線設(shè)備選擇為對等網(wǎng)絡(luò)110的群主(406)。例如,如果第一計數(shù)值大于第二計數(shù)值,則第一無線設(shè)備wd1被選擇為go(406a)。相反,如果第一計數(shù)值小于該一個或多個第二計數(shù)值,則具有最大第二計數(shù)值的第二無線設(shè)備wd2被選擇為go(406b)。在第一計數(shù)值等于第二計數(shù)值中的最大者時,可基于具有相同的最高計數(shù)值的無線設(shè)備的mac地址的比較來選擇go(406c)。
圖4b示出了根據(jù)另一示例實施例的描繪用于為p2p網(wǎng)絡(luò)110選擇go的更詳細的操作450的解說性流程圖。一些實施例可以執(zhí)行本文描述的操作連同附加操作、較少操作、以不同的次序執(zhí)行操作、并行地執(zhí)行操作、和/或不同地執(zhí)行一些操作。另外,為了簡明起見,雖然圖4b的操作在以下關(guān)于無線設(shè)備wd1來描述,但是與p2p網(wǎng)絡(luò)110相關(guān)聯(lián)的其他無線設(shè)備也可執(zhí)行圖4b的操作(并且也可被認為是選擇go的候選者)。
對于對等網(wǎng)絡(luò),將在第一無線設(shè)備的無線通信射程內(nèi)有多少個無線設(shè)備與在第二無線設(shè)備的無線通信射程內(nèi)有多少個無線設(shè)備進行比較(452)。對于至少一些實施例而言,第一無線設(shè)備可以向其他無線設(shè)備傳送探測請求(452a),并且可以從數(shù)個其他無線設(shè)備接收探測響應(yīng),所接收到的探測響應(yīng)的數(shù)目指示在第一無線設(shè)備的無線通信射程內(nèi)有多少個無線設(shè)備(452b)。
接下來,可至少部分地基于該比較來將第一無線設(shè)備或第二無線設(shè)備選擇為群主(454)。對于至少一些實施例而言,如果在第一無線設(shè)備的無線通信射程內(nèi)的無線設(shè)備比在第二無線設(shè)備的無線通信射程內(nèi)的無線設(shè)備更多,則可將第一無線設(shè)備選擇為群主(454a),并且如果在第二無線設(shè)備的無線通信射程內(nèi)的無線設(shè)備比在第一無線設(shè)備的無線通信射程內(nèi)的無線設(shè)備更多,則可將第二無線設(shè)備選擇為群主(454b。)如果該比較指示在第一無線設(shè)備和第二無線設(shè)備的無線通信射程內(nèi)有相等數(shù)目的無線設(shè)備,則可基于第一無線設(shè)備和第二無線設(shè)備的媒體接入控制(mac)地址的比較來將第一無線設(shè)備或第二無線設(shè)備選擇為群主(454c)。對于一些實施例而言,具有較高數(shù)值的mac地址的無線設(shè)備可被選擇為群主。對于其他實施例而言,具有最低數(shù)值的mac地址的無線設(shè)備可被選擇為群主。
通過至少部分地基于無線設(shè)備中的哪一個無線設(shè)備在將形成p2p群的最大數(shù)目的其他無線設(shè)備的無線射程內(nèi)來選擇go,示例實施例可確保所選擇的go將能夠與該群中最大數(shù)目的無線設(shè)備進行通信。這是對前述至少一個技術(shù)問題的技術(shù)解決方案中的至少一個解決方案。
p2p網(wǎng)絡(luò)110內(nèi)的通信可以在go被斷電、置于低功率模式中、或從p2p網(wǎng)絡(luò)110的通信射程移動時停止。在一些實施例中,可檢測與當前go相關(guān)聯(lián)的不活躍并且選擇新的go以恢復(fù)通信。對新的go的選擇在以下結(jié)合圖5來更詳細地描述。
圖5示出了根據(jù)一些實施例的描繪用于為p2p網(wǎng)絡(luò)110選擇新的go的示例操作500的解說性流程圖。還是參照圖2,無線設(shè)備200可首先確定該go是不活躍的(502)。對于一個實施例而言,無線設(shè)備200可基于無線設(shè)備200沒有從該go接收到信標幀來確定該go是不活躍的。例如,無線設(shè)備200可以在十秒的時段(雖然可使用其他合適的時間段)期間沒有從該go接收到信標幀時得出該go是不活躍的結(jié)論。對于另一實施例而言,無線設(shè)備200可基于無線設(shè)備200沒有從該go接收到指定數(shù)目的連續(xù)信標幀來確定該go是不活躍的。例如,無線設(shè)備200可在沒有接收到十個連續(xù)的信標幀(雖然可使用其他數(shù)目的缺失信標幀)時得出該go是不活躍的結(jié)論。
接下來,無線設(shè)備200確定是否使用經(jīng)高速緩存的數(shù)據(jù)來確定新的go(504)。經(jīng)高速緩存的數(shù)據(jù)可包括存儲在設(shè)備數(shù)據(jù)庫242中的mac地址、存儲在群主候選表243中的計數(shù)值或數(shù)目、和/或存儲在群主候選表243中的群主意愿值。如果無線設(shè)備200使用經(jīng)高速緩存的數(shù)據(jù)來選擇新的go,則具有下一最高計數(shù)值或群主意愿值的無線設(shè)備被選擇為新的群主(506)。相反,如果無線設(shè)備200不使用它的經(jīng)高速緩存的數(shù)據(jù)(如504處所測試的),則可通過執(zhí)行以上關(guān)于圖4a和/或圖4b描述的一個或多個操作來選擇新的go(508)。
在說明書前述篇幅中,本發(fā)明各實施例已參照其具體示例性實施例進行了描述。然而將明顯的是,可對其作出各種修改和改變而不會脫離如所附權(quán)利要求中所闡述的本公開更寬泛的范圍。相應(yīng)地,本說明書和附圖應(yīng)被認為是解說性而非限定性的。