JP2003036181A - アップグレード移行中の変換に移行プラグインを用いる漸進的ロールオーバプロセスによりホット移行動作を実行する方法、マルチプロセスシステム、及び、かかる方法を実施するシステム - Google Patents

アップグレード移行中の変換に移行プラグインを用いる漸進的ロールオーバプロセスによりホット移行動作を実行する方法、マルチプロセスシステム、及び、かかる方法を実施するシステム

Info

Publication number
JP2003036181A
JP2003036181A JP2002167395A JP2002167395A JP2003036181A JP 2003036181 A JP2003036181 A JP 2003036181A JP 2002167395 A JP2002167395 A JP 2002167395A JP 2002167395 A JP2002167395 A JP 2002167395A JP 2003036181 A JP2003036181 A JP 2003036181A
Authority
JP
Japan
Prior art keywords
data
version
service
repository
migration
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
JP2002167395A
Other languages
English (en)
Inventor
Jozef Theodorus Johannes Maria Jans
テオドリュス ヨーハネス マリア ヤンス ヨーゼフ
Groot Richard Michel De
ミシェル デ グロート リハルト
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Production Printing Netherlands BV
Original Assignee
Oce Technologies BV
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 Oce Technologies BV filed Critical Oce Technologies BV
Publication of JP2003036181A publication Critical patent/JP2003036181A/ja
Pending legal-status Critical Current

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/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 アプリケーションの動作不能状態や実行中の
クライアントセッションの無効を生じさせずに第1のデ
ータモデルを用いる第1のバージョンのサービス(クラ
イアントアプリケーション、データマネージャ、データ
レポジトリ)から第2のデータモデルを用いる第2のバ
ージョンのサービスへのホット移行動作を並列処理に適
したサーバ装置上で行う方法を提供することを目的とす
る。 【解決手段】 第2のバージョンのクライアントアプリ
ケーション、第2のバージョンのデータマネージャ及び
第2のバージョンのデータマネージャと協働する第2の
バージョンのデータレポジトリがインストールされる。
第1及び第2のバージョンのデータマネージャは夫々移
行プラグインを有する。連続して全データが変換され旧
バージョンが除去可能となるまで移行プラグインにより
第1のデータレポジトリから第2のデータレポジトリへ
データが変換される漸進的ロールオーバプロセスが用い
られる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、請求項1の前段に
記載の方法に関連する。更に、本発明はかかる方法を実
施するためのシステム、並びに、記憶媒体又は電気信号
といった担体上のかかる方法を実施するプログラムに関
する。
【0002】
【従来の技術】本願明細書では、サービスとは、コンピ
ュータプログラム、データベースシステム、オペレーテ
ィングシステム、e−サービス、又はこれらを混合した
もの又は組み合わせたものを表わしうる。更に、これら
は夫々、以下望ましい実施例によって説明されるハード
ウエア及びソフトウエアの範囲で動作可能であるよう適
当な範囲で解される。本発明は、一方でアプリケーショ
ンを使用し他方でアプリケーションを維持する状況が、
一般的には時間的に及び/又は空間的に分けられる場
合、及び/又は、移行全体を行うのに十分に長いシステ
ム全体についての一般的な休止時間間隔をスケジュール
することが困難な場合に関する。これに関する問題は、
一般的に、ユーザの数が多い場合及び/又はユーザの地
理的な分布が広い場合に生ずるが、この場合にのみ生ず
るものではない。
【0003】
【発明が解決しようとする課題】本発明については、以
下、特定の実施例を参照して説明する。しかしながら、
原理的には本発明はより広い範囲で使用されうる。概し
て、移行中、アプリケーションのユーザ機能は変化し、
この変化はユーザにとって明らかである。本発明の特に
有利な実施例は、オブジェクト指向プログラミングの使
用によって実現されうる。ここで、かかる移行は、ユー
ザには、従来技術では、幾らかの時間に亘ってアプリケ
ーションが動作不能とされること、又は更に悪い場合
は、実際に実行されているクライアントセッションが無
効とされることとして見える。当該のユーザに対して
は、このような状態はアプリケーション自体が、又は、
更に下位の技術がうまく作動していないものとしてみえ
る。発明者は、多くの状況においてこのような動作不能
は許容できないものであることを認識した。
【0004】
【課題を解決するための手段】発明者は、漸進的な手順
が与える利点により、「既に進んでいる」他のものに対
して移行において「遅れている」ユーザ実体からのアッ
プグレード又は移行をいわば「隠す」ことが可能であ
り、その逆を行うことが可能であり、まだ遅れている他
の実体に対して既に進んだユーザ実体に対して移行がま
だ完了していないことを隠すことが可能であることを認
識する。
【0005】従って、特に、本発明は、変換されたエン
トリを変換されていない他のエントリから離し、「ロー
ル・オーバ」式に移行を行うことを目的とする。アプリ
ケーションに関連するデータレポジトリは、複数の連続
するセッション中であっても利用可能のままである。
【0006】従って、本発明の面のうちの1つによれ
ば、本発明は請求項1の特徴部に従って特徴付けられ
る。
【0007】本発明は、また、請求項1記載の方法を実
施するよう配置される。本発明の更なる利点は従属項に
記載される。
【0008】
【発明の実施の形態】本発明の上述の及び更なる面及び
利点について、望ましい実施例に説明を参照し、特に添
付の図面を参照して以下詳述する。
【0009】まず、本発明の産業上の利用分野について
説明する。図1は、本実施例ではオンライン小売店で顧
客関連データにアクセスするための、第1の利用形態に
おける2つのバージョンのサービスを示す図である。旧
バージョン(上)では、顧客の氏名は単一の属性として
利用可能であった。新バージョン(下)では、顧客の名
と姓が別々に利用可能である。移行を行うために休止時
間が必要でなければ、新バージョンを導入する合間でも
店はオンラインのままでありうる。
【0010】図2は、本実施例では図書館である第2の
使用形態の2つのバージョンを示す図である。旧図書館
アプリケーション(上)は、様々な本の大きさに関する
情報を持っていなかった。新バージョン(下)では、夫
々の本の題名はページ数の属性を有する。本発明を用い
ることにより、図書館アプリケーションは、属性の拡張
を導入する移行の間、オンラインのままでありうる。
【0011】同様に、統合業務システム(Enterprise R
esource Planning system)は、オンラインのままでそ
の夫々のデータベースのうちの様々なデータベースを単
一のデータベースへ組み合わせることが可能であり、実
際の製造は中断されたり間違った指示をされることはな
い。同様に、新しい通貨への変換(例えば2002年1
月1日のユーロへの変換)は、本発明を用いれば種々の
顧客銀行間の同期を必要としない。実際、そのうちの様
々な銀行は、他の銀行が既に新しい通貨へ切り換えてい
ても、業務において古い通貨を使用しつづける場合があ
る。同様に、保険会社は、特定の顧客に特定の保険契約
を提示する一方で、当該の保険プログラムの新バージョ
ンへ移行しうる。それでも、アプリケーションは、ユー
ザである人物によって入力されれば、旧データを受け入
れる。明らかに、この種類の移行は改善されたサービス
水準を与える。
【0012】図3は、第2の使用形態、即ちインターネ
ットを介した文書の印刷のセットアップを示す図であ
る。例えば、このような印刷サービスシステム301
は、旧アプリケーションを含み、印刷ジョブ302を実
行するために、ポストオフィスサーバ303は、印刷ジ
ョブを受け取り、これらを旧プリントショップ304へ
転送する。旧印刷サービスシステムは、各印刷命令に対
して単一の文書のみを受け入れる。一方、アプリケーシ
ョン305とプリントショップ306とを含む新印刷サ
ービスシステムは単一の印刷命令に対して多数の文書を
受け入れる。ここで、様々な遠隔の場所に配置されうる
全ての実体を同時に更新することは、一般的には可能で
ない。しかしながら、本発明の概念を導入することによ
り、種々の実体間での同期という要件がなくなる。旧ク
ライアント及び旧プリントショップは新サービスに有効
に切り換えるまでは旧パラダイムを使用し、一方、アイ
テム24といった新しい更新されたアプリケーションは
まだ移行していないステーションと通信している間で
も、直ぐに新しい特徴を使用することが可能となる。
【0013】上述の全てにおいて、本発明は分散環境に
おいて実施されえ、殆どの場合は1以上のプラットフォ
ームに基づく分散環境が使用される。
【0014】以下、本発明の望ましい実施例について説
明する。
【0015】図4は、本発明を実施するハードウエア実
施例を示す図である。図示するように、クライアントC
LA,CLB,CLC,CLDは、LAN、インターネ
ット又は他の相互接続方式でありうるネットワークNに
よってサーバSA及びSBにインタフェース接続され
る。クライアントは、従来技術で周知のバランス方法を
実行することにより負荷バランスプールを構成しうるサ
ーバへユーザ要求を発する。サーバは、当てはまる場合
は、単一のサーバマルチプロセスユニットを構成しう
る。
【0016】図5は、本発明の概念を示す図である。図
中、符号Aは開始状態、符号Bは移行中の状態、符号C
は結果としての状態を示す。A,B,Cのいずれかに含
まれる同じ項目は、同じ参照番号によって示される。一
番上の符号Aは、アプリケーションのバージョンNが動
作状態でありアプリケーションが通常通り作動する最初
の状態を示す。適用可能なバージョンNのデータマネー
ジャ(501)を用いて、次のアプリケーション(50
2)は関連するバージョンのデータレポジトリ(50
3)にアクセスする。本発明の広範な実施の例として、
アプリケーション、データマネージャ、及びデータレポ
ジトリの概念は、アプリケーションの幾つかの例示的な
フィールドについての対応する概念へマップされる。こ
れに関して、e−サービスという用語は、例えばインタ
ーネットといった公衆によってアクセス可能なネットワ
ークを介して利用可能なサービスであり、書籍の販売、
電話帳等のデータを調べること、翻訳サービス、印刷サ
ービス等のサービスを提供するものであると理解される
べきである。
【0017】本発明による方法が有利に適用されうる適
用分野は、特に、オペレーティングシステム(1)、ワ
ードプロセッシング(2)、データベース(3)、及び
e−サービス(4)である。夫々の場合に、クライアン
トアプリケーションは、ファイルシステムブラウザ
(1)、ワードプロセッシングアプリケーション
(2)、データベースアプリケーション(3)、及びサ
ービスプロバイダのウェブサイト(4)である。夫々の
データマネージャは、夫々の場合に、ファイルシステム
(1)、「ロード」、「保存」、「フォーマット」等の
特定のコマンドセット(2)、データベースエンジン
(3)、及びユーザ入力データを特定のデータモデルへ
変換するプログラム(4)であり、データレポジトリ
は、夫々、ディスク(1)、ファイルシステム(2)、
やはりファイルシステム(3)、及び特定のデータモデ
ルをサポートする統合業務システム(4)である。全て
の場合において、データマネージャ(501)はデータ
レポジトリ(503)のアプリケーション(502)に
よってアクセスを管理する。
【0018】移行プラグイン・ヌル・スタブ(504)
は、データマネージャへの必要なインタフェース接続以
外は処理機能を行わない。アプリケーション(502)
は、単一の実体として表わされているが、実際は、多数
の処理上で並列に実行されるか、又は、単一の場所又は
複数の遠隔の場所に置かれた多数のプロセッサ上で実行
されうる。同じことは、図中の符号B及びCの部分にお
ける様々なアプリケーションについても適用されうる。
更に、クライアントアプリケーションを介してサービス
にアクセスするアプリケーションユーザは、人間のユー
ザであるかプログラム(例えばエージェント)でありう
る。
【0019】図5の符号Bの部分は、バージョンNから
バージョンN+1への移行中の状態を示す図である。一
方で、かかる移行はユーザのアクションに応じてインク
リメントして行われうる。これに対して、他の駆動機構
は、システム全体によって誘起される1ステップでの完
全な移行でありうる。これは、まず全てのデータを取り
出し、これらのデータを新レポジトリに格納することに
よって行われる。ここで、図5の符号Bの左半分は、相
対的に「遅れて」おり未だにクライアントアプリケーシ
ョンのバージョンN(502)を使用するアプリケーシ
ョンにアクセス可能であり、右半分は、相対的に「進ん
で」おり既にクライアントアプリケーションのバージョ
ンN+1(506)を使用している他のアプリケーショ
ンにアクセス可能である。
【0020】更に、データレポジトリは、既に、バージ
ョンN+1(507)でも利用可能とされるとともに、
未だにバージョンN(503)にも維持される。これ
は、データレポジトリの一部が新バージョンで利用可能
であるとともに、一部は旧バージョンで未だに利用可能
であることを意味し、組み合わされた2つのバージョン
は一緒にデータ全体に対応することが可能である。デー
タレポジトリ又はその部分からのデータの変換は、一般
的にはユーザには見えないバックグランド処理として実
行される。アプリケーションと同じバージョンでデータ
レポジトリ又はその部分にアクセスするには、後者はも
ちろんデータマネージャと関連するデータレポジトリと
の間で変換を必要とせず、これは図中まっすぐな接続線
で示されている。
【0021】この場合、即ち符号Bの状態では、移行プ
ラグイン・ヌル・スタブ(504)は左の移行プラグイ
ンN+1>N(505)によって置き換えられている。
上述の状態に対応する状況は、図の右側に示され、バー
ジョンN+1のアプリケーション(506)がユーザに
よりアクセス可能であると共に更にN+1バージョンに
関連するデータレポジトリ又は部分(507)が有効で
ある。この状態は、図示するように、バージョンN+1
のデータマネージャ(508)と移行プラグインN>N
+1(509)とを必要とする。
【0022】図5の下の部分Cは、全てのユーザ及び全
てのデータレポジトリがバージョンN+1に変換された
状態を示す。「旧バージョン」のデータレポジトリがも
はや新バージョンのユーザによってアクセスされる必要
がなくなったとき、移行プラグインは移行プラグイン・
ヌル・スタブ(510)によって置き換えられる。上述
のような方法では、ユーザは一般的に全く休止時間を経
験しないか、移行プラグイン(505、509)のイン
ストール及びアンインストールに必要な短い時間に亘っ
てのみ休止時間を経験する。尚、バージョンN+2への
更なるアップグレードをバージョンN+1への移行が完
了する前でも開始することが可能であり、かかる実施例
では、図5の符号Bに種々のバージョンについての多数
の移行プラグインを繰り返すプラグインが必要とされ、
これは、"Design Patterns: Elements of reusable obj
ect oriented software", Erich Gamma et al. ISBN 0-
201-63361-2 1995, Addison Wesley Longman, Inc..か
ら公知の複合デザインパターンに従って実施されうる。
【0023】特に有利な手順は以下の通りである。新ア
プリケーションN+1がデータを取り出す必要があると
き、そのデータマネージャはまずそのプラグインを介し
て旧バージョンNのデータレポジトリから当該のデータ
を取り出すことを試みる。データが実際に見つかれば、
プラグイン(509)はこのデータをバージョンN+1
のフォーマットへ変換し、これをバージョンN+1のデ
ータレポジトリに格納し、これをバージョンNのデータ
レポジトリから除去する。その後、又はデータが旧デー
タレポジトリの中に見つからない場合は、データマネー
ジャは変換されたデータをバージョンN+1のデータソ
ースから取り出す。同様に、旧アプリケーション(50
2)がデータを取り出す場合、そのデータマネージャ
(501)はまず旧バージョンのデータレポジトリ(5
03)から当該のデータを取り出すことを試みる。
【0024】アクセスが失敗すると、データマネージャ
(501)は新バージョンN+1のデータレポジトリ
(507)からデータを取り出すためにプラグイン(5
05)を使用する。データ見つかれば、データは使用の
ために変換されるが、バージョンNのデータレポジトリ
(503)には格納されない。データの書き込みは、そ
のデータのバージョンのデータレポジトリに対して優先
して実行される。いくらか後の時点において、旧バージ
ョンで作業しているアプリケーションユーザが殆ど又は
全くいなくなり、旧アプリケーションは機能停止される
が、旧データレポジトリは新バージョンのアプリケーシ
ョンのプラグインのために利用可能なままとされる。新
アプリケーションの移行プラグイン(509)は、旧バ
ージョンのデータレポジトリの中の全ての残るデータの
移行を強制する。そのとき、N>N+1移行プラグイン
(509)はヌル・スタブ(510)によって置き換え
られ、旧データレポジトリは除去される。
【0025】本発明によるシステムの説明のため、オブ
ジェクト指向モデルを使用する。これは、適切な場合に
は、本発明について、クラスと、これらのクラスからイ
ンスタンスが作成されるオブジェクトを参照して説明す
る。オブジェクトはデータの入れ物であると認識され、
このデータはオブジェクトによって与えられるメソッド
を介してのみアクセスされうる。永続的なオブジェクト
は、アプリケーションから出るとき又は開始するときに
自動的に保存され復元されるオブジェクトである。
【0026】図6は、第1のUML(Unified Modellin
g Language)図としてクラス図を示す。UMLはそれ自
体としてソフトウエア生成手順の分野で周知のモデリン
グ言語であり、従って、本願の更なる拡張的な開示を保
証するものではない。クラス図は、呼び出されるクラス
間の関係を示す。ブロック601は、エンティティ・マ
ネージャ・クラスを表わし、従って、データマネージャ
の一部である。考えられている技術においては、エンテ
ィティは識別可能な(アドレス指定可能な)情報オブジ
ェクトである。上述したアプリケーションの典型的な分
野、即ち、オペレーティングシステム、ワードプロセッ
サ、データベース、及びe−サービスについては、エン
ティティは、夫々、ファイル及びディレクトリ、文書の
一部及びフォント等;テーブル又はレコード;店の商
品、支払い条件、erpのタイプ等である。全てのエン
ティティの組は、それぞれシステムの状態を定義する。
エンティティは、データレポジトリの内容を構成する。
共通点のないエンティティのタイプが共に存在しうる。
エンティティマネージャは、データマネージャの一部と
して、クライアントアプリケーションにデータレポジト
リへのアクセスを与える(例えば人物を選択する)。エ
ンティティマネージャは、レポジトリ中のエンティティ
の更新(例えば、追加、削除、変更)を管理する。ブロ
ック602は、エンティティインタフェースを表わし、
即ちエンティティに対するメソッド及びセマンティック
スを宣言する。
【0027】エンティティマネージャとエンティティイ
ンタフェースとの間の関連付けは、エンティティマネー
ジャがエンティティインタフェースによって与えられる
メソッドを呼び出しうることを示す。データベースシス
テムの場合、メソッドは、getName()及びsetName()であ
りうる。ブロック603は、エンティティインタフェー
ス602を有効に実現するためのエンティティ実装を表
わす。このようにして、実装はそのインタフェースから
切り離され、実際の実装が他のために容易に交換されう
るコンポーネントであるようにされる。ブロック604
は、エンティティ・インタフェース602を有効に実現
するためのエンティティ・プロキシを表わす。プロキシ
は、ソフトウエア開発における周知の設計パターンであ
る("Design Patterns: Elements of reusable object
oriented software", Erich Gamma et al. ISBN 0-201-
63361-2 1995, Addison Wesley Longman, Inc.参照)。
このエンティティ・プロキシは、旧アプリケーションが
旧エンティティ・インタフェースを「見る」が、新エン
ティティ実装は既にその下にあるようにする。図1乃至
図5に既に示した移行プラグインの役割は、移行マネー
ジャ実装クラス605及び移行マネージャ・インタフェ
ース・クラス606によって実現される。移行マネージ
ャ・インタフェース・クラスは、移行マネージャ実装ク
ラスにおいて実現される実際の実装を隠す。インタフェ
ースは、例えば、エンティティの集合全体を移行するメ
ソッドmigrateCollection()及び個々のエンティティを
移行するメソッドmigratePrimaryKey()を与える。
【0028】図7は、図5の状態Aに対応するバージョ
ンNの協働(コラボレーション)について図6に示され
るクラスからインスタンスが作成されるオブジェクトを
UML協働図に示す図である。この基本的な形態では、
ブロック701は、ブロック702のバージョンNのエ
ンティティ実装と関連付けられるバージョンNのエンテ
ィティマネージャを表わす。また、エンティティ・マネ
ージャは、ブロック703の移行マネージャ実装ヌル・
スタブにも関連付けられる。尚、データモデル中に複数
のエンティティの種類がある場合、データマネージャは
複数のエンティティマネージャに適応する。
【0029】図8Aは、バージョンNのアプリケーショ
ン801から見た遷移中(状態B)の協働を示す図であ
る。ブロック802及び803は、図7中のブロック7
01及び702に夫々対応する。ブロック804は、バ
ージョンN+1のエンティティ実装を表わす。図7とは
反対に、バージョンNのエンティティ・マネージャは下
方バージョン移行部に関連付けられる(ブロック80
5)。このようにして、バージョンNのデータレポジト
リの中に見つからないエンティティは、バージョンN+
1のデータレポジトリから取り出され、移行マネージャ
を介してバージョンNのフォーマットへ変換される。バ
ージョンN+1のエンティティ実装804は、エンティ
ティ・プロキシ806を介してバージョンNのエンティ
ティ・マネージャからアクセスされる。
【0030】図8Bは、バージョンN+1のアプリケー
ション807から見た遷移中(状態B)の協働を示す図
である。ブロック808及び809は、図7中のブロッ
ク701及び702に夫々対応する。ブロック810
は、バージョンNのエンティティ実装を表わす。図7と
は反対に、エンティティ・マネージャは移行実装811
の上のバージョンに関連付けられる。このようにして、
バージョンNのデータレポジトリからの取り出しの際
に、バージョンNのエンティティがバージョンN+1の
エンティティへ変換されるようにされる。
【0031】図9は、図5の状態Cに対応するバージョ
ンN+1の協働をUML協働図に示す図である。この典
型的な形態では、ブロック901は、ブロック902に
よって表わされるバージョンN+1のエンティティと関
連付けられるバージョンN+1のエンティティ・マネー
ジャを表わす。移行プラグインは、ここで、実際にヌル
・スタブである。
【0032】図10は、負荷バランス・プールと共に使
用される適用可能なフローチャートを示す。ブロック1
001において、必要なハードウエア機能及びソフトウ
エア機能が割り当てられる。この時点において、以前の
(N)バージョンは全体を通じて実行されている。ホッ
ト・アップグレードが開始すると、ブロック1002に
おいて、1つのサーバが、その上で実行されているクラ
イアントセッションが正しく終了することが可能である
よう負荷バランス・プールから取り出される。続いて、
このサーバは新クライアントセッションを開始すること
が可能でなくなる。この特定のサーバ上の全てのクライ
アントセッションが終了すると、又は、一定のタイムア
ウト時間が経過すると、ブロック1003において新ア
プリケーションバージョンがインストールされる。上述
のタイムアウト時間は、幾つかのセッションが遷移を容
認できないほど長い時間に亘って遅延させる場合に必要
となりうる。移行プラグインは、旧アプリケーションバ
ージョンと新アプリケーションバージョンの両方にイン
ストールされる。これらのプラグインは、永続的なデー
タを一貫した方法で管理し、その後に両方のアプリケー
ションバージョンが実行される。一般的に、旧アプリケ
ーションバージョンの論理は保存されるが、旧アプリケ
ーションバージョンに対する新しいユーザ要求はもはや
このサーバに対しては発行されない。次に、ブロック1
004において、当該のサーバは新しい負荷バランスプ
ールに追加される。システム・ルータ機能は、クライア
ント要求を旧負荷バランスプール及び新しい負荷バラン
スプールを通じて分配する。ルータ機能は、いったん特
定のクライアントからの要求を新しい負荷バランスプー
ルへルーティングすると、そうしつづけねばならない。
旧アプリケーションへの要求は新しい負荷バランスプー
ルへフォワードされてはならない。
【0033】ブロック1005において、システムは、
最後のサーバ機能が新しい負荷バランスプールへ転送さ
れたか否かを調べる。転送されていなければ(N)、方
法は、ブロック1002、1003、1004及び10
05によって形成されるループを通って繰り返される。
転送されていれば(Y)、システムは、ブロック100
6において全ての永続的なデータの移行を強制する。こ
れを実行している間、実際のクライアント要求は、必要
であれば更なるオン・デマンド移行を用いて、同時に出
される。準備ができると、ブロック1007において、
旧アプリケーションバージョンは、種々のサーバから除
去又はアンインストールされる。この時点において、新
アプリケーションバージョンN+1へのアップグレード
は完了し、従って、ブロック1008において、全ての
冗長な機能は他の目的のために放棄されうる。
【0034】図11は、単一のサーバと共に用いられる
適用可能なフローチャートを示す。ブロック1101に
おいて、必要なハードウエア及びソフトウエア機能が割
り当てられる。この時点において、以前の(N)バージ
ョンは全体を通じて実行されている。ブロック1102
において、旧アプリケーションバージョンNは一時的に
停止されるが、サーバは動作状態のままである。ブロッ
ク1103において、新アプリケーションバージョンN
+1がサーバ上にインストールされる。例えば、旧ウェ
ブページが除去される。移行プラグインは、旧アプリケ
ーションバージョンと新バージョンの両方にインストー
ルされる(図5の参照番号Bの部分を参照)。これらの
プラグインは永続的なデータを一貫して管理し、その間
は両方のバージョンは実行されている。尚、旧ウェブペ
ージはもはや利用可能ではないため、旧アプリケーショ
ンバージョンに対する要求はもはやサーバに対して有効
に発行されえないが、旧アプリケーションバージョンの
ための論理は保存される。
【0035】ブロック1104において、新アプリケー
ションバージョンN+1が開始される。次に、ブロック
1105において、永続性のあるデータの強制された移
行が開始される。この移行中、クライアント要求は、必
要であれば更なるオン・デマンド移行を用いて、同時に
出される。最後に、ブロック1106において、旧アプ
リケーションバージョンNは、サーバから除去される。
この時点において、新アプリケーションバージョンN+
1へのアップグレードは完了し、従って、ブロック11
07において、全ての冗長な機能は他の目的のために放
棄されうる。従って、本発明は、動作上連続的なままで
なくてはならない全てのインターネットアプリケーショ
ンの場合に有利に使用されうる。アップグレードは、エ
ンドユーザによる作動を必要としない。新バージョン
は、自動的にエンドユーザへ伝えられる。
【0036】当業者によれば、本発明は上述において詳
述した実施例に限られないことが認められよう。例え
ば、方法は、サービスを下方に移行するためにも等しく
適用可能である。このような状況は、例えば新バージョ
ンがまだ安定しておらず元のバージョンへ戻ることが要
求される場合に生じうる。
【図面の簡単な説明】
【図1】第1の使用形態における2つのデータバージョ
ンを示す図である。
【図2】第2の使用形態における2つのデータバージョ
ンを示す図である。
【図3】第3の使用形態におけるセットアップについて
示す図である。
【図4】本発明を実施するためのハードウエアの実施例
を示す図である。
【図5】本発明の設計概念を示す図である。
【図6】第1のUML図としてのクラス図を示す。
【図7】最初のバージョンの協働について示す図であ
る。
【図8A】続く移行中の協働を示す図である。
【図8B】続く移行中の協働を示す図である。
【図9】最終バージョンN+1の協働を示す図である。
【図10】負荷バランスプールと共に用いられるフロー
チャートを示す図である。
【図11】単一のサーバで用いられるフローチャートを
示す図である。
【符号の説明】
501 バージョンNのデータマネージャ 502 バージョンNのアプリケーション 503 バージョンNのデータレポジトリ 504 移行プラグイン・ヌル・スタブ 505 移行プラグインN+1−>N 506 バージョンN+1のアプリケーション 507 バージョンN+1のデータレポジトリ 508 バージョンN+1のデータマネージャ 509 移行プラグインN−>N+1 510 移行プラグイン・ヌル・スタブ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 リハルト ミシェル デ グロート オランダ国,5915 ベーアー ヴェンロ, カペラーン・ナウスストラート 37 Fターム(参考) 5B076 AB04 AC03 EA17 5B082 GA05

Claims (15)

    【特許請求の範囲】
  1. 【請求項1】 第1のデータモデル(N)を用いる第1
    のバージョンのサービス(511)から上記第1のデー
    タモデルに対して変更された第2のデータモデル(N+
    1)を用いる第2のバージョンのサービス(512)へ
    のホット移行動作を実行する方法であって、サービスは
    クライアントアプリケーション、データマネージャ、及
    びデータレポジトリを含み、上記移行動作は並列に実行
    されるべき多数のプロセスに適応するサーバ設備(S
    A,SB)上で行われ、 上記方法は、第2のバージョンのクライアントアプリケ
    ーションをインストールする段階と、 上記第2のデータモデルに従って動作する第2のバージ
    ョンのデータマネージャをインストールする段階と、 上記第2のデータモデルに従って配置され上記第2のバ
    ージョンのデータマネージャと協働する第2のバージョ
    ンのデータレポジトリをインストールする段階とを含
    み、 上記第2のバージョンのデータマネージャは第1の移行
    プラグインを有し、連続する段階で、全てのデータが変
    換され旧バージョンが除去可能となるまで、データが移
    行プラグインによって上記第1のデータレポジトリから
    上記第2のデータレポジトリへ変換される漸進的ロール
    オーバプロセスが達成されることを特徴とする方法。
  2. 【請求項2】 上記第2のバージョンのサービスは、上
    記第1のバージョンのレポジトリから優先的にデータを
    取り出し及び除去し、それと同時にこれらのデータを変
    換し第2のバージョンのデータレポジトリへ格納するよ
    う制御されることを特徴とする、請求項1記載の方法。
  3. 【請求項3】 上記第1のバージョンのサービスは、上
    記第1のバージョンのレポジトリから優先的にデータを
    取り出すよう制御されるが、これに失敗した場合には、
    データを格納することなく新バージョンのデータレポジ
    トリからデータを取り出し変換し、上記変換は上記第1
    のデータマネージャに結合される第2の移行プラグイン
    によって行われることを特徴とする、請求項1記載の方
    法。
  4. 【請求項4】 上記漸進的ロールオーバプロセスは、第
    1のバージョンのサービスを停止させるが上記第1のバ
    ージョンのデータを上記第1のプラグインにより利用可
    能のままに維持することによって終了し、これにより上
    記第2のデータレポジトリへの強制的な移行を実行する
    ことを特徴とする、請求項1記載の方法。
  5. 【請求項5】 上記漸進的ロールオーバプロセスは、全
    てのデータが上記第2のバージョンのデータレポジトリ
    へ移行され、その後上記第1の移行プラグインがヌル・
    スタブによって置き換えられたときに終了することを特
    徴とする、請求項1記載の方法。
  6. 【請求項6】 行っている間に上記アプリケーションは
    分散ネットワーク(N)を通じて利用可能である、請求
    項1記載の方法。
  7. 【請求項7】 上記サービスはデータベースサービス、
    コンピュータプログラム、オペレーティングシステム、
    e−サービス、又はこれらの混合又は組み合わせであ
    る、請求項1記載の方法。
  8. 【請求項8】 上記サービスはオブジェクト指向プログ
    ラミングに基づく、請求項1記載の方法。
  9. 【請求項9】 上記サービスは単一のサーバ上で実行さ
    れる、請求項1記載の方法。
  10. 【請求項10】 上記サービスは第1のプール中の複数
    のサーバ(SA,SB)上で実行され、連続的なサーバ
    はクライアントセッションから解放され、新バージョン
    のアプリケーションがインストールされ、全てのサーバ
    が第2のプールに含まれデータ移行が実行可能となるま
    で、新バージョンのアプリケーションを実行する第2の
    プールに入れられる、請求項1記載の方法。
  11. 【請求項11】 上記移行動作は強制される、請求項1
    記載の方法。
  12. 【請求項12】 上記移行動作は要求に応じて行われ
    る、請求項1記載の方法。
  13. 【請求項13】 請求項1記載の方法を実施するよう配
    置されるマルチプロセスシステム(401)であって、 第1のデータモデル(N)を用いる第1のバージョンの
    サービス(511)から上記第1のデータモデルに対し
    て変更された第2のデータモデル(N+1)を用いる第
    2のバージョンのサービス(512)へのホット移行動
    作を実行する制御手段を含み、上記移行動作は並列に実
    行されるべき多数のプロセスに適応するサーバ設備(4
    01)上で行われ、 上記システムは、第2のデータモデルに従って動作する
    第2のバージョンのデータマネージャ(508)をイン
    ストールするために第2のバージョンのクライアントア
    プリケーション(506)をインストールし、上記第2
    のデータモデルに従って配置され上記第2のバージョン
    のデータマネージャと協働する第2のバージョンのデー
    タレポジトリ(507)をインストールする手段を含
    み、 上記システムは、上記連続するプロセスを上記第1のバ
    ーションのサービスから上記第2のバージョンのサービ
    スへ変換するよう動作可能であり、連続する段階で、全
    てのプロセス及びデータが変換されるまで上記第1のバ
    ージョンのデータレポジトリから上記第2のバージョン
    のデータレポジトリへデータを変換する第1の移行プラ
    グイン(509)を有する漸進的ロールオーバプロセス
    手段を有することを特徴とするシステム。
  14. 【請求項14】 第1のプールからのサービスからサー
    バ毎に取り出される多数のサーバは、それらの移行プラ
    グインがインストールされ続いて全てのサーバが変換さ
    れるまで新しいプールへ入れられる、請求項13記載の
    システム。
  15. 【請求項15】 記憶媒体又は電気信号といった担体上
    の請求項1記載の方法を実施するコンピュータプログラ
    ム。
JP2002167395A 2001-06-11 2002-06-07 アップグレード移行中の変換に移行プラグインを用いる漸進的ロールオーバプロセスによりホット移行動作を実行する方法、マルチプロセスシステム、及び、かかる方法を実施するシステム Pending JP2003036181A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP01202218 2001-06-11
EP01202218.2 2001-06-11

Publications (1)

Publication Number Publication Date
JP2003036181A true JP2003036181A (ja) 2003-02-07

Family

ID=8180452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002167395A Pending JP2003036181A (ja) 2001-06-11 2002-06-07 アップグレード移行中の変換に移行プラグインを用いる漸進的ロールオーバプロセスによりホット移行動作を実行する方法、マルチプロセスシステム、及び、かかる方法を実施するシステム

Country Status (3)

Country Link
US (1) US7072913B2 (ja)
JP (1) JP2003036181A (ja)
TW (1) TWI242725B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006522416A (ja) * 2003-04-02 2006-09-28 ビーチ・アンリミテッド・エルエルシー ディジタル・メディア・サーバのアップグレード
US8219597B2 (en) 2007-12-07 2012-07-10 Canon Kabushiki Kaisha Information processing apparatus and method
JP2014235749A (ja) * 2013-05-30 2014-12-15 ダッソー システムズ エノビア コーポレーション ライブ更新

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040088408A1 (en) * 2002-11-01 2004-05-06 Igor Tsyganskiy Methods and systems for routing requests at a network switch
US20040098419A1 (en) * 2002-11-18 2004-05-20 International Business Machines Corporation Method and apparatus for a migration assistant
US9104673B2 (en) * 2004-02-12 2015-08-11 International Business Machines Corporation Method for supporting multiple filesystem implementations
US8667035B2 (en) * 2004-02-12 2014-03-04 International Business Machines Corporation Method of converting a filesystem while the filesystem remains in an active state
US7558843B2 (en) * 2004-07-12 2009-07-07 Netsuite, Inc. Phased rollout of version upgrades in web-based business information systems
US9009313B2 (en) * 2004-07-12 2015-04-14 NetSuite Inc. Simultaneous maintenance of multiple versions of a web-based business information system
US8736623B1 (en) * 2004-11-15 2014-05-27 Nvidia Corporation Programmable DMA engine for implementing memory transfers and video processing for a video processor
US20060242188A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Methods of exposing a missing collection of application elements as deprecated
US20060242194A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Systems and methods for modeling and manipulating a table-driven business application in an object-oriented environment
US20060242177A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Methods of exposing business application runtime exceptions at design time
US20060282458A1 (en) * 2005-04-22 2006-12-14 Igor Tsyganskiy Methods and systems for merging business process configurations
US20060242171A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Methods of using code-based case tools to verify application layer configurations
US7958486B2 (en) * 2005-04-22 2011-06-07 Sap Ag Methods and systems for data-focused debugging and tracing capabilities
US7702638B2 (en) * 2005-04-22 2010-04-20 Sap Ag Systems and methods for off-line modeling a business application
US7720879B2 (en) * 2005-04-22 2010-05-18 Sap Ag Methods of using an integrated development environment to configure business applications
US20060242172A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Systems and methods for transforming logic entities of a business application into an object-oriented model
US20060293935A1 (en) * 2005-04-22 2006-12-28 Igor Tsyganskiy Methods and systems for incrementally exposing business application errors using an integrated display
US20060242174A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Systems and methods for using object-oriented tools to debug business applications
US20060241961A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Methods of optimizing legacy application layer control structure using refactoring
US7542980B2 (en) 2005-04-22 2009-06-02 Sap Ag Methods of comparing and merging business process configurations
US20060293940A1 (en) * 2005-04-22 2006-12-28 Igor Tsyganskiy Methods and systems for applying intelligent filters and identifying life cycle events for data elements during business application debugging
US8539003B2 (en) * 2005-04-22 2013-09-17 Sap Ag Systems and methods for identifying problems of a business application in a customer support system
US20060242197A1 (en) * 2005-04-22 2006-10-26 Igor Tsyganskiy Methods of transforming application layer structure as objects
US8131644B2 (en) 2006-08-29 2012-03-06 Sap Ag Formular update
US7831568B2 (en) * 2006-08-29 2010-11-09 Sap Ag Data migration
US7823124B2 (en) 2006-08-29 2010-10-26 Sap Ag Transformation layer
US7831637B2 (en) 2006-08-29 2010-11-09 Sap Ag System on the fly
US8065661B2 (en) 2006-08-29 2011-11-22 Sap Ag Test engine
US7908589B2 (en) 2006-08-29 2011-03-15 Sap Ag Deployment
US20080071839A1 (en) * 2006-08-29 2008-03-20 Juergen Sattler Content authoring
US20080127082A1 (en) * 2006-08-29 2008-05-29 Miho Emil Birimisa System and method for requirements-based application configuration
US7827528B2 (en) * 2006-08-29 2010-11-02 Sap Ag Delta layering
US11347771B2 (en) * 2007-11-28 2022-05-31 International Business Machines Corporation Content engine asynchronous upgrade framework
US9185554B2 (en) * 2008-02-15 2015-11-10 Appcentral, Inc. System and methods to store, retrieve, manage, augment and monitor applications on appliances
US9544398B2 (en) 2008-02-15 2017-01-10 Good Technology Holdings Limited System and methods to store, retrieve, manage, augment and monitor applications on appliances
US9218137B2 (en) * 2008-03-05 2015-12-22 International Business Machines Corporation System and method for providing data migration services
US8135659B2 (en) 2008-10-01 2012-03-13 Sap Ag System configuration comparison to identify process variation
US8396893B2 (en) 2008-12-11 2013-03-12 Sap Ag Unified configuration of multiple applications
US9361326B2 (en) * 2008-12-17 2016-06-07 Sap Se Selectable data migration
US8255429B2 (en) 2008-12-17 2012-08-28 Sap Ag Configuration change without disruption of incomplete processes
JP4714778B2 (ja) * 2009-02-25 2011-06-29 富士通株式会社 アーカイブ装置、変換装置および変換プログラム
US8984657B2 (en) * 2009-09-08 2015-03-17 Appcentral, Inc. System and method for remote management of applications downloaded to a personal portable wireless appliance
US8584087B2 (en) 2009-12-11 2013-11-12 Sap Ag Application configuration deployment monitor
US20110239231A1 (en) * 2010-03-23 2011-09-29 International Business Machines Corporation Migrating electronic document version contents and version metadata as a collection with a single operation
US10417200B2 (en) 2010-07-30 2019-09-17 Microsoft Technology Licensing, Llc Data migration for service upgrades
US20120137278A1 (en) 2010-11-30 2012-05-31 International Business Machines Corporation Generating a customized set of tasks for migration of a deployed software solution
CN103955363B (zh) * 2014-04-08 2017-03-15 国云科技股份有限公司 一种程序升级安装包的制作方法
US10360190B2 (en) 2016-03-31 2019-07-23 Microsoft Technology Licensing, Llc Migrate data in a system using extensions
US10469584B2 (en) * 2016-09-30 2019-11-05 Salesforce.Com, Inc. Techniques and architectures for managing disparate heterogeneous cloud-based resources
CN106528224B (zh) * 2016-11-03 2020-08-04 腾讯科技(深圳)有限公司 一种Docker容器的内容更新方法、服务器及系统
CN109144533B (zh) * 2017-06-28 2021-05-04 北京嘀嘀无限科技发展有限公司 一种应用程序的更新及加载的方法、系统及计算机装置
CN107526611A (zh) * 2017-08-10 2017-12-29 佛山市三水区彦海通信工程有限公司 一种支持双版本应用切换方法
CN109408134B (zh) * 2017-08-16 2022-04-08 阿里巴巴集团控股有限公司 模型文件的处理方法、装置、系统以及处理设备
US11314732B2 (en) * 2019-10-11 2022-04-26 International Business Machines Corporation Database migration technique

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2698977B1 (fr) * 1992-12-03 1994-12-30 Alsthom Cge Alcatel Système d'information multimédia.
US5359730A (en) * 1992-12-04 1994-10-25 International Business Machines Corporation Method of operating a data processing system having a dynamic software update facility
US5625804A (en) 1995-04-17 1997-04-29 International Business Machines Corporation Data conversion in a multiprocessing system usable while maintaining system operations
US5950201A (en) * 1996-12-06 1999-09-07 International Business Machines Corporation Computerized design automation method using a single logical PFVL paradigm
DE19734413C1 (de) 1997-08-08 1999-01-07 Ericsson Telefon Ab L M Verfahren zum Aufrüsten einer Datenbank
US6233586B1 (en) * 1998-04-01 2001-05-15 International Business Machines Corp. Federated searching of heterogeneous datastores using a federated query object
US6167405A (en) * 1998-04-27 2000-12-26 Bull Hn Information Systems Inc. Method and apparatus for automatically populating a data warehouse system
US6654950B1 (en) * 1999-08-24 2003-11-25 Bae Systems Mission Solutions Inc. Software rehosting system and method
US6308178B1 (en) * 1999-10-21 2001-10-23 Darc Corporation System for integrating data among heterogeneous systems

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006522416A (ja) * 2003-04-02 2006-09-28 ビーチ・アンリミテッド・エルエルシー ディジタル・メディア・サーバのアップグレード
US8219597B2 (en) 2007-12-07 2012-07-10 Canon Kabushiki Kaisha Information processing apparatus and method
JP2014235749A (ja) * 2013-05-30 2014-12-15 ダッソー システムズ エノビア コーポレーション ライブ更新

Also Published As

Publication number Publication date
TWI242725B (en) 2005-11-01
US20020188625A1 (en) 2002-12-12
US7072913B2 (en) 2006-07-04

Similar Documents

Publication Publication Date Title
JP2003036181A (ja) アップグレード移行中の変換に移行プラグインを用いる漸進的ロールオーバプロセスによりホット移行動作を実行する方法、マルチプロセスシステム、及び、かかる方法を実施するシステム
US6968535B2 (en) Service mapping method of enterprise application modeling and development for multi-tier service environments
JP4351636B2 (ja) 同期方法
Casati et al. Dynamic and adaptive composition of e-services
US7818740B2 (en) Techniques to perform gradual upgrades
US8630969B2 (en) Systems and methods for implementing business rules designed with cloud computing
JP2007133871A (ja) ポートレット構成データを交換するための方法、ポータル、およびコンピュータ・プログラム
US20060059127A1 (en) Method, system, and storage medium for facilitating application development
US20080115135A1 (en) Supporting ETL Processing in BPEL-Based Processes
CN100461174C (zh) 用于动态地创建web服务的方法和系统
US20180267828A1 (en) Specifying an order of a plurality of resources in a transaction
Huang et al. A framework for web-based product data management using J2EE
WO2006106080A1 (en) Business context services for adaptable service oriented architecture components
US20060167829A1 (en) Multistage network computer architecture, with user-centered remote operating system
US9632837B2 (en) Systems and methods for system consolidation
JP2007249295A (ja) セッション管理プログラム、セッション管理方法およびセッション管理装置
JP2006268121A (ja) Webアプリケーションシステム、そのプログラム
EP1267263A2 (en) Hot migration through incremental roll-over using migration plug-ins for conversion during upgrade
Gouigoux et al. “Functional-First” Recommendations for Beneficial Microservices Migration and Integration Lessons Learned from an Industrial Experience
US7225435B2 (en) Method and system for eliminating redundant execution sequences that appear in workloads during workload simulation on an e-business application server
Kim et al. Runtime service discovery and reconfiguration using OWL-S based semantic web service
US8799901B2 (en) Establishing new service as conversation by replacing variables in generic service in an order with variables from a decoupled method of legacy service
Mourão et al. Dynamics AX
US11086842B1 (en) Highly scalable and consistent pluggable messaging system
Rayns et al. CICS Transaction Server from Start to Finish

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080430

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080801

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20080902