(57)【要約】【課題】モニタ用プログラム等の常駐プログラムのフリーズ防止方法及び常駐プログラムにおいて、システムの資源不足により常駐プログラムがフリーズするのを防ぐ。【解決手段】起動中のモニタ用プログラムＡが、現在起動中のＯＳがシステムの資源不足を誘発しやすい所定の種類のＯＳであるか否かをチェックして（Ｓ２）、このチェックの結果、所定の種類のＯＳであったときに（Ｓ２でＹＥＳ）、常駐プログラムの起動から一定の時間が経過したか否かを判定する（Ｓ３）。そして、一定の時間が経過すると（Ｓ３でＹＥＳ）、切換元のモニタ用プログラムから、このプログラムと同じ内容で別名の切換先のモニタ用プログラムに起動中のプログラムを切り換える（Ｓ４）。これにより、ＯＳが切換元のモニタ用プログラムの使用していたシステム資源を解放するので、システムの資源不足によりモニタ用プログラムがフリーズするのを防ぐことができる。【選択図】図２
2005092628.tif 000002
【特許請求の範囲】
【請求項１】
システムの資源不足によりモニタ用プログラム等の常駐プログラムがフリーズするのを防止する方法において、
前記常駐プログラムを起動するステップと、
前記常駐プログラムが、現在起動中のＯＳ（Operating System）がシステムの資源不足を誘発しやすい所定の種類のＯＳであるか否かをチェックするステップと、
前記チェックの結果、所定の種類のＯＳであったときに、前記常駐プログラムが起動されてから一定の時間が経過したか否かを判定するステップと、
前記判定の結果、一定の時間が経過していたときに、前記常駐プログラム（以下、切換元プログラムという）から、このプログラムと同じ内容で別名の常駐プログラム（以下、切換先プログラムという）に起動中のプログラムを切り換えるステップとからなり、
前記切り換えるステップは、
前記切換元プログラムが、前記切換先プログラムをバックグラウンドで起動するステップと、
前記切換先プログラムが前記切換元プログラムに起動完了を通知するステップと、
前記切換元プログラムが前記切換先プログラムに自己の状態を通知するステップと、
前記切換先プログラムが、前記通知された状態をセーブして、この状態と同じ状態に移行する準備が完了した旨を前記切換元プログラムに通知するステップと、
前記切換元プログラムが、前記切換先プログラムに対して、自己と同じ状態に移行するように要求するステップと、
前記要求に応じて、前記切換先プログラムが前記切換元プログラムと同じ状態に移行するステップと、
前記切換先プログラムが前記切換元プログラムと同じ状態に移行した後に、前記切換元プログラムが終了するステップ
とを含むことを特徴とする常駐プログラムのフリーズ防止方法。
【請求項２】
システムの資源不足によりモニタ用プログラム等の常駐プログラムがフリーズするのを防止する方法において、
前記常駐プログラムを起動するステップと、
前記常駐プログラムが起動されてから一定の時間が経過したか否かを判定するステップと、
前記判定の結果、一定の時間が経過していたときに、前記常駐プログラム（以下、切換元プログラムという）から、このプログラムと同じ内容で別名の常駐プログラム（以下、切換先プログラムという）に起動中のプログラムを切り換えるステップとからなることを特徴とする常駐プログラムのフリーズ防止方法。
【請求項３】
前記切換元プログラムが、現在起動中のＯＳがシステムの資源不足を誘発しやすい所定の種類のＯＳであるか否かをチェックして、このチェックの結果、所定の種類のＯＳであったときに限り、前記プログラムを切り換えるステップを実行するようにした請求項２に記載の常駐プログラムのフリーズ防止方法。
【請求項４】
システムの資源不足によるフリーズの発生を防止するためにコンピュータを、
現在起動中のＯＳがシステムの資源不足を誘発しやすい所定の種類のＯＳであるか否かを判定するＯＳ判定手段、
前記ＯＳ判定手段による判定の結果、所定の種類のＯＳであったときに、前記常駐プログラムが起動されてから一定の時間が経過したか否かを判定する時間経過判定手段、及び
前記時間経過判定手段による判定の結果、一定の時間が経過していたときに、自プログラムから、このプログラムと同じ内容で別名の常駐プログラム（以下、切換先プログラムという）に起動中のプログラムを切り換える切換手段として機能させるモニタ用プログラム等の常駐プログラムであって、
前記切換手段は、前記コンピュータに、
前記切換先プログラムをバックグラウンドで起動するステップと、
前記切換先プログラムから起動完了通知を受信するステップと、
前記切換先プログラムに自プログラムの状態を通知するステップと、
前記切換先プログラムから、自プログラムと同じ状態に移行する準備が完了した旨の通知を受信するステップと、
前記切換先プログラムに対して、自プログラムと同じ状態に移行するように要求するステップと、
前記切換先プログラムが自プログラムと同じ状態に移行した後に、自プログラムを終了させるステップとを含む処理を実行させるものである
ことを特徴とする常駐プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モニタ用プログラム等の常駐プログラムのフリーズ防止方法及び常駐プログラムに係わり、特に、システムの資源不足の発生を防止する技術に関する。
【背景技術】
【０００２】
従来、Windows（登録商標）95、Windows（登録商標）98、Windows（登録商標）ME等の個人向けのパソコンのＯＳ（Operating System）配下で使用されるプログラムの中には、生産ラインにおける生産台数や障害のモニタ用プログラム等の常駐プログラムがある。一般的に、常駐プログラムは、同一内容の処理を繰り返し、処理を行う度に、メモリ上の領域等のシステム資源を使用する。けれども、ＯＳが正常に機能している場合には、ＯＳが常駐プログラムの使用したシステム資源を順次に解放していくため、システムの資源不足が発生することは稀である。
【０００３】
また、クライアントサーバシステムの分野において、障害発生時に短時間でシステムを回復できるようにすることを目的として、正系のデータベースと副系のデータベースに同じ内容のデータを格納しておいて、障害発生時に正系のデータベースシステムから副系のデータベースシステムへの切り換えを行うようにしたものが知られている（例えば、特許文献１参照）。
【０００４】
しかしながら、上記のような個人向けのパソコンのＯＳの中には、ＯＳ内のバグ等に起因して、常駐プログラムの使用したシステム資源を順次に解放することができないものが存在する。このため、常駐プログラムが起動されてから一定の時間が経過すると、システムの資源不足が発生して、常駐プログラムがフリーズしてしまうという問題があった。なお、上記特許文献１に示される発明では、上記の問題を解消することはできない。
【特許文献１】特開２０００−５７０３０号公報（第１−１４頁、図１−７）
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上記の問題を解決するためになされたものであり、システムの資源不足により常駐プログラムがフリーズするのを防ぐことが可能な常駐プログラムのフリーズ防止方法及び常駐プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために請求項１の発明は、システムの資源不足によりモニタ用プログラム等の常駐プログラムがフリーズするのを防止する方法において、常駐プログラムを起動するステップと、常駐プログラムが、現在起動中のＯＳ（Operating System）がシステムの資源不足を誘発しやすい所定の種類のＯＳであるか否かをチェックするステップと、このチェックの結果、所定の種類のＯＳであったときに、常駐プログラムが起動されてから一定の時間が経過したか否かを判定するステップと、この判定の結果、一定の時間が経過していたときに、常駐プログラム（以下、切換元プログラムという）から、このプログラムと同じ内容で別名の常駐プログラム（以下、切換先プログラムという）に起動中のプログラムを切り換えるステップとからなり、この切り換えるステップは、切換元プログラムが、切換先プログラムをバックグラウンドで起動するステップと、切換先プログラムが切換元プログラムに起動完了を通知するステップと、切換元プログラムが切換先プログラムに自己の状態を通知するステップと、切換先プログラムが、通知された状態をセーブして、この状態と同じ状態に移行する準備が完了した旨を切換元プログラムに通知するステップと、切換元プログラムが、切換先プログラムに対して、自己と同じ状態に移行するように要求するステップと、この要求に応じて、切換先プログラムが切換元プログラムと同じ状態に移行するステップと、切換先プログラムが切換元プログラムと同じ状態に移行した後に、切換元プログラムが終了するステップとを含むものである。
【０００７】
上記方法においては、常駐プログラムが、現在起動中のＯＳがシステムの資源不足を誘発しやすい所定の種類のＯＳであるか否かをチェックして、このチェックの結果、所定の種類のＯＳであったときに、常駐プログラムの起動から一定の時間が経過したか否かを判定する。そして、一定の時間が経過すると、切換元プログラムから、このプログラムと同じ内容で別名の切換先プログラムに起動中のプログラムを切り換える。これにより、ＯＳが切換元プログラムの使用していたシステム資源を解放するので、システムの資源不足により常駐プログラムがフリーズするのを防ぐことができる。また、切換元プログラムが、切換先プログラムをバックグラウンドで起動すると共に、切換先プログラムに対して自己と同じ状態に移行するように要求して、切換先プログラムが切換元プログラムと同じ状態に移行した後に、自プログラムを終了するようにしたことにより、ユーザが常駐プログラムを一旦終了させてから再度立ち上げた場合と異なり、常駐プログラムによるモニタリング等の処理を中断させる必要がなくなる。
【０００８】
また、請求項２の発明は、システムの資源不足によりモニタ用プログラム等の常駐プログラムがフリーズするのを防止する方法において、常駐プログラムを起動するステップと、常駐プログラムが起動されてから一定の時間が経過したか否かを判定するステップと、判定の結果、一定の時間が経過していたときに、常駐プログラム（以下、切換元プログラムという）から、このプログラムと同じ内容で別名の常駐プログラム（以下、切換先プログラムという）に起動中のプログラムを切り換えるステップとからなるものである。この方法により、上記請求項１と同様な作用を得ることができる。
【０００９】
また、請求項３の発明は、請求項２の発明において、切換元プログラムが、現在起動中のＯＳがシステムの資源不足を誘発しやすい所定の種類のＯＳであるか否かをチェックして、このチェックの結果、所定の種類のＯＳであったときに限り、プログラムを切り換えるステップを実行するようにしたものである。この方法により、不必要な常駐プログラムの切換処理を行わないようにすることができる。
【００１０】
また、請求項４の発明は、システムの資源不足によるフリーズの発生を防止するためにコンピュータを、現在起動中のＯＳがシステムの資源不足を誘発しやすい所定の種類のＯＳであるか否かを判定するＯＳ判定手段、ＯＳ判定手段による判定の結果、所定の種類のＯＳであったときに、常駐プログラムが起動されてから一定の時間が経過したか否かを判定する時間経過判定手段、及び時間経過判定手段による判定の結果、一定の時間が経過していたときに、自プログラムから、このプログラムと同じ内容で別名の常駐プログラム（以下、切換先プログラムという）に起動中のプログラムを切り換える切換手段として機能させるモニタ用プログラム等の常駐プログラムであって、切換手段は、コンピュータに、切換先プログラムをバックグラウンドで起動するステップと、切換先プログラムから起動完了通知を受信するステップと、切換先プログラムに自プログラムの状態を通知するステップと、切換先プログラムから、自プログラムと同じ状態に移行する準備が完了した旨の通知を受信するステップと、切換先プログラムに対して、自プログラムと同じ状態に移行するように要求するステップと、切換先プログラムが自プログラムと同じ状態に移行した後に、自プログラムを終了させるステップとを含む処理を実行させるものである。この構成においては、上記請求項１と同様な作用を得ることができる。
【発明の効果】
【００１１】
請求項１又は請求項４の発明によれば、現在起動中のＯＳがシステムの資源不足を誘発しやすい所定の種類のＯＳであれば、常駐プログラムの起動から一定の時間が経過すると、切換元プログラムから、このプログラムと同じ内容で別名の切換先プログラムに起動中のプログラムを切り換える。これにより、ＯＳが切換元プログラムの使用していたシステム資源を解放するので、システムの資源不足により常駐プログラムがフリーズするのを防ぐことができる。また、切換元プログラムが、切換先プログラムをバックグラウンドで起動して、切換先プログラムを自プログラムと同じ状態に移行させた後に、自プログラムを終了するようにしたことにより、ユーザが常駐プログラムを一旦終了させてから再度立ち上げた場合と異なり、常駐プログラムによるモニタリング等の処理を中断させる必要がなくなる。例えば、常駐プログラムが生産ラインのモニタ用プログラムである場合には、生産台数や障害発生のモニタリングを中断しないようにすることができる。
【００１２】
また、請求項２の発明によれば、上記請求項１と同等の効果を得ることができる。
【００１３】
また、請求項３の発明によれば、切換元プログラムが、現在起動中のＯＳがシステムの資源不足を誘発しやすい所定の種類のＯＳであるか否かをチェックして、このチェックの結果、所定の種類のＯＳであったときに限り、プログラムを切り換えるステップを実行するようにしたことにより、不必要な常駐プログラムの切換処理を行わないようにすることができる。
【発明を実施するための最良の形態】
【００１４】
本発明を実施するための最良の形態について図面を参照して説明する。以下に記載した実施形態は、本発明を網羅するものではなく、本発明は、下記の形態だけに限定されない。図１は、本実施形態による常駐プログラムのフリーズ防止方法を適用した生産ライン管理システムの電気的ブロック構成を示す。生産ライン管理システム１は、生産ラインにおける生産台数や障害発生のモニタを行うためのシステムであり、主に生産ライン管理用コンピュータ１０（以下、コンピュータと略す）と生産ラインに設置されたセンサ２０とからなる。センサ２０には、生産台数を計数するカウンタや障害の発生を検知するセンサが含まれる。コンピュータ１０は、装置全体の制御を行うＣＰＵ１１と、各種のプログラムやデータを記憶したハードディスク１２と、起動中の各種のプログラムやデータがローディングされるメモリ１３と、各種の指示を入力するためのマウス、キーボード等からなる操作部１４と、モニタ用画面等を表示するディスプレイ１５と、センサ２０とのデータの入出力を行うためのインタフェース１６とを有している。上記のハードディスク１２に格納されているプログラムには、図に示されるように、ＯＳ（Operating System）１８、生産ラインにおける生産台数や障害発生のモニタを行うための常駐プログラムであるモニタ用プログラムＡ（請求項における切換元プログラム）、及びこのプログラムＡと同じ内容で別名の常駐プログラムであるモニタ用プログラムＢ（請求項における切換先プログラム）が含まれている。ＯＳ１８は、コンピュータ１０の使用時には、常にメモリ１３にローディングされている。また、生産台数や障害発生のモニタ中には、モニタ用プログラムＡとモニタ用プログラムＢの少なくともいずれか一方がメモリ１３にローディングされている。ＣＰＵ１１とモニタ用プログラムＡ，Ｂとが、請求項４におけるＯＳ判定手段、時間経過判定手段及び切換手段に相当する。
【００１５】
次に、図２のフローチャートを参照して、上記生産ライン管理システム１に採用されているモニタ用プログラムＡ，Ｂのフリーズ防止方法について説明する。ユーザが操作部１４によりモニタ用プログラムＡを起動すると（Ｓ１）、ＣＰＵ１１は、モニタ用プログラムＡによる指示に基づいて、現在起動中のＯＳ１８がシステムの資源不足を誘発しやすい所定の種類のＯＳであるか否かをチェックする（Ｓ２）。具体的には、例えば、起動中のＯＳ１８が、Windows（登録商標）95、Windows（登録商標）98、Windows（登録商標）MEのいずれかであるか否かをチェックする。そして、起動中のＯＳ１８がこれらのいずれかであるときには（Ｓ２でＹＥＳ）、ＣＰＵ１１は、モニタ用プログラムＡによる指示に基づいて、モニタ用プログラムＡが起動されてから一定の時間が経過したか否かを判定する（Ｓ３）。この一定の時間の長さは、起動中のＯＳ１８の種類及びモニタ用プログラムＡの処理内容により異なる。そして、一定の時間が経過すると（Ｓ３でＹＥＳ）、ＣＰＵ１１は、モニタ用プログラムＡによる指示に基づいて、モニタ用プログラムＡからモニタ用プログラムＢへのプログラムの切換処理を行う（Ｓ４）。これにより、ＯＳ１８がモニタ用プログラムＡの使用していたシステム資源を解放するので、システムの資源不足によりモニタ用プログラムＡ又はモニタ用プログラムＢがフリーズするのを防ぐことができる。ＣＰＵ１１は、モニタ用プログラムＡ又はモニタ用プログラムＢによる指示に基づいて、モニタ用プログラムＡ又はモニタ用プログラムＢが起動されてから一定の時間が経過する度毎に、上記のプログラム切換処理を繰り返す。そして、ユーザが操作部１４によりモニタ処理の終了を指示すると（Ｓ５でＹＥＳ）、ＣＰＵ１１は、起動中の常駐プログラム（モニタ用プログラムＡ又はモニタ用プログラムＢ）を終了させる（Ｓ６）。
【００１６】
また、上記Ｓ２の判定処理において、現在起動中のＯＳ１８がシステムの資源不足を誘発しやすい所定の種類のＯＳでないときには（Ｓ２でＮＯ）、ＣＰＵ１１は、上記Ｓ４に示されるプログラム切換処理を行わない。そして、ユーザが操作部１４によりモニタ処理の終了を指示すると（Ｓ７でＹＥＳ）、ＣＰＵ１１は、起動中のモニタ用プログラムＡを終了させる（Ｓ８）。
【００１７】
次に、図３のフローチャートに加えて図４を参照して、上記Ｓ４に示されるプログラム切換処理について説明する。以下の説明では、説明を簡単にするために、各ステップにおける動作の主体をモニタ用プログラムＡ又はモニタ用プログラムＢにするが、各ステップにおける動作の主体は、実際には、モニタ用プログラムＡ又はモニタ用プログラムＢによる指示を受けたＣＰＵ１１である。プログラム切換処理に入ると、切換元のプログラムであるモニタ用プログラムＡは、コンピュータ１０内のファイル又はリモート先の機器内のファイルに格納されているモニタデータを参照している場合があるので、モニタデータのレコードを解放するためにモニタ画面を初期画面に戻してから（図３中のＳ１１）、切換先のプログラムであるモニタ用プログラムＢを、自プログラムのバックグラウンドで起動させる（Ｓ１２）。そして、モニタ用プログラムＢが、モニタ用プログラムＡに起動完了を通知すると（Ｓ１３：図４中のＩに相当）、モニタ用プログラムＡは、どの画面を表示しているか等の自己の状態をモニタ用プログラムＢに通知する（Ｓ１４：図４中のＩＩに相当）。次に、モニタ用プログラムＢが、モニタ用プログラムＡから通知された状態をセーブして、この状態と同じ状態に移行する準備が完了した旨をモニタ用プログラムＡに通知する（Ｓ１５：図４中のＩＩＩに相当）。モニタ用プログラムＡは、準備が完了した旨の通知を受信すると、モニタ用プログラムＢに対して、自己と同じ状態に移行するように要求する（Ｓ１６：図４中のＩＶに相当）。この要求に応じて、モニタ用プログラムＢがモニタ用プログラムＡと同じ状態に移行すると（Ｓ１７）、モニタ用プログラムＡは終了する（Ｓ１８）。
【００１８】
上記のプログラム切換処理は、図２中のＳ３及びＳ４に示されるように、一定時間が経過する毎に繰り返される。そして、各プログラム切換処理における切換元のプログラムと切換先のプログラムは、プログラム切換処理を行う度に入れ替わる。従って、図４に示されるように、モニタ用プログラムＡからモニタ用プログラムＢへの切り換え時における各通知Ｉ〜ＩＶの通知元及び通知先は、モニタ用プログラムＢからモニタ用プログラムＡへの切り換え時における各通知Ｉ’〜ＩＶ’の通知元及び通知先と反対になる。
【００１９】
上述したように、本実施形態による常駐プログラムのフリーズ防止方法によれば、現在起動中のＯＳ１８がシステムの資源不足を誘発しやすい所定の種類のＯＳであれば、切換元のモニタ用プログラムの起動から一定の時間が経過すると、起動中のプログラムを切り換える。これにより、ＯＳ１８が切換元のモニタ用プログラムの使用していたシステム資源を解放するので、システムの資源不足によりモニタ用プログラムがフリーズするのを防ぐことができる。また、切換元のモニタ用プログラムが、切換先のモニタ用プログラムをバックグラウンドで起動して、切換先のモニタ用プログラムを自プログラムと同じ状態に移行させた後に、自プログラムを終了するようにしたことにより、ユーザがモニタ用プログラムを一旦終了させてから再度立ち上げた場合と異なり、モニタ用プログラムによる生産台数や障害発生のモニタリング処理を中断させる必要がなくなる。
【００２０】
なお、本発明は、上記実施形態に限られるものではなく、様々な変形が可能である。例えば、本実施形態では、常駐プログラムが生産ラインにおける生産台数や障害発生のモニタ用プログラムである場合の例を示したが、常駐プログラムはこれに限られず、例えば、ネットワーク用のワクチン・ソフトであってもよい。また、上記実施形態では、起動中のＯＳ１８が、Windows（登録商標）95、Windows（登録商標）98、Windows（登録商標）MEのいずれかである場合に、プログラムの切換処理を行うようにしたが、起動中のＯＳが他の種類のＯＳである場合にも、プログラムの切換処理を行うようにしてもよい。
【図面の簡単な説明】
【００２１】
【図１】本発明の一実施形態による常駐プログラムのフリーズ防止方法を適用した生産ライン管理システムの電気的ブロック構成を示す図。
【図２】上記常駐プログラムのフリーズ防止方法のフローチャート。
【図３】図２中のプログラム切換処理のフローチャート。
【図４】上記プログラム切換処理における各通知を示す図。
【符号の説明】
【００２２】
１０  生産ライン管理用コンピュータ（コンピュータ）
１１  ＣＰＵ（ＯＳ判定手段、時間経過判定手段、切換手段）
１８  ＯＳ
Ａ    モニタ用プログラム（常駐プログラム、切換元プログラム、ＯＳ判定手段、時間経過判定手段、切換手段）
Ｂ    モニタ用プログラム（常駐プログラム、切換先プログラム、ＯＳ判定手段、時間経過判定手段、切換手段）
【図１】
2005092628.tif 000003
【図２】
2005092628.tif 000004
【図３】
2005092628.tif 000005
【図４】
2005092628.tif 000006