JPH10320218A - データ転送処理における連携ジョブ自動起動方法 - Google Patents
データ転送処理における連携ジョブ自動起動方法Info
- Publication number
- JPH10320218A JPH10320218A JP12828397A JP12828397A JPH10320218A JP H10320218 A JPH10320218 A JP H10320218A JP 12828397 A JP12828397 A JP 12828397A JP 12828397 A JP12828397 A JP 12828397A JP H10320218 A JPH10320218 A JP H10320218A
- Authority
- JP
- Japan
- Prior art keywords
- job
- computer
- processing
- cooperation
- executed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Abstract
(57)【要約】
【課題】複数ジョブ間でのデータ受け渡し処理をパイプ
連携を利用して高速化するとき、すべてのジョブを同一
時刻付近に起動しないとデータ受け渡し処理が開始され
ないため、連携相手ジョブが起動されないときに無駄な
待ち時間が発生したり、利用者がジョブ実行管理に要す
る負担が大きかった。 【解決手段】最初に実行を開始した要求元ジョブ103
からパイプ連携処理要求を受けて起動したオープン制御
部202は、計算機101で実行されるパイプ連携処理
の情報を格納したパイプ連携定義テーブル209を参照
して連携相手ジョブを検索し、該当する要求先ジョブ1
04を起動する。実行を開始した要求先ジョブ104か
らのパイプ連携処理要求を受け再び起動したオープン制
御部202は、連携相手ジョブが起動したことを要求元
ジョブ103に通知する。
連携を利用して高速化するとき、すべてのジョブを同一
時刻付近に起動しないとデータ受け渡し処理が開始され
ないため、連携相手ジョブが起動されないときに無駄な
待ち時間が発生したり、利用者がジョブ実行管理に要す
る負担が大きかった。 【解決手段】最初に実行を開始した要求元ジョブ103
からパイプ連携処理要求を受けて起動したオープン制御
部202は、計算機101で実行されるパイプ連携処理
の情報を格納したパイプ連携定義テーブル209を参照
して連携相手ジョブを検索し、該当する要求先ジョブ1
04を起動する。実行を開始した要求先ジョブ104か
らのパイプ連携処理要求を受け再び起動したオープン制
御部202は、連携相手ジョブが起動したことを要求元
ジョブ103に通知する。
Description
【0001】
【発明の属する技術分野】本発明は、ジョブ間のパイプ
型データ受け渡し技術に関する。
型データ受け渡し技術に関する。
【0002】
【従来の技術】本発明は、ジョブ間のデータ受け渡し技
術に関するものである。ジョブとは、計算機システムに
おける処理の単位であり、一つ以上のプログラムから成
り、利用者からジョブ実行の要求があったとき、それぞ
れのプログラムが順番に、もしくは並行して実行され
る。銀行などの大規模計算機システムでは、日々、数百
から数千個ものジョブが実行され、それぞれ関連のある
他のジョブとの間でデータ引き継ぎ処理を行なうこと
で、全体の処理が遂行される。
術に関するものである。ジョブとは、計算機システムに
おける処理の単位であり、一つ以上のプログラムから成
り、利用者からジョブ実行の要求があったとき、それぞ
れのプログラムが順番に、もしくは並行して実行され
る。銀行などの大規模計算機システムでは、日々、数百
から数千個ものジョブが実行され、それぞれ関連のある
他のジョブとの間でデータ引き継ぎ処理を行なうこと
で、全体の処理が遂行される。
【0003】ジョブ間でデータを受け渡す必要があると
き、最も一般的には、データを生成する側のジョブが、
全データをファイルという形式で外部記憶装置(磁気デ
ィスク装置や磁気テープ装置に代表される)に格納し、
ファイル生成が完了したのち、データ受け取り側のジョ
ブが順次、ファイル読み込みを実行する方法が取られて
いる。
き、最も一般的には、データを生成する側のジョブが、
全データをファイルという形式で外部記憶装置(磁気デ
ィスク装置や磁気テープ装置に代表される)に格納し、
ファイル生成が完了したのち、データ受け取り側のジョ
ブが順次、ファイル読み込みを実行する方法が取られて
いる。
【0004】これに対し、データ受け渡し処理をより高
速に実行したいという場合に利用されるのが、特開平3
−46033号公報や「並列汎用機の全貌」(日経BP
社、1994年)などに記された、いわゆる「パイプ連
携」または「パイプ型データ転送」と呼ばれる技術であ
る。本発明も、このパイプ型データ転送技術に関する発
明であるが、同技術そのものは現在広く知られたもので
あるため、以下簡単な説明にとどめる。
速に実行したいという場合に利用されるのが、特開平3
−46033号公報や「並列汎用機の全貌」(日経BP
社、1994年)などに記された、いわゆる「パイプ連
携」または「パイプ型データ転送」と呼ばれる技術であ
る。本発明も、このパイプ型データ転送技術に関する発
明であるが、同技術そのものは現在広く知られたもので
あるため、以下簡単な説明にとどめる。
【0005】パイプ連携とは、ジョブ間で受け渡しする
データを外部記憶装置には格納せずに、主記憶を経由し
て転送する技術である。このとき、すべてのデータが揃
うのを待ってから受け取り側ジョブへの転送を開始する
のではなく、主記憶上に書き込まれたデータは順次、受
け取り側ジョブへ転送する。すなわち、ジョブ間での転
送の単位は、従来技術のようにファイル全体ではなく、
ファイルの構成要素であるレコード単位となる。本技術
を用いることにより、外部記憶装置への入出力処理を削
減し、また、ファイル生成が完了するまで読み込み側ジ
ョブの開始時間が待たされることなく、すべてのジョブ
を並行して実行できるため、引き継ぎ処理に要する処理
時間を短縮することができる。以上の処理は、通常オペ
レーティングシステム(計算機の基本ソフトウェア)に
よって実行される。それぞれのジョブは、外部記憶内フ
ァイルへアクセスを行なっていたときのプログラムを変
更する必要はない。
データを外部記憶装置には格納せずに、主記憶を経由し
て転送する技術である。このとき、すべてのデータが揃
うのを待ってから受け取り側ジョブへの転送を開始する
のではなく、主記憶上に書き込まれたデータは順次、受
け取り側ジョブへ転送する。すなわち、ジョブ間での転
送の単位は、従来技術のようにファイル全体ではなく、
ファイルの構成要素であるレコード単位となる。本技術
を用いることにより、外部記憶装置への入出力処理を削
減し、また、ファイル生成が完了するまで読み込み側ジ
ョブの開始時間が待たされることなく、すべてのジョブ
を並行して実行できるため、引き継ぎ処理に要する処理
時間を短縮することができる。以上の処理は、通常オペ
レーティングシステム(計算機の基本ソフトウェア)に
よって実行される。それぞれのジョブは、外部記憶内フ
ァイルへアクセスを行なっていたときのプログラムを変
更する必要はない。
【0006】
【発明が解決しようとする課題】パイプ連携の特徴の一
つは、データ受け渡しを行なうジョブ群を並列に実行可
能とすることで、処理時間を短縮する点である。しか
し、これは同時に、パイプ連携を利用する際の制約でも
なる。すなわち、あるジョブがデータの受け渡しを実行
しようとしても、連携相手のジョブが実行を開始しない
限りは、先に実行を開始したジョブも、データ受け渡し
処理を進めることができない。連携相手ジョブが起動す
るまで、先に処理を開始したジョブは処理途中で待ち状
態となったままとなるか、一定時間待ったあとで異常終
了する。
つは、データ受け渡しを行なうジョブ群を並列に実行可
能とすることで、処理時間を短縮する点である。しか
し、これは同時に、パイプ連携を利用する際の制約でも
なる。すなわち、あるジョブがデータの受け渡しを実行
しようとしても、連携相手のジョブが実行を開始しない
限りは、先に実行を開始したジョブも、データ受け渡し
処理を進めることができない。連携相手ジョブが起動す
るまで、先に処理を開始したジョブは処理途中で待ち状
態となったままとなるか、一定時間待ったあとで異常終
了する。
【0007】そこで通常、パイプ連携技術を利用する場
合は、連携を取るジョブ群を同一時刻付近に起動できる
ような工夫を必要とする。例えば、計算機システムの中
には、ジョブの実行スケジュールを管理する機能を備え
ているものがあり、この機能を利用すれば、一定の条件
に従って各ジョブの起動のタイミングを指定できる。こ
こでいう各ジョブ起動の条件とは、時刻指定であった
り、特定のジョブの終了確認などである。
合は、連携を取るジョブ群を同一時刻付近に起動できる
ような工夫を必要とする。例えば、計算機システムの中
には、ジョブの実行スケジュールを管理する機能を備え
ているものがあり、この機能を利用すれば、一定の条件
に従って各ジョブの起動のタイミングを指定できる。こ
こでいう各ジョブ起動の条件とは、時刻指定であった
り、特定のジョブの終了確認などである。
【0008】ところで、従来こうしたパイプ連携処理
は、単一計算機内のジョブ間、特に銀行などで利用され
る大型汎用計算機内のジョブ間で利用されることが多か
った。銀行のような高い信頼性が要求される計算機運用
では、もともとジョブ群の実行スケジュールも綿密に管
理される。よって、パイプ連携を利用するジョブ群を同
一時刻付近に起動するような実行スケジュールを追加す
ることも、その負担は比較的小さかった。
は、単一計算機内のジョブ間、特に銀行などで利用され
る大型汎用計算機内のジョブ間で利用されることが多か
った。銀行のような高い信頼性が要求される計算機運用
では、もともとジョブ群の実行スケジュールも綿密に管
理される。よって、パイプ連携を利用するジョブ群を同
一時刻付近に起動するような実行スケジュールを追加す
ることも、その負担は比較的小さかった。
【0009】ところが現在では、複数の大型汎用計算機
を複数台接続しジョブを振り分けて負荷分散を図るシス
テムや、メインフレームとワークステーションといった
異機種計算機間でのデータ受け渡し処理を実行するシス
テムが増えている。これらのシステムでは、単一計算機
での運用と比べ、ジョブ実行管理はより複雑となる。そ
のため、別計算機で実行されるジョブ間でパイプ連携を
利用したデータ受け渡しを行なう場合、ジョブ群の起動
のタイミングを合わせなければならないことは、従来以
上に大きな負担となる。
を複数台接続しジョブを振り分けて負荷分散を図るシス
テムや、メインフレームとワークステーションといった
異機種計算機間でのデータ受け渡し処理を実行するシス
テムが増えている。これらのシステムでは、単一計算機
での運用と比べ、ジョブ実行管理はより複雑となる。そ
のため、別計算機で実行されるジョブ間でパイプ連携を
利用したデータ受け渡しを行なう場合、ジョブ群の起動
のタイミングを合わせなければならないことは、従来以
上に大きな負担となる。
【0010】このように、パイプ連携技術を利用する
際、なんらかの手段を用いて、データを受け渡すジョブ
群をすべて同一時刻付近に起動できるようなジョブ実行
スケジュール管理を利用者が行なわなければならないこ
とが課題となっている。特に、複数計算機上のジョブ間
でパイプ連携技術を利用する際のジョブ起動時間帯を一
致させなければならないことが、課題となっている。
際、なんらかの手段を用いて、データを受け渡すジョブ
群をすべて同一時刻付近に起動できるようなジョブ実行
スケジュール管理を利用者が行なわなければならないこ
とが課題となっている。特に、複数計算機上のジョブ間
でパイプ連携技術を利用する際のジョブ起動時間帯を一
致させなければならないことが、課題となっている。
【0011】
【課題を解決するための手段】前記課題を解決するため
の代表的な手段は、次のとおりである。
の代表的な手段は、次のとおりである。
【0012】本発明のデータ転送処理における連携ジョ
ブ自動起動方法は、第1のジョブが生成する一つ以上の
データを、それとは別の第2ジョブへ渡すとき、第1の
ジョブ、第2のジョブを並列に実行し、主記憶装置また
はそれに準ずる補助記憶装置上に用意したバッファ領域
を介し、すべてのデータ生成が完了しなくとも、生成済
みのデータから順次受け渡し処理を実行する計算機シス
テムにおいて、ジョブからの処理開始要求を受け取る第
1のステップと、受け取ったジョブとデータの受け渡し
を行なう連携相手ジョブが、既に処理を開始しているか
否かを判定する第2のステップと、前ステップで、連携
相手ジョブが処理を開始していないと判定したとき、当
該ジョブが実行を開始済みであることを記録する第3の
ステップと、連携相手ジョブの実行を開始する第4のス
テップと、第2のステップで、連携相手ジョブが処理を
開始済みであると判定したとき、連携相手ジョブに対し
て、当該ジョブが実行を開始したことを通知する第5の
ステップとを有する。
ブ自動起動方法は、第1のジョブが生成する一つ以上の
データを、それとは別の第2ジョブへ渡すとき、第1の
ジョブ、第2のジョブを並列に実行し、主記憶装置また
はそれに準ずる補助記憶装置上に用意したバッファ領域
を介し、すべてのデータ生成が完了しなくとも、生成済
みのデータから順次受け渡し処理を実行する計算機シス
テムにおいて、ジョブからの処理開始要求を受け取る第
1のステップと、受け取ったジョブとデータの受け渡し
を行なう連携相手ジョブが、既に処理を開始しているか
否かを判定する第2のステップと、前ステップで、連携
相手ジョブが処理を開始していないと判定したとき、当
該ジョブが実行を開始済みであることを記録する第3の
ステップと、連携相手ジョブの実行を開始する第4のス
テップと、第2のステップで、連携相手ジョブが処理を
開始済みであると判定したとき、連携相手ジョブに対し
て、当該ジョブが実行を開始したことを通知する第5の
ステップとを有する。
【0013】また、本発明のデータ転送処理における連
携ジョブ自動起動方法は、第1のジョブとデータの受け
渡しを行なう連携相手ジョブは第2のジョブであること
を利用者が記録した情報を取得する第1のステップと、
第1のジョブおよび第2のジョブから処理開始要求を受
け取ったとき、第1のステップで取得した情報を参照
し、連携相手ジョブを特定するだ2のステップとを有す
る。
携ジョブ自動起動方法は、第1のジョブとデータの受け
渡しを行なう連携相手ジョブは第2のジョブであること
を利用者が記録した情報を取得する第1のステップと、
第1のジョブおよび第2のジョブから処理開始要求を受
け取ったとき、第1のステップで取得した情報を参照
し、連携相手ジョブを特定するだ2のステップとを有す
る。
【0014】また、本発明のデータ転送処理における連
携ジョブ自動起動方法は、計算機で実行するジョブを定
義したすべてのジョブ制御文を順次参照する第1のステ
ップと、参照したジョブ制御文にて、データ受け渡し処
理の利用が指定されているか否かを判定する第2のステ
ップと、前ステップで、データ受け渡し処理の利用が指
定されていると判定した場合、それまでに参照したジョ
ブ制御文の中に、当該ジョブの連携相手ジョブが存在し
ているか否かを判定する第3のステップと、前ステップ
で、条件を満たすジョブが存在した場合、二つのジョブ
の間にデータ受け渡し関係があることを記録する第4の
ステップと、第3のステップで、条件を満たすジョブが
存在しなかった場合、当該ジョブがデータ受け渡し処理
の利用を指定していることを記録する第5のステップ
と、任意のジョブからのデータ受け渡し開始要求を受け
取ったとき、第4のステップで記録した情報を参照し、
当該ジョブの連携相手ジョブを特定する第6のステップ
とを有する。
携ジョブ自動起動方法は、計算機で実行するジョブを定
義したすべてのジョブ制御文を順次参照する第1のステ
ップと、参照したジョブ制御文にて、データ受け渡し処
理の利用が指定されているか否かを判定する第2のステ
ップと、前ステップで、データ受け渡し処理の利用が指
定されていると判定した場合、それまでに参照したジョ
ブ制御文の中に、当該ジョブの連携相手ジョブが存在し
ているか否かを判定する第3のステップと、前ステップ
で、条件を満たすジョブが存在した場合、二つのジョブ
の間にデータ受け渡し関係があることを記録する第4の
ステップと、第3のステップで、条件を満たすジョブが
存在しなかった場合、当該ジョブがデータ受け渡し処理
の利用を指定していることを記録する第5のステップ
と、任意のジョブからのデータ受け渡し開始要求を受け
取ったとき、第4のステップで記録した情報を参照し、
当該ジョブの連携相手ジョブを特定する第6のステップ
とを有する。
【0015】また、本発明のデータ転送処理における連
携ジョブ自動起動方法は、共用記憶装置、制御計算機、
ネットワークなどを介して接続された複数の計算機から
成る計算機システムで、第1の計算機で実行される第1
のジョブが生成する一つ以上のデータを、第2の計算機
で実行される第2のジョブへ渡すとき、第1のジョブ、
第2のジョブを並列に実行し、共用記憶装置、制御計算
機、通信装置などを用いてデータを転送し、すべてのデ
ータ生成が完了しなくとも、生成済みのデータから順次
受け渡し処理を実行する計算機システムにおいて、ジョ
ブからの処理開始要求を受け取る第1のステップと、受
け取ったジョブとデータの受け渡しを行なう連携相手ジ
ョブが、既に処理を開始しているか否かを判定する第2
のステップと、前ステップで、連携相手ジョブが処理を
開始していないと判定したとき、当該ジョブが実行を開
始済みであることを記録する第3のステップと、連携相
手ジョブをどの計算機で実行するよう指定されているか
取得する第4のステップと、前ステップで取得した計算
機で、連携相手ジョブの実行を開始する第5のステップ
と、第2のステップで、連携相手ジョブが処理を開始済
みであると判定したとき、連携相手ジョブがどの計算機
で実行されているか取得する第6のステップと、前ステ
ップで取得した計算機で実行されている連携相手ジョブ
に対して、当該ジョブが実行を開始したことを通知する
第7のステップとを有する。
携ジョブ自動起動方法は、共用記憶装置、制御計算機、
ネットワークなどを介して接続された複数の計算機から
成る計算機システムで、第1の計算機で実行される第1
のジョブが生成する一つ以上のデータを、第2の計算機
で実行される第2のジョブへ渡すとき、第1のジョブ、
第2のジョブを並列に実行し、共用記憶装置、制御計算
機、通信装置などを用いてデータを転送し、すべてのデ
ータ生成が完了しなくとも、生成済みのデータから順次
受け渡し処理を実行する計算機システムにおいて、ジョ
ブからの処理開始要求を受け取る第1のステップと、受
け取ったジョブとデータの受け渡しを行なう連携相手ジ
ョブが、既に処理を開始しているか否かを判定する第2
のステップと、前ステップで、連携相手ジョブが処理を
開始していないと判定したとき、当該ジョブが実行を開
始済みであることを記録する第3のステップと、連携相
手ジョブをどの計算機で実行するよう指定されているか
取得する第4のステップと、前ステップで取得した計算
機で、連携相手ジョブの実行を開始する第5のステップ
と、第2のステップで、連携相手ジョブが処理を開始済
みであると判定したとき、連携相手ジョブがどの計算機
で実行されているか取得する第6のステップと、前ステ
ップで取得した計算機で実行されている連携相手ジョブ
に対して、当該ジョブが実行を開始したことを通知する
第7のステップとを有する。
【0016】また、本発明のデータ転送処理における連
携ジョブ自動起動方法は、共用記憶装置、制御計算機、
ネットワークなどを介して接続された複数の計算機から
成る計算機システムで、第1の計算機で実行される第1
のジョブが生成する一つ以上のデータを、第2の計算機
で実行される第2のジョブへ渡すとき、第1のジョブ、
第2のジョブを並列に実行し、共用記憶装置、制御計算
機、通信装置などを用いて、すべてのデータ生成が完了
しなくとも、生成済みのデータから順次受け渡し処理を
実行する計算機システムにおいて、第1のジョブ、第2
のジョブのうち、いずれのジョブが先に実行されるかを
特定する第1のステップと、ジョブからの処理開始要求
を受け取る第2のステップと、処理要求してきたジョブ
が、第1のステップで先に実行されるべきジョブである
と判定されたジョブか否かを判定する第3のステップ
と、前ステップで、先に実行されるべきジョブであると
判定したとき、連携相手ジョブをどの計算機で実行する
よう指定されているか取得する第4のステップと、前ス
テップで取得した計算機で、連携相手ジョブの実行を開
始する第5のステップと、第3のステップで、後から実
行されるべきジョブであると判定したとき、連携相手ジ
ョブがどの計算機で実行されているか取得する第6のス
テップと、前ステップで取得した計算機で実行されてい
る連携相手ジョブに対して、当該ジョブが実行を開始し
たことを通知する第7のステップとを有する。
携ジョブ自動起動方法は、共用記憶装置、制御計算機、
ネットワークなどを介して接続された複数の計算機から
成る計算機システムで、第1の計算機で実行される第1
のジョブが生成する一つ以上のデータを、第2の計算機
で実行される第2のジョブへ渡すとき、第1のジョブ、
第2のジョブを並列に実行し、共用記憶装置、制御計算
機、通信装置などを用いて、すべてのデータ生成が完了
しなくとも、生成済みのデータから順次受け渡し処理を
実行する計算機システムにおいて、第1のジョブ、第2
のジョブのうち、いずれのジョブが先に実行されるかを
特定する第1のステップと、ジョブからの処理開始要求
を受け取る第2のステップと、処理要求してきたジョブ
が、第1のステップで先に実行されるべきジョブである
と判定されたジョブか否かを判定する第3のステップ
と、前ステップで、先に実行されるべきジョブであると
判定したとき、連携相手ジョブをどの計算機で実行する
よう指定されているか取得する第4のステップと、前ス
テップで取得した計算機で、連携相手ジョブの実行を開
始する第5のステップと、第3のステップで、後から実
行されるべきジョブであると判定したとき、連携相手ジ
ョブがどの計算機で実行されているか取得する第6のス
テップと、前ステップで取得した計算機で実行されてい
る連携相手ジョブに対して、当該ジョブが実行を開始し
たことを通知する第7のステップとを有する。
【0017】
【発明の実施の形態】以下、本発明の実施の形態を、図
を用いて詳細に説明する。
を用いて詳細に説明する。
【0018】図1は、第1の実施の形態の原理図であ
る。図1において、101は計算機であり、102はジ
ョブ間のパイプ連携データ転送処理を制御するパイプ連
携実行部である。103と104は、パイプ連携実行部
102を介して、データの受け渡しを行なうジョブであ
り、103は連携開始要求を先に行なう要求元ジョブで
あり、104はそれを受けたパイプ連携実行部102に
起動される要求先ジョブである。引き続き、要求先ジョ
ブ104を起動する詳しい処理内容を説明していく。
る。図1において、101は計算機であり、102はジ
ョブ間のパイプ連携データ転送処理を制御するパイプ連
携実行部である。103と104は、パイプ連携実行部
102を介して、データの受け渡しを行なうジョブであ
り、103は連携開始要求を先に行なう要求元ジョブで
あり、104はそれを受けたパイプ連携実行部102に
起動される要求先ジョブである。引き続き、要求先ジョ
ブ104を起動する詳しい処理内容を説明していく。
【0019】図2は、第1の実施の形態の構成図であ
る。パイプ連携実行部102は、更にいくつかの部分か
ら成る。201はパイプ連携アクセス受付部であり、各
ジョブからパイプ連携実行部102への処理要求種別を
判定し、それぞれに対応する制御部を起動する。パイプ
連携実行部102への処理要求は、ファイルアクセスに
関する要求に限られ、ファイルオープン、データ書き込
み、データ読み込み、ファイルクローズの四種類があ
る。これらの要求を受け取ったパイプ連携アクセス受付
部201は、それぞれオープン制御部202、ライト制
御部203、リード制御部204、クローズ制御部20
5を起動する。
る。パイプ連携実行部102は、更にいくつかの部分か
ら成る。201はパイプ連携アクセス受付部であり、各
ジョブからパイプ連携実行部102への処理要求種別を
判定し、それぞれに対応する制御部を起動する。パイプ
連携実行部102への処理要求は、ファイルアクセスに
関する要求に限られ、ファイルオープン、データ書き込
み、データ読み込み、ファイルクローズの四種類があ
る。これらの要求を受け取ったパイプ連携アクセス受付
部201は、それぞれオープン制御部202、ライト制
御部203、リード制御部204、クローズ制御部20
5を起動する。
【0020】上記四種類の制御部202から205のう
ち、本発明の目的であるパイプ連携ジョブ自動起動に直
接関係するのは、オープン制御部202だけである。そ
れ以外のライト制御部203、リード制御部204、ク
ローズ制御部205については、特開平3−46033
号公報などに記載された既存の技術を用いることができ
る。よって、本明細書ではオープン制御部202につい
てのみ説明する。
ち、本発明の目的であるパイプ連携ジョブ自動起動に直
接関係するのは、オープン制御部202だけである。そ
れ以外のライト制御部203、リード制御部204、ク
ローズ制御部205については、特開平3−46033
号公報などに記載された既存の技術を用いることができ
る。よって、本明細書ではオープン制御部202につい
てのみ説明する。
【0021】206は、パイプ連携を正常に行なうため
のデータを格納するパイプ連携仮想ファイル領域であ
り、1個のパイプ連携処理につき1個ずつ生成される。
パイプ連携仮想ファイル領域206は、更に管理テーブ
ル207、バッファ領域208から成る。管理テーブル
207は、処理対象ファイルの名称やジョブの名称、各
ジョブの進捗状況などが記録され、バッファ領域208
は、ジョブ間で受け渡されるデータが一時的に格納され
る。いずれも、その構成や利用方法は既存技術と同じで
あるため、詳細については省略する。
のデータを格納するパイプ連携仮想ファイル領域であ
り、1個のパイプ連携処理につき1個ずつ生成される。
パイプ連携仮想ファイル領域206は、更に管理テーブ
ル207、バッファ領域208から成る。管理テーブル
207は、処理対象ファイルの名称やジョブの名称、各
ジョブの進捗状況などが記録され、バッファ領域208
は、ジョブ間で受け渡されるデータが一時的に格納され
る。いずれも、その構成や利用方法は既存技術と同じで
あるため、詳細については省略する。
【0022】209は、パイプ連携定義テーブルであ
り、本計算機101にて登録されているパイプ連携処理
対象ファイルと、それをアクセスするジョブとの関係が
定義されている。210は、連携待ちジョブ登録テーブ
ルであり、各時点において、連携相手のジョブ起動を待
って待ち状態中のジョブの情報が格納されている。これ
らの二つのテーブルの詳しい構成は、後ほど図3、図4
を用いて詳しく説明する。
り、本計算機101にて登録されているパイプ連携処理
対象ファイルと、それをアクセスするジョブとの関係が
定義されている。210は、連携待ちジョブ登録テーブ
ルであり、各時点において、連携相手のジョブ起動を待
って待ち状態中のジョブの情報が格納されている。これ
らの二つのテーブルの詳しい構成は、後ほど図3、図4
を用いて詳しく説明する。
【0023】211は、計算機101に接続された磁気
ディスク装置である。同磁気ディスク装置211には、
ジョブ制御文格納ファイル212とパイプ連携定義ファ
イル213が格納されている。これらの情報は、計算機
101の電源が落とされても残るため、計算機101の
電源を入れ直す毎に再作成する必要はない。このうち、
ジョブ制御文格納ファイル212には、計算機101で
実行する各ジョブの実行条件、実行環境が登録されてお
り、各ジョブは本ジョブ制御文に記された環境に従って
実行される。要求元ジョブ103のパイプ連携相手とし
て起動すべきジョブの情報は、オープン制御部202が
このジョブ制御文格納ファイル212を参照することに
より取得する。一方、パイプ連携定義ファイル213
は、パイプ連携定義テーブル209と同一内容であり、
計算機101の電源投入後、始めてパイプ連携要求がな
されたとき、オープン制御部202によってパイプ連携
定義テーブル209へ、その内容がコピーされる。
ディスク装置である。同磁気ディスク装置211には、
ジョブ制御文格納ファイル212とパイプ連携定義ファ
イル213が格納されている。これらの情報は、計算機
101の電源が落とされても残るため、計算機101の
電源を入れ直す毎に再作成する必要はない。このうち、
ジョブ制御文格納ファイル212には、計算機101で
実行する各ジョブの実行条件、実行環境が登録されてお
り、各ジョブは本ジョブ制御文に記された環境に従って
実行される。要求元ジョブ103のパイプ連携相手とし
て起動すべきジョブの情報は、オープン制御部202が
このジョブ制御文格納ファイル212を参照することに
より取得する。一方、パイプ連携定義ファイル213
は、パイプ連携定義テーブル209と同一内容であり、
計算機101の電源投入後、始めてパイプ連携要求がな
されたとき、オープン制御部202によってパイプ連携
定義テーブル209へ、その内容がコピーされる。
【0024】図3は、パイプ連携定義テーブル209の
構成図である。同テーブル209の各エントリは、ファ
イル名称フィールド301、第1のジョブ名称フィール
ド302、第2のジョブ名称フィールド303から構成
され、第1のジョブ名称フィールド302と、第2のジ
ョブ名称フィールド303とに記述された二つのジョブ
が、ファイル名称フィールド301に記述されたファイ
ルをパイプ型データ転送することを定義している。例え
ば図3の第1エントリは、「JOB_A」と「JOB_
B」なる名称の二つのジョブ間で、「PIPE.FIL
E.01」なるファイルをパイプ連携することが定義さ
れている。同テーブル209は、パイプ連携相手ジョブ
を特性する目的で、オープン制御部202が利用する。
構成図である。同テーブル209の各エントリは、ファ
イル名称フィールド301、第1のジョブ名称フィール
ド302、第2のジョブ名称フィールド303から構成
され、第1のジョブ名称フィールド302と、第2のジ
ョブ名称フィールド303とに記述された二つのジョブ
が、ファイル名称フィールド301に記述されたファイ
ルをパイプ型データ転送することを定義している。例え
ば図3の第1エントリは、「JOB_A」と「JOB_
B」なる名称の二つのジョブ間で、「PIPE.FIL
E.01」なるファイルをパイプ連携することが定義さ
れている。同テーブル209は、パイプ連携相手ジョブ
を特性する目的で、オープン制御部202が利用する。
【0025】なお、本実施の形態では、パイプ連携は一
つのジョブと一つのジョブとの間の適用に限定する。そ
のため、パイプ連携定義テーブル209は二つのジョブ
名称フィールドしか持たない。一般的には、複数のジョ
ブから複数のジョブへのパイプ連携も可能である。そう
したケースにも本発明を適用する場合、各エントリのジ
ョブ名称フィールドの数を、適用可能なジョブ数の上限
個に拡張すればよい。また、図3ではエントリ数は5個
としているが、このエントリ数もそれぞれのシステムで
定義するパイプ連携の数に応じて加減する必要がある。
つのジョブと一つのジョブとの間の適用に限定する。そ
のため、パイプ連携定義テーブル209は二つのジョブ
名称フィールドしか持たない。一般的には、複数のジョ
ブから複数のジョブへのパイプ連携も可能である。そう
したケースにも本発明を適用する場合、各エントリのジ
ョブ名称フィールドの数を、適用可能なジョブ数の上限
個に拡張すればよい。また、図3ではエントリ数は5個
としているが、このエントリ数もそれぞれのシステムで
定義するパイプ連携の数に応じて加減する必要がある。
【0026】既に説明した通り、パイプ連携定義テーブ
ル209は、計算機101の電源投入後、初めてパイプ
連携要求がなされたとき、オープン制御部202によっ
てパイプ連携定義ファイル213の内容がコピーされ
る。このとき、パイプ連携定義ファイル213はあらか
じめ生成されていなければならない。本第1の実施の形
態では、一般的なファイル編集プログラムなどを用い
て、上で記した規則に従い、利用者が直接パイプ連携定
義ファイル213を作成するものとする。パイプ連携を
実行するジョブの組み合わせを変更したい場合は、その
部分だけパイプ連携定義ファイル213を修正すれば、
次回電源投入時以降、新しいジョブの組み合わせによる
パイプ連携処理が可能になる。
ル209は、計算機101の電源投入後、初めてパイプ
連携要求がなされたとき、オープン制御部202によっ
てパイプ連携定義ファイル213の内容がコピーされ
る。このとき、パイプ連携定義ファイル213はあらか
じめ生成されていなければならない。本第1の実施の形
態では、一般的なファイル編集プログラムなどを用い
て、上で記した規則に従い、利用者が直接パイプ連携定
義ファイル213を作成するものとする。パイプ連携を
実行するジョブの組み合わせを変更したい場合は、その
部分だけパイプ連携定義ファイル213を修正すれば、
次回電源投入時以降、新しいジョブの組み合わせによる
パイプ連携処理が可能になる。
【0027】図4は、連携待ちジョブ登録テーブル21
0の構成図である。401は、各時点において連携相手
ジョブの起動待ち状態となっているパイプ連携ファイル
を格納する連携待ちファイルフィールドであり、402
は、連携相手ジョブの起動を待っているジョブの名称を
格納する連携待ちジョブフィールドである。例えば図4
の第1エントリは、「PIPE.FILE.02」なる
パイプ連携対象ファイルへの処理要求を発行した「JO
B_C」なる名称のジョブが、連携相手ジョブの起動待
ちとなっていることを表わす。同じく第2エントリは、
ファイル「PIPE.FILE.04」への処理要求を
発行したジョブ「JOB_H」が、連携相手ジョブの起
動待ち状態となっていることを表わす。図3で示した通
り、本実施の形態では定義されたパイプ連携の数は5個
なので、連携待ちジョブ登録テーブル210のエントリ
数もあらかじめ5個としておき、必要に応じて空白エン
トリに連携待ちファイル、ジョブを登録する。
0の構成図である。401は、各時点において連携相手
ジョブの起動待ち状態となっているパイプ連携ファイル
を格納する連携待ちファイルフィールドであり、402
は、連携相手ジョブの起動を待っているジョブの名称を
格納する連携待ちジョブフィールドである。例えば図4
の第1エントリは、「PIPE.FILE.02」なる
パイプ連携対象ファイルへの処理要求を発行した「JO
B_C」なる名称のジョブが、連携相手ジョブの起動待
ちとなっていることを表わす。同じく第2エントリは、
ファイル「PIPE.FILE.04」への処理要求を
発行したジョブ「JOB_H」が、連携相手ジョブの起
動待ち状態となっていることを表わす。図3で示した通
り、本実施の形態では定義されたパイプ連携の数は5個
なので、連携待ちジョブ登録テーブル210のエントリ
数もあらかじめ5個としておき、必要に応じて空白エン
トリに連携待ちファイル、ジョブを登録する。
【0028】図5は、第1の実施の形態におけるパイプ
連携実行部102内オープン制御部202の処理フロー
チャートである。オープン制御部202は、各ジョブか
らパイプ連携対象ファイルへのオープン要求を受け取っ
たパイプ連携アクセス受付部201により起動される。
起動されたオープン制御部202は、はじめに本計算機
101のパイプ連携実行部102内に、パイプ連携定義
テーブル209が存在するか否か判定(ステップ50
1)する。存在しない場合は、計算機101の電源投入
後、はじめてパイプ連携要求が発行されたことを意味し
ており、磁気ディスク装置211内のパイプ連携定義フ
ァイル213の内容を、パイプ連携定義テーブル209
にコピー(ステップ502)する。このとき、パイプ連
携定義ファイル213は既に利用者によって生成されて
いるものとする。
連携実行部102内オープン制御部202の処理フロー
チャートである。オープン制御部202は、各ジョブか
らパイプ連携対象ファイルへのオープン要求を受け取っ
たパイプ連携アクセス受付部201により起動される。
起動されたオープン制御部202は、はじめに本計算機
101のパイプ連携実行部102内に、パイプ連携定義
テーブル209が存在するか否か判定(ステップ50
1)する。存在しない場合は、計算機101の電源投入
後、はじめてパイプ連携要求が発行されたことを意味し
ており、磁気ディスク装置211内のパイプ連携定義フ
ァイル213の内容を、パイプ連携定義テーブル209
にコピー(ステップ502)する。このとき、パイプ連
携定義ファイル213は既に利用者によって生成されて
いるものとする。
【0029】引き続き、当該オープン命令を要求したジ
ョブとパイプ連携を行なう連携相手ジョブが既に処理要
求を発行済みか否かを判定(ステップ503)する。同
判定は、連携待ちジョブ登録テーブル210を参照し、
連携待ちファイルフィールド401の内容が、現在オー
プン命令を処理中のファイル名称と一致するエントリが
存在するか否かを判定することによって実現される。連
携相手ジョブがまだ処理要求を発行していないと判定し
た場合、当該パイプ連携処理に対応したパイプ連携仮想
ファイル領域206を新たに生成(ステップ504)す
る。
ョブとパイプ連携を行なう連携相手ジョブが既に処理要
求を発行済みか否かを判定(ステップ503)する。同
判定は、連携待ちジョブ登録テーブル210を参照し、
連携待ちファイルフィールド401の内容が、現在オー
プン命令を処理中のファイル名称と一致するエントリが
存在するか否かを判定することによって実現される。連
携相手ジョブがまだ処理要求を発行していないと判定し
た場合、当該パイプ連携処理に対応したパイプ連携仮想
ファイル領域206を新たに生成(ステップ504)す
る。
【0030】続いて、処理中のパイプ連携ファイルの情
報が、パイプ連携定義テーブル209内に存在するか否
かを判定(ステップ506)する。同判定は、パイプ連
携定義テーブル209の全エントリの中で、ファイル名
称フィールド301が現在処理中のファイル名称と一致
し、かつ、第1のジョブ名称フィールド302もしくは
第2のジョブ名称フィールド303のいずれか一方の内
容が、現在処理中のジョブ名称と一致し、かつ、他方に
別のジョブ名称が格納されているか否かを判定すること
によって実現できる。
報が、パイプ連携定義テーブル209内に存在するか否
かを判定(ステップ506)する。同判定は、パイプ連
携定義テーブル209の全エントリの中で、ファイル名
称フィールド301が現在処理中のファイル名称と一致
し、かつ、第1のジョブ名称フィールド302もしくは
第2のジョブ名称フィールド303のいずれか一方の内
容が、現在処理中のジョブ名称と一致し、かつ、他方に
別のジョブ名称が格納されているか否かを判定すること
によって実現できる。
【0031】該当するエントリが存在した場合、ジョブ
名称フィールド302もしくは303のうち、自ジョブ
とは異なる側のフィールドに格納されているジョブ名称
を持つジョブを起動(ステップ506)する。ステップ
505の判定で、該当するエントリが存在しなかった場
合は、利用者の登録漏れ、または新規作成ジョブからの
処理要求であったなどの理由によって、連携相手ジョブ
を起動できない。
名称フィールド302もしくは303のうち、自ジョブ
とは異なる側のフィールドに格納されているジョブ名称
を持つジョブを起動(ステップ506)する。ステップ
505の判定で、該当するエントリが存在しなかった場
合は、利用者の登録漏れ、または新規作成ジョブからの
処理要求であったなどの理由によって、連携相手ジョブ
を起動できない。
【0032】連携相手ジョブを起動するしないにかかわ
らず、引き続き、自ジョブ名称を連携待ちジョブフィー
ルド402に格納し、現在処理中のファイル名称を連携
待ちファイルフィールド401に格納したエントリを、
連携待ちジョブ登録テーブル210に新規作成(ステッ
プ507)し、要求元ジョブを待ち状態に設定(ステッ
プ508)する。ここで、ステップ506において連携
相手ジョブを起動できた場合には、ここで待ち状態に設
定された要求元ジョブは、すぐにその待ち状態を解除さ
れる。一方、連携相手ジョブを起動できなかった場合
は、従来方式同様に、以後、別の手段を用いて連携相手
ジョブが起動されるまで待ち状態のままとなる。
らず、引き続き、自ジョブ名称を連携待ちジョブフィー
ルド402に格納し、現在処理中のファイル名称を連携
待ちファイルフィールド401に格納したエントリを、
連携待ちジョブ登録テーブル210に新規作成(ステッ
プ507)し、要求元ジョブを待ち状態に設定(ステッ
プ508)する。ここで、ステップ506において連携
相手ジョブを起動できた場合には、ここで待ち状態に設
定された要求元ジョブは、すぐにその待ち状態を解除さ
れる。一方、連携相手ジョブを起動できなかった場合
は、従来方式同様に、以後、別の手段を用いて連携相手
ジョブが起動されるまで待ち状態のままとなる。
【0033】以上が、オープン制御部202の処理フロ
ーチャートのうち、先にパイプ連携を要求した要求元ジ
ョブ103に対する処理である。オープン制御部202
は、要求先ジョブ104からのオープン命令に対しても
起動され、それに対応した処理を実現する。すなわち、
後から起動された要求先ジョブ104に対しては、ステ
ップ503の判定において、連携相手ジョブが既に処理
要求を発行済みであると判定される。この判定結果は、
要求元ジョブ103が自ジョブの情報を、ステップ50
7にて連携待ちジョブ登録テーブル210へ登録したこ
とによる。
ーチャートのうち、先にパイプ連携を要求した要求元ジ
ョブ103に対する処理である。オープン制御部202
は、要求先ジョブ104からのオープン命令に対しても
起動され、それに対応した処理を実現する。すなわち、
後から起動された要求先ジョブ104に対しては、ステ
ップ503の判定において、連携相手ジョブが既に処理
要求を発行済みであると判定される。この判定結果は、
要求元ジョブ103が自ジョブの情報を、ステップ50
7にて連携待ちジョブ登録テーブル210へ登録したこ
とによる。
【0034】連携相手ジョブが既に処理要求を発行済み
であると判定した場合、続いて現在処理要求中のジョブ
の情報を、対応するパイプ連携仮想ファイル領域206
内に記録(ステップ509)する。ここで記録する情報
とは、例えばジョブ名称や、ジョブがオープン命令を発
行済であることを示すフラグなどであるが、それらにつ
いては従来技術を利用できるため、詳しい説明は省略す
る。
であると判定した場合、続いて現在処理要求中のジョブ
の情報を、対応するパイプ連携仮想ファイル領域206
内に記録(ステップ509)する。ここで記録する情報
とは、例えばジョブ名称や、ジョブがオープン命令を発
行済であることを示すフラグなどであるが、それらにつ
いては従来技術を利用できるため、詳しい説明は省略す
る。
【0035】ジョブ情報を記録したのち、連携待ちジョ
ブ登録テーブル210から、連携相手ジョブ、及び、本
パイプ連携対象ファイルの名称を格納したエントリを削
除(ステップ510)する。この処理は、連携相手ジョ
ブがオープン処理要求し、もはや待ち状態でいる必要が
ないことを明示するものである。続けて連携相手ジョ
ブ、すなわち要求元ジョブ103の待ち状態を解除(ス
テップ511)する。
ブ登録テーブル210から、連携相手ジョブ、及び、本
パイプ連携対象ファイルの名称を格納したエントリを削
除(ステップ510)する。この処理は、連携相手ジョ
ブがオープン処理要求し、もはや待ち状態でいる必要が
ないことを明示するものである。続けて連携相手ジョ
ブ、すなわち要求元ジョブ103の待ち状態を解除(ス
テップ511)する。
【0036】以上示した処理により、第1の実施の形態
では、先に実行を開始した要求元ジョブ103からの要
求に応じて、連携相手である要求先ジョブ104を起動
し、その後、要求元ジョブ103を待ち状態に設定する
が、起動された要求先104からの処理要求に応じ、す
ぐさま要求元ジョブ103の待ち状態を解除しているこ
とが分かる。すなわち、本発明を利用することで、パイ
プ連携相手ジョブが起動されないことが原因で最初に処
理要求したジョブが長時間待たされることがなくなり、
データ受け渡し処理の高速化、ジョブ実行管理の簡略化
が可能となる。
では、先に実行を開始した要求元ジョブ103からの要
求に応じて、連携相手である要求先ジョブ104を起動
し、その後、要求元ジョブ103を待ち状態に設定する
が、起動された要求先104からの処理要求に応じ、す
ぐさま要求元ジョブ103の待ち状態を解除しているこ
とが分かる。すなわち、本発明を利用することで、パイ
プ連携相手ジョブが起動されないことが原因で最初に処
理要求したジョブが長時間待たされることがなくなり、
データ受け渡し処理の高速化、ジョブ実行管理の簡略化
が可能となる。
【0037】引き続き、第2の実施の形態について説明
する。第2の実施の形態が第1の実施の形態と異なる点
は、パイプ連携定義ファイル213の生成方法である。
第1の実施の形態では、同ファイル213は、利用者が
直接生成していた。そのため、利用者が計算機101内
で実行されるジョブの特性を十分に理解している必要が
あった。ところが、計算機システムの規模が大きくなる
と、一つの計算機に登録されるジョブの数は数百個から
数千個といった数になり、なおかつ、システムの拡大に
つれて更にジョブが追加されていくこともある。そうな
ると、利用者が、膨大なジョブ群の中からパイプ連携を
行なうジョブを抽出することが困難になる。そこで第2
の実施の形態は、大規模計算機システムへの適用を想定
し、計算機に登録されたジョブの中から、パイプ連携を
実行するジョブとファイルの関係を抽出し、それを元に
パイプ連携定義ファイル213を自動的に生成するもの
である。これにより、利用者の手間を更に軽減できる。
する。第2の実施の形態が第1の実施の形態と異なる点
は、パイプ連携定義ファイル213の生成方法である。
第1の実施の形態では、同ファイル213は、利用者が
直接生成していた。そのため、利用者が計算機101内
で実行されるジョブの特性を十分に理解している必要が
あった。ところが、計算機システムの規模が大きくなる
と、一つの計算機に登録されるジョブの数は数百個から
数千個といった数になり、なおかつ、システムの拡大に
つれて更にジョブが追加されていくこともある。そうな
ると、利用者が、膨大なジョブ群の中からパイプ連携を
行なうジョブを抽出することが困難になる。そこで第2
の実施の形態は、大規模計算機システムへの適用を想定
し、計算機に登録されたジョブの中から、パイプ連携を
実行するジョブとファイルの関係を抽出し、それを元に
パイプ連携定義ファイル213を自動的に生成するもの
である。これにより、利用者の手間を更に軽減できる。
【0038】図6は、第2の実施の形態の構成図であ
る。図2で示した第1の実施の形態との違いは、パイプ
連携定義ファイル213を生成するパイプ連携抽出部6
01が追加された点である。また、オープン制御部60
2、連携待ちジョブ登録テーブル603は、それぞれ第
1の実施の形態においても、それらに相当する構成要素
が存在したが、その処理内容、構成は異なる。詳しく
は、引き続き図を用いて説明する。なお、図2で示した
ライト制御部203、リード制御部204、クローズ制
御部205は、本発明とは直接関係しないため、図6で
は省略する。
る。図2で示した第1の実施の形態との違いは、パイプ
連携定義ファイル213を生成するパイプ連携抽出部6
01が追加された点である。また、オープン制御部60
2、連携待ちジョブ登録テーブル603は、それぞれ第
1の実施の形態においても、それらに相当する構成要素
が存在したが、その処理内容、構成は異なる。詳しく
は、引き続き図を用いて説明する。なお、図2で示した
ライト制御部203、リード制御部204、クローズ制
御部205は、本発明とは直接関係しないため、図6で
は省略する。
【0039】図7は、パイプ連携抽出部601の処理フ
ローチャートである。本実施の形態では、パイプ連携抽
出部601の実行開始は、利用者が直接指示する。計算
機101の電源投入後、最初にパイプ連携処理を実行す
る前に、同パイプ連携抽出部601を実行し、パイプ連
携定義ファイル213を生成しておかなければならな
い。ただし、これとは別に、最初にパイプ連携処理を実
行したとき、パイプ連携定義ファイル213が存在しな
いことを検出したパイプ連携実行部102が、利用者か
らの指示を待たずにパイプ連携抽出部601を起動し、
パイプ連携定義ファイル213を生成するといった方法
も可能である。
ローチャートである。本実施の形態では、パイプ連携抽
出部601の実行開始は、利用者が直接指示する。計算
機101の電源投入後、最初にパイプ連携処理を実行す
る前に、同パイプ連携抽出部601を実行し、パイプ連
携定義ファイル213を生成しておかなければならな
い。ただし、これとは別に、最初にパイプ連携処理を実
行したとき、パイプ連携定義ファイル213が存在しな
いことを検出したパイプ連携実行部102が、利用者か
らの指示を待たずにパイプ連携抽出部601を起動し、
パイプ連携定義ファイル213を生成するといった方法
も可能である。
【0040】起動されたパイプ連携抽出部601は、シ
ステムに登録してある一つ一つのジョブを記述したジョ
ブ制御文を格納したジョブ制御文格納ファイル212よ
り、任意の順番で一つのジョブ制御文を抽出(ステップ
701)する。続いて、抽出したジョブ制御文が、パイ
プ連携処理の実行を指定しているかを判定(ステップ7
02)する。同判定は、ジョブ制御文を解析することに
より実現できる。
ステムに登録してある一つ一つのジョブを記述したジョ
ブ制御文を格納したジョブ制御文格納ファイル212よ
り、任意の順番で一つのジョブ制御文を抽出(ステップ
701)する。続いて、抽出したジョブ制御文が、パイ
プ連携処理の実行を指定しているかを判定(ステップ7
02)する。同判定は、ジョブ制御文を解析することに
より実現できる。
【0041】ここで、ジョブ制御文の記述例を、図8で
示す。ジョブ制御文は公知の技術であるため詳しい説明
は省略するが、図8において、801、802はそれぞ
れ異なるジョブを定義したジョブ制御文であるが、いず
れもその第1行にてジョブ名称を、第2行で実行するプ
ログラムを、第3行でアクセスするファイルを定義して
いる。更に、アクセスするファイルの定義では、「FI
LE=」に引き続いてファイル名称を、「DEVICE
=」に引き続いてファイルが格納されている装置属性を
定義している。ファイルが格納されている装置属性と
は、一般には磁気ディスク装置や磁気テープ装置などを
指定するが、本実施の形態では「DEVICE=PIP
E」なる指定によって、同ファイルがパイプ連携対象フ
ァイルであることを定義するものとする。
示す。ジョブ制御文は公知の技術であるため詳しい説明
は省略するが、図8において、801、802はそれぞ
れ異なるジョブを定義したジョブ制御文であるが、いず
れもその第1行にてジョブ名称を、第2行で実行するプ
ログラムを、第3行でアクセスするファイルを定義して
いる。更に、アクセスするファイルの定義では、「FI
LE=」に引き続いてファイル名称を、「DEVICE
=」に引き続いてファイルが格納されている装置属性を
定義している。ファイルが格納されている装置属性と
は、一般には磁気ディスク装置や磁気テープ装置などを
指定するが、本実施の形態では「DEVICE=PIP
E」なる指定によって、同ファイルがパイプ連携対象フ
ァイルであることを定義するものとする。
【0042】そこで、パイプ連携処理の実行を指定して
いるかの判定(ステップ702)は、抽出したジョブ制
御文の中に記述されたファイルの定義が、「DEVIC
E=PIPE」なる指定を持つか否かを判定することに
より実現できる。同判定において、パイプ連携処理を指
定していた場合、引き続き、パイプ連携定義ファイル2
13の中に、該当するファイルの名称(「FILE=」
で定義されたファイル名称)と同じ内容のファイル名称
フィールド301を持つエントリが存在するか否かを判
定(ステップ703)する。
いるかの判定(ステップ702)は、抽出したジョブ制
御文の中に記述されたファイルの定義が、「DEVIC
E=PIPE」なる指定を持つか否かを判定することに
より実現できる。同判定において、パイプ連携処理を指
定していた場合、引き続き、パイプ連携定義ファイル2
13の中に、該当するファイルの名称(「FILE=」
で定義されたファイル名称)と同じ内容のファイル名称
フィールド301を持つエントリが存在するか否かを判
定(ステップ703)する。
【0043】該当するエントリがなければ、パイプ連携
定義ファイル213の中に、ファイル名称フィールド3
01に「FILE=」で定義されたファイル名称を格納
し、第1のジョブ名称フィールド302にジョブ制御文
の第1行の先頭に記述されたジョブ名称を格納した新規
エントリを追加(ステップ704)する。
定義ファイル213の中に、ファイル名称フィールド3
01に「FILE=」で定義されたファイル名称を格納
し、第1のジョブ名称フィールド302にジョブ制御文
の第1行の先頭に記述されたジョブ名称を格納した新規
エントリを追加(ステップ704)する。
【0044】ステップ703の判定で、該当するエント
リが存在する場合は、既にファイル名称フィールド30
1、第1のジョブ名称フィールド302にはそれぞれ特
定の名称が格納されているはずなので、残る第2のジョ
ブ名称フィールド303に、ジョブ制御文の第1行の先
頭に記述されたジョブ名称を格納(ステップ705)す
る。これによって、ファイル名称フィールド301で記
されたパイプ連携ファイルを介し、第1のジョブ名称フ
ィールド302、第2のジョブ名称フィールド303で
記された二つのジョブがパイプ連携処理を実行すること
が定義されたことになる。例えば、図8で示した二つの
ジョブ制御文801、802がこの順序で抽出されたと
すると、ファイル名称フィールド301に「FILE.
PIPE.01」、第1のジョブ名称フィールド302
に「JOB_A」、第2のジョブ名称フィールド303
に「JOB_B」がそれぞれ格納されたエントリが、パ
イプ連携定義ファイル213の中に生成されるはずであ
る。
リが存在する場合は、既にファイル名称フィールド30
1、第1のジョブ名称フィールド302にはそれぞれ特
定の名称が格納されているはずなので、残る第2のジョ
ブ名称フィールド303に、ジョブ制御文の第1行の先
頭に記述されたジョブ名称を格納(ステップ705)す
る。これによって、ファイル名称フィールド301で記
されたパイプ連携ファイルを介し、第1のジョブ名称フ
ィールド302、第2のジョブ名称フィールド303で
記された二つのジョブがパイプ連携処理を実行すること
が定義されたことになる。例えば、図8で示した二つの
ジョブ制御文801、802がこの順序で抽出されたと
すると、ファイル名称フィールド301に「FILE.
PIPE.01」、第1のジョブ名称フィールド302
に「JOB_A」、第2のジョブ名称フィールド303
に「JOB_B」がそれぞれ格納されたエントリが、パ
イプ連携定義ファイル213の中に生成されるはずであ
る。
【0045】ステップ702の判定において、抽出した
ジョブ制御文がパイプ連携を指定しないと判定した場合
には、上記ステップ703からステップ705の処理は
実行しない。
ジョブ制御文がパイプ連携を指定しないと判定した場合
には、上記ステップ703からステップ705の処理は
実行しない。
【0046】続けて、ジョブ制御文格納ファイル212
に、判定処理を実行していないジョブ制御文が存在する
か否かを判定(ステップ706)し、存在すれば、再び
該当するジョブ制御文を抽出(ステップ701)し、同
様の処理を行なう。以下、すべてのジョブ制御文に対す
る処理を完了したとき、本計算機101で実行されるす
べてのパイプ連携処理の情報が、パイプ連携定義ファイ
ル213に定義されることになる。
に、判定処理を実行していないジョブ制御文が存在する
か否かを判定(ステップ706)し、存在すれば、再び
該当するジョブ制御文を抽出(ステップ701)し、同
様の処理を行なう。以下、すべてのジョブ制御文に対す
る処理を完了したとき、本計算機101で実行されるす
べてのパイプ連携処理の情報が、パイプ連携定義ファイ
ル213に定義されることになる。
【0047】ところで、第1の実施の形態では、パイプ
連携定義ファイル212を生成したあと新しくシステム
に登録されたジョブからパイプ連携が要求されても、そ
の情報はパイプ連携定義ファイル212に反映されな
い。その情報を反映させたい場合は、利用者が再びパイ
プ連携定義ファイル212を直接編集する必要があっ
た。それに対して本第2の実施の形態では、処理中、パ
イプ連携定義ファイル212に存在しないパイプ連携の
要求がなされた場合、その時点で更に連携相手ジョブの
検索を実行し、該当するジョブが存在すればその情報を
ファイル212に追加する。
連携定義ファイル212を生成したあと新しくシステム
に登録されたジョブからパイプ連携が要求されても、そ
の情報はパイプ連携定義ファイル212に反映されな
い。その情報を反映させたい場合は、利用者が再びパイ
プ連携定義ファイル212を直接編集する必要があっ
た。それに対して本第2の実施の形態では、処理中、パ
イプ連携定義ファイル212に存在しないパイプ連携の
要求がなされた場合、その時点で更に連携相手ジョブの
検索を実行し、該当するジョブが存在すればその情報を
ファイル212に追加する。
【0048】パイプ連携定義ファイル212への新規情
報追加は、パイプ連携抽出部601ではなく、オープン
制御部602が実行する。これを実現するため、連携待
ちジョブ登録テーブル603の構成も、第1の実施の形
態とは変更する。すなわち、連携待ちファイルフィール
ド901、連携待ちジョブフィールド902に加え、連
携待ち種別フィールド903を各エントリに用意する。
連携待ち種別フィールド903には、それぞれのエント
リに格納されたパイプ連携処理が、既にパイプ連携定義
ファイル212に定義されているか、そうでないかの種
別を格納し、例えば「OLD」「NEW」といった記号
で表わす。この情報の具体的な利用方法は、引き続き図
10を用いて説明する。
報追加は、パイプ連携抽出部601ではなく、オープン
制御部602が実行する。これを実現するため、連携待
ちジョブ登録テーブル603の構成も、第1の実施の形
態とは変更する。すなわち、連携待ちファイルフィール
ド901、連携待ちジョブフィールド902に加え、連
携待ち種別フィールド903を各エントリに用意する。
連携待ち種別フィールド903には、それぞれのエント
リに格納されたパイプ連携処理が、既にパイプ連携定義
ファイル212に定義されているか、そうでないかの種
別を格納し、例えば「OLD」「NEW」といった記号
で表わす。この情報の具体的な利用方法は、引き続き図
10を用いて説明する。
【0049】図10は、第2の実施の形態におけるオー
プン制御部602の処理フローチャートである。ただ
し、計算機101の電源投入後、2回目以降のパイプ連
携処理要求に対応している。最初のパイプ連携処理に対
しては、まずパイプ連携定義ファイル213の内容をパ
イプ連携定義テーブル209にコピーしなければならな
いが、その処理は第1の実施の形態と同様であるため省
略する。
プン制御部602の処理フローチャートである。ただ
し、計算機101の電源投入後、2回目以降のパイプ連
携処理要求に対応している。最初のパイプ連携処理に対
しては、まずパイプ連携定義ファイル213の内容をパ
イプ連携定義テーブル209にコピーしなければならな
いが、その処理は第1の実施の形態と同様であるため省
略する。
【0050】パイプ連携アクセス受付部201によって
起動されたオープン制御部602は、はじめに連携相手
ジョブが既にパイプ連携処理要求を発行済みか否かを判
定(ステップ1001)する。連携相手ジョブがまだ処
理要求を発行していない場合、当該パイプ連携処理に対
応したパイプ連携仮想ファイル領域206を新たに生成
(ステップ1002)する。
起動されたオープン制御部602は、はじめに連携相手
ジョブが既にパイプ連携処理要求を発行済みか否かを判
定(ステップ1001)する。連携相手ジョブがまだ処
理要求を発行していない場合、当該パイプ連携処理に対
応したパイプ連携仮想ファイル領域206を新たに生成
(ステップ1002)する。
【0051】続いて、処理中のパイプ連携ファイル、ジ
ョブの情報が、パイプ連携定義テーブル209内に存在
するか否かを判定(ステップ1003)する。同判定
は、パイプ連携定義テーブル209の全エントリを検索
することによって実現できる。該当する情報が存在しな
い場合は、現在処理中のジョブは、パイプ連携定義ファ
イル213作成後にジョブ制御文格納ファイル212に
登録されたものであると考えることができ、更に、その
連携相手となるジョブも同時にジョブ制御文格納ファイ
ル212へ登録されている可能性が高い。
ョブの情報が、パイプ連携定義テーブル209内に存在
するか否かを判定(ステップ1003)する。同判定
は、パイプ連携定義テーブル209の全エントリを検索
することによって実現できる。該当する情報が存在しな
い場合は、現在処理中のジョブは、パイプ連携定義ファ
イル213作成後にジョブ制御文格納ファイル212に
登録されたものであると考えることができ、更に、その
連携相手となるジョブも同時にジョブ制御文格納ファイ
ル212へ登録されている可能性が高い。
【0052】そこで、ステップ1003の判定で、処理
中のジョブの情報がパイプ連携定義テーブル209内に
存在しなかった場合は、引き続き、ジョブ制御文格納フ
ァイル212に格納されたすべてのジョブ制御文を検索
し、当該ジョブの連携相手となるジョブが存在するか否
かを判定(ステップ1004)する。上記判定は、現在
処理中のファイルと同じ名称を持つファイルをアクセス
しており、かつ、同アクセスファイルの装置属性がパイ
プ連携であるジョブが存在するか否かを判定することに
より実現できる。該当するジョブが存在した場合、新た
なパイプ連携処理がシステムに登録されたと見なし、当
該パイプ連携情報をパイプ連携定義テーブル209、パ
イプ連携定義ファイル213の双方に追加(ステップ1
005)する。具体的には、現在処理中のファイル名称
をファイル名称フィールド301に、現在処理要求中の
ジョブ名称を第1のジョブ名称フィールド302に、ス
テップ1004の判定で発見した連携相手ジョブの名称
を第2のジョブ名称フィールド303にそれぞれ格納し
たエントリを、パイプ連携定義テーブル209、パイプ
連携定義ファイル213に追加する。このとき、新規パ
イプ連携情報をパイプ連携定義テーブル209だけでは
なく、パイプ連携定義ファイル213にも追加すること
によって、計算機の電源を再投入した後も、追加した新
規パイプ連携情報を利用できる。
中のジョブの情報がパイプ連携定義テーブル209内に
存在しなかった場合は、引き続き、ジョブ制御文格納フ
ァイル212に格納されたすべてのジョブ制御文を検索
し、当該ジョブの連携相手となるジョブが存在するか否
かを判定(ステップ1004)する。上記判定は、現在
処理中のファイルと同じ名称を持つファイルをアクセス
しており、かつ、同アクセスファイルの装置属性がパイ
プ連携であるジョブが存在するか否かを判定することに
より実現できる。該当するジョブが存在した場合、新た
なパイプ連携処理がシステムに登録されたと見なし、当
該パイプ連携情報をパイプ連携定義テーブル209、パ
イプ連携定義ファイル213の双方に追加(ステップ1
005)する。具体的には、現在処理中のファイル名称
をファイル名称フィールド301に、現在処理要求中の
ジョブ名称を第1のジョブ名称フィールド302に、ス
テップ1004の判定で発見した連携相手ジョブの名称
を第2のジョブ名称フィールド303にそれぞれ格納し
たエントリを、パイプ連携定義テーブル209、パイプ
連携定義ファイル213に追加する。このとき、新規パ
イプ連携情報をパイプ連携定義テーブル209だけでは
なく、パイプ連携定義ファイル213にも追加すること
によって、計算機の電源を再投入した後も、追加した新
規パイプ連携情報を利用できる。
【0053】引き続き、ステップ1004で新規の連携
相手ジョブを発見した場合、もしくは、ステップ100
3で既に当該パイプ連携の情報がパイプ連携定義テーブ
ル209に存在した場合は、該当するパイプ連携相手ジ
ョブを起動(ステップ1006)する。ステップ100
4の判定で、新規の連携相手ジョブを発見できなかった
場合は、ステップ1005、1006の処理は行なわな
い。なお、新規の連携相手ジョブを発見できなかった理
由は、パイプ連携を実行する二つのジョブのうち、いず
れか一方だけが先に登録されたこと等が考えられる。
相手ジョブを発見した場合、もしくは、ステップ100
3で既に当該パイプ連携の情報がパイプ連携定義テーブ
ル209に存在した場合は、該当するパイプ連携相手ジ
ョブを起動(ステップ1006)する。ステップ100
4の判定で、新規の連携相手ジョブを発見できなかった
場合は、ステップ1005、1006の処理は行なわな
い。なお、新規の連携相手ジョブを発見できなかった理
由は、パイプ連携を実行する二つのジョブのうち、いず
れか一方だけが先に登録されたこと等が考えられる。
【0054】以上の処理が終了したあと、現在処理要求
中のジョブを待ち状態に設定するが、その前に、その待
ち状態の情報を連携待ちジョブ登録テーブル603に登
録(ステップ1007)する。既に示した通り、連携待
ちジョブ登録テーブル603は図9で示す構成を持って
いる。このうち、連携待ちファイルフィールド901、
連携待ちジョブフィールド902には、第1の実施の形
態と同様に、処理中のファイル名称、ジョブ名称をそれ
ぞれ格納する。残る連携待ち種別フィールド903に
は、ステップ1006で連携相手ジョブを起動できた場
合には、当該パイプ連携が既にテーブルに登録済みであ
ることを示す情報、例えば文字例「OLD」を格納す
る。逆に、連携相手ジョブが見つからなかった場合に
は、連携相手ジョブが新規に登録される可能性のあるジ
ョブであることを示す情報、例えば文字列「NEW」を
格納する。
中のジョブを待ち状態に設定するが、その前に、その待
ち状態の情報を連携待ちジョブ登録テーブル603に登
録(ステップ1007)する。既に示した通り、連携待
ちジョブ登録テーブル603は図9で示す構成を持って
いる。このうち、連携待ちファイルフィールド901、
連携待ちジョブフィールド902には、第1の実施の形
態と同様に、処理中のファイル名称、ジョブ名称をそれ
ぞれ格納する。残る連携待ち種別フィールド903に
は、ステップ1006で連携相手ジョブを起動できた場
合には、当該パイプ連携が既にテーブルに登録済みであ
ることを示す情報、例えば文字例「OLD」を格納す
る。逆に、連携相手ジョブが見つからなかった場合に
は、連携相手ジョブが新規に登録される可能性のあるジ
ョブであることを示す情報、例えば文字列「NEW」を
格納する。
【0055】上記連携待ちジョブ登録テーブル603に
所定の情報を登録したのち、現在処理要求中のジョブを
待ち状態に設定(ステップ1008)し、後続ジョブか
らの処理要求に備える。
所定の情報を登録したのち、現在処理要求中のジョブを
待ち状態に設定(ステップ1008)し、後続ジョブか
らの処理要求に備える。
【0056】以上が、パイプ連携を行なうジョブのう
ち、先に処理要求を発行する要求元ジョブ103に対す
る処理である。引き続き、ステップ1006で起動され
た要求先ジョブ104、または、それとは別に利用者に
よって新規に登録、起動されたジョブからのオープン処
理要求に対する処理を説明する。
ち、先に処理要求を発行する要求元ジョブ103に対す
る処理である。引き続き、ステップ1006で起動され
た要求先ジョブ104、または、それとは別に利用者に
よって新規に登録、起動されたジョブからのオープン処
理要求に対する処理を説明する。
【0057】これらのケースでは、ステップ1001の
判定にて、連携待ちジョブ登録テーブル603を参照し
た結果、連携相手ジョブが既に処理要求を発行済みであ
ると判定される。このとき、引き続き、現在処理中のジ
ョブが、先に処理要求済みの連携相手ジョブによって起
動されたジョブであるか否かを判定(ステップ100
9)する。この判定は、連携待ちジョブ登録テーブル6
03のうち該当するエントリの連携待ち種別フィールド
903を参照し、その内容が「OLD」であるか否かを
判定することにより実現できる。要求元ジョブ103に
対するステップ1007の結果から、同フィールド90
3が「OLD」の場合は連携相手ジョブに起動されたこ
とを意味し、「NEW」であれば新規に登録され、利用
者により起動されたジョブであることを意味する。
判定にて、連携待ちジョブ登録テーブル603を参照し
た結果、連携相手ジョブが既に処理要求を発行済みであ
ると判定される。このとき、引き続き、現在処理中のジ
ョブが、先に処理要求済みの連携相手ジョブによって起
動されたジョブであるか否かを判定(ステップ100
9)する。この判定は、連携待ちジョブ登録テーブル6
03のうち該当するエントリの連携待ち種別フィールド
903を参照し、その内容が「OLD」であるか否かを
判定することにより実現できる。要求元ジョブ103に
対するステップ1007の結果から、同フィールド90
3が「OLD」の場合は連携相手ジョブに起動されたこ
とを意味し、「NEW」であれば新規に登録され、利用
者により起動されたジョブであることを意味する。
【0058】前ステップにて、現在処理中のジョブが連
携相手ジョブによって起動されたものでないと判定した
場合は、当該パイプ連携情報をパイプ連携定義テーブル
209、パイプ連携定義ファイル213の双方に追加
(ステップ1010)する。追加する情報の詳細は、ス
テップ1005と等しい。
携相手ジョブによって起動されたものでないと判定した
場合は、当該パイプ連携情報をパイプ連携定義テーブル
209、パイプ連携定義ファイル213の双方に追加
(ステップ1010)する。追加する情報の詳細は、ス
テップ1005と等しい。
【0059】続いて、第1の実施の形態と同様に、現在
処理要求中のジョブの情報を対応するパイプ連携仮想フ
ァイル領域206内に記録(ステップ1011)し、連
携待ちジョブ登録テーブル603から連携相手ジョブ名
称を格納したエントリを削除(ステップ1012)し、
最後に連携相手ジョブ、すなわち要求元ジョブ103の
待ち状態を解除(ステップ1013)する。
処理要求中のジョブの情報を対応するパイプ連携仮想フ
ァイル領域206内に記録(ステップ1011)し、連
携待ちジョブ登録テーブル603から連携相手ジョブ名
称を格納したエントリを削除(ステップ1012)し、
最後に連携相手ジョブ、すなわち要求元ジョブ103の
待ち状態を解除(ステップ1013)する。
【0060】以上示した処理により、第2の実施の形態
では、先に実行を開始した要求元ジョブ103からの要
求に応じて、連携相手である要求先ジョブ104が起動
され、最初に処理要求したジョブが長時間待たされるこ
とがなくなり、データ受け渡し処理の高速化、ジョブ実
行管理の簡略化が可能となる。なおかつ、パイプ連携を
行なうジョブやファイルの情報は、ジョブ制御文を元に
自動的に定義され、システム運用の途中で新たに定義、
実行されるパイプ連携適用ジョブの情報もただちに定義
情報へ追加され、次回以降の実行に備えることが可能と
なるなど、利用者の手間を大幅に削減できる。
では、先に実行を開始した要求元ジョブ103からの要
求に応じて、連携相手である要求先ジョブ104が起動
され、最初に処理要求したジョブが長時間待たされるこ
とがなくなり、データ受け渡し処理の高速化、ジョブ実
行管理の簡略化が可能となる。なおかつ、パイプ連携を
行なうジョブやファイルの情報は、ジョブ制御文を元に
自動的に定義され、システム運用の途中で新たに定義、
実行されるパイプ連携適用ジョブの情報もただちに定義
情報へ追加され、次回以降の実行に備えることが可能と
なるなど、利用者の手間を大幅に削減できる。
【0061】引き続き、第3の実施の形態について説明
する。これまでの実施の形態は、いずれも単一の計算機
内で実行されるジョブ間でのパイプ連携処理を想定して
いた。それに対して本第3の実施の形態は、それぞれ異
なる計算機で実行されているジョブ間でのパイプ連携処
理への適用を想定している。ここで、複数の計算機と
は、それぞれが独立したオペレーティングシステムによ
って運用管理されているものであるとする。
する。これまでの実施の形態は、いずれも単一の計算機
内で実行されるジョブ間でのパイプ連携処理を想定して
いた。それに対して本第3の実施の形態は、それぞれ異
なる計算機で実行されているジョブ間でのパイプ連携処
理への適用を想定している。ここで、複数の計算機と
は、それぞれが独立したオペレーティングシステムによ
って運用管理されているものであるとする。
【0062】図11に、第3の実施の形態の構成図を示
す。図11で、1101、1102は、それぞれパイプ
連携処理を実行するジョブを実行する計算機であり、便
宜上、1101を第1の計算機、1102を第2の計算
機と呼ぶ。更に、それぞれの計算機を互いに識別する方
法として計算機識別子なる名称をそれぞれの計算機に与
えるものとし、第1の計算機1101の計算機識別子を
「SYS1」、第2の計算機1102の計算機識別子を
「SYS2」とする。ただし、実行される個々のジョブ
の違いを除けば、二つの計算機の構成は同一でも良い。
す。図11で、1101、1102は、それぞれパイプ
連携処理を実行するジョブを実行する計算機であり、便
宜上、1101を第1の計算機、1102を第2の計算
機と呼ぶ。更に、それぞれの計算機を互いに識別する方
法として計算機識別子なる名称をそれぞれの計算機に与
えるものとし、第1の計算機1101の計算機識別子を
「SYS1」、第2の計算機1102の計算機識別子を
「SYS2」とする。ただし、実行される個々のジョブ
の違いを除けば、二つの計算機の構成は同一でも良い。
【0063】本実施の形態では、二つの計算機はいずれ
も、共通の制御計算機1103、共用記憶装置1104
に接続されており、これらの装置を介してデータの受け
渡し、データの共用を行なう。制御計算機1103は、
CPU(中央演算処理装置)や主記憶装置などの構成は
通常の計算機と変わらないが、各計算機から要求を受け
取り、複数計算機間でのデータの共用や通信処理の中継
といった、複数計算機間の連携処理だけを実行する。単
なる共用記憶装置との違いは、自分自身のCPUを備え
ているため、各計算機からの処理要求に対して、なんら
かの処理を自ら実行可能な点にある。一方、共用記憶装
置1104は複数計算機間でのデータの共用目的のみに
利用される。特に、電源を落としたときに消去されては
困るような繰り返し利用する性質の共用データを格納す
る。
も、共通の制御計算機1103、共用記憶装置1104
に接続されており、これらの装置を介してデータの受け
渡し、データの共用を行なう。制御計算機1103は、
CPU(中央演算処理装置)や主記憶装置などの構成は
通常の計算機と変わらないが、各計算機から要求を受け
取り、複数計算機間でのデータの共用や通信処理の中継
といった、複数計算機間の連携処理だけを実行する。単
なる共用記憶装置との違いは、自分自身のCPUを備え
ているため、各計算機からの処理要求に対して、なんら
かの処理を自ら実行可能な点にある。一方、共用記憶装
置1104は複数計算機間でのデータの共用目的のみに
利用される。特に、電源を落としたときに消去されては
困るような繰り返し利用する性質の共用データを格納す
る。
【0064】第1の計算機1101内の1105は、パ
イプ連携要求元ジョブであり、一方、第2の計算機11
02内の1106は、要求先ジョブである。それぞれ、
異なる計算機上で実行されているという点を除けば、こ
れまでの実施の形態での要求元ジョブ、要求先ジョブと
等しい。
イプ連携要求元ジョブであり、一方、第2の計算機11
02内の1106は、要求先ジョブである。それぞれ、
異なる計算機上で実行されているという点を除けば、こ
れまでの実施の形態での要求元ジョブ、要求先ジョブと
等しい。
【0065】1107は、二つの計算機に共通のパイプ
連携実行部であり、少なくともパイプ連携アクセス受付
部1108、オープン制御部1109、他系連携実行部
1110から成る。パイプ連携アクセス受付部1108
は、これまでの実施の形態と同じく、個々のジョブから
パイプ連携対象ファイルへのアクセス要求を受け取り、
そのアクセス種別(オープン、クローズ等)に従って、
対応する制御部を起動する。起動される制御部のうち、
ここでは本発明に固有の処理を行なうオープン制御部1
109のみを記述してある。異なる計算機上で実行され
るジョブ間でのパイプ連携そのものは、特開平7−11
4514号公報などに記載された公知の技術である。
連携実行部であり、少なくともパイプ連携アクセス受付
部1108、オープン制御部1109、他系連携実行部
1110から成る。パイプ連携アクセス受付部1108
は、これまでの実施の形態と同じく、個々のジョブから
パイプ連携対象ファイルへのアクセス要求を受け取り、
そのアクセス種別(オープン、クローズ等)に従って、
対応する制御部を起動する。起動される制御部のうち、
ここでは本発明に固有の処理を行なうオープン制御部1
109のみを記述してある。異なる計算機上で実行され
るジョブ間でのパイプ連携そのものは、特開平7−11
4514号公報などに記載された公知の技術である。
【0066】オープン制御部1109は、各ジョブから
のパイプ連携ファイルへのオープン処理要求に対して起
動される。その処理の目的は、これまでの実施の形態と
同じく、パイプ連携の初期設定や、連携相手ジョブを起
動してパイプ連携を確立することにある。ただし、複数
計算機間での連携を意識した処理が新しい処理が必要と
なる。詳しくは、のちほど図15を用いて説明する。他
系連携実行部1100は、他の計算機のオープン実行部
1109と連携を取ってパイプ連携の確立を目的に処理
を行なう。詳しい処理内容は、のちほど図17を用いて
説明する。
のパイプ連携ファイルへのオープン処理要求に対して起
動される。その処理の目的は、これまでの実施の形態と
同じく、パイプ連携の初期設定や、連携相手ジョブを起
動してパイプ連携を確立することにある。ただし、複数
計算機間での連携を意識した処理が新しい処理が必要と
なる。詳しくは、のちほど図15を用いて説明する。他
系連携実行部1100は、他の計算機のオープン実行部
1109と連携を取ってパイプ連携の確立を目的に処理
を行なう。詳しい処理内容は、のちほど図17を用いて
説明する。
【0067】引き続き、制御計算機1103の構成を説
明する。制御計算機1103には主に、単一計算機上で
のパイプ連携実行部の構成要素のうち、異なるジョブか
らの処理要求に対して共通して利用する必要があった情
報を格納する。すなわち、パイプ連携仮想ファイル領域
206、パイプ連携定義テーブル209、連携待ちジョ
ブ登録テーブル210は、図2で示した第1の実施の形
態での各テーブルと同じ目的で利用する。ただし、パイ
プ連携定義テーブル209と連携待ちジョブ登録テーブ
ル210の構成は、のちほど図13、図14を用いて詳
しく説明するように、これまでの実施の形態とは異な
る。これらのテーブルを制御計算機1103内に配置す
ることで、第1の計算機1101、第2の計算機110
2双方のオープン制御部1109からアクセスが可能と
なる。
明する。制御計算機1103には主に、単一計算機上で
のパイプ連携実行部の構成要素のうち、異なるジョブか
らの処理要求に対して共通して利用する必要があった情
報を格納する。すなわち、パイプ連携仮想ファイル領域
206、パイプ連携定義テーブル209、連携待ちジョ
ブ登録テーブル210は、図2で示した第1の実施の形
態での各テーブルと同じ目的で利用する。ただし、パイ
プ連携定義テーブル209と連携待ちジョブ登録テーブ
ル210の構成は、のちほど図13、図14を用いて詳
しく説明するように、これまでの実施の形態とは異な
る。これらのテーブルを制御計算機1103内に配置す
ることで、第1の計算機1101、第2の計算機110
2双方のオープン制御部1109からアクセスが可能と
なる。
【0068】更に1111は、他系連携中継部であり、
各計算機のオープン制御部1109から他の計算機への
処理要求を受け取り、それぞれの要求内容に応じて、該
当する計算機の他系連携実行部1110へと処理要求す
る。詳しくは、のちほど図16を用いて説明する。
各計算機のオープン制御部1109から他の計算機への
処理要求を受け取り、それぞれの要求内容に応じて、該
当する計算機の他系連携実行部1110へと処理要求す
る。詳しくは、のちほど図16を用いて説明する。
【0069】共用記憶装置1104内のジョブ制御文格
納ファイル212、パイプ連携定義ファイル213は、
それぞれ第1の実施の形態におけるファイルと同じ構
成、利用目的である。ただし、共用記憶装置1104が
二つの計算機からアクセス可能であり、両計算機間でフ
ァイルが共用される点が、これまでの実施の形態とは異
なる。
納ファイル212、パイプ連携定義ファイル213は、
それぞれ第1の実施の形態におけるファイルと同じ構
成、利用目的である。ただし、共用記憶装置1104が
二つの計算機からアクセス可能であり、両計算機間でフ
ァイルが共用される点が、これまでの実施の形態とは異
なる。
【0070】図12は、第3の実施の形態におけるジョ
ブ制御文格納ファイル212に格納されたジョブ制御文
の例である。これまでの単一計算機上での運用を想定し
たジョブ制御文との相違点は、各ジョブ制御文の第1行
に、「SYS=」なるパラメタが追加されている点であ
る。本実施の形態では、ジョブ制御文格納ファイル21
2は二つの計算機で共用している。そのため、そこで定
義されている各ジョブを、どちらの計算機で実行すれば
よいかを決める手段が必要になる。ジョブを実行する計
算機を指定するのが、本「SYS=」パラメタである。
ブ制御文格納ファイル212に格納されたジョブ制御文
の例である。これまでの単一計算機上での運用を想定し
たジョブ制御文との相違点は、各ジョブ制御文の第1行
に、「SYS=」なるパラメタが追加されている点であ
る。本実施の形態では、ジョブ制御文格納ファイル21
2は二つの計算機で共用している。そのため、そこで定
義されている各ジョブを、どちらの計算機で実行すれば
よいかを決める手段が必要になる。ジョブを実行する計
算機を指定するのが、本「SYS=」パラメタである。
【0071】例えば、ジョブ制御文1201は、「SY
S=SYS1」と指定されており、これは計算機識別子
がSYS1である第1の計算機1101での実行を指定
している。同様に、ジョブ制御文1202は、「SYS
=SYS2」と指定されており、第2の計算機1102
での実行を指定している。なお、これら二つのジョブ制
御文は、それぞれの第3行で、同一のファイル名称を持
つパイプ連携対象ファイル(FILE.PIPE.0
1)へのアクセスを指定していることから、複数の計算
機で実行されるジョブ間でのパイプ連携処理を指定して
いると見なすことができる。
S=SYS1」と指定されており、これは計算機識別子
がSYS1である第1の計算機1101での実行を指定
している。同様に、ジョブ制御文1202は、「SYS
=SYS2」と指定されており、第2の計算機1102
での実行を指定している。なお、これら二つのジョブ制
御文は、それぞれの第3行で、同一のファイル名称を持
つパイプ連携対象ファイル(FILE.PIPE.0
1)へのアクセスを指定していることから、複数の計算
機で実行されるジョブ間でのパイプ連携処理を指定して
いると見なすことができる。
【0072】一方、ジョブ制御文1203と1204も
同一のファイル名称を持つパイプ連携対象ファイル(F
ILE.PIPE.02)へのアクセスを指定している
が、ジョブ制御文1204は「SYS=ANY」と指定
されている。ここで、「ANY」とは特定の計算機識別
子を表わすものではなく、「どの計算機で実行してもよ
い」ことを表わす特殊な指定である。このような指定が
為された場合に、該当するジョブを起動しようとした時
点での各計算機の負荷状況(CPUや主記憶など資源の
利用率)を元に、最も負荷が小さいと判定した計算機上
で該当ジョブを起動する技術が公知である。よって、本
発明でも、「SYS=ANY」なる指定を受けたジョブ
については、第1の計算機1101、第2の計算機11
02のいずれの計算機で実行するかは、公知の技術を用
いてジョブ起動の直前に決定することを前提とする。こ
れより、ジョブ制御文1203とジョブ制御文1204
で定義されたジョブ間のパイプ連携処理が、単一の計算
機内処理となるか、複数計算機間処理となるかは、ジョ
ブ制御文1204で定義されたジョブ「JOB_D」が
実際に起動されるまでは分からない。
同一のファイル名称を持つパイプ連携対象ファイル(F
ILE.PIPE.02)へのアクセスを指定している
が、ジョブ制御文1204は「SYS=ANY」と指定
されている。ここで、「ANY」とは特定の計算機識別
子を表わすものではなく、「どの計算機で実行してもよ
い」ことを表わす特殊な指定である。このような指定が
為された場合に、該当するジョブを起動しようとした時
点での各計算機の負荷状況(CPUや主記憶など資源の
利用率)を元に、最も負荷が小さいと判定した計算機上
で該当ジョブを起動する技術が公知である。よって、本
発明でも、「SYS=ANY」なる指定を受けたジョブ
については、第1の計算機1101、第2の計算機11
02のいずれの計算機で実行するかは、公知の技術を用
いてジョブ起動の直前に決定することを前提とする。こ
れより、ジョブ制御文1203とジョブ制御文1204
で定義されたジョブ間のパイプ連携処理が、単一の計算
機内処理となるか、複数計算機間処理となるかは、ジョ
ブ制御文1204で定義されたジョブ「JOB_D」が
実際に起動されるまでは分からない。
【0073】図13は、第3の実施の形態におけるパイ
プ連携定義テーブル209の構成図である。更にパイプ
連携定義ファイル213も、これと同じ構成を持つ。こ
れまでの実施の形態でのテーブル構成との違いは、各ジ
ョブを実行すべき計算機識別子、すなわちジョブ制御文
第1行の「SYS=」パラメタで指定された内容を格納
するフィールドが追加されたことにある。すなわち、フ
ァイル名称フィールド1301、第1のジョブ名称フィ
ールド1302、第2のジョブ名称フィールド1304
はこれまでの実施の形態と同じであるが、更に、第1の
ジョブを実行する計算機識別子を記録する第1の計算機
名称フィールド1303、第2のジョブを実行する計算
機識別子を記録する第2の計算機名称フィールド130
5を追加する。
プ連携定義テーブル209の構成図である。更にパイプ
連携定義ファイル213も、これと同じ構成を持つ。こ
れまでの実施の形態でのテーブル構成との違いは、各ジ
ョブを実行すべき計算機識別子、すなわちジョブ制御文
第1行の「SYS=」パラメタで指定された内容を格納
するフィールドが追加されたことにある。すなわち、フ
ァイル名称フィールド1301、第1のジョブ名称フィ
ールド1302、第2のジョブ名称フィールド1304
はこれまでの実施の形態と同じであるが、更に、第1の
ジョブを実行する計算機識別子を記録する第1の計算機
名称フィールド1303、第2のジョブを実行する計算
機識別子を記録する第2の計算機名称フィールド130
5を追加する。
【0074】図13における第1エントリ、第2エント
リの定義内容は、それぞれ図12で示したジョブ制御文
を元にしたパイプ連携定義である。ここで、5個のエン
トリのうち、第1エントリのパイプ連携処理は明らかに
複数計算機間の連携であり、第5エントリのパイプ連携
処理は単一計算機上の連携である。残りの3個のエント
リのパイプ連携処理は、計算機名称フィールドが「AN
Y」と指定されたジョブが実際にどの計算機で実行され
るかが決定するまでは、複数計算機間か、単一計算機上
かの違いは判断できない。
リの定義内容は、それぞれ図12で示したジョブ制御文
を元にしたパイプ連携定義である。ここで、5個のエン
トリのうち、第1エントリのパイプ連携処理は明らかに
複数計算機間の連携であり、第5エントリのパイプ連携
処理は単一計算機上の連携である。残りの3個のエント
リのパイプ連携処理は、計算機名称フィールドが「AN
Y」と指定されたジョブが実際にどの計算機で実行され
るかが決定するまでは、複数計算機間か、単一計算機上
かの違いは判断できない。
【0075】図14は、第3の実施の形態における連携
待ちジョブ登録テーブル210の構成図である。連携待
ちファイルフィールド1401、連携待ちジョブフィー
ルド1402に加え、待ち状態にあるジョブが実行され
ている計算機の識別子を記録する連携待ち計算機フィー
ルド1403を各エントリに追加する。図14の例で
は、第1エントリにて、「計算機識別子SYS1を持つ
計算機で実行中のJOB_Aが、PIPE.FILE.
01なるファイルに対するパイプ連携相手ジョブの起動
待ち状態にある」こと、同じく第2エントリにて、「計
算機識別子SYS2を持つ計算機で実行中のJOB_F
が、PIPE.FILE.03なるファイルに対するパ
イプ連携相手ジョブの起動待ち状態にある」ことを示し
ている。同テーブル210の詳しい利用方法は、引き続
き図15を用いて説明する。
待ちジョブ登録テーブル210の構成図である。連携待
ちファイルフィールド1401、連携待ちジョブフィー
ルド1402に加え、待ち状態にあるジョブが実行され
ている計算機の識別子を記録する連携待ち計算機フィー
ルド1403を各エントリに追加する。図14の例で
は、第1エントリにて、「計算機識別子SYS1を持つ
計算機で実行中のJOB_Aが、PIPE.FILE.
01なるファイルに対するパイプ連携相手ジョブの起動
待ち状態にある」こと、同じく第2エントリにて、「計
算機識別子SYS2を持つ計算機で実行中のJOB_F
が、PIPE.FILE.03なるファイルに対するパ
イプ連携相手ジョブの起動待ち状態にある」ことを示し
ている。同テーブル210の詳しい利用方法は、引き続
き図15を用いて説明する。
【0076】図15は、第3の実施の形態におけるオー
プン制御部1109の処理フローチャートである。第2
の実施の形態と同様、計算機の電源投入後、2回目以降
のパイプ連携処理、すなわち既にパイプ連携定義ファイ
ル213の内容がパイプ連携定義テーブル209にコピ
ーされていることを前提とする。また、既に示した通
り、複数の計算機からなるシステムにおいても、ジョブ
制御文での指定内容によっては同一計算機上でのパイプ
連携処理が実行される。しかし、同一計算機上のパイプ
連携処理になった場合は、これまでに示した第1の実施
の形態、第2の実施の形態と同じ構成になるため、ここ
では複数計算機間のパイプ連携処理となる場合に限って
処理内容を説明する。
プン制御部1109の処理フローチャートである。第2
の実施の形態と同様、計算機の電源投入後、2回目以降
のパイプ連携処理、すなわち既にパイプ連携定義ファイ
ル213の内容がパイプ連携定義テーブル209にコピ
ーされていることを前提とする。また、既に示した通
り、複数の計算機からなるシステムにおいても、ジョブ
制御文での指定内容によっては同一計算機上でのパイプ
連携処理が実行される。しかし、同一計算機上のパイプ
連携処理になった場合は、これまでに示した第1の実施
の形態、第2の実施の形態と同じ構成になるため、ここ
では複数計算機間のパイプ連携処理となる場合に限って
処理内容を説明する。
【0077】各ジョブからパイプ連携ファイルへのオー
プン処理要求時に、パイプ連携アクセス受付部1108
により起動されたオープン制御部1109は、はじめに
制御計算機1103の連携待ちジョブ登録テーブル21
0を参照し、連携相手ジョブが既に処理要求済みか否か
を判定(ステップ1501)する。該当するジョブの処
理要求がまだであると判定した場合、続けて制御計算機
1109にパイプ連携仮想ファイル領域206を生成
(ステップ1502)する。
プン処理要求時に、パイプ連携アクセス受付部1108
により起動されたオープン制御部1109は、はじめに
制御計算機1103の連携待ちジョブ登録テーブル21
0を参照し、連携相手ジョブが既に処理要求済みか否か
を判定(ステップ1501)する。該当するジョブの処
理要求がまだであると判定した場合、続けて制御計算機
1109にパイプ連携仮想ファイル領域206を生成
(ステップ1502)する。
【0078】更に、現在処理中のパイプ連携ファイルの
情報(エントリ)が、パイプ連携定義テーブルに存在す
るか否かを判定(ステップ1503)する。存在する場
合、該当するジョブを起動しなければならない。しか
し、連携相手ジョブが他の計算機で実行されているた
め、直接相手ジョブを起動することはできない。そのた
め、該当するエントリに記載された計算機内のジョブを
起動することを、制御計算機1103内の他系連携中継
部1111に対して要求(ステップ1504)する。具
体的には、現在処理中のジョブ名称が該当するエントリ
の第1のジョブ名称フィールド1302に一致した場合
は、「処理種別=ジョブ起動」「ジョブ名称=該当する
エントリの第2のジョブ名称フィールド1304の内
容」「計算機識別子=該当するエントリの第2の計算機
名称フィールド1305の内容」の三つの情報を、他系
連携中継部1111に転送する。現在処理中のジョブ名
称が該当するエントリの第2のジョブ名称フィールド1
304に一致した場合は、第1のジョブ名称フィールド
1302、第1の計算機名称フィールド1303の情報
を転送する。この要求を受け取ったときの他系連携中継
部1111の処理内容は、のちほど図16を用いて説明
する。
情報(エントリ)が、パイプ連携定義テーブルに存在す
るか否かを判定(ステップ1503)する。存在する場
合、該当するジョブを起動しなければならない。しか
し、連携相手ジョブが他の計算機で実行されているた
め、直接相手ジョブを起動することはできない。そのた
め、該当するエントリに記載された計算機内のジョブを
起動することを、制御計算機1103内の他系連携中継
部1111に対して要求(ステップ1504)する。具
体的には、現在処理中のジョブ名称が該当するエントリ
の第1のジョブ名称フィールド1302に一致した場合
は、「処理種別=ジョブ起動」「ジョブ名称=該当する
エントリの第2のジョブ名称フィールド1304の内
容」「計算機識別子=該当するエントリの第2の計算機
名称フィールド1305の内容」の三つの情報を、他系
連携中継部1111に転送する。現在処理中のジョブ名
称が該当するエントリの第2のジョブ名称フィールド1
304に一致した場合は、第1のジョブ名称フィールド
1302、第1の計算機名称フィールド1303の情報
を転送する。この要求を受け取ったときの他系連携中継
部1111の処理内容は、のちほど図16を用いて説明
する。
【0079】引き続き、制御計算機1103の連携待ち
ジョブ登録テーブル210に、現在処理中のジョブが待
ち状態となったことを記録した新規エントリを登録(ス
テップ1505)したのち、当該ジョブを待ち状態に設
定(ステップ1506)する。ステップ1504にて連
携相手ジョブの起動要求を実行できた場合には、すぐさ
ま連携相手ジョブによって待ち状態解除が実行される。
ジョブ登録テーブル210に、現在処理中のジョブが待
ち状態となったことを記録した新規エントリを登録(ス
テップ1505)したのち、当該ジョブを待ち状態に設
定(ステップ1506)する。ステップ1504にて連
携相手ジョブの起動要求を実行できた場合には、すぐさ
ま連携相手ジョブによって待ち状態解除が実行される。
【0080】以上が、要求元ジョブ(図11では110
5)からのオープン要求に対する処理内容である。続い
て、要求先ジョブ(図11では1106)からのオープ
ン要求に対するオープン制御部1109の処理内容を説
明する。
5)からのオープン要求に対する処理内容である。続い
て、要求先ジョブ(図11では1106)からのオープ
ン要求に対するオープン制御部1109の処理内容を説
明する。
【0081】要求先ジョブ、すなわち後続ジョブからの
オープン要求では、ステップ1501の判定にて、連携
相手ジョブが既に処理要求発行済みであると判定され
る。このとき、引き続き、処理要求してきたジョブの情
報を、該当するパイプ連携仮想ファイル領域206内に
記録(ステップ1507)する。更に、連携相手ジョブ
の情報を記録したエントリを、連携待ちジョブ登録テー
ブル210から削除(ステップ1508)する。最後
に、連携相手ジョブの待ち状態解除を、制御計算機11
03内の他系連携中継部1111に要求(ステップ15
09)する。具体的には、「処理種別=ジョブ待ち解
除」「ジョブ名称=ステップ1508で削除したエント
リの連携待ちジョブフィールド1402の内容」「計算
機識別子=ステップ1508で削除したエントリの連携
待ち計算機フィールド1403の内容」の三つの情報
を、他系連携中継部1111に転送する。これに対する
他系連携中継部1111の処理内容は、引き続き図16
を用いて説明する。
オープン要求では、ステップ1501の判定にて、連携
相手ジョブが既に処理要求発行済みであると判定され
る。このとき、引き続き、処理要求してきたジョブの情
報を、該当するパイプ連携仮想ファイル領域206内に
記録(ステップ1507)する。更に、連携相手ジョブ
の情報を記録したエントリを、連携待ちジョブ登録テー
ブル210から削除(ステップ1508)する。最後
に、連携相手ジョブの待ち状態解除を、制御計算機11
03内の他系連携中継部1111に要求(ステップ15
09)する。具体的には、「処理種別=ジョブ待ち解
除」「ジョブ名称=ステップ1508で削除したエント
リの連携待ちジョブフィールド1402の内容」「計算
機識別子=ステップ1508で削除したエントリの連携
待ち計算機フィールド1403の内容」の三つの情報
を、他系連携中継部1111に転送する。これに対する
他系連携中継部1111の処理内容は、引き続き図16
を用いて説明する。
【0082】図16は、制御計算機1103内の他系連
携中継部1111の処理フローチャートである。同中継
部1111の処理は、各計算機内のオープン制御部11
09から、別の計算機に対する処理要求を中継すること
を目的としている。既にオープン制御部1109の処理
の説明中で言及した通り、オープン制御部1109から
他系連携中継部1111への処理要求は、「ジョブ起
動」「ジョブ待ち解除」の二つの処理種別がある。
携中継部1111の処理フローチャートである。同中継
部1111の処理は、各計算機内のオープン制御部11
09から、別の計算機に対する処理要求を中継すること
を目的としている。既にオープン制御部1109の処理
の説明中で言及した通り、オープン制御部1109から
他系連携中継部1111への処理要求は、「ジョブ起
動」「ジョブ待ち解除」の二つの処理種別がある。
【0083】オープン制御部1109から処理要求を受
け取った他系連携中継部1111は、はじめに当該処理
要求の処理種別を判定(ステップ1601)する。処理
種別が「ジョブ起動」であった場合、処理要求時に転送
されてきた「計算機識別子」を持つ計算機内の他系連携
実行部1110に対し、同じく処理要求時に転送されて
きた「ジョブ名称」を持つジョブの起動を要求(ステッ
プ1602)する。これと同様に、ステップ1601の
判定にて処理種別が「ジョブ待ち解除」であった場合
は、所定の計算機内の他系連携実行部1110に対し、
所定のジョブの待ち状態を解除することを要求(ステッ
プ1603)する。
け取った他系連携中継部1111は、はじめに当該処理
要求の処理種別を判定(ステップ1601)する。処理
種別が「ジョブ起動」であった場合、処理要求時に転送
されてきた「計算機識別子」を持つ計算機内の他系連携
実行部1110に対し、同じく処理要求時に転送されて
きた「ジョブ名称」を持つジョブの起動を要求(ステッ
プ1602)する。これと同様に、ステップ1601の
判定にて処理種別が「ジョブ待ち解除」であった場合
は、所定の計算機内の他系連携実行部1110に対し、
所定のジョブの待ち状態を解除することを要求(ステッ
プ1603)する。
【0084】図17は、各計算機のパイプ連携実行部1
107内の他系連携実行部1110の処理フローチャー
トである。同他系連携実行部1110は、別の計算機の
オープン制御部1109からの処理要求が、制御計算機
1103内他系連携中継部1111を経由して転送され
る。処理要求を受け取った他系連携実行部1110は、
最初にその処理種別を判定(ステップ1701)し、そ
れが「ジョブ起動」であった場合には所定のジョブを起
動(ステップ1702)し、処理種別が「ジョブ待ち解
除」であった場合には所定のジョブの待ち状態を解除
(ステップ1703)する。オープン制御部1109の
処理の説明において言及した通り、ジョブが起動される
のは、別の計算機にて連携相手ジョブが先に実行を開始
したことを意味しており、また、ジョブの待ち状態が解
除されるのは、連携相手ジョブが後から起動し、パイプ
連携が確立したことを意味する。
107内の他系連携実行部1110の処理フローチャー
トである。同他系連携実行部1110は、別の計算機の
オープン制御部1109からの処理要求が、制御計算機
1103内他系連携中継部1111を経由して転送され
る。処理要求を受け取った他系連携実行部1110は、
最初にその処理種別を判定(ステップ1701)し、そ
れが「ジョブ起動」であった場合には所定のジョブを起
動(ステップ1702)し、処理種別が「ジョブ待ち解
除」であった場合には所定のジョブの待ち状態を解除
(ステップ1703)する。オープン制御部1109の
処理の説明において言及した通り、ジョブが起動される
のは、別の計算機にて連携相手ジョブが先に実行を開始
したことを意味しており、また、ジョブの待ち状態が解
除されるのは、連携相手ジョブが後から起動し、パイプ
連携が確立したことを意味する。
【0085】なお、本第3の実施の形態では、第1の実
施の形態と同様、パイプ連携定義ファイル213は利用
者が直接作成することを前提としている。しかし、複数
計算機間でのパイプ連携処理に対しても、第2の実施の
形態のように、ジョブ制御文格納ファイル212を参照
することにより、パイプ連携定義ファイル213をパイ
プ連携実行部1107自身が作成し、かつ、新規登録ジ
ョブの情報を追加することも可能である。
施の形態と同様、パイプ連携定義ファイル213は利用
者が直接作成することを前提としている。しかし、複数
計算機間でのパイプ連携処理に対しても、第2の実施の
形態のように、ジョブ制御文格納ファイル212を参照
することにより、パイプ連携定義ファイル213をパイ
プ連携実行部1107自身が作成し、かつ、新規登録ジ
ョブの情報を追加することも可能である。
【0086】以上示した処理により、第3の実施の形態
では、異なる計算機で実行されているジョブ間でのパイ
プ連携処理に対しても、先に実行を開始した要求元ジョ
ブ1105からの要求に応じて、別の計算機で実行する
連携相手である要求先ジョブ1106を起動し、最初に
処理要求したジョブが長時間待たされるといった無駄を
回避できる。
では、異なる計算機で実行されているジョブ間でのパイ
プ連携処理に対しても、先に実行を開始した要求元ジョ
ブ1105からの要求に応じて、別の計算機で実行する
連携相手である要求先ジョブ1106を起動し、最初に
処理要求したジョブが長時間待たされるといった無駄を
回避できる。
【0087】引き続き、第4の実施の形態について説明
する。第4の実施の形態も、第3の実施の形態と同じ
く、複数の計算機で実行されるジョブ間でのパイプ連携
処理を対象としている。ただし、第3の実施の形態で
は、各計算機は(そこで実行される個々のジョブを除
き)同一構成であり、対等の関係にあったのに対して、
本第4の実施の形態では、それぞれの計算機が異なる構
成を持つ。例えば、クライアント/サーバの関係にあっ
たり、また、一つのネットワークに接続されたメインフ
レーム、ワークステーション、パソコンといった機種の
異なる計算機間のパイプ連携処理を想定している。
する。第4の実施の形態も、第3の実施の形態と同じ
く、複数の計算機で実行されるジョブ間でのパイプ連携
処理を対象としている。ただし、第3の実施の形態で
は、各計算機は(そこで実行される個々のジョブを除
き)同一構成であり、対等の関係にあったのに対して、
本第4の実施の形態では、それぞれの計算機が異なる構
成を持つ。例えば、クライアント/サーバの関係にあっ
たり、また、一つのネットワークに接続されたメインフ
レーム、ワークステーション、パソコンといった機種の
異なる計算機間のパイプ連携処理を想定している。
【0088】同一機種計算機を複数接続してシステムを
構成する場合は、ジョブを分散実行することにより、全
体の処理時間を短縮することが主な目的である。そうし
た形態では、各ジョブをどの計算機で実行するかは、利
用者の都合や負荷状況に応じて自由に選択できる。その
ため、どちらの計算機で先にジョブが開始され、他の計
算機に対して連携相手ジョブの起動を依頼するかを一意
的に決めることはできない。すべての計算機に、自計算
機のジョブが要求元ジョブとなる場合と、自計算機のジ
ョブか要求先ジョブとなる場合の双方の処理制御部を用
意しておく必要があった。
構成する場合は、ジョブを分散実行することにより、全
体の処理時間を短縮することが主な目的である。そうし
た形態では、各ジョブをどの計算機で実行するかは、利
用者の都合や負荷状況に応じて自由に選択できる。その
ため、どちらの計算機で先にジョブが開始され、他の計
算機に対して連携相手ジョブの起動を依頼するかを一意
的に決めることはできない。すべての計算機に、自計算
機のジョブが要求元ジョブとなる場合と、自計算機のジ
ョブか要求先ジョブとなる場合の双方の処理制御部を用
意しておく必要があった。
【0089】一方、異機種計算機間でのパイプ連携の場
合でも、どちらの計算機から先にジョブが起動されるか
が一意的に定めることができないこともあるが、その場
合は第3の実施の形態で示した同一機種計算機を複数接
続した構成と同じになる。これに対し、第4の実施の形
態は、異機種計算機間でのパイプ連携で、特に、どちら
の計算機から先にジョブが起動されるかが決められてい
る場合を対象とする。
合でも、どちらの計算機から先にジョブが起動されるか
が一意的に定めることができないこともあるが、その場
合は第3の実施の形態で示した同一機種計算機を複数接
続した構成と同じになる。これに対し、第4の実施の形
態は、異機種計算機間でのパイプ連携で、特に、どちら
の計算機から先にジョブが起動されるかが決められてい
る場合を対象とする。
【0090】図18は、第4の実施の形態の原理図であ
る。図18において、1801はワークステーションで
あり、1802はメインフレーム計算機であり、これら
二つの計算機がネットワーク網1803に接続され、そ
れぞれの計算機で実行するジョブ間でのパイプ連携処理
を行なう。1804はワークステーション1801で実
行されるパイプ連携要求元ジョブであり、1805はメ
インフレーム1802で実行されるパイプ連携要求先ジ
ョブである。
る。図18において、1801はワークステーションで
あり、1802はメインフレーム計算機であり、これら
二つの計算機がネットワーク網1803に接続され、そ
れぞれの計算機で実行するジョブ間でのパイプ連携処理
を行なう。1804はワークステーション1801で実
行されるパイプ連携要求元ジョブであり、1805はメ
インフレーム1802で実行されるパイプ連携要求先ジ
ョブである。
【0091】ワークステーション1801とメインフレ
ーム1802との間でデータの受け渡しを行なう場合、
想定される利用形態としては、ワークステーション18
01を利用している利用者が、メインフレーム1802
が管理している膨大な量のデータを参照する処理が考え
られる。このとき、単にメインフレーム1802が管理
している既存ファイルを参照するだけではなく、参照要
求があった時点で既存ファイルを加工してから受け取り
たいとすると、参照要求に応じて、メインフレーム18
02側でファイル加工ジョブを実行し、その結果をワー
クステーション1801側へ渡す必要がある。すなわ
ち、ここでワークステーション1801のジョブとメイ
ンフレーム1802のジョブとの間のデータ受け渡し処
理が発生する。更に、ワークステーション1801から
のデータ参照要求が不規則に発生する場合には、メイン
フレーム1802側のファイル加工ジョブの実行スケジ
ュールをあらかじめ定めておくことができないため、本
発明を利用したパイプ連携相手ジョブの自動起動処理が
有効になる。
ーム1802との間でデータの受け渡しを行なう場合、
想定される利用形態としては、ワークステーション18
01を利用している利用者が、メインフレーム1802
が管理している膨大な量のデータを参照する処理が考え
られる。このとき、単にメインフレーム1802が管理
している既存ファイルを参照するだけではなく、参照要
求があった時点で既存ファイルを加工してから受け取り
たいとすると、参照要求に応じて、メインフレーム18
02側でファイル加工ジョブを実行し、その結果をワー
クステーション1801側へ渡す必要がある。すなわ
ち、ここでワークステーション1801のジョブとメイ
ンフレーム1802のジョブとの間のデータ受け渡し処
理が発生する。更に、ワークステーション1801から
のデータ参照要求が不規則に発生する場合には、メイン
フレーム1802側のファイル加工ジョブの実行スケジ
ュールをあらかじめ定めておくことができないため、本
発明を利用したパイプ連携相手ジョブの自動起動処理が
有効になる。
【0092】図18では、ワークステーション1801
側のユーザ端末1806を介して、利用者が特定の要求
元ジョブ1804を起動する。同ジョブ1804は、メ
インフレーム1802側の要求先ジョブ1805とのパ
イプ連携を要求するジョブである。一方、要求先ジョブ
1805は、メインフレーム1802が管理するデータ
ベース1807を参照し、必要なデータを抽出、加工し
たのち、結果をワークステーション1801側の要求元
ジョブ1801へ渡す。こうした処理を実現するため
に、要求元ジョブ1804は、ワークステーション18
01内のWSパイプ連携実行部1808に処理要求を行
ない、これと連携を取るメインフレーム1802内のM
Fパイプ連携実行部1809が、要求先ジョブ1805
を起動したのち、要求先ジョブ1805からの処理要求
を受け付ける。
側のユーザ端末1806を介して、利用者が特定の要求
元ジョブ1804を起動する。同ジョブ1804は、メ
インフレーム1802側の要求先ジョブ1805とのパ
イプ連携を要求するジョブである。一方、要求先ジョブ
1805は、メインフレーム1802が管理するデータ
ベース1807を参照し、必要なデータを抽出、加工し
たのち、結果をワークステーション1801側の要求元
ジョブ1801へ渡す。こうした処理を実現するため
に、要求元ジョブ1804は、ワークステーション18
01内のWSパイプ連携実行部1808に処理要求を行
ない、これと連携を取るメインフレーム1802内のM
Fパイプ連携実行部1809が、要求先ジョブ1805
を起動したのち、要求先ジョブ1805からの処理要求
を受け付ける。
【0093】図19は、第4の実施の形態の詳しい構成
図である。パイプ連携を先に要求するジョブ、すなわち
要求元ジョブ1805は、必ずワークステーション18
01内に存在する。WSパイプ連携実行部1808は、
要求元ジョブ1805からの要求を受けて起動されるW
Sオープン制御部1901と、他の計算機からの処理要
求を受け付けて所定の処理を行なうWS他系連携受付部
1902を持つ。同様に、メインフレーム1809には
要求先ジョブ1806が存在し、MFパイプ連携実行部
1809は、要求先ジョブ1806からの要求を受けて
起動されるMFオープン制御部1903と、他の計算機
からの処理要求を受け付けて所定の処理を行なうMF他
系連携受付部1904を持つ。更にMFパイプ連携実行
部1809は、これまでの実施の形態と同様に、パイプ
連携定義テーブル209、連携待ちジョブ登録テーブル
210、パイプ連携抽出部601を持ち、メインフレー
ム1809が管理する外部記憶装置1905にはジョブ
制御文格納ファイル212、パイプ連携定義ファイル2
13が格納されている。
図である。パイプ連携を先に要求するジョブ、すなわち
要求元ジョブ1805は、必ずワークステーション18
01内に存在する。WSパイプ連携実行部1808は、
要求元ジョブ1805からの要求を受けて起動されるW
Sオープン制御部1901と、他の計算機からの処理要
求を受け付けて所定の処理を行なうWS他系連携受付部
1902を持つ。同様に、メインフレーム1809には
要求先ジョブ1806が存在し、MFパイプ連携実行部
1809は、要求先ジョブ1806からの要求を受けて
起動されるMFオープン制御部1903と、他の計算機
からの処理要求を受け付けて所定の処理を行なうMF他
系連携受付部1904を持つ。更にMFパイプ連携実行
部1809は、これまでの実施の形態と同様に、パイプ
連携定義テーブル209、連携待ちジョブ登録テーブル
210、パイプ連携抽出部601を持ち、メインフレー
ム1809が管理する外部記憶装置1905にはジョブ
制御文格納ファイル212、パイプ連携定義ファイル2
13が格納されている。
【0094】ワークステーション1801には計算機識
別子「WS」が、メインフレーム1802には計算機識
別子「MF」が与えられている。オープン制御部と他系
連携受付部は、両計算機で異なる処理を行なう。詳しく
は、引き続き図21から図25で説明する。
別子「WS」が、メインフレーム1802には計算機識
別子「MF」が与えられている。オープン制御部と他系
連携受付部は、両計算機で異なる処理を行なう。詳しく
は、引き続き図21から図25で説明する。
【0095】図20は、第4の実施の形態におけるジョ
ブ制御文の例である。図20で、2001はワークステ
ーション1801で実行されるジョブ、2002はメイ
ンフレーム1802側のジョブを示す。ジョブ制御文2
001で、第4行の「PIPESYS=」パラメタは、
パイプ連携を要求する相手の計算機識別子を定義するも
のであり、ここでは「PIPESYS=MF」すなわ
ち、メインフレーム1802への処理要求を定義してい
る。それ以外の指定内容は、これまでの実施の形態での
それと同じである。
ブ制御文の例である。図20で、2001はワークステ
ーション1801で実行されるジョブ、2002はメイ
ンフレーム1802側のジョブを示す。ジョブ制御文2
001で、第4行の「PIPESYS=」パラメタは、
パイプ連携を要求する相手の計算機識別子を定義するも
のであり、ここでは「PIPESYS=MF」すなわ
ち、メインフレーム1802への処理要求を定義してい
る。それ以外の指定内容は、これまでの実施の形態での
それと同じである。
【0096】一方、メインフレーム1802で実行され
るジョブ制御文2002には、「PIPESYS=」パ
ラメタは存在しない。メインフレーム1802側のパイ
プ連携ジョブは、必ずワークステーション1801側の
ジョブからの処理要求を受けて後から起動するので、連
携相手ジョブの計算機を指定する必要はないからであ
る。図20で示した二つのジョブ制御文により、「計算
機識別子WSを持つ計算機で実行されるジョブJOB_
Aと、計算機識別子MFを持つ計算機で実行されるジョ
ブJOB_Bとの間で、ファイル名称FILE.PIP
E.01で指示されたデータをパイプ連携する」ことが
示されている。
るジョブ制御文2002には、「PIPESYS=」パ
ラメタは存在しない。メインフレーム1802側のパイ
プ連携ジョブは、必ずワークステーション1801側の
ジョブからの処理要求を受けて後から起動するので、連
携相手ジョブの計算機を指定する必要はないからであ
る。図20で示した二つのジョブ制御文により、「計算
機識別子WSを持つ計算機で実行されるジョブJOB_
Aと、計算機識別子MFを持つ計算機で実行されるジョ
ブJOB_Bとの間で、ファイル名称FILE.PIP
E.01で指示されたデータをパイプ連携する」ことが
示されている。
【0097】なお、ワークステーション1801とメイ
ンフレーム1802それぞれのジョブ制御文は、別々に
管理してもよいし、また、両者のジョブ制御文を合わせ
たものをそれぞれが管理してもよい。
ンフレーム1802それぞれのジョブ制御文は、別々に
管理してもよいし、また、両者のジョブ制御文を合わせ
たものをそれぞれが管理してもよい。
【0098】図21は、ワークステーション1801に
おけるジョブ起動のコマンドを示す。これまで、実行す
べきジョブはジョブ制御文にて定義され、そのジョブ制
御文を指定することによってジョブを起動してきたが、
あらかじめジョブ制御文で定義せず、端末からコマンド
を投入することによりジョブを起動することも可能であ
る。特にワークステーションのようなシステムでは、そ
うした利用が多い。コマンドによってジョブが起動され
る場合でも、コマンドの中に、ジョブ名称(またはジョ
ブ識別子)、パイプ連携処理実行の指定、パイプ連携対
象ファイル名称、パイプ連携相手の計算機識別子が含ま
れていれば、ジョブ制御文で定義されたジョブと違いは
ない。
おけるジョブ起動のコマンドを示す。これまで、実行す
べきジョブはジョブ制御文にて定義され、そのジョブ制
御文を指定することによってジョブを起動してきたが、
あらかじめジョブ制御文で定義せず、端末からコマンド
を投入することによりジョブを起動することも可能であ
る。特にワークステーションのようなシステムでは、そ
うした利用が多い。コマンドによってジョブが起動され
る場合でも、コマンドの中に、ジョブ名称(またはジョ
ブ識別子)、パイプ連携処理実行の指定、パイプ連携対
象ファイル名称、パイプ連携相手の計算機識別子が含ま
れていれば、ジョブ制御文で定義されたジョブと違いは
ない。
【0099】図22は、異機種計算機間のパイプ連携処
理を実現するための構成図である。各計算機は、ネット
ワーク網を介して接続されているため、図11のように
制馭計算機内の共通情報を互いが参照、更新しながら処
理を進めることができない。そこで、それぞれの計算機
内にて、計算機間でデータを転送する公知の技術である
ファイル転送プログラム2202、2204を起動し、
同プログラムとジョブ1805、1806との間を単一
計算機内パイプ連携実行部2201、2203を介して
連携することによって、異機種計算機間のパイプ連携処
理を実現する。これらの連携確立は、WSオープン制御
部1901、MFオープン制御部1903によって為さ
れる。詳しくは、引き続き図23、図25を用いて説明
する。
理を実現するための構成図である。各計算機は、ネット
ワーク網を介して接続されているため、図11のように
制馭計算機内の共通情報を互いが参照、更新しながら処
理を進めることができない。そこで、それぞれの計算機
内にて、計算機間でデータを転送する公知の技術である
ファイル転送プログラム2202、2204を起動し、
同プログラムとジョブ1805、1806との間を単一
計算機内パイプ連携実行部2201、2203を介して
連携することによって、異機種計算機間のパイプ連携処
理を実現する。これらの連携確立は、WSオープン制御
部1901、MFオープン制御部1903によって為さ
れる。詳しくは、引き続き図23、図25を用いて説明
する。
【0100】図23は、WSオープン制御部1901の
処理フローチャートである。要求元ジョブ1805から
パイプ連携を受け取った同制御部1901は、はじめに
要求元ジョブ1805とファイル転送プログラム220
2との間の単一計算機内パイプ連携を確立(ステップ2
301)する。単一計算機内のパイプ連携については公
知の技術なので、詳しい説明は省略する。
処理フローチャートである。要求元ジョブ1805から
パイプ連携を受け取った同制御部1901は、はじめに
要求元ジョブ1805とファイル転送プログラム220
2との間の単一計算機内パイプ連携を確立(ステップ2
301)する。単一計算機内のパイプ連携については公
知の技術なので、詳しい説明は省略する。
【0101】更に、要求元ジョブ1805によって指定
された連携相手計算機識別子を持つ計算機すなわち、メ
インフレーム1802のMFパイプ連携実行部1809
内MF他系連携受付部1904に、計算機間パイプ連携
を要求(ステップ2302)する。その後、要求元ジョ
ブ1805を一旦待ち状態に設定(ステップ2303)
し、連携相手ジョブからの連絡を待つ。
された連携相手計算機識別子を持つ計算機すなわち、メ
インフレーム1802のMFパイプ連携実行部1809
内MF他系連携受付部1904に、計算機間パイプ連携
を要求(ステップ2302)する。その後、要求元ジョ
ブ1805を一旦待ち状態に設定(ステップ2303)
し、連携相手ジョブからの連絡を待つ。
【0102】図24は、MF他系連携受付部1904の
処理フローチャートである。WSオープン制御部190
1から処理要求を受け取ったMF他系連携受付部190
4は、まずパイプ連携定義テーブル209を参照し、要
求元ジョブ1805の連携相手ジョブを選び出し、該当
するジョブを起動(ステップ2401)する。その後、
要求元ジョブ1805の名称、及び、パイプ連携対象フ
ァイルの名称を、連携待ちジョブ登録テーブル210に
登録(ステップ2402)する。
処理フローチャートである。WSオープン制御部190
1から処理要求を受け取ったMF他系連携受付部190
4は、まずパイプ連携定義テーブル209を参照し、要
求元ジョブ1805の連携相手ジョブを選び出し、該当
するジョブを起動(ステップ2401)する。その後、
要求元ジョブ1805の名称、及び、パイプ連携対象フ
ァイルの名称を、連携待ちジョブ登録テーブル210に
登録(ステップ2402)する。
【0103】MF他系連携受付部1904により起動さ
れた要求先ジョブ1806は、MFオープン制御部19
03に対し、パイプ連携対象ファイルのオープン処理要
求を発行する。
れた要求先ジョブ1806は、MFオープン制御部19
03に対し、パイプ連携対象ファイルのオープン処理要
求を発行する。
【0104】図25は、MFオープン制御部1903の
処理フローチャートである。ワークステーション側と同
様、はじめに要求先ジョブ1906とファイル転送プロ
グラム2204との間の単一計算機内パイプ連携を確立
(ステップ2501)する。その後、連携待ちジョブ登
録テーブル210を参照し、待ち状態にある連携相手ジ
ョブの情報を取得して、該当する要求元ジョブ1805
の待ち状態解除をWS他系連携受付部1902に要求す
る。続けて、連携待ちジョブ登録テーブル210から連
携相手ジョブに関する情報(エントリ)を削除(ステッ
プ2503)する。
処理フローチャートである。ワークステーション側と同
様、はじめに要求先ジョブ1906とファイル転送プロ
グラム2204との間の単一計算機内パイプ連携を確立
(ステップ2501)する。その後、連携待ちジョブ登
録テーブル210を参照し、待ち状態にある連携相手ジ
ョブの情報を取得して、該当する要求元ジョブ1805
の待ち状態解除をWS他系連携受付部1902に要求す
る。続けて、連携待ちジョブ登録テーブル210から連
携相手ジョブに関する情報(エントリ)を削除(ステッ
プ2503)する。
【0105】図26は、WS他系連携受付部1902の
処理フローチャートである。MFオープン制御部190
3からの処理要求を受け取ったWS他系連携受付部19
02は、指定された要求元ジョブ1805の待ち状態を
解除(ステップ2601)する。
処理フローチャートである。MFオープン制御部190
3からの処理要求を受け取ったWS他系連携受付部19
02は、指定された要求元ジョブ1805の待ち状態を
解除(ステップ2601)する。
【0106】以上のように、第4の実施の形態では、メ
インフレームとワークステーションといった異機種計算
機上のジョブ間パイプ連携処理で、特にどちらの計算機
上のジョブが先に起動するかが定まっている場合に、ワ
ークステーション1801側のWSオープン制御部19
01、WS他系連携受付部1902、メインフレーム1
802側のMFオープン制御部1903、MF他系連携
受付部1904が連携を取ることにより、先に実行を開
始した要求元ジョブ1805からの要求に応じて、別の
計算機で実行する連携相手である要求先ジョブ1806
をただちに起動し、最初に処理要求したジョブが長時間
待たされるといった無駄を回避できる。メインフレーム
と比べると、ワークステーションで実行するジョブはあ
らかじめ定義したり実行スケジュールを管理したりする
割合が少ない。そうしたワークステーション側から不規
則に発生するパイプ連携要求に対しても、その都度所定
の連携相手ジョブを自動起動できるため、連携待ち時間
削減に伴う処理時間を短縮し、ジョブ実行管理に要する
手間を削減できる。
インフレームとワークステーションといった異機種計算
機上のジョブ間パイプ連携処理で、特にどちらの計算機
上のジョブが先に起動するかが定まっている場合に、ワ
ークステーション1801側のWSオープン制御部19
01、WS他系連携受付部1902、メインフレーム1
802側のMFオープン制御部1903、MF他系連携
受付部1904が連携を取ることにより、先に実行を開
始した要求元ジョブ1805からの要求に応じて、別の
計算機で実行する連携相手である要求先ジョブ1806
をただちに起動し、最初に処理要求したジョブが長時間
待たされるといった無駄を回避できる。メインフレーム
と比べると、ワークステーションで実行するジョブはあ
らかじめ定義したり実行スケジュールを管理したりする
割合が少ない。そうしたワークステーション側から不規
則に発生するパイプ連携要求に対しても、その都度所定
の連携相手ジョブを自動起動できるため、連携待ち時間
削減に伴う処理時間を短縮し、ジョブ実行管理に要する
手間を削減できる。
【0107】引き続き、第5の実施の形態について説明
する。第5の実施の形態は、第4の実施の形態と同様、
異機種計算機上のジョブ間パイプ連携処理で、特にどち
らの計算機上のジョブが先に起動するかが定まっている
場合の連携相手ジョブ自動起動を実現する。ただし、先
にパイプ連携ジョブを起動するワークステーション側の
ジョブ制御文の指定内容が、第4の実施の形態とは異な
る。
する。第5の実施の形態は、第4の実施の形態と同様、
異機種計算機上のジョブ間パイプ連携処理で、特にどち
らの計算機上のジョブが先に起動するかが定まっている
場合の連携相手ジョブ自動起動を実現する。ただし、先
にパイプ連携ジョブを起動するワークステーション側の
ジョブ制御文の指定内容が、第4の実施の形態とは異な
る。
【0108】図27は、第5の実施の形態におけるジョ
ブ制御文の例であり、2701が要求元ジョブ、270
2が要求先ジョブに対応する。本実施の形態では、要求
元ジョブのジョブ制御文において、連携相手ジョブのジ
ョブ名称も指定する。ジョブ制御文2701の第4行に
ある「PIPEJOB=」パラメタが、連携相手ジョブ
名称を指定する部分であり、ここでは「PIPEJOB
=JOB_B」と、ジョブ制御文2702で示すジョブ
JOB_Bを連携相手ジョブとして指定している。要求
元ジョブ2702側の指定内容は、第4の実施の形態と
変わらない。
ブ制御文の例であり、2701が要求元ジョブ、270
2が要求先ジョブに対応する。本実施の形態では、要求
元ジョブのジョブ制御文において、連携相手ジョブのジ
ョブ名称も指定する。ジョブ制御文2701の第4行に
ある「PIPEJOB=」パラメタが、連携相手ジョブ
名称を指定する部分であり、ここでは「PIPEJOB
=JOB_B」と、ジョブ制御文2702で示すジョブ
JOB_Bを連携相手ジョブとして指定している。要求
元ジョブ2702側の指定内容は、第4の実施の形態と
変わらない。
【0109】図28は、図27のジョブ制御文2701
に相当するジョブの起動を、端末へのコマンド入力によ
って指定する例である。
に相当するジョブの起動を、端末へのコマンド入力によ
って指定する例である。
【0110】以上のように、第5の実施の形態では、メ
インフレームとワークステーションといった異機種計算
機上のジョブ間パイプ連携処理で、特にどちらの計算機
上のジョブが先に起動するかが定まっている場合に、連
携相手ジョブをただちに起動し、最初に処理要求したジ
ョブが長時間待たされるといった無駄を回避できる。そ
の際、ジョブ制御文、またはジョブ実行コマンドにて連
携相手ジョブを指定することにより、処理要求を受け付
けたパイプ連携実行部が定義テーブルなどを利用してパ
イプ連携相手ジョブを抽出する処理も不要となる。
インフレームとワークステーションといった異機種計算
機上のジョブ間パイプ連携処理で、特にどちらの計算機
上のジョブが先に起動するかが定まっている場合に、連
携相手ジョブをただちに起動し、最初に処理要求したジ
ョブが長時間待たされるといった無駄を回避できる。そ
の際、ジョブ制御文、またはジョブ実行コマンドにて連
携相手ジョブを指定することにより、処理要求を受け付
けたパイプ連携実行部が定義テーブルなどを利用してパ
イプ連携相手ジョブを抽出する処理も不要となる。
【0111】
【発明の効果】本発明によれば、複数ジョブ間でのデー
タ受け渡し処理をパイプ連携を利用して高速化すると
き、先に実行を開始したジョブの処理要求を受けて、そ
の連携相手ジョブを起動する。これにより、連携相手ジ
ョブが起動されないためデータ受け渡し処理が開始でき
ないといった状況を回避し、処理時間を短縮できる。ま
た、パイプ連携を利用するジョブ群を同一時刻付近に起
動することを利用者が意識する必要がなくなり、ジョブ
実行管理の手間を削減できる。特に、パイプ連携を利用
するジョブの一方が不規則に起動され、その都度、連携
相手ジョブを起動しなければならないような場合に、ジ
ョブ実行管理の手間削減の効果が大きい。
タ受け渡し処理をパイプ連携を利用して高速化すると
き、先に実行を開始したジョブの処理要求を受けて、そ
の連携相手ジョブを起動する。これにより、連携相手ジ
ョブが起動されないためデータ受け渡し処理が開始でき
ないといった状況を回避し、処理時間を短縮できる。ま
た、パイプ連携を利用するジョブ群を同一時刻付近に起
動することを利用者が意識する必要がなくなり、ジョブ
実行管理の手間を削減できる。特に、パイプ連携を利用
するジョブの一方が不規則に起動され、その都度、連携
相手ジョブを起動しなければならないような場合に、ジ
ョブ実行管理の手間削減の効果が大きい。
【図1】本発明の原理図である。
【図2】第1の実施の形態の構成図である。
【図3】第1の実施の形態のパイプ連携定義登録テーブ
ルの構成図である。
ルの構成図である。
【図4】第1の実施の形態の連携待ちジョブ登録テーブ
ルの構成図である。
ルの構成図である。
【図5】第1の実施の形態のオープン制御部の処理フロ
ーチャートである。
ーチャートである。
【図6】第2の実施の形態の構成図である。
【図7】第2の実施の形態のパイプ連携抽出部の処理フ
ローチャートである。
ローチャートである。
【図8】第2の実施の形態のジョブ制御文である。
【図9】第2の実施の形態の連携待ちジョブ登録テーブ
ルの構成図である。
ルの構成図である。
【図10】第2の実施の形態のオープン制御部の処理フ
ローチャートである。
ローチャートである。
【図11】第3の実施の形態の構成図である。
【図12】第3の実施の形態のジョブ制御文である。
【図13】第3の実施の形態のパイプ連携定義テーブル
の構成図である。
の構成図である。
【図14】第3の実施の形態の連携待ちジョブ登録テー
ブルの構成図である。
ブルの構成図である。
【図15】第3の実施の形態のオープン制御部の処理フ
ローチャートである。
ローチャートである。
【図16】第3の実施の形態の他系連携中継部の処理フ
ローチャートである。
ローチャートである。
【図17】第3の実施の形態の他系連携実行部の処理フ
ローチャートである。
ローチャートである。
【図18】第4の実施の形態の原理図である。
【図19】第4の実施の形態の構成図である。
【図20】第4の実施の形態のジョブ制御文である。
【図21】第4の実施の形態のジョブ起動コマンド文で
ある。
ある。
【図22】第4の実施の形態の計算機間データ転送構成
図である。
図である。
【図23】第4の実施の形態のWSオープン制御部の処
理フローチャートである。
理フローチャートである。
【図24】第4の実施の形態のMF他系連携受付部の処
理フローチャートである。
理フローチャートである。
【図25】第4の実施の形態のMFオープン制御部の処
理フローチャートである。
理フローチャートである。
【図26】第4の実施の形態のWS他系連携受付部の処
理フローチャートである。
理フローチャートである。
【図27】第5の実施の形態のジョブ制御文である。
【図28】第5の実施の形態のジョブ起動コマンド文で
ある。
ある。
101…計算機、 102…パイプ連携実行部、 103…要求元ジョブ、 104…要求先ジョブ。
Claims (5)
- 【請求項1】第1のジョブが生成する一つ以上のデータ
を、それとは別の第2ジョブへ渡すとき、第1のジョ
ブ、第2のジョブを並列に実行し、主記憶装置またはそ
れに準ずる補助記憶装置上に用意したバッファ領域を介
し、すべてのデータ生成が完了しなくとも、生成済みの
データから順次受け渡し処理を実行する計算機システム
において、 ジョブからの処理開始要求を受け取る第1のステップ
と、 受け取ったジョブとデータの受け渡しを行なう連携相手
ジョブが、既に処理を開始しているか否かを判定する第
2のステップと、 前ステップで、連携相手ジョブが処理を開始していない
と判定したとき、当該ジョブが実行を開始済みであるこ
とを記録する第3のステップと、 連携相手ジョブの実行を開始する第4のステップと、 第2のステップで、連携相手ジョブが処理を開始済みで
あると判定したとき、連携相手ジョブに対して、当該ジ
ョブが実行を開始したことを通知する第5のステップと
を有することを特徴とするデータ転送処理における連携
ジョブ自動起動方法。 - 【請求項2】請求項1記載のデータ転送処理における連
携ジョブ自動起動方法において、 第1のジョブとデータの受け渡しを行なう連携相手ジョ
ブは第2のジョブであることを利用者が記録した情報を
取得する第1のステップと、 第1のジョブおよび第2のジョブから処理開始要求を受
け取ったとき、第1のステップで取得した情報を参照
し、連携相手ジョブを特定する第2のステップとを有す
ることを特徴とするデータ転送処理における連携ジョブ
自動起動方法。 - 【請求項3】請求項1記載のデータ転送処理における連
携ジョブ自動起動方法において、 計算機で実行するジョブを定義したすべてのジョブ制御
文を順次参照する第1のステップと、 参照したジョブ制御文にて、データ受け渡し処理の利用
が指定されているか否かを判定する第2のステップと、 前ステップで、データ受け渡し処理の利用が指定されて
いると判定した場合、それまでに参照したジョブ制御文
の中に、当該ジョブの連携相手ジョブが存在しているか
否かを判定する第3のステップと、 前ステップで、条件を満たすジョブが存在した場合、二
つのジョブの間にデータ受け渡し関係があることを記録
する第4のステップと、 第3のステップで、条件を満たすジョブが存在しなかっ
た場合、当該ジョブがデータ受け渡し処理の利用を指定
していることを記録する第5のステップと、 任意のジョブからのデータ受け渡し開始要求を受け取っ
たとき、第4のステップで記録した情報を参照し、当該
ジョブの連携相手ジョブを特定する第6のステップとを
有することを特徴とするデータ転送処理における連携ジ
ョブ自動起動方法。 - 【請求項4】共用記憶装置、制御計算機、ネットワーク
などを介して接続された複数の計算機から成る計算機シ
ステムで、第1の計算機で実行される第1のジョブが生
成する一つ以上のデータを、第2の計算機で実行される
第2のジョブへ渡すとき、第1のジョブ、第2のジョブ
を並列に実行し、共用記憶装置、制御計算機、通信装置
などを用いてデータを転送し、すべてのデータ生成が完
了しなくとも、生成済みのデータから順次受け渡し処理
を実行する計算機システムにおいて、 ジョブからの処理開始要求を受け取る第1のステップ
と、 受け取ったジョブとデータの受け渡しを行なう連携相手
ジョブが、既に処理を開始しているか否かを判定する第
2のステップと、 前ステップで、連携相手ジョブが処理を開始していない
と判定したとき、当該ジョブが実行を開始済みであるこ
とを記録する第3のステップと、 連携相手ジョブをどの計算機で実行するよう指定されて
いるか取得する第4のステップと、 前ステップで取得した計算機で、連携相手ジョブの実行
を開始する第5のステップと、 第2のステップで、連携相手ジョブが処理を開始済みで
あると判定したとき、連携相手ジョブがどの計算機で実
行されているか取得する第6のステップと、 前ステップで取得した計算機で実行されている連携相手
ジョブに対して、当該ジョブが実行を開始したことを通
知する第7のステップとを有することを特徴とするデー
タ転送処理における連携ジョブ自動起動方法。 - 【請求項5】共用記憶装置、制御計算機、ネットワーク
などを介して接続された複数の計算機から成る計算機シ
ステムで、第1の計算機で実行される第1のジョブが生
成する一つ以上のデータを、第2の計算機で実行される
第2のジョブへ渡すとき、第1のジョブ、第2のジョブ
を並列に実行し、共用記憶装置、制御計算機、通信装置
などを用いて、すべてのデータ生成が完了しなくとも、
生成済みのデータから順次受け渡し処理を実行する計算
機システムにおいて、 第1のジョブ、第2のジョブのうち、いずれのジョブが
先に実行されるかを特定する第1のステップと、 ジョブからの処理開始要求を受け取る第2のステップ
と、 処理要求してきたジョブが、第1のステップで先に実行
されるべきジョブであると判定されたジョブか否かを判
定する第3のステップと、 前ステップで、先に実行されるべきジョブであると判定
したとき、連携相手ジョブをどの計算機で実行するよう
指定されているか取得する第4のステップと、 前ステップで取得した計算機で、連携相手ジョブの実行
を開始する第5のステップと、 第3のステップで、後から実行されるべきジョブである
と判定したとき、連携相手ジョブがどの計算機で実行さ
れているか取得する第6のステップと、 前ステップで取得した計算機で実行されている連携相手
ジョブに対して、当該ジョブが実行を開始したことを通
知する第7のステップとを有することを特徴とするデー
タ転送処理における連携ジョブ自動起動方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12828397A JPH10320218A (ja) | 1997-05-19 | 1997-05-19 | データ転送処理における連携ジョブ自動起動方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12828397A JPH10320218A (ja) | 1997-05-19 | 1997-05-19 | データ転送処理における連携ジョブ自動起動方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH10320218A true JPH10320218A (ja) | 1998-12-04 |
Family
ID=14981001
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP12828397A Pending JPH10320218A (ja) | 1997-05-19 | 1997-05-19 | データ転送処理における連携ジョブ自動起動方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH10320218A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010079320A (ja) * | 2008-08-01 | 2010-04-08 | Autonetworks Technologies Ltd | 制御装置及びコンピュータプログラム |
JP2010152733A (ja) * | 2008-12-25 | 2010-07-08 | Fujitsu Semiconductor Ltd | マルチコアシステム |
JP2013097666A (ja) * | 2011-11-02 | 2013-05-20 | Mitsubishi Electric Corp | サービス連携装置及びサービス連携方法及びプログラム |
-
1997
- 1997-05-19 JP JP12828397A patent/JPH10320218A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010079320A (ja) * | 2008-08-01 | 2010-04-08 | Autonetworks Technologies Ltd | 制御装置及びコンピュータプログラム |
JP2010152733A (ja) * | 2008-12-25 | 2010-07-08 | Fujitsu Semiconductor Ltd | マルチコアシステム |
JP2013097666A (ja) * | 2011-11-02 | 2013-05-20 | Mitsubishi Electric Corp | サービス連携装置及びサービス連携方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2779587B2 (ja) | コンピュータシステムに用いる名前スペースの一部分を別の名前スペースの一部分として利用可能にするための装置及びその方法 | |
JP3516362B2 (ja) | 共有データ処理装置及び共有データ処理システム | |
US5287453A (en) | Fast remote file access facility for distributing file access requests in a closely coupled computer system | |
CN113396407A (zh) | 用于利用区块链技术扩充数据库应用的***和方法 | |
US6711559B1 (en) | Distributed processing system, apparatus for operating shared file system and computer readable medium | |
JPH0922374A (ja) | 異種ファイルへのアクセスを可能とする情報処理システム及びその制御方法 | |
JP2000163372A (ja) | トランザクション処理方法及びその実施装置並びにその処理プログラムを記録した媒体 | |
US6701323B2 (en) | Object management system and method for distributed object system | |
JPH0950418A (ja) | 疎結合並列処理環境において一時的記憶待ち行列機能を有する顧客情報制御システム及び方法 | |
JPH0962635A (ja) | 疎結合並列処理環境においてトランザクション直列化制御機能を有する顧客情報制御システム及び方法 | |
JP2001175460A (ja) | プログラム配付管理システム | |
GB2189061A (en) | Management of system configuration data | |
JPH10320218A (ja) | データ転送処理における連携ジョブ自動起動方法 | |
JP2003208323A (ja) | バッチジョブの実行方法、システムおよびプログラム | |
JP2007011550A (ja) | プログラム制御方法、計算機および計算機制御プログラム | |
JP4311059B2 (ja) | トランザクション制御方法 | |
JP2000082003A (ja) | 異種ファイルへのアクセスを可能とする情報処理システム及びその制御方法 | |
JP2001005614A (ja) | ディスク装置およびサーバ装置 | |
JPH09330243A (ja) | 計算機システム | |
JPH0844670A (ja) | ファイル管理方法およびそれを用いた計算機システムならびにその計算機システムの運用方法 | |
JP3330006B2 (ja) | 情報記憶システムを備えるネットワークシステム、該システムの入力システムならびに | |
JP2005032171A (ja) | データ共有のための機能モジュール間通信制御システム,機能モジュール間通信制御方法,機能モジュール間通信制御プログラムおよびその記録媒体 | |
JP3698021B2 (ja) | 広域分散資産版管理システム、広域分散資産版管理方法、記録媒体 | |
JPH0449146B2 (ja) | ||
JPH10161915A (ja) | 後発ジョブ優先の排他制御を実現するデータ引き継ぎ方法 |