Abstract:
A method for reducing power consumption between two devices communicating through a BLUETOOTH protocol is operable to be executed in the devices. A first device can adjust connection state according to current communication state with a second device, to achieve a compromise between power saving and effective transmission abilities.

Description:
FIELD 
       [0001]    The subject matter herein generally relates to power saving technologies. 
       BACKGROUND 
       [0002]    BLUETOOTH Low Energy (BLE) is a short-distance wireless communication technology, which was developed from the traditional BLUETOOTH technology. 
         [0003]    BLE connection parameters, comprising connection intervals, slave latency, supervision timeout, and the like, are used for energy saving in devices. The connection interval defines a time window during which both BLUETOOTH devices use the same frequency to transfer data. There are 37 data channels in total, and connected devices cycle through them every Connection Interval. Thus, both devices have to agree on precise values for these parameters from the beginning in order to be synchronized, i.e., connected. Since the devices may be in a sleeping (non-moving) state during the connection interval, the connection interval can be utilized to adjust power consumption. However, applying the connection intervals in energy saving is problematic. 
         [0004]    Shortening the connection interval increases throughput in both directions, but increases power consumption and reduces data transmission times for the devices. In contrast, enlarging the connection interval reduces the throughput in both directions, reduces the power consumption, and increases data transmission times for both devices. It is&#39; necessary to find a trade-off between the power consumption and the throughput. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0005]    Implementations of the present technology will now be described, by way of example only, with reference to the attached figures, wherein: 
           [0006]      FIG. 1  illustrates a block diagram of an embodiment of functional modules of a first device able to reduce power consumption; and 
           [0007]      FIG. 2  illustrates a flowchart of an embodiment of a method for devices in communication to reduce power consumption. 
       
    
    
     DETAILED DESCRIPTION 
       [0008]    It will be appreciated that for simplicity and clarity of illustration, where appropriate, reference numerals have been repeated among the different figures to indicate corresponding or analogous elements. In addition, numerous specific details are set forth in order to provide a thorough understanding of the embodiments described herein. However, it will be understood by those of ordinary skill in the art that the embodiments described herein can be practiced without these specific details. In other instances, methods, procedures, and components have not been described in detail so as not to obscure the related relevant feature being described. Also, the description is not to be considered as limiting the scope of the embodiments described herein. The drawings are not necessarily to scale and the proportions of certain parts may be exaggerated to better illustrate details and features of the present disclosure. 
         [0009]    References to “an” or “one” embodiment in this disclosure are not necessarily to the same embodiment, and such references mean “at least one.” 
         [0010]    In general, the word “module” as used hereinafter refers to logic embodied in computing or firmware, or to a collection of software instructions, written in a programming language, such as, Java, C, or assembly. One or more software instructions in the modules may be embedded in firmware, such as in an erasable programmable read only memory (EPROM). The modules described herein may be implemented as either software and/or computing modules and may be stored in any type of non-transitory computer-readable medium or other storage device. Some non-limiting examples of non-transitory computer-readable media include CDs, DVDs, BLU-RAY, flash memory, and hard disk drives. The term “comprising”, when utilized, means “including, but not necessarily limited to”; it specifically indicates open-ended inclusion or membership in a so-described combination, group, series, and the like. 
         [0011]      FIG. 1  illustrates functional modules of an exemplary device  2  (hereinafter, first device  1 ) for reducing power consumption. In one embodiment, the first device  1  includes at least one processor  10 , a non-transitory storage system  20 , a wireless communication unit  30  (e.g. a BLUETOOTH module), and a power saving system  40 . In one embodiment, the first device  1  may be a BLUETOOTH device or a device comprising a BLUETOOTH module, and such device may be designated as master device communicating with one or more slave devices (e.g. a second device  2 ) using, for example, BLUETOOTH low energy protocol. 
         [0012]    The power saving system  40  includes an initial connecting module  100 , a setting module  200 , a determining module  300 , a selecting module  400 , a notifying module  500 , a receiving module  600 , and an executing module  700 . The modules  100 - 700  can include computerized code in the form of one or more programs that are stored in the non-transitory storage system  20 . The computerized code includes instructions that are executed by the at least one processor  10  to provide functions for the modules  100 - 700 . In at least one embodiment, the non-transitory storage system  20  may include a hard disk drive, a flash memory, a cache, or another computerized memory device. The first device  1  has a power mode characteristic comprising a plurality of power modes, the second device  2  has a plurality of connection parameters wherein one of the connection parameters corresponds to one of the power modes of the first device  1 . 
         [0013]    The initial connecting module  100  establishes an initial connection between the first device  1  and the second device  2 . In one embodiment, the initial connection module  100  sends a connection request containing a second connection parameter to the second device  2 , and then connects the first device  1  to the second device  2  according to a feedback from the second device  2 . In another embodiment, the initial connection module  100  connects the first device  1  to the second device  2  using a third connection parameter corresponding to an initiation mode before receiving any connection parameter update request transmitted from the second device  2 . 
         [0014]    In one embodiment, for example, when the first device  1  needs to establish an initial connection with the second device  2 , the initial connecting module  100  sends a connection request to the second device  2 , wherein the connection request contains at least one desired (a second) connection parameter. In response to the connection request transmitted from the first device  1 , the second device  2  updates/configures connection settings according to the second connection parameter, and sends an acknowledgement to the first device  1  after the connection settings are updated successfully. Finally the initial connecting module  100 , via the second connection parameter, establishes the initial connection between the first device  1  and the second device  2  after receiving the acknowledgement from the second device  2 . 
         [0015]    In one embodiment, the second device  2  may send a connection parameter update request to the first device  1 . Before receiving the connection parameter update request transmitted from the second device  2 , the initial connecting module  100  can pre-establish the initial connection between the first device  1  and the second device  2  via a third connection parameter corresponding to the initiation mode. 
         [0016]    The setting module  200  may pre-set a power mode characteristic providing a plurality of power modes for the first device  1 , and pre-set a plurality of connection parameters (or sets of connection parameters) for the first device  1  and the second device  2 . Wherein, one of the connection parameters corresponds to one of the plurality of power modes. In one embodiment, the setting module  200  creates a power manager service via a generic attribute profile (GATT) layer, wherein the power manager service includes the power mode characteristic. The power mode characteristic includes an initiation mode, a low power mode, and a data transmission mode. The setting module  200  assigns at least three connection parameters for the second device  2  via a generic access profile (GAP) layer, wherein the three connection parameters respectively correspond to the initiation mode, the low power mode, and the data transmission mode. 
         [0017]    For example, the setting module  200  may pre-set a first connection parameter, a second connection parameter, and a third connection parameter in the GAP layer of the first device  1 ; and send the first, second, and third connection parameters to the second device  2 . 
         [0018]    The setting module  200  establishes a power manager service in the GATT layer of the first device  1 , and pre-sets a power mode characteristic in the power manager service, for example, an initiation mode, a lower power mode, or a data transmission mode. The first device  1  can change the state of connection with the second device  2  by switching between different power modes in the power manager service. 
         [0019]    The determining module  300  determines a communication state between the first device  1  and the second device  2 . In one embodiment, the determining module  300  may determine the communication state based on a result of monitoring communication channels. For example, the determining module  300  may determine that the communication state is in the lower power state when the determining module  300  does not monitor data packets within a preset time. In other embodiments, the communication state may be determined by other factors. The communication state may also be determined and classified according to data flow per unit of time. 
         [0020]    The selecting module  400  selects, from the plurality of power modes, a first power mode based on the communication state. In one embodiment, the selecting module  400 , by GATT server of the first device  1 , can set the power mode characteristic into the initiation mode when the communication state is determined as standing in an initial state; the power mode characteristic can be set into the low power mode when the determined communication state is standing in a low power state; the power mode characteristic can be set into the data transmission mode when the determined communication state is standing in a transmission state. 
         [0021]    The notifying module  500  notifies the second device  2  of the first power mode to enable the second device  2  to update/configure a first connection parameter corresponding to the first power mode. 
         [0022]    For example, the selecting module  400  can match the power mode characteristic to the low power mode by the GATT server when the determining module  300  determines that the communication state between the first device  1  and the second device  2  is that of the low power state. The notifying module  500  can then notify the second device  2  of the low power mode, to enable the second device  2  to set or configure a connection parameter corresponding to the low power mode, according to the notification. 
         [0023]    The receiving module  600  receives a first feedback from the second device  2 . In one embodiment, the second device  2  sets or configures the corresponding first connection parameter according to the first power mode notified by the notifying module  500 , and then sends a first feedback to the first device  1  when the corresponding first connection parameter has been set successfully. The first device  1  executes the next operation based on the first feedback transmitted from the second device  2 . 
         [0024]    The executing module  700  adjusts a connection state between the first device  1  and the second device  2  according to the first feedback. 
         [0025]    In one embodiment, for example, the second device  2  sets or configures the connection parameter corresponding to the low power mode when a notification is received that the power mode characteristic is set to the low power mode. An ACKN can be sent to the first device  1  when the corresponding connection parameter is set successfully. After receiving the ACKN, the executing module  700  adjusts the connection state between the first device  1  and the second device  2  to that of the low power mode. 
         [0026]    In one embodiment, the first feedback may include connection parameters (e.g. minimum connection interval, maximum connection interval, slave latency, and timeout), acknowledgements, and other information. 
         [0027]      FIG. 2  illustrates a flowchart of a method for functional modules of a first device to reduce power consumption. The method is provided by way of example as there are a variety of ways to carry out the method. The method is operable to be executed in a first device having a power mode characteristic providing a plurality of power modes. The method requires the first device to be adapted to communicate with a second device using, for example, a BLUETOOTH low energy protocol, the second device having a plurality of connection parameters, wherein one of the connection parameters corresponds to one of the power modes. As is known to all, the method is also operable to be executed in other communicating devices. The illustrated order of blocks is by example only and the order of the blocks can change. The method can begin at block  402 . 
         [0028]    At block  402 , the first device establishes an initial connection between the first device and the second device. In one embodiment, the first device sends a connection request containing a second connection parameter to the second device and then connects to the second device according to a second feedback transmitted from the second device. In another embodiment, the first device connects to the second device using a third connection parameter corresponding to the initiation mode before receiving a parameter update request transmitted from the second device. 
         [0029]    At block  404 , the first device pre-configures or pre-sets a power mode characteristic providing a plurality of power modes for the first device, and pre-configures a plurality of connection parameters for the first device and the second device. Wherein, one of the connection parameters corresponds to one of the power modes. 
         [0030]    In one embodiment, in a generic attribute profile (GATT) layer, the first device pre-sets a power manager service including a power mode characteristic. The power mode characteristic includes an initiation mode, a low power mode, and a data transmission mode. The first device creates a power manager service via a generic attribute profile (GATT) layer, wherein the power manager service includes the power mode characteristic. The power mode characteristic includes an initiation mode, a low power mode, and a data transmission mode. The first device assigns at least three connection parameters for the second device via a generic access profile (GAP) layer, wherein the three connection parameters respectively correspond to the initiation mode, the low power mode, and the data transmission mode. 
         [0031]    At block  406 , the first device determines a communication state between the first device and the second device. In one embodiment, the first device may make a determination as to the communication state based on a result of monitoring communication channels. For example, the first device can determine that the communication state is in the low power state when the first device does not monitor data packets within a preset time. In other embodiments, the communication state may be determined by other factors. 
         [0032]    At block  408 , the first device selects a first power mode based on the communication state, the first power mode may be one of the plurality of power modes. In one embodiment, the first device, by GATT server, matches the power mode characteristic to the initiation mode when the determined communication state stands in an initial state. When the determined communication state stands in a low power state the power mode characteristic can be matched to the low power mode; and the power mode characteristic can be matched to the data transmission mode when the determined communication state stands in a transmission state. 
         [0033]    At block  410 , the first device gives notification of the first power mode to the second device  2  to enable the second device to update/configure a first connection parameter corresponding to the first power mode. 
         [0034]    At block  412 , the first device receives a first feedback from the second device. In one embodiment, the second device sets or configures the corresponding connection parameter according to characteristic value of the first power mode, and sends a first feedback to the first device when the corresponding parameter has been set successfully. The first device executes the next operation based on the first feedback transmitted from the second device. 
         [0035]    At block  414 , the first device adjusts a connection state between the first device and the second device according to the first feedback. 
         [0036]    It should be emphasized that the above-described embodiments of the present disclosure, including any particular embodiments, are merely possible examples of implementations, set forth for a clear understanding of the principles of the disclosure. Many variations and modifications can be made to the above-described embodiment(s) of the disclosure without departing substantially from the spirit and principles of the disclosure. All such modifications and variations are intended to be included herein within the scope of this disclosure and protected by the following claims.