図面 (/)

技術 プログラム、情報処理装置、及びジョブ制御言語の自動生成方法

出願人 富士通株式会社
発明者 村瀬輝修小林孝司小野繁伸鬼沢芳夫
出願日 2015年9月14日 (4年0ヶ月経過) 出願番号 2015-180496
公開日 2017年3月23日 (2年6ヶ月経過) 公開番号 2017-058728
状態 特許登録済
技術分野 ストアードプログラム 特別なプログラム実行装置
主要キーワード 論理順序 ファイルラベル 順編成 標準ラベル ユーティリティ情報 入出力環境 移行済み EOV
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年3月23日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (15)

課題

より信頼性の高い制御プログラムを生成すること。

解決手段

テープ媒体20aに記録されたファイルデータ移行に用いる制御プログラムを生成する情報処理装置10が提供される。情報処理装置10は、テープ媒体20aにファイルを書き込む際に利用される第1の処理プログラムの情報を格納する記憶部11と、テープ媒体20aから、移行対象のファイルを当該テープ媒体20aに書き込む際に利用された第2の処理プログラムの情報を取得し、取得した情報に基づいて、第2の処理プログラムと第1の処理プログラムとが一致する場合に、当該第1の処理プログラムを利用して移行対象のファイルを移行先に書き込む処理を実行させるジョブ制御言語の制御プログラム40aを生成する演算部12とを有する。

概要

背景

近年、メインフレームなどの汎用機から比較的小規模サーバシステムへの移行が進んでいる。また、セキュリティ対策コスト削減などの理由から、データをクラウドシステムへ移行する動きも拡がっている。汎用機が扱う大量のデータはテープ媒体バックアップされている。そのため、システムの移行時には、テープ媒体に格納されているファイルを1つ1つ移行先ディスク書き出す作業が生じる。

テープ媒体に格納されているファイルをディスクへと書き出す処理は、JCL(Job Control Language)を用いて実行される。JCLは、ファイル毎のデータ量や移行先の空きディスク容量を確認しながら手作業で作成される。そのため、システムの移行時には、移行対象のファイルが膨大であるため、JCLの作成作業が大きな手間となっていた。

磁気ディスク入れ替え時に行うファイルの移行に関し、入力されたファイルのラベル情報解析し、移行に用いるパラメータの抽出及びファイル容量の計算を実行し、その実行結果に基づいて元のJCLを編集した新たなJCLを出力する技術が提案されている。

なお、データ処理装置処理プログラム高級言語で書かれたソースから機械語で書かれたオブジェクトに変換するコンパイラが提案されている。このコンパイラは、オブジェクトの実行時に用いる入出力環境設定情報ジョブ制御文)を自動的に作成する。

ホストシステムのJCLをサーバシステムのJCLに変換するソフトウェア資源移行システムが提案されている。このソフトウェア資源移行システムは、ホストシステム用のJCLをサーバシステム用のJCLに変換するための変換ルール情報を参照し、この変換ルール情報に基づいてホストシステムのJCLをサーバシステムのJCLに変換する。

概要

より信頼性の高い制御プログラムを生成すること。テープ媒体20aに記録されたファイルのデータ移行に用いる制御プログラムを生成する情報処理装置10が提供される。情報処理装置10は、テープ媒体20aにファイルを書き込む際に利用される第1の処理プログラムの情報を格納する記憶部11と、テープ媒体20aから、移行対象のファイルを当該テープ媒体20aに書き込む際に利用された第2の処理プログラムの情報を取得し、取得した情報に基づいて、第2の処理プログラムと第1の処理プログラムとが一致する場合に、当該第1の処理プログラムを利用して移行対象のファイルを移行先に書き込む処理を実行させるジョブ制御言語の制御プログラム40aを生成する演算部12とを有する。

目的

1つの側面によれば、本開示の目的は、より信頼性の高い制御プログラムを生成することが可能なプログラム、情報処理装置、及びジョブ制御言語の自動生成方法を提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

テープ媒体に記録されたファイルデータ移行に用いる制御プログラムを生成する処理をコンピュータに実行させるプログラムであって、前記コンピュータに、記憶部から、テープ媒体にファイルを書き込む際に利用される第1の処理プログラムの情報を取得し、前記テープ媒体から、移行対象のファイルを当該テープ媒体に書き込む際に利用された第2の処理プログラムの情報を取得し、取得した情報に基づいて、前記第2の処理プログラムと前記第1の処理プログラムとが一致する場合に、当該第1の処理プログラムを利用して前記移行対象のファイルを移行先に書き込む処理を実行させるジョブ制御言語の制御プログラムを生成する処理を実行させる、プログラム。

請求項2

前記プログラムは、前記取得する処理において、前記テープ媒体に格納されているラベル情報から前記第2の処理プログラムの情報を取得する処理を前記コンピュータに実行させる請求項1に記載のプログラム。

請求項3

前記ラベル情報は、前記移行対象のファイルのレコード形式を含み、前記コンピュータは、前記レコード形式が固定長又は可変長の場合、前記第2の処理プログラムを利用して前記移行対象のファイルを前記移行先に書き込む処理を実行させるジョブ制御言語の制御プログラムを生成する請求項2に記載のプログラム。

請求項4

前記レコード形式が不定長の場合、前記コンピュータは、前記移行対象のファイルについて前記ジョブ制御言語の制御プログラムを生成する処理を回避する請求項3に記載のプログラム。

請求項5

テープ媒体に記録されたファイルのデータ移行に用いる制御プログラムを生成する情報処理装置であって、テープ媒体にファイルを書き込む際に利用される第1の処理プログラムの情報を格納する記憶部と、前記テープ媒体から、移行対象のファイルを当該テープ媒体に書き込む際に利用された第2の処理プログラムの情報を取得し、取得した情報に基づいて、前記第2の処理プログラムと前記第1の処理プログラムとが一致する場合に、当該第1の処理プログラムを利用して前記移行対象のファイルを移行先に書き込む処理を実行させるジョブ制御言語の制御プログラムを生成する演算部とを有する、情報処理装置。

