CN109041257B - Selective peer-to-peer synchronization with mutual services - Google Patents

Selective peer-to-peer synchronization with mutual services Download PDF

Info

Publication number
CN109041257B
CN109041257B CN201810164307.3A CN201810164307A CN109041257B CN 109041257 B CN109041257 B CN 109041257B CN 201810164307 A CN201810164307 A CN 201810164307A CN 109041257 B CN109041257 B CN 109041257B
Authority
CN
China
Prior art keywords
peer
wireless station
services
service
sought
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810164307.3A
Other languages
Chinese (zh)
Other versions
CN109041257A (en
Inventor
L·库里安
P·N·赫尔博斯
刘勇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US15/823,173 external-priority patent/US11638229B2/en
Application filed by Apple Inc filed Critical Apple Inc
Publication of CN109041257A publication Critical patent/CN109041257A/en
Application granted granted Critical
Publication of CN109041257B publication Critical patent/CN109041257B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • H04W56/002Mutual synchronization
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W56/00Synchronisation arrangements
    • H04W56/001Synchronization between nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/08Access point devices

Abstract

The invention provides selective peer-to-peer synchronization with mutual services. In some embodiments, one or more wireless stations operate to configure direct communications with neighboring mobile stations, e.g., direct communications between wireless stations without utilizing an intermediate access point. Embodiments of the present disclosure relate to mechanisms for selective synchronization (or cluster merging) of a device with one or more neighboring peer devices.

Description

Selective peer-to-peer synchronization with mutual services
Technical Field
This application relates to wireless communications, including techniques for wireless communications between wireless stations in a wireless networking system.
Background
The use of wireless communication systems is growing rapidly. In addition, wireless communication technologies have evolved from voice-only communications to transmissions that also include data, such as the internet and/or multimedia content. A common short/medium range wireless communication standard is Wireless Local Area Network (WLAN). Most modern WLANs are based on the IEEE 802.11 standard (or simply 802.11) and marketed under the Wi-Fi brand name. The WLAN network links one or more devices to a wireless access point, which in turn provides a connection to the wider area internet.
In 802.11 systems, devices that are wirelessly connected to other devices are referred to as "stations" or STAs, "mobile stations," "user equipment" or simply UEs. The wireless station may be a wireless Access Point (AP) or a wireless client (or mobile station). The AP, also referred to as a wireless router, acts as a base station for the wireless network. The AP transmits and receives radio frequency signals for communication with the wireless client devices. The APs are also typically coupled to the internet in a wired manner. A wireless client operating on an 802.11 network may be any of a variety of devices, such as a laptop computer, a tablet device, a smart phone, or a stationary device, e.g., a desktop computer. A wireless client device is referred to herein as a user equipment (or simply UE). Some wireless client devices are also referred to herein collectively as mobile devices or mobile stations (although, as noted above, the wireless client devices may also be stationary devices in general).
In some prior art systems, Wi-Fi mobile stations are able to communicate directly with each other without using an intermediate access point. However, improvements in the operation of such devices are desirable, such as in the establishment and coordination of communications between such devices.
Disclosure of Invention
Some embodiments described herein relate to systems and methods for peer wireless stations (e.g., wireless stations configured to communicate with neighboring wireless stations without using an intermediate access point) to initiate, schedule, and discover multicast groups.
Some embodiments relate to a wireless station that includes one or more antennas, one or more radios, and one or more processors coupled (directly or indirectly) to the radios. The at least one radio is configured for Wi-Fi communication, e.g., via a Wi-Fi interface. The wireless station may be capable of voice and/or data communications, as well as any or all of the methods described herein.
In some embodiments, one or more wireless stations operate to configure direct communication with neighboring mobile stations, e.g., direct communication between wireless stations without utilizing an intermediate access point. Embodiments of the present disclosure relate to mechanisms for peer devices to selectively synchronize (or cluster merge) with each other.
In some embodiments, the communication may be via a peer-to-peer wireless communication protocol, such as Neighbor Awareness Networking (NAN). Accordingly, embodiments of the present disclosure also relate to the formation of NAN multicast groups, including role selection and scheduling within a NAN framework. The NAN embodiments described herein provide a mechanism for NAN devices to initiate (or establish) and schedule a multicast group, as well as register neighboring NAN devices into the multicast group, merge the multicast group, and terminate the multicast group.
In some embodiments, the wireless station may be configured to synchronize timing to the first peer wireless station. The first peer to peer wireless station may be the timing (or anchor) master for the first cluster of wireless stations. Further, the wireless station may be configured to receive a beacon from a second peer to peer wireless station via a peer to peer communications protocol. The beacon may include a service indication supported by the second peer to peer wireless station. In some embodiments, the supported service indication comprises a hash of services supported by the second peer to peer wireless station. The second peer to peer wireless station can be configured to synchronize timing to a third peer to peer wireless station, where the third peer to peer wireless station can be a timing (or anchor) master for the second cluster of wireless stations. The wireless station may be further configured to determine a service common to the wireless station and the second peer wireless station based at least in part on the indication of supported services and initiate a merge of the first cluster and the second cluster.
This summary is intended to provide a brief overview of some of the subject matter described in this document. Accordingly, it should be understood that the above-described features are merely examples and should not be construed to narrow the scope or spirit of the subject matter described herein in any way. Other features, aspects, and advantages of the subject matter described herein will become apparent from the following detailed description, the accompanying drawings, and the claims.
Drawings
A better understanding of the present subject matter may be obtained when the following detailed description of the embodiments is considered in conjunction with the following drawings.
Fig. 1 illustrates an example WLAN communication system, according to some embodiments.
Fig. 2 illustrates an exemplary simplified block diagram of a WLAN Access Point (AP) according to some embodiments.
Fig. 3 illustrates an example simplified block diagram of a mobile station (UE) in accordance with some embodiments.
Fig. 4 illustrates an example of a clustered tree with an anchoring master, according to a specific implementation.
Fig. 5A-5C illustrate examples of merging (synchronization) of clusters according to implementations.
Fig. 6A-6D illustrate examples of selective merging (synchronization) of clusters, according to some embodiments.
Fig. 7 shows a block diagram of an example of a method of selective merging (synchronization) of clusters according to some embodiments.
Fig. 8 illustrates a block diagram of an example of a method of selective synchronization of peer devices based on supported services, in accordance with some embodiments.
While the features described herein are susceptible to various modifications and alternative forms, specific embodiments thereof have been shown by way of example in the drawings and are herein described in detail. It should be understood, however, that the drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the subject matter as defined by the appended claims.
Detailed Description
Acronyms
Various acronyms are used throughout this application. The definitions of the most prominent acronyms used, which may appear throughout this application, are as follows:
UE: user equipment
AP: access point
DL: downlink (from BS to UE)
UL: uplink (from UE to BS)
TX: transmitting/sending
RX: receiving/receiving
LAN: local area network
WLAN: wireless LAN
RAT (RAT): radio access technology
DW: discovery window
NW: negotiating a window
FAW: other availability windows
SID: service ID
And (6) SInf: service information
Sinf-Seg: service information segment
NW-Req: requesting a peer-to-peer NAN device to be present in a NW
CaOp: capability and operating element
Security: security preferences
SessionInfo: ad _ id, Session _ mac, Session _ id, Port, prototype
ChList: preferred data path channel
AM: anchoring master device
DW: discovery window
HCFR: hop count from remote device
NAN: neighbor aware network
SDA: service description attributes
And (3) SDF: service discovery frame
SRF: service response filter
TSF: time synchronization function
Term(s) for
The following is a glossary of terms used in this disclosure:
storage medium-any of various types of non-transitory memory devices or storage devices. The term "storage medium" is intended to include mounting media such as CD-ROM, floppy disk, or tape devices; computer system memory or random access memory such as DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc.; non-volatile memory, such as flash memory, magnetic media storage, e.g., a hard disk drive or optical storage; registers, or other similar types of memory elements, etc. The memory medium may also include other types of non-transitory memory or combinations thereof. Further, the memory medium may be located in a first computer system executing the program, or may be located in a different second computer system connected to the first computer system through a network such as the internet. In the latter case, the second computer system may provide program instructions to the first computer for execution. The term "memory medium" may include media that may reside in different bits Two or more memory media in different computer systems connected, for example, by a network. The memory medium may store program instructions (e.g., particularly computer programs) that may be executed by one or more processors.
Carrier mediumStorage media as described above, as well as physical transmission media such as buses, networks, and/or other physical transmission media that convey signals such as electrical, electromagnetic, or digital signals.
Computer systemAny of various types of computing or processing systems, including Personal Computer Systems (PCs), mainframe computer systems, workstations, network appliances, internet appliances, Personal Digital Assistants (PDAs), television systems, grid computing systems, or other devices or combinations of devices. In general, the term "computer system" may be broadly defined to encompass any device (or combination of devices) having at least one processor that executes instructions from a memory medium.
Mobile device (or mobile station)Any of various types of computer system devices that are mobile or portable and perform wireless communications using WLAN communications. Examples of mobile devices include mobile phones or smart phones (e.g., iphones) TMBased on AndroidTMTelephone) and such as iPadTM、Samsung GalaxyTMAnd the like. Various other types of devices, such as laptop computers (e.g., MacBook), may also fall into this category if they include Wi-Fi or cellular and Wi-Fi communication capabilitiesTM) Portable gaming device (e.g., Nintendo DS)TM、 PlayStation PortableTM、Gameboy AdvanceTM、iPhoneTM) Portable internet enabled devices and other handheld devices, and devices such as smart watches, smart glasses, headsets, pendant, earpieces, and the like. In general, the term "mobile device" may be broadly defined to encompass any electronic, computing, and/or telecommunications device (or combination of devices) that is easily transferred by a user and that is capable of wireless communication using WLAN or Wi-Fi.
Wireless device (or wireless)Station)Any of various types of computer system devices that perform wireless communication using WLAN communication. As used herein, the term "wireless device" may refer to a mobile device or a stationary device such as a stationary wireless client or a wireless base station, as defined above. For example, the wireless device may be any type of wireless station of an 802.11 system, such as an Access Point (AP) or a client station (STA or UE). Other examples include televisions, media players (e.g., AppleTV) TM、RokuTM、Amazon FireTVTM、Google ChromecastTMEtc.), refrigerators, washing machines, thermostats, etc.
WLANThe term "WLAN" has its full scope in its ordinary meaning and includes at least a wireless communication network or RAT, which is served by WLAN access points and provides connectivity to the internet through these access points. Most modern WLANs are based on the IEEE 802.11 standard and are marketed under the name "Wi-Fi". WLAN networks are different from cellular networks.
Processing elementRefer to various implementations of digital circuitry that perform functions in a computer system. In addition, a processing element may refer to various implementations of analog or mixed-signal (a combination of analog and digital) circuitry that performs a function (or functions) in a computer or computer system. The processing elements include, for example, circuitry such as an Integrated Circuit (IC), an ASIC (application specific integrated circuit), portions or circuits of various processor cores, an entire processor core, various processors, a programmable hardware device such as a Field Programmable Gate Array (FPGA), and/or a larger portion of a system including multiple processors.
NAN Data Link (NDL)Refers to a communication link between peer wireless stations (e.g., peer NAN devices). Note that the peer devices may be in a common (e.g., same) NAN cluster. Further, the NAN data link may support one or more NAN data paths between peer wireless stations. Note also that the NAN data link may belong to only a single NAN data cluster.
NAN Data Path (NDP)Refers to the communication link between peer wireless stations supporting the service. Note that one or more NAN data pathsThe paths may be supported by NAN data links. Further, note that the NAN data path supports services between wireless stations. Typically, one of the peer wireless stations will be a publisher of the service and the other peer wireless stations will be subscribers of the service.
NAN clusterRefers to multiple peer wireless stations that are linked via synchronization to a common time source (e.g., a common NAN clock). Note that a peer wireless station may be a member of more than one NAN cluster.
NAN Data Cluster (NDC)Refers to a group of peer wireless stations in a common (e.g., same) NAN cluster that share a common base schedule (e.g., NAN data cluster base schedule). Further, a peer wireless station in a NAN data cluster may share at least one NAN data link including an active data path with another member wireless station within the NAN data cluster.
Note that a peer-to-peer wireless station may be a member of more than one NAN cluster; however, as previously described, the NAN data link belongs to exactly one NAN data cluster. Also note that in a NAN data cluster, all member peer wireless stations may remain tightly synchronized with each other (e.g., via a NAN data cluster base schedule) and may exist in a common (e.g., same) another availability slot (or window) as shown by the NAN data cluster base schedule. Further, each NAN data link may have its own NAN data link schedule, and the NAN data link schedule may be a superset of the NAN data cluster base schedule.
AutomaticIt refers to actions or operations performed by a computer system (e.g., software executed by a computer system) or device (e.g., circuit, programmable hardware element, ASIC, etc.) without directly specifying or performing the actions or operations through user input. Thus, the term "automatically" is in contrast to a user manually performing or specifying an operation, in which case the user provides input to directly perform the operation. An automated process may be initiated by input provided by a user, but subsequent "automatically" performed actions are not specified by the user, e.g., are not performed "manually," in which case the user indicatesEach action to be performed is specified. For example, a user filling out an electronic form by selecting each field and providing input specifying information (e.g., by typing information, selecting check boxes, radio box selections, etc.) is manually filling out the form even though the computer system must update the form in response to user actions. The form may be automatically filled in by a computer system, wherein the computer system (e.g., software executing on the computer system) analyzes the fields of the form and fills in the form without any user entering answers specifying the fields. As indicated above, the user may invoke automatic filling of the form, but not participate in the actual filling of the form (e.g., the user does not manually specify answers to the fields but rather they are done automatically). This specification provides various examples of operations that are automatically performed in response to actions that have been taken by a user.
Concurrence of-refers to parallel execution or implementation, where tasks, processes, signaling, messages or programs are executed in an at least partially overlapping manner. For example, concurrency may be achieved using "strong" or strict parallelism, where tasks are executed (at least partially) in parallel on respective computing elements; or "weak parallelism" in which tasks are performed in an interleaved manner (e.g., by time multiplexing of execution threads).
Is configured toVarious components may be described as "configured to" perform one or more tasks. In such contexts, "configured to" is a broad expression generally meaning "having" a structure that performs one or more tasks during operation. Thus, a component may be configured to perform a task even when the component is not currently performing the task (e.g., a set of electrical conductors may be configured to electrically connect a module to another module even when the two modules are not connected). In some contexts, "configured to" may be a broad expression generally representing a structure "having" circuitry to perform one or more tasks during operation. As such, a component may be configured to perform a task even when the component is not currently on. In general, the circuitry forming the structure corresponding to "configured to" may comprise hardware circuitry.
For ease of description, various components may be described as performing one or more tasks. Such description should be construed to include the phrase "configured to". Expressing a component configured to perform one or more tasks is expressly intended to be an interpretation that does not invoke 35u.s.c. § 112(f) on that component.
The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description. As used throughout this application, the word "may" is used in an allowed sense (i.e., meaning having the potential to), rather than a mandatory sense (i.e., meaning must). The word "comprising" means an open-ended relationship, and thus means including but not limited to. Likewise, the word "having" also indicates an open relationship, and thus indicates having, but not limited to. The terms "first," "second," "third," and the like as used herein are used as labels to their following terms and do not imply any type of ordering (e.g., spatial, temporal, logical, etc.) unless explicitly indicated otherwise. For example, unless otherwise specified, "the third component electrically connected to the module substrate" does not exclude a case where "the fourth component electrically connected to the module substrate" is connected before the third component. Similarly, unless otherwise specified, a "second" feature does not require that a "first" feature be implemented before a "second" feature.
FIG. 1-WLAN System
Fig. 1 illustrates an exemplary WLAN system according to some embodiments. As shown, the exemplary WLAN system includes a plurality of wireless client stations or devices, or User Equipment (UE)106, configured to communicate with an Access Point (AP)112 over a wireless communication channel 142. The AP 112 may be a Wi-Fi access point. The AP 112 may communicate with one or more other electronic devices (not shown) and/or another network 152, such as the internet, via a wired and/or wireless communication channel 150. Additional electronic devices, such as remote device 154, may communicate with the components of the WLAN system via network 152. For example, the remote device 154 may be another wireless client site. The WLAN system may be configured to operate in accordance with any of various communication standards, such as various IEEE 802.11 standards. In some embodiments, at least one wireless device 106 is configured to communicate directly with one or more neighboring mobile devices (e.g., via a direct communication channel 140) without using the access point 112.
In some embodiments, the wireless device 106 may be configured to perform a method to synchronize timing to a first peer wireless device, as described further below. The first peer to peer wireless device may be a timing (or anchor) master for the first cluster of wireless devices. Further, the wireless device 106 may be configured to receive a beacon from the second peer wireless device via the peer-to-peer communication protocol. The beacon may include an indication of services supported by the second peer to peer wireless device. In some embodiments, the supported service indication comprises a hash of services supported by the second peer to peer wireless device. The second peer-to-peer wireless device may be configured to synchronize timing to a third peer-to-peer wireless device, where the third peer-to-peer wireless device may be a timing (or anchor) master for the second cluster of wireless devices. The wireless device 106 can be further configured to determine a service common to the wireless device 106 and the second peer wireless device based at least in part on the indication of supported services, and initiate a merge of the first and second clusters.
FIG. 2-Access Point Block diagram
Fig. 2 illustrates an exemplary block diagram of an Access Point (AP) 112. Note that the AP block diagram of fig. 2 is only one example of a possible system. As shown, the AP 112 may include a processor 204 that may execute program instructions for the AP 112. The processor 204 may also be coupled (directly or indirectly) to a Memory Management Unit (MMU)240 or other circuit or device, which may be configured to receive addresses from the processor 204 and translate the addresses to locations in memory (e.g., memory 260 and Read Only Memory (ROM) 250).
The AP 112 may include at least one network port 270. The network port 270 may be configured to couple to a wired network and provide access to the internet for a plurality of devices, such as the mobile device 106. For example, network port 270 (or an additional network port) may be configured to couple to a local network, such as a home network or an enterprise network. For example, port 270 may be an Ethernet port. The local network may provide a connection to additional networks, such as the internet.
The AP 112 may include at least one antenna 234, which may be configured to function as a wireless transceiver and may be further configured to communicate with the mobile device 106 via the wireless communication circuitry 230. The antenna 234 communicates with the wireless communication circuitry 230 via a communication link 232. The communication chain 232 may include one or more receive chains, one or more transmit chains, or both. The wireless communication circuit 230 may be configured to communicate via Wi-Fi or WLAN, e.g., 802.11. For example, when the AP is co-located with a base station in the case of a small cell, or in other cases where it may be desirable for AP 112 to communicate via various different wireless communication technologies, wireless communication circuitry 230 may also or alternatively be configured to communicate via various other wireless communication technologies including, but not limited to, Long Term Evolution (LTE), LTE-advanced (LTE-a), Global System for Mobile (GSM), Wideband Code Division Multiple Access (WCDMA), CDMA2000, and so forth.
In some embodiments, the AP 112 may be configured to perform a method to synchronize timing to a first peer to peer wireless station, as described further below. The first peer to peer wireless station may be the timing (or anchor) master for the first cluster of wireless stations. Further, the AP 112 may be configured to receive a beacon from the second peer-to-peer wireless station via a peer-to-peer communication protocol. The beacon may include a service indication supported by the second peer to peer wireless station. In some embodiments, the supported service indication comprises a hash of services supported by the second peer to peer wireless station. The second peer to peer wireless station can be configured to synchronize timing to a third peer to peer wireless station, where the third peer to peer wireless station can be a timing (or anchor) master for the second cluster of wireless stations. The AP 112 may be further configured to determine services common to the AP 112 and the second peer wireless station based at least in part on the indication of supported services and initiate a merge of the first cluster and the second cluster.
FIG. 3-client site block diagram
Fig. 3 illustrates an exemplary simplified block diagram of the client site 106. It should be noted thatThe client site block diagram of 3 is only one example of possible client sites. According to various embodiments, the client station 106 may be a User Equipment (UE), a mobile device or mobile station, and/or a wireless device or wireless station. As shown, the client station 106 may include a system on a chip (SOC)300, which system on a chip 300 may include portions for various purposes. The SOC 300 may be coupled to various other circuitry of the client station 106. For example, the client station 106 can include various types of memory (e.g., including NAND flash memory 310), a connector interface (I/F) (or docking station) 320 (e.g., for coupling to a computer system, taskbar, charging station, etc.), a display 360, a cellular communication circuit 330 (such as for LTE, GSM, etc.), and a medium-short range wireless communication circuit 329 (e.g., Bluetooth) TMAnd WLAN circuitry). The client station 106 may also include one or more smart cards, such as one or more UICC (universal integrated circuit card (s)) cards 345, incorporating SIM (subscriber identity module) functionality. The cellular communication circuit 330 may be coupled to one or more antennas, such as antennas 435 and 436, as shown. The short-range wireless communication circuit 329 may also be coupled to one or more antennas, such as antennas 337 and 338, preferably as shown. Alternatively, the short-range wireless communication circuit 329 may be coupled to the antennas 335 and 336 in addition to or in lieu of being coupled to the antennas 337 and 338. The short-range wireless communication circuitry 329 may include multiple receive chains and/or multiple transmit chains to receive and/or transmit multiple spatial streams, for example in a multiple-input multiple-output (MIMO) configuration.
As shown, the SOC 300 may include one or more processors 302 that may execute program instructions for the client station 106 and display circuitry 304 that may perform graphics processing and provide display signals to the display 360. The one or more processors 302 may also be coupled to a Memory Management Unit (MMU)340 and/or other circuits or devices, such as display circuit 304, cellular communication circuit 330, short-range wireless communication circuit 329, connector interface (I/F)320, and/or display 360, which may be configured to receive addresses from the one or more processors 302 and translate those addresses to locations in memory (e.g., memory 306, Read Only Memory (ROM)350, NAND flash memory 310). MMU 340 may be configured to perform memory protections and page table translations or settings. In some embodiments, MMU 340 may be included as part of processor 302.
As described above, the client station 106 may be configured to wirelessly communicate directly with one or more neighboring client stations. The client station 106 may be configured to communicate in accordance with a WLAN RAT for communicating in a WLAN network, as shown in fig. 1. Further, in some embodiments, the client station 106 may be configured to perform a method to synchronize timing to the first peer client station, as described further below. The first peer-to-peer client station may be the timing (or anchor) master for the first cluster of wireless stations. Further, the client station 106 may be configured to receive a beacon from a second peer client station via a peer-to-peer communication protocol. The beacon may include an indication of services supported by the second peer client station. In some embodiments, the indication of supported services comprises a hash of services supported by the second peer client station. The second peer-to-peer client station may be configured to synchronize timing to a third peer-to-peer client station, where the third peer-to-peer client station may be a timing (or anchor) master for the second cluster of wireless stations. The client station 106 may be further configured to determine services common to the client station 106 and the second peer client station based at least in part on the indication of services supported and initiate a merge of the first cluster and the second cluster.
As described herein, the client station 106 may include hardware and software components for implementing the features described herein. For example, the processor 302 of the client station 106 may be configured to implement some or all of the features described herein, e.g., by executing program instructions stored on a memory medium (e.g., a non-transitory computer-readable memory medium). Alternatively (or in addition), the processor 302 may be configured as a programmable hardware element, such as an FPGA (field programmable gate array) or as an ASIC (application specific integrated circuit). Alternatively (or in addition), the processor 302 of the UE 106, in conjunction with one or more of the other components 300, 304, 306, 310, 320, 330, 335, 340, 345, 350, 360, may be configured to implement some or all of the features described herein.
Further, processor 302 may include one or more processing elements, as described herein. Accordingly, the processor 302 may include one or more Integrated Circuits (ICs) configured to perform the functions of the processor 302. Further, each integrated circuit may include circuitry (e.g., first circuitry, second circuitry, etc.) configured to perform the functions of one or more processors 204.
Further, the cellular communication circuitry 330 and the short-range wireless communication circuitry 329 may each include one or more processing elements, as described herein. In other words, one or more processing elements may be included in the cellular communication circuitry 330, as well as in the short-range wireless communication circuitry 329. Accordingly, each of the cellular communication circuit 330 and the short-range wireless communication circuit 329 may include one or more Integrated Circuits (ICs) configured to perform the functions of the cellular communication circuit 330 and the short-range wireless communication circuit 329, respectively. Further, each integrated circuit can include circuitry (e.g., first circuitry, second circuitry, etc.) configured to perform the functions of the cellular communication circuitry 330 and the short-range wireless communication circuitry 329.
Wi-Fi peer-to-peer communication protocol
In some embodiments, Wi-Fi devices (e.g., client stations 106) may be able to communicate with each other in a peer-to-peer manner, e.g., without the communication passing through an intermediate access point. There are currently two Wi-Fi peer-to-peer networking protocols in the Wi-Fi alliance. In one type of peer-to-peer protocol, when two Wi-Fi devices (e.g., wireless stations) communicate with each other, one of the Wi-Fi devices effectively acts as a pseudo-access point and the other acts as a client device. In a second type of Wi-Fi peer-to-peer protocol, known as Neighbor Awareness Networking (NAN), two Wi-Fi client devices (wireless stations) act as similar peer devices communicating with each other, e.g., neither of whom acts as an access point.
In NAN systems, each wireless station may implement methods to ensure that it is synchronized with the communicating neighboring wireless stations. Further, the wireless stations can negotiate a common discovery window for exchanging synchronization packets to help ensure that devices that are communicating directly with each other are properly synchronized to be able to communicate. Once two wireless stations have the same discovery window, they can exchange synchronization packets to keep each other synchronized. The wireless stations may also exchange service discovery frames using the discovery window to communicate other information, e.g., other availability outside of the discovery window.
The NAN protocol includes two aspects: 1) synchronization and discovery (NAN 1.0), and 2) data path transmission (NAN 2.0). NAN 1.0 describes a method for NAN protocol synchronization and discovery. After two wireless stations discover each other (according to NAN 1.0), they may implement a flow to establish a NAN data path between them so that they can communicate normally. Thereafter, the two wireless stations prepare a common data path negotiation window so that they can negotiate capabilities, synchronize requirements, and exchange other service information. The data path negotiation window is a time window that enables two wireless stations to communicate with each other so that they can negotiate these capabilities and synchronization requirements and exchange this other service information. Once the data path negotiation window has been established and the NAN data path establishment has been conducted, the wireless stations may conduct data path synchronization to help ensure that the two stations remain synchronized with each other for proper communication. Finally, data path resource allocation involves a common time slot and channel that two peer wireless stations communicate with each other for communication. In other words, the two devices communicate with each other as to which channel and at which time slot they should use to help ensure proper communication between them. In addition, the two devices communicate with each other as to which channel and time slot each will preferentially use for future communications between them.
Embodiments described herein also define methods (and/or mechanisms) for wireless stations, including but not limited to NAN devices, to synchronize to neighboring wireless stations based, at least in part, on mutual (or common) services between the wireless stations.
Peer-to-peer synchronization based on mutual service
In some implementations, peer wireless stations can periodically transmit (or broadcast) synchronization and/or discovery beacons on a social channel, such as a channel designated for transmitting and/or receiving synchronization and/or discovery beacons within a peer-to-peer protocol, to which peer wireless stations can periodically tune to receive and/or transmit (broadcast) such beacons, as well as perform other processes, such as service negotiation and cluster management. For example, the synchronization and/or discovery beacons may carry (or include) information that may be used to select an anchor (or timing) master device (e.g., wireless stations to which other wireless stations may synchronize via receiving beacons from the anchor master device or receiving beacons that carry or include information that allows synchronization to the anchor master device) and/or form a synchronization tree (or cluster), e.g., as shown in fig. 4. For example, in some implementations, the wireless station with the highest ranking compared to neighboring wireless stations (e.g., wireless station 401n) may be selected as the anchor master (or timing master). The ranking may be based at least in part on a number of current peer-to-peer connections (data sessions such as NAN data paths or NAN data links) of the wireless station, requirements of the current peer-to-peer connections, e.g., quality of service and/or scheduling restrictions. In other words, the wireless station with the most restrictive communication schedule may be selected as the anchoring master. Note that as the number of peer-to-peer connections increases and/or as quality of service requirements increase, communication scheduling may become more restrictive. Once selected, the anchoring master device can provide time synchronization for wireless stations within the synchronization tree (or cluster) via broadcasting (and receiving) beacons directly from the anchoring master device (e.g., for wireless stations 410a-410c) and/or via forwarding synchronization information on behalf of the anchoring post device to wireless stations that are not within range of receiving beacons from the anchoring master device (e.g., wireless station 410c can forward synchronization information received from wireless station 401n to wireless stations 401d and 401 e). Note that synchronization and/or discovery beacons may also be used for service discovery.
In addition to selecting an anchoring master and/or forming a synchronization tree (or cluster), synchronization and/or discovery beacons may also be implemented for synchronization tree (or cluster) merging. For example, as shown in fig. 5A-5C, two clusters 505x and 505y may be in close proximity to each other, as shown in fig. 5A. As shown, device 501a can be the anchor master for cluster 505x, and devices 501b and 501e can synchronize to device 501 a. Similarly, device 501c can be the anchor master for cluster 505y, and devices 501d and 501f can synchronize to device 501 c. Proceeding to fig. 5B, the merging of clusters 505x and 505y may be initiated when device 501B and device 501c come within communication range (e.g., very close) of each other. During merging, a new anchor master will be selected based on, for example, the ranking. In the illustrated example, device 501a has a higher rank than device 501C, such that when devices 501b and 501C exchange cluster information (e.g., via discovery and/or synchronization beacons), the devices (e.g., 501a-501f) will select device 501a as the anchor master (e.g., based on device 501a having a higher rank than device C), and cluster 505y will merge into cluster 505x, as shown in fig. 5C. Thus, devices 501b-501f synchronize timing to device 501 a. Note that the merging of clusters can be done independently of the services supported by the devices within each cluster. In other words, cluster merging may be implemented as a function of device synchronization to the highest ranked devices, and may be independent of whether devices within each cluster provide mutual or common services.
However, in some implementations and/or scenarios, timing adjustments associated with (or due to) cluster merging, e.g., as described above, may require device 501c and device 501d to adjust timing in order to synchronize normally to device 501a, may momentarily affect (e.g., reduce) the quality of service of the current peer-to-peer data session. Furthermore, if the data session includes delay sensitive applications, such as display/screen mirroring, video and/or voice calls, etc., a potential degradation in quality of service may adversely affect the user experience. For example, if during the merging of clusters 505x and 505y, devices 501a and 501b are executing a file transfer application, while devices 501c and 501d are executing a low latency screen mirroring application, the merging of clusters may cause visible degradation in the mirroring application (e.g., small screen failures such as pixel loss, frame freeze, and/or frame jitter), thereby adversely affecting the user experience. Conversely, merging may have little or no impact on the user experience of the file transfer application between devices 501a and 501b, e.g., because the timing of devices 501a and 501b may not be affected, and because any impact on the file transfer may not be visible.
Thus, as shown in this example, frequent unconditional merging of clusters may adversely affect the quality of service for some applications, and in some cases, interrupts may unnecessarily occur in an uncontrolled manner. Embodiments described herein define a method (and/or mechanism) for a wireless station (e.g., wireless station 106) to selectively (or conditionally) merge clusters based at least in part on the interoperability of services provided within the merged clusters. Such conditional merging may further provide a mechanism for controlling the impact on the quality of service associated with possible cluster mergers.
In some embodiments, a wireless station (e.g., wireless station 106) may transmit (or broadcast) a beacon (e.g., discovery and/or synchronization) that includes information about services supported by the wireless station (e.g., as a provider and/or consumer). In some embodiments, this information may be included in a hash (e.g., service Identifier (ID)) of all services supported by the wireless station. In some embodiments, the information may specify one or more parameters for synchronization, e.g., service ID, network name, etc.
In some embodiments, a wireless station may filter beacons received from peer (neighboring) wireless stations based at least in part on services supported by the wireless station. In other words, the wireless station may selectively consider received beacons based at least in part on whether the received beacons include information about services supported by the wireless station. In some embodiments, filtering the beacon may include a comparison between services supported by the wireless station and services indicated as supported in the received beacon (e.g., a comparison between a local hash generated by the wireless station and a hash received from a peer wireless station). For example, if a wireless station determines (e.g., via comparison) that a peer wireless device supports services also supported by the wireless station, the wireless station may attempt to synchronize to the peer wireless station. In such cases, clusters associated with the wireless station and the peer wireless station may be consolidated based, at least in part, on commonly (or mutually) supported services. Conversely, if the wireless station determines (e.g., via comparison) that the peer wireless device does not support a service that is also supported by the wireless station (e.g., there is no common support service within the peer) or at that time, the wireless station may not attempt to synchronize to the peer wireless station. In such cases, clusters associated with the wireless station and the peer wireless station may not merge based (at least in part) on determining that there are no commonly (or mutually) supported services.
It is noted that the services supported may be considered or associated with services that the wireless station is currently seeking, consuming, advertising (advertisement), and/or providing. In other words, if the wireless station is not currently seeking, consuming, advertising, and/or providing the services indicated in the beacon from a peer wireless station associated with another cluster, the wireless station may decide not to initiate cluster merging (e.g., the wireless station may choose not to initiate a process of selecting a new anchor master for the merged cluster and/or not to initiate a process of synchronizing to the new anchor master for the merged cluster). Further, if a peer wireless station remains in range and continues to receive beacons from peer wireless stations, the wireless station may initiate cluster merging based on the wireless station newly seeking (or consuming, advertising, and/or providing) the service indicated in the received beacon and/or the peer wireless stations indicating additional services in the beacon that match the service (or services) provided/sought/consumed/advertised by the wireless station.
For example, a wireless station may be able to consume services advertised by peer wireless stations, however, if the wireless station is not currently seeking services, the wireless station may determine not to initiate consolidation of associated clusters based in part on the services not currently seeking advertisements. As another example, the wireless station may be consuming service and may receive a beacon indicating that a peer wireless device associated with another cluster is currently looking for service consumed by the wireless station. In such a case, the wireless station may initiate cluster merging based at least in part on services sought by the peer wireless stations and thus common to both the wireless station and the peer wireless stations. As another example, the wireless station may be able to provide a service, but may not actively advertise the service. However, upon determining that a peer wireless station is actively looking for service, the wireless station may initiate a merge of the association cluster based at least in part on the service that the wireless station and the peer wireless station share. As another example, the wireless station may be providing service and may receive a beacon indicating that a peer wireless device associated with another cluster is currently looking for service provided by the wireless station. In such a case, the wireless station may initiate cluster merging based at least in part on the peer wireless station looking for, and thus being a common service to, the wireless station and the peer wireless station.
In some embodiments, selective combining (or synchronization), e.g., as described above, may be initiated based on one or more criteria at the wireless station. In other words, if there are one or more standards at the wireless station, the wireless station may be able to selectively merge (or synchronize) and may alternatively synchronize to peer wireless stations regardless of the services supported by the wireless station and peer wireless stations. For example, the wireless station may be able to selectively merge (or synchronize) if the wireless station is currently providing and/or consuming an application requiring low latency (e.g., having a higher quality of service requirement), and may disable selective merging if the wireless station is not currently providing and/or consuming an application requiring low latency. For example, the wireless station may be able to selectively merge if the wireless station is providing and/or consuming higher quality of service applications, such as display/screen mirroring and/or video or voice calls. Conversely, the wireless station may disable selective combining if the wireless station is providing and/or consuming a lower quality of service application.
Fig. 6A-6D illustrate examples of selective merging (synchronization) of clusters according to some embodiments. As shown in fig. 6A, three clusters may be approaching each other. Cluster 616x may include devices 606a and 606b (which may both be client stations 106, as described above), and device 606a may be the anchor master for cluster 616 x. Further, device 606b may be consuming service a from device 606a (or providing service a to device 606 a). Cluster 616y may include devices 606c and 606d (which may both be client stations 106, as described above), and device 606c may be the anchor master for cluster 616 y. Further, device 606d may be consuming service B from device 606c (or providing service B to device 606 c). Cluster 616z may include devices 606p and 606q (which may both be client stations 106, as described above), and device 606p may be the anchor master for cluster 616 z. Further, device 606q may be consuming service a from device 606p (or providing service a to device 606 p). Note that device 606a may have a higher rank than device 606p, and device 606p may have a higher rank than device 606 c.
With continued reference to fig. 6B, the clusters 616x, 616y, and 616z may be moved within range of each other. In other words, at least device 606b may be within communication range of devices 606p and 606c, e.g., device 606b may receive beacons from devices 606p and 606c, and devices 606p and 606c may receive beacons from device 606 b. With continued reference to fig. 6C, device 606b may compare the service information included in the beacons received from devices 606p and 606C and may determine that there is a common (mutual) service (e.g., service a) between devices 606b and 606p but not between devices 606b and 606C. Device 606b (or similarly device 606p) may then initiate a cluster merge between clusters 616x and 616 z. Further, since device 606a has a higher rank than device 606p, device 606a may remain the anchor master for cluster 616x, and devices 606b, 606p, and 606q may synchronize to device 606 a.
With continued reference to fig. 6D, at a later point in time, device 606c may register (or look for/advertise) service a while remaining in proximity to device 606 b. Thus, device 606b (or similarly device 606c) may initiate a cluster merge between clusters 616x and 616y based at least in part on common (mutual) service a. Further, since service 606a has a higher rank than service 606p, device 606a may remain the anchor master for cluster 616x, and devices 606b, 606c, 606d, 606p, and 606q may synchronize to device 606 a.
Fig. 7 illustrates a block diagram of an example of a method of selective merging (synchronization) of clusters according to some embodiments. The method shown in fig. 7 may be used in conjunction with any of the systems or devices shown in the above figures, among other devices. In various embodiments, some of the method elements shown may be performed concurrently, in a different order than shown, or may be omitted. Additional method elements may also be performed as desired. As shown, the method may operate as follows.
At 702, a wireless station, such as the client station 106 described above, can synchronize timing to a first peer wireless station (e.g., a neighboring wireless station). The first peer to peer wireless station may be the timing (or anchor) master for the first cluster of wireless stations. The wireless station and the first peer wireless station may be associated with a first cluster.
At 704, the wireless station may receive a beacon from a second peer to peer wireless station. The beacon may be received via a peer-to-peer communication protocol. In some embodiments, the beacon may include an indication of one or more services supported by the second peer to peer wireless station. In some embodiments, the indication of the one or more services supported comprises a service hash of the services supported by the second peer to peer wireless station. In some embodiments, the indication of supported services may specify at least one parameter for synchronization. In some embodiments, the at least one parameter may include at least one (or one or more) of a service identifier, a hash of a supported service, and/or a network name. In some embodiments, the services supported by the second peer to peer wireless station may include at least one (or one or more) of services provided by the second peer to peer wireless station, services consumed by the second peer to peer wireless station, services advertised by the second peer to peer wireless station, and/or services sought by the second peer to peer wireless station.
Further, in some embodiments, the second peer to peer wireless station may be configured to synchronize timing to a third peer to peer wireless station, and the third peer to peer wireless station may be a timing (or anchor) master for the second cluster of wireless stations. The second peer wireless station and the third peer wireless station may be associated with a second cluster.
At 706, the wireless station can determine a service that is common to both the wireless station and the second peer wireless station (e.g., a common service between the wireless station and the second peer wireless station) based at least in part on the indication of the one or more services supported. In some embodiments, to determine services common to a wireless station and a second peer wireless station, the wireless station may generate a local hash of the services supported by the wireless station and compare the local hash to the service hash. In some embodiments, the services common to the wireless station and the second peer wireless station may include services provided by the second peer wireless station and sought or consumed by the wireless station, services consumed by the second peer wireless station and sought, advertised or provided by the wireless station, services advertised by the second peer wireless station and sought or consumed by the wireless station, services sought by the second peer wireless station and advertised or provided by the wireless station, at least one (or one or more) of a service provided by the wireless station and sought or consumed by a second peer to wireless station, a service consumed by the wireless station and sought, advertised or provided by the second peer to wireless station, a service advertised by the wireless station and sought or consumed by the second peer to wireless station, and/or a service sought by the wireless station and advertised or provided by the second peer to wireless station.
At 708, the wireless station can initiate a merge of the first cluster and the second cluster. The merging may be based at least in part on a determination of a public service. For example, in some embodiments, the wireless station may initiate a merge process, which may include selecting a new anchor (or timing) master device and/or the wireless device may initiate a process in which the wireless station and the second peer wireless station determine which of the first wireless station and the third wireless station to continue synchronizing timing with, e.g., based on the ranking of the first peer wireless station and the third peer wireless station. In some embodiments, the combining may result in the wireless station and the first peer wireless station beginning to synchronize timing with the third peer wireless station. In some embodiments, the combining may result in the second peer to peer wireless station and the third peer to peer wireless station beginning to synchronize timing with the first peer to peer wireless station. In other words, in some embodiments, the first cluster and the second cluster may be merged into a third cluster, e.g., an anchor (or timing) master of the third cluster may be one of the first peer wireless station or the third peer wireless station based on a ranking of devices within the third cluster of the first peer wireless station and the third peer wireless station.
In some embodiments, the wireless station may receive a beacon from a fourth peer wireless station. In some embodiments, the beacon may be received via a peer-to-peer communication protocol. In some embodiments, the beacon may include an indication of services supported by the fourth peer to peer wireless station, and the fourth peer to peer wireless station may be configured to synchronize timing to the fifth peer to peer wireless station. Further, the fifth peer to peer wireless station may be the timing (anchor) master for the third cluster of wireless stations. The wireless station may determine that there is no service common to the wireless station and the fourth peer wireless station based at least in part on the indication of services supported by the fourth peer wireless station. In such embodiments, the wireless station may decide not to initiate a merge of the first cluster and the third cluster.
Fig. 8 illustrates a block diagram of an example of a method of selective synchronization of peer devices based on supported services, in accordance with some embodiments. The method shown in fig. 8 may be used in conjunction with any of the systems or devices shown in the above figures, among other devices. In various embodiments, some of the method elements shown may be performed simultaneously, in a different order than shown, or may be omitted. Additional method elements may also be performed as desired. As shown, the method may operate as follows.
At 802, a wireless station, which may be the client station 106 described above, may synchronize timing to a first peer wireless station. In some embodiments, the wireless station and the first peer to peer wireless station may be associated with a first cluster of devices. In some embodiments, the first peer to peer wireless station may be a timing (or anchor) master for the first cluster of devices.
At 804, the wireless station can receive beacons from a plurality of peer wireless stations via a peer-to-peer communication protocol. The beacon may include an indication of services supported by the peer wireless station. The peer wireless station may not synchronize the timing to the first peer wireless station. In some embodiments, the peer to peer wireless station may be associated with one or more clusters of devices that are not associated with the first cluster of devices. In some embodiments, the indication of supported services may include a hash of services supported by the plurality of peer wireless stations. In some embodiments, the indication of supported services may specify at least one parameter for synchronization. In some embodiments, the at least one parameter may include at least one (or one or more) of a service identifier, a hash of a supported service, and/or a network name. In some embodiments, the services supported may include at least one (or one or more) of services offered, services consumed, services advertised, and/or services sought.
At 806, the wireless station can determine common services with a target peer wireless station of the plurality of peer wireless stations based at least in part on the indication of services supported by the peer wireless station. In some embodiments, to determine common services, the wireless station may generate a local hash of the supported services and compare the local hash to service hashes supported by a plurality of peer wireless stations. In some implementations, services common to a wireless station and a targeted peer wireless station may include services provided by the targeted peer wireless station and sought or consumed by the wireless station, services consumed by the targeted peer wireless station and sought, advertised or provided by the wireless station, services advertised by the targeted peer wireless station and sought or consumed by the wireless station, services sought by the targeted peer wireless station and advertised or provided by the wireless station, at least one (or one or more) of a service provided by a wireless station and sought or consumed by a targeted peer wireless station, a service consumed by a wireless station and sought, advertised or provided by a targeted peer wireless station, a service advertised by a wireless station and sought or consumed by a targeted peer wireless station, and/or a service sought by a wireless station and advertised or provided by a targeted peer wireless station.
At 808, the wireless station can initiate timing synchronization of the target peer wireless station and the first peer wireless station. In some embodiments, the initiation of timing synchronization may be based at least in part on a determination of a public service.
Embodiments of the present disclosure may be implemented in any of various forms. For example, some embodiments may be implemented as a computer-implemented method, a computer-readable memory medium, or a computer system. Other embodiments may be implemented using one or more custom designed hardware devices, such as ASICs. Other embodiments may be implemented using one or more programmable hardware elements, such as FPGAs.
In some embodiments, a non-transitory computer-readable memory medium may be configured such that it stores program instructions and/or data, wherein the program instructions, if executed by a computer system, cause the computer system to perform a method, e.g., any of the method embodiments described herein, or any combination of the method embodiments described herein, or any subset of any of the method embodiments described herein, or any combination of such subsets.
In some embodiments, a wireless device (or wireless station) may be configured to include a processor (or a set of processors) and a memory medium, where the memory medium stores program instructions, where the processor is configured to read and execute the program instructions from the memory medium, where the program instructions are executable to cause the wireless device to implement any of the various method examples described herein (or any combination of the method examples described herein, or any subset of any of the method examples described herein, or any combination of such subsets). The apparatus may be embodied in any of a variety of forms.
Although the embodiments above have been described in considerable detail, numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.

Claims (35)

1. A wireless station, comprising:
at least one antenna;
at least one radio in communication with the at least one antenna and configured to communicate via a Wi-Fi interface; and
at least one processor in communication with the at least one radio;
wherein the at least one processor is configured to cause the wireless station to:
synchronizing timing to a first peer to peer wireless station, wherein the first peer to peer wireless station is a timing master for a first cluster of wireless stations;
receiving a beacon from a second peer to peer wireless station via a peer to peer communications protocol, wherein the beacon comprises an indication of one or more services supported by the second peer to peer wireless station, wherein the second peer to peer wireless station is configured to synchronize timing to a third peer to peer wireless station, wherein the third peer to peer wireless station is a timing master for a second cluster of wireless stations;
Determining a service common to the wireless station and the second peer wireless station based at least in part on the indication of one or more services supported; and
initiating merging of the first cluster and the second cluster.
2. The wireless station of claim 1, wherein the wireless station,
wherein the indication of one or more services supported comprises a service hash of services supported by the second peer wireless station.
3. The wireless station of claim 2, wherein the wireless station,
wherein to determine a service common to the wireless station and the second peer wireless station, the at least one processor is further configured to:
generating a local hash of services supported by the wireless station; and
comparing the local hash to the service hash.
4. The wireless station of claim 1, wherein the wireless station,
wherein the indication of supported services specifies at least one parameter for synchronization.
5. The wireless station of claim 4, wherein the wireless station,
wherein the at least one parameter comprises at least one of:
a service identifier;
a hash of the supported service; or
A network name.
6. The wireless station of claim 1, wherein the wireless station,
Wherein the at least one processor is further configured to:
receiving a beacon from a fourth peer to peer wireless station via a peer to peer communications protocol, wherein the beacon comprises an indication of services supported by the fourth peer to peer wireless station, wherein the fourth peer to peer wireless station is configured to synchronize timing to a fifth peer to peer wireless station, wherein the fifth peer to peer wireless station is a timing master for a third cluster of wireless stations;
determining that the wireless station and the fourth peer to peer wireless station do not have common services based at least in part on the indication of services supported by the fourth peer to peer wireless station; and
determining not to initiate merging of the first cluster and the third cluster.
7. The wireless station of claim 1, wherein the wireless station,
wherein services supported by the second peer wireless station include at least one of:
a service provided by the second peer to peer wireless station;
services consumed by the second peer to peer wireless station;
services advertised by the second peer to peer wireless station; or
Services sought by the second peer to peer wireless station.
8. The wireless station of claim 1, wherein the wireless station,
wherein the service common to the wireless station and the second peer wireless station comprises at least one of:
Services offered by the second peer to peer wireless station and sought or consumed by the wireless station;
services consumed by the second peer to peer wireless station and sought, advertised, or provided by the wireless station;
services advertised by the second peer wireless station and sought or consumed by the wireless station;
services sought by the second peer wireless station and advertised or provided by the wireless station;
services offered by the wireless station and sought or consumed by the second peer wireless station;
services consumed by the wireless station and sought, advertised, or provided by the second peer wireless station;
services advertised by the wireless station and sought or consumed by the second peer wireless station; or
Services sought by the wireless station and advertised or provided by the second peer wireless station.
9. An apparatus, comprising:
a memory; and
at least one processor in communication with the memory;
wherein the at least one processor is configured to:
synchronizing timing to a first peer to peer wireless station;
receiving beacons from a plurality of peer wireless stations via a peer-to-peer communication protocol, wherein the beacons include an indication of services supported by the peer wireless stations, wherein the peer wireless stations do not synchronize timing to the first peer wireless station;
Determining common services with a target peer wireless station of the plurality of peer wireless stations based at least in part on the indication of services supported by the peer wireless station; and
initiating timing synchronization of the target peer wireless station and the first peer wireless station.
10. The apparatus as set forth in claim 9, wherein,
wherein the indication of supported services comprises a hash of services supported by the plurality of peer wireless stations.
11. The apparatus of claim 10, wherein the first and second electrodes are disposed on opposite sides of the substrate,
wherein to determine a public service, the at least one processor is further configured to:
generating a local hash of the supported service; and
comparing the local hash to hashes of services supported by the plurality of peer wireless stations.
12. The apparatus of claim 9, wherein the first and second electrodes are disposed on opposite sides of the substrate,
wherein the indication of supported services specifies at least one parameter for synchronization.
13. The apparatus as set forth in claim 12, wherein,
wherein the at least one parameter comprises at least one of:
a service identifier;
a hash of the supported service; or
A network name.
14. The apparatus of claim 9, wherein the first and second electrodes are disposed on opposite sides of the substrate,
wherein the services supported by the target peer wireless station include one or more of:
A service provided by the at least one wireless station;
services consumed by the at least one wireless station;
services advertised by the at least one wireless station; or
A service sought by the at least one peer wireless station.
15. The apparatus as set forth in claim 9, wherein,
wherein the public service comprises at least one of:
a service provided by the at least one peer wireless station and sought or consumed by an application in communication with the apparatus;
services consumed by the at least one peer wireless station and sought, advertised, or provided by an application in communication with the apparatus;
services advertised by the at least one peer wireless site and sought or consumed by an application in communication with the apparatus;
services sought by the at least one peer wireless station and advertised or provided by an application in communication with the apparatus;
a service provided by an application in communication with the apparatus and sought or consumed by the at least one peer wireless station;
services consumed by an application in communication with the apparatus and sought, advertised, or provided by the at least one peer wireless station;
services advertised by an application in communication with the apparatus and sought or consumed by the at least one peer wireless station; or
Services sought by an application in communication with the apparatus and advertised or provided by the at least one peer wireless station.
16. A non-transitory computer readable storage medium storing program instructions executable by processing circuitry of a wireless station to:
synchronizing timing to a first peer to peer wireless station, wherein the first peer to peer wireless station is an anchor master for a first cluster of wireless stations, wherein the wireless station and the first peer to peer wireless station are associated with the first cluster;
receiving a beacon from a second peer-to-peer wireless station via a peer-to-peer communication protocol, wherein the beacon comprises an indication of one or more services supported by the second peer-to-peer wireless station, wherein the second peer-to-peer wireless station is associated with a second cluster of wireless stations;
determining a service common to the wireless station and the second peer wireless station based at least in part on the indication of one or more services supported; and
in response to determining the service, initiating merging of the first cluster and the second cluster.
17. The non-transitory computer readable storage medium of claim 16,
Wherein the indication of one or more services supported comprises a service hash for services supported by the second peer wireless station,
wherein to determine the service, the program instructions are further executable to:
generating a local hash of services supported by the wireless station; and
comparing the local hash to the service hash.
18. The non-transitory computer readable storage medium of claim 16,
wherein the indication of supported services specifies at least one parameter for synchronization, wherein the at least one parameter comprises at least one of:
a service identifier;
a hash of the supported service; or
A network name.
19. The non-transitory computer readable storage medium of claim 16,
wherein services supported by the second peer wireless station include at least one of:
a service provided by the second peer to peer wireless station;
services consumed by the second peer to peer wireless station;
services advertised by the second peer to peer wireless station; or
Services sought by the second peer to peer wireless station.
20. The non-transitory computer readable storage medium of claim 16,
Wherein the service comprises at least one of:
services offered by the second peer to peer wireless station and sought or consumed by the wireless station;
services consumed by the second peer to peer wireless station and sought, advertised, or provided by the wireless station;
services advertised by the second peer wireless station and sought or consumed by the wireless station;
services sought by the second peer wireless station and advertised or provided by the wireless station;
services offered by the wireless station and sought or consumed by the second peer wireless station;
services consumed by the wireless station and sought, advertised, or provided by the second peer wireless station;
services advertised by the wireless station and sought or consumed by the second peer wireless station; or
Services sought by the wireless station and advertised or provided by the second peer wireless station.
21. A method for wireless communication, comprising:
synchronizing timing to a first peer to peer wireless station;
receiving beacons from a plurality of peer wireless stations via a peer-to-peer communication protocol, wherein the beacons include an indication of services supported by the peer wireless stations, wherein the peer wireless stations do not synchronize timing to the first peer wireless station;
Determining common services with a target peer wireless station of the plurality of peer wireless stations based at least in part on the indication of services supported by the peer wireless station; and
initiating timing synchronization of the target peer wireless station and the first peer wireless station.
22. The method as set forth in claim 21, wherein,
wherein the indication of supported services comprises a hash of services supported by the plurality of peer wireless stations.
23. The method of claim 22, wherein the first and second portions are selected from the group consisting of,
wherein to determine a public service, the method further comprises:
generating a local hash of the supported service; and
comparing the local hash to hashes of services supported by the plurality of peer wireless stations.
24. The method of claim 21, wherein the first and second light sources are selected from the group consisting of,
wherein the indication of supported services specifies at least one parameter for synchronization.
25. The method of claim 24, wherein the first and second light sources are selected from the group consisting of,
wherein the at least one parameter comprises at least one of:
a service identifier;
a hash of the supported service; or
A network name.
26. The method of claim 21, wherein the first and second light sources are selected from the group consisting of,
wherein the services supported by the target peer wireless station include one or more of:
A service provided by the at least one wireless station;
services consumed by the at least one wireless station;
services advertised by the at least one wireless station; or
A service sought by the at least one peer wireless station.
27. The method of claim 21, wherein the first and second light sources are selected from the group consisting of,
wherein the public service comprises at least one of:
a service provided by the at least one peer wireless station and sought or consumed by an application in communication with the apparatus;
services consumed by the at least one peer wireless station and sought, advertised, or provided by an application in communication with the apparatus;
services advertised by the at least one peer wireless site and sought or consumed by an application in communication with the apparatus;
services sought by the at least one peer wireless station and advertised or provided by an application in communication with the apparatus;
a service provided by an application in communication with the apparatus and sought or consumed by the at least one peer wireless station;
services consumed by an application in communication with the apparatus and sought, advertised, or provided by the at least one peer wireless station;
services advertised by an application in communication with the apparatus and sought or consumed by the at least one peer wireless station; or
Services sought by an application in communication with the apparatus and advertised or provided by the at least one peer wireless station.
28. A method for a wireless station, comprising:
synchronizing timing to a first peer to peer wireless station, wherein the first peer to peer wireless station is an anchor master for a first cluster of wireless stations, wherein the wireless station and the first peer to peer wireless station are associated with the first cluster;
receiving a beacon from a second peer-to-peer wireless station via a peer-to-peer communication protocol, wherein the beacon comprises an indication of one or more services supported by the second peer-to-peer wireless station, wherein the second peer-to-peer wireless station is associated with a second cluster of wireless stations;
determining a service common to the wireless station and the second peer wireless station based at least in part on the indication of one or more services supported; and
in response to determining the service, initiating a merge of the first cluster and the second cluster.
29. The method of claim 28, wherein the first and second portions are selected from the group consisting of,
wherein the indication of one or more services supported comprises a service hash of services supported by the second peer wireless station,
wherein to determine the service, the method further comprises:
Generating a local hash of services supported by the wireless station; and
comparing the local hash to the service hash.
30. The method of claim 28, wherein the first and second portions are selected from the group consisting of,
wherein the indication of supported services specifies at least one parameter for synchronization, wherein the at least one parameter comprises at least one of:
a service identifier;
a hash of the supported service; or
A network name.
31. The method of claim 28, wherein the first and second portions are selected from the group consisting of,
wherein services supported by the second peer wireless station include at least one of:
a service provided by the second peer to peer wireless station;
services consumed by the second peer to peer wireless station;
services advertised by the second peer to peer wireless station; or
Services sought by the second peer to peer wireless station.
32. The method of claim 28, wherein the first and second portions are selected from the group consisting of,
wherein the service comprises at least one of:
services offered by the second peer to peer wireless station and sought or consumed by the wireless station;
services consumed by the second peer to peer wireless station and sought, advertised, or provided by the wireless station;
services advertised by the second peer wireless station and sought or consumed by the wireless station;
Services sought by the second peer wireless station and advertised or provided by the wireless station;
services offered by the wireless station and sought or consumed by the second peer wireless station;
services consumed by the wireless station and sought, advertised, or provided by the second peer wireless station;
services advertised by the wireless station and sought or consumed by the second peer wireless station; or
Services sought by the wireless station and advertised or provided by the second peer wireless station.
33. A non-transitory computer-readable storage medium storing program instructions executable by a processor to perform operations of the method of any of claims 21-32.
34. An apparatus for wireless communication, comprising:
a memory; and
at least one processor in communication with the memory;
wherein the memory has instructions stored thereon that, when executed by the at least one processor, cause the at least one processor to perform the operations of the method of any of claims 28-32.
35. An apparatus comprising means for performing operations of a method according to any of claims 21-32.
CN201810164307.3A 2017-02-28 2018-02-28 Selective peer-to-peer synchronization with mutual services Active CN109041257B (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201762464434P 2017-02-28 2017-02-28
US62/464,434 2017-02-28
US15/823,173 2017-11-27
US15/823,173 US11638229B2 (en) 2017-02-28 2017-11-27 Selective peer synchronization with mutual services

Publications (2)

Publication Number Publication Date
CN109041257A CN109041257A (en) 2018-12-18
CN109041257B true CN109041257B (en) 2022-06-03

Family

ID=63112537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810164307.3A Active CN109041257B (en) 2017-02-28 2018-02-28 Selective peer-to-peer synchronization with mutual services

Country Status (2)

Country Link
CN (1) CN109041257B (en)
DE (1) DE102018202787A1 (en)

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101345627A (en) * 2008-08-12 2009-01-14 中国科学院软件研究所 Conspiring party recognition method based on action analog in P2P network
CN101690038A (en) * 2007-07-10 2010-03-31 高通股份有限公司 Be used in the peer discovery of peer-to-peer network, transmitting the coding method of identifier
CN103825694A (en) * 2009-03-09 2014-05-28 Lg电子株式会社 Method for transmitting and receiving signals
CN104869618A (en) * 2009-12-24 2015-08-26 英特尔公司 Method And System For Discoverability Of Power Saving P2p Devices
CN104937976A (en) * 2013-01-20 2015-09-23 苹果公司 Offloading traffic via a wireless peer-to-peer connection
CN105027640A (en) * 2012-12-10 2015-11-04 高通股份有限公司 Method and apparatus for timing advance selection for synchronized uplink transmission
CN105027593A (en) * 2013-03-06 2015-11-04 高通股份有限公司 Peer-to-peer pre-association discovery operations
WO2016115024A1 (en) * 2015-01-12 2016-07-21 Raytheon Company Dynamic azimuth scanning for rotating active electronic scanned array radar
WO2016118237A1 (en) * 2015-01-21 2016-07-28 Intel IP Corporation Method, apparatus, and computer readable medium for signaling high efficiency packet formats using a legacy portion of the preamble in wireless local-area networks
CN106211029A (en) * 2015-06-01 2016-12-07 苹果公司 Bluetooth Low Energy triggers NAN for further finding and connecting
CN106465092A (en) * 2014-06-02 2017-02-22 高通股份有限公司 Peer discovery in neighbor awareness networking (nan) aided data link networks

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4781940B2 (en) * 2006-08-21 2011-09-28 パナソニック株式会社 Wireless communication system, communication control method, and communication node
JP5434230B2 (en) * 2009-04-22 2014-03-05 ソニー株式会社 Wireless communication apparatus, wireless communication system, wireless communication method, and program
CN103067113B (en) * 2012-12-24 2015-08-12 中兴通讯股份有限公司 Method and the device of PTP time synchronized is realized based on aggregated links
US9288273B2 (en) * 2013-01-23 2016-03-15 Qualcomm Incorporated Systems and methods for pre-association discovery of services on a network
US9955505B2 (en) * 2013-12-06 2018-04-24 Apple Inc. Peer-to-peer communications on restricted channels
US9532193B2 (en) * 2014-03-14 2016-12-27 Blackberry Limited Changing topology of wireless peer-to-peer group
US10412651B2 (en) * 2014-08-28 2019-09-10 Apple Inc. User equipment triggered handover with long connected-discontinuous-reception cycle in connected mode

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101690038A (en) * 2007-07-10 2010-03-31 高通股份有限公司 Be used in the peer discovery of peer-to-peer network, transmitting the coding method of identifier
CN101345627A (en) * 2008-08-12 2009-01-14 中国科学院软件研究所 Conspiring party recognition method based on action analog in P2P network
CN103825694A (en) * 2009-03-09 2014-05-28 Lg电子株式会社 Method for transmitting and receiving signals
CN104869618A (en) * 2009-12-24 2015-08-26 英特尔公司 Method And System For Discoverability Of Power Saving P2p Devices
CN105027640A (en) * 2012-12-10 2015-11-04 高通股份有限公司 Method and apparatus for timing advance selection for synchronized uplink transmission
CN104937976A (en) * 2013-01-20 2015-09-23 苹果公司 Offloading traffic via a wireless peer-to-peer connection
CN105027593A (en) * 2013-03-06 2015-11-04 高通股份有限公司 Peer-to-peer pre-association discovery operations
CN106465092A (en) * 2014-06-02 2017-02-22 高通股份有限公司 Peer discovery in neighbor awareness networking (nan) aided data link networks
WO2016115024A1 (en) * 2015-01-12 2016-07-21 Raytheon Company Dynamic azimuth scanning for rotating active electronic scanned array radar
WO2016118237A1 (en) * 2015-01-21 2016-07-28 Intel IP Corporation Method, apparatus, and computer readable medium for signaling high efficiency packet formats using a legacy portion of the preamble in wireless local-area networks
CN106211029A (en) * 2015-06-01 2016-12-07 苹果公司 Bluetooth Low Energy triggers NAN for further finding and connecting

Also Published As

Publication number Publication date
CN109041257A (en) 2018-12-18
DE102018202787A1 (en) 2018-08-30

Similar Documents

Publication Publication Date Title
US10893083B2 (en) Neighbor awareness networking datapath—scheduling, scheduler rank, and pre-datapath operation triggering
US20200029198A1 (en) Neighbor Awareness Networking Datapath - Reciprocation and Coexistence
US10212574B2 (en) Neighbor awareness networking datapath—base scheduling, scheduler rank, and further service discovery
US10750436B2 (en) Neighbor awareness networking—data cluster
US10123200B2 (en) Neighbor awareness networking—channel sequence
US10609543B2 (en) Flexible BTLE TDS frame format for bi-directional service discovery
US11638229B2 (en) Selective peer synchronization with mutual services
US10271180B2 (en) Neighbor awareness networking multicast support
US10285040B2 (en) Neighbor awareness networking—accelerated discovery
US10575268B2 (en) NAN solicited synchronization
US10959103B2 (en) Neighbor awareness networking preferred channel learning
US10609761B2 (en) Adaptive signal strength thresholds for peer-to-peer synchronization and data communication
US10321423B2 (en) NAN data beacon
US10165464B2 (en) NAN datapath quality of service support
US10736022B2 (en) Proxy assisted NAN and access point concurrent operation
US10231258B2 (en) Neighbor awareness networking—schedule update
US10320902B2 (en) Detecting asymmetric awareness in peer-to-peer protocol
US11147126B2 (en) Neighbor awareness networking discovery window congestion mitigation
CN109041257B (en) Selective peer-to-peer synchronization with mutual services
US10681759B2 (en) Paging schemes for peer-to-peer communications
US10397943B2 (en) Flexible NAN availability schedule indications
US10541856B2 (en) NAN schedule migration

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant