(57)【特許請求の範囲】
【請求項１】
情報処理機器内に設置された状態で、アプリケーションプログラム・インターフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）関数を介して、アプリケーションプログラム（ＡＰ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ）を制御するオペレーティングシステムと通信するＡＰ管理装置であって、
予め格納されているＡＰ停止手続設定情報に従い、実行状態にあるＡＰのうちの、停止対象のＡＰを選別する選別部と；
前記実行状態にあるＡＰに対応付けられるＡＰ実行プロセスの詳細情報を取得する第１の情報取得部と；
前記第１の情報取得部と通信して、前記ＡＰ実行プロセスのうちの、前記停止対象のＡＰに対応付けられるＡＰ実行プロセスの詳細情報を読み取った後、前記停止対象のＡＰに対応付けられるＡＰ実行プロセスのハンドル情報（Ｈａｎｄｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）、前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッド（Ｔｈｒｅａｄ）のハンドル情報、各スレッド毎のモジュール情報（Ｍｏｄｕｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）及び各モジュール毎のスタック情報（Ｓｔａｃｋ  ｉｎｆｏｒｍａｔｉｏｎ）を取得する第２の情報取得部と；
前記第２の情報取得部と通信して、前記停止対象のＡＰに対応付けられるＡＰ実行プロセスのハンドル情報、前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッドのハンドル情報、前記各スレッド毎のモジュール情報、及び前記各モジュール毎のスタック情報を読み取った後、前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッドを停止させるＡＰ停止処理部と；
前記ＡＰ停止処理部によって前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッドが停止されると、前記ＡＰ停止処理部と通信して、前記各スレッド毎のモジュール情報及び前記各モジュール毎のスタック情報を読み取った後、各スレッド毎のモジュール及び各モジュール毎のスタックのうちの、動的データ交換（ＤＤＥ：Ｄｙｎａｍｉｃ  ｄａｔａ  Ｅｘｃｈａｎｇｅ）メッセージ処理を担うモジュール及びスタックを選別し、選別されたモジュール及びスタックを含むスレッドの停止状態を解除する停止状態解除部；及び
前記選別部、前記第１の情報取得部、前記第２の情報取得部、前記ＡＰ停止処理部、及び前記停止状態解除部を制御する制御部と；
を含むことを特徴とするＡＰ管理装置。
【請求項２】
更に、前記制御部によって制御され、前記オペレーティングシステムから前記停止対象のＡＰの停止状態を解除するための要請メッセージを受信した場合、前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッドの停止状態を解除するＡＰ停止状態解除処理部を含むことを特徴とする請求項１に記載のＡＰ管理装置。
【請求項３】
アプリケーションプログラム・インターフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）関数を介して、アプリケーションプログラム（ＡＰ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ）の実行を制御するオペレーティングシステムと通信するＡＰ管理方法であって、
予め格納されているＡＰ停止手続設定情報に従い、実行状態にあるＡＰのうちの、停止対象のＡＰを選別するステップと；
実行状態にあるＡＰに対応付けられるＡＰ実行プロセスの詳細情報を取得するステップと；
前記ＡＰ実行プロセスのうちの、前記停止対象のＡＰに対応付けられるＡＰ実行プロセスの詳細情報を読み取った後、前記停止対象のＡＰに対応付けられるＡＰ実行プロセスのハンドル情報（Ｈａｎｄｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）、前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッド（Ｔｈｒｅａｄ）のハンドル情報、各スレッド毎のモジュール情報（Ｍｏｄｕｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）、及び各モジュール毎のスタック情報（Ｓｔａｃｋ  ｉｎｆｏｒｍａｔｉｏｎ）を取得するステップと；
前記停止対象のＡＰに対応付けられるＡＰ実行プロセスのハンドル情報、前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッドのハンドル情報、前記各スレッド毎のモジュール情報、及び前記各モジュール毎のスタック情報を読み取った後、前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッドを停止させるステップ；及び
前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッドが停止されると、前記各スレッド毎のモジュール情報及び前記各モジュール毎のスタック情報を読み取った後、各スレッド毎のモジュール及び各モジュール毎のスタックのうちの、動的データ交換（ＤＤＥ：Ｄｙｎａｍｉｃ  ｄａｔａ  Ｅｘｃｈａｎｇｅ）メッセージ処理を担うモジュール及びスタックを選別し、選別されたモジュール及びスタックを含むスレッドの停止状態を解除するステップと；
を含むことを特徴とするＡＰ管理方法。
【請求項４】
更に、前記オペレーティングシステムから前記停止対象のＡＰの停止状態を解除するための要請メッセージを受信した場合、前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッドの停止状態を解除するステップを含むことを特徴とする請求項３に記載のＡＰ管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションプログラム（ＡＰ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ；以下、「ＡＰ」という）を管理する管理装置及び管理方法に関する。より詳しくは、オペレーティングシステム側で、停止対象のＡＰ（例えば、ユーザ不使用のＡＰ）の各ＡＰ実行プロセス毎のスレッドが停止された状態でも、動的データ交換（ＤＤＥ：Ｄｙｎａｍｉｃ  ｄａｔａ  Ｅｘｃｈａｎｇｅ）メッセージ処理に係るモジュール及びスタックを含むスレッドだけは正常に停止解除された環境に置かれることができるようにすることで、ユーザ側でＤＤＥメッセージ処理の遅延による各種の不具合を容易に回避できるようにガイド可能なＡＰ管理装置及び管理方法に関する。
【背景技術】
【０００２】
近年、電気・電子・通信関連技術の急速な発展に伴って、様々な種類のＡＰ（例えば、文書作成ＡＰ、図面作成ＡＰ、事務管理ＡＰ、通信ＡＰ、インターネット接続ＡＰなど）が幅広く開発・普及されてきている。これに伴い、当該ＡＰをより効率よく管理するための様々な種類の基盤技術が開発されてきている。
例えば、特許文献１（名称：ユーザ端末及びそのソフトウェア管理制御方法、並びに装置）（２０１１年８月２日公告）には、（１）ユーザ端末をモニタリングするステップ、（２）前記ユーザ端末がソフトウェア提供装置で動作するソフトウェアに接続して、ソフトウェアが一定時間以上不使用状態か否かを判断し、不使用状態である場合、ユーザ端末のソフトウェアへの接続を強制解除することに決定するステップ、（３）前記ソフトウェアでユーザ端末が現在まで作業した内容を一時保存し、ユーザ端末のソフトウェアへの接続を強制解除するためのプロセスの生成をユーザ端末に要請するステップ、（４）作業内容の一時保存及び強制解除のためのプロセスの制御メッセージをユーザ端末に提供するステップ、などをその技術的要旨とするソフトウェア接続制御方法が開示されている。
しかし、特許文献１に開示のソフトウェア不使用端末の強制解除技術は、その主要プロセスのいずれもがサーバ端で行われるため、サーバ端の負荷増大が著しくなる。さらには、全体的なプロセス進行時間が大きく増大するといった深刻な問題点を招くようになる。
特に、特許文献１に開示のソフトウェア不使用端末の強制解除技術は、不使用のソフトウェアを一時停止させるものではなく、完全に終了させる極端的方法を採択している。したがって、ユーザ側ではソフトウェアの再使用の際、終了している当該ソフトウェアを最初から再び実行しなければならないという不便の甘受を余儀なくされる。
このような問題点を勘案して、従来は、停止対象のＡＰ（例えば、不使用ＡＰ）を選別した後、選別済みのＡＰ実行プロセス毎のスレッド（Ｔｈｒｅａｄ）を停止させて、当該停止対象のＡＰを一時停止させることが説得力ある方案として台頭してきていた。この場合、当該停止対象のＡＰは、完全終了されることではなく、その動作が一時停止される。その結果、ユーザ側では停止対象のＡＰの再使用の際も、これを最初から再び実行しなければならないなどの煩わしさを容易に回避することができる。
しかし、このような従来の技術に係るＡＰ停止技術の場合、停止対象のＡＰのプロセスに含まれた全てのスレッドを一括して停止させる。このため、別段の措置が取られない場合、従来のＡＰ停止技術を採用した情報処理機器のオペレーティングシステム側では停止対象のＡＰの各スレッドのうちの、動的データ交換（ＤＤＥ：Ｄｙｎａｍｉｃ  Ｄａｔａ  Ｅｘｃｈａｎｇｅ）メッセージ処理を担うモジュール及びスタックを含むスレッドまでをも活用できなくなる。その結果、情報処理機器の全体的なＤＤＥメッセージ処理が大きく遅延するという深刻な状況に直面するようになる。
当然ながら、ＤＤＥメッセージの処理が遅延すると、ユーザ側では停止対象のＡＰだけではなく、他のＡＰまでをも円滑に使用できなくなる。結局、全体的なＡＰの利用品質が大きく低下する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】大韓民国登録特許第１０−１０５３６８１号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
そこで、本発明の実施例は、オペレーティングシステム側で、停止対象のＡＰ（例えば、ユーザ不使用ＡＰ）の各ＡＰ実行プロセス毎のスレッドが停止された状態でも、ＤＤＥメッセージ処理に係るモジュール及びスタックを含むスレッドだけは正常に停止解除できるようにする。これにより、ユーザ側でＤＤＥメッセージ処理の遅延による各種の不具合を容易に回避できるようにする。
本発明の他の目的は、次の詳細な説明と添付の図面からより明確になるであろう。
【課題を解決するための手段】
【０００５】
本発明の一実施例は、情報処理機器内に設置された状態で、アプリケーションプログラム・インターフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）関数を介して、アプリケーションプログラム（ＡＰ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ）を制御するオペレーティングシステムと通信するＡＰ管理装置であって、予め格納されているＡＰ停止手続設定情報に従い、実行状態にあるＡＰのうちの、停止対象のＡＰを選別する選別部と；前記実行状態にあるＡＰに対応付けられるＡＰ実行プロセスの詳細情報を取得する第１の情報取得部と；前記第１の情報取得部と通信して、前記ＡＰ実行プロセスのうちの、前記停止対象のＡＰに対応付けられるＡＰ実行プロセスの詳細情報を読み取った後、前記停止対象のＡＰに対応付けられるＡＰ実行プロセスのハンドル情報（Ｈａｎｄｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）、前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッド（Ｔｈｒｅａｄ）のハンドル情報、各スレッド毎のモジュール情報（Ｍｏｄｕｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）及び各モジュール毎のスタック情報（Ｓｔａｃｋ  ｉｎｆｏｒｍａｔｉｏｎ）を取得する第２の情報取得部と；前記第２の情報取得部と通信して、前記停止対象のＡＰに対応付けられるＡＰ実行プロセスのハンドル情報、前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッドのハンドル情報、前記各スレッド毎のモジュール情報、及び前記各モジュール毎のスタック情報を読み取った後、前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッドを停止させるＡＰ停止処理部と；前記停止処理部によって前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッドが停止されると、前記停止処理部と通信して、前記各スレッド毎のモジュール情報及び前記各モジュール毎のスタック情報を読み取った後、各スレッド毎のモジュール及び各モジュール毎のスタックのうちの、動的データ交換（ＤＤＥ：Ｄｙｎａｍｉｃ  ｄａｔａ  Ｅｘｃｈａｎｇｅ）メッセージ処理を担うモジュール及びスタックを選別し、選別されたモジュール及びスタックを含むスレッドの停止状態を解除する停止状態解除部；及び前記選別部、前記第１の情報取得部、前記第２の情報取得部、前記ＡＰ停止処理部、及び前記停止状態解除部を制御する制御部と；を含むことを特徴とするＡＰ管理装置を開示する。
また、本発明の他の実施例では、アプリケーションプログラム・インターフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）関数を介して、アプリケーションプログラム（ＡＰ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ）の実行を制御するオペレーティングシステムと通信するＡＰ管理方法であって、予め格納されているＡＰ停止手続設定情報に従い、実行状態にあるＡＰのうちの、停止対象のＡＰを選別するステップと；実行状態にあるＡＰに対応付けられるＡＰ実行プロセスの詳細情報を取得するステップと；前記ＡＰ実行プロセスのうちの、前記停止対象のＡＰに対応付けられるＡＰ実行プロセスの詳細情報を読み取った後、前記停止対象のＡＰに対応付けられるＡＰ実行プロセスのハンドル情報（Ｈａｎｄｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）、前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッド（Ｔｈｒｅａｄ）のハンドル情報、各スレッド毎のモジュール情報（Ｍｏｄｕｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）、及び各モジュール毎のスタック情報（Ｓｔａｃｋ  ｉｎｆｏｒｍａｔｉｏｎ）を取得するステップと；前記停止対象のＡＰに対応付けられるＡＰ実行プロセスのハンドル情報、前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッドのハンドル情報、前記各スレッド毎のモジュール情報、及び前記各モジュール毎のスタック情報を読み取った後、前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッドを停止させるステップ；及び前記停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッドが停止されると、前記各スレッド毎のモジュール情報及び前記各モジュール毎のスタック情報を読み取った後、各スレッド毎のモジュール及び各モジュール毎のスタックのうちの、動的データ交換（ＤＤＥ：Ｄｙｎａｍｉｃ  ｄａｔａ  Ｅｘｃｈａｎｇｅ）メッセージ処理を担うモジュール及びスタックを選別し、選別されたモジュール及びスタックを含むスレッドの停止状態を解除するステップと；を含むことを特徴とするＡＰ管理方法を開示する。
【発明の効果】
【０００６】
本発明の一実施例では、オペレーティングシステムを含む情報処理機器のプログラムブロック内に、実行状態にあるＡＰ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ）のうちの停止対象のＡＰを選別できる電算モジュール、ＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）関数を呼び出して、実行状態にあるＡＰに対応付けられるＡＰ実行プロセスの詳細情報を取得できる電算モジュール、停止対象のＡＰに対応付けられるＡＰ実行プロセスの詳細情報を読み取った後、ＡＰＩ関数を呼び出して、停止対象のＡＰに対応付けられるＡＰ実行プロセスのハンドル情報（Ｈａｎｄｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）、各ＡＰ実行プロセス毎のスレッド（Ｔｈｒｅａｄ）のハンドル情報、各スレッド毎のモジュール情報（Ｍｏｄｕｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）、及び各モジュール毎のスタック情報（Ｓｔａｃｋ  ｉｎｆｏｒｍａｔｉｏｎ）を取得できる電算モジュール、停止対象のＡＰに対応付けられるＡＰ実行プロセスのハンドル情報、各ＡＰ実行プロセス毎のスレッドのハンドル情報、各スレッド毎のモジュール情報、及び各モジュール毎のスタック情報を読み取った後、ＡＰＩ関数を呼び出して、停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッドを停止させることができる電算モジュール、停止対象のＡＰに対応付けられる各ＡＰ実行プロセス毎のスレッドが停止されると、各スレッド毎のモジュール情報及び各モジュール毎のスタック情報を読み取った後、各スレッド毎のモジュール及び各モジュール毎のスタックのうちの、動的データ交換（ＤＤＥ：Ｄｙｎａｍｉｃ  ｄａｔａ  Ｅｘｃｈａｎｇｅ）メッセージ処理を担うモジュール及びスタックを選別し、選別されたモジュール及びスタックを含むスレッドの停止状態を解除できる電算モジュールなどを体系的に配置して提供する。この結果、本発明の具現環境下において、オペレーティングシステム側では停止対象のＡＰ（例えば、ユーザ不使用ＡＰ）の各ＡＰ実行プロセス毎のスレッドが停止された状態でも、ＤＤＥメッセージ処理に係るモジュール及びスタックを含むスレッドだけは正常に停止解除された環境に置かれることができるようになる。結局、ユーザ側ではＤＤＥメッセージ処理の遅延による各種の不具合を容易に回避できるようになる。
【図面の簡単な説明】
【０００７】
【図１】本発明に係るＡＰ管理装置のプログラム配置形態を概念的に示した例示図である。
【図２】本発明に係るＡＰ管理装置の詳細的な構成を概念的に示した例示図である。
【図３】本発明に係るＡＰ管理装置の詳細的な機能実行手続を概念的に示した例示図である。
【発明を実施するための形態】
【０００８】
以下、添付の図面を参照して、本発明に係るＡＰ管理装置及び管理方法について詳しく説明することとする。
図１に示されたように、本発明に係るＡＰ管理装置１００を採用した情報処理機器１（例えば、ノートＰＣ、デスクトップＰＣ、スマートフォン、タブレットＰＣなど）には、オペレーティングシステム２（例えば、マイクロソフト社から発売されたウィンドウズ（登録商標）系のオペレーティングシステム）がインストールされる。この場合、オペレーティングシステムは、動的リンクライブラリ（ＤＬＬ：Ｄｙｎａｍｉｃ  Ｌｉｎｋ  Ｌｉｂｒａｒｙ）ファイル４、アプリケーションプログラム・インターフェース（ＡＰＩ：Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）関数５などを介して、各種のＡＰ３、３ａ（例えば、文書作成ＡＰ、図面作成ＡＰ、事務管理ＡＰ、通信ＡＰ、インターネット接続ＡＰなど）の実行状態を綿密に制御する。
このような環境下において、従来の技術によるＡＰ停止技術が適用された場合、停止対象のＡＰ３ａの実行プロセス６ａに含まれた全てのスレッド７、７ａが一括して停止される。これにより、別段の措置が取られない場合、オペレーティングシステム２は停止対象のＡＰ３ａの各スレッド７、７ａのうちの、ＤＤＥメッセージ処理を担うモジュール８ａ及びスタック９ａを含むスレッド７ａまでをも活用できなくなる。結局、情報処理機器１の全体的なＤＤＥメッセージ処理が大きく遅延せざるを得ない。
一方、本発明に係るＡＰ管理装置１００は、停止対象のＡＰ３ａに対応付けられる各ＡＰ実行プロセス６ａ毎のスレッド７、７ａが停止されたとき、各スレッド７、７ａ毎のモジュール情報及び各モジュール８、８ａ毎のスタック情報を読み取った後、各スレッド７、７ａ毎のモジュール８、８ａ及び各モジュール８、８ａ毎のスタック９、９ａのうちの、ＤＤＥメッセージ処理を担うモジュール８ａ及びスタック９ａを選別する。その後、選別されたモジュール８ａ及びスタック９ａを含むスレッド７ａの停止状態を解除することで、オペレーティングシステム２側で停止対象のＡＰ（例えば、ユーザ不使用ＡＰなど）の機能が停止されたときでも、不要なＤＤＥメッセージ処理の遅延という不便を一切被らないようにすることができる。
図２に示されたように、本発明に係るＡＰ管理装置１００は、インターフェース部１０２を介してオペレーティングシステム２と通信し、オペレーティング情報格納部１０３、選別部１０４、第１の情報取得部１０５、第２の情報取得部１０６、ＡＰ停止処理部１０７、停止状態解除部１０８、ＡＰ停止状態解除処理部１０９、及びＡＰ管理装置１００内の構成要素を制御する制御部１０１などが緊密に組み合わされた構成を取ることができる。
このとき、制御部１０１によって制御されるオペレーティング情報格納部１０３は、自身の情報格納領域に本発明に係るＡＰ管理サービスに必要な各種のオペレーティング情報、例えば、オペレーティングシステム２の登録情報、ＡＰ停止手続設定情報（例えば、所定の時間ユーザが不使用中のＡＰを停止対象のＡＰとして選別させる設定情報または特定のＡＰを停止対象のＡＰとして選別させる設定情報など）及び各電算モジュールのプロセス進行に必要なコンポネント情報などを格納及び管理することで、本発明に係る一連のＡＰ管理手続が何らの問題なく正常に実施できるように補助する役割を果たす。
このような基盤インフラを通じて、制御モジュール１０１によって制御される選別部１０４は、図３に示されたように、インターフェースモジュール１０２を介してオペレーティングシステム２と通信する。この結果、各ＡＰ３、３ａの実行内訳を点検し、オペレーティング情報格納部１０３と通信を取って、その情報格納領域に予め格納されているＡＰ停止手続設定情報を読み取る。その後、読み取られた内容によって、各自のＡＰ実行プロセス６、６ａを実施させて、実行状態に置かれているＡＰ３、３ａのうちの、停止対象のＡＰ３ａを選別する。
例えば、２０分間ユーザが不使用中のＡＰが停止対象のＡＰ３ａとして選別されていてよい。他の例として、ＢＢ社製の○○ＡＰが停止対象のＡＰ３ａとして選別されてもよく、また他の例として、製造元が不明な△△ＡＰが停止対象のＡＰ３ａとして選別されてもよい（このような停止対象のＡＰは、状況に応じて多様に変形されていてよい）。
このようにして、停止対象のＡＰ３ａが選別されると、制御部１０１によって制御される第１の情報取得部１０５は、選別部１０４と通信を取って、いずれのＡＰが停止対象のＡＰ３ａであるかを把握する。次いで、第１の情報取得部１０５は、インターフェース部１０２を介してオペレーティングシステム２と通信を取って、ＤＬＬファイル４（例えば、ｄｂｇｈｅｌｐ.ｄｌｌファイル）を選択し、ＡＰＩ関数５（例えば、ＧｅｔＰｒｏｃＡｄｄｒｅｓｓ関数）を呼び出す。これにより、第１の情報取得部１０５は、実行状態にあるＡＰ３、３ａに対応付けられるＡＰ実行プロセス６、６ａの詳細情報（例えば、ＡＰ実行プロセス６、６ａの仮想アドレス空間情報、ＡＰ実行プロセス６、６ａの仮想アドレス空間にロードされた実行ファイル情報、ＡＰ実行プロセス６、６ａのためにオペレーティングシステム２が割り当てた各種のリソース情報、ＡＰ実行プロセス６、６ａのカーネル・オブジェクト情報、ＡＰ実行プロセス６、６ａのスレッド情報など）を取得することができる（図３参考）。
上述した手続を通じて、第１の情報取得部１０５が実行状態にあるＡＰ３、３ａに対応付けられるＡＰ実行プロセス６、６ａの詳細情報を取得すると、制御部１０１によって制御される第２の情報取得部１０６は、選別部１０４と通信を取って、いずれのＡＰが停止対象のＡＰ３ａであるかを把握する。また、第２の情報取得部１０６は、第１の情報取得部１０５と通信を取って、実行状態にあるＡＰ３、３ａに対応付けられるＡＰ実行プロセス６、６ａの詳細情報のうちの、停止対象のＡＰ３ａに対応付けられるＡＰ実行プロセス６ａの詳細情報（例えば、ＡＰ実行プロセス６ａの仮想アドレス空間情報、ＡＰ実行プロセス６ａの仮想アドレス空間にロードされた実行ファイル情報、ＡＰ実行プロセス６ａのためにオペレーティングシステム２が割り当てた各種のリソース情報、ＡＰ実行プロセス６ａのカーネル・オブジェクト情報、ＡＰ実行プロセス６ａのスレッド情報など）を読み取ることができる（図３参考）。
第２の情報取得部１０６が、いずれのＡＰが停止対象のＡＰ３ａであるかを把握し、当該停止対象のＡＰ３ａに対応付けられるＡＰ実行プロセス６ａの詳細情報を読み取ると、第２の情報取得部１０６は、インターフェース部１０２を介してオペレーティングシステム２と通信を取って、ＡＰＩ関数５（例えば、ＯｐｅｎＰｒｏｃｅｓｓ  ＡＰＩ関数、ＣｒｅａｔｅＴｏｏｌｈｅｌｐ３２Ｓｎａｐｓｈｏｔ  ＡＰＩ関数、ＳｙｍＬｏａｄＭｏｄｕｌｅ６４  ＡＰＩ関数、ＧｅｔＴｈｒｅａｄＣｏｎｔｅｘｔ  ＡＰＩ関数、ＳｔａｃｋＷａｌｋ６４  ＡＰＩ関数など）を呼び出す。これにより、停止対象のＡＰ３ａに対応付けられるＡＰ実行プロセス６ａのハンドル情報（Ｈａｎｄｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）、各ＡＰ実行プロセス６ａ毎のスレッド（Ｔｈｒｅａｄ）７、７ａのハンドル情報、各ＡＰ実行プロセス６ａ毎のスレッド（Ｔｈｒｅａｄ）７、７ａのコンテキスト構造値（Ｃｏｎｔｅｘｔ  ｓｔｒｕｃｔｕｒｅ  ｖａｌｕｅ）情報、各スレッド７、７ａ毎のモジュール情報（Ｍｏｄｕｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）（例えば、各モジュール８、８ａのシンボルテーブル（Ｓｙｍｂｏｌ  ｔａｂｌｅ）情報、各モジュール８、８ａのメモリアドレス値情報、各モジュール８、８ａのＩＭＡＧＥＨＥＬＰ_ＭＯＤＵＬＥ６４構造値情報など）、及び各モジュール８、８ａ毎のスタック情報（Ｓｔａｃｋ  ｉｎｆｏｒｍａｔｉｏｎ）（例えば、各スタック９、９ａのスタックトレース（Ｓｔａｃｋ  ｔｒａｃｅ）情報など）を取得することができる（図３参考）。
この場合、先に述べたＡＰＩ関数５のうちの、ＯｐｅｎＰｒｏｃｅｓｓ  ＡＰＩ関数はＡＰ実行プロセス６ａのハンドル情報を取得するのに活用され、ＣｒｅａｔｅＴｏｏｌｈｅｌｐ３２Ｓｎａｐｓｈｏｔ  ＡＰＩ関数は各ＡＰ実行プロセス６ａ毎のスレッド（Ｔｈｒｅａｄ）７、７ａのハンドル情報を取得するのに活用される。また、ＳｙｍＬｏａｄＭｏｄｕｌｅ６４  ＡＰＩ関数は各スレッド７、７ａ毎のモジュール情報（Ｍｏｄｕｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）を取得するのに活用され、ＧｅｔＴｈｒｅａｄＣｏｎｔｅｘｔ  ＡＰＩ関数は各ＡＰ実行プロセス６ａ毎のスレッド（Ｔｈｒｅａｄ）７、７ａのコンテキスト構造値（Ｃｏｎｔｅｘｔ  ｓｔｒｕｃｔｕｒｅ  ｖａｌｕｅ）情報を取得するのに活用され、ＳｔａｃｋＷａｌｋ６４  ＡＰＩ関数は各モジュール８、８ａ毎のスタック情報（Ｓｔａｃｋ  ｉｎｆｏｒｍａｔｉｏｎ）を取得するのに活用される。
上述した手続を通じて、停止対象のＡＰ３ａに対応付けられるＡＰ実行プロセス６ａのハンドル情報（Ｈａｎｄｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）、各ＡＰ実行プロセス６ａ毎のスレッド（Ｔｈｒｅａｄ）７、７ａのハンドル情報、各ＡＰ実行プロセス６ａ毎のスレッド（Ｔｈｒｅａｄ）７、７aのコンテキスト構造値（Ｃｏｎｔｅｘｔ  ｓｔｒｕｃｔｕｒｅ  ｖａｌｕｅ）情報、各スレッド７、７ａ毎のモジュール情報（Ｍｏｄｕｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）、各モジュール８、８ａ毎のスタック情報（Ｓｔａｃｋ  ｉｎｆｏｒｍａｔｉｏｎ）などが取得されると、制御部１０１によって制御されるＡＰ停止処理部１０７は、第２の情報取得部１０６と通信を取って、上述した停止対象のＡＰ詳細情報（例えば、停止対象のＡＰ３ａに対応付けられるＡＰ実行プロセス６ａのハンドル情報、各ＡＰ実行プロセス６ａ毎のスレッド７、７aのハンドル情報、各スレッド７、７ａ毎のモジュール情報、各モジュール８、８ａ毎のスタック情報など）を読み取る（図３参考）。
このようにして、停止対象のＡＰの詳細情報の読み取りが完了すると、ＡＰ停止処理部１０７は、インターフェースモジュール１０２を介してオペレーティングシステム２と通信を取って、ＡＰＩ関数５（例えば、ＳｕｓｐｅｎｄＴｈｒｅａｄ  ＡＰＩ関数）を呼び出す。これにより、ＡＰ停止処理部１０７は、停止対象のＡＰ３ａに対応付けられる各ＡＰ実行プロセス６ａ毎のスレッド７、７aを停止させる（図３参考）。
一方、上述した手続を通じて、停止対象のＡＰ３ａに対応付けられる各ＡＰ実行プロセス６ａ毎のスレッド７、７aが停止されたとき、制御部１０１によって制御される停止状態解除部１０８は、ＡＰ停止処理部１０７と通信を取って、各ＡＰ実行プロセス６ａ毎のスレッド（Ｔｈｒｅａｄ）７、７aのコンテキスト構造値（Ｃｏｎｔｅｘｔ  ｓｔｒｕｃｔｕｒｅ  ｖａｌｕｅ）情報、各スレッド７、７ａ毎のモジュール情報（Ｍｏｄｕｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）（例えば、各モジュール８、８ａのシンボルテーブル（Ｓｙｍｂｏｌ  ｔａｂｌｅ）情報、各モジュール８、８ａのメモリ住所値情報、各モジュール８、８ａのＩＭＡＧＥＨＥＬＰ_ＭＯＤＵＬＥ６４構造値情報など）、各モジュール８、８ａ毎のスタック情報（Ｓｔａｃｋ  ｉｎｆｏｒｍａｔｉｏｎ）（例えば、各スタック９、９ａのスタックトレース（Ｓｔａｃｋ  ｔｒａｃｅ）情報など）などを読み取りまたは取得する（このような各情報は、状況に応じて、第２の情報取得部１０６との通信を通じて読み取りまたは取得されても構わない）。
このようにすることで、各ＡＰ実行プロセス６ａ毎のスレッド（Ｔｈｒｅａｄ）７、７ａのコンテキスト構造値（Ｃｏｎｔｅｘｔ  ｓｔｒｕｃｔｕｒｅ  ｖａｌｕｅ）情報、各スレッド７、７ａ毎のモジュール情報（Ｍｏｄｕｌｅ  ｉｎｆｏｒｍａｔｉｏｎ）、各モジュール８、８ａ毎のスタック情報（Ｓｔａｃｋ  ｉｎｆｏｒｍａｔｉｏｎ）などが読み取りまたは取得されると、停止状態解除部１０８は、各スレッド７、７ａ毎のモジュール８、８ａ及び各モジュール８、８ａ毎のスタック９、９ａのうちのＤＤＥメッセージ処理を担うモジュール８ａ（例えば、ＵＳＥＲ３２．ｄｌｌ）及びそのシンボルネームが例えば、ＧｅｔＭｅｓｓａｇｅ、ＵｓｅｒｗａｉｔＭｅｓｓａｇｅなどのようにＤＤＥメッセージ処理を担うものと推定されるスタック９ａを選別する。次いで、選別されたモジュール８ａ及びスタック９ａを含むスレッド７ａの停止状態を解除する（図３参考）。
このように、ＤＤＥメッセージ処理を担うモジュール８ａ（例えば、ＵＳＥＲ３２．ｄｌｌ）及びそのシンボルネームが例えば、ＧｅｔＭｅｓｓａｇｅ、ＵｓｅｒｗａｉｔＭｅｓｓａｇｅなどのようにＤＤＥメッセージ処理を担うものと推定されるスタック９ａが含まれたスレッド７ａの停止状態が解除されると、当該スレッド７ａが円滑に駆動するように復旧される。この場合、オペレーティングシステム２は、停止対象のＡＰ３ａ（例えば、ユーザ不使用ＡＰなど）の機能が停止されたときでも、不要なＤＤＥメッセージ処理の遅延という不便を被るようなことが一切なくなる。
このように、本発明の一実施例は、オペレーティングシステム２を含む情報処理機器１のプログラムブロック内に、実行状態にあるＡＰ３、３ａのうちの停止対象のＡＰ３ａを選別できる電算モジュール、ＡＰＩ関数を呼び出して、実行状態にあるＡＰ３、３ａに対応付けられるＡＰ実行プロセス６、６ａの詳細情報を取得できる電算モジュール、停止対象のＡＰ３ａに対応付けられるＡＰ実行プロセス６ａの詳細情報を読み取った後、ＡＰＩ関数を呼び出して、停止対象のＡＰ３ａに対応付けられるＡＰ実行プロセス６ａのハンドル情報、各ＡＰ実行プロセス６ａ毎のスレッド７、７ａのハンドル情報、各スレッド７、７ａ毎のモジュール情報、及び各モジュール８、８ａ毎のスタック情報を取得できる電算モジュール、停止対象のＡＰ３ａに対応付けられるＡＰ実行プロセス６ａのハンドル情報、各ＡＰ実行プロセス６ａ毎のスレッド７、７ａのハンドル情報、各スレッド７、７ａ毎のモジュール情報、及び各モジュール８、８ａ毎のスタック情報を読み取った後、ＡＰＩ関数を呼び出して、停止対象のＡＰ３ａに対応付けられる各ＡＰ実行プロセス６ａ毎のスレッド７、７ａを停止させることができる電算モジュール、停止対象のＡＰ３ａに対応付けられる各ＡＰ実行プロセス６ａ毎のスレッド７、７ａが停止されたとき、各スレッド７、７ａ毎のモジュール情報及び各モジュール８、８ａ毎のスタック情報を読み取った後、各スレッド７、７ａ毎のモジュール８、８ａ及び各モジュール８、８ａ毎のスタック９、９ａのうちのＤＤＥメッセージ処理を担うモジュール８ａ及びスタック９ａを選別し、選別されたモジュール８ａ及びスタック９ａを含むスレッド７ａの停止状態を解除できる電算モジュールなどを体系的に配置して提供する。したがって、本発明の具現環境下において、オペレーティングシステム２側では停止対象のＡＰ３ａ（例えば、ユーザ不使用ＡＰ）の各ＡＰ実行プロセス６ａ毎のスレッド７が停止された状態でも、ＤＤＥメッセージ処理に係るモジュール８ａ及びスタック９ａを含むスレッド７ａだけは正常に停止解除された環境に置かれることができるようになる。結局、ユーザ側ではＤＤＥメッセージ処理の遅延による各種の不具合を容易に回避できる。
一方、図２に示されたように、本発明の一実施例に係る制御部１０１の制御下においては、上述した電算モジュールだけではなく、ＡＰ停止状態解除処理部１０９が更に配置されていてよい。
このとき、制御部によって制御されるＡＰ停止状態解除処理部１０９は、インターフェース部１０２を介して、オペレーティングシステム２と通信を取りながら、当該オペレーティングシステム２から停止対象のＡＰの停止状態を完全解除するための要請メッセージが伝送されたか否かを点検する。
このとき、情報処理機器１を使用するユーザは、例えば、最小化状態に置かれていた停止対象のＡＰ３ａのアイコン（Ｉｃｏｎ；図示せず）を選択するのと同様な電算手続を実施して、オペレーティングシステム２から停止対象のＡＰの停止状態を完全解除するための要請メッセージが伝送されたか否かを点検することができる。前記要請メッセージが伝送されたと判断される場合、ＡＰ停止状態解除処理部１０９は、インターフェース部１０２を介してオペレーティングシステム２と通信を取って、ＡＰＩ関数５を呼び出す。これにより、停止対象のＡＰ３ａに対応付けられる各ＡＰ実行プロセス６ａ毎のスレッド７の停止状態を解除できる（図３参考）。
当然ながら、この場合、停止対象のＡＰ３ａ側ではＤＤＥメッセージ処理に関するモジュール８ａ及びスタック９ａを含むスレッド７ａだけではなく、他のモジュール８及びスタック９を含む全てのスレッド７までをもその機能を正常に回復させる。結局、ユーザ側では停止対象のＡＰ３ａを最初から再び実行しなければならないという不便を感じることなく、当該ＡＰ３ａを容易に活用することができる。
本発明は特定の分野に限られることなく、各種のＡＰの管理が必要な多くの分野で、全般的に有用な効果を発揮する。
そして、以上では本発明の特定の実施例について説明してきたが、本発明が当業者によって種々に変形され実施される可能性があることは自明なことである。
このような変形された実施例は本発明の技術的思想や観点から別個に理解されてはならず、本発明の添付の特許請求の範囲中に属するものと理解されるべきである。
【産業上の利用可能性】
【０００９】
本発明の一実施例によれば、オペレーティングシステム側で、停止対象のＡＰ（例えば、ユーザ不使用ＡＰ）の各ＡＰ実行プロセス毎のスレッドが停止された状態でも、ＤＤＥメッセージ処理に係るモジュール及びスタックを含むスレッドだけは正常に停止解除できる。これにより、ユーザ側でＤＤＥメッセージ処理の遅延による各種の不具合を容易に回避できる。
【図１】
0005981050.tif 000002
【図２】
0005981050.tif 000003
【図３】
0005981050.tif 000004