JP2002507020A - 障害を生じることなくデータを更新する技術 - Google Patents

障害を生じることなくデータを更新する技術

Info

Publication number
JP2002507020A
JP2002507020A JP2000535991A JP2000535991A JP2002507020A JP 2002507020 A JP2002507020 A JP 2002507020A JP 2000535991 A JP2000535991 A JP 2000535991A JP 2000535991 A JP2000535991 A JP 2000535991A JP 2002507020 A JP2002507020 A JP 2002507020A
Authority
JP
Japan
Prior art keywords
software
data
old
new
variables
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.)
Pending
Application number
JP2000535991A
Other languages
English (en)
Inventor
ガルド、ベングト、エリク、インゲマル
− オルヤン クリング、ラルス
ヨンソン、ステン、エドバルド
Original Assignee
テレフオンアクチーボラゲツト エル エム エリクソン(パブル)
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 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲツト エル エム エリクソン(パブル)
Publication of JP2002507020A publication Critical patent/JP2002507020A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Abstract

(57)【要約】 複数のメモリ区画(4、14)を備えたソフトウェア処理デバイスにおける更新プロセスの効率を改善するために第1メモリ区画(4)に記憶された元のデータで旧ソフトウェアの実行を続け、第2メモリ区画(14)内で新ソフトウェアおよび関連するデータを更新することを提案する。旧ソフトウェアのデータと新ソフトウェアのデータとで同じ状態が得られた場合(S4)、同じ状態が得られる限り、新ソフトウェアへのサービスの瞬間的な切り替えを行う(S5)。第1メモリ区画内に転送すべきデータがなくなるまで(S6)このプロセスを繰り返す(S6)。従って、本発明によりデータ転送中に障害が少ない状態で更新の効率をかなり改善することができる。

Description

【発明の詳細な説明】
【0001】 (発明の分野) 本発明は、障害を生じることなくデータを更新する技術分野に関し、より詳細
には障害を生じることなくソフトウェア処理デバイス内のソフトウェアおよび関
連するデータを更新する技術分野、およびこれに適した方法に関するものである
【0002】 (発明の背景) データ処理機器およびソフトウェア技術の進歩によりソフトウェアを更新する
方法に対する要求が次第に増大している。
【0003】 この目標を達成する通常の方法は、インストールされたソフトウェアの実行を
停止し、新ソフトウェアをロードし、次に新ソフトウェアをスタートすることで
ある。この方法を使用する際に、旧ソフトウェアと新ソフトウェアとの間で内部
データを転送することはない。更に、この方法を用いた場合に、確立されている
サービスのすべてが失われ、新ソフトウェアのロード中およびスタート中にはす
べてのサービスが完全に停止される。現在、この方法は一般に、例えばワークス
テーションまたはパソコンで用いられている。
【0004】 別の方法は、旧ソフトウェアが旧データに対する演算を続けながら新ソフトウ
ェアをロードすることである。しかしながら、旧ソフトウェアと新ソフトウェア
との間でデータを転送する間、通常、旧ソフトウェアの実行は完全に停止される
。かかる例は1996年のエリクソンレビュー第2号、66〜67ページの「A
XE10ソフトウェアのリモートアップグレードおよび更新」なる論文に記載さ
れており、この例は記録のうちのすべての変数に対して繰り返して取り扱われる
、記録内の変数を転送することに関する。
【0005】 特に、通常、転送すべき変数は新ソフトウェアの設計者により識別される。ま
た、変換しなければならない変数ごとにそれぞれの変換プログラムを作成しなけ
ればならない。この変換プログラムは次に必要な変換を実行し、この変換の結果
を新しくインストールされたソフトウェアに転送する。
【0006】 しかしながら、上記解決案の欠点は、システムの全体の特性および性能が損な
われることである。特にデータの転送中、旧ソフトウェアのデータと一貫性のあ
るコピーを得るためにソフトウェアの実行を停止しなければならないという欠点
がある。
【0007】 従って、米国特許第5,155,837号では、第1ステップにおいて新ソフ
トウェアへの新サービスのためのデータ入力を切り替えることが提案されている
。更に、旧ソフトウェアで進行中のサービスが完了すると、サービスからのデー
タの入力を旧バージョンから新バージョンへ切り替える。しかしながら、新ソフ
トウェアのバージョンが完全に作動状態となる前に旧バージョンによるソフトウ
ェアを最初に終了しなければならないので、このような解決案は短時間でサービ
スを処理するソフトウェアしか取り扱うことができない。
【0008】 (発明の概要) 上記に鑑み、本発明の目的は改良された効率で障害を生じることなくソフトウ
ェアの更新を達成することにある。
【0009】 本発明によれば、この目的はソフトウェアモジュールおよび関連するデータの
第1グループを記憶する第1メモリ区画(partition)およびソフトウェアモジ ュールおよび関連するデータの第2グループを記憶する第2メモリ区画にサブ分
割されたメモリ手段と、第2メモリ区画に記憶されているソフトウェアによるソ
フトウェアの処理を続けながら、これと同時に第1メモリ区画へソフトウェアお
よび関連するデータをロードするようになっているソフトウェア更新手段とを含
む、更新機能を備えたタイプのソフトウェア処理デバイスにより達成される。こ
のソフトウェアの実行は、新しくロードされたソフトウェアと実行中のソフトウ
ェアとに対し、同じ状態となるとすぐに、新メモリ区画へすぐに切り替えられる
【0010】 全般に、長時間のサービスを取り扱う旧ソフトウェアが残っていても、極めて
効率的かつ障害を生じることなくソフトウェアの更新を達成するために、本発明
によれば、旧ソフトウェアを連続的に実行しながら旧ソフトウェアの必要なすべ
てのデータと共に新ソフトウェアを更新することが提案される。新ソフトウェア
のデータが旧ソフトウェアのデータと同じ状態に達したと同時に、新ソフトウェ
アは関連する機能の実行を引き継ぐ。
【0011】 更に本発明の好ましい実施例によれば、ソフトウェア更新手段は新しくロード
されたメモリ区画および実行中のメモリ区画内のソフトウェアが、ソフトウェア
の実行を切り替えるための状態に達しているかどうかを評価するようになってい
る更新制御手段を含む。このソフトウェア更新手段は、ソフトウェア処理デバイ
ス内の異なるメモリ区画の間でデータを転送することにより、ソフトウェアおよ
び関連するデータをロードするためのインターフェース兼変換手段を更に含むこ
とが好ましい。更にこのインターフェース兼変換手段は1回のバックグラウンド
プロセスでソフトウェアの転送を実行し、複数回のバックグラウンドプロセスで
関連するデータの実行をすることが好ましい。この1回のバックグラウンドプロ
セスおよび複数回のバックグラウンドプロセスは現在インストールされているソ
フトウェアの実行と同時に実行される。
【0012】 従って、異なるソフトウェアに関連する必要なすべてのデータの転送を扱うに
は、転送すべきとポイントされたすべてのデータを処理する少なくとも1回のバ
ックグラウンドプロセスを実行する。ここで、バックグラウンドプロセスは、変
更されていない新ソフトウェアへデータを転送するか、または必要な場合に変換
プログラムをスタートする。
【0013】 本発明によれば、バックグラウンドプロセスを実行しながらソフトウェアの実
行を続けるので、既に転送されているデータを旧ソフトウェアによって変更でき
る。旧ソフトウェアと新ソフトウェアとの間で一貫したデータを得るために、変
数のかかる変更を再び新ソフトウェアへ転送する。換言すれば、旧ソフトウェア
により既にコピーされたデータを書き込むごとにデータを再び新ソフトウェアへ
転送する。変換すべきデータの場合、このデータのための変換プログラムを更に
スタートし、変換出力を再び新ソフトウェアへ転送する。
【0014】 従って、本発明によれば、旧ソフトウェアの実行により既に確立されたサービ
スを失うことなく、かつデータの転送中または他の時間中に確立されたサービス
を停止することなく、新ソフトウェアへ転送される旧ソフトウェアに必要なすべ
てのデータを得ることが可能である。特にデータの転送は、データを新ソフトウ
ェアの表示およびデータ構造に変換することを伴うことがある。
【0015】 従って、本発明によれば、機能変更を実行した場合に障害を大幅に低減するこ
とができる。従って、夜間ではなく、通常のワーキング時間に機能変更を実行で
きる。ソフトウェアのサービスプロバイダはアップグレードを行うことにより収
入を失うことはなく、かつソフトウェアによって提供されるサービスの購入者が
サービスの低下を受けることはない。
【0016】 更に、本発明によれば、システムにより頻繁にソフトウェアの更新を行うこと
ができる。その理由は、このような更新の追加のコストが大幅に低減されるから
である。また、新しい機能を購入者へ早期に提供することができる。
【0017】 旧ソフトウェアの実行を続けながら新ソフトウェアをロードし、旧ソフトウェ
アおよび新ソフトウェアに関連するすべてのデータを転送する工程と、新ソフト
ウェアに関連するデータが旧ソフトウェアに関連するデータと同じ状態となって
いるかどうかを評価する工程と、新ソフトウェアのデータの状態と旧ソフトウェ
アのデータの状態とが同じである限り、サービスを新サービスは瞬間的に切り替
える工程とを備えた、ソフトウェアを更新するための本発明の方法により、同じ
利点が得られる。
【0018】 本発明の方法の好ましい実施例によれば、旧ソフトウェアを連続的に実行しな
がら、少なくとも1回のバックグラウンドプロセスで転送すべきデータを識別す
る。このバックグラウンドプロセスはソフトウェアの実行中に書き直された変数
を転送するよう、繰り返し実行することが好ましい。
【0019】 また、本発明の方法の更に別の好ましい実施例によれば、少なくとも1回のバ
ックグラウンドプロセスを繰り返し実行することは、旧ソフトウェアによって変
数を書き直すごとに、転送すべき変数をマークするサブ工程と、前記マークされ
た変数だけに対してバックグラウンドプロセスを繰り返すサブ工程と、転送した
変数のマークを削除するサブ工程とを備える。
【0020】 従って、本発明によれば、バックグラウンドプロセスのスタートと同時にマー
キングをスタートするように、潜在的に一貫性のない変数をマークする。特に旧
ソフトウェアの実行中に旧ソフトウェアにより書き込まれた転送すべき各データ
アイテムをマークする。転送すべきすべてのデータをバックグラウンドプロセス
がスキャンすると、転送すべきであるとマークされている変数に対してのみ、再
びバックグラウンドプロセスがスタートされる。転送後、データアイテムのマー
クは除かれる。次に、バックグラウンドプロセスの第2回目のスタート後、旧ソ
フトウェアにより書き込まれたすべての変数を再びマークする。このようなルー
プは1回のバックグラウンドプロセス中に書き直され、マークされた変数の数が
先の回と比較して減少しなくなるまで続けられる。次に、処理の停止中に残りの
いくつかの変数を転送することができる。かかる処理の停止が必要なケースでは
、可能な最高の効率が得られるように、停止のための時間が最小にされる。
【0021】 更に本発明のソフトウェア処理デバイスおよび本発明の方法の双方は複数のア
プリケーション内で使用できる。すなわち移動通信システムの中央処理ユニット
内でソフトウェアをアップグレードするアプリケーション、データベースの構造
を変更する前に障害を最小にしながら、データベースをアップグレードするアプ
リケーション、またはオペレーティングシステムを更新するアプリケーションで
使用できる。
【0022】 以下、図面を参照して本発明の好ましい実施例について説明する。
【0023】 (本発明の好ましい実施例の説明) 図1は、本発明の第1実施例に係わるソフトウェア処理デバイス1の略図を示
す。
【0024】 図1に示されるように、このソフトウェア処理デバイス1はAサイドとBサイ
ドとから成る。特にAサイドは、更新制御ユニット2と、メモリ区画(partitio
n)4と、処理ユニット6とが設けられている。更にこのメモリ区画はデータ記 憶セクション8と、ソフトウェア記憶セクション10とに分割されている。また
、Bサイドは、第2更新制御ユニット12と、第2メモリ区画14と、第2処理
ユニット16とが設けられている。Aサイドと同じように、メモリ区画14はデ
ータ記憶セクション18と、ソフトウェア記憶セクション20とに分割されてい
る。
【0025】 更に、図1に示されるように、Aサイドのメモリ区画4とBサイドのメモリ区
画14とは、インターフェース兼変換ユニット22を通してリンクされている。
このインターフェース兼変換ユニット22はリンク24を介し、Aサイドにある
更新制御ユニット2によって制御され、更にBサイドにある更新ユニット12は
別のリンク26を介してこのインターフェース兼変換ユニット22を制御できる
。また、双方の更新制御ユニット2、12は別のリンク28および30を介して
関連するメモリ区画4、14に接続されている。
【0026】 図2は、図1に示されたユニットと同じ機能を有するユニットを同じ番号で表
示した、本発明の第2実施例に係わる略図を示す。繰り返しを避けるために、同
じ機能を有するユニットの説明については本書では省略することとする。
【0027】 図2に示されるように、ソフトウェア処理デバイスの第2実施例によれば、図
1に示された更新制御ユニット2と12との機能は単一の更新制御ユニット32
に統合されている。更に、特定のAサイドまたはBサイドに更新制御ユニット3
2を割り当ててはならないが、AサイドまたはBサイドのいずれかの一部であっ
てもよい。
【0028】 図3には異なる更新制御ユニット2、12および32の基本部品が示されてい
る。特に、更新制御ユニットはAサイドとBサイドとの間の、旧ソフトウェアお
よび新ソフトウェアに対するデータの転送を処理するためのデータ転送制御ユニ
ット34を含む。更にAサイドおよびBサイドにおける旧ソフトウェアと新ソフ
トウェアの状態を比較し、これら状態が一致すると判断された場合にスイッチン
グユニット38をトリガーするための状態比較ユニット36が設けられている。
メモリ管理ユニット40は新ソフトウェアのローディング中のメモリ管理、特に
記憶セクションの割り当て、記憶セクションの割り当て解除、記憶セクションの
コンパクト化、およびデータ変数のためのベースアドレスの変更を実行する。最
後に、リンク初期化兼管理ユニット42は、新ソフトウェア記憶セクション20
への新ソフトウェアをロードし、Bサイドにあるメモリ区画14のうちのデータ
記憶セクション18におけるデータ変数に関連する基準情報を更にロードした後
の、新ソフトウェア記憶セクション20内の異なるソフトウェアモジュールに関
連する基準記憶テーブル間のリンクを初期化する。次に、図4〜8を参照し、更
新制御ユニットの異なる部品について説明する。
【0029】 この更新制御ユニットが図1に示されるような分散タイプのものである場合、
最初の3つの構成部品をAサイドにある更新制御ユニット2に割り当て、残りの
構成部品をBサイドにある更新制御ユニット12に割り当てることができる。
【0030】 これまでの記載において、図1および2を参照して本発明に係わるソフトウェ
ア処理デバイスの2つの実施例について説明したが、次の記載では、図4〜9を
参照してそれらの機能について説明する。本発明を限定することなく、Bサイド
に新ソフトウェアをロードするものと仮定する。
【0031】 図4に示されるように、両サイドの処理ユニットは、新ソフトウェアをロード
し、そのための基準記憶装置を初期化するための準備ステップS1でスタートす
る。更に、ステップS2による一般にモジュールに配置されている旧ソフトウェ
アの実行は、更新プロセス全体にわたっても続けられる。ステップS2における
旧ソフトウェアの実行と同時に、更新制御ユニット2および12または更新制御
ユニット32は、ステップS3における新ソフトウェアの更新および旧ソフトウ
ェアと新ソフトウェアとの間のデータの転送をトリガーする。更新プロセスの全
体の効率を大幅に改善可能にしているのは、このようなステップS2とS3にお
ける異なる作業を同時に実行していることによるものである。
【0032】 更に図4に示されるように、状態比較ユニット36がステップS4において旧
ソフトウェアに関連するデータと新ソフトウェアに関連するデータが一致してい
ると判断するとすぐに、同じ状態が達成されている限り、ステップS5において
スイッチングユニット38はサービスを新ソフトウェアに切り替える。ステップ
S4は新ソフトウェアモジュールおよび旧ソフトウェアモジュールのグループご
とに作動できる。すなわちすべてのソフトウェアモジュールに対し、例えば1グ
ループとして作動できる。かかる各スイッチングステップS5の後で、データ転
送制御ユニット34は、転送すべきデータが第1データ記憶セクション8に残っ
ているのか、または第1ソフトウェア記憶セクション10に残っているのかを、
ステップS6で判断する。いずれかの場合、更新プロセスはステップS2に戻り
、全更新プロセスが終了するまで旧ソフトウェアおよび関連するデータを更に転
送する。
【0033】 本発明によれば、図3に示される旧ソフトウェアおよび新ソフトウェアのため
のスイッチングユニット38はモジュラー式に作動できる。また、旧ソフトウェ
アがそのサービスを実行し続けながら、転送すべきデータが連続的に識別される
。好ましくは、ステップS3〜S6における転送すべきデータの識別およびその
転送自体は、旧ソフトウェアと同時に実行される少なくとも1回のバックグラウ
ンドプロセスで実行される。
【0034】 従って、本発明によれば、機能変更の実行中の障害は、夜間ではなく通常のワ
ーキング時間中に機能変更を実行できる程度に大幅に低減される。従って、ソフ
トウェアプロバイダは更新作業のために収入がなくなる恐れはなく、かつソフト
ウェアの購入者はサービスの低下を受けることはない。全般に、アップグレード
のコストが低減されるので、システムにより頻繁にソフトウェアの更新を行うこ
とができる。また購入者に対し、より容易に新しい機能を提供できる。
【0035】 次に、図5〜9を参照し、これまで図1および2に示した第1および第2実施
例に係わるソフトウェア処理デバイスの作動についてより詳細に説明する。
【0036】 特に図5aおよび5bは図4に示されたステップS1およびS3に係わるソフ
トウェアの更新の詳細を示し、図8は図4に示されたステップS5による新ソフ
トウェアへのサービスの切り替えの詳細を示し、図9は図4に示されたステップ
S4による同じ状態を得るために転送すべき残りデータの判断の詳細を示す。
【0037】 次に、準備ステップとしてのステップS1および新ソフトウェアおよびこれに
関連するデータを更新するステップS3の細部について、図5aおよび図5bを
それぞれ参照して説明する。
【0038】 図5aに示されるように、新ソフトウェアの更新を準備するための第1ステッ
プS11は、Bサイドにおけるデータ記憶セクションの準備に関するステップで
あり、この第1ステップS11はメモリ管理ユニット40によって実行される。
ここで、異なるメモリ区画の間のデータの記憶のリロケーションは、物理データ
記憶アドレス指定レベルにおけるこれらメモリ区画間のデータ変数の転送を可能
にするよう実行される。特に、メモリ区画内の適当なアドレススペースを変数が
占めるように、メモリ区画4、14をリロケートする。従って、後にデータ変数
は新ソフトウェアのデータ変数と共存できる。
【0039】 更に、図5aに示されるようにステップS11において旧ソフトウェアだけで
なく新ソフトウェアを取り扱い、更に、データ変換のための変換プログラムも取
り扱うのに十分なメモリが得られるように、異なるメモリ区画へのメモリの分離
を実行する。
【0040】 図5aに示される次のステップS12は、新ソフトウェアのロードに関するも
のであり、メモリ管理ユニット40によって実行される。新ソフトウェア変換の
他にデータの転送に必要な情報が、更新すべきメモリ区画に記憶される。この変
換情報は、ソース変数を変換変数に変換するためのコードと、ソース変数として
コピーまたは使用すべき変数に関する情報を含む。更に、この変換情報はベース
アドレスの変更に関連している。
【0041】 更に、メモリ管理ユニット40は、機能変更自体に必要なソフトウェアを除き
、更新された区画14にあるソフトウェア記憶セクション20から変更または削
除される旧ソフトウェアを除く。更新されたメモリ区画14のソフトウェア更新
セクション20内に、追加された新ソフトウェアおよび変更された新ソフトウェ
アがロードされる。よってこれら追加されたソフトウェアおよび変更されたソフ
トウェアのために記憶エリアが割り当てられるが、サイズを変えることができる
アレイには初期のサイズしか与えられない。更新プロセス中、サービスはまだ旧
ソフトウェアにより実行されている。
【0042】 図5aに示されるように、別のステップS13ではリンク初期化兼管理ユニッ
ト42により基準記憶装置を準備し、変更する。特に、除去されたソフトウェア
のために基準記憶情報を維持する。その理由は、データ変数の旧バージョンに変
換プログラムをリンクするために後でこの情報が必要となるからである。更に、
基準記憶エリアも割り当て、新ソフトウェアのためにこれを満たす。従って、ス
テップS13の後に新ソフトウェアだけでなく、旧ソフトウェアのためのベース
アドレステーブルBATが存在する。
【0043】 Bサイドにおける新ソフトウェアのローディング後のメモリ区画4、14にお
けるベースアドレステーブルBATおよびデータ記憶セクションを示す図6には
、上記準備ステップS12の結果が示されている。基準テーブルは、実際に利用
できるソフトウェアの概観を示すため、新ソフトウェアおよび旧ソフトウェアに
対し、基準テーブルが維持される。更に、ベースアドレステーブルBATは、追
加または変更されたソフトウェアモジュール、保存されたソフトウェアモジュー
ルおよび削除または変更されたソフトウェアモジュールに区別される、異なるソ
フトウェアモジュールのためのアドレスを提供する。
【0044】 特に、図6は新ソフトウェアが追加または変更されたソフトウェアモジュール
44−1または保存されたソフトウェアモジュール44−2のいずれかに関連す
ることを示している。更に、旧ソフトウェアは、保存されたソフトウェアモジュ
ール46−1または削除もしくは変更されたソフトウェアモジュール46−2の
いずれかに関連する。
【0045】 図6に示されるように、異なるソフトウェアモジュールとそれぞれのメモリ区
画のデータ記憶エリアに記憶された関連する変数との間のリンクは、それぞれポ
インタ48、50、52によっても行われる。新ソフトウェアをロードした後に
、新しいセパレート変数、コピー変数および変換変数48−1〜48−3に、追
加または変更されたソフトウェアモジュールがリンクされる。更に、共通するセ
パレート変数、コピー変数およびソース変数50−1〜50−3に、保存された
ソフトウェアモジュールがリンクされる。最後に、古いセパレート変数、コピー
変数およびソース変数52−1〜52−3に、削除または変更されたソフトウェ
アモジュールがリンクされる。
【0046】 図7には更新された基準記憶装置を設定するためのステップS13の影響が示
されている。更新プロセスのために基準テーブルに変換ソフトウェア54が追加
されており、ベースアドレステーブルBATに、関連する新変換ソフトウェアモ
ジュール56が追加されている。リンク58を介し、変換ソフトウェアモジュー
ルに変換ソフトウェアが関連付けされていることに留意すべきである。
【0047】 図7に示されるように、ステップS13に従って基準記憶装置を更新した後に
、コピーされた新変数60へのリンク48−2を共通するコピーされた旧変数6
2へ向け直す。従って、更新されたデータ記憶セクション14内のコピーされた
新変数に対し、記憶エリアを保存する必要はない。
【0048】 更に新しく挿入された変換ソフトウェアモジュールのためのベースアドレステ
ーブルBAT56は、新しい変換タイプの変数66、共通ソースタイプの変数6
8および旧ソースタイプの変数70に対するそれぞれのリンク64−1〜64−
3を有する。このことは、変換ソフトウェアモジュールは、これら変数66、6
8、70に最終的に記憶される実際の内容に対する影響を有する。
【0049】 従って、リンク初期化兼更新ユニット42は、更新されたメモリ区画14のB
サイドにあるベースアドレステーブルを再構築し、変換目的のためにこのBサイ
ドで一時的なベースアドレステーブルBAT56が導入される。これらベースア
ドレステーブルBAT56は変換ソフトウェアモジュールによって使用され、新
ベースアドレステーブル内のエントリーが新しいコピーデータ変数の代わりに旧
データ変数をポイントするように変更され、よってその後、それぞれの旧ソフト
ウェアおよび新ソフトウェアに対し、対応する旧データ変数が共通となる。従っ
て、Bサイドにおけるデータ記憶セクション18から新コピーデータ変数を除く
ことができる。
【0050】 更に、新ベースアドレスを得て、このアドレスの値、構造、サイズおよび個々
の数を維持するだけのデータ変数はコピーデータ変数として扱われる。同じこと
が、旧ソフトウェアからそのサイズを相続するデータ変数についても当てはまる
【0051】 変換情報に従い、旧ソフトウェアモジュールからそのサイズを継承する変換タ
イプの変数が、更新されたデータ記憶セクション18に割り当てられる。新コピ
ーデータ変数から先に割り当て解除されたメモリを再利用するために、まず最初
にデータ記憶セクション18をパックすることができる。図7において、影の付
いていないデータ変数は変更されないままである。更に、図7において影の付い
ているデータ変数は変換モジュールによって変更されたものである。
【0052】 ステップS13におけるこのような基準記憶装置の準備の結果は、インターフ
ェース兼変換ユニット22で実行されるステップS32で更新されるメモリ区画
へのデータをコピーし、変換するための基礎として働く。特に旧ソフトウェアを
更に実行する間にコピータイプおよびソースタイプのデータ変数はAサイドから
Bサイドへ転送される。これらのコピーは、旧ソフトウェアによりデータが書き
込まれ、物理的アドレス指定レベルでこのような書き込みが行われるたびに行わ
れる。
【0053】 関連するソフトウェアの変更に応じたインターフェース兼変換ユニット22を
通してデータ変数の変更全体は、次のようにまとめることができる。
【0054】
【表1】
【0055】 図5bは図4に示されたステップ3による新ソフトウェアの更新の更なる詳細
を示す。ここで、第1ステップS31はインターフェース兼変換ユニット22内
で実行され、データ転送制御ユニット34によって制御され、転送しなければな
らない旧ソースタイプのデータの識別を行う。特に、ステップS31は遠くに転
送されないデータおよび既に転送されているが旧ソフトウェアの実行を続行する
ことにより旧ソフトウェアによって書き直されているデータを識別するように働
く。本発明の1つの選択案によれば、それぞれのデータ変数をマークすることが
できる。
【0056】 ステップS31に対し新データ変数へのコピーのみにより、転送すべきデータ
を特定するために、データ転送制御ユニット34内でデータ変更情報を使用でき
る。
【0057】 別のオプションはデータがそのベースアドレスを変えるか、またはデータの値
、構造、サイズおよび関連するデータ変数の個々の数を維持することである。更
に、データ変更情報は、変換機能を実行することにより、ある種のデータを変換
しなければならないことも指定できる。
【0058】 データの更新をするための別のカテゴリーとしては、旧ソフトウェアからなん
らかの方法でコピーまたは入手してはならない、新ソフトウェアにおける変数に
関連したセパレートタイプのデータが挙げられる
【0059】 最後に、データはソースタイプとすることができ、すなわちある種の変換され
た変数の値を得るのに使用できる。特にデータはソースタイプおよびコピータイ
プのいずれでもよい。
【0060】 図5bに示されるように、ソフトウェアを更新するための第2ステップS32
は、新ソフトウェアおよびそれに関連するデータのコピー、変換および初期化に
関連するステップである。この第2ステップS32は、データ転送制御ユニット
34によって制御され、次に説明するように、データおよび基準記憶装置の変更
を行う。
【0061】 ここで、もとのメモリ区画4とソースメモリ区画14との間で次の情報が転送
される。
【0062】 データ:1ワードのデータ アドレス:1ワードよりも短い個々のデータのためのビットアドレスを含む、
書き込まれたデータの全アドレス ワイルドカード:1回の書き込み動作で2つ以上の個々のデータが書き込まれ
たことを示すビット カテゴリー:変数がソースタイプであることを示すビット
【0063】 該当するすべてのデータ変数を転送することを保証するために、図4を参照し
てこれまで概略を述べた少なくとも1回のバックグラウンドプロセスでコピーお
よびソースタイプのデータ変数を読みだし、書き込みする。
【0064】 更に、バックグラウンドプロセスが完了するとすぐに、Bサイドで変換データ
変数のための変換をスタートする。この変換はAサイドのメモリ区画とBサイド
のメモリ区画との間のコピーとパラレルに実行される。本発明によれば、この変
換は変換状態メントで発生するデータを旧ソフトウェアによって書き込むごとに
、個々のレベルで行う。
【0065】 図5bに示されるように、ステップS32はデータ変数のバックグラウンド変
換を終了する際に実行すべき新ソフトウェアの初期化を含む。この目的は新ソフ
トウェアを実際に実行する前に新ソフトウェアモジュールを初期化することにあ
る。特に、この初期化はデータのコピーおよび変換とパラレルに行われる。シス
テムのスタートおよび再スタートに実行中に、通常設定され、ソフトウェアの変
更後に更新を必要とする異なるタイプの論理リンクおよび基準を再設定する。
【0066】 図4を参照すると、ステップS4では旧ソフトウェアおよび新ソフトウェアに
関するデータの状態を判断するために、状態比較ユニット36を附勢する。図9
にはこのステップS4に関連するサブステップが示されており、これらサブステ
ップは2つの質問、すなわちステップS41での転送すべきデータが残っている
のかという質問、更にステップS42での最終バックアップ処理ループ中に書き
直された、すなわちマークされたデータ変数の数が、減少したかどうかという質
問を含む。
【0067】 最終バックアップ処理ループ中に書き直されたデータ変数またはマークされた
データ変数の数が減少した場合、更新プロセスは再び図4に示されるステップS
2に分岐する。減少していない場合、全更新手順を終了するために、残っている
データ変数の転送を旧ソフトウェアの停止中に実行する。同じ状態が得られる場
合、このプロセスはスイッチングユニット38で実行されるステップS5に進み
、同じ状態が得られている場合に新ソフトウェアのサービスに即座に切り替える
。図8は、次のように説明する新ソフトウェアモジュールへのサービスの切り替
えに関連するサブステップを示す。
【0068】 図8に示される第1ステップS51は、Aサイドにあるメモリ区画とBサイド
にあるメモリ区画14との間の切り替えに関するものである。ここで、切り替え
るべきソフトウェアモジュールの実行は、関連するプロセスデータのスキャニン
グと共にAサイドで停止される。プロセスバッファ内の現在のプロセスは実行さ
れるか、または最終的に除かれる。ソフトウェアモジュールを除かなければなら
ない場合、適用可能な場合には関連するトランザクションを終了しなければなら
ない。
【0069】 ステップS52では、Bサイドにおける最小機能変更の再スタートが続く。こ
のオプションのステップS52の主な機能は、更新されているソフトウェア処理
デバイスにリンクされている別のソフトウェア処理デバイスへの外部通信を引き
継ぐことにある。また、この外部通信に関連する処理テーブルおよびタイミング
信号を開始してもよい。時間を節約するために、該当するソフトウェアモジュー
ルだけに再スタート信号を送ってもよい。どのソフトウェアモジュールが関連す
るかは機能コードまたは該当するソフトウェアモジュールからの明示的信号のい
ずれかによる先の初期化(ステップS32)から決定できる。
【0070】 図7に示された次のステップS53はオプションであり、機能変更アボート、
例えばトランザクションのキャンセルに関するものである。特に本発明はトラン
ザクションの状態の概念に関するトランザクション概念を提供するものである。
この状態は全体としてトランザクションに適用される。本発明によれば、2つの
状態を区別する。すなわち旧ソフトウェアモジュールから新ソフトウェアモジュ
ールへのマッピングが可能であるという意味において、トランザクションの状態
が良好に定められる第1安定状態と、逆のことが当てはまる準安定状態とを区別
する。このトランザクション概念の利点は、起こり得るすべての準安定状態を変
換するための高価な機構を回避できることである。
【0071】 ステップS53の後に、変換目的および変換用に使用され、図7に影を付けて
示されるメモリの割り当てを解除し、次に基準記憶装置をクリーンアップする。
【0072】 図8に示された最終ステップS54は、初期および最終実行サイドのための通
常のパラレルスタートに関するステップである。このステップは、新ソフトウェ
ア内のエラーが極めて起こりにくいようにしばらくの間、新ソフトウェアを実行
される際に実行されるステップである。このような標準化ステップS54の前に
、更新されたサイドはメモリ内に旧ソフトウェアを維持するバックアップとして
働く。
【0073】 再び図4を参照すると、ステップS5で切り替えた後の主フローチャートにお
ける最終ステップS6は、残りのデータをまだ転送すべきかどうか、またはすべ
ての新モジュールを切り替え、実行しているかどうかの評価に関するステップで
ある。
【0074】 本方法のこれまでの説明から、本方法は単一ソフトウェア処理デバイスおよび
分散処理を行う複数のソフトウェア処理デバイスの双方に適用できる。
【0075】 単一ソフトウェアを処理するデバイスで使用する上での明らかな利点は、異な
るソフトウェア処理デバイス間でデータをコピーする必要がないということであ
る。また、通常の命令実行からの簡単なソフトウェアの割り込みとして変換プロ
グラムをスタートしてもよい。ソースデータ変数を書き込みするごとに、更に関
連する通常の実行時間への悪影響により、命令パイプラインが破壊されるという
欠点を克服するために、1つの可能性はソフトウェアの割り込み時にソースデー
タ変数のアドレスをバッファ化することである。
【0076】 多数のソフトウェア処理デバイスを使用することは、各処理デバイスにおける
メモリおよび処理容量が少なくてすむという点で有利である。この理由は、プロ
グラム記憶セクションが旧ソフトウェア、新ソフトウェアだけでなく変換プログ
ラムを取り扱ってはならないからである。更に、データ記憶セクションも旧ソフ
トウェアだけでなく新ソフトウェアのためのセパレートタイプのデータ変数をホ
ストしてはならない。このことは、プログラム記憶セクションでは、単一ソフト
ウェア処理デバイスによる実現例と比較した場合に、要求量が少なくなるという
ことを意味する。データ記憶セクションでも要求量は低くなる。最後に、変換プ
ログラムだけでなく元のプログラムも複数のソフトウェア処理デバイスを使って
異なるサイドで実行されるので、処理容量の必要量も大幅に低減される。
【0077】 全体に障害を生じることなくソフトウェアの機能変更を可能にするという、本
発明の主な原理は次のように要約できる。旧ソフトウェアから新ソフトウェアへ
のデータのコピーおよび変換は、通常のソフトウェアの実行とパラレルに、かつ
この実行に障害を生じることなく実行される。新ソフトウェアにおけるモジュー
ルを初期化し、通常のソフトウェアの実行をパラレルに、かつこのソフトウェア
の実行を乱すことなく機能変更を開始する。新ソフトウェアへの切り替えは、ソ
フトウェアの実行の停止中に最小の機能変更の再スタートを行い、次にソフトウ
ェアの実行とパラレルな不安定なトランザクションをアボートすることにより実
行される。
【0078】 更に、本発明の基礎となる原理は、データ記憶装置内のデータ変数の元の物理
的位置を新ベースアドレステーブルエントリーに割り当てることにより、変数の
値、構造、サイズおよび変数の個々の数を維持し、データ変数の値を新データ変
数またはベースアドレスが変更された同じデータ変数へコピーすることである。
ここで、本発明によれば、実際のコピーおよび変換を行う前に割り当てを行う。
このことは、かかる割り当てのために実際の変換プログラムを実行しなくてもよ
いことを意味する。これと対照的に、1回コピーすれば、その結果、意図する変
換が得られる。
【0079】 更に、コピーおよび変換をスタートする前にソフトウェア内の新しい部分にデ
ータ記憶セクション内のメモリを割り当てる。このことは重要な変換時間中にメ
モリをコンパクトにする資源を消費しなくてもよいことを意味する。
【0080】 更に、データ変数を書き込むごとに異なるサイドの間でのコピーおよびソース
データ変数のための値の転送を行う。すべてのデータ変数が転送されるのを保証
するために、バックグラウンドレベルですべてのデータ変数をスキャンする。
【0081】 更に、ソースデータ変数値を転送するごとに、更新サイドの変換プログラムを
スタートする。スタートごとに当該データ変数の1つの個々の変数だけに通常、
変換プログラムが実行され、データ変数の個々のすべてに対して繰り返すように
は実行されない。すべてのデータ変数にデータ値を割り当てることを保証ために
、すべての変換プログラムはバックグラウンドレベルで個々のデータ変数ごとに
1回実行される。
【0082】 更に、初期化、すなわち静的なリンクを含まない最小の機能変更の再スタート
は極めて高速である。このことはこのような再スタートは実行中に短時間の停止
があっても、通常のソフトウェアの通常の実行に対し障害を引き起こすことがな
いことを意味する。
【0083】 最後に、スイッチング時に良好に定められていないトランザクションがアボー
トされる。トランザクションの状態の概念すなわち安定または準安定とは、状態
が良好に定められていないかどうかを定めるものである。本書では安定状態にあ
るすべてのトランザクションに対し、新ソフトウェアへ一貫した状態が保証され
る。残りのトランザクションはアボートされることになる。
【0084】 以上で本発明の異なる実施例について説明したが、これら実施例は本発明を限
定するものではなく、次に説明するように別の変形および変更を検討することが
できる。
【0085】 かかる1つの変形例は、高レベルアドレスにある異なるサイドの間でデータ変
数アドレスをデータ記憶セクションへ転送することである。ここではデータ変数
アドレスは、データ変数のベースアドレスから成り、適用可能な場合には更にポ
インタまたはインデックスから成る。このような変形例の主な利点は、変換が簡
略であるということである。
【0086】 別の変形例は、特定のソフトウェア処理デバイスに記憶されたソフトウェアモ
ジュールを除く他の部分に関連するソフトウェアモジュールを更新することであ
る。特にソフトウェアだけでなくハードウェアを更新することも検討できる。ま
た、ハードウェアの更新中にソフトウェアの実行を別のソフトウェア処理デバイ
スに切り替えることも検討できる。
【0087】 更に、最初にハードウェアの部品を変更し、次に本発明に係わる方法を使って
ソフトウェアの一部を変更することにより、異なるソフトウェア処理デバイスで
ソフトウェアとハードウェアとの組み合わせた更新を検討することもできる。本
書では、同時に一部の部品だけを変更するだけでよく、従って、分散システム内
で全体を再スタートする必要はない。
【図面の簡単な説明】
【図1】 本発明の第1実施例に係わるソフトウェア処理デバイスの略図を示す。
【図2】 本発明の第2実施例に係わるソフトウェア処理デバイスの略図を示す。
【図3】 図1および2に示された更新制御ユニットの基本部品を示す。
【図4】 ソフトウェアを更新するための本発明の方法のフローチャートを示す。
【図5a】 図5aは、図4に示されたフローチャートの細部を示すフローチャートであっ
て、図4に示された準備ステップのための、より細部を示すフローチャートを示
す。
【図5b】 図5bは図4に示されたフローチャートの細部を示すフローチャートであって
、図4に示された新ソフトウェアおよび関連データを更新するためのステップの
、より細部を示すフローチャートを示す。
【図6】 新ソフトウェアモジュールをロードした後の基準記憶装置の状態を示す。
【図7】 図4における新ソフトウェアモジュールの準備ステップ後の基準記憶装置の状
態を示す。
【図8】 少なくとも1つのサービスを図4に示された新ソフトウェアモジュールに瞬間
的に切り替えるためのステップの詳細なフローチャートである。
【図9】 図4に示された残りのデータを評価するためのステップによる詳細なフローチ
ャートを示す。
【符号の説明】
1 ソフトウェア更新ユニットのためのソフトウェア処理デバイス 4 第1メモリ区画 14 第2メモリ区画 2、12、32 更新制御ユニット 22 インターフェイスおよび変換ユニット 8 第1データ記憶セクション 10 第1ソフトウェア記憶セクション 18 第2データ記憶セクション 20 第2ソフトウェア記憶セクション 24 第1リンク 26 第2リンク 28 第3リンク 30 第4リンク 44〜52、58、64 記憶された基準データにおけるリンク 56 変換ソフトウェアモジュールのためのベースアドレステーブル 60、62、66〜70 更新されたデータ記憶エリアにおける変数
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成12年3月16日(2000.3.16)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】0001
【補正方法】変更
【補正内容】
【0001】 (発明の分野) 本発明は、障害を生じることなくデータを更新する技術分野に関し、より詳細
には、請求項1の前文に記載のソフトウェア処理デバイスおよび請求項13に記
載のこの処理デバイスに適した方法において、障害を生じることなくソフトウェ
アおよび関連するデータを更新する技術分野に関するものである。
【手続補正書】特許協力条約第34条補正の翻訳文提出書
【提出日】平成12年6月19日(2000.6.19)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正内容】
【0007】 従って、米国特許第5,155,837号では、第1ステップにおいて新ソフ
トウェアへの新サービスのためのデータ入力を切り替えることが提案されている
。更に、旧ソフトウェアで進行中のサービスが完了すると、サービスからのデー
タの入力を旧バージョンから新バージョンへ切り替える。しかしながら、新ソフ
トウェアのバージョンが完全に作動状態となる前に旧バージョンによるソフトウ
ェアを最初に終了しなければならないので、このような解決案は短時間でサービ
スを処理するソフトウェアしか取り扱うことができない。 国際特許出願明細書第WO94/01819号は、コンピュータの作動中にソ
フトウェアを変更するためのシステムに関する。特にコンピュータシステムの進
行中の活動を乱すことなく、作動中のコンピュータシステムにおいてソフトウェ
アを置換することが検討されている。 更に、欧州特許第EP0803806A2号は、コンピュータシステムのため
のデータ変換機構について述べており、この変換機構ではデータ構造のコンパク
トなコード化された表示を発生しながら、同時に別のソフトウェアの見地からソ
フトウェアツールがデータ構造を示す第2のデータ構造の定義ファイルを発生す
るよう、第1データ構造を処理するようになっている。 更に、グプタ.D外著「プロセス間の状態転送を使ったオンラインのソフトウ ェアバージョン変更」、ソフトウェアプラクティスおよび経験、第23巻第9号
、1993年9月1日、949〜964ページには、プロセス間の状態転送を使
ってオンラインでソフトウェアのバージョンを変更することが記載されている。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0009
【補正方法】変更
【補正内容】
【0009】 本発明によれば、この目的は、請求項1記載の更新機能を有するタイプのソフ
トウェア処理デバイスによって達成される。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0017
【補正方法】変更
【補正内容】
【0017】 独立請求項13の工程を含む、ソフトウェアを更新するための本発明の方法に
より同じ利点が得られる。
【手続補正書】
【提出日】平成12年9月26日(2000.9.26)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】特許請求の範囲
【補正方法】変更
【補正内容】
【特許請求の範囲】
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,CY, DE,DK,ES,FI,FR,GB,GR,IE,I T,LU,MC,NL,PT,SE),OA(BF,BJ ,CF,CG,CI,CM,GA,GN,GW,ML, MR,NE,SN,TD,TG),AP(GH,GM,K E,LS,MW,SD,SL,SZ,UG,ZW),E A(AM,AZ,BY,KG,KZ,MD,RU,TJ ,TM),AE,AL,AM,AT,AU,AZ,BA ,BB,BG,BR,BY,CA,CH,CN,CU, CZ,DE,DK,EE,ES,FI,GB,GD,G E,GH,GM,HR,HU,ID,IL,IN,IS ,JP,KE,KG,KP,KR,KZ,LC,LK, LR,LS,LT,LU,LV,MD,MG,MK,M N,MW,MX,NO,NZ,PL,PT,RO,RU ,SD,SE,SG,SI,SK,SL,TJ,TM, TR,TT,UA,UG,US,UZ,VN,YU,Z W (72)発明者 ヨンソン、ステン、エドバルド スウェーデン国 ファルスタ、リスビクス ガタン 3 Fターム(参考) 5B076 EA17

Claims (29)

    【特許請求の範囲】
  1. 【請求項1】 a)a1)ソフトウェアおよび関連するデータの第1グルー
    プを記憶する第1メモリ区画(4)と、 a2)ソフトウェアおよび関連するデータの第2グループを記憶する第2メ
    モリ区画(14)とにサブ分割されたメモリ手段(4、14)と、 b)b1)ソフトウェアおよび関連するデータを第1メモリ区画(4)にロー
    ドするのと同時に、 b2)第2メモリ区画(14)内に記憶されているソフトウェアによるソフ
    トウェア処理を続け、 b3)ロードされ、実行中のソフトウェアのための同じ状態が得られる限り
    、ソフトウェアの実行を瞬間的に切り替えるようになっているソフトウェア更新
    手段(2、12、22;22、32)とを備えた、更新機能を有するタイプのソ
    フトウェア処理デバイス。
  2. 【請求項2】 第1メモリ区画(4)が、第1データ記憶セクション(8)
    と、第1ソフトウェア記憶セクション(10)とに分割されていることを特徴と
    する、請求項1記載のソフトウェア処理デバイス。
  3. 【請求項3】 第2メモリ区画(14)が、第2データ記憶セクション(1
    8)と第2ソフトウェア記憶セクション(20)とに分割されていることを特徴
    とする、請求項1または2記載のソフトウェア処理デバイス。
  4. 【請求項4】 第1メモリ区画(4)および第2メモリ区画(14)内に記
    憶されているソフトウェアを実行するようになっている処理手段(6、16)を
    含むことを特徴とする、請求項1〜3のいずれかに記載のソフトウェア処理デバ
    イス。
  5. 【請求項5】 ソフトウェア更新手段(2、12、22;22、32)が、
    新しくロードされたメモリ区画(4、14)および変更されていないままのメモ
    リ区画(14、4)内のソフトウェアがソフトウェアの実行を切り替えるための
    状態に達しているかどうかを評価するための状態記憶手段(36)を含むことを
    特徴とする、請求項1〜4のいずれかに記載のソフトウェア処理デバイス。
  6. 【請求項6】 更新制御手段(2、12;32)が、旧ソフトウェアと新ソ
    フトウェアとに対し同じ状態に達している限りソフトウェアの実行を瞬間的に切
    り替えるためのスイッチング手段(38)を更に含むことを特徴とする、請求項
    5記載のソフトウェア処理デバイス。
  7. 【請求項7】 更新制御手段(2、12;32)が、更新すべきメモリ区画
    (4、14)内のベースアドレスを割り当て、割り当てを解除し、パックし、ま
    たは変更するためのメモリ管理手段(40)を更に含むことを特徴とする、請求
    項5または6記載のソフトウェア処理デバイス。
  8. 【請求項8】 更新制御手段(2、12;32)が、新しくロードされたソ
    フトウェアと更新されたメモリ区画(4、14)内の更新されたデータとの間の
    正しい基準を確立するようになっているリンク初期化兼管理手段(42)を更に
    含むことを特徴とする、請求項5〜7のいずれかに記載のソフトウェア処理デバ
    イス。
  9. 【請求項9】 ソフトウェア更新手段(2、12、22;22、32)が、
    第2または第1メモリ区画(14、4)のうちの1つからのソフトウェアおよび
    関連するデータの転送により、第1または第2メモリ区画(4、14)の1つに
    ソフトウェアおよび関連するデータをロードするためのインターフェース兼変換
    手段(22)を更に含むことを特徴とする、請求項1〜8のいずれかに記載のソ
    フトウェア処理デバイス。
  10. 【請求項10】 インターフェース兼変換手段(22)が、処理手段(6、
    16)のソフトウェアの実行と同時に実行されるバックグラウンドプロセスにお
    いて、ソフトウェアおよび関連するデータの転送を実行するようになっているこ
    とを特徴とする、請求項9記載のソフトウェア処理デバイス。
  11. 【請求項11】インターフェース兼変換手段(22)が、更新制御手段(2
    、12、22)から受信した命令に従い、ソフトウェアおよび関連するデータを
    変換するようになっていることを特徴とする、請求項9または10記載のソフト
    ウェア処理デバイス。
  12. 【請求項12】 先の転送後にソフトウェアおよび関連するデータが再び変
    更された場合に更新制御手段(2、12;32)がソフトウェアおよび関連する
    データの転送を繰り返すことを、インターフェース兼変換手段(22)に命令す
    ることを特徴とする、請求項11記載のソフトウェア処理デバイス。
  13. 【請求項13】 a)旧ソフトウェアの実行を続けながら新ソフトウェアを
    ロードし、旧ソフトウェアおよび新ソフトウェアに関連するすべてのデータを転
    送する工程(S1、S2、S3)と、 b)新ソフトウェアに関連するデータが旧ソフトウェアに関連するデータと同
    じ状態に達しているかどうかを評価する工程(S4)と、 c)新ソフトウェアのデータの状態と旧ソフトウェアのデータの状態とが同じ
    である限り(S4)、サービスを新ソフトウェアに瞬間的に切り替える工程(S
    5)とを備えた、ソフトウェアを更新するための方法。
  14. 【請求項14】 旧ソフトウェアおよび新ソフトウェアがモジュラータイプ
    であり、ソフトウェアモジュールに従って切り替えを実行する(S5)ことを特
    徴とする、請求項13記載の方法。
  15. 【請求項15】 旧ソフトウェアがそのサービスの実行を続けながら(S2
    )、少なくとも1つのバックグラウンドプロセスにより転送すべきデータを識別
    すること(S3〜S6)を特徴とする、請求項13または14記載の方法。
  16. 【請求項16】 バックグラウンドプロセスが、転送すべきすべてのデータ
    変数をコピータイプ、変換タイプおよびソースタイプに分類する(S31)こと
    を特徴とする、請求項15記載の方法。
  17. 【請求項17】 変数がコピータイプである場合に、バックグラウンドプロ
    セス(S3〜S6)がこの変数を変更されていない新ソフトウェアに転送するこ
    とを特徴とする、請求項16記載の方法。
  18. 【請求項18】 変数が変換タイプである場合に、バックグラウンドプロセ
    ス(S3〜S6)が変換フォーマットに従って変数を新ソフトウェアに転送する
    ための変換プログラムをスタートすることを特徴とする、請求項16記載の方法
  19. 【請求項19】 更新されたデータが旧ソフトウェアによって再び変更され
    た場合に、かかる変更の各々を新ソフトウェアに対して再び更新する(S31、
    S32)ことを特徴とする、請求項13〜18のいずれかに記載の方法。
  20. 【請求項20】 コピータイプの旧ソフトウェアのデータ変数への各書き込
    みによりデータ変数を再び新ソフトウェアにコピーする(S31、S32)こと
    を特徴とする、請求項19記載の方法。
  21. 【請求項21】 変換タイプの旧ソフトウェアのデータ変数への各書き込み
    により、変換プログラムが変換結果を新ソフトウェアに転送するよう再びスター
    トされる(S31、S32)ことを特徴とする、請求項19記載の方法。
  22. 【請求項22】 旧ソフトウェアの実行中に書き直された変数を転送するよ
    うに、少なくとも1回のバックグラウンドプロセス(S3〜S6)を繰り返し実
    行する(S41、S42)ことを特徴とする、請求項15〜21のいずれかに記
    載の方法。
  23. 【請求項23】 少なくとも1回のバックグラウンドプロセスを繰り返し実
    行すること(S3〜S6)が、次のサブ工程、すなわち a)旧ソフトウェアによって変数を書き直すごとに、転送すべき変数をマーク
    するサブ工程と、 b)前記マークされた変数だけに対してバックグラウンドプロセスを繰り返す
    サブ工程(S3〜S6)と、 c)転送した変数のマークを削除するサブ工程とを備えることを特徴とする、
    請求項22記載の方法。
  24. 【請求項24】 バックグラウンドプロセスが一巡する間に(S3〜S6)
    書き直された変数の数が先の数と比較して減少しなくなるまで(S42)、少な
    くとも1つのバックグラウンドプロセス(S3〜S6)の繰り返しを続けること
    を特徴とする、請求項22または23記載の方法。
  25. 【請求項25】 旧ソフトウェアの停止中(S43)に少なくとも1つのバ
    ックグラウンドプロセス(S3〜S6)の最終回の後に残っている書き直された
    変数の転送を実行することを特徴とする、請求項24記載の方法。
  26. 【請求項26】 ソフトウェアのオンサイトの更新プロセスのために使用す
    ることを特徴とする、請求項13〜25のいずれかに記載の方法。
  27. 【請求項27】 ソフトウェアのリモート更新プロセスのために使用するこ
    とを特徴とする、請求項13〜25のいずれかに記載の方法。
  28. 【請求項28】 旧ソフトウェアを第1メモリ区画に割り当て、新ソフトウ
    ェアを第2メモリ区画に割り当てることを特徴とする、請求項13〜27のいず
    れかに記載の方法。
  29. 【請求項29】 更新プロセス後、通常の作動中に第1メモリ区画および第
    2メモリ区画を使って冗長性を改善することを特徴とする、請求項28記載の方
    法。
JP2000535991A 1998-03-12 1999-03-11 障害を生じることなくデータを更新する技術 Pending JP2002507020A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE19810802A DE19810802A1 (de) 1998-03-12 1998-03-12 Störungsfreies Aktualisieren von Daten
DE19810802.8 1998-03-12
PCT/EP1999/001586 WO1999046673A2 (en) 1998-03-12 1999-03-11 Disturbance free update of data

Publications (1)

Publication Number Publication Date
JP2002507020A true JP2002507020A (ja) 2002-03-05

Family

ID=7860683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000535991A Pending JP2002507020A (ja) 1998-03-12 1999-03-11 障害を生じることなくデータを更新する技術

Country Status (8)

Country Link
US (1) US6347396B1 (ja)
EP (1) EP1062570A2 (ja)
JP (1) JP2002507020A (ja)
KR (1) KR20010041805A (ja)
AU (1) AU3410899A (ja)
CA (1) CA2323452C (ja)
DE (1) DE19810802A1 (ja)
WO (1) WO1999046673A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022549529A (ja) * 2019-12-13 2022-11-25 ベックホフ オートメーション ゲーエムベーハー オートメーションシステムの制御プログラムのプログラム状態のデータ移行の過程でのポインタ要素のデータ移行の方法
JP2022551342A (ja) * 2019-12-13 2022-12-08 ベックホフ オートメーション ゲーエムベーハー 制御プログラムのプログラム状態のデータ移行で自動化システムの制御プログラムを更新するための方法

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7246150B1 (en) 1998-09-01 2007-07-17 Bigfix, Inc. Advice provided for offering highly targeted advice without compromising individual privacy
US6263362B1 (en) * 1998-09-01 2001-07-17 Bigfix, Inc. Inspector for computed relevance messaging
US8914507B2 (en) * 1998-09-01 2014-12-16 International Business Machines Corporation Advice provided for offering highly targeted advice without compromising individual privacy
US7197534B2 (en) 1998-09-01 2007-03-27 Big Fix, Inc. Method and apparatus for inspecting the properties of a computer
US7607572B2 (en) * 1999-03-19 2009-10-27 Bigfix, Inc. Formalizing, diffusing, and enforcing policy advisories and monitoring policy compliance in the management of networks
US7277919B1 (en) 1999-03-19 2007-10-02 Bigfix, Inc. Relevance clause for computed relevance messaging
US8033913B2 (en) * 1999-06-03 2011-10-11 Igt Gaming machine update and mass storage management
US6754848B1 (en) * 1999-09-30 2004-06-22 International Business Machines Corporation Method, system and program products for operationally migrating a cluster through emulation
US6779176B1 (en) * 1999-12-13 2004-08-17 General Electric Company Methods and apparatus for updating electronic system programs and program blocks during substantially continued system execution
JP2001275140A (ja) * 2000-03-28 2001-10-05 Matsushita Electric Ind Co Ltd 運用/待機構成の通信制御装置及び運用/待機系切替方法
US20020073410A1 (en) * 2000-12-13 2002-06-13 Arne Lundback Replacing software at a telecommunications platform
JP2002236583A (ja) * 2001-02-07 2002-08-23 Fujitsu Ten Ltd 組込み用ソフトウェアモジュール
KR100433056B1 (ko) * 2001-08-18 2004-05-24 엘지전자 주식회사 프로그램 업그레이드 방법
US9231827B2 (en) * 2001-11-09 2016-01-05 International Business Machines Corporation Formalizing, diffusing and enforcing policy advisories and monitoring policy compliance in the management of networks
US7657616B1 (en) 2002-06-10 2010-02-02 Quest Software, Inc. Automatic discovery of users associated with screen names
US7818565B2 (en) 2002-06-10 2010-10-19 Quest Software, Inc. Systems and methods for implementing protocol enforcement rules
CA2488731A1 (en) 2002-06-10 2003-12-18 Akonix Systems, Inc. Systems and methods for a protocol gateway
US7428590B2 (en) 2002-06-10 2008-09-23 Akonix Systems, Inc. Systems and methods for reflecting messages associated with a target protocol within a network
US7774832B2 (en) 2002-06-10 2010-08-10 Quest Software, Inc. Systems and methods for implementing protocol enforcement rules
US7707401B2 (en) 2002-06-10 2010-04-27 Quest Software, Inc. Systems and methods for a protocol gateway
US6931328B2 (en) * 2002-11-08 2005-08-16 Optiscan Biomedical Corp. Analyte detection system with software download capabilities
JP4128516B2 (ja) * 2002-11-18 2008-07-30 株式会社リコー 画像形成装置、プログラム更新方法
US7398272B2 (en) * 2003-03-24 2008-07-08 Bigfix, Inc. Enterprise console
US20050038674A1 (en) * 2003-04-15 2005-02-17 Braig James R. System and method for managing a chronic medical condition
US7308685B2 (en) * 2003-05-14 2007-12-11 Hewlett-Packard Development Company, L.P. Emulation internal representation revision system and method
US7278139B2 (en) * 2003-05-14 2007-10-02 Hewlett-Packard Development Company, L.P. Emulation class revision system and method
US7463610B2 (en) * 2003-05-15 2008-12-09 Samsung Electronics Co., Ltd. System and method for providing an online software upgrade
US7984434B1 (en) * 2003-05-21 2011-07-19 Altera Corporation Nondestructive patching mechanism
US7356577B2 (en) * 2003-06-12 2008-04-08 Samsung Electronics Co., Ltd. System and method for providing an online software upgrade in load sharing servers
CA2539470A1 (en) * 2003-09-11 2005-03-24 Akonix Systems, Inc. Systems and methods for dynamically updating software in a protocol gateway
US7143314B2 (en) * 2003-10-01 2006-11-28 General Motors Corporation Method and apparatus for ensuring integrity of critical RAM variables
US20050114853A1 (en) * 2003-11-26 2005-05-26 Glider Joseph S. Software upgrade and downgrade in systems with persistent data
US7376943B2 (en) * 2003-12-18 2008-05-20 Lsi Corporation Safe method for upgrading firmware of optical disk product
US8146073B2 (en) 2004-09-30 2012-03-27 Microsoft Corporation Updating software while it is running
US20060190806A1 (en) * 2005-02-09 2006-08-24 David Sasson Systems and method for deploying a software application on a wireless device
EP1946217A2 (en) 2005-11-03 2008-07-23 Akonix Systems, Inc. Systems and methods for remote rogue protocol enforcement
US8595452B1 (en) * 2005-11-30 2013-11-26 Sprint Communications Company L.P. System and method for streaming data conversion and replication
WO2008038063A1 (en) * 2006-09-29 2008-04-03 Nokia Corporation Method and apparatus for updating firmware as a background task
US20100332640A1 (en) * 2007-03-07 2010-12-30 Dennis Sidney Goodrow Method and apparatus for unified view
US8495157B2 (en) * 2007-03-07 2013-07-23 International Business Machines Corporation Method and apparatus for distributed policy-based management and computed relevance messaging with remote attributes
WO2008109848A2 (en) 2007-03-07 2008-09-12 Bigfix, Inc. Pseudo-agent
US8597190B2 (en) 2007-05-18 2013-12-03 Optiscan Biomedical Corporation Monitoring systems and methods with fast initialization
ES2712778T3 (es) 2007-05-30 2019-05-14 Ascensia Diabetes Care Holdings Ag Método y sistema para gestionar datos de salud
WO2009049245A1 (en) * 2007-10-11 2009-04-16 Optiscan Biomedical Corporation Synchronization and configuration of patient monitoring devices
JP5430298B2 (ja) * 2009-09-03 2014-02-26 サンデン株式会社 自動販売機の制御装置
US8966110B2 (en) * 2009-09-14 2015-02-24 International Business Machines Corporation Dynamic bandwidth throttling
US20110265072A1 (en) * 2010-04-27 2011-10-27 Jack Matthew Dynamic Installation of Files for Running Programs
US9009663B2 (en) * 2010-06-01 2015-04-14 Red Hat, Inc. Cartridge-based package management
TW201415365A (zh) * 2012-10-15 2014-04-16 Askey Computer Corp 作業系統更新的方法及手持電子裝置
US20140229928A1 (en) * 2013-02-11 2014-08-14 Claes Göran Edström Upgrading software in production environments
US10530660B2 (en) 2015-05-21 2020-01-07 International Business Machines Corporation Application bundle preloading
US9965262B2 (en) 2015-05-21 2018-05-08 International Business Machines Corporation Application bundle pulling
US9888057B2 (en) 2015-05-21 2018-02-06 International Business Machines Corporation Application bundle management across mixed file system types
US10389850B2 (en) 2015-05-21 2019-08-20 International Business Machines Corporation Managing redundancy among application bundles
US10389794B2 (en) 2015-05-21 2019-08-20 International Business Machines Corporation Managing redundancy among application bundles
US10152516B2 (en) * 2015-05-21 2018-12-11 International Business Machines Corporation Managing staleness latency among application bundles

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5155837A (en) * 1989-03-02 1992-10-13 Bell Communications Research, Inc. Methods and apparatus for software retrofitting
US5142680A (en) * 1989-04-26 1992-08-25 Sun Microsystems, Inc. Method for loading an operating system through a network
DE4134207C1 (en) * 1991-10-16 1993-04-01 Ant Nachrichtentechnik Gmbh, 7150 Backnang, De Loading double-computer standby system - preparing passive computer for loading and taking new software from data source for entering into memory of active computer
US5410703A (en) 1992-07-01 1995-04-25 Telefonaktiebolaget L M Ericsson System for changing software during computer operation
DE4316500C2 (de) * 1993-05-17 1995-03-16 Siemens Ag Verfahren zum Wechseln einer Anlagensoftware
US5586304A (en) * 1994-09-08 1996-12-17 Compaq Computer Corporation Automatic computer upgrading
US5604906A (en) * 1995-02-06 1997-02-18 Apple Computer, Inc. Method and apparatus for installing software block-by block via an image of the target storage device
GB9608345D0 (en) * 1996-04-23 1996-06-26 Int Computers Ltd Data conversion mechanism for computer system
US5930513A (en) * 1996-06-06 1999-07-27 Sun Microsystems, Inc. Reference based software installation
US5826265A (en) * 1996-12-06 1998-10-20 International Business Machines Corporation Data management system having shared libraries
US6055363A (en) * 1997-07-22 2000-04-25 International Business Machines Corporation Managing multiple versions of multiple subsystems in a distributed computing environment
US6018747A (en) * 1997-11-26 2000-01-25 International Business Machines Corporation Method for generating and reconstructing in-place delta files

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022549529A (ja) * 2019-12-13 2022-11-25 ベックホフ オートメーション ゲーエムベーハー オートメーションシステムの制御プログラムのプログラム状態のデータ移行の過程でのポインタ要素のデータ移行の方法
JP2022551342A (ja) * 2019-12-13 2022-12-08 ベックホフ オートメーション ゲーエムベーハー 制御プログラムのプログラム状態のデータ移行で自動化システムの制御プログラムを更新するための方法
JP7270112B2 (ja) 2019-12-13 2023-05-09 ベックホフ オートメーション ゲーエムベーハー 制御プログラムのプログラム状態のデータ移行で自動化システムの制御プログラムを更新するための方法
JP7303389B2 (ja) 2019-12-13 2023-07-04 ベックホフ オートメーション ゲーエムベーハー オートメーションシステムの制御プログラムのプログラム状態のデータ移行の過程でのポインタ要素のデータ移行の方法

Also Published As

Publication number Publication date
CA2323452A1 (en) 1999-09-16
KR20010041805A (ko) 2001-05-25
US6347396B1 (en) 2002-02-12
WO1999046673A2 (en) 1999-09-16
AU3410899A (en) 1999-09-27
EP1062570A2 (en) 2000-12-27
WO1999046673A3 (en) 1999-11-04
DE19810802A1 (de) 1999-09-16
CA2323452C (en) 2005-05-24

Similar Documents

Publication Publication Date Title
JP2002507020A (ja) 障害を生じることなくデータを更新する技術
US6314567B1 (en) Apparatus and method for transferring state data when performing on-line replacement of a running program code and data
US6668261B1 (en) Method of upgrading a program using associated configuration data
CA2436517C (en) Method and apparatus for data processing
US5359713A (en) Method and apparatus for enhancing synchronous I/O in a computer system with a non-volatile memory and using an acceleration device driver in a computer operating system
US6374353B1 (en) Information processing apparatus method of booting information processing apparatus at a high speed
US6834275B2 (en) Transaction processing system using efficient file update processing and recovery processing
US5519853A (en) Method and apparatus for enhancing synchronous I/O in a computer system with a non-volatile memory and using an acceleration device driver in a computer operating system
US7185331B2 (en) Method and apparatus for downloading executable code in a non-disruptive manner
JP4825433B2 (ja) 比較的限られた記憶スペースを備えたコンピューティング装置およびそのオペレーティングシステム/ファイルシステム
US6282700B1 (en) Mechanism for maintaining revisions of objects in flash memory
US7698699B2 (en) Computing device with relatively limited storage space and operating/file system thereof
EP2329368B1 (en) Updating content without using a mini operating system
JPH08179941A (ja) マルチコンピュータシステムにおけるプログラムパッケージの変更方法、およびそのためのコンピュータ
US7222338B2 (en) Method for upgrading data
US7117249B1 (en) Computer system and data sharing method between computers
JPH10289217A (ja) ログ・ストリーム管理システム
JP2000137604A (ja) データ引き継ぎシステム
US20040015943A1 (en) Embedded computer system equipped with an upgradeable software library
JPH10289141A (ja) マルチシステム環境のログ・ストリームを管理する方法
US7617175B1 (en) Method and apparatus for upgrading a database in a redundant environment by release chaining
US7382970B2 (en) Process control manager for audio/video file system
JPH1091405A (ja) ソフトウェア保守方法
JPH05120023A (ja) プログラムローデイング方式
JPH09231069A (ja) 情報処理方法及び装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080610

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080910

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080918

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081009

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081017

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20081110

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20081117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081202

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090123