JPH11203193A - 共有メモリ管理装置及び方法 - Google Patents
共有メモリ管理装置及び方法Info
- Publication number
- JPH11203193A JPH11203193A JP547898A JP547898A JPH11203193A JP H11203193 A JPH11203193 A JP H11203193A JP 547898 A JP547898 A JP 547898A JP 547898 A JP547898 A JP 547898A JP H11203193 A JPH11203193 A JP H11203193A
- Authority
- JP
- Japan
- Prior art keywords
- shared memory
- entry
- business
- type
- data
- 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)【要約】
【課題】 業務プロセスが確保している共有メモリ上の
各エントリの状態を判定し、解放漏れが判定されたエン
トリを自動的に解放または退避させてエントリの満杯に
起因したシステムダウンを防止する。 【解決手段】 業務プロセスP1,P2,P3が共用す
る共有メモリ3を備えた計算機において、業務プロセス
からの書き込み要求に応じて共有メモリ3に確保したエ
ントリに業務種別及び時刻情報を共有メモリ管理手段K
3で付加し、前記業務種別と時刻情報を基に所定周期で
エントリをチェックし、前記業務プロセスの解放処理漏
れが判定されたとき、対応するエントリを共有メモリ管
理機能部K1、共有メモリ監視機能部K3、共有メモリ
退避/解放機能部K4等を用いて自動的に共有メモリ3
から退避または解放し、システムの信頼性を向上させ
る。
各エントリの状態を判定し、解放漏れが判定されたエン
トリを自動的に解放または退避させてエントリの満杯に
起因したシステムダウンを防止する。 【解決手段】 業務プロセスP1,P2,P3が共用す
る共有メモリ3を備えた計算機において、業務プロセス
からの書き込み要求に応じて共有メモリ3に確保したエ
ントリに業務種別及び時刻情報を共有メモリ管理手段K
3で付加し、前記業務種別と時刻情報を基に所定周期で
エントリをチェックし、前記業務プロセスの解放処理漏
れが判定されたとき、対応するエントリを共有メモリ管
理機能部K1、共有メモリ監視機能部K3、共有メモリ
退避/解放機能部K4等を用いて自動的に共有メモリ3
から退避または解放し、システムの信頼性を向上させ
る。
Description
【0001】
【発明の属する技術分野】本発明は、計算機における共
有メモリ管理装置及び方法に係り、特に、終日運転され
る無停止型のOLTP(オンライン トランザクション
プロセス)システムにあって、複数の業務プロセスで
共有する共有メモリを効率的に使用し、共有メモリ上の
エントリの満杯によるシステムダウンを防止するための
共有メモリ管理装置及び方法に関する。
有メモリ管理装置及び方法に係り、特に、終日運転され
る無停止型のOLTP(オンライン トランザクション
プロセス)システムにあって、複数の業務プロセスで
共有する共有メモリを効率的に使用し、共有メモリ上の
エントリの満杯によるシステムダウンを防止するための
共有メモリ管理装置及び方法に関する。
【0002】
【従来の技術】共有メモリエリアの管理を行う従来のメ
モリ管理方式として、特開昭57−73457号公報に
記載のものがあり、メモリのエントリの使用開始時刻
と、プロセスが確保しているエントリ数の変化を監視
し、プロセスが確保しているエントリ数に一定時間以上
の変化がない場合に、前記プロセスの処理が不正である
と判断し、そのエントリを強制的に解放し、プロセスを
強制終了している。この方式により、格納データが削除
されてもシステムに影響が出ないようにすることができ
る。また、特開平6−12314号公報に記載のメモリ
管理方式では、メモリのエントリに、プロセス終了後も
継続して確保するか否かの使用属性を登録し、プロセス
がエントリの解放処理をしなくとも、自動的に解放する
ようにしている。
モリ管理方式として、特開昭57−73457号公報に
記載のものがあり、メモリのエントリの使用開始時刻
と、プロセスが確保しているエントリ数の変化を監視
し、プロセスが確保しているエントリ数に一定時間以上
の変化がない場合に、前記プロセスの処理が不正である
と判断し、そのエントリを強制的に解放し、プロセスを
強制終了している。この方式により、格納データが削除
されてもシステムに影響が出ないようにすることができ
る。また、特開平6−12314号公報に記載のメモリ
管理方式では、メモリのエントリに、プロセス終了後も
継続して確保するか否かの使用属性を登録し、プロセス
がエントリの解放処理をしなくとも、自動的に解放する
ようにしている。
【0003】メモリの使用法は、大別して2種類あり、
1つは1業務プロセスが動的にメモリエリアを確保して
使用する方法であり、もう1つは複数の業務プロセスが
静的なメモリエリアを共有して使用する方法である。動
的にメモリエリアを確保する場合、オペレーティングシ
ステム(以下、「OS」という)が1つの業務プロセス
に対し、メモリエリアを割り当て、このメモリエリアを
使用する業務プロセスの処理が終了した場合、OSは自
動的にエントリを開放する(ガーベージコレクショ
ン)。
1つは1業務プロセスが動的にメモリエリアを確保して
使用する方法であり、もう1つは複数の業務プロセスが
静的なメモリエリアを共有して使用する方法である。動
的にメモリエリアを確保する場合、オペレーティングシ
ステム(以下、「OS」という)が1つの業務プロセス
に対し、メモリエリアを割り当て、このメモリエリアを
使用する業務プロセスの処理が終了した場合、OSは自
動的にエントリを開放する(ガーベージコレクショ
ン)。
【0004】図7は静的にメモリエリアを共有して使用
する従来のメモリ管理方式の説明図である。共有メモリ
70は、n個のデータエリア71を有し、データエリア
毎に処理フラグ72が設定される(“0”は末使用、
“1”は使用中)。静的にエリアを共有して使用する場
合、メモリエリア(データエリア)は、各業務プロセス
(P1,P2,P3)が各データエリア71の処理フラ
グ72をロックまたはアンロックして使用する。この場
合、エントリの開放はユーザによって管理される。業務
プロセス間で高速なデータ通信が要求される場合には、
静的にメモリエリアを確保した共有メモリを介して業務
プロセス間でデータの受け渡しを行うことが一般的で、
メモリエリアを確保した業務プロセスの処理が終了して
も、他の業務プロセスが引き続き使用する可能性があ
る。この場合、OSは自動的に解放する判断ができない
ので、エントリの確保と解放の管理は業務プロセスに一
任される。また、OLTPを行う計算機、特に24時間
連続稼働の計算機の場合、業務プロセスは他の業務プロ
セスからのメッセージ受信を契機に処理を開始し、処理
の終了後に次メッセージの受信待ち状態に入り、プロセ
スの終了が無い論理になっていることもある。
する従来のメモリ管理方式の説明図である。共有メモリ
70は、n個のデータエリア71を有し、データエリア
毎に処理フラグ72が設定される(“0”は末使用、
“1”は使用中)。静的にエリアを共有して使用する場
合、メモリエリア(データエリア)は、各業務プロセス
(P1,P2,P3)が各データエリア71の処理フラ
グ72をロックまたはアンロックして使用する。この場
合、エントリの開放はユーザによって管理される。業務
プロセス間で高速なデータ通信が要求される場合には、
静的にメモリエリアを確保した共有メモリを介して業務
プロセス間でデータの受け渡しを行うことが一般的で、
メモリエリアを確保した業務プロセスの処理が終了して
も、他の業務プロセスが引き続き使用する可能性があ
る。この場合、OSは自動的に解放する判断ができない
ので、エントリの確保と解放の管理は業務プロセスに一
任される。また、OLTPを行う計算機、特に24時間
連続稼働の計算機の場合、業務プロセスは他の業務プロ
セスからのメッセージ受信を契機に処理を開始し、処理
の終了後に次メッセージの受信待ち状態に入り、プロセ
スの終了が無い論理になっていることもある。
【0005】
【発明が解決しようとする課題】従来の共有メモリ管理
方式においては、特開昭57−73457号公報の電子
計算機システム制御方式の場合、制御系システムを対象
とし、時間が経過したり使用データサイズに変化が無い
場合、メモリエリアの不正使用と判定し、データ削除/
該当プロセスが強制終了するため、OLTPには適さな
い。特開平6−12314号公報のメモリ管理方式の場
合、確保継続が不当に登録され続けると、メモリが満杯
になる。プロセス終了後に削除の登録を行っても、OL
TPシステムでは、プロセス終了の無いことが多いた
め、不当なメモリエリアが残される。
方式においては、特開昭57−73457号公報の電子
計算機システム制御方式の場合、制御系システムを対象
とし、時間が経過したり使用データサイズに変化が無い
場合、メモリエリアの不正使用と判定し、データ削除/
該当プロセスが強制終了するため、OLTPには適さな
い。特開平6−12314号公報のメモリ管理方式の場
合、確保継続が不当に登録され続けると、メモリが満杯
になる。プロセス終了後に削除の登録を行っても、OL
TPシステムでは、プロセス終了の無いことが多いた
め、不当なメモリエリアが残される。
【0006】更に、図7の共有メモリ管理方式にあって
は、業務プロセスが処理フラグを落とし忘れた場合、エ
ントリが解放されず、使用可能なメモリエリアが無くな
り、システムダウンに陥る。このような場合、初期シス
テム運用時には正常に動作しているように見えるが、稼
働後時間が経過するとともにエントリが圧迫され、突然
システムダウンに至ることになる。また、不正に確保さ
れたエントリが増殖し続ける場合、瞬間的にメモリ確保
要求が多量に発生した場合(バースト性)、及び計算機
中の業務プロセスが無停止型の場合などでは、使用可能
な共有メモリのエントリを有効に確保できない可能性が
ある。更に、共有メモリ上の或るエントリが不正に確保
されていると判定し、メモリエントリの強制解放と該当
エントリを保有していた業務プロセスが強制終了された
場合、データ欠損によりシステムの整合性が乱れ、デー
タの信頼性が著しく低下し、システムダウンと同等の損
失になる。
は、業務プロセスが処理フラグを落とし忘れた場合、エ
ントリが解放されず、使用可能なメモリエリアが無くな
り、システムダウンに陥る。このような場合、初期シス
テム運用時には正常に動作しているように見えるが、稼
働後時間が経過するとともにエントリが圧迫され、突然
システムダウンに至ることになる。また、不正に確保さ
れたエントリが増殖し続ける場合、瞬間的にメモリ確保
要求が多量に発生した場合(バースト性)、及び計算機
中の業務プロセスが無停止型の場合などでは、使用可能
な共有メモリのエントリを有効に確保できない可能性が
ある。更に、共有メモリ上の或るエントリが不正に確保
されていると判定し、メモリエントリの強制解放と該当
エントリを保有していた業務プロセスが強制終了された
場合、データ欠損によりシステムの整合性が乱れ、デー
タの信頼性が著しく低下し、システムダウンと同等の損
失になる。
【0007】本発明の目的は、メモリ解放漏れを自動的
に防止できるようにし、システムの信頼性を向上させる
ことのできる共有メモリ管理装置及び方法を提供するこ
とにある。
に防止できるようにし、システムの信頼性を向上させる
ことのできる共有メモリ管理装置及び方法を提供するこ
とにある。
【0008】
【課題を解決するための手段】上記の目的を達成するた
めに、本発明は、複数の業務プロセスによって共用され
る共有メモリを備えた計算機において、前記各業務プロ
セスからの書き込み要求に応じて前記共有メモリに確保
したエントリに業務種別及び時刻情報を付加する共有メ
モリ管理手段と、前記共有メモリ上のエントリを前記業
務種別及び前記時刻情報をもとに所定周期でチェック
し、前記業務プロセスの解放処理漏れが判定されたと
き、対応するエントリを自動的に前記共有メモリから退
避または解放させる処理手段を備えた共有メモリ管理装
置にしている。
めに、本発明は、複数の業務プロセスによって共用され
る共有メモリを備えた計算機において、前記各業務プロ
セスからの書き込み要求に応じて前記共有メモリに確保
したエントリに業務種別及び時刻情報を付加する共有メ
モリ管理手段と、前記共有メモリ上のエントリを前記業
務種別及び前記時刻情報をもとに所定周期でチェック
し、前記業務プロセスの解放処理漏れが判定されたと
き、対応するエントリを自動的に前記共有メモリから退
避または解放させる処理手段を備えた共有メモリ管理装
置にしている。
【0009】この構成によれば、共有メモリを構成する
各エントリに業務種別と時刻情報を付加してエントリを
チェックし、業務プロセスに確保されていながら一定時
間以上使用されなかったエントリに対しては、そのエン
トリに格納された前記業務種別に応じて共有メモリから
外部記憶装置の退避エリアへの退避または解放の処理が
行われる。この結果、メモリ解放漏れを自動的に防止さ
れ、システムの信頼性を向上させることができる。
各エントリに業務種別と時刻情報を付加してエントリを
チェックし、業務プロセスに確保されていながら一定時
間以上使用されなかったエントリに対しては、そのエン
トリに格納された前記業務種別に応じて共有メモリから
外部記憶装置の退避エリアへの退避または解放の処理が
行われる。この結果、メモリ解放漏れを自動的に防止さ
れ、システムの信頼性を向上させることができる。
【0010】
【発明の実施の形態】以下、本発明の実施の形態を図面
を参照して説明する。図6は本発明による共有メモリ管
理方式の原理を示す説明図である。共有メモリ70はデ
ータエリア(メモリエリア)71毎に業務種別73と時
刻情報74が設定される(72は処理フラグである)。
業務種別73は、「リアル」(第1の種別)、「スル
ー」(第2の種別)、「問合せ」(第3の種別)の3種
類からなる。「リアル」は、随時最新のデータにより処
理を行う業務で、書き込んだデータが欠損した場合でも
次最新データで更新することにより業務の継続を可能に
する処理である。「スルー」は変化分を示すデータ等を
扱う処理であり、データの欠損が許されない処理であ
る。「問合せ」は、「スルー」と同様にデータの欠損は
許されないが、問合せ元からの再問合せ要求によるリカ
バリーを可能とし、データ欠損後も再要求による業務の
継続が可能な処理である。時刻情報74は業務種別73
と共にデータエリア71に付加して該当エントリに格納
される。そして、共有メモリ70から読み出しを行う場
合、該当エントリのユーザデータの読み出しが行われ、
その際、時刻情報74が読み出し時刻によって更新され
る。
を参照して説明する。図6は本発明による共有メモリ管
理方式の原理を示す説明図である。共有メモリ70はデ
ータエリア(メモリエリア)71毎に業務種別73と時
刻情報74が設定される(72は処理フラグである)。
業務種別73は、「リアル」(第1の種別)、「スル
ー」(第2の種別)、「問合せ」(第3の種別)の3種
類からなる。「リアル」は、随時最新のデータにより処
理を行う業務で、書き込んだデータが欠損した場合でも
次最新データで更新することにより業務の継続を可能に
する処理である。「スルー」は変化分を示すデータ等を
扱う処理であり、データの欠損が許されない処理であ
る。「問合せ」は、「スルー」と同様にデータの欠損は
許されないが、問合せ元からの再問合せ要求によるリカ
バリーを可能とし、データ欠損後も再要求による業務の
継続が可能な処理である。時刻情報74は業務種別73
と共にデータエリア71に付加して該当エントリに格納
される。そして、共有メモリ70から読み出しを行う場
合、該当エントリのユーザデータの読み出しが行われ、
その際、時刻情報74が読み出し時刻によって更新され
る。
【0011】複数の業務プロセスP1,P2,P3と共
有メモリ70の間には、共有メモリ管理手段としての共
有メモリ管理機能部K1が配設されている。共有メモリ
管理機能部K1は、各業務プロセスP1,P2,P3か
らの要求に従って共有メモリ70のロック/アンロック
を行う。ロックされたエントリが一定時間解放されず、
業務プロセスの解放処理漏れと判断した場合、自動的に
エントリを解放する。共有メモリ管理機能部K1は、各
業務プロセスの業務種別73を上記した3つのタイプに
分類し、メモリ自動解放に関する処理方式を判定する。
共有メモリ管理機能部K1は予備のメモリエリア60を
持ち、共有メモリ70が一杯になったときに予備のメモ
リエリア60にデータを退避する。
有メモリ70の間には、共有メモリ管理手段としての共
有メモリ管理機能部K1が配設されている。共有メモリ
管理機能部K1は、各業務プロセスP1,P2,P3か
らの要求に従って共有メモリ70のロック/アンロック
を行う。ロックされたエントリが一定時間解放されず、
業務プロセスの解放処理漏れと判断した場合、自動的に
エントリを解放する。共有メモリ管理機能部K1は、各
業務プロセスの業務種別73を上記した3つのタイプに
分類し、メモリ自動解放に関する処理方式を判定する。
共有メモリ管理機能部K1は予備のメモリエリア60を
持ち、共有メモリ70が一杯になったときに予備のメモ
リエリア60にデータを退避する。
【0012】以上のように、共有メモリの各エントリに
業務種別と時刻情報を付加し、業務プロセスに確保され
ていながら一定時間以上使用されなかったエントリは、
そのエントリに格納された業務種別により外部記憶装置
の退避エリアへの退避または解放の後処理を行う。ま
た、共有メモリのエントリ確保時に空きエントリが無い
と判断された場合、各エントリに格納されている時刻情
報から最古のエントリを選び出し、そのエントリの業務
種別に従って後処理を行うことにより、自動的に共有メ
モリ上の使用可能エリアを確保することができる。
業務種別と時刻情報を付加し、業務プロセスに確保され
ていながら一定時間以上使用されなかったエントリは、
そのエントリに格納された業務種別により外部記憶装置
の退避エリアへの退避または解放の後処理を行う。ま
た、共有メモリのエントリ確保時に空きエントリが無い
と判断された場合、各エントリに格納されている時刻情
報から最古のエントリを選び出し、そのエントリの業務
種別に従って後処理を行うことにより、自動的に共有メ
モリ上の使用可能エリアを確保することができる。
【0013】次に、本発明の共有メモリ管理方式の詳細
について説明する。図1は本発明の共有メモリ管理方式
が適用された計算機の構成を示すブロック図である。図
1において計算機1は、ユーザインタフェースとなるコ
ンソール画面2を備えている。計算機1は、複数の業務
プロセスP1,P2,P3、共有メモリ管理機能部K
1、最古エントリ抽出機能部K2、共有メモリ監視機能
部K3、共有メモリ退避/解放機能部K4、業務管理テ
ーブルK5、共有メモリ70に相当する共有メモリ3、
外部記憶装置4を備えて構成されている。共有メモリ3
は、業務プロセスの自データ格納や各業務プロセス間で
メモリ渡しのデータ通信を高速に行えるように、メモリ
領域を静的に確保している。業務プロセスの内、共有メ
モリ3を使用して処理を行うものは、その業務の内容に
より業務種別が割り当てられ、その種別内容が業務管理
テーブル(K5)に登録される。外部記憶装置4はログ
ファイルK6及び退避エリアK7を備えている。共有メ
モリ管理機能部K1は共有メモリ3の使用を管理するも
ので、業務プロセスP1,P2,P3が共有メモリ3の
エントリを確保する際、その書き込みにおいては、共有
メモリ3の使用可能エントリ数をチェックして必要数の
メモリエントリを確保し、ユーザデータと共に業務種別
と時刻情報を付加して該当エントリに格納する。また、
共有メモリ管理機能部K1は、共有メモリ3から読み出
しを行う場合、エントリのユーザデータの読み出しを行
い、その時刻情報を読み出し時点の時刻によって更新す
る。最古エントリ抽出機能部K2は、共有メモリ管理機
能部K1が必要量の空きエントリが共有メモリ3に無い
と判定した場合、いずれかの業務プロセスに確保されて
いる共有メモリ3内のエントリで最も古いエントリを必
要量だけ抽出する。共有メモリ監視機能部K3は所定の
周期で起動し、共有メモリ3の各エントリで業務プロセ
スに確保されていながら、一定時間以上使用されていな
いエントリを抽出する。
について説明する。図1は本発明の共有メモリ管理方式
が適用された計算機の構成を示すブロック図である。図
1において計算機1は、ユーザインタフェースとなるコ
ンソール画面2を備えている。計算機1は、複数の業務
プロセスP1,P2,P3、共有メモリ管理機能部K
1、最古エントリ抽出機能部K2、共有メモリ監視機能
部K3、共有メモリ退避/解放機能部K4、業務管理テ
ーブルK5、共有メモリ70に相当する共有メモリ3、
外部記憶装置4を備えて構成されている。共有メモリ3
は、業務プロセスの自データ格納や各業務プロセス間で
メモリ渡しのデータ通信を高速に行えるように、メモリ
領域を静的に確保している。業務プロセスの内、共有メ
モリ3を使用して処理を行うものは、その業務の内容に
より業務種別が割り当てられ、その種別内容が業務管理
テーブル(K5)に登録される。外部記憶装置4はログ
ファイルK6及び退避エリアK7を備えている。共有メ
モリ管理機能部K1は共有メモリ3の使用を管理するも
ので、業務プロセスP1,P2,P3が共有メモリ3の
エントリを確保する際、その書き込みにおいては、共有
メモリ3の使用可能エントリ数をチェックして必要数の
メモリエントリを確保し、ユーザデータと共に業務種別
と時刻情報を付加して該当エントリに格納する。また、
共有メモリ管理機能部K1は、共有メモリ3から読み出
しを行う場合、エントリのユーザデータの読み出しを行
い、その時刻情報を読み出し時点の時刻によって更新す
る。最古エントリ抽出機能部K2は、共有メモリ管理機
能部K1が必要量の空きエントリが共有メモリ3に無い
と判定した場合、いずれかの業務プロセスに確保されて
いる共有メモリ3内のエントリで最も古いエントリを必
要量だけ抽出する。共有メモリ監視機能部K3は所定の
周期で起動し、共有メモリ3の各エントリで業務プロセ
スに確保されていながら、一定時間以上使用されていな
いエントリを抽出する。
【0014】共有メモリ退避/解放機能部K4は、共有
メモリ3に空きエントリが無く、最古エントリ抽出機能
部K2が最古エントリの後処理を指示した場合、また
は、業務プロセスにより確保されていながら一定時間以
上使用されていないエントリを共有メモリ監視機能部K
3で発見後にその後処理を要求された場合、該当エント
リの業務種別に応じて後処理を行うと共に、後処理が行
われた旨をログファイルK6に記録する。また、共有メ
モリ退避/解放機能部K4は、ユーザに警告を行うため
に、コンソール画面2に警告メッセージを出力する。退
避エリアK7は、共有メモリ退避/解放機能部K4が後
処理で退避を行う際、共有メモリ3のユーザデータの退
避先として用いられる。共有メモリ3に書き込みを行う
業務プロセスは、業務管理テーブルK5に業務種別の登
録を行う。業務種別73の内容は、図6で説明したよう
に、「リアル」、「スルー」、「問合せ」の3種類であ
る。業務管理テーブルK5に格納される業務種別情報
は、個々の業務プロセスが識別できる一貫番号と前記3
種類の業務種別を識別できる業務番号とを組み合わせた
識別子として登録される。共有メモリ監視機能部K3に
より、不正に確保されたエントリと判定された場合、ま
たは最古エントリ抽出機能部K2により強制的なエント
リ確保のため、そのエントリに対する後処理が要求され
た場合、後処理は業務種別により退避または解放が選択
される。業務種別「スルー」の場合、共有メモリ3のエ
ントリのデータは外部記憶装置4の退避エリアK7に移
動され、共有メモリ3のエントリが解放される。また、
業務種別「リアル」と「問い合わせ」の場合、共有メモ
リ3のエントリデータは削除され、そのエントリは解放
される。
メモリ3に空きエントリが無く、最古エントリ抽出機能
部K2が最古エントリの後処理を指示した場合、また
は、業務プロセスにより確保されていながら一定時間以
上使用されていないエントリを共有メモリ監視機能部K
3で発見後にその後処理を要求された場合、該当エント
リの業務種別に応じて後処理を行うと共に、後処理が行
われた旨をログファイルK6に記録する。また、共有メ
モリ退避/解放機能部K4は、ユーザに警告を行うため
に、コンソール画面2に警告メッセージを出力する。退
避エリアK7は、共有メモリ退避/解放機能部K4が後
処理で退避を行う際、共有メモリ3のユーザデータの退
避先として用いられる。共有メモリ3に書き込みを行う
業務プロセスは、業務管理テーブルK5に業務種別の登
録を行う。業務種別73の内容は、図6で説明したよう
に、「リアル」、「スルー」、「問合せ」の3種類であ
る。業務管理テーブルK5に格納される業務種別情報
は、個々の業務プロセスが識別できる一貫番号と前記3
種類の業務種別を識別できる業務番号とを組み合わせた
識別子として登録される。共有メモリ監視機能部K3に
より、不正に確保されたエントリと判定された場合、ま
たは最古エントリ抽出機能部K2により強制的なエント
リ確保のため、そのエントリに対する後処理が要求され
た場合、後処理は業務種別により退避または解放が選択
される。業務種別「スルー」の場合、共有メモリ3のエ
ントリのデータは外部記憶装置4の退避エリアK7に移
動され、共有メモリ3のエントリが解放される。また、
業務種別「リアル」と「問い合わせ」の場合、共有メモ
リ3のエントリデータは削除され、そのエントリは解放
される。
【0015】各業務プロセスは共有メモリ3を使用する
場合、共有メモリ管理機能部K1を介して書き込みまた
は読み出しが行われた後、エントリの解放を行う。業務
プロセスと共有メモリ管理機能部K1とのインタフェー
スは、業務プロセスからの要求が新規書き込みの場合に
は必要エントリサイズの情報を渡し、既存エントリへの
更新書き込み/読み出し/解放の場合には、既存エント
リのアドレス情報と該当エントリへの書き込みを行った
業務プロセスを表す識別子が渡される。共有メモリ3の
エントリは3つのフィールドから構成され、(i) ユーザ
データを格納するフィールドと、(ii)エントリが使用さ
れた直近の時刻を格納するフィールドと、(iii) エント
リに書き込みを行った業務プロセスとその業務属性を表
す識別子を格納するフィールドからなる。
場合、共有メモリ管理機能部K1を介して書き込みまた
は読み出しが行われた後、エントリの解放を行う。業務
プロセスと共有メモリ管理機能部K1とのインタフェー
スは、業務プロセスからの要求が新規書き込みの場合に
は必要エントリサイズの情報を渡し、既存エントリへの
更新書き込み/読み出し/解放の場合には、既存エント
リのアドレス情報と該当エントリへの書き込みを行った
業務プロセスを表す識別子が渡される。共有メモリ3の
エントリは3つのフィールドから構成され、(i) ユーザ
データを格納するフィールドと、(ii)エントリが使用さ
れた直近の時刻を格納するフィールドと、(iii) エント
リに書き込みを行った業務プロセスとその業務属性を表
す識別子を格納するフィールドからなる。
【0016】図2は共有メモリ管理機能部K1の処理例
を示すフローチャートである。業務プロセス(P1,P
2,P3)からの要求により、共有メモリ3に対する書
き込み、読み出し、解放の各処理が行われる。業務プロ
セスより要求を受けると、その要求が共有メモリ3の書
き込み、読み出し、解放のいずれに該当するかを判定す
る(ステップ201)。書き込み要求の場合、共有メモ
リ3に要求サイズ分の空きエントリがあるか否かを判定
する(ステップ202)。空きエントリが有った場合に
は、要求サイズ分のエントリを確保する(ステップ20
3)。要求サイズ分のエントリが確保できない場合に
は、必要サイズを引数にして最古エントリ抽出機能部K
2を起動し(ステップ211)、空きエリアを作り出し
た後、ステップ203へ移行する。次に、要求元の業務
プロセスの業務特性を業務管理テーブルK5から業務種
別として取得し(ステップ204)、格納要求があった
ユーザデータと業務種別と現在時刻を対応するエントリ
へ格納する(ステップ205)。ステップ201で業務
プロセスからの要求が読み出しであった場合、要求エン
トリを読み出し用に確保し(ステップ221)、ユーザ
データの読み出しを行う(ステップ222)。この時、
直近時刻として現在時刻を該当エントリの時刻エリアに
格納する(ステップ223)。また、ステップ201の
判定が「解放要求」であった場合には、該当エントリを
解放する(ステップ231)。
を示すフローチャートである。業務プロセス(P1,P
2,P3)からの要求により、共有メモリ3に対する書
き込み、読み出し、解放の各処理が行われる。業務プロ
セスより要求を受けると、その要求が共有メモリ3の書
き込み、読み出し、解放のいずれに該当するかを判定す
る(ステップ201)。書き込み要求の場合、共有メモ
リ3に要求サイズ分の空きエントリがあるか否かを判定
する(ステップ202)。空きエントリが有った場合に
は、要求サイズ分のエントリを確保する(ステップ20
3)。要求サイズ分のエントリが確保できない場合に
は、必要サイズを引数にして最古エントリ抽出機能部K
2を起動し(ステップ211)、空きエリアを作り出し
た後、ステップ203へ移行する。次に、要求元の業務
プロセスの業務特性を業務管理テーブルK5から業務種
別として取得し(ステップ204)、格納要求があった
ユーザデータと業務種別と現在時刻を対応するエントリ
へ格納する(ステップ205)。ステップ201で業務
プロセスからの要求が読み出しであった場合、要求エン
トリを読み出し用に確保し(ステップ221)、ユーザ
データの読み出しを行う(ステップ222)。この時、
直近時刻として現在時刻を該当エントリの時刻エリアに
格納する(ステップ223)。また、ステップ201の
判定が「解放要求」であった場合には、該当エントリを
解放する(ステップ231)。
【0017】図3は最古エントリ抽出機能部K2の処理
例を示すフローチャートである。最古エントリ抽出機能
部K2は、共有メモリ管理機能部K1が共有メモリ3に
必要分の空きエントリが無いと判定した場合に起動さ
れ、引数として必要エントリ数を受け取る。最古エント
リ抽出機能部K2は、共有メモリ3の各エントリの時刻
情報をサーチし、利用された時刻が最も古いエントリを
抽出する(ステップ301)。抽出したエントリのサイ
ズは、要求されている必要なエントリ数を満たすか否か
を判定し(ステップ302)、満たさなければステップ
301へ戻って必要エントリ数分が抽出されるまで繰り
返し実行する。必要なエントリ数を満たしていれば、抽
出した該当エントリを指定して共有メモリ退避/解放機
能部K4に後処理を要求する(ステップ303)。
例を示すフローチャートである。最古エントリ抽出機能
部K2は、共有メモリ管理機能部K1が共有メモリ3に
必要分の空きエントリが無いと判定した場合に起動さ
れ、引数として必要エントリ数を受け取る。最古エント
リ抽出機能部K2は、共有メモリ3の各エントリの時刻
情報をサーチし、利用された時刻が最も古いエントリを
抽出する(ステップ301)。抽出したエントリのサイ
ズは、要求されている必要なエントリ数を満たすか否か
を判定し(ステップ302)、満たさなければステップ
301へ戻って必要エントリ数分が抽出されるまで繰り
返し実行する。必要なエントリ数を満たしていれば、抽
出した該当エントリを指定して共有メモリ退避/解放機
能部K4に後処理を要求する(ステップ303)。
【0018】図4は共有メモリ退避/解放機能部K4の
処理例を示すフローチャートである。共有メモリ退避/
解放機能部K4は、最古エントリ抽出機能部K2または
共有メモリ監視機能部K3によってエントリが指定さ
れ、そのエントリに格納された業務種別に応じた後処理
が要求される。まず、要求されたエントリの業務種別を
取得し(ステップ401)、取得した業務種別が「スル
ー」か否か判定する(ステップ402)。業務種別が
「スルー」以外の場合、そのエントリのユーザデータを
削除して(ステップ403)該エントリを解放し、その
旨をログファイルK6及びコンソール画面2へ出力し
(ステップ404)、システム管理者に注意を促す。ま
た、業務種別が「スルー」の場合、そのエントリのユー
ザデータを外部記憶装置4の退避エリアK7へ移動した
後(ステップ404)、ステップ404へ移行する。
処理例を示すフローチャートである。共有メモリ退避/
解放機能部K4は、最古エントリ抽出機能部K2または
共有メモリ監視機能部K3によってエントリが指定さ
れ、そのエントリに格納された業務種別に応じた後処理
が要求される。まず、要求されたエントリの業務種別を
取得し(ステップ401)、取得した業務種別が「スル
ー」か否か判定する(ステップ402)。業務種別が
「スルー」以外の場合、そのエントリのユーザデータを
削除して(ステップ403)該エントリを解放し、その
旨をログファイルK6及びコンソール画面2へ出力し
(ステップ404)、システム管理者に注意を促す。ま
た、業務種別が「スルー」の場合、そのエントリのユー
ザデータを外部記憶装置4の退避エリアK7へ移動した
後(ステップ404)、ステップ404へ移行する。
【0019】図5は共有メモリ監視機能部K3の処理例
を示すフローチャートである。共有メモリ監視機能部K
3は周期的に起動し、業務プロセスに確保されているエ
ントリの時刻情報を共有メモリ3から読み出す(ステッ
プ501)。ついで、読み出した時刻と現在時刻との差
分により、一定時間以上を経過したエントリがあるか否
かを判定する(ステップ502)。該当のエントリが無
い場合、一定時間経過後に自己起動し(ステップ50
3)、ステップ501へ戻る。また、該当のエントリが
有れば、そのエントリを指定して共有メモリ退避/解放
機能部K4に後処理を要求した後(ステップ504)、
ステップ503へ移行する。
を示すフローチャートである。共有メモリ監視機能部K
3は周期的に起動し、業務プロセスに確保されているエ
ントリの時刻情報を共有メモリ3から読み出す(ステッ
プ501)。ついで、読み出した時刻と現在時刻との差
分により、一定時間以上を経過したエントリがあるか否
かを判定する(ステップ502)。該当のエントリが無
い場合、一定時間経過後に自己起動し(ステップ50
3)、ステップ501へ戻る。また、該当のエントリが
有れば、そのエントリを指定して共有メモリ退避/解放
機能部K4に後処理を要求した後(ステップ504)、
ステップ503へ移行する。
【0020】
【発明の効果】以上説明したように、本発明の共有メモ
リ管理方式によれば、業務プロセスに現在確保されてい
る共有メモリのエントリが、業務種別と時刻情報をもと
に不正に使用されているか否かをチエックされ、不正使
用が判定されたエントリに対してそのエントリを自動的
に退避または解放の処理が行われ、メモリ満杯によるシ
ステム停止を回避することが可能になる。
リ管理方式によれば、業務プロセスに現在確保されてい
る共有メモリのエントリが、業務種別と時刻情報をもと
に不正に使用されているか否かをチエックされ、不正使
用が判定されたエントリに対してそのエントリを自動的
に退避または解放の処理が行われ、メモリ満杯によるシ
ステム停止を回避することが可能になる。
【0021】また、共有メモリのエントリ満杯時に、各
エントリに付加された時刻情報から最古のエントリを選
び、該当エントリに付加されている業務種別に従って後
処理を行うことにより、共有メモリのエントリ満杯時に
も確実に使用可能エントリを確保することが可能とな
る。更に、後処理の中で、共有メモリのエントリが退避
/回復された旨をログファイルとコンソール画面に出力
することにより、システム運用者に注意を促すことが可
能になる。
エントリに付加された時刻情報から最古のエントリを選
び、該当エントリに付加されている業務種別に従って後
処理を行うことにより、共有メモリのエントリ満杯時に
も確実に使用可能エントリを確保することが可能とな
る。更に、後処理の中で、共有メモリのエントリが退避
/回復された旨をログファイルとコンソール画面に出力
することにより、システム運用者に注意を促すことが可
能になる。
【図1】本発明における共有メモリ管理方式の機能ブロ
ック図である。
ック図である。
【図2】本発明に係る共有メモリ管理機能部の処理例を
示すフローチャートである。
示すフローチャートである。
【図3】本発明に係る最古エントリ抽出機能部の処理例
を示すフローチャートである。
を示すフローチャートである。
【図4】本発明に係る共有メモリ退避/解放機能部の処
理例を示すフローチャートである。
理例を示すフローチャートである。
【図5】本発明に係る共有メモリ監視機能部の処理例を
示すフローチャートである。
示すフローチャートである。
【図6】本発明による共有メモリ管理方式の原理を示す
説明図である。
説明図である。
【図7】静的にメモリエリアを共有して使用する従来の
メモリ管理方式の説明図である。
メモリ管理方式の説明図である。
1 計算機 2 コンソール画面 3 共有メモリ 4 外部記憶装置 60 予備メモリエリア 71 データエリア 72 処理フラグ 73 業務種別 74 時刻情報 K1 共有メモリ管理機能部 K2 最古エントリ抽出機能部 K3 共有メモリ監視機能部 K4 共有メモリ退避/解放機能部 K5 業務管理テーブル K6 ログファイル K7 退避エリア P1,P2,P3 業務プロセス
Claims (6)
- 【請求項1】 複数の業務プロセスによって共用される
共有メモリを備えた計算機において、前記各業務プロセ
スからの書き込み要求に応じて前記共有メモリに確保し
たエントリに業務種別及び時刻情報を付加する共有メモ
リ管理手段と、前記共有メモリ上のエントリを前記業務
種別及び前記時刻情報をもとに所定周期でチェックし、
前記業務プロセスの解放処理漏れが判定されたとき、対
応するエントリを自動的に前記共有メモリから退避また
は解放させる処理手段を備えることを特徴とする共有メ
モリ管理装置。 - 【請求項2】 前記業務種別は、随時最新のデータで処
理を行うと共に書き込んだデータが欠損した場合でも次
最新データで更新して業務の継続を可能にする第1の種
別と、変化分を示すデータ等を扱うと共にデータの欠損
が許されない第2の種別と、問合せ元からの再問合せ要
求によるリカバリー及びデータ欠損後も再要求による業
務の継続が可能であると共に問合せデータの欠損が許さ
れない第3の種別の3種類からなることを特徴とする請
求項1記載の共有メモリ管理装置。 - 【請求項3】 前記共有メモリ管理手段は、前記業務プ
ロセスからの読み出し要求に応じてデータ読み出しを行
う際、前記時刻情報を現在時刻に更新することを特徴と
する請求項1記載の共有メモリ管理装置。 - 【請求項4】 前記処理手段は、前記業務プロセスに確
保されていながら長時間使用されていない前記共有メモ
リ上のエントリをチェックする共有メモリ監視機能部
と、該共有メモリ監視機能部からの要求に応じて不当に
確保されているエントリに対して業務種別に応じた後処
理を行う共有メモリ退避/解放機能部と、前記業務プロ
セス毎に前記共有メモリの使用目的を業務種別として定
義する業務管理テーブルと、前記共有メモリに格納され
ているデータの退避エリア及び前記共有メモリの使用状
況を記録するログファイルを備えた外部記憶装置とを具
備することを特徴とする請求項1記載の共有メモリ管理
装置。 - 【請求項5】 前記処理手段は、各業務プロセスからの
書き込み要求に応じてエントリを確保する際、前記共有
メモリ上の使用可能エントリ数が要求数を満たすか否か
を管理する共有メモリ管理機能部と、前記共有メモリ管
理機能部からの要求に応じて確保中のエントリの中で最
古のエントリを必要サイズ分抽出し、そのエントリの後
処理を前記共有メモリ退避/解放機能部に要求する最古
エントリ抽出機能部とを備えることを特徴とする請求項
4記載の共有メモリ管理装置。 - 【請求項6】 複数の業務プロセスによって共用される
共有メモリを備えた計算機において、前記各業務プロセ
スからの書き込み要求に応じて前記共有メモリに確保し
たエントリに業務種別及び時刻情報を付加し、前記共有
メモリ上のエントリを前記業務種別及び前記時刻情報を
もとに所定周期でチェックし、前記業務プロセスの解放
処理漏れが判定されたとき、対応するエントリを自動的
に前記共有メモリから退避または解放させることを特徴
とする共有メモリ管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP547898A JPH11203193A (ja) | 1998-01-14 | 1998-01-14 | 共有メモリ管理装置及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP547898A JPH11203193A (ja) | 1998-01-14 | 1998-01-14 | 共有メモリ管理装置及び方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH11203193A true JPH11203193A (ja) | 1999-07-30 |
Family
ID=11612367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP547898A Pending JPH11203193A (ja) | 1998-01-14 | 1998-01-14 | 共有メモリ管理装置及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH11203193A (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006035727A1 (ja) * | 2004-09-29 | 2006-04-06 | Sony Corporation | 情報処理装置、メモリ領域管理方法、並びにコンピュータ・プログラム |
JP2008134709A (ja) * | 2006-11-27 | 2008-06-12 | Hitachi Ltd | メモリリーク検出方法、メモリリーク検出装置及びメモリリーク検出プログラム |
JP2009026081A (ja) * | 2007-07-19 | 2009-02-05 | Hitachi Ltd | メモリ管理方法、情報処理装置及びメモリ管理プログラム |
JP2009181466A (ja) * | 2008-01-31 | 2009-08-13 | Canon Inc | 半導体露光装置及びその制御方法、及びコンピュータプログラム |
WO2009133722A1 (ja) * | 2008-04-30 | 2009-11-05 | 日本電気株式会社 | プロセス間通信システム、その通信に用いる共有メモリおよび通信方法 |
JP2010015223A (ja) * | 2008-07-01 | 2010-01-21 | Internatl Business Mach Corp <Ibm> | メモリ領域中のオブジェクトを隔離するための方法 |
US20120023295A1 (en) * | 2010-05-18 | 2012-01-26 | Lsi Corporation | Hybrid address mutex mechanism for memory accesses in a network processor |
-
1998
- 1998-01-14 JP JP547898A patent/JPH11203193A/ja active Pending
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2006035727A1 (ja) * | 2004-09-29 | 2006-04-06 | Sony Corporation | 情報処理装置、メモリ領域管理方法、並びにコンピュータ・プログラム |
US7770177B2 (en) | 2004-09-29 | 2010-08-03 | Sony Corporation | System for memory reclamation based on thread entry and release request times |
JP2008134709A (ja) * | 2006-11-27 | 2008-06-12 | Hitachi Ltd | メモリリーク検出方法、メモリリーク検出装置及びメモリリーク検出プログラム |
JP2009026081A (ja) * | 2007-07-19 | 2009-02-05 | Hitachi Ltd | メモリ管理方法、情報処理装置及びメモリ管理プログラム |
JP2009181466A (ja) * | 2008-01-31 | 2009-08-13 | Canon Inc | 半導体露光装置及びその制御方法、及びコンピュータプログラム |
WO2009133722A1 (ja) * | 2008-04-30 | 2009-11-05 | 日本電気株式会社 | プロセス間通信システム、その通信に用いる共有メモリおよび通信方法 |
JP2010015223A (ja) * | 2008-07-01 | 2010-01-21 | Internatl Business Mach Corp <Ibm> | メモリ領域中のオブジェクトを隔離するための方法 |
US20120023295A1 (en) * | 2010-05-18 | 2012-01-26 | Lsi Corporation | Hybrid address mutex mechanism for memory accesses in a network processor |
US8843682B2 (en) * | 2010-05-18 | 2014-09-23 | Lsi Corporation | Hybrid address mutex mechanism for memory accesses in a network processor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2703479B2 (ja) | タイム・ゼロ・バックアップ・セッションの安全保護機能を有するデータ処理方法及びシステム | |
US6647473B1 (en) | Kernel-based crash-consistency coordinator | |
US9542310B2 (en) | File server node with non-volatile memory processing module coupled to cluster file server node | |
WO2011131046A1 (zh) | 一种内存回收方法及其装置 | |
CN112039970B (zh) | 一种分布式业务锁服务方法、服务端、系统及存储介质 | |
US5682507A (en) | Plurality of servers having identical customer information control procedure functions using temporary storage file of a predetermined server for centrally storing temporary data records | |
US5966708A (en) | Tail compression of a log stream using a scratch pad of logically deleted entries | |
US5999935A (en) | Tail compression of a sparse log stream of a multisystem environment | |
EP0747814A1 (en) | Customer information control system and method with transaction serialization control functions in a loosely coupled parallel processing environment | |
US6125393A (en) | System of compressing the tail of a sparse log stream of a multisystem environment | |
JPH11203193A (ja) | 共有メモリ管理装置及び方法 | |
US6345280B1 (en) | System of compressing a log stream using a scratch pad of logically deleted entries | |
CA2176905A1 (en) | Customer information control system and method with api start and cancel transaction functions in a loosely coupled parallel processing environment | |
US6092084A (en) | One system of a multisystem environment taking over log entries owned by another system | |
JPH1063557A (ja) | 分散ファイルの同期方式 | |
US6076095A (en) | Method of one system of a multisystem environment taking over log entries owned by another system | |
JP3681415B2 (ja) | デッドロック検出装置 | |
JP3866448B2 (ja) | ノード間共用ファイル制御方式 | |
JP2001290713A (ja) | 記憶装置システム及びそのバックアップ取得方法 | |
JP2933011B2 (ja) | ファイルの排他制御システム | |
JPH06214839A (ja) | ファイル管理方式 | |
CN115357197A (zh) | 一种预写日志存储方法、系统及设备 | |
JPH0310343A (ja) | ホットスポットデータ管理処理方式 | |
JPH04130936A (ja) | ファイル同時アクセス制御方式 | |
JPH07175671A (ja) | プロセス管理方式 |