JP2002259142A - アプリケーション切替制御方式 - Google Patents

アプリケーション切替制御方式

Info

Publication number
JP2002259142A
JP2002259142A JP2001058391A JP2001058391A JP2002259142A JP 2002259142 A JP2002259142 A JP 2002259142A JP 2001058391 A JP2001058391 A JP 2001058391A JP 2001058391 A JP2001058391 A JP 2001058391A JP 2002259142 A JP2002259142 A JP 2002259142A
Authority
JP
Japan
Prior art keywords
program
software
application switching
information
switching control
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
Application number
JP2001058391A
Other languages
English (en)
Inventor
Tatsuo Kamata
達夫 釜田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Engineering Ltd
Original Assignee
NEC Engineering Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Engineering Ltd filed Critical NEC Engineering Ltd
Priority to JP2001058391A priority Critical patent/JP2002259142A/ja
Publication of JP2002259142A publication Critical patent/JP2002259142A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】プログラムはコンピュータシステムのメモリを
有効活用するために、記憶領域が必要になった場合には
動的に確保し、必要がなくなった時点で開放を行うが、
この確保されたメモリはしばしば開放されずにそのまま
残ってしまう所謂メモリリークが発生するので、このメ
モリリークを解決するアプリケーション切替制御方式を
提供する。 【解決手段】プログラム起動制御ソフトウェア1がソフ
トウェア管理部10に、索引情報101、102、ソフ
トウェア世代識別情報111、112を設定して複数の
プログラム30、31の起動制御を一括管理する。時間
監視ソフトウェア2からの通知で、周期的に古いプログ
ラム30又は31を新しいプログラム31又は30に入
れ替え、古いプログラムが抱えていたかもしれないメモ
リリークをアプリケーション3が提供するサービス自体
は停止することなく自動復旧する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はアプリケーション切
替制御方式、特に24時間連続稼動するノンストップシ
ステムで発生するメモリリークを解放するためのアプリ
ケーションの切替えによる制御方式に関する。
【0002】
【従来の技術】従来のメモリリーク検出、除去システム
の1例が、例えば特開2000−3303号公報に開示
されている。この従来のメモリリーク検出、除去システ
ムは、メモリ確保時にポインタを発生しポインタテーブ
ルに格納する手段と、処理完了時に発生したポインタを
ポインタテーブルから削除する手段と、ポインタテーブ
ルにポインタが存在しなくなった場合にメモリ領域を解
放する手段とを備えた情報処理装置で構成されている。
【0003】
【発明が解決しようとする課題】このような構成を有す
る従来のメモリリーク検出、除去システムは、プログラ
ム作成時にメモリ確保と解放を行う部分にのみ適用され
るため作成したプログラム部分には有効である。しか
し、コンポーネントやライブラリ等の潜在的な不具合に
よるメモリリークには対応できない。即ち、プログラム
は、コンピュータシステムのメモリを有効活用するため
に記憶領域が必要になった場合に動的に確保し、必要が
なくなった時点で開放を行う。しかし、この確保された
メモリは、しばしば開放されずにそのまま残ってしまう
所謂メモリリークが発生することである。その理由は、
プログラムを設計した際の人為的ミス又は利用するコン
ポーネントおよびライブラリ等の潜在的な不具合によ
り、確保したメモリが開放されずにメモリリークが発生
するからである。
【0004】また、プログラムの設計者は、メモリリー
クが発生しないよう検出試験を行うが全てを検出するこ
とはできない。その理由は、メモリの確保と開放は、時
間的間隔がプログラムの処理内容によって異なり、短時
間で処理するものおよびプログラムが起動している間は
継続して確保されているものも存在する。そのため、確
保されているメモリが有効か無効かを判断するのが難し
く、特にコンポーネントおよびライブラリ等で発生する
メモリリークの検出は実施が困難なため、検出試験では
できないような長時間連続してプログラムを稼動して初
めてメモリリークしていることが分かる場合が多いため
である。
【0005】更に、メモリリークが何度も発生すると、
そのプログラムが異常終了するか、最悪の場合にはコン
ピュータシステムが停止してしまう。その理由は、確保
されたまま使用されない状態のメモリ領域が増大し、メ
モリの消費サイズがコンピュータシステムの限界にまで
達すると、プログラム又はコンピュータシステムが動作
するために必要なメモリを確保できなくなるためであ
る。
【0006】
【発明の目的】本発明の目的は、プログラム設計上の人
為的ミス又は利用するコンポーネントおよびライブラリ
等の潜在的な不具合により発生したメモリリークの解放
を自動的に行い、利用者に対してはサービスを提供し続
けることが可能なアプリケーション切替制御方式を提供
することである。
【0007】
【課題を解決するための手段】本発明のアプリケーショ
ン切替制御方式は、複数のプログラムを有し、第1プロ
グラムを起動中に第2プログラムも同時に起動し、その
後第1プログラムを終了し第2プログラムのみで運用を
行うことにより、複数のプログラムの起動、終了および
外部インタフェースの制御をソフトウェア管理部で一括
管理してアプリケーションプログラム切替えを行う。
【0008】また、本発明のアプリケーション切替制御
方式の好適実施形態によると、ソフトウェア管理部に、
起動中のプログラムと通信するためのポインタを格納す
る索引情報および起動中のプログラムの新旧情報を格納
するソフトウェア世代識別情報を設定し、新たに起動し
たプログラムの索引情報およびソフトウェア世代識別情
報を格納し、古いプログラムの索引情報およびソフトウ
ェア世代識別情報を削除して更新する。時間監視ソフト
ウェアを設け、この時間監視ソフトウェアから周期的な
通知又はその他外部からの通知を受け、古いプログラム
の起動中に新しいプログラムを起動した後に、古いプロ
グラムを終了する。起動中のプログラムに対し開局要求
を送信し、プログラムのサービス開始を制御する。ま
た、起動中のプログラムに対し閉局要求を送信し、プロ
グラムのサービスを制御する。プログラムの起動後直ち
にサービスの提供は行わず、プログラム起動制御ソフト
ウェアから開局要求を受信することによりサービス提供
を開始する。また、プログラム起動制御ソフトウェアか
ら閉局要求を受信後に、全てのサービスが終了した時点
で、新規サービスの提供を終了する。
【0009】
【発明の実施の形態】以下、本発明によるアプリケーシ
ョン切替制御方式の好適実施形態の構成および動作を、
添付図面を参照して詳細に説明する。
【0010】先ず、図1は、本発明によるアプリケーシ
ョン切替制御方式の好適実施形態の構成を示すシステム
図である。このアプリケーション切替方式は、プログラ
ム起動制御ソフトウェア1および時間監視ソフトウェア
2により構成される。ここで、プログラム起動制御ソフ
トウェア1は、ソフトウェア管理部10を含む。更に、
このソフトウェア管理部10は、索引情報101、10
2およびこれに対応するソフトウェア世代識別情報11
1、112を含んでいる。一方、時間監視ソフトウェア
2は、周期情報20を含んでいる。
【0011】プログラム起動制御ソフトウェア1は、複
数のプログラムの起動および終了を一括管理するソフト
ウェアである。時間監視ソフトウェア2は、一定時間が
経過したことを通知するソフトウェアである。また、ソ
フトウェア管理部10は、図1中に示す如くアプリケー
ション3を含み、このアプリケーション3は、複数のプ
ログラム、例えばメモリ空間300に格納(又は記憶)
されたプログラム30およびメモリ空間301に格納さ
れたプログラム31を含んでいる。これにより、アプリ
ケーション3は、複数のプログラム30、31が同時に
起動できるように独自のメモリ空間300、301を使
用して動作するよう構成されている。
【0012】プログラム起動制御ソフトウェア1が有す
るソフトウェア管理部10は、複数起動したそれぞれの
プログラム30、31を管理する。索引情報101、1
02は、プログラム起動制御ソフトウェア1と通信す
る。また、ソフトウェア世代識別情報111、112
は、各プログラム30、31の起動時期管理する。時間
監視ソフトウェア2が有する周期情報20は、一定時間
が経過したことをプログラム起動制御ソフトウェア1に
通知する。アプリケーション3は、最初に起動された第
1プログラム30と、次に起動された第2プログラム3
1が複数同時に起動できるように、独自のメモリ空間3
00、301を使用し動作するように設計されたプログ
ラムである。利用者は、アプリケーション3のサービス
を受けたい場合に、アプリケーション3を直接起動する
のではなく、プログラム起動制御ソフトウェア1を起動
して間接的にアプリケーション3を起動する。
【0013】プログラム起動制御ソフトウェア1は、起
動されると、時間監視ソフトウェア2の起動と、アプリ
ケーション3とを実行し、第1プログラム30の起動を
行う。しかし、第1プログラム30は、起動されるがま
だサービスの提供は行わない(例えば、表示画面がある
場合には、非表示状態にし、プログラム起動制御ソフト
ウェア1以外の入力は受けない)。ここで、プログラム
起動制御ソフトウェア1は、ソフトウェア管理部10の
索引情報101にプログラム30と情報の送受信を行う
ために必要なハンドル情報を、プログラムの新旧を判断
するためのソフトウェア世代識別情報111に「OL
D」を設定してから、第1プログラム30に対し開局要
求を送信する。開局要求を受信した第1プログラム30
は、サービスを提供し(例えば、表示画面がある場合に
は、画面を表示し、他からの入力を受け付ける)。次
に、プログラム起動制御ソフトウェア1に開局応答を返
す。
【0014】時間監視ソフトウェア2は、起動後又は前
回の時間経過通知後から周期情報20の時間(例えば、
1ヶ月又は1年等)が経過した場合に、プログラム起動
制御ソフトウェア1に時間経過通知を送信する。この時
間経過通知を受けたプログラム起動制御ソフトウェア1
は、アプリケーション3を実行し、第2プログラム31
の起動を行う。そこで、ソフトウェア管理部10の索引
情報102に情報の送受信を行うために必要なハンドル
情報を、プログラムの新旧を判断するためのソフトウェ
ア世代識別情報112に「NEW」を設定する。
【0015】起動された第2プログラム31は、初期化
処理を行い、サービス提供が可能になった段階(但し、
サービスはまだ提供しない)で、プログラム起動制御ソ
フトウェア1に初期化完了通知を送信する。この初期化
完了通知を受信したプログラム起動制御ソフトウェア1
は、ソフトウェア世代識別情報が「OLD」となってい
るソフトウェア世代識別情報111に対応する索引情報
101を利用して第1プログラム30に対し閉局要求を
送信する。この閉局要求を受信した第1プログラム30
は、現在処理中のものがあるか否かをチェックする。も
し、処理中のものがあれば、それが終了するまで待つ。
また、この処理待期中の新規処理は、受け入れ、これが
終了するのも待つ。処理中のものがなくなった段階で、
新規処理の受付を止め、プログラム起動制御ソフトウェ
ア1に閉局応答を送信する。この閉局応答を受信したプ
ログラム起動制御ソフトウェア1は、ソフトウェア世代
識別情報が「NEW」となっているソフトウェア世代識
別情報112と対応する索引情報102を利用して、第
2プログラム31に対し開局要求を送信する。そして、
ソフトウェア世代識別情報が「OLD」となっているソ
フトウェア世代識別情報111と対応する索引情報10
1を利用して第1プログラム30に対し終了要求を送信
する。
【0016】次に、開局要求を受信した第2プログラム
31は、サービスの提供を開始(例えば、表示画面があ
る場合には画面を表示し、他からの入力を受け付ける)
し、プログラム起動制御ソフトウェア1に開局応答を返
す。終了要求を受信した第1プログラム30は、プログ
ラム起動制御ソフトウェア1に終了応答を送信後に、第
1プログラム30を終了する。終了応答を受信したプロ
グラム起動制御ソフトウェア1は、ソフトウェア世代識
別情報が「OLD」 となっているソフトウェア世代識
別情報111と対応する索引情報101の内容を削除す
る。そして、ソフトウェア世代識別情報が「NEW」と
なっているソフトウェア世代識別情報112の内容を
「OLD」に変更する。
【0017】次に、図1、図2および図3を参照して本
発明によるアプリケーション切替制御方式の動作を詳細
に説明する。図2は、起動時における初期化処理動作を
示すフローチャートである。一方、図3は、図1のシス
テム全体の動作を示すフローチャートである。
【0018】先ず、図2のフローチャートを参照して、
図1に示すアプリケーション切替制御方式の起動時にお
ける初期化動作を説明する。図1に示すプログラム起動
制御ソフトウェア1は、起動されると、時間監視ソフト
ウェア2を起動する(ステップA1)。そして、アプリ
ケーション3を実行して第1プログラム30を起動する
(ステップA2)。しかし、第1プログラム30は、サ
ービスの提供をまだ行わない。ここで、プログラム起動
制御ソフトウェア1は、ソフトウェア管理部10の索引
情報101に、第1プログラム30と情報の送受信を行
うために必要なハンドル情報を設定する、即ち索引情報
設定を行う(ステップA3)。次に、プログラムの新旧
を判断するためのソフトウェア世代識別情報111に
「OLD」を設定する(ステップA4)。次に、プログ
ラム起動制御ソフトウェア1は、上述のステップA3で
設定した索引情報101を使用して第1プログラム30
に対し開局要求を送信する(ステップA5)。最後に、
第1プログラム30から開局応答を受信したか否かを判
断する(ステップA6)。開局応答を受信した場合(ス
テップA6:Y)には、初期化処理を完了する(ステッ
プA7)。開局応答を受信しない場合(ステップA6:
N)には、上述したステップS6へ戻り開局応答の受信
を待つ。
【0019】次に、図3のフローチャートを参照して、
図1に示す本発明によるアプリケーション切替制御方式
の全体動作を説明する。先ず、図1に示すプログラム起
動制御ソフトウェア1は、時間監視ソフトウェア2から
の時間経過通知を受信する(ステップS1)。次に、ア
プリケーション3を実行し第2プログラム31を起動す
る(ステップS2)。プログラム起動制御ソフトウェア
1は、ソフトウェア管理部10が管理する索引情報10
1、102のうち情報が設定されていないものを探す。
例えば、索引情報102に情報が設定されていなかった
場合には、索引情報102に第2プログラム31のハン
ドル情報(索引情報)を設定する(ステップS3)。次
に、索引情報102に対応するソフトウェア世代識別情
報112には新規に起動したことを表す「NEW」を設
定する(ステップS4)。
【0020】起動した第2プログラム31から初期化完
了通知を受信したか否か判断する(ステップS5)。初
期化完了通知を受信した場合(ステップS5:Y)に
は、プログラム起動制御ソフトウェア1は、ソフトウェ
ア世代識別情報が「OLD」となっているソフトウェア
世代識別情報111、112を探す(ステップS6)。
例えば、ソフトウェア世代識別情報111に存在した場
合(ステップS6:Y)には、対応する索引情報101
を利用して第1プログラム30に閉局要求を送信する
(ステップS7)。ソフトウェア世代識別情報111、
112に「OLD」が見つからなかった場合(ステップ
S6:N)又はステップS7で送信した閉局要求に対す
る閉局応答が第1プログラム30から送信されてきた場
合(ステップS8:Y)には、設定内容が「NEW」で
あるソフトウェア世代識別情報112に対応する第2プ
ログラム31に開局要求を送信する(ステップS9)。
【0021】次に、ソフトウェア世代識別情報が「OL
D」のものがあるか判断する(ステップS10)。「O
LD」のものがある場合(ステップS10:Y)には、
設定内容が「OLD」であるソフトウェア世代識別情報
に対応するプログラム30に終了要求を送信する(ステ
ップS11)。次に、プログラム30から終了応答を受
信したか判断する(ステップS12)。終了応答を受信
した場合(ステップS12:Y)には、その情報である
索引情報101とソフトウェア世代識別情報111の内
容を削除する(ステップS13)。一方、「OLD」と
なっているソフトウェア世代識別情報がなかった場合
(ステップS10:N)又はステップS13の情報削除
処理後にフトウェア世代識別子が「NEW」となってい
るソフトウェア世代識別情報112の内容を「NEW」
から「OLD」に変更する(ステップS14)。最後
に、動作を終了する(ステップS15)。
【0022】以上、本発明によるアプリケーション切替
制御方式の好適実施形態の構成および動作を詳述した。
しかし、斯かる実施形態は、本発明の単なる例示に過ぎ
ず、何ら本発明を限定するものではない。本発明の要旨
を逸脱することなく、特定用途に応じて種々の変形変更
が可能であること、当業者には容易に理解できよう。
【0023】
【発明の効果】以上の説明から理解される如く、本発明
のアプリケーション切替制御方式によれば、次の如き実
用上の顕著な効果が得られる。即ち、プログラム起動制
御ソフトウェアがソフトウェア管理部に、索引情報およ
びソフトウェア世代識別情報を設定して複数のプログラ
ムの起動制御を一括して行う。そして、時間監視ソフト
ウェア2からの通知で周期的に古いプログラムを新しい
プログラムに入れ替え制御するため、古いプログラムが
抱えていたかもしれないメモリリークを、アプリケーシ
ョン3が提供するサービス自体は停止することなく自動
復旧することが可能となる。
【図面の簡単な説明】
【図1】本発明によるアプリケーション切替制御方式の
好適実施形態の構成を示すブロック図である。
【図2】図1に示すアプリケーション切替制御方式の起
動時における初期化動作を示すフローチャートである。
【図3】図1に示すアプリケーション切替制御方式の全
体動作を示すフローチャートである。
【符号の説明】
1 プログラム起動制御ソフトウェア 10 ソフトウェア管理部 101、102 索引情報 111、112 ソフトウェア世代識別情報 2 時間監視ソフトウェア 20 周期情報 3 アプリケーション 30、31 プログラム 300、301 メモリ空間

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】複数のプログラムを有し、第1プログラム
    を起動中に第2プログラムも同時に起動し、その後前記
    第1プログラムを終了して前記第2プログラムのみで運
    用を行うことにより、前記複数プログラムの起動、終了
    および外部インタフェイスの制御をソフトウェア管理部
    で一括管理してアプリケーション切替えを行うことを特
    徴とするアプリケーション切替制御方式。
  2. 【請求項2】前記ソフトウェア管理部に、前記起動中の
    プログラムと通信するためのポインタを格納する索引情
    報および前記起動中のプログラムの新旧情報を格納する
    ソフトウェア世代識別情報を設定し、新たに起動したプ
    ログラムの索引情報およびソフトウェア世代識別情報を
    格納し、古いプログラムの索引情報およびソフトウェア
    世代識別情報を削除して更新することを特徴とする請求
    項1に記載のアプリケーション切替制御方式。
  3. 【請求項3】時間監視ソフトウェアを設け、該時間監視
    ソフトウェアからの周期的な通知又はその他外部からの
    通知を受け、前記古いプログラムの起動中に前記新しい
    プログラムを起動した後に、前記古いプログラムを終了
    することを特徴とする請求項1又は2に記載のアプリケ
    ーション切替制御方式。
  4. 【請求項4】前記起動中のプログラムに対し開局要求を
    送信し、前記プログラムのサービスの開始を制御するこ
    とを特徴とする請求項1、2又は3に記載のアプリケー
    ション切替制御方式。
  5. 【請求項5】前記起動中のプログラムに対し閉局要求を
    送信し、前記プログラムのサービスの終了を制御するこ
    とを特徴とする請求項1、2、3又は4に記載のアプリ
    ケーション切替制御方式。
  6. 【請求項6】前記プログラムの起動後にサービスの提供
    は行わず、前記プログラム起動制御ソフトウェアから開
    局要求を受信することにより、サービスの提供を開始す
    ることを特徴とする請求項4に記載のアプリケーション
    切替制御方式。
  7. 【請求項7】前記プログラム起動制御ソフトウェアから
    閉局要求を受信後に、全てのサービスが終了した時点
    で、新規サービスの提供を終了することを特徴とする請
    求項5に記載のアプリケーション切替制御方式。
JP2001058391A 2001-03-02 2001-03-02 アプリケーション切替制御方式 Pending JP2002259142A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001058391A JP2002259142A (ja) 2001-03-02 2001-03-02 アプリケーション切替制御方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001058391A JP2002259142A (ja) 2001-03-02 2001-03-02 アプリケーション切替制御方式

Publications (1)

Publication Number Publication Date
JP2002259142A true JP2002259142A (ja) 2002-09-13

Family

ID=18918118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001058391A Pending JP2002259142A (ja) 2001-03-02 2001-03-02 アプリケーション切替制御方式

Country Status (1)

Country Link
JP (1) JP2002259142A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100462925C (zh) * 2005-12-08 2009-02-18 中兴通讯股份有限公司 自动释放嵌入式系统中应用程序模块泄漏内存的方法
JP2009093311A (ja) * 2007-10-05 2009-04-30 Oki Semiconductor Co Ltd ノンストッププログラムシステムおよびそのメモリ断片化回避方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100462925C (zh) * 2005-12-08 2009-02-18 中兴通讯股份有限公司 自动释放嵌入式系统中应用程序模块泄漏内存的方法
JP2009093311A (ja) * 2007-10-05 2009-04-30 Oki Semiconductor Co Ltd ノンストッププログラムシステムおよびそのメモリ断片化回避方法

Similar Documents

Publication Publication Date Title
US7127635B2 (en) Method for correcting a program running on a computer system
JP5388864B2 (ja) クロック制御装置、クロック制御方法、クロック制御プログラム及び集積回路
JP2004046324A (ja) 待機モード付情報処理装置およびその待機モード開始方法と待機モード解除方法
JPH077316B2 (ja) システム再起動装置
JP2011060225A (ja) オペレーティングシステム起動方法
TW525050B (en) An efficient timer management system
JP2002259142A (ja) アプリケーション切替制御方式
JP2003167746A (ja) ソフトウェア配布方法及びその実施システム並びにその処理プログラム
JP5182349B2 (ja) 情報処理装置、情報処理システム、bios設定更新方法およびプログラム
JP2005228301A (ja) 暗黙の構成可能なメッセージキューベースのユーザインターフェースオートメーション同期化のためのシステムおよび方法
JP2001292165A (ja) サービス設定システム、サービス設定方法及び中継装置
CN107704399B (zh) 一种存储数据的方法和装置
JP3117666B2 (ja) コールドスタンバイ型二重系システム
JP2011013836A (ja) メモリ配置管理装置及びマイクロプロセッサ
JPH11134204A (ja) スタック保護装置
JP3494788B2 (ja) プログラム実行管理システム及びプログラム実行管理方法
JP2001209551A (ja) オペレーティングシステム制御装置、オペレーティングシステム制御方法及び、その記録媒体
JP2002149439A (ja) 分散処理システムにおけるサーバ切替え方法及びサーバ装置
JP5282482B2 (ja) 通信装置、通信システム、設定変更方法、及びプログラム
JP2642082B2 (ja) 通信プログラムの起動方法
JP2005173830A (ja) コンピュータシステム及びプログラム
JP2007073069A (ja) 計算機、資源自動適用処理プログラム及びそのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2848172B2 (ja) 入出力制御装置
JP2000187518A (ja) コンピュータシステム
JP2003177929A (ja) マスタマシン、スレーブマシン、およびそれらを有するクラスタリングシステム