- この記事は、IBM Community Japanの主催する2026年ナレッジモール研究における、「WG ID: 2026-C-05 メインフレーム若手技術者の広場」の成果物です。
- 当記事の著作権はIBMに帰属します。詳細はこちらを参照ください。
はじめに
IBMメインフレームを学び始めると、z/OS、JES2、TSO、IMS、VTAM
といった聞き慣れない用語が数多く登場します。
その中でも VTAM(Virtual Telecommunications Access Method) は、長年にわたりIBMメインフレームの通信基盤を支えてきた重要なコンポーネントです。
本記事では、IMSを例にVTAMの役割やAPPL/LU/PUの概念、実際の銀行システムでの利用イメージを初心者向けに解説します。
VTAMとは
VTAM(Virtual Telecommunications Access Method)は、
SNA(Systems Network Architecture)ネットワーク上の通信を管理するソフトウェア
です。*i1
簡単に言うと、「メインフレームの通信管理者」のような役割を担います。
VTAMは、
- 3270端末
- IMS
- 他ホストシステム
- SNAネットワーク機器
との通信を管理します。
SNAとは
VTAMを理解するにはSNAを知る必要があります。
SNA(Systems Network Architecture)はIBMが提供するネットワークアーキテクチャです。*i2
現在のシステムではTCP/IPが主流ですが、
- 金融機関
- 保険会社
- 公共機関
などでは長年稼働している勘定系システムとの接続のため、現在もSNA技術が利用されているケースがあります。*i2
VTAMの役割
VTAMの主な役割は以下の4つです。*i3
1. セッション管理
VTAMの最も重要な役割の1つがセッション管理です。*i3
VTAMは、
- 端末
- アプリケーション
- 他ホスト
との通信セッションを確立・維持・終了します。
例えば、
3270端末
↓
VTAM
↓
アプリケーション
という通信が発生した場合、VTAMが両者のセッションを管理します。
VTAMは特定のアプリケーション専用ではなく、SNAネットワーク上の通信セッションを管理する共通基盤として機能しています。*i3
2. 通信経路管理
VTAMは、端末やアプリケーション間の通信経路(ルート)を管理します。*i3
利用者やアプリケーションは通常「通信相手がどの回線や装置を経由して接続されているか」を意識する必要はありません。
例えば、
TM0001(LU)
↓
TMCTRL(PU)
↓
VTAM
↓
IMSA(APPL)
という構成がある場合、TM0001はIMSAへ接続したいことだけを意識します。
実際にどの通信装置や回線を経由するかはVTAMが管理します。*i3
補足
大規模システムでは複数の通信経路が存在することがありますが、これはあくまで「同一の接続先(APPL)へ至るまでの物理的な経路の選択」です。VTAMが「複数存在するAPPL(例:IMS1かIMS2か)の中から接続先そのものを自動的に振り分ける」動作は、標準の構成では行われません。そうした振り分けは、Parallel Sysplex環境でGeneric Resources機能を明示的に設定した場合などに限られます。
3. リソース管理
VTAMはSNAネットワーク上のさまざまな資源(リソース)を管理します。*i3
代表的なリソースは以下の通りです。
| リソース | 役割 |
|---|---|
| APPL | IMSやCICSなどのアプリケーション |
| PU | 通信装置やネットワークノード |
| LU | 端末や論理的な通信相手 |
APPL
APPLは、VTAMに登録されるアプリケーションそのものです。IMS、CICS、TSOなどがAPPLとして定義されます。
APPL ID=IMSA
APPL ID=CICSA
APPL ID=TSOA
ユーザーが3270端末から
/SIGNON APPLID(IMSA)
のように接続すると、VTAMはAPPL定義を見てIMSへセッション接続します。
PU
PUは通信装置そのものを表します。PUは回線制御、ネットワーク管理、LUの収容を行います。
現在は
・TN3270サーバ
・通信ゲートウェイ
などがPUになります。
PU=PU001
の下に
LU=LU0001
LU=LU0002
LU=LU0003
とLUが定義されるイメージです。
LU
LUは実際にアプリケーションと会話する論理端末です。
3270端末セッションはLUとして扱われます。
LUは画面受信、セッション管理などを担当します。
例えば、
TMCTRL(PU)
├─ TM0001(LU)
├─ TM0002(LU)
└─ TM0003(LU)
IMSA(APPL)
という定義があった場合、VTAMは
- TM0001は存在するか
- TMCTRLは稼働しているか
- IMSAは接続可能か
を管理しています。
オペレータはVTAMコマンドを利用して各リソースの状態を確認できます。
例:
D NET,ID=IMSA
表示例:
IST075I NAME = IMSA
IST486I STATUS=ACTIVE
このようにVTAMは、ネットワーク上にどのような資源が存在し、現在利用可能かを一元的に管理する役割を持っています。*i3
4. 障害検知・状態管理
VTAMは通信障害の検知やネットワーク資源の状態監視も行います。*i3
例えば、
- 3270端末の切断
- 通信回線障害
- セッション異常終了
などが発生した場合、VTAMはその状態を検知します。
また、障害が発生した際にはメッセージを発行し、運用担当者へ通知します。
金融機関のような24時間365日稼働するシステムでは多数のチャネルが接続されています。
VTAMはこれらの接続状態を常に監視し、「どの端末が利用可能で、どのアプリケーションと通信できるか」を管理することで、安定したオンラインサービスを支えています。*i3
APPL・LU・PUについて
APPLとは?
APPL(Application Program Major Node)は、
VTAMへアプリケーションを登録するための定義です。*i4
IMSを登録する例:
IMSA APPL AUTH=(ACQ,PASS)
VTAMはこの定義を見ることで、
IMSA
↓
IMS TM
というアプリケーションが存在することを認識します。*i4
LUとは?
LU(Logical Unit)は、
SNAネットワーク上の論理的な通信相手です。*i4
新人向けには、 「端末の論理名」と理解すると分かりやすいでしょう。
例:
TERM001 LU LOCADDR=01
PUとは?
PU(Physical Unit)は、
通信装置や通信コントローラを表します。*i4
例:
P3270 PU ADDR=01
PUとLUの役割の違い
PUとLUの関係は、**マンション(建物)と各部屋(号室)**に例えると分かりやすいです。
- PU = マンションの建物そのもの — 建物への電気・水道などのインフラ引き込み口
- LU = 建物内の各部屋(101号室、102号室…) — 実際に人が住み、郵便物や来客が届く単位
具体例:
BRANCHCTRL(PU) ← マンションの建物
├─ BR001(LU) ← 窓口端末1 101号室
├─ BR002(LU) ← 窓口端末2 102号室
└─ BR003(LU) ← 窓口端末3 103号室
- BRANCHCTRL(PU) は営業店に置かれた通信制御装置そのものを表します。マンションの建物と同じく、VTAMから見ると「この建物(物理装置)自体が存在し、稼働しているか」を管理する対象です。
- BR001/BR002/BR003(LU) はその建物の中にある各部屋にあたります。実際に郵便物(=IMSとのデータ)を受け取るのは、建物そのものではなく個々の部屋(LU)の方です。
この親子関係により、
- 建物が停電・倒壊する(PUの通信障害)→ 中の部屋(LU)もすべて使えなくなる
- 1つの部屋(BR001)だけが空室になる(LUの切断)→ 他の部屋(BR002、BR003)には影響しない
「PUは建物そのもの、LUはその中にある個々の部屋」と覚えると理解しやすいでしょう。
VTAM定義例
IMSA APPL AUTH=(ACQ,PASS)
P3270 PU ADDR=01
TERM001 LU LOCADDR=01
TERM002 LU LOCADDR=02
TERM003 LU LOCADDR=03
IMS接続時の流れ
利用者が3270端末からIMSへ接続する場合、
利用者
↓
TERM001(LU)
↓
P3270(PU)
↓
VTAM
↓
IMSA(APPL)
↓
IMS TM
という流れで通信が行われます。*i5
VTAMは、
- まずPU(通信装置)を活性化・認識
- その配下のLU(端末)を活性化・認識
- LUとIMS APPLの間でセッションを確立
という順序で処理を行います。*i5
実際の銀行システムでVTAMはどのように使われるのか
利用者が営業店の窓口で口座開設を行うケースを考えてみます。
営業店担当者が端末から、
氏名:山田 太郎
住所:東京都○○区△△
生年月日:1990/01/01
などの情報を入力し、口座開設処理を実行します。
VTAMから見た構成
BR001(LU)
↓
BRANCHCTRL(PU)
↓
VTAM
↓
IMSA(APPL)
↓
IMS TM
- BR001(LU):営業店端末を表す論理ユニット
- BRANCHCTRL(PU):営業店ネットワークを収容する通信装置
- IMSA(APPL):勘定系IMSシステム
口座開設処理の流れ
営業店担当者が口座開設処理を実行すると、
① 営業店端末で顧客情報入力
↓
② VTAMがセッション管理
↓
③ IMSへ電文送信
↓
④ IMSトランザクション起動
↓
⑤ 顧客情報登録
↓
⑥ 口座番号採番
↓
⑦ 勘定系DBへ登録
↓
⑧ 処理結果返却
↓
⑨ 営業店端末へ表示
という流れになります。*i5
VTAM自身は、
- 顧客情報登録
- 口座番号採番
- 勘定系更新
といった業務処理は行いません。
営業店担当者は通信経路を意識することなく操作できますが、内部ではVTAMがLUとAPPLのセッションを管理し、入力データをIMSへ届けています。
このように銀行の営業店業務においても、VTAMはオンライン取引を支える重要な基盤として機能しています。
初心者向けまとめ
新人のうちはまず以下を覚えれば十分です。
| 用語 | 覚え方 |
|---|---|
| APPL | IMSなどのアプリケーション |
| LU | 営業店端末や3270端末 |
| PU | 通信装置 |
| VTAM | 通信管理ソフト |
そして銀行システムで考えると、
Webシステム
チャネル系システム
↓
VTAM
↓
IMS
↓
勘定系DB
というイメージになります。
VTAMは業務処理を実行するわけではなく、
「利用者チャネルとIMSをつなぐ通信ハブ」
として機能しているのです。
参考文献
[1] IBM Documentation
z/OS Basic Skills Education - Systems Network Architecture (SNA)
https://www.ibm.com/docs/en/zos-basic-skills
[2] IBM Documentation
z/OS Communications Server: SNA Resource Definition Reference
https://www.ibm.com/docs/en/zos
[3] IBM Documentation
Introduction to VTAM Resource Definitions
https://www.ibm.com/docs/en/zos
[4] IBM Documentation
IMS Version 15 - IMS Transaction Manager Overview
https://www.ibm.com/docs/en/ims
[5] IBM Documentation
IMS Communications and Connections Guide
https://www.ibm.com/docs/en/ims
[6] IBM Redbooks
Introduction to the New Mainframe: Networking
https://www.redbooks.ibm.com
[7] IBM Redbooks
ABCs of z/OS System Programming Volume 1
https://www.redbooks.ibm.com
当資料に掲載の情報・図表に関する注釈
| 番号 | 対象 | 区分 | 出典・利用許諾状況など |
|---|---|---|---|
| *i1 | 「VTAMとは」の定義文 | 引用 | 参考文献[1][6]の内容を参照し要約 |
| *i2 | 「SNAとは」の説明文 | 引用 | 参考文献[1][6][7]の内容を参照し要約 |
| *i3 | VTAMの役割(セッション管理/経路管理/リソース管理/障害検知)の説明文 | 引用 | 参考文献[2][3]の内容を参照し要約 |
| *i4 | APPL/LU/PUの定義文および図解 | 自作 | 参考文献[1][2][3][6]をもとに筆者が図表化 |
| *i5 | IMS接続時の流れ、口座開設処理の流れの図・説明文 | 引用 | 参考文献[4][5]の内容を参照し要約 |