Method and system for optimizing power resources in wireless devices

Information

  • Patent Grant
  • 8144637
  • Patent Number
    8,144,637
  • Date Filed
    Wednesday, March 16, 2005
    19 years ago
  • Date Issued
    Tuesday, March 27, 2012
    12 years ago
Abstract
A method and system is disclosed for a device to quickly determine if data is being sent to it. If no data is being sent to the device, the device may return to a sleep mode so as to conserve energy. The present invention includes organizing and transmitting, one at a time, all device destination identifiers. If a message listing search indicates that no message is being sent for a device, the device can continue with any other activity that needs servicing, or if no other activity is pending, it may shut down to conserve power until the next wake up period arrives. If the search returns a positive indication, the count value when the identifier is found can be used to determine the location of the pointer to the message.
Description
FIELD OF INVENTION

The present invention relates to the field of wireless communications. More specifically, the present invention relates to the optimization of power resources of wireless devices within wireless communications systems.


BACKGROUND

Portable electronic devices frequently run off of batteries. Data delivered to the devices is often short (e.g. email, instant messaging, numerical updates, status changes). The power dissipated by the devices while looking for transmissions that may be directed to them can often exceed the power required to receive such transmissions. Moreover, the devices typically only occasionally have transmissions directed to them. Despite the fact that most devices only occasionally have transmissions directed to them, the devices must nevertheless stay awake for the entire notification period. This means that many devices are dissipating power during the entire notification period, even though usually there is no data for them.


It would therefore be desirable for devices to be able to quickly determine if data is being sent to them, and if not return to a sleep mode so as to conserve energy.


SUMMARY

The present invention is a method and system for optimizing power resources in wireless devices. The invention utilizes message lists adapted to allow devices to quickly determine whether the list contains a message for them thereby decreasing the amount of time devices must be awake while searching for messages.





BRIEF DESCRIPTION OF THE DRAWING(S)


FIG. 1 is a message listing wherein a count of the number of destination identifiers included in the message listing is provided at the beginning of the message listing and further wherein all of the destination identifiers are listed before all the respective pointers in accordance with an embodiment of the present invention.



FIG. 2 is a message listing wherein a count of the number of destination identifiers included in the message listing is provided at the beginning of the message listing and further wherein each destination identifier and its associated pointer are listed together in increasing numeric order in accordance with an embodiment of the present invention.



FIG. 3 is a flow diagram showing method steps for devices to determine whether a message listing as shown in either FIG. 1 or FIG. 2 includes any messages for the devices, where the devices are expecting a single message within the message listing, in accordance with an embodiment of the present invention.



FIG. 4 is a flow diagram showing method steps for devices to determine whether a message listing as shown in either FIG. 1 or FIG. 2 includes any messages for the devices, where the devices are expecting more than one message with the same identifier within the message listing, in accordance with an embodiment of the present invention.



FIG. 5 is a flow diagram showing method steps for devices to determine whether a message listing as shown in either FIG. 1 or FIG. 2 includes any messages for the devices, where the devices are expecting more than one message with the same identifier or multiple identifiers within the message listing, in accordance with an embodiment of the present invention.



FIG. 6 is a message listing wherein a list terminator is included at the end of the message and further wherein each destination identifier and its associated pointer are listed together in increasing numeric order in accordance with an embodiment of the present invention.



FIG. 7 is a flow diagram showing method steps for devices to determine whether a message listing as shown in either FIG. 6 includes any messages for the devices in accordance with an embodiment of the present invention.



FIG. 8 is a system for optimizing power resources in wireless devices in accordance with an embodiment of the present invention.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT(S)

The preferred embodiments of the present invention will be described with reference to the drawing figures wherein like numerals represent like elements throughout.


Referring initially to FIG. 1, there is shown a message listing 10. Wireless devices are typically synchronized with a network so that the devices know to wake up at predetermined periods and check to see if there are any messages for them. To conserve battery, it is preferable for wireless devices to not only be asleep between the predetermined periods, but also to spend as little time as possible determining whether there is a message for them. Wireless devices typically determine whether they are the intended recipient of a message by checking a message listing. Message listings of the prior art include not only a plurality of identifiers indicative of the destination of each message contained in the listing as well as a count of the number of messages therein, but also the messages themselves. Including the messages themselves in the message listing increases the time which wireless devices must remain awake while determining whether a message listing includes a message for them. For example, where a message listing includes 10 messages listed in increasing order of destination identifiers and there are messages for devices one through four, a wireless device having a device identifier “5” must stay awake for not only the first four message identifiers, but also the first four messages themselves. Once device “5” receives its message it may go back asleep until the next message listing is received, which as mentioned, occurs at predetermined intervals.


To decrease the time which devices must remain awake while determining whether particular message listings include a message for them, the present invention arranges message listings as shown in FIGS. 1, 2 and 6. Those message listings may be modified as desired/needed to maximize the message determination process without departing from the scope of the present invention.


Referring initially to FIG. 1 a first embodiment of a message listing 10 in accordance with the present invention is shown. The message listing 10 includes a count of the number of destination identifiers included in the message listing and is provided at the beginning of the message listing 10. In this embodiment, the count is indicated with reference numeral 12 and is entitled “count of identifiers listed.” The destination identifiers1-N, referred to generally with reference numeral 14, are listed in increasing numeric order. Each destination identifier1-N has an associated message pointer. The message pointers1-N, in this embodiment, are also listed in increasing numeric order and are generally referred to with reference numeral 16.


In an alternate embodiment, as shown in FIG. 2, the message listing 10 may be configured so that the message pointers1-N 16 follow their associated destination identifiers1-N 14. It should be noted that, in FIGS. 1 and 2, the destination identifiers1-N 14 are organized in increasing monotonic numeric order with their associated message pointers1-N 16, but may also be organized in decreasing monotonic numeric order.


A logic diagram showing a method 30 for determining whether a message has arrived for a wireless device is shown in FIG. 3. The wireless device may be any type of wireless device such as, for example, a wireless telephone, a personal digital assistant, or pocket size personal computer. The methods shown in FIGS. 3, 4, and 5 may be applied for both embodiments of message listings shown in FIGS. 1 and 2.


The method 30 begins with step 32 by initializing a search pointer of the device to a first identifier and loading the count of identifiers listed into a count variable (i.e. a register or memory unit that contains the count). The method 30 then proceeds to step 34 to determine whether the count is equal to zero. If the count is equal to zero, the method 30 proceeds to step 36 wherein the message flag is cleared. If the count is not equal to zero, the method proceeds to step 38. In step 38, the destination identifier pointed to by the pointer search is loaded by the device. The device preferably loads the destination identifier into a processing element of the device. Once the destination identifier is loaded by the device, the method 30 proceeds to step 40 wherein the destination identifier is compared with the device identifier to determine whether the destination identifier is greater than the device identifier. If yes, there are no subsequent messages for the device and the method 30 proceeds to step 36 where, as mentioned, the message flag is cleared. If no, the method 30 proceeds to step 42 wherein it is determined whether the destination identifier is equal to the device identifier. If the destination identifier is equal to the device identifier, there is a message for the device and the method 30 proceeds to step 44. In step 44, the message flag is set and a pointer to the message corresponding to the destination identifier is loaded. If the destination identifier is not equal to the device identifier, the method 30 proceeds from step 42 to step 46. In step 46, the search pointer is advanced to the next destination identifier and in step 48 the count is decreased.


Referring now to FIG. 4, a method 50 for determining whether a message has arrived for a wireless device is shown. In this embodiment the devices are expecting more than one message with the same device identifier within the message listing. The method 50 begins with step 52 wherein a search pointer of a wireless device is initialized to a first identifier, the count of identifiers listed is loaded into a count variable, and the message list and message flag are cleared. From step 52, the method proceeds to step 54 where it is determined whether the count of the identifiers listed is equal to zero. If the count is equal to zero, the method 50 ends at step 56. If the count is not is equal to zero, the method 50 proceeds to step 58 wherein the destination identifier pointed to by the search pointer is loaded by the wireless device. From step 58, the method 50 proceeds to step 60 where it is determined whether the destination identifier is greater than the device identifier. If the destination identifier is greater than the device identifier the method 50 proceeds to step 56 where, as mentioned, the method ends. If the destination identifier is not greater than the device identifier, the method 50 proceeds to step 62 where it is determined whether the destination identifier is equal to the device identifier.


In step 62, if the destination identifier is equal to the device identifier, a message flag is set and the pointer to the message corresponding to the destination identifier is added to the message list for the particular wireless device performing method 50 (step 64). From step 64, the method proceeds to step 66 wherein the search pointer is advanced to the next destination identifier. If, in step 62, the destination identifier is not equal to the device identifier, the method 50 proceeds directly from step 62 to step 66. After step 66, the count of identifiers listed is decremented. The amount the count is decremented may be determined as desired.


Referring now to FIG. 5, a method 70 for determining whether a message has arrived for a wireless device is shown. In this embodiment the devices are expecting more than one message with the same device identifier or multiple identifiers within the message listing. Multiple device identifiers for a single device may be used where the user of a particular device subscribes to several wireless multicast services, for example. By way of explanation, a device may have an identifier for messages specifically meant for the device and it may have another identifier assigned to it associated with a group of devices. In this way the entire group may be sent a message with only a single identifier being sent. A device may also be looking for some transmission broadcasted to an arbitrary number of devices such as, for example, sports game information or stock reports.


The method 70 begins with step 72 wherein a search pointer to the first device identifier is initialized, the count of identifiers listed is loaded into the count variable, the flag and list messages are cleared, and a first test identifier from a test message list is loaded into a processing element of a wireless device. The test message list contains all of the identifiers that the device could potentially be receiving a message from during the time window is awakened to examine. The test list should be in a monotonic order suitable for searching the received identifiers. From step 72, the method 70 proceeds to step 74 where it is determined whether the count of identifiers listed is equal to zero. If yes, the method 70 ends at step 76. If no, the method 70 proceeds to step 78 wherein the destination identifier pointed to by the search pointer is loaded into a processing element of the device. Moving to step 80, it is determined whether the destination identifier is greater than the test identifier. If yes, the method proceeds to step 82 where it is determined whether there is another test identifier in the test list. If there is another test identifier in the list, the next test identifier is loaded in step 84 and the method returns to step 74. If there is not another test identifier, the method 70 ends at step 86.


Returning to step 80, if the destination identifier is not greater than the test identifier, the method 70 proceeds to step 88. In step 88, it is determined whether the destination identifier is equal to the test identifier. If yes, a message flag is set and a pointer to the message corresponding to the destination identifier is added to the message list (step 90). From step 90, the method 70 proceeds to step 92. If, in contrast, the destination identifier is not equal to the test identifier, the method 70 proceeds directly to step 92. In step 92, the search pointer is advanced to the next destination identifier and in step 94 the count of identifiers listed is decremented. The amount the count is decremented may be determined as desired.


Referring now to FIG. 6, there is shown an alternate embodiment of a message listing 100 in accordance with the present invention. In this embodiment there is not a count of the identifiers listed, but rather a list terminator 102 wherein the message listing is terminated by a unique number in the usual identifier position. An efficient value for this terminator in the increasing identifier implementation would be zero. In this way only the pointer needs to be changed during the search, and the comparison for an identifier larger than the one in the listing would terminate the search.


A method whereby devices may determine whether a message listing as shown in FIG. 6 includes any messages for them is shown if FIG. 7. The method 120 begins in step 122 with initializing a search pointer to the first destination identifier. In step 124, the destination identifier pointed to by the search pointer is loaded into a processing element of the device. In step 126, it is determined whether the destination identifier is equal to the termination value (i.e. the value of the list terminator). If the destination identifier is equal to the termination value, the method proceeds to step 128 where the message flag is cleared and the method 120 ends. If the destination identifier is not equal to the termination value, the method 120 proceeds to step 130 where it is determined whether the destination identifier is greater than the device identifier of the particular device that is determining whether a message listing contains a message for it. If the destination identifier is greater than the device identifier, the method 120 proceeds to step 128 where the message flag is cleared and the method 120 ends. If the destination identifier is less than or equal to the device identifier, the method 120 proceeds to step 132.


In step 132, it is determined whether the destination identifier is equal to the device identifier. If so, the message flag is set and the pointer to the message that corresponds to the destination identifier is loaded into a processing element of the device (step 134). If not, the search pointer is advanced to the next destination identifier in step 136 and the method 120 continues at step 124.


Which of the preceding forms is used, or some variation of those presented, is based on efficiency tradeoffs associated with the numerical values allowed for the identifiers and message pointers, and the processing devices searching for messages. The pointer to the message can be a simple programming language pointer to the information defining the existence of the actual message transmission, or it may be the information itself. The actual information may be of the form: carrier channel, time slot, and channelization code. If the message information is very short (e.g. telephone number), it will often be more efficient to insert in the message in the usual position for the message pointer. In this case one or more bits of the message pointer part of the stream will need to be reserved as definition bits for the other bits present. Two bits, for instance, could be encoded such that one encoding indicates the rest of the bits is the message, another encoding that the pointer to the message follows, and a third encoding that the pointer to the data defining where to find the message follows. The fourth encoding possibility is a spare for some future use.


With respect to implementation of the present invention in 3G Radio Access Networks, there are two basic methods for identifying “destinations” and “message pointers.” broadcast (BCCH over BCH/P-CCPCH) or dedicated (DCCH over DCH/DPCCH+DPDCH) signaling. If dedicated signaling is applied, the signaling is specific for the “destination,” and there is no application or benefit in ordering the control information since all of it is for the destination device. If broadcast signaling is applied, the existing mechanism that retrieves this data is independent of the processing of the data.


When the number of messages is small, the above-described embodiments are usually the fastest means for locating or determining there is not a message for the device. However, if the list is long, there are faster methods which may be implemented to search a monotonically increasing or decreasing message list. For example, binary search protocols on average require log2(Count) tests. The calculations are more involved, and different processors will be able to perform them with varying speeds. Typically if there are more than approximately 32 received identifiers, binary searching will be faster for a single identifier being tested. If there are multiple identifiers being tested, sequential testing is more efficient for a larger count. The choice of protocol may also be chosen based on the values of the identifier or identifiers being tested. If a single number is being searched for is low and the receive sequence (i.e. message listing) monotonically increasing, the best approach is to begin the search at the beginning of the received data. If the signal number is high and the receive sequence monotonically increasing, the best approach is to begin the search at the end of the received data. (Data is often transmitted in wireless systems in blocks with interleaving for error correction reasons. All the data of a block therefore needs to be received and decoded before any of it can be examined.) Therefore, a preferred embodiment of the present invention is to take into account the number of received identifiers, whether or not there is one or more identifiers to be looked for, and the numeric distribution of the looked for identifiers in the selection of the search protocol utilized for each search occurrence.


Referring now to FIG. 8, there is shown a system 200 for optimizing power resources in wireless devices. The system 200 comprises at least one radio network controller (RNC), at least one base station (BS), and at least one wireless device (206). The wireless device 206 includes a processor 208 for searching message listings for messages wherein the device 206 is the intended recipient. To maximize the amount of time that the device 206 may be asleep (i.e. having only the clock running which will tell the device to periodically wake-up), the message listings are adapted as described above. The device 206 will determine whether a particular message listing includes a message(s) for it using the methods described above according to the type of message listing.


Although particular processing functions have been described as being performed by particular components, it should be understood that performance of processing functions may be distributed among system components as desired.


Although the present invention has been described in detail, it is to be understood that the invention is not limited thereto, and that various changes can be made therein without departing from the spirit and scope of the invention, which is defined by the attached claims.

Claims
  • 1. A method for use in a wireless device, the method comprising: synchronizing with a wireless network such that the wireless device wakes up from a sleep mode during a time interval to receive a message listing;receiving the message listing, the message listing comprising a plurality of destination identifiers and a plurality of message pointers, wherein each one of the plurality of message pointers is associated with a destination identifier from the plurality of destination identifiers, wherein each of the plurality of message pointers indicates when a message will be available for reception, and wherein each of the plurality of message pointers points to a different message; andin response to a determination that one of the plurality of destination identifiers corresponds to the wireless device, receiving a message pointed to by a message pointer associated with the destination identifier that corresponds to the wireless device.
  • 2. The method of claim 1 wherein the message listing further comprises a count of destination identifiers in the message listing.
  • 3. The method of claim 1 wherein the message listing further comprises a list terminator.
  • 4. The method of claim 1 further comprising: returning to sleep mode in response to a determination that none of the plurality of destination identifiers correspond to the wireless device.
  • 5. The method of claim 1 further comprising: returning to sleep mode until a next time interval.
  • 6. A wireless device wireless device comprising: a processor configured to analyze a message listing, wherein the message listing comprises a plurality of destination identifiers and a plurality of message pointers, wherein each one of the plurality of message pointers is associated with a destination identifier from the plurality of destination identifiers, wherein each of the plurality of message pointers indicates when a message will be available for reception, and wherein each of the plurality of message pointers points to a different message; anda receiver configured, in response to a determination that one of the plurality of destination identifiers corresponds to the wireless device, to receive a message pointed to by a message pointer associated with the destination identifier that corresponds to the wireless device.
  • 7. The wireless device of claim 6, wherein the processor is further configured to return the wireless device to sleep mode until a next time interval.
  • 8. A method for use in a wireless device, the method comprising: receiving a message listing via a wireless interface, the message listing comprising a plurality of destination identifiers and a plurality of message pointers, wherein each message pointer is associated with a destination identifier from the plurality of destination identifiers, wherein each message pointer indicates when a message will be available for reception, and wherein each of the plurality of message pointers points to a different message; andin response to a determination that one of the destination identifiers corresponds to the wireless device, receiving a message pointed to by the message pointer associated with the destination identifier that corresponds to the wireless device.
  • 9. The method of claim 8 wherein each message pointer indicates a timeslot during which a message will be available for reception.
  • 10. The method of claim 8 wherein the message listing further comprises a count of destination identifiers in the message listing.
  • 11. The method of claim 8 wherein the message listing further comprises a list terminator.
CROSS REFERENCE TO RELATED APPLICATION

This application is a continuation of U.S. patent application Ser. No. 10/334,433 filed on Dec. 30, 2002, which in turn claims priority from U.S. provisional application No. 60/377,038, filed on May 1, 2002, which are incorporated by reference as if fully set forth.

US Referenced Citations (52)
Number Name Date Kind
4449248 Leslie et al. May 1984 A
5303379 Khoyi et al. Apr 1994 A
5509015 Tiedemann et al. Apr 1996 A
5511110 Drucker Apr 1996 A
5566357 Holcman Oct 1996 A
5579372 Astrom Nov 1996 A
5584048 Wieczorek Dec 1996 A
5590396 Henry Dec 1996 A
5596318 Mitchell Jan 1997 A
5625882 Vook et al. Apr 1997 A
5629940 Gaskill May 1997 A
5822689 Hwang Oct 1998 A
5857146 Kido Jan 1999 A
5881055 Kondo Mar 1999 A
5905443 Olds et al. May 1999 A
6044069 Wan Mar 2000 A
6097704 Jackson et al. Aug 2000 A
6144656 Kinnunen et al. Nov 2000 A
6154642 Dumont et al. Nov 2000 A
6195573 Cassidy et al. Feb 2001 B1
6198913 Sung et al. Mar 2001 B1
6215778 Lomp et al. Apr 2001 B1
6278887 Son et al. Aug 2001 B1
6330234 Tomasi et al. Dec 2001 B1
6333939 Butler et al. Dec 2001 B1
6335922 Tiedemann, Jr. et al. Jan 2002 B1
6366572 Esterberg et al. Apr 2002 B1
6438375 Muller Aug 2002 B1
6463307 Larsson et al. Oct 2002 B1
6477151 Oksala Nov 2002 B1
6477382 Mansfield et al. Nov 2002 B1
6480476 Willars Nov 2002 B1
6480504 Wang et al. Nov 2002 B1
6532220 Carneal et al. Mar 2003 B1
6594499 Andersson et al. Jul 2003 B1
6606502 Chung et al. Aug 2003 B1
6622251 Lindskog et al. Sep 2003 B1
6636745 Oprescu-Surcobe et al. Oct 2003 B2
6650912 Chen et al. Nov 2003 B2
6665520 Romans Dec 2003 B2
6665722 Elliott Dec 2003 B1
6725068 Higuchi Apr 2004 B2
6823191 Laroia et al. Nov 2004 B2
6879579 Myles et al. Apr 2005 B1
6961571 Rune et al. Nov 2005 B1
20020037749 Wager Mar 2002 A1
20020090959 Laroia et al. Jul 2002 A1
20020090960 Laroia et al. Jul 2002 A1
20020187789 Diachina et al. Dec 2002 A1
20030002518 Shibutani Jan 2003 A1
20030214937 Lindoff et al. Nov 2003 A1
20030223394 Parantainen et al. Dec 2003 A1
Foreign Referenced Citations (28)
Number Date Country
0 928 119 Jul 1999 EP
0928119 Jul 1999 EP
0928119 Jul 1999 EP
1 065 626 Jan 2001 EP
63-199526 Aug 1988 JP
03-268626 Nov 1991 JP
05-075528 Mar 1993 JP
05-114883 May 1993 JP
05-199150 Aug 1993 JP
05-308317 Nov 1993 JP
08-033008 Feb 1996 JP
08-056381 Feb 1996 JP
2000-261364 Sep 2000 JP
9103037 Mar 1991 WO
9529568 Nov 1995 WO
9611556 Apr 1996 WO
9619085 Jun 1996 WO
9715154 Apr 1997 WO
9921111 Apr 1999 WO
9922352 May 1999 WO
0045281 Aug 2000 WO
0122606 Mar 2001 WO
0133870 May 2001 WO
0197538 Dec 2001 WO
0197538 Dec 2001 WO
02033989 Apr 2002 WO
0233989 Apr 2002 WO
0233989 May 2002 WO
Related Publications (1)
Number Date Country
20050157667 A1 Jul 2005 US
Provisional Applications (1)
Number Date Country
60377038 May 2002 US
Continuations (1)
Number Date Country
Parent 10334433 Dec 2002 US
Child 11081294 US