WO2018236386A1 - MECHANISM CONFIGURING PARAMETERS OF NAN CLUSTER - Google Patents
MECHANISM CONFIGURING PARAMETERS OF NAN CLUSTER Download PDFInfo
- Publication number
- WO2018236386A1 WO2018236386A1 PCT/US2017/038876 US2017038876W WO2018236386A1 WO 2018236386 A1 WO2018236386 A1 WO 2018236386A1 US 2017038876 W US2017038876 W US 2017038876W WO 2018236386 A1 WO2018236386 A1 WO 2018236386A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- nan
- cluster
- nan cluster
- adjustable parameter
- identifier
- 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.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/005—Routing actions in the presence of nodes in sleep or doze mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
- H04W40/32—Connectivity information management, e.g. connectivity discovery or connectivity update for defining a routing cluster membership
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
Definitions
- Embodiments described herein generally relate to wireless communications between devices in wireless networks.
- NAN Neighbor Awareness Networking
- FIG. 1 illustrates an embodiment of a first operating environment.
- FIG. 2 illustrates an exemplary discovery synchronization timing Neighbor Awareness
- NAN Networking
- FIG. 3 illustrates an exemplary designation of mandatory awake discovery windows (DWs).
- FIG. 4 illustrates an exemplary transmission of discovery beacons.
- FIG. 5 illustrates an exemplary introduction of data transmission opportunities between
- FIG. 6 illustrates an exemplary data structure message.
- FIG. 7 illustrates an embodiment of a first logic flow.
- FIG. 8 illustrates an embodiment of a second logic flow.
- FIG. 9 illustrates an embodiment of a third logic flow.
- FIG. 10 illustrates an embodiment of a storage medium.
- FIG. 11 illustrates an embodiment of a device.
- FIG. 12 illustrates an embodiment of a wireless network.
- NAN clusters Neighbor Awareness Networking (NAN) clusters.
- Various embodiments may be directed to NAN clusters having configurable parameters.
- a NAN device can determine a value of an adjustable parameter of a NAN cluster.
- the NAN device can generate a message for transmission that includes an indicator of the adjustable parameter and the value of the adjustable parameter.
- the adjustable parameter can be a discovery window interval, a discovery window duration, a mandatory awake discovery window, a time slot duration, or a discovery beacon interval.
- Various embodiments may be directed to NAN clusters having specified identifiers.
- NAN devices may be directed to join or remain in NAN clusters having certain specified identifiers.
- Various embodiments may comprise one or more elements.
- An element may comprise any structure arranged to perform certain operations.
- Each element may be implemented as hardware, software, or any combination thereof, as desired for a given set of design parameters or performance constraints.
- an embodiment may be described with a limited number of elements in a certain topology by way of example, the embodiment may include more or less elements in alternate topologies as desired for a given implementation.
- any reference to "one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrases “in one embodiment,” "in some
- Various embodiments herein are generally directed to wireless communications systems. Various embodiments may be directed to wireless communications over any frequency band or range including, for example, over 31.8 GHz and/or 60 GHz frequencies. Various embodiments may involve wireless communications performed according to one or more standards for 60 GHz wireless communications and/or wireless communications over 31.8 GHz. For example, some embodiments may involve wireless communications performed according to one or more Wireless Gigabit Alliance (“WiGig”)/Institute of Electrical and Electronics Engineers (IEEE) 802.11ad standards, such as IEEE 802.11ad-2012, including their predecessors, revisions, progeny, and/or variants.
- WiGig Wireless Gigabit Alliance
- IEEE 802.11ad Institute of Electrical and Electronics Engineers
- Various embodiments may involve wireless communications performed according to one or more "next-generation" 60 GHz (“NG60”) wireless local area network (WLAN) communications standards, such as the IEEE 802.11 ay standard that is currently under development. Some embodiments may involve wireless communications performed according to one or more millimeter-wave (mrnWave) wireless communication standards.
- NG60 next-generation 60 GHz
- WLAN wireless local area network
- Some embodiments may involve wireless communications performed according to one or more millimeter-wave (mrnWave) wireless communication standards.
- millimeter-wave millimeter-wave
- various embodiments herein may involve millimeter-wave communications systems.
- Various embodiments herein may involve systems operating according to any known wireless standard or protocol or any wireless standard or protocol under development including, but not limited to, IEEE 802.11 ad, IEEE 802.11 ay, and any 5G system.
- Various embodiments may additionally or alternatively involve wireless communications according to one or more other wireless communication standards.
- Some embodiments may involve wireless communications performed according to one or more broadband wireless communication standards.
- various embodiments may involve wireless communications performed according to one or more 3rd Generation Partnership Project (3GPP), 3GPP Long Term Evolution (LTE), and/or 3GPP LTE-Advanced (LTE-A) technologies and/or standards, including their predecessors, revisions, progeny, and/or variants.
- 3GPP 3rd Generation Partnership Project
- LTE 3GPP Long Term Evolution
- LTE-A 3GPP LTE-Advanced
- Additional examples of broadband wireless communication technologies/standards may include - without limitation - Global System for Mobile
- GSM Global System for Mobile Communications
- EDGE Universal Mobile Telecommunications System
- UMTS Universal Mobile Telecommunications System
- HSPA High Speed Packet Access
- GSM with General Packet Radio Service (GPRS) system GSM/GPRS
- IEEE 802.16 wireless broadband standards such as IEEE 802.16m and/or IEEE 802.16p, International Mobile
- CDMA 2000 e.g., CDMA2000 lxRTT, CDMA2000 EV-DO, CDMA EV-DV, and so forth
- HSDPA Downlink Packet Access
- OFDM Orthogonal Frequency-Division Multiplexing
- HOPA High Speed Orthogonal Frequency-Division Multiplexing
- HSUPA High-Speed Uplink Packet Access
- wireless communications technologies and/or standards may include - without limitation - other IEEE wireless communication standards such as the IEEE 802.11, IEEE 802.11a, IEEE 802.11b, IEEE 802.1 lg, IEEE 802.11 ⁇ , IEEE 802.1 lu, IEEE 802.1 lac, IEEE 802.11af, and/or IEEE 802.11ah standards, High-Efficiency Wi-Fi standards developed by the IEEE 802.11 High Efficiency WLAN (HEW) Study Group and/or IEEE 802.11 Task Group (TG) ax, Wi-Fi Alliance (WFA) wireless communication standards such as Wi-Fi, Wi-Fi Direct, Wi-Fi Direct Services, WiGig Display Extension (WDE), WiGig Bus Extension (WBE), WiGig Serial Extension (WSE) standards and/or standards developed by the WFA Neighbor Awareness Networking (NAN) Task Group, machine-type communications (MTC) standards such as those embodied in 3GPP Technical Report (TR) 23.887, 3GPP Technical Specification (TS) 22.368, and/or 3GP
- FIG. 1 illustrates an exemplary operating environment 100 such as may be representative of various embodiments in which techniques for configuring NAN cluster parameters are implemented.
- the operating environment 100 can include a wireless communication device (WCD) 102, a WCD 104, a WCD 106, and a WCD 108.
- the WCDs 102-108 can communicate with one another wirelessly.
- the WCD 102 and the WCD 104 can communicate over a wireless communications interface 110.
- the wireless communications interface 110 can be, for example, a wireless interface for any of the wireless networks or standards described herein including, for example, any IEEE 802.11 standard.
- the wireless interface 110 may operate within or over any frequency band or range including, for example, a 60 GHz frequency band and/or any band over 31.8 GHz. In various embodiments, the wireless interface 110 can be a millimeter-wave communication interface. The same wireless interface 110 can be used for communications between any of the WCDs 102-108.
- the operating environment 100 can be a peer-to-peer communication environment allowing each of the WCDs 102-108 to communicate with each other directly.
- One or more of the WCDs 102-108 can be, for example, a mobile computing device.
- the WCDs 102-108 can be any mobile computing device capable of communicating wirelessly over one or more wireless communication networks. Any of the WCDs 102-108 can be coupled to another operational device such as, for examples, a sensor.
- the WCDs 102-108 can each operate as a station (STA). In various embodiments, the WCDs 102-108 can operate as NAN devices. In various embodiments,
- the NAN devices 102-108 can form and operate within a NAN cluster in accordance with one or more NAN technical specifications.
- Four NAN devices 104-108 are shown in FIG. 1 for simplicity but the operating environment 100 is not so limited as any number of NAN devices can operate as part of a NAN cluster within the operating environment 100.
- the NAN devices 102-108 can implement the techniques for configuring NAN cluster parameters described herein. The embodiments are not limited in this context.
- FIG. 2 illustrates an exemplary discovery synchronization timing 200 between the WCDs
- the WCDs 102-108 can operate according to a
- FIG. 2 illustrates two DWs - DW 202 and DW 204.
- the DWs 202 and 204 can provide opportunities for the WCDs 102-108 to discover each other.
- the DWs 202 and DW 204 are spaced apart in time.
- the DWs 202 and 204 can each have a duration - for example, a DW duration 206.
- the DW duration 206 can be any amount of time.
- the DW duration 206 can be 16 time units (TUs), with a single TU equal to 1024 microseconds.
- An amount of time between consecutive DWs can be a DW interval 208.
- the DW interval 208 can be any amount of time.
- the DW interval 208 can be 512 TUs.
- the WCDs 102-108 that follow the same discovery synchronization timing 200 as shown in FIG. 2 can be considered to be within the same NAN cluster.
- FIG. 3 illustrates an exemplary implementation for designating DWs during which the WCDs 102-108 within a NAN cluster are required to be awake.
- FIG. 3 illustrates two mandatory awake DWs - shown as DWO 302 and DWO 304.
- An amount of time between consecutive DWOs e.g., the DWOs 302 and 304 can be a DWO interval 306.
- the DWO interval 306 can be any amount of time. In various embodiments, the DWO interval 306 can be equal to 16*DW Interval 208.
- the DWO interval 306 can be based up an agreed upon time
- the TSF timer can include a timer comprising 64 bits and the DWO interval 306 of 16*DW Interval 208 can correspond to when the lower 23 bits of the TSF are zero (0).
- Each of the WCDs 102-108 that are part of the NAN cluster that follows the discovery synchronization timing 200 shown in FIG. 2 can be required to be awake during each of the designated DWO periods (e.g., the DWOs 302 and 304 shown in FIG. 3). Multiple DWs can occur between the DWOs 302 and 304 (e.g., DW 202), which are not mandatory awake DWs.
- FIG. 4 illustrates an exemplary transmission of discovery beacons 402.
- one of the WCDs 102-108 may be designated to be a Master NAN device (e.g., WCD 102).
- the Master NAN device may transmit discovery beacons 402 outside of the consecutive DWs 202 and 204.
- the discovery beacons 402 can facilitate the discovery of the NAN cluster by other WCDs.
- the discovery beacons 402 can include one or more frames of data.
- the discovery beacons 402 can be transmitted regularly.
- the time between each discovery beacon can be set - for example, as a discovery beacon interval 404.
- the time for transmitting each discovery beacon 402 and the discovery beacon interval 404 can be based on the TSF timer.
- the discovery beacons 402 can include information regarding a NAN cluster such that other WCDs (e.g., WCDs 104-108) can learn about the existence of the NAN cluster and the parameters of the NAN cluster so that they may join the NAN cluster.
- FIG. 5 illustrates an exemplary introduction of data transmission opportunities between DWs.
- a number of time slots 502-1 through 502-N are provided between the consecutive DWs 202 and 204.
- the time slots 502 can be used to transmit data between two of the WCDs 102-108.
- the time slots 502 provide a data path between two of the WCDs 102- 108 after discovery.
- the time slots 502 can have a duration shown as time slot duration 504.
- the time slot duration 504 can be any period of time. In various embodiments, the time slot duration 504 can be 16 TUs.
- IoT related applications can include, but are not limited to, sensor deployment for data collection, mobile swarm robotics deployment for data collection, and drone groups for package delivery.
- fixed values for one or more of the DW duration 206, DW interval 208, DW0 interval 306, and time slot duration 504 may prevent certain uses or applications from satisfying power consumption requirements and/or latency requirements.
- the time scale for a sensor to report data may be on the order of minutes to hours, depending on the application.
- the schedule for data path that is negotiated by a NAN device under conventional NAN designs will also happen periodically, with the longest period of time also being 8 seconds.
- waking up so frequently without needing to transmit any data will cause significant levels of power consumption - as well as introduce significant overhead for the NAN device to determine that there is no need for transmission.
- Fixed NAN cluster parameters can also be detrimental when attempting to apply NAN cluster operations to various other frequency bands. Different frequency bands may demand different NAN parameters to ensure efficient operation. Accordingly, fixed parameters in various bands becomes challenging to define and apply for various applications.
- NAN cluster parameters such as DWO interval, DW interval, DW duration, time slot duration, and discovery beacon interval.
- NAN cluster parameters such as DWO interval, DW interval, DW duration, time slot duration, and discovery beacon interval.
- a WCD or STA (e.g., one of the WCDs 102-108 operating as a STA) that initiates a NAN cluster can be allowed to configure NAN cluster parameters.
- Configurable NAN cluster parameters include, but not limited to, the DW interval, the DWO interval, the DW duration, the time slot duration, and the discovery beacon interval.
- the initiating WCD/STA can generate data and/or a message that can then be transmitted that contains values for one or more of the configurable parameters.
- a default fixed value e.g., as specified by an existing NAN specification
- a value for any configurable parameter can be provided as an attribute as provided for within NAN technical specifications.
- These attributes can include an existing (and possibly modifiable) attribute such as, for example the cluster attribute.
- the defined attribute can be a new attribute such as, for example, a cluster parameter attribute.
- an attribute can be defined to carry a value for a configurable cluster parameter in accordance with NAN specifications.
- FIG. 6 illustrates an exemplary data structure or message 600 that can be generated by a WCD/STA (e.g., the WCD 102) that initiates a NAN cluster.
- the data structure 600 can be part of an existing data structure or information element used by the WCD 102.
- the data structure can include a header 602 and a number of data fields 604- 1 to 604-N.
- the header 602 can specify a variety of information such as, for example, identification of the data structure 600 and/or its type, a size of the data structure 600 or any of the data fields 604, or the meaning or identification of any information provided in the data fields 604.
- the data fields 604 can contain values for any of the configurable NAN cluster parameters. Specifically, the data fields 604 can be used to convey values for any configurable parameter including, but not limited to, the DW interval, the DWO interval, the DW duration, the time slot duration, and the discovery beacon interval.
- the header 602 can be used to indicate which data field 504 contains a value for a corresponding configurable parameter.
- the data fields 504 can also represent data or structures that can indicate values for a configurable parameter that is alternatively provided through an attribute.
- an attribute can be defined to convey any of the configurable NAN cluster parameters.
- the attribute can be the existing cluster attribute, and additional fields can be added to the cluster attribute to convey the value for the configurable cluster parameters.
- the attribute can be a new attribute (e.g., a cluster parameter attribute), and fields can be added to the cluster parameter attribute to convey the value for the configurable cluster parameters.
- the defined attribute, or the message 600 or any portion thereof can be carried in a discovery beacon or a synchronization beacon or in a service discovery frame or a NAN management frame (e.g., transmitted by the WCD 102 as part of a discovery or synchronization beacon or within a service discovery frame or a NAN management frame).
- the configurable parameters can be generated and transmitted as indicators (e.g., as an attribute or field in an attribute or data field or as part of any communication) and then subsequently received and processed for use when conforming to operation of a particular NAN cluster.
- the DW0 interval can be indicated or specified by defining the starting point of DW0 as the DW in which the lower x bits of the TSF timer are '0' (zero).
- the value of x is '23' (twenty-three) for specifying the DW0 interval, such that the DW0 interval is 8192 TU.
- the DW0 interval is thus specified to be equal to 8192*2 A y TU.
- the DW interval can be indicated or specified by defining the duration by a number of TUs. Further, the DW interval can be required to be set such that the DW0 interval must be divided by DW interval with remainder 0.
- the time slot duration can be indicated or specified by defining the duration by a number of TUs. Further, the time slot duration can be required to be set such that the DW interval must be divided by time slot duration with remainder 0.
- the DW duration can be indicated or specified by defining the duration by a number of TUs. Further, the DW duration can be required to be set such that the DW duration must be divided by time slot duration with remainder 0.
- the discovery beacon interval can be indicated or specified by defining the duration by a number of TUs. As mentioned above, if a particular configurable parameter is not provided by the initiating WCD/NAN device, then a default parameter can be assumed. Default parameters can be those parameters as defined in one of the Wi-Fi Neighbor Awareness Networking (NAN) Technical Specifications (e.g., version 1.0 or 2.0).
- FIG. 7 illustrates an example of a logic flow 700 that may be representative of a NAN device initiating a NAN cluster according to various embodiments. For example, logic flow 700 may be representative of operations that may be performed in various embodiments by the WCD 102 in operating environment 100 of FIG. 1 when operating as a NAN device to initiate a NAN cluster.
- the NAN device can determine the configurable parameters for the NAN cluster.
- the parameters that can be configured by the NAN device can include, for example, the DW interval, the DW0 interval, the DW duration, the time slot duration, and the discovery beacon interval for the NAN cluster.
- the NAN device can determine values for each of these parameters.
- the NAN device can generate indicators for each of the determined configurable NAN cluster parameters. For example, values for each parameter can be determined and indicators of the same can be generated. The values and/or indicators can be expressed in TUs or in reference to operation of the TSF timer.
- the NAN device can transmit the generated indicators.
- the indicators can be transmitted as a defined attribute or a part thereof - including an existing attribute or a new attribute as described herein.
- the indicators can also be transmitted as part of a data structure as described in relation to FIG. 6 including one or more fields for conveying the parameters.
- the indicators can be transmitted in any message transmitted by the NAN device including, for example, a discovery beacon, a synchronization beacon, as part of a service discovery frame, or as part of a NAN management frame.
- the NAN device can update any of the configurable parameters as necessary.
- the parameters can be indicated and transmitted as described above.
- FIG. 8 illustrates an example of a logic flow 800 that may be representative of a NAN device joining a NAN cluster having configurable parameters according to various embodiments.
- logic flow 800 may be representative of operations that may be performed in various embodiments by the WCD 102 in operating environment 100 of FIG. 1 when operating as a NAN device to join a NAN cluster having configurable parameters.
- the NAN device can discover the NAN cluster.
- the NAN device can discover the NAN cluster by receiving a discovery beacon.
- the NAN device can also determine the NAN cluster parameters through reception of the discovery beacon.
- the NAN cluster parameters can include configurable parameters such as the DW interval, the DW0 interval, the DW duration, the time slot duration, and the discovery beacon interval.
- the NAN device can process the NAN cluster parameters received at 802 and indicated within the discovery beacon.
- the NAN device can join the discovered NAN cluster.
- the NAN device can join the NAN cluster and can adhere to the configurable NAN parameters received at 802 and processed at 804.
- the NAN device can transmit a discovery beacon.
- the discovery beacon can include indicators of the NAN cluster parameters, including configurable NAN cluster parameters.
- the indicators of the NAN cluster parameters can be included as an attribute of the NAN cluster or can be provided in another data structure (e.g., the data structure 600).
- the NAN cluster parameters transmitted by the NAN device at 808 can be the same NAN cluster parameters adopted by the NAN device when joining the NAN cluster at 806.
- the anchor master of the NAN cluster may change some NAN cluster parameters by propagating the change to all NAN devices within the cluster.
- the DW duration can be configured by the anchor master.
- the NAN cluster parameters conveyed in the discovery beacon at 808 can include the DW duration updated by the anchor master NAN device.
- a NAN device 102 can merge to another NAN cluster. To make sure that all devices can merge to the same cluster, the NAN device 102 can compare the cluster grade of the discovered cluster with the cluster grade of other clusters (e.g., a current cluster) and can join the NAN cluster with the highest cluster grade.
- NAN clusters may not be suitable for using NAN clusters for specific tasks. For example, it may be desirable to have all sensors that are deployed in a warehouse to be in the same NAN cluster. When all of the sensors are part of the same NAN cluster, a mesh topology can be built on the NAN cluster, and every sensor can reach any other sensor in the warehouse through multi-hop communication. It may therefore be desirable to maintain the NAN cluster that is formed with all of the sensors. Accordingly, it may be desirable to prevent a sensor from merging to other clusters dynamically since doing so can cause synchronization parameters to change, thereby disrupting and breaking the mesh topology built on top of the original NAN cluster. Conversely, it may also be desirable to have all of the sensors deployed in the warehouse to automatically form a specific cluster.
- a group of drones forming a specific cluster may be formed.
- the group of drones may fly into a certain region to collect data. It may be desirable to maintain the NAN cluster formed by the drone group. Accordingly, as the group of drones are flying around, it may be desirable to prevent the drones from merging to other NAN clusters that they may encounter as they travel around. Further, it may also be desirable to also have these drones to automatically form a cluster.
- Techniques described herein provide for NAN devices to automatically form a cluster and for the NAN devices to stay within the formed cluster. Such techniques enable similar NAN devices to be grouped together to accomplish a particular task.
- An identifier can be associated with cluster discovery procedures and cluster merging procedures.
- a NAN device can be restricted to only joining or merging to a NAN cluster that has a matching identifier.
- a NAN device can be directed to join or merge to a particular NAN cluster having the highest cluster grade with a matching identifier.
- NAN devices and clusters do not allow a NAN device to join or merge to a
- NAN cluster having a specific embedded or associated identifier.
- all joining and merging decisions are based on cluster grade only.
- Some systems have been proposed that allow the merging mechanism to be turned on or off. This approach is deficient since turning off cluster merging prevents a group of devices from merging to the same NAN cluster for specific task as desired.
- turning on cluster merging introduces the problem of undesirably merging with neighboring clusters and disturbing the formation of an existing NAN cluster for a specific task. Accordingly, more robust techniques for managing joining and merging operations for a NAN device are needed.
- the WCD 102 can receive an indication of an identifier and can be instructed to only join or merge to a NAN cluster having a matching identifier.
- the identifier can be the service ID, the cluster identifier, or another identifier that is independent of the service ID and the cluster identifier used for the purpose of uniquely identifying a cluster.
- the WCD 102 can receive the identifier and/or the instruction from a remote device communicatively coupled to the WCD 102.
- the WCD 102 can also receive the identifier and/or the instruction from a service or application layer operative or coupled to the WCD 102. That is, the WCD 102 can receive the identifier and/or the instruction from a higher layer application through a service interface.
- a NAN medium access control (MAC) layer can receive the identifier and/or the instruction through the service interface.
- the service interface can contain method primitives and event primitives, with method primitives comprising instructions or information from the higher layer to NAN MAC layer and event primitives comprising instructions or information from the NAN MAC layer to the higher layer.
- the identifier and/or a related instruction can be provided from the higher layer to the NAN MAC layer though an existing method such as the publish method or the subscribe method. In various other embodiments, the identifier and/or a related instruction can be provided from the higher layer to the NAN MAC layer though a new method such as a cluster method.
- the identifier or other information about a NAN cluster can be provided from the NAN MAC layer to the higher layer through the service interface.
- the identifier or other information about a NAN cluster can be conveyed through an existing event such as a discovery result event.
- the identifier or other information about a NAN cluster can be conveyed through a new event such as a cluster event.
- the identifier for a NAN cluster can be provided by an indication or indicator received and processed by the WCD 102.
- one of the data fields 604 of the message 600 can include an indication of the identifier.
- the identifier can be carried in a field of an attribute. Under either scenario, the identifier can be provided within a discovery beacon or synchronization beacon or can be provided within a service discovery frame or a NAN management frame.
- the attribute can be the existing cluster attribute or can be a new attribute such as a cluster parameter attribute.
- the WCD 102 can initiate a NAN cluster and can transmit a discovery beacon that includes the identifier. If the WCD 102 is currently in a NAN cluster that does not have a matching identifier (or does not have an identifier at all), without identifier or with non- matching identifier, then the WCD 102 can leave the cluster and can initiate a new NAN cluster or can scan for another NAN cluster with a matching identifier.
- the WCD 102 can receive an indication of the identifier and an instruction to merge or join NAN clusters having matching identifiers from a higher layer (e.g., an application or service of a higher layer) or can receive the instruction and related information from a remote device.
- a higher layer e.g., an application or service of a higher layer
- a NAN cluster having an identifier can also be formed to keep NAN devices within the
- an indication can be used to indicate that the cluster is formed with the rule that a NAN device should stay in the cluster with the specified identifier.
- the indication can be carried in the data field 604 for example or can be carried in a field of an attribute (e.g., a cluster attribute or a cluster parameter attribute).
- the indication can be provided in a discovery beacon, synchronization beacon, service discovery frame, or NAN management frame.
- FIG. 9 illustrates an example of a logic flow 900 that may be representative of operations of a NAN device instructed to join or merge into a NAN cluster having a specified identifier according to various embodiments.
- logic flow 900 may be representative of operations that may be performed in various embodiments by the WCD 102 in operating environment 100 of FIG. 1 when operating as a NAN device to join or merge into a NAN cluster having a specified identifier.
- a NAN device can receive an identifier.
- the identifier can be associated with a cluster and/or can be an identifier for a cluster.
- the NAN device can receive the identifier and/or an indication of the identifier.
- the identifier can be provided by a higher layer (e.g., an application) of the NAN device.
- the NAN device can also receive an instruction associated with the identifier.
- the instruction can be a command to only join or merge to clusters having identifiers matching the identifier it received.
- the instruction can be a separate indication from the identifier or the instruction can be provided by issuance and reception of the identifier itself.
- the identifier and/or the instruction can be provided by the higher layer of the NAN device to a MAC layer of the NAN device through, for example, a service interface using, for example, a publish or subscribe method.
- the NAN device can scan for or seek NAN clusters.
- the NAN device can scan for or seek NAN clusters having identifiers that match the identifier the NAN device received at 902.
- the NAN device can receive and process discovery and/or synchronization beacons from NAN clusters.
- the discovery and/or synchronization beacons may include an indicator of the identifier of a NAN cluster. In this way, the NAN device can determine if a particular NAN cluster has a matching identifier or not.
- the indication of the identifier can be provided, for example, as a field of an attribute conveyed through a discovery and/or synchronization beacon.
- the NAN device finds a cluster having or associated with a matching identifier, then at
- the NAN device can join the cluster.
- the NAN device can find more than one cluster having a matching identifier. Under such a scenario, the NAN device can join the cluster having the highest cluster grade.
- the NAN device can initiate a cluster if it chooses to do so.
- the NAN device can broadcast one or more configurable parameters for a NAN cluster as well as the identifier for the cluster.
- the NAN device can provide indications of any configurable parameters and an identifier of the cluster in a discovery beacon.
- the NAN device can elect to not initiate a NAN cluster. Instead, the NAN device can continue to operate outside of a NAN cluster and can continue scanning for a NAN cluster having a matching identifier.
- the NAN device can transition, at 912, to remaining in the cluster and scanning on occasion for other clusters having matching identifiers. If, at 912, the NAN device finds another cluster having a matching identifier and a higher cluster grade than the current cluster it is joined to, then the NAN device can merge at 914 to the newly discovered NAN cluster.
- the NAN device can transition to 912 to a state where the NAN device continues to occasionally scan for other clusters and then to 914 when a cluster with a higher grade is found. Accordingly, 912 and 914 enable a NAN device to continue to merge to newly discovered clusters having higher cluster grades - so as to merge into the cluster with a matching identifier and the highest cluster grade. The NAN device can also transition to 914 from 910 when an appropriate cluster for merging is discovered.
- the techniques described herein for initiating a NAN cluster having configurable parameters, for joining a NAN cluster having configurable parameters, and for joining or initiating a NAN cluster having a specified identifier can be combined in any manner and can be performed by any of the WCDs 102-108 operating the in the environment 100 of FIG. 1 according to the various embodiments described herein.
- Various embodiments of the invention may be implemented fully or partially in software and/or firmware.
- This software and/or firmware may take the form of instructions contained in or on a non-transitory computer-readable storage medium. Those instructions may then be read and executed by one or more processors to enable performance of the operations described herein.
- the instructions may be in any suitable form, such as but not limited to source code, compiled code, interpreted code, executable code, static code, dynamic code, and the like.
- Such a computer-readable medium may include any tangible non-transitory medium for storing information in a form readable by one or more computers, such as but not limited to read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; a flash memory, etc.
- ROM read only memory
- RAM random access memory
- FIG. 10 illustrates an embodiment of a storage medium 1000.
- Storage medium 1000 may comprise any non-transitory computer-readable storage medium or machine-readable storage medium, such as an optical, magnetic or semiconductor storage medium.
- storage medium 1000 may comprise an article of manufacture.
- storage medium 1000 may store computer-executable instructions, such as computer-executable instructions to implement logic flow 700 of FIG. 7, logic flow 800 of FIG. 8, and/or logic flow 900 of FIG. 9.
- Examples of a computer-readable storage medium or machine-readable storage medium may include any tangible media capable of storing electronic data, including volatile memory or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and so forth.
- Examples of computer-executable instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, object-oriented code, visual code, and the like. The embodiments are not limited in this context.
- FIG. 11 illustrates an embodiment of a communications device 1100 that may implement one or more of wireless communication devices 102-108, logic flow 700, logic flow 800, logic flow 900, and storage medium 1000.
- device 1100 may comprise a logic circuit 1128.
- the logic circuit 1128 may include physical circuits to perform operations described for one or more of wireless communication devices 102-108, logic flow 700, logic flow 800, logic flow 900, and storage medium 1000, for example.
- device 1100 may include a radio interface 1110, baseband circuitry 1120, and computing platform 1130, although the embodiments are not limited to this configuration.
- the device 1100 may implement some or all of the structure and/or operations for one or more of wireless communication devices 102-108, logic flow 700, logic flow 800, logic flow 900, and storage medium 1000, and logic circuit 1128 in a single computing entity, such as entirely within a single device.
- the device 1100 may distribute portions of the structure and/or operations for one or more of wireless communication devices 102-108, logic flow 700, logic flow 800, logic flow 900, and storage medium 1000, and logic circuit 1128 across multiple computing entities using a distributed system architecture, such as a client-server architecture, a 3-tier architecture, an N-tier architecture, a tightly-coupled or clustered architecture, a peer-to-peer architecture, a master-slave architecture, a shared database architecture, and other types of distributed systems.
- a distributed system architecture such as a client-server architecture, a 3-tier architecture, an N-tier architecture, a tightly-coupled or clustered architecture, a peer-to-peer architecture, a master-slave architecture, a shared database architecture, and other types of distributed systems.
- a distributed system architecture such as a client-server architecture, a 3-tier architecture, an N-tier architecture, a tightly-coupled or clustered architecture, a peer-to-peer architecture, a master-slave architecture,
- radio interface 1110 may include a component or combination of components adapted for transmitting and/or receiving single-carrier or multi-carrier modulated signals (e.g., including complementary code keying (CCK), orthogonal frequency division multiplexing (OFDM), and/or single-carrier frequency division multiple access (SC-FDMA) symbols) although the embodiments are not limited to any specific over-the-air interface or modulation scheme.
- Radio interface 1110 may include, for example, a receiver 1112, a frequency synthesizer 1114, and/or a transmitter 1116.
- Radio interface 1110 may include bias controls, a crystal oscillator and/or one or more antennas 1118-/.
- radio interface 1110 may use external voltage-controlled oscillators (VCOs), surface acoustic wave filters, intermediate frequency (IF) filters and/or RF filters, as desired. Due to the variety of potential RF interface designs an expansive description thereof is omitted.
- VCOs voltage-controlled oscillators
- IF intermediate frequency
- Baseband circuitry 1120 may communicate with radio interface 1110 to process receive and/or transmit signals and may include, for example, an analog-to-digital converter 1122 for down converting received signals, a digital-to-analog converter 1124 for up converting signals for transmission. Further, baseband circuitry 1120 may include a baseband or physical layer (PHY) processing circuit 1126 for PHY link layer processing of respective receive/transmit signals. Baseband circuitry 1120 may include, for example, a medium access control (MAC) processing circuit 727 for MAC/data link layer processing. Baseband circuitry 1120 may include a memory controller 1132 for communicating with MAC processing circuit 727 and/or a computing platform 1130, for example, via one or more interfaces 1134.
- PHY physical layer
- PHY processing circuit 1126 may include a frame construction and/or detection module, in combination with additional circuitry such as a buffer memory, to construct and/or deconstruct communication frames.
- MAC processing circuit 727 may share processing for certain of these functions or perform these processes independent of PHY processing circuit 1126.
- MAC and PHY processing may be integrated into a single circuit.
- the computing platform 1130 may provide computing functionality for the device 1100. As shown, the computing platform 1130 may include a processing component 1140. In addition to, or alternatively of, the baseband circuitry 1120, the device 1100 may execute processing operations or logic for one or more of wireless communication devices 102-108, logic flow 700, logic flow 800, logic flow 900, and storage medium 1000, and logic circuit 1128 using the processing component 1140.
- the processing component 1140 (and/or PHY 1126 and/or MAC 727) may comprise various hardware elements, software elements, or a combination of both.
- Examples of hardware elements may include devices, logic devices, components, processors, microprocessors, circuits, processor circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), memory units, logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth.
- ASIC application specific integrated circuits
- PLD programmable logic devices
- DSP digital signal processors
- FPGA field programmable gate array
- Examples of software elements may include software components, programs, applications, computer programs, application programs, system programs, software development programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and/or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints, as desired for a given implementation.
- the computing platform 1130 may further include other platform components 1150.
- Other platform components 1150 include common computing elements, such as one or more processors, multi-core processors, co-processors, memory units, chipsets, controllers, peripherals, interfaces, oscillators, timing devices, video cards, audio cards, multimedia input/output (I/O) components (e.g., digital displays), power supplies, and so forth.
- processors such as one or more processors, multi-core processors, co-processors, memory units, chipsets, controllers, peripherals, interfaces, oscillators, timing devices, video cards, audio cards, multimedia input/output (I/O) components (e.g., digital displays), power supplies, and so forth.
- I/O multimedia input/output
- Examples of memory units may include without limitation various types of computer readable and machine readable storage media in the form of one or more higher speed memory units, such as read-only memory (ROM), random-access memory (RAM), dynamic RAM (DRAM), Double-Data-Rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, polymer memory such as ferroelectric polymer memory, ovonic memory, phase change or ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS) memory, magnetic or optical cards, an array of devices such as Redundant Array of Independent Disks (RAID) drives, solid state memory devices (e.g., USB memory, solid state drives (SSD) and any other type of storage media suitable for storing information.
- ROM read-only memory
- RAM random-access memory
- DRAM dynamic RAM
- DDRAM Double
- Device 1100 may be, for example, an ultra-mobile device, a mobile device, a fixed device, a machine-to-machine (M2M) device, a personal digital assistant (PDA), a mobile computing device, a smart phone, a telephone, a digital telephone, a cellular telephone, user equipment, eBook readers, a handset, a one-way pager, a two-way pager, a messaging device, a computer, a personal computer (PC), a desktop computer, a laptop computer, a notebook computer, a netbook computer, a handheld computer, a tablet computer, a server, a server array or server farm, a web server, a network server, an Internet server, a work station, a mini-computer, a main frame computer, a supercomputer, a network appliance, a web appliance, a distributed computing system, multiprocessor systems, processor-based systems, consumer electronics, programmable consumer electronics, game devices, display, television, digital television, set top box, wireless access point, base station, node
- Embodiments of device 1100 may be implemented using single input single output (SISO) architectures.
- SISO single input single output
- certain implementations may include multiple antennas (e.g., antennas 1118- ) for transmission and/or reception using adaptive antenna techniques for beamforming or spatial division multiple access (SDMA) and/or using MIMO communication techniques.
- SDMA spatial division multiple access
- device 1100 may be implemented using any combination of discrete circuitry, application specific integrated circuits (ASICs), logic gates and/or single chip architectures. Further, the features of device 1100 may be implemented using ASICs, logic gates and/or single chip architectures. Further, the features of device 1100 may be implemented using ASICs, logic gates and/or single chip architectures. Further, the features of device 1100 may be implemented using ASICs, logic gates and/or single chip architectures. Further, the features of device 1100 may be implemented using ASICs, logic gates and/or single chip architectures. Further, the features of device 1100 may be implemented using any combination of discrete circuitry, application specific integrated circuits (ASICs), logic gates and/or single chip architectures. Further, the features of device 1100 may be implemented using ASICs, logic gates and/or single chip architectures. Further, the features of device 1100 may be implemented using ASICs, logic gates and/or single chip architectures. Further, the features of device 1100 may be implemented using ASICs, logic gates and/or single chip
- microcontrollers programmable logic arrays and/or microprocessors or any combination of the foregoing where suitably appropriate. It is noted that hardware, firmware and/or software elements may be collectively or individually referred to herein as “logic” or “circuit.”
- FIG. 11 may represent one functionally descriptive example of many potential implementations. Accordingly, division, omission or inclusion of block functions depicted in the accompanying figures does not infer that the hardware components, circuits, software and/or elements for implementing these functions would be necessarily be divided, omitted, or included in embodiments.
- device 1100 can operate according to one or more IEEE 802.11 standards. In various embodiments, device 1100 can operate as a STA and adhere to one or more NAN technical specifications such that device 1100 is operable as a NAN device.
- FIG. 12 illustrates an embodiment of a wireless network 1200.
- wireless network comprises an access point 1202 and wireless stations 1204, 1206, and 1208.
- wireless network 1200 may comprise a wireless local area network (WLAN), such as a WLAN implementing one or more Institute of Electrical and Electronics Engineers (IEEE) 1202.11 standards (sometimes collectively referred to as "Wi-Fi").
- WLAN wireless local area network
- IEEE Institute of Electrical and Electronics Engineers
- wireless network 1200 may comprise another type of wireless network, and/or may implement other wireless communications standards.
- wireless network 1200 may comprise a WW AN or WPAN rather than a WLAN. The embodiments are not limited to this example.
- the wireless network 1200 can be any IEEE 802.11 network and can be a network in which the WCDs 102-108 operate. In various embodiments, the WCDs 102- 108 can operate with a network 1200 that supports NAN device operation and the NAN device operation techniques described herein.
- wireless network 1200 may implement one or more broadband wireless communications standards, such as 3G or 4G standards, including their revisions, progeny, and variants.
- 3G or 4G wireless standards may include without limitation any of the IEEE 802.16m and 802.16p standards, 3rd Generation Partnership Project (3GPP) Long Term Evolution (LTE) and LTE- Advanced (LTE-A) standards, and International Mobile Telecommunications Advanced (IMT-ADV) standards, including their revisions, progeny and variants.
- 3GPP 3rd Generation Partnership Project
- LTE Long Term Evolution
- LTE-A LTE- Advanced
- IMT-ADV International Mobile Telecommunications Advanced
- GSM Global System for Mobile Communications
- EDGE Universal Mobile Telecommunications System
- UMTS Universal Mobile Telecommunications System
- High Speed Packet Access WiMAX II technologies
- CDMA 2000 system technologies e.g., CDMA2000 lxRTT, CDMA2000 EV-DO, CDMA EV-DV, and so forth
- High Performance Radio Metropolitan Area Network HIPERMAN
- ETSI European Telecommunications Standards Institute
- BRAN Broadband Radio Access Networks
- WiBro Wireless Broadband
- HSDPA High Speed Downlink Packet Access
- HSPA High Speed Orthogonal Frequency-Division Multiplexing
- HSUPA High-Speed Uplink Packet Access
- HSUPA High-Speed Uplink Packet Access
- wireless stations 1204, 1206, and 1208 may communicate with access point 1202 in order to obtain connectivity to one or more external data networks.
- wireless stations 1204, 1206, and 1208 may connect to the Internet 1212 via access point 1202 and access network 1210.
- access network 1210 may comprise a private network that provides subscription-based Internet-connectivity, such as an Internet Service Provider (ISP) network. The embodiments are not limited to this example.
- ISP Internet Service Provider
- two or more of wireless stations 1204, 1206, and 1208 may communicate with each other directly by exchanging peer-to-peer communications.
- wireless stations 1204 and 1206 communicate with each other directly by exchanging peer-to-peer communications 1214.
- such peer-to-peer communications may be performed according to one or more Wi-Fi Alliance (WFA) standards.
- WFA Wi-Fi Alliance
- such peer-to-peer communications may be performed according to the WFA Wi-Fi Direct standard, 2010 Release.
- such peer-to-peer communications may additionally or alternatively be performed using one or more interfaces, protocols, and/or standards developed by the WFA Wi-Fi Direct Services (WFDS) Task Group.
- Peer-to-peer communication 1214 can include NAN device operations. The embodiments are not limited to these examples.
- Various embodiments may be implemented using hardware elements, software elements, or a combination of both.
- hardware elements may include processors,
- microprocessors circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth.
- ASIC application specific integrated circuits
- PLD programmable logic devices
- DSP digital signal processors
- FPGA field programmable gate array
- Examples of software may include software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof.
- API application program interfaces
- Determining whether an embodiment is implemented using hardware elements and/or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints.
- One or more aspects of at least one embodiment may be implemented by representative instructions stored on a machine -readable medium which represents various logic within the processor, which when read by a machine causes the machine to fabricate logic to perform the techniques described herein.
- Such representations known as "IP cores" may be stored on a tangible, machine readable medium and supplied to various customers or manufacturing facilities to load into the fabrication machines that actually make the logic or processor.
- Some embodiments may be implemented, for example, using a machine -readable medium or article which may store an instruction or a set of instructions that, if executed by a machine, may cause the machine to perform a method and/or operations in accordance with the embodiments.
- Such a machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware and/or software.
- the machine-readable medium or article may include, for example, any suitable type of memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, for example, memory, removable or nonremovable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk, magnetic media, magneto-optical media, removable memory cards or disks, various types of Digital Versatile Disk (DVD), a tape, a cassette, or the like.
- CD-ROM Compact Disk Read Only Memory
- CD-R Compact Disk Recordable
- CD-RW Compact Disk
- the instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, encrypted code, and the like, implemented using any suitable high-level, low- level, object-oriented, visual, compiled and/or interpreted programming language.
- Example 1 is an apparatus comprising a memory and logic, at least a portion of the logic implemented in circuitry coupled to the memory, the logic to determine a value of an adjustable parameter of a Neighbor Awareness Networking (NAN) cluster, generate a data message for transmission, the data message to comprise an indicator of the adjustable parameter and the value of the adjustable parameter, and establish the NAN cluster based on the adjustable parameter.
- NAN Neighbor Awareness Networking
- Example 2 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a discovery window (DW) interval
- Example 3 is an extension of Example 2 or any other example disclosed herein, the value of the DW interval defined in terms of Time Units (TUs).
- TUs Time Units
- Example 4 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a mandatory awake discovery window (DWO) interval.
- DWO awake discovery window
- Example 5 is an extension of Example 5 or any other example disclosed herein, the value of the DWO interval defined by operation of a time synchronization function (TSF) timer.
- TSF time synchronization function
- Example 6 is an extension of Example 6 or any other example disclosed herein, the value of the DWO interval corresponding to a number of lower bits of the TSF timer equal to zero.
- Example 7 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a discovery window (DW) duration.
- DW discovery window
- Example 8 is an extension of Example 7 or any other example disclosed herein, the value of the DW duration defined in terms of Time Units (TUs).
- TUs Time Units
- Example 9 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a time slot duration.
- Example 10 is an extension of Example 9 or any other example disclosed herein, the value of the time slot duration defined in terms of Time Units (TUs).
- TUs Time Units
- Example 11 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a discovery beacon interval.
- Example 12 is an extension of Example 11 or any other example disclosed herein, the value of the discovery beacon interval defined in terms of Time Units (TUs).
- TUs Time Units
- Example 13 is an extension of Example 1 or any other example disclosed herein, the indicator to comprise an attribute and the value of the adjustable parameter to comprise a field of the attribute.
- Example 14 is an extension of Example 1 or any other example disclosed herein, the data message to comprise a discovery beacon.
- Example 15 is an extension of Example 1 or any other example disclosed herein, the data message to comprise a synchronization beacon.
- Example 16 is an extension of Example 1 or any other example disclosed herein, the data message to comprise a service discovery frame.
- Example 17 is an extension of Example 1 or any other example disclosed herein, the data message to comprise a NAN management frame.
- Example 18 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a NAN cluster identifier.
- Example 19 is an extension of Example 18 or any other example disclosed herein, the NAN cluster identifier to comprise a service identification.
- Example 20 is an extension of Example 18 or any other example disclosed herein, the NAN cluster identifier to comprise a cluster identifier.
- Example 21 is an extension of Example 18 or any other example disclosed herein, the NAN cluster identifier to comprise an identifier that is independent of a service identification and a cluster identifier.
- Example 22 is an extension of Example 18 or any other example disclosed herein, the NAN cluster identifier provided by a higher layer of the apparatus through a service interface.
- Example 23 is an extension of Example 22 or any other example disclosed herein, the NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a publish method.
- Example 24 is an extension of Example 22 or any other example disclosed herein, the NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a subscribe method.
- Example 25 is an extension of any of Examples 1 to 24 or any other example disclosed herein, comprising at least one radio frequency (RF) transceiver and at least on RF antenna.
- RF radio frequency
- Example 26 is a wireless communication method comprising determining a value of an adjustable parameter of a Neighbor Awareness Networking (NAN) cluster, generating a data message for transmission, the data message to comprise an indicator of the adjustable parameter and the value of the adjustable parameter, and establishing the NAN cluster based on the adjustable parameter.
- NAN Neighbor Awareness Networking
- Example 27 is an extension of Example 26 or any other example disclosed herein, the adjustable parameter to comprise a discovery window (DW) interval.
- DW discovery window
- Example 28 is an extension of Example 27 or any other example disclosed herein, the value of the DW interval defined in terms of Time Units (TUs).
- TUs Time Units
- Example 29 is an extension of Example 26 or any other example disclosed herein, the adjustable parameter to comprise a mandatory awake discovery window (DW0) interval.
- Example 30 is an extension of Example 29 or any other example disclosed herein, the value of the DWO interval defined by operation of a time synchronization function (TSF) timer.
- TSF time synchronization function
- Example 31 is an extension of Example 30 or any other example disclosed herein, the value of the DWO interval corresponding to a number of lower bits of the TSF timer equal to zero.
- Example 32 is an extension of Example 26 or any other example disclosed herein, the adjustable parameter to comprise a discovery window (DW) duration.
- DW discovery window
- Example 33 is an extension of Example 32 or any other example disclosed herein, the value of the DW duration defined in terms of Time Units (TUs).
- TUs Time Units
- Example 34 is an extension of Example 26 or any other example disclosed herein, the adjustable parameter to comprise a time slot duration.
- Example 35 is an extension of Example 34 or any other example disclosed herein, the value of the time slot duration defined in terms of Time Units (TUs).
- TUs Time Units
- Example 36 is an extension of Example 26 or any other example disclosed herein, the adjustable parameter to comprise a discovery beacon interval.
- Example 37 is an extension of Example 36 or any other example disclosed herein, the value of the discovery beacon interval defined in terms of Time Units (TUs).
- TUs Time Units
- Example 38 is an extension of Example 26 or any other example disclosed herein, the indicator to comprise an attribute and the value of the adjustable parameter to comprise a field of the attribute.
- Example 39 is an extension of Example 26 or any other example disclosed herein, the data message to comprise a discovery beacon.
- Example 40 is an extension of Example 26 or any other example disclosed herein, the data message to comprise a synchronization beacon.
- Example 41 is an extension of Example 26 or any other example disclosed herein, the data message to comprise a service discovery frame.
- Example 42 is an extension of Example 26 or any other example disclosed herein, the data message to comprise a NAN management frame.
- Example 43 is an extension of Example 26 or any other example disclosed herein, the adjustable parameter to comprise a NAN cluster identifier.
- Example 44 is an extension of Example 43 or any other example disclosed herein, the NAN cluster identifier to comprise a service identification.
- Example 45 is an extension of Example 43 or any other example disclosed herein, the NAN cluster identifier to comprise a cluster identifier.
- Example 46 is an extension of Example 43 or any other example disclosed herein, the NAN cluster identifier to comprise an identifier that is independent of a service identification and a cluster identifier.
- Example 47 is an extension of Example 43 or any other example disclosed herein, the NAN cluster identifier provided by a higher layer of the apparatus through a service interface.
- Example 48 is an extension of Example 47 or any other example disclosed herein, the NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a publish method.
- Example 49 is an extension of Example 47 or any other example disclosed herein, the NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a subscribe method.
- Example 50 is at least one computer-readable storage medium comprising a set of instructions that, in response to being executed on a computing device, cause the computing device to perform a wireless communication method according to any of Examples 26 to 49 or any other example disclosed herein.
- Example 51 is an apparatus comprising means for performing a wireless communication method according to any of Examples 26 to 49 or any other example disclosed herein.
- Example 1 is an apparatus, comprising a memory and logic, at least a portion of the logic implemented in circuitry coupled to the memory, the logic to receive an indicator of an adjustable parameter of a Neighbor Awareness Networking (NAN) cluster, process the indicator to determine a value of the adjustable parameter, and join the NAN cluster based on the determined value of the adjustable parameter.
- NAN Neighbor Awareness Networking
- Example 2 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a discovery window (DW) interval.
- DW discovery window
- Example 3 is an extension of Example 2 or any other example disclosed herein, the value of the DW interval defined in terms of Time Units (TUs).
- TUs Time Units
- Example 4 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a mandatory awake discovery window (DWO) interval.
- DWO awake discovery window
- Example 5 is an extension of Example 4 or any other example disclosed herein, the value of the DWO interval defined by operation of a time synchronization function (TSF) timer.
- TSF time synchronization function
- Example 6 is an extension of Example 5 or any other example disclosed herein, the value of the DWO interval corresponding to a number of lower bits of the TSF timer equal to zero.
- Example 7 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a discovery window (DW) duration.
- Example 8 is an extension of Example 7 or any other example disclosed herein, the value of the DW duration defined in terms of Time Units (TUs).
- TUs Time Units
- Example 9 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a time slot duration.
- Example 10 is an extension of Example 9 or any other example disclosed herein, the value of the time slot duration defined in terms of Time Units (TUs).
- TUs Time Units
- Example 11 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a discovery beacon interval.
- Example 12 is an extension of Example 11 or any other example disclosed herein, the value of the discovery beacon interval defined in terms of Time Units (TUs).
- TUs Time Units
- Example 13 is an extension of Example 1 or any other example disclosed herein, the indicator to comprise an attribute and the value of the adjustable parameter to comprise a field of the attribute.
- Example 14 is an extension of Example 1 or any other example disclosed herein, the attribute to be part of a discovery beacon.
- Example 15 is an extension of Example 1 or any other example disclosed herein, the attribute to be part of a synchronization beacon.
- Example 16 is an extension of Example 1 or any other example disclosed herein, the attribute to be part of a service discovery frame.
- Example 17 is an extension of Example 1 or any other example disclosed herein, the attribute to be part of a NAN management frame.
- Example 18 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a NAN cluster identifier.
- Example 19 is an extension of Example 18 or any other example disclosed herein, the NAN cluster identifier to comprise a service identification.
- Example 20 is an extension of Example 18 or any other example disclosed herein, the NAN cluster identifier to comprise a cluster identifier.
- Example 21 is an extension of Example 18 or any other example disclosed herein, the NAN cluster identifier to comprise an identifier that is independent of a service identification and a cluster identifier.
- Example 22 is an extension of Example 18 or any other example disclosed herein, the NAN cluster identifier provided by a higher layer of the apparatus through a service interface.
- Example 23 is an extension of Example 22 or any other example disclosed herein, the NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a publish method.
- Example 24 is an extension of Example 22 or any other example disclosed herein, the NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a subscribe method.
- Example 25 is an extension of Example 22 or any other example disclosed herein, the logic to receive an instruction to only join NAN clusters having a matching NAN cluster identifier.
- Example 26 is an extension of Example 25 or any other example disclosed herein, the logic scan for a NAN cluster having a matching NAN cluster identifier.
- Example 27 is an extension of any of Examples 1 to 26 or any other example disclosed herein, comprising at least one radio frequency (RF) transceiver and at least on RF antenna.
- RF radio frequency
- Example 28 is wireless communication method, comprising receiving an indicator of an adjustable parameter of a Neighbor Awareness Networking (NAN) cluster, processing the indicator to determine a value of the adjustable parameter, and joining the NAN cluster based on the determined value of the adjustable parameter.
- NAN Neighbor Awareness Networking
- Example 29 is an extension of Example 28 or any other example disclosed herein, the adjustable parameter to comprise a discovery window (DW) interval.
- DW discovery window
- Example 30 is an extension of Example 29 or any other example disclosed herein, the value of the DW interval defined in terms of Time Units (TUs).
- TUs Time Units
- Example 31 is an extension of Example 28 or any other example disclosed herein, the adjustable parameter to comprise a mandatory awake discovery window (DWO) interval.
- DWO awake discovery window
- Example 32 is an extension of Example 31 or any other example disclosed herein, the value of the DWO interval defined by operation of a time synchronization function (TSF) timer.
- TSF time synchronization function
- Example 33 is an extension of Example 32 or any other example disclosed herein, the value of the DWO interval corresponding to a number of lower bits of the TSF timer equal to zero.
- Example 34 is an extension of Example 28 or any other example disclosed herein, the adjustable parameter to comprise a discovery window (DW) duration.
- DW discovery window
- Example 35 is an extension of Example 34 or any other example disclosed herein, the value of the DW duration defined in terms of Time Units (TUs).
- TUs Time Units
- Example 36 is an extension of Example 28 or any other example disclosed herein, the adjustable parameter to comprise a time slot duration.
- Example 37 is an extension of Example 36 or any other example disclosed herein, the value of the time slot duration defined in terms of Time Units (TUs).
- TUs Time Units
- Example 38 is an extension of Example 28 or any other example disclosed herein, the adjustable parameter to comprise a discovery beacon interval.
- Example 39 is an extension of Example 38 or any other example disclosed herein, the value of the discovery beacon interval defined in terms of Time Units (TUs).
- TUs Time Units
- Example 40 is an extension of Example 28 or any other example disclosed herein, the indicator to comprise an attribute and the value of the adjustable parameter to comprise a field of the attribute.
- Example 41 is an extension of Example 28 or any other example disclosed herein, the attribute to be part of a discovery beacon.
- Example 42 is an extension of Example 28 or any other example disclosed herein, the attribute to be part of a synchronization beacon.
- Example 43 is an extension of Example 28 or any other example disclosed herein, the attribute to be part of a service discovery frame.
- Example 44 is an extension of Example 28 or any other example disclosed herein, the attribute to be part of a NAN management frame.
- Example 45 is an extension of Example 28 or any other example disclosed herein, the adjustable parameter to comprise a NAN cluster identifier.
- Example 46 is an extension of Example 45 or any other example disclosed herein, the NAN cluster identifier to comprise a service identification.
- Example 47 is an extension of Example 45 or any other example disclosed herein, the NAN cluster identifier to comprise a cluster identifier.
- Example 48 is an extension of Example 45 or any other example disclosed herein, the
- NAN cluster identifier to comprise an identifier that is independent of a service identification and a cluster identifier.
- Example 49 is an extension of Example 45 or any other example disclosed herein, the NAN cluster identifier provided by a higher layer of the apparatus through a service interface.
- Example 50 is an extension of Example 49 or any other example disclosed herein, the
- NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a publish method.
- Example 51 is an extension of Example 49 or any other example disclosed herein, the NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a subscribe method.
- Example 52 is an extension of Example 49 or any other example disclosed herein, receiving an instruction to only join NAN clusters having a matching NAN cluster identifier.
- Example 53 is an extension of Example 52 or any other example disclosed herein, scanning for a NAN cluster having a matching NAN cluster identifier.
- Example 54 is at least one computer-readable storage medium comprising a set of instructions that, in response to being executed on a computing device, cause the computing device to perform a wireless communication method according to any of Examples 28 to 53 or any other example disclosed herein.
- Example 55 is an apparatus, comprising means for performing a wireless communication method according to any of Examples 28 to 53 or any other example disclosed herein.
- Coupled and “connected” along with their derivatives. These terms are not intended as synonyms for each other. For example, some embodiments may be described using the terms “connected” and/or “coupled” to indicate that two or more elements are in direct physical or electrical contact with each other. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other.
- processing refers to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulates and/or transforms data represented as physical quantities (e.g., electronic) within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices.
- physical quantities e.g., electronic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Techniques for forming and maintaining Neighbor Awareness Networking (NAN) clusters are provided. A NAN device can determine a value of an adjustable parameter of a NAN cluster. The NAN device can generate a message for transmission that includes an indicator of the adjustable parameter and the value of the adjustable parameter. Various embodiments may be directed to NAN clusters having specified identifiers. NAN devices may be directed to join or remain in NAN clusters having certain specified identifiers. Other embodiments are described and claimed.
Description
MECHANISM FOR CONFIGURING NAN CLUSTER PARAMETERS
TECHNICAL FIELD
Embodiments described herein generally relate to wireless communications between devices in wireless networks.
BACKGROUND
Conventional Neighbor Awareness Networking (NAN) communication systems operate according to parameters that are fixed. As a result, these conventional NAN systems are often inefficient when applied to various applications such as Internet of Things (IoT) applications. Further, conventional NAN systems are inflexible in terms of forming and maintaining select NAN clusters for IoT applications. Accordingly, new techniques may be needed to provide for configurable NAN systems with flexible cluster formation and maintenance.
BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 illustrates an embodiment of a first operating environment.
FIG. 2 illustrates an exemplary discovery synchronization timing Neighbor Awareness
Networking (NAN) devices.
FIG. 3 illustrates an exemplary designation of mandatory awake discovery windows (DWs).
FIG. 4 illustrates an exemplary transmission of discovery beacons.
FIG. 5 illustrates an exemplary introduction of data transmission opportunities between
DWs.
FIG. 6 illustrates an exemplary data structure message.
FIG. 7 illustrates an embodiment of a first logic flow.
FIG. 8 illustrates an embodiment of a second logic flow.
FIG. 9 illustrates an embodiment of a third logic flow.
FIG. 10 illustrates an embodiment of a storage medium.
FIG. 11 illustrates an embodiment of a device.
FIG. 12 illustrates an embodiment of a wireless network.
DETAILED DESCRIPTION
Various embodiments may be generally directed to the formation and maintenance of
Neighbor Awareness Networking (NAN) clusters. Various embodiments may be directed to NAN clusters having configurable parameters. A NAN device can determine a value of an adjustable parameter of a NAN cluster. The NAN device can generate a message for transmission that includes an indicator of the adjustable parameter and the value of the adjustable parameter. The adjustable parameter can be a discovery window interval, a discovery window
duration, a mandatory awake discovery window, a time slot duration, or a discovery beacon interval. Various embodiments may be directed to NAN clusters having specified identifiers. NAN devices may be directed to join or remain in NAN clusters having certain specified identifiers.
Various embodiments may comprise one or more elements. An element may comprise any structure arranged to perform certain operations. Each element may be implemented as hardware, software, or any combination thereof, as desired for a given set of design parameters or performance constraints. Although an embodiment may be described with a limited number of elements in a certain topology by way of example, the embodiment may include more or less elements in alternate topologies as desired for a given implementation. It is worthy to note that any reference to "one embodiment" or "an embodiment" means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrases "in one embodiment," "in some
embodiments," and "in various embodiments" in various places in the specification are not necessarily all referring to the same embodiment.
Various embodiments herein are generally directed to wireless communications systems. Various embodiments may be directed to wireless communications over any frequency band or range including, for example, over 31.8 GHz and/or 60 GHz frequencies. Various embodiments may involve wireless communications performed according to one or more standards for 60 GHz wireless communications and/or wireless communications over 31.8 GHz. For example, some embodiments may involve wireless communications performed according to one or more Wireless Gigabit Alliance ("WiGig")/Institute of Electrical and Electronics Engineers (IEEE) 802.11ad standards, such as IEEE 802.11ad-2012, including their predecessors, revisions, progeny, and/or variants. Various embodiments may involve wireless communications performed according to one or more "next-generation" 60 GHz ("NG60") wireless local area network (WLAN) communications standards, such as the IEEE 802.11 ay standard that is currently under development. Some embodiments may involve wireless communications performed according to one or more millimeter-wave (mrnWave) wireless communication standards. It is worthy of note that the term "60 GHz" (or any specific frequency), as it is employed in reference to various wireless communications devices, wireless communications frequencies, and wireless communications standards herein, is not intended to specifically denote a frequency of exactly 60 GHz (or any other specific frequency), but rather is intended to generally refer to frequencies in, or near, the 57 GHz to 64 GHz frequency band or any nearby unlicensed band. The embodiments are not limited in this context.
In general, various embodiments herein may involve millimeter-wave communications systems. Various embodiments herein may involve systems operating according to any known wireless standard or protocol or any wireless standard or protocol under development including, but not limited to, IEEE 802.11 ad, IEEE 802.11 ay, and any 5G system.
Various embodiments may additionally or alternatively involve wireless communications according to one or more other wireless communication standards. Some embodiments may involve wireless communications performed according to one or more broadband wireless communication standards. For example, various embodiments may involve wireless communications performed according to one or more 3rd Generation Partnership Project (3GPP), 3GPP Long Term Evolution (LTE), and/or 3GPP LTE-Advanced (LTE-A) technologies and/or standards, including their predecessors, revisions, progeny, and/or variants. Additional examples of broadband wireless communication technologies/standards that may be utilized in some embodiments may include - without limitation - Global System for Mobile
Communications (GSM)/Enhanced Data Rates for GSM Evolution (EDGE), Universal Mobile Telecommunications System (UMTS)/High Speed Packet Access (HSPA), and/or GSM with General Packet Radio Service (GPRS) system (GSM/GPRS), IEEE 802.16 wireless broadband standards such as IEEE 802.16m and/or IEEE 802.16p, International Mobile
Telecommunications Advanced (IMT-ADV), Worldwide Interoperability for Microwave Access (WiMAX) and/or WiMAX II, Code Division Multiple Access (CDMA) 2000 (e.g., CDMA2000 lxRTT, CDMA2000 EV-DO, CDMA EV-DV, and so forth), High Performance Radio
Metropolitan Area Network (HIPERMAN), Wireless Broadband (WiBro), High Speed
Downlink Packet Access (HSDPA), High Speed Orthogonal Frequency-Division Multiplexing (OFDM) Packet Access (HSOPA), High-Speed Uplink Packet Access (HSUPA) technologies and/or standards, including their predecessors, revisions, progeny, and/or variants.
Further examples of wireless communications technologies and/or standards that may be used in various embodiments may include - without limitation - other IEEE wireless communication standards such as the IEEE 802.11, IEEE 802.11a, IEEE 802.11b, IEEE 802.1 lg, IEEE 802.11η, IEEE 802.1 lu, IEEE 802.1 lac, IEEE 802.11af, and/or IEEE 802.11ah standards, High-Efficiency Wi-Fi standards developed by the IEEE 802.11 High Efficiency WLAN (HEW) Study Group and/or IEEE 802.11 Task Group (TG) ax, Wi-Fi Alliance (WFA) wireless communication standards such as Wi-Fi, Wi-Fi Direct, Wi-Fi Direct Services, WiGig Display Extension (WDE), WiGig Bus Extension (WBE), WiGig Serial Extension (WSE) standards and/or standards developed by the WFA Neighbor Awareness Networking (NAN) Task Group, machine-type communications (MTC) standards such as those embodied in 3GPP Technical Report (TR) 23.887, 3GPP Technical Specification (TS) 22.368, and/or 3GPP TS
23.682, and/or near-field communication (NFC) standards such as standards developed by the NFC Forum, including any predecessors, revisions, progeny, and/or variants of any of the above. The embodiments are not limited to these examples.
FIG. 1 illustrates an exemplary operating environment 100 such as may be representative of various embodiments in which techniques for configuring NAN cluster parameters are implemented. The operating environment 100 can include a wireless communication device (WCD) 102, a WCD 104, a WCD 106, and a WCD 108. The WCDs 102-108 can communicate with one another wirelessly. As an example, the WCD 102 and the WCD 104 can communicate over a wireless communications interface 110. The wireless communications interface 110 can be, for example, a wireless interface for any of the wireless networks or standards described herein including, for example, any IEEE 802.11 standard. In various embodiments, the wireless interface 110 may operate within or over any frequency band or range including, for example, a 60 GHz frequency band and/or any band over 31.8 GHz. In various embodiments, the wireless interface 110 can be a millimeter-wave communication interface. The same wireless interface 110 can be used for communications between any of the WCDs 102-108. The operating environment 100 can be a peer-to-peer communication environment allowing each of the WCDs 102-108 to communicate with each other directly.
One or more of the WCDs 102-108 can be, for example, a mobile computing device. As an example, the WCDs 102-108 can be any mobile computing device capable of communicating wirelessly over one or more wireless communication networks. Any of the WCDs 102-108 can be coupled to another operational device such as, for examples, a sensor.
In various embodiments, the WCDs 102-108 can each operate as a station (STA). In various embodiments, the WCDs 102-108 can operate as NAN devices. In various
embodiments, the NAN devices 102-108 can form and operate within a NAN cluster in accordance with one or more NAN technical specifications. Four NAN devices 104-108 are shown in FIG. 1 for simplicity but the operating environment 100 is not so limited as any number of NAN devices can operate as part of a NAN cluster within the operating environment 100. The NAN devices 102-108 can implement the techniques for configuring NAN cluster parameters described herein. The embodiments are not limited in this context.
FIG. 2 illustrates an exemplary discovery synchronization timing 200 between the WCDs
102-108 operating as NAN devices. The WCDs 102-108 can operate according to a
service/device discovery protocol that can include synchronized discovery windows (DWs). FIG. 2 illustrates two DWs - DW 202 and DW 204. The DWs 202 and 204 can provide opportunities for the WCDs 102-108 to discover each other. As shown in FIG. 2, the DWs 202 and DW 204 are spaced apart in time. The DWs 202 and 204 can each have a duration - for
example, a DW duration 206. The DW duration 206 can be any amount of time. In various embodiments, the DW duration 206 can be 16 time units (TUs), with a single TU equal to 1024 microseconds. An amount of time between consecutive DWs (e.g., the DWs 202 and 204) can be a DW interval 208. The DW interval 208 can be any amount of time. In various embodiments, the DW interval 208 can be 512 TUs. The WCDs 102-108 that follow the same discovery synchronization timing 200 as shown in FIG. 2 can be considered to be within the same NAN cluster.
FIG. 3 illustrates an exemplary implementation for designating DWs during which the WCDs 102-108 within a NAN cluster are required to be awake. FIG. 3 illustrates two mandatory awake DWs - shown as DWO 302 and DWO 304. An amount of time between consecutive DWOs (e.g., the DWOs 302 and 304) can be a DWO interval 306. The DWO interval 306 can be any amount of time. In various embodiments, the DWO interval 306 can be equal to 16*DW Interval 208. The DWO interval 306 can be based up an agreed upon time
synchronization function (TSF) timer used by the WCDs 102-108. In various embodiments, the TSF timer can include a timer comprising 64 bits and the DWO interval 306 of 16*DW Interval 208 can correspond to when the lower 23 bits of the TSF are zero (0).
Each of the WCDs 102-108 that are part of the NAN cluster that follows the discovery synchronization timing 200 shown in FIG. 2 can be required to be awake during each of the designated DWO periods (e.g., the DWOs 302 and 304 shown in FIG. 3). Multiple DWs can occur between the DWOs 302 and 304 (e.g., DW 202), which are not mandatory awake DWs.
FIG. 4 illustrates an exemplary transmission of discovery beacons 402. Within each NAN cluster, one of the WCDs 102-108 may be designated to be a Master NAN device (e.g., WCD 102). The Master NAN device may transmit discovery beacons 402 outside of the consecutive DWs 202 and 204. The discovery beacons 402 can facilitate the discovery of the NAN cluster by other WCDs. The discovery beacons 402 can include one or more frames of data. The discovery beacons 402 can be transmitted regularly. In various embodiments, the time between each discovery beacon can be set - for example, as a discovery beacon interval 404. The time for transmitting each discovery beacon 402 and the discovery beacon interval 404 can be based on the TSF timer. The discovery beacons 402 can include information regarding a NAN cluster such that other WCDs (e.g., WCDs 104-108) can learn about the existence of the NAN cluster and the parameters of the NAN cluster so that they may join the NAN cluster.
FIG. 5 illustrates an exemplary introduction of data transmission opportunities between DWs. As shown in FIG. 5, a number of time slots 502-1 through 502-N are provided between the consecutive DWs 202 and 204. The time slots 502 can be used to transmit data between two of the WCDs 102-108. The time slots 502 provide a data path between two of the WCDs 102-
108 after discovery. The time slots 502 can have a duration shown as time slot duration 504. The time slot duration 504 can be any period of time. In various embodiments, the time slot duration 504 can be 16 TUs.
In conventional implementations of NAN clusters, the various parameters described in relation to FIGs. 2-5 - for example, DW duration 206, DW interval 208, DW0 interval 306, and time slot duration 504 - are fixed and cannot be changed. Specifically, these parameters are fixed to the same values for all NAN clusters. Fixed values for these parameters can be inflexible and can be inefficient for a variety of different applications where NAN devices and NAN clusters are desirable.
Accordingly, techniques described herein provide for expanded discovery and data techniques for NAN clusters, in particular for applications using Internet of Things (IoT) devices or based on IoT standards. For example, IoT related applications can include, but are not limited to, sensor deployment for data collection, mobile swarm robotics deployment for data collection, and drone groups for package delivery. For such applications, fixed values for one or more of the DW duration 206, DW interval 208, DW0 interval 306, and time slot duration 504 may prevent certain uses or applications from satisfying power consumption requirements and/or latency requirements.
As an example, in the application of sensor deployment for data collection, low power consumption is a critical design goal for battery powered sensors. However, with current NAN designs (e.g., NAN designs based on current NAN specifications), a NAN device is required to wake up for each DW0, which is once every 8 seconds. Many battery powered sensors may not meet other requirements for significant sleep periods to reduce power consumption when waking up so frequently is required.
Further, the time scale for a sensor to report data may be on the order of minutes to hours, depending on the application. However, the schedule for data path that is negotiated by a NAN device under conventional NAN designs will also happen periodically, with the longest period of time also being 8 seconds. For a power limited device that only needs to send traffic every minute (or longer), waking up so frequently without needing to transmit any data will cause significant levels of power consumption - as well as introduce significant overhead for the NAN device to determine that there is no need for transmission. Fixed NAN cluster parameters can also be detrimental when attempting to apply NAN cluster operations to various other frequency bands. Different frequency bands may demand different NAN parameters to ensure efficient operation. Accordingly, fixed parameters in various bands becomes challenging to define and apply for various applications.
As mentioned above, techniques described herein enable the construction of a NAN cluster by one of the WCDs 102-108 using configurable NAN cluster parameters such as DWO interval, DW interval, DW duration, time slot duration, and discovery beacon interval. By enabling these NAN cluster parameters to be configurable (e.g., to have variable or adjustable values), NAN capabilities and WCDs 102-108 operating according to this flexible NAN configuration capability can be used for various IoT applications and across different operating frequency bands.
According to various embodiments described herein, a WCD or STA (e.g., one of the WCDs 102-108 operating as a STA) that initiates a NAN cluster can be allowed to configure NAN cluster parameters. Configurable NAN cluster parameters include, but not limited to, the DW interval, the DWO interval, the DW duration, the time slot duration, and the discovery beacon interval. The initiating WCD/STA can generate data and/or a message that can then be transmitted that contains values for one or more of the configurable parameters. In various embodiments, if a value for one of the configurable parameters is not provided, then a default fixed value (e.g., as specified by an existing NAN specification) can be used.
A value for any configurable parameter can be provided as an attribute as provided for within NAN technical specifications. These attributes can include an existing (and possibly modifiable) attribute such as, for example the cluster attribute. In other embodiments, the defined attribute can be a new attribute such as, for example, a cluster parameter attribute.
Under either scenario, an attribute can be defined to carry a value for a configurable cluster parameter in accordance with NAN specifications.
In general, values for configurable NAN cluster parameters can be provided be provided as part of a data structure. FIG. 6 illustrates an exemplary data structure or message 600 that can be generated by a WCD/STA (e.g., the WCD 102) that initiates a NAN cluster. The data structure 600 can be part of an existing data structure or information element used by the WCD 102. The data structure can include a header 602 and a number of data fields 604- 1 to 604-N.
The header 602 can specify a variety of information such as, for example, identification of the data structure 600 and/or its type, a size of the data structure 600 or any of the data fields 604, or the meaning or identification of any information provided in the data fields 604. The data fields 604 can contain values for any of the configurable NAN cluster parameters. Specifically, the data fields 604 can be used to convey values for any configurable parameter including, but not limited to, the DW interval, the DWO interval, the DW duration, the time slot duration, and the discovery beacon interval. The header 602 can be used to indicate which data field 504 contains a value for a corresponding configurable parameter. The data fields 504 can also
represent data or structures that can indicate values for a configurable parameter that is alternatively provided through an attribute.
As mentioned, an attribute can be defined to convey any of the configurable NAN cluster parameters. The attribute can be the existing cluster attribute, and additional fields can be added to the cluster attribute to convey the value for the configurable cluster parameters. The attribute can be a new attribute (e.g., a cluster parameter attribute), and fields can be added to the cluster parameter attribute to convey the value for the configurable cluster parameters. The defined attribute, or the message 600 or any portion thereof, can be carried in a discovery beacon or a synchronization beacon or in a service discovery frame or a NAN management frame (e.g., transmitted by the WCD 102 as part of a discovery or synchronization beacon or within a service discovery frame or a NAN management frame). Overall, the configurable parameters can be generated and transmitted as indicators (e.g., as an attribute or field in an attribute or data field or as part of any communication) and then subsequently received and processed for use when conforming to operation of a particular NAN cluster.
Various exemplary techniques for conveying the configurable NAN cluster parameters are now provided. The DW0 interval can be indicated or specified by defining the starting point of DW0 as the DW in which the lower x bits of the TSF timer are '0' (zero). For conventional NAN clusters with fixed, non-configurable DW0 intervals, the value of x is '23' (twenty-three) for specifying the DW0 interval, such that the DW0 interval is 8192 TU. For x equal to 23+y, the DW0 interval is thus specified to be equal to 8192*2Ay TU.
The DW interval can be indicated or specified by defining the duration by a number of TUs. Further, the DW interval can be required to be set such that the DW0 interval must be divided by DW interval with remainder 0.
The time slot duration can be indicated or specified by defining the duration by a number of TUs. Further, the time slot duration can be required to be set such that the DW interval must be divided by time slot duration with remainder 0.
The DW duration can be indicated or specified by defining the duration by a number of TUs. Further, the DW duration can be required to be set such that the DW duration must be divided by time slot duration with remainder 0.
The discovery beacon interval can be indicated or specified by defining the duration by a number of TUs. As mentioned above, if a particular configurable parameter is not provided by the initiating WCD/NAN device, then a default parameter can be assumed. Default parameters can be those parameters as defined in one of the Wi-Fi Neighbor Awareness Networking (NAN) Technical Specifications (e.g., version 1.0 or 2.0).
FIG. 7 illustrates an example of a logic flow 700 that may be representative of a NAN device initiating a NAN cluster according to various embodiments. For example, logic flow 700 may be representative of operations that may be performed in various embodiments by the WCD 102 in operating environment 100 of FIG. 1 when operating as a NAN device to initiate a NAN cluster.
At 702, the NAN device can determine the configurable parameters for the NAN cluster. The parameters that can be configured by the NAN device can include, for example, the DW interval, the DW0 interval, the DW duration, the time slot duration, and the discovery beacon interval for the NAN cluster. The NAN device can determine values for each of these parameters.
At 704, the NAN device can generate indicators for each of the determined configurable NAN cluster parameters. For example, values for each parameter can be determined and indicators of the same can be generated. The values and/or indicators can be expressed in TUs or in reference to operation of the TSF timer.
At 706, the NAN device can transmit the generated indicators. The indicators can be transmitted as a defined attribute or a part thereof - including an existing attribute or a new attribute as described herein. The indicators can also be transmitted as part of a data structure as described in relation to FIG. 6 including one or more fields for conveying the parameters. The indicators can be transmitted in any message transmitted by the NAN device including, for example, a discovery beacon, a synchronization beacon, as part of a service discovery frame, or as part of a NAN management frame.
At 708, the NAN device can update any of the configurable parameters as necessary. The parameters can be indicated and transmitted as described above.
FIG. 8 illustrates an example of a logic flow 800 that may be representative of a NAN device joining a NAN cluster having configurable parameters according to various embodiments. For example, logic flow 800 may be representative of operations that may be performed in various embodiments by the WCD 102 in operating environment 100 of FIG. 1 when operating as a NAN device to join a NAN cluster having configurable parameters.
At 802, the NAN device can discover the NAN cluster. The NAN device can discover the NAN cluster by receiving a discovery beacon. The NAN device can also determine the NAN cluster parameters through reception of the discovery beacon. The NAN cluster parameters can include configurable parameters such as the DW interval, the DW0 interval, the DW duration, the time slot duration, and the discovery beacon interval.
At 804, the NAN device can process the NAN cluster parameters received at 802 and indicated within the discovery beacon.
At 806, the NAN device can join the discovered NAN cluster. The NAN device can join the NAN cluster and can adhere to the configurable NAN parameters received at 802 and processed at 804.
At 808, if necessary, the NAN device can transmit a discovery beacon. The discovery beacon can include indicators of the NAN cluster parameters, including configurable NAN cluster parameters. The indicators of the NAN cluster parameters can be included as an attribute of the NAN cluster or can be provided in another data structure (e.g., the data structure 600).
The NAN cluster parameters transmitted by the NAN device at 808 can be the same NAN cluster parameters adopted by the NAN device when joining the NAN cluster at 806.
The anchor master of the NAN cluster may change some NAN cluster parameters by propagating the change to all NAN devices within the cluster. For example, the DW duration can be configured by the anchor master. Accordingly, the NAN cluster parameters conveyed in the discovery beacon at 808 can include the DW duration updated by the anchor master NAN device.
Returning to FIG. 1, it is possible that multiple NAN clusters can operate within the operating environment 100. To facilitate discovery, a NAN device 102 can merge to another NAN cluster. To make sure that all devices can merge to the same cluster, the NAN device 102 can compare the cluster grade of the discovered cluster with the cluster grade of other clusters (e.g., a current cluster) and can join the NAN cluster with the highest cluster grade.
Current techniques for joining and maintaining certain NAN clusters may not be suitable for using NAN clusters for specific tasks. For example, it may be desirable to have all sensors that are deployed in a warehouse to be in the same NAN cluster. When all of the sensors are part of the same NAN cluster, a mesh topology can be built on the NAN cluster, and every sensor can reach any other sensor in the warehouse through multi-hop communication. It may therefore be desirable to maintain the NAN cluster that is formed with all of the sensors. Accordingly, it may be desirable to prevent a sensor from merging to other clusters dynamically since doing so can cause synchronization parameters to change, thereby disrupting and breaking the mesh topology built on top of the original NAN cluster. Conversely, it may also be desirable to have all of the sensors deployed in the warehouse to automatically form a specific cluster.
As another example, a group of drones forming a specific cluster may be formed. The group of drones may fly into a certain region to collect data. It may be desirable to maintain the NAN cluster formed by the drone group. Accordingly, as the group of drones are flying around, it may be desirable to prevent the drones from merging to other NAN clusters that they may encounter as they travel around. Further, it may also be desirable to also have these drones to automatically form a cluster.
Techniques described herein provide for NAN devices to automatically form a cluster and for the NAN devices to stay within the formed cluster. Such techniques enable similar NAN devices to be grouped together to accomplish a particular task. Further, such techniques enable the NAN parameters of the cluster to be optimized for the specific application it supports, therefore saving power and improving communication efficiency and performance within the NAN system. An identifier can be associated with cluster discovery procedures and cluster merging procedures. A NAN device can be restricted to only joining or merging to a NAN cluster that has a matching identifier. As an example, a NAN device can be directed to join or merge to a particular NAN cluster having the highest cluster grade with a matching identifier.
Conventional NAN devices and clusters do not allow a NAN device to join or merge to a
NAN cluster having a specific embedded or associated identifier. Conventionally, all joining and merging decisions are based on cluster grade only. Some systems have been proposed that allow the merging mechanism to be turned on or off. This approach is deficient since turning off cluster merging prevents a group of devices from merging to the same NAN cluster for specific task as desired. Further, turning on cluster merging introduces the problem of undesirably merging with neighboring clusters and disturbing the formation of an existing NAN cluster for a specific task. Accordingly, more robust techniques for managing joining and merging operations for a NAN device are needed.
Techniques disclosed herein enable a NAN device (e.g., the WCD 102) to only join or merge to a NAN cluster having a specific identifier. The WCD 102 can receive an indication of an identifier and can be instructed to only join or merge to a NAN cluster having a matching identifier. The identifier can be the service ID, the cluster identifier, or another identifier that is independent of the service ID and the cluster identifier used for the purpose of uniquely identifying a cluster.
The WCD 102 can receive the identifier and/or the instruction from a remote device communicatively coupled to the WCD 102. The WCD 102 can also receive the identifier and/or the instruction from a service or application layer operative or coupled to the WCD 102. That is, the WCD 102 can receive the identifier and/or the instruction from a higher layer application through a service interface. A NAN medium access control (MAC) layer can receive the identifier and/or the instruction through the service interface. The service interface can contain method primitives and event primitives, with method primitives comprising instructions or information from the higher layer to NAN MAC layer and event primitives comprising instructions or information from the NAN MAC layer to the higher layer.
In various embodiments, the identifier and/or a related instruction can be provided from the higher layer to the NAN MAC layer though an existing method such as the publish method or
the subscribe method. In various other embodiments, the identifier and/or a related instruction can be provided from the higher layer to the NAN MAC layer though a new method such as a cluster method.
Relatedly, in various embodiments, the identifier or other information about a NAN cluster can be provided from the NAN MAC layer to the higher layer through the service interface. For example, the identifier or other information about a NAN cluster can be conveyed through an existing event such as a discovery result event. As another example, the identifier or other information about a NAN cluster can be conveyed through a new event such as a cluster event.
The identifier for a NAN cluster can be provided by an indication or indicator received and processed by the WCD 102. For example, one of the data fields 604 of the message 600 can include an indication of the identifier. As another example, the identifier can be carried in a field of an attribute. Under either scenario, the identifier can be provided within a discovery beacon or synchronization beacon or can be provided within a service discovery frame or a NAN management frame. The attribute can be the existing cluster attribute or can be a new attribute such as a cluster parameter attribute.
During operation as a NAN device, if the WCD 102 cannot discover a NAN cluster with a matching identifier, then the WCD 102 can initiate a NAN cluster and can transmit a discovery beacon that includes the identifier. If the WCD 102 is currently in a NAN cluster that does not have a matching identifier (or does not have an identifier at all), without identifier or with non- matching identifier, then the WCD 102 can leave the cluster and can initiate a new NAN cluster or can scan for another NAN cluster with a matching identifier. As mentioned above, the WCD 102 can receive an indication of the identifier and an instruction to merge or join NAN clusters having matching identifiers from a higher layer (e.g., an application or service of a higher layer) or can receive the instruction and related information from a remote device.
A NAN cluster having an identifier can also be formed to keep NAN devices within the
NAN cluster. For example, an indication can be used to indicate that the cluster is formed with the rule that a NAN device should stay in the cluster with the specified identifier. The indication can be carried in the data field 604 for example or can be carried in a field of an attribute (e.g., a cluster attribute or a cluster parameter attribute). The indication can be provided in a discovery beacon, synchronization beacon, service discovery frame, or NAN management frame.
FIG. 9 illustrates an example of a logic flow 900 that may be representative of operations of a NAN device instructed to join or merge into a NAN cluster having a specified identifier according to various embodiments. For example, logic flow 900 may be representative of operations that may be performed in various embodiments by the WCD 102 in operating
environment 100 of FIG. 1 when operating as a NAN device to join or merge into a NAN cluster having a specified identifier.
At 902, a NAN device can receive an identifier. The identifier can be associated with a cluster and/or can be an identifier for a cluster. The NAN device can receive the identifier and/or an indication of the identifier. The identifier can be provided by a higher layer (e.g., an application) of the NAN device. The NAN device can also receive an instruction associated with the identifier. The instruction can be a command to only join or merge to clusters having identifiers matching the identifier it received. The instruction can be a separate indication from the identifier or the instruction can be provided by issuance and reception of the identifier itself. The identifier and/or the instruction can be provided by the higher layer of the NAN device to a MAC layer of the NAN device through, for example, a service interface using, for example, a publish or subscribe method.
At 904, the NAN device can scan for or seek NAN clusters. The NAN device can scan for or seek NAN clusters having identifiers that match the identifier the NAN device received at 902. The NAN device can receive and process discovery and/or synchronization beacons from NAN clusters. The discovery and/or synchronization beacons may include an indicator of the identifier of a NAN cluster. In this way, the NAN device can determine if a particular NAN cluster has a matching identifier or not. The indication of the identifier can be provided, for example, as a field of an attribute conveyed through a discovery and/or synchronization beacon.
If the NAN device finds a cluster having or associated with a matching identifier, then at
906 the NAN device can join the cluster. The NAN device can find more than one cluster having a matching identifier. Under such a scenario, the NAN device can join the cluster having the highest cluster grade.
If the NAN device does not find a cluster having or associated with a matching identifier, then at 908 the NAN device can initiate a cluster if it chooses to do so. As described herein, the NAN device can broadcast one or more configurable parameters for a NAN cluster as well as the identifier for the cluster. As an example, the NAN device can provide indications of any configurable parameters and an identifier of the cluster in a discovery beacon.
If the NAN device does not find a cluster having or associated with a matching identifier, then at 910 the NAN device can elect to not initiate a NAN cluster. Instead, the NAN device can continue to operate outside of a NAN cluster and can continue scanning for a NAN cluster having a matching identifier.
If the NAN device joins a cluster at 906, then the NAN device can transition, at 912, to remaining in the cluster and scanning on occasion for other clusters having matching identifiers. If, at 912, the NAN device finds another cluster having a matching identifier and a higher cluster
grade than the current cluster it is joined to, then the NAN device can merge at 914 to the newly discovered NAN cluster.
From 914, the NAN device can transition to 912 to a state where the NAN device continues to occasionally scan for other clusters and then to 914 when a cluster with a higher grade is found. Accordingly, 912 and 914 enable a NAN device to continue to merge to newly discovered clusters having higher cluster grades - so as to merge into the cluster with a matching identifier and the highest cluster grade. The NAN device can also transition to 914 from 910 when an appropriate cluster for merging is discovered.
The techniques described herein for initiating a NAN cluster having configurable parameters, for joining a NAN cluster having configurable parameters, and for joining or initiating a NAN cluster having a specified identifier can be combined in any manner and can be performed by any of the WCDs 102-108 operating the in the environment 100 of FIG. 1 according to the various embodiments described herein.
Various embodiments of the invention may be implemented fully or partially in software and/or firmware. This software and/or firmware may take the form of instructions contained in or on a non-transitory computer-readable storage medium. Those instructions may then be read and executed by one or more processors to enable performance of the operations described herein. The instructions may be in any suitable form, such as but not limited to source code, compiled code, interpreted code, executable code, static code, dynamic code, and the like. Such a computer-readable medium may include any tangible non-transitory medium for storing information in a form readable by one or more computers, such as but not limited to read only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; a flash memory, etc. The embodiments are not limited in this context.
FIG. 10 illustrates an embodiment of a storage medium 1000. Storage medium 1000 may comprise any non-transitory computer-readable storage medium or machine-readable storage medium, such as an optical, magnetic or semiconductor storage medium. In various embodiments, storage medium 1000 may comprise an article of manufacture. In some embodiments, storage medium 1000 may store computer-executable instructions, such as computer-executable instructions to implement logic flow 700 of FIG. 7, logic flow 800 of FIG. 8, and/or logic flow 900 of FIG. 9. Examples of a computer-readable storage medium or machine-readable storage medium may include any tangible media capable of storing electronic data, including volatile memory or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and so forth. Examples of computer-executable instructions may include any suitable type of code, such as source code,
compiled code, interpreted code, executable code, static code, dynamic code, object-oriented code, visual code, and the like. The embodiments are not limited in this context.
FIG. 11 illustrates an embodiment of a communications device 1100 that may implement one or more of wireless communication devices 102-108, logic flow 700, logic flow 800, logic flow 900, and storage medium 1000. In various embodiments, device 1100 may comprise a logic circuit 1128. The logic circuit 1128 may include physical circuits to perform operations described for one or more of wireless communication devices 102-108, logic flow 700, logic flow 800, logic flow 900, and storage medium 1000, for example. As shown in FIG. 11, device 1100 may include a radio interface 1110, baseband circuitry 1120, and computing platform 1130, although the embodiments are not limited to this configuration.
The device 1100 may implement some or all of the structure and/or operations for one or more of wireless communication devices 102-108, logic flow 700, logic flow 800, logic flow 900, and storage medium 1000, and logic circuit 1128 in a single computing entity, such as entirely within a single device. Alternatively, the device 1100 may distribute portions of the structure and/or operations for one or more of wireless communication devices 102-108, logic flow 700, logic flow 800, logic flow 900, and storage medium 1000, and logic circuit 1128 across multiple computing entities using a distributed system architecture, such as a client-server architecture, a 3-tier architecture, an N-tier architecture, a tightly-coupled or clustered architecture, a peer-to-peer architecture, a master-slave architecture, a shared database architecture, and other types of distributed systems. The embodiments are not limited in this context.
In one embodiment, radio interface 1110 may include a component or combination of components adapted for transmitting and/or receiving single-carrier or multi-carrier modulated signals (e.g., including complementary code keying (CCK), orthogonal frequency division multiplexing (OFDM), and/or single-carrier frequency division multiple access (SC-FDMA) symbols) although the embodiments are not limited to any specific over-the-air interface or modulation scheme. Radio interface 1110 may include, for example, a receiver 1112, a frequency synthesizer 1114, and/or a transmitter 1116. Radio interface 1110 may include bias controls, a crystal oscillator and/or one or more antennas 1118-/. In another embodiment, radio interface 1110 may use external voltage-controlled oscillators (VCOs), surface acoustic wave filters, intermediate frequency (IF) filters and/or RF filters, as desired. Due to the variety of potential RF interface designs an expansive description thereof is omitted.
Baseband circuitry 1120 may communicate with radio interface 1110 to process receive and/or transmit signals and may include, for example, an analog-to-digital converter 1122 for down converting received signals, a digital-to-analog converter 1124 for up converting signals
for transmission. Further, baseband circuitry 1120 may include a baseband or physical layer (PHY) processing circuit 1126 for PHY link layer processing of respective receive/transmit signals. Baseband circuitry 1120 may include, for example, a medium access control (MAC) processing circuit 727 for MAC/data link layer processing. Baseband circuitry 1120 may include a memory controller 1132 for communicating with MAC processing circuit 727 and/or a computing platform 1130, for example, via one or more interfaces 1134.
In some embodiments, PHY processing circuit 1126 may include a frame construction and/or detection module, in combination with additional circuitry such as a buffer memory, to construct and/or deconstruct communication frames. Alternatively or in addition, MAC processing circuit 727 may share processing for certain of these functions or perform these processes independent of PHY processing circuit 1126. In some embodiments, MAC and PHY processing may be integrated into a single circuit.
The computing platform 1130 may provide computing functionality for the device 1100. As shown, the computing platform 1130 may include a processing component 1140. In addition to, or alternatively of, the baseband circuitry 1120, the device 1100 may execute processing operations or logic for one or more of wireless communication devices 102-108, logic flow 700, logic flow 800, logic flow 900, and storage medium 1000, and logic circuit 1128 using the processing component 1140. The processing component 1140 (and/or PHY 1126 and/or MAC 727) may comprise various hardware elements, software elements, or a combination of both. Examples of hardware elements may include devices, logic devices, components, processors, microprocessors, circuits, processor circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), memory units, logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth. Examples of software elements may include software components, programs, applications, computer programs, application programs, system programs, software development programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and/or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints, as desired for a given implementation.
The computing platform 1130 may further include other platform components 1150. Other platform components 1150 include common computing elements, such as one or more processors, multi-core processors, co-processors, memory units, chipsets, controllers, peripherals, interfaces, oscillators, timing devices, video cards, audio cards, multimedia input/output (I/O) components (e.g., digital displays), power supplies, and so forth. Examples of memory units may include without limitation various types of computer readable and machine readable storage media in the form of one or more higher speed memory units, such as read-only memory (ROM), random-access memory (RAM), dynamic RAM (DRAM), Double-Data-Rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), flash memory, polymer memory such as ferroelectric polymer memory, ovonic memory, phase change or ferroelectric memory, silicon-oxide-nitride-oxide-silicon (SONOS) memory, magnetic or optical cards, an array of devices such as Redundant Array of Independent Disks (RAID) drives, solid state memory devices (e.g., USB memory, solid state drives (SSD) and any other type of storage media suitable for storing information.
Device 1100 may be, for example, an ultra-mobile device, a mobile device, a fixed device, a machine-to-machine (M2M) device, a personal digital assistant (PDA), a mobile computing device, a smart phone, a telephone, a digital telephone, a cellular telephone, user equipment, eBook readers, a handset, a one-way pager, a two-way pager, a messaging device, a computer, a personal computer (PC), a desktop computer, a laptop computer, a notebook computer, a netbook computer, a handheld computer, a tablet computer, a server, a server array or server farm, a web server, a network server, an Internet server, a work station, a mini-computer, a main frame computer, a supercomputer, a network appliance, a web appliance, a distributed computing system, multiprocessor systems, processor-based systems, consumer electronics, programmable consumer electronics, game devices, display, television, digital television, set top box, wireless access point, base station, node B, subscriber station, mobile subscriber center, radio network controller, router, hub, gateway, bridge, switch, machine, or combination thereof. Accordingly, functions and/or specific configurations of device 1100 described herein, may be included or omitted in various embodiments of device 1100, as suitably desired.
Embodiments of device 1100 may be implemented using single input single output (SISO) architectures. However, certain implementations may include multiple antennas (e.g., antennas 1118- ) for transmission and/or reception using adaptive antenna techniques for beamforming or spatial division multiple access (SDMA) and/or using MIMO communication techniques.
The components and features of device 1100 may be implemented using any combination of discrete circuitry, application specific integrated circuits (ASICs), logic gates and/or single
chip architectures. Further, the features of device 1100 may be implemented using
microcontrollers, programmable logic arrays and/or microprocessors or any combination of the foregoing where suitably appropriate. It is noted that hardware, firmware and/or software elements may be collectively or individually referred to herein as "logic" or "circuit."
It should be appreciated that the exemplary device 1100 shown in the block diagram of
FIG. 11 may represent one functionally descriptive example of many potential implementations. Accordingly, division, omission or inclusion of block functions depicted in the accompanying figures does not infer that the hardware components, circuits, software and/or elements for implementing these functions would be necessarily be divided, omitted, or included in embodiments.
In various embodiments, device 1100 can operate according to one or more IEEE 802.11 standards. In various embodiments, device 1100 can operate as a STA and adhere to one or more NAN technical specifications such that device 1100 is operable as a NAN device.
FIG. 12 illustrates an embodiment of a wireless network 1200. As shown in FIG. 12, wireless network comprises an access point 1202 and wireless stations 1204, 1206, and 1208. In various embodiments, wireless network 1200 may comprise a wireless local area network (WLAN), such as a WLAN implementing one or more Institute of Electrical and Electronics Engineers (IEEE) 1202.11 standards (sometimes collectively referred to as "Wi-Fi"). In some other embodiments, wireless network 1200 may comprise another type of wireless network, and/or may implement other wireless communications standards. In various embodiments, for example, wireless network 1200 may comprise a WW AN or WPAN rather than a WLAN. The embodiments are not limited to this example.
In various embodiments, the wireless network 1200 can be any IEEE 802.11 network and can be a network in which the WCDs 102-108 operate. In various embodiments, the WCDs 102- 108 can operate with a network 1200 that supports NAN device operation and the NAN device operation techniques described herein.
In some embodiments, wireless network 1200 may implement one or more broadband wireless communications standards, such as 3G or 4G standards, including their revisions, progeny, and variants. Examples of 3G or 4G wireless standards may include without limitation any of the IEEE 802.16m and 802.16p standards, 3rd Generation Partnership Project (3GPP) Long Term Evolution (LTE) and LTE- Advanced (LTE-A) standards, and International Mobile Telecommunications Advanced (IMT-ADV) standards, including their revisions, progeny and variants. Other suitable examples may include, without limitation, Global System for Mobile Communications (GSM)/Enhanced Data Rates for GSM Evolution (EDGE) technologies, Universal Mobile Telecommunications System (UMTS)/High Speed Packet Access (HSPA)
technologies, Worldwide Interoperability for Microwave Access (WiMAX) or the WiMAX II technologies, Code Division Multiple Access (CDMA) 2000 system technologies (e.g., CDMA2000 lxRTT, CDMA2000 EV-DO, CDMA EV-DV, and so forth), High Performance Radio Metropolitan Area Network (HIPERMAN) technologies as defined by the European Telecommunications Standards Institute (ETSI) Broadband Radio Access Networks (BRAN), Wireless Broadband (WiBro) technologies, GSM with General Packet Radio Service (GPRS) system (GSM/GPRS) technologies, High Speed Downlink Packet Access (HSDPA) technologies, High Speed Orthogonal Frequency-Division Multiplexing (OFDM) Packet Access (HSOPA) technologies, High-Speed Uplink Packet Access (HSUPA) system technologies, 3GPP Rel. 8-12 of LTE/System Architecture Evolution (SAE), and so forth. The embodiments are not limited in this context.
In various embodiments, wireless stations 1204, 1206, and 1208 may communicate with access point 1202 in order to obtain connectivity to one or more external data networks. In some embodiments, for example, wireless stations 1204, 1206, and 1208 may connect to the Internet 1212 via access point 1202 and access network 1210. In various embodiments, access network 1210 may comprise a private network that provides subscription-based Internet-connectivity, such as an Internet Service Provider (ISP) network. The embodiments are not limited to this example.
In various embodiments, two or more of wireless stations 1204, 1206, and 1208 may communicate with each other directly by exchanging peer-to-peer communications. For example, in the example of FIG. 12, wireless stations 1204 and 1206 communicate with each other directly by exchanging peer-to-peer communications 1214. In some embodiments, such peer-to-peer communications may be performed according to one or more Wi-Fi Alliance (WFA) standards. For example, in various embodiments, such peer-to-peer communications may be performed according to the WFA Wi-Fi Direct standard, 2010 Release. In various embodiments, such peer-to-peer communications may additionally or alternatively be performed using one or more interfaces, protocols, and/or standards developed by the WFA Wi-Fi Direct Services (WFDS) Task Group. Peer-to-peer communication 1214 can include NAN device operations. The embodiments are not limited to these examples.
Various embodiments may be implemented using hardware elements, software elements, or a combination of both. Examples of hardware elements may include processors,
microprocessors, circuits, circuit elements (e.g., transistors, resistors, capacitors, inductors, and so forth), integrated circuits, application specific integrated circuits (ASIC), programmable logic devices (PLD), digital signal processors (DSP), field programmable gate array (FPGA), logic gates, registers, semiconductor device, chips, microchips, chip sets, and so forth. Examples of
software may include software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, functions, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. Determining whether an embodiment is implemented using hardware elements and/or software elements may vary in accordance with any number of factors, such as desired computational rate, power levels, heat tolerances, processing cycle budget, input data rates, output data rates, memory resources, data bus speeds and other design or performance constraints.
One or more aspects of at least one embodiment may be implemented by representative instructions stored on a machine -readable medium which represents various logic within the processor, which when read by a machine causes the machine to fabricate logic to perform the techniques described herein. Such representations, known as "IP cores" may be stored on a tangible, machine readable medium and supplied to various customers or manufacturing facilities to load into the fabrication machines that actually make the logic or processor. Some embodiments may be implemented, for example, using a machine -readable medium or article which may store an instruction or a set of instructions that, if executed by a machine, may cause the machine to perform a method and/or operations in accordance with the embodiments. Such a machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware and/or software. The machine-readable medium or article may include, for example, any suitable type of memory unit, memory device, memory article, memory medium, storage device, storage article, storage medium and/or storage unit, for example, memory, removable or nonremovable media, erasable or non-erasable media, writeable or re-writeable media, digital or analog media, hard disk, floppy disk, Compact Disk Read Only Memory (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD-RW), optical disk, magnetic media, magneto-optical media, removable memory cards or disks, various types of Digital Versatile Disk (DVD), a tape, a cassette, or the like. The instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, encrypted code, and the like, implemented using any suitable high-level, low- level, object-oriented, visual, compiled and/or interpreted programming language.
The following examples pertain to further embodiments:
Example 1 is an apparatus comprising a memory and logic, at least a portion of the logic implemented in circuitry coupled to the memory, the logic to determine a value of an adjustable parameter of a Neighbor Awareness Networking (NAN) cluster, generate a data message for transmission, the data message to comprise an indicator of the adjustable parameter and the value of the adjustable parameter, and establish the NAN cluster based on the adjustable parameter.
Example 2 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a discovery window (DW) interval
Example 3 is an extension of Example 2 or any other example disclosed herein, the value of the DW interval defined in terms of Time Units (TUs).
Example 4 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a mandatory awake discovery window (DWO) interval.
Example 5 is an extension of Example 5 or any other example disclosed herein, the value of the DWO interval defined by operation of a time synchronization function (TSF) timer.
Example 6 is an extension of Example 6 or any other example disclosed herein, the value of the DWO interval corresponding to a number of lower bits of the TSF timer equal to zero.
Example 7 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a discovery window (DW) duration.
Example 8 is an extension of Example 7 or any other example disclosed herein, the value of the DW duration defined in terms of Time Units (TUs).
Example 9 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a time slot duration.
Example 10 is an extension of Example 9 or any other example disclosed herein, the value of the time slot duration defined in terms of Time Units (TUs).
Example 11 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a discovery beacon interval.
Example 12 is an extension of Example 11 or any other example disclosed herein, the value of the discovery beacon interval defined in terms of Time Units (TUs).
Example 13 is an extension of Example 1 or any other example disclosed herein, the indicator to comprise an attribute and the value of the adjustable parameter to comprise a field of the attribute.
Example 14 is an extension of Example 1 or any other example disclosed herein, the data message to comprise a discovery beacon.
Example 15 is an extension of Example 1 or any other example disclosed herein, the data message to comprise a synchronization beacon.
Example 16 is an extension of Example 1 or any other example disclosed herein, the data message to comprise a service discovery frame.
Example 17 is an extension of Example 1 or any other example disclosed herein, the data message to comprise a NAN management frame.
Example 18 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a NAN cluster identifier.
Example 19 is an extension of Example 18 or any other example disclosed herein, the NAN cluster identifier to comprise a service identification.
Example 20 is an extension of Example 18 or any other example disclosed herein, the NAN cluster identifier to comprise a cluster identifier.
Example 21 is an extension of Example 18 or any other example disclosed herein, the NAN cluster identifier to comprise an identifier that is independent of a service identification and a cluster identifier.
Example 22 is an extension of Example 18 or any other example disclosed herein, the NAN cluster identifier provided by a higher layer of the apparatus through a service interface.
Example 23 is an extension of Example 22 or any other example disclosed herein, the NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a publish method.
Example 24 is an extension of Example 22 or any other example disclosed herein, the NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a subscribe method.
Example 25 is an extension of any of Examples 1 to 24 or any other example disclosed herein, comprising at least one radio frequency (RF) transceiver and at least on RF antenna.
Example 26 is a wireless communication method comprising determining a value of an adjustable parameter of a Neighbor Awareness Networking (NAN) cluster, generating a data message for transmission, the data message to comprise an indicator of the adjustable parameter and the value of the adjustable parameter, and establishing the NAN cluster based on the adjustable parameter.
Example 27 is an extension of Example 26 or any other example disclosed herein, the adjustable parameter to comprise a discovery window (DW) interval.
Example 28 is an extension of Example 27 or any other example disclosed herein, the value of the DW interval defined in terms of Time Units (TUs).
Example 29 is an extension of Example 26 or any other example disclosed herein, the adjustable parameter to comprise a mandatory awake discovery window (DW0) interval.
Example 30 is an extension of Example 29 or any other example disclosed herein, the value of the DWO interval defined by operation of a time synchronization function (TSF) timer.
Example 31 is an extension of Example 30 or any other example disclosed herein, the value of the DWO interval corresponding to a number of lower bits of the TSF timer equal to zero.
Example 32 is an extension of Example 26 or any other example disclosed herein, the adjustable parameter to comprise a discovery window (DW) duration.
Example 33 is an extension of Example 32 or any other example disclosed herein, the value of the DW duration defined in terms of Time Units (TUs).
Example 34 is an extension of Example 26 or any other example disclosed herein, the adjustable parameter to comprise a time slot duration.
Example 35 is an extension of Example 34 or any other example disclosed herein, the value of the time slot duration defined in terms of Time Units (TUs).
Example 36 is an extension of Example 26 or any other example disclosed herein, the adjustable parameter to comprise a discovery beacon interval.
Example 37 is an extension of Example 36 or any other example disclosed herein, the value of the discovery beacon interval defined in terms of Time Units (TUs).
Example 38 is an extension of Example 26 or any other example disclosed herein, the indicator to comprise an attribute and the value of the adjustable parameter to comprise a field of the attribute.
Example 39 is an extension of Example 26 or any other example disclosed herein, the data message to comprise a discovery beacon.
Example 40 is an extension of Example 26 or any other example disclosed herein, the data message to comprise a synchronization beacon.
Example 41 is an extension of Example 26 or any other example disclosed herein, the data message to comprise a service discovery frame.
Example 42 is an extension of Example 26 or any other example disclosed herein, the data message to comprise a NAN management frame.
Example 43 is an extension of Example 26 or any other example disclosed herein, the adjustable parameter to comprise a NAN cluster identifier.
Example 44 is an extension of Example 43 or any other example disclosed herein, the NAN cluster identifier to comprise a service identification.
Example 45 is an extension of Example 43 or any other example disclosed herein, the NAN cluster identifier to comprise a cluster identifier.
Example 46 is an extension of Example 43 or any other example disclosed herein, the NAN cluster identifier to comprise an identifier that is independent of a service identification and a cluster identifier.
Example 47 is an extension of Example 43 or any other example disclosed herein, the NAN cluster identifier provided by a higher layer of the apparatus through a service interface.
Example 48 is an extension of Example 47 or any other example disclosed herein, the NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a publish method.
Example 49 is an extension of Example 47 or any other example disclosed herein, the NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a subscribe method.
Example 50 is at least one computer-readable storage medium comprising a set of instructions that, in response to being executed on a computing device, cause the computing device to perform a wireless communication method according to any of Examples 26 to 49 or any other example disclosed herein.
Example 51 is an apparatus comprising means for performing a wireless communication method according to any of Examples 26 to 49 or any other example disclosed herein.
The following additional examples pertain to further embodiments:
Example 1 is an apparatus, comprising a memory and logic, at least a portion of the logic implemented in circuitry coupled to the memory, the logic to receive an indicator of an adjustable parameter of a Neighbor Awareness Networking (NAN) cluster, process the indicator to determine a value of the adjustable parameter, and join the NAN cluster based on the determined value of the adjustable parameter.
Example 2 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a discovery window (DW) interval.
Example 3 is an extension of Example 2 or any other example disclosed herein, the value of the DW interval defined in terms of Time Units (TUs).
Example 4 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a mandatory awake discovery window (DWO) interval.
Example 5 is an extension of Example 4 or any other example disclosed herein, the value of the DWO interval defined by operation of a time synchronization function (TSF) timer.
Example 6 is an extension of Example 5 or any other example disclosed herein, the value of the DWO interval corresponding to a number of lower bits of the TSF timer equal to zero.
Example 7 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a discovery window (DW) duration.
Example 8 is an extension of Example 7 or any other example disclosed herein, the value of the DW duration defined in terms of Time Units (TUs).
Example 9 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a time slot duration.
Example 10 is an extension of Example 9 or any other example disclosed herein, the value of the time slot duration defined in terms of Time Units (TUs).
Example 11 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a discovery beacon interval.
Example 12 is an extension of Example 11 or any other example disclosed herein, the value of the discovery beacon interval defined in terms of Time Units (TUs).
Example 13 is an extension of Example 1 or any other example disclosed herein, the indicator to comprise an attribute and the value of the adjustable parameter to comprise a field of the attribute.
Example 14 is an extension of Example 1 or any other example disclosed herein, the attribute to be part of a discovery beacon.
Example 15 is an extension of Example 1 or any other example disclosed herein, the attribute to be part of a synchronization beacon.
Example 16 is an extension of Example 1 or any other example disclosed herein, the attribute to be part of a service discovery frame.
Example 17 is an extension of Example 1 or any other example disclosed herein, the attribute to be part of a NAN management frame.
Example 18 is an extension of Example 1 or any other example disclosed herein, the adjustable parameter to comprise a NAN cluster identifier.
Example 19 is an extension of Example 18 or any other example disclosed herein, the NAN cluster identifier to comprise a service identification.
Example 20 is an extension of Example 18 or any other example disclosed herein, the NAN cluster identifier to comprise a cluster identifier.
Example 21 is an extension of Example 18 or any other example disclosed herein, the NAN cluster identifier to comprise an identifier that is independent of a service identification and a cluster identifier.
Example 22 is an extension of Example 18 or any other example disclosed herein, the NAN cluster identifier provided by a higher layer of the apparatus through a service interface.
Example 23 is an extension of Example 22 or any other example disclosed herein, the NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a publish method.
Example 24 is an extension of Example 22 or any other example disclosed herein, the NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a subscribe method.
Example 25 is an extension of Example 22 or any other example disclosed herein, the logic to receive an instruction to only join NAN clusters having a matching NAN cluster identifier.
Example 26 is an extension of Example 25 or any other example disclosed herein, the logic scan for a NAN cluster having a matching NAN cluster identifier.
Example 27 is an extension of any of Examples 1 to 26 or any other example disclosed herein, comprising at least one radio frequency (RF) transceiver and at least on RF antenna.
Example 28 is wireless communication method, comprising receiving an indicator of an adjustable parameter of a Neighbor Awareness Networking (NAN) cluster, processing the indicator to determine a value of the adjustable parameter, and joining the NAN cluster based on the determined value of the adjustable parameter.
Example 29 is an extension of Example 28 or any other example disclosed herein, the adjustable parameter to comprise a discovery window (DW) interval.
Example 30 is an extension of Example 29 or any other example disclosed herein, the value of the DW interval defined in terms of Time Units (TUs).
Example 31 is an extension of Example 28 or any other example disclosed herein, the adjustable parameter to comprise a mandatory awake discovery window (DWO) interval.
Example 32 is an extension of Example 31 or any other example disclosed herein, the value of the DWO interval defined by operation of a time synchronization function (TSF) timer.
Example 33 is an extension of Example 32 or any other example disclosed herein, the value of the DWO interval corresponding to a number of lower bits of the TSF timer equal to zero.
Example 34 is an extension of Example 28 or any other example disclosed herein, the adjustable parameter to comprise a discovery window (DW) duration.
Example 35 is an extension of Example 34 or any other example disclosed herein, the value of the DW duration defined in terms of Time Units (TUs).
Example 36 is an extension of Example 28 or any other example disclosed herein, the adjustable parameter to comprise a time slot duration.
Example 37 is an extension of Example 36 or any other example disclosed herein, the value of the time slot duration defined in terms of Time Units (TUs).
Example 38 is an extension of Example 28 or any other example disclosed herein, the adjustable parameter to comprise a discovery beacon interval.
Example 39 is an extension of Example 38 or any other example disclosed herein, the value of the discovery beacon interval defined in terms of Time Units (TUs).
Example 40 is an extension of Example 28 or any other example disclosed herein, the indicator to comprise an attribute and the value of the adjustable parameter to comprise a field of the attribute.
Example 41 is an extension of Example 28 or any other example disclosed herein, the attribute to be part of a discovery beacon.
Example 42 is an extension of Example 28 or any other example disclosed herein, the attribute to be part of a synchronization beacon.
Example 43 is an extension of Example 28 or any other example disclosed herein, the attribute to be part of a service discovery frame.
Example 44 is an extension of Example 28 or any other example disclosed herein, the attribute to be part of a NAN management frame.
Example 45 is an extension of Example 28 or any other example disclosed herein, the adjustable parameter to comprise a NAN cluster identifier.
Example 46 is an extension of Example 45 or any other example disclosed herein, the NAN cluster identifier to comprise a service identification.
Example 47 is an extension of Example 45 or any other example disclosed herein, the NAN cluster identifier to comprise a cluster identifier.
Example 48 is an extension of Example 45 or any other example disclosed herein, the
NAN cluster identifier to comprise an identifier that is independent of a service identification and a cluster identifier.
Example 49 is an extension of Example 45 or any other example disclosed herein, the NAN cluster identifier provided by a higher layer of the apparatus through a service interface.
Example 50 is an extension of Example 49 or any other example disclosed herein, the
NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a publish method.
Example 51 is an extension of Example 49 or any other example disclosed herein, the NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a subscribe method.
Example 52 is an extension of Example 49 or any other example disclosed herein, receiving an instruction to only join NAN clusters having a matching NAN cluster identifier.
Example 53 is an extension of Example 52 or any other example disclosed herein, scanning for a NAN cluster having a matching NAN cluster identifier.
Example 54 is at least one computer-readable storage medium comprising a set of instructions that, in response to being executed on a computing device, cause the computing device to perform a wireless communication method according to any of Examples 28 to 53 or any other example disclosed herein.
Example 55 is an apparatus, comprising means for performing a wireless communication method according to any of Examples 28 to 53 or any other example disclosed herein.
Numerous specific details have been set forth herein to provide a thorough understanding of the embodiments. It will be understood by those skilled in the art, however, that the embodiments may be practiced without these specific details. In other instances, well-known operations, components, and circuits have not been described in detail so as not to obscure the embodiments. It can be appreciated that the specific structural and functional details disclosed herein may be representative and do not necessarily limit the scope of the embodiments.
Some embodiments may be described using the expression "coupled" and "connected" along with their derivatives. These terms are not intended as synonyms for each other. For example, some embodiments may be described using the terms "connected" and/or "coupled" to indicate that two or more elements are in direct physical or electrical contact with each other. The term "coupled," however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other.
Unless specifically stated otherwise, it may be appreciated that terms such as "processing," "computing," "calculating," "determining," or the like, refer to the action and/or processes of a computer or computing system, or similar electronic computing device, that manipulates and/or transforms data represented as physical quantities (e.g., electronic) within the computing system's registers and/or memories into other data similarly represented as physical quantities within the computing system's memories, registers or other such information storage, transmission or display devices. The embodiments are not limited in this context.
It should be noted that the methods described herein do not have to be executed in the order described, or in any particular order. Moreover, various activities described with respect to the methods identified herein can be executed in serial or parallel fashion.
Although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. It is to be understood that the above description has been made in an illustrative fashion, and not a restrictive one. Combinations of the above embodiments, and other embodiments not specifically described herein will be apparent to those of skill in the art upon reviewing the above description. Thus, the scope of various embodiments
includes any other applications in which the above compositions, structures, and methods are used.
It is emphasized that the Abstract of the Disclosure is provided to comply with 37 C.F.R. § 1.72(b), requiring an abstract that will allow the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate preferred embodiment. In the appended claims, the terms "including" and "in which" are used as the plain- English equivalents of the respective terms "comprising" and "wherein," respectively.
Moreover, the terms "first," "second," and "third," etc. are used merely as labels, and are not intended to impose numerical requirements on their objects.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims
1. An apparatus, comprising:
a memory; and
logic, at least a portion of the logic implemented in circuitry coupled to the memory, the logic to:
determine a value of an adjustable parameter of a Neighbor Awareness
Networking (NAN) cluster;
generate a data message for transmission, the data message to comprise an indicator of the adjustable parameter and the value of the adjustable parameter; and
establish the NAN cluster based on the adjustable parameter.
2. The apparatus of claim 1, the adjustable parameter to comprise a discovery window (DW) interval.
3. The apparatus of claim 1, the adjustable parameter to comprise a mandatory awake discovery window (D WO) interval.
4. The apparatus of claim 3, the value of the DWO interval defined by operation of a time synchronization function (TSF) timer.
5. The apparatus of claim 4, the value of the DWO interval corresponding to a number of lower bits of the TSF timer equal to zero.
6. The apparatus of claim 1, the adjustable parameter to comprise a discovery window (DW) duration.
7. The apparatus of claim 1, the adjustable parameter to comprise a time slot duration.
8. The apparatus of claim 1, the adjustable parameter to comprise a discovery beacon interval.
9. The apparatus of claim 1, the indicator to comprise an attribute and the value of the adjustable parameter to comprise a field of the attribute.
10. The apparatus of claim 1, the data message to comprise a discovery beacon.
11. The apparatus of claim 1, the data message to comprise a synchronization beacon.
12. The apparatus of claim 1, the data message to comprise a service discovery frame.
13. The apparatus of claim 1, the data message to comprise a NAN management frame.
14. At least one non-transitory computer-readable medium comprising a set of instructions that, in response to being executed at a wireless communication device, cause the wireless communication device to:
receive an indicator of a first Neighbor Awareness Networking (NAN) cluster identifier;
process the first NAN cluster indicator to determine a value of the first NAN cluster identifier; and
join a NAN cluster having a second NAN cluster identifier matching the first NAN cluster identifier.
15. The at least one non-transitory computer-readable medium of claim 14, the first NAN cluster identifier to comprise a service identification.
16. The at least one non-transitory computer-readable medium of claim 14, the first NAN cluster identifier to comprise a cluster identifier.
17. The at least one non-transitory computer-readable medium of claim 14, the first NAN cluster identifier provided by a higher layer of the apparatus through a service interface.
18. The at least one non-transitory computer-readable medium of claim 17, the first NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a publish method.
19. The at least one non-transitory computer-readable medium of claim 17, the first NAN cluster identifier provided by the higher layer of the apparatus through the service interface using a subscribe method.
20. The at least one non-transitory computer-readable medium of claim 17, the logic to receive an instruction to only join NAN clusters having a NAN cluster identifier matching the first NAN cluster identifier.
21. The at least one non-transitory computer-readable medium of claim 20, the logic scan for a NAN cluster having a matching NAN cluster identifier.
22. The at least one non-transitory computer-readable medium of claim 14, the indicator to comprise an attribute and the value of the adjustable parameter to comprise a field of the attribute.
23. The at least one non-transitory computer-readable medium of claim 22, the attribute to be part of a discovery beacon.
24. The at least one non-transitory computer-readable medium of claim 22, the attribute to be part of a synchronization beacon.
25. The at least one non-transitory computer-readable medium of claim 22, the attribute to be part of a service discovery frame.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2017/038876 WO2018236386A1 (en) | 2017-06-22 | 2017-06-22 | MECHANISM CONFIGURING PARAMETERS OF NAN CLUSTER |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/US2017/038876 WO2018236386A1 (en) | 2017-06-22 | 2017-06-22 | MECHANISM CONFIGURING PARAMETERS OF NAN CLUSTER |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018236386A1 true WO2018236386A1 (en) | 2018-12-27 |
Family
ID=64737102
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2017/038876 Ceased WO2018236386A1 (en) | 2017-06-22 | 2017-06-22 | MECHANISM CONFIGURING PARAMETERS OF NAN CLUSTER |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2018236386A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025005738A1 (en) * | 2023-06-30 | 2025-01-02 | 삼성전자 주식회사 | Method and apparatus for configuring discovery window for wi-fi aware communication |
Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2782381A1 (en) * | 2013-03-22 | 2014-09-24 | Alcatel Lucent | Optimizing configuration parameters of a cluster of base stations |
| US20150245335A1 (en) * | 2014-02-27 | 2015-08-27 | Qualcomm Incorporated | Enhanced trigger frame based discovery for a neighbor awareness network |
| US20150319675A1 (en) * | 2014-05-02 | 2015-11-05 | Intel Corporation | Techniques for energy efficient wifi neighbor awareness network operation |
| US20160192273A1 (en) * | 2014-12-24 | 2016-06-30 | Intel Corporation | System and method for joining neighbor awareness networking hidden clusters |
| US20160323925A1 (en) * | 2015-04-30 | 2016-11-03 | Nokia Technologies Oy | Method, apparatus, and computer program product for inter-ap communication in neighbor awareness networking environment |
| US20160353368A1 (en) * | 2013-08-13 | 2016-12-01 | Huawei Device Co.,Ltd. | Method, device, and system for joining neighbor awareness network device cluster |
-
2017
- 2017-06-22 WO PCT/US2017/038876 patent/WO2018236386A1/en not_active Ceased
Patent Citations (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| EP2782381A1 (en) * | 2013-03-22 | 2014-09-24 | Alcatel Lucent | Optimizing configuration parameters of a cluster of base stations |
| US20160353368A1 (en) * | 2013-08-13 | 2016-12-01 | Huawei Device Co.,Ltd. | Method, device, and system for joining neighbor awareness network device cluster |
| US20150245335A1 (en) * | 2014-02-27 | 2015-08-27 | Qualcomm Incorporated | Enhanced trigger frame based discovery for a neighbor awareness network |
| US20150319675A1 (en) * | 2014-05-02 | 2015-11-05 | Intel Corporation | Techniques for energy efficient wifi neighbor awareness network operation |
| US20160192273A1 (en) * | 2014-12-24 | 2016-06-30 | Intel Corporation | System and method for joining neighbor awareness networking hidden clusters |
| US20160323925A1 (en) * | 2015-04-30 | 2016-11-03 | Nokia Technologies Oy | Method, apparatus, and computer program product for inter-ap communication in neighbor awareness networking environment |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2025005738A1 (en) * | 2023-06-30 | 2025-01-02 | 삼성전자 주식회사 | Method and apparatus for configuring discovery window for wi-fi aware communication |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20230292242A1 (en) | Methods for updating system information and wireless transmit/receive units using thereof | |
| US10602464B2 (en) | Bluetooth assisted nan cluster discovery | |
| US10231182B2 (en) | Techniques for implicit indication of trigger frame start times | |
| CN105284158B (en) | Energy-saving device discovery techniques | |
| EP4132209A1 (en) | Drx control method and apparatus | |
| US10658883B2 (en) | Wireless link management techniques for wireless charging systems | |
| US20160295511A1 (en) | Remote wakeup for wi-fi devices | |
| EP2974503B1 (en) | Method and apparatus | |
| US20160249390A1 (en) | Mobile device paging and small cell connection establishment in heterogeneous networks | |
| US11696359B2 (en) | Override of default base station discontinuous reception cycle for individual user equipment | |
| US12477441B2 (en) | System information acquisition for reduced capability NR devices | |
| US20210410064A1 (en) | Power saving mechanism for mu-mimo transmissions | |
| CN114071495B (en) | Initial access method and device, terminal and network side equipment | |
| EP3386250A1 (en) | A network node, a first communications device and methods therein for monitoring of an information signal in monitoring time periods of different time durations | |
| WO2018236386A1 (en) | MECHANISM CONFIGURING PARAMETERS OF NAN CLUSTER | |
| CN115996450A (en) | A communication method and device | |
| US11996702B2 (en) | Resonator control techniques for wireless power transmitting units | |
| US20250386294A1 (en) | Network energy savings | |
| US20250374299A1 (en) | Energy-based sensing parameters for a sidelink resource pool | |
| WO2025256746A1 (en) | Transmission of reoccuring beacon signals | |
| WO2026016707A1 (en) | Communication method and communication apparatus | |
| GB2640241A (en) | Assisting node-based hybrid ambient internet of things device communication | |
| GB2640240A (en) | Assisting node-based hybrid ambient internet of things device communication | |
| CN121077624A (en) | Communication methods, apparatus, computer-readable storage media and program products | |
| CN120034942A (en) | Signal sending and receiving method, device and system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 17914495 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 17914495 Country of ref document: EP Kind code of ref document: A1 |