1
METHOD AND SYSTEM FOR OPTIMIZING POWER RESOURCES IN WIRELESS DEVICES
CROSS REFERENCE TO RELATED 5 APPLICATION
This application claims priority from U.S. Provisional Application No. 60/377,038, filed on May 1, 2002, which is incorporated by reference as if fully set forth.
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 15 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. 35
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 40 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) 45
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 55 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 go 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 65 devices to determine whether a message listing as shown in either FIG. 1 or FIG. 2 includes any messages for the
2
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 identifiers^^, referred to generally with reference numeral 14, are listed in increasing numeric order. Each destination identifiers^ has an associated mes- 5 sage pointer. The message pointers-^^, 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 10 pointers^jy 16 follow their associated destination identifiers^^ 14. It should be noted that, in FIGS. 1 and 2, the destination identifiers-^^ 14 are organized in increasing monotonic numeric order with their associated message pointerSj^ 16, but may also be organized in decreasing 15 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 2o 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 25 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 30 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 35 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 40 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 45 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 50 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 55 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 50 proceeds to step 54 where it is 60 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 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 65 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 50 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 it 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 70 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 70 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
« PrécédentContinuer » |