CN105027593B - 对等预关联发现操作 - Google Patents
对等预关联发现操作 Download PDFInfo
- Publication number
- CN105027593B CN105027593B CN201480012159.3A CN201480012159A CN105027593B CN 105027593 B CN105027593 B CN 105027593B CN 201480012159 A CN201480012159 A CN 201480012159A CN 105027593 B CN105027593 B CN 105027593B
- Authority
- CN
- China
- Prior art keywords
- service
- services
- sta
- peer
- client device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/16—Discovering, processing access restriction or access information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
公开了一种用于在Wi‑Fi网络中发现对等设备的P2P服务能力的方法。客户端设备扫描P2P网络的一个或多个信道以发现对等设备,并且从对等设备集接收一个或多个数据帧。每一数据帧包括使得客户端设备能够与对应的对等设备建立连接的管理信息。每一数据帧进一步包括第一服务信息集,该第一服务信息集包括指示对应的对等设备是否被配置成提供P2P服务的数据。客户端设备接着至少部分地基于第一服务信息集来选择性地与来自对等设备集的对等设备建立P2P连接。
Description
技术领域
本发明的各实施例一般涉及无线对等网络,尤其涉及对Wi-Fi设备提供的服务的预关联发现。
相关技术背景
Wi-Fi联盟对等(P2P)规范(也被称为“Wi-Fi直连”)允许在对等设备之间进行预关联服务发现。这一协议使得客户端设备或站(STA)能够查询Wi-Fi射程内的对等STA以确定该对等STA提供什么服务(如果有的话)。此类服务的示例可包括:打印、游戏、文件共享、和/或因特网网关服务。确定对等STA所提供的服务通常要求至少两个通信阶段:设备发现阶段,之后是服务发现阶段。
在设备发现阶段期间,客户端STA(例如请求特定P2P服务的STA)确定Wi-Fi通信射程内的其他STA的身份和/或可用性。客户端STA通常通过“扫描”3个社交信道(例如,2.4GHZ频带中的信道1、6和11)以寻找传入信标帧和/或通过向可能正在那些信道上监听的任何STA广播探测请求帧来这么做。之后,在服务发现阶段期间,客户端STA向在设备发现阶段期间发现的)可用对等STA(查询有关它们提供的服务。客户端STA通常一次一个地向支持服务发现操作的每一对等STA传送服务发现请求,直到客户端STA标识提供所请求的服务的对等STA。
因而,在服务发现阶段期间,客户端STA常常在标识提供所请求的服务的对等STA之前查询若干对等STA(其中的一些STA可能不提供任何P2P服务)。这是因为客户端STA在服务发现阶段之前通常不知晓每一对等STA提供哪些服务(如果有的话)。此外,客户端STA通常不具有先前发现的对等STA所提供的服务是否已经改变的知识,除非该客户端STA周期性地重复与每一对等STA的服务发现操作(和设备发现操作)。因而,在寻找提供期望服务的对等STA方面可能消耗大量的时间和资源。
附图简述
本发明各实施例是作为示例来解说的,且不旨在受附图中各图的限定,其中:
图1A-1B描绘其中可实现本发明的各实施例的对等(P2P)Wi-Fi***;
图2示出了根据一些实施例的无线站(STA)的框图;
图3是根据一些实施例的描绘预关联发现操作的解说性流程图;
图4是根据一些实施例的描绘更详细的预关联发现操作的解说性流程图;
图5示出了根据一些实施例的管理帧的框图;
图6A-6B描绘其中可实现本发明的各实施例的另一P2P Wi-Fi***;
图7是根据一些实施例的描绘另一预关联发现操作的解说性流程图;
图8描绘其中可实现本发明的各实施例的P2P Wi-Fi***的另一实施例;
图9示出了根据一些实施例的另一无线STA的框图;
图10是描绘预关联发现操作的另一实施例的解说性流程图;以及
图11示出了根据一些实施例的设备和服务发现帧的框图。
详细描述
仅为了简单起见,下文在由启用Wi-Fi的设备执行以及在启用Wi-Fi的设备之间执行的预关联服务发现操作的上下文中描述本发明的各实施例。应该理解,本发明的各实施例等同地适用于使用其他各种无线标准或协议的信号来执行预关联服务发现操作。如本文所使用的,术语WLAN和Wi-Fi可包括由IEEE 802.11标准、蓝牙、HiperLAN(与IEEE 802.11标准相当的无线标准集,主要在欧洲使用)、以及无线通信中使用的其他技术来管控的通信。此外,术语“客户端设备”是指在对等(P2P)网络中请求特定服务的无线设备,而术语“对等设备”是指P2P网络中能够被客户端设备发现的无线设备。术语“设备”、“站”(即STA)可在本文中可互换地使用。
在以下描述中,阐述了众多具体细节(诸如具体组件、电路、和过程的示例),以提供对本公开的透彻理解。如本文所使用的,术语“耦合”意指直接连接到、或通过一个或多个居间组件或电路来连接。而且,在以下描述中并且出于解释目的,阐述了具体的命名以提供对本公开各实施例的透彻理解。然而,对于本领域技术人员将明显的是,可以不需要这些具体细节就能实践本发明各实施例。在其他实例中,以框图形式示出公知的电路和设备以避免混淆本公开。本文所描述的各种总线上所提供的任何信号可以与其他信号进行时间复用并且在一条或多条共用总线上提供。另外,各电路元件或软件块之间的互连可被示为总线或单信号线。每条总线可替换地是单信号线,而每条单信号线可替换地是总线,并且单线或总线可表示用于各组件之间的通信的大量物理或逻辑机制中的任一个或多个。本发明各实施例不应被解释为限于本文描述的具体示例,而是在其范围内包括由所附权利要求所限定的所有实施例。
图1A-1B描绘其中可实现本发明的各实施例的对等(P2P)Wi-Fi***100。***100被示为包括位于多个对等STA 102-104的Wi-Fi通信射程内的客户端站(STA)101。尽管为了简明起见仅在图1A-1B中示出了三个对等STA 102-104,但应理解,Wi-Fi***100可包括任何数目的对等STA。STA 101-104被配置成在Wi-Fi介质(或信道)上以P2P方式彼此通信。更具体地,在没有接入点的协助下,客户端STA 101可以标识或发现每一对等STA 102-104,并且接着与对等STA102-104中的所选STA建立直接P2P连接。
客户端STA 101可以通过扫描用于Wi-Fi通信的社交信道(例如,2.4GHz频带中的信道1、6和11)来发起设备发现操作,如图1A所示。例如,客户端STA101可以在每一社交信道上广播探测请求(P_Req)帧,并且监听由对等STA 102-104响应于P_Req帧而传送的探测响应(P_Resp)帧。P_Req帧包括对等STA 102-104可以用来确定客户端STA 101是否可以与对等STA 102-104中的对应STA建立通信链路的管理信息。类似地,P_Resp帧还包括客户端STA101可以用来标识和匹配对等STA 102-104中的对应STA的参数的管理信息。与每一STA101-104相关联的管理信息可包括例如MAC地址以及由对应STA支持的数据率。
根据本公开的各实施例,P_Req帧还可包括由标识客户端STA 101所提供的一个或多个对应服务的一个或多个服务查询串组成的列表。如果这些服务查询串在服务发现阶段期间被呈现给客户端STA 101,则将具有用于指示STA 101可以支持这些服务的有效服务响应串。相反,如果客户端STA 101具有针对任何给定服务查询串的无效或空的服务响应串,则这指示它不支持对应的服务。对于一些实施例,每一服务查询串可标识客户端STA 101提供的特定服务。此外,因为每一对等STA可存储具有对应服务响应串的支持服务查询串列表,所以特定对等STA内存储的支持服务查询串列表可指示该特定对等STA支持哪些服务。以此方式,客户端STA101可以在开始服务发现操作之前就确定附近的对等STA 102-104中的每一者支持哪些服务,这可允许客户端STA 101发起与对等STA中的所选子集的服务发现操作,如在下文更详细地描述。因而,通过仅与已经被确定(在设备发现阶段期间)支持客户端STA 101要请求的一个或多个服务的对等STA发起服务发现操作,同与所选对等STA建立P2P连接相关联的时间和/或资源可以被减少(例如,如与常规P2P发现操作相比)。
对于一些实施例,每一对等STA可以仅对标识受到该对等STA支持的服务的那些服务查询串作出响应。例如,假定客户端STA 101发送P_Req帧,P_Req帧包含(i)对应于打印服务的第一服务查询串以及(ii)对应于游戏服务的第二服务查询串。如果对等STA 103支持打印服务但不支持游戏服务,则对等STA 103可以发送P_Resp帧,该P_Resp帧包含对应于打印服务的服务响应串(但没有对应于游戏服务的服务响应串)。
对于至少一些实施例,每一服务查询串可以被散列以生成对应的散列值,并且标识客户端STA 101提供的服务的此类散列值列表(例如,而非未经压缩的服务查询串列表)可以在P_Req帧内提供。接收此类P_Req帧的每一对等STA可以通过发送包括指示该对等STA支持哪些服务的散列值列表的P_Resp帧来作出响应。之后,客户端STA可以将期望散列值列表与接收自对等STA的散列值列表作比较以确定哪些想要的服务可以由该对等STA支持。在P_Req和P_Resp帧中提供散列值列表(而非未经压缩的服务查询串列表)可以将P_Req和P_Resp的大小限于允许服务信息在设备发现阶段期间在P2P设备之间交换的值。
客户端STA 101接着可以至少部分地基于对等STA 102-104中的每一者支持哪些服务的确定来发起与对等STA 102-104中的一者或多者的服务发现操作,如图1B所示。例如,客户端STA 101可以将服务发现请求(SD_Req)帧发送到对等STA 102-104中的一者或多者以请求受其支持的一个或多个具体服务。对等STA102-104中的每一者可以通过将服务发现响应(SD_Resp)帧发送回提出请求的客户端STA 101来对收到SD_Req帧(如果有的话)作出响应。客户端STA 101接着可以分析SD_Resp帧中的每一者以确认对应的对等STA是否可以提供客户端STA 101正请求的特定服务。例如,取决于该请求,SD_Resp帧可包括对等STA所提供或支持的所有服务的详细列表和/或关于对等STA是否能够提供客户端STA101所请求的特定服务的确认。
对于一些实施例,SD_Req帧可包括请求某些P2P服务的服务查询串,P2P服务诸如举例来说通用即插即用(UPnP)和/或Bonjour服务。对于此类实施例,对等STA 102-104可确定它们是否支持服务查询串,并且如果支持,则可以生成一个或多个服务响应串。服务响应串可以作为SD_Resp帧的一部分(或在任何其他合适的响应帧中)被传送到客户端STA 101。
如果客户端STA 101确定或确认对等STA 102-104之一提供所请求的服务,则客户端STA 101接着可以使用由该对等STA提供的管理信息来与该对等STA建立P2P连接。如果客户端STA 101确定对等STA 102-104中的一个以上STA能够提供所请求的服务,则客户端STA101可以向用户提供选择要与哪个(如果有的话)对等STA建立连接的选项。
图2示出了作为图1A-1B的STA 101-104的一个实施例的STA 200。STA 200包括扫描器210、发射机/接收机电路220、处理器230和存储器240。扫描器210可用于扫描周围环境以检测和标识附近的对等STA(例如在STA 200的射程内的对等STA)。对于一些实施例,扫描器210可以通过周期性地广播P_Req帧来搜索附近对等STA。此外,扫描器210还可通过监听来自邻设备的信标帧和/或P_Resp帧来搜索对等STA。发射机/接收机(或“收发机”)电路220接着可用于向发现的对等STA传送信号以及从发现的对等STA接收信号。
存储器240可包括STA表242,STA表242可用作本地高速缓存以存储多个对等STA的MAC地址(或其他合适的标识信息)、此类STA的位置坐标、STA所支持的P2P服务、以及与任何发现的对等STA有关的其他合适的位置或配置信息。对于一些实施例,STA表242中的每一条目包括用于存储相关联的STA的名称的对等设备字段、用于存储STA的MAC地址的地址字段、用于存储STA的位置坐标的坐标字段、以及用于存储关于STA被配置成提供的P2P服务(如果有的话)的信息的服务字段。STA表242还可为每一相关联的对等STA存储对应于多个服务查询串的散列值列表,该服务查询串标识对等STA支持哪些服务和/或对等STA支持的服务列表。
存储器240还可包括服务信息表244,服务信息表244可用于存储关于STA200的服务信息。对于一些实施例,服务信息表244可包括STA 200被配置成支持的服务的详细列表、STA 200所支持的不同服务类型的列表、和/或关于对STA 200所提供的一个或多个服务的更新或改变的信息。服务信息表244还可存储对应于标识STA 200所提供的一个或多个服务的多个服务查询串的散列值列表,和/或还可存储实际的服务查询串。
此外,存储器240还可包括非瞬态计算机可读存储介质(例如,一个或多个非易失性存储器元件,诸如EPROM、EEPROM、闪存存储器、硬盘驱动器、等等),其可存储以下软件模块:
·P2P设备发现软件模块246,其用于确定附近的对等STA的位置和身份以及关于此类对等STA可以提供的任何P2P服务的信息(例如,使用从在设备发现操作期间交换的管理信息帧中解析的信息);以及
·P2P服务发现软件模块248,其用于为发现的对等STA中的每一者确定或确认该STA所提供和/或请求的一个或多个服务是否匹配STA 200所提供和/或请求的一个或多个服务。
每个软件模块包括指令,这些指令在由处理器230执行时使STA 200执行相应的功能。因而,存储器240的非瞬态计算机可读存储介质可以包括用于执行关于图3、4和7描述的操作的全部或一部分的指令。
耦合至扫描器210、收发机220、以及存储器240的处理器230可以是能够执行存储在STA 200中(例如,存储器240内)的一个或多个软件程序指令的脚本的任何合适的处理器。例如,处理器230可以执行设备发现软件模块246和/或服务发现软件模块248。设备发现软件模块246可以由处理器230执行以发现其他附近STA以及检索关于附近的STA可以提供的服务的信息。对于一个示例,如由处理器230执行的设备发现软件模块246可以生成P_Req帧和/或可以生成P_Resp帧,P_Req帧包括对应于一个或多个服务查询串的散列值列表,P_Resp帧包括对应于一个或多个服务查询串的散列值列表,如上所述。对于另一示例,如由处理器230执行的设备发现软件模块246可以生成P_Req帧和/或监听群主广播的信标帧(例如,如下文参考图6A-6B和7所讨论的)。P_Req帧可包括标识STA 200的一个或多个通信能力的管理信息。
如由处理器230执行的设备发现模块246可以解析收到的P_Resp帧以获得管理信息以及服务信息(SI)数据并且相应地更新STA表242。例如,在执行设备发现软件模块246的处理器230可以确定对等STA是否先前被STA 200发现过(例如,基于与P_Resp帧相关联的MAC地址)。如果在STA表242中不存在这一MAC地址,则处理器230可以在STA表242中为新发现的STA创建新条目,并且将管理信息和SI数据记录在恰适字段中。否则,处理器230可以简单地在STA表242中为先前发现的对等STA更新信息。
例如,当STA 200接收到来自另一STA的探测请求时,如由处理器230执行的设备发现软件模块246可以解析P_Req帧中包括的管理信息以确定STA 200是否支持探测请求中所指定的一种或多种类型的通信。如果STA 200能够与提出请求的STA建立连接,则如由处理器230执行的设备发现软件模块246可生成要传送回提出请求的设备的P_Resp帧。P_Resp帧可包括(例如,检索自服务信息表244的)管理信息和SI数据两者。例如,SI数据可以被添加到一个或多个P_Resp帧的帧主体中提供的信息元素。
对于一些实施例,设备发现软件模块246可以将SI数据(例如检索自服务信息表244)编码到P_Req帧和/或P_Resp帧中。这可允许所有可发现STA在设备发现阶段期间交换SI数据和/或更新它们的对应STA表。如上所述,这可允许提出请求的STA在发起服务发现操作之前确定发现的对等STA中的每一者支持哪些服务,这进而可允许提出请求的STA选择性地发起仅与支持提出请求的STA要请求的一个或多个服务的那些对等STA的服务发现操作。对于一些实施例,设备发现软件模块246还可将群服务信息(GSI)数据编码到STA 200传送的信标帧和/或P_Resp帧中。如下文所讨论的,参考图6A-6B和7,GSI数据可以广告P2P群的多个成员的P2P服务能力,并且也可以从服务信息表244中被检索。
服务发现软件模块248可以由处理器230执行以确定或确认发现的对等STA中的哪一个STA(如果有的话)被配置成提供特定服务。例如,如由处理器230执行的服务发现软件模块248可以基于存储在STA表242的服务字段中的服务信息来选择性地生成要被传送到一个或多个相应的对等STA的一个或多个SD_Req帧。更具体地,SD_Req帧可以仅针对匹配某些服务准则的对等STA来生成(例如,以使得不针对不提供任何P2P服务的对等STA生成SD_Req帧)。扫描器210和/或收发机220可用于将SD_Req帧传送到预期的对等STA以及监听来自此类STA的对应SD_Resp帧。如由处理器230执行的服务发现模块248接着可以解析收到的SD_Resp帧以获得更详细的服务信息以确定或确认对等STA中的哪一个STA(如果有的话)能够提供特定P2P服务并且可以接着相应地更新STA表242。
当STA 200接收到来自另一STA的服务发现请求时,如由处理器230执行的服务发现软件模块248可以分析收到的SD_Req帧并且生成响应于与服务发现请求一起提供的一个或多个与服务相关的询问的SD_Resp帧。例如,每一SD_Req帧可包括对关于STA 200所提供的服务的更详细信息的询问和/或对特定P2P服务的请求。如由处理器230执行的服务发现软件模块248可因而将SD_Resp帧编码到STA 200所支持的服务的详细列表中和/或关于STA200是否能够提供特定P2P服务的确认中(例如,基于检索自服务信息表244的信息)。
对于一些实施例,SD_Req帧可包含一个或多个服务查询串。接收到此类SD_Req帧的每一对等设备可以分析其中包含的一个或多个服务查询串以确定该对等设备是否提供服务查询串所指示的所请求的服务(或等效服务)。如果该对等设备提供所请求的服务,则该对等设备可以生成并传送一个或多个服务响应串以确认一个或多个所请求的服务的可用性。相反,如果该对等设备不提供所请求的服务,则该对等设备可以不传送任何服务响应串。因为每一对等设备可存储具有对应服务响应串的支持服务查询串列表,所以特定对等设备内存储的支持服务查询串列表可指示该特定对等设备是否提供所支持的服务中的一者或多者。
图3是根据一些实施例的描绘预关联发现操作300的解说性流程图。如上所述,本发明的各实施例允许STA在设备发现操作期间交换服务信息,因而减少了(并且潜在地消除了)在服务发现操作期间客户端STA作出的详细服务询问的数目。同样参考图1A-1B,在操作300中,客户端STA 101通过扫描P2P网络来发现对等STA来发起设备发现操作(310)。例如,客户端STA 101可以通过监听信标帧和/或通过广播探测请求并监听探测响应来扫描网络。
客户端STA 101从可发现的对等STA 102-104接收承载管理信息和SI数据的数据帧(320)。对于一些实施例,SI数据标识对等STA 102-104中的每一者的P2P服务能力。SI数据可以例如被编码到信标帧、探测响应帧、和/或承载可用于标识和/或定位附近对等设备的信息的任何其他类型的数据帧中。
接着,客户端STA 101可以使用SI数据来与对等STA 102-104中的所选一个(或多个)对等STA建立P2P连接(330)。例如,SI数据可包括指示如下内容的信息:(i)对等STA是否提供P2P服务,(ii)对STA提供的P2P服务的更新和/或改变,(iii)STA支持的服务类型,(iv)STA被配置成提供的服务的详细列表,和/或(v)STA是否提供STA 101所请求的特定服务。因而,对于一些实施例,客户端STA 101可以使用SI数据来缩减要与其执行后续服务发现操作的对等STA的选择。在其他实施例中,客户端STA 101可以使用SI数据来直接确定要与对等STA 102-104中的哪个STA(如果有的话)建立连接(并且因此执行整个上述服务发现阶段)。
此外,对于一些实施例,客户端STA 101可以通过将支持服务查询串的列表(例如无论是否被散列)与服务查询串作比较来确定对等STA 102-104中的任一者是否提供期望服务。例如,客户端STA 101可以为其服务查询串生成散列值,并且接着确定在对等STA102-104提供的SI数据中包含的经散列的支持服务查询串的列表中是否存在匹配散列值。
图4是描绘预关联发现操作的更详细实施例的解说性流程图400。同样参考图1A-1B,在操作400中,客户端STA 101向对等STA 102-104广播探测请求(P_Req)(410)。如上所述,P_Req帧可包括对应于指示客户端STA 101提供哪些服务的一个或多个服务查询串的散列值列表。对等STA 102-104通过向客户端STA 101传送探测响应(P_Resp)来对探测请求作出响应。如上所述,P_Resp帧可包括对应于指示客户端STA 102-104支持哪些服务的一个或多个服务查询串的散列值列表。
具体地,对等STA 102-104中的每一者可以将管理信息和SI数据集编码到传送到客户端STA 101的每一P_Resp帧中。SI数据包括关于对等STA 102-104中的每一者被配置成提供的P2P服务(如果有的话)的信息。SI数据的示例可包括指示以下内容的信息:(i)对等STA是否提供P2P服务,(ii)对STA提供的P2P服务的更新和/或改变,和/或(iii)STA支持的服务类型。P_Resp帧中包含的SI数据可以被编码为对应于一个或多个服务查询串的上述散列值列表。对于一些实施例,P_Req帧也可用标识客户端STA 101的一个或多个P2P服务能力的SI数据来编码(例如,如上所述,参考图2)。P_Req帧中包含的SI数据可以被编码为对应于一个或多个服务查询串的上述散列值列表。
客户端STA 101接收由对等STA 102-104传送的P_Resp帧并且解析每一P_Resp帧以获得关于对应对等设备的SI数据(420)。客户端STA 101接着可以分析与P_Resp帧一起包括的SI数据以确定要向对等STA 102-104中的哪一个STA(如果有的话)查询以获得附加服务信息(430)。在图1A-1B所示的示例中,对等STA 103是针对客户端STA 101的潜在候选服务提供者,而STA 102和104不是。
对于一些实施例,客户端STA 101分析SI数据以确定对等STA 102-104中的哪一个STA(如果有的话)被配置成提供P2P服务(440)。例如,一些STA(尽管能够与其他对等STA进行P2P通信)可能未被配置成主存或提供P2P服务(例如,UPnP、Bonjour、Wi-Fi显示、打印、游戏、和/或文件共享服务)。因而,当此类对等STA不提供任何P2P服务时,在后续服务发现操作期间查询此类对等STA以获得特定P2P服务(例如在步骤470中)可能是没有实际意义的。
此外,对于一些实施例,客户端STA 101可以确定对等STA 102-104中的任一者是否更新了服务记录(450)。例如,客户端STA可能由于与该对等设备执行的在先关联和/或设备发现操作(例如基于图2的STA表242中存储的数据)已经具有对于对等STA所提供的一个或多个P2P服务的知识。因而,再次查询此类对等设备以获得特定P2P服务也可能是没有实际意义的(例如在步骤470中),除非它们的服务已经改变。
此外,对于一些实施例,客户端STA 101可以确定对等STA 102-104中的任一者是否提供匹配客户端STA 101所提供的服务的服务类型(460)。例如,要请求打印服务的客户端STA可能对于与仅提供游戏服务的对等STA建立连接不感兴趣。因而,如果此类对等STA不提供任何期望类型的服务,则查询该对等STA以获得特定P2P服务(例如在步骤470中)可能是没有实际意义的。
此外,对于一些实施例,客户端STA 101可以确定是否存在每一对等STA的任何匹配支持服务查询串和/或对应散列条目(465)。如果存在匹配支持服务查询串和/或对应的散列条目,则处理可以在470处继续。否则,处理可以返回至430。
相应地,客户端STA 101可以分析接收自每一对等STA 102-104的SI数据(430和440,以及可任选地450、460和/或465)直到客户端STA 101确定对等STA102-104之一(例如STA 103)能够提供P2P服务和/或已经完成了分析所有收到的SI数据(例如,来自每一对等STA 102-104)。以此方式,客户端STA 101可以缩减要与其发起后续服务发现操作的潜在候选列表。具体地,客户端STA 101可以基于所选对等STA将能够为客户端STA 101提供有用或相关服务的可能性来选择要与其执行服务发现操作的对等STA 102-104中的一者或多者。
客户端STA 101接着查询所选对等STA中的每一者以确定或确认它们是否提供特定服务(470)。例如,期望打印文档的客户端STA 101可确定或确认对等STA103提供打印服务。客户端STA 101接着可以将SD_Req帧传送到对等STA 103以请求要用于它旨在打印的文档的具体打印服务。对等STA 103可以通过将SD_Resp帧传送到客户端STA 101以指示对等STA 103是否支持客户端STA 101所请求的特定打印服务来作出响应。此外,SD_Resp帧还可包括对等STA 103被配置成支持的所有服务的详细列表。
如果SD_Resp帧指示对等STA 103支持所请求的服务,则客户端STA 101接着可以使用早先提供的管理信息(例如在P_Resp帧内)来与对等STA 103建立P2P连接。在一些情形中,客户端STA 101可以确定多个对等STA能够提供所请求的服务。因而,对于一些实施例,客户端STA 101可以向用户提供要选择与匹配的对等STA中的哪个STA(如果有的话)建立连接的选项。
图5示出了根据一些实施例的管理帧500的框图。管理帧500可对应于探测响应、探测请求、信标、和/或可以在P2P设备发现操作期间在对等STA之间交换的任何其他类型的数据帧(例如控制帧或管理帧)。管理帧500包括MAC报头501、之后是帧主体510以及帧校验序列(FCS)508。MAC报头501可包括目的地MAC地址和源MAC地址两者。例如,每一STA被指派由设备的制造商编程在其中的唯一MAC地址。因而,每一MAC地址可用于唯一地标识个体设备。FCS 508可以是校验和或用于差错检测的其他合适的技术。
帧主体510包括管理信息502、服务发现(SD)位503、以及SI数据520。如上所讨论的,管理信息502可包括可用于定位管理帧500源自的STA并且与该STA建立连接的任何信息(例如,此类信息可包括接收机MAC地址和/或支持数据率)。SD位503指示始发STA是否能够参与服务发现操作(例如,STA是否能够传送SD_Req帧和/或对SD_Req帧作出响应)。例如,SD位503的激活可指示STA能够执行服务发现操作。然而注意到,SD位503可能不指示STA实际上是否具有要提供的P2P服务。
SI数据520包括服务信息可用(SIA)位504、服务更新指示符(SUI)字段505、以及服务类型字段506。对于至少一些实施例,SI数据520还可包括用于存储指示对应设备所提供的全部的不同服务类型的经散列或以其他方式经压缩的信息的散列支持服务查询(SSQ)串字段507。SIA位504指示始发STA是否被配置成提供一个或多个P2P服务。例如,SIA位504的激活可指示STA能够提供P2P服务。如上所提及的,SD位503仅指示STA是否能够执行服务发现操作。因而,SD位503可以被激活,而同一管理帧500的SIA位504被解除激活。
SUI字段505可以存储在始发STA的服务每一次改变时递增的数值。例如,如果提供打印服务的STA稍后开始提供游戏服务,则该STA可以递增存储在其SUI字段505中的值。如果始发STA后续开始提供不同种类的游戏服务,则存储在SUI字段505中的值可以再次被递增。如在以上实施例中所描述的,对等STA可以寻找存储在SUI字段505中的值的改变以确定它们是否应当对始发STA执行另一服务发现询问。
服务类型字段506可包括始发STA能够提供的P2P服务类型列表。例如,如果STA支持多种P2P服务,则服务类型字段506可指定所有不同类型的P2P服务受到支持(例如,UPnP、Bonjour、Wi-Fi显示、打印、游戏、文件共享等)。如在以上实施例中所描述的,STA可以过滤掉不提供期望类型的P2P服务的潜在候选。
此外,服务类型字段506可以被散列或压缩以将所有不同的服务类型编码到帧主体510的大小限制内。示例性编码算法可包括服务协议类型的阵列或位映射:
·如果STA所使用的协议类型的数值小于8(或16),则1-八位位组(或2-八位位组)位映射可用于描述协议类型;以及
·如果协议类型具有大于8(或16)的数值,则协议类型的阵列可用于描述协议类型。
更具体地,对于至少一个实施例,经散列的SSQ串字段507可采用以下编码算法中的一者或多者:
·如果SI数据520中的支持服务查询串的数目小于阈值(例如小于8),则可以为每一查询串创建散列值阵列。例如,可以针对查询串中的所有八位位组使用XOR(异或)运算来为每一查询串创建散列值;以及
·如果查询服务是“事务性的”(例如,第一查询串是固定的,之后是描述期望事务的可变串),则仅对查询串的第一部分(即静态且被截短的部分)进行散列。例如,对应阵列可具有带两个字段的条目:用于计算散列的查询的长度,以及被截短为给定长度的查询串的散列。
注意到,上述压缩算法是仅出于解说目的来提供的,并且并非是实现上述任何实施例所必需的。
通过将SI数据520编码到管理帧500的帧主体510中(例如作为一个或多个信息元素),几乎不用对现有P2P Wi-Fi***的架构进行修改就可实现本发明的各实施例。具体来说,使用探测请求、探测响应、和/或信标帧以促成服务信息的交换允许本发明的各实施例在不背离802.11标准的情况下来实现。
图6A-6B描绘其中可实现本发明的各实施例的另一P2P Wi-Fi***600。***600被示为包括位于包括对等STA 102-104的P2P群610的Wi-Fi通信射程内的客户端STA 101。对等STA 103和104经由对等STA 102(即“群主”)连接到P2P群610。具体来说,群主STA 102充当接入点,其他对等STA 103和104可以通过该接入点来通信。尽管为了简明起见P2P群610被示为仅包括三个对等STA102-104,但应理解,P2P群610可包括任意数目的STA。
作为群主,对等STA 102可以执行接入点执行的许多功能。例如,如图6A所示,STA102可以出于同步目的以常规区间来广播包含群会话信息(GSI)的信标帧。信标帧还可广告工作参数、支持能力、和/或P2P群610内的成员关系。此外,作为P2P群610的成员,对等STA103和104不直接对客户端STA 101广播的探测请求作出响应。相反,如图6B所示,群主STA102代表P2P群610对探测请求作出响应。
客户端STA 101可因而通过监听群主STA 102广播的信标帧和/或通过向群主STA102传送P_Req帧并且监听P_Resp帧来发起设备发现操作。信标和P_Resp帧两者均可包括客户端STA 101可用来加入P2P群610和/或与P2P群610的个体成员STA 102-104建立P2P连接的管理信息。换言之,客户端STA 101可以基于接收自群主STA 102的单个通信来发现所有对等STA 102-104。
如上所述,P_Req帧和/或信标帧可包括对应于指示客户端STA 101提供哪些服务的一个或多个服务查询串的散列值列表,而P_Resp帧可包括对应于指示对等STA 102-103中的对应STA支持哪些服务的一个或多个服务查询串的散列值列表。以此方式,客户端STA101可以在发起服务发现操作之前确定对等STA 102-104中的每一者支持哪些服务。
客户端STA 101分析信标和/或P_Resp帧以定位和标识对等STA 102-104,并且接着可以发起与对等STA 102-104中的一者或多者的服务发现操作。例如,客户端STA 101稍后可以将SD_Req帧发送到对等STA 102-104中的一者或多者以确认对应的对等STA所支持的具体服务。对等STA 102-104中的每一者通过将SD_Resp帧发送回客户端STA 101来对收到的SD_Req帧(如果有的话)作出响应。客户端STA 101接着可以分析SD_Resp帧中的每一者以确认对应的对等STA是否可以提供客户端STA 101正请求的特定服务。以此方式,一旦客户端STA 101发现P2P群610的任何成员(例如对等STA 102-104),则客户端STA 101可以使用P2P协议与P2P群610的该成员通信。
如果客户端STA 101确定对等STA 102-104之一提供所请求的服务,则客户端STA101接着可以使用P_Resp和/或信标帧中提供的管理信息来与该对等STA建立P2P连接。替换地,客户端STA 101可以使用该管理信息来加入P2P群610。作为P2P群610的成员,客户端STA101可以使用由其他成员(例如对等STA102-104)中的任一者提供的服务。
图7是根据一些实施例的描绘另一预关联发现操作700的解说性流程图。同样参考图6A-6B,在操作700中,客户端STA 101通过扫描P2P网络信道来发现对等STA以发起设备发现操作(710)。例如,客户端STA 101可以通过监听信标帧(如图6A所示)和/或通过广播探测请求并监听探测响应(如图6B所示)来扫描网络。
客户端STA 101接着从P2P群610的群主STA 102接收管理帧(720)。具体来说,管理帧可包括管理信息以及标识P2P群610的全部成员STA 102-104的P2P服务能力的GSI数据。GSI数据的示例可包括指示以下内容的信息:(i)群成员是否提供P2P服务,(ii)对群成员中的一者或多者提供的P2P服务的更新和/或改变,和/或(iii)每一群成员支持的服务类型。
客户端STA 101可以分析与管理帧一起包括的GSI数据以确定要向对等STA102-104中的哪一个STA(如果有的话)查询以获得附加服务信息(730)。例如,客户端STA 101可以为群成员STA 102-104中的每一者执行以上在图4中叙述的分析(使用GSI数据)。以此方式,客户端STA 101可以缩减要与其发起服务发现操作的潜在候选列表。具体来说,客户端STA 101可以基于所选群成员将能够提供客户端STA 101要请求的服务的可能性来选择P2P群610中的一个或多个成员STA 102-104。
客户端STA 101接着可以决定加入P2P群610(740)和/或直接查询P2P群610中的一个或多个所选成员(750)。例如,如果客户端STA 101加入P2P群610,则客户端STA 101接着可以查询群主STA 102以获得关于群610的所选成员的详细服务信息。如果客户端STA 101确定P2P群610的成员可以提供所请求的服务,则客户端STA 101接着可以与该成员通信以执行期望服务。以此方式,STA之间的所有通信将通过群主STA 102来路由。
替换地,客户端STA 101可以直接将SD_Req帧个别地传送到所选群成员中的每一者。所选群成员可因而通过将SD_Resp帧传送到客户端STA 101以指示它们是否支持正被请求的特定服务来作出响应。另外,每一SD_Resp帧可包括对应的群成员被配置成支持的所有服务的详细列表。如果SD_Resp指示群成员能够提供所请求的服务,则客户端STA 101可以使用接收自群主STA 102的管理信息来与该特定群成员建立直接P2P连接。
图8描绘其中可实现本发明的各实施例的P2P Wi-Fi***800的另一实施例。***800被示为包括位于对等STA 802-804的Wi-Fi通信射程内的客户端STA 801。尽管为了简明起见仅在图8中示出三个对等STA 802-804,但应理解,Wi-Fi***800可包括任何数目的对等STA。STA 801-804被配置成在Wi-Fi介质上以P2P方式彼此通信。然而,与图1A-1B的Wi-Fi***100相反,***800可在不执行设备发现操作的情况下执行预关联服务发现操作,之后执行单独的服务发现操作。具体来说,设备发现操作和服务发现操作可以被组合成单个操作。例如,代替交换管理帧(例如信标、P_Req、和/或P_Resp)和服务发现帧(例如,SD_Req和/或SD_Resp),STA 801-804可改为使用设备和服务发现帧(例如,DSD_Req和/或DSD_Resp)来交换管理信息和服务发现请求/响应两者。
图9示出作为图8的STA 801-804的一个实施例的STA 900。STA 900包括扫描器910、发射机/接收机(或“收发机”)电路920、处理器930和存储器940。扫描器910可用于例如通过周期性地广播DSD_Req帧并监听DSD_Resp帧来扫描周围环境以检测和标识附近的对等STA。收发机电路920接着可用于向发现的对等STA传送信号以及从发现的对等STA接收信号。
存储器940可包括STA表942,STA表942可用作本地高速缓存以存储多个对等STA的MAC地址、此类STA的位置坐标、STA所支持的P2P服务、以及与任何发现的对等STA有关的其他合适的位置或配置信息。例如,STA表942中的每一条目可包括用于存储相关联的STA的名称的对等设备字段、用于存储STA的MAC地址的地址字段、用于存储STA的位置坐标的坐标字段、以及用于存储关于STA可被配置成提供的任何P2P服务的信息的服务字段。存储器940还可包括服务信息表944,服务信息表944可用于存储关于STA 900的服务信息。例如,服务信息表944可包括STA 900被配置成支持的服务的详细列表、STA 900所支持的不同服务类型的列表、和/或关于对STA 900所提供的一个或多个服务的更新或改变的信息。
此外,存储器940还可包括可存储以下软件模块的非瞬态计算机可读存储介质:
·P2P设备和服务发现软件模块946,其用于确定附近对等STA的位置和身份以及用于确定邻近对等STA中的哪个STA(如果有的话)能够提供特定服务。
该软件模块包括指令,这些指令在由处理器930执行时使STA 900执行相应的功能。因而,存储器940的非瞬态计算机可读存储介质可以包括用于执行以上针对图10描述的操作的全部或一部分的指令。
耦合至扫描器910、收发机920、以及存储器940的处理器930可以是能够执行存储在STA 900中的一个或多个软件程序的指令的脚本的任何合适的处理器。例如,处理器930可以执行P2P设备和服务发现软件模块946以发现其他附近STA并且确定STA中的任一者是否能够提供STA 900所请求的特定服务。具体来说,如由处理器930执行的设备和服务发现软件模块946可以生成要经由扫描器910和/或收发机920来广播的DSD_Req帧。DSD_Req帧可包括标识STA 900的一个或多个通信能力的管理信息以及指定STA 900正请求的特定服务的服务查询(SQ)数据。扫描器910接着监听从邻近对等STA发送回的DSD_Resp帧。
如由处理器930执行的设备和服务发现模块946可以解析收到的DSD_Resp帧以获得管理信息以及服务响应(SR)数据并且相应地更新STA表942。对于一些实施例,处理器930可以简单地基于接收到来自对等STA的DSD_Resp帧来确定该对等STA是否能够提供所请求的服务。替换地,在执行服务发现模块946的处理器930可以分析与DSD_Resp帧一起包括的SR数据以确定对等STA中的哪个STA(如果有的话)能够提供所请求的P2P服务。
当STA 900接收到来自另一STA的DSD_Req帧时,如由处理器930执行的设备和服务发现软件模块946可以解析DSD_Req帧中包括的管理信息以确定STA900是否支持DSD_Req帧中所指定的一种或多种类型的通信。此外,在执行设备和服务发现软件模块946的处理器930可以解析来自DSD_Req帧的SQ数据以确定STA 900是否能够提供所请求的服务。如果STA900能够与提出请求的STA建立连接并且能够提供所请求的服务,则如由处理器930执行的设备和服务发现模块946可以生成要被传送回提出请求的设备(例如经由扫描器910)的DSD_Resp帧。DSD_Resp帧可包括管理信息和检索自服务信息表944的SR数据。对于一些实施例,如果STA 900不支持所请求的服务,则不生成和/或传送DSD_Resp帧。
图10是根据其他实施例的描绘预关联发现操作1000的解说性流程图。如上所述,本发明的各实施例允许STA在单个操作中交换管理信息和服务发现数据,因而组合预关联发现操作的设备发现阶段和服务发现阶段。同样参考图8,在操作1000中,客户端STA 801通过向Wi-Fi射程内的对等STA广播DSD_Req帧并且监听DSD_Resp帧来发起设备和服务发现操作(1010)。每一DSD_Req帧可包括管理信息和SQ数据,其包括对特定P2P服务的请求。
对于一些实施例,仅能够支持所请求的服务的对等STA 802-804(例如STA803)向客户端STA 801发送DSD_Resp帧。每一DSD_Resp帧包括管理信息以及SR数据,包括关于对应的对等STA被配置成提供的P2P服务的详细信息。SR数据的示例可包括指示以下内容的信息:(i)对应的对等STA所提供的服务的详细列表,和/或(ii)对等STA是否能够提供所请求的服务。
客户端STA 801接收由对等STA 803传送的DSD_Resp帧,并且解析该DSD_Resp帧以获得关于对等STA 803的管理信息和SR数据(1020)。客户端STA801接着可以分析与DSD_Resp帧一起包括的SR数据以确定对等STA 803支持的具体服务。对于一些实施例,客户端STA 801可以分析SR数据以确定对等STA中的哪个STA(如果有的话)能够支持所请求的服务(例如,在其中对等STA802-804向客户端STA 801传送DSD_Resp帧而不管它们是否能够提供特定的所请求的服务的情形中)。
最后,客户端STA 801可以使用与DSD_Resp帧一起包括的管理信息来与对等STA803建立P2P连接(1030)。在一些情形中,对等STA 802-804之一能够提供所请求的服务。相应地,客户端STA 801可以接收多个DSD_Resp帧,每一个DSD_Resp帧标识能够提供所请求的服务的相应的对等STA。因而,对于一些实施例,客户端STA 801可以向用户提供选择要与匹配对等STA中的哪个STA(如果有的话)进行连接的选项。
图11示出了根据一些实施例的设备和服务发现(DSD)帧1100的框图。DSD帧1100包括MAC报头1101、管理信息1102、服务查询(SQ)数据1103和FCS1104。MAC报头1101可包括目的地MAC地址和源MAC地址两者。FCS 1104可以是校验和或用于差错检测的其他合适的技术。
管理信息1102可包括可用于定位DSD帧1100源自的STA并且与该STA建立连接的任何信息(例如,此类信息可包括接收机MAC地址和/或支持数据率)。SQ数据可包括始发STA被配置成提供的服务的详细列表。对于一些实施例,SQ数据还可包括指示STA是否能够提供特定的所请求的服务的确认位。
此外,SQ数据可以被散列或压缩以使得STA所支持的所有不同服务能够被编码到Wi-Fi数据帧的大小限制内(例如同时为管理信息1102保留空间)。示例性编码算法可包括:
·如果SQ数据中的服务数目为低(例如小于8),则为每一服务查询创建散列值阵列。例如,可以针对查询串中的所有八位位组使用XOR(异或)运算来为每一服务查询创建散列值。
·如果查询服务是“事务性的”(例如,第一查询串是固定的,之后是描述期望事务的可变串),则仅对查询串的第一部分(即静态且被截短的部分)进行散列。例如,对应阵列可具有带两个字段的条目:用于计算散列的查询的长度,以及被截短为给定长度的查询串的散列。
本发明的各实施例可以提供与现有预关联服务发现操作相比的若干优点。例如,通过将SI数据包括在Wi-Fi管理帧(例如探测请求、探测响应、和/或信标帧)中,本发明的各实施例使得客户端STA能够在P2P预关联操作的设备发现阶段期间缩减其对特定服务的提供者的搜索。相应地,客户端设备还可以更快速且更高效的方式来执行后续服务发现操作。此外,通过广播SQ数据以及管理信息,在设备发现阶段期间,客户端STA能够从能够提供所请求的服务的任何对等STA获得服务信息的完整列表而不必在稍后执行多个服务发现操作。
在说明书前述篇幅中,本发明各实施例已参照其具体示例性实施例进行了描述。然而将明显的是,可对其作出各种修改和改变而不会脱离如所附权利要求中所阐述的本公开更宽泛的范围。相应地,本说明书和附图应被认为是解说性而非限定性的。例如,在图3、4、7和/或10的流程图中描绘的方法步骤可以其他合适的次序执行和/或多个步骤可以合并到单个步骤中。
Claims (40)
1.一种在对等(P2P)网络中操作客户端设备的方法,所述方法包括:
在设备发现阶段期间,
通过向对等设备广播探测请求来扫描所述P2P网络的一个或多个信道以发现一个或多个对等设备的存在,所述探测请求包括指示所述客户端设备所提供的多个P2P服务的多个第一散列值;以及
从多个对等设备中的每一者接收第一帧,其中每一第一帧包括(i)用于与对应的对等设备建立P2P连接的管理信息,以及(ii)指示所述对应的对等设备所支持的多个P2P服务的服务信息;以及
在服务发现阶段期间,至少部分地基于所述服务信息来将服务发现请求发送给所选对等设备,其中所述服务发现请求用于请求一个或多个具体P2P服务。
2.如权利要求1所述的方法,其特征在于,所述客户端设备用于仅在所选对等设备在所述服务信息中指示对所述一个或多个具体P2P服务的支持的情况下将所述服务发现请求发送到所选对等设备。
3.如权利要求1所述的方法,其特征在于,所述第一帧中的至少一者包括探测响应。
4.如权利要求3所述的方法,其特征在于,所述探测响应包括指示所述对应的对等设备所支持的P2P服务的多个第二散列值。
5.如权利要求4所述的方法,其特征在于,所述客户端设备用于将第一散列值与第二散列值作比较以确定所述对应的对等设备是否支持所述客户端设备要请求的P2P服务。
6.如权利要求1所述的方法,其特征在于,所述具体P2P服务包括以下一者或多者:通用即插即用服务、Bonjour服务、Wi-Fi显示服务、打印服务、游戏服务、以及文件共享服务。
7.如权利要求1所述的方法,其特征在于,所述扫描通过监听广播自所述对应的对等设备的信标帧来执行,并且所述第一帧包括所述信标帧。
8.如权利要求7所述的方法,其特征在于,所述信标帧中的至少一者包括指示所述对应的对等设备所支持的P2P服务的多个散列值。
9.如权利要求1所述的方法,其特征在于,所述一个或多个对等设备包括P2P群,并且所述第一帧中的相应一个帧包括由所述P2P群的群主广播的信标帧。
10.如权利要求9所述的方法,其特征在于,所述服务信息指示所述P2P群中的一个或多个成员是否被配置成提供所述一个或多个具体P2P服务。
11.如权利要求1所述的方法,其特征在于,所述服务信息指示对所述对应的对等设备所支持的P2P服务的一个或多个更新。
12.如权利要求11所述的方法,其特征在于,进一步包括:
仅将服务发现请求帧传送给指示对P2P服务的一个或多个更新的对等设备。
13.一种包含程序指令的计算机可读存储介质,所述程序指令在由与对等(P2P)网络相关联的客户端设备的处理器执行时使所述客户端设备:
在设备发现阶段期间,
通过向对等设备广播探测请求来扫描所述P2P网络的一个或多个信道以发现一个或多个对等设备的存在,所述探测请求包括指示所述客户端设备所提供的多个P2P服务的多个第一散列值;以及
从多个对等设备中的每一者接收第一帧,其中每一第一帧包括(i)用于与对应的对等设备建立P2P连接的管理信息,以及(ii)指示所述对应的对等设备所支持的多个P2P服务的服务信息;以及
在服务发现阶段期间,至少部分地基于所述服务信息来将服务发现请求发送给所选对等设备,其中所述服务发现请求用于请求一个或多个具体P2P服务。
14.如权利要求13所述的计算机可读存储介质,其特征在于,所述客户端设备用于仅在所选对等设备在所述服务信息中指示对所述一个或多个具体P2P服务的支持的情况下将所述服务发现请求发送到所选对等设备。
15.如权利要求13所述的计算机可读存储介质,其特征在于,所述第一帧包括探测响应。
16.如权利要求15所述的计算机可读存储介质,其特征在于,所述探测响应中的至少一者包括指示所述对应的对等设备所支持的P2P服务的多个第二散列值。
17.如权利要求16所述的计算机可读存储介质,其特征在于,所述客户端设备用于将第一散列值与第二散列值作比较以确定所述对应的对等设备是否支持所述客户端设备要请求的P2P服务。
18.如权利要求13所述的计算机可读存储介质,其特征在于,所述具体P2P服务包括以下一者或多者:通用即插即用服务、Bonjour服务、Wi-Fi显示服务、打印服务、游戏服务、以及文件共享服务。
19.如权利要求13所述的计算机可读存储介质,其特征在于,对用于扫描的程序指令的执行使所述客户端设备:
监听广播自所述对应的对等设备的信标帧,其中所述第一帧包括所述信标帧。
20.如权利要求19所述的计算机可读存储介质,其特征在于,所述信标帧中的至少一者包括指示所述对应的对等设备所支持的P2P服务的多个散列值。
21.如权利要求13所述的计算机可读存储介质,其特征在于,所述一个或多个对等设备包括P2P群,并且所述第一帧中的相应一个帧包括由所述P2P群的群主广播的信标帧。
22.如权利要求21所述的计算机可读存储介质,其特征在于,所述服务信息指示所述P2P群中的一个或多个成员是否被配置成提供所述一个或多个具体P2P服务。
23.如权利要求13所述的计算机可读存储介质,其特征在于,所述服务信息指示对所述对应的对等设备所支持的P2P服务的一个或多个更新。
24.如权利要求23所述的计算机可读存储介质,其特征在于,对所述程序指令的执行进一步使所述客户端设备:
仅将服务发现请求帧传送给指示对P2P服务的一个或多个更新的对等设备。
25.一种与对等(P2P)网络相关联的客户端设备,所述客户端设备包括:
用于通过向对等设备广播探测请求来扫描所述P2P网络的一个或多个信道以发现一个或多个对等设备的存在的装置,所述探测请求包括指示所述客户端设备所提供的多个P2P服务的多个第一散列值;
用于从多个对等设备中的每一者接收第一帧的装置,其中每一第一帧包括(i)用于与对应的对等设备建立P2P连接的管理信息,以及(ii)指示所述对应的对等设备所支持的多个P2P服务的服务信息;以及
用于至少部分地基于所述服务信息来将服务发现请求发送给所选对等设备的装置,其中所述服务发现请求用于请求一个或多个具体P2P服务。
26.如权利要求25所述的客户端设备,其特征在于,所述客户端设备用于仅在所选对等设备在所述服务信息中指示对所述一个或多个具体P2P服务的支持的情况下将所述服务发现请求发送到所选对等设备。
27.如权利要求25所述的客户端设备,其特征在于,所述第一帧中的至少一者包括探测响应。
28.如权利要求27所述的客户端设备,其特征在于,所述探测响应包括指示所述对应的对等设备所支持的P2P服务的多个第二散列值。
29.如权利要求28所述的客户端设备,其特征在于,所述客户端设备用于将第一散列值与第二散列值作比较以确定所述对应的对等设备是否支持所述客户端设备要请求的P2P服务。
30.如权利要求25所述的客户端设备,其特征在于,所述扫描通过监听广播自所述对应的对等设备的信标帧来执行,并且所述第一帧包括所述信标帧。
31.如权利要求30所述的客户端设备,其特征在于,所述信标帧中的至少一者包括指示所述对应的对等设备所支持的P2P服务的多个散列值。
32.如权利要求25所述的客户端设备,其特征在于,所述一个或多个对等设备包括P2P群,并且所述第一帧中的相应一个帧包括由所述P2P群的群主广播的信标帧。
33.一种与对等(P2P)网络相关联的客户端设备,所述客户端设备包括:
收发机,用于与一个或多个对等设备交换数据;以及
处理器,用于:
在设备发现阶段期间,
向所述一个或多个对等设备传送探测请求,其中所述探测请求包括标识所述客户端设备所提供的多个P2P服务的第一服务信息,所述第一服务信息包括指示所述客户端设备所提供的多个P2P服务的多个第一散列值;以及
从多个对等设备中的每一者接收探测响应,其中每一探测响应包括(i)用于与对应的对等设备建立P2P连接的管理信息,以及(ii)标识所述对应的对等设备所支持的多个P2P服务的第二服务信息;以及
在服务发现阶段期间,
基于所述第二服务信息来将服务发现请求发送给所选对等设备,其中所述服务发现请求用于请求一个或多个具体P2P服务。
34.如权利要求33所述的客户端设备,其特征在于,所述客户端设备用于仅在所选对等设备在所述探测响应中指示对所述一个或多个具体P2P服务的支持的情况下将所述服务发现请求发送到所选对等设备。
35.如权利要求33所述的客户端设备,其特征在于,所述第二服务信息包括标识所述对应的对等设备所支持的P2P服务的多个第二散列值。
36.如权利要求35所述的客户端设备,其特征在于,所述客户端设备用于将第一散列值与第二散列值作比较以确定所述对应的对等设备是否支持所述客户端设备要请求的P2P服务。
37.如权利要求33所述的客户端设备,其特征在于,所述具体P2P服务包括以下一者或多者:通用即插即用服务、Bonjour服务、Wi-Fi显示服务、打印服务、游戏服务、以及文件共享服务。
38.如权利要求33所述的客户端设备,其特征在于,所述一个或多个对等设备包括P2P群。
39.如权利要求38所述的客户端设备,其特征在于,所述第二服务信息指示所述P2P群中的一个或多个成员是否被配置成提供所述一个或多个具体P2P服务。
40.如权利要求33所述的客户端设备,其特征在于,所述第二服务信息指示对所述对应的对等设备所支持的P2P服务的一个或多个更新。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/786,799 US9173161B2 (en) | 2013-03-06 | 2013-03-06 | Peer-to-peer pre-association discovery operations |
US13/786,799 | 2013-03-06 | ||
PCT/US2014/018958 WO2014137734A1 (en) | 2013-03-06 | 2014-02-27 | Peer-to-peer pre-association discovery operations |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105027593A CN105027593A (zh) | 2015-11-04 |
CN105027593B true CN105027593B (zh) | 2018-10-12 |
Family
ID=50343828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480012159.3A Active CN105027593B (zh) | 2013-03-06 | 2014-02-27 | 对等预关联发现操作 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9173161B2 (zh) |
EP (1) | EP2965547A1 (zh) |
JP (1) | JP6009700B2 (zh) |
KR (1) | KR101629842B1 (zh) |
CN (1) | CN105027593B (zh) |
WO (1) | WO2014137734A1 (zh) |
Families Citing this family (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106028267B (zh) * | 2011-01-07 | 2019-12-06 | 索尼公司 | 无线网络管理***和方法 |
JP6271839B2 (ja) * | 2013-01-25 | 2018-01-31 | キヤノン株式会社 | 通信装置、通信装置の制御方法、プログラム |
JP6253250B2 (ja) * | 2013-05-01 | 2017-12-27 | キヤノン株式会社 | 通信装置、通信装置の制御方法、プログラム |
WO2014179952A1 (zh) * | 2013-05-08 | 2014-11-13 | 华为终端有限公司 | 一种信息查询方法、设备及*** |
KR102043006B1 (ko) * | 2013-05-14 | 2019-11-13 | 삼성전자주식회사 | 무선 통신시스템에서의 UEs간 통신 방법 |
US9544754B1 (en) * | 2013-05-28 | 2017-01-10 | Marvell International Ltd. | Systems and methods for scheduling discovery-related communication in a wireless network |
US9143979B1 (en) | 2013-06-18 | 2015-09-22 | Marvell International Ltd. | Method and apparatus for limiting a number of mobile devices that can contend for a time slot in a wireless network |
KR20150018302A (ko) * | 2013-08-09 | 2015-02-23 | 삼성전자주식회사 | Group owner 중심 service discover 방법 및 장치 |
JP6239769B2 (ja) * | 2013-09-20 | 2017-11-29 | インテル コーポレイション | Ap位置クエリ |
US9906605B2 (en) * | 2014-05-23 | 2018-02-27 | Qualcomm Connected Experiences, Inc. | Enhanced DNS-based service discovery in an internet of things (IoT) environment |
KR102036686B1 (ko) * | 2014-07-11 | 2019-10-28 | 삼성전자주식회사 | 무선 통신 시스템에서 채널을 선택하기 위한 방법 및 장치 |
US9998463B2 (en) * | 2014-12-27 | 2018-06-12 | Airwatch, Llc | Peer to peer enterprise file sharing |
JP6320319B2 (ja) * | 2015-02-23 | 2018-05-09 | 三菱電機株式会社 | 通信装置および無線通信システム |
WO2017123253A1 (en) * | 2016-01-15 | 2017-07-20 | Hewlett Packard Enterprise Development Lp | Generating peer-to-peer network addresses |
WO2017197646A1 (zh) * | 2016-05-20 | 2017-11-23 | 华为技术有限公司 | 一种通信方法和装置 |
US10320902B2 (en) * | 2016-08-31 | 2019-06-11 | Apple Inc. | Detecting asymmetric awareness in peer-to-peer protocol |
CN106851775A (zh) * | 2017-02-03 | 2017-06-13 | 惠州Tcl移动通信有限公司 | 基于Wi‑FiAware协议的互连方法及*** |
DE102018202787A1 (de) * | 2017-02-28 | 2018-08-30 | Apple Inc. | Selektive Peer-Synchronisierung mit gegenseitigen Diensten |
US11638229B2 (en) * | 2017-02-28 | 2023-04-25 | Apple Inc. | Selective peer synchronization with mutual services |
CN108184231A (zh) * | 2017-12-07 | 2018-06-19 | 福州汇思博信息技术有限公司 | 一种识别pos设备的方法及*** |
US11669071B2 (en) * | 2020-01-08 | 2023-06-06 | International Business Machines Corporation | Organizing a temporary device group for collaborative computing |
CN112153754B (zh) * | 2020-09-27 | 2023-02-17 | 阿波罗智联(北京)科技有限公司 | 点对点连接方法、装置、电子设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070233879A1 (en) * | 2005-10-07 | 2007-10-04 | Steven Woods | System and method for advertisement identification, selection, and distribution involving a peer-to-peer network |
CN102547871A (zh) * | 2012-02-07 | 2012-07-04 | 华为技术有限公司 | 一种d2d通信中的资源协商方法及设备 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1022876B1 (en) * | 1999-01-25 | 2006-04-19 | International Business Machines Corporation | Service advertisements in wireless local networks |
JP4701018B2 (ja) * | 2005-06-22 | 2011-06-15 | キヤノン株式会社 | 通信装置及び通信方法 |
US7848263B2 (en) * | 2006-11-28 | 2010-12-07 | Marvell International, Ltd. | Simplified auto-configuration and service discovery in ad-hoc networks |
US8332541B2 (en) * | 2008-06-27 | 2012-12-11 | Qualcomm Incorporated | Methods and apparatus for communicating and/or using discovery information |
WO2010052523A1 (en) * | 2008-11-10 | 2010-05-14 | Nokia Corporation | Cross layer service discovery for wireless networks |
US8285860B2 (en) * | 2009-03-16 | 2012-10-09 | Apple Inc. | Efficient service discovery for peer-to-peer networking devices |
US8243623B2 (en) | 2009-03-31 | 2012-08-14 | Intel Corporation | Combined device and service discovery technique in stations supporting tunneled direct link setup (TDLS) |
US8768323B2 (en) | 2009-06-23 | 2014-07-01 | Intel Corporation | Service discovery in a wireless network |
US20110149798A1 (en) * | 2009-12-23 | 2011-06-23 | Carlos Cordeiro | Device, system and method of communicating using configured transmission directionality |
US8825767B2 (en) | 2010-10-05 | 2014-09-02 | Sivapathalingham Sivavakeesar | Scalable secure wireless interaction enabling methods, system and framework |
WO2012051078A1 (en) * | 2010-10-15 | 2012-04-19 | Marvell World Trade Ltd. | Assignment of network addresses |
KR101723453B1 (ko) | 2011-02-21 | 2017-04-05 | 삼성전자주식회사 | 휴대용 단말기에서 와이파이 다이렉트 연결 기반 유니버설 플러그 앤 플레이 서비스를 제공하기 위한 장치 및 방법 |
-
2013
- 2013-03-06 US US13/786,799 patent/US9173161B2/en active Active
-
2014
- 2014-02-27 KR KR1020157027359A patent/KR101629842B1/ko active IP Right Grant
- 2014-02-27 WO PCT/US2014/018958 patent/WO2014137734A1/en active Application Filing
- 2014-02-27 EP EP14711869.9A patent/EP2965547A1/en not_active Withdrawn
- 2014-02-27 JP JP2015561421A patent/JP6009700B2/ja active Active
- 2014-02-27 CN CN201480012159.3A patent/CN105027593B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070233879A1 (en) * | 2005-10-07 | 2007-10-04 | Steven Woods | System and method for advertisement identification, selection, and distribution involving a peer-to-peer network |
CN102547871A (zh) * | 2012-02-07 | 2012-07-04 | 华为技术有限公司 | 一种d2d通信中的资源协商方法及设备 |
Also Published As
Publication number | Publication date |
---|---|
US20140258395A1 (en) | 2014-09-11 |
WO2014137734A1 (en) | 2014-09-12 |
EP2965547A1 (en) | 2016-01-13 |
KR20150122243A (ko) | 2015-10-30 |
CN105027593A (zh) | 2015-11-04 |
JP6009700B2 (ja) | 2016-10-19 |
JP2016514420A (ja) | 2016-05-19 |
US9173161B2 (en) | 2015-10-27 |
KR101629842B1 (ko) | 2016-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105027593B (zh) | 对等预关联发现操作 | |
JP6794191B2 (ja) | 通信装置、通信方法、及びプログラム | |
US11228909B2 (en) | Communication apparatus, communication method, and storage medium | |
KR101298439B1 (ko) | 제1 장치의 부근에 있는 제2 장치에 의해 제공된 서비스를제1 장치에 의해 액세스하는 방법 및 컴퓨터 판독가능 매체 | |
US8478300B2 (en) | Proximity service discovery in wireless networks | |
US9667504B2 (en) | Communication system having management apparatus and user apparatus, management apparatus, user apparatus, and method of controlling the same | |
US8886833B1 (en) | Method and apparatus for peer-to-peer networking | |
CN102342153A (zh) | 用于使用备选连接接口自动构成局部网络的方法和装置 | |
WO2019134595A1 (zh) | 配置***、客户端设备、嵌入式设备配置方法及存储介质 | |
MX2008014540A (es) | Mecanismo para transmitir informacion de descubrimiento en una red inalambrica. | |
JP2017038235A (ja) | 通信機器およびその制御方法、プログラム、並びに記憶媒体 | |
KR101680715B1 (ko) | 개인 네트워크 등록을 위한 장치 및 방법 | |
EP3032850A1 (en) | Service discovery technique in wireless communication network for forming p2p group | |
JP6312369B2 (ja) | 通信装置、通信装置の制御方法、プログラム | |
CN104754642A (zh) | 一种服务查询方法、装置及***和站点 | |
WO2020085019A1 (ja) | 通信装置、通信装置の制御方法、およびプログラム | |
JP6406045B2 (ja) | カラオケシステム、アドレスリースサーバ、管理サーバ、カラオケ装置 | |
JP7196248B2 (ja) | 通信装置、制御方法及びプログラム | |
JP6101197B2 (ja) | ネットワーク接続管理システム及び方法並びに無線端末装置 | |
KR101676432B1 (ko) | 무선 와이파이 환경에서 사물인터넷 보드와 응용 서버의 탐색 및 접속 시스템 및 그 방법 | |
JPWO2023047538A5 (zh) | ||
WO2017202111A1 (zh) | 无线传输方法、装置及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |