JP2016505987A - アプリケーションプログラムの管理装置及び管理方法 - Google Patents

アプリケーションプログラムの管理装置及び管理方法 Download PDF

Info

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
Application number
JP2015551594A
Other languages
English (en)
Other versions
JP5981050B2 (ja
Inventor
ヨプ キム、テ
ヨプ キム、テ
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.)
Han All Technology Inc
Original Assignee
Han All Technology Inc
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 Han All Technology Inc filed Critical Han All Technology Inc
Publication of JP2016505987A publication Critical patent/JP2016505987A/ja
Application granted granted Critical
Publication of JP5981050B2 publication Critical patent/JP5981050B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements 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

本発明の実施形態は、アプリケーションプログラム(AP)を管理する装置およびその方法に関し、情報処理機器のプログラムブロック内に、停止対象のAPに対応するAP実行処理スレッドが停止されるときに、各スレッドのモジュール情報と、各モジュールのスタック情報を読み出し、各スレッドモジュールおよび各モジュールスタックにおいて動的なデータ交換(DDE)メッセージ処理を担うモジュールおよびスタックを選別し、選別されたモジュールおよびスタックを含むスレッドの停止状態を解除する処理モジュールを含む。

Description

本発明は、アプリケーションプログラム(AP:Application Program;以下、「AP」という)を管理する管理装置及び管理方法に関する。より詳しくは、オペレーティングシステム側で、停止対象のAP(例えば、ユーザ不使用のAP)の各AP実行プロセス毎のスレッドが停止された状態でも、動的データ交換(DDE:Dynamic data Exchange)メッセージ処理に係るモジュール及びスタックを含むスレッドだけは正常に停止解除された環境に置かれることができるようにすることで、ユーザ側でDDEメッセージ処理の遅延による各種の不具合を容易に回避できるようにガイド可能なAP管理装置及び管理方法に関する。
近年、電気・電子・通信関連技術の急速な発展に伴って、様々な種類のAP(例えば、文書作成AP、図面作成AP、事務管理AP、通信AP、インターネット接続APなど)が幅広く開発・普及されてきている。これに伴い、当該APをより効率よく管理するための様々な種類の基盤技術が開発されてきている。
例えば、特許文献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の利用品質が大きく低下する。
大韓民国登録特許第10−1053681号
そこで、本発明の実施例は、オペレーティングシステム側で、停止対象のAP(例えば、ユーザ不使用AP)の各AP実行プロセス毎のスレッドが停止された状態でも、DDEメッセージ処理に係るモジュール及びスタックを含むスレッドだけは正常に停止解除できるようにする。これにより、ユーザ側でDDEメッセージ処理の遅延による各種の不具合を容易に回避できるようにする。
本発明の他の目的は、次の詳細な説明と添付の図面からより明確になるであろう。
本発明の一実施例は、情報処理機器内に設置された状態で、アプリケーションプログラム・インターフェース(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実行プロセス毎のスレッドが停止されると、前記停止処理部と通信して、前記各スレッド毎のモジュール情報及び前記各モジュール毎のスタック情報を読み取った後、各スレッド毎のモジュール及び各モジュール毎のスタックのうちの、動的データ交換(DDE:Dynamic data Exchange)メッセージ処理を担うモジュール及びスタックを選別し、選別されたモジュール及びスタックを含むスレッドの停止状態を解除する停止状態解除部;及び前記選別部、前記第1の情報取得部、前記第2の情報取得部、前記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管理方法を開示する。
本発明の一実施例では、オペレーティングシステムを含む情報処理機器のプログラムブロック内に、実行状態にあるAP(Application Program)のうちの停止対象のAPを選別できる電算モジュール、API(Application Program Interface)関数を呼び出して、実行状態にあるAPに対応付けられるAP実行プロセスの詳細情報を取得できる電算モジュール、停止対象のAPに対応付けられるAP実行プロセスの詳細情報を読み取った後、API関数を呼び出して、停止対象のAPに対応付けられるAP実行プロセスのハンドル情報(Handle information)、各AP実行プロセス毎のスレッド(Thread)のハンドル情報、各スレッド毎のモジュール情報(Module information)、及び各モジュール毎のスタック情報(Stack information)を取得できる電算モジュール、停止対象のAPに対応付けられるAP実行プロセスのハンドル情報、各AP実行プロセス毎のスレッドのハンドル情報、各スレッド毎のモジュール情報、及び各モジュール毎のスタック情報を読み取った後、API関数を呼び出して、停止対象のAPに対応付けられる各AP実行プロセス毎のスレッドを停止させることができる電算モジュール、停止対象のAPに対応付けられる各AP実行プロセス毎のスレッドが停止されると、各スレッド毎のモジュール情報及び各モジュール毎のスタック情報を読み取った後、各スレッド毎のモジュール及び各モジュール毎のスタックのうちの、動的データ交換(DDE:Dynamic data Exchange)メッセージ処理を担うモジュール及びスタックを選別し、選別されたモジュール及びスタックを含むスレッドの停止状態を解除できる電算モジュールなどを体系的に配置して提供する。この結果、本発明の具現環境下において、オペレーティングシステム側では停止対象のAP(例えば、ユーザ不使用AP)の各AP実行プロセス毎のスレッドが停止された状態でも、DDEメッセージ処理に係るモジュール及びスタックを含むスレッドだけは正常に停止解除された環境に置かれることができるようになる。結局、ユーザ側ではDDEメッセージ処理の遅延による各種の不具合を容易に回避できるようになる。
本発明に係るAP管理装置のプログラム配置形態を概念的に示した例示図である。 本発明に係るAP管理装置の詳細的な構成を概念的に示した例示図である。 本発明に係るAP管理装置の詳細的な機能実行手続を概念的に示した例示図である。
以下、添付の図面を参照して、本発明に係る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の管理が必要な多くの分野で、全般的に有用な効果を発揮する。
そして、以上では本発明の特定の実施例について説明してきたが、本発明が当業者によって種々に変形され実施される可能性があることは自明なことである。
このような変形された実施例は本発明の技術的思想や観点から別個に理解されてはならず、本発明の添付の特許請求の範囲中に属するものと理解されるべきである。
本発明の一実施例によれば、オペレーティングシステム側で、停止対象のAP(例えば、ユーザ不使用AP)の各AP実行プロセス毎のスレッドが停止された状態でも、DDEメッセージ処理に係るモジュール及びスタックを含むスレッドだけは正常に停止解除できる。これにより、ユーザ側でDDEメッセージ処理の遅延による各種の不具合を容易に回避できる。

Claims (4)

  1. 情報処理機器内に設置された状態で、アプリケーションプログラム・インターフェース(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管理装置。
  2. 更に、前記制御部によって制御され、前記オペレーティングシステムから前記停止対象のAPの停止状態を解除するための要請メッセージを受信した場合、前記停止対象のAPに対応付けられる各AP実行プロセス毎のスレッドの停止状態を解除するAP停止状態解除処理部を含むことを特徴とする請求項1に記載のAP管理装置。
  3. アプリケーションプログラム・インターフェース(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管理方法。
  4. 更に、前記オペレーティングシステムから前記停止対象のAPの停止状態を解除するための要請メッセージを受信した場合、前記停止対象のAPに対応付けられる各AP実行プロセス毎のスレッドの停止状態を解除するステップを含むことを特徴とする請求項3に記載のAP管理方法。
JP2015551594A 2013-01-08 2013-12-16 アプリケーションプログラムの管理装置及び管理方法 Expired - Fee Related JP5981050B2 (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 南京邮电大学 一种基于进程间继承关系的爪哇程序进程守护方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
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