Abstract: Systems, methods, and computer readable media for upgrading electronic devices are provided. An exemplary method executed by a hardware processor may comprise providing a management agent on an electronic device for communicating with one or more device drivers associated with the electronic device. The management agent may be installed, for example, using a downloaded upgrade package. The method may further comprise upgrading the one or more device drivers to enable a direct connection between the management agent and the one or more device drivers. This direct connection, in some embodiments, may enable the management agent to access, using the one or more device drivers, persistent storage associated with the electronic device. The method may further comprise providing a new boot loader to the management agent, and overwriting, by the management agent, an existing boot loader in the persistent storage with the received new boot loader, using the device drivers.
CLIAMS:We claim
1. A method of upgrading an electronic device, the method comprising:
providing a management agent on the electronic device for communicating with one or more device drivers associated with the electronic device;
upgrading the one or more device drivers to enable a direct connection between the management agent and the one or more device drivers, the direct connection enabling the management agent to access persistent storage associated with the electronic device through the one or more device drivers;
providing a new boot loader to the management agent; and
overwriting, by the management agent, an existing boot loader stored in the persistent storage with the new boot loader, through the one or more device drivers.
2. The method of claim 1, wherein the new boot loader and the existing boot loader differ from one another in at least one of a version designation for underlying source code or an associated operating system (OS).
3. The method of claim 1, wherein overwriting the existing boot loader occurs while an existing OS is executing.
4. The method of claim 1, further comprising overwriting an existing OS in the persistent storage with a new OS.
5. The method of claim 4, wherein the new OS is associated with the new boot loader and the existing OS is associated with the existing boot loader; and the new OS and the existing OS differ from one another in at least one of a version designation for underlying source code or type of OS.
6. The method of claim 1, wherein providing the new boot loader further comprises providing a checksum associated with the new boot loader, and
wherein the method further comprises:
before overwriting the existing boot loader with the new boot loader:
reading, by the management agent, data corresponding to the existing boot loader; and
copying data representing the existing boot loader into a portion of the persistent storage; and
after overwriting the existing boot loader with the new boot loader:
calculating a checksum of the written boot loader;
determining whether the provided checksum matches the calculated checksum; and
based on the determination, overwriting the new boot loader with the copied data representing the existing boot loader.
7. The method of claim 1, wherein the management agent is installed by a user of the electronic device.
8. The method of claim 1, wherein:
providing the management agent further comprises providing a first signature comprising a hash of the existing boot loader, a manufacturer identifier, and a device identifier;
providing the new boot loader further comprises providing a second signature comprising a hash of the existing boot loader, a hash of the new boot loader, a manufacturer identifier, and a device identifier, and
wherein the method further comprises verifying the new boot loader based on the first signature.
9. The method of claim 1, wherein overwriting the existing boot loader further comprises performing a handshake process between the management agent and the one or more device drivers, the handshake process comprising:
requesting, by the management agent, an access token;
receiving, from the one or more device drivers, challenge data;
generating a hash of the challenge data based on an identifier associated with the electronic device;
sending the hash to the one or more device drivers;
receiving an access token for instructing the one or more device drivers; and
sending, to the one or more device drivers, the received access token and instructions to overwrite the existing boot loader.
10. The method of claim 1, wherein overwriting the existing boot loader further comprises writing directly to the persistent storage without accessing a file system associated with the persistent storage.
11. An electronic device comprising:
at least one electronic processor;
at least one storage device comprising instructions, the instructions configured to cause the at least one electronic processor to perform a method comprising:
providing a management agent on the electronic device for communicating with one or more device drivers associated with the electronic device;
upgrading the one or more device drivers to enable a direct connection between the management agent and the one or more device drivers, the direct connection enabling the management agent to access persistent storage associated with the electronic device through the one or more device drivers;
providing a new boot loader to the management agent; and
overwriting, by the management agent, an existing boot loader stored in the persistent storage with the new boot loader, through the one or more device drivers.
12. The device of claim 11, wherein the new boot loader and the existing boot loader differ from one another in at least one of a version designation for underlying source code or an associated operating system (OS).
13. The device of claim 11, wherein overwriting the existing boot loader occurs while an existing OS is executing.
14. The device of claim 11, wherein the instructions are further configured to cause the at least one electronic processor to overwrite an existing OS in the persistent storage with a new OS.
15. The device of claim 14, wherein the new OS is associated with the new boot loader and the existing OS is associated with the existing boot loader; and the new OS and the existing OS differ from one another in at least one of a version designation for underlying source code or type of OS.
16. The device of claim 11, wherein providing the new boot loader further comprises providing a checksum associated with the new boot loader, and
wherein the instructions are further configured to cause the at least one electronic processor to perform a method comprising:
before overwriting the existing boot loader with the new boot loader:
reading, by the management agent, data corresponding to the existing boot loader; and
copying data representing the existing boot loader into a portion of the persistent storage; and
after overwriting the existing boot loader with the new boot loader:
calculating a checksum of the written new boot loader;
determining whether the provided checksum matches the calculated checksum; and
based on the determination, overwriting the new boot loader with the copied data representing the existing boot loader.
17. The device of claim 11, wherein the management agent is installed by a user of the electronic device.
18. The device of claim 11, wherein:
providing the management agent further comprises providing a first signature comprising a hash of the existing boot loader, a manufacturer identifier, and a device identifier;
providing the new boot loader further comprises providing a second signature comprising a hash of the existing boot loader, a hash of the new boot loader, a manufacturer identifier, and a device identifier, and
wherein the instructions are further configured to cause the at least one electronic processor to verify the new boot loader based on the first signature.
19. The device of claim 11, wherein overwriting the existing boot loader further comprises performing a handshake process between the management agent and the one or more device drivers, the handshake process comprising:
requesting, by the management agent, an access token;
receiving, from the one or more device drivers, challenge data;
generating a hash of the challenge data based on an identifier associated with the electronic device;
sending the hash to the one or more device drivers;
receiving an access token for instructing the one or more device drivers; and
sending, to the one or more device drivers, the received access token and instructions to overwrite the existing boot loader.
20. The device of claim 11, wherein overwriting the existing boot loader further comprises writing directly to the persistent storage without accessing a file system associated with the persistent storage.
Dated this 16th day of June, 2014
Sravan Kumar Gampa
Of K&S Partners
Agent for the Applicant
,TagSPECI:TECHNICAL FIELD
The present disclosure is generally directed to the field of upgrading electronic devices and, more specifically, to enabling an electronic device to receive a new boot loader and/or operating system.
| # | Name | Date |
|---|---|---|
| 1 | 2909-CHE-2014-RELEVANT DOCUMENTS [20-09-2023(online)].pdf | 2023-09-20 |
| 1 | IP27605-spec.pdf | 2014-06-16 |
| 2 | 2909-CHE-2014-PROOF OF ALTERATION [27-05-2022(online)].pdf | 2022-05-27 |
| 2 | IP27605-fig.pdf | 2014-06-16 |
| 3 | FORM 5.pdf | 2014-06-16 |
| 3 | 2909-CHE-2014-IntimationOfGrant20-07-2021.pdf | 2021-07-20 |
| 4 | FORM 3.pdf | 2014-06-16 |
| 4 | 2909-CHE-2014-PatentCertificate20-07-2021.pdf | 2021-07-20 |
| 5 | 2909-CHE-2014-Request For Certified Copy-Online(16-06-2014).pdf | 2014-06-16 |
| 5 | 2909-CHE-2014-ABSTRACT [30-01-2020(online)].pdf | 2020-01-30 |
| 6 | 2909-CHE-2014-CLAIMS [30-01-2020(online)].pdf | 2020-01-30 |
| 6 | 2909-CHE-2014 FORM-9 16-06-2014.pdf | 2014-06-16 |
| 7 | 2909-CHE-2014-COMPLETE SPECIFICATION [30-01-2020(online)].pdf | 2020-01-30 |
| 7 | 2909-CHE-2014 FORM-18 16-06-2014.pdf | 2014-06-16 |
| 8 | 2909-CHE-2014-CORRESPONDENCE [30-01-2020(online)].pdf | 2020-01-30 |
| 8 | 2909-CHE-2014 POWER OF ATTORNEY 02-09-2014.pdf | 2014-09-02 |
| 9 | 2909-CHE-2014 FORM-1 02-09-2014.pdf | 2014-09-02 |
| 9 | 2909-CHE-2014-FER_SER_REPLY [30-01-2020(online)].pdf | 2020-01-30 |
| 10 | 2909-CHE-2014 CORRESPONDENCE OTHERS 02-09-2014.pdf | 2014-09-02 |
| 10 | 2909-CHE-2014-FORM 3 [30-01-2020(online)].pdf | 2020-01-30 |
| 11 | 2909-CHE-2014-Information under section 8(2) [30-01-2020(online)].pdf | 2020-01-30 |
| 11 | 2909-CHE-2014-Request For Certified Copy-Online(31-12-2014).pdf | 2014-12-31 |
| 12 | 2909-CHE-2014-OTHERS [30-01-2020(online)].pdf | 2020-01-30 |
| 12 | 2909CHE2014_CertifiedCopyRequest.pdf | 2015-03-16 |
| 13 | 2909-CHE-2014-FER.pdf | 2019-07-31 |
| 13 | 2909-CHE-2014-PETITION UNDER RULE 137 [30-01-2020(online)].pdf | 2020-01-30 |
| 14 | 2909-CHE-2014-FER.pdf | 2019-07-31 |
| 14 | 2909-CHE-2014-PETITION UNDER RULE 137 [30-01-2020(online)].pdf | 2020-01-30 |
| 15 | 2909-CHE-2014-OTHERS [30-01-2020(online)].pdf | 2020-01-30 |
| 15 | 2909CHE2014_CertifiedCopyRequest.pdf | 2015-03-16 |
| 16 | 2909-CHE-2014-Information under section 8(2) [30-01-2020(online)].pdf | 2020-01-30 |
| 16 | 2909-CHE-2014-Request For Certified Copy-Online(31-12-2014).pdf | 2014-12-31 |
| 17 | 2909-CHE-2014-FORM 3 [30-01-2020(online)].pdf | 2020-01-30 |
| 17 | 2909-CHE-2014 CORRESPONDENCE OTHERS 02-09-2014.pdf | 2014-09-02 |
| 18 | 2909-CHE-2014 FORM-1 02-09-2014.pdf | 2014-09-02 |
| 18 | 2909-CHE-2014-FER_SER_REPLY [30-01-2020(online)].pdf | 2020-01-30 |
| 19 | 2909-CHE-2014 POWER OF ATTORNEY 02-09-2014.pdf | 2014-09-02 |
| 19 | 2909-CHE-2014-CORRESPONDENCE [30-01-2020(online)].pdf | 2020-01-30 |
| 20 | 2909-CHE-2014 FORM-18 16-06-2014.pdf | 2014-06-16 |
| 20 | 2909-CHE-2014-COMPLETE SPECIFICATION [30-01-2020(online)].pdf | 2020-01-30 |
| 21 | 2909-CHE-2014 FORM-9 16-06-2014.pdf | 2014-06-16 |
| 21 | 2909-CHE-2014-CLAIMS [30-01-2020(online)].pdf | 2020-01-30 |
| 22 | 2909-CHE-2014-ABSTRACT [30-01-2020(online)].pdf | 2020-01-30 |
| 22 | 2909-CHE-2014-Request For Certified Copy-Online(16-06-2014).pdf | 2014-06-16 |
| 23 | 2909-CHE-2014-PatentCertificate20-07-2021.pdf | 2021-07-20 |
| 23 | FORM 3.pdf | 2014-06-16 |
| 24 | 2909-CHE-2014-IntimationOfGrant20-07-2021.pdf | 2021-07-20 |
| 24 | FORM 5.pdf | 2014-06-16 |
| 25 | IP27605-fig.pdf | 2014-06-16 |
| 25 | 2909-CHE-2014-PROOF OF ALTERATION [27-05-2022(online)].pdf | 2022-05-27 |
| 26 | IP27605-spec.pdf | 2014-06-16 |
| 26 | 2909-CHE-2014-RELEVANT DOCUMENTS [20-09-2023(online)].pdf | 2023-09-20 |
| 1 | SearchPattern2909CHE2014_24-07-2019.pdf |