JP2001265576A - プログラム置換システム、分散処理システム及びプログラム置換方法 - Google Patents

プログラム置換システム、分散処理システム及びプログラム置換方法

Info

Publication number
JP2001265576A
JP2001265576A JP2000077814A JP2000077814A JP2001265576A JP 2001265576 A JP2001265576 A JP 2001265576A JP 2000077814 A JP2000077814 A JP 2000077814A JP 2000077814 A JP2000077814 A JP 2000077814A JP 2001265576 A JP2001265576 A JP 2001265576A
Authority
JP
Japan
Prior art keywords
program
distributed object
information
distributed
replacement
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.)
Granted
Application number
JP2000077814A
Other languages
English (en)
Other versions
JP3888827B2 (ja
Inventor
Minoru Takimoto
稔 瀧本
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2000077814A priority Critical patent/JP3888827B2/ja
Priority to US09/729,015 priority patent/US7155712B2/en
Publication of JP2001265576A publication Critical patent/JP2001265576A/ja
Application granted granted Critical
Publication of JP3888827B2 publication Critical patent/JP3888827B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 業務の中断なしにソフトウェアを動的に効率
よく置換する。 【解決手段】 電文送信手段11は、プログラムの版数
情報を含む電文を送信する。プログラム格納手段21
は、置換用のプログラムを格納する。転送前情報管理テ
ーブルT1は、プログラムの情報を管理する。プログラ
ム一時格納手段22は、プログラム格納手段21から転
送されたプログラムを一時格納する。転送後情報管理テ
ーブルT22は、プログラム一時格納手段22に格納さ
れているプログラムの情報を管理する。プログラム実行
手段23は、電文に含まれる版数情報に対応するプログ
ラムを、起動中のプログラムが存在するプロセスPa内
のプログラム一時格納手段22に動的にリンクし、プロ
グラムを実行する。

Description

【発明の詳細な説明】
【0001】
【発明が属する技術分野】本発明はプログラム置換シス
テム、分散処理システム及びプログラム置換方法に関
し、特にプログラムの置換を行うプログラム置換システ
ム、n階層のクライアント/サーバ環境で分散処理を行
う分散処理システム及びn階層のクライアント/サーバ
環境でプログラムの置換を行うプログラム置換方法に関
する。
【0002】
【従来の技術】近年、通信ネットワークは、多種多様な
機能が求められている。このような通信ネットワークに
対し、多様なサービスを顧客に提供したり、ネットワー
クの保守・運用を制御するためには、ソフトウェアのプ
ログラムの版数を上げて、常に改版したプログラムの入
れ替えを行う必要がある。
【0003】また、特に基幹のネットワークでは、プロ
セスまたはシステム全体を一旦停止するといったことは
できないため、システムの稼働中に動的にプログラムの
置換を行わねばならない。
【0004】従来のプログラムの動的置換技術として
は、例えば、新版プログラムをキューイングさせて、旧
版プログラムと置換した後に通信を再開させたり、ある
いは、旧版プログラムに対する要求を一旦キャンセルし
て、新版プログラムとの置換を行ったりしている。
【0005】
【発明が解決しようとする課題】しかし、上記のような
従来のプログラムの動的置換技術では、プロセスまたは
システム全体を一旦停止する必要はないものの、一時的
な業務処理の閉塞や中断が発生してしまうといった問題
があった。
【0006】一方、ソフトウェアの処理形態として、ク
ライアント/サーバに代表される分散処理形態が、通信
ネットワークに対しても広く活用されており、近年で
は、クライアント層とサーバ層の間に、他の独立した層
を複数設けたn階層のクライアント/サーバが、次世代
のクライアント/サーバ・アーキテクチャを特徴づける
ものとして開発が進んでいる。
【0007】従来のような新、旧2つのプログラムの入
れ替えといった単純な場合のみ想定しているプログラム
の動的置換技術では、このようなn階層クライアント/
サーバ環境に対し、複数のコンピュータ間で複数のソフ
トウェアを同期させながら動的に入れ替えていくことは
困難である。
【0008】本発明はこのような点に鑑みてなされたも
のであり、業務の中断なしにソフトウェアを動的に効率
よく置換するプログラム置換システムを提供することを
目的とする。
【0009】また、本発明の他の目的は、クライアント
/サーバ環境で、業務の中断なしにソフトウェアを動的
に効率よく置換する分散処理システムを提供することで
ある。
【0010】さらに、本発明の他の目的は、クライアン
ト/サーバ環境で、業務の中断なしにソフトウェアを動
的に効率よく置換、配信するプログラム置換方法を提供
することである。
【0011】
【課題を解決するための手段】本発明では上記課題を解
決するために、図1のような、プログラムの置換を行う
プログラム置換システム1において、プログラムの版数
情報を含む電文を送信する電文送信手段11を有する端
末装置10と、置換用のプログラムを格納するプログラ
ム格納手段21と、プログラムの情報を管理する転送前
情報管理テーブルT21と、プログラム格納手段21か
ら転送されたプログラムを一時格納するプログラム一時
格納手段22と、プログラム一時格納手段22に格納さ
れているプログラムの情報を管理する転送後情報管理テ
ーブルT22と、電文に含まれる版数情報に対応するプ
ログラムを、起動中のプログラムが存在するプロセスP
a内のプログラム一時格納手段22に動的にリンクし、
プログラムを実行するプログラム実行手段23と、から
構成されるプログラム置換装置20と、を有することを
特徴とするプログラム置換システム1が提供される。
【0012】ここで、電文送信手段11は、プログラム
の版数情報を含む電文を送信する。プログラム格納手段
21は、置換用のプログラムを格納する。転送前情報管
理テーブルT21は、プログラムの情報を管理する。プ
ログラム一時格納手段22は、プログラム格納手段21
から転送されたプログラムを一時格納する。転送後情報
管理テーブルT22は、プログラム一時格納手段22に
格納されているプログラムの情報を管理する。プログラ
ム実行手段23は、電文に含まれる版数情報に対応する
プログラムを、起動中のプログラムが存在するプロセス
Pa内のプログラム一時格納手段22に動的にリンク
し、プログラムを実行する。
【0013】また、図3に示すようなn階層のクライア
ント/サーバ環境で分散処理を行う分散処理システム1
aにおいて、分散オブジェクトの版数情報を含む電文の
スタブ処理を行うクライアント側スタブ処理手段31を
有するクライアント装置30と、電文のスケルトン処理
を行うサーバ側スケルトン処理手段44と、置換用の分
散オブジェクトを格納する分散オブジェクト格納リポジ
トリ41と、分散オブジェクトの情報を管理する転送前
情報管理テーブルT1と、分散オブジェクト格納リポジ
トリ41から転送された分散オブジェクトを一時格納す
るメモリ42と、メモリ42に格納されている分散オブ
ジェクトの情報を管理する転送後情報管理テーブルT2
と、電文に含まれる版数情報に対応する分散オブジェク
トを、起動中の分散オブジェクトが存在するプロセスP
1内のメモリ42に動的にリンクし、分散オブジェクト
の関数を呼び出して実行する分散オブジェクト呼び出し
制御手段43と、他装置内にある分散オブジェクトを呼
び出して実行するために、版数情報を含む電文のスタブ
処理を行うサーバ側スタブ処理手段45と、から構成さ
れ、装置間で同期して分散オブジェクトの置換を行う複
数のサーバ装置40−1〜40−nと、を有することを
特徴とする分散処理システム1aが提供される。
【0014】ここで、クライアント側スタブ処理手段3
1は、分散オブジェクトの版数情報を含む電文のスタブ
処理を行う。サーバ側スケルトン処理手段44は、電文
のスケルトン処理を行う。分散オブジェクト格納リポジ
トリ41は、置換用の分散オブジェクトを格納する。転
送前情報管理テーブルT1は、分散オブジェクトの情報
を管理する。メモリ42は、分散オブジェクト格納リポ
ジトリ41から転送された分散オブジェクトを一時格納
する。転送後情報管理テーブルT2は、メモリ42に格
納されている分散オブジェクトの情報を管理する。分散
オブジェクト呼び出し制御手段43は、電文に含まれる
版数情報に対応する分散オブジェクトを、起動中の分散
オブジェクトが存在するプロセスP1内のメモリ42に
動的にリンクし、分散オブジェクトの関数を呼び出して
実行する。サーバ側スタブ処理手段45は、他装置内に
ある分散オブジェクトを呼び出して実行するために、版
数情報を含む電文のスタブ処理を行う。
【0015】さらに、図20のような、n階層のクライ
アント/サーバ環境でプログラムの置換を行うプログラ
ム置換方法において、クライアントからプログラムの版
数情報を含む電文を送信し、電文をサーバで受信し、置
換用のプログラムを格納し、プログラムの情報を転送前
情報管理テーブルで管理し、電文に含まれる版数情報に
対応するプログラムを、起動中のプログラムが存在する
プロセス内のメモリに動的にリンクして、プログラムを
呼び出して実行し、メモリに格納されているプログラム
の情報を転送後情報管理テーブルで管理し、他装置内に
あるプログラムを呼び出して実行するために、版数情報
を含む電文の配信処理を行うことにより、n階層間での
プログラムの置換を、装置間で同期させて行うプログラ
ム置換方法が提供される。
【0016】ここで、プログラムの版数情報を含む電文
を送信し、この版数情報に対応するプログラムをプロセ
ス内のメモリに動的にリンクして実行する。
【0017】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図1は本発明のプログラム置換シ
ステムの原理図である。プログラム置換システム1は、
端末装置10とプログラム置換装置20から構成され、
ネットワーク100等を介して接続する。
【0018】端末装置10に対し、電文送信手段11
は、置換したいアプリケーション・プログラム(以下、
プログラム)の版数情報を含む業務電文(以下、電文)
を送信する。
【0019】図では、版数情報(1.03)を含む電文
を、プログラム置換装置20へ送信している。版数情報
の値が大きいものほど新しい版数である。なお、端末装
置10は、図に示さないインタフェース手段を有してお
り、インタフェース手段はソフトウェアの入出力制御を
行う。
【0020】プログラム格納手段21は、置換用のプロ
グラムを格納する。転送前情報管理テーブルT21は、
プログラム格納手段21に格納されているプログラムの
情報を管理する。管理情報の項目としては例えば、版数
情報や、その版数情報に対応したプログラム名等があ
る。
【0021】プログラム一時格納手段22は、プロセス
Pa内のメモリであり、プログラム格納手段21から転
送されたプログラムを一時格納する。図では、版数情報
が(1.01)〜(1.03)のプログラムが転送され
て格納されている。転送後情報管理テーブルT22は、
プログラム一時格納手段22に格納されているプログラ
ムの情報を管理する。
【0022】プログラム実行手段23は、電文に含まれ
る版数情報に対応するプログラムを、起動中のプログラ
ムが存在するプロセスPa内のプログラム一時格納手段
22に動的にリンクし、プログラムを実行する。
【0023】なお、動的にリンクするとは、すでに起動
しているプログラムのトランザクション処理等を停止せ
ずに、そのプログラムが存在するプロセスと同一のプロ
セス内にあるメモリへプログラムを転送することをい
う。
【0024】ここで、プログラム格納手段21からプロ
グラム一時格納手段22へ、プログラム(1.01)、
(1.02)がすでに転送されているものとする。その
後、(1.03)の版数情報を含む電文を受信すると、
プログラム実行手段23は、転送前情報管理テーブルT
21、転送後情報管理テーブルT22へアクセスして、
プログラムの存在場所を確認し(図2で後述)、リンク
していない場合には、プログラム一時格納手段22へプ
ログラム(1.03)を転送する。
【0025】これにより、同一プロセスPa内にプログ
ラム(1.03)が組み込まれ、新しいプログラムの処
理を開始することができる。このように、本発明では、
すでに起動しているプログラムに対して、動的に新しい
プログラムを組み込むことができるので、業務を中断せ
ずに、プログラムの置換を行うことが可能になる。
【0026】なお、プログラム(1.03)が起動中
に、旧版のプログラム(1.01)を起動させたい場合
には、電文に版数情報(1.01)を含めて送信する。
そして、プログラム実行手段23が、プログラム一時格
納手段22にすでに転送済みのプログラム(1.01)
を呼び出して実行すればよい。
【0027】一方、ネットワーク100には、ネットワ
ーク管理装置50が接続する。ネットワーク管理装置5
0は、ネットワーク100に接続する装置の保守・運用
を行う。本発明に関していえば、例えば、プログラム格
納手段21に格納するプログラムや転送前情報管理テー
ブルT21に記載する各種情報の設定・管理を一括して
行う。
【0028】次にフローチャートを用いて動作について
説明する。図2はプログラム置換システム1の動作手順
を示すフローチャートである。 〔S1〕プログラム置換装置20は、端末装置10から
送信された版数情報(版数情報Aとする)を含む電文を
受信する。 〔S2〕プログラム実行手段23は、転送後情報管理テ
ーブルT22に対し、版数情報Aがあるか否かを判断す
る。あればステップS3へ、なければステップS4へ行
く。 〔S3〕プログラム実行手段23は、版数情報Aのプロ
グラムを実行する。 〔S4〕プログラム実行手段23は、転送前情報管理テ
ーブルT21を参照して、版数情報Aがあるか否かを判
断する。あればステップS6へ、なければステップS5
へ行く。 〔S5〕プログラム置換装置20は、端末装置10へエ
ラーを送信する。 〔S6〕プログラム実行手段23は、プログラム格納手
段21からプログラム一時格納手段22へ、版数情報A
のプログラムを動的にリンクする。 〔S7〕プログラム実行手段23は、転送後情報管理テ
ーブルT22の内容を変更する。 〔S8〕プログラム実行手段23は、版数情報Aのプロ
グラムを実行する。
【0029】次に本発明のプログラム置換システム1を
n階層のクライアント/サーバ環境のネットワークに適
用した際の分散処理システムについて説明する。図3は
分散処理システムの構成を示す図である。第1の実施の
形態である分散処理システム1aは、クライアント装置
30と複数のサーバ装置40−1〜40−nとから構成
される。クライアント装置30と複数のサーバ装置40
−1〜40−nは、分散オブジェクト・コンピューティ
ングを基本とするn階層クライアント/サーバ・アーキ
テクチャを持つネットワーク200上に配置される。
【0030】また、ネットワーク200上には、COR
BA(Common Object Request Broker Architecture)や
DCOM(Distributed Component Object Model) 等の
分散オブジェクト通信インフラストラクチャが準備され
るが(以降、分散オブジェクト通信インフラストラクチ
ャをORB(Object Request Broker)と呼ぶ)、本発明
はCORBAのORBが適用されたシステムとして以降
説明する。
【0031】まず、ネットワーク200上に接続するW
ebサーバ60からクライアント・アプリケーション
が、クライアント装置30へダウンロードされる。その
後、クライアント装置30と複数のサーバ装置40−1
〜40−nに対して、CORBAのORB上で分散オブ
ジェクトの配信、置換が行われる。ここで、分散オブジ
ェクトとは、個々の機能単位を指しており、アプリケー
ション・プログラム、ライブラリ等に該当する。
【0032】クライアント装置30に対し、クライアン
ト側スタブ処理手段31は、分散オブジェクトの版数情
報を含む電文のスタブ処理を行う。スタブ処理とは、O
RB上でクライアントからサーバへ分散オブジェクトを
送信する際の、クライアント側での送信処理のことをい
う。
【0033】なお、クライアント装置30は、ソフトウ
ェアの入出力制御を行うインタフェース手段(図示せ
ず)を有する。サーバ装置40−1に対し(サーバ装置
40−2〜40−nもサーバ装置40−1と同機能を持
つ)、サーバ側スケルトン処理手段44は、電文のスケ
ルトン処理を行う。スケルトン処理とは、ORB上でク
ライアントから送信された分散オブジェクトをサーバで
受信する際の、サーバ側での受信処理のことをいう。
【0034】分散オブジェクト格納リポジトリ41は、
置換用の分散オブジェクトを格納する。転送前情報管理
テーブルT1は、分散オブジェクトの情報を管理する。
管理情報の詳細な項目は図8で後述する。
【0035】メモリ42は、分散オブジェクト格納リポ
ジトリ41から転送された分散オブジェクトを一時格納
するプロセス内メモリである。転送後情報管理テーブル
T2は、メモリ42に格納されている分散オブジェクト
の情報を管理する。管理情報の詳細な項目は図10で後
述する。
【0036】分散オブジェクト呼び出し制御手段43
は、電文に含まれる版数情報に対応する分散オブジェク
トを、起動中の分散オブジェクトが存在するプロセスP
1内のメモリ42に動的にリンクする。そして、分散オ
ブジェクトの関数を呼び出して実行する。
【0037】サーバ側スタブ処理手段45は、他装置
(サーバ装置40−2〜40−n)内にある分散オブジ
ェクトを呼び出して実行するために、版数情報を含む電
文のスタブ処理を行う(この場合、サーバ装置40−1
はクライアントとなる)。
【0038】一方、ネットワーク200には、管理サー
バ50aが接続する。管理サーバ50aは、ネットワー
ク200に接続する装置の保守・運用を行う。例えば、
分散オブジェクト格納リポジトリ41に格納する分散オ
ブジェクトや転送前情報管理テーブルT1に記載する各
種情報の設定・管理を一括して行う。
【0039】ここで、分散オブジェクト格納リポジトリ
41からメモリ42へ、分散オブジェクト(1.0
1)、(1.02)がすでに転送されているものとす
る。その後、(1.03)の版数情報を含む電文を受信
すると、分散オブジェクト呼び出し制御手段43は、転
送前情報管理テーブルT1、転送後情報管理テーブルT
2へアクセスして、分散オブジェクトの存在場所を確認
し(図11で後述)、リンクしていない場合には、メモ
リ42へ分散オブジェクト(1.03)を転送する。
【0040】これにより、同一プロセスP1内に分散オ
ブジェクト(1.03)が組み込まれ、新しい分散オブ
ジェクトの処理を開始することができる。また、この場
合、サーバ側スタブ処理手段45は、版数情報(1.0
3)を含む電文を生成して、サーバ装置40−2へ配信
し、サーバ装置40−2でも分散オブジェクト(1.0
3)が起動し、その後、サーバ装置40−2は版数情報
(1.03)を含む電文をサーバ装置40−3へ配信す
る。以降同様にして、ネットワーク200上のすべての
サーバ装置に対して、分散オブジェクト(1.03)が
設定されて起動することになる。
【0041】このように、本発明では、旧分散オブジェ
クトのトランザクション処理中に、ネットワーク200
上のサーバ装置40−1〜40−n間で同期させなが
ら、新分散オブジェクトのトランザクション処理に入れ
替えていく構成とした。これにより、業務を中断せず
に、ネットワーク200上のすべての装置に対して、分
散オブジェクトの配信、置換を自動的に効率よく行うこ
とが可能になり、システムの信頼性及び品質の向上を図
ることが可能になる。
【0042】次にサーバ装置40(サーバ装置40−1
〜40−nを総称してサーバ装置40とする)の詳細な
構成について説明する。図4はサーバ装置40の構成を
示す図である。スケルトン組み込み機構44aとスケル
トン処理手段44bは、サーバ側スケルトン処理手段4
4に対応し、スタブ組み込み機構45aとスタブ処理手
段45bは、サーバ側スタブ処理手段45に対応する。
また、コンポ−ネント版数情報定義ファイルT1は転送
前情報管理テーブルT1に対応し、コンポ−ネント版数
情報管理テーブルT2は転送後情報管理テーブルT2に
対応する。
【0043】さらに、以降の説明では、分散オブジェク
トを主体性を持つ存在として見た場合に、その状態及び
状態の変化を分散オブジェクト振る舞い処理と呼ぶ。ス
ケルトン格納リポジトリ46は、サーバ側スケルトン処
理用共有ライブラリを格納する。スケルトン組み込み機
構44aは、コンポーネント版数情報定義ファイルT1
にアクセスして、コンポーネント版数情報定義ファイル
T1で管理されているプロセス名を認識する。
【0044】そして、スケルトン組み込み機構44a
は、このプロセス名に対応したサーバ側スケルトン処理
用共有ライブラリLaを、スケルトン格納リポジトリ4
6から呼び出す。その後、サーバ側スケルトン処理用共
有ライブラリLaのスケルトン処理手段44bで電文の
受信処理を行う。
【0045】分散オブジェクト格納リポジトリ41は、
分散オブジェクトの振る舞い処理用共有ライブラリを格
納する。分散オブジェクト呼び出し制御手段43は、電
文に含まれる版数情報に対応する分散オブジェクトを、
コンポーネント版数情報定義ファイルT1、コンポ−ネ
ント版数情報管理テーブルT2へアクセスして、分散オ
ブジェクトの存在場所を確認し(図11で後述)、リン
クしていない場合には、メモリ42へ分散オブジェクト
振る舞い処理(の共有ファイル)を転送(以下、ロー
ド)し、分散オブジェクトの関数を呼び出して実行す
る。また、動的リンクの状況や分散オブジェクトの各関
数へのポインタを管理する。
【0046】スタブ格納リポジトリ47は、クライアン
ト側スタブ処理用共有ライブラリを格納する。スタブ組
み込み機構45aは、他装置の分散オブジェクトをさら
に呼び出す場合に、スタブ処理用共有ライブラリLbを
スタブ格納リポジトリ47から呼び出す。そして、スタ
ブ処理用共有ライブラリLbのスタブ処理手段45bで
電文の送信処理を行う。
【0047】スタブ処理の詳細な動作としては、まず、
分散オブジェクト振る舞い処理中に、さらに他サーバ装
置のサーバ・アプリケーションへ、処理を要求する必要
がある場合は、スタブ組み込み機構45aを実行する。
【0048】そして、業務依頼をするサーバ・アプリケ
ーションとの通信を確立するため、スタブ格納リポジト
リ47から該当するスタブ処理用共有ライブラリLbを
取得し、動的にリンクする。
【0049】スタブ処理手段45bでは、サーバ・アプ
リケーションとの接続処理を実施する。また、分散オブ
ジェクト振る舞い処理では、サーバとの接続を待ち、シ
ステム全体の版数情報を業務電文に含めて送信する。こ
のような動作を行うことにより、サーバ装置40−1〜
40−n間で、分散オブジェクトの配信、置換を同期さ
せながら行うことが可能になる。
【0050】なお、プロセスは、プロセスP1〜Pnの
ように複数生成することができ、プロセスP1〜Pn内
の処理と、スケルトン格納リポジトリ46とスタブ格納
リポジトリ47と分散オブジェクト格納リポジトリ41
とコンポ−ネント版数情報定義ファイルT1とは、オペ
レーティングシステム48を介して通信を行う。
【0051】さらに、スケルトン格納リポジトリ46、
スタブ格納リポジトリ47、分散オブジェクト格納リポ
ジトリ41に対する、共有ライブラリの配信は、図3で
上述した管理サーバ50aにより行われ、集中管理が可
能である。
【0052】次に電文の構成について説明する。図5は
電文の構成例を示す図である。電文2は、分散オブジェ
クトの関数名2aとパラメタ2cと、本発明で付加した
システム全体の版数を示す版数情報(メジャー番号+マ
イナー番号)2bから構成される。
【0053】図6は電文のIDL定義例を示す図であ
る。IDL(Interface Definition Language)は、分散
オブジェクトのインタフェースを定義する言語である。
すべてのinterface について、他パラメタに先立ち、版
数情報をinパラメタとして定義する。
【0054】図7はIDL定義からC++言語へのマッ
ピング例を示す図である。(A)は版数情報(1.0
1)であり、(B)は版数情報(1.02)である。
(A)、(B)に示すように、本発明では、分散オブジ
ェクトのモジュール名に版数情報を付加したネームスペ
ースNa、Nbを付加している。従来では、IDLと分
散オブジェクト振る舞い処理とは1:1対応であった
が、本発明ではC++言語のネームスペースを使用する
ことにより、複数の版数の分散オブジェクトの関数名、
変数名の衝突を防ぐことができ(すなわち、(A)のcl
ass XXX 、と(B)のclass XXX を全く別のものとして
定義できる)、複数の版数の分散オブジェクト振る舞い
処理用の共有ライブラリを、同一プロセスのメモリに動
的にリンクすることができる。
【0055】次にコンポーネント版数情報定義ファイル
T1について説明する。図8はコンポーネント版数情報
定義ファイルT1の構成を示す図である。コンポーネン
ト版数情報定義ファイルT1は、システム全体の版数情
報T1a、分散オブジェクト振る舞い処理用共有ライブ
ラリ名T1b、共有ライブラリの版数情報T1c、プロ
セス名T1dから構成される。
【0056】システム全体の版数情報T1aは、クライ
アント装置30から要求される版数情報に対応する。分
散オブジェクト振る舞い処理用共有ライブラリ名T1b
は、版数情報に対応するライブラリ名である。例えば図
では、版数情報(1.01)に対して、libAPL-A.so 〜
libAPL-X.soが対応している。
【0057】また、同じライブラリ名で異なる内容の共
有ライブラリが、スケルトン格納リポジトリ46やスタ
ブ格納リポジトリ47に格納されている。例えば、スケ
ルトン格納リポジトリ46に格納されているlibAPL-A.s
o は、プロセス(process-1)で用いるスケルトン処理用
のライブラリ(スケルトン処理用共有ライブラリLa)
であり、スタブ格納リポジトリ47に格納されているli
bAPL-A.so は、プロセス(process-1) で用いるスタブ処
理用のライブラリ(スタブ処理用共有ライブラリLb)
である。
【0058】共有ライブラリの版数情報T1cは、分散
オブジェクトのコンポーネントの版数情報である。共有
ライブラリの版数情報T1cでは、複数の版数を持つ複
数のソフトウェア・コンポーネントの組み合わせをシス
テム全体の版数で関連付けているため、システム全体の
版数情報から各分散オブジェクトの振る舞い処理コンポ
ーネントの版数が一意に決定することができる。
【0059】プロセス名T1dは、リンク先のプロセス
のことであり、どのプロセスで実行するかが示される。
次にリポジトリ等のディレクトリ構成について説明す
る。図9はディレクトリの構成例を示す図である。/o
pt、/aptの下位に/etc、/bin、/ske
l、/stub、/objがある。
【0060】/etcはコンポーネント版数情報定義フ
ァイルT1を格納し、/binはスケルトン組み込み機
構44aを格納し、/skelはスケルトン格納リポジ
トリ46の格納領域であり、/stubはスタブ格納リ
ポジトリ47の格納領域である。
【0061】また、/objの下位に/1.01、/
1.02、…があり、これらは版数情報毎に対応した分
散オブジェクト格納リポジトリ41の格納領域である。
次にコンポーネント版数情報管理テーブルT2について
説明する。図10はコンポーネント版数情報管理テーブ
ルT2の構成を示す図である。
【0062】コンポーネント版数情報管理テーブルT2
は、メモリ42にロードされた分散オブジェクト振る舞
い処理の情報を格納する。項目としては、システム全体
の版数情報T2a、分散オブジェクト振る舞い処理用共
有ライブラリ名T2b、共有ライブラリの版数情報T2
c、フラグT2d、関数テーブルへのアドレスT2eか
ら構成される。システム全体の版数情報T2a、分散オ
ブジェクト振る舞い処理用共有ライブラリ名T2b、共
有ライブラリの版数情報T2cは、図8と同様なので説
明は省略する。
【0063】フラグT2dは、メモリ42にロード済み
か否かを示す情報が記載され、ロード済みならY、そう
でなければNである。関数テーブルへのアドレスT2e
は、版数情報に対応した分散オブジェクト振る舞い処理
の関数テーブルのアドレスが記載される。
【0064】例えば、版数情報(1.01)の分散オブ
ジェクト振る舞い処理の関数テーブルのアドレスが0x00
012345が示す関数テーブルはt(1.01)であり、版
数情報(1.02)の分散オブジェクト振る舞い処理の
関数テーブルのアドレスが0x00023456が示す関数テーブ
ルはt(1.02)である。
【0065】次に分散オブジェクト呼び出し制御手段4
3の動作をフローチャートを用いて説明する。図11は
分散オブジェクト呼び出し制御手段43の動作手順を示
すフローチャートである。 〔S10〕版数情報Aを含む電文を受信した場合、分散
オブジェクト呼び出し制御手段43は、コンポ−ネント
版数情報管理テーブルT2に対し、版数情報Aがあるか
否かを判断する。あればステップS11へ、なければス
テップS12へ行く。 〔S11〕分散オブジェクト呼び出し制御手段43は、
版数情報Aの分散オブジェクトの関数を呼び出して実行
する。 〔S12〕分散オブジェクト呼び出し制御手段43は、
コンポ−ネント版数情報定義ファイルT1を参照して、
版数情報Aがあるか否かを判断する。あればステップS
14へなければステップS13へ行く。 〔S13〕サーバ装置40は、クライアントへエラーを
送信する。 〔S14〕分散オブジェクト呼び出し制御手段43は、
分散オブジェクト格納リポジトリ41からメモリ42へ
の動的リンクを行う。 〔S15〕分散オブジェクト呼び出し制御手段43は、
コンポ−ネント版数情報管理テーブルT2の内容を変更
する。 〔S16〕分散オブジェクト呼び出し制御手段43は、
版数情報Aの分散オブジェクトの関数を呼び出して実行
する。
【0066】以上説明したように、本発明の分散処理シ
ステム1aは、サーバ装置内(サーバ・アプリケーショ
ン内)で分散オブジェクト呼び出し制御手段43を設け
て、電文に含まれたシステム全体の版数情報に該当する
分散オブジェクト振る舞い処理用共有ライブラリを動的
にリンクする構成とした。さらに、分散オブジェクト振
る舞い処理の関数名、変数名をC++言語のネームスペ
ースを使用する構成にした。
【0067】これにより、各版数の名前の衝突をなく
し、実行中のトランザクションを停止することなく、同
一プロセス上に複数の版数のソフトウェアを起動するこ
とができる。
【0068】また、クライアント・アプリケーションと
サーバ・アプリケーションで、システム全体の版数情報
を電文に含めて配信し合いながら、分散オブジェクトの
置換を行う構成としたので、n層のクライアント・サー
バシステムに対しても複数の装置間で同期しながら分散
オブジェクトの置換が可能になる。
【0069】次に第2の実施の形態の分散処理システム
について説明する。図12はコンポーネント版数情報管
理テーブルの構成を示す図である。コンポーネント版数
情報管理テーブルT2−1は、図10で説明したコンポ
ーネント版数情報管理テーブルT2に、参照カウンタT
2fを設けたものである。
【0070】参照カウンタT2fには、メモリ42に格
納されている分散オブジェクト振る舞い処理の参照回数
をカウントした値が記載される。分散オブジェクト呼び
出し制御手段43は、分散オブジェクト振る舞い処理の
関数を呼び出す時に、参照カウンタT2fに1だけ加算
し、その関数が復帰した時に、参照カウンタT2fから
1だけ減算するようにする。
【0071】図13は分散オブジェクトの解放処理手順
を示すフローチャートである。 〔S20〕分散オブジェクト呼び出し制御手段43は、
分散オブジェクト振る舞い処理を実行して完了すると、
参照カウンタT2fから1だけ減算する。 〔S21〕分散オブジェクト呼び出し制御手段43は、
参照カウンタT2fの値が0か否かを判断する。0なら
ステップS22へ、0でなければステップS24へ行
く。 〔S22〕参照カウンタT2fの値が0である版数情報
より、新しい版数情報がコンポーネント版数情報管理テ
ーブルT2内にあるか否かを判断する。新しい版数情報
がなければステップS23へ、新しい版数情報があれば
ステップS24へ行く。〔S23〕メモリ42から参照
カウンタT2fの値が0である分散オブジェクト振る舞
い処理を解放(削除)する。 〔S24〕実行中の処理を継続する。
【0072】以上説明したように、第2の実施の形態で
は、分散オブジェクト振る舞い処理に対する参照カウン
タが0であり、かつ、その版数情報より新しい版数情報
がコンポーネント版数情報管理テーブルT2にある場合
には、その分散オブジェクト振る舞い処理をメモリ42
から解放する構成にした。
【0073】これにより、旧版の分散オブジェクト振る
舞い処理の利用者がなくなった時には、自動的にメモリ
42から解放されることになり、分散オブジェクト振る
舞い処理の効率のよい置換が可能になる。
【0074】次に第3の実施の形態の分散処理システム
について説明する。図14は電文の構成例を示す図であ
る。電文2−1は、分散オブジェクトの関数名2aと、
システム全体の版数を示す版数情報2bと、パラメタ2
cと、評価中フラグ2dから構成される。この評価中フ
ラグ2dは、分散オブジェクト振る舞い処理が評価中か
否かを示すものである。
【0075】図15は電文のIDL定義例を示す図であ
り、図16はIDL定義からC++言語へのマッピング
例を示す図である。図に示すように、第3の実施の形態
では版数情報の他に、評価中フラグを含む。
【0076】図17は評価対象の分散オブジェクトの処
理手順を示すフローチャートである。 〔S30〕分散オブジェクト呼び出し制御手段43は、
版数情報Aの電文中の評価中フラグが評価中か否かを判
断する。評価中であればステップS31へ、評価中でな
ければ図11のステップS10へ行く。 〔S31〕分散オブジェクト呼び出し制御手段43は、
コンポ−ネント版数情報定義ファイルT1に対し、版数
情報Aがあるか否かを判断する。あればステップS33
へ、なければステップS32へ行く。 〔S32〕サーバ装置40は、クライアントへエラーを
送信する。 〔S33〕分散オブジェクト呼び出し制御手段43は、
該当する分散オブジェクト振る舞い処理を動的にリンク
するのではなく、動的に別のプロセスを生成し、その別
プロセス内のスケルトン組み込み機構を実行する。そし
て、該当するスケルトン処理用共有ライブラリと分散オ
ブジェクト振る舞い処理を別プロセスへロードする。 〔S33〕分散オブジェクト呼び出し制御手段43は、
コンポ−ネント版数情報管理テーブルT2の内容を変更
する。 〔S35〕別プロセス内で、評価中の分散オブジェクト
振る舞い処理を実行する。
【0077】以上説明したように、第3の実施の形態で
は、評価中の分散オブジェクト振る舞い処理は別プロセ
スで実行する構成とした。これにより、評価中の分散オ
ブジェクト振る舞い処理が他の分散オブジェクト振る舞
い処理に与える影響をなくし、分散オブジェクトの置換
制御の品質を向上することが可能になる。
【0078】次に第4の実施の形態の分散処理システム
について説明する。図18はコンポーネント版数情報管
理テーブルの構成を示す図である。コンポーネント版数
情報管理テーブルT2−2は、図12で説明したコンポ
ーネント版数情報管理テーブルT2−1に、評価カウン
タT2gを設けたものである。評価カウンタT2gは、
別プロセスのメモリに格納されている分散オブジェクト
振る舞い処理の評価回数をカウントした値が記載され
る。
【0079】分散オブジェクト呼び出し制御手段43で
は、別プロセスを生成して、評価中の分散オブジェクト
振る舞い処理をリンクした場合に評価カウンタを1だけ
加算し、評価処理の完了応答を受信した時に、評価カウ
ンタから1だけ減算するようにする。
【0080】図19は分散オブジェクトの評価処理手順
を示すフローチャートである。 〔S40〕分散オブジェクト呼び出し制御手段43は、
評価中の分散オブジェクト振る舞い処理を実行して、応
答を受信すると、評価カウンタT2gから1だけ減算す
る。 〔S41〕分散オブジェクト呼び出し制御手段43は、
評価カウンタT2gの値が0か否かを判断する。0なら
ステップS42へ、0でなければステップS44へ行
く。 〔S42〕フラグT2dがYなら(動的にリンクしてい
るなら)ステップS43へ、Nなら(動的にリンクして
いないなら)ステップS44へ行く。 〔S43〕別プロセスを停止する。 〔S44〕実行中の処理を継続する。
【0081】以上説明したように、第4の実施の形態で
は、評価中フラグが0である場合には、評価中の分散オ
ブジェクト振る舞い処理を実行していた別プロセスを停
止する構成にした。これにより、評価用のプロセスは、
利用者がなくなった時に、自動的に停止することが可能
になる。
【0082】次に本発明のプログラム置換方法について
説明する。図20は本発明のプログラム置換方法の処理
手順を示すフローチャートである。 〔S50〕クライアントからプログラムの版数情報を含
む電文を送信する。 〔S51〕電文をサーバで受信する。 〔S52〕置換用のプログラムを格納する。 〔S53〕プログラムの情報を転送前情報管理テーブル
で管理する。 〔S54〕電文に含まれる版数情報に対応するプログラ
ムを、起動中のプログラムが存在するプロセス内のメモ
リに動的にリンクして、プログラムを呼び出して実行す
る。 〔S55〕メモリに格納されているプログラムの情報を
転送後情報管理テーブルで管理する。 〔S56〕他装置内にあるプログラムを呼び出して実行
するために、版数情報を含む電文の配信処理を行うこと
により、n階層間でのプログラムの置換を、装置間で同
期させて行う。
【0083】転送後情報管理テーブルは、メモリに格納
されているプログラムの参照回数をカウントする参照カ
ウンタをテーブル項目として有する。そして、プログラ
ムに対する参照カウンタの値が0で、プログラムの版数
情報より新しい版数情報が転送後情報管理テーブルにあ
る場合には、プログラムをメモリから削除する。
【0084】さらに、プログラムの版数情報と、プログ
ラムが評価中か否かを示す評価フラグと、を含む電文を
送信する。そして、評価フラグが評価中を示す場合に
は、別プロセスの中で評価対象のプログラムを呼び出し
て実行する。
【0085】また、転送後情報管理テーブルは、メモリ
に格納されているプログラムの評価回数をカウントする
評価カウンタをテーブル項目として有する。そして、プ
ログラムに対する評価カウンタの値が0の場合は、別プ
ロセスの中のプログラムの実行を中止する。
【0086】さらにまた、管理サーバにより、置換用の
プログラム及びプログラムに関する情報の設定・管理を
一括して行う。以上説明したように、本発明のプログラ
ム置換システム、分散処理システム及びプログラム置換
方法によれば、分散オブジェクト・コンピューティング
を基本としたn階層クライアント/サーバ環境に対し、
トランザクション処理を全く中断することなく、新しい
ソフトウェアを動的に組み込むことができる。
【0087】また、新・旧のソフトウェアを混在させな
がら、複数のコンピュータに分散した複数のソフトウェ
アを段階的に入れ替えることが可能となる。さらに、古
い版数のソフトウェアを使用するクライアントのトラン
ザクション処理の完了を確実に待ち、不要となるメモリ
を解放することで、システム資源を有効活用することが
できる。
【0088】また、ソフトウェアが評価中の場合には、
すでにトランザクション処理を実行中のプロセスで新し
いソフトウェアを実行するのではなく、別プロセスにて
分散オブジェクトの振る舞い処理を実行するため、信頼
性を低下させずに、新しいソフトウェアを導入すること
ができる。
【0089】さらに、評価が完了したソフトウェアは、
自動的にプロセス内にロードされ、トランザクションが
開始される。また、別プロセスで実行されたトランザク
ション処理の完了を待ち、不要となるプロセスを消滅さ
せることで、システム資源を有効に活用することができ
る。
【0090】さらに、ソフトウェアをリポジトリサーバ
に集中管理し、ソフトウェア転送することで、n階層ク
ライアント/サーバ環境で煩雑となるソフトウェア更新
作業の簡略化、自動化、及び作業品質の向上を実現する
ことが可能になる。
【0091】なお、上記の説明では、ORBとしてCO
RBAを用いたが、これ以外のORBのネットワークを
使用してもよい。また、上記の説明では、n階層のクラ
イアント/サーバ・システムを中心に説明したが、多様
な分野の情報通信ネットワークのソフトウェアの動的置
換に対して、本発明を適用可能である。
【0092】
【発明の効果】以上説明したように、本発明のプログラ
ム置換システムは、プログラムの版数情報を含む電文を
送信し、この版数情報に対応するプログラムをプロセス
上に動的にリンクさせて実行する構成とした。これによ
り、現在行っている業務のソフトウェアを実行中に、新
しい版数のソフトウェアを組み込むことができるので、
業務の中断なしにソフトウェアを動的に効率よく置換す
ることが可能になる。
【0093】また、本発明の分散処理システムは、分散
オブジェクトの版数情報を含む電文を送信し、この版数
情報に対応する分散オブジェクトをプロセス上に動的に
リンクさせて実行する構成とした。これにより、現在行
っている業務のソフトウェアを実行中に、新しい版数の
ソフトウェアを組み込むことができるので、業務の中断
なしにソフトウェアを動的に効率よく置換することが可
能になる。
【0094】さらに、本発明のプログラム置換方法は、
プログラムの版数情報を含む電文を送信し、この版数情
報に対応するプログラムをプロセス上に動的にリンクさ
せて実行することとした。これにより、現在行っている
業務のソフトウェアを実行中に、新しい版数のソフトウ
ェアを組み込むことができるので、業務の中断なしにソ
フトウェアを動的に効率よく置換することが可能にな
る。
【図面の簡単な説明】
【図1】本発明のプログラム置換システムの原理図であ
る。
【図2】プログラム置換システムの動作手順を示すフロ
ーチャートである。
【図3】分散処理システムの構成を示す図である。
【図4】サーバ装置の構成を示す図である。
【図5】電文の構成例を示す図である。
【図6】電文のIDL定義例を示す図である。
【図7】IDL定義からC++言語へのマッピング例を
示す図である。(A)は版数情報(1.01)であり、
(B)は版数情報(1.02)である。
【図8】コンポーネント版数情報定義ファイルの構成を
示す図である。
【図9】ディレクトリの構成例を示す図である。
【図10】コンポーネント版数情報管理テーブルの構成
を示す図である。
【図11】分散オブジェクト呼び出し制御手段の動作手
順を示すフローチャートである。
【図12】コンポーネント版数情報管理テーブルの構成
を示す図である。
【図13】分散オブジェクトの解放処理手順を示すフロ
ーチャートである。
【図14】電文の構成例を示す図である。
【図15】電文のIDL定義例を示す図である。
【図16】IDL定義からC++言語へのマッピング例
を示す図である。
【図17】評価対象の分散オブジェクトの処理手順を示
すフローチャートである。
【図18】コンポーネント版数情報管理テーブルの構成
を示す図である。
【図19】分散オブジェクトの評価処理手順を示すフロ
ーチャートである。
【図20】本発明のプログラム置換方法の処理手順を示
すフローチャートである。
【符号の説明】
1 プログラム置換システム 10 端末装置 11 電文送信手段 20 プログラム置換装置 21 プログラム格納手段 22 プログラム一時格納手段 23 プログラム呼び出し制御手段 T21 転送前情報管理テーブル T22 転送後情報管理テーブル Pa プロセス

Claims (28)

    【特許請求の範囲】
  1. 【請求項1】 プログラムの置換を行うプログラム置換
    システムにおいて、 プログラムの版数情報を含む電文を送信する電文送信手
    段を有する端末装置と、 置換用のプログラムを格納するプログラム格納手段と、
    前記プログラムの情報を管理する転送前情報管理テーブ
    ルと、前記プログラム格納手段から転送されたプログラ
    ムを一時格納するプログラム一時格納手段と、前記プロ
    グラム一時格納手段に格納されている前記プログラムの
    情報を管理する転送後情報管理テーブルと、前記電文に
    含まれる前記版数情報に対応するプログラムを、起動中
    のプログラムが存在するプロセス内の前記プログラム一
    時格納手段に動的にリンクし、前記プログラムを実行す
    るプログラム実行手段と、から構成されるプログラム置
    換装置と、 を有することを特徴とするプログラム置換システム。
  2. 【請求項2】 前記転送後情報管理テーブルは、前記プ
    ログラム一時格納手段に格納されているプログラムの参
    照回数をカウントする参照カウンタをテーブル項目とし
    て有することを特徴とする請求項1記載のプログラム置
    換システム。
  3. 【請求項3】 前記プログラム実行手段は、プログラム
    に対する前記参照カウンタの値が0で、前記プログラム
    の版数情報より新しい版数情報が前記転送後情報管理テ
    ーブルにある場合には、前記プログラムを前記プログラ
    ム一時格納手段から解放することを特徴とする請求項2
    記載のプログラム置換システム。
  4. 【請求項4】 前記電文送信手段は、プログラムの前記
    版数情報と、前記プログラムが評価中か否かを示す評価
    フラグと、を含む電文を送信することを特徴とする請求
    項1記載のプログラム置換システム。
  5. 【請求項5】 前記プログラム実行手段は、前記評価フ
    ラグが評価中を示す場合には、別プロセスの中で評価対
    象のプログラムを実行することを特徴とする請求項4記
    載のプログラム置換システム。
  6. 【請求項6】 前記転送後情報管理テーブルは、前記プ
    ログラム一時格納手段に格納されているプログラムの評
    価回数をカウントする評価カウンタをテーブル項目とし
    て有することを特徴とする請求項4記載のプログラム置
    換システム。
  7. 【請求項7】 前記プログラム実行手段は、プログラム
    に対する前記評価カウンタの値が0の場合は、前記別プ
    ロセスの中の前記プログラムの実行を中止することを特
    徴とする請求項6記載のプログラム置換システム。
  8. 【請求項8】 前記プログラム及び前記プログラムに関
    する情報の設定・管理を一括して行う管理装置を有する
    ことを特徴とする請求項1記載のプログラム置換システ
    ム。
  9. 【請求項9】 ソフトウェアの処理を行う端末装置にお
    いて、 前記ソフトウェアの入出力制御を行うインタフェース手
    段と、 プログラムの版数情報を含む電文を送信する電文送信手
    段と、 を有することを特徴とする端末装置。
  10. 【請求項10】 プログラムの置換を行うプログラム置
    換装置において、 置換用のプログラムを格納する置換用プログラム格納手
    段と、 前記プログラム格納手段に格納されている前記プログラ
    ムの情報を管理する転送前情報管理テーブルと、 前記プログラム格納手段から転送されたプログラムを一
    時格納するプログラム一時格納手段と、 前記プログラム一時格納手段に格納されている前記プロ
    グラムの情報を管理する転送後情報管理テーブルと、 前記電文に含まれる前記版数情報に対応するプログラム
    を、起動中のプログラムが存在するプロセス内の前記プ
    ログラム一時格納手段に動的にリンクし、前記プログラ
    ムを実行するプログラム実行手段と、 を有することを特徴とするプログラム置換装置。
  11. 【請求項11】 n階層のクライアント/サーバ環境で
    分散処理を行う分散処理システムにおいて、 分散オブジェクトの版数情報を含む電文のスタブ処理を
    行うクライアント側スタブ処理手段を有するクライアン
    ト装置と、 前記電文のスケルトン処理を行うサーバ側スケルトン処
    理手段と、置換用の分散オブジェクトを格納する分散オ
    ブジェクト格納リポジトリと、前記分散オブジェクトの
    情報を管理する転送前情報管理テーブルと、前記分散オ
    ブジェクト格納リポジトリから転送された分散オブジェ
    クトを一時格納するメモリと、前記メモリに格納されて
    いる前記分散オブジェクトの情報を管理する転送後情報
    管理テーブルと、前記電文に含まれる前記版数情報に対
    応する分散オブジェクトを、起動中の分散オブジェクト
    が存在するプロセス内の前記メモリに動的にリンクし、
    前記分散オブジェクトの関数を呼び出して実行する分散
    オブジェクト呼び出し制御手段と、他装置内にある分散
    オブジェクトの関数を呼び出して実行するために、前記
    版数情報を含む電文のスタブ処理を行うサーバ側スタブ
    処理手段と、から構成され、装置間で同期して前記分散
    オブジェクトの置換を行う複数のサーバ装置と、 を有することを特徴とする分散処理システム。
  12. 【請求項12】 前記転送後情報管理テーブルは、前記
    メモリに格納されている分散オブジェクトの参照回数を
    カウントする参照カウンタをテーブル項目として有する
    ことを特徴とする請求項11記載の分散処理システム。
  13. 【請求項13】 前記分散オブジェクト呼び出し制御手
    段は、分散オブジェクトに対する前記参照カウンタの値
    が0で、前記分散オブジェクトの版数情報より新しい版
    数情報が前記転送後情報管理テーブルにある場合には、
    前記分散オブジェクトを前記メモリから解放することを
    特徴とする請求項12記載の分散処理システム。
  14. 【請求項14】 前記電文送信手段は、分散オブジェク
    トの前記版数情報と、前記分散オブジェクトが評価中か
    否かを示す評価フラグと、を含む電文を送信することを
    特徴とする請求項11記載の分散処理システム。
  15. 【請求項15】 前記分散オブジェクト呼び出し制御手
    段は、前記評価フラグが評価中を示す場合には、別プロ
    セスの中で評価対象の分散オブジェクトの関数を呼び出
    して実行することを特徴とする請求項14記載の分散処
    理システム。
  16. 【請求項16】 前記転送後情報管理テーブルは、前記
    メモリに格納されている分散オブジェクトの評価回数を
    カウントする評価カウンタをテーブル項目として有する
    ことを特徴とする請求項14記載の分散処理システム。
  17. 【請求項17】 前記分散オブジェクト呼び出し制御手
    段は、分散オブジェクトに対する前記評価カウンタの値
    が0の場合は、前記別プロセスの中の前記分散オブジェ
    クトの実行を中止することを特徴とする請求項16記載
    の分散処理システム。
  18. 【請求項18】 前記分散オブジェクト及び前記分散オ
    ブジェクトに関する情報の設定・管理を一括して行う管
    理サーバを有することを特徴とする請求項11記載の分
    散処理システム。
  19. 【請求項19】 サービスの依頼を行うクライアント装
    置において、 ソフトウェアの入出力制御を行うインタフェース手段
    と、 分散オブジェクトの版数情報を含む電文のスタブ処理を
    行うクライアント側スタブ処理手段と、 を有することを特徴とするクライアント装置。
  20. 【請求項20】 サービスの提供を行うサーバ装置にお
    いて、 送信された電文のスケルトン処理を行うサーバ側スケル
    トン処理手段と、 置換用の分散オブジェクトを格納する分散オブジェクト
    格納リポジトリと、 前記分散オブジェクトの情報を管理する転送前情報管理
    テーブルと、 前記分散オブジェクト格納リポジトリから転送された分
    散オブジェクトを一時格納するメモリと、 前記メモリに格納されている前記分散オブジェクトの情
    報を管理する転送後情報管理テーブルと、 前記電文に含まれる前記版数情報に対応する分散オブジ
    ェクトを、起動中の分散オブジェクトが存在するプロセ
    ス内の前記メモリに動的にリンクし、前記分散オブジェ
    クトの関数を呼び出して実行する分散オブジェクト呼び
    出し制御手段と、 他装置内にある分散オブジェクトを呼び出して実行する
    ために、前記版数情報を含む電文のスタブ処理を行うサ
    ーバ側スタブ処理手段と、 を有することを特徴とするサーバ装置。
  21. 【請求項21】 n階層のクライアント/サーバ環境で
    プログラムの置換を行うプログラム置換方法において、 クライアントからプログラムの版数情報を含む電文を送
    信し、 前記電文をサーバで受信し、 置換用のプログラムを格納し、 前記プログラムの情報を転送前情報管理テーブルで管理
    し、 前記電文に含まれる前記版数情報に対応するプログラム
    を、起動中のプログラムが存在するプロセス内のメモリ
    に動的にリンクして、前記プログラムを呼び出して実行
    し、 前記メモリに格納されている前記プログラムの情報を転
    送後情報管理テーブルで管理し、 他装置内にあるプログラムを呼び出して実行するため
    に、前記版数情報を含む電文の配信処理を行うことによ
    り、n階層間でのプログラムの置換を、装置間で同期さ
    せて行うプログラム置換方法。
  22. 【請求項22】 前記転送後情報管理テーブルは、前記
    メモリに格納されているプログラムの参照回数をカウン
    トする参照カウンタをテーブル項目として有することを
    特徴とする請求項21記載のプログラム置換方法。
  23. 【請求項23】 プログラムに対する前記参照カウンタ
    の値が0で、前記プログラムの版数情報より新しい版数
    情報が前記転送後情報管理テーブルにある場合には、前
    記プログラムを前記メモリから解放することを特徴とす
    る請求項22記載のプログラム置換方法。
  24. 【請求項24】 プログラムの前記版数情報と、前記プ
    ログラムが評価中か否かを示す評価フラグと、を含む電
    文を送信することを特徴とする請求項21記載のプログ
    ラム置換方法。
  25. 【請求項25】 前記評価フラグが評価中を示す場合に
    は、別プロセスの中で評価対象のプログラムを呼び出し
    て実行することを特徴とする請求項24記載のプログラ
    ム置換方法。
  26. 【請求項26】 前記転送後情報管理テーブルは、前記
    メモリに格納されているプログラムの評価回数をカウン
    トする評価カウンタをテーブル項目として有することを
    特徴とする請求項24記載のプログラム置換方法。
  27. 【請求項27】 プログラムに対する前記評価カウンタ
    の値が0の場合は、前記別プロセスの中の前記プログラ
    ムの実行を中止することを特徴とする請求項26記載の
    プログラム置換方法。
  28. 【請求項28】 管理サーバにより、置換用の前記プロ
    グラム及び前記プログラムに関する情報の設定・管理を
    一括して行うことを特徴とする請求項21記載のプログ
    ラム置換方法。
JP2000077814A 2000-03-15 2000-03-15 プログラム置換システム、分散処理システム及びプログラム置換方法 Expired - Fee Related JP3888827B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2000077814A JP3888827B2 (ja) 2000-03-15 2000-03-15 プログラム置換システム、分散処理システム及びプログラム置換方法
US09/729,015 US7155712B2 (en) 2000-03-15 2000-12-04 Information processing system enabling dynamically loading or replacing program component in memory allocated to activated process

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000077814A JP3888827B2 (ja) 2000-03-15 2000-03-15 プログラム置換システム、分散処理システム及びプログラム置換方法

Publications (2)

Publication Number Publication Date
JP2001265576A true JP2001265576A (ja) 2001-09-28
JP3888827B2 JP3888827B2 (ja) 2007-03-07

Family

ID=18595308

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000077814A Expired - Fee Related JP3888827B2 (ja) 2000-03-15 2000-03-15 プログラム置換システム、分散処理システム及びプログラム置換方法

Country Status (2)

Country Link
US (1) US7155712B2 (ja)
JP (1) JP3888827B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006004017A (ja) * 2004-06-15 2006-01-05 Ntt Docomo Inc 分散処理システム及びファイル更新方法

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7249190B2 (en) * 2001-02-09 2007-07-24 Comlet Technologies, Llc. Enhanced data exchange and presentation/communication system
US7797431B2 (en) * 2001-02-09 2010-09-14 Willard Case Enhanced data exchange and functionality control system and method
JP2003114323A (ja) * 2001-10-04 2003-04-18 Bridgestone Corp 近赤外線吸収フィルム
US6978452B2 (en) * 2003-04-02 2005-12-20 Beach Unlimited Llc Upgrading digital media servers
WO2005026945A2 (en) * 2003-09-17 2005-03-24 Research In Motion Limited System and method for dynamic version management of applications
US20050155010A1 (en) * 2004-01-08 2005-07-14 George M. G. Method, system and memory for replacing a module
US20050278279A1 (en) * 2004-05-28 2005-12-15 Petev Petio G Native libraries descriptor with reference counting
WO2006055838A2 (en) * 2004-11-18 2006-05-26 America Online, Inc. Runtime environment
US7568194B2 (en) * 2005-02-25 2009-07-28 Microsoft Corporation Method and system for availability checking on distributed objects
US7519950B2 (en) * 2005-02-25 2009-04-14 Microsoft Corporation Method and system for version negotiation of distributed objects
KR100950491B1 (ko) * 2006-08-03 2010-03-31 삼성전자주식회사 네트워크 인터페이스카드, 이를 갖는 네트워크프린터 및 그 장치의 제어방법
US7886270B2 (en) * 2006-11-28 2011-02-08 International Business Machines Corporation Methods, systems, and computer program products for file version control management
US8595715B2 (en) * 2010-12-31 2013-11-26 International Business Machines Corporation Dynamic software version selection
US8863060B2 (en) * 2011-09-07 2014-10-14 Samsung Electronics Co., Ltd. Programmable intelligent storage architecture based on application and business requirements
US9489184B2 (en) * 2011-12-30 2016-11-08 Oracle International Corporation Adaptive selection of programming language versions for compilation of software programs
US9575744B2 (en) 2014-09-26 2017-02-21 Oracle International Corporation Live updating of a shared plugin registry with no service loss for active users

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62236045A (ja) 1986-04-08 1987-10-16 Fuji Electric Co Ltd 計算機のオンラインテスト方式
JPH05307478A (ja) 1992-04-30 1993-11-19 Nippon Telegr & Teleph Corp <Ntt> データベース管理システムの構成法
JPH05324303A (ja) 1992-05-21 1993-12-07 Hitachi Ltd 情報処理システム
US5410703A (en) * 1992-07-01 1995-04-25 Telefonaktiebolaget L M Ericsson System for changing software during computer operation
US6157961A (en) * 1992-12-21 2000-12-05 Sun Microsystems, Inc. Client-side stub interpreter
US5586304A (en) * 1994-09-08 1996-12-17 Compaq Computer Corporation Automatic computer upgrading
JP3225999B2 (ja) 1995-01-13 2001-11-05 日本電信電話株式会社 システムバージョンに基づく切り戻し方式および方法
US5727203A (en) * 1995-03-31 1998-03-10 Sun Microsystems, Inc. Methods and apparatus for managing a database in a distributed object operating environment using persistent and transient cache
US5754785A (en) * 1995-04-27 1998-05-19 General Datacomm Communications network equipment
JPH08335212A (ja) 1995-06-08 1996-12-17 Hitachi Ltd 分散計算機システムにおけるプログラム起動方法
US5761499A (en) * 1995-12-21 1998-06-02 Novell, Inc. Method for managing globally distributed software components
US5805891A (en) * 1995-07-26 1998-09-08 International Business Machines Corporation System and method for managing maintenance of computer software
JPH0962500A (ja) 1995-08-29 1997-03-07 Nec Corp 動的パッチ方法および動的パッチシステム
US5845077A (en) * 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
KR100286008B1 (ko) * 1995-12-30 2001-04-16 윤종용 소프트웨어 프로그램 자동 갱신방법
US5915112A (en) * 1996-01-02 1999-06-22 International Business Machines Corporation Remote procedure interface with support for multiple versions
US5732275A (en) * 1996-01-11 1998-03-24 Apple Computer, Inc. Method and apparatus for managing and automatically updating software programs
US6336148B1 (en) * 1996-09-25 2002-01-01 Sun Microsystems, Inc. Automatic checking of public contracts and private constraints on distributed objects
US6347398B1 (en) * 1996-12-12 2002-02-12 Microsoft Corporation Automatic software downloading from a computer network
JPH117315A (ja) 1997-04-21 1999-01-12 Toshiba Corp 監視・制御システム及びその処理内容を記録した媒体
JP3739524B2 (ja) 1997-05-14 2006-01-25 富士通株式会社 ソフトウェアシステムの稼動中プログラム置換装置
US5974454A (en) * 1997-11-14 1999-10-26 Microsoft Corporation Method and system for installing and updating program module components
JPH11259284A (ja) * 1998-03-12 1999-09-24 Fujitsu Ltd オンラインプログラム更新システム及びプログラム更新用プログラムを記録したコンピュータ読み取り可能な記録媒体
US6353926B1 (en) * 1998-07-15 2002-03-05 Microsoft Corporation Software update notification
US6381735B1 (en) * 1998-10-02 2002-04-30 Microsoft Corporation Dynamic classification of sections of software

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006004017A (ja) * 2004-06-15 2006-01-05 Ntt Docomo Inc 分散処理システム及びファイル更新方法
JP4656865B2 (ja) * 2004-06-15 2011-03-23 株式会社エヌ・ティ・ティ・ドコモ 分散処理システム及びファイル更新方法

Also Published As

Publication number Publication date
US20010052034A1 (en) 2001-12-13
US7155712B2 (en) 2006-12-26
JP3888827B2 (ja) 2007-03-07

Similar Documents

Publication Publication Date Title
JP2001265576A (ja) プログラム置換システム、分散処理システム及びプログラム置換方法
US6604140B1 (en) Service framework for computing devices
KR100383381B1 (ko) 제한된메모리컴퓨터시스템에서의클라이언트관리흐름제어를위한방법과장치
EP1212680B1 (en) Graceful distribution in application server load balancing
CA2605120C (en) Method and system for hosting and executing a component application
US7882501B1 (en) System and method for enabling dynamic modifed class reloading in an application server environment
US20080140759A1 (en) Dynamic service-oriented architecture system configuration and proxy object generation server architecture and methods
US20080140857A1 (en) Service-oriented architecture and methods for direct invocation of services utilizing a service requestor invocation framework
US20060029054A1 (en) System and method for modeling and dynamically deploying services into a distributed networking architecture
US20080140760A1 (en) Service-oriented architecture system and methods supporting dynamic service provider versioning
JP2005196767A (ja) ウェブ・サービス呼び出しをサポートするスケジューラ
US20030055668A1 (en) Workflow engine for automating business processes in scalable multiprocessor computer platforms
US20040068714A1 (en) Exchange infrastructure system and method
JP2002507017A (ja) ソースでのフィルタリング及びサーバーリソースを保存する為の補償用トランザクションのプロキシ実行を含むモジュール型アプリケーションの共同
US20110321011A1 (en) Application server with a protocol-neutral programming model for developing telecommunications-based applications
CN110719311B (zh) 分布式协调服务方法、系统及计算机可读存储介质
JP2003051056A (ja) 自動販売機管理システム
US20130097218A1 (en) Contained command invocation framework
CN108984290A (zh) 任务调度方法和系统
US10169259B2 (en) Pattern-based service bus architecture using activity-oriented services
CA2481099C (en) Exchange infrastructure system and method
EP1574980A1 (en) Context objects for accessing message content
EP0464352A2 (en) Sub-entry point interface architecture for change management in a computer network
JPH0778115A (ja) ネットワーク定義変更方式
KR100364077B1 (ko) 웹 환경 하에서 실시간 정보 생성기와 자원 레지스트리를이용한 네트워크 정보의 관리 방법

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060418

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060619

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060801

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060929

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20061128

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061128

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091208

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101208

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees