JP2009245118A - System and method for providing application service, and method for transferring application - Google Patents

System and method for providing application service, and method for transferring application Download PDF

Info

Publication number
JP2009245118A
JP2009245118A JP2008090177A JP2008090177A JP2009245118A JP 2009245118 A JP2009245118 A JP 2009245118A JP 2008090177 A JP2008090177 A JP 2008090177A JP 2008090177 A JP2008090177 A JP 2008090177A JP 2009245118 A JP2009245118 A JP 2009245118A
Authority
JP
Japan
Prior art keywords
application
server
information
application server
execution
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.)
Pending
Application number
JP2008090177A
Other languages
Japanese (ja)
Inventor
Takenari Yanagawa
雄成 柳川
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.)
Azbil Corp
Original Assignee
Azbil Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Azbil Corp filed Critical Azbil Corp
Priority to JP2008090177A priority Critical patent/JP2009245118A/en
Publication of JP2009245118A publication Critical patent/JP2009245118A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To easily perform maintenance among a plurality of application servers while maintaining availability of a system. <P>SOLUTION: A proxy process 21 transmits, to a proxy process 11, application information 231 that is information about an application 221. The process 11 registers the information 231 in a management information recording unit 13, receives a service providing request from a WEB server 30 as a representative, and requests execution of the application 221 to the process 21 on the basis of the information 231. The process 21 executes the application 221 on the basis of the information 231. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、ネットワークを介したサービスの提供要求に対して、第1のアプリケーションサーバ、及び、第2のアプリケーションサーバが備える複数のアプリケーションを実行することにより当該サービスを提供するアプリケーション提供システム、及びアプリケーション提供方法に関し、特に、第1のアプリケーションサーバで実行されるアプリケーションを第2のアプリケーションサーバへ移行するアプリケーション移行方法に関する。   The present invention provides an application providing system and an application for providing a service by executing a plurality of applications included in the first application server and the second application server in response to a service provision request via a network. More particularly, the present invention relates to an application migration method for migrating an application executed on a first application server to a second application server.

サーバによるビジネスアプリケーションサービスを提供しているWebシステムにおいては、当該Webシステムが提供するサービスを停止させることなく、システムを継続稼働させることが要求される。   In a Web system that provides a business application service by a server, it is required to continuously operate the system without stopping the service provided by the Web system.

近年、Webシステムとして標準的なWEBサーバ、AP(Application)サーバ、及びDB(Database)サーバという3層構成において、WEBサーバ、及びDBサーバのそれぞれについては、一般的に、負荷分散の仕組みが普及している。また、アプリケーションサーバの負荷分散の仕組みについては、特許文献1、特許文献2に開示されている。   In recent years, in a three-layer configuration of a standard WEB server, an AP (Application) server, and a DB (Database) server as a Web system, a load distribution mechanism is generally spread for each of the WEB server and the DB server. is doing. Further, the load distribution mechanism of the application server is disclosed in Patent Document 1 and Patent Document 2.

特許文献1に開示されるクラスタリング方法は、同一のサービスを提供可能な複数のサーバと、このサーバの少なくとも一つが提供するサービスを利用するクライアントを有し、サーバに割り当てられた固有のサーバ名と対応するアドレスを管理するネームサーバがあり、クライアントからのアドレスの問い合わせに対し、第1のサーバから応答がない場合、第2のサーバへアドレスを問い合わせるものである。   The clustering method disclosed in Patent Literature 1 includes a plurality of servers that can provide the same service, a client that uses a service provided by at least one of the servers, and a unique server name assigned to the server, There is a name server that manages a corresponding address, and when there is no response from the first server in response to an address inquiry from a client, the address is inquired to the second server.

特許文献2に開示される高可用性計算機システムは、少なくとも2台のサーバが共有ディスクを共有し、運用系から待機系へ切り替える基本の高可用性機構と、基本とは別の高可用性機構を備えた高可用性計算機システムである。そして、予め運用系の設定情報を待機系のローカルハードディスクへコピーしておき、運用系、及び共有ディスクが共に障害となった場合、待機系から共有ディスクを切断し、待機系のローカルハードディスクから単独で起動し、復旧を行うものである。
特開2000−357160号公報 特開2006−227770号公報
The high-availability computer system disclosed in Patent Document 2 includes a basic high-availability mechanism in which at least two servers share a shared disk and switches from the active system to the standby system, and a high-availability mechanism different from the basic one. It is a highly available computer system. Then, copy the setting information of the active system to the standby local hard disk beforehand, and if both the active system and the shared disk fail, disconnect the shared disk from the standby system and disconnect it from the standby local hard disk. It is started and is restored.
JP 2000-357160 A JP 2006-227770 A

しかしながら、特許文献1では、同一の環境を複数のサーバ(アプリケーションサーバ)に用意する必要がある。また、特許文献2では、共有ディスクに保存されない設定情報を運用系と待機系のアプリケーションサーバ間で同期を取る必要があるがその方法については、開示されていない。   However, in Patent Document 1, it is necessary to prepare the same environment in a plurality of servers (application servers). In Patent Document 2, it is necessary to synchronize setting information that is not stored in the shared disk between the active and standby application servers, but the method is not disclosed.

そのため、複数のアプリケーションサーバ間の同期を取る等のメンテナンスが煩雑である、という問題点がある。ここで、メンテナンスとは、アプリケーションサーバ、及びアプリケーションの追加、及び削除、並びに移行等を指す。また、一方のアプリケーションサーバから他方のアプリケーションサーバでアプリケーションを実行させることが困難である。   Therefore, there is a problem that maintenance such as synchronization between a plurality of application servers is complicated. Here, the maintenance refers to addition and deletion of application servers and applications, migration, and the like. Also, it is difficult to execute an application from one application server to the other application server.

本発明では、このような問題点を解決するためになされたものであり、システムの可用性を維持しつつ、複数のアプリケーションサーバ間のメンテナンスを容易とするアプリケーションサービス提供システム、アプリケーションサービス提供方法、及びアプリケーションサービス移行方法の提供をすることを目的とする。   In the present invention, an application service providing system, an application service providing method, and an application service providing method that facilitate maintenance between a plurality of application servers while maintaining the availability of the system. The purpose is to provide an application service migration method.

本発明の第1の態様にかかるアプリケーションサービス提供システムは、ネットワークを介したサービスの提供要求に対して、第1のアプリケーションサーバが第1のアプリケーションを、第2のアプリケーションサーバが第2のアプリケーションをそれぞれ実行することにより当該サービスを提供するものである。前記第1のアプリケーションサーバは、前記第1のアプリケーション及び第2のアプリケーションに関するアプリケーション情報を記憶する管理情報記憶部と、前記第1のアプリケーションサーバ及び前記第2のアプリケーションサーバを代表して前記提供要求を受信し、前記第1のアプリケーション及び第2のアプリケーションを実行させる第1のプロキシプロセスとを備え、前記第1のプロキシプロセスは、前記第2のアプリケーションサーバから前記第2のアプリケーションに関するアプリケーション情報を受信し、前記管理情報記憶部へ登録する登録手段と、前記提供要求を受信し、前記管理情報記憶部に格納された前記第2のアプリケーションに関するアプリケーション情報に基づいて前記第2のアプリケーションサーバへ前記第2のアプリケーションの実行を依頼する実行依頼手段とを備え、前記第2のアプリケーションサーバは、前記第2のアプリケーションに関するアプリケーション情報を前記第1のアプリケーションサーバに対して送信する管理情報送信手段と、前記実行依頼手段による依頼に基づき前記第2のアプリケーションを実行する実行手段とを備える。   In the application service providing system according to the first aspect of the present invention, in response to a service provision request via a network, the first application server provides the first application, and the second application server provides the second application. The service is provided by executing each. The first application server includes a management information storage unit that stores application information related to the first application and the second application, and the provision request on behalf of the first application server and the second application server. And a first proxy process for executing the first application and the second application, wherein the first proxy process receives application information related to the second application from the second application server. Registration means for receiving and registering in the management information storage unit; receiving the provision request; and receiving the provision request to the second application server based on application information relating to the second application stored in the management information storage unit First Execution request means for requesting execution of the application, management information transmission means for transmitting application information related to the second application to the first application server, and the execution Execution means for executing the second application based on a request from the request means.

これにより、サービスの提供要求を代表して受信するアプリケーションサーバにおいて、他のアプリケーションサーバのアプリケーション情報を管理することにより、当該アプリケーション情報に基づき、他のアプリケーションサーバのアプリケーションを実行させることができる。そのため、サービス提供要求を継続しつつ、複数の第2のアプリケーションサーバの入れ替えを容易に行うことができる。   As a result, the application server that receives the service provision request on behalf of the application server can manage the application information of the other application server, so that the application of the other application server can be executed based on the application information. Therefore, the plurality of second application servers can be easily replaced while continuing the service provision request.

また、前記第2のアプリケーションサーバは、前記第1のアプリケーションサーバ及び前記第2のアプリケーションサーバを代表して前記提供要求を受信し、前記実行手段により前記第1のアプリケーション及び第2のアプリケーションを実行させる第2のプロキシプロセスをさらに備え、前記管理情報送信手段は、前記第2のプロキシプロセスに関するプロセス情報を前記第1のプロキシプロセスへ送信し、前記登録手段は、前記第2のプロキシプロセスから受信した前記プロセス情報を前記管理情報記憶部へ登録し、前記実行依頼手段は、前記管理情報記憶部に格納された前記プロセス情報を参照し、前記第2のプロキシプロセスへ前記第2のアプリケーションの実行を依頼することが望ましい。   The second application server receives the provision request on behalf of the first application server and the second application server, and executes the first application and the second application by the execution unit. A second proxy process, wherein the management information transmission means transmits process information relating to the second proxy process to the first proxy process, and the registration means receives from the second proxy process. The process information is registered in the management information storage unit, and the execution requesting unit refers to the process information stored in the management information storage unit and executes the second application to the second proxy process. It is desirable to request.

これにより、プロキシプロセス間の通信によりアプリケーションの実行が可能となり、同機能のプロキシプロセスを備えたアプリケーションサーバによるシステムの拡張が可能となる。そのため、複数のアプリケーションを実行するアプリケーションサーバ間で管理情報の同期を取ることができ、アプリケーションサーバのメンテナンスをシステムへの影響を最小限にして行うことができる。   As a result, an application can be executed by communication between proxy processes, and the system can be expanded by an application server having a proxy process having the same function. Therefore, management information can be synchronized between application servers that execute a plurality of applications, and the maintenance of the application server can be performed with a minimum influence on the system.

また、前記第1のプロキシプロセスは、前記登録手段により新規なプロセス情報が登録された場合、前記第2のプロキシプロセスへ前記第1のプロキシプロセスに関するプロセス情報、及び、前記第1のアプリケーションに関するアプリケーション情報を送信することが望ましい。これにより、追加されたアプリケーションサーバ、プロキシプロセスに対して、管理情報の同期が可能となる。   In addition, when new process information is registered by the registration unit, the first proxy process has the process information related to the first proxy process and the application related to the first application to the second proxy process. It is desirable to send information. Thereby, management information can be synchronized with the added application server and proxy process.

また、前記第1のプロキシプロセスは、前記第1のアプリケーション又は前記第2のアプリケーションが起動又は中断する旨の通知を受信した場合、前記管理情報記憶部において前記第1のアプリケーション又は前記第2のアプリケーションに関するアプリケーション情報を更新する更新手段をさらに備え、前記更新手段により前記第1のアプリケーションに関するアプリケーション情報が更新された場合、前記管理情報記憶部に格納された当該更新されたアプリケーション情報を前記第2のプロキシプロセスへ送信するとよい。これにより、アプリケーションの起動、中断を管理し、他のアプリケーションサーバへ通知することで、アプリケーションサーバ間で、各々のアプリケーションの状態を共有することができる。   Further, when the first proxy process receives a notification that the first application or the second application is activated or interrupted, the first proxy process or the second application is stored in the management information storage unit. Update means for updating application information related to the application is further provided, and when the application information related to the first application is updated by the update means, the updated application information stored in the management information storage unit is stored in the second information. To the proxy process. As a result, application activation and interruption are managed and notified to other application servers, so that the status of each application can be shared between application servers.

さらに、前記実行依頼手段は、前記提供要求を受信した場合、前記管理情報記憶部に格納された前記第1のアプリケーションに関するアプリケーション情報に基づいて前記第1のアプリケーションを実行させるとよい。これにより、自己のアプリケーションサーバ内のアプリケーションと、他のアプリケーションサーバ内のアプリケーションとを等価的に分散実行することができ、代表して受信するアプリケーションサーバを柔軟に変更できる。   Further, when the execution request unit receives the provision request, the execution request unit may execute the first application based on application information relating to the first application stored in the management information storage unit. As a result, an application in its own application server and an application in another application server can be equivalently distributed and executed, and the application server to be representatively received can be flexibly changed.

また、前記第1のアプリケーションサーバは、前記第1のアプリケーションの実行コード、及び設定パラメータを記憶するアプリケーション情報記憶部と、前記第1のアプリケーションの処理を中断する前に、前記アプリケーション情報記憶部から前記第1のアプリケーションの実行コード、及び設定パラメータを取得し、前記第2のアプリケーションサーバへ送信する第1の送信手段と、前記第1のアプリケーションの処理を中断した後に、前記第1のアプリケーションの実行状態を示す実行状態情報を前記第2のアプリケーションサーバへ送信する第2の送信手段と、をさらに備え、前記第2のアプリケーションサーバは、前記第1の送信手段から前記実行コード、及び前記設定パラメータを受信し、前記第2の送信手段から前記実行状態情報を受信し、前記実行状態情報に基づいて当該第1のアプリケーションの処理を再開する処理再開手段と、をさらに備えるとよい。これにより、稼働するアプリケーションサーバ間での実行中のアプリケーションの移行をシステムへの影響を最小限にして、行うことができる。   In addition, the first application server includes an application information storage unit that stores an execution code of the first application and setting parameters, and an application information storage unit that interrupts the processing of the first application. The first transmission means for acquiring the execution code and the setting parameter of the first application and transmitting the setting parameter to the second application server, and after interrupting the processing of the first application, Second transmission means for transmitting execution state information indicating an execution state to the second application server, wherein the second application server receives the execution code and the setting from the first transmission means. A parameter is received, and the execution state is received from the second transmission means. Receiving information, it may further comprises a resuming process resuming means the processing of the first application, the based on the execution status information. As a result, it is possible to perform migration of an application being executed between operating application servers while minimizing the influence on the system.

本発明の第2の態様にかかるアプリケーションサービス提供システムは、ネットワークを介したサービスの提供要求に対して、第1のアプリケーションサーバ及び第2のアプリケーションサーバによってアプリケーションを実行することにより当該サービスを提供するものである。前記第1のアプリケーションサーバは、前記アプリケーションの実行コード、及び設定パラメータを記憶するアプリケーション情報記憶部と、前記アプリケーションの処理を中断する前に、前記アプリケーション情報記憶部から前記アプリケーションの実行コード、及び設定パラメータを取得し、前記第2のアプリケーションサーバへ送信する第1の送信手段と、前記アプリケーションの処理を中断した後に、前記アプリケーションの実行状態を示す実行状態情報を前記第2のアプリケーションサーバへ送信する第2の送信手段と、を備え、前記第2のアプリケーションサーバは、前記第1の送信手段から前記実行コード、及び前記設定パラメータを受信し、前記第2の送信手段から前記実行状態情報を受信し、前記実行状態情報に基づいて当該アプリケーションの処理を再開する処理再開手段と、を備えるものである。   The application service providing system according to the second aspect of the present invention provides the service by executing the application by the first application server and the second application server in response to the service provision request via the network. Is. The first application server includes an application information storage unit that stores an execution code and setting parameters of the application, and an execution code and setting of the application from the application information storage unit before interrupting the processing of the application. First transmission means for acquiring a parameter and transmitting it to the second application server, and after interrupting the processing of the application, transmitting execution state information indicating the execution state of the application to the second application server A second transmission unit, wherein the second application server receives the execution code and the setting parameter from the first transmission unit, and receives the execution state information from the second transmission unit. And based on the execution state information Processing and resuming processing resuming means of the application are those comprising a.

これにより、稼働するアプリケーションサーバ間での実行中のアプリケーションの移行をシステムへの影響を最小限にして、行うことができる。   As a result, it is possible to perform migration of an application being executed between operating application servers while minimizing the influence on the system.

また、前記第1のアプリケーションサーバは、前記アプリケーションの実行を管理する第1のプロキシプロセスと、前記アプリケーションの処理を中断した旨を前記第1のプロキシプロセスへ通知する中断通知手段と、をさらに備え、前記第2のアプリケーションサーバは、前記アプリケーションの実行を管理する第2のプロキシプロセスと、前記処理再開手段により当該アプリケーションの処理を再開した旨を前記第2のプロキシプロセスへ通知する再開通知手段と、をさらに備えることが望ましい。これにより、アプリケーションの実行を管理するプロキシプロセスへ当該アプリケーションの中断、及び再開を通知することで、プロキシプロセスによりアプリケーションの移行の状況を管理できる。   The first application server further includes a first proxy process that manages execution of the application, and an interruption notification unit that notifies the first proxy process that the processing of the application has been interrupted. The second application server includes a second proxy process that manages execution of the application, and a restart notification unit that notifies the second proxy process that the processing of the application has been restarted by the processing restarting unit. It is desirable to further comprise. Thus, the status of application migration can be managed by the proxy process by notifying the proxy process that manages the execution of the application of the suspension and restart of the application.

また、前記第1のアプリケーションサーバは、前記アプリケーションの処理を中断した後に、当該アプリケーションの実行状態情報を前記アプリケーション情報記憶部へ格納する実行状態情報格納手段をさらに備え、前記第2の送信手段は、前記実行状態情報格納手段により格納された当該アプリケーションの実行状態情報を前記アプリケーション情報記憶部から取得して、前記第2のアプリケーションサーバへ送信することが望ましい。これにより、アプリケーションの中断時点の実行状態情報を転送することができる。   The first application server further includes an execution state information storage unit that stores the execution state information of the application in the application information storage unit after interrupting the processing of the application, and the second transmission unit includes: It is preferable that the execution state information of the application stored by the execution state information storage unit is acquired from the application information storage unit and transmitted to the second application server. Thereby, the execution state information at the time of interruption of the application can be transferred.

また、前記第1の送信手段は、前記アプリケーションを前記第2のアプリケーションサーバへ移行する指示に応じて実行されることが望ましい。これにより、任意のタイミングで柔軟に移行が可能となる。   Further, it is preferable that the first transmission unit is executed in response to an instruction to transfer the application to the second application server. Thereby, it is possible to flexibly shift at an arbitrary timing.

本発明の第1の態様にかかるアプリケーションサービス提供方法は、ネットワークを介したサービスの提供要求に対して、第1のアプリケーションサーバが第1のアプリケーションを、第2のアプリケーションサーバが第2のアプリケーションをそれぞれ実行することにより当該サービスを提供するものである。前記第2のアプリケーションサーバから前記第1のアプリケーションサーバへ前記第2のアプリケーションに関するアプリケーション情報を送信する管理情報送信ステップと、前記第1のアプリケーションサーバにおいて、前記送信するステップにより送信された前記第2のアプリケーションに関するアプリケーション情報を受信し、当該アプリケーション情報を管理情報記憶部へ登録する登録ステップと、前記第1のアプリケーションサーバにおいて、前記第1のアプリケーションサーバ及び前記第2のアプリケーションサーバを代表して前記提供要求を受信し、前記管理情報記憶部に格納された前記第2のアプリケーションに関するアプリケーション情報に基づいて前記第2のアプリケーションサーバへ前記第2のアプリケーションの実行を依頼する実行依頼ステップと、前記第2のアプリケーションサーバにおいて、前記実行依頼ステップによる依頼に基づき前記第2のアプリケーションを実行する実行ステップとを備える。   In the application service providing method according to the first aspect of the present invention, in response to a service provision request via a network, the first application server uses the first application, and the second application server uses the second application. The service is provided by executing each. A management information transmission step of transmitting application information related to the second application from the second application server to the first application server; and the second information transmitted by the transmitting step in the first application server. A registration step of receiving application information related to the application and registering the application information in the management information storage unit; and in the first application server, the first application server and the second application server The provision request is received, and the second application server executes the second application based on the application information related to the second application stored in the management information storage unit. Comprising an execution request step of requesting, at the second application server, and an execution step of executing the second application based on the request by the execution request step a.

これにより、サービスの提供要求を代表して受信するアプリケーションサーバにおいて、他のアプリケーションサーバのアプリケーション情報を管理することにより、当該アプリケーション情報に基づき、他のアプリケーションサーバのアプリケーションを実行させることができる。そのため、サービス提供要求を継続しつつ、複数の第2のアプリケーションサーバの入れ替えを容易に行うことができる。   As a result, the application server that receives the service provision request on behalf of the application server can manage the application information of the other application server, so that the application of the other application server can be executed based on the application information. Therefore, the plurality of second application servers can be easily replaced while continuing the service provision request.

また、前記管理情報送信ステップは、前記第2のアプリケーションサーバにおいて前記実行手段により前記第2のアプリケーションを実行させるプロキシプロセスに関するプロセス情報をさらに送信し、前記登録ステップは、前記プロキシプロセスに関するプロセス情報を受信し、当該プロセス情報を前記管理情報記憶部へ登録し、前記実行依頼ステップは、前記管理情報記憶部に格納された前記プロセス情報を参照し、前記プロキシプロセスへ前記第2のアプリケーションの実行を依頼することが望ましい。   The management information transmission step further transmits process information related to a proxy process that causes the execution means to execute the second application in the second application server, and the registration step includes process information related to the proxy process. The process information is received and registered in the management information storage unit, and the execution request step refers to the process information stored in the management information storage unit, and executes the second application to the proxy process. It is desirable to request.

これにより、プロキシプロセス間の通信によりアプリケーションの実行が可能となり、同機能のプロキシプロセスを備えたアプリケーションサーバによるシステムの拡張が可能となる。そのため、複数のアプリケーションを実行するアプリケーションサーバ間で管理情報の同期を取ることができ、アプリケーションサーバのメンテナンスをシステムへの影響を最小限にして行うことができる。   As a result, an application can be executed by communication between proxy processes, and the system can be expanded by an application server having a proxy process having the same function. Therefore, management information can be synchronized between application servers that execute a plurality of applications, and the maintenance of the application server can be performed with a minimum influence on the system.

また、前記登録ステップにより新規なプロセス情報が登録された場合、前記管理情報記憶部に格納された前記第1のアプリケーションサーバにおいて前記第1のアプリケーションを実行させるプロキシプロセスに関するプロセス情報、及び、前記第1のアプリケーションに関するアプリケーション情報を送信する送信ステップをさらに備える、請求項12に記載のアプリケーションサービス提供方法。
これにより、追加されたアプリケーションサーバ、プロキシプロセスに対して、管理情報の同期が可能となる。
Further, when new process information is registered in the registration step, process information relating to a proxy process for executing the first application in the first application server stored in the management information storage unit, and the first The application service providing method according to claim 12, further comprising a transmission step of transmitting application information related to one application.
Thereby, management information can be synchronized with the added application server and proxy process.

また、前記第1のアプリケーション又は前記第2のアプリケーションが起動又は中断する旨の通知を受信した場合、前記管理情報記憶部において前記第1のアプリケーション又は前記第2のアプリケーションに関するアプリケーション情報を更新する更新ステップをさらに備え、前記送信ステップは、前記更新ステップにより前記第1のアプリケーションに関するアプリケーション情報が更新された場合、前記管理情報記憶部に格納された当該更新されたアプリケーション情報を送信することが望ましい。これにより、アプリケーションの起動、中断を管理し、他のアプリケーションサーバへ通知することで、アプリケーションサーバ間で、各々のアプリケーションの状態を共有することができる。   In addition, when the notification that the first application or the second application is activated or interrupted is received, the update that updates the application information related to the first application or the second application in the management information storage unit It is preferable that the transmission step further includes transmitting the updated application information stored in the management information storage unit when the application information related to the first application is updated in the updating step. As a result, application activation and interruption are managed and notified to other application servers, so that the status of each application can be shared between application servers.

また、前記実行依頼ステップは、前記第1のアプリケーションサーバにおいて、前記提供要求を受信した場合、前記管理情報記憶部に格納された前記第1のアプリケーションに関するアプリケーション情報に基づいて前記第1のアプリケーションを実行させることが望ましい。これにより、自己のアプリケーションサーバ内のアプリケーションと、他のアプリケーションサーバ内のアプリケーションとを等価的に分散実行することができ、代表して受信するアプリケーションサーバを柔軟に変更できる。   In the execution requesting step, when the first application server receives the provision request, the execution requesting step determines the first application based on application information related to the first application stored in the management information storage unit. It is desirable to execute. As a result, an application in its own application server and an application in another application server can be equivalently distributed and executed, and the application server to be representatively received can be flexibly changed.

本発明の第2の態様にかかるアプリケーション移行方法は、ネットワークを介したサービスの提供要求に対して、第1のアプリケーションサーバ及び第2のアプリケーションサーバによってアプリケーションを実行することにより当該サービスを提供するアプリケーションサービス提供システムにおけるものである。前記アプリケーションの処理を中断する前に、前記アプリケーションの実行コード、及び設定パラメータを前記第2のアプリケーションサーバへ送信する第1の送信ステップと、前記アプリケーションの処理を中断した後に、前記アプリケーションの実行状態を示す実行状態情報を前記第2のアプリケーションサーバへ送信する第2の送信ステップと、前記第1の送信ステップから前記実行コード、及び前記設定パラメータを受信し、前記第2の送信ステップから前記実行状態情報を受信し、前記実行状態情報に基づいて当該アプリケーションの処理を再開する処理再開ステップと、を備えるものである。これにより、稼働するアプリケーションサーバ間での実行中のアプリケーションの移行をシステムへの影響を最小限にして、行うことができる。   The application migration method according to the second aspect of the present invention provides an application that provides a service by executing the application by the first application server and the second application server in response to a service provision request via a network. It is in a service providing system. A first transmission step of transmitting the execution code of the application and setting parameters to the second application server before interrupting the processing of the application; and an execution state of the application after interrupting the processing of the application A second transmission step of transmitting execution state information indicating the execution status information to the second application server, the execution code and the setting parameter from the first transmission step, and the execution from the second transmission step. A process resuming step of receiving the state information and resuming the process of the application based on the execution state information. As a result, it is possible to perform migration of an application being executed between operating application servers while minimizing the influence on the system.

また、前記アプリケーションの処理を中断した旨を前記第1のアプリケーションサーバにおいて前記アプリケーションの実行を管理するプロキシプロセスへ通知する中断通知ステップと、前記処理再開ステップにより当該アプリケーションの処理を再開した旨を前記第2のアプリケーションサーバにおいて前記アプリケーションの実行を管理するプロキシプロセスへ通知する再開通知手段ステップと、をさらに備えることが望ましい。これにより、アプリケーションの実行を管理するプロキシプロセスへ当該アプリケーションの中断、及び再開を通知することで、プロキシプロセスによりアプリケーションの移行の状況を管理できる。   Further, an interruption notification step for notifying the proxy process that manages the execution of the application in the first application server that the processing of the application has been interrupted, and a notification that the processing of the application has been resumed by the processing resumption step. It is desirable to further comprise a restart notification means step for notifying a proxy process that manages execution of the application in the second application server. Thus, the status of application migration can be managed by the proxy process by notifying the proxy process that manages the execution of the application of the suspension and restart of the application.

また、前記アプリケーションの処理を中断した後に、当該アプリケーションの実行状態情報をアプリケーション情報記憶部へ格納する実行状態情報格納ステップをさらに備え、前記第2の送信ステップは、前記実行状態情報格納ステップにより格納された当該アプリケーションの実行状態情報を前記アプリケーション情報記憶部から取得して、前記第2のアプリケーションサーバへ送信することが望ましい。これにより、アプリケーションの中断時点の実行状態情報を転送することができる。   In addition, it further includes an execution state information storage step of storing the execution state information of the application in the application information storage unit after interrupting the processing of the application, wherein the second transmission step is stored by the execution state information storage step. It is desirable that the execution state information of the application that has been obtained is acquired from the application information storage unit and transmitted to the second application server. Thereby, the execution state information at the time of interruption of the application can be transferred.

また、前記第1の送信ステップは、前記アプリケーションを前記第2のアプリケーションサーバへ移行する指示に応じて実行されることが望ましい。これにより、任意のタイミングで柔軟に移行が可能となる。   The first transmission step is preferably executed in response to an instruction to transfer the application to the second application server. Thereby, it is possible to flexibly shift at an arbitrary timing.

本発明により、システムの可用性を維持しつつ、複数のアプリケーションサーバ間のメンテナンスを容易とするアプリケーションサービス提供システム、アプリケーションサービス提供方法、及びアプリケーションサービス移行方法の提供をすることができる。   According to the present invention, it is possible to provide an application service providing system, an application service providing method, and an application service migration method that facilitate maintenance between a plurality of application servers while maintaining system availability.

以下では、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。   Hereinafter, specific embodiments to which the present invention is applied will be described in detail with reference to the drawings. In the drawings, the same elements are denoted by the same reference numerals, and redundant description is omitted as necessary for the sake of clarity.

発明の実施の形態1.
図1は、本発明の実施の形態1にかかるアプリケーションサービス提供システム100の構成の一例を示すブロック図である。アプリケーションサービス提供システム100は、アプリケーションサーバ10と、アプリケーションサーバ20と、Webサーバ30と、ネットワーク40と、端末50とを備える。Webサーバ30と端末50とは、ネットワーク40を介して接続されている。ネットワーク40は、インターネット、公衆網、専用線、移動体通信網等の通信ネットワークであればよい。尚、アプリケーションサービス提供システム100には、アプリケーションサーバ10、及びアプリケーションサーバ20にデータベースサーバをさらに接続してもよい。
Embodiment 1 of the Invention
FIG. 1 is a block diagram showing an example of the configuration of an application service providing system 100 according to the first exemplary embodiment of the present invention. The application service providing system 100 includes an application server 10, an application server 20, a Web server 30, a network 40, and a terminal 50. The web server 30 and the terminal 50 are connected via the network 40. The network 40 may be a communication network such as the Internet, a public network, a dedicated line, and a mobile communication network. Note that a database server may be further connected to the application server 10 and the application server 20 in the application service providing system 100.

アプリケーションサービス提供システム100は、Webサーバ30において、ネットワーク40を介して端末50からサービスの提供要求を受け付け、Webサーバ30によりアプリケーションサーバ10、及びアプリケーションサーバ20を用いて複数のアプリケーションを分散して実行し、当該複数のアプリケーションの実行結果を集約して当該サービスとして端末50へ返信するものである。   The application service providing system 100 receives a service provision request from the terminal 50 via the network 40 in the Web server 30 and distributes and executes a plurality of applications using the application server 10 and the application server 20 by the Web server 30. Then, the execution results of the plurality of applications are aggregated and returned to the terminal 50 as the service.

ここで、アプリケーションサービス提供システム100で対象とするアプリケーションは、何らかのスケールファクターに比例した処理が必要とされ、並列実行が可能なものとする。   Here, it is assumed that the target application in the application service providing system 100 requires processing proportional to some scale factor and can be executed in parallel.

当該対象とするアプリケーションとは、例えば、遠隔データ収集を行うアプリケーションである。遠隔データ収集を行う場合、収集データ対象が増えるに従って処理量が増えるが、複数のアプリケーションサーバで分担してデータを収集するように実行することで、分散処理を行うことができる。または、当該対象とするアプリケーションとは、大規模なデータ検索を行うアプリケーションであり、検索範囲を分割してそれぞれのアプリケーションサーバにおいて検索を実行することができる。   The target application is, for example, an application that collects remote data. When remote data collection is performed, the amount of processing increases as the number of collected data objects increases. However, distributed processing can be performed by executing data collection in a shared manner by a plurality of application servers. Alternatively, the target application is an application that performs a large-scale data search, and a search range can be divided and a search can be executed in each application server.

そのため、当該対象とするアプリケーションは、分散処理を行うアプリケーションサーバの台数を増やすだけで、容易に処理量を増やし、処理効率を高めることができるものである。   Therefore, the target application can easily increase the processing amount and increase the processing efficiency simply by increasing the number of application servers that perform distributed processing.

尚、アプリケーションサーバの台数は、アプリケーションサーバ10、及びアプリケーションサーバ20の2台に限定されない。例えば、アプリケーションサーバの台数は、10台程度で分散されていればよい。   Note that the number of application servers is not limited to two, the application server 10 and the application server 20. For example, the number of application servers need only be distributed about 10 units.

Webサーバ30は、アプリケーションサーバ10、及びアプリケーションサーバ20と接続されている。Webサーバ30は、汎用的なコンピュータシステムであり、図示しない構成として、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、及び不揮発性記憶装置を備える。Webサーバ30は、CPUがRAM、ROM,又は不揮発性記憶装置に格納されたOS(Operating System)、WEBサーバプログラムを読み込み、実行する。これにより、Webサーバ30は、WEBサーバとして動作するものである。   The Web server 30 is connected to the application server 10 and the application server 20. The Web server 30 is a general-purpose computer system, and includes a CPU (Central Processing Unit), a RAM (Random Access Memory), a ROM (Read Only Memory), and a nonvolatile storage device as components not shown. In the Web server 30, the CPU reads and executes an OS (Operating System) and a WEB server program stored in a RAM, a ROM, or a nonvolatile storage device. Thereby, the Web server 30 operates as a WEB server.

また、Webサーバ30は、端末50からのサービス提供要求を受信し、アプリケーションサーバ10、及びアプリケーションサーバ20のいずれかへ当該サービス提供要求を送信し、当該サービス提供要求の返信内容を端末50へ返信する。ここで、Webサーバ30は、予め、アプリケーションサーバ10、及びアプリケーションサーバ20へマルチキャスト配信により応答要求を送信し、最初に応答のあったアプリケーションサーバ10に対して以後の当該サービス提供要求を送信するものとする。また、最初に応答のあったアプリケーションサーバ10が何らかの障害により、当該サービス提供要求に応答ができない場合、Webサーバ30は、再度、マルチキャスト配信により応答要求を送信し、応答するアプリケーションサーバ20に対して、当該サービス提供要求を再送することで、当該サービスの提供を維持するものとする。   In addition, the Web server 30 receives the service provision request from the terminal 50, transmits the service provision request to either the application server 10 or the application server 20, and returns the reply content of the service provision request to the terminal 50. To do. Here, the Web server 30 transmits a response request to the application server 10 and the application server 20 by multicast distribution in advance, and transmits the subsequent service provision request to the application server 10 that has responded first. And If the application server 10 that has responded first cannot respond to the service provision request due to some failure, the Web server 30 transmits a response request again by multicast delivery, and responds to the responding application server 20. The provision of the service is maintained by resending the service provision request.

アプリケーションサーバ10は、プロキシプロセス11と、アプリケーション121と、アプリケーション122と、管理情報記憶部13とを備える。また、アプリケーションサーバ20は、アプリケーションサーバ10と同等の機能を有するアプリケーションサーバである。また、プロキシプロセス21、アプリケーション221、アプリケーション222、管理情報記憶部23は、それぞれプロキシプロセス11、アプリケーション121、アプリケーション122、管理情報記憶部13と同等の構成であるため、説明を省略する。尚、アプリケーションサーバ10、及びアプリケーションサーバ20で稼働するアプリケーションの数はこれに限定されない。例えば、アプリケーションサービス提供システム100では、10から20程度のアプリケーションを並列実行させてもよい。   The application server 10 includes a proxy process 11, an application 121, an application 122, and a management information storage unit 13. The application server 20 is an application server having functions equivalent to those of the application server 10. Further, since the proxy process 21, the application 221, the application 222, and the management information storage unit 23 have the same configuration as the proxy process 11, the application 121, the application 122, and the management information storage unit 13, respectively, description thereof is omitted. The number of applications running on the application server 10 and the application server 20 is not limited to this. For example, in the application service providing system 100, about 10 to 20 applications may be executed in parallel.

管理情報記憶部13は、プロセス情報131と、アプリケーション情報132とを記憶する記憶装置である。プロセス情報131は、後述するプロキシプロセス11に関する情報である。プロセス情報131とは、例えば、プロキシプロセス11の識別情報、プロキシプロセス11が稼働するアプリケーションサーバ10のネットワークアドレス等の接続情報であればよい。   The management information storage unit 13 is a storage device that stores process information 131 and application information 132. The process information 131 is information regarding the proxy process 11 described later. The process information 131 may be connection information such as identification information of the proxy process 11 and a network address of the application server 10 on which the proxy process 11 operates.

また、アプリケーション情報132は、後述するアプリケーション121、及びアプリケーション122に関する情報である。アプリケーション情報132とは、例えば、アプリケーション121、及びアプリケーション122の識別情報、管理するプロキシプロセス11の識別情報、又は、アプリケーション121、及びアプリケーション122への接続情報であればよい。尚、プロセス情報131、及びアプリケーション情報132の具体例については、図3で後述する。   The application information 132 is information related to the application 121 and the application 122 described later. The application information 132 may be, for example, identification information of the application 121 and the application 122, identification information of the proxy process 11 to be managed, or connection information to the application 121 and the application 122. Specific examples of the process information 131 and the application information 132 will be described later with reference to FIG.

また、管理情報記憶部23に格納されたプロセス情報231は、プロキシプロセス21
に関する情報であり、アプリケーション情報232は、アプリケーション221、及びアプリケーション222に関する情報である。
The process information 231 stored in the management information storage unit 23 is stored in the proxy process 21.
The application information 232 is information related to the application 221 and the application 222.

プロキシプロセス11は、アプリケーションサーバ10、及びアプリケーションサーバ20を代表してWebサーバ30からのサービス提供要求を受信し、管理情報記憶部13に格納されたプロセス情報131、及びアプリケーション情報132を参照し、アプリケーション121、及びアプリケーション122、並びに、後述するプリケーション221、及びアプリケーション222を実行させるWEBアプリケーションである。特に、プロキシプロセス11は、後述するプロキシプロセス21を介して、アプリケーション221、及びアプリケーション222を実行させる。また、プロキシプロセス11は、アプリケーション121、アプリケーション122、アプリケーション221、及びアプリケーション222の実行結果を集約して、Webサーバ30へ返信する。これにより、Webサーバ30は、プロキシプロセス11により、一つのアプリケーションサーバに対して、処理を依頼することで、複数台のアプリケーションサーバに対する処理を行わせることができる。   The proxy process 11 receives a service provision request from the Web server 30 on behalf of the application server 10 and the application server 20, refers to the process information 131 and the application information 132 stored in the management information storage unit 13, It is a WEB application that executes an application 121 and an application 122, and an application 221 and an application 222 described later. In particular, the proxy process 11 causes the application 221 and the application 222 to be executed via the proxy process 21 described later. In addition, the proxy process 11 aggregates the execution results of the application 121, the application 122, the application 221, and the application 222 and returns them to the Web server 30. As a result, the Web server 30 can cause a plurality of application servers to perform processing by requesting processing to one application server by the proxy process 11.

また、プロキシプロセス11は、Webサーバ30からの応答要求に対して、応答する。これにより、Webサーバ30は、最初に応答したプロキシプロセス11をサービス提供要求の送信先として特定するため、複数のプロキシプロセスの中から当該サービス提供要求の窓口を一つに定めることができる。尚、ここでは、プロキシプロセス11が当該サービス提供要求に対する窓口であるが、プロキシプロセス21がWebサーバ30からの応答要求に対して最初に応答することで当該サービス提供要求に対する窓口となるが可能である。   Further, the proxy process 11 responds to a response request from the Web server 30. As a result, the Web server 30 identifies the proxy process 11 that responds first as the transmission destination of the service provision request, and therefore can determine one service provision request window from among a plurality of proxy processes. Here, the proxy process 11 is a window for the service provision request. However, the proxy process 21 can respond to the response request from the Web server 30 first, thereby serving as a window for the service provision request. is there.

また、プロキシプロセス11は、他のプロキシプロセスであるプロキシプロセス21と相互に通信を行う。プロキシプロセス11、及びプロキシプロセス21は、お互いのプロセス情報、及びアプリケーション情報を交換し、登録することで、お互いのアプリケーションへのアクセスが可能である。例えば、プロキシプロセス11は、起動時に、管理情報記憶部13に格納されたプロセス情報131、及びアプリケーション情報132をプロキシプロセス21へ送信する。また、プロキシプロセス11は、管理情報記憶部23に格納されたプロセス情報231、及びアプリケーション情報232をプロキシプロセス21から受信し、管理情報記憶部13に登録する。さらに、プロキシプロセス11は、アプリケーション121、又はアプリケーション122の実行が中断、又は再開されたことを検知、又は通知を受信し、アプリケーション情報132を更新する。同時に、プロキシプロセス11は、更新されたアプリケーション情報132をプロキシプロセス21へ送信する。そして、プロキシプロセス21から更新されたアプリケーション情報232を受信した場合、管理情報記憶部13を更新する。このように、プロキシプロセスは、複数のプロキシプロセスの間で、自己のプロセス情報、及びアプリケーション情報と、他のプロセス情報、及びアプリケーション情報の同期を取ることができ、最新状態を共有することができる。   The proxy process 11 communicates with the proxy process 21 that is another proxy process. The proxy process 11 and the proxy process 21 can access each other's applications by exchanging and registering each other's process information and application information. For example, the proxy process 11 transmits process information 131 and application information 132 stored in the management information storage unit 13 to the proxy process 21 at the time of activation. Further, the proxy process 11 receives the process information 231 and application information 232 stored in the management information storage unit 23 from the proxy process 21 and registers them in the management information storage unit 13. Further, the proxy process 11 detects that the execution of the application 121 or the application 122 has been interrupted or resumed, or receives a notification, and updates the application information 132. At the same time, the proxy process 11 transmits the updated application information 132 to the proxy process 21. When the updated application information 232 is received from the proxy process 21, the management information storage unit 13 is updated. Thus, the proxy process can synchronize its own process information and application information with other process information and application information among a plurality of proxy processes, and can share the latest state. .

尚、プロキシプロセス11は、WEBアプリケーションの起動時において、アプリケーションサーバ10に接続された他のアプリケーションサーバに対して、マルチキャスト通信により、管理情報記憶部13に格納されたプロセス情報131、及びアプリケーション情報132を配信する。これにより、予め通信相手のプロキシプロセスを登録しておく必要がなく、複数のプロキシプロセスと相互の通信が可能となる。また、プロキシプロセス11は、WEBアプリケーションの停止時に、プロキシプロセス11が停止する旨をプロキシプロセス21へ通知するようにしてもよい。また、プロキシプロセス11は、プロキシプロセス21からプロキシプロセス21が停止する旨を受信した場合、管理情報記憶部13に格納されたプロセス情報231、及びアプリケーション情報232を削除してもよい。これにより、管理情報記憶部13には、利用可能なプロキシプロセス、及びアプリケーションの情報が格納されることとなる。   The proxy process 11 uses process information 131 and application information 132 stored in the management information storage unit 13 by multicast communication with other application servers connected to the application server 10 when the WEB application is activated. To deliver. Thereby, it is not necessary to register the proxy process of the communication partner in advance, and mutual communication with a plurality of proxy processes becomes possible. Further, the proxy process 11 may notify the proxy process 21 that the proxy process 11 is stopped when the WEB application is stopped. Further, when the proxy process 11 receives a notification that the proxy process 21 is stopped from the proxy process 21, the proxy process 11 may delete the process information 231 and the application information 232 stored in the management information storage unit 13. As a result, the management information storage unit 13 stores available proxy processes and application information.

尚、プロキシプロセス11とプロキシプロセス21との間の通信は、例えば、RPC(Remote Procedure Call)や、RMI(Remote Method Invocation)などで実現すればよい。その場合、プロセス情報131、及びプロセス情報231に、RPC、又はRMIで必要とされるパラメータを含めて管理すればよい。   Note that communication between the proxy process 11 and the proxy process 21 may be realized by, for example, RPC (Remote Procedure Call), RMI (Remote Method Invocation), or the like. In that case, the process information 131 and the process information 231 may be managed by including parameters required for RPC or RMI.

アプリケーション121、及びアプリケーション122は、当該サービスを実現するアプリケーションソフトウェアであり、プロキシプロセス11により起動されるものである。また、アプリケーション121、及びアプリケーション122は、同様の機能であるため、分散して処理を実行することができる。   The application 121 and the application 122 are application software that realizes the service, and are activated by the proxy process 11. Further, since the application 121 and the application 122 have the same function, they can be distributed and executed.

尚、アプリケーションサーバ10の構成についての説明は、図2で詳述する。   The configuration of the application server 10 will be described in detail with reference to FIG.

端末50は、ネットワーク40に接続された汎用的なコンピュータシステムであるクライアント端末である。端末50は、図示しない構成として、CPU、RAM、ROM、及び不揮発性記憶装置を備える。端末50は、CPUがRAM、ROM,又は不揮発性記憶装置に格納されたOS、WEBブラウザプログラムを読み込み、実行する。これにより、端末50は、Webサーバ30に対して、サービス提供要求を送信し、上述した複数のアプリケーションによる実行結果を受信することができる。   The terminal 50 is a client terminal that is a general-purpose computer system connected to the network 40. The terminal 50 includes a CPU, a RAM, a ROM, and a nonvolatile storage device as configurations not shown. In the terminal 50, the CPU reads and executes the OS and WEB browser program stored in the RAM, ROM, or nonvolatile storage device. Thereby, the terminal 50 can transmit a service provision request to the Web server 30 and receive the execution results of the plurality of applications described above.

図2は、本発明の実施の形態1にかかるアプリケーションサーバ10の構成を示すブロック図である。尚、アプリケーションサーバ20の構成は、図2と同様のため、図示、及び説明を省略する。アプリケーションサーバ10は、CPU14と、通信部15と、メモリ16と、不揮発性記憶装置17とを備える。   FIG. 2 is a block diagram showing a configuration of the application server 10 according to the first embodiment of the present invention. The application server 20 has the same configuration as that shown in FIG. The application server 10 includes a CPU 14, a communication unit 15, a memory 16, and a nonvolatile storage device 17.

メモリ16は、図1の管理情報記憶部13に相当し、プロセス情報テーブル161と、アプリケーション情報テーブル162という管理情報を記憶する揮発性の記憶装置である。尚、メモリ16は、図示しない構成として、OS、プロキシプロセスプログラム171、アプリケーションプログラム172を記憶している。メモリ16は、DRAM(Dynamic Random Access Memory)等の揮発性の記憶装置であればよい。また、図3は、本発明の実施の形態1にかかる管理情報の一例を示す図である。   The memory 16 corresponds to the management information storage unit 13 shown in FIG. 1 and is a volatile storage device that stores management information such as a process information table 161 and an application information table 162. The memory 16 stores an OS, a proxy process program 171 and an application program 172 as components not shown. The memory 16 may be a volatile storage device such as a DRAM (Dynamic Random Access Memory). FIG. 3 is a diagram showing an example of management information according to the first embodiment of the present invention.

プロセス情報テーブル161は、図1のプロセス情報131を管理するための格納領域である。図3(a)は、プロセス情報テーブル161の構成例を示す図である。図3(a)に示すように、プロセス情報テーブル161は、プロキシプロセスの識別情報であるIDを示す属性と、当該プロキシプロセスが稼働するアプリケーションサーバのIPアドレスを示す属性とから構成される。これにより、プロキシプロセス11は、プロキシプロセス21を含む他のプロキシプロセスとの通信が可能となる。   The process information table 161 is a storage area for managing the process information 131 of FIG. FIG. 3A is a diagram illustrating a configuration example of the process information table 161. As illustrated in FIG. 3A, the process information table 161 includes an attribute indicating an ID that is identification information of a proxy process and an attribute indicating an IP address of an application server on which the proxy process operates. As a result, the proxy process 11 can communicate with other proxy processes including the proxy process 21.

アプリケーション情報テーブル162は、図1のアプリケーション情報132を管理するための格納領域である。図3(b)は、アプリケーションテーブルの構成例を示す図である。図3(b)に示すように、アプリケーション情報テーブル162は、アプリケーションの識別情報であるIDを示す属性と、当該アプリケーションが所属する、すなわち、当該アプリケーションを管理するプロキシプロセスのIDを示す属性とから構成される。これにより、プロキシプロセス11は、各アプリケーションが所属するプロキシプロセスのIDを特定することができ、各プロキシプロセスに対して、所属するアプリケーションの実行を依頼することができる。   The application information table 162 is a storage area for managing the application information 132 of FIG. FIG. 3B is a diagram illustrating a configuration example of the application table. As shown in FIG. 3B, the application information table 162 includes an attribute indicating an ID that is identification information of an application and an attribute indicating an ID of a proxy process to which the application belongs, that is, managing the application. Composed. Thereby, the proxy process 11 can specify the ID of the proxy process to which each application belongs, and can request each proxy process to execute the application to which it belongs.

尚、プロセス情報テーブル161、及びアプリケーション情報テーブル162の構成は図3に限定されない。例えば、プロセス情報テーブル161は、RPC、又はRMIで必要とされる接続情報をさらに管理してもよい。また、アプリケーション情報テーブル162は、プロキシプロセスのIDの代わりに、当該アプリケーションが稼働するアプリケーションサーバのIPアドレスを示す属性であってもよく、併せて、当該アプリケーションを実行させるための各種接続情報を管理してもよい。   The configurations of the process information table 161 and the application information table 162 are not limited to those in FIG. For example, the process information table 161 may further manage connection information required for RPC or RMI. The application information table 162 may be an attribute indicating the IP address of the application server on which the application is operating instead of the proxy process ID, and also manages various connection information for executing the application. May be.

図2に戻って説明する。ハードディスク17は、プロキシプロセスプログラム171と、アプリケーションプログラム172とを記憶する不揮発性の記憶装置である。プロキシプロセスプログラム171は、図1のプロキシプロセス11の処理が記述された実行形式のプログラムコード(以下、実行コード)である。アプリケーションプログラム172は、図1のアプリケーション121の処理が記述された実行コードである。尚、メモリ16は、図示しない構成として、OS、アプリケーション122の実行コード、並びに、プロキシプロセスプログラム171、及びアプリケーションプログラム172のための設定パラメータファイル等を記憶している。尚、ハードディスク17は、フラッシュメモリ等の不揮発性の記憶装置であってもよい。   Returning to FIG. The hard disk 17 is a non-volatile storage device that stores a proxy process program 171 and an application program 172. The proxy process program 171 is an execution format program code (hereinafter referred to as an execution code) in which the processing of the proxy process 11 in FIG. 1 is described. The application program 172 is an execution code in which processing of the application 121 in FIG. 1 is described. Note that the memory 16 stores an OS, an execution code of the application 122, a setting parameter file for the proxy process program 171 and the application program 172, and the like as configurations not shown. The hard disk 17 may be a non-volatile storage device such as a flash memory.

制御部14は、アプリケーションサーバ10における各種処理、すなわち、各種プログラムの処理、通信部15、メモリ16、及びハードディスク17へのアクセス、等を制御する。通信部15は、Webサーバ30、及びアプリケーションサーバ20との間のデータの送受信等の通信を行う。   The control unit 14 controls various processes in the application server 10, that is, processes of various programs, access to the communication unit 15, the memory 16, the hard disk 17, and the like. The communication unit 15 performs communication such as data transmission / reception between the Web server 30 and the application server 20.

図4は、プロキシプロセスによる管理情報の更新処理を示すシーケンス図である。ここでは、アプリケーションサーバ20においてプロキシプロセス21が稼働している状態で、アプリケーションサーバ10において、プロキシプロセス11が起動される場合における管理情報の初期登録の流れについて説明する。   FIG. 4 is a sequence diagram showing management information update processing by the proxy process. Here, the flow of initial registration of management information when the proxy process 11 is activated in the application server 10 while the proxy process 21 is operating in the application server 20 will be described.

まず、プロキシプロセス11は、アプリケーションサーバ10において起動される(S101)。すなわち、アプリケーションサーバ10の制御部14は、ハードディスク17のプロキシプロセスプログラム171をメモリ16へ読み込む。これにより、アプリケーションサーバ10において、プロキシプロセス11として動作する。また、このとき、プロセス情報テーブル161には、プロキシプロセス11のプロセス情報131のみが格納され、アプリケーション情報テーブル162には、アプリケーション121、及びアプリケーション122のアプリケーション情報132のみが格納されている。尚、以下では、プロセス情報テーブル161、及びアプリケーション情報テーブル162を管理情報記憶部13として説明する。   First, the proxy process 11 is activated in the application server 10 (S101). That is, the control unit 14 of the application server 10 reads the proxy process program 171 of the hard disk 17 into the memory 16. As a result, the application server 10 operates as the proxy process 11. At this time, only the process information 131 of the proxy process 11 is stored in the process information table 161, and only the application information 132 of the application 121 and the application 122 is stored in the application information table 162. Hereinafter, the process information table 161 and the application information table 162 will be described as the management information storage unit 13.

次に、プロキシプロセス11は、プロキシプロセス21へ自己のプロセス情報、及び自己のアプリケーションサーバのアプリケーション情報を通知する(S102)。すなわち、プロキシプロセス11は、管理情報記憶部13に格納されている自己のプロセス情報であるプロセス情報131、及び自己のアプリケーションであるアプリケーション情報132を読み出し、通信部15からマルチキャスト通信により、プロセス情報131、及びアプリケーション情報132の配信を行う。ここでは、アプリケーションサーバ10とアプリケーションサーバ20は接続されているため、アプリケーションサーバ10からプロキシプロセス21へプロセス情報131、及びアプリケーション情報132が送信される。   Next, the proxy process 11 notifies the proxy process 21 of its own process information and application information of its own application server (S102). That is, the proxy process 11 reads out process information 131 that is its own process information and application information 132 that is its own application stored in the management information storage unit 13, and processes information 131 by multicast communication from the communication unit 15. And application information 132 is distributed. Here, since the application server 10 and the application server 20 are connected, the process information 131 and the application information 132 are transmitted from the application server 10 to the proxy process 21.

続いて、プロキシプロセス21は、受信したプロセス情報131、及びアプリケーション情報132を登録する(S103)。すなわち、プロキシプロセス21は、プロキシプロセス11からプロセス情報131、及びアプリケーション情報132を受信し、管理情報記憶部23へ登録する。これにより、プロキシプロセス21は、プロキシプロセス11へアプリケーション121、及びアプリケーション122の実行依頼が可能となる。   Subsequently, the proxy process 21 registers the received process information 131 and application information 132 (S103). That is, the proxy process 21 receives the process information 131 and the application information 132 from the proxy process 11 and registers them in the management information storage unit 23. As a result, the proxy process 21 can request the proxy process 11 to execute the application 121 and the application 122.

その後、プロキシプロセス21は、プロキシプロセス11へ自己のプロセス情報、及び自己のアプリケーションサーバのアプリケーション情報を通知する(S104)。すなわち、すなわち、プロキシプロセス21は、管理情報記憶部23に格納されているプロセス情報131を参照し、管理情報記憶部23に格納されている自己のプロセス情報であるプロセス情報231、及び自己のアプリケーションであるアプリケーション情報232を読み出し、プロセス情報231、及びアプリケーション情報232をプロキシプロセス11へ送信する。   Thereafter, the proxy process 21 notifies the proxy process 11 of its own process information and application information of its own application server (S104). That is, the proxy process 21 refers to the process information 131 stored in the management information storage unit 23, and the process information 231 that is its own process information stored in the management information storage unit 23 and its own application Application information 232 is read, and process information 231 and application information 232 are transmitted to the proxy process 11.

そして、プロキシプロセス11は、受信したプロセス情報231、及びアプリケーション情報232を登録する(S105)。すなわち、プロキシプロセス11は、プロキシプロセス21からプロセス情報231、及びアプリケーション情報232を受信し、管理情報記憶部13へ登録する。これにより、プロキシプロセス11は、プロキシプロセス21へアプリケーション221、及びアプリケーション222の実行依頼が可能となる。   Then, the proxy process 11 registers the received process information 231 and application information 232 (S105). That is, the proxy process 11 receives the process information 231 and the application information 232 from the proxy process 21 and registers them in the management information storage unit 13. As a result, the proxy process 11 can request the proxy process 21 to execute the application 221 and the application 222.

尚、ステップS104、及びS105は、ステップS103において、新規なプロセス情報が登録された場合のみ、行うようにしてもよい。これにより、冗長な通信を省略し、通信コストを下げることができる。   Note that steps S104 and S105 may be performed only when new process information is registered in step S103. Thereby, redundant communication can be omitted and communication cost can be reduced.

また、図4の処理が終了した後、アプリケーションサーバ10において、メンテナンス作業、又は、障害対応により、アプリケーションの追加、入れ替え、又は削除の更新が発生した場合、ステップS102、及びS103により、更新されたアプリケーション情報のみを通知することにより、プロキシプロセス11からプロキシプロセス21へアプリケーション情報の更新処理が可能となる。さらに、アプリケーション121、又はアプリケーション122が中断、又は再開された場合も同様である。これにより、アプリケーションサーバ10のアプリケーションの状態管理が可能となる。   In addition, after the processing of FIG. 4 is completed, when an application addition, replacement, or deletion update occurs due to maintenance work or failure handling in the application server 10, the update is performed in steps S102 and S103. By notifying only the application information, it is possible to update the application information from the proxy process 11 to the proxy process 21. The same applies when the application 121 or the application 122 is interrupted or resumed. Thereby, the application state management of the application server 10 becomes possible.

また、プロキシプロセス11の停止においては、プロキシプロセス11の停止処理の直前に、プロキシプロセス11からプロキシプロセス21へプロセス情報131について停止される旨を通知することで、プロキシプロセス21において、管理情報記憶部23からプロセス情報131を削除等することにより、プロキシプロセスの状態管理を行うことも可能である。   In stopping the proxy process 11, immediately before the stop process of the proxy process 11, the proxy process 11 notifies the proxy process 21 that the process information 131 is stopped. It is also possible to manage the status of the proxy process by deleting the process information 131 from the unit 23.

また、上述したことは、アプリケーションサーバ20における、プロキシプロセス21、アプリケーション221、及びアプリケーション222についても同様の処理により状態管理が行えるであることは勿論である。   Further, as described above, the proxy server 21, the application 221, and the application 222 in the application server 20 can be managed by the same process.

図5は、プロキシプロセスによるアプリケーション実行処理を示すフローチャート図である。ここでは、プロキシプロセス11がWebサーバ30からのサービス提供要求を受信するものとする。また、図4で示すようなプロキシプロセス11とプロキシプロセス21の間でプロセス情報、及びアプリケーション情報の同期が完了しているものとする。   FIG. 5 is a flowchart showing application execution processing by the proxy process. Here, it is assumed that the proxy process 11 receives a service provision request from the Web server 30. Further, it is assumed that the process information and application information are synchronized between the proxy process 11 and the proxy process 21 as shown in FIG.

まず、プロキシプロセス11は、Webサーバ30からサービス提供要求を受信する(S11)。次に、プロキシプロセス11は、当該サービス提供要求に基づき、アプリケーション情報、及び他のプロセス情報を取得する(S12)。具体的には、プロキシプロセス11は、メモリ16からアプリケーション情報テーブル162に格納されたアプリケーション情報132、及びアプリケーション情報232を取得する。そして、プロキシプロセス11は、アプリケーション情報232に対応するプロキシプロセスのIDからプロセス情報231を取得する。   First, the proxy process 11 receives a service provision request from the Web server 30 (S11). Next, the proxy process 11 acquires application information and other process information based on the service provision request (S12). Specifically, the proxy process 11 acquires application information 132 and application information 232 stored in the application information table 162 from the memory 16. The proxy process 11 acquires the process information 231 from the proxy process ID corresponding to the application information 232.

その後、プロキシプロセス11はステップS13、及びS14を並行して行う。まず、プロキシプロセス11は、自己のアプリケーションを実行させる(S13)。すなわち、プロキシプロセス11は、アプリケーション情報132に基づき、アプリケーション121、及びアプリケーション122を並列実行させる。   Thereafter, the proxy process 11 performs steps S13 and S14 in parallel. First, the proxy process 11 executes its own application (S13). That is, the proxy process 11 causes the application 121 and the application 122 to be executed in parallel based on the application information 132.

また、プロキシプロセス11は、他のプロキシプロセスが管理するアプリケーションについて、当該アプリケーションの実行依頼をする(S14)。すなわち、プロキシプロセス11は、アプリケーション情報232に基づき、アプリケーション221、及びアプリケーション222を並列実行させるように、プロセス情報231に基づき、プロキシプロセス21へ実行依頼を送信する。   The proxy process 11 requests execution of the application managed by another proxy process (S14). That is, the proxy process 11 transmits an execution request to the proxy process 21 based on the process information 231 so that the application 221 and the application 222 are executed in parallel based on the application information 232.

尚、ステップS14を受けて、プロキシプロセス21は、受信したアプリケーション情報232に基づき、アプリケーション221、及びアプリケーション222を並列実行させる。そして、プロキシプロセス21は、アプリケーション221、及びアプリケーション222の実行結果をプロキシプロセス11へ返信する。   In response to step S14, the proxy process 21 executes the application 221 and the application 222 in parallel based on the received application information 232. Then, the proxy process 21 returns the execution results of the application 221 and the application 222 to the proxy process 11.

その後、プロキシプロセス11は、それぞれ実行させたアプリケーションからの実行結果を受信する(S15)。すなわち、プロキシプロセス11は、アプリケーション221、及びアプリケーション222からそれぞれの実行結果を受信し、プロキシプロセス21を介して、アプリケーション221、及びアプリケーション222の実行結果を受信する。   Thereafter, the proxy process 11 receives an execution result from each executed application (S15). That is, the proxy process 11 receives the execution results from the application 221 and the application 222, and receives the execution results of the application 221 and the application 222 through the proxy process 21.

そして、プロキシプロセス11は、実行結果を集約し、Webサーバ30へ返信する(S16)。   Then, the proxy process 11 aggregates the execution results and returns them to the Web server 30 (S16).

これにより、本発明の実施の形態1にかかるプロキシプロセス11、及びプロキシプロセス21により、アプリケーションの分散実行が可能となる。   As a result, the proxy process 11 and the proxy process 21 according to the first exemplary embodiment of the present invention enable distributed execution of applications.

このように、本発明の実施の形態1にかかるアプリケーションサービス提供システム100により、アプリケーションサーバ10、及びアプリケーションサーバ20で稼働するプロキシプロセス11、及びプロキシプロセス21のいずれかにより、サービス提供要求を処理することができる。また、プロキシプロセス11とプロキシプロセス21の間でプロセス情報、及びアプリケーション情報を同期できるため、アプリケーションサーバ10と同等の構成を有する他のアプリケーションサーバを追加、変更、削除した場合であっても、システムを止めることなく稼働することができる。そのため、本発明の実施の形態1により、システムの可用性を維持しつつ、複数のアプリケーションサーバ間のメンテナンスを容易とすることができる。   As described above, the application service providing system 100 according to the first exemplary embodiment of the present invention processes the service provision request by any one of the proxy process 11 and the proxy process 21 running on the application server 10 and the application server 20. be able to. In addition, since process information and application information can be synchronized between the proxy process 11 and the proxy process 21, even if another application server having the same configuration as the application server 10 is added, changed, or deleted, the system It can operate without stopping. Therefore, according to the first embodiment of the present invention, maintenance between a plurality of application servers can be facilitated while maintaining system availability.

発明の実施の形態2.
続いて、本発明の実施の形態2にかかるアプリケーション移行方法の実施例を以下に例示する。本発明の実施の形態2では、本発明の実施の形態1で例示したアプリケーションサービス提供システム100の変形例として、一つのサービス提供要求に対して実行されるアプリケーションがあるアプリケーションサーバにおいて当該アプリケーションが実行中であっても、他のアプリケーションサーバへ移行して継続して処理を実行するためのアプリケーション移行方法である。例えば、一つのサービス提供要求に対して複数の異なるアプリケーションを複数のアプリケーションサーバにおいて並列実行する場合、一方のアプリケーションサーバで実行されるアプリケーションは、他方のアプリケーションサーバには予め導入されているとは限らない。その場合、単に他方のアプリケーションサーバへ当該アプリケーションを導入するだけでは、実行中の当該アプリケーションの処理を継続することはできない。それは、アプリケーションサーバにおいて、当該アプリケーションの実行時にメモリ上に内部情報が生成されるためである。ここで、内部情報とは、例えば、当該アプリケーションの実行時の内部変数、一時的に保存するデータや、当該アプリケーション起動時のセッションID等の起動毎に異なる入力値等である。そこで、本発明の実施の形態2では、システムの可用性を確保しつつ、アプリケーションの実行時にメモリ上に生成される内部情報を含めて、他のアプリケーションサーバに移行する方法を示す。
Embodiment 2 of the Invention
Subsequently, an example of the application migration method according to the second exemplary embodiment of the present invention will be exemplified below. In the second embodiment of the present invention, as a modification of the application service providing system 100 illustrated in the first embodiment of the present invention, the application is executed in an application server that has an application executed in response to one service provision request. Even in the middle, it is an application migration method for migrating to another application server and continuously executing processing. For example, when a plurality of different applications are executed in parallel on a plurality of application servers in response to one service provision request, the application executed on one application server is not always introduced in advance on the other application server. Absent. In that case, the processing of the application being executed cannot be continued simply by introducing the application to the other application server. This is because internal information is generated on the memory when the application is executed in the application server. Here, the internal information is, for example, an internal variable at the time of execution of the application, data to be temporarily stored, an input value that is different for each activation such as a session ID at the time of activation of the application, or the like. Therefore, Embodiment 2 of the present invention shows a method of migrating to another application server including internal information generated on a memory when executing an application while ensuring system availability.

図6は、本発明の実施の形態2にかかるアプリケーションサービス提供システム200の構成の一例を示すブロック図である。アプリケーションサービス提供システム200は、図1に比べ、アプリケーションサーバ10、及びアプリケーションサーバ20が移行元アプリケーションサーバ10a、及び移行先アプリケーションサーバ20aに変更されたものである。そして、移行元アプリケーションサーバ10aは、アプリケーション123と、移行手段18を備え、移行先アプリケーションサーバ20aは、アプリケーション223と、移行手段28とを備える。尚、その他の構成については、図1と同様のため、説明を省略する。以下では、図1との違いについてのみ説明する。   FIG. 6 is a block diagram showing an example of the configuration of the application service providing system 200 according to the second exemplary embodiment of the present invention. In the application service providing system 200, the application server 10 and the application server 20 are changed to a migration source application server 10a and a migration destination application server 20a as compared to FIG. The migration source application server 10 a includes an application 123 and a migration unit 18, and the migration destination application server 20 a includes an application 223 and a migration unit 28. Other configurations are the same as those in FIG. Only the differences from FIG. 1 will be described below.

アプリケーション123は、アプリケーション223とは別機能のアプリケーションソフトウェアである。但し、アプリケーション123、及びアプリケーション223は、それぞれ起動時に当該アプリケーションのメモリ上の実行状態である内部情報がファイル出力された内部情報出力ファイルが存在する場合、当該内部情報出力ファイルを読み込み、実行することが可能である。また、アプリケーション123、及びアプリケーション223は、処理の中断指示を受け付け、中断時のメモリ上の内部情報をファイル出力することが可能である。   The application 123 is application software having a function different from that of the application 223. However, the application 123 and the application 223 read and execute the internal information output file when there is an internal information output file in which the internal information in the execution state on the memory of the application is output as a file when starting up. Is possible. In addition, the application 123 and the application 223 can receive a process interruption instruction and output the internal information on the memory at the time of interruption to a file.

アプリケーション123は、プロキシプロセス11により起動され、ここでは、アプリケーション情報132は、アプリケーション123に関する情報である。同様に、アプリケーション223は、プロキシプロセス21により起動され、ここでは、アプリケーション情報232は、アプリケーション223に関する情報である。尚、移行元アプリケーションサーバ10a、及び移行先アプリケーションサーバ20aで稼働するアプリケーションの数はこれに限定されない。   The application 123 is activated by the proxy process 11, and the application information 132 is information related to the application 123 here. Similarly, the application 223 is activated by the proxy process 21, and the application information 232 is information related to the application 223 here. The number of applications running on the migration source application server 10a and the migration destination application server 20a is not limited to this.

移行手段18は、アプリケーション123の実行コード、設定パラメータファイル、内部情報ファイルを移行先アプリケーションサーバ20aへ送信する処理、及び、アプリケーション123の中断、又は再開の旨をプロキシプロセス11へ通知する処理を行うアプリケーションソフトウェアである。また、移行手段28は、移行手段18から送信された各種情報を受信する処理、及び、移行手段18と同様の通知する処理を行うアプリケーションソフトウェアである。尚、移行手段18、及び移行手段28は同機能のアプリケーションソフトウェアであればよい。   The migration unit 18 performs a process of transmitting the execution code, setting parameter file, and internal information file of the application 123 to the migration destination application server 20a, and a process of notifying the proxy process 11 that the application 123 has been suspended or resumed. Application software. The migration unit 28 is application software that performs a process of receiving various information transmitted from the migration unit 18 and a notification process similar to that of the migration unit 18. The transfer means 18 and the transfer means 28 may be application software having the same function.

図7は、本発明の実施の形態2にかかるアプリケーションサーバ10aの構成を示すブロック図である。尚、アプリケーションサーバ20aの構成は、図7と同様のため、図示、及び説明を省略する。移行元アプリケーションサーバ10aは、図2のアプリケーションサーバ10と比べ、メモリ16、及びハードディスク17がメモリ16a、及びハードディスク17aに置き換わったものである。尚、その他の構成については、図2と同様のため、説明を省略する。以下では、図2との違いについてのみ説明する。   FIG. 7 is a block diagram showing a configuration of the application server 10a according to the second embodiment of the present invention. The configuration of the application server 20a is the same as that shown in FIG. The migration source application server 10a is obtained by replacing the memory 16 and the hard disk 17 with the memory 16a and the hard disk 17a as compared with the application server 10 of FIG. Other configurations are the same as those shown in FIG. Only the differences from FIG. 2 will be described below.

メモリ16aは、メモリ16と比べ、実行コード163と、パラメータ164と、実行中の内部情報165とをさらに記憶する揮発性の記憶装置である。また、ハードディスク17aは、ハードディスク17と比べ、アプリケーションプログラム172がアプリケーションプログラム172aに置き換わり、パラメータファイル173と、中断時の内部情報出力ファイル174と、移行プログラム175とをさらに記憶する不揮発性の記憶装置である。   Compared with the memory 16, the memory 16 a is a volatile storage device that further stores an execution code 163, a parameter 164, and internal information 165 being executed. The hard disk 17a is a non-volatile storage device that stores the parameter file 173, the internal information output file 174 at the time of interruption, and the migration program 175, as compared with the hard disk 17, with the application program 172 replaced with the application program 172a. is there.

アプリケーションプログラム172aは、図6のアプリケーション123の処理が記述された実行コードである。また、パラメータファイル173は、アプリケーションプログラム172aの起動時の入力となる設定値の集合が記述されたファイルである。アプリケーションプログラム172a、及びパラメータファイル173は、制御部14によりハードディスク17aから読み込まれ、実行コード163、及びパラメータ164としてメモリ16aへ格納されることにより、アプリケーション123として実行される。このとき、アプリケーション123が実行されることにより、メモリ16aにアプリケーション123の実行状態を示す実行中の内部情報165が生成される。また、中断時の内部情報出力ファイル174は、アプリケーション123の中断時に実行中の内部情報165がメモリ16aからハードディスク17aへ出力されたものである。   The application program 172a is an execution code describing the processing of the application 123 in FIG. The parameter file 173 is a file in which a set of setting values to be input when the application program 172a is started is described. The application program 172 a and the parameter file 173 are read from the hard disk 17 a by the control unit 14, stored in the memory 16 a as the execution code 163 and the parameter 164, and executed as the application 123. At this time, by executing the application 123, internal information 165 being executed indicating the execution state of the application 123 is generated in the memory 16a. The internal information output file 174 at the time of interruption is a file in which internal information 165 being executed when the application 123 is interrupted is output from the memory 16a to the hard disk 17a.

移行プログラム175は、図6の移行手段18の処理が記述された実行コードである。移行プログラム175は、制御部14によりハードディスク17aから読み込まれ、メモリ16aに格納されることにより、移行手段18として実行される。   The migration program 175 is an execution code describing the processing of the migration means 18 in FIG. The migration program 175 is executed as the migration means 18 by being read from the hard disk 17a by the control unit 14 and stored in the memory 16a.

図8は、本発明の実施の形態2にかかるアプリケーションの処理を示すフローチャート図である。ここでは、移行元アプリケーションサーバ10aにおいて実行されるアプリケーション123について例示するが、移行先アプリケーションサーバ20aにおいて実行されるアプリケーション223についても同様の処理となる。   FIG. 8 is a flowchart showing application processing according to the second embodiment of the present invention. Although the application 123 executed in the migration source application server 10a is illustrated here, the same processing is performed for the application 223 executed in the migration destination application server 20a.

まず、アプリケーション123は、起動時に、パラメータファイル173、及び中断時の内部情報出力ファイル174を入力とする(S21)。すなわち、制御部14は、ハードディスク17aからアプリケーションプログラム172aを読み込み、メモリ16aへ格納することで、アプリケーション123として起動する。そして、アプリケーション123は、ハードディスク17aに格納されたパラメータファイル173、及び中断時の内部情報出力ファイル174を入力として、初期化処理を行う。尚、中断時の内部情報出力ファイル174がハードディスク17aに存在しない場合は、アプリケーション123は、パラメータファイル173に含まれるデフォルト値を用いて初期処理を行う。   First, the application 123 receives as input the parameter file 173 and the internal information output file 174 at the time of interruption (S21). In other words, the control unit 14 starts up as the application 123 by reading the application program 172a from the hard disk 17a and storing it in the memory 16a. Then, the application 123 receives the parameter file 173 stored in the hard disk 17a and the internal information output file 174 at the time of interruption as input, and performs an initialization process. If the internal information output file 174 at the time of interruption does not exist in the hard disk 17a, the application 123 performs initial processing using default values included in the parameter file 173.

次に、アプリケーション123は、メインのアプリケーションの処理を実行する(S22)。尚、ステップS22は、アプリケーション毎に処理内容が異なる。   Next, the application 123 executes processing of the main application (S22). Note that the processing content of step S22 differs for each application.

その後、アプリケーション123は、当該処理の中断するための中断指示の有無を確認する(S23)。すなわち、アプリケーション123は、外部からの中断指示の入力を受け付けるインタフェースを備えており、任意のタイミングで、当該中断指示の有無を確認する。中断指示がないと判定された場合、ステップS22へ戻り、中断指示があると判定された場合、ステップS24へ進む。   Thereafter, the application 123 confirms whether or not there is an interruption instruction for interrupting the processing (S23). That is, the application 123 includes an interface that accepts an input of an interruption instruction from the outside, and confirms the presence or absence of the interruption instruction at an arbitrary timing. If it is determined that there is no interruption instruction, the process returns to step S22. If it is determined that there is an interruption instruction, the process proceeds to step S24.

アプリケーション123は、処理の中断を行う(S24)。例えば、プロキシプロセス11により実行中の処理に対して割り込みを発生させて、当該処理を中断する。   The application 123 interrupts the process (S24). For example, an interrupt is generated for the process being executed by the proxy process 11, and the process is interrupted.

その後、アプリケーション123は、中断時の内部情報をファイル出力する(S25)。すなわち、アプリケーション123は、メモリ16aに格納された実行中の内部情報165を読み出し、ハードディスク17aへ中断時の内部情報出力ファイル174として格納する。   Thereafter, the application 123 outputs the internal information at the time of interruption as a file (S25). That is, the application 123 reads the internal information 165 being executed stored in the memory 16a, and stores it in the hard disk 17a as an internal information output file 174 at the time of interruption.

図9は、本発明の実施の形態2にかかるアプリケーション移行方法を示すシーケンス図である。ここでは、移行手段18、及び移行手段28により、移行元アプリケーションサーバ10aで実行中のアプリケーション123を移行先アプリケーションサーバ20aへ移行する例を説明する。   FIG. 9 is a sequence diagram showing an application migration method according to the second embodiment of the present invention. Here, an example in which the migration unit 18 and the migration unit 28 migrate the application 123 being executed on the migration source application server 10a to the migration destination application server 20a will be described.

まず、移行手段18は、アプリケーションプログラム172a、及びパラメータファイル173を移行手段28へ送信する(S201)。すなわち、移行手段18は、アプリケーション123が実行中の状態において、アプリケーション123の実行コード、及びパラメータであるアプリケーションプログラム172a、及びパラメータファイル173をハードディスク17aから読み出し、通信部15から移行先アプリケーションサーバ20aへ送信する。また、このとき、移行先アプリケーションサーバ20aでは、移行手段28がアプリケーションプログラム172a、及びパラメータファイル173を受信し、移行先アプリケーションサーバ20a内のハードディスク(不図示)へ格納する。   First, the migration unit 18 transmits the application program 172a and the parameter file 173 to the migration unit 28 (S201). In other words, the migration unit 18 reads the execution code of the application 123, the application program 172a that is a parameter, and the parameter file 173 from the hard disk 17a while the application 123 is being executed, and transfers the communication unit 15 to the migration destination application server 20a. Send. At this time, in the migration destination application server 20a, the migration unit 28 receives the application program 172a and the parameter file 173, and stores them in the hard disk (not shown) in the migration destination application server 20a.

次に、移行手段18は、実行中のアプリケーション123に中断指示を行う(S202)。このとき、アプリケーション123は、図8のステップS23により、中断指示ありと判定され、ステップS24によりアプリケーション123の処理が中断される。また、これにより、メモリ16a上の実行中の内部情報165の更新がなくなる。   Next, the migration unit 18 gives an interruption instruction to the running application 123 (S202). At this time, the application 123 is determined to have an interruption instruction in step S23 of FIG. 8, and the processing of the application 123 is interrupted in step S24. As a result, the internal information 165 being executed on the memory 16a is not updated.

そして、移行手段18は、プロキシプロセス11へアプリケーション123の処理が中断した旨を通知する(S203)。このとき、プロキシプロセス11は、管理情報記憶部13に格納されたアプリケーション情報132を更新する。そのため、プロキシプロセス11は、以後のサービス提供要求に対して、アプリケーション123を実行させない。また、プロキシプロセス11は、更新されたアプリケーション情報132を他のプロキシプロセスへ通知する。これにより、以後のサービス提供要求において、プロキシプロセス11以外のプロキシプロセスが窓口となった場合でも、アプリケーション123が移行元アプリケーションサーバ10aにおいては実行できないことが伝わるため、アプリケーション123についての実行依頼はプロキシプロセス11には来ない。   Then, the migration unit 18 notifies the proxy process 11 that the processing of the application 123 has been interrupted (S203). At this time, the proxy process 11 updates the application information 132 stored in the management information storage unit 13. Therefore, the proxy process 11 does not execute the application 123 in response to subsequent service provision requests. Further, the proxy process 11 notifies the updated application information 132 to other proxy processes. Thus, in subsequent service provision requests, even if a proxy process other than the proxy process 11 serves as a window, it is transmitted that the application 123 cannot be executed on the migration source application server 10a. Do not come to process 11.

また、アプリケーション123は、中断時のアプリケーション123の内部情報をハードディスク17aへ保存する(S204)。すなわち、図8のステップS25と同様に、アプリケーション123は、メモリ16aに格納された実行中の内部情報165をハードディスク17aに中断時の内部情報出力ファイル174として格納する。尚、ステップS203、S204は、並列実行されて構わない。   Further, the application 123 saves the internal information of the application 123 at the time of interruption to the hard disk 17a (S204). That is, as in step S25 of FIG. 8, the application 123 stores the internal information 165 being executed stored in the memory 16a as the internal information output file 174 at the time of interruption in the hard disk 17a. Note that steps S203 and S204 may be executed in parallel.

その後、移行手段18は、中断時の内部情報出力ファイル174を移行手段28へ送信する(S205)。すなわち、移行手段18は、アプリケーション123が中断後の状態において、アプリケーション123の内部情報である中断時の内部情報出力ファイル174をハードディスク17aから読み出し、通信部15から移行先アプリケーションサーバ20aへ送信する。また、このとき、移行先アプリケーションサーバ20aでは、移行手段28が中断時の内部情報出力ファイル174を受信し、移行先アプリケーションサーバ20a内のハードディスクへ格納する。これにより、移行先アプリケーションサーバ20aには、アプリケーション123を実行するための実行コード、パラメータ、及び内部情報が取得されたことになる。   Thereafter, the migration unit 18 transmits the internal information output file 174 at the time of interruption to the migration unit 28 (S205). That is, the migration unit 18 reads the internal information output file 174 at the time of interruption, which is internal information of the application 123, from the hard disk 17a in the state after the application 123 is interrupted, and transmits it from the communication unit 15 to the destination application server 20a. At this time, in the migration destination application server 20a, the migration means 28 receives the internal information output file 174 at the time of interruption and stores it in the hard disk in the migration destination application server 20a. As a result, the execution code, parameters, and internal information for executing the application 123 are acquired in the migration destination application server 20a.

そして、移行手段28は、内部情報に基づいて、アプリケーションの実行を再開する(S206)。すなわち、図8のステップS21と同様にして、移行先アプリケーションサーバ20aにおいて、アプリケーション123が起動される。そして、このとき、移行元アプリケーションサーバ10aにおける中断時のメモリ16a内の実行中の内部情報165に相当する中断時の内部情報出力ファイル174を読み込み、中断時点の処理から継続して再開される。   Then, the migration unit 28 resumes execution of the application based on the internal information (S206). That is, the application 123 is activated in the migration destination application server 20a in the same manner as in step S21 in FIG. At this time, the internal information output file 174 at the time of interruption corresponding to the internal information 165 being executed in the memory 16a at the time of interruption in the migration source application server 10a is read and resumed from the processing at the time of interruption.

最後に、移行手段28は、プロキシプロセス21へアプリケーション123の処理が再開した旨を通知する(S207)。このとき、プロキシプロセス21は、管理情報記憶部23に格納されたアプリケーション情報132を更新する。そのため、プロキシプロセス21は、以後のサービス提供要求に対して、アプリケーション123を実行させることができる。また、プロキシプロセス21は、更新されたアプリケーション情報132を他のプロキシプロセスへ通知する。以後のサービス提供要求において窓口となったプロキシプロセスにも、アプリケーション123が移行先アプリケーションサーバ20aにおいて実行可能となったことが伝わる為、アプリケーション123についての実行依頼がプロキシプロセス21にされることとなる。   Finally, the migration unit 28 notifies the proxy process 21 that the processing of the application 123 has been resumed (S207). At this time, the proxy process 21 updates the application information 132 stored in the management information storage unit 23. Therefore, the proxy process 21 can execute the application 123 in response to a subsequent service provision request. In addition, the proxy process 21 notifies the updated application information 132 to other proxy processes. Since the proxy process that has become the window for subsequent service provision requests is also informed that the application 123 can be executed in the migration destination application server 20a, an execution request for the application 123 is sent to the proxy process 21. .

このように、本発明の実施の形態2にかかるアプリケーション移行方法により、アプリケーション123の処理の中断を図9のステップS202乃至S206の期間とすることができる。   As described above, by the application migration method according to the second exemplary embodiment of the present invention, the interruption of the process of the application 123 can be set to the period of steps S202 to S206 in FIG.

一般的に、アプリケーションの実行環境としては、実行コード、パラメータ、及び内部情報が存在する。この中で、実行コードであるアプリケーションプログラム172a、及びパラメータであるパラメータファイル173は、アプリケーション123の起動前からハードディスク17aに格納済みであり、通常の実行においては更新されない。また、内部情報である実行中の内部情報165は、通常の実行においてメモリ16a上に生成、及び更新され、アプリケーション123の実行終了後は、メモリ16aから削除され、残されない。しかしながら、アプリケーション123の実行状態として必要なものであるため、実行中のアプリケーション123を移行するためには、併せて移行する必要がある。   Generally, an execution code, parameters, and internal information exist as an execution environment of an application. Among them, the application program 172a that is an execution code and the parameter file 173 that is a parameter are already stored in the hard disk 17a before the application 123 is started, and are not updated in normal execution. The internal information 165 being executed, which is internal information, is generated and updated on the memory 16a in normal execution, and is deleted from the memory 16a and not left after the execution of the application 123 is completed. However, since it is necessary as the execution state of the application 123, it is necessary to migrate together in order to migrate the application 123 being executed.

そのため、実行中のアプリケーション123の処理を継続したまま移行するためには、実行コード163、パラメータ164、及び実行中の内部情報165をセットにして、移行する必要がある。また、実行中の内部情報165は、アプリケーション123が中断した後でなければ、データ内容が確定できない。よって、本来であればアプリケーション123の中断後に、実行中の内部情報165をファイル出力し、これらをまとめて送信する必要がある。そのため、送信時間が長くなり、システムの中断時間も長くなり、可用性が低くなる。   Therefore, in order to migrate while continuing the processing of the application 123 being executed, it is necessary to migrate with the execution code 163, the parameter 164, and the internal information 165 being executed as a set. Further, the internal information 165 being executed cannot be confirmed unless the application 123 is interrupted. Therefore, if the application 123 is interrupted, it is necessary to output the internal information 165 being executed as a file and transmit them together. As a result, the transmission time becomes longer, the system interruption time becomes longer, and the availability becomes lower.

そこで、アプリケーション123の実行中であっても変更されないアプリケーションプログラム172a、及びパラメータファイル173については、図9のステップS201に示すように、アプリケーション123の中断前に、移行手段18により送信する。また、アプリケーション123の中断後でないとデータ内容が確定しない実行中の内部情報165については、図9のステップ202乃至S205に示すように、アプリケーション123の中断後に、中断時点での最新の内部情報をメモリ16aからハードディスク17aへファイル出力し、その後、送信することとした。これにより、実行コード、パラメータ、及び内部情報を併せて送信することに比べ、送信時間を短くすることができる。つまり、アプリケーションの中断時間を最小限に抑えることができる。   Therefore, the application program 172a and the parameter file 173 that are not changed even during the execution of the application 123 are transmitted by the migration unit 18 before the application 123 is interrupted, as shown in step S201 of FIG. In addition, as for the internal information 165 being executed for which the data contents are not determined until after the interruption of the application 123, as shown in steps 202 to S205 in FIG. A file is output from the memory 16a to the hard disk 17a and then transmitted. As a result, the transmission time can be shortened compared to transmitting the execution code, the parameter, and the internal information together. That is, the interruption time of the application can be minimized.

また、本発明の実施の形態2により、高価なRAID(Redundant Arrays of Inexpensive Disks)ディスクや、専用の高速ネットワークを用いる必要がなく、システムの可用性を維持することができる。そのため、本発明の実施の形態2により、システムの可用性を維持しつつ、複数のアプリケーションサーバ間のメンテナンスを容易とすることができる。   Further, according to the second embodiment of the present invention, it is not necessary to use an expensive RAID (Redundant Array of Inexpensive Disks) disk or a dedicated high-speed network, and the system availability can be maintained. Therefore, according to the second embodiment of the present invention, maintenance between a plurality of application servers can be facilitated while maintaining system availability.

その他の発明の実施の形態.
本発明の実施の形態1にかかるアプリケーションサービス提供システム100では、各アプリケーションサーバが同等の機能を有するものとしたがこれに限定されない。例えば、窓口となる窓口プロキシプロセスが実行されるアプリケーションサーバ以外のアプリケーションサーバについては、当該窓口プロキシプロセスからの実行依頼を受け付けて自己のアプリケーションを実行する機能と、自己のアプリケーション情報を当該プロキシプロセスへ通知する機能を有する従属プロキシプロセスを備えるサーバが複数存在してもよい。この場合、当該サーバにおける追加、削除については、窓口プロキシプロセスが管理することができ、従属プロキシプロセスを備えるサーバを柔軟に増設が可能となり、システムの可用性を維持しつつ、複数のアプリケーションサーバ間のメンテナンスを容易とすることができる。
Other Embodiments of the Invention
In the application service providing system 100 according to the first embodiment of the present invention, each application server has an equivalent function, but the present invention is not limited to this. For example, for an application server other than the application server that executes the window proxy process serving as the window, a function for receiving an execution request from the window proxy process and executing its own application and its application information to the proxy process There may be a plurality of servers including subordinate proxy processes having a function of notifying. In this case, the addition and deletion of the server can be managed by the window proxy process, and it is possible to flexibly add servers with subordinate proxy processes, and maintain the availability of the system while maintaining the availability of the system. Maintenance can be facilitated.

さらに、本発明は上述した実施の形態のみに限定されるものではなく、既に述べた本発明の要旨を逸脱しない範囲において種々の変更が可能であることは勿論である。   Furthermore, the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the gist of the present invention described above.

本発明の実施の形態1にかかるアプリケーションサービス提供システム100の構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the application service provision system 100 concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかるアプリケーションサーバ10の構成を示すブロック図である。It is a block diagram which shows the structure of the application server 10 concerning Embodiment 1 of this invention. 本発明の実施の形態1にかかる管理情報の一例を示す図である。(a)は、プロセステーブルの構成例を示す図である。(b)は、アプリケーションテーブルの構成例を示す図である。It is a figure which shows an example of the management information concerning Embodiment 1 of this invention. (A) is a figure which shows the structural example of a process table. (B) is a figure which shows the structural example of an application table. プロキシプロセスによる管理情報の更新処理を示すシーケンス図である。It is a sequence diagram which shows the update process of the management information by a proxy process. プロキシプロセスによるアプリケーション実行処理を示すフローチャート図である。It is a flowchart figure which shows the application execution process by a proxy process. 本発明の実施の形態2にかかるアプリケーションサービス提供システム200の構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the application service provision system 200 concerning Embodiment 2 of this invention. 本発明の実施の形態2にかかるアプリケーションサーバ10aの構成を示すブロック図である。It is a block diagram which shows the structure of the application server 10a concerning Embodiment 2 of this invention. 本発明の実施の形態2にかかるアプリケーションプログラムの処理を示すフローチャート図である。It is a flowchart figure which shows the process of the application program concerning Embodiment 2 of this invention. 本発明の実施の形態2にかかるアプリケーション移行方法を示すシーケンス図である。It is a sequence diagram which shows the application transfer method concerning Embodiment 2 of this invention.

符号の説明Explanation of symbols

100 アプリケーションサービス提供システム
10 アプリケーションサーバ
11 プロキシプロセス
121 アプリケーション
122 アプリケーション
13 管理情報記憶部
131 プロセス情報
132 アプリケーション情報
14 制御部
15 通信部
16 メモリ
161 プロセス情報テーブル
162 アプリケーション情報テーブル
17 ハードディスク
171 プロキシプロセスプログラム
172 アプリケーションプログラム
20 アプリケーションサーバ
21 プロキシプロセス
221 アプリケーション
222 アプリケーション
23 管理情報記憶部
231 プロセス情報
232 アプリケーション情報
30 Webサーバ
40 ネットワーク
50 端末
200 アプリケーションサービス提供システム
10a 移行元アプリケーションサーバ
123 アプリケーション
18 移行手段
20a 移行先アプリケーションサーバ
223 アプリケーション
28 移行手段
16a メモリ
163 実行コード
164 パラメータ
165 実行中の内部情報
17a ハードディスク
172a アプリケーションプログラム
173 パラメータファイル
174 中断時の内部情報出力ファイル
175 移行プログラム
DESCRIPTION OF SYMBOLS 100 Application service provision system 10 Application server 11 Proxy process 121 Application 122 Application 13 Management information storage part 131 Process information 132 Application information 14 Control part 15 Communication part 16 Memory 161 Process information table 162 Application information table 17 Hard disk 171 Proxy process program 172 Application Program 20 Application server 21 Proxy process 221 Application 222 Application 23 Management information storage unit 231 Process information 232 Application information 30 Web server 40 Network 50 Terminal 200 Application service providing system 10a Migration source application server 123 Application 18 Migration means 20a Destination application server 223 Application 28 Migration means 16a Memory 163 Execution code 164 Parameter 165 Internal information being executed 17a Hard disk 172a Application program 173 Parameter file 174 Internal information output file 175 migration program

Claims (19)

ネットワークを介したサービスの提供要求に対して、第1のアプリケーションサーバが第1のアプリケーションを、第2のアプリケーションサーバが第2のアプリケーションをそれぞれ実行することにより当該サービスを提供するアプリケーションサービス提供システムであって、
前記第1のアプリケーションサーバは、
前記第1のアプリケーション及び第2のアプリケーションに関するアプリケーション情報を記憶する管理情報記憶部と、
前記第1のアプリケーションサーバ及び前記第2のアプリケーションサーバを代表して前記提供要求を受信し、前記第1のアプリケーション及び第2のアプリケーションを実行させる第1のプロキシプロセスとを備え、
前記第1のプロキシプロセスは、
前記第2のアプリケーションサーバから前記第2のアプリケーションに関するアプリケーション情報を受信し、前記管理情報記憶部へ登録する登録手段と、
前記提供要求を受信し、前記管理情報記憶部に格納された前記第2のアプリケーションに関するアプリケーション情報に基づいて前記第2のアプリケーションサーバへ前記第2のアプリケーションの実行を依頼する実行依頼手段とを備え、
前記第2のアプリケーションサーバは、
前記第2のアプリケーションに関するアプリケーション情報を前記第1のアプリケーションサーバに対して送信する管理情報送信手段と、
前記実行依頼手段による依頼に基づき前記第2のアプリケーションを実行する実行手段とを備えるアプリケーションサービス提供システム。
An application service providing system that provides a service provision request by executing a first application by a first application server and a second application by a second application server in response to a service provision request via a network. There,
The first application server is
A management information storage unit for storing application information related to the first application and the second application;
A first proxy process that receives the provision request on behalf of the first application server and the second application server, and executes the first application and the second application;
The first proxy process is:
Registration means for receiving application information related to the second application from the second application server and registering it in the management information storage unit;
Execution request means for receiving the provision request and requesting the second application server to execute the second application based on application information relating to the second application stored in the management information storage unit; ,
The second application server is
Management information transmitting means for transmitting application information related to the second application to the first application server;
An application service providing system comprising: execution means for executing the second application based on a request from the execution request means.
前記第2のアプリケーションサーバは、
前記第1のアプリケーションサーバ及び前記第2のアプリケーションサーバを代表して前記提供要求を受信し、前記実行手段により前記第1のアプリケーション及び第2のアプリケーションを実行させる第2のプロキシプロセスをさらに備え、
前記管理情報送信手段は、前記第2のプロキシプロセスに関するプロセス情報を前記第1のプロキシプロセスへ送信し、
前記登録手段は、前記第2のプロキシプロセスから受信した前記プロセス情報を前記管理情報記憶部へ登録し、
前記実行依頼手段は、前記管理情報記憶部に格納された前記プロセス情報を参照し、前記第2のプロキシプロセスへ前記第2のアプリケーションの実行を依頼することを特徴とする、請求項1に記載のアプリケーションサービス提供システム。
The second application server is
A second proxy process that receives the provision request on behalf of the first application server and the second application server, and causes the execution means to execute the first application and the second application;
The management information transmitting means transmits process information related to the second proxy process to the first proxy process,
The registration means registers the process information received from the second proxy process in the management information storage unit,
The execution request unit refers to the process information stored in the management information storage unit, and requests the second proxy process to execute the second application. Application service providing system.
前記第1のプロキシプロセスは、前記登録手段により新規なプロセス情報が登録された場合、前記第2のプロキシプロセスへ前記第1のプロキシプロセスに関するプロセス情報、及び、前記第1のアプリケーションに関するアプリケーション情報を送信することを特徴とする、請求項2に記載のアプリケーションサービス提供システム。   When new process information is registered by the registration unit, the first proxy process sends process information related to the first proxy process and application information related to the first application to the second proxy process. The application service providing system according to claim 2, wherein transmission is performed. 前記第1のプロキシプロセスは、
前記第1のアプリケーション又は前記第2のアプリケーションが起動又は中断する旨の通知を受信した場合、前記管理情報記憶部において前記第1のアプリケーション又は前記第2のアプリケーションに関するアプリケーション情報を更新する更新手段をさらに備え、
前記更新手段により前記第1のアプリケーションに関するアプリケーション情報が更新された場合、前記管理情報記憶部に格納された当該更新されたアプリケーション情報を前記第2のプロキシプロセスへ送信することを特徴とする、請求項3に記載のアプリケーションサービス提供システム。
The first proxy process is:
Update means for updating application information related to the first application or the second application in the management information storage unit when receiving a notification that the first application or the second application is activated or interrupted In addition,
The application information related to the first application is updated by the updating means, and the updated application information stored in the management information storage unit is transmitted to the second proxy process. Item 4. The application service providing system according to Item 3.
前記実行依頼手段は、前記提供要求を受信した場合、前記管理情報記憶部に格納された前記第1のアプリケーションに関するアプリケーション情報に基づいて前記第1のアプリケーションを実行させることを特徴とする、請求項1乃至4のいずれか1項に記載のアプリケーションサービス提供システム。   The execution request unit, when receiving the provision request, causes the first application to be executed based on application information related to the first application stored in the management information storage unit. The application service providing system according to any one of 1 to 4. 前記第1のアプリケーションサーバは、
前記第1のアプリケーションの実行コード、及び設定パラメータを記憶するアプリケーション情報記憶部と、
前記第1のアプリケーションの処理を中断する前に、前記アプリケーション情報記憶部から前記第1のアプリケーションの実行コード、及び設定パラメータを取得し、前記第2のアプリケーションサーバへ送信する第1の送信手段と、
前記第1のアプリケーションの処理を中断した後に、前記第1のアプリケーションの実行状態を示す実行状態情報を前記第2のアプリケーションサーバへ送信する第2の送信手段と、をさらに備え、
前記第2のアプリケーションサーバは、
前記第1の送信手段から前記実行コード、及び前記設定パラメータを受信し、前記第2の送信手段から前記実行状態情報を受信し、前記実行状態情報に基づいて当該第1のアプリケーションの処理を再開する処理再開手段と、をさらに備える請求項1乃至5のいずれか1項に記載のアプリケーションサービス提供システム。
The first application server is
An application information storage unit that stores an execution code of the first application and a setting parameter;
First transmission means for obtaining an execution code and a setting parameter of the first application from the application information storage unit and transmitting them to the second application server before interrupting the processing of the first application; ,
Second transmission means for transmitting execution state information indicating an execution state of the first application to the second application server after interrupting the processing of the first application;
The second application server is
The execution code and the setting parameter are received from the first transmission unit, the execution state information is received from the second transmission unit, and the processing of the first application is resumed based on the execution state information. The application service providing system according to any one of claims 1 to 5, further comprising: a process resuming unit.
ネットワークを介したサービスの提供要求に対して、第1のアプリケーションサーバ及び第2のアプリケーションサーバによってアプリケーションを実行することにより当該サービスを提供するアプリケーションサービス提供システムであって、
前記第1のアプリケーションサーバは、
前記アプリケーションの実行コード、及び設定パラメータを記憶するアプリケーション情報記憶部と、
前記アプリケーションの処理を中断する前に、前記アプリケーション情報記憶部から前記アプリケーションの実行コード、及び設定パラメータを取得し、前記第2のアプリケーションサーバへ送信する第1の送信手段と、
前記アプリケーションの処理を中断した後に、前記アプリケーションの実行状態を示す実行状態情報を前記第2のアプリケーションサーバへ送信する第2の送信手段と、を備え、
前記第2のアプリケーションサーバは、
前記第1の送信手段から前記実行コード、及び前記設定パラメータを受信し、前記第2の送信手段から前記実行状態情報を受信し、前記実行状態情報に基づいて当該アプリケーションの処理を再開する処理再開手段と、を備えるアプリケーションサービス提供システム。
An application service providing system for providing a service by executing an application with a first application server and a second application server in response to a service provision request via a network,
The first application server is
An application information storage unit that stores an execution code of the application and setting parameters;
Before interrupting the processing of the application, first transmission means for acquiring the execution code of the application and setting parameters from the application information storage unit, and transmitting to the second application server;
And second transmission means for transmitting execution state information indicating an execution state of the application to the second application server after interrupting the processing of the application,
The second application server is
Process resumption of receiving the execution code and the setting parameter from the first transmission unit, receiving the execution state information from the second transmission unit, and resuming processing of the application based on the execution state information Means for providing an application service.
前記第1のアプリケーションサーバは、
前記アプリケーションの実行を管理する第1のプロキシプロセスと、
前記アプリケーションの処理を中断した旨を前記第1のプロキシプロセスへ通知する中断通知手段と、をさらに備え、
前記第2のアプリケーションサーバは、
前記アプリケーションの実行を管理する第2のプロキシプロセスと、
前記処理再開手段により当該アプリケーションの処理を再開した旨を前記第2のプロキシプロセスへ通知する再開通知手段と、をさらに備える請求項7に記載のアプリケーションサービス提供システム。
The first application server is
A first proxy process that manages execution of the application;
An interruption notification means for notifying the first proxy process that the processing of the application has been interrupted;
The second application server is
A second proxy process that manages execution of the application;
The application service providing system according to claim 7, further comprising: restart notification means for notifying the second proxy process that the processing of the application has been restarted by the processing restarting means.
前記第1のアプリケーションサーバは、
前記アプリケーションの処理を中断した後に、当該アプリケーションの実行状態情報を前記アプリケーション情報記憶部へ格納する実行状態情報格納手段をさらに備え、
前記第2の送信手段は、前記実行状態情報格納手段により格納された当該アプリケーションの実行状態情報を前記アプリケーション情報記憶部から取得して、前記第2のアプリケーションサーバへ送信することを特徴とする、請求項7又は8に記載のアプリケーションサービス提供システム。
The first application server is
After interrupting the processing of the application, further comprising execution state information storage means for storing the execution state information of the application in the application information storage unit,
The second transmission means acquires the execution state information of the application stored by the execution state information storage means from the application information storage unit, and transmits it to the second application server. The application service providing system according to claim 7 or 8.
前記第1の送信手段は、前記アプリケーションを前記第2のアプリケーションサーバへ移行する指示に応じて実行されることを特徴とする、請求項7乃至9のいずれか1項に記載のアプリケーションサービス提供システム。   10. The application service providing system according to claim 7, wherein the first transmission unit is executed in response to an instruction to migrate the application to the second application server. 11. . ネットワークを介したサービスの提供要求に対して、第1のアプリケーションサーバが第1のアプリケーションを、第2のアプリケーションサーバが第2のアプリケーションをそれぞれ実行することにより当該サービスを提供するアプリケーションサービス提供方法であって、
前記第2のアプリケーションサーバから前記第1のアプリケーションサーバへ前記第2のアプリケーションに関するアプリケーション情報を送信する管理情報送信ステップと、
前記第1のアプリケーションサーバにおいて、前記送信するステップにより送信された前記第2のアプリケーションに関するアプリケーション情報を受信し、当該アプリケーション情報を管理情報記憶部へ登録する登録ステップと、
前記第1のアプリケーションサーバにおいて、前記第1のアプリケーションサーバ及び前記第2のアプリケーションサーバを代表して前記提供要求を受信し、前記管理情報記憶部に格納された前記第2のアプリケーションに関するアプリケーション情報に基づいて前記第2のアプリケーションサーバへ前記第2のアプリケーションの実行を依頼する実行依頼ステップと、
前記第2のアプリケーションサーバにおいて、前記実行依頼ステップによる依頼に基づき前記第2のアプリケーションを実行する実行ステップとを備えるアプリケーションサービス提供方法。
An application service providing method for providing a service by a first application server executing a first application and a second application server executing a second application in response to a service provision request via a network. There,
A management information transmission step of transmitting application information related to the second application from the second application server to the first application server;
In the first application server, a registration step of receiving application information related to the second application transmitted in the transmitting step and registering the application information in a management information storage unit;
The first application server receives the provision request on behalf of the first application server and the second application server, and stores application information related to the second application stored in the management information storage unit. An execution requesting step for requesting the second application server to execute the second application based on the second application server,
An application service providing method comprising: an execution step of executing the second application based on a request by the execution request step in the second application server.
前記管理情報送信ステップは、前記第2のアプリケーションサーバにおいて前記実行手段により前記第2のアプリケーションを実行させるプロキシプロセスに関するプロセス情報をさらに送信し、
前記登録ステップは、前記プロキシプロセスに関するプロセス情報を受信し、当該プロセス情報を前記管理情報記憶部へ登録し、
前記実行依頼ステップは、前記管理情報記憶部に格納された前記プロセス情報を参照し、前記プロキシプロセスへ前記第2のアプリケーションの実行を依頼することを特徴とする、請求項11に記載のアプリケーションサービス提供方法。
The management information transmission step further transmits process information related to a proxy process that causes the execution unit to execute the second application in the second application server,
The registration step receives process information related to the proxy process, registers the process information in the management information storage unit,
12. The application service according to claim 11, wherein the execution requesting step refers to the process information stored in the management information storage unit and requests the proxy process to execute the second application. How to provide.
前記登録ステップにより新規なプロセス情報が登録された場合、前記管理情報記憶部に格納された前記第1のアプリケーションサーバにおいて前記第1のアプリケーションを実行させるプロキシプロセスに関するプロセス情報、及び、前記第1のアプリケーションに関するアプリケーション情報を送信する送信ステップをさらに備える、請求項12に記載のアプリケーションサービス提供方法。   When new process information is registered by the registration step, process information relating to a proxy process for executing the first application in the first application server stored in the management information storage unit, and the first The application service providing method according to claim 12, further comprising a transmission step of transmitting application information related to the application. 前記第1のアプリケーション又は前記第2のアプリケーションが起動又は中断する旨の通知を受信した場合、前記管理情報記憶部において前記第1のアプリケーション又は前記第2のアプリケーションに関するアプリケーション情報を更新する更新ステップをさらに備え、
前記送信ステップは、前記更新ステップにより前記第1のアプリケーションに関するアプリケーション情報が更新された場合、前記管理情報記憶部に格納された当該更新されたアプリケーション情報を送信することを特徴とする、請求項13に記載のアプリケーションサービス提供方法。
An update step of updating application information related to the first application or the second application in the management information storage unit when the notification that the first application or the second application is activated or interrupted is received. In addition,
The transmission step transmits the updated application information stored in the management information storage unit when application information related to the first application is updated by the updating step. Application service providing method described in 1.
前記実行依頼ステップは、前記第1のアプリケーションサーバにおいて、前記提供要求を受信した場合、前記管理情報記憶部に格納された前記第1のアプリケーションに関するアプリケーション情報に基づいて前記第1のアプリケーションを実行させることを特徴とする、請求項11乃至14のいずれか1項に記載のアプリケーションサービス提供方法。   The execution requesting step causes the first application server to execute the first application based on application information related to the first application stored in the management information storage unit when the provision request is received by the first application server. 15. The application service providing method according to claim 11, wherein the application service is provided. ネットワークを介したサービスの提供要求に対して、第1のアプリケーションサーバ及び第2のアプリケーションサーバによってアプリケーションを実行することにより当該サービスを提供するアプリケーションサービス提供システムにおけるアプリケーション移行方法であって、
前記アプリケーションの処理を中断する前に、前記アプリケーションの実行コード、及び設定パラメータを前記第2のアプリケーションサーバへ送信する第1の送信ステップと、
前記アプリケーションの処理を中断した後に、前記アプリケーションの実行状態を示す実行状態情報を前記第2のアプリケーションサーバへ送信する第2の送信ステップと、
前記第1の送信ステップから前記実行コード、及び前記設定パラメータを受信し、前記第2の送信ステップから前記実行状態情報を受信し、前記実行状態情報に基づいて当該アプリケーションの処理を再開する処理再開ステップと、を備えるアプリケーション移行方法。
An application migration method in an application service providing system for providing a service by executing an application by a first application server and a second application server in response to a service provision request via a network,
A first transmission step of transmitting the execution code of the application and setting parameters to the second application server before interrupting the processing of the application;
A second transmission step of transmitting execution state information indicating an execution state of the application to the second application server after interrupting the processing of the application;
Process resumption of receiving the execution code and the setting parameter from the first transmission step, receiving the execution state information from the second transmission step, and resuming processing of the application based on the execution state information And an application migration method comprising steps.
前記アプリケーションの処理を中断した旨を前記第1のアプリケーションサーバにおいて前記アプリケーションの実行を管理するプロキシプロセスへ通知する中断通知ステップと、
前記処理再開ステップにより当該アプリケーションの処理を再開した旨を前記第2のアプリケーションサーバにおいて前記アプリケーションの実行を管理するプロキシプロセスへ通知する再開通知手段ステップと、をさらに備える請求項16に記載のアプリケーション移行方法。
An interruption notification step of notifying the proxy process that manages the execution of the application in the first application server that the processing of the application has been interrupted;
The application transition according to claim 16, further comprising: a restart notifying unit that notifies the proxy process that manages the execution of the application in the second application server that the processing of the application has been restarted by the process restarting step. Method.
前記アプリケーションの処理を中断した後に、当該アプリケーションの実行状態情報をアプリケーション情報記憶部へ格納する実行状態情報格納ステップをさらに備え、
前記第2の送信ステップは、前記実行状態情報格納ステップにより格納された当該アプリケーションの実行状態情報を前記アプリケーション情報記憶部から取得して、前記第2のアプリケーションサーバへ送信することを特徴とする、請求項16又は17に記載のアプリケーション移行方法。
An execution state information storage step of storing the execution state information of the application in the application information storage unit after interrupting the processing of the application;
In the second transmission step, the execution state information of the application stored in the execution state information storage step is acquired from the application information storage unit and transmitted to the second application server. The application migration method according to claim 16 or 17.
前記第1の送信ステップは、前記アプリケーションを前記第2のアプリケーションサーバへ移行する指示に応じて実行されることを特徴とする、請求項16乃至18のいずれか1項に記載のアプリケーション移行方法。   The application migration method according to any one of claims 16 to 18, wherein the first transmission step is executed in response to an instruction to migrate the application to the second application server.
JP2008090177A 2008-03-31 2008-03-31 System and method for providing application service, and method for transferring application Pending JP2009245118A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008090177A JP2009245118A (en) 2008-03-31 2008-03-31 System and method for providing application service, and method for transferring application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008090177A JP2009245118A (en) 2008-03-31 2008-03-31 System and method for providing application service, and method for transferring application

Publications (1)

Publication Number Publication Date
JP2009245118A true JP2009245118A (en) 2009-10-22

Family

ID=41306937

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008090177A Pending JP2009245118A (en) 2008-03-31 2008-03-31 System and method for providing application service, and method for transferring application

Country Status (1)

Country Link
JP (1) JP2009245118A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012038299A (en) * 2010-08-06 2012-02-23 Palo Alto Research Center Inc Service virtualization over content-centric networks
US9785582B2 (en) 2014-12-11 2017-10-10 Samsung Electronics Co., Ltd. Data processing architecture and data processing method
CN111176959A (en) * 2019-12-30 2020-05-19 中国建设银行股份有限公司 Early warning method, system and storage medium for cross-domain application server

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0375857A (en) * 1989-08-17 1991-03-29 Oki Electric Ind Co Ltd Multi-processor system
JPH09231184A (en) * 1996-02-23 1997-09-05 Mitsubishi Electric Corp Autonomous cooperation information processor and autonomous cooperation decentralized processing method
JP2004192348A (en) * 2002-12-11 2004-07-08 Ntt Data Corp Program for server applied to server-based computing, server-based computing method, and server-based computing system
JP2006301769A (en) * 2005-04-18 2006-11-02 Hitachi Information Technology Co Ltd Server device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0375857A (en) * 1989-08-17 1991-03-29 Oki Electric Ind Co Ltd Multi-processor system
JPH09231184A (en) * 1996-02-23 1997-09-05 Mitsubishi Electric Corp Autonomous cooperation information processor and autonomous cooperation decentralized processing method
JP2004192348A (en) * 2002-12-11 2004-07-08 Ntt Data Corp Program for server applied to server-based computing, server-based computing method, and server-based computing system
JP2006301769A (en) * 2005-04-18 2006-11-02 Hitachi Information Technology Co Ltd Server device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012038299A (en) * 2010-08-06 2012-02-23 Palo Alto Research Center Inc Service virtualization over content-centric networks
US9785582B2 (en) 2014-12-11 2017-10-10 Samsung Electronics Co., Ltd. Data processing architecture and data processing method
CN111176959A (en) * 2019-12-30 2020-05-19 中国建设银行股份有限公司 Early warning method, system and storage medium for cross-domain application server
CN111176959B (en) * 2019-12-30 2023-11-14 中国建设银行股份有限公司 Early warning method, system and storage medium of cross-domain application server

Similar Documents

Publication Publication Date Title
JP5016063B2 (en) Consistent fault-tolerant distributed hash table (DHT) overlay network
US8375001B2 (en) Master monitoring mechanism for a geographical distributed database
CN107547661B (en) Container load balancing implementation method
CN107544783B (en) Data updating method, device and system
CN108055322B (en) Request message processing method and device
JP2003248611A (en) Storage management integration system and its storage management control method
JP5352367B2 (en) Virtual machine boot terminal and virtual machine boot program
US20080010299A1 (en) File management system
JP2011186637A (en) System and method for cooperating resource
CN105493474A (en) System and method for supporting partition level journaling for synchronizing data in a distributed data grid
US7251813B2 (en) Server apparatus having function of changing over from old to new module
CN113010496B (en) Data migration method, device, equipment and storage medium
CN111078238A (en) Centralized processing method and device for application configuration in container environment
CN113746641B (en) ODX protocol processing method based on distributed storage
WO2018036255A1 (en) Method and device for resetting network device to factory settings, and network device
JP2009245118A (en) System and method for providing application service, and method for transferring application
JP4645435B2 (en) Information processing apparatus, communication load distribution method, and communication load distribution program
CN114363350B (en) Service management system and method
KR101997602B1 (en) Resource Dependency Service Method for M2M Resource Management
CN111382132A (en) Medical image data cloud storage system
KR101696911B1 (en) Distributed Database Apparatus and Method for Processing Stream Data Thereof
JP2007249659A (en) System-switching method, computer system therefor, and program
JP2010287172A (en) Computer node, computer system, process generation method and process generation program
CN113434290A (en) Data processing method and device based on RAFT protocol, and computer storage medium
CN113542319A (en) Service providing entity change notification method, device and system used in Dubbo framework

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20121112

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121120

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130118

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130312