JPH04213148A - On-line distributed program exchanging system - Google Patents
On-line distributed program exchanging systemInfo
- Publication number
- JPH04213148A JPH04213148A JP2400807A JP40080790A JPH04213148A JP H04213148 A JPH04213148 A JP H04213148A JP 2400807 A JP2400807 A JP 2400807A JP 40080790 A JP40080790 A JP 40080790A JP H04213148 A JPH04213148 A JP H04213148A
- Authority
- JP
- Japan
- Prior art keywords
- message
- program
- version
- replacement
- information processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000012545 processing Methods 0.000 claims abstract description 118
- 238000000034 method Methods 0.000 claims description 174
- 230000008569 process Effects 0.000 claims description 154
- 230000010365 information processing Effects 0.000 claims description 59
- 238000004891 communication Methods 0.000 claims description 38
- 238000007726 management method Methods 0.000 description 48
- 230000004044 response Effects 0.000 description 36
- 230000005540 biological transmission Effects 0.000 description 30
- 238000011084 recovery Methods 0.000 description 23
- 238000010586 diagram Methods 0.000 description 12
- 238000001994 activation Methods 0.000 description 6
- 230000004913 activation Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 244000309464 bull Species 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Abstract
Description
【0001】0001
【産業上の利用分野】本発明は、複数の情報処理装置に
分散し、互いにメッセ−ジを通信しながら連携して処理
を進める複数プログラム群を対象とした、オンライン中
の分散プログラム入替え方法に関する。[Field of Industrial Application] The present invention relates to a distributed program replacement method while online, targeting a group of programs that are distributed among a plurality of information processing devices and perform processing in cooperation with each other while communicating messages with each other. .
【0002】0002
【従来の技術】従来のオンライン中のプログラム入替え
方法としては、例えば、公開特許公報(公開番号 平
2−1396930)「オンラインタスク入替え装置」
がある。本装置では入れ替えたいタスクをまず、仮タス
クとしてロ−ディングしておき、タスク入替え管理装置
が、披入替え対象となるオンラインタスクの状態を監視
し、タスクが起動要求待ちになった時点で、上記仮タス
クと披入替えタスクを入れ替える方法をとっている。[Prior Art] As a conventional method for exchanging programs during online operation, for example, the published patent publication (Publication No. Hei 2-1396930) ``Online Task Replacement Device''
There is. In this device, the task to be replaced is first loaded as a temporary task, and the task replacement management device monitors the status of the online task to be replaced, and when the task is waiting for a startup request, the above We use a method of exchanging temporary tasks and replacement tasks.
【0003】0003
【発明が解決しようとする課題】金融・株式市況情報を
リアルタイムで利用者端末に配信するオンライン情報サ
−ビスシステム、或は、銀行端末等の制御を行なうオン
ライントランザクション処理システムでは、システムの
休日/終日稼働が要求されてきており、そのため計算機
システムの24時間稼働が要求されてきている。また、
サ−ビスの向上のため、業務プログラムのバ−ジョンア
ップも頻繁に発生する。これらニ−ズを背景として、バ
−ジョンアップに伴うプログラムの入替えをシステムを
止めずにオンライン中に行ないたいという要求が出てき
ている。[Problems to be Solved by the Invention] In an online information service system that delivers financial and stock market information to user terminals in real time, or an online transaction processing system that controls bank terminals, etc., system holidays/ There has been a demand for all-day operation, and for this reason, there has been a demand for computer systems to operate 24 hours a day. Also,
In order to improve services, business programs are frequently updated. With these needs as a background, there has been a demand for programs to be replaced during version upgrades while online without stopping the system.
【0004】一方、最近の計算機技術と通信技術の発達
により、複数の計算機を通信網で接続した分散構成を採
用するシステムが急増している。上述のオンライン情報
サ−ビスシステムやオンライントランザクション処理シ
ステムでも、従来の集中型のシステム構成から、分散シ
ステム構成への移行が行なわれつつある。On the other hand, with the recent development of computer technology and communication technology, the number of systems employing a distributed configuration in which a plurality of computers are connected through a communication network is rapidly increasing. The above-mentioned online information service systems and online transaction processing systems are also undergoing a transition from the conventional centralized system configuration to a distributed system configuration.
【0005】以上のオンライン中のプログラム入替えの
要求と、システムの分散化ということから、分散システ
ムを前提とした、オンライン中のプログラム入替えが要
求されてきている。[0005] Due to the above-mentioned request for program replacement while online and the need for system decentralization, there has been a demand for program replacement while online, assuming a distributed system.
【0006】さて、上記従来のプログラム入替え方法で
は、対象が単一計算機内のプログラムであることを前提
としていた。そのため、分散システムにおいて、互いに
メッセ−ジ通信を行ないながら処理を進めるプログラム
に対して、従来のオンライン中のプログラム入替えを適
用しようとすると、入替え時にプログラム間でバ−ジョ
ンの整合性がとれず、その結果として処理の連続性が保
証されないという問題があった。この問題を図2と図1
6を用いて説明する。The conventional program replacement method described above is based on the premise that the target program is a program within a single computer. Therefore, in a distributed system, if you try to apply conventional online program swapping to programs that proceed with processing while communicating messages with each other, the versions of the programs will not be consistent when swapping. As a result, there was a problem that continuity of processing was not guaranteed. This problem is illustrated in Figure 2 and Figure 1.
6 will be used for explanation.
【0007】図2は分散処理システムの一構成例を示し
たものである。システムは地域ごとに分散したサブシス
テム1、2、3が、広域回線11、12、13によって
互いに接続されている。各サブシステム内は、情報処理
装置21、22、23、24、25、26が例えばFD
DI(Fiber Distributed Data
Interface)のような高速LAN(Loca
l Area Network)41とそのLAN制御
装置51、52、53、54、55、56によって互い
に接続されている。情報処理装置21には他サブシステ
ムとの回線を接続するための回線制御装置31が、また
、情報処理装置24、25、26には、端末81、82
、・・・、89への回線71、72、・・・、79を制
御するための、端末回線制御装置34、35、36が接
続されている。さらに、各情報処理装置には、プログラ
ムのロ−ドモジュ−ルを格納したり、業務用のデ−タベ
−スを格納するためのディスク91、92、・・・、9
6が接続されている。FIG. 2 shows an example of the configuration of a distributed processing system. In the system, subsystems 1, 2, and 3 distributed by region are connected to each other by wide area lines 11, 12, and 13. In each subsystem, the information processing devices 21, 22, 23, 24, 25, and 26 are, for example, FDs.
DI (Fiber Distributed Data
High-speed LAN (Loca
1 Area Network) 41 and its LAN control devices 51, 52, 53, 54, 55, and 56. The information processing device 21 includes a line control device 31 for connecting lines with other subsystems, and the information processing devices 24, 25, and 26 include terminals 81, 82.
, . . . , 89 are connected to terminal line control devices 34, 35, and 36 for controlling the lines 71, 72, . . . , 79. Furthermore, each information processing device has disks 91, 92, . . . , 9 for storing program load modules and business databases.
6 is connected.
【0008】図16は、図2の情報処理装置25と22
の中で動作しているプログラム121と122(Pro
g1とProg2と表す)を、新しいバ−ジョンのプロ
グラム123と124(Prog1’とProg2’と
表す)に入れ替える場合を示している。Prog1は端
末回線制御装置35と回線74、75、76を介して端
末群84、85、86から受信した問い合わせメッセ−
ジを受信し、Prog2に対するデ−タベ−ス問い合わ
せメッセ−ジに編集し送信する。Prog2はデ−タベ
−ス問い合わせメッセ−ジを受信し、ディスク92より
デ−タを検索して、応答メッセ−ジに編集し、問い合わ
せ元のProg1に返信する。Prog1はprog2
からのメッセ−ジを端末画面用に編集し、問い合わせ元
の端末に送信する。以上の処理において、Prog1と
Prog2の間でのデ−タベ−ス問い合わせと応答メッ
セ−ジのフォ−マットは、予め互いに了解しておく必要
がある。また、プログラムのバ−ジョンに応じてフォ−
マットも変わるのが一般的である。FIG. 16 shows information processing devices 25 and 22 in FIG.
Programs 121 and 122 (Pro
This shows a case where programs 123 and 124 (represented as Prog1' and Prog2') of new versions are replaced. Prog1 receives inquiry messages received from terminal groups 84, 85, 86 via terminal line control device 35 and lines 74, 75, 76.
It receives the message, edits it into a database inquiry message for Prog2, and sends it. Prog2 receives the database inquiry message, retrieves the data from disk 92, edits it into a response message, and sends it back to Prog1, which is the source of the inquiry. Prog1 is prog2
Edit the message from the terminal for the terminal screen and send it to the terminal that made the inquiry. In the above processing, the formats of database inquiries and response messages between Prog1 and Prog2 must be mutually agreed upon in advance. Also, depending on the program version,
It is common for mats to change as well.
【0009】今、従来の入替え方法により、各情報処理
装置で独立にプログラムを入れ替えたとする。その場合
、Prog1とProg2の処理とは非同期的に入替え
が行なわれるため、タイミングによっては、図2に示す
ように、Prog2のみ新バ−ジョンに入れ替わり、P
rog1は旧バ−ジョンのままという状態がありうる。
この時、Prog1が端末85から問い合わせメッセ−
ジを受け取り(図15内■)、旧バ−ジョンのメッセ−
ジフォ−マットでProg2に問い合わせメッセ−ジを
送信した場合(図15内■)、受信側のprog2は新
バ−ジョンになっているため、メッセ−ジフォ−マット
が食違い、正常に処理できない、という問題が発生する
(図16内■。端末からのメッセ−ジフォ−マットは変
わらないものとする)。特に、端末からのトラフィック
が高い場合は、上記のようなフォ−マット違いのエラ−
が多発し、多くの端末に迷惑をかけることになる。[0009] Now, assume that the programs are replaced independently in each information processing device using the conventional replacement method. In that case, the processes of Prog1 and Prog2 are replaced asynchronously, so depending on the timing, only Prog2 is replaced with the new version, as shown in Figure 2.
There is a possibility that log1 remains the old version. At this time, Prog1 sends an inquiry message from terminal 85.
(■ in Figure 15) and receive the old version of the message.
If you send an inquiry message to Prog2 in the same format (■ in Figure 15), since prog2 on the receiving side is a newer version, the message format may be incorrect and the message may not be processed properly. This problem arises ((2) in FIG. 16. It is assumed that the message format from the terminal does not change). In particular, if the traffic from the terminal is high, errors such as the above due to format differences may occur.
occurs frequently, causing trouble to many terminals.
【0010】本発明の目的は、以上の問題を解決し、分
散システムにおいても、オンラインに影響を与えること
なく、プログラムを入替える方法を提供することである
。An object of the present invention is to solve the above problems and provide a method for replacing programs in a distributed system without affecting online operations.
【0011】[0011]
【課題を解決するための手段】上記問題点を解決するた
め、本発明は、通信網によって接続された複数の情報処
理装置が、それぞれオンライン中のプログラムの新バ−
ジョンプログラムを情報処理装置にロ−ディングする手
段と、情報処理装置ごとに、プログラムのバ−ジョン番
号を管理記憶する手段と、オンライン中のプログラムを
上記ロ−ディング済の新バ−ジョンのプログラムに入れ
替える手段とを備え、少なくとも2つ以上のプログラム
が互いにメッセ−ジを送受信しながら処理を進めるシス
テムにおいて、各情報処理装置が、オンライン中のプロ
グラムの出力メッセ−ジに、当該プログラムのバ−ジョ
ン番号を付加して通信網に送信し、通信網からメッセ−
ジを受信したとき、上記メッセ−ジに付加されたバ−ジ
ョン番号と、該メッセ−ジを受信したプログラムのバ−
ジョン番号を比較して、入替えの要否を判定し、入替え
要の場合は、当該受信プログラムを上記入替え手段によ
り新バ−ジョンに入れ替え、上記受信メッセ−ジを新バ
−ジョンのプログラムが受信し処理するようにした[Means for Solving the Problems] In order to solve the above-mentioned problems, the present invention provides a system in which a plurality of information processing apparatuses connected through a communication network each update a new version of a program that is online.
means for loading a version program into an information processing device; a means for managing and storing program version numbers for each information processing device; In a system in which at least two or more programs proceed with processing while exchanging messages with each other, each information processing device adds the version of the program to the output message of the online program. add a version number and send the message to the communication network.
When the message is received, the version number added to the message and the version of the program that received the message are displayed.
Compare the version numbers to determine whether replacement is necessary. If replacement is necessary, replace the receiving program with the new version using the above replacement means, and the new version of the program receives the above received message. and processed
【0
012】。0
012].
【作用】本発明によれば、分散システム内の少なくとも
一つにオンライン中のプログラムを入れ替えることがで
き、プログラムが通信網に送信されるメッセ−ジには送
信元プログラムのバ−ジョン番号が付加され、プログラ
ム間でのバ−ジョン番号の整合性を確認でき、プログラ
ム間でバ−ジョンの整合性がとれない場合は、受信プロ
グラムの入替えにより、バ−ジョンの整合性を回復する
ことができ、入替え時のメッセ−ジを廃棄することなく
新バ−ジョンのプログラムによって処理できる。[Operation] According to the present invention, it is possible to replace a program that is online in at least one of the distributed systems, and the version number of the sending program is added to the message sent from the program to the communication network. It is possible to check the consistency of the version numbers between the programs, and if the versions are not consistent between the programs, the consistency of the versions can be restored by replacing the receiving program. , messages at the time of replacement can be processed by the new version of the program without being discarded.
【0013】[0013]
【実施例】図1を用いて、本発明の概要を説明し、図2
〜図15を用いて、実施例の詳細を説明する。[Example] An overview of the present invention will be explained using FIG. 1, and FIG.
- Details of the embodiment will be described using FIG. 15.
【0014】図1は、図16で示したのと同じシステム
・ソフト構成における本発明のプログラム入替え方法を
示した図である。即ち、情報処理装置25、22にはプ
ログラム121、122(それぞれバ−ジョン番号が1
0であり、Prog1{10}、Prog2{10}と
表すことにする。ここで{ }内の数字は、そのプロ
グラムのバ−ジョン番号を示すものとする。)がそれぞ
れロ−ディングされており、オンライン処理を実行して
いる。Prog1{10}は、端末回線74、75、7
6と端末回線制御装置35を経由して送られてくる端末
からの問合せを受取り、LAN41経由で、Prog2
{10}にデ−タ検索を依頼するとともに、その応答メ
ッセ−ジを問合せ元の端末に返信する処理を行なってい
る。この2つのプログラムを、ディスク96、92に格
納されている新バ−ジョンプログラム125と126に
入れ替える方法を以下に示す。FIG. 1 is a diagram showing the program replacement method of the present invention in the same system/software configuration as shown in FIG. 16. That is, the information processing devices 25 and 22 have programs 121 and 122 (each with a version number of 1).
0, and will be expressed as Prog1{10} and Prog2{10}. Here, the numbers in { } indicate the version number of the program. ) have been loaded and are performing online processing. Prog1{10} is the terminal line 74, 75, 7
Prog2 receives an inquiry sent from the terminal via 6 and terminal line control device 35, and sends the inquiry via LAN41 to Prog2.
{10} is requested to search for data, and a response message is sent back to the terminal that made the inquiry. A method for replacing these two programs with new version programs 125 and 126 stored on disks 96 and 92 will be described below.
【0015】まず、情報処理装置25、22に新バ−ジ
ョンプログラム125、126を予めロ−ディングして
おく(図1内■■)。このロ−ディングされた新バ−ジ
ョンプログラムにはバ−ジョン番号として11を割当て
、それぞれProg1{11}、Prog2{11}と
表すことにする。次に、端末からの問い合わせメッセ−
ジを受信した時点(図1内■)で、prog1{10}
を新バ−ジョンに入れ替え(図1内■)、受信メッセ−
ジをProg1{11}に渡す(図1内■)。Prog
1{11}はProg2{11}への問い合わせメッセ
−ジ142を作成しLAN41に送出するが(図1内■
)、この時、Prog1{11}のバ−ジョン番号(=
11)もメッセ−ジ142のヘッダ部141内にセット
する。この問い合わせメッセ−ジを情報処理装置22が
LANから取り込み、Prog2{10}に引き渡す前
に、メッセ−ジに付加されているバ−ジョン番号と、引
渡し先のProg2{10}のバ−ジョン番号を比較す
る(図1内■)。この場合プログラムのバ−ジョン番号
(=10)がメッセ−ジのバ−ジョン番号(=11)よ
り小さいので、バ−ジョン番号が一致する新バ−ジョン
Prog2{11}に入替え(図1内■)、受信メッセ
−ジを引き渡す(図1内■)。First, the new version programs 125 and 126 are loaded into the information processing devices 25 and 22 in advance (■■ in FIG. 1). The loaded new version program will be assigned a version number of 11 and will be represented as Prog1 {11} and Prog2 {11}, respectively. Next, an inquiry message from the terminal
At the time when the message is received (■ in Figure 1), prog1{10}
Replace with the new version (■ in Figure 1), and check the received messages.
The data is passed to Prog1 {11} (■ in Figure 1). Prog
1 {11} creates an inquiry message 142 to Prog2 {11} and sends it to the LAN 41 (see
), at this time, the version number of Prog1{11} (=
11) is also set in the header section 141 of the message 142. The information processing device 22 takes in this inquiry message from the LAN, and before passing it on to Prog2 {10}, it checks the version number added to the message and the version number of Prog2 {10}, which is the delivery destination. Compare (■ in Figure 1). In this case, the program version number (=10) is smaller than the message version number (=11), so it is replaced with a new version Prog2 {11} that has the same version number (see Figure 1). ■), and hand over the received message (■ in Figure 1).
【0016】新バ−ジョンプログラムProg2{11
}は問い合わせのあったデ−タをディスクから検索し、
応答メッセ−ジ144を作成して、問い合わせ元のPr
og1{11}にLANを経由して返信する(図1内(
10))。この時もプログラムのバ−ジョン番号をメッ
セ−ジヘッダ143にセットする。このメッセ−ジは情
報処理装置25によってLANから取り込まれ、上述の
情報処理装置22と同様、Prog1{11}のバ−ジ
ョン番号とメッセ−ジに付加されているバ−ジョン番号
が比較チェックされた後、Prog1{11}に引き渡
される(図1内(11))。Prog1{11}は受信
したProg2{11}からの応答メッセ−ジを端末表
示用に編集し、問い合わせ元の端末に対して返信する(
図1内(12))。[0016] New version program Prog2{11
} searches the disk for the requested data,
Create a response message 144 and send the inquiry source Pr.
Reply to og1{11} via LAN (in Figure 1 (
10)). At this time as well, the version number of the program is set in the message header 143. This message is fetched from the LAN by the information processing device 25, and similarly to the information processing device 22 described above, the version number of Prog1{11} and the version number added to the message are compared and checked. After that, it is handed over to Prog1 {11} ((11) in FIG. 1). Prog1 {11} edits the received response message from Prog2 {11} for display on the terminal and sends it back to the terminal that made the inquiry (
(12) in Figure 1).
【0017】以上の処理により、メッセ−ジ送信元と受
信先とでプログラムのバ−ジョンを一致させることがで
き、しかもプログラム入替え時にメッセ−ジを消失する
こともない。[0017] Through the above processing, it is possible to match the program versions at the message sender and receiver, and moreover, the message will not be lost when the program is replaced.
【0018】次に、実施例の詳細を説明する。Next, details of the embodiment will be explained.
【0019】図3は、情報処理装置21〜26内のソフ
ト構成を示した図であり、端末回線制御装置3iやLA
N制御装置5iを介したメッセ−ジ送受信処理や、受信
メッセ−ジのトランザクション受信キュ−111〜11
3への登録処理を行なう通信管理モジュ−ル101、ユ
−ザ業務プログラム(以後UP:User Progr
amと略す)114〜115からの要求に応じてトラン
ザクション受信キュ−からメッセ−ジを取り出す際に、
新バ−ジョンへの入替えや旧バ−ジョンへの復旧の要否
を判定を行ない、必要ならば入替え/復旧処理を実行す
るメッセ−ジ受信要求処理モジュ−ル102、UPから
要求されたメッセ−ジに送信要求元プログラムのバ−ジ
ョン番号をセットし、通信管理モジュ−ル101経由で
情報処理装置や端末に送信するメッセ−ジ送信要求処理
モ−ジュ−ル103、新バ−ジョンプログラムの登録処
理を行なうプログラム登録処理モジュ−ル104、プロ
グラムの入替えや入替え失敗時の復旧の指示処理を行な
う入替え/復旧指示処理モジュ−ル105、デイスク9
i内のロ−ドモジュ−ルを上記登録処理モジュ−ル10
4の要求に応じて検索したり、UP114〜115の要
求に応じてディスク9i内のデ−タを検索するファイル
管理モジュ−ル106、端末回線制御装置3iやLAN
制御装置5iとのメッセ−ジ送受信用に設けた送受信バ
ッファ109、情報処理装置内に登録されているプログ
ラムのバ−ジョン番号やタスク番号を記憶管理するプロ
グラムバ−ジョン管理テ−ブル107、情報処理装置内
に登録されているタスクについて、入替え/復旧の要否
を示す情報を記憶管理するためのタスク管理テ−ブル1
08、トランザクション受信キュ−111、112、1
13ごとに受信待ちUPの存在の有無を記憶するための
受信待ちフラグ117、118、119、そして、情報
処理装置内のタスク制御、及び、端末回線制御装置やL
AN制御装置の起動/割込み処理を行なうOS(Ope
rating System)113から構成されるこ
とを示している。FIG. 3 is a diagram showing the software configuration within the information processing devices 21 to 26, including the terminal line control device 3i and the LA.
Message transmission/reception processing via the N control device 5i and transaction reception queues 111 to 11 of received messages
3, a communication management module 101 that performs registration processing for the user program (hereinafter referred to as UP)
am (abbreviated as am)) 114 to 115 when retrieving a message from the transaction receiving queue.
A message reception request processing module 102 that determines whether it is necessary to replace with a new version or restore to an old version, and execute replacement/recovery processing if necessary; - a message transmission request processing module 103 that sets the version number of the transmission request source program in the message and sends it to the information processing device or terminal via the communication management module 101; a program registration processing module 104 that performs registration processing; a replacement/recovery instruction processing module 105 that performs program replacement and recovery instruction processing when replacement fails; disk 9;
The load module in i is registered in the above registration processing module 10.
A file management module 106 that searches data in the disk 9i in response to a request from UP 114 to UP 115, a terminal line control device 3i, and a LAN.
A sending/receiving buffer 109 provided for sending and receiving messages with the control device 5i, a program version management table 107 for storing and managing program version numbers and task numbers registered in the information processing device, and information. Task management table 1 for storing and managing information indicating whether replacement/recovery is necessary for tasks registered in the processing device
08, Transaction reception queue-111, 112, 1
Receive wait flags 117, 118, 119 for storing the presence or absence of a receive wait UP every 13, and task control in the information processing device, terminal line control device, and L
The OS (Operation System) that performs startup/interrupt processing of the AN control device
rating system) 113.
【0020】図4は、上記プログラムバ−ジョン管理テ
−ブル107の構成を示す図である。本実施例のシステ
ムでは、各情報処理装置内のプログラムをその業務内容
に応じてプログラム番号を対応づけて管理しており、プ
ログラムバ−ジョン管理テ−ブルもこのプログラム番号
ごとにエントリ−151、152、153を設け、各エ
ントリ−については、プログラム番号をセットするエリ
ア131、旧バ−ジョン、現バ−ジョン、及び、新バ−
ジョンごとに、当該バ−ジョンがタスクとして登録され
ているか否かを示す登録フラグ132、135、138
、バ−ジョン番号をセットするエリア133、136、
139、及び、タスク番号をセットするエリア134、
137、140から構成される。FIG. 4 is a diagram showing the structure of the program version management table 107. In the system of this embodiment, programs in each information processing device are managed by associating program numbers with each other according to their business contents, and the program version management table also has entries 151 and 151 for each program number. 152 and 153 are provided, and for each entry, an area 131 for setting a program number, an area 131 for setting a program number, an area 131 for setting the old version, current version, and new version.
For each version, registration flags 132, 135, 138 indicate whether the version is registered as a task or not.
, areas 133, 136 for setting version numbers,
139, and an area 134 for setting the task number.
It consists of 137 and 140.
【0021】図5は上記タスク管理テ−ブル108の構
成を示した図であり、タスクごとにエントリ−171、
172、173が設けられ、各エントリ−については、
タスク番号をセットするエリア161、プログラム番号
をセットするエリア162、新バ−ジョンへの入替え要
否を示す入替え指示フラグをセットするエリア163、
そして、旧バ−ジョンへの復旧の要否を示す復旧指示フ
ラグをセットするエリア164から構成される。FIG. 5 is a diagram showing the structure of the task management table 108, in which entries 171,
172 and 173 are provided, and for each entry,
Area 161 for setting a task number, area 162 for setting a program number, area 163 for setting a replacement instruction flag indicating whether or not replacement to a new version is necessary.
It also includes an area 164 for setting a restoration instruction flag indicating whether restoration to the previous version is necessary.
【0022】図6はプログラム登録処理モジュ−ル(図
3内104)の処理フロ−を示した図である。本処理は
、プログラム入替えを実施する際、各情報処理装置ごと
にコンソ−ル等から起動されるものであり、起動時のパ
ラメ−タとしては、新バ−ジョンを登録するプログラム
のプログラム番号とロ−ドモジュ−ルのファイル名称、
がある。これらパラメ−タを引き数として起動されると
、まず指定されたプログラム番号について上記プログラ
ムバ−ジョン管理テ−ブル107を参照し、現バ−ジョ
ン登録フラグ135をチェックする(図6処理201)
。もしフラグがリセット状態で現バ−ジョンが未登録の
場合は、新規登録を意味しており、指定されたファイル
からロ−ドモジュ−ルを読みだしタスクとしてOSに登
録するとともに、プログラムバ−ジョン管理テ−ブルの
登録フラグ135をセットし、バ−ジョン番号136を
”1”にセットし、OSから通知されたタスク番号をエ
リア137にセットする(処理202)。次に、タスク
管理テ−ブル108について、上記登録したタスクのタ
スク番号に対応するエントリ−にアクセスし、エリア1
61とエリア162にタスク番号とプログラム番号をセ
ットし(処理203)、登録したタスクを起動して(処
理204)処理を終了する。FIG. 6 is a diagram showing the processing flow of the program registration processing module (104 in FIG. 3). This process is started from the console, etc. for each information processing device when performing a program replacement, and the parameters at startup include the program number and the program number of the program to which a new version is to be registered. Load module file name,
There is. When the program is started with these parameters as arguments, it first refers to the program version management table 107 for the specified program number and checks the current version registration flag 135 (process 201 in FIG. 6).
. If the flag is reset and the current version is unregistered, it means a new registration.The load module is read from the specified file and registered as a task in the OS, and the program version is The registration flag 135 of the management table is set, the version number 136 is set to "1", and the task number notified from the OS is set in the area 137 (process 202). Next, in the task management table 108, access the entry corresponding to the task number of the task registered above, and
61 and area 162 (process 203), the registered task is activated (process 204), and the process ends.
【0023】上記処理201において現バ−ジョンが既
に登録されている場合、新バ−ジョンの登録状態を調べ
るため、プログラムバ−ジョン管理テ−ブルのエリア1
38をチェックする(処理205)。もしフラグがリセ
ットされおり、新バ−ジョンが未登録の場合は、指定さ
れたファイルからロ−ドモジュ−ルを読み込みタスクと
してOSに登録するとともに、プログラムバ−ジョン管
理テ−ブルの登録フラグ138をセットし、バ−ジョン
番号139を現バ−ジョン番号136に1加えた値にセ
ットし、タスク番号をエリア140にセットする(処理
206)。そして、上記登録したタスクについて、上記
処理203と同一内容のタスク管理テ−ブル登録処理を
行ない(処理207)、処理を終了する。If the current version has already been registered in the above process 201, in order to check the registration status of the new version, area 1 of the program version management table is
38 is checked (process 205). If the flag has been reset and the new version has not been registered, the load module is read from the specified file and registered as a task in the OS, and the registration flag 138 of the program version management table is , the version number 139 is set to the current version number 136 plus one, and the task number is set in the area 140 (process 206). Then, for the registered task, a task management table registration process having the same contents as the process 203 described above is performed (process 207), and the process ends.
【0024】上記処理205にて、既に新バ−ジョンが
登録されていた場合は、新バ−ジョンの再登録と判定し
、既に登録されている新バ−ジョンについてタスク登録
の抹消をOSに依頼するとともに、やはり指定されたフ
ァイルからロ−ドモジュ−ルを読みだしてタスクとして
OSに登録し、プログラムバ−ジョン管理テ−ブルのエ
リア140にタスク番号セットし(処理208)、処理
207を実行した後、処理を終了する。[0024] In the above process 205, if a new version has already been registered, it is determined that the new version is to be re-registered, and the OS is instructed to delete the task registration for the new version that has already been registered. At the same time, the load module is also read from the specified file, registered as a task in the OS, the task number is set in area 140 of the program version management table (process 208), and process 207 is executed. After execution, end the process.
【0025】以上のプログラム登録処理により、新規プ
ログラムについてはオンライン業務処理が即開始される
が、現バ−ジョンが既に稼働中のプログラムについては
、新バ−ジョンがタスクとして登録されたのみであり、
まだ入替えは行なわれない。尚、以上の新バ−ジョン登
録処理は、入替え対象となるプログラムのすべてについ
て、各情報処理装置ごとに実施しておく必要があが、バ
−ジョンアップが不要なUPについては上記登録処理は
不要である。また、新バ−ジョンの登録の順番やプログ
ラム登録処理起動のタイミングについては、特に制約は
なく、オフライン的に行なうことができる。さらに、あ
る一つの情報処理装置のコンソ−ルから、LANを介し
たリモ−ト起動を行なうことにより、他情報処理装置の
プログラム登録処理モジュ−ルを起動する方法もある。[0025] Through the program registration process described above, online business processing starts immediately for a new program, but for programs whose current version is already running, the new version is only registered as a task. ,
Replacement has not yet taken place. The above new version registration process must be performed for each information processing device for all programs to be replaced, but the above registration process is not necessary for UPs that do not require version upgrades. Not necessary. Furthermore, there are no particular restrictions on the order of registering a new version or the timing of starting the program registration process, and the process can be performed offline. Furthermore, there is also a method of activating the program registration processing module of another information processing apparatus by remotely activating it from the console of one information processing apparatus via a LAN.
【0026】さて、情報処理装置22と25において、
Prog1{10}、Prog2{10}が既に稼働中
であり、それぞれの情報処理装置において、上記プログ
ラム登録処理により、新バ−ジョンProg1{11}
とProg2{11}が登録されているものとして、以
下の実施例の説明を進める。Now, in the information processing devices 22 and 25,
Prog1{10} and Prog2{10} are already in operation, and the new version Prog1{11} is installed by the above program registration process in each information processing device.
The following embodiment will be described assuming that and Prog2{11} are registered.
【0027】図7は、入替え/復旧指示処理モジュ−ル
の処理フロ−を示す図である。本処理は新バ−ジョンプ
ログラムへの入替えを指示する時、及び、後述する復旧
指示の時に、例えばコンソ−ルから起動されるものであ
り、起動時のパラメ−タとしては入替えか復旧かを示す
指示内容と、入れ替え/復旧を行なうプログラムのプロ
グラム番号がある。FIG. 7 is a diagram showing the processing flow of the replacement/restoration instruction processing module. This process is started, for example, from the console when instructing replacement to a new version of the program or when instructing recovery, which will be described later, and the parameter at startup is whether to replace or restore. There are instructions to be displayed and the program number of the program to be replaced/restored.
【0028】本処理が起動されると、まず指示内容をチ
ェックし(処理211)、入替え指示の場合は、引き数
のプログラム番号で指定されるプログラムについて上記
プログラム管理テ−ブル107を参照し、新バ−ジョン
の登録フラグ138(図4参照)がセットされているか
否かをチェックする(処理212)。もし登録されてい
れば現バ−ジョンのタスク番号137で指定されるタス
ク管理テ−ブル108のエントリ−について入替え指示
フラグ163(図5参照)をセットしてオンライン中の
プログラムに入替えを指示し(処理213)、処理を終
了する。一方、登録フラグがセットされていない場合は
、現バ−ジョン、及び、旧バ−ジョンのバ−ジョン番号
のみを増加(+1)させる場合であり、プログラムバ−
ジョン管理テ−ブルのエリア133、136をそれぞれ
インクリメントし(処理214)、処理を終了する。
次に、上記処理211において、指示内容が復旧指示の
場合は、処理215の復旧指示フラグセット処理に進む
が、これについては後で説明する。When this process is started, the content of the instruction is first checked (process 211), and in the case of a replacement instruction, the program management table 107 is referred to for the program specified by the program number of the argument. It is checked whether the new version registration flag 138 (see FIG. 4) is set (process 212). If it is registered, the replacement instruction flag 163 (see Figure 5) is set for the entry in the task management table 108 specified by the current version's task number 137 to instruct the online program to be replaced. (Process 213), the process ends. On the other hand, if the registration flag is not set, only the version numbers of the current version and the previous version are incremented (+1), and the program version is
Areas 133 and 136 of the version management table are each incremented (process 214), and the process ends. Next, in the above process 211, if the instruction content is a recovery instruction, the process proceeds to a recovery instruction flag setting process of process 215, which will be explained later.
【0029】尚、本実施例では、上記入替え指示処理を
情報処理装置25内のProg1{10}に対して行な
うものとする。In this embodiment, it is assumed that the above replacement instruction process is performed on Prog1{10} in the information processing device 25.
【0030】次に、端末との送受信メッセ−ジも含めて
、本システム内のプログラム間で送受信されるメッセ−
ジのフォ−マットを図8に示す。メッセ−ジはヘッダ部
220と本体部228からなる。ヘッダ部は、メッセ−
ジの長さMLをセットするエリア221、送信元端末/
情報処理装置のアドレスSAをセットするエリア222
、送信先端末/情報処理装置のアドレスをセットするエ
リア223、当該メッセ−ジが問合せか応答かを示す通
信タイプTYPEをセットするエリア224、後述する
問い合わせ元タスク番号INQ_TNをセットするエリ
ア225、本メッセ−ジの種類を示すトランザクション
コ−ドTCDをセットするエリア226、本メッセ−ジ
の送信元UPのバ−ジョン番号VERをセットするエリ
ア227、そして、メッセ−ジ本体DATAをセットす
るエリア228からなることを示している。尚、端末か
らのメッセ−ジの場合、SAにはシステム内で一貫して
付与されている端末番号が、また、TCDには、”端末
メッセ−ジ”を示すコ−ドがそれぞれセットされて端末
から送られてくるものとし、他の情報については値がセ
ットされていないものとする。Next, messages sent and received between programs in this system, including messages sent and received from terminals,
The format of the page is shown in FIG. The message consists of a header section 220 and a body section 228. The header section is the message
Area 221 for setting the length ML of the message, source terminal/
Area 222 for setting the address SA of the information processing device
, an area 223 for setting the address of the destination terminal/information processing device, an area 224 for setting the communication type TYPE indicating whether the message is an inquiry or a response, an area 225 for setting the inquiry source task number INQ_TN, which will be described later. Area 226 to set the transaction code TCD indicating the type of message, area 227 to set the version number VER of the sender UP of this message, and area 228 to set the message body DATA. It shows that it consists of In addition, in the case of a message from a terminal, the terminal number consistently assigned within the system is set in the SA, and a code indicating a "terminal message" is set in the TCD. It is assumed that the information is sent from the terminal, and no values are set for other information.
【0031】次に、端末8iからメッセ−ジを受信した
場合の通信管理モジュ−ル101におけるメッセ−ジ受
信処理を図9を用いて説明する。端末回線制御装置3i
はメッセ−ジを端末回線から受信すると情報処理装置2
i内の送受信バッファ109にメッセ−ジを転送し、そ
のアドレスとメッセ−ジ長をOSに通知する。OSは通
知を受けると通信管理モジュ−ル101内のメッセ−ジ
受信処理を起動する。メッセ−ジ受信処理では、まずメ
ッセ−ジを受信したのは端末回線からか、或いは、LA
Nからかを調べる(処理231)。端末回線からの受信
の場合は受信メッセ−ジのヘッダ部内のTCD(図8内
226)を読み込み(処理232)、トランザクザクシ
ョン受信キュ−に登録する(処理233)。ここで、ト
ランザクション受信キュ−はTCDごとに先入れ先だし
キュ−になっている。トランザクション受信キュ−への
登録とは、受信メッセ−ジのTCDで指定されるキュ−
の最後尾に、受信メッセ−ジの送受信バッファ内アドレ
スとメッセ−ジ長をセットした制御ブロックを登録する
処理のことである。次に、当該TCDのトランザクショ
ン受信キュ−に対して既に受信要求を発行して待ってい
るUPがいるか否かを調べるため、受信待ちフラグ(図
3内117、118、119)をチェックし(処理23
4)、もし待ちUPが存在しなければそのまま処理を終
了し、もし待ちUPが存在すれば当該UPを起動して(
処理235)処理を終了する。一方、上記処理231に
おいて、LANからのメッセ−ジ受信の場合は、メッセ
−ジヘッダ内TYPE(通信タイプ)をチェックし、問
合わせメッセ−ジか応答メッセ−ジかを判定する(処理
236)。もし問合せメッセ−ジの場合は処理232に
進む。また、応答メッセ−ジの場合は、応答待ちUPの
起動処理を行ない(処理237)、処理を終了する。Next, message reception processing in the communication management module 101 when a message is received from the terminal 8i will be explained with reference to FIG. Terminal line control device 3i
When the message is received from the terminal line, the information processing device 2
The message is transferred to the sending/receiving buffer 109 in i, and the address and message length are notified to the OS. Upon receiving the notification, the OS activates message reception processing within the communication management module 101. In the message reception process, it is first determined whether the message was received from the terminal line or from the LA.
Check whether it is from N (process 231). In the case of reception from a terminal line, the TCD (226 in FIG. 8) in the header of the received message is read (process 232) and registered in the transaction reception queue (process 233). Here, the transaction reception queue is a first-in, first-out queue for each TCD. Registration in the transaction reception queue means registration in the queue specified by the TCD of the received message.
This is the process of registering a control block in which the send/receive buffer address and message length of the received message are set at the end of the message. Next, in order to check whether there is any UP that has already issued a reception request to the transaction reception queue of the TCD and is waiting, the reception waiting flag (117, 118, 119 in FIG. 3) is checked (processing 23
4) If there is no waiting UP, terminate the process as is, and if there is a waiting UP, start the corresponding UP (
Process 235) End the process. On the other hand, in the above process 231, when a message is received from the LAN, the TYPE (communication type) in the message header is checked to determine whether it is an inquiry message or a response message (process 236). If the message is an inquiry message, the process advances to step 232. If it is a response message, a response waiting UP activation process is performed (process 237), and the process ends.
【0032】次に、図10を用いて、情報処理装置25
内のUPであるProg1{10}の処理フロ−を説明
する。本プログラムは起動されるとまず使用するテ−ブ
ルの初期化等のイニシャル処理を行なった(処理251
)後、TCD=”端末メッセ−ジ”と受信メッセ−ジ格
納用のエリアを指定してメッセ−ジ受信要求モジュ−ル
にリンクする(処理252)。Next, using FIG. 10, the information processing device 25
The processing flow of Prog1{10}, which is the UP in the following, will be explained. When this program is started, it first performs initial processing such as initializing the table to be used (process 251).
) After that, it specifies TCD="terminal message" and the area for storing the received message, and links to the message reception request module (process 252).
【0033】メッセ−ジ受信要求処理モジュ−ル(図3
内102)は図11に示す処理を実行するものである。
即ち、UPより指定されたTCDについて上記トランザ
クション受信キュ−をチェックして処理待ちメッセ−ジ
がキュ−に登録されているか否かを調べる(処理261
、262)。もし登録されていなければ当該トランザク
ション受信キュ−に対応した受信待ちフラグをセットし
てWAIT状態に入り(処理263)、上記通信管理モ
ジュ−ルに起動されるまで待つ。一方、トランザクショ
ン受信キュ−に指定されたTCDのメッセ−ジが登録さ
れていれば、受信要求を発行しているUPのタスク番号
に基づいてタスク管理テ−ブル108を参照し、入替え
指示フラグ(図5内163)がセットされているか否か
をチェックする(処理264)。もし入替え指示フラグ
がセットされている場合は、タスク管理テ−ブル108
から受信要求元UPのプログラム番号を求め、さらにプ
ログラムバ−ジョン管理テ−ブル107から新バ−ジョ
ンのタスク番号(図4内140)を読み取って当該タス
クを起動するとともに(処理271)、起動が成功した
か否かをチェックする(処理272)。起動が成功した
場合は旧バ−ジョンプログラムについてタスクの登録抹
消をOSに依頼した後(処理273)、新バ−ジョンの
タスク管理テ−ブルについて入替え指示フラグ163を
リセットし(処理274)、プログラムバ−ジョン管理
テ−ブルの旧バ−ジョン情報(図4エリア132、13
3、134)を現バ−ジョン情報(図4エリア135、
136、137)で、また、現バ−ジョン情報を新バ−
ジョン情報(図4エリア138、139、140)で書
替えた後、新バ−ジョン情報をクリヤし(処理276)
、現在稼働中で入替えにより旧バ−ジョンとなった受信
要求元UPの処理を終了する(処理276)。Message reception request processing module (FIG. 3)
102) executes the processing shown in FIG. That is, the transaction reception queue is checked for the TCD specified by the UP to determine whether a message waiting to be processed is registered in the queue (process 261).
, 262). If it is not registered, the reception waiting flag corresponding to the transaction reception queue is set, the transaction enters a WAIT state (process 263), and waits until activated by the communication management module. On the other hand, if the message of the specified TCD is registered in the transaction reception queue, the task management table 108 is referred to based on the task number of the UP issuing the reception request, and the replacement instruction flag ( 163 in FIG. 5) is set (processing 264). If the replacement instruction flag is set, the task management table 108
The program number of the receiving request source UP is obtained from UP, and the task number of the new version (140 in FIG. 4) is read from the program version management table 107 to start the task (process 271). It is checked whether or not it was successful (processing 272). If the startup is successful, the OS is requested to delete the task registration for the old version program (process 273), and then the replacement instruction flag 163 is reset for the new version task management table (process 274). Old version information in the program version management table (areas 132 and 13 in Figure 4)
3, 134) to the current version information (Fig. 4 area 135,
136, 137), you can also update the current version information to the new version.
After rewriting with the version information (areas 138, 139, 140 in Figure 4), the new version information is cleared (processing 276).
, ends the processing of the reception request source UP which is currently in operation and has become an old version due to replacement (process 276).
【0034】以上の処理によれば、入替え指示が出され
ているプログラムを、端末/LANからメッセ−ジを受
信した時に新バ−ジョンに入れ替えることができる。本
実施例の場合、情報処理装置22内のProg1{10
}が新バ−ジョンのProg1{11}に入れ替わり起
動されることになる。尚、プログラム入替えは、受信メ
ッセ−ジのバ−ジョン番号と受信要求を発行しているU
Pのバ−ジョン番号が一致しない場合にも行なわれる。
これについては後で説明する。また、処理271におい
て新バ−ジョンの起動が失敗した場合のエラ−回復処理
(処理279〜284)、及び、旧バ−ジョンへの復旧
処理(処理265、291〜294)についても後で説
明する。According to the above process, a program for which a replacement instruction has been issued can be replaced with a new version when a message is received from the terminal/LAN. In the case of this embodiment, Prog1{10 in the information processing device 22
} will be replaced by the new version of Prog1 {11} and started. In addition, program replacement is based on the version number of the received message and the U that issued the reception request.
This is also done when the version numbers of P do not match. This will be explained later. Also, error recovery processing (processing 279 to 284) when starting the new version fails in processing 271 and restoration processing to the old version (processing 265, 291 to 294) will be explained later. do.
【0035】さて、新バ−ジョンとして起動されたPr
og1{11}は、旧バ−ジョンと同様、図10に示し
た処理を実行するが、Prog2{11}に対する問合
せメッセ−ジのフォ−マットは、旧バ−ジョンとは異な
っているものとする。Now, the new version of Pr
og1 {11} executes the process shown in Figure 10 as in the old version, but the format of the inquiry message for Prog2 {11} is different from the old version. do.
【0036】Prog1{11}は起動されるとまずイ
ニシャル処理(処理251)を行ない、TCD=”端末
メッセ−ジ”と受信メッセ−ジ格納用のエリアを指定し
てメッセ−ジ受信要求処理モジュ−ルにリンクする(処
理252)。When Prog1 {11} is activated, it first performs initial processing (processing 251), specifies TCD="terminal message" and an area for storing received messages, and issues a message reception request processing module. - link to the file (process 252).
【0037】メッセ−ジ受信要求処理モジュ−ルでは、
上記図11の処理261〜266を行なった後、端末か
らのメッセ−ジなので、処理268に進み、トランザク
ション受信キュ−の先頭に登録されているメッセ−ジを
取り出し(処理268)、UPの指定したエリアに受信
メッセ−ジを受信バッファからコピ−し(処理269)
、受信バッファを解放して(処理270)、UPにリタ
ンする。In the message reception request processing module,
After performing processes 261 to 266 in FIG. 11 above, since the message is from a terminal, the process proceeds to process 268, where the message registered at the head of the transaction reception queue is retrieved (process 268), and the UP specification is sent. Copy the received message from the receive buffer to the area (process 269).
, releases the receive buffer (process 270), and returns to UP.
【0038】Prog1{11}はメッセ−ジ受信要求
処理モジュ−ルにより端末からのメッセ−ジを受け取る
と、そのデ−タ部に基づいて、Prog2{11}への
問い合わせメッセ−ジを作成し(図10処理253)、
DAとして情報処理装置22を、TCDとして”端末問
合せ”を示すコ−ドを、通信タイプとして”問合せ”を
、そして、上記作成した問合せメッセ−ジのアドレスと
長さを指定して、メッセ−ジ送信要求処理モジュ−ルに
リンクする(処理254)。When Prog1 {11} receives a message from the terminal using the message reception request processing module, it creates an inquiry message to Prog2 {11} based on the data part. (Figure 10 process 253),
Specify the information processing device 22 as the DA, the code indicating "terminal inquiry" as the TCD, "inquiry" as the communication type, and the address and length of the inquiry message created above to send a message. link to the page transmission request processing module (process 254).
【0039】図13はメッセ−ジ送信要求処理モジュ−
ル(図3内103)の処理フロ−を示した図である。ま
ず、LAN経由で他の情報処理装置に送信するのか、或
いは、端末への送信なのかをUPが指定した宛先から判
定し(処理301)、もし、LAN経由の場合は送受信
バッファ(図3内109)から空きバッファを確保し(
処理302)、UPの指定したエリアから送信メッセ−
ジを上記確保したバッファにコピ−し(処理303)、
ML(メッセ−ジ長)にヘッダ部を含めたメッセ−ジの
長さを、SA(送信元アドレス)には当該情報処理装置
のアドレスを、DA(送信先アドレス)には送信先情報
処理装置のアドレスを、TYPE(通信タイプ)にはU
Pが指定した通信タイプを、また、TCDにUPが指定
したTCDをそれぞれセットし(処理304)、さらに
、送信要求元UPのタスク番号よりタスク管理テ−ブル
108を参照してプログラム番号162を求め、さらに
それに基づいてプログラムバ−ジョン管理テ−ブル10
7の現バ−ジョン情報より送信要求元UPのバ−ジョン
番号を求めて、メッセ−ジヘッダ内VERにセットする
(処理305)。この処理により、送信元UPのバ−ジ
ョン番号を受信先情報処理装置に伝えることができる。
次に、通信タイプが”問合せ”か”応答”かをチェック
する(処理306)。問合せの場合は、送信要求元UP
のタスク番号をメッセ−ジヘッダ内INQ_TNにセッ
トする(処理307)。これは、応答メッセ−ジが返信
されてきた時、どのタスクの問合せに対する応答メッセ
−ジなのかを認識するために必要な情報である。
次に通信管理モジュ−ル内のLAN送信処理を起動し(
処理308)応答メッセ−ジを待つため、送信要求元U
Pタスク番号とタイムアウト時間をパラメ−タとしてW
AIT要求をOSに発行する(処理309)。このWA
IT状態はタイムアウト時にOSに起動されるか、或い
は、応答メッセ−ジ受信時、通信管理モジュ−ル内メッ
セ−ジ受信処理により起動されるまで続く。尚、タイム
アウトチェック処理310以降の処理(処理311〜処
理319)、及び、端末へのメッセ−ジ送信要求処理(
処理320〜処理322)については後で説明する。FIG. 13 shows the message transmission request processing module.
3 is a diagram showing the processing flow of the file (103 in FIG. 3). First, it is determined from the destination specified by the UP whether the transmission is to be sent to another information processing device via the LAN or to a terminal (process 301). 109), allocate a free buffer from (
Process 302), send a message from the specified area of UP.
copy the file to the buffer secured above (process 303),
ML (message length) is the length of the message including the header, SA (source address) is the address of the information processing device, and DA (destination address) is the destination information processing device. address, and TYPE (communication type) is U.
The communication type specified by P and the TCD specified by UP are set in the TCD (process 304), and the program number 162 is determined by referring to the task management table 108 from the task number of the transmission request source UP. Based on this, program version management table 10 is created.
The version number of the transmission request source UP is obtained from the current version information of No. 7 and set in the VER in the message header (process 305). Through this process, the version number of the source UP can be transmitted to the destination information processing device. Next, it is checked whether the communication type is "inquiry" or "response" (process 306). For inquiries, send request source UP
The task number is set in INQ_TN in the message header (process 307). This is information necessary to recognize which task inquiry the response message is for when a response message is returned. Next, start the LAN transmission process in the communication management module (
Process 308) To wait for a response message, the transmission request source U
W with P task number and timeout time as parameters
An AIT request is issued to the OS (process 309). This WA
The IT state continues until it is activated by the OS at time-out or by message reception processing within the communication management module when a response message is received. Note that the processes after the timeout check process 310 (processes 311 to 319) and the message transmission request process to the terminal (
Processes 320 to 322) will be explained later.
【0040】以上のメッセ−ジ送信要求処理モジュ−ル
によってLANに送出された問合せメッセ−ジは、送信
先情報処理装置のLAN制御装置に取り込まれ、送受信
バッファに転送されるとともに、通信管理モジュ−ルが
起動され、先に説明した図9のメッセ−ジ受信処理(処
理231、236、232、233、234、235)
によって、メッセ−ジヘッダ内TCDに応じてトランザ
クション受信キュ−に登録され、もし、受信待ちのUP
が存在すればそれが起動される。上記Prog1{11
}の問合せメッセ−ジも、情報処理装置22が取り込み
、通信管理モジュ−ル内メッセ−ジ受信処理によってT
CD=”端末問合せ”のトランザクション受信キュ−に
登録される。尚、この問合せメッセ−ジのヘッダ内VE
Rには、送信元Prog1{11}のバ−ジョン番号で
ある”11”がセットされている。The inquiry message sent to the LAN by the message transmission request processing module described above is taken into the LAN control device of the destination information processing device, transferred to the transmission/reception buffer, and sent to the communication management module. The message reception process (processes 231, 236, 232, 233, 234, 235) of FIG. 9 explained earlier is started.
is registered in the transaction reception queue according to the TCD in the message header, and if the UP
If it exists, it will be activated. The above Prog1{11
} inquiry message is also taken in by the information processing device 22 and sent to T by the message reception process within the communication management module.
It is registered in the transaction reception queue with CD="terminal inquiry". In addition, the VE in the header of this inquiry message
"11", which is the version number of the source Prog1{11}, is set in R.
【0041】さて、上記Prog1{11}からの問合
せメッセ−ジを受け取るProg2{10}は図14に
示す処理を実行しているものとする。即ち、初期起動さ
れると業務固有のイニシャル処理を行なった後(処理3
31)、TCDとして”端末問合せ”を、また、受信メ
ッセ−ジ格納エリアを指定して、メッセ−ジ受信要求処
理モジュ−ルにリンリする(処理332)。Now, it is assumed that Prog2 {10}, which receives the inquiry message from Prog1 {11}, is executing the process shown in FIG. In other words, after initial startup, initial processing specific to the business is performed (processing 3).
31) Specify "terminal inquiry" as the TCD and the received message storage area, and send the message to the message reception request processing module (process 332).
【0042】メッセ−ジ受信要求処理モジュ−ルでは、
上記図11で示した様に、UPが指定したTCDのトラ
ンザクション受信キュ−のチェック、タスク管理テ−ブ
ル内の入替え指示フラグと復旧指示フラグのチェック、
及び、回線種別のチェックを行なう(処理261、26
2、264、265、266)。Prog2{10}の
場合、入替え指示フラグ、及び、復旧指示フラグはセッ
トされておらず、かつ、LANからのメッセ−ジ受信な
ので、処理267のバ−ジョン整合性チェック処理に進
む。[0042] In the message reception request processing module,
As shown in FIG. 11 above, checking the transaction reception queue of the TCD specified by the UP, checking the replacement instruction flag and recovery instruction flag in the task management table,
Then, check the line type (processes 261 and 26).
2, 264, 265, 266). In the case of Prog2 {10}, the replacement instruction flag and the recovery instruction flag are not set and the message is received from the LAN, so the process proceeds to version consistency check processing 267.
【0043】バ−ジョン整合性チェックとは、受信した
メッセ−ジのヘッダにセットされているバ−ジョン番号
VER(図8内227)と、受信要求元UPのバ−ジョ
ン番号(Prog_VERとおく)の比較チェックであ
る。もしVERの方がProg_VERより大きい場合
は、当該メッセ−ジ送信元UPのバ−ジョンの方が、受
信要求元UPより新しいことを意味しており、よって、
受信側UPについても新バ−ジョンに入れ替える処理を
行なう必要がある。逆に、VERの方がProg_VE
Rより小さい場合は、当該メッセ−ジ送信元UPのバ−
ジョンの方が、受信要求元UPより旧いことを意味して
おり、よって、受信側UPを旧バ−ジョンに戻す復旧処
理を行なう必要がある。また、VERとProg_VE
Rが一致した場合は、入替え/復旧処理は不要であり、
前述の処理268、269、270を実行する。[0043] Version consistency check refers to checking the version number VER (227 in Figure 8) set in the header of the received message and the version number (prog_VER) of the receiving request source UP. ) is a comparison check. If VER is larger than Prog_VER, it means that the version of the UP that sent the message is newer than that of the UP that requested the message, and therefore,
It is also necessary to replace the receiving side UP with a new version. On the other hand, VER is Prog_VE
If it is smaller than R, the version of the message source UP is
This means that the version of the receiving UP is older than the receiving UP, and therefore it is necessary to perform restoration processing to return the receiving UP to the previous version. Also, VER and Prog_VE
If R matches, replacement/recovery processing is not necessary.
The aforementioned processes 268, 269, and 270 are executed.
【0044】さて本実施例の場合、Prog2{10}
のバ−ジョン(=10)の方が問合せメッセ−ジのVE
R(=11)より小さいので、入替え要ということにな
る。Now, in the case of this embodiment, Prog2{10}
The version of (=10) is the VE of the inquiry message.
Since it is smaller than R (=11), it is necessary to replace it.
【0045】新バ−ジョンへの入替え要の場合は、まず
新バ−ジョンが登録されているか否かをチェックする(
処理277)。新バ−ジョンが登録されていない場合は
、現バ−ジョンをそのまま新バ−ジョンにするというこ
とであり、旧バ−ジョンと現バ−ジョンについてプログ
ラムバ−ジョン管理テ−ブルのバ−ジョン番号(図4内
133、136)を+1し(処理279)、前述の処理
268に進んで、受信メッセ−ジをUPに引き渡す処理
を実行する。一方、Prog2{10}のように、新バ
−ジョンが登録されている場合は、入替え指示フラグが
セットされている場合と同様に、処理271〜276を
実行し、現バ−ジョンと新バ−ジョンの入替えを行なう
。[0045] If it is necessary to replace with a new version, first check whether the new version is registered (
Processing 277). If the new version is not registered, the current version will be changed to the new version. The system number (133, 136 in FIG. 4) is incremented by 1 (process 279), and the process proceeds to the above-mentioned process 268, where the process of passing the received message to the UP is executed. On the other hand, if a new version is registered, such as Prog2{10}, processes 271 to 276 are executed to compare the current version and the new version, in the same way as when the replacement instruction flag is set. - Replace John.
【0046】さて、上述の入替え処理により起動された
新バ−ジョンのProg2{11}は旧バ−ジョンと同
様、図14に示した処理を実行するが、Prog1{1
1}からの問合せメッセ−ジの解析方法、及び、デ−タ
検索方法や応答メッセ−ジのフォ−マットは、旧バ−ジ
ョンとは異なっているものとする。Now, the new version of Prog2{11} started by the above replacement process executes the process shown in FIG. 14 like the old version, but Prog1{1}
It is assumed that the method of analyzing the inquiry message from 1}, the method of searching for data, and the format of the response message are different from the previous version.
【0047】Prog2{11}は起動されると、処理
331を実行した後、問合せメッセ−ジを取り込むため
、メッセ−ジ受信要求処理モジュ−ルにリンクする(処
理332)。When Prog2 {11} is activated, it executes process 331 and then links to the message reception request processing module in order to take in the inquiry message (process 332).
【0048】メッセ−ジ受信要求処理モジュ−ルでは、
前述の図11の処理261、262、264、265、
266を実行した後、受信メッセ−ジのヘッダ部にセッ
トされているバ−ジョン番号と受信要求元のUPのバ−
ジョン番号間の整合性をチェックする(処理267)。
受信要求元のProg2{11}は既に新バ−ジョンに
なっており、プログラムのバ−ジョン番号(=11)と
メッセ−ジヘッダ内VER(=11)が一致するので処
理268に進んで、受信メッセ−ジをUPに引き渡す処
理を行なう(処理268〜270)。[0048] In the message reception request processing module,
Processes 261, 262, 264, 265 in FIG. 11 described above,
After executing H.266, the version number set in the header of the received message and the version of the UP that requested the reception are
The consistency between the version numbers is checked (process 267). Prog2 {11}, which is the source of the reception request, is already the new version, and the program version number (=11) and the VER (=11) in the message header match, so the process advances to process 268 and the reception is completed. The message is transferred to the UP (processes 268-270).
【0049】以上の処理により、新バ−ジョンに入替わ
ったProg1{11}(バ−ジョン番号=11)から
の問合せメッセ−ジが、やはり新バ−ジョンに入れ替わ
ったProg2{11}(バ−ジョン番号=11)に渡
されることになる。With the above processing, the inquiry message from Prog1 {11} (version number = 11), which has been replaced with a new version, is sent to Prog2 {11} (version number = 11), which has also been replaced with a new version. - version number=11).
【0050】Prog2{11}はメッセ−ジ受信要求
処理モジュ−ルから渡された問合せメッセ−ジに基づい
て、ファイル管理モジュ−ル106を介してディスク9
2からデ−タを検索し(処理333)、Prog1{1
1}との間で予め決めておいたフォ−マットで応答メッ
セ−ジを作成し(処理334)、DAとして問合せ元の
情報処理装置を、TCDとして”端末問合せ応答”を、
また、通信タイプとして”応答”をそれぞれ指定して、
送信要求処理モジュ−ルにリンクする(335)。ここ
で、応答メッセ−ジを送信する場合は、問合せメッセ−
ジのヘッダ部にセットされてきた問合せ元タスク番号I
NQ_TNも送信要求時に指定する。また、送信先情報
処理装置のアドレスは、問合せメッセ−ジのヘッダ部内
SA(送信元アドレス)より求めることができる。Prog2 {11} reads the disk 9 via the file management module 106 based on the inquiry message passed from the message reception request processing module.
2 (processing 333), and Prog1{1
1}, create a response message in a predetermined format (process 334), and send the inquiry source information processing device as the DA and the "terminal inquiry response" as the TCD.
Also, specify "response" as the communication type,
A link is made to the transmission request processing module (335). Here, if you want to send a response message, send an inquiry message.
Inquiry source task number I set in the header section of the page
NQ_TN is also specified at the time of transmission request. Further, the address of the destination information processing device can be obtained from the SA (source address) in the header of the inquiry message.
【0051】Prog2{11}よりリンクされたメッ
セ−ジ送信要求処理モジュ−ルでは、図13の処理30
1〜306が実行され、通信タイプが”応答”なので、
UPが送信要求時に指定した問合せ元タスク番号INQ
_TNを問合せメッセ−ジのヘッダにセットし(処理3
15)、やはり、UPに指定された送信先アドレス宛に
メッセ−ジを送信するため、通信管理モジュ−ルの送信
処理を起動し(処理316)、送信要求元UPにリタン
する。In the message transmission request processing module linked from Prog2{11}, processing 30 in FIG.
1 to 306 are executed and the communication type is "response", so
Inquiry source task number INQ specified by UP when requesting transmission
Set _TN in the header of the inquiry message (processing 3
15) Again, in order to send a message to the destination address specified by the UP, the communication management module starts sending processing (process 316) and returns to the sending request source UP.
【0052】Prog2{11}は応答メッセ−ジの送
信要求処理が終了すると、次の問合せを受け付けるため
、処理332に戻る。When Prog2 {11} completes the response message transmission request process, it returns to process 332 to accept the next inquiry.
【0053】Prog2{11}が送信した応答メッセ
−ジは、LAN41とLAN制御装置55を経由して情
報処理装置25が取り込み、図9に示した通信管理モジ
ュ−ルの処理を起動する。応答メッセ−ジの受信の場合
は、処理231、236の後、処理237に進んで、当
該応答メッセ−ジを待ってWAIT状態になっているU
Pの起動をOSに依頼する。起動すべきUPのタスク番
号は応答メッセ−ジのヘッダ部にセットされてきた問合
せ元タスク番号INQ_TNにより求めることができる
。The response message sent by Prog2 {11} is taken in by the information processing device 25 via the LAN 41 and the LAN control device 55, and starts the processing of the communication management module shown in FIG. In the case of receiving a response message, the process proceeds to process 237 after processes 231 and 236, and the U that is in the WAIT state waiting for the response message is
Request the OS to start P. The task number of the UP to be activated can be determined from the inquiry source task number INQ_TN set in the header of the response message.
【0054】さて、メッセ−ジ送信要求処理の中でWA
IT状態になっていたProg1{11}は(図13内
309)、上述の応答メッセ−ジに対する通信管理モジ
ュ−ル内受信処理にて起動される。Now, in the message sending request processing, the WA
Prog1{11}, which has been in the IT state (309 in FIG. 13), is activated in the reception process within the communication management module in response to the above-mentioned response message.
【0055】起動後は、起動要因がタイムアウトによる
ものか否かを調べる(処理310)。タイムアウトの場
合はエラ−リタンする(処理319)。また、起動要因
が応答メッセ−ジ受信の場合は、受信メッセ−ジが後述
する入替え失敗メッセ−ジか否かをチェックする(処理
311)。入替え失敗メッセ−ジでない場合は、応答メ
ッセ−ジをUPが問合せ要求時に指定したエリアにコピ
−し(処理312)、受信バッファを開放し(処理31
3)て、UPに正常リタンする(処理314)。After activation, it is checked whether the activation factor is due to a timeout (processing 310). In case of timeout, error return is performed (process 319). If the activation factor is the reception of a response message, it is checked whether the received message is a replacement failure message, which will be described later (process 311). If it is not a replacement failure message, the UP copies the response message to the area specified at the time of the inquiry request (processing 312), and releases the reception buffer (processing 31).
3) and returns normally to UP (processing 314).
【0056】さて、Prog1{11}はメッセ−ジ送
信要求処理モジュ−ルからのリタンコ−ドをチェックし
、正常に応答メッセ−ジを受信したか否かを調べる(図
10処理255)。もし正常ならばメッセ−ジ送信要求
処理モジュ−ルから渡された応答メッセ−ジを、端末表
示用に編集しなおし(処理256)、問合せ元の端末を
指定して、メッセ−ジ送信要求処理モジュ−ルにリンク
する(処理257)。一方、問合せ送信要求処理からの
リタンコ−ドがエラ−リタンの場合も、その旨を知らせ
るメッセ−ジを端末表示用に編集し(処理258)、問
合せ元の端末を指定してメッセ−ジ送信要求処理モジュ
−ルにリンクする(処理257)。Now, Prog1 {11} checks the return code from the message transmission request processing module to determine whether the response message has been normally received (process 255 in FIG. 10). If it is normal, the response message passed from the message transmission request processing module is edited again for display on the terminal (process 256), the terminal from which the inquiry is specified is specified, and the message transmission request processing is executed. Link to the module (process 257). On the other hand, if the return code from the inquiry sending request process is an error return, a message informing that fact is edited for display on the terminal (process 258), and the message is sent by specifying the terminal from which the inquiry is made. Link to the request processing module (process 257).
【0057】メッセ−ジ送信要求処理モジュ−ルでは、
送信先が端末回線なので図13の処理301から処理3
20のバッファ確保処理、及び、UPが指定した送信メ
ッセ−ジのバッファコピ−を行ない(処理321)、通
信管理モジュ−ル内の端末回線送信処理を起動して(処
理322)、送信要求元UPにリタンする。[0057] In the message transmission request processing module,
Since the destination is a terminal line, processes 301 to 3 in Figure 13
20, performs buffer copying of the transmission message specified by the UP (process 321), starts terminal line transmission processing in the communication management module (process 322), and sends the transmission request source. Return to UP.
【0058】端末への送信要求が終了するとProg1
{11}は、次の端末からの問合せを受け付けるべく、
処理252に戻る。[0058] When the transmission request to the terminal is completed, Prog1
{11} In order to accept inquiries from the next terminal,
Return to process 252.
【0059】以上で説明した処理により、複数の情報処
理装置に分散したプログラムを、処理の流れをさまたげ
ることなく、新しいバ−ジョンに入替えることができる
。By the processing described above, a program distributed among a plurality of information processing devices can be replaced with a new version without interrupting the flow of processing.
【0060】次に、異常対策として、新バ−ジョンの起
動に失敗した時、即ち、図11の処理272のチェック
した結果、起動失敗となった場合の復旧処理について説
明する。Next, as a countermeasure against an abnormality, a recovery process will be described when the new version fails to start, that is, when the check in process 272 in FIG. 11 shows that the start fails.
【0061】まず、新バ−ジョンの起動が入替え指示に
よるものかどうかを調べる(処理279)。入替え指示
による起動の場合、他のプログラムは現バ−ジョンのま
まである。そこで、入替え指示を行なったプログラムに
ついても、現バ−ジョンのままにしておけばよく、後述
する復旧処理等の回復処理は不要である。具体的には、
入替え対象プログラムの現バ−ジョンのタスク制御テ−
ブルについて、入替え指示フラグ(図5内163)をリ
セットして(処理284)、処理261に戻る。First, it is checked whether the activation of the new version is due to a replacement instruction (process 279). In the case of activation due to a replacement instruction, other programs remain at their current versions. Therefore, it is sufficient to leave the current version of the program for which the replacement instruction has been given, and there is no need for recovery processing such as the recovery processing described later. in particular,
The task control table of the current version of the program to be replaced.
For the bull, the replacement instruction flag (163 in FIG. 5) is reset (process 284), and the process returns to process 261.
【0062】一方、新バ−ジョンの起動の要因が、受信
メッセ−ジとメッセ−ジ受信要求元UPのバ−ジョン番
号の不一致による場合は、メッセ−ジ送信元UPは既に
新バ−ジョンに入れ替わっており、プログラム間でバ−
ジョンが不一致となる。この場合は、メッセ−ジ送信元
UPを元のバ−ジョンに復旧させる必要があり、その旨
を通知するための入替え失敗メッセ−ジを送信元情報処
理装置に返信する。具体的には、まず送信バッファを確
保し(処理280)、図15に示す入替え失敗メッセ−
ジを作成する(処理281)。図15で、PROG_V
ERとは、入替えが失敗したプログラムの現バ−ジョン
のバ−ジョン番号である。また、本メッセ−ジのヘッダ
については、TCDに”入替え失敗”を、INQ_TN
(問合せ元UPタスク番号)に問合せメッセ−ジのヘッ
ダにセットされてきたINQ_TNを、そして、TYP
E(通信タイプ)に、”応答”をそれぞれセットする。
次に受信メッセ−ジの格納されているバッファを解放し
た(処理282)後、作成した入替え失敗メッセ−ジを
問合せ元情報処理装置に返信するため、通信管理モジュ
−ルの送信処理を起動して(処理283)、処理261
に戻る。On the other hand, if the cause of starting the new version is a mismatch between the version numbers of the received message and the message reception request source UP, the message source UP has already updated the new version. It has been replaced by
John disagrees. In this case, it is necessary to restore the message source UP to its original version, and a replacement failure message is sent back to the source information processing device to notify that. Specifically, first, a transmission buffer is secured (process 280), and the exchange failure message shown in FIG.
(processing 281). In Figure 15, PROG_V
ER is the version number of the current version of the program whose replacement failed. Also, regarding the header of this message, set "replacement failure" to TCD and INQ_TN
(inquiry source UP task number), INQ_TN set in the header of the inquiry message, and TYP
Set “Response” to E (communication type). Next, after releasing the buffer in which the received message is stored (process 282), the communication management module starts the transmission process in order to return the created replacement failure message to the information processing device that made the inquiry. (process 283), process 261
Return to
【0063】以上の処理によれば、例えば、情報処理装
置22においてProg2の新バ−ジョンProg2{
11}の起動が失敗した場合、Prog1{11}がロ
−ディングされている情報処理装置25に対して、入替
え失敗メッセ−ジが送信されることになる。また、この
時の入替え失敗メッセ−ジ内のPROG_VERの値は
”10”になる。According to the above processing, for example, in the information processing device 22, a new version of Prog2
11} fails, a replacement failure message will be sent to the information processing device 25 into which Prog1{11} is loaded. Further, the value of PROG_VER in the replacement failure message at this time becomes "10".
【0064】さて、上記入替え失敗メッセ−ジが情報処
理装置に取り込まれると、通信管理モジュ−ルのメッセ
−ジ受信処理により、応答待ちUPが起動される(図9
内231、236、237)。Now, when the above rewrite failure message is taken into the information processing device, response waiting UP is activated by the message reception process of the communication management module (FIG. 9).
231, 236, 237).
【0065】起動されるUPは、問合せメッセ−ジ送信
要求処理モジュ−ルの中でWAIT状態になっいるが、
上記入替え失敗メッセ−ジの受信によりWAIT状態か
ら起動され、図13の処理310、311を実行する。
受信したメッセ−ジが入替え失敗メッセ−ジなので、旧
バ−ジョンへの復旧を行なうため、当該UPのタスク管
理テ−ブルをアクセスし、復旧指示フラグ(図5内の1
64)をセットし(処理317)、入替え失敗メッセ−
ジが格納されている受信バッファを解放して(処理31
8)、エラ−リタンする(処理319)。[0065] The activated UP is in the WAIT state in the inquiry message transmission request processing module, but
Upon reception of the replacement failure message, it is activated from the WAIT state and executes processes 310 and 311 in FIG. Since the received message is a replacement failure message, in order to restore to the old version, access the task management table of the relevant UP and set the restoration instruction flag (1 in Figure 5).
64) (processing 317) and sends a replacement failure message.
(Processing 31)
8), error return (process 319).
【0066】問合せメッセ−ジについてメッセ−ジ送信
要求処理モジュ−ルからエラ−をリタンされた場合は、
例えば図12で処理を示したProg1のように、端末
へのエラ−メッセ−ジを編集して(処理258)端末に
送信する(処理257)。ここで、入替え失敗メッセ−
ジを受け取ったときは、指示フラグをセットするのみで
、その時点ですぐに旧バ−ジョンプログラムに復旧する
のではない。実際に復旧するのは、次の端末からの問合
せを受けた時である。例えば、Prog1{11}がT
CDとして”端末メッセ−ジ”を指定してメッセ−ジ受
信要求処理モジュ−ルにリンクした後に、端末84から
問合せメッセ−ジを情報処理措置25が端末回線制御装
置35を経由して受信したとする。このとき、通信管理
モジュ−ル内メッセ−ジ受信処理により上記受信待ちの
Prog1{11}が起動され、図11のメッセ−ジ受
信要求処理内の処理261、262、264、が実行さ
れた後、上記復旧指示フラグがチェックされる(処理2
65)。チェックの結果、復旧指示フラグがセットされ
ていると図11−bの旧バ−ジョン復旧処理が実行され
る。即ち、プログラム管理テ−ブルにアクセスし、旧バ
−ジョンのタスク番号を調べてそれを起動する(処理2
91)。次に、タスク管理テ−ブルの復旧指示フラグを
リセットし(処理292)、プログラム管理テ−ブルに
ついて、新バ−ジョンの登録フラグ、バ−ジョン番号、
及び、タスク番号(図4内138、139、140)を
、現バ−ジョンの登録フラグ、バ−ジョン番号、及び、
タスク番号(図4内135、136、137)で書きか
え、現バ−ジョンの登録フラグ、バ−ジョン番号、及び
、タスク番号(図4内135、136、137)を、旧
バ−ジョンの登録フラグ、バ−ジョン番号、及び、タス
ク番号(図4内132、133、134)で書きかえた
後、旧バ−ジョン情報をクリヤして(処理293)現在
実行中のプログラムの終了処理を行なう(処理294)
。[0066] If the message sending request processing module returns an error regarding the inquiry message,
For example, as in Prog1 whose processing is shown in FIG. 12, an error message sent to the terminal is edited (processing 258) and sent to the terminal (processing 257). Here, the replacement failure message
When receiving the program, it only sets the instruction flag, and does not immediately restore the old version of the program at that point. The actual recovery occurs when an inquiry from the next terminal is received. For example, Prog1{11} is T
After specifying "terminal message" as a CD and linking to the message reception request processing module, the information processing device 25 receives an inquiry message from the terminal 84 via the terminal line control device 35. shall be. At this time, the message reception process in the communication management module activates the above-mentioned reception waiting Prog1 {11}, and after processes 261, 262, and 264 in the message reception request process of FIG. 11 are executed. , the above recovery instruction flag is checked (processing 2
65). As a result of the check, if the restoration instruction flag is set, the old version restoration process shown in FIG. 11-b is executed. That is, access the program management table, check the task number of the old version, and start it (processing 2).
91). Next, the recovery instruction flag in the task management table is reset (process 292), and the new version registration flag, version number,
And the task number (138, 139, 140 in FIG. 4), the registration flag of the current version, the version number, and
Rewrite the current version's registration flag, version number, and task number (135, 136, 137 in Figure 4) with the old version's task number (135, 136, 137 in Figure 4). After rewriting the registration flag, version number, and task number (132, 133, and 134 in Figure 4), the old version information is cleared (process 293) and the termination process of the currently running program is executed. Perform (process 294)
.
【0067】以上の処理により、Prog2{11}の
新バ−ジョンへの入替えが失敗しても、Prog1が新
バ−ジョンから旧バ−ジョンに復旧されるため、両プロ
グラム間でのバ−ジョンの整合性は保たれることになる
。With the above processing, even if replacing Prog2{11} with the new version fails, Prog1 will be restored from the new version to the old version, so the version change between both programs will be maintained. John's integrity will be preserved.
【0068】最後に、入替えは成功したが、その後すぐ
に新バ−ジョンプログラムに障害が発生した場合を考る
。この場合、正しく動作していた旧バ−ジョンに戻すと
いう対策が必要になってくる。Finally, consider the case where the replacement is successful, but a failure occurs in the new version program immediately thereafter. In this case, it becomes necessary to take measures such as reverting to the previous version that was working correctly.
【0069】例えば、Prog1{10}とProg2
{10}が新バ−ジョンになった後、Prog1{11
}、或いは、Prog2{10}のいずれかで、バグが
発見され、両プログラムとも旧バ−ジョンに戻さなけれ
ばならなくなったとする。この場合は、Prog1{1
1}の方をまず旧バ−ジョンに復旧させる。そのため、
情報処理装置25のProg1{11}について、コン
ソ−ルより復旧指示、及び、プログラム番号を指定して
、上記入替え/復旧指示処理モジュ−ルを起動する。入
替え/復旧指示処理モジュ−ルは起動されると、指定さ
れたプログラム番号に基づき、プログラムバ−ジョン管
理テ−ブルをアクセスし、旧バ−ジョンのタスク番号(
図4内134)を求め、さらにタスク番号に対応するて
タスク管理テ−ブルのエントリをアクセスして、その復
旧指示フラグをセットする(図7処理215)。Pro
g1{11}が旧バ−ジョンProg1{10}に復旧
するのは、上述の入替えと同様、端末からのメッセ−ジ
に対する受信要求処理の中である。即ち、図11のメッ
セ−ジ受信要求処理中モジュ−ルの処理265において
、上記復旧指示フラグをチェックし、もしフラグがセッ
トされていれば、図12の処理291〜294を実行し
、Prog1{11}は旧バ−ジョンに戻る。For example, Prog1{10} and Prog2
After {10} becomes the new version, Prog1{11
} or Prog2{10}, and it is assumed that a bug is discovered in either program, and both programs have to be returned to their previous versions. In this case, Prog1{1
1} first, restore it to the old version. Therefore,
Regarding Prog1 {11} of the information processing device 25, a recovery instruction and a program number are specified from the console, and the above replacement/recovery instruction processing module is activated. When the replacement/recovery instruction processing module is started, it accesses the program version management table based on the specified program number and retrieves the task number (
134 in FIG. 4), accesses the entry in the task management table corresponding to the task number, and sets its recovery instruction flag (process 215 in FIG. 7). Pro
Similar to the above-mentioned replacement, g1{11} is restored to the old version Prog1{10} during the reception request process for a message from the terminal. That is, in process 265 of the message reception request processing module in FIG. 11, the recovery instruction flag is checked, and if the flag is set, processes 291 to 294 in FIG. 11} returns to the old version.
【0070】次に、旧バ−ジョンに戻ったProg1{
10}は、新バ−ジョンのProg2{11}に対して
問合せメッセ−ジを送信し応答を待つ。このとき、問合
せメッセ−ジのヘッダ内バ−ジョン番号VERには、復
旧後のバ−ジョン番号(=10)がセットされている。
この問合せメッセ−ジに対してメッセ−ジ受信要求処理
モジュ−ルでは、処理267のバ−ジョン整合性チェッ
クによって、受信メッセ−ジの番号の方がプログラムの
バ−ジョン番号より小さいことを検知する。その結果、
図11−b処理291〜294の旧バ−ジョン起動処理
が実行され、Prog2{11}もProg1{10}
と同じバ−ジョンのProg2{10}に戻り、両者の
バ−ジョン番号を一致化することができる。[0070] Next, Prog1 that returned to the old version
10} sends an inquiry message to the new version of Prog2 {11} and waits for a response. At this time, the version number VER after restoration (=10) is set in the version number VER in the header of the inquiry message. In response to this inquiry message, the message reception request processing module performs a version consistency check in process 267 and detects that the number of the received message is smaller than the version number of the program. do. the result,
The old version startup process of processes 291 to 294 in FIG. 11-b is executed, and Prog2{11} and Prog1{10}
It is possible to return to the same version of Prog2{10} and match the version numbers of both.
【0071】[0071]
【発明の効果】本発明によれば、オンライン中の業務処
理を止めることなく、複数の情報処理装置に分散した複
数のプログラムの入替えが実現でき、しかも処理の連続
性を保証することができる。よってプログラムのバ−ジ
ョンアップが頻繁に発生するシステムでも、従来に比べ
てシステムの稼働率を向上でき、また、エンドユ−ザへ
のサ−ビスの質も向上できる。According to the present invention, a plurality of programs distributed in a plurality of information processing devices can be replaced without stopping online business processing, and the continuity of processing can be guaranteed. Therefore, even in a system where program updates occur frequently, the operating rate of the system can be improved compared to the conventional system, and the quality of service to end users can also be improved.
【0072】さらに、本発明では、入替え指示をメッセ
−ジにセットして他プログラムに伝えるのではなく、メ
ッセ−ジに常にセットされるバ−ジョン番号に基づいて
、受信側で入替えの要否を判断する。このため、入替え
時にプログラム間の送受信メッセ−ジが消失したとして
も、次のメッセ−ジを受信したときに、入替えが実現さ
れる。また、通信網の障害により、メッセ−ジが重複し
て転送されたとしても、入替え指示をメッセ−ジにセッ
トする場合のように、入替えが複数回行われてしまうこ
ともない。よって、通信網の障害に強い、より高信頼な
プログラムの入替えを実現することができる。Furthermore, in the present invention, instead of setting a replacement instruction in a message and transmitting it to other programs, the receiving side determines whether or not replacement is necessary based on the version number that is always set in the message. to judge. Therefore, even if the messages sent and received between programs are lost at the time of replacement, the replacement will be realized when the next message is received. Furthermore, even if messages are transferred redundantly due to a failure in the communication network, the replacement will not be performed multiple times, unlike when a replacement instruction is set in a message. Therefore, it is possible to realize more reliable program replacement that is resistant to communication network failures.
【図1】本発明の概要を示す図[Figure 1] Diagram showing an overview of the present invention
【図2】本発明の適用に好適な分散処理システムの構成
図[Figure 2] Configuration diagram of a distributed processing system suitable for applying the present invention
【図3】情報処理装置内のソフト構成図[Figure 3] Software configuration diagram within the information processing device
【図4】プログ
ラムバ−ジョン管理テ−ブルの構成図[Figure 4] Configuration diagram of program version management table
【図5】タスク管
理テ−ブルの構成図[Figure 5] Configuration diagram of task management table
【図6】プログラム登録処理モジュ−ルのフロ−チャ−
ト[Figure 6] Flowchart of program registration processing module
to
【図7】入替え/復旧処理モジュ−ルのフロ−チャ−ト
[Figure 7] Flowchart of replacement/recovery processing module
【図8】プログラム間で送受信するメッセ−ジのフォ−
マット[Figure 8] Format of messages sent and received between programs
mat
【図9】通信管理モジュ−ル内メッセ−ジ受信処理のフ
ロ−チャ−ト[Figure 9] Flowchart of message reception processing within the communication management module
【図10】ユ−ザプログラムのフロ−チャ−ト[Figure 10] Flowchart of user program
【図11
】メッセ−ジ受信要求処理モジュ−ルのフロ−チャ−ト[Figure 11
] Flowchart of message reception request processing module
【図12】メッセージ受信要求処理モジュールのフロー
チャート[Figure 12] Flowchart of message reception request processing module
【図13】メッセ−ジ送信要求処理モジュ−ルのフロ−
チャ−ト[Figure 13] Flow of message transmission request processing module
chart
【図14】ユ−ザプログラムのフロ−チャ−ト[Figure 14] Flowchart of user program
【図15
】入替え失敗メッセ−ジのフォ−マット[Figure 15
] Format of replacement failure message
【図16】従来
のプログラム入替え方法の問題点[Figure 16] Problems with the conventional program replacement method
Prog1・・・ユ−ザプログラム1
Prog2・・・ユ−ザプログラム2
ML・・・メッセ−ジ長
SA・・・送信元アドレス
DA・・・送信先アドレス
TYPE・・・通信タイプ
INQ_TN・・・問合せ元タスク番号TCD・・・ト
ランザクションコ−ド
VER・・・バ−ジョン番号
DATA・・・メッセ−ジ本体Prog1...User program 1 Prog2...User program 2 ML...Message length SA...Source address DA...Destination address TYPE...Communication type INQ_TN... Inquiry source task number TCD...Transaction code VER...Version number DATA...Message body
Claims (5)
に接続され、各情報処理装置内にロ−ディングされた複
数のプログラムが通信媒体を介してメッセ−ジを送受し
ながら互いに連携して処理を進める分散処理システムに
おいて、上記情報処理装置が、オンライン中のプログラ
ムの新バ−ジョンを情報処理装置にロ−ディングする手
段と、情報処理装置ごとに、プログラムのバ−ジョン番
号を管理記憶する手段と、オンライン中のプログラムの
一つを上記ロ−ディング済の新バ−ジョンのプログラム
に入れ替える手段とを有し、各情報処理装置が、オンラ
イン中のプログラムの出力メッセ−ジに、当該プログラ
ムのバ−ジョン番号を付加して通信網に送信し、通信網
からメッセ−ジを受信したとき、上記メッセ−ジに付加
されたバ−ジョン番号と、該メッセ−ジを受信するプロ
グラムのバ−ジョン番号を比較して、入替えの要否を判
定し、入替え要の場合は、当該受信プログラムを上記入
替え手段により新バ−ジョンに入れ替え、上記受信メッ
セ−ジを上記新バ−ジョンプログラムが受信し処理する
ようにしたことを特徴とするオンライン分散プログラム
入替え方法。Claim 1: One or more information processing devices are connected to each other via a communication network, and a plurality of programs loaded in each information processing device cooperate with each other while sending and receiving messages via a communication medium. In a distributed processing system that proceeds with processing, the information processing device has a means for loading a new version of a program that is online into the information processing device, and a method for assigning a version number of the program to each information processing device. It has means for managing and storing, and means for replacing one of the online programs with the new version of the loaded program, and each information processing device receives the output message of the online program. , adds the version number of the program and sends it to the communication network, and when receiving a message from the communication network, receives the version number added to the message and the message. The version numbers of the programs are compared to determine whether replacement is necessary. If replacement is necessary, the receiving program is replaced with the new version by the replacement means, and the received message is transferred to the new version. 1. An online distributed program replacement method, characterized in that a John program receives and processes the information.
ラム入替え方法において、メッセ−ジに付加されたバ−
ジョン番号が、該メッセ−ジを受信するプログラムのバ
−ジョン番号より大きい場合に、新バ−ジョンへの入替
え要と判定することを特徴とするオンライン分散プログ
ラム入替え方法。Claim 2: In the online distributed program replacement method according to claim 1, a bar added to a message is provided.
1. An online distributed program replacement method, characterized in that, if the version number is greater than the version number of the program that receives the message, it is determined that replacement with a new version is necessary.
ラム入替え方法において、複数プログラムのうち、バ−
ジョンアップが不要なプログラムについては、新バ−ジ
ョンのロ−ディングを行なわないでおき、メッセ−ジに
付加されたバ−ジョン番号が、該入替え不要なプログラ
ムのバ−ジョン番号に一致しない場合は、該入替え不要
なプログラムのバ−ジョン番号をメッセ−ジに付加され
たバ−ジョン番号に合わせることを特徴とするオンライ
ン分散プログラム入替え方法。[Claim 3] In the online distributed program replacement method according to claim 1, when one of the plurality of programs is
For programs that do not need to be updated, do not load the new version, and if the version number added to the message does not match the version number of the program that does not need to be replaced. An online distributed program replacement method is characterized in that the version number of the program that does not require replacement is matched with the version number added to the message.
ラム入替え方法において、新バ−ジョン入替え後も、旧
バ−ジョンのプログラムをそのままロ−ディングしてお
き、メッセ−ジに付加されたバ−ジョン番号と、該メッ
セ−ジを受信するプログラムのバ−ジョン番号の比較に
よる新バ−ジョンへの入替えが失敗した場合は、入替え
失敗メッセ−ジを作成して、該メッセ−ジ送信元プログ
ラムの情報処理装置宛に返信し、入替え失敗メッセ−ジ
を受信したら、該メッセ−ジ送信元プログラムを、旧バ
−ジョンのプログラムに復旧することを特徴とするオン
ライン分散プログラム入替え方法。4. In the online distributed program replacement method according to claim 1, even after replacing the new version, the old version of the program is loaded as is, and the version added to the message is not changed. If the replacement to the new version fails by comparing the version number of the program that receives the message, a replacement failure message is created and the program that sends the message 1. An online distributed program replacement method, characterized in that, upon receiving a replacement failure message, a message sending source program is restored to an old version of the program.
ラム入替え方法において、新バ−ジョン入替え後も、旧
バ−ジョンのプログラムをそのままロ−ディングしてお
き、メッセ−ジに付加されたバ−ジョン番号が、該メッ
セ−ジを受信するプログラムのバ−ジョン番号より小さ
い場合に、旧バ−ジョンへの復旧要と判定し、かつ、該
プログラムを旧バ−ジョンに復旧することを特徴とする
オンライン分散プログラム入替え方法。5. In the online distributed program replacement method according to claim 1, the old version of the program is loaded as is even after the new version is replaced, and the version added to the message is not changed. If the version number is smaller than the version number of the program that receives the message, it is determined that restoration to the old version is necessary, and the program is restored to the old version. How to replace online distributed programs.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02400807A JP3140064B2 (en) | 1990-12-07 | 1990-12-07 | How to replace online distributed programs |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP02400807A JP3140064B2 (en) | 1990-12-07 | 1990-12-07 | How to replace online distributed programs |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH04213148A true JPH04213148A (en) | 1992-08-04 |
JP3140064B2 JP3140064B2 (en) | 2001-03-05 |
Family
ID=18510686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP02400807A Expired - Lifetime JP3140064B2 (en) | 1990-12-07 | 1990-12-07 | How to replace online distributed programs |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3140064B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6377977B1 (en) | 1998-04-28 | 2002-04-23 | Nec Corporation | Method for loading application program and opening files in host terminals before collaborating on a joint project |
JP2016503214A (en) * | 2013-01-15 | 2016-02-01 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | Dynamic firmware update |
-
1990
- 1990-12-07 JP JP02400807A patent/JP3140064B2/en not_active Expired - Lifetime
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6377977B1 (en) | 1998-04-28 | 2002-04-23 | Nec Corporation | Method for loading application program and opening files in host terminals before collaborating on a joint project |
JP2016503214A (en) * | 2013-01-15 | 2016-02-01 | ヒューレット−パッカード デベロップメント カンパニー エル.ピー.Hewlett‐Packard Development Company, L.P. | Dynamic firmware update |
US10101988B2 (en) | 2013-01-15 | 2018-10-16 | Hewlett Packard Enterprise Development Lp | Dynamic firmware updating |
Also Published As
Publication number | Publication date |
---|---|
JP3140064B2 (en) | 2001-03-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8396830B2 (en) | Data control method for duplicating data between computer systems | |
US6868442B1 (en) | Methods and apparatus for processing administrative requests of a distributed network application executing in a clustered computing environment | |
JP2894676B2 (en) | Asynchronous remote copy system and asynchronous remote copy method | |
US6539462B1 (en) | Remote data copy using a prospective suspend command | |
US5247664A (en) | Fault-tolerant distributed database system and method for the management of correctable subtransaction faults by the global transaction source node | |
US7428657B2 (en) | Method for rolling back from snapshot with log | |
EP1179770B1 (en) | File system | |
US6907543B2 (en) | Data storage system | |
US7809887B2 (en) | Computer system and control method for the computer system | |
US5121486A (en) | Network control system for dynamically switching a logical connection between an identified terminal device and an indicated processing unit | |
EP0950955B1 (en) | Method and apparatus for correct and complete transactions in a fault tolerant distributed database system | |
US6557025B1 (en) | Method and apparatus that improves the technique by which a plurality of agents process information distributed over a network through by way of a contract net protocol | |
US20090216976A1 (en) | Computer system allowing any computer to copy any storage area within a storage system | |
JP2002522845A (en) | Fault tolerant computer system | |
US7634601B1 (en) | Method and apparatus for providing continuous communications between computers | |
US6427213B1 (en) | Apparatus, method and system for file synchronization for a fault tolerate network | |
JPH04213148A (en) | On-line distributed program exchanging system | |
JP2002373084A (en) | Method for both exchanging states and detecting failure of duplex system | |
JPH04213126A (en) | Software test system | |
US20020184243A1 (en) | Base host-switching database-management system | |
JP2002099510A (en) | Plural transactions processing system | |
KR100509946B1 (en) | Method for controlling and maintaining states of dual DBMS's | |
JPH06119224A (en) | On-line system consisting of host computer and work station both of which have data base | |
Swanson et al. | MVS/ESA coupled-systems considerations | |
JP2001175492A (en) | Job re-executing device in distributed system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20071215 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081215 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081215 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20091215 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101215 Year of fee payment: 10 |
|
EXPY | Cancellation because of completion of term |