WO2019032136A1 - Apparatus, system and method of neighbor awareness networking (nan) multicast service group (nmsg) scheduling - Google Patents

Apparatus, system and method of neighbor awareness networking (nan) multicast service group (nmsg) scheduling Download PDF

Info

Publication number
WO2019032136A1
WO2019032136A1 PCT/US2017/068484 US2017068484W WO2019032136A1 WO 2019032136 A1 WO2019032136 A1 WO 2019032136A1 US 2017068484 W US2017068484 W US 2017068484W WO 2019032136 A1 WO2019032136 A1 WO 2019032136A1
Authority
WO
WIPO (PCT)
Prior art keywords
schedule
nan
nmsg
updated
multicast
Prior art date
Application number
PCT/US2017/068484
Other languages
French (fr)
Inventor
Dibakar Das
Emily H. Qi
Po-Kai Huang
Elad OREN
Original Assignee
Intel IP Corporation
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 Intel IP Corporation filed Critical Intel IP Corporation
Priority to DE112017007842.3T priority Critical patent/DE112017007842T5/en
Publication of WO2019032136A1 publication Critical patent/WO2019032136A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W40/00Communication routing or communication path finding
    • H04W40/02Communication route or path selection, e.g. power-based or shortest path routing
    • H04W40/20Communication route or path selection, e.g. power-based or shortest path routing based on geographic position or location
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/16Multipoint routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/76Admission control; Resource allocation using dynamic resource allocation, e.g. in-call renegotiation requested by the user or requested by the network in response to changing network conditions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/826Involving periods of time
    • 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 Neighbor Awareness Networking (NAN) Multicast Service Group (NMSG) scheduling.
  • NAN Neighbor Awareness Networking
  • NMSG Multicast Service Group
  • Neighbor awareness networking may enable wireless devices, for example, Wi-Fi devices, to perform device/service discovery, e.g., in their close proximity.
  • the neighbor awareness networking may include forming a cluster, e.g., a Wi-Fi Aware cluster, for devices in proximity.
  • Devices in the same Wi-Fi Aware cluster may be configured to follow the same time schedule, e.g., a discovery window (DW), for example, to facilitate cluster formation and/or to achieve low power operation.
  • DW discovery window
  • FIG. 1 is a schematic block diagram illustration of a system, in accordance with some demonstrative embodiments.
  • FIG. 2 is a schematic illustration of a deployment of devices in a Neighbor Awareness Networking (NAN) Multicast Service Group (NMSG), in accordance with some demonstrative embodiments.
  • NAN Neighbor Awareness Networking
  • NMSG Multicast Service Group
  • FIG. 3 is a schematic illustration of a sequence diagram of forwarding a multicast schedule update in an NMSG, in accordance with some demonstrative embodiments.
  • FIG. 4 is a schematic flow-chart illustration of a method of NMSG scheduling, in accordance with some demonstrative embodiments.
  • FIG. 5 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.
  • 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.
  • 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 (WiFi) Alliance (WFA) Specifications (including Wi-Fi Neighbor Awareness Networking (NAN) Technical Specification, Version 1.0, May 1, 2015) and/or future versions and/or derivatives thereof, devices and/or networks operating in accordance with existing WFA Peer-to-Peer (P2P) specifications (WiFi P2P technical specification, version 1.7, July 6, 2016) and/or future versions and/or derivatives thereof, devices and/or networks operating in accordance with existing IEEE 802.11 standards (including IEEE 802.11-2016 (IEEE 802.11-2016, 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, December 7, 2016)) 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
  • 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.5G
  • wireless device includes, for example, a device capable of wireless communication, a communication device capable of wireless communication, a communication station capable of wireless communication, a portable or non-portable device capable of wireless communication, or the like.
  • a wireless device may be or may include a peripheral that may be integrated with a computer, or a peripheral that may be 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 may be 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 WiFi 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.
  • circuitry may refer to, be part of, or include, an Application Specific Integrated Circuit (ASIC), an integrated circuit, an electronic circuit, a processor (shared, dedicated, or group), and/or memory (shared, dedicated, or group), that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable hardware components that provide the described functionality.
  • ASIC Application Specific Integrated Circuit
  • the circuitry may be implemented in, or functions associated with the circuitry may be implemented by, one or more software or firmware modules.
  • circuitry may include logic, at least partially operable in hardware.
  • logic may refer, for example, to computing logic embedded in circuitry of a computing apparatus and/or computing logic stored in a memory of a computing apparatus.
  • the logic may be accessible by a processor of the computing apparatus to execute the computing logic to perform computing functions and/or operations.
  • logic may be embedded in various types of memory and/or firmware, e.g., silicon blocks of various chips and/or processors.
  • Logic may be included in, and/or implemented as part of, various circuitry, e.g. radio circuitry, receiver circuitry, control circuitry, transmitter circuitry, transceiver circuitry, processor circuitry, and/or the like.
  • logic may be embedded in volatile memory and/or non-volatile memory, including random access memory, read only memory, programmable memory, magnetic memory, flash memory, persistent memory, and/or the like.
  • Logic may be executed by one or more processors using memory, e.g., registers, buffers, stacks, and the like, coupled to the one or more processors, e.g., as necessary to execute the logic.
  • 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.
  • 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.
  • PTP peer to peer
  • the PTP communication may include, for example, a WiFi 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 WiFi Direct
  • P2P WFD Peer to Peer
  • BSS QoS basic service set
  • TDLS tunneled direct-link setup
  • IBSS independent basic service set
  • FIG. 1 schematically illustrates a block diagram of a system 100, in accordance with some demonstrative embodiments.
  • system 100 may include a wireless communication network including one or more wireless communication devices, e.g., including wireless communication devices 102, 140, 160 and/or 180.
  • wireless communication devices 102, 140, 160 and/or 180 may include, for example, a UE, an MD, a STA, an AP, a PC, 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 sensor device, a wearable device, a 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
  • devices 102, 140, 160 and/or 180 may include, operate as, and/or perform the functionality of, one or more STAs.
  • device 102 may include at least one STA
  • device 140 may include at least one STA.
  • devices 102, 140, 160 and/or 180 may include, operate as, and/or perform the functionality of, one or more WLAN STAs.
  • devices 102, 140, 160 and/or 180 may include, operate as, and/or perform the functionality of, one or more Wi-Fi STAs.
  • devices 102, 140, 160 and/or 180 may include, operate as, and/or perform the functionality of, one or more Bluetooth (BT) devices.
  • BT Bluetooth
  • devices 102, 140, 160 and/or 180 may include, operate as, and/or perform the functionality of, one or more Neighbor Awareness Networking (NAN) STAs.
  • NAN Neighbor Awareness Networking
  • devices 102, 140, 160 and/or 180 may include, operate as, and/or perform the functionality of, one or more location measurement STAs.
  • a station may include a logical entity that may be a singly addressable instance of a medium access control (MAC) and physical layer (PHY) interface to the wireless medium (WM).
  • the STA may perform any other additional or alternative functionality.
  • devices 102, 140, 160 and/or 180 may include, operate as, and/or perform the functionality of, any other devices and/or STAs.
  • devices 102, 140, 160 and/or 180 may be configured to operate as, and/or to perform the functionality of, an access point (AP) STA.
  • AP access point
  • devices 102, 140, 160 and/or 180 may be configured to operate as, and/or to perform the functionality of, a non-AP STA.
  • an AP may include an entity that contains a station (STA), e.g., one STA, and provides access to distribution services, via the wireless medium (WM) for associated STAs.
  • STA station
  • WM wireless medium
  • the AP may perform any other additional or alternative functionality.
  • a non-AP STA may include a STA that may be not contained within an AP.
  • the non-AP STA may perform any other additional or alternative functionality.
  • device 102 may be configured to operate as, and/or to perform the functionality of, an AP STA, and/or device 140 may be configured to operate as, and/or to perform the functionality of, a non-AP STA.
  • device 102 may include, for example, one or more of a processor 191, an input unit 192, an output unit 193, a memory unit 194, and/or a storage unit 195; and/or devices 140, 160 and/or 180 may include, for example, one or more of a processor 181, an input unit 182, an output unit 183, a memory unit 184, and/or a storage unit 185.
  • Devices 102, 140, 160 and/or 180 may optionally include other suitable hardware components and/or software components.
  • some or all of the components of one or more of devices 102, 140, 160 and/or 180 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 devices 102, 140, 160 and/or 180 may be distributed among multiple or separate devices.
  • processor 191 and/or processor 181 may include, 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 191 executes instructions, for example, of an Operating System (OS) of device 102 and/or of one or more suitable applications.
  • Processor 181 executes instructions, for example, of an Operating System (OS) of device 140 and/or of one or more suitable applications.
  • OS Operating System
  • OS Operating System
  • input unit 192 and/or input unit 182 may include, 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 193 and/or output unit 183 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.
  • LED Light Emitting Diode
  • LCD Liquid Crystal Display
  • memory unit 194 and/or memory unit 184 may include, 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 unit, a long term memory unit, or other suitable memory units.
  • Storage unit 195 and/or storage unit 185 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 unit 194 and/or storage unit 195 may store data processed by device 102.
  • Memory unit 184 and/or storage unit 185 for example, may store data processed by device 140.
  • wireless communication devices 102, 140, 160 and/or 180 may be capable of communicating content, data, information and/or signals via a wireless medium (WM) 103.
  • wireless medium 103 may include, for example, a radio channel, a cellular channel, a Global Navigation Satellite System (GNSS) Channel, an RF channel, a WiFi channel, an IR channel, a Bluetooth (BT) channel, and the like.
  • GNSS Global Navigation Satellite System
  • BT Bluetooth
  • wireless communication medium 103 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 (S 1G) band, and/or any other frequency band.
  • GHz 2.4 Gigahertz
  • 5GHz 5GHz
  • mmWave millimeterWave
  • S 1G Sub 1 Gigahertz
  • devices 102, 140, 160 and/or 180 may include one or more radios including circuitry and/or logic to perform wireless communication between devices 102, 140, 160, 180 and/or one or more other wireless communication devices.
  • device 102 may include at least one radio 114
  • device 140 may include at least one radio 144.
  • radio 114 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.
  • radio 114 may include at least one receiver 116, and/or radio 144 may include at lest one receiver 146.
  • radios 114 and/or 144 may include one or more wireless transmitters (Tx) including circuitry and/or logic to transmit wireless communication signals, RF signals, frames, blocks, transmission streams, packets, messages, data items, and/or data.
  • Tx wireless transmitters
  • radio 114 may include at least one transmitter 118
  • radio 144 may include at least one transmitter 148.
  • radio 114 and/or radio 144, transmitters 118 and/or 148, and/or receivers 116 and/or 146 may include circuitry; logic; Radio Frequency (RF) elements, circuitry and/or logic; baseband elements, circuitry and/or logic; modulation elements, circuitry and/or logic; demodulation elements, circuitry and/or logic; amplifiers; analog to digital and/or digital to analog converters; filters; and/or the like.
  • radio 114 and/or radio 144 may include or may be implemented as part of a wireless Network Interface Card (NIC), and the like.
  • NIC wireless Network Interface Card
  • radios 114 and/or 144 may be configured to communicate over a 2.4GHz band, a 5GHz band, an mmWave band, a S 1G band, and/or any other band.
  • radios 114 and/or 144 may include, or may be associated with, one or more antennas 107 and/or 147, respectively.
  • device 102 may include a single antenna 107. In another example, device 102 may include two or more antennas 107. [0056] In one example, device 140 may include a single antenna 147. In another example, device 140 may include two or more antennas 147.
  • Antennas 107 and/or 147 may include any type of antennas suitable for transmitting and/or receiving wireless communication signals, blocks, frames, transmission streams, packets, messages and/or data.
  • antennas 107 and/or 147 may include any suitable configuration, structure and/or arrangement of one or more antenna elements, components, units, assemblies and/or arrays.
  • Antennas 107 and/or 147 may include, for example, antennas suitable for directional communication, e.g., using beamforming techniques.
  • antennas 107 and/or 147 may include a phased array antenna, a multiple element antenna, a set of switched beam antennas, and/or the like.
  • antennas 107 and/or 147 may implement transmit and receive functionalities using separate transmit and receive antenna elements.
  • antennas 107 and/or 147 may implement transmit and receive functionalities using common and/or integrated transmit/receive elements.
  • wireless communication devices 102, 140, 160 and/or 180 may form, and/or may communicate as part of, a wireless local area network (WLAN).
  • WLAN wireless local area network
  • wireless communication devices 102, 140, 160 and/or 180 may form, and/or may communicate as part of, a WiFi network.
  • wireless communication devices 102, 140, 160 and/or 180 may form, and/or may communicate as part of, a WiFi Direct (WFD) network, e.g., a WiFi direct services (WFDS) network, and/or may operate as and/or perform the functionality of one or more WFD devices.
  • WFD WiFi Direct
  • WFDS WiFi direct services
  • wireless communication devices 102, 140, 160 and/or 180 may include, may operate as, and/or may perform the functionality of a WiFi Direct device.
  • wireless communication devices 102, 140, 160 and/or 180 may be capable of performing awareness networking communications, for example, according to an awareness protocol, e.g., a WiFi aware protocol, and/or any other protocol, e.g., as described below.
  • an awareness protocol e.g., a WiFi aware protocol
  • any other protocol e.g., as described below.
  • wireless communication devices 102, 140, 160 and/or 180 may be capable of forming, and/or communicating as part of, a Neighbor Awareness Networking (NAN) network, e.g., a WiFi NAN or WiFi Aware network, and/or may perform the functionality of one or more NAN devices ("WiFi aware devices").
  • NAN Neighbor Awareness Networking
  • WiFi NAN Wireless Fidelity
  • WiFi Aware Wireless Fidelity
  • WiFi aware devices e.g., WiFi aware devices
  • Some demonstrative embodiments are described herein with respect to one or more NAN devices communicating as part of a NAN network, e.g., a NAN cluster. However, embodiments are not limited to these demonstrative embodiments, and other embodiments may be implemented with respect to any other type of devices and/or STAs communicating as part of any other group, service set, and/or network.
  • wireless communication medium 103 may include a direct link, for example, a PTP link, e.g., a WiFi direct P2P link or any other PTP link, for example, to enable direct communication between wireless communication devices 102, 140, 160 and/or 180.
  • a PTP link e.g., a WiFi direct P2P link or any other PTP link, for example, to enable direct communication between wireless communication devices 102, 140, 160 and/or 180.
  • wireless communication devices 102, 140, 160 and/or 180 may operate as and/or perform the functionality of WFD P2P devices.
  • devices 102, 140, 160 and/or 180 may be able to operate as and/or perform the functionality of a P2P client device, and/or P2P group Owner (GO) device.
  • P2P group Owner GO
  • wireless communication devices 102, 140, 160 and/or 180 may form, and/or communicate as part of, any other network, and/or may perform the functionality of any other wireless devices or stations.
  • devices 102, 140, 160 and/or 180 may include one or more applications configured to provide, to 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 ("WiFi Aware network"), a PTP network, a P2P network, WFD network, or any other network.
  • device 102 may execute an application 125 and/or an application 126.
  • device 140 may execute an application 145.
  • devices 102, 140, 160 and/or 180 may be capable of sharing, showing, sending, transferring, printing, outputting, providing, synchronizing, and/or exchanging content, data, and/or information, e.g., between applications and/or services of devices 102, 140, 160 and/or 180 and/or one or more other devices.
  • devices 102, 140, 160 and/or 180 may include a controller configured to control one or more operations and/or functionalities of devices 102, 140, 160 and/or 180, for example, one or more operations and/or functionalities of communication, e.g., awareness networking communications, WiFi Aware (NAN) communication and/or any other communication, between devices 102, 140, 160 and/or 180 and/or other devices, and/or any other functionality, e.g., as described below.
  • communication e.g., awareness networking communications, WiFi Aware (NAN) communication and/or any other communication
  • device 102 may include a controller 124
  • device 140 may include a controller 154.
  • Controller 124 may be configured to perform and/or to trigger, cause, instruct and/or control device 102 to perform, one or more communications, to generate and/or communicate one or more messages and/or transmissions, and/or to perform one or more functionalities, operations and/or procedures between devices 102, 140, 160, 180 and/or one or more other devices; and/or controller 154 may be configured to perform, and/or to trigger, cause, instruct and/or control device 140 to perform, one or more communications, to generate and/or communicate one or more messages and/or transmissions, and/or to perform one or more functionalities, operations and/or procedures between devices 102, 140, 160, 180 and/or one or more other devices, e.g., as described below.
  • controllers 124 and/or 154 may include, or may be implemented, partially or entirely, by 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, baseband (BB) circuitry and/or logic, a BB processor, a BB memory, Application Processor (AP) circuitry and/or logic, an AP processor, an AP memory, and/or any other circuitry and/or logic, configured to perform the functionality of controllers 124 and/or 154, respectively.
  • 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, baseband (BB) circuitry and/or logic, a BB processor, a BB memory, Application Processor (AP) circuitry
  • controllers 124 and/or 154 may be implemented by logic, which may be executed by a machine and/or one or more processors, e.g., as described below.
  • controller 124 may include circuitry and/or logic, for example, one or more processors including circuitry and/or logic, to cause, trigger and/or control a wireless device, e.g., device 102, and/or a wireless station, e.g., a wireless STA implemented by device 102, to perform one or more operations, communications and/or functionalities, e.g., as described herein.
  • controller 154 may include circuitry and/or logic, for example, one or more processors including circuitry and/or logic, to cause, trigger and/or control a wireless device, e.g., device 140, and/or a wireless station, e.g., a wireless STA implemented by device 140, to perform one or more operations, communications and/or functionalities, e.g., as described herein.
  • a wireless device e.g., device 140
  • a wireless station e.g., a wireless STA implemented by device 140
  • at least part of the functionality of controller 124 may be implemented as part of one or more elements of radio 114, and/or at least part of the functionality of controller 154 may be implemented as part of one or more elements of radio 144.
  • controller 124 may be implemented as part of any other element of device 102, and/or the functionality of controller 154 may be implemented as part of any other element of device 140.
  • controller 124 may perform one or more one or more operations and/or functionalities of, and/or may cause device 102 to perform one or more operations and/or functionalities of, a NAN engine, e.g., a NAN Discovery Engine (DE), for example to process one or more service queries and/or responses, e.g., from applications and/or services on devices 102 and/or 140, and/or one or more other devices.
  • a NAN engine e.g., a NAN Discovery Engine (DE)
  • DE NAN Discovery Engine
  • controller 154 may perform one or more one or more operations and/or functionalities of, and/or may cause device 140 to perform one or more operations and/or functionalities of, a NAN engine, e.g., a NAN Discovery Engine (DE), for example to process one or more service queries and/or responses, e.g., from applications and/or services on devices 102 and/or 140, and/or one or more other devices.
  • a NAN engine e.g., a NAN Discovery Engine (DE)
  • DE NAN Discovery Engine
  • device 102 may include a message processor 128 configured to generate, process and/or access one or messages communicated by device 102.
  • message processor 128 may be configured to generate one or more messages to be transmitted by device 102, and/or message processor 128 may be configured to access and/or to process one or more messages received by device 102, e.g., as described below.
  • message processor 128 may be configured to process transmission of one or more messages from a wireless station, e.g., a wireless STA implemented by device 102; and/or message processor 128 may be configured to process reception of one or more messages by a wireless station, e.g., a wireless STA implemented by device 102.
  • device 140 may include a message processor 158 configured to generate, process and/or access one or messages communicated by device 140.
  • message processor 158 may be configured to generate one or more messages to be transmitted by device 140, and/or message processor 158 may be configured to access and/or to process one or more messages received by device 140, e.g., as described below.
  • message processor 158 may be configured to process transmission of one or more messages from a wireless station, e.g., a wireless STA implemented by device 140; and/or message processor 158 may be configured to process reception of one or more messages by a wireless station, e.g., a wireless STA implemented by device 140.
  • message processors 128 and/or 158 may include, or may be implemented, partially or entirely, by 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, BB circuitry and/or logic, a BB processor, a BB memory, AP circuitry and/or logic, an AP processor, an AP memory, and/or any other circuitry and/or logic, configured to perform the functionality of message processors 128 and/or 158, respectively. Additionally or alternatively, one or more functionalities of message processors 128 and/or 158 may be implemented by logic, which may be executed by a machine and/or one or more processors, e.g., as described below.
  • controllers 124 and/or 154, and/or message processors 128 and/or 158 may perform one or more operations and/or functionalities of, and/or may cause a STA to perform one or more operations and/or functionalities of, a NAN MAC, which may be configured to generate, process and/or handle one or more NAN messages, e.g., NAN Beacon frames and/or NAN Service Discovery Frames (SDFs).
  • NAN MAC which may be configured to generate, process and/or handle one or more NAN messages, e.g., NAN Beacon frames and/or NAN Service Discovery Frames (SDFs).
  • SDFs NAN Service Discovery Frames
  • At least part of the functionality of message processor 128 may be implemented as part of radio 114. [0087] In some demonstrative embodiments, at least part of the functionality of message processor 128 may be implemented as part of controller 124.
  • message processor 128 may be implemented as part of any other element of device 102.
  • controller 124, radio 114, and/or message processor 128 may be implemented by an integrated circuit, for example, a chip, e.g., a System in Chip (SoC).
  • SoC System in Chip
  • the chip or SoC may be configured to perform one or more functionalities of radio 114.
  • the chip or SoC may include one or more elements of controller 124, one or more elements of message processor 128, and/or one or more elements of radio 114.
  • controller 124, message processor 128, and radio 114 may be implemented as part of the chip or SoC.
  • message processor 158 may be implemented as part of radio 144.
  • message processor 158 may be implemented as part of controller 154.
  • functionality of message processor 158 may be implemented as part of any other element of device 140.
  • controller 154, radio 144, and/or message processor 158 may be implemented by an integrated circuit, for example, a chip, e.g., a SoC.
  • the chip or SoC may be configured to perform one or more functionalities of radio 144.
  • the chip or SoC may include one or more elements of controller 154, one or more elements of message processor 158, and/or one or more elements of radio 144.
  • controller 154, message processor 158, and radio 144 may be implemented as part of the chip or SoC.
  • devices 102, 140, 160 and/or 180 may operate as and/or perform the functionality of a device or station, for example, an awareness networking device, a NAN device, a WiFi device, a WiFi Aware device, a WFD device, a WLAN device, a Low Power Long Range (LPLR) device, and/or any other device, capable of discovering other devices according to a discovery protocol and/or scheme.
  • a device or station for example, an awareness networking device, a NAN device, a WiFi device, a WiFi Aware device, a WFD device, a WLAN device, a Low Power Long Range (LPLR) device, and/or any other device, capable of discovering other devices according to a discovery protocol and/or scheme.
  • LPLR Low Power Long Range
  • radios 114 and/or 144 may communicate over wireless communication medium 103 according to an awareness networking scheme, for example, a discovery scheme, for example, a WiFi Aware discovery scheme ("NAN discovery scheme”), and/or any other awareness networking and/or discovery scheme, e.g., as described below.
  • an awareness networking scheme for example, a discovery scheme, for example, a WiFi Aware discovery scheme ("NAN discovery scheme"), and/or any other awareness networking and/or discovery scheme, e.g., as described below.
  • the awareness networking scheme may enable applications to discover services in their close proximity.
  • the NAN technology may be a low power service discovery, which may, for example, scale efficiently, e.g., in dense Wi-Fi environments.
  • a device e.g., one or more of wireless communication devices 102, 140, 160 and/or 180, may include one or more blocks and/or entities to perform network awareness functionality.
  • a device e.g., one or more of devices 102, 140, 160 and/or 180, may be capable of performing the functionality of a NAN device, which may include a NAN MAC and/or a Discovery Engine (DE).
  • NAN device which may include a NAN MAC and/or a Discovery Engine (DE).
  • DE Discovery Engine
  • controllers 124 and/or 154; and/or message processors 128 and/or 158 may be configured to perform the functionality of the discovery engine, and/or message processors 128 and/or 158, and/or controllers 124 and/or 154, may be configured to perform the functionality of the NAN MAC, e.g., as described above.
  • the functionality of the NAN MAC and/or the Discovery engine may be performed by any other element and/or entity of devices 102, 140, 160 and/or 180.
  • the awareness networking scheme may include a discovery scheme or protocol, e.g., as described below.
  • devices 102, 140, 160 and/or 180 may perform a discovery process according to the awareness networking scheme, for example, to discover each other and/or to establish a wireless communication link, e.g., a directional and/or high throughput wireless communication link and/or any other link.
  • devices 102, 140, 160 and/or 180 may be configured to enable time synchronization between devices 102, 140, 160, 180 and/or one or more other devices, e.g., performing the functionality of STAs, e.g., Wi-Fi stations, for example, such that STAs can discover each other more efficiently and/or quickly.
  • STAs e.g., Wi-Fi stations
  • Some demonstrative embodiments are described below with respect to a NAN discovery scheme, and to NAN discovery frames of the NAN discovery scheme. However, in other embodiments, any other discovery scheme and/or discovery frames may be used.
  • the discovery scheme may include a plurality of contention-based discovery windows (DWs).
  • communication during the DWs may be configured to enable time synchronization between STAs, e.g., Wi-Fi stations, e.g., devices 102, 140, 160 and/or 180, so that STAs can find each other more efficiently during a DW.
  • devices of an awareness network may form one or more clusters, e.g., in order to publish and/or subscribe for services.
  • a NAN cluster may be defined by an Anchor Master (AM) (also referred to as a "NAN master device” or “anchor device”).
  • the AM may include a NAN device, which has the highest rank in the NAN cluster.
  • NAN data exchange may be reflected by discovery frames, e.g., Publish, Subscribe and/or Follow-Up Service discovery frames (SDF). These frames may include action frames, which may be sent by a device that wishes to publish a service/application, and/or to subscribe to a published service/application at another end.
  • discovery frames e.g., Publish, Subscribe and/or Follow-Up Service discovery frames (SDF).
  • SDF Service discovery frames
  • action frames may be sent by a device that wishes to publish a service/application, and/or to subscribe to a published service/application at another end.
  • one of devices 102, 140, 160 and/or 180 may operate as and/or perform the functionality of an AM.
  • the AM may be configured to transmit one or more beacons.
  • Another one of devices 102, 140, 160 and/or 180, e.g., device 140, may be configured to receive and process the beacons.
  • devices 102, 140, 160 and/or 180 may operate as and/or perform the functionality of NAN devices, e.g., belonging to a NAN cluster, which may share a common set of NAN parameters, for example, including a common NAN timestamp, and/or a common time period between consecutive discovery windows (DWs).
  • the NAN timestamp may be communicated, for example, as part of a NAN beacon frame, which may be communicated in the NAN cluster.
  • the NAN timestamp may include a Time Synchronization Function (TSF) value, for example, a cluster TSF value, or any other value.
  • TSF Time Synchronization Function
  • devices 102, 140, 160 and/or 180 may be configured to discover one another over a predefined communication channel ("the social channel").
  • the Channel 6 in the 2.4GHz band may be defined as the NAN social channel. Any other additional or alternative channel may be used as the social channel.
  • devices 102, 140, 160 and/or 180 may transmit discovery frames, e.g., SDFs, during the plurality of DWs, e.g., over the social channel and/or any other channel, which may be used for discovery.
  • the NAN AM may advertize the time of the DW, during which NAN devices may exchange SDFs.
  • devices 102, 140, 160 and/or 180 may transmit the discovery frames to discover each other, for example, to enable using the one or more services provided by applications 125, 126 and/or 145.
  • devices 102, 140, 160 and/or 180 may communicate during a DW according to a contention mechanism. For example, devices 102, 140, 160 and/or 180 may check whether or not a channel may be unoccupied prior to an attempt to transmit a discovery frame during the discovery window.
  • a device of devices 102, 140, 160 and/or 180 may not transmit the discovery frame during the DW, e.g., if the channel may be occupied.
  • device 102 may transmit the discovery frame during the DW, e.g., if the channel may be unoccupied.
  • the discovery frame may be transmitted as a group addressed, e.g., broadcast or multicast, discovery frame. In other embodiments, the discovery frame may be transmitted as any other type of frame.
  • the discovery frame may not require an acknowledgement frame. According to these embodiments, a transmitter of the discovery frame may not backoff a transmission of the discovery frame.
  • the discovery frame transmitted by device 102 during the DW may be configured to enable other devices or services that are running on other devices to discover the services on device 102.
  • devices of system 100 may utilize availability information, e.g., in the form of an Availability Interval Bitmap and/or Further Availability Map, for example, to allow a device of devices 102, 140, 160 and/or 180, to advertise its availability, for example, in terms of at least one channel and one or more timeslots, during which the device may be available, e.g., active ("awake"), for example, to perform post NAN activities.
  • availability information e.g., in the form of an Availability Interval Bitmap and/or Further Availability Map, for example, to allow a device of devices 102, 140, 160 and/or 180, to advertise its availability, for example, in terms of at least one channel and one or more timeslots, during which the device may be available, e.g., active ("awake"), for example, to perform post NAN activities.
  • the availability information may be communicated as part of an Availability Attribute, e.g., including a 32-bit bitmap for 32 timeslots, for example, wherein each timeslot may be 16 milliseconds (ms) long. For example, each bit that may be not zero may represent a timeslot, during which a device sending the Availability Attribute may be to be awake and available to send and/or receive data in a specified method.
  • the availability information may include any other additional or alternative information, and/or may be communicated and/or formatted in any other manner.
  • devices 102, 140, 160 and/or 180 may be part of an awareness cluster, e.g., a NAN cluster.
  • devices 102, 140, 160 and/or 180 may form the NAN cluster.
  • devices 102, 140, 160 and/or 180 may be configured to communicate according to a Wi-Fi Aware specification and/or any other awareness networking specification, which may be configured to allow a group of devices to discover other devices/services nearby and/or in close proximity, e.g., with low power.
  • devices 102, 140, 160 and/or 180 may form the NAN cluster and may synchronize to the same clock, e.g., as described above.
  • all devices of the NAN cluster may converge on a time period and channel, e.g., one or more DWs, to facilitate the discovery of services of devices 102, 140, 160 and/or 180, and/or to achieve low power consumption, e.g., as described above.
  • a time period and channel e.g., one or more DWs
  • devices 102, 140, 160 and/or 180 may be configured to utilize NAN as a power efficient, and/or scalable, peer to peer technology, for example, to enable Wi-Fi devices to discover devices and/or services in their close proximity, and/or to setup one or more data paths with one or more peer devices.
  • devices 102, 140, 160 and/or 180 may be configured to form a NAN cluster for devices in proximity, and devices in the same NAN cluster may follow the same awake time schedule, e.g., the same DWs, to facilitate cluster formation and/or achieve low power operation, e.g., as described above.
  • devices 102, 140, 160 and/or 180 may transmit NAN Service Discovery frames, for example, during the DWs, e.g., to publish services that the devices are interested or provide and/or to subscribe to one or more published services, e.g., as described above.
  • two or more NAN devices may set up a NAN Data Path (NDP), for example, over a NAN Data Link (NDL) between the two NAN devices, which may enable to transmit data packets between the two NAN devices.
  • NDP NAN Data Path
  • NDL NAN Data Link
  • the two or more NAN devices may setup the NDL and/or NDP, for example, when a desired service is discovered.
  • two or more devices may wish to communicate with each other.
  • the two or more devices may establish a Service Data Session (SDS), during which the two devices may set up an NDP and/or an NDL, e.g., to support this SDS or more SDSs.
  • SDS Service Data Session
  • devices 102, 140, 160 and/or 180 may be configured to perform one or more operations of a procedure, e.g., a data path setup procedure, for setting up a NAN service, e.g., a unicast service or a multicast service.
  • a procedure e.g., a data path setup procedure
  • NAN service e.g., a unicast service or a multicast service.
  • devices 102, 140, 160 and/or 180 may be configured to perform one or more operations of a procedure, e.g., an NDP, negotiation procedure, for example, to setup a service, for example, to enable data transmission between two NAN devices, for example, NAN2 devices, e.g., between devices 102 and 140.
  • a procedure e.g., an NDP, negotiation procedure
  • NAN2 devices e.g., between devices 102 and 140.
  • simultaneous multi-user (MU) communication e.g., in accordance with an IEEE 802.11ax Specification, may be performed, for example, in a time-domain and/or a frequency-domain, e.g., for downlink (DL) and uplink (UL) transmissions.
  • MU multi-user
  • an AP may be configured to enable MU communication, e.g., for downlink (DL) and/or uplink (UL) transmissions.
  • a downlink MU transmission may include a MU transmission from the AP to a plurality of station (STAs), and/or an uplink MU transmission may include a MU transmission from the plurality of STAs to the AP.
  • STAs station
  • uplink MU transmission may include a MU transmission from the plurality of STAs to the AP.
  • devices 102, 140, 160 and/or 180 may be configured to communicate multicast traffic, for example, between devices within a NAN Multicast Service Group (NMSG), e.g., as described below.
  • NMSG NAN Multicast Service Group
  • two or more of devices 102, 140, 160 and/or 180 may belong to the NMSG, e.g., as described below.
  • devices 102, 140, 160 and/or 180 may be configured to support many-to-many multicast data communication, for example, between devices within an NMSG, for example, in accordance with a NAN Specification, e.g., a future WiFi Aware NAN 2.0 Specification and/or any other specification or protocol.
  • a NAN Specification e.g., a future WiFi Aware NAN 2.0 Specification and/or any other specification or protocol.
  • the NMSG may include a many to many NMSG, e.g., as described below.
  • the NMSG may include, a group formed by one or more NAN devices for a multicast service instance.
  • devices of the NMSG may communicate according to an NMSG schedule, which may include, for example, a set of resource blocks used by an NMSG for data communication.
  • a multicast source device may start a new NMSG.
  • one or more other multicast devices may join this group, and may transmit their own multicast packets.
  • a NAN device of devices 102, 140, 160 and/or 180 may start a new NMSG, and may perform the role of the NMSG originator.
  • a schedule owner device may be in charge of maintaining an NMSG schedule.
  • a NAN device of devices 102, 140, 160 and/or 180 may perform the role of the schedule owner device, and/or may be configured to maintain the NMSG schedule.
  • the originator e.g., device 140
  • the originator may be the first schedule owner device.
  • another device may assume the role of the schedule owner.
  • the schedule owner may be configured, for example, to be in charge of changing a current schedule to a new or updated schedule.
  • devices 102, 140, 160 and/or 180 may be configured to perform one or more operations of, one or more functionalities of and/or, a role of, a NAN multicast device in the NMSG, for example, the originator device, an enroller device, an enrollee device, the schedule owner, and/or any other role.
  • an NMSG schedule followed in an NMSG may need to be updated, e.g., occasionally, as described below.
  • an NMSG Originator may transmit the NMSG Multicast Schedule to NMSG Enrollees, for example, during NMSG Enrollments.
  • the NMSG Originator may update the NMSG Multicast Schedule, e.g., as described below.
  • an NMSG schedule update may happen after a NAN device, e.g., device 102, requests to change the schedule, and a schedule owner, e.g., device 140, accepts the schedule change request.
  • a NAN device e.g., device 102
  • a schedule owner e.g., device 140
  • the NMSG schedule update may happen after the schedule owner updates the schedule by itself.
  • the NMSG schedule may be updated based on any other suitable operation, communication and/or criterion.
  • a schedule owner e.g., device 140
  • a frame e.g., a NAN Action Frame (NAF) or any other frame, including, for example, at least a new schedule and, for example, a time when the schedule owner will transition to the new schedule.
  • NAF NAN Action Frame
  • the schedule owner may transmit the new schedule, e.g., the NAF including the updated schedule, multiple times, for example, to ensure all devices in its range receives the new schedule correctly.
  • the new schedule e.g., the NAF including the updated schedule
  • requiring a schedule owner to transmit the updated NMSG schedule may be sufficient, for example, assuming a network and/or a deployment in which all devices in the NMSG can hear each other. However, it may not be sufficient to have the schedule owner to transmit the updated NMSG schedule, for example, in some networks and/or deployments, for example, when some devices in an NMSG may not be able to hear one or more other devices in the NMSG.
  • multi-hop many-to-many NMSG networks may be formed. Accordingly, there may be a situation, for example, in a multi-hop many-to-many NMSG, in which some devices do not hear the schedule owner, e.g., as described below with reference to Fig. 2.
  • Fig. 2 schematically illustrates a deployment 200 of devices in an NMSG, in accordance with some demonstrative embodiments.
  • the NMSG may include a many-to-many NMSG.
  • some devices of the NMSG e.g., at least the device "C”
  • the device C may be out of a range 210 of the originator/schedule owner A.
  • the schedule owner e.g., the device A
  • updates the schedule devices out of range, e.g., device C
  • the NMSG may break leading to interruption in the service.
  • one or more devices in a many-to-many NMSG may be configured to operate as "enrollers", which may forward schedules from the schedule owner, e.g., the Device A, for example, only when enrolling new devices.
  • one or more devices of the network of Fig. 2 may be configured to support forwarding of the NMSG schedule update to devices of the NMSG, for example, according to a forwarding scheme, e.g., as described below.
  • the schedule owner e.g., Device A
  • existing enrollees e.g., device C
  • may not receive the new schedule e.g., if is the enrollees are out of the range 210 of the Device A.
  • a device e.g., device B
  • hearing a schedule update from some device with higher master rank may retransmit a NAF containing the same information of the schedule update.
  • a device may refrain from transmitting this NAF, for example, if the device receiving the schedule update, e.g., the device B, has already heard another device with a higher master rank, a higher rank, or a higher hop count to the schedule owner transmitting this NAF, and the received signal strength of the transmitter is above some threshold.
  • devices 102, 140, 160 and/or 180 may be configured to forward an updated NMSG multicast schedule, for example, according to a forwarding scheme, which may allow, for example, "flooding" the updated NMSG multicast schedule from a schedule owner, e.g., as described below.
  • a NAN device e.g., device 102, receiving the updated NMSG multicast schedule, may be configured to select whether or not to forward the schedule update, for example, based on one or more forwarding criteria, e.g., as described below.
  • a NAN device e.g., device 102, receiving a schedule from a neighbor NAN device in an NMSG, may be configured to select not to retransmit this schedule, for example, if it is not a new schedule, for example, to allow controlling an overhead with flooding, e.g., as described below.
  • devices 102, 140, 160 and/or 180 may be configured to forward the updated NMSG multicast schedule according to a forwarding scheme, which may be configured, for example, to allow efficient forwarding of the updated NMSG multicast schedule, for example, even in absence of any hop count or rank information in a NAF containing a schedule update frame, e.g., as described below.
  • a forwarding scheme which may be configured, for example, to allow efficient forwarding of the updated NMSG multicast schedule, for example, even in absence of any hop count or rank information in a NAF containing a schedule update frame, e.g., as described below.
  • some or all devices in an NMSG may forward updated NMSG multicast schedules from a schedule owner, for example, by selectively transmitting a NAF containing the same schedule information as received from another device in the NMSG, for example, including the schedule owner, e.g., as described below.
  • devices 102, 140, 160 and/or 180 may be configured to communicate multicast traffic as part of an NMSG, for example, according to an NMSG multicast schedule from a schedule owner, e.g., as described below.
  • device 102 may be configured to communicate multicast traffic with one or more other NAN devices in an NMSG, e.g., as described below.
  • controller 124 may be configured to control cause, and/or trigger device 102 to communicate multicast traffic with one or more other NAN devices in the NMSG, for example, according to an NMSG multicast schedule from a schedule owner.
  • device 102 may communicate multicast traffic with one or more of NAN devices 140, 160 and/or 180, for example, according to an NMSG multicast schedule from device 140.
  • a NAN device of the NMSG e.g., device 102, may be configured to process a frame, for example, a NAF or any other frame, including updated schedule information of an updated NMSG multicast schedule of the NMSG.
  • controller 124 may be configured to control cause, and/or trigger device 102 to receive a first schedule update frame including updated schedule information of an updated NMSG multicast schedule, e.g., as described below.
  • the updated schedule information may include a Multicast Schedule change attribute and a NAN availability attribute, e.g., as described below.
  • the updated schedule information may include any other additional or alternative attribute, element and/or information.
  • an NMSG originator of an NMSG e.g., a one-to- many NMSG or a many-to-many NMSG, may be defined as the schedule owner of the NMSG.
  • the NMSG originator e.g., device 140
  • an NMSG Schedule Owner e.g., device 140
  • may update the NMSG Multicast Schedule for example, by sending a NAN Schedule Update Notification frame including a Multicast Schedule Change attribute and a NAN Availability attribute, which specify a new NMSG Multicast Schedule, e.g., as described below.
  • the Schedule Update Notification frame can be transmitted as either a unicast frame or a multicast frame, e.g., as described below.
  • all NMSG member devices that receive the updated NMSG Multicast Schedule shall start to use the new schedule for multicast related operations.
  • the Multicast Schedule of the NMSG shall be unchanged.
  • the updated schedule information may include an indication of a time at which to transition to the updated NMSG multicast schedule, e.g., as described below.
  • the first schedule update frame may include a NAF. In other embodiments, the first schedule update frame may include any other type of frame, message or transmission. [00185] In some demonstrative embodiments, the first schedule update frame may be from the schedule owner, e.g., as described below. For example, device 102 may receive the first schedule update frame from device 140.
  • the first schedule update frame may be from an originator of the NMSG, e.g., as described below.
  • device 102 may receive the first schedule update frame from device 140.
  • the first schedule update frame may be from another NAN device, which is not the schedule owner, e.g., as described below.
  • device 102 may receive the first schedule update frame from device 180.
  • the first schedule update frame may include a multicast frame to the NMSG, e.g., as described below.
  • a transmitter of the first schedule update frame e.g., device 140, device 160 or device 180, may transmit a multicast transmission including the first schedule update frame to the NMSG, and device 102 may receive the first schedule update frame in the multicast transmission.
  • the first schedule update frame may include a unicast frame to the NAN device 102.
  • device 140, device 160 or device 180 may transmit a unicast transmission of the first schedule update frame to device 102.
  • a NAN device of the NMSG may be configured to determine whether or not the updated schedule information of the updated NMSG multicast schedule of the NMSG is to be forwarded in the NMSG, for example, based on one or more NMSG schedule forwarding criteria, e.g., as described below.
  • controller 124 may be configured to control cause, and/or trigger device 102 to determine whether or not the updated schedule information is to be forwarded, for example, based on at least one forwarding criterion, e.g., as described below.
  • a NAN device of the NMSG which receives the updated schedule information (also referred to as “the forwarding device"), e.g., device 102, device 140, device 160 and/or device 180, may be configured to, when, if, upon, and/or based on, determining that the updated schedule information of the updated NMSG multicast schedule of the NMSG is to be forwarded in the NMSG, transmit a frame, e.g., a NAF or any other frame, including the updated schedule information of the updated schedule of the NMSG (also refereed to as "the schedule update”), e.g., as described below.
  • the forwarding device e.g., device 102, device 140, device 160 and/or device 180
  • controller 124 may be configured to control cause, and/or trigger device 102 to transmit a second schedule update frame including the updated schedule information, e.g., which was included in the first schedule update frame, for example, when, if, upon, and/or based on, determining that the updated schedule information is to be forwarded, e.g., as described below.
  • the second schedule update frame may include a NAF. In other embodiments, the second schedule update frame may include any other frame. [00195] In some demonstrative embodiments, the second schedule update frame may include a multicast frame to the NMSG. For example, device 102 may multicast the second schedule update frame to the NMSG.
  • the forwarding NAN device may be configured to determine whether or not the updated schedule information of the updated NMSG multicast schedule is to be forwarded in the NMSG, for example, based on whether the forwarding NAN device previously received the same schedule information of the updated NMSG multicast schedule from the same schedule owner, e.g., as described below.
  • controller 124 may be configured to control cause, and/or trigger device 102 to select not to forward the updated schedule information, for example, if the updated schedule information is the same as previously received updated schedule information from the same schedule owner.
  • device 102 may select not to forward the updated schedule information, for example, if the updated schedule information is the same as previously received updated schedule information from device 140.
  • one or more NMSG schedule forwarding criteria may be configured to allow only a subset of devices in the NMSG to forward the updated schedule information, e.g., as described below.
  • only a subset of devices in the NMSG may be allowed and/or required to forward the updated schedule information.
  • the at least one forwarding criterion may relate to whether the NAN device, which received the updated schedule, is an enroller or an enrollee, e.g., as described below. [00201] In some demonstrative embodiments, only enrollers may forward the updated schedule information.
  • all enrollers may forward the updated schedule information.
  • only some enrollers may forward the updated schedule information, e.g., all enrollers, which have previously enrolled a device to the NMSG.
  • the set of such enrollers may be decided by the schedule owner or determined locally by each enroller.
  • all enrollers may forward the updated schedule information, and/or only some enrollees may forward the updated schedule information.
  • enrollers shall forward any new schedule from the Schedule Owner.
  • an enroller may be required to forward any new schedule from the schedule owner, e.g., always.
  • controller 124 may be configured to control cause, and/or trigger device 102 to determine that the updated schedule information is to be forwarded, for example, when device 102 is an enroller of the NMSG.
  • enrollees may forward any new schedule from the Schedule Owner. For example, enrollees may be allowed to select whether or not to forward any new schedule from the Schedule Owner.
  • controller 124 may be configured to allow device 102 to determine, e.g., to select whether or not to determine, that the updated schedule information is to be forwarded, for example, when device 102 is an enrollee of the NMSG.
  • the at least one forwarding criterion may relate to whether the forwarding NAN device, e.g., device 102, 140, 160 and/or 180, is a multicast source, e.g., as described below.
  • only multicast sources may forward the updated schedule information.
  • controller 124 may be configured to control cause, and/or trigger device 102 to determine that the updated schedule information is to be forwarded, for example, when device 102 is a multicast source.
  • the forwarding criteria may include a criterion defining that only devices with higher battery power or some other system parameter may forward the updated schedule information.
  • the forwarding criteria may be defined based on some or all of the criteria and/or parameters listed above, and/or additional or alternative criteria and/or parameters may be used.
  • the forwarding device e.g., device 102
  • the forwarding device may be configured to retransmit the updated schedule information multiple times, e.g., so as to ensure its neighbors receive the updated schedule information correctly.
  • controller 124 may be configured to control cause, and/or trigger device 102 to retransmit the second schedule update frame a plurality of times, for example, to ensure that one or more other devices of the NMSG, e.g., devices 140, 160 and/or 180, correctly receive the updated schedule information.
  • the forwarded updated schedule information in the schedule update may be same as that transmitted by the schedule owner.
  • a NAN device of the NMSG may be configured to determine whether or not to forward a received schedule update, for example, based at least on whether the NAN device previously received the same schedule update from the same schedule owner.
  • a NAN device shall not forward a received schedule update, for example, if the NAN device concludes that it previously received the same schedule update from the same schedule owner.
  • the NAN device may be configured to determine whether the NAN device has previously received the same schedule update from the same schedule owner, for example, based on one or more parameters and/or criteria, e.g., as described below.
  • the NAN device may be configured to determine whether the NAN device has previously received the same schedule update from the same schedule owner, for example, by comparing one or more of the following parameters: Common Resource Blocks (CRBs) of the NMSG multicast schedule in the received schedule update, a corresponding transition time TSF and schedule owner information, and/or a sequence Identifier (ID) that associates with the schedule update.
  • CRBs Common Resource Blocks
  • ID sequence Identifier
  • the device may conclude that received updated schedule information is the same as it has currently on record for the NMSG, for example, if all or some of these parameters match with their corresponding values that the device may have currently on record for that NMSG.
  • the device may conclude that the received updated schedule information is a new schedule and may retransmit the received updated schedule information.
  • a NAN device e.g., device 102, device 140, device 160 and/or device 180, may be configured to determine whether or not the updated schedule information is to be forwarded based on a sequence ID, e.g., as described below.
  • controller 124 may be configured to control cause, and/or trigger device 102 to determine whether or not the updated schedule information is to be forwarded based on a sequence ID in the first schedule update frame, e.g., as described below.
  • controller 124 may be configured to control cause, and/or trigger device 102 to determine that the updated schedule information is to be forwarded, for example, when the sequence ID in the first schedule update frame is larger than a stored sequence ID corresponding to the NMSG, e.g., as described below.
  • controller 124 may be configured to control cause, and/or trigger device 102 to determine that the updated schedule information is not to be forwarded, for example, when the sequence ID in the first schedule update frame is not larger than the stored sequence ID corresponding to the NMSG, e.g., as described below.
  • controller 124 may be configured to control cause, and/or trigger device 102 to update the stored sequence ID corresponding to the NMSG to include the sequence ID in the first schedule update frame, e.g., as described below.
  • a device for example, on reception of a Schedule Update Notification frame, a device, e.g., device 102, may determine that the schedule contained in the Schedule Update Notification frame is new, for example, if the Sequence ID in the received NAN Availability attribute is larger than the one the device currently has in record for this NMSG. For example, in this case the device may record this Sequence ID, and may forward the schedule, for example, by transmitting a Schedule Update Notification frame containing the received Multicast Schedule Change attribute and the NAN Availability attribute, e.g., as described below.
  • the NAN device may be configured to determine whether the NAN device has previously received the same schedule update from the same schedule owner, for example, by comparing one or more other additional or alternative fields and/or attributes in a received NAF containing the schedule update. These fields or attributes may be new and/or existing ones.
  • one or more additional or alternative forwarding criteria may be defined, for example, to reduce and/or limit the overhead of forwarding schedule updates, e.g., as described below.
  • a NAN device of devices 102, 140, 160 and/or 180 may be configured to determine whether or not the updated schedule information is to be forwarded, for example, based on a proximity criterion, e.g., as described below.
  • a NAN device of the NMSG may be configured to select not to forward a received schedule, for example, if the NAN device is close to the device that sends the schedule updates, e.g., as described below.
  • controller 124 may be configured to control cause, and/or trigger device 102 to determine whether or not the updated schedule information is to be forwarded based on a proximity criterion corresponding to proximity between device 102 and a device from which the updated schedule information is sent.
  • device 102 may be configured to determine whether device 102 is close to the device from which the updated schedule information is sent, for example, based on a Received Signal Strength Indictor (RSSI) corresponding to the first schedule update frame,
  • RSSI Received Signal Strength Indictor
  • device 102 may be configured to determine whether device 102 is close to the device from which the updated schedule information is sent based on any other additional or alternative parameter and/or measurement, for example, one or more ranging or location estimations.
  • NAN devices e.g., device 102, device 140, device 160 and/or device 180
  • one or more criteria for enabling schedule change requests may be configured, for example, to provide a technical solution of allowing to limit, for example, the number of schedule change requesters in the NMSG and, consequently, the number of possible schedule updates.
  • a support and/or capability of the configuration enabling schedule change requests may be announced in one or more publish messages and/or any other NAN frames, for example, during data path setup, e.g., using existing or new fields and/or attributes. In other embodiments, this configuration may not even be announced at all.
  • the configuration enabling the schedule change requests may be indicated using, for example, one or more reserved bits, for example, in a Service Descriptor Extension Attribute (SDEA) control field in publish frames.
  • SDEA Service Descriptor Extension Attribute
  • the configuration enabling the schedule change requests may be indicated using, for example, one or more reserved bits, for example, in a control field in an NMSG attribute.
  • a NAN device e.g., a NAN device of devices 102, 140, 160 and/or 180, may send schedule change requests only to the originator. For example, even if the schedule change requests are not acknowledged, the NAN device may not initiate a new schedule owner election.
  • This scheme may effectively mean that only the originator can update schedules and only devices in the range of the originator can successfully change the schedule of the NMSG.
  • a NAN device of devices 102, 140, 160 and/or 180 may be configured to transmit a schedule request with a requested schedule change to the schedule owner, e.g., as described below.
  • device 102 may be configured to transmit a schedule request with a requested schedule change to device 140.
  • controller 124 may be configured to control cause, and/or trigger device 102 to transmit a unicast schedule request with a requested schedule change to the schedule owner, and to receive the first schedule update frame from the schedule owner in response to the schedule request.
  • the first schedule update frame may include an indication field to indicate whether the requested schedule change is accepted or rejected, e.g., as described below.
  • a NAN device e.g., devices 102, 140, 160 and/or 180, may be configured to include one or more attributes in Information Content for Schedule frames used for NMSG Schedule Update operation, for example, based on one or more definitions and/or criteria, e. ., as follows:
  • one or more attributes may be Optional (O), while one or more other attributes may be Mandatory (M).
  • a Schedule Request may be required to include a NAN availability attribute and a Multicast Schedule Change attribute, for example, while one or more other attributes, e.g., a Device Capability attribute, an Element Container attribute, and/or an Unaligned Schedule attribute, may be optional.
  • one or more attributes of a Schedule Response may be based on whether or not the Schedule Response includes an indication (status) of Accepted (A) or Rejected (R).
  • the Schedule Response including an Accepted status may be required to include a NAN availability attribute and a Multicast Schedule Change attribute, for example, while one or more other attributes, e.g., a Device Capability attribute, an Element Container attribute, and/or an Unaligned Schedule attribute, may be optional.
  • the Schedule Response including a Rejected status may be required to include a Multicast Schedule Change attribute, for example, while one or more other attributes, e.g., a NAN availability attribute, a Device Capability attribute, an Element Container attribute, and/or an Unaligned Schedule attribute, may be optional.
  • a Schedule Update Notification may be required to include a NAN availability attribute and a Multicast Schedule Change attribute, for example, while one or more other attributes, e.g., a Device Capability attribute, an Element Container attribute, and/or an Unaligned Schedule attribute, may be optional.
  • the contents of one or more messages and/or frames may be defined based on only some of the criteria of Table 1 and/or any other additional or alternative criteria may be defined.
  • the Multicast Schedule Change Attribute (MSCA) Format may be configured to include one or more fields, e.g., as follows: i - ' idd Si c h> lei s ) Value Description
  • Attribute ID 1 0x25 Identifies the type of NAN attribute.
  • NMSG ID 8 Variable NMSG ID if an NMSG
  • the MSCA control field may be defined, e.g., as follows:
  • the MSCA control field may be defined to include other fields and/or information.
  • a Schedule Owner may update a schedule, for example, by sending a Schedule Update Notification frame with a Multicast Schedule Change attribute in which the Request field and the Response field, e.g., in its MSCA control field, are both set to 0, a corresponding NAN Availability attribute in which the Multicast Schedule Change Attribute Changed sub-field in the Attribute Control field is set to 1, and indicating the updated schedule.
  • device 140 may perform a role of the schedule owner and may update a schedule of the NMSG, for example, by sending a Schedule Update Notification frame with a Multicast Schedule Change attribute, e.g., according to Table 2, in which the Request field and the Response field, e.g., in the MSCA control field according to Table 3, are both set to 0, a corresponding NAN Availability attribute in which the Multicast Schedule Change Attribute Changed sub-field in the Attribute Control field is set to 1, and indicating the updated schedule.
  • a Multicast Schedule Change attribute e.g., according to Table 2
  • the Request field and the Response field e.g., in the MSCA control field according to Table 3
  • a corresponding NAN Availability attribute in which the Multicast Schedule Change Attribute Changed sub-field in the Attribute Control field is set to 1, and indicating the updated schedule.
  • Multicast Schedule Change attribute may also indicate a time when the schedule owner will transition to the new schedule, e.g., in the Schedule Change Time field of Table 2.
  • the Schedule Update Notification frame may include one or more other fields and/or values to indicate the schedule update.
  • devices in an NMSG may be allowed to request for a change in the schedule of the NMSG, for example, by sending a unicast Schedule request frame containing a Multicast Schedule Change attribute to the schedule owner, e.g., device 140.
  • the Multicast Schedule Change attribute may include the Request flag set to one (1) and the requested schedule, e.g., according to Table 2.
  • the Schedule Owner e.g., device 140
  • the schedule owner shall send a Schedule Response frame including a Multicast Schedule Change Attribute with a Response flag set to one (1) and the Accept/Reject flag set to one (1), and may use a procedure to update the NMSG schedule, e.g., as described above.
  • the Schedule Owner e.g., device 140
  • the schedule owner shall send a Schedule Response frame including a Multicast Schedule Change Attribute with a Response flag set to one (1) and the Accept/Reject flag set to zero (0), and may specify a reason in the Reason Code field.
  • a Multicast Schedule Change Attribute Format may include one or more fields including a reason Code field to identify the reason when the Response Flag in the MSCA Control field is set to 1 and the Accept/Reject flag is set to 0.
  • Fig. 3 schematically illustrates a sequence diagram 300 of forwarding a multicast schedule update in an NMSG, in accordance with some demonstrative embodiments.
  • one or more of the communications of sequence diagram of Fig. 3 may be performed by devices of an NMSG to forward schedule updates from the NMSG.
  • the NMSG may include six devices, denoted Device A, Device B, Device C, Device D, Device E, and Device F.
  • devices 102, 140, 160 and/or 180 may be configured to perform one or more operations of the devices of Fig. 3.
  • Fig. 1 devices 102, 140, 160 and/or 180
  • Fig. 3 devices 102, 140, 160 and/or 180
  • Device A may perform a role of a schedule owner, e.g., device 140, which may multicast updated schedule information 310 to the devices in the NMSG.
  • updated schedule information 310 may be received by some of the devices in the NMSG, for example, by the Device B, the Device D, the Device E, and the Device F.
  • device C may not receive the updated schedule information 310, for example, if device C is out of the range of the Device A.
  • device E may receive the updated schedule information 310 from the schedule owner, and may determine to forward (320) the updated schedule information, for example, to the devices in the NMSG.
  • device A may receive the forwarded updated schedule information 320 from Device E.
  • device D may receive the updated schedule information from the schedule owner, and may determine to forward (330) the updated schedule information, for example, to the devices in the NMSG.
  • devices B, A and/or F may receive the forwarded updated schedule information 330 from Device D.
  • device B may receive the updated schedule information 310 from the schedule owner, and may determine to forward (340) the updated schedule information to the devices in the NMSG.
  • devices A, D, F and/or C may receive the forwarded updated schedule information 340 from Device B.
  • device C which did not receive the updated schedule information 310 directly from the schedule owner, may receive the forwarded updated schedule information 340 from Device B.
  • Fig. 4 schematically illustrates a method of NMSG multicast schedule, in accordance with some demonstrative embodiments.
  • one or more of the operations of the method of Fig. 4 may be performed by one or more elements of a system, system 100 (Fig. 1); a device, e.g., wireless communication devices 102, 140, 160, and/or 180 (Fig. 1); a controller, e.g., controller 124 (Fig. 1) and/or controller 154 (Fig. 1); a radio, e.g., radio 114 (Fig. 1) and/or radio 144 (Fig. 1); and/or a message processor, e.g., message processor 128 (Fig. 1) and/or message processor 158 (Fig. 1).
  • a device e.g., wireless communication devices 102, 140, 160, and/or 180
  • controller e.g., controller 124 (Fig. 1) and/or controller 154 (Fig. 1
  • a radio e.g., radio 114 (Fig. 1) and
  • the method may include communicating at a NAN device multicast traffic with one or more other NAN devices in a NMSG according to an NMSG multicast schedule from a schedule owner.
  • controller 124 may control, cause and/or trigger device 102 (Fig. 1) to communicate multicast traffic with one or more other NAN devices in the NMSG according to the NMSG multicast schedule from device 140 (Fig. 1), e.g., as described above.
  • the method may include receiving a first schedule update frame including updated schedule information of an updated NMSG multicast schedule.
  • controller 124 may control, cause and/or trigger device 102 (Fig. 1) to receive the first schedule update frame including the updated schedule information of the updated NMSG multicast schedule, for example, from device 140 (Fig. 1), e.g., as described above.
  • the method may include determining whether or not the updated schedule information is to be forwarded based on at least one forwarding criterion.
  • controller 124 may control, cause and/or trigger device 102 (Fig. 1) to determine whether or not the updated schedule information is to be forwarded, for example, based on the at least one forwarding criterion, e.g., as described above.
  • the method may include, when, if, upon, and/or based on, determining that the updated schedule information is to be forwarded, transmitting a second schedule update frame including the updated schedule information.
  • controller 124 may control, cause and/or trigger device 102 (Fig. 1) to transmit the second schedule update frame including the updated schedule information, for example, when device 102 (Fig. 1) determines that the updated schedule information is to be forwarded, e.g., as described above.
  • Product 500 may include one or more tangible computer-readable (“machine-readable”) non-transitory storage media 502, which may include computer-executable instructions, e.g., implemented by logic 504, operable to, when executed by at least one computer processor, enable the at least one computer processor to implement one or more operations at device 102, device 140, device 160, device 180 (Fig. 1), radio 114 (Fig. 1), radio 144 (Fig. 1), transmitter 118 (Fig. 1), transmitter 148 (Fig. 1), receiver 116 (Fig. 1), receiver 146 (Fig. 1), controller 124 (Fig. 1), controller 154 (Fig.
  • non-transitory machine-readable medium may be directed to include all computer- readable media, with the sole exception being a transitory propagating signal.
  • product 500 and/or machine-readable storage media 502 may include one or more types of computer-readable storage media capable of storing data, including volatile memory, non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and the like.
  • machine-readable storage media 502 may include, RAM, DRAM, Double-Data-Rate DRAM (DDR-DRAM), SDRAM, static RAM (SRAM), ROM, programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), Compact Disk ROM (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD- RW), flash memory (e.g., NOR or NAND flash memory), content addressable memory (CAM), polymer memory, phase-change memory, ferroelectric memory, silicon-oxide-nitride-oxide- silicon (SONOS) memory, a disk, a floppy disk, a hard drive, an optical disk, a magnetic disk, a card, a magnetic card, an optical card, a tape, a cassette, and the like.
  • RAM random access memory
  • DDR-DRAM Double-Data-Rate DRAM
  • SDRAM static RAM
  • ROM read-only memory
  • the computer-readable storage media may include any suitable media involved with downloading or transferring a computer program from a remote computer to a requesting computer carried by data signals embodied in a carrier wave or other propagation medium through a communication link, e.g., a modem, radio or network connection.
  • a communication link e.g., a modem, radio or network connection.
  • logic 504 may include instructions, data, and/or code, which, if executed by a machine, may cause the machine to perform a method, process and/or operations as described herein.
  • the machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware, software, firmware, and the like.
  • logic 504 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 apparatus comprising logic and circuitry configured to cause a Neighbor Awareness Networking (NAN) device to communicate multicast traffic with one or more other NAN devices in a NAN Multicast Service Group (NMSG) according to an NMSG multicast schedule from a schedule owner; receive a first schedule update frame comprising updated schedule information of an updated NMSG multicast schedule; determine whether or not the updated schedule information is to be forwarded based on at least one forwarding criterion; and when determining that the updated schedule information is to be forwarded, transmit a second schedule update frame comprising the updated schedule information.
  • NAN Neighbor Awareness Networking
  • NMSG NAN Multicast Service Group
  • Example 2 includes the subject matter of Example 1, and optionally, wherein the apparatus is configured to cause the NAN device to determine whether or not the updated schedule information is to be forwarded based on a sequence Identifier (ID) in the first schedule update frame.
  • Example 3 includes the subject matter of Example 2, and optionally, wherein the apparatus is configured to cause the NAN device to determine the updated schedule information is to be forwarded when the sequence ID in the first schedule update frame is larger than a stored sequence ID corresponding to the NMSG.
  • Example 4 includes the subject matter of Example 3, and optionally, wherein the apparatus is configured to cause the NAN device to update the stored sequence ID corresponding to the NMSG to include the sequence ID in the first schedule update frame.
  • Example 5 includes the subject matter of any one of Examples 1-4, and optionally, wherein the apparatus is configured to cause the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enroller of the NMSG.
  • Example 6 includes the subject matter of any one of Examples 1-5, and optionally, wherein the apparatus is configured to allow the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enrollee of the NMSG.
  • Example 7 includes the subject matter of any one of Examples 1-6, and optionally, wherein the first schedule update frame is from the schedule owner.
  • Example 8 includes the subject matter of any one of Examples 1-7, and optionally, wherein the apparatus is configured to cause the NAN device to transmit a unicast schedule request with a requested schedule change to the schedule owner and to receive the first schedule update frame from the schedule owner in response to the schedule request.
  • Example 9 includes the subject matter of Example 8, and optionally, wherein the first schedule update frame comprises an indication field to indicate whether the requested schedule change is accepted or rejected.
  • Example 10 includes the subject matter of any one of Examples 1-6, and optionally, wherein the first schedule update frame is from another NAN device, which is not the schedule owner.
  • Example 11 includes the subject matter of any one of Examples 1-6, and optionally, wherein the first schedule update frame is from an originator of the NMSG.
  • Example 12 includes the subject matter of any one of Examples 1-11, and optionally, wherein the first schedule update frame comprises a multicast frame to the NMSG.
  • Example 13 includes the subject matter of any one of Examples 1-11, and optionally, wherein the first schedule update frame comprises a unicast frame to the NAN device.
  • Example 14 includes the subject matter of any one of Examples 1-13, and optionally, wherein the second schedule update frame comprises a multicast frame to the NMSG.
  • Example 15 includes the subject matter of any one of Examples 1-14, and optionally, wherein the updated schedule information comprises a Multicast Schedule change attribute and a NAN availability attribute.
  • Example 16 includes the subject matter of any one of Examples 1-15, and optionally, wherein the updated schedule information comprises an indication of a time at which to transition to the updated NMSG multicast schedule.
  • Example 17 includes the subject matter of any one of Examples 1-16, and optionally, wherein the first schedule update frame comprises a NAN Action Frame (NAF).
  • NAF NAN Action Frame
  • Example 18 includes the subject matter of any one of Examples 1-17, and optionally, wherein the second schedule update frame comprises a NAN Action Frame (NAF).
  • NAF NAN Action Frame
  • Example 19 includes the subject matter of any one of Examples 1-18, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is an enroller or an enrollee.
  • Example 20 includes the subject matter of any one of Examples 1-19, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is a multicast source.
  • Example 21 includes the subject matter of any one of Examples 1-20, and optionally, wherein the apparatus is configured to cause the NAN device to retransmit the second schedule update frame a plurality of times.
  • Example 22 includes the subject matter of any one of Examples 1-21, and optionally, wherein the apparatus is configured to cause the NAN device to select not to forward the updated schedule information if the updated schedule information is the same as previously received updated schedule information from the same schedule owner.
  • Example 23 includes the subject matter of any one of Examples 1-22, and optionally, wherein the apparatus is configured to cause the NAN device to determine whether or not the updated schedule information is to be forwarded based on a proximity criterion corresponding to proximity between the NAN device and a device from which the updated schedule information is sent.
  • Example 24 includes the subject matter of any one of Examples 1-23, and optionally, wherein the NMSG comprises a many-to-many NMSG.
  • Example 25 includes the subject matter of any one of Examples 1-24, and optionally, comprising a radio.
  • Example 26 includes the subject matter of any one of Examples 1-25, and optionally, comprising one or more antennas, a processor, and a memory.
  • Example 27 includes a system of wireless communication comprising a Neighbor Awareness Networking (NAN) device, the NAN device comprising one or more antennas; a radio; a memory; a processor; and a controller configured to cause the NAN device to communicate multicast traffic with one or more other NAN devices in a NAN Multicast Service Group (NMSG) according to an NMSG multicast schedule from a schedule owner; receive a first schedule update frame comprising updated schedule information of an updated NMSG multicast schedule; determine whether or not the updated schedule information is to be forwarded based on at least one forwarding criterion; and when determining that the updated schedule information is to be forwarded, transmit a second schedule update frame comprising the updated schedule information.
  • NAN Neighbor Awareness Networking
  • NMSG NAN Multicast Service Group
  • Example 28 includes the subject matter of Example 27, and optionally, wherein the controller is configured to cause the NAN device to determine whether or not the updated schedule information is to be forwarded based on a sequence Identifier (ID) in the first schedule update frame.
  • ID sequence Identifier
  • Example 29 includes the subject matter of Example 28, and optionally, wherein the controller is configured to cause the NAN device to determine the updated schedule information is to be forwarded when the sequence ID in the first schedule update frame is larger than a stored sequence ID corresponding to the NMSG.
  • Example 30 includes the subject matter of Example 29, and optionally, wherein the controller is configured to cause the NAN device to update the stored sequence ID corresponding to the NMSG to include the sequence ID in the first schedule update frame.
  • Example 31 includes the subject matter of any one of Examples 27-30, and optionally, wherein the controller is configured to cause the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enroller of the NMSG.
  • Example 32 includes the subject matter of any one of Examples 27-31, and optionally, wherein the controller is configured to allow the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enrollee of the NMSG.
  • Example 33 includes the subject matter of any one of Examples 27-32, and optionally, wherein the first schedule update frame is from the schedule owner.
  • Example 34 includes the subject matter of any one of Examples 27-33, and optionally, wherein the controller is configured to cause the NAN device to transmit a unicast schedule request with a requested schedule change to the schedule owner and to receive the first schedule update frame from the schedule owner in response to the schedule request.
  • Example 35 includes the subject matter of Example 34, and optionally, wherein the first schedule update frame comprises an indication field to indicate whether the requested schedule change is accepted or rejected.
  • Example 36 includes the subject matter of any one of Examples 27-32, and optionally, wherein the first schedule update frame is from another NAN device, which is not the schedule owner.
  • Example 37 includes the subject matter of any one of Examples 27-32, and optionally, wherein the first schedule update frame is from an originator of the NMSG.
  • Example 38 includes the subject matter of any one of Examples 27-37, and optionally, wherein the first schedule update frame comprises a multicast frame to the NMSG.
  • Example 39 includes the subject matter of any one of Examples 27-37, and optionally, wherein the first schedule update frame comprises a unicast frame to the NAN device.
  • Example 40 includes the subject matter of any one of Examples 27-39, and optionally, wherein the second schedule update frame comprises a multicast frame to the NMSG.
  • Example 41 includes the subject matter of any one of Examples 27-40, and optionally, wherein the updated schedule information comprises a Multicast Schedule change attribute and a NAN availability attribute.
  • Example 42 includes the subject matter of any one of Examples 27-41, and optionally, wherein the updated schedule information comprises an indication of a time at which to transition to the updated NMSG multicast schedule.
  • Example 43 includes the subject matter of any one of Examples 27-42, and optionally, wherein the first schedule update frame comprises a NAN Action Frame (NAF).
  • Example 44 includes the subject matter of any one of Examples 27-43, and optionally, wherein the second schedule update frame comprises a NAN Action Frame (NAF).
  • NAN Action Frame NAN Action Frame
  • Example 45 includes the subject matter of any one of Examples 27-44, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is an enroller or an enrollee.
  • Example 46 includes the subject matter of any one of Examples 27-45, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is a multicast source.
  • Example 47 includes the subject matter of any one of Examples 27-46, and optionally, wherein the controller is configured to cause the NAN device to retransmit the second schedule update frame a plurality of times.
  • Example 48 includes the subject matter of any one of Examples 27-47, and optionally, wherein the controller is configured to cause the NAN device to select not to forward the updated schedule information if the updated schedule information is the same as previously received updated schedule information from the same schedule owner.
  • Example 49 includes the subject matter of any one of Examples 27-48, and optionally, wherein the controller is configured to cause the NAN device to determine whether or not the updated schedule information is to be forwarded based on a proximity criterion corresponding to proximity between the NAN device and a device from which the updated schedule information is sent.
  • Example 50 includes the subject matter of any one of Examples 27-49, and optionally, wherein the NMSG comprises a many-to-many NMSG.
  • Example 51 includes a method to be performed at a Neighbor Awareness Networking (NAN) device, the method comprising communicating multicast traffic with one or more other NAN devices in a NAN Multicast Service Group (NMSG) according to an NMSG multicast schedule from a schedule owner; receiving a first schedule update frame comprising updated schedule information of an updated NMSG multicast schedule; determining whether or not the updated schedule information is to be forwarded based on at least one forwarding criterion; and when determining that the updated schedule information is to be forwarded, transmitting a second schedule update frame comprising the updated schedule information.
  • Example 52 includes the subject matter of Example 51, and optionally, comprising determining whether or not the updated schedule information is to be forwarded based on a sequence Identifier (ID) in the first schedule update frame.
  • ID sequence Identifier
  • Example 53 includes the subject matter of Example 52, and optionally, comprising determining the updated schedule information is to be forwarded when the sequence ID in the first schedule update frame is larger than a stored sequence ID corresponding to the NMSG.
  • Example 54 includes the subject matter of Example 53, and optionally, comprising updating the stored sequence ID corresponding to the NMSG to include the sequence ID in the first schedule update frame.
  • Example 55 includes the subject matter of any one of Examples 51-54, and optionally, comprising determining that the updated schedule information is to be forwarded when the NAN device is an enroller of the NMSG.
  • Example 56 includes the subject matter of any one of Examples 51-55, and optionally, comprising allowing the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enrollee of the NMSG.
  • Example 57 includes the subject matter of any one of Examples 51-56, and optionally, wherein the first schedule update frame is from the schedule owner.
  • Example 58 includes the subject matter of any one of Examples 51-57, and optionally, comprising transmitting a unicast schedule request with a requested schedule change to the schedule owner and receiving the first schedule update frame from the schedule owner in response to the schedule request.
  • Example 59 includes the subject matter of Example 58, and optionally, wherein the first schedule update frame comprises an indication field to indicate whether the requested schedule change is accepted or rejected.
  • Example 60 includes the subject matter of any one of Examples 51-56, and optionally, wherein the first schedule update frame is from another NAN device, which is not the schedule owner.
  • Example 61 includes the subject matter of any one of Examples 51-56, and optionally, wherein the first schedule update frame is from an originator of the NMSG.
  • Example 62 includes the subject matter of any one of Examples 51-61, and optionally, wherein the first schedule update frame comprises a multicast frame to the NMSG.
  • Example 63 includes the subject matter of any one of Examples 51-61, and optionally, wherein the first schedule update frame comprises a unicast frame to the NAN device.
  • Example 64 includes the subject matter of any one of Examples 51-63, and optionally, wherein the second schedule update frame comprises a multicast frame to the NMSG.
  • Example 65 includes the subject matter of any one of Examples 51-64, and optionally, wherein the updated schedule information comprises a Multicast Schedule change attribute and a NAN availability attribute.
  • Example 66 includes the subject matter of any one of Examples 51-65, and optionally, wherein the updated schedule information comprises an indication of a time at which to transition to the updated NMSG multicast schedule.
  • Example 67 includes the subject matter of any one of Examples 51-66, and optionally, wherein the first schedule update frame comprises a NAN Action Frame (NAF).
  • NAF NAN Action Frame
  • Example 68 includes the subject matter of any one of Examples 51-67, and optionally, wherein the second schedule update frame comprises a NAN Action Frame (NAF).
  • Example 69 includes the subject matter of any one of Examples 51-68, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is an enroller or an enrollee.
  • Example 70 includes the subject matter of any one of Examples 51-69, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is a multicast source.
  • Example 71 includes the subject matter of any one of Examples 51-70, and optionally, comprising retransmitting the second schedule update frame a plurality of times.
  • Example 72 includes the subject matter of any one of Examples 51-71, and optionally, comprising selecting not to forward the updated schedule information if the updated schedule information is the same as previously received updated schedule information from the same schedule owner.
  • Example 73 includes the subject matter of any one of Examples 51-72, and optionally, comprising determining whether or not the updated schedule information is to be forwarded based on a proximity criterion corresponding to proximity between the NAN device and a device from which the updated schedule information is sent.
  • Example 74 includes the subject matter of any one of Examples 51-73, and optionally, wherein the NMSG comprises a many-to-many NMSG.
  • Example 75 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 processor, enable the at least one processor to cause a Neighbor Awareness Networking (NAN) device to communicate multicast traffic with one or more other NAN devices in a NAN Multicast Service Group (NMSG) according to an NMSG multicast schedule from a schedule owner; receive a first schedule update frame comprising updated schedule information of an updated NMSG multicast schedule; determine whether or not the updated schedule information is to be forwarded based on at least one forwarding criterion; and when determining that the updated schedule information is to be forwarded, transmit a second schedule update frame comprising the updated schedule information.
  • NAN Neighbor Awareness Networking
  • NMSG NAN Multicast Service Group
  • Example 76 includes the subject matter of Example 75, and optionally, wherein the instructions, when executed, cause the NAN device to determine whether or not the updated schedule information is to be forwarded based on a sequence Identifier (ID) in the first schedule update frame.
  • ID sequence Identifier
  • Example 77 includes the subject matter of Example 76, and optionally, wherein the instructions, when executed, cause the NAN device to determine the updated schedule information is to be forwarded when the sequence ID in the first schedule update frame is larger than a stored sequence ID corresponding to the NMSG.
  • Example 78 includes the subject matter of Example 77, and optionally, wherein the instructions, when executed, cause the NAN device to update the stored sequence ID corresponding to the NMSG to include the sequence ID in the first schedule update frame.
  • Example 79 includes the subject matter of any one of Examples 75-78, and optionally, wherein the instructions, when executed, cause the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enroller of the NMSG.
  • Example 80 includes the subject matter of any one of Examples 75-79, and optionally, wherein the instructions, when executed, allow the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enrollee of the NMSG.
  • Example 81 includes the subject matter of any one of Examples 75-80, and optionally, wherein the first schedule update frame is from the schedule owner.
  • Example 82 includes the subject matter of any one of Examples 75-81, and optionally, wherein the instructions, when executed, cause the NAN device to transmit a unicast schedule request with a requested schedule change to the schedule owner and to receive the first schedule update frame from the schedule owner in response to the schedule request.
  • Example 83 includes the subject matter of Example 82, and optionally, wherein the first schedule update frame comprises an indication field to indicate whether the requested schedule change is accepted or rejected.
  • Example 84 includes the subject matter of any one of Examples 75-80, and optionally, wherein the first schedule update frame is from another NAN device, which is not the schedule owner.
  • Example 85 includes the subject matter of any one of Examples 75-80, and optionally, wherein the first schedule update frame is from an originator of the NMSG.
  • Example 86 includes the subject matter of any one of Examples 75-85, and optionally, wherein the first schedule update frame comprises a multicast frame to the NMSG.
  • Example 87 includes the subject matter of any one of Examples 75-85, and optionally, wherein the first schedule update frame comprises a unicast frame to the NAN device.
  • Example 88 includes the subject matter of any one of Examples 75-87, and optionally, wherein the second schedule update frame comprises a multicast frame to the NMSG.
  • Example 89 includes the subject matter of any one of Examples 75-88, and optionally, wherein the updated schedule information comprises a Multicast Schedule change attribute and a NAN availability attribute.
  • Example 90 includes the subject matter of any one of Examples 75-89, and optionally, wherein the updated schedule information comprises an indication of a time at which to transition to the updated NMSG multicast schedule.
  • Example 91 includes the subject matter of any one of Examples 75-90, and optionally, wherein the first schedule update frame comprises a NAN Action Frame (NAF).
  • NAN Action Frame NAF
  • Example 92 includes the subject matter of any one of Examples 75-91, and optionally, wherein the second schedule update frame comprises a NAN Action Frame (NAF).
  • NAF NAN Action Frame
  • Example 93 includes the subject matter of any one of Examples 75-92, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is an enroller or an enrollee.
  • Example 94 includes the subject matter of any one of Examples 75-93, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is a multicast source.
  • Example 95 includes the subject matter of any one of Examples 75-94, and optionally, wherein the instructions, when executed, cause the NAN device to retransmit the second schedule update frame a plurality of times.
  • Example 96 includes the subject matter of any one of Examples 75-95, and optionally, wherein the instructions, when executed, cause the NAN device to select not to forward the updated schedule information if the updated schedule information is the same as previously received updated schedule information from the same schedule owner.
  • Example 97 includes the subject matter of any one of Examples 75-96, and optionally, wherein the instructions, when executed, cause the NAN device to determine whether or not the updated schedule information is to be forwarded based on a proximity criterion corresponding to proximity between the NAN device and a device from which the updated schedule information is sent.
  • Example 98 includes the subject matter of any one of Examples 75-97, and optionally, wherein the NMSG comprises a many-to-many NMSG.
  • Example 99 includes an apparatus of wireless communication by a Neighbor Awareness Networking (NAN) device, the NAN device comprising means for communicating multicast traffic with one or more other NAN devices in a NAN Multicast Service Group (NMSG) according to an NMSG multicast schedule from a schedule owner; means for receiving a first schedule update frame comprising updated schedule information of an updated NMSG multicast schedule; means for determining whether or not the updated schedule information is to be forwarded based on at least one forwarding criterion; and means for, when determining that the updated schedule information is to be forwarded, transmitting a second schedule update frame comprising the updated schedule information.
  • NAN Neighbor Awareness Networking
  • Example 100 includes the subject matter of Example 99, and optionally, comprising means for determining whether or not the updated schedule information is to be forwarded based on a sequence Identifier (ID) in the first schedule update frame.
  • Example 101 includes the subject matter of Example 100, and optionally, comprising means for determining the updated schedule information is to be forwarded when the sequence ID in the first schedule update frame is larger than a stored sequence ID corresponding to the NMSG.
  • Example 102 includes the subject matter of Example 101, and optionally, comprising means for updating the stored sequence ID corresponding to the NMSG to include the sequence ID in the first schedule update frame.
  • Example 103 includes the subject matter of any one of Examples 99-102, and optionally, comprising means for determining that the updated schedule information is to be forwarded when the NAN device is an enroller of the NMSG.
  • Example 104 includes the subject matter of any one of Examples 99-103, and optionally, comprising means for allowing the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enrollee of the NMSG.
  • Example 105 includes the subject matter of any one of Examples 99-104, and optionally, wherein the first schedule update frame is from the schedule owner.
  • Example 106 includes the subject matter of any one of Examples 99-105, and optionally, comprising means for transmitting a unicast schedule request with a requested schedule change to the schedule owner and receiving the first schedule update frame from the schedule owner in response to the schedule request.
  • Example 107 includes the subject matter of Example 106, and optionally, wherein the first schedule update frame comprises an indication field to indicate whether the requested schedule change is accepted or rejected.
  • Example 108 includes the subject matter of any one of Examples 99-104, and optionally, wherein the first schedule update frame is from another NAN device, which is not the schedule owner.
  • Example 109 includes the subject matter of any one of Examples 99-104, and optionally, wherein the first schedule update frame is from an originator of the NMSG.
  • Example 110 includes the subject matter of any one of Examples 99-109, and optionally, wherein the first schedule update frame comprises a multicast frame to the NMSG.
  • Example 111 includes the subject matter of any one of Examples 99-109, and optionally, wherein the first schedule update frame comprises a unicast frame to the NAN device.
  • Example 112 includes the subject matter of any one of Examples 99-111, and optionally, wherein the second schedule update frame comprises a multicast frame to the NMSG.
  • Example 113 includes the subject matter of any one of Examples 99-112, and optionally, wherein the updated schedule information comprises a Multicast Schedule change attribute and a NAN availability attribute.
  • Example 114 includes the subject matter of any one of Examples 99-113, and optionally, wherein the updated schedule information comprises an indication of a time at which to transition to the updated NMSG multicast schedule.
  • Example 115 includes the subject matter of any one of Examples 99-114, and optionally, wherein the first schedule update frame comprises a NAN Action Frame (NAF).
  • NAF NAN Action Frame
  • Example 116 includes the subject matter of any one of Examples 99-115, and optionally, wherein the second schedule update frame comprises a NAN Action Frame (NAF).
  • NAN Action Frame NAF
  • Example 117 includes the subject matter of any one of Examples 99-116, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is an enroller or an enrollee.
  • Example 118 includes the subject matter of any one of Examples 99-117, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is a multicast source.
  • Example 119 includes the subject matter of any one of Examples 99-118, and optionally, comprising means for retransmitting the second schedule update frame a plurality of times.
  • Example 120 includes the subject matter of any one of Examples 99-119, and optionally, comprising means for selecting not to forward the updated schedule information if the updated schedule information is the same as previously received updated schedule information from the same schedule owner.
  • Example 121 includes the subject matter of any one of Examples 99-120, and optionally, comprising means for determining whether or not the updated schedule information is to be forwarded based on a proximity criterion corresponding to proximity between the NAN device and a device from which the updated schedule information is sent.
  • Example 122 includes the subject matter of any one of Examples 99-121, and optionally, wherein the NMSG comprises a many-to-many NMSG.
  • 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.

Abstract

Some demonstrative embodiments include apparatuses, systems and/or methods of Neighbor Awareness Networking (NAN) Multicast Service Group (NMSG) scheduling. For example, an apparatus may include logic and circuitry configured to cause a NAN device to communicate multicast traffic with one or more other NAN devices in a NMSG according to an NMSG multicast schedule from a schedule owner; to receive a first schedule update frame including updated schedule information of an updated NMSG multicast schedule; to determine whether or not the updated schedule information is to be forwarded based on at least one forwarding criterion; and, when determining that the updated schedule information is to be forwarded, to transmit a second schedule update frame including the updated schedule information.

Description

APPARATUS, SYSTEM AND METHOD OF NEIGHBOR AWARENESS
NETWORKING (NAN) MULTICAST SERVICE GROUP (NMSG) SCHEDULING
CROSS REFERENCE
[001] This Application claims the benefit of and priority from US Provisional Patent Application No. 62/542,367 entitled "APPARATUS, SYSTEM AND METHOD OF FORWARDING A MULTICAST SCHEDULE IN A NEIGHBOR AWARENESS NETWORKING (NAN) MULTICAST SERVICE GROUP (NMSG)", filed August 8, 2017, the entire disclosure of which is incorporated herein by reference.
TECHNICAL FIELD
[002] Embodiments described herein generally relate to Neighbor Awareness Networking (NAN) Multicast Service Group (NMSG) scheduling.
BACKGROUND
[003] Neighbor awareness networking, for example, according to a Wi-Fi Aware Specification, may enable wireless devices, for example, Wi-Fi devices, to perform device/service discovery, e.g., in their close proximity.
[004] The neighbor awareness networking may include forming a cluster, e.g., a Wi-Fi Aware cluster, for devices in proximity. Devices in the same Wi-Fi Aware cluster may be configured to follow the same time schedule, e.g., a discovery window (DW), for example, to facilitate cluster formation and/or to achieve low power operation. BRIEF DESCRIPTION OF THE DRAWINGS
[005] 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.
[006] Fig. 1 is a schematic block diagram illustration of a system, in accordance with some demonstrative embodiments.
[007] Fig. 2 is a schematic illustration of a deployment of devices in a Neighbor Awareness Networking (NAN) Multicast Service Group (NMSG), in accordance with some demonstrative embodiments.
[008] Fig. 3 is a schematic illustration of a sequence diagram of forwarding a multicast schedule update in an NMSG, in accordance with some demonstrative embodiments.
[009] Fig. 4 is a schematic flow-chart illustration of a method of NMSG scheduling, in accordance with some demonstrative embodiments.
[0010] Fig. 5 is a schematic illustration of a product, in accordance with some demonstrative embodiments.
DETAILED DESCRIPTION
[0011] 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.
[0012] 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. [0013] 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.
[0014] 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.
[0015] 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.
[0016] Some embodiments may be used in conjunction with devices and/or networks operating in accordance with existing (WiFi) Alliance (WFA) Specifications (including Wi-Fi Neighbor Awareness Networking (NAN) Technical Specification, Version 1.0, May 1, 2015) and/or future versions and/or derivatives thereof, devices and/or networks operating in accordance with existing WFA Peer-to-Peer (P2P) specifications (WiFi P2P technical specification, version 1.7, July 6, 2016) and/or future versions and/or derivatives thereof, devices and/or networks operating in accordance with existing IEEE 802.11 standards (including IEEE 802.11-2016 (IEEE 802.11-2016, 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, December 7, 2016)) 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 (3GPP), 3GPP 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.
[0017] 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.
[0018] 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.
[0019] The term "wireless device", as used herein, includes, for example, a device capable of wireless communication, a communication device 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 may be integrated with a computer, or a peripheral that may be attached to a computer. In some demonstrative embodiments, the term "wireless device" may optionally include a wireless service.
[0020] 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 may be 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.
[0021] Some demonstrative embodiments may be used in conjunction with a WLAN, e.g., a WiFi 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.
[0022] As used herein, the term "circuitry" may refer to, be part of, or include, an Application Specific Integrated Circuit (ASIC), an integrated circuit, an electronic circuit, a processor (shared, dedicated, or group), and/or memory (shared, dedicated, or group), that execute one or more software or firmware programs, a combinational logic circuit, and/or other suitable hardware components that provide the described functionality. In some embodiments, the circuitry may be implemented in, or functions associated with the circuitry may be implemented by, one or more software or firmware modules. In some embodiments, circuitry may include logic, at least partially operable in hardware.
[0023] The term "logic" may refer, for example, to computing logic embedded in circuitry of a computing apparatus and/or computing logic stored in a memory of a computing apparatus. For example, the logic may be accessible by a processor of the computing apparatus to execute the computing logic to perform computing functions and/or operations. In one example, logic may be embedded in various types of memory and/or firmware, e.g., silicon blocks of various chips and/or processors. Logic may be included in, and/or implemented as part of, various circuitry, e.g. radio circuitry, receiver circuitry, control circuitry, transmitter circuitry, transceiver circuitry, processor circuitry, and/or the like. In one example, logic may be embedded in volatile memory and/or non-volatile memory, including random access memory, read only memory, programmable memory, magnetic memory, flash memory, persistent memory, and/or the like. Logic may be executed by one or more processors using memory, e.g., registers, buffers, stacks, and the like, coupled to the one or more processors, e.g., as necessary to execute the logic.
[0024] 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. [0025] 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 WiFi 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.
[0026] Some demonstrative embodiments are described herein with respect to WiFi communication. However, other embodiments may be implemented with respect to any other communication scheme, network, standard and/or protocol.
[0027] Reference may be now made to Fig. 1, which schematically illustrates a block diagram of a system 100, in accordance with some demonstrative embodiments.
[0028] As shown in Fig. 1, in some demonstrative embodiments system 100 may include a wireless communication network including one or more wireless communication devices, e.g., including wireless communication devices 102, 140, 160 and/or 180.
[0029] In some demonstrative embodiments, wireless communication devices 102, 140, 160 and/or 180 may include, for example, a UE, an MD, a STA, an AP, a PC, a desktop computer, a mobile computer, a laptop computer, an Ultrabook™ computer, a notebook computer, a tablet computer, a server computer, a handheld computer, a handheld device, an Internet of Things (IoT) device, a sensor device, a wearable device, a 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 102, 140, 160 and/or 180 may include, operate as, and/or perform the functionality of, one or more STAs. For example, device 102 may include at least one STA, and/or device 140 may include at least one STA. [0031] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may include, operate as, and/or perform the functionality of, one or more WLAN STAs.
[0032] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may include, operate as, and/or perform the functionality of, one or more Wi-Fi STAs.
[0033] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may include, operate as, and/or perform the functionality of, one or more Bluetooth (BT) devices.
[0034] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may include, operate as, and/or perform the functionality of, one or more Neighbor Awareness Networking (NAN) STAs.
[0035] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may include, operate as, and/or perform the functionality of, one or more location measurement STAs.
[0036] In one example, a station (STA) may include a logical entity that may be a singly addressable instance of a medium access control (MAC) and physical layer (PHY) interface to the wireless medium (WM). The STA may perform any other additional or alternative functionality.
[0037] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may include, operate as, and/or perform the functionality of, any other devices and/or STAs. [0038] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may be configured to operate as, and/or to perform the functionality of, an access point (AP) STA.
[0039] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may be configured to operate as, and/or to perform the functionality of, a non-AP STA.
[0040] In one example, an AP may include an entity that contains a station (STA), e.g., one STA, and provides access to distribution services, via the wireless medium (WM) for associated STAs. The AP may perform any other additional or alternative functionality.
[0041] In one example, a non-AP STA may include a STA that may be not contained within an AP. The non-AP STA may perform any other additional or alternative functionality.
[0042] In one example, device 102 may be configured to operate as, and/or to perform the functionality of, an AP STA, and/or device 140 may be configured to operate as, and/or to perform the functionality of, a non-AP STA.
[0043] In some demonstrative embodiments, device 102 may include, for example, one or more of a processor 191, an input unit 192, an output unit 193, a memory unit 194, and/or a storage unit 195; and/or devices 140, 160 and/or 180 may include, for example, one or more of a processor 181, an input unit 182, an output unit 183, a memory unit 184, and/or a storage unit 185. Devices 102, 140, 160 and/or 180 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 devices 102, 140, 160 and/or 180 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 devices 102, 140, 160 and/or 180 may be distributed among multiple or separate devices.
[0044] In some demonstrative embodiments, processor 191 and/or processor 181 may include, 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 191 executes instructions, for example, of an Operating System (OS) of device 102 and/or of one or more suitable applications. Processor 181 executes instructions, for example, of an Operating System (OS) of device 140 and/or of one or more suitable applications.
[0045] In some demonstrative embodiments, input unit 192 and/or input unit 182 may include, 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 193 and/or output unit 183 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. [0046] In some demonstrative embodiments, memory unit 194 and/or memory unit 184 may include, 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 unit, a long term memory unit, or other suitable memory units. Storage unit 195 and/or storage unit 185 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 unit 194 and/or storage unit 195, for example, may store data processed by device 102. Memory unit 184 and/or storage unit 185, for example, may store data processed by device 140.
[0047] In some demonstrative embodiments, wireless communication devices 102, 140, 160 and/or 180 may be capable of communicating content, data, information and/or signals via a wireless medium (WM) 103. In some demonstrative embodiments, wireless medium 103 may include, for example, a radio channel, a cellular channel, a Global Navigation Satellite System (GNSS) Channel, an RF channel, a WiFi channel, an IR channel, a Bluetooth (BT) channel, and the like. [0048] In some demonstrative embodiments, wireless communication medium 103 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 (S 1G) band, and/or any other frequency band.
[0049] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may include one or more radios including circuitry and/or logic to perform wireless communication between devices 102, 140, 160, 180 and/or one or more other wireless communication devices. For example, device 102 may include at least one radio 114, and/or device 140 may include at least one radio 144. [0050] In some demonstrative embodiments, radio 114 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 114 may include at least one receiver 116, and/or radio 144 may include at lest one receiver 146.
[0051] In some demonstrative embodiments, radios 114 and/or 144 may include one or more wireless transmitters (Tx) including circuitry and/or logic to transmit wireless communication signals, RF signals, frames, blocks, transmission streams, packets, messages, data items, and/or data. For example, radio 114 may include at least one transmitter 118, and/or radio 144 may include at least one transmitter 148.
[0052] In some demonstrative embodiments, radio 114 and/or radio 144, transmitters 118 and/or 148, and/or receivers 116 and/or 146 may include circuitry; logic; Radio Frequency (RF) elements, circuitry and/or logic; baseband elements, circuitry and/or logic; modulation elements, circuitry and/or logic; demodulation elements, circuitry and/or logic; amplifiers; analog to digital and/or digital to analog converters; filters; and/or the like. For example, radio 114 and/or radio 144 may include or may be implemented as part of a wireless Network Interface Card (NIC), and the like.
[0053] In some demonstrative embodiments, radios 114 and/or 144 may be configured to communicate over a 2.4GHz band, a 5GHz band, an mmWave band, a S 1G band, and/or any other band.
[0054] In some demonstrative embodiments, radios 114 and/or 144 may include, or may be associated with, one or more antennas 107 and/or 147, respectively.
[0055] In one example, device 102 may include a single antenna 107. In another example, device 102 may include two or more antennas 107. [0056] In one example, device 140 may include a single antenna 147. In another example, device 140 may include two or more antennas 147.
[0057] Antennas 107 and/or 147 may include any type of antennas suitable for transmitting and/or receiving wireless communication signals, blocks, frames, transmission streams, packets, messages and/or data. For example, antennas 107 and/or 147 may include any suitable configuration, structure and/or arrangement of one or more antenna elements, components, units, assemblies and/or arrays. Antennas 107 and/or 147 may include, for example, antennas suitable for directional communication, e.g., using beamforming techniques. For example, antennas 107 and/or 147 may include a phased array antenna, a multiple element antenna, a set of switched beam antennas, and/or the like. In some embodiments, antennas 107 and/or 147 may implement transmit and receive functionalities using separate transmit and receive antenna elements. In some embodiments, antennas 107 and/or 147 may implement transmit and receive functionalities using common and/or integrated transmit/receive elements.
[0058] In some demonstrative embodiments, wireless communication devices 102, 140, 160 and/or 180 may form, and/or may communicate as part of, a wireless local area network (WLAN).
[0059] In some demonstrative embodiments, wireless communication devices 102, 140, 160 and/or 180 may form, and/or may communicate as part of, a WiFi network.
[0060] In some demonstrative embodiments, wireless communication devices 102, 140, 160 and/or 180 may form, and/or may communicate as part of, a WiFi Direct (WFD) network, e.g., a WiFi direct services (WFDS) network, and/or may operate as and/or perform the functionality of one or more WFD devices. [0061] In one example, wireless communication devices 102, 140, 160 and/or 180 may include, may operate as, and/or may perform the functionality of a WiFi Direct device.
[0062] In some demonstrative embodiments, wireless communication devices 102, 140, 160 and/or 180 may be capable of performing awareness networking communications, for example, according to an awareness protocol, e.g., a WiFi aware protocol, and/or any other protocol, e.g., as described below.
[0063] In some demonstrative embodiments, wireless communication devices 102, 140, 160 and/or 180 may be capable of forming, and/or communicating as part of, a Neighbor Awareness Networking (NAN) network, e.g., a WiFi NAN or WiFi Aware network, and/or may perform the functionality of one or more NAN devices ("WiFi aware devices"). [0064] Some demonstrative embodiments are described herein with respect to one or more NAN devices communicating as part of a NAN network, e.g., a NAN cluster. However, embodiments are not limited to these demonstrative embodiments, and other embodiments may be implemented with respect to any other type of devices and/or STAs communicating as part of any other group, service set, and/or network. [0065] In some demonstrative embodiments, wireless communication medium 103 may include a direct link, for example, a PTP link, e.g., a WiFi direct P2P link or any other PTP link, for example, to enable direct communication between wireless communication devices 102, 140, 160 and/or 180.
[0066] In some demonstrative embodiments, wireless communication devices 102, 140, 160 and/or 180 may operate as and/or perform the functionality of WFD P2P devices. For example, devices 102, 140, 160 and/or 180 may be able to operate as and/or perform the functionality of a P2P client device, and/or P2P group Owner (GO) device.
[0067] In other embodiments, wireless communication devices 102, 140, 160 and/or 180 may form, and/or communicate as part of, any other network, and/or may perform the functionality of any other wireless devices or stations. [0068] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may include one or more applications configured to provide, to 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 ("WiFi Aware network"), a PTP network, a P2P network, WFD network, or any other network. [0069] In some demonstrative embodiments, device 102 may execute an application 125 and/or an application 126. In some demonstrative embodiments, device 140 may execute an application 145.
[0070] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may be capable of sharing, showing, sending, transferring, printing, outputting, providing, synchronizing, and/or exchanging content, data, and/or information, e.g., between applications and/or services of devices 102, 140, 160 and/or 180 and/or one or more other devices.
[0071] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may include a controller configured to control one or more operations and/or functionalities of devices 102, 140, 160 and/or 180, for example, one or more operations and/or functionalities of communication, e.g., awareness networking communications, WiFi Aware (NAN) communication and/or any other communication, between devices 102, 140, 160 and/or 180 and/or other devices, and/or any other functionality, e.g., as described below.
[0072] In some demonstrative embodiments, device 102 may include a controller 124, and/or device 140 may include a controller 154. Controller 124 may be configured to perform and/or to trigger, cause, instruct and/or control device 102 to perform, one or more communications, to generate and/or communicate one or more messages and/or transmissions, and/or to perform one or more functionalities, operations and/or procedures between devices 102, 140, 160, 180 and/or one or more other devices; and/or controller 154 may be configured to perform, and/or to trigger, cause, instruct and/or control device 140 to perform, one or more communications, to generate and/or communicate one or more messages and/or transmissions, and/or to perform one or more functionalities, operations and/or procedures between devices 102, 140, 160, 180 and/or one or more other devices, e.g., as described below.
[0073] In some demonstrative embodiments, controllers 124 and/or 154 may include, or may be implemented, partially or entirely, by 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, baseband (BB) circuitry and/or logic, a BB processor, a BB memory, Application Processor (AP) circuitry and/or logic, an AP processor, an AP memory, and/or any other circuitry and/or logic, configured to perform the functionality of controllers 124 and/or 154, respectively. Additionally or alternatively, one or more functionalities of controllers 124 and/or 154 may be implemented by logic, which may be executed by a machine and/or one or more processors, e.g., as described below. [0074] In one example, controller 124 may include circuitry and/or logic, for example, one or more processors including circuitry and/or logic, to cause, trigger and/or control a wireless device, e.g., device 102, and/or a wireless station, e.g., a wireless STA implemented by device 102, to perform one or more operations, communications and/or functionalities, e.g., as described herein. [0075] In one example, controller 154 may include circuitry and/or logic, for example, one or more processors including circuitry and/or logic, to cause, trigger and/or control a wireless device, e.g., device 140, and/or a wireless station, e.g., a wireless STA implemented by device 140, to perform one or more operations, communications and/or functionalities, e.g., as described herein. [0076] In some demonstrative embodiments, at least part of the functionality of controller 124 may be implemented as part of one or more elements of radio 114, and/or at least part of the functionality of controller 154 may be implemented as part of one or more elements of radio 144.
[0077] In other embodiments, the functionality of controller 124 may be implemented as part of any other element of device 102, and/or the functionality of controller 154 may be implemented as part of any other element of device 140.
[0078] In some demonstrative embodiments, controller 124 may perform one or more one or more operations and/or functionalities of, and/or may cause device 102 to perform one or more operations and/or functionalities of, a NAN engine, e.g., a NAN Discovery Engine (DE), for example to process one or more service queries and/or responses, e.g., from applications and/or services on devices 102 and/or 140, and/or one or more other devices.
[0079] In some demonstrative embodiments, controller 154 may perform one or more one or more operations and/or functionalities of, and/or may cause device 140 to perform one or more operations and/or functionalities of, a NAN engine, e.g., a NAN Discovery Engine (DE), for example to process one or more service queries and/or responses, e.g., from applications and/or services on devices 102 and/or 140, and/or one or more other devices.
[0080] In some demonstrative embodiments, device 102 may include a message processor 128 configured to generate, process and/or access one or messages communicated by device 102.
[0081] In one example, message processor 128 may be configured to generate one or more messages to be transmitted by device 102, and/or message processor 128 may be configured to access and/or to process one or more messages received by device 102, e.g., as described below. In one example, message processor 128 may be configured to process transmission of one or more messages from a wireless station, e.g., a wireless STA implemented by device 102; and/or message processor 128 may be configured to process reception of one or more messages by a wireless station, e.g., a wireless STA implemented by device 102.
[0082] In some demonstrative embodiments, device 140 may include a message processor 158 configured to generate, process and/or access one or messages communicated by device 140. [0083] In one example, message processor 158 may be configured to generate one or more messages to be transmitted by device 140, and/or message processor 158 may be configured to access and/or to process one or more messages received by device 140, e.g., as described below. In one example, message processor 158 may be configured to process transmission of one or more messages from a wireless station, e.g., a wireless STA implemented by device 140; and/or message processor 158 may be configured to process reception of one or more messages by a wireless station, e.g., a wireless STA implemented by device 140.
[0084] In some demonstrative embodiments, message processors 128 and/or 158 may include, or may be implemented, partially or entirely, by 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, BB circuitry and/or logic, a BB processor, a BB memory, AP circuitry and/or logic, an AP processor, an AP memory, and/or any other circuitry and/or logic, configured to perform the functionality of message processors 128 and/or 158, respectively. Additionally or alternatively, one or more functionalities of message processors 128 and/or 158 may be implemented by logic, which may be executed by a machine and/or one or more processors, e.g., as described below.
[0085] In some demonstrative embodiments, controllers 124 and/or 154, and/or message processors 128 and/or 158 may perform one or more operations and/or functionalities of, and/or may cause a STA to perform one or more operations and/or functionalities of, a NAN MAC, which may be configured to generate, process and/or handle one or more NAN messages, e.g., NAN Beacon frames and/or NAN Service Discovery Frames (SDFs).
[0086] In some demonstrative embodiments, at least part of the functionality of message processor 128 may be implemented as part of radio 114. [0087] In some demonstrative embodiments, at least part of the functionality of message processor 128 may be implemented as part of controller 124.
[0088] In other embodiments, the functionality of message processor 128 may be implemented as part of any other element of device 102.
[0089] In some demonstrative embodiments, at least part of the functionality of controller 124, radio 114, and/or message processor 128 may be implemented by an integrated circuit, for example, a chip, e.g., a System in Chip (SoC). In one example, the chip or SoC may be configured to perform one or more functionalities of radio 114. For example, the chip or SoC may include one or more elements of controller 124, one or more elements of message processor 128, and/or one or more elements of radio 114. In one example, controller 124, message processor 128, and radio 114 may be implemented as part of the chip or SoC.
[0090] In some demonstrative embodiments, at least part of the functionality of message processor 158 may be implemented as part of radio 144.
[0091] In some demonstrative embodiments, at least part of the functionality of message processor 158 may be implemented as part of controller 154. [0092] In other embodiments, the functionality of message processor 158 may be implemented as part of any other element of device 140.
[0093] In some demonstrative embodiments, at least part of the functionality of controller 154, radio 144, and/or message processor 158 may be implemented by an integrated circuit, for example, a chip, e.g., a SoC. In one example, the chip or SoC may be configured to perform one or more functionalities of radio 144. For example, the chip or SoC may include one or more elements of controller 154, one or more elements of message processor 158, and/or one or more elements of radio 144. In one example, controller 154, message processor 158, and radio 144 may be implemented as part of the chip or SoC.
[0094] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may operate as and/or perform the functionality of a device or station, for example, an awareness networking device, a NAN device, a WiFi device, a WiFi Aware device, a WFD device, a WLAN device, a Low Power Long Range (LPLR) device, and/or any other device, capable of discovering other devices according to a discovery protocol and/or scheme.
[0095] In some demonstrative embodiments, radios 114 and/or 144 may communicate over wireless communication medium 103 according to an awareness networking scheme, for example, a discovery scheme, for example, a WiFi Aware discovery scheme ("NAN discovery scheme"), and/or any other awareness networking and/or discovery scheme, e.g., as described below.
[0096] In some demonstrative embodiments, the awareness networking scheme, e.g., NAN, may enable applications to discover services in their close proximity. For example, the NAN technology may be a low power service discovery, which may, for example, scale efficiently, e.g., in dense Wi-Fi environments.
[0097] In some demonstrative embodiments, a device, e.g., one or more of wireless communication devices 102, 140, 160 and/or 180, may include one or more blocks and/or entities to perform network awareness functionality. For example, a device, e.g., one or more of devices 102, 140, 160 and/or 180, may be capable of performing the functionality of a NAN device, which may include a NAN MAC and/or a Discovery Engine (DE). In one example, controllers 124 and/or 154; and/or message processors 128 and/or 158, may be configured to perform the functionality of the discovery engine, and/or message processors 128 and/or 158, and/or controllers 124 and/or 154, may be configured to perform the functionality of the NAN MAC, e.g., as described above. In another example, the functionality of the NAN MAC and/or the Discovery engine may be performed by any other element and/or entity of devices 102, 140, 160 and/or 180.
[0098] In some demonstrative embodiments, the awareness networking scheme may include a discovery scheme or protocol, e.g., as described below. [0099] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may perform a discovery process according to the awareness networking scheme, for example, to discover each other and/or to establish a wireless communication link, e.g., a directional and/or high throughput wireless communication link and/or any other link. [00100] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may be configured to enable time synchronization between devices 102, 140, 160, 180 and/or one or more other devices, e.g., performing the functionality of STAs, e.g., Wi-Fi stations, for example, such that STAs can discover each other more efficiently and/or quickly. [00101] Some demonstrative embodiments are described below with respect to a NAN discovery scheme, and to NAN discovery frames of the NAN discovery scheme. However, in other embodiments, any other discovery scheme and/or discovery frames may be used.
[00102] In some demonstrative embodiments, the discovery scheme may include a plurality of contention-based discovery windows (DWs). [00103] In some demonstrative embodiments, communication during the DWs may be configured to enable time synchronization between STAs, e.g., Wi-Fi stations, e.g., devices 102, 140, 160 and/or 180, so that STAs can find each other more efficiently during a DW.
[00104] In some demonstrative embodiments, devices of an awareness network, e.g., a NAN network, may form one or more clusters, e.g., in order to publish and/or subscribe for services. A NAN cluster may be defined by an Anchor Master (AM) (also referred to as a "NAN master device" or "anchor device"). In one example, the AM may include a NAN device, which has the highest rank in the NAN cluster.
[00105] In some demonstrative embodiments, NAN data exchange may be reflected by discovery frames, e.g., Publish, Subscribe and/or Follow-Up Service discovery frames (SDF). These frames may include action frames, which may be sent by a device that wishes to publish a service/application, and/or to subscribe to a published service/application at another end.
[00106] In one example, one of devices 102, 140, 160 and/or 180, e.g., device 102, may operate as and/or perform the functionality of an AM. The AM may be configured to transmit one or more beacons. Another one of devices 102, 140, 160 and/or 180, e.g., device 140, may be configured to receive and process the beacons.
[00107] In one example, devices 102, 140, 160 and/or 180 may operate as and/or perform the functionality of NAN devices, e.g., belonging to a NAN cluster, which may share a common set of NAN parameters, for example, including a common NAN timestamp, and/or a common time period between consecutive discovery windows (DWs). The NAN timestamp may be communicated, for example, as part of a NAN beacon frame, which may be communicated in the NAN cluster. In one example, the NAN timestamp may include a Time Synchronization Function (TSF) value, for example, a cluster TSF value, or any other value. [00108] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may be configured to discover one another over a predefined communication channel ("the social channel"). In one example, the Channel 6 in the 2.4GHz band may be defined as the NAN social channel. Any other additional or alternative channel may be used as the social channel. [00109] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may transmit discovery frames, e.g., SDFs, during the plurality of DWs, e.g., over the social channel and/or any other channel, which may be used for discovery. For example the NAN AM may advertize the time of the DW, during which NAN devices may exchange SDFs.
[00110] In one example, devices 102, 140, 160 and/or 180 may transmit the discovery frames to discover each other, for example, to enable using the one or more services provided by applications 125, 126 and/or 145.
[00111] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may communicate during a DW according to a contention mechanism. For example, devices 102, 140, 160 and/or 180 may check whether or not a channel may be unoccupied prior to an attempt to transmit a discovery frame during the discovery window.
[00112] In some demonstrative embodiments, a device of devices 102, 140, 160 and/or 180, e.g., device 102, may not transmit the discovery frame during the DW, e.g., if the channel may be occupied. In some demonstrative embodiments, for example, device 102 may transmit the discovery frame during the DW, e.g., if the channel may be unoccupied. [00113] In some embodiments, the discovery frame may be transmitted as a group addressed, e.g., broadcast or multicast, discovery frame. In other embodiments, the discovery frame may be transmitted as any other type of frame.
[00114] In some demonstrative embodiments, the discovery frame may not require an acknowledgement frame. According to these embodiments, a transmitter of the discovery frame may not backoff a transmission of the discovery frame.
[00115] In some demonstrative embodiments, the discovery frame transmitted by device 102 during the DW may be configured to enable other devices or services that are running on other devices to discover the services on device 102.
[00116] In some demonstrative embodiments, devices of system 100 may utilize availability information, e.g., in the form of an Availability Interval Bitmap and/or Further Availability Map, for example, to allow a device of devices 102, 140, 160 and/or 180, to advertise its availability, for example, in terms of at least one channel and one or more timeslots, during which the device may be available, e.g., active ("awake"), for example, to perform post NAN activities.
[00117] In one example, the availability information may be communicated as part of an Availability Attribute, e.g., including a 32-bit bitmap for 32 timeslots, for example, wherein each timeslot may be 16 milliseconds (ms) long. For example, each bit that may be not zero may represent a timeslot, during which a device sending the Availability Attribute may be to be awake and available to send and/or receive data in a specified method. In another example, the availability information may include any other additional or alternative information, and/or may be communicated and/or formatted in any other manner.
[00118] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may be part of an awareness cluster, e.g., a NAN cluster.
[00119] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may form the NAN cluster.
[00120] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may be configured to communicate according to a Wi-Fi Aware specification and/or any other awareness networking specification, which may be configured to allow a group of devices to discover other devices/services nearby and/or in close proximity, e.g., with low power.
[00121] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may form the NAN cluster and may synchronize to the same clock, e.g., as described above.
[00122] In one example, all devices of the NAN cluster, may converge on a time period and channel, e.g., one or more DWs, to facilitate the discovery of services of devices 102, 140, 160 and/or 180, and/or to achieve low power consumption, e.g., as described above.
[00123] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may be configured to utilize NAN as a power efficient, and/or scalable, peer to peer technology, for example, to enable Wi-Fi devices to discover devices and/or services in their close proximity, and/or to setup one or more data paths with one or more peer devices.
[00124] For example, devices 102, 140, 160 and/or 180 may be configured to form a NAN cluster for devices in proximity, and devices in the same NAN cluster may follow the same awake time schedule, e.g., the same DWs, to facilitate cluster formation and/or achieve low power operation, e.g., as described above. [00125] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may transmit NAN Service Discovery frames, for example, during the DWs, e.g., to publish services that the devices are interested or provide and/or to subscribe to one or more published services, e.g., as described above.
[00126] In some demonstrative embodiments, two or more NAN devices may set up a NAN Data Path (NDP), for example, over a NAN Data Link (NDL) between the two NAN devices, which may enable to transmit data packets between the two NAN devices. For example, the two or more NAN devices may setup the NDL and/or NDP, for example, when a desired service is discovered.
[00127] In some demonstrative embodiments, two or more devices, for example, two or more of devices 102, 140, 160 and/or 180, may wish to communicate with each other. The two or more devices may establish a Service Data Session (SDS), during which the two devices may set up an NDP and/or an NDL, e.g., to support this SDS or more SDSs.
[00128] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may be configured to perform one or more operations of a procedure, e.g., a data path setup procedure, for setting up a NAN service, e.g., a unicast service or a multicast service.
[00129] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may be configured to perform one or more operations of a procedure, e.g., an NDP, negotiation procedure, for example, to setup a service, for example, to enable data transmission between two NAN devices, for example, NAN2 devices, e.g., between devices 102 and 140.
[00130] In some demonstrative embodiments, simultaneous multi-user (MU) communication, e.g., in accordance with an IEEE 802.11ax Specification, may be performed, for example, in a time-domain and/or a frequency-domain, e.g., for downlink (DL) and uplink (UL) transmissions.
[00131] In some demonstrative embodiments, an AP may be configured to enable MU communication, e.g., for downlink (DL) and/or uplink (UL) transmissions. For example, a downlink MU transmission may include a MU transmission from the AP to a plurality of station (STAs), and/or an uplink MU transmission may include a MU transmission from the plurality of STAs to the AP.
[00132] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may be configured to communicate multicast traffic, for example, between devices within a NAN Multicast Service Group (NMSG), e.g., as described below.
[00133] In one example, two or more of devices 102, 140, 160 and/or 180 may belong to the NMSG, e.g., as described below.
[00134] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may be configured to support many-to-many multicast data communication, for example, between devices within an NMSG, for example, in accordance with a NAN Specification, e.g., a future WiFi Aware NAN 2.0 Specification and/or any other specification or protocol.
[00135] In some demonstrative embodiments, the NMSG may include a many to many NMSG, e.g., as described below. [00136] In some demonstrative embodiments, the NMSG may include, a group formed by one or more NAN devices for a multicast service instance. For example, devices of the NMSG may communicate according to an NMSG schedule, which may include, for example, a set of resource blocks used by an NMSG for data communication.
[00137] In some demonstrative embodiments, for example, a multicast source device (also refereed to as "originator") may start a new NMSG. For example, one or more other multicast devices may join this group, and may transmit their own multicast packets.
[00138] In one example, a NAN device of devices 102, 140, 160 and/or 180, e.g., device 140, may start a new NMSG, and may perform the role of the NMSG originator.
[00139] In some demonstrative embodiments, for example, a schedule owner device may be in charge of maintaining an NMSG schedule.
[00140] For example, a NAN device of devices 102, 140, 160 and/or 180, e.g., device 140, may perform the role of the schedule owner device, and/or may be configured to maintain the NMSG schedule.
[00141] In one example, the originator, e.g., device 140, may be the first schedule owner device. [00142] In some demonstrative embodiments, in some cases, for example, if the originator leaves the NMSG, another device may assume the role of the schedule owner. The schedule owner may be configured, for example, to be in charge of changing a current schedule to a new or updated schedule.
[00143] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may be configured to perform one or more operations of, one or more functionalities of and/or, a role of, a NAN multicast device in the NMSG, for example, the originator device, an enroller device, an enrollee device, the schedule owner, and/or any other role.
[00144] In some demonstrative embodiments, for example, an NMSG schedule followed in an NMSG may need to be updated, e.g., occasionally, as described below. [00145] In some demonstrative embodiments, for example, an NMSG Originator may transmit the NMSG Multicast Schedule to NMSG Enrollees, for example, during NMSG Enrollments. [00146] In some demonstrative embodiments, for example, the NMSG Originator may update the NMSG Multicast Schedule, e.g., as described below.
[00147] In some demonstrative embodiments, an NMSG schedule update may happen after a NAN device, e.g., device 102, requests to change the schedule, and a schedule owner, e.g., device 140, accepts the schedule change request.
[00148] In some demonstrative embodiments, the NMSG schedule update may happen after the schedule owner updates the schedule by itself.
[00149] In other embodiments, the NMSG schedule may be updated based on any other suitable operation, communication and/or criterion. [00150] In some demonstrative embodiments, it may be technically advantageous to be able to have some, most, or even all devices in the NMSG follow the new schedule, for example, so that they can continue to hear and transmit to each other.
[00151] In some demonstrative embodiments, a schedule owner, e.g., device 140, may be allowed to update an NMSG schedule by transmitting a frame, e.g., a NAN Action Frame (NAF) or any other frame, including, for example, at least a new schedule and, for example, a time when the schedule owner will transition to the new schedule.
[00152] In some demonstrative embodiments, the schedule owner may transmit the new schedule, e.g., the NAF including the updated schedule, multiple times, for example, to ensure all devices in its range receives the new schedule correctly. [00153] In some demonstrative embodiments, in some use cases, scenarios and/or deployments, there may be a need to address a technical problem with respect to forwarding an updated NMSG schedule to devices in the NMSG, e.g., as described below.
[00154] For example, requiring a schedule owner to transmit the updated NMSG schedule may be sufficient, for example, assuming a network and/or a deployment in which all devices in the NMSG can hear each other. However, it may not be sufficient to have the schedule owner to transmit the updated NMSG schedule, for example, in some networks and/or deployments, for example, when some devices in an NMSG may not be able to hear one or more other devices in the NMSG.
[00155] In one example, in some cases, multi-hop many-to-many NMSG networks may be formed. Accordingly, there may be a situation, for example, in a multi-hop many-to-many NMSG, in which some devices do not hear the schedule owner, e.g., as described below with reference to Fig. 2. [00156] Reference is made to Fig. 2, which schematically illustrates a deployment 200 of devices in an NMSG, in accordance with some demonstrative embodiments.
[00157] For example, as shown in Fig. 2, the NMSG may include a many-to-many NMSG.
[00158] As shown in Fig. 2, some devices of the NMSG, e.g., at least the device "C", may not be able to hear an NMSG originator, e.g., the Device "A".
[00159] For example, as shown in Fig. 2, the device C may be out of a range 210 of the originator/schedule owner A.
[00160] For example, in such networks, if the schedule owner, e.g., the device A, updates the schedule, devices out of range, e.g., device C, may not be able to follow the new schedule. Hence, the NMSG may break leading to interruption in the service.
[00161] In some demonstrative embodiments, one or more devices in a many-to-many NMSG, e.g., the device E and/or the Device D in the many-to-many NMSG of Fig. 2, may be configured to operate as "enrollers", which may forward schedules from the schedule owner, e.g., the Device A, for example, only when enrolling new devices. [00162] In some demonstrative embodiments, one or more devices of the network of Fig. 2 may be configured to support forwarding of the NMSG schedule update to devices of the NMSG, for example, according to a forwarding scheme, e.g., as described below.
[00163] In some demonstrative embodiments, there may be a technical problem in forwarding the updated schedule, for example, when the schedule owner, e.g., Device A, updates a schedule, and existing enrollees, e.g., device C, may not receive the new schedule, e.g., if is the enrollees are out of the range 210 of the Device A.
[00164] According to one solution for forwarding the schedule update, a device, e.g., device B, hearing a schedule update from some device with higher master rank, may retransmit a NAF containing the same information of the schedule update. [00165] In one example, e.g., in order to limit the number of such transmissions, a device may refrain from transmitting this NAF, for example, if the device receiving the schedule update, e.g., the device B, has already heard another device with a higher master rank, a higher rank, or a higher hop count to the schedule owner transmitting this NAF, and the received signal strength of the transmitter is above some threshold. However, in some use cases, scenarios and/or implementations, this solution may not be efficient, for example, to spread the schedule reliably to all devices in the NMSG, e.g., if rank or hop count information is not included in the schedule update NAF frame. [00166] Referring back to Fig. l, in some demonstrative embodiments, devices 102, 140, 160 and/or 180 may be configured to forward an updated NMSG multicast schedule, for example, according to a forwarding scheme, which may allow, for example, "flooding" the updated NMSG multicast schedule from a schedule owner, e.g., as described below. [00167] In some demonstrative embodiments, a NAN device, e.g., device 102, receiving the updated NMSG multicast schedule, may be configured to select whether or not to forward the schedule update, for example, based on one or more forwarding criteria, e.g., as described below.
[00168] In some demonstrative embodiments, a NAN device, e.g., device 102, receiving a schedule from a neighbor NAN device in an NMSG, may be configured to select not to retransmit this schedule, for example, if it is not a new schedule, for example, to allow controlling an overhead with flooding, e.g., as described below.
[00169] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may be configured to forward the updated NMSG multicast schedule according to a forwarding scheme, which may be configured, for example, to allow efficient forwarding of the updated NMSG multicast schedule, for example, even in absence of any hop count or rank information in a NAF containing a schedule update frame, e.g., as described below.
[00170] In some demonstrative embodiments, some or all devices in an NMSG may forward updated NMSG multicast schedules from a schedule owner, for example, by selectively transmitting a NAF containing the same schedule information as received from another device in the NMSG, for example, including the schedule owner, e.g., as described below.
[00171] In some demonstrative embodiments, devices 102, 140, 160 and/or 180 may be configured to communicate multicast traffic as part of an NMSG, for example, according to an NMSG multicast schedule from a schedule owner, e.g., as described below.
[00172] In some demonstrative embodiments, for example, device 102 may be configured to communicate multicast traffic with one or more other NAN devices in an NMSG, e.g., as described below.
[00173] In some demonstrative embodiments, controller 124 may be configured to control cause, and/or trigger device 102 to communicate multicast traffic with one or more other NAN devices in the NMSG, for example, according to an NMSG multicast schedule from a schedule owner. In one example, device 102 may communicate multicast traffic with one or more of NAN devices 140, 160 and/or 180, for example, according to an NMSG multicast schedule from device 140. [00174] In some demonstrative embodiments, a NAN device of the NMSG, e.g., device 102, may be configured to process a frame, for example, a NAF or any other frame, including updated schedule information of an updated NMSG multicast schedule of the NMSG.
[00175] In some demonstrative embodiments, controller 124 may be configured to control cause, and/or trigger device 102 to receive a first schedule update frame including updated schedule information of an updated NMSG multicast schedule, e.g., as described below.
[00176] In some demonstrative embodiments, the updated schedule information may include a Multicast Schedule change attribute and a NAN availability attribute, e.g., as described below. In other embodiments, the updated schedule information may include any other additional or alternative attribute, element and/or information.
[00177] In some demonstrative embodiments, an NMSG originator of an NMSG, e.g., a one-to- many NMSG or a many-to-many NMSG, may be defined as the schedule owner of the NMSG.
[00178] In some demonstrative embodiments, the NMSG originator, e.g., device 140, may be allowed to update the NMSG multicast schedule, e.g., as described below. [00179] In some demonstrative embodiments, for example, an NMSG Schedule Owner, e.g., device 140, may update the NMSG Multicast Schedule, for example, by sending a NAN Schedule Update Notification frame including a Multicast Schedule Change attribute and a NAN Availability attribute, which specify a new NMSG Multicast Schedule, e.g., as described below.
[00180] In some demonstrative embodiments, the Schedule Update Notification frame can be transmitted as either a unicast frame or a multicast frame, e.g., as described below.
[00181] In some demonstrative embodiments, for example, all NMSG member devices that receive the updated NMSG Multicast Schedule shall start to use the new schedule for multicast related operations.
[00182] In some demonstrative embodiments, for example, when the originator of the many to many NMSG leaves, the Multicast Schedule of the NMSG shall be unchanged.
[00183] In some demonstrative embodiments, the updated schedule information may include an indication of a time at which to transition to the updated NMSG multicast schedule, e.g., as described below.
[00184] In some demonstrative embodiments, the first schedule update frame may include a NAF. In other embodiments, the first schedule update frame may include any other type of frame, message or transmission. [00185] In some demonstrative embodiments, the first schedule update frame may be from the schedule owner, e.g., as described below. For example, device 102 may receive the first schedule update frame from device 140.
[00186] In some demonstrative embodiments, the first schedule update frame may be from an originator of the NMSG, e.g., as described below. For example, device 102 may receive the first schedule update frame from device 140.
[00187] In some demonstrative embodiments, the first schedule update frame may be from another NAN device, which is not the schedule owner, e.g., as described below. For example, device 102 may receive the first schedule update frame from device 180. [00188] In some demonstrative embodiments, the first schedule update frame may include a multicast frame to the NMSG, e.g., as described below. For example, a transmitter of the first schedule update frame, e.g., device 140, device 160 or device 180, may transmit a multicast transmission including the first schedule update frame to the NMSG, and device 102 may receive the first schedule update frame in the multicast transmission. [00189] In some demonstrative embodiments, the first schedule update frame may include a unicast frame to the NAN device 102. For example, device 140, device 160 or device 180 may transmit a unicast transmission of the first schedule update frame to device 102.
[00190] In some demonstrative embodiments, a NAN device of the NMSG, e.g., device 102, device 140, device 160 and/or device 180, may be configured to determine whether or not the updated schedule information of the updated NMSG multicast schedule of the NMSG is to be forwarded in the NMSG, for example, based on one or more NMSG schedule forwarding criteria, e.g., as described below.
[00191] In some demonstrative embodiments, controller 124 may be configured to control cause, and/or trigger device 102 to determine whether or not the updated schedule information is to be forwarded, for example, based on at least one forwarding criterion, e.g., as described below.
[00192] In some demonstrative embodiments, a NAN device of the NMSG, which receives the updated schedule information (also referred to as "the forwarding device"), e.g., device 102, device 140, device 160 and/or device 180, may be configured to, when, if, upon, and/or based on, determining that the updated schedule information of the updated NMSG multicast schedule of the NMSG is to be forwarded in the NMSG, transmit a frame, e.g., a NAF or any other frame, including the updated schedule information of the updated schedule of the NMSG (also refereed to as "the schedule update"), e.g., as described below.
[00193] In some demonstrative embodiments, controller 124 may be configured to control cause, and/or trigger device 102 to transmit a second schedule update frame including the updated schedule information, e.g., which was included in the first schedule update frame, for example, when, if, upon, and/or based on, determining that the updated schedule information is to be forwarded, e.g., as described below.
[00194] In some demonstrative embodiments, the second schedule update frame may include a NAF. In other embodiments, the second schedule update frame may include any other frame. [00195] In some demonstrative embodiments, the second schedule update frame may include a multicast frame to the NMSG. For example, device 102 may multicast the second schedule update frame to the NMSG.
[00196] In some demonstrative embodiments, the forwarding NAN device may be configured to determine whether or not the updated schedule information of the updated NMSG multicast schedule is to be forwarded in the NMSG, for example, based on whether the forwarding NAN device previously received the same schedule information of the updated NMSG multicast schedule from the same schedule owner, e.g., as described below.
[00197] In some demonstrative embodiments, controller 124 may be configured to control cause, and/or trigger device 102 to select not to forward the updated schedule information, for example, if the updated schedule information is the same as previously received updated schedule information from the same schedule owner. For example, device 102 may select not to forward the updated schedule information, for example, if the updated schedule information is the same as previously received updated schedule information from device 140.
[00198] In some demonstrative embodiments, one or more NMSG schedule forwarding criteria may be configured to allow only a subset of devices in the NMSG to forward the updated schedule information, e.g., as described below.
[00199] In some demonstrative embodiments, for example, only a subset of devices in the NMSG may be allowed and/or required to forward the updated schedule information.
[00200] In some demonstrative embodiments, the at least one forwarding criterion may relate to whether the NAN device, which received the updated schedule, is an enroller or an enrollee, e.g., as described below. [00201] In some demonstrative embodiments,, only enrollers may forward the updated schedule information.
[00202] In some demonstrative embodiments, all enrollers may forward the updated schedule information. [00203] In some demonstrative embodiments, only some enrollers may forward the updated schedule information, e.g., all enrollers, which have previously enrolled a device to the NMSG. For example, the set of such enrollers may be decided by the schedule owner or determined locally by each enroller.
[00204] In some demonstrative embodiments,, all enrollers may forward the updated schedule information, and/or only some enrollees may forward the updated schedule information.
[00205] In some demonstrative embodiments, for example, in a many-to-many NMSG, enrollers shall forward any new schedule from the Schedule Owner. For example, an enroller may be required to forward any new schedule from the schedule owner, e.g., always.
[00206] In some demonstrative embodiments, controller 124 may be configured to control cause, and/or trigger device 102 to determine that the updated schedule information is to be forwarded, for example, when device 102 is an enroller of the NMSG.
[00207] In some demonstrative embodiments, enrollees may forward any new schedule from the Schedule Owner. For example, enrollees may be allowed to select whether or not to forward any new schedule from the Schedule Owner. [00208] In some demonstrative embodiments, controller 124 may be configured to allow device 102 to determine, e.g., to select whether or not to determine, that the updated schedule information is to be forwarded, for example, when device 102 is an enrollee of the NMSG.
[00209] In some demonstrative embodiments, the at least one forwarding criterion may relate to whether the forwarding NAN device, e.g., device 102, 140, 160 and/or 180, is a multicast source, e.g., as described below.
[00210] In some demonstrative embodiments, only multicast sources may forward the updated schedule information.
[00211] In some demonstrative embodiments, controller 124 may be configured to control cause, and/or trigger device 102 to determine that the updated schedule information is to be forwarded, for example, when device 102 is a multicast source. [00212] In some demonstrative embodiments, the forwarding criteria may include a criterion defining that only devices with higher battery power or some other system parameter may forward the updated schedule information.
[00213] In some embodiments, the forwarding criteria may be defined based on some or all of the criteria and/or parameters listed above, and/or additional or alternative criteria and/or parameters may be used.
[00214] In some demonstrative embodiments, the forwarding device, e.g., device 102, may be configured to retransmit the updated schedule information multiple times, e.g., so as to ensure its neighbors receive the updated schedule information correctly. [00215] In some demonstrative embodiments, controller 124 may be configured to control cause, and/or trigger device 102 to retransmit the second schedule update frame a plurality of times, for example, to ensure that one or more other devices of the NMSG, e.g., devices 140, 160 and/or 180, correctly receive the updated schedule information.
[00216] In some demonstrative embodiments, the forwarded updated schedule information in the schedule update may be same as that transmitted by the schedule owner.
[00217] In some demonstrative embodiments, a NAN device of the NMSG, e.g., device 102, device 140, device 160 and/or device 180, may be configured to determine whether or not to forward a received schedule update, for example, based at least on whether the NAN device previously received the same schedule update from the same schedule owner. [00218] In one example, e.g., in order to limit an overhead of forwarding schedule updates, a NAN device shall not forward a received schedule update, for example, if the NAN device concludes that it previously received the same schedule update from the same schedule owner.
[00219] In some demonstrative embodiments, the NAN device may be configured to determine whether the NAN device has previously received the same schedule update from the same schedule owner, for example, based on one or more parameters and/or criteria, e.g., as described below.
[00220] In some demonstrative embodiments, the NAN device may be configured to determine whether the NAN device has previously received the same schedule update from the same schedule owner, for example, by comparing one or more of the following parameters: Common Resource Blocks (CRBs) of the NMSG multicast schedule in the received schedule update, a corresponding transition time TSF and schedule owner information, and/or a sequence Identifier (ID) that associates with the schedule update. [00221] In other embodiments, some or all of these parameters and/or any other additional or alternative parameters may be implemented.
[00222] In some demonstrative embodiments, the device may conclude that received updated schedule information is the same as it has currently on record for the NMSG, for example, if all or some of these parameters match with their corresponding values that the device may have currently on record for that NMSG.
[00223] In some demonstrative embodiments, the device may conclude that the received updated schedule information is a new schedule and may retransmit the received updated schedule information. [00224] In some demonstrative embodiments, a NAN device, e.g., device 102, device 140, device 160 and/or device 180, may be configured to determine whether or not the updated schedule information is to be forwarded based on a sequence ID, e.g., as described below.
[00225] In some demonstrative embodiments, controller 124 may be configured to control cause, and/or trigger device 102 to determine whether or not the updated schedule information is to be forwarded based on a sequence ID in the first schedule update frame, e.g., as described below.
[00226] In some demonstrative embodiments, controller 124 may be configured to control cause, and/or trigger device 102 to determine that the updated schedule information is to be forwarded, for example, when the sequence ID in the first schedule update frame is larger than a stored sequence ID corresponding to the NMSG, e.g., as described below.
[00227] In some demonstrative embodiments, controller 124 may be configured to control cause, and/or trigger device 102 to determine that the updated schedule information is not to be forwarded, for example, when the sequence ID in the first schedule update frame is not larger than the stored sequence ID corresponding to the NMSG, e.g., as described below. [00228] In some demonstrative embodiments, controller 124 may be configured to control cause, and/or trigger device 102 to update the stored sequence ID corresponding to the NMSG to include the sequence ID in the first schedule update frame, e.g., as described below.
[00229] In some demonstrative embodiments, for example, on reception of a Schedule Update Notification frame, a device, e.g., device 102, may determine that the schedule contained in the Schedule Update Notification frame is new, for example, if the Sequence ID in the received NAN Availability attribute is larger than the one the device currently has in record for this NMSG. For example, in this case the device may record this Sequence ID, and may forward the schedule, for example, by transmitting a Schedule Update Notification frame containing the received Multicast Schedule Change attribute and the NAN Availability attribute, e.g., as described below.
[00230] In some demonstrative embodiments, the NAN device may be configured to determine whether the NAN device has previously received the same schedule update from the same schedule owner, for example, by comparing one or more other additional or alternative fields and/or attributes in a received NAF containing the schedule update. These fields or attributes may be new and/or existing ones.
[00231] In some demonstrative embodiments, one or more additional or alternative forwarding criteria may be defined, for example, to reduce and/or limit the overhead of forwarding schedule updates, e.g., as described below.
[00232] In some demonstrative embodiments, a NAN device of devices 102, 140, 160 and/or 180, e.g., device 102, may be configured to determine whether or not the updated schedule information is to be forwarded, for example, based on a proximity criterion, e.g., as described below.
[00233] In one example, a NAN device of the NMSG, e.g., device 102, device 140, device 160 and/or device 180, may be configured to select not to forward a received schedule, for example, if the NAN device is close to the device that sends the schedule updates, e.g., as described below. [00234] In some demonstrative embodiments, controller 124 may be configured to control cause, and/or trigger device 102 to determine whether or not the updated schedule information is to be forwarded based on a proximity criterion corresponding to proximity between device 102 and a device from which the updated schedule information is sent.
[00235] In one example, device 102may be configured to determine whether device 102 is close to the device from which the updated schedule information is sent, for example, based on a Received Signal Strength Indictor (RSSI) corresponding to the first schedule update frame,
[00236] In another example, device 102 may be configured to determine whether device 102 is close to the device from which the updated schedule information is sent based on any other additional or alternative parameter and/or measurement, for example, one or more ranging or location estimations.
[00237] In some demonstrative embodiments, NAN devices, e.g., device 102, device 140, device 160 and/or device 180, may be configured to enable schedule change requests, e.g., but not new schedule owner election in the NMSG, for example, in order to limit schedule updates in the NMSG, e.g., as described below.
[00238] In some demonstrative embodiments, one or more criteria for enabling schedule change requests may be configured, for example, to provide a technical solution of allowing to limit, for example, the number of schedule change requesters in the NMSG and, consequently, the number of possible schedule updates.
[00239] In some demonstrative embodiments, a support and/or capability of the configuration enabling schedule change requests may be announced in one or more publish messages and/or any other NAN frames, for example, during data path setup, e.g., using existing or new fields and/or attributes. In other embodiments, this configuration may not even be announced at all.
[00240] In some demonstrative embodiments, the configuration enabling the schedule change requests may be indicated using, for example, one or more reserved bits, for example, in a Service Descriptor Extension Attribute (SDEA) control field in publish frames.
[00241] In some demonstrative embodiments, the configuration enabling the schedule change requests may be indicated using, for example, one or more reserved bits, for example, in a control field in an NMSG attribute.
[00242] In one example, according to this scheme, a NAN device, e.g., a NAN device of devices 102, 140, 160 and/or 180, may send schedule change requests only to the originator. For example, even if the schedule change requests are not acknowledged, the NAN device may not initiate a new schedule owner election. This scheme may effectively mean that only the originator can update schedules and only devices in the range of the originator can successfully change the schedule of the NMSG.
[00243] In some demonstrative embodiments, a NAN device of devices 102, 140, 160 and/or 180, e.g., device 102, may be configured to transmit a schedule request with a requested schedule change to the schedule owner, e.g., as described below. For example, device 102 may be configured to transmit a schedule request with a requested schedule change to device 140.
[00244] In some demonstrative embodiments, controller 124 may be configured to control cause, and/or trigger device 102 to transmit a unicast schedule request with a requested schedule change to the schedule owner, and to receive the first schedule update frame from the schedule owner in response to the schedule request. [00245] In some demonstrative embodiments, the first schedule update frame may include an indication field to indicate whether the requested schedule change is accepted or rejected, e.g., as described below.
[00246] In some demonstrative embodiments, a NAN device, e.g., devices 102, 140, 160 and/or 180, may be configured to include one or more attributes in Information Content for Schedule frames used for NMSG Schedule Update operation, for example, based on one or more definitions and/or criteria, e. ., as follows:
Figure imgf000035_0001
Table 1
[00247] For example, according to Table 1 one or more attributes may be Optional (O), while one or more other attributes may be Mandatory (M).
[00248] In one example, according to Table 1, a Schedule Request may be required to include a NAN availability attribute and a Multicast Schedule Change attribute, for example, while one or more other attributes, e.g., a Device Capability attribute, an Element Container attribute, and/or an Unaligned Schedule attribute, may be optional. [00249] In another example, according to Table 1, one or more attributes of a Schedule Response may be based on whether or not the Schedule Response includes an indication (status) of Accepted (A) or Rejected (R).
[00250] For example, according to Table 1, the Schedule Response including an Accepted status may be required to include a NAN availability attribute and a Multicast Schedule Change attribute, for example, while one or more other attributes, e.g., a Device Capability attribute, an Element Container attribute, and/or an Unaligned Schedule attribute, may be optional.
[00251] For example, according to Table 1, the Schedule Response including a Rejected status may be required to include a Multicast Schedule Change attribute, for example, while one or more other attributes, e.g., a NAN availability attribute, a Device Capability attribute, an Element Container attribute, and/or an Unaligned Schedule attribute, may be optional.
[00252] In another example, according to Table 1, a Schedule Update Notification may be required to include a NAN availability attribute and a Multicast Schedule Change attribute, for example, while one or more other attributes, e.g., a Device Capability attribute, an Element Container attribute, and/or an Unaligned Schedule attribute, may be optional.
[00253] In other embodiments, the contents of one or more messages and/or frames may be defined based on only some of the criteria of Table 1 and/or any other additional or alternative criteria may be defined.
[00254] In some demonstrative embodiments, the Multicast Schedule Change Attribute (MSCA) Format may be configured to include one or more fields, e.g., as follows: i -'idd Si c h> lei s ) Value Description
Attribute ID 1 0x25 Identifies the type of NAN attribute.
Length of the following fields in the
Length 2 Variable
attribute.
NMSG ID 8 Variable NMSG ID if an NMSG
Schedule
8 Variable TSF of time for Schedule change
Change Time
MSCA Control 2 Variable See Table 3 Identifies the reason when the Response
Flag in the MSCA Control field is set to 1
Reason Code 1 Variable and the Accept/Reject flag is set to 0. This field is reserved when those flags are set to other values.
Multicast
Schedule One or more Multicast Schedule Change
Variable Variable
Change Entry Entries.
List
Table 2
[00255] In some demonstrative embodiments, in one example, the MSCA control field may be defined, e.g., as follows:
Number
Accept/Reject Flag Set to 1 if schedule change
Accepted, 0 otherwise
Request Request Flag (Set to 1 if it is a
request, 0 otherwise)
Response Response Flag (Set to 1 if it is a
response, 0 otherwise)
Reserved Reserved for future use.
Table 3 [00256] In other embodiments, the MSCA control field may be defined to include other fields and/or information.
[00257] In some demonstrative embodiments, in one example, a Schedule Owner may update a schedule, for example, by sending a Schedule Update Notification frame with a Multicast Schedule Change attribute in which the Request field and the Response field, e.g., in its MSCA control field, are both set to 0, a corresponding NAN Availability attribute in which the Multicast Schedule Change Attribute Changed sub-field in the Attribute Control field is set to 1, and indicating the updated schedule.
[00258] For example, device 140 may perform a role of the schedule owner and may update a schedule of the NMSG, for example, by sending a Schedule Update Notification frame with a Multicast Schedule Change attribute, e.g., according to Table 2, in which the Request field and the Response field, e.g., in the MSCA control field according to Table 3, are both set to 0, a corresponding NAN Availability attribute in which the Multicast Schedule Change Attribute Changed sub-field in the Attribute Control field is set to 1, and indicating the updated schedule.
[00259] In some demonstrative embodiments, Multicast Schedule Change attribute may also indicate a time when the schedule owner will transition to the new schedule, e.g., in the Schedule Change Time field of Table 2.
[00260] In other embodiments, the Schedule Update Notification frame may include one or more other fields and/or values to indicate the schedule update.
[00261] In some demonstrative embodiments, devices in an NMSG, e.g., devices 102, 140 and/or 180, may be allowed to request for a change in the schedule of the NMSG, for example, by sending a unicast Schedule request frame containing a Multicast Schedule Change attribute to the schedule owner, e.g., device 140. For example, the Multicast Schedule Change attribute may include the Request flag set to one (1) and the requested schedule, e.g., according to Table 2.
[00262] In some demonstrative embodiments, for example, if the Schedule Owner, e.g., device 140, accepts the schedule request, the schedule owner shall send a Schedule Response frame including a Multicast Schedule Change Attribute with a Response flag set to one (1) and the Accept/Reject flag set to one (1), and may use a procedure to update the NMSG schedule, e.g., as described above.
[00263] In some demonstrative embodiments, for example, if the Schedule Owner, e.g., device 140, rejects the schedule request, the schedule owner shall send a Schedule Response frame including a Multicast Schedule Change Attribute with a Response flag set to one (1) and the Accept/Reject flag set to zero (0), and may specify a reason in the Reason Code field.
[00264] In one example, a Multicast Schedule Change Attribute Format may include one or more fields including a reason Code field to identify the reason when the Response Flag in the MSCA Control field is set to 1 and the Accept/Reject flag is set to 0. [00265] Reference is made to Fig. 3, which schematically illustrates a sequence diagram 300 of forwarding a multicast schedule update in an NMSG, in accordance with some demonstrative embodiments.
[00266] In some demonstrative embodiments, one or more of the communications of sequence diagram of Fig. 3 may be performed by devices of an NMSG to forward schedule updates from the NMSG. For example, as shown in Fig. 3, the NMSG may include six devices, denoted Device A, Device B, Device C, Device D, Device E, and Device F.
[00267] In one example, devices 102, 140, 160 and/or 180 (Fig. 1) may be configured to perform one or more operations of the devices of Fig. 3. [00268] It is noted that only some of the possible multicast schedule update NAF transmissions may be shown in sequence diagram 300.
[00269] As shown in Fig. 3, Device A may perform a role of a schedule owner, e.g., device 140, which may multicast updated schedule information 310 to the devices in the NMSG. For example, as shown in Fig. 3, updated schedule information 310 may be received by some of the devices in the NMSG, for example, by the Device B, the Device D, the Device E, and the Device F.
[00270] As shown in Fig. 3, device C may not receive the updated schedule information 310, for example, if device C is out of the range of the Device A.
[00271] As shown in Fig. 3, device E may receive the updated schedule information 310 from the schedule owner, and may determine to forward (320) the updated schedule information, for example, to the devices in the NMSG.
[00272] As shown in Fig. 3, device A may receive the forwarded updated schedule information 320 from Device E.
[00273] As shown in Fig. 3, device D may receive the updated schedule information from the schedule owner, and may determine to forward (330) the updated schedule information, for example, to the devices in the NMSG.
[00274] As shown in Fig. 3, devices B, A and/or F may receive the forwarded updated schedule information 330 from Device D.
[00275] As shown in Fig. 3, device B may receive the updated schedule information 310 from the schedule owner, and may determine to forward (340) the updated schedule information to the devices in the NMSG. [00276] As shown in Fig. 3, devices A, D, F and/or C may receive the forwarded updated schedule information 340 from Device B.
[00277] As shown in Fig. 3, device C, which did not receive the updated schedule information 310 directly from the schedule owner, may receive the forwarded updated schedule information 340 from Device B.
[00278] Reference is made to Fig. 4, which schematically illustrates a method of NMSG multicast schedule, in accordance with some demonstrative embodiments. For example, one or more of the operations of the method of Fig. 4 may be performed by one or more elements of a system, system 100 (Fig. 1); a device, e.g., wireless communication devices 102, 140, 160, and/or 180 (Fig. 1); a controller, e.g., controller 124 (Fig. 1) and/or controller 154 (Fig. 1); a radio, e.g., radio 114 (Fig. 1) and/or radio 144 (Fig. 1); and/or a message processor, e.g., message processor 128 (Fig. 1) and/or message processor 158 (Fig. 1).
[00279] As indicated at block 402, the method may include communicating at a NAN device multicast traffic with one or more other NAN devices in a NMSG according to an NMSG multicast schedule from a schedule owner. For example, controller 124 (Fig. 1) may control, cause and/or trigger device 102 (Fig. 1) to communicate multicast traffic with one or more other NAN devices in the NMSG according to the NMSG multicast schedule from device 140 (Fig. 1), e.g., as described above.
[00280] As indicated at block 404, the method may include receiving a first schedule update frame including updated schedule information of an updated NMSG multicast schedule. For example, controller 124 (Fig. 1) may control, cause and/or trigger device 102 (Fig. 1) to receive the first schedule update frame including the updated schedule information of the updated NMSG multicast schedule, for example, from device 140 (Fig. 1), e.g., as described above.
[00281] As indicated at block 406, the method may include determining whether or not the updated schedule information is to be forwarded based on at least one forwarding criterion. For example, controller 124 (Fig. 1) may control, cause and/or trigger device 102 (Fig. 1) to determine whether or not the updated schedule information is to be forwarded, for example, based on the at least one forwarding criterion, e.g., as described above.
[00282] As indicated at block 408, the method may include, when, if, upon, and/or based on, determining that the updated schedule information is to be forwarded, transmitting a second schedule update frame including the updated schedule information. For example, controller 124 (Fig. 1) may control, cause and/or trigger device 102 (Fig. 1) to transmit the second schedule update frame including the updated schedule information, for example, when device 102 (Fig. 1) determines that the updated schedule information is to be forwarded, e.g., as described above.
[00283] Reference is made to Fig. 5, which schematically illustrates a product of manufacture 500, in accordance with some demonstrative embodiments. Product 500 may include one or more tangible computer-readable ("machine-readable") non-transitory storage media 502, which may include computer-executable instructions, e.g., implemented by logic 504, operable to, when executed by at least one computer processor, enable the at least one computer processor to implement one or more operations at device 102, device 140, device 160, device 180 (Fig. 1), radio 114 (Fig. 1), radio 144 (Fig. 1), transmitter 118 (Fig. 1), transmitter 148 (Fig. 1), receiver 116 (Fig. 1), receiver 146 (Fig. 1), controller 124 (Fig. 1), controller 154 (Fig. 1), message processor 128 (Fig. 1), and/or message processor 158 (Fig. 1), to cause device 102, device 140, device 160, device 180 (Fig. 1), radio 114 (Fig. 1), radio 144 (Fig. 1), transmitter 118 (Fig. 1), transmitter 148 (Fig. 1), receiver 116 (Fig. 1), receiver 146 (Fig. 1), controller 124 (Fig. 1), controller 154 (Fig. 1), message processor 128 (Fig. 1), and/or message processor 158 (Fig. 1), to perform, trigger and/or implement one or more operations and/or functionalities, and/or to perform, trigger and/or implement one or more operations and/or functionalities described with reference to the Figs. 1, 2, 3, and/or 4, and/or one or more operations described herein. The phrase "non-transitory machine-readable medium" may be directed to include all computer- readable media, with the sole exception being a transitory propagating signal. [00284] In some demonstrative embodiments, product 500 and/or machine-readable storage media 502 may include one or more types of computer-readable storage media capable of storing data, including volatile memory, non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and the like. For example, machine-readable storage media 502 may include, RAM, DRAM, Double-Data-Rate DRAM (DDR-DRAM), SDRAM, static RAM (SRAM), ROM, programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), Compact Disk ROM (CD-ROM), Compact Disk Recordable (CD-R), Compact Disk Rewriteable (CD- RW), flash memory (e.g., NOR or NAND flash memory), content addressable memory (CAM), polymer memory, phase-change memory, ferroelectric memory, silicon-oxide-nitride-oxide- silicon (SONOS) memory, a disk, a floppy disk, a hard drive, an optical disk, a magnetic disk, a card, a magnetic card, an optical card, a tape, a cassette, and the like. The computer-readable storage media may include any suitable media involved with downloading or transferring a computer program from a remote computer to a requesting computer carried by data signals embodied in a carrier wave or other propagation medium through a communication link, e.g., a modem, radio or network connection.
[00285] In some demonstrative embodiments, logic 504 may include instructions, data, and/or code, which, if executed by a machine, may cause the machine to perform a method, process and/or operations as described herein. The machine may include, for example, any suitable processing platform, computing platform, computing device, processing device, computing system, processing system, computer, processor, or the like, and may be implemented using any suitable combination of hardware, software, firmware, and the like.
[00286] In some demonstrative embodiments, logic 504 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
[00287] The following examples pertain to further embodiments.
[00288] Example 1 includes an apparatus comprising logic and circuitry configured to cause a Neighbor Awareness Networking (NAN) device to communicate multicast traffic with one or more other NAN devices in a NAN Multicast Service Group (NMSG) according to an NMSG multicast schedule from a schedule owner; receive a first schedule update frame comprising updated schedule information of an updated NMSG multicast schedule; determine whether or not the updated schedule information is to be forwarded based on at least one forwarding criterion; and when determining that the updated schedule information is to be forwarded, transmit a second schedule update frame comprising the updated schedule information.
[00289] Example 2 includes the subject matter of Example 1, and optionally, wherein the apparatus is configured to cause the NAN device to determine whether or not the updated schedule information is to be forwarded based on a sequence Identifier (ID) in the first schedule update frame. [00290] Example 3 includes the subject matter of Example 2, and optionally, wherein the apparatus is configured to cause the NAN device to determine the updated schedule information is to be forwarded when the sequence ID in the first schedule update frame is larger than a stored sequence ID corresponding to the NMSG. [00291] Example 4 includes the subject matter of Example 3, and optionally, wherein the apparatus is configured to cause the NAN device to update the stored sequence ID corresponding to the NMSG to include the sequence ID in the first schedule update frame.
[00292] Example 5 includes the subject matter of any one of Examples 1-4, and optionally, wherein the apparatus is configured to cause the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enroller of the NMSG.
[00293] Example 6 includes the subject matter of any one of Examples 1-5, and optionally, wherein the apparatus is configured to allow the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enrollee of the NMSG.
[00294] Example 7 includes the subject matter of any one of Examples 1-6, and optionally, wherein the first schedule update frame is from the schedule owner.
[00295] Example 8 includes the subject matter of any one of Examples 1-7, and optionally, wherein the apparatus is configured to cause the NAN device to transmit a unicast schedule request with a requested schedule change to the schedule owner and to receive the first schedule update frame from the schedule owner in response to the schedule request. [00296] Example 9 includes the subject matter of Example 8, and optionally, wherein the first schedule update frame comprises an indication field to indicate whether the requested schedule change is accepted or rejected.
[00297] Example 10 includes the subject matter of any one of Examples 1-6, and optionally, wherein the first schedule update frame is from another NAN device, which is not the schedule owner.
[00298] Example 11 includes the subject matter of any one of Examples 1-6, and optionally, wherein the first schedule update frame is from an originator of the NMSG.
[00299] Example 12 includes the subject matter of any one of Examples 1-11, and optionally, wherein the first schedule update frame comprises a multicast frame to the NMSG. [00300] Example 13 includes the subject matter of any one of Examples 1-11, and optionally, wherein the first schedule update frame comprises a unicast frame to the NAN device. [00301] Example 14 includes the subject matter of any one of Examples 1-13, and optionally, wherein the second schedule update frame comprises a multicast frame to the NMSG.
[00302] Example 15 includes the subject matter of any one of Examples 1-14, and optionally, wherein the updated schedule information comprises a Multicast Schedule change attribute and a NAN availability attribute.
[00303] Example 16 includes the subject matter of any one of Examples 1-15, and optionally, wherein the updated schedule information comprises an indication of a time at which to transition to the updated NMSG multicast schedule.
[00304] Example 17 includes the subject matter of any one of Examples 1-16, and optionally, wherein the first schedule update frame comprises a NAN Action Frame (NAF).
[00305] Example 18 includes the subject matter of any one of Examples 1-17, and optionally, wherein the second schedule update frame comprises a NAN Action Frame (NAF).
[00306] Example 19 includes the subject matter of any one of Examples 1-18, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is an enroller or an enrollee.
[00307] Example 20 includes the subject matter of any one of Examples 1-19, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is a multicast source.
[00308] Example 21 includes the subject matter of any one of Examples 1-20, and optionally, wherein the apparatus is configured to cause the NAN device to retransmit the second schedule update frame a plurality of times.
[00309] Example 22 includes the subject matter of any one of Examples 1-21, and optionally, wherein the apparatus is configured to cause the NAN device to select not to forward the updated schedule information if the updated schedule information is the same as previously received updated schedule information from the same schedule owner.
[00310] Example 23 includes the subject matter of any one of Examples 1-22, and optionally, wherein the apparatus is configured to cause the NAN device to determine whether or not the updated schedule information is to be forwarded based on a proximity criterion corresponding to proximity between the NAN device and a device from which the updated schedule information is sent. [00311] Example 24 includes the subject matter of any one of Examples 1-23, and optionally, wherein the NMSG comprises a many-to-many NMSG.
[00312] Example 25 includes the subject matter of any one of Examples 1-24, and optionally, comprising a radio. [00313] Example 26 includes the subject matter of any one of Examples 1-25, and optionally, comprising one or more antennas, a processor, and a memory.
[00314] Example 27 includes a system of wireless communication comprising a Neighbor Awareness Networking (NAN) device, the NAN device comprising one or more antennas; a radio; a memory; a processor; and a controller configured to cause the NAN device to communicate multicast traffic with one or more other NAN devices in a NAN Multicast Service Group (NMSG) according to an NMSG multicast schedule from a schedule owner; receive a first schedule update frame comprising updated schedule information of an updated NMSG multicast schedule; determine whether or not the updated schedule information is to be forwarded based on at least one forwarding criterion; and when determining that the updated schedule information is to be forwarded, transmit a second schedule update frame comprising the updated schedule information.
[00315] Example 28 includes the subject matter of Example 27, and optionally, wherein the controller is configured to cause the NAN device to determine whether or not the updated schedule information is to be forwarded based on a sequence Identifier (ID) in the first schedule update frame.
[00316] Example 29 includes the subject matter of Example 28, and optionally, wherein the controller is configured to cause the NAN device to determine the updated schedule information is to be forwarded when the sequence ID in the first schedule update frame is larger than a stored sequence ID corresponding to the NMSG. [00317] Example 30 includes the subject matter of Example 29, and optionally, wherein the controller is configured to cause the NAN device to update the stored sequence ID corresponding to the NMSG to include the sequence ID in the first schedule update frame.
[00318] Example 31 includes the subject matter of any one of Examples 27-30, and optionally, wherein the controller is configured to cause the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enroller of the NMSG. [00319] Example 32 includes the subject matter of any one of Examples 27-31, and optionally, wherein the controller is configured to allow the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enrollee of the NMSG.
[00320] Example 33 includes the subject matter of any one of Examples 27-32, and optionally, wherein the first schedule update frame is from the schedule owner.
[00321] Example 34 includes the subject matter of any one of Examples 27-33, and optionally, wherein the controller is configured to cause the NAN device to transmit a unicast schedule request with a requested schedule change to the schedule owner and to receive the first schedule update frame from the schedule owner in response to the schedule request. [00322] Example 35 includes the subject matter of Example 34, and optionally, wherein the first schedule update frame comprises an indication field to indicate whether the requested schedule change is accepted or rejected.
[00323] Example 36 includes the subject matter of any one of Examples 27-32, and optionally, wherein the first schedule update frame is from another NAN device, which is not the schedule owner.
[00324] Example 37 includes the subject matter of any one of Examples 27-32, and optionally, wherein the first schedule update frame is from an originator of the NMSG.
[00325] Example 38 includes the subject matter of any one of Examples 27-37, and optionally, wherein the first schedule update frame comprises a multicast frame to the NMSG. [00326] Example 39 includes the subject matter of any one of Examples 27-37, and optionally, wherein the first schedule update frame comprises a unicast frame to the NAN device.
[00327] Example 40 includes the subject matter of any one of Examples 27-39, and optionally, wherein the second schedule update frame comprises a multicast frame to the NMSG.
[00328] Example 41 includes the subject matter of any one of Examples 27-40, and optionally, wherein the updated schedule information comprises a Multicast Schedule change attribute and a NAN availability attribute.
[00329] Example 42 includes the subject matter of any one of Examples 27-41, and optionally, wherein the updated schedule information comprises an indication of a time at which to transition to the updated NMSG multicast schedule. [00330] Example 43 includes the subject matter of any one of Examples 27-42, and optionally, wherein the first schedule update frame comprises a NAN Action Frame (NAF). [00331] Example 44 includes the subject matter of any one of Examples 27-43, and optionally, wherein the second schedule update frame comprises a NAN Action Frame (NAF).
[00332] Example 45 includes the subject matter of any one of Examples 27-44, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is an enroller or an enrollee.
[00333] Example 46 includes the subject matter of any one of Examples 27-45, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is a multicast source.
[00334] Example 47 includes the subject matter of any one of Examples 27-46, and optionally, wherein the controller is configured to cause the NAN device to retransmit the second schedule update frame a plurality of times.
[00335] Example 48 includes the subject matter of any one of Examples 27-47, and optionally, wherein the controller is configured to cause the NAN device to select not to forward the updated schedule information if the updated schedule information is the same as previously received updated schedule information from the same schedule owner.
[00336] Example 49 includes the subject matter of any one of Examples 27-48, and optionally, wherein the controller is configured to cause the NAN device to determine whether or not the updated schedule information is to be forwarded based on a proximity criterion corresponding to proximity between the NAN device and a device from which the updated schedule information is sent.
[00337] Example 50 includes the subject matter of any one of Examples 27-49, and optionally, wherein the NMSG comprises a many-to-many NMSG.
[00338] Example 51 includes a method to be performed at a Neighbor Awareness Networking (NAN) device, the method comprising communicating multicast traffic with one or more other NAN devices in a NAN Multicast Service Group (NMSG) according to an NMSG multicast schedule from a schedule owner; receiving a first schedule update frame comprising updated schedule information of an updated NMSG multicast schedule; determining whether or not the updated schedule information is to be forwarded based on at least one forwarding criterion; and when determining that the updated schedule information is to be forwarded, transmitting a second schedule update frame comprising the updated schedule information. [00339] Example 52 includes the subject matter of Example 51, and optionally, comprising determining whether or not the updated schedule information is to be forwarded based on a sequence Identifier (ID) in the first schedule update frame.
[00340] Example 53 includes the subject matter of Example 52, and optionally, comprising determining the updated schedule information is to be forwarded when the sequence ID in the first schedule update frame is larger than a stored sequence ID corresponding to the NMSG.
[00341] Example 54 includes the subject matter of Example 53, and optionally, comprising updating the stored sequence ID corresponding to the NMSG to include the sequence ID in the first schedule update frame. [00342] Example 55 includes the subject matter of any one of Examples 51-54, and optionally, comprising determining that the updated schedule information is to be forwarded when the NAN device is an enroller of the NMSG.
[00343] Example 56 includes the subject matter of any one of Examples 51-55, and optionally, comprising allowing the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enrollee of the NMSG.
[00344] Example 57 includes the subject matter of any one of Examples 51-56, and optionally, wherein the first schedule update frame is from the schedule owner.
[00345] Example 58 includes the subject matter of any one of Examples 51-57, and optionally, comprising transmitting a unicast schedule request with a requested schedule change to the schedule owner and receiving the first schedule update frame from the schedule owner in response to the schedule request.
[00346] Example 59 includes the subject matter of Example 58, and optionally, wherein the first schedule update frame comprises an indication field to indicate whether the requested schedule change is accepted or rejected. [00347] Example 60 includes the subject matter of any one of Examples 51-56, and optionally, wherein the first schedule update frame is from another NAN device, which is not the schedule owner.
[00348] Example 61 includes the subject matter of any one of Examples 51-56, and optionally, wherein the first schedule update frame is from an originator of the NMSG. [00349] Example 62 includes the subject matter of any one of Examples 51-61, and optionally, wherein the first schedule update frame comprises a multicast frame to the NMSG. [00350] Example 63 includes the subject matter of any one of Examples 51-61, and optionally, wherein the first schedule update frame comprises a unicast frame to the NAN device.
[00351] Example 64 includes the subject matter of any one of Examples 51-63, and optionally, wherein the second schedule update frame comprises a multicast frame to the NMSG. [00352] Example 65 includes the subject matter of any one of Examples 51-64, and optionally, wherein the updated schedule information comprises a Multicast Schedule change attribute and a NAN availability attribute.
[00353] Example 66 includes the subject matter of any one of Examples 51-65, and optionally, wherein the updated schedule information comprises an indication of a time at which to transition to the updated NMSG multicast schedule.
[00354] Example 67 includes the subject matter of any one of Examples 51-66, and optionally, wherein the first schedule update frame comprises a NAN Action Frame (NAF).
[00355] Example 68 includes the subject matter of any one of Examples 51-67, and optionally, wherein the second schedule update frame comprises a NAN Action Frame (NAF). [00356] Example 69 includes the subject matter of any one of Examples 51-68, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is an enroller or an enrollee.
[00357] Example 70 includes the subject matter of any one of Examples 51-69, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is a multicast source.
[00358] Example 71 includes the subject matter of any one of Examples 51-70, and optionally, comprising retransmitting the second schedule update frame a plurality of times.
[00359] Example 72 includes the subject matter of any one of Examples 51-71, and optionally, comprising selecting not to forward the updated schedule information if the updated schedule information is the same as previously received updated schedule information from the same schedule owner.
[00360] Example 73 includes the subject matter of any one of Examples 51-72, and optionally, comprising determining whether or not the updated schedule information is to be forwarded based on a proximity criterion corresponding to proximity between the NAN device and a device from which the updated schedule information is sent. [00361] Example 74 includes the subject matter of any one of Examples 51-73, and optionally, wherein the NMSG comprises a many-to-many NMSG.
[00362] Example 75 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 processor, enable the at least one processor to cause a Neighbor Awareness Networking (NAN) device to communicate multicast traffic with one or more other NAN devices in a NAN Multicast Service Group (NMSG) according to an NMSG multicast schedule from a schedule owner; receive a first schedule update frame comprising updated schedule information of an updated NMSG multicast schedule; determine whether or not the updated schedule information is to be forwarded based on at least one forwarding criterion; and when determining that the updated schedule information is to be forwarded, transmit a second schedule update frame comprising the updated schedule information.
[00363] Example 76 includes the subject matter of Example 75, and optionally, wherein the instructions, when executed, cause the NAN device to determine whether or not the updated schedule information is to be forwarded based on a sequence Identifier (ID) in the first schedule update frame.
[00364] Example 77 includes the subject matter of Example 76, and optionally, wherein the instructions, when executed, cause the NAN device to determine the updated schedule information is to be forwarded when the sequence ID in the first schedule update frame is larger than a stored sequence ID corresponding to the NMSG.
[00365] Example 78 includes the subject matter of Example 77, and optionally, wherein the instructions, when executed, cause the NAN device to update the stored sequence ID corresponding to the NMSG to include the sequence ID in the first schedule update frame.
[00366] Example 79 includes the subject matter of any one of Examples 75-78, and optionally, wherein the instructions, when executed, cause the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enroller of the NMSG.
[00367] Example 80 includes the subject matter of any one of Examples 75-79, and optionally, wherein the instructions, when executed, allow the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enrollee of the NMSG. [00368] Example 81 includes the subject matter of any one of Examples 75-80, and optionally, wherein the first schedule update frame is from the schedule owner. [00369] Example 82 includes the subject matter of any one of Examples 75-81, and optionally, wherein the instructions, when executed, cause the NAN device to transmit a unicast schedule request with a requested schedule change to the schedule owner and to receive the first schedule update frame from the schedule owner in response to the schedule request. [00370] Example 83 includes the subject matter of Example 82, and optionally, wherein the first schedule update frame comprises an indication field to indicate whether the requested schedule change is accepted or rejected.
[00371] Example 84 includes the subject matter of any one of Examples 75-80, and optionally, wherein the first schedule update frame is from another NAN device, which is not the schedule owner.
[00372] Example 85 includes the subject matter of any one of Examples 75-80, and optionally, wherein the first schedule update frame is from an originator of the NMSG.
[00373] Example 86 includes the subject matter of any one of Examples 75-85, and optionally, wherein the first schedule update frame comprises a multicast frame to the NMSG. [00374] Example 87 includes the subject matter of any one of Examples 75-85, and optionally, wherein the first schedule update frame comprises a unicast frame to the NAN device.
[00375] Example 88 includes the subject matter of any one of Examples 75-87, and optionally, wherein the second schedule update frame comprises a multicast frame to the NMSG.
[00376] Example 89 includes the subject matter of any one of Examples 75-88, and optionally, wherein the updated schedule information comprises a Multicast Schedule change attribute and a NAN availability attribute.
[00377] Example 90 includes the subject matter of any one of Examples 75-89, and optionally, wherein the updated schedule information comprises an indication of a time at which to transition to the updated NMSG multicast schedule. [00378] Example 91 includes the subject matter of any one of Examples 75-90, and optionally, wherein the first schedule update frame comprises a NAN Action Frame (NAF).
[00379] Example 92 includes the subject matter of any one of Examples 75-91, and optionally, wherein the second schedule update frame comprises a NAN Action Frame (NAF).
[00380] Example 93 includes the subject matter of any one of Examples 75-92, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is an enroller or an enrollee. [00381] Example 94 includes the subject matter of any one of Examples 75-93, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is a multicast source.
[00382] Example 95 includes the subject matter of any one of Examples 75-94, and optionally, wherein the instructions, when executed, cause the NAN device to retransmit the second schedule update frame a plurality of times.
[00383] Example 96 includes the subject matter of any one of Examples 75-95, and optionally, wherein the instructions, when executed, cause the NAN device to select not to forward the updated schedule information if the updated schedule information is the same as previously received updated schedule information from the same schedule owner.
[00384] Example 97 includes the subject matter of any one of Examples 75-96, and optionally, wherein the instructions, when executed, cause the NAN device to determine whether or not the updated schedule information is to be forwarded based on a proximity criterion corresponding to proximity between the NAN device and a device from which the updated schedule information is sent.
[00385] Example 98 includes the subject matter of any one of Examples 75-97, and optionally, wherein the NMSG comprises a many-to-many NMSG.
[00386] Example 99 includes an apparatus of wireless communication by a Neighbor Awareness Networking (NAN) device, the NAN device comprising means for communicating multicast traffic with one or more other NAN devices in a NAN Multicast Service Group (NMSG) according to an NMSG multicast schedule from a schedule owner; means for receiving a first schedule update frame comprising updated schedule information of an updated NMSG multicast schedule; means for determining whether or not the updated schedule information is to be forwarded based on at least one forwarding criterion; and means for, when determining that the updated schedule information is to be forwarded, transmitting a second schedule update frame comprising the updated schedule information.
[00387] Example 100 includes the subject matter of Example 99, and optionally, comprising means for determining whether or not the updated schedule information is to be forwarded based on a sequence Identifier (ID) in the first schedule update frame. [00388] Example 101 includes the subject matter of Example 100, and optionally, comprising means for determining the updated schedule information is to be forwarded when the sequence ID in the first schedule update frame is larger than a stored sequence ID corresponding to the NMSG.
[00389] Example 102 includes the subject matter of Example 101, and optionally, comprising means for updating the stored sequence ID corresponding to the NMSG to include the sequence ID in the first schedule update frame.
[00390] Example 103 includes the subject matter of any one of Examples 99-102, and optionally, comprising means for determining that the updated schedule information is to be forwarded when the NAN device is an enroller of the NMSG.
[00391] Example 104 includes the subject matter of any one of Examples 99-103, and optionally, comprising means for allowing the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enrollee of the NMSG.
[00392] Example 105 includes the subject matter of any one of Examples 99-104, and optionally, wherein the first schedule update frame is from the schedule owner.
[00393] Example 106 includes the subject matter of any one of Examples 99-105, and optionally, comprising means for transmitting a unicast schedule request with a requested schedule change to the schedule owner and receiving the first schedule update frame from the schedule owner in response to the schedule request.
[00394] Example 107 includes the subject matter of Example 106, and optionally, wherein the first schedule update frame comprises an indication field to indicate whether the requested schedule change is accepted or rejected.
[00395] Example 108 includes the subject matter of any one of Examples 99-104, and optionally, wherein the first schedule update frame is from another NAN device, which is not the schedule owner.
[00396] Example 109 includes the subject matter of any one of Examples 99-104, and optionally, wherein the first schedule update frame is from an originator of the NMSG.
[00397] Example 110 includes the subject matter of any one of Examples 99-109, and optionally, wherein the first schedule update frame comprises a multicast frame to the NMSG.
[00398] Example 111 includes the subject matter of any one of Examples 99-109, and optionally, wherein the first schedule update frame comprises a unicast frame to the NAN device. [00399] Example 112 includes the subject matter of any one of Examples 99-111, and optionally, wherein the second schedule update frame comprises a multicast frame to the NMSG.
[00400] Example 113 includes the subject matter of any one of Examples 99-112, and optionally, wherein the updated schedule information comprises a Multicast Schedule change attribute and a NAN availability attribute.
[00401] Example 114 includes the subject matter of any one of Examples 99-113, and optionally, wherein the updated schedule information comprises an indication of a time at which to transition to the updated NMSG multicast schedule.
[00402] Example 115 includes the subject matter of any one of Examples 99-114, and optionally, wherein the first schedule update frame comprises a NAN Action Frame (NAF).
[00403] Example 116 includes the subject matter of any one of Examples 99-115, and optionally, wherein the second schedule update frame comprises a NAN Action Frame (NAF).
[00404] Example 117 includes the subject matter of any one of Examples 99-116, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is an enroller or an enrollee.
[00405] Example 118 includes the subject matter of any one of Examples 99-117, and optionally, wherein the at least one forwarding criterion relates to whether the NAN device is a multicast source.
[00406] Example 119 includes the subject matter of any one of Examples 99-118, and optionally, comprising means for retransmitting the second schedule update frame a plurality of times.
[00407] Example 120 includes the subject matter of any one of Examples 99-119, and optionally, comprising means for selecting not to forward the updated schedule information if the updated schedule information is the same as previously received updated schedule information from the same schedule owner.
[00408] Example 121 includes the subject matter of any one of Examples 99-120, and optionally, comprising means for determining whether or not the updated schedule information is to be forwarded based on a proximity criterion corresponding to proximity between the NAN device and a device from which the updated schedule information is sent. [00409] Example 122 includes the subject matter of any one of Examples 99-121, and optionally, wherein the NMSG comprises a many-to-many NMSG. [00410] 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.
[00411] 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 logic and circuitry configured to cause a Neighbor Awareness Networking (NAN) device to:
communicate multicast traffic with one or more other NAN devices in a NAN Multicast Service Group (NMSG) according to an NMSG multicast schedule from a schedule owner;
receive a first schedule update frame comprising updated schedule information of an updated NMSG multicast schedule;
determine whether or not the updated schedule information is to be forwarded based on at least one forwarding criterion; and
when determining that the updated schedule information is to be forwarded, transmit a second schedule update frame comprising the updated schedule information.
2. The apparatus of claim 1 configured to cause the NAN device to determine whether or not the updated schedule information is to be forwarded based on a sequence Identifier (ID) in the first schedule update frame.
3. The apparatus of claim 2 configured to cause the NAN device to determine the updated schedule information is to be forwarded when the sequence ID in the first schedule update frame is larger than a stored sequence ID corresponding to the NMSG.
4. The apparatus of claim 3 configured to cause the NAN device to update the stored sequence ID corresponding to the NMSG to include the sequence ID in the first schedule update frame.
5. The apparatus of claim 1 configured to cause the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enroller of the NMSG.
6. The apparatus of claim 1 configured to allow the NAN device to determine that the updated schedule information is to be forwarded when the NAN device is an enrollee of the NMSG.
7. The apparatus of any one of claims 1-6, wherein the first schedule update frame is from the schedule owner.
8. The apparatus of any one of claims 1-6 configured to cause the NAN device to transmit a unicast schedule request with a requested schedule change to the schedule owner and to receive the first schedule update frame from the schedule owner in response to the schedule request.
9. The apparatus of claim 8, wherein the first schedule update frame comprises an indication field to indicate whether the requested schedule change is accepted or rejected.
10. The apparatus of any one of claims 1-6, wherein the first schedule update frame is from another NAN device, which is not the schedule owner.
11. The apparatus of any one of claims 1-6, wherein the second schedule update frame comprises a multicast frame to the NMSG.
12. The apparatus of any one of claims 1-6, wherein the updated schedule information comprises a Multicast Schedule change attribute and a NAN availability attribute.
13. The apparatus of any one of claims 1-6, wherein the second schedule update frame comprises a NAN Action Frame (NAF).
14. The apparatus of any one of claims 1-6, wherein the at least one forwarding criterion relates to whether the NAN device is an enroller or an enrollee.
15. The apparatus of any one of claims 1-6 configured to cause the NAN device to retransmit the second schedule update frame a plurality of times.
16. The apparatus of any one of claims 1-6 configured to cause the NAN device to determine whether or not the updated schedule information is to be forwarded based on a proximity criterion corresponding to proximity between the NAN device and a device from which the updated schedule information is sent.
17. The apparatus of any one of claims 1-6 comprising one or more antennas, a processor, and a memory.
18. A system of wireless communication comprising a Neighbor Awareness Networking (NAN) device, the NAN device comprising:
one or more antennas;
a radio;
a memory;
a processor; and a controller configured to cause the NAN device to:
communicate multicast traffic with one or more other NAN devices in a NAN Multicast Service Group (NMSG) according to an NMSG multicast schedule from a schedule owner;
receive a first schedule update frame comprising updated schedule information of an updated NMSG multicast schedule;
determine whether or not the updated schedule information is to be forwarded based on at least one forwarding criterion; and
when determining that the updated schedule information is to be forwarded, transmit a second schedule update frame comprising the updated schedule information.
19. The system of claim 18, wherein the controller is configured to cause the NAN device to determine whether or not the updated schedule information is to be forwarded based on a sequence Identifier (ID) in the first schedule update frame.
20. The system of claim 18 or 19, wherein the updated schedule information comprises a Multicast Schedule change attribute and a NAN availability attribute.
21. A method to be performed at a Neighbor Awareness Networking (NAN) device, the method comprising:
communicating multicast traffic with one or more other NAN devices in a NAN Multicast Service Group (NMSG) according to an NMSG multicast schedule from a schedule owner;
receiving a first schedule update frame comprising updated schedule information of an updated NMSG multicast schedule;
determining whether or not the updated schedule information is to be forwarded based on at least one forwarding criterion; and
when determining that the updated schedule information is to be forwarded, transmitting a second schedule update frame comprising the updated schedule information.
22. The method of claim 21 comprising determining whether or not the updated schedule information is to be forwarded based on a sequence Identifier (ID) in the first schedule update frame.
23. The method of claim 21 comprising transmitting a unicast schedule request with a requested schedule change to the schedule owner and receiving the first schedule update frame from the schedule owner in response to the schedule request.
24. The method of claim 21, wherein the updated schedule information comprises a Multicast Schedule change attribute and a NAN availability attribute.
25. A product comprising one or more tangible computer-readable non-transitory storage media comprising computer-executable instructions operable to, when executed by at least one processor, enable the at least one processor to cause a Neighbor Awareness Networking (NAN) device to perform the method of any one of claims 21-24.
PCT/US2017/068484 2017-08-08 2017-12-27 Apparatus, system and method of neighbor awareness networking (nan) multicast service group (nmsg) scheduling WO2019032136A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE112017007842.3T DE112017007842T5 (en) 2017-08-08 2017-12-27 DEVICE, SYSTEM AND METHOD FOR THE NEIGHBOR AWARENESS NETWORKING (NAN) -MULTICAST SERVICE GROUP (NMSG) -DISPONATION

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201762542367P 2017-08-08 2017-08-08
US62/542,367 2017-08-08

Publications (1)

Publication Number Publication Date
WO2019032136A1 true WO2019032136A1 (en) 2019-02-14

Family

ID=65271577

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2017/068484 WO2019032136A1 (en) 2017-08-08 2017-12-27 Apparatus, system and method of neighbor awareness networking (nan) multicast service group (nmsg) scheduling

Country Status (2)

Country Link
DE (1) DE112017007842T5 (en)
WO (1) WO2019032136A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130127690A (en) * 2012-05-15 2013-11-25 삼성전자주식회사 Method and apparatus for discoverying neighbor nodes in a wireless communication network
US20150245335A1 (en) * 2014-02-27 2015-08-27 Qualcomm Incorporated Enhanced trigger frame based discovery for a neighbor awareness network
US20160338108A1 (en) * 2013-06-25 2016-11-17 Futurewei Technologies, Inc. System and Method for Detecting and Resolving Conflicts
US20160374107A1 (en) * 2015-06-22 2016-12-22 Intel IP Corporation Apparatus, system and method of communicating in a multicast group
WO2017090979A1 (en) * 2015-11-23 2017-06-01 엘지전자 주식회사 Method for exchanging frame for proxy service in wireless lan system, and terminal using same

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130127690A (en) * 2012-05-15 2013-11-25 삼성전자주식회사 Method and apparatus for discoverying neighbor nodes in a wireless communication network
US20160338108A1 (en) * 2013-06-25 2016-11-17 Futurewei Technologies, Inc. System and Method for Detecting and Resolving Conflicts
US20150245335A1 (en) * 2014-02-27 2015-08-27 Qualcomm Incorporated Enhanced trigger frame based discovery for a neighbor awareness network
US20160374107A1 (en) * 2015-06-22 2016-12-22 Intel IP Corporation Apparatus, system and method of communicating in a multicast group
WO2017090979A1 (en) * 2015-11-23 2017-06-01 엘지전자 주식회사 Method for exchanging frame for proxy service in wireless lan system, and terminal using same

Also Published As

Publication number Publication date
DE112017007842T5 (en) 2020-05-14

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
US10080184B2 (en) Apparatus, system and method of communicating in a neighbor awareness networking (NAN) cluster
US9801039B2 (en) Apparatus, system and method of communication data between awareness networking devices
US10069883B2 (en) Apparatus, system and method of communicating in a multicast group
US10848929B2 (en) Apparatus, system and method of terminating a neighbor awareness networking (NAN) path
US10148558B2 (en) Apparatus, system and method of establishing a mesh data path between neighbor awareness networking (NAN) devices
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
US11252552B2 (en) Apparatus, system and method of communicating in a neighbor awareness networking (NAN) group
CN107852740B (en) Apparatus, system, and method of communicating in a Neighbor Awareness Network (NAN) cluster
WO2019055098A1 (en) Apparatus, system and method of communicating data over a neighbor awareness networking (nan) data path (ndp)
WO2019032136A1 (en) Apparatus, system and method of neighbor awareness networking (nan) multicast service group (nmsg) scheduling
US20180054798A1 (en) Apparatus, system and method of communicating in a data group
WO2019045765A1 (en) Apparatus, system and method of secure neighbor awareness networking (nan) communication
WO2019027450A1 (en) Apparatus, system and method of multi user (mu) communication in neighbor awareness networking (nan)

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

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 17920722

Country of ref document: EP

Kind code of ref document: A1