METHOD FOR REDUCING THE POWER CONSUMPTION OF A MOBILE DEVICE
20200120608 ยท 2020-04-16
Inventors
Cpc classification
H04B1/0003
ELECTRICITY
G06F1/3203
PHYSICS
G06F1/3287
PHYSICS
H04B1/406
ELECTRICITY
H04W52/0212
ELECTRICITY
Y02D10/00
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
H04W88/06
ELECTRICITY
H04W52/0238
ELECTRICITY
Y02D30/70
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
International classification
H04W88/06
ELECTRICITY
G06F1/3287
PHYSICS
G06F1/3203
PHYSICS
H04B1/00
ELECTRICITY
Abstract
Where a communications device maintains multiple wireless connections to other devices and networks which use slotted communications protocols, the slots used by those protocols are arranged so as to minimise the power consumed by the device. Where multiple radios are used, power is minimised by avoiding using radios at the same time when those radios are likely to interfere with each other. Slots used by communication protocols can also be selected to maximise the time that the communications device can spend in lower power mode.
Claims
1. A method of operating a wireless device comprising a plurality of radio subsystems, the method comprising: obtaining parameters for each of the radio subsystems, the parameters comprising a repetition rate of polling for paging requests from other wireless devices and interference characteristics of the radio subsystem; responsive to the obtained parameters for the plurality of radio subsystems, selecting one or more paging slots for each of the radio subsystems according to an optimization that selects different paging slots for at least two interfering to radio subsystems and minimizes overhead of the wireless device entering and leaving a low power mode; setting a repetition pattern for each of the plurality of radio subsystems based on the selected paging slots for that radio subsystem; and then operating each of the plurality of radio subsystems to poll for paging requests over its corresponding radio interface according to the repetition pattern set for that radio subsystem.
2. The method of claim 1, wherein the obtained parameters for one or more of the plurality of radio subsystems further comprises one or more quality of service (QoS) parameters; and wherein the optimization includes the obtained QoS parameters in selecting the one or more paging slots for at least one of the radio subsystems.
3. The method of claim 2, wherein one of the QoS parameters corresponds to a higher repetition rate for one of the radio subsystems relative to another one of the radio subsystems.
4. The method of claim 1, wherein the wireless device comprises a computing device implementing each of the plurality of radio subsystems as a software defined radio (SDR).
5. The method of claim 4, wherein each of the SDRs is provided with an application programming interface (API) through which the computing device controls operation of the SDR and obtains the obtained parameters for the SDR.
6. The method of claim 1, wherein the operating step comprises: causing the wireless device to leave the low power mode and enter a normal mode to operate, in a first time interval comprising at least one paging slot, a first set of one or more radio subsystems to poll for paging requests over a first set of wireless connections; and while remaining in the normal mode in a second time interval comprising at least one paging slot, the second time interval adjacent in time to the first time interval, operating a second set of one or more radio subsystems to poll for paging requests over a second set of wireless connections, respectively; and after the second time interval, causing the wireless device to enter into the low power mode; and wherein at least one of the first and second sets of radio subsystems comprises a plurality of radio subsystems that, when simultaneously operating, do not interfere with one another.
7. The method of claim 1, wherein the operating step comprises: causing the wireless device to leave the low power mode and enter a normal mode to operate, in a first time interval comprising at least one paging slot, a first set of one or more radio subsystems to poll for paging requests over a first set of wireless connections; and while remaining in the normal mode in a second time interval comprising at least one paging slot, the second time interval adjacent in time to the first time interval, operating a second set of one or more radio subsystems to poll for paging requests over a second set of wireless connections, respectively; and after the second time interval, causing the wireless device to enter into the low power mode; and wherein one or more of the radio subsystems in the wireless device can be shared by more than one wireless connection.
8. The method of claim 1, wherein the operating step further comprises: causing the wireless device to leave the low power mode and enter a normal mode to operate, in a first time interval comprising at least one paging slot, a first set of one or more radio subsystems to poll for paging requests over a first set of wireless connections; and while remaining in the normal mode in a second time interval comprising at least one paging slot, the second time interval adjacent in time to the first time interval, operating a second set of one or more radio subsystems to poll for paging requests over a second set of wireless connections, respectively; after the second time interval, causing the wireless device to enter into the low power mode; and while remaining in the normal mode in a third time interval comprising at least one paging slot, the third time interval adjacent in time to the second time interval, operating a third set of one or more radio subsystems in the wireless device to poll for paging requests over a third set of the plurality of wireless connections, respectively; and and wherein the step of causing the wireless device to enter into the low power mode is performed after the third time interval.
9. A wireless device comprising: a plurality of radio interfaces, each maintaining one of a plurality of wireless connections to another device; and a computing device implementing a plurality of software defined radios (SDRs), each SDR for performing modulation and demodulation of wireless signals over a wireless connection through a corresponding one of the plurality of radio interfaces according to a slotted communication protocol; wherein the computing device is configured to cause the wireless device to operate according to a plurality of operations comprising: obtaining parameters for each of the SDRs, the parameters comprising a repetition rate of polling for paging requests from other wireless devices and interference characteristics of the radio subsystem; responsive to the obtained parameters for the plurality of SDRs, selecting one or more paging slots for each of the SDRs according to an optimization that selects different paging slots for at least two interfering SDRs and minimizes overhead of the wireless device entering and leaving a low power mode; setting a repetition pattern for each of the plurality of SDRs based on the selected paging slots for that SDR; and then operating each of the plurality of SDRs to poll for paging requests over its corresponding radio interface according to the repetition pattern set for that SDR.
10. The wireless device of claim 9, wherein the obtained parameters for one or more of the plurality of SDRs further comprises one or more quality of service (QoS) parameters; and wherein the optimization includes the obtained QoS parameters in selecting the one or more paging slots for at least one of the SDRs.
11. The wireless device of claim 10, wherein one of the QoS parameters corresponds to a higher repetition rate for one of the SDRs relative to another one of the SDRs.
12. The wireless device of claim 11, wherein each of the SDRs is provided with an application programming interface (API) through which the computing device controls operation of the SDR and obtains the obtained parameters for the SDR.
13. The wireless device of claim 9, wherein the operating of each of the plurality of SDRs comprises: causing the wireless device to leave the low power mode and enter a normal mode to operate, in a first time interval comprising at least one paging slot, a first set of one or more SDRs to poll for paging requests over a first set of wireless connections; and while remaining in the normal mode in a second time interval comprising at least one paging slot, the second time interval adjacent in time to the first time interval, operating a second set of one or more SDRs to poll for paging requests over a second set of wireless connections, respectively; and after the second time interval, causing the wireless device to enter into the low power mode; and wherein at least one of the first and second sets of SDRs comprises a plurality of SDRs that, when simultaneously operating, do not interfere with one another.
14. The wireless device of claim 9, wherein the operating of each of the plurality of SDRs further comprises: causing the wireless device to leave the low power mode and enter a normal mode to operate, in a first time interval comprising at least one paging slot, a first set of one or more SDRs to poll for paging requests over a first set of wireless connections; and while remaining in the normal mode in a second time interval comprising at least one paging slot, the second time interval adjacent in time to the first time interval, operating a second set of one or more SDRs to poll for paging requests over a second set of wireless connections, respectively; and after the second time interval, causing the wireless device to enter into the low power mode; and wherein one or more of the SDRs in the wireless device can be shared by more than one wireless connection.
15. The wireless device of claim 9, wherein the operating of each of the plurality of SDRs further comprises: causing the wireless device to leave the low power mode and enter a normal mode to operate, in a first time interval comprising at least one paging slot, a first set of one or more SDRs to poll for paging requests over a first set of wireless connections; and while remaining in the normal mode in a second time interval comprising at least one paging slot, the second time interval adjacent in time to the first time interval, operating a second set of one or more SDRs to poll for paging requests over a second set of wireless connections, respectively; and after the second time interval, causing the wireless device to enter into the low power mode; and while remaining in the normal mode in a third time interval comprising at least one paging slot, the third time interval adjacent in time to the second time interval, operating a third set of one or more SDRs to poll for paging requests over a third set of the plurality of wireless connections, respectively; and wherein the step of causing the wireless device to enter into the low power mode is performed after the third time interval.
Description
[0028] Embodiments of the present invention will now be described, by way of further example only, with reference to the accompanying drawings, in which
[0029]
[0030]
[0031]
[0032] An ideal situation would be for wireless communication protocols to allow mobile terminals to negotiate with other elements in the network infrastructure in order to define the slots that they will listen on. However, the allocation of slots in existing protocols is either pre-defined or, where variation is allowed, this is normally done outside the control of the mobile terminal; for example, this is part of the functionality provided in the Base Station Controller/Base Transceiver Station in 3GPP cellular networks. In the absence of any framework for influencing slot allocation, a mobile terminal has to select the best match from the various options available.
[0033] In normal use, where multiple radios are known to interfere with each other, this will quite possibly involve dropping some paging slots if there is a clash. It should be noted that there is no reason why this cannot be done. For all slotted protocols, there is some degree of flexibility and redundancy in the usage of the slots allocated, and for a mobile terminal to miss a transmission in one or more slots is not critical.
[0034] Therefore, provided it is possible to control the available radio interfaces, a computing device implementing multiple slotted protocols can arrange to do so in a way that optimises power usage.
[0035] The current generation of computing devices enabled for wireless communications (such as cellular, WiFi and Bluetooth) generally rely on dedicated hardware to handle the radio related aspects of their operation. Typically, these consist either of specific chipsets or else of customised Application Specific Integrated Circuits (ASICs) for each radio interface. These handle the modulation and demodulation of signals together with much of the lower levels of the communications protocols associated with the communication. The implementation of the protocols in dedicated hardware is predetermined by the manufacturer and does not offer the flexibility needed to adjust the parameters of the communications protocols in use to take advantage of this invention.
[0036] Therefore a preferred implementation of this invention makes use of computing devices with one or more generic Software Defined Radios rather than dedicated hardware. A Software Defined Radio (SDR) is one that handles all the modulation and demodulation of wireless signals in software rather than relying on any dedicated hardware circuitry; it is anticipated that in the future, computing devices will be able to utilise wireless communications methods by means of SDR which would otherwise only be accessible if a suitable dedicated radio ASIC had been included in the device at manufacture time. The Software Defined Radio Forum (http:/www.sdrforum.org/) exists to promote and develop this technology.
[0037] It should be noted that while SDR technology lends itself to the implementation of this invention, the description and claims contained herein are not intended to preclude any implementations that are based on more flexible dedicated hardware solutions.
[0038] The basic elements of a system implementing this invention are as follows: [0039] The computing device is provided with a respective applications programming interface (API) for each radio. The API supplies information and methods relating to the controlling of its power usage, together with information and methods which define and control its receipt of paging requests from other wireless devices. An example API is provided below. [0040] The computing device is additionally provided with a single software component that is aware both of the power constraints to which the device is subject and also of the communication networks and services to which the user wishes to remain connected. This information may be provided by the user either directly or indirectly (via a link to overall settings such as user profiles) or may be arrived at programmatically, using inbuilt rules. [0041] This software component can also be provided with other items of information which may affect the operation of the device. Although the aim is to reduce the total power consumption, manipulating the standard workings of a communication protocol can affect other aspects of performance, such as Quality of Service (QoS). As an example, a computing device that polls the airwaves for signals ten times per second is going to be able to provide a quicker response than a computing device that polls for signals once every second. The ability of the invention to take account of additional information relating to issues such as QoS, which vary depending on the circumstances and needs of the user, is considered to be one of the advantages of this invention. [0042] The various slotted communication protocols can then be evaluated to decide on an optimal selection of paging slots for which the radios on the device will be woken up; the APIs provided for each radio are used to implement the consequent strategy.
[0043] A preferred implementation of this invention on a computing device which itself implements low-power mode may be to pre-process all the available data in order to ensure that no radio interferes with any other radio, and that the time spent in sleep or idle mode was as long as possible.
[0044] Note that if the device is maintaining wireless connections to multiple accounts on services such as cellular networks, the single software component referred to above will need to ensure that the relevant identities on the appropriate networks have all been registered before setting up exclusive slots to monitor each account.
[0045] Furthermore, interleaving the power on times of the various radios will be essential when software defined radio is used (either single converter or multiple IF selection), as there is effectively a single piece of hardware.
[0046] This utility can be extended if the computing device or MT can define the slots it will listen on. At present the slot structure is defined either by the protocol or where variation is allowed, this is normally in the base station controller (BSC) and/or the base transceiver station (BTS). Without this, the best match of the various options will have to be selected, perhaps dropping some paging slots when there is a clash.
[0047] An API to control multiple software defined radios in such a way as to minimise the power consumption will now be described. This control is achieved by only operating radios one at a time. The common burst mode activities of the radios being considered allows this mechanism to be implemented.
[0048] Radios may be operated intermittently to reduce power consumption. These bursts of activity may be to send or receive a beacon (synchronise, scandepends on the radio standard) or to send or receive data.
[0049] Radios may have a range of repetition rates that are continuously variable between two ranges as shown in
[0050] A radio may also have a set of defined rates instead of a range. It may also have a set of defined frequencies, phase and number of cycles. These may be different for different modes and in different rates.
[0051] Overview of the API
[0052] The API contains two parts. The first part is the set of data structures that contain data about the radios available to be controlled. The second part is the set of commands that most radio systems will be expected to respond to. This second part is based on the commands used in the Software Defined Radio Commercial Handset guidelines (SDRF-04-A-0006-V0.0 25 Aug. 2004) issued by the SDR Forum (www.sdrforum.org). Note there are no standards for the data structures that define the possible configurations of the radios.
[0053] Inquiry Tree
[0054] A radio subsystem can be queried (e.g. via the operating system of the mobile communications device) to determine the characteristics of each of the radios.
[0055] Below the level of this API there may be a plug in mechanism to allow different physical radio hardware to represent itself as part of the radio subsystem.
[0056] The radio system is interrogated and the list of radios that the subsystem supports can be enumerated. The data for each radio type is organised as a hierarchy as shown in
[0057] The radio subsystem inquiry tree is enumerated under program control. This interrogation may be instigated by the radio subsystem requesting it. This allows for new devices being plugged in. At present the SDR forum does not include a radio initiated request for interrogation. The system has to issue get_config commands.
[0058] Combined Repetitions
[0059] The radios are enabled either by user control or limited by environmental controls. For each of the radios that are enabled a set of repetition rates are found to allow each of the radios to be switched on only when no other radio is on. This mechanism is common to many of the use cases described below.
[0060] Use Cases
[0061] These use cases are the actions from the upper levels. In particular the enabling of a radio is not to be confused with the low level enable command which effectively powers on the radio. At this level this is likely to be a user command that has enabled or disabled the use of a specific type of radio (e.g. switching on Bluetooth).
[0062] Startup [0063] 1. All the radios are enumerated, [0064] 2. Read the parameters for each radio found [0065] 3. Find environmental limits in force (airplane, low power etc.) [0066] 4. Find repetition pattern for all allowed radios [0067] 5. Set radio patterns or repetitions [0068] 6. Enable radios [0069] 7. Start radios
[0070] Radio Removed [0071] 1. Find repetition pattern for remaining radios [0072] 2. If existing radios are in use, defer change in repetitions.
[0073] Radio Disabled [0074] 1. Stop radio. [0075] 2. Disable radio. [0076] 3. Remove radio from repetition pattern [0077] 4. Find new repetition pattern for remaining radios [0078] 5. Set radio patterns or repetitions
[0079] Radio Enabled [0080] 1. Find environmental limits in force (airplane, low power etc.) [0081] 2. Find new repetition pattern for all allowed radios [0082] 3. Set radio patterns or repetitions [0083] 4. Enable radio [0084] 5. Start radio
[0085] Radio Inserted [0086] 1. Read the parameters of the new radio [0087] 2. Find environmental limits in force (airplane, low power etc.) [0088] 3. Find repetition pattern for all allowed radios [0089] 4. Set radio patterns or repetitions [0090] 5. If existing radios are in use, defer change in repetitions. [0091] 6. Enable new radio [0092] 7. Start new radio
[0093] Low Power [0094] 1. Find radios that are to be used [0095] 2. Stop and disable all other radios [0096] 3. Find repetition pattern for radios [0097] 4. Set radio patterns or repetitions
[0098] Other compliance based use cases may require activities above the radio subsystem. The control requests below allow for these, but the subsystem will not necessarily respond to all aspects. For example it may be necessary to use only certain frequency channels for Bluetooth when visiting certain countries.
[0099] Entering a Radio Restriction Area (Airplane Mode) [0100] 1. Receive an airplane mode request (see below) [0101] 2. Stop and possibly disable radios not allowed [0102] 3. Find repetition pattern for remaining radio [0103] 4. Set radio pattern or repetition
[0104] Entering Radio Off Area (Hospital) [0105] 1. Receive a beacon receive mode command [0106] 2. Stop and possibly disable all radios (not necessarily low power) [0107] 3. Enable beacon reception
[0108] Control Requests
[0109] These requests are short strings that can be supplied as push messages. This allows airplane mode to be imposed once a device enters an area by pushing the request on one of the radio channels. Interleaving radios will also require monitoring and debugging control requests.
[0110] Lowest Power
[0111] All radios at lowest repetition rate as well as lowest power output.
[0112] Airplane Mode
[0113] Only certain radios are allowed. This request sends the radios allowed. See the beacon setting for the situation where only a specific radio is allowed.
[0114] All Radios Off
[0115] This is reset manually by the user.
[0116] Promiscuous Mode
[0117] A radio connects to a service all the time or at the maximum rate. This allows the device to act as a monitor for that radio channel
[0118] Monitor Mode
[0119] Link to a service and report data transfers via another service. This can be used to test operation of a protocol when the device has no other means of connection like a serial, IrDA, USB port. The reporting may be the complete data or just a summary of the monitored link or service.
[0120] Report Mode
[0121] Send the N last control requests. This requires the subsystem to maintain the last N requests so it is preferable that a maximum value for N is defined. As these requests are small, there could be a large value for N (e.g. 100,000).
[0122] Beacon Listen
[0123] Set a radio to listen for a beacon. This mode can be used to indicate when the radio has left a region.
[0124] Beacon Send
[0125] Set a radio to send a beacon. This mode can be used to indicate if a device leaves a region. This mode can also be used for security purposes.
[0126] Lower Level Command
[0127] These commands control the radios and the subsystem more directly. These are equivalent to the commands proposed by the SDR forum.
[0128] Radio Enabled
[0129] This is different from the radio transmitting or receiving. The configuration is set in the radio and it is ready to operate: a start command starts the radio.
[0130] Radio Disabled
[0131] The radio is no longer ready to be used and should be consuming no power.
[0132] Radio Pattern
[0133] Some radios may have intelligence and can be set with high level parameters. Others will require that the waveform or burst pattern is set explicitly. This command sends frequency, phase, modulation, cycles, time etc. in the format that is appropriate to the radio. The SDR forum command is set_config.
[0134] Simple Repetition
[0135] Sends the rate where the other radio components have either been set by the radio pattern command or cannot be set. This is for radios that only have repetition rates, i.e. those radios that are not frequency hopping. The SDR forum commands do not discriminate and so the set_config command is the only one available.
[0136] Enumerate Radios
[0137] Read the inquiry tree and load up the radio parameters. The SDR forum commands are get_config and capability_exchange. There is currently an undefined overlap in these two commands.
[0138] Synchronise Radios
[0139] This takes a list of radios and make sure that the repetition rates are synchronised. This may be necessary so the two radios work as a network, forwarding packets. Although this functionality is discussed in the SDR forum, there are no low level commands specified.
[0140] Many advantages accrue through the use of this invention, including: [0141] It enables a reduction of power consumption and avoids the wastage of power that would otherwise occur when a device is concurrently connected to multiple wireless standards; this is applicable to all classes of devices, whether mobile or mains powered. [0142] As applied to software defined radio, it allows operation on multiple wireless standards. [0143] When used on communication devices such as cellular telephones, it allows multiple concurrent accounts for wireless delivered services.
[0144] Although the present invention has been described with reference to particular embodiments, it will be appreciated that modifications may be effected whilst remaining within the scope of the present invention as defined by the appended claims.