JP2016505987A - アプリケーションプログラムの管理装置及び管理方法 - Google Patents
アプリケーションプログラムの管理装置及び管理方法 Download PDFInfo
- Publication number
- JP2016505987A JP2016505987A JP2015551594A JP2015551594A JP2016505987A JP 2016505987 A JP2016505987 A JP 2016505987A JP 2015551594 A JP2015551594 A JP 2015551594A JP 2015551594 A JP2015551594 A JP 2015551594A JP 2016505987 A JP2016505987 A JP 2016505987A
- Authority
- JP
- Japan
- Prior art keywords
- information
- thread
- stopped
- module
- execution process
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/541—Interprogram communication via adapters, e.g. between incompatible applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Information Transfer Between Computers (AREA)
Abstract
Description
例えば、特許文献1(名称:ユーザ端末及びそのソフトウェア管理制御方法、並びに装置)(2011年8月2日公告)には、(1)ユーザ端末をモニタリングするステップ、(2)前記ユーザ端末がソフトウェア提供装置で動作するソフトウェアに接続して、ソフトウェアが一定時間以上不使用状態か否かを判断し、不使用状態である場合、ユーザ端末のソフトウェアへの接続を強制解除することに決定するステップ、(3)前記ソフトウェアでユーザ端末が現在まで作業した内容を一時保存し、ユーザ端末のソフトウェアへの接続を強制解除するためのプロセスの生成をユーザ端末に要請するステップ、(4)作業内容の一時保存及び強制解除のためのプロセスの制御メッセージをユーザ端末に提供するステップ、などをその技術的要旨とするソフトウェア接続制御方法が開示されている。
しかし、特許文献1に開示のソフトウェア不使用端末の強制解除技術は、その主要プロセスのいずれもがサーバ端で行われるため、サーバ端の負荷増大が著しくなる。さらには、全体的なプロセス進行時間が大きく増大するといった深刻な問題点を招くようになる。
特に、特許文献1に開示のソフトウェア不使用端末の強制解除技術は、不使用のソフトウェアを一時停止させるものではなく、完全に終了させる極端的方法を採択している。したがって、ユーザ側ではソフトウェアの再使用の際、終了している当該ソフトウェアを最初から再び実行しなければならないという不便の甘受を余儀なくされる。
このような問題点を勘案して、従来は、停止対象のAP(例えば、不使用AP)を選別した後、選別済みのAP実行プロセス毎のスレッド(Thread)を停止させて、当該停止対象のAPを一時停止させることが説得力ある方案として台頭してきていた。この場合、当該停止対象のAPは、完全終了されることではなく、その動作が一時停止される。その結果、ユーザ側では停止対象のAPの再使用の際も、これを最初から再び実行しなければならないなどの煩わしさを容易に回避することができる。
しかし、このような従来の技術に係るAP停止技術の場合、停止対象のAPのプロセスに含まれた全てのスレッドを一括して停止させる。このため、別段の措置が取られない場合、従来のAP停止技術を採用した情報処理機器のオペレーティングシステム側では停止対象のAPの各スレッドのうちの、動的データ交換(DDE:Dynamic Data Exchange)メッセージ処理を担うモジュール及びスタックを含むスレッドまでをも活用できなくなる。その結果、情報処理機器の全体的なDDEメッセージ処理が大きく遅延するという深刻な状況に直面するようになる。
当然ながら、DDEメッセージの処理が遅延すると、ユーザ側では停止対象のAPだけではなく、他のAPまでをも円滑に使用できなくなる。結局、全体的なAPの利用品質が大きく低下する。
本発明の他の目的は、次の詳細な説明と添付の図面からより明確になるであろう。
また、本発明の他の実施例では、アプリケーションプログラム・インターフェース(API:Application Program Interface)関数を介して、アプリケーションプログラム(AP:Application Program)の実行を制御するオペレーティングシステムと通信するAP管理方法であって、予め格納されているAP停止手続設定情報に従い、実行状態にあるAPのうちの、停止対象のAPを選別するステップと;実行状態にあるAPに対応付けられるAP実行プロセスの詳細情報を取得するステップと;前記AP実行プロセスのうちの、前記停止対象のAPに対応付けられるAP実行プロセスの詳細情報を読み取った後、前記停止対象のAPに対応付けられるAP実行プロセスのハンドル情報(Handle information)、前記停止対象のAPに対応付けられる各AP実行プロセス毎のスレッド(Thread)のハンドル情報、各スレッド毎のモジュール情報(Module information)、及び各モジュール毎のスタック情報(Stack information)を取得するステップと;前記停止対象のAPに対応付けられるAP実行プロセスのハンドル情報、前記停止対象のAPに対応付けられる各AP実行プロセス毎のスレッドのハンドル情報、前記各スレッド毎のモジュール情報、及び前記各モジュール毎のスタック情報を読み取った後、前記停止対象のAPに対応付けられる各AP実行プロセス毎のスレッドを停止させるステップ;及び前記停止対象のAPに対応付けられる各AP実行プロセス毎のスレッドが停止されると、前記各スレッド毎のモジュール情報及び前記各モジュール毎のスタック情報を読み取った後、各スレッド毎のモジュール及び各モジュール毎のスタックのうちの、動的データ交換(DDE:Dynamic data Exchange)メッセージ処理を担うモジュール及びスタックを選別し、選別されたモジュール及びスタックを含むスレッドの停止状態を解除するステップと;を含むことを特徴とするAP管理方法を開示する。
図1に示されたように、本発明に係るAP管理装置100を採用した情報処理機器1(例えば、ノートPC、デスクトップPC、スマートフォン、タブレットPCなど)には、オペレーティングシステム2(例えば、マイクロソフト社から発売されたウィンドウズ(登録商標)系のオペレーティングシステム)がインストールされる。この場合、オペレーティングシステムは、動的リンクライブラリ(DLL:Dynamic Link Library)ファイル4、アプリケーションプログラム・インターフェース(API:Application Program Interface)関数5などを介して、各種のAP3、3a(例えば、文書作成AP、図面作成AP、事務管理AP、通信AP、インターネット接続APなど)の実行状態を綿密に制御する。
このような環境下において、従来の技術によるAP停止技術が適用された場合、停止対象のAP3aの実行プロセス6aに含まれた全てのスレッド7、7aが一括して停止される。これにより、別段の措置が取られない場合、オペレーティングシステム2は停止対象のAP3aの各スレッド7、7aのうちの、DDEメッセージ処理を担うモジュール8a及びスタック9aを含むスレッド7aまでをも活用できなくなる。結局、情報処理機器1の全体的なDDEメッセージ処理が大きく遅延せざるを得ない。
一方、本発明に係るAP管理装置100は、停止対象のAP3aに対応付けられる各AP実行プロセス6a毎のスレッド7、7aが停止されたとき、各スレッド7、7a毎のモジュール情報及び各モジュール8、8a毎のスタック情報を読み取った後、各スレッド7、7a毎のモジュール8、8a及び各モジュール8、8a毎のスタック9、9aのうちの、DDEメッセージ処理を担うモジュール8a及びスタック9aを選別する。その後、選別されたモジュール8a及びスタック9aを含むスレッド7aの停止状態を解除することで、オペレーティングシステム2側で停止対象のAP(例えば、ユーザ不使用APなど)の機能が停止されたときでも、不要なDDEメッセージ処理の遅延という不便を一切被らないようにすることができる。
図2に示されたように、本発明に係るAP管理装置100は、インターフェース部102を介してオペレーティングシステム2と通信し、オペレーティング情報格納部103、選別部104、第1の情報取得部105、第2の情報取得部106、AP停止処理部107、停止状態解除部108、AP停止状態解除処理部109、及びAP管理装置100内の構成要素を制御する制御部101などが緊密に組み合わされた構成を取ることができる。
このとき、制御部101によって制御されるオペレーティング情報格納部103は、自身の情報格納領域に本発明に係るAP管理サービスに必要な各種のオペレーティング情報、例えば、オペレーティングシステム2の登録情報、AP停止手続設定情報(例えば、所定の時間ユーザが不使用中のAPを停止対象のAPとして選別させる設定情報または特定のAPを停止対象のAPとして選別させる設定情報など)及び各電算モジュールのプロセス進行に必要なコンポネント情報などを格納及び管理することで、本発明に係る一連のAP管理手続が何らの問題なく正常に実施できるように補助する役割を果たす。
このような基盤インフラを通じて、制御モジュール101によって制御される選別部104は、図3に示されたように、インターフェースモジュール102を介してオペレーティングシステム2と通信する。この結果、各AP3、3aの実行内訳を点検し、オペレーティング情報格納部103と通信を取って、その情報格納領域に予め格納されているAP停止手続設定情報を読み取る。その後、読み取られた内容によって、各自のAP実行プロセス6、6aを実施させて、実行状態に置かれているAP3、3aのうちの、停止対象のAP3aを選別する。
例えば、20分間ユーザが不使用中のAPが停止対象のAP3aとして選別されていてよい。他の例として、BB社製の○○APが停止対象のAP3aとして選別されてもよく、また他の例として、製造元が不明な△△APが停止対象のAP3aとして選別されてもよい(このような停止対象のAPは、状況に応じて多様に変形されていてよい)。
このようにして、停止対象のAP3aが選別されると、制御部101によって制御される第1の情報取得部105は、選別部104と通信を取って、いずれのAPが停止対象のAP3aであるかを把握する。次いで、第1の情報取得部105は、インターフェース部102を介してオペレーティングシステム2と通信を取って、DLLファイル4(例えば、dbghelp.dllファイル)を選択し、API関数5(例えば、GetProcAddress関数)を呼び出す。これにより、第1の情報取得部105は、実行状態にあるAP3、3aに対応付けられるAP実行プロセス6、6aの詳細情報(例えば、AP実行プロセス6、6aの仮想アドレス空間情報、AP実行プロセス6、6aの仮想アドレス空間にロードされた実行ファイル情報、AP実行プロセス6、6aのためにオペレーティングシステム2が割り当てた各種のリソース情報、AP実行プロセス6、6aのカーネル・オブジェクト情報、AP実行プロセス6、6aのスレッド情報など)を取得することができる(図3参考)。
上述した手続を通じて、第1の情報取得部105が実行状態にあるAP3、3aに対応付けられるAP実行プロセス6、6aの詳細情報を取得すると、制御部101によって制御される第2の情報取得部106は、選別部104と通信を取って、いずれのAPが停止対象のAP3aであるかを把握する。また、第2の情報取得部106は、第1の情報取得部105と通信を取って、実行状態にあるAP3、3aに対応付けられるAP実行プロセス6、6aの詳細情報のうちの、停止対象のAP3aに対応付けられるAP実行プロセス6aの詳細情報(例えば、AP実行プロセス6aの仮想アドレス空間情報、AP実行プロセス6aの仮想アドレス空間にロードされた実行ファイル情報、AP実行プロセス6aのためにオペレーティングシステム2が割り当てた各種のリソース情報、AP実行プロセス6aのカーネル・オブジェクト情報、AP実行プロセス6aのスレッド情報など)を読み取ることができる(図3参考)。
第2の情報取得部106が、いずれのAPが停止対象のAP3aであるかを把握し、当該停止対象のAP3aに対応付けられるAP実行プロセス6aの詳細情報を読み取ると、第2の情報取得部106は、インターフェース部102を介してオペレーティングシステム2と通信を取って、API関数5(例えば、OpenProcess API関数、CreateToolhelp32Snapshot API関数、SymLoadModule64 API関数、GetThreadContext API関数、StackWalk64 API関数など)を呼び出す。これにより、停止対象のAP3aに対応付けられるAP実行プロセス6aのハンドル情報(Handle information)、各AP実行プロセス6a毎のスレッド(Thread)7、7aのハンドル情報、各AP実行プロセス6a毎のスレッド(Thread)7、7aのコンテキスト構造値(Context structure value)情報、各スレッド7、7a毎のモジュール情報(Module information)(例えば、各モジュール8、8aのシンボルテーブル(Symbol table)情報、各モジュール8、8aのメモリアドレス値情報、各モジュール8、8aのIMAGEHELP_MODULE64構造値情報など)、及び各モジュール8、8a毎のスタック情報(Stack information)(例えば、各スタック9、9aのスタックトレース(Stack trace)情報など)を取得することができる(図3参考)。
この場合、先に述べたAPI関数5のうちの、OpenProcess API関数はAP実行プロセス6aのハンドル情報を取得するのに活用され、CreateToolhelp32Snapshot API関数は各AP実行プロセス6a毎のスレッド(Thread)7、7aのハンドル情報を取得するのに活用される。また、SymLoadModule64 API関数は各スレッド7、7a毎のモジュール情報(Module information)を取得するのに活用され、GetThreadContext API関数は各AP実行プロセス6a毎のスレッド(Thread)7、7aのコンテキスト構造値(Context structure value)情報を取得するのに活用され、StackWalk64 API関数は各モジュール8、8a毎のスタック情報(Stack information)を取得するのに活用される。
上述した手続を通じて、停止対象のAP3aに対応付けられるAP実行プロセス6aのハンドル情報(Handle information)、各AP実行プロセス6a毎のスレッド(Thread)7、7aのハンドル情報、各AP実行プロセス6a毎のスレッド(Thread)7、7aのコンテキスト構造値(Context structure value)情報、各スレッド7、7a毎のモジュール情報(Module information)、各モジュール8、8a毎のスタック情報(Stack information)などが取得されると、制御部101によって制御されるAP停止処理部107は、第2の情報取得部106と通信を取って、上述した停止対象のAP詳細情報(例えば、停止対象のAP3aに対応付けられるAP実行プロセス6aのハンドル情報、各AP実行プロセス6a毎のスレッド7、7aのハンドル情報、各スレッド7、7a毎のモジュール情報、各モジュール8、8a毎のスタック情報など)を読み取る(図3参考)。
このようにして、停止対象のAPの詳細情報の読み取りが完了すると、AP停止処理部107は、インターフェースモジュール102を介してオペレーティングシステム2と通信を取って、API関数5(例えば、SuspendThread API関数)を呼び出す。これにより、AP停止処理部107は、停止対象のAP3aに対応付けられる各AP実行プロセス6a毎のスレッド7、7aを停止させる(図3参考)。
一方、上述した手続を通じて、停止対象のAP3aに対応付けられる各AP実行プロセス6a毎のスレッド7、7aが停止されたとき、制御部101によって制御される停止状態解除部108は、AP停止処理部107と通信を取って、各AP実行プロセス6a毎のスレッド(Thread)7、7aのコンテキスト構造値(Context structure value)情報、各スレッド7、7a毎のモジュール情報(Module information)(例えば、各モジュール8、8aのシンボルテーブル(Symbol table)情報、各モジュール8、8aのメモリ住所値情報、各モジュール8、8aのIMAGEHELP_MODULE64構造値情報など)、各モジュール8、8a毎のスタック情報(Stack information)(例えば、各スタック9、9aのスタックトレース(Stack trace)情報など)などを読み取りまたは取得する(このような各情報は、状況に応じて、第2の情報取得部106との通信を通じて読み取りまたは取得されても構わない)。
このようにすることで、各AP実行プロセス6a毎のスレッド(Thread)7、7aのコンテキスト構造値(Context structure value)情報、各スレッド7、7a毎のモジュール情報(Module information)、各モジュール8、8a毎のスタック情報(Stack information)などが読み取りまたは取得されると、停止状態解除部108は、各スレッド7、7a毎のモジュール8、8a及び各モジュール8、8a毎のスタック9、9aのうちのDDEメッセージ処理を担うモジュール8a(例えば、USER32.dll)及びそのシンボルネームが例えば、GetMessage、UserwaitMessageなどのようにDDEメッセージ処理を担うものと推定されるスタック9aを選別する。次いで、選別されたモジュール8a及びスタック9aを含むスレッド7aの停止状態を解除する(図3参考)。
このように、DDEメッセージ処理を担うモジュール8a(例えば、USER32.dll)及びそのシンボルネームが例えば、GetMessage、UserwaitMessageなどのようにDDEメッセージ処理を担うものと推定されるスタック9aが含まれたスレッド7aの停止状態が解除されると、当該スレッド7aが円滑に駆動するように復旧される。この場合、オペレーティングシステム2は、停止対象のAP3a(例えば、ユーザ不使用APなど)の機能が停止されたときでも、不要なDDEメッセージ処理の遅延という不便を被るようなことが一切なくなる。
このように、本発明の一実施例は、オペレーティングシステム2を含む情報処理機器1のプログラムブロック内に、実行状態にあるAP3、3aのうちの停止対象のAP3aを選別できる電算モジュール、API関数を呼び出して、実行状態にあるAP3、3aに対応付けられるAP実行プロセス6、6aの詳細情報を取得できる電算モジュール、停止対象のAP3aに対応付けられるAP実行プロセス6aの詳細情報を読み取った後、API関数を呼び出して、停止対象のAP3aに対応付けられるAP実行プロセス6aのハンドル情報、各AP実行プロセス6a毎のスレッド7、7aのハンドル情報、各スレッド7、7a毎のモジュール情報、及び各モジュール8、8a毎のスタック情報を取得できる電算モジュール、停止対象のAP3aに対応付けられるAP実行プロセス6aのハンドル情報、各AP実行プロセス6a毎のスレッド7、7aのハンドル情報、各スレッド7、7a毎のモジュール情報、及び各モジュール8、8a毎のスタック情報を読み取った後、API関数を呼び出して、停止対象のAP3aに対応付けられる各AP実行プロセス6a毎のスレッド7、7aを停止させることができる電算モジュール、停止対象のAP3aに対応付けられる各AP実行プロセス6a毎のスレッド7、7aが停止されたとき、各スレッド7、7a毎のモジュール情報及び各モジュール8、8a毎のスタック情報を読み取った後、各スレッド7、7a毎のモジュール8、8a及び各モジュール8、8a毎のスタック9、9aのうちのDDEメッセージ処理を担うモジュール8a及びスタック9aを選別し、選別されたモジュール8a及びスタック9aを含むスレッド7aの停止状態を解除できる電算モジュールなどを体系的に配置して提供する。したがって、本発明の具現環境下において、オペレーティングシステム2側では停止対象のAP3a(例えば、ユーザ不使用AP)の各AP実行プロセス6a毎のスレッド7が停止された状態でも、DDEメッセージ処理に係るモジュール8a及びスタック9aを含むスレッド7aだけは正常に停止解除された環境に置かれることができるようになる。結局、ユーザ側ではDDEメッセージ処理の遅延による各種の不具合を容易に回避できる。
一方、図2に示されたように、本発明の一実施例に係る制御部101の制御下においては、上述した電算モジュールだけではなく、AP停止状態解除処理部109が更に配置されていてよい。
このとき、制御部によって制御されるAP停止状態解除処理部109は、インターフェース部102を介して、オペレーティングシステム2と通信を取りながら、当該オペレーティングシステム2から停止対象のAPの停止状態を完全解除するための要請メッセージが伝送されたか否かを点検する。
このとき、情報処理機器1を使用するユーザは、例えば、最小化状態に置かれていた停止対象のAP3aのアイコン(Icon;図示せず)を選択するのと同様な電算手続を実施して、オペレーティングシステム2から停止対象のAPの停止状態を完全解除するための要請メッセージが伝送されたか否かを点検することができる。前記要請メッセージが伝送されたと判断される場合、AP停止状態解除処理部109は、インターフェース部102を介してオペレーティングシステム2と通信を取って、API関数5を呼び出す。これにより、停止対象のAP3aに対応付けられる各AP実行プロセス6a毎のスレッド7の停止状態を解除できる(図3参考)。
当然ながら、この場合、停止対象のAP3a側ではDDEメッセージ処理に関するモジュール8a及びスタック9aを含むスレッド7aだけではなく、他のモジュール8及びスタック9を含む全てのスレッド7までをもその機能を正常に回復させる。結局、ユーザ側では停止対象のAP3aを最初から再び実行しなければならないという不便を感じることなく、当該AP3aを容易に活用することができる。
本発明は特定の分野に限られることなく、各種のAPの管理が必要な多くの分野で、全般的に有用な効果を発揮する。
そして、以上では本発明の特定の実施例について説明してきたが、本発明が当業者によって種々に変形され実施される可能性があることは自明なことである。
このような変形された実施例は本発明の技術的思想や観点から別個に理解されてはならず、本発明の添付の特許請求の範囲中に属するものと理解されるべきである。
Claims (4)
- 情報処理機器内に設置された状態で、アプリケーションプログラム・インターフェース(API:Application Program Interface)関数を介して、アプリケーションプログラム(AP:Application Program)を制御するオペレーティングシステムと通信するAP管理装置であって、
予め格納されているAP停止手続設定情報に従い、実行状態にあるAPのうちの、停止対象のAPを選別する選別部と;
前記実行状態にあるAPに対応付けられるAP実行プロセスの詳細情報を取得する第1の情報取得部と;
前記第1の情報取得部と通信して、前記AP実行プロセスのうちの、前記停止対象のAPに対応付けられるAP実行プロセスの詳細情報を読み取った後、前記停止対象のAPに対応付けられるAP実行プロセスのハンドル情報(Handle information)、前記停止対象のAPに対応付けられる各AP実行プロセス毎のスレッド(Thread)のハンドル情報、各スレッド毎のモジュール情報(Module information)及び各モジュール毎のスタック情報(Stack information)を取得する第2の情報取得部と;
前記第2の情報取得部と通信して、前記停止対象のAPに対応付けられるAP実行プロセスのハンドル情報、前記停止対象のAPに対応付けられる各AP実行プロセス毎のスレッドのハンドル情報、前記各スレッド毎のモジュール情報、及び前記各モジュール毎のスタック情報を読み取った後、前記停止対象のAPに対応付けられる各AP実行プロセス毎のスレッドを停止させるAP停止処理部と;
前記AP停止処理部によって前記停止対象のAPに対応付けられる各AP実行プロセス毎のスレッドが停止されると、前記AP停止処理部と通信して、前記各スレッド毎のモジュール情報及び前記各モジュール毎のスタック情報を読み取った後、各スレッド毎のモジュール及び各モジュール毎のスタックのうちの、動的データ交換(DDE:Dynamic data Exchange)メッセージ処理を担うモジュール及びスタックを選別し、選別されたモジュール及びスタックを含むスレッドの停止状態を解除する停止状態解除部;及び
前記選別部、前記第1の情報取得部、前記第2の情報取得部、前記AP停止処理部、及び前記停止状態解除部を制御する制御部と;
を含むことを特徴とするAP管理装置。 - 更に、前記制御部によって制御され、前記オペレーティングシステムから前記停止対象のAPの停止状態を解除するための要請メッセージを受信した場合、前記停止対象のAPに対応付けられる各AP実行プロセス毎のスレッドの停止状態を解除するAP停止状態解除処理部を含むことを特徴とする請求項1に記載のAP管理装置。
- アプリケーションプログラム・インターフェース(API:Application Program Interface)関数を介して、アプリケーションプログラム(AP:Application Program)の実行を制御するオペレーティングシステムと通信するAP管理方法であって、
予め格納されているAP停止手続設定情報に従い、実行状態にあるAPのうちの、停止対象のAPを選別するステップと;
実行状態にあるAPに対応付けられるAP実行プロセスの詳細情報を取得するステップと;
前記AP実行プロセスのうちの、前記停止対象のAPに対応付けられるAP実行プロセスの詳細情報を読み取った後、前記停止対象のAPに対応付けられるAP実行プロセスのハンドル情報(Handle information)、前記停止対象のAPに対応付けられる各AP実行プロセス毎のスレッド(Thread)のハンドル情報、各スレッド毎のモジュール情報(Module information)、及び各モジュール毎のスタック情報(Stack information)を取得するステップと;
前記停止対象のAPに対応付けられるAP実行プロセスのハンドル情報、前記停止対象のAPに対応付けられる各AP実行プロセス毎のスレッドのハンドル情報、前記各スレッド毎のモジュール情報、及び前記各モジュール毎のスタック情報を読み取った後、前記停止対象のAPに対応付けられる各AP実行プロセス毎のスレッドを停止させるステップ;及び
前記停止対象のAPに対応付けられる各AP実行プロセス毎のスレッドが停止されると、前記各スレッド毎のモジュール情報及び前記各モジュール毎のスタック情報を読み取った後、各スレッド毎のモジュール及び各モジュール毎のスタックのうちの、動的データ交換(DDE:Dynamic data Exchange)メッセージ処理を担うモジュール及びスタックを選別し、選別されたモジュール及びスタックを含むスレッドの停止状態を解除するステップと;
を含むことを特徴とするAP管理方法。 - 更に、前記オペレーティングシステムから前記停止対象のAPの停止状態を解除するための要請メッセージを受信した場合、前記停止対象のAPに対応付けられる各AP実行プロセス毎のスレッドの停止状態を解除するステップを含むことを特徴とする請求項3に記載のAP管理方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20130002053A KR101396781B1 (ko) | 2013-01-08 | 2013-01-08 | 응용프로그램 관리장치 및 관리방법 |
KR10-2013-0002053 | 2013-01-08 | ||
PCT/KR2013/011654 WO2014109487A1 (ko) | 2013-01-08 | 2013-12-16 | 응용프로그램 관리장치 및 관리방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016505987A true JP2016505987A (ja) | 2016-02-25 |
JP5981050B2 JP5981050B2 (ja) | 2016-08-31 |
Family
ID=50894600
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015551594A Expired - Fee Related JP5981050B2 (ja) | 2013-01-08 | 2013-12-16 | アプリケーションプログラムの管理装置及び管理方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US9348667B2 (ja) |
EP (1) | EP2945054A4 (ja) |
JP (1) | JP5981050B2 (ja) |
KR (1) | KR101396781B1 (ja) |
CN (1) | CN104919415A (ja) |
WO (1) | WO2014109487A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677460B (zh) * | 2015-12-28 | 2019-07-23 | 小米科技有限责任公司 | 应用程序处理方法以及装置 |
CN112256454B (zh) * | 2020-10-30 | 2023-05-12 | 上海哔哩哔哩科技有限公司 | 消息延时处理方法和系统 |
CN113630424B (zh) * | 2021-09-15 | 2023-04-28 | 上海哔哩哔哩科技有限公司 | WebRTC通信方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06208459A (ja) * | 1991-09-24 | 1994-07-26 | Microsoft Corp | アプリケーション・プログラムの実行の制御方法とシステム |
JP2003067200A (ja) * | 2001-08-28 | 2003-03-07 | Sony Corp | 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6237024B1 (en) * | 1998-03-20 | 2001-05-22 | Sun Microsystem, Inc. | Method and apparatus for the suspension and continuation of remote processes |
US6473820B1 (en) * | 1998-12-08 | 2002-10-29 | Sun Microsystems, Inc. | Method and apparatus for user level monitor implementation |
US6338084B1 (en) * | 1998-12-17 | 2002-01-08 | International Business Machines Corporation | Method for process-specific exchange of data between machines in a network |
US7243267B2 (en) * | 2002-03-01 | 2007-07-10 | Avaya Technology Llc | Automatic failure detection and recovery of applications |
US20030217287A1 (en) * | 2002-05-16 | 2003-11-20 | Ilya Kruglenko | Secure desktop environment for unsophisticated computer users |
US7216346B2 (en) * | 2002-12-31 | 2007-05-08 | International Business Machines Corporation | Method and apparatus for managing thread execution in a multithread application |
KR100652021B1 (ko) | 2005-07-26 | 2006-12-01 | 한국전자통신연구원 | 무선 인터넷 플랫폼 기반의 전자태그 정보처리 장치 및 그방법 |
US7784059B2 (en) * | 2006-08-22 | 2010-08-24 | Microsoft Corporation | Stateless asynchronous message transmission |
KR101164289B1 (ko) | 2008-04-04 | 2012-07-09 | 에스케이플래닛 주식회사 | 웹 활동 추출 시스템 및 방법 |
CN102117240B (zh) * | 2009-12-31 | 2016-01-20 | 腾讯科技(深圳)有限公司 | 一种获取进程阻塞信息的方法及装置 |
KR101053681B1 (ko) | 2010-05-19 | 2011-08-02 | 계영티앤아이 (주) | 사용자 단말 및 이의 소프트웨어 관리제어방법 및 장치 |
US8843684B2 (en) * | 2010-06-11 | 2014-09-23 | International Business Machines Corporation | Performing call stack sampling by setting affinity of target thread to a current process to prevent target thread migration |
KR101635816B1 (ko) | 2010-07-02 | 2016-07-04 | 삼성전자주식회사 | 결정적 프로그레스 인덱스를 이용한 스레드 프로그레스 트래킹 방법 및 장치 |
KR101587030B1 (ko) * | 2010-12-27 | 2016-02-03 | 에스케이텔레콤 주식회사 | M2m 어플리케이션의 api 함수 호출 정책 관리 시스템 및 그 구현 방법 |
CN102103676B (zh) * | 2011-02-28 | 2013-09-25 | 南京邮电大学 | 一种基于进程间继承关系的爪哇程序进程守护方法 |
-
2013
- 2013-01-08 KR KR20130002053A patent/KR101396781B1/ko active IP Right Grant
- 2013-12-16 WO PCT/KR2013/011654 patent/WO2014109487A1/ko active Application Filing
- 2013-12-16 US US14/759,912 patent/US9348667B2/en active Active
- 2013-12-16 JP JP2015551594A patent/JP5981050B2/ja not_active Expired - Fee Related
- 2013-12-16 CN CN201380069667.0A patent/CN104919415A/zh active Pending
- 2013-12-16 EP EP13871170.0A patent/EP2945054A4/en not_active Withdrawn
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06208459A (ja) * | 1991-09-24 | 1994-07-26 | Microsoft Corp | アプリケーション・プログラムの実行の制御方法とシステム |
JP2003067200A (ja) * | 2001-08-28 | 2003-03-07 | Sony Corp | 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びに記憶媒体 |
Also Published As
Publication number | Publication date |
---|---|
JP5981050B2 (ja) | 2016-08-31 |
US20160004576A1 (en) | 2016-01-07 |
WO2014109487A1 (ko) | 2014-07-17 |
EP2945054A1 (en) | 2015-11-18 |
US9348667B2 (en) | 2016-05-24 |
CN104919415A (zh) | 2015-09-16 |
KR101396781B1 (ko) | 2014-05-20 |
EP2945054A4 (en) | 2016-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10437631B2 (en) | Operating system hot-switching method and apparatus and mobile terminal | |
US10491704B2 (en) | Automatic provisioning of cloud services | |
US8719639B2 (en) | Virtual machine control program, virtual machine control system, and dump capturing method | |
US10067793B2 (en) | Data processing method and apparatus for executing task code using reservation instruction and release instruction | |
JP2014519675A (ja) | リソースを設定する方法及び装置 | |
CN107807815B (zh) | 分布式处理任务的方法和装置 | |
CN111381972A (zh) | 分布式任务调度方法、装置和系统 | |
CN101025698A (zh) | 强制性地终止输入/输出操作阻止的线程的设备和方法 | |
JP5981050B2 (ja) | アプリケーションプログラムの管理装置及び管理方法 | |
JP6026677B2 (ja) | ソフトウェア・モジュールの並行動作 | |
CN103544039A (zh) | 插件加载处理方法和装置 | |
US10520929B2 (en) | Techniques for implementing universal commands in a welding or cutting system | |
CN106293860A (zh) | 一种u盘安装应用的方法及系统 | |
CN115454576B (zh) | 一种虚拟机进程管理方法、系统及电子设备 | |
JP2009134379A (ja) | メモリ管理方法 | |
CA3033837A1 (en) | Techniques for event driven scheduling in a welding or cutting system | |
CN111190659B (zh) | 上位机与传动机构的通信方法、装置、电子设备及介质 | |
CN108197029A (zh) | 一种获取进程信息的方法和设备 | |
JP2017033095A (ja) | 情報処理システム、情報処理方法、プログラム、及び情報処置装置 | |
KR102447854B1 (ko) | 전자 장치 및 이의 부팅 방법 | |
US20130263137A1 (en) | Information processing apparatus, application activation method, and program | |
CN111414162B (zh) | 一种数据处理方法、装置及其设备 | |
JP2017174106A (ja) | 管理装置、サーバ、シンクライアントシステム、管理方法及びプログラム | |
JP2017033094A (ja) | 情報処置装置、情報処理システム、情報処理方法、及びプログラム | |
US20170104844A1 (en) | Information processing apparatus, information processing system, and non-transitory computer readable medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160330 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A821 Effective date: 20160330 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20160620 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20160628 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20160727 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5981050 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |