System and method for wireless re-programming of memory in a communication system

US10218516B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10218516-B2
Application numberUS-201715811009-A
CountryUS
Kind codeB2
Filing dateNov 13, 2017
Priority dateFeb 4, 2010
Publication dateFeb 26, 2019
Grant dateFeb 26, 2019

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The invention relates to a system and method of re-programming memory, and in particular, to wirelessly re-programming software, such as the application code, residing in memory of a trainable transceiver. The wireless re-programming of memory allows for software in the trainable transceiver to be updated or replaced from a remote location, where a direct or wired connection to the product is not otherwise available.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of programming memory in a wireless control system using a remote device, comprising: providing new application code to the remote device, the new application code configured to enable the wireless control system to train and to control a first one or more remote receiver devices; independent of receiving a communication from one of the first one or more remote receiver devices, receiving the new application code from the remote device using wireless communication between the wireless control system and the remote device; updating, by a boot loader of the wireless control system, an existing application code stored in the memory of the wireless control system with the new application code by controlling reprogramming of the existing application code in the memory of the wireless control system, the existing application code configured to enable the wireless control system to train and to control a second one or more remote receiver devices, wherein the first one or more remote receiver devices includes at least one remote receiver device not included in the second one or more remote receiver devices, such that updating the existing application code with the new application code newly enables the wireless control system to train and to control the at least one remote receiver device not included in the second one or more remote receiver devices; entering into a programming mode on the wireless control system; transmitting information including at least one of a part number, a serial number, an application version, or a boot loader version of the wireless control system from the wireless control system to the remote device; verifying, by the remote device, whether the new application code is compatible with the wireless control system; generating a random counter value; and creating, in response to verification that the application code is compatible with the wireless control system, a challenge for authentication. 2. A system for programming memory, comprising: a wireless control system including at least a transceiver circuit, a boot loader, and memory, the memory storing an existing application code configured to enable the wireless control system to train to and control a first one or more remote receiver devices; and a remote device including at least a second transceiver circuit and second memory and configured to be provided a new application code configured to enable the wireless control system to train to and control a second one or more remote receiver devices, wherein the second one or more remote receiver devices includes at least one remote receiver device not included in the first one or more remote receiver devices; wherein the remote device is configured to wirelessly transmit the new application code stored in the second memory of the remote device to the wireless control system; wherein the wireless control system is configured to receive the new application code using the transceiver circuit independent of receiving a communication from one of the first one or more remote receiver devices; wherein the boot loader of the wireless control system is configured to update the existing application code with the new application code by controlling reprogramming of the existing application code in the memory of the wireless control system, such that the updating newly enables the wireless control system to train to and control the at least one remote receiver device not included in the first one or more remote receiver devices; wherein the wireless control system is configured to: enter into a programming mode in response to an input; and transmit information including at least one of a part number, a serial number, a boot loader version, or an application version to the remote device; wherein the remote device is configured to verify that the new application code is compatible with the information, generate a random counter value, and, in response to the application code being compatible with the information, generate a challenge to be sent to the wireless control system. 3. The method of programming memory of claim 1 , further comprising authenticating the communication between the wireless control system and the remote device, wherein the authentication of the communication includes: transmitting information including at least one of a part number, a serial number, or an application version from the wireless control system to the remote device. 4. The method of programming memory of claim 1 , further comprising, in response to the application code being compatible with the information: sending the challenge and the random counter value from the remote device to the wireless control system; storing, by the wireless control system, the random counter value; and sending an acknowledgement of the challenge from the wireless control system to the remote device. 5. The method of programming memory of claim 1 , further comprising in response to the application code not being compatible with the information: ending communication between the remote device and the wireless control system; and indicating a status of the authentication of the communication. 6. The system for programming memory of claim 2 , wherein the remote device is configured, in response to the application code being compatible with the information, to send the challenge and the random counter value to the wireless control system and receive an acknowledgement of the challenge from the wireless control system. 7. The system for programming memory of claim 2 , wherein the remote device is configured, in response to the application code not being compatible with the information, to end communication between the remote device and the wireless control system. 8. The method of programming memory of claim 1 , wherein the application code is encrypted with a common key and appended with header information. 9. The method of claim 8 , further comprising sending, from the wireless control system, an encrypted application to the remote device. 10. The method of programming memory of claim 9 , further comprising: extracting the header information; decrypting at least a first block of data with the common key; and storing data in a program code buffer in the remote device for sending to the wireless control system. 11. The method of programming memory of claim 10 , wherein the wireless control system further comprises: receiving the at least first block of data from the remote device; verifying the integrity of the at least first block of data; determining an end of transmission of the at least first block of data; and programming at least part of the memory of the wireless control system with the application code. 12. The method of programming memory of claim 10 , wherein the remote device further comprises: verifying that the application code is compatible with the remote electronic device; and sending the at least one data block to the wireless control system until an end of data is reached. 13. The system for programming memory of claim 2 , wherein the application code is encrypted with a common key and appended with header information. 14. The system for programming memory of claim 13 , wherein the remote device: extracts the header information; decrypts at least a first block of data with the common key; and stores data in a program code buffer in the remote device for sending to the wireless control system. 15. The system for programming memory of claim 14 , wherein the wireless control system: receives the at least first block of data from the remote device; verifies t

Assignees

Inventors

Classifications

  • from a device located outside both the home and the home network (access arrangements H04L12/2856; for remote control or remote monitoring of applications H04L67/025; arrangements for transmitting signals characterised by the use of a wireless eletrical link G08C17/00; telephonic communication systems adapted for combination with remote control systems H04M11/007) · CPC title

  • H04L9/3271Primary

    using challenge-response · CPC title

  • remotely by wireless communication · CPC title

  • Authentication · CPC title

  • Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10218516B2 cover?
The invention relates to a system and method of re-programming memory, and in particular, to wirelessly re-programming software, such as the application code, residing in memory of a trainable transceiver. The wireless re-programming of memory allows for software in the trainable transceiver to be updated or replaced from a remote location, where a direct or wired connection to the product is n…
Who is the assignee on this patent?
Gentex Corp
What technology area does this patent fall under?
Primary CPC classification H04L9/3271. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Feb 26 2019 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).