An electronic device has first and second circuitry. A wireless trigger signal at the first circuitry causes the second circuitry to power up to receive a second wireless signal. The second signal is according to a radio access technology for which the trigger signal is incompatible. In various embodiments the first circuitry (a low power receiver) may autonomously power up upon expiration of a timer. One or more security checks can be performed at various steps, each step conditional on passing the previous security check. The first circuitry operates at a lower power than the second circuitry which comprises a broadband radio. For example, the first circuitry might be a Bluetooth low energy receiver, and a trigger signal there causes a WLAN receiver to power up in order to download software/firmware updates or user content while the device is enroute between the manufacturer and end user.
|
0. 21. A method comprising:
in response to wirelessly receiving at least two trigger signals from at least two sources at least two circuitries of a portable electronic device, performing at least two security checks by the at least two circuitries regarding the at least two trigger signals from the at least two sources;
in response to the at least two trigger signals from the at least two sources passing the at least two security checks, powering up the at least one other circuitry is not powered up until the at least two circuitries determine that the at least two trigger signals from the at least two sources have passed the at least two security checks;
wirelessly receiving one other signal at the powered up at least one other circuitry;
performing at least one other security check regarding the one other signal received by the at least one other circuitry; and
in response to determining that the other signal has passed the at least one other security check, powering up at least a memory circuitry of the portable electronic device configured to wireless flash the portable electronic device.
0. 34. A method comprising:
in response to wirelessly receiving at least two different trigger signals from at least two respective sources at two or more circuitries of a portable electronic device which are at least partially different, performing at least two security checks by the two or more circuitries regarding the at least two different trigger signals;
in response to the at least two different trigger signals passing the at least two security checks, powering up at least one other circuitry of the portable electronic device which is at least partially different from the other two or more circuitries, where at least one other circuitry is not powered up until after the two or more circuitries determine that the at least two different trigger signals from the at least two sources have passed the at least two security checks;
after the at least one other circuitry has been powered up, wirelessly receiving at least one other signal at the least one other circuitry;
performing at least one other security check regarding the at least one other signal received by the at least one other circuitry; and
in response to determining that the at least one other signal has passed the at least one other security check, powering up at least a memory circuitry of the portable electronic device to wirelessly flash the portable electronic device.
1. A method comprising:
in response to wirelessly receiving a trigger signal at first circuitry of a portable electronic device, where the first circuitry is in a housing of the portable electronic device, performing a first security check by the first circuitry regarding the trigger signal with the first circuitry being powered by a battery of the portable electronic device;
based upon in response to the trigger signal passing the first security check, powering up at least second circuitry of the portable electronic device with use of the battery of the portable electronic device, where the second circuitry is in the same housing of the portable electronic device, and where the second circuitry is not powered up until the first circuitry determines that the trigger signal has passed the first security check;
wirelessly receiving a second signal at the powered up second circuitry;
performing a second security check regarding the second signal received by the second circuitry; and
in response to determining that the second signal has passed the second security check, powering up third circuitry of the portable electronic device and wireless flashing of the portable electronic device based at least partially upon a third signal received by the portable electronic device, where the wireless flashing comprises use of a memory of the portable electronic device;
wherein the second signal is according to a radio access technology for which the trigger signal is incompatible, where the first circuitry operates at a lower power point than the second circuitry, where power of the battery is conserved by not powering up the second circuitry until after the first circuitry has determined that the trigger signal has passed the first security check.
11. An apparatus, comprising:
at least one processor; and
at least one non-transitory memory storing computer program code,
in which the memory and computer program code are configured with the processor to cause the apparatus at least to perform:
in response to wirelessly receiving a trigger signal at first circuitry of the apparatus, where the apparatus is a portable electronic device, where the first circuitry is in a housing of the portable electronic device, performing a first security check by the first circuitry regarding the trigger signal with the first circuitry being powered by a battery of the apparatus;
based upon in response to the trigger signal passing the first security check, powering up at least second circuitry of the apparatus with use of the battery of the portable electronic device, and where the second circuitry is in the same housing of the portable electronic device, and where the second circuitry is not powered up until the first circuitry determines that the trigger signal has passed the first security check;
wirelessly receiving a second signal at the powered up second circuitry;
performing a second security check regarding the second signal received by the second circuitry; and
in response to determining that the second signal has passed the second security check, powering up third circuitry of the portable electronic device and, wireless flashing of the apparatus based at least partially upon a third signal received by the portable electronic device, where the wireless flashing comprises use of the memory of the apparatus,
wherein the second signal is according to a radio access technology for which the trigger signal is incompatible, where the first circuitry operates at a lower power than the second circuitry, where power of the battery is conserved by not powering up the second circuitry until after the first circuitry has determined that the trigger signal has passed the first security check.
20. A non-transitory computer-readable memory storing software program instructions, which when executed by at least one data processor results in performance of operations that comprise:
in response to wirelessly receiving a trigger signal at first circuitry of a portable electronic device, where the first circuitry is in a housing of the portable electronic device, performing a first security check by the first circuitry regarding the trigger signal with the first circuitry being powered by a battery of the portable electronic device;
based upon in response to the trigger signal passing the first security check, powering up at least second circuitry of the portable electronic device with use of the battery of the portable electronic device, where the second circuitry is in the same housing of the portable electronic device, and where the second circuitry is not powered up until the first circuitry determines that the trigger signal has passed the first security check;
wirelessly receiving a second signal at the powered up second circuitry;
performing a second security check regarding the second signal received by the second circuitry; and
in response to determining that the second signal has passed the second security check, powering up third circuitry of the portable electronic device and wireless flashing of the portable electronic device based at least partially upon a third signal received by the portable electronic device, where the wireless flashing comprises use of a memory of the portable electronic device;
wherein the second signal is according to a radio access technology for which the trigger signal is incompatible, where the first circuitry operates at a lower power than the second circuitry, where power of the battery is conserved by not powering up the second circuitry until after the first circuitry has determined that the trigger signal has passed the first security check.
2. The method according to
upon expiration of a timer, the portable electronic device autonomously powering up the first circuitry which comprises a low power receiver for receiving the trigger signal.
3. The method according to
4. The method according to
5. The method according to
6. The method according to
powering down at least the second circuitry of the portable electronic device; and
re-executing at least one of the security checks before again attempting to receive the said at least one of the software update and the firmware update and the content update.
7. The method according to
a radio receiver for Bluetooth, near field communications, Zigbee, ANTâ„¢, impulse-ultra impulse-extra wideband, or radio frequency identification signals;
a timer; or
a receiver of wireless audio or infrared; and
circuitry for wirelessly receiving battery recharging signals.
8. The method according to
9. The method according to
data transfer into the memory of the portable electronic device;
data removal from the memory of the portable electronic device;
installation or updating in the portable electronic device of software;
installation or updating in the portable electronic device of firmware.
10. The method according to
performing a third security check in response to wirelessly receiving an additional signal at the first circuitry of the portable electronic device,
where powering up at least the second circuitry of the portable electronic device is conditional on passing both the first and the third security checks.
12. The apparatus according to
upon expiration of a timer, autonomously powering up a low power receiver of the first circuitry for receiving the trigger signal.
13. The apparatus according to
performing a third security check in response to wirelessly receiving an additional signal at the first circuitry of the apparatus,
where powering up at least the second circuitry of the apparatus is conditional on passing both the first and the third security checks.
14. The apparatus according to
15. The apparatus according to
16. The apparatus according to
17. The apparatus according to
powering down at least the second circuitry of the apparatus;
re-executing at least one of the security checks before again attempting to receive the said at least one of the software update and the firmware update and the content update.
18. The apparatus according to
a radio receiver for Bluetooth, near field communications, Zigbee, ANTâ„¢, impulse-ultra wideband, or radio frequency identification signals;
a timer; or
a receiver of wireless audio or infrared; and
circuitry for wirelessly receiving battery recharging signals.
19. The apparatus according to
data transfer into the memory of the portable electronic device;
data removal from the memory of the portable electronic device;
installation or updating in the portable electronic device of software;
installation or updating in the portable electronic device of firmware.
0. 22. The method according to claim 21, the method further comprising an initial step of:
upon expiration of a timer, the portable electronic device autonomously powering up a first one of the at least two circuitries which comprises a low power receiver for receiving a first one of the at least two trigger signals.
0. 23. The method according to claim 21, in which a second one of the at least two circuitries is not responsive to a first one of the at least two trigger signals, and where a first one of the at least two circuitries is not responsive to a second one of the at least two trigger signals.
0. 24. The method according to claim 21, in which a first one of the at least two circuitries is characterized as operating at a lower power in a second one of the at least two circuitries which comprises a broadband radio.
0. 25. The method according to claim 21, in which the one other signal is at least one of:
a software update,
a firmware update, and
a content update.
0. 26. The method according to claim 25, in which, when the software update and/or the firmware update and/or the content update is not fully received or not properly loaded after being received, the method comprises:
powering down at least a second one of the at least two circuitries of the portable electronic device; and
re-executing at least one of the security checks before again attempting to receive the at least one software update, firmware update, and content update.
0. 27. The method according to claim 21, in which a first one of the at least two circuitries comprises at least one of:
a radio receiver for near field communications, impulse-ultra wideband or radio frequency identification signals;
a timer;
a receiver of wireless audio or infrared; or
circuitry for wirelessly receiving battery recharging signals.
0. 28. The method according to claim 21, in which the portable electronic device comprises a user equipment and the method is executed while the user equipment is disposed within packaging for retail sale of the user equipment.
0. 29. The method according to claim 21 where a first one of the at least two circuitries is powered by a wireless charging and a second one of the at least two circuitries is powered by a battery of the portable electronic device.
0. 30. The method according to claim 29 where the wireless charging occurs before the second circuitry is powered by the battery.
0. 31. The method according to claim 29 where the second one of the at least two circuitries is powered by the battery before the first one of the at least two circuitries is powered by the wireless charging.
0. 32. The method according to claim 21 where the at least two security checks by the at least two circuitries, regarding the at least two trigger signals, occur at a same time.
0. 33. The method according to claim 21 where the at least two security checks by the at least two circuitries, regarding the at least two trigger signals, occur one after the other.
0. 35. The method according to claim 34 further comprising an initial step of:
upon expiration of a timer, the portable electronic device autonomously powering up a first one of the two or more circuitries, where the first circuitry comprises a low power receiver for receiving a first one of the at least two different trigger signals.
0. 36. The method according to claim 34, in which a second one of the two or more circuitries is not responsive to a first one of the at least two different trigger signals, and where a first one of the two of more circuitries is not responsive to a second one of the at least two different trigger signals.
0. 37. The method according to claim 34, in which a first one of two or more circuitries is characterized as operating at a lower power than a second one of the two or more circuitries which comprises a broadband radio.
0. 38. The method according to claim 34, in which the at least one other signal is at least one of:
a software update;
a firmware update, and
a content update.
0. 39. The method according to claim 38, in which, when the software update and/or the firmware update and/or the content update is not fully received or not properly loaded after being received, the method comprises:
powering down at least a second one of the two or more circuitries of the portable electronic device; and
re-executing at least one of the at least two security checks before again attempting to receive the at least one software update, firmware update, and content update.
0. 40. The method according to claim 34, in which a first one of the two or more circuitries comprises at least one of:
a radio receiver for near field communications, impulse-ultra wideband, or radio frequency identification signals;
a timer;
a receiver of wireless audio or infrared; or
circuitry for wirelessly receiving battery recharging signals.
0. 41. The method according to claim 34, in which the portable electronic device comprises a user equipment, and where the method is executed while the user equipment is disposed within packaging for retail sale of the user equipment.
0. 42. The method according to claim 34 where a first one of the at least two security checks is performed on a first one of the at least two different trigger signals by a first one of the two or more circuitries, and where a second one of the at least two security checks is performed on a second one of the at least two different trigger signals by a second one of the two or more circuitries, where the second circuitry is not powered up and the second security check is not performed unless the first trigger signal passes the first security check.
|
As mentioned above, each electronic device contains a white list which is a list of BT LE devices allowed to access one another. Each white list entry can be referred to as a “white list record” used for link layer device filtering and which contains both the device address and the device address type (public or random). On reset, a device's white list can be deleted for security reasons. The white list is configured by the Host and is used by the Link Layer to filter advertisers, scanner or initiators. In other words, this allows the Host to configure the Link Layer to act on a request without awakening the Host.
In the advertising state, the advertising filtering policy determines how the advertiser's device Link Layer processes scan and/or connection requests. When the device is using connectable directed advertising the advertising filter policy is ignored, otherwise the Link Layer use one of the following four (4) advertising filter policy modes which are configured by the Host:
In the scanning state, the scanner filter policy determines how the scanner's Link Layer processes received advertising packets. A device uses one of the following two scanner filter policy modes which are configured by the Host:
Also, as defined by the scanner filter policy, any connectable directed advertising packet received which does not contain the scanner's device address is ignored. Moreover, only one scanner filter policy mode is supported at a time.
In the initiation state, the initiator filter policy determines how an initiator's link layer processes advertising packets. A device uses one of the following initiator filter policy modes which are configured by the Host:
Also, like in the initiation state, if a device receives a connectable directed advertising packet from an advertiser that is not contained in its White List or the single address specified by the Host, the connectable directed advertising packet is ignored. Moreover, only one initiator policy mode is supported at a time.
As mentioned above, some exemplary embodiments of the present invention employ connectable undirected event type or connection directed advertising event type. When the connectable undirected advertising event type is used, advertising indications (ADV_IND PDU) are sent by the Link Layer of the BT LE compliant device. This event type allows a device acting as a scanner or initiator to respond with either a scan request or connect request. A scanner can for example respond by sending a scan request (SCAN_REQ PDU) to request additional information about the advertiser. On the other hand, an initiator can respond by sending a connect request (CONNECT_REQ PDU) to request the Link Layer to enter the Connection State. The link layer requires that devices listen on the same advertising channel index for requests from scanners or initiators.
If the advertiser receives a SCAN_REQ PDU that contains its device address from a scanner allowed by the advertising filter policy, it replies with SCAN_RSP PDU on the same advertising channel index. After the SCAN_RSP PDU is sent, or if the advertising filter policy prohibits processing the SCAN_REQ PDU, the advertiser move to the next used advertising channel index to send another ADV_IND PDU, or close the advertising event.
If the advertiser receives a CONNECT_REQ PDU that contains its device address from an initiator allowed by the advertising filter policy, the Link Layer exits the Advertising State to transition into the Connection State in a Slave Role. If the advertising filter policy prohibited processing the received CONNECT_REQ PDU, the advertiser either moves to the next used advertising channel index to send another ADV_IND PDU, or close the advertising event.
The time between the beginning of two consecutive ADV_IND PDUs within an advertising event is less than or equal to 10 ms. The advertising state is closed within the advertising event.
Referring now to
As can be seen in
Next, the first BT LE compliant device applies its advertising filter policy which in this case allows a scan response SCAN_RSP 1340A to be sent on the same Adv_idx 38. The first BT LE compliant device moves to the next unused Adv_idx 39 and sends a third connectable undirected event (ADV_IND) 1350A. The advertising event is closed 1399A since all three Adv_idxs are used. Since the event is a connectable undirected event, the advertising interval can be 20 ms or greater as mentioned above.
When the connectable directed advertising event type is used, directed advertising indications (ADV_DIRECT_PDUs) are sent by the Link Layer of the BT LE compliant device. The connectable directed advertising event type allows an initiator to respond with a connect request. An initiator may send a connect request (CONNECT_REQ PDU) to request the Link layer to enter the Connection State. The ADV_DIRECT_IND PDU contains both the initiator's device address and the advertiser's device address. Only the addressed initiator may initiate a Link Layer with the advertiser by sending a CONNECT_REQ PDU to the advertiser.
After every ADV_DIRECT_IND PDU sent by the advertiser, the advertiser listens for CONNECT_REQ PDUs on the same advertising channel index. Any SCAN_REQ PDUs received is ignored.
If the advertiser receives a CONNECT_REQ PDU that contains its device address and the initiator device address is contained in the ADV_DIRECT_IND PDU, the Link Layer shall exit the Advertising State and transition to the Connection State in the Slave Role. Otherwise, the advertiser shall either move to the next used advertising index to send another ADV_DIRECT_IND PDU, or close the advertising event.
The time between the start of two consecutive ADV_DIRECT_IND PDUs sent on the same advertising channel index is less than or equal to 3.75 ms. Also the link layer exits the advertising state no later than 1.28 s after the advertising state was entered.
Referring now to
When directed by a host BT LE compliant device, the BT LE compliant device acting as an initiator enters the Scanning State. In particular, when scanning, the device listens on the advertising channel indices. There are two types of scanning, determined by the Host: passive and active. When in passive scanning, the Link Layer will only receive packets; it does not send any packets. On the other hand in Active Scanning, the Link Layer shall listen for advertising PDUs and depending on the advertising PDU type it may request an advertiser to send additional information.
During scanning, the Link Layer listens on an advertising channel index for the duration of the scanning window, scanWindow. The scan interval, scanInterval, is defined as the interval between the start of two consecutive scan windows.
The Link Layer should listen for the complete scanWindow every scanInterval as directed by the Host unless there is scheduling conflict. In each scan window, the Link Layer should scan on a different advertising channel index. The Link Layer shall use the advertising channel indices.
According to the BT LE Link Layer Specification, the scanWindow and scanInterval parameters are less than or equal to 10.24 s. Moreover, the scanWindow is less than or equal to the scanInterval. If the scanWindow and the scanInterval parameters are set to the same value by the Host, the Link Layer should scan continuously. The scanner filter policy applies when receiving an advertising PDU when scanning.
According to one or more exemplary embodiment of the present invention a BT LE compliant device coupled to a remote device (e.g. the EDM 200 in
A BT LE compliant device also generates reports. In particular, for each non-duplicate ADV_DIRECT_IND PDU received by a BT LE device which contains its link layer's device address (from an advertiser) results in an advertising report generated and sent to the Host. Also, for each non-duplicate ADV_IND, ADV_SCAN_IND, ADV_NONCONN_IND, or SCAN_RSP PDU received from advertisers, results in an advertising report generated and sent to the Host. The advertising report contains at least the advertiser's device address and advertising data or scan response data if present. Duplicate advertising reports are not required to be sent to the Host. A duplicate advertising report is an advertising report for the same device address while the Link Layer stays in the Scanning State. The advertising data may change; advertising data or scan response data is not considered significant when determining duplicate advertising reports.
Scanning can be either passive or active. When in passive scanning, the Link Layer will only receive packets; it does not send any packets. On the other hand in Active Scanning, the Link Layer listens for advertising PDUs and depending on the advertising PDU type it may request an advertiser to send additional information.
The Link Layer sends a SCAN_REQ PDU to an advertiser from which an ADV IND PDU or ADV_SCAN_IND PDU is received.
The Link Layer sends at least one SCAN_REQ PDU after entering the Scanning State to advertisers from which ADV_IND or ADV_SCAN_IND PDUs are received. The Link Layer sends further SCAN_REQ PDUs to advertisers from which ADV_IND or ADV_SCAN IND PDUs have been received. Moreover, the Link Layer is configured to interleave SCAN_RSP PDUs to multiple advertisers.
The scanner runs a backoff procedure to minimize collisions of SCAN_REQ PDUs from multiple scanners. Also, upon entering Scanning State, the upperLimit is set to one and the backoffCount shall be set to one.
Also according to the BT LE Link Layer Specification, on every received ADV_IND PDU or ADV_SCAN_IND PDU that is allowed by a scanner filter policy and every SCAN_REQ PDU sent the backoffCount decremented by one until it reaches the value of zero. The SCAN_REQ PDU shall only be sent when backoffCount becomes zero.
After sending a SCAN_REQ PDU the Link Layer listens for a SCAN_RSP PDU from that advertiser. If the SCAN_RSP PDU was not received from that advertiser, it is considered a failure otherwise it is considered a success. On every two consecutive failures, the upperLimit is doubled until it reaches the value of 256. On every two consecutive successes, the upper limit is halved until it reaches the value of one. After success or failure of receiving the SCAN_RSP PDU, the link layer sets backoffCount to a new pseudorandom integer between one and upperLimit.
Referring now to
In one exemplary embodiment of the present invention, the BT LE connection setup between BT LE 140 and BT LE 210 employs connectable direct advertising. The link layers of both devices are configured as follow: The ADV_DIRECT_IND PDU is 175 us with the advertising event≤3.75 ms with three ADV_DIRECT_IND PDUs sent on three different channel and a new event is started immediately after the previously one. With respect to scanning, the scanWindow is 20 ms and the scanInterval is 10.24 s.
The performance on this particular embodiment is as follows: the ADV_DIRECT PDU is found by the scanner in 4 ms (within the scanInterval of 10.24 s) (and the results have a linear distribution).
In another exemplary embodiment of these teachings, the BT LE connection setup between BT LE 140 and BT LE 210 employs connectable undirected advertising. Undirected advertisement parameters can be configured to set a MINIMUM value between two advertisement events which could be 20 ms+random delay ranging from 0 ms to 10 ms as defined by the BT LE specification described above. The link layers of both devices are configured as follows: the ADV_IND PDU is 108 us with the advertising event≥20 ms within 3.75 ms three ADV_IND PDUs are sent on three different channels and separated in time by event≤10 ms and a new event is started immediately after the previous one. With respect to scanning, the scanWindow is 20/30 ms and the scanInterval is 10.24 s.
The performance of this particular embodiment when the scanWindow is set at 20 ms results in a connection established with ˜83% likelihood (within 10.24 s) and ˜97% likelihood (within 20.48 s). On the other hand, the performance of this particular embodiment when the scanWindow is set at 30 ms results in a connection established with ˜100% likelihood within the scanInterval of 10.24 s (an average of 5.12 s). That is, in this particular embodiment, the likelihood for successful connection setup is increased more by increasing the scanWindow from 20 ms to 30 ms rather than by doing multiple scans (monitoring window 10.24 s or 20.48 s=>scanInterval is equal to 10.24 s, and scanWindow is 20 ms).
After the devices are setup, the EDM 200 performs a first level security check 730 by checking its white list to determine if an entry exists that matches the wireless flashing initiator 100 address. Alternative embodiments of these teachings may employ additional security features or checks such as the following non-limiting examples: (1) white list only, (2) public/private key authentication methods as known in the art, or (3) white list+a public/private key authentication method. Moreover, the EDM 200 could be configured to provide no first level security at all. The determination of which security feature or check to employ (or not to employ any) will depend on the technical capabilities (e.g. radio, storage and processing capabilities) of the devices involved (e.g. electronic devices and wireless initiator). If the wireless flashing initiator 100 passes the security check then the BT LE 210 turns on the power of the electronic device module 200 for example by emulating the pressing of the power button 740. As shown in
As can be seen in
It should be understood that other embodiments of these teachings may involve EDM 200 equipped with an EPM chip 290 that uses other electrical signals for power up. For example, instead of the electrical ground or 0 Volts such a signal may be some positive voltage, e.g. 1.8 Volts, 3.3 Volts or 5 Volts. In addition, such an electrical signal may include time dependence, e.g. the signal may be certain time at some voltage level and/or require several different voltage levels.
The EPM chipset 290 may then proceed to power up the whole device in the normal fashion. This means that the EPM chipset initializes itself and then starts to provide suitable operating voltages to other components of the EDM 200. To illustrate an example,
Yet another embodiment of the present invention contains a method that involves a special flashing power up sequence. In this case the power up signal from the switch 260 causes the EPM chipset 290 to power up only selected components of the EDM 200. For example, one component in the electronic device module 200 can be a display. The special flashing power up sequence may omit the power up of the display since it is not needed for flashing EDM 200. In a similar way, for example a cellular modem may be left unpowered. This helps to save the energy in the battery 220 during the flashing process.
In one non-limiting embodiment of these teachings the special power up sequence described above is controlled by the MCU 240. In this case, the MCU may contain a modified boot code that detects the presence of a flashing event. The modified boot code defines a specific boot sequence which omits the powering up of certain components (e.g. the display microphone, keypad, camera, cellular radio or other components) thereby limiting the device power consumption and only powering up components critical to transferring software/firmware or content. In this embodiment, the MCU 240 may elect to configure the EPM chipset 290 to omit power up of some components 280, to power down some components 280 if they have already been powered up. It is also possible that MCU 240 configures some components 280 or to a power save mode without actually cutting the operating voltages. This may, for example, involve lower clock frequencies, or some internal power gating in component 280. In one exemplary embodiment, MCU 240 can detect without additional communication that the power on sequence is linked to a wireless flashing event (e.g. there is a dedicated PowerOnX pin). As shown in
Next, the BT LE 210 informs the microcontroller 240 of an upcoming flashing event 750. In this step, the microcontroller 240, in conjunction with the regulator 225 (or alternatively a power management chip 810 as shown in
If adequate power is available in internal battery 220 (or alternatively if the EDM 200 is actively under recharge via an externally sourced wireless battery recharge signal), then the microcontroller 240 executes a wireless flashing initialization sequence 760. During this step, the microcontroller performs a high level security check and provides the software version of its firmware and of its software to the wireless flashing initiator 100 BT LE 140. The high level security feature or check as used throughout this disclosure refers to possible additional security measures (and more strict security check) than the first level security feature or check discussed above (e.g. access to the EDM). The high level security feature or check prevents unauthorized parties from causing the EDM 200 to engage in data transfers over the WLAN even if they pass the first level security feature or check. Accordingly, the high level security feature or check requires that the first level of security be passed. In first level security, the wake-up of the device during the flashing event is prevented if a party is unauthorized (e.g. not in the white list or does not have key credentials). High level security prevents the CPU from turning on more resources such as turning on a broadband radio or other components.
High level security policies can include multiple access rights levels based upon the status of the parties attempting access or the type of activity which those parties seeking to engage the device. For example a high level security policy may include multiple access levels based upon the status of the party attempting access (some non-limiting examples are device manufactures, governmental or other authorities such as customs officials, sales representative or customers). Different access rights may restrict particular parties from reading certain files on the device, transferring files, installing files, removing/deleting files or re-configuring the device. With respect to sales and customer rights, the security policy might not allow some of the above operations depending upon the where in the device is in the supply chain (e.g. in a factory, warehouse or retail store). For example, in the factory and warehouse phases the EDM might not authorize rights to sales persons or customers. On the other hand, in the retail operations or maintenance phases the EDM can authorize rights to sales persons or customers. Other parties such as, governmental or other authorities such as customs officials may have security access under a high level security policy at the distribution phase.
Different data categories may also dictate a high level security policy. For example, firmware updates and installations might require higher security schemes than the transfer of advertisements (content). The reason for this distinction could be based upon the specific characteristics of the storage device(s) within the device (e.g. different memory locations). High level security policies can also control whether hardware, software or system information is released to parties, whether a broadband radio is initialized or if multiple instance of installation of software/firmware (or unassisted downing of content) is authorized.
The above described high level security policies can be a combination of conventional access rights based upon the status of the parties and/or the type of activities involved.
Some non-limiting examples of security methods or mechanisms to provide high level security can include, various public/private key exchange mechanisms known in the art, including various algorithm configured to combine IMEI codes of a particular device combined with access keys maintained in a over the air server of a manufacturer or other authorized party (e.g. Bootstrapping in GSM). Another possible security mechanism could include a pin code in the retail operations stage. Also, the EDM can be configured to permit a certain number of attempts and to time-limit attempts at authorization. In the event that a party fails to pass the authentication within a predetermined number of attempts or time, the EDM will abort the wireless flashing event.
After passing high level security, as described above, the next step can involve a determination of whether the firmware or software is in need of an update. If required, the BT LE 210 receives instructions to install additional software, the EDM 200 receives instructions for file transfer and installation of firmware or software updates 770. The instructions include set up parameters for the WLAN module 270 such as the name of a secure communication network, the SSID of the access point, security settings, security keys and key indexes. Also, instructions can include information regarding how much content can be transferred, the allowable format and storage locations in memory. In the embodiment of the present invention shown in
Next, the EDM 200 can execute one of three operations: (1) a file transfer over the WLAN (2) a file transfer and installation software/firmware updates over the WLAN or (3) an installation of software/firmware updates from the device's memory (e.g. “flashing” triggers installation of certain software version) 780. After the software update is completed the BT LE 210 powers down the EDM 200 and the white list can be erased, modified or updated. Such a powering down can be accomplished by using the switch 260. Alternatively, the powering down can be made by the MCU 240. By doing so the BT LE 210 or MCU 240 turns off all components of the electronic device module except the BT LE 210 (Step 790). The BT LE 210 Link Layer transitions back to a scanner state. It should be noted that the flashing procedure and installing software/firmware updates may include several power up and power down events.
As described above an apparatus, system, method, and computer program(s) are disclosed in accordance with some of the exemplary embodiments wherein an electronic device utilizes its own battery to initiate a flashing event.
In
As used above, the term “acoustic sensing” infers that the device already has adequate non-volatile memory and the correct settings for receiving a SW/firmware update over the broadband radio such as a WLAN 1080 and transceiver 1035. However, it is also possible to transfer data over the acoustic link (not shown) which can also be bidirectional when at least one of the loudspeakers of the target device is also used in the data transfer.
Alternatively, a microphone and loudspeaker could be replaced by a light sensor or light transceiver (not shown). In this case the light may be infrared (IR), near infrared, visible light or any other wavelength providing essentially the same functionality. In the case of a light transceiver, the sales package is made to be sufficiently transparent to the wavelengths of light used, either entirely or via a sufficiently large window.
As shown in
Other configurations are possible using near field communications, a charging loop, infrared, Zigbee, or ANT™ radio devices (ANT™ is a type of low power personal or sensor network). With respect to the file transfer other possible modules can be connected to microcontroller 240 (see Component X 280) to affect a high speed data transfer of firmware or software updates. For example, in one or more exemplary embodiments of the present invention, Component X 280 can be a storage device suitable for storing software/firmware in ROM or RAM memory. Data can include software, firmware, user data or any other digital content which can be made available in any fixed storage media or in any detachable storage device such as a USB memory stick, eMMC, micro SD, SD card or any other detachable storage device. In one possible embodiment the EDM 200 can contain multiple versions of software and firmware, content or operating systems stored in memory. In later steps in the supply chain the unwanted versions can be removed/deleted. Accordingly, the flashing event would in this instant be an installation only flashing event.
Component X 280 can also be a sensor to detect movement of the electronic device. The sensor capabilities can also be coupled directly to the BT LE 1040 (not shown) as such it would not be necessary to trigger the EPM 200 or MCU 1060 to determine a sensor value or obtain a measurement. As discussed above, the present invention allows interaction with the device while in sale packaging. As such, it might be advantageous to configure the device to operate in different modes for either privacy or power saving modes. For example, a sensor would implemented at Component X 280 would in one embodiment of these teachings be configured to detect the orientation of the sale packaging (right side up). Therefore, employing such a sensor would allow for the electronic device to be stored in a warehouse in BT LE in scan mode. Then in transit, upon exiting the warehouse the warehouse pickers would be instructed to flip each box containing the electronic devices. The flipping of the boxes would trigger a change in the BT LE mode to advertising mode. Alternatively, the flipping of the sale packaging end to end could affect the entering into advertisement mode at the retail stage to allow faster connection step-up of the device. Other embodiments could include one of the following non-limiting examples, such as twisting, bending, or shaking, raising or lowering the temperature of the electronic device while in the sale packaging to obtain a similar result. Some non-limiting examples of sensors could be an accelerometer, capacitive displacement sensor, optical sensor, or a pressure sensor.
In
After the BT LE link layers have been configured, a first BT LE compliant device is designated to operate in a scan state to monitor for a trigger signal 1120 which can be a SCAN_REQ PDU or a CONNECTION_REQ PDU as explained above with respect to the Bluetooth Link Layer Specification. A second BT LE Compliant device is also configured to operate in the advertiser state to broadcast either PDU (trigger signal). Once the first BT LE compliant device receives either PDU from advertiser it detects the trigger 1122 and responses by checking its predetermined filtering policy. In one embodiment of these teachings, the advertising policy allows processing scans of all advertising events if the second BT LE device is within its white list and responding to same if that BT LE devices' address is contained within. Accordingly, the first BT LE device performs this 1st level security check 1124 and determines whether security is passed 1130. An alternative or addition a first level security method could include setting a limit on the range of the low power radio to only allow wireless flashing at a predetermine range (e.g. adjusting the received signal strength indication (RSSI) measurement in the BT LE receiver). As such, long distance programming could be prohibited in certain phases of the supply chain. For example, this security measure could protect the devices in the distribution phase where the device could be sitting in a truck in a publicly accessible location. This could be accomplished by limiting a WFI 100 distance to a EDM 200 whereas BT LE connections would require set up packages to be received at a RSSI level higher than a certain minimum level. If the security check fails 1130A, the first BT LE resumes its monitoring by returning to that step (1120). On the other hand, if the second BT LE devices address is contained in the white list then the first and second BT LE devices transition into a connection state (not shown). In other words, the second BT LE device passed the first level security check 1130B.
Next after a connection is formed between the first and second BT LE devices, the first BT LE executes an algorithm to turn on a device which can be coupled to the first BT LE device 1140. In one exemplary example, the device can first turn on a microcontroller 240 (or similar processor) as described above with respect to the electronic module 200 shown in
Next, the CPU executes a wireless flashing sequence 1160. This step involves four sub-steps or sub-routines. The first sub routine (A) executes a high level security check 1200A as shown in
A second subroutine (B) shown in
The third subroutine (C) shown in
The fourth subroutine (D) shown in
After completing the above four sub routines, the CPU coupled to the first BT LE compliant device receives instructions for file transfer and installation instructions from the second BT LE compliant device 1170. Alternatively, all or part of the instructions can be shared over a broadband radio connection. Thereafter, the CPU executes a file transfer over the WLAN and installs software or content 1180.
As discussed above at various stages of the supply chain it might be necessary to reconfigure the electronic devices. As show in
Once the content or software is installed the CPU turns off all other components (e.g. the WLAN) 1190. Finally, the first BT LE compliant device turns off the CPU in a similar manner as it turned on the CPU 1195 or the CPU turns itself off.
These teachings are not limited to supply chain operations, and the examples provided in
With respect to asset tracking, one exemplary embodiment of these teachings involves an automated wireless flashing inquiry event to obtain inventory of the devices. Inventory could include the current versions of software and firmware on each device, destinations and storage location within factory or warehouse.
Referring back to
An additional embodiment of the present invention include a wireless charging unit 1522 for receiving a remote energy charge from a wireless charger 1500A, in accordance with the exemplary embodiments of these teachings. As shown in
Referring now to
To initiate the above dual system, an electronic device 2 (in a sales package) is placed in proximity of wireless charger 1500A. Wireless charger 1500A can be a docking station or a handheld wand or the like which can be beamed or focused upon electronic device 2. The beaming or focusing on the device could in one embodiment cause the device to receive a signal which would in turn initiate powering on of the circuits that are essential for wireless flashing/software transfer as described above. In other words, the devices could in one extreme be equipped with an uncharged battery and no security implement to prevent access. This would occur in the factory or warehouse where less security would be needed. In this embodiment, the charging of the battery could trigger the turning on of the device. Software previously loaded on the device would thereafter automatically (based upon this triggering event of receiving power) turn on various security measures such as the first and second level security discussed above and possibly additional parameters discussed in some of the above embodiments (e.g. switch BT LE modes from scanning to advertising states).
Alternatively, wireless charger 1500A could provide power needed to carry out any of the wireless flashing events discussed above in the various embodiment of the present invention. In other words, adding a charge to the battery to avoid draining the battery during the wireless flashing event. This could occur either before, after or simultaneously to a wireless flashing event.
The above teachings are generally summarized at the flow diagram of
In this manner the system wakes-up the mobile device for flashing the firmware, delivering and installing software and/or storing content, which as detailed above is quite useful at least when the device is in its retail packaging and in transit between the manufacturing facility and the end retail customer not least for enabling the manufactured device to be put into the supply/distribution chain earlier without risking the need for manual intervention to install updates or content that may become valid only after the device has left the factory. An added benefit is that these teachings can be used to install customer-personalized data onto devices at the point of sale without the need for retail associates to even open the sales box. For example, such customer-personalized data or personalization content may include pictures, applications, contact information, calendar entries, historical short messages/emails, user settings, and the like which are transferred from the purchaser's old mobile terminal to while the new terminal is still in its sealed retail packaging. From a manufacturing perspective this also allows the factory to install for each model of a given device only a single base software platform, which can then be updated for local, regional or national markets as they enter those markets.
The low power (first) circuitry of the device in effects acts as a “wireless gate keeper” that wakes up the more power demanding parts of the mobile device and possibly also performs the first level security check. Multiple steps and levels of security checks also ensure low power consumption for the packaged electronic device to assure a sufficient shelf life in the standby mode as well as a guarantee of security in the product delivered to the end retail user. The second circuitry can be a WLAN radio or some other broadband radio for transferring the data to the device, which can be done using existing firmware over-the-air routines which conventionally deliver data/software/content to devices over cellular links and only after those devices have been purchased by the end user. The low power circuitry for waking up other more power-intensive portions of the device may be based on Bluetooth Low Energy (BT LE), Near Field Communication (NFC), wireless recharging loop, a local computer readable memory (see for example co-owned U.S. Patent Publication 2010/0318712 A1 by Sergey Boldyrev et al), audio, infrared, or a timer.
The above multitude of embodiments can be further extended such that the device is configured to respond to multiple different wake-up methods in series, or in parallel, or in loops. One advantage of this is that, during the supply/distribution logistical chain from manufacturing facility to end user the need for, and/or the likelihood and nature of updates may vary. Configuring the electronic device to respond to more than one wake-up instance, whether these wake-up instances are in series (changing the update method during the logistics chain), in parallel (using several update methods at the same time) or in loop (returning to an earlier update method) enables an added improvement in energy-efficiency/battery life, security, and in just how flexible these techniques can be.
In this regard, in a variation on the series deployment an earlier stage can change or modify the parameters of the technology used in the next stage. For example, the NFC radio 1904 of
In other embodiments there may be two or more different wake-up methods configured in parallel and only one is enough to advance the process to the software/firmware/data download stage (or security check, whichever is next after the parallel wake-up methods). For example, if we substitute a NFC radio 1904 for the wireless recharge loop 1906 of
Just as
Another variation on the principles set forth with
In a more specific embodiment of the principles set forth at
In one aspect of these teachings there is a method, and an apparatus/electronic device having at least one processor and a program stored on a memory, in which the program when executed causes the electronic device to power up at least second circuitry of the electronic device in response to wirelessly receiving a trigger signal at first circuitry of an electronic device. In the above examples the first circuitry was detailed by example as a radio receiver for Bluetooth, Zigbee, ANT™, near field communications, impulse-ultra wideband UWB (see co-owned U.S. Patent Publication 2010/0318712 referenced above) or radio frequency identification signals; or a receiver of wireless audio or infrared, or circuitry for wirelessly receiving battery recharging signals. The electronic device then wirelessly receives a second signal at the powered up second circuitry. Specifically, the second signal is characterized by being consistent with a radio access technology for which the trigger signal is incompatible.
Above was discussed Bluetooth low energy BT LE. This radio protocol is slightly different from traditional (classic) Bluetooth even though it uses the same frequency range (2402-2480 MHz) as traditional Bluetooth networks. Specifically, in current iterations BT LE uses 40 channels that are 2 MHz apart whereas in traditional Bluetooth 79 channels are used with a 1 MHz channel raster. Additionally, BT LE uses a different frequency hopping scheme than traditional Bluetooth. In this regard then, BT LE signals are incompatible with traditional Bluetooth radio access technology, even though the BT LE and the traditional Bluetooth RF chains might be embodied on the same microchip and those two RF chains may even share some of the same hardware. The traditional Bluetooth RF chain cannot recognize the BT LE signal when the traditional Bluetooth RF chain is set with the traditional Bluetooth (software-defined) parameters. So in one exemplary embodiment the trigger signal can be BT LE and the software/firmware/content update can be made via the traditional Bluetooth radio access technology for which the BT LE trigger signal is incompatible.
Also in some of the above embodiment there was an initial step of a timer expiring, upon which the electronic device autonomously powered up its low power receiver for receiving the trigger signal.
Certain of the above embodiments also added a security feature, a first security check is performed in response to receiving the trigger signal and powering up of at least the second circuitry of the electronic device is conditional on passing the first security check. Form multiple security levels then the device performs a second security check in response to wirelessly receiving an additional signal at the first circuitry of the electronic device, and this second security check is conditional on passing the first security check. In this case the powering up of at least the second circuitry of the electronic device is conditional on passing both the first and the second security checks.
Other embodiments had two different wake-up methods in parallel in which both needed to be performed in order to setup the device for the software/firmware update or for download of some other type of data such as music or games or personalization content. In this case the second circuitry of the electronic device is powered up in response to receiving the trigger signal at the first circuitry and an additional trigger signal at third circuitry of the electronic device. The first and the third circuitry may be any of the wireless receivers noted above, and additionally the third circuitry may be a timer. The first and third circuitries are distinct in that the third circuitry is not responsive to the first-said trigger signal and the first circuitry is not responsive to the additional trigger signal.
Respecting only the first and second circuitry, the first circuitry is characterized as operating at a lower power than the second circuitry, and the second circuitry comprises a broadband radio. In the examples above the second signal was given by example as a software update and/or a firmware update and/or a content update. Now in some embodiments if the software update and/or firmware update and/or content update is not fully received or not properly loaded after being received, at least the second circuitry of the electronic device is powered down and if a security check was done it is re-executed before the device again attempts to receive the software and/or firmware and/or content update. As noted by various examples above, such content may be customer-personalized data from the purchaser's old mobile terminal or some other personalization content.
These teachings were presented as quite advantageous for a portable electronic device such as a mobile terminal/user equipment disposed within packaging for retail sale.
The various blocks shown in
In general, the various exemplary embodiments may be implemented in hardware or special purpose circuits, software, logic or any combination thereof. For example, some aspects may be implemented in hardware, while other aspects may be implemented in firmware or software which may be executed by a controller, microprocessor or other computing device, although the invention is not limited thereto. While various aspects of the exemplary embodiments of this invention may be illustrated and described as block diagrams, flow charts, or using some other pictorial representation, it is well understood that these blocks, apparatus, systems, techniques or methods described herein may be implemented in, as non-limiting examples, hardware, software, firmware, special purpose circuits or logic, general purpose hardware or controller or other computing devices, or some combination thereof.
It should thus be appreciated that at least some aspects of the exemplary embodiments of the inventions may be practiced in various components such as integrated circuit chips and modules, and that the exemplary embodiments of this invention may be realized in an apparatus that is embodied as an integrated circuit. The integrated circuit, or circuits, may comprise circuitry (as well as possibly firmware) for embodying at least one or more of a data processor or data processors, a digital signal processor or processors, baseband circuitry and radio frequency circuitry that are configurable so as to operate in accordance with the exemplary embodiments of this invention.
Various modifications and adaptations to the foregoing exemplary embodiments of this invention may become apparent to those skilled in the relevant arts in view of the foregoing description, when read in conjunction with the accompanying drawings. However, any and all modifications will still fall within the scope of the non-limiting and exemplary embodiments of this invention.
The various names used for the described parameters (e.g. advertising state, advertising event, flashing event, advertising packet data (PDU), scanWindow, Scan Interval, T_advEvent etc.) are not intended to be limiting in any respect, as these parameters may be identified by any suitable names. Further, the formulas and expressions that use these various parameters may differ from those expressly disclosed herein. Further, the various names assigned to different channels (e.g. advertising channel, channel index etc.) are not intended to be limiting in any respect, as these various channels may be identified by any suitable names.
Furthermore, some of the features of the various non-limiting and exemplary embodiments of this invention may be used to advantage without the corresponding use of other features. As such, the foregoing description should be considered as merely illustrative of the principles, teachings and exemplary embodiments of this invention, and not in limitation thereof.
Ruutu, Jussi P.O., Ollikainen, Jani P. J., Jantunen, Joni J. M., Reunamaki, Jukka P., Honkanen, Mauri J., Hamalainen, Jyri J., Arponen, Jarmo T.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
5790946, | Jul 15 1993 | Round Rock Research, LLC | Wake up device for a communications system |
6311276, | Aug 25 1998 | Hewlett Packard Enterprise Development LP | Secure system for remote management and wake-up commands |
7735114, | Sep 04 2003 | AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LIMITED | Multiple tiered network security system, method and apparatus using dynamic user policy assignment |
7860952, | Mar 18 2002 | II-VI DELAWARE, INC | Service and maintenance solutions for programmable and/or reconfigurable modules included in communication network nodes |
8270962, | Oct 20 2009 | T-MOBILE INNOVATIONS LLC | Emergency calls on a wireless communication device during a device reboot |
8384525, | May 15 2006 | III HOLDINGS 3, LLC | Contactless programming and testing of memory elements |
8429642, | Jun 13 2006 | TREND MICRO INCORPORATED | Viral updating of software based on neighbor software information |
8589541, | Jan 28 2009 | Headwater Research LLC | Device-assisted services for protecting network capacity |
8712394, | Dec 14 2011 | Malikie Innovations Limited | Systems, methods, and apparatus to prepare a mobile device for provisioning |
20020144030, | |||
20030050103, | |||
20030182414, | |||
20040003389, | |||
20050216559, | |||
20060109815, | |||
20060112386, | |||
20070110010, | |||
20070243851, | |||
20070275768, | |||
20080064382, | |||
20080141015, | |||
20090017798, | |||
20090031251, | |||
20090083651, | |||
20090094602, | |||
20090138876, | |||
20090156200, | |||
20090168088, | |||
20090217373, | |||
20090318124, | |||
20100100738, | |||
20100100766, | |||
20100169879, | |||
20100199271, | |||
20100295663, | |||
20100313137, | |||
20100318712, | |||
20110006882, | |||
20110111743, | |||
20110191764, | |||
20110250849, | |||
20110254687, | |||
20110255454, | |||
20120005497, | |||
20120110568, | |||
20120171958, | |||
20120220337, | |||
20120272230, | |||
20130303142, | |||
20140089710, | |||
CN102012829, | |||
KR20100105210, | |||
WO2007132282, | |||
WO2004074975, | |||
WO2011066215, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 02 2016 | WSOU Investments, LLC | (assignment on the face of the patent) | / | |||
Jul 22 2017 | Nokia Technologies Oy | WSOU Investments, LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 043953 | /0822 | |
Aug 22 2017 | WSOU Investments, LLC | OMEGA CREDIT OPPORTUNITIES MASTER FUND, LP | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 043966 | /0574 | |
May 16 2019 | OCO OPPORTUNITIES MASTER FUND, L P F K A OMEGA CREDIT OPPORTUNITIES MASTER FUND LP | WSOU Investments, LLC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 049246 | /0405 | |
May 16 2019 | WSOU Investments, LLC | BP FUNDING TRUST, SERIES SPL-VI | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 049235 | /0068 | |
May 28 2021 | TERRIER SSC, LLC | WSOU Investments, LLC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 056526 | /0093 | |
May 28 2021 | WSOU Investments, LLC | OT WSOU TERRIER HOLDINGS, LLC | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 056990 | /0081 |
Date | Maintenance Fee Events |
Feb 03 2020 | REM: Maintenance Fee Reminder Mailed. |
Jul 20 2020 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
May 14 2022 | 4 years fee payment window open |
Nov 14 2022 | 6 months grace period start (w surcharge) |
May 14 2023 | patent expiry (for year 4) |
May 14 2025 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 14 2026 | 8 years fee payment window open |
Nov 14 2026 | 6 months grace period start (w surcharge) |
May 14 2027 | patent expiry (for year 8) |
May 14 2029 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 14 2030 | 12 years fee payment window open |
Nov 14 2030 | 6 months grace period start (w surcharge) |
May 14 2031 | patent expiry (for year 12) |
May 14 2033 | 2 years to revive unintentionally abandoned end. (for year 12) |