JP2011159014A - Information processing system, information processing device, communication control program, and communication control method - Google Patents

Information processing system, information processing device, communication control program, and communication control method Download PDF

Info

Publication number
JP2011159014A
JP2011159014A JP2010018699A JP2010018699A JP2011159014A JP 2011159014 A JP2011159014 A JP 2011159014A JP 2010018699 A JP2010018699 A JP 2010018699A JP 2010018699 A JP2010018699 A JP 2010018699A JP 2011159014 A JP2011159014 A JP 2011159014A
Authority
JP
Japan
Prior art keywords
server
unit
version number
session
information
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
JP2010018699A
Other languages
Japanese (ja)
Other versions
JP5231461B2 (en
Inventor
Takayuki Matsui
孝行 松井
Masatoshi Koda
昌利 鴻田
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.)
Fujitsu Frontech Ltd
Original Assignee
Fujitsu Frontech Ltd
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 Fujitsu Frontech Ltd filed Critical Fujitsu Frontech Ltd
Priority to JP2010018699A priority Critical patent/JP5231461B2/en
Publication of JP2011159014A publication Critical patent/JP2011159014A/en
Application granted granted Critical
Publication of JP5231461B2 publication Critical patent/JP5231461B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide an information processing system which prevents connection information from being inconsistent. <P>SOLUTION: A monitoring part 1c monitors an operational state of a service providing part 1b. A transmission part 1d transmits prescribed control information when the monitoring part 1c detects the completion of the start-up of the service providing part 1b. The service providing part 1b transmits a request for processing to the service providing part 1b via a prescribed resource. A connection information storage part 2a stores connection information which defines resources. When receiving the control information from an information processing device 1, a control part 2c disables a resource included in the connection information stored in the connection information storage part 2a on the basis of the received control information. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、サーバ間通信を制御するための接続情報を管理する情報処理システム、情報処理装置、通信制御プログラムおよび通信制御方法に関する。   The present invention relates to an information processing system, an information processing apparatus, a communication control program, and a communication control method for managing connection information for controlling communication between servers.

従来、ネットワークで接続された複数の情報処理装置間でデータ通信を行う情報処理システムが利用されている。この情報処理システムとして、例えば業務アプリケーションプログラムを実行するアプリケーション(AP:Application)サーバと各種データを格納するデータベース(DB:Database)サーバとを接続した業務処理システムがある。   Conventionally, an information processing system for performing data communication between a plurality of information processing apparatuses connected via a network has been used. As this information processing system, for example, there is a business processing system in which an application (AP) server that executes a business application program and a database (DB) server that stores various data are connected.

この業務処理システムでは、APサーバとDBサーバとの間の通信をセッション(Session)と呼ばれる接続情報単位で管理する。例えば、APサーバはDBサーバとの通信を行うためにDBサーバからセッションの払い出しを受ける。APサーバは払い出されたセッションをDBサーバに対応付けて接続情報として管理する。一方、DBサーバも払い出したセッションをAPサーバに対応付けて接続情報として管理する。APサーバは、確立したセッションを介してDBサーバに処理を要求する。DBサーバは、そのセッションを介してAPサーバに応答する。   In this business processing system, communication between the AP server and the DB server is managed in connection information units called sessions. For example, the AP server receives a session from the DB server in order to communicate with the DB server. The AP server manages the paid-out session as connection information in association with the DB server. On the other hand, the DB server also manages the delivered session in association with the AP server as connection information. The AP server requests processing from the DB server via the established session. The DB server responds to the AP server through the session.

しかし、通信を行う都度セッションの確立を行うとすると、高頻度で通信が発生した場合にセッション要求・払い出しが多発する。このため、各サーバで通信が輻輳したり、処理負荷が増大したりする可能性がある。   However, if a session is established every time communication is performed, session requests / payouts frequently occur when communication occurs frequently. For this reason, there is a possibility that communication will be congested in each server or the processing load will increase.

これに対し、例えばAPサーバは、利用すべき複数のセッションをDBサーバとの間で予め合意・確立して保持しておくことが考えられる。この場合、APサーバは割り当てられたセッションを再利用してDBサーバと通信する。このような技術は、セッションプール(Session Pool)と呼ばれる。セッションプールを用いることで、セッション確立を通信発生の都度行う必要がなくなる。そのため、上述のような輻輳等を抑止できる。   On the other hand, for example, the AP server may conceivably hold and establish a plurality of sessions to be used with the DB server in advance. In this case, the AP server communicates with the DB server by reusing the assigned session. Such a technique is called a session pool. By using a session pool, it is not necessary to establish a session each time communication occurs. For this reason, the congestion as described above can be suppressed.

ところで、上述の業務処理システムではセッションを管理する機能の障害によってサーバ間のデータ通信に支障がでる場合がある。業務処理システムでは、その運用にあたり、このような障害への対応を適切に行えることが望ましい。   By the way, in the above-described business processing system, there is a case where data communication between servers may be hindered by a failure of a function for managing a session. In the business processing system, it is desirable that such a failure can be appropriately dealt with in the operation.

そこで、セッションの確立から解放までを単位として、その間の通信情報を適切に取得する方法がある(例えば、特許文献1参照)。また、要求元装置から要求された処理につきセッションを介してデータベースへアクセスできない場合に、要求元装置に効率的にエラーを送信する方法がある(例えば、特許文献2参照)。   Therefore, there is a method of appropriately acquiring communication information between the establishment and release of a session as a unit (see, for example, Patent Document 1). In addition, there is a method for efficiently transmitting an error to a request source apparatus when the database requested by the request source apparatus cannot be accessed via a session (for example, see Patent Document 2).

更に、業務処理システムを負荷分散構成とすることが考えられる。例えば、複数のAPサーバと複数のDBサーバとを設ける。このようにすると、例えばAP層(APサーバの集合)およびDB層(DBサーバの集合)で負荷の均一化を図ることができる。また、例えばAPサーバやDBサーバの何れかでサービスの提供機能に障害が発生したとしても業務処理を継続できる。すなわち、業務処理システム全体の応答性や可用性を向上できる。   Furthermore, it can be considered that the business processing system has a load distribution configuration. For example, a plurality of AP servers and a plurality of DB servers are provided. In this way, for example, the load can be made uniform in the AP layer (a set of AP servers) and the DB layer (a set of DB servers). Further, for example, even if a failure occurs in the service providing function in either the AP server or the DB server, the business process can be continued. That is, the responsiveness and availability of the entire business processing system can be improved.

特許2928157号公報Japanese Patent No. 2928157 特開2009−157662号公報JP 2009-157762 A

上述のように業務処理システムを負荷分散構成とすると、障害の発生したサーバは処理の振り分け先から除外される。そして、サービスの提供機能が復旧すると、そのサーバへの処理の振り分けが再開される。   As described above, when the business processing system has a load distribution configuration, a server in which a failure has occurred is excluded from the processing distribution destination. When the service providing function is restored, the distribution of processing to the server is resumed.

しかし、処理の要求元サーバ(例えば、APサーバ)では、復旧したサーバ(例えば、DBサーバ)との間で障害前に確立していたセッションの管理情報が残存する場合がある。一方、復旧したサーバ(例えば、DBサーバ)ではサービス提供機能のメンテナンス(例えば、再起動)が行われることで、障害前に保持されたセッションはクリアされる。   However, in the process request source server (for example, AP server), there may be a case where the management information of the session established before the failure with the recovered server (for example, DB server) remains. On the other hand, the restored server (for example, DB server) performs maintenance (for example, restart) of the service providing function, thereby clearing the session held before the failure.

この場合、要求元サーバでセッションの管理情報が残存しても、復旧したサーバ側には対応するセッションが存在しないことになる。このため、要求元サーバがそのセッションを用いて通信しようとしても、両サーバで管理するセッションの不整合から通信が行えずにエラーになるという問題があった。また、このエラーにより業務処理が遅延する、適正に処理を行えない等の問題が生じていた。   In this case, even if session management information remains in the request source server, there is no corresponding session on the restored server side. For this reason, even if the requesting server tries to communicate using the session, there is a problem that communication cannot be performed and an error occurs due to inconsistency of the sessions managed by both servers. In addition, problems such as delays in business processing and inability to perform proper processing have occurred due to this error.

本発明はこのような点に鑑みてなされたものであり、接続情報の不整合を抑止する情報処理システム、情報処理装置、通信制御プログラムおよび通信制御方法を提供することを目的とする。   The present invention has been made in view of these points, and an object thereof is to provide an information processing system, an information processing apparatus, a communication control program, and a communication control method that suppress inconsistencies in connection information.

本発明では上記課題を解決するために、情報処理システムが提供される。この情報処理システムは、第1の情報処理装置と第2の情報処理装置とを備える。第1の情報処理装置は、第1のサービス提供部、監視部および送信部を備える。第1のサービス提供部は、処理要求に応じた処理を実行する。監視部は、第1のサービス提供部の稼働状況を監視する。送信部は、監視部が第1のサービス提供部の起動完了を検知すると所定の制御情報を送信する。第2の情報処理装置は、第2のサービス提供部、接続情報記憶部および制御部を有する。第2のサービス提供部は、所定のリソースを介して第1のサービス提供部に処理要求を送信する。接続情報記憶部は、リソースを定義した接続情報を記憶する。制御部は、第1の情報処理装置から制御情報を受信すると、受信した制御情報に基づき接続情報記憶部に記憶された接続情報に含まれる前記リソースを無効とする。   In the present invention, an information processing system is provided to solve the above problems. The information processing system includes a first information processing device and a second information processing device. The first information processing apparatus includes a first service providing unit, a monitoring unit, and a transmission unit. The first service providing unit executes processing according to the processing request. The monitoring unit monitors the operating status of the first service providing unit. The transmission unit transmits predetermined control information when the monitoring unit detects completion of activation of the first service providing unit. The second information processing apparatus includes a second service providing unit, a connection information storage unit, and a control unit. The second service providing unit transmits a processing request to the first service providing unit via a predetermined resource. The connection information storage unit stores connection information defining resources. When receiving the control information from the first information processing apparatus, the control unit invalidates the resource included in the connection information stored in the connection information storage unit based on the received control information.

また、上記課題を解決するために情報処理装置が提供される。この情報処理装置は、監視部および送信部を有する。監視部は、第1のサービス提供部の稼働状況を監視する。送信部は、監視部が第1のサービス提供部の起動完了を検知すると、第2のサービス提供部を備える相手装置に、第2のサービス提供部が第1のサービス提供部に処理要求を送信するために用いるリソースを定義した接続情報を記憶する接続情報記憶部に記憶された接続情報に含まれるリソースの無効化を促す制御情報を送信する。   An information processing apparatus is provided to solve the above problems. This information processing apparatus includes a monitoring unit and a transmission unit. The monitoring unit monitors the operating status of the first service providing unit. When the monitoring unit detects the completion of activation of the first service providing unit, the transmitting unit transmits a processing request to the counterpart device including the second service providing unit, and the second service providing unit transmits the processing request to the first service providing unit. Control information that prompts invalidation of the resource included in the connection information stored in the connection information storage unit that stores the connection information that defines the resource to be used is transmitted.

また、上記課題を解決するために情報処理装置が提供される。この情報処理装置は、接続情報記憶部および制御部を有する。接続情報記憶部は、第1のサービス提供部により相手装置が備える第2のサービス提供部に処理要求を送信するために用いられるリソースを定義した接続情報を記憶する。制御部は、第2のサービス提供部の起動完了が相手装置側で検知された際に、相手装置から送信される所定の制御情報を受信すると、受信した制御情報に基づき接続情報記憶部に記憶された接続情報に含まれるリソースを無効とする。   An information processing apparatus is provided to solve the above problems. This information processing apparatus includes a connection information storage unit and a control unit. The connection information storage unit stores connection information defining resources used by the first service providing unit to transmit a processing request to the second service providing unit provided in the counterpart device. When the control unit receives the predetermined control information transmitted from the partner device when the completion of the activation of the second service providing unit is detected on the partner device side, the control unit stores the control information in the connection information storage unit based on the received control information The resources included in the connected information are invalidated.

また、上記課題を解決するために通信制御プログラムが提供される。この通信制御プログラムを実行するコンピュータは、監視手段および送信手段として機能する。監視手段は、第1のサービス提供手段の稼働状況を監視する。送信手段は、監視手段が第1のサービス提供手段の起動完了を検知すると、第2のサービス提供手段を備える情報処理装置に、第2のサービス提供手段が第1のサービス提供手段に処理要求を送信するために用いるリソースを定義した接続情報を記憶する接続情報記憶手段に記憶された接続情報に含まれるリソースの無効化を促す制御情報を送信する。   A communication control program is provided to solve the above problems. A computer that executes the communication control program functions as a monitoring unit and a transmission unit. The monitoring means monitors the operating status of the first service providing means. When the monitoring unit detects the completion of activation of the first service providing unit, the transmission unit sends a processing request to the information processing apparatus including the second service providing unit, and the second service providing unit sends a processing request to the first service providing unit. Control information that prompts invalidation of the resource included in the connection information stored in the connection information storage unit that stores the connection information defining the resource used for transmission is transmitted.

また、上記課題を解決するために通信制御プログラムが提供される。この通信制御プログラムを実行するコンピュータは、接続情報記憶手段および制御手段として機能する。接続情報記憶手段は、第1のサービス提供手段により情報処理装置が備える第2のサービス提供手段に処理要求を送信するために用いられるリソースを定義した接続情報を記憶する。制御手段は、第2のサービス提供手段の起動完了が情報処理装置側で検知された際に、情報処理装置から送信される所定の制御情報を受信すると、受信した制御情報に基づき接続情報記憶手段に記憶された接続情報に含まれるリソースを無効とする。   A communication control program is provided to solve the above problems. The computer that executes this communication control program functions as connection information storage means and control means. The connection information storage means stores connection information defining resources used for transmitting a processing request to the second service providing means provided in the information processing apparatus by the first service providing means. When the control unit receives the predetermined control information transmitted from the information processing device when the completion of the activation of the second service providing unit is detected on the information processing device side, the control unit stores the connection information storage unit based on the received control information. The resource included in the connection information stored in is invalidated.

また、上記課題を解決するために情報処理システムの通信制御方法が提供される。この通信制御方法では、第1の情報処理装置が、処理要求に応じた処理を実行する第1のサービス提供部の稼働情報を監視し、第1のサービス提供部の起動完了を検知すると所定の制御情報を送信する。そして、第2の情報処理装置が、第1の情報処理装置から制御情報を受信すると、第2のサービス提供部が第1のサービス提供部に処理要求を送信するために用いる所定のリソースを定義した接続情報を記憶する接続情報記憶部に記憶された接続情報に含まれるリソースを無効とする。   In addition, a communication control method for an information processing system is provided to solve the above problems. In this communication control method, when the first information processing apparatus monitors the operation information of the first service providing unit that executes the process according to the processing request and detects the completion of the activation of the first service providing unit, Send control information. Then, when the second information processing apparatus receives control information from the first information processing apparatus, the second service providing unit defines a predetermined resource used for transmitting a processing request to the first service providing unit. The resource included in the connection information stored in the connection information storage unit that stores the connection information is invalidated.

上記情報処理システム、情報処理装置、通信制御プログラムおよび通信制御方法によれば、接続情報の不整合を抑止できる。   According to the information processing system, information processing apparatus, communication control program, and communication control method, it is possible to suppress inconsistencies in connection information.

第1の実施の形態に係る情報処理システムを示す図である。It is a figure showing an information processing system concerning a 1st embodiment. 第2の実施の形態に係る業務処理システムを示す図である。It is a figure which shows the business processing system which concerns on 2nd Embodiment. 第2の実施の形態のDBサーバのハードウェア構成を示す図である。It is a figure which shows the hardware constitutions of DB server of 2nd Embodiment. 第2の実施の形態のDBサーバの機能構成を示す図である。It is a figure which shows the function structure of the DB server of 2nd Embodiment. 第2の実施の形態のAPサーバの機能構成を示す図である。It is a figure which shows the function structure of AP server of 2nd Embodiment. DBサーバが有するクラスタ版数テーブルのデータ構造例を示す図である。It is a figure which shows the example of a data structure of the cluster version number table which DB server has. APサーバが有する版数管理テーブルのデータ構造例を示す図である。It is a figure which shows the example of a data structure of the version number management table which AP server has. APサーバが有するセッション管理テーブルのデータ構造例を示す図である。It is a figure which shows the example of a data structure of the session management table which AP server has. 第2の実施の形態のDBサーバ切替処理を示すシーケンス図である。It is a sequence diagram which shows the DB server switching process of 2nd Embodiment. 第2の実施の形態のDBサービス停止時版数通知処理を示すフローチャートである。It is a flowchart which shows the DB service stop version number notification processing of the second embodiment. 第2の実施の形態のDBサービス起動時版数通知処理を示すフローチャートである。It is a flowchart which shows the DB service starting version number notification process of 2nd Embodiment. 第2の実施の形態のセッション無効化処理を示すフローチャートである。It is a flowchart which shows the session invalidation process of 2nd Embodiment. 第2の実施の形態の業務処理を示すシーケンス図である。It is a sequence diagram which shows the business processing of 2nd Embodiment. 第2の実施の形態のDBリクエスト送信処理を示すフローチャートである。It is a flowchart which shows DB request transmission processing of 2nd Embodiment. 第2の実施の形態のセッション割当処理を示すフローチャートである。It is a flowchart which shows the session allocation process of 2nd Embodiment. 第2の実施の形態のDBレスポンス送信処理を示すフローチャートである。It is a flowchart which shows DB response transmission processing of 2nd Embodiment. 第2の実施の形態のDBレスポンス受信処理を示すフローチャートである。It is a flowchart which shows DB response reception processing of 2nd Embodiment. 第2の実施の形態のセッション整理処理を示すフローチャートである。It is a flowchart which shows the session rearrangement process of 2nd Embodiment. 第2の実施の形態のセッション無効化処理を示す第1のシーケンス図である。It is a 1st sequence diagram which shows the session invalidation process of 2nd Embodiment. 第2の実施の形態のセッション無効化処理を示す第2のシーケンス図である。It is a 2nd sequence diagram which shows the session invalidation process of 2nd Embodiment. 第2の実施の形態のセッション無効化処理を示す第3のシーケンス図である。It is a 3rd sequence diagram which shows the session invalidation process of 2nd Embodiment. 第3の実施の形態のDBサーバの機能構成を示す図である。It is a figure which shows the function structure of DB server of 3rd Embodiment. 第3の実施の形態のAPサーバの機能構成を示す図である。It is a figure which shows the function structure of AP server of 3rd Embodiment. DBサーバが有する版数管理テーブルのデータ構造例を示す図である。It is a figure which shows the example of a data structure of the version number management table which DB server has. DBサーバが有するセッション管理テーブルのデータ構造例を示す図である。It is a figure which shows the example of a data structure of the session management table which DB server has. APサーバが有するサーバ版数テーブルのデータ構造例を示す図である。It is a figure which shows the example of a data structure of the server version number table which AP server has. 第3の実施の形態のAPサーバの縮退開始/縮退解除処理を示すシーケンス図である。FIG. 20 is a sequence diagram illustrating degeneration start / degeneration release processing of an AP server according to the third embodiment. 第3の実施の形態のAPサービス停止時版数通知処理を示すフローチャートである。It is a flowchart which shows the version number notification process at the time of AP service stop of 3rd Embodiment. 第3の実施の形態のAPサービス起動時版数通知処理を示すフローチャートである。It is a flowchart which shows AP service starting version number notification processing of 3rd Embodiment. 第3の実施の形態のセッション解放処理を示すフローチャートである。It is a flowchart which shows the session release process of 3rd Embodiment. 第3の実施の形態の業務処理を示すシーケンス図である。It is a sequence diagram which shows the business processing of 3rd Embodiment. 第3の実施の形態のDBリクエスト送信処理を示すフローチャートである。It is a flowchart which shows DB request transmission processing of 3rd Embodiment. 第3の実施の形態のセッション割当処理を示すフローチャートである。It is a flowchart which shows the session allocation process of 3rd Embodiment. 第3の実施の形態のセッション開設処理を示すフローチャートである。It is a flowchart which shows the session opening process of 3rd Embodiment. 第3の実施の形態のDBレスポンス送信処理を示すフローチャートである。It is a flowchart which shows DB response transmission processing of 3rd Embodiment. 第3の実施の形態のセッション解放処理を示す第1のシーケンス図である。FIG. 10 is a first sequence diagram illustrating session release processing according to the third embodiment. 第3の実施の形態のセッション解放処理を示す第2のシーケンス図である。It is a 2nd sequence diagram which shows the session release process of 3rd Embodiment.

以下、本実施の形態を図面を参照して詳細に説明する。
[第1の実施の形態]
図1は、第1の実施の形態に係る情報処理システムを示す図である。この情報処理システムは、情報処理装置1と情報処理装置2とがネットワークを介して接続される。
Hereinafter, the present embodiment will be described in detail with reference to the drawings.
[First Embodiment]
FIG. 1 is a diagram illustrating an information processing system according to the first embodiment. In this information processing system, the information processing apparatus 1 and the information processing apparatus 2 are connected via a network.

情報処理装置1は、接続情報記憶部1a、サービス提供部1b、監視部1cおよび送信部1dを有する。
接続情報記憶部1aは、サービス提供部1bがサービス提供部2bとの通信に用いるリソースを定義した接続情報を記憶する。サービス提供部2bは、そのリソースを介してサービス提供部1bに処理要求を送信することができる。接続情報に定義されたリソースとは、例えばセッションである。
The information processing apparatus 1 includes a connection information storage unit 1a, a service providing unit 1b, a monitoring unit 1c, and a transmission unit 1d.
The connection information storage unit 1a stores connection information defining resources used by the service providing unit 1b for communication with the service providing unit 2b. The service providing unit 2b can transmit a processing request to the service providing unit 1b via the resource. The resource defined in the connection information is, for example, a session.

通信に用いるリソースは、情報処理装置1と情報処理装置2との間で、予め合意がなされる。例えば、情報処理装置1は、情報処理装置1にアクセスするためのリソースを情報処理装置2に予め割り当てる。情報処理装置1は、割り当てたリソースを接続情報として接続情報記憶部1aに格納して管理する。情報処理装置2では、割り当てられたリソースを接続情報として接続情報記憶部2aに格納して管理する。リソースの割り当ては、例えば情報処理装置1が情報処理装置2から割当要求を受信した際に実行される。   Resources used for communication are agreed in advance between the information processing apparatus 1 and the information processing apparatus 2. For example, the information processing apparatus 1 preallocates resources for accessing the information processing apparatus 1 to the information processing apparatus 2. The information processing apparatus 1 stores and manages the allocated resource as connection information in the connection information storage unit 1a. In the information processing apparatus 2, the allocated resource is stored and managed in the connection information storage unit 2a as connection information. The resource allocation is executed when the information processing apparatus 1 receives an allocation request from the information processing apparatus 2, for example.

サービス提供部1bは、情報処理装置1上で実行されるアプリケーションプログラムである。サービス提供部1bは、接続情報記憶部1aに記憶された接続情報に定義されたリソースを介してサービス提供部2bとデータ通信する。   The service providing unit 1 b is an application program that is executed on the information processing apparatus 1. The service providing unit 1b performs data communication with the service providing unit 2b via the resources defined in the connection information stored in the connection information storage unit 1a.

サービス提供部1bは、サービス提供部2bから受信した処理要求に従った処理を実行する。サービス提供部1bは、その実行結果をサービス提供部2bに応答する。サービス提供部1bは、例えばDBアプリケーションのプロセスである。   The service providing unit 1b executes processing according to the processing request received from the service providing unit 2b. The service providing unit 1b returns the execution result to the service providing unit 2b. The service providing unit 1b is a DB application process, for example.

監視部1cは、サービス提供部1bの稼働状況を監視する。監視部1cは、サービス提供部1bの起動完了を検知すると、その旨を送信部1dに通知する。
送信部1dは、監視部1cがサービス提供部1bの起動完了を検知すると、情報処理装置2に、接続情報記憶部2aに記憶された接続情報の無効化を促す制御情報を送信する。
The monitoring unit 1c monitors the operating status of the service providing unit 1b. When detecting the activation completion of the service providing unit 1b, the monitoring unit 1c notifies the transmission unit 1d to that effect.
When the monitoring unit 1c detects completion of activation of the service providing unit 1b, the transmission unit 1d transmits control information that prompts the information processing device 2 to invalidate the connection information stored in the connection information storage unit 2a.

情報処理装置2は、接続情報記憶部2a、サービス提供部2bおよび制御部2cを有する。
接続情報記憶部2aは、サービス提供部2bがサービス提供部1bとの通信に用いるリソースを定義した接続情報を記憶する。
The information processing apparatus 2 includes a connection information storage unit 2a, a service providing unit 2b, and a control unit 2c.
The connection information storage unit 2a stores connection information defining resources used by the service providing unit 2b for communication with the service providing unit 1b.

サービス提供部2bは、情報処理装置2上で実行されるアプリケーションプログラムである。サービス提供部2bは、接続情報記憶部2aに記憶された接続情報に定義されたリソースを介してサービス提供部1bとデータ通信する。サービス提供部2bは、サービス提供部1bに処理を要求し、サービス提供部1bからその応答を受け付ける。サービス提供部2bは、サービス提供部1bからの応答に基づいて、例えば業務処理を実行する。サービス提供部2bは、業務処理の実行結果に基づいて、例えばサービス提供部1bに処理要求を更に送信する。あるいは、サービス提供部2bは、例えば不図示のクライアント装置に業務処理の実行結果を更に送信する。サービス提供部2bは、例えば業務アプリケーションのプロセスである。   The service providing unit 2 b is an application program that is executed on the information processing apparatus 2. The service providing unit 2b performs data communication with the service providing unit 1b via resources defined in the connection information stored in the connection information storage unit 2a. The service providing unit 2b requests processing from the service providing unit 1b and receives a response from the service providing unit 1b. The service providing unit 2b executes business processing, for example, based on the response from the service providing unit 1b. The service providing unit 2b further transmits a processing request to, for example, the service providing unit 1b based on the execution result of the business process. Alternatively, the service providing unit 2b further transmits the execution result of the business process to a client device (not shown), for example. The service providing unit 2b is a business application process, for example.

制御部2cは、送信部1dが送信した制御情報を受信すると、接続情報記憶部2aに記憶された接続情報を無効にする。
このような情報処理装置1によれば、監視部1cにより、サービス提供部1bの稼働状況が監視される。送信部1dにより、監視部1cがサービス提供部1bの起動完了を検知すると、接続情報記憶部2aに記憶された接続情報の無効化を促す制御情報が情報処理装置2に送信される。
When receiving the control information transmitted by the transmission unit 1d, the control unit 2c invalidates the connection information stored in the connection information storage unit 2a.
According to such an information processing apparatus 1, the monitoring unit 1c monitors the operating status of the service providing unit 1b. When the monitoring unit 1c detects completion of activation of the service providing unit 1b by the transmission unit 1d, control information that prompts invalidation of the connection information stored in the connection information storage unit 2a is transmitted to the information processing device 2.

これにより、サービス提供部1bが起動した際に、接続情報記憶部2aに残存する接続情報(すなわち、接続情報に含まれるリソース)を無効とすることができる。したがって、サービス提供部2bがその接続情報を用いてサービス提供部1bに通信を試みることがなくなる。すなわち、接続情報の不整合を抑止できる。その結果、不整合によるエラーの発生を抑止できる。   Thereby, when the service provision part 1b starts, the connection information (namely, the resource contained in connection information) remaining in the connection information storage part 2a can be invalidated. Therefore, the service providing unit 2b does not attempt communication with the service providing unit 1b using the connection information. That is, inconsistency of connection information can be suppressed. As a result, the occurrence of errors due to inconsistencies can be suppressed.

なお、残存する接続情報を無効とした後に、情報処理装置2は、その接続情報に含まれるリソースを破棄することもできる。破棄するタイミングを、業務アプリケーションの処理の進捗に応じて変更することもできる。例えば、実行中の業務アプリケーションのトランザクションによって無効としたリソースがロックされている場合も考えられる。その場合、例えば該当のトランザクションが完了した後にリソースを破棄することもできる。このようにすると、リソースの破棄を確実に行える。   Note that after invalidating the remaining connection information, the information processing apparatus 2 can also discard the resources included in the connection information. The timing for discarding can be changed according to the progress of the processing of the business application. For example, there may be a case where a resource that has been invalidated is locked by a transaction of a business application being executed. In this case, for example, the resource can be discarded after the corresponding transaction is completed. This ensures that the resource can be discarded.

また、上述の説明ではサービス提供部1bとしてDBアプリケーションのプロセスを例示した。そして、サービス提供部2bとして業務アプリケーションのプロセスを例示した。これに対し、サービス提供部1bを業務アプリケーションのプロセスとし、サービス提供部2bをDBアプリケーションのプロセスとしてもよい。その場合、情報処理装置1は、情報処理装置2からリソースの割り当てを受ける。すなわち、制御部2cは、情報処理装置1でサービス提供部1bが起動すると送信部1dから受信した制御情報に基づいて、情報処理装置2が情報処理装置1に割り当てた接続情報を無効にする。情報処理装置2は、その後、無効とした接続情報に含まれるリソースを解放することができる。これにより、情報処理装置2は利用されなくなったリソースの再利用が可能となる。   In the above description, the DB application process is exemplified as the service providing unit 1b. The business application process is exemplified as the service providing unit 2b. On the other hand, the service providing unit 1b may be a business application process and the service providing unit 2b may be a DB application process. In this case, the information processing apparatus 1 receives resource allocation from the information processing apparatus 2. That is, when the service providing unit 1b is activated in the information processing apparatus 1, the control unit 2c invalidates the connection information assigned to the information processing apparatus 1 by the information processing apparatus 2 based on the control information received from the transmission unit 1d. Thereafter, the information processing apparatus 2 can release the resources included in the invalid connection information. As a result, the information processing apparatus 2 can reuse resources that are no longer used.

以下の実施の形態では、複数のAPサーバと複数のDBサーバとを有するより具体的な情報処理システムを例に採り、詳細に説明する。
[第2の実施の形態]
以下、第2の実施の形態を図面を参照して詳細に説明する。
In the following embodiments, a more specific information processing system having a plurality of AP servers and a plurality of DB servers will be described as an example.
[Second Embodiment]
Hereinafter, a second embodiment will be described in detail with reference to the drawings.

図2は、第2の実施の形態に係る業務処理システムを示す図である。この業務処理システムは、DBクラスタ10,20,30、負荷分散装置40、端末装置61,62,63,・・・およびAPサーバ400,500,600を有する。DBクラスタ10,20,30、端末装置61,62,63,・・・およびAPサーバ400,500,600は、負荷分散装置40およびネットワーク50,60を介して接続される。ネットワーク50,60は、例えばイントラネット、あるいはこの業務処理システムのために設けられたその他の専用通信網である。以下では、ネットワーク50,60がTCP/IP(Transmission Control Protocol / Internet Protocol)により通信するネットワークである場合を例示する。   FIG. 2 is a diagram illustrating a business processing system according to the second embodiment. This business processing system includes DB clusters 10, 20, and 30, a load balancer 40, terminal devices 61, 62, 63,... And AP servers 400, 500, and 600. The DB clusters 10, 20, 30, the terminal devices 61, 62, 63,... And the AP servers 400, 500, 600 are connected via the load balancer 40 and the networks 50, 60. The networks 50 and 60 are, for example, an intranet or another dedicated communication network provided for this business processing system. Below, the case where the networks 50 and 60 are networks which communicate by TCP / IP (Transmission Control Protocol / Internet Protocol) is illustrated.

DBクラスタ10,20,30は、DBサーバをクラスタ化してデータアクセスの高信頼化を図るものである。DBクラスタ10は、ストレージ装置11およびDBサーバ100,100aを有する。DBクラスタ20は、ストレージ装置21およびDBサーバ200,200aを有する。DBクラスタ30は、ストレージ装置31およびDBサーバ300,300aを有する。   The DB clusters 10, 20, and 30 are for clustering DB servers to achieve high data access reliability. The DB cluster 10 includes a storage device 11 and DB servers 100 and 100a. The DB cluster 20 includes a storage device 21 and DB servers 200 and 200a. The DB cluster 30 includes a storage device 31 and DB servers 300 and 300a.

ストレージ装置11は、DBサーバ100,100aの共用ストレージである。ストレージ装置11は、業務処理システムに用いる各種業務データを記憶する。ストレージ装置11は、所定のインタフェース(例えば、ファイバーチャネル)によりDBサーバ100,100aと接続される。   The storage device 11 is a shared storage of the DB servers 100 and 100a. The storage device 11 stores various business data used for the business processing system. The storage device 11 is connected to the DB servers 100 and 100a by a predetermined interface (for example, fiber channel).

DBサーバ100,100aは、ストレージ装置11に記憶された業務データを管理する。DBサーバ100,100aは、二重化によるフォールトトレラント(Fault tolerant)を実現する。具体的には、クラスタリングによる冗長構成となっている。そのため、DBサーバ100,100aはハートビート(Heart Beat)用のネットワークで接続される。例えば、DBサーバ100が現用系、DBサーバ100aが待機系となっている場合、DBサーバ100aはDBサーバ100からハートビートパケットを受信できなくなることで、DBサーバ100のサービスダウンを検知できる。そして、DBサーバ100aはDBサーバ100に代替してDBサービスの提供を開始する。   The DB servers 100 and 100 a manage business data stored in the storage device 11. The DB servers 100 and 100a realize a fault tolerant by duplication. Specifically, it has a redundant configuration by clustering. Therefore, the DB servers 100 and 100a are connected by a heart beat network. For example, when the DB server 100 is the active system and the DB server 100a is the standby system, the DB server 100a can detect a service down of the DB server 100 because it cannot receive the heartbeat packet from the DB server 100. Then, the DB server 100a starts providing the DB service instead of the DB server 100.

DBクラスタ10には、DBサーバ100,100aを束ねる単一の仮想的なIPアドレス(DB仮想アドレスという)が割り当てられる。DBサーバ100,100aは、個別の実IPアドレスに対応付けてDB仮想アドレスを共有する。DBサーバ100,100aは、DB仮想アドレスに対する外部装置からの処理要求が現用系サーバに到達するよう自サーバにおけるDB仮想アドレスの死活を制御する。すなわち、現用系サーバではDB仮想アドレスがアクティブとなる。待機系サーバではDB仮想アドレスが非アクティブとなる。   A single virtual IP address (referred to as a DB virtual address) that binds the DB servers 100 and 100a is assigned to the DB cluster 10. The DB servers 100 and 100a share DB virtual addresses in association with individual real IP addresses. The DB servers 100 and 100a control the life and death of the DB virtual address in the own server so that the processing request from the external device for the DB virtual address reaches the active server. That is, the DB virtual address becomes active in the active server. In the standby server, the DB virtual address becomes inactive.

DBクラスタ20,30についてもDBクラスタ10と同様の構成により実現することができる。
負荷分散装置40は、端末装置61,62,63から受け付けた処理要求をAPサーバ400,500,600に振り分ける。
The DB clusters 20 and 30 can also be realized by the same configuration as the DB cluster 10.
The load balancer 40 distributes the processing requests received from the terminal devices 61, 62, 63 to the AP servers 400, 500, 600.

負荷分散装置40の負荷分散方法には、例えばラウンドロビン、最小コネクションおよび最小応答時間などがある。ラウンドロビンは、各サーバに順番に処理を割り当てる方法である。最小コネクションは、各サーバのうち、TCPコネクションやUDP(User Datagram Protocol)フローの数が最も少ないサーバに処理を割り当てる方法である。最小応答時間は、各サーバの応答時間を測定し、応答時間が短いサーバに処理を割り当てる方法である。   Examples of the load distribution method of the load distribution apparatus 40 include round robin, minimum connection, and minimum response time. Round robin is a method of assigning processing to each server in order. The minimum connection is a method of allocating processing to a server having the smallest number of TCP connections or UDP (User Datagram Protocol) flows among the servers. The minimum response time is a method of measuring the response time of each server and assigning a process to a server with a short response time.

負荷分散装置40はAPサーバ400,500,600のIPアドレスを単一の仮想アドレスに対応付けて管理する。端末装置61,62,63,・・・は、負荷分散装置40上の仮想アドレスに処理要求を送信する。すると、負荷分散装置40は、APサーバ400,500,600の何れかに処理を振り分ける。なお、負荷分散装置40は、APサーバ400,500,600の死活監視により利用不可と判断したサーバを処理の振り分け先から除外する。   The load balancer 40 manages the IP addresses of the AP servers 400, 500, and 600 in association with a single virtual address. The terminal devices 61, 62, 63, ... transmit processing requests to virtual addresses on the load balancer 40. Then, the load balancer 40 distributes the process to any of the AP servers 400, 500, and 600. Note that the load balancer 40 excludes servers that are determined to be unusable as a result of the alive monitoring of the AP servers 400, 500, and 600 from the processing distribution destination.

端末装置61,62,63,・・・は、業務処理システムを利用するユーザが扱うコンピュータである。端末装置61,62,63,・・・は、業務処理システムに対する業務処理要求の入力が行えるようGUI(Graphical User Interface)をユーザに提供する。ユーザは、GUIに従って端末装置61,62,63,・・・に対する操作入力を行うことで業務処理システムに所望の処理を実行させることができる。   The terminal devices 61, 62, 63,... Are computers handled by users who use the business processing system. The terminal devices 61, 62, 63,... Provide a GUI (Graphical User Interface) to the user so that a business processing request can be input to the business processing system. The user can cause the business processing system to execute a desired process by performing an operation input on the terminal devices 61, 62, 63,... According to the GUI.

APサーバ400,500,600は、端末装置61,62,63,・・・から受け付けた業務処理要求に対して、業務処理を実行する。APサーバ400,500,600は、端末装置61,62,63,・・・に対して、ユーザ用のGUIを生成するための情報を送信するWebサーバとしても機能する。   The AP servers 400, 500, and 600 execute business processing in response to business processing requests received from the terminal devices 61, 62, 63,. The AP servers 400, 500, 600 also function as Web servers that transmit information for generating a user GUI to the terminal devices 61, 62, 63,.

また、APサーバ400,500,600は業務処理の必要に応じて、DBクラスタ10,20,30の何れかに処理要求を送信する。具体的には、APサーバ400,500,600は、ラウンドロビンによりDBクラスタ10,20,30に処理要求を順に振り分ける。なお、APサーバ400,500,600は、DBクラスタ10,20,30が現在運用中であるか否かを管理する。APサーバ400,500,600は、運用中でないDBクラスタを処理要求の送信先から除外する。   Further, the AP servers 400, 500, and 600 transmit processing requests to any of the DB clusters 10, 20, and 30 as required for business processing. Specifically, the AP servers 400, 500, and 600 sequentially distribute processing requests to the DB clusters 10, 20, and 30 by round robin. The AP servers 400, 500, and 600 manage whether the DB clusters 10, 20, and 30 are currently in operation. The AP servers 400, 500, and 600 exclude DB clusters that are not in operation from the processing request transmission destination.

図3は、第2の実施の形態のDBサーバのハードウェア構成を示す図である。DBサーバ100は、CPU(Central Processing Unit)101、ROM(Read Only Memory)102、RAM(Random Access Memory)103、ディスクアレイインタフェース104、グラフィック処理装置105、入力インタフェース106、記録媒体読取装置107および通信インタフェース108を有する。   FIG. 3 is a diagram illustrating a hardware configuration of the DB server according to the second embodiment. The DB server 100 includes a CPU (Central Processing Unit) 101, a ROM (Read Only Memory) 102, a RAM (Random Access Memory) 103, a disk array interface 104, a graphic processing device 105, an input interface 106, a recording medium reading device 107, and a communication. It has an interface 108.

CPU101は、DBサーバ100全体を制御する。
ROM102は、DBサーバ100上のBIOS(Basic Input / Output System)のプログラムなどを記憶する。
The CPU 101 controls the entire DB server 100.
The ROM 102 stores a BIOS (Basic Input / Output System) program on the DB server 100.

RAM103は、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションソフトウェア(以下、アプリケーションという)のプログラムの少なくとも一部を一時的に記憶する。また、RAM103は、CPU101による処理に必要な各種データを記憶する。   The RAM 103 temporarily stores at least part of an OS (Operating System) program and application software (hereinafter referred to as an application) program to be executed by the CPU 101. The RAM 103 stores various data necessary for processing by the CPU 101.

ディスクアレイインタフェース104は、ストレージ装置11と接続される。ディスクアレイインタフェース104は、ストレージ装置11に内蔵されたRAID(Redundant Arrays of Independent Disks)コントローラと通信し、ストレージ装置11に対するデータの入出力を行う。ストレージ装置11内のRAIDコントローラは、例えばRAID0〜6の何れかの機能を有し、複数のHDD(Hard Disk Drive)をまとめて冗長化された記憶装置として管理する。ストレージ装置11は、APサーバ400,500,600が扱うデータを記憶する。   The disk array interface 104 is connected to the storage apparatus 11. The disk array interface 104 communicates with a RAID (Redundant Array of Independent Disks) controller built in the storage apparatus 11 and inputs / outputs data to / from the storage apparatus 11. The RAID controller in the storage device 11 has any of RAID 0 to 6 functions, for example, and manages a plurality of HDDs (Hard Disk Drives) as a redundant storage device. The storage device 11 stores data handled by the AP servers 400, 500, and 600.

また、ストレージ装置11は、OSのプログラム、アプリケーションのプログラム及びデータを記憶する。OSのプログラム、アプリケーションのプログラム及びデータは、例えばストレージ装置11とは別個に設けられた他の記憶装置に格納されてもよい。   The storage device 11 stores an OS program, an application program, and data. The OS program, application program, and data may be stored in another storage device provided separately from the storage device 11, for example.

なお、ストレージ装置11はHDDに代えて(または、HDDと併せて)、SSD(Solid State Drive)など他の種類の記憶装置を用いてもよい。
グラフィック処理装置105は、モニタ12と接続される。グラフィック処理装置105は、CPU101からの命令に従って画像をモニタ12の画面に表示させる。
The storage device 11 may use another type of storage device such as an SSD (Solid State Drive) instead of the HDD (or in combination with the HDD).
The graphic processing device 105 is connected to the monitor 12. The graphic processing device 105 displays an image on the screen of the monitor 12 in accordance with a command from the CPU 101.

入力インタフェース106は、キーボード13とマウス14と接続される。入力インタフェース106は、キーボード13やマウス14から送られてくる信号をCPU101に送信する。   The input interface 106 is connected to the keyboard 13 and the mouse 14. The input interface 106 transmits a signal sent from the keyboard 13 or the mouse 14 to the CPU 101.

記録媒体読取装置107は、記録媒体15に記憶されたデータを読み取る読取装置である。例えば、DBサーバ100が有すべき機能は、その機能の処理内容を記述したプログラムをコンピュータに実行させることで実現できる。そのようなプログラムは、コンピュータ読み取り可能な記録媒体15に記録して配布することができる。また、ネットワーク50に接続されたプログラム配信サーバ装置(図示せず)に記録媒体15からそのプログラムを格納してもよい。この場合、DBサーバ100は、ネットワーク50を介してプログラム配信サーバ装置からプログラムをダウンロードすることができる。   The recording medium reading device 107 is a reading device that reads data stored in the recording medium 15. For example, a function that the DB server 100 should have can be realized by causing a computer to execute a program describing the processing content of the function. Such a program can be recorded on a computer-readable recording medium 15 and distributed. Further, the program may be stored from the recording medium 15 in a program distribution server device (not shown) connected to the network 50. In this case, the DB server 100 can download the program from the program distribution server device via the network 50.

記録媒体15としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリを使用できる。磁気記録装置には、HDD、フレキシブルディスク(FD:Flexible Disk)、磁気テープなどがある。光ディスクには、CD(Compact Disc)、CD−R(Recordable)/RW(ReWritable)、DVD(Digital Versatile Disc)、DVD−R/RW/RAMなどがある。光磁気記録媒体には、MO(Magneto-Optical disk)などがある。半導体メモリには、USB(Universal Serial Bus)メモリなどのフラッシュメモリがある。   As the recording medium 15, for example, a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory can be used. Magnetic recording devices include HDDs, flexible disks (FD), magnetic tapes, and the like. Optical disks include CD (Compact Disc), CD-R (Recordable) / RW (ReWritable), DVD (Digital Versatile Disc), DVD-R / RW / RAM, and the like. Magneto-optical recording media include MO (Magneto-Optical disk). Semiconductor memory includes flash memory such as USB (Universal Serial Bus) memory.

通信インタフェース108は、ネットワーク50と接続される。通信インタフェース108は、ネットワーク50を介して他の情報処理装置とデータ通信する。
なお、DBサーバ100a,200,200a,300,300a、APサーバ400,500,600および端末装置61,62,63,・・・もDBサーバ100と同様のハードウェア構成により実現できる。ただし、APサーバ400,500,600および端末装置61,62,63,・・・は、ストレージ装置11やディスクアレイインタフェース104に代えてHDDやSSD等の記憶装置を内蔵することができる。
The communication interface 108 is connected to the network 50. The communication interface 108 performs data communication with other information processing apparatuses via the network 50.
The DB servers 100 a, 200, 200 a, 300, 300 a, the AP servers 400, 500, 600, and the terminal devices 61, 62, 63, etc. can also be realized by the same hardware configuration as the DB server 100. However, the AP servers 400, 500, 600 and the terminal devices 61, 62, 63,... Can incorporate storage devices such as HDDs and SSDs in place of the storage device 11 and the disk array interface 104.

図4は、第2の実施の形態のDBサーバの機能構成を示す図である。DBサーバ100は、版数記憶部110、DB処理部120、クラスタ制御部130、サービス監視部140、版数送信部150およびAP通信部160を有する。これらの機能は、CPU101が所定のプログラムを実行することで実現される。なお、これらの機能の全部あるいは少なくとも一部を専用のハードウェアを用いて実現してもよい。   FIG. 4 is a diagram illustrating a functional configuration of the DB server according to the second embodiment. The DB server 100 includes a version number storage unit 110, a DB processing unit 120, a cluster control unit 130, a service monitoring unit 140, a version number transmission unit 150, and an AP communication unit 160. These functions are realized by the CPU 101 executing a predetermined program. All or at least a part of these functions may be realized using dedicated hardware.

版数記憶部110は、DBクラスタ10の版数(以下、クラスタ版数という)を記憶する。クラスタ版数の詳細は後述する。
DB処理部120は、DBに対する処理要求を実行する。例えば、DB処理部120は、ストレージ装置11に記憶されたデータの読み出しや更新を行う。DB処理部120は、処理要求に対する応答をAP通信部160に出力する。
The version number storage unit 110 stores the version number of the DB cluster 10 (hereinafter referred to as cluster version number). Details of the cluster version will be described later.
The DB processing unit 120 executes a processing request for the DB. For example, the DB processing unit 120 reads and updates data stored in the storage device 11. The DB processing unit 120 outputs a response to the processing request to the AP communication unit 160.

クラスタ制御部130は、DB処理部120が稼働状態である間、DBサーバ100aにハートビートパケットを送信する。これにより、クラスタ制御部130は自サーバが現用系として動作していることをDBサーバ100aに通知する。また、クラスタ制御部130は、版数記憶部110、DB処理部120、サービス監視部140、版数送信部150およびAP通信部160の各機能の起動・停止を制御する。すなわち、クラスタ制御部130は、DBサーバ100aが待機系として動作する場合、自サーバを現用系として動作させるためにこれらの各機能を起動させる。   The cluster control unit 130 transmits a heartbeat packet to the DB server 100a while the DB processing unit 120 is operating. As a result, the cluster control unit 130 notifies the DB server 100a that the server itself is operating as an active system. Further, the cluster control unit 130 controls activation / deactivation of each function of the version number storage unit 110, the DB processing unit 120, the service monitoring unit 140, the version number transmission unit 150, and the AP communication unit 160. That is, when the DB server 100a operates as a standby system, the cluster control unit 130 activates each of these functions in order to operate the own server as an active system.

サービス監視部140は、DB処理部120の起動・停止を監視する。サービス監視部140は、DB処理部120が起動または停止した場合に、版数記憶部110に記憶されたクラスタ版数を更新する。   The service monitoring unit 140 monitors the start / stop of the DB processing unit 120. The service monitoring unit 140 updates the cluster version number stored in the version number storage unit 110 when the DB processing unit 120 is activated or stopped.

版数送信部150は、サービス監視部140により版数記憶部110に記憶されたクラスタ版数が更新されると、そのクラスタ版数をAPサーバ400,500,600に送信する。   When the cluster version number stored in the version number storage unit 110 is updated by the service monitoring unit 140, the version number transmission unit 150 transmits the cluster version number to the AP servers 400, 500, and 600.

AP通信部160は、APサーバ400,500,600と通信する。AP通信部160は、APサーバ400,500,600から処理要求を受信し、DB処理部120に出力する。また、AP通信部160は、DB処理部120から取得した応答を処理要求の送信元であるAPサーバ400,500,600に送信する。   The AP communication unit 160 communicates with the AP servers 400, 500, and 600. The AP communication unit 160 receives processing requests from the AP servers 400, 500, and 600 and outputs them to the DB processing unit 120. In addition, the AP communication unit 160 transmits the response acquired from the DB processing unit 120 to the AP servers 400, 500, and 600 that are the transmission source of the processing request.

DBサーバ100aは、版数記憶部110a、DB処理部120a、クラスタ制御部130a、サービス監視部140a、版数送信部150aおよびAP通信部160aを有する。これらの機能は、DBサーバ100aが備えるCPUが所定のプログラムを実行することで実現される。なお、これらの機能の全部あるいは少なくとも一部を専用のハードウェアを用いて実現してもよい。   The DB server 100a includes a version number storage unit 110a, a DB processing unit 120a, a cluster control unit 130a, a service monitoring unit 140a, a version number transmission unit 150a, and an AP communication unit 160a. These functions are realized by the CPU provided in the DB server 100a executing a predetermined program. All or at least a part of these functions may be realized using dedicated hardware.

ここで、版数記憶部110aは版数記憶部110に対応する。DB処理部120aはDB処理部120に対応する。クラスタ制御部130aはクラスタ制御部130に対応する。サービス監視部140aはサービス監視部140に対応する。版数送信部150aは版数送信部150に対応する。AP通信部160aはAP通信部160に対応する。   Here, the version number storage unit 110 a corresponds to the version number storage unit 110. The DB processing unit 120a corresponds to the DB processing unit 120. The cluster control unit 130 a corresponds to the cluster control unit 130. The service monitoring unit 140a corresponds to the service monitoring unit 140. The version number transmission unit 150 a corresponds to the version number transmission unit 150. The AP communication unit 160a corresponds to the AP communication unit 160.

版数記憶部110a、DB処理部120a、サービス監視部140a、版数送信部150aおよびAP通信部160aの各機能の起動・停止はクラスタ制御部130aによって制御される。   Activation / deactivation of each function of the version number storage unit 110a, DB processing unit 120a, service monitoring unit 140a, version number transmission unit 150a, and AP communication unit 160a is controlled by the cluster control unit 130a.

なお、クラスタ制御部130aは、DBサーバ100が現用系として動作している場合には、これらの機能の停止状態を維持する。一方、DBサーバ100が利用不可となった場合には、自サーバを現用系として動作させるためにこれらの各機能を起動させる。   Note that the cluster control unit 130a maintains the stopped state of these functions when the DB server 100 is operating as an active system. On the other hand, when the DB server 100 becomes unusable, each of these functions is activated to operate the own server as an active system.

すなわち、DBサーバ100aの各機能は、DBサーバ100の各機能の代替を可能とするための冗長機能である。
また、DBクラスタ20,30についてもDBクラスタ10と同様の機能構成により実現できる。
That is, each function of the DB server 100a is a redundant function for enabling each function of the DB server 100 to be replaced.
The DB clusters 20 and 30 can also be realized by the same functional configuration as the DB cluster 10.

図5は、第2の実施の形態のAPサーバの機能構成を示す図である。APサーバ400は、セッション情報記憶部410、AP処理部420、クライアント通信部430、セッション制御部440、版数受信部450およびDB通信部460を有する。これらの機能は、APサーバ400が備えるCPUが所定のプログラムを実行することで実現される。なお、これらの機能の全部あるいは少なくとも一部を専用のハードウェアを用いて実現してもよい。   FIG. 5 is a diagram illustrating a functional configuration of the AP server according to the second embodiment. The AP server 400 includes a session information storage unit 410, an AP processing unit 420, a client communication unit 430, a session control unit 440, a version number receiving unit 450, and a DB communication unit 460. These functions are realized by the CPU provided in the AP server 400 executing a predetermined program. All or at least a part of these functions may be realized using dedicated hardware.

セッション情報記憶部410は、DBクラスタ10,20,30のクラスタ版数を記憶する。また、セッション情報記憶部410は、DBクラスタ10,20,30から割り当てられたセッションを定義したセッション情報を記憶する。   The session information storage unit 410 stores the cluster version numbers of the DB clusters 10, 20, and 30. In addition, the session information storage unit 410 stores session information that defines sessions assigned from the DB clusters 10, 20, and 30.

