A wireless device determines characteristics of a connection established (or being established) with a remote device and implements a power management algorithm based on those characteristics. The wireless device includes a battery power source, a radio transceiver powered by the battery, a memory and a controller. The controller is configured to create, via the transceiver, wireless connections with remote devices in any of a plurality of connection configurations. The controller detects the presence, in a wireless transmission from a remote device, of one or more parameters identifying one of the plurality of configurations. Based on the configuration identified, the controller implements one of a plurality of power management algorithms.
|
9. A method for automatically selecting a power management algorithm in a battery-powered wireless device capable of creating wireless connections with a remote device in any of a plurality of connection configurations, comprising:
establishing a wireless connection with a remote device;
determining wireless communication features supported by the remote device;
implementing a first power management algorithm if the remote device supports a first communication feature;
implementing a second power management algorithm if the remote device does not support the first feature,
wherein the first power management algorithm comprises deactivating a transceiver after a first period of wireless device inactivity, and the second power management algorithm comprises deactivating the transceiver after a second period of wireless device inactivity, the second period being longer than the first period.
19. A computer input device comprising:
a battery power source;
a radio transceiver powered by the battery and having components for transmission and receipt of data; and
a controller coupled to the transceiver, wherein the computer input device is configured to
establish a wireless connection with a remote device,
determine wireless communication features supported by the remote device,
implement a first power management algorithm if the remote device supports a first communication feature, and
implement a second power management algorithm if the remote device does not support the first feature,
wherein the first power management algorithm comprises deactivating a transceiver after a first period of wireless device inactivity, and the second power management algorithm comprises deactivating the transceiver after a second period of wireless device inactivity, the second period being longer than the first period.
14. A machine-readable medium having stored thereon data representing sequences of instructions which, when executed by a processor, cause the processor to perform steps comprising:
establishing, from a battery-powered wireless device capable of creating wireless connections with a remote device in any of a plurality of connection configurations, a wireless connection with a remote device;
determining wireless communication features supported by the remote device;
implementing a first power management algorithm if the remote device supports a first communication feature; and
implementing a second power management algorithm if the remote device does not support the first feature,
wherein the first power management algorithm comprises deactivating a transceiver after a first period of wireless device inactivity, and the second power management algorithm comprises deactivating the transceiver after a second period of wireless device inactivity, the second period being longer than the first period.
1. A device comprising:
a battery power source;
a radio transceiver powered by the battery and having components for transmission and receipt of data;
a memory having instructions stored thereon, the instructions including a plurality of power management algorithms; and
a controller coupled to the transceiver and to the memory and configured to execute the instructions so as to
create, via the transceiver, wireless connections with remote devices in any of a plurality of connection configurations,
detect the presence, in a wireless transmission from a remote device, of one or more parameters identifying one of the plurality of configurations,
implement, based on the configuration identified, one of the plurality of power management algorithms,
implement, upon determining the presence of the at least one parameter, a power management algorithm of the plurality in which the transceiver is deactivated after a first period of device inactivity, and
implement, upon determining the absence of the at least one parameter, a power management algorithm of the plurality in which the transceiver is deactivated after a second period of device inactivity, the second period being longer than the first period.
2. The device of
3. The device of
4. The device of
5. The device of
10. The method of
11. The method of
12. The method of
implementing a third power management algorithm if the remote device does not support the first feature but supports a second feature.
13. The method of
15. The machine-readable medium of
16. The machine-readable medium of
17. The machine-readable medium of
implementing a third power management algorithm if the remote device does not support the first feature but supports a second feature.
18. The machine-readable medium of
20. The computer input device of
21. The device of
the plurality of power management algorithms includes first and second algorithms,
each of the first and second algorithms defines multiple device states, each of the device states defining a rate at which the device communicates with a remote device and a rate at which user input components of the device are operated,
the first algorithm defines a transition between two of the device states of that algorithm based on an absence of user input within a first predetermined time period, and
the second algorithm defines a transition between two of the device states of that algorithm based on an absence of user input within a second predetermined time period, wherein and the second time period is different from the first time period.
22. The device of
the first algorithm defines active, idle and extended idle states,
the first algorithm defines transition from the active state to the idle state upon an absence of user input for the first time period and a transition from the idle state to the extended idle state upon an absence of user input for a third time period, wherein the third time period is longer than the first time period,
the active state defines a first rate of communication with a remote device and a first rate of user input component operation,
the idle state defines a second rate of communication with a remote device and a second rate of user input component operation, the second rate of communication being slower that the first rate of communication and the second rate of user input component operation being slower than the first rate of user input component operation,
the extended idle state defines a zero rate of communication with a remote device and a third rate of user input component operation, the third rate of user input component operation being slower than the first rate of user input component operation,
the second algorithm also defines the active, idle and extended idle states, and
the second algorithm defines transition from the active state to the idle state upon an absence of user input for the second time period and a transition from the idle state to the extended idle state upon an absence of user input for a fourth time period, wherein the fourth time period is longer than the second time period.
23. The device of
the device is a computer mouse, and
the user input device component operation rates are rates at which a light source and an imaging array are activated.
|
This invention relates to power management in electronic devices that communicate via a wireless link.
Wireless communication between electronic devices over relatively short distances is a common and increasingly important feature of modern life. In some cases, for example, an electronic device or other appliance is controlled by another electronic device which must communicate instructions to the controlled device (and perhaps receive information from the controlled device). Examples include computer input devices (e.g., mice, trackballs, joysticks, game controllers) and remote control units (for, e.g., televisions or other appliances). In other cases, it is necessary for one electronic device to transmit more complex data to and/or receive such data from another device. Examples include computer keyboards, digital cameras and other devices able to transmit data to a computer or other device. Among other advantages, wirelessly transmitting data and/or control signals can dramatically increase user convenience and reduce clutter from multiple connecting cables.
Although there are several standards for wireless communication, BLUETOOTH is becoming the de facto standard for many applications. Developed by Bluetooth SIG, Inc., the BLUETOOTH wireless specification establishes protocols and standards for two-way wireless communication between electronic devices using relatively low power radio communication. BLUETOOTH is described by, e.g., “Specification of the Bluetooth System” (versions 1.1 and 1.2), “Human Interface Device (HID) Profile version 1.0” and various other documents available from Bluetooth SIG, Inc. at <http://www.bluetooth.com>. Among other things, BLUETOOTH provides for two-way radio links between multiple devices in a short-range radio network called a “piconet.”
As one example of a BLUETOOTH piconet, a personal computer may be configured to receive input from one or more wireless input devices such as a wireless mouse and/or a wireless keyboard. In some cases, a user connects a device to the piconet by simply bringing the device within range of the computer's Bluetooth controller. In other cases, more steps may be required so that the device becomes bonded with the computer BLUETOOTH host so as to authenticate the device and establish secure communication between the devices. In either case, a series of inquiry, paging and other messages are exchanged between the input device and the computer to set up a connection over which user data (e.g., mouse movement or button press, keyboard key down, etc.) is transmitted to the computer. In some cases, data from applications or other software executing on the computer is also transmitted over that connection to the input device. Details of the messages exchanged between devices to establish a connection are set forth in the above-referenced BLUETOOTH documents and are known in the art.
To maintain a connection, even when the input device has no user data to transmit, requires a periodic exchange between the input device and the computer. In effect, the input device periodically transmits a message saying “I am still here.” The computer responds “OK, you are still on my list,” and maintains the connection. Although the interval between user data and/or “I'm here” messages from the input device can be varied, it is generally on the order of tens of milliseconds. If the computer does not receive a message from the input device before expiration of a timeout period, the computer assumes the input device is turned off or absent, and breaks (or “de-lists”) the connection with the device. In order for the input device to again communicate with the computer, another series of messages must be exchanged to re-establish the connection.
This can create a conflict with regard to design requirements for a wireless input device such as a computer mouse or keyboard. Because wireless devices are battery powered, it is desirable to reduce the device's power consumption as much as possible so as to prolong battery life. A significant amount of the device power is consumed by the radio transceiver that communicates with the controller. If other considerations are ignored, the period between transmissions should be reduced as much as possible during times when the device is idle, i.e., not actually communicating user data to the computer. If the interval between transmissions is too large, however, the connection to the computer is lost. Although the connection can be re-established, doing so is relatively time-consuming and increases the amount of time needed for user input (e.g., moving a mouse) to cause the appropriate response by the computer (e.g., moving a cursor).
This input-to-response delay, or latency, can be noticeable to a human if it is approximately 100 milliseconds or more. The acceptable amount of perceived latency varies under different conditions and with different users and usage styles. For computers and input devices operating under the earlier version (1.1) of the BLUETOOTH specification, the time to re-establish the connection can be approximately 1 second or more. Under version 1.2 of the BLUETOOTH specification, the reconnect time is reduced, and in some cases may be as little as approximately 250 milliseconds. This is a significant improvement, and may result in acceptable latency in some circumstances. Under other conditions, this may still result in excessive latency. However, the BLUETOOTH specification allows manufacturers to incorporate additional features into a BLUETOOTH-compliant device (whether a computer, an input device or otherwise), so long as those additional features do not prevent that device from providing certain other features that are mandatory for BLUETOOTH compliance. Accordingly, manufacturers are able to develop BLUETOOTH-compliant chipsets providing a re-connect procedure that is faster than the “default” connection procedure of the BLUETOOTH specification.
Unfortunately, advantages of faster BLUETOOTH version 1.2 and proprietary re-connection procedures may not be achievable in many cases. For example, a computer mouse could be equipped with the hardware and firmware necessary to implement a proprietary fast re-connect procedure, but the mouse might be used with a computer that does not support the fast re-connect procedure. If used with a computer supporting the fast re-connect procedure, the mouse could implement a power-management algorithm that suspends radio communication with the computer for time periods that may cause the mouse-computer radio connection to be broken. Upon need for transmission of data to the computer (e.g., the user moves the mouse after a period of no mouse use), the connection can be re-established sufficiently fast to avoid (or minimize) any perceived latency. If, however, the mouse is used with a computer not supporting a fast re-connect procedure, that power management algorithm would likely result in unacceptable latency.
Various systems and methods are known for automatic detection of a protocol by which a device communicates with a computer. U.S. Pat. Nos. 6,442,734 and 5,754,890, assigned to the assignee of the present invention, are two examples. However, neither these patents nor other known prior art describes optimizing (or otherwise modifying) a power management algorithm based on parameters of a communication link between devices, and in particular, based on parameters of a wireless communication connection.
Embodiments of the invention allow a wireless device to determine characteristics of a connection established (or being established) with a remote device, and to then implement a power management algorithm based on those characteristics. In one embodiment, a wireless device includes a battery power source, a radio transceiver powered by the battery, a memory and a controller. The controller is configured to create, via the transceiver, wireless connections with remote devices in any of a plurality of connection configurations. The controller detects the presence, in a wireless transmission from a remote device, of one or more parameters identifying one of the plurality of configurations. Based on the configuration identified, the controller implements one of a plurality of power management algorithms.
These and other features and advantages of the present invention will be readily apparent and fully understood from the following detailed description of preferred embodiments, taken in connection with the appended drawings.
The present invention provides systems and methods by which a wireless device may detect information about a communication link with another device, and then adopt or modify a power management scheme. The invention is described by example of a desktop computer and wireless computer input device communicating under the BLUETOOTH standard. However, the invention is not limited to these specific types of devices or to the BLUETOOTH standard. The invention may also be implemented with numerous other general purpose or special purpose computing system environments or configurations, with other types of devices, and in devices communicating via other wireless communication standards and/or protocols.
Although
The present invention permits mouse 100 to automatically implement a power management algorithm based on parameters of a wireless BLUETOOTH connection with computer 2. For purposes of explanation, two simplified power management algorithms are presented. It is understood, however, that devices according to other embodiments of the invention may have additional and/or more complex power management algorithms.
First power management algorithm 200 is shown in the state diagram of
After 1 second of no user activity, mouse 100 transitions to Idle state 204. As used herein, “no activity” includes circumstances when a user is not using the mouse to provide user data to computer 2. In other words, a user is not moving the mouse, pressing a mouse button or rotating a scroll wheel. In some embodiments, mouse 100 is equipped with a proximity sensor (not shown) able to detect the presence of a user hand on or near mouse 100. In such an embodiment, mouse 100 could be configured to treat non-proximity of a user hand as a “no activity” condition. In Idle state 204, Controller 114 causes LED 110 (
As can be appreciated from the preceding description, algorithm 220 allows mouse 100 to more quickly deactivate RF circuitry 120, thereby saving power. However, this comes at a cost of more frequently reestablishing the connection with computer 2. If the time to reestablish this connection is too long, the user will perceive a delay between the time he or she attempts to resume input with mouse 100 and the time that the input is acknowledged by computer 2. In some cases this may only be an annoyance, while in other cases it may actually result in data loss (e.g., a mouse click might not be detected by computer 2, and the user might not realize this non-detection).
Accordingly, and as further illustrated with
In at least one embodiment, the default reconnection times for BLUETOOTH version 1.2 is within acceptable limits of latency of mouse 100. For example, mouse 100 may be designed for (or configured for) use by an individual more willing to accept some degree of latency in return for longer battery life. In this embodiment, controller 114 is programmed to implement power management algorithm 220 upon detection of a parameter indicative of a BLUETOOTH v1.2 connection with a computer, and to otherwise implement power management algorithm 200. In another embodiment, mouse 100 is designed (or configured) for a user who is unwilling to accept a degree of latency associated with the default reconnection time of BLUETOOTH v1.2. In this embodiment, however, mouse 100 is further equipped with hardware and/or firmware that permit mouse 100 to reconnect more quickly than the default BLUETOOTH v1.2 connection time, so long as the connection is established with another device that is also equipped with the required hardware and/or firmware. If a mouse 100 in this embodiment receives a PDU 300 from dongle 8 indicating that dongle 8 has the required hardware and/or firmware, controller 114 implements power management algorithm 220. Otherwise, mouse 100 implements power management algorithm 200.
As previously indicated, the invention is not limited to computer mice.
If it is determined in state 302 after initially establishing a connection with a remote device that the parameters of the just-established connection do not correspond to a connection type supporting sufficiently fast re-establishment of a connection, a second (less power-conserving) algorithm is implemented. In particular, the controller places the input device in Active state 310, which is similar to active state 202 (
Although specific examples of carrying out the invention have been described, those skilled in the art will appreciate that there are numerous variations and permutations of the above described systems and techniques that fall within the spirit and scope of the invention as set forth in the appended claims. These and other modifications are within the scope of the invention as defined by the attached claims.
Patent | Priority | Assignee | Title |
10367988, | Feb 04 2015 | Casio Computer Co., Ltd. | Data processing system executing predetermined data processing by plurality of apparatuses linking |
10862313, | Nov 07 2011 | Kortek Industries Pty Ltd | Adaptable wireless power, light and automation system |
11050891, | Feb 04 2015 | Casio Computer Co., Ltd. | Data processing system executing predetermined data processing by plurality of apparatuses linking |
11574535, | Nov 07 2011 | Kortek Industries Pty Ltd | Adaptable wireless power, light and automation system for household appliances |
11755510, | Nov 08 2011 | Seagate Technology LLC | Data detection and device optimization |
11893881, | Nov 07 2011 | Kortek Industries Pty Ltd | Adaptable wireless power to a security system |
8240572, | Mar 25 2010 | Hand Held Products, Inc. | Terminal with radio transceiver having power output |
9203551, | May 10 2012 | Texas Instruments Incorporated | Wireless network with power aware transmission control |
9401623, | Nov 30 2009 | KONINKLIJKE PHILIPS N V | Wireless power system |
9762408, | May 29 2012 | Kortek Industries Pty Ltd | Modular wireless power, light and automation control |
9893837, | May 10 2012 | Texas Instruments Incorporated | Wireless network with power aware transmission control |
Patent | Priority | Assignee | Title |
5754890, | Feb 01 1996 | Microsoft Technology Licensing, LLC | System for automatic identification of a computer data entry device interface type using a transistor to sense the voltage generated by the interface and output a matching voltage level |
6366622, | Dec 18 1998 | Qualcomm Incorporated | Apparatus and method for wireless communications |
6442734, | Jul 08 1998 | Microsoft Technology Licensing, LLC | Method and apparatus for detecting the type of interface to which a peripheral device is connected |
6567473, | Mar 12 1999 | Intellectual Ventures II LLC | Method for seamlessly changing power modes in a ADSL system |
6667991, | Mar 12 1999 | Intellectual Ventures II LLC | Method for synchronizing seamless rate adaptation |
6807164, | Sep 14 1999 | Telefonaktiebolaget LM Ericsson (publ) | Power control in a CDMA mobile communication system |
20010040880, | |||
20030056131, | |||
20030063343, | |||
20030197488, | |||
20030197677, | |||
20040202133, | |||
20050059345, | |||
20050136960, | |||
20060217141, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Nov 25 2003 | Microsoft Corporation | (assignment on the face of the patent) | / | |||
Nov 25 2003 | ALBULET, MIHAI | Microsoft Corporation | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 014746 | /0777 | |
Oct 14 2014 | Microsoft Corporation | Microsoft Technology Licensing, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034541 | /0477 |
Date | Maintenance Fee Events |
Sep 20 2011 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Nov 11 2015 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Jan 13 2020 | REM: Maintenance Fee Reminder Mailed. |
Jun 29 2020 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
May 27 2011 | 4 years fee payment window open |
Nov 27 2011 | 6 months grace period start (w surcharge) |
May 27 2012 | patent expiry (for year 4) |
May 27 2014 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 27 2015 | 8 years fee payment window open |
Nov 27 2015 | 6 months grace period start (w surcharge) |
May 27 2016 | patent expiry (for year 8) |
May 27 2018 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 27 2019 | 12 years fee payment window open |
Nov 27 2019 | 6 months grace period start (w surcharge) |
May 27 2020 | patent expiry (for year 12) |
May 27 2022 | 2 years to revive unintentionally abandoned end. (for year 12) |