CN102711049A - 带有群主的重新协商的对等群 - Google Patents
带有群主的重新协商的对等群 Download PDFInfo
- Publication number
- CN102711049A CN102711049A CN2012100628505A CN201210062850A CN102711049A CN 102711049 A CN102711049 A CN 102711049A CN 2012100628505 A CN2012100628505 A CN 2012100628505A CN 201210062850 A CN201210062850 A CN 201210062850A CN 102711049 A CN102711049 A CN 102711049A
- Authority
- CN
- China
- Prior art keywords
- equipment
- crowd
- message
- port
- radio
- Prior art date
Links
- 238000000034 method Methods 0.000 claims description 90
- 230000004044 response Effects 0.000 claims description 30
- 230000001702 transmitter Effects 0.000 claims description 6
- 230000001276 controlling effects Effects 0.000 abstract description 9
- 230000001960 triggered Effects 0.000 abstract description 5
- 238000004891 communication Methods 0.000 description 59
- 230000005540 biological transmission Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 8
- 239000000203 mixture Substances 0.000 description 6
- 230000015572 biosynthetic process Effects 0.000 description 4
- 230000000875 corresponding Effects 0.000 description 4
- 238000005755 formation reaction Methods 0.000 description 4
- 230000002045 lasting Effects 0.000 description 4
- 230000003287 optical Effects 0.000 description 4
- 230000002093 peripheral Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000000051 modifying Effects 0.000 description 3
- 239000000523 sample Substances 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000005055 memory storage Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006011 modification reaction Methods 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 210000001503 Joints Anatomy 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000000977 initiatory Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 230000002085 persistent Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000001902 propagating Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static Effects 0.000 description 1
- 230000001629 suppression Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/06—Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
- H04W4/08—User group management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network-specific arrangements or communication protocols supporting networked applications
- H04L67/10—Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
- H04L67/104—Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for peer-to-peer [P2P] networking; Functionalities or architectural details of P2P networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network-specific arrangements or communication protocols supporting networked applications
- H04L67/10—Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
- H04L67/104—Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for peer-to-peer [P2P] networking; Functionalities or architectural details of P2P networks
- H04L67/1042—Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for peer-to-peer [P2P] networking; Functionalities or architectural details of P2P networks involving topology management mechanisms
- H04L67/1044—Group management mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network-specific arrangements or communication protocols supporting networked applications
- H04L67/10—Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network
- H04L67/104—Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for peer-to-peer [P2P] networking; Functionalities or architectural details of P2P networks
- H04L67/1042—Network-specific arrangements or communication protocols supporting networked applications in which an application is distributed across nodes in the network for peer-to-peer [P2P] networking; Functionalities or architectural details of P2P networks involving topology management mechanisms
- H04L67/1044—Group management mechanisms
- H04L67/1048—Departure or maintenance mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. TPC [Transmission Power Control], power saving or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0261—Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Abstract
一种计算设备,其选择性地重新协商设备在现有的对等群中的角色。在所述群被形成时,该设备可以与其它设备协商,以便选择控制群的设备。在所述群操作期间,群中的设备可以发起重新协商,这可能导致选择替换的设备来控制群。重新协商可以由包含表示对于重新协商的请求的信息单元的消息触发。这样的消息可以由群中的控制设备或其它设备来发送,以及可以根据设备的状态而被发送。所述状态可以涉及到对于设备的电源的源,这样使得被连接到电源的源的客户或者正靠低电池电源运行的控制设备可以请求重新协商。
Description
带有群主的重新协商的对等群
背景技术
[0001] 今天许多计算机都具有无线电装置来支持无线通信。无线通信例如被使用来连接到网络的接入点。通过与接入点相关联,无线计算机可以访问网络上的设备,或接入到通过那个网络(诸如互联网)可到达的其它网络。结果,无线计算机可以与许多其它设备交换数据,因而允许有很多有用的功能。
[0002] 为了使计算机能够被配置成与接入点相关联,常见的是让接入点按照标准操作。 一种用于连接到接入点的设备的常见标准被称为Wi-Fi。这个标准由Wi-Fi联盟颁布,且被广泛地使用于便携式计算机。这个标准有多个版本,但它们中的任一版本都可被使用来支持通过接入点的连接。
[0003] 无线通信也可以被使用来形成与其它设备的直接连接而无需使用接入点。这些连接有时被称为“对等(peer-to-peer)”连接,且可被使用来例如允许计算机无线地连接到鼠标或键盘。用于这些直接连接的无线通信也已被标准化。用于这样的无线通信的常见标准被称为蓝牙(Bluetooth®)。
[0004] 在一些场合中,无线计算机可以通过接入点并发地连接到其它设备并作为某个群 (group)的一部分从事对等通信。为了支持这样的并发通信,有些计算机具有多个无线电装置。新近提出了被称为Wi-Fi Direct的标准,它通过可以用单个无线电装置处理的类似的无线通信来使得能进行作为对等群的一部分的基础设施连接和通信。同样由Wi-Fi联盟颁布的这个标准扩展了用于基于基础设施的通信的流行的Wi-Fi通信标准,以便支持直接通信。
[0005] 这样的直接连接可以在设备的群之间形成。按照Wi-Fi Direct标准,希望进行通信的设备可以交换被格式化为动作帧的消息,以便形成群。作为动作帧的那种交换的一部分,设备可以标识所述设备之一来控制群。控制群的设备例如可以确定哪些设备被接纳到所述群。另外,控制设备可能能够与群中的所有其它设备通信,以及可选地,可以把来自群中一个设备的消息转发到另一个设备。
[0006] 按照Wi-Fi Direct标准,控制设备被称为群主(Group Owner)。当群被形成时, 根据协商准则选择群主。每个设备可以传送指示它希望成为群主的值作为动作帧的一部分。传送最高值的设备可以被群中的所有设备认可为群主。其它设备可以承担群主的客户 (client)的角色。
发明内容
[0007] 被无线设备使用来建立对等群的对等通信协议可以合并有机制来让已经建立的群的设备请求对各设备在群中的角色进行重新协商。这样的能力在如下的协议中可能有用,即:在所述协议中设备可以承担不同的角色,所述角色可在形成群时被动态地确定。在群的操作期间,当设备检测到指示它对于它先前被指派的角色的适用性(suitability)已降低的状态时,所述设备可以传送请求以重新协商被指派的角色。同样地,当设备检测到指示它对于先前被指派给另一个设备的角色的适用性已提高的状态时,所述设备可以传送请求以重新协商被指派的角色。应当指出,在本文档中的对等打算指直接连接,不用经过第三设备或基础设施。
[0008] 这样的能力可以结合其中可被指定给设备的不同角色需要不同的电量的协议而被使用。在这样的情景下,可以触发设备发送关于重新协商角色的请求的、被检测到的设备状态可牵涉到设备的电源状态(power state)。
[0009] 在按照Wi-Fi Direct协议操作的系统中,设备可被指派以作为群主或作为客户的角色。群主可以执行控制群的诸方面的动作,这样使得群主可能消耗比客户所消耗的更多的电能。群主例如可能让它的接收机加电达更长的时间段,或者可能由于它协调群中其它设备的动作而传送更多的消息。因此,当群主检测到它的电源状态已改变而使得它具有较少的可用电能时,它可以请求重新协商,以使得具有更多电能的设备变为群主。相反,当客户检测到它的电源状态已改变而使得它具有更多的可用电能时,它可以请求重新协商。
[0010] 以上是本发明的非限制性概要,本发明是由所附权利要求限定的。
附图说明
[0011] 附图并不打算是按比例画出的。在附图中,在各个图上所示的每个相同的或几乎相同的部件用同样的标号代表。 为了清晰起见,不是每个部件都可以在每个图上被标注。在图上:
图I是在其中可以实践本发明的实施例的示范性环境的示意图;
图2是适于无线通信的示范性计算设备的高级别框图;
图3是适于无线通信的示范性计算设备的更详细的框图;
图4是按照一些实施例的、形成对等群的设备的示范性操作方法的流程图;
图5A、5B和5C是按照一些实施例的、可以在形成群的设备之间交换的示范性消息;
图6是按照一些实施例的、一开始被选择为群主的设备的示范性操作方法的流程图; 图7是按照一些实施例的、一开始被选择为客户的计算设备的示范性操作方法的流程图;以及
图8是在其中可以实践本发明的一些实施例的说明性计算设备的示意图。
具体实施方式
[0012] 本发明人已认识到和意识到,在无线设备之间的通信将由于允许重新协商对控制群的设备的选择的协议而对那些无线设备的用户更有用。这样的能力例如可以延长由电池供电的设备可以通信的时间。
[0013] 在诸如Wi-Fi Direct那样的协议中,充当群控制器的设备比起承担作为客户的角色的设备会消耗更多的电能。群主的协商可以至少部分地根据群中设备的状态。那些状态可以涉及设备的电源的源。例如,比起具有较低电源容量(power capability)的设备,群控制器协商可能更喜欢具有更大电源容量的设备。设备可以具有更大的电源容量或者是因为它是从AC电源的源供电的,或者是因为它的电池具有更多的剩余电荷。
[0014] 当群中的设备的状态改变时,那个设备可以触发重新协商,这可以导致不同的设备被选择为群控制器。例如,在选择用于群的控制设备时靠电池电源操作的客户设备在被连接到AC电源的源后可以触发重新协商。替换地,以电池电源操作的控制设备当剩余的电池电能降低到低于表示设备的电池正被耗尽的阈值时,可以触发重新协商。然而,应当意识至IJ,任何适当状态的检测可被用作为用于重新协商的触发。
[0015] 按照一些实施例,重新协商可以以任何适当的方式被触发。触发重新协商的设备可以通过以任何适当方式传达的、采用任何适当格式的消息而向群中的其它设备通知重新协商。例如,消息可以按照诸如Wi-Fi Direct那样的标准协议被格式化,带有表示对于重新协商的请求或进行重新协商的命令的附加信息单元。作为具体的例子,按照Wi-Fi Direct 协议的动作帧可包括这样的信息单元。然而,在其它实施例中,可以定义单独的消息格式。
[0016] 对于重新协商的请求或命令 可以从触发重新协商的设备直接发送到群中的其它设备。这样的传输可以作为诸如信标的广播消息的一部分进行,且可包括让群中所有设备进行重新协商的命令。例如,如果命令是从当前正控制群的设备发送的,则可能出现这样的情景。
[0017] 然而,并不要求由正控制群的设备发送所述命令。在一些实施例中,这样的消息可以从群中的任何设备发送。群中的客户例如可以广播让群中其它设备重新协商对于该群的控制设备的选择的命令。作为再有的另外的替换例,重新协商可以由客户设备触发,以及重新协商的命令可以随后由控制群的设备发送。例如,在一些实施例中,在群中的客户可以把被格式化为对重新协商的请求的消息发送到控制群的设备。控制设备然后可以把重新协商的命令发送到群中的其它设备。通过这个替换例,控制设备可以根据诸如群的状态、正在执行的操作或其它信息那样的条件而有条件地发送这样的命令。
[0018] 不管重新协商如何被触发,一旦被触发,就可以通过交换消息而执行重新协商,所述消息采用与控制设备的初始协商相同的格式。在按照Wi-Fi Direct协议形成的对等群中,这样的消息可被格式化为群主协商动作帧。这样的消息例如可包括来自每个设备的指示它对于作为群主的首选项(preference)的值。每个设备可以根据它自己的策略来选择它的值,这些策略例如可以由设备的用户或管理人员、或是由在设备上执行的应用或实用程序来设置。这些策略可以根据设备的电源状态或其它适当的因素而被应用,其中的某些或所有的因素可以动态地确定。传送最高值的设备可被选择为用于所述群的新的控制设备。 然而,应当意识到,控制设备可以以任何适当的方式被选择。
[0019] 上述的技术可以在任何适当的环境下单独地或以任何适当的组合方式共同地被使用。图I图示在其中计算设备按照一些实施例进行通信的环境。
[0020] 在图I的例子中,计算设备110被举例说明为膝上型计算机。然而,应当意识到,计算设备110的形状因素(form factor)不是对本发明的限制。被配置成图形输入板、智能电话或具有任何其它适当的形状因素的计算设备都可以按照本发明的实施例被配置和操作。 而且,应当意识到,任何无线设备可以扮演对等群中的任何角色。因此,不要求群中的任何设备必须是计算设备。
[0021] 图I图示计算设备110正在由用户112控制。用户112可以通过使用在本领域熟知的技术而与计算设备110交互,以控制计算设备110与其它设备无线地连接。在本例中, 计算设备Iio具有通过接入点120到网络124的无线连接。网络124可以是家庭网、企业网、互联网或任何其它适当的网络。通过接入点120进行的无线连接122是基础设施类型连接的例子。任何适当的技术可被使用来形成无线连接122,包括利用已知的基础设施类型协议的技术。作为一个例子,无线连接122可以通过使用有时被称为“Wi-Fi”的协议而被形成。然而,所使用的具体协议对于本发明并不是关键的。
[0022] 在所图示的例子中,计算设备110被显示为具有由与AC电源的源114的连接定义的电源状态。虽然图I上未示出,但其它设备可以具有类似的电源状态。例如,打印机134 可以类似地连接到AC电源的源。其它设备可以具有其它电源状态。例如,照相机132可以是以电池操作的设备,这样,照相机132的电池(未示出)中的剩余电荷可以定义那个设备的电源状态。然而,应当意识到,设备中的某些或所有设备可以是能从多个电源的源操作的。 例如,计算设备110虽然被显示为处在其被连接到AC电源的源114的状态,但尽管如此,它仍可以包含电池。当计算设备110没有被连接到AC电源的源114时,计算设备110可以由电池供电,其可以定义它的电源状态。因此,应当意识到,在对等群中设备的电源状态可以随时间改变。
[0023] 在所图示的例子中,计算设备110在无线连接122中具有站的角色。计算设备110 的角色指示了为与接入点120交换信息而由计算设备110执行的无线协议的特定步骤。
[0024] 图I还图示其它无线连接。计算设备110被显示为具有分别与照相机130和打印机134的连接132和136。在这种情形下,照相机132和打印机134是无线设备的例子,计算设备110可以与其连接以便与这些设备交换数据。
[0025] 在这个例子中,照相机130、打印机134和计算设备110可以使用对等协议通过无线连接132和136进行通信。在这个例子中,照相机130、打印机134和计算设备110可以按照对等协议形成群。然而,在替换实施例中,计算设备110可以与照相机130形成第一群以及与打印机134形成第二群。因此,应当意识到,群可以由任何适当数目的设备(包括仅仅两个设备)组成。
[0026] 无线连接132和136可以按照任何适当的对等协议被形成。在这个例子中,连接 132和136通过使用Wi-Fi协议的扩展一其被称为Wi-Fi Direct协议一被形成。
[0027]图2以高级别图示用于计算设备210的体系结构,其可以操作来形成基础设施模式无线连接,诸如无线连接122 (图I)和对等无线连接,比如连接132和136 (图I)。在图 I的例子中,计算设备210包括两个无线电装置,无线电装置250和无线电装置254。每个无线电装置可以适于发送和接收无线通信。无线电装置250例如可被使用来形成无线连接 122。无线电装置254例如可被使用来形成对等连接132和136。
[0028] 在这个例子中,无线电装置250具有媒体访问控制(MAC)地址252。MAC地址可以是与无线电装置250相关联的独特的标识符,这样使得它可被使用来把无线电装置250与无线电装置254区分开,而且还与计算设备210可以与之通信的任何其它设备中的无线电装置区分开。因此,MAC地址252可以被包括在由无线电装置250发送的分组中,以指示该帧由无线电装置250发送,或可以被包括在送往无线电装置250的分组中,以指示该帧是打算给无线电装置250的。
[0029] MAC地址252可以以任何适当的方式被指派给无线电装置250。它可能是由例如无线电装置250的制造商指派的。然而,在一些实施例中,MAC地址252可以由操作系统230 或计算设备210的另一个部件、或由计算设备210在其中操作的系统中的某个其它部件指派。
[0030] 无线电装置250可以通过软件一在图2上被表示为驱动器240—而被控制。这里,驱动器240包括接口 242,操作系统230可以通过该接口发布命令到驱动器240,以及驱动器240可以通过该接口报告状态和把接收的数据通知给操作系统230。接口 242可以以任何适当的方式(包括按照已知的标准)被实施。这样的已知标准的例子被称为NDIS,但那个标准对于本发明并不是关键的。
[0031] 接口 242可以支持采用不依赖于无线电装置250的构架的格式的许多命令。相反,驱动器240可以把采用接口 242的标准化格式的命令翻译成可以施加到无线电装置250 的特定的控制信号。另外,驱动器240可被编程为执行与无线连接相关联的某些低级别功能。例如,在接收分组后,驱动器240可以检查分组被恰当地格式化。如果分组被恰当地格式化,则驱动器240可以控制无线电装置250来生成肯定应答。相反,如果分组被不恰当地格式化,则驱动器240可以控制无线电装置250发送否定应答。
[0032] 虽然驱动器240以及在一些场合中是无线电装置250可以自动执行与建立和保持无线连接相关联的低级别功能,但较高级别功能也可以在操作系统230或应用220的控制下执行。在一些实施例中,应用220或操作系统230可以提供用户接口,以使得无线通信的最终控制由计算设备210的用户提供。
[0033] 在图2所图示的实施例中,计算设备210还包括无线电装置254。虽然无线电装置250可被使用于例如与基础设施网络的连接,但无线电装置254可被使用于形成一个或多个对等连接,诸如连接132和136。
[0034] 无线电装置254被并入到计算设备210,通常具有与无线电装置250相同的体系结构。无线电装置254与驱动器244相关联,所述驱动器244为操作系统230提供控制无线电装置254的机制。驱动器244具有接口 246,操作系统230可以通过该接口发送命令到驱动器244,以及·驱动器244可以提供状态给操作系统230。像接口 242那样,接口 246可以是标准化的接口,这样使得操作系统230可以使用与被用来控制驱动器240的类似命令集而与驱动器244通信。然而,因为无线电装置254被使用来实施对等连接,所以与驱动器 240相比,驱动器244可以响应不同的或附加的命令,以便实施对基于基础设施的通信来说不存在的、与对等通信相关联的功能。
[0035] 作为在无线电装置250与254之间的另外的差别,无线电装置254被图示为具有多个MAC地址。与此相反,无线电装置250包括单个MAC地址252。这里,图示了 MAC地址 256A、256B和256C。多个MAC地址例如可以由无线电装置254的制造商指派,或者所述MAC 地址可以以任何适当的方式被指派,包括如以上结合MAC地址252描述的。
[0036] 具有多个MAC地址允许无线电装置254对于计算设备210外部的设备表现为多个实体,每个实体具有单独的MAC地址。作为例子,如果计算设备210在第一对等群中作为群主而在第二对等群中作为客户分开地通信,则对于所述群主和所述客户可以建立分开的实体。计算设备210外部的设备可以用第一 MAC地址寻址打算要由计算设备210作为第一群中的群主来处理的分组。打算要作为第二群中的客户来处理的分组可以用第二 MAC地址被寻址。同样地,计算设备210可以把第一 MAC地址插入到来自群主的分组中;来自客户的分组可包括第二 MAC地址。
[0037] 为了允许操作系统230把它与驱动器244的交互与计算设备210内部的那些实体中的一个特定实体相关联,所述实体中的每一个可被表示为端口。因此,操作系统230可以通过与每个这样的实体相关联的端口发送命令到那个实体,或接收来自那个实体的状态信
肩、O[0038] 每个端口可被配置成执行适用于所述端口代表的那种类型的实体的功能。其中计算设备210按照Wi-Fi Direct (在这里被用作为对等协议的例子)操作的实施例,作为对等群的一部分的设备可以承担群主或客户的角色。群主可以按照无线协议被要求发送某些类型的动作帧,和以规定的方式响应其它类型的动作帧。被配置为客户的设备可以发送不同的动作帧和响应,或者可以在不同的上下文中发送相同的动作帧和响应。
[0039] 然而,应当意识到,群主和客户仅仅是无线电装置254与驱动器244可被配置来执行的角色的两个例子。作为另一个例子,实体可被配置成既不是群主也不是客户。相反,实体可被指派作为控制器的角色,它管理与其它设备的交互以便形成群和确定计算设备210 在那个群中的角色。 [0040] 虽然图2图示了分开的无线电装置一一无线电装置250和无线电装置254,但在基础设施连接和对等通信使用相同频道操作的实施例中,可以使用单个无线电装置。在这样的实施例中,扮演与基础设施通信相关联的角色的实体和扮演与对等通信相关联的角色的实体可以用同一个无线电装置来实施。
[0041] 图2图示计算设备210包括电源管理器234。电源管理器234可以是在计算设备 210内的电路,它输出可能可用于操作系统230或来自计算设备210的其它部件的电源状态信息。操作系统230可以使用这样的电源状态信息来应用策略或以另外的方式控制计算设备210的操作。作为特定的例子,操作系统230可以使用由电源管理器234提供的电源状态信息来确定在对等群中用于计算设备210的被指派的角色。
[0042] 电源管理器234可以提供任何适当的电源状态信息。在这个例子中,计算设备210 被显示为由电池232供电。因此,由电源管理器234提供的一种类型的电源状态信息可以指示在电池232中剩余的电荷量。电源管理器234可以使用在本领域已知的技术来确定和表示在电池232中的剩余电荷。
[0043] 在计算设备210被配置成替换地被连接到AC电源的源的实施例中,电源管理器 234可以确定AC电源当前是否被供应到计算设备210。如果是的话,电源管理器234可以配置计算设备210来以AC电源操作,并可以报告那个电源状态以便由操作系统230或其它部件在应用策略时使用,所述策略包括影响由计算设备210在对等群中承担的角色的策略。
[0044] 图3图示计算设备310被配置成使用单个无线电装置支持两种实体的实施例,一种实体各自具有在基础设施网络中的角色,而另一种实体各自具有用于对等通信的角色。 图3图示包含无线电装置354的计算设备310。无线电装置354被图示为具有多个MAC地址,所述MAC地址被图示为MAC地址356A、356B、356C、356D和356E。虽然示出了五个MAC 地址,其可以允许无线电装置354及其相关联的驱动器344并发地提供五个端口,但应当意识到,被支持的MAC地址的特定数目对于本发明并不是关键的,且在一些实施例中可以使用多于或少于五个MAC地址。
[0045] 在这个例子中,五个MAC地址可被使用来提供五个端口 382、384、386、388和390, 每个端口被配置成扮演不同的角色。在所图示的情景下,这些端口的群380A已被配置成实施被使用于基于基础设施的通信的实体。群380B包含被配置成用于对等通信的端口。
[0046] 在图3所示的例子中,群380A包含两个端口,端口 382和384。群380B被显示为包含三个端口,端口 386、388和390。应当意识到,被分配用于每种类型用途的端口的数目对于本发明不是关键的,且可以使用任何适当的数目。而且,并不要求在每个群中的端口数目保持为静止。相反,操作系统320可以发布命令到驱动器344,以便按需要而动态地创建或拆除端口。
[0047] 结合创建端口的命令,操作系统320可以规定与那个端口相关联的角色。驱动器 344可以通过创建被配置成用于被指定角色的端口而响应这样的命令,被指定的角色可以与基于基础设施的通信或与对等通信相关联。虽然操作系统230可以规定角色,但所规定的角色可以以任何适当的方式被确定。例如,当形成对等群时,操作系统320可以通过以下方式来确定角色,即:控制计算设备310与群中的其它设备无线地交换消息以便共同协商对于每个设备的角色。
[0048] 虽然任何适当的机制可被使用来实施为计算设备310指派角色的能力,但图3图示在操作系统320与驱动器344之间的接口 346。接口 346可以是采用标准化格式的与驱动器的接口。作为一个例子,某些驱动器按照NDIS接口技术规范被编写。按照那个技术规范,命令和状态信息可以通过使用被称为OID的编程对象而在驱动器344与操作系统320 之间交换。NDIS标准定义了许多驱动器应当或可以响应的0ID。然而,该标准是可扩展的, 这样使得OID可被定义成支持在某些环境下的附加功能性。这种可扩展性可被使用来通过使用OID或其它适用的表示而定义命令,这允许操作系统320命令驱动器344创建或拆除端口或配置用于特定角色的端口。 [0049] 虽然无线电装置354除了支持多个MAC地址外,还可以处理用于多个端口的分组, 但在一些实施例中,无线电装置354不需要被特别地配置来支持端口。无线电装置354可以通过使用在本领域已知的技术而被实施。在这个例子中,发射机/接收机部分358可以是在本领域已知的硬件部件,且被使用于无线通信。在无线电装置354正在被使用来支持按照Wi-Fi基础设施模式协议的通信和用于对等通信的Wi-Fi direct协议的这个例子中, 发射机/接收机部分358可以支持在由Wi-Fi技术规范定义的频率范围上多个子信道中的通信。然而,发射机/接收机部分358的具体工作特性可以取决于为通信所实施的具体协议而变化,以及它们对于本发明并不是关键的。同样地,控制器360可以是在无线的无线电设计领域中已知的硬件部件。类似地,配置寄存器370可以是在无线的无线电设计领域中已知的硬件部件。被指示为MAC地址356A…356E的部件也可以通过使用在本领域已知的技术而被实施。在一些实施例中,由无线电装置354支持的MAC地址可被编码到只读存储器中或是作为无线电装置354的一部分的其它部件中。然而,应当意识到,在MAC地址通过驱动器344被指派给无线电装置354的实施例中,MAC地址356A…356E可以在易失性或非易失性可重写存储器中被物理地实施,这样使得可以动态地创建无线电装置354可以对其进行响应的MAC地址池。
[0050] 不管用以实施无线电装置354的部件的方式如何,无线电装置354可包含硬件接口 346,驱动器344可以通过该硬件接口 346控制无线电装置354。在一些实施例中,驱动器344可以是在计算设备310内的处理器上执行的计算机可执行的软件指令。因此,硬件接口 346可被实施为在执行驱动器344的处理器与容纳有无线电装置354的分开的卡之间的总线连接或其它适当的相互连接。虽然这样的硬件接口是在本领域熟知的,但可以使用任何适当的接口。
[0051 ] 为了配置无线电装置354来支持端口,驱动器344可以配置无线电装置354来处理用于与通过那个端口的通信相关联的特定MAC地址的分组。驱动器344可以把值写入到配置寄存器370,该值指示MAC地址应当被激活以使得无线电装置354将处理用那个MAC地址标识的所接收的分组。在操作中,控制器360可以控制发射机/接收机部分358来对用某MAC地址标识的任何分组作出响应,所述MAC地址被配置寄存器370中的信息识别为现用的(active)。因此,如果多个端口是现用的,则配置寄存器370将包含所述现用的MAC地址中每个MAC地址的指示。
[0052] 除了配置无线电装置354来响应用于端口的MAC地址以外,驱动器344可以规定要结合那个MAC地址一起使用的通信参数。这些参数例如可以规定:不同数目的子信道可被使用于与不同的MAC地址通信。这样,不同端口的通信特性可以根据与该端口相关联的角色而被控制。作为具体的例子,被配置为控制端口的端口与用于传送数据的端口相比,可能需要更低的带宽。因此,无线电装置354可被配置成对于与控制端口相关联的MAC地址使用较少的子信道或不同的编码方案。
[0053] 对于要被传送 的信息,驱动器344和/或无线电装置354可被操作成使得包含这样的信息的所传送的任何帧将由与该信息正为其传送的端口相关联的MAC地址标识。任何适当的机制可被使用来将MAC地址与从特定端口传送或为特定端口接收的特定帧相关联。 而且,这个处理可以在驱动器344内部分地或全部地被执行以及在无线电装置354内部分地或全部地被执行,因为具体的实现并不影响端口的功能。
[0054] 为了实施多个端口,驱动器344也可以被配置。在这个例子中,驱动器344被图示为包含实施复用器/多路分解器392的计算机可执行指令。复用器/多路分解器392操作来把与端口相关联的接收的分组路由到实施相应端口的功能性的驱动器344的一部分。相反地,复用器/多路分解器392从所述端口的任何端口接收用于传输的分组,并把那些分组路由到无线电装置354。
[0055] 在多个端口同时具有信息用于传输的情景下,复用器/多路分解器392可以进行仲裁以确立无线电装置354从端口接收信息的次序。为此,复用器/多路分解器392可以使用任何适当的策略。例如,载送动作帧的分组可被给予优于具有数据帧的分组的优先权。 作为策略的另一个例子,与在基础设施模式下操作的端口相关联的传输可被给予优于在对等模式下操作的端口的优先权。作为再有的又一个例子,被配置用于群主角色的端口可被给予优于被配置用于对等群中客户角色的端口的优先权。然而,由复用器/多路分解器392 应该的具体策略对于本发明并不是关键的,且可以利用任何适当的策略。
[0056] 除了配置复用器/多路分解器392来路由分组以外,还可以通过将特定的功能模块与端口中的每个相关联而配置驱动器344。与端口相关联的特定功能模块可以是基于被指派给那个端口的角色。例如,图3图示了五个功能模块。功能模块394A当与某个端口相关联时,可以配置那个端口以在基础设施网络中按站的角色操作。同样地,功能模块394B 当与某个端口相关联时,可以配置那个端口用于在基础设施网络中的接入点角色。功能模块394C当与某个端口相关联时,可以把那个端口配置成以在对等模式下的控制器的角色操作。在设备协商或重新协商在对等群中的角色时,控制器例如可以控制通信。功能模块 394D当与某个端口相关联时,可以配置那个端口用于在对等群中的群主的角色。功能模块 394E当与某个端口相关联时,可以配置那个端口用于在对等群中的客户的角色。虽然在图 3上未图示,但替换地或另外地,可以包括其它功能模块。
[0057] 功能模块394A…394E可以以任何适当的方式被实施。例如,每个功能模块可被实施为一批计算机可执行指令,它们被编码以执行对于与该功能模块相关联的角色的功能。 例如,功能模块394A可以通过指令而被编码,所述指令控制无线电装置354来酌情传送对于基础设施网络中的站的分组。另外,功能模块394A可包含指令,其允许驱动器344与操作系统320以实现基础设施网络中的站的行为的方式交互。作为具体的例子,功能模块394A 可被编码成自动生成对于某些接收的帧的响应。另外,功能模块394A可被编码成把在帧中接收的数据转送到计算设备310的存储器中的存储单元,然后通知操作系统320 :数据已被接收。而且,功能模块394A可以配置无线电装置354用于那个功能模块的角色。这样的配置可包括设置在规定的角色中所使用的无线通信的子信道数目或其它参数。由功能模块394执行的操作可以类似于在传统驱动器中对于仅仅被配置为在Wi-Fi网络中的站的无线网接口卡执行的那些操作,以及功能模块394可以通过使用在本领域已知的技术而被编码。
[0058] 其它功能模块的每个功能模块可以类似地被编码成与操作系统320和无线电装置354交互,以便配置无线电装置354,以及酌情内部地处理和生成针对其各自角色的通信。功能模块394B例如可以通过计算机可执行指令而被编码,所述计算机可执行指令用本领域已知的用于基础设施网络中的接入点的行为对接收的帧进行操作或响应。另外,功能模块394B可以通过使用在本领域已知的技术被编码成与操作系统320进行交互。 [0059] 功能模块394C可被编码成执行与建立对等群相关联的功能。实施功能模块394C 的指令可以同样地通过使用在本领域已知的技术被编写。那些指令可以使得无线电装置 354传送包含以下类型的动作帧或是对动作帧的响应的分组,即:所述类型是在按照特定协议建立用于对等通信的群时使用的且协商或重新协商设备对于这样的群的角色。在操作系统320内的构件可以触发那些动作帧的发送。然而,对于某些动作帧,功能模块394C可被配置成生成对于动作巾贞的响应而不用由操作系统320明确的动作(express action)。表 I列出可以通过操作系统320命令功能模块394C发送的动作帧的例子。这些动作帧代表适用于Wi-Fi Direct协议的动作帧。在那个协议中使用的另外的动作帧可以不用明确的命令而响应于接收的动作帧或其它适当的触发被发送。然而,应当意识到,不同的或另外的动作帧可被使用于不同的协议,且具体的动作帧并不是对于本发明的限制。
[0060] 表 I
当操作系统320把发送表I中的动作帧之一的请求提交到控制端口时,在驱动器344 内的功能模块394C可以采取诸如以下的动作:
选择用于该传输的对话令牌(dialog token)。如果该发送是响应于请求,则操作系统可以提供要被使用的对话令牌(如下面描述的),以及驱动器344于是可以使用规定的对话令牌。
[0061] 完成该请求。如果驱动器344选择对话令牌,则它在完成请求时可以把对话令牌报告到操作系统320。
[0062] 与所述帧所瞄准的Wi-Fi Direct设备同步。取决于所述实现,如果发送是响应于所接收的请求(例如,在接收邀请请求后发送的邀请响应),则这个步骤可以省略。
[0063] 发送帧以及等待ACK。
[0064] 一旦接收到对于该帧的ACK或如果没有一个重试尝试得到ACK,则发送NDIS_ STATUS指示到操作系统320,以便告知关于动作帧的传输状态。这个指示可包括来自包含动作帧的分组的信息单元。
[0065] 如果发送是用于将接收来自对等设备的回答的帧并且传输是成功的,则端口可以保持为可用于该对等设备来发送回答动作帧到小型端口(miniport)。超时和可用的机制可以遵循Wi-Fi对等技术的技术规范。
[0066]当功能模块394C与端口相关联时触发功能模块394C发送动作帧的在操作系统 320内的特定构件对于本发明并不是关键的。然而,图3图示了在操作系统320内的设备管理器330。设备管理器330例如可以是在本领域熟知的设备管理器,其可以呈现用户或可编程的接口,用户或其它执行部件可以通过该接口请求:通过使用对等通信来建立与设备的通信会话。
[0067] 当端口(诸如端口 386)被配置成通过将那个端口与功能模块394C相关联而充当用于对等通信的控制器时,设备管理器330可以与端口 386交互,以便控制建立与一个或多个设备的对等通信的各种方面。例如,设备管理器330可以接收请求那个计算设备310被无线地连接到诸如打印机134那样的设备(图I)的用户输入。响应于这样的输入,设备管理器330可以通过堆栈322与端口 386交互,因而促使功能模块394C控制无线电装置354 来传送动作中贞。
[0068] 传送的动作帧可以是与设备或服务发现相关联的那些动作帧。设备管理器330可以规定那些请求的性质,诸如功能模块394C是应当寻求发现在计算设备310附近的任何设备还是仅仅发现提供诸如打印机服务那样的识别的服务的设备。然而,设备管理器330可被配置成通过端口 386以其它格式发送命令,以便建立与群中的一个或多个设备的通信。
[0069] 作为例子,图3显示操作系统320维护了持久设备存储库(persistent device store) 328。持久设备存储库328可包含标识计算设备310以前已与之建立无线通信的设备的信息。设备管理器330可以访问持久设备存储库328中的信息,以便识别特定的设备和通过端口 386发送命令,用于功能模块394C生成动作帧,以建立与在持久设备存储库328 中标识的设备的无线连接,这些动作可以响应于用户输入或响应于任何其它适当的触发而自动地发生。
[0070] 在设备管理器330需要诸如口令或标识符那样的信息来建立与外部设备的通信的情景下,设备管理器330可以替换地或另外地通过用户接口(在图3上未明显地示出)与用户交互,以便从用户或某个其它源得到那个信息。当那个得到的信息需要被传送时,设备管理器330可以与被配置成控制器的端口交互,以促使那个信息被发送。
[0071] 不管触发被配置为诸如端口 386那样的控制端口的端口来识别设备群的机制如何,控制端口可以发送和接收动作帧,以便识别形成包括计算设备310的群的一个或多个设备。除了识别所述群以外,通过端口 386被发起的动作还可以为计算设备310协商在该群内的角色。在所图示的Wi-Fi Direct对等协议的例子中,设备可以在群中具有作为群主或作为客户的角色。可以通过不同的端口执行与在所识别的群中的另外的一个或多个设备的通信。那个端口可以被配置成支持在为计算设备310识别的角色中的行为。
[0072] 在图3所示的例子中,图示了附加端口 388和390。这些端口的每一个可以与不同的角色相关联。例如,端口 388可以与群主的角色相关联。端口 390可以与客户的角色相关联。配置端口用于不同的角色可以通过将该端口与功能模块相关联而被执行,所述功能模块执行了与角色相关联的操作。例如,功能模块394D (其执行与作为群主操作的设备相关联的功能)可以与端口 388相关联。同样地,功能模块394E (其执行与作为客户操作的设备相关联的功能)可以与端口 390相关联。
[0073] 在操作中,当通过无线电装置354接收到具有与端口 388或390相关联的MAC地址的分组时,复用器/多路分解器392将路由那些分组,以便在相关联的端口内处理。被路由到端口 388的分组可以由功能模块394D处理,所述功能模块394D可能执行与群主的角色相关联的动作。包含数据帧的分组可以通过以下方式被处理,即把数据放置在存储器中并通知堆栈322 :数据已被接收。与操作系统320的这样的交互可以使用在本领域已知的堆栈信令技术。然而,用以在每个端口与操作系统320之间进行通信的特定机制对于本发明并不是关键的。
[0074]当动作帧作为与其中计算设备310是群主的群所建立的会话的一部分被发送时, 那些动 作帧同样地可以由复用器/多路分解器392路由到端口 388。功能模块394C可被配置成响应那些动作帧或可被配置成把动作帧报告给操作系统320,这取决于功能模块394C 是否被编程为响应它们。[0075] 同样地,如果计算设备310被配置成用于群中的客户的角色,则涉及到与那个群中的设备通信的分组将用某个MAC地址标识,所述MAC地址使得复用器/多路分解器392把那些分组路由到被配置为客户的端口,诸如端口 390。端口 390可以与按照对等协议实施客户的功能性的功能模块394E相关联。功能模块394E可被配置成通过使用在本领域已知的技术把来自这样的分组中的数据帧的数据转送到存储器并把那个数据告知操作系统320。 功能模块394E可以响应包含动作帧的分组,或可以把那些管理帧告知操作系统320。
[0076] 图3图示通信功能的特定的分级结构。涉及到与外部设备通信的某些功能在无线电装置354内执行。其它功能在驱动器344内执行。再有的另外的功能在操作系统320内执行。虽然没有具体地示出,但甚至有另外的功能可以由应用220 (图2)执行,或者通过来自用户或计算设备310外部的源的输入而执行。通过这样的体系结构,较高级别的功能一诸如确定哪些设备作为对等群的一部分连接一可以在体系结构中的较高级别被执行。相反, 较低级别的功能一诸如生成对于接收的分组的应答一可以在体系结构中的较低级别被执行。例如,驱动器344可被配置成生成这样的应答。
[0077] 虽然其它体系结构也是可能的,其可以不同地划分功能以使得通信的不同方面被不同的部件控制,但在所图示的例子中,无线电装置354和驱动器344被配置成无状态地 (statelessly)响应诸如命令或接收的分组那样的事件。就状态信息牵涉到通信会话而言, 那个状态信息可被保存在操作系统320内。例如,堆栈322可以保存用于通过端口 382、384、 386、388和390中的任何端口进行的通信会话的状态信息。所保存的特定状态信息可能取决于由每个端口支持的协议内状态的数目和类型。 [0078] 在图3的例子中,会话状态信息324A被显示为与端口 388相关联。虽然没有明显地示出,但可以为其它端口保存会话状态信息。取决于由端口 388实施的协议,这样的会话状态信息可以指示会话的参数,诸如参加其中计算设备310是群主的群的设备的数目。其它状态信息,诸如直至那些设备可能进入较低电能模式之前的时间,也可以被存储作为会话状态信息324的一部分。
[0079] 图3另外还显示了与端口 388相关联的会话状态信息324B和324C。状态信息 324B和324C可以描述不同的会话。如果计算设备310加入到三个群,在这些群中它是群主,则可以引发这样的会话。为了支持多个这样的会话,可以提供将发送的或接收的特定帧与对应的会话相关联的机制。可以使用任何适当的一个或多个标识符。例如,与设备的群的通信可被看作为会话,这样使得群的标识符可被使用来聚集相关的通信作为会话的一部分。堆栈322提供接口到设备管理器330或其他部件,它将每个会话与作为那个会话中的终点的适当部件相关联。这样的对接可以通过使用在本领域已知的技术被执行。
[0080] 除了保存允许来自分开的会话的通信被适当地呈现的状态信息以外,堆栈322还可以将以下信息保存作为为各个会话所保存的状态信息的一部分,即所述信息允许堆栈 322联系(relate)作为执行某个功能的通信交换的一部分的通信。例如,当发送代表请求的帧时,认识到随后接收的帧是对那个请求的响应可能便于进行请求和响应的处理。提供联系作为交换的一部分的通信的机制可以便于处理,特别是在同一个端口上支持多个会话的情况下。为了使得能辨别作为交换的一部分的通信,可以使用“对话令牌”。发起交换的通信可以用这样的对话令牌被加标志。在响应于这样的通信后,来自请求的对话令牌可被复制到响应中。因此,发送请求的设备可以把响应或作为同一个交换的一部分的任何其它通信与该请求相关联。因此,状态信息324A可包含与正在进行的通信相关联、牵涉到正作为会话的一部分通信的任何设备的对话令牌。
[0081] 对话令牌可以以任何适当的方式被生成。它们例如可以在操作系统320内被生成。替换地,如果开始对话的分组在某个端口中被发起,则所述端口或者在驱动器344内的其它部件可以生成该令牌。同样地,如果对于分组的回答在诸如端口 386、388或390那样的端口内被生成,则令牌可以由那个端口插入到所述回答中。相反,如果响应于在操作系统 320内生成的命令而发起对于分组的回答,则在操作系统320内的部件,诸如堆栈322,可以规定用于包括在回答中的令牌。表I指示,对于列出的动作帧,与动作帧相关联的对话令牌是否在操作系统中被生成,或者如果不是的话,是否在驱动器中生成。然而,应当意识到,表 I仅仅代表生成用于帧的对话令牌的功 能性可以如何被划分的一个例子,以及可以使用那个功能的任何适当的划分。
[0082] 类似的会话状态信息326A、326B和326C结合端口 390被显示。会话状态信息 326A、326B和326C可以代表对于三个会话的每个会话所保存的状态,每个会话与其中计算设备310是具有客户角色的成员的某个群相关联。如同会话状态信息324A、324B和324C — 样,独特的对话令牌可以与会话中的每个会话相关联,因而允许堆栈322将与每个会话相关联的接收的分组分开。同样地,计算设备310可以促使某个对话令牌与从计算设备310传送的分组相关联。对话令牌可被使用来允许堆栈322或是接收来自计算设备310的分组的远端设备上的类似处理部件去关联分组,所述分组是作为多分组信息交换的一部分的。例如,在对于第一分组的回答中发送的第二分组可包括来自第一分组的令牌。结果,当第一分组的发送者接收到第二分组时,它可以将第一分组和第二分组与同一个对话相关联。
[0083] 通过图3所示的体系结构,关于每个连接的状态信息可被保存在操作系统320内。 结果,端口 386、388和390不需要保存状态信息。在一些实施例中,实施端口的功能的功能模块,诸如功能模块394C、394D和394E,不保存状态信息。相反,每个功能模块可被编码成对事件进行响应,所述事件是诸如来自操作系统320的命令或所接收的、通过无线电装置 354传送的分组。然而,不管这个功能性被如何划分,计算设备310可被控制成通过建立和配置端口来执行每个实体的功能性而供应与多个实体相关联的功能性。结果,因为驱动器 344和无线电装置354可被配置成支持多个端口,所以计算设备310可以并发地作为不同的实体操作。这些实体可包括与基础设施模式通信相关联的实体以及与对等通信相关联的实体。
[0084] 然而,不管计算设备是如何构建的,设备可以实施在基础设施模式协议和/或对等协议中定义的功能。由按照对等协议操作的设备执行的功能可包括形成用于对等通信的两个或更多个设备的群。形成群的一个方面可包括选择群的设备来执行与所述群的控制相关联的功能。这样的功能例如可包括确定允许哪些设备加入所述群,提供用于所述群的标识符和为所述群内的设备提供地址。在这里描述的示例性实施例中,这样的设备可以是群主。作为群的一部分的其它设备可以是群主的客户。
[0085] 图4图示群中的设备可用以操作的方法。图4的例子图示:在群内的操作可包括为群中的设备协商角色。这个协商可以在群形成期间发生,正如传统的那样。另外,与传统的对等群相反,图4图示:设备的角色可以响应于在群的操作期间发生的事件而被重新协商。[0086] 因此,图4的过程从子过程410开始。作为子过程410的执行的结果,加入群中的成员被识别。子过程410可以以任何适当的方式被执行。例如,寻求形成与另一个设备的无线连接以便访问服务的设备可以传送动作帧,诸如探测请求。接收探测请求的设备可以响应以另外的动作巾贞,诸如按照Wi-Fi Direct协议的探测响应,指示加入所述群的可用性 (availabi I i ty )。由于这样的消息交换的结果,要加入所述群的设备被识别。
[0087] 一旦设备被识别,过程就可以继续进行到子过程420。在子过程420,设备可以协商所述群内的角色。一个这样的角色可以是控制群的设备。在各设备按照Wi-Fi Direct 协议操作的所示的例子中,控制设备可被称为群主,以及其它设备可被称为客户。然而,并不要求设备按照Wi-Fi Direct协议操作。任何适当的机制可被使用来协商角色,以使得在群中的设备共同选择某个设备去充当用于所述群的控制设备。
[0088] 作为一个例子,每个设备可以把代表用于控制群的首选项(preference)的首选项参数的值传达给其它的设备。在群中的设备可以将传送最高值的设备认作为用于所述群的控制器。在多个设备传送相同的最高值的情景下,可以利用争用机制来从报告对于首选项参数的最高值的那些设备中间进行选择。争用机制例如可包括随机选择的基本原则 (element),或是选择控制群的设备的任何其它适当的机制。
[0089] 每个设备可以以任何适当的方式确定它的对于首选项参数的值。在一些实施例中,每个设备可以被用一个或多个策略来编程,这些策略可被应用来确定在子过程420中作为协商的一部分被报告的、对于该设备的首选项值。例如,设备可以具有根据设备的功能报告更高值,更很可能导致该设备成为控制器的策略。如果设备执行频繁重复或必然伴有来自其它设备的通信的频繁接收的功能,则该设备可以被用指派相对高的数给首选项参数的策略来编程,相反,如果设备经常是不活动的或很少与群中的其它设备通信,则该设备可以被用指派相对低的数给首选项参数的策略来编程。
[0090] 代替或附加于涉及到通信的频率的准则,某些准则可被使用来为设备的首选项参数选择值。在一些实施例中,群中的一个或多个设备可以被用根据设备的电源状态来影响设备被选择去控制群的或然率的策略来编程。作为具体的例子,被连接到AC电源的源或在使用中不会被耗尽的其它电源的设备可以被用增加该设备将被选择来控制群的或然率的策略来编程。相反,以电池或其它可耗尽的电源操作的设备可以被用减小该设备将被选择来控制群的或然率的策略来编程。而且,这样的策略可取决于电池或其它可耗尽的电源的电荷,在协商时,当电源拥有较少的电荷时,让设备被选择来控制群的或然率减小。
[0091] 不管设备用以确定用来反映对于控制群的首选项的值的方式如何,每个设备可以在子过程420期间在发送的消息中把它的值传达给其它设备。通过以这种方式交换消息, 被识别的设备可以达成对充当群控制器的设备的共同选择。过程然后可以进到方框430。 [0092] 在方框430,每个设备可以存储在得出它的用于控制群的首选项中所使用的状态信息。在首选项是基于设备的电源状态(诸如它是被连接到AC电源的源还是电池)的实施例中,在方框430,那个电源状态信息可以被存储。这个状态信息可以以任何适当的方式被存储。在一些实施例中,该状态信息可被存储在非易失性存储介质,诸如永久设备存储库 328。结果,即使设备中的一个或多个断电,或以另外的方式临时从群断开,该信息仍可以稍后在群操作期间被访问。然而,应当意识到,状态信息可被存储在设备可访问的任何适当的计算机存储介质中。[0093] 过程然后可以进到判决框432。在判决框432,过程可以根据在子过程420中协商的结果进行分支。如果作为在子过程420中的协商的结果,设备被选择去控制群,则由该设备执行的过程可以从判决框432分支到子过程440。相反,如果执行图4的过程的设备没有被选择去控制群,则过程可以从判决框432分支到子过程450。
[0094] 如果过程到达子过程440,则执行图4的过程的设备可以执行控制群的动作。在子过程440内执行的特定动作可以取决于由群中的设备所使用的协议。作为例子,在子过程440内采取的动作可包括接收和响应来自另外的设备的加入群的请求,把群地址指派给群内的设备,向群内的设备通知在其间设备可以使它们的无线电装置断电的间隔,或在群中的设备之间中继消息。然而,特定的控制动作并不是本发明的要求。替换地或另外地,可以由被选择来控制群的设备采取任何适当的动作。
[0095] 过程可以进行到子过程442。在子过程442,执行图4所示的示范性过程的设备可以在对等的基础上与群中的其它设备通信。特定的通信可以取决于控制设备的功能和群中的其它设备的功能。例如,在图I的例子中,计算设备Iio如果被选择来控制群,则它可以传送数据到另一个设备,诸如打印机134,以便由该设备打印。不管特定的功能如何,当设备被选择来控制群时,这样的通信可能必然伴有发送或接收按照由所述群使用的协议被格式化的消息。在这种情形下,消息将根据该设备作为群的控制器的角色被格式化。作为具体的例子,当对等群按照Wi-Fi Direct协议操作时,由该设备发送的通信将按照该协议对于由群主发送的消息的要求而格式化。由设备接收的消息将按照发送到群主的消息被格式化。然而,应当认识到,任何适当的格式化和任何适当的处理均可以作为子过程442的一部分被执行。
[0096] 然后所述过程可以进到判决框444。在判决框444,取决于是否检测到状态改变, 过程可以进行分支。在判决框444的处理可能必然伴有比较当前的状态信息与在方框430 处存储的状态信息。例如,在所存储的状态信息包括电源状态信息的实施例中,在判决框 444的处理可能必然伴有访问当前的电源状态信息。
·[0097] 这样的状态信息可以以任何适当的方式得到。在一些实施例中,状态信息可以通过执行图4过程的设备的操作系统与计算设备的硬件部件交互而得到。在图2的具体例子中,这样的交互可能必然伴有操作系统230与电源管理器234交互。作为这样的交互的一部分,操作系统230可以得到与设备的电源状态有关的状态信息。操作系统230例如可以得到指示设备是否被连接到AC电源的源的信息。替换地,操作系统230可以确定设备是由诸如电池那样的可耗尽电源供电的。在一些实施例中,由电源管理器234提供的信息可指示在电池上的剩余电荷。因此,在判决框444,可以进行当前的状态信息与为对等群中的设备协商角色时存储的状态信息的比较。
[0098] 如果没有发生状态改变,则过程可以循环回到子过程440,如此使得在群内的设备可以继续进行通信。这样,只要群继续操作,子过程440和442就可以通过在判决框444重复检查状态改变而重复进行。
[0099] 应当意识到,在判决框444进行的比较可以基于任何适当数目的参数。在一些实施例中,判决可以是基于代表设备的当前电源状态的单个参数。然而,在其它实施例中,比较可能必然伴有多个参数。例如,在判决框444的比较可能必然伴有代表电源状态的参数和代表由作为群的一部分的设备执行或访问的功能的参数的比较。如果在比较中使用多个参数,则在比较时,每个参数可以以任何适当的方式被加权。
[0100] 而且,应当意识到,比较可以通过使用任何适当的粒度水平以任何适当的方式进行。作为一个例子,设备的电源状态可以用从值的有序组中选择的值来代表。作为具体的例子,值的有序组可以包含代表AC电源、电池电源和具有低于阈值的电荷水平的电池电源的值。在这个例子中,当设备将状态例如从靠AC电源操作改变到靠电池电源操作时,在方框444将检测到状态改变。如果设备保持在靠电池电源操作但电池的剩余电荷降低到低于阈值,则也可以检测到状态改变。
[0101] 不管用以在判决框444确定状态改变的方式如何,如果检测到这样的状态改变, 则过程可以从判决框444分支到方框446。在方框446,设备可以发送重新协商消息。这样的消息可以触发群中的设备以发起它们的角色的重新协商。
[0102] 因此,图4所示的处理可以循环回到子过程420,在这里可以重复进行协商角色的过程。这样,设备可以根据检测到的状态改变而触发在群中的角色的重新协商。重新协商可以导致相同的或不同的设备被选择来控制群。
[0103] 当过程经过方框446时,重新协商由当前作为群主操作的设备触发。图4图示重新协商可以由群中的任何设备触发。如所图示的,过程在判决框432根据执行过程的设备是否充当群主而进行分支。如果不是的话,过程进到子过程450。在子过程450,执行图4 的处理的设备可以以它的被指派为客户的角色进行通信。在子过程450中由作为客户进行通信的设备采取的特定动作对于本发明并不是关键的。然而,那些动作可以取决于由在群中进行通信的设备使用的对等协议。这样的通信例如可包括与已被选择来控制群的设备交换消息。
[0104] 不管作为客户通信的一部分所采取的动作如何,过程可以进到判决框452,在那里如果检测到状态改变,则过程可以进行分支。在判决框452处的处理可以类似于如上所述的、在判决框444处执行的处理。然而,在判决框452处的处理是当设备被选择为客户而不是群主时执行的。无论如何,如果没有发生状态改变,则过程可以从判决框452循环回到子过程450。这样,设备可以继续以它的作为群客户的角色进行通信。
[0105] 相反,如果在判决框452处的处理确定已发生状态改变,则过程可以从判决框452 分支到方框454。在方框454,设备可以发送重新协商消息。在方框454发送的消息可以与在方框446发送的消息采用相同的格式。然而,应当意识到,在方框446处的处理由充当群主的设备执行,而在方框454处的处理由充当客户的设备执行。按照某些对等协议,由客户发送的消息的格式化可以与由群主发送的消息的格式不同。然而,无论是在方框446还是 454发送的消息的特定格式化对于本发明并不是关键的。不管消息格式化如何,消息可以触发在群中的其它设备来重新协商设备在群中的角色。因此,图4图示了过程从方框454循环回到子过程420,在其中进行角色协商。
[0106] 通过在群中的某些或所有的设备上执行的图4的过程,所述群可以以如下的方式来操作,即:被选择来控制群的设备根据所述设备的相对状态而不时改变。例如,在其中在方框444和452处考虑的状态是电源状态的实施例中,群可以继续操作,令在任何时间被选择来控制群的设备是根据群中所述设备的相对电源状态而改变的。作为特定的例子,带有非可耗尽电源的设备可被选择为群主,且如果相对电源状态改变,则这个选择可以改变。 在其中没有设备具有非可耗尽电源的实施例中,具有最高剩余电荷的设备可被选择来控制群。然而,在使用其它准则来选择群主的实施例中,所选择的群主也可以根据其它准则而不时地改变。
[0107] 在群中的设备可以通过使用采用任何适当格式的消息在任何时间协商。然而,图 5A、5B和5C图示按照示范性实施例可被使用的消息格式。图5A图示在将导致选择控制群的设备的协商中可被使用的消息510。在这个例子中,消息510被格式化为按照对等协议规定的、用于协商对于群的控制设备的动作帧。消息510例如可包含表示消息的类型的部分 512。在这个例子中,部分512具有某个值,其指示消息510是用于导致选择控制群的设备的协商。因此,消息510包括用来输送用于协商的信息的部分514。该部分514在本例中包含参数的值,其指示发送消息510的设备要被选择来控制群的首选项。
[0108] 图5B图示了消息520,其可被传送来在已形成群和已选择控制群的设备之后的某个时间触发重新协商。消息520可以以任何适当的方式被格式化。在这个例子中,消息520 按照由群使用的对等协议的动作帧被格式化。因此,消息520包括部分522,其包含指示消息520是动作帧的值。在部分522中的特定值可以标识动作帧的类型。在这个例子中,动作帧的类型对于本发明并不是关键的,但它可以有由客户设备按照对等协议发送的那种类型。然而,任何动作帧都可以通过并入与重新协商有关的信息单元而被修改。在这个例子中,消息520被显示为包含部分524,该部分具有代表信息单元的值。信息单元可以具有某个值,该值表示:发送消息520的设备正在请求重新协商控制群的设备。如果这样的消息由客户发送,则例如其可以在方框454被发送,或者如果是由控制群的设备发送,则其可以在方框446被发送。
[0109] 图5C图示消息530。像消息520那样,消息530可以被作为触发对执行动作来控制对等群的设备的重新协商的一部分发送。虽然消息530的格式对于本发明并不是关键的,但在本例中,消息530包括部分532。部分532表示:消息530是按照由群使用的对等协议进行格式化的 动作帧。动作帧的特定类型可以由部分532中的值表示。然而,在图5C 所示的示范性实施例中,任何动作帧可以通过并入信息单元而被修改成涉及到重新协商。
[0110] 在图5C的例子中,消息530被显示为包括含有这样的信息单元的部分534。因此, 消息530具有类似于消息520的格式。然而,消息520和530的不同点在于,消息530在部分534中包含充当对于在群中的设备的命令的值,用来重新协商控制群的设备。因此,消息 530可以在方框446和/或方框454 (图4)被发送。
[0111] 如图5C中被格式化的消息还可以代替或附加于如图5B中被格式化的消息而被使用来触发重新协商。在一些实施例中,在群中的任何设备可以通过发送被格式化为消息530 的消息而直接触发重新协商,所述消息可被群中所有的设备解译为开始重新协商被选择来控制群的设备的命令。在其他实施例中,仅仅在群中的设备的子组可以发送命令来直接触发重新协商。其它设备例如可以发送被格式化为消息520的请求。在这样的实施例中,接收到这样的请求的设备可以确定是否要执行重新协商。如果是的话,则可以由该设备发送被格式化为消息530的、用于重新协商的命令。这样的消息交换例如可以发生在其中仅仅当前控制群的设备发送命令以促使重新协商的实施例中。充当客户的设备可以发送被格式化为消息520的重新协商请求。
[0112] 以这种方式使用分开的请求和命令,允许当群中的任何设备的状态改变时选择性地执行重新协商。然而,重新协商可被限制以便不扰乱群的操作。作为具体的例子,客户可以发送对于重新协商的请求,但作为响应,如果群中的一个或多个设备正在执行操作或如果最近刚执行重新协商,则控制设备可不发送执行重新协商的命令。
[0113] 应当意识到,图5A、5B和5C提供了可以在对等群中使用的消息格式的例子。这些或其它适当的消息可以由控制群的设备或由在该群中的客户发送。在一些实施例中,取决于设备在群内的角色,设备可以发送不同的消息。图6图示被指派控制群的角色的设备的示范性操作方法。在这个例子中,设备可以按照Wi-Fi Direct协议操作,以及该设备可被指定为群主。
[0114] 正如所示的,图6的过程可以从子过程610开始,在其中用来形成群的设备被识另|J。在子过程610中的处理可以以任何适当的方式被执行。作为一个例子,子过程610可以以与上述的子过程410 (图4)相同的方式被执行。
[0115] 不管用以执行子过程610的方式如何,过程可以进到判决框620。在判决框620, 过程可以根据执行图6过程的设备的状态进行分支。在这个例子中,过程根据设备的电源状态进行分支。在判决框620,过程根据设备是否被连接到AC电源的源而进行分支。如果设备被连接到AC电源的源,则过程从判决框620分支到方框622。相反,如果设备没有被连接到AC电源的源,则过程从判决框620分支到判决框630。
[0116] 如果处理到达方框622,则设备根据它的电源状态选择首选项参数的值。在这个例子中,当处理到达方框622时,根据与AC电源的连接,选择该设备的对作为群主的首选项值。在一些实施例中,如果处理到达方框622,则可以选择相对高的值。然而,所选择的特定 值可以依赖于被编程到设备中的策略,或依赖于根据诸如电源状态那样的检测的条件而生成值的其它准则。
[0117] 相反,如果处理分支到判决框630,则可以再次根据设备的电源状态进行另外的分支。在这个例子中,图示了三个电源状态。让一个电源状态对应于AC电源,而两个电源状态对应于靠电池电源操作。电池供电的状态是根据电池的剩余电荷被区分的。当处理到达判决框630时,设备被确定为靠电池电源操作。因此,处理是根据电池的电荷状态进行分支。 如果电池电荷高于阈值,则过程可以从判决框630分支到方框632。相反,如果剩余电荷低于阈值,则过程可以从判决框630分支到方框634。
[0118] 在方框632和634,选择值来指示对于作为群主的首选项。在每种情形下,所选择的特定值是基于设备的检测的电源状态和由设备应用的策略或其它准则。因此,如果处理到达方框632,则选择对于对应靠电池电源操作且电池电荷水平高于阈值的电源状态适当的值。相反,如果处理到达方框634,则选择对于指示靠电池电源操作、而剩余电荷低于阈值的电源级(power stage)适当的值。
[0119] 不管在方框622、632或634选择的特定值如何,过程可以进到子过程640。在子过程640,执行图6过程的设备可以传送包含首选项参数的所选择值的一个或多个消息。在子过程640中的处理可以以与以上结合子过程420 (图4)描述的相同的方式或以任何其他适当的方式执行。作为这样的处理的结果,设备可被选择来控制群,或可被选择来作为群主的客户。然而,在这个例子中,图6上所示过程的剩余部分代表当子过程640的结果是设备被选择为群主时可以被执行的处理。
[0120] 处理接着进到方框650。在方框650,可以存储设备的状态。在方框650处的处理可以类似于以上结合方框430 (图4)描述的处理。作为这样的处理的结果,设备可以把在由子过程640代表的协商时的它的状态存储在任何适当的计算机存储介质。在方框650处被存储的状态信息可包括所确定的设备的电源状态。然而,应当意识到,在方框650任何适当的信息可以替换地或另外地被存储。作为一个例子,状态信息可以替换地或另外地包括时间信息,其指示协商被执行的时间。例如在其中重新协商根据包括时间的消逝的因素被执行或被阻止的实施例中,可以存储这样的时间信息。作为具体的例子,在一些实施例中, 重新协商可以在预定的时间量消逝以后被执行。替换地或另外地,在一些实施例中,重新协商可以被抑制,而不管一个或多个设备的状态改变如何,除非自从前一次重新协商以来已经经历了超过阈值的时间量。
[0121] 不管在方框650被存储的特定信息如何,图6图示了过程继续进行到确定是否应当执行重新协商。在这个例子中,应用三个准则来确定是否要执行重新协商。然而,应当意识到,任何适当数目和类型的准则可被使用来确定是否应当执行重新协商。在这个具体的例子中,过程继续进行到判决框662。在判决框662,过程根据设备的电源状态的改变进行分支。在所示的实施例中,设备作为群主操作,以及设备的策略给设备强加具有作为群主的最高可用电源级的首选项。因此,如果作为群主操作的设备在电源状态中已经有减少,则该设备可以触发重新协商,如果存在具有更高电源状态的另一个设备,则这可以导致另一个设备被选择为群主。 [0122] 因此,如果有电源状态减少,则过程从判决框662分支到方框670。在方框670,设备可以发送重新协商命令。在方框670发送的消息例如可被格式化为消息530(图5C)。然而,应当意识到,在方框670发送的消息的特定格式对于本发明并不是关键的。在所示的实施例中,在群中的其它设备可以把在方框670发送的消息认作为重复选择群主的子过程的命令。因此,从方框670,图6的过程循环回到判决框620,在其中再次启动协商。
[0123] 相反,如果没有检测到电源状态降低,则图6的过程可以从判决框662继续进行到判决框664。在判决框664,过程可以根据充当群主的设备是否接收到来自群中任何其它设备的重新协商请求而分支到方框670。在判决框664中的处理可能必然伴有确定群主是否接收到被格式化为消息520 (图5B)的消息。然而,应当意识到,客户用以发信号通知群主它正在请求群主的重新协商的具体格式对于本发明并不是关键的。
[0124] 正如所示的,不管所接收的消息格式如何,如果这样的请求被接收,则过程从判决框664分支到方框670,在其中命令进行重新协商。
[0125] 当没有接收到重新协商请求时,过程可以进到判决框666。在判决框666,过程可以再次进行分支,这取决于执行图6过程的、作为群主操作的设备是否允许新的设备作为客户加入所述群。如果新的客户加入所述群,则过程可以从判决框662分支到方框670,在其中可以触发重新协商。结果,可能更好地适合于充当群主的新设备可以变为群主。
[0126] 图6图示:如果没有新的客户加入到群,则处理在判决框666之后结束。应当意识至IJ,在图6所示的处理之后可以执行任何适当的处理。例如,可以触发重新协商的一个或多个准则可以进一步被测试。而且,虽然在图6上没有明显示出,但对于确定是否重新协商群主的测试可以周期地重新应用。而且,执行图6过程的设备此后可以执行其它动作,包括通信或控制群。
[0127] 从图6上非限制性例子应当意识到,重新协商可以是全部或部分地基于许多准则中的任何准则。那些准则可以是基于控制群的设备的电源状态,由群的客户所检测的条件,或群成员的改变。任何其它适当的准则可以替换地或另外地被应用来确定是否以及何时应当执行群主的重新协商。
[0128] 客户设备也可以执行响应或触发对于群主的重新协商的处理。图7图示操作作为在对等群中的客户的设备的过程。在图7上的处理可以在子过程710开始,在其中将成为群成员的设备被识别。在子过程710中的处理可以类似于在子过程410 (图4)或子过程610 (图6)中执行的处理。然而,这样的处理可以以任何适当的方式被执行。
[0129] 不管用以识别形成群的设备的方式如何,过程然后可以进行到判决框720。在这个例子中,判决框720代表用来选择对于执行图7过程的设备首选项值的处理的开始。这样的首选项可以根据在设备上被编程的策略进行选择,以及该首选项可以指示对于设备作为群主的首选项。在这个例子中,首选项值根据设备的电源状态进行选择。因此,在判决框 720,过程根据设备是否被连接到AC电源的源而进行分支。如果不是的话,过程分支到判决框730,在其中过程根据给设备供电的电池的剩余电荷而进一步地进行分支。因此,根据电源状态,设备将执行在方框722、732或734之一中的处理。在这个例子中,在方框722中的处理可以以与在方框622中的处理相同的方式被执行。在方框732中的处理可以以与在方框632中的处理相同的方式被执行。在方框734中的处理可以以与在方框634中的处理相同的方式被执行。然而,在方框722、732和734中,在这些方框的每一个中选择的首选项参数的特定值可以依赖于对于执行图7过程的设备可以是独特的策略或其它准则。结果,根据设备的电源状态,选择给出该设备的对于作为群主的首选项的值。
[0130] 不管用以选择首选项值的方式如何,处理可以进到子过程740。在子过程740,设备可以与群中的一个或多个其它设备交换消息,以便选择某个设备作为群主。在子过程740 中的处理可以与在子过程640中的相同。然而,在这个例子中,不是把执行该处理的设备选择为群主,而是在子过程740内的消息交换导致选择另一个设备作为群主,这样使得执行图7过程的设备被指派为所述群的客户的角色。
[0131] 然后处理进到方框750,在其中设备在协商时的状态被存储。在方框750中的处理可以以与在方框650 (图6)中的处理相同的方式被执行。任何适当的参数可以被存储来定义这个状态,以及被选择作为客户和作为群主的设备可以应用不同的准则来确定是否触发对于群主的重新协商。因此,在一些实施例中,对于不同参数的值可以在方框750,而不是在方框650 (图6)中被存储。
[0132] 执行图7过程的设备可以根据电源状态的改变而触发重新协商。在这个例子中, 设备作为客户操作,以及当它的电源状态增加时将触发重新协商。因此,图7显示过程在判决框760处根据设备的电源状态是否增加而进行分支。如果电源状态增加,则过程从判决框760分支到方框762。
[0133] 在方框762,设备可以发送重新协商请求。在方框762发送的消息可以像消息520 (图5B)那样被格式化。然而,应当意识到,在方框762发送的重新协商群主的请求的特定格式对于本发明并不是关键的,以及这样的消息可以具有任何适当的格式。例如,虽然在图 5B上没有明显地示出,但用于重新协商消息520的请求可包括附加信息,其可被群主使用来确定是否接受请求和命令进行重新协商。作为一个例子,重新协商请求消息520可包括附加字段,其指示设备的新的电源状态或可以根据电源状态被计算的新的首选项值。群主可以使用这样的信息,例如,以确定重新协商是否将导致不同的设备被选择为群主。在其中客户的电源状态增加但仍旧低于或等于当前群主的电源状态的情景下,群主可以不发布触发重新协商的命令。
[0134] 不管在方框762发送的消息格式如何,处理可以进到判决框764。在判决框764,过程可以根据是否接收到重新协商命令而进行分支。在判决框764处的处理可以在其中群主响应于从客户设备接收的请求而有条件地发布重新协商的命令的实施例中被使用。因此, 只有当接收到这样的命令时,处理才将从判决框764循环回到判决框720,以开始重新协商的过程。如果没有接收到这样的命令,则图7的处理可以结束。
[0135] 然而,应当意识到,执行图7过程的设备可以在执行判决框764后执行其它动作。 它可以例如随后响应于重新协商命令、或周期地检查电源状态的改变、或响应于指示电源状态改变的事件。替换地或另外地,该 设备可以执行其它功能,诸如与在对等群中的客户设备相关联的功能。图4-7的处理可以在被配置成作为群的一部分进行通信的任何设备中被执行。
[0136] 图8图示在其中可以实施本发明的适当计算系统环境800的例子。计算系统环境 800仅仅是适当的计算环境的一个例子,且不打算对本发明的使用范围或功能性提出任何限制。计算环境800也不应当被解译为具有有关在示范性操作环境800中所示的任一个部件或部件的组合的任何依赖性或要求。
[0137] 本发明是可利用许多其它通用或专用计算系统环境或配置操作的。可以适合于与本发明一起使用的熟知的计算系统、环境和/或配置的例子包括但不限于:个人计算机、月艮务器计算机、手持或膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型计算机、大型计算机、包括任何上述系统或设备的分布式计算环
士咅坐坐
-1¾寸寸ο
[0138] 所述计算环境可以执行计算机可执行指令,诸如程序模块。通常,程序模块包括例行程序、程序、对象、构件、数据结构等等,它们执行特定的任务或实施特定的抽象数据类型。本发明也可以在其中任务由通过通信网被链接的远端处理设备执行的分布式计算环境下被实践。在分布式计算环境中,程序模块可被放置在包括存储器存储装置的本地和远端计算机存储媒体中。
[0139] 参照图8,用于实施本发明的示范性系统包括采用计算机810的形式的通用计算设备。计算机810的部件可包括但不限于:处理单元820、系统存储器830和系统总线821, 系统总线821将包括系统存储器的各种系统部件稱合到处理单兀820。系统总线821可以是几种类型的总线结构中的任何类型,包括存储器总线或存储器控制器、外围总线和使用各种总线体系结构的任何一种的本地总线。作为例子,但不是限制,这样的体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MCA)总线、增强ISA (EISA)总线、视频电子装置标准协会(VESA)本地总线和外围部件互连(PCI)总线,也被称为Mezzanine总线。
[0140] 计算机810典型地包括各种各样的计算机可读媒体。计算机可读媒体可以是能由计算机810访问的任何可用的媒体,且包括易失性和非易失性媒体、可拆卸和非可拆卸媒体。作为例子,但不是限制,计算机可读媒体可包括计算机存储媒体和通信媒体。计算机存储媒体包括以任何方法或技术实施的、用于存储诸如计算机可读指令、数据结构、程序模块或其它数据那样的信息的易失性和非易失性、可拆卸和非可拆卸媒体。计算机存储媒体包括但不限于:RAM、ROM、EEPR0M、闪速存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储装置、盒式磁带、磁带、磁盘存储装置或其它磁存储设备、或可被使用来存储想要的信息并可以由计算机810访问的任何其它介质。通信媒体典型地将计算机可读指令、数据结构、程序模块、或其它数据具体化为诸如载波或其它输送机制那样的调制的数据信号,并且通信媒体包括任何信息传递媒体。术语“调制的数据信号”是指使它的特性中的一个或多个以如下方式设置或改变的信号,即:将信息编码在信号中。作为例子, 而不是限制,通信媒体包括诸如有线网络或直接连线连接那样的 有线媒体,以及诸如声学、 RF、红外和其它无线媒体那样的无线媒体。上述的任何项的组合也应当被包括在计算机可读媒体的范围内。
[0141] 系统存储器830包括采用易失性和/或非易失性存储器的形式的计算机存储媒体,诸如只读存储器(ROM) 831和随机存取存储器(RAM) 832。基本输入/输出系统833 (BIOS)—其包含帮助诸如在启动期间在计算机810内的单元之间转送信息的基本例行程序——典型地被存储在ROM 831中。RAM 832典型地包含数据和/或程序模块,它们可以由处理单元820立即访问和/或马上被进行操作。作为例子,但不是限制,图8图示操作系统834、应用程序835、其它程序模块836和程序数据837。
[0142] 计算机810还可包括其它可拆卸/非可拆卸、易失性/非易失性计算机存储媒体。 仅仅作为例子,图8图示了硬盘驱动841,其从非可拆卸、非易失性磁媒体读取,或写入到非可拆卸、非易失性磁媒体;磁盘驱动851,其从可拆卸、非易失性磁盘852读取,或写入到可拆卸、非易失性磁盘852 ;和光盘驱动855,其从诸如CD ROM那样的可拆卸、非易失性光盘 856或其它光学媒体读取,或写入到可拆卸、非易失性光盘856或其它光学媒体。在示范性操作环境中可以使用的其它可拆卸/非可拆卸、易失性/非易失性计算机存储媒体包括但不限于:盒式磁带、闪速存储卡、数字多功能盘、数字视频磁带、固态RAM、固态ROM等等。硬盘驱动841典型地通过诸如接口 840那样的非可拆卸存储器接口被连接到系统总线821,以及磁盘驱动851和光盘驱动855典型地通过诸如接口 850那样的可拆卸存储器接口被连接到系统总线821。
[0143] 以上讨论的和在图8上图示的驱动及其相关联的计算机存储媒体提供计算机可读指令、数据结构、程序模块和用于计算机810的其它数据的存储。在图8上,例如,硬盘驱动841被图示为存储操作系统844、应用程序845、其它程序模块846和程序数据847。应当指出,这些构件可以是与操作系统834、应用程序835、其它程序模块836和程序数据837相同的或不同的。操作系统844、应用程序845、其它程序模块846和程序数据847在这里被给予不同的数字,以便举例说明至少它们是不同的拷贝。用户可以通过输入设备把命令和信息输入到计算机810,输入设备诸如是键盘862和通常称为鼠标、跟踪球或触摸板的指示设备861。其它输入设备(未示出)可包括话筒、操纵杆、游戏板、碟形卫星天线、扫描仪等等。 这些和其它输入设备常常通过被耦合到系统总线的用户输入接口 860被连接到处理单元 820,但也可以通过其它接口和总线结构,诸如并行端口、游戏端口或通用串行总线(USB)而被连接。监视器891或其它类型的显示设备也经由诸如视频接口 890那样的接口被连接到系统总线821。除了监视器以外,计算机还可包括可以通过输出外围接口 895被连接的其它外围输出设备,诸如扬声器897和打印机896。
[0144] 计算机810可以通过使用与诸如远端计算机880的一个或多个远端计算机的逻辑连接而在联网的环境下操作。远端计算机880可以是个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,尽管在图8上仅仅图示了存储器存储装置881,但它典型地包括以上相对于计算机810描述的许多或所有的单元。图8上描绘的逻辑连接包括局域网 (LAN) 871和广域网(WAN) 873,但也可以包括其它网络。这样的联网环境在办公室、企业范围的计算机网络、内联网和互联网中是常见的。
[0145] 当被使用于LAN联网环境时,计算机810通过网络接口或适配器870被连接到LAN 871。当被使用于WAN联网环境时,计算机810典型地包括调制解调器872或用于通过诸如互联网那样的WAN 873建立通信的其它手段。调制解调器872 (其可以是内部或外部的)可以经由用户输入接口 860或其它适当的机制被连接到系统总线821。在联网的环境下,相对于计算机810描绘的程序模块或它的某些部分可被存储在远端存储器存储装置。作为例子,而不是限制,图8将远端应用程序885图示为正驻留在存储器设备881上。应意识到, 所显示的网络连接是示范性的,以及可以使用在计算机之间建立通信链路的其它手段。
[0146] 在这样描述本发明的至少一个实施例的几个方面后,应当意识到,对于本领域技术人员来说,将容易想到各种更改、修改和改进。
[0147] 例如,描述了按照相同的过程执行群主的初始协商和重新协商,但使 用相同的过程并不是本发明的要求。例如,一旦群主被选择,该设备就可以选择下一个群主。
[0148] 这样的更改、修改和改进被规定为是本公开内容的一部分,并且被规定为是在本发明的精神和范围内。因此,以上的说明和附图仅仅是作为例子。
[0149] 本发明的上述的实施例可以以许多方式中的任何方式来实施。例如,实施例可以通过使用硬件、软件或它们的组合而被实施。当以软件来实施时,软件代码可以在任何适当的处理器或处理器组(collection)上被执行,无论其是在单个计算机上提供还是被分布在多个计算机之间。这样的处理器可被实施为集成电路,在集成的电路部件上有一个或多个处理器。然而,处理器可以通过使用采用任何适当格式的电路来实施。
[0150] 而且,应当意识到,计算机可以以许多形式中的任何形式被体现,诸如安装在支架上的计算机、台式计算机、膝上型计算机或平板计算机。另外,计算机可以被嵌入在通常不被认为是计算机、但具有适当的处理能力的设备中,包括个人数字助理(PDA)、智能电话或任何其它适当的便携式或固定的电子设备。
[0151] 另外,计算机可以具有一个或多个输入和输出设备。这些设备尤其可被使用来呈现用户接口。可被使用来提供用户接口的输出设备的例子包括打印机、或用于输出的视觉呈现的显示屏幕、和用于输出的听觉呈现的扬声器或其它声音生成装置。可被使用于用户接口的输入设备的例子包括键盘和指示设备,诸如鼠标、触摸板和数字化图形输入板。作为另一个例子,计算机可以通过语音识别或以其它听觉格式接收输入信息。
[0152] 这样的计算机可以通过采用任何适当形式的一个或多个网络而被互连,包括作为局域网或广域网,诸如企业网或互联网。这样的网络可以是基于任何适当的技术,并可以按照任何适当的协议操作,以及可包括无线网、有线网或光纤网。
[0153] 另外,这里概述的各种方法或过程可被编码为可在一个或多个处理器上执行的软件,这些处理器利用各种各样的操作系统或平台的任意一种。另外,这样的软件可以通过使用许多适当的编程语言和/或编程或脚本工具的任意一种而被编写,以及也可以被汇编为在主机或虚拟机上执行的可执行机器语言代码或中间码。
[0154] 在这方面,本发明可被体现为用一个或多个程序编码的计算机可读存储介质(或多个计算机可读介质)(例如,计算机存储器、一个或多个软盘、压密盘(CD)、光盘、数字视频盘(DVD)、磁带、闪速存储器、在现场可编程门阵列或其它半导体器件中的电路配置、或其它非瞬时的有形的计算机存储介质),所述程序当在一个或多个计算机或其它处理器上被执行时,完成用来实施以上讨论的本发明的各种实施例的方法。计算机可读存储介质或媒体可以是可输送的,这样使得被存储在其上的一个或多个程序可被装载到一个或多个不同的计算机或其它处理器,以便实施以上讨论的本发明的各种方面。当在这里使用时,术语“非瞬时的计算机可读存储介质”仅仅包括可被认为是产品(即,制造品)或机器的计算机可读介质。替换地或另外地,本发明可被具体化为被不同于计算机可读存储介质的计算机可读介质,诸如传播的信号。
[0155] 术语“程序”或“软件”在这里是在通常的意义下被使用来指任何类型的计算机代码或计算机可执行指令集,它们可被利用来编程计算机或其它处理器以便实施以上讨论的本发明的各种方面。另外,应当意识到,按照本实施例的一个方面,当被执行时完成本发明的方法的一个或多个计算机程序不需要驻留在单个计算机或处理器上,而是可以以模块化的形式被分布在多个不同的计算机或处理器之间以实施本发明的各种方面。
[0156] 计算机可执行指令可以采用许多形式,诸如由一个或多个计算机或其它设备来执行的程序模块。通常,程序模块包括例行程序、程序、对象、构件、数据结构等等,它们执行特定的任务或实施特定的抽象数据类型。典型地,在各种实施例中,程序模块的功能性可以按照期望被组合或分布。
[0157]另外,数据结构可以以任何适当的形式被存储在计算机可读媒体中。为了简化说明,数据结构可被显示为具有通过在数据结构中的位置而被联系的字段。这样的联系可以同样地通过以下方式而达到,即:为字段指派存储装置,让计算机可读介质中的位置传达字 段之间的联系。然而,任何适当的机制可被使用来在数据结构的字段中的信息之间建立联系,包括通过使用指针、标记或是在数据单元之间建立联系的其它机制。
[0158] 本发明的各种方面可以单独地、组合地或以在前文描述的实施例中没有具体讨论的各种各样的安排被使用,所以,在它的应用上不限于在以上的说明中阐述的或在附图上图示的部件的细节和安排。例如,在一个实施例中描述的某些方面可以与在其它实施例中描述的某些方面以任何方式组合。
[0159] 另外,本发明可以被具体化为方法,已经提供了该方法的例子。作为方法的一部分被执行的动作可以以任何适当的方式被排序。因此,可以构建在其中动作按照不同于所示的次序被执行的实施例,这可以包括同时执行某些动作,即使是在说明性实施例中被显示为顺序进行的动作。
[0160] 诸如“第一”、“第二”、“第三”等等那样的序数词在权利要求中用来修饰权利要求单元,其本身并不暗示一个权利要求单元优于另一个单元的任何优先级、优选选择或次序, 或者用以执行方法的动作的时间次序,而是仅仅被用作为标签,用来区分具有某个名称的一个权利要求单元与具有相同名称的另一个单元(如果没有序数词的使用的话),以便区分权利要求的单元。
[0161] 另外,这里使用的措词和术语是用于说明的目的,不应当看作为限制。此处“含有”、“包括”或“具有”、“包含”、“牵涉到”及其变化的使用是指包括其后列出的项目及其等同物以及附加项目。
Claims (10)
1. 一种操作无线计算设备的方法(110,132,134),该方法包括: 在第一时间,与至少一个远端设备无线地交换第一多个消息(420),该第一多个消息按照对等协议被格式化以及包括第一协商以选择包括该无线计算设备的对等群的群主;在第一时间之后的第二时间: 发送或接收指示该对等群的群主的重新协商的消息(446,454);以及无线地交换第二多个消息(420),该第二多个消息按照该对等协议被格式化以及包括第二协商以选择该对等群的新群主。
2.权利要求I的方法,其中: 该无线计算设备在第一协商期间被选择为群主(640);以及 发送或接收指示群主的重新协商的消息包括发送该消息,以及所述消息包括进行重新协商的命令(670)。
3.权利要求2的方法,其中: 该无线计算设备包括电池(232)和与外部电源的源(114)的连接;以及 响应于与外部电源的源的连接已被去除的确定(662)而发送该消息。
4.权利要求2的方法,其中: 该无线计算设备包括电池(232);以及 响应于电池具有低于阈值的电能的确定(662)而发送该消息。
5.权利要求2的方法,其中: 响应于(666 )来自另一个设备的要加入对等群的请求而发送该消息。
6. 一种计算设备(210),包括: 发射机(254); 接收机(254); 控制器(344,322 ),其被耦合到发射机和接收机,该控制器被配置成: 通过发射机和接收机进行通信而与至少一个远端无线设备交换第一消息,以形成对等群和选择群中的第一设备作为控制至少一个群功能(420)的控制器; 响应于该计算设备的被检测的状态,通过发射机传送消息,该消息被格式化为与在对等群中的至少一个远端无线设备交换第二消息的请求,以便选择群中的第二设备作为控制器(446,454)。
7.权利要求6的计算设备,其中控制器还被配置成: 响应于通过接收机接收的消息,通过发射机和接收机进行通信来与在对等群中的至少一个远端无线设备交换第三消息,以便选择群中的第三设备作为控制器(764)。
8.权利要求6的计算设备,其中: 所述状态是关于该计算设备的电源的源的状态。
9.权利要求8的计算设备,其中: 所述计算设备是被选择为控制器的第一设备;以及 所述状态包括靠电池(232)电源操作。
10.权利要求8的计算设备,其中: 所述计算设备不是被选择为控制器的第一设备;以及 所述状态包括靠AC电源(114)操作。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/046,635 | 2011-03-11 | ||
US13/046,635 US20120233266A1 (en) | 2011-03-11 | 2011-03-11 | Peer-to-peer group with renegotiation of group owner |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102711049A true CN102711049A (zh) | 2012-10-03 |
Family
ID=46797067
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012100628505A CN102711049A (zh) | 2011-03-11 | 2012-03-12 | 带有群主的重新协商的对等群 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20120233266A1 (zh) |
EP (1) | EP2684417A4 (zh) |
JP (1) | JP2014509156A (zh) |
KR (1) | KR20140012988A (zh) |
CN (1) | CN102711049A (zh) |
WO (1) | WO2012125316A1 (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103906171A (zh) * | 2012-12-28 | 2014-07-02 | 腾讯科技(深圳)有限公司 | 游戏数据通信方法及终端 |
CN104812090A (zh) * | 2014-01-23 | 2015-07-29 | 瑞昱半导体股份有限公司 | 支持点对点联机的无线通信装置与方法 |
CN105453608A (zh) * | 2013-08-04 | 2016-03-30 | Lg电子株式会社 | 在无线通信系统中重定位邻近服务群组的群组拥有者的方法和装置 |
CN105453609A (zh) * | 2013-08-08 | 2016-03-30 | 三星电子株式会社 | 用于Wi-Fi直连的方法和装置,相关申请的交叉引用 |
CN107483300A (zh) * | 2017-07-24 | 2017-12-15 | 广东美的环境电器制造有限公司 | 多个智能设备的联动控制方法、系统和智能设备 |
Families Citing this family (69)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4334534B2 (ja) * | 2005-11-29 | 2009-09-30 | 株式会社東芝 | ブリッジ装置及びブリッジシステム |
US10276170B2 (en) | 2010-01-18 | 2019-04-30 | Apple Inc. | Intelligent automated assistant |
US8682667B2 (en) | 2010-02-25 | 2014-03-25 | Apple Inc. | User profiling for selecting user specific voice input processing information |
US9262612B2 (en) | 2011-03-21 | 2016-02-16 | Apple Inc. | Device access using voice authentication |
US9019878B2 (en) * | 2011-06-14 | 2015-04-28 | Microsoft Technology Licensing, Llc | Phone supporting mode conversion |
KR101814810B1 (ko) * | 2011-08-08 | 2018-01-04 | 삼성전자주식회사 | 와이파이 다이렉트를 이용한 와이파이 피투피 그룹을 형성하는 방법 및 장치 |
JP6090309B2 (ja) | 2012-04-10 | 2017-03-08 | ソニー株式会社 | 通信装置、通信制御方法及びプログラム |
KR101920245B1 (ko) * | 2012-04-13 | 2018-11-20 | 삼성전자주식회사 | 와이 파이 다이렉트 통신 시스템에서 연결 취소 시 대기 시간 단축을 위한 방법 및 그 전자 장치 |
US9026604B2 (en) * | 2012-06-18 | 2015-05-05 | Blackberry Limited | System and method for identifying a replacement administrator for a communication network |
US10554476B2 (en) * | 2012-07-18 | 2020-02-04 | Avagao Technologies International Sales Pte. Limited | System and method for managing roles in a peer-to-peer connection |
US9386616B2 (en) * | 2012-08-14 | 2016-07-05 | Lg Electronics Inc. | Device and method for performing inter-device communication |
CN103702291B (zh) | 2012-09-27 | 2017-06-09 | 中兴通讯股份有限公司 | 一种基于Wi‑Fi建立群组的方法和WiFi直连设备 |
US9147340B2 (en) | 2012-10-19 | 2015-09-29 | Intel Corporation | Apparatus and methods for hybrid service discovery |
RU2648580C2 (ru) * | 2012-11-05 | 2018-03-26 | ЭлДжи ЭЛЕКТРОНИКС ИНК. | Способ поиска услуги или объявления ее в системе прямой связи и устройство для него |
KR20140071937A (ko) * | 2012-12-04 | 2014-06-12 | 삼성전자주식회사 | 무선 통신 시스템에서 통신 링크 설정 장치 및 방법 |
JP6141006B2 (ja) * | 2012-12-27 | 2017-06-07 | キヤノン株式会社 | 通信装置、制御方法、及びプログラム |
BR112015018905A2 (pt) | 2013-02-07 | 2017-07-18 | Apple Inc | método de operação de recurso de ativação por voz, mídia de armazenamento legível por computador e dispositivo eletrônico |
US9215689B2 (en) | 2013-03-11 | 2015-12-15 | Motorola Solutions, Inc. | Method and apparatus for resolving call collisions in a digital conventional direct mode |
US9370023B2 (en) | 2013-03-11 | 2016-06-14 | Motorola Solutions, Inc. | Method and apparatus for resolving call collisions in a digital conventional direct mode |
KR102133846B1 (ko) * | 2013-03-12 | 2020-07-14 | 엘지전자 주식회사 | 직접 통신 시스템에서 피투피 그룹 형성 방법 및 이를 위한 장치 |
DE112014001404T5 (de) * | 2013-03-15 | 2016-05-19 | Server Technology, Inc. | Zu drahtlosen Kommunikationen fähige Stromverteilungseinheit und Techniken zur Kommunikation damit |
US20140334338A1 (en) * | 2013-05-13 | 2014-11-13 | Electronics And Telecommunications Research Institute | Method of generating peer service group and accessing link resources in peer service group |
US10176167B2 (en) | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
JP6347633B2 (ja) * | 2013-06-14 | 2018-06-27 | キヤノン株式会社 | 通信装置、通信方法およびプログラム |
KR20150031686A (ko) * | 2013-09-16 | 2015-03-25 | 삼성전자주식회사 | 이동 통신 방법 및 그에 따른 단말, 그에 따른 시스템 |
CN104468070A (zh) * | 2013-09-17 | 2015-03-25 | 鸿富锦精密工业(深圳)有限公司 | 网络群组建立系统及网络群组建立方法 |
US9357357B2 (en) * | 2013-10-22 | 2016-05-31 | Qualcomm Incorporated | Group owner selection for a peer-to-peer group |
US9439232B2 (en) * | 2014-01-17 | 2016-09-06 | GM Global Technology Operations LLC | Managing traditional Wi-Fi and Wi-Fi direct connections using a wireless device |
JP6102799B2 (ja) * | 2014-02-28 | 2017-03-29 | ブラザー工業株式会社 | 無線通信機器 |
US20150293876A1 (en) * | 2014-04-15 | 2015-10-15 | Qualcomm Incorporated | Wireless docking with multiple wireless docking centers |
US9633004B2 (en) | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
EP3149728B1 (en) | 2014-05-30 | 2019-01-16 | Apple Inc. | Multi-command single utterance input method |
US10170123B2 (en) | 2014-05-30 | 2019-01-01 | Apple Inc. | Intelligent assistant for home automation |
US9430463B2 (en) | 2014-05-30 | 2016-08-30 | Apple Inc. | Exemplar-based natural language processing |
JP6709015B2 (ja) * | 2014-06-24 | 2020-06-10 | ブラザー工業株式会社 | 通信装置 |
US9668121B2 (en) | 2014-09-30 | 2017-05-30 | Apple Inc. | Social reminders |
US10127911B2 (en) | 2014-09-30 | 2018-11-13 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US20160095061A1 (en) * | 2014-09-30 | 2016-03-31 | Apple Inc. | Reduced power consumption using coordinated beacon skipping |
US10074360B2 (en) | 2014-09-30 | 2018-09-11 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US9585180B2 (en) | 2014-10-30 | 2017-02-28 | Blackberry Limited | Communication device, method and system for establishing wireless peer-to-peer connections |
US9886953B2 (en) | 2015-03-08 | 2018-02-06 | Apple Inc. | Virtual assistant activation |
US9721566B2 (en) | 2015-03-08 | 2017-08-01 | Apple Inc. | Competing devices responding to voice triggers |
US9578173B2 (en) | 2015-06-05 | 2017-02-21 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US20170092270A1 (en) * | 2015-09-30 | 2017-03-30 | Apple Inc. | Intelligent device identification |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10049668B2 (en) | 2015-12-02 | 2018-08-14 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10223066B2 (en) | 2015-12-23 | 2019-03-05 | Apple Inc. | Proactive assistance based on dialog communication between devices |
DK201670540A1 (en) | 2016-06-11 | 2018-01-08 | Apple Inc | Application integration with a digital assistant |
DK179415B1 (en) | 2016-06-11 | 2018-06-14 | Apple Inc | Intelligent device arbitration and control |
JP6746427B2 (ja) * | 2016-08-10 | 2020-08-26 | キヤノン株式会社 | 通信装置、通信方法、及びプログラム |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
JP6475207B2 (ja) * | 2016-09-13 | 2019-02-27 | Necプラットフォームズ株式会社 | 無線通信装置、方法およびプログラム |
JP6821363B2 (ja) * | 2016-09-15 | 2021-01-27 | キヤノン株式会社 | 通信装置、通信方法、及びプログラム |
CN108696842A (zh) * | 2017-03-02 | 2018-10-23 | 北京小鸟听听科技有限公司 | 一种设备及其组网方法、输出方法 |
DK201770383A1 (en) | 2017-05-09 | 2018-12-14 | Apple Inc. | USER INTERFACE FOR CORRECTING RECOGNITION ERRORS |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
DK179560B1 (en) | 2017-05-16 | 2019-02-18 | Apple Inc. | Far-field extension for digital assistant services |
US10303715B2 (en) | 2017-05-16 | 2019-05-28 | Apple Inc. | Intelligent automated assistant for media exploration |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
DK179822B1 (da) | 2018-06-01 | 2019-07-12 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US10504518B1 (en) | 2018-06-03 | 2019-12-10 | Apple Inc. | Accelerated task performance |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070293223A1 (en) * | 2006-06-16 | 2007-12-20 | Ichiro Kuwana | Communication apparatus and method of controlling same |
US20110026504A1 (en) * | 2009-07-31 | 2011-02-03 | Sony Corporation | Continuous group ownership in an ieee 802.11 wireless local area network |
US20110034127A1 (en) * | 2009-08-10 | 2011-02-10 | Qualcomm Incorporated | Setting up a direct link in a peer to peer wireless network |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
ES2255923T3 (es) * | 1999-08-06 | 2006-07-16 | International Business Machines Corporation | MANAGEMENT OF DIRECTIONS IN NETWORKS PNNI JERARQUICAS. |
JP2001103570A (ja) * | 1999-09-30 | 2001-04-13 | Toshiba Corp | 通信システム、この通信システムに用いられる通信装置及び通信方法 |
JP3933502B2 (ja) * | 2002-03-15 | 2007-06-20 | 株式会社東芝 | 無線通信装置 |
US6704584B2 (en) * | 2002-04-16 | 2004-03-09 | Thomson Licensing S.A. | Mechanism for a wireless device to relinquish its network master status based on its power reserve |
US7702352B2 (en) * | 2005-05-13 | 2010-04-20 | Intel Corporation | Network node power management methods and apparatus |
JP4809898B2 (ja) * | 2005-11-02 | 2011-11-09 | インターデイジタル テクノロジー コーポレーション | ワイヤレス配信システムの自律的なチャネル調整のための方法およびシステム |
US8866698B2 (en) * | 2008-10-01 | 2014-10-21 | Pleiades Publishing Ltd. | Multi-display handheld device and supporting system |
US8458504B2 (en) * | 2009-06-19 | 2013-06-04 | Texas Instruments Incorporated | Peer-to-peer group owner enhanced power management |
US9420631B2 (en) * | 2009-10-02 | 2016-08-16 | Qualcomm Incorporated | WLAN peer-to-peer group owner negotiation |
US9949305B2 (en) * | 2009-10-02 | 2018-04-17 | Blackberry Limited | Methods and apparatus for peer-to-peer communications in a wireless local area network |
US20110225305A1 (en) * | 2010-03-10 | 2011-09-15 | Texas Instruments Incorporated | System and method for determining group owner intent |
-
2011
- 2011-03-11 US US13/046,635 patent/US20120233266A1/en not_active Abandoned
-
2012
- 2012-03-04 EP EP12757007.5A patent/EP2684417A4/en not_active Withdrawn
- 2012-03-04 JP JP2013557778A patent/JP2014509156A/ja active Pending
- 2012-03-04 KR KR1020137023920A patent/KR20140012988A/ko not_active Application Discontinuation
- 2012-03-04 WO PCT/US2012/027646 patent/WO2012125316A1/en active Application Filing
- 2012-03-12 CN CN2012100628505A patent/CN102711049A/zh not_active Application Discontinuation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070293223A1 (en) * | 2006-06-16 | 2007-12-20 | Ichiro Kuwana | Communication apparatus and method of controlling same |
US20110026504A1 (en) * | 2009-07-31 | 2011-02-03 | Sony Corporation | Continuous group ownership in an ieee 802.11 wireless local area network |
US20110034127A1 (en) * | 2009-08-10 | 2011-02-10 | Qualcomm Incorporated | Setting up a direct link in a peer to peer wireless network |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103906171A (zh) * | 2012-12-28 | 2014-07-02 | 腾讯科技(深圳)有限公司 | 游戏数据通信方法及终端 |
CN103906171B (zh) * | 2012-12-28 | 2017-12-26 | 腾讯科技(深圳)有限公司 | 游戏数据通信方法及终端 |
US10064037B2 (en) | 2013-08-04 | 2018-08-28 | Lg Electronics Inc. | Method and apparatus for relocating group owner of proximity services group in wireless communication system |
CN105453608A (zh) * | 2013-08-04 | 2016-03-30 | Lg电子株式会社 | 在无线通信系统中重定位邻近服务群组的群组拥有者的方法和装置 |
CN105453608B (zh) * | 2013-08-04 | 2019-11-12 | Lg电子株式会社 | 在无线通信系统中重定位邻近服务群组的群组拥有者的方法和装置 |
CN105453609A (zh) * | 2013-08-08 | 2016-03-30 | 三星电子株式会社 | 用于Wi-Fi直连的方法和装置,相关申请的交叉引用 |
CN105453609B (zh) * | 2013-08-08 | 2020-03-06 | 三星电子株式会社 | 用于Wi-Fi直连的方法和装置 |
CN104812090B (zh) * | 2014-01-23 | 2018-05-04 | 瑞昱半导体股份有限公司 | 支持点对点联机的无线通信装置与方法 |
CN104812090A (zh) * | 2014-01-23 | 2015-07-29 | 瑞昱半导体股份有限公司 | 支持点对点联机的无线通信装置与方法 |
CN107483300A (zh) * | 2017-07-24 | 2017-12-15 | 广东美的环境电器制造有限公司 | 多个智能设备的联动控制方法、系统和智能设备 |
Also Published As
Publication number | Publication date |
---|---|
EP2684417A4 (en) | 2014-08-13 |
EP2684417A1 (en) | 2014-01-15 |
KR20140012988A (ko) | 2014-02-04 |
US20120233266A1 (en) | 2012-09-13 |
JP2014509156A (ja) | 2014-04-10 |
WO2012125316A1 (en) | 2012-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10051441B2 (en) | Changing topology of wireless peer-to-peer group | |
US10609646B2 (en) | Intelligent management of a plurality of communications links | |
US10129726B2 (en) | Individualized short-range communication method, system and central device for the implementation thereof | |
US10880824B2 (en) | Method of transmitting proximity service data and electronic device for the same | |
CN103914041B (zh) | 用户操作终端与家电控制装置的绑定方法及家电控制系统 | |
CN105144757B (zh) | 通信模式下的通信服务 | |
US9131266B2 (en) | Ad-hoc media presentation based upon dynamic discovery of media output devices that are proximate to one or more users | |
US10200466B2 (en) | Mass re-formation of groups in a peer-to-peer network | |
CN103973545B (zh) | 即时消息的处理方法、装置及系统 | |
US9942316B2 (en) | Persistent network negotiation for peer to peer devices | |
US10433047B2 (en) | Managing connections of a user device | |
US9763276B2 (en) | Seamless connectivity between hearing aid and multiple devices | |
CN105637498B (zh) | eUICC的管理方法、eUICC、SM平台和系统 | |
JP5883013B2 (ja) | 受信確認を提供する対話形メッセージングサービス運用方法 | |
CN103944869B (zh) | 访问远程资源的方法及云端连接器 | |
KR102144046B1 (ko) | 전자장치들간 연결 방법 및 장치 | |
US7292870B2 (en) | Instant messaging terminal adapted for Wi-Fi access points | |
CN105340328B (zh) | 用于执行无线对接服务的方法和设备 | |
EP1739887B1 (en) | Wireless classroom response system | |
US8732315B2 (en) | Automatic ad-hoc network creation and coalescing using WiFi protected setup | |
CN101120527B (zh) | 能在网络内部工作的设备、网络系统、在网络内部操作设备的方法 | |
CN103376907B (zh) | 多主机无线输入设备 | |
CN104378247B (zh) | 一种用于无线通信网络中的对等装置、对等通信方法以及计算机可读介质 | |
US6992566B2 (en) | Modular school computer system and method | |
CN102916866B (zh) | 一种数据分享方法、终端、服务器以及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
C06 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
C10 | Entry into substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150617 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C41 | Transfer of patent application or patent right or utility model | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150617 |
|
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20121003 |
|
WD01 | Invention patent application deemed withdrawn after publication |