OSD firmware auto-update software architectural design

From The Neuros Technology Wiki

Jump to: navigation, search
Circle.jpg
NOTE: THIS PAGE IS OBSOLETE. IT MAY HAVE HISTORICAL SIGNIFICANCE, BUT IS OUT OF DATE OR NO LONGER PERTINENT.

More specifically, this functionality was replaced by the on-board software auto update system completely integrated into the osd main application, which uses some of the concepts illustrated here.


Contents

Function description:

This project is used for OSD product firmware automatic update from web server to the customer’s computer. When the client application checks there is new version of firmware in the web server, then it will ask the customer to download the new version automatically.


Design major concept:

The main question focus on how to check whether there is new version firmware in the web server. The version number is stored in the local computer and our web server, when new firmware is deployed to web server, the version number in the web server will also be changed. Through comparing two version numbers, if the version number in the local computer is older than in the web server, it means there is new version firmware, so need to download the new firmware.


Detail design:

Save the firmware version number in XML file, the file includes the firmware version number, firmware storage location in web server. The XML file’s content is just like followings, but not all.

       <……>
       <OSDFirmware>
       <OSDFirmwareVersion>1.2.0</OSDFirmwareVersion>
       <OSDFirmwareLocation>softwaredownload/OSD/120</ OSDFirmwareLocation >
       </OSDFirmware>
       <……>

After the customer start the software-auto-update application in his computer, the application connect to the web server which deployed the OSD firmware automatically, check whether there exist new version firmware, if exist then the application ask the customer to download new firmware, if he choose yes then the application will download the new firmware to local computer. If any error happens during downloading, the application will show error message to him and exit the download, otherwise after successful download the application will show firmware update success to him. The application also provides manual update function, that the customer can make his choice to update firmware. During the application running, it will connect to web server to check if there is new version firmware every one hour, the interval time can be set by the customer, but the minimum value is one hour, because if the interval is to short, it will cause heavy load to web server.

The following graphic shows the process flow.

 OSD-Firmware-autoupdate-flowchart.JPG


Development platform:

Java, XML

Personal tools