請求項6

テープ媒体に記録されたファイルのデータ移行に用いる制御プログラムを生成するコンピュータが、記憶部から、テープ媒体にファイルを書き込む際に利用される第1の処理プログラムの情報を取得し、前記テープ媒体から、移行対象のファイルを当該テープ媒体に書き込む際に利用された第2の処理プログラムの情報を取得し、取得した情報に基づいて、前記第2の処理プログラムと前記第1の処理プログラムとが一致する場合に、当該第1の処理プログラムを利用して前記移行対象のファイルを移行先に書き込む処理を実行させるジョブ制御言語の制御プログラムを生成するジョブ制御言語の自動生成方法

技術分野

0001

本発明は、プログラム情報処理装置、及びジョブ制御言語自動生成方法に関する。

背景技術

0002

近年、メインフレームなどの汎用機から比較的小規模サーバシステムへの移行が進んでいる。また、セキュリティ対策コスト削減などの理由から、データをクラウドシステムへ移行する動きも拡がっている。汎用機が扱う大量のデータはテープ媒体バックアップされている。そのため、システムの移行時には、テープ媒体に格納されているファイルを1つ1つ移行先ディスク書き出す作業が生じる。

0003

テープ媒体に格納されているファイルをディスクへと書き出す処理は、JCL(Job Control Language)を用いて実行される。JCLは、ファイル毎のデータ量や移行先の空きディスク容量を確認しながら手作業で作成される。そのため、システムの移行時には、移行対象のファイルが膨大であるため、JCLの作成作業が大きな手間となっていた。

0004

磁気ディスク入れ替え時に行うファイルの移行に関し、入力されたファイルのラベル情報解析し、移行に用いるパラメータの抽出及びファイル容量の計算を実行し、その実行結果に基づいて元のJCLを編集した新たなJCLを出力する技術が提案されている。

0005

なお、データ処理装置処理プログラム高級言語で書かれたソースから機械語で書かれたオブジェクトに変換するコンパイラが提案されている。このコンパイラは、オブジェクトの実行時に用いる入出力環境設定情報ジョブ制御文)を自動的に作成する。

0006

ホストシステムのJCLをサーバシステムのJCLに変換するソフトウェア資源移行システムが提案されている。このソフトウェア資源移行システムは、ホストシステム用のJCLをサーバシステム用のJCLに変換するための変換ルール情報を参照し、この変換ルール情報に基づいてホストシステムのJCLをサーバシステムのJCLに変換する。

先行技術

0007

特開平04−217022号公報
特開昭57−159349号公報
特開2010−205068号公報

発明が解決しようとする課題

0008

上記の技術では、テープ媒体にファイルを書き込むための処理プログラムとしてシステムユーティリティを利用することが想定されている。しかし、システムユーティリティとは異なる独自の処理プログラムが利用されている場合もある。ファイルの移行に用いるJCLの自動生成に適さない処理プログラムが利用されている場合、自動生成されたJCLの信頼性を保証できなくなるリスクが生じうる。

0009

1つの側面によれば、本開示の目的は、より信頼性の高い制御プログラムを生成することが可能なプログラム、情報処理装置、及びジョブ制御言語の自動生成方法を提供することにある。

課題を解決するための手段

0010

1つの態様によれば、テープ媒体に記録されたファイルのデータ移行に用いる制御プログラムを生成する情報処理装置が提供される。情報処理装置は、テープ媒体にファイルを書き込む際に利用される第1の処理プログラムの情報を格納する記憶部と、テープ媒体から、移行対象のファイルを当該テープ媒体に書き込む際に利用された第2の処理プログラムの情報を取得し、取得した情報に基づいて、第2の処理プログラムと第1の処理プログラムとが一致する場合に、当該第1の処理プログラムを利用して移行対象のファイルを移行先に書き込む処理を実行させるジョブ制御言語の制御プログラムを生成する演算部とを有する。

発明の効果

0011

1つの側面によれば、より信頼性の高い制御プログラムを生成することができる。

図面の簡単な説明

0012

第1実施形態に係る情報処理装置の一例を示した図である。
第2実施形態に係るシステムの一例を示した図である。
第2実施形態に係る情報処理装置の機能を実現可能なハードウェアの一例を示した図である。
第2実施形態に係る情報処理装置が有する機能の一例を示したブロック図である。
第2実施形態に係る登録ユーティリティ情報の一例を示した図である。
第2実施形態に係る一次テープ情報の生成に用いるラベル情報の一例を示した図である。
第2実施形態に係る一次テープ情報の一例を示した図である。
第2実施形態に係る二次テープ情報の一例を示した図である。
第2実施形態に係るJCLファイルの一例を示した図である。
第2実施形態に係るテープ情報生成処理の流れを示したフロー図である。
第2実施形態に係るJCL生成処理の流れを示したフロー図である。
ボリュームラベル情報のフォーマットを示した図である。
ファイルラベル1のフォーマットを示した図である。
ファイルラベル2のフォーマットを示した図である。

実施例

0013

以下に添付図面を参照しながら、本発明の実施形態について説明する。なお、本明細書及び図面において実質的に同一の機能を有する要素については、同一の符号を付することにより重複説明を省略する場合がある。

0014

<1.第1実施形態>
第1実施形態について説明する。第1実施形態は、HDD(Hard Disk Drive)やSSD(Solid State Drive)などを搭載したディスク装置に対し、テープ媒体のファイルを移行する際に用いる制御プログラムを自動生成する方法に関する。

0015

図1を参照しながら、上記の方法を実現可能な情報処理装置10について説明する。情報処理装置10は、第1実施形態に係る情報処理装置の一例である。図1は、第1実施形態に係る情報処理装置の一例を示した図である。情報処理装置10は、例えば、メインフレームなどの汎用機である。

0016

図1に示すように、情報処理装置10は、記憶部11及び演算部12を有する。
記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置、或いは、HDDやフラッシュメモリなどの不揮発性記憶装置である。演算部12は、CPU(Central Processing Unit)やDSP(Digital Signal Processor)などのプロセッサである。但し、演算部12は、ASIC(Application Specific IntegratedCircuit)やFPGA(Field Programmable Gate Array)などの電子回路であってもよい。演算部12は、例えば、記憶部11又は他のメモリに記憶されたプログラムを実行する。

0017

情報処理装置10は、テープ媒体20aのファイルを移行するためのジョブ制御言語(JCL)の制御プログラムを生成する。テープ媒体20aは、例えば、LTO(Linear Tape-Open)媒体である。テープ媒体20aは、テープ装置20に装填される。テープ装置20は、装填されたテープ媒体20aに対するデータの読み書きを実行する装置である。情報処理装置10は、テープ装置20に接続されている。

0018

記憶部11は、テープ媒体20aにファイルを書き込む際に利用される予め登録された第1の処理プログラムの情報を格納する。第1の処理プログラムは、例えば、ファイルの書き込みに用いるシステムユーティリティである。システムユーティリティは、例えば、OS(Operating System)や管理者権限を有するユーザ用の管理ツールにより提供される処理プログラムである。なお、記憶部11には、システムユーティリティ以外の処理プログラムの情報が第1の処理プログラムの情報として登録されていてもよい。

0019

以下では、記憶部11に予め登録された第1の処理プログラムの情報を登録情報11aと呼ぶ場合がある。図1の例では、登録情報11aとして、第1の処理プログラムのプログラム名「PRG#1」が記憶部11に格納されている。

0020

演算部12は、テープ装置20に装填されたテープ媒体20aから、移行対象のファイルをテープ媒体20aに書き込む際に利用された第2の処理プログラムの情報を含むラベル情報30を取得する。後述するボリュームラベル情報(例えば、図12を参照)、ファイルラベル1(例えば、図13を参照)、ファイルラベル2(例えば、図14を参照)は、ラベル情報30の一例である。

0021

例えば、テープ媒体20aには、各ファイルについて、ファイル名、第2の処理プログラムのプログラム名、ファイル容量、ファイルのレコード形式などの情報を含むラベル情報30が格納されている。図1の例では、ファイル名が「FILE#1」のファイルについて、第2の処理プログラムのプログラム名「PRG#1」、ファイル容量「500」、レコード形式「固定長」などの情報がラベル情報30としてテープ媒体20aに格納されている。なお、ファイル容量の数字トラック数を表す。

0022

また、ファイル名が「FILE#2」のファイルについて、第2の処理プログラムのプログラム名「PRG#2」、ファイル容量「50」、レコード形式「可変長」などの情報がラベル情報30としてテープ媒体20aに格納されている。さらに、ファイル名が「FILE#3」のファイルについて、第2の処理プログラムのプログラム名「PRG#3」、ファイル容量「1100」、レコード形式「不定長」などの情報がラベル情報30としてテープ媒体20aに格納されている。

0023

演算部12は、上記のようなラベル情報30を取得し、第2の処理プログラムと同じ第1の処理プログラムがあるか否かを判定する。第2の処理プログラムと同じ第1の処理プログラムがある場合、演算部12は、第1の処理プログラムを利用して移行対象のファイルを移行先に書き込む処理を実行させるジョブ制御言語の制御プログラムを生成する。

0024

図1の例では、ラベル情報30に含まれる第2の処理プログラム「PRG#1」と同じ第1の処理プログラム「PRG#1」がある。そのため、演算部12は、第1の処理プログラム「PRG#1」を利用して移行対象のファイルを移行先に書き込む処理を実行させるジョブ制御言語の制御プログラム40aを生成する。

0025

一方、ラベル情報30に記載のある第2の処理プログラムのうち、第1の処理プログラムと同じではない第2の処理プログラムについて、演算部12は、レコード形式に応じた処理を実行する。

0026

レコード形式が固定長又は可変長の場合、演算部12は、第2の処理プログラムを利用して移行対象のファイルを移行先に書き込む処理を実行させるジョブ制御言語の制御プログラムを生成する。レコード形式が不定長の場合、演算部12は、移行対象のファイルについてジョブ制御言語の制御プログラムを生成する処理を回避する。

0027

図1の例では、第1の処理プログラム「PRG#1」と異なる第2の処理プログラム「PRG#2」のレコード形式が「可変長」である。そのため、演算部12は、第2の処理プログラム「PRG#2」を利用して移行対象のファイルを移行先に書き込む処理を実行させるジョブ制御言語の制御プログラム40bを生成する。

0028

一方、第1の処理プログラム「PRG#1」と異なる第2の処理プログラム「PRG#3」のレコード形式は「不変長」である。そのため、演算部12は、第2の処理プログラム「PRG#3」に対応するファイル「FILE#3」について、ジョブ制御言語の制御プログラムを生成する処理を回避する。

0029

システムユーティリティなどの仕様が明らかな処理プログラムを利用する場合、JCLの記述方法確定しているため、演算部12は、安定して正しい制御プログラムを自動生成できる。一方、仕様が明らかでない処理プログラムを利用する場合、システムユーティリティを利用する場合とはJCLの記述方法が異なるため、正しい制御プログラムを自動生成することが難しくなる場合がある。

0030

但し、仕様が明らかでない処理プログラムを利用する場合であっても、レコード形式が固定長又は可変長であれば、演算部12は、順編成形式でJCLを記述することで、安定して正しい制御プログラムを自動生成できる。このように、第2の処理プログラムの種類及びファイルのレコード形式に応じてJCLで記述される制御プログラムの生成処理を切り分けることで、信頼性の高い制御プログラムを自動生成することができる。

0031

なお、制御プログラムの生成処理が回避されたファイルについて、演算部12は、そのファイルの情報をユーザが後で参照できるように記憶部11に格納する。また、演算部12は、処理の回避をユーザに通知してもよいし、表示装置(非図示)に表示するなどの方法で、処理が回避されたファイルの情報をユーザに提供してもよい。

0032

以上、第1実施形態について説明した。
<2.第2実施形態>
次に、第2実施形態について説明する。第2実施形態は、HDDやSSDなどの記憶装置を搭載したディスク装置に対し、テープ媒体のファイルを移行する際に用いる制御プログラムを自動生成する方法に関する。

0033

[2−1.システム]
まず、図2を参照しながら、第2実施形態に係るシステムについて説明する。図2は、第2実施形態に係るシステムの一例を示した図である。

0034

図2に示すように、第2実施形態に係るシステムは、情報処理装置100、テープ装置200、ディスク装置300、及び端末装置400を有する。情報処理装置100は、テープ装置200、ディスク装置300、及び端末装置400に接続されている。また、情報処理装置100は、例えば、メインフレームである。

0035

テープ装置200は、装填されたテープ媒体210のデータを読み書きする装置である。テープ媒体210は、例えば、LTO媒体である。情報処理装置100は、テープ装置200を介してテープ媒体210のデータを読み書きする。ディスク装置300は、HDDやSSDなどの記憶装置を有する。なお、ディスク装置300は、ネットワークを介して情報処理装置100と接続されたクラウドストレージであってもよい。端末装置400は、ユーザが情報処理装置100を操作するための操作端末である。

0036

以上、システムについて説明した。なお、第2実施形態に係る技術を適用可能なシステムは図2の例に限定されないが、説明の都合上、以下では図2に例示したシステムを想定して説明を進める。

0037

[2−2.ハードウェア]
次に、図3を参照しながら、情報処理装置100のハードウェアについて説明する。図3は、第2実施形態に係る情報処理装置の機能を実現可能なハードウェアの一例を示した図である。

0038

情報処理装置100が有する機能は、例えば、図3に示す情報処理装置のハードウェア資源を用いて実現することが可能である。つまり、情報処理装置100が有する機能は、コンピュータプログラムを用いて図3に示すハードウェアを制御することにより実現される。

0039

図3に示すように、このハードウェアは、主に、CPU902と、ROM(Read Only Memory)904と、RAM906と、ホストバス908と、ブリッジ910とを有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926とを有する。

0040

CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータなどを格納する記憶装置の一例である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に変化する各種パラメータなどが一時的又は永続的に格納される。

0041

これらの要素は、例えば、高速データ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウスキーボードタッチパネルタッチパッド、ボタン、スイッチ、及びレバーなどが用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラが用いられることもある。

0042

出力部918は、例えば、LCD(Liquid Crystal Display)、又はELD(Electro-Luminescence Display)などの表示装置、又はスピーカなどの音声出力装置である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、HDDなどの磁気記憶デバイスが用いられる。また、記憶部920として、SSDやRAMディスクなどの半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイスなどが用いられてもよい。

0043

ドライブ922は、着脱可能な記録媒体であるリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928としては、例えば、磁気ディスク、光ディスク光磁気ディスク、又は半導体メモリなどが用いられうる。なお、ドライブ922は省略されてもよい。

0044

接続ポート924は、例えば、USB(Universal Serial Bus)ポートIEEE1394ポート、SCSI(Small Computer System Interface)、RS−232Cポートなど、外部接続機器930を接続するためのポートである。外部接続機器930としては、例えば、プリンタなどが用いられうる。

0045

通信部926は、ネットワーク932に接続するための通信デバイスである。通信部926としては、例えば、LAN(Local Area Network)用の通信回路光通信用の通信回路などが用いられうる。通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークであり、例えば、インターネット、LAN、FC(Fibre Channel)ネットワークなどを含む。

0046

以上、情報処理装置100のハードウェアについて説明した。なお、端末装置400の機能も図3に例示したハードウェアの一部又は全部を利用して実現できる。
[2−3.情報処理装置の機能]
次に、図4を参照しながら、情報処理装置100の機能について説明する。図4は、第2実施形態に係る情報処理装置が有する機能の一例を示したブロック図である。

0047

図4に示すように、情報処理装置100は、記憶部101、テープ情報生成部102、及びJCL生成部103を有する。
テープ情報生成部102及びJCL生成部103の機能は、上述したCPU902などを用いて実現できる。記憶部101の機能は、上述したRAM906や記憶部920などを用いて実現できる。

0048

(記憶部101)
記憶部101には、登録UTL情報101a、一次テープ情報101b、二次テープ情報101c、及びJCLファイル101dが格納される。

0049

登録UTL情報101aは、図5に示すように、システムユーティリティを特定するためのユーティリティ名を示す情報である。図5は、第2実施形態に係る登録ユーティリティ情報の一例を示した図である。例えば、ユーティリティ名は、8バイト長のデータで表現される。登録UTL情報101aに含まれるユーティリティ名は、ユーザにより事前に登録される登録情報である。図5の例では、登録UTL情報101aとしてユーティリティ名「FCPY」が登録されている。

0050

一次テープ情報101bは、テープ媒体210に格納されているラベル情報(ボリュームラベル、ファイルラベル1、ファイルラベル2)から抽出されたテープ情報である。一次テープ情報101bの生成方法については後述する。二次テープ情報101cは、一次テープ情報101bに、一次テープ情報101bの分析結果を加えたテープ情報である。二次テープ情報101cの生成方法については後述する。JCLファイル101dは、JCLで記述された制御プログラムである。JCLファイル101dの生成方法については後述する。

0051

(テープ情報生成部102)
テープ情報生成部102は、一次テープ情報101bを生成する。テープ情報生成部102は、図6に示すように、テープ媒体210からボリュームラベルと、2種類のファイルラベル(ファイルラベル1、ファイルラベル2)を読み出す。図6は、第2実施形態に係る一次テープ情報の生成に用いるラベル情報の一例を示した図である。

0052

図6(A)に示すように、ボリュームラベルには、ボリュームを特定するためのボリューム通し番号(この例では「URIAGE」)が含まれる。例えば、ボリューム通し番号は、6バイト長のデータで表現される。

0053

ファイルラベル1には、図6(B)に示すように、ボリュームラベルが示すボリュームに含まれるファイル毎のファイル名及びブロックカウントブロック数)が含まれる。例えば、ファイル名は17バイト長のデータで表現され、ブロックカウントは6バイト長のデータで表現される。この例では、ファイル名「URIAGE.H14.SERVER」とブロックカウント「1000」などがファイルラベル1に含まれている。

0054

ファイルラベル2には、図6(C)に示すように、ボリュームラベルが示すボリュームに含まれるファイル毎のレコード形式、ブロック長レコード長ジョブ名/プログラム名が含まれる。例えば、レコード形式は1バイト長のデータで表現され、ブロック長は5バイト長のデータで表現され、レコード長は5バイト長のデータで表現され、ジョブ名/プログラム名は17バイト長のデータで表現される。

0055

図6(C)の中で、レコード形式「F」は固定長を表し、レコード形式「U」は不定長(非定型)を表す。また、レコード形式「V」は可変長を表す。ジョブ名/プログラム名の欄にある「URIAGE_1/FCPY」という記載は、ジョブ名が「URIAGE_1」、プログラム名が「FCPY」であることを意味する。また、FILE#3のレコード長が「0」になっているが、レコード形式が「U」の場合、レコード長の欄には「0」と記載される。

0056

テープ情報生成部102は、読み出したラベル情報に基づいて一次テープ情報101bを生成する。例えば、テープ情報生成部102は、図6に例示したラベル情報に基づいて、図7に示すような一次テープ情報101bを生成する。図7は、第2実施形態に係る一次テープ情報の一例を示した図である。

0057

テープ情報生成部102は、ボリュームラベルから抽出したボリューム通し番号を各ファイルに対応付ける。また、テープ情報生成部102は、テープ媒体210に格納されている順番を示す格納順を各ファイルに割り当てる。また、テープ情報生成部102は、ファイルラベル1から抽出したファイル名、ファイルラベル2から抽出したプログラム名、レコード形式、レコード長、ブロック長を各ファイルに対応付ける。

0058

また、テープ情報生成部102は、移行先に確保する空き容量(ファイル容量)を計算する。まず、テープ情報生成部102は、1トラックに格納できるブロック数Xを計算する。ブロック数Xは、トラック長をブロック長で割った値の小数点以下を切り捨てた整数値で与えられる。そして、テープ情報生成部102は、計算したブロック数Xを用いてファイル容量を計算する。ファイル容量は、ブロック数をXで割った値の小数点以下を切り上げた整数値で与えられる。なお、ファイル容量はトラック数で表される。

0059

FILE#1の場合、例えば、トラック長が47476であるとすると、トラック長(47476)/ブロック長(20000)は約2.37であるから、ブロック数Xは、2.37の小数点以下を切り捨てた整数値2となる。そして、ファイル容量は、ブロック数(1000)/X(2)であるから、500となる。FILE#2、#3についても同様である。テープ情報生成部102は、計算したファイル容量を、該当するファイルの情報に対応付ける。

0060

上記の処理により、各ファイルについて、ボリューム通し番号、格納順、ファイル名、プログラム名、ファイル容量、レコード形式、レコード長、ブロック長を対応付けた一次テープ情報101bが生成される(図7を参照)。テープ情報生成部102は、生成した一次テープ情報101bを記憶部101に格納する。

0061

(JCL生成部103)
JCL生成部103は、一次テープ情報101bに基づいて二次テープ情報101cを生成する。二次テープ情報101cは、図8に示すように、一次テープ情報101bに、「生成対象」の項目を追加した情報である。図8は、第2実施形態に係る二次テープ情報の一例を示した図である。なお、生成対象が「OK」とは、該当するファイルについてJCLファイル101dを生成することを意味する。また、生成対象が「NG」とは、該当するファイルについてJCLファイル101dを生成しないことを意味する。

0062

JCLファイル101dを生成するか否かの判断は、一次テープ情報101bに基づいて行われる。まず、JCL生成部103は、一次テープ情報101bを参照し、該当するファイルに対応するプログラム名が登録UTL情報101aのユーティリティ名に一致するか否かを判定する。つまり、JCL生成部103は、該当するファイルの書き込み時に用いた処理プログラムがシステムユーティリティか否かを判定する。

0063

プログラム名と一致するユーティリティ名が登録UTL情報101aにある場合、JCL生成部103は、該当するファイルをJCLファイル101dの生成対象にする(生成対象「OK」)。図8の例では、FILE#1に対応するプログラム名「FCPY」が登録UTL情報101a(図5を参照)にあるため、JCL生成部103は、ファイル名「URIAGE.H14.SERVER」のファイルを生成対象にする(生成対象「OK」)。

0064

プログラム名と一致するユーティリティ名が登録UTL情報101aにない場合、JCL生成部103は、該当するファイルに対応するレコード形式を参照する。レコード形式が「F」(固定長)又は「V」(可変長)の場合、JCL生成部103は、該当するファイルをJCLファイル101dの生成対象にする(生成対象「OK」)。一方、レコード形式が「U」(不定長)の場合、JCL生成部103は、該当するファイルをJCLファイル101dの生成対象から外す(生成対象「NG」)。

0065

図8の例では、FILE#2に対応するプログラム名「URI100B」が登録UTL情報101a(図5を参照)にないため、JCL生成部103は、ファイル名が「URIAGE.H14.TOTAL」のファイルに対応するレコード形式を参照する。このファイルのレコード形式は「F」(固定長)であるから、JCL生成部103は、このファイルを生成対象にする(生成対象「OK」)。

0066

また、FILE#3に対応するプログラム名「VOLBK」も登録UTL情報101a(図5を参照)にないため、JCL生成部103は、ファイル名が「URIAGE.H14.BACKUP」のファイルに対応するレコード形式を参照する。このファイルのレコード形式は「U」(不定長)であるから、JCL生成部103は、このファイルを生成対象から外す(生成対象「NG」)。

0067

JCL生成部103は、上記のようにして生成した二次テープ情報101cを記憶部101に格納する。二次テープ情報101cを記憶部101に格納しておくことで、自動生成されたJCLファイル101dに基づいてファイルを移行した後で、移行済みのファイルと未移行のファイルとをユーザが容易に確認できるようになる。また、一次テープ情報101bと同じ内容が併記されていることで、JCLファイル101dの生成対象から外れた原因をユーザが容易に認識することが可能になる。

0068

また、JCL生成部103は、一次テープ情報101bを用いてJCLファイル101dを生成する。図7に例示した一次テープ情報101bを用いる場合、JCL生成部103は、図9に示すようなJCLファイル101dを生成する。図9は、第2実施形態に係るJCLファイルの一例を示した図である。

0069

JCL生成部103は、例えば、JCL制御文テンプレートを利用し、そのテンプレートに一次テープ情報101bの内容を埋め込むことでJCLファイル101dを生成する。この場合、テンプレートは予め用意され、記憶部101に格納されている。また、テンプレートは、システムユーティリティを利用する場合のJCL制御文とする。

0070

図9の左端に表示した01から17までの数字は、説明の都合上、JCLファイル101dの行を参照しやすくするために付した行番号である。1行目はJCLファイル101dの対象とするボリュームを指定するJCL制御文である。16、17行目は、JCLファイル101dの終端部に記述されるJCL制御文である。また、2行目から8行目までがFILE#1の移行に関するJCL制御文であり、9行目から16行目までがFILE#2の移行に関するJCL制御文である。

0071

また、図9に例示したJCLファイル101dの中にある下線は、一次テープ情報101bに記載された情報が記入される部分を参照できるように便宜的に付したものである。例えば、下線部を除く部分をテンプレートとして用意することができる。上述したテンプレートは、例えば、2行目から8行目までの下線部を除く部分、及び、9行目から15行目までの下線部を除く部分で与えられる。

0072

まず、JCL生成部103は、一次テープ情報101bからボリューム通し番号「URIAGE」を抽出し、1行目の「¥JOB」の後に記述する。
次に、JCL生成部103は、一次テープ情報101bから、格納順が「1」で生成対象のFILE#1に対応するプログラム名「FCPY」を抽出する。プログラム名が「FCPY」の処理プログラムは、登録UTL情報101aに登録されたシステムユーティリティであるから、JCL生成部103は、上述したテンプレートを「¥JOB」のJCL制御文の次に挿入する。そして、JCL生成部103は、プログラム名「FCPY」を2行目の「¥EX」の後に記述する。

0073

同様に、JCL生成部103は、一次テープ情報101bから抽出したボリューム通し番号「URIAGE」、ファイル名「URIAGE.H14.SERVER」、ファイル容量「500」を3、4行目の下線部(予め設定された記述部分)に挿入する。なお、3行目の「FILE=(URIAGE.H14.SERVER,1,SL)」の数字「1」は格納順を示し、文字「SL」は標準ラベルを示す。

0074

次に、JCL生成部103は、一次テープ情報101bから、格納順が「2」で生成対象のFILE#2に対応するプログラム名「URI100B」を抽出する。プログラム名が「URI100B」の処理プログラムは、登録UTL情報101aに登録されたシステムユーティリティではない。そのため、JCL生成部103は、FILE#1の処理に対応するJCL制御文の次(「/FIN」の後)に上述したテンプレートを挿入する。

0075

そして、JCL生成部103は、プログラム名「FCPY」を9行目の「¥EX」の後に記述する。また、JCL生成部103は、一次テープ情報101bから抽出したファイル名「URIAGE.H14.TOTAL」、ファイル容量「50」を10、11行目の下線部(予め設定された記述部分)に挿入する。また、JCL生成部103は、16、17行目に「¥JEND」「¥FIN」を記述する。

0076

JCL生成部103は、上記のような方法でJCLファイル101dを生成する。なお、図9に示したJCL制御文及び上述した記述の順番は一例であり、利用するシステムやファイルなどの仕様に応じて適宜変形しうる。また、XSP系のJCLを例に説明したが、MVS系(MSP系を含む)やVSE系など、他のJCLについても同様に適用できる。こうした変形についても第2実施形態の技術的範囲に属する。

0077

以上、情報処理装置100の機能について説明した。
[2−4.処理の流れ]
次に、情報処理装置100が実行する処理の流れについて説明する。

0078

(テープ情報生成)
まず、図10を参照しながら、情報処理装置100が実行するテープ情報生成処理の流れについて説明する。図10は、第2実施形態に係るテープ情報生成処理の流れを示したフロー図である。

0079

(S101)テープ情報生成部102は、テープ装置200を介してテープ媒体210からラベル情報(図6を参照)を取得する。例えば、テープ情報生成部102は、テープ媒体210からボリュームラベルを読み出し、ボリューム通し番号を抽出する。また、テープ情報生成部102は、テープ媒体210からファイルラベルを読み出し、各ファイルについて、ファイル名、ブロックカウント、レコード形式、ブロック長、レコード長、ジョブ名/プログラム名を抽出する。

0080

(S102)テープ情報生成部102は、S103以降の処理の対象として選択されていないファイルがあるか否かを判定する。未選択のファイルがある場合、テープ情報生成部102は、未選択のファイルの中から1つのファイルを対象ファイルとして選択する。対象ファイルが選択された場合、処理はS103へと進む。一方、未選択のファイルがない場合、図10に示した一連の処理は終了する。

0081

(S103)テープ情報生成部102は、対象ファイルについて、S101で取得したボリューム通し番号などのラベル情報を一次テープ情報101b(図7を参照)に追加する。例えば、対象ファイルが図6のFILE#1の場合、テープ情報生成部102は、ボリューム通し番号「URIAGE」、ファイル名「URIAGE.H14.SERVER」、プログラム名「FCPY」などを一次テープ情報101bに追加する。

0082

(S104)テープ情報生成部102は、対象ファイルについて、格納順を示す格納順番号を一次テープ情報101bに追加する。格納順番号は、対象ファイルがテープ媒体210に格納されている順番を表す番号である。

0083

(S105)テープ情報生成部102は、対象ファイルのファイル容量(移行先に確保する空き容量)を計算する。
まず、テープ情報生成部102は、1トラックに格納できるブロック数Xを計算する。ブロック数Xは、トラック長をブロック長で割った値の小数点以下を切り捨てた整数値で与えられる。そして、テープ情報生成部102は、計算したブロック数Xを用いてファイル容量を計算する。ファイル容量は、ブロック数をXで割った値の小数点以下を切り上げた整数値で与えられる。なお、ファイル容量はトラック数で表される。

0084

図7のFILE#1が対象ファイルの場合、例えば、トラック長が47476であるとすると、トラック長(47476)/ブロック長(20000)は約2.37であるから、ブロック数Xは、2.37の小数点以下を切り捨てた整数値2となる。そして、ファイル容量は、ブロック数(1000)/X(2)であるから、500となる。

0085

(S106)テープ情報生成部102は、S105で計算したファイル容量を一次テープ情報101bに追加する。S106の処理が完了すると、処理はS102へと進む。
(JCL生成)
次に、図11を参照しながら、情報処理装置100が実行するJCL生成処理の流れについて説明する。図11は、第2実施形態に係るJCL生成処理の流れを示したフロー図である。

0086

(S111)JCL生成部103は、一次テープ情報101bのレコード(ファイル毎の情報)の中から未だ読み出されていないレコードを1つ読み出す。例えば、FILE#1に対応するレコードは、ボリューム通し番号「URIAGE」、格納順「1」、ファイル名「URIAGE.H14.SERVER」、プログラム名「FCPY」、ファイル容量「500」、レコード形式「F」などである。

0087

(S112)JCL生成部103は、一次テープ情報101bのレコードを全て読み出し終えた(S111で読み出すレコードがなかった)か否かを判定する。全てのレコードを読み出し終えている場合、図11に示した一連の処理は終了する。一方、S111で読み出したレコードがある場合、処理はS113へと進む。

0088

(S113)JCL生成部103は、S111で読み出したレコード(対象レコード)のプログラム名と、登録UTL情報101aに記載のユーティリティ名とが一致するか否かを判定する。つまり、JCL生成部103は、対象レコードのファイルを処理する処理プログラムがシステムユーティリティであるか否かを判定する。処理プログラムがシステムユーティリティである場合、処理はS114へと進む。一方、処理プログラムがシステムユーティリティでない場合、処理はS119へと進む。

0089

(S114)JCL生成部103は、対象レコードに基づくJCL制御文の記載が、JCLファイル101dに対する最初の記載であるか否かを判定する。最初の記載である場合、処理はS115へと進む。一方、最初の記載でない場合、処理はS117へと進む。

0090

(S115)JCL生成部103は、JCLファイル101dの先頭にJOB文(図9の1行目「¥JOB…」)を記載する。例えば、図7のFILE#1に対応するレコードが対象レコードの場合、JCL生成部103は、ボリューム通し番号「URIAGE」を抽出し、図9の1行目のようにJOB文を記述する。

0091

(S116)JCL生成部103は、JEND文図9の16行目「¥JEND」)及びFIN文(図9の17行目「¥FIN」)をJCLファイル101dに記載する。
(S117)JCL生成部103は、処理プログラムに応じたJCL制御文をJCLファイル101dに記載する。

0092

対象レコードの処理プログラムがシステムユーティリティである場合、JCL生成部103は、システムユーティリティ用の予め用意されたJCL制御文のテンプレート(図9の2行目から8行目を参照)を利用してJCLファイル101dに記載を加える。

0093

例えば、FILE#1のレコードを対象レコードとする場合、FILE#1に対応するプログラム名「FCPY」の処理プログラムは、登録UTL情報101aに登録されたシステムユーティリティである。そのため、JCL生成部103は、図9の2行目から8行目のように、テンプレートに対象レコードの情報を挿入したJCL制御文を生成し、JCLファイル101dに記載を加える。

0094

対象レコードの処理プログラムがシステムユーティリティでない場合、JCL生成部103は、予め用意されたJCL制御文のテンプレート(図9の9行目から15行目を参照)を利用してJCLファイル101dに記載を加える。

0095

例えば、FILE#2のレコードを対象レコードとする場合、FILE#2に対応するプログラム名「FCPY」の処理プログラムは、登録UTL情報101aに登録されたシステムユーティリティではない。しかし、レコード形式が「F」(固定長)であるから(S119を参照)、順編成ファイルとして扱うことができる。そのため、JCL生成部103は、図9の9行目から15行目のように、テンプレートに対象レコードの情報を挿入したJCL制御文を生成し、JCLファイル101dに記載を加える。

0096

(S118)JCL生成部103は、生成対象マークをOKに設定(二次テープ情報101cの生成対象欄に「OK」と記載)する。S118の処理が完了すると、処理はS111へと進む。

0097

(S119)JCL生成部103は、対象レコードに記載されたレコード形式が「F」又は「V」であるか否かを判定する。レコード形式が「F」である場合、又はレコード形式が「V」である場合、処理はS114へと進む。一方、レコード形式が「U」である場合、処理はS120へと進む。

0098

(S120)JCL生成部103は、生成対象マークをNGに設定(二次テープ情報101cの生成対象欄に「NG」と記載)する。S120の処理が完了すると、処理はS111へと進む。

0099

つまり、対象レコードの処理プログラムがシステムユーティリティではなく、レコード形式が不定長である場合、正しくJCL制御文が自動生成されないリスクがあるため、該当するファイルについてJCL制御文の自動生成がスキップされる。但し、処理がスキップされたファイルの情報を二次テープ情報101cに残すことで、該当するファイルをユーザが後で確認して手作業でJCLファイルを記述することを容易にしている。

0100

以上、処理の流れについて説明した。
[2−5.ボリュームラベル情報、ファイルラベル1、ファイルラベル2]
ここで、テープ媒体210から取得可能なボリュームラベル情報、ファイルラベル1、ファイルラベル2のフォーマットについて、図12図14を参照しながら説明する。図12は、ボリュームラベル情報のフォーマットを示した図である。図13は、ファイルラベル1のフォーマットを示した図である。図14は、ファイルラベル2のフォーマットを示した図である。

0101

(ボリュームラベル情報)
図12に示すように、ボリュームラベル情報は、先頭から順に、ボリュームラベル、ボリューム通し番号、記録方式、及び使用者識別コードの項目を有する。ボリューム通し番号と記録方式との間には「0」が格納される1Byteの未使用領域と、空白に設定された24Byteの未使用領域とが設けられる。また、記録方式と使用者識別コードとの間には空白に設定された4Byteの未使用領域が設けられ、使用者識別コードの後には29Byteの未使用領域が設けられる。

0102

ボリュームラベルは、磁気テープの標準ラベルを示す情報である。ボリューム通し番号は、ボリュームラベル情報に対応するテープ媒体(該当テープ)のボリューム通し番号である。記録方式は、ファイルを圧縮保存したテープ媒体であるか否かを示すための圧縮形式又は非圧縮形式を示す情報である。使用者識別コードは、所有者名などの任意の使用者情報である。

0103

(ファイルラベル1)
図13に示すように、ファイルラベル1は、先頭から順に、ラベル識別名、ファイル名、ファイル通し番号ボリューム順序番号、ファイル論理順序番号、世代番号バージョン番号、作成日満了日付、ブロックカウント、及びシステムコードの項目を有する。満了日付とブロックカウントとの間には「0」が格納される1Byteの未使用領域が設けられる。また、システムコードの後には空白に設定された7Byteの未使用領域が設けられる。

0104

ラベル識別名として、ファイルラベル1がファイルの先頭に書かれている場合にはHDR1の4文字が格納され、ファイルが次のボリュームへ続く場合にはボリュームの最後に終わりを意味するラベルEOV1の4文字が格納される。また、ファイルラベル1がファイルの最後に書かれている場合にはファイルの最後に終わりを意味するラベルEOF1の4文字がラベル識別名として格納される。

0105

ファイル名は、ファイル作成時にジョブ制御文で指定されたファイル名の17Byte分である。ファイル通し番号は、ファイルラベル1に対応するファイル(該当ファイル)を含むボリュームのボリューム通し番号である。ボリューム順序番号は、該当ファイルを含むボリュームの先頭ボリュームからの順序を示す数字である。ファイル論理順序番号は、ファイルの相対的な位置を示す数字である。

0106

世代番号及びバージョン番号として、該当ファイルが世代ファイルである場合には、その世代番号が格納される。世代ファイルとは、その世代が管理されるファイルである。該当ファイルが世代ファイルでない場合には、世代番号及びバージョン番号の項目は空白となる。作成日は、該当ファイルを作成した作成日である。

0107

満了日付は、該当ファイルのファイル保存期限である。書き込み時に満了日付の指定がされていない場合には、b00000(b:空白)が格納される。ブロックカウントは、ブロック数である。システムコードは、ファイルラベル1を作成したシステムを識別するコードである。

0108

(ファイルラベル2)
図14に示すように、ファイルラベル2は、先頭から順に、ラベル識別名、レコード形式、ブロック長、論理レコード長、記録密度、ファイルの位置、ジョブ名/プログラム名、記録方式、制御文字表示、ブロック属性、及び使用者情報の項目を有する。制御文字表示とブロック属性との間には「0」が格納される1Byteの未使用領域が設けられる。また、ブロック属性と使用者情報との間には空白に設定された13Byteの未使用領域が設けられる。

0109

ファイルラベル2がファイルラベル1のHDR1に続いて書かれている場合には、ラベル識別名としてHDR2の4文字が格納される。ファイルラベル2がファイルラベル2のEOV1に続く場合にはEOV2の4文字が格納され、ファイルラベル1のEOF1に続く場合にはEOF2の4文字が格納される。

0110

レコード形式として、固定長の場合にはF、可変長の場合にはV、不定長の場合にはUが格納される。ブロック長は、ファイルのブロックの長さである。論理レコード長は、ファイルの論理レコード長である。記録密度の項目には、テープ媒体上の記録密度を示すコードが格納される。ファイルの位置の項目には、ファイル作成時にテープボリューム切替えが生じたかどうかを示す数字(0:生じた、1:生じていない)が格納される。

0111

ジョブ名/プログラム名は、ファイル作成時のジョブ名及びプログラム名である。記録方式の項目には、圧縮形式又は非圧縮形式を示す情報が格納される。制御文字表示の項目には、ファイル内レコードが制御文字を含むか否かを示す情報が格納される。ブロック属性の項目には、ファイル内レコードがどのようにブロック化されたか(ブロック化方式)を示す情報が格納される。使用者情報の項目には、任意の使用者情報が格納される。

0112

以上、テープ媒体210から取得可能なボリュームラベル情報、ファイルラベル1、ファイルラベル2のフォーマットについて説明した。
以上、第2実施形態について説明した。

0113

10情報処理装置
11 記憶部
11a登録情報
12演算部
20テープ装置
20aテープ媒体
30ラベル情報
40a、40b 制御プログラム

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