AP処理部420は、端末装置61,62,63,・・・から取得した業務処理要求を実行する。AP処理部420は、業務処理の内容に応じて、DBクラスタ10,20,30に対する処理要求(例えば、SQLで記述されたクエリ)を生成する。AP処理部420は、生成した処理要求をDB通信部460に出力する。   The AP processing unit 420 executes the business process request acquired from the terminal devices 61, 62, 63,. The AP processing unit 420 generates processing requests (for example, queries written in SQL) for the DB clusters 10, 20, and 30 according to the contents of the business processing. The AP processing unit 420 outputs the generated processing request to the DB communication unit 460.

また、AP処理部420は、DB通信部460から処理要求に対するDBクラスタ10,20,30からの応答を受け付ける。AP処理部420は、その応答に基づいて、処理要求を再生成してDB通信部460に出力する。あるいは、AP処理部420は端末装置61,62,63,・・・からの業務処理要求に対する処理を完了すると、業務応答を生成してクライアント通信部430に出力する。   In addition, the AP processing unit 420 receives a response from the DB clusters 10, 20, and 30 in response to the processing request from the DB communication unit 460. Based on the response, the AP processing unit 420 regenerates the processing request and outputs it to the DB communication unit 460. Alternatively, when the AP processing unit 420 completes processing for the business processing request from the terminal devices 61, 62, 63,..., The AP processing unit 420 generates a business response and outputs the business response to the client communication unit 430.

クライアント通信部430は、端末装置61,62,63,・・・と通信する。クライアント通信部430は、端末装置61,62,63,・・・から受信した業務処理要求をAP処理部420に出力する。また、クライアント通信部430は、AP処理部420から取得した業務応答を端末装置61,62,63,・・・に送信する。   The client communication unit 430 communicates with the terminal devices 61, 62, 63,. The client communication unit 430 outputs the business process request received from the terminal devices 61, 62, 63,... To the AP processing unit 420. In addition, the client communication unit 430 transmits the business response acquired from the AP processing unit 420 to the terminal devices 61, 62, 63,.

セッション制御部440は、セッション情報記憶部410に記憶されたDBクラスタ10,20,30のクラスタ版数およびセッション情報を管理する。セッション制御部440は、予めDBクラスタ10,20,30との間でデータ通信に利用するセッションの割り当てを受け、割り当てられたセッションをセッション情報としてセッション情報記憶部410に格納する。   The session control unit 440 manages the cluster version number and session information of the DB clusters 10, 20, and 30 stored in the session information storage unit 410. The session control unit 440 receives a session to be used for data communication with the DB clusters 10, 20, and 30 in advance, and stores the allocated session in the session information storage unit 410 as session information.

セッション制御部440は、DBクラスタ10,20,30のクラスタ版数に基づいて、セッションの無効化を制御する。セッション制御部440は、セッション情報記憶部410に記憶されたセッション情報を参照して、処理要求を送信すべきDBクラスタとそのDBクラスタとの通信に利用可能なセッションとをDB通信部460に出力する。   The session control unit 440 controls session invalidation based on the cluster version numbers of the DB clusters 10, 20, and 30. The session control unit 440 refers to the session information stored in the session information storage unit 410 and outputs to the DB communication unit 460 the DB cluster to which the processing request is to be transmitted and the session that can be used for communication with the DB cluster. To do.

版数受信部450は、DBクラスタ10,20,30から各クラスタのクラスタ版数を受信する。版数受信部450は、受信したクラスタ版数をセッション制御部440に出力する。   The version number receiving unit 450 receives the cluster version number of each cluster from the DB clusters 10, 20, and 30. The version number receiving unit 450 outputs the received cluster version number to the session control unit 440.

DB通信部460は、セッション制御部440により指定されたDBクラスタに対し、指定されたセッションを用いてDBクラスタ10,20,30と通信する。DB通信部460は、AP処理部420から処理要求を取得すると、取得した処理要求をDBクラスタ10,20,30に送信する。DB通信部460は、DBクラスタ10,20,30から応答を受け付けると、AP処理部420に出力する。   The DB communication unit 460 communicates with the DB clusters 10, 20, and 30 using the specified session for the DB cluster specified by the session control unit 440. When the DB communication unit 460 acquires a processing request from the AP processing unit 420, the DB communication unit 460 transmits the acquired processing request to the DB clusters 10, 20, and 30. When the DB communication unit 460 receives a response from the DB clusters 10, 20, and 30, the DB communication unit 460 outputs the response to the AP processing unit 420.

なお、APサーバ500,600に関してもAPサーバ400と同様の機能構成により実現できる。
図6は、DBサーバが有するクラスタ版数テーブルのデータ構造例を示す図である。クラスタ版数テーブル111は、サービス監視部140により更新され、版数記憶部110に格納される。クラスタ版数テーブル111には、DBクラスタ10のクラスタ版数が設定される。
The AP servers 500 and 600 can also be realized by the same functional configuration as the AP server 400.
FIG. 6 is a diagram illustrating an example of the data structure of the cluster version number table included in the DB server. The cluster version number table 111 is updated by the service monitoring unit 140 and stored in the version number storage unit 110. In the cluster version number table 111, the cluster version number of the DB cluster 10 is set.

クラスタ版数テーブル111には、例えば“1257051200”という情報が設定される。これは、1970年1月1日0時0分0秒からの秒数である。サービス監視部140はクラスタ版数テーブル111を更新する際に、例えばOSからこのような時間情報をクラスタ版数として取得できる。   For example, information “1257051200” is set in the cluster version number table 111. This is the number of seconds since midnight, January 1, 1970. When updating the cluster version number table 111, the service monitoring unit 140 can acquire such time information as a cluster version number from the OS, for example.

なお、クラスタ版数はDBサービス起動中から起動直後の時点では所定の初期値(例えば“−1”)が設定されるものとする。そして、起動完了後の所定のタイミングで、サービス監視部140により、現在の時間情報がクラスタ版数として設定される。   The cluster version number is set to a predetermined initial value (for example, “−1”) at the time immediately after starting the DB service. Then, at a predetermined timing after completion of activation, the service monitoring unit 140 sets the current time information as the cluster version number.

図7は、APサーバが有する版数管理テーブルのデータ構造例を示す図である。版数管理テーブル411は、セッション制御部440により更新され、セッション情報記憶部410に格納される。版数管理テーブル411には、クラスタ名を示す項目、クラスタ版数を示す項目および運用状態を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのDBクラスタに関する情報を示す。   FIG. 7 is a diagram illustrating a data structure example of the version number management table of the AP server. The version number management table 411 is updated by the session control unit 440 and stored in the session information storage unit 410. The version number management table 411 includes an item indicating the cluster name, an item indicating the cluster version number, and an item indicating the operation status. Information arranged in the horizontal direction of each item is associated with each other to indicate information related to one DB cluster.

クラスタ名を示す項目には、クラスタ名を示す情報が設定される。クラスタ版数を示す項目には、クラスタ版数を示す情報が設定される。運用状態を示す項目には、運用中であるか否かを示す情報が設定される。   In the item indicating the cluster name, information indicating the cluster name is set. In the item indicating the cluster version number, information indicating the cluster version number is set. In the item indicating the operation state, information indicating whether the operation is in progress is set.

版数管理テーブル411には、例えばクラスタ名が“DB0001”、クラスタ版数が“1257043210”、運用状態が“運用中”という情報が設定される。これは、クラスタ名“DB0001”で示されるDBクラスタ10のクラスタ版数が“1257043210”であることを示している。また、DBクラスタ10は現在“運用中”であるため、処理要求の送信対象とすることができる旨を示している。   In the version number management table 411, for example, information that the cluster name is “DB0001”, the cluster version number is “1257043210”, and the operation state is “in operation” is set. This indicates that the cluster version number of the DB cluster 10 indicated by the cluster name “DB0001” is “1257043210”. Further, since the DB cluster 10 is currently “in operation”, it indicates that it can be a transmission target of a processing request.

ここで、以下ではDBクラスタ20のクラスタ名を“DB0002”、DBクラスタ30のクラスタ名を“DB0003”とする。
図8は、APサーバが有するセッション管理テーブルのデータ構造例を示す図である。セッション管理テーブル412,413,414は、セッション制御部440により更新され、セッション情報記憶部410に格納される。セッション管理テーブル412はDBクラスタ10に対応する。セッション管理テーブル413はDBクラスタ20に対応する。セッション管理テーブル414はDBクラスタ30に対応する。以下では、セッション管理テーブル412に関してのみ説明するが、セッション管理テーブル413,414に関しても同様の構成である。
Hereinafter, the cluster name of the DB cluster 20 is “DB0002” and the cluster name of the DB cluster 30 is “DB0003”.
FIG. 8 is a diagram illustrating a data structure example of a session management table included in the AP server. The session management tables 412, 413, and 414 are updated by the session control unit 440 and stored in the session information storage unit 410. The session management table 412 corresponds to the DB cluster 10. The session management table 413 corresponds to the DB cluster 20. The session management table 414 corresponds to the DB cluster 30. Although only the session management table 412 will be described below, the session management tables 413 and 414 have the same configuration.

セッション管理テーブル412には、エントリIDを示す項目、要求元識別情報を示す項目、セッション取得時版数を示す項目、セッション番号を示す項目及び無効フラグを示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのセッションに関する情報を示す。   The session management table 412 includes an item indicating an entry ID, an item indicating request source identification information, an item indicating a version number at the time of session acquisition, an item indicating a session number, and an item indicating an invalid flag. Information arranged in the horizontal direction of each item is associated with each other to indicate information related to one session.

エントリIDを示す項目には、セッション管理テーブル412に含まれる1レコードを識別するためのエントリIDが設定される。要求元識別情報を示す項目には、業務処理要求の送信元である端末装置の識別情報が設定される。セッション取得時版数を示す項目には、該当のレコードに対応するセッションが確立された際のクラスタ版数が設定される。セッション番号を示す項目には、DBクラスタ10から割り当てられたセッションを識別するためのセッション番号が設定される。無効フラグを示す項目には、該当のセッションが無効であるか否かを示す情報が設定される。   In the item indicating the entry ID, an entry ID for identifying one record included in the session management table 412 is set. In the item indicating the request source identification information, the identification information of the terminal device that is the transmission source of the business process request is set. In the item indicating the version number at the time of session acquisition, the cluster version number when the session corresponding to the corresponding record is established is set. In the item indicating the session number, a session number for identifying a session allocated from the DB cluster 10 is set. In the item indicating the invalid flag, information indicating whether or not the corresponding session is invalid is set.

セッション管理テーブル412には、例えばエントリIDが“1”、要求元識別情報が“CL0005”、セッション取得時版数が“1257045340”、セッション番号が“4”、無効フラグが“−”(設定なし)という情報が設定される。これは、“CL0005”で識別される端末装置から受け付けた業務処理要求につき、DBクラスタ10上のセッション番号“4”で識別されるセッションを利用してDBクラスタ10と通信していることを示している。また、このセッションを取得した際のDBクラスタ10のクラスタ版数が“1257045340”であることを示している。また、無効フラグが“−”であり、そのセッションは有効であることを示している。   In the session management table 412, for example, the entry ID is “1”, the requester identification information is “CL0005”, the session acquisition version number is “12570445340”, the session number is “4”, and the invalid flag is “−” (no setting) ) Is set. This indicates that the business process request received from the terminal device identified by “CL0005” is communicating with the DB cluster 10 using the session identified by the session number “4” on the DB cluster 10. ing. Further, it is indicated that the cluster version number of the DB cluster 10 when this session is acquired is “12570445340”. The invalid flag is “-”, indicating that the session is valid.

また、セッション管理テーブル412には、例えばエントリIDが“11”、要求元情報が“CL0003”、セッション取得時版数が“1257038229”、セッション番号が“11”、無効フラグが“無効”という情報が設定される。ここで、当レコードには無効フラグに“無効”が設定されている。これは、当レコードに対応するセッションが利用不可であることを示している。すなわち、DBクラスタ10には、APサーバ400と通信するためのセッションとして、セッション番号“11”のセッションが既に存在していないことを示す。   In the session management table 412, for example, information indicating that the entry ID is “11”, the request source information is “CL0003”, the session acquisition version number is “1257038229”, the session number is “11”, and the invalid flag is “invalid”. Is set. Here, the invalid flag is set to “invalid” in this record. This indicates that the session corresponding to this record cannot be used. That is, the DB cluster 10 indicates that a session with the session number “11” does not already exist as a session for communicating with the AP server 400.

ここで、セッション管理テーブル412にはDBクラスタ10がAPサーバ400に対してプール可能なセッション数の上限(例えば、50)が予め設定される。以下では、この上限値をプール上限値という。セッション制御部440は、所定のタイミングでDBクラスタ10から払い出されたセッション数のプール上限値の超過の有無を監視する。そして、超過している場合にプールされたセッションの整理(例えば、不要なセッションの破棄要求をDBクラスタ10に送信する)を行う。このようにすると、DBクラスタ10がAPサーバ400に対して払い出すセッション数が他のAPサーバに比べて過大となることを防止できる。   Here, an upper limit (for example, 50) of the number of sessions that the DB cluster 10 can pool with the AP server 400 is preset in the session management table 412. Hereinafter, this upper limit value is referred to as a pool upper limit value. The session control unit 440 monitors whether or not the pool upper limit value of the number of sessions issued from the DB cluster 10 at a predetermined timing is exceeded. If the number of the sessions exceeds the limit, the pooled sessions are sorted (for example, an unnecessary session discard request is transmitted to the DB cluster 10). In this way, it is possible to prevent the number of sessions that the DB cluster 10 pays out to the AP server 400 from becoming excessive compared to other AP servers.

次に、以上のような構成を備える業務処理システムの処理手順を説明する。ここで、以下ではDBクラスタ10およびAPサーバ400に注目して処理手順を説明する。ただし、DBクラスタ10とAPサーバ500,600との間の処理も同様である。また、DBクラスタ20,30とAPサーバ400,500,600との間の処理も同様である。   Next, a processing procedure of a business processing system having the above configuration will be described. Here, the processing procedure will be described below focusing on the DB cluster 10 and the AP server 400. However, the process between the DB cluster 10 and the AP servers 500 and 600 is the same. The processing between the DB clusters 20 and 30 and the AP servers 400, 500, and 600 is the same.

図9は、第2の実施の形態のDBサーバ切替処理を示すシーケンス図である。以下、図9に示す処理をステップ番号に沿って説明する。なお、ステップS1の直前では、DBクラスタ10において、DBサーバ100が現用系、DBサーバ100aが待機系であるものとする。   FIG. 9 is a sequence diagram illustrating DB server switching processing according to the second embodiment. In the following, the process illustrated in FIG. 9 will be described in order of step number. Note that immediately before step S1, in the DB cluster 10, it is assumed that the DB server 100 is the active system and the DB server 100a is the standby system.

[ステップS1]DBサーバ100は、DBサービス(DB処理部120)の停止指示を受け付ける。この停止指示を受け付ける場合としては、例えばシステム管理者がメンテナンスのためにサービス停止を指示する操作入力をDBサーバ100に対して行った場合等が考えられる。   [Step S1] The DB server 100 receives an instruction to stop the DB service (DB processing unit 120). As a case where this stop instruction is accepted, for example, a case where the system administrator performs an operation input for instructing a service stop for maintenance to the DB server 100 can be considered.

[ステップS2]DBサーバ100は、DB処理部120の停止を開始する。
[ステップS3]DBサーバ100は、DB処理部120の停止が開始されると、版数記憶部110に記憶されたクラスタ版数を更新する。DBサーバ100は、更新したクラスタ版数およびクラスタ停止開始通知をAPサーバ400,500,600に送信する。
[Step S2] The DB server 100 starts to stop the DB processing unit 120.
[Step S3] When the DB processing unit 120 is stopped, the DB server 100 updates the cluster version number stored in the version number storage unit 110. The DB server 100 transmits the updated cluster version number and cluster stop start notification to the AP servers 400, 500, and 600.

[ステップS4]APサーバ400は、DBサーバ100からクラスタ版数およびクラスタ停止開始通知を受信する。APサーバ400は、受信したクラスタ版数に基づいて、APサーバ400がDBクラスタ10から割り当てられていたセッションの無効化処理を実行する。   [Step S4] The AP server 400 receives the cluster version number and the cluster stop start notification from the DB server 100. The AP server 400 executes a session invalidation process to which the AP server 400 has been allocated from the DB cluster 10 based on the received cluster version number.

[ステップS5]APサーバ400は、クラスタ停止開始通知を受信したことにより、セッション情報記憶部410に記憶された版数管理テーブル411のうち、DBクラスタ10(クラスタ名“DB0001”)の運用状態を“非運用中”に設定する。   [Step S5] Upon receiving the cluster stop start notification, the AP server 400 changes the operation state of the DB cluster 10 (cluster name “DB0001”) in the version number management table 411 stored in the session information storage unit 410. Set to “Not in operation”.

[ステップS6]DBサーバ100は、DB処理部120の停止が完了する。
[ステップS7]DBサーバ100aは、DBサーバ100からハートビートパケットを受信しなくなったことを検知する。すると、DBサーバ100aは、DBサービス(DB処理部120a)の起動を開始する。
[Step S6] The DB server 100 completes stopping the DB processing unit 120.
[Step S7] The DB server 100a detects that no heartbeat packet has been received from the DB server 100. Then, the DB server 100a starts activation of the DB service (DB processing unit 120a).

[ステップS8]DBサーバ100aは、DB処理部120aの起動を完了する。
[ステップS9]DBサーバ100aは、DB処理部120aの起動が完了すると、版数記憶部110aに記憶されたクラスタ版数を更新する。DBサーバ100aは、更新したクラスタ版数およびクラスタ起動完了通知をAPサーバ400,500,600に送信する。
[Step S8] The DB server 100a completes activation of the DB processing unit 120a.
[Step S9] The DB server 100a updates the cluster version number stored in the version number storage unit 110a when the activation of the DB processing unit 120a is completed. The DB server 100a transmits the updated cluster version number and cluster activation completion notification to the AP servers 400, 500, and 600.

[ステップS10]APサーバ400は、DBサーバ100aからクラスタ版数を受信する。APサーバ400は、受信したクラスタ版数に基づいて、APサーバ400がDBクラスタ10から割り当てられていたセッションの無効化処理を実行する。   [Step S10] The AP server 400 receives the cluster version number from the DB server 100a. The AP server 400 executes a session invalidation process to which the AP server 400 has been allocated from the DB cluster 10 based on the received cluster version number.

[ステップS11]APサーバ400は、クラスタ起動完了通知を受信したことにより、セッション情報記憶部410に記憶された版数管理テーブル411のうち、DBクラスタ10(クラスタ名“DB0001”)の運用状態を“運用中”に設定する。   [Step S11] Upon receiving the cluster activation completion notification, the AP server 400 changes the operation status of the DB cluster 10 (cluster name “DB0001”) in the version number management table 411 stored in the session information storage unit 410. Set to “Active”.

このようにして、DBサーバ100はDB処理部120停止時にクラスタ版数をAPサーバ400に送信する。また、DBサーバ100aはDB処理部120a開始時にクラスタ版数をAPサーバ400に送信する。   In this way, the DB server 100 transmits the cluster version number to the AP server 400 when the DB processing unit 120 is stopped. Further, the DB server 100a transmits the cluster version number to the AP server 400 when the DB processing unit 120a is started.

APサーバ400は、DBクラスタ10(すなわち、DBサーバ100,100aの何れか)からクラスタ版数を受信すると、自装置で管理するDBクラスタ10のクラスタ版数とを比較し、比較結果に応じてDBクラスタ10との間で確立済みのセッションを無効とする。   When the AP server 400 receives the cluster version number from the DB cluster 10 (that is, one of the DB servers 100 and 100a), the AP server 400 compares the cluster version number of the DB cluster 10 managed by its own device, and according to the comparison result. A session already established with the DB cluster 10 is invalidated.

次に、図9のステップS3に示したDBクラスタ10のDBサービス停止時版数通知処理を詳細に説明する。
図10は、第2の実施の形態のDBサービス停止時版数通知処理を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
Next, the DB service stop version number notification process of the DB cluster 10 shown in step S3 of FIG. 9 will be described in detail.
FIG. 10 is a flowchart illustrating DB service stop version number notification processing according to the second embodiment. In the following, the process illustrated in FIG. 10 will be described in order of step number.

[ステップS21]クラスタ制御部130は、DB処理部120の停止処理を開始させる。サービス監視部140は、DB処理部120の停止開始を検知する。
[ステップS22]サービス監視部140は、OSから現在のタイムスタンプをクラスタ版数として取得する。
[Step S <b> 21] The cluster control unit 130 starts the stop process of the DB processing unit 120. The service monitoring unit 140 detects the stop start of the DB processing unit 120.
[Step S22] The service monitoring unit 140 acquires the current time stamp as the cluster version number from the OS.

[ステップS23]サービス監視部140は、版数記憶部110に記憶されたクラスタ版数テーブル111のクラスタ版数を、新たに取得したクラスタ版数に更新する。
[ステップS24]版数送信部150は、クラスタ版数テーブル111を参照してクラスタ版数を取得し、APサーバ400,500,600に送信する。また、版数送信部150は、クラスタ版数と共に、DBクラスタ10のクラスタ停止開始通知をAPサーバ400,500,600に送信する。
[Step S23] The service monitoring unit 140 updates the cluster version number of the cluster version number table 111 stored in the version number storage unit 110 to the newly acquired cluster version number.
[Step S24] The version number transmission unit 150 refers to the cluster version number table 111 to acquire the cluster version number and transmits it to the AP servers 400, 500, and 600. In addition, the version number transmission unit 150 transmits a cluster stop start notification of the DB cluster 10 to the AP servers 400, 500, and 600 together with the cluster version number.

このようにして、DBサーバ100は、DB処理部120を停止する際にクラスタ版数を更新する。そして、DBサーバ100は、更新後のクラスタ版数をAPサーバ400,500,600に送信する。   In this way, the DB server 100 updates the cluster version number when stopping the DB processing unit 120. Then, the DB server 100 transmits the updated cluster version number to the AP servers 400, 500, and 600.

次に、図9のステップS9に示したDBクラスタ10のDBサービス起動時版数通知処理を詳細に説明する。
図11は、第2の実施の形態のDBサービス起動時版数通知処理を示すフローチャートである。以下、図11に示す処理をステップ番号に沿って説明する。
Next, the DB service startup version number notification process of the DB cluster 10 shown in step S9 of FIG. 9 will be described in detail.
FIG. 11 is a flowchart illustrating DB service activation version number notification processing according to the second embodiment. In the following, the process illustrated in FIG. 11 will be described in order of step number.

[ステップS31]サービス監視部140aは、DB処理部120aの起動完了を検知する。
[ステップS32]サービス監視部140aは、OSから現在のタイムスタンプをクラスタ版数として取得する。
[Step S31] The service monitoring unit 140a detects completion of activation of the DB processing unit 120a.
[Step S32] The service monitoring unit 140a obtains the current time stamp as the cluster version number from the OS.

[ステップS33]サービス監視部140aは、版数記憶部110aに記憶されたクラスタ版数テーブルのクラスタ版数を、新たに取得したクラスタ版数に更新する。
[ステップS34]版数送信部150aは、版数記憶部110aに記憶されたクラスタ版数テーブルを参照してクラスタ版数を取得し、APサーバ400,500,600に送信する。また、版数送信部150aは、クラスタ版数と共に、DBクラスタ10のクラスタ起動完了通知をAPサーバ400,500,600に送信する。
[Step S33] The service monitoring unit 140a updates the cluster version number in the cluster version table stored in the version number storage unit 110a to the newly acquired cluster version number.
[Step S34] The version number transmission unit 150a refers to the cluster version number table stored in the version number storage unit 110a, acquires the cluster version number, and transmits it to the AP servers 400, 500, and 600. Also, the version number transmission unit 150a transmits a cluster activation completion notification of the DB cluster 10 to the AP servers 400, 500, and 600 together with the cluster version number.

このようにして、DBサーバ100aは、DBサービスを開始する際にクラスタ版数を更新する。そして、DBサーバ100aは、更新後のクラスタ版数をAPサーバ400,500,600に送信する。   In this way, the DB server 100a updates the cluster version number when starting the DB service. Then, the DB server 100a transmits the updated cluster version number to the AP servers 400, 500, and 600.

次に、図9のステップS4,10に示したAPサーバ400のセッション無効化処理を詳細に説明する。
図12は、第2の実施の形態のセッション無効化処理を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
Next, the session invalidation process of the AP server 400 shown in steps S4 and S10 in FIG. 9 will be described in detail.
FIG. 12 is a flowchart illustrating session invalidation processing according to the second embodiment. In the following, the process illustrated in FIG. 12 will be described in order of step number.

[ステップS41]版数受信部450は、DBクラスタ10からクラスタ版数を受信する。版数受信部450は、受信したクラスタ版数をセッション制御部440に出力する。
[ステップS42]セッション制御部440は、セッション情報記憶部410に記憶されたセッション管理テーブル412を参照して、DBクラスタ10に対応するセッションを定義したレコードを取得する。
[Step S41] The version number receiving unit 450 receives the cluster version number from the DB cluster 10. The version number receiving unit 450 outputs the received cluster version number to the session control unit 440.
[Step S42] The session control unit 440 refers to the session management table 412 stored in the session information storage unit 410 and acquires a record defining a session corresponding to the DB cluster 10.

[ステップS43]セッション制御部440は、取得したレコードのうち、ステップS41で受信したクラスタ版数とセッション取得時版数とが異なるレコードが存在するか否かを判定する。存在する場合、処理をステップS44に進める。存在しない場合、処理をステップS45に進める。   [Step S43] The session control unit 440 determines whether or not there is a record in which the cluster version number received in Step S41 and the session acquisition version number are different from the acquired records. If it exists, the process proceeds to step S44. If not, the process proceeds to step S45.

[ステップS44]セッション制御部440は、セッション取得時版数が新たに受信したクラスタ版数と異なるレコードの無効フラグに“無効”を設定する。
[ステップS45]セッション制御部440は、セッション情報記憶部410に記憶された版数管理テーブル411のDBクラスタ10のクラスタ版数として、ステップS41で受信したクラスタ版数を設定する。
[Step S44] The session control unit 440 sets “invalid” to an invalid flag of a record whose version number at the time of session acquisition is different from the newly received cluster version number.
[Step S45] The session control unit 440 sets the cluster version number received in step S41 as the cluster version number of the DB cluster 10 of the version number management table 411 stored in the session information storage unit 410.

このようにして、セッション制御部440は、DBクラスタ10から受信したクラスタ版数とセッション取得時版数とが異なる場合、該当のセッションを無効とする。
次に、業務処理システムで実行される業務処理の手順を説明する。
In this way, the session control unit 440 invalidates the corresponding session when the cluster version number received from the DB cluster 10 is different from the session acquisition version number.
Next, a procedure for business processing executed in the business processing system will be described.

図13は、第2の実施の形態の業務処理を示すシーケンス図である。以下、図13に示す処理をステップ番号に沿って説明する。なお、ステップS51の直前では、DBクラスタ10において、DBサーバ100が現用系、DBサーバ100aが待機系であるものとする。   FIG. 13 is a sequence diagram illustrating business processing according to the second embodiment. In the following, the process illustrated in FIG. 13 will be described in order of step number. It is assumed that immediately before step S51, in the DB cluster 10, the DB server 100 is the active system and the DB server 100a is the standby system.

[ステップS51]APサーバ400は、端末装置61から業務処理要求(以下、APリクエストという)を受信する。
[ステップS52]APサーバ400は、取得したAPリクエストに応じた業務処理を実行する。APサーバ400は、業務処理に応じてDBクラスタに依頼すべき処理が発生した場合、処理要求(以下、DBリクエストという)を生成する。APサーバ400は、生成したDBリクエストを送信すべきDBクラスタを選択する。例えば、APサーバ400はラウンドロビンによって、DBリクエストを送信すべきDBクラスタを順番に選択する。ここでは、APサーバ400はDBクラスタ10を選択するものとする。そして、DBクラスタ10にDBリクエストを送信する。
[Step S51] The AP server 400 receives a business process request (hereinafter referred to as an AP request) from the terminal device 61.
[Step S52] The AP server 400 executes a business process corresponding to the acquired AP request. The AP server 400 generates a processing request (hereinafter referred to as a DB request) when processing that should be requested to the DB cluster occurs according to the business processing. The AP server 400 selects a DB cluster to which the generated DB request is to be transmitted. For example, the AP server 400 sequentially selects DB clusters to which a DB request should be transmitted by round robin. Here, it is assumed that the AP server 400 selects the DB cluster 10. Then, a DB request is transmitted to the DB cluster 10.

[ステップS53]DBサーバ100は、APサーバ400からDBリクエストを受信する。DBサーバ100は、受信したDBリクエストに基づいてDB処理を実行する。DBサーバ100は、DB処理の結果に基づいてDBレスポンスを生成し、クラスタ版数と共にAPサーバ400に送信する。ここで、DBサーバ100はAPサーバ400の指定したセッションが無効である場合、DBレスポンスとしてセッション無効通知をクラスタ版数と共に応答する。   [Step S53] The DB server 100 receives a DB request from the AP server 400. The DB server 100 executes DB processing based on the received DB request. The DB server 100 generates a DB response based on the result of the DB processing, and transmits it to the AP server 400 together with the cluster version number. Here, when the session designated by the AP server 400 is invalid, the DB server 100 returns a session invalidation notification as a DB response together with the cluster version number.

[ステップS54]APサーバ400は、DBレスポンスを受信する。APサーバ400は、DBレスポンスが正常応答であるか否かを判定する。正常応答でない場合、処理をステップS55に進める。正常応答である場合、処理をステップS56に進める。   [Step S54] The AP server 400 receives the DB response. The AP server 400 determines whether or not the DB response is a normal response. If not a normal response, the process proceeds to step S55. If it is a normal response, the process proceeds to step S56.

[ステップS55]APサーバ400は、セッション無効化処理を実行する。セッション無効化処理は、図12で説明した処理と同様である。そして、処理をステップS52に進める。   [Step S55] The AP server 400 executes a session invalidation process. The session invalidation process is the same as the process described with reference to FIG. Then, the process proceeds to step S52.

[ステップS56]APサーバ400は、DBレスポンス受信処理を実行する。
[ステップS57]APサーバ400は、必要に応じて、DBレスポンスに応じた業務処理を更に実行し、端末装置61に対するAPレスポンスを生成する。そして、APサーバ400は生成したAPレスポンスを端末装置61に送信する。
[Step S56] The AP server 400 executes DB response reception processing.
[Step S57] The AP server 400 further executes a business process according to the DB response as necessary to generate an AP response to the terminal device 61. Then, the AP server 400 transmits the generated AP response to the terminal device 61.

[ステップS58]APサーバ400は、端末装置61との一連の通信が完了したことを検知する。
[ステップS59]APサーバ400は、端末装置61から要求された業務処理を実行するために管理していた(APサーバ400とDBクラスタ10との間の)セッションを整理するための処理を実行する。
[Step S58] The AP server 400 detects that a series of communications with the terminal device 61 has been completed.
[Step S59] The AP server 400 executes a process for organizing a session (between the AP server 400 and the DB cluster 10) that has been managed to execute the business process requested from the terminal device 61. .

このようにして、APサーバ400とDBクラスタ10との間で業務処理に伴う通信が行われる。
次に、図13のステップS52に示したAPサーバ400のDBリクエスト送信処理を説明する。
In this way, communication associated with the business process is performed between the AP server 400 and the DB cluster 10.
Next, the DB request transmission process of the AP server 400 shown in step S52 of FIG. 13 will be described.

図14は、第2の実施の形態のDBリクエスト送信処理を示すフローチャートである。以下、図14に示す処理をステップ番号に沿って説明する。
[ステップS61]AP処理部420は、APリクエストに応じた業務処理の実行に伴って、DBクラスタに依頼すべき処理内容を記述したDBリクエストを生成する。AP処理部420は、生成したDBリクエストをDB通信部460に出力する。
FIG. 14 is a flowchart illustrating DB request transmission processing according to the second embodiment. In the following, the process illustrated in FIG. 14 will be described in order of step number.
[Step S61] The AP processing unit 420 generates a DB request describing the processing content to be requested of the DB cluster, in accordance with the execution of the business process corresponding to the AP request. The AP processing unit 420 outputs the generated DB request to the DB communication unit 460.

[ステップS62]セッション制御部440は、セッション情報記憶部410に記憶されたセッション管理テーブル412を参照する。
[ステップS63]セッション制御部440は、運用状態が“運用中”のDBクラスタが存在するか否かを判定する。“運用中”のDBクラスタが存在する場合、処理をステップS64に進める。“運用中”のDBクラスタが存在しない場合、処理を完了させる。なお、“運用中”のDBクラスタが存在しない場合、その後、AP処理部420は、クライアント通信部430を介して端末装置61にエラーを応答し、業務処理を完了させる。
[Step S62] The session control unit 440 refers to the session management table 412 stored in the session information storage unit 410.
[Step S63] The session control unit 440 determines whether or not there is a DB cluster whose operation state is “in operation”. If there is a DB cluster in operation, the process proceeds to step S64. When there is no “in operation” DB cluster, the processing is completed. When there is no “in operation” DB cluster, the AP processing unit 420 then responds an error to the terminal device 61 via the client communication unit 430 and completes the business process.

[ステップS64]セッション制御部440は、“運用中”のDBクラスタを選択する。セッション制御部440は、版数管理テーブル411に設定された“運用中”のDBクラスタをラウンドロビンによって選択する。例えば、前回の当ステップにおけるクラスタ選択処理においてDBクラスタ30(クラスタ名“DB0003”)を選択している場合、今回はDBクラスタ10(クラスタ名“DB0001”)を選択する。また、例えば、前回DBクラスタ10を選択している場合、今回はDBクラスタ20(クラスタ名“DB0002”)を選択する。   [Step S64] The session control unit 440 selects a DB cluster that is “in operation”. The session control unit 440 selects the “in operation” DB cluster set in the version number management table 411 by round robin. For example, if the DB cluster 30 (cluster name “DB0003”) is selected in the previous cluster selection process in this step, the DB cluster 10 (cluster name “DB0001”) is selected this time. For example, if the DB cluster 10 was selected last time, the DB cluster 20 (cluster name “DB0002”) is selected this time.

[ステップS65]セッション制御部440は、選択したDBクラスタにつきセッション割当処理を実行する。すなわち、DB通信部460が該当のDBクラスタにDBリクエストを送信するためのセッションを割り当てる。このとき、例えば該当のDBクラスタから予め取得したセッションに空きがなければ、該当のDBクラスタにセッションの開設を要求する。そして、DBクラスタから新規セッションの払い出しを受けられれば、そのセッションをDBリクエスト送信に割り当てることができる。また、セッションの払い出しを受けられなければ、セッションを割り当てることはできない。   [Step S65] The session control unit 440 executes session allocation processing for the selected DB cluster. That is, the DB communication unit 460 allocates a session for transmitting a DB request to the corresponding DB cluster. At this time, for example, if there is no available session acquired in advance from the corresponding DB cluster, the corresponding DB cluster is requested to open a session. If a new session is paid out from the DB cluster, the session can be assigned to DB request transmission. In addition, a session cannot be assigned unless the session is paid out.

[ステップS66]セッション制御部440は、DBリクエストを送信するためのセッションを割り当てることができたか否かを判定する。割り当てることができた場合、処理をステップS67に進める。割り当てることができなかった場合、処理をステップS63に進める。   [Step S66] The session control unit 440 determines whether or not a session for transmitting a DB request has been allocated. If it can be allocated, the process proceeds to step S67. If it cannot be assigned, the process proceeds to step S63.

[ステップS67]DB通信部460は、セッション制御部440により割り当てられたセッション番号(指定セッションの番号)をDBリクエストに含める。そして、DB通信部460はセッション制御部440が選択したDBクラスタに対し、DBリクエストを送信する。   [Step S67] The DB communication unit 460 includes the session number (designated session number) assigned by the session control unit 440 in the DB request. Then, the DB communication unit 460 transmits a DB request to the DB cluster selected by the session control unit 440.

このようにして、APサーバ400はDBリクエストを送信する際に、送信すべきDBクラスタを選択し、そのDBクラスタとの通信に用いるセッションを割り当てる。
次に、図14のステップS65に示したAPサーバ400のセッション割当処理を詳細に説明する。
In this way, when transmitting a DB request, the AP server 400 selects a DB cluster to be transmitted and allocates a session used for communication with the DB cluster.
Next, the session allocation process of the AP server 400 shown in step S65 of FIG. 14 will be described in detail.

図15は、第2の実施の形態のセッション割当処理を示すフローチャートである。以下、図15に示す処理をステップ番号に沿って説明する。なお、図14のステップS64でDBクラスタ10が選択されているものとする。   FIG. 15 is a flowchart illustrating session allocation processing according to the second embodiment. In the following, the process illustrated in FIG. 15 will be described in order of step number. Note that the DB cluster 10 is selected in step S64 of FIG.

[ステップS71]セッション制御部440は、セッション情報記憶部410に記憶されたセッション管理テーブル412を参照する。
[ステップS72]セッション制御部440は、セッション管理テーブル412にエントリされたセッションのうち、何れの端末装置にも割り当てられていない未割当セッションが存在するか否かを判定する。未割当セッションが存在する場合、処理をステップS73に進める。未割当セッションが存在しない場合、処理をステップS76に進める。
[Step S71] The session control unit 440 refers to the session management table 412 stored in the session information storage unit 410.
[Step S <b> 72] The session control unit 440 determines whether there is an unassigned session that is not assigned to any terminal device among the sessions entered in the session management table 412. If an unallocated session exists, the process proceeds to step S73. If there is no unassigned session, the process proceeds to step S76.

[ステップS73]セッション制御部440は、未割当セッションのうち、有効である(すなわち、無効でない)ものが存在するか否かを判定する。存在する場合、処理をステップS78に進める。存在しない場合、処理をステップS74に進める。   [Step S73] The session control unit 440 determines whether there is a valid (that is, not invalid) session among unassigned sessions. If it exists, the process proceeds to step S78. If not, the process proceeds to step S74.

[ステップS74]セッション制御部440は、DBクラスタ10に対してセッション管理テーブル412に設定された無効なセッションの破棄を指示する無効セッション破棄要求を生成し、DB通信部460に出力する。DB通信部460は、無効セッション破棄要求をDBクラスタ10に送信する。   [Step S <b> 74] The session control unit 440 generates an invalid session discard request that instructs the DB cluster 10 to discard the invalid session set in the session management table 412, and outputs the invalid session discard request to the DB communication unit 460. The DB communication unit 460 transmits an invalid session discard request to the DB cluster 10.

[ステップS75]DB通信部460は、DBクラスタ10からステップS74で指示したセッションを破棄した旨を示す無効セッション破棄応答を受信する。DB通信部460は、破棄応答をセッション制御部440に出力する。   [Step S75] The DB communication unit 460 receives from the DB cluster 10 an invalid session discard response indicating that the session specified in step S74 has been discarded. The DB communication unit 460 outputs a discard response to the session control unit 440.

[ステップS76]セッション制御部440は、新たなセッションの開設をDBクラスタ10に要求するためのセッション開設要求を生成し、DB通信部460に出力する。DB通信部460は、生成したセッション開設要求をDBクラスタ10に送信する。   [Step S76] The session control unit 440 generates a session establishment request for requesting the DB cluster 10 to establish a new session, and outputs the session establishment request to the DB communication unit 460. The DB communication unit 460 transmits the generated session opening request to the DB cluster 10.

[ステップS77]DB通信部460は、DBクラスタ10から新たに割り当てられたセッションを示す新規セッション情報とDBクラスタ10のクラスタ版数とを受信する。DB通信部460は、受信した新規セッション情報とクラスタ版数とをセッション制御部440に出力する。セッション制御部440は、セッション管理テーブル412に新規セッション情報(例えば、セッション番号)を設定する。また、セッション制御部440は、新規セッションと共に受信したクラスタ版数を新規セッションに対応するセッション取得時版数として設定する。セッション管理テーブル412に設定された新規セッションは未割当セッションとなる。また、新規セッションは有効なセッションとなる。   [Step S77] The DB communication unit 460 receives new session information indicating a session newly allocated from the DB cluster 10 and the cluster version number of the DB cluster 10. The DB communication unit 460 outputs the received new session information and the cluster version number to the session control unit 440. The session control unit 440 sets new session information (for example, session number) in the session management table 412. In addition, the session control unit 440 sets the cluster version number received together with the new session as the session acquisition version number corresponding to the new session. The new session set in the session management table 412 is an unassigned session. Also, the new session becomes a valid session.

[ステップS78]セッション制御部440は、セッション管理テーブル412を参照して、DBリクエストの生成元となったAPリクエストの送信元端末装置の識別情報(要求元識別情報)を有効かつ未割当のセッションに設定する。このとき、例えばセッション管理テーブル412に含まれる有効かつ未割当のセッションのうち、エントリIDが最も小さいものを優先して選択し、要求元識別情報の設定を行う。これにより、当DBリクエストにつきセッションが割り当てられたことになる。   [Step S78] The session control unit 440 refers to the session management table 412, and uses the identification information (request source identification information) of the transmission source terminal device of the AP request that is the generation source of the DB request as a valid and unallocated session. Set to. At this time, for example, among the valid and unallocated sessions included in the session management table 412, the one with the smallest entry ID is preferentially selected, and the request source identification information is set. As a result, a session is assigned for this DB request.

このように、APサーバ400は有効な未割当セッションが存在すれば、そのセッションを新たな業務処理用のデータ通信に割り当てる。
また、APサーバ400は無効な未割当セッションが存在すれば、そのセッションの破棄をDBクラスタ10に指示した後、DBクラスタ10に新規セッションの払い出しを要求する。そして、APサーバ400はDBクラスタ10から新たに取得したセッションを新たな業務処理用のデータ通信に割り当てる。
As described above, if there is a valid unallocated session, the AP server 400 allocates the session to a new business process data communication.
If there is an invalid unallocated session, the AP server 400 instructs the DB cluster 10 to discard the session, and then requests the DB cluster 10 to issue a new session. Then, the AP server 400 allocates the session newly acquired from the DB cluster 10 to a new data communication for business processing.

また、APサーバ400は未割当セッションが存在しない場合、DBクラスタ10に新規セッションの払い出しを要求する。そして、APサーバ400はDBクラスタ10から新たに取得したセッションを新たな業務処理用のデータ通信に割り当てる。   If there is no unallocated session, the AP server 400 requests the DB cluster 10 to issue a new session. Then, the AP server 400 allocates the session newly acquired from the DB cluster 10 to a new data communication for business processing.

なお、APサーバ400は要求元識別情報で指定される端末装置から受け付ける一連の処理に対して今回割り当てたセッションを継続して用いる。
更に、ステップS77において、DBクラスタ10から新規セッション情報を取得できない場合も考えられる。その要因として、例えばDBクラスタ10上でのメモリ等の資源不足でセッションの払い出しが行えない、通信経路で障害が発生した等が考えられる。この場合、セッション制御部440は、DBリクエストを送信するためのセッションの割り当てを行わずにセッション割当処理を完了する。そして、図14のステップS63〜66の処理により、他のDBクラスタに処理の割り当てを再度試みる。
The AP server 400 continues to use the session assigned this time for a series of processes received from the terminal device specified by the request source identification information.
Further, it may be considered that new session information cannot be acquired from the DB cluster 10 in step S77. As the factors, for example, a session cannot be paid out due to a shortage of resources such as memory on the DB cluster 10, or a failure has occurred in the communication path. In this case, the session control unit 440 completes the session assignment process without assigning a session for transmitting the DB request. Then, another attempt is made to assign a process to another DB cluster by the processes in steps S63 to S66 in FIG.

次に、図13のステップS53に示したDBサーバ100のDBレスポンス送信処理を詳細に説明する。
図16は、第2の実施の形態のDBレスポンス送信処理を示すフローチャートである。以下、図16に示す処理をステップ番号に沿って説明する。
Next, the DB response transmission process of the DB server 100 shown in step S53 of FIG. 13 will be described in detail.
FIG. 16 is a flowchart illustrating DB response transmission processing according to the second embodiment. In the following, the process illustrated in FIG. 16 will be described in order of step number.

[ステップS81]AP通信部160は、APサーバ400からDBリクエストを受信する。AP通信部160は、受信したDBリクエストをDB処理部120に出力する。
[ステップS82]DB処理部120は、DBリクエストに含まれる指定セッションは適正であるか否かを判定する。適正である場合、処理をステップS83に進める。適正でない場合、処理をステップS87に進める。なお、DB処理部120は、例えば指定セッションのセッション番号とAPサーバ400のためにプールしたセッションのセッション番号とを照合することで、指定セッションが適正であるか否かを判定することができる。すなわち、APサーバ400の指定セッションとDBサーバ100でAPサーバ400用にプールしているセッションとのセッション番号が一致する場合、適正であると判定する。これらが一致しない場合、適正でないと判定する。プールしたセッションの情報は、例えばAPサーバの識別情報に対応付けて所定の記憶部に記憶されている。
[Step S81] The AP communication unit 160 receives a DB request from the AP server 400. The AP communication unit 160 outputs the received DB request to the DB processing unit 120.
[Step S82] The DB processing unit 120 determines whether the designated session included in the DB request is appropriate. If so, the process proceeds to step S83. If not, the process proceeds to step S87. Note that the DB processing unit 120 can determine whether or not the designated session is appropriate by checking the session number of the designated session with the session number of the session pooled for the AP server 400, for example. That is, when the session number of the designated session of the AP server 400 and the session pooled for the AP server 400 in the DB server 100 match, it is determined to be appropriate. If they do not match, it is determined that they are not appropriate. The pooled session information is stored in a predetermined storage unit in association with the identification information of the AP server, for example.

[ステップS83]DB処理部120は、DBリクエストに応じたDB処理を実行する。
[ステップS84]DB処理部120は、版数記憶部110を参照してクラスタ版数を取得する。
[Step S83] The DB processing unit 120 executes DB processing according to the DB request.
[Step S84] The DB processing unit 120 refers to the version number storage unit 110 to obtain a cluster version number.

[ステップS85]DB処理部120は、DB処理の実行結果に基づいて、クラスタ版数を含むDBレスポンスを生成する。
[ステップS86]DB処理部120は、生成したDBレスポンスをAP通信部160に出力する。AP通信部160は、取得したDBレスポンスをAPサーバ400に送信する。なお、このDBレスポンスは正常にDB処理がなされた際の応答であるので、正常応答である。
[Step S85] The DB processing unit 120 generates a DB response including the cluster version number based on the execution result of the DB processing.
[Step S86] The DB processing unit 120 outputs the generated DB response to the AP communication unit 160. The AP communication unit 160 transmits the acquired DB response to the AP server 400. Since this DB response is a response when the DB processing is normally performed, it is a normal response.

[ステップS87]DB処理部120は、版数記憶部110を参照してクラスタ版数を取得する。ここで、版数記憶部110に記憶されたクラスタ版数が所定の初期値(例えば、“−1”)を示している場合は、サービス監視部140は新たなクラスタ版数を版数記憶部110に設定する。この場合、DB処理部120は、サービス監視部140が設定したクラスタ版数を取得する。   [Step S87] The DB processing unit 120 refers to the version number storage unit 110 to obtain a cluster version number. Here, when the cluster version number stored in the version number storage unit 110 indicates a predetermined initial value (for example, “−1”), the service monitoring unit 140 sets the new cluster version number to the version number storage unit. Set to 110. In this case, the DB processing unit 120 acquires the cluster version number set by the service monitoring unit 140.

[ステップS88]DB処理部120は、指定セッションが適正でない旨を示すセッション無効通知を生成する。DB処理部120は、セッション無効通知にクラスタ版数を含める。   [Step S88] The DB processing unit 120 generates a session invalidation notification indicating that the designated session is not appropriate. The DB processing unit 120 includes the cluster version number in the session invalidation notification.

[ステップS89]DB処理部120は、セッション無効通知をAP通信部160に出力する。AP通信部160は、セッション無効通知およびクラスタ版数をAPサーバ400に送信する。このレスポンスは、正常にDB処理がなされない場合の応答であるので、正常応答ではない。この場合、APサーバ400において図13のステップS54で正常応答と判定されない。   [Step S89] The DB processing unit 120 outputs a session invalidation notification to the AP communication unit 160. The AP communication unit 160 transmits a session invalidation notification and a cluster version number to the AP server 400. Since this response is a response when the DB processing is not normally performed, it is not a normal response. In this case, the AP server 400 does not determine a normal response in step S54 of FIG.

このようにして、DBサーバ100はAPサーバ400に対するレスポンスと共に、クラスタ版数を送信する。
なお、ステップS85〜S89では、クラスタ版数を各種レスポンスに含めて生成し、送信するものとしたが、これらを別個にAPサーバ400に送信してもよい。例えば、AP通信部160がAPサーバ400に各種レスポンスを送信する際に、版数送信部150がAPサーバ400にクラスタ版数を送信することとしてもよい。
In this way, the DB server 100 transmits the cluster version number together with the response to the AP server 400.
In steps S85 to S89, the cluster version number is generated and transmitted in various responses, but these may be transmitted separately to the AP server 400. For example, when the AP communication unit 160 transmits various responses to the AP server 400, the version number transmission unit 150 may transmit the cluster version number to the AP server 400.

次に、図13のステップS56に示したAPサーバ400のDBレスポンス受信処理を詳細に説明する。
図17は、第2の実施の形態のDBレスポンス受信処理を示すフローチャートである。以下、図17に示す処理をステップ番号に沿って説明する。
Next, the DB response reception process of the AP server 400 shown in step S56 of FIG. 13 will be described in detail.
FIG. 17 is a flowchart illustrating DB response reception processing according to the second embodiment. In the following, the process illustrated in FIG. 17 will be described in order of step number.

[ステップS91]AP処理部420は、DB通信部460で正常応答と判定されたDBレスポンスを取得する。AP処理部420は、DBレスポンスに応じたAP処理を実行する。AP処理部420は、AP処理の実行結果に基づいて、端末装置61へAPレスポンスを送信する。   [Step S91] The AP processing unit 420 acquires a DB response that is determined to be a normal response by the DB communication unit 460. The AP processing unit 420 executes AP processing according to the DB response. The AP processing unit 420 transmits an AP response to the terminal device 61 based on the execution result of the AP processing.

[ステップS92]セッション制御部440は、DB通信部460が受信したクラスタ版数を取得する。
[ステップS93]セッション制御部440は、DBレスポンスの送信元クラスタのセッション管理テーブルを参照する。ここでは、セッション情報記憶部410に記憶されたセッション管理テーブル412を参照する。
[Step S <b> 92] The session control unit 440 acquires the cluster version number received by the DB communication unit 460.
[Step S93] The session control unit 440 refers to the session management table of the DB response transmission source cluster. Here, the session management table 412 stored in the session information storage unit 410 is referred to.

[ステップS94]セッション制御部440は、受信したクラスタ版数とセッション取得時版数の異なるレコードが存在するか否かを判定する。存在する場合、処理をステップS95に進める。存在しない場合、処理をステップS96に進める。   [Step S94] The session control unit 440 determines whether there is a record having a different cluster version number from the received version number. If it exists, the process proceeds to step S95. If not, the process proceeds to Step S96.

[ステップS95]セッション制御部440は、セッション管理テーブル412のうち、セッション取得時版数が現クラスタ版数と異なるレコードにつき、無効フラグに“無効”を設定する。   [Step S95] The session control unit 440 sets “invalid” in the invalid flag for a record in the session management table 412 in which the session acquisition version number is different from the current cluster version number.

[ステップS96]セッション制御部440は、セッション情報記憶部410に記憶された版数管理テーブル411のDBクラスタ10(クラスタ名“DB0001”)に対応するクラスタ版数に受信したクラスタ版数を設定する。   [Step S96] The session control unit 440 sets the received cluster version number to the cluster version number corresponding to the DB cluster 10 (cluster name “DB0001”) in the version number management table 411 stored in the session information storage unit 410. .

このようにして、APサーバ400はセッション管理テーブル412に含まれるセッションのうち、DBクラスタ10から受信したクラスタ版数と異なるセッション取得時版数が設定されているセッションが存在する場合、そのセッションを“無効”とする。   In this way, if there is a session in which a session acquisition version number different from the cluster version number received from the DB cluster 10 exists among the sessions included in the session management table 412, the AP server 400 selects the session. “Invalid”.

次に、図13のステップS59に示したAPサーバ400のセッション整理処理を詳細に説明する。
図18は、第2の実施の形態のセッション整理処理を示すフローチャートである。以下、図18に示す処理をステップ番号に沿って説明する。
Next, the session organization process of the AP server 400 shown in step S59 of FIG. 13 will be described in detail.
FIG. 18 is a flowchart illustrating session organizing processing according to the second embodiment. In the following, the process illustrated in FIG. 18 will be described in order of step number.

[ステップS101]セッション制御部440は、端末装置61に対して割り当てていたセッションを特定する。
[ステップS102]セッション制御部440は、セッション情報記憶部410に記憶されたセッション管理テーブル412を参照して、そのセッションが有効であるか否かを判定する。有効である場合、処理をステップS103に進める。無効である場合、処理をステップS105に進める。
[Step S101] The session control unit 440 identifies a session assigned to the terminal device 61.
[Step S102] The session control unit 440 refers to the session management table 412 stored in the session information storage unit 410 and determines whether or not the session is valid. If it is valid, the process proceeds to step S103. If invalid, the process proceeds to step S105.

[ステップS103]セッション制御部440は、セッション管理テーブル412に設定されたセッションの総数がプール上限値を超過しているか否かを判定する。未超過の場合、処理をステップS104に進める。超過している場合、処理をステップS105に進める。   [Step S103] The session control unit 440 determines whether or not the total number of sessions set in the session management table 412 exceeds the pool upper limit value. If not, the process proceeds to step S104. If so, the process proceeds to step S105.

[ステップS104]セッション制御部440は、ステップS101で特定したセッションを未割当とする。すなわち、該当のレコードから端末装置61の要求元識別情報を削除する。   [Step S104] The session control unit 440 unassigns the session specified in step S101. That is, the request source identification information of the terminal device 61 is deleted from the corresponding record.

[ステップS105]セッション制御部440は、DBクラスタ10に対してセッション管理テーブル412に設定された無効なセッションの破棄を指示する無効セッション破棄要求を生成し、DB通信部460に出力する。DB通信部460は、無効セッション破棄要求をDBクラスタ10に送信する。   [Step S <b> 105] The session control unit 440 generates an invalid session discard request that instructs the DB cluster 10 to discard the invalid session set in the session management table 412, and outputs the invalid session discard request to the DB communication unit 460. The DB communication unit 460 transmits an invalid session discard request to the DB cluster 10.

[ステップS106]DB通信部460は、DBクラスタ10からステップS105で指示したセッションを破棄した旨を示す無効セッション破棄応答を受信する。DB通信部460は、破棄応答をセッション制御部440に出力する。   [Step S106] The DB communication unit 460 receives from the DB cluster 10 an invalid session discard response indicating that the session instructed in Step S105 has been discarded. The DB communication unit 460 outputs a discard response to the session control unit 440.

[ステップS107]セッション制御部440は、セッション管理テーブル412に含まれる無効セッションのレコードを削除する。
このようにして、APサーバ400は端末装置61,62,63,・・・に対してAPレスポンスを送信した後に、業務処理のために利用していたDBクラスタ10上のセッションの再利用を可能とする。
[Step S107] The session control unit 440 deletes the invalid session record included in the session management table 412.
In this way, the AP server 400 can reuse a session on the DB cluster 10 used for business processing after transmitting an AP response to the terminal devices 61, 62, 63,. And

また、APサーバ400はセッションを無効とした後、端末装置61,62,63,・・・との一連の通信が完了した後に無効セッションを破棄する。これにより、次のような効果を得ることができる。   Further, after invalidating the session, the AP server 400 discards the invalid session after completing a series of communications with the terminal devices 61, 62, 63,. Thereby, the following effects can be obtained.

例えば、APサーバ400とDBクラスタ10との通信が完了した状態で、業務処理トランザクションは継続しているような場合が発生し得る。この場合、トランザクションにより該当のセッションがロックされていると、そのセッションを破棄しようとしてもエラーとなり、適切にセッションの破棄が行われない場合が生じ得る。   For example, there may occur a case where the business process transaction is continued in a state where the communication between the AP server 400 and the DB cluster 10 is completed. In this case, if the corresponding session is locked by a transaction, an error may occur even if the session is discarded, and the session may not be appropriately discarded.

これに対し、APサーバ400は上述のように、端末装置61,62,63,・・・に対してAPレスポンスが送信された後(すなわち、業務処理トランザクションが一通り完了して、APサーバ400と端末装置61,62,63,・・・一連の通信が完了した後)に無効セッションを破棄するので、確実にセッションの破棄を行うことができる。   On the other hand, as described above, the AP server 400 transmits the AP response to the terminal devices 61, 62, 63,... (That is, the business processing transaction is completed and the AP server 400 is completed. And the terminal devices 61, 62, 63,... (After a series of communications are completed), the invalid session is discarded, so that the session can be reliably discarded.

次に、業務処理システムにおける処理の流れの具体例を説明する。なお、以下の例でもDBクラスタ10およびAPサーバ400との間の処理のみを説明するが、DBクラスタ10とAPサーバ500,600およびDBクラスタ20,30とAPサーバ400,500,600との間の処理に関しても同様である。   Next, a specific example of the processing flow in the business processing system will be described. In the following example, only processing between the DB cluster 10 and the AP server 400 will be described, but between the DB cluster 10 and the AP servers 500 and 600 and between the DB clusters 20 and 30 and the AP servers 400, 500, and 600. The same applies to the processing of.

以下の各図におけるステップの直前では、DBクラスタ10につきDBサーバ100が運用系、DBサーバ100aが待機系の状態であるとする。
図19は、第2の実施の形態のセッション無効化処理を示す第1のシーケンス図である。以下、図19に示す処理をステップ番号に沿って説明する。
Immediately before the step in each of the following drawings, it is assumed that the DB server 100 is in the active state and the DB server 100a is in the standby state for the DB cluster 10.
FIG. 19 is a first sequence diagram illustrating session invalidation processing according to the second embodiment. In the following, the process illustrated in FIG. 19 will be described in order of step number.

[ステップST1]DBサーバ100は、DBサービスの停止を開始する。
[ステップST2]DBサーバ100は、クラスタ版数を更新する。DBサーバ100は、APサーバ400へクラスタ停止開始通知およびクラスタ版数を送信する。APサーバ400は、DBサーバ100からクラスタ停止開始通知およびクラスタ版数を受信する。
[Step ST1] The DB server 100 starts stopping the DB service.
[Step ST2] The DB server 100 updates the cluster version number. The DB server 100 transmits a cluster stop start notification and a cluster version number to the AP server 400. The AP server 400 receives the cluster stop start notification and the cluster version number from the DB server 100.

[ステップST3]APサーバ400は、セッション無効化処理を実行する。APサーバ400は、DBクラスタ10を“非運用中”とする。これにより、DBクラスタ10はDB処理の振り分け対象外となる。   [Step ST3] The AP server 400 executes a session invalidation process. The AP server 400 sets the DB cluster 10 to “not in operation”. As a result, the DB cluster 10 is excluded from the DB processing distribution target.

[ステップST4]DBサーバ100aは、DBサーバ100からのハートビートパケットの受信が途絶えたことを検知する。
[ステップST5]DBサーバ100aは、DBサービスの起動を開始する。
[Step ST4] The DB server 100a detects that the reception of the heartbeat packet from the DB server 100 has ceased.
[Step ST5] The DB server 100a starts activation of the DB service.

[ステップST6]DBサーバ100aは、DBサービスの起動を完了する。DBサーバ100aが現用系となる。仮想DBアドレスの担い手がDBサーバ100aに切り替わる。すなわち、外部装置との仮想DBアドレスを介したデータ通信はDBサーバ100aにより行われるようになる。   [Step ST6] The DB server 100a completes activation of the DB service. The DB server 100a becomes the active system. The bearer of the virtual DB address is switched to the DB server 100a. That is, data communication with the external device via the virtual DB address is performed by the DB server 100a.

[ステップST7]DBサーバ100aは、クラスタ版数を更新する。DBサーバ100aは、APサーバ400へクラスタ起動完了通知およびクラスタ版数を送信する。APサーバ400は、DBサーバ100aからクラスタ起動完了通知およびクラスタ版数を受信する。   [Step ST7] The DB server 100a updates the cluster version number. The DB server 100a transmits a cluster activation completion notification and a cluster version number to the AP server 400. The AP server 400 receives the cluster activation completion notification and the cluster version number from the DB server 100a.

[ステップST8]APサーバ400は、セッション無効化処理を実行する。APサーバ400は、DBクラスタ10を“運用中”とする。これにより、DBクラスタ10はDB処理の振り分け対象となる。   [Step ST8] The AP server 400 executes a session invalidation process. The AP server 400 sets the DB cluster 10 to “in operation”. As a result, the DB cluster 10 becomes a target for distribution of DB processing.

[ステップST9]APサーバ400は、端末装置61からAPリクエストを受信すると、DB処理の振り分け先としてDBクラスタ10を選択する。そして、APサーバ400は、DBリクエスト送信のためにセッション開設要求をDBクラスタ10に送信する。   [Step ST9] Upon receiving an AP request from the terminal device 61, the AP server 400 selects the DB cluster 10 as a DB processing distribution destination. Then, the AP server 400 transmits a session establishment request to the DB cluster 10 for DB request transmission.

このように、DBクラスタ10はクラスタ切替の開始時およびクラスタ切替の完了時に、各処理の段階を示す旨の通知をAPサーバ400,500,600に送信する。
これにより、APサーバ400,500,600は、DBクラスタ10におけるクラスタ切替の開始・完了を適正に検知できる。APサーバ400,500,600は、ステップST2〜ST8の間ではDBクラスタ10に処理を振り分けないので、クラスタ切替中のDBクラスタ10に対する無駄なDBリクエストの送信を抑制できる。
As described above, the DB cluster 10 transmits a notification indicating the stage of each process to the AP servers 400, 500, and 600 when the cluster switching is started and when the cluster switching is completed.
As a result, the AP servers 400, 500, and 600 can properly detect the start and completion of cluster switching in the DB cluster 10. Since the AP servers 400, 500, and 600 do not distribute processing to the DB cluster 10 between steps ST2 and ST8, transmission of useless DB requests to the DB cluster 10 during cluster switching can be suppressed.

また、DBクラスタ10は、クラスタ切替の開始時およびクラスタ切替の完了時にクラスタ版数を送信する。そして、APサーバ400,500,600は更新されたクラスタ版数を受信した場合、DBクラスタ10から割り当てられていたセッションを無効とする。したがって、DBクラスタ10が利用可能となった際に、APサーバ400,500,600は、DBクラスタ10との通信開始時に利用可能なセッションが存在しないこととなる。よって、APサーバ400,500,600は、DBクラスタ10との間でデータ通信を行う際には、まず、DBクラスタ10に新規セッションの開設を要求する。   Further, the DB cluster 10 transmits the cluster version number at the start of cluster switching and at the completion of cluster switching. When the AP server 400, 500, 600 receives the updated cluster version number, it invalidates the session allocated from the DB cluster 10. Therefore, when the DB cluster 10 becomes available, the AP servers 400, 500, and 600 do not have a session that can be used when communication with the DB cluster 10 is started. Accordingly, when performing data communication with the DB cluster 10, the AP servers 400, 500, and 600 first request the DB cluster 10 to open a new session.

これにより、クラスタ切替直後にDBサーバ100aでプールされていないセッションを指定したDBリクエストがAPサーバ400,500,600からDBサーバ100aに送信されることがない。よって、APサーバ側とDBサーバ側とのセッション不整合によるエラーの発生を抑止することができる。   As a result, a DB request specifying a session that is not pooled by the DB server 100a immediately after cluster switching is not transmitted from the AP server 400, 500, 600 to the DB server 100a. Therefore, it is possible to suppress the occurrence of errors due to session mismatch between the AP server side and the DB server side.

また、DBクラスタ10に含まれるDBサーバ100,100aで一貫した版数を用いてDBクラスタ10の状態を管理する。このため、APサーバ400では受信元をクラスタ単位のDB仮想アドレスで識別できればよく、その配下のDBサーバを意識しなくてよい。このため、仮想アドレスの配下に存在するサーバとの間で確立するセッションの管理を容易に行うことができる。   Further, the DB servers 100 and 100a included in the DB cluster 10 manage the state of the DB cluster 10 using a consistent version number. Therefore, the AP server 400 only needs to be able to identify the reception source by the DB virtual address in cluster units, and does not need to be aware of the subordinate DB server. Therefore, it is possible to easily manage a session established with a server existing under the virtual address.

更に、DBクラスタ10はクラスタ切替の開始時と完了時とにクラスタ版数を更新して送信する。このため、仮にクラスタ切替の開始時にDBサーバ100の障害等が原因で、クラスタ版数がAPサーバ側に到達しなかった場合にも、クラスタ切替の完了時のクラスタ版数の通知によってAPサーバ側で確実にセッションの無効化が実行される。次に、そのような場合を例示する。   Further, the DB cluster 10 updates and transmits the cluster version number at the start and completion of cluster switching. For this reason, even if the cluster version does not reach the AP server due to the failure of the DB server 100 at the start of cluster switching, the AP server side is notified by the notification of the cluster version when the cluster switching is completed. Ensures that the session is invalidated. Next, such a case is illustrated.

図20は、第2の実施の形態のセッション無効化処理を示す第2のシーケンス図である。以下、図20に示す処理をステップ番号に沿って説明する。
[ステップST11]DBサーバ100は、障害によりDBサービスが利用不可となる。
FIG. 20 is a second sequence diagram illustrating session invalidation processing according to the second embodiment. In the following, the process illustrated in FIG. 20 will be described in order of step number.
[Step ST11] The DB server 100 cannot use the DB service due to a failure.

[ステップST12]DBサーバ100aは、DBサーバ100からのハートビートパケットの受信が途絶えたことを検知する。
[ステップST13]DBサーバ100aは、DBサービスの起動を開始する。
[Step ST12] The DB server 100a detects that the reception of the heartbeat packet from the DB server 100 has ceased.
[Step ST13] The DB server 100a starts starting the DB service.

[ステップST14]DBサーバ100aは、DBサービスの起動を完了する。DBサーバ100aが現用系となる。仮想DBアドレスの担い手がDBサーバ100aに切り替わる。すなわち、外部装置との仮想DBアドレスを介したデータ通信はDBサーバ100aにより行われるようになる。   [Step ST14] The DB server 100a completes the activation of the DB service. The DB server 100a becomes the active system. The bearer of the virtual DB address is switched to the DB server 100a. That is, data communication with the external device via the virtual DB address is performed by the DB server 100a.

[ステップST15]DBサーバ100aは、クラスタ版数を更新する。DBサーバ100aは、APサーバ400へクラスタ版数およびクラスタ起動完了通知を送信する。APサーバ400は、DBサーバ100aからクラスタ版数およびクラスタ起動完了通知を受信する。   [Step ST15] The DB server 100a updates the cluster version number. The DB server 100a transmits a cluster version number and a cluster activation completion notification to the AP server 400. The AP server 400 receives the cluster version number and the cluster activation completion notification from the DB server 100a.

[ステップST16]APサーバ400は、セッション無効化処理を実行する。APサーバ400は、DBクラスタ10を“運用中”とする。これにより、DBクラスタ10はDB処理の振り分け対象となる。   [Step ST16] The AP server 400 executes a session invalidation process. The AP server 400 sets the DB cluster 10 to “in operation”. As a result, the DB cluster 10 becomes a target for distribution of DB processing.

[ステップST17]APサーバ400は、端末装置61からAPリクエストを受信すると、DB処理の振り分け先としてDBクラスタ10を選択する。そして、APサーバ400は、DBリクエスト送信のためにセッション開設要求をDBクラスタ10に送信する。   [Step ST17] Upon receiving the AP request from the terminal device 61, the AP server 400 selects the DB cluster 10 as a DB processing distribution destination. Then, the AP server 400 transmits a session establishment request to the DB cluster 10 for DB request transmission.

このように、DBクラスタ10はDBサーバ100の障害によって、クラスタ切替開始時にクラスタ版数をAPサーバ400,500,600に送信できなかった場合にも、APサーバ400,500,600に確実にセッションの無効化処理を促すことができる。   As described above, even when the DB cluster 10 cannot transmit the cluster version number to the AP server 400, 500, 600 at the start of the cluster switching due to the failure of the DB server 100, the session is surely performed to the AP server 400, 500, 600. It is possible to prompt invalidation processing.

次に、クラスタ切替の完了後、DBクラスタ10がAPサーバ400,500,600にクラスタ起動完了通知を送信する前にAPサーバ400からDBリクエストを受信する場合を例示する。   Next, a case where a DB request is received from the AP server 400 before the DB cluster 10 transmits a cluster activation completion notification to the AP servers 400, 500, 600 after the cluster switching is completed will be exemplified.

図21は、第2の実施の形態のセッション無効化処理を示す第3のシーケンス図である。以下、図21に示す処理をステップ番号に沿って説明する。
[ステップST21]DBサーバ100は、障害によりDBサービスが利用不可となる。
FIG. 21 is a third sequence diagram illustrating session invalidation processing according to the second embodiment. In the following, the process illustrated in FIG. 21 will be described in order of step number.
[Step ST21] The DB server 100 cannot use the DB service due to a failure.

[ステップST22]DBサーバ100aは、DBサーバ100からのハートビートパケットの受信が途絶えたことを検知する。
[ステップST23]DBサーバ100aは、DBサービスの起動を開始する。
[Step ST22] The DB server 100a detects that the reception of the heartbeat packet from the DB server 100 has ceased.
[Step ST23] The DB server 100a starts starting the DB service.

[ステップST24]DBサーバ100aは、DBサービスの起動を完了する。DBサーバ100aが現用系となる。仮想DBアドレスの担い手がDBサーバ100aに切り替わる。すなわち、外部装置との仮想DBアドレスを介したデータ通信はDBサーバ100aにより行われるようになる。   [Step ST24] The DB server 100a completes activation of the DB service. The DB server 100a becomes the active system. The bearer of the virtual DB address is switched to the DB server 100a. That is, data communication with the external device via the virtual DB address is performed by the DB server 100a.

[ステップST25]APサーバ400は、クラスタ切替前にDBサーバ100から払い出されたセッションを指定して、DBクラスタ10にDBリクエストを送信する。DBサーバ100aは、APサーバ400からDBリクエストを受信する。   [Step ST25] The AP server 400 designates a session paid out from the DB server 100 before the cluster switching, and transmits a DB request to the DB cluster 10. The DB server 100a receives a DB request from the AP server 400.

[ステップST26]DBサーバ100aは、クラスタ版数が初期値であるため、新たにクラスタ版数を設定する。DBサーバ100aは、セッション無効通知およびこのクラスタ版数をAPサーバ400に送信する。APサーバ400は、DBサーバ100aからセッション無効通知およびクラスタ版数を受信する。   [Step ST26] The DB server 100a sets a new cluster version number because the cluster version number is an initial value. The DB server 100a transmits a session invalid notice and the cluster version number to the AP server 400. The AP server 400 receives a session invalidation notification and a cluster version number from the DB server 100a.

[ステップST27]APサーバ400は、セッション無効化処理を実行する。
[ステップST28]APサーバ400は、端末装置61からAPリクエストを受信すると、DB処理の振り分け先としてDBクラスタ10を選択する。そして、APサーバ400は、DBリクエスト送信のためにセッション開設要求をDBクラスタ10に送信する。
[Step ST27] The AP server 400 executes a session invalidation process.
[Step ST28] Upon receiving the AP request from the terminal device 61, the AP server 400 selects the DB cluster 10 as a DB processing distribution destination. Then, the AP server 400 transmits a session establishment request to the DB cluster 10 for DB request transmission.

このように、障害等でクラスタ停止開始通知がAPサーバ400,500,600に送信されない場合には、クラスタ切替直後にDBサーバ100aでプールされていないセッションを指定したDBリクエストがDBサーバ100aに送信されることも考えられる。   As described above, when the cluster stop start notification is not transmitted to the AP servers 400, 500, and 600 due to a failure or the like, a DB request specifying a session that is not pooled by the DB server 100a immediately after the cluster switching is transmitted to the DB server 100a. It can also be considered.

これに対し、DBサーバ100aはそのようなDBリクエストに対して、セッション無効通知およびクラスタ版数を応答する。このため、APサーバ400はDBクラスタ10との間でプールされたセッションが無効であると検知できる。   In response to this, the DB server 100a responds to such a DB request with a session invalidation notification and a cluster version number. For this reason, the AP server 400 can detect that the session pooled with the DB cluster 10 is invalid.

なお、上述の例では、DBサーバ100aはステップST26でDBリクエストに対してセッション無効通知およびクラスタ版数の応答を行う。これによって、APサーバ400ではセッション無効通知によるセッションの無効化処理が行われるので、その後にDBサービス起動時版数通知処理を行わないものとした。ただし、DBサーバ100aはDBサービス起動時版数通知処理を実行してもよい。その場合、クラスタ版数が更新されるので、APサーバ400ではステップST27のセッション無効化処理とは別に再度セッション無効化処理が行われる。   In the above example, the DB server 100a performs a session invalidation notification and a cluster version number response to the DB request in step ST26. As a result, in the AP server 400, the session invalidation process is performed by the session invalidation notification, and therefore the DB service activation version number notification process is not performed thereafter. However, the DB server 100a may execute DB service activation version number notification processing. In this case, since the cluster version number is updated, the AP server 400 performs the session invalidation process again separately from the session invalidation process in step ST27.

以上で説明したように、本実施の形態の業務処理システムによればAPサーバ側とDBサーバ側とのセッション不整合によるエラーの発生を抑止することができる。
例えば、クラスタ構成を採る基幹システムでクラスタ切替が発生し、エラーが発生するような場合でも、クライアント装置側(端末装置61,62,63,・・・)では端末エラーが表示されなくなる。その結果、多数のクライアント装置側に旧いセッションエラーが表示されて業務が中断し、現場が混乱する等の問題を解消することができる。
As described above, according to the business processing system of the present embodiment, it is possible to suppress the occurrence of an error due to session mismatch between the AP server side and the DB server side.
For example, even when an error occurs due to cluster switching in a backbone system having a cluster configuration, terminal errors are not displayed on the client device side (terminal devices 61, 62, 63,...). As a result, it is possible to solve problems such as old session errors displayed on a large number of client apparatuses, interruption of work, and disruption of the site.

[第3の実施の形態]
以下、第3の実施の形態について説明する。前述の第2の実施の形態との相違点を中心に説明し、同様の事項については説明を省略する。
[Third Embodiment]
The third embodiment will be described below. Differences from the second embodiment will be mainly described, and description of similar matters will be omitted.

ここで、第2の実施の形態ではAPサーバ側でDBクラスタ側のクラスタ版数を管理することとした。第3の実施の形態では、更にDBクラスタ側でAPサーバ側の版数(サーバ版数)を管理する。以下では、それによって実現される機能について説明する。   Here, in the second embodiment, the cluster version number on the DB cluster side is managed on the AP server side. In the third embodiment, the version number (server version number) on the AP server side is further managed on the DB cluster side. Below, the function implement | achieved by it is demonstrated.

なお、第3の実施の形態の業務処理システムの構成は、図2に示した第2の実施の形態の業務処理システムの構成と同様であるため説明を省略する。更に、第3の実施の形態の業務処理システムの各装置のハードウェア構成は、図3に示した第2の実施の形態のDBサーバ100のハードウェア構成と同様であるため、説明を省略する。   The configuration of the business processing system according to the third embodiment is the same as the configuration of the business processing system according to the second embodiment shown in FIG. Furthermore, the hardware configuration of each device of the business processing system according to the third embodiment is the same as the hardware configuration of the DB server 100 according to the second embodiment shown in FIG. .

また、以下の説明では第2の実施の形態の各装置に付した符号と同一の符号を用いて、第3の実施の形態の各装置を説明する。
図22は、第3の実施の形態のDBサーバの機能構成を示す図である。DBサーバ100は、版数記憶部110、DB処理部120、クラスタ制御部130、サービス監視部140、AP通信部160、セッション情報記憶部170、セッション制御部180および版数送受信部190を有する。これらの機能はCPU101が所定のプログラムを実行することで実現される。なお、これらの機能の全部あるいは少なくとも一部を専用のハードウェアを用いて実現してもよい。
In the following description, each device of the third embodiment will be described using the same reference numerals as those assigned to the devices of the second embodiment.
FIG. 22 is a diagram illustrating a functional configuration of the DB server according to the third embodiment. The DB server 100 includes a version number storage unit 110, a DB processing unit 120, a cluster control unit 130, a service monitoring unit 140, an AP communication unit 160, a session information storage unit 170, a session control unit 180, and a version number transmission / reception unit 190. These functions are realized by the CPU 101 executing a predetermined program. All or at least a part of these functions may be realized using dedicated hardware.

ここで、版数記憶部110、DB処理部120、クラスタ制御部130、サービス監視部140およびAP通信部160は、図4で同一の符号を用いて説明した各構成と同一であるため説明を省略する。   Here, the version number storage unit 110, the DB processing unit 120, the cluster control unit 130, the service monitoring unit 140, and the AP communication unit 160 are the same as the components described using the same reference numerals in FIG. Omitted.

ただし、クラスタ制御部130は、版数記憶部110、DB処理部120、サービス監視部140、AP通信部160、セッション情報記憶部170、セッション制御部180および版数送受信部190の各機能の起動・停止を制御する。すなわち、クラスタ制御部130は、DBサーバ100aが待機系として動作する場合、自サーバを現用系として動作させるためにこれらの各機能を起動させる。   However, the cluster control unit 130 activates each function of the version number storage unit 110, the DB processing unit 120, the service monitoring unit 140, the AP communication unit 160, the session information storage unit 170, the session control unit 180, and the version number transmission / reception unit 190. -Control stop. That is, when the DB server 100a operates as a standby system, the cluster control unit 130 activates each of these functions in order to operate the own server as an active system.

セッション情報記憶部170は、APサーバ400のセッション情報記憶部410に対応する。セッション情報記憶部170はAPサーバ400,500,600のサーバ版数を記憶する。サーバ版数の詳細は後述する。セッション情報記憶部410は、APサーバ400,500,600に対して割り当てたセッションを定義したセッション情報を記憶する。   Session information storage unit 170 corresponds to session information storage unit 410 of AP server 400. The session information storage unit 170 stores the server version numbers of the AP servers 400, 500, and 600. Details of the server version will be described later. The session information storage unit 410 stores session information that defines sessions assigned to the AP servers 400, 500, and 600.

セッション制御部180は、セッション情報記憶部170に記憶されたAPサーバ400,500,600のサーバ版数およびセッション情報を管理する。
版数送受信部190は、サービス監視部140により版数記憶部110に記憶されたクラスタ版数が更新されると、そのクラスタ版数をAPサーバ400,500,600に送信する。また、版数送受信部190は、APサーバ400,500,600から各サーバのサーバ版数を受信する。版数送受信部190は、受信したサーバ版数をセッション制御部180に出力する。
The session control unit 180 manages the server version number and session information of the AP servers 400, 500, and 600 stored in the session information storage unit 170.
When the service monitoring unit 140 updates the cluster version number stored in the version number storage unit 110, the version number transmission / reception unit 190 transmits the cluster version number to the AP servers 400, 500, and 600. The version number transmission / reception unit 190 receives the server version number of each server from the AP servers 400, 500, and 600. The version number transmission / reception unit 190 outputs the received server version number to the session control unit 180.

DBサーバ100aは、版数記憶部110a、DB処理部120a、クラスタ制御部130a、サービス監視部140a、AP通信部160a、セッション情報記憶部170a、セッション制御部180aおよび版数送受信部190aを有する。これらの機能は、DBサーバ100aが備えるCPUが所定のプログラムを実行することで実現される。なお、これらの機能の全部あるいは少なくとも一部を専用のハードウェアを用いて実現してもよい。   The DB server 100a includes a version number storage unit 110a, a DB processing unit 120a, a cluster control unit 130a, a service monitoring unit 140a, an AP communication unit 160a, a session information storage unit 170a, a session control unit 180a, and a version number transmission / reception unit 190a. These functions are realized by the CPU provided in the DB server 100a executing a predetermined program. All or at least a part of these functions may be realized using dedicated hardware.

ここで、版数記憶部110a、DB処理部120a、クラスタ制御部130a、サービス監視部140aおよびAP通信部160aは、図4で同一の符号を用いて説明した各構成と同一であるため説明を省略する。   Here, the version number storage unit 110a, the DB processing unit 120a, the cluster control unit 130a, the service monitoring unit 140a, and the AP communication unit 160a are the same as those described using the same reference numerals in FIG. Omitted.

ただし、クラスタ制御部130aは、DBサーバ100が現用系として動作している場合には、これらの機能の停止状態を維持する。一方、DBサーバ100が利用不可となった場合には、自サーバを現用系として動作させるためにこれらの各機能を起動させる。   However, when the DB server 100 is operating as an active system, the cluster control unit 130a maintains the stopped state of these functions. On the other hand, when the DB server 100 becomes unusable, each of these functions is activated to operate the own server as an active system.

セッション情報記憶部170aは、セッション情報記憶部170に対応する。セッション制御部180aは、セッション制御部180に対応する。版数送受信部190aは、版数送受信部190に対応する。   The session information storage unit 170a corresponds to the session information storage unit 170. The session control unit 180a corresponds to the session control unit 180. The version number transmission / reception unit 190 a corresponds to the version number transmission / reception unit 190.

また、DBクラスタ20,30についてもDBクラスタ10と同様の機能構成により実現できる。
図23は、第3の実施の形態のAPサーバの機能構成を示す図である。APサーバ400は、セッション情報記憶部410、AP処理部420、クライアント通信部430、セッション制御部440、DB通信部460、版数記憶部470、サービス監視部480および版数送受信部490を有する。これらの機能は、APサーバ400が備えるCPUが所定のプログラムを実行することで実現される。なお、これらの機能の全部あるいは少なくとも一部を専用のハードウェアを用いて実現してもよい。
The DB clusters 20 and 30 can also be realized by the same functional configuration as the DB cluster 10.
FIG. 23 is a diagram illustrating a functional configuration of the AP server according to the third embodiment. The AP server 400 includes a session information storage unit 410, an AP processing unit 420, a client communication unit 430, a session control unit 440, a DB communication unit 460, a version number storage unit 470, a service monitoring unit 480, and a version number transmission / reception unit 490. These functions are realized by the CPU provided in the AP server 400 executing a predetermined program. All or at least a part of these functions may be realized using dedicated hardware.

ここで、セッション情報記憶部410、AP処理部420、クライアント通信部430、セッション制御部440、DB通信部460は、図5で同一の符号を用いて説明した各構成と同一であるため説明を省略する。   Here, the session information storage unit 410, the AP processing unit 420, the client communication unit 430, the session control unit 440, and the DB communication unit 460 are the same as those described using the same reference numerals in FIG. Omitted.

版数記憶部470は、APサーバ400のサーバ版数を記憶する。
サービス監視部480は、AP処理部420の起動・停止を監視する。サービス監視部480は、AP処理部420が起動または停止した場合に、版数記憶部470に記憶されたサーバ版数を更新する。
The version number storage unit 470 stores the server version number of the AP server 400.
The service monitoring unit 480 monitors activation / deactivation of the AP processing unit 420. The service monitoring unit 480 updates the server version number stored in the version number storage unit 470 when the AP processing unit 420 is activated or stopped.

版数送受信部490は、サービス監視部480により版数記憶部470に記憶されたサーバ版数が更新されると、そのサーバ版数をDBクラスタ10,20,30に送信する。また、版数送受信部490は、DBクラスタ10,20,30から各クラスタのクラスタ版数を受信する。版数送受信部490は、受信したクラスタ版数をセッション制御部440に出力する。   When the server version number stored in the version number storage unit 470 is updated by the service monitoring unit 480, the version number transmission / reception unit 490 transmits the server version number to the DB clusters 10, 20, and 30. The version number transmission / reception unit 490 receives the cluster version number of each cluster from the DB clusters 10, 20, and 30. The version number transmission / reception unit 490 outputs the received cluster version number to the session control unit 440.

なお、APサーバ500,600に関してもAPサーバ400と同様の機能構成により実現できる。
図24は、DBサーバが有する版数管理テーブルのデータ構造例を示す図である。版数管理テーブル171は、セッション制御部180により更新され、セッション情報記憶部170に格納される。版数管理テーブル171には、APサーバ名を示す項目、サーバ版数を示す項目および運用状態を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのAPサーバに関する情報を示す。
The AP servers 500 and 600 can also be realized by the same functional configuration as the AP server 400.
FIG. 24 is a diagram illustrating a data structure example of a version number management table included in the DB server. The version number management table 171 is updated by the session control unit 180 and stored in the session information storage unit 170. The version number management table 171 includes an item indicating the AP server name, an item indicating the server version number, and an item indicating the operation status. Information arranged in the horizontal direction of each item is associated with each other to indicate information related to one AP server.

APサーバ名を示す項目には、APサーバのサーバ名を示す情報が設定される。サーバ版数を示す項目には、APサーバのサーバ版数を示す情報が設定される。運用状態を示す項目には、運用中であるか否かを示す情報が設定される。   Information indicating the server name of the AP server is set in the item indicating the AP server name. In the item indicating the server version number, information indicating the server version number of the AP server is set. In the item indicating the operation state, information indicating whether the operation is in progress is set.

版数管理テーブル171には、例えばAPサーバ名が“AP0001”、サーバ版数が“1257041552”、運用状態が“運用中”という情報が設定される。これは、クラスタ名“AP0001”で示されるAPサーバ400のサーバ版数が“1257041552”であることを示している。また、APサーバ400は、現在“運用中”であることを示している。   In the version number management table 171, for example, information that the AP server name is “AP0001”, the server version number is “1257041552”, and the operation state is “in operation” is set. This indicates that the server version number of the AP server 400 indicated by the cluster name “AP0001” is “1257041552”. Further, the AP server 400 indicates that it is currently “in operation”.

ここで、以下ではAPサーバ500のAPサーバ名を“AP0002”、APサーバ600のAPサーバ名を“AP0003”とする。
図25は、DBサーバが有するセッション管理テーブルのデータ構造例を示す図である。セッション管理テーブル172,173,174は、セッション制御部180により更新され、セッション情報記憶部170に格納される。セッション管理テーブル172はAPサーバ400に割り当てたセッションを管理するためのものである。セッション管理テーブル173はAPサーバ500に割り当てたセッションを管理するためのものである。セッション管理テーブル174はAPサーバ600に割り当てたセッションを管理するためのものである。以下では、セッション管理テーブル172に関してのみ説明するが、セッション管理テーブル173,174に関しても同様の構成である。
Hereinafter, the AP server name of the AP server 500 is “AP0002”, and the AP server name of the AP server 600 is “AP0003”.
FIG. 25 is a diagram illustrating a data structure example of a session management table included in the DB server. The session management tables 172, 173, and 174 are updated by the session control unit 180 and stored in the session information storage unit 170. The session management table 172 is for managing a session assigned to the AP server 400. The session management table 173 is for managing a session assigned to the AP server 500. The session management table 174 is for managing a session assigned to the AP server 600. Hereinafter, only the session management table 172 will be described, but the session management tables 173 and 174 have the same configuration.

セッション管理テーブル172には、エントリIDを示す項目、セッション割当時版数を示す項目、セッション番号を示す項目および要求先識別情報を示す項目が設けられている。各項目の横方向に並べられた情報同士が互いに関連付けられて、1つのセッションに関する情報を示す。   The session management table 172 includes an item indicating an entry ID, an item indicating a session allocation version number, an item indicating a session number, and an item indicating request destination identification information. Information arranged in the horizontal direction of each item is associated with each other to indicate information related to one session.

エントリIDを示す項目には、セッション管理テーブル172に含まれる1レコードを識別するためのエントリIDが設定される。セッション割当時版数を示す項目には、セッションを割り当てた際のサーバ版数が設定される。セッション番号を示す項目には、APサーバ400に割り当てたセッションを識別するためのセッション番号が設定される。要求先識別情報を示す項目には、処理要求を実行するためのスレッドを識別する情報が設定される。   In the item indicating the entry ID, an entry ID for identifying one record included in the session management table 172 is set. In the item indicating the version number at session allocation, the server version number when the session is allocated is set. In the item indicating the session number, a session number for identifying a session assigned to the AP server 400 is set. Information for identifying a thread for executing a processing request is set in the item indicating request destination identification information.

セッション管理テーブル172は、例えばエントリIDが“1”、セッション割当時版数が“1257041552”、セッション番号が“4”、要求先識別情報が“スレッド5”という情報が設定される。これは、APサーバ400から受け付けたセッション番号“4”を指定する処理要求につき、そのセッションを割り当てた際のAPサーバ400のサーバ版数が“1257041552”であることを示している。また、その処理要求に対する処理を行うスレッドが要求先識別情報“スレッド5”のスレッドであることを示している。   In the session management table 172, for example, the entry ID is “1”, the session allocation version number is “12570415552”, the session number is “4”, and the request destination identification information is “thread 5” is set. This indicates that for the processing request specifying the session number “4” received from the AP server 400, the server version of the AP server 400 when the session is allocated is “1257041552”. Further, it is indicated that the thread that performs processing for the processing request is the thread of the request destination identification information “thread 5”.

図26は、APサーバが有するサーバ版数テーブルのデータ構造例を示す図である。サーバ版数テーブル471は、サービス監視部480により更新され、版数記憶部470に格納される。サーバ版数テーブル471には、APサーバ400のサーバ版数が設定される。   FIG. 26 is a diagram illustrating a data structure example of a server version number table included in the AP server. The server version number table 471 is updated by the service monitoring unit 480 and stored in the version number storage unit 470. The server version number of the AP server 400 is set in the server version number table 471.

サーバ版数テーブル471には、例えば“1257043871”という情報が設定される。これは、図6で説明したクラスタ版数テーブル111と同様に、1970年1月1日0時0分0秒からの秒数である。サービス監視部480はサーバ版数テーブル471を更新する際に、例えばOSからこのような時間情報をサーバ版数として取得できる。   In the server version number table 471, for example, information “1257044381” is set. Similar to the cluster version number table 111 described with reference to FIG. 6, this is the number of seconds from January 1, 1970, 00:00:00. When the service monitoring unit 480 updates the server version number table 471, for example, such time information can be acquired as the server version number from the OS.

なお、サーバ版数はAPサービス起動中から起動直後の時点では所定の初期値(例えば“−1”)が設定されるものとする。そして、起動完了後の所定のタイミングで、サービス監視部480により、現在の時間情報がサーバ版数として設定される。   The server version number is set to a predetermined initial value (for example, “−1”) at the time immediately after the AP service is started. Then, at a predetermined timing after the start is completed, the service monitoring unit 480 sets the current time information as the server version number.

次に、以上のような構成を備える業務処理システムの処理手順を説明する。ここで、以下ではDBクラスタ10およびAPサーバ400に注目して処理手順を説明する。ただし、DBクラスタ10とAPサーバ500,600との間の処理も同様である。また、DBクラスタ20,30とAPサーバ400,500,600との間の処理も同様である。   Next, a processing procedure of a business processing system having the above configuration will be described. Here, the processing procedure will be described below focusing on the DB cluster 10 and the AP server 400. However, the process between the DB cluster 10 and the AP servers 500 and 600 is the same. The processing between the DB clusters 20 and 30 and the AP servers 400, 500, and 600 is the same.

まず、APサーバ400,500,600を縮退運転する。縮退運転とは、APサーバ400,500,600の何れか一部でAPサービスを停止させて業務処理システムを稼働させることを意味する。以下の説明では、APサーバ400でAPサービスを停止・起動させる場合を例示する。また、DBクラスタ10はDBサーバ100が現用系、DBサーバ100aが待機系であるとする。   First, the AP servers 400, 500, and 600 are degenerated. The degenerate operation means that the AP service is stopped at any part of the AP servers 400, 500, 600 and the business processing system is operated. In the following description, a case where the AP server 400 stops and starts the AP service is illustrated. In the DB cluster 10, the DB server 100 is the active system, and the DB server 100a is the standby system.

図27は、第3の実施の形態のAPサーバの縮退開始/縮退解除処理を示すシーケンス図である。以下、図27に示す処理をステップ番号に沿って説明する。
[ステップS111]APサーバ400は、APサービス(AP処理部420)の停止指示を受け付ける。AP処理部420の停止指示を受け付ける場合としては、例えばシステム管理者がメンテナンスのためにサービス停止を指示する操作入力をAPサーバ400に対して行った場合等が考えられる。また、例えば夜間や休日等、システムの利用の少ない期間に縮退運転するためにAPサーバ400を計画停止させる場合も考えられる。
FIG. 27 is a sequence diagram illustrating degeneration start / degeneration release processing of the AP server according to the third embodiment. In the following, the process illustrated in FIG. 27 will be described in order of step number.
[Step S111] The AP server 400 receives an instruction to stop the AP service (AP processing unit 420). As a case where the stop instruction of the AP processing unit 420 is received, for example, a case where the system administrator performs an operation input for instructing stop of the service for maintenance to the AP server 400 can be considered. Further, there may be a case where the AP server 400 is planned to be stopped in order to perform a degenerate operation during a period when the system is not used, such as at night or on holidays.

[ステップS112]APサーバ400は、AP処理部420の停止を開始する。
[ステップS113]APサーバ400は、AP処理部420の停止が開始されると、版数記憶部470に記憶されたサーバ版数を更新する。APサーバ400は、更新したサーバ版数およびAPサービス停止開始通知をDBクラスタ10,20,30に送信する。
[Step S112] The AP server 400 starts stopping the AP processing unit 420.
[Step S113] When the AP processing unit 420 is stopped, the AP server 400 updates the server version number stored in the version number storage unit 470. The AP server 400 transmits the updated server version number and AP service stop start notification to the DB clusters 10, 20, and 30.

[ステップS114]DBサーバ100は、APサーバ400からサーバ版数を受信する。APサーバ400は、受信したサーバ版数に基づいて、DBサーバ100がAPサーバ400に割り当てていたセッションの解放処理を実行する。また、DBサーバ100は、APサービス停止開始通知を受信したことにより、セッション情報記憶部170に記憶された版数管理テーブル171のうち、APサーバ400(APサーバ名“AP0001”)の運用状態を“非運用中”に設定する。   [Step S114] The DB server 100 receives the server version number from the AP server 400. The AP server 400 executes a session release process that the DB server 100 has assigned to the AP server 400 based on the received server version number. In addition, the DB server 100 receives the AP service stop start notification, so that the operation status of the AP server 400 (AP server name “AP0001”) in the version number management table 171 stored in the session information storage unit 170 is displayed. Set to “Not in operation”.

[ステップS115]APサーバ400は、AP処理部420の停止が完了する。
[ステップS116]APサーバ400は、メンテナンスの完了に伴う起動指示や計画停止からの復旧のための起動指示によってAP処理部420の起動を開始する。
[Step S115] The AP server 400 completes stopping the AP processing unit 420.
[Step S116] The AP server 400 starts the AP processing unit 420 in response to a start instruction accompanying the completion of maintenance or a start instruction for recovery from a planned stop.

[ステップS117]APサーバ400は、AP処理部420の起動を完了する。
[ステップS118]APサーバ400は、AP処理部420の起動が完了すると、版数記憶部470に記憶されたサーバ版数を更新する。APサーバ400は、更新したサーバ版数およびAPサービス開始完了通知をDBクラスタ10,20,30に送信する。
[Step S117] The AP server 400 completes the activation of the AP processing unit 420.
[Step S118] When the activation of the AP processing unit 420 is completed, the AP server 400 updates the server version number stored in the version number storage unit 470. The AP server 400 transmits the updated server version number and AP service start completion notification to the DB clusters 10, 20, and 30.

[ステップS119]DBサーバ100は、APサーバ400からサーバ版数を受信する。DBサーバ100は、受信したサーバ版数に基づいて、DBサーバ100がAPサーバ400に割り当てていたセッションの解放処理を実行する。また、DBサーバ100は、APサービス開始完了通知を受信したことにより、セッション情報記憶部170に記憶された版数管理テーブル171のうち、APサーバの運用状態を“運用中”に設定する。   [Step S119] The DB server 100 receives the server version number from the AP server 400. The DB server 100 executes a session release process that the DB server 100 has assigned to the AP server 400 based on the received server version number. Further, the DB server 100 sets the operation state of the AP server to “in operation” in the version number management table 171 stored in the session information storage unit 170 by receiving the AP service start completion notification.

[ステップS120]DBサーバ100は、新たに起動したAPサーバ400にクラスタ版数を送信する。これは、DBクラスタ10が現在利用可能であることをAPサーバ400に通知するためである。   [Step S120] The DB server 100 transmits the cluster version number to the newly activated AP server 400. This is to notify the AP server 400 that the DB cluster 10 is currently available.

このようにして、APサーバ400はAPサービス停止時および開始時にサーバ版数をDBクラスタ10に送信する。
次に、図27のステップS113に示したDBクラスタ10のDBサービス停止時版数通知処理を詳細に説明する。
In this way, the AP server 400 transmits the server version number to the DB cluster 10 when the AP service is stopped and started.
Next, the DB service stop version number notification process of the DB cluster 10 shown in step S113 of FIG. 27 will be described in detail.

図28は、第3の実施の形態のAPサービス停止時版数通知処理を示すフローチャートである。以下、図28に示す処理をステップ番号に沿って説明する。
[ステップS121]サービス監視部480は、AP処理部420の停止開始を検知する。
FIG. 28 is a flowchart illustrating AP service stop version number notification processing according to the third embodiment. In the following, the process illustrated in FIG. 28 will be described in order of step number.
[Step S <b> 121] The service monitoring unit 480 detects the stop of the AP processing unit 420.

[ステップS122]サービス監視部480は、OSから現在のタイムスタンプをサーバ版数として取得する。
[ステップS123]サービス監視部480は、版数記憶部470に記憶されたサーバ版数テーブル471のサーバ版数をステップS122で取得したサーバ版数に更新する。
[Step S122] The service monitoring unit 480 obtains the current time stamp as the server version number from the OS.
[Step S123] The service monitoring unit 480 updates the server version number of the server version number table 471 stored in the version number storage unit 470 to the server version number acquired in step S122.

[ステップS124]版数送受信部490は、サーバ版数テーブル471を参照してサーバ版数を取得し、DBクラスタ10,20,30に送信する。また、版数送受信部490は、サーバ版数と共に、APサーバ400のAPサービス停止開始通知をDBクラスタ10,20,30に送信する。   [Step S124] The version number transmission / reception unit 490 refers to the server version number table 471, acquires the server version number, and transmits it to the DB clusters 10, 20, and 30. Further, the version number transmission / reception unit 490 transmits an AP service stop start notification of the AP server 400 to the DB clusters 10, 20, and 30 together with the server version number.

このようにして、APサーバ400は、AP処理部420を停止する際にサーバ版数を更新する。そして、APサーバ400は、更新後のサーバ版数をDBクラスタ10,20,30に送信する。   In this way, the AP server 400 updates the server version number when stopping the AP processing unit 420. Then, the AP server 400 transmits the updated server version number to the DB clusters 10, 20, and 30.

次に、図27のステップS118に示したAPサーバ400のAPサービス起動時版数通知処理を詳細に説明する。
図29は、第3の実施の形態のAPサービス起動時版数通知処理を示すフローチャートである。以下、図29に示す処理をステップ番号に沿って説明する。
Next, the AP service activation version number notification process of the AP server 400 shown in step S118 of FIG. 27 will be described in detail.
FIG. 29 is a flowchart illustrating AP service activation version number notification processing according to the third embodiment. In the following, the process illustrated in FIG. 29 will be described in order of step number.

[ステップS131]サービス監視部480は、AP処理部420の起動完了を検知する。
[ステップS132]サービス監視部480は、OSから現在のタイムスタンプをサーバ版数として取得する。
[Step S131] The service monitoring unit 480 detects completion of activation of the AP processing unit 420.
[Step S132] The service monitoring unit 480 acquires the current time stamp as the server version number from the OS.

[ステップS133]サービス監視部480は、版数記憶部470に記憶されたサーバ版数テーブル471のサーバ版数を、ステップS132で取得した版数に更新する。
[ステップS134]版数送受信部490は、サーバ版数テーブル471を参照してサーバ版数を取得し、DBクラスタ10,20,30に送信する。また、版数送受信部490は、サーバ版数と共に、APサーバ400のAPサービス起動完了通知をDBクラスタ10,20,30に送信する。
[Step S133] The service monitoring unit 480 updates the server version number in the server version table 471 stored in the version number storage unit 470 to the version number acquired in step S132.
[Step S134] The version number transmission / reception unit 490 refers to the server version number table 471 to acquire the server version number and transmits it to the DB clusters 10, 20, and 30. In addition, the version number transmission / reception unit 490 transmits an AP service activation completion notification of the AP server 400 to the DB clusters 10, 20, and 30 together with the server version number.

このようにして、APサーバ400は、APサービスを開始する際にサーバ版数を更新する。そして、APサーバ400は、更新後のサーバ版数をDBクラスタ10,20,30に送信する。   In this way, the AP server 400 updates the server version number when starting the AP service. Then, the AP server 400 transmits the updated server version number to the DB clusters 10, 20, and 30.

次に、図27のステップS114,S119に示したDBサーバ100のセッション解放処理を詳細に説明する。
図30は、第3の実施の形態のセッション解放処理を示すフローチャートである。以下、図30に示す処理をステップ番号に沿って説明する。
Next, the session release process of the DB server 100 shown in steps S114 and S119 of FIG. 27 will be described in detail.
FIG. 30 is a flowchart illustrating session release processing according to the third embodiment. In the following, the process illustrated in FIG. 30 will be described in order of step number.

[ステップS141]版数送受信部190は、APサーバ400からサーバ版数を受信する。版数送受信部190は、受信したサーバ版数をセッション制御部180に出力する。   [Step S <b> 141] The version number transmission / reception unit 190 receives the server version number from the AP server 400. The version number transmission / reception unit 190 outputs the received server version number to the session control unit 180.

[ステップS142]セッション制御部180は、セッション情報記憶部170に記憶されたセッション管理テーブル172を参照して、APサーバ400に割り当てたセッションを定義したレコードを特定する。   [Step S142] The session control unit 180 refers to the session management table 172 stored in the session information storage unit 170, and identifies a record that defines a session assigned to the AP server 400.

[ステップS143]セッション制御部180は、特定したレコードのうち、ステップS141で受信したサーバ版数とセッション割当時版数とが異なるレコードが存在するか否かを判定する。存在する場合、処理をステップS144に進める。存在しない場合、処理を完了する。   [Step S143] The session control unit 180 determines whether or not there is a record in which the server version received in Step S141 and the session allocation version number are different among the identified records. If it exists, the process proceeds to step S144. If not, complete the process.

[ステップS144]セッション制御部180は、セッション取得時版数が新たに受信したサーバ版数と異なるレコードに対応する要求先識別情報を取得する。そして、セッション制御部180は、その要求先識別情報で指定されるスレッドに停止シグナルを発行する。   [Step S144] The session control unit 180 acquires request destination identification information corresponding to a record whose version number at the time of session acquisition is different from the newly received server version number. Then, the session control unit 180 issues a stop signal to the thread specified by the request destination identification information.

[ステップS145]セッション制御部180は、セッション取得時版数が新たに受信したサーバ版数と異なるレコードで示されるセッションを解放する。すなわち、該当のセッションは何れのAPサーバおよびスレッドにも割り当てられていない空きの状態となり、再利用が可能となる。   [Step S145] The session control unit 180 releases a session indicated by a record having a session acquisition version number different from the newly received server version number. That is, the corresponding session is in an empty state not assigned to any AP server and thread, and can be reused.

[ステップS146]セッション制御部180は、セッション情報記憶部170に記憶された版数管理テーブル171のAPサーバ400のサーバ版数として、ステップS141で受信したサーバ版数を設定する。   [Step S146] The session control unit 180 sets the server version number received in step S141 as the server version number of the AP server 400 in the version number management table 171 stored in the session information storage unit 170.

このようにして、セッション制御部180は、APサーバ400から受信したサーバ版数とセッション割当時版数とが異なる場合、該当のセッションを解放する。
次に、業務処理システムで実行される業務処理の手順を説明する。
In this manner, the session control unit 180 releases the corresponding session when the server version number received from the AP server 400 is different from the session allocation version number.
Next, a procedure for business processing executed in the business processing system will be described.

図31は、第3の実施の形態の業務処理を示すシーケンス図である。以下、図31に示す処理をステップ番号に沿って説明する。
[ステップS151]APサーバ400は、端末装置61から業務処理要求(以下、APリクエストという)を受信する。
FIG. 31 is a sequence diagram illustrating business processing according to the third embodiment. In the following, the process illustrated in FIG. 31 will be described in order of step number.
[Step S151] The AP server 400 receives a business process request (hereinafter referred to as an AP request) from the terminal device 61.

[ステップS152]APサーバ400は、取得したAPリクエストに応じた業務処理を実行する。APサーバ400は、業務処理に応じてDBクラスタに依頼すべき処理が発生した場合、処理要求(以下、DBリクエストという)を生成する。APサーバ400は、生成したDBリクエストを送信すべきDBクラスタを選択する。選択の方法は、第2の実施の形態で説明した方法と同様である(例えば、ラウンドロビンである)。ここでは、APサーバ400はDBクラスタ10を選択するものとする。そして、DBクラスタ10にDBリクエストを送信する。このとき、APサーバ400は、DBリクエストにAPサーバ400のサーバ版数を含める。   [Step S152] The AP server 400 executes a business process according to the acquired AP request. The AP server 400 generates a processing request (hereinafter referred to as a DB request) when processing that should be requested to the DB cluster occurs according to the business processing. The AP server 400 selects a DB cluster to which the generated DB request is to be transmitted. The selection method is the same as the method described in the second embodiment (for example, round robin). Here, it is assumed that the AP server 400 selects the DB cluster 10. Then, a DB request is transmitted to the DB cluster 10. At this time, the AP server 400 includes the server version number of the AP server 400 in the DB request.

[ステップS153]DBサーバ100は、APサーバ400からDBリクエストを受信する。DBサーバ100は、受信したDBリクエストに含まれるサーバ版数に基づいて、APサーバ400に現在割り当てているセッションが有効であるかを判定する。有効である場合、DBサーバ100は、受信したDBリクエストに基づいてDB処理を実行する。DBサーバ100は、DB処理の結果に基づいてDBレスポンスを生成し、クラスタ版数と共にAPサーバ400に送信する。   [Step S153] The DB server 100 receives a DB request from the AP server 400. The DB server 100 determines whether the session currently allocated to the AP server 400 is valid based on the server version number included in the received DB request. If it is valid, the DB server 100 executes DB processing based on the received DB request. The DB server 100 generates a DB response based on the result of the DB processing, and transmits it to the AP server 400 together with the cluster version number.

[ステップS154]APサーバ400は、DBレスポンスを受信する。APサーバ400は、DBレスポンスが正常応答であるか否かを判定する。正常応答でない場合、処理をステップS155に進める。正常応答である場合、処理をステップS156に進める。   [Step S154] The AP server 400 receives the DB response. The AP server 400 determines whether or not the DB response is a normal response. If not a normal response, the process proceeds to step S155. If it is a normal response, the process proceeds to step S156.

[ステップS155]APサーバ400は、セッション無効化処理を実行する。セッション無効化処理は、図12に示す処理と同様である。そして、処理をステップS152に進める。   [Step S155] The AP server 400 executes a session invalidation process. The session invalidation process is the same as the process shown in FIG. Then, the process proceeds to step S152.

[ステップS156]APサーバ400は、DBレスポンス受信処理を実行する。DBレスポンス受信処理は、図17に示した第2の実施の形態のDBレスポンス受信処理の手順と同様である。   [Step S156] The AP server 400 executes DB response reception processing. The DB response reception process is the same as the procedure of the DB response reception process of the second embodiment shown in FIG.

[ステップS157]APサーバ400は、必要に応じて、DBレスポンスに応じた業務処理を更に実行し、端末装置61に対するAPレスポンスを生成する。そして、APサーバ400は、生成したAPレスポンスを端末装置61に送信する。   [Step S157] The AP server 400 further executes a business process according to the DB response as necessary to generate an AP response to the terminal device 61. Then, the AP server 400 transmits the generated AP response to the terminal device 61.

[ステップS158]APサーバ400は、端末装置61との一連の通信が完了したことを検知する。
[ステップS159]APサーバ400は、端末装置61との通信用として管理していた(APサーバ400とDBクラスタとの間の)セッションを整理するための処理を実行する。セッション整理処理は、図18に示した第2の実施の形態のセッション整理処理の手順と同様である。
[Step S158] The AP server 400 detects that a series of communication with the terminal device 61 has been completed.
[Step S159] The AP server 400 executes a process for organizing a session (between the AP server 400 and the DB cluster) managed for communication with the terminal device 61. The session organization process is the same as the session organization process of the second embodiment shown in FIG.

このようにして、APサーバ400とDBクラスタ10との間で業務処理に伴う通信が行われる。
次に、図31のステップS152に示したAPサーバ400のDBリクエスト送信処理を説明する。
In this way, communication associated with the business process is performed between the AP server 400 and the DB cluster 10.
Next, the DB request transmission process of the AP server 400 shown in step S152 of FIG. 31 will be described.

図32は、第3の実施の形態のDBリクエスト送信処理を示すフローチャートである。以下、図32に示す処理をステップ番号に沿って説明する。
[ステップS161]AP処理部420は、APリクエストに応じた業務処理の実行に伴って、DBクラスタに依頼すべき処理内容を記述したDBリクエストを生成する。AP処理部420は、版数記憶部470に記憶されたサーバ版数テーブル471を参照してサーバ版数を取得する。AP処理部420は、取得したサーバ版数をDBリクエストに含める。AP処理部420は、生成したDBリクエストをDB通信部460に出力する。
FIG. 32 is a flowchart illustrating DB request transmission processing according to the third embodiment. In the following, the process illustrated in FIG. 32 will be described in order of step number.
[Step S161] The AP processing unit 420 generates a DB request describing the processing content to be requested of the DB cluster in accordance with the execution of the business process corresponding to the AP request. The AP processing unit 420 refers to the server version number table 471 stored in the version number storage unit 470 and acquires the server version number. The AP processing unit 420 includes the acquired server version number in the DB request. The AP processing unit 420 outputs the generated DB request to the DB communication unit 460.

[ステップS162]セッション制御部440は、セッション情報記憶部410に記憶された版数管理テーブル411を参照する。
[ステップS163]セッション制御部440は、運用状態が“運用中”のDBクラスタが存在するか否かを判定する。“運用中”のDBクラスタが存在する場合、処理をステップS164に進める。“運用中”のDBクラスタが存在しない場合、処理を完了させる。なお、“運用中”のDBクラスタが存在しない場合、その後、AP処理部420は、クライアント通信部430を介して端末装置61にエラーを応答し、業務処理を完了させる。
[Step S162] The session control unit 440 refers to the version number management table 411 stored in the session information storage unit 410.
[Step S163] The session control unit 440 determines whether or not there is a DB cluster whose operation status is “in operation”. If there is an “in operation” DB cluster, the process proceeds to step S164. When there is no “in operation” DB cluster, the processing is completed. When there is no “in operation” DB cluster, the AP processing unit 420 then responds an error to the terminal device 61 via the client communication unit 430 and completes the business process.

[ステップS164]セッション制御部440は、“運用中”のDBクラスタを選択する。選択の方法は、第2の実施の形態で説明した方法と同様である(例えば、ラウンドロビンである)。   [Step S164] The session control unit 440 selects a DB cluster that is “in operation”. The selection method is the same as the method described in the second embodiment (for example, round robin).

[ステップS165]セッション制御部440は、選択したDBクラスタにつきセッション割当処理を実行する。すなわち、DB通信部460が該当のDBクラスタにDBリクエストを送信するためのセッションを割り当てる。このとき、例えば該当のDBクラスタから予め取得したセッションに空きがなければ、該当のDBクラスタにセッションの開設を要求する。そして、DBクラスタから新規セッションの払い出しを受けられれば、そのセッションをDBリクエスト送信に割り当てることができる。また、セッションの払い出しを受けられなければ、セッションを割り当てることはできない。   [Step S165] The session control unit 440 executes session allocation processing for the selected DB cluster. That is, the DB communication unit 460 allocates a session for transmitting a DB request to the corresponding DB cluster. At this time, for example, if there is no available session acquired in advance from the corresponding DB cluster, the corresponding DB cluster is requested to open a session. If a new session is paid out from the DB cluster, the session can be assigned to DB request transmission. In addition, a session cannot be assigned unless the session is paid out.

[ステップS166]セッション制御部440は、DBリクエストを送信するためのセッションを割り当てることができたか否かを判定する。割り当てることができた場合、処理をステップS167に進める。割り当てることができなかった場合、処理をステップS163に進める。   [Step S166] The session control unit 440 determines whether or not a session for transmitting a DB request has been allocated. If it can be assigned, the process proceeds to step S167. If it cannot be assigned, the process proceeds to step S163.

[ステップS167]DB通信部460は、セッション制御部440により割り当てられたセッション番号(指定セッションの番号)をDBリクエストに含める。そして、DB通信部460はセッション制御部440が選択したDBクラスタに対し、DBリクエストを送信する。   [Step S167] The DB communication unit 460 includes the session number (designated session number) assigned by the session control unit 440 in the DB request. Then, the DB communication unit 460 transmits a DB request to the DB cluster selected by the session control unit 440.

このようにして、APサーバ400はDBリクエストを送信する際に、送信すべきDBクラスタを選択し、そのDBクラスタとの通信に用いるセッションを割り当てる。このとき、APサーバ400はDBリクエストにサーバ版数を含める。   In this way, when transmitting a DB request, the AP server 400 selects a DB cluster to be transmitted and allocates a session used for communication with the DB cluster. At this time, the AP server 400 includes the server version number in the DB request.

なお、APサーバ400は、DBリクエストとサーバ版数とを別個に送信してもよい。例えば、DB通信部460がDBリクエストをDBクラスタ10に送信する際に、版数送受信部490がサーバ版数をDBクラスタ10に送信することとしてもよい。   The AP server 400 may transmit the DB request and the server version number separately. For example, when the DB communication unit 460 transmits a DB request to the DB cluster 10, the version number transmission / reception unit 490 may transmit the server version number to the DB cluster 10.

次に、図32のステップS165に示したAPサーバ400のセッション割当処理を詳細に説明する。
図33は、第3の実施の形態のセッション割当処理を示すフローチャートである。以下、図33に示す処理をステップ番号に沿って説明する。
Next, the session allocation process of the AP server 400 shown in step S165 of FIG. 32 will be described in detail.
FIG. 33 is a flowchart illustrating session allocation processing according to the third embodiment. In the following, the process illustrated in FIG. 33 will be described in order of step number.

[ステップS171]セッション制御部440は、セッション情報記憶部410に記憶されたセッション管理テーブル412を参照する。
[ステップS172]セッション制御部440は、セッション管理テーブル412にエントリされたセッションのうち、何れの端末装置にも割り当てられていない未割当セッションが存在するか否かを判定する。未割当セッションが存在する場合、処理をステップS173に進める。未割当セッションが存在しない場合、処理をステップS176に進める。
[Step S171] The session control unit 440 refers to the session management table 412 stored in the session information storage unit 410.
[Step S172] The session control unit 440 determines whether there is an unassigned session that is not assigned to any terminal device among the sessions entered in the session management table 412. If an unallocated session exists, the process proceeds to step S173. If there is no unassigned session, the process proceeds to step S176.

[ステップS173]セッション制御部440は、未割当セッションのうち、有効である(すなわち、無効でない)ものが存在するか否かを判定する。存在する場合、処理をステップS179に進める。存在しない場合、処理をステップS174に進める。   [Step S173] The session control unit 440 determines whether there is a valid (that is, not invalid) session among unallocated sessions. If it exists, the process proceeds to step S179. If not, the process proceeds to step S174.

[ステップS174]セッション制御部440は、DBクラスタ10に対してセッション管理テーブル412に設定された無効なセッションの破棄を指示する無効セッション破棄要求を生成し、DB通信部460に出力する。DB通信部460は、無効セッション破棄要求をDBクラスタ10に送信する。   [Step S174] The session control unit 440 generates an invalid session discard request that instructs the DB cluster 10 to discard the invalid session set in the session management table 412 and outputs the invalid session discard request to the DB communication unit 460. The DB communication unit 460 transmits an invalid session discard request to the DB cluster 10.

[ステップS175]DB通信部460は、DBクラスタ10からステップS174で指示したセッションを破棄した旨を示す無効セッション破棄応答を受信する。DB通信部460は、破棄応答をセッション制御部440に出力する。   [Step S175] The DB communication unit 460 receives from the DB cluster 10 an invalid session discard response indicating that the session designated in step S174 has been discarded. The DB communication unit 460 outputs a discard response to the session control unit 440.

[ステップS176]セッション制御部440は、新たなセッションの開設をDBクラスタ10に要求するためのセッション開設要求を生成する。セッション制御部440は、版数記憶部470に記憶されたサーバ版数テーブル471を参照してサーバ版数を取得し、取得したサーバ版数をセッション開設要求に含める。セッション制御部440は、取得したセッション開設要求をDB通信部460に出力する。DB通信部460は、生成したセッション開設要求をDBクラスタ10に送信する。   [Step S176] The session control unit 440 generates a session opening request for requesting the DB cluster 10 to open a new session. The session control unit 440 acquires the server version number with reference to the server version number table 471 stored in the version number storage unit 470, and includes the acquired server version number in the session opening request. The session control unit 440 outputs the acquired session establishment request to the DB communication unit 460. The DB communication unit 460 transmits the generated session opening request to the DB cluster 10.

[ステップS177]DBサーバ100は、APサーバ400からセッション開設要求を受信すると、セッション開設処理を実行する。そして、DBサーバ100は、セッション開設処理を実行した結果、新規に割り当てたセッション番号等を示す新規セッション情報を生成してAPサーバ400に送信する。   [Step S177] Upon receiving a session establishment request from the AP server 400, the DB server 100 executes a session establishment process. Then, as a result of executing the session opening process, the DB server 100 generates new session information indicating a newly assigned session number and the like, and transmits the new session information to the AP server 400.

[ステップS178]DB通信部460は、DBクラスタ10から新たに割り当てられたセッションを示す新規セッション情報とDBクラスタ10のクラスタ版数とを受信する。DB通信部460は、受信した新規セッション情報とクラスタ版数とをセッション制御部440に出力する。セッション制御部440は、セッション管理テーブル412に新規セッション情報(例えば、セッション番号)を設定する。また、セッション制御部440は、新規セッションと共に受信したクラスタ版数を新規セッションに対応するセッション取得時版数として設定する。セッション管理テーブル412に設定された新規セッションは未割当セッションとなる。また、新規セッションは有効なセッションとなる。   [Step S178] The DB communication unit 460 receives new session information indicating a session newly allocated from the DB cluster 10 and the cluster version number of the DB cluster 10. The DB communication unit 460 outputs the received new session information and the cluster version number to the session control unit 440. The session control unit 440 sets new session information (for example, session number) in the session management table 412. In addition, the session control unit 440 sets the cluster version number received together with the new session as the session acquisition version number corresponding to the new session. The new session set in the session management table 412 is an unassigned session. Also, the new session becomes a valid session.

[ステップS179]セッション制御部440は、セッション管理テーブル412を参照して、DBリクエストの生成元となったAPリクエストの送信元端末装置の識別情報(要求元識別情報)を有効かつ未割当のセッションに割り当てる。例えば、セッション管理テーブル412に含まれる有効かつ未割当のセッションのうち、エントリIDが最も小さいものを優先して割り当てる。   [Step S179] The session control unit 440 refers to the session management table 412, and uses the identification information (requester identification information) of the transmission source terminal device of the AP request that is the generation source of the DB request as a valid and unallocated session. Assign to. For example, among the valid and unallocated sessions included in the session management table 412, the one with the smallest entry ID is preferentially allocated.

このように、APサーバ400は第2の実施の形態の処理に加えて、セッション開設要求にAPサーバ400のサーバ版数を含める。DBサーバ100は、そのサーバ版数に基づいてセッション開設処理を実行することができる。   As described above, the AP server 400 includes the server version number of the AP server 400 in the session establishment request in addition to the processing of the second embodiment. The DB server 100 can execute a session establishment process based on the server version number.

なお、APサーバ400は、セッション開設要求とサーバ版数とを別個に送信してもよい。例えば、DB通信部460がセッション開設要求をDBクラスタ10に送信する際に、版数送受信部490がサーバ版数をDBクラスタ10に送信することとしてもよい。   The AP server 400 may transmit the session establishment request and the server version number separately. For example, when the DB communication unit 460 transmits a session establishment request to the DB cluster 10, the version number transmission / reception unit 490 may transmit the server version number to the DB cluster 10.

次に、図33のステップS177に示したDBサーバ100のセッション開設処理を詳細に説明する。
図34は、第3の実施の形態のセッション開設処理を示すフローチャートである。以下、図34に示す処理をステップ番号に沿って説明する。
Next, the session establishment process of the DB server 100 shown in step S177 of FIG. 33 will be described in detail.
FIG. 34 is a flowchart illustrating session opening processing according to the third embodiment. In the following, the process illustrated in FIG. 34 will be described in order of step number.

[ステップS181]AP通信部160は、セッション開設要求を受信する。AP通信部160は、受信したセッション開設要求をセッション制御部440に出力する。
[ステップS182]セッション制御部440は、セッション開設要求に含まれるサーバ版数に基づいて、セッション解放処理を実行する。セッション解放処理は、図30に示したステップS142以降の手順と同様である。ただし、サーバ版数はセッション開設要求に含まれる。このため、セッション制御部440は、AP通信部160から取得したセッション開設要求を参照して、サーバ版数を取得する。
[Step S181] The AP communication unit 160 receives a session establishment request. The AP communication unit 160 outputs the received session establishment request to the session control unit 440.
[Step S182] The session control unit 440 executes session release processing based on the server version number included in the session establishment request. The session release process is the same as the procedure after step S142 shown in FIG. However, the server version number is included in the session establishment request. For this reason, the session control unit 440 refers to the session establishment request acquired from the AP communication unit 160 and acquires the server version number.

[ステップS183]セッション制御部440は、APサーバ400に対して新規セッションを割り当てる。
[ステップS184]セッション制御部440は、版数記憶部110に記憶されたクラスタ版数テーブル111を参照してクラスタ版数を取得する。
[Step S183] The session control unit 440 allocates a new session to the AP server 400.
[Step S184] The session control unit 440 refers to the cluster version number table 111 stored in the version number storage unit 110 and acquires the cluster version number.

[ステップS185]セッション制御部440は、クラスタ版数および新規セッションの割り当て内容を示す新規セッション情報を含むセッション開設応答を生成する。セッション制御部440は、生成したセッション開設応答をAP通信部160に出力する。   [Step S185] The session control unit 440 generates a session establishment response including new session information indicating the cluster version number and the new session allocation content. Session control unit 440 outputs the generated session establishment response to AP communication unit 160.

[ステップS186]AP通信部160は、セッション制御部440から取得したセッション開設応答をAPサーバ400に送信する。
このようにして、DBサーバ100はAPサーバ400に対して新規セッションの開設を行う。その際、APサーバ400から受信したサーバ版数に基づいて、セッション解放処理を実行することができる。
[Step S186] The AP communication unit 160 transmits the session establishment response acquired from the session control unit 440 to the AP server 400.
In this way, the DB server 100 opens a new session with the AP server 400. At that time, the session release process can be executed based on the server version number received from the AP server 400.

なお、ステップS185において、DBサーバ100はクラスタ版数をセッション開設応答に含めることとしたが、セッション開設応答とクラスタ版数とを別個に送信してもよい。例えば、AP通信部160がセッション開設応答をAPサーバ400に送信する際に、版数送受信部190がクラスタ版数をAPサーバ400に送信することとしてもよい。   In step S185, the DB server 100 includes the cluster version number in the session establishment response, but the session establishment response and the cluster version number may be transmitted separately. For example, when the AP communication unit 160 transmits a session establishment response to the AP server 400, the version number transmission / reception unit 190 may transmit the cluster version number to the AP server 400.

図35は、第3の実施の形態のDBレスポンス送信処理を示すフローチャートである。以下、図35に示す処理をステップ番号に沿って説明する。
[ステップS191]AP通信部160は、APサーバ400からDBリクエストを受信する。AP通信部160は、受信したDBリクエストに含まれるサーバ版数をセッション制御部440に出力する。また、AP通信部160は、DBリクエストをDB処理部120に出力する。
FIG. 35 is a flowchart illustrating DB response transmission processing according to the third embodiment. In the following, the process illustrated in FIG. 35 will be described in order of step number.
[Step S191] The AP communication unit 160 receives a DB request from the AP server 400. The AP communication unit 160 outputs the server version number included in the received DB request to the session control unit 440. In addition, the AP communication unit 160 outputs a DB request to the DB processing unit 120.

[ステップS192]セッション制御部440は、サーバ版数に基づいて、セッション解放処理を実行する。セッション解放処理は、図30に示したステップS142以降の手順と同様である。   [Step S192] The session control unit 440 executes session release processing based on the server version number. The session release process is the same as the procedure after step S142 shown in FIG.

[ステップS193]DB処理部120は、セッション情報記憶部170に記憶されたセッション管理テーブル172を参照して、DBリクエストに含まれる指定セッションは適正であるか否かを判定する。適正である場合、処理をステップS194に進める。適正でない場合、処理をステップS198に進める。   [Step S193] The DB processing unit 120 refers to the session management table 172 stored in the session information storage unit 170, and determines whether or not the designated session included in the DB request is appropriate. If so, the process proceeds to step S194. If not, the process proceeds to Step S198.

[ステップS194]DB処理部120は、DBリクエストに応じたDB処理を実行する。
[ステップS195]DB処理部120は、版数記憶部110を参照してクラスタ版数を取得する。
[Step S194] The DB processing unit 120 executes DB processing according to the DB request.
[Step S195] The DB processing unit 120 refers to the version number storage unit 110 to obtain a cluster version number.

[ステップS196]DB処理部120は、DB処理の実行結果に基づいて、クラスタ版数を含むDBレスポンスを生成する。
[ステップS197]DB処理部120は、生成したDBレスポンスをAP通信部160に出力する。AP通信部160は、取得したDBレスポンスをAPサーバ400に送信する。なお、このDBレスポンスは正常にDB処理がなされた際の応答であるので、正常応答である。
[Step S196] The DB processing unit 120 generates a DB response including the cluster version number based on the execution result of the DB processing.
[Step S197] The DB processing unit 120 outputs the generated DB response to the AP communication unit 160. The AP communication unit 160 transmits the acquired DB response to the AP server 400. Since this DB response is a response when the DB processing is normally performed, it is a normal response.

[ステップS198]DB処理部120は、版数記憶部110を参照してクラスタ版数を取得する。ここで、版数記憶部110に記憶されたクラスタ版数が所定の初期値(例えば、“−1”)を示している場合は、サービス監視部140は新たなクラスタ版数を版数記憶部110に設定する。この場合、DB処理部120は、サービス監視部140が設定したクラスタ版数を取得する。   [Step S198] The DB processing unit 120 refers to the version number storage unit 110 to obtain a cluster version number. Here, when the cluster version number stored in the version number storage unit 110 indicates a predetermined initial value (for example, “−1”), the service monitoring unit 140 sets the new cluster version number to the version number storage unit. Set to 110. In this case, the DB processing unit 120 acquires the cluster version number set by the service monitoring unit 140.

[ステップS199]DB処理部120は、指定セッションが適正でない旨を示すセッション無効通知を生成する。DB処理部120は、セッション無効通知にクラスタ版数を含める。   [Step S199] The DB processing unit 120 generates a session invalidation notification indicating that the designated session is not appropriate. The DB processing unit 120 includes the cluster version number in the session invalidation notification.

[ステップS200]DB処理部120は、セッション無効通知をAP通信部160に出力する。AP通信部160は、セッション無効通知およびクラスタ版数をAPサーバ400に送信する。このレスポンスは、正常にDB処理がなされない場合の応答であるので、正常応答ではない。この場合、APサーバ400において図31のステップS154で正常応答と判定されない。   [Step S200] The DB processing unit 120 outputs a session invalidation notification to the AP communication unit 160. The AP communication unit 160 transmits a session invalidation notification and a cluster version number to the AP server 400. Since this response is a response when the DB processing is not normally performed, it is not a normal response. In this case, the AP server 400 does not determine that the response is normal in step S154 of FIG.

このように、DBサーバ100は第2の実施の形態のDBレスポンス送信処理の手順に加えて、APサーバ400から受信したサーバ版数に基づくセッション解放処理(ステップS192)を実行する。   As described above, the DB server 100 executes a session release process (step S192) based on the server version number received from the AP server 400 in addition to the DB response transmission process procedure of the second embodiment.

これにより、DBサーバ100はAPサーバ400との通信のためにプールしていたセッションのうち、利用される可能性のないものの再利用を可能とする。
なお、ステップS196〜S200では、クラスタ版数を各種レスポンスに含めて生成し、送信するものとしたが、これらを別個にAPサーバ400に送信してもよい。例えば、AP通信部160がAPサーバ400に各種レスポンスを送信する際に、版数送受信部190がAPサーバ400にクラスタ版数を送信することとしてもよい。
As a result, the DB server 100 can reuse a session that is pooled for communication with the AP server 400 and that is not likely to be used.
In steps S196 to S200, the cluster version number is generated and transmitted in various responses, but may be separately transmitted to the AP server 400. For example, when the AP communication unit 160 transmits various responses to the AP server 400, the version number transmission / reception unit 190 may transmit the cluster version number to the AP server 400.

次に、業務処理システムにおける処理の流れの具体例を説明する。なお、以下の例でもDBクラスタ10およびAPサーバ400との間の処理のみを説明するが、DBクラスタ10とAPサーバ500,600およびDBクラスタ20,30とAPサーバ400,500,600との間の処理に関しても同様である。   Next, a specific example of the processing flow in the business processing system will be described. In the following example, only processing between the DB cluster 10 and the AP server 400 will be described, but between the DB cluster 10 and the AP servers 500 and 600 and between the DB clusters 20 and 30 and the AP servers 400, 500, and 600. The same applies to the processing of.

以下の各図におけるステップの直前では、DBクラスタ10につきDBサーバ100が運用系、DBサーバ100aが待機系の状態であるとする。
図36は、第3の実施の形態のセッション解放処理を示す第1のシーケンス図である。以下、図36に示す処理をステップ番号に沿って説明する。
Immediately before the step in each of the following drawings, it is assumed that the DB server 100 is in the active state and the DB server 100a is in the standby state for the DB cluster 10.
FIG. 36 is a first sequence diagram illustrating session release processing according to the third embodiment. In the following, the process illustrated in FIG. 36 will be described in order of step number.

[ステップST31]APサーバ400は、APサービスの停止を開始する。
[ステップST32]APサーバ400は、サーバ版数を更新する。APサーバ400は、DBクラスタ10へAPサービス停止開始通知およびサーバ版数を送信する。DBサーバ100は、APサーバ400からAPサービス停止開始通知およびサーバ版数を受信する。
[Step ST31] The AP server 400 starts stopping the AP service.
[Step ST32] The AP server 400 updates the server version number. The AP server 400 transmits an AP service stop start notification and a server version number to the DB cluster 10. The DB server 100 receives the AP service stop start notification and the server version number from the AP server 400.

[ステップST33]DBサーバ100は、セッション解放処理を実行する。DBサーバ100は、APサーバ400を“非運用中”とする。
[ステップST34]APサーバ400は、APサービスの起動を開始する。
[Step ST33] The DB server 100 executes session release processing. The DB server 100 sets the AP server 400 “not in operation”.
[Step ST34] The AP server 400 starts activation of the AP service.

[ステップST35]APサーバ400は、APサービスの起動を完了する。
[ステップST36]APサーバ400は、サーバ版数を更新する。APサーバ400は、DBクラスタ10へAPサービス起動完了通知およびサーバ版数を送信する。DBサーバ100は、APサーバ400からAPサービス起動完了通知およびサーバ版数を受信する。
[Step ST35] The AP server 400 completes activation of the AP service.
[Step ST36] The AP server 400 updates the server version number. The AP server 400 transmits an AP service activation completion notification and server version number to the DB cluster 10. The DB server 100 receives an AP service activation completion notification and server version number from the AP server 400.

[ステップST37]DBサーバ100は、セッション解放処理を実行する。DBサーバ100は、APサーバ400を“運用中”とする。
[ステップST38]DBサーバ100は、APサーバ400にクラスタ版数を送信する。APサーバ400は、DBサーバ100からクラスタ版数を受信する。
[Step ST37] The DB server 100 executes session release processing. The DB server 100 sets the AP server 400 to “in operation”.
[Step ST38] The DB server 100 transmits the cluster version number to the AP server 400. The AP server 400 receives the cluster version number from the DB server 100.

このように、APサーバ400はAPサービスの停止開始時および起動完了時にサーバ版数を更新してDBクラスタ10,20,30に送信する。そして、DBクラスタ10,20,30は、更新されたサーバ版数を受信した場合、APサーバ400に割り当てていたセッションを解放する。   As described above, the AP server 400 updates the server version number when the AP service stops and starts, and transmits the updated server version to the DB clusters 10, 20, and 30. When receiving the updated server version number, the DB clusters 10, 20, and 30 release the session assigned to the AP server 400.

このため、DBクラスタ側の現用系のDBサーバ(例えば、DBサーバ100)は、APサーバ400のAPサービス停止によって、APサーバ400に利用されることがなくなったセッションを確実に解放することができる。解放されたセッションは、何れのAPサーバおよび処理の要求先スレッドにも割り当てられていない未割当の状態となる。したがって、DBクラスタ10,20,30はAPサーバ400への無駄なセッションの割り当てを行うことがない。例えば、稼働中のAPサーバ500,600に対して、より多くのセッションを割り当てることも可能となる。すなわち、セッションを効率的に利用することができる。   For this reason, the active DB server on the DB cluster side (for example, the DB server 100) can reliably release a session that is no longer used by the AP server 400 when the AP server 400 stops the AP service. . The released session is in an unallocated state which is not allocated to any AP server and processing request destination thread. Therefore, the DB clusters 10, 20, and 30 do not allocate useless sessions to the AP server 400. For example, more sessions can be allocated to the operating AP servers 500 and 600. That is, the session can be used efficiently.

また、DBクラスタ10,20,30は、APサーバ400からAPサービス起動完了通知を受信すると、APサーバ400にクラスタ版数を送信する。APサーバ400はDBクラスタ10,20,30からクラスタ版数を受信することで、それらのDBクラスタが利用可能であると検知することができる。例えば、クラスタ版数の受信元のDBクラスタを“運用中”として管理できる。一方、クラスタ版数を受信できなかったDBクラスタを“非運用中”として管理できる。   Further, upon receiving the AP service activation completion notification from the AP server 400, the DB clusters 10, 20, and 30 transmit the cluster version number to the AP server 400. The AP server 400 can detect that the DB clusters are available by receiving the cluster version numbers from the DB clusters 10, 20, and 30. For example, it is possible to manage the DB cluster that receives the cluster version number as “in operation”. On the other hand, a DB cluster that could not receive the cluster version number can be managed as “not in operation”.

更に、APサーバ400はAPサービスの停止開始時だけでなく起動完了時にもサーバ版数を送信する。このため、APサーバ400で障害等により停止開始時にサーバ版数の送信ができなかった場合にも、DBクラスタ10,20,30に対して確実にセッションの解放を促すことができる。次に、そのような場合を例示する。   Further, the AP server 400 transmits the server version number not only when the stop of the AP service is started but also when the activation is completed. For this reason, even when the server version number cannot be transmitted at the start of the stop due to a failure or the like in the AP server 400, the DB clusters 10, 20, and 30 can be surely prompted to release the session. Next, such a case is illustrated.

図37は、第3の実施の形態のセッション解放処理を示す第2のシーケンス図である。以下、図37に示す処理をステップ番号に沿って説明する。
[ステップST41]APサーバ400は、障害によりAPサービスが利用不可となる。このとき、ネットワークが利用できずにサーバ版数の送信が行えないものとする。
FIG. 37 is a second sequence diagram illustrating session release processing according to the third embodiment. In the following, the process illustrated in FIG. 37 will be described in order of step number.
[Step ST41] The AP server 400 cannot use the AP service due to a failure. At this time, it is assumed that the server version number cannot be transmitted because the network cannot be used.

[ステップST42]APサーバ400は、障害の復旧によりAPサービスの起動を開始する。
[ステップST43]APサーバ400は、APサービスの起動を完了する。
[Step ST42] The AP server 400 starts activation of the AP service upon failure recovery.
[Step ST43] The AP server 400 completes activation of the AP service.

[ステップST44]APサーバ400は、クラスタ版数を更新する。APサーバ400は、DBクラスタ10へAPサービス起動完了通知およびサーバ版数を送信する。DBサーバ100は、APサーバ400からAPサービス起動完了通知およびサーバ版数を受信する。   [Step ST44] The AP server 400 updates the cluster version number. The AP server 400 transmits an AP service activation completion notification and server version number to the DB cluster 10. The DB server 100 receives an AP service activation completion notification and server version number from the AP server 400.

[ステップST45]DBサーバ100は、セッション解放処理を実行する。
[ステップST46]DBサーバ100は、APサーバ400にクラスタ版数を送信する。APサーバ400は、DBサーバ100からクラスタ版数を受信する。
[Step ST45] The DB server 100 executes a session release process.
[Step ST46] The DB server 100 transmits the cluster version number to the AP server 400. The AP server 400 receives the cluster version number from the DB server 100.

このように、APサーバ400は、障害によってAPサービス停止時のサーバ版数をDBクラスタ10,20,30に送信できなかった場合にも、APサービス起動完了時にDBクラスタ10,20,30にサーバ版数を送信する。このため、DBクラスタ10,20,30に対して確実にセッションの解放を促すことができる。   As described above, even when the AP server 400 cannot transmit the server version number when the AP service is stopped to the DB clusters 10, 20, and 30 due to a failure, the AP server 400 sends the server to the DB clusters 10, 20, and 30 when the AP service is started. Send the version number. For this reason, it is possible to surely prompt the DB clusters 10, 20, and 30 to release the session.

第3の実施の形態の業務処理システムでは、DBクラスタ10,20,30側でもAPサーバ400,500,600のサーバ版数を管理することとした。
これにより、第2の実施の形態と同一の効果に加えて、DBクラスタ10,20,30側でもAPサーバ400,500,600の状態に応じてセッションの解放を適切に行うことができる。その結果、例えば空いたセッションを別のAPサーバに割り当てることができる。また、例えば、該当のセッションに割り当てていたメモリ等の資源を他の業務処理に利用することもできる。
In the business processing system of the third embodiment, the server versions of the AP servers 400, 500, and 600 are also managed on the DB cluster 10, 20, and 30 side.
As a result, in addition to the same effects as those of the second embodiment, the DB clusters 10, 20, and 30 can appropriately release sessions according to the state of the AP servers 400, 500, and 600. As a result, for example, a free session can be assigned to another AP server. Further, for example, resources such as a memory allocated to the corresponding session can be used for other business processes.

すなわち、DBクラスタ10,20,30の資源を効率的に利用することができるようになる。
なお、第2,3の実施の形態ではクラスタ版数およびサーバ版数としてタイムスタンプを用いることとしたがこれに限らない。
That is, the resources of the DB clusters 10, 20, and 30 can be used efficiently.
In the second and third embodiments, the time stamp is used as the cluster version number and the server version number, but the present invention is not limited to this.

例えば、クラスタ切替時やサービスの起動・停止に伴って所定の数値(例えば、1)を加算するよう管理された数値を版数としてもよい。ただし、これをクラスタ版数とする場合には、現用系と待機系とのDBサーバでクラスタ版数の同期を行う。これにより、APサーバ側でDBクラスタ単位に一貫したクラスタ版数の管理を行うことができる。   For example, the version number may be a numerical value managed so as to add a predetermined numerical value (for example, 1) when the cluster is switched or when the service is started / stopped. However, when this is the cluster version number, the cluster version number is synchronized between the active and standby DB servers. As a result, the cluster version number can be managed consistently for each DB cluster on the AP server side.

以上、本発明の情報処理システム、情報処理装置、通信制御プログラムおよび通信制御方法を図示の実施の形態に基づいて説明したが、これらに限定されるものではなく、各部の構成は同様の機能を有する任意の構成のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。更に、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。   The information processing system, information processing apparatus, communication control program, and communication control method of the present invention have been described above based on the illustrated embodiments. However, the present invention is not limited to these, and the configuration of each unit has the same function. It can be replaced with one having any structure. Moreover, other arbitrary structures and processes may be added. Further, any two or more configurations (features) of the above-described embodiments may be combined.

1、2 情報処理装置
1a 接続情報記憶部
1b サービス提供部
1c 監視部
1d 送信部
2a 接続情報記憶部
2b サービス提供部
2c 制御部
DESCRIPTION OF SYMBOLS 1, 2 Information processing apparatus 1a Connection information storage part 1b Service provision part 1c Monitoring part 1d Transmission part 2a Connection information storage part 2b Service provision part 2c Control part

Claims (13)

処理要求に応じた処理を実行する第1のサービス提供部と、
前記第1のサービス提供部の稼働状況を監視する監視部と、
前記監視部が前記第1のサービス提供部の起動完了を検知すると所定の制御情報を送信する送信部と、
を備える第1の情報処理装置と、
所定のリソースを介して前記第1のサービス提供部に前記処理要求を送信する第2のサービス提供部と、
前記リソースを定義した接続情報を記憶する接続情報記憶部と、
前記第1の情報処理装置から制御情報を受信すると、受信した制御情報に基づき前記接続情報記憶部に記憶された前記接続情報に含まれる前記リソースを無効とする制御部と、
を備える第2の情報処理装置と、
を有することを特徴とする情報処理システム。
A first service providing unit that executes processing according to the processing request;
A monitoring unit for monitoring the operating status of the first service providing unit;
A transmission unit that transmits predetermined control information when the monitoring unit detects completion of activation of the first service providing unit;
A first information processing apparatus comprising:
A second service providing unit that transmits the processing request to the first service providing unit via a predetermined resource;
A connection information storage unit for storing connection information defining the resource;
When receiving control information from the first information processing apparatus, a control unit that invalidates the resource included in the connection information stored in the connection information storage unit based on the received control information;
A second information processing apparatus comprising:
An information processing system comprising:
前記監視部は、前記第1のサービス提供部の起動完了を検知すると第1の版数記憶部に記憶された所定の第1の版数を更新し、
前記送信部は、前記監視部が更新した前記第1の版数を制御情報に含めて前記第2の情報処理装置に送信し、
前記接続情報記憶部は、前記リソースに対応付けて当該リソースが割り当てられた時点を示す所定の第2の版数を記憶し、
前記制御部は、前記第1の情報処理装置から受信した制御情報に含まれる前記第1の版数が前記第2の版数と異なる場合に前記リソースを無効とする、
ことを特徴とする請求項1記載の情報処理システム。
The monitoring unit updates the predetermined first version number stored in the first version number storage unit when detecting the completion of activation of the first service providing unit,
The transmission unit includes the first version number updated by the monitoring unit in control information and transmits the control information to the second information processing apparatus,
The connection information storage unit stores a predetermined second version number indicating the time when the resource is allocated in association with the resource,
The control unit invalidates the resource when the first version number included in the control information received from the first information processing apparatus is different from the second version number;
The information processing system according to claim 1.
前記送信部は、前記第1のサービス提供部が前記処理要求に対する応答を前記第2のサービス提供部に送信する際に、前記第1の版数記憶部に記憶された前記第1の版数を含む制御情報を送信する、
ことを特徴とする請求項2記載の情報処理システム。
The transmitting unit is configured to store the first version number stored in the first version number storage unit when the first service providing unit transmits a response to the processing request to the second service providing unit. Send control information including
The information processing system according to claim 2.
前記第1のサービス提供部が起動状態の場合には停止状態となり、前記第1のサービス提供部が停止状態の場合には起動状態となって前記第2のサービス提供部から受信した前記処理要求に応じて前記第1のサービス提供部の処理を代替する冗長サービス提供部と、
前記冗長サービス提供部の稼働状況を監視する冗長監視部と、
前記冗長監視部が前記冗長サービス提供部の停止を検知すると所定の制御情報を送信する冗長送信部と、
を備える第3の情報処理装置を更に有し、
前記第1のサービス提供部は、前記冗長サービス提供部が停止すると起動を開始する、
ことを特徴とする請求項2または3の何れか一項に記載の情報処理システム。
The processing request received from the second service providing unit is in a stopped state when the first service providing unit is in an active state, and is in an active state when the first service providing unit is in a stopped state. A redundant service providing unit that replaces the processing of the first service providing unit according to
A redundancy monitoring unit for monitoring the operating status of the redundant service providing unit;
A redundant transmitter that transmits predetermined control information when the redundancy monitoring unit detects a stop of the redundant service providing unit;
A third information processing apparatus comprising:
The first service providing unit starts when the redundant service providing unit stops,
The information processing system according to any one of claims 2 and 3.
前記冗長監視部は、前記冗長サービス提供部の停止を検知すると第3の版数記憶部に記憶された所定の第3の版数を更新し、
前記冗長送信部は、前記冗長監視部が更新した前記第3の版数を制御情報に含めて前記第2の情報処理装置に送信し、
前記制御部は、前記第3の情報処理装置から受信した制御情報に含まれる前記第3の版数が前記第2の版数と異なる場合に前記リソースを無効とする、
ことを特徴とする請求項4記載の情報処理システム。
The redundancy monitoring unit updates the predetermined third version number stored in the third version number storage unit when detecting the stop of the redundancy service providing unit,
The redundant transmission unit includes the third version number updated by the redundancy monitoring unit in control information and transmits the control information to the second information processing device,
The control unit invalidates the resource when the third version number included in the control information received from the third information processing apparatus is different from the second version number;
The information processing system according to claim 4.
前記第1の情報処理装置は、
前記第2のサービス提供部からの割当要求に応じて前記リソースの割り当てを行い、前記リソースの割り当てを管理するためのリソース管理情報を生成するリソース制御部と、
前記リソース管理情報を記憶するリソース情報記憶部と、
を更に有し、
前記第2の情報処理装置は、
前記第2のサービス提供部の稼働状態を監視するサービス監視部と、
前記サービス監視部が前記第2のサービス提供部の停止および起動を検知すると所定の通知情報を送信する通知情報送信部と、
を更に有し、
前記リソース制御部は、前記第2の情報処理装置から受信した前記通知情報に基づき前記リソース情報記憶部に記憶された前記リソース管理情報に含まれる前記リソースのうち、前記第2のサービス提供部に割り当てたリソースを解放する、
ことを特徴とする請求項1乃至5の何れか一項に記載の情報処理システム。
The first information processing apparatus includes:
A resource control unit that allocates the resource in response to an allocation request from the second service providing unit and generates resource management information for managing the resource allocation;
A resource information storage unit for storing the resource management information;
Further comprising
The second information processing apparatus
A service monitoring unit for monitoring an operating state of the second service providing unit;
A notification information transmitting unit that transmits predetermined notification information when the service monitoring unit detects stop and activation of the second service providing unit;
Further comprising
The resource control unit includes the second service providing unit out of the resources included in the resource management information stored in the resource information storage unit based on the notification information received from the second information processing apparatus. Free allocated resources,
The information processing system according to claim 1, wherein the information processing system is an information processing system.
前記サービス監視部は、前記第2のサービス提供部の停止および起動を検知すると、第4の版数記憶部に記憶された所定の第4の版数を更新し、
前記通知情報送信部は、前記サービス監視部が更新した前記第4の版数を前記通知情報に含めて前記第1の情報処理装置に送信し、
前記リソース情報記憶部は、前記第2のサービス提供部により前記割当要求が送信された時点を示す所定の第5の版数を前記リソースに対応付けて記憶し、
前記リソース制御部は、前記第2の情報処理装置から受信した前記通知情報に含まれる前記第4の版数が前記第5の版数と異なる場合に前記第2のサービス提供部に割り当てたリソースを解放する、
ことを特徴とする請求項6記載の情報処理システム。
When the service monitoring unit detects the stop and activation of the second service providing unit, the service monitoring unit updates a predetermined fourth version number stored in a fourth version number storage unit,
The notification information transmission unit includes the fourth version number updated by the service monitoring unit in the notification information and transmits the notification to the first information processing apparatus,
The resource information storage unit stores a predetermined fifth version number indicating the time when the allocation request is transmitted by the second service providing unit in association with the resource,
The resource control unit allocates the resource to the second service providing unit when the fourth version number included in the notification information received from the second information processing apparatus is different from the fifth version number. Release,
The information processing system according to claim 6.
前記通知情報送信部は、前記第2のサービス提供部が前記処理要求を送信する際に、前記第4の版数記憶部に記憶された前記第4の版数を含む前記通知情報を送信することを特徴とする請求項7記載の情報処理システム。   The notification information transmission unit transmits the notification information including the fourth version number stored in the fourth version number storage unit when the second service providing unit transmits the processing request. The information processing system according to claim 7. 第1のサービス提供部の稼働状況を監視する監視部と、
前記監視部が前記第1のサービス提供部の起動完了を検知すると、第2のサービス提供部を備える相手装置に、前記第2のサービス提供部が前記第1のサービス提供部に処理要求を送信するために用いるリソースを定義した接続情報を記憶する接続情報記憶部に記憶された前記接続情報に含まれる前記リソースの無効化を促す制御情報を送信する送信部と、
を有することを特徴とする情報処理装置。
A monitoring unit for monitoring the operating status of the first service providing unit;
When the monitoring unit detects completion of activation of the first service providing unit, the second service providing unit transmits a processing request to the first service providing unit to a partner apparatus including the second service providing unit. A transmission unit that transmits control information that prompts invalidation of the resource included in the connection information stored in the connection information storage unit that stores connection information that defines resources used to
An information processing apparatus comprising:
第1のサービス提供部が相手装置の備える第2のサービス提供部に処理要求を送信するために用いられるリソースを定義した接続情報を記憶する接続情報記憶部と、
前記第2のサービス提供部の起動完了が前記相手装置側で検知された際に、前記相手装置から送信される所定の制御情報を受信すると、受信した制御情報に基づき前記接続情報記憶部に記憶された前記接続情報に含まれる前記リソースを無効とする制御部と、
を有することを特徴とする情報処理装置。
A connection information storage unit for storing connection information defining resources used for the first service providing unit to transmit a processing request to the second service providing unit of the counterpart device;
When completion of activation of the second service providing unit is detected on the partner device side, when predetermined control information transmitted from the partner device is received, it is stored in the connection information storage unit based on the received control information A control unit that invalidates the resource included in the connection information
An information processing apparatus comprising:
コンピュータを、
第1のサービス提供手段の稼働状況を監視する監視手段、
前記監視手段が前記第1のサービス提供手段の起動完了を検知すると、第2のサービス提供手段を備える情報処理装置に、前記第2のサービス提供手段が前記第1のサービス提供手段に処理要求を送信するために用いるリソースを定義した接続情報を記憶する接続情報記憶手段に記憶された前記接続情報に含まれる前記リソースの無効化を促す制御情報を送信する送信手段、
として機能させることを特徴とする通信制御プログラム。
Computer
Monitoring means for monitoring the operating status of the first service providing means;
When the monitoring unit detects completion of activation of the first service providing unit, the second service providing unit sends a processing request to the first service providing unit to the information processing apparatus including the second service providing unit. A transmission means for transmitting control information for prompting invalidation of the resource included in the connection information stored in the connection information storage means for storing connection information defining resources used for transmission;
A communication control program characterized by causing it to function as
コンピュータを、
第1のサービス提供手段により情報処理装置が備える第2のサービス提供手段に処理要求を送信するために用いられるリソースを定義した接続情報を記憶する接続情報記憶手段、
前記第2のサービス提供手段の起動完了が前記情報処理装置側で検知された際に、前記情報処理装置から送信される所定の制御情報を受信すると、受信した制御情報に基づき前記接続情報記憶手段に記憶された前記接続情報に含まれる前記リソースを無効とする制御手段、
として機能させることを特徴とする通信制御プログラム。
Computer
Connection information storing means for storing connection information defining resources used for transmitting a processing request to a second service providing means provided in the information processing apparatus by the first service providing means;
When the predetermined completion of control information transmitted from the information processing device is received when completion of activation of the second service providing unit is detected on the information processing device side, the connection information storage unit based on the received control information Control means for invalidating the resource included in the connection information stored in
A communication control program characterized by causing it to function as
情報処理システムの通信制御方法であって、
第1の情報処理装置が、処理要求に応じた処理を実行する第1のサービス提供部の稼働情報を監視し、前記第1のサービス提供部の起動完了を検知すると所定の制御情報を送信し、
第2の情報処理装置が、前記第1の情報処理装置から制御情報を受信すると、第2のサービス提供部が前記第1のサービス提供部に前記処理要求を送信するために用いる所定のリソースを定義した接続情報を記憶する接続情報記憶部に記憶された前記接続情報に含まれる前記リソースを無効とする、
ことを特徴とする通信制御方法。
A communication control method for an information processing system,
The first information processing apparatus monitors the operation information of the first service providing unit that executes processing according to the processing request, and transmits predetermined control information when detecting the completion of activation of the first service providing unit. ,
When the second information processing apparatus receives control information from the first information processing apparatus, a second resource providing unit uses a predetermined resource used for transmitting the processing request to the first service providing unit. Invalidating the resource included in the connection information stored in the connection information storage unit that stores the defined connection information;
A communication control method characterized by the above.
JP2010018699A 2010-01-29 2010-01-29 Information processing system, information processing apparatus, communication control program, and communication control method Expired - Fee Related JP5231461B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010018699A JP5231461B2 (en) 2010-01-29 2010-01-29 Information processing system, information processing apparatus, communication control program, and communication control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010018699A JP5231461B2 (en) 2010-01-29 2010-01-29 Information processing system, information processing apparatus, communication control program, and communication control method

Publications (2)

Publication Number Publication Date
JP2011159014A true JP2011159014A (en) 2011-08-18
JP5231461B2 JP5231461B2 (en) 2013-07-10

Family

ID=44590934

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010018699A Expired - Fee Related JP5231461B2 (en) 2010-01-29 2010-01-29 Information processing system, information processing apparatus, communication control program, and communication control method

Country Status (1)

Country Link
JP (1) JP5231461B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014211744A (en) * 2013-04-18 2014-11-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Device and method for distributing request of processing

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092781A (en) * 1999-09-27 2001-04-06 Fujitsu Ltd Automatic restoration system of user session
JP2001236280A (en) * 2000-02-24 2001-08-31 Nec Software Chubu Ltd Re-connection system from terminal to host computer
JP2005100344A (en) * 2003-08-18 2005-04-14 Ricoh Co Ltd Information processor, session restoration method, session restoration program, and recording medium
JP2005135125A (en) * 2003-10-30 2005-05-26 Hitachi Ltd Fail-over processing method
JP2007141129A (en) * 2005-11-22 2007-06-07 Hitachi Ltd System switching method, computer system and program
JP2007249659A (en) * 2006-03-16 2007-09-27 Hitachi Ltd System-switching method, computer system therefor, and program

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001092781A (en) * 1999-09-27 2001-04-06 Fujitsu Ltd Automatic restoration system of user session
JP2001236280A (en) * 2000-02-24 2001-08-31 Nec Software Chubu Ltd Re-connection system from terminal to host computer
JP2005100344A (en) * 2003-08-18 2005-04-14 Ricoh Co Ltd Information processor, session restoration method, session restoration program, and recording medium
JP2005135125A (en) * 2003-10-30 2005-05-26 Hitachi Ltd Fail-over processing method
JP2007141129A (en) * 2005-11-22 2007-06-07 Hitachi Ltd System switching method, computer system and program
JP2007249659A (en) * 2006-03-16 2007-09-27 Hitachi Ltd System-switching method, computer system therefor, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014211744A (en) * 2013-04-18 2014-11-13 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation Device and method for distributing request of processing

Also Published As

Publication number Publication date
JP5231461B2 (en) 2013-07-10

Similar Documents

Publication Publication Date Title
JP5412882B2 (en) Logical volume configuration information providing program, logical volume configuration information providing method, and logical volume configuration information providing apparatus
US10712975B2 (en) Cluster configuration information replication
JP5902716B2 (en) Large-scale storage system
JP4799419B2 (en) Setting program, setting method, and setting device
US8499191B2 (en) Failure recovery method for information processing service and virtual machine image generation apparatus
EP2909723B1 (en) Smart error recovery for database applications
US8621054B2 (en) Computer-readable recording medium storing software update command program, software update command method, and information processing device
US8285824B2 (en) Storage system and data replication method that refuses one or more requests for changing the first logical configuration information until the first storage apparatus and second storage apparatus are synchronized
JPWO2008126325A1 (en) Cluster system, software update method, service providing node, and service providing program
US20190229978A1 (en) Designation of a standby node
JP2011128917A (en) Data allocation control program, data allocation control method, and data allocation control apparatus
JP5218284B2 (en) Virtual disk management program, storage device management program, multi-node storage system, and virtual disk management method
US8312454B2 (en) System administration method and apparatus
JP2009140153A (en) Storage management device, storage system control device, storage management program, and storage system
FR2856492A1 (en) MEMORY DEVICE WHICH IS CONNECTED TO AN EXTERNAL MEMORY
JP6215481B2 (en) Method and apparatus for IT infrastructure management in cloud environment
JP2007226398A (en) Database connection management method and computer system
US8266301B2 (en) Deployment of asynchronous agentless agent functionality in clustered environments
JP6388290B2 (en) Method and system for handling lock server failures in distributed systems
JP2009032014A (en) Storage system and method for managing the same
KR101211207B1 (en) Cache system and caching service providing method using structure of cache cloud
US20120198190A1 (en) Making automated use of data volume copy service targets
CN107466456A (en) The processing method and server of locking request
JP2004341994A (en) Program, information processor, and method for controlling information processor
WO2022151593A1 (en) Data recovery method, apapratus and device, medium and program product

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120313

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130321

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20160329

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5231461

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees