JP5871499B2 - COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM - Google Patents

COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM Download PDF

Info

Publication number
JP5871499B2
JP5871499B2 JP2011150340A JP2011150340A JP5871499B2 JP 5871499 B2 JP5871499 B2 JP 5871499B2 JP 2011150340 A JP2011150340 A JP 2011150340A JP 2011150340 A JP2011150340 A JP 2011150340A JP 5871499 B2 JP5871499 B2 JP 5871499B2
Authority
JP
Japan
Prior art keywords
communication
error
communication control
processing
importance
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.)
Active
Application number
JP2011150340A
Other languages
Japanese (ja)
Other versions
JP2013016132A (en
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2011150340A priority Critical patent/JP5871499B2/en
Publication of JP2013016132A publication Critical patent/JP2013016132A/en
Application granted granted Critical
Publication of JP5871499B2 publication Critical patent/JP5871499B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、通信制御装置、通信制御システム、通信制御方法およびプログラムに関する。   The present invention relates to a communication control device, a communication control system, a communication control method, and a program.

コンピュータ・ノード上の複数のソフトウェアコンポーネントが相互に通信しながら動作するプロセス間通信において、サブルーチンコール(関数呼び出し)のようにしてデータの通信が可能な手法がある(例えば、SunRPC)。この手法によれば、プロセス間やノード間通信を用いて別プロセス(同じノード上でも別のノード上でもかまわない)とデータをやりとりすることができる。   In inter-process communication in which a plurality of software components on a computer node operate while communicating with each other, there is a technique capable of data communication like a subroutine call (function call) (for example, SunRPC). According to this method, data can be exchanged with another process (which may be on the same node or another node) using inter-process or inter-node communication.

一方、複数のプロセス、複数のコンピュータ・ノードにプロセス内の関数呼び出しを模擬するソフトウェア部品を配置し、ソフトウェア部品を再利用することによりソフトウェア開発効率の向上、品質の向上が目指されている。   On the other hand, software components that simulate function calls in a process are arranged in a plurality of processes and a plurality of computer nodes, and the software components are reused to improve software development efficiency and quality.

しかし、プロセス内の関数呼び出しと同一のインターフェースを用いて、プロセス間あるいはノード間の通信(遠隔手続き)を行う場合、通信エラーが発生する可能性がある。プロセス内の関数を呼び出すように記述されたソフトウェアは、遠隔手続きにおける通信エラーを直接検出することができない。例えば、関数の戻り値がvoidであったり、関数の実行結果を表す値のみを返す仕様等、呼び出された関数自身がエラーを返した場合以外に、プロセス内の関数呼び出しの仕様では、呼び出しの失敗は想定されていないからである。   However, when performing communication (remote procedure) between processes or nodes using the same interface as the function call in the process, a communication error may occur. Software written to call functions in the process cannot directly detect communication errors in remote procedures. For example, in the specification of the function call in the process, except for the case where the called function itself returns an error, such as a specification in which the return value of the function is void or a value in which only the value indicating the execution result of the function is returned. This is because failure is not assumed.

この問題を解決するため、例外ハンドラやコールバックハンドラ(以下、総称して「ハンドラ」と呼ぶ)を使った方法が利用されている(Java(登録商標)言語におけるcatch構文、C言語におけるシグナルハンドラなどが相当する)。この方法では、関数呼び出しの仕様はエラーを考慮しない仕様のまま、呼び出し側プロセス内にエラー処理を行うためのスレッドを用意する。同時に、通信エラーを検出するとこのスレッドにエラー処理あるいはエラー復帰のための特殊な関数を実行させることによって、関数の仕様には影響せずに通信エラーの検出と対応を行うものである。   In order to solve this problem, methods using exception handlers and callback handlers (hereinafter collectively referred to as “handlers”) are used (catch syntax in Java (registered trademark) language, signal handler in C language). Etc.). In this method, a thread for performing error processing is prepared in the calling process while the specification of the function call does not consider the error. At the same time, when a communication error is detected, a special function for error processing or error recovery is executed by this thread, thereby detecting and responding to the communication error without affecting the function specification.

ハンドラを使用しないエラー処理技術に関しては、先行技術として特許文献1や特許文献2などが提案されている。   Regarding error processing techniques that do not use handlers, Patent Documents 1 and 2 have been proposed as prior art.

特許文献1には、複数のプロセスを実行するシステムにおいて、各プロセスに予めエラー検証のための検証プログラムコードを付加しておく構成が開示されている。そして、通信エラーなどシステム異常が発生したことを検証プログラムコードによって検出し、システム復旧を行う手法が開示されている。特許文献1は、特別に付与されたプログラムコードによってエラーの検出を行うため、関数戻り値の仕様などは通信エラーの発生検出を意図したものではない。   Patent Document 1 discloses a configuration in which a verification program code for error verification is added to each process in advance in a system that executes a plurality of processes. A method is disclosed in which a system error such as a communication error is detected by a verification program code and system recovery is performed. Since Patent Document 1 detects an error using a specially assigned program code, the specification of the function return value is not intended to detect the occurrence of a communication error.

特許文献2は、関数のリモート呼び出しにおいてクライアント側にタイムアウト機構を設けることにより、サーバ側からクライアント側への通信におけるエラーを検出する構成が開示されている。ここで、タイムアウト機構の実装されるクライアント側とは、リモート関数呼び出し機構自体を指しており、関数を呼び出す部分の実装にエラー検出機構が含まれるものではない。   Patent Document 2 discloses a configuration for detecting an error in communication from the server side to the client side by providing a timeout mechanism on the client side in the remote call of the function. Here, the client side on which the timeout mechanism is implemented refers to the remote function calling mechanism itself, and the error detection mechanism is not included in the implementation of the function calling portion.

特許03290052号公報Japanese Patent No. 03290052 特開2001−282656号公報JP 2001-282656 A

ハンドラを用いたエラー検出手法では、プロセス毎にエラー検出部を実装する必要がある。プロセス内で関数呼び出しを行っていたソフトウェアをそのまま遠隔手続きを行うプログラムとして再利用し、開発効率を向上させようとする目的に鑑みると、プロセス毎にコードの修正量が多くなってしまい望ましくない。プログラムコードの修正量を減らす観点からは、遠隔手続き呼び出しライブラリにエラー検出部を実装する手法も考えられる。しかしこの手法は、遠隔手続き呼び出しライブラリにエラー検出機能、およびエラーからの復帰、エラー処理機能を実装することになる。エラー検出機能・エラー処理機能は、一般的に、ソフトウェアシステムが動作するハードウェアに依存するものである。ハードウェアへの依存の強いソフトウェアをライブラリ内に実装した場合、同ライブラリを他のハードウェアで動作するシステムに移植する際には、ハードウェアへの依存性の観点から汎用性が減ずるという問題がある。   In the error detection method using a handler, it is necessary to implement an error detection unit for each process. In view of the purpose of improving the development efficiency by reusing the software that has made a function call in the process as it is as a program for performing a remote procedure, it is not desirable because the amount of code correction increases for each process. From the viewpoint of reducing the amount of program code correction, a method of implementing an error detection unit in the remote procedure call library is also conceivable. However, this method implements an error detection function, return from error, and error handling function in the remote procedure call library. The error detection function / error processing function generally depends on the hardware on which the software system operates. When software that strongly depends on hardware is implemented in a library, when porting the library to a system that operates on other hardware, there is a problem that versatility is reduced from the viewpoint of dependency on hardware. is there.

特許文献1では、各プロセスに予めエラー検証のための検証プログラムコードを付加しておくことが必要である。この検証プログラムコードは一般的にウォッチドッグ、ハートビートなどと呼ばれるものである。この手法では例外ハンドラやコールバックハンドラを用いる手法と同じくプロセス毎に例外処理を実装する必要がある。そのため、多数のプロセスから構成される分散システムにおいては実装しなければならないコードの量が多く開発効率の点で問題がある。   In Patent Document 1, it is necessary to add a verification program code for error verification to each process in advance. This verification program code is generally called a watchdog, a heartbeat or the like. In this method, it is necessary to implement exception handling for each process, as in the method using exception handlers and callback handlers. Therefore, in a distributed system composed of a large number of processes, there is a problem in terms of development efficiency because of the large amount of code that must be implemented.

特許文献2では、検出できる通信エラーがサーバ側からクライアント側への送信時のエラーに限られていること、また、タイムアウト機構をクライアント側に実装しなければいけない。そのため、特許文献1の手法と同じく実装コードの量が多いことから開発効率、またクライアント側からサーバ側へのエラーが検出できないことからエラー発生の補足性能の点で問題がある。   In Patent Document 2, the communication error that can be detected is limited to the error at the time of transmission from the server side to the client side, and a timeout mechanism must be implemented on the client side. For this reason, there is a problem in terms of development efficiency because of the large amount of implementation code as in the method of Patent Document 1, and in the supplementary performance of error occurrence because the error from the client side to the server side cannot be detected.

分散型のシステムではほとんどの場合、システムに複数プロセスで共有されるログシステムを有し、各プロセスはログシステムへの出力を行うログ出力機能を有している。一般的に、分散型のシステムでは複数のプロセスが協調してソフトウェアの機能を実現しており、ログをもとにシステムの動作やエラーの解析を行うためには、特定プロセスに属していない、システム全体で統一されたログが必要となる。このことが、ログシステムの存在する理由である。   In most cases, a distributed system has a log system shared by a plurality of processes in the system, and each process has a log output function for outputting to the log system. Generally, in a distributed system, multiple processes cooperate to realize software functions, and in order to analyze system operations and errors based on logs, they do not belong to a specific process. A unified log is required for the entire system. This is the reason why the log system exists.

本発明は、複数のプロセスで共有されるログ出力機能をエラー検出に利用した通信制御技術を提供することを目的とする。   An object of the present invention is to provide a communication control technique that uses a log output function shared by a plurality of processes for error detection.

上記の目的を達成する本発明の一つの側面にかかる通信制御装置は、
同一のプロセス内における複数のアプリケーション間の通信処理を、前記複数のアプリケーションの内の一つのアプリケーション前記アプリケーションが存在するプロセスとは別の他のプロセスとの間の通信処理または前記アプリケーションが存在する装置とは別の他の装置との間の通信処理に変換し、変換した通信処理を行う通信手段と、
前記通信手段による前記通信処理の実行中において発生した通信エラーを検出するエラー検出手段と、
前記通信エラーの種別と、当該通信エラーの種別に対応した通信エラーの重要度と、を予め定めた通信エラーの種別と重要度との対応関係から識別する識別手段と、
前記識別手段によって識別された重要度が一定値以上であるとエラー処理を実行する例外処理手段と、
を備えることを特徴とする。
A communication control device according to one aspect of the present invention that achieves the above object is as follows:
A communication process between a plurality of applications in the same process, a communication process between one application of the plurality of applications and another process other than the process in which the application exists, or the application exists A communication means for converting into communication processing with another device different from the device, and performing the converted communication processing;
Error detection means for detecting a communication error that occurs during execution of the communication processing by the communication means;
Identifying means for identifying the type of the communication error and the importance of the communication error corresponding to the type of the communication error from the correspondence between the predetermined type of communication error and the degree of importance;
Exception processing means for executing error processing when the importance identified by the identification means is a certain value or more,
It is characterized by providing.

本発明によれば、ログ出力機能をエラー検出に利用した通信制御技術の提供が可能になる。   According to the present invention, it is possible to provide a communication control technique using a log output function for error detection.

ログ出力機能をエラー検出にも利用することにより、各プロセスにエラー検出部を実装する必要がなく、呼び出し側のコード修正量が少なくて済むため、ソフトウェアの再利用性を高め開発効率を向上させることが可能になる。   By using the log output function also for error detection, it is not necessary to install an error detection unit in each process, and the amount of code correction on the call side is small, improving software reusability and improving development efficiency. It becomes possible.

あるいは、エラー状態フラグを介して間接的に通信エラーの検出と通知を行うことにより、プロセス内の関数呼び出しを、特定のハードウェアの機能への依存の少ない、汎用的な遠隔呼び出し処理に適用することが可能になる。   Or, by detecting and notifying a communication error indirectly via an error status flag, the function call in the process is applied to general-purpose remote call processing that is less dependent on a specific hardware function. It becomes possible.

本発明の実施形態にかかる通信制御装置の構成例を示す図。The figure which shows the structural example of the communication control apparatus concerning embodiment of this invention. 遠隔呼び出しライブラリの備える機能構成を説明する図。The figure explaining the function structure with which a remote call library is provided. 情報記憶部から出力されるログの種別と、ログの重要度のレベルとの対応関係を示す図。The figure which shows the correspondence of the classification of the log output from an information storage part, and the level of importance of a log. エラー検出時の処理の流れを説明する図。The figure explaining the flow of processing at the time of error detection. エラー通知部によるエラー状態フラグの監視と、監視結果に伴う処理の流れを説明する図。The figure explaining the flow of the process accompanying the monitoring of the error state flag by an error notification part, and a monitoring result. 例外処理部によるエラー処理の流れを説明する図。The figure explaining the flow of the error process by an exception process part.

本発明は、同一プロセス内の通信を、プログラムコードの大幅な変更を伴わずにプロセス間あるいはノード間の通信に適用して、通信処理を行う技術を提供する。ここで、同一プロセス内の通信とは、例えば、一のアプリケーションから他のアプリケーションの関数を呼び出し、アプリケーション間で情報の送受信を行うための通信をいい、以下、この通信を関数呼び出しともいう。また、プロセス間あるいはノード間の通信とは、例えば、異なるプロセス間あるいは通信制御装置(ノード)間において、一方のアプリケーションから他方のアプリケーションの関数を呼び出し、相互に情報の送受信を行うための通信をいう。以下、この通信を遠隔呼び出しともいう。   The present invention provides a technique for performing communication processing by applying communication within the same process to communication between processes or between nodes without significant change in program code. Here, the communication within the same process means, for example, communication for calling a function of another application from one application and transmitting / receiving information between the applications, and hereinafter, this communication is also called a function call. In addition, communication between processes or between nodes means, for example, communication between different processes or between communication control devices (nodes) for calling functions of one application from another application and transmitting / receiving information to / from each other. Say. Hereinafter, this communication is also referred to as remote call.

本発明の実施形態にかかる通信制御装置の構成を図面の参照により説明する。   A configuration of a communication control apparatus according to an embodiment of the present invention will be described with reference to the drawings.

図1は通信制御システムを構成する通信制御装置の構成例を示す図である。通信制御システムを構成する通信制御装置(ノード01)101上に、CPU102、ネットワークコントローラ103およびメモリ104が配置されており、システムバス105によって相互に接続されている。メモリ104はCPU102の備えるメモリ保護機構によってプロセス毎に分割されている。通信制御装置(ノード01)101でプロセスA、プロセスBが動作している場合は、メモリ104内にプロセスAのメモリ空間106、プロセスBのメモリ空間107が存在する。   FIG. 1 is a diagram illustrating a configuration example of a communication control apparatus constituting a communication control system. A CPU 102, a network controller 103, and a memory 104 are arranged on a communication control device (node 01) 101 that constitutes a communication control system, and are connected to each other by a system bus 105. The memory 104 is divided for each process by a memory protection mechanism provided in the CPU 102. When the process A and the process B are operating in the communication control apparatus (node 01) 101, the memory space 106 for the process A and the memory space 107 for the process B exist in the memory 104.

また、これらに加えてメモリ104上には、ノード毎に唯一存在するエラー状態フラグ108、エラー通知部109、およびエラー処理を実行する例外処理部110が存在する。プロセスAのメモリ空間106内には、プロセスA上で動作するアプリケーション111およびアプリケーション111にリンクされる遠隔呼び出しライブラリ112が配置されている。同様にプロセスBのメモリ空間107内には、アプリケーション113およびアプリケーション113にリンクされる遠隔呼び出しライブラリ114が配置されている。これらはプロセス毎に配置されるものである。   In addition to these, on the memory 104, there are an error status flag 108, an error notification unit 109, and an exception processing unit 110 that executes error processing that exist only for each node. In the memory space 106 of the process A, an application 111 operating on the process A and a remote call library 112 linked to the application 111 are arranged. Similarly, in the memory space 107 of the process B, an application 113 and a remote call library 114 linked to the application 113 are arranged. These are arranged for each process.

通信制御装置(ノード01)101は、ネットワークコントローラ103により、確立された通信路115を経由して、通信制御装置(ノード02)116と接続されている。通信制御装置(ノード02)116も通信制御装置(ノード01)101と同様の構成を有しており、通信制御装置(ノード01)101のプロセスA,Bは通信路115を経由して通信制御装置(ノード02)116のプロセスC、Dと通信可能である。   The communication control apparatus (node 01) 101 is connected to the communication control apparatus (node 02) 116 via the communication path 115 established by the network controller 103. The communication control device (node 02) 116 also has the same configuration as the communication control device (node 01) 101, and the processes A and B of the communication control device (node 01) 101 perform communication control via the communication path 115. Communication with the processes C and D of the device (node 02) 116 is possible.

図2は、図1における遠隔呼び出しライブラリ112の備える機能構成を説明する図である。通信制御装置(ノード01)101と通信制御装置(ノード02)116とを有するシステムにおいて、通信制御装置(ノード01)101においてプロセスAが動作しており、プロセスAのメモリ空間106上ではアプリケーション111が動作している。   FIG. 2 is a diagram for explaining a functional configuration of the remote call library 112 in FIG. In a system having the communication control device (node 01) 101 and the communication control device (node 02) 116, the process A is operating in the communication control device (node 01) 101, and the application 111 is executed on the memory space 106 of the process A. Is working.

アプリケーション111は、同一のプロセスAのメモリ空間106内に存在する他のアプリケーションに属する関数を呼び出し、通信処理を行うようプログラムされている。遠隔呼び出しライブラリ112は、プロセスAのメモリ空間106内でアプリケーション111とリンクされている。   The application 111 is programmed to call a function belonging to another application existing in the memory space 106 of the same process A and perform communication processing. The remote call library 112 is linked with the application 111 in the memory space 106 of the process A.

遠隔呼び出しライブラリ112は、通信処理を行う通信部206を備える。通信部206は、アプリケーション111からのプロセス内における関数の呼び出し処理(通信処理)を、他のプロセスとの間の通信処理または他の通信制御装置との間の通信処理、通信プロトコルに変換し、通信処理を行うことを特徴としている。通信部206は、例えば、アプリケーション111からのプロセス内における関数の呼び出し処理(サブルーチンコール)を、他のアプリケーション、他のプロセス間あるいは他のノード間との間の通信処理(遠隔呼び出し)に変換する。   The remote call library 112 includes a communication unit 206 that performs communication processing. The communication unit 206 converts function call processing (communication processing) in the process from the application 111 into communication processing with another process or communication processing with another communication control device, a communication protocol, It is characterized by performing communication processing. For example, the communication unit 206 converts function call processing (subroutine call) in the process from the application 111 into communication processing (remote call) between other applications, other processes, or other nodes. .

アプリケーション111の通信相手となる他のアプリケーションは、アプリケーション111と同一のプロセスAのメモリ空間106内に配置されていてもよい。また、他のアプリケーションは、同一の通信制御装置(ノード01)101上、または、通信制御装置(ノード01)101と異なる別のノードである通信制御装置(ノード02)116上に配置されていてもよい。   Other applications that are communication partners of the application 111 may be arranged in the memory space 106 of the same process A as the application 111. Other applications are arranged on the same communication control apparatus (node 01) 101 or on a communication control apparatus (node 02) 116 which is a different node from the communication control apparatus (node 01) 101. Also good.

また、遠隔呼び出しライブラリ112は、通信に係るエラーを検出するエラー検出部207および、通信をはじめとするライブラリ自身の動作状態を出力するための情報記憶部208を備えている。本実施形態においては、情報記憶部208の情報記憶機能として記憶媒体にエラーログを出力する機能が実装されているものとする。ここで、記録媒体とは、磁気ディスク上の特定ファイルでも、メモリ上の特定の領域でもよく、ログ記録用の専用マシン上に確保された記憶領域であってもよい。   Further, the remote call library 112 includes an error detection unit 207 that detects an error related to communication, and an information storage unit 208 that outputs an operation state of the library itself including communication. In this embodiment, it is assumed that a function for outputting an error log to a storage medium is implemented as the information storage function of the information storage unit 208. Here, the recording medium may be a specific file on the magnetic disk, a specific area on the memory, or a storage area secured on a dedicated machine for log recording.

遠隔呼び出しライブラリ112は、エラー検出部207によって通信エラーが検出され、情報記憶部208から出力されるログの種別を判定し、通信エラーの重要度を識別する記録情報識別部209を備える。エラー検出部207で通信エラーが検出され、情報記憶部208から通信エラーに係るエラーログが出力される際、記録情報識別部209は、例外処理部110に対して例外処理を促す重要な通信エラーであるか否かを判断する。   The remote call library 112 includes a recording information identification unit 209 that determines the type of log output from the information storage unit 208 when a communication error is detected by the error detection unit 207 and identifies the importance of the communication error. When a communication error is detected by the error detection unit 207 and an error log related to the communication error is output from the information storage unit 208, the recorded information identification unit 209 causes the exception processing unit 110 to perform exception processing. It is determined whether or not.

更に、遠隔呼び出しライブラリ112は、記録情報識別部209によって通信エラーが重要なものと判断された場合、エラー状態フラグ108を、非シグナル状態からシグナル状態とするフラグ設定部210を備えている。ここで、非シグナル状態とは、システムが正常動作をしていることを示し、シグナル状態とは、通信エラー状態の発生を示す。   Further, the remote call library 112 includes a flag setting unit 210 that changes the error state flag 108 from the non-signal state to the signal state when the recording information identification unit 209 determines that the communication error is important. Here, the non-signal state indicates that the system is operating normally, and the signal state indicates the occurrence of a communication error state.

更に、通信制御装置(ノード01)101上には、エラー通知部109が設けられている。エラー通知部109は、フラグ設定部210によってエラー状態フラグ108がシグナル状態に変更された場合に、例外処理部110に対してエラーが起きたことを通知し、例外処理(エラー処理)の実行を促す。   Further, an error notification unit 109 is provided on the communication control apparatus (node 01) 101. The error notification unit 109 notifies the exception processing unit 110 that an error has occurred when the flag setting unit 210 changes the error state flag 108 to a signal state, and executes exception processing (error processing). Prompt.

図3は、情報記憶部208から出力されるログの種別301と、ログの重要度のレベル302との対応関係を示す図である。通信エラーの種別(ログの種別)と、通信エラーの種別に対応した通信エラーの重要度を示すログレベルとの対応関係は、予め、通信制御装置のメモリ104または外部のハードディスク等に記憶しておくことが可能である。   FIG. 3 is a diagram illustrating a correspondence relationship between the log type 301 output from the information storage unit 208 and the log importance level 302. The correspondence relationship between the communication error type (log type) and the log level indicating the importance of the communication error corresponding to the communication error type is stored in advance in the memory 104 of the communication control device or an external hard disk. It is possible to leave.

ログの重要度のレベル302とログの種別301とは、1対1に対応している。記録情報識別部209は、情報記憶部208から出力されるログの種別301を識別することにより、ログの種別に対応しているログの重要度のレベル302を判定することができる。本実施形態では、ログの重要度のレベル302の数値は、小さいほど、重要度が高いログであることを示している。すなわち、ログの重要度のレベル302(ログレベル)の「1」に対応するログ種別、LOG_FATAL303が最も重要度の高いログ種別になる。LOG_FATAL303は、例えば、ハードウェアエラー、オペレーティングシステムの内部エラーなど復帰不能な深刻なエラーの属性を表す。ログレベル「2」に対応するログ種別は、LOG_ERROR304であり、これは通信エラーなど処理の継続ができない重要なエラーを表す。ログレベル「3」に対応するログ種別は、LOG_WARNING305であり、処理のタイムアウトなど、処理の継続が可能な軽微な異常を表す。ログレベル「4」に対応するログ種別は、LOG_INFO306であり、システムの動作状態を予防的に知るための、正常状態でも出力されるログである。ログレベル「5」に対応するログの種別は、LOG_DEBUG307であり、システムのデバッグ時や障害解析時にのみ使用されるような、システムの詳細な内部動作状態を出力するためのログである。   The log importance level 302 and the log type 301 have a one-to-one correspondence. The recorded information identification unit 209 can determine the log importance level 302 corresponding to the log type by identifying the log type 301 output from the information storage unit 208. In the present embodiment, the smaller the numerical value of the log importance level 302, the higher the importance. That is, the log type LOG_FATAL 303 corresponding to “1” of the log importance level 302 (log level) is the most important log type. LOG_FATAL 303 represents an attribute of a serious error that cannot be recovered, such as a hardware error or an operating system internal error. The log type corresponding to the log level “2” is LOG_ERROR 304, which represents an important error such as a communication error that cannot be continued. The log type corresponding to the log level “3” is LOG_WARNING 305 and represents a minor abnormality that allows the processing to continue, such as a processing timeout. The log type corresponding to the log level “4” is LOG_INFO 306, which is a log that is output even in a normal state for proactively knowing the operation state of the system. The log type corresponding to the log level “5” is LOG_DEBUG307, and is a log for outputting a detailed internal operation state of the system that is used only during system debugging or failure analysis.

記録情報識別部209は、これらのログレベルを利用して、フラグ設定部210を作動させるか否かの判定を行ない、判定結果によりフラグ設定部210を制御することが可能である。例えば、ログの種別として、LOG_FATAL(ログレベル1)またはLOG_ERROR(ログレベル2)が出力された場合のみ、記録情報識別部209は、フラグ設定部210を作動させることが可能である。一方、それ以外のログ種別の場合、記録情報識別部209は、フラグ設定部210を作動させないように制御することが可能である。   The recorded information identification unit 209 can determine whether to operate the flag setting unit 210 using these log levels, and can control the flag setting unit 210 based on the determination result. For example, the recording information identification unit 209 can activate the flag setting unit 210 only when LOG_FATAL (log level 1) or LOG_ERROR (log level 2) is output as the log type. On the other hand, in the case of other log types, the recording information identification unit 209 can control the flag setting unit 210 not to operate.

システムの仕様によりエラーの種別を表現するログ属性が存在しない場合には、一定以上の重要なエラーログが出力されたという条件で、記録情報識別部209は、フラグ設定部210を作動させることが可能である。また、ログレベルが特定できない場合、全てのエラーログを対象として、記録情報識別部209は、フラグ設定部210を作動させることも可能である。   If there is no log attribute that represents the type of error according to the system specifications, the recorded information identification unit 209 can activate the flag setting unit 210 under the condition that an important error log of a certain level or more has been output. Is possible. If the log level cannot be specified, the record information identifying unit 209 can also operate the flag setting unit 210 for all error logs.

(エラー検出時の処理フロー)
エラー検出時の処理フローを図4の参照により説明する。まず、通信部206による通信処理の実行中、エラー検出部207によって、「通信エラー」が検出されると、本処理がスタートする(ステップS401)。次に、ステップS402において、記録情報識別部209は、検出された通信エラーのログの種別を決定し、通信エラーの重要度を識別する。例えば、「通信エラー」は、図3に示すログの属性、LOG_ERROR304に相当し、対応するログレベルは「2」である。
(Processing flow when an error is detected)
A processing flow at the time of error detection will be described with reference to FIG. First, when a “communication error” is detected by the error detection unit 207 during execution of the communication processing by the communication unit 206, this processing starts (step S401). Next, in step S402, the recorded information identifying unit 209 determines the type of the detected communication error log and identifies the importance of the communication error. For example, “communication error” corresponds to the log attribute LOG_ERROR 304 shown in FIG. 3 and the corresponding log level is “2”.

ログの種別が決定されると、ステップS403において、情報記憶部208によりログが出力される。   When the log type is determined, the information storage unit 208 outputs a log in step S403.

情報記憶部208は、通信制御装置(ノード01)101の外部のハードディスク、または通信制御装置(ノード01)101のメモリ104上の特定領域に、ログレベルの高低に応じてログの出力先を制御することが可能である。例えば、情報記憶部208は、重要度の高いログレベル1、2のみについて、外部のハードディスク、またはメモリ104ログを出力するように制御することも可能である。   The information storage unit 208 controls a log output destination in a hard disk external to the communication control device (node 01) 101 or a specific area on the memory 104 of the communication control device (node 01) 101 according to the level of the log level. Is possible. For example, the information storage unit 208 can be controlled to output an external hard disk or memory 104 log only for log levels 1 and 2 with high importance.

ステップS403において、ログ出力が行われると、ステップS404において、記録情報識別部209は、先のステップS403で出力されたログレベルが一定以上のレベルであるか否かを識別する。本ステップの処理は、例外処理を行うか否かの閾値を設定することに相当する。ログレベルを一定以上とすることにより、正常状態でも出力され得る軽微なログによって例外処理が起動されてしまわないように制御することができる。   When log output is performed in step S403, in step S404, the recording information identification unit 209 identifies whether or not the log level output in the previous step S403 is a certain level or higher. The processing in this step corresponds to setting a threshold value for determining whether to perform exception processing. By setting the log level to a certain level or more, it is possible to control so that exception processing is not activated by a slight log that can be output even in a normal state.

ステップS404の判定で、ログレベルが一定値未満の場合(S404−N0)、処理は終了し(S406)、ログレベルが一定値以上の場合(S404−Yes)、処理はステップS405に進められ、フラグ設定処理が実行される。ステップS405において、記録情報識別部209は、フラグ設定部210を作動させことによりエラー状態フラグ108を更新し、ログレベルが一定値以上の高いレベルにある通信エラー状態の発生を示すシグナル状態に設定する。   If it is determined in step S404 that the log level is less than a certain value (S404-N0), the process ends (S406). If the log level is more than a certain value (S404-Yes), the process proceeds to step S405. A flag setting process is executed. In step S405, the record information identifying unit 209 updates the error state flag 108 by operating the flag setting unit 210, and sets the signal level indicating the occurrence of a communication error state in which the log level is higher than a predetermined value. To do.

(エラー通知部109によるフラグ監視フロー)
図5は、エラー通知部109により実行されるエラー状態フラグ108の監視と、監視結果に伴う処理の流れを説明する図である。ステップS501において、エラー通知部109は、システム起動後の任意の時点でエラー状態フラグ108の監視を開始する。ここで、監視とは、初期状態として設定されているエラー状態フラグ108のログレベルが一定値未満であることを示す非シグナル状態から、ログレベルが一定値以上であることを示すシグナル状態への変化を検知することをいう。監視の方法は一定時間ごとにエラー状態フラグ108をチェックするポーリングによってもよいし、イベントなどシステム固有の方法で受動的にフラグ状態の変化を示す情報を、エラー通知部109が受信するようにしてもよい。
(Flag monitoring flow by the error notification unit 109)
FIG. 5 is a diagram for explaining the monitoring of the error state flag 108 executed by the error notification unit 109 and the flow of processing according to the monitoring result. In step S501, the error notification unit 109 starts monitoring the error status flag 108 at an arbitrary time after the system is started. Here, the monitoring is from a non-signal state indicating that the log level of the error state flag 108 set as an initial state is less than a certain value to a signal state indicating that the log level is greater than or equal to a certain value. It means detecting change. The monitoring method may be polling for checking the error state flag 108 at regular intervals, or the error notification unit 109 may receive information indicating a change in the flag state passively by a system-specific method such as an event. Also good.

監視中にエラー状態フラグ108が非シグナル状態からシグナル状態への設定変更を検出すると(S502−Yes)、ステップS503において、エラー通知部109は、例外処理部110にエラーの発生を通知(エラー通知)する。エラー通知を受けた例外処理部110の具体的な処理内容については図6を用いて詳細に説明する。   When the error state flag 108 detects a setting change from the non-signal state to the signal state during monitoring (S502-Yes), in step S503, the error notification unit 109 notifies the exception processing unit 110 of the occurrence of an error (error notification). ) The specific processing contents of the exception processing unit 110 that has received the error notification will be described in detail with reference to FIG.

(例外処理部110によるエラー処理フロー)
図6は、エラー通知部109からエラー通知を受けた例外処理部110によるエラー処理の流れを説明する図である。
(Error processing flow by the exception processing unit 110)
FIG. 6 is a diagram illustrating the flow of error processing by the exception processing unit 110 that has received an error notification from the error notification unit 109.

まず、ステップS601において、例外処理部110がエラー通知部109からエラー通知を受信すると、本処理がスタートする。ステップS602において、例外処理部110は、ユーザインタフェース(UI)画面にエラーが発生したこと(エラー状態)を表示する。その後、ステップS603において、例外処理部110は、システムに属する全てのプロセスを終了させる。そして、ステップS604において、例外処理部110は、ハードウェアをシャットダウンすることにより、例外処理を終了する(ステップS605)。   First, in step S601, when the exception processing unit 110 receives an error notification from the error notification unit 109, this processing starts. In step S602, the exception processing unit 110 displays that an error has occurred (error state) on the user interface (UI) screen. Thereafter, in step S603, the exception processing unit 110 terminates all processes belonging to the system. In step S604, the exception processing unit 110 ends the exception processing by shutting down the hardware (step S605).

この例外処理とはシステムが深刻な異常状態に陥った際に行われる処理で、アプリケーションが動作するハードウェアに依存するものである。図6の例外処理として、全システムの停止、およびハードウェアのシャットダウンは一例であり、復帰可能なエラーの場合はプロセスを終了させずに再起動させてもよい。また、エラーの程度(ログレベル)に応じて複数の例外処理フローを実行するようにしてもよい。また、ハードウェアを停止ないし再起動する処理であってもよく、アプリケーションの全体あるいは一部分を停止ないし再起動する処理であってもよく、また、システムに特有のエラーからの復帰を行う処理であってもよい。   This exception processing is processing performed when the system falls into a serious abnormal state and depends on the hardware on which the application operates. The exception processing in FIG. 6 is an example of stopping the entire system and shutting down the hardware. In the case of a recoverable error, the process may be restarted without ending. Further, a plurality of exception processing flows may be executed according to the degree of error (log level). Also, it may be a process of stopping or restarting hardware, a process of stopping or restarting all or part of an application, or a process of recovering from a system-specific error. May be.

本実施形態によれば、ログ出力機能をエラー検出に利用した通信制御技術が提供される。ログ出力機能をエラー検出にも利用することにより、各プロセスにエラー検出部を実装する必要がなく、呼び出し側のコード修正量が少なくて済むため、ソフトウェアの再利用性を高め開発効率を向上させることが可能になる。エラー状態フラグを介して間接的に通信エラーの検出と通知を行うことにより、プロセス内の関数呼び出しを、特定のハードウェアの機能への依存の少ない、汎用的な遠隔呼び出し処理に適用することが可能になる。   According to the present embodiment, a communication control technique using the log output function for error detection is provided. By using the log output function also for error detection, it is not necessary to install an error detection unit in each process, and the amount of code correction on the call side is small, improving software reusability and improving development efficiency. It becomes possible. By detecting and notifying communication errors indirectly via error status flags, function calls in the process can be applied to general-purpose remote call processing with less dependence on specific hardware functions. It becomes possible.

(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
(Other examples)
The present invention can also be realized by executing the following processing. That is, software (program) that realizes the functions of the above-described embodiments is supplied to a system or apparatus via a network or various storage media, and a computer (or CPU, MPU, or the like) of the system or apparatus reads the program. It is a process to be executed.

Claims (8)

同一のプロセス内における複数のアプリケーション間の通信処理を、前記複数のアプリケーションの内の一つのアプリケーション前記アプリケーションが存在するプロセスとは別の他のプロセスとの間の通信処理または前記アプリケーションが存在する装置とは別の他の装置との間の通信処理に変換し、変換した通信処理を行う通信手段と、
前記通信手段による前記通信処理の実行中において発生した通信エラーを検出するエラー検出手段と、
前記通信エラーの種別と、当該通信エラーの種別に対応した通信エラーの重要度と、を予め定めた通信エラーの種別と重要度との対応関係から識別する識別手段と、
前記識別手段によって識別された重要度が一定値以上であるとエラー処理を実行する例外処理手段と、
を備えることを特徴とする通信制御装置。
A communication process between a plurality of applications in the same process, a communication process between one application of the plurality of applications and another process other than the process in which the application exists, or the application exists A communication means for converting into communication processing with another device different from the device, and performing the converted communication processing;
Error detection means for detecting a communication error that occurs during execution of the communication processing by the communication means;
Identifying means for identifying the type of the communication error and the importance of the communication error corresponding to the type of the communication error from the correspondence between the predetermined type of communication error and the degree of importance;
Exception processing means for executing error processing when the importance identified by the identification means is a certain value or more,
A communication control apparatus comprising:
前記重要度が前記識別手段によって一定値以上と識別されると正常な通信の状態を示すフラグの設定を通信エラーの発生を示す設定に変更するフラグ設定手段を更に備えることを特徴とする請求項1に記載の通信制御装置。   The apparatus further comprises flag setting means for changing the setting of a flag indicating a normal communication state to a setting indicating the occurrence of a communication error when the importance is identified as a certain value or more by the identification means. The communication control apparatus according to 1. 前記通信エラーの種別と、当該通信エラーの種別に対応した通信エラーの重要度と、の対応関係を記憶する記憶手段と、
前記識別手段によって識別された前記重要度が一定値以上であると前記通信エラーの種別を前記記憶手段に出力する情報記憶手段と、を更に備えることを特徴とする請求項1または2に記載の通信制御装置。
Storage means for storing a correspondence relationship between the type of the communication error and the importance of the communication error corresponding to the type of the communication error;
3. The information storage unit according to claim 1, further comprising: an information storage unit that outputs the type of the communication error to the storage unit when the importance level identified by the identification unit is equal to or greater than a predetermined value. Communication control device.
前記例外処理手段は、前記識別手段によって識別された重要度に応じて複数の例外処理フローを実行することを特徴とする請求項1乃至3のいずれか1項に記載の通信制御装置。   The communication control apparatus according to claim 1, wherein the exception processing unit executes a plurality of exception processing flows according to the importance level identified by the identification unit. 前記通信手段は、前記複数のアプリケーション間のサブルーチンコールを他の装置との間の通信プロトコルに変換して通信することを特徴とする請求項1乃至4のいずれか1項に記載の通信制御装置。 5. The communication control device according to claim 1, wherein the communication unit performs communication by converting a subroutine call between the plurality of applications into a communication protocol with another device. 6. . 複数の通信制御装置において、一方の通信制御装置のアプリケーションから他方の通信制御装置のアプリケーションの関数を呼び出し相互に情報の送受信を行う通信制御システムであって、
前記通信制御装置は、
同一のプロセス内における複数のアプリケーション間の通信処理を、前記複数のアプリケーションの内の一つのアプリケーション前記アプリケーションが存在するプロセスとは別の他のプロセスとの間の通信処理または前記アプリケーションが存在する通信制御装置とは別の前記他方の通信制御装置との間の通信処理に変換し、変換した通信処理を行う通信手段と、
前記通信手段による前記通信処理の実行中において発生した通信エラーを検出するエラー検出手段と、
前記通信エラーの種別と、当該通信エラーの種別に対応した通信エラーの重要度と、を予め定めた通信エラーの種別と重要度との対応関係から識別する識別手段と、
前記識別手段によって識別された重要度が一定値以上の場合に、エラー処理を実行する例外処理手段と、を備えることを特徴とする通信制御システム。
In a plurality of communication control devices, a communication control system for calling a function of an application of the other communication control device from an application of one communication control device and transmitting / receiving information to / from each other,
The communication control device includes:
A communication process between a plurality of applications in the same process, a communication process between one application of the plurality of applications and another process other than the process in which the application exists, or the application exists A communication means for converting the communication processing between the other communication control device different from the communication control device and performing the converted communication processing;
Error detection means for detecting a communication error that occurs during execution of the communication processing by the communication means;
Identifying means for identifying the type of the communication error and the importance of the communication error corresponding to the type of the communication error from the correspondence between the predetermined type of communication error and the degree of importance;
An exception processing unit that executes an error process when the degree of importance identified by the identification unit is equal to or greater than a predetermined value.
通信制御装置における通信制御方法であって、
前記通信制御装置の通信手段が、同一のプロセス内における複数のアプリケーション間の通信処理を、前記複数のアプリケーションの内の一つのアプリケーション前記アプリケーションが存在するプロセスとは別の他のプロセスとの間の通信処理または前記アプリケーションが存在する通信制御装置とは別の他の通信制御装置との間の通信処理に変換し、変換した通信処理を行う通信工程と、
前記通信制御装置のエラー検出手段が、前記通信工程による前記通信処理の実行中において発生した通信エラーを検出するエラー検出工程と、
前記通信制御装置の識別手段が、前記通信エラーの種別と、当該通信エラーの種別に対応した通信エラーの重要度と、を予め定めた通信エラーの種別と重要度との対応関係から識別する識別工程と、
前記通信制御装置の例外処理手段が、前記識別手段によって識別された重要度が一定値以上の場合に、エラー処理を実行する例外処理工程と、
を有することを特徴とする通信制御方法。
A communication control method in a communication control device,
The communication means of the communication control device performs communication processing between a plurality of applications in the same process between one application of the plurality of applications and another process other than the process in which the application exists. A communication process for converting the communication process into a communication process with another communication control apparatus other than the communication control apparatus or the communication control apparatus in which the application exists , and performing the converted communication process;
An error detection step in which the error detection means of the communication control device detects a communication error that occurs during the execution of the communication process by the communication step;
Identification in which the identification means of the communication control device identifies the type of the communication error and the importance of the communication error corresponding to the type of the communication error from the correspondence between the predetermined type of communication error and the degree of importance Process,
Exception processing means of the communication control device, when the importance identified by the identification means is a certain value or more, an exception processing step of executing error processing;
A communication control method characterized by comprising:
コンピュータを、請求項1乃至5のいずれか1項に記載の通信制御装置の各手段として機能させるためのプログラム。   The program for functioning a computer as each means of the communication control apparatus of any one of Claims 1 thru | or 5.
JP2011150340A 2011-07-06 2011-07-06 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM Active JP5871499B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011150340A JP5871499B2 (en) 2011-07-06 2011-07-06 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011150340A JP5871499B2 (en) 2011-07-06 2011-07-06 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM

Publications (2)

Publication Number Publication Date
JP2013016132A JP2013016132A (en) 2013-01-24
JP5871499B2 true JP5871499B2 (en) 2016-03-01

Family

ID=47688745

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011150340A Active JP5871499B2 (en) 2011-07-06 2011-07-06 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM

Country Status (1)

Country Link
JP (1) JP5871499B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324574A (en) * 1991-10-22 1993-12-07 Fujitsu Ltd Inter-processor communication system
JP2000163345A (en) * 1998-11-25 2000-06-16 Seiko Epson Corp Device control system, information registering method, device utilizing method and storage medium recording computer program
JP2001005693A (en) * 1999-06-22 2001-01-12 Nec Corp System and method for automatically restoring fault and recording medium recording automatic fault restoration program
JP3653004B2 (en) * 2001-04-25 2005-05-25 Necフィールディング株式会社 Fault history monitoring system, fault history monitoring method, and fault history monitoring program
JP4317420B2 (en) * 2003-10-21 2009-08-19 安川情報システム株式会社 Server computer and communication log processing method
JP2010152838A (en) * 2008-12-26 2010-07-08 Ricoh Co Ltd Image forming device, control method and program

Also Published As

Publication number Publication date
JP2013016132A (en) 2013-01-24

Similar Documents

Publication Publication Date Title
US9658914B2 (en) Troubleshooting system using device snapshots
KR101021394B1 (en) Programmatic computer problem diagnosis and resolution and automated reporting and updating of the same
US7802128B2 (en) Method to avoid continuous application failovers in a cluster
EP3121726B1 (en) Fault processing method, related device and computer
KR102268355B1 (en) Cloud deployment infrastructure validation engine
TWI229796B (en) Method and system to implement a system event log for system manageability
US9753809B2 (en) Crash management of host computing systems in a cluster
CN104639380A (en) Server monitoring method
US11157373B2 (en) Prioritized transfer of failure event log data
EP3591485B1 (en) Method and device for monitoring for equipment failure
CN108431781B (en) Self-diagnosis and automatic diagnostic data collection of device driver detected errors
CN112256507B (en) Chip fault diagnosis method and device, readable storage medium and electronic equipment
CN111522703A (en) Method, apparatus and computer program product for monitoring access requests
JP5425720B2 (en) Virtualization environment monitoring apparatus and monitoring method and program thereof
KR20180134677A (en) Method and apparatus for fault injection test
CN117472623A (en) Method, device, equipment and storage medium for processing memory fault
CN112988442B (en) Method and equipment for transmitting fault information in server operation stage
US11290330B1 (en) Reconciliation of the edge state in a telemetry platform
JP6880961B2 (en) Information processing device and log recording method
EP2312443A2 (en) Information processing apparatus, method of controlling information processing apparatus and control program
CN110764962A (en) Log processing method and device
JP5871499B2 (en) COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL SYSTEM, COMMUNICATION CONTROL METHOD, AND PROGRAM
CN113553243A (en) Remote error detection method
EP3993353A2 (en) System and method for managing clusters in an edge network
CN104050074A (en) Method and device for asynchronously recording log in system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150410

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150417

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150615

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: 20151214

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160112

R151 Written notification of patent or utility model registration

Ref document number: 5871499

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151