WO2001013219A1 - Procede de reecriture logicielle et dispositif de reecriture logicielle - Google Patents

Procede de reecriture logicielle et dispositif de reecriture logicielle Download PDF

Info

Publication number
WO2001013219A1
WO2001013219A1 PCT/JP2000/005351 JP0005351W WO0113219A1 WO 2001013219 A1 WO2001013219 A1 WO 2001013219A1 JP 0005351 W JP0005351 W JP 0005351W WO 0113219 A1 WO0113219 A1 WO 0113219A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
rewriting
software
rewrite
blocks
Prior art date
Application number
PCT/JP2000/005351
Other languages
English (en)
French (fr)
Inventor
Isao Isogai
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to AU64734/00A priority Critical patent/AU6473400A/en
Priority to EP00951925A priority patent/EP1143332A1/en
Publication of WO2001013219A1 publication Critical patent/WO2001013219A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • G06F9/3802Instruction prefetching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running

Definitions

  • the present invention relates to a software rewriting method and a software rewriting device.
  • Conventional software rewriting methods include: 1) rewriting software that needs to be rewritten (hereinafter referred to as “old software”) if it is not running; 2) forcibly during the execution of old software There is a method of rewriting by temporarily stopping the execution.
  • a dedicated terminal for software rewriting is connected to the device running the old software, and the device is once powered off and then turned on again.
  • new software new software
  • a central processing unit (hereinafter, referred to as “CPU”) in a device on which the old software operates executes an old software by an interrupt or the like in a normal process.
  • the new software is executed by temporarily stopping it and rewriting it, and then releasing the stopped state after rewriting.
  • the conventional method 1) during rewriting, There is a problem in that the device cannot perform normal processing and cannot be used as intended.
  • the method 2) does not hinder the original use of the device, but there is a problem that, although temporarily, normal processing of the device is stopped. Disclosure of the invention
  • An object of the present invention is to provide a software rewriting method and a software rewriting device capable of rewriting software during execution of the software without stopping the execution of the software.
  • the inventor rewrites when the software is not running, or stops the execution of the software and performs the rewriting because the rewriting is performed according to the execution status of the software unit.
  • the present inventors have found out that it is possible to distinguish between a part that is being executed and a part that is not being executed even in software.
  • FIG. 1 is a main block diagram showing a schematic configuration of a software rewriting device according to Embodiment 1 of the present invention.
  • FIG. 2 is a diagram for explaining a software rewriting operation according to the first embodiment of the present invention.
  • FIG. 3 is a diagram for explaining a software rewriting operation according to the second embodiment of the present invention.
  • the software rewriting method and the software rewriting apparatus distinguish a plurality of processing blocks to be rewritten in software into a block that is being executed and a block that is not being executed. Is to be rewritten.
  • FIG. 1 is a main block diagram showing a schematic configuration of a software rewriting device according to Embodiment 1 of the present invention.
  • the normal processing unit 102 In the CPU 101, the normal processing unit 102, the rewriting processing unit 103, and the control unit 104 operate.
  • the normal processing unit 102 has an execution block storage unit 105, and extracts software necessary for the current processing from various software stored in the software storage unit 108, and executes the execution block. Expand to storage unit 105 and execute normal processing.
  • the normal processing refers to all processing other than the software rewriting processing performed in the CPU 101.
  • the rewrite processing unit 103 has a rewrite block storage unit 106 and a rewrite table 107, and rewrites old software stored in the software storage unit 108 in accordance with an instruction from the control unit 104.
  • the old software is rewritten with the new software by updating with the new software sent from the transfer unit 109.
  • the rewrite block storage unit 106 stores the new program sent from the transfer unit 109 until the rewrite process is completed.
  • the rewrite table 107 is a table that the rewrite processing unit 103 refers to when rewriting software, and is a table for managing the execution state of software. The configuration of the rewrite table 107 will be described later.
  • the control unit 104 monitors the degree of load of the processing performed by the CPU 101, and the processing performed by the normal processing unit 102 decreases, and the CPU 101 performs the processing. If the processing load is reduced and the CPU 101 has room to perform other processing besides the normal processing, the CPU 101 instructs the rewriting processing unit 103 to perform the rewriting processing. Further, when the number of processes performed in the normal processing unit 102 increases, the control unit 104 instructs the rewriting processing unit 103 to stop the rewriting process.
  • the software storage unit 108 stores various software executed by the normal processing unit 102.
  • the transfer unit 109 converts the new software transmitted from outside the device via wire or wireless into a data format that can be handled by the CPU 101 and transfers it to the rewrite block storage unit 106.
  • FIG. 2 is a diagram for explaining a software rewriting operation according to the first embodiment of the present invention.
  • the various software stored in the software storage unit 108 is stored as a plurality of processing blocks for each processing unit, and the software is an execution block for each processing block unit. It is expanded in the storage unit 105 or rewritten by the rewriting processing unit 103.
  • new blocks only the blocks that need to be rewritten (hereinafter referred to as “old blocks”) are rewritten to reduce the rewriting time. ing.
  • the new block to be rewritten (hereinafter referred to as “new block”) sent from the transfer unit 109 to the rewrite block storage unit 106 is stored in the rewrite block storage unit 106 until the rewrite is completed. You. Further, upon detecting that the new block has been sent to the rewrite block storage unit 106, the rewrite processing unit 103 creates a rewrite table 107 as shown in FIG. 2 (B).
  • the rewrite table includes an item indicating a block number of a new block, an item indicating an execution state of whether or not an old block corresponding to the new block is currently expanded in the execution block storage unit 105 and is being executed. This is a table having
  • Blocks 1-3 are filled. Note that, at this stage, items that are still in the running state cannot be filled.
  • the rewriting processing unit 103 is instructed by the control unit 104 to perform the rewriting processing. You.
  • the control unit 104 monitors the blocks being developed and being executed in the execution block storage unit 105
  • the rewrite processing unit 103 controls the rewrite processing at the same time as being instructed to perform the rewrite processing.
  • the block 104 is notified of the number of the block currently being developed and executed in the currently executed block storage 105. Note that, in the execution block storage unit 105, a plurality of blocks necessary for processing currently performed in the normal processing unit 102 are combined and expanded.
  • FIG. 2 (A) the old software in FIG. 2 (A) that has been expanded and executed in the execution block storage 105 is the old blocks 1-3 as shown in FIG. 2 (C) (1).
  • the rewrite processing unit 103 compares the block number notified from the control unit 104 with the block number stored in the rewrite table 107, and fills in the item of the execution state. Since the notified block numbers are 1 to 3 and the block numbers stored in the rewrite table 107 are also 1 to 3, the rewrite processing unit 103 stores the execution status items of the rewrite table 107 in FIG. 2 (B) As shown in (1) Fill in as "Running".
  • the rewrite processing unit 103 refers to the rewrite table 107 to extract a block that is not currently being executed from the new blocks stored in the rewrite block storage unit 106, and stores the extracted block in the software storage unit. Rewrite the old block stored in 08 with the new block. Now, as shown in Fig. 2 (B) (1), rewriting is not performed because blocks 1 to 3 are all being executed.
  • the rewrite processing unit 103 fills the items in the execution state by the same operation as described above. Since the notified block numbers are 8 to 10 and the block numbers stored in the rewrite table are 1 to 3, the rewrite processing unit 103 displays the execution status items of the rewrite table 107 in FIG. 2 (B) As shown in (2), fill in “Stopped” to indicate that it is not running.
  • the rewriting processing unit 103 refers to the rewriting table 107, extracts the blocks 1-3 that are not currently being executed from the rewriting block storage unit 106, and extracts the old blocks stored in the software storage unit 108. Rewrite blocks 1-3 with new blocks 1-3.
  • the rewrite processing unit 103 deletes the blocks stored in the rewrite block storage unit 106 and the contents of the rewrite table 107.
  • the control unit 104 constantly monitors the degree of load of the CPU 104, and when the load of the processing performed by the CPU 101 decreases, the rewriting processing unit 10
  • the configuration is instructed to perform the rewriting process for 3
  • the following configuration may be used. That is, the new block is transferred to the rewrite block storage unit 106, and the rewrite request from the rewrite processing unit 103 is sent to the control unit. If it is at 104, the control unit 104 checks the degree of load on the CPU 101. Then, when the processing load of the CPU 101 is small, the control unit 104 may be configured to instruct the rewriting processing unit 103 to perform the rewriting process.
  • a plurality of processing blocks to be rewritten in software are distinguished into an executing block and a stopped block, Because the middle block is rewritten, the software can be rewritten during normal processing without stopping the execution of the software.
  • the difference between the software rewriting device according to the present embodiment and the first embodiment is that the rewriting table has an item indicating the rewriting state.
  • FIG. 3 is a diagram for explaining a software rewriting operation according to the second embodiment of the present invention.
  • the rewrite processing unit 103 Upon detecting that the new block has been sent to the rewrite block storage unit 106, the rewrite processing unit 103 creates a rewrite table 107 as shown in FIG. 3 (B).
  • This rewrite table is a table obtained by adding an item indicating a rewrite state to the rewrite table of the first embodiment.
  • Blocks 1 to 3 and 8 to 10 are filled.
  • Blocks 1-3 and 8-10 are rewritable tapes.
  • all rewrite states are filled as “unfinished”. At this stage, the items in the execution state have not been filled yet.
  • the rewriting processing unit 103 performs the rewriting processing from the control unit 104. At the same time, the block number that is currently being expanded and executed in the execution block storage unit 105 is notified.
  • FIG. 3 (A) the old software in FIG. 3 (A) is expanded in the execution block storage unit 105 and is being executed, as shown in FIG. 3 (C) (1). Assume that blocks 1 to 3 are shown as shown.
  • the rewrite processing unit 103 compares the block number notified from the control unit 104 with the block number stored in the rewrite table 107, and fills in the item of the execution state. Since the notified block numbers are 1 to 3 and the block numbers stored in the rewrite table 107 are 1 to 3 and 8 to 10, the rewrite processing section 103 rewrites the rewrite table 107. As shown in Fig. 3 (B) and (1), the execution status items are defined as "running" for block numbers 1 to 3 and "stopping" for block numbers 8 to 10 as shown in fill in.
  • the rewrite processing unit 103 refers to the rewrite table 107 and among the new blocks stored in the rewrite block storage unit 106, the block that is not currently being executed and the rewrite is performed. Unfinished blocks are extracted from the rewrite block storage unit 106, and old blocks stored in the software storage unit 108 are rewritten with new blocks.
  • the overwriting processing section 103 changes the rewriting state of the blocks 8 to 10 of the rewriting table 107 as shown in FIGS. 3 (B) and (1). Change from "not done” to "done".
  • the control unit 104 instructs the rewriting processing unit 103 to temporarily stop the rewriting process.
  • the rewriting processing unit 103 temporarily stops the rewriting process.
  • the contents of the rewriting state of the rewriting table 107 are “unfinished” for blocks 1 to 3 and “unfinished” for blocks 8 to 10 as shown in FIG. 3 (B) (1).
  • the rewriting processing unit 103 When the rewriting processing unit 103 receives a rewriting processing instruction from the control unit 104 again, the rewriting processing unit 103 rewrites the blocks 8 to 10 that have already been rewritten. It can be determined that there is no need to rewrite only blocks 1 to 3 that have not been rewritten.
  • the rewriting processing unit 103 changes the execution status item to “1” for blocks 1 to 3 as shown in FIGS. 3 (B) and (2). “Stopped” and “Executing” for blocks 8 to 10.
  • the rewrite processing unit 103 refers to the rewrite table 107 and extracts the blocks 1 to 3 that are not currently being executed and are not rewritten, from the rewrite block storage unit 106, and Stored in software storage unit 08
  • the old blocks 1 to 3 are rewritten by the new blocks 1 to 3, and after the rewriting of blocks 1 to 3, the rewriting state of blocks 1 to 3 in the rewrite table 107 is as shown in Fig. 3 (B) and (2). From "unsettled" to "settled".
  • the rewrite processing unit 103 checks that the rewrite state of the rewrite table 107 is all “completed”, and then checks the blocks stored in the rewrite block storage unit 106 and the rewrite table. Erase the contents of 107.
  • the software rewriting method since the rewriting table has an item indicating the rewriting state, the software rewriting method includes a plurality of processing blocks to be rewritten in the software. By discriminating between a rewritten block and a non-rewritten block, it is possible to rewrite only a block that has not been rewritten.
  • the software rewriting devices according to the first and second embodiments can be applied to a communication terminal device such as a mobile station device in a wireless communication system. If applied, for example, if the communication terminal device is a mobile station device, the software is transmitted wirelessly using a control channel or the like that constantly transmits control signals from the base station device to the mobile station device, The device can rewrite the software by using when the processing load on the CPU is relatively small, such as during standby. For this reason, in the past, if software rewriting became necessary, the mobile station device was collected and rewritten, or the mobile station device user visited a store or the like where the rewriting terminal was located.
  • the mobile station device could not be used for communication during the rewriting, but according to the present invention, the mobile station device user is made aware that the software has been rewritten. Without rewriting, software can be rewritten while the mobile station device is in normal use.
  • the software rewriting devices according to the first and second embodiments are applied to a communication terminal device connected by wire, a computer device connected by wire, and a computer device connected by wireless.
  • software can be rewritten during execution of software without stopping the execution of software.
  • the present invention can be applied to a communication terminal device such as a mobile station device in a wireless communication system. Further, the present invention is applicable to a communication terminal device connected by wire, a computer device connected by wire, and a computer device connected by wireless.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Description

