U.S. patent application number 11/726818 was filed with the patent office on 2008-09-25 for scheduling for power savings in a wireless network.
Invention is credited to Changwen Liu, Robert J. Stacey, Adrian P. Stephens.
Application Number | 20080234012 11/726818 |
Document ID | / |
Family ID | 39775296 |
Filed Date | 2008-09-25 |
United States Patent
Application |
20080234012 |
Kind Code |
A1 |
Liu; Changwen ; et
al. |
September 25, 2008 |
Scheduling for power savings in a wireless network
Abstract
In a wireless network, a wireless device may dynamically
estimate how long it can remain in a sleep mode without missing out
on a necessary opportunities to communicate within the network. In
some embodiments, this estimate may be based on a combination of
things such as the amount of data still queued up for transmission,
recent history on data rates, a prediction on how long it will take
another device (e.g., an access point) to accumulate enough data
for another transmission, and/or how long the queued-up data can
wait before it becomes stale.
Inventors: |
Liu; Changwen; (Portland,
OR) ; Stephens; Adrian P.; (Cottenham, GB) ;
Stacey; Robert J.; (Portland, OR) |
Correspondence
Address: |
INTEL CORPORATION;c/o INTELLEVATE, LLC
P.O. BOX 52050
MINNEAPOLIS
MN
55402
US
|
Family ID: |
39775296 |
Appl. No.: |
11/726818 |
Filed: |
March 22, 2007 |
Current U.S.
Class: |
455/574 |
Current CPC
Class: |
Y02D 30/70 20200801;
H04W 52/0232 20130101; Y02D 70/23 20180101 |
Class at
Publication: |
455/574 |
International
Class: |
H04B 1/38 20060101
H04B001/38 |
Claims
1. A method, comprising determining a sleep interval for a first
communications device, the first communications device to
communicate wirelessly with a second communications device in a
wireless network, wherein the sleep interval is based at least
partly on at least one of: an estimated delay for a flow between
the first and second communications devices; an estimated channel
access delay for the first communications device; an estimated time
for a predetermined amount of data to accumulate in a transmit
queue; an estimated time to transmit data remaining in the transmit
queue after a previous communications sequence; a time until some
of the data in the transmit queue becomes stale; and a length of a
transmit opportunity.
2. The method of claim 1, wherein the sleep interval is based at
least partly on the estimated time for the predetermined amount of
data to accumulate in the transmit queue of the second device,
minus the estimated channel access delay.
3. The method of claim 1, wherein the sleep interval is based at
least partly on the estimated time to transmit the data remaining
in the transmit queue of the second device after the previous
communications sequence, minus the estimated channel access
delay.
4. The method of claim 1, wherein the sleep interval is based at
least partly on the time until some of the data in the transmit
queue of the second device becomes stale, minus the estimated
channel access delay.
5. The method of claim 1, wherein the predetermined amount of data
is based at least partly on the length of the transmit
opportunity.
6. The method of claim 1, wherein a new sleep interval is
determined for each of multiple transmit opportunities.
7. The method of claim 1, wherein the transmit queue is a transmit
queue of the first communications device.
8. The method of claim 7, wherein the sleep interval may be ended
when the amount of data in the transmit queue reaches a particular
level.
9. An apparatus comprising a first communications device
comprising: a processor; a signal processing circuit coupled to the
processor to communicate wirelessly with a second communications
device; a power control circuit coupled to the processor and the
signal processing circuit, the power control circuit to place the
signal processing circuit into a low power non-operational mode for
certain periods of time; wherein each of the certain periods of
time are based at least partly on at least one of an estimated
channel access delay for the first communications device; an
estimated time for a predetermined amount of data to accumulate in
a transmit queue in the second communications device; an estimated
time to transmit data remaining in the transmit queue after a
previous communications sequence; a time until some of the data in
the transmit queue becomes stale; and a length of a transmit
opportunity.
10. The apparatus of claim 9, wherein the at least one of the
certain periods of time is based at least partly on the estimated
time for the predetermined amount of data to accumulate in the
transmit queue, minus the estimated channel access delay.
11. The apparatus of claim 9, wherein the at least one of the
certain periods of time is based at least partly on the estimated
time to transmit the data remaining in the transmit queue of the
second device after the previous communications sequence, minus the
estimated channel access delay.
12. The apparatus of claim 9, wherein the at least one of the
certain periods of time is based at least partly on the time until
some of the data in the transmit queue of the second device becomes
stale, minus the estimated channel access delay.
13. The apparatus of claim 9, wherein the predetermined amount of
data is based at least partly on the length of the transmit
opportunity.
14. The apparatus of claim 9, wherein a new certain period of time
is determined for each of multiple transmit opportunities.
15. The apparatus of claim 9, further comprising a battery coupled
to the signal processing circuit.
16. An article comprising a tangible machine-readable medium that
contains instructions, which when executed by one or more
processors result in performing operations comprising: determining
a sleep interval for a first communications device, the first
communications device to communicate wirelessly with a second
communications device in a wireless network, wherein the sleep
interval is based at least partly on at least one of: an estimated
delay for a flow between the first and second communications
devices; an estimated channel access delay for the first
communications device; an estimated time for a predetermined amount
of data to accumulate in a transmit queue; an estimated time to
transmit data remaining in the transmit queue after a previous
communications sequence; a time until some of the data in the
transmit queue becomes stale; and a length of a transmit
opportunity.
17. The article of claim 16, wherein the sleep interval is based at
least partly on the estimated time for the predetermined amount of
data to accumulate in the transmit queue of the second device,
minus the estimated channel access delay.
18. The article of claim 16, wherein the sleep interval is based at
least partly on the estimated time to transmit the data remaining
in the transmit queue of the second device after the previous
communications sequence, minus the estimated channel access
delay.
19. The article of claim 16, wherein the sleep interval is based at
least partly on the time until some of the data in the transmit
queue of the second device becomes stale, minus the estimated
channel access delay.
20. The article of claim 16, wherein the predetermined amount of
data is based at least partly on the length of the transmit
opportunity.
21. The article of claim 16, wherein the operations include
determining a new sleep interval for each of multiple transmit
opportunities.
22. The article of claim 16, wherein the transmit queue is a
transmit queue of the first communications device.
23. The article of claim 22, wherein the operations include ending
the sleep interval when the amount of data in the transmit queue
reaches a particular level.
Description
BACKGROUND
[0001] Mobile wireless devices in wireless networks usually depend
on a battery for their operating power. To extend the time that the
devices are capable of operating between battery charges, the
devices may resort to sleep periods (i.e., periods of
non-operation, at least for the radio circuits, when the battery
drain is greatly reduced). During a sleep period the data to be
communicated to/from the device may be queued up until the device
is operational again. Knowing how long to sleep (without obsoleting
and/or missing necessary data) may be problematic even in fairly
simple systems. However, the complexity of modem network
communications and the mixture of different data types in a network
(e.g., text, video, voice-over-IP, etc.), makes it difficult to
determine a balance between saving more power (which may be
achieved with longer sleep periods) and not obsoleting and/or
missing necessary data (which may be achieved with shorter sleep
periods).
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] Some embodiments of the invention may be understood by
referring to the following description and accompanying drawings
that are used to illustrate embodiments of the invention. In the
drawings:
[0003] FIG. 1 shows two devices in a wireless network according to
an embodiment of the invention.
[0004] FIG. 2 shows a flow diagram of a method of dynamically
determining a sleep interval based on downlink communications,
according to an embodiment of the invention.
[0005] FIG. 3 shows a flow diagram of a method of dynamically
determining a sleep interval based on uplink communications,
according to an embodiment of the invention.
DETAILED DESCRIPTION
[0006] In the following description, numerous specific details are
set forth. However, it is understood that embodiments of the
invention may be practiced without these specific details. In other
instances, well-known circuits, structures and techniques have not
been shown in detail in order not to obscure an understanding of
this description.
[0007] References to "one embodiment", "an embodiment", "example
embodiment", "various embodiments", etc., indicate that the
embodiment(s) of the invention so described may include particular
features, structures, or characteristics, but not every embodiment
necessarily includes the particular features, structures, or
characteristics. Further, some embodiments may have some, all, or
none of the features described for other embodiments.
[0008] In the following description and claims, the terms "coupled"
and "connected," along with their derivatives, may be used. It
should be understood that these terms are not intended as synonyms
for each other. Rather, in particular embodiments, "connected" is
used to indicate that two or more elements are in direct physical
or electrical contact with each other. "Coupled" is used to
indicate that two or more elements co-operate or interact with each
other, but they may or may not be in direct physical or electrical
contact.
[0009] As used in the claims, unless otherwise specified the use of
the ordinal adjectives "first", "second", "third", etc., to
describe a common element, merely indicate that different instances
of like elements are being referred to, and are not intended to
imply that the elements so described must be in a given sequence,
either temporally, spatially, in ranking, or in any other
manner.
[0010] Various embodiments of the invention may be implemented in
one or any combination of hardware, firmware, and software. The
invention may also be implemented as instructions contained in or
on a machine-readable medium, which may be read and executed by one
or more processors to enable performance of the operations
described herein. A machine-readable medium may include any
mechanism for storing, transmitting, and/or receiving information
in a form readable by a machine (e.g., a computer). For example, a
machine-readable medium may include a storage medium, such as but
not limited to read only memory (ROM); random access memory (RAM);
magnetic disk storage media; optical storage media; a flash memory
device, etc. A machine-readable medium may also include a
propagated signal which has been modulated to encode the
instructions, such as but not limited to electromagnetic, optical,
or acoustical carrier wave signals.
[0011] The term "wireless" and its derivatives may be used to
describe circuits, devices, systems, methods, techniques,
communications channels, etc., that communicate data by using
modulated electromagnetic radiation through a non-solid medium. The
term does not imply that the associated devices do not contain any
wires, although in some embodiments they might not. The term
"mobile wireless device" is used to describe a wireless device that
can be in motion while it is communicating.
[0012] Some embodiments of the invention may dynamically adjust a
sleep interval for a mobile wireless communications device
(subsequently called a STA in this document), based on various
operational factors such as the actual or estimated amount of data
to be communicated. In some operations the goal of this adjustment
is to make the sleep interval as long as is feasible without a
significant chance of losing or obsoleting data in the
communications exchange because the STA was asleep. `Asleep`,
`sleep mode`, and related variations of the term `sleep` refer to a
mode in which the signal processing circuitry of the STA goes into
a non-operational low power mode to reduce overall power
consumption. In some embodiments other portions of the STA may
remain in an operating mode during the sleep mode, but other
embodiments may use other techniques. The techniques described
herein may be especially beneficial when used in conjunction with a
network protocol commonly known as Unscheduled Advanced Power
Saving Delivery (U-APSD).
[0013] In some embodiments the STA may determine its sleep interval
based on estimated downlink transmissions to be received from an
access point or other centralized network control node. In other
embodiments the STA may determine its sleep interval based on
estimated uplink transmissions to be transmitted from the STA to
the centralized network control node. In still other embodiments
the STA may determine its sleep interval based on a combination of
uplink and downlink considerations.
[0014] FIG. 1 shows two devices in a wireless network according to
an embodiment of the invention. In the illustrated network 100, a
mobile wireless device 110 (STA) may communicate wirelessly with
centralized network controller 180 (AP) through their respective
antennas 116 and 186. The STA may be any of multiple types of
wireless devices, such as but not limited to a wireless personal
computer (PC), a personal data assistant (PDA), etc. The STA is
shown with a signal processing circuit (SPC) 120 that may convert
digital data into signals suitable for radio frequency (RF)
transmission, and may also convert received RF signals into digital
data suitable for processing by digital circuitry. In some
embodiments the SPC 120 may include such things as RF circuitry,
baseband circuitry, and a digital signal processor (DSP), although
other embodiments may include other combinations. A buffer 130 may
hold data for subsequent conversion/transmission by the SPC 120,
and/or may hold data that has been received and converted through
the SPC 120 for subsequent processing by application processor 140.
In some embodiments the buffer 130 may comprise a transmit queue
and/or a receive queue.
[0015] STA 110 may also include a battery 160 to provide operating
power to various parts of the STA. In the illustrated embodiment,
power control circuit 150 may control whether SPC 120 is in a
low-power sleep mode, a full-power operating mode, or some other
intermediate power mode, based on control signals from the
application processor that may be based at least in part on the
data communicated between the STA and AP. Other parts of the STA
may also have various modes of power consumption and operating
status, which may be controlled by the power control circuit 150
and/or one or more other power control circuits (not shown).
[0016] The AP is shown with a transmit queue 185, in which it may
place data to be transmitted to the STA and/or other STAs. Both the
STA 110 and the AP 180 may have other circuits, which have not been
shown because they are not considered key to an understanding of
the various embodiments of the invention.
[0017] FIG. 2 shows a flow diagram of a method of dynamically
determining a sleep interval for a wireless communications device
based on downlink communications, according to an embodiment of the
invention. For convenience and improved understanding, the
following acronyms and meanings are used in the discussion of FIG.
2, but the embodiments of the invention should not be limited to
devices using these acronyms. Note: although these parameters may
be used in the STA to determine a sleep interval for the STA, the
transmit queue referred to in these definitions is the AP's
transmit queue. The relevant information about the AP transmit
queue may be communicated to the STA through any feasible means.
[0018] SI--Sleep Interval. The duration of time during which the
SPC is in a non-operational low power mode. Separate sleep
intervals may have different durations. In some embodiments other
circuits may also be in a low-power mode during the sleep interval.
[0019] MAXFD--Maximum Flow Delay. This is the maximum time allowed
for a communications flow. In some embodiments this number will be
specified in a Traffic Specification (TSPEC) provided by the AP for
the STA. For operations in which the AP does not provide a value
for MAXFD, a reasonable value may be determined by the STA (e.g.,
200 milliseconds for a particular usage). [0020] CAD--Channel
Access Delay, based on historic efforts to gain channel access.
Channel access delay is the time it takes the STA to gain access to
the channel, once the STA starts trying to gain access to the
channel. CAD may include such variable delays as waiting for a
clear channel, contending for access to the medium, retrying the
access if the access fails, etc. The current value of CAD may be
based on the most recent access, or may be based on a mathematical
treatment of multiple recent accesses (e.g., an average of the five
most recent access delays). [0021] ECAD--Estimated Channel Access
Delay. This is an artificially increased version of the value of
CAD. In some operations ECAD may be determined by multiplying CAD
by a constant (e.g., a constant `C`) that is greater than 1. In
other embodiments ECAD may be set as a fraction of MAXFD. The STA
must acquire access to the channel before it can begin performing
the next data exchange, but this acquisition time may be highly
variable. ECAD provides a time `cushion`, so that most accesses
will take place within the ECAD time period. In some embodiments
the value of ECAD may be adjusted periodically, based on parameters
such as what fraction of accesses actually take longer than the
ECAD time period. [0022] EDEXQ--Estimated Delay to Empty Transmit
Queue. When the AP still has data to transmit at the end of the
previous transmit opportunity (TXOP), an estimate may be made of
the time it will take the AP to clear that data out of the transmit
queue by actually transmitting it. [0023] DSXQ--Desired Size of
Transmit Queue. To make efficient use of the burst nature of
communicating over a shared channel, larger bursts of data may be
more efficient for the overall network, and provide higher network
throughput, than smaller bursts. However, excessively large bursts
may cause other throughput problems, such as loss of time-critical
data by other devices. Based on these and other factors, a desired
size of burst may be determined, and an amount of data in the
transmit queue that is equivalent to this burst size is defined as
DSXQ. [0024] ETADXQS--Estimated Time to Accumulate Desired Transmit
Queue Size. This is the estimated time it will take for the AP to
accumulate enough data in the transmit queue to equal the DSXQ
value. In some embodiments, ETADXQS may=(DSXQ-the current queue
size) divided by the rate of arrival of the data, and the rate of
arrival of the data may=(the amount of data transmitted+(queue size
at end-queue size at the start)), divided by the time interval, but
other embodiments may use other techniques to calculate ETADXQS.
[0025] TDXQBS--Time till Data in Transmit Queue Becomes Stale. In
some operations, time-critical data (e.g., streaming video data) in
the transmit queue has an expiration time. If the data is not
transmitted by that expiration time, the data becomes useless for
its intended purpose (i.e., becomes `stale`), and may be discarded
by either the transmitting device before it can be transmitted, or
by the receiving device after reception. TDXQBS is the time
remaining until that expiration time. This is a dynamic number that
varies depending on the time-critical data in the transmit queue.
If there are multiple expiration times in the transmit queue, the
shortest time may be used. In some operations the AP communicates
this value to the STA, and the STA may then use this value in some
of its calculations. In other types of operations this value is
unknown to the STA, and therefore cannot be used by the STA in its
calculations. In this latter case, the STA may immediately access
the channel without going to sleep (for example, by treating TDXQBS
as 0). If the transmit queue is empty, TDXQBS may be equal to
MAXFD.
[0026] Referring again to FIG. 2, flow diagram 200 shows operations
that may be performed in a STA. At 210, the STA may complete its
current communications sequence with another wireless device, and
prepare for entering a sleep mode in which its SPC will be placed
in a low power non-operational state. In some embodiments that
communications sequence may be defined as a TXOP, but other
embodiments may use other techniques. To determine how long the STA
will be in the sleep mode, it determines a number of parameters at
220. As stated in the acronym definitions above, MAXFD may be
predetermined, while ECAD may be produced by multiplying CAD by a
constant that is greater than 1. EDEXQ, DSXQ, TADXQS, and EADXQS
may be determined by examining various operational factors, such as
but not limited to transmission data rate, variability of
transmission data rate, variability of CAD, network capacity,
recent network throughput, operational parameters specified by the
AP, etc. Once all the necessary factors have been determined
through monitoring, calculation, etc., the critical parameters that
determine the sleep interval may be derived.
[0027] At 230, it's determined whether the transmit queue 185 is
empty and at 235 it's determined whether TDXQBS is known to the
STA. Three cases may be considered:
[0028] 1. If the transmit queue is empty, then the sleep interval
SI may be determined at 240 as 1) MAXFD-ECAD, or 2) ETADXQS-ECAD,
whichever is smaller.
[0029] 2. If the transmit queue is not empty and TDXQBS is known to
the STA, then the sleep interval SI may be determined at 250 as 1)
TDXQBS-ECAD, or 2) ETADXQS-ECAD, whichever is smallest.
[0030] 3. If the transmit queue is not empty and TDXQBS is not
known to the STA, then the STA may immediately access the channel
and try to download the data without going to sleep. SI is
essentially zero with this option.
[0031] For the first two cases, the STA may enter the sleep mode at
260 and remain in sleep mode for the duration of the calculated SI,
unless the sleep mode is interrupted by some external event not
covered in this discussion. For the third case, there essentially
is no non-zero sleep interval, as shown at 270.
[0032] After the STA wakes up at the end of the SI, it may
establish communications with the AP, complete those
communications, and repeat the operations of FIG. 2 to determine
the duration of the next sleep interval.
[0033] Although the previous description assumes the STA completes
a communications sequence (e.g., a TXOP) before determining the
next value for SI, some embodiments may perform all or part of
these calculations before the end of that communications sequence.
However, performing these calculations while data is still being
exchanged during the TXOP may produce less dependable results,
since some of the parameters might not be based on complete
information and/or the most recent information.
[0034] FIG. 3 shows a flow diagram of a method of dynamically
determining a sleep interval for a wireless communications device
based on uplink communications, according to an embodiment of the
invention. For convenience and improved understanding, the
following acronyms and meanings are used in the discussion of FIG.
3, but the embodiments of the invention should not be limited to
devices using these acronyms. Note: although the definitions for
FIG. 2 referred to the transmit queue in the AP, the definitions
for FIG. 3 refer to the transmit queue in the STA. [0035] CAD and
ECAD--Same definitions that were used for these terms for FIG. 2,
except that when deriving ECAD in this instance, CAD may be
multiplied by a different constant than was used in the description
for FIG. 2. [0036] DSMXQ--Desired Size of My Transmit Queue. As
previously described for DSXQ, data in the transmit queue may be
allowed to build up until it reaches a preferred size for
transmission. Since this transmit queue is in the STA rather than
the AP, a different acronym is used to distinguish between the two
transmit queues. [0037] CQS--Current Queue Size. This reflects the
amount of data currently in the transmit queue of the STA. [0038]
TDMXQBS--Time till Data in My Transmit Queue Become Stale. Similar
to the previously described TDXQBS for FIG. 2, but the `M` in the
name refers to `my` transmit queue, i.e., the transmit queue in the
STA. This is a dynamic number that varies depending on the
particular time-critical data in the current transmit queue. If
there is no time-critical data in the queue, any sleep interval
based on TDMXQBS may be eliminated or ignored.
[0039] Flow diagram 300 shows operations that may be performed in a
STA. At 310, the STA may complete its current communications
sequence with another wireless device, and prepare for entering a
sleep mode in which its SPC may be in a non-operational low power
state. In some embodiments this communications sequence may be a
TXOP, but other embodiments may use other techniques. At 320,
values for DSMXQ, TDMXQBS, and ECAD may be determined. At 330 the
sleep interval is set to equal TDMXQBS minus ECAD, and the STA may
enter the sleep mode at 340. If there is no time-critical data in
the transmit queue, so that TDMXQBS cannot be calculated a
reasonable sleep interval may be used instead.
[0040] Although the SPC portion of the STA may be in a
non-operational state during the sleep mode, an applications
processor or other processor in the STA may continue to operate.
Among other things, this processor may continue placing data into
the transmit queue at 360, the data in the transmit queue to be
transmitted at a later time. This may continue until either 1) the
sleep interval expires, as determined at 350, or 2) the sleep
interval is prematurely terminated at 370 because the amount of
data CQS in the transmit queue reaches or exceeds the desired queue
size DSMXQ. In either case, after the STA wakes up at 380, it may
acquire the channel and then transmit from the transmit queue at
390.
[0041] The previous paragraphs have described determining one sleep
interval based on downlink communications, and another separate
sleep interval based on uplink communications. But in some
embodiments these may be combined, and a single sleep interval
determined by considering both uplink and downlink traffic. For
example, after determining these two sleep intervals independently,
the sleep interval actually used may be the shortest of the
two.
[0042] The foregoing description is intended to be illustrative and
not limiting. Variations will occur to those of skill in the art.
Those variations are intended to be included in the various
embodiments of the invention, which are limited only by the spirit
and scope of the following claims.
* * * * *