JP2008197885A - Application abnormal end processing system method therefor and program - Google Patents
Application abnormal end processing system method therefor and program Download PDFInfo
- Publication number
- JP2008197885A JP2008197885A JP2007031884A JP2007031884A JP2008197885A JP 2008197885 A JP2008197885 A JP 2008197885A JP 2007031884 A JP2007031884 A JP 2007031884A JP 2007031884 A JP2007031884 A JP 2007031884A JP 2008197885 A JP2008197885 A JP 2008197885A
- Authority
- JP
- Japan
- Prior art keywords
- application
- cooperation destination
- processing
- destination module
- termination processing
- 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.)
- Withdrawn
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明はアプリケーションプログラムの異常終了検出およびその検出時の処理に関し、特にアプリケーションプログラムが他のアプリケーションプログラム等と連携動作するコンピュータ環境下でのアプリケーションプログラムの異常終了検出とその検出時の処理に関する。 The present invention relates to detection of abnormal termination of an application program and processing at the time of detection, and more particularly to detection of abnormal termination of an application program in a computer environment in which the application program operates in cooperation with other application programs and processing at the time of detection.
パーソナルコンピュータや携帯端末などのコンピュータにおける処理の形態として、アプリケーションプログラム(単にアプリケーションとも言う)が、他のアプリケーションプログラム等のモジュールと連携して、一連の処理を遂行する形態がある。例えば、アプリケーション側にはユーザインタフェースを実装し、そのユーザインタフェースを通じてユーザから要求される機能を実現する処理やサービスは連携先モジュールに実装し、アプリケーションから適宜に連携先モジュールに処理を要求することで、ユーザに対して所望の機能やサービスを提供するといった例がある。 As a processing form in a computer such as a personal computer or a portable terminal, there is a form in which an application program (also simply referred to as an application) performs a series of processing in cooperation with a module such as another application program. For example, by implementing a user interface on the application side, implementing processing and services that realize the functions requested by the user through the user interface in the cooperation destination module, and requesting processing from the application to the cooperation destination module as appropriate. There are examples of providing a desired function or service to a user.
このようにアプリケーションが連携先モジュールと連携動作するコンピュータ環境では、アプリケーションが異常終了すると、その影響は異常終了したアプリケーションのみに留まらず、連携先モジュールにも及ぶ。例えば、アプリケーションが連携先モジュールの機能をオープンしたまま異常終了すると、その機能が使用中状態のままになってしまって他のアプリケーションから利用できなくなってしまう。 In this way, in a computer environment in which an application cooperates with a cooperation destination module, when the application terminates abnormally, the effect is not limited to the abnormally terminated application, but extends to the cooperation destination module. For example, if an application terminates abnormally with the function of the link destination module open, the function remains in use and cannot be used by other applications.
そこで従来より、アプリケーションの異常終了を検出し、必要な処理を行うようにした技術が幾つか提案されている。 Thus, several techniques have been proposed in the past that detect abnormal termination of an application and perform necessary processing.
例えば特許文献1では、各アプリケーションに、起動時に監視制御プロセスとTCP/IPのコネクションを用いて接続して以後一定期間ごとに状態通知を送信する機能を実装し、監視制御プロセスにおいて、アプリケーションとのコネクションが切断された場合あるいはは状態通知を受信できなくなった場合に、そのアプリケーションに異常が発生したと判断し、正常動作中の他のアプリケーションに対して正常終了要求を送って正常終了させている。 For example, in Patent Document 1, a function for transmitting a status notification at regular intervals after connecting to each application using a monitor / control process and a TCP / IP connection at startup is implemented. When the connection is disconnected or the status notification cannot be received, it is determined that an error has occurred in the application, and a normal termination request is sent to another application that is operating normally to terminate the operation normally. .
また特許文献2では、複数のアプリケーションが連携動作を行う環境において、各アプリケーションに、システム稼動状態監視/制御部から所定期間毎に送信される稼動情報送信要求の受信に応答して自身の稼動情報を送信する機能を実装し、システム稼動状態監視/制御部において、稼動情報送信要求に対する応答がなかったアプリケーションは異常終了していると判断し、当該アプリケーションと連携動作中のアプリケーションに異常終了したことを知らせるメッセージを送信してその連携動作を終了させている。 Further, in Patent Document 2, in an environment in which a plurality of applications perform cooperative operations, each application receives its own operation information in response to reception of an operation information transmission request transmitted from the system operation state monitoring / control unit every predetermined period. The system operating state monitoring / control unit has determined that an application that has not responded to an operation information transmission request has terminated abnormally, and the application that is operating in cooperation with the application has terminated abnormally. This message is sent to terminate the cooperative operation.
上述した従来技術によれば、アプリケーションの異常終了を検出し、そのアプリケーションと連携中の他のアプリケーション等に対して必要な処理を行うことが可能である。しかしながら、そのためにはアプリケーション中に、特許文献1の場合には監視制御プロセスとTCP/IPのコネクションを用いて接続して以後一定期間ごとに状態通知を送信する機能を実装する必要があり、特許文献2の場合にはシステム稼動状態監視/制御部から所定期間毎に送信される稼動情報送信要求の受信に応答して自身の稼動情報を送信する機能を実装する必要がある。このため、これらの従来技術を既存のアプリケーションに適用する場合にはアプリケーションの大幅な改造が必要になる。また、アプリケーションには、連携先とメッセージの授受を行う機能とは別に、監視制御プロセスやシステム稼動状態監視/制御部に対して通信する機能が必要になるため、アプリケーションの実装工数の増加、アプリケーション稼動時の性能低下が問題となる。 According to the above-described conventional technology, it is possible to detect abnormal termination of an application and perform necessary processing on another application that is linked with the application. However, for this purpose, in the case of Patent Document 1, it is necessary to implement a function for transmitting a status notification at regular intervals after connecting with a monitoring control process and a TCP / IP connection. In the case of Document 2, it is necessary to implement a function of transmitting its own operation information in response to reception of an operation information transmission request transmitted every predetermined period from the system operation state monitoring / control unit. For this reason, when these conventional techniques are applied to an existing application, the application must be significantly modified. In addition to the function of sending and receiving messages to and from the cooperation destination, the application needs a function to communicate with the monitoring control process and the system operating state monitoring / control unit. Performance degradation during operation becomes a problem.
同様に、アプリケーションと連携する他のアプリケーション等の連携先も、監視制御プロセスやシステム稼動状態監視/制御部との通信機能が必要になるため、上述した従来技術を既存の連携先に適用する場合には連携先モジュールの大幅な改造が必要になる。また、連携先モジュールには、アプリケーションとメッセージの授受を行う機能とは別に、監視制御プロセスやシステム稼動状態監視/制御部に対して通信する機能が必要になるため、連携先モジュールの実装工数の増加、モジュール稼動時の性能低下が問題となる。 Similarly, the cooperation destination of other applications that cooperate with the application also requires a monitoring control process and a communication function with the system operation state monitoring / control unit, and therefore, when the above-described conventional technology is applied to an existing cooperation destination Requires a significant modification of the partner module. In addition to the function to exchange messages with applications, the cooperation destination module requires a function to communicate with the monitoring control process and the system operating state monitoring / control unit. Increased, performance degradation during module operation becomes a problem.
本発明の目的は、アプリケーションが他のアプリケーション等の連携先モジュールとメッセージの授受を行うことで連携して動作するコンピュータにおいて、アプリケーションおよび連携先モジュールの大幅な改造無しに、アプリケーションの異常終了の検出を可能にし、また、アプリケーションの異常終了がその連携先モジュールに悪影響を及ぼさないようにすることにある。 An object of the present invention is to detect abnormal termination of an application without significant modification of the application and the cooperation destination module in a computer that operates in cooperation with the application by exchanging messages with the cooperation destination module such as another application. It is also possible to prevent abnormal termination of an application from adversely affecting the cooperation destination module.
本発明の第1のアプリケーション異常終了処理システムは、アプリケーションプログラムが連携先モジュールとメッセージを授受して連携動作するコンピュータにおけるアプリケーション異常終了処理システムにおいて、前記アプリケーションプログラムと連携先モジュールとの間のメッセージの授受を中継する処理中継手段と、該処理中継手段で行われている前記アプリケーションプログラムと連携先モジュールとの間のメッセージの授受の中継処理が正常な手続きを経ることなく切断された場合に、前記アプリケーションプログラムが異常終了したものと判定する終了検出手段と、前記アプリケーションプログラムの異常終了が前記終了検出手段で判定された場合に、前記アプリケーションプログラムに代わって前記処理中継手段を通じて前記連携先モジュールに対する終了処理を行う終了処理代行手段とを備えたことを特徴とする。 A first application abnormal termination processing system according to the present invention is an application abnormal termination processing system in a computer in which an application program exchanges messages with a cooperation destination module to operate in cooperation with each other. When the relay process of message transmission and reception between the application program and the cooperation destination module performed by the process relay unit that relays the transfer is disconnected without passing through the normal procedure, An end detection means for determining that the application program has ended abnormally, and when the abnormal end of the application program is determined by the end detection means, the processing relay means instead of the application program Characterized in that a termination processing proxy means for performing termination processing on the cooperation destination module.
本発明の第2のアプリケーション異常終了処理システムは、第1のアプリケーション異常終了処理システムにおいて、前記処理中継手段は、前記アプリケーションプログラムによって呼び出される第1のサブモジュールと、該第1のサブモジュールとプロセス間通信によりメッセージの授受を行い且つ前記連携先モジュールを呼び出す第2のサブモジュールとを含んで構成され、前記終了検出手段は、前記第1のサブモジュールと前記第2のサブモジュールとの間のプロセス間通信が正常な手続きを経ることなく切断された場合に前記アプリケーションプログラムの異常終了と判定し、前記終了処理代行手段は、前記第2のサブモジュールを通じて前記連携先モジュールに対する終了処理を行うことを特徴とする。 According to a second application abnormal termination processing system of the present invention, in the first application abnormal termination processing system, the process relay means includes a first submodule called by the application program, the first submodule and a process. A second sub-module that exchanges messages by inter-communication and calls the cooperation destination module, and the end detection means is provided between the first sub-module and the second sub-module. When the inter-process communication is disconnected without going through a normal procedure, it is determined that the application program is abnormally terminated, and the termination processing proxy means performs termination processing on the cooperation destination module through the second submodule. It is characterized by.
本発明の第3のアプリケーション異常終了処理システムは、第1のアプリケーション異常終了処理システムにおいて、前記処理中継手段は、前記アプリケーションプログラムとその各連携先モジュールとの間に1つずつ配置されることを特徴とする。 According to a third application abnormal termination processing system of the present invention, in the first application abnormal termination processing system, the processing relay unit is arranged one by one between the application program and each cooperation destination module. Features.
本発明の第4のアプリケーション異常終了処理システムは、第1のアプリケーション異常終了処理システムにおいて、前記処理中継手段は、前記アプリケーションプログラムとその全ての連携先モジュールとの間のメッセージの授受を中継し、且つ、現在連携している連携先モジュールの情報を連携先記憶データベースに保存することを特徴とする。 According to a fourth application abnormal termination processing system of the present invention, in the first application abnormal termination processing system, the processing relay unit relays message exchange between the application program and all of the cooperation destination modules, In addition, the present invention is characterized in that information on a cooperation destination module currently linked is stored in a cooperation destination storage database.
本発明の第5のアプリケーション異常終了処理システムは、第1乃至第4の何れかのアプリケーション異常終了処理システムにおいて、前記終了処理代行手段は、異常終了したアプリケーションの連携先モジュールに対して、前記アプリケーションが終了したことを知らせるメッセージを送信することを特徴とする。 According to a fifth application abnormal termination processing system of the present invention, in any one of the first to fourth application abnormal termination processing systems, the termination processing proxy means applies the application to the cooperation destination module of the abnormally terminated application. It is characterized by transmitting a message notifying that the process has ended.
本発明の第6のアプリケーション異常終了処理システムは、第1乃至第4の何れかのアプリケーション異常終了処理システムにおいて、前記終了処理代行手段は、異常終了したアプリケーションの連携先モジュールに対して、前記アプリケーションの代わりに正常な終了手続きを代行して行うことを特徴とする。 The sixth application abnormal termination processing system according to the present invention is the application abnormal termination processing system according to any one of the first to fourth applications, wherein the termination processing proxy means applies the application to the cooperation destination module of the abnormally terminated application. Instead of the above, a normal termination procedure is performed on behalf of.
本発明の第7のアプリケーション異常終了処理システムは、第1乃至第4の何れかのアプリケーション異常終了処理システムにおいて、前記終了処理代行手段は、連携先モジュールに対応する異常終了処理用コードを予め記憶し、異常終了発生時には異常終了したアプリケーションの連携先モジュールに対して、前記記憶されている異常終了処理用コードを呼び出して実行することを特徴とする。 According to a seventh application abnormal termination processing system of the present invention, in any one of the first to fourth application abnormal termination processing systems, the termination processing proxy unit stores in advance an abnormal termination processing code corresponding to the cooperation destination module. When the abnormal termination occurs, the stored abnormal termination processing code is called and executed with respect to the cooperation destination module of the abnormally terminated application.
本発明の第1のアプリケーション異常終了処理方法は、アプリケーションプログラムが連携先モジュールとメッセージを授受して連携動作するコンピュータにおけるアプリケーション異常終了処理方法において、処理中継手段が、前記アプリケーションプログラムと連携先モジュールとの間のメッセージの授受を中継し、終了検出手段が、前記処理中継手段で行われている前記アプリケーションプログラムと連携先モジュールとの間のメッセージの授受の中継処理が正常な手続きを経ることなく切断された場合に、前記アプリケーションプログラムが異常終了したものと判定し、終了処理代行手段が、前記アプリケーションプログラムの異常終了が前記終了検出手段で判定された場合に、前記アプリケーションプログラムに代わって前記処理中継手段を通じて前記連携先モジュールに対する終了処理を行うことを特徴とする。 The first application abnormal termination processing method of the present invention is an application abnormal termination processing method in a computer in which an application program exchanges messages with a cooperation destination module and operates in cooperation with each other. Relay the message exchange between them, and the end detection means disconnects the message exchange relay process between the application program and the cooperation destination module performed by the process relay means without going through a normal procedure. If the application program is determined to have ended abnormally, and the termination processing agent means determines that the abnormal termination of the application program has been determined by the termination detection means, the processing is performed instead of the application program. And performing termination processing on the cooperation destination module via splicing means.
本発明の第2のアプリケーション異常終了処理方法は、第1のアプリケーション異常終了処理方法において、前記処理中継手段は、前記アプリケーションプログラムによって呼び出される第1のサブモジュールと、該第1のサブモジュールとプロセス間通信によりメッセージの授受を行い且つ前記連携先モジュールを呼び出す第2のサブモジュールとを含んで構成され、前記終了検出手段は、前記第1のサブモジュールと前記第2のサブモジュールとの間のプロセス間通信が正常な手続きを経ることなく切断された場合に前記アプリケーションプログラムの異常終了と判定し、前記終了処理代行手段は、前記第2のサブモジュールを通じて前記連携先モジュールに対する終了処理を行うことを特徴とする。 According to a second application abnormal termination processing method of the present invention, in the first application abnormal termination processing method, the processing relay means includes a first submodule called by the application program, the first submodule and a process. A second sub-module that exchanges messages by inter-communication and calls the cooperation destination module, and the end detection means is provided between the first sub-module and the second sub-module. When the inter-process communication is disconnected without going through a normal procedure, it is determined that the application program is abnormally terminated, and the termination processing proxy means performs termination processing on the cooperation destination module through the second submodule. It is characterized by.
本発明の第3のアプリケーション異常終了処理方法は、第1のアプリケーション異常終了処理方法において、前記処理中継手段は、前記アプリケーションプログラムとその各連携先モジュールとの間に1つずつ配置されることを特徴とする。 According to a third application abnormal termination processing method of the present invention, in the first application abnormal termination processing method, the processing relay means is arranged one by one between the application program and each cooperation destination module. Features.
本発明の第4のアプリケーション異常終了処理方法は、第1のアプリケーション異常終了処理方法において、前記処理中継手段は、前記アプリケーションプログラムとその全ての連携先モジュールとの間のメッセージの授受を中継し、且つ、現在連携している連携先モジュールの情報を連携先記憶データベースに保存することを特徴とする。 According to a fourth application abnormal termination processing method of the present invention, in the first application abnormal termination processing method, the processing relay unit relays a message exchange between the application program and all of the cooperation destination modules, In addition, the present invention is characterized in that information on a cooperation destination module currently linked is stored in a cooperation destination storage database.
本発明の第5のアプリケーション異常終了処理方法は、第1乃至第4の何れかのアプリケーション異常終了処理方法において、前記終了処理代行手段は、異常終了したアプリケーションの連携先モジュールに対して、前記アプリケーションが終了したことを知らせるメッセージを送信することを特徴とする。 According to a fifth application abnormal termination processing method of the present invention, in any one of the first to fourth application abnormal termination processing methods, the termination processing agent means applies the application to the cooperation destination module of the abnormally terminated application. It is characterized by transmitting a message notifying that the process has ended.
本発明の第6のアプリケーション異常終了処理方法は、第1乃至第4の何れかのアプリケーション異常終了処理方法において、前記終了処理代行手段は、異常終了したアプリケーションの連携先モジュールに対して、前記アプリケーションの代わりに正常な終了手続きを代行して行うことを特徴とする。 According to a sixth application abnormal termination processing method of the present invention, in any one of the first to fourth application abnormal termination processing methods, the termination processing agent means applies the application to the cooperation destination module of the abnormally terminated application. Instead of the above, a normal termination procedure is performed on behalf of.
本発明の第7のアプリケーション異常終了処理方法は、第1乃至第4の何れかのアプリケーション異常終了処理方法において、前記終了処理代行手段は、連携先モジュールに対応する異常終了処理用コードを予め記憶し、異常終了発生時には異常終了したアプリケーションの連携先モジュールに対して、前記記憶されている異常終了処理用コードを呼び出して実行することを特徴とする。 According to a seventh application abnormal termination processing method of the present invention, in any one of the first to fourth application abnormal termination processing methods, the termination processing proxy means stores in advance an abnormal termination processing code corresponding to the cooperation destination module. When the abnormal termination occurs, the stored abnormal termination processing code is called and executed to the cooperation destination module of the application that has terminated abnormally.
『作用』
本発明にあっては、アプリケーションとその連携先モジュールとが連携して処理を進めるために必要な両者間でのメッセージの授受を処理中継手段が中継するようにし、この処理中継手段で行われているメッセージの授受の中継処理を終了検出手段が監視し、この中継処理が正常な手続きを経ることなく切断(解除)された場合に、アプリケーションが異常終了したものとみなし、終了処理代行手段が連携先モジュールに対する終了処理をアプリケーションプログラムに代わって処理中継手段を通じて行うことで、アプリケーションの異常終了がその連携先モジュールに悪影響を及ばさないようにする。
"Action"
In the present invention, the process relay means relays the message exchange between the two necessary for the application and the cooperation destination module to proceed in cooperation with each other. The termination detection means monitors the relay process for sending and receiving messages, and if this relay process is disconnected (released) without going through normal procedures, the application is considered to have terminated abnormally, and the termination process proxy means The termination process for the destination module is performed through the processing relay means instead of the application program, so that the abnormal termination of the application does not adversely affect the cooperation destination module.
本発明によれば、アプリケーションが他のアプリケーション等の連携先モジュールとメッセージの授受を行うことで連携して動作するコンピュータにおいて、アプリケーションの大幅な改造無しに、アプリケーションの異常終了検出が可能になる。その理由は、アプリケーションとその連携先モジュールとが連携して処理を進めるために必要な両者間でのメッセージの授受を処理中継手段が中継するようにし、この処理中継手段で行われているメッセージの授受の中継処理を終了検出手段が監視し、この中継処理が正常な手続きを経ることなく切断された場合に、アプリケーションが異常終了したものとみなすため、従来技術のような監視制御プロセスやシステム稼動状態監視/制御部との通信機能をアプリケーションに実装する必要がないからである。 According to the present invention, an abnormal end of an application can be detected without significant modification of the application in a computer that operates in cooperation with the application by exchanging messages with a cooperation destination module such as another application. The reason is that the processing relay means relays the message exchange between the application and the cooperation destination module that is necessary for the processing to proceed in cooperation. The end detection means monitors the relay process of exchange, and when this relay process is disconnected without passing through normal procedures, it is considered that the application has ended abnormally. This is because it is not necessary to implement a communication function with the state monitoring / control unit in the application.
また本発明によれば、アプリケーションが他のアプリケーション等の連携先モジュールとメッセージの授受を行うことで連携して動作するコンピュータにおいて、連携先モジュールの大幅な改造無しに、アプリケーションの異常終了が連携先モジュールに与える悪影響を防止することができる。その理由は、アプリケーションとその連携先モジュールとが連携して処理を進めるために必要な両者間でのメッセージの授受を処理中継手段が中継するようにし、アプリケーションが異常終了した場合、終了処理代行手段が、連携先モジュールに対する終了処理を、アプリケーションプログラムに代わって処理中継手段を通じて行うため、従来技術のような監視制御プロセスやシステム稼動状態監視/制御部とのインタフェースを連携先モジュールに実装する必要がないからである。 Further, according to the present invention, in a computer that operates in cooperation with an application by exchanging messages with a cooperation destination module such as another application, the abnormal termination of the application is detected without significant modification of the cooperation destination module. The adverse effect on the module can be prevented. The reason is that the processing relay means relays the message exchange between the application and the cooperation destination module that is necessary for the processing to proceed, and if the application ends abnormally, the termination processing proxy means However, since the termination process for the cooperation destination module is performed through the process relay means instead of the application program, it is necessary to implement the monitoring control process and the interface with the system operation state monitoring / control unit as in the prior art in the cooperation destination module. Because there is no.
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。 Next, the best mode for carrying out the present invention will be described in detail with reference to the drawings.
『第1の実施の形態』
<ハードウェア構成>
図1を参照すると、本発明を適用したコンピュータ100のハードウェア構成の一例は、表示装置101、CPU102、RAM103、ROM104、HDD105、外部メモリ106、出力装置107、通信装置108、入力装置109およびそれらを相互に接続するバス300から構成されている。ROM104は、読み取り専用のメモリであり、CPU102で実行されるオペレーティングシステム(OS)、アプリケーション管理システムなどのミドルウェア、ライブラリ関数、サービスプロセスおよび固定データなどを記憶する。RAM103は、読み書き可能なメモリであり、CPU102で実行されるアプリケーションプログラムおよび演算データなどを一時的に記憶する。HDD105および外部メモリ106は、ファイルシステム、アプリケーションプログラムおよび各種データを記憶する。表示装置101は、LCD等で構成され、アプリケーションのウィンドウ画面などを表示する。出力装置107は、スピーカ等で構成され、音声メッセージなどを出力する。入力装置109は、キー操作部などで構成され、ユーザからのデータや指示を入力する。通信装置108は、有線または無線によって音声通信やデータ通信を行う。このようなハードウェア構成を有するコンピュータ100の例としては、パーソナルコンピュータなどの一般的なコンピュータ、携帯電話機、ゲーム端末などがある。
“First Embodiment”
<Hardware configuration>
Referring to FIG. 1, examples of the hardware configuration of a computer 100 to which the present invention is applied include a
<ソフトウェア構成>
図2を参照すると、本発明の第1の実施の形態は、コンピュータ100上で、OS110、アプリケーション管理システム120、共通サービス130〜13n、アプリケーション140、連携対象アプリケーション150〜15n、連携用ライブラリ160が動作する。ここで、アプリケーション140が異常終了の検出対象となるアプリケーションであり、アプリケーション管理システム120、共通サービス130〜13nおよび連携対象アプリケーション150〜15nがアプリケーション140の連携先となるモジュールである。
<Software configuration>
Referring to FIG. 2, in the first embodiment of the present invention, on a computer 100, an
アプリケーション管理システム120は、コンピュータ100上で複数のアプリケーションが動作している場合に、各アプリケーションの起動、終了、中断といった実行状態の制御および管理や、各アプリケーションのウィンドウの表示切り替えを行うソフトウェアである。特に画面サイズが小さく、マウスのようなポインティングデバイスがない携帯端末では、同時に1つのアプリケーションのウィンドウのみしか表示できず、またユーザが直接アプリケーションのウィンドウを選択して切り替える手段がないため、このアプリケーション管理システム120が、現在ユーザが操作中の状態(アクティブ状態)にあるアプリケーションのウィンドウを最前面に表示する処理や、或るアプリケーションが終了した際に、直前にアクティブ状態であったアプリケーションのウィンドウを最前面に表示する処理や、或るアプリケーションAが他のアプリケーションBを呼び出した際に、最前面に表示されているウィンドウを、アプリケーションAのものからアプリケーションBに切り替える処理などを自動的に行っている。
The
共通サービス130〜13nは、コンピュータ100が備えているハードウェアおよびソフトウェアの機能を提供するサービスモジュールである。提供する機能の例としては、外部メモリ106や通信装置108等のハードウェアへアクセスする機能、日本語変換機能等のソフトウェアモジュールへアクセスする機能、動画再生機能等がある。
The
連携対象アプリケーション150〜15nは、アプリケーション140以外のコンピュータ100上で動作しているアプリケーションである。
The
連携用ライブラリ160は、ライブラリ関数としての基本的な機能に加えて、処理中継手段170〜17m、終了検出手段180〜18mおよび終了処理代行手段190〜19mを含んで構成される。1つの処理中継手段に対して、1つの終了検出手段と1つの終了処理代行手段とが組になる。
The
処理中継手段170〜17mは、アプリケーション140が連携用ライブラリ160を用いて、アプリケーション管理システム120もしくは、共通サービス130〜13nもしくは、連携対象アプリケーション150〜15nと連携処理を行っているときに、連携用ライブラリ160内部でアプリケーション140とその連携先とのやり取りをプロセス間通信等の手段により中継するように動作するモジュールである。アプリケーション140が現在連携用ライブラリ160を用いて連携中の連携先モジュールの数だけ、処理中継手段170〜17mは存在する。
The processing relay means 170 to 17m are used for cooperation when the
終了検出手段180〜18mは、対応する処理中継手段170〜17m内での中継処理を監視し、中継処理が正常な手続きを経ることなく切断されることにより、アプリケーション140の異常終了を検出するように動作するモジュールである。
The end detection means 180 to 18m monitor the relay processing in the corresponding processing relay means 170 to 17m, and detect the abnormal end of the
終了処理代行手段190〜19mは、対応する終了検出手段180〜18mがアプリケーション140の異常終了を検出すると、アプリケーション140と連携中の連携先モジュールに対し、終了処理の代行を行うように動作するモジュールである。
When the corresponding end detection means 180-18m detects the abnormal end of the
次に、本実施の形態の動作について詳細に説明する。 Next, the operation of the present embodiment will be described in detail.
アプリケーション140は、連携用ライブラリ160を利用して、アプリケーション管理システム120や、共通サービス130〜130n、連携対象アプリケーション150〜15nと連携処理を行う。
The
アプリケーション140とアプリケーション管理システム120との連携の例としては、アプリケーション140の起動時にアプリケーション140に属するウィンドウを他のアプリケーションのウィンドウよりも表示装置101の表示画面の前面に表示させる操作や、他の優先度が高いアプリケーションが起動されたり、アプリケーション140が連携対象アプリケーション150〜15nのいずれかのアプリケーションを呼び出した際に、そのアプリケーションのウィンドウを最前面に表示するとともに、アプリケーション140のウィンドウを背後に移動させたり、非表示状態にする操作がある。
Examples of cooperation between the
アプリケーション140と共通サービス130〜13nとの連携の例としては、コンピュータ100が備えているハードウェア及びソフトウェア機能(日本語変換処理サービスや、通信機能、動画再生機能等)を利用するために、アプリケーション140が共通サービス130〜13nを呼び出すといったものがある。
As an example of cooperation between the
アプリケーション140と連携対象アプリケーション150〜15nとの連携の例としては、例えばブラウザソフト上でメールアドレスをユーザが選択することにより、選択されたメールアドレスを引数としてメールソフトを起動するような例がある。
As an example of cooperation between the
このようにアプリケーション140は、連携用ライブラリ160を利用して、上に挙げた任意の連携先モジュールと随時連係動作を行うことができる。連携用ライブラリ160は、それぞれの連携先モジュールからは独立したライブラリとして実装されるものであり、通常のコンピュータにおけるOSやミドルウェアが備えるAPI(Application Program Interface)に相当するものである。また連携用ライブラリ160が基本的に備える機能としては、例えば処理のOPEN、CLOSE動作や、データのREAD、WRITE動作といった汎用的なものから、モジュール固有の機能といったものがある。
As described above, the
処理中継手段170〜17mは、連携用ライブラリ160内部で動作し、アプリケーション140とその連携先モジュール一組の連携につき一個の処理中継手段が動作する。処理中継手段170〜17mは、例えばTCP/IP等のプロセス間通信手段を用いて、アプリケーション140と連携先モジュールとの間の連携用メッセージ(処理のタイプ、データ内容等)のやり取りを送受信する。
The processing relay means 170 to 17m operate within the
ここで、アプリケーション140及び連携先モジュールが利用するのはあくまで連携用ライブラリ160であり、その内部で動作している処理中継手段170〜17mには直接アクセスしないので、本発明のシステムを適用する場合に、従来のアプリケーションや共通サービス、アプリケーション管理システムを修正する必要はない。
Here, the
以降、アプリケーション140が異常終了した場合の動作について説明する。
Hereinafter, an operation when the
まず、アプリケーション140が或る連携先モジュールと連携動作中に、何らかの原因により異常終了したとする(図3のステップA1)。ここでは、アプリケーション140は、アプリケーション管理システム120、共通サービス130、連携対象アプリケーション150の3つの連携先モジュールと連携動作中であったとする。この場合、それぞれとの連携に対して、連携用ライブラリ160内で処理中継手段170〜173が動作している。
First, it is assumed that the
アプリケーション140の異常終了により、処理中継手段170〜173内のプロセス間通信の接続がそれぞれ切断される(ステップA2)。
Due to the abnormal termination of the
これにより、終了検出手段180〜183はアプリケーション140の異常終了を検知する(ステップA3)。 As a result, the end detection means 180 to 183 detect the abnormal end of the application 140 (step A3).
終了検出手段180〜183がアプリケーション140の異常終了を検知すると、終了処理代行手段190〜193は、アプリケーション140に代わって、それぞれの連携先モジュールに対して終了処理を行う(ステップA4)。
When the end detection means 180 to 183 detect the abnormal end of the
この終了処理の具体的内容としては、いくつか考えられる。まず一つは、連携先モジュールに対して予め決められた終了メッセージを送る終了通知手段を終了処理代行手段190〜19m内に備え、そのメッセージを受け取った連携先モジュール側で適切な終了処理をそれぞれ行うという方法である。 There are several specific contents of the termination process. First, an end notification means for sending a predetermined end message to the cooperation destination module is provided in the end processing proxy means 190 to 19m, and appropriate end processing is performed on the cooperation destination module side that has received the message. It is a method of doing.
二つ目の方法としては、終了処理代行手段190〜19m内で、それぞれの連携先モジュールに応じた終了処理を予め実装した終了手続き代行手段を備え、異常終了したアプリケーション140の代わりにこの終了手続き代行手段を用いて終了処理を行う方法である。
As a second method, in the termination processing proxy means 190 to 19m, a termination procedure proxy means in which termination processing corresponding to each cooperation destination module is mounted in advance is provided, and this termination procedure is performed instead of the abnormally terminated
その他の方法としては、各連携先が、自身の終了処理を記述した関数を予め準備しておき、終了処理代行手段190〜19m内に備える終了処理コード実行手段に対して登録するという手法も考えられる。この場合、アプリケーションの異常終了が検知されると、終了処理代行手段190〜19mは、終了代行処理を行う対象の連携先モジュールに応じて終了処理コード実行手段に登録されていた終了処理を呼び出すことで、終了処理の代行を実行する。
As another method, a method may be considered in which each cooperation destination prepares a function describing its own end process in advance and registers it with the end process code execution means provided in the end process proxy means 190 to 19m. It is done. In this case, when the abnormal termination of the application is detected, the termination
次に、本実施の形態の効果について説明する。 Next, the effect of this embodiment will be described.
本実施の形態によれば、処理中継手段170〜17mと終了検出手段180〜18mが連携してアプリケーション140の異常終了を検出し、終了処理代行手段190〜19mが異常終了したアプリケーション140の代わりに正常な終了処理を行うというように構成されているため、異常終了したアプリケーション140と連係動作中のアプリケーション管理システム120や共通サービス130〜13n、連携対象アプリケーション150〜15nに対して悪影響を与えることを防ぐことができる。具体的には、画面表示がフリーズしたり、該当サービスが使用中状態のままになる等の事態を防止することができる。
According to the present embodiment, the process relay means 170 to 17m and the end detection means 180 to 18m cooperate to detect the abnormal end of the
また本実施の形態によれば、さらに、連携用ライブラリ160内部に処理中継手段170〜17m、終了検出手段180〜18m、終了処理代行手段190〜19mを配置するというように構成されているため、本発明をコンピュータに適用する場合に既存のアプリケーション、共通サービス、アプリケーション管理システムに対して修正を加える必要がない。
Further, according to the present embodiment, the
『第2の実施の形態』
次に本発明の第2の実施の形態について図面を参照して詳細に説明する。第2の実施の形態にかかるコンピュータのハードウェア構成は、図1に示した第1の実施の形態にかかるコンピュータと同じである。また、第2の実施の形態にかかるコンピュータのソフトウェア構成は、連携用ライブラリ160および連携先記憶データベース200を除き、図2に示した第2の実施の形態のソフトウェア構成と同じである。
“Second Embodiment”
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. The hardware configuration of the computer according to the second embodiment is the same as that of the computer according to the first embodiment shown in FIG. The software configuration of the computer according to the second embodiment is the same as the software configuration of the second embodiment shown in FIG. 2 except for the
図4を参照すると、連携用ライブラリ160は、1組の処理中継手段170、終了検出手段180および終了処理代行手段190とを含んで構成される。
Referring to FIG. 4, the
連携先記憶データベース200は、アプリケーション140が連携用ライブラリ160を用いて、アプリケーション管理システム120もしくは、共通サービス130〜13nもしくは、連携対象アプリケーション150〜15nと連携処理を行っているときに、実際に連携状態にある相手の情報を一時的に記憶する。連携先記憶データベース200に記憶された連携先の情報は、その連携が終了すると、削除される。
The cooperation
処理中継手段170は、アプリケーション140が連携用ライブラリ160を用いて、アプリケーション管理システム120もしくは、共通サービス130〜13nもしくは、連携対象アプリケーション150〜15nと連携処理を行っているときに、連携用ライブラリ160内部でアプリケーション140と全連携先とのやり取りをプロセス間通信等の手段により中継し、連携先の情報を連携先記憶データベース200に記憶するように動作する。
The
終了検出手段180は、処理中継手段170内での中継処理を監視し、中継処理が正常な手続きを経ることなく切断されることにより、アプリケーション140の異常終了を検出するように動作する。
The
終了処理代行手段190は、終了処理検出手段180がアプリケーション140の異常終了を検出すると、連携先記憶データベース200に記憶されたアプリケーション140の全連携先の情報を取得し、それら全連携先に対し、終了処理の代行を行うように動作する。
When the termination
このように第2の実施の形態は、第1の実施の形態において各連携毎にそれぞれ複数個準備していた処理中継手段170〜17m、終了検出手段180〜18mおよび終了処理代行手段190〜19mを、全ての連携先で共通に使用する処理中継手段170、終了検出手段180、終了処理代行手段190とし、連携相手の情報を連携先記憶データベース200に記憶しておく構成にしたものである。
As described above, in the second embodiment, a plurality of processing relay means 170 to 17m, end detection means 180 to 18m, and end processing proxy means 190 to 19m prepared for each cooperation in the first embodiment. Are used as a
図5を参照すると、本発明の第1の実施の形態にかかる実施例1では、処理中継手段170は、アプリケーション140から関数呼び出しによって呼び出されるサブモジュールAと、このサブモジュールAとプロセス間通信によりメッセージの授受を行い、アプリケーション140に代わって連携対象アプリケーション150に対し関数呼び出しを行うサブモジュールBとを含んで構成される。また終了検出手段180は、サブモジュールAとサブモジュールBとの間のプロセス間通信が正常な手続きを経ることなく切断された場合、アプリケーション140の異常終了と判定する機能を持つ。さらに、終了処理代行手段190は、サブモジュールBを通じて連携対象アプリケーション150に対する終了処理を行う機能を持つ。
Referring to FIG. 5, in Example 1 according to the first exemplary embodiment of the present invention, the
アプリケーション140が、連携対象アプリケーション150の機能を利用するとき、連携用ライブラリ160に格納された連携対象アプリケーション150の機能を利用する関数(例:lib_apA_func1())を呼び出す。
When the
lib_apA_func1()内部(つまり連携用ライブラリ内部)では、処理中継手段170がプロセス間通信を使って、サブモジュールAからサブモジュールBに呼び出しの内容を送信する。次に、サブモジュールBがこれを受信したときに、連携対象アプリケーション150の機能を呼び出す関数(例:apA_func1())を実際に呼び出す。ここで、サブモジュールAおよびサブモジュールBはいずれも処理中継手段170を構成するサブモジュールであるが、サブモジュールAはアプリケーション140から関数として呼び出されているためにアプリケーション140と同じプロセスになり、サブモジュールBはアプリケーション140とは別のプロセスになる。
Inside lib_apA_func1 () (that is, inside the linkage library), the
関数呼び出しを受けた連携対象アプリケーション150は、必要な処理を実行し、処理の返り値を返す(関数リターン)。この処理の返り値は、関数呼び出しのときの順序とは逆に、サブモジュールBからプロセス間通信によってサブモジュールAに送信され、サブモジュールAからアプリケーション140に関数リターンで渡される。
Upon receiving the function call, the
以上のような呼び出し処理中に、アプリケーション140が異常終了すると、アプリケーション140と同じプロセスであるサブモジュールAも終了し、サブモジュールAとサブモジュールB間のプロセス間通信が切断される。これを終了検出手段180が検出し、終了処理代行手段190で終了処理を行う。連携対象アプリケーション150の呼び出し元はサブモジュールBであり、アプリケーション140が異常終了しても、それとは別のプロセスであるサブモジュールBは終了しないので、終了処理代行手段190は、サブモジュールBを通じて連携対象アプリケーション150に対して終了処理を行う。
If the
本実施例1では、呼び出すサービスや連携対象アプリケーションそれぞれ毎に、処理中継手段170、終了検出手段180および終了処理代行手段190を備えるようにした。第2の実施の形態にかかる実施例2では、1つの処理中継手段を使ってアプリケーション140と全ての連携先とのやりとりを行う。そのため実施例2では、現在処理中の連携先を覚えておくための連携先記憶データベース200が存在し、アプリケーション140が異常終了した場合は、この連携先記憶データベース200に記憶されている連携先全てに対して、終了処理代行手段による終了処理が実行される。
In the first embodiment, the
本発明によれば、アプリケーションの異常終了が、コンピュータ端末の安定動作に対して悪影響を与えるのを防ぐといった用途に適用できる。 According to the present invention, the present invention can be applied to an application in which abnormal termination of an application is prevented from adversely affecting the stable operation of a computer terminal.
100…コンピュータ
101…表示装置
102…CPU
103…RAM
104…ROM
105…HDD
106…外部メモリ
107…出力装置
108…通信装置
109…入力装置
110…OS
120…アプリケーション管理システム
130〜13n…共通サービス
140…アプリケーション
150〜15n…連携対象アプリケーション
160…連携用ライブラリ
170〜17m…処理中継手段
180〜18m…終了検出手段
190〜19m…終了処理代行手段
200…連携先記憶データベース
300…バス
DESCRIPTION OF SYMBOLS 100 ...
103 ... RAM
104 ... ROM
105 ... HDD
106 ...
DESCRIPTION OF
Claims (21)
前記アプリケーションプログラムと連携先モジュールとの間のメッセージの授受を中継する処理中継手段と、
該処理中継手段で行われている前記アプリケーションプログラムと連携先モジュールとの間のメッセージの授受の中継処理が正常な手続きを経ることなく切断された場合に、前記アプリケーションプログラムが異常終了したものと判定する終了検出手段と、
前記アプリケーションプログラムの異常終了が前記終了検出手段で判定された場合に、前記アプリケーションプログラムに代わって前記処理中継手段を通じて前記連携先モジュールに対する終了処理を行う終了処理代行手段とを備えたことを特徴とするアプリケーション異常終了処理システム。 In an application abnormal termination processing system in a computer in which an application program exchanges messages with a cooperation destination module and operates in cooperation,
Processing relay means for relaying message exchange between the application program and the cooperation destination module;
It is determined that the application program has ended abnormally when relay processing for message exchange between the application program and the cooperation destination module performed by the processing relay unit is disconnected without passing through normal procedures. End detection means for
A termination processing proxy unit that performs termination processing on the cooperation destination module through the processing relay unit instead of the application program when the termination detection unit determines that the application program is abnormally terminated; Application abnormal termination processing system.
処理中継手段が、前記アプリケーションプログラムと連携先モジュールとの間のメッセージの授受を中継し、
終了検出手段が、前記処理中継手段で行われている前記アプリケーションプログラムと連携先モジュールとの間のメッセージの授受の中継処理が正常な手続きを経ることなく切断された場合に、前記アプリケーションプログラムが異常終了したものと判定し、
終了処理代行手段が、前記アプリケーションプログラムの異常終了が前記終了検出手段で判定された場合に、前記アプリケーションプログラムに代わって前記処理中継手段を通じて前記連携先モジュールに対する終了処理を行うことを特徴とするアプリケーション異常終了処理方法。 In the application abnormal termination processing method in the computer in which the application program exchanges messages with the cooperation destination module and cooperates,
The processing relay means relays message exchange between the application program and the cooperation destination module,
If the end detection means disconnects the message exchange relay process between the application program and the cooperation destination module performed by the process relay means without going through a normal procedure, the application program is abnormal. Judge that it was finished,
An end processing agent means performs an end process for the cooperation destination module through the processing relay means instead of the application program when the abnormal end of the application program is determined by the end detection means. Abnormal termination processing method.
前記アプリケーションプログラムと連携先モジュールとの間のメッセージの授受を中継する処理中継手段、
該処理中継手段で行われている前記アプリケーションプログラムと連携先モジュールとの間のメッセージの授受の中継処理が正常な手続きを経ることなく切断された場合に、前記アプリケーションプログラムが異常終了したものと判定する終了検出手段、
前記アプリケーションプログラムの異常終了が前記終了検出手段で判定された場合に、前記アプリケーションプログラムに代わって前記処理中継手段を通じて前記連携先モジュールに対する終了処理を行う終了処理代行手段、
として機能させるためのプログラム。 A computer in which application programs exchange messages with the cooperation destination module
Processing relay means for relaying message exchange between the application program and the cooperation destination module;
It is determined that the application program has ended abnormally when relay processing for message exchange between the application program and the cooperation destination module performed by the processing relay unit is disconnected without passing through normal procedures. End detection means to
A termination processing proxy unit that performs termination processing on the cooperation destination module through the processing relay unit instead of the application program when the termination detection unit determines that the application program has ended abnormally;
Program to function as.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007031884A JP2008197885A (en) | 2007-02-13 | 2007-02-13 | Application abnormal end processing system method therefor and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007031884A JP2008197885A (en) | 2007-02-13 | 2007-02-13 | Application abnormal end processing system method therefor and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008197885A true JP2008197885A (en) | 2008-08-28 |
Family
ID=39756774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007031884A Withdrawn JP2008197885A (en) | 2007-02-13 | 2007-02-13 | Application abnormal end processing system method therefor and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008197885A (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011197827A (en) * | 2010-03-17 | 2011-10-06 | Ricoh Co Ltd | Information processor, information processing method, and information processing program |
JP2014235576A (en) * | 2013-06-03 | 2014-12-15 | 株式会社リコー | Information processing system, information processing method, and program |
US9600326B2 (en) | 2012-10-19 | 2017-03-21 | Denso Corporation | Information processing terminal |
CN110377341A (en) * | 2019-06-10 | 2019-10-25 | 北京字节跳动网络技术有限公司 | A kind of method, apparatus, medium and electronic equipment of the monitoring without response abnormality |
-
2007
- 2007-02-13 JP JP2007031884A patent/JP2008197885A/en not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011197827A (en) * | 2010-03-17 | 2011-10-06 | Ricoh Co Ltd | Information processor, information processing method, and information processing program |
US9600326B2 (en) | 2012-10-19 | 2017-03-21 | Denso Corporation | Information processing terminal |
DE112013005076B4 (en) | 2012-10-19 | 2021-08-26 | Denso Corporation | Information processing terminal |
JP2014235576A (en) * | 2013-06-03 | 2014-12-15 | 株式会社リコー | Information processing system, information processing method, and program |
CN110377341A (en) * | 2019-06-10 | 2019-10-25 | 北京字节跳动网络技术有限公司 | A kind of method, apparatus, medium and electronic equipment of the monitoring without response abnormality |
CN110377341B (en) * | 2019-06-10 | 2022-05-03 | 北京字节跳动网络技术有限公司 | Method, device, medium and electronic equipment for monitoring no-response exception |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2022200023B9 (en) | Method and terminal for supporting voice service and data service simultaneously | |
CN110750393B (en) | Method, device, medium and equipment for avoiding network service double-machine hot standby brain cracking | |
US20130117432A1 (en) | Method and device for desktop sharing processing | |
US20150067146A1 (en) | Custom correlation of a distributed business transaction | |
EP2784661B1 (en) | Computer program product, information processing method, and information processing apparatus | |
CN112019914B (en) | Screen projection method and device, electronic equipment and computer readable medium | |
US11917103B2 (en) | Cloud integration to desktop-based emergency service applications | |
JP2014179050A (en) | Server, information processing system, and program | |
US20100291913A1 (en) | Remote control method between mobile phones | |
CN109889468B (en) | Network data transmission method, system, device, equipment and storage medium | |
JP2008197885A (en) | Application abnormal end processing system method therefor and program | |
JP5615082B2 (en) | Information processing terminal and screen switching control method | |
CN107438097B (en) | Network request processing method and device | |
US8635276B2 (en) | System and network terminal for IP communications | |
CN113329042B (en) | Message processing method and system, internet of vehicles system, server and electronic equipment | |
CN108228359B (en) | Method and system for integrating web program and R program to process data | |
JP2016110607A (en) | Display control method | |
CN112217718A (en) | Service processing method, device, equipment and storage medium | |
CN110764932A (en) | Data processing method, system, medium and computing device | |
JP5577140B2 (en) | Information processing system and information processing method | |
CN113179211B (en) | Method and device for routing and for setting up a communication connection | |
JP2010176521A (en) | Method and system for linking application, linking server, linking origin service server and linking destination service server | |
CN114385104A (en) | Method, device, medium and equipment for transmitting display data between terminals | |
CN116633827A (en) | Link state detection method, device, equipment and computer readable medium | |
CN115437593A (en) | Information processing method, information processing apparatus, storage medium, and electronic device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20091007 |
|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20091007 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20100511 |