建立对等通信的方法和装置

申请号 CN201080044777.8 申请日 2010-09-30 公开(公告)号 CN102687580B 公开(公告)日 2017-12-12
申请人 黑莓有限公司; 发明人 斯蒂芬·麦卡恩; 迈克尔·蒙特莫罗; 布里安·爱德华多·麦科根;
摘要 本 发明 提供了用于对等通信的方法和设备。所述方法包括:向另一设备(302b)或网络组件(104)传输设备(302a)的能 力 (204)。基于设备的能力中的至少一项能力来建立对等通信。所述方法还可以包括:在向另一设备传递设备的能力中,使用控制点或接入点。
权利要求

1.一种用于在无线局域网(WLAN)中进行对等(P2P)通信的方法,所述方法包括:
从第一对等端无线站(STA1)向第二对等端无线站(STA2)传输(1104、1106)P2P能数据,在所述P2P能力数据中标识了由STA选择的P2P通信机制;
接收所述STA2的第二P2P能力数据,其中,所述第二P2P能力数据包括基于所述STA2的用于P2P通信的能力对所述STA1的P2P能力数据的修订,所述STA2的用于P2P通信的能力不同于所述STA1的P2P能力数据中的能力;以及
响应于所述第二P2P能力数据,向所述STA2发送所述STA1的第三P2P能力数据,其中,所述第三P2P能力数据包括不同于所述第二P2P能力数据的能力数据,
其中,所述P2P能力数据包括以下至少一项:网络掩码、或在基于动态主机配置协议(DHCP)的IP地址不可用的情况下的静态互联网协议(IP)地址。
2.根据权利要求1所述的方法,其中,所述P2P能力数据包括:指示所述STA1的用于直接链路建立(DLS)的能力的数据。
3.根据权利要求1所述的方法,其中,所述P2P能力数据包括以XML模式来定义的信息。
4.根据权利要求1所述的方法,其中,所述P2P能力数据存储在以下至少一项上:非可拆卸存储器、可拆卸存储器或者可拆卸模
5.根据权利要求1所述的方法,还包括:
当所述STA2的能力不同于所述P2P能力数据中的能力时,拒绝P2P连接。
6.一种用于在无线局域网(WLAN)中进行对等(P2P)通信的设备(302a、302b),所述设备包括:
处理器,被配置为:
从第一对等端无线站(STA1)向第二对等端无线站(STA2)传输(1104、1106)P2P能力数据,在所述P2P能力数据中标识了由STA选择的P2P通信机制;
接收所述STA2的第二P2P能力数据,其中,所述第二P2P能力数据包括基于所述STA2的用于P2P通信的能力对所述STA1的P2P能力数据的修订,所述STA2的用于P2P通信的能力不同于所述STA1的P2P能力数据中的能力;以及
响应于所述第二P2P能力数据,向所述STA2发送所述STA1的第三P2P能力数据,其中,所述第三P2P能力数据包括不同于所述第二P2P能力数据的能力数据,
其中,所述P2P能力数据包括以下至少一项:网络掩码、或在基于动态主机配置协议(DHCP)的IP地址不可用的情况下的静态互联网协议(IP)地址。
7.根据权利要求6所述的设备,其中,所述P2P能力数据包括:指示所述STA1的用于直接链路建立(DLS)的能力的数据。
8.根据权利要求6所述的设备,其中,所述P2P能力数据包括以XML模式来定义的信息。
9.根据权利要求6所述的设备,其中,所述P2P能力数据存储在以下至少一项上:非可拆卸存储器、可拆卸存储器或者可拆卸模块。
10.根据权利要求6所述的设备,其中,所述处理器还被配置为:
当所述STA2的能力不同于所述P2P能力数据中的能力时,拒绝P2P连接。

说明书全文

建立对等通信的方法和装置

[0001] 相关申请
[0002] 本专利要求于2010年8月25日提交的美国专利申请No.12/868,550和于2009年10月2日提交的美国临时专利申请No.61/248,328的优先权,且以全文引用的方式将它们并入本文中。

技术领域

[0003] 本公开大体上涉及网络通信,且具体地涉及建立对等通信的方法和装置。

背景技术

[0004] 诸如无线局域网(WLAN)之类的无线网络部署允许当无线终端在这些无线网络的无线通信信号的附近时让这些终端访问其他设备和服务。另一种访问这种设备和/或服务的方法涉及使用对等(P2P)连接,在对等连接中,无线终端可以与另一无线终端、设备或服务直接通信。然而,建立P2P连接的已知方法要求大量的用户参与,以提供正确的配置信息并发现能够进行P2P通信的其他设备。这通常被证明是使人失望的,并且可能打消很多用户尝试建立这种P2P连接的积极性。附图说明
[0005] 图1示出了示例无线局域网(WLAN)拓扑。
[0006] 图2示出了根据开放系统互连标准(OSI)模型的通信层架构。
[0007] 图3示出了经由无线接入点来发现对等(P2P)能并建立P2P连接的示例无线终端。
[0008] 图4示出了经由无线接入点来发现P2P能力并建立P2P连接的示例无线终端,该无线接入点可经由网络以通信方式耦合。
[0009] 图5示出了在不使用接入点的情况下经由无线网络来发现P2P能力并建立P2P连接的示例无线终端。
[0010] 图6示出了网络中的用于促进无线终端的发现P2P能力并在无线终端之间建立P2P连接的控制点。
[0011] 图7示出了无线接入点中的用于促进无线终端的发现P2P能力并在无线终端之间建立P2P连接的控制点。
[0012] 图8示出了无线终端中的用于促进其它无线终端的发现P2P能力并在无线终端之间建立P2P连接的控制点。
[0013] 图9示出了出现在网络环境中的多个控制点。
[0014] 图10示出了在网络环境中的由位于分离位置的控制点构成的虚拟控制点。
[0015] 图11示出了形成多连接P2P会话的无线终端。
[0016] 图12示出了示例终端能力数据结构。
[0017] 图13示出了示例控制点管理数据结构。
[0018] 图14示出了表示在无线终端之间经由无线接入点的通信的示例消息流程图,该通信用于发现彼此的P2P能力并建立P2P连接。
[0019] 图15示出了表示在无线终端和控制点之间的通信的示例消息流程图,该通信用于发现彼此的P2P能力并建立P2P连接。
[0020] 图16示出了表示由图6至10和15的控制点所协助的P2P能力动态更新过程的示例消息流程图。
[0021] 图17A至17C示出了在布置在无线终端之间传输的P2P能力和配置信息中使用的示例模式(schema)。
[0022] 图18A和18B示出了指示在网络中一个或多个P2P服务可用的示例P2P能力消息。
[0023] 图19示出了可以用于实现本文所述示例方法和装置的示例无线终端的框图
[0024] 图20示出了可以用于促进在无线终端之间的P2P能力发现和P2P连接的示例控制点的框图。
[0025] 图21A和21B示出了表示示例过程的流程图,可以使用计算机可读指令来实现这些示例过程,以发现P2P能力并在无线终端之间建立P2P连接。
[0026] 图22示出了表示示例过程的流程图,可以使用计算机可读指令来实现这些示例过程,以使用控制点来发现P2P能力并在无线终端之间建立P2P连接。
[0027] 图23示出了表示示例过程的流程图,可以使用计算机可读指令来实现这些示例过程,以使用控制点来动态更新无线终端的P2P能力并在无线终端之间建立P2P连接。

具体实施方式

[0028] 尽管下面公开了包括在硬件上执行的软件等组件在内的示例方法和装置,应当注意到这种方法和装置仅是说明性地,且不应当将其视为限制。例如,可以预期单独用硬件,单独用软件,单独用固件,或用硬件、软件和/或固件的任意组合来体现这些硬件和软件组件中的任意一个或全部。因此,尽管下面描述了示例方法和装置,本领域普通技术人员将容易意识到所提供的示例不是实现这种方法和装置的唯一方式。
[0029] 无线终端可以使用本文所述的示例方法和装置来发现无线网络环境中的其他无线终端的对等(P2P)能力,并建立与一个或多个其他无线终端的P2P连接。P2P连接的至少一些优点是可以使其在2个实体之间是安全的,并且P2P涉及单播通信,而取代由接入点向连接到接入点的所有无线终端或设备传输信息所通常使用的组播通信。单播通信比组播通信要求更少的由接入点(AP)使用的带宽。从而,在对等端正在传输相对大量的信息(例如,大文件、流媒体、VoIP视频或语音呼叫等等)时,使用在2个对等端(peer)之间的单播P2P通信是特别有利的。
[0030] 可以将本文所述的示例方法和装置与移动通信设备、移动计算设备或能够与无线网络进行无线通信的任何其他单元、实体、设备、或服务结合使用。设备(也被称为终端、无线终端、站(非AP站)或者用户设备(UE))可以包括移动电话(例如, 智能电话)、无线个人数字助理(PDA)、具有无线适配器的膝上型/笔记本/上网本计算机等等。在本文中,将示例方法和装置与被称为 (电气和电子工程师协会)802.11的无线局域网(WLAN)通信标准相结合来加以描述。然而,附加地或备选地,可以结合包括其他WLAN标准、个域网(PAN)标准、广域网(WAN)标准或蜂窝通信标准在内的其他无线通信标准来实现示例方法和装置。
[0031] 可以在向无线接入提供网络连接(例如,WLAN)的任何环境中实现本文所述的示例方法和装置。例如,可以在私有WLAN接入位置或环境中或者公共WLAN接入位置或环境中实现示例方法和装置,在这些位置中,预期携带相应无线终端的一个或多个用户将随着他们进入和离开WLAN接入位置或环境而频繁地与WLAN连接和断开。
[0032] 用于在无线终端之间建立P2P连接的一些已知技术或标准要求在P2P连接有效的整个时间中,P2P连接经过中间WLAN基础结构。其他P2P连接类型允许无线终端直接彼此连接,而不需要中间WLAN基础结构。然而,在这两种实例中,用户必须手动配置他们的无线终端,以建立这种P2P连接。这种配置通常可以是复杂且用户容易出错的。例如,经常需要用户意识到另一无线终端,或执行与用户希望连接的另一无线终端是否具有与用户的无线终端相同的P2P通信能力的某种在先的调查。这种调查要求用户理解或知道针对其进行搜索的配置信息,且可要求通过在2个无线终端上的一系列用户界面菜单和屏幕来进行导航,或要求参考无线终端的用户手册。在一些实例中,用户手册在这方面可能没有帮助。此外,一些无线终端可以不提供用于调查它们的P2P能力和/或P2P配置参数的充分的用户界面功能。例如,尽管一个无线终端可以是 智能电话,另一无线终端可以是第三方打印机,可能不容易获得该第三方打印机的P2P能力和/或配置信息。这种过程经常可以被证明是使人失望的,特别是对于新手用户而言,对于他们,P2P通信可能是极端有用,但是可能由于复杂的配置过程而使得这些新手用户很少(如果有的话)能够受益于这种通信。
[0033] 使得能够进行P2P通信的已知标准包括WLAN基础结构、WLAN自组织网络(ad-hoc)、Wi-Fi P2P、Wi-Fi隧道传输直接链路建立(TDLS)、以及Wi-Fi单跳网格。由于无线终端的互用性问题以及可用性问题,很少使用WLAN自组织网络。Wi-Fi P2P是由Wi-Fi联盟(WFA)规定的,且允许对等端设备之一通过担当或作为AP工作来提供P2P连接。Wi-Fi TDLS是由IEEE 802.11z标准定义的对等端通信的机制。Wi-Fi TDLS允许对等端设备在穿过(traverse)WLAN基础结构的P2P连接上通信,该WLAN基础结构被配置为经由隧道传输链路在2个对等端终端之间传输数据或分组。Wi-Fi单跳网格是由IEEE 802.11s定义的机制,IEEE 802.11s还提供了经由WLAN基础结构的P2P连接。
[0034] 很多无线终端能够使用一个或多个互联网协议(IP)协议来建立P2P连接。这样,用户经常要承担对无线局域网(WLAN)链路级(OSI模型的第2层)和IP级(OSI模型的第3层)信息进行配置。此外,当WLAN基础结构或无线终端的配置、能力或状态发生改变时,用户必须重新配置链路级和IP级信息,以重新建立或更新P2P连接。当检测到无线终端的用户正在开会时,无线终端状态可以改变,且已经将无线终端预先配置为在其用户开会时禁用特定功能(例如,忽略语音呼叫或数据传输请求)。这种功能上的改变可以引起简档改变(例如,变为静音模式;在任何情况下也不接受语音呼叫等等)。
[0035] 此外,很多无线终端是移动的,且经常在不同的无线基础结构环境之间移动。无线基础结构环境经常具有不同的基础结构能力,且允许无线终端在不同的无线基础结构环境之间移动时,检测具有不同P2P能力的很多不同的无线终端。当无线终端从一个无线基础结构环境移动至另一个无线基础结构环境时,其用户必须针对在新环境中的P2P连接来重新配置它。此外,用户必须针对与无线基础结构环境中的任何其他无线终端的P2P连接来重新配置无线终端。
[0036] 本文所述的方法和装置使得无线终端能够通过在WLAN环境中的基于一个或多个支持P2P的协议的P2P发现交换,来执行对P2P网络和/或P2P服务的自动发现和协商/关联。P2P发现交换使得无线终端可以发现能够具有不同P2P网络连接(例如,WiFi直接或其他类型的P2P网络连接)的无线终端,和/或能够通过这种P2P网络连接接入不同的P2P服务(例如,基于互联网协议的语音(VoIP)、媒体流传输等等)。以这种方式,无线终端可以基于所发现的P2P网络类型和所发现的P2P服务,确定是否与其他无线终端建立P2P连接。例如,本文所述的示例方法和装置使得无线终端能够基于特定的P2P网络类型和特定的P2P服务,请求或提议P2P连接。这种所提议的P2P网络类型和服务的组合可以涉及:无线终端请求经由WiFi直接网络连接类型与另一无线终端连接,以使用VoIP服务。
[0037] 能够进行P2P通信的示例物理、逻辑或功能实体包括:打印机、网关、个人信息管理(PIM)同步服务(例如,日历同步、媒体源同步等等)、媒体重放(例如,播放特定媒体文件-数字编码的音轨)、打印(例如,无线打印服务)以及下载服务(例如,P2P下载、文件共享和/或网络存储)。此外,P2P发现使得无线终端能够访问服务注册器/信息接口(例如,提供资源、应用和/或服务逻辑的端点,包括无线可接入的代理/移动代理(nomadic agent)、代理等等)以及域信息(即,域被授权与执行P2P发现的无线终端共享的网络信息)(例如,域中的接入点拓扑、命名、位置等等)。从而,尽管在本文中结合彼此发现和连接的2个或更多无线终端来描述所示示例,可以备选地以实质相同或相似的方式使用包括任何其他类型的支持P2P的终端在内的其他支持P2P的单元(或支持P2P的实体)或包括上述单元在内的服务,来实现本文所述的方法和装置。
[0038] 在操作中,当支持P2P的无线终端已建立了与WLAN的连接时,无线终端使用现有的WLAN基础结构发送P2P能力消息,指示P2P连接能力。响应于此,如果无线终端具有兼容的P2P能力,则也与WLAN相连的另一支持P2P的无线终端对该P2P能力消息进行响应,以开始P2P能力交换和P2P连接协商。在发现过程期间,将交换发现、能力和协商消息的无线终端称为发现无线终端或发现设备。
[0039] 如结合本文示例所描述的,每个发现无线终端能够在没有用户干预的情况下交换信息,以与其它无线终端和/或P2P服务交换P2P能力信息,并寻求建立P2P连接。在本文所述的一些示例实现中,P2P发现交换可以发生在经由无线LAN连接的2个无线终端之间。在其他实例实现中,尽管2个无线终端经由无线LAN连接和通信,可以由控制点(CP)来协助P2P发现交换,该控制点是发现无线终端可接入的附加逻辑组件。在本文所述的示例实现中,控制点可以协助跟踪不同无线终端的P2P能力,以及促进向连接到与控制点相关联的WLAN的任何发现无线终端传输这种P2P能力。如下面结合图6至10所解释的,控制点可以驻留在与WLAN环境相关的不同位置处(例如,在无线接入点中、在与无线接入点可通过通信方式耦合的网络中、和/或在无线终端中),或者其可以是由彼此合作工作的分离控制点构成的虚拟实体。
[0040] 参见图1,示出了示例WLAN拓扑100,其具有连接到无线AP 104的LAN 102。还示出了能够连接到AP 104并经由AP 104通信的支持P2P的设备或无线终端106。可以结合台式计算机、膝上型计算机、智能电话、个人计算设备、服务(例如,打印机、媒体流传输服务器等等)以及能够经由无线方式进行通信的任何其他设备或服务来实现本文所述的示例方法和装置。在所示示例中,LAN 102可通过通信方式耦合到互联网108。
[0041] 尽管图1中示出了互联网108,可以在不接入互联网的情况下实现本文所述的示例方法和装置。此外,可以在没有任何复杂的LAN实现的情况下实现示例方法和装置。即,无线终端106仅需要能够经由AP(例如,AP 104)建立与彼此的初始通信,以执行P2P发现和P2P能力交换,而不需要接入任何更高级别的网络(例如,LAN、内部互联网、互联网)。例如,在一些示例实现中,可以使用无线路由器来实现AP 104,通过该无线路由器,每个无线终端106可以进行通信,且在2个或更多无线终端106选择经由P2P连接直接通信之后,这种通信可以发生在无线终端106之间,且不需要经由中间AP 104来进行通信(例如,无线终端之一可以作为AP,或可以使用不要求AP的P2P模式)。本文所述的示例方法和装置还可以用于建立穿过AP的P2P连接。
[0042] 在本文所述的示例中,能够进行P2P通信的每个无线终端106在本地预先存储其P2P能力信息。P2P能力信息可以由无线终端106的制造商、安装在无线终端106上的软件或驱动程序、无线终端的服务提供商、网络服务提供商、无线通信服务提供商、无线终端106的用户等等来提供。P2P能力可以存储在无线终端106的固定存储器、可拆卸式存储器或可拆卸式模中(例如,认证卡、安全卡、订户识别模块(SIM)等等)。在一些示例实现中,诸如无线通信运营商或网络运营商之类的通信服务提供商可以限制由它们提供或者连接到他们的网络的无线终端106所能使用的P2P协议的类型或模式。
[0043] 图2示出了可以用于实现P2P发现和能力交换并在无线终端之间建立P2P连接的示例通信层架构200。将示例通信层架构200示出为具有可以根据例如众所周知的OSI参考模型所实现的7层。在所示示例中,通信层架构200包括网络层202(即,互联网协议(IP)层)。在本文所述示例中,无线终端(例如,图1的无线终端106)被配置为经由无线AP(例如,图1的AP 104)使用在网络层202处的通信来交换P2P建立信息204(例如在P2P发现和能力交换中使用的信息以及P2P连接协商和发起消息)。即,无线终端106可以在不需要使用网络层202之上的操作的情况下,在网络层202上经由AP 104来交换P2P建立信息204(即,不需要在通信层架构200的传输层、会话层、表示层或应用层上传输P2P建立信息204)。
[0044] 现在参见图3,示例无线终端302a和302b经由AP 104来传输P2P建立消息(例如,包括图2的P2P建立信息204),以发现彼此的P2P能力并建立与彼此的P2P连接304。尽管将P2P连接304示出为绕过AP 104,可以建立涉及在P2P连接期间经由AP 104通信的对等端的其他类型的P2P连接。类似地,尽管在图4至11的示例实现中,所示出的P2P连接被示出为绕过AP,图4至11的示例实现也可以使用涉及在P2P连接期间经由一个或多个AP来通信的对等端的其他类型的P2P连接。
[0045] 在所示示例中,无线终端302a被示出为存储终端能力数据结构306,该终端能力数据结构306存储了指示无线终端302a的P2P能力的参数信息(例如,连接类型、协议、所支持的认证或安全方法等等)。在下面结合图12来详细描述终端能力数据结构306和可以存储于其中的示例参数。尽管未示出,无线终端302b也存储了类似于终端能力数据结构306的终端能力数据结构,以存储指示其P2P能力的参数。无线终端302a-b使用P2P建立信息204,彼此交换它们相应的终端能力数据结构(例如,终端能力数据结构306)中的至少一些信息,以发现彼此的P2P能力并建立与彼此的P2P连接。
[0046] 在图3所示的示例中,将无线终端302a-b示出为经由单一AP 104来传输P2P建立信息。图3的示例配置使得无线终端302a-b能够在其间建立P2P连接304,而不需要AP 104连接到任何其他LAN或网络。即,在所示示例中,无线终端302a-b可以发现彼此的P2P能力,协商P2P连接304,并建立P2P连接304,而仅依赖于它们存储的信息和它们经由AP 104进行传输的能力。
[0047] 在图4所示的另一示例实现中,AP 104经由网络404与另一AP 402通信,且无线终端302a-b被示出为经由AP 104、网络404和AP 402彼此发现并交换P2P建立信息204。网络404可以是LAN、广域网(WAN)、内部互联网、互联网、或任何其他公共或私有网络。尽管图4仅示出1个网络(网络404),可以使用首先经由AP彼此发现的无线终端(例如,无线终端302a-b)来实现本文所述的示例方法和装置,其中,AP是通过2个或更多网络来彼此通信的。类似于图3的示例实现,无线终端302a-b可以发现彼此的P2P能力,协商P2P连接406,并建立P2P连接406,而仅依赖于他们存储的信息和他们经由AP 104、网络404和AP 402进行传输的能力。
[0048] 在其他示例实现中,如图5所示,无线终端302a-b可以在不使用AP的情况下经由网络408彼此相连。在图5所示示例中,网络408可以是网格网络,且无线终端302a-b可以经由网格网络408发现彼此的P2P能力并在不使用AP的情况下建立P2P连接。
[0049] 尽管图3至5示出了以下示例实现:其中,无线终端302a-b仅需要依赖于他们存储的P2P能力信息和他们经由无线网络和/或一个或多个AP彼此通信的能力,本文所述的示例方法和装置还可以用于提供中间P2P信息管理服务,该中间P2P信息管理服务促进或协助发现无线终端和这些无线终端的P2P能力。在图6至10的示例实现中,将这种中间P2P信息管理服务描述为控制点502。
[0050] 在所示示例中,控制点502是对无线终端的P2P能力和服务进行代理的逻辑网络组件。控制点502可以与域名系统(DNS)服务或动态主机配置协议(DHCP)服务位于一处。控制点502还可以包括或代理与其连接的网络的其他信息(例如,网络缺省网关和网络掩码IP信息)。控制点502能够对一个或多个相关联的支持P2P的无线终端的状态和/或环境改变进行仲裁(mediate)。例如,如果特定无线终端体验到状态改变(例如,由于无线终端用户进入会议中),这种状态改变可以影响与该无线终端相关联的P2P服务类型和/或P2P能力的对应组成。为了便于维护与改变后的无线终端的任何当前P2P连接或者建立与改变后的无线终端的任何未来P2P连接,控制点502能够从无线终端接收到对检测到状态改变的通知。响应于此,控制点502可以在其信息存储器(例如,图6的控制点管理数据结构504)中反映恰当改变。此外,控制点502可以代表改变后的无线终端来提供(host)或代理对其他无线终端的P2P能力交换更新,以反应其状态改变。在本文所述示例中,控制点502可以自动执行这些操作,而不需要直接的用户干预。
[0051] 如图6所示,控制点502存储控制点(CP)管理数据结构504,控制点(CP)管理数据结构504存储了指示无线终端302a-b和/或任何其他无线终端的P2P能力的参数信息(例如,连接类型、协议、所支持的认证或安全方案等等),其中,控制点502已从这些无线终端接收到P2P发现消息和P2P能力信息(例如,图2的P2P建立信息204)。此外,CP管理数据结构504可以存储P2P连接状态信息,该信息指示了哪些无线终端经由P2P会话彼此相连。例如,CP管理数据结构504可以存储针对每个P2P服务类型(例如,VoIP服务、即时通讯(IM)服务、P2P聊天服务、媒体流传输服务、打印服务等等)的P2P连接项,针对这些服务类型,在无线终端之间建立了P2P连接。在下面结合图13来描述CP管理数据结构504和存储于其中的示例参数。
[0052] 在图6所示示例中,无线终端302a-b经由AP 104和AP 507与网络506(可以与图4的网络404实质上相似或相同)通信。如图6所示,可以将控制点502实现为网络506中的分离实体(例如,控制点502可以位于LAN、WLAN中或可以由无线终端302a-b和AP 104和507访问的某个任意点处的其他网络中)。如图6所示,无线终端302a-b经由AP 104和507以及网络506与控制点502交换P2P建立信息204,且控制点502促进向其他无线终端分发或公告无线终端的P2P能力。在图6和7所示的示例中,使用引用标号508a和508b来表示由无线终端302a-b传输的P2P能力信息,且使用引用标号510a和510b来表示来自控制点502的P2P能力公告。
[0053] 在诸如图7之类所示的其他示例实现中,可以备选地在AP 104中实现控制点502。如图7所示,无线终端302a-b与控制点502经由AP 104交换P2P建立信息204。在其他示例实现中,可以备选地在无线终端中实现控制点502。例如,图8示出了在无线终端302b中实现的控制点502,且无线终端302a经由AP 104和无线终端302b与控制点502交换P2P建立信息
204。
[0054] 尽管图6至8中每张图都示出了控制点502的单一实例,在一些示例实现中,2个或更多控制点可以位于网络环境中。例如,一个或多个无线终端可以运行相应的控制点服务,同时AP也可以运行控制点服务。在这种实现中,如图9所示,可以使用仲裁方案来指示将哪个控制点用作主控制点或主要控制点,或如图10所示,可以使用在控制点之间的仲裁和协商来形成由在分离位置的控制点中的全部或至少一些控制点所构成的单一逻辑或虚拟控制点。
[0055] 为了使得若干控制点中的仅一个控制点能够作为网络环境的主控制点或主要控制点,仲裁方案可以基于分级选择策略,在该分级选择策略中,相对于无线终端中的控制点(比如图8),应当优先选择AP中的控制点(图7),且相对于AP中的控制点(比如图7),应当优先选择位于网络中的控制点(比如图6)。例如,在图9中,选择AP104中的控制点502作为主控制点或主要控制点,且无线终端302a-b中的控制点702和704被指定为从控制点或辅助控制点。在图9所示的示例实现中,从控制点702和704可以用于存储网络环境中的其他支持P2P的单元的P2P能力和配置信息,并用于向主控制点502传输这种能力和配置信息(或间接参考指示符(例如,对存储了能力和配置信息的网络位置进行描述的统一资源指示符(URI)))。然后主控制点502可以向其他支持P2P的单元广播或公告这种信息,并促进在这种支持P2P的单元之间建立P2P连接。备选地,在其他示例实现中,可以禁用无线终端302a-b的控制点702和704,且控制点502可以作为网络环境的单一控制点(例如,单一主控制点)。
[0056] 为了如图10所示,形成由位于支持P2P的不同单元中的若干控制点构成的单一逻辑控制点,支持P2P的单元的控制点可以合作工作,作为使用仲裁和协商的单一虚拟控制点。在图10所示的示例中,控制点502是由在AP 104中工作的控制点712、在无线终端302a中工作的控制点714、以及在无线终端302b中工作的控制点716构成的虚拟控制点。
[0057] 在本文所述示例中,控制点502可被配置为使得能够修改其操作。例如,如图6所示,可以使用联网的计算机来接入控制点502的配置接口(未示出)。这样,管理员可以指定经由控制点502可以协商的P2P连接的类型,和/或可以指定哪种类型的无线终端可以彼此相连。例如,无线服务提供商可以选择指定只有由其服务提供的无线终端或由其附属(affiliate)操作的无线终端可以在无线终端工作的WLAN中彼此相连。此外,可以配置控制点502的服务质量(QoS)方面。例如,如果无线终端不能保证其可以提供最小级别的QoS,则控制点502可以阻止无线终端与其他无线终端建立P2P连接。
[0058] 尽管图3至10示出了仅在2个无线终端302a-b之间的P2P连接,本文所述的示例方法和装置可以用于发现P2P能力并在2个或更多无线终端之间建立P2P连接。例如,参见图11,在无线终端302a-b已建立了第一P2P连接802之后,无线终端302a可以发现另一支持P2P的无线终端804,并建立与无线终端804的第二P2P连接806。在图11所示的示例中,无线终端
302a可以与无线终端302b和804通信,且无线终端302a是P2P组所有者或集线器,无线终端
302b和804可以通过其彼此通信。
[0059] 在一些示例实现中,可以使用以任何配置实现的一个或多个控制点来建立图11的多连接P2P会话,这些配置包括上面结合图6至10所描述的配置。在一些示例实现中,图11所示的网络拓扑可以是域间拓扑,在该域间拓扑中,AP 104与归属网络(home network)相关联,且AP 808与访问网络相关联。在这种域间实现中,可以在无线终端302a-b和804之间经由AP 104和808以及他们相应的域来传输P2P发现和协商消息。此外,对于AP 104和808均包括相应控制单元(与控制点502相类似或实质相同)的情况,控制点可以在分离的域上合作工作,以促进在无线终端302a-b和804之间的P2P发现和连接协商。
[0060] 图12详细地示出了图3的示例终端能力数据结构306。在所示示例中,终端能力数据结构306存储了指示无线终端302a的P2P能力和配置的参数。可以将该信息通过AP提供(provision)到无线终端上,或使用例如开放式移动联盟(OMA)设备管理(DM)接口或通过某个非标准的提供平台。向无线终端传输P2P能力和配置信息的方式可以取决于对支持P2P的设备进行封装的相关网络域的拓扑和结构。
[0061] 此外,在图12所示的示例中,P2P能力参数对应于被称为“WLAN对等端通信”的服务类型。在P2P发现过程期间,无线终端302a广播包括服务类型名称“WLAN对等端通信”在内的发现请求,以查询在要建立P2P连接的无线终端302a的无线通信可达范围内是否存在任何其他无线终端。然后无线终端302可以使用P2P建立信息204(图2),将终端能力数据结构306中存储的其他参数信息传输至所发现的无线终端(例如,图1的设备106、图3至11的无线终端302b、或图11的无线终端804)或控制点502(图6至10),以向其他无线终端通知无线终端302a的配置和P2P能力。
[0062] 终端能力数据结构306还包括多个属性类型902和针对每个属性类型902的一个或多个属性名称904。示例属性类型902包括:链路机制类型906、网络配置类型908、服务类型910、备选网络发现协议类型912、认证类型914、位置类型916、以及设备类型918。如图所示,终端能力数据结构306指示了无线终端302a支持的链路机制类型906包括IEEE 802.11自组织网络模式、Wi-Fi P2P模式、直接链路建立(DLS)、 以及
交替MAC和PHY(BT AMP)。此外,终端能力数据结构306存储与无线终端302a的网络配置908相关联的参数,包括:基于DHCP的IP地址(或如果DHCP不可用,则包括静态IP地址)、网络掩码、缺省网关地址、DNS地址、以及网络地址转换(NAT)地址。
[0063] 无线终端302a支持的服务类型910包括:流传输服务、文件交换服务、网关服务、共享服务、紧急服务接入服务、不同的QoS类别、以及基于IP的语音(VoIP)服务。无线终端302a支持的备选网络发现协议912包括:通用即插即用(UPnP)、Bonjour、会话描述协议(SDP)、会话发起协议(SIP)、以及通用描述、发现和集成(UDDI)。无线终端302a所支持的认证方法914包括:可扩展认证协议(EAP)方法(例如,基于IEEE 802.1X的EAP)和用户名/密码方法。位置类型916参数指示了无线终端302a是否支持获取测地学位置信息(经度、维度、海拔)和/或城市位置信息(司法的或邮政的街道地址)以及可选的偏移量(用于确定准确的室内WLAN位置)。此外,终端能力数据结构306指示无线终端302a是电话、手持设备、计算机、打印机还是HiFi设备。仅示出属性类型902和属性名称904作为示例。在其他实例实现中,可以在终端能力数据结构306中存储更少、更多或不同的属性类型和名称。
[0064] 图13详细地示出了示例CP管理数据结构504。CP管理数据结构504存储了针对不同无线终端(示出为终端站1002 STA1、STA2和STA3)的项。在所示示例中,STA1指代无线终端302a,且STA2指代无线终端302b。此外,针对每个无线终端,CP管理数据结构504存储P2P能力和配置信息1004。P2P能力和配置信息1004可以包括:在图3和12中的终端能力数据结构
306中存储的、并被无线终端整体直接或间接(例如,使用用于稍后检索目的的URI参考)传输到控制点502的一个或多个属性名称和配置信息。还如图13所示,CP管理数据结构504存储每个无线终端的P2P连接状态指示符1006和由P2P连接提供的服务类型1008。
[0065] 在图13所示的示例中,CP管理数据结构504指示了无线终端STA1连接到无线终端STA2,指示了无线终端STA3当前不具有任何的P2P连接,且指示了无线终端STA4至STA6经由多连接P2P会话相连。P2P连接状态指示符1006指示了相连接的无线终端,且可以包括指示如何进行P2P连接和每个连接的细节(例如,连接速度、双工或单工类型、安全等等)在内的元信息或元数据。图13所示的服务类型1008示出了在无线终端STA1和STA2之间的P2P连接提供了VoIP服务,且示出了在无线终端STA4至STA6之间的P2P连接提供了即时通讯(IM)服务。此外,尽管在IM会话中涉及了无线终端STA4至STA6,在无线终端STA4和STA5之间的同时发生的P2P连接提供了VoIP服务。
[0066] 尽管在图13中将P2P能力、配置和连接信息示出为存储在单一、一体的数据结构、数据库或表中。在其他实例实现中,图13所示的信息可以备选地存储在可经由网络接入的分离位置上。在这种实例实现中,CP管理数据结构504(和/或控制点502的其他数据结构)可以存储间接的参考,比如指示图13所示信息存储在网络上哪里的URI。这样,取代向无线终端传输包括其他无线终端的所有P2P能力在内的消息,控制点502可以向寻求发现其他无线终端的P2P能力的无线终端传输URI。无线终端可以使用该URI从该URI指示的位置检索到P2P能力信息。从而,当本文中将控制点502描述为向其他无线终端传输P2P能力时,这种P2P能力消息可以备选地包括由无线终端在从其他网络位置接入P2P能力中所使用的URI,而不包括P2P能力的列表。
[0067] 图14示出了对在无线终端302a-b之间经由无线AP 104的用于发现彼此的P2P能力并建立P2P连接的通信加以表示的示例消息流程图。在所示示例中,支持P2P的无线终端302a-b首先通过使用缺省IEEE 802.11连接或链路建立过程的AP 104连接或关联到WLAN基础结构网络。尽管图14中将AP 104示出为针对无线终端302a-b的中间通信装置,在其他示例实现中,无线终端302a-b可以通过网络连接,而不需要使用如上面结合图5所描述的AP。
[0068] 首先,如图14所示,无线终端302a-b广播P2P发现消息1102,经由指定的网络发现协议,寻求发现其他支持P2P的设备或服务并与之协商。例如,网络发现协议可以是UPnP、Bonjour、SDP、SIP或这些协议的组合。作为P2P发现消息1102的结果,无线终端302a-b彼此发现。此外,无线终端302a-b可以可选地发现涉及与AP 104相关联的网络的其他动态方面,包括例如:控制点(例如,图6至10的控制点502)是否存在或在WLAN基础结构中AP 104的其他P2P服务是否可用。
[0069] 然后无线终端302a-b中的一个或两个启动P2P网络能力发现协议(例如,可扩展标记语言(XML)交换),以将它们的P2P能力和配置进行彼此通信。例如,无线终端302a-b均可以存储与上面结合图12讨论的终端能力数据结构306实质类似的终端能力数据结构,以存储其P2P能力和配置信息。然后,无线终端302a-b交换包括任何QoS和/或服务类别级别要求在内的能力消息1104。在所示示例中,无线终端302a传输STA1 P2P能力XML消息1106,且无线终端302b传输STA2 P2P能力XML消息1108。在图17A至17C中提供了可以用于在XML消息1106和1108中布置P2P能力和配置信息的XML模式的示例实例(如万维网协会(W3C)定义的)。能力消息1104可以包括所支持的P2P通信机制的列表,其可以包括:Wi-Fi P2P、Wi-Fi TDLS(IEEE 802.11z)、IEEE 802.11自组织网络模式、
或单跳网格(IEEE 802.11s)。
[0070] 在已交换并肯定应答了能力消息1104之后,无线终端302a-b均能够关联并发起特定服务类型,同时不需要手动用户配置或参与。然后由无线终端302a-b上的不同应用发起后续服务。在所示示例中,无线终端302a向无线终端302b发送具有其选择的服务类型的连接请求消息1110,且无线终端302b用对所选服务类型进行肯定应答并同意连接的连接响应消息1112来响应。如果无线终端302b确定其不能支持或不愿意支持(例如,由于用户首选项)无线终端302a所提议的P2P连接类型,则无线终端302b可以代之以用反提议连接请求消息(未示出)来响应,在该反提议连接请求消息中,无线终端302b拒绝无线终端302a提议的P2P连接,并提议了不同类型的P2P连接(例如,具有不同参数(例如,认证、速度等等)的相同或不同P2P服务)。在这种实例中,无线终端302a可以用接受反提议的P2P连接的连接响应来进行响应或反提议不同的P2P连接参数。这种P2P连接反提议还可以结合控制点使用,比如控制点502(图6至10、15和16)。
[0071] 尽管图14所示的示例示出了与能力消息1104相分离的连接请求消息1110,在其它示例实现中,可以通过将能力消息(例如,来自无线终端302a-b的任一能力消息1104)与连接请求消息(例如,连接请求消息1110或来自无线终端302b的连接请求消息)相结合来减小消息量。还可以在使用控制点502(图6至10、15和16)的实例中实现相同类型的结合消息。例如,控制点502可以代表无线终端302a向无线终端302b公布或代理结合的能力和连接请求消息。当然,取而代之地,可以由控制点502代表无线终端302b向无线终端302a传输结合的能力和连接请求消息。
[0072] 为了进一步减小在无线终端302a-b之间交换的消息量,无线终端302a-b可以对彼此的P2P能力和从任何其他无线终端接收到的P2P能力进行高速缓存。这样,在彼此的后续连接期间,无线终端302a-b可以参考它们之前已预先高速缓存的彼此的P2P能力,以协商并建立一个或多个P2P连接。
[0073] 如图14所示,在无线终端302a-b同意了用于建立P2P连接的P2P服务类型之后,无线终端302a-b彼此开始关联和无线提供服务(WPS)协商通信1114,以彼此提供P2P连接。然后无线终端302a-b可以向彼此发送P2P通信1116。在图14所示示例中,协商通信1114和P2P通信经由P2P连接,直接发生在无线终端302a-b之间,而不要求中间AP 104。然而,也可以在无线终端302a-b之间经由这种中间AP(例如AP 104)来建立确实要求中间AP的P2P连接。
[0074] 图15示出了表示在无线终端302a-b和控制点502之间的用于促进发现无线终端302a-b的P2P能力并在其间建立P2P连接的通信的示例消息流程图。不像图14所示的无线终端302a-b首先经由AP 104来彼此通信的消息交换,在图15所示的示例中,无线终端302a-b首先与控制点502通信,以在WLAN基础结构上发现彼此,并从控制点502接收彼此的P2P能力和配置信息。尽管未示出,无线终端302a-b依然经由AP(例如,AP 104)通信。然而,首先经由控制点502来定向或路由这种通信,如上面结合图6至10所描述的控制点502可以驻留在网络中、AP中或无线终端中,或可以是由分离位置的控制点形成的虚拟控制点。
[0075] 详细地参见图15,在无线终端302a-b与WLAN基础结构相关联之后,它们传输广播P2P发现消息1202,寻求发现网络上的其他支持P2P的设备或服务并与之协商。控制点502接收P2P发现消息1202,使得控制点502可以在其CP管理数据结构504(图6和13)中创建无线终端302a-b的项。然后无线终端302a-b传输相应的P2P能力消息1204和1206,该P2P能力消息1204和1206包括任何QoS和/或服务类别级别要求。在所示示例中,无线终端302a可以用STA1能力XML消息1106的形式来传输其P2P能力消息,且无线终端302b可以用STA2能力XML消息1108的形式来传输其P2P能力消息1206。控制点502可以接收P2P能力消息1204和1206,并针对每个无线终端302a-b,在CP管理数据结构504的相应项中存储该相应的能力。
[0076] 在一些示例实现中,控制点502可以对不同无线终端的P2P能力信息进行高速缓存。这样,无线终端仅需要在与控制点502的第一次连接或关联期间公布其能力一次。当无线终端后续连接到控制点502时,该无线终端仅需要公布相对于其之前公布的P2P能力的任何新的或不同的P2P能力。此外,无线终端可以对其它无线终端的P2P能力进行高速缓存。例如,无线终端302b可以对无线终端302a的P2P能力进行高速缓存,以供在与无线终端302a的后续连接期间使用。这样,控制点502将仅需要向之前还没有尝试与无线终端302a建立P2P连接的无线终端转发无线终端302a的P2P能力。此外,在无线终端302a具有附加或不同的P2P能力的任何时间,控制点502都可以将这种改变传输给无线终端302b。
[0077] 在图15的消息流中,控制点502向无线终端302a-b和与控制点502通信的任何其他无线终端广播站能力公告(station capabilities advertisement)1208。可以使用包括连接到控制点502的所有无线终端的P2P能力和配置在内的、并可用于经由P2P连接传输的XML消息1210来实现站能力公告1208。在图15所示的示例中,当无线终端302a选择与无线终端302b建立P2P连接时,无线终端302a将具有其选择的服务类型的连接请求消息1212传输给无线终端302b,且无线终端302b用对所选服务类型进行肯定应答并同意连接的连接响应消息1214加以响应。在其他实例实现中,可以在无线终端302a-b之间直接传输连接请求消息
1212和连接响应消息1214,而不使用控制点502作为针对这些消息的中间服务。
[0078] 在一些示例实现中,为了减少传输信息的量,控制点502可以被配置为将经由站能力公告1208来公布P2P能力加以推迟,直到在2个或更多无线终端之间存在指示了建立P2P连接兴趣的某种通信。从而,在表现出这种兴趣(例如,经由连接请求消息)的无线终端建立P2P连接之前,控制点502可以传输包括占位符或间接引用在内的通知,该间接引用是例如表示具有一些P2P能力的网络环境中的不同无线终端的URI。在一些示例实现中,当诸如无线终端302a-b之类的无线终端表现出建立P2P连接的某种兴趣时,无线终端302a-b可以彼此交换它们的P2P能力,而对于该交换绕过控制点502。该类型的能力交换的优点在于:尽管控制点502使得无线终端302a-b能够通过包括间接引用(例如,URI)在内的通知来发现彼此,但是不需要将控制点502的进一步资源花费在无线终端302a-b之间的P2P能力和连接的协商上。
[0079] 返回图15所示示例,在无线终端302a-b同意用于建立P2P连接的P2P服务类型之后,无线终端302a-b彼此直接开始关联和无线提供服务(WPS)协商通信1216,而不经由控制点502进行通信。这样,无线终端302a-b可以彼此关联并提供P2P连接。然后无线终端302a-b可以经由P2P通信1218彼此通信。
[0080] 图16示出了表示由控制点502协助的P2P能力动态更新过程的示例消息流程图。如图所示,无线终端302a-b具有作为之前的P2P能力交换结果(例如,图15的消息交换)的正在进行中的P2P通信1302。在正在进行中的P2P通信1302期间,无线终端302a经历了状态或环境改变1304。在所示示例中,无线终端302a检测到日历事件(例如,会议时间)和作为结果的将无线终端302a置于静音模式。响应于检测到状态或环境的改变,无线终端302a向控制点502传输能力改变通知1306。控制点502进而存储更新后的能力,并将该能力通过代理能力交换更新1308传输至WLAN基础结构中的其他设备或单元(例如,无线终端302b)。响应于此,诸如无线终端302b之类的其他设备或单元向控制点502重新传输它们的能力信息1310。
[0081] 然后控制点502处理并仲裁已交换的修改后/代理过的能力1312。即,控制点502可以管理无线终端302a-b已公告的能力。例如,控制点502可以强制执行在无线终端302a-b之间的策略(即,对P2P连接进行管理)。这种策略强制执行可以包括项无线终端302a-b重新提供和/或重新提交请求,以使用恰当的修改后的能力来重新建立或修改P2P连接。在一些示例实现中,策略可以用于限制提供给其他无线终端的能力的类型和/或宽度(以例如确保其他无线终端不能调用与主叫(originating)无线终端的服务(例如,语音呼叫))。
[0082] 一旦已重新建立了能力,则控制点502代表无线终端302a发送针对相应P2P通信的一系列的一个或多个连接请求。在所示示例中,控制点502向无线终端302b发送修改连接请求消息1314,以更新在无线终端302a-b之间正在进行中的P2P连接。进而,无线终端302b向控制点502传输连接响应消息1316。请求1314和响应1316协商要用于可用P2P通信路径的能力。这样,无线终端302a-b可以使用修改的P2P通信1318,继续经由P2P连接进行通信。在所示示例中,在无线终端302a-b之间的正在进行的P2P通信1302能够携带VoIP通信。然而,无线终端302a的状态改变引起无线终端302a在其用户进行会议时不再支持VoIP通信。从而,修改后的P2P通信1318在无线终端302a的用户进行会议时仅支持即时通讯(IM)通信。
[0083] 图16所示的更新还可以由对WLAN环境的状态或环境改变来触发,而不需要无线终端的用户的任何直接交互或参与。例如,这种WLAN环境改变可以包括被重新配置或停止服务的AP、用WLAN来提供的新服务(例如,语音或流传输媒体服务)、由于预防性的维护而关闭的WLAN服务、或由于粉不足、缺少纸张之类的因素而不再能够接入的WLAN打印设备或服务。
[0084] 现在参见图17A至17C,提供了在布置无线终端(例如,无线终端302a-b)之间传输的P2P能力和配置信息中使用的示例XML模式1400。模式(schemata)1400可以由标准组织、无线服务提供商、运营商、网络运营商、设备制造商等等来定义。有时,模式1400的结构可以改变,以使得附加的P2P能力成为可能。
[0085] 在图18A和18B中示出了示例的基于XML的P2P能力消息1500。基于XML的P2P能力消息1500是根据定义的XML模式1400所实现的。备选地,基于XML的P2P能力消息1500可以基于XML文档类型定义(DTD),或基于XML模式和资源描述框架(RDF)XML构造的组合。基于XML的P2P能力消息1500指示了经由AP(例如,AP 104)能够接入的P2P能力和服务。例如,AP 104可以与一个或多个P2P服务通信,包括VoIP服务、打印服务、流传输媒体服务、紧急呼叫服务等等,这些服务可以经由P2P连接与无线终端(例如,无线终端302a-b)通信。在一些示例实现中,基于XML的P2P能力消息1500中的信息可以从中央组件、中继、或基础结构(例如,企业服务器(BES)组件)提供。这种中央配置组件可以使用例如某种更高层的协议(比如OMA DM),通过配置信道来控制P2P连接,或者其可以通过某种类型的专有(非标准)网络提供系统来建立。备选地,还可以基于对经由AP 104能够接入的P2P能力或服务的动态检测(例如,不使用公开的提供),来填充(populate)和更新基于XML的P2P能力消息
1500
[0086] 在图18A和18B所示的示例中,基于XML的P2P能力消息1500指示了:经由AP 104能够接入的P2P WLAN基础结构支持具有前缀“AH-Link1”、“AH_Link2”的2个自组织网络链路(第二链路具有指定的链路类型,即“WiFi P2P”)。基于XML的P2P能力消息1500还指示了:WLAN被配置为使用DHCP的基于IPV4的网络,且WLAN基于表示为IP地址和子网掩码的IP子网(例如,子网192.168.15.0,掩码255.255.255.0(192.168.15.0/24))。将预先提供的服务示出为包括SkypeTMVoIP服务(该SkypeTMVoIP服务具有被定义为“WiFi:Voice”的服务类别)、紧急服务接入平台以及时钟服务。在所示示例中,WiFi和时钟服务都能够利用基于简单服务发现协议(SSDP)的IPv4组播,而紧急服务接入平台可以使用某种其他的发现方案(尚没有定义或尚没有确定)。此外,指定了包括UPnP在内的备选发现协议,且针对SkypeTM VoIP服务和在其标识符中包含单词“Print”的任何服务(例如,被识别为“PrintingService”的打印服务),提供了映射。在所示示例中,Bonjour发现协议是另一个备选。可以将Bonjour服务应用到静态定义的时钟服务或在其标识符中具有单词“Time”的任何服务(例如,被识别为“NetworkTime”的时间同步服务)。
[0087] 现在参见图19,以框图形式示出了图3至11和14至16的无线终端302a的示例。被配置为实现本文所述的示例技术的无线终端302b和任何其他支持P2P的设备可以用相似方式来实现。在所示示例中,无线终端302a包括可以用于控制无线终端302a的整体操作的处理器1602。可以使用控制器、通用处理器、数字信号处理器、专用硬件、或它们的任何组合来实现处理器1602。
[0088] 无线终端302a还包括终端消息产生器1604和终端数据解析器1606。终端消息产生器1604可以用于产生包括图2的P2P建立信息204在内的消息。终端数据解析器1606可以用于从存储器中检索信息(例如,RAM 1612)。例如,终端数据解析器1606可以检索上面结合终端能力数据结构306所讨论的P2P能力参数和配置信息。例如,当无线终端302a接收P2P能力消息时(例如,STA2能力XML消息1108),可以在无线终端302a的存储器中存储该能力和配置信息,并由终端数据解析器1606从存储器中检索该能力和配置信息。
[0089] 无线终端302a还包括能力选择器1608,用于选择模式、协议、服务或在与另一支持P2P的无线终端或服务协商并建立P2P连接中使用的其他P2P建立信息。能力选择器1608可以被配置为基于不同的因素或标准(例如,用户首选项、无线终端资源、WLAN基础结构资源、无线服务提供商限制、P2P应用要求(例如,媒体流传输、文件传输、PIM同步等等)等等)来选择通信模式或参数。
[0090] 尽管在图19中将终端消息产生器1604、终端数据解析器1606、以及能力选择器1608示出为与处理器1602相分离并连接到处理器1602,在一些示例实现中,终端消息产生器1604、终端数据解析器1606、以及能力选择器1608可以在处理器1602中和/或在无线通信子系统(例如,无线通信子系统1620)中实现。可以使用硬件、固件和/或软件的任何期望组合来实现终端消息产生器1604、终端数据解析器1606、以及能力选择器1608。例如,可以使用一个或多个集成电路、分立半导体组件、和/或无源电子组件。从而例如可以使用一个或多个电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程逻辑器件(FPLD)等等来实现终端消息产生器1604、终端数据解析器1606和能力选择器1608或他们的一部分。可以使用在机器可访问介质上存储的并可由例如处理器(例如,示例处理器
1602)执行的指令、代码和/或其他软件和/或固件等来实现终端消息产生器1604、终端数据解析器1606、以及能力选择器1608、或他们的一部分。当阅读任何所附权利要求以涵盖纯软件实现时,据此将终端消息产生器1604、终端数据解析器1606或能力选择器1608中至少一项明确定义为包括诸如固态存储器、磁存储器、DVD、CD等之类的有形介质。
[0091] 图19所示的示例无线终端302a还包括闪存1610、随机存取存储器(RAM)1612、以及与处理器1602可通信耦合的可扩展存储器接口1614。闪存1610可以用于例如存储计算机可读指令和/或数据。在一些示例实现中,当使用无线终端302a来实现时,闪存1610可以用于存储上面结合图3、6、12、13至15、17A至17C、18A和18B所讨论的与无线终端302a和/或控制点502相关联的一个或多个数据结构。RAM 1612也可以用于例如存储数据和/或指令。此外,用于实现控制点502的指令可以存储在闪存1610和/或RAM 1612中。在一些示例实现中,用于控制点502的指令可以存储在可扩展存储器中,且可经由可扩展存储器接口1614来间接寻址。在任何情况下,将由执行指令的处理器1602来整体或部分执行形成了控制点502的操作的功能。
[0092] 无线终端302a具有用于接收来自无线服务提供商的SIM卡的安全硬件接口1616。SIM可以用于提供由服务提供商所允许的P2P能力,该服务提供商允许的P2P能力供无线终端302a用来与其他支持P2P的设备或服务建立P2P连接。无线终端302a还具有外部数据I/O接口1618。用户可以使用外部数据I/O接口1618来通过有线介质向无线终端302a传输信息并从无线终端302a传输信息。
[0093] 无线终端302a具有无线通信子系统1620,用于使得能够与WLAN AP(AP 104)和其他无线终端(例如,无线终端302b)进行无线通信。尽管未示出,无线终端302a还可以具有远距通信子系统以从蜂窝无线网络接收消息并向蜂窝无线网络发送消息。在本文所述示例中,无线通信子系统1620可以被根据 802.11标准来配置。在其他示例实现中,可以使用 无线设备、 设备、无线USB设备、或超宽带(UWB)无线设备(例如,WiMax)来实现无线通信子系统1620。
[0094] 为了使得用户能够使用无线终端302a并与其交互或经由其交互,无线终端302a具有扬声器1622、麦克1624、显示器1626以及用户输入接口1628。显示器1626可以是LCD显示器、电子纸张显示器等等。用户输入接口1628可以是字母数字键盘和/或电话类型键区、具有动态按钮按压能力的多向致动器或滚轮、触摸板等等。如上所述,还可以结合不具有用户接口的无线终端来有利地使用本文所述的示例方法和装置,且因此可以可选地省略不具有扬声器1622、麦克风1624、显示器1626、用户输入接口1628、和/或他们的任意组合。在所示示例中,无线终端302a是电池供电的设备,且因此具有电池1630和电池接口1632。
[0095] 现在参见图20,以框图形式示出了控制点502的示例。如图所示,控制点502包括通信接口1702、数据存储接口1704、控制点消息产生器1706、控制点数据解析器1708、以及能力识别器1710。可以使用硬件、固件和/或软件的任意期望组合来实现通信接口1702、数据存储接口1704、控制点消息产生器1706、控制点数据解析器1708和能力识别器1710。例如,可以使用一个或多个集成电路、分立半导体组件、和/或无源电子组件。从而例如可以使用一个或多个电路、可编程处理器、专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程逻辑器件(FPLD)等等来实现通信接口1702、数据存储接口1704、控制点消息产生器1706、控制点数据解析器1708和能力识别器1710、或他们的一部分。可以使用在机器可访问介质上存储的并可由例如处理器(例如,图19的示例处理器1602)执行的指令、代码和/或其他软件和/或固件等来实现通信接口1702、数据存储接口1704、控制点消息产生器1706、控制点数据解析器1708和能力识别器1710、或他们的一部分。当阅读任何所附权利要求以涵盖纯软件实现时,据此将通信接口1702、数据存储接口1704、控制点消息产生器1706、控制点数据解析器1708或能力识别器1710中至少一项明确定义为包括诸如固态存储器、磁存储器、DVD、CD等之类的有形介质。
[0096] 详细参见图20,为了与支持P2P的设备或服务(例如,无线终端302a-b)交换通信,控制点502具有通信接口1702。为了向存储器存储并从存储器中检索P2P能力和配置信息和P2P连接状态信息,控制点502具有数据存储接口1704。例如,数据存储接口1704可以使得控制点502能够访问图6和13的控制点管理数据接口504。为了产生消息,控制点502具有控制点消息产生器1706。为了检索从支持P2P的设备或服务经由能力消息接收到的P2P能力和其他信息,控制点502具有控制点数据解析器1708。为了识别与不同的支持P2P的设备和服务相关联的并经由能力消息接收到的不同的P2P能力,控制点502具有能力识别器1710。
[0097] 图21A、21B、22和23示出了表示示例过程的示例流程图,这些示例过程可以使用计算机可读指令来实现,计算机可读指令可以用于在支持P2P的设备和/或服务之间交换P2P能力和配置信息并建立P2P连接。可以使用处理器、控制器和/或任何其他合适的处理设备来执行图21A、21B、22和23的示例操作。例如,可以使用在有形介质上存储的编码指令来实现图21A、21B、22和23的示例操作,比如:与处理器(例如,图19的处理器1602)相关联的闪存、只读存储器(ROM)和/或随机存取存储器(RAM)。备选地,可以使用专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程逻辑器件(FPLD)、分立逻辑、硬件、固件等的任意组合来实现图21A、21B、22和23的一些或全部示例操作。此外,还可以手动实现图21A、21B、22和23的一些或全部示例操作,或将图21A、21B、22和23的一些或全部示例操作实现为前述任意技术的任意组合,例如,固件、软件、分立逻辑和/或硬件的任意组合。此外,尽管参照了图21A、21B、22和23来描述了图21A、21B、22和23的示例操作,可以采用实现了图21A、21B、22和23的其他方法。例如,可以改变步骤的执行顺序,和/或可以改变、消除、细分或组合所描述的一些步骤。此外,可以由例如分离的处理线程、处理器、设备、分立逻辑、电路等顺序和/或并行地执行图21A、21B、22和23的任意或全部示例操作。
[0098] 图21A和21B的示例流程图包括STA1过程1802和STA2过程1804,它们合作交互,以促进在无线终端302a和302b之间的通信。在所示示例中,使用无线终端302a来实现STA1过程1802,且使用无线终端302b来实现STA2过程1804。结合图14的示例消息流程来描述图21A和21B的流程图,且图21A和21B的流程图可以在不使用控制点502的情况下执行。
[0099] 详细参见图21A和21B,首先无线终端302b广播图14的P2P发现消息(步骤1806)(图21A),以发现与无线终端302b一样的和相同WLAN基础结构通信的其他支持P2P的没备。在所示示例中,无线终端302b经由AP 104接收P2P发现消息(步骤1808)。终端消息产生器1604产生具有图14的STA1 P2P能力消息1106的形式的P2P能力消息(步骤1810),且无线终端302a将STA1 P2P能力消息1106传输至无线终端302b(步骤1812)。接收到无线终端302b广播的P2P发现消息1102的、且不支持P2P通信的任何无线终端忽略接收到的广播消息,且因此过程将在没有任何进一步操作的情况下结束。
[0100] 无线终端302b经由AP 104接收STA1 P2P能力消息1106(步骤1818)。无线终端302b的终端数据解析器(例如,类似于图19的终端数据解析器1606)识别在STA1 P2P能力消息1106中指示的P2P能力,且无线终端302b确定其是否支持任何公共的或兼容的P2P能力(步骤1820)。如果无线终端302b不支持任何兼容的P2P能力(步骤1820),则无线终端302b可以继续搜索其他兼容的P2P设备或服务(步骤1822),在该情况下,控制返回步骤1818以从另一设备或服务接收另一P2P能力消息。备选地,如果无线终端302b不支持任何兼容的P2P能力(步骤1820),且如果无线终端302b不打算接收其他P2P能力消息,则过程可以在没有进一步操作的情况下结束。这种过程终止可以是基于以下方面而做出的选择:例如,用户首选项、或用户提供的对指示无线终端302a没有与无线终端302b的P2P能力相匹配的P2P能力的消息的响应。
[0101] 如果无线终端302b确实支持一个或多个公共或兼容P2P能力,则无线终端302b的终端消息产生器产生了具有图14的STA2 P2P能力XML消息1108的形式的能力响应消息(步骤1824)。然后无线终端302b向无线终端302a传输STA2 P2P能力XML消息1108(步骤1826)。
[0102] 无线终端302a经由AP 104接收STA2 P2P能力XML消息1108(步骤1828)。然后能力选择器1608选择P2P连接参数(例如,P2P模式和配置)(步骤1830),以向无线终端302b提议在无线终端302a-b之间建立P2P连接。这种P2P能力的选择可以基于一个或多个标准或因素,包括例如:无线终端资源、WLAN基础结构资源、无线服务提供商限制、P2P应用要求(例如,媒体流传输、文件传输、PIM同步等等)、用户首选项等等。图19的终端消息产生器1604产生具有所选P2P参数的图14的连接请求消息1110(步骤1832),且无线终端302a将连接请求消息1110传输至无线终端302b(步骤1834)。
[0103] 无线终端302b经由AP 104接收到连接请求消息1110(步骤1836),并产生图14的连接响应消息1112(步骤1838)。例如,如果包括最小QoS和/或服务类别级别在内的P2P能力和配置信息对于无线终端302b可接受,则无线终端302b可以同意基于所提议的P2P能力和配置信息,与无线终端302a建立P2P连接。然后无线终端302b将连接响应消息1112传输给无线终端302a(步骤1840)(图21B)。
[0104] 无线终端302a经由AP 104接收到连接响应消息1112(步骤1842),并针对与无线终端302b(即,STA2)的直接P2P通信来配置简档(步骤1844)。例如,无线终端302a可以使用无线终端302b的IP地址和/或所同意的P2P通信模式所要求的任何其他信息,来提供P2P连接。然后无线终端302a将所提议的P2P关联和提供消息传输给无线终端302b(步骤1846)。
[0105] 无线终端302b从无线终端302a(即STA1)接收到提议的P2P关联和提供消息(步骤1848),并针对与无线终端302a的直接P2P通信来配置简档(步骤1850)。这样,无线终端
302a-b建立了P2P连接(例如,图3的P2P连接304或图4的406)。尽管在步骤1846和1848中示出了单一P2P关联和提供交换,这种关联和提供可以要求多于一个消息交换来建立P2P连接。在建立了P2P连接之后,或如果无线终端302b确定其不应当继续搜索任何其他支持P2P的设备(步骤1822(图21A)),则图21A和21B的示例过程结束。
[0106] 图22示出了表示示例过程的流程图,可以使用计算机可读指令来实现该示例过程,以使用控制点502来发现P2P能力,并在无线终端(例如,无线终端302a-b)之间建立P2P连接。在所示示例中,使用无线终端302a来实现STA过程1902,且使用控制点502来实现CP过程1904。结合图15的示例消息流程来描述图22的流程图。
[0107] 详细参见图22,首先,无线终端302a和控制点502交换图15的广播P2P发现消息1202(步骤1906和1908),以允许无线终端302a发现与无线终端302a一样和相同WLAN基础结构通信的任何其他支持P2P的设备。终端消息产生器1604产生具有图15的STA1 P2P能力消息1106的形式的P2P能力消息(步骤1910),且无线终端302a将STA1 P2P能力消息1106传输至控制点502(步骤1912)。
[0108] 控制点502接收STA1 P2P能力消息1106(步骤1914),且数据存储接口1704(图20)在数据结构(例如,图6和13的CP管理数据结构504)中存储无线终端302a的P2P能力(步骤1916)。然后控制点502广播P2P能力公告1208(图15)(步骤1918),该P2P能力公告1208指示了与控制点502通信的所有可用无线终端和支持P2P的服务的P2P能力。例如,数据存储接口
1704可以从CP管理数据结构504中检索P2P能力和对应的无线终端标识符,且控制点消息产生器1706可以产生P2P能力公告1208。
[0109] 无线终端302a从控制点502接收到P2P能力公告1208(步骤1920)。然后能力选择器1608(图19)基于公告1208来选择要连接的站、无线终端或服务(步骤1922)。在所示示例中,无线终端302a选择与无线终端302b连接。此外,能力选择器1608选择用于向无线终端302b提议的P2P连接参数(例如,P2P模式和配置)(步骤1924),该P2P连接参数用于建立在无线终端302a-b之间的P2P连接。这种P2P能力选择可以基于一个或多个标准或因素,包括例如:无线终端资源、WLAN基础结构资源、无线服务提供商限制、P2P应用要求(例如,媒体流传输、文件传输、PIM同步等等)、用户首选项等等。终端消息产生器1604(图19)产生具有所选P2P参数的图15的连接请求消息1212(步骤1926),且无线终端302a将连接请求消息1212传输给控制点502(步骤1928)。
[0110] 控制点502接收连接请求消息1212(步骤1930)并将连接请求消息代理给所指示的站(步骤1932)。在所示示例中,指示的站是无线终端302b。然后控制点502从无线终端302b接收连接响应消息1214(图15)(步骤1934),并将连接响应消息1214代理给无线终端302a(即,STA1)(步骤1936)。
[0111] 无线终端302a接收连接响应消息1214(步骤1938)。无线终端302a在不使用控制点502的情况下直接与无线终端302b协商关联和提供(步骤1940),并建立与无线终端302b的P2P连接(步骤1942)。然后图22的示例过程结束。
[0112] 图23示出了表示示例过程的流程图,可以使用计算机可读指令来实现该示例过程,以使用控制点502来动态更新无线终端的P2P能力,并更新在这些无线终端之间建立的P2P连接。在所示示例中,使用无线终端302a来实现STA1过程2002,且使用控制点502来实现CP过程2004。结合图16的示例消息流程来描述图23的流程图。首先,无线终端302a检测影响无线终端302a的P2P服务类型和/或P2P能力的对应构成的状态改变(步骤2006)。终端消息产生器1604产生具有图16的能力改变通知的形式的修改P2P能力消息(步骤2008),且无线终端302a将能力改变通知1306传输给控制点502(步骤2010)。
[0113] 控制点502接收能力改变通知1306(步骤2012),并在图6和13的CP管理数据结构504中存储无线终端302a(即,STA1)的修改的P2P能力(直接的或经由URI间接的)(步骤
2014)。然后控制点502将修改的P2P能力代理给无线终端302b(即,STA2)(步骤2016),并从无线终端302b接收P2P能力消息(步骤2018)。控制点502通过例如确保无线终端302a-b依然具有公共或兼容的P2P能力且通过基于改变的P2P能力来形成修改的连接请求消息1314(图
16)来仲裁P2P能力改变(步骤2020),以修改在无线终端302a-b之间的P2P连接。然后控制点
502代表无线终端302a将修改的连接请求消息1314传输给无线终端302b(步骤2022),并从无线终端302b接收连接响应消息1316(图16)(步骤2024)。如果无线终端302b同意修改的P2P连接,则控制点502修改在无线终端302a-b之间的P2P连接。然后图23的过程结束。
[0114] 尽管本文已描述了特定方法、装置和制造商品,本专利的覆盖范围不受限于此。相反地,本专利涵盖在字面或在等价原则下落入了所附权利要求的范围中的所有方法、装置和制造商品。
QQ群二维码
意见反馈