US20160105829A1 - Direct link wireless devices with power savings - Google Patents
Direct link wireless devices with power savings Download PDFInfo
- Publication number
- US20160105829A1 US20160105829A1 US14/880,643 US201514880643A US2016105829A1 US 20160105829 A1 US20160105829 A1 US 20160105829A1 US 201514880643 A US201514880643 A US 201514880643A US 2016105829 A1 US2016105829 A1 US 2016105829A1
- Authority
- US
- United States
- Prior art keywords
- sta
- tdls
- list
- stations
- station
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000004891 communication Methods 0.000 claims abstract description 133
- 230000004044 response Effects 0.000 claims abstract description 72
- 238000012545 processing Methods 0.000 claims abstract description 35
- 238000000034 method Methods 0.000 claims description 50
- 238000009432 framing Methods 0.000 description 61
- 238000010586 diagram Methods 0.000 description 23
- 239000000523 sample Substances 0.000 description 20
- 230000008569 process Effects 0.000 description 15
- 230000005540 biological transmission Effects 0.000 description 13
- 230000011664 signaling Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000004622 sleep time Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000000977 initiatory effect Effects 0.000 description 5
- 230000002618 waking effect Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 208000022249 Sleep-Wake Transition disease Diseases 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000005641 tunneling Effects 0.000 description 2
- 101000741965 Homo sapiens Inactive tyrosine-protein kinase PRAG1 Proteins 0.000 description 1
- 102100038659 Inactive tyrosine-protein kinase PRAG1 Human genes 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/0005—Control or signalling for completing the hand-off
- H04W36/0083—Determination of parameters used for hand-off, e.g. generation or modification of neighbour cell lists
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. Transmission Power Control [TPC] or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0212—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is leader and terminal is follower
- H04W52/0219—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is leader and terminal is follower where the power saving management affects multiple terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. Transmission Power Control [TPC] or power classes
- H04W52/02—Power saving arrangements
- H04W52/0209—Power saving arrangements in terminal devices
- H04W52/0212—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is leader and terminal is follower
- H04W52/0216—Power saving arrangements in terminal devices managed by the network, e.g. network or access point is leader and terminal is follower using a pre-established activity schedule, e.g. traffic indication frame
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/02—Hierarchically pre-organised networks, e.g. paging networks, cellular networks, WLAN [Wireless Local Area Network] or WLL [Wireless Local Loop]
- H04W84/10—Small scale networks; Flat hierarchical networks
- H04W84/12—WLAN [Wireless Local Area Networks]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Definitions
- the present disclosure relates generally to telecommunications, and specifically to communications channels in wireless devices.
- WLANs wireless local area networks
- AP wireless access point
- STAs wireless stations
- a specific locality e.g., home, office, public facility, etc.
- another network such as the Internet or the like.
- one or more STAs may set up direct communication channels to transmit data with each other without relaying the data through the AP.
- One such technology Tunneled Direct Link Setup (TDLS), allows stations to connect directly to one another after they have joined a WLAN network with no user intervention.
- TDLS Tunneled Direct Link Setup
- a TDLS-capable STA needs to obtain the status and capabilities of other STAs in the WLAN, including whether any of the other STAs are able to support TDLS.
- STAs usually must send specific discovery frames to each STA in the WLAN to make such determinations, which requires a minimum level of overhead in the process, such as transmission of TDLS discovery messages to STAs that are not TDLS-capable or are not associated with the same AP, which is not necessary.
- At least one of the STAs that use the TDLS link can enter a power-saving mode.
- STAs can periodically sleep and wake up at scheduled times.
- the communication device includes a processing system configured to determine whether each of the stations is capable of direct communications with another one of the stations while remaining associated with the communication device and maintain a list of the stations determined to be capable of such direct communications.
- An aspect of a method for supporting wireless communications for a plurality of stations associated with an access point includes the access point determining whether each of the stations is capable of direct communications with another one of the stations while remaining associated with the access point.
- the method also includes maintaining a list of the stations determined to be capable of such direct communications.
- the computer-readable medium includes code, that when executed by a processor, cause a communication device to determine whether each of the stations is capable of direct communications with another one of the stations while remaining associated with the access point.
- the computer-readable medium also includes code that cause the communication device to maintain a list of the stations determined to be capable of such direct communications.
- FIG. 1 is a conceptual diagram illustrating an exemplary embodiment of a wireless local area network (WLAN);
- WLAN wireless local area network
- FIG. 2 is a conceptual diagram illustrating an exemplary embodiment of a wireless station (STA) peer-to-peer communications that is assisted by the access point (AP);
- STA wireless station
- AP access point
- FIG. 3 is a conceptual diagram illustrating an exemplary embodiment of an STA direct communications that is managed by the AP;
- FIG. 4 is a block diagram illustrating an exemplary embodiment of an AP
- FIG. 5 is a block diagram illustrating an exemplary embodiment of an STA
- FIG. 6 is a signaling diagram illustrating an example of direct communications discovery operation between an AP and two STAs
- FIG. 7 is a signaling diagram illustrating an example of direct communications management operation between an AP and two STAs
- FIG. 8 is a flow chart illustrating an example of an STA direct communications operation assisted by an AP
- FIG. 9 is a flow chart illustrating an example of an STA direct communications operation by an STA
- FIG. 10 is a flow chart illustrating an example of an STA direct communications management operation assisted by an AP.
- FIG. 11 is a flow chart illustrating an example of an STA direct communications management operation by an STA.
- a processor may include a general purpose processor, a reduced instruction set computing (RISC) processor, an advanced RISC Machines (ARM) processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), systems on a chip (SOC), a baseband processor, a programmable logic device (PLD), or other programmable logic component, discrete gate or transistor logic, discrete hardware components, or any combination thereof, or any other suitable component designed to perform the functions described herein.
- RISC reduced instruction set computing
- ARM advanced RISC Machines
- DSP digital signal processor
- ASIC application specific integrated circuit
- FPGA field programmable gate array
- SOC systems on a chip
- PLD programmable logic device
- a general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine.
- a processor may also be implemented as a combination of computing components, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP, or any other such configuration.
- One or more processors in the processing system may execute software.
- Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise.
- the software may reside on transitory or non-transitory computer-readable medium.
- a non-transitory computer-readable medium may include, by way of example, a magnetic storage device (e.g., hard disk, floppy disk, magnetic strip), an optical disk (e.g., compact disk (CD), digital versatile disk (DVD)), a smart card, a flash memory device (e.g., card, stick, key drive), random access memory (RAM), static RAM (SRAM), dynamic RAM (DRAM), synchronous dynamic RAM (SDRAM); double date rate RAM (DDRAM), read only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), a general register, or any other suitable non-transitory medium for storing software.
- a magnetic storage device e.g., hard disk, floppy disk, magnetic strip
- an optical disk e.g., compact disk (CD), digital versatile disk (DVD)
- a smart card e.g., card, stick, key drive
- RAM random access memory
- SRAM static RAM
- the various interconnections within a processing system may be shown as buses or as single signal lines.
- Each of the buses may alternatively be a single signal line, and each of the single signal lines may alternatively be buses, and a single line or bus might represent any one or more of a myriad of physical or logical mechanisms for communication between elements.
- Any of the signals provided over various buses described herein may be time-multiplexed with other signals and provided over one or more common buses.
- FIG. 1 is a conceptual diagram illustrating an exemplary embodiment of a wireless local area network (WLAN).
- WLAN wireless local area network
- the wireless network will be described as a WLAN, such as an IEEE 802.11 network.
- BLUETOOTH® Bluetooth
- HiperLAN a set of wireless standards, comparable to the IEEE 802.11 standards, used primarily in Europe
- WAN wide area networks
- WLANs WLANs
- PAN personal area networks
- the various aspects presented throughout this disclosure may be applicable to any suitable wireless network regardless of the coverage range and the wireless access protocols utilized.
- the wireless network may support any number of communication devices.
- a communication device may be any suitable wireless device capable of operating in a wireless environment, such as an access point (AP) or a wireless station (STA) operating in an IEEE 802.11-compliant network.
- An AP is generally a fixed terminal that provides backhaul services to STAs within its coverage region; however, the AP may be mobile in some applications.
- An STA which may be fixed or mobile, utilizes the backhaul services of an AP to connect to a network, such as the Internet.
- Examples of an STA include, but are not limited to: a cellular phone, a cordless phone, a smart phone, a tablet computer, a laptop computer, a desktop computer, a personal digital assistant (PDA), a personal communication system (PCS) device, a handheld device, a personal information manager (PIM), personal navigation device (PND), a global positioning system (GPS) device, a wireless modem, a wireless communications device, a multimedia device, a video device, an audio device (e.g., an MP3 player), a wireless local loop (WLL) station, a camera, a game console, a wearable computing device (e.g., a smart watch, smart glass, a health or fitness tracker, etc.), an appliance, a sensor, a vehicle communication system, a medical device, a vending machine, a device for the Internet of Things (IoT), or any other suitable wireless communication device requiring the backhaul services of an AP.
- PDA personal digital assistant
- PCS personal communication system
- An STA may also be referred to by those skilled in the art as: a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communications device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile client, a client, user equipment (UE), or some other suitable terminology.
- An AP may also be referred to as: a base station, a base transceiver station, a radio base station, a radio transceiver, a transceiver function, or any other suitable terminology.
- the WLAN 100 is shown with an AP 111 and a number of wireless STAs 101 - 104 within the coverage region of the AP 111 . Although only four STAs 101 - 104 are shown in FIG. 1 for simplicity, it is to be understood that the WLAN 100 may include any number of STAs.
- AP 111 provides backhaul services to STAs 101 - 104 over a wireless channel over respective wireless links 121 - 124 .
- the STAs 101 - 104 gain access to the wireless channel using a carrier sensing protocol.
- a carrier sensing protocol a carrier sensing protocol
- Each STA 101 - 104 may be implemented with a protocol stack.
- the protocol stack can include a physical layer for transmitting and receiving data in accordance with the physical and electrical specifications of the wireless channel, a data link layer for managing access to the wireless channel, a network layer for managing source to destination data transfer, a transport layer for managing transparent transfer of data between end users, and any other layers necessary or desirable for establishing or supporting a connection to a network.
- Each STA 101 - 104 can also include one or more software applications or other circuitry to enable a user to transmit, receive, and/or process data through a user interface.
- data shall be construed broadly to include voice, text, audio, video, and all other data generated or received by a user.
- the term “data” does not include information to control the STA, such as, by way of example, the information contained in the beacon frames transmitted by AP 111 .
- the user interface can include a keypad, display, speaker, microphone, joystick, and/or any other combination of user interface components that enable the user to interact with one of the STAs 101 - 104 .
- AP 111 can include software applications or other circuitry to enable associated STAs 101 - 104 to connect to a network via links 121 - 124 .
- AP 111 can send frames to STAs 101 - 104 and receive frames from STAs 101 - 104 to transfer data with STAs 101 - 104 , in addition to sending and/or receiving control information from STAs 101 - 104 .
- AP 111 can establish links 121 - 124 with STAs 101 - 104 when one of the STAs 101 - 104 is within a physical local area of AP 111 .
- Links 121 - 124 can comprise communications channels that can enable both uplink and downlink communications.
- an STA such as STA 101 can first authenticate itself with AP 111 and then associate itself with AP 111 . Once associated, link 121 can be established between AP 111 and STA 101 . Once the link is established, AP 111 can send management frames and data frames through the direct communications channel.
- STAs 102 - 104 can establish communications channels with AP 111 by establishing direct links 122 - 124 , respectively.
- FIG. 2 is a conceptual diagram illustrating an exemplary embodiment of a wireless station (STA) direct communications that are assisted by an access point (AP).
- WLAN 200 is similar to WLAN 100 of FIG. 1 and includes STAs 201 - 204 and AP 211 .
- WLAN includes AP-STA links 221 - 224 , as well as STA direct links 233 and 234 .
- AP 211 includes an STA list 240 that includes an ID field 241 , an IP address field 243 , a Media Access Control (MAC) address field 245 , and a Tunneled Direct Link Setup (TDLS) capability indicator field 247 .
- STA list 240 includes STA entries 251 - 253 .
- STA direct links 233 - 234 can enable data communications between STAs 201 , 203 , 204 in WLAN 200 without requiring AP 211 to relay data in data frames between STAs.
- STA direct links 233 - 234 can be generated and maintained using the Tunneled Direct Link Setup (TDLS) protocol.
- the TDLS protocols may enable STAs like STAs 201 - 204 to connect directly to one another after they have joined WLAN 200 .
- STAs 201 - 204 using a communications channel setup and maintained in accordance with TDLS can generate setup frames encapsulated in data frames that are transmitted through an AP (“tunneling”).
- the TDLS link can be established to transfer data using a different protocol than the links established between the STAs and the AP.
- STAs 201 , 203 can establish links 221 , 223 , respectively with AP in accordance with the IEEE 802.11a standard, while establishing TDLS link 233 in accordance with the IEEE 802.11n standard.
- one or more STAs 201 - 204 can attempt to establish direct communications with one of the other STAs 201 - 204 in a WLAN.
- STA 201 can attempt to establish direct communications with STAs 202 - 204 using TDLS to generate direct links.
- STAs 203 , 204 are TDLS capable; STA 201 can use TDLS to establish direct communication links with one or more of STAs 203 , 204 independently.
- STA 201 can manage communications on both TDLS communications channels of TDLS links 233 - 234 such that data is only communicated through one of the channels of TDLS links 233 - 234 at a time.
- STA 201 may not know whether any of STAs 202 - 204 are capable of establishing a link in compliance with TDLS. In some exemplary embodiments, STA 201 can attempt to determine whether any of STAs 202 - 204 are TDLS-compliant before attempting to setup a TDLS link. In some exemplary embodiments, STA 201 can send a request message, such as a TDLS discovery request frame, to each of STAs 202 - 204 . In some embodiments, STA 201 can use information received in a TDLS discovery response frame to determine which of STAs 202 - 204 are capable of establishing direct links using TDLS.
- a request message such as a TDLS discovery request frame
- AP 211 can indicate to STA 201 which of the associated STAs 202 - 204 in WLAN 200 is capable of establishing direct communications using TDLS.
- AP 211 can provide a TDLS-capability indication in a list 240 .
- list 240 can include a list of each associated STA in WLAN 200 and provide an indication of whether any STA of STAs 202 - 204 is TDLS-capable.
- STA list 240 includes TDLS-capability indicator field 247 .
- STA list 240 may comprise only entries of STAs that are capable of TDLS (i.e., a TDLS-compliant STA list).
- STA 201 can use the information included in list 240 (e.g., the MAC address indicated in MAC address field 245 ) to send request messages to only those STAs that are capable of TDLS.
- STA list 240 shows that only STAs 203 - 204 (as indicated by STA entries 251 - 252 ) are capable of TDLS.
- STA 201 can then send TDLS request messages to only STAs 203 - 204 .
- STA 201 can skip sending a TDLS request message and waiting for a TDLS response message indicating TDLS compliance; instead, STA 202 can use the information in STA list 240 to send a TDLS setup request message or a TDLS discovery request message to setup TDLS link 233 , 234 .
- AP 211 can update STA list 240 upon association or disassociation of an STA 201 - 204 with AP 211 .
- AP 211 can determine the TDLS capability of an STA 201 - 204 during its association process of with AP 211 .
- AP 211 can update STA list 240 using the information provided by STA 201 - 204 during association.
- STA 201 can provide information, including identification information and TDLS-capability information, in an association request frame sent to AP 211 .
- AP 211 can use the information provided by STA 201 in the association request frame to generate a new STA entry for STA list 240 .
- AP 211 can provide STA list 240 to the associating STA during the association process.
- AP 211 can provide STA list 240 to STA 201 as part of an association response frame when STA 201 attempts to associate with AP 211 .
- AP 211 can update STA list 240 .
- STA list 240 when STA 201 associates with AP 211 by AP 211 adding to STA list 240 an STA entry that includes information relating to STA 201 .
- AP 211 can update STA list 240 by removing an STA entry from STA list 240 when one of the listed STAs disassociates with AP 211 .
- AP 211 can provide an updated STA list 240 (“update list”) to STAs 201 - 204 .
- AP 211 can include the updated list in a message included in a frame sent to one or more STAs 201 - 204 .
- the update list is included in one or more data frames sent to STAs 201 - 204 .
- AP 211 includes the update list in message sent in a beacon frame broadcast to each STA 201 - 204 .
- STA 201 associates itself with AP 211
- AP 211 can update STA list 240 to include an STA entry for STA 201 .
- AP 211 can then include the updated STA list 240 in a beacon frame and broadcast the beacon frame to STAs 201 - 204 .
- the updated STA list 240 can be sent in any type of action frame.
- FIG. 2 While the exemplary embodiments of FIG. 2 have been described with respect to direct communications using TDLS capabilities, similar approaches can also be used in other exemplary embodiments for other types of tunneling protocols in a local wireless network that enable direct communications between one or more STAs 201 - 204 .
- FIG. 3 is a conceptual diagram illustrating an example embodiment of STA direct communications that are managed by the AP.
- WLAN 300 is similar to WLANs 100 , 200 and includes STAs 301 , 303 , 304 and AP 311 .
- STAs 301 , 303 , 304 are associated with AP 311 and have communications links 321 , 323 , 324 established with AP 311 .
- TDLS-capable STA 301 has also established TDLS links 333 , 334 with TDLS-capable STAs 303 , 304 , respectively.
- AP 311 also includes a schedule 340 for TDLS channel communications.
- Schedule 340 can include a number of time slots 341 - 348 that can be reserved for TDLS channel communications for any of the established TDLS links 333 - 334 .
- AP 311 can receive requests from STAs 301 , 303 , 304 to determine a TDLS link schedule that reserves one or more time slots 341 - 348 for data transmissions over the channels established by TDLS links 333 - 334 .
- one or more STAs 301 , 303 , 304 may go into power save mode during periods when it is not involved in data transfer via the direct link according to the wakeup schedule.
- An STA that receives a TDLS wakeup schedule can communicate the wakeup schedule with the peer STA via the direct link or via the AP.
- AP 211 can establish schedule 340 such that time slots 341 and 345 are reserved (as indicated by reservation slots 351 , 353 ) and data is only transferred via TDLS link 333 between STAs 301 , 303 at the reserved slots.
- schedule 340 as established by AP 311 can indicate that time slots 343 - 344 , 347 - 348 are reserved for data communications via the direct communications channel established by TDLS link 333 between STA 301 and STA 303 .
- time slots 342 , 346 are reserved and can be reserved for other TDLS communications, either for further data communications on an established TDLS links 333 - 334 , or for data communications for a newly-established TDLS link.
- STA 301 is not involved in data communications via TDLS links 333 - 334 during time slots 342 , 346 .
- STA 301 can transition into power save mode (PSM). Power saving is greatest when an STA is in the sleep state.
- PSM power save mode
- STA 301 is in sleep state, other STAs 303 , 304 can buffer data to be transferred to STA 301 .
- the buffered data can be transferred to STA 301 during the wake windows agreed upon in the TDLS wakeup schedule that was obtained from AP 311 .
- AP 311 can generate schedule 340 based on a wakeup schedule request message received from one of the STAs 301 , 303 , 304 .
- the wakeup schedule request message can include parameters for generating schedule 340 , including parameters for the TDLS communications channel, wake duty cycles (e.g., the relative time the STA is active in contrast to the STA being in PSM), one or more intervals for waking, etc.
- AP 311 can generate a specific wakeup schedule for an STA 301 , 303 , 304 based on the received parameters and send the wakeup schedule to one or more of STAs 301 , 303 , 304 .
- an STA 301 can release the wakeup schedule provided by AP 311 in a wakeup schedule release message sent to AP 311 .
- STA 301 can send the wakeup schedule release message to release a wakeup schedule provided by AP 311 .
- STA 301 can send a wakeup schedule release message to end a period wakeup schedule as provided by AP 311 .
- a wakeup schedule can comprise a schedule for an individual TDLS link.
- AP 311 may provide a wakeup schedule to at least STA 301 for TDLS link 333 , reserving slots 351 , 353 .
- the wakeup schedule can include other parameters, including, for example, a frequency band for the TDLS channel, start and stop times based on target beacon transmission time (TBTT), and other TDLS direct link-related resources provided by AP 311 .
- TBTT target beacon transmission time
- STA 301 can receive multiple wakeup schedules based on each of the TDLS links 333 , 334 .
- AP 311 can generate a wakeup schedule based on each of the TDLS links.
- STA 301 can send one or more wakeup schedule request messages independently using separate parameters for each of TDLS links 333 , 334 .
- AP 311 can generate a single wakeup schedule for STA 301 based on both TDLS links 333 , 334 . STA 301 would then transfer in and out of PSM based on the complete wakeup schedule provided by AP 311 .
- AP 311 can send wakeup schedules for one STA to a different STA in WLAN 300 .
- AP 311 can send the wakeup schedule for STA 301 to STAs 303 - 304 .
- STAs 303 - 304 may not need to receive traffic indication frames for STA 301 or AP 311 to start and stop transmission of data with STA 301 via TDLS links 333 , 334 ; rather, STAs 303 - 304 can use the received wakeup schedule for STA 301 to determine the reserved times for their respective TDLS links 333 , 334 and can buffer and send data based on the intervals specified in the wakeup schedule.
- FIG. 4 is a functional block diagram illustrating an example of an access point.
- Block diagram 400 includes an Access Point (AP) 401 that has a processing system 410 , a transceiver 420 , and an antenna 430 .
- Processing system 410 includes a processor 411 and a memory.
- Memory 413 can include one or more software modules and stored data structures, including a wireless station list (e.g., STA list) 421 , a TDLS schedule 422 , a TDLS module 423 , a framing module 424 , and a scheduling module 425 .
- a wireless station list e.g., STA list
- AP 401 can include one or more of data structures and/or elements 421 - 425 to enable AP 401 to perform operations to assist one or more STAs in TDLS discovery and TDLS power-saving management.
- Transceiver 420 can be a transmitter/receiver circuit that includes one or more chains of transmitter (TX) components and one or more chains of receiver (RX) components that can be used by AP 401 to send and receive packet through a wireless channel via antenna 430 .
- the one or more TX chains included in transceiver 420 can receive messages (included in one or more frames) and send the received messages to processing system 410 .
- the one or more RX chains included in transceiver 420 can receive messages (included in one or more frames) and send the messages through the communication channel using antenna 430 .
- transceiver 420 can also include components for an RF front end to modulate signals for transmission and/or demodulate received signals.
- Processing system 410 can be implemented with a bus architecture that includes any number of interconnecting buses and bridges.
- the bus links together various circuit in processing system 410 , including processor 411 and memory 413 .
- the bus may also link various other circuits, such as timing sources, peripherals, voltage regulators, power management circuits, etc., which are well known in the art, and therefore will not be described further.
- Processor 411 is responsible for managing the bus and for general processing, including the execution of software instructions stored in memory 413 .
- Processor 411 can load instructions from modules, including modules 423 - 425 , and execute processes in accordance with the local instructions.
- processor 411 can include one or more processors that are coordinated to perform processes for AP 401 .
- memory 413 can include STA list 421 , which can provide a way for maintaining a list of stations determined to be capable of supporting direct communications.
- STA list 421 can be stored such that it includes one or more STA entries 251 - 253 and information for fields 241 - 247 , including a identifier for identifier field 241 , an IP address of IP address field 243 , a MAC address for MAC address field 245 (plus or alternatively including other identifying information), and a TDLS-capability indicator for TDLS-capability indicator field 247 .
- Processor 411 using instructions loaded from TDLS module 423 , can save entries for STA list 421 and the updated STA list 421 based at least in part on information received via framing module 424 .
- memory 413 can include schedule 422 , which can provide a way for storing a wakeup schedule.
- schedule 422 can includes one or more wakeup schedules for TDLS links 333 - 334 established in the local network.
- Processor 411 using instructions from scheduling module 425 , can determine periods for data communications using the one or more TDLS links 333 - 334 and can reserve periods to enable such data communications.
- processor 411 using instructions from framing module 424 , can generate wakeup schedule response messages to STAs 301 , 303 , 304 that include wakeup schedules based on schedule 422 .
- Memory 413 can also include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements) that may include any number of software modules. Each software module can include a set of instructions that, when executed by processor 411 , cause processing system 410 to perform various functions.
- memory 413 includes TDLS module 423 , framing module 424 , and scheduling module 425 .
- the AP 401 may include one or more of TDLS module 423 , framing module 424 , and/or scheduling module 425 .
- all of the software modules 423 - 425 may be enabled to perform various aspects of the TDLS discovery and management algorithms.
- one of the software modules may be enabled, while one or more of the others software module remains dormant.
- the AP 401 may support TDLS discovery without power savings.
- the software modules that are dormant may be activated later in the field or at the factory to implement, for example, an upgrade in services.
- only one of the software modules may be loaded into memory 413 .
- AP 401 may or may not be capable of being programmed later in the field, or at the factory, with the other software module.
- the actual implementation of the AP 401 will depend on a variety of factors including consumer demand, performance parameters, pricing, and other relevant factors.
- TDLS module 423 when executed by the processor 411 , for example, provides a way for determining whether an associated station (STA 201 - 204 ) is capable of direct communications while remaining associated with the communication device.
- instructions provided by TDLS module 423 enable processor 411 to determine whether an STA is TDLS-capable.
- processor 411 can use instructions provided by framing module 424 to retrieve information from a received message.
- the retrieved information can include an indication of whether an STA is TDLS-capable.
- processor 411 can use instructions provided by TDLS module 423 to make a determination for the applicable STA based on the received TDLS-capability indication.
- TDLS module 423 when executed by processor 411 , can also provide a way for generating STA list 421 and for updating STA list 421 .
- processor 411 can use instructions provided by framing module 424 to retrieve information from a received message.
- Processor 411 can use instructions provided by TDLS module 423 to generate an STA entry 251 - 253 using the information from the received message and add the generated STA entry to STA list 240 .
- processor 411 can use instructions from TDLS module 423 to update the list by either adding a newly-generated STA entry to STA list 421 or by removing and erasing an existing STA entry stored in STA list 421 .
- Processor 411 can use instructions provided by TDLS module 423 to overwrite STA list 421 such that the updated list is stored in memory 413 as STA list 421 .
- Framing module 424 when executed by the processor 411 , can provide ways, for example: for receiving a request, for providing STA list 421 to one or more STAs in response to a request, for providing schedule 422 to one or more STAs in response to a request, and for providing wakeup indications to an STA regarding the active state of another STA.
- processor 411 can use instructions provided by framing module 424 to retrieve information included in a message and/or frame received by AP 401 through transceiver 420 .
- processor 411 can use instructions provided by framing module 424 to include information in a message and/or frame that is sent by AP 401 through transceiver 420 .
- processing system 410 can receive a request, such as an association request message or a wakeup schedule request message, from an STA 301 , 303 , 304 through transceiver 420 .
- Processor 411 can use instructions provided by framing module 424 to open the frame that included the request message.
- Processor 411 can also use instructions provided by framing module 424 to then retrieve the information included in the request message, which can include, for example: parameters for generating the wakeup schedule, identification information related to the sending STA, or an indication of whether the sending STA is capable of supporting TDLS.
- processor 411 can use instructions provided by framing module 424 to package information, such as STA list 421 , schedule 422 , an STA active status indication, etc. into a message.
- processor 411 can use instructions provided by framing module 424 to provide the message by including the message in a frame, such as a data frame, association response frame, probe response frame, beacon frame, or any action frame.
- processing system 410 can send the frame that includes the information through transceiver 420 to, for example, one or more STAs.
- processor 411 can also use instructions provided by scheduling module 425 to determine a wakeup schedule for STA direct communications. For example, processor 411 can use information extracted from the wakeup schedule request message and can use instructions provided by scheduling module 425 to generate a wakeup schedule. The generated wakeup schedule can be stored memory 413 in schedule 422 .
- processor 411 can also use instructions from scheduling module 425 to generate a wakeup schedule such that it avoids reserved times already stored in schedule 422 .
- processor 411 can use instructions provided by scheduling module 425 and parameters provided in the wakeup schedule request message to generate a wakeup schedule based at least in part on such parameters.
- scheduling module 425 can provide instructions for processor 411 to reserve a specified frequency band based on parameters included in the wakeup schedule request message.
- Scheduling module 425 can also provide instructions for processor 411 to generate a wakeup schedule that can be included in a wakeup schedule response message.
- FIG. 5 is a functional block diagram illustrating an example of an STA.
- Block diagram 500 includes a station (STA) 501 that has a processing system 510 , a transceiver 420 , and an antenna 530 .
- Processing system 510 includes a processor 511 and a memory 513 .
- Memory 513 can include one or more software modules and stored data structures, including a wireless station (STA) list 521 , a schedule 522 , buffered data 523 , TDLS link parameters 524 , TDLS link module 525 , framing module 526 , scheduling module 527 , and power save mode (PSM) module 528 .
- STA 501 can include one or more data structures and/or modules 521 - 528 to enable STA 501 to perform operations to enable communications using TDLS and manage TDLS communications.
- Transceiver 520 is similar to transceiver 420 and can be a transmitter/receiver circuit that includes one or more chains of transmitter (TX) components and one or more chains of receiver (RX) components that can be used by STA 501 to send and receive packet through a wireless channel via antenna 530 .
- the one or more TX chains included in transceiver 520 can receive messages (included in one or more frames) and send the received messages to processing system 510 .
- the one or more RX chains included in transceiver 520 can receive messages (included in one or more frames) and send the messages through the communication channel using antenna 530 .
- transceiver 420 can also include components for an RF front end to modulate signals for transmission and/or demodulate received signals.
- Processing system 510 can be implemented with a bus architecture that includes any number of interconnecting buses and bridges.
- the bus links together various circuit in processing system 510 , including processor 511 and memory 513 .
- the bus may also link various other circuits, such as timing sources, peripherals, voltage regulators, power management circuits, etc., which are well known in the art, and therefore will not be described further.
- Processor 511 is similar to processor 411 and is responsible for managing the bus and for general processing, including the execution of software instructions stored in memory 513 .
- Processor 511 can load instructions from modules, including modules 525 - 528 , and execute processes in accordance with the local instructions.
- processor 511 can include one or more processors that are coordinated to perform processes for STA 501 .
- memory 513 can include STA list 521 , which can provide ways for maintaining a list of stations determined to be capable of supporting direct communications with STA 501 .
- STA list 521 can be stored such that it includes one or more STA entries 251 - 253 and information for fields 241 - 247 , including a identifier for identifier field 241 , an IP address for IP address field 243 , a MAC address for MAC address field 245 (plus optionally, or alternatively, other identifying information), and a TDLS-capability indicator for TDLS-capability indicator field 247 .
- Processor 511 using instructions loaded from TDLS link module 525 , can save entries for STA list 521 and the updated STA list 521 based at least in part on information received via framing module 526 .
- memory 513 can store a schedule 522 , which can provide ways for storing a wakeup schedule.
- schedule 522 can include one or more wakeup schedules for TDLS links 333 - 334 established in the local network.
- Processor 511 using instructions from scheduling module 527 , can determine periods for data communications using the one or more TDLS links 333 - 334 and can, using instructions from PSM module 528 , perform power-saving operations, such as entering into sleep mode or awaking from sleep mode.
- Processor 511 can, using instructions provided by PSM module 528 , perform operations during periods specified in schedule 522 to enable such data communications via one or more TDLS links 333 - 334 .
- processor 511 using instructions from framing module 526 , can provide wakeup schedule request messages to AP 311 that includes stored TDLS link parameters 524 .
- Memory 513 can also include buffered data 523 , which can provide ways to store data.
- STA 501 can store data in buffered data 523 , for example, when it determines that data communications for a particular TDLS link 333 - 334 is suspended. This can occur, for example, when the other STA using TDLS link 333 - 334 indicates it is in a PSM. While the other STA is in PSM, STA 501 can store data in buffered data 523 until it receives an indication that is can transfer data to the STA via the TDLS link.
- processing system 510 can receive the STA active status indication through a frame, such as a data frame or a traffic indication frame, or any action frame, received from AP 311 .
- scheduling module 527 when executed by the processor 511 , can use information stored in schedule 522 and instructions for scheduling module 527 to determine when the other STA is in PSM or awake, buffering data until the other STA awakes for data transmission with STA 501 via the TDLS link.
- Memory 513 can also store one or more TDLS link parameters 524 for the one or more TDLS links established between STA 501 and peer STAs.
- TDLS link parameters 524 can include certain quantitative attributes necessary to establish and maintain direct communications using a TDLS link.
- processor 511 can use instructions from TDLS link module 525 to establish a TDLS link using TDLS link parameters 524 stored in memory.
- processor 511 using instructions provided by framing module 526 , can package TDLS parameters 524 into a wakeup schedule request message.
- Processor 511 using further instructions provided by framing module 526 can send the wakeup schedule request message in a frame, such as a data frame or a probe request frame, to request a wakeup schedule for an already-established TDLS link.
- processor 511 using instructions provided by framing module 526 , can generate a TDLS wakeup schedule request message based on TDLS link parameters 524 .
- Processor 511 can then, using instructions from TDLS link module 525 , establish a TDLS link based at least on TDLS link parameters 524 and the received wakeup schedule.
- a TDLS parameter can be construed broadly to mean any parameter that has an effect on the wireless transmission on the TDLS link.
- data rate and throughput are both TDLS parameters, as both parameters affect the bandwidth of the wireless transmission (i.e., how much data can be transmitted through the wireless medium for a given time frame).
- TDLS link parameters 524 can include, but are not limited to, for example: data rate, minimum quality of service (QoS), frequency band, one or more independent wakeup intervals, security protocol, destination address, source address, etc.
- Memory 513 can also include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements) that may include any number of software modules. Each software module can include a set of instructions that, when executed by processor 511 , cause processing system 510 to perform various functions.
- memory 513 includes TDLS link module 525 , framing module 526 , scheduling module 527 , and PSM module 528 .
- STA 501 may include one or more of TDLS link module 525 , framing module 526 , scheduling module 527 , and PSM module 528 .
- all of the software modules 525 - 528 may be enabled to perform various aspects of the TDLS discovery and management algorithms.
- one of the software modules may be enabled, while one or more of the others software module remains dormant.
- the software modules that are dormant may be activated later in the field or at the factory to implement, for example, an upgrade in services.
- only one of the software modules may be loaded into memory 513 .
- STA 501 may or may not be capable of being programmed later in the field, or at the factory, with the other software module.
- the actual implementation of STA 501 will depend on a variety of factors including consumer demand, performance parameters, pricing, and other relevant factors.
- TDLS link module 525 when executed by the processor 511 , for example, provides ways for establishing direct communications with other STAs in the WLAN.
- the TDLS link module 525 establishes a TDLS link with another STA 203 - 204 that is capable of handling a TDLS link 233 - 234 .
- TDLS link module 525 generates a TDLS discovery request messages and TDLS setup request messages to establish the TDLS link.
- the TDLS discovery request message or TDLS setup request message can include an inquiry on the physical distance between STA 501 and the other STA.
- both STAs may be too far away from each other to establish or maintain a TDLS link, though the STAs remain close enough to the AP to maintain association with the AP.
- the TDLS link module 525 may be used to tear down the established TDLS link. This can occur, for example, when the conditions of the channel created by the TDLS link is too degraded or congested to send data reliably.
- Framing module 526 when executed by the processor 511 , can provide ways, for example: for receiving a list of stations capable of direct communications with STA 501 while remaining associated with AP 401 , for sending an indication that STA 501 is TDLS-capable, for providing a request, for receiving a response, for receiving an STA active status indication, and for receiving a wakeup schedule.
- framing module 526 may be used to retrieve information included in a message and/or frame received by STA 501 through transceiver 520 .
- framing module 526 may be used to include information in a message and/or a frame that is sent by STA 501 through transceiver 520 .
- processing system 510 can receive a response, such as an association response message or a wakeup schedule response message, from an AP 401 through transceiver 520 .
- Framing module 526 may be used to open the beacon frame that included the response message. Framing module 526 may then be used to retrieve the information included in the response message, which can include, for example: a list of TDLS-compliant stations, and updated TDLS-compliant list STA, a schedule (including, for example, times for STA 501 to sleep and times to awake), or an indication that another STA is in active mode.
- framing module 526 may be used to package information, such as parameters for generating a wakeup schedule, identification information related to STA 501 , or an indication that STA 501 is TDLS-capable, etc., into a message.
- framing module 526 may be used to provide the message by including the message in a frame, such as a data frame, association request frame, or probe request frame.
- processing system 510 can send the frame that includes the information through transceiver 520 to, for example, AP 401 .
- Scheduling module 527 when executed by processor 511 , can provide ways for interpreting the wakeup schedule as stored in schedule 522 . Scheduling module 527 may be used to determine which times to sleep and awake. In such instances, scheduling module 527 may be used to trigger PSM module 528 to enter into or out of PSM.
- scheduling module 527 may be used to interpret the wakeup schedule for another STA.
- processor 411 using instructions provided by scheduling module 527 , can determine whether another STA is in PSM or is active. In instances where scheduling module 527 is used to determine that the other STA is active, processing system 510 can send to the other STA the data stored in buffered data 523 .
- scheduling module 527 can be used to interpret a received STA active status indication. In instances where scheduling module 527 is used to interpret the received indication to determine that the other STA is active, processing system 510 can send to the other STA the data stored in buffered data 523 .
- PSM module 528 can provide ways for STA 501 to enter into and out of a power-saving mode. PSM module 528 may be used to enter into and out off PSM. For example, when a scheduled sleep period begins, PSM module 528 may be used to force the station into a power-saving mode. Similarly, when a scheduled active period begins, the PSM module 528 may be used to exit its power-saving mode and become active.
- FIG. 6 is a signaling diagram illustrating an example direct communications discovery operation between an AP and two STAs.
- Signaling diagram 600 includes a first STA 601 , an AP 603 , and a second STA 605 .
- AP 603 can be similar to AP 401 and can include the same components as described in relation to FIG. 4 .
- STAs 601 and 605 can be similar to STA 501 and can include the same components as described in relation to FIG. 5 .
- AP 603 can operate with STAs 601 , 605 to assist in TDLS discovery such that STA 601 uses information provided by AP 603 to establish a TDLS link with STA 605 .
- STA 605 can initiate the operation illustrated in signaling diagram 600 by sending a message 611 to AP 603 indicating that STA 605 is capable of support communications using a TDLS link.
- message 611 can comprise an association request message in an association request frame to AP 603 that includes an indication that STA 605 is TDLS-capable.
- AP 603 can then, at block 613 , update STA list 240 to include an STA entry for STA 605 . This entry can include other information associated with STA 605 , such as its MAC address and IP address.
- STA 601 can attempt to associate with AP 603 by sending association request message 615 .
- STA 601 can include, for example a TDLS-capable indication in association request message 615 .
- AP 603 may update the STA list to include an entry for STA 601 .
- association request message 615 can be included in an association request frame.
- AP 603 can send an association response message 617 to STA 601 .
- association response message 617 can be included in an association response frame.
- AP 603 can include the current STA list 240 in association response message 617 .
- AP 603 can send STA list 240 , including an entry for STA 605 , in association response message 617 .
- STA 601 can attempt to establish a TDLS link with STA 605 by optionally sending TDLS discovery request message 619 to STA 605 .
- TDLS discovery request message 619 can be included in a data frame or in a probe request frame that is tunneled through AP 603 to STA 605 .
- STA 601 can use STA list 240 received from AP 603 as a filter. In such instances, STA 601 only sends TDLS discovery request message 619 to STA 605 when it first determines, using the TLDS indicator in the STA entry, that STA 605 is TDLS-capable.
- TDLS discovery request message 619 can include other queries needed to establish the TDLS link.
- TDLS discovery request message 619 can include a query on the physical location of STA 605 .
- STA 603 can use the physical location to determine whether a TDLS link with STA 605 is viable.
- STA 605 can generate and send a TDLS discovery response message 621 .
- TDLS discovery response message 621 can be included in a data frame in a probe response frame tunneled through AP 603 to STA 601 .
- STA 605 can indicate, for example, its physical location and whether the station is TDLS-capable.
- STA 601 can use the information included in the TDLS discovery response message 621 to determine whether to attempt to establish a TDLS link with STA 605 . If the STA 601 determines to make a TDLS link establishment attempt, STA 601 can send TDLS setup request message 623 to STA 605 . In some exemplary embodiments, TDLS setup request message 623 can be included in a data frame or in a probe request frame tunneled through AP 603 to STA 605 . In some exemplary embodiments, STA 601 can use the information included in STA list 240 to send TDLS setup request message 623 without sending TDLS discovery request message 619 .
- TDLS setup request message 623 can include, for example, a query about the physical location of STA 605 .
- TDLS setup request message 623 can include proposed TDLS service parameters for the TDLS link to be established.
- STA 605 can, at block 624 , process the setup request message 623 and then send a TDLS setup response message 625 .
- TDLS setup response message 625 can be included in a data frame or in a probe response frame tunneled through AP 603 to STA 601 .
- TDLS setup response message 625 can include, for example, the physical location of STA 605 .
- TDLS setup response message 625 can include TDLS service parameters for the TDLS link to be established.
- the TDLS service parameters may be the same as those proposed in setup request message 623 ; in other exemplary embodiments, one or more of the TDLS service parameters may be added or modified from those proposed.
- STA 601 can receive TDLS setup response message 625 and can send a TDLS setup confirmation message 627 .
- TDLS setup confirmation message 627 can be included in a data frame or in a probe response message tunneled through AP 603 to STA 605 .
- TDLS setup confirmation message 627 can be used to confirm the establishment of a TDLS link between STAs 601 , 605 .
- the TDLS link established uses the TDLS service parameters provided in the TDLS setup response message 625 .
- TDLS link module 525 may be used to save the specified TDLS service parameters in memory as TDLS parameters 524 .
- FIG. 7 is a signaling diagram illustrating an example direct communications management operation between an AP and two STAs.
- Signaling diagram 700 includes a first STA 701 , an AP 703 , and a second STA 705 , which are similar to devices 601 - 605 of signaling diagram 600 .
- AP 703 can be similar to AP 401 and can include the same components as described in relation to FIG. 4 .
- STAs 701 and 703 can be similar to STA 501 and can include the same components as described in relation to FIG. 5 .
- AP 703 can operate with STAs 701 , 705 to assist in power-saving operations for the TDLS link between STAs 701 , 705 such that multiple TDLS links within a WLAN can be coordinated efficiently.
- STAs 701 , 705 can initiate the operation illustrated in signaling diagram 600 by establishing a TDLS direct link 711 between STA 701 and STA 705 .
- TDLS direct link 711 is established in accordance with the operation established in signaling diagram 600 .
- TDLS direct link may be similar to established TDLS links 233 , 234 , 333 , and 334 .
- TDLS direct link 711 can have a number of TDLS service parameters associated with it that relate to the establishment, operation, and maintenance of TDLS direct link 711 .
- STA 701 can send a TDLS wakeup schedule request message 713 .
- TDLS wakeup schedule request message 713 can be included in a data frame or in a probe request frame (or any other frame) to AP 703 .
- STA 701 sends wakeup schedule request message 713 to AP 703 before establishing TDLS direct link 711 . In such instances, STA 701 can use the subsequent wakeup schedule provided by AP 703 when establishing TDLS direct link 711 .
- STA 701 can include one or more TDLS parameters 524 in wakeup schedule request message 713 .
- AP 703 can, in block 715 , process a TDLS wakeup schedule for TDLS direct link 711 .
- AP 703 uses one or more TDLS parameters included in wakeup schedule request message 713 to generate a schedule for TDLS direct link 711 .
- AP 703 can refer to schedule 340 , 422 when generating a wakeup schedule for TDLS direct link 711 .
- AP 703 can set up wakeup times and one or more period wakeup intervals based at least in part on available TDLS transmission periods, avoiding any times reserved for other TDLS communications.
- the generated wakeup schedule may include one or more independent periodic wakeup intervals (i.e., times between an STA waking from PSM).
- the group of periodic wakeup intervals and other parameters e.g., wake/sleep duty cycle, transmission frequency band, etc. can be included in the wakeup schedule generated by AP 703 .
- AP 703 can send the wakeup schedule generated in block 715 for TDLS direct link 711 in TDLS wakeup schedule response message 717 to STA 701 .
- AP 703 can send wakeup response message 717 to STA 701 in a data frame, beacon frame, or probe response frame (or any other frame).
- AP 703 can send the generated wakeup schedule to other STAs in the WLAN (e.g., STA 705 ). In such instances, the recipient STA can use the wakeup schedule for the TDLS link to determine when STA 701 is sleep or active.
- STA 705 can use the wakeup schedule for STA 701 generated by AP 703 in block 715 to determine when STA 701 is sleep or active for TDLS direct link 711 . STA 705 can then use such determinations to buffer data to be sent to STA 701 during scheduled sleep periods, without receiving traffic indication frames from AP 703 each time.
- STA 701 can optionally generate and send a PSM initiation message 719 to STA 705 .
- PSM initiation message can be included in a data frame in a probe request frame and send to STA 705 through TDLS direct link 711 or tunneled through AP 703 .
- STA 701 can generate PSM initiation message 719 based on at least in part the scheduled sleep time as specified in the wakeup schedule included in wakeup schedule response message 717 .
- STA 701 does not generate PSM initiation message 719 ; in such instances, STA 701 goes into PSM without sending PSM initiation message 719 at the scheduled sleep time.
- sleep time interval 721 is based at least in part on both the waking interval and a wake/sleep duty cycle provided in the wakeup schedule generated by AP 703 .
- the wakeup schedule generated by AP 703 can include a specified sleep time interval.
- STA is sleep and does not receive any frames from either AP 703 or STA 705 .
- STA 705 can buffer any data meant for STA 701 , as shown in block 723 .
- STA 701 can optionally, at the scheduled time, generate and send active trigger message 725 to STA 705 .
- active trigger message 725 can be included in a data frame, in a probe request frame, or in a request to send (RTS) frame.
- STA 705 can send the data buffered in block 723 to STA 701 in one or more buffered data messages 727 in one or more data frames via TDLS direct link 711 .
- STA 701 awakes at the scheduled time without sending active trigger message 725 to STA 705 .
- STA 705 can begin sending data buffered in block 723 at the scheduled awake time for STA 701 in one or more buffered data messages 727 packaged in one or more data frames.
- FIG. 8 is a flow chart illustrating an example of STA direct communications operation assisted by an AP.
- AP 211 , 401 can perform method 800 using TDLS module 423 and framing module 424 , respectively, as executed by processor 411 .
- AP 211 , 401 can perform method 800 , for example, when assisting STA 201 , 501 in establishing a TDLS link with another STA in the WLAN.
- Method 800 can begin at block 801 and proceed to block 803 , where AP 401 receives a message from an associated STA.
- Framing module 424 can be used to receive a message and/or frame received by processing system 410 via transceiver 420 .
- the message can be an association request message 611 included in an association request frame sent from an STA.
- AP 401 can determine whether the associated station that sent the message is capable of direct communications.
- TDLS module 423 can be used to review the information included in the association request message 611 , such as a TDLS-compliant indicator. If TDLS module 423 determines in block 805 that the sender STA is TDLS-capable, TDLS module 423 can, in block 807 , be used to update the TDLS-capable STA list to include the sender STA. In some exemplary embodiments, TDLS module 423 may be used to add an entry to STA list 421 to include information related to the STA that sent the message received in block 803 .
- the STA list is only updated with TDLS-compliant devices in block 807 .
- the STA list is updated after block 805 ; in such instances, an entry is added to the STA list that includes an indication of whether the sender STA is TDLS-capable.
- AP 401 can, in block 809 , receive an association request message 615 from a different STA.
- framing module 424 can be used to receive an association request message in an association request frame.
- AP 401 can then add the TDLS-capable device list in a response message to the second STA.
- Framing module 424 can be used to generate and send a response message that is included in an association request frame to the sending STA.
- framing module 424 can be used to include a complete STA list 240 , 421 in the message.
- TDLS module 423 may be used to generate the list, while framing module 424 can be used to first generate the message and then to generate the frame.
- AP 401 can send the response message to the second station.
- Framing module 424 may be used to send the response message in an association response frame to the second STA.
- framing module 424 can be used to send a complete STA list 240 , 421 in the message to the second STA; in other embodiments, the message includes the TDLS-capable STA list.
- FIG. 9 is a flow chart illustrating an example of a STA direct communications operation by an STA.
- STA 201 , 501 can perform method 900 using TDLS link module 525 and framing module 526 , respectively, as executed by processor 511 .
- STA 201 , 501 can perform method 900 , for example, when attempting to establish a TDLS link to another STA in the WLAN.
- Method 900 can begin at block 901 and proceeds to block 903 , where STA 501 sends an association request message to AP 211 , 401 .
- framing module 526 first can be used to generate an association request message 615 and then generate an association request frame.
- STA 501 can, in block 905 , receive an association response message from AP 401 .
- Framing module 526 can be used to receive an association response frame from AP 401 and then retrieve association response message 617 from the received association response frame.
- STA 501 can retrieve the TDLS-capable device list from the association response message.
- Framing module 526 can be used to retrieve the TDLS-capable device list from association response message 617 .
- association response message 617 can include a TDLS-capable device list; in other exemplary embodiments, association response message 617 can include an STA list that includes all associated devices in the WLAN, with each STA entry including a TDLS capability indicator.
- TDLS link module 525 can be used to determine if a target station for which STA 501 wishes to establish a TDLS link is listed in the TDLS-capable device list. In other embodiments, TDLS link module 525 can be used to determine if the target station has a related STA entry in the STA list that indicates it is TDLS-capable. If, at block 909 , TDLS link module 525 can be used to determine that the target station is not TDLS-capable, the process is complete at block 917 .
- STA 501 can proceed to block 911 , where STA 501 sends a TDLS setup request message 623 to the target station.
- Framing module 526 can be used to provide TDLS setup request message 623 in a data frame or probe request frame. In some exemplary embodiments, framing module 526 can be used to optionally send a TDLS discovery request message 619 to the target STA.
- TDLS link module 525 can be used to use the list as a filter such that TDLS setup request message 623 is only sent to the TDLS-compliant STA. In some exemplary embodiments, TDLS link module 525 can be used to generate TLDS service parameters that are stored as TDLS link parameters 524 in memory 513 . Framing module 526 can then be used to generate TDLS setup request message 623 and generate a data frame or a probe request frame that includes TDLS setup request message 623 .
- STA 501 can determine whether it received a TDLS setup response message.
- Framing module 526 can be used to receive a data frame or a probe response frame through transceiver 520 .
- TDLS link module 525 can then be used to determine whether the other station sent appropriate TDLS service parameters to establish the TDLS link. If the other station sent a NACK message, a rejection message, or a TDLS setup response message that included TDLS service parameters that would not be able to establish a proper TDLS link (e.g., a physical location outside the range of the TDLS link to be established), STA 501 can abandon establishment of the TDLS link and the process is complete at block 917 .
- STA 501 in block 913 receives a TDLS setup response message 625 that enables the establishment of a TDLS link
- STA 501 can proceed to block 915 , where it completes setup of a TDLS link.
- TDLS link module 525 can be used to use TDLS link parameters 524 to establish a TDLS direct link with the other station. Once the station is established, the method 900 is complete at block 917 .
- FIG. 10 is a flow chart illustrating an example of a STA direct communications management operation assisted by an AP.
- AP 311 , 401 can perform method 1000 using framing module 424 and scheduling module 425 , respectively, as executed by processor 411 .
- AP 311 , 401 can perform method 1000 , for example, when assisting STA 301 , 501 in establishing scheduled times to sleep and awake from a power-saving mode.
- Method 1000 can begin at block 1001 and proceed to block 1003 , where AP 401 receives a TDLS wakeup schedule request message.
- Framing module 424 can be used to receive a data frame or a probe request frame through transceiver 420 and retrieve wakeup schedule request message 713 .
- AP 401 at 1005 can then retrieve TDLS parameters 524 from the wakeup schedule request message 713 .
- framing module 424 can be used to retrieve one or more TDLS parameters 524 included in wakeup schedule request message 713 .
- TDLS parameters 524 can include parameters related to an established TDLS link, such as the frequency band of the channel and data packet size.
- TDLS parameters 524 can also include desired parameters for the wakeup schedule, such as a desired wakeup interval and a desired wake/sleep duty cycle.
- AP 401 can generate a wakeup schedule based at least in part on the received wakeup schedule request message 713 .
- scheduling module 425 can be used to generate a wakeup schedule based at least in part on the received wakeup schedule request message 713 .
- the wakeup schedule uses one or more TDLS parameters 524 included in wakeup schedule request message 713 to generate the wakeup schedule.
- scheduling module 425 can also be used to refer to a schedule 422 already saved in memory 413 such that the newly-generated wakeup schedule does not include active transmission periods that are already reserved for other established TDLS links.
- AP 401 in block 1009 can send the wakeup schedule to one or more STAs in a wakeup schedule response message 717 .
- Framing module 526 can be used to send wakeup schedule response message 717 in a data frame, probe response frame, a beacon frame (or any other frame).
- framing module 526 can be used to send the wakeup schedule to just the STA that sent wakeup schedule request message 713 .
- framing module 526 can be used to send the wakeup schedule in a beacon frame to one or more other STAs in the WLAN such that the other STAs know the active and inactive schedule of the STA and the applicable TDLS link.
- AP 401 can determine whether the wakeup schedule is accepted by the applicable (i.e., sending) STA. In some exemplary embodiments, scheduling module 527 be used to reserve the wakeup schedule until AP 401 receives a wakeup schedule release message from the applicable STA. If the schedule is not accepted, the method is complete at block 1019 .
- AP 401 in block 1013 can reserve the specified periods in the wakeup schedule for the applicable TDLS link and save the schedule.
- Scheduling module 425 can be used to reserve the periods specified by the wakeup schedule and save the wakeup schedule and the resultant overall TDLS schedule 340 in memory 413 as schedule 422 .
- AP 401 can in block 1015 determine whether it received a wakeup schedule release message from the applicable STA. Framing module 526 can be used to determine whether it received a wakeup schedule release message in a data frame or probe request frame. If not, AP 401 returns to 1013 , where the wakeup schedule remains reserved for the applicable STA and TDLS link.
- AP 401 determines that it has received a wakeup schedule release message from the applicable STA, AP 401 proceeds to block 1017 , where AP 401 releases the wakeup schedule from schedule 422 .
- Scheduling module 425 can be used to remove the released wakeup schedule from being reserved in schedule 422 and save the updated schedule 422 (excluding the released wakeup schedule) into memory 413 .
- AP 401 can also send an updated schedule 422 in a data frame or a beacon frame to other STAs. Once the wakeup schedule is released, the method is complete at 1019 .
- FIG. 11 is a flow chart illustrating an example of a peer-to-peer STA direct communications management operation by an STA.
- STA 301 , 501 can perform method 1100 using framing module 526 , scheduling module 527 , and PSM module 528 , respectively, as executed by processor 511 .
- STA 301 , 501 can perform method 1100 , for example, when performing period wake/sleep cycles by entering into and returning from a power-saving mode.
- Method 1100 can begin at block 1101 and proceed to block 1103 , where STA 501 establishes a TDLS link with another station.
- TDLS link module 525 can be used to establish a TDLS direct link 711 with another STA using method 900 as described above in relation to FIG. 9 .
- STA 501 can send a wakeup schedule request to AP 311 , 401 .
- framing module 526 can be used to send the wakeup schedule request message 713 before the TDLS direct link 711 is established.
- TDLS link module 525 can be used to establish the TDLS link using the wakeup schedule provided by AP 401 .
- the wakeup schedule request message 713 can include one or more TDLS parameters 524 from memory 513 .
- TDLS parameters 524 can include parameters related to an established TDLS link, 711 such as the frequency band of the channel and data packet size.
- TDLS parameters 524 can also include desired parameters for the wakeup schedule, such as a desired wakeup interval and a desired wake/sleep duty cycle.
- STA 501 in block 1107 can receive a wakeup schedule response message from AP 401 .
- Framing module 526 can be used to receive wakeup schedule response 717 in a data frame, a probe response frame, or a beacon frame (or any other frame) from AP 401 .
- Framing module 526 can be used to retrieve wakeup schedule response message 717 from the received frame.
- STA 501 can retrieve the wakeup schedule generated by AP 401 .
- Framing module 526 can be used to retrieve the wakeup schedule included in the wakeup schedule response message 717 .
- STA 501 can, in block 1111 , determine whether the wakeup schedule generated and provided by AP 401 is acceptable. Scheduling module 527 can be used to determine, for example, whether the wakeup schedule adheres to TDLS link parameters 524 . If STA 501 uses scheduling module 527 to determine that the wakeup schedule is not acceptable, STA 501 proceeds to 1123 , where framing module 526 can be used to send a wakeup schedule release message to AP 401 . Otherwise, STA 501 proceeds to block 1113 .
- STA 501 goes to sleep at the scheduled time provided by the wakeup schedule.
- the time for STA 501 to go to sleep can be derived using scheduling module 527 and quantities provided in the wakeup schedule (e.g., sleep start time, waking interval, sleep/wake duty cycle).
- PSM module 528 can be used to have STA 501 enter into a power-saving mode.
- STA 501 proceeds to block 1115 , where it waits for the sleep interval time.
- scheduling module 527 can be used to derive the sleep interval using quantities provided in the wakeup schedule (e.g., sleep start time, waking interval, sleep/wake duty cycle).
- STA 501 can proceed to block 1117 , where STA 501 awakes at the scheduled time.
- PSM module 528 can wake STA 501 from PSM to an active mode. Once in an active mode, STA 501 can be used to proceed to block 1119 , where STA 501 can engage in data communications with the other STA using the applicable TDLS direct link 711 .
- framing module 526 can be used to receive data buffered by the other STA during the sleep period.
- STA 501 can determine whether it wishes to send a wakeup schedule release message to AP 401 .
- STA 501 can send a wakeup schedule release message, for example, when tearing down the TDLS link or when requesting a new wakeup schedule. If STA 501 does not wish to release the schedule, STA 501 returns to block 1113 , where it waits for the scheduled time to enter into PSM. Otherwise, STA 501 proceeds to block 1123 , where STA 501 sends a wakeup schedule release message to AP 401 .
- Framing module 526 can be used to send the wakeup schedule release message in a data frame or in a probe request frame (or other frame) to AP 401 . Once the wakeup schedule release message is sent to AP 401 , the method is complete at block 1125 .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Various aspects of a communication device for supporting wireless communications for a plurality of stations associated with the communication device are provided. The communication device includes a processing system configured to determine whether each of the stations is capable of direct communications with another one of the stations while remaining associated with the communication device. The processing system may also maintain a list of the stations determined to be capable of such direct communications. In an aspect, the communication device may also include a transceiver configured to provide the list to a station of the plurality of stations in response to a request from the station. In an aspect, the request from the station may be included in an association request frame or an association response frame. In an aspect, the processing system may be configured to update the list and provide to the station the updated list in a beacon frame.
Description
- This application claims priority to U.S. Provisional Application Ser. No. 62/063,902, entitled, “DIRECT LINK WIRELESS DEVICES WITH POWER SAVINGS,” and filed on Oct. 14, 2014, which is assigned to the assignee hereof and hereby expressly incorporated by reference herein in its entirety.
- The present disclosure relates generally to telecommunications, and specifically to communications channels in wireless devices.
- The deployment of wireless local area networks (WLANs) in the home, the office, and various public facilities is commonplace today. Such networks typically employ a wireless access point (AP) that connects a number of wireless stations (STAs) in a specific locality (e.g., home, office, public facility, etc.) to another network, such as the Internet or the like.
- In some IEEE 802.11-compliant WLAN networks, one or more STAs may set up direct communication channels to transmit data with each other without relaying the data through the AP. One such technology, Tunneled Direct Link Setup (TDLS), allows stations to connect directly to one another after they have joined a WLAN network with no user intervention.
- To establish TDLS direct links, a TDLS-capable STA needs to obtain the status and capabilities of other STAs in the WLAN, including whether any of the other STAs are able to support TDLS. STAs usually must send specific discovery frames to each STA in the WLAN to make such determinations, which requires a minimum level of overhead in the process, such as transmission of TDLS discovery messages to STAs that are not TDLS-capable or are not associated with the same AP, which is not necessary.
- For TDLS direct links, at least one of the STAs that use the TDLS link can enter a power-saving mode. In the TDLS power save mode, STAs can periodically sleep and wake up at scheduled times. However, there is no coordination between multiple TDLS direct links about individual STA scheduled wakeup times. This can lead to two active TDLS links having overlapping data transmission times while other periods are unused by any TDLS link, causing potential efficiency within the WLAN.
- One aspect of a communication device for supporting wireless communications for a plurality of stations associated with the communication device is disclosed. The communication device includes a processing system configured to determine whether each of the stations is capable of direct communications with another one of the stations while remaining associated with the communication device and maintain a list of the stations determined to be capable of such direct communications.
- An aspect of a method for supporting wireless communications for a plurality of stations associated with an access point is disclosed. The method includes the access point determining whether each of the stations is capable of direct communications with another one of the stations while remaining associated with the access point. The method also includes maintaining a list of the stations determined to be capable of such direct communications.
- An aspect of a non-transitory computer readable medium storing computer-executable code for supporting wireless communications for a plurality of stations associated with an access point is disclosed. The computer-readable medium includes code, that when executed by a processor, cause a communication device to determine whether each of the stations is capable of direct communications with another one of the stations while remaining associated with the access point. The computer-readable medium also includes code that cause the communication device to maintain a list of the stations determined to be capable of such direct communications.
- It is understood that other aspects of communication devices and methods will become readily apparent to those skilled in the art from the following detailed description, wherein various aspects of communication devices and methods are shown and described by way of illustration. As will be realized, these aspects may be implemented in other and different forms and its several details are capable of modification in various other respects. Accordingly, the drawings and detailed description are to be regarded as illustrative in nature and not as restrictive.
- Various aspects of communication devices and methods will now be presented in the detailed description by way of example, and not by way of limitation, with reference to the accompanying drawings, wherein:
-
FIG. 1 is a conceptual diagram illustrating an exemplary embodiment of a wireless local area network (WLAN); -
FIG. 2 is a conceptual diagram illustrating an exemplary embodiment of a wireless station (STA) peer-to-peer communications that is assisted by the access point (AP); -
FIG. 3 is a conceptual diagram illustrating an exemplary embodiment of an STA direct communications that is managed by the AP; -
FIG. 4 is a block diagram illustrating an exemplary embodiment of an AP; -
FIG. 5 is a block diagram illustrating an exemplary embodiment of an STA; -
FIG. 6 is a signaling diagram illustrating an example of direct communications discovery operation between an AP and two STAs; -
FIG. 7 is a signaling diagram illustrating an example of direct communications management operation between an AP and two STAs; -
FIG. 8 is a flow chart illustrating an example of an STA direct communications operation assisted by an AP; -
FIG. 9 is a flow chart illustrating an example of an STA direct communications operation by an STA; -
FIG. 10 is a flow chart illustrating an example of an STA direct communications management operation assisted by an AP; and -
FIG. 11 is a flow chart illustrating an example of an STA direct communications management operation by an STA. - Various concepts will be described more fully hereinafter with reference to the accompanying drawings. These concepts may, however, be embodied in many different forms by those skilled in the art and should not be construed as limited to any specific structure or function presented herein. Rather, these concepts are provided so that this disclosure will be thorough and complete, and will fully convey the scope of these concepts to those skilled in the art. The detailed description may include specific details. However, it will be apparent to those skilled in the art that these concepts may be practiced without these specific details. In some instances, well known structures and components are shown in block diagram form in order to avoid obscuring the various concepts presented throughout this disclosure.
- The word “exemplary” is used herein to mean serving as an example, instance, or illustration. Any embodiment described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments. Likewise, the term “embodiment” of a communication device or method does not require that all embodiments of the invention include the described components, structure, features, functionality, processes, advantages, benefits, or modes of operation.
- These concepts will now be presented with reference to various communication device and methods. These communication device and methods will be described in the following detailed description and illustrated in the accompanying drawings by various elements comprising blocks, modules, components, circuits, steps, processes, algorithms, and the like. These elements, or any portion thereof, either alone or in combinations with other elements and/or functions, may be implemented using electronic hardware, computer software, or any combination thereof. Whether such elements are implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system.
- By way of example, an element, or any portion of an element, or any combination of elements may be implemented with a “processing system” that includes one or more processors. A processor may include a general purpose processor, a reduced instruction set computing (RISC) processor, an advanced RISC Machines (ARM) processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), systems on a chip (SOC), a baseband processor, a programmable logic device (PLD), or other programmable logic component, discrete gate or transistor logic, discrete hardware components, or any combination thereof, or any other suitable component designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing components, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP, or any other such configuration.
- One or more processors in the processing system may execute software. Software shall be construed broadly to mean instructions, instruction sets, code, code segments, program code, programs, subprograms, software modules, applications, software applications, software packages, routines, subroutines, objects, executables, threads of execution, procedures, functions, etc., whether referred to as software, firmware, middleware, microcode, hardware description language, or otherwise. The software may reside on transitory or non-transitory computer-readable medium. A non-transitory computer-readable medium may include, by way of example, a magnetic storage device (e.g., hard disk, floppy disk, magnetic strip), an optical disk (e.g., compact disk (CD), digital versatile disk (DVD)), a smart card, a flash memory device (e.g., card, stick, key drive), random access memory (RAM), static RAM (SRAM), dynamic RAM (DRAM), synchronous dynamic RAM (SDRAM); double date rate RAM (DDRAM), read only memory (ROM), programmable ROM (PROM), erasable PROM (EPROM), electrically erasable PROM (EEPROM), a general register, or any other suitable non-transitory medium for storing software.
- The various interconnections within a processing system may be shown as buses or as single signal lines. Each of the buses may alternatively be a single signal line, and each of the single signal lines may alternatively be buses, and a single line or bus might represent any one or more of a myriad of physical or logical mechanisms for communication between elements. Any of the signals provided over various buses described herein may be time-multiplexed with other signals and provided over one or more common buses.
-
FIG. 1 is a conceptual diagram illustrating an exemplary embodiment of a wireless local area network (WLAN). In the detailed description that follows, the wireless network will be described as a WLAN, such as an IEEE 802.11 network. However, as those skilled in the art will readily appreciate, the various aspects described throughout this disclosure may be extended to other networks employing various standards or protocols including, by way of example, BLUETOOTH® (Bluetooth), HiperLAN (a set of wireless standards, comparable to the IEEE 802.11 standards, used primarily in Europe), and other technologies used in wide area networks (WAN)s, WLANs, personal area networks (PAN)s, or other suitable networks now known or later developed. The various aspects presented throughout this disclosure may be applicable to any suitable wireless network regardless of the coverage range and the wireless access protocols utilized. - The wireless network may support any number of communication devices. A communication device may be any suitable wireless device capable of operating in a wireless environment, such as an access point (AP) or a wireless station (STA) operating in an IEEE 802.11-compliant network. An AP is generally a fixed terminal that provides backhaul services to STAs within its coverage region; however, the AP may be mobile in some applications. An STA, which may be fixed or mobile, utilizes the backhaul services of an AP to connect to a network, such as the Internet. Examples of an STA include, but are not limited to: a cellular phone, a cordless phone, a smart phone, a tablet computer, a laptop computer, a desktop computer, a personal digital assistant (PDA), a personal communication system (PCS) device, a handheld device, a personal information manager (PIM), personal navigation device (PND), a global positioning system (GPS) device, a wireless modem, a wireless communications device, a multimedia device, a video device, an audio device (e.g., an MP3 player), a wireless local loop (WLL) station, a camera, a game console, a wearable computing device (e.g., a smart watch, smart glass, a health or fitness tracker, etc.), an appliance, a sensor, a vehicle communication system, a medical device, a vending machine, a device for the Internet of Things (IoT), or any other suitable wireless communication device requiring the backhaul services of an AP. An STA may also be referred to by those skilled in the art as: a subscriber station, a mobile unit, a subscriber unit, a wireless unit, a remote unit, a mobile device, a wireless device, a wireless communications device, a remote device, a mobile subscriber station, an access terminal, a mobile terminal, a wireless terminal, a remote terminal, a handset, a user agent, a mobile client, a client, user equipment (UE), or some other suitable terminology. An AP may also be referred to as: a base station, a base transceiver station, a radio base station, a radio transceiver, a transceiver function, or any other suitable terminology. The various concepts described throughout this disclosure are intended to apply to all suitable wireless communication device regardless of their specific nomenclature.
- Turning to
FIG. 1 , theWLAN 100 is shown with anAP 111 and a number of wireless STAs 101-104 within the coverage region of theAP 111. Although only four STAs 101-104 are shown inFIG. 1 for simplicity, it is to be understood that theWLAN 100 may include any number of STAs.AP 111 provides backhaul services to STAs 101-104 over a wireless channel over respective wireless links 121-124. The STAs 101-104 gain access to the wireless channel using a carrier sensing protocol. However, as those skilled in the art will appreciate, the various concepts described throughout this disclosure are equally applicable to any suitable communication device regardless of the protocol or standard used. - Each STA 101-104 may be implemented with a protocol stack. The protocol stack can include a physical layer for transmitting and receiving data in accordance with the physical and electrical specifications of the wireless channel, a data link layer for managing access to the wireless channel, a network layer for managing source to destination data transfer, a transport layer for managing transparent transfer of data between end users, and any other layers necessary or desirable for establishing or supporting a connection to a network.
- Each STA 101-104 can also include one or more software applications or other circuitry to enable a user to transmit, receive, and/or process data through a user interface. For the purpose of this disclosure, the term “data” shall be construed broadly to include voice, text, audio, video, and all other data generated or received by a user. The term “data” does not include information to control the STA, such as, by way of example, the information contained in the beacon frames transmitted by
AP 111. The user interface can include a keypad, display, speaker, microphone, joystick, and/or any other combination of user interface components that enable the user to interact with one of the STAs 101-104. -
AP 111 can include software applications or other circuitry to enable associated STAs 101-104 to connect to a network via links 121-124.AP 111 can send frames to STAs 101-104 and receive frames from STAs 101-104 to transfer data with STAs 101-104, in addition to sending and/or receiving control information from STAs 101-104. -
AP 111 can establish links 121-124 with STAs 101-104 when one of the STAs 101-104 is within a physical local area ofAP 111. Links 121-124 can comprise communications channels that can enable both uplink and downlink communications. When connecting toAP 111, an STA such asSTA 101 can first authenticate itself withAP 111 and then associate itself withAP 111. Once associated, link 121 can be established betweenAP 111 andSTA 101. Once the link is established,AP 111 can send management frames and data frames through the direct communications channel. Similarly, STAs 102-104 can establish communications channels withAP 111 by establishing direct links 122-124, respectively. -
FIG. 2 is a conceptual diagram illustrating an exemplary embodiment of a wireless station (STA) direct communications that are assisted by an access point (AP).WLAN 200 is similar toWLAN 100 ofFIG. 1 and includes STAs 201-204 andAP 211. WLAN includes AP-STA links 221-224, as well as STAdirect links AP 211 includes anSTA list 240 that includes anID field 241, anIP address field 243, a Media Access Control (MAC)address field 245, and a Tunneled Direct Link Setup (TDLS)capability indicator field 247.STA list 240 includes STA entries 251-253. - STA direct links 233-234 can enable data communications between
STAs WLAN 200 without requiringAP 211 to relay data in data frames between STAs. In some exemplary embodiments, STA direct links 233-234 can be generated and maintained using the Tunneled Direct Link Setup (TDLS) protocol. The TDLS protocols may enable STAs like STAs 201-204 to connect directly to one another after they have joinedWLAN 200. In some instances, STAs 201-204 using a communications channel setup and maintained in accordance with TDLS can generate setup frames encapsulated in data frames that are transmitted through an AP (“tunneling”). In some instances, the TDLS link can be established to transfer data using a different protocol than the links established between the STAs and the AP. In the illustrative embodiment, for example,STAs links - In the illustrative embodiment, one or more STAs 201-204 can attempt to establish direct communications with one of the other STAs 201-204 in a WLAN. For example, in
WLAN 200,STA 201 can attempt to establish direct communications with STAs 202-204 using TDLS to generate direct links. In the illustrative embodiment,STAs STA 201 can use TDLS to establish direct communication links with one or more ofSTAs STA 201 can manage communications on both TDLS communications channels of TDLS links 233-234 such that data is only communicated through one of the channels of TDLS links 233-234 at a time. - In some exemplary embodiments,
STA 201 may not know whether any of STAs 202-204 are capable of establishing a link in compliance with TDLS. In some exemplary embodiments,STA 201 can attempt to determine whether any of STAs 202-204 are TDLS-compliant before attempting to setup a TDLS link. In some exemplary embodiments,STA 201 can send a request message, such as a TDLS discovery request frame, to each of STAs 202-204. In some embodiments,STA 201 can use information received in a TDLS discovery response frame to determine which of STAs 202-204 are capable of establishing direct links using TDLS. - In some exemplary embodiments,
AP 211 can indicate toSTA 201 which of the associated STAs 202-204 inWLAN 200 is capable of establishing direct communications using TDLS. In some exemplary embodiments,AP 211 can provide a TDLS-capability indication in alist 240. In some exemplary embodiments,list 240 can include a list of each associated STA inWLAN 200 and provide an indication of whether any STA of STAs 202-204 is TDLS-capable. In the illustrative embodiment, for example,STA list 240 includes TDLS-capability indicator field 247. In some exemplary embodiments,STA list 240 may comprise only entries of STAs that are capable of TDLS (i.e., a TDLS-compliant STA list).STA 201 can use the information included in list 240 (e.g., the MAC address indicated in MAC address field 245) to send request messages to only those STAs that are capable of TDLS. - In the illustrative embodiment for example,
STA list 240 shows that only STAs 203-204 (as indicated by STA entries 251-252) are capable of TDLS.STA 201 can then send TDLS request messages to only STAs 203-204. In some exemplary embodiments,STA 201 can skip sending a TDLS request message and waiting for a TDLS response message indicating TDLS compliance; instead,STA 202 can use the information inSTA list 240 to send a TDLS setup request message or a TDLS discovery request message to setup TDLS link 233, 234. - In some exemplary embodiments,
AP 211 can updateSTA list 240 upon association or disassociation of an STA 201-204 withAP 211. For example, in some exemplary embodiments,AP 211 can determine the TDLS capability of an STA 201-204 during its association process of withAP 211. In such instances,AP 211 can updateSTA list 240 using the information provided by STA 201-204 during association. In the illustrative embodiment, for example,STA 201 can provide information, including identification information and TDLS-capability information, in an association request frame sent toAP 211.AP 211 can use the information provided bySTA 201 in the association request frame to generate a new STA entry forSTA list 240. In some exemplary embodiments,AP 211 can provideSTA list 240 to the associating STA during the association process. For example, in the illustrative embodiment,AP 211 can provideSTA list 240 toSTA 201 as part of an association response frame whenSTA 201 attempts to associate withAP 211. - In some exemplary embodiments,
AP 211 can updateSTA list 240. For example, in the illustrative embodiment,AP 211 can updateSTA list 240 whenSTA 201 associates withAP 211 byAP 211 adding toSTA list 240 an STA entry that includes information relating toSTA 201. Similarly,AP 211 can updateSTA list 240 by removing an STA entry fromSTA list 240 when one of the listed STAs disassociates withAP 211. In some exemplary embodiments,AP 211 can provide an updated STA list 240 (“update list”) to STAs 201-204. In some embodiments,AP 211 can include the updated list in a message included in a frame sent to one or more STAs 201-204. In some exemplary embodiments, the update list is included in one or more data frames sent to STAs 201-204. In some exemplary embodiments,AP 211 includes the update list in message sent in a beacon frame broadcast to each STA 201-204. For example, whenSTA 201 associates itself withAP 211,AP 211 can updateSTA list 240 to include an STA entry forSTA 201.AP 211 can then include the updatedSTA list 240 in a beacon frame and broadcast the beacon frame to STAs 201-204. In some other exemplary embodiments, the updatedSTA list 240 can be sent in any type of action frame. - While the exemplary embodiments of
FIG. 2 have been described with respect to direct communications using TDLS capabilities, similar approaches can also be used in other exemplary embodiments for other types of tunneling protocols in a local wireless network that enable direct communications between one or more STAs 201-204. -
FIG. 3 is a conceptual diagram illustrating an example embodiment of STA direct communications that are managed by the AP.WLAN 300 is similar toWLANs STAs AP 311.STAs AP 311 and havecommunications links AP 311. TDLS-capable STA 301 has also establishedTDLS links capable STAs AP 311 also includes aschedule 340 for TDLS channel communications.Schedule 340 can include a number of time slots 341-348 that can be reserved for TDLS channel communications for any of the established TDLS links 333-334. In some exemplary embodiments,AP 311 can receive requests fromSTAs - In the illustrative embodiment for example,
AP 211 can establishschedule 340 such thattime slots reservation slots 351, 353) and data is only transferred via TDLS link 333 betweenSTAs schedule 340 as established byAP 311 can indicate that time slots 343-344, 347-348 are reserved for data communications via the direct communications channel established by TDLS link 333 betweenSTA 301 andSTA 303. As shown byschedule 340,time slots - As shown by
schedule 340,STA 301 is not involved in data communications via TDLS links 333-334 duringtime slots STA 301 can transition into power save mode (PSM). Power saving is greatest when an STA is in the sleep state. WhenSTA 301 is in sleep state,other STAs STA 301. The buffered data can be transferred toSTA 301 during the wake windows agreed upon in the TDLS wakeup schedule that was obtained fromAP 311. - In some exemplary embodiments,
AP 311 can generateschedule 340 based on a wakeup schedule request message received from one of theSTAs schedule 340, including parameters for the TDLS communications channel, wake duty cycles (e.g., the relative time the STA is active in contrast to the STA being in PSM), one or more intervals for waking, etc.AP 311 can generate a specific wakeup schedule for anSTA STAs STA 301 can release the wakeup schedule provided byAP 311 in a wakeup schedule release message sent toAP 311. In some exemplary embodiments,STA 301 can send the wakeup schedule release message to release a wakeup schedule provided byAP 311. In some exemplary embodiments,STA 301 can send a wakeup schedule release message to end a period wakeup schedule as provided byAP 311. - In some exemplary embodiments, a wakeup schedule can comprise a schedule for an individual TDLS link. For example,
AP 311 may provide a wakeup schedule to atleast STA 301 for TDLS link 333, reservingslots AP 311. In such instances,STA 301 can receive multiple wakeup schedules based on each of the TDLS links 333, 334. In some exemplary embodiments,AP 311 can generate a wakeup schedule based on each of the TDLS links. In such instances,STA 301 can send one or more wakeup schedule request messages independently using separate parameters for each ofTDLS links AP 311 can generate a single wakeup schedule forSTA 301 based on bothTDLS links STA 301 would then transfer in and out of PSM based on the complete wakeup schedule provided byAP 311. - In some exemplary embodiments,
AP 311 can send wakeup schedules for one STA to a different STA inWLAN 300. In the illustrative embodiment, for example,AP 311 can send the wakeup schedule forSTA 301 to STAs 303-304. In such instances, STAs 303-304 may not need to receive traffic indication frames forSTA 301 orAP 311 to start and stop transmission of data withSTA 301 via TDLS links 333, 334; rather, STAs 303-304 can use the received wakeup schedule forSTA 301 to determine the reserved times for theirrespective TDLS links -
FIG. 4 is a functional block diagram illustrating an example of an access point. Block diagram 400 includes an Access Point (AP) 401 that has aprocessing system 410, atransceiver 420, and anantenna 430.Processing system 410 includes aprocessor 411 and a memory.Memory 413 can include one or more software modules and stored data structures, including a wireless station list (e.g., STA list) 421, aTDLS schedule 422, aTDLS module 423, aframing module 424, and ascheduling module 425. As will be discussed in relation toFIGS. 8-11 , in some exemplary embodiments,AP 401 can include one or more of data structures and/or elements 421-425 to enableAP 401 to perform operations to assist one or more STAs in TDLS discovery and TDLS power-saving management. -
Transceiver 420 can be a transmitter/receiver circuit that includes one or more chains of transmitter (TX) components and one or more chains of receiver (RX) components that can be used byAP 401 to send and receive packet through a wireless channel viaantenna 430. The one or more TX chains included intransceiver 420 can receive messages (included in one or more frames) and send the received messages toprocessing system 410. The one or more RX chains included intransceiver 420 can receive messages (included in one or more frames) and send the messages through the communicationchannel using antenna 430. In an aspect,transceiver 420 can also include components for an RF front end to modulate signals for transmission and/or demodulate received signals. -
Processing system 410 can be implemented with a bus architecture that includes any number of interconnecting buses and bridges. The bus links together various circuit inprocessing system 410, includingprocessor 411 andmemory 413. The bus may also link various other circuits, such as timing sources, peripherals, voltage regulators, power management circuits, etc., which are well known in the art, and therefore will not be described further. -
Processor 411 is responsible for managing the bus and for general processing, including the execution of software instructions stored inmemory 413.Processor 411 can load instructions from modules, including modules 423-425, and execute processes in accordance with the local instructions. In some exemplary embodiments,processor 411 can include one or more processors that are coordinated to perform processes forAP 401. - In some exemplary embodiments,
memory 413 can includeSTA list 421, which can provide a way for maintaining a list of stations determined to be capable of supporting direct communications.STA list 421 can be stored such that it includes one or more STA entries 251-253 and information for fields 241-247, including a identifier foridentifier field 241, an IP address ofIP address field 243, a MAC address for MAC address field 245 (plus or alternatively including other identifying information), and a TDLS-capability indicator for TDLS-capability indicator field 247.Processor 411, using instructions loaded fromTDLS module 423, can save entries forSTA list 421 and the updatedSTA list 421 based at least in part on information received via framingmodule 424. - In some exemplary embodiments,
memory 413 can includeschedule 422, which can provide a way for storing a wakeup schedule. In some exemplary embodiments,schedule 422 can includes one or more wakeup schedules for TDLS links 333-334 established in the local network.Processor 411, using instructions fromscheduling module 425, can determine periods for data communications using the one or more TDLS links 333-334 and can reserve periods to enable such data communications. In some exemplary embodiments,processor 411, using instructions from framingmodule 424, can generate wakeup schedule response messages toSTAs schedule 422. -
Memory 413 can also include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements) that may include any number of software modules. Each software module can include a set of instructions that, when executed byprocessor 411,cause processing system 410 to perform various functions. In the illustrative embodiment, for example,memory 413 includesTDLS module 423, framingmodule 424, andscheduling module 425. - Several embodiments of the
AP 401 may include one or more ofTDLS module 423, framingmodule 424, and/orscheduling module 425. In some exemplary embodiments, all of the software modules 423-425 may be enabled to perform various aspects of the TDLS discovery and management algorithms. In some exemplary embodiments, one of the software modules may be enabled, while one or more of the others software module remains dormant. By way of example, theAP 401 may support TDLS discovery without power savings. The software modules that are dormant may be activated later in the field or at the factory to implement, for example, an upgrade in services. In some exemplary embodiments, only one of the software modules may be loaded intomemory 413. In the case of anAP 401 with only part of the software modules 423-425 loaded intomemory 413 at the factory,AP 401 may or may not be capable of being programmed later in the field, or at the factory, with the other software module. The actual implementation of theAP 401 will depend on a variety of factors including consumer demand, performance parameters, pricing, and other relevant factors. -
TDLS module 423, when executed by theprocessor 411, for example, provides a way for determining whether an associated station (STA 201-204) is capable of direct communications while remaining associated with the communication device. In some exemplary embodiments, instructions provided byTDLS module 423 enableprocessor 411 to determine whether an STA is TDLS-capable. As discussed below,processor 411 can use instructions provided by framingmodule 424 to retrieve information from a received message. In some exemplary embodiments, the retrieved information can include an indication of whether an STA is TDLS-capable. In such instances,processor 411 can use instructions provided byTDLS module 423 to make a determination for the applicable STA based on the received TDLS-capability indication. -
TDLS module 423, when executed byprocessor 411, can also provide a way for generatingSTA list 421 and for updatingSTA list 421. As discussed below,processor 411 can use instructions provided by framingmodule 424 to retrieve information from a received message.Processor 411 can use instructions provided byTDLS module 423 to generate an STA entry 251-253 using the information from the received message and add the generated STA entry toSTA list 240. In some exemplary embodiments,processor 411 can use instructions fromTDLS module 423 to update the list by either adding a newly-generated STA entry toSTA list 421 or by removing and erasing an existing STA entry stored inSTA list 421.Processor 411 can use instructions provided byTDLS module 423 to overwriteSTA list 421 such that the updated list is stored inmemory 413 asSTA list 421. -
Framing module 424, when executed by theprocessor 411, can provide ways, for example: for receiving a request, for providingSTA list 421 to one or more STAs in response to a request, for providingschedule 422 to one or more STAs in response to a request, and for providing wakeup indications to an STA regarding the active state of another STA. In some exemplary embodiments,processor 411 can use instructions provided by framingmodule 424 to retrieve information included in a message and/or frame received byAP 401 throughtransceiver 420. In some exemplary embodiments,processor 411 can use instructions provided by framingmodule 424 to include information in a message and/or frame that is sent byAP 401 throughtransceiver 420. - For example,
processing system 410 can receive a request, such as an association request message or a wakeup schedule request message, from anSTA transceiver 420.Processor 411 can use instructions provided by framingmodule 424 to open the frame that included the request message.Processor 411 can also use instructions provided by framingmodule 424 to then retrieve the information included in the request message, which can include, for example: parameters for generating the wakeup schedule, identification information related to the sending STA, or an indication of whether the sending STA is capable of supporting TDLS. - In another example,
processor 411 can use instructions provided by framingmodule 424 to package information, such asSTA list 421,schedule 422, an STA active status indication, etc. into a message. In some exemplary embodiments,processor 411 can use instructions provided by framingmodule 424 to provide the message by including the message in a frame, such as a data frame, association response frame, probe response frame, beacon frame, or any action frame. In such instances,processing system 410 can send the frame that includes the information throughtransceiver 420 to, for example, one or more STAs. - In some exemplary embodiments,
processor 411 can also use instructions provided byscheduling module 425 to determine a wakeup schedule for STA direct communications. For example,processor 411 can use information extracted from the wakeup schedule request message and can use instructions provided byscheduling module 425 to generate a wakeup schedule. The generated wakeup schedule can be storedmemory 413 inschedule 422. - In some exemplary embodiments,
processor 411 can also use instructions fromscheduling module 425 to generate a wakeup schedule such that it avoids reserved times already stored inschedule 422. In some exemplary embodiments,processor 411 can use instructions provided byscheduling module 425 and parameters provided in the wakeup schedule request message to generate a wakeup schedule based at least in part on such parameters. For example,scheduling module 425 can provide instructions forprocessor 411 to reserve a specified frequency band based on parameters included in the wakeup schedule request message.Scheduling module 425 can also provide instructions forprocessor 411 to generate a wakeup schedule that can be included in a wakeup schedule response message. -
FIG. 5 is a functional block diagram illustrating an example of an STA. Block diagram 500 includes a station (STA) 501 that has aprocessing system 510, atransceiver 420, and anantenna 530.Processing system 510 includes aprocessor 511 and amemory 513.Memory 513 can include one or more software modules and stored data structures, including a wireless station (STA)list 521, aschedule 522, buffereddata 523,TDLS link parameters 524,TDLS link module 525, framingmodule 526,scheduling module 527, and power save mode (PSM)module 528. As will be discussed in relation toFIGS. 8-11 , in some exemplary embodiments,STA 501 can include one or more data structures and/or modules 521-528 to enableSTA 501 to perform operations to enable communications using TDLS and manage TDLS communications. -
Transceiver 520 is similar totransceiver 420 and can be a transmitter/receiver circuit that includes one or more chains of transmitter (TX) components and one or more chains of receiver (RX) components that can be used bySTA 501 to send and receive packet through a wireless channel viaantenna 530. The one or more TX chains included intransceiver 520 can receive messages (included in one or more frames) and send the received messages toprocessing system 510. The one or more RX chains included intransceiver 520 can receive messages (included in one or more frames) and send the messages through the communicationchannel using antenna 530. In an aspect,transceiver 420 can also include components for an RF front end to modulate signals for transmission and/or demodulate received signals. -
Processing system 510 can be implemented with a bus architecture that includes any number of interconnecting buses and bridges. The bus links together various circuit inprocessing system 510, includingprocessor 511 andmemory 513. The bus may also link various other circuits, such as timing sources, peripherals, voltage regulators, power management circuits, etc., which are well known in the art, and therefore will not be described further. -
Processor 511 is similar toprocessor 411 and is responsible for managing the bus and for general processing, including the execution of software instructions stored inmemory 513.Processor 511 can load instructions from modules, including modules 525-528, and execute processes in accordance with the local instructions. In some exemplary embodiments,processor 511 can include one or more processors that are coordinated to perform processes forSTA 501. - In some exemplary embodiments,
memory 513 can includeSTA list 521, which can provide ways for maintaining a list of stations determined to be capable of supporting direct communications withSTA 501.STA list 521 can be stored such that it includes one or more STA entries 251-253 and information for fields 241-247, including a identifier foridentifier field 241, an IP address forIP address field 243, a MAC address for MAC address field 245 (plus optionally, or alternatively, other identifying information), and a TDLS-capability indicator for TDLS-capability indicator field 247.Processor 511, using instructions loaded fromTDLS link module 525, can save entries forSTA list 521 and the updatedSTA list 521 based at least in part on information received via framingmodule 526. - In some embodiments,
memory 513 can store aschedule 522, which can provide ways for storing a wakeup schedule. In some embodiments,schedule 522 can include one or more wakeup schedules for TDLS links 333-334 established in the local network.Processor 511, using instructions fromscheduling module 527, can determine periods for data communications using the one or more TDLS links 333-334 and can, using instructions fromPSM module 528, perform power-saving operations, such as entering into sleep mode or awaking from sleep mode.Processor 511 can, using instructions provided byPSM module 528, perform operations during periods specified inschedule 522 to enable such data communications via one or more TDLS links 333-334. In some exemplary embodiments,processor 511, using instructions from framingmodule 526, can provide wakeup schedule request messages toAP 311 that includes storedTDLS link parameters 524. -
Memory 513 can also includebuffered data 523, which can provide ways to store data.STA 501 can store data inbuffered data 523, for example, when it determines that data communications for a particular TDLS link 333-334 is suspended. This can occur, for example, when the other STA using TDLS link 333-334 indicates it is in a PSM. While the other STA is in PSM,STA 501 can store data inbuffered data 523 until it receives an indication that is can transfer data to the STA via the TDLS link. In some exemplary embodiments,processing system 510 can receive the STA active status indication through a frame, such as a data frame or a traffic indication frame, or any action frame, received fromAP 311. In some exemplary embodiments,scheduling module 527, when executed by theprocessor 511, can use information stored inschedule 522 and instructions forscheduling module 527 to determine when the other STA is in PSM or awake, buffering data until the other STA awakes for data transmission withSTA 501 via the TDLS link. -
Memory 513 can also store one or more TDLS linkparameters 524 for the one or more TDLS links established betweenSTA 501 and peer STAs.TDLS link parameters 524 can include certain quantitative attributes necessary to establish and maintain direct communications using a TDLS link. In some exemplary embodiments,processor 511 can use instructions fromTDLS link module 525 to establish a TDLS link usingTDLS link parameters 524 stored in memory. In some exemplary embodiments,processor 511, using instructions provided by framingmodule 526, can packageTDLS parameters 524 into a wakeup schedule request message.Processor 511, using further instructions provided by framingmodule 526 can send the wakeup schedule request message in a frame, such as a data frame or a probe request frame, to request a wakeup schedule for an already-established TDLS link. In some exemplary embodiments,processor 511, using instructions provided by framingmodule 526, can generate a TDLS wakeup schedule request message based onTDLS link parameters 524.Processor 511 can then, using instructions fromTDLS link module 525, establish a TDLS link based at least onTDLS link parameters 524 and the received wakeup schedule. - A TDLS parameter can be construed broadly to mean any parameter that has an effect on the wireless transmission on the TDLS link. By way of example, and without limitation, data rate and throughput are both TDLS parameters, as both parameters affect the bandwidth of the wireless transmission (i.e., how much data can be transmitted through the wireless medium for a given time frame). In some exemplary embodiments,
TDLS link parameters 524 can include, but are not limited to, for example: data rate, minimum quality of service (QoS), frequency band, one or more independent wakeup intervals, security protocol, destination address, source address, etc. -
Memory 513 can also include a non-transitory computer-readable medium (e.g., one or more nonvolatile memory elements) that may include any number of software modules. Each software module can include a set of instructions that, when executed byprocessor 511,cause processing system 510 to perform various functions. In the illustrative embodiment, for example,memory 513 includesTDLS link module 525, framingmodule 526,scheduling module 527, andPSM module 528. - Several embodiments of
STA 501 may include one or more ofTDLS link module 525, framingmodule 526,scheduling module 527, andPSM module 528. In some exemplary embodiments, all of the software modules 525-528 may be enabled to perform various aspects of the TDLS discovery and management algorithms. In some exemplary embodiments, one of the software modules may be enabled, while one or more of the others software module remains dormant. The software modules that are dormant may be activated later in the field or at the factory to implement, for example, an upgrade in services. In some exemplary embodiments, only one of the software modules may be loaded intomemory 513. In the case of anSTA 501 with only part of the software modules 525-528 loaded intomemory 513 at the factory,STA 501 may or may not be capable of being programmed later in the field, or at the factory, with the other software module. The actual implementation ofSTA 501 will depend on a variety of factors including consumer demand, performance parameters, pricing, and other relevant factors. -
TDLS link module 525, when executed by theprocessor 511, for example, provides ways for establishing direct communications with other STAs in the WLAN. In some exemplary embodiments, theTDLS link module 525 establishes a TDLS link with another STA 203-204 that is capable of handling a TDLS link 233-234. In some exemplary embodiments,TDLS link module 525 generates a TDLS discovery request messages and TDLS setup request messages to establish the TDLS link. In some exemplary embodiments, the TDLS discovery request message or TDLS setup request message can include an inquiry on the physical distance betweenSTA 501 and the other STA. In some instances, both STAs may be too far away from each other to establish or maintain a TDLS link, though the STAs remain close enough to the AP to maintain association with the AP. In some exemplary embodiments, theTDLS link module 525 may be used to tear down the established TDLS link. This can occur, for example, when the conditions of the channel created by the TDLS link is too degraded or congested to send data reliably. -
Framing module 526, when executed by theprocessor 511, can provide ways, for example: for receiving a list of stations capable of direct communications withSTA 501 while remaining associated withAP 401, for sending an indication thatSTA 501 is TDLS-capable, for providing a request, for receiving a response, for receiving an STA active status indication, and for receiving a wakeup schedule. In some exemplary embodiments, framingmodule 526 may be used to retrieve information included in a message and/or frame received bySTA 501 throughtransceiver 520. In some exemplary embodiments, framingmodule 526 may be used to include information in a message and/or a frame that is sent bySTA 501 throughtransceiver 520. - For example,
processing system 510 can receive a response, such as an association response message or a wakeup schedule response message, from anAP 401 throughtransceiver 520.Framing module 526 may be used to open the beacon frame that included the response message.Framing module 526 may then be used to retrieve the information included in the response message, which can include, for example: a list of TDLS-compliant stations, and updated TDLS-compliant list STA, a schedule (including, for example, times forSTA 501 to sleep and times to awake), or an indication that another STA is in active mode. - In another example, framing
module 526 may be used to package information, such as parameters for generating a wakeup schedule, identification information related toSTA 501, or an indication thatSTA 501 is TDLS-capable, etc., into a message. In some exemplary embodiments, framingmodule 526 may be used to provide the message by including the message in a frame, such as a data frame, association request frame, or probe request frame. In such instances,processing system 510 can send the frame that includes the information throughtransceiver 520 to, for example,AP 401. -
Scheduling module 527, when executed byprocessor 511, can provide ways for interpreting the wakeup schedule as stored inschedule 522.Scheduling module 527 may be used to determine which times to sleep and awake. In such instances,scheduling module 527 may be used to triggerPSM module 528 to enter into or out of PSM. - In some embodiments,
scheduling module 527 may be used to interpret the wakeup schedule for another STA. In such instances,processor 411, using instructions provided byscheduling module 527, can determine whether another STA is in PSM or is active. In instances wherescheduling module 527 is used to determine that the other STA is active,processing system 510 can send to the other STA the data stored in buffereddata 523. In some embodiments,scheduling module 527 can be used to interpret a received STA active status indication. In instances wherescheduling module 527 is used to interpret the received indication to determine that the other STA is active,processing system 510 can send to the other STA the data stored in buffereddata 523. -
PSM module 528 can provide ways forSTA 501 to enter into and out of a power-saving mode.PSM module 528 may be used to enter into and out off PSM. For example, when a scheduled sleep period begins,PSM module 528 may be used to force the station into a power-saving mode. Similarly, when a scheduled active period begins, thePSM module 528 may be used to exit its power-saving mode and become active. -
FIG. 6 is a signaling diagram illustrating an example direct communications discovery operation between an AP and two STAs. Signaling diagram 600 includes afirst STA 601, anAP 603, and asecond STA 605.AP 603 can be similar toAP 401 and can include the same components as described in relation toFIG. 4 .STAs STA 501 and can include the same components as described in relation toFIG. 5 .AP 603 can operate withSTAs STA 601 uses information provided byAP 603 to establish a TDLS link withSTA 605. -
STA 605 can initiate the operation illustrated in signaling diagram 600 by sending amessage 611 toAP 603 indicating thatSTA 605 is capable of support communications using a TDLS link. In some exemplary embodiments,message 611 can comprise an association request message in an association request frame toAP 603 that includes an indication thatSTA 605 is TDLS-capable.AP 603 can then, atblock 613, updateSTA list 240 to include an STA entry forSTA 605. This entry can include other information associated withSTA 605, such as its MAC address and IP address. - At a later time,
STA 601 can attempt to associate withAP 603 by sendingassociation request message 615. In some exemplary embodiments,STA 601 can include, for example a TDLS-capable indication inassociation request message 615. In such instances,AP 603 may update the STA list to include an entry forSTA 601. In some exemplary embodiments,association request message 615 can be included in an association request frame. -
AP 603 can send anassociation response message 617 toSTA 601. In some exemplary embodiments,association response message 617 can be included in an association response frame. In some exemplary embodiments,AP 603 can include thecurrent STA list 240 inassociation response message 617. In the illustrative embodiment, for example,AP 603 can sendSTA list 240, including an entry forSTA 605, inassociation response message 617. - At a later time,
STA 601 can attempt to establish a TDLS link withSTA 605 by optionally sending TDLSdiscovery request message 619 toSTA 605. In some exemplary embodiments, TDLSdiscovery request message 619 can be included in a data frame or in a probe request frame that is tunneled throughAP 603 toSTA 605. In some exemplary embodiments,STA 601 can useSTA list 240 received fromAP 603 as a filter. In such instances,STA 601 only sends TDLSdiscovery request message 619 toSTA 605 when it first determines, using the TLDS indicator in the STA entry, thatSTA 605 is TDLS-capable. In some exemplary embodiments, TDLSdiscovery request message 619 can include other queries needed to establish the TDLS link. For example, TDLSdiscovery request message 619 can include a query on the physical location ofSTA 605.STA 603 can use the physical location to determine whether a TDLS link withSTA 605 is viable. - Once
STA 605 receives TDLSdiscovery request message 619,STA 605 can generate and send a TDLSdiscovery response message 621. In some exemplary embodiments, TDLSdiscovery response message 621 can be included in a data frame in a probe response frame tunneled throughAP 603 toSTA 601. In some exemplary embodiments,STA 605 can indicate, for example, its physical location and whether the station is TDLS-capable. - In some exemplary embodiments,
STA 601 can use the information included in the TDLSdiscovery response message 621 to determine whether to attempt to establish a TDLS link withSTA 605. If theSTA 601 determines to make a TDLS link establishment attempt,STA 601 can send TDLSsetup request message 623 toSTA 605. In some exemplary embodiments, TDLSsetup request message 623 can be included in a data frame or in a probe request frame tunneled throughAP 603 toSTA 605. In some exemplary embodiments,STA 601 can use the information included inSTA list 240 to send TDLSsetup request message 623 without sending TDLSdiscovery request message 619. In such instances, TDLSsetup request message 623 can include, for example, a query about the physical location ofSTA 605. In some exemplary embodiments, TDLSsetup request message 623 can include proposed TDLS service parameters for the TDLS link to be established. - Once
STA 605 receives TDLSsetup request message 623,STA 605 can, atblock 624, process thesetup request message 623 and then send a TDLSsetup response message 625. In some exemplary embodiments, TDLSsetup response message 625 can be included in a data frame or in a probe response frame tunneled throughAP 603 toSTA 601. In some exemplary embodiments, TDLSsetup response message 625 can include, for example, the physical location ofSTA 605. In some exemplary embodiments, TDLSsetup response message 625 can include TDLS service parameters for the TDLS link to be established. In some exemplary embodiments, the TDLS service parameters may be the same as those proposed insetup request message 623; in other exemplary embodiments, one or more of the TDLS service parameters may be added or modified from those proposed. -
STA 601 can receive TDLSsetup response message 625 and can send a TDLSsetup confirmation message 627. In some exemplary embodiments, TDLSsetup confirmation message 627 can be included in a data frame or in a probe response message tunneled throughAP 603 toSTA 605. TDLSsetup confirmation message 627 can be used to confirm the establishment of a TDLS link betweenSTAs setup response message 625. In some exemplary embodiments,TDLS link module 525 may be used to save the specified TDLS service parameters in memory asTDLS parameters 524. -
FIG. 7 is a signaling diagram illustrating an example direct communications management operation between an AP and two STAs. Signaling diagram 700 includes afirst STA 701, anAP 703, and asecond STA 705, which are similar to devices 601-605 of signaling diagram 600.AP 703 can be similar toAP 401 and can include the same components as described in relation toFIG. 4 .STAs STA 501 and can include the same components as described in relation toFIG. 5 .AP 703 can operate withSTAs STAs -
STAs direct link 711 betweenSTA 701 andSTA 705. In some exemplary embodiments, TDLSdirect link 711 is established in accordance with the operation established in signaling diagram 600. In some exemplary embodiments, TDLS direct link may be similar to established TDLS links 233, 234, 333, and 334. TDLSdirect link 711 can have a number of TDLS service parameters associated with it that relate to the establishment, operation, and maintenance of TDLSdirect link 711. - After TDLS
direct link 711 is established,STA 701 can send a TDLS wakeupschedule request message 713. In some exemplary embodiments, TDLS wakeupschedule request message 713 can be included in a data frame or in a probe request frame (or any other frame) toAP 703. In some exemplary embodiments,STA 701 sends wakeupschedule request message 713 toAP 703 before establishing TDLSdirect link 711. In such instances,STA 701 can use the subsequent wakeup schedule provided byAP 703 when establishing TDLSdirect link 711. In some exemplary embodiments,STA 701 can include one ormore TDLS parameters 524 in wakeupschedule request message 713. - Upon receipt of wakeup
schedule request message 713,AP 703 can, inblock 715, process a TDLS wakeup schedule for TDLSdirect link 711. In some exemplary embodiments,AP 703 uses one or more TDLS parameters included in wakeupschedule request message 713 to generate a schedule for TDLSdirect link 711. In some exemplary embodiments,AP 703 can refer toschedule direct link 711. In such instances,AP 703 can set up wakeup times and one or more period wakeup intervals based at least in part on available TDLS transmission periods, avoiding any times reserved for other TDLS communications. In some exemplary embodiments, the generated wakeup schedule may include one or more independent periodic wakeup intervals (i.e., times between an STA waking from PSM). The group of periodic wakeup intervals and other parameters (e.g., wake/sleep duty cycle, transmission frequency band, etc.) can be included in the wakeup schedule generated byAP 703. -
AP 703 can send the wakeup schedule generated inblock 715 for TDLSdirect link 711 in TDLS wakeupschedule response message 717 toSTA 701. In some exemplary embodiments,AP 703 can sendwakeup response message 717 toSTA 701 in a data frame, beacon frame, or probe response frame (or any other frame). In some exemplary embodiments,AP 703 can send the generated wakeup schedule to other STAs in the WLAN (e.g., STA 705). In such instances, the recipient STA can use the wakeup schedule for the TDLS link to determine whenSTA 701 is sleep or active. In the illustrative embodiment, for example,STA 705 can use the wakeup schedule forSTA 701 generated byAP 703 inblock 715 to determine whenSTA 701 is sleep or active for TDLSdirect link 711.STA 705 can then use such determinations to buffer data to be sent toSTA 701 during scheduled sleep periods, without receiving traffic indication frames fromAP 703 each time. - At a later time,
STA 701 can optionally generate and send aPSM initiation message 719 toSTA 705. In some exemplary embodiments, PSM initiation message can be included in a data frame in a probe request frame and send toSTA 705 through TDLSdirect link 711 or tunneled throughAP 703.STA 701 can generatePSM initiation message 719 based on at least in part the scheduled sleep time as specified in the wakeup schedule included in wakeupschedule response message 717. In some exemplary embodiments,STA 701 does not generatePSM initiation message 719; in such instances,STA 701 goes into PSM without sendingPSM initiation message 719 at the scheduled sleep time. - Once
STA 701 goes to sleep (i.e., enters PSM),STA 701 can wait forsleep time interval 721. In some exemplary embodiments,sleep time interval 721 is based at least in part on both the waking interval and a wake/sleep duty cycle provided in the wakeup schedule generated byAP 703. In some exemplary embodiments, the wakeup schedule generated byAP 703 can include a specified sleep time interval. Duringsleep time interval 721, STA is sleep and does not receive any frames from eitherAP 703 orSTA 705. During this period,STA 705 can buffer any data meant forSTA 701, as shown inblock 723. - When
sleep time interval 721 is complete,STA 701 can optionally, at the scheduled time, generate and sendactive trigger message 725 toSTA 705. In some exemplary embodiments,active trigger message 725 can be included in a data frame, in a probe request frame, or in a request to send (RTS) frame. - Upon receipt of
active trigger message 725,STA 705 can send the data buffered inblock 723 toSTA 701 in one or morebuffered data messages 727 in one or more data frames via TDLSdirect link 711. In some exemplary embodiments,STA 701 awakes at the scheduled time without sendingactive trigger message 725 toSTA 705. In such instances,STA 705 can begin sending data buffered inblock 723 at the scheduled awake time forSTA 701 in one or morebuffered data messages 727 packaged in one or more data frames. -
FIG. 8 is a flow chart illustrating an example of STA direct communications operation assisted by an AP.AP method 800 usingTDLS module 423 andframing module 424, respectively, as executed byprocessor 411.AP method 800, for example, when assistingSTA -
Method 800 can begin atblock 801 and proceed to block 803, whereAP 401 receives a message from an associated STA.Framing module 424 can be used to receive a message and/or frame received by processingsystem 410 viatransceiver 420. In some exemplary embodiments, the message can be anassociation request message 611 included in an association request frame sent from an STA. - In
block 805,AP 401 can determine whether the associated station that sent the message is capable of direct communications. In some exemplary embodiments,TDLS module 423 can be used to review the information included in theassociation request message 611, such as a TDLS-compliant indicator. IfTDLS module 423 determines inblock 805 that the sender STA is TDLS-capable,TDLS module 423 can, inblock 807, be used to update the TDLS-capable STA list to include the sender STA. In some exemplary embodiments,TDLS module 423 may be used to add an entry toSTA list 421 to include information related to the STA that sent the message received inblock 803. In some exemplary embodiments, the STA list is only updated with TDLS-compliant devices inblock 807. In other embodiments, the STA list is updated afterblock 805; in such instances, an entry is added to the STA list that includes an indication of whether the sender STA is TDLS-capable. - After either block 805 or 807,
AP 401 can, inblock 809, receive anassociation request message 615 from a different STA. In some exemplary embodiments, framingmodule 424 can be used to receive an association request message in an association request frame. - In
block 811,AP 401 can then add the TDLS-capable device list in a response message to the second STA.Framing module 424 can be used to generate and send a response message that is included in an association request frame to the sending STA. In some exemplary embodiments, framingmodule 424 can be used to include acomplete STA list TDLS module 423 may be used to generate the list, while framingmodule 424 can be used to first generate the message and then to generate the frame. - In
block 813,AP 401 can send the response message to the second station.Framing module 424 may be used to send the response message in an association response frame to the second STA. In some exemplary embodiments, framingmodule 424 can be used to send acomplete STA list module 424 sends the response message to the second station in 813, the process is complete atblock 815. -
FIG. 9 is a flow chart illustrating an example of a STA direct communications operation by an STA.STA method 900 usingTDLS link module 525 andframing module 526, respectively, as executed byprocessor 511.STA method 900, for example, when attempting to establish a TDLS link to another STA in the WLAN. -
Method 900 can begin atblock 901 and proceeds to block 903, whereSTA 501 sends an association request message toAP module 526 first can be used to generate anassociation request message 615 and then generate an association request frame. - After sending the association request message,
STA 501 can, inblock 905, receive an association response message fromAP 401.Framing module 526 can be used to receive an association response frame fromAP 401 and then retrieveassociation response message 617 from the received association response frame. - In
block 907,STA 501 can retrieve the TDLS-capable device list from the association response message.Framing module 526 can be used to retrieve the TDLS-capable device list fromassociation response message 617. In some exemplary embodiments,association response message 617 can include a TDLS-capable device list; in other exemplary embodiments,association response message 617 can include an STA list that includes all associated devices in the WLAN, with each STA entry including a TDLS capability indicator. - Once the list is retrieved in 907,
STA 501 can then proceed to block 909, where it determines if a device is listed as TDLS capable in the retrieved list.TDLS link module 525 can be used to determine if a target station for whichSTA 501 wishes to establish a TDLS link is listed in the TDLS-capable device list. In other embodiments,TDLS link module 525 can be used to determine if the target station has a related STA entry in the STA list that indicates it is TDLS-capable. If, atblock 909,TDLS link module 525 can be used to determine that the target station is not TDLS-capable, the process is complete atblock 917. - If, however,
STA 501 determines, using the list, that the target station is TDLS-capable,STA 501 can proceed to block 911, whereSTA 501 sends a TDLSsetup request message 623 to the target station.Framing module 526 can be used to provide TDLSsetup request message 623 in a data frame or probe request frame. In some exemplary embodiments, framingmodule 526 can be used to optionally send a TDLSdiscovery request message 619 to the target STA. - In some exemplary embodiments,
TDLS link module 525 can be used to use the list as a filter such that TDLSsetup request message 623 is only sent to the TDLS-compliant STA. In some exemplary embodiments,TDLS link module 525 can be used to generate TLDS service parameters that are stored as TDLS linkparameters 524 inmemory 513.Framing module 526 can then be used to generate TDLSsetup request message 623 and generate a data frame or a probe request frame that includes TDLSsetup request message 623. - In
block 913,STA 501 can determine whether it received a TDLS setup response message.Framing module 526 can be used to receive a data frame or a probe response frame throughtransceiver 520.TDLS link module 525 can then be used to determine whether the other station sent appropriate TDLS service parameters to establish the TDLS link. If the other station sent a NACK message, a rejection message, or a TDLS setup response message that included TDLS service parameters that would not be able to establish a proper TDLS link (e.g., a physical location outside the range of the TDLS link to be established),STA 501 can abandon establishment of the TDLS link and the process is complete atblock 917. - If
STA 501 inblock 913 receives a TDLSsetup response message 625 that enables the establishment of a TDLS link,STA 501 can proceed to block 915, where it completes setup of a TDLS link. In some exemplary embodiments,TDLS link module 525 can be used to useTDLS link parameters 524 to establish a TDLS direct link with the other station. Once the station is established, themethod 900 is complete atblock 917. -
FIG. 10 is a flow chart illustrating an example of a STA direct communications management operation assisted by an AP.AP method 1000 usingframing module 424 andscheduling module 425, respectively, as executed byprocessor 411.AP method 1000, for example, when assistingSTA -
Method 1000 can begin atblock 1001 and proceed to block 1003, whereAP 401 receives a TDLS wakeup schedule request message.Framing module 424 can be used to receive a data frame or a probe request frame throughtransceiver 420 and retrieve wakeupschedule request message 713. -
AP 401 at 1005 can then retrieveTDLS parameters 524 from the wakeupschedule request message 713. In some exemplary embodiments, framingmodule 424 can be used to retrieve one ormore TDLS parameters 524 included in wakeupschedule request message 713. In some exemplary embodiments,TDLS parameters 524 can include parameters related to an established TDLS link, such as the frequency band of the channel and data packet size. In some exemplary embodiments,TDLS parameters 524 can also include desired parameters for the wakeup schedule, such as a desired wakeup interval and a desired wake/sleep duty cycle. - In
block 1007,AP 401 can generate a wakeup schedule based at least in part on the received wakeupschedule request message 713. In some exemplary embodiments,scheduling module 425 can be used to generate a wakeup schedule based at least in part on the received wakeupschedule request message 713. In some exemplary embodiments, the wakeup schedule uses one ormore TDLS parameters 524 included in wakeupschedule request message 713 to generate the wakeup schedule. In some exemplary embodiments,scheduling module 425 can also be used to refer to aschedule 422 already saved inmemory 413 such that the newly-generated wakeup schedule does not include active transmission periods that are already reserved for other established TDLS links. - Once the wakeup schedule for the applicable TDLS link is generated,
AP 401 inblock 1009 can send the wakeup schedule to one or more STAs in a wakeupschedule response message 717.Framing module 526 can be used to send wakeupschedule response message 717 in a data frame, probe response frame, a beacon frame (or any other frame). In some exemplary embodiments, framingmodule 526 can be used to send the wakeup schedule to just the STA that sent wakeupschedule request message 713. In some exemplary embodiments, framingmodule 526 can be used to send the wakeup schedule in a beacon frame to one or more other STAs in the WLAN such that the other STAs know the active and inactive schedule of the STA and the applicable TDLS link. - In
block 1011,AP 401 can determine whether the wakeup schedule is accepted by the applicable (i.e., sending) STA. In some exemplary embodiments,scheduling module 527 be used to reserve the wakeup schedule untilAP 401 receives a wakeup schedule release message from the applicable STA. If the schedule is not accepted, the method is complete atblock 1019. - If determined that the schedule is accepted,
AP 401 inblock 1013 can reserve the specified periods in the wakeup schedule for the applicable TDLS link and save the schedule.Scheduling module 425 can be used to reserve the periods specified by the wakeup schedule and save the wakeup schedule and the resultantoverall TDLS schedule 340 inmemory 413 asschedule 422. - Similar to block 1011,
AP 401 can inblock 1015 determine whether it received a wakeup schedule release message from the applicable STA.Framing module 526 can be used to determine whether it received a wakeup schedule release message in a data frame or probe request frame. If not,AP 401 returns to 1013, where the wakeup schedule remains reserved for the applicable STA and TDLS link. - Otherwise, if in
block 1015AP 401 determines that it has received a wakeup schedule release message from the applicable STA,AP 401 proceeds to block 1017, whereAP 401 releases the wakeup schedule fromschedule 422.Scheduling module 425 can be used to remove the released wakeup schedule from being reserved inschedule 422 and save the updated schedule 422 (excluding the released wakeup schedule) intomemory 413. In some exemplary embodiments,AP 401 can also send an updatedschedule 422 in a data frame or a beacon frame to other STAs. Once the wakeup schedule is released, the method is complete at 1019. -
FIG. 11 is a flow chart illustrating an example of a peer-to-peer STA direct communications management operation by an STA.STA method 1100 usingframing module 526,scheduling module 527, andPSM module 528, respectively, as executed byprocessor 511.STA method 1100, for example, when performing period wake/sleep cycles by entering into and returning from a power-saving mode. -
Method 1100 can begin atblock 1101 and proceed to block 1103, whereSTA 501 establishes a TDLS link with another station. In some exemplary embodiments,TDLS link module 525 can be used to establish a TDLSdirect link 711 with anotherSTA using method 900 as described above in relation toFIG. 9 . - In
block 1105,STA 501 can send a wakeup schedule request toAP module 526 can be used to send the wakeupschedule request message 713 before the TDLSdirect link 711 is established. In such cases,TDLS link module 525 can be used to establish the TDLS link using the wakeup schedule provided byAP 401. In some exemplary embodiments, the wakeupschedule request message 713 can include one ormore TDLS parameters 524 frommemory 513. In some exemplary embodiments,TDLS parameters 524 can include parameters related to an established TDLS link, 711 such as the frequency band of the channel and data packet size. In some exemplary embodiments,TDLS parameters 524 can also include desired parameters for the wakeup schedule, such as a desired wakeup interval and a desired wake/sleep duty cycle. - After
block 1105,STA 501 inblock 1107 can receive a wakeup schedule response message fromAP 401.Framing module 526 can be used to receivewakeup schedule response 717 in a data frame, a probe response frame, or a beacon frame (or any other frame) fromAP 401.Framing module 526 can be used to retrieve wakeupschedule response message 717 from the received frame. After receiving wakeupschedule response message 717, in 1109,STA 501 can retrieve the wakeup schedule generated byAP 401.Framing module 526 can be used to retrieve the wakeup schedule included in the wakeupschedule response message 717. -
STA 501 can, inblock 1111, determine whether the wakeup schedule generated and provided byAP 401 is acceptable.Scheduling module 527 can be used to determine, for example, whether the wakeup schedule adheres to TDLSlink parameters 524. IfSTA 501 usesscheduling module 527 to determine that the wakeup schedule is not acceptable,STA 501 proceeds to 1123, where framingmodule 526 can be used to send a wakeup schedule release message toAP 401. Otherwise,STA 501 proceeds to block 1113. - In
block 1113,STA 501 goes to sleep at the scheduled time provided by the wakeup schedule. In some exemplary embodiments, the time forSTA 501 to go to sleep can be derived usingscheduling module 527 and quantities provided in the wakeup schedule (e.g., sleep start time, waking interval, sleep/wake duty cycle). In some exemplary embodiments,PSM module 528 can be used to haveSTA 501 enter into a power-saving mode. OnceSTA 501 enters the PSM atblock 1113,STA 501 proceeds to block 1115, where it waits for the sleep interval time. In some exemplary embodiments,scheduling module 527 can be used to derive the sleep interval using quantities provided in the wakeup schedule (e.g., sleep start time, waking interval, sleep/wake duty cycle). - Once the period for PSM has ended,
STA 501 can proceed to block 1117, whereSTA 501 awakes at the scheduled time. In some exemplary embodiments,PSM module 528 can wakeSTA 501 from PSM to an active mode. Once in an active mode,STA 501 can be used to proceed to block 1119, whereSTA 501 can engage in data communications with the other STA using the applicable TDLSdirect link 711. In some exemplary embodiments, framingmodule 526 can be used to receive data buffered by the other STA during the sleep period. - In
block 1121,STA 501 can determine whether it wishes to send a wakeup schedule release message toAP 401.STA 501 can send a wakeup schedule release message, for example, when tearing down the TDLS link or when requesting a new wakeup schedule. IfSTA 501 does not wish to release the schedule,STA 501 returns to block 1113, where it waits for the scheduled time to enter into PSM. Otherwise,STA 501 proceeds to block 1123, whereSTA 501 sends a wakeup schedule release message toAP 401.Framing module 526 can be used to send the wakeup schedule release message in a data frame or in a probe request frame (or other frame) toAP 401. Once the wakeup schedule release message is sent toAP 401, the method is complete atblock 1125. - The various aspects of this disclosure are provided to enable one of ordinary skill in the art to practice the present invention. Various modifications to exemplary embodiments presented throughout this disclosure will be readily apparent to those skilled in the art, and the concepts disclosed herein may be extended to other magnetic storage devices. Thus, the claims are not intended to be limited to the various aspects of this disclosure, but are to be accorded the full scope consistent with the language of the claims. All structural and functional equivalents to the various components of the exemplary embodiments described throughout this disclosure that are known or later come to be known to those of ordinary skill in the art are expressly incorporated herein by reference and are intended to be encompassed by the claims. Moreover, nothing disclosed herein is intended to be dedicated to the public regardless of whether such disclosure is explicitly recited in the claims. No claim element is to be construed under the provisions of 35 U.S.C. §112 (f), unless the element is expressly recited using the phrase “means for” or, in the case of a method claim, the element is recited using the phrase “step for.”
Claims (19)
1. A communication device for supporting wireless communications for a plurality of stations associated with the communication device, the communication device comprising:
a processing system configured to:
determine if each of the plurality of stations is capable of direct communications with another one of the plurality of stations while remaining associated with the communication device; and
maintain a list of the stations determined to be capable of such direct communications.
2. The communication device of claim 1 , further comprising a transceiver coupled to the processing system and configured to provide the list to a station of the plurality of stations in response to a request from the station.
3. The communication device of claim 2 , wherein the transceiver is further configured to receive the request in an association request frame from the station.
4. The communication device of claim 2 , wherein the transceiver is further configured to provide the list in an association response frame to the station.
5. The communication device of claim 2 , wherein the processing system is further configured to provide the list in a beacon frame to the station.
6. The communication device of claim 1 , wherein the processing system comprises a memory, the processing system being further configured to maintain the list by storing in the memory an address for each of the stations capable of such direct communications.
7. The communication device of claim 2 , wherein:
the transceiver is further configured to receive an indicator from at least one of the stations, and
the processing system is further configured to determine based at least in part on the indicator if the at least one station is capable of direct communications with another of the plurality of stations.
8. A method for supporting wireless communications for a plurality of stations associated with an access point, the method comprising:
determining, by the access point, whether each of the stations is capable of direct communications with another one of the stations while remaining associated with the access point; and
maintaining, by the access point, a list of the stations determined to be capable of such direct communications.
9. The method of claim 8 , further comprising:
providing the list to a station of the plurality of stations in response to a request from the station.
10. The method of claim 9 , further comprising:
receiving, from the station, the request in an association request frame; and
providing, to the station, the list in an association response frame.
11. The method of claim 8 , further comprising:
updating the list; and
providing, to a station of the plurality of stations, the updated list in a beacon frame.
12. The method of claim 8 , wherein maintaining the list comprises:
storing, in a memory of the access point, an address for each of the stations capable of such direct communications.
13. The method of claim 8 , further comprising:
receiving an indicator from an at least one station of the plurality of stations; and
determining if each of the at least one station is capable of direct communications with another of the plurality of stations based at least in part on the indicator received from the at least one station.
14. A non-transitory computer readable medium storing computer-executable code for supporting wireless communications for a plurality of stations associated with an access point, that when executed by a processor, causes a communication device to:
determine whether each of the stations is capable of direct communications with another one of the stations while remaining associated with the communication device; and
maintain a list of the stations determined to be capable of such direct communications.
15. The non-transitory computer readable medium of claim 14 , wherein the code, when executed by the processor, further causes the communication device to:
provide the list to a station of the plurality of stations in response to receiving a request from the station.
16. The non-transitory computer readable medium of claim 15 , wherein the code, when executed by the processor, further causes the communication device to:
provide, to the station, the list in an association response frame in response to receiving, from the station, the request in an association request frame.
17. The non-transitory computer readable medium of claim 14 , wherein the code, when executed by the processor, further causes the communication device to:
update the list; and
provide, to a station, the updated list in a beacon frame.
18. The non-transitory computer readable medium of claim 14 , wherein maintaining the list comprises:
storing an address for each of the stations capable of such direct communications.
19. The non-transitory computer readable medium of claim 14 , wherein the code, when executed by the processor, further causes the communication device to:
receive an indicator from a station of the plurality of stations; and
determine if the stations is capable of direct communications with another of the plurality of stations based at least in part on the indicator.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/880,643 US20160105829A1 (en) | 2014-10-14 | 2015-10-12 | Direct link wireless devices with power savings |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462063902P | 2014-10-14 | 2014-10-14 | |
US14/880,643 US20160105829A1 (en) | 2014-10-14 | 2015-10-12 | Direct link wireless devices with power savings |
Publications (1)
Publication Number | Publication Date |
---|---|
US20160105829A1 true US20160105829A1 (en) | 2016-04-14 |
Family
ID=55656413
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/880,948 Abandoned US20160105850A1 (en) | 2014-10-14 | 2015-10-12 | Direct link wireless devices with power savings |
US14/880,643 Abandoned US20160105829A1 (en) | 2014-10-14 | 2015-10-12 | Direct link wireless devices with power savings |
US16/186,160 Active US10582451B2 (en) | 2014-10-14 | 2018-11-09 | Direct link wireless devices with power savings |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/880,948 Abandoned US20160105850A1 (en) | 2014-10-14 | 2015-10-12 | Direct link wireless devices with power savings |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/186,160 Active US10582451B2 (en) | 2014-10-14 | 2018-11-09 | Direct link wireless devices with power savings |
Country Status (1)
Country | Link |
---|---|
US (3) | US20160105850A1 (en) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017193945A1 (en) * | 2016-05-12 | 2017-11-16 | 电信科学技术研究院 | Method and device for transmitting uplink data |
US20180324876A1 (en) * | 2015-11-19 | 2018-11-08 | Sony Corporation | Device and method |
US20190182772A1 (en) * | 2016-09-26 | 2019-06-13 | Telefonaktiebolaget Lm Ericsson (Publ) | A first communications device and a method therein for handling of active mode operation |
EP3503631A1 (en) * | 2017-12-21 | 2019-06-26 | Apple Inc. | Power-efficient communication of group-addressed frames |
US10517106B1 (en) * | 2019-05-30 | 2019-12-24 | Cypress Semiconductor Corporation | Systems, methods, and devices for network request scheduling |
US10582451B2 (en) | 2014-10-14 | 2020-03-03 | Qualcomm Incorporated | Direct link wireless devices with power savings |
EP3577912A4 (en) * | 2017-02-01 | 2020-10-14 | Nokia Technologies Oy | DETERMINATION OF THE ACCESS SLOT FOR COMMUNICATION ON A RADIO INTERFACE |
US10959174B2 (en) | 2017-09-02 | 2021-03-23 | Apple Inc. | Wake-up radio with urgent-data criterion |
US20210321427A1 (en) * | 2020-04-09 | 2021-10-14 | Cypress Semiconductor Corporation | Scheduling of network traffic for wireless communications devices |
EP4178307A4 (en) * | 2020-07-24 | 2024-01-10 | Huawei Technologies Co., Ltd. | Method, apparatus and system for establishing direct link, and method, apparatus and system for sending wireless local area network frame |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9826483B2 (en) * | 2015-06-22 | 2017-11-21 | Intel Corporation | Apparatus, system and method of communicating a wakeup packet |
US20180063784A1 (en) * | 2016-08-26 | 2018-03-01 | Qualcomm Incorporated | Devices and methods for an efficient wakeup protocol |
US11064437B2 (en) * | 2017-01-19 | 2021-07-13 | Nokia Technolgies Oy | Power saving for wireless device |
EP4325992A3 (en) * | 2018-11-08 | 2024-04-24 | InterDigital Patent Holdings, Inc. | Method and apparatus for multiple access point (multi-ap) coordination in wireless local area networks (wlans) |
CN115715025B (en) * | 2020-07-02 | 2023-09-01 | 华为技术有限公司 | Method for detecting multi-link equipment and communication device |
CN111954288B (en) * | 2020-08-18 | 2021-05-07 | 深圳市微网力合信息技术有限公司 | Wireless communication method, device, system and storage medium |
CN115086945A (en) * | 2021-03-15 | 2022-09-20 | 华为技术有限公司 | Direct link addressing method and device |
CN115643643B (en) * | 2022-12-26 | 2023-08-01 | 深圳酷源数联科技有限公司 | 5G signal request, transmission and communication method, terminal, base station and medium |
US20250039789A1 (en) * | 2023-07-25 | 2025-01-30 | Samsung Electronics Co., Ltd. | Transmission windows for peer-to-peer communications |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130303171A1 (en) * | 2011-01-25 | 2013-11-14 | Lg Electronics Inc. | Method for performing inter-mobile station (ms) handover in radio access system and ms therefor |
US20140056248A1 (en) * | 2011-03-03 | 2014-02-27 | Agency For Science, Technology And Research | Communication Devices and Methods for Performing Communication |
US20140122650A1 (en) * | 2011-03-21 | 2014-05-01 | Singapore Technologies Dynamics Pte Ltd | Apparatus, a method and a computer program for interconnecting multiple computer networks |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008010007A1 (en) * | 2006-07-19 | 2008-01-24 | Stmicroelectronics S.R.L. | Method, apparatuses and program product for enabling multi-channel direct link connection in a communication network such as wlan |
KR101146893B1 (en) * | 2007-09-18 | 2012-05-17 | 엘지전자 주식회사 | Direct link setup procedure in tunneled direct link setup wireless network and station supporting the procedure |
US20110038290A1 (en) * | 2009-08-11 | 2011-02-17 | Michelle Xiaohong Gong | Device, system and method of power management in a wireless area network |
US8400955B2 (en) * | 2009-09-21 | 2013-03-19 | Samsung Electronics Co., Ltd. | System and method for power saving by coordinated wake-up in a wireless multi-band network |
US8675529B2 (en) * | 2010-09-02 | 2014-03-18 | Texas Instruments Incorporated | Power efficient tunneled direct link setup apparatus, systems and methods |
US20150351125A1 (en) * | 2012-07-02 | 2015-12-03 | Electronics And Telecommunications Research Institute | Apparatus and method for allocating resource |
US9288754B2 (en) * | 2012-09-07 | 2016-03-15 | Qualcomm Incorporated | Apparatus and methods of power save for wireless access points and multi-hop relays |
US20140233443A1 (en) * | 2013-02-20 | 2014-08-21 | Qualcomm Incorporated | Link verification in a wireless network |
US20140301294A1 (en) * | 2013-03-28 | 2014-10-09 | Electronics And Telecommunications Research Institute | Method for direct communication between stations in wireless local area system |
US20160105850A1 (en) | 2014-10-14 | 2016-04-14 | Qualcomm Incorporated | Direct link wireless devices with power savings |
-
2015
- 2015-10-12 US US14/880,948 patent/US20160105850A1/en not_active Abandoned
- 2015-10-12 US US14/880,643 patent/US20160105829A1/en not_active Abandoned
-
2018
- 2018-11-09 US US16/186,160 patent/US10582451B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130303171A1 (en) * | 2011-01-25 | 2013-11-14 | Lg Electronics Inc. | Method for performing inter-mobile station (ms) handover in radio access system and ms therefor |
US20140056248A1 (en) * | 2011-03-03 | 2014-02-27 | Agency For Science, Technology And Research | Communication Devices and Methods for Performing Communication |
US20140122650A1 (en) * | 2011-03-21 | 2014-05-01 | Singapore Technologies Dynamics Pte Ltd | Apparatus, a method and a computer program for interconnecting multiple computer networks |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10582451B2 (en) | 2014-10-14 | 2020-03-03 | Qualcomm Incorporated | Direct link wireless devices with power savings |
US20180324876A1 (en) * | 2015-11-19 | 2018-11-08 | Sony Corporation | Device and method |
US10849171B2 (en) * | 2015-11-19 | 2020-11-24 | Sony Corporation | Device and method for maintaining a security level |
US10805946B2 (en) | 2016-05-12 | 2020-10-13 | China Academy Of Telecommunications Technology | Uplink data transmission method and device |
WO2017193945A1 (en) * | 2016-05-12 | 2017-11-16 | 电信科学技术研究院 | Method and device for transmitting uplink data |
US20190182772A1 (en) * | 2016-09-26 | 2019-06-13 | Telefonaktiebolaget Lm Ericsson (Publ) | A first communications device and a method therein for handling of active mode operation |
US11224016B2 (en) * | 2016-09-26 | 2022-01-11 | Telefonaktiebolaget Lm Ericsson (Publ) | First communications device and a method therein for handling of active mode operation |
US11178660B2 (en) | 2017-02-01 | 2021-11-16 | Nokia Technologies Oy | Determining access slot for communications on radio interface |
EP3577912A4 (en) * | 2017-02-01 | 2020-10-14 | Nokia Technologies Oy | DETERMINATION OF THE ACCESS SLOT FOR COMMUNICATION ON A RADIO INTERFACE |
US10959174B2 (en) | 2017-09-02 | 2021-03-23 | Apple Inc. | Wake-up radio with urgent-data criterion |
CN109951892A (en) * | 2017-12-21 | 2019-06-28 | 苹果公司 | The high effect of group addressing frame communicates |
EP3503631A1 (en) * | 2017-12-21 | 2019-06-26 | Apple Inc. | Power-efficient communication of group-addressed frames |
US11375453B2 (en) | 2017-12-21 | 2022-06-28 | Apple Inc. | Power-efficient communication of group-addressed frames |
US11895589B2 (en) | 2017-12-21 | 2024-02-06 | Apple Inc. | Power-efficient communication of group-addressed frames |
US10517106B1 (en) * | 2019-05-30 | 2019-12-24 | Cypress Semiconductor Corporation | Systems, methods, and devices for network request scheduling |
US20210321427A1 (en) * | 2020-04-09 | 2021-10-14 | Cypress Semiconductor Corporation | Scheduling of network traffic for wireless communications devices |
US11497040B2 (en) * | 2020-04-09 | 2022-11-08 | Cypress Semiconductor Corporation | Scheduling of network traffic for wireless communications devices |
EP4178307A4 (en) * | 2020-07-24 | 2024-01-10 | Huawei Technologies Co., Ltd. | Method, apparatus and system for establishing direct link, and method, apparatus and system for sending wireless local area network frame |
Also Published As
Publication number | Publication date |
---|---|
US10582451B2 (en) | 2020-03-03 |
US20190082389A1 (en) | 2019-03-14 |
US20160105850A1 (en) | 2016-04-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10582451B2 (en) | Direct link wireless devices with power savings | |
US9756569B2 (en) | Transitioning from MIMO to SISO to save power | |
KR101393989B1 (en) | Device, system and method of power-saving for wireless communication | |
JP5301734B2 (en) | Wireless communication apparatus and wireless communication method | |
US20230050355A1 (en) | Wus for paging for rrc inactive states | |
US11064437B2 (en) | Power saving for wireless device | |
RU2619920C2 (en) | Systems and methods for reporting configuration changes between access point and station | |
US8284708B2 (en) | Power save enhancements for wireless communication devices | |
WO2017185867A1 (en) | Method for service transmission and terminal | |
US11218961B2 (en) | Power saving for wireless device | |
AU2010298907A1 (en) | Method and system for announcement time of idle timeout for power saving operations in wireless networks | |
US20230232327A1 (en) | Data transmission processing method, apparatus, user equipment and storage medium | |
US20240049342A1 (en) | Drx configuration method and apparatus, communication device and storage medium | |
CN114641032B (en) | Terminal device and communication method | |
US20150245165A1 (en) | Using bluetooth low energy | |
WO2021087914A1 (en) | Method and apparatus for determining activation moment of scheduled carrier, and device and medium | |
JP2018513607A (en) | Clock drift management for coexistence and simultaneity | |
US20150373485A1 (en) | Short-range wireless communication access device, portable terminal for discovering short-range wireless communication access device, and short-range wireless communication system | |
CN110224803A (en) | A kind of LoRa communication means realizing beacon and independently finding | |
WO2024119415A1 (en) | Wake-up signal receiving and sending methods and apparatuses | |
CN111194011A (en) | Data sending method, data receiving method, platform server and terminal | |
WO2025011373A1 (en) | Low-power wake-up signal indication methods and apparatuses, device and readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: QUALCOMM INCORPORATED, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WENTINK, MAARTEN MENZO;REEL/FRAME:038199/0101 Effective date: 20160323 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |