JP2007052518A - Information processor, method, and program - Google Patents
Information processor, method, and program Download PDFInfo
- Publication number
- JP2007052518A JP2007052518A JP2005235641A JP2005235641A JP2007052518A JP 2007052518 A JP2007052518 A JP 2007052518A JP 2005235641 A JP2005235641 A JP 2005235641A JP 2005235641 A JP2005235641 A JP 2005235641A JP 2007052518 A JP2007052518 A JP 2007052518A
- Authority
- JP
- Japan
- Prior art keywords
- software
- program
- storage medium
- general
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、より汎用性の高いソフトウェア更新処理を行うことができるようにする情報処理装置および方法、並びにプログラムに関する。 The present invention relates to an information processing apparatus and method, and a program, and more particularly, to an information processing apparatus and method, and a program capable of performing a more versatile software update process.
従来、製品に組み込まれたソフトウェアを後から更新する方法として、イーサネット(登録商標)などのネットワークを介してファームウェアの転送を行い、転送されたファームウェアをフラッシュメモリやハードディスク等の記録媒体に記録するという方法がある(例えば、特許文献1参照)。 Conventionally, as a method of updating software incorporated in a product later, firmware is transferred via a network such as Ethernet (registered trademark), and the transferred firmware is recorded on a recording medium such as a flash memory or a hard disk. There exists a method (for example, refer patent document 1).
このような場合、ファームウェアの転送を行うプログラムと、ファームウェアを記録媒体に記録するプログラムは、予め(例えば、工場出荷時に)その製品に組み込まれている。 In such a case, a program for transferring firmware and a program for recording firmware on a recording medium are incorporated in the product in advance (for example, at the time of factory shipment).
ところで、製品に組み込むソフトウェアの肥大化に伴い、ハードウェアだけでなくソフトウェアの共通化も行われ始めている。例えば、小型のCPU(Central Processing Unit)基板にさまざまな製品で共通利用されるソフトウェアを組み込んだ汎用のプラットフォーム(汎用のハードウェアおよびソフトウェアを含む構成)を共通開発し、これをさまざまな製品に組み込むことによって、各製品のハードウェアやソフトウェアの開発コストの低減や、開発期間の短縮を図る方法がある。 By the way, with the enlargement of the software embedded in products, not only hardware but also software sharing has begun. For example, a general-purpose platform (configuration that includes general-purpose hardware and software) that incorporates software commonly used in various products on a small CPU (Central Processing Unit) board is commonly developed and incorporated into various products. Thus, there are methods for reducing the development cost of hardware and software of each product and shortening the development period.
上述したようなソフトウェアを後から更新する方法(ソフトウェア更新機能)は、各装置において求められることであるので、このソフトウェア更新機能に関する開発コストの低減や開発期間の短縮を実現するために、上述した汎用のプラットフォームの共通ソフトウェアとして組み込まれることが望ましい。 Since the method for updating the software as described above (software update function) is required in each apparatus, in order to reduce the development cost and shorten the development period related to the software update function, It is desirable to be incorporated as common software for general-purpose platforms.
しかしながら、汎用のプラットフォームが組み込まれる各製品は、一般的に製品固有の記憶媒体(フラッシュメモリ等)を有するが、通常、汎用のプラットフォームは、そのプラットフォームが組み込まれる各製品よりも前に開発される。従って、この製品固有の記憶媒体が、プラットフォームにとって未知の構成である場合がある。 However, each product in which a general-purpose platform is incorporated generally has a product-specific storage medium (flash memory, etc.), but a general-purpose platform is usually developed before each product in which the platform is incorporated. . Therefore, this product-specific storage medium may have an unknown configuration for the platform.
このような場合、汎用のプラットフォームに共通ソフトウェアとして組み込まれたソフトウェア更新プログラムは、上述したような、汎用のプラットフォームにとって未知の、製品固有の記憶媒体を把握していないので、その記憶媒体に記憶されるソフトウェアの更新処理を行うことができない恐れがあった。つまり、このような製品固有の記憶媒体に記憶されるソフトウェアを更新するためには、専用のソフトウェア更新プログラムを製品毎に開発する必要があった。 In such a case, the software update program incorporated as the common software in the general-purpose platform does not grasp the product-specific storage medium unknown to the general-purpose platform as described above, and is stored in the storage medium. There was a possibility that the software update process could not be performed. That is, in order to update the software stored in such a product-specific storage medium, it is necessary to develop a dedicated software update program for each product.
本発明はこのような状況に鑑みてなされたものであり、より汎用性の高いソフトウェア更新処理を行うことができるようにするものである。 The present invention has been made in view of such a situation, and makes it possible to perform software update processing with higher versatility.
本発明の一側面の情報処理装置は、他の装置に組み込まれて使用され、組み込み先の前記他の装置に対して所定の機能を提供する情報処理装置であって、前記他の装置が前記情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、前記情報処理装置にとって未知の構成である第1の記憶媒体に書き込む第1のソフトウェアとともに、前記第1のソフトウェアを前記第1の記憶媒体に書き込むためのプログラムを、前記他の装置の外部より取得する取得手段と、前記取得手段により取得された前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込むプログラム実行手段とを備える。 An information processing apparatus according to an aspect of the present invention is an information processing apparatus that is used by being incorporated in another apparatus and that provides a predetermined function to the other apparatus that is an installation destination. A rewritable storage medium having a configuration other than the information processing apparatus, and the first software written in the first storage medium having a configuration unknown to the information processing apparatus together with the first software An acquisition unit that acquires a program for writing to a medium from outside the other device, and the program execution that executes the program acquired by the acquisition unit and writes the first software to the first storage medium Means.
ソフトウェアの書き込み手順を指定するシェルスクリプトを実行するシェルスクリプト実行手段をさらに備え、前記取得手段は、前記第1のソフトウェアおよび前記プログラムとともに、前記シェルスクリプトをさらに取得し、前記シェルスクリプト実行手段は、前記取得手段により取得された前記シェルスクリプトを実行し、前記プログラム実行手段は、前記シェルスクリプト実行手段により実行される前記シェルスクリプトの記述に従って、前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込むようにすることができる。 Shell script execution means for executing a shell script for specifying a software writing procedure is further provided, wherein the acquisition means further acquires the shell script together with the first software and the program, and the shell script execution means includes: The shell script acquired by the acquisition unit is executed, and the program execution unit executes the program according to a description of the shell script executed by the shell script execution unit, and the first software is installed in the first software. One storage medium can be written.
前記情報処理装置にとって既知の構成として、書き換え可能な第2の記憶媒体を有し、前記第2の記憶媒体にソフトウェアを書き込む書き込み手段をさらに備え、前記取得手段は、前記第1のソフトウェアおよび前記プログラムとともに、前記第2の記憶媒体に書き込む第2のソフトウェアをさらに取得し、前記書き込み手段は、前記第2のソフトウェアを前記第2の記憶媒体に書き込むようにすることができる。 As a configuration known to the information processing apparatus, the information processing apparatus further includes a rewritable second storage medium, and further includes a writing unit that writes software to the second storage medium, and the acquisition unit includes the first software and the Along with the program, second software to be written to the second storage medium may be further acquired, and the writing means may write the second software to the second storage medium.
前記第2の記憶媒体の記憶領域は、汎用の機能を提供するソフトウェアを記憶する共通機能用記憶領域と、前記他の装置固有の機能を提供するソフトウェアを記憶する固有機能用記憶領域とが互いに異なる領域として形成されるようにすることができる。 The storage area of the second storage medium includes a common function storage area that stores software that provides general-purpose functions and a unique function storage area that stores software that provides functions unique to the other apparatus. It can be formed as different regions.
複数のファイルがアーカイブされて1つにまとめられたファイルを展開する展開手段をさらに備え、前記取得手段は、前記第1のソフトウェアおよび前記プログラムを、アーカイブされてまとめられた1つのソフトウェアパッケージとして取得し、前記展開手段は、前記取得手段により取得された前記ソフトウェアパッケージを展開し、前記第1のソフトウェアおよび前記プログラムを分離するようにすることができる。 The image processing apparatus further includes expansion means for expanding a plurality of files archived into a single file, and the acquisition means acquires the first software and the program as one archived software package. Then, the expansion unit can expand the software package acquired by the acquisition unit and separate the first software and the program.
暗号化されたファイルを所定の方式で復号する復号手段をさらに備え、前記取得手段は、暗号化された前記第1のソフトウェアおよび前記プログラムを取得し、前記復号手段は、前記取得手段により取得された、暗号化された前記第1のソフトウェアおよび前記プログラムを所定の方式で復号し、前記プログラム実行手段は、前記復号手段により復号された前記プログラムを実行し、前記復号手段により復号された前記第1のソフトウェアを前記第1の記憶媒体に書き込むようにすることができる。 The apparatus further comprises decryption means for decrypting the encrypted file by a predetermined method, wherein the acquisition means acquires the first software and the program encrypted, and the decryption means is acquired by the acquisition means. Further, the encrypted first software and the program are decrypted by a predetermined method, and the program execution means executes the program decrypted by the decryption means, and the decrypted by the decryption means One software can be written in the first storage medium.
前記取得手段による暗号化されていない平文の前記第1のソフトウェアおよび前記プログラムの取得を許可するかの設定を保持する設定保持手段と、前記設定保持手段により保持されている前記設定を確認する設定確認手段とをさらに備えるようにすることができる。 Setting holding means for holding whether to allow acquisition of the first software and the program in plain text not encrypted by the obtaining means, and setting for confirming the setting held by the setting holding means And a confirmation unit.
本発明の一側面の情報処理方法は、他の装置に組み込まれて使用され、組み込み先の前記他の装置に対して所定の機能を提供する情報処理装置の情報処理方法であって、前記他の装置が前記情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、前記情報処理装置にとって未知の構成である第1の記憶媒体に書き込む第1のソフトウェアとともに、前記第1のソフトウェアを前記第1の記憶媒体に書き込むためのプログラムを、前記他の装置の外部より取得し、前記取得手段により取得された前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込むステップを含む。 An information processing method according to one aspect of the present invention is an information processing method for an information processing apparatus that is used by being incorporated in another apparatus and provides a predetermined function to the other apparatus as an installation destination. The device is a rewritable storage medium having a configuration other than the information processing device, and the first software is written together with the first software written to the first storage medium having an unknown configuration to the information processing device. A step of acquiring a program for writing to the first storage medium from outside the other device, executing the program acquired by the acquisition means, and writing the first software to the first storage medium; including.
本発明の一側面のプログラムは、他の装置に組み込まれて使用され、組み込み先の前記他の装置に対して所定の機能を提供する処理をコンピュータに行わせるプログラムであって、前記他の装置が前記情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、前記情報処理装置にとって未知の構成である第1の記憶媒体に書き込む第1のソフトウェアとともに、前記第1のソフトウェアを前記第1の記憶媒体に書き込むためのプログラムを、前記他の装置の外部より取得し、前記取得手段により取得された前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込むステップを含む。 A program according to an aspect of the present invention is a program that is used by being incorporated in another device, and that causes a computer to perform a process of providing a predetermined function to the other device that is the installation destination. Is a rewritable storage medium having a configuration other than the information processing apparatus, and the first software is written to the first storage medium having a configuration unknown to the information processing apparatus together with the first software. A program for writing to the other storage medium is acquired from outside the other device, the program acquired by the acquisition means is executed, and the first software is written to the first storage medium. .
本発明の一側面においては、他の装置が情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、情報処理装置にとって未知の構成である第1の記憶媒体に書き込む第1のソフトウェアとともに、第1のソフトウェアを第1の記憶媒体に書き込むためのプログラムが、他の装置の外部より取得され、その取得されたプログラムが実行されて、第1のソフトウェアが第1の記憶媒体に書き込まれる。 In one aspect of the present invention, the rewritable storage medium that the other apparatus has as a configuration other than the information processing apparatus, and the first software that writes to the first storage medium that is an unknown configuration for the information processing apparatus, A program for writing the first software to the first storage medium is acquired from the outside of the other device, the acquired program is executed, and the first software is written to the first storage medium.
本発明の一側面によれば、ソフトウェアを更新することができる。特に、より汎用性の高いソフトウェア更新処理を行うことができる。 According to one aspect of the present invention, software can be updated. In particular, a more versatile software update process can be performed.
以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。 Embodiments of the present invention will be described below. The correspondence relationship between the invention described in this specification and the embodiments of the invention is exemplified as follows. This description is intended to assure that embodiments supporting the claimed invention are described in this specification. Therefore, although there is an embodiment which is described in the embodiment of the invention but is not described here as corresponding to the invention, it means that the embodiment is not It does not mean that it does not correspond to the invention. Conversely, even if an embodiment is described herein as corresponding to an invention, that means that the embodiment does not correspond to an invention other than the invention. Absent.
さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加されたりする発明の存在を否定するものではない。 Further, this description does not mean all the inventions described in this specification. In other words, this description is an invention described in the present specification and is not claimed in this application, that is, an invention that will be filed in the future or added by amendment. Is not to deny.
本発明の一側面の情報処理装置は、他の装置(例えば、図4の画像処理装置)に組み込まれて使用され、組み込み先の前記他の装置に対して所定の機能を提供する情報処理装置(例えば、図1の汎用プラットフォーム)であって、前記他の装置が前記情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、前記情報処理装置にとって未知の構成である第1の記憶媒体(例えば、図5のROM)に書き込む第1のソフトウェア(例えば、図6のイメージデータ)とともに、前記第1のソフトウェアを前記第1の記憶媒体に書き込むためのプログラム(例えば、図6の更新プログラム)を、前記他の装置の外部より取得する取得手段(例えば、図3のFTPデーモン)と、前記取得手段により取得された前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込むプログラム実行手段(例えば、図3の更新プログラム実行部)とを備える。 An information processing apparatus according to an aspect of the present invention is used by being incorporated in another apparatus (for example, the image processing apparatus in FIG. 4), and provides a predetermined function to the other apparatus at the incorporation destination. (For example, the general-purpose platform in FIG. 1), which is a rewritable storage medium that the other apparatus has as a configuration other than the information processing apparatus, and a first storage medium that is unknown to the information processing apparatus A program (for example, the update program of FIG. 6) for writing the first software to the first storage medium together with the first software (for example, the image data of FIG. 6) to be written to (for example, the ROM of FIG. 5) ) Is acquired from outside the other device (for example, FTP daemon in FIG. 3), and the program acquired by the acquisition unit is executed, and the first Program executing means for writing software to said first storage medium (e.g., the update execution unit of FIG. 3) and a.
ソフトウェアの書き込み手順を指定するシェルスクリプト(例えば、図6のシェルスクリプト)を実行するシェルスクリプト実行手段(例えば、図3のシェルスクリプト実行部)をさらに備え、前記取得手段は、前記第1のソフトウェアおよび前記プログラムとともに、前記シェルスクリプトをさらに取得し、前記シェルスクリプト実行手段は、前記取得手段により取得された前記シェルスクリプトを実行し、前記プログラム実行手段は、前記シェルスクリプト実行手段により実行される前記シェルスクリプトの記述に従って、前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込むようにすることができる。 Shell script execution means (for example, the shell script execution unit of FIG. 3) for executing a shell script (for example, the shell script of FIG. 6) for specifying a software writing procedure is further provided, and the acquisition means includes the first software The shell script is further acquired together with the program, the shell script execution means executes the shell script acquired by the acquisition means, and the program execution means is executed by the shell script execution means. The program can be executed in accordance with the description of the shell script, and the first software can be written to the first storage medium.
前記情報処理装置にとって既知の構成として、書き換え可能な第2の記憶媒体(例えば、図1のROM)を有し、前記第2の記憶媒体にソフトウェアを書き込む書き込み手段(例えば、図3のROM書き込み制御部)をさらに備え、前記取得手段は、前記第1のソフトウェアおよび前記プログラムとともに、前記第2の記憶媒体に書き込む第2のソフトウェア(例えば、図6のイメージデータ)をさらに取得し、前記書き込み手段は、前記第2のソフトウェアを前記第2の記憶媒体に書き込むようにすることができる。 As a configuration known to the information processing apparatus, a rewritable second storage medium (for example, ROM in FIG. 1) is provided, and writing means for writing software into the second storage medium (for example, ROM writing in FIG. 3) And the acquisition means further acquires second software (for example, image data in FIG. 6) to be written to the second storage medium together with the first software and the program. The means can write the second software in the second storage medium.
前記第2の記憶媒体の記憶領域は、汎用の機能を提供するソフトウェアを記憶する共通機能用記憶領域(例えば、図2の製品共通機能格納領域)と、前記他の装置固有の機能を提供するソフトウェアを記憶する固有機能用記憶領域(例えば、図2の製品固有機能格納領域)とが互いに異なる領域として形成されるようにすることができる。 The storage area of the second storage medium provides a common function storage area (for example, the product common function storage area of FIG. 2) for storing software that provides general-purpose functions, and functions unique to the other devices. The unique function storage area for storing software (for example, the product unique function storage area in FIG. 2) may be formed as different areas.
複数のファイルがアーカイブされて1つにまとめられたファイルを展開する展開手段(例えば、図3のソフトウェアパッケージ展開処理部)をさらに備え、前記取得手段は、前記第1のソフトウェアおよび前記プログラムを、アーカイブされてまとめられた1つのソフトウェアパッケージ(例えば、図6のソフトウェアパッケージ)として取得し、前記展開手段は、前記取得手段により取得された前記ソフトウェアパッケージを展開し、前記第1のソフトウェアおよび前記プログラムを分離するようにすることができる。 The image processing apparatus further includes expansion means (for example, a software package expansion processing unit in FIG. 3) that expands a plurality of files archived into one, and the acquisition means includes the first software and the program, Obtained as one software package archived and collected (for example, the software package of FIG. 6), and the expansion means expands the software package acquired by the acquisition means, and the first software and the program Can be separated.
暗号化されたファイルを所定の方式で復号する復号手段(例えば、図22の復号処理部)をさらに備え、前記取得手段は、暗号化された前記第1のソフトウェアおよび前記プログラム(例えば、図19の暗号文ソフトウェアパッケージ)を取得し、前記復号手段は、前記取得手段により取得された、暗号化された前記第1のソフトウェアおよび前記プログラムを所定の方式で復号し、前記プログラム実行手段は、前記復号手段により復号された前記プログラムを実行し、前記復号手段により復号された前記第1のソフトウェアを前記第1の記憶媒体に書き込むようにすることができる。 Decryption means (for example, the decryption processing unit in FIG. 22) for decrypting the encrypted file by a predetermined method is further provided, and the acquisition means includes the encrypted first software and the program (for example, FIG. 19). The ciphertext software package), and the decrypting means decrypts the encrypted first software and the program obtained by the obtaining means by a predetermined method. The program decrypted by the decrypting means may be executed, and the first software decrypted by the decrypting means may be written to the first storage medium.
前記取得手段による暗号化されていない平文の前記第1のソフトウェアおよび前記プログラム(例えば、図19の平文ソフトウェアパッケージ)の取得を許可するかの設定を保持する設定保持手段(例えば、図20の設定値格納領域)と、前記設定保持手段により保持されている前記設定を確認する設定確認手段(例えば、図22の設定確認部)とをさらに備えるようにすることができる。 A setting holding unit (for example, the setting of FIG. 20) that holds a setting as to whether or not to acquire the unencrypted plaintext first software and the program (for example, the plaintext software package of FIG. 19) by the acquiring unit. A value storage area) and setting confirmation means (for example, a setting confirmation unit in FIG. 22) for confirming the setting held by the setting holding means.
本発明の一側面の情報処理方法またはプログラムは、他の装置(例えば、図4の画像処理装置)に組み込まれて使用され、組み込み先の前記他の装置に対して所定の機能を提供する情報処理装置(例えば、図1の汎用プラットフォーム)の情報処理方法であって、前記他の装置が前記情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、前記情報処理装置にとって未知の構成である第1の記憶媒体(例えば、図5のROM)に書き込む第1のソフトウェア(例えば、図6のイメージデータ)とともに、前記第1のソフトウェアを前記第1の記憶媒体に書き込むためのプログラム(例えば、図6の更新プログラム)を、前記他の装置の外部より取得し(例えば、図9のステップS31)、前記取得手段により取得された前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込む(例えば、図9のステップS35)ステップを含む。 The information processing method or program according to one aspect of the present invention is used by being incorporated in another apparatus (for example, the image processing apparatus in FIG. 4), and provides a predetermined function to the other apparatus to be incorporated. An information processing method of a processing device (for example, the general-purpose platform in FIG. 1), which is a rewritable storage medium that the other device has as a configuration other than the information processing device, and has a configuration unknown to the information processing device A program for writing the first software to the first storage medium together with first software (for example, image data of FIG. 6) to be written to a certain first storage medium (for example, the ROM of FIG. 5). The update program in FIG. 6 is acquired from outside the other device (for example, step S31 in FIG. 9), and the program acquired by the acquisition unit is acquired. Run the beam, writing the first software to said first storage medium (e.g., step S35 in FIG. 9) comprising the steps.
以下、本発明の実施の形態について図を参照して説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
図1は、本発明を適用した汎用プラットフォームの一実施形態に係る構成例を示す図である。 FIG. 1 is a diagram illustrating a configuration example according to an embodiment of a general-purpose platform to which the present invention is applied.
図1において、汎用プラットフォーム1は、何らかの製品に組み込まれて使用されるユニットであり、汎用のハードウェアおよびソフトウェアにより構成され、例えば、通信機能や制御機能等、所定の汎用の機能をその製品に提供するプラットフォームである。つまり、この汎用プラットフォーム1が組み込まれた製品は、互いに異なる装置であっても、同じ機能を有する。 In FIG. 1, a general-purpose platform 1 is a unit that is used by being incorporated in some product, and is configured by general-purpose hardware and software. For example, a predetermined general-purpose function such as a communication function and a control function is included in the product. It is a platform to provide. That is, a product in which the general-purpose platform 1 is incorporated has the same function even if they are different devices.
図1に示されるように、汎用プラットフォーム1は、バス10を介して互いに接続されるCPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、およびイーサネット(登録商標)I/F(InterFace)14を有する。
As shown in FIG. 1, the general-purpose platform 1 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, and an Ethernet (registered) connected to each other via a
バス10は、例えばPCI(Peripheral Components Interconnec)等の所定の規格のバスであり、CPU11、ROM12、RAM13、およびイーサネット(登録商標)I/F14の間で授受される情報を伝送する。また、バス10は、汎用プラットフォーム1の外部の構成(汎用プラットフォーム1が組み込まれた製品固有の構成)とも接続され、それらの製品固有の構成と、CPU11、ROM12、RAM13、およびイーサネット(登録商標)I/F14との間で授受される情報も伝送する。
The
CPU11は、例えば、ROM12に記憶され、RAM13にロードされたプログラム等を実行することにより、各部の動作を制御する処理部である。ROM12は、例えばフラッシュメモリ等の不揮発性の書き換え可能な記憶媒体であり、プラットフォームとして構成され、製品共通の機能を提供する共通ソフトウェア(プログラムやデータ等)を記録する。また、ROM12は、各製品固有の機能を提供する製品固有のソフトウェア(プログラムやデータ等)も記録する。ROM12の詳細な構成については後述する。
The
RAM13は、揮発性の半導体メモリにより構成される揮発性の記憶媒体である。例えば、RAM13は、CPU11に制御され、ROM12より読み出されたソフトウェア(プログラムやデータ等)を一時的に保持し、必要に応じてCPU11等に保持している情報を提供する。イーサネット(登録商標)I/F14は、例えばイーサネット(登録商標)やインターネット等のネットワークを介して外部の装置(汎用プラットフォーム1が組み込まれている製品とネットワークを介して接続される装置)と通信処理を行い、その外部の装置と情報の授受を行う。例えば、イーサネット(登録商標)I/F14は、ROM12に記憶されているソフトウェアの更新データを外部の装置より取得し、バス10を介して、それをRAM13に保持させる。CPU11は、そのRAM13に保持されている更新データを用いてROM12に記録されているソフトウェアを更新する。
The
なお、この汎用プラットフォーム1は、物理的に1つのユニットとして構成されるようにしてもよいが、複数のユニットとして構成されるようにしてもよく、各部の関係が図1に示される構成と実質的に同等となるのであれば、物理的な構成はどのようなものであってもよい。また、汎用プラットフォーム1が提供する汎用な機能は1つだけでなく、複数であってももちろんよい。 The general-purpose platform 1 may be physically configured as a single unit, but may be configured as a plurality of units, and the relationship between the components is substantially the same as the configuration illustrated in FIG. As long as they are equivalent to each other, any physical configuration may be used. Of course, the general-purpose platform 1 provides not only one general-purpose function but also a plurality of general-purpose functions.
この汎用プラットフォーム1が組み込まれる製品としては、例えば、AV機器、パーソナルコンピュータ、冷蔵庫、若しくは洗濯機等の各種家庭電化製品、放送設備や交通管理システム等を構成する装置、または、自動車や飛行機等に組み込まれる電子制御装置等、様々な電子機器が考えられる。つまり、電子回路により制御や処理を行うものであればどのようなものであってもよい。 Examples of products in which the general-purpose platform 1 is incorporated include various home appliances such as AV equipment, personal computers, refrigerators, and washing machines, devices constituting broadcasting facilities and traffic management systems, automobiles, airplanes, and the like. Various electronic devices such as an electronic control device to be incorporated can be considered. In other words, any device may be used as long as control and processing are performed by an electronic circuit.
この汎用プラットフォーム1の開発方法としては様々な場合が考えられるが、ここでは、本発明に関する説明に限定するために、便宜上、汎用プラットフォーム1の開発においては、組み込み先となる製品の構成や機能(特に製品特有の機能)を特定しないものとする。 There are various possible development methods for the general-purpose platform 1, but here, for the sake of convenience, in the development of the general-purpose platform 1, in order to limit the description to the present invention, the configuration and function ( In particular, product specific functions) shall not be specified.
つまり、汎用プラットフォーム1のROM12は、後述するように、組み込み先の製品固有の機能を実現するためのソフトウェアを記憶することも可能であるが、汎用プラットフォーム1の開発時においては、ROM12にそのようなソフトウェアを記憶する記憶領域を設けるだけで、そのようなソフトウェア自体は開発しないものとする(組み込み先製品固有のソフトウェアはその製品の開発時に開発するものとする)。
That is, as will be described later, the
汎用プラットフォーム1の組み込み先の製品の開発者は、その製品の開発時において、既に開発済みの汎用プラットフォーム1を用いることにより、その汎用の機能に関する開発を省略することができる。すなわち、製品の開発者は、汎用プラットフォーム1を製品に組み込むことにより、開発コストの低減や開発期間の短縮を実現する。 A developer of a product into which the general-purpose platform 1 is incorporated can omit development related to the general-purpose functions by using the already-developed general-purpose platform 1 when developing the product. In other words, the product developer incorporates the general-purpose platform 1 into the product, thereby reducing the development cost and the development period.
このとき、組み込み先の製品の開発者は、上述したように開発した製品固有のソフトウェアを製品固有のROMに記憶させることもできるが、ROM12に記憶させることもできる。
At this time, the developer of the product at the installation destination can store the product-specific software developed as described above in the product-specific ROM, but can also store it in the
なお、汎用プラットフォーム1の開発者と、汎用プラットフォーム1を組み込む製品の開発者とが同一人物であってももちろんよいが、ここでは説明の便宜上、それらが互いに異なるものとして説明する。 Of course, the developer of the general-purpose platform 1 and the developer of the product incorporating the general-purpose platform 1 may be the same person, but here, for convenience of explanation, they will be described as being different from each other.
また、図1に示される汎用プラットフォーム1は、汎用の機能として、例えば、イーサネット(登録商標)I/F14を利用した、組み込み先の製品の外部の装置との通信機能、並びに、ROM12や組み込み先の製品固有のROMに情報を書き込む機能を提供する。すなわち、汎用プラットフォーム1は、例えば、組み込み先の製品の外部の装置よりソフトウェアを取得し、そのソフトウェアを用いて、各ROMが記憶するソフトウェアを更新することができる。
In addition, the general-purpose platform 1 shown in FIG. 1 has, as general-purpose functions, for example, a communication function with an external device of a built-in product using the Ethernet (registered trademark) I /
次に、このような機能を提供するためのソフトウェアが記憶されるROM12の記憶領域の構成について説明する。図2は、ROM12の記憶領域の構成例を示す模式図である。
Next, the configuration of the storage area of the
図2において、ROM12の記憶領域は、オペレーティングシステム格納領域21、製品共通機能格納領域22、および製品固有機能格納領域23を有する。
In FIG. 2, the storage area of the
オペレーティングシステム格納領域21は、例えばLinux(登録商標)等のオペレーティングシステム(オペレーティングシステムとして構成されるソフトウェア)を格納する。製品共通機能格納領域22は、汎用プラットフォーム1が組み込まれる、さまざまな製品に共通に利用される(共通の機能を提供する)ソフトウェア(プログラムやデータ等)を格納する。
The operating
製品共通機能格納領域22は、FTP(File Transfer Protocol)サーバプログラム31、展開処理プログラム32、シェルスクリプト実行プログラム33、汎用インストールプログラム34、および設定値35を有する。
The product common
FTPサーバプログラム31は、CPU11により実行されるプログラムである。CPU11は、このFTPサーバプログラム31を実行することにより、イーサネット(登録商標)I/F14を制御し、FTPを利用したファイル転送サービスを提供するFTPサーバ機能を実現する。例えば、CPU11は、イーサネット(登録商標)I/F14を制御し、このFTPサーバ機能を利用して、ROM12に記憶されているソフトウェアを更新するための情報を外部の装置より受け付ける。
The
展開処理プログラム32は、CPU11により実行されるプログラムである。CPU11は、この展開処理プログラム32を実行することにより、アーカイブされて1つのファイルにまとめられた複数のソフトウェアを展開(分離)する展開処理機能を実現する。例えば、CPU11は、イーサネット(登録商標)I/F14を介して取得した、複数のソフトウェアがアーカイブされて1つのファイルにまとめられたソフトウェアパッケージを、この展開処理機能を用いて展開し、分離された各ソフトウェアを互いに異なるファイルとしてRAM13に保持させる。
The
シェルスクリプト実行プログラム33は、CPU11により実行されるプログラムである。CPU11は、このシェルスクリプト実行プログラム33を実行することにより、RAM13に保持されているシェルスクリプトの記述を1行ずつ実行するシェルスクリプト実行機能を実現する。例えば、CPU11は、このシェルスクリプト実行機能を利用して、ソフトウェア更新方法が記載されたシェルスクリプトに従って、ソフトウェア更新プログラムを実行する。
The shell
汎用インストールプログラム34は、CPU11により実行されるプログラムである。CPU11は、この汎用インストールプログラム34を実行することにより、ROM12に各種ソフトウェアをインストールする、汎用インストール機能を実現する。ROM12は、汎用プラットフォーム1を構成する記憶媒体であり、汎用プラットフォーム1(汎用プラットフォーム1の開発者)にとって既知である。つまり、汎用インストールプログラム34は、汎用プラットフォーム1の開発時に既知のROM12に対する書き込み処理を実現するプログラムである。換言すると、ROM12が汎用プラットフォーム1の開発時において既知であるので、汎用プラットフォーム1の開発者は、そのROM12にソフトウェアを書き込む処理を行う汎用インストールプログラム34を、汎用プラットフォーム1の開発時に作成可能することができる。例えば、CPU11は、この汎用インストールプログラム34を実行することにより、ROM12に記憶されている各種ソフトウェアを更新する。
The
設定値35は、各種ソフトウェア(例えば上述したプログラム)の実行時に利用される設定値を含む。この設定値35は、例えば各種ソフトウェアの実行時等、必要に応じて参照される。
The setting
製品固有機能格納領域23は、その製品のみで利用される(製品特有の機能を提供する)ソフトウェア(プログラムやデータ等)を格納する。従って、汎用プラットフォーム1の開発時に組み込み先となる製品が特定されていない場合、この製品固有機能格納領域23は空き領域となる。
The product-specific
CPU11は、これらの領域に格納されるソフトウェア(プログラムやデータ等)をRAM13にロードし、実行することにより、各種の機能を実現する。次に、このようにプログラムを実行することによりCPU11が有する機能について説明する。図3は、図2に示される各種プログラムを実行することにより、CPU11が有する機能を示す機能ブロックの構成例を示す図である。
The
図3に示されるように、CPU11は、図2のFTPサーバプログラム31、展開処理プログラム32、シェルスクリプト実行プログラム33、汎用インストールプログラム34、および設定値35をRAM13にロードして実行することにより、機能ブロックである、FTPデーモン41、ソフトウェアパッケージ展開処理部42、シェルスクリプト実行部43、ROM書き込み制御部44、および更新プログラム実行部45を有する。
As shown in FIG. 3, the
FTPデーモン41は、CPU11が、FTPサーバプログラム31を実行することにより得られる機能を示す機能ブロックである。FTPデーモン41は、イーサネット(登録商標)I/F14を制御して、FTPサーバとしての機能を提供する。FTPデーモン41は、例えば、イーサネット(登録商標)I/F14を制御し、他の装置からのFTPによるファイル転送を受け付け、複数のソフトウェアをまとめたソフトウェアパッケージを取得する。FTPデーモン41は、その取得したソフトウェアパッケージをRAM13に保持させ、処理をソフトウェアパッケージ展開処理部42に渡す。
The
ソフトウェアパッケージ展開処理部42は、CPU11が、展開処理プログラム32を実行することにより得られる機能を示す機能ブロックである。ソフトウェアパッケージ展開処理部42は、アーカイブされて1つのファイル(ソフトウェアパッケージ)にまとめられた複数のソフトウェア(プログラムやデータ等)を展開し、それぞれを互いに異なるファイルとしてRAM13に保持させる。例えば、ソフトウェアパッケージ展開処理部42は、FTPデーモン41が取得したソフトウェアパッケージをRAM13上で展開し、処理をシェルスクリプト実行部43に渡す。
The software package
シェルスクリプト実行部43は、CPU11が、シェルスクリプト実行プログラム33を実行することにより得られる機能を示す機能ブロックである。シェルスクリプト実行部43は、RAM13に保持されているシェルスクリプトの記述を1行ずつ実行する。シェルスクリプトは、複数の処理をまとめて行う(バッチ処理)ときにその手順を示す記述により構成されるファイルであり、オペレーティングシステムのシェルが直接解釈することにより処理される。シェルスクリプト実行部43は、例えば、ソフトウェアパッケージ展開処理部42により展開されて得られたファイルに含まれるシェルスクリプトの記述を1行ずつ実行することにより、ROM書き込み制御部44や更新プログラム実行部45を必要に応じて制御し、複数の処理を連続して実行させる。
The shell
ROM書き込み制御部44は、CPU11が、汎用インストールプログラム34を実行することにより得られる機能を示す機能ブロックである。ROM書き込み制御部44は、ROM12へのソフトウェアの書き込みに関する制御処理を行う。例えば、ROM書き込み制御部44は、シェルスクリプト実行部43に制御され、ROM12やRAM13を制御し、シェルスクリプトの記述により指定されたソフトウェアをROM12に書き込む。
The ROM
更新プログラム実行部45は、CPU11が実行するオペレーティングシステムの機能を示す機能ブロックである。更新プログラム実行部45は、RAM13に保持されている、ソフトウェア更新用のプログラムである更新プログラムを実行する。例えば、更新プログラム実行部45は、シェルスクリプト実行部43に制御され、RAM13に保持されている、シェルスクリプトの記述により指定された更新プログラムを実行し、その更新プログラムに対応するROM(例えば、ROM13以外の、製品固有のROM)に記憶されている、シェルスクリプトの記述により指定されたソフトウェアを更新する。
The update
この更新プログラムは、汎用プラットフォーム1の組み込み先の製品の開発時に作成されるソフトウェアであり、汎用プラットフォーム1の開発時において未知であった製品固有のROM(汎用プラットフォーム1にとって未知のROM)の情報を有し、その未知のROMに対する書き込みを実現するためのプログラムである。 This update program is software created at the time of development of the product into which the general-purpose platform 1 is embedded, and information on product-specific ROM (unknown ROM for the general-purpose platform 1) that was unknown at the time of development of the general-purpose platform 1 And a program for realizing writing to the unknown ROM.
つまり、汎用プラットフォーム1のCPU11は、汎用プラットフォーム1にとって既知のROM13に対する書き込みを、汎用インストールプログラム34を実行することにより実現し(ROM書き込み制御部44により行い)、汎用プラットフォーム1にとって未知のROM(製品固有のROM)に対する書き込みを、更新プログラムを実行することにより実現する(更新プログラム実行部45により行う)。
That is, the
CPU11は、ROM12の各プログラムを実行することにより、上述したような機能を実現する。なお、設定部35は、上述した各処理を行う際に適宜参照される。また、図3に示されるような各機能ブロックの一部または全部をハードウェアにより実現するようにしてももちろん良い。
The
次に、上述した汎用プラットフォームの具体的な使用例について説明する。 Next, a specific usage example of the above-described general-purpose platform will be described.
図4は、汎用プラットフォーム1の具体的な使用例を示す図である。 FIG. 4 is a diagram illustrating a specific usage example of the general-purpose platform 1.
図4において、汎用プラットフォーム1は、画像処理装置51に組み込まれている。汎用プラットフォーム1は、ネットワーク50を介してパーソナルコンピュータ52および画像提供装置53に接続されており、画像処理装置51において、他の装置との通信に関する処理を行う。例えば、汎用プラットフォーム1は、ネットワーク50を介して画像提供装置53と通信を行い、画像提供装置53より、画像処理装置51において処理する画像データを取得する。
In FIG. 4, the general-purpose platform 1 is incorporated in an
また、例えば、汎用プラットフォーム1は、ネットワーク50を介してパーソナルコンピュータ52と通信を行い、パーソナルコンピュータ52より、画像処理装置51のソフトウェア(ファームウェア)を更新するためのソフトウェアパッケージを取得し、そのソフトウェアパッケージを用いて画像処理装置51が有するソフトウェアを更新する処理を行う。
For example, the general-purpose platform 1 communicates with the
つまり、画像処理装置51は、ソフトウェア(ファームウェア)の更新が可能であり、その機能は、汎用プラットフォーム1が提供する。このとき、汎用プラットフォーム1は、上述したハードウェアやソフトウェアを有しており、既知のROM12に記憶されるソフトウェアだけでなく、画像処理装置51固有のROMに記憶されるソフトウェアも更新することができる。以下において、その具体的な例を説明する。
That is, the
図5は、画像処理装置51の内部の構成例を示すブロック図である。
FIG. 5 is a block diagram illustrating an internal configuration example of the
図5に示されるように、画像処理装置51は、汎用プラットフォーム1の他にデコーダユニット60を有する。デコーダユニット60は、画像処理装置51固有のデコーダ機能を実現するユニットであり、汎用プラットフォーム1が画像提供装置53より取得する画像データに対してデコード処理を行う。デコーダユニット60は、FPGA(Field Programmable Gate Array)61、デコーダ62、RAM63、およびROM64を有している。
As shown in FIG. 5, the
FPGA61は、例えば、ROM64に記憶されているソフトウェアをRAM63にロードして実行することにより、デコーダ62、RAM63、およびROM64の各部を制御する等、各種の処理を実現する処理部である。例えば、FPGA61は、汎用プラットフォーム1のバス10に接続され、このバス10を介してイーサネット(登録商標)I/F14から供給される画像データをデコーダ62に供給する。
The
デコーダ62は、FPGA61に制御され、所定の方式で符号化された画像データを復号する処理部である。例えば、デコーダ62は、FPGA61より供給される画像データを復号し、それを画像処理装置51の外部に出力する。
The
RAM63は、FPGA61より供給されるソフトウェア(プログラムやデータ)を一時的に保持する。ROM64は、FPGA61に制御され、FPGA61により実行されるプログラムや、その際に必要なデータ等を含む、画像処理装置51固有の機能を実現するためのソフトウェア(例えば、デコーダ62におけるデコード処理を制御するプログラム)を記憶する。
The
汎用プラットフォーム1のCPU11は、汎用プラットフォーム1のROM12に記憶されるソフトウェアだけでなく、画像処理装置51固有のROMであり、汎用プラットフォーム1にとって未知のROM64に記憶されるソフトウェアの更新も行う。
The
図6は、パーソナルコンピュータ52より供給されるソフトウェアパッケージの構成例を示す模式図である。
FIG. 6 is a schematic diagram illustrating a configuration example of a software package supplied from the
図6において、ソフトウェアパッケージ70は、ROM12およびROM64に記憶されているソフトウェアを更新するためのプログラムやデータである、シェルスクリプト71、更新プログラム72、イメージデータ73、およびイメージデータ74がアーカイブされたファイルである。
In FIG. 6, a software package 70 is a file in which a
シェルスクリプト71(update.sh)は、後述するように、ROM12およびROM64の更新手順を示す記述により構成されるスクリプトファイルである。更新プログラム72(fpga_update)は、画像処理装置51固有の構成であり、FPGA61の制御下にあるROM64に記憶されるソフトウェアを更新する処理を行うプログラムファイルである。イメージデータ73(app.image)は、ROM12に書き込まれるソフトウェアである。イメージデータ74(fpga.image)は、ROM64に書き込まれるソフトウェアである。
As will be described later, the shell script 71 (update.sh) is a script file configured by a description indicating the update procedure of the
CPU11は、このような構成のソフトウェアパッケージ70を取得し、展開して各ファイルを復元すると、シェルスクリプト71の記述に従って、イメージデータ73をROM12に書き込んだり、更新プログラム72を実行してイメージデータ74をROM64に書き込んだりする。
When the
これらのソフトウェアのうち、少なくともシェルスクリプト71、更新プログラム72、およびイメージデータ74は、画像処理装置51固有の構成であるデコーダユニット60の構成が既知の状態で(例えば、画像処理装置51開発後に)作成されたものである。もちろん、イメージデータ73も、例えば、製品固有機能格納領域23に記憶される画像処理装置51固有のソフトウェアであるような場合、画像処理装置51固有の構成であるデコーダユニット60の構成が既知である必要がある場合もあるが、いずれにせよ、汎用プラットフォーム1の開発時においては、図2に示されるように、図6に示される構成のソフトウェアパッケージ70を処理することができるような構成が用意されるのみであり、図6に示されるソフトウェアパッケージ70(およびソフトウェアパッケージ70を構成する各ファイル)自体は作成されていない。
Among these softwares, at least the
つまり、汎用プラットフォーム1は、図6に示されるような、画像処理装置51固有の構成を踏まえて作成されたソフトウェアパッケージ70を処理することにより、汎用プラットフォーム1にとって未知のROM64に対しても書き込み処理を行うことができる。すなわち、汎用プラットフォーム1は、上述した構成を有することにより、より汎用性の高いソフトウェア更新処理を行うことができる。
In other words, the general-purpose platform 1 processes the software package 70 created based on the configuration unique to the
より具体的には、汎用プラットフォーム1のCPU11は、予め用意された汎用インストールプログラム34を用いて、既知のROM12にイメージデータ73を書き込むことができるだけでなく、イメージデータ74とともに供給される更新プログラム72を実行することにより、汎用プラットフォーム1にとって未知のROM64にイメージデータ74を書き込むこともできる。さらに、CPU11がこれらの処理を連続して実行するための、シェルスクリプト71が用意されているので、汎用プラットフォーム1は、キーボードやディスプレイ等、ユーザによる操作を受け付けるための構成を必要とせずに、上述した書き込み処理(ソフトウェア更新処理)を実行することができる。
More specifically, the
なお、図6において示されるソフトウェアパッケージ70の構成は、あくまでも一例であり、これ以外のどのような構成であってももちろんよい。例えば、ROM64のソフトウェアのみを更新する場合、イメージデータ73は省略することができるし、ROM12のソフトウェアのみを更新する場合、更新プログラム72やイメージデータ74は省略することができる。
Note that the configuration of the software package 70 shown in FIG. 6 is merely an example, and any other configuration may be used. For example, when only the software in the
ソフトウェア更新の流れをさらに具体的に説明するために、次に、シェルスクリプトの記述の例を説明する。図7は、図6のシェルスクリプト71(update.sh)の記述例を示す模式図である。 In order to describe the flow of software update more specifically, an example of description of a shell script will be described next. FIG. 7 is a schematic diagram showing a description example of the shell script 71 (update.sh) in FIG.
図7において、シェルスクリプト71の1行目には、「#!/bin/sh」と記述されており、このファイルがシェルスクリプトであることが示されている。シェルスクリプト実行部43は、このシェルスクリプト71の各行の記述を上から順に実行する。つまり、CPU11は、シェルスクリプト実行プログラム33を実行し、シェルスクリプト71の記述に従った制御処理を行う。
In FIG. 7, “#! / Bin / sh” is described in the first line of the
シェルスクリプト71の2行目には「update app.image」と記述されており、「update」というプログラムを「app.image」という引数つきで実行せよという指示が示されている。シェルスクリプト実行部43は、この記述に基づいて、ROM書き込み制御部44に「update」処理を実行させ、イメージデータ73(app.image)をROM12に書き込ませる。つまり、CPU11は、この記述に基づいて、汎用インストールプログラム34を実行し、「update」コマンドに対応する処理を実行し、イメージデータ73(app.image)をROM12に書き込む。
The second line of the
シェルスクリプト71の3行目には「fpga_update fpga.image」と記述されており、「fpga_update」、すなわち更新プログラム72を「fpga.image」という引数つきで実行せよという指示が示されている。シェルスクリプト実行部43は、この記述に基づいて、更新プログラム実行部45に「fpga_update」処理を実行させ、イメージデータ74(fpga.image)をROM64に書き込ませる。更新プログラム72には、画像処理装置51特有の構成であるROM64にソフトウェアを書き込むための処理が含まれている。つまり、CPU11は、シェルスクリプト71の3行目の記述に基づいて、更新プログラム72(fpga_update)を実行することにより、イメージデータ74(fpga.image)を、プラットフォーム1の開発時に想定されていない(プラットフォーム1にとって未知である)ROM64に書き込む。
The third line of the
なお、図7において示されるシェルスクリプト71の記述は、あくまでも一例であり、これ以外のどのような記述であってももちろんよい。例えば、コマンド名や、引数の種類や記述方式などは、予め定められており、CPU11が処理可能であるならば、どのようなものであってもよい。
Note that the description of the
次に、図4に示される構成例について、画像処理装置51のソフトウェア更新処理の具体的な流れの例を、図8のフローチャートを参照して説明する。
Next, an example of a specific flow of software update processing of the
ROM12およびROM64に記憶されているソフトウェアを更新するためのソフトウェアパッケージ70は、図4に示されるように、パーソナルコンピュータ52よりネットワーク50を介して供給される。つまり、パーソナルコンピュータ52は、汎用プラットフォーム1のFTPデーモン41が提供するFTPサーバ機能を利用して、ソフトウェアパッケージを汎用プラットフォーム1にFTP転送する。FTPデーモン41は、予め固有のアドレス(例えばIPアドレスやMACアドレス等)を有している。パーソナルコンピュータ52は、図8のステップS11において、そのアドレスに対してFTP開始コマンド(例えば、「ftp」コマンドや「open」コマンド)を送信し、画像処理装置51(汎用プラットフォーム1)と、FTPファイル転送処理を行うための通信の接続を確立する。この処理に対して、FTPデーモン41は、ステップS21の処理を行い、接続を確立するための応答処理を行う。
A software package 70 for updating software stored in the
FTP接続が確立すると、パーソナルコンピュータ52は、次に、ステップS12において、汎用プラットフォーム1に対して、ファイル転送を要求する転送要求コマンド(例えば「put」コマンド)を送信し、ソフトウェアパッケージ70を汎用プラットフォーム1に送信(転送)する。
When the FTP connection is established, the
この送信処理に対して、画像処理装置51は、ステップS22において、インストール処理を実行する。
In response to this transmission process, the
次に、図8のステップS22において実行されるインストール処理の詳細な流れの例について、図9のフローチャートを参照して説明する。なお、ここでは、図6に示される構成のソフトウェアパッケージ70を受信する場合について説明する。このとき、ソフトウェアパッケージ70に含まれるシェルスクリプト71には、図7に示されるスクリプトが記述されている。
Next, an example of a detailed flow of the installation process executed in step S22 of FIG. 8 will be described with reference to the flowchart of FIG. Here, a case where the software package 70 having the configuration shown in FIG. 6 is received will be described. At this time, the script shown in FIG. 7 is described in the
汎用プラットフォーム1のFTPデーモン41は、パーソナルコンピュータ52より「put」コマンドを受け取ると、ステップS31において、イーサネット(登録商標)I/F14を制御し、ソフトウェアパッケージ70の受信処理を行う。パーソナルコンピュータ52より供給されたソフトウェアパッケージ70を取得すると、FTPデーモン41は、それをRAM13に保持させ、処理をステップS32に進める。ステップS32において、ソフトウェアパッケージ展開処理部42は、RAM13が保持しているソフトウェアパッケージ70を展開し、シェルスクリプト71、更新プログラム72、イメージデータ73、およびイメージデータ74を復元し、それらを互いに異なるファイルとしてRAM13に保持させる。ソフトウェアパッケージを展開させると、ソフトウェアパッケージ展開処理部42は、処理をステップS33に進める。
When the
シェルスクリプト実行部43は、ステップS33において、そのRAM13に保持されたシェルスクリプト71を実行する。図7に示されるように、シェルスクリプト71の2行目には、ROM12への書き込みが指示されている。従って、ROM書き込み制御部44は、ステップS34において、シェルスクリプト71の2行目の記述(update app.image)を実行するシェルスクリプト実行部43に制御され、イメージデータ73をROM12に書き込む。また、図7に示されるように、シェルスクリプト71の3行目には、更新プログラム72の実行(ROM64への書き込み)が指示されている。従って、更新プログラム実行部45は、ステップS35において、シェルスクリプト71の3行目の記述(fpga_update fpga.image)を実行するシェルスクリプト実行部43に制御され、イメージデータ74をFPGA61のROM64に書き込む。ステップS35の処理を終了し、シェルスクリプトの実行が終了すると、シェルスクリプト実行部43は、インストール処理を終了する。
The shell
以上のように、汎用プラットフォーム1は、画像処理装置51のソフトウェアを更新するソフトウェアとともに、そのソフトウェアを、画像処理装置51の所定のROMに書き込むための更新プログラムを取得し、その更新プログラムを用いてソフトウェアの更新を行うことができるので、汎用プラットフォーム1が組み込まれた製品固有の、汎用プラットフォーム1にとって未知のROMに記憶されるソフトウェアを更新することができる。つまり、汎用プラットフォーム1は、上述した構成を有し、上述した処理を実行することにより、どのような構成の製品に組み込まれても、その製品固有のROMに記憶されるソフトウェアを更新することができる。すなわち、汎用プラットフォーム1は、より汎用性の高いソフトウェア更新処理を行うことができる。
As described above, the general-purpose platform 1 acquires the update program for writing the software in the predetermined ROM of the
その際、汎用プラットフォーム1は、シェルスクリプト71を用いて複数の処理を連続して実行するので、ユーザによる指示を必要とせずに、上述した一連の書き込み処理(ソフトウェア更新処理)を連続して実行することができる。従って、ソフトウェア更新処理の流れをシェルスクリプトの記述により制御することができるので、ソフトウェアパッケージの開発も容易になるし、ソフトウェア更新処理を行うユーザも、その更新作業が容易になる。
At that time, the general-purpose platform 1 continuously executes a plurality of processes using the
なお、一般的に、汎用プラットフォーム1は、様々な製品に組み込まれることが想定されるので、例えば組み込み先の製品の製造コストを低減させるためにも、その構成は必要最小限であることが望ましい。汎用プラットフォーム1は、上述したようにシェルスクリプト71を用いることにより、キーボードやディスプレイ等の、ユーザによる操作を受け付けるための構成が不要になるので、ソフトウェア更新のための構成の増加を抑制することができる。
In general, since the general-purpose platform 1 is assumed to be incorporated into various products, for example, it is desirable that the configuration be the minimum necessary in order to reduce the manufacturing cost of the product of the incorporation destination. . Since the general-purpose platform 1 uses the
また、汎用プラットフォーム1は、イーサネット(登録商標)I/F14を有し、ネットワーク50を介して組み込み先の製品(画像処理装置51)以外の装置(パーソナルコンピュータ52)から上述したソフトウェアパッケージ71を取得することができるので、組み込み先の製品がキーボードやディスプレイ等の操作受付に関する構成を有していない場合であっても、ソフトウェア更新作業を行うユーザが、例えば、そのソフトウェア更新のためだけにノート型パーソナルコンピュータをその製品にUSB(Universal Serial Bus)ケーブル等を用いて接続し、そのノート型パーソナルコンピュータを操作する等の煩雑な作業を必要とせずに、容易にソフトウェアの更新を行うことができる。
Further, the general-purpose platform 1 has the Ethernet (registered trademark) I /
さらに、汎用プラットフォーム1は、FTPサーバプログラム31を有しており、それを実行することにより、FTPデーモン41としての機能も有するので、ソフトウェア更新作業を行うユーザは、ネットワーク50を介して汎用プラットフォーム1に接続されるパーソナルコンピュータ52を操作し、上述したソフトウェアパッケージ70を汎用プラットフォーム1にFTP転送するだけで、容易に画像処理装置51のソフトウェアの更新を行うことができる。
Furthermore, the general-purpose platform 1 has the
なお、図2に示されるように、ROM12は、製品共通機能格納領域22と、製品固有機能格納領域23を互いに異なる領域として有している。つまり、ROM12は、汎用なソフトウェアと、製品固有のソフトウェアを互いに異なる領域に記憶する。従って、例えば、製品固有のソフトウェアの更新において、更新処理が失敗して終了したり、ソフトウェアの更新先をROM12とROM64とで誤ったり等の不具合が発生しても、ソフトウェア更新を行うプログラムが記憶される製品共通機能格納領域22の情報は破壊されないので、CPU11は、再度更新処理を行うことができる。つまり、汎用プラットフォーム1は、より確実に正しいソフトウェア更新処理を行うことができる。
As shown in FIG. 2, the
なお、以上においては、ROM(フラッシュメモリ等の不揮発性記憶媒体)に記憶されるソフトウェアを更新する場合について説明したが、これに限らず、例えば、ROMにソフトウェアを新たに書き込む場合や、ROMに記憶されるソフトウェアを削除する場合も同様である。つまり、汎用プラットフォーム1は、組み込み先の製品の構成を踏まえて作成されたプログラムを実行し、汎用プラットフォーム1にとって未知の、組み込み先の製品固有のROMに対するソフトウェアの書き込み、削除、および更新を行うことができる。 In the above, the case where the software stored in the ROM (nonvolatile storage medium such as a flash memory) is updated has been described. However, the present invention is not limited to this. For example, when software is newly written to the ROM, The same applies when deleting stored software. In other words, the general-purpose platform 1 executes a program created based on the configuration of the product at the installation destination, and writes, deletes, and updates software to the ROM specific to the installation-target product that is unknown to the general-purpose platform 1. Can do.
以上においては、汎用プラットフォーム1がFTPを用いてソフトウェアパッケージ70を取得するように説明したが、このファイル転送のプロトコルは何であってもよい。例えば、HTTP(HyperText Transfer Protocol)を利用してファイル転送が行われるようにしてもよい。 In the above description, it has been described that the general-purpose platform 1 acquires the software package 70 using FTP, but any file transfer protocol may be used. For example, file transfer may be performed using HTTP (HyperText Transfer Protocol).
また、このファイル転送(ソフトウェアパッケージの授受)の際に、汎用プラットフォーム1が、送信元を認証する認証処理を行うようにしてもよい。 Further, at the time of this file transfer (software package exchange), the general-purpose platform 1 may perform an authentication process for authenticating the transmission source.
以下に、図10乃至図15を参照して、汎用プラットフォーム1が、HTTPを用いてファイル転送を行い、さらに、ファイル転送の際に認証処理を行う例について説明する。 Hereinafter, an example in which the general-purpose platform 1 performs file transfer using HTTP and performs authentication processing at the time of file transfer will be described with reference to FIGS. 10 to 15.
図10は、その場合の、ROM12の記憶領域の構成例を示す模式図である。
FIG. 10 is a schematic diagram showing a configuration example of the storage area of the
図10に示されるように、この場合のROM12も、図2の場合と同様に、オペレーティングシステム格納領域21、製品共通機能格納領域22、および、製品固有機能格納領域23を有し、製品共通機能格納領域22に、展開処理プログラム32、シェルスクリプト実行プログラム33、汎用インストールプログラム34、および設定値35を記憶する。ただし、図10の場合のROM12は、図2の場合と異なり、製品共通機能格納領域22に、図2に示されるFTPサーバプログラム31の代わりに、HTTPサーバプログラム81および認証処理プログラム82を記憶する。
As shown in FIG. 10, the
HTTPサーバプログラム81は、CPU11により実行されるプログラムである。CPU11は、このHTTPサーバプログラム81を実行することにより、イーサネット(登録商標)I/F14を制御し、HTTPを利用したファイル転送サービスを提供するHTTPサーバ機能を実現する。例えば、CPU11は、イーサネット(登録商標)I/F14を制御し、このHTTPサーバ機能を利用して、ファイル転送指示を受け付けるためのGUI(Graphical User Interface)を外部の装置に提供したり、そのGUIに基づいてファイル転送指示が受け付けられて供給されたソフトウェアの更新に関する情報を取得したりする。
The
認証処理プログラム82は、CPU11により実行されるプログラムである。CPU11は、この認証処理プログラム82を実行することにより、外部の装置より供給された情報に基づいた認証処理を行う。例えば、CPU11は、この認証処理プログラム82を実行することにより、イーサネット(登録商標)I/F14を制御し、外部の装置より取得したソフトウェア更新に関する情報とともに取得した認証鍵の認証処理を行い、ソフトウェア更新に関する情報の送信元を認証する。
The
つまり、この場合、図11に示されるように、CPU11は、図3のFTPデーモン41の代わりに、HTTPデーモン91、認証処理部92、およびソフトウェアパッケージ抽出部93を有する。なお、この場合もCPU11は、図3の場合と同様に、ソフトウェアパッケージ展開処理部42、シェルスクリプト実行部43、ROM書き込み制御部44、および更新プログラム実行部45も有する。
That is, in this case, as shown in FIG. 11, the
HTTPデーモン91は、CPU11が、HTTPサーバプログラム81を実行することにより得られる機能を示す機能ブロックである。HTTPデーモン91は、イーサネット(登録商標)I/F14を制御して、HTTPサーバとしての機能を提供する。HTTPデーモン91は、例えば、イーサネット(登録商標)I/F14を制御し、ファイル転送指示受け付け用のGUIを他の装置に供給したり、他の装置からのHTTPを用いて転送されるソフトウェアパッケージを取得したりする。このとき、ソフトウェアパッケージは、後述するように、テキストデータの中にバイナリデータを包含するような形式のMIME(Multipurpose Internet Mail Extension)マルチパートデータとして転送される。HTTPデーモン91は、その取得したMIMEマルチパートデータ(ソフトウェアパッケージ)をRAM13に保持させ、処理を認証処理部92に渡す。
The
認証処理部92は、CPU11が、認証処理プログラム82を実行することにより得られる機能を示す機能ブロックである。認証処理部92は、イーサネット(登録商標)I/F14を介して供給された認証鍵について認証処理を行う。認証処理部92は、例えば、イーサネット(登録商標)I/F14を制御し、ソフトウェアパッケージとともに供給された認証鍵の認証処理を行うことにより、ソフトウェアパッケージの送信元が正当であるか否かを判定する。認証処理部92は、その認証鍵が認証された場合、つまり、ソフトウェアパッケージの送信元が正当であると判定した場合、処理をソフトウェアパッケージ抽出部93に渡す。
The
ソフトウェアパッケージ抽出部93は、CPU11が、HTTPサーバプログラム81を実行することにより得られる機能を示す機能ブロックである。ソフトウェアパッケージ抽出部93は、RAM13に保持されているMIMEマルチパートデータよりソフトウェアパッケージを抽出する。ソフトウェアパッケージ抽出部93は、ソフトウェアパッケージを抽出すると、処理をソフトウェアパッケージ展開処理部42に渡す。
The software
それ以降の処理は、図3の場合と同様に行われる。なお、ソフトウェアパッケージの構成例や、そのソフトウェアパッケージに含まれるシェルスクリプトの記述例については、図6および図7を参照して説明した場合と同様であるので、それらについての説明は省略する。 Subsequent processing is performed in the same manner as in FIG. Note that the configuration example of the software package and the description example of the shell script included in the software package are the same as those described with reference to FIG. 6 and FIG.
次に、以上のように汎用プラットフォーム1がHTTPを用いてファイル転送を行い、さらに送信元の認証処理を行う場合の、図4に示される例における画像処理装置51のソフトウェア更新処理の具体的な流れの例を、図12のフローチャートを参照して説明する。
Next, a specific example of the software update process of the
この場合、パーソナルコンピュータ52は、ステップS41において、画像処理装置51(汎用プラットフォーム1)に対してアップロード画面を要求する。アップロード画面は、ファイル転送指示を受け付けるためのGUI画像であり、そのデータは、例えばHTML(HyperText Markup Language)等の記述により構成される。画像処理装置51のHTTPデーモン91は、ステップS51においてこの要求を受け付けると、ステップS52において要求されたアップロード画面のデータをパーソナルコンピュータ52に供給する。パーソナルコンピュータ52は、ステップS42においてそのアップロード画面のデータを取得すると、ステップS43において、例えばWEBブラウザ等を用いて、取得したアップロード画面を表示し、例えばユーザからのファイル転送指示入力を受け付ける。
In this case, the
図13は、アップロード画面の構成例を示す模式図である。図13において、アップロード画面100は、パーソナルコンピュータ52において、ディスプレイ等に表示されたアップロード画面の構成例を示している。
FIG. 13 is a schematic diagram illustrating a configuration example of the upload screen. In FIG. 13, an upload screen 100 shows a configuration example of an upload screen displayed on a display or the like in the
図13に示されるように、アップロード画面100の上側には、このGUI画面がアップロード画面であることを示す「ソフトウェア アップデート」というタイトルが表示される。また、アップロード画面100の、そのタイトルの下には、「ファイルを選んでください」というメッセージとともに、ファイル名入力欄101と、参照ボタン102が表示される。ファイル名入力欄101には、汎用プラットフォーム1に転送するファイルとして指定されたソフトウェアパッケージのファイル名が、そのパスとともに表示される。つまり、ユーザは、キーボードやマウスを操作してこのファイル名入力欄101にファイル名をパス名とともに入力するか、若しくは、参照ボタン102を操作して他のウィンドウを立ち上げさせ、そのウィンドウに表示されるGUI上で選択的に指定したファイル名およびパス名をファイル名入力欄101に表示させることにより、転送するソフトウェアパッケージを指定する。
As shown in FIG. 13, on the upper side of the upload screen 100, a title “software update” indicating that this GUI screen is the upload screen is displayed. In addition, a file
さらに、アップロード画面100のファイル名入力欄101の下側には、アップロードボタン103が設けられている。ユーザがアップロードボタン103を操作することにより、ファイル名入力欄101にファイル名およびパス名が表示されているソフトウェアパッケージ(ユーザにより選択されたソフトウェアパッケージ)がアップロード(汎用プラットフォーム1に転送)される。
Further, an upload button 103 is provided below the file
また、アップロード画面100のアップロードボタン103より下側に、さらに、インストールキー入力欄104乃至インストールキー入力欄106が設けられている。インストールキーは、ソフトウェアパッケージのアップロードの際に、汎用プラットフォーム1において認証処理が行われる場合に必要な、ソフトウェアパッケージの送信元を認証するための認証鍵である。
Further, an install
ユーザは、アップロードボタン103を操作する前に、これらのインストールキー入力欄104乃至インストールキー入力欄106のいずれかにこのインストールキーを1つの入力欄に1つずつ必要な数だけ入力する。つまり、入力するインストールキーの数は、0個であってもよいし、1つであってもよいし、複数であっても良い。ユーザが、インストールキーを入力した後、アップロードボタン103を操作すると、パーソナルコンピュータ51は、ソフトウェアパッケージとともに、そのインストールキーもMIMEマルチパートデータに含めて、汎用プラットフォーム1にアップロード(転送)する。
Before operating the upload button 103, the user inputs the required number of installation keys to one of the installation
以上のような構成のアップロード画面100において、ファイル転送指示を受け付けると、パーソナルコンピュータ52は、指定されたソフトウェアパッケージを、バイナリデータとしてテキストデータに埋め込み、MIMEマルチパートデータとして画像処理装置51に送信(転送)する。
When the file transfer instruction is received on the upload screen 100 having the above configuration, the
図14は、MIMEマルチパートデータの構成例を示す模式図である。図14に示されるように、MIMEマルチパートデータ111は、テキストデータの間の「(バイナリデータ)」の記載の部分にバイナリデータとしてソフトウェアパッケージやインストールキーが埋め込まれている。なお、「(バイナリデータ)」の記述は、バイナリデータであるソフトウェアパッケージやインストールキーの埋め込み位置を示すものであり、実際には存在しない。
FIG. 14 is a schematic diagram illustrating a configuration example of MIME multipart data. As shown in FIG. 14, in the MIME
これに対して、画像処理装置51は、ステップS53においてインストール処理を行い、このようなMIMEマルチパートデータ111を取得する。
On the other hand, the
次に、図12のステップS53において実行されるインストール処理の詳細な流れの例について、図15のフローチャートを参照して説明する。なお、ここでは、図6に示される構成のソフトウェアパッケージ70やインストールキーを含むMIMEマルチパートデータ111を受信する場合について説明する。このとき、ソフトウェアパッケージ70に含まれるシェルスクリプト71には、図7に示されるスクリプトが記述されている。
Next, an example of a detailed flow of the installation process executed in step S53 of FIG. 12 will be described with reference to the flowchart of FIG. Here, a case will be described in which the MIME
汎用プラットフォーム1のHTTPデーモン91は、ステップS61において、イーサネット(登録商標)I/F14を制御し、MIMEマルチパートデータ111の受信処理を行う。パーソナルコンピュータ52より供給されたMIMEマルチパートデータ111を取得すると、HTTPデーモン91は、それをRAM13に保持させ、処理をステップS62に進める。ステップS62において、認証処理部92は、MIMEマルチパートデータ111よりインストールキーを抽出し、その抽出したインストールキーを用いて認証処理を行う。インストールキーが認証されると、ソフトウェアパッケージ抽出部93は、MIMEマルチパートデータ111よりソフトウェアパッケージを抽出し、それをRAM13に保持させる。
In step S <b> 61, the
ソフトウェアパッケージが抽出された、それ以降の、ステップS64乃至ステップS67の処理は、図9のフローチャートのステップS32乃至ステップS35の処理と同様に実行させるので、それらの説明を省略する。 The subsequent processing from step S64 to step S67 after the software package is extracted is executed in the same manner as the processing from step S32 to step S35 in the flowchart of FIG.
以上のように、汎用プラットフォーム1は、HTTPを用いてソフトウェアパッケージを取得するようにすることもできる。このようにすることにより、パーソナルコンピュータ52のユーザは、FTPコマンドを知らなくても、容易にソフトウェアパッケージを汎用プラットフォーム1にアップロードすることができる。
As described above, the general-purpose platform 1 can acquire a software package using HTTP. In this way, the user of the
また、汎用プラットフォーム1は、ソフトウェアパッケージのアップロードの際に、インストールキーを用いてソフトウェアパッケージの送信元の認証処理を行うことができる。従って、汎用プラットフォーム1は、不正なソフトウェア更新を抑制し、より安全なソフトウェア更新処理を行うようにすることができる。 Further, the general-purpose platform 1 can perform authentication processing of the transmission source of the software package using the installation key when uploading the software package. Therefore, the general-purpose platform 1 can suppress unauthorized software update and perform safer software update processing.
なお、汎用プラットフォーム1が組み込まれる製品の、製品固有の構成は、図5に示される例のデコーダユニット60以外であってももちろんよく、どのようなものであってもよい。 Of course, the product-specific configuration of the product in which the general-purpose platform 1 is incorporated may be other than the decoder unit 60 in the example shown in FIG.
図16は、汎用プラットフォーム1の組み込み先の製品固有の構成の他の例を示すブロック図である。 FIG. 16 is a block diagram illustrating another example of a configuration unique to a product into which the general-purpose platform 1 is incorporated.
図16において、汎用プラットフォーム1は、バス10により、制御ユニット121に接続されている。制御ユニット121は、専用のバス130、バス130を介して互いに接続されるCPU131、ROM132、およびRAM133、並びに、バス10とバス130との中継処理を行うバスブリッジ134を有している。
In FIG. 16, the general-purpose platform 1 is connected to a control unit 121 by a
CPU131は、バス130を介してROM132やRAM133を制御し、図示せぬ他の構成を制御する制御処理等を実行する。ROM132は、フラッシュメモリ等の書き換え可能な不揮発性の記憶媒体により構成され、CPU131において実行する装置固有のソフトウェアを記憶する。RAM133は、CPU131がソフトウェアを実行する際に、そのソフトウェアを一時的に保持する。
The
この場合も、CPU11は、ソフトウェア更新処理を、上述した場合と同様に実行する。従って、この場合のソフトウェアパッケージ140は、図17に示されるように、図6の場合と同様に、シェルスクリプト141(update.sh)、更新プログラム142(app2_update)、イメージデータ73(app.image)、およびイメージデータ144(app2.image)を有する。これらの各ファイルは、図6に示される各ファイルと内容が異なるだけで、基本的に同種のソフトウェアである。従って、図17に示されるソフトウェアパッケージ140の構成は、図6のソフトウェアパッケージ70の構成と同様である。
Also in this case, the
つまり、ソフトウェアパッケージの開発者は、ソフトウェアパッケージに含まれる各ソフトウェアを、汎用プラットフォーム1の組み込み先の製品の構成に応じて変更するだけで、どのような製品に対しても基本的に同様に開発することができる。 That is, the developer of the software package can basically develop the same for any product by simply changing each software included in the software package according to the configuration of the product into which the general-purpose platform 1 is incorporated. can do.
図18は、シェルスクリプト141の記述例を示す模式図である。図18に示される例においては、図7に示される例と比較して、汎用プラットフォーム1の組み込み先の製品固有のROMに対する書き込み処理を指示している3行目記述のみが異なっている。このように、ソフトウェアパッケージの開発者は、汎用プラットフォーム1の組み込み先の製品の構成に応じてシェルスクリプトの記述を更新することにより、容易に、ソフトウェアパッケージの各ソフトウェアを製品の構成に対応させ、イメージデータを目的のROMに書き込むことができるようにすることができる。すなわち、汎用プラットフォーム1は、より汎用性の高いソフトウェア更新処理を提供することができる。
FIG. 18 is a schematic diagram illustrating a description example of the
なお、以上においては、ROM12が、各プログラムで使用される設定値35をROM12の製品共通機能格納領域22に記憶するように説明したが、更新頻度の高い設定値35をオペレーティングシステム格納領域21、製品共通機能格納領域22、および製品固有機能格納領域22以外の領域に記憶するようにしてもよい。このように記憶することにより、ROM12は、設定値35の更新の失敗による他のプログラムの破壊を抑制することができる。
In the above description, the
また、以上においては、図19Aに示されるように、パーソナルコンピュータ52から、画像処理装置51の汎用プラットフォーム1に、ネットワーク50を介して、平文のソフトウェアパッケージである平文ソフトウェアパッケージ151(XXX.tar.gz)が転送されるように説明したが、このソフトウェアパッケージ151が暗号化されていてもよい。
In the above, as shown in FIG. 19A, a plaintext software package 151 (XXX.tar.), Which is a plaintext software package, is transmitted from the
また、その場合、汎用ぶらっとフォーム1が、図19Bに示されるように、暗号化されたソフトウェアパッケージである暗号文ソフトウェアパッケージ152(YYY.elp)と平文ソフトウェアパッケージ151の両方を受信することができるモードと、暗号文ソフトウェアパッケージ152のみ受信することができるモードの2つのモードを有するようにし、いずれか一方のモードでソフトウェア更新処理を行うようにしてもよい。
Further, in this case, as shown in FIG. 19B, the general-purpose image 1 can receive both the ciphertext software package 152 (YYY.elp) and the
なお、図19において、暗号文ソフトウェアパッケージ152(YYY.elp)は、平文ソフトウェアパッケージ151(XXX.tar.gz)を、例えばDES(Data Encryption Standard)等の所定の方式で暗号化したものである。 In FIG. 19, the ciphertext software package 152 (YYY.elp) is obtained by encrypting the plaintext software package 151 (XXX.tar.gz) by a predetermined method such as DES (Data Encryption Standard). .
図20は、この場合のROM12の記憶領域の構成例を示す模式図である。ROM12は、オペレーティングシステム格納領域21、製品共通機能格納領域22、および製品固有機能格納領域22以外に、設定値格納領域161を有している。
FIG. 20 is a schematic diagram showing a configuration example of the storage area of the
設定値格納領域161は、各種ソフトウェアの実行時等に参照される各種の設定値を保持する記憶領域である。このように更新頻度の高い設定値の記憶領域が他の情報の記憶領域と区別されていることにより、汎用プラットフォーム1は、設定値の更新時における他のソフトウェアの破壊を抑制するなど、ROM12の安全性を向上させることができる。
The setting
また、上述したように暗号文ソフトウェアパッケージ152を処理することができるように、ROM12の製品共通機能格納領域22には、図2に示されるFTPサーバプログラム31乃至汎用インストールプログラム34の他に、復号処理プログラム171および設定確認プログラム172をさらに記憶している。
In addition to the
復号処理プログラム171は、CPU11により実行されるプログラムである。CPU11は、この復号処理プログラム171を実行することにより、所定の方式で暗号化されたソフトウェアを復号し、平文のソフトウェアを得る復号処理機能を実現する。例えば、CPU11は、イーサネット(登録商標)I/F14を介して取得した、暗号文ソフトウェアパッケージ152を、この復号処理機能を用いて復号し、暗号化される前の平文ソフトウェアパッケージ151を復元する。なお、この暗号化処理および復号処理は、所定の秘密鍵を用いて行うものとし、汎用プラットフォーム1は、この暗号化処理に用いられた秘密鍵、または暗号化処理に用いられた秘密鍵に対応する復号処理用の秘密鍵を予め有している。例えば、復号処理プログラム171にこの秘密鍵が予め埋め込まれており、CPU11は、復号処理プログラム171を実行する際に、この秘密鍵を抽出して使用することができるようになされている。
The
設定確認プログラム172は、CPU11により実行されるプログラムである。CPU11は、この設定確認プログラム172を実行することにより、設定値格納領域161に格納される設定値を確認する設定確認機能を実現する。例えば、CPU11は、設定値格納領域161を参照し、平文ソフトウェアパッケージ151を受け付けるか否かの設定を確認する。
The
図21は、設定値格納領域161に格納される設定値の例を示す模式図である。図21において設定値181は、汎用プラットフォーム1によるソフトウェアパッケージの取得に関する設定の値であり、1行目の記述「MAC Address = 00:11:22:33:44:55」は、汎用プラットフォーム1のイーサネット(登録商標)I/F14のMACアドレスが「00:11:22:33:44:55」であることを示しており、2行目の記述「IP Address = 192.168.0.1」は、イーサネット(登録商標)I/F14(FTPデーモン41)のIPアドレスが「192.168.0.1」であることを示している。
FIG. 21 is a schematic diagram illustrating an example of setting values stored in the setting
また、3行目の記述「shipping = no」は、この汎用プラットフォーム1の状態が、一般に販売される「出荷」状態ではないことを示している。開発後の汎用プラットフォーム1は、組み込み先の製品の開発用に用いられる開発向けの状態と、その汎用プラットフォーム1が組み込まれた製品が一般に販売される販売向けの状態とがある。つまり、汎用プラットフォーム1自体が開発済みであっても、その汎用プラットフォーム1の組み込み先の製品が開発中である場合と、開発済みで販売中である場合との2つの場合が考えられる。 The description “shipping = no” on the third line indicates that the state of the general-purpose platform 1 is not a “shipment” state that is generally sold. The developed general-purpose platform 1 has a state for development used for development of a product to be embedded, and a state for sales in which a product incorporating the general-purpose platform 1 is generally sold. That is, even if the general-purpose platform 1 itself has been developed, there are two cases: a case where a product into which the general-purpose platform 1 is incorporated is under development, and a case where the product has been developed and is being sold.
例えば、組み込み先の製品が開発済みであり、販売(出荷)するために汎用プラットフォーム1を組み込む場合、汎用プラットフォーム1は、平文ソフトウェアパッケージ151を拒否し、暗号文ソフトウェアパッケージ152のみを受け付けるようにすれば、例えばエンドユーザ等の第3者による不正なソフトウェアパッケージの作成を抑制することができるだけでなく、さらに、第3者が作成した不正なフトウェアパッケージを拒否することができるので、第3者による不正なハッキングを防止することができ、より安全にソフトウェア更新を行うことができる。
For example, if a product to be embedded has been developed and the general-purpose platform 1 is incorporated for sale (shipment), the general-purpose platform 1 rejects the
しかしながら、組み込み先の製品の開発時において、このように暗号文ソフトウェアパッケージ152のみを受け付けるようにすると、ソフトウェアパッケージを用いて組み込み先の製品のソフトウェア(ファームウェア)を更新する度に、暗号文ソフトウェアパッケージ152を用意しなければならず、その更新処理に煩雑な作業を伴うだけでなく、暗号文ソフトウェアパッケージ152は、ユーザがこのファイルを直接参照しても内容を確認することができないので、ソフトウェアパッケージの管理が困難になる恐れがある。従って、組み込み先の製品の開発時においては、汎用プラットフォーム1は、平文ソフトウェアパッケージ151および暗号文ソフトウェアパッケージ152の両方を受け付けることができるようにすることにより、組み込み先の製品の開発コストの低減や開発期間の短縮を実現することができる。
However, when only the
図21の設定値181の「shipping」は、このような2つの状態を区別するための設定である。なお、図21において、設定値181の3行目の記述「shipping = no」は、組み込み先の製品が開発中であり、汎用プラットフォーム1の状態が、一般に販売される「出荷」状態ではないことを示している。
“Shipping” in the setting
この場合の、CPU11の機能ブロックの構成例を図22に示す。
A configuration example of the functional block of the
図22に示されるように、CPU11は、図20に示される各プログラムをRAM13にロードして実行することにより、図3に示される機能ブロックの他に、復号処理部191および設定確認部192を有する。
As shown in FIG. 22, the
復号処理部191は、CPU11が、復号処理プログラム171を実行することにより得られる機能を示す機能ブロックである。復号処理部191は、暗号化されたソフトウェアを所定の方式で復号する復号機能を提供する。復号処理部191は、例えば、FTPデーモン41により取得された暗号文ソフトウェアパッケージ152を、所定の秘密鍵を用いて復号し、平文ソフトウェアパッケージ151を取得する。復号処理部191は、その取得した平文ソフトウェアパッケージ151をRAM13に保持させ、処理をソフトウェアパッケージ展開部42に渡す。
The
また、復号処理部191は、FTPデーモン41が取得したソフトウェアパッケージが平文ソフトウェアパッケージ151である場合、復号処理を行わずに、処理を設定確認部192に渡す。
Also, when the software package acquired by the
設定確認部192は、CPU11が、設定確認プログラム172を実行することにより得られる機能を示す機能ブロックである。設定確認部192は、ROM12の設定値格納領域161に格納される設定値181を確認し、その確認結果に応じてソフトウェアの更新を行うか否かを判定する。
The
次に、この場合の汎用プラットフォームのインストール処理の流れの例について図23のフローチャートを参照して説明する。なお、ソフトウェアパッケージの転送については、平文の場合も暗号文の場合も図8のフローチャートを参照して説明した場合と同様であるので、その説明は省略する。 Next, an example of the flow of the general platform installation process in this case will be described with reference to the flowchart of FIG. Note that the transfer of the software package is the same as that described with reference to the flowchart of FIG. 8 in both plaintext and ciphertext, and thus the description thereof is omitted.
汎用プラットフォーム1のFTPデーモン41は、ステップS81において、ステップS31と同様に、イーサネット(登録商標)I/F14を制御し、ソフトウェアパッケージの受信処理を行う。パーソナルコンピュータ52より供給されたソフトウェアパッケージを取得すると、FTPデーモン41は、それをRAM13に保持させ、処理をステップS82に進める。ステップS82において、復号処理部191は、受信したソフトウェアパッケージが暗号文ソフトウェアパッケージ152であるか否かを判定し、暗号文ソフトウェアパッケージ152であると判定した場合、処理をステップS83に進め、その、暗号文ソフトウェアパッケージ152を復号し、暗号化される前の平文ソフトウェアパッケージ151を復元する。復号処理を終了すると、復号処理部191は、処理をステップS85に進める。
In step S81, the
また、ステップS82において、受信したソフトウェアパッケージが暗号文ソフトウェアパッケージ152ではない(平文ソフトウェアパッケージ151である)と判定した場合、復号処理部191は、復号処理を省略して処理をステップS84に進める。
If it is determined in step S82 that the received software package is not the ciphertext software package 152 (the plaintext software package 151), the
ステップS84において、設定確認部192は、設定値格納領域161に格納されている設定値181を参照し、設定項目「shipping」の値が「YES」であるか否かを判定する。すなわち、設定確認部192は、汎用プラットフォーム1の状態が出荷状態であるか否か(組み込み先の製品の開発が終了しているか否か)を判定する。設定項目「shipping」の値が「NO」であると判定した場合、設定確認部192は、その平文ソフトウェアパッケージ151を受け付けることを許可し、処理をステップS85に進める。
In step S84, the
CPU11の各機能ブロックは、ステップS85乃至ステップS88の処理を、図9のステップS32乃至ステップS35と同様に行うことによって上述したようにソフトウェアの更新処理を行い、インストール処理を終了する。また、ステップS35において、設定項目「shipping」の値が「YES」であると判定した場合、すなわち、組み込み先の製品の開発が終了して出荷状態にあると判定した場合、設定確認部192は、ステップS85乃至ステップS88の処理を省略し、インストール処理を終了する。
Each functional block of the
以上のように、汎用プラットフォーム1は、暗号化されたソフトウェアパッケージを用いてソフトウェアの更新を行うので、第3者によるハッキングを防止する等、より安全にソフトウェアの更新処理を行うことができる。また、汎用プラットフォーム1の組み込み先の製品が販売状態(出荷状態)であるか否かによって、平文ソフトウェアパッケージ151を受け付けるか否かを決定するようにすることにより、汎用プラットフォーム1の組み込み先の製品の開発が複雑になることを抑制したまま、より安全にソフトウェアの更新処理を行うようにすることができる。
As described above, since the general-purpose platform 1 updates software using the encrypted software package, the software update process can be performed more safely, such as preventing hacking by a third party. Further, by determining whether or not the
なお、以上においては汎用プラットフォーム1の組み込み先の製品が出荷状態にあるか否かによって、平文ソフトウェアパッケージ151を受け付けるか否かを決定するように説明したが、これに限らず、例えば、組み込み先製品のソフトウェアの追加や更新を行うユーザによって、平文ソフトウェアパッケージ151を受け付けるか否かを決定するようにしてもよい。このようにすることにより、ソフトウェアの追加や更新を行うユーザ毎にセキュリティレベルを調節することができる。また、追加や更新を行うソフトウェア毎に平文ソフトウェアパッケージ151を受け付けるか否かを決定するようにしてもよい。また、上述した以外の他の条件を用いるようにしてもよい。さらに、これらの各種の条件を組み合わせて利用するようにしてももちろんよい。
In the above description, it has been described that whether to receive the
また、以上においては、汎用プラットフォーム1が、平文ソフトウェアパッケージ151を受け付けるか否かのみを設定するように説明したが、それと同時に、暗号文ソフトウェアパッケージ152を受け付けるか否かも設定するようにしてもよいし、暗号文ソフトウェアパッケージ152を受け付けるか否かのみを設定するようにしてもよい。
In the above description, it has been described that the general-purpose platform 1 only sets whether to accept the
さらに、以上においては、汎用プラットフォーム1が、イーサネット(登録商標)I/F14を介して、他の装置であるパーソナルコンピュータ52より、更新処理用のソフトウェアパッケージを取得するように説明したが、これに限らず、例えば、図24に示される汎用プラットフォーム201のように、所定のリムーバブルメディア212に対応したドライブ211を有し、このリムーバブルメディア212に記録されているソフトウェアパッケージを取得するようにしてもよい。
Furthermore, in the above description, the general-purpose platform 1 has been described as acquiring a software package for update processing from the
つまり、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできるが、上述した一連の処理をソフトウェアにより実行させる場合には、上述したソフトウェアが、記録媒体からインストールされるようにしてもよい。 That is, the above-described series of processing can be executed by hardware or software, but when the above-described series of processing is executed by software, the above-described software is read from the recording medium. It may be installed.
この記録媒体は、例えば、図24に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア212により構成される。
For example, as shown in FIG. 24, the recording medium is distributed to distribute the program to the user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which the program is recorded, an optical disk (
ただし、この場合、汎用プラットフォーム201がユーザからの指示を受け付ける構成を必要としないように、CPU11が、ドライブ211に装着されたリムーバブルメディア212に記録されているソフトウェアパッケージを読み出す処理を自動実行する(リムーバブルメディア212に記録されているソフトウェアパッケージを自動再生する)ことができるようになされているのが望ましい。
However, in this case, the
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。 In the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. It also includes processes that are executed individually.
また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。なお、以上において、一つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて一つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。 Further, in this specification, the system represents the entire apparatus composed of a plurality of devices (apparatuses). In the above description, the configuration described as one device may be divided and configured as a plurality of devices. Conversely, the configurations described above as a plurality of devices may be combined into a single device. Of course, configurations other than those described above may be added to the configuration of each device. Furthermore, if the configuration and operation of the entire system are substantially the same, a part of the configuration of a certain device may be included in the configuration of another device.
1 汎用プラットフォーム, 10 バス, 11 CPU, 12 ROM, 13 RAM, 14 イーサネット(登録商標)I/F, 21 オペレーティングシステム格納領域, 22 製品共通機能格納領域, 23 製品固有機能格納領域, 31 FTPサーバプログラム, 32 展開処理プログラム, 33 シェルスクリプト実行プログラム, 34 汎用インストールプログラム, 35 設定値, 41 FTPデーモン, 42 ソフトウェアパッケージ展開処理部, 43 シェルスクリプト実行部, 44 ROM書き込み制御部, 45 更新プログラム実行部, 50 ネットワーク, 51 画像処理装置, 52 パーソナルコンピュータ, 53 画像提供装置, 60 デコーダユニット, 61 FPGA, 62 デコーダ, 63 RAM, 64 ROM, 70 ソフトウェアパッケージ, 71 シェルスクリプト, 72 更新プログラム, 73および74 イメージデータ, 81 HTTPサーバプログラム, 82 認証処理プログラム, 91 HTTPデーモン, 92 認証処理部, 93 ソフトウェアパッケージ抽出部, 100 アップロード画面, 111 MIMEマルチパートデータ, 121 制御ユニット, 130 バス, 131 CPU, 132 ROM, 133 RAM, 134 バスブリッジ, 140 ソフトウェアパッケージ, 141 シェルスクリプト, 142 更新プログラム, 144 イメージデータ, 151 平文ソフトウェアパッケージ, 152 暗号文ソフトウェアパッケージ, 161 設定値格納領域, 171 復号処理プログラム, 172 設定確認プログラム, 181 設定値, 191 復号処理部, 192 設定確認部,201 汎用プラットフォーム, 211 ドライブ, 212 リムーバブルメディア 1 general-purpose platform, 10 buses, 11 CPU, 12 ROM, 13 RAM, 14 Ethernet (registered trademark) I / F, 21 operating system storage area, 22 product common function storage area, 23 product specific function storage area, 31 FTP server program , 32 Deployment processing program, 33 Shell script execution program, 34 General installation program, 35 Setting value, 41 FTP daemon, 42 Software package deployment processing unit, 43 Shell script execution unit, 44 ROM write control unit, 45 Update program execution unit, 50 network, 51 image processing device, 52 personal computer, 53 image providing device, 60 decoder unit, 61 FPGA, 62 decoder, 63 RAM, 64 ROM, 70 software Wear package, 71 shell script, 72 update program, 73 and 74 image data, 81 HTTP server program, 82 authentication processing program, 91 HTTP daemon, 92 authentication processing unit, 93 software package extraction unit, 100 upload screen, 111 MIME multipart Data, 121 control unit, 130 bus, 131 CPU, 132 ROM, 133 RAM, 134 bus bridge, 140 software package, 141 shell script, 142 update program, 144 image data, 151 plaintext software package, 152 ciphertext software package, 161 Setting value storage area, 171 decoding processing program, 172 setting confirmation program, 181 setting value, 191 Decoding processing unit, 192 Setting confirmation unit, 201 General-purpose platform, 211 drives, 212 Removable media
Claims (9)
前記他の装置が前記情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、前記情報処理装置にとって未知の構成である第1の記憶媒体に書き込む第1のソフトウェアとともに、前記第1のソフトウェアを前記第1の記憶媒体に書き込むためのプログラムを、前記他の装置の外部より取得する取得手段と、
前記取得手段により取得された前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込むプログラム実行手段と
を備える情報処理装置。 An information processing apparatus that is used by being incorporated in another apparatus and provides a predetermined function to the other apparatus of the installation destination,
The rewritable storage medium that the other apparatus has as a configuration other than the information processing apparatus, and the first software that is written to the first storage medium that is an unknown configuration for the information processing apparatus Acquisition means for acquiring from the outside of the other device a program for writing the data to the first storage medium;
An information processing apparatus comprising: a program execution unit that executes the program acquired by the acquisition unit and writes the first software in the first storage medium.
前記取得手段は、前記第1のソフトウェアおよび前記プログラムとともに、前記シェルスクリプトをさらに取得し、
前記シェルスクリプト実行手段は、前記取得手段により取得された前記シェルスクリプトを実行し、
前記プログラム実行手段は、前記シェルスクリプト実行手段により実行される前記シェルスクリプトの記述に従って、前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込む
請求項1に記載の情報処理装置。 A shell script executing means for executing a shell script for specifying a software writing procedure;
The acquisition means further acquires the shell script together with the first software and the program,
The shell script execution means executes the shell script acquired by the acquisition means,
The information processing according to claim 1, wherein the program execution means executes the program according to a description of the shell script executed by the shell script execution means, and writes the first software to the first storage medium. apparatus.
前記第2の記憶媒体にソフトウェアを書き込む書き込み手段をさらに備え、
前記取得手段は、前記第1のソフトウェアおよび前記プログラムとともに、前記第2の記憶媒体に書き込む第2のソフトウェアをさらに取得し、
前記書き込み手段は、前記第2のソフトウェアを前記第2の記憶媒体に書き込む
請求項1に記載の情報処理装置。 As a configuration known to the information processing apparatus, a rewritable second storage medium is provided,
Writing means for writing software to the second storage medium;
The acquisition means further acquires second software to be written to the second storage medium together with the first software and the program,
The information processing apparatus according to claim 1, wherein the writing unit writes the second software into the second storage medium.
請求項3に記載の情報処理装置。 The storage area of the second storage medium includes a common function storage area that stores software that provides general-purpose functions and a unique function storage area that stores software that provides functions unique to the other apparatus. The information processing apparatus according to claim 3, wherein the information processing apparatus is formed as a different area.
前記取得手段は、前記第1のソフトウェアおよび前記プログラムを、アーカイブされてまとめられた1つのソフトウェアパッケージとして取得し、
前記展開手段は、前記取得手段により取得された前記ソフトウェアパッケージを展開し、前記第1のソフトウェアおよび前記プログラムを分離する
請求項1に記載の情報処理装置。 And further comprising a decompression means for decompressing a plurality of files archived into a single file,
The acquisition means acquires the first software and the program as one software package that is archived and collected,
The information processing apparatus according to claim 1, wherein the expansion unit expands the software package acquired by the acquisition unit and separates the first software and the program.
前記取得手段は、暗号化された前記第1のソフトウェアおよび前記プログラムを取得し、
前記復号手段は、前記取得手段により取得された、暗号化された前記第1のソフトウェアおよび前記プログラムを所定の方式で復号し、
前記プログラム実行手段は、前記復号手段により復号された前記プログラムを実行し、前記復号手段により復号された前記第1のソフトウェアを前記第1の記憶媒体に書き込む
請求項1に記載の情報処理装置。 Further comprising decryption means for decrypting the encrypted file by a predetermined method;
The acquisition means acquires the encrypted first software and the program,
The decrypting means decrypts the encrypted first software and the program acquired by the acquiring means by a predetermined method,
The information processing apparatus according to claim 1, wherein the program execution unit executes the program decoded by the decoding unit, and writes the first software decoded by the decoding unit to the first storage medium.
前記設定保持手段により保持されている前記設定を確認する設定確認手段と
をさらに備える請求項1に記載の情報処理装置。 Setting holding means for holding a setting as to whether to acquire the first software and the program in plain text not encrypted by the acquiring means;
The information processing apparatus according to claim 1, further comprising: setting confirmation means for confirming the setting held by the setting holding means.
前記他の装置が前記情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、前記情報処理装置にとって未知の構成である第1の記憶媒体に書き込む第1のソフトウェアとともに、前記第1のソフトウェアを前記第1の記憶媒体に書き込むためのプログラムを、前記他の装置の外部より取得し、
前記取得手段により取得された前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込む
ステップを含む情報処理方法 An information processing method for an information processing apparatus that is used by being incorporated in another apparatus and provides a predetermined function to the other apparatus of the installation destination,
The rewritable storage medium that the other apparatus has as a configuration other than the information processing apparatus, and the first software that is written to the first storage medium that is an unknown configuration for the information processing apparatus From the outside of the other device, and a program for writing to the first storage medium,
An information processing method including a step of executing the program acquired by the acquisition unit and writing the first software into the first storage medium
前記他の装置が前記情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、前記情報処理装置にとって未知の構成である第1の記憶媒体に書き込む第1のソフトウェアとともに、前記第1のソフトウェアを前記第1の記憶媒体に書き込むためのプログラムを、前記他の装置の外部より取得し、
前記取得手段により取得された前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込む
ステップを含むプログラム A program that is used by being incorporated in another device, and that causes a computer to perform a process of providing a predetermined function to the other device to be incorporated,
The rewritable storage medium that the other apparatus has as a configuration other than the information processing apparatus, and the first software that is written to the first storage medium that is an unknown configuration for the information processing apparatus From the outside of the other device, and a program for writing to the first storage medium,
A program including the step of executing the program acquired by the acquisition means and writing the first software to the first storage medium
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005235641A JP2007052518A (en) | 2005-08-16 | 2005-08-16 | Information processor, method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005235641A JP2007052518A (en) | 2005-08-16 | 2005-08-16 | Information processor, method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007052518A true JP2007052518A (en) | 2007-03-01 |
Family
ID=37916943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005235641A Withdrawn JP2007052518A (en) | 2005-08-16 | 2005-08-16 | Information processor, method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007052518A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011007413A1 (en) * | 2009-07-13 | 2011-01-20 | 株式会社Pfu | Distribution system, server device, terminal device, and distribution method |
JP6323968B1 (en) * | 2017-08-08 | 2018-05-16 | 三菱日立パワーシステムズインダストリー株式会社 | Vehicle maintenance tools |
JP2018136618A (en) * | 2017-02-20 | 2018-08-30 | 日本電気株式会社 | Sever device, server control method, program, and sever system |
CN109451357A (en) * | 2018-11-22 | 2019-03-08 | 四川长虹电器股份有限公司 | Method for smart television optimization OEM order production upgrading |
JP2021192280A (en) * | 2017-10-12 | 2021-12-16 | 日立Astemo株式会社 | Information update device and information update method |
-
2005
- 2005-08-16 JP JP2005235641A patent/JP2007052518A/en not_active Withdrawn
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011007413A1 (en) * | 2009-07-13 | 2011-01-20 | 株式会社Pfu | Distribution system, server device, terminal device, and distribution method |
JP4828637B2 (en) * | 2009-07-13 | 2011-11-30 | 株式会社Pfu | Distribution system, server device, and distribution method |
US8423996B2 (en) | 2009-07-13 | 2013-04-16 | Pfu Limited | Delivery system, server device, terminal device, and delivery method |
JP2018136618A (en) * | 2017-02-20 | 2018-08-30 | 日本電気株式会社 | Sever device, server control method, program, and sever system |
JP6323968B1 (en) * | 2017-08-08 | 2018-05-16 | 三菱日立パワーシステムズインダストリー株式会社 | Vehicle maintenance tools |
WO2019031197A1 (en) * | 2017-08-08 | 2019-02-14 | 三菱日立パワーシステムズインダストリー株式会社 | Maintenance tool for vehicles |
JP2019031191A (en) * | 2017-08-08 | 2019-02-28 | 三菱日立パワーシステムズインダストリー株式会社 | Vehicle maintenance tool |
JP2021192280A (en) * | 2017-10-12 | 2021-12-16 | 日立Astemo株式会社 | Information update device and information update method |
JP7280319B2 (en) | 2017-10-12 | 2023-05-23 | 日立Astemo株式会社 | Information update device |
CN109451357A (en) * | 2018-11-22 | 2019-03-08 | 四川长虹电器股份有限公司 | Method for smart television optimization OEM order production upgrading |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8402459B2 (en) | License management system, license management computer, license management method, and license management program embodied on computer readable medium | |
US6944857B1 (en) | Method, system, computer program product, and article of manufacture for updating a computer program according to a stored configuration | |
US7089553B1 (en) | Method, system, computer program product, and article of manufacture for downloading a remote computer program according to a stored configuration | |
JP4903071B2 (en) | Information processing apparatus, software update method, and image processing apparatus | |
US10038681B2 (en) | Method for managing an access from a remote device to data accessible from a local device and corresponding system | |
JP2009503698A (en) | Secure software update | |
JP2011138497A (en) | Automated security control using encoded security information | |
US20090037486A1 (en) | Document management apparatus, document management method, document management program, and storage medium | |
JP2010086370A (en) | Image forming apparatus, delivery server, and firmware updating method | |
JP2007264901A (en) | Software management device, software management system, software management method and software management program | |
JP2007102785A (en) | Security method and system, and computer-readable storage medium storing the method | |
JP4305428B2 (en) | Device management program and device management apparatus | |
JP2007052518A (en) | Information processor, method, and program | |
AU2005222507A1 (en) | Portable computing environment | |
US7174465B2 (en) | Secure method for system attribute modification | |
US7703092B1 (en) | Method, system, computer program product, and article of manufacture for installation and configuration of a computer program according to a stored configuration | |
JP2007148806A (en) | Application start restriction method and application start restriction program | |
JP6390696B2 (en) | License information management apparatus, license information management method, and program | |
JP2007282064A (en) | Device and method for processing data, storage medium and program | |
JP4940031B2 (en) | Information processing apparatus and firmware update method | |
JP2007329731A (en) | Method, system, and program for certificate update | |
JP2005309494A (en) | Data use system and method, storage device, and computer program | |
JP6216673B2 (en) | Data management method and data management system | |
JP2005141427A (en) | Information processor and its control method, information processing system and its program | |
JP5292882B2 (en) | Information processing system, information processing method, computer program, and storage medium group |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20081104 |