明 細 書 ソフトウエア書換え方法およびソフトウエア書換え装置 技術分野
本発明は、 ソフトウエア書換え方法およびソフトウエア書換え装置に関す る。 背景技術
従来のソフトウェア書換え方法としては、 1 ) 書換える必要のあるソフト ウェア (以下、 「旧ソフトウェア」 という。) が実行中でない場合に書換えを 行う方法、 2 ) 旧ソフトウェアの実行中に、 強制的に実行を一時的に停止さ せて書換えを行う方法、 がある。
上記 1 ) の方法では、 例えば、 旧ソフトウェアが動作する機器にソフトゥ エア書換えのための専用端末が接続され、 機器の電源が一旦切断後再投入さ れる。 このときに、 機器に備えられたソフトウェア書き換えのためのソフト ウェアは、 書換える新しいソフトウェア (以下、 「新ソフトウェア」 とい う。) が専用端末送られてきていることを検知した場合には、 通常の処理モ
―ドとは別の書換えモードによって、 旧ソフトウエアが動作することを中止 して、 旧ソフトウェアを新ソフトウェアに書換える。 その後、 機器から専用 端末が切断され、 機器の電源が切断 Z再投入されることにより、 機器におい て新ソフトウエアが実行される。
また上記 2 ) の方法では、 例えば、 旧ソフトウェアが動作する機器内の中 央処理装置 (以下、 「C P U」 という。) が、 通常の処理の中において、 割込 み等により旧ソフトウェアの実行を一時的に停止させて書換えを行い、 書換 え後、 停止状態を解除することにより、 新ソフトウェアが実行される。 しかしながら、 従来の上記 1 ) の方法では、 書換えを行っている最中は、 機器は通常の処理を行うことができないため、 機器本来の使用をすることが できない、 という問題がある。 また、 上記 2 ) の方法では、 機器本来の使用 を妨げられることはないが、 一時的にではあるが、 機器の通常の処理が停止 してしまう、 という問題がある。 発明の開示
本発明の目的は、 ソフトウェアの実行中に、 ソフトウェアの実行を停止さ せることなくソフトウエアの書換えを行うことができるソフトウエア書換え 方法およびソフトウエア書換え装置を提供することである。
本発明者は、 ソフトウェアが実行中でない場合に書換えを行うか、 または、 ソフトウエアの実行を停止させて書換えを行っているのは、 ソフトウェア単 位の実行状況に従って書換えを行っているためであると考え、 ソフトウエア 中でも実行されている部分と実行されていない部分とに区別できることを見 出し本発明をするに至った。
そこで、 上記目的を達成するために、 本発明では、 ソフトウェア中の実行 されていない部分を検出し、 その部分を順次書換えていく。 図面の簡単な説明
図 1は、 本発明の実施の形態 1に係るソフトウエア書換え装置の概略構成 を示す要部ブロック図である。
図 2は、 本発明の実施の形態 1に係るソフトウエアの書換え動作を説明す るための図である。
図 3は、 本発明の実施の形態 2に係るソフトウエアの書換え動作を説明す るための図である。 発明を実施するための最良の形態
以下、 本発明の実施の形態について、 図面を参照して詳細に説明する, (実施の形態 1 )
本実施の形態に係るソフトウエア書換え方法およびソフトウエア書換え装 置は、 ソフトウェア中において書換え対象となる複数の処理ブロックを、 実 行中ブロックと、 実行中でないブロックとに区別し、 実行中でないブロック を書換えるものである。
以下、 本発明の実施の形態 1に係るソフトウェア書換え方法およびソフト ウェア書換え装置について説明する。 図 1は、 本発明の実施の形態 1に係る ソフ卜ウェア書換え装置の概略構成を示す要部プロック図である。
C P U 1 0 1では、 通常処理部 1 0 2、 書換え処理部 1 0 3および制御部 1 0 4が動作する。
通常処理部 1 0 2は、 実行ブロック格納部 1 0 5を有し、 ソフトウェア格 納部 1 0 8に格納されている各種ソフトウエアから、 現在行う処理に必要な ソフトウエアを抽出して実行ブロック格納部 1 0 5に展開し、 通常の処理を 実行する。 なお、 ここでいう通常の処理とは、 C P U 1 0 1内で行われるソ フトウェア書換え処理以外のすべての処理をいう。
書換え処理部 1 0 3は、 書換えプロック格納部 1 0 6と書換えテーブル 1 0 7とを有し、 制御部 1 0 4からの指示に従って、 ソフトウェア格納部 1 0 8に格納されている旧ソフトウェアを、 転送部 1 0 9から送られてくる新ソ フトウエアによって更新することにより、 旧ソフトウェアを新ソフトウェア に書換える。
書換えブロック格納部 1 0 6は、 転送部 1 0 9から送られてくる新プログ ラムを書換え処理が終了するまで格納する。
書換えテーブル 1 0 7は、 書換え処理部 1 0 3がソフトウエアの書換えを 行うときに参照するテーブルであり、 ソフトウエアの実行状態を管理するた めのテーブルである。 書換えテーブル 1 0 7の構成については、 後述する。 制御部 1 0 4は、 C P U 1 0 1が行っている処理の負荷度合を監視してお り、 通常処理部 1 0 2で行われる処理が減少し、 C P U 1 0 1が行っている 処理の負荷が小さくなつて、 C P U 1 0 1が通常の処理以外の他の処理も行 える余裕ができた場合には、 書換え処理部 1 0 3に対して書換え処理を行う よう指示する。 また、 制御部 1 0 4は、 通常処理部 1 0 2で行われる処理が 増加した場合には、 書換え処理部 1 0 3に対して書換え処理を中止するよう 指示する。 このように、 ソフトウェア書き換え装置は、 C P Uが行っている 処理の負荷度合が小さいときに書換え処理を行うため、 C P Uが行う通常の 処理に影響を与えることなくソフトウエアの書換えを行うことができる。 ソフトウエア格納部 1 0 8は、 通常処理部 1 0 2によって実行される各種 ソフトウエアを格納している。
転送部 1 0 9は、 機器外部から有線または無線を介して伝送されてきた新 ソフトウェアを C P U 1 0 1で扱えるデータ形式に変換し、 書換えブロック 格納部 1 0 6へ転送する。
次いで、 上記構成を有するソフトウエア書換え装置の動作について図 2を 用いて説明する。 図 2は、 本発明の実施の形態 1に係るソフトウェアの書換 え動作を説明するための図である。
ソフトウエア格納部 1 0 8に格納されている各種ソフトウエアは、 ソフト ウェア全体が、 処理単位ごとに複数の処理ブロックに分けられて格納されて おり、 ソフトウエアはこの処理ブロック単位ごとに実行ブロック格納部 1 0 5において展開されたり、 書換え処理部 1 0 3によって書換えられる。
今、 ここでは、 図 2 ( A ) に示すように、 書換え対象となる旧ソフトは、 ソフトウエア全体が 1 0ブロックに分けられているものとする。
また、 通常、 ソフトウェアの書換えを行うときには、 ソフトウェア全体を 書換えるのではなく、 書換える必要のあるブロック (以下、 「旧ブロック」 という。) のみを書換えるようにして、 書換え時間の短縮を図っている。 転送部 1 0 9から書換えブロック格納部 1 0 6へ送られてきた書換える新 しいブロック (以下、 「新ブロック」 という。) は、 書換えブロック格納部 1 0 6に書換えが終了するまで格納される。 また、 書換え処理部 1 03は、 新ブロックが書換えブロック格納部 1 06 へ送られてきたことを検知すると、 図 2 (B) に示すような書換えテーブル 1 0 7を作成する。 この書換えテーブルは、 新ブロックのブロック番号を示 す項目と、 新ブロックに対応する旧ブロックが現在実行ブロック格納部 1 0 5に展開されて実行中であるか否かの実行状態を示す項目と、 を有するテー ブルである。
今、 ここでは、 新ブロックとしてブロック 1〜 3が書換えブロック格納部 1 06へ転送されてきたものとすると、 書換えテーブル 1 07のブロック番 号の項目には、 図 2 (B) に示すように、 ブロック 1〜 3が埋められる。 な お、 この段階では、 まだ実行状態の項目は埋められない。
通常処理部 1 02で行われる処理が減少し、 CPU 1 0 1が行っている処 理の負荷が小さくなると、 書換え処理部 1 03は、 制御部 1 04より、 書換 え処理を行うよう指示される。
また、 制御部 1 04が、 実行ブロック格納部 105に展開されて実行中で あるブロックを監視しているので、 書換え処理部 1 03は、 書換え処理を行 うよう指示されるのと同時に、 制御部 1 04より、 現在実行ブロック格納部 1 0 5に展開されて実行中であるブロック番号を通知される。 なお、 実行ブ ロック格納部 1 0 5においては、 現在通常処理部 1 02において行う処理に 必要な複数のブロックが組み合わされて展開される。
今、 ここでは、 実行ブロック格納部 1 05に展開されて実行中であるのは、 図 2 (A) の旧ソフトウェアうち、 図 2 (C) ( 1) に示すように旧ブロッ ク 1〜 3であるとする。
次いで、 書換え処理部 1 03が、 制御部 1 04から通知されたブロック番 号と書換えテーブル 1 07に格納されたブロック番号とを対比し、 実行状態 の項目を埋める。 通知されたブロック番号が 1〜3であり、 書換えテーブル 1 07に格納されたブロック番号も 1〜 3であるため、 書換え処理部 1 03 は、 書換えテーブル 1 0 7の実行状態の項目を、 図 2 (B) ( 1) に示すよ うにすベて 「実行中」 として埋める。
そして、 書換え処理部 1 03は、 書換えテーブル 1 07を参照して、 書換 えブロック格納部 1 06に格納されている新ブロックのうち、 現在実行中で ないブロックを抽出して、 ソフトウエア格納部 1 08に格納されている旧ブ ロックを新ブロックによって書換える。 今、 ここでは、 図 2 (B) ( 1) に 示すように、 ブロック 1〜 3がすべて実行中であるため、 書換えは行われな い。
そして、 再度、 通常処理部 1 02で行われる処理が減少すると、 書換え処 理部 1 0 3は、 制御部 1 04より、 書換え処理を行うよう指示される。 この とき、 実行ブロック格納部 1 0 5に展開されて実行中であるのは、 図 2 (C) (2) に示すようにブロック 8〜 1 0であるとする。
次いで、 書換え処理部 1 03が、 上記同様の動作によって、 実行状態の項 目を埋める。 通知されたブロック番号が 8〜 1 0であり、 書換えテーブルに 格納されたブロック番号が 1〜 3であるため、 書換え処理部 1 03は、 書換 えテーブル 1 0 7の実行状態の項目を、 図 2 (B) (2) に示すようにすベ て、 実行中でないことを示す 「停止中」 として埋める。
そして、 書換え処理部 1 03は、 書換えテーブル 1 07を参照して、 現在 実行中でないブロック 1〜3を書換えブロック格納部 1 06から抽出して、 ソフトウエア格納部 1 08に格納されている旧プロック 1〜 3を新ブロック 1〜3によって書換える。
書換え終了後、 書換え処理部 1 03は、 書換えブロック格納部 1 06に格 納されているプロックおよび書換えテーブル 1 07の内容を消去する。 なお、 本実施形態においては、 制御部 1 04が、 CPU 1 04の負荷度合 いを常時監視し、 C PU 1 0 1が行っている処理の負荷が小さくなつた場合 に、 書換え処理部 1 0 3に対して書換え処理を行うよう指示する構成とした が、 以下のような構成としてもよい。 すなわち、 書換えブロック格納部 10 6に新ブロックが転送され、 書換え処理部 1 03からの書換え要求が制御部 1 0 4にあった場合に、 制御部 1 0 4が C P U 1 0 1の負荷度合いを調査す る。 そして、 C P U 1 0 1が行っている処理の負荷が小さい場合に、 制御部 1 0 4が、 書換え処理部 1 0 3に対して書換え処理を行うよう指示する構成 としてもよい。
このように、 本実施の形態に係るソフトウェア書換え方法およびソフトゥ エア書換え装置によれば、 ソフトウエア中において書換え対象となる複数の 処理ブロックを、 実行中ブロックと、 停止中ブロックとに区別し、 停止中ブ ロックを書換えるため、 そのソフトウエアの実行を停止することなく通常の 処理中にソフトウエアの書換えを行うことができる。
(実施の形態 2 )
本実施の形態に係るソフトウェア書換え装置が実施の形態 1と異なる点は、 書換えテーブルが書換え状態を示す項目を持つ点である。
以下、 本発明の実施の形態 2に係るソフトウエア書換え方法およびソフト ウェア書換え装置について図 1および図 3を用いて説明する。 図 3は、 本発 明の実施の形態 2に係るソフトウエアの書換え動作を説明するための図であ る。 なお、
本実施の形態に係るソフトウエア書換え装置は実施の形態 1と略同一の構成 および動作となるため、 同一の構成および動作となる点についての詳しい説 明は省略する。
書換え処理部 1 0 3は、 新ブロックが書換えブロック格納部 1 0 6へ送ら れてきたことを検知すると、 図 3 ( B ) に示すような書換えテ一ブル 1 0 7 を作成する。 この書換えテーブルは、 実施の形態 1の書換えテーブルに、 書 換え状態を示す項目を追加したテーブルである。
今、 ここでは、 新ブロックとしてブロック 1〜 3および 8〜 1 0が書換え ブロック格納部 1 0 6へ転送されてきたものとすると、 書換えテーブル 1 0 7のブロック番号の項目に、 図 3 ( B ) に示すように、 ブロック 1〜 3、 8 〜 1 0と埋められる。 また、 ブロック 1〜 3および 8〜 1 0が書換えテープ ルに埋められる際には、 書換え状態は、 すべて 「未済」 として埋められる。 なお、 この段階では、 まだ実行状態の項目は埋められない。
通常処理部 1 0 2で行われる処理が減少し、 C P U 1 0 1が行っている処 理の負荷が小さくなると、 書換え処理部 1 0 3は、 制御部 1 0 4より、 書換 え処理を行うよう指示されるとともに、 現在実行ブロック格納部 1 0 5に展 開されて実行中であるプロック番号を通知される。
今、 ここでは、 実行ブロック格納部 1 0 5に展開されて実行中であるのは、 実施の形態 1と同じく、 図 3 ( A) の旧ソフトウェアのうち、 図 3 ( C ) ( 1 ) に示すようにブロック 1〜 3であるとする。
次いで、 書換え処理部 1 0 3が、 制御部 1 0 4から通知されたブロック番 号と書換えテーブル 1 0 7に格納されたブロック番号とを対比し、 実行状態 の項目を埋める。 通知されたブロック番号が 1〜 3であり、 書換えテーブル 1 0 7に格納されたブロック番号が 1〜 3および 8〜 1 0であるため、 書換 え処理部 1 0 3は、 書換えテーブル 1 0 7の実行状態の項目を、 図 3 ( B ) ( 1 ) に示すように、 ブロック番号が 1〜 3については 「実行中」 と、 プロ ック番号が 8〜 1 0については 「停止中」 として埋める。
そして、 書換え処理部 1 0 3は、 書換えテーブル 1 0 7を参照して、 書換 えブロック格納部 1 0 6に格納されている新ブロックのうち、 現在実行中で ないブロックで、 かつ、 書換えが済んでいないブロックを書換えブロック格 納部 1 0 6から抽出して、 ソフトウェア格納部 1 0 8に格納されている旧ブ ロックを新ブロックによつて書換える。
今、 ここでは、 新ブロックはすべて書換え 「未済」 であり、 ブロック 1〜 3力 S 「実行中」 で、 ブロック 8〜 1 0が 「停止中」 であるため、 書換え処理 部 1 0 3は、 書換えブロック格納部 1 0 6から新ブロック 8〜 1 0を抽出し て、 ソフトウェア格納部 1 0 8に格納されている旧ブロック 8〜 1 0を新ブ ロック 8〜 1 0によって書換える。
なお、 書換え処理部 1 0 3が、 ブロック 8〜 1 0の書換えを終了するまで は、 図 3 (B) ( 1) に示すブロック 8〜 10の書換え状態は 「未済」 のま まである。
そして、 書きかけ処理部 1 03は、 ブロック 8〜 1 0の書換えが終了する と、 書換えテーブル 1 07のブロック 8〜 1 0の書換え状態を、 図 3 (B) (1) に示すように 「未済」 から 「済」 にする。
次いで、 通常処理部 1 02で行われる処理が増大すると、 制御部 1 04は、 書換え処理部 1 03へ、 書換え処理を一旦中止するように指示する。 この、 指示に従って、 書換え処理部 1 03は書換え処理を一旦中止する。 このとき の書換えテーブル 1 07の書換え状態の内容は、 図 3 (B) ( 1) に示すよ うに、 ブロック 1〜 3については 「未済」、 ブロック 8〜 1 0については
「済」 であるため、 書換え処理部 1 03が再度制御部 1 04から書換え処理 の指示を受けたときには、 書換え処理部 103は、 すでに書換えが済んでい るブロック 8〜 10については書換えを行う必要がなく、 書換えが済んでい ないブロック 1〜 3についてのみ書換えを行えばよいことを判断することが できる。
そして、 再度、 通常処理部 1 02で行われる処理が減少すると、 書換え処 理部 1 0 3は、 制御部 1 04より、 書換え処理を行うよう指示される。 この とき、 実行ブロック格納部 1 0 5に展開されて実行中であるのは、 実施の形 態 1と同じく、 図 3 (C) (2) に示すようにブロック 8〜 1 0であるとす る。
次いで、 書換え処理部 1 03が、 通知されたブロック番号が 8〜 1 0であ るため、 実行状態の項目を、 図 3 (B) (2) に示すように、 ブロック 1〜 3については 「停止中」 と、 ブロック 8〜 1 0については 「実行中」 と埋め る。
そして、 書換え処理部 1 0 3は、 書換えテーブル 1 07を参照して、 現在 実行中でなく、 かつ、 書換え 「未済」 であるブロック 1〜 3を書換えブロッ ク格納部 1 06から抽出して、 ソフトウエア格納部 1 08に格納されている 旧ブロック 1〜 3を新ブロック 1〜 3によって書換え、 ブロック 1〜 3の書 換え終了後、 書換えテーブル 1 0 7のブロック 1〜 3の書換え状態を、 図 3 ( B ) ( 2 ) に示すように 「未済」 から 「済」 にする。
そして、 書換え処理部 1 0 3は、 書換えテーブル 1 0 7の書換え状態がす ベて 「済」 になっていることを確認すると、 書換えブロック格納部 1 0 6に 格納されているブロックおよび書換えテーブル 1 0 7の内容を消去する。 このように、 本実施の形態に係るソフトウエア書換え方法およびソフトウ エア書換え装置によれば、 書換えテーブルが書換え状態を示す項目を持った め、 ソフトウエア中において書換え対象となる複数の処理ブロックのうち、 書換えが済んだブロックと、 書換えが済んでいないブロックとを判別して、 書換えが済んでいないブロックについてのみ書換えを行うことができる。 こ れにより、 書換えるブロック数が多い場合に、 一度の書換え処理によって書 換えを行う必要はなく、 複数回に分けて書換えを行うことが可能となる。 ま た、 書換えが済んだブロックについて再度書換えが行われるということがな くなるため、 書換え処理の負荷が軽減するとともに、 効率良く書換え処理を 行うことができる。
上記実施の形態 1および 2に係るソフトウエア書換え装置は、 無線通信シ ステムにおける移動局装置のような通信端末装置に適用することができる。 適用した場合、 例えば通信端末装置が移動局装置であれば、 基地局装置から 移動局装置へ常時制御信号を送信している制御チャネル等を使用して、 無線 にてソフトウェアを伝送し、 移動局装置においては、 待ち受け中等の比較的 C P Uの処理負荷が小さいときを利用してソフトウエアの書換えを行うこと ができる。 このため、 従来であれば、 ソフトウェアの書換えが必要になった 場合には、 移動局装置を回収してソフトウェアの書換えを行うか、 移動局装 置ユーザが書換え端末がある販売店等に出向いて書換えを行う必要があり、 書換え中は移動局装置を通信に使用することができなかったが、 本発明によ れば、 移動局装置ユーザにソフトゥェァの書換えが行われたことを認識させ ることなく、 移動局装置の通常使用状態において、 ソフトウェアの書換えを 行うことができる。
また、 上記実施の形態 1および 2に係るソフトウェア書換え装置は、 有線 にて接続されている通信端末装置、 有線にて接続されているコンピュータ装 置および無線にて接続されているコンピュータ装置に適用することができる 以上説明したように、 本発明によれば、 ソフトウェアの実行中に、 ソフト ウェアの実行を停止させることなくソフトウエアの書換えを行うことができ る。
本明細書は、 平成 1 1年 8月 1 8日出願の特願平 1 1 一 2 3 1 4 6 8に基 づくものである。 この内容はすべてここに含めておく。 産業上の利用可能性
本発明は、 無線通信システムにおける移動局装置のような通信端末装置に 適用することが可能である。 また、 本発明は、 有線にて接続されている通信 端末装置、 有線にて接続されているコンピュータ装置および無線にて接続さ れているコンピュータ装置に適用することが可能である。

Claims

請求の範囲
1 . 書換えられるソフトウェアの実行中に、 前記書換えられるソフトゥェ ァ中の実行されていない部分を検出し、 前記実行されていない部分を順次書 換えるソフトウヱァ書換え方法。
2 . 書換えられるソフトウェアは 1または複数のブロックに分割されてい るソフトウェアであり、 各々のブロックを実行中であるブロックと実行中で ないブロックとに判別し、 前記実行中でないプロックを順次書換える請求項 1記載のソフトウエア書換え方法。
3 . 書換えブロックをメモリに一時格納し、 前記書換えブロックと実行中 であるブロックとを対比し、 前記書換えブロックに対応するブロックが実行 中でないときに、 書換えられるソフトウエア中の前記対応するブロックを前 記書換えブロックによって順次書換える請求項 2記載のソフトウエア書換え 方法。
4 . 書換えられるソフトウェア中の対応するブロックについて、 書換え済 みか否かを判定し、 書換えが済んでいる前記対応するブロックを再度書換え ない請求項 3記載のソフトウエア書換え方法。
5 . 1または複数のブロックに分割されているソフトウエアを格納するソ フトウェア格納器と、 前記ブロックを展開して実行する処理器と、 書換えブ 口ックを一時的に格納するプロック格納器と、 前記書換えプロックと前記処 理器において実行中のブロックとを対比し、 前記書換えブロックに対応する ブロックの実行状態を判別する判別器と、 判別結果に従って前記ソフトウェ ァ格納器に格納されている前記対応するブロックを前記書換えブロックによ つて順次書換える書換え処理を行う書換え器と、 を具備するソフトウエア書 換え装置。
6 . 判別器は、 書換えブロックのブロック番号を示す項目と、 書換えプロ ックに対応するブロックの実行状態を示す項目と、 を構成項目とするテープ ルを有し、 書換え器は、 前記テーブルを参照し書換え処理を行う請求項 5記 載のソフトウエア書換え装置。
7 . テーブルは、 書換えブロックに対応するブロックの書換え状態を示す 項目を構成項目とする請求項 6記載のソフトウエア書換え装置。
8 . C P Uが行っている処理の負荷度合を調査し、 前記負荷度合が小さく なったときに書換え器に対して書換え処理を行うよう指示する制御器を具備 する請求項 5記載のソフトウエア書換え装置。
9 . 制御器は、 書き換器からの書換え要求に対して、 C P Uが行っている 処理の負荷度合を調査する請求項 8記載のソフトウエア書換え装置。
1 0 . ソフトウエア書換え装置を搭載することを特徴とする通信端末装置 であって、 前記ソフトウェア書換え装置は、 1または複数のブロックに分割 されているソフトウエアを格納するソフトウエア格納器と、 前記ブロックを 展開して実行する処理器と、 書換えプロックを一時的に格納するプロック格 納器と、 前記書換えブロックと前記処理器において実行中のブロックとを対 比し、 前記書換えプロックに対応するプロックの実行状態を判別する判別器 と、 判別結果に従って前記ソフトウェア格納器に格納されている前記対応す るプロックを前記書換えプロックによって順次書換える書換え処理を行う書 換え器と、 を具備する。
PCT/JP2000/005351 1999-08-18 2000-08-10 Procede de reecriture logicielle et dispositif de reecriture logicielle WO2001013219A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
AU64734/00A AU6473400A (en) 1999-08-18 2000-08-10 Software rewriting method and software rewriting device
EP00951925A EP1143332A1 (en) 1999-08-18 2000-08-10 Software rewriting method and software rewriting device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP11/231468 1999-08-18
JP11231468A JP2001056759A (ja) 1999-08-18 1999-08-18 ソフトウェア書換え方法およびソフトウェア書換え装置

Publications (1)

Publication Number Publication Date
WO2001013219A1 true WO2001013219A1 (fr) 2001-02-22

Family

ID=16923984

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2000/005351 WO2001013219A1 (fr) 1999-08-18 2000-08-10 Procede de reecriture logicielle et dispositif de reecriture logicielle

Country Status (5)

Country Link
EP (1) EP1143332A1 (ja)
JP (1) JP2001056759A (ja)
CN (1) CN1318166A (ja)
AU (1) AU6473400A (ja)
WO (1) WO2001013219A1 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3987460B2 (ja) 2003-04-22 2007-10-10 株式会社日立コミュニケーションテクノロジー 無線通信装置及び無線通信網
US7310519B2 (en) 2003-04-22 2007-12-18 Hitachi Communication Technologies, Ltd. Wireless communication apparatus, wireless communication network and software upgrading method
US7406310B2 (en) 2003-04-22 2008-07-29 Hitachi Communication Technologies, Ltd. Network management apparatus and method of selecting base station for software update
CN101261587B (zh) * 2003-06-04 2012-06-27 松下电器产业株式会社 程序置换方法及装置
JP2005182106A (ja) * 2003-12-16 2005-07-07 Yokogawa Electric Corp Cpuメモリ装置及び配置プログラム配置変更方法
JP4747015B2 (ja) * 2006-03-30 2011-08-10 日本電気通信システム株式会社 通信端末装置、及び、その制御方法
EP2071453A1 (en) * 2007-12-14 2009-06-17 ITI Scotland Limited Dynamic code update
JP2009252077A (ja) * 2008-04-09 2009-10-29 Mitsubishi Electric Corp プログラマブル表示器
JP2013254303A (ja) * 2012-06-06 2013-12-19 Sony Corp 情報処理装置、情報処理方法およびプログラム

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62113238A (ja) * 1985-11-12 1987-05-25 Nec Corp 電子計算機システムにおけるプログラム修正装置
JPH02161523A (ja) * 1988-12-14 1990-06-21 Hitachi Ltd 常駐化モジュール修正方式
JPH05224707A (ja) * 1992-02-13 1993-09-03 Yaskawa Electric Corp プログラマブルコントローラのプログラム変更方法
JPH07104991A (ja) * 1993-10-08 1995-04-21 Nec Corp ソフトウェアの修正装置
JPH0895773A (ja) * 1994-09-27 1996-04-12 Oki Electric Ind Co Ltd プログラム動作制御方法及び装置
JPH08171487A (ja) * 1994-12-19 1996-07-02 Fujitsu Ltd ソフトウェア更新管理方式
JPH09190353A (ja) * 1996-01-10 1997-07-22 Sony Corp 通信端末のソフトウェア更新システム
JPH1063498A (ja) * 1996-08-13 1998-03-06 Nippon Denki Ido Tsushin Kk 無線基地局の運用プログラム変更方法
JPH10269075A (ja) * 1997-03-24 1998-10-09 Sony Corp 動作制御情報の更新方法およびそれを用いたデータ処理装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62113238A (ja) * 1985-11-12 1987-05-25 Nec Corp 電子計算機システムにおけるプログラム修正装置
JPH02161523A (ja) * 1988-12-14 1990-06-21 Hitachi Ltd 常駐化モジュール修正方式
JPH05224707A (ja) * 1992-02-13 1993-09-03 Yaskawa Electric Corp プログラマブルコントローラのプログラム変更方法
JPH07104991A (ja) * 1993-10-08 1995-04-21 Nec Corp ソフトウェアの修正装置
JPH0895773A (ja) * 1994-09-27 1996-04-12 Oki Electric Ind Co Ltd プログラム動作制御方法及び装置
JPH08171487A (ja) * 1994-12-19 1996-07-02 Fujitsu Ltd ソフトウェア更新管理方式
JPH09190353A (ja) * 1996-01-10 1997-07-22 Sony Corp 通信端末のソフトウェア更新システム
JPH1063498A (ja) * 1996-08-13 1998-03-06 Nippon Denki Ido Tsushin Kk 無線基地局の運用プログラム変更方法
JPH10269075A (ja) * 1997-03-24 1998-10-09 Sony Corp 動作制御情報の更新方法およびそれを用いたデータ処理装置

Also Published As

Publication number Publication date
JP2001056759A (ja) 2001-02-27
AU6473400A (en) 2001-03-13
EP1143332A1 (en) 2001-10-10
CN1318166A (zh) 2001-10-17

Similar Documents

Publication Publication Date Title
US7376851B2 (en) Apparatus and method for managing power in computer system
CN1327345C (zh) 信息处理设备和程序
JPWO2006075397A1 (ja) インストール方法、プログラム、周辺機器及びシステム
WO2001013219A1 (fr) Procede de reecriture logicielle et dispositif de reecriture logicielle
US20020083357A1 (en) Method and apparatus for lossless resume capability with peripheral devices
US7240043B2 (en) Method of controlling storage control apparatus, storage control apparatus, and computer readable program for controlling the same
JPH0895614A (ja) 制御装置
JPH10187454A (ja) Bios書き換え方式
JP2001147862A (ja) フラッシュメモリ書込方法
JP2001209551A (ja) オペレーティングシステム制御装置、オペレーティングシステム制御方法及び、その記録媒体
JP2003280937A (ja) ファームウェアダウンロードシステム及びその方法
JP2004341674A (ja) 情報処理装置
JPH086616A (ja) プログラマブルコントローラ
JP2848172B2 (ja) 入出力制御装置
JP2003281487A (ja) 携帯可能電子装置、及びアプリケーションとデータ領域をメモリ内に設ける方法
JP2003076554A (ja) ソフトウェア更新システム、それに用いられる携帯情報端末およびサーバ装置、並びにソフトウェア更新方法、そのコンピュータ・プログラムおよびそのプログラムを記録した記録媒体
JP3350716B2 (ja) 位置決め装置
JP2642082B2 (ja) 通信プログラムの起動方法
JPH056318A (ja) Posコントローラ内アプリケーシヨンプログラムのダイナミツクロード方式
JPH07287660A (ja) プログラマブルコントローラの割り込み処理方法
JPH03260838A (ja) Cpu使用時間制限方式
JPH04332058A (ja) ファイル更新方式
JP2003256085A (ja) 情報処理装置
JP2004013387A (ja) コンピュータシステムおよびコンピュータシステム制御方法
JP2001290661A (ja) オペレーティングシステム制御装置及び制御方法並びにオペレーティングシステム制御プログラムを記録した記録媒体

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 00801470.1

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 09807625

Country of ref document: US

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2000951925

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2000951925

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWW Wipo information: withdrawn in national office

Ref document number: 2000951925

Country of ref document: EP