/或信標(biāo)幀中提供的管理信息來與該對等STA建立P2P連接。替換地,客戶端STA 101可以使用該管理信息來加入P2P群610。作為P2P群610的成員,客戶端STA 101可以使用由其他成員(例如對等STA102-104)中的任一者提供的服務(wù)。
[0077]圖7是根據(jù)一些實施例的描繪另一預(yù)關(guān)聯(lián)發(fā)現(xiàn)操作700的解說性流程圖。同樣參考圖6A-6B,在操作700中,客戶端STA 101通過掃描P2P網(wǎng)絡(luò)信道來發(fā)現(xiàn)對等STA以發(fā)起設(shè)備發(fā)現(xiàn)操作(710)。例如,客戶端STA 101可以通過監(jiān)聽信標(biāo)幀(如圖6A所示)和/或通過廣播探測請求并監(jiān)聽探測響應(yīng)(如圖6B所示)來掃描網(wǎng)絡(luò)。
[0078]客戶端STA 101接著從P2P群610的群主STA 102接收管理幀(720)。具體來說,管理幀可包括管理信息以及標(biāo)識P2P群610的全部成員STA 102-104的P2P服務(wù)能力的GSI數(shù)據(jù)。GSI數(shù)據(jù)的示例可包括指示以下內(nèi)容的信息:(i)群成員是否提供P2P服務(wù),(ii)對群成員中的一者或多者提供的P2P服務(wù)的更新和/或改變,和/或(iii)每一群成員支持的服務(wù)類型。
[0079]客戶端STA 101可以分析與管理幀一起包括的GSI數(shù)據(jù)以確定要向?qū)Φ萐TA102-104中的哪一個STA(如果有的話)查詢以獲得附加服務(wù)信息(730)。例如,客戶端STA 101可以為群成員STA 102-104中的每一者執(zhí)行以上在圖4中敘述的分析(使用GSI數(shù)據(jù))。以此方式,客戶端STA 101可以縮減要與其發(fā)起服務(wù)發(fā)現(xiàn)操作的潛在候選列表。具體來說,客戶端STA 101可以基于所選群成員將能夠提供客戶端STA 101要請求的服務(wù)的可能性來選擇P2P群610中的一個或多個成員STA 102-104。
[0080]客戶端STA 101接著可以決定加入P2P群610(740)和/或直接查詢P2P群610中的一個或多個所選成員(750)。例如,如果客戶端STA 101加入P2P群610,則客戶端STA101接著可以查詢?nèi)褐鱏TA 102以獲得關(guān)于群610的所選成員的詳細服務(wù)信息。如果客戶端STA 101確定P2P群610的成員可以提供所請求的服務(wù),則客戶端STA 101接著可以與該成員通信以執(zhí)行期望服務(wù)。以此方式,STA之間的所有通信將通過群主STA 102來路由。
[0081]替換地,客戶端STA 101可以直接將SD_Req幀個別地傳送到所選群成員中的每一者。所選群成員可因而通過將SD_Resp幀傳送到客戶端STA 101以指示它們是否支持正被請求的特定服務(wù)來作出響應(yīng)。另外,每一 SD_Resp幀可包括對應(yīng)的群成員被配置成支持的所有服務(wù)的詳細列表。如果SD_Resp指示群成員能夠提供所請求的服務(wù),則客戶端STA 101可以使用接收自群主STA 102的管理信息來與該特定群成員建立直接P2P連接。
[0082]圖8描繪其中可實現(xiàn)本發(fā)明的各實施例的P2P W1-Fi系統(tǒng)800的另一實施例。系統(tǒng)800被示為包括位于對等STA 802-804的W1-Fi通信射程內(nèi)的客戶端STA 801。盡管為了簡明起見僅在圖8中示出三個對等STA 802-804,但應(yīng)理解,W1-Fi系統(tǒng)800可包括任何數(shù)目的對等STA。STA 801-804被配置成在W1-Fi介質(zhì)上以P2P方式彼此通信。然而,與圖1A-1B的W1-Fi系統(tǒng)100相反,系統(tǒng)800可在不執(zhí)行設(shè)備發(fā)現(xiàn)操作的情況下執(zhí)行預(yù)關(guān)聯(lián)服務(wù)發(fā)現(xiàn)操作,之后執(zhí)行單獨的服務(wù)發(fā)現(xiàn)操作。具體來說,設(shè)備發(fā)現(xiàn)操作和服務(wù)發(fā)現(xiàn)操作可以被組合成單個操作。例如,代替交換管理幀(例如信標(biāo)、P_Req、和/SP_Resp)和服務(wù)發(fā)現(xiàn)幀(例如,SD_Req和/或SD_Resp),STA 801-804可改為使用設(shè)備和服務(wù)發(fā)現(xiàn)幀(例如,DSD_Req和/或DSD_Resp)來交換管理信息和服務(wù)發(fā)現(xiàn)請求/響應(yīng)兩者。
[0083]圖9示出作為圖8的STA 801-804的一個實施例的STA 900。STA 900包括掃描器910、發(fā)射機/接收機(或“收發(fā)機”)電路920、處理器930和存儲器940。掃描器910可用于例如通過周期性地廣播DSD_Req幀并監(jiān)聽DSD_Resp幀來掃描周圍環(huán)境以檢測和標(biāo)識附近的對等STA。收發(fā)機電路920接著可用于向發(fā)現(xiàn)的對等STA傳送信號以及從發(fā)現(xiàn)的對等STA接收信號。
[0084]存儲器940可包括STA表942,STA表942可用作本地高速緩存以存儲多個對等STA的MAC地址、此類STA的位置坐標(biāo)、STA所支持的P2P服務(wù)、以及與任何發(fā)現(xiàn)的對等STA有關(guān)的其他合適的位置或配置信息。例如,STA表942中的每一條目可包括用于存儲相關(guān)聯(lián)的STA的名稱的對等設(shè)備字段、用于存儲STA的MAC地址的地址字段、用于存儲STA的位置坐標(biāo)的坐標(biāo)字段、以及用于存儲關(guān)于STA可被配置成提供的任何P2P服務(wù)的信息的服務(wù)字段。存儲器940還可包括服務(wù)信息表944,服務(wù)信息表944可用于存儲關(guān)于STA 900的服務(wù)信息。例如,服務(wù)信息表944可包括STA 900被配置成支持的服務(wù)的詳細列表、STA 900所支持的不同服務(wù)類型的列表、和/或關(guān)于對STA 900所提供的一個或多個服務(wù)的更新或改變的信息。
[0085]此外,存儲器940還可包括可存儲以下軟件模塊的非瞬態(tài)計算機可讀存儲介質(zhì):
[0086].P2P設(shè)備和服務(wù)發(fā)現(xiàn)軟件模塊946,其用于確定附近對等STA的位置和身份以及用于確定鄰近對等STA中的哪個STA (如果有的話)能夠提供特定服務(wù)。
[0087]該軟件模塊包括指令,這些指令在由處理器930執(zhí)行時使STA 900執(zhí)行相應(yīng)的功能。因而,存儲器940的非瞬態(tài)計算機可讀存儲介質(zhì)可以包括用于執(zhí)行以上針對圖10描述的操作的全部或一部分的指令。
[0088]耦合至掃描器910、收發(fā)機920、以及存儲器940的處理器930可以是能夠執(zhí)行存儲在STA 900中的一個或多個軟件程序的指令的腳本的任何合適的處理器。例如,處理器930可以執(zhí)行P2P設(shè)備和服務(wù)發(fā)現(xiàn)軟件模塊946以發(fā)現(xiàn)其他附近STA并且確定STA中的任一者是否能夠提供STA 900所請求的特定服務(wù)。具體來說,如由處理器930執(zhí)行的設(shè)備和服務(wù)發(fā)現(xiàn)軟件模塊946可以生成要經(jīng)由掃描器910和/或收發(fā)機920來廣播的DSD_Req幀。DSD_Req幀可包括標(biāo)識STA 900的一個或多個通信能力的管理信息以及指定STA 900正請求的特定服務(wù)的服務(wù)查詢(SQ)數(shù)據(jù)。掃描器910接著監(jiān)聽從鄰近對等STA發(fā)送回的DSD_Resp 幀。
[0089]如由處理器930執(zhí)行的設(shè)備和服務(wù)發(fā)現(xiàn)模塊946可以解析收到的DSD_Resp幀以獲得管理信息以及服務(wù)響應(yīng)(SR)數(shù)據(jù)并且相應(yīng)地更新STA表942。對于一些實施例,處理器930可以簡單地基于接收到來自對等STA的DSD_Resp幀來確定該對等STA是否能夠提供所請求的服務(wù)。替換地,在執(zhí)行服務(wù)發(fā)現(xiàn)模塊946的處理器930可以分析與DSD_Resp幀一起包括的SR數(shù)據(jù)以確定對等STA中的哪個STA (如果有的話)能夠提供所請求的P2P服務(wù)。
[0090]當(dāng)STA 900接收到來自另一 STA的DSD_Req幀時,如由處理器930執(zhí)行的設(shè)備和服務(wù)發(fā)現(xiàn)軟件模塊946可以解析DSD_Req幀中包括的管理信息以確定STA900是否支持DSD_Req幀中所指定的一種或多種類型的通信。此外,在執(zhí)行設(shè)備和服務(wù)發(fā)現(xiàn)軟件模塊946的處理器930可以解析來自DSD_Req幀的SQ數(shù)據(jù)以確定STA 900是否能夠提供所請求的服務(wù)。如果STA 900能夠與提出請求的STA建立連接并且能夠提供所請求的服務(wù),則如由處理器930執(zhí)行的設(shè)備和服務(wù)發(fā)現(xiàn)模塊946可以生成要被傳送回提出請求的設(shè)備(例如經(jīng)由掃描器910)的DSD_Resp幀。DSD_Resp幀可包括管理信息和檢索自服務(wù)信息表944的SR數(shù)據(jù)。對于一些實施例,如果STA 900不支持所請求的服務(wù),則不生成和/或傳送DSD_Resp幀。
[0091]圖10是根據(jù)其他實施例的描繪預(yù)關(guān)聯(lián)發(fā)現(xiàn)操作1000的解說性流程圖。如上所述,本發(fā)明的各實施例允許STA在單個操作中交換管理信息和服務(wù)發(fā)現(xiàn)數(shù)據(jù),因而組合預(yù)關(guān)聯(lián)發(fā)現(xiàn)操作的設(shè)備發(fā)現(xiàn)階段和服務(wù)發(fā)現(xiàn)階段。同樣參考圖8,在操作1000中,客戶端STA 801通過向W1-Fi射程內(nèi)的對等STA廣播DSD_Req幀并且監(jiān)聽DSD_Resp幀來發(fā)起設(shè)備和服務(wù)發(fā)現(xiàn)操作(1010)。每一 DSD_Req幀可包括管理信息和SQ數(shù)據(jù),其包括對特定P2P服務(wù)的請求。
[0092]對于一些實施例,僅能夠支持所請求的服務(wù)的對等STA 802-804 (例如STA803)向客戶端STA 801發(fā)送DSD_Resp幀。每一 DSD_Resp幀包括管理信息以及SR數(shù)據(jù),包括關(guān)于對應(yīng)的對等STA被配置成提供的P2P服務(wù)的詳細信息。SR數(shù)據(jù)的示例可包括指示以下內(nèi)容的信息:(i)對應(yīng)的對等STA所提供的服務(wù)的詳細列表,和/或(ii)對等STA是否能夠提供所請求的服務(wù)。
[0093]客戶端STA 801接收由對等STA 803傳送的DSD_Resp幀,并且解析該DSD_Resp幀以獲得關(guān)于對等STA 803的管理信息和SR數(shù)據(jù)(1020)。客戶端STA801接著可以分析與DSD_Resp幀一起包括的SR數(shù)據(jù)以確定對等STA 803支持的具體服務(wù)。對于一些實施例,客戶端STA 801可以分析SR數(shù)據(jù)以確定對等STA中的哪個STA (如果有的話)能夠支持所請求的服務(wù)(例如,在其中對等STA802-804向客戶端STA 801傳送DSD_Resp幀而不管它們是否能夠提供特定的所請求的服務(wù)的情形中)。
[0094]最后,客戶端STA 801可以使用與DSD_Resp幀一起包括的管理信息來與對等STA803建立P2P連接(1030)。在一些情形中,對等STA 802-804之一能夠提供所請求的服務(wù)。相應(yīng)地,客戶端STA 801可以接收多個DSD_Resp幀,每一個DSD_Resp幀標(biāo)識能夠提供所請求的服務(wù)的相應(yīng)的對等STA。因而,對于一些實施例,客戶端STA 801可以向用戶提供選擇要與匹配對等STA中的哪個STA(如果有的話)進行連接的選項。
[0095]圖11示出了根據(jù)一些實施例的設(shè)備和服務(wù)發(fā)現(xiàn)(DSD)幀1100的框圖。DSD幀1100包括MAC報頭1101、管理信息1102、服務(wù)查詢(SQ)數(shù)據(jù)1103和FCSl 104。MAC報頭1101可包括目的地MAC地址和源MAC地址兩者。FCS 1104可以是校驗和或用于差錯檢測的其他合適的技術(shù)。
[0096]管理信息1102可包括可用于定位DSD幀1100源自的STA并且與該STA建立連接的任何信息(例如,此類信息可包括接收機MAC地址和/或支持?jǐn)?shù)據(jù)率)。SQ數(shù)據(jù)可包括始發(fā)STA被配置成提供的服務(wù)的詳細列表。對于一些實施例,SQ數(shù)據(jù)還可包括指示STA是否能夠提供特定的所請求的服務(wù)的確認(rèn)位。
[0097]此外,SQ數(shù)據(jù)可以被散列或壓縮以使得STA所支持的所有不同服務(wù)能夠被編碼到W1-Fi數(shù)據(jù)幀的大小限制內(nèi)(例如同時為管理信息1102保留空間)。示例性編碼算法可包括:
[0098]?如果SQ數(shù)據(jù)中的服務(wù)數(shù)目為低(例如小于8),則為每一服務(wù)查詢創(chuàng)建散列值陣列。例如,可以針對查詢串中的所有八位位組使用XOR(異或)運算來為每一服務(wù)查詢創(chuàng)建散列值。
[0099].如果查詢服務(wù)是“事務(wù)性的”(例如,第一查詢串是固定的,之后是描述期望事務(wù)的可變串