IP Library Granted Patent US 9,575,741
Granted Patent B2
US 9,575,741 · App. 14/453,923 · Granted Feb 21, 2017

Methods and devices for wireless device-to-device software upgrades

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,575,741
App. No.
14/453,923
Granted
Feb 21, 2017
Kind
B2
Abstract

Disclosed herein are methods and devices for wireless device-to-device software upgrade. In one implementation, a source electronic device receives software version information from a target electronic device. The source electronic device transmits software version information of the source electronic device and software version information of the target electronic device to a server. The source electronic device receives, from the server, a notification that the source electronic device is permitted to upgrade the target electronic device. The source electronic device then establishes a wireless connection with the target electronic device. Next, the source electronic device receives, from the target electronic device, information regarding a software upgrade that is needed by the target electronic device. The source electronic device then wirelessly transmits the software upgrade to the target electronic device.

Claims (56)

1. A method in a source electronic device, the method comprising:

receiving software version information from a target electronic device;

transmitting software version information of the source electronic device and the software version information of the target electronic device to a server;

receiving, from the server, a notification that the source electronic device is permitted to upgrade the target electronic device;

establishing a wireless connection with the target electronic device;

transmitting software partition signature information of the source electronic device to the target electronic device;

receiving, from the target electronic device, information regarding a software upgrade package that is needed by the target electronic device including needed partitions for performing software upgrade based on differences between software partition signatures of the source and the target device;

generating, the software upgrade package based on the needed partitions at the source device; and

wirelessly transmitting the software upgrade package to the target electronic device.

2. The method of claim 1 , further comprising:

receiving a short range communication request from the target electronic device before receiving the software version information.

3. The method of claim 2 , wherein the short range communication request comprises a piece of information selected from the group consisting of International Mobile Station Equipment Identity of the target electronic device, device identification of the target electronic device, and media access control address of the target electronic device.

4. The method of claim 1 , wherein the wireless connection comprises a Wi-Fi connection.

5. The method of claim 4 , wherein the Wi-Fi connection comprises a Wi-Fi direct connection.

6. The method of claim 1 , wherein the software upgrade comprises a partition selected from the group consisting of a monolithic code partition and a file-system partition.

7. The method of claim 6 , wherein if the software upgrade comprises a monolithic code partition, creating a data dump of the monolithic code partition from partitions stored in the source electronic device.

8. The method of claim 6 , wherein if the software upgrade comprises a file-system partition, the method further comprises:

transmitting the file-system partition piecewise to the target electronic device; and

transmitting metadata associated with the file-system partition to the target electronic device, wherein integrity of the metadata is maintained between the source electronic device and the target electronic device.

9. The method of claim 1 , further comprising:

rebooting the source electronic device into recovery mode before establishing the wireless connection with the target electronic device.

10. The method of claim 1 , wherein the server determines that the source electronic device is permitted to upgrade the target device by performing at least one of the following: checking whether the source electronic device or the target electronic device is a rooted device, verifying international mobile station equipment identity (IMEI) for the source electronic device and the target electronic device, verifying device identification integrity for the source electronic device and the target electronic device, and verifying upgrade path validation.

11. A method in a target electronic device, the method comprising:

transmitting software version information to a source electronic device;

communicating with the server to determine if software in the source electronic device is compatible with the target electronic device;

receiving, from a server, a notification that the source electronic device is permitted to upgrade the target electronic device;

establishing a wireless connection with the source electronic device;

receiving software partition signature information from the source electronic device;

generating information regarding a software upgrade that is needed by the target electronic device;

transmitting the generated information regarding the software upgrade to the source electronic device;

receiving from the source electronic device, a software upgrade package that is generated by the source device including needed partitions for performing software upgrade based on differences between software partition signatures of the source and the target device; and

executing the software upgrade package at the target electronic device;

wherein the server determines that the source electronic device is permitted to upgrade the target device by performing at least one of the following: checking whether the source electronic device or the target electronic device is a rooted device, verifying international mobile station equipment identity (IMEI) for the source electronic device and the target electronic device, verifying device identification integrity for the source electronic device and the target electronic device, and verifying upgrade path validation.

12. The method of claim 11 , further comprising:

verifying with the server that the received software upgrade can be installed, and upon receiving verification from the server that the received software upgrade can be installed, installing the received software upgrade.

13. The method of claim 12 , further comprising:

transmitting the status of the software upgrade to the server.

14. The method of claim 11 , further comprising:

transmitting a short range communication request to the source electronic device before transmitting the software version information.

15. The method of claim 14 , wherein the short range communication request comprises a piece of information selected from the group consisting of International Mobile Station Equipment Identity of the target electronic device, device identification of the target electronic device, and media access control address of the target electronic device.

16. The method of claim 11 , wherein the wireless connection comprises a Wi-Fi connection.

17. The method of claim 16 , wherein the Wi-Fi connection comprises a Wi-Fi direct connection.

18. The method of claim 11 , wherein the software upgrade comprises a partition selected from the group consisting of a monolithic code partition and a file-system partition.

19. The method of claim 11 , further comprising:

rebooting the target electronic device into recovery mode before establishing the wireless connection with the source electronic device.

20. A source electronic device comprising:

a memory configured to store software version information of the source electronic device;

and a processor communicatively coupled to the memory and configured to:

control a transceiver to receive software version information from a target electronic device;

transmit software version information of the source electronic device and the software version information of the target electronic device to a server;

receive, from the server, a notification that the source electronic device is permitted to upgrade the target electronic device;

establish a wireless connection with the target electronic device;

transmit software partition signature information of the source electronic device to the target electronic device;

receive, from the target electronic device, information regarding a software upgrade package that is needed by the target electronic device including needed partitions for performing software upgrade based on differences between software partition signatures of the source and the target device;

generate, the software upgrade package based on the needed partitions at the source device; and

wirelessly transmit the software upgrade package to the target electronic device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 13, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034227/0095 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 19, 2014
From: CHINNAPPAN, SATESHK KUMAR; BASAVANNA, VINAY; VENKATASUBRAMANIAN, GOPALAKRISHNAN
To: MOTOROLA MOBILITY LLC
Reel/Frame 033559/0560 →