WO2019022788A1 - Change mechanism in a neighbor awareness networking many-to-many multicast communication scheme - Google Patents

Change mechanism in a neighbor awareness networking many-to-many multicast communication scheme Download PDF

Info

Publication number
WO2019022788A1
WO2019022788A1 PCT/US2017/068815 US2017068815W WO2019022788A1 WO 2019022788 A1 WO2019022788 A1 WO 2019022788A1 US 2017068815 W US2017068815 W US 2017068815W WO 2019022788 A1 WO2019022788 A1 WO 2019022788A1
Authority
WO
WIPO (PCT)
Prior art keywords
frame
nan device
nan
schedule change
change request
Prior art date
Application number
PCT/US2017/068815
Other languages
French (fr)
Inventor
Dibakar Das
Po-Kai Huang
Emily Hong QI
Original Assignee
Dibakar Das
Huang Po Kai
Qi Emily Hong
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Dibakar Das, Huang Po Kai, Qi Emily Hong filed Critical Dibakar Das
Publication of WO2019022788A1 publication Critical patent/WO2019022788A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/02Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
    • H04W84/10Small scale networks; Flat hierarchical networks
    • H04W84/12WLAN [Wireless Local Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Definitions

  • Embodiments described herein generally relate to communicating in a data link group.
  • communication may be performed to allow many-to-many multicast mode communication, where multiple devices may transmit multicast packets to each other.
  • the M2M mode may be useful when several devices wish to transmit and receive group data simultaneously, such as, for example, in a scenario where a group of friends may be playing an online game at a given location.
  • an originator of a multicast service group including the multiple devices, the originator, serving as a Schedule Owner (SO), having announced a schedule ahead of the M2M transmissions. At times, it may become necessary for another device within the multicast service group to take over the role of SO.
  • SO Schedule Owner
  • this other device may engage in a series of exchanges with devices within the MSG in order to establish its intended schedule, and in doing so, may cause unintended overhead over the air medium before an actual SO can be determined.
  • the above issue with respect to unintended overhead may be exacerbated when this other device may now be out of the range of the current SO.
  • FIG. 1 is an illustration of a Neighbor Awareness Networking (NAN) Multicast Service Group (NMSG) environment;
  • Fig. 2 is a diagram of a NAN Device according to an embodiment;
  • Fig. 3 is a diagram of a NAN Multicast Service Group (NMSG) including some NAN
  • FIG. 4 is a diagram showing a sequence of operations between a plurality of NAN Devices during a NAN SO election process
  • FIG. 5 is a diagram showing a sequence of operations between a plurality of NAN Devices during a NAN SO election process according to some demonstrative embodiments
  • Fig. 6 is an illustrative table for a NAN Reason Code according to an embodiment
  • FIG. 7a is a flow-chart illustration of a method according to some demonstrative embodiments.
  • Fig. 7b is a flow-chart illustration of a method according to some other demonstrative embodiments.
  • FIG. 8 is a schematic illustration of a product in accordance with some demonstrative embodiments.
  • Discussions herein utilizing terms such as, for example, “processing”, “computing”, “calculating”, “determining”, “establishing”, “analyzing”, “checking”, or the like, may refer to operation(s) and/or process(es) of a computer, a computing platform, a computing system, or other electronic computing device, that manipulate and/or transform data represented as physical (e.g., electronic) quantities within the computer's registers and/or memories into other data similarly represented as physical quantities within the computer's registers and/or memories or other information storage medium that may store instructions to perform operations and/or processes.
  • processing may refer to operation(s) and/or process(es) of a computer, a computing platform, a computing system, or other electronic computing device, that manipulate and/or transform data represented as physical (e.g., electronic) quantities within the computer's registers and/or memories into other data similarly represented as physical quantities within the computer's registers and/or memories or other information storage medium that may store instructions to perform operations and/or processes.
  • plural and “a plurality”, as used herein, include, for example, “multiple” or “two or more”.
  • a plurality of items includes two or more items.
  • references to "one embodiment”, “an embodiment”, “demonstrative embodiment”, “various embodiments” etc. indicate that the embodiment(s) so described may include a particular feature, structure, or characteristic, but not every embodiment necessarily includes the particular feature, structure, or characteristic. Further, repeated use of the phrase “in one embodiment” does not necessarily refer to the same embodiment, although it may.
  • Some embodiments may be used in conjunction with devices and/or networks operating in accordance with existing Wireless Fidelity (Wi-Fi) Alliance (WFA) Specifications (including WFA Neighbor Awareness Networking (NAN) Specifications) and/or future versions and/or derivatives thereof, devices and/or networks operating in accordance with existing WFA Peer-to- Peer (P2P) specifications (Wi-Fi P2P technical specification, version 1.2, 2012) and/or future versions and/or derivatives thereof, devices and/or networks operating in accordance with existing Wireless-Gigabit- Alliance (WGA) specifications (Wireless Gigabit Alliance, Inc WiGig MAC and PHY Specification Version 1.1, April 2011, Final specification) and/or future versions and/or derivatives thereof, devices and/or networks operating in accordance with existing IEEE 802.11 standards (IEEE 802.11-2012, IEEE Standard for Information technology— Telecommunications and information exchange between systems Local and metropolitan area networks— Specific requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY)
  • Some embodiments may be used in conjunction with one way and/or two-way radio communication systems, cellular radio-telephone communication systems, a mobile phone, a cellular telephone, a wireless telephone, a Personal Communication Systems (PCS) device, a PDA device which incorporates a wireless communication device, a mobile or portable Global Positioning System (GPS) device, a device which incorporates a GPS receiver or transceiver or chip, a device which incorporates an RFID element or chip, a Multiple Input Multiple Output (MIMO) transceiver or device, a Single Input Multiple Output (SIMO) transceiver or device, a Multiple Input Single Output (MISO) transceiver or device, a device having one or more internal antennas and/or external antennas, Digital Video Broadcast (DVB) devices or systems, multi- standard radio devices or systems, a wired or wireless handheld device, e.g., a Smartphone, a Wireless Application Protocol (WAP) device, or the like.
  • WAP Wireless Application Protocol
  • Some embodiments may be used in conjunction with one or more types of wireless communication signals and/or systems, for example, Radio Frequency (RF), Infra-Red (IR), Frequency-Division Multiplexing (FDM), Orthogonal FDM (OFDM), Orthogonal Frequency- Division Multiple Access (OFDMA), FDM Time-Division Multiplexing (TDM), Time-Division Multiple Access (TDM A), Multi-User MIMO (MU-MIMO), Extended TDMA (E-TDMA), General Packet Radio Service (GPRS), extended GPRS, Code-Division Multiple Access (CDMA), Wideband CDMA (WCDMA), CDMA 2000, single-carrier CDMA, multi-carrier CDMA, Multi-Carrier Modulation (MDM), Discrete Multi-Tone (DMT), Bluetooth®, Global Positioning System (GPS), Wi-Fi, Wi-Max, ZigBeeTM, Ultra- Wideband (UWB), Global System for Mobile communication (GSM), 2G, 2.5
  • wireless communication device includes, for example, a device capable of wireless communication (such as, for example, a baseband processor, a wireless circuit card, a system-on-a-chip (SoC) including a wireless circuit card and a radio front-end module
  • a device capable of wireless communication such as, for example, a baseband processor, a wireless circuit card, a system-on-a-chip (SoC) including a wireless circuit card and a radio front-end module
  • a wireless device may be or may include a peripheral that is integrated with a computer, or a peripheral that is attached to a computer.
  • the term "wireless device” may optionally include a wireless service.
  • the term "communicating" as used herein with respect to a communication signal includes transmitting the communication signal and/or receiving the communication signal.
  • a communication unit which is capable of communicating a communication signal, may include a transmitter to transmit the communication signal to at least one other communication unit, and/or a communication receiver to receive the communication signal from at least one other communication unit.
  • the verb communicating may be used to refer to the action of transmitting or the action of receiving.
  • the phrase "communicating a signal” may refer to the action of transmitting the signal by a first device, and may not necessarily include the action of receiving the signal by a second device.
  • the phrase “communicating a signal” may refer to the action of receiving the signal by a first device, and may not necessarily include the action of transmitting the signal by a second device.
  • Some demonstrative embodiments may be used in conjunction with a WLAN, e.g., a wireless fidelity (Wi-Fi) network.
  • a WLAN e.g., a wireless fidelity (Wi-Fi) network.
  • Other embodiments may be used in conjunction with any other suitable wireless communication network, for example, a wireless area network, a "piconet", a WPAN, a WVAN and the like.
  • antenna may include any suitable configuration, structure and/or arrangement of one or more antenna elements, components, units, assemblies and/or arrays.
  • the antenna may implement transmit and receive functionalities using separate transmit and receive antenna elements.
  • the antenna may implement transmit and receive functionalities using common and/or integrated transmit/receive elements.
  • the antenna may include, for example, a phased array antenna, a single element antenna, a set of switched beam antennas, and/or the like.
  • STA station
  • NAN Device may include any logical entity that is a singly addressable instance of a medium access control (MAC) and a physical layer (PHY) interface to a wireless medium (WM).
  • MAC medium access control
  • PHY physical layer
  • peer to peer (PTP) communication may relate to device-to- device communication over a wireless link ("peer-to-peer link") between devices.
  • the PTP communication may include, for example, a Wi-Fi Direct (WFD) communication, e.g., a WFD Peer to Peer (P2P) communication, wireless communication over a direct link within a QoS basic service set (BSS), a tunneled direct-link setup (TDLS) link, a STA-to-STA communication in an independent basic service set (IBSS), or the like.
  • WFD Wi-Fi Direct
  • BSS QoS basic service set
  • TDLS tunneled direct-link setup
  • IBSS independent basic service set
  • FIG. 1 schematically illustrates a block diagram of a NAN NMSG environment 100 including a wireless network 130 in accordance with some demonstrative embodiments.
  • Environment 100 may include one or more wireless communication devices or NAN Devices 120, e.g., wireless communication devices 122-128.
  • Wireless communication devices 120 may include, for example, a User Equipment (UE), an Mobile Device, a STA, an Access Point, a Personal Computer, a desktop computer, a mobile computer, a laptop computer, an UltrabookTM computer, a notebook computer, a tablet computer, a server computer, a handheld computer, a handheld device, an Internet of Things (IoT) device, a Personal Digital Assistance (PDA) device, a handheld PDA device, an on-board device, an off-board device, a hybrid device (e.g., combining cellular phone functionalities with PDA device functionalities), a consumer device, a vehicular device, a non- vehicular device, a mobile or portable device, a non- mobile or non-portable device, a mobile phone, a cellular telephone, a PCS device, a PDA device which incorporates a wireless communication device, a mobile or portable GPS device, a DVB device, a relatively small computing device, a non-desktop computer, a "Carry Small Live Large"
  • devices 120 may include, for example, processing circuitry, an input unit, an output unit, a memory, and a storage unit.
  • devices 120 may include one or more computer systems similar to that of the functional diagram of Fig. 2 and/or the example machine/system of Fig. 8, which are described in further detail below.
  • devices 120 may be capable of communicating content, data, information and/or signals via a wireless medium (WM).
  • the wireless medium to be used by devices 120 may, for example, include a radio channel, a cellular channel, a Global Navigation Satellite System (GNSS) Channel, an RF channel, a Wireless Fidelity (Wi-Fi) channel, an IR channel, a Bluetooth (BT) channel, and the like.
  • the wireless medium 123 may include a wireless communication channel over a 2.4 Gigahertz (GHz) frequency band, a 5GHz frequency band, a millimeterWave (mmWave) frequency band, e.g., a 60GHz frequency band, a Sub 1 Gigahertz (S1G) band, and/or any other frequency band.
  • GHz 2.4 Gigahertz
  • 5GHz 5GHz
  • mmWave millimeterWave
  • S1G Sub 1 Gigahertz
  • wireless communication devices 120 may form, and/or may communicate as part of, a wireless local area network (WLAN). In some demonstrative embodiments, wireless communication devices 120 may form, and/or may communicate as part of, a Wi-Fi network. In some demonstrative embodiments, wireless communication devices 120 may form, and/or may communicate as part of, a Wi-Fi Direct (WFD) network, e.g., a Wi-Fi direct services (WFDS) network, and/or may perform the functionality of one or more WFD devices. In one example, devices 120 may include, or may perform the functionality of a Wi-Fi Direct device.
  • WFD Wi-Fi Direct
  • WFDS Wi-Fi direct services
  • wireless communication devices 120 may be capable of performing awareness networking communications, for example, according to an awareness protocol, e.g., a NAN protocol, a Wi-Fi Aware protocol or a Social Wi-Fi protocol as administered by the Wi-Fi Alliance, and/or any other protocol, e.g., as described below.
  • wireless communication devices 120 may include an awareness networking device and/or station.
  • wireless communication devices 120 may be capable of forming, and/or communicating as part of, a Neighbor Awareness Networking (NAN) network as administered by the Wi-Fi Alliance, e.g., a Wi-Fi NAN, and/or may perform the functionality of one or more NAN Devices.
  • wireless communication devices 120 may include a NAN Device and/or station.
  • a "NAN Device” as used herein refers to a device that is to be compliant with any of the NAN protocol specifications.
  • the wireless medium may include a direct link, for example, a PTP link, e.g., a Wi-Fi direct P2P link, for example, to enable direct communication between devices 120.
  • a direct link for example, a PTP link, e.g., a Wi-Fi direct P2P link, for example, to enable direct communication between devices 120.
  • wireless communication devices 120 may perform the functionality of WFD P2P devices.
  • devices 120 may be able to perform the functionality of a P2P client device, and/or P2P group Owner (GO) device.
  • P2P group Owner GO
  • wireless communication devices 120 may form, and/or communicate as part of, any other network and/or perform the functionality of any other wireless devices or stations.
  • a device 220 which may represent one of devices 120 of Fig. 1, may include one or more applications 225 and 226 configured to provide, share, and/or to use one or more services, e.g., a social application, a file sharing application, a media application and/or the like, for example, using an awareness network, NAN network, a PTP network, a P2P network, WFD network, or any other network.
  • device 220 may be capable of sharing, showing, sending, transferring, printing, outputting, providing, synchronizing, and/or exchanging content, data, and/or information, e.g., between various applications.
  • device 220 may include, for example, one or more of a processor 291, an input unit 292, an output unit 293, a memory 294, and a storage unit 295.
  • Device 220 may optionally include other suitable hardware components and/or software components.
  • some or all of the components of one or more of device 220 may be enclosed in a common housing or packaging, and may be interconnected or operably associated using one or more wired or wireless links.
  • components of one or more of device 220 may be distributed among multiple or separate devices.
  • Processor 291 includes, for example, a Central Processing Unit (CPU), a Digital Signal Processor (DSP), one or more processor cores, a single-core processor, a dual-core processor, a multiple-core processor, a microprocessor, a host processor, a controller, a plurality of processors or controllers, a chip, a microchip, one or more circuits, circuitry, a logic unit, an Integrated Circuit (IC), an Application-Specific IC (ASIC), or any other suitable multi-purpose or specific processor or controller.
  • Processor 291 is to execute instructions, for example, of an Operating System (OS) of device 220 and/or of one or more suitable applications.
  • OS Operating System
  • a processing circuitry of NAN Device 220 may include one or more of processor 291, message processor 228, or controller 224.
  • the processing circuitry or any part thereof may be implemented in one or more of a baseband processor or an application processor of the NAN Device.
  • Input unit 292 includes, for example, a keyboard, a keypad, a mouse, a touch-screen, a touch-pad, a track-ball, a stylus, a microphone, or other suitable pointing device or input device.
  • Output unit 293 includes, for example, a monitor, a screen, a touch-screen, a flat panel display, a
  • LED Light Emitting Diode
  • LCD Liquid Crystal Display
  • plasma display unit one or more audio speakers or earphones, or other suitable output devices.
  • Memory 294 includes, for example, a Random-Access Memory (RAM), a Read Only Memory (ROM), a Read Only Memory (RAM), a Random-Access Memory (RAM), a Read Only Memory (RAM).
  • RAM Random-Access Memory
  • ROM Read Only Memory
  • Storage unit 295 and/or storage unit 295 includes, for example, a hard disk drive, a floppy disk drive, a Compact Disk (CD) drive, a CD-ROM drive, a DVD drive, or other suitable removable or non-removable storage units.
  • Memory 294 and/or storage unit 295 may store data processed by device 220.
  • wireless communication device 220 may be capable of communicating content, data, information and/or signals via a wireless medium (WM), such as wireless medium 123 of Fig. 1.
  • the wireless medium may include, for example, a radio channel, a cellular channel, a Global Navigation Satellite System (GNSS) Channel, an RF channel, a Wireless Fidelity (Wi-Fi) channel, an IR channel, a Bluetooth (BT) channel, and the like.
  • the wireless medium may include a wireless communication channel over a sub 1 Gigahertz (GHz) (S1G) frequency band.
  • device 220 may be configured to communicate over the S1G band, e.g., as described below.
  • the wireless medium may include a wireless communication channel over a 2.4 GHz frequency band, a 5 GHz frequency band, a millimeterWave (mmWave) frequency band, e.g., a 60 GHz frequency band, and/or any other frequency band.
  • mmWave millimeterWave
  • device 220 may include one or more radios 214 including circuitry and/or logic to perform wireless communication.
  • Radio 214 may include one or more wireless receivers (Rx) including circuitry and/or logic to receive wireless communication signals, RF signals, frames, blocks, transmission streams, packets, messages, data items, and/or data.
  • Rx wireless receivers
  • radio 214 may include a receiver 216.
  • Radio 214 may include one or more wireless transmitters (Tx) including circuitry and/or logic to send wireless communication signals, RF signals, frames, blocks, transmission streams, packets, messages, data items, and/or data.
  • radio 214 may include a transmitter 218.
  • Radio 214 may further include circuitry and/or logic, modulation elements, demodulation elements, amplifiers, analog to digital and digital to analog converters, filters, and/or the like.
  • radio 214 may include or may be implemented as part of a wireless Network Interface Card (NIC), and the like.
  • Radio 214 may further include, or may be associated with, one or more antennas 207.
  • NIC Network Interface Card
  • Antenna 207 may include any type of antenna suitable to transmit and/or receive wireless communication signals, blocks, frames, transmission streams, packets, messages and/or data.
  • Antenna 207 may include any suitable configuration, structure and/or arrangement of one or more antenna elements, components, units, assemblies and/or arrays. Antennas 207 may further include, for example, an antenna suitable for directional communication, e.g., using beamforming techniques, such as a phased array antenna, a multiple element antenna, a set of switched beam antennas, and/or the like. In some embodiments, antenna 207 may implement transmit and receive functionalities using separate transmit and receive antenna elements. In some embodiments, antenna 207 may implement transmit and receive functionalities using common and/or integrated transmit/receive elements.
  • wireless communication device 220 may be part of, or may form, a wireless local area network (WLAN). In some demonstrative embodiments, wireless communication device 220 may be part of, or may form, a Wi-Fi network. In some demonstrative embodiments, wireless communication device 220 may be part of, or may form, a Wi-Fi Direct (WFD) network, e.g., a Wi-Fi direct services (WFDS) network, and/or may perform the functionality of one or more WFD devices. In one example, device 220 may include, or may perform the functionality of a Wi-Fi Direct device.
  • WFD Wi-Fi Direct
  • WFDS Wi-Fi direct services
  • wireless communication device may be capable of performing awareness networking communications, for example, according to an awareness protocol, e.g., a Wi-Fi Aware protocol, A Social Wi-Fi protocol, a Neighbor Awareness Networking (NAN) protocol, and/or any other protocol, e.g., as described below.
  • an awareness protocol e.g., a Wi-Fi Aware protocol, A Social Wi-Fi protocol, a Neighbor Awareness Networking (NAN) protocol, and/or any other protocol, e.g., as described below.
  • the wireless medium may include a direct link, for example, a PTP link, e.g., a Wi-Fi direct P2P link, for example, to enable direct communication between devices.
  • a direct link for example, a PTP link, e.g., a Wi-Fi direct P2P link, for example, to enable direct communication between devices.
  • wireless communication device 220 may perform the functionality of WFD P2P devices.
  • device 220 may be able to perform the functionality of a P2P client device, and/or P2P group Owner (GO) device.
  • P2P group Owner GO
  • wireless communication device 220 may form, and/or communicate as part of, any other network, and/or may perform the functionality of any other wireless devices or stations.
  • device 220 may include one or more applications configured to provide, share, and/or to use one or more services, e.g., a social application, a file sharing application, a media application and/or the like, for example, using a NAN network, a PTP network, a P2P network, WFD network, or any other network.
  • applications configured to provide, share, and/or to use one or more services, e.g., a social application, a file sharing application, a media application and/or the like, for example, using a NAN network, a PTP network, a P2P network, WFD network, or any other network.
  • device 220 may execute an application 225 and/or an application 226, and may be configured to execute these applications.
  • device 220 may be capable of sharing, showing, sending, transferring, printing, outputting, providing, synchronizing, and/or exchanging content, data, and/or information, e.g., between application 225 and applications 226.
  • device 220 may include a controller configured to control one or more functionalities of device 220, for example, one or more functionalities of communication, e.g., communication over the SIG, NAN communication and/or any other communication, between device 220 and/or other devices, and/or any other functionality, e.g., as described below.
  • device 220 may include a controller 224.
  • controller 224 may include circuitry and/or logic, e.g., one or more processors including circuitry and/or logic, memory circuitry and/or logic, Media- Access Control (MAC) circuitry and/or logic, Physical Layer (PHY) circuitry and/or logic, and/or any other circuitry and/or logic, configured to perform the functionality of controller 224. Additionally or alternatively, one or more functionalities of controller 224 may be implemented by logic, which may be executed by a machine and/or one or more processors, e.g., as described below. In one example, controller 224 may include one or more processors having circuitry and/or logic to cause a device or a station, e.g., device 220, to perform one or more functionalities, e.g., as described herein.
  • MAC Media- Access Control
  • PHY Physical Layer
  • controller 224 may include one or more processors including circuitry and/or logic to cause a wireless device, e.g., device 220, and/or a wireless station, e.g., a wireless ST A implemented by device 220, to perform one or more operations, communications and/or functionalities, e.g., as described herein.
  • a wireless device e.g., device 220
  • a wireless station e.g., a wireless ST A implemented by device 220
  • controller 224 may include one or more processors including circuitry and/or logic to cause a wireless device, e.g., device 220, and/or a wireless station, e.g., a wireless ST A implemented by device 220, to perform one or more operations, communications and/or functionalities, e.g., as described herein.
  • device 220 may include a message processor 228 configured to generate, process and/or access one or messages communicated by device 220.
  • message processor 228 may be configured to generate one or more messages to be transmitted by device 220, and/or message processor 228 may be configured to access and/or to process one or more messages received by device 220, e.g., as described below.
  • message processor 228 may include circuitry, e.g., processor circuitry, memory circuitry, Media-Access Control (MAC) circuitry, Physical Layer (PHY) circuitry, and/or any other circuitry, configured to perform the functionality of message processor 228. Additionally or alternatively, one or more functionalities of message processor 228 may be implemented by logic, which may be executed by a machine and/or one or more processors, e.g., as described below. In some demonstrative embodiments, at least part of the functionality of message processor 128 may be implemented as part of radio 214. In some demonstrative embodiments, at least part of the functionality of message processor 228 may be implemented as part of controller 224.
  • circuitry e.g., processor circuitry, memory circuitry, Media-Access Control (MAC) circuitry, Physical Layer (PHY) circuitry, and/or any other circuitry, configured to perform the functionality of message processor 228. Additionally or alternatively, one or more functionalities of message processor 228 may be implemented by logic, which may be executed by a machine and/or one
  • device 220 may perform the functionality of a device or station, for example, a SIG device and/or STA, a NAN Device and/or station, a Wi-Fi device and/or station, a WFD device and/or station, a WLAN device and/or station, and/or any other device and/or station, capable of discovering other devices and/or stations according to a discovery protocol and/or scheme.
  • a device or station for example, a SIG device and/or STA, a NAN Device and/or station, a Wi-Fi device and/or station, a WFD device and/or station, a WLAN device and/or station, and/or any other device and/or station, capable of discovering other devices and/or stations according to a discovery protocol and/or scheme.
  • radio 214 may communicate over the wireless medium according to an awareness networking scheme.
  • the awareness networking scheme may include, for example, a discovery scheme, for example, a NAN discovery scheme, or any other awareness networking and/or discovery scheme, e.g., as described below.
  • device 220 may perform a discovery process according to the discovery scheme using a discovery window (DW), for example, to discover each other, and/or to establish a wireless communication link, e.g., directional and/or high throughput wireless communication link.
  • DW discovery window
  • device 220 may be configured to enable time synchronization between itself and one or more other devices, e.g., performing the functionality of Wi-Fi stations (STAs), for example, such that STAs can discover each other more efficiently and/or quickly.
  • STAs Wi-Fi stations
  • the Wi-Fi Aware NAN 2.0 protocol allows decentralized data communication multiple devices, such as devices 120 of Fig. 1, in a power efficient manner.
  • the protocol allows both multicast and unicast communication.
  • the multicast scheme consists of both many- to-many (i.e. with more than one multicast source or device or a multicast group) and one-to-many (e.g. with just one multicast source per multicast group) mode.
  • Many-to-many communication is useful for scenarios for several devices, such as devices 120 of Fig. 1, want to transmit and receive multicast data at the same time.
  • An example of the above would include friends playing an online game or video chatting with one another at a given location.
  • a NAN Device may implement a multicast scheme which can be summarized as follows.
  • a multicast source or device such as, for example, device 124 of Fig. 1, known as the originator, may start a many-to-many NAN multicast service group (NMSG) with some predetermined schedule.
  • the originator can enroll other devices, such as devices 122 and 126, to join the NMSG.
  • Enrollment of devices by the originator under the NAN protocol can take place either explicitly or implicitly.
  • devices such as devices 120 of Fig. 1
  • the NAN Devices may be multicast sources themselves, and may enroll new devices to the NAN NMSG service. Initially, all NAN Devices share the same NMSG ID (a value that defines the NMSG service).
  • the NMSG ID consists of the originator's local data interface address, a publish ID indicating the instance of the corresponding publish function associated with the NMSG at the originator, and a random number, plus the schedule indicated by the originator. All devices participating in NMSG are expected to transmit the multicast packets for the service in the same schedule.
  • a device within an established NMSG needs to change the schedule, for example if device 126 need to change the predetermined schedule sent to it by originator device 124, the device may request a schedule change in the multicast schedule by transmitting a NAN Action Frame (NAF).
  • a device in the NMSG known as the Schedule Owner (SO), which, before any schedule changes in the NMSG, corresponds to the originator, may either accept or reject this request.
  • SO Schedule Owner
  • a device in the NMSG such as device 126 of Fig. 1
  • the device will try to change the schedule itself by transmitting a broadcast SO update NAF within the NSMG.
  • the broadcast SO update NAF contains information about the time at which the schedule would be changed, as well as a Master Indication Attribute. If device with a higher master rank than the device sending the broadcast SO update NAF receives this NAF, it will try to become the SO by transmitting another schedule update NAF containing his rank. Master ranks within an NMSG would be a random number selected by each device. For example, if device 128 receives the broadcast schedule update NAF from device 126, and if the master rank of device 128 is higher than the master rank of device 126, device 128 will try to become the SO by transmitting its own schedule update NAF containing his rank in the same manner as described with respect to device 126 above. According to the above described scheme, eventually, the device with the highest master rank within the NMSG will become the SO.
  • both unicast and groupcast schedule change requests may be implemented. This scheme may cause necessary multiple successive SO election events that may lead to congestion in the network if a device requesting schedule change it out of range of the SO or is the device with the highest rank in the NMSG.
  • FIG. 3 shows an NMSG environment 300 similar to that shown in Fig. 1, including devices A, B, C, D, E, and F.
  • A is the
  • NMSG originator/SO with the NMSG including all of the shown devices.
  • A could correspond to device 124 in Fig. 1
  • B could correspond to device 128, and C could correspond to device 126.
  • C could correspond to device 126.
  • A is shown as having moved out of the transmission range of devices C and F. the transmission range of A is shown by broken lines at
  • a schedule change request frame includes a NAN Action Frame (NAF) with a NMSG schedule update attribute, with a schedule change flag set to one (1) and indicating the updated schedule proposed by the NAN device C.
  • NAF NAN Action Frame
  • a situation such as the one in Fig. 3 could disadvantageously lead to unwanted transmissions within the NMSG and unnecessary network congestion.
  • the current NAN scheme for effecting schedule changes assumes that all devices or within range of each other. In practice, however, some devices may be out of range of other devices in the same NMSG. The current NAN scheme does not include any solution to address issues that arise in such scenarios.
  • Fig. 4 shows a sequence of schedule transmissions as a function of time for respective ones of devices A, B, C (or DevA, DevB, DevC).
  • device C the schedule change request device
  • the change requests at 402 may, as previously noted, be in the form of a NAF containing a schedule change attribute. After seven such attempts on the part of C, and to the extent that C is outside the range of SO A, C would, at 404, transmit a SO update frame.
  • the SO update frame would be a broadcast schedule update NAF.
  • the SO update a SO update attribute carrying its own NAN Management Interface (NMI) address, the NMSG ID and a SO transition Time Synchronization Function (TSF) value (Ttrans( DevC) ).
  • Device C may adopt the SO role at the SO transition time if no other higher master rank devices transmit a SO update frame (i.e. SO update message) before the SO transition time listed in its message.
  • the transition time may be indicated in an 8 octet "transition time" field of a Multicast SO Change Attribute to indicate a TSF of a SO transition time.
  • the NAF may also include a Master Indication Attribute.
  • SO update NAF at 406 that contains its own master rank.
  • a and B are within range of one another, A would receive the SO update NAF sent by B at 406, and, as a result, would broadcast is SO update NAF at 408.
  • the SO update NAF sent by A at 408 would be heard by devices B, D, and E, which are within transmission range 302 of A, but not by devices C and F within transmission range 304 of device B. A would, in this way, be reaffirming its role as the
  • One approach that may address some of the above issues may involve providing non-SO devices that would provide assistance to a device, such as to device C in Fig. 3, by replying to it schedule change request, such as C's request at 402 in Fig. 4.
  • device B could transmit a schedule change response to device C so that device C can be aware that it is out of range of an SO, such as out of range of SO A, and can thereby refrain from transmitting or disable transmission of more schedule change requests.
  • B is the assisting device, it could for example reject the schedule change request by device C by transmitting and NAF or another frame including its master rank and its priority within the NMSG in that rejection message.
  • the reason for the rejection could be either an impermissible schedule by C, or device C being out of range of the SO A, or some other reason.
  • C could either refrain from transmitting a schedule change request or from triggering another SO election process, or ignore the rejection message if it already received another response from another device with a higher rank. If the schedule requested by device C works for device B, device B may transmit a NAF to device C asking device C to postpone transmitting new schedule change requests or schedule update frames until a certain time duration has elapsed, or until device C hears back from device B.
  • device B may itself request a schedule change by transmitting a NAF, the requested schedule within this NAF being the schedule obtained from device C. If the SO A accepts the schedule change request from device B, device B may send a corresponding schedule change response to device C, and transmit the new schedule and a schedule update NAF. However, if the SO rejects the schedule request from B, then B may either send a rejection message to C, or not transmit any reply to C.
  • the above approach may disadvantageously lead to more transmissions if the network schedule change request from device C is multicast or broadcast, in which case several non-SO devices may simultaneously respond to this request (where the request fits the criteria for a reply).
  • some demonstrative embodiments in order to circumvent the above issue, provide that, when a first NAN Device wishes to change the schedule within its NMSG, it would, after identifying a triggering frame, set a timer to run for a predetermined time period before making a decision regarding an identity of the NMSG SO.
  • the predetermined time period would allow the first NAN Device to determine, based on information sent to it by a second NAN Device, whether there is potentially a third NAN Device in the NMSG that is out of range with respect to it, and that further has a highest rank in the NMSG that would justify the third NAN Device being the actual SO.
  • the first NAN Device could make a determination as to whether a higher ranked third NAN Device should be the SO by receiving and processing a schedule change response frame sent to it by the second NAN Device.
  • This second NAN Device would be within range of the first NAN Device and the third NAN Device.
  • the second NAN Device may also be a highest ranked NAN Device in the NMSG within range of the first NAN Device. In this way, the second NAN Device may inform the first NAN Device of the presence and rank of the third NAN Device, and send either an acceptance or a rejection with respect to the first NAN Device becoming the new SO in its schedule change response frame.
  • Some embodiments further provide an option to disable schedule change requests and the SO election process in the NMSG by a NAN Device, such as the first NAN Device described here, for example when the first NAN Device receives a schedule change response that is a rejection from the second NAN Device.
  • the first NAN Device may refrain from sending any broadcast or multicast schedule change requests. In this way, it may prevent multiple NAN Devices in the NMSG from sending it responses regarding other NAN Devices and their respective ranks within their range.
  • the first NAN Device may send a unicast schedule change request frame to the second NAN Device in order to solicit from it the schedule change response frame. Based on the schedule change response frame, the first NAN Device may then determine whether to send a SO update frame.
  • the predetermined time period may have a fixed value for each device, may have a fixed value overall for all NAN Devices, or may be communicated to the first NAN Device by the second NAN Device, for example the schedule change response frame.
  • the triggering frame may include a SO update frame transmitted by the first NAN Device; or a SO update frame transmitted by the second NAN Device, the second NAN Device having at least one of a higher rank than a rank of the first NAN Device and a higher rank than any rank observed by the first NAN Device.
  • Fig. 5 represents a sequence 500 of transmissions from a NMSG environment such as the one shown in Fig. 3.
  • device C is shown as transmitting seven schedule change request frames in succession according to the NAN protocol.
  • Embodiments are not limited to seven such schedule change request frames however, and may include any number of schedule change requests frames according to application needs. This number may, for example, be seven or more.
  • C is shown at 504 as sending a SO update frame to NAN Devices within range of it in the NMSG.
  • B Thereafter, having received C's SO update frame, B would, at 506, recognizing that it has a higher rank than C, send its own SO update frame.
  • C may, at time 506, set its timer for a predetermined time period.
  • This timer may, according to some embodiments, start from a time corresponding to event time 506, a sending of a SO update by B, which would, according to this shown embodiment, correspond to a triggering frame that would trigger a setting of the timer by C.
  • the timer may further end at a time that may correspond, as shown in Fig.
  • each device A, B and C is shown as having a transition time to become SO, as shown by 516, 514 and 512, respectively in Fig. 5.
  • the estimated time corresponds to the time duration between event 514 and point 510, at which time the timer may stop running.
  • the transition time may be communicated by B to C in B's SO update frame at 506, as explained in further detail above in relation to Fig. 4.
  • the estimated time may further be communicated in the SO update frame at 506, or it may be estimated at C, or it may be a fixed or otherwise preset estimated time period within the NAN protocol.
  • the estimated time may correspond to an estimated time to both contend for and transmit a non-negative integer number of frames, such as NAN frames, or a given size at a given fixed MCS.
  • A is shown as transmitting is own SO update frame at 508.
  • B since, in the shown example, A has a higher rank than any other NAN Device observed by B in the NMSG, B would cancel its attempt to become SO.
  • C refrains from sending any broadcast or unicast schedule change requests.
  • A may determine that it may transition to a SO role by virtue of its highest rank in the NMSG, and may at 518, transmit a new schedule to the NMSG NAN Devices within range.
  • B may, being within range of A, receive A's new schedule, in this way A confirming itself as the SO.
  • C may send at 520 a unicast schedule change request to B.
  • the unicast schedule change request to B may be to solicit a response from B regarding whether C may become a SO.
  • B may then, in response, send a schedule change response frame to C at 522, in this response frame rejecting C's attempt to become SO, and this by virtue of having received A's new schedule at 518.
  • A may determine it is not the highest ranked NAN Device in the NMSG and cannot become SO, for example by virtue of having received a SO from another, fourth NAN Device, such as device E, that is not in the range of B in the NMSG, and that has a higher rank than any rank recorded by device A.
  • A would have received a SO update from the fourth NAN Device E during the transition time from 508 to 516, and would cancel its attempt to become SO.
  • device B may have set its own timer after having received the SO update from A at 508 (similar to the manner in which C has been described above as setting its timer), for a predetermined time duration to allow A to respond to B with a schedule response frame similar to schedule response frame at 522 from B to C.
  • the new schedule frame at 518 in Fig. 5 may correspond to A's schedule response frame, which is received by B.
  • B may then send a schedule change response frame at 522 to C, the schedule change response frame indicating to C that C's request to become the SO has been rejected.
  • Such a schedule change response frame from B to C at 522 may come in response to a unicast schedule change request frame 520 from C to B during the predetermined time period between 506 and 510 in the manner explained with respect to the scenario of Fig. 5.
  • C may refrain from becoming a SO in relation to its having sent the schedule change requests at 502, and as a result of having received the schedule response frame including a rejection from B at 522. According to one embodiment, C may then start a SO update process by sending another set of schedule change request frames within the NMSG. According to another embodiment, C may disable any further/new schedule change request frames and SO elections in the NMSG for a predetermined duration, which duration may equal infinity or another predetermined duration.
  • the device C may refrain from transmitting new schedule change requests for a predetermined duration (not shown).
  • This duration may be fixed or variable, and may change from NAN Device to NAN Device.
  • This duration may further be calculated by a NAN Device based on its own requirements, including its own constraints and network state. For example, constraints may be based on the priority of buffered data at C.
  • a NAN Device may disable a schedule change request and SO election in the NMSG by announcing the same by way of an announcement frame including indication in a Publish Message or other NAN frames during Data Path Setup according to the NAN protocol. To accomplish the latter, a NAN Device may use existing fields or new fields and/or attributes.
  • the indication of a disablement of schedule change requests and SO election by a NAN Device may be indicated using one or more of the reserved bits in the Service Descriptor Extension Attribute (SDEA) control field in a Publish Message or Publish Frame.
  • the indication may be provided using one or more reserved bits in a control field of the NMSG attribute.
  • SDEA Service Descriptor Extension Attribute
  • a portion of a Reason Code Field table 600 is shown pertaining to a schedule change response according to one embodiment for inclusion into the NAN protocol.
  • device B may indicate a reason for rejection, for example in a NAN Data Path Attribute (NDP Attribute), for example in a one octet Reason Code field of the NDP attribute.
  • NDP Attribute NAN Data Path Attribute
  • the name of the field may be "NOT_SCHEDULE_OWNER" corresponding to an indication that a NAN Device's schedule change request is rejected as the device sending the attribute, such as device B in Fig. 5, is not a SO.
  • the Reason Code may indicate a reason for rejection when a Status subfield at bits 4 to 7 of the NDP Attribute is set to a value of 2 to indicate a rejection.
  • the Reason Code value may for example be set at the currently reserved value of 13 to provide the latter indication of the reason for rejection.
  • the triggering frame may include a SO update frame transmitted by the first NAN Device, that is, in the example of Fig. 5, a SO update frame by device C.
  • C would set its timer to start at time 504 instead of at time 506, by way of example.
  • the triggering frame may include a SO update frame to C from B where B is either of a higher rank than C, or with a higher rank than any NAN device of the NMSG observed by C.
  • the triggering frame may be based on reception of a NAN frame by device B.
  • the triggering frame may include a NAN multicast schedule frame that is received by C, or another frame transmitted or received by C, such as another NAN frame transmitted or received by C, that triggers the setting of the timer by C.
  • the duration may be infinite, meaning that, in the example of Fig. 5, device C would, after a start of the timer, transmit only unicast schedule change requests.
  • the latter special case where a NAN Device may transmit only unicast schedule change requests after a triggering frame may be indicated by the NAN
  • the predetermined time duration may be announced from the upper layers to the MAC layer as a new or within existing parameters, such as, for example, by way of a service_specific_info corresponding to a sequence of values that may be conveyed in a Publish Message by the NAN Device.
  • a schedule change request device may cancel its running timer in response to receiving a SO update frame from another NAN Device with a higher master rank than currently observed by the schedule change request device.
  • the schedule change request device may restart the timer after learning the transition time information from the SO update frame from the other NAN Device, in this way giving itself another opportunity to become SO.
  • the schedule change request device may freeze its timer when it is outside of the Common Resource Block (CRB) used in the NMSG, and/or when the wireless medium is busy.
  • CRB Common Resource Block
  • Some demonstrative embodiments include an apparatus comprising a memory (such as memory 294 of Fig. 2), and processing circuitry coupled to the memory (such as processor 291 of Fig. 2), the circuitry configured to execute logic stored in the memory to cause a first Neighbor Awareness Networking (NAN) Device (such as AN device 220 of Fig. 2) to transmit on a wireless medium one or more schedule change request frames to other NAN Devices within a NAN multicast service group (NMSG) to include the first NAN Device, and, after the one or more schedule change request frames, identify a triggering frame.
  • NAN Neighbor Awareness Networking
  • the circuitry is to execute the logic to cause the NAN Device to start a timer to run for a predetermined time period during which the NAN Device is to disable transmission of any multicast schedule change request and of any broadcast schedule change request, and during which the NAN Device is to further cause transmission by the first NAN Device of a unicast schedule change request frame to a second NAN Device of the NMSG.
  • the circuitry is to execute the logic to cause the NAN Device to process a schedule change response frame from the second NAN Device, and to determine whether to send a SO update frame based on the schedule change response frame from the second NAN Device.
  • a flow chart is depicted showing a method 700a according to an embodiment.
  • the method includes identifying a triggering frame.
  • the method includes, based on an identification of the triggering frame, starting a timer to run for a predetermined time period.
  • the method includes, during the predetermined time period: disabling transmission of any multicast schedule change request and of any broadcast schedule change request to other NAN Devices within a NAN multicast service group (NMSG) including the first NAN Device; causing transmission by the first NAN Device of a unicast schedule change request frame to a second NAN Device of the NMSG; and processing a schedule change response frame from the second NAN Device.
  • the method includes determining whether to send a SO update frame based on the schedule change response frame from the second NAN Device.
  • the method includes receiving on a wireless medium one or more schedule change request frames from a second NAN Device within a NAN multicast service group (NMSG) including the first NAN Device.
  • the method includes, after reception of the one or more schedule change request frames, transmitting a triggering frame, the triggering frame including a SO update frame including an indication of a predetermined time period for the second NAN Device to disable any unicast or broadcast frames within the NMSG.
  • the method includes receiving a unicast schedule change request frame from the second NAN Device during the predetermined time period.
  • the method includes transmitting a schedule change response frame to the second NAN Device in response to the unicast schedule change request to allow the second NAN Device to determine whether to send a SO update frame.
  • Embodiments advantageously allows a NAN Device which wishes to become a SO to learn of the existence of another SO outside of its range, and in this way reduces the number of unnecessary transmissions over the air medium that relate to a SO election process for the NAN Device. In this way, the NAN network becomes faster/more efficient.
  • Fig. 8 illustrates a block diagram of an example of a machine 800 or system upon which any one or more of the techniques (e.g., methodologies) discussed herein may be performed.
  • the machine 800 may operate as a standalone device, such as a standalone NAN Device, or may be connected (e.g., networked) to other machines.
  • the machine 800 may operate in the capacity of a server machine, a client machine, or both in server-client network environments.
  • the machine 800 may act as a peer machine in peer-to-peer (P2P) (or other distributed) network environments.
  • P2P peer-to-peer
  • the machine 800 may be a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile telephone, a wearable computer device, a web appliance, a network router, a switch or a bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine, such as a base station.
  • PC personal computer
  • PDA personal digital assistant
  • Examples, as described herein, may include one or more tangible computer-readable non- transitory storage media or modules including computer-executable instructions.
  • the instructions may operate a number of components or mechanisms.
  • Modules are tangible entities (e.g., hardware) capable of performing specified operations when operating.
  • a module may include hardware.
  • the hardware may be specifically configured to carry out a specific operation (e.g., hardwired).
  • the hardware may include configurable execution units (e.g., transistors, circuits, etc.) and a computer-readable medium containing instructions where the instructions configure the execution units to carry out a specific operation when in operation. The configuring may occur under the direction of the execution units or a loading mechanism.
  • the execution units are communicatively coupled to the computer- readable medium when the device is operating.
  • the execution units may be a member of more than one module.
  • the execution units may be configured by a first set of instructions to implement a first module at one point in time and reconfigured by a second set of instructions to implement a second module at a second point in time.
  • the machine 800 may include a hardware processor 802 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory 804 and a static memory 806, some or all of which may communicate with each other via an interlink (e.g., bus) 808.
  • the machine 800 may further include a power management device 832, a graphics display device 810, an alphanumeric input device 812 (e.g., a keyboard), and a user interface (UI) navigation device 814 (e.g., a mouse).
  • the graphics display device 810, the alphanumeric input device 812, and the UI navigation device 814 may be a touch screen display.
  • the machine 800 may additionally include a storage device 816 (i.e., a drive unit), a signal generation device 818 (e.g., a speaker), a NAN Device 819, a network interface device/transceiver 820 coupled to antenna(s) 830, and one or more sensors 828, such as a global positioning system (GPS) sensor, a compass, an accelerometer, or other sensor.
  • GPS global positioning system
  • the machine 800 may include an output controller 834, such as a serial (e.g., universal serial bus (USB), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate with or control one or more peripheral devices (e.g., a printer, a card reader, etc.)).
  • a serial e.g., universal serial bus (USB), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate with or control one or more peripheral devices (e.g., a printer, a card reader, etc.)).
  • USB universal serial bus
  • IR infrared
  • NFC near field communication
  • the storage device 816 may include a machine -readable medium 822 on which is stored one or more sets of data structures or instructions 824 (e.g., software) embodying or being utilized by any one or more of the techniques or functions described herein.
  • the instructions 824 may also reside, completely or at least partially, within the main memory 804, within the static memory 806, or within the hardware processor 802 during execution thereof by the machine 800.
  • one or any combination of the hardware processor 802, the main memory 804, the static memory 806, or the storage device 816 may constitute machine-readable media.
  • the NAN Device 819 may carry out or perform any of the operations and processes (e.g., process 700a of Fig. 7a or process 700b of Fig. 7b) described and shown above.
  • machine-readable medium 822 is illustrated as a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) configured to store the one or more instructions 824.
  • machine-readable medium may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) configured to store the one or more instructions 824.
  • machine-readable medium may include any medium that is capable of storing, encoding, or carrying instructions for execution by the machine 800 and that cause the machine 800 to perform any one or more of the techniques of the present disclosure, or that is capable of storing, encoding, or carrying data structures used by or associated with such instructions.
  • Non- limiting machine-readable medium examples may include solid-state memories and optical and magnetic media.
  • a massed machine-readable medium includes a machine-readable medium with a plurality of particles having resting mass.
  • massed machine-readable media may include non-volatile memory, such as semiconductor memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), or Electrically Erasable Programmable Read-Only Memory (EEPROM)) and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
  • semiconductor memory devices e.g., Electrically Programmable Read-Only Memory (EPROM), or Electrically Erasable Programmable Read-Only Memory (EEPROM)
  • EPROM Electrically Programmable Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • flash memory devices e.g., electrically Erasable Programmable Read-Only Memory (EEPROM)
  • EPROM Electrically Programmable Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • flash memory devices e.g., electrically Erasable Programmable Read-Only Memory
  • the instructions 824 may further be transmitted or received over a communications network 826 using a transmission medium via the network interface device/transceiver 820 utilizing any one of a number of transfer protocols (e.g., frame relay, internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol
  • transfer protocols e.g., frame relay, internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol
  • Example communications networks may include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks
  • LAN local area network
  • WAN wide area network
  • packet data network e.g., the Internet
  • POTS Plain Old Telephone Service
  • the network interface device/transceiver 820 may include one or more physical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or more antennas to connect to the communications network 826.
  • the network interface device/transceiver 820 may include a plurality of antennas to wirelessly communicate using at least one of single-input multiple-output (SIMO), multiple-input multiple- output (MIMO), or multiple-input single-output (MISO) techniques.
  • SIMO single-input multiple-output
  • MIMO multiple-input multiple- output
  • MISO multiple-input single-output
  • transmission medium shall be taken to include any intangible medium that is capable of storing, encoding, or carrying instructions for execution by the machine 800 and includes digital or analog communications signals or other intangible media to facilitate communication of such software.
  • These computer-executable program instructions may be loaded onto a special-purpose computer or other particular machine, a processor, or other programmable data processing apparatus to produce a particular machine, such that the instructions that execute on the computer, processor, or other programmable data processing apparatus create means for implementing one or more functions specified in the flow diagram block or blocks.
  • These computer program instructions may also be stored in a computer-readable storage media or memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage media produce an article of manufacture including instruction means that implement one or more functions specified in the flow diagram block or blocks.
  • certain implementations may provide for a computer program product comprising a computer-readable storage medium, having a computer- readable program code or program instructions implemented therein, said computer-readable program code adapted to be executed to implement one or more functions specified in the flow diagram block or blocks.
  • the computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational elements or steps to be performed on the computer or other programmable apparatus to produce a computer- implemented process such that the instructions that execute on the computer or other programmable apparatus provide elements or steps for implementing the functions specified in the flow diagram block or blocks.
  • blocks of the block diagrams and flow diagrams support combinations of means for performing the specified functions, combinations of elements or steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flow diagrams and combinations of blocks in the block diagrams and flow diagrams can be implemented by special-purpose, hardware-based computer systems that perform the specified functions, elements, steps, or combinations of special-purpose hardware and computer instructions.
  • Conditional language such as, among others, “can,” “could,” “might,” or “may,” unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain implementations could include, while other implementations do not include, certain features, elements, and/or operations. Thus, such conditional language is not generally intended to imply that features, elements, and/or operations are in any way required for one or more implementations or that one or more implementations necessarily include logic for deciding, with or without user input or prompting, whether these features, elements, and/or operations are included or are to be performed in any particular implementation.
  • logic 404 may include, or may be implemented as, software, a software module, an application, a program, a subroutine, instructions, an instruction set, computing code, words, values, symbols, and 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, and the like.
  • the instructions may be implemented according to a predefined computer language, manner or syntax, for instructing a processor to perform a certain function.
  • the instructions may be implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language, such as C, C++, Java, BASIC, Matlab, Pascal, Visual BASIC, assembly language, machine code, and the like.
  • Example 1 includes an device comprising a memory, and processing circuitry coupled to the memory, the circuitry configured to execute logic stored in the memory to cause a first
  • Neighbor Awareness Networking (NAN) Device to: identify a triggering frame; based on an identification of the triggering frame, start a timer to run for a predetermined time period; during the predetermined time period: disable transmission of any multicast schedule change request and of any broadcast schedule change request to other NAN Devices within a NAN multicast service group (NMSG) to include the first NAN Device; cause transmission by the first NAN Device of a unicast schedule change request frame to a second NAN Device of the NMSG; and process a schedule change response frame from the second NAN Device; and determine whether to send a SO update frame based on the schedule change response frame from the second NAN Device.
  • NAN Neighbor Awareness Networking
  • Example 2 includes the subject matter of Example 1, and optionally, wherein the processing circuitry is configured to execute the logic to cause the first NAN Device to: transmit one or more schedule change request frames; and identify the triggering frame after transmission of the one or more schedule change request frames.
  • Example 3 includes the subject matter of Example 1, and optionally, wherein the triggering frame includes one of: a SO update frame transmitted by the first NAN Device; or a SO update frame transmitted by the second NAN Device, the second NAN Device having at least one of a higher rank than a rank of the first NAN Device and a higher rank than any rank observed by the first NAN Device.
  • the triggering frame includes one of: a SO update frame transmitted by the first NAN Device; or a SO update frame transmitted by the second NAN Device, the second NAN Device having at least one of a higher rank than a rank of the first NAN Device and a higher rank than any rank observed by the first NAN Device.
  • Example 4 includes the subject matter of Example 1, and optionally, wherein the triggering frame is to be transmitted by the second NAN Device, and is based on reception of a NAN frame by the second NAN Device from one of the other NAN Devices.
  • Example 5 includes the subject matter of Example 4, and optionally, wherein the NAN frame includes a NAN multicast schedule frame.
  • Example 6 includes the subject matter of Example 1, and optionally, wherein the triggering frame includes a SO update frame transmitted by the second NAN Device, and wherein the predetermined time period is based on: a transition time recorded in the SO update frame between a transmission time of the SO update frame and a time at which the second NAN Device can become a SO; and a contention and transmission time for the second NAN Device to contend for a wireless medium and to transmit a predetermined number of NAN frames on the wireless medium.
  • Example 7 includes the subject matter of Example 1, and optionally, wherein the predetermined time period has a fixed value.
  • Example 8 includes the subject matter of Example 1, and optionally, wherein the triggering frame includes information on the predetermined time period.
  • Example 9 includes the subject matter of Example 1, and optionally, wherein the timer is a first timer and the predetermined time period is a first predetermined time period, and wherein the circuitry is further configured to execute the logic to cause the first NAN Device to: process a SO update frame from a third NAN Device of the NMSG; upon a processing of the SO update frame from the third NAN Device of the NMSG, the third NAN Device having a higher rank than any rank observed by the first NAN Device: cancel a running of the first timer; start a second timer to run for a second predetermined time period during which the NAN Device is to: disable transmission of any multicast schedule change request and of any broadcast schedule change request; cause transmission by the first NAN Device of a unicast schedule change request to the third NAN Device; and process a schedule change response frame from the third NAN Device; and determine whether to send a SO update frame based on the schedule change response from the third NAN Device.
  • Example 10 includes the subject matter of Example 1, and optionally, wherein the circuitry is further configured to execute the logic to cause the first NAN Device to freeze the timer when it is outside a Common Resource Block of the NMSG, or when the wireless medium is busy.
  • Example 11 includes the subject matter of Example 1, and optionally, wherein the schedule change response frame includes an indication of a rejection of the schedule change request frame.
  • Example 12 includes the subject matter of Example 11, and optionally, wherein the indication includes a Reason Code, the Reason Code indicating that the second NAN Device is not a SO.
  • Example 13 includes the subject matter of Example 11, and optionally, wherein the circuitry is further configured to execute the logic, based on receiving the schedule change response frame including the indication of the rejection of the schedule, to cause the first NAN Device to disable transmission of a new schedule change request frame for a predetermined time duration, the predetermined time duration being one of fixed or variable.
  • Example 14 includes the subject matter of Example 11, and optionally, wherein the circuitry is further configured to execute the logic, based on receiving the schedule change response frame including the indication of the rejection of the schedule, to: disable transmission of further schedule change request frames; and cause transmission of an announcement frame to announce a disablement of transmissions of further schedule change request frames.
  • Example 15 includes the subject matter of Example 14, and optionally, wherein the announcement frame is to be transmitted during data path setup using either: one or more reserved bits in a Service Descriptor Extension Attribute (SDEA) control field in a Publish Message; or using one or more reserved bits in a control field of a NMSG attribute.
  • SDEA Service Descriptor Extension Attribute
  • Example 16 includes the subject matter of Example 1, and optionally, further including a radio and one or more antennas.
  • Example 17 includes a method to be performed at a first Neighbor Awareness Networking (NAN) Device, the method comprising: identifying a triggering frame; based on an identification of the triggering frame, starting a timer to run for a predetermined time period; during the predetermined time period: disabling transmission of any multicast schedule change request and of any broadcast schedule change request to other NAN Devices within a NAN multicast service group (NMSG) including the first NAN Device; causing transmission by the first NAN Device of a unicast schedule change request frame to a second NAN Device of the NMSG; and processing a schedule change response frame from the second NAN Device; and determining whether to send a SO update frame based on the schedule change response frame from the second NAN Device.
  • NAN Neighbor Awareness Networking
  • Example 18 includes the subject matter of Example 17, and optionally, further including: transmitting one or more schedule change request frames; and identifying the triggering frame after transmission of the one or more schedule change request frames.
  • Example 19 includes the subject matter of Example 17, and optionally, wherein the triggering frame includes one of: a SO update frame transmitted by the first NAN Device; or a SO update frame transmitted by the second NAN Device, the second NAN Device having at least one of a higher rank than a rank of the first NAN Device and a higher rank than any rank observed by the first NAN Device.
  • the triggering frame includes one of: a SO update frame transmitted by the first NAN Device; or a SO update frame transmitted by the second NAN Device, the second NAN Device having at least one of a higher rank than a rank of the first NAN Device and a higher rank than any rank observed by the first NAN Device.
  • Example 20 includes the subject matter of Example 17, and optionally, wherein the triggering frame is to be transmitted by the second NAN Device, and is based on reception of a NAN frame by the second NAN Device from one of the other NAN Devices.
  • Example 21 includes the subject matter of Example 20, and optionally, wherein the NAN frame includes a NAN multicast schedule frame.
  • Example 22 includes the subject matter of Example 17, and optionally, wherein the triggering frame includes a SO update frame transmitted by the second NAN Device, and wherein the predetermined time period is based on: a transition time recorded in the SO update frame between a transmission time of the SO update frame and a time at which the second NAN Device can become a SO; and a contention and transmission time for the second NAN Device to contend for a wireless medium and to transmit a predetermined number of NAN frames on the wireless medium.
  • Example 23 includes the subject matter of Example 17, and optionally, wherein the predetermined time period has a fixed value.
  • Example 24 includes the subject matter of Example 17, and optionally, wherein the triggering frame includes information on the predetermined time period.
  • Example 25 includes the subject matter of Example 17, and optionally, wherein the timer is a first timer and the predetermined time period is a first predetermined time period, the method further including: processing a SO update frame from a third NAN Device of the NMSG; upon a processing of the SO update frame from the third NAN Device of the NMSG, the third NAN Device having a higher rank than any rank observed by the first NAN Device: cancelling a running of the first timer; starting a second timer to run for a second predetermined time period; during the second predetermine time period: disabling transmission of any multicast schedule change request and of any broadcast schedule change request; causing transmission by the first NAN Device of a unicast schedule change request to the third NAN Device; and processing a schedule change response frame from the third NAN Device; and determining whether to send a SO update frame based on the schedule change response from the third NAN Device.
  • Example 26 includes the subject matter of Example 17, and optionally, further including freezing the timer when it is outside a Common Resource Block of the NMSG, or when a wireless medium is busy.
  • Example 27 includes the subject matter of Example 17, and optionally, wherein the schedule change response frame includes an indication of a rejection of the schedule change request frame.
  • Example 28 includes the subject matter of Example 27, and optionally, wherein the indication includes a Reason Code, the Reason Code indicating that the second NAN Device is not a SO.
  • Example 29 includes the subject matter of Example 27, and optionally, further including, based on receiving the schedule change response frame including the indication of the rejection of the schedule, causing the first NAN Device to disable transmission of a new schedule change request frame for a predetermined time duration, the predetermined time duration being one of fixed or variable.
  • Example 30 includes the subject matter of Example 27, and optionally, further including, based on receiving the schedule change response frame including the indication of the rejection of the schedule: disabling transmission of further schedule change request frames; and causing transmission of an announcement frame to announce a disablement of transmissions of further schedule change request frames.
  • Example 31 includes the subject matter of Example 30, and optionally, wherein the announcement frame is to be transmitted during data path setup using either: one or more reserved bits in a Service Descriptor Extension Attribute (SDEA) control field in a Publish Message; or using one or more reserved bits in a control field of a NMSG attribute.
  • SDEA Service Descriptor Extension Attribute
  • Example 32 includes a product including one or more tangible computer-readable non- transitory storage media comprising computer-executable instructions operable to, when executed by at least one computer processor, enable the at least one computer processor to implement operations at first a Neighbor Awareness Networking (NAN) device, the operations comprising: identifying a triggering frame; based on an identification of the triggering frame, starting a timer to run for a predetermined time period; during the predetermined time period: disabling transmission of any multicast schedule change request and of any broadcast schedule change request to other NAN Devices within a NAN multicast service group (NMSG) to include the first NAN Device; causing transmission by the first NAN Device of a unicast schedule change request frame to a second NAN Device of the NMSG; and processing a schedule change response frame from the second NAN Device; and determining whether to send a SO update frame based on the schedule change response frame from the second NAN Device.
  • NAN Neighbor Awareness Networking
  • Example 33 includes the subject matter of Example 32, and optionally, wherein the operations further include: transmitting one or more schedule change request frames; and identifying the triggering frame after transmission of the one or more schedule change request frames.
  • Example 34 includes the subject matter of Example 32, and optionally, wherein the triggering frame includes one of: a SO update frame transmitted by the first NAN Device; or a SO update frame transmitted by the second NAN Device, the second NAN Device having at least one of a higher rank than a rank of the first NAN Device and a higher rank than any rank observed by the first NAN Device.
  • the triggering frame includes one of: a SO update frame transmitted by the first NAN Device; or a SO update frame transmitted by the second NAN Device, the second NAN Device having at least one of a higher rank than a rank of the first NAN Device and a higher rank than any rank observed by the first NAN Device.
  • Example 35 includes the subject matter of Example 32, and optionally, wherein the triggering frame is to be transmitted by the second NAN Device, and is based on reception of a NAN frame by the second NAN Device from one of the other NAN Devices.
  • Example 36 includes the subject matter of Example 35, and optionally, wherein the NAN frame includes a NAN multicast schedule frame.
  • Example 37 includes the subject matter of Example 32, and optionally, wherein the triggering frame includes a SO update frame transmitted by the second NAN Device, and wherein the predetermined time period is based on: a transition time recorded in the SO update frame between a transmission time of the SO update frame and a time at which the second NAN Device can become a SO; and a contention and transmission time for the second NAN Device to contend for a wireless medium and to transmit a predetermined number of NAN frames on the wireless medium.
  • Example 38 includes the subject matter of Example 32, and optionally, wherein the predetermined time period has a fixed value.
  • Example 39 includes the subject matter of Example 32, and optionally, wherein the triggering frame includes information on the predetermined time period.
  • Example 40 includes the subject matter of Example 32, and optionally, wherein the timer is a first timer and the predetermined time period is a first predetermined time period, the operations further including: processing a SO update frame from a third NAN Device of the NMSG; upon a processing of the SO update frame from the third NAN Device of the NMSG, the third NAN Device having a higher rank than any rank observed by the first NAN Device: cancelling a running of the first timer; starting a second timer to run for a second predetermined time period; during the second predetermine time period: disabling transmission of any multicast schedule change request and of any broadcast schedule change request; causing transmission by the first NAN Device of a unicast schedule change request to the third NAN Device; and processing a schedule change response frame from the third NAN Device; and determining whether to send a SO update frame based on the schedule change response from the third NAN Device.
  • Example 41 includes the subject matter of Example 32, and optionally, wherein the operations further include freezing the timer when it is outside a Common Resource Block of the NMSG, or when a wireless medium is busy.
  • Example 42 includes the subject matter of Example 32, and optionally, wherein the schedule change response frame includes an indication of a rejection of the schedule change request frame.
  • Example 43 includes the subject matter of Example 42, and optionally, wherein the indication includes a Reason Code, the Reason Code indicating that the second NAN Device is not a SO.
  • Example 44 includes the subject matter of Example 42, and optionally, wherein the operations further include, based on receiving the schedule change response frame including the indication of the rejection of the schedule, causing the first NAN Device to disable transmission of a new schedule change request frame for a predetermined time duration, the predetermined time duration being one of fixed or variable.
  • Example 45 includes the subject matter of Example 42, and optionally, wherein the operations further include, based on receiving the schedule change response frame including the indication of the rejection of the schedule: disabling transmission of further schedule change request frames; and causing transmission of an announcement frame to announce a disablement of transmissions of further schedule change request frames.
  • Example 46 includes the subject matter of Example 45, and optionally, wherein the announcement frame is to be transmitted during data path setup using either: one or more reserved bits in a Service Descriptor Extension Attribute (SDEA) control field in a Publish Message; or using one or more reserved bits in a control field of a NMSG attribute.
  • SDEA Service Descriptor Extension Attribute
  • Example 47 includes a device comprising: means for identifying a triggering frame; means for starting, based on an identification of the triggering frame, a timer to run for a predetermined time period; means for disabling transmission of any multicast schedule change request and of any broadcast schedule change request to other NAN Devices within a NAN multicast service group (NMSG) to include the first NAN Device during the predetermined time period; means for causing transmission by the first NAN Device of a unicast schedule change request frame to a second NAN Device of the NMSG during the predetermined time period; means for processing a schedule change response frame from the second NAN Device during the predetermined time period; and means for determining whether to send a SO update frame based on the schedule change response frame from the second NAN Device.
  • NMSG NAN multicast service group
  • Example 48 includes the subject matter of Example 47, and optionally, further comprising: means for transmitting one or more schedule change request frames; and means for identifying the triggering frame after transmission of the one or more schedule change request frames.
  • Example 49 includes a device comprising a memory, and processing circuitry coupled to the memory, the circuitry configured to execute logic stored in the memory to cause a first
  • NAN Neighbor Awareness Networking
  • NMSG to include the first NAN Device
  • NMSG to include the first NAN Device
  • a triggering frame including a SO update frame including an indication of a predetermined time period for the second NAN Device to disable any unicast or broadcast frames within the NMSG
  • receive a unicast schedule change request frame from the second NAN Device during the predetermined time period and transmit a schedule change response frame to the second NAN Device in response to the unicast schedule change request to allow the second NAN Device to determine whether to send a SO update frame.
  • Example 50 includes the subject matter of Example 49, and optionally, wherein the predetermined time period is based on: a transition time recorded in the SO update frame between a transmission time of the SO update frame and a time at which the first NAN Device can become a SO; and a contention and transmission time for the first NAN Device to contend for the wireless medium and to transmit a predetermined number of NAN frames on the wireless medium.
  • Example 51 includes the subject matter of Example 49, and optionally, wherein the predetermined time period has a fixed value.
  • Example 52 includes the subject matter of Example 49, and optionally, wherein the triggering frame is based on reception of a NAN frame by the first NAN Device from a third NAN Device in the NMSG.
  • Example 53 includes the subject matter of Example 52, and optionally, wherein the NAN frame includes a NAN multicast schedule frame.
  • Example 54 includes the subject matter of Example 52, and optionally, wherein the NAN frame includes a SO update frame, the third NAN Device having a higher rank than a rank of the first NAN Device.
  • Example 55 includes the subject matter of Example 54, and optionally, wherein the schedule change response frame includes an indication of a rejection of the schedule change request frame based on the NAN frame from the third NAN Device.
  • Example 56 includes the subject matter of Example 55, and optionally, wherein the indication includes a Reason Code, the Reason Code indicating that the first NAN Device is not a SO.
  • Example 57 includes the subject matter of Example 49, and optionally, wherein the circuitry is further configured to receive an announcement frame from the second NAN Device, the announcement frame to announce a disablement of transmissions of further schedule change request frames from the second NAN Device.
  • Example 58 includes the subject matter of Example 57, and optionally, wherein the announcement frame is to be received during data path setup and is included in: one or more reserved bits in a Service Descriptor Extension Attribute (SDEA) control field in a Publish
  • Example 59 includes a method to be performed at a first Neighbor Awareness
  • NAN Networking
  • NMSG including the first NAN Device
  • NMSG including the first NAN Device
  • transmitting a triggering frame including a SO update frame including an indication of a predetermined time period for the second NAN Device to disable any unicast or broadcast frames within the NMSG
  • receiving a unicast schedule change request frame from the second NAN Device during the predetermined time period and transmitting a schedule change response frame to the second NAN Device in response to the unicast schedule change request.
  • Example 60 includes the subject matter of Example 59, and optionally, wherein the predetermined time period is based on: a transition time recorded in the SO update frame between a transmission time of the SO update frame and a time at which the first NAN Device can become a SO; and a contention and transmission time for the first NAN Device to contend for the wireless medium and to transmit a predetermined number of NAN frames on the wireless medium.
  • Example 61 includes the subject matter of Example 59, and optionally, wherein the predetermined time period has a fixed value.
  • Example 62 includes the subject matter of Example 59, and optionally, wherein the triggering frame is based on reception of a NAN frame by the first NAN Device from a third NAN Device in the NMSG.
  • Example 63 includes the subject matter of Example 62, and optionally, wherein the NAN frame includes a NAN multicast schedule frame.
  • Example 64 includes the subject matter of Example 62, and optionally, wherein the NAN frame includes a SO update frame, the third NAN Device having a higher rank than a rank of the first NAN Device.
  • Example 65 includes the subject matter of Example 64, and optionally, wherein the schedule change response frame includes an indication of a rejection of the schedule change request frame based on the NAN frame from the third NAN Device.
  • Example 66 includes the subject matter of Example 65, and optionally, wherein the indication includes a Reason Code, the Reason Code indicating that the first NAN Device is not a SO.
  • Example 67 includes the subject matter of Example 59, and optionally, further including receiving an announcement frame from the second NAN Device, the announcement frame to announce a disablement of transmissions of further schedule change request frames from the second NAN Device.
  • Example 68 includes the subject matter of Example 67, and optionally, wherein the announcement frame is to be received during data path setup and is included in: one or more reserved bits in a Service Descriptor Extension Attribute (SDEA) control field in a Publish
  • Example 69 includes a device comprising: means for receiving on a first NAN Device on a wireless medium one or more schedule change request frames from a second NAN Device within a NAN multicast service group (NMSG) to include the first NAN Device; means for transmitting, after reception of the one or more schedule change request frames, a triggering frame, the triggering frame including a SO update frame including an indication of a predetermined time period for the second NAN Device to disable any unicast or broadcast frames within the NMSG; receiving a unicast schedule change request frame from the second NAN Device during the predetermined time period; and transmitting a schedule change response frame to the second NAN Device in response to the unicast schedule change request.
  • NMSG NAN multicast service group
  • Example 70 includes the subject matter of Example 69, and optionally, wherein the predetermined time period is based on: a transition time recorded in the SO update frame between a transmission time of the SO update frame and a time at which the first NAN Device can become a SO; and a contention and transmission time for the first NAN Device to contend for the wireless medium and to transmit a predetermined number of NAN frames on the wireless medium.

Abstract

Some demonstrative embodiments include devices, devices and/or methods of communicating traffic to a plurality of wireless devices. For example, an apparatus may include logic and circuitry configured to cause a first Neighbor Awareness Networking (NAN) device to identify a triggering frame, and, based on an identification of the triggering frame, start a timer to run for a predetermined time period. During the predetermined time period, the circuitry is to cause the first NAN Device to disable transmission of any multicast schedule change request and of any broadcast schedule change request to other NAN Devices within a NAN multicast service group (NMSG) to include the first NAN Device; cause transmission by the first NAN Device of a unicast schedule change request frame to a second NAN Device of the NMSG; and process a schedule change response frame from the second NAN Device. The circuitry is further to cause the first NAN Device to determine whether to send a (Schedule Owner) SO update frame based on the schedule change response frame from the second NAN Device.

Description

CHANGE MECHANISM IN A NEIGHBOR AWARENESS NETWORKING MANY-TO- MANY MULTICAST COMMUNICATION SCHEME
CROSS REFERENCE
[001] This application claims the benefit of and priority from U.S. Provisional Patent Application No. 62/536,837 entitled "Enhanced Neighbor Awareness Scheduling For Wireless Communications," filed July 25, 2017, the entire disclosure of which is incorporated herein by reference.
TECHNICAL FIELD
[002] Embodiments described herein generally relate to communicating in a data link group.
BACKGROUND
[003] In some wireless communication networks, communication may be performed to allow many-to-many multicast mode communication, where multiple devices may transmit multicast packets to each other. The M2M mode may be useful when several devices wish to transmit and receive group data simultaneously, such as, for example, in a scenario where a group of friends may be playing an online game at a given location. In such instances, there may exist an originator of a multicast service group including the multiple devices, the originator, serving as a Schedule Owner (SO), having announced a schedule ahead of the M2M transmissions. At times, it may become necessary for another device within the multicast service group to take over the role of SO. In such instances, this other device may engage in a series of exchanges with devices within the MSG in order to establish its intended schedule, and in doing so, may cause unintended overhead over the air medium before an actual SO can be determined. The above issue with respect to unintended overhead may be exacerbated when this other device may now be out of the range of the current SO.
BRIEF DESCRIPTION OF THE DRAWINGS
[004] For simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity of presentation. Furthermore, reference numerals may be repeated among the figures to indicate corresponding or analogous elements. The figures are listed below.
[005] Fig. 1 is an illustration of a Neighbor Awareness Networking (NAN) Multicast Service Group (NMSG) environment; [006] Fig. 2 is a diagram of a NAN Device according to an embodiment;
[007] Fig. 3 is a diagram of a NAN Multicast Service Group (NMSG) including some NAN
Devices that are out of range with one another;
[008] Fig. 4 is a diagram showing a sequence of operations between a plurality of NAN Devices during a NAN SO election process;
[009] Fig. 5 is a diagram showing a sequence of operations between a plurality of NAN Devices during a NAN SO election process according to some demonstrative embodiments;
[0010] Fig. 6 is an illustrative table for a NAN Reason Code according to an embodiment;
[0011] Fig. 7a is a flow-chart illustration of a method according to some demonstrative embodiments;
[0012] Fig. 7b is a flow-chart illustration of a method according to some other demonstrative embodiments; and
[0013] Fig. 8 is a schematic illustration of a product in accordance with some demonstrative embodiments.
DETAILED DESCRIPTION
[0014] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of some embodiments. However, it will be understood by persons of ordinary skill in the art that some embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components, units and/or circuits have not been described in detail so as not to obscure the discussion.
[0015] Discussions herein utilizing terms such as, for example, "processing", "computing", "calculating", "determining", "establishing", "analyzing", "checking", or the like, may refer to operation(s) and/or process(es) of a computer, a computing platform, a computing system, or other electronic computing device, that manipulate and/or transform data represented as physical (e.g., electronic) quantities within the computer's registers and/or memories into other data similarly represented as physical quantities within the computer's registers and/or memories or other information storage medium that may store instructions to perform operations and/or processes.
[0016] The terms "plurality" and "a plurality", as used herein, include, for example, "multiple" or "two or more". For example, "a plurality of items" includes two or more items.
[0017] References to "one embodiment", "an embodiment", "demonstrative embodiment", "various embodiments" etc., indicate that the embodiment(s) so described may include a particular feature, structure, or characteristic, but not every embodiment necessarily includes the particular feature, structure, or characteristic. Further, repeated use of the phrase "in one embodiment" does not necessarily refer to the same embodiment, although it may.
[0018] As used herein, unless otherwise specified the use of the ordinal adjectives "first", "second", "third" etc., to describe a common object, merely indicate that different instances of like objects are being referred to, and are not intended to imply that the objects so described must be in a given sequence, either temporally, spatially, in ranking, or in any other manner.
[0019] Some embodiments may be used in conjunction with devices and/or networks operating in accordance with existing Wireless Fidelity (Wi-Fi) Alliance (WFA) Specifications (including WFA Neighbor Awareness Networking (NAN) Specifications) and/or future versions and/or derivatives thereof, devices and/or networks operating in accordance with existing WFA Peer-to- Peer (P2P) specifications (Wi-Fi P2P technical specification, version 1.2, 2012) and/or future versions and/or derivatives thereof, devices and/or networks operating in accordance with existing Wireless-Gigabit- Alliance (WGA) specifications (Wireless Gigabit Alliance, Inc WiGig MAC and PHY Specification Version 1.1, April 2011, Final specification) and/or future versions and/or derivatives thereof, devices and/or networks operating in accordance with existing IEEE 802.11 standards (IEEE 802.11-2012, IEEE Standard for Information technology— Telecommunications and information exchange between systems Local and metropolitan area networks— Specific requirements Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications, March 29, 2012; IEEE802.11ac-2013 ( "IEEE P802.11ac-2013, IEEE Standard or Information Technology - Telecommunications and Information Exchange Between Systems - Local and Metropolitan Area Networks - Specific Requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications - Amendment 4: Enhancements for Very High Throughput for Operation in Bands below 6GHz ", December, 2013); IEEE 802. Had ( "IEEE P802.11ad-2012, IEEE Standard for Information Technology - Telecommunications and Information Exchange Between Systems - Local and Metropolitan Area Networks - Specific Requirements - Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specifications - Amendment 3: Enhancements for Very High Throughput in the 60GHz Band", 28 December, 2012); and/or IEEE-802.11REVmc ( "IEEE 802.11- REVmc™/D3.0, June 2014 draft standard for Information technology - Telecommunications and information exchange between systems Local and metropolitan area networks Specific requirements; Part 11: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) Specification ")) and/or future versions and/or derivatives thereof, devices and/or networks operating in accordance with existing cellular specifications and/or protocols, e.g., 3rd Generation Partnership Project (3 GPP), 3 GPP Long Term Evolution (LTE) and/or future versions and/or derivatives thereof, units and/or devices which are part of the above networks, and the like.
[0020] Some embodiments may be used in conjunction with one way and/or two-way radio communication systems, cellular radio-telephone communication systems, a mobile phone, a cellular telephone, a wireless telephone, a Personal Communication Systems (PCS) device, a PDA device which incorporates a wireless communication device, a mobile or portable Global Positioning System (GPS) device, a device which incorporates a GPS receiver or transceiver or chip, a device which incorporates an RFID element or chip, a Multiple Input Multiple Output (MIMO) transceiver or device, a Single Input Multiple Output (SIMO) transceiver or device, a Multiple Input Single Output (MISO) transceiver or device, a device having one or more internal antennas and/or external antennas, Digital Video Broadcast (DVB) devices or systems, multi- standard radio devices or systems, a wired or wireless handheld device, e.g., a Smartphone, a Wireless Application Protocol (WAP) device, or the like.
[0021] Some embodiments may be used in conjunction with one or more types of wireless communication signals and/or systems, for example, Radio Frequency (RF), Infra-Red (IR), Frequency-Division Multiplexing (FDM), Orthogonal FDM (OFDM), Orthogonal Frequency- Division Multiple Access (OFDMA), FDM Time-Division Multiplexing (TDM), Time-Division Multiple Access (TDM A), Multi-User MIMO (MU-MIMO), Extended TDMA (E-TDMA), General Packet Radio Service (GPRS), extended GPRS, Code-Division Multiple Access (CDMA), Wideband CDMA (WCDMA), CDMA 2000, single-carrier CDMA, multi-carrier CDMA, Multi-Carrier Modulation (MDM), Discrete Multi-Tone (DMT), Bluetooth®, Global Positioning System (GPS), Wi-Fi, Wi-Max, ZigBee™, Ultra- Wideband (UWB), Global System for Mobile communication (GSM), 2G, 2.5G, 3G, 3.5G, 4G, Fifth Generation (5G) mobile networks, 3GPP, Long Term Evolution (LTE), LTE advanced, Enhanced Data rates for GSM Evolution (EDGE), or the like. Other embodiments may be used in various other devices, systems and/or networks.
[0022] The term "wireless communication device," as used herein, includes, for example, a device capable of wireless communication (such as, for example, a baseband processor, a wireless circuit card, a system-on-a-chip (SoC) including a wireless circuit card and a radio front-end module
(FEM), or a SoC including a baseband processor,, a radio integrated circuit, a FEM and an application processor), a communication system capable of wireless communication, a communication station capable of wireless communication, a portable or non-portable device capable of wireless communication, or the like. In some demonstrative embodiments, a wireless device may be or may include a peripheral that is integrated with a computer, or a peripheral that is attached to a computer. In some demonstrative embodiments, the term "wireless device" may optionally include a wireless service.
[0023] The term "communicating" as used herein with respect to a communication signal includes transmitting the communication signal and/or receiving the communication signal. For example, a communication unit, which is capable of communicating a communication signal, may include a transmitter to transmit the communication signal to at least one other communication unit, and/or a communication receiver to receive the communication signal from at least one other communication unit. The verb communicating may be used to refer to the action of transmitting or the action of receiving. In one example, the phrase "communicating a signal" may refer to the action of transmitting the signal by a first device, and may not necessarily include the action of receiving the signal by a second device. In another example, the phrase "communicating a signal" may refer to the action of receiving the signal by a first device, and may not necessarily include the action of transmitting the signal by a second device.
[0024] Some demonstrative embodiments may be used in conjunction with a WLAN, e.g., a wireless fidelity (Wi-Fi) network. Other embodiments may be used in conjunction with any other suitable wireless communication network, for example, a wireless area network, a "piconet", a WPAN, a WVAN and the like.
[0025] The term "antenna", as used herein, may include any suitable configuration, structure and/or arrangement of one or more antenna elements, components, units, assemblies and/or arrays. In some embodiments, the antenna may implement transmit and receive functionalities using separate transmit and receive antenna elements. In some embodiments, the antenna may implement transmit and receive functionalities using common and/or integrated transmit/receive elements. The antenna may include, for example, a phased array antenna, a single element antenna, a set of switched beam antennas, and/or the like.
[0026] The term "station" (STA) or NAN Device, as used herein, may include any logical entity that is a singly addressable instance of a medium access control (MAC) and a physical layer (PHY) interface to a wireless medium (WM).
[0027] The phrase "peer to peer (PTP) communication", as used herein, may relate to device-to- device communication over a wireless link ("peer-to-peer link") between devices. The PTP communication may include, for example, a Wi-Fi Direct (WFD) communication, e.g., a WFD Peer to Peer (P2P) communication, wireless communication over a direct link within a QoS basic service set (BSS), a tunneled direct-link setup (TDLS) link, a STA-to-STA communication in an independent basic service set (IBSS), or the like. [0028] Some demonstrative embodiments are described herein with respect to Wi-Fi communication. However, other embodiments may be implemented with respect to any other communication scheme, network, standard and/or protocol.
[0029] Reference is now made to Fig. 1, which schematically illustrates a block diagram of a NAN NMSG environment 100 including a wireless network 130 in accordance with some demonstrative embodiments. Environment 100 may include one or more wireless communication devices or NAN Devices 120, e.g., wireless communication devices 122-128. Wireless communication devices 120 may include, for example, a User Equipment (UE), an Mobile Device, a STA, an Access Point, a Personal Computer, a desktop computer, a mobile computer, a laptop computer, an UltrabookTM computer, a notebook computer, a tablet computer, a server computer, a handheld computer, a handheld device, an Internet of Things (IoT) device, a Personal Digital Assistance (PDA) device, a handheld PDA device, an on-board device, an off-board device, a hybrid device (e.g., combining cellular phone functionalities with PDA device functionalities), a consumer device, a vehicular device, a non- vehicular device, a mobile or portable device, a non- mobile or non-portable device, a mobile phone, a cellular telephone, a PCS device, a PDA device which incorporates a wireless communication device, a mobile or portable GPS device, a DVB device, a relatively small computing device, a non-desktop computer, a "Carry Small Live Large" (CSLL) device, an Ultra Mobile Device (UMD), an Ultra Mobile PC (UMPC), a Mobile Internet Device (MID), an "Origami" device or computing device, a device that supports Dynamically Composable Computing (DCC), a context-aware device, a video device, an audio device, an A/V device, a Set- Top-Box (STB), a Blu-ray disc (BD) player, a BD recorder, a Digital Video Disc (DVD) player, a High Definition (HD) DVD player, a DVD recorder, a HD DVD recorder, a Personal Video Recorder (PVR), a broadcast HD receiver, a video source, an audio source, a video sink, an audio sink, a stereo tuner, a broadcast radio receiver, a flat panel display, a Personal Media Player (PMP), a digital video camera (DVC), a digital audio player, a speaker, an audio receiver, an audio amplifier, a gaming device, a data source, a data sink, a Digital Still camera (DSC), a media player, a Smartphone, a television, a music player, or the like.
[0030] In some demonstrative embodiments, devices 120 may include, for example, processing circuitry, an input unit, an output unit, a memory, and a storage unit. In some embodiments, devices 120 may include one or more computer systems similar to that of the functional diagram of Fig. 2 and/or the example machine/system of Fig. 8, which are described in further detail below.
[0031] In some demonstrative embodiments, devices 120 may be capable of communicating content, data, information and/or signals via a wireless medium (WM). In some demonstrative embodiments, the wireless medium to be used by devices 120 may, for example, include a radio channel, a cellular channel, a Global Navigation Satellite System (GNSS) Channel, an RF channel, a Wireless Fidelity (Wi-Fi) channel, an IR channel, a Bluetooth (BT) channel, and the like. The wireless medium 123 may include a wireless communication channel over a 2.4 Gigahertz (GHz) frequency band, a 5GHz frequency band, a millimeterWave (mmWave) frequency band, e.g., a 60GHz frequency band, a Sub 1 Gigahertz (S1G) band, and/or any other frequency band.
[0032] In some demonstrative embodiments, wireless communication devices 120 may form, and/or may communicate as part of, a wireless local area network (WLAN). In some demonstrative embodiments, wireless communication devices 120 may form, and/or may communicate as part of, a Wi-Fi network. In some demonstrative embodiments, wireless communication devices 120 may form, and/or may communicate as part of, a Wi-Fi Direct (WFD) network, e.g., a Wi-Fi direct services (WFDS) network, and/or may perform the functionality of one or more WFD devices. In one example, devices 120 may include, or may perform the functionality of a Wi-Fi Direct device.
[0033] In some demonstrative embodiments, wireless communication devices 120 may be capable of performing awareness networking communications, for example, according to an awareness protocol, e.g., a NAN protocol, a Wi-Fi Aware protocol or a Social Wi-Fi protocol as administered by the Wi-Fi Alliance, and/or any other protocol, e.g., as described below. In some demonstrative embodiments, wireless communication devices 120 may include an awareness networking device and/or station. For example, wireless communication devices 120 may be capable of forming, and/or communicating as part of, a Neighbor Awareness Networking (NAN) network as administered by the Wi-Fi Alliance, e.g., a Wi-Fi NAN, and/or may perform the functionality of one or more NAN Devices. In some demonstrative embodiments, wireless communication devices 120 may include a NAN Device and/or station. A "NAN Device" as used herein refers to a device that is to be compliant with any of the NAN protocol specifications.
[0034] In some demonstrative embodiments, the wireless medium may include a direct link, for example, a PTP link, e.g., a Wi-Fi direct P2P link, for example, to enable direct communication between devices 120.
[0035] In some demonstrative embodiments, wireless communication devices 120 may perform the functionality of WFD P2P devices. For example, devices 120 may be able to perform the functionality of a P2P client device, and/or P2P group Owner (GO) device.
[0036] In other embodiments, wireless communication devices 120 may form, and/or communicate as part of, any other network and/or perform the functionality of any other wireless devices or stations. [0037] Referring next to Fig. 2, according to some demonstrative embodiments, a device 220, which may represent one of devices 120 of Fig. 1, may include one or more applications 225 and 226 configured to provide, share, and/or to use one or more services, e.g., a social application, a file sharing application, a media application and/or the like, for example, using an awareness network, NAN network, a PTP network, a P2P network, WFD network, or any other network.
[0038] In some demonstrative embodiments, device 220 may be capable of sharing, showing, sending, transferring, printing, outputting, providing, synchronizing, and/or exchanging content, data, and/or information, e.g., between various applications.
[0039] In some demonstrative embodiments, device 220 may include, for example, one or more of a processor 291, an input unit 292, an output unit 293, a memory 294, and a storage unit 295. Device 220 may optionally include other suitable hardware components and/or software components. In some demonstrative embodiments, some or all of the components of one or more of device 220 may be enclosed in a common housing or packaging, and may be interconnected or operably associated using one or more wired or wireless links. In other embodiments, components of one or more of device 220 may be distributed among multiple or separate devices.
[0040] Processor 291includes, for example, a Central Processing Unit (CPU), a Digital Signal Processor (DSP), one or more processor cores, a single-core processor, a dual-core processor, a multiple-core processor, a microprocessor, a host processor, a controller, a plurality of processors or controllers, a chip, a microchip, one or more circuits, circuitry, a logic unit, an Integrated Circuit (IC), an Application-Specific IC (ASIC), or any other suitable multi-purpose or specific processor or controller. Processor 291 is to execute instructions, for example, of an Operating System (OS) of device 220 and/or of one or more suitable applications.
[0041] According to some embodiments, a processing circuitry of NAN Device 220 may include one or more of processor 291, message processor 228, or controller 224. The processing circuitry or any part thereof may be implemented in one or more of a baseband processor or an application processor of the NAN Device.
[0042] Input unit 292 includes, for example, a keyboard, a keypad, a mouse, a touch-screen, a touch-pad, a track-ball, a stylus, a microphone, or other suitable pointing device or input device.
Output unit 293 includes, for example, a monitor, a screen, a touch-screen, a flat panel display, a
Light Emitting Diode (LED) display unit, a Liquid Crystal Display (LCD) display unit, a plasma display unit, one or more audio speakers or earphones, or other suitable output devices.
[0043] Memory 294 includes, for example, a Random-Access Memory (RAM), a Read Only
Memory (ROM), a Dynamic RAM (DRAM), a Synchronous DRAM (SD-RAM), a flash memory, a volatile memory, a non-volatile memory, a cache memory, a buffer, a short-term memory, a long-term memory, or other suitable memories. Storage unit 295 and/or storage unit 295 includes, for example, a hard disk drive, a floppy disk drive, a Compact Disk (CD) drive, a CD-ROM drive, a DVD drive, or other suitable removable or non-removable storage units. Memory 294 and/or storage unit 295, for example, may store data processed by device 220.
[0044] In some demonstrative embodiments, wireless communication device 220 may be capable of communicating content, data, information and/or signals via a wireless medium (WM), such as wireless medium 123 of Fig. 1. In some demonstrative embodiments, the wireless medium may include, for example, a radio channel, a cellular channel, a Global Navigation Satellite System (GNSS) Channel, an RF channel, a Wireless Fidelity (Wi-Fi) channel, an IR channel, a Bluetooth (BT) channel, and the like. In some demonstrative embodiments, the wireless medium may include a wireless communication channel over a sub 1 Gigahertz (GHz) (S1G) frequency band. In some demonstrative embodiments, device 220 may be configured to communicate over the S1G band, e.g., as described below. Additionally, or alternatively, the wireless medium may include a wireless communication channel over a 2.4 GHz frequency band, a 5 GHz frequency band, a millimeterWave (mmWave) frequency band, e.g., a 60 GHz frequency band, and/or any other frequency band.
[0045] In some demonstrative embodiments, device 220 may include one or more radios 214 including circuitry and/or logic to perform wireless communication. Radio 214 may include one or more wireless receivers (Rx) including circuitry and/or logic to receive wireless communication signals, RF signals, frames, blocks, transmission streams, packets, messages, data items, and/or data. For example, radio 214 may include a receiver 216. Radio 214 may include one or more wireless transmitters (Tx) including circuitry and/or logic to send wireless communication signals, RF signals, frames, blocks, transmission streams, packets, messages, data items, and/or data. For example , radio 214 may include a transmitter 218. Radio 214 may further include circuitry and/or logic, modulation elements, demodulation elements, amplifiers, analog to digital and digital to analog converters, filters, and/or the like. In one example, radio 214 may include or may be implemented as part of a wireless Network Interface Card (NIC), and the like. Radio 214 may further include, or may be associated with, one or more antennas 207.
[0046] Antenna 207 may include any type of antenna suitable to transmit and/or receive wireless communication signals, blocks, frames, transmission streams, packets, messages and/or data.
Antenna 207 may include any suitable configuration, structure and/or arrangement of one or more antenna elements, components, units, assemblies and/or arrays. Antennas 207 may further include, for example, an antenna suitable for directional communication, e.g., using beamforming techniques, such as a phased array antenna, a multiple element antenna, a set of switched beam antennas, and/or the like. In some embodiments, antenna 207 may implement transmit and receive functionalities using separate transmit and receive antenna elements. In some embodiments, antenna 207 may implement transmit and receive functionalities using common and/or integrated transmit/receive elements.
[0047] In some demonstrative embodiments, wireless communication device 220 may be part of, or may form, a wireless local area network (WLAN). In some demonstrative embodiments, wireless communication device 220 may be part of, or may form, a Wi-Fi network. In some demonstrative embodiments, wireless communication device 220 may be part of, or may form, a Wi-Fi Direct (WFD) network, e.g., a Wi-Fi direct services (WFDS) network, and/or may perform the functionality of one or more WFD devices. In one example, device 220 may include, or may perform the functionality of a Wi-Fi Direct device.
[0048] In some demonstrative embodiments, wireless communication device may be capable of performing awareness networking communications, for example, according to an awareness protocol, e.g., a Wi-Fi Aware protocol, A Social Wi-Fi protocol, a Neighbor Awareness Networking (NAN) protocol, and/or any other protocol, e.g., as described below.
[0049] In some demonstrative embodiments, the wireless medium may include a direct link, for example, a PTP link, e.g., a Wi-Fi direct P2P link, for example, to enable direct communication between devices.
[0050] In some demonstrative embodiments, wireless communication device 220 may perform the functionality of WFD P2P devices. For example, device 220 may be able to perform the functionality of a P2P client device, and/or P2P group Owner (GO) device.
[0051] In other embodiments, wireless communication device 220 may form, and/or communicate as part of, any other network, and/or may perform the functionality of any other wireless devices or stations.
[0052] In some demonstrative embodiments, device 220 may include one or more applications configured to provide, share, and/or to use one or more services, e.g., a social application, a file sharing application, a media application and/or the like, for example, using a NAN network, a PTP network, a P2P network, WFD network, or any other network.
[0053] In some demonstrative embodiments, device 220 may execute an application 225 and/or an application 226, and may be configured to execute these applications.
[0054] In some demonstrative embodiments, device 220 may be capable of sharing, showing, sending, transferring, printing, outputting, providing, synchronizing, and/or exchanging content, data, and/or information, e.g., between application 225 and applications 226. [0055] In some demonstrative embodiments, device 220 may include a controller configured to control one or more functionalities of device 220, for example, one or more functionalities of communication, e.g., communication over the SIG, NAN communication and/or any other communication, between device 220 and/or other devices, and/or any other functionality, e.g., as described below. For example, device 220 may include a controller 224.
[0056] In some demonstrative embodiments, controller 224 may include circuitry and/or logic, e.g., one or more processors including circuitry and/or logic, memory circuitry and/or logic, Media- Access Control (MAC) circuitry and/or logic, Physical Layer (PHY) circuitry and/or logic, and/or any other circuitry and/or logic, configured to perform the functionality of controller 224. Additionally or alternatively, one or more functionalities of controller 224 may be implemented by logic, which may be executed by a machine and/or one or more processors, e.g., as described below. In one example, controller 224 may include one or more processors having circuitry and/or logic to cause a device or a station, e.g., device 220, to perform one or more functionalities, e.g., as described herein.
[0057] In one example, controller 224 may include one or more processors including circuitry and/or logic to cause a wireless device, e.g., device 220, and/or a wireless station, e.g., a wireless ST A implemented by device 220, to perform one or more operations, communications and/or functionalities, e.g., as described herein.
[0058] In some demonstrative embodiments, device 220 may include a message processor 228 configured to generate, process and/or access one or messages communicated by device 220. In one example, message processor 228 may be configured to generate one or more messages to be transmitted by device 220, and/or message processor 228 may be configured to access and/or to process one or more messages received by device 220, e.g., as described below.
[0059] In some demonstrative embodiments, message processor 228 may include circuitry, e.g., processor circuitry, memory circuitry, Media-Access Control (MAC) circuitry, Physical Layer (PHY) circuitry, and/or any other circuitry, configured to perform the functionality of message processor 228. Additionally or alternatively, one or more functionalities of message processor 228 may be implemented by logic, which may be executed by a machine and/or one or more processors, e.g., as described below. In some demonstrative embodiments, at least part of the functionality of message processor 128 may be implemented as part of radio 214. In some demonstrative embodiments, at least part of the functionality of message processor 228 may be implemented as part of controller 224. In other embodiments, the functionality of message processor 228 may be implemented as part of any other element of device 220. [0060] In some demonstrative embodiments, device 220 may perform the functionality of a device or station, for example, a SIG device and/or STA, a NAN Device and/or station, a Wi-Fi device and/or station, a WFD device and/or station, a WLAN device and/or station, and/or any other device and/or station, capable of discovering other devices and/or stations according to a discovery protocol and/or scheme.
[0061] In some demonstrative embodiments, radio 214 may communicate over the wireless medium according to an awareness networking scheme. In some demonstrative embodiments, the awareness networking scheme may include, for example, a discovery scheme, for example, a NAN discovery scheme, or any other awareness networking and/or discovery scheme, e.g., as described below. In some demonstrative embodiments, device 220 may perform a discovery process according to the discovery scheme using a discovery window (DW), for example, to discover each other, and/or to establish a wireless communication link, e.g., directional and/or high throughput wireless communication link.
[0062] In some demonstrative embodiments, device 220 may be configured to enable time synchronization between itself and one or more other devices, e.g., performing the functionality of Wi-Fi stations (STAs), for example, such that STAs can discover each other more efficiently and/or quickly.
[0063] The Wi-Fi Aware NAN 2.0 protocol allows decentralized data communication multiple devices, such as devices 120 of Fig. 1, in a power efficient manner. The protocol allows both multicast and unicast communication. In particular, the multicast scheme consists of both many- to-many (i.e. with more than one multicast source or device or a multicast group) and one-to-many (e.g. with just one multicast source per multicast group) mode. Many-to-many communication is useful for scenarios for several devices, such as devices 120 of Fig. 1, want to transmit and receive multicast data at the same time. An example of the above would include friends playing an online game or video chatting with one another at a given location.
[0064] A NAN Device may implement a multicast scheme which can be summarized as follows.
A multicast source or device such as, for example, device 124 of Fig. 1, known as the originator, may start a many-to-many NAN multicast service group (NMSG) with some predetermined schedule. The originator can enroll other devices, such as devices 122 and 126, to join the NMSG.
Enrollment of devices by the originator under the NAN protocol can take place either explicitly or implicitly. Once an NMSG is formed in this manner, devices, such as devices 120 of Fig. 1, can receive multicast packets according to the announced schedule. The NAN Devices may be multicast sources themselves, and may enroll new devices to the NAN NMSG service. Initially, all NAN Devices share the same NMSG ID (a value that defines the NMSG service). The NMSG ID consists of the originator's local data interface address, a publish ID indicating the instance of the corresponding publish function associated with the NMSG at the originator, and a random number, plus the schedule indicated by the originator. All devices participating in NMSG are expected to transmit the multicast packets for the service in the same schedule.
[0065] If a device within an established NMSG needs to change the schedule, for example if device 126 need to change the predetermined schedule sent to it by originator device 124, the device may request a schedule change in the multicast schedule by transmitting a NAN Action Frame (NAF). A device in the NMSG, known as the Schedule Owner (SO), which, before any schedule changes in the NMSG, corresponds to the originator, may either accept or reject this request. If a device in the NMSG, such as device 126 of Fig. 1, does not get any reply from the SO after transmitting its request to change the schedule at least seven times (for example because the originator device has left the room), the device will try to change the schedule itself by transmitting a broadcast SO update NAF within the NSMG. The broadcast SO update NAF contains information about the time at which the schedule would be changed, as well as a Master Indication Attribute. If device with a higher master rank than the device sending the broadcast SO update NAF receives this NAF, it will try to become the SO by transmitting another schedule update NAF containing his rank. Master ranks within an NMSG would be a random number selected by each device. For example, if device 128 receives the broadcast schedule update NAF from device 126, and if the master rank of device 128 is higher than the master rank of device 126, device 128 will try to become the SO by transmitting its own schedule update NAF containing his rank in the same manner as described with respect to device 126 above. According to the above described scheme, eventually, the device with the highest master rank within the NMSG will become the SO.
[0066] According to the NAN protocol, both unicast and groupcast schedule change requests may be implemented. This scheme may cause necessary multiple successive SO election events that may lead to congestion in the network if a device requesting schedule change it out of range of the SO or is the device with the highest rank in the NMSG.
[0067] As an example, let us now refer to Fig. 3. Fig. 3 shows an NMSG environment 300 similar to that shown in Fig. 1, including devices A, B, C, D, E, and F. In the shown figure, A is the
NMSG originator/SO, with the NMSG including all of the shown devices. For example, A could correspond to device 124 in Fig. 1, B could correspond to device 128, and C could correspond to device 126. However as can be seen from Fig. 3, A is shown as having moved out of the transmission range of devices C and F. the transmission range of A is shown by broken lines at
302, while the transmission range of B is shown by broken lines at 304. Let us suppose that device C is requesting to change the schedule, and can no longer hear the existing SO, or the device with the highest rank in the NMSG. According to the NAN protocol, C would transmit its schedule change request frame at least seven times, which transmissions would never be received by the SO. A schedule change request frame, according to NAN, includes a NAN Action Frame (NAF) with a NMSG schedule update attribute, with a schedule change flag set to one (1) and indicating the updated schedule proposed by the NAN device C.
[0068] A situation such as the one in Fig. 3 could disadvantageously lead to unwanted transmissions within the NMSG and unnecessary network congestion. The current NAN scheme for effecting schedule changes assumes that all devices or within range of each other. In practice, however, some devices may be out of range of other devices in the same NMSG. The current NAN scheme does not include any solution to address issues that arise in such scenarios.
[0069] Let us now refer to Fig. 4 in the context of the scenario of Fig. 3 described above. Fig. 4 shows a sequence of schedule transmissions as a function of time for respective ones of devices A, B, C (or DevA, DevB, DevC). As seen in Fig. 4, at 402, device C (the schedule change request device) may transmit schedule change request frames in a broadcast or multicast manner within the NMSG. The change requests at 402 may, as previously noted, be in the form of a NAF containing a schedule change attribute. After seven such attempts on the part of C, and to the extent that C is outside the range of SO A, C would, at 404, transmit a SO update frame. The SO update frame, as previously noted, would be a broadcast schedule update NAF. The SO update a SO update attribute carrying its own NAN Management Interface (NMI) address, the NMSG ID and a SO transition Time Synchronization Function (TSF) value (Ttrans( DevC) ). Device C may adopt the SO role at the SO transition time if no other higher master rank devices transmit a SO update frame (i.e. SO update message) before the SO transition time listed in its message. The transition time may be indicated in an 8 octet "transition time" field of a Multicast SO Change Attribute to indicate a TSF of a SO transition time. The NAF may also include a Master Indication Attribute.
[0070] Referring still to Fig. 4, once B receives the SO update frame from C, since B and C are within range of one another, B would, since it has a higher master rank than C, transmit its own
SO update NAF at 406 that contains its own master rank. At this time, because A and B are within range of one another, A would receive the SO update NAF sent by B at 406, and, as a result, would broadcast is SO update NAF at 408. The SO update NAF sent by A at 408 would be heard by devices B, D, and E, which are within transmission range 302 of A, but not by devices C and F within transmission range 304 of device B. A would, in this way, be reaffirming its role as the
SO for the NMSG, and B would have knowledge of this reaffirmation, and record A as the NMSG SO. However, to the extent that the reaffirmation by A would not be heard by the device C, device C may try to trigger the selection process again (because C at this point believes that B is the new SO by way of the SO update by B at 406, although B does not have that role and therefore cannot send a new schedule to C, triggering the section process again as noted above), thereby leading to even more transmissions in the network.
[0071] One approach that may address some of the above issues may involve providing non-SO devices that would provide assistance to a device, such as to device C in Fig. 3, by replying to it schedule change request, such as C's request at 402 in Fig. 4. For example, after receiving the SO update at 404 from C, device B could transmit a schedule change response to device C so that device C can be aware that it is out of range of an SO, such as out of range of SO A, and can thereby refrain from transmitting or disable transmission of more schedule change requests. For example, if B is the assisting device, it could for example reject the schedule change request by device C by transmitting and NAF or another frame including its master rank and its priority within the NMSG in that rejection message. The reason for the rejection could be either an impermissible schedule by C, or device C being out of range of the SO A, or some other reason. After receiving a rejection message from B, C could either refrain from transmitting a schedule change request or from triggering another SO election process, or ignore the rejection message if it already received another response from another device with a higher rank. If the schedule requested by device C works for device B, device B may transmit a NAF to device C asking device C to postpone transmitting new schedule change requests or schedule update frames until a certain time duration has elapsed, or until device C hears back from device B. In the scenario of Fig. 3, if device B is not an SO, it may itself request a schedule change by transmitting a NAF, the requested schedule within this NAF being the schedule obtained from device C. If the SO A accepts the schedule change request from device B, device B may send a corresponding schedule change response to device C, and transmit the new schedule and a schedule update NAF. However, if the SO rejects the schedule request from B, then B may either send a rejection message to C, or not transmit any reply to C.
[0072] However, the above approach may disadvantageously lead to more transmissions if the network schedule change request from device C is multicast or broadcast, in which case several non-SO devices may simultaneously respond to this request (where the request fits the criteria for a reply).
[0073] According to some demonstrative embodiments, in order to circumvent the above issue, some demonstrative embodiments provide that, when a first NAN Device wishes to change the schedule within its NMSG, it would, after identifying a triggering frame, set a timer to run for a predetermined time period before making a decision regarding an identity of the NMSG SO. The predetermined time period would allow the first NAN Device to determine, based on information sent to it by a second NAN Device, whether there is potentially a third NAN Device in the NMSG that is out of range with respect to it, and that further has a highest rank in the NMSG that would justify the third NAN Device being the actual SO. The first NAN Device, according to some embodiments, could make a determination as to whether a higher ranked third NAN Device should be the SO by receiving and processing a schedule change response frame sent to it by the second NAN Device. This second NAN Device would be within range of the first NAN Device and the third NAN Device. The second NAN Device may also be a highest ranked NAN Device in the NMSG within range of the first NAN Device. In this way, the second NAN Device may inform the first NAN Device of the presence and rank of the third NAN Device, and send either an acceptance or a rejection with respect to the first NAN Device becoming the new SO in its schedule change response frame. Some embodiments further provide an option to disable schedule change requests and the SO election process in the NMSG by a NAN Device, such as the first NAN Device described here, for example when the first NAN Device receives a schedule change response that is a rejection from the second NAN Device.
[0074] During the predetermined time period mentioned above, the first NAN Device may refrain from sending any broadcast or multicast schedule change requests. In this way, it may prevent multiple NAN Devices in the NMSG from sending it responses regarding other NAN Devices and their respective ranks within their range. During this predetermined time period, however, the first NAN Device may send a unicast schedule change request frame to the second NAN Device in order to solicit from it the schedule change response frame. Based on the schedule change response frame, the first NAN Device may then determine whether to send a SO update frame.
[0075] The predetermined time period may have a fixed value for each device, may have a fixed value overall for all NAN Devices, or may be communicated to the first NAN Device by the second NAN Device, for example the schedule change response frame.
[0076] The triggering frame may include a SO update frame transmitted by the first NAN Device; or a SO update frame transmitted by the second NAN Device, the second NAN Device having at least one of a higher rank than a rank of the first NAN Device and a higher rank than any rank observed by the first NAN Device.
[0077] Reference is now made to Fig. 3 in conjunction with Fig. 5 to provide further examples with respect to some demonstrative embodiments.
[0078] In particular, Fig. 5 represents a sequence 500 of transmissions from a NMSG environment such as the one shown in Fig. 3. As seen in Fig. 5, at 502, device C is shown as transmitting seven schedule change request frames in succession according to the NAN protocol. Embodiments are not limited to seven such schedule change request frames however, and may include any number of schedule change requests frames according to application needs. This number may, for example, be seven or more. After not receiving a response from any of the within range NAN Devices, such as devices F and B, C is shown at 504 as sending a SO update frame to NAN Devices within range of it in the NMSG. Thereafter, having received C's SO update frame, B would, at 506, recognizing that it has a higher rank than C, send its own SO update frame. Upon receiving B's SO update frame, C may, at time 506, set its timer for a predetermined time period. This timer may, according to some embodiments, start from a time corresponding to event time 506, a sending of a SO update by B, which would, according to this shown embodiment, correspond to a triggering frame that would trigger a setting of the timer by C. The timer may further end at a time that may correspond, as shown in Fig. 5, to a time it would take for B to transition to a SO role, as shown by 514, plus an estimated time it may take for B to contend for the wireless medium (a contention time for B) and to transmit (a transmission time) a predetermined number of NAN frames. In the shown diagram, each device A, B and C is shown as having a transition time to become SO, as shown by 516, 514 and 512, respectively in Fig. 5. The estimated time corresponds to the time duration between event 514 and point 510, at which time the timer may stop running. The transition time may be communicated by B to C in B's SO update frame at 506, as explained in further detail above in relation to Fig. 4. The estimated time may further be communicated in the SO update frame at 506, or it may be estimated at C, or it may be a fixed or otherwise preset estimated time period within the NAN protocol. The estimated time may correspond to an estimated time to both contend for and transmit a non-negative integer number of frames, such as NAN frames, or a given size at a given fixed MCS.
[0079] Referring still to Fig. 5, after C has set its timer at 506, A is shown as transmitting is own SO update frame at 508. At this time, since, in the shown example, A has a higher rank than any other NAN Device observed by B in the NMSG, B would cancel its attempt to become SO. During the predetermined time period between 506 and 510, C refrains from sending any broadcast or unicast schedule change requests. During this time period, at 516, A may determine that it may transition to a SO role by virtue of its highest rank in the NMSG, and may at 518, transmit a new schedule to the NMSG NAN Devices within range. B may, being within range of A, receive A's new schedule, in this way A confirming itself as the SO.
[0080] In turn, during the predetermined time period from 506 to 510, C may send at 520 a unicast schedule change request to B. The unicast schedule change request to B may be to solicit a response from B regarding whether C may become a SO. B may then, in response, send a schedule change response frame to C at 522, in this response frame rejecting C's attempt to become SO, and this by virtue of having received A's new schedule at 518.
[0081] However, according to another scenario (not shown), during the A's transition time to become SO, that is, during the time between 508 and 516, it is possible that A may determine it is not the highest ranked NAN Device in the NMSG and cannot become SO, for example by virtue of having received a SO from another, fourth NAN Device, such as device E, that is not in the range of B in the NMSG, and that has a higher rank than any rank recorded by device A. In such a case, A would have received a SO update from the fourth NAN Device E during the transition time from 508 to 516, and would cancel its attempt to become SO. Here, device B may have set its own timer after having received the SO update from A at 508 (similar to the manner in which C has been described above as setting its timer), for a predetermined time duration to allow A to respond to B with a schedule response frame similar to schedule response frame at 522 from B to C. For example, the new schedule frame at 518 in Fig. 5 may correspond to A's schedule response frame, which is received by B. Having received a schedule response from A, B may then send a schedule change response frame at 522 to C, the schedule change response frame indicating to C that C's request to become the SO has been rejected. Such a schedule change response frame from B to C at 522 may come in response to a unicast schedule change request frame 520 from C to B during the predetermined time period between 506 and 510 in the manner explained with respect to the scenario of Fig. 5.
[0082] Upon receiving a schedule change response frame at 522 from B, C may refrain from becoming a SO in relation to its having sent the schedule change requests at 502, and as a result of having received the schedule response frame including a rejection from B at 522. According to one embodiment, C may then start a SO update process by sending another set of schedule change request frames within the NMSG. According to another embodiment, C may disable any further/new schedule change request frames and SO elections in the NMSG for a predetermined duration, which duration may equal infinity or another predetermined duration.
[0083] After receiving a rejection to a schedule change request at 522, the device C may refrain from transmitting new schedule change requests for a predetermined duration (not shown). This duration may be fixed or variable, and may change from NAN Device to NAN Device. This duration may further be calculated by a NAN Device based on its own requirements, including its own constraints and network state. For example, constraints may be based on the priority of buffered data at C. In addition, a NAN Device may disable a schedule change request and SO election in the NMSG by announcing the same by way of an announcement frame including indication in a Publish Message or other NAN frames during Data Path Setup according to the NAN protocol. To accomplish the latter, a NAN Device may use existing fields or new fields and/or attributes. By way of example, the indication of a disablement of schedule change requests and SO election by a NAN Device may be indicated using one or more of the reserved bits in the Service Descriptor Extension Attribute (SDEA) control field in a Publish Message or Publish Frame. Alternatively, the indication may be provided using one or more reserved bits in a control field of the NMSG attribute.
[0084] Referring next to Fig.6, a portion of a Reason Code Field table 600 is shown pertaining to a schedule change response according to one embodiment for inclusion into the NAN protocol. In its schedule change response frame, device B may indicate a reason for rejection, for example in a NAN Data Path Attribute (NDP Attribute), for example in a one octet Reason Code field of the NDP attribute. The name of the field may be "NOT_SCHEDULE_OWNER" corresponding to an indication that a NAN Device's schedule change request is rejected as the device sending the attribute, such as device B in Fig. 5, is not a SO. The Reason Code may indicate a reason for rejection when a Status subfield at bits 4 to 7 of the NDP Attribute is set to a value of 2 to indicate a rejection. The Reason Code value may for example be set at the currently reserved value of 13 to provide the latter indication of the reason for rejection.
[0085] Although the description above with respect to Fig. 5 concerns a scenario where the triggering frame is a SO update from a second NAN device, embodiments are not so limited. As noted previously, the triggering frame may include a SO update frame transmitted by the first NAN Device, that is, in the example of Fig. 5, a SO update frame by device C. In such a case, C would set its timer to start at time 504 instead of at time 506, by way of example. In addition, the triggering frame may include a SO update frame to C from B where B is either of a higher rank than C, or with a higher rank than any NAN device of the NMSG observed by C. For example, where the triggering frame is to be transmitted by device B, the triggering frame may be based on reception of a NAN frame by device B. Alternatively, the triggering frame may include a NAN multicast schedule frame that is received by C, or another frame transmitted or received by C, such as another NAN frame transmitted or received by C, that triggers the setting of the timer by C.
[0086] With respect to the predetermined time duration set by the timer of the schedule change request device, such as device C of Fig. 5, according to one embodiment the duration may be infinite, meaning that, in the example of Fig. 5, device C would, after a start of the timer, transmit only unicast schedule change requests. The latter special case where a NAN Device may transmit only unicast schedule change requests after a triggering frame may be indicated by the NAN
Device in existing new fields or attributes in existing or new NAN frames used during multicast operation. According to one embodiment, the predetermined time duration may be announced from the upper layers to the MAC layer as a new or within existing parameters, such as, for example, by way of a service_specific_info corresponding to a sequence of values that may be conveyed in a Publish Message by the NAN Device.
[0087] According to an embodiment, a schedule change request device may cancel its running timer in response to receiving a SO update frame from another NAN Device with a higher master rank than currently observed by the schedule change request device. According to a further embedment, the schedule change request device may restart the timer after learning the transition time information from the SO update frame from the other NAN Device, in this way giving itself another opportunity to become SO. According to another embodiment, the schedule change request device may freeze its timer when it is outside of the Common Resource Block (CRB) used in the NMSG, and/or when the wireless medium is busy.
[0088] Some demonstrative embodiments include an apparatus comprising a memory (such as memory 294 of Fig. 2), and processing circuitry coupled to the memory (such as processor 291 of Fig. 2), the circuitry configured to execute logic stored in the memory to cause a first Neighbor Awareness Networking (NAN) Device (such as AN device 220 of Fig. 2) to transmit on a wireless medium one or more schedule change request frames to other NAN Devices within a NAN multicast service group (NMSG) to include the first NAN Device, and, after the one or more schedule change request frames, identify a triggering frame. Based on an identification of the triggering frame, the circuitry is to execute the logic to cause the NAN Device to start a timer to run for a predetermined time period during which the NAN Device is to disable transmission of any multicast schedule change request and of any broadcast schedule change request, and during which the NAN Device is to further cause transmission by the first NAN Device of a unicast schedule change request frame to a second NAN Device of the NMSG. The circuitry is to execute the logic to cause the NAN Device to process a schedule change response frame from the second NAN Device, and to determine whether to send a SO update frame based on the schedule change response frame from the second NAN Device.
[0089] Referring next to Fig. 7a, a flow chart is depicted showing a method 700a according to an embodiment. At 702a, the method includes identifying a triggering frame. At 704a, the method includes, based on an identification of the triggering frame, starting a timer to run for a predetermined time period. At 706a the method includes, during the predetermined time period: disabling transmission of any multicast schedule change request and of any broadcast schedule change request to other NAN Devices within a NAN multicast service group (NMSG) including the first NAN Device; causing transmission by the first NAN Device of a unicast schedule change request frame to a second NAN Device of the NMSG; and processing a schedule change response frame from the second NAN Device. At 708a, the method includes determining whether to send a SO update frame based on the schedule change response frame from the second NAN Device.
[0090] Referring to Fig. 7b, a flow chart is depicting showing a method 700b according to an embodiment. At 702b, the method includes receiving on a wireless medium one or more schedule change request frames from a second NAN Device within a NAN multicast service group (NMSG) including the first NAN Device. At 704b, the method includes, after reception of the one or more schedule change request frames, transmitting a triggering frame, the triggering frame including a SO update frame including an indication of a predetermined time period for the second NAN Device to disable any unicast or broadcast frames within the NMSG. At 706b, the method includes receiving a unicast schedule change request frame from the second NAN Device during the predetermined time period. At 708b, the method includes transmitting a schedule change response frame to the second NAN Device in response to the unicast schedule change request to allow the second NAN Device to determine whether to send a SO update frame.
[0091] Embodiments advantageously allows a NAN Device which wishes to become a SO to learn of the existence of another SO outside of its range, and in this way reduces the number of unnecessary transmissions over the air medium that relate to a SO election process for the NAN Device. In this way, the NAN network becomes faster/more efficient.
[0092] Fig. 8 illustrates a block diagram of an example of a machine 800 or system upon which any one or more of the techniques (e.g., methodologies) discussed herein may be performed. In other embodiments, the machine 800 may operate as a standalone device, such as a standalone NAN Device, or may be connected (e.g., networked) to other machines. In a networked deployment, the machine 800 may operate in the capacity of a server machine, a client machine, or both in server-client network environments. In an example, the machine 800 may act as a peer machine in peer-to-peer (P2P) (or other distributed) network environments. The machine 800 may be a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a mobile telephone, a wearable computer device, a web appliance, a network router, a switch or a bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine, such as a base station. Further, while only a single machine is illustrated, the term "machine" shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein, such as cloud computing, software as a service (SaaS), or other computer cluster configurations. [0093] Examples, as described herein, may include one or more tangible computer-readable non- transitory storage media or modules including computer-executable instructions. The instructions may operate a number of components or mechanisms. Modules are tangible entities (e.g., hardware) capable of performing specified operations when operating. A module may include hardware. In an example, the hardware may be specifically configured to carry out a specific operation (e.g., hardwired). In another example, the hardware may include configurable execution units (e.g., transistors, circuits, etc.) and a computer-readable medium containing instructions where the instructions configure the execution units to carry out a specific operation when in operation. The configuring may occur under the direction of the execution units or a loading mechanism. Accordingly, the execution units are communicatively coupled to the computer- readable medium when the device is operating. In this example, the execution units may be a member of more than one module. For example, under operation, the execution units may be configured by a first set of instructions to implement a first module at one point in time and reconfigured by a second set of instructions to implement a second module at a second point in time.
[0094] The machine (e.g., computer system) 800 may include a hardware processor 802 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory 804 and a static memory 806, some or all of which may communicate with each other via an interlink (e.g., bus) 808. The machine 800 may further include a power management device 832, a graphics display device 810, an alphanumeric input device 812 (e.g., a keyboard), and a user interface (UI) navigation device 814 (e.g., a mouse). In an example, the graphics display device 810, the alphanumeric input device 812, and the UI navigation device 814 may be a touch screen display. The machine 800 may additionally include a storage device 816 (i.e., a drive unit), a signal generation device 818 (e.g., a speaker), a NAN Device 819, a network interface device/transceiver 820 coupled to antenna(s) 830, and one or more sensors 828, such as a global positioning system (GPS) sensor, a compass, an accelerometer, or other sensor. The machine 800 may include an output controller 834, such as a serial (e.g., universal serial bus (USB), parallel, or other wired or wireless (e.g., infrared (IR), near field communication (NFC), etc.) connection to communicate with or control one or more peripheral devices (e.g., a printer, a card reader, etc.)).
[0095] The storage device 816 may include a machine -readable medium 822 on which is stored one or more sets of data structures or instructions 824 (e.g., software) embodying or being utilized by any one or more of the techniques or functions described herein. The instructions 824 may also reside, completely or at least partially, within the main memory 804, within the static memory 806, or within the hardware processor 802 during execution thereof by the machine 800. In an example, one or any combination of the hardware processor 802, the main memory 804, the static memory 806, or the storage device 816 may constitute machine-readable media.
[0096] The NAN Device 819 may carry out or perform any of the operations and processes (e.g., process 700a of Fig. 7a or process 700b of Fig. 7b) described and shown above.
[0097] It is understood that the above is only a subset of what the NAN Device 819 may be configured to perform and that other functions included throughout this disclosure may also be performed by the NAN Device 819.
[0098] While the machine -readable medium 822 is illustrated as a single medium, the term "machine-readable medium" may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) configured to store the one or more instructions 824.
[0099] The term "machine-readable medium" may include any medium that is capable of storing, encoding, or carrying instructions for execution by the machine 800 and that cause the machine 800 to perform any one or more of the techniques of the present disclosure, or that is capable of storing, encoding, or carrying data structures used by or associated with such instructions. Non- limiting machine-readable medium examples may include solid-state memories and optical and magnetic media. In an example, a massed machine-readable medium includes a machine-readable medium with a plurality of particles having resting mass. Specific examples of massed machine- readable media may include non-volatile memory, such as semiconductor memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), or Electrically Erasable Programmable Read-Only Memory (EEPROM)) and flash memory devices; magnetic disks, such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
[00100] The instructions 824 may further be transmitted or received over a communications network 826 using a transmission medium via the network interface device/transceiver 820 utilizing any one of a number of transfer protocols (e.g., frame relay, internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol
(HTTP), etc.). Example communications networks may include a local area network (LAN), a wide area network (WAN), a packet data network (e.g., the Internet), mobile telephone networks
(e.g., cellular networks), Plain Old Telephone Service (POTS) networks, wireless data networks
(e.g., Institute of Electrical and Electronics Engineers (IEEE) 802.11 family of standards known as Wi-Fi®, IEEE 802.16 family of standards known as WiMax®), IEEE 802.15.4 family of standards, and peer-to-peer (P2P) networks, among others. In an example, the network interface device/transceiver 820 may include one or more physical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or more antennas to connect to the communications network 826. In an example, the network interface device/transceiver 820 may include a plurality of antennas to wirelessly communicate using at least one of single-input multiple-output (SIMO), multiple-input multiple- output (MIMO), or multiple-input single-output (MISO) techniques. The term "transmission medium" shall be taken to include any intangible medium that is capable of storing, encoding, or carrying instructions for execution by the machine 800 and includes digital or analog communications signals or other intangible media to facilitate communication of such software.
[00101] The operations and processes described and shown above may be carried out or performed in any suitable order as desired in various implementations. Additionally, in certain implementations, at least a portion of the operations may be carried out in parallel. Furthermore, in certain implementations, less than or more than the operations described may be performed.
[00102] Certain aspects of the disclosure are described above with reference to block and flow diagrams of systems, methods, apparatuses, and/or computer program products according to various implementations. It will be understood that one or more blocks of the block diagrams and flow diagrams, and combinations of blocks in the block diagrams and the flow diagrams, respectively, can be implemented by computer-executable program instructions. Likewise, some blocks of the block diagrams and flow diagrams may not necessarily need to be performed in the order presented or may not necessarily need to be performed at all, according to some implementations .
[00103] These computer-executable program instructions may be loaded onto a special-purpose computer or other particular machine, a processor, or other programmable data processing apparatus to produce a particular machine, such that the instructions that execute on the computer, processor, or other programmable data processing apparatus create means for implementing one or more functions specified in the flow diagram block or blocks. These computer program instructions may also be stored in a computer-readable storage media or memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable storage media produce an article of manufacture including instruction means that implement one or more functions specified in the flow diagram block or blocks. As an example, certain implementations may provide for a computer program product comprising a computer-readable storage medium, having a computer- readable program code or program instructions implemented therein, said computer-readable program code adapted to be executed to implement one or more functions specified in the flow diagram block or blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational elements or steps to be performed on the computer or other programmable apparatus to produce a computer- implemented process such that the instructions that execute on the computer or other programmable apparatus provide elements or steps for implementing the functions specified in the flow diagram block or blocks.
[00104] Accordingly, blocks of the block diagrams and flow diagrams support combinations of means for performing the specified functions, combinations of elements or steps for performing the specified functions and program instruction means for performing the specified functions. It will also be understood that each block of the block diagrams and flow diagrams and combinations of blocks in the block diagrams and flow diagrams can be implemented by special-purpose, hardware-based computer systems that perform the specified functions, elements, steps, or combinations of special-purpose hardware and computer instructions.
[00105] Conditional language, such as, among others, "can," "could," "might," or "may," unless specifically stated otherwise, or otherwise understood within the context as used, is generally intended to convey that certain implementations could include, while other implementations do not include, certain features, elements, and/or operations. Thus, such conditional language is not generally intended to imply that features, elements, and/or operations are in any way required for one or more implementations or that one or more implementations necessarily include logic for deciding, with or without user input or prompting, whether these features, elements, and/or operations are included or are to be performed in any particular implementation.
[00106] In some demonstrative embodiments, logic 404 may include, or may be implemented as, software, a software module, an application, a program, a subroutine, instructions, an instruction set, computing code, words, values, symbols, and 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, and the like. The instructions may be implemented according to a predefined computer language, manner or syntax, for instructing a processor to perform a certain function. The instructions may be implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language, such as C, C++, Java, BASIC, Matlab, Pascal, Visual BASIC, assembly language, machine code, and the like.
EXAMPLES
[00107] The following examples pertain to further embodiments.
[00108] Example 1 includes an device comprising a memory, and processing circuitry coupled to the memory, the circuitry configured to execute logic stored in the memory to cause a first
Neighbor Awareness Networking (NAN) Device to: identify a triggering frame; based on an identification of the triggering frame, start a timer to run for a predetermined time period; during the predetermined time period: disable transmission of any multicast schedule change request and of any broadcast schedule change request to other NAN Devices within a NAN multicast service group (NMSG) to include the first NAN Device; cause transmission by the first NAN Device of a unicast schedule change request frame to a second NAN Device of the NMSG; and process a schedule change response frame from the second NAN Device; and determine whether to send a SO update frame based on the schedule change response frame from the second NAN Device.
[00109] Example 2 includes the subject matter of Example 1, and optionally, wherein the processing circuitry is configured to execute the logic to cause the first NAN Device to: transmit one or more schedule change request frames; and identify the triggering frame after transmission of the one or more schedule change request frames.
[00110] Example 3 includes the subject matter of Example 1, and optionally, wherein the triggering frame includes one of: a SO update frame transmitted by the first NAN Device; or a SO update frame transmitted by the second NAN Device, the second NAN Device having at least one of a higher rank than a rank of the first NAN Device and a higher rank than any rank observed by the first NAN Device.
[00111] Example 4 includes the subject matter of Example 1, and optionally, wherein the triggering frame is to be transmitted by the second NAN Device, and is based on reception of a NAN frame by the second NAN Device from one of the other NAN Devices.
[00112] Example 5 includes the subject matter of Example 4, and optionally, wherein the NAN frame includes a NAN multicast schedule frame.
[00113] Example 6 includes the subject matter of Example 1, and optionally, wherein the triggering frame includes a SO update frame transmitted by the second NAN Device, and wherein the predetermined time period is based on: a transition time recorded in the SO update frame between a transmission time of the SO update frame and a time at which the second NAN Device can become a SO; and a contention and transmission time for the second NAN Device to contend for a wireless medium and to transmit a predetermined number of NAN frames on the wireless medium.
[00114] Example 7 includes the subject matter of Example 1, and optionally, wherein the predetermined time period has a fixed value.
[00115] Example 8 includes the subject matter of Example 1, and optionally, wherein the triggering frame includes information on the predetermined time period.
[00116] Example 9 includes the subject matter of Example 1, and optionally, wherein the timer is a first timer and the predetermined time period is a first predetermined time period, and wherein the circuitry is further configured to execute the logic to cause the first NAN Device to: process a SO update frame from a third NAN Device of the NMSG; upon a processing of the SO update frame from the third NAN Device of the NMSG, the third NAN Device having a higher rank than any rank observed by the first NAN Device: cancel a running of the first timer; start a second timer to run for a second predetermined time period during which the NAN Device is to: disable transmission of any multicast schedule change request and of any broadcast schedule change request; cause transmission by the first NAN Device of a unicast schedule change request to the third NAN Device; and process a schedule change response frame from the third NAN Device; and determine whether to send a SO update frame based on the schedule change response from the third NAN Device.
[00117] Example 10 includes the subject matter of Example 1, and optionally, wherein the circuitry is further configured to execute the logic to cause the first NAN Device to freeze the timer when it is outside a Common Resource Block of the NMSG, or when the wireless medium is busy.
[00118] Example 11 includes the subject matter of Example 1, and optionally, wherein the schedule change response frame includes an indication of a rejection of the schedule change request frame.
[00119] Example 12 includes the subject matter of Example 11, and optionally, wherein the indication includes a Reason Code, the Reason Code indicating that the second NAN Device is not a SO.
[00120] Example 13 includes the subject matter of Example 11, and optionally, wherein the circuitry is further configured to execute the logic, based on receiving the schedule change response frame including the indication of the rejection of the schedule, to cause the first NAN Device to disable transmission of a new schedule change request frame for a predetermined time duration, the predetermined time duration being one of fixed or variable.
[00121] Example 14 includes the subject matter of Example 11, and optionally, wherein the circuitry is further configured to execute the logic, based on receiving the schedule change response frame including the indication of the rejection of the schedule, to: disable transmission of further schedule change request frames; and cause transmission of an announcement frame to announce a disablement of transmissions of further schedule change request frames.
[00122] Example 15 includes the subject matter of Example 14, and optionally, wherein the announcement frame is to be transmitted during data path setup using either: one or more reserved bits in a Service Descriptor Extension Attribute (SDEA) control field in a Publish Message; or using one or more reserved bits in a control field of a NMSG attribute. [00123] Example 16 includes the subject matter of Example 1, and optionally, further including a radio and one or more antennas.
[00124] Example 17 includes a method to be performed at a first Neighbor Awareness Networking (NAN) Device, the method comprising: identifying a triggering frame; based on an identification of the triggering frame, starting a timer to run for a predetermined time period; during the predetermined time period: disabling transmission of any multicast schedule change request and of any broadcast schedule change request to other NAN Devices within a NAN multicast service group (NMSG) including the first NAN Device; causing transmission by the first NAN Device of a unicast schedule change request frame to a second NAN Device of the NMSG; and processing a schedule change response frame from the second NAN Device; and determining whether to send a SO update frame based on the schedule change response frame from the second NAN Device.
[00125] Example 18 includes the subject matter of Example 17, and optionally, further including: transmitting one or more schedule change request frames; and identifying the triggering frame after transmission of the one or more schedule change request frames.
[00126] Example 19 includes the subject matter of Example 17, and optionally, wherein the triggering frame includes one of: a SO update frame transmitted by the first NAN Device; or a SO update frame transmitted by the second NAN Device, the second NAN Device having at least one of a higher rank than a rank of the first NAN Device and a higher rank than any rank observed by the first NAN Device.
[00127] Example 20 includes the subject matter of Example 17, and optionally, wherein the triggering frame is to be transmitted by the second NAN Device, and is based on reception of a NAN frame by the second NAN Device from one of the other NAN Devices.
[00128] Example 21 includes the subject matter of Example 20, and optionally, wherein the NAN frame includes a NAN multicast schedule frame.
[00129] Example 22 includes the subject matter of Example 17, and optionally, wherein the triggering frame includes a SO update frame transmitted by the second NAN Device, and wherein the predetermined time period is based on: a transition time recorded in the SO update frame between a transmission time of the SO update frame and a time at which the second NAN Device can become a SO; and a contention and transmission time for the second NAN Device to contend for a wireless medium and to transmit a predetermined number of NAN frames on the wireless medium.
[00130] Example 23 includes the subject matter of Example 17, and optionally, wherein the predetermined time period has a fixed value. [00131] Example 24 includes the subject matter of Example 17, and optionally, wherein the triggering frame includes information on the predetermined time period.
[00132] Example 25 includes the subject matter of Example 17, and optionally, wherein the timer is a first timer and the predetermined time period is a first predetermined time period, the method further including: processing a SO update frame from a third NAN Device of the NMSG; upon a processing of the SO update frame from the third NAN Device of the NMSG, the third NAN Device having a higher rank than any rank observed by the first NAN Device: cancelling a running of the first timer; starting a second timer to run for a second predetermined time period; during the second predetermine time period: disabling transmission of any multicast schedule change request and of any broadcast schedule change request; causing transmission by the first NAN Device of a unicast schedule change request to the third NAN Device; and processing a schedule change response frame from the third NAN Device; and determining whether to send a SO update frame based on the schedule change response from the third NAN Device.
[00133] Example 26 includes the subject matter of Example 17, and optionally, further including freezing the timer when it is outside a Common Resource Block of the NMSG, or when a wireless medium is busy.
[00134] Example 27 includes the subject matter of Example 17, and optionally, wherein the schedule change response frame includes an indication of a rejection of the schedule change request frame.
[00135] Example 28 includes the subject matter of Example 27, and optionally, wherein the indication includes a Reason Code, the Reason Code indicating that the second NAN Device is not a SO.
[00136] Example 29 includes the subject matter of Example 27, and optionally, further including, based on receiving the schedule change response frame including the indication of the rejection of the schedule, causing the first NAN Device to disable transmission of a new schedule change request frame for a predetermined time duration, the predetermined time duration being one of fixed or variable.
[00137] Example 30 includes the subject matter of Example 27, and optionally, further including, based on receiving the schedule change response frame including the indication of the rejection of the schedule: disabling transmission of further schedule change request frames; and causing transmission of an announcement frame to announce a disablement of transmissions of further schedule change request frames.
[00138] Example 31 includes the subject matter of Example 30, and optionally, wherein the announcement frame is to be transmitted during data path setup using either: one or more reserved bits in a Service Descriptor Extension Attribute (SDEA) control field in a Publish Message; or using one or more reserved bits in a control field of a NMSG attribute.
[00139] Example 32 includes a product including one or more tangible computer-readable non- transitory storage media comprising computer-executable instructions operable to, when executed by at least one computer processor, enable the at least one computer processor to implement operations at first a Neighbor Awareness Networking (NAN) device, the operations comprising: identifying a triggering frame; based on an identification of the triggering frame, starting a timer to run for a predetermined time period; during the predetermined time period: disabling transmission of any multicast schedule change request and of any broadcast schedule change request to other NAN Devices within a NAN multicast service group (NMSG) to include the first NAN Device; causing transmission by the first NAN Device of a unicast schedule change request frame to a second NAN Device of the NMSG; and processing a schedule change response frame from the second NAN Device; and determining whether to send a SO update frame based on the schedule change response frame from the second NAN Device.
[00140] Example 33 includes the subject matter of Example 32, and optionally, wherein the operations further include: transmitting one or more schedule change request frames; and identifying the triggering frame after transmission of the one or more schedule change request frames.
[00141] Example 34 includes the subject matter of Example 32, and optionally, wherein the triggering frame includes one of: a SO update frame transmitted by the first NAN Device; or a SO update frame transmitted by the second NAN Device, the second NAN Device having at least one of a higher rank than a rank of the first NAN Device and a higher rank than any rank observed by the first NAN Device.
[00142] Example 35 includes the subject matter of Example 32, and optionally, wherein the triggering frame is to be transmitted by the second NAN Device, and is based on reception of a NAN frame by the second NAN Device from one of the other NAN Devices.
[00143] Example 36 includes the subject matter of Example 35, and optionally, wherein the NAN frame includes a NAN multicast schedule frame.
[00144] Example 37 includes the subject matter of Example 32, and optionally, wherein the triggering frame includes a SO update frame transmitted by the second NAN Device, and wherein the predetermined time period is based on: a transition time recorded in the SO update frame between a transmission time of the SO update frame and a time at which the second NAN Device can become a SO; and a contention and transmission time for the second NAN Device to contend for a wireless medium and to transmit a predetermined number of NAN frames on the wireless medium.
[00145] Example 38 includes the subject matter of Example 32, and optionally, wherein the predetermined time period has a fixed value.
[00146] Example 39 includes the subject matter of Example 32, and optionally, wherein the triggering frame includes information on the predetermined time period.
[00147] Example 40 includes the subject matter of Example 32, and optionally, wherein the timer is a first timer and the predetermined time period is a first predetermined time period, the operations further including: processing a SO update frame from a third NAN Device of the NMSG; upon a processing of the SO update frame from the third NAN Device of the NMSG, the third NAN Device having a higher rank than any rank observed by the first NAN Device: cancelling a running of the first timer; starting a second timer to run for a second predetermined time period; during the second predetermine time period: disabling transmission of any multicast schedule change request and of any broadcast schedule change request; causing transmission by the first NAN Device of a unicast schedule change request to the third NAN Device; and processing a schedule change response frame from the third NAN Device; and determining whether to send a SO update frame based on the schedule change response from the third NAN Device.
[00148] Example 41 includes the subject matter of Example 32, and optionally, wherein the operations further include freezing the timer when it is outside a Common Resource Block of the NMSG, or when a wireless medium is busy.
[00149] Example 42 includes the subject matter of Example 32, and optionally, wherein the schedule change response frame includes an indication of a rejection of the schedule change request frame.
[00150] Example 43 includes the subject matter of Example 42, and optionally, wherein the indication includes a Reason Code, the Reason Code indicating that the second NAN Device is not a SO.
[00151] Example 44 includes the subject matter of Example 42, and optionally, wherein the operations further include, based on receiving the schedule change response frame including the indication of the rejection of the schedule, causing the first NAN Device to disable transmission of a new schedule change request frame for a predetermined time duration, the predetermined time duration being one of fixed or variable.
[00152] Example 45 includes the subject matter of Example 42, and optionally, wherein the operations further include, based on receiving the schedule change response frame including the indication of the rejection of the schedule: disabling transmission of further schedule change request frames; and causing transmission of an announcement frame to announce a disablement of transmissions of further schedule change request frames.
[00153] Example 46 includes the subject matter of Example 45, and optionally, wherein the announcement frame is to be transmitted during data path setup using either: one or more reserved bits in a Service Descriptor Extension Attribute (SDEA) control field in a Publish Message; or using one or more reserved bits in a control field of a NMSG attribute.
[00154] Example 47 includes a device comprising: means for identifying a triggering frame; means for starting, based on an identification of the triggering frame, a timer to run for a predetermined time period; means for disabling transmission of any multicast schedule change request and of any broadcast schedule change request to other NAN Devices within a NAN multicast service group (NMSG) to include the first NAN Device during the predetermined time period; means for causing transmission by the first NAN Device of a unicast schedule change request frame to a second NAN Device of the NMSG during the predetermined time period; means for processing a schedule change response frame from the second NAN Device during the predetermined time period; and means for determining whether to send a SO update frame based on the schedule change response frame from the second NAN Device.
[00155] Example 48 includes the subject matter of Example 47, and optionally, further comprising: means for transmitting one or more schedule change request frames; and means for identifying the triggering frame after transmission of the one or more schedule change request frames.
[00156] Example 49 includes a device comprising a memory, and processing circuitry coupled to the memory, the circuitry configured to execute logic stored in the memory to cause a first
Neighbor Awareness Networking (NAN) device to: receive on a wireless medium one or more schedule change request frames from a second NAN Device within a NAN multicast service group
(NMSG) to include the first NAN Device; after reception of the one or more schedule change request frames, transmit a triggering frame, the triggering frame including a SO update frame including an indication of a predetermined time period for the second NAN Device to disable any unicast or broadcast frames within the NMSG; receive a unicast schedule change request frame from the second NAN Device during the predetermined time period; and transmit a schedule change response frame to the second NAN Device in response to the unicast schedule change request to allow the second NAN Device to determine whether to send a SO update frame.
[00157] Example 50 includes the subject matter of Example 49, and optionally, wherein the predetermined time period is based on: a transition time recorded in the SO update frame between a transmission time of the SO update frame and a time at which the first NAN Device can become a SO; and a contention and transmission time for the first NAN Device to contend for the wireless medium and to transmit a predetermined number of NAN frames on the wireless medium.
[00158] Example 51 includes the subject matter of Example 49, and optionally, wherein the predetermined time period has a fixed value.
[00159] Example 52 includes the subject matter of Example 49, and optionally, wherein the triggering frame is based on reception of a NAN frame by the first NAN Device from a third NAN Device in the NMSG.
[00160] Example 53 includes the subject matter of Example 52, and optionally, wherein the NAN frame includes a NAN multicast schedule frame.
[00161] Example 54 includes the subject matter of Example 52, and optionally, wherein the NAN frame includes a SO update frame, the third NAN Device having a higher rank than a rank of the first NAN Device.
[00162] Example 55 includes the subject matter of Example 54, and optionally, wherein the schedule change response frame includes an indication of a rejection of the schedule change request frame based on the NAN frame from the third NAN Device.
[00163] Example 56 includes the subject matter of Example 55, and optionally, wherein the indication includes a Reason Code, the Reason Code indicating that the first NAN Device is not a SO.
[00164] Example 57 includes the subject matter of Example 49, and optionally, wherein the circuitry is further configured to receive an announcement frame from the second NAN Device, the announcement frame to announce a disablement of transmissions of further schedule change request frames from the second NAN Device.
[00165] Example 58 includes the subject matter of Example 57, and optionally, wherein the announcement frame is to be received during data path setup and is included in: one or more reserved bits in a Service Descriptor Extension Attribute (SDEA) control field in a Publish
Message; or one or more reserved bits in a control field of a NMSG attribute.
[00166] Example 59 includes a method to be performed at a first Neighbor Awareness
Networking (NAN) device, the method including: receiving on a wireless medium one or more schedule change request frames from a second NAN Device within a NAN multicast service group
(NMSG) including the first NAN Device; after reception of the one or more schedule change request frames, transmitting a triggering frame, the triggering frame including a SO update frame including an indication of a predetermined time period for the second NAN Device to disable any unicast or broadcast frames within the NMSG; receiving a unicast schedule change request frame from the second NAN Device during the predetermined time period; and transmitting a schedule change response frame to the second NAN Device in response to the unicast schedule change request.
[00167] Example 60 includes the subject matter of Example 59, and optionally, wherein the predetermined time period is based on: a transition time recorded in the SO update frame between a transmission time of the SO update frame and a time at which the first NAN Device can become a SO; and a contention and transmission time for the first NAN Device to contend for the wireless medium and to transmit a predetermined number of NAN frames on the wireless medium.
[00168] Example 61 includes the subject matter of Example 59, and optionally, wherein the predetermined time period has a fixed value.
[00169] Example 62 includes the subject matter of Example 59, and optionally, wherein the triggering frame is based on reception of a NAN frame by the first NAN Device from a third NAN Device in the NMSG.
[00170] Example 63 includes the subject matter of Example 62, and optionally, wherein the NAN frame includes a NAN multicast schedule frame.
[00171] Example 64 includes the subject matter of Example 62, and optionally, wherein the NAN frame includes a SO update frame, the third NAN Device having a higher rank than a rank of the first NAN Device.
[00172] Example 65 includes the subject matter of Example 64, and optionally, wherein the schedule change response frame includes an indication of a rejection of the schedule change request frame based on the NAN frame from the third NAN Device.
[00173] Example 66 includes the subject matter of Example 65, and optionally, wherein the indication includes a Reason Code, the Reason Code indicating that the first NAN Device is not a SO.
[00174] Example 67 includes the subject matter of Example 59, and optionally, further including receiving an announcement frame from the second NAN Device, the announcement frame to announce a disablement of transmissions of further schedule change request frames from the second NAN Device.
[00175] Example 68 includes the subject matter of Example 67, and optionally, wherein the announcement frame is to be received during data path setup and is included in: one or more reserved bits in a Service Descriptor Extension Attribute (SDEA) control field in a Publish
Message; or one or more reserved bits in a control field of a NMSG attribute.
[00176] Example 69 includes a device comprising: means for receiving on a first NAN Device on a wireless medium one or more schedule change request frames from a second NAN Device within a NAN multicast service group (NMSG) to include the first NAN Device; means for transmitting, after reception of the one or more schedule change request frames, a triggering frame, the triggering frame including a SO update frame including an indication of a predetermined time period for the second NAN Device to disable any unicast or broadcast frames within the NMSG; receiving a unicast schedule change request frame from the second NAN Device during the predetermined time period; and transmitting a schedule change response frame to the second NAN Device in response to the unicast schedule change request.
[00177] Example 70 includes the subject matter of Example 69, and optionally, wherein the predetermined time period is based on: a transition time recorded in the SO update frame between a transmission time of the SO update frame and a time at which the first NAN Device can become a SO; and a contention and transmission time for the first NAN Device to contend for the wireless medium and to transmit a predetermined number of NAN frames on the wireless medium.
[00178] Functions, operations, components and/or features described herein with reference to one or more embodiments, may be combined with, or may be utilized in combination with, one or more other functions, operations, components and/or features described herein with reference to one or more other embodiments, or vice versa.
[00179] While certain features have been illustrated and described herein, many modifications, substitutions, changes, and equivalents may occur to those skilled in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the disclosure.

Claims

CLAIMS What is claimed is:
1. An apparatus comprising a memory, and processing circuitry coupled to the memory, the circuitry configured to execute logic stored in the memory to cause a first Neighbor Awareness Networking (NAN) Device to:
identify a triggering frame;
based on an identification of the triggering frame, start a timer to run for a predetermined time period;
during the predetermined time period:
disable transmission of any multicast schedule change request and of any broadcast schedule change request to other NAN Devices within a NAN multicast service group (NMSG) to include the first NAN Device;
cause transmission by the first NAN Device of a unicast schedule change request frame to a second NAN Device of the NMSG; and
process a schedule change response frame from the second NAN Device; and determine whether to send a Schedule Owner (SO) update frame based on the schedule change response frame from the second NAN Device.
2. The apparatus of claim 1, wherein the processing circuitry is configured to execute the logic to cause the first NAN Device to:
transmit one or more schedule change request frames; and
identify the triggering frame after transmission of the one or more schedule change request frames.
3. The apparatus of claim 1, wherein the triggering frame includes one of:
a SO update frame transmitted by the first NAN Device; or
a SO update frame transmitted by the second NAN Device, the second NAN Device having at least one of a higher rank than a rank of the first NAN Device and a higher rank than any rank observed by the first NAN Device.
4. The apparatus of claim 1 , wherein the triggering frame is to be transmitted by the second NAN Device, and is based on reception of a NAN frame by the second NAN Device from one of the other NAN Devices.
5. The apparatus of claim 1, wherein the triggering frame includes a SO update frame transmitted by the second NAN Device, and wherein the predetermined time period is based on: a transition time recorded in the SO update frame between a transmission time of the SO update frame and a time at which the second NAN Device can become a SO; and
a contention and transmission time for the second NAN Device to contend for a wireless medium and to transmit a predetermined number of NAN frames on the wireless medium.
6. The apparatus of claim 1, wherein the timer is a first timer and the predetermined time period is a first predetermined time period, and wherein the circuitry is further configured to execute the logic to cause the first NAN Device to:
processing a SO update frame from a third NAN Device of the NMSG;
upon a processing of the SO update frame from the third NAN Device of the NMSG, the third NAN Device having a higher rank than any rank observed by the first NAN Device:
cancel a running of the first timer;
start a second timer to run for a second predetermined time period during which the NAN Device is to:
disable transmission of any multicast schedule change request and of any broadcast schedule change request;
cause transmission by the first NAN Device of a unicast schedule change request to the third NAN Device; and
process a schedule change response frame from the third NAN Device; and determine whether to send a SO update frame based on the schedule change response frame from the third NAN Device.
7. The apparatus of claim 1, wherein the schedule change response frame includes an indication of a rejection of the schedule change request frame, and wherein the circuitry is further configured to execute the logic, based on receiving the schedule change response frame including the indication of the rejection of the schedule, to cause the first NAN Device to disable transmission of a new schedule change request frame for a predetermined time duration, the predetermined time duration being one of fixed or variable.
8. The apparatus of claim 1, wherein the schedule change response frame includes an indication of a rejection of the schedule change request frame, and wherein the circuitry is further configured to execute the logic, based on receiving the schedule change response frame including the indication of the rejection of the schedule, to:
disable transmission of further schedule change request frames; and
cause transmission of an announcement frame to announce a disablement of transmissions of further schedule change request frames.
9. The apparatus of claim 8, wherein the announcement frame is to be transmitted during data path setup using either:
one or more reserved bits in a Service Descriptor Extension Attribute (SDEA) control field in a Publish Message; or
using one or more reserved bits in a control field of a NMSG attribute.
10. The apparatus of claim 1, further including a radio and one or more antennas.
11. A method to be performed at a first Neighbor Awareness Networking (NAN) Device, the method comprising:
identifying a triggering frame;
based on an identification of the triggering frame, starting a timer to run for a predetermined time period;
during the predetermined time period:
disabling transmission of any multicast schedule change request and of any broadcast schedule change request to other NAN Devices within a NAN multicast service group (NMSG) including the first NAN Device;
causing transmission by the first NAN Device of a unicast schedule change request frame to a second NAN Device of the NMSG; and
processing a schedule change response frame from the second NAN Device; and determining whether to send a SO update frame based on the schedule change response frame from the second NAN Device.
12. The method of claim 11 , further including:
transmitting one or more schedule change request frames; and
identifying the triggering frame after transmission of the one or more schedule change request frames.
13. The method of claim 11, wherein the triggering frame includes one of: a SO update frame transmitted by the first NAN Device; or
a SO update frame transmitted by the second NAN Device, the second NAN Device having at least one of a higher rank than a rank of the first NAN Device and a higher rank than any rank observed by the first NAN Device.
14. The method of claim 11, wherein the triggering frame is to be transmitted by the second NAN Device, and is based on reception of a NAN frame by the second NAN Device from one of the other NAN Devices.
15. The method of claim 11, wherein the triggering frame includes a SO update frame transmitted by the second NAN Device, and wherein the predetermined time period is based on: a transition time recorded in the SO update frame between a transmission time of the SO update frame and a time at which the second NAN Device can become a SO; and
a contention and transmission time for the second NAN Device to contend for a wireless medium and to transmit a predetermined number of NAN frames on the wireless medium.
16. The method of claim 11, wherein the timer is a first timer and the predetermined time period is a first predetermined time period, the method further including:
processing a SO update frame from a third NAN Device of the NMSG;
upon a processing of the SO update frame from the third NAN Device of the NMSG, the third NAN Device having a higher rank than any rank observed by the first NAN Device:
cancelling a running of the first timer;
starting a second timer to run for a second predetermined time period;
during the second predetermined time period:
disabling transmission of any multicast schedule change request and of any broadcast schedule change request;
causing transmission by the first NAN Device of a unicast schedule change request to the third NAN Device; and
processing a schedule change response frame from the third NAN Device; and
determining whether to send a SO update frame based on the schedule change response from the third NAN Device.
17. The method of claim 11, further including freezing the timer when it is outside a Common Resource Block of the NMSG, or when a wireless medium is busy.
18. The method of claim 11, wherein the schedule change response frame includes an indication of a rejection of the schedule change request frame, the method further including, based on receiving the schedule change response frame including the indication of the rejection of the schedule, causing the first NAN Device to disable transmission of a new schedule change request frame for a predetermined time duration, the predetermined time duration being one of fixed or variable.
19. The method of claim 11, wherein the schedule change response frame includes an indication of a rejection of the schedule change request frame, the method further including, based on receiving the schedule change response frame including the indication of the rejection of the schedule:
disabling transmission of further schedule change request frames; and
causing transmission of an announcement frame to announce a disablement of transmissions of further schedule change request frames.
20. The method of claim 19, wherein the announcement frame is to be transmitted during data path setup using either:
one or more reserved bits in a Service Descriptor Extension Attribute (SDEA) control field in a Publish Message; or
using one or more reserved bits in a control field of a NMSG attribute.
21. An apparatus comprising:
means for identifying a triggering frame;
means for starting, based on an identification of the triggering frame, a timer to run for a predetermined time period;
means for disabling transmission of any multicast schedule change request and of any broadcast schedule change request to other NAN Devices within a NAN multicast service group (NMSG) to include the first NAN Device during the predetermined time period;
means for causing transmission by the first NAN Device of a unicast schedule change request frame to a second NAN Device of the NMSG during the predetermined time period; means for processing a schedule change response frame from the second NAN Device during the predetermined time period; and
means for determining whether to send a SO update frame based on the schedule change response frame from the second NAN Device.
22. The apparatus of claim 21, further comprising:
means for transmitting one or more schedule change request frames; and
means for identifying the triggering frame after transmission of the one or more schedule change request frames.
23. The apparatus of claim 21, wherein the triggering frame includes a SO update frame transmitted by the second NAN Device, and wherein the predetermined time period is based on: a transition time recorded in the SO update frame between a transmission time of the SO update frame and a time at which the second NAN Device can become a SO; and
a contention and transmission time for the second NAN Device to contend for a wireless medium and to transmit a predetermined number of NAN frames on the wireless medium.
24. The apparatus of claim 21, wherein the timer is a first timer and the predetermined time period is a first predetermined time period, and wherein the apparatus further includes:
means for processing a SO update frame from a third NAN Device of the NMSG;
means for cancelling a running of the first timer upon a processing of the SO update frame from the third NAN Device of the NMSG, the third NAN Device having a higher rank than any rank observed by the first NAN Device; and
means for starting, upon a processing of the SO update frame from the third NAN Device, a second timer to run for a second predetermined time period during which the first NAN Device is to:
disable transmission of any multicast schedule change request and of any broadcast schedule change request;
cause transmission by the first NAN Device of a unicast schedule change request to the third NAN Device; and
process a schedule change response frame from the third NAN Device; and means for determining whether to send a SO update frame based on the schedule change response from the third NAN Device.
25. A machine-readable medium including code, which, when executed, is to cause a machine to perform the method of any one of claims 11-20.
PCT/US2017/068815 2017-07-25 2017-12-28 Change mechanism in a neighbor awareness networking many-to-many multicast communication scheme WO2019022788A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762536837P 2017-07-25 2017-07-25
US62/536,837 2017-07-25

Publications (1)

Publication Number Publication Date
WO2019022788A1 true WO2019022788A1 (en) 2019-01-31

Family

ID=65041302

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2017/068815 WO2019022788A1 (en) 2017-07-25 2017-12-28 Change mechanism in a neighbor awareness networking many-to-many multicast communication scheme

Country Status (1)

Country Link
WO (1) WO2019022788A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130028118A1 (en) * 2011-07-25 2013-01-31 Qualcomm Incorporated Managing handoff triggering between unicast and multicast services
US20160174220A1 (en) * 2014-12-12 2016-06-16 Qualcomm Incorporated Traffic advertisement in neighbor aware network (nan) data path
US20160286572A1 (en) * 2015-03-23 2016-09-29 Qualcomm Incorporated Schedule selection and connection setup between devices participating in a nan data link
US20160353233A1 (en) * 2015-06-01 2016-12-01 Apple Inc. Bluetooth Low Energy Triggering NAN for Further Discovery and Connection
US20160374107A1 (en) * 2015-06-22 2016-12-22 Intel IP Corporation Apparatus, system and method of communicating in a multicast group

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130028118A1 (en) * 2011-07-25 2013-01-31 Qualcomm Incorporated Managing handoff triggering between unicast and multicast services
US20160174220A1 (en) * 2014-12-12 2016-06-16 Qualcomm Incorporated Traffic advertisement in neighbor aware network (nan) data path
US20160286572A1 (en) * 2015-03-23 2016-09-29 Qualcomm Incorporated Schedule selection and connection setup between devices participating in a nan data link
US20160353233A1 (en) * 2015-06-01 2016-12-01 Apple Inc. Bluetooth Low Energy Triggering NAN for Further Discovery and Connection
US20160374107A1 (en) * 2015-06-22 2016-12-22 Intel IP Corporation Apparatus, system and method of communicating in a multicast group

Similar Documents

Publication Publication Date Title
US10548070B2 (en) Apparatus, system and method of communicating in a neighbor awareness networking cluster
US9913109B2 (en) Apparatus, system and method of NAN multicast group
US10069883B2 (en) Apparatus, system and method of communicating in a multicast group
US9801039B2 (en) Apparatus, system and method of communication data between awareness networking devices
US10080184B2 (en) Apparatus, system and method of communicating in a neighbor awareness networking (NAN) cluster
US9998879B2 (en) Apparatus, system and method of communicating traffic to a plurality of wireless devices
EP3459287B1 (en) Apparatus, system and method of terminating a neighbor awareness networking (nan) path
US9723439B2 (en) Apparatus, system and method of neighbor awareness networking (NAN) geo-fencing
US11252552B2 (en) Apparatus, system and method of communicating in a neighbor awareness networking (NAN) group
US10218797B2 (en) Communicating routing messages using service discovery in neighbor awareness networks
US20180027494A1 (en) Apparatus, system and method of neighbor awareness networking (nan) data link (ndl) power save
US10750535B2 (en) Apparatus, system and method of neighbor awareness networking (NAN) communication
US10149313B2 (en) Apparatus, system and method of communicating in a neighbor awareness networking (NAN) cluster
WO2019022788A1 (en) Change mechanism in a neighbor awareness networking many-to-many multicast communication scheme
US20200252877A1 (en) Mechanism to allow power constrained neighbor awareness networking devices to sleep
WO2019032136A1 (en) Apparatus, system and method of neighbor awareness networking (nan) multicast service group (nmsg) scheduling

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: 17918969

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: 17918969

Country of ref document: EP

Kind code of ref document: A1