书签 分享 收藏 举报 版权申诉 / 34

对等发现.pdf

  • 上传人:00****42
  • 文档编号:36117
  • 上传时间:2018-01-17
  • 格式:PDF
  • 页数:34
  • 大小:687.28KB
  • 摘要
    申请专利号:

    CN201380011930.0

    申请日:

    2013.03.01

    公开号:

    CN104137439A

    公开日:

    2014.11.05

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||专利申请权的转移IPC(主分类):H04B 7/24变更事项:申请人变更前权利人:微软公司变更后权利人:微软技术许可有限责任公司变更事项:地址变更前权利人:美国华盛顿州变更后权利人:美国华盛顿州登记生效日:20150703|||实质审查的生效IPC(主分类):H04B 7/24申请日:20130301|||公开

    IPC分类号:

    H04B7/24

    主分类号:

    H04B7/24

    申请人:

    微软公司

    发明人:

    M.S.埃尔哈达; M.K.德赛; H.M.A.费尔盖拉斯; A.A.哈桑; T.罗伊乔扈里; M.桑卡拉纳拉彦

    地址:

    美国华盛顿州

    优先权:

    2012.03.01 US 13/410098

    专利代理机构:

    中国专利代理(香港)有限公司 72001

    代理人:

    李舒;汪扬

    PDF完整版下载: PDF下载
    内容摘要

    发现其它无线设备以用于形成对等连接的无线设备可以执行在持续时间和功率消耗方面受限的扫描。如果可发现设备存在,则扫描仍然很大可能发现设备。此外,扫描可以依照对等协议的参数被执行,使得扫描可以在无线设备中容易地被实施,在一些实施例中甚至被作为在无线网络接口卡上的固件升级被实施。扫描的参数可以被调整以便提高这样的可能性:如果扫描完成而没有发现设备,则可发现设备不存在。扫描可以被用在发现在其中结束的总体过程中,或者扫描紧接不成功的扫描之后被选择性地重复,而不进入查找阶段。

    权利要求书

    1.   一种在包括多个主动扫描通道和多个社交通道的频谱上操作无线设备以便发现一个或多个其它无线设备的方法,所述方法包括:
    在扫描周期期间:
    选择扩展扫描间隔的时间;
    针对多个间隔中的每一个:
    如果间隔与所选择的时间重合,则在多个主动扫描通道中的每一个中发射探测请求并且侦听探测响应;
    如果间隔不与所选择的时间重合:
    选择针对多个社交通道中的每一个的访问时间,所述访问时间被选择来提供在对社交通道中的每一个的访问之间的预定平均时间;以及
    在针对多个社交通道中的每一个的所选择的访问时间处,在社交通道上发射至少一个消息并且侦听响应。

    2.
       根据权利要求1所述的方法,其中:
    选择扩展扫描间隔的时间包括随机地选择扫描周期的间隔。

    3.
       根据权利要求2所述的方法,其中:
    扫描周期具有在3秒钟与7秒钟之间的持续时间。

    4.
       根据权利要求1所述的方法,其中:
    选择针对多个社交通道中的社交通道的访问时间包括:针对间隔,在紧接在前一个间隔中针对该社交通道的访问时间之后的预定持续时间的范围内随机地选择时间。

    5.
       根据权利要求4所述的方法,其中:
    所述范围是在400毫秒与500毫秒之间。

    6.
       一种无线设备,包括:
    无线电,其被配置成依照对等协议跨越多个通道进行操作,所述多个通道包括第一组和第二组;以及
    至少一个处理器,其被配置成响应于用来发现远程无线设备的命令而在扫描间隔期间执行扫描,所述扫描周期包括多个间隔:
    在多个间隔中的第一间隔中,通过发射消息并且侦听响应来访问第一组通道的每个通道;
    在多个间隔中的除第一间隔以外的每个间隔中,访问第二组的每个通道,每个访问包括发射至少一个消息并且侦听响应,其中对第二组中的通道的访问的至少一部分的时间每一个都是相对于在先前间隔中对通道的访问的时间被随机地选择的。

    7.
       根据权利要求6所述的无线设备,其中:
    所述至少一个处理器被进一步配置成在扫描周期期间控制无线电以便在当无线设备不访问第一多个通道或第二多个通道中的通道时的时间中的至少一部分期间对多个通道中的至少一个通道进行侦听。

    8.
       根据权利要求6所述的无线设备,其中:
    所述至少一个处理器被进一步配置成,响应于完成了扫描周期而没有发现设备,进入查找阶段。

    9.
       根据权利要求6所述的无线设备,其中:
    所述至少一个处理器被进一步配置成,响应于完成了扫描周期而没有发现设备,重复扫描周期而不进入查找阶段。

    10.
       根据权利要求6所述的无线设备,其中:
    所述至少一个处理器被进一步配置成,响应于完成了扫描周期而没有发现设备:
    评估用户输入以便确定用户是否期望可发现设备;以及
    基于用户输入的评估选择性地重复扫描周期,而不进入查找阶段。

    说明书

    对等发现
    背景技术
    计算机联网允许计算机执行需要与其它计算机交互的功能。通过这些交互,计算机能够获得各种类型的信息。网络连接支持诸如发送电子邮件、从因特网下载视听内容或者访问在可由许多合作者访问的服务器上存储的电子文件这样的功能。
    无线网络可以是特别强大的,从而允许网络功能被高度便携的计算机执行。但是,无线网络造成了当计算机通过将电线附连到计算机而被连接到有线网络时不存在的问题。为了将计算机无线连接到网络,计算机必须确定在其附近存在它能够与其一起形成网络或者它能够通过其连接到网络的另一无线设备。
    一些网络在基础设施模式下操作。在基础设施模式下,无线设备充当网络的接入点。已经被配置有关于接入点的信息的无线设备能够连接到该接入点。在被连接后,接入点辨认并且适当地路由由无线设备所发送的分组。如果无线设备尚未被配置用于与接入点通信,则对于无线设备来说可能有必要“发现”该接入点。
    一般而言,无线协议提供“发现”。发现以某种形式牵涉在寻求发现一个或多个其它无线设备的无线设备与被发现的无线设备之间的通信。
    基础设施模式协议能够在接入点将被具体地配置用于它作为接入点的角色的假设的情况下被设计。因此,接入点在实施允许发现的通信时可以是更加主动的。依照一些协议,接入点可以在由接入点所使用的一个或多个通道上周期性地发射信标。寻求发现网络接入点的设备能够执行“扫描”。扫描可以是被动的,因为寻求发现接入点的设备不发射。相反地,它对信标能够在其上被发射的通道中的每一个接连地进行“侦听”来试图接收信标。
    被动扫描可以牵涉正在寻求发现接入点的无线设备对每个通道进行侦听持续一个间隔,所述间隔足够长以致如果接入点正在那个通道上发射信标,则信标将被检测到。例如,如果协议规定接入点将每100 毫秒发射一个信标,则执行被动扫描的无线设备可以对能够被接入点使用的每个通道侦听持续至少100 毫秒。
    一些协议同样支持主动扫描。在主动扫描中,寻求接入点的设备可以在可以被接入点使用的通道上发射消息,有时被称作“探测请求”。如果接入点正在使用探测请求在其上被发射的通道,则接入点将对探测请求做出响应。主动地扫描接入点的设备可以更迅速地确定接入点是否正在使用特定通道。例如,一些协议可以规定如果在探测请求在其上被发射的通道上存在接入点,则发射探测请求的设备应该在20 毫秒内接收到对探测的响应。因此,设备仅需要在断定在通道上不存在接入点之前对通道侦听持续20毫秒。然而,主动扫描需要在设备将在其上被发现的任何通道上的发射,并且通过调节,用于扫描的发射可以在一些通道上被禁止。
    在自组织(ad hoc)模式下操作的网络类似地采用牵涉发射和侦听的发现。然而,在自组织模式下,可以不存在固定接入点。替代地,已发现彼此的设备可以配对,并且作为形成自组织连接的一部分确定设备中的一个将在控制连接时扮演与接入点类似的角色。在Wi-Fi Direct协议中,这个设备被称为组所有者(Group Owner)并且被选择为组所有者协商的一部分,所述组所有者协商直到在发现之后才发生。
    在发现阶段期间,每个设备可以执行一连串的动作,所述动作能够既牵涉设备在其间发送消息的间隔,又牵涉设备在其间侦听发送消息的其它设备的间隔。当一个设备正在另一个设备在其上正同时地侦听发现消息的相同通道上发射发现消息时,两个设备发现彼此。
    依照Wi-Fi Direct协议,发现可以包括“扫描”阶段和“查找”阶段。在扫描阶段期间,设备可以执行主动扫描或被动扫描,同样的是,设备将在寻求连接到基础设施网络时执行扫描。但是,因为不保证设备(尽管对于发现是可用的)将在发射发现消息(例如,信标帧)的同时另一设备正在侦听发现消息。因此,扫描(特别是被动扫描)可能未发现可用的设备。
    根据Wi-Fi Direct执行发现的设备可以进入“查找”阶段以便查找在扫描阶段期间未被查找到的设备。在查找阶段期间,设备仅使用被指定为“社交通道”的通道。在查找阶段期间,设备在搜索和侦听操作之间交替。在搜索期间,设备可以在社交通道上发射发现消息并且等待响应,它然后可以移动到下一个社交通道上并且重复该过程。在侦听期间,设备在“社交通道”上侦听发现消息持续一定数量的时间,其随机地选择为在大约100至300 毫秒之间。
    发明内容
    被配置成根据对等通信协议操作的无线设备可以被配置成根据扫描的方法操作,所述扫描大部分时间导致发现任何可发现设备。由无线设备所实施的扫描阶段可以遵照作为对等协议的一部分规定的参数,但是可以并入未被规定的其它参数。作为特定例子,发现可以根据Wi-Fi Direct协议被执行,在所述Wi-Fi Direct协议中对社交通道的访问之间的平均时间被规定,但是那些访问的特定次序和定时(timing)未被规定。改进的扫描可以实现访问之间的规定时间,但是依照用于选择不是Wi-Fi Direct协议所要求的、单独访问的定时的方法。
    在一些实施例中,扫描可以具有一个或多个扫描周期,所述扫描周期中的每一个都被划分成间隔。一个间隔可以被随机地选择用于扩展扫描。在扩展扫描间隔期间,无线设备可以在每个主动扫描通道中发送探测请求并且侦听响应设备。在其它间隔的每一个中,无线设备可以访问每个社交通道以便发射探测请求并且侦听响应。在每个间隔中,对社交通道的访问的时间可以被随机地选择。然而,访问时间可以随机地选自相对于在前一个间隔中的访问的时间所建立的时间范围,以便实现遵照预定值的对每个社交通道的访问之间的平均时间。预定值可以被选择成遵照对等协议。当不在扩展扫描间隔中扫描或者不在社交通道上扫描时,无线设备可以在一个或多个侦听通道中侦听。
    另一可发现设备通过以这种方式所实施的扫描将被发现的概率与扫描周期中的间隔的数目成比例地提高。因此,间隔的数目在不同的实施例中可以是不同的。但是,在每个实施例中,间隔的数目可以被设置以便实现产生可接受性能的成功发现的概率。而且,如果设备作为一个扫描周期的结果未被发现,则可以进入查找阶段以便提高设备如果存在一个的话将被发现的可能性。
    基于使用这样的扫描模式设备如果存在则很大可能被发现的预期,发现的过程可以被变更以便减少在发现上花费的平均时间或在发现期间平均消耗的功率量。在扫描上花费的总时间可能是有限的。例如,扫描可以被限于5秒钟或更少。如果没有设备被发现,则发现可以紧接在扫描之后结束。替换地,附加的扫描周期可以被执行来提高如果可发现设备存在则它将被发现的可能性。在任一种情况下,发现可以被执行而不进入查找阶段。
    上文是本发明的非限制性概要,其被所附权利要求定义。应了解,前面的技术可以被一起、单个地或者以任何适合的组合的方式被使用。
    附图说明
    附图不旨在被按比例绘制。在图中,在各个图中被图示的每个相同的或几乎相同的构件由同样的标号表示。为了清晰起见,并非每个构件都可以被标记在每个图中。在图中:
    图1是在其中无线设备可以发现远程设备的示范性系统的草图;
    图2是可以执行设备发现的无线设备的架构框图;
    图3A和3B是图示了与对等协议一致的发现的扫描阶段的方面的时间线;
    图4是图3A和3B中所图示的扫描阶段的另外的方面的定时图;
    图5A和5B当在标记A-A和B-B的点处被连接在一起时是作为与对等协议兼容的设备发现的一部分操作设备以便扫描远程设备的示范性方法的流程图;
    图6是依照对等协议操作被配置为组所有者的无线设备的示范性方法的流程图;
    图7A、7B以及7C是由无线设备显示来便利无线设备的用户控制设备发现的图形用户界面的概念草图;
    图8是由无线设备呈现来便利无线设备的用户设置参数以便实现对等设备发现的扫描阶段的性能保证的图形用户界面的草图;以及
    图9是本发明的一些实施例可以在其中被实践的说明性计算设备的草图。
    具体实施方式
    发明人已认识和了解到,如果无线设备能够在大多数情况下更快地发现要与其连接的其它设备 - 即使非常小比例的时间可发现设备通过扫描阶段在单次扫描中未被发现,则无线设备的操作对于那些无线设备的用户而言将是更满意的。而且,发明人已认识和了解到,用于无线通信的标准协议(诸如Wi-Fi Direct协议)虽然规定了一些发现参数,但是未定义实现在大多数情况下提供快速发现的目标的设备发现过程。然而,依照作为对等协议的一部分被规定的参数而执行的快速扫描阶段可以便利于将改进的扫描并入到以其它方式被配置用于对等通信的设备。
    例如,Wi-Fi Direct协议提供设备可以使用其来便利于发现的“社交通道”,并且规定发现阶段的参数,诸如对社交通道的访问之间的平均时间和在社交通道中的停留时间。根据协议,扫描阶段中的设备将平均以预定速率(诸如每500ms一次)访问每个社交通道。然而,协议没有规定这些访问将如何被以确保两个设备(每个都寻求连接到另一设备)将以特定概率发现彼此的方式调度。
    而且,发明人已认识和了解到,虽然作为执行扫描的结果未发现另一设备的设备进入可以查找阶段,但是在一些实施例中,查找阶段可以被省略。如果扫描阶段能够以适当高的概率导致发现设备(如果存在一个的话),则查找阶段可以被省略以便在没有设备是可用的时提供更快的结果。在其中无线设备已接收到指示用户认为可发现设备是存在的用户输入的场景中,附加的动作可以紧接扫描阶段的完成之后被采取。那些附加的动作可以包括重复扫描阶段或者进入查找阶段。
    然而,允许发现被执行而无需查找阶段可以使得无线设备能够支持更广泛的功能。依照一些对等协议,支持对等连接的设备可以连接到基础设施网络的接入点。然而,当在查找阶段中操作时,无线设备可以使用其无线电来访问用于与接入点通信的通道以外的通道。查找阶段的长度可以超过与同接入点的通信相关联的超时间隔。作为结果,同接入点的通信可以被中断。中断的性质可以取决于延迟的长度。然而,离开由接入点用来执行查找阶段的通道可以导致中断,诸如丢失分组或甚至失去连接。这样的中断例如随着300 毫秒或更长的查找阶段而发生。
    如果已经依照对等协议作为组所有者进行操作的设备被要求离开它的组正在其上操作来执行发现的诸方面的通道,则有关的问题可能发生。为了避免这样的问题,设备可以被配置成以这样的方式操作,所述方式用来在不解散它正在控制的组的情况下改进其可发现性。作为一个例子,在被动扫描通道上作为组所有者进行操作的设备可以被配置成在不解散其组的情况下离开被动扫描通道,以便在主动扫描通道上发射通告它的存在的消息。
    作为特定例子,Wi-Fi Direct协议支持省电(power savings)模式,在所述省电模式下组所有者能够变得暂时不可用。在组所有者是不可用的时,组不解散,因为协议支持用于向其它设备通知组所有者暂时不存在的机制。这些或其它适合的机制可以被用来避免组因为组所有者在一段时间内未响应而被解散。在那个时间段期间,组所有者不必进入低功率状态。相反地,它可以切换至主动扫描通道,在所述主动扫描通道中它能够发射其存在的通告。这些通告可以具有任何适合的格式,并且可以指示组所有者能够在其上被联系到的被动扫描通道。
    类似的技术替换地或附加地可以适用于不是组所有者的无线设备。在那种情况下,在扫描阶段期间,设备可以在不主动地访问通道时在家庭通道(home channel)上侦听探测请求。然而,如果家庭通道是被动扫描通道,则其它设备将不在那些通道上发射探测请求。因此,对家庭通道进行侦听可能不便利于发现。替代地,设备可以在主动扫描通道上发射其存在的指示,所述指示可以包括其家庭通道的指示。
    前面的技术可以被单独或者以任何适合的组合的方式一起用在任何适合的环境中。图1图示了示范性计算环境。在图1的例子中,用户112正在操作计算设备110。计算设备110被装配有无线网络接口卡并且因此能够作为无线设备进行操作。作为操作计算设备110的一部分,用户112可以请求通过与其它设备交互而被执行的操作。那些交互可以通过建立到那些设备的无线连接被执行。
    在图1的例子中,计算设备110被图示为膝上型计算机。但是,应了解,计算设备110的形状因素不是对本发明的限制。被配置为平板、智能电话或者具有任何其它适合的形状因素的计算设备可以根据本发明的实施例被配置和操作。而且,应了解,任何无线设备可以在对等组中扮演任何角色。因此,不要求在组中的设备中的任一个都是计算设备。
    用户112可以使用如本领域中已知的技术与计算设备110交互以便控制计算设备110无线地与其它设备连接。
    图1图示了示范性对等无线连接。计算设备110被示出为具有已经形成的分别到相机130和打印机134的连接132和136。在这种情况下,相机130和打印机134是计算设备110可以与其连接以便交换数据的无线设备的例子。
    相机130、打印机134以及计算设备110可以通过使用对等的无线连接132和136进行通信。在这个例子中,相机130、打印机134以及计算设备110可以根据那个对等协议形成持久性的组。但是,在替代实施例中,计算设备110可以与相机130形成第一组并且与打印机134形成第二组。因此,应了解,组可以由任何适合数目的设备(包括仅两个设备)组成。
    无线连接132和136可以根据任何适合的对等协议被形成。在这个例子中,连接132和136使用称为Wi-Fi Direct的Wi-Fi协议的扩展被形成。
    在形成对等连接之前,设备必须“发现”要参与该连接的其它设备。Wi-Fi Direct和其它对等协议可以支持设备发现。在这个例子中,Wi-Fi Direct协议为寻求发现另一设备的设备可以发射的消息规定了格式。协议还可以为适当的响应规定了消息格式。
    由寻求发现远程设备的设备所发射的消息可以被称为探测请求。响应可以被称为探测响应。不同的协议对于探测请求和探测响应可以具有不同的格式。而且,不同的协议可以使用不同的术语来描述寻求来自可发现设备的响应的消息和这样的响应。因此,用来识别探测请求或探测响应的特定名称和格式对于本发明均不是关键的,并且具有任何适合的格式的消息可以被使用。
    为了使发现为有效的,由设备所使用的消息格式将是兼容的,使得发射探测请求的设备将辨认探测响应。除使用通用格式之外,其它准则也可能需要被满足。例如,设备必须足够接近地操作以便一个设备从另一设备接收无线通信。图1图示了在其中设备(诸如计算设备110、相机130以及打印机134)足够接近地操作以便交换无线通信的场景。
    其它准则同样可以确定设备是否是“可发现的”,使得该设备能够被根据协议执行设备发现的另一设备查找到。作为准则的例子,为了成为可发现的,无线设备可能需要使其无线电接通。替换地或附加地,为了成为可发现的,设备可能需要在一状态下操作,在所述状态下它根据协议的设备发现部分来发送消息或者对消息做出响应。
    然而,应了解,即使设备是“可发现的”,发现消息的发射也将未必导致来自那个设备的应答。每个设备可以每次在有限数目的无线通道上操作。许多无线设备具有单个无线电,从而允许它们每次在一个无线通道上发射或者接收。因此,成功的发现需要寻求发现远程无线设备的设备在通道上在远程设备使其无线电调谐成对相同通道进行侦听的同时进行发射。因此,由正在执行发现或是可发现的无线设备所执行的操作的特定序列可以影响设备发现的成功。像本文中所描述的那样,控制无线设备在特定通道上并且在特定时间发射可以提高成功发现的机会。
    根据被适配成包括如本文中所描述的发现的对等无线协议进行操作的无线设备可以被以任何适合的方式实施。示范性实施例在图2中被提供。图2在高级别下图示了针对可以被操作来形成对等无线连接(诸如连接132和136(图1))的计算设备210的架构。在图2的例子中,计算设备210包括两个无线电,无线电250和无线电254。无线电中的每一个可以被适配成发送和接收无线通信。例如,无线电250例如可以用于蜂窝带中的无线通信。无线电254例如可以被用来根据Wi-Fi协议形成连接,包括对等连接132和136。
    在这个例子中,无线电250具有媒体访问控制(MAC)地址252。MAC地址可以是与无线电250相关联的独特标识符,使得它可以被用来区分无线电250和无线电254并且同样被用来与其它蜂窝设备区分开。因此,MAC地址252可以被包括在由无线电250所发送的分组中以便指示帧是由无线电250所发送的,或者可以被包括在导向无线电250的分组中以便指示帧意在供无线电250使用。
    MAC地址252可以被以任何适合的方式分配给无线电250。它可以例如由无线电250的制造商分配。但是,在一些实施例中,MAC地址252可以由蜂窝载体分配或者从与蜂窝服务相关联的个性模块中读取。
    无线电250可以通过在图2中表示为驱动器240的软件被控制。在这里,驱动器240包括接口242,通过所述接口242操作系统230可以将命令发出给驱动器240,以及通过其,驱动器240可以报告状态并且向操作系统230通知接收到的数据。接口242可以被以任何适合的方式(包括根据已知标准)实施。这样的已知标准的例子被称作NDIS,但是那个标准对于本发明不是关键的。
    接口242可以支持大量不取决于无线电250的构造的格式的命令。相反地,驱动器240可以以接口242的标准化格式将命令转换成被应用于无线电250的特定控制信号。附加地,驱动器240可以被编程为执行与蜂窝通信相关联的特定低级别功能。例如,在接收到分组时,驱动器240可以检查该分组被适当地格式化。如果分组被适当地格式化,则驱动器240可以控制无线电250生成肯定应答。相反地,如果分组未被适当地格式化,则驱动器240可以控制无线电250发射否定应答。
    虽然驱动器240以及在一些实例中无线电250可以自动地执行与建立和维持蜂窝连接相关联的低级别功能,但是较高级别功能可以在操作系统230或应用220的控制下被执行。在一些实施例中,应用220或操作系统230可以提供用户接口,使得蜂窝通信的最终控制由计算设备210的用户来提供。
    在图2中所图示的实施例中,计算设备210同样包括无线电254。尽管无线电250可以被例如用于蜂窝通信,但无线电254可以被用来形成一个或多个对等连接,诸如连接132和136,或者用于与基础设施网络中的接入点的无线通信。
    无线电254一般地以与无线电250相同的架构被并入计算设备210中。无线电254与驱动器244相关联,所述驱动器244为操作系统230提供了控制无线电254的机制。驱动器244具有接口246,通过所述接口246操作系统230可以将命令发送给驱动器244并且驱动器244可以将状态提供给操作系统230。像接口242一样,接口246可以是标准化接口使得操作系统230可以使用与被用来控制驱动器240的类似的一组命令来与驱动器244进行通信。但是,因为无线电254被用来实施对等连接或到接入点的连接,所以驱动器244可以对驱动器外的不同的或附加的命令做出响应。
    作为无线电250和254之间的附加差异,无线电254被图示为具有多个MAC地址。相比之下,无线电250包括单个MAC地址252。在这里,MAC地址256A、256B以及256C被图示。多个MAC地址例如可以由无线电254的制造商分配或者MAC地址可以被以任何适合的方式分配。替换地,MAC地址中的一个或多个可以基于计算设备210的用户的标识符被分配。
    具有多个MAC地址允许无线电254对于在计算设备210外部的设备而言显现为多个实体,每个都具有单独的MAC地址。作为例子,如果计算设备210正在第一对等组中作为组所有者并且在第二对等组中作为客户端单独地进行通信,则单独的实体可以针对组所有者和客户端被建立。在计算设备210外部的设备可以用第一MAC地址对旨在被作为在第一组中的组所有者的计算设备210处理的分组进行寻址。旨在被作为第二组中的客户端处理的分组可以被用第二MAC地址寻址。类似地,计算设备210可以将第一MAC地址插入来自组所有者的分组中;来自客户端的分组可以包括第二MAC地址。
    为了允许操作系统230将它与驱动器244的交互与在计算设备210内部的那些实体中的特定一个相关联,实体中的每一个都可以被表示为端口。因此,操作系统230可以通过与每个这样的实体相关联的端口将命令发送给那个实体或者从那个实体接收状态信息。
    端口中的每一个都可以被配置成执行对于端口表示的实体的类型适当的功能。在计算设备210在其中根据Wi-Fi Direct来操作的实施例中,作为对等组的一部分的设备可以承担组所有者或客户端的角色,所述Wi-Fi Direct在本文中被用作对等协议的例子。组所有者可以依照无线协议被要求发送特定类型的动作帧并且以规定方式对其它类型的动作帧做出响应。被配置为客户端的设备可以发送不同的动作帧和响应,或者可以在不同的上下文中发送相同的动作帧和响应。
    但是,应了解,组所有者和客户端只是无线电254和驱动器244可以被配置来执行的角色的两个例子。作为另一例子,实体可以被配置为既不是组所有者也不是客户端。相反地,实体可以被分配作为控制器的角色,所述控制器管理与其它设备的交互以便形成组并且确定计算设备210在那个组中的角色。
    虽然图2图示了单独的无线电(无线电250和无线电254),但是在其中基础设施连接和对等通信使用相同的频率通道操作的实施例中,单个无线电可以被使用。在这样的实施例中,执行与基础设施通信相关联的角色的实体和执行与对等通信相关联的角色的实体可以用相同的无线电实施。
    在一些实施例中,由无线电254所执行的特定功能和由MAC地址256A...256C组成的特定使用可以通过计算机可执行指令被控制,所述计算机可执行指令可以形成驱动器244的一部分或操作系统230的一部分。在一些实施例中,那些计算机可执行指令可以被存储在无线设备210内的硬盘驱动器或其它形式的计算机存储器上。但是,应了解,针对无线电254的控制功能中的一些或全部可以被作为固件存储在并入了无线电254的网络接口卡上。这样的指令可以控制任何适合的功能,包括是针对对等协议的发现的一部分的操作。
    在一些实施例中,一些功能可以由在操作系统230内的指令和/或在驱动器244内的指令和/或实施在网络接口卡的固件中的指令部分地实施。作为特定例子,作为固件的一部分或驱动器244的一部分的指令可以实施诸如检测探测请求和以探测响应进行响应这样的功能。无线电可以被配置成根据从操作系统230的构件发出的命令来执行那个功能。构件(诸如在操作系统230内的设备管理器)可以通过接口246发出这样的命令。
    计算设备中的无线电和通过程序对那些无线电的控制在本领域中是已知的。因此,无线电254可以使用已知技术被配置成执行任何适合的功能。可以被执行的一个这样的功能是设备发现。在一些实施例中,如本文中所描述的发现操作可以通过控制常规网络接口卡或者作为对网络接口卡的固件更新的软件被执行。以这种方式,这样的操作即使未被作为制造的一部分并入设备中也可以被执行。
    在一些实施例,诸如计算设备210这样的无线设备可以被控制成以与对等协议一致的方式执行设备发现。作为例子,依照Wi-Fi Direct协议的设备发现可以被执行。
    如在本领域中已知的那样,Wi-Fi Direct协议没有规定在发现的特定间隔期间的特定动作。依照如本文中所描述的设备发现的一些实施例,在特定时间间隔中的特定动作可以被规定为设备发现的一部分。无线设备(诸如计算设备210)可以被配置成依照设备发现的这些附加规定的参数进行操作。
    图3A图示了由无线设备依照这样的设备发现过程所执行的动作。在这个例子中,在发现期间采取的特定动作未被规定为Wi-Fi Direct协议的一部分。然而,所提出的在设备发现期间的动作可以与被规定的设备发现的参数一致。作为特定例子,Wi-Fi Direct协议可以规定:在发现的扫描阶段期间,寻求可发现设备的无线设备可以在三个社交通道中的每一个上平均每500毫秒发射一次探测请求。
    图3A图示了针对单个无线设备的在扫描期间的定时序列。在一些实施例中,由图3A、3B和图4所图示的定时序列可以在软件的控制下被执行,所述软件诸如计算设备中的操作系统230。因此,多个计算设备可以被配置成依照所图示的定时序列来执行发现操作。每个都依照所图示的定时序列来执行发现操作的两个设备可能发现彼此。在这个例子中,图3A、3B和图4中所图示的操作如果被在彼此的通信范围内的两个无线设备执行,则将导致一个将发现另一个的高可能性。对于图3A、3B和图4中所提供的特定数值例子,那种高可能性可以大于95%,诸如98%。概率可以基于在一个扫描周期中设备中的一个将对特定通道进行侦听、同时设备中的另一个正在相同的通道上进行发射的时间的百分比被计算。
    在这个例子中,图3A中所图示的扫描阶段包括多个扫描周期。在这个例子中,三个扫描周期C1、C2以及C3被图示。然而,应了解,针对扫描的扫描周期的数目不是对本发明的限制。在一些实施例中,三个以上的扫描周期可以被执行。相反地,在其它实施例中,少于三个的扫描周期可以被执行。
    扫描中的扫描周期的数目可以影响在扫描上花费的最大时间量。由扫描所消耗的功率还可以与所执行的扫描周期的数目成比例地提高。但是,可发现设备在扫描期间将被发现的概率随着扫描周期的数目的增加而增加。在图3A中所图示的例子中(其中执行扫描周期产生设备发现的概率为98%),执行两个扫描周期导致设备发现的概率为99.96%。执行三个扫描周期导致设备发现的概率为99.992%。
    在一些场景中,即使一小比例的时间可发现的无线设备未被发现,无线设备的用户也可以从具有相对短的扫描阶段体验到合意的性能。这样的场景可以例如对连接到对于用户可见的其它无线设备的无线设备存在。在这样的场景中,仅当用户能够看到远程无线设备时用户可以将命令输入给无线设备以便扫描并且最终连接到可用的无线设备。在那种场景中,用户可能期望无线设备迅速地对命令做出响应以便发现并且连接到远程无线设备,以及因此可能从长扫描阶段体验到对无线设备的操作的沮丧或不满意。在其中远程设备虽然可用但是在相对短的扫描阶段期间未被发现的实例中,用户可以输入命令来再次执行扫描。在这样的场景中进行操作的无线设备如果它被配置成执行短的扫描阶段(诸如通过使用仅一个扫描周期),则可以提供更大的用户满意度。
    在其它场景中,如果计算设备未能发现可发现的远程无线设备,则用户可能对计算设备的性能不满意。例如,在用户想要无线设备每当远程无线设备可用时连接到远程无线设备但是用户可能不具有指示这样的远程无线设备是否是可发现的外部信息时可能存在这样的场景。例如,无线计算设备的用户可以在注意到其它无线计算设备的其它用户正通过发现的远程设备来访问服务但是用户的无线计算设备未发现服务并且因此未连接到服务时体验到沮丧。在这样的场景中,无线计算设备可以被配置成执行两个或更多个扫描周期。
    不管所执行的扫描周期的数目,扫描周期中的每一个都可以具有相同的格式。在图3A中所图示的例子中,扫描周期C1、C2以及C3中的每一个都可以具有固定持续时间。在这个例子中,每个扫描周期的持续时间是五秒钟。这个持续时间可以被选择为常规扫描周期的一小部分。作为特定例子,每个扫描周期的持续时间可以被选择成近似为常规扫描周期的持续时间的一半。但是,应了解,扫描周期中的每一个的持续时间对于本发明不是关键的,并且每个扫描周期都可以具有任何适合的持续时间。
    不管持续时间,扫描周期中的每一个都可以被划分成相同数目的间隔。在这个例子中,扫描周期中的每一个都被划分成多个间隔,其中的每一个都具有相同的持续时间。在这个例子中,间隔中的每一个都具有500毫秒的持续时间。因此,图3A示出了扫描周期C2被划分成间隔I2,1、I2,2、I2,3...I2,N
    在这个例子中,诸间隔中的一个被指定为扩展扫描间隔。在图3A中,间隔I2,N被指定为扩展扫描间隔。在所图示的例子中,诸间隔中的被指定为扩展扫描间隔的特定一个可以被随机地选择。相应地,图示后续扫描周期(周期C3)的格式的图3B示出了诸间隔中的被指定为扩展扫描间隔的不同的一个。在图3B的例子中,周期C3被划分成I3,1、I3,2、I3,3...I3,N。间隔I3,2已被指定为扩展扫描间隔。但是,应了解,因为被指定为扩展扫描间隔的间隔被随机地选择,所以在任何扫描周期中,诸间隔中的任一个都可以被指定为扩展扫描间隔。
    在扫描周期的诸间隔中的每一个中,执行设备发现的无线设备可以扫描多个通道。被扫描的特定通道可以取决于间隔的指定。在一些协议中,用于无线通信的频谱可以被划分成不同类型的多个通道。第一类型的通道可以被一般地用于形成设备之间的连接。第二类型的通道可以被称为社交通道。社交通道可以被指定为要被优先地使用于寻求发现彼此的设备的通道。依照一些协议,被指定为社交通道的通道可能不被使用于形成设备之间的连接。
    依照图3A和3B中所图示的扫描阶段的实施方案,在扩展扫描间隔期间进行的扫描可能需要(entail)访问第一类型通道中的一个或多个。在这个上下文中,访问通道可能需要在那个通道中发射发现消息以及等待确定远程设备是否对发现消息做出响应。
    在扩展扫描间隔期间访问的第一类型的通道的数目对于本发明不是关键的,并且可以取决于针对在使用中的特定对等协议所定义的通道的数目。在一些实施例中,扩展扫描间隔可以包括访问第一类型的每个通道。但是,在一些协议中,一些通道可以被指定为主动扫描通道并且其它通道可以被指定为被动扫描通道。根据那个协议操作的设备可以在被指定为主动扫描通道的通道中发射探测请求。然而,协议可以禁止在被指定为被动扫描通道的通道中发射探测请求消息。对于依照将通道指定为主动扫描通道和被动扫描通道的协议的发现,在扩展扫描间隔期间进行的扫描可能需要仅访问主动扫描通道。
    在扩展扫描间隔期间访问的主动扫描通道的数目对于本发明不是关键的。但是,在一些实施例中,每个主动扫描通道可以在扩展扫描间隔期间至少被访问一次。在一些实施例中,每个主动扫描通道可以在扩展间隔期间被访问一次以上。然而,每个主动扫描通道在扩展扫描间隔期间被访问的次数对于本发明同样不是关键的。
    对通道的“访问”的持续时间对于本发明不是关键的并且可以取决于正被使用的对等协议。例如,协议可以规定对探测请求消息的最大响应时间。这个时间可以指示对通道的访问的持续时间。例如,Wi-Fi Direct协议可以规定接收到探测请求的设备将在这样的时间内响应,所述时间允许发送探测请求的设备在20毫秒内接收到响应。在这样的场景中,访问的持续时间可以是20毫秒。但是,应认识到,访问的任何适合的持续时间可以被应用。
    在扩展扫描间隔内对通道的访问的定时同样对于本发明不是关键的。在一些实施例中,通道可以在扩展扫描间隔内的随机时间以随机次序被访问。但是,在其它实施例中,通道可以被以预定次序访问,所述预定次序在每个扩展扫描间隔中是相同的。访问可以是顺序的或者被任何适合的时间量分隔。
    在未被指定为扩展扫描间隔的每个间隔期间,依照图3A和3B的时间线执行扫描的设备可以访问第二类型的通道。在一些实施例中,在周期的除扩展扫描间隔以外的间隔中的每一个期间,设备可以访问每个社交通道。对社交通道的访问可以在任何适合的定时的情况下以任何适合的次序发生。同样,对每个社交通道的任何适合数目的访问可以在每个间隔期间发生。然而,图4图示了依照一些实施例的访问的模式的例子。
    图4图示了两个连续间隔,间隔I2和I3。在图4的例子中,协议规定了被指定为CH1、CH6以及CH11的三个社交通道。但是,应了解,任何适合数目的社交通道可以依照协议被指定。
    在这个例子中,间隔中的每一个都包括对社交通道中的每一个的访问。访问V2,1图示了在间隔I2期间对社交通道CH1的访问。类似地,访问V2,6和V2,11分别表示在间隔I2期间对社交通道CH6和CH11的访问。访问V3,1、V3,6以及V3,11分别表示在间隔I3期间对社交通道CH1、CH6以及CH11的访问。
    在所图示的实施例中,在对相同通道的访问之间的时间从间隔到间隔不同。在图4中所图示的实施例中,这个定时随机地变化。例如,图4图示了在连续间隔I2和I3中对社交通道CH1的访问之间的时间是R1。类似地,在对社交通道CH6的连续访问之间的时间是时间R6。在对社交通道CH11的连续访问之间的时间是时间R11。如可以看到的,时间R1、R6以及R11是不同的。在这个例子中,时间差出现,因为在间隔I3中访问中的每一个的定时相对于在前一个间隔(间隔I2)中对相同通道的访问被随机地选择。
    虽然在对相同社交通道的连续访问之间的时间被随机地选择,但是选择被以这样的方式做出,所述方式将提供等于预定频率的对社交通道中的每一个的平均访问频率。访问频率可以基于对等协议被预先确定。例如,对等协议可以规定每个社交通道平均每500毫秒被访问。但是,特定访问频率对于本发明不是关键的。
    用于选择访问时间以便产生所期望的访问频率的特定方法同样对于本发明不是关键的。然而,在一些实施例中,在一个间隔中对每个社交通道的访问可以选自一时间范围,所述时间范围是紧接在前一个间隔中对相同通道的访问之后的固定时间。作为特定例子,时间R1可以通过识别紧接访问V2,1的起点之后的在400毫秒与500毫秒之间的时间范围被确定。通过依照均匀分布从这个范围选择时间,在对社交通道CH1的连续访问之间的平均间距可以是450毫秒。当在扫描周期期间的当没有对社交通道的访问被调度时的其它时间(诸如在扩展扫描间隔中的时间)被考虑时,每个社交通道可以被以期望的速率访问。那个速率可以具有任何特定数值,并且调度的访问时间所选自的时间范围的起点和/或结束可以被调整以便产生对社交通道中的每一个的访问的任何期望的平均速率。
    在所图示的实施例中,对社交通道中的每一个的访问的平均速率是相同的。因此,虽然时间R6和R11可以是不同的,但是在间隔I2与I3之间时间R6和R11中的每一个都可以与时间R1被以相同的方式选择。但是因为每个都随机地选自一范围,所以在对社交通道的访问之间的定时可以在扫描周期内以及跨越扫描周期从通道到通道、从间隔到间隔而不同。
    图3A、3B和图4图示了扫描期间的寻求发现远程无线设备的无线设备在其中发射探测请求的时间。设备在其间正在侦听由远程设备所发射的探测请求的时间段未被明确地指示。然而,在一些实施例中,执行扫描的无线设备可以在扫描周期期间的在它不访问通道中的任一个时的一个或多个时间处侦听探测请求。在一些实施例中,执行扫描的设备可以在它不访问通道时始终侦听探测请求。但是,在其它实施例中,无线设备可以仅在它不访问通道时的时间的一部分期间侦听探测请求。结合这样的方法,无线设备可以关掉其无线电以便在不访问通道或者不侦听探测请求时节约功率。但是,侦听间隔的特定定时以及无线设备是否关掉其无线电以便节约功率对于本发明不是关键的。
    图5A和5B图示了无线设备可以通过其来操作以便实施如图3A、3B和图4中所图示的扫描的方法500。在这个例子中,方法500在块510处开始,其中设备接收到触发从而使它启动发现。触发可以是任何适合的事件,包括以指导设备发现可用于对等连接的远程无线设备的命令为形式的明确的用户输入。但是,在其它场景中,触发可以是隐式用户输入。
    作为隐式用户输入的例子,用户可以将用来执行牵涉到与远程无线设备的交互的功能的命令输入给计算设备。响应于这样的命令,计算设备可以启动设备发现以便确定是否可以形成到这样的设备的对等连接。但是,应了解,其它机制可以被用来触发发现,包括随机或周期性事件。因此,应了解,在块510处触发发现的特定事件对于本发明不是关键的。
    不管启动设备发现的特定触发如何,方法500可以进行到块512。在块512处,设备可以随机地选择扩展扫描时间。扩展扫描时间的选择可能需要选择扫描周期中的多个间隔中的扩展扫描可以在其期间被执行的一个。用于做出随机选择的任何适合的技术可以被采用。在这个上下文中,随机选择不必基于统计上随机的量。相反地,在块512处执行的随机选择可以简单地产生从周期到周期不同的时间,并且不与在可能类似地执行扩展扫描的远程设备中可能被选择的时间相关。
    不管扩展扫描时间以其被选择的方式,处理进行到循环起点520。循环起点520表示在扫描周期中针对多个间隔中的每一个被执行的处理的起点。在这样的循环中的处理可以作为扫描的一部分针对要被访问的每个社交通道被执行。
    对于选择的社交通道,处理进行到块522。在块522处,用于对社交通道的访问的时间被选择。在这个例子中,用于访问的时间相对于在先前间隔中对那个社交通道的访问被随机地选择。
    用于对社交通道的访问的时间可以像关于图4上面所描述的那样被随机地选择。这样的方法可以适合于紧接在第一个之后的每个间隔。对于第一间隔,访问的时间可以被以任何适合的方式(包括随机地)选择。类似地,对于紧接在扩展扫描间隔之后的间隔,用于对社交通道的访问的时间可以被以任何适合的方式(包括随机地)选择,而不是被选择为紧接在先前间隔中的访问之后的随机时间。但是,应了解,在任何间隔中,对社交通道的访问的时间可以被以任何适合的方式选择以便提供在对社交通道的访问之间的期望的时间。不管用于对社交通道的访问的时间以其被选择的方式,处理可以进行到判定块524。在判定块524处,如果调度的用于通道访问的时间尚未到达,则方法500可以通过块523回环到判定块524。在块523处,执行方法500的无线设备可能正在侦听来自远程设备的探测请求。无线设备可能正在对一个或多个通道进行侦听。在一些实施例中,每个设备都可以被分配家庭通道。在块523处进行侦听可能需要对设备的家庭通道进行侦听。家庭通道可以是社交通道中的一个。替换地,家庭通道可以是主动扫描通道。如果家庭通道不是主动扫描通道,则设备可以对作为主动扫描通道的另一通道进行侦听。虽然在图5A中未被图示,但是如果在块523处的侦听检测到探测请求,则该探测请求可以被处理。处理可能需要识别发送了探测请求的设备并且对它做出响应。处理探测请求替换地或附加地可能需要处理所发现的发送设备。设备可以像关于块534在下面所描述的那样或以任何适合的方式被报告。
    当调度的用于对社交通道的访问的时间到达时,方法500可以从判定块524分支到块530。对社交通道的访问可能需要发射一个或多个探测请求以及侦听探测响应。
    因此,在块530处,发现消息可以在所选社交通道上被发射。依照一些实施例,发现消息可以是探测请求。在这个例子中,单个发现消息在块530处被发射。但是,在其它实施例中,多个发现消息可以被发射。
    不管已发射的发现消息的数目和格式,方法500可以进行到判定块532。如果对发现消息的响应被检测到,则方法500可以在判定块532处分支。在块534处,发送所检测到的探测响应的设备可以被识别。被识别的设备然后可以被报告。
    在块534处报告设备可以以任何适合的方式发生,并且在块534处的特定处理可以取决于执行方法500的无线设备的性质。例如,在其中方法500正由无线计算设备响应于对显示可用于连接的远程无线设备的用户请求而执行的实施例中,在块534处报告设备可能需要向用户呈现所发现的无线设备的指示。在其它实施例中,在块534处报告可能需要存储设备的记录或者采取任何其它适合的动作。
    相反地,如果在判定块532处响应未被检测到,则方法500可以进行到判定块540。在判定块540处,取决于无线设备将等待对探测请求的响应的时间是否已期满,方法500可以回环。那个时间可以基于用于访问的停留时间,其可以设置对通道的访问的总持续时间。那个时间可以被以任何适合的方式确定并且可以被规定为对等协议的参数。例如,依照一些协议,设备可以为对探测请求的响应等待20毫秒。
    不管超时时期的特定时长,如果时间尚未期满,则方法500可以从判定块540回环到判定块532。在判定块532处,执行方法500的设备可以再一次确定对在块530处所发射的探测请求的响应是否已被接收到。
    相反地,如果当处理到达判定块540时超时时期已期满,则方法500可以从判定块540分支到判定块542。当处理到达判定块542时,对所选社交通道的访问已完成。如果更多社交通道依然要被访问,则方法500从判定块542回环到循环起点520,其中下一个社交通道被选择并且被处理。
    相反地,如果没有另外的社交通道依然用于在图5A中所描绘的扫描周期的迭代中进行处理,则方法500可以从判定块542分支到判定块544。在判定块544处,取决于针对扩展扫描间隔的所选时间是否已到达,方法500可以分支。如果是的话,则方法500从判定块544分支以便执行子过程550(图5B)。相反地,如果针对扩展扫描间隔的时间尚未到达,则方法500从判定块544分支到判定块546。
    在判定块546处,取决于持续达扫描周期的处理是否已完成,方法500可以再次分支。如果扫描周期尚未完成,则方法500回环到循环起点520,在所述循环起点520处针对另一扫描间隔的处理被开始。相反地,如果扫描周期已完成,则方法500可以从判定块546分支到结束。
    在图5A的例子中,单个扫描周期被执行。但是,应了解,在一些实施例中,多个扫描周期可以作为扫描的一部分被执行。在这样的实施例中,虽然在图5A中未被图示,但不是在判定块546之后结束,而是方法500可以回环到块510,其中另外的扫描周期可以开始。
    图5B图示了可以在扩展扫描间隔期间被执行的子过程550。子过程550在循环起点552处开始。在这个例子中,循环起点552是针对在使用中的每个主动扫描通道所执行的循环的开始。但是,应了解,扩展扫描周期不必在每个可能的主动扫描通道中扫描,并且在循环起点552处启动的循环可以遍及任何适合数目的主动扫描通道被执行。
    从循环起点552起,子过程550继续到块554。在块554处,执行子过程550的无线设备可以在所选主动扫描通道上发射发现消息。在块554处,任何适合格式的发现消息可以被发射。格式可以与在块530处所发射的相同。但是,在块554处,不同的或附加的消息格式可以被发射,因为本发明在这方面不受限制。
    从块554起,子过程550继续到判定块560。在判定块560处,取决于对发现消息的响应是否已被检测到,子过程550分支。如果响应已被检测到,则子过程550从判定块550分支到块562。在块562处,发射了在判定块560处检测到的响应的设备可以被识别。任何适合的处理可以被用来识别设备,包括从作为响应所接收到的消息中读取信息。这个信息可以被用来报告设备。在块562处的处理可以被以任何适合的方式执行,包括如关于块534上面所描述的。
    不管所发现的设备以其被报告的方式,处理然后可以从块562进行到判定块580。在判定块580处,取决于更多主动扫描通道是否依然要被访问,子过程550可以分支。如果是的话,则子过程550可以回环到循环起点552,其中下一个主动通道被选择用于处理。相反地,当主动扫描通道中的全部已作为子过程550的一部分被处理了时,子过程550可以从判定块580分支到判定块546(图5A),其中扫描可以完成或者针对另外的间隔回环。
    相反地,如果在判定块560处响应未被检测到,则子过程550可以继续到判定块570。取决于设备是否已等待对在块554处所发射的发现消息的响应持续达超过对主动扫描通道的访问的停留时间,子过程550可以再次分支。如果不是,则子过程550可以回环到判定块560,在所述判定块560处对发现消息的响应再次做出检查。
    相反地,如果超时时期已到达,则子进程550继续到判定块580以用于像上面所描述的那样进行处理。
    图5A和5B图示了可以被寻求发现远程无线设备的一个或多个设备执行的处理。无线设备可以执行不同的或附加的处理来帮助发现。例如在一些实施例中,已经加入组并且正作为组所有者操作的对等设备可以周期性地发射消息,所述消息可以帮助其它设备发现那个组或设备。例如,根据方法500执行发现的设备可以在块523中进行侦听的同时检测这样的发射。在一些实施例中,每个组所有者可以在它正使用于与其它组成员通信的通道上发射周期性消息。这些消息可以用来通告组所有者的存在并且可以具有任何适合的格式,所述格式包括在块530(图5A)或块554(图5B)处所发射的消息的格式。但是,由组所有者所发射的消息可以具有不同的格式。无论如何,这样的消息可以通过允许远程设备作为接收到这样的消息的结果而检测到组所有者来帮助发现过程。
    在由组所有者使用的通道上发射通告消息来便利于发现的技术可能仅在一些情况下是适当的。具体地,如果组所有者正在被指定为被动扫描通道的通道上操作,则发射用来通告组所有者的存在以便帮助发现的消息可能依照用于对等通信的协议被禁止。图6图示了组所有者可以通过其操作来通告它存在同时遵照禁止这样的通告在被动扫描通道中的发射的协议的方法。
    方法600在判定块610处开始。在判定块610处,取决于执行方法600的无线设备是否正在被动扫描通道中操作,方法600分支。如果不是,方法600从判定块610处分支到块630。在块630处,执行方法600的设备发射消息,所述消息被格式化为被配置为组所有者的无线设备的通告。这样的消息可以具有任何适合的格式,并且可以依照由组所有者在使用中的对等协议。
    当设备正在被动扫描通道上操作时,方法600可以从判定块610分支到子过程620。在子过程620处,设备可以执行过程中的步骤以便向它的组中的其它设备发信号通知它正进入省电模式。在子过程620处所执行的特定步骤对于本发明不是关键的并且可以依照已知协议被执行。例如,Wi-Fi Direct协议规定了组所有者能够通过其向其它设备发信号通知组所有者将不可用于通信持续达一时间段的消息。这样的子过程被包括在协议中以便允许组所有者不时进入省电模式,在所述省电模式中其无线电被关掉。当在这样的低功率模式(其无线电切断)下进行操作时,组所有者不与其组中的其它设备进行通信。在没有通信的情况下没有这样的省电模式一扩展的时期可能被设备解释为预示组所有者不再作为组所有者操作,使得组被解散。但是,当省电模式被使用时,组中的其它设备不将缺少来自组所有者的通信解释为组已被解散的指示。
    在方法600中,在子过程620中执行步骤以便进入低功率模式被用于附着目的。在这个例子中,子过程620是组所有者可以通过其向远程设备提醒它将不正常地通信但是在稍后的时间将恢复正常通信的机制的例子。
    因此,紧接子过程620之后,执行方法600的组所有者可以停止在其正常通道上的通信。在块622处,当设备将其无线电切换至主动扫描通道时,由组所有者所使用的正常通道中的通信被暂时结束。在其中执行方法600的设备具有单个无线电或者由于某个其它原因有时在单个通道上支持通信的实施例中,在块622处切换至主动扫描通道结束无线设备正用于在组中的其它设备之中的通信的、被动扫描通道中的通信。但是,作为子过程620的执行的结果,停止被动扫描通道中的通信不解散组。
    然而,因为设备之后被配置用于主动扫描通道中的通信,它可以在那个通道中发射通告消息。在块624处,设备对通告消息进行格式化以用于主动扫描通道中的发射。在这种情况下,通告除指示关于设备或组的信息之外,还指示设备正将被动扫描通道使用于在组之中的正常通信。组正在其上操作的特定被动扫描通道也可以被指示。任何适合的消息格式可以被使用于表示这个通告信息。
    不管在块624处所配置的消息的格式,方法600可以进行到块630,其中消息被发射。紧接通告的发射之后,图6示出方法600结束。但是,应了解,通告可以被发射多次或者任何其它动作可以在子过程600被结束之前被执行。
    如上面所描述的处理可以被用来支持可以被无线设备执行的任何适合的功能。这些功能可以响应于直接用户输入、暗示的用户输入或者响应于任何适合的触发条件而被执行。图7A图示了如上面所描述的发现在其中可以被触发的场景的例子。
    图7A图示了用户界面700。用户界面700可以被呈现在无线计算设备(诸如计算设备110(图1))的显示器上。在这个例子中,用户界面700由计算设备的操作系统的构件生成。具体地,在这个例子中,用户界面700由在计算设备的操作系统内的设备管理器构件生成。
    用户界面700包括控件710,通过所述控件710,用户可以输入像上面所描述的触发计算设备来启动扫描的命令。在这个例子中,当用户正在寻求连接到无线设备时控件710可以被用户访问。
    在所示出的状态下,用户界面700未描绘用于连接的任何可用的无线设备。用户界面700在图7A中被图示为处于在如上面所描述的发现被执行之前的状态。
    图7B图示了在设备发现已被执行之后的用户界面700。在这个例子中,用户界面700包含在扫描期间查找到的设备的列表720。在这个例子中,用户界面700包含图标722、724以及726,每个都指示在扫描期间查找到的设备。在其中扫描根据关于图3A和3B以及图4所图示的定时图被执行的实施例中,设备的列表720可以在被用户感知为相对短的时间里被生成。虽然计算设备生成通过设备发现而查找到的设备的列表720所需要的时间的长度可以很大程度上由在设备发现期间操作的定时规定,但是用户可以将慢响应视为计算设备或其操作系统的差性能的指示。相反地,快响应可以导致计算设备或其操作系统的性能的良好印象。
    如上面所描述的设备发现可以通过使用相对少数目的扫描周期或相对短的持续时间的扫描周期而被相对迅速地执行。作为特定例子,5秒钟的单个扫描周期可以被使用,从而允许设备管理器在不到5秒钟里呈现列表720。
    如上面所描述的,包括单个扫描周期的设备发现可以具有发现任何可用的设备的相对高的可能性。然而,针对相对快的时间的权衡可以是:在一些场景中,即使存在可发现设备,也没有设备被发现。因此,在一些实施例中,生成用户界面700的设备管理器可以被配置成在没有发现设备的情况下对扫描的完成做出响应。在一些实施例中,后续扫描周期可以被执行。在其它实施例中,在完成扫描而没有发现任何设备时,查找阶段可以被执行。查找阶段可以使用如在本领域中已知的技术或任何其它适合的处理被执行。
    但是,在一些实施例中,在完成相对短的扫描阶段而没有发现任何设备时,用户可以被提醒和被提供再次进行扫描的可能性。图7C图示了可以由设备管理器在完成扫描阶段而没有识别到任何设备时所呈现的图形用户界面。在这个例子中,用户界面700包括通知730,其向用户报告扫描被完成而没有识别到任何可用的设备。此外,在图7C中所图示的配置中,用户界面700包括允许用户提供输入以便导致另一扫描的控件732。在这个例子中,用户输入触发扫描被再次执行,而没有查找阶段被执行。
    通过重复扫描,用户具有动态地确定在设备发现上花费的时间量的选项。这个时间与功率成比例,所述功率也是在电池电源上操作的无线设备的用户的关注点。但是,用户同样具有能力来控制扫描的彻底性以及如果可发现设备存在则它将被扫描查找到的可能性。其它机制可以被用来允许用户提供输入,所述输入控制发现远程无线设备的确定性与所消耗的功率或时间的量之间的这种权衡。
    图8图示了另外的用户界面800,其可以被计算设备的操作系统的设备管理器或其它适合的构件呈现。在这个例子中,用户界面800可以允许用户动态地规定控制无线设备的操作的参数,所述参数影响在设备发现期间扫描花费的时间量。在这个例子中,用户界面800包括允许用户规定参数值的控件810。在这个例子中,控件810被呈现为分段条。分段条包含段8121...81210。这些条被排序成对应于设备发现的接连渐增的可能性。用户可以选择段8121...812110中的任一个来指示为用户可接受的设备发现的所期望的可能性。
    例如,通过选择段8121,用户可以指示用户更喜欢快的低功率的扫描阶段,但是愿意接受设备发现的相对低的可能性。响应于段8121的选择,设备管理器可以将操作的定时定制为扫描的一部分以便包括相对少数的、相对短的持续时间的扫描周期。
    每个连续的条段可以被设备管理器解释为指示更长扫描是可接受的用户输入,但是用户更喜欢可发现设备(如果存在一个的话)将在扫描期间被发现的更大确定性。例如,段8129可以对应于用户正在寻求在存在可发现设备时的98%的时间它将在扫描期间被识别到的保证的指示。在上面所描述的实施例中,这个性能的级别可以通过大约5秒钟持续时间的单个扫描周期被实现。但是,用户指示的性能级别通过其所被实现的特定设定对于本发明不是关键的。
    在这个例子中,用户界面800包括另外的段81210,指示比由段8129所指示的98%更大的必然性。这样的更大必然性可以被以任何适合的方式实现。例如,多个扫描周期可以作为设备发现的一部分被执行。替换地或附加地,查找阶段可以紧接扫描阶段之后被执行。
    但是,应了解,图8用作用于设置扫描的参数的一个方法的图形图示。参数可以被预编程到无线设备中。替换地或附加地,参数可以由应用在被加载在计算设备上、通过固件更新编程在网络接口卡上或者以任何其它适合的方式供应时被设置。
    图9图示了本发明可以被实施在其上的适合的计算系统环境900的例子。该计算系统例如可以表示可能寻求发现或者可能使用如上面所描述的技术被发现的任何适合的无线设备。然而,应了解,无线设备不必被格式化为计算设备。计算系统环境900仅仅是适合的计算环境的一个例子,并且不旨在就本发明的使用范围或功能性建议任何限制。计算环境900也不应该被解释为具有与在示范性操作环境900中所图示的构件中的任何一个或组合有关的任何依赖性或要求。
    本发明可用许多其它通用或专用计算系统环境或配置加以操作。可以适合与本发明一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费电子装置、网络PC、微型计算机、大型计算机、包括上述系统或设备中的任一个的分布式计算环境等等。
    计算环境可以执行计算机可执行指令,诸如程序模块。一般地,程序模块包括执行特定任务或者实施特定抽象数据类型的例行程序、程序、对象、构件、数据结构等。本发明还可以在分布式计算环境中被实践,其中任务由通过通信网络被链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储媒体两者中。
    参考图9,用于实施本发明的示范性系统包括形式为计算机910的通用计算设备。计算机910的构件可以包括但不限于处理单元920、系统存储器930以及系统总线921,所述系统总线921将包括系统存储器的各种系统构件耦合到处理单元920。系统总线921可以是数个类型的总线结构中的任一个,所述数个类型的总线结构包括存储器总线或存储器控制器、外围总线以及使用各种各样的总线架构中的任一个的局部总线。通过例子而非限制,这样的架构包括工业标准架构(ISA)总线、微通道架构(MAC)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)局部总线以及也被称为Mezzanine总线的外围构件互连(PCI)总线。
    计算机910典型地包括各种各样的计算机可读媒体。计算机可读媒体可以是能够被计算机910访问的任何可用媒体,并且包括易失性和非易失性媒体、可拆卸和非可拆卸媒体两者。通过例子而非限制,计算机可读媒体可以包括计算机存储媒体和通信媒体。计算机存储媒体包括以任何方法或技术实施的用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的易失性和非易失性媒体、可拆卸和非可拆卸媒体。计算机存储媒体包括但不限于RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光盘存储装置、磁盒、磁带、磁盘存储装置或其它磁存储设备,或能够被用来存储所期望的信息并且能够被计算机910访问的任何其它介质。通信媒体典型地将计算机可读指令、数据结构、程序模块或其它数据具体化为诸如载波或其它传输机制这样的已调制数据信号并且包括任何信息递送媒体。术语“已调制数据信号”意指这样的信号,所述信号使其特性中的一个或多个以这样的方式被设置或改变以便将信息编码在所述信号中。通过例子而非限制,通信媒体包括诸如有线网络或直接有线连接这样的有线媒体,以及诸如声学、RF、红外线和其它无线媒体这样的无线媒体。上述中的任一个的组合也应该被包括在计算机可读媒体的范围内。
    系统存储器930包括形式为诸如只读存储器(ROM)931和随机存取存储器(RAM)932这样的易失性和/或非易失性存储器的计算机存储媒体。包含有助于诸如在启动期间在计算机910内的元件之间转移信息的基本例行程序的基本输入/输出系统933(BIOS)典型地被存储在ROM 931中。RAM 932典型地包含可由处理单元920直接访问和/或目前正由处理单元920操作的数据和/或程序模块。通过例子而非限制,图9图示了操作系统934、应用程序935、其它程序模块936以及程序数据937。
    计算机910还可以包括其它可拆卸/非可拆卸、易失性/非易失性计算机存储媒体。仅通过例子,图9图示了从非可拆卸的非易失性磁媒体中读取或者向非可拆卸的非易失性磁媒体写入的硬盘驱动器941、从可拆卸的非易失性磁盘952中读取或者向可拆卸的非易失性磁盘952写入的磁盘驱动器951、以及从可拆卸的非易失性光盘956中读取或者向可拆卸的非易失性光盘956写入的光盘驱动器955,所述可拆卸的非易失性光盘956诸如CD ROM或其它光学媒体。能够被用在示范性操作环境中的其它可拆卸/非可拆卸、易失性/非易失性计算机存储媒体包括但不限于磁带盒、闪速存储器卡、数字通用盘、数字视频磁带、固态RAM、固态ROM等等。硬盘驱动器941被典型地通过非可拆卸存储器接口(诸如接口940)连接到系统总线921,并且磁盘驱动器951和光盘驱动器955被典型地通过可拆卸存储器接口(诸如接口950)连接到系统总线921。
    上面所讨论的和在图9中所图示的驱动器和它们的相关联的计算机存储媒体为计算机910提供计算机可读指令、数据结构、程序模块以及其它数据的存储。在图9中,例如,硬盘驱动器941被图示为存储操作系统944、应用程序945、其它程序模块946以及程序数据947。要注意的是,这些构件可以与操作系统934、应用程序935、其它程序模块936以及程序数据937相同或不同。操作系统944、应用程序945、其它程序模块946以及程序数据947在这里被赋予不同的数字以便图示至少它们是不同的拷贝。用户可以通过输入设备将命令和信息送入到计算机910,所述输入设备诸如键盘962和通常被称为鼠标、轨迹球或触摸板的指向设备961。其它输入设备(未示出)可以包括话筒、游戏杆、游戏板、碟形卫星天线、扫描器等等。这些和其它输入设备常常通过被耦合到系统总线的用户输入接口960而被连接到处理单元920,但是可以被其它接口和总线结构连接,所述总线结构诸如并行端口、游戏端口或通用串行总线(USB)。监视器991或其它类型的显示设备经由诸如视频接口990这样的接口被同样连接到系统总线921。除监视器之外,计算机还可以包括诸如扬声器997和打印机996这样的其它外围输出设备,其可以通过输出外围接口995被连接。
    计算机910可以使用到诸如远程计算机980这样的一个或多个远程计算机的逻辑连接在联网的环境中操作。远程计算机980可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且典型地包括上面相对于计算机910所描述的元件中的多个或所有,但是仅存储器存储设备981已在图9中被图示。图9中所描绘的逻辑连接包括局域网(LAN)971和广域网(WAN)973,但是还可以包括其它网络。这样的联网环境在办公室、企业范围的计算机网络、内联网以及因特网中是常见的。
    当被用在LAN联网环境中时,计算机910通过网络接口或适配器970被连接到LAN 971。当被用在WAN联网环境中时,计算机910典型地包括调制解调器972或其它装置以用于通过诸如因特网这样的WAN 972来建立通信。可以为内部的或外部的调制解调器972可以经由用户输入接口960或其它适当的机制被连接到系统总线921。在联网的环境中,相对于计算机910所描绘的程序模块或其部分可以被存储在远程存储器存储设备中。通过例子而非限制,图9将远程应用程序985图示为驻留在存储器设备981上。应当了解,所示出的网络连接是示范性的,并且在计算机之间建立通信链路的其它装置可以被使用。
    已经如此描述了本发明的至少一个实施例的数个方面,应当了解,本领域的技术人员将容易地想到各种变更、修改以及改进。这样的变更、修改以及改进旨在为本公开内容的一部分,并且旨在为在本发明的精神和范围内。因此,前面的描述和图是仅举例来说的。
    上面描述的本发明的实施例能够以许多方式中的任一个加以实施。例如,实施例可以使用硬件、软件或其组合被实施。当以软件加以实施时,软件代码能够在任何适合的处理器或处理器集上被执行,而无论其是在单个计算机上被提供还是被分布在多个计算机之中。这样的处理器可以被实施为集成电路,其中一个或多个处理器在集成电路构件中。但是,处理器可以以任何适合的格式使用电路被实施。
    进一步地,应了解,计算机可以以大量形式中的任一个加以具体化,所述形式诸如机架式计算机、台式计算机、膝上型计算机或平板计算机。附加地,计算机可以被嵌入在一般地不被认为是计算机但是具有适合的处理能力的设备中,所述设备包括个人数字助理(PDA)、智能电话或任何其它适合的便携式或固定电子设备。
    并且,计算机可以具有一个或多个输入和输出设备。这些设备能够被尤其用来呈现用户界面。能够被用来提供用户界面的输出设备的例子包括用于输出的视觉呈现的打印机或显示屏以及用于输出的可听呈现的扬声器或其它发声设备。能够被用于用户接口的输入设备的例子包括键盘以及指向设备,诸如鼠标、触摸板和数字平板。作为另一例子,计算机可以通过语音识别或者以其它可听格式接收输入信息。
    这样的计算机可以通过一个或多个网络以任何适合的形式被互连,所述网络包括作为局域网或广域网,诸如企业网或因特网。这样的网络可以基于任何适合的技术,并且可以根据任何适合的协议操作以及可以包括无线网络、有线网络或光纤网络。
    并且,本文中所概述的各种方法或过程可以被编码为软件,所述软件可在采用各种各样的操作系统或平台中的任何一个的一个或多个处理器上执行。附加地,这样的软件可以使用大量适合的编程语言和/或编程或脚本工具中的任一个来编写,并且同样可以被编译为在框架或虚拟机上执行的可执行机器语言代码或中间代码。
    在这方面,本发明可以被具体化为用一个或多个程序编码的计算机可读存储介质(或多个计算机可读媒体)(例如,计算机存储器、一个或多个软盘、紧致盘(CD)、光盘、数字视频盘(DVD)、磁带、闪速存储器、现场可编程门阵列或其它半导体器件中的电路配置,或其它有形的计算机存储介质),所述程序当在一个或多个计算机或其它处理器上被执行时,执行实施上面所讨论的本发明的各种实施例的方法。如从前面的例子中明显的,计算机可读存储介质可以保持信息达足够的时间以便提供非暂时性形式的计算机可执行指令。这样的计算机可读存储介质或媒体可以是可传输的,使得存储在其上的一个或多个程序能够被加载到一个或多个不同的计算机或其它处理器上以便实施如上面所讨论的本发明的各种方面。如本文所使用的,术语“计算机可读介质”仅包含能够被认为是制造品(即,制品)或机器的计算机可读介质。替换地或附加地,本发明可以被具体化为计算机可读存储介质以外的计算机可读介质,诸如传播信号。
    术语“程序”或“软件”在本文中在通用意义上被用来指的是任何类型的计算机代码或计算机可执行指令集,其能够被采用来将计算机或其它处理器编程为实施如上面所讨论的本发明的各种方面。附加地,应了解,根据本发明的一个方面,当被执行时执行本发明的方法的一个或多个计算机程序不必驻留在单个计算机或处理器上,而是可以被以模块化方式分布在大量不同的计算机或处理器之中以便实施本发明的各种方面。
    计算机可执行指令可以具有由一个或多个计算机或其它设备所执行的许多形式,诸如程序模块。一般地,程序模块包括执行特定任务或者实施特定抽象数据类型的例行程序、程序、对象、构件、数据结构等。典型地,程序模块的功能性可以视需要被组合或者分布在各种实施例中。
    并且,数据结构可以被以任何适合的形式存储在计算机可读媒体中。为了图示的简单起见,数据结构可以被示出为具有字段,字段通过数据结构中的定位而被相互关联。这样的关系同样地可以通过用传达字段之间的关系的计算机可读介质中的定位来为字段分配存储而被实现。然而,任何适合的机制可以被用来建立数据结构的字段中的信息之间的关系,包括通过使用建立数据元素之间的关系的指针、标签或其它机制。
    本发明的各种方面可以被单独地、相结合地使用,或者被用在前文中所描述的实施例中未具体地讨论的各种各样的布置中,并且因此在其应用中不限于在前面的描述中所阐述的或者在图中所图示的构件的细节和布置。例如,一个实施例中所描述的方面可以被以任何方式与其它实施例中所描述的方面组合。
    并且,本发明可以被具体化为方法,其的例子已被提供。作为方法的一部分而执行的动作可以被以任何适合的方式排序。因此,其中动作被以不同于图示的次序执行的实施例可以被构造,其可以包括同时地执行一些动作,即使在说明性实施例中被示出为顺序动作。
    在权利要求中用来修饰权利要求元素的诸如“第一”、“第二”、“第三”等这样的有序术语的使用本身不暗示任何优先级、优先序、或一个权利要求元素的次序优先于另一元素或方法的动作以其被执行的暂时次序,而是被仅仅用作区分具有特定名称的一个权利要求元素和具有相同名称(但针对有序术语的使用)的另一权利要求元素的标记以便区分权利要求元素。
    并且,本文中所使用的短语和术语用于描述的目的,并且不应该被认为是限制性的。“包括”、“含有”或“具有”、“包含”、“牵涉”及其变化在本文中的使用意在包含其后列举的项目及其等同物以及附加的项目。

    关 键  词:
    对等 发现
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:对等发现.pdf
    链接地址:https://www.zhuanlichaxun.net/p-36117.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1