JP2017228007A - Service continuation device, service continuation method and program - Google Patents

Service continuation device, service continuation method and program Download PDF

Info

Publication number
JP2017228007A
JP2017228007A JP2016122265A JP2016122265A JP2017228007A JP 2017228007 A JP2017228007 A JP 2017228007A JP 2016122265 A JP2016122265 A JP 2016122265A JP 2016122265 A JP2016122265 A JP 2016122265A JP 2017228007 A JP2017228007 A JP 2017228007A
Authority
JP
Japan
Prior art keywords
call
module
response
content
history
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
JP2016122265A
Other languages
Japanese (ja)
Other versions
JP6511019B2 (en
Inventor
雄大 北野
Yudai Kitano
雄大 北野
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016122265A priority Critical patent/JP6511019B2/en
Publication of JP2017228007A publication Critical patent/JP2017228007A/en
Application granted granted Critical
Publication of JP6511019B2 publication Critical patent/JP6511019B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Hardware Redundancy (AREA)

Abstract

PROBLEM TO BE SOLVED: To continue a service even if a fault occurs in a module in a system which provides the service by combining divided multiple modules.SOLUTION: A service continuation device 10 comprises: a storage part 13 for storing a history record DB 130 on which a call source module, a call destination module, a call content, a response content and a score indicating the number of times of responses are recorded; a history recording part 112 which receives a response from the call destination module, uses history information in the call to determine whether or not to record the history information on the basis of a recording determination logic, and records the history information determined to record on the history recording DB; and a substitutive response part 115 for referring to the history recording DB when a call for which a fault detected module becomes a call destination module is received, and returning the response content on the history recording DB to the call source module if matched history information is recorded and the score is equal to or higher than a predetermined threshold.SELECTED DRAWING: Figure 2

Description

本発明は、モジュール化されたソフトウェアを組み合わせたアプリケーションによりサービスを提供する、サービス継続装置、サービス継続方法およびプログラムに関する。   The present invention relates to a service continuation apparatus, a service continuation method, and a program for providing a service by an application combining modularized software.

ソフトウェア開発に関するスピードの迅速化についての要望がますます強まる中、ソフトウェアを小さな単位に分割してモジュール化し、それらのモジュール化されたソフトウェアを組み合わせてアプリケーションを作り出す手法が一般的になり始めている。
例えば、非特許文献1では、単一のアプリケーションを小さなサービス群の組み合わせとして構築する手法を開示している。ただし、この手法では、アプリケーションが複数のモジュールから構成されるため、ある1つのモジュールの不具合がアプリケーション全体に影響を及ぼすことが問題となる。
As the demand for speeding up software development increases, it is becoming common to divide software into small units and modularize them to create applications by combining those modularized software.
For example, Non-Patent Document 1 discloses a method of constructing a single application as a combination of small service groups. However, with this method, since the application is composed of a plurality of modules, there is a problem that a failure of one module affects the entire application.

この問題を解決するため、非特許文献2に記載されたサーキットブレーカを用いた技術が知られている。この技術は、モジュール間を仲介するためのモジュール(サーキットブレーカ)を用意し、定期的に各モジュールの死活監視を行い、無応答などの不具合を検知すると、当該不具合が起こったモジュールへの呼出があった場合に、サーキットブレーカが代理でNG応答を行う技術である。   In order to solve this problem, a technique using a circuit breaker described in Non-Patent Document 2 is known. This technology prepares a module (circuit breaker) to mediate between modules, periodically monitors the aliveness of each module, and when a malfunction such as no response is detected, a call to the module in which the malfunction occurred occurs. In this case, the circuit breaker performs a NG response on behalf of the circuit breaker.

James Lewis, “Microservices,”[online],25 March 2014,[平成28年6月8日検索],インターネット<URL:http://martinfowler.com/articles/microservices.html>James Lewis, “Microservices,” [online], 25 March 2014, [Search June 8, 2016], Internet <URL: http://martinfowler.com/articles/microservices.html> Martin Fowler,“CircuitBreaker,” [online],6 March 2014,[平成28年6月8日検索],インターネット<URL:http://martinfowler.com/bliki/CircuitBreaker.html>Martin Fowler, “CircuitBreaker,” [online], 6 March 2014, [Search June 8, 2016], Internet <URL: http://martinfowler.com/bliki/CircuitBreaker.html>

非特許文献2に記載のサーキットブレーカ技術では、モジュールの不具合を発見した際に、代理でNG応答をするため、不具合時の影響を全体に波及させないようにすること(フェールセーフ)が可能である。例えば、あるモジュールが不具合の発生したモジュールを呼び出した際、応答を待ち続けることで、他のモジュールの処理も遅延し、サービスが予期しないエラーに陥るといった事象を回避できる。しかしながら、このサーキットブレーカ技術では、単純にNG応答を行うだけであるので、サービスを継続することは難しい。   In the circuit breaker technology described in Non-Patent Document 2, when a malfunction of a module is discovered, an NG response is made on behalf of the surrogate, so that it is possible to prevent the influence of the malfunction from being propagated to the whole (fail-safe). . For example, by waiting for a response when a certain module calls a malfunctioning module, it is possible to avoid the event that the processing of other modules is delayed and the service falls into an unexpected error. However, with this circuit breaker technology, it is difficult to continue the service because it simply performs an NG response.

サービスを停止させないために、そのモジュールへの呼出内容とそのモジュールからの応答内容の記録をとっておいて、同じ呼出内容であれば記録されている応答内容を返却する方法が考えられる。しかしながら、モジュールによっては自身が保持している状態によって、同じ呼出内容でも異なる応答を返却する場合がある。このような状態を持つモジュール(ステートフルなモジュール)への呼出の場合、同じ呼出内容で異なる応答を返却する可能性があるため、単純に呼出内容と応答内容の記録をとって、記録されている応答内容を返却するだけでは誤った応答を返却してしまう可能性がある。   In order to prevent the service from being stopped, it is possible to record the contents of the call to the module and the response contents from the module and return the recorded response contents if the call contents are the same. However, depending on the state of the module, different responses may be returned even for the same call contents. In the case of a call to a module having such a state (stateful module), there is a possibility that different responses are returned with the same call content, so the call content and the response content are simply recorded and recorded. There is a possibility of returning an incorrect response just by returning the response content.

このような点を鑑みて本発明がなされたのであり、本発明は、分割された複数のモジュールを組み合わせてサービスを提供するシステムにおいて、あるモジュールに障害が発生した場合においても、サービスを継続することができる、サービス継続装置、サービス継続方法およびプログラムを提供することを課題とする。   The present invention has been made in view of the above points, and the present invention provides a service in a system that provides a service by combining a plurality of divided modules even when a failure occurs in a certain module. An object is to provide a service continuation apparatus, a service continuation method, and a program that can be used.

前記した課題を解決するため、請求項1に記載の発明は、分割された複数のモジュールを組み合わせてサービスを提供するシステムにおいて、呼出元となる前記モジュールを示す呼出元モジュールと、呼出先となる前記モジュールを示す呼出先モジュールとの間の呼出および応答の処理を仲介するサービス継続装置であって、前記呼出元モジュール、前記呼出先モジュール、前記呼出元モジュールからの呼出に付された呼出内容、前記呼出先モジュールからの応答に付された応答内容、および、当該呼出に対し当該応答内容により応答した回数を示すスコア、が記録される履歴記録DB(DataBase)、並びに、前記応答を代理で実行するか否かを前記スコアを用いて判定するためのスコア閾値、を記憶する記憶部と、前記呼出元モジュールからの前記呼出内容が付された呼出を受け取り、前記呼出先モジュールに通知する呼出内容通知部と、前記呼出先モジュールから前記呼出に対する応答を受け取り、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容を示す履歴情報を用いて、記録判断ロジックに基づき、前記履歴情報を記録するか否かを判定し、記録すると判定した履歴情報を前記履歴記録DBに記録する履歴記録部と、複数の前記モジュールの障害を検出することにより前記モジュールの死活監視を行う死活監視部と、前記障害を検出したモジュールが前記呼出先モジュールとなる呼出を受け取った際に、当該呼出についての、前記呼出元モジュール、前記呼出先モジュールおよび前記呼出内容を用いて前記履歴記録DBを参照し、一致する履歴情報があるか否かを判定し、一致する履歴情報が記録されている場合であり、当該履歴情報の前記スコアが前記スコア閾値以上であるときに、前記履歴記録DBの当該履歴情報で示される応答内容を、前記呼出元モジュールに返却する代理応答部と、を備え、前記記録判断ロジックは、前記呼出元モジュールから受け取った呼出についての、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容が前記履歴記録DBに記録された履歴情報と一致する場合に、当該呼出元モジュール、当該呼出先モジュール、当該呼出内容、および、当該応答内容を、前記履歴記録DBに記録するものとして、前記スコアをインクリメントし、前記呼出元モジュール、前記呼出先モジュールおよび前記呼出内容が一致しているが、前記応答内容が一致しない場合に、当該呼出についての、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容を、前記履歴記録DBに記録しない、というロジックであることを特徴とするサービス継続装置とした。   In order to solve the above-mentioned problem, the invention according to claim 1 is a system that provides a service by combining a plurality of divided modules, and is a call source module indicating the module that is a call source and a call destination. A service continuation device that mediates call and response processing with a callee module indicating the module, the caller module, the callee module, call contents attached to a call from the caller module; A history record DB (DataBase) in which the response contents attached to the response from the call destination module and the score indicating the number of times the response contents are responded to the call are recorded, and the response is executed on behalf A storage unit for storing a score threshold for determining whether or not to use the score, and from the caller module A call content notification unit that receives the call with the call content and notifies the call destination module; and receives a response to the call from the call destination module; the call source module, the call destination module, the call content; And a history recording unit that determines whether or not to record the history information based on a recording determination logic using history information indicating the response content, and records the history information determined to be recorded in the history recording DB; A life / death monitoring unit that performs life / death monitoring of the module by detecting a failure of the plurality of modules, and when the module that has detected the failure receives a call to be the callee module, Refer to the history record DB using the caller module, the callee module, and the call contents, and match It is a case where it is determined whether there is history information, and matching history information is recorded. When the score of the history information is equal to or higher than the score threshold, the history information is indicated by the history information in the history recording DB. And a proxy response unit that returns the response content to the call source module, and the record determination logic is configured to provide the call source module, the call destination module, and the call content for the call received from the call source module. When the response content matches the history information recorded in the history record DB, the call source module, the call destination module, the call content, and the response content are recorded in the history record DB. The score is incremented, and the call source module, the call destination module, and the call content match. Is a logic that, when the response contents do not match, the call source module, the call destination module, the call contents, and the response contents for the call are not recorded in the history record DB. A service continuation device characterized by

請求項4に記載の発明は、分割された複数のモジュールを組み合わせてサービスを提供するシステムにおいて、呼出元となる前記モジュールを示す呼出元モジュールと、呼出先となる前記モジュールを示す呼出先モジュールとの間の呼出および応答の処理を仲介するサービス継続装置のサービス継続方法であって、前記サービス継続装置が、前記呼出元モジュール、前記呼出先モジュール、前記呼出元モジュールからの呼出に付された呼出内容、前記呼出先モジュールからの応答に付された応答内容、および、当該呼出に対し当該応答内容により応答した回数を示すスコア、が記録される履歴記録DB、並びに、前記応答を代理で実行するか否かを前記スコアを用いて判定するためのスコア閾値、を記憶部に記憶しており、前記呼出元モジュールからの前記呼出内容が付された呼出を受け取り、前記呼出先モジュールに通知するステップと、前記呼出先モジュールから前記呼出に対する応答を受け取り、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容を示す履歴情報を用いて、記録判断ロジックに基づき、前記履歴情報を記録するか否かを判定し、記録すると判定した履歴情報を前記履歴記録DBに記録するステップと、複数の前記モジュールの障害を検出することにより前記モジュールの死活監視を行うステップと、前記障害を検出したモジュールが前記呼出先モジュールとなる呼出を受け取った際に、当該呼出についての、前記呼出元モジュール、前記呼出先モジュールおよび前記呼出内容を用いて前記履歴記録DBを参照し、一致する履歴情報があるか否かを判定し、一致する履歴情報が記録されている場合であり、当該履歴情報の前記スコアが前記スコア閾値以上であるときに、前記履歴記録DBの当該履歴情報で示される応答内容を、前記呼出元モジュールに返却するステップと、を実行し、前記記録判断ロジックは、前記呼出元モジュールから受け取った呼出についての、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容が前記履歴記録DBに記録された履歴情報と一致する場合に、当該呼出元モジュール、当該呼出先モジュール、当該呼出内容、および、当該応答内容を、前記履歴記録DBに記録するものとして、前記スコアをインクリメントし、前記呼出元モジュール、前記呼出先モジュールおよび前記呼出内容が一致しているが、前記応答内容が一致しない場合に、当該呼出についての、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容を、前記履歴記録DBに記録しない、というロジックであることを特徴とするサービス継続方法とした。   According to a fourth aspect of the present invention, in a system that provides a service by combining a plurality of divided modules, a call source module that indicates the module that is a call source, and a call destination module that indicates the module that is a call destination A service continuation method of a service continuation device that mediates the processing of calls and responses between the service continuation device, wherein the service continuation device is a call attached to a call from the call source module, the call destination module, and the call source module. A history record DB in which contents, a response content attached to a response from the callee module, and a score indicating the number of times the call has been answered by the response content are recorded, and the response is executed on behalf of Is stored in the storage unit, and the caller module is determined using the score. Receiving the call to which the call content is attached from the caller and notifying the callee module; receiving a response to the call from the callee module; the caller module, the callee module, the call content; And determining whether or not to record the history information based on recording determination logic using history information indicating the response content, and recording the history information determined to be recorded in the history recording DB; Monitoring the life of the module by detecting a failure of the module, and when the module detecting the failure receives a call that is the callee module, the caller module for the call, Refer to the history record DB using the call destination module and the call content, and match It is a case where it is determined whether there is history information, and matching history information is recorded. When the score of the history information is equal to or higher than the score threshold, the history information is indicated by the history information in the history recording DB. Returning the response content to the caller module, and the record determination logic is configured to provide the caller module, the callee module, the call content for the call received from the caller module, When the response content matches the history information recorded in the history record DB, the call source module, the call destination module, the call content, and the response content are recorded in the history record DB. As an example, the score is incremented, and the call source module, the call destination module, and the call content are matched. Is a logic that, when the response contents do not match, the call source module, the call destination module, the call contents, and the response contents for the call are not recorded in the history record DB. A service continuation method characterized by

請求項5に記載の発明は、分割された複数のモジュールを組み合わせてサービスを提供するシステムにおいて、呼出元となる前記モジュールを示す呼出元モジュールと、呼出先となる前記モジュールを示す呼出先モジュールとの間の呼出および応答の処理を仲介するサービス継続装置としてのコンピュータを、前記呼出元モジュール、前記呼出先モジュール、前記呼出元モジュールからの呼出に付された呼出内容、前記呼出先モジュールからの応答に付された応答内容、および、当該呼出に対し当該応答内容により応答した回数を示すスコア、が記録される履歴記録DB、並びに、前記応答を代理で実行するか否かを前記スコアを用いて判定するためのスコア閾値、を記憶する手段、前記呼出元モジュールからの前記呼出内容が付された呼出を受け取り、前記呼出先モジュールに通知する手段、前記呼出先モジュールから前記呼出に対する応答を受け取り、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容を示す履歴情報を用いて、記録判断ロジックに基づき、前記履歴情報を記録するか否かを判定し、記録すると判定した履歴情報を前記履歴記録DBに記録する手段、複数の前記モジュールの障害を検出することにより前記モジュールの死活監視を行う手段、前記障害を検出したモジュールが前記呼出先モジュールとなる呼出を受け取った際に、当該呼出についての、前記呼出元モジュール、前記呼出先モジュールおよび前記呼出内容を用いて前記履歴記録DBを参照し、一致する履歴情報があるか否かを判定し、一致する履歴情報が記録されている場合であり、当該履歴情報の前記スコアが前記スコア閾値以上であるときに、前記履歴記録DBの当該履歴情報で示される応答内容を、前記呼出元モジュールに返却する手段、として機能させ、前記記録判断ロジックは、前記呼出元モジュールから受け取った呼出についての、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容が前記履歴記録DBに記録された履歴情報と一致する場合に、当該呼出元モジュール、当該呼出先モジュール、当該呼出内容、および、当該応答内容を、前記履歴記録DBに記録するものとして、前記スコアをインクリメントし、前記呼出元モジュール、前記呼出先モジュールおよび前記呼出内容が一致しているが、前記応答内容が一致しない場合に、当該呼出についての、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容を、前記履歴記録DBに記録しない、というロジックであること、として機能させるためのプログラムとした。   According to a fifth aspect of the present invention, in a system that provides a service by combining a plurality of divided modules, a call source module that indicates the module that is a call source, and a call destination module that indicates the module that is a call destination A computer as a service continuation device that mediates processing of calls and responses between the call source module, the call destination module, call contents attached to a call from the call source module, and a response from the call destination module And a history record DB in which the response content attached to the call and a score indicating the number of times the response has been answered to the call are recorded, and whether or not the response is executed on behalf of the call using the score Means for storing a score threshold for determination, a call to which the call content from the call source module is attached Means for receiving and notifying the callee module, receiving a response to the call from the callee module, and using the caller module, the callee module, the call content, and history information indicating the response content, Based on the record determination logic, it is determined whether or not to record the history information, the history information determined to be recorded is recorded in the history record DB, and the module life or death is detected by detecting a failure of the plurality of modules. Means for monitoring, when the module detecting the failure receives a call to be the call destination module, the call history module using the call source module, the call destination module, and the call content for the call; To determine whether there is matching history information, and the matching history information is recorded. And when the score of the history information is equal to or higher than the score threshold, the response content indicated by the history information in the history record DB is functioned as a means for returning to the caller module, The record determination logic is such that the call source module, the call destination module, the call content, and the response content for the call received from the call source module match the history information recorded in the history record DB. The call source module, the call destination module, the call content, and the response content are recorded in the history record DB, the score is incremented, and the call source module, the call destination module, and If the call content matches but the response content does not match, The call source module, the call destination module, the call content, and the response content are logic programs that do not record in the history record DB.

このようにすることで、サービス継続装置等によれば、記録判定ロジックにより、呼出元モジュール、呼出先モジュールおよび呼出内容が一致していても、応答内容が異なる履歴情報については、履歴記録DBに記録しないようにすることができる。つまり、ステートフルなモジュールからの応答については、履歴記録DBに記録しないようにする。一方、状態を持たないモジュール(ステートレスなモジュール)に障害が発生した場合においては、サービス継続装置の履歴記録DBに記録された応答内容を用いて代理で応答することが可能となり、サービスを継続することが可能となる。   In this way, according to the service continuation device or the like, history information with different response contents is recorded in the history record DB even if the call source module, the call destination module, and the call contents match, according to the record determination logic. You can avoid recording. That is, the response from the stateful module is not recorded in the history record DB. On the other hand, when a failure occurs in a module that does not have a state (stateless module), it is possible to respond by proxy using the response content recorded in the history record DB of the service continuation device, and the service is continued. It becomes possible.

また、請求項2に記載の発明は、前記記憶部には、前記呼出元モジュールに対応付けて、前記代理応答部が前記履歴記録DBに記録された履歴情報で示される応答内容を前記呼出元モジュールに返却した応答回数が記録される課金DBがさらに記憶されており、前記代理応答部が、前記障害を検出したモジュールが前記呼出先モジュールとなる呼出を受け取った際に、前記履歴記録DBに記録された履歴情報で示される応答内容を、前記呼出元モジュールに返却した場合に、応答をした回数を前記呼出元モジュールごとに前記課金DBに記録する課金処理部を、をさらに備えることを特徴とする請求項1に記載のサービス継続装置とした。   Further, in the invention according to claim 2, in the storage unit, the response content indicated by the history information recorded in the history record DB by the proxy response unit in association with the call source module is stored in the call source. A billing DB in which the number of responses returned to the module is recorded is further stored, and when the proxy response unit receives a call in which the module in which the failure is detected becomes the callee module, the history record DB When the response content indicated by the recorded history information is returned to the calling source module, the charging processing unit further includes a charging processing unit that records the number of responses to the calling DB for each calling source module. The service continuation device according to claim 1 is used.

このように、サービス継続装置によれば、障害が発生した呼出先モジュールの代わりに応答した回数を課金DBに記録することができる。よって、課金DBに記録された応答回数に応じて、各モジュールの管理者に課金することができる。   As described above, according to the service continuation apparatus, the number of times of response can be recorded in the charging DB instead of the call destination module in which the failure has occurred. Therefore, the administrator of each module can be charged according to the number of responses recorded in the charging DB.

また、請求項3に記載の発明は、前記システムは、前記複数のモジュールそれぞれに対応した同一の機能を備える複数の予備モジュールを備えており、前記サービス継続装置の代理応答部が、前記障害を検出したモジュールが前記呼出先モジュールとなる呼出を受け取った際に、当該呼出についての、前記呼出元モジュール、前記呼出先モジュールおよび前記呼出内容を用いて前記履歴記録DBを参照し、一致する履歴情報があるか否かを判定し、一致する履歴情報が記録されていない場合、および、一致する履歴情報が記録されているが、当該履歴情報の前記スコアが前記スコア閾値未満である場合に、当該呼出を前記呼出先モジュールに対応した前記予備モジュールに通知し、当該予備モジュールから応答を受け取り、当該応答に付された応答内容を前記呼出元モジュールに返却することを特徴する請求項1に記載のサービス継続装置とした。   According to a third aspect of the present invention, the system includes a plurality of spare modules having the same function corresponding to each of the plurality of modules, and the proxy response unit of the service continuation apparatus detects the failure. When the detected module receives a call that becomes the call destination module, the call history module DB is referred to by using the call source module, the call destination module, and the call content for the call, and the matching history information If the matching history information is not recorded, and if the matching history information is recorded, but the score of the history information is less than the score threshold, Notify the standby module corresponding to the called module, receive a response from the standby module, and attach the response to the response The response content was service continuity apparatus of claim 1, characterized in that return to the calling module.

このようにすることで、サービス継続装置によれば、記録判定ロジックにより、呼出元モジュール、呼出先モジュールおよび呼出内容が一致していても、応答内容が異なる履歴情報については、予備モジュールにその呼出を通知して応答を取得し、呼出元モジュールに返却することができる。よって、ステートフルなモジュールに障害が発生した場合においても、確実にサービスを継続することが可能となる。   In this way, according to the service continuation apparatus, even if the call source module, the call destination module, and the call content match, the history information having different response contents is called to the standby module by the record determination logic. To obtain a response and return it to the calling module. Therefore, even when a failure occurs in a stateful module, it becomes possible to continue the service reliably.

本発明によれば、分割された複数のモジュールを組み合わせてサービスを提供するシステムにおいて、あるモジュールに障害が発生した場合においても、サービスを継続する、サービス継続装置、サービス継続方法およびプログラムを提供することができる。   According to the present invention, in a system that provides a service by combining a plurality of divided modules, a service continuation device, a service continuation method, and a program are provided that continue a service even when a failure occurs in a certain module. be able to.

本実施形態に係るサービス継続装置を含むサービスシステムの構成を示す図である。It is a figure which shows the structure of the service system containing the service continuation apparatus which concerns on this embodiment. 本実施形態に係るサービス継続装置の構成例を示す機能ブロック図である。It is a functional block diagram which shows the structural example of the service continuation apparatus which concerns on this embodiment. 本実施形態に係る履歴記録DBに記録される履歴情報のデータ構成を示す図である。It is a figure which shows the data structure of the log | history information recorded on log | history recording DB which concerns on this embodiment. 記録判断ロジックにより設定される処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process set by a recording determination logic. 本実施形態に係るサービス継続装置を含むサービスシステムの処理を示すシーケンス図である。It is a sequence diagram which shows the process of the service system containing the service continuation apparatus which concerns on this embodiment. 本実施形態の変形例1に係るサービス継続装置の構成例を示す機能ブロック図である。It is a functional block diagram which shows the structural example of the service continuation apparatus which concerns on the modification 1 of this embodiment. 本実施形態の変形例1に係る課金DBに記録される課金情報のデータ構成を示す図である。It is a figure which shows the data structure of the billing information recorded on billing DB which concerns on the modification 1 of this embodiment. 本実施形態の変形例2に係るサービス継続装置を含むサービスシステムの構成を示す図である。It is a figure which shows the structure of the service system containing the service continuation apparatus which concerns on the modification 2 of this embodiment. 本実施形態の変形例2に係るサービス継続装置の構成例を示す機能ブロック図である。It is a functional block diagram which shows the structural example of the service continuation apparatus which concerns on the modification 2 of this embodiment. 本実施形態の変形例2に係るサービス継続装置を含むサービスシステムの処理を示すシーケンス図である。It is a sequence diagram which shows the process of the service system containing the service continuation apparatus which concerns on the modification 2 of this embodiment.

次に、本発明を実施するための形態(以下、「本実施形態」と称する。)における、サービス継続装置10等について説明する。   Next, the service continuation device 10 and the like in a mode for carrying out the present invention (hereinafter referred to as “the present embodiment”) will be described.

<概要>
まず、本実施形態に係るサービス継続装置10(後記する図1,図2参照)が実行する処理の概要について説明する。
本実施形態に係るサービス継続装置10は、複数のモジュールによる処理を実行してサービスを提供する際に、そのモジュール間を仲介する処理を実行する。具体的には、各モジュール間では、呼出・応答に関する送受信は直接には行わず、サービス継続装置10を介して行う。また、サービス継続装置10は、モジュール間の呼出内容および応答内容に関する情報を、記録判断ロジック(後記する図4参照)に従い、キャッシュとして記録するか判断した上で、履歴情報として記録しておく(後記する図3の「履歴記録DB(DataBase)130」)。この記録判断ロジックは、状態を持つモジュール「以下、「ステートフルなモジュール」と称する。)と、状態を持たないモジュール(以下、「ステートレスなモジュール」と称する。)とを区別するための判断ロジックであり、ステートレスなモジュールからの呼出・応答に関する履歴情報を記録する。
そして、サービス継続装置10は、あるモジュールについて障害の発生を検知した場合に、そのモジュールについて呼出があったときには、記録されている履歴情報の中に、同じ呼出内容が記録されているか否かを確認し、記録されている場合において、後記する所定の条件(「スコアが所定の閾値以上」の場合)を満たすときに、履歴情報で示される応答内容を返却する。
<Overview>
First, an outline of processing executed by the service continuation apparatus 10 according to the present embodiment (see FIGS. 1 and 2 to be described later) will be described.
When the service continuation apparatus 10 according to the present embodiment executes a process by a plurality of modules and provides a service, the service continuation apparatus 10 executes a process that mediates between the modules. Specifically, transmission / reception regarding the call / response is not performed directly between the modules but via the service continuation apparatus 10. Further, the service continuation apparatus 10 determines whether or not to record the information on the call contents and the response contents between the modules as a cache according to the record determination logic (see FIG. 4 to be described later), and records the information as history information ( “History recording DB (DataBase) 130” in FIG. 3 to be described later). This record determination logic is referred to as a module having a state “hereinafter referred to as a“ stateful module ”. ) And a module having no state (hereinafter referred to as a “stateless module”), and records history information regarding a call / response from the stateless module.
Then, when the service continuation device 10 detects the occurrence of a failure for a certain module, and when there is a call for that module, the service continuation apparatus 10 determines whether or not the same call content is recorded in the recorded history information. When the information is confirmed and recorded, the response content indicated by the history information is returned when a predetermined condition described later (“score is equal to or greater than a predetermined threshold”) is satisfied.

このようにすることで、本実施形態に係るサービス継続装置10によれば、ステートフルなモジュールとステートレスなモジュールとが混在する場合であっても、記録判断ロジックに基づき判定することにより、ステートフルなモジュールからの応答内容は記録せず、ステートレスなモジュールからの応答内容を記録する可能性を高めることができる。そのため、モジュールに障害が発生したときにも、誤った応答内容を返却することなく、サービスを継続することができる。   By doing so, according to the service continuation device 10 according to the present embodiment, even if a stateful module and a stateless module are mixed, the stateful module is determined by making a determination based on the recording determination logic. It is possible to increase the possibility of recording the response content from the stateless module without recording the response content from. Therefore, even when a failure occurs in a module, the service can be continued without returning an erroneous response content.

<システム構成>
次に、本実施形態に係るサービス継続装置10を含むサービスシステムの構成について説明する。
図1は、本実施形態に係るサービス継続装置10を含むサービスシステムの構成を示す図である。
本実施形態に係るサービスシステムでは、複数のデータセンタ100(「1」…「N」)がネットワークを介して接続される。また、各データセンタ100には、サーバ20が設置される。サーバ20は、ソフトウェアを小さな単位に分割したモジュール2を備える。図1においては、データセンタ「1」内に、サーバ「1」,「2」が設置され、サーバ「1」がモジュール「1」,「2」を備え、サーバ「2」がモジュール「3」を備える例を示している。なお、以後、モジュール2の総称として符号「2」を付し、個別のモジュール2を識別する場合は、モジュール「1」、モジュール「2」、モジュール「3」等として表記する。
<System configuration>
Next, the configuration of a service system including the service continuation device 10 according to the present embodiment will be described.
FIG. 1 is a diagram illustrating a configuration of a service system including a service continuation apparatus 10 according to the present embodiment.
In the service system according to the present embodiment, a plurality of data centers 100 (“1”... “N”) are connected via a network. Each data center 100 is provided with a server 20. The server 20 includes a module 2 in which software is divided into small units. In FIG. 1, servers “1” and “2” are installed in a data center “1”, the server “1” includes modules “1” and “2”, and the server “2” includes module “3”. The example provided with is shown. In the following, the symbol “2” is added as a generic term for the module 2, and when identifying the individual module 2, they are represented as module “1”, module “2”, module “3”, and the like.

また、サービスシステム内には、サービス継続装置10が備えられる。このサービス継続装置10は、ネットワークを介して、各サーバ20と接続される。図1において、サービス継続装置10は、データセンタ「1」内に設置される例を示しているが、これに限定されず、他のデータセンタ100の何れかに設置されてもよいし、データセンタ100の外部に、ネットワークに接続された上で、単独で設置されてもよい。   A service continuation device 10 is provided in the service system. This service continuation apparatus 10 is connected to each server 20 via a network. In FIG. 1, the service continuation apparatus 10 is illustrated as being installed in the data center “1”, but is not limited thereto, and may be installed in any other data center 100 or data It may be installed alone outside the center 100 after being connected to a network.

このサービスシステムにおけるサービスの提供は、各サーバ20内のモジュール2の処理を組み合わせることにより行われる。その際に、複数のモジュール2間の呼出・応答に関する送受信は、サービス継続装置10を介して行う。   Service provision in this service system is performed by combining the processing of the modules 2 in each server 20. At that time, transmission / reception regarding the call / response among the plurality of modules 2 is performed via the service continuation apparatus 10.

サービス継続装置10は、複数のモジュール2間の呼出・応答に関する仲介を行うモジュール仲介部11を備え、モジュール間の呼出内容および応答内容に関する情報を、記録判断ロジックに従い履歴記録DB130(図3参照)に記録しておく。そして、サービス継続装置10は、障害が発生したモジュール2への呼出があった場合には、履歴記録DB130を参照し、記録されている履歴情報の中に、同じ呼出内容が記録されているか否かを確認し、記録されている場合において、所定の条件(「スコアが所定の閾値以上」)を満たすときに、履歴情報で示される応答内容を返却する。
以下、サービス継続装置10について詳細に説明する。
The service continuation apparatus 10 includes a module mediation unit 11 that mediates call / response between a plurality of modules 2, and records information about call contents and response contents between modules according to a record determination logic (see FIG. 3). Keep a record. Then, when there is a call to the module 2 in which the failure has occurred, the service continuation apparatus 10 refers to the history record DB 130 and determines whether or not the same call content is recorded in the recorded history information. If the predetermined condition (“score is equal to or higher than a predetermined threshold”) is satisfied, the response content indicated by the history information is returned.
Hereinafter, the service continuation device 10 will be described in detail.

<サービス継続装置の構成>
次に、本実施形態に係るサービス継続装置10の構成について説明する。
図2は、本実施形態に係るサービス継続装置10の構成例を示す機能ブロック図である。
サービス継続装置10は、図2に示すように、モジュール仲介部11の機能を含む制御部(図示省略)と、入出力部12と、記憶部13とを含んで構成される。
<Configuration of service continuation device>
Next, the configuration of the service continuation device 10 according to the present embodiment will be described.
FIG. 2 is a functional block diagram illustrating a configuration example of the service continuation apparatus 10 according to the present embodiment.
As illustrated in FIG. 2, the service continuation device 10 includes a control unit (not shown) including the function of the module mediation unit 11, an input / output unit 12, and a storage unit 13.

入出力部12は、ネットワークを介して通信接続される、各サーバ20に備わるモジュール2等との間の情報の入出力を行う。また、入出力部12は、通信回線を介して情報の送受信を行う不図示の通信インタフェースと、キーボード等の入力手段やモニタ等の出力手段(いずれも不図省略)との間で入出力を行う入出力インタフェースとから構成される。   The input / output unit 12 performs input / output of information with the modules 2 and the like provided in each server 20 that are communicatively connected via a network. The input / output unit 12 performs input / output between a communication interface (not shown) that transmits and receives information via a communication line and an input means such as a keyboard and an output means such as a monitor (both not shown). I / O interface to perform.

記憶部13は、ハードディスクやフラッシュメモリ、RAM(Random Access Memory)等により構成される。
この記憶部13には、後記する履歴記録DB130(図3)や、スコア閾値140等が記憶されるとともに、制御部(モジュール仲介部11)の各機能を実行させるためのプログラムや、制御部の処理に必要な情報が一時的に記憶される。
The storage unit 13 includes a hard disk, a flash memory, a RAM (Random Access Memory), and the like.
The storage unit 13 stores a history record DB 130 (FIG. 3), a score threshold 140, and the like, which will be described later, a program for executing each function of the control unit (module mediation unit 11), Information necessary for processing is temporarily stored.

制御部(モジュール仲介部11)は、サービス継続装置10全体の制御を司り、呼出内容通知部111と、履歴記録部112と、応答内容返却部113と、死活監視部114と、代理応答部115とを含んで構成される。
また、この制御部は、例えば、記憶部13に格納されたプログラムを不図示のCPU(Central Processing Unit)がRAMに展開し実行することで実現される。
The control unit (module intermediary unit 11) controls the service continuation device 10 as a whole, and includes a call content notification unit 111, a history recording unit 112, a response content return unit 113, a life / death monitoring unit 114, and a proxy response unit 115. It is comprised including.
The control unit is realized, for example, when a program (CPU) (not shown) expands and executes a program stored in the storage unit 13 on a RAM.

呼出内容通知部111は、あるモジュール2(呼出元モジュール)から他のモジュール2(呼出先モジュール)への要求(呼出内容が付された呼出)を受け取る。そして、呼出内容通知部111は、その要求(呼出)を、呼出先となるモジュール2へ通知する。
また、呼出内容通知部111は、呼出元モジュールから呼出先モジュールへの要求(呼出)を受け取った際に、その呼出先モジュールに障害が発生している旨の情報を、死活監視部114から受け取っていた場合には、その要求(呼出)を代理応答部115に出力する。
The call content notification unit 111 receives a request (call with call content) from a certain module 2 (calling module) to another module 2 (calling module). Then, the call content notification unit 111 notifies the request (call) to the module 2 that is the call destination.
Further, when the call content notification unit 111 receives a request (call) from the call source module to the call destination module, the call content notification unit 111 receives information from the alive monitoring unit 114 that a failure has occurred in the call destination module. If so, the request (call) is output to the proxy response unit 115.

履歴記録部112は、呼出内容通知部111が要求を通知した呼出先モジュールからの応答を受け取る。この呼出先モジュールからの応答には、どの要求(呼出)に対する応答であるのかを紐付けるために、シーケンス番号や、呼出元モジュールのID・呼出内容などの要求(呼出)を識別する情報が、その応答内容に含まれる。そして、履歴記録部112は、呼出先モジュールからの応答に対応する要求(呼出)を特定した上で、記録判断ロジックに従い、その応答に付された応答内容を含む情報を履歴情報として履歴記録DB130に記録するか否かを判定する。そして、履歴記録部112は、記録すべきと判定した場合には、図3に示す履歴記録DB130に、履歴情報として記録する。   The history recording unit 112 receives a response from the callee module to which the call content notification unit 111 has notified the request. In order to link which request (call) is the response to this response from the callee module, information identifying the request (call) such as the sequence number and the ID / call contents of the caller module, It is included in the response content. Then, the history recording unit 112 specifies a request (call) corresponding to a response from the callee module, and in accordance with the record determination logic, information including the response content attached to the response is used as history information in the history recording DB 130. It is determined whether or not to record. When the history recording unit 112 determines to record, the history recording unit 112 records the history information in the history recording DB 130 illustrated in FIG. 3 as history information.

図3は、本実施形態に係る履歴記録DB130に記録される履歴情報のデータ構成を示す図である。
図3に示すように、履歴記録DB130には、呼出元モジュール131、呼出先モジュール132、呼出内容133、応答内容134、スコア135の各項目が履歴情報として格納される。
FIG. 3 is a diagram illustrating a data configuration of history information recorded in the history recording DB 130 according to the present embodiment.
As shown in FIG. 3, the history record DB 130 stores each item of the call source module 131, the call destination module 132, the call content 133, the response content 134, and the score 135 as history information.

呼出元モジュール131には、サービス継続装置10が受信した要求の呼出元のモジュール2の識別子が格納される。例えば、図3に示すように、呼出元モジュール131に、呼出元であるモジュール2の識別子「3」が格納される。
呼出先モジュール132には、受信した要求の呼出先となるモジュール2の識別子が格納される。例えば、図3に示すように、呼出先モジュール132に、呼出先となるモジュール2の識別子「1」が格納される。
The caller module 131 stores the identifier of the module 2 that is the caller of the request received by the service continuation apparatus 10. For example, as shown in FIG. 3, the identifier “3” of the module 2 that is the call source is stored in the call source module 131.
The call destination module 132 stores the identifier of the module 2 that is the call destination of the received request. For example, as shown in FIG. 3, the identifier “1” of the module 2 that is the call destination is stored in the call destination module 132.

呼出内容133には、呼出元モジュールからの要求に付された呼出内容が格納される。例えば、図3に示すように、呼出内容133として「GET/index.html」が格納される。
応答内容134には、呼出先モジュールからの応答に付された応答内容が格納される。
例えば、図3に示すように、応答内容134として「HTTP/1.1 200OK hoge」が格納される。
The call content 133 stores the call content attached to the request from the call source module. For example, as shown in FIG. 3, “GET / index.html” is stored as the call content 133.
The response content 134 stores the response content attached to the response from the callee module.
For example, as shown in FIG. 3, “HTTP / 1.1 200OK hoge” is stored as the response content 134.

スコア135には、呼出元モジュール131、その呼出元モジュールからの要求に付された呼出内容133、呼出先モジュール132、その呼出先モジュールからの応答に付された応答内容134の各情報について、履歴記録部112が記録判断ロジックに基づき、同一の履歴情報であると判断した回数が格納される。
図3に示す例では、呼出元モジュール131が「3」、呼出先モジュール132が「1」、呼出内容133が「GET/index.html」、応答内容134が「HTTP/1.1 200OK hoge」である処理が「323(回)」あったことを示している。
The score 135 includes a history of each information of the call source module 131, the call content 133 attached to the request from the call source module, the call destination module 132, and the response content 134 attached to the response from the call destination module. The number of times that the recording unit 112 determines that the history information is the same based on the recording determination logic is stored.
In the example shown in FIG. 3, the call source module 131 is “3”, the call destination module 132 is “1”, the call content 133 is “GET / index.html”, and the response content 134 is “HTTP / 1.1 200OK hoge”. This indicates that the process was “323 (times)”.

次に、履歴記録部112が、履歴記録DB130に記録するか否かの判定に用いる記録判断ロジックについて説明する。
図4は、記録判断ロジックにより設定される処理の流れを示すフローチャートである。
履歴記録部112は、呼出内容通知部111が呼出先モジュールへの要求の通知に際して取得した、呼出元モジュールと呼出内容の情報と、呼出先モジュールから受信した応答に付された、呼出先モジュールと応答内容の情報とに基づき、当該応答を受信した際に、以下の記録判断ロジックに基づく処理(ステップS1〜S5)を実行する。
Next, the record determination logic used by the history recording unit 112 to determine whether or not to record in the history recording DB 130 will be described.
FIG. 4 is a flowchart showing the flow of processing set by the record determination logic.
The history recording unit 112 includes a call source module and call content information acquired by the call content notification unit 111 upon notification of a request to the call destination module, and a call destination module attached to a response received from the call destination module. When the response is received based on the response content information, the following processing (steps S1 to S5) based on the record determination logic is executed.

まず、履歴記録部112は、呼出先モジュールから受信した応答に関する、呼出元モジュール、呼出先モジュール、呼出内容について、履歴記録DB130(図3)の中に、これらの情報のすべてが一致するレコード(履歴情報)があるか否かを判定する(ステップS1)。
そして、履歴記録部112は、これらの情報のすべてが一致するレコードがない場合に(ステップS1→No)、新たなレコード(履歴情報)として、呼出先モジュール、呼出元モジュール、呼出内容、および、その応答内容を、履歴記録DB130に格納した上で、スコア135を「1」とする(ステップS2)。
一方、ステップS1において、すべて一致するレコードがある場合には(ステップS1→Yes)、履歴記録部112は、ステップS3に進む。
First, the history recording unit 112 records, in the history recording DB 130 (FIG. 3), all of these pieces of information regarding the call source module, the call destination module, and the call content related to the response received from the call destination module ( It is determined whether there is (history information) (step S1).
Then, when there is no record in which all of these pieces of information match (step S1 → No), the history recording unit 112 creates a new record (history information) as a callee module, a caller module, call contents, and The response content is stored in the history recording DB 130, and the score 135 is set to "1" (step S2).
On the other hand, if there is a record that matches all in step S1 (step S1 → Yes), the history recording unit 112 proceeds to step S3.

ステップS3において、履歴記録部112は、履歴記録DB130の中に、呼出元モジュール、呼出先モジュール、呼出内容、応答内容のすべてが一致するレコードがあるか否かを判定する。そして、すべてが一致するレコードがない場合には(ステップS3→No)、ステップS4に進む。   In step S <b> 3, the history recording unit 112 determines whether or not there is a record in the history record DB 130 that matches all of the call source module, the call destination module, the call content, and the response content. If there is no record that matches all (step S3 → No), the process proceeds to step S4.

ステップS4において、履歴記録部112は、判定対象とした情報である、呼出元モジュール、呼出先モジュール、呼出内容、応答内容について履歴記録DB130にレコードとして記録しないことを決定する。また、履歴記録部112は、ステップS1において、呼出元モジュール、呼出先モジュール、呼出内容が一致したレコードについて、履歴記録DB130から削除する処理を実行する。   In step S4, the history recording unit 112 determines not to record the information to be determined as a record in the history recording DB 130 for the call source module, the call destination module, the call content, and the response content. In step S1, the history recording unit 112 executes a process of deleting the call source module, the call destination module, and the record whose call contents match from the history record DB 130.

一方、ステップS3において、すべてが一致するレコードがある場合には(ステップS3→Yes)、履歴記録部112は、当該レコードのスコア135をインクリメントする(ステップS5)。そして、記録判断ロジックの処理を終了する。   On the other hand, if there is a record that matches all in step S3 (step S3 → Yes), the history recording unit 112 increments the score 135 of the record (step S5). Then, the process of the record determination logic is finished.

図2に戻り、応答内容返却部113は、履歴記録部112による記録判断ロジックの処理が終了すると、呼出先モジュールから受信した応答を、呼出元モジュールに返却する。   Returning to FIG. 2, when the record determination logic process by the history recording unit 112 is completed, the response content return unit 113 returns the response received from the callee module to the caller module.

死活監視部114は、所定の時間間隔で、各モジュール2に対し、死活確認要求を送信し、その応答情報を受信する等により、各モジュール2の死活監視を行う。
死活監視部114は、各モジュール2の死活監視により、あるモジュール2についての障害の発生を検出した場合には、その障害発生情報を呼出内容通知部111に出力する。
The alive monitoring unit 114 monitors the aliveness of each module 2 by transmitting a alive confirmation request to each module 2 at a predetermined time interval and receiving the response information.
The life and death monitoring unit 114 outputs the failure occurrence information to the call content notification unit 111 when the occurrence of a failure for a certain module 2 is detected by the life and death monitoring of each module 2.

代理応答部115は、呼出内容通知部111からの出力に基づく、障害が発生した呼出先モジュールに向けての要求から、その呼出元モジュールおよび呼出内容を抽出し、履歴記録DB130(図3)の中で、その呼出元モジュール、呼出先モジュール、呼出内容が一致するレコードが記録されているか否かを確認する。そして、代理応答部115は、記録されている場合、そのレコードのスコア135が、記憶部13に予め設定されているスコア閾値140以上であるか否かを判定する。代理応答部115は、スコア135の値がスコア閾値140以上である場合には、そのレコードで示される応答内容134を、呼出元モジュールに返却する。
一方、代理応答部115は、履歴記録DB130に、呼出元モジュール、呼出先モジュール、呼出内容が一致するレコードが記録されていない場合、記録されている場合であっても、スコア135の値がスコア閾値140未満であるときには、NG応答を呼出元モジュールに返却する。
The proxy response unit 115 extracts the call source module and the call content from the request to the call destination module where the failure has occurred based on the output from the call content notification unit 111, and stores the call source module and the call content in the history record DB 130 (FIG. 3). Among them, it is confirmed whether or not a record having the same call source module, call destination module, and call content is recorded. Then, when the proxy response unit 115 is recorded, the proxy response unit 115 determines whether or not the score 135 of the record is equal to or higher than the score threshold value 140 preset in the storage unit 13. If the value of the score 135 is greater than or equal to the score threshold value 140, the proxy response unit 115 returns the response content 134 indicated by the record to the caller module.
On the other hand, the proxy response unit 115 determines that the value of the score 135 is the score 135 even if the call source module, the call destination module, and the record that matches the call content are not recorded in the history record DB 130. When it is less than the threshold value 140, an NG response is returned to the caller module.

≪処理の流れ≫
次に、本実施形態に係るサービス継続装置10を含むサービスシステムが実行する処理の流れについて説明する。
図5は、本実施形態に係るサービス継続装置10を含むサービスシステムの処理を示すシーケンス図である。なお、サービス継続装置10の記憶部13には、予めスコア閾値140(ここでは、「300」とする。)が登録されているものとする。
≪Process flow≫
Next, a flow of processing executed by a service system including the service continuation apparatus 10 according to the present embodiment will be described.
FIG. 5 is a sequence diagram showing processing of the service system including the service continuation apparatus 10 according to the present embodiment. It is assumed that a score threshold value 140 (here, “300”) is registered in the storage unit 13 of the service continuation apparatus 10 in advance.

まず、各モジュール2に障害が発生する前(通常時)における処理(ステップS10〜S14)を説明する。
図5に示すように、例えば、モジュール「3」(呼出元モジュール)からの要求(GET/index.html)をサービス継続装置10が受信する(ステップS10)。
続いて、サービス継続装置10の呼出内容通知部111が、その要求(GET/index.html)を、呼出先モジュールであるモジュール「1」に通知する(ステップS11)。
First, processing (steps S10 to S14) before a failure occurs in each module 2 (normal time) will be described.
As shown in FIG. 5, for example, the service continuation apparatus 10 receives a request (GET / index.html) from the module “3” (calling module) (step S10).
Subsequently, the call content notification unit 111 of the service continuation apparatus 10 notifies the request (GET / index.html) to the module “1” that is the call destination module (step S11).

次に、サービス継続装置10は、呼出先モジュールであるモジュール「1」からの応答(HTTP/1.1 200OK hoge)を受信する(ステップS12)。
サービス継続装置10の履歴記録部112は、呼出先モジュール(モジュール「1」)からの応答(HTTP/1.1 200OK hoge)を受け取ると、図4に示した記録判断ロジックに従い、その応答に付された応答内容を含む情報を履歴情報として履歴記録DB130に記録するか否かを判定する(ステップS13)。
Next, the service continuation apparatus 10 receives a response (HTTP / 1.1 200 OK hoge) from the module “1” that is the call destination module (step S12).
When the history recording unit 112 of the service continuation device 10 receives the response (HTTP / 1.1 200 OK hoge) from the callee module (module “1”), it is attached to the response according to the record determination logic shown in FIG. It is determined whether or not information including the response content is recorded in the history record DB 130 as history information (step S13).

ここでは、図4に示す記録判断ロジックの処理において、ステップS1において、呼出元モジュール、呼出先モジュール、呼出内容が、モジュール「3」、モジュール「1」、(GET/index.html)であるものと一致するレコード(履歴情報)が履歴記録DB130に記録されており(図4のステップS1→Yes)、さらに、図4のステップS3において、応答内容も(HTTP/1.1 200OK hoge)と一致するレコードが履歴記録DB130にあるものとする(図4のステップS3→Yes)。この場合、履歴記録部112は、一致するレコードのスコア135をインクリメントする(図4のステップS5)。このインクリメントした結果の状態が、図3に示す状態であるとして、以下において説明する。   Here, in the processing of the record determination logic shown in FIG. 4, in step S1, the call source module, the call destination module, and the call content are module “3”, module “1”, (GET / index.html). Is recorded in the history record DB 130 (step S1 → Yes in FIG. 4), and in step S3 in FIG. 4, the response content also matches (HTTP / 1.1 200OK hoge). In the history record DB 130 (step S3 → Yes in FIG. 4). In this case, the history recording unit 112 increments the score 135 of the matching record (step S5 in FIG. 4). The state as a result of this increment will be described below assuming that it is the state shown in FIG.

次に、サービス継続装置10の応答内容返却部113は、呼出先モジュール(モジュール「1」)から受信した応答(HTTP/1.1 200OK hoge)を、呼出元モジュールに返却する(ステップS14)。   Next, the response content return unit 113 of the service continuation apparatus 10 returns the response (HTTP / 1.1 200 OK hoge) received from the call destination module (module “1”) to the call source module (step S14).

上記の通常時の処理において、サービス継続装置10は、モジュール2間の呼出・応答に伴い、随時、履歴記録DB130を更新する。また、サービス継続装置10は、各モジュール2の死活監視を実行する。
サービス継続装置10の死活監視部114は、所定の時間間隔で、各モジュール2に対し、死活確認要求を送信する(ステップS20)。なお、ここでは、モジュール「1」に障害が発生したものとする。
死活監視部114は、モジュール「2」,「3」からは死活確認要求に対する応答情報を受信するが(ステップS21)、モジュール「1」からは応答情報を受信することができない。これにより、死活監視部114は、モジュール「1」に障害が発生したことを検出する(ステップS22)。そして、死活監視部114は、モジュール「1」に障害が発生した旨を呼出内容通知部111に出力する。
In the above normal processing, the service continuation apparatus 10 updates the history record DB 130 as needed in accordance with the call / response between the modules 2. In addition, the service continuation device 10 performs alive monitoring of each module 2.
The alive monitoring unit 114 of the service continuation apparatus 10 transmits a alive confirmation request to each module 2 at a predetermined time interval (step S20). Here, it is assumed that a failure has occurred in module “1”.
The life and death monitoring unit 114 receives response information for the life and death confirmation request from the modules “2” and “3” (step S21), but cannot receive response information from the module “1”. Thereby, the life and death monitoring unit 114 detects that a failure has occurred in the module “1” (step S22). Then, the life and death monitoring unit 114 outputs to the call content notification unit 111 that a failure has occurred in the module “1”.

この状態において、サービス継続装置10がモジュール「3」(呼出元モジュール)からモジュール「1」への要求(GET/index.html)を受信する(ステップS30)。
この場合、サービス継続装置10の呼出内容通知部111は、モジュール「1」に障害が発生しているため、その要求を、代理応答部115に出力する。
In this state, the service continuation apparatus 10 receives a request (GET / index.html) from the module “3” (caller module) to the module “1” (step S30).
In this case, the call content notification unit 111 of the service continuation apparatus 10 outputs a request to the proxy response unit 115 because a failure has occurred in the module “1”.

サービス継続装置10の代理応答部115は、その要求に付された、送信元モジュール(モジュール「3」)、送信先モジュール(モジュール「1」)、呼出内容(GET/index.html)を用いて、履歴記録DB130を検索し、これらの情報が一致するレコードが記録されているか否かを確認する(ステップS31)。
そして、代理応答部115は、記録されている場合には、そのレコードのスコア135の値が、スコア閾値140(「300」)以上であるか否かを判定する。
ここでは、図3に示す履歴記録DB130の1行目に示すレコードのスコア135の値が「323」であるので、代理応答部115は、スコア閾値140(「300」)以上であると判定する。
そして、代理応答部115は、当該レコードに記録された応答内容134(ここでは、「HTTP/1.1 200OK hoge」)を、送信元モジュール(モジュール「3」)に返却する(ステップS32:代理応答)。
The proxy response unit 115 of the service continuation apparatus 10 uses the transmission source module (module “3”), transmission destination module (module “1”), and call content (GET / index.html) attached to the request. Then, the history record DB 130 is searched and it is confirmed whether or not a record having the same information is recorded (step S31).
In the case where the record is recorded, the proxy response unit 115 determines whether or not the score 135 of the record is equal to or greater than the score threshold 140 (“300”).
Here, since the value of the score 135 of the record shown in the first line of the history record DB 130 shown in FIG. 3 is “323”, the proxy response unit 115 determines that the score is greater than or equal to the score threshold 140 (“300”). .
Then, the proxy response unit 115 returns the response content 134 (here, “HTTP / 1.1 200OK hoge”) recorded in the record to the transmission source module (module “3”) (step S32: proxy response). .

次に、サービス継続装置10がモジュール「2」(呼出元モジュール)からモジュール「1」への要求(GETID user1)を受信する(ステップS40)。
この場合も、サービス継続装置10の呼出内容通知部111は、モジュール「1」に障害が発生しているため、その要求を、代理応答部115に出力する。
Next, the service continuation apparatus 10 receives a request (GETID user1) from the module “2” (caller module) to the module “1” (step S40).
Also in this case, the call content notification unit 111 of the service continuation apparatus 10 outputs the request to the proxy response unit 115 because a failure has occurred in the module “1”.

サービス継続装置10の代理応答部115は、その要求に付された、送信元モジュール(モジュール「2」)、送信先モジュール(モジュール「1」)、呼出内容(GETID user1)を用いて、履歴記録DB130を検索し、これらの情報が一致するレコードが記録されているか否かを確認する(ステップS41)。
そして、代理応答部115は、記録されている場合には、そのレコードのスコア135の値が、スコア閾値140(「300」)以上であるか否かを判定する。
ここでは、図3に示す履歴記録DB130の2行目に示すレコードのスコア135の値が「5」であるので、代理応答部115は、スコア閾値140(「300」)以上ではないと判定する。
そして、代理応答部115は、送信元モジュール(モジュール「2」)にNG応答を返却する(ステップS42)。
The proxy response unit 115 of the service continuation apparatus 10 records the history using the transmission source module (module “2”), transmission destination module (module “1”), and call contents (GETID user1) attached to the request. The DB 130 is searched, and it is confirmed whether or not a record matching these pieces of information is recorded (step S41).
In the case where the record is recorded, the proxy response unit 115 determines whether or not the score 135 of the record is equal to or greater than the score threshold 140 (“300”).
Here, since the value of the score 135 of the record shown in the second line of the history record DB 130 shown in FIG. 3 is “5”, the proxy response unit 115 determines that the score is not equal to or higher than the score threshold 140 (“300”). .
Then, the proxy response unit 115 returns an NG response to the transmission source module (module “2”) (step S42).

このようにすることで、本実施形態に係るサービス継続装置10等によれば、記録判定ロジックにより、ステートレスなモジュール2からの応答内容を履歴記録DB130に確実に記録しておくことができる。よって、ステートレスなモジュール2に障害が発生した場合において、サービス継続装置10が代理で応答することができるため、サービスを継続することが可能となる。   By doing in this way, according to the service continuation apparatus 10 etc. which concern on this embodiment, the response content from the stateless module 2 can be reliably recorded on log | history recording DB130 by a recording determination logic. Therefore, when a failure occurs in the stateless module 2, the service continuation device 10 can respond on behalf of the service, so that the service can be continued.

<本実施形態の変形例1>
次に、本実施形態に係るサービス継続装置10の変形例1について説明する。
本実施形態の変形例1に係るサービス継続装置10A(10)は、課金DB150(後記する、図6,図7参照)を備える。そして、サービス継続装置10A(10)が、履歴記録DB130に記録されている情報を用いて、送信元モジュールに代理で応答した場合に、課金DBへの記録を行うことを特徴とする。
<Modification 1 of this embodiment>
Next, Modification 1 of the service continuation apparatus 10 according to the present embodiment will be described.
The service continuation device 10A (10) according to the first modification of the present embodiment includes a billing DB 150 (see FIGS. 6 and 7 to be described later). Then, when the service continuation device 10A (10) uses the information recorded in the history record DB 130 to respond to the transmission source module as a proxy, the service continuation device 10A (10) records in the billing DB.

図6は、本実施形態の変形例1に係るサービス継続装置10A(10)の構成例を示す機能ブロック図である。
図2に示した本実施形態に係るサービス継続装置10と比べ、記憶部13に課金DB150を備えるとともに、制御部(モジュール仲介部11)内に、課金処理部116を備える点が異なる。なお、図2で示す構成と同じ機能を備える構成については、同一の名称と符号を付し、説明を省略する。
FIG. 6 is a functional block diagram illustrating a configuration example of the service continuation device 10A (10) according to the first modification of the present embodiment.
Compared with the service continuation apparatus 10 according to the present embodiment shown in FIG. 2, the storage unit 13 includes a charging DB 150, and the control unit (module mediation unit 11) includes a charging processing unit 116. In addition, about the structure provided with the same function as the structure shown in FIG. 2, the same name and code | symbol are attached | subjected and description is abbreviate | omitted.

課金処理部116は、代理応答部115の処理を監視し、代理応答部115が、障害が発生した呼出先モジュールについて、履歴記録DB130を検索し、スコア135の値がスコア閾値140以上の履歴情報について、応答内容を代理で返却した場合に、課金DB150に記録を行う。   The billing processing unit 116 monitors the processing of the proxy response unit 115, and the proxy response unit 115 searches the history record DB 130 for a call destination module in which a failure has occurred, and history information having a score 135 value equal to or higher than the score threshold 140. Is recorded in the charging DB 150 when the response content is returned by proxy.

図7は、本実施形態の変形例1に係る課金DB150に記録される課金情報のデータ構成を示す図である。
図7に示すように、課金DB150には、呼出元モジュール151、管理者ID152および応答回数153の各項目が課金情報として格納される。
FIG. 7 is a diagram showing a data configuration of billing information recorded in the billing DB 150 according to the first modification of the present embodiment.
As shown in FIG. 7, each item of the caller module 151, the administrator ID 152, and the number of responses 153 is stored in the charging DB 150 as charging information.

呼出元モジュール151には、サービス継続装置10が受信した要求の呼出元のモジュール2の識別子が格納される。この呼出元モジュール151は、図3の履歴記録DB130における呼出元モジュール131と同様の情報である。
管理者ID152には、呼出元モジュール151を管理する管理者の識別子が格納される。例えば、呼出元モジュール151が「3」のモジュール2を管理する管理者の管理者ID152として「#0003」が格納される。
The caller module 151 stores the identifier of the caller module 2 of the request received by the service continuation apparatus 10. This caller module 151 is the same information as the caller module 131 in the history record DB 130 of FIG.
The administrator ID 152 stores an identifier of an administrator who manages the caller module 151. For example, “# 0003” is stored as the manager ID 152 of the manager who manages the module 2 whose call source module 151 is “3”.

応答回数153には、代理応答部115が、履歴記録DB130に記録された応答内容134を用いて、障害が発生した呼出先モジュールの代わりに応答した回数が格納される。例えば、図7に示す例では、呼出元モジュール151に対して、障害が発生した呼出先モジュールの代わりに「45(回)」応答したことが格納される。   The number of responses 153 stores the number of times that the proxy response unit 115 responded using the response content 134 recorded in the history record DB 130 instead of the call destination module in which the failure occurred. For example, in the example illustrated in FIG. 7, a response of “45 (times)” is stored in response to the call source module 151 instead of the call destination module in which the failure has occurred.

このように、本実施形態の変形例1に係るサービス継続装置10A(10)によれば、代理応答部115が、障害が発生した呼出先モジュールの代わりに応答した回数を課金DB150に記録することができる。よって、サービス継続装置10A(10)の課金DB150に記録された応答回数153に応じて、各モジュール2の管理者に課金することができる。   As described above, according to the service continuation device 10A (10) according to the first modification of the present embodiment, the proxy response unit 115 records the number of times of responding instead of the failed call destination module in the accounting DB 150. Can do. Therefore, the administrator of each module 2 can be charged according to the response count 153 recorded in the charging DB 150 of the service continuation apparatus 10A (10).

<本実施形態の変形例2>
次に、本実施形態に係るサービス継続装置10の変形例2について説明する。
図8は、本実施形態の変形例2に係るサービス継続装置10B(10)を含むサービスシステムの構成を示す図である。
図8に示すサービスシステムでは、図1に示したサービスシステムに加え、データセンタ「2」内に、予備モジュール2B(2)を備えることを特徴する。この予備モジュール2B(2)は、データセンタ「1」等に備わるモジュール2それぞれに対応する予備のモジュールである。つまり、モジュール2と予備モジュール2B(2)とは、同一の処理を実行する機能を有する。図8では、モジュール「1」「2」「3」のそれぞれに対応する予備モジュール「1」「2」「3」が、データセンタ「2」のサーバ「3」に備わる例を示している。ただし、この予備モジュール2B(2)それぞれは、1つのデータセンタ100内に備わることに限定されず、複数のデータセンタ100内に備わる構成でもよい。また、図8に示すように、1つのサーバ20(ここでは、サーバ「3」)内にすべての予備モジュール2B(2)が格納されることに限定されず、複数のサーバ20に分散して格納されていてもよい。
<Modification 2 of this embodiment>
Next, a second modification of the service continuation device 10 according to the present embodiment will be described.
FIG. 8 is a diagram illustrating a configuration of a service system including the service continuation device 10B (10) according to the second modification of the present embodiment.
The service system shown in FIG. 8 is characterized in that a spare module 2B (2) is provided in the data center “2” in addition to the service system shown in FIG. The spare module 2B (2) is a spare module corresponding to each of the modules 2 included in the data center “1” and the like. That is, the module 2 and the spare module 2B (2) have a function of executing the same processing. FIG. 8 illustrates an example in which spare modules “1”, “2”, and “3” corresponding to the modules “1”, “2”, and “3” are provided in the server “3” of the data center “2”. However, each of the spare modules 2B (2) is not limited to being provided in one data center 100, and may be provided in a plurality of data centers 100. Further, as shown in FIG. 8, it is not limited to storing all spare modules 2B (2) in one server 20 (in this case, server “3”), but distributed to a plurality of servers 20. It may be stored.

本実施形態の変形例2に係るサービス継続装置10B(10)は、図9に示すように、モジュール仲介部11B(11)を備える。このモジュール仲介部11B(11)は、図2に示すサービス継続装置10の代理応答部115とは異なる代理応答部115B(115)を有する。なお、図2で示す構成と同じ機能を備える構成については、図9においても、同一の名称と符号を付し、説明を省略する。   The service continuation device 10B (10) according to the second modification of the present embodiment includes a module mediation unit 11B (11) as illustrated in FIG. This module mediation unit 11B (11) has a proxy response unit 115B (115) different from the proxy response unit 115 of the service continuation apparatus 10 shown in FIG. In addition, about the structure provided with the same function as the structure shown in FIG. 2, the same name and code | symbol are attached | subjected also in FIG. 9, and description is abbreviate | omitted.

代理応答部115B(115)は、図2に示す本実施形態の代理応答部115と同様に、障害が発生した呼出先モジュールに向けての要求に基づき、その呼出元モジュールおよび呼出内容を抽出し、履歴記録DB130(図3参照)の中で、その呼出元モジュール、呼出先モジュール、呼出内容が一致するレコードが格納されているか否かを確認する。そして、代理応答部115B(115)は、記録されている場合、そのレコードのスコア135が、記憶部13に予め設定されているスコア閾値140以上であるか否かを判定する。代理応答部115は、スコア135の値がスコア閾値140以上である場合には、そのレコードで示される応答内容134を、呼出元モジュールに返却する。   The proxy response unit 115B (115) extracts the call source module and the call content based on the request for the call destination module in which the failure has occurred, similarly to the proxy response unit 115 of the present embodiment shown in FIG. In the history record DB 130 (see FIG. 3), it is confirmed whether or not a record having the matching call source module, call destination module, and call content is stored. Then, if the proxy response unit 115B (115) is recorded, the proxy response unit 115B (115) determines whether or not the score 135 of the record is equal to or higher than the score threshold 140 preset in the storage unit 13. If the value of the score 135 is greater than or equal to the score threshold value 140, the proxy response unit 115 returns the response content 134 indicated by the record to the caller module.

一方、代理応答部115B(115)は、履歴記録DB130に、呼出元モジュール、呼出先モジュール、呼出内容が一致するレコードが記録されていない場合、記録されている場合であっても、スコア135の値がスコア閾値140未満であるときには、障害が発生した呼出先モジュールに対応する予備モジュール2B(2)に対して、要求を送信する。そして、代理応答部115B(115)は、呼出先モジュールに対応する予備モジュール2B(2)から応答を取得し、その応答を呼出元モジュールに返却する。   On the other hand, the proxy response unit 115B (115) has a score of 135 even if the call record module, the call destination module, and a record with matching call contents are not recorded or recorded in the history record DB 130. When the value is less than the score threshold 140, a request is transmitted to the backup module 2B (2) corresponding to the call destination module in which the failure has occurred. Then, the proxy response unit 115B (115) acquires a response from the spare module 2B (2) corresponding to the call destination module, and returns the response to the call source module.

≪処理の流れ≫
次に、本実施形態の変形例2に係るサービス継続装置10B(10)を含むサービスシステムが実行する処理の流れについて説明する。
図10は、本実施形態の変形例2に係るサービス継続装置10B(10)を含むサービスシステムの処理を示すシーケンス図である。なお、サービス継続装置10B(10)の記憶部13には、予めスコア閾値140(ここでは、「300」とする。)が登録されているものとする。また、図5のステップS10〜S14に示す通常時の処理により、サービス継続装置10B(10)は、モジュール2間の呼出・応答に伴い、随時、履歴記録DB130を更新している。そして、サービス継続装置10B(10)は、各モジュール2の死活監視を実行することにより(ステップS20〜S22)、モジュール「1」の障害を検出したものとする。ここでは、ステップS22でのモジュール「1」の障害発生の検出後に、サービス継続装置10B(10)の履歴記録DB130に記録されている履歴情報が、図3に示す状態であるとして説明する。
≪Process flow≫
Next, a flow of processing executed by a service system including the service continuation device 10B (10) according to the second modification of the present embodiment will be described.
FIG. 10 is a sequence diagram showing processing of the service system including the service continuation device 10B (10) according to the second modification of the present embodiment. It is assumed that the score threshold 140 (here, “300”) is registered in the storage unit 13 of the service continuation device 10B (10). Further, the service continuation device 10B (10) updates the history record DB 130 as needed in accordance with the call / response between the modules 2 by the normal processing shown in steps S10 to S14 in FIG. Then, it is assumed that the service continuation device 10B (10) detects the failure of the module “1” by executing the alive monitoring of each module 2 (steps S20 to S22). Here, it is assumed that the history information recorded in the history record DB 130 of the service continuation apparatus 10B (10) after the occurrence of the failure of the module “1” in step S22 is in the state shown in FIG.

ステップS22の後、サービス継続装置10B(10)が、モジュール「2」(呼出元モジュール)からモジュール「1」(送信先モジュール)への要求(GETID user1)を受信する(ステップS50)。
この場合、サービス継続装置10B(10)の呼出内容通知部111は、モジュール「1」に障害が発生しているため、その要求を、代理応答部115B(115)に出力する。
After step S22, service continuation apparatus 10B (10) receives a request (GETID user1) from module “2” (calling source module) to module “1” (destination module) (step S50).
In this case, the call content notification unit 111 of the service continuation apparatus 10B (10) outputs a request to the proxy response unit 115B (115) because a failure has occurred in the module “1”.

サービス継続装置10B(10)の代理応答部115B(115)は、その要求に付された、送信元モジュール(モジュール「2」)、送信先モジュール(モジュール「1」)、呼出内容(GETID user1)を用いて、履歴記録DB130(図3)を検索し、これらの情報が一致するレコードが記録されているか否かを確認する(ステップS51)。   The proxy response unit 115B (115) of the service continuation apparatus 10B (10) adds the transmission source module (module “2”), the transmission destination module (module “1”), and the call content (GETID user1) to the request. Is used to search the history record DB 130 (FIG. 3), and it is confirmed whether or not a record having the same information is recorded (step S51).

そして、代理応答部115B(115)は、記録されている場合には、そのレコードのスコア135の値が、スコア閾値140(「300」)以上であるか否かを判定する。
ここでは、図3に示す履歴記録DB130の2行目に示すレコードのスコア135の値が「5」であるので、代理応答部115B(115)は、スコア閾値140(「300」)以上ではないと判定する。
If the response is recorded, the proxy response unit 115B (115) determines whether or not the score 135 of the record is equal to or greater than the score threshold 140 (“300”).
Here, since the value of the score 135 of the record shown in the second line of the history record DB 130 shown in FIG. 3 is “5”, the proxy response unit 115B (115) is not equal to or higher than the score threshold 140 (“300”). Is determined.

続いて、代理応答部115B(115)は、障害が発生した呼出先モジュールに対応する予備モジュール2B(2)に対して、要求を送信する(ステップS52)。ここでは、代理応答部115B(115)は、障害が発生した呼出先となるモジュール「1」に対応する予備モジュール「1」に、要求(GETID user1)を送信する。   Subsequently, the proxy response unit 115B (115) transmits a request to the spare module 2B (2) corresponding to the call destination module in which the failure has occurred (step S52). Here, the proxy response unit 115B (115) transmits a request (GETID user1) to the spare module “1” corresponding to the module “1” that is the call destination in which the failure has occurred.

そして、サービス継続装置10B(10)の代理応答部115B(115)は、予備モジュール「1」から応答(「1018714」)を受信する(ステップS53)。
次に、代理応答部115B(115)は、受信した応答(「1018714」)を、呼出元モジュール(モジュール「2」)に返却する(ステップS54)。
Then, the proxy response unit 115B (115) of the service continuation device 10B (10) receives the response (“1018714”) from the backup module “1” (step S53).
Next, the proxy response unit 115B (115) returns the received response (“1018714”) to the caller module (module “2”) (step S54).

このようにすることで、本実施形態の変形例2に係るサービス継続装置10B(10)は、ステートフルなモジュール2とステートレスなモジュール2とが混在する場合であっても、記録判定ロジックにより、ステートレスなモジュール2からの応答内容を履歴記録DB130に確実に記録しておくことができる。よって、ステートレスなモジュール2に障害が発生した場合においては、サービス継続装置10B(10)が代理で応答することができる。また、サービス継続装置10B(10)は、ステートフルなモジュール2に障害が発生した場合において、予備モジュール2B(2)から応答を取得して、呼出元モジュールに返却することができる。よって、本実施形態の変形例2に係るサービス継続装置10B(10)によれば、モジュール2に障害が発生した場合において、より確実にサービスを継続することが可能となる。   By doing in this way, the service continuation device 10B (10) according to the second modification of the present embodiment is stateless by the recording determination logic even when the stateful module 2 and the stateless module 2 are mixed. The response contents from the module 2 can be reliably recorded in the history record DB 130. Therefore, when a failure occurs in the stateless module 2, the service continuation device 10B (10) can respond on behalf. Further, the service continuation device 10B (10) can obtain a response from the spare module 2B (2) and return it to the caller module when a failure occurs in the stateful module 2. Therefore, according to the service continuation device 10B (10) according to the second modification of the present embodiment, it is possible to continue the service more reliably when a failure occurs in the module 2.

2 モジュール
2B 予備モジュール
10,10A,10B サービス継続装置
11,11B モジュール仲介部
12 入出力部
13 記憶部
100 データセンタ
111 呼出内容通知部
112 履歴記録部
113 応答内容返却部
114 死活監視部
115,115B 代理応答部
116 課金処理部
130 履歴記録DB
140 スコア閾値
150 課金DB
2 module 2B spare module 10, 10A, 10B service continuation device 11, 11B module mediation unit 12 input / output unit 13 storage unit 100 data center 111 call content notification unit 112 history recording unit 113 response content return unit 114 alive monitoring unit 115, 115B Proxy response unit 116 Charge processing unit 130 History record DB
140 Score threshold 150 Billing DB

Claims (5)

分割された複数のモジュールを組み合わせてサービスを提供するシステムにおいて、呼出元となる前記モジュールを示す呼出元モジュールと、呼出先となる前記モジュールを示す呼出先モジュールとの間の呼出および応答の処理を仲介するサービス継続装置であって、
前記呼出元モジュール、前記呼出先モジュール、前記呼出元モジュールからの呼出に付された呼出内容、前記呼出先モジュールからの応答に付された応答内容、および、当該呼出に対し当該応答内容により応答した回数を示すスコア、が記録される履歴記録DB(DataBase)、並びに、前記応答を代理で実行するか否かを前記スコアを用いて判定するためのスコア閾値、を記憶する記憶部と、
前記呼出元モジュールからの前記呼出内容が付された呼出を受け取り、前記呼出先モジュールに通知する呼出内容通知部と、
前記呼出先モジュールから前記呼出に対する応答を受け取り、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容を示す履歴情報を用いて、記録判断ロジックに基づき、前記履歴情報を記録するか否かを判定し、記録すると判定した履歴情報を前記履歴記録DBに記録する履歴記録部と、
複数の前記モジュールの障害を検出することにより前記モジュールの死活監視を行う死活監視部と、
前記障害を検出したモジュールが前記呼出先モジュールとなる呼出を受け取った際に、当該呼出についての、前記呼出元モジュール、前記呼出先モジュールおよび前記呼出内容を用いて前記履歴記録DBを参照し、一致する履歴情報があるか否かを判定し、一致する履歴情報が記録されている場合であり、当該履歴情報の前記スコアが前記スコア閾値以上であるときに、前記履歴記録DBの当該履歴情報で示される応答内容を、前記呼出元モジュールに返却する代理応答部と、を備え、
前記記録判断ロジックは、
前記呼出元モジュールから受け取った呼出についての、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容が前記履歴記録DBに記録された履歴情報と一致する場合に、当該呼出元モジュール、当該呼出先モジュール、当該呼出内容、および、当該応答内容を、前記履歴記録DBに記録するものとして、前記スコアをインクリメントし、前記呼出元モジュール、前記呼出先モジュールおよび前記呼出内容が一致しているが、前記応答内容が一致しない場合に、当該呼出についての、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容を、前記履歴記録DBに記録しない、というロジックであること
を特徴とするサービス継続装置。
In a system for providing a service by combining a plurality of divided modules, processing of a call and a response between a call source module indicating the module serving as a call source and a call destination module indicating the module serving as a call destination A service continuation device that mediates,
The caller module, the callee module, the call content attached to the call from the caller module, the response content attached to the response from the callee module, and responding to the call with the response content A storage unit for storing a history recording DB (DataBase) in which a score indicating the number of times is recorded, and a score threshold for determining whether to execute the response on behalf of the score, using the score;
A call content notification unit that receives a call with the call content from the call source module and notifies the call destination module;
A response to the call is received from the call destination module, and the history information is recorded based on a record determination logic using the call source module, the call destination module, the call content, and history information indicating the response content. A history recording unit that determines whether to record and records history information determined to be recorded in the history recording DB;
A life / death monitoring unit that performs life / death monitoring of the module by detecting a failure of the plurality of modules,
When the module that has detected the failure receives a call that becomes the call destination module, the call record module, the call destination module, and the call content for the call are referred to the history record DB to match. It is a case where there is history information to be matched, and when matching history information is recorded, and when the score of the history information is greater than or equal to the score threshold, the history information in the history recording DB A proxy response unit for returning the response content shown to the caller module;
The record determination logic is
When the call source module, the call destination module, the call content, and the response content for the call received from the call source module match the history information recorded in the history record DB, the call source Assuming that the module, the call destination module, the call content, and the response content are recorded in the history record DB, the score is incremented, and the call source module, the call destination module, and the call content match. However, if the response content does not match, the call source module, the call destination module, the call content, and the response content for the call are not recorded in the history record DB. A service continuation device characterized by being.
前記記憶部には、前記呼出元モジュールに対応付けて、前記代理応答部が前記履歴記録DBに記録された履歴情報で示される応答内容を前記呼出元モジュールに返却した応答回数が記録される課金DBがさらに記憶されており、
前記代理応答部が、前記障害を検出したモジュールが前記呼出先モジュールとなる呼出を受け取った際に、前記履歴記録DBに記録された履歴情報で示される応答内容を、前記呼出元モジュールに返却した場合に、応答をした回数を前記呼出元モジュールごとに前記課金DBに記録する課金処理部を、をさらに備えること
を特徴とする請求項1に記載のサービス継続装置。
The storage unit records the number of responses that the proxy response unit returns to the call source module the response content indicated by the history information recorded in the history record DB in association with the call source module DB is further memorized,
When the module that detected the failure receives a call that becomes the call destination module, the proxy response unit returns the response content indicated by the history information recorded in the history record DB to the call source module. 2. The service continuation apparatus according to claim 1, further comprising: a billing processing unit that records the number of times of response to the billing DB for each caller module.
前記システムは、前記複数のモジュールそれぞれに対応した同一の機能を備える複数の予備モジュールを備えており、
前記サービス継続装置の代理応答部は、
前記障害を検出したモジュールが前記呼出先モジュールとなる呼出を受け取った際に、当該呼出についての、前記呼出元モジュール、前記呼出先モジュールおよび前記呼出内容を用いて前記履歴記録DBを参照し、一致する履歴情報があるか否かを判定し、一致する履歴情報が記録されていない場合、および、一致する履歴情報が記録されているが、当該履歴情報の前記スコアが前記スコア閾値未満である場合に、当該呼出を前記呼出先モジュールに対応した前記予備モジュールに通知し、当該予備モジュールから応答を受け取り、当該応答に付された応答内容を前記呼出元モジュールに返却すること
を特徴する請求項1に記載のサービス継続装置。
The system includes a plurality of spare modules having the same function corresponding to each of the plurality of modules.
The proxy response unit of the service continuation device is:
When the module that has detected the failure receives a call that becomes the call destination module, the call record module, the call destination module, and the call content for the call are referred to the history record DB to match. If there is no history information that matches, and the history information that matches is recorded, but the score of the history information is less than the score threshold In addition, the call is notified to the spare module corresponding to the callee module, a response is received from the spare module, and the response content attached to the response is returned to the call source module. The service continuation device described in 1.
分割された複数のモジュールを組み合わせてサービスを提供するシステムにおいて、呼出元となる前記モジュールを示す呼出元モジュールと、呼出先となる前記モジュールを示す呼出先モジュールとの間の呼出および応答の処理を仲介するサービス継続装置のサービス継続方法であって、
前記サービス継続装置は、
前記呼出元モジュール、前記呼出先モジュール、前記呼出元モジュールからの呼出に付された呼出内容、前記呼出先モジュールからの応答に付された応答内容、および、当該呼出に対し当該応答内容により応答した回数を示すスコア、が記録される履歴記録DB、並びに、前記応答を代理で実行するか否かを前記スコアを用いて判定するためのスコア閾値、を記憶部に記憶しており、
前記呼出元モジュールからの前記呼出内容が付された呼出を受け取り、前記呼出先モジュールに通知するステップと、
前記呼出先モジュールから前記呼出に対する応答を受け取り、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容を示す履歴情報を用いて、記録判断ロジックに基づき、前記履歴情報を記録するか否かを判定し、記録すると判定した履歴情報を前記履歴記録DBに記録するステップと、
複数の前記モジュールの障害を検出することにより前記モジュールの死活監視を行うステップと、
前記障害を検出したモジュールが前記呼出先モジュールとなる呼出を受け取った際に、当該呼出についての、前記呼出元モジュール、前記呼出先モジュールおよび前記呼出内容を用いて前記履歴記録DBを参照し、一致する履歴情報があるか否かを判定し、一致する履歴情報が記録されている場合であり、当該履歴情報の前記スコアが前記スコア閾値以上であるときに、前記履歴記録DBの当該履歴情報で示される応答内容を、前記呼出元モジュールに返却するステップと、を実行し、
前記記録判断ロジックは、
前記呼出元モジュールから受け取った呼出についての、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容が前記履歴記録DBに記録された履歴情報と一致する場合に、当該呼出元モジュール、当該呼出先モジュール、当該呼出内容、および、当該応答内容を、前記履歴記録DBに記録するものとして、前記スコアをインクリメントし、前記呼出元モジュール、前記呼出先モジュールおよび前記呼出内容が一致しているが、前記応答内容が一致しない場合に、当該呼出についての、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容を、前記履歴記録DBに記録しない、というロジックであること
を特徴とするサービス継続方法。
In a system for providing a service by combining a plurality of divided modules, processing of a call and a response between a call source module indicating the module serving as a call source and a call destination module indicating the module serving as a call destination A service continuation method for a mediation service continuation device,
The service continuation device comprises:
The caller module, the callee module, the call content attached to the call from the caller module, the response content attached to the response from the callee module, and responding to the call with the response content A history recording DB in which a score indicating the number of times is recorded, and a score threshold for determining whether to execute the response on behalf using the score are stored in the storage unit,
Receiving a call with the call content from the caller module and notifying the callee module;
A response to the call is received from the call destination module, and the history information is recorded based on a record determination logic using the call source module, the call destination module, the call content, and history information indicating the response content. Determining whether or not to record, and recording history information determined to be recorded in the history recording DB;
Performing alive monitoring of the module by detecting a failure of the plurality of modules;
When the module that has detected the failure receives a call that becomes the call destination module, the call record module, the call destination module, and the call content for the call are referred to the history record DB to match. It is a case where there is history information to be matched, and when matching history information is recorded, and when the score of the history information is greater than or equal to the score threshold, the history information in the history recording DB Returning the response content shown to the caller module;
The record determination logic is
When the call source module, the call destination module, the call content, and the response content for the call received from the call source module match the history information recorded in the history record DB, the call source Assuming that the module, the call destination module, the call content, and the response content are recorded in the history record DB, the score is incremented, and the call source module, the call destination module, and the call content match. However, if the response content does not match, the call source module, the call destination module, the call content, and the response content for the call are not recorded in the history record DB. A service continuation method characterized by being.
分割された複数のモジュールを組み合わせてサービスを提供するシステムにおいて、呼出元となる前記モジュールを示す呼出元モジュールと、呼出先となる前記モジュールを示す呼出先モジュールとの間の呼出および応答の処理を仲介するサービス継続装置としてのコンピュータを、
前記呼出元モジュール、前記呼出先モジュール、前記呼出元モジュールからの呼出に付された呼出内容、前記呼出先モジュールからの応答に付された応答内容、および、当該呼出に対し当該応答内容により応答した回数を示すスコア、が記録される履歴記録DB、並びに、前記応答を代理で実行するか否かを前記スコアを用いて判定するためのスコア閾値、を記憶する手段、
前記呼出元モジュールからの前記呼出内容が付された呼出を受け取り、前記呼出先モジュールに通知する手段、
前記呼出先モジュールから前記呼出に対する応答を受け取り、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容を示す履歴情報を用いて、記録判断ロジックに基づき、前記履歴情報を記録するか否かを判定し、記録すると判定した履歴情報を前記履歴記録DBに記録する手段、
複数の前記モジュールの障害を検出することにより前記モジュールの死活監視を行う手段、
前記障害を検出したモジュールが前記呼出先モジュールとなる呼出を受け取った際に、当該呼出についての、前記呼出元モジュール、前記呼出先モジュールおよび前記呼出内容を用いて前記履歴記録DBを参照し、一致する履歴情報があるか否かを判定し、一致する履歴情報が記録されている場合であり、当該履歴情報の前記スコアが前記スコア閾値以上であるときに、前記履歴記録DBの当該履歴情報で示される応答内容を、前記呼出元モジュールに返却する手段、として機能させ、
前記記録判断ロジックは、
前記呼出元モジュールから受け取った呼出についての、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容が前記履歴記録DBに記録された履歴情報と一致する場合に、当該呼出元モジュール、当該呼出先モジュール、当該呼出内容、および、当該応答内容を、前記履歴記録DBに記録するものとして、前記スコアをインクリメントし、前記呼出元モジュール、前記呼出先モジュールおよび前記呼出内容が一致しているが、前記応答内容が一致しない場合に、当該呼出についての、前記呼出元モジュール、前記呼出先モジュール、前記呼出内容、および、前記応答内容を、前記履歴記録DBに記録しない、というロジックであること
として機能させるためのプログラム。
In a system for providing a service by combining a plurality of divided modules, processing of a call and a response between a call source module indicating the module serving as a call source and a call destination module indicating the module serving as a call destination A computer as a service continuation device to mediate,
The caller module, the callee module, the call content attached to the call from the caller module, the response content attached to the response from the callee module, and responding to the call with the response content Means for storing a history record DB in which a score indicating the number of times is recorded, and a score threshold for determining whether or not to execute the response on behalf using the score;
Means for receiving a call with the call content from the call source module and notifying the call destination module;
A response to the call is received from the call destination module, and the history information is recorded based on a record determination logic using the call source module, the call destination module, the call content, and history information indicating the response content. Means for recording the history information determined to be recorded in the history recording DB;
Means for alive monitoring of the module by detecting a failure of the plurality of modules;
When the module that has detected the failure receives a call that becomes the call destination module, the call record module, the call destination module, and the call content for the call are referred to the history record DB to match. It is a case where there is history information to be matched, and when matching history information is recorded, and when the score of the history information is greater than or equal to the score threshold, the history information in the history recording DB Functioning as a means for returning the response content shown to the caller module;
The record determination logic is
When the call source module, the call destination module, the call content, and the response content for the call received from the call source module match the history information recorded in the history record DB, the call source Assuming that the module, the call destination module, the call content, and the response content are recorded in the history record DB, the score is incremented, and the call source module, the call destination module, and the call content match. However, if the response content does not match, the call source module, the call destination module, the call content, and the response content for the call are not recorded in the history record DB. A program to make it function as it is.
JP2016122265A 2016-06-21 2016-06-21 Service continuation apparatus, service continuation method and program Active JP6511019B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016122265A JP6511019B2 (en) 2016-06-21 2016-06-21 Service continuation apparatus, service continuation method and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016122265A JP6511019B2 (en) 2016-06-21 2016-06-21 Service continuation apparatus, service continuation method and program

Publications (2)

Publication Number Publication Date
JP2017228007A true JP2017228007A (en) 2017-12-28
JP6511019B2 JP6511019B2 (en) 2019-05-08

Family

ID=60891816

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016122265A Active JP6511019B2 (en) 2016-06-21 2016-06-21 Service continuation apparatus, service continuation method and program

Country Status (1)

Country Link
JP (1) JP6511019B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020101912A (en) * 2018-12-20 2020-07-02 楽天株式会社 Test support device and test support method and program

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280738A (en) * 2003-03-19 2004-10-07 Hitachi Ltd Proxy response device
JP2010288225A (en) * 2009-06-15 2010-12-24 Canon Inc Data processing apparatus and data processing method
JP2011146761A (en) * 2010-01-12 2011-07-28 Nec Computertechno Ltd Multi-node system, inter-node switch, and data relay method
JP2015053537A (en) * 2013-09-05 2015-03-19 コニカミノルタ株式会社 Communication device, customization method therefor, and computer program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004280738A (en) * 2003-03-19 2004-10-07 Hitachi Ltd Proxy response device
US20040221207A1 (en) * 2003-03-19 2004-11-04 Hitachi, Ltd. Proxy response apparatus
JP2010288225A (en) * 2009-06-15 2010-12-24 Canon Inc Data processing apparatus and data processing method
JP2011146761A (en) * 2010-01-12 2011-07-28 Nec Computertechno Ltd Multi-node system, inter-node switch, and data relay method
JP2015053537A (en) * 2013-09-05 2015-03-19 コニカミノルタ株式会社 Communication device, customization method therefor, and computer program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020101912A (en) * 2018-12-20 2020-07-02 楽天株式会社 Test support device and test support method and program

Also Published As

Publication number Publication date
JP6511019B2 (en) 2019-05-08

Similar Documents

Publication Publication Date Title
US11269718B1 (en) Root cause detection and corrective action diagnosis system
US8010840B2 (en) Generation of problem tickets for a computer system
CN115190035B (en) System, method, apparatus, and medium for providing mobile device support services
JP2017538200A (en) Service addressing in a distributed environment
US9417939B2 (en) Dynamic escalation of service conditions
US20220255823A1 (en) On-demand outages notification in a cloud environment
CN107612950A (en) A kind of method, apparatus, system, electronic equipment that service is provided
CN108418859B (en) Method and device for writing data
CN107018159B (en) Service request processing method and device, and service request method and device
CN113268471A (en) Method, proxy connection pool, system, device, and medium for processing distributed transactions
CN107508700B (en) Disaster recovery method, device, equipment and storage medium
US20220385528A1 (en) Detecting outages in a cloud environment
CN111813348A (en) Node event processing device, method, equipment and medium in unified storage equipment
US9135084B2 (en) Service provider class application scalability and high availability and processing prioritization using a weighted load distributor and throttle middleware
JP2005301436A (en) Cluster system and failure recovery method for it
JP2006277685A (en) Fault occurrence notification program and notifying device
JP6511019B2 (en) Service continuation apparatus, service continuation method and program
CN109102256A (en) A kind of O&amp;M method and server
KR101758337B1 (en) Method for preventing overlap notice of message, storing medium and user device implementing the same
US11582345B2 (en) Context data management interface for contact center
US8233595B2 (en) System and method for forwarding a session based on a recording capacity
US8595349B1 (en) Method and apparatus for passive process monitoring
US11640330B2 (en) Failure estimation support apparatus, failure estimation support method and failure estimation support program
CN111064608A (en) Master-slave switching method and device of message system, electronic equipment and storage medium
US10419368B1 (en) Dynamic scaling of computing message architecture

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180619

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190405

R150 Certificate of patent or registration of utility model

Ref document number: 6511019

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150