JPH0997203A - Distributed processing system - Google Patents

Distributed processing system

Info

Publication number
JPH0997203A
JPH0997203A JP7253076A JP25307695A JPH0997203A JP H0997203 A JPH0997203 A JP H0997203A JP 7253076 A JP7253076 A JP 7253076A JP 25307695 A JP25307695 A JP 25307695A JP H0997203 A JPH0997203 A JP H0997203A
Authority
JP
Japan
Prior art keywords
job
program
job execution
execution
file
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
JP7253076A
Other languages
Japanese (ja)
Other versions
JP3795107B2 (en
Inventor
Soichi Yamamoto
本 宗 一 山
Ayumi Ueno
野 歩 上
Yoshito Muto
藤 義 人 武
Nobukatsu Yoshida
田 信 克 吉
Yoichi Inada
田 陽 一 稲
Masanori Yamawaki
脇 昌 則 山
Miho Fujishima
島 美 保 藤
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.)
Nomura Research Institute Ltd
Original Assignee
Nomura Research Institute 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 Nomura Research Institute Ltd filed Critical Nomura Research Institute Ltd
Priority to JP25307695A priority Critical patent/JP3795107B2/en
Publication of JPH0997203A publication Critical patent/JPH0997203A/en
Application granted granted Critical
Publication of JP3795107B2 publication Critical patent/JP3795107B2/en
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Multi Processors (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a distributed processing system with which the descriptions of programs by systematically unified logical file titles are permitted and a uniform job execution history can be outputted. SOLUTION: This system is provided with a job managing server 3 for managing entire distributed processing and job executing servers 4a...4n for executing the jobs of programs and the programs to be distributedly processed are described by processing programs, the execution order of processing programs and logical title files. Then, the job managing server 3 is provided with a node table 5 recording the names or the like of job executing servers, a job execution history file 6 and a job execution managing means 7 for managing the execution of jobs, and the job executing servers 4a∼4n are provided with logical/physical resource converting tables 8a...8n for converting the logical title files into physical resource files in reading and job executing means 9a...9n for executing jobs.

Description

【発明の詳細な説明】Detailed Description of the Invention

【0001】[0001]

【発明の属する技術分野】本発明は、複数のコンピュー
タを接続してプログラムを分散処理する分散処理システ
ムに係り、特に処理すべきプログラムについて、実際に
接続されているコンピュータの物理的な記憶装置名等を
意識せずに、体系的に統一した論理ファイル名による記
述を許し、かつ、プログラムの処理結果について、ジョ
ブ実行履歴を出力可能な分散処理システムに関する。
BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a distributed processing system in which a plurality of computers are connected to process a program in a distributed manner, and in particular, for a program to be processed, a physical storage device name of the computer actually connected. The present invention relates to a distributed processing system that allows description by systematically unified logical file names without being conscious of the above, and can output a job execution history of a processing result of a program.

【0002】[0002]

【従来の技術】従来、大きなプログラムの処理は、メイ
ンフレームと呼ばれる大型コンピュータによって統一的
に処理していた。しかし、システムの柔軟性、経済性、
システムの信頼性等の要求から、最近ではミニコンピュ
ータやワークステーションやパーソナルコンピュータ等
を通信回線によって接続し、プログラムを分散処理する
ことによって、大型コンピュータと同等の処理を行おう
とする要求が高まっていた。
2. Description of the Related Art Conventionally, processing of large programs has been carried out uniformly by a large computer called a mainframe. But system flexibility, economy,
Due to demands for system reliability, there has recently been a growing demand for processing equivalent to that of large computers by connecting minicomputers, workstations, personal computers, etc. via communication lines and distributing the processing of programs. .

【0003】この要求に応えて最近では、種々の分散型
オペレーティングシステム(分散型OSという)が提案
されている。これら分散型OSによれば、統一した文法
でプログラムを記述でき、かつ、他のコンピュータ内の
ファイルにアクセスできるようになった。この分散型O
Sによって、大型のプログラムを複数のコンピュータに
よって分散処理することが技術的に可能になった。この
ような分散型OSとしては、たとえばUNIXがある。
In response to this demand, various distributed operating systems (referred to as distributed OS) have recently been proposed. With these distributed OSs, a program can be written with a unified grammar and files in other computers can be accessed. This distributed O
S makes it possible technically to perform a distributed processing of a large program by a plurality of computers. UNIX is an example of such a distributed OS.

【0004】図7は、従来の分散型OSによってプログ
ラムを分散処理する場合のハードウェアのシステム構成
を示している。
FIG. 7 shows a hardware system configuration in the case of distributed processing of a program by a conventional distributed OS.

【0005】図7に示すように、従来の分散処理システ
ム11は、複数のコンピュータ12a,…,12nを通
信回線13によって接続したものからなる。
As shown in FIG. 7, a conventional distributed processing system 11 comprises a plurality of computers 12a, ..., 12n connected by a communication line 13.

【0006】各コンピュータ12a,…,12nは、そ
れぞれ異なる物理資源の構成、たとえば、データファイ
ルを格納する記憶装置等を有しているが、同様のジョブ
実行手段14a,…,14nによってプログラムを処理
する点で共通し、互いに並列的である。
Each of the computers 12a, ..., 12n has a different physical resource configuration, for example, a storage device for storing a data file, and the like, but the same job executing means 14a ,. They are common in that they are parallel to each other.

【0007】上記構成の分散処理システム11で処理す
るプログラム15は、物理資源・環境に基づいて記述さ
れなければならない。すなわち、プログラム15は、ジ
ョブ(プログラム中の一連の処理)およびコンピュータ
12a,…,12nの実行順序を指定し、コンピュータ
12a,…,12nのそれぞれの具体的な記憶装置名、
ディレクトリー名を指定して入出力ファイルを記述して
いなければならない。
The program 15 processed by the distributed processing system 11 having the above configuration must be described based on the physical resources and environment. That is, the program 15 specifies the job (a series of processes in the program) and the execution order of the computers 12a, ..., 12n, and the specific storage device names of the computers 12a ,.
The I / O file must be described by specifying the directory name.

【0008】図7の例では、矢印に示すように、プログ
ラム15は、最初にコンピュータ12aで処理され、次
にその処理結果がコンピュータ12bに転送されて処理
され、さらに、コンピュータ12nで処理されて最終的
な処理結果がコンピュータ12aに返送される。
In the example of FIG. 7, as indicated by the arrow, the program 15 is first processed by the computer 12a, then the processing result is transferred to the computer 12b and processed, and further processed by the computer 12n. The final processing result is returned to the computer 12a.

【0009】[0009]

【発明が解決しようとする課題】しかしながら、上記従
来の分散処理システムでは、プログラムの記述のための
作業が煩雑であり、かつ、システム構成の拡張や変更に
柔軟に対応するのが困難であった。
However, in the above-mentioned conventional distributed processing system, the work for writing the program is complicated, and it is difficult to flexibly deal with the expansion and modification of the system configuration. .

【0010】すなわち、上記分散型OSによるプログラ
ムの記述は、統一した文法によって記述できるものの、
プログラム作成者は、システムを構成する各コンピュー
タの物理的な装置名を念頭に置きながら、データの所在
や、エラー発生時の処理等を、それらの物理的な装置に
よって明示的に記述しなければならなかった。このよう
に、プログラム中の入出力ファイルについてその物理的
な所在を一々記述するのは、プログラム作成者にとって
大きな負担となっていた。特に、大規模のシステムにお
いては、前述したプログラム作成者の負担が著しく増大
した。
That is, although the description of the program by the distributed OS can be described by a unified grammar,
The program writer must explicitly describe the location of data, the processing at the time of error occurrence, etc. by those physical devices while keeping in mind the physical device name of each computer that configures the system. did not become. As described above, describing the physical location of each input / output file in a program is a heavy burden on the program creator. In particular, in a large-scale system, the burden on the program creator mentioned above has increased significantly.

【0011】また、このようにして作成したプログラム
は、固有のシステム構成にのみ有効であり、異なる構成
の分散処理システムに使用することができなかった。し
たがって、このような分散処理システムでは、システム
を構成するコンピュータを追加、変更する場合、あるい
は各コンピュータの装置構成を変更する場合、再度プロ
グラムの内容を見直さなければならなかった。これで
は、分散処理システムの長所である柔軟性を十分に活か
すことはできなかった。
Further, the program created in this way is effective only for a unique system configuration and cannot be used for a distributed processing system having a different configuration. Therefore, in such a distributed processing system, it is necessary to review the contents of the program again when adding or changing the computer that configures the system or when changing the device configuration of each computer. With this, the flexibility, which is an advantage of the distributed processing system, could not be fully utilized.

【0012】さらに、図7の例から明らかなように、従
来の分散処理システムでは、処理結果がシステムのコン
ピュータ間でやり取りされるので、たとえば、コンピュ
ータ12bの処理に支障があって、処理結果がコンピュ
ータ12nに転送されなかった場合、プログラムのどの
部分に支障が発生したかを特定することができなかっ
た。
Further, as is apparent from the example of FIG. 7, in the conventional distributed processing system, since the processing result is exchanged between the computers of the system, for example, the processing of the computer 12b is hindered and the processing result is If it was not transferred to the computer 12n, it was not possible to specify in which part of the program the trouble occurred.

【0013】また、たとえすべてのジョブが円満に処理
された場合でも、どのコンピュータがどの程度稼働した
かのデータを得ることができなかった。
Further, even if all jobs were processed satisfactorily, it was not possible to obtain data on which computer was operating and to what extent.

【0014】特に、複数のプログラムを同時並行的に処
理する場合、各コンピュータの負荷を考慮することがで
きなかった。
In particular, when processing a plurality of programs simultaneously in parallel, the load on each computer could not be taken into consideration.

【0015】そこで、本発明が解決しようとする課題
は、分散型システムにおいて、体系的に統一した論理フ
ァイル名によるプログラムの記述を許し、かつ、大型コ
ンピュータと同等以上の処理結果を得られる分散処理シ
ステムを提供することにある。
Therefore, the problem to be solved by the present invention is to allow a distributed system to allow a systematic unified description of a program by a logical file name and to obtain a processing result equivalent to or larger than that of a large computer. To provide a system.

【0016】[0016]

【課題を解決するための手段】上記課題を解決するため
に、本願請求項1に係る分散処理システムは、複数のコ
ンピュータを接続してプログラムを分散処理する分散処
理システムにおいて、接続されたコンピュータのうちの
一つを、プログラムの分散処理の全体を管理するジョブ
管理サーバとし、他のコンピュータを、それぞれ前記プ
ログラム中の一連の処理からなるジョブを実行するジョ
ブ実行サーバとし、前記分散処理すべきプログラムを、
それぞれ一定の処理を行う処理プログラムと、前記処理
プログラムの実行順序と、論理名による入出力ファイル
とからなる論理ジョブ記述によるプログラムとし、前記
ジョブ管理サーバに、ジョブ実行サーバの名前とマシン
アドレスを記録したノードテーブルと、各ジョブ実行サ
ーバによるジョブ実行結果を記録するジョブ実行履歴フ
ァイルと、ジョブの実行を各ジョブ実行サーバに分配指
示し、それらの処理結果を前記ジョブ実行履歴ファイル
に記録するジョブ実行管理手段と、を備え、前記ジョブ
実行サーバに、前記論理名による入出力ファイルを各ジ
ョブ実行サーバの物理資源上のファイルに読み換える論
理・物理資源変換テーブルと、ジョブを実行するジョブ
実行手段と、を備えたことを特徴とするものである。
In order to solve the above problems, a distributed processing system according to claim 1 of the present application is a distributed processing system in which a plurality of computers are connected to perform distributed processing of programs. One of them is a job management server that manages the entire distributed processing of the program, and another computer is a job execution server that executes a job consisting of a series of processing in the program, and the program to be distributed-processed. To
Each is a program with a logical job description consisting of a processing program for performing a certain process, an execution order of the processing programs, and an input / output file with a logical name, and the name and machine address of the job execution server are recorded in the job management server. Node table, job execution history file for recording job execution results by each job execution server, job execution for instructing distribution of job execution to each job execution server, and recording those processing results in the job execution history file Management means, and a logical / physical resource conversion table for reading the input / output file with the logical name into a file on the physical resource of each job execution server, and a job execution means for executing the job in the job execution server. , Is provided.

【0017】また、本願請求項2に係る分散処理システ
ムは、上記請求項1の分散処理システムにおいて、前記
ジョブ管理サーバは、前記ジョブ実行履歴ファイルを参
照し、各ジョブの実行開始時間および終了時間と、入出
力ファイルと、ジョブの実行結果と、を含むジョブリス
トを出力することを特徴とするものである。
Further, in the distributed processing system according to claim 2 of the present application, in the distributed processing system according to claim 1, the job management server refers to the job execution history file to execute execution start time and end time of each job. And a job list including the input / output file and the execution result of the job are output.

【0018】上記分散処理システムでは、ジョブ管理サ
ーバのジョブ実行管理手段が論理ジョブ記述したプログ
ラムを読み込み、プログラムを構成するジョブの実行を
各ジョブ実行サーバに分配・指示する。
In the above distributed processing system, the job execution management means of the job management server reads the program in which the logical job is described, and distributes and gives instructions to the job execution servers to execute the jobs constituting the program.

【0019】上記ジョブ管理サーバからジョブの実行を
指示されたジョブ実行サーバは、論理・物理資源変換テ
ーブルにより、プログラムに記述された論理名ファイル
をそのジョブ実行サーバが有している物理的な装置名上
のファイルに読み換えた後に、ジョブ実行手段によって
実際にジョブを実行する。
The job execution server instructed to execute the job by the job management server is a physical device in which the job execution server has the logical name file described in the program by the logical / physical resource conversion table. The job is actually executed by the job executing means after the file is read into the name file.

【0020】ジョブの実行を終了したジョブ実行サーバ
は、ジョブの実行結果をジョブ管理サーバに報告する。
このジョブ実行結果の報告を受けたジョブ管理サーバ
は、各ジョブの実行結果をジョブ実行履歴ファイルに登
録する。
The job execution server which has finished executing the job reports the execution result of the job to the job management server.
Upon receiving the report of the job execution result, the job management server registers the execution result of each job in the job execution history file.

【0021】さらに、ジョブ管理サーバは、要求によ
り、ジョブ実行履歴ファイルを参照し、ジョブの実行履
歴、すなわち、各ジョブの実行開始時間および終了時
間、入出力ファイル、各ジョブの実行結果等を含むジョ
ブリストを出力することができる。
Further, the job management server, upon request, refers to the job execution history file and includes the job execution history, that is, the execution start time and end time of each job, the input / output file, the execution result of each job, and the like. Job list can be output.

【0022】[0022]

【発明の実施の形態】以下に本発明の一実施形態による
分散処理システムについて願書に添付の図面を用いて説
明する。
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A distributed processing system according to an embodiment of the present invention will be described below with reference to the drawings attached to the application.

【0023】図1は、本分散処理システムのシステム構
成とその処理の流れを示している。図1に示すように、
本分散処理システム1は、複数のコンピュータが通信回
線2によって接続されたものからなり、接続されたコン
ピュータの1つを、プログラムの分散処理の全体を管理
するジョブ管理サーバ3とし、他のコンピュータを、そ
れぞれプログラム中の一連の処理からなるジョブを実行
するジョブ実行サーバ4a…4nとしたものである。
FIG. 1 shows the system configuration of this distributed processing system and the flow of its processing. As shown in FIG.
The distributed processing system 1 is composed of a plurality of computers connected by a communication line 2. One of the connected computers is a job management server 3 that manages the entire distributed processing of programs, and the other computers are , 4n which execute jobs each consisting of a series of processes in the program.

【0024】ジョブ管理サーバ3は、ジョブ実行サーバ
4a…4nの名前とマシンアドレスを記録したノードテ
ーブル5と、各ジョブ実行サーバによるジョブ実行結果
を記録するジョブ実行履歴ファイル6と、ジョブの実行
を各ジョブ実行サーバに分配指示し、管理し、それらの
処理結果をジョブ実行履歴ファイル6に記録するジョブ
実行管理手段7とを備えている。
The job management server 3 stores a node table 5 in which the names and machine addresses of the job execution servers 4a ... 4n are recorded, a job execution history file 6 in which job execution results by each job execution server are recorded, and job execution. Job execution management means 7 is provided for instructing and managing distribution to each job execution server and recording the processing results thereof in the job execution history file 6.

【0025】ジョブ実行サーバ4a…4nは、論理名に
よる入出力ファイルをそれぞれのジョブ実行サーバの物
理資源上のファイルに読み換える論理・物理資源変換テ
ーブル8a…8nと、実際にジョブを実行し、実行結果
をジョブ管理サーバ3に報告するジョブ実行手段9a…
9nとを備えている。
The job execution servers 4a ... 4n actually read the input / output files with the logical names into logical / physical resource conversion tables 8a ... 8n for reading the files on the physical resources of the respective job execution servers. Job execution means 9a for reporting the execution result to the job management server 3 ...
9n and.

【0026】この他に、本分散処理システム1では、ジ
ョブ管理サーバ3に分散処理すべきプログラムを供給す
るジョブ定義ファイル10を有している。このジョブ定
義ファイル10は、システム内部あるいは外部の所定の
記憶装置に記憶されており、一定の処理を行う処理プロ
グラム名と、それら処理プログラムの実行順序と、論理
名による入出力ファイルとによって記述した(この記述
方法を本明細書では論理ジョブ記述という)プログラム
P1 …Pn を多数格納している。
In addition to this, the distributed processing system 1 has a job definition file 10 for supplying a program to be distributed-processed to the job management server 3. The job definition file 10 is stored in a predetermined storage device inside or outside the system, and is described by a processing program name that performs a certain processing, an execution order of the processing programs, and an input / output file with a logical name. A large number of programs P1 ... Pn (this description method is referred to as a logical job description in this specification) are stored.

【0027】本分散処理システム1においては、上記論
理ジョブ記述されたプログラムP1…Pn が、ジョブ定
義ファイル10からジョブ管理サーバ3のジョブ実行管
理手段7へ送られ、ジョブ実行管理手段7は、プログラ
ムP1 …Pn の記述に従ってプログラムP1 …Pn を構
成するジョブ(プログラム中の一連の処理)を各ジョブ
実行サーバ4a…4nに分配してその実行を指示する。
In the distributed processing system 1, the programs P1 ... Pn described in the above logical job are sent from the job definition file 10 to the job execution management means 7 of the job management server 3, and the job execution management means 7 executes the program. Jobs (a series of processes in the program) that compose the programs P1 ... Pn according to the description of P1 ... Pn are distributed to the job execution servers 4a ... 4n, and their execution is instructed.

【0028】ジョブ実行サーバ4a…4nのジョブ実行
手段9a…9nは、論理・物理資源変換テーブル8a…
8nを参照してプログラム中の論理名ファイルをそれぞ
れの物理資源上のファイルに読み換え、ジョブを実行す
る。
4n of the job execution servers 4a ... 4n are connected to the logical / physical resource conversion tables 8a.
8n, the logical name file in the program is read into a file on each physical resource, and the job is executed.

【0029】ジョブの処理が終了すると、各ジョブ実行
サーバ4a…4nのジョブ実行手段9a…9nは、ジョ
ブの実行結果(本明細書では、ジョブ実行結果は、ジョ
ブが支障なく処理されたか否かの信号、ジョブの実行に
費やした時間、入出力ファイル等を指す)をジョブ管理
サーバ3のジョブ実行管理手段7に報告する。これを受
けて、ジョブ実行管理手段7は、各ジョブの実行結果を
ジョブ実行履歴ファイル6に登録する。ジョブの実行に
よって得られたデータ(これを本明細書では「ジョブ実
行結果」と区別して「処理データ」という)は、各ジョ
ブ実行サーバ4a…4nからジョブ管理サーバ3へ送ら
れ、図示しない出力手段を介して出力される。
When the job processing is completed, the job execution means 9a ... 9n of each job execution server 4a ... 4n execute the job execution result (in this specification, the job execution result is whether the job was processed without any trouble). Signal, the time spent executing the job, the input / output file, etc.) to the job execution management means 7 of the job management server 3. In response to this, the job execution management means 7 registers the execution result of each job in the job execution history file 6. The data obtained by executing the job (this is referred to as "processing data" in this specification in distinction from the "job execution result") is sent from each job execution server 4a ... 4n to the job management server 3 and output not shown. Output through the means.

【0030】次に、本分散処理システム1によって、分
散処理すべきプログラムP1 …Pnの記述が如何に簡略
化され、かつ、拡張・柔軟性を備えて大型のメインフレ
ームと同等の処理を実現するかをプログラムP1 …Pn
等の具体例を示して以下に説明する。
Next, the distributed processing system 1 simplifies the description of the programs P1 ... Pn to be distributed and realizes the same processing as a large-sized mainframe with expansion and flexibility. Or program P1 ... Pn
A specific example of the above will be described below.

【0031】図2は、本分散処理システム1に使用され
る論理ジョブ記述されたプログラムの一例と、その各セ
ンテンスについての説明を示している。図3は、図2の
プログラムの処理フローを概念的に示したフロー図であ
る。
FIG. 2 shows an example of a program described in the logical job used in the distributed processing system 1 and an explanation of each sentence. FIG. 3 is a flow diagram conceptually showing the processing flow of the program of FIG.

【0032】図2に示すように、この論理記述されたプ
ログラムは、a.jcl (1行目〜16行目)と、b.jcl
(17行目〜41行目)と、c.jcl (42行目〜50行
目)の3つのジョブについて記述している。各ジョブ
は、「/」によって区切られた「ステップ」という処理
単位の組合せからなる。
As shown in FIG. 2, this logically described program includes a.jcl (lines 1 to 16) and b.jcl.
The three jobs (line 17 to line 41) and c.jcl (line 42 to line 50) are described. Each job is composed of a combination of processing units called "steps" separated by "/".

【0033】今、「a.jcl 」というジョブについて注目
すると、最初にジョブ名(1行目)と、PGM(プログ
ラムの略)のロードモジュールの格納場所のサーチ順序
(2行目)と、ジョブの実行優先度(3行目)とについ
て記述している。
Now, paying attention to the job "a.jcl", first, the job name (first line), the search order of the storage location of the load module of PGM (abbreviation of program) (second line), and the job Execution priority (3rd line).

【0034】次に、ステップ(4行目〜10行目)の処
理について記述している。このステップの処理では、最
初にステップ名を記述し(5行目)、次に、一定の処理
を行う処理プログラム「pgm1」の実行を指示し(6行
目)、次に2行目サーチ順序の下位のプログラムの格納
場所を指示した後に(7行目)、入力するストレージフ
ァイル「SYS10 se.ial」と(8行目)、出力する一時フ
ァイル「SYS20 &ial」を指示している。ここで、「SYS1
0 」や「SYS20 」は、入力や出力ファイルを示す一般的
な取り決めであり、「se.ial」や「&ial」が各ファイル
の固有名称である。
Next, the processing of steps (4th to 10th lines) will be described. In the processing of this step, first describe the step name (5th line), then instruct execution of the processing program "pgm1" that performs certain processing (6th line), and then in the 2nd line search order. After instructing the storage location of the subordinate program (7th line), the input storage file "SYS10 se.ial" and (8th line) and the temporary file "SYS20 &ial" to be output are instructed. Where "SYS1
"0" and "SYS20" are general conventions for input and output files, and "se.ial" and "&ial" are unique names for each file.

【0035】上記ステップの意味は、ストレージファイ
ル「se.ial」を入力し、処理プログラム「pgm1」によっ
てストレージファイル「se.ial」を処理し、処理結果を
一時ファイル「&ial」に出力せよ、というものである
(図3参照)。
The meaning of the above steps is to input the storage file "se.ial", process the storage file "se.ial" by the processing program "pgm1", and output the processing result to the temporary file "&ial". (See FIG. 3).

【0036】次のステップ(10行目〜15行目)で
は、プログラム「pgm2」の実行を指示し(12行目)、
先に出力した一時ファイル「&ial」を入力し(13行
目)、プログラム「pgm2」によって一時ファイル「&ia
l」を処理した結果をシステム共通の固定ファイル「/fi
x/se.iam 」に書き込む(14行目)をことを指示して
いる。上記2つのステップによってジョブ「a.jcl 」の
処理は終了する。
In the next step (lines 10 to 15), the execution of the program "pgm2" is instructed (line 12),
Input the temporary file "&ial" that was output earlier (line 13), and use the program "pgm2" to save the temporary file "&ia".
The result of processing "l" is the fixed file "/ fi
x / se.iam ”(line 14). The processing of the job “a.jcl” is completed by the above two steps.

【0037】同様に、「b.jcl 」は、図3に理解容易に
示すように、固定ファイル「/fix/se.iam 」とストレー
ジファイル「se.ia2」を入力し、プログラム「pgm3」に
よって処理し、処理結果をデータごとに、メモリ上でプ
ログラム「pgm4」に受け渡し(これをパイプ機能とい
う)、プログラム「pgm4」によって処理し、処理結果を
一時ファイル「&ia3」に書き込む。次に、一時ファイル
「&ia3」と、固定ファイル「/fix/se.iam 」とを読み込
み、プログラム「pgm5」によって処理し、処理結果をス
トレージファイル「se.ia3」に書き込む。さらに、この
ストレージファイル「se.ia3」をノードBのストレージ
ファイル「se.ia3」に転送する。ここで、ノードBと
は、分散処理システムに接続されている特定のコンピュ
ータを示しており、実際的には特定のジョブ実行サーバ
の名称を記入する。
Similarly, "b.jcl" inputs the fixed file "/fix/se.iam" and the storage file "se.ia2" as shown in FIG. It processes and passes the processing result for each data to the program “pgm4” on memory (this is called pipe function), processes by the program “pgm4”, and writes the processing result to the temporary file “& ia3”. Next, the temporary file "&ia3" and the fixed file "/fix/se.iam" are read, processed by the program "pgm5", and the processing result is written to the storage file "se.ia3". Further, the storage file “se.ia3” is transferred to the storage file “se.ia3” of the node B. Here, the node B indicates a specific computer connected to the distributed processing system, and the name of a specific job execution server is actually entered.

【0038】以上でジョブ「b.jcl 」の処理は終了す
る。なお、上記ジョブ「a.jcl 」、「b.jcl 」は、プロ
グラムの最初に書かれているため、無条件にノードAに
よって処理されるが、次のジョブ「c.jcl 」からは、指
定されたノードBで実行される。
The processing of the job "b.jcl" is completed as described above. The above jobs "a.jcl" and "b.jcl" are unconditionally processed by the node A because they are written at the beginning of the program, but from the next job "c.jcl" the specified Executed in the node B.

【0039】ジョブ「c.jcl 」は、ストレージファイル
「se.ia3」を入力し、このファイルをプログラム「pgm
6」によって処理し、処理結果をストレージファイル「s
e.ia4」に書き込むことを指示している。
The job "c.jcl" inputs the storage file "se.ia3" and uses this file as the program "pgm."
6 ”and the processing result is stored in the storage file“ s
e.ia4 ”is instructed to be written.

【0040】上記プログラムの記述上の特徴について以
下に説明する。本分散処理システム1で処理するプログ
ラムは、「se.ia1」,…「se.ia4」(ストレージファイ
ル)、「&ia1」,…,「&ia3」(一時ファイル)、「#i
a2」(パイプファイル)のように、予め体系的に定めた
論理ファイル名を用いている。
The description features of the above program will be described below. The programs processed by the distributed processing system 1 are "se.ia1", ... "se.ia4" (storage file), "&ia1", ..., "&ia3" (temporary file), "#i".
A logical file name systematically determined in advance is used, such as "a2" (pipe file).

【0041】このことが、従来のプログラムの記述と大
きな差異をなす。すなわち、従来、上記入出力ファイ
ル、特に「一時ファイル」「パイプファイル」等は、プ
ログラム作成者が実際にジョブを実行するコンピュータ
(ここではノードAとノードB)の物理資源の構成を考
慮し、各コンピュータの特定の記憶装置名の特定のディ
レクトリー(ファイルの格納場所)名を具体的に明記し
なければならなかった。
This makes a big difference from the description of the conventional program. That is, conventionally, the above-mentioned input / output files, particularly “temporary file”, “pipe file”, etc., are considered in consideration of the physical resource configuration of the computer (here, node A and node B) where the program creator actually executes the job. A specific directory (file storage) name of a specific storage device name of each computer had to be specifically specified.

【0042】したがって、ファイルごとに各ジョブ実行
サーバごとに異なる記憶装置名やディレクトリー名を調
べなければならず、このことがプログラム作成上の大き
な負担となっていた。ノード名(ジョブ実行サーバの名
前、マシンアドレス)についても同様であった。
Therefore, it is necessary to check a storage device name or a directory name which is different for each job execution server for each file, which imposes a heavy burden on the program creation. The same applies to the node names (job execution server name, machine address).

【0043】これに対して本分散処理システム1で処理
するプログラムは、最初にファイルについて「ストレー
ジファイル」、「一時ファイル」、「パイプファイル」
に分け、各種類のファイルごとに所定の名称とシリアル
ナンバーを付したファイル名の体系を定めておけば、プ
ログラム作成者は、ジョブ実行サーバの物理環境を意識
せずにプログラムを作成できる。
On the other hand, in the program processed by the distributed processing system 1, first of all the files, "storage file", "temporary file", "pipe file"
By defining a system of file names with a predetermined name and a serial number for each type of file, the program creator can create a program without being aware of the physical environment of the job execution server.

【0044】上記プログラムがジョブ管理サーバ3のジ
ョブ実行管理手段7に読み込まれたときは、ジョブ実行
管理手段7は、ノードテーブル5を参照して、プログラ
ムに記述したノード名に従って各ジョブを各ジョブ実行
サーバ4a…4nに分配し、実行を指示する。
When the above program is read into the job execution management means 7 of the job management server 3, the job execution management means 7 refers to the node table 5 and executes each job according to the node name described in the program. 4n are distributed to the execution servers 4a ... 4n, and execution is instructed.

【0045】ここで、ノードテーブル5の一例を図4に
示す。図4に示すように、ノードテーブル5は、各ジョ
ブ実行サーバ4a…4nのマシンアドレスと装置名を列
記したものである。このノードテーブル5により、プロ
グラムに記述されたノード名を検索し、各ジョブ実行サ
ーバを特定することができる。
An example of the node table 5 is shown in FIG. As shown in FIG. 4, the node table 5 lists the machine addresses and device names of the job execution servers 4a ... 4n. With this node table 5, each job execution server can be specified by searching the node name described in the program.

【0046】ジョブ実行管理手段7からのジョブ実行命
令を受けたジョブ実行サーバ4a…4nは、論理・物理
資源変換テーブル8a…8nを参照して、論理名ファイ
ルを各ジョブ実行サーバの物理的な装置上のファイルに
読み換え、ジョブを実行する。
The job execution servers 4a ... 4n which have received the job execution command from the job execution management means 7 refer to the logical / physical resource conversion tables 8a ... 8n and copy the logical name file to the physical name of each job execution server. Read the file on the device and execute the job.

【0047】ここで論理・物理資源変換テーブル8a…
8nの一例を図5に示す。図5の6行目〜8行目は、ス
トレージファイルを格納する物理的な装置名あるいはデ
ィレクトリー名を示している。同様に、図5の9行目と
10行目は一時ファイルを格納する物理的装置名・ディ
レクトリー名、同11行目はパイプファイルを格納する
物理的装置名・ディレクトリー名をそれぞれ示してい
る。
Here, the logical / physical resource conversion table 8a ...
An example of 8n is shown in FIG. Lines 6 to 8 in FIG. 5 indicate the physical device name or directory name for storing the storage file. Similarly, the 9th and 10th lines in FIG. 5 show the physical device name / directory name for storing the temporary file, and the 11th line shows the physical device name / directory name for storing the pipe file.

【0048】上記論理・物理資源変換テーブル8a…8
nにより、ジョブ実行サーバ4a…4nは、それぞれの
物理装置上でファイルを扱えることができ、支障なくジ
ョブを実行することができる。
The logical / physical resource conversion table 8a ... 8
4n allows the job execution servers 4a ... 4n to handle files on their respective physical devices and execute jobs without any trouble.

【0049】このようにしてジョブを実行したジョブ実
行サーバ4a…4nは、ジョブの実行結果をジョブ実行
管理手段7に報告し、ジョブ実行管理手段7はこれらの
ジョブの実行結果をジョブ実行履歴ファイル6に登録す
る。
The job execution servers 4a ... 4n that have executed the jobs in this way report the job execution results to the job execution management means 7, and the job execution management means 7 reports the execution results of these jobs to the job execution history file. Register at 6.

【0050】このジョブ実行履歴ファイル6を参照する
ことにより、本発明による分散処理システム1は、メイ
ンフレーム等の大型コンピュータ同様のジョブリストを
出力することができる。
By referring to the job execution history file 6, the distributed processing system 1 according to the present invention can output a job list similar to a large computer such as a mainframe.

【0051】ジョブリストは、各ジョブの実行開始時間
および終了時間と、入出力ファイルと、ジョブの実行結
果とを含み、プログラムの検証に大きく役立つことがで
きる。
The job list includes the execution start time and end time of each job, the input / output file, and the job execution result, and can be very useful for program verification.

【0052】図6は、ジョブリストの一例を示してい
る。図6に示すように、ジョブリストを参照することに
より、各ジョブ(このリストではSEIA000,SEIA100 等)
の実行開始時間、実行終了時間、入出力ファイル、CP
Uの使用時間等の情報を得ることができる。万一、プロ
グラムの不備等により処理が中断した場合は、どのジョ
ブの実行によって処理が中断したかを特定でき、プログ
ラムの誤りの発見に役立てることができる。
FIG. 6 shows an example of the job list. As shown in Fig. 6, by referring to the job list, each job (SEIA000, SEIA100 etc. in this list)
Execution start time, execution end time, input / output file, CP
Information such as the usage time of U can be obtained. If the processing is interrupted due to a defect in the program, it is possible to identify which job was executed to interrupt the processing, and it is possible to help find an error in the program.

【0053】本発明の分散処理システムによれば、プロ
グラムは処理の思想(抽象化した処理の流れ)のみを示
しており、システムに接続されたコンピュータの物理環
境に影響されない。すなわち、たとえば、分散処理シス
テムにジョブ実行サーバを追加したり、あるいは所定の
ジョブ実行サーバの記憶装置の構成を変更するような場
合、プログラムを書き直すことなく、ノードテーブルや
論理・物理資源変換テーブルの一部の変更によって対応
することができるのである。
According to the distributed processing system of the present invention, the program shows only the concept of processing (abstracted processing flow), and is not affected by the physical environment of the computer connected to the system. That is, for example, when a job execution server is added to the distributed processing system or the configuration of the storage device of a predetermined job execution server is changed, the node table and the logical / physical resource conversion table need not be rewritten without rewriting the program. It can be dealt with by some changes.

【0054】また、上記説明では、一つのプログラムを
処理する場合について説明したが、本発明の分散処理シ
ステムは、一つのプログラムの処理に限らず、大型コン
ピュータ同様に複数のプログラムを同時並行的に処理す
ることができる。
Further, in the above description, the case of processing one program has been described, but the distributed processing system of the present invention is not limited to the processing of one program, but a plurality of programs can be simultaneously executed in parallel like a large computer. Can be processed.

【0055】この場合、ジョブ実行管理手段7は、プロ
グラムP1 …Pn に従って、どのプログラムに属するジ
ョブであるかに関係なく、ジョブの実行順序を付して次
々に各ジョブ実行サーバ4a…4nにジョブの実行を指
示する。
In this case, the job execution management means 7 assigns the job execution order to the job execution servers 4a ... 4n one after another, regardless of which program the job belongs to, according to the programs P1 ... Pn. To execute.

【0056】各ジョブ実行サーバ4a…4nでは、未処
理のジョブは待ちの状態になり、実行順序に従ってジョ
ブが逐次処理される。処理されたジョブはジョブ管理サ
ーバ3に報告され、ジョブ管理サーバ3は、プログラム
ごとに処理結果、処理データを出力する。
In each of the job execution servers 4a ... 4n, unprocessed jobs are placed in a waiting state, and the jobs are sequentially processed in the execution order. The processed job is reported to the job management server 3, and the job management server 3 outputs the processing result and processing data for each program.

【0057】[0057]

【発明の効果】上記説明から明らかなように、本発明の
分散処理システムによれば、接続されたコンピュータの
物理資源を意識せずに、論理ファイル名によってプログ
ラムを記述することができ、プログラム作成上の負担が
大幅に軽減することができる。
As is apparent from the above description, according to the distributed processing system of the present invention, a program can be described by a logical file name without being aware of the physical resources of the connected computer, and the program can be created. The burden on the can be greatly reduced.

【0058】また、ノードテーブルや論理・物理資源変
換テーブル等の局部的な修正をすることにより、システ
ムの構成を拡張・変更することができる。
Further, by locally modifying the node table and the logical / physical resource conversion table, the system configuration can be expanded / changed.

【0059】以上により、本発明によれば、プログラム
の作成が容易であり、かつ、システムの拡張・変更に柔
軟に対応でき、さらに、小型コンピュータを接続した環
境下で、大型コンピュータと同様の処理を実現する分散
処理システムを提供することができる。
As described above, according to the present invention, it is easy to create a program, and it is possible to flexibly deal with system expansion / change, and further, in an environment in which a small computer is connected, processing similar to that of a large computer is performed. It is possible to provide a distributed processing system that realizes.

【図面の簡単な説明】[Brief description of drawings]

【図1】本発明による分散処理システムのシステム構成
と処理の流れを示したブロック図。
FIG. 1 is a block diagram showing a system configuration and a processing flow of a distributed processing system according to the present invention.

【図2】本発明による分散処理システムで処理するプロ
グラムの一例とその説明文を併記した説明図。
FIG. 2 is an explanatory diagram in which an example of a program to be processed by the distributed processing system according to the present invention and its description are shown together.

【図3】図2に示したプログラムの処理の流れを概念的
に示したフロー図。
FIG. 3 is a flowchart conceptually showing a processing flow of the program shown in FIG.

【図4】ノードテーブルの一例を示した説明図。FIG. 4 is an explanatory diagram showing an example of a node table.

【図5】論理・物理資源変換テーブルの一例を示した説
明図。
FIG. 5 is an explanatory diagram showing an example of a logical / physical resource conversion table.

【図6】ジョブリストの一例を示した説明図。FIG. 6 is an explanatory diagram showing an example of a job list.

【図7】従来の分散処理システムのシステム構成と処理
の流れを示したブロック図。
FIG. 7 is a block diagram showing a system configuration and a processing flow of a conventional distributed processing system.

【符号の説明】[Explanation of symbols]

1 分散処理システム 2 通信回線 3 ジョブ管理サーバ 4 ジョブ実行サーバ 5 ノードテーブル 6 ジョブ実行履歴ファイル 7 ジョブ実行管理手段 8 論理・物理資源変換テーブル 9 ジョブ実行手段 10 ジョブ定義ファイル P プログラム 1 distributed processing system 2 communication line 3 job management server 4 job execution server 5 node table 6 job execution history file 7 job execution management means 8 logical / physical resource conversion table 9 job execution means 10 job definition file P program

───────────────────────────────────────────────────── フロントページの続き (72)発明者 吉 田 信 克 神奈川県横浜市保土ケ谷区神戸町134番地 株式会社野村総合研究所内 (72)発明者 稲 田 陽 一 神奈川県横浜市保土ケ谷区神戸町134番地 株式会社野村総合研究所内 (72)発明者 山 脇 昌 則 神奈川県横浜市保土ケ谷区神戸町134番地 株式会社野村総合研究所内 (72)発明者 藤 島 美 保 神奈川県横浜市保土ケ谷区神戸町134番地 株式会社野村総合研究所内 ─────────────────────────────────────────────────── ─── Continuation of the front page (72) Inventor Nobuyoshi Yoshida 134 Kobe-cho, Hodogaya-ku, Yokohama-shi, Kanagawa Nomura Research Institute, Ltd. (72) Yoichi Inada 134, Kobe-cho, Hodogaya-ku, Yokohama-shi, Kanagawa Address Nomura Research Institute, Ltd. (72) Inventor Masanori Yamawaki 134 Kobe-cho, Hodogaya-ku, Yokohama-shi, Kanagawa Address Nomura Research Institute, Ltd. (72) Inventor Miho Fujishima 134, Kobe-cho, Hodogaya-ku, Yokohama-shi, Kanagawa Address Nomura Research Institute, Ltd.

Claims (2)

【特許請求の範囲】[Claims] 【請求項1】複数のコンピュータを接続してプログラム
を分散処理する分散処理システムにおいて、 接続されたコンピュータのうちの一つを、プログラムの
分散処理の全体を管理するジョブ管理サーバとし、他の
コンピュータを、それぞれ前記プログラム中の一連の処
理からなるジョブを実行するジョブ実行サーバとし、 前記分散処理すべきプログラムを、それぞれ一定の処理
を行う処理プログラムと、前記処理プログラムの実行順
序と、論理名による入出力ファイルとからなる論理ジョ
ブ記述によるプログラムとし、 前記ジョブ管理サーバに、ジョブ実行サーバの名前とマ
シンアドレスを記録したノードテーブルと、各ジョブ実
行サーバによるジョブ実行結果を記録するジョブ実行履
歴ファイルと、ジョブの実行を各ジョブ実行サーバに分
配指示し、それらの処理結果を前記ジョブ実行履歴ファ
イルに記録するジョブ実行管理手段と、を備え、 前記ジョブ実行サーバに、前記論理名による入出力ファ
イルを各ジョブ実行サーバの物理資源上のファイルに読
み換える論理・物理資源変換テーブルと、ジョブを実行
するジョブ実行手段と、を備えたことを特徴とする分散
処理システム。
1. In a distributed processing system for connecting a plurality of computers for distributed processing of a program, one of the connected computers is a job management server for managing the entire distributed processing of the program, and another computer. Each of which is a job execution server for executing a job consisting of a series of processes in the program, and each of the programs to be distributed-processed is a processing program that performs a certain process, an execution order of the processing programs, and a logical name. A program based on a logical job description consisting of input / output files, a node table in which the name and machine address of the job execution server are recorded in the job management server, and a job execution history file in which job execution results of each job execution server are recorded. , Job execution to each job execution server And a job execution management unit that records the processing results in the job execution history file, and outputs the input / output file with the logical name to the job execution server on the physical resource of each job execution server. A distributed processing system, comprising: a logical / physical resource conversion table to be read as a job, and a job executing means for executing a job.
【請求項2】前記ジョブ管理サーバは、前記ジョブ実行
履歴ファイルを参照し、各ジョブの実行開始時間および
終了時間と、入出力ファイルと、ジョブの実行結果と、
を含むジョブリストを出力することを特徴とする請求項
1に記載の分散処理システム。
2. The job management server refers to the job execution history file, and starts and ends the execution time and end time of each job, an input / output file, and a job execution result.
The distributed processing system according to claim 1, wherein a job list including the job list is output.
JP25307695A 1995-09-29 1995-09-29 Distributed processing system Expired - Lifetime JP3795107B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP25307695A JP3795107B2 (en) 1995-09-29 1995-09-29 Distributed processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25307695A JP3795107B2 (en) 1995-09-29 1995-09-29 Distributed processing system

Publications (2)

Publication Number Publication Date
JPH0997203A true JPH0997203A (en) 1997-04-08
JP3795107B2 JP3795107B2 (en) 2006-07-12

Family

ID=17246164

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25307695A Expired - Lifetime JP3795107B2 (en) 1995-09-29 1995-09-29 Distributed processing system

Country Status (1)

Country Link
JP (1) JP3795107B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004264957A (en) * 2003-02-28 2004-09-24 Hitachi Ltd Job execution method in different computer environment and its program
US7237005B2 (en) 2002-09-05 2007-06-26 Hitachi, Ltd. Job network setup method, job network execution method, job management system, management terminal and program
JP2008293358A (en) * 2007-05-25 2008-12-04 Fujitsu Ltd Distributed processing program, distributed processing method, distributed processing apparatus, and distributed processing system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7237005B2 (en) 2002-09-05 2007-06-26 Hitachi, Ltd. Job network setup method, job network execution method, job management system, management terminal and program
JP2004264957A (en) * 2003-02-28 2004-09-24 Hitachi Ltd Job execution method in different computer environment and its program
US7567359B2 (en) 2003-02-28 2009-07-28 Hitachi, Ltd. Method and program for executing a job in a remote computer in different computer environment
JP2008293358A (en) * 2007-05-25 2008-12-04 Fujitsu Ltd Distributed processing program, distributed processing method, distributed processing apparatus, and distributed processing system

Also Published As

Publication number Publication date
JP3795107B2 (en) 2006-07-12

Similar Documents

Publication Publication Date Title
US8572616B2 (en) Apparatus, system, and method for managing z/OS batch jobs with prerequisites
US10657008B2 (en) Managing a redundant computerized database using a replicated database cache
CN111061715B (en) Web and Kafka-based distributed data integration system and method
US6154852A (en) Method and apparatus for data backup and recovery
US6879984B2 (en) Analytical database system that models data to speed up and simplify data analysis
US5752005A (en) Foreign file system establishing method which uses a native file system virtual device driver
US7761538B2 (en) Dynamically configuring, allocating and deploying computing systems
US8661457B2 (en) Pipeline across isolated computing environments
EP0909417B1 (en) Executing computations expressed as graphs
US8627024B2 (en) Snapshot based replication
US6256704B1 (en) Task management for data accesses to multiple logical partitions on physical disk drives in computer systems
JPS58225447A (en) Operation of calculator
CN101311911A (en) Staging memory system and data migration method thereof
CN110019251A (en) A kind of data processing system, method and apparatus
US7805469B1 (en) Method and apparatus for splitting and merging file systems
US20050257206A1 (en) Pair-update mechanism for update module
CN103870536A (en) Systems and Methods for In-Memory Database Processing
JPH05298120A (en) Computer system
CN115083538A (en) Medicine data processing system, operation method and data processing method
US8060885B2 (en) Creating task queries for concrete resources using alias selection fields specifying formal resources and formal relationships
CN101999113A (en) Method and system for storage replication
JP3795107B2 (en) Distributed processing system
JPH09330243A (en) Computer system
US20090276603A1 (en) Techniques for efficient dataloads into partitioned tables
Rajagopal Introduction to Microsoft Windows NT cluster server: Programming and administration

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051014

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051213

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: 20060314

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060412

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: 20100421

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20110421

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20120421

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20120421

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130421

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20140421

Year of fee payment: 8

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term