JP6943089B2 - Information processing system, information processing method, and program - Google Patents

Information processing system, information processing method, and program Download PDF

Info

Publication number
JP6943089B2
JP6943089B2 JP2017169660A JP2017169660A JP6943089B2 JP 6943089 B2 JP6943089 B2 JP 6943089B2 JP 2017169660 A JP2017169660 A JP 2017169660A JP 2017169660 A JP2017169660 A JP 2017169660A JP 6943089 B2 JP6943089 B2 JP 6943089B2
Authority
JP
Japan
Prior art keywords
module
session
version
request
sessions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017169660A
Other languages
Japanese (ja)
Other versions
JP2019046255A (en
Inventor
真弘 山口
真弘 山口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2017169660A priority Critical patent/JP6943089B2/en
Publication of JP2019046255A publication Critical patent/JP2019046255A/en
Application granted granted Critical
Publication of JP6943089B2 publication Critical patent/JP6943089B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、情報処理システム、情報処理方法、及びプログラムに関し、特に、アプリケーションの更新を行う情報処理システム、情報処理方法、及びプログラムに関する。 The present invention relates to an information processing system, an information processing method, and a program, and more particularly to an information processing system, an information processing method, and a program for updating an application.

アプリケーションサーバで動作するアプリケーションは、24時間365日の連続稼働が求められることがある。一方で、不具合の修正や機能拡張のためのアプリケーションの更新では、一般に、アプリケーションを停止する必要がある。 An application running on an application server may be required to operate continuously 24 hours a day, 365 days a year. On the other hand, when updating an application to fix a defect or extend a function, it is generally necessary to stop the application.

更新時にアプリケーションの動作を継続させる方法の一例として、変更前のアプリケーションと変更後のアプリケーションを同時に稼働させ、リクエストの振り分け先を変更前から変更後のアプリケーションに切り替える方法がある。特許文献1では、複数のリクエストにより構成されるセッションに対して処理が行われる場合に、セッション内での処理の一貫性を保つため、セッション毎にアプリケーションを切り替える方法が開示されている。すなわち、変更前から処理していたセッションのリクエストは、変更前のアプリケーションに振り分けられ、変更後の新規のセッションのリクエストは、変更後のアプリケーションに振り分けられる。この方法では、セッション数を監視することで、セッション数が0になった際にアプリケーションを自動で配備解除することができる。 As an example of the method of continuing the operation of the application at the time of updating, there is a method of running the application before the change and the application after the change at the same time and switching the distribution destination of the request from the application before the change to the application after the change. Patent Document 1 discloses a method of switching an application for each session in order to maintain consistency of processing within the session when processing is performed for a session composed of a plurality of requests. That is, the session request processed before the change is distributed to the application before the change, and the request for the new session after the change is distributed to the application after the change. In this method, by monitoring the number of sessions, the application can be automatically undeployed when the number of sessions becomes 0.

一方、アプリケーションは複数のモジュールから構成される場合がある。例えば、Java(登録商標)EE(Enterprise Edition)アプリケーションサーバに配備されるアプリケーションは、複数のモジュールから構成することができる。具体的には、Java EEアプリケーションサーバに配備されるアプリケーションは、クライアント端末のWebブラウザからのリクエストを受け付けるWebモジュールとバックエンドの処理を実行するEJB(Enterprise JavaBeans)モジュールやさらにそこから呼び出されるEJBモジュールから構成することができる。このように複数のモジュールから構成されるアプリケーションでは、モジュール呼び出し用のインタフェースに変更がなく、モジュール実行内容にのみ変更があった場合、変更のあったモジュールを呼び出すモジュールを更新することなく、変更のあったモジュールのみを更新することができる。 On the other hand, an application may consist of a plurality of modules. For example, an application deployed on a Java® EE (Enterprise Edition) application server can consist of a plurality of modules. Specifically, the application deployed on the Java EE application server is a Web module that accepts requests from the Web browser of the client terminal, an EJB (Enterprise JavaBeans) module that executes back-end processing, and an EJB module that is called from there. Can be configured from. In an application composed of multiple modules in this way, if there is no change in the interface for calling the module and only the module execution content is changed, the change is made without updating the module that calls the changed module. Only the modules that existed can be updated.

特許文献2には、アプリケーションが複数のモジュールから構成されている場合について、モジュールを更新する際に、更新されるモジュールを呼び出すモジュールも新たにロードし直し、更新後のモジュールを呼び出すようにするという処理を、呼び出し側のモジュールに対して再帰的に実行する方法が開示されている。この方法により、特許文献2では、複数のモジュールから構成されるアプリケーションの一部のモジュールを更新した場合でも、リクエストを直接受け付けるモジュールに対してセッションIDを利用した振り分けを行うだけで、更新前に開始されたセッションのリクエストは更新前のモジュールで処理され、更新後の新規のリクエストは更新後のモジュールで処理されるようになる。したがって、更新前のセッションに対する処理で不整合を発生させることなく、新規のリクエストに対してモジュールの更新を反映することができる。 Patent Document 2 states that when an application is composed of a plurality of modules, when the module is updated, the module that calls the updated module is also newly loaded and the updated module is called. A method of executing processing recursively to a calling module is disclosed. By this method, in Patent Document 2, even when a part of the modules of the application composed of a plurality of modules are updated, only the modules that directly accept the request are sorted by using the session ID before the update. Requests for started sessions will be processed by the module before the update, and new requests after the update will be processed by the module after the update. Therefore, it is possible to reflect the module update for a new request without causing inconsistency in the processing for the session before the update.

特許第4532946号公報Japanese Patent No. 4532946 特開2017−16517号公報Japanese Unexamined Patent Publication No. 2017-16517

しかし、特許文献2では、配備解除について考慮されておらず、古いモジュールは使用されなくなってもそのまま残るという問題があった。また、特許文献1では、アプリケーションが複数のモジュールから構成される場合については考慮されておらず、一部のモジュールのみを解除することができないという問題があった。 However, Patent Document 2 does not consider the release of the deployment, and there is a problem that the old module remains as it is even if it is no longer used. Further, in Patent Document 1, the case where the application is composed of a plurality of modules is not considered, and there is a problem that only a part of the modules cannot be released.

本発明は、このような問題点を解決するためになされたものであり、不要になったモジュールを自動で配備解除することができる情報処理システム、情報処理方法、及びプログラムを提供することを目的とする。 The present invention has been made to solve such a problem, and an object of the present invention is to provide an information processing system, an information processing method, and a program capable of automatically undeploying an unnecessary module. And.

本発明の第1の態様にかかる情報処理システムは、アプリケーションを構成する複数のモジュールの各々についてのセッション数を監視し、リクエストを直接受け付ける第1のモジュールのセッション数が0になった際に、配備解除要求を出力するセッション情報監視手段と、前記配備解除要求を受け取った場合に、前記第1のモジュールを配備解除するとともに、それによってどのモジュールからも呼び出されなくなったモジュールを配備解除するモジュール配備解除手段と、を備えるものである。 The information processing system according to the first aspect of the present invention monitors the number of sessions for each of the plurality of modules constituting the application, and when the number of sessions of the first module that directly accepts the request becomes 0, A session information monitoring means that outputs a undeployment request, and a module deployment that undeploys the first module and undeploys a module that is no longer called by any module when the undeployment request is received. It is provided with a release means.

本発明の第2の態様にかかる情報処理方法は、アプリケーションを構成する複数のモジュールの各々についてのセッション数を監視し、リクエストを直接受け付ける第1のモジュールのセッション数が0になった際に、前記第1のモジュールを配備解除するとともに、それによってどのモジュールからも呼び出されなくなったモジュールを配備解除するものである。 The information processing method according to the second aspect of the present invention monitors the number of sessions for each of the plurality of modules constituting the application, and when the number of sessions of the first module that directly accepts the request becomes 0, The first module is undeployed, and the module that is no longer called by any module is undeployed.

本発明の第3の態様にかかるプログラムは、プロセッサに、アプリケーションを構成する複数のモジュールの各々についてのセッション数を監視し、リクエストを直接受け付ける第1のモジュールのセッション数が0になった際に、前記第1のモジュールを配備解除するとともに、それによってどのモジュールからも呼び出されなくなったモジュールを配備解除する、処理を実行させるものである。 The program according to the third aspect of the present invention monitors the number of sessions for each of the plurality of modules constituting the application on the processor, and when the number of sessions of the first module that directly accepts the request becomes 0. , The first module is undeployed, and the module that is no longer called by any module is undeployed, so that the process is executed.

本発明により、不要になったモジュールを自動で配備解除することができる情報処理システム、情報処理方法、及びプログラムを提供することができる。 INDUSTRIAL APPLICABILITY According to the present invention, it is possible to provide an information processing system, an information processing method, and a program capable of automatically undeploying an unnecessary module.

実施の形態1にかかるアプリケーションサーバの構成例を示すブロック図である。It is a block diagram which shows the configuration example of the application server which concerns on Embodiment 1. FIG. 実施の形態1にかかるアプリケーションサーバの処理例を示すフローチャートである。It is a flowchart which shows the processing example of the application server which concerns on Embodiment 1. FIG. 実施の形態2にかかるアプリケーションの実行環境の構成例を示すブロック図である。It is a block diagram which shows the configuration example of the execution environment of the application which concerns on Embodiment 2. FIG. 実施の形態2にかかる実行ファイルテーブルの例を示す図である。It is a figure which shows the example of the execution file table which concerns on Embodiment 2. FIG. 実施の形態2にかかるモジュール実行部にロードされるロードモジュールの構成を示す図である。It is a figure which shows the structure of the load module loaded in the module execution part which concerns on Embodiment 2. FIG. 実施の形態2にかかるバージョンテーブルの例を示す図である。It is a figure which shows the example of the version table which concerns on Embodiment 2. 実施の形態2にかかるロードバージョンテーブルの例を示す図である。It is a figure which shows the example of the load version table which concerns on Embodiment 2. FIG. 実施の形態2にかかる呼び出し関係テーブルの例を示す図である。It is a figure which shows the example of the call relation table which concerns on Embodiment 2. FIG. 実施の形態2にかかるセッションテーブルの例を示す図である。It is a figure which shows the example of the session table which concerns on Embodiment 2. FIG. 実施の形態2にかかるセッション情報テーブルの例を示す図である。It is a figure which shows the example of the session information table which concerns on Embodiment 2. FIG. 実施の形態2にかかるセッションオブジェクトの例を示す図である。It is a figure which shows the example of the session object which concerns on Embodiment 2. FIG. 実施の形態2にかかるセッションの取得処理を示すフローチャートである。It is a flowchart which shows the acquisition process of the session which concerns on Embodiment 2. 実施の形態2にかかるセッションの更新処理を示すフローチャートである。It is a flowchart which shows the update process of the session which concerns on Embodiment 2. 実施の形態2にかかるロードモジュールによる削除要求によって行われるセッションの削除処理を示すフローチャートである。It is a flowchart which shows the deletion process of the session performed by the deletion request by the load module which concerns on Embodiment 2. FIG. 実施の形態2にかかるタイムアウトによって行われるセッションの削除処理を示すフローチャートである。It is a flowchart which shows the deletion process of the session performed by the time-out which concerns on Embodiment 2. 実施の形態2にかかるセッション情報監視部がセッション削除の通知を受けた際の処理を示すフローチャートである。FIG. 5 is a flowchart showing a process when the session information monitoring unit according to the second embodiment receives a notification of session deletion. 実施の形態2にかかるモジュール配備解除部がモジュールの配備解除要求を受けた際の処理を示すフローチャートである。FIG. 5 is a flowchart showing a process when the module deployment release unit according to the second embodiment receives a module deployment release request. 実施の形態2にかかるモジュール配備解除部がモジュールの配備解除要求を受けた際の処理を示すフローチャートである。FIG. 5 is a flowchart showing a process when the module deployment release unit according to the second embodiment receives a module deployment release request. 実施の形態2にかかるモジュール間の呼び出し関係の例を示す図である。It is a figure which shows the example of the calling relation between modules which concerns on Embodiment 2. FIG. 実施の形態2にかかるロードモジュール間の呼び出し関係の例を示す図である。It is a figure which shows the example of the call relation between the load modules which concerns on Embodiment 2. FIG. 実施の形態2にかかる行が削除されたロードバージョンテーブルの例を示す図である。It is a figure which shows the example of the load version table in which the row which concerns on Embodiment 2 is deleted. 実施の形態2にかかる行が削除された呼び出し関係テーブルの例を示す図である。It is a figure which shows the example of the call relation table in which the row which concerns on Embodiment 2 is deleted. 実施の形態2にかかる図20の状態からA’(3,3)が配備解除されたロードモジュール間の呼び出し関係の例を示す図である。It is a figure which shows the example of the call relation between the load modules in which A'(3, 3) is undeployed from the state of FIG. 20 which concerns on Embodiment 2. FIG. 実施の形態2にかかる行が削除された実行ファイルテーブルの例を示す図である。It is a figure which shows the example of the execution file table in which the line which concerns on Embodiment 2 is deleted. 実施の形態2にかかる行がさらに削除されたロードバージョンテーブルの例を示す図である。It is a figure which shows the example of the load version table in which the row which concerns on Embodiment 2 is further deleted. 実施の形態2にかかる行がさらに削除された呼び出し関係テーブルの例を示す図である。It is a figure which shows the example of the call relation table in which the row which concerns on Embodiment 2 is further deleted. 実施の形態2にかかる図23の状態からA(2,1)、B(2,1)、C’(2,2)が配備解除されたロードモジュール間の呼び出し関係の例を示す図である。FIG. 5 is a diagram showing an example of a call relationship between load modules in which A (2,1), B (2,1), and C'(2,2) are undeployed from the state of FIG. 23 according to the second embodiment. .. 実施の形態2にかかるアプリケーションの実行環境の他の構成例を示すブロック図である。It is a block diagram which shows the other configuration example of the execution environment of the application which concerns on Embodiment 2. FIG. 実施の形態3にかかるアプリケーションの実行環境の構成例を示すブロック図である。It is a block diagram which shows the configuration example of the execution environment of the application which concerns on Embodiment 3. FIG.

以下では、本発明の実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. In each drawing, the same or corresponding elements are designated by the same reference numerals, and duplicate explanations are omitted as necessary for the sake of clarity of explanation.

実施の形態1
まず、図1のブロック図を用いて、本発明の実施の形態1にかかるアプリケーションサーバ100の構成例について説明する。アプリケーションサーバ100は、セッション情報監視部110と、モジュール配備解除部120と、を備えている。なお、アプリケーションサーバ100は、本発明の情報処理システムの一実施形態である。
Embodiment 1
First, a configuration example of the application server 100 according to the first embodiment of the present invention will be described with reference to the block diagram of FIG. The application server 100 includes a session information monitoring unit 110 and a module deployment release unit 120. The application server 100 is an embodiment of the information processing system of the present invention.

セッション情報監視部110は、アプリケーションを構成する複数のプログラムモジュール(以下、単にモジュールと記載する)の各々についてのセッション数を監視する。また、セッション情報監視部110は、リクエストを直接受け付ける第1のモジュールのセッション数が0になった際に、モジュール配備解除部120へ配備解除要求を出力する。なお、第1のモジュールは、図示しないクライアント端末からのリクエストを直接受け付けるモジュールである。 The session information monitoring unit 110 monitors the number of sessions for each of a plurality of program modules (hereinafter, simply referred to as modules) constituting the application. Further, the session information monitoring unit 110 outputs a deployment release request to the module deployment release unit 120 when the number of sessions of the first module that directly accepts the request becomes 0. The first module is a module that directly receives a request from a client terminal (not shown).

モジュール配備解除部120は、セッション情報監視部110から配備解除要求を受け取る。また、モジュール配備解除部120は、配備解除要求を受け取った場合に、第1のモジュールを配備解除するとともに、それによってどのモジュールからも呼び出されなくなったモジュールを配備解除する。 The module deployment release unit 120 receives a deployment release request from the session information monitoring unit 110. Further, when the module deployment release unit 120 receives the deployment release request, the first module is undeployed, and the module that is no longer called by any module is undeployed.

なお、モジュール配備解除部120は、どのモジュールからも呼び出されなくなったモジュールの配備解除を再帰的に行うようにしてもよい。なお、モジュールの配備解除を再帰的に行うとは、例えば、第1のモジュールのセッション数が0になった際に、それによってどのモジュールからも呼び出されなくなった第2のモジュールを配備解除し、第2のモジュールを配備解除することによりどのモジュールからも呼び出されなくなった第3のモジュールを配備解除するような処理のことである。これにより、不要になったすべてのモジュールを自動で配備解除することができる。 The module deployment release unit 120 may recursively release the module that is no longer called by any module. Recursively undeploying a module means, for example, when the number of sessions of the first module becomes 0, the second module that is no longer called by any module is undeployed. It is a process of undeploying a third module that is no longer called by any module by undeploying the second module. This makes it possible to automatically undeploy all modules that are no longer needed.

なお、最新バージョンであるモジュールは、配備解除の対象外としてもよい。すなわち、セッション情報監視部110は、セッション数が0になった第1のモジュールのモジュールバージョンが最新のモジュールバージョンである場合には、配備解除要求を出力しないようにしてもよい。また、モジュール配備解除部120は、どのモジュールからも呼び出されなくなったモジュールのモジュールバージョンが最新のモジュールバージョンである場合には、当該モジュールを配備解除しないようにしてもよい。これにより、最新のモジュールバージョンの第1のモジュールは、セッション数が0になった後も新規のリクエストを受け付けることができる。また、配備したばかりのモジュールが配備解除対象となることを防ぐことができる。 The latest version of the module may be excluded from the target of undeployment. That is, the session information monitoring unit 110 may not output the deployment release request when the module version of the first module in which the number of sessions has become 0 is the latest module version. Further, the module undeployment unit 120 may not undeploy the module when the module version of the module that is no longer called from any module is the latest module version. As a result, the first module of the latest module version can accept new requests even after the number of sessions becomes zero. In addition, it is possible to prevent the module that has just been deployed from being undeployed.

続いて、図2のフローチャートを用いて、本実施の形態1にかかるアプリケーションサーバ100の処理例について説明する。 Subsequently, a processing example of the application server 100 according to the first embodiment will be described with reference to the flowchart of FIG.

まず、アプリケーションサーバ100は、セッション情報監視部110により、アプリケーションを構成する複数のモジュールの各々についてのセッション数を監視する(ステップS101)。 First, the application server 100 monitors the number of sessions for each of the plurality of modules constituting the application by the session information monitoring unit 110 (step S101).

次に、アプリケーションサーバ100は、リクエストを直接受け付ける第1のモジュールのセッション数が0になった際に、モジュール配備解除部120により、当該第1のモジュールを配備解除するとともに、それによってどのモジュールからも呼び出されなくなったモジュールを配備解除する(ステップS102)。 Next, when the number of sessions of the first module that directly accepts the request becomes 0, the application server 100 disdeploys the first module by the module deployment release unit 120, and thereby, from which module. Also undeploys the module that is no longer called (step S102).

以上のように、本発明の実施の形態1にかかるアプリケーションサーバ100(情報処理システム)は、セッション情報監視部110と、モジュール配備解除部120と、を備える構成としている。また、アプリケーションサーバ100は、セッション情報監視部110により、アプリケーションを構成する複数のモジュールの各々についてのセッション数を監視する構成としている。さらに、アプリケーションサーバ100は、リクエストを直接受け付ける第1のモジュールのセッション数が0になった際に、モジュール配備解除部120により、当該第1のモジュールを配備解除するとともに、それによってどのモジュールからも呼び出されなくなったモジュールを配備解除する構成としている。これにより、本実施の形態1にかかるアプリケーションサーバ100では、不要になったモジュールを自動で配備解除することができる。 As described above, the application server 100 (information processing system) according to the first embodiment of the present invention is configured to include a session information monitoring unit 110 and a module deployment release unit 120. Further, the application server 100 is configured to monitor the number of sessions for each of a plurality of modules constituting the application by the session information monitoring unit 110. Further, when the number of sessions of the first module that directly accepts the request becomes 0, the application server 100 undeploys the first module by the module deployment release unit 120, and thereby from any module. It is configured to undeploy the module that is no longer called. As a result, in the application server 100 according to the first embodiment, the unnecessary modules can be automatically undeployed.

実施の形態2
続いて、本発明の実施の形態2について説明する。図3は、本発明の実施の形態2にかかるアプリケーションの実行環境の構成例を示すブロック図である。図3を参照すると、実行環境は、アプリケーションサーバ100Aと、管理端末200と、クライアント端末300と、を含む。管理端末200及びクライアント端末300は、ネットワーク10を介してアプリケーションサーバ100Aに接続される。
Embodiment 2
Subsequently, a second embodiment of the present invention will be described. FIG. 3 is a block diagram showing a configuration example of an application execution environment according to the second embodiment of the present invention. Referring to FIG. 3, the execution environment includes an application server 100A, a management terminal 200, and a client terminal 300. The management terminal 200 and the client terminal 300 are connected to the application server 100A via the network 10.

管理端末200は、アプリケーションサーバ100Aに対して、アプリケーションの配備等の運用操作を実行する。 The management terminal 200 executes an operation operation such as deploying an application on the application server 100A.

クライアント端末300は、アプリケーションサーバ100Aに、アプリケーションの処理に係るリクエストを送信する。 The client terminal 300 transmits a request related to application processing to the application server 100A.

アプリケーションサーバ100Aは、クライアント端末300からリクエストを受信し、アプリケーションの処理を実行する。なお、アプリケーションサーバ100Aは、本発明の情報処理システムの一実施形態である。 The application server 100A receives a request from the client terminal 300 and executes application processing. The application server 100A is an embodiment of the information processing system of the present invention.

アプリケーションサーバ100Aは、セッション情報監視部110Aと、モジュール配備解除部120Aと、配備処理部130と、モジュール生成部140と、モジュール実行部150と、リクエスト振り分け部160と、セッション情報管理部170と、モジュール格納部181と、呼び出し関係格納部182と、バージョン情報格納部183と、セッション振り分け先情報格納部184と、を備えている。 The application server 100A includes a session information monitoring unit 110A, a module deployment release unit 120A, a deployment processing unit 130, a module generation unit 140, a module execution unit 150, a request distribution unit 160, a session information management unit 170, and the like. It includes a module storage unit 181, a call-related storage unit 182, a version information storage unit 183, and a session distribution destination information storage unit 184.

配備処理部130は、管理端末200からの運用操作によって、アプリケーションを構成する複数のモジュールの各々をアプリケーションサーバ100Aに配備する。具体的には、配備処理部130は、モジュール格納部181の実行ファイルテーブル1に、管理端末200から受信したモジュールに関する情報の登録を行う。また、配備処理部130は、モジュール格納部181に、管理端末200から受信した実行ファイルの実体を保存する。 The deployment processing unit 130 deploys each of the plurality of modules constituting the application to the application server 100A by the operation operation from the management terminal 200. Specifically, the deployment processing unit 130 registers information about the module received from the management terminal 200 in the execution file table 1 of the module storage unit 181. Further, the deployment processing unit 130 stores the actual execution file received from the management terminal 200 in the module storage unit 181.

モジュール格納部181は、配備処理部130により配備されたモジュールを格納する。具体的には、モジュール格納部181は、実行ファイルテーブル1、及び、実行ファイルの実体を格納する。実行ファイルテーブル1は、アプリケーションを構成する複数のモジュールの各々の実行ファイルを示す。実行ファイルテーブル1の例を図4に示す。実行ファイルテーブル1では、複数のモジュールの各々のモジュール名に、当該モジュールの実行ファイルのバージョン(ファイルバージョン)、及び、ファイル名が関連づけられている。 The module storage unit 181 stores the module deployed by the deployment processing unit 130. Specifically, the module storage unit 181 stores the executable file table 1 and the substance of the executable file. The executable file table 1 shows the executable files of each of the plurality of modules constituting the application. An example of the executable file table 1 is shown in FIG. In the executable file table 1, each module name of the plurality of modules is associated with the version (file version) of the executable file of the module and the file name.

モジュール生成部140は、モジュール格納部181に格納されているモジュールをロードモジュール400としてモジュール実行部150にロードする。具体的には、モジュール生成部140は、実行ファイルを用いて処理実行部401を生成し、生成した呼び出し部402とともに、ロードモジュール400に設定する。また、モジュール生成部140は、生成したロードモジュール400を、モジュール実行部150にロードする。また、モジュール生成部140は、バージョン情報格納部183のバージョンテーブル2及びロードバージョンテーブル3への登録を行う。さらに、モジュール生成部140は、呼び出し関係格納部182の呼び出し関係テーブル4への登録を行う。 The module generation unit 140 loads the module stored in the module storage unit 181 into the module execution unit 150 as the load module 400. Specifically, the module generation unit 140 generates the processing execution unit 401 using the execution file, and sets it in the load module 400 together with the generated calling unit 402. Further, the module generation unit 140 loads the generated load module 400 into the module execution unit 150. Further, the module generation unit 140 registers the version information storage unit 183 in the version table 2 and the load version table 3. Further, the module generation unit 140 registers the call relation storage unit 182 in the call relation table 4.

図5は、本実施の形態2にかかるモジュール実行部150にロードされるロードモジュール400の構成を示す図である。ロードモジュール400は、処理実行部401、及び、呼び出し部402を含む。 FIG. 5 is a diagram showing a configuration of a load module 400 loaded on the module execution unit 150 according to the second embodiment. The load module 400 includes a processing execution unit 401 and a calling unit 402.

処理実行部401は、モジュールの実行ファイルに従って、モジュールに係る処理を実行する。呼び出し部402は、モジュールが依存する他のモジュールのロードモジュール400の処理を呼び出す。モジュールが、複数の他のモジュールに依存する場合、それぞれの他のモジュールに対して、呼び出し部402が存在する。 The process execution unit 401 executes the process related to the module according to the execution file of the module. The calling unit 402 calls the processing of the load module 400 of another module on which the module depends. If a module depends on a plurality of other modules, there is a caller 402 for each other module.

モジュール実行部150は、モジュール生成部140によりロードされたロードモジュール400を実行する。 The module execution unit 150 executes the load module 400 loaded by the module generation unit 140.

バージョン情報格納部183は、バージョンテーブル2、及び、ロードバージョンテーブル3を格納する。バージョンテーブル2は、各モジュールの最新のロードモジュール400を示す。ロードバージョンテーブル3は、モジュール実行部150にロードされた各ロードモジュール400を示す。 The version information storage unit 183 stores the version table 2 and the load version table 3. Version table 2 shows the latest load module 400 for each module. The load version table 3 shows each load module 400 loaded in the module execution unit 150.

バージョンテーブル2の例を図6に示す。バージョンテーブル2では、複数のモジュールの各々のモジュール名に、当該モジュールの最新のロードモジュール400のバージョン(モジュールバージョン)が関連づけられている。 An example of the version table 2 is shown in FIG. In the version table 2, the latest load module 400 version (module version) of the module is associated with each module name of the plurality of modules.

ロードバージョンテーブル3の例を図7に示す。ロードバージョンテーブル3では、複数のモジュールの各々のモジュール名に、当該モジュールのロードモジュール400のモジュールバージョン、及び、実行ファイルのファイルバージョンが関連づけられている。 An example of the load version table 3 is shown in FIG. In the load version table 3, the module version of the load module 400 of the module and the file version of the executable file are associated with each module name of the plurality of modules.

呼び出し関係格納部182は、呼び出し関係テーブル4を格納する。呼び出し関係テーブル4は、モジュール間の呼び出し関係を示す。呼び出し関係テーブル4の例を図8に示す。呼び出し関係テーブル4では、呼び出し先モジュールのモジュール名とモジュールバージョンの組に、呼び出し元モジュールのモジュール名とモジュールバージョンの組が関連づけられている。 The call relation storage unit 182 stores the call relation table 4. Call relationship table 4 shows the call relationship between modules. An example of the call relation table 4 is shown in FIG. In the call relation table 4, the module name and module version pair of the calling module are associated with the module name and module version pair of the called destination module.

セッション振り分け先情報格納部184は、セッションテーブル5を格納する。セッションテーブル5は、各セッションの振り分け先のロードモジュール400を示す。セッションテーブル5の例を図9に示す。セッションテーブル5では、モジュールのモジュール名に、当該モジュールに対するセッションのセッションID(Identifier)と振り分け先のロードモジュール400のモジュールバージョンとが関連づけられている。 The session distribution destination information storage unit 184 stores the session table 5. The session table 5 shows the load module 400 to which each session is distributed. An example of the session table 5 is shown in FIG. In the session table 5, the module name of the module is associated with the session ID (Identifier) of the session for the module and the module version of the load module 400 to be distributed.

リクエスト振り分け部160は、セッションテーブル5をもとに、クライアント端末300から受信したリクエストを、適切なロードモジュール400に振り分ける。また、リクエスト振り分け部160は、セッションテーブル5に、セッションID、モジュール名、及びモジュールバージョンを登録する。 The request distribution unit 160 distributes the request received from the client terminal 300 to the appropriate load module 400 based on the session table 5. Further, the request distribution unit 160 registers the session ID, the module name, and the module version in the session table 5.

セッション情報管理部170は、セッションID、セッションオブジェクト、及びセッションへの最終アクセス時刻を記録するセッション情報テーブル6を有する。セッション情報テーブル6の例を図10に示す。なお、セッションオブジェクトは、例えば図11に示すようなキーと値の組から構成される構造体であるが、それに限定されない。 The session information management unit 170 has a session information table 6 that records the session ID, the session object, and the last access time to the session. An example of the session information table 6 is shown in FIG. The session object is, for example, a structure composed of a key / value pair as shown in FIG. 11, but is not limited thereto.

セッション情報監視部110A、モジュール配備解除部120A、及びセッション情報管理部170の処理については、後にフローチャートを用いて具体的に説明する。 The processes of the session information monitoring unit 110A, the module deployment release unit 120A, and the session information management unit 170 will be specifically described later with reference to a flowchart.

なお、アプリケーションサーバ100Aは、プログラムに基づく制御によって動作するコンピュータであってもよい。すなわち、アプリケーションサーバ100Aは、CPU(Central Processing Unit)等のプロセッサと、各機能部の処理に関するプログラムを記憶した記憶媒体と、を含み、当該プログラムをプロセッサに実行させるものであってもよい。また、アプリケーションサーバ100Aの各構成要素は、有線、または、無線により接続された、異なるコンピュータに分散して配置されていてもよい。また、アプリケーションサーバ100Aの各構成要素は、独立した論理回路でもよい。 The application server 100A may be a computer operated by control based on a program. That is, the application server 100A may include a processor such as a CPU (Central Processing Unit) and a storage medium for storing a program related to processing of each functional unit, and cause the processor to execute the program. Further, each component of the application server 100A may be distributed and arranged in different computers connected by wire or wirelessly. Further, each component of the application server 100A may be an independent logic circuit.

続いて、本実施の形態2の動作について説明する。 Subsequently, the operation of the second embodiment will be described.

<セッション情報へのアクセス処理>
はじめに、セッション情報へのアクセス処理について説明する。ロードモジュール400の処理実行部401で実行される処理により、セッションIDに紐付いたセッションを取得・更新・削除することができる。
<Access processing for session information>
First, the access process for session information will be described. The session associated with the session ID can be acquired / updated / deleted by the process executed by the process execution unit 401 of the load module 400.

図12は、本実施の形態2にかかるセッションの取得処理を示すフローチャートである。 FIG. 12 is a flowchart showing a session acquisition process according to the second embodiment.

ロードモジュール400は、リクエストに含まれるセッションIDに対応するセッションオブジェクトをセッション情報管理部170に要求する。すなわち、セッション情報管理部170は、リクエストに含まれるセッションIDに対応するセッションオブジェクトをロードモジュール400から要求される(ステップS201)。 The load module 400 requests the session information management unit 170 for a session object corresponding to the session ID included in the request. That is, the session information management unit 170 is requested by the load module 400 for the session object corresponding to the session ID included in the request (step S201).

次に、セッション情報管理部170は、セッション情報テーブル6に要求されたセッションIDの行があるか否かを判断する(ステップS202)。 Next, the session information management unit 170 determines whether or not there is a row of the requested session ID in the session information table 6 (step S202).

要求されたセッションIDの行がある場合(ステップS202にてYES)、セッション情報管理部170は、要求されたセッションIDに対応するセッションオブジェクトをセッション情報テーブル6から取得し、且つ、セッション情報テーブル6における要求されたセッションIDの行の最終アクセス時刻を現在の時刻に更新する(ステップS203)。 When there is a row of the requested session ID (YES in step S202), the session information management unit 170 acquires the session object corresponding to the requested session ID from the session information table 6 and the session information table 6 The last access time of the row of the requested session ID in is updated to the current time (step S203).

他方、要求されたセッションIDの行がない場合(ステップS202にてNO)、セッション情報管理部170は、セッションオブジェクトを新規に生成し、セッションID、セッションオブジェクト、及び現在時刻の組をセッション情報テーブル6に追加する(ステップS204)。 On the other hand, when there is no row for the requested session ID (NO in step S202), the session information management unit 170 newly generates a session object, and sets the session ID, the session object, and the current time in the session information table. Add to 6 (step S204).

ステップS203又はステップS204の後に、セッション情報管理部170は、取得された又は新規に生成されたセッションオブジェクトをロードモジュール400に返す(ステップS205)。 After step S203 or step S204, the session information management unit 170 returns the acquired or newly generated session object to the load module 400 (step S205).

図13は、本実施の形態2にかかるセッションの更新処理を示すフローチャートである。 FIG. 13 is a flowchart showing a session update process according to the second embodiment.

ロードモジュール400は、セッション取得処理により、セッションIDに対応するセッションオブジェクトを取得する(ステップS301)。 The load module 400 acquires the session object corresponding to the session ID by the session acquisition process (step S301).

次に、ロードモジュール400は、取得したセッションオブジェクトの内容を更新する(ステップS302)。 Next, the load module 400 updates the contents of the acquired session object (step S302).

次に、ロードモジュール400は、セッションIDと更新されたセッションオブジェクトをセッション情報管理部170へ送り更新を要求する(ステップS303)。 Next, the load module 400 sends the session ID and the updated session object to the session information management unit 170 and requests the update (step S303).

次に、セッション情報管理部170は、セッション情報テーブル6において要求されたセッションIDに対応する行のセッションオブジェクトを更新し、最終アクセス時刻を現在の時刻に更新する(ステップS304)。 Next, the session information management unit 170 updates the session object in the row corresponding to the session ID requested in the session information table 6, and updates the last access time to the current time (step S304).

続いてセッションの削除について説明する。セッションの削除は、ロードモジュール400による削除要求によって行われる場合と、セッションの最終アクセス時刻から一定時間経過後に自動的に削除される場合(セッションタイムアウト)がある。なお、どちらか一方だけの構成もあり、セッションタイムアウトが無い場合には、セッション情報テーブル6の最終アクセス時刻とその更新処理は不要である。 Next, the deletion of the session will be described. The session may be deleted by a deletion request by the load module 400, or may be automatically deleted after a certain period of time has elapsed from the last access time of the session (session timeout). If there is a configuration of only one of them and there is no session timeout, the last access time of the session information table 6 and its update process are unnecessary.

図14は、本実施の形態2にかかるロードモジュール400による削除要求によって行われるセッションの削除処理を示すフローチャートである。 FIG. 14 is a flowchart showing a session deletion process performed by a deletion request by the load module 400 according to the second embodiment.

ロードモジュール400は、セッションIDに対応するセッションの削除をセッション情報管理部170に要求する。すなわち、セッション情報管理部170は、セッションIDに対応するセッションの削除をロードモジュール400から要求される(ステップS401)。 The load module 400 requests the session information management unit 170 to delete the session corresponding to the session ID. That is, the session information management unit 170 is requested by the load module 400 to delete the session corresponding to the session ID (step S401).

次に、セッション情報管理部170は、セッション情報テーブル6において要求されたセッションIDに対応する行を削除する(ステップS402)。 Next, the session information management unit 170 deletes the row corresponding to the session ID requested in the session information table 6 (step S402).

次に、セッション情報管理部170は、削除したセッションのセッションIDをセッション情報監視部110Aに通知する(ステップS403)。 Next, the session information management unit 170 notifies the session information monitoring unit 110A of the session ID of the deleted session (step S403).

図15は、本実施の形態2にかかるタイムアウトによって行われるセッションの削除処理を示すフローチャートである。なお、図15の処理は、アプリケーションサーバ100Aが停止された際には終了する。 FIG. 15 is a flowchart showing a session deletion process performed by the timeout according to the second embodiment. The process of FIG. 15 ends when the application server 100A is stopped.

セッション情報管理部170は、セッション情報テーブル6において最終アクセス時刻から所定時間(タイムアウト時間)経過したセッションがあれば、その行を削除する(ステップS501)。具体的には、セッション情報管理部170は、セッション情報テーブル6における最終アクセス時刻と現在時刻とを比較し、最終アクセス時刻から所定のタイムアウト時間が経過したセッションがあれば、その行を削除する。 If there is a session in the session information table 6 for which a predetermined time (timeout time) has elapsed from the last access time, the session information management unit 170 deletes the row (step S501). Specifically, the session information management unit 170 compares the last access time in the session information table 6 with the current time, and if there is a session for which a predetermined timeout time has elapsed from the last access time, deletes the line.

次に、セッション情報管理部170は、削除したセッションのセッションIDをセッション情報監視部110Aに通知する(ステップS502)。 Next, the session information management unit 170 notifies the session information monitoring unit 110A of the session ID of the deleted session (step S502).

次に、セッション情報管理部170は、ステップS501を行った時刻から所定時間(監視間隔)が経過したか否かを判断する(ステップS503)。 Next, the session information management unit 170 determines whether or not a predetermined time (monitoring interval) has elapsed from the time when step S501 is performed (step S503).

所定の監視間隔が経過していない場合(ステップS503にてNO)、セッション情報管理部170は、所定の監視間隔が経過するのを待つ。 If the predetermined monitoring interval has not elapsed (NO in step S503), the session information management unit 170 waits for the predetermined monitoring interval to elapse.

所定の監視間隔が経過した場合(ステップS503にてYES)、セッション情報管理部170は、再度ステップS501の処理を行う。 When the predetermined monitoring interval has elapsed (YES in step S503), the session information management unit 170 performs the process of step S501 again.

なお、タイムアウトするまでの時間(タイムアウト時間)はすべてのモジュール又はセッションで同じであってもよいし、異なっていてもよい。また、モジュール又はセッションごとにタイムアウトするまでの時間を変える場合には、例えばセッション情報テーブル6にタイムアウト時間の列を追加し、ステップS501においてそのタイムアウト時間と最終アクセス時刻からの経過時間とを比較するようにしてもよい。 The time until time-out (time-out time) may be the same or different for all modules or sessions. When changing the time-out time for each module or session, for example, a time-out time column is added to the session information table 6, and the time-out time is compared with the elapsed time from the last access time in step S501. You may do so.

<セッション削除通知受信時の処理>
続いて、図16のフローチャートを用いて、セッション情報監視部110Aがセッション削除の通知をセッション情報管理部170から受けた際の処理について説明する。
<Processing when receiving session deletion notification>
Subsequently, using the flowchart of FIG. 16, the process when the session information monitoring unit 110A receives the session deletion notification from the session information management unit 170 will be described.

セッション情報監視部110Aは、削除されたセッションのセッションIDを含むセッション削除通知をセッション情報管理部170から受ける(ステップS601)。 The session information monitoring unit 110A receives a session deletion notification including the session ID of the deleted session from the session information management unit 170 (step S601).

次に、セッション情報監視部110Aは、削除されたセッションのセッションIDと一致する行の振り分け先のモジュール名MとモジュールバージョンVを、セッション振り分け先情報格納部184のセッションテーブル5から取得する(ステップS602)。 Next, the session information monitoring unit 110A acquires the module name M and the module version V of the row distribution destination that matches the session ID of the deleted session from the session table 5 of the session distribution destination information storage unit 184 (step). S602).

次に、セッション情報監視部110Aは、削除されたセッションのセッションIDと一致する行をセッションテーブル5から削除する(ステップS603)。 Next, the session information monitoring unit 110A deletes the row matching the session ID of the deleted session from the session table 5 (step S603).

次に、セッション情報監視部110Aは、セッションテーブル5にモジュール名がMであり、且つモジュールバージョンがVである行があるか否かを判断する(ステップS604)。 Next, the session information monitoring unit 110A determines whether or not there is a row in the session table 5 in which the module name is M and the module version is V (step S604).

セッションテーブル5にモジュール名がMであり、且つモジュールバージョンがVである行がある場合(ステップS604にてYES)、セッション情報監視部110Aは、処理を終了する。これにより、セッション数が0でない場合には、処理が終了される。 When there is a row in the session table 5 in which the module name is M and the module version is V (YES in step S604), the session information monitoring unit 110A ends the process. As a result, if the number of sessions is not 0, the process is terminated.

他方、セッションテーブル5にモジュール名がMであり、且つモジュールバージョンがVである行がない場合(ステップS604にてNO)、セッション情報監視部110Aは、モジュール名Mの最新モジュールバージョンをバージョンテーブル2から取得する(ステップS605)。 On the other hand, when there is no row in the session table 5 where the module name is M and the module version is V (NO in step S604), the session information monitoring unit 110A sets the latest module version of the module name M in the version table 2. Obtained from (step S605).

次に、セッション情報監視部110Aは、ステップS605にて取得された最新モジュールバージョンがモジュールバージョンVと一致するか否かを判断する(ステップS606)。 Next, the session information monitoring unit 110A determines whether or not the latest module version acquired in step S605 matches the module version V (step S606).

最新モジュールバージョンがモジュールバージョンVと一致する場合(ステップS606にてYES)、セッション情報監視部110Aは、処理を終了する。これにより、最新バージョンであるモジュールは、配備解除の対象外になる。 When the latest module version matches the module version V (YES in step S606), the session information monitoring unit 110A ends the process. As a result, the latest version of the module will not be subject to dedeployment.

他方、最新モジュールバージョンがモジュールバージョンVと一致しない場合(ステップS606にてNO)、セッション情報監視部110Aは、モジュール名M、且つモジュールバージョンVのモジュールの配備解除要求をモジュール配備解除部120Aへ出力する(ステップS607)。これにより、古いモジュールバージョン(最新モジュールバージョンではないモジュールバージョン)のセッション数が0になった場合には、モジュール名M及びモジュールバージョンVのモジュールの配備解除要求が、セッション情報監視部110Aからモジュール配備解除部120Aへ出力される。 On the other hand, when the latest module version does not match the module version V (NO in step S606), the session information monitoring unit 110A outputs a module deployment release request of the module name M and the module version V to the module deployment release unit 120A. (Step S607). As a result, when the number of sessions of the old module version (module version that is not the latest module version) becomes 0, the module deployment release request of the module name M and module version V is made from the session information monitoring unit 110A. It is output to the release unit 120A.

<モジュール配備解除処理>
続いて、図17及び図18のフローチャートを用いて、モジュール配備解除部120Aがモジュールの配備解除要求を受けた際の処理について説明する。
<Module deployment release process>
Subsequently, the process when the module deployment release unit 120A receives the module deployment release request will be described with reference to the flowcharts of FIGS. 17 and 18.

モジュール配備解除部120Aは、モジュール名M、且つモジュールバージョンVのモジュールの配備解除要求をセッション情報監視部110Aから受ける(ステップS701)。 The module deployment release unit 120A receives a module deployment release request of the module name M and the module version V from the session information monitoring unit 110A (step S701).

次に、モジュール配備解除部120Aは、モジュール名M、且つモジュールバージョンVのモジュールをモジュール実行部150から削除する(ステップS702)。 Next, the module deployment release unit 120A deletes the module having the module name M and the module version V from the module execution unit 150 (step S702).

次に、モジュール配備解除部120Aは、モジュール名M、且つモジュールバージョンVのモジュールのファイルバージョンFVをロードバージョンテーブル3から取得する(ステップS703)。 Next, the module deployment release unit 120A acquires the file version FV of the module having the module name M and the module version V from the load version table 3 (step S703).

次に、モジュール配備解除部120Aは、モジュール名M、且つモジュールバージョンVの行をロードバージョンテーブル3から削除する(ステップS704)。 Next, the module deployment release unit 120A deletes the row of the module name M and the module version V from the load version table 3 (step S704).

次に、モジュール配備解除部120Aは、ロードバージョンテーブル3にモジュール名がMであり、且つファイルバージョンがFVである行があるか否かを判断する(ステップS705)。 Next, the module deployment release unit 120A determines whether or not there is a line in the load version table 3 where the module name is M and the file version is FV (step S705).

ロードバージョンテーブル3にモジュール名がMであり、且つファイルバージョンがFVである行がある場合(ステップS705にてYES)、ステップS706〜ステップS708をスキップしてステップS709に進む。 If there is a line in the load version table 3 where the module name is M and the file version is FV (YES in step S705), steps S706 to S708 are skipped and the process proceeds to step S709.

他方、ロードバージョンテーブル3にモジュール名がMであり、且つファイルバージョンがFVである行がない場合(ステップS705にてNO)、モジュール配備解除部120Aは、モジュール名M、且つファイルバージョンFVに一致する行のファイル名Fを実行ファイルテーブル1から取得する(ステップS706)。 On the other hand, when there is no line in the load version table 3 where the module name is M and the file version is FV (NO in step S705), the module deployment release unit 120A matches the module name M and the file version FV. The file name F of the line to be executed is acquired from the executable file table 1 (step S706).

次に、モジュール配備解除部120Aは、モジュール名M、且つファイルバージョンFVに一致する行を実行ファイルテーブル1から削除する(ステップS707)。 Next, the module deployment release unit 120A deletes the line matching the module name M and the file version FV from the executable file table 1 (step S707).

次に、モジュール配備解除部120Aは、実行ファイルFの実体をモジュール格納部181から削除する(ステップS708)。 Next, the module deployment release unit 120A deletes the entity of the executable file F from the module storage unit 181 (step S708).

次に、モジュール配備解除部120Aは、呼び出し元モジュール名がMであり、且つ呼び出し元モジュールバージョンがVである行を、呼び出し関係格納部182の呼び出し関係テーブル4から取得する(ステップS709)。なお、モジュール名M、且つモジュールバージョンVのモジュールから呼び出される呼び出し先は、モジュール名S、且つモジュールバージョンSVであるとする。 Next, the module deployment release unit 120A acquires a row in which the caller module name is M and the caller module version is V from the call relationship table 4 of the call relationship storage unit 182 (step S709). It is assumed that the call destination called from the module having the module name M and the module version V is the module name S and the module version SV.

次に、モジュール配備解除部120Aは、呼び出し元モジュール名がMであり、且つ呼び出し元モジュールバージョンがVである行を、呼び出し関係テーブル4から削除する(ステップS710)。 Next, the module deployment release unit 120A deletes the row whose caller module name is M and whose caller module version is V from the call relation table 4 (step S710).

次に、モジュール配備解除部120Aは、モジュール名M、且つモジュールバージョンVのモジュールが呼び出すモジュール数だけ以下の処理を繰り返す(ステップS711)。すなわち、ステップS709にて取得した各行に対して以下の処理を実行する。 Next, the module deployment release unit 120A repeats the following processing for the number of modules called by the module having the module name M and the module version V (step S711). That is, the following processing is executed for each row acquired in step S709.

モジュール配備解除部120Aは、呼び出し関係格納部182の呼び出し関係テーブル4に呼び出し先のモジュール名がSであり、且つ呼び出し先のモジュールバージョンがSVである行があるか否かを判断する(ステップS712)。 The module deployment release unit 120A determines whether or not there is a row in the call relationship table 4 of the call relationship storage unit 182 where the module name of the call destination is S and the module version of the call destination is SV (step S712). ).

呼び出し関係テーブル4に呼び出し先のモジュール名がSであり、且つ呼び出し先のモジュールバージョンがSVである行がある場合(ステップS712にてYES)、ステップS713〜ステップS715をスキップして、ループ処理の最後(ステップS716)に進む。これにより、他のモジュールから呼び出されるモジュールについては配備解除要求が出されない。 If there is a row in the call-related table 4 where the module name of the callee is S and the module version of the callee is SV (YES in step S712), steps S713 to S715 are skipped and loop processing is performed. The process proceeds to the end (step S716). As a result, the undeployment request is not issued for the module called from other modules.

他方、呼び出し関係テーブル4に呼び出し先のモジュール名がSであり、且つ呼び出し先のモジュールバージョンがSVである行がない場合(ステップS712にてNO)、モジュール配備解除部120Aは、モジュール名Sの最新モジュールバージョンをバージョンテーブル2から取得する(ステップS713)。 On the other hand, when there is no row in the call-related table 4 where the module name of the callee is S and the module version of the callee is SV (NO in step S712), the module deployment release unit 120A has the module name S. The latest module version is acquired from the version table 2 (step S713).

次に、モジュール配備解除部120Aは、ステップS713にて取得された最新モジュールバージョンがモジュールバージョンSVと一致するか否かを判断する(ステップS714)。 Next, the module deployment release unit 120A determines whether or not the latest module version acquired in step S713 matches the module version SV (step S714).

最新モジュールバージョンがモジュールバージョンSVと一致する場合(ステップS714にてYES)、ステップS715をスキップして、ループ処理の最後(ステップS716)に進む。これにより、最新バージョンであるモジュールは、配備解除の対象外になる。 If the latest module version matches the module version SV (YES in step S714), step S715 is skipped and the process proceeds to the end of the loop process (step S716). As a result, the latest version of the module will not be subject to dedeployment.

他方、最新モジュールバージョンがモジュールバージョンSVと一致しない場合(ステップS714にてNO)、モジュール配備解除部120Aは、モジュール名S、且つモジュールバージョンSVのモジュールの配備解除要求を出す(ステップS715)。これにより、他のモジュールから呼び出されなくなった古いモジュールバージョン(最新モジュールバージョンではないモジュールバージョン)のモジュールについて配備解除要求を出すことができる。 On the other hand, when the latest module version does not match the module version SV (NO in step S714), the module deployment release unit 120A issues a module deployment release request with the module name S and the module version SV (step S715). This makes it possible to issue a dedeployment request for an older module version (a module version that is not the latest module version) that is no longer called by other modules.

モジュール配備解除部120Aは、ステップS709にて取得した各行に対する処理が終わるまで、上記の処理(ループ内の処理)を繰り返す(ステップS716)。 The module deployment release unit 120A repeats the above processing (processing in the loop) until the processing for each row acquired in step S709 is completed (step S716).

以上のように、モジュールの配備解除要求は、セッション数が0になった場合に、セッション情報監視部110Aから出される。また、モジュールの配備解除要求は、他のモジュールから呼び出されなくなったモジュールに対して、モジュール配備解除部120Aから再帰的に出される。 As described above, the module deployment release request is issued from the session information monitoring unit 110A when the number of sessions becomes 0. Further, the module deployment release request is recursively issued from the module deployment release unit 120A to the module that is no longer called from other modules.

<具体例>
続いて、本発明の実施の形態2の動作の具体例を説明する。
<Specific example>
Subsequently, a specific example of the operation of the second embodiment of the present invention will be described.

図19は、本発明の実施の形態2にかかるモジュール間の呼び出し関係の例を示す図である。ここでは、図19に示すように、アプリケーションが4つのモジュールA、B、C、及びDにより構成されていると仮定する。また、図19に示すように、クライアント端末300がモジュールAを呼び出し、モジュールAがモジュールBを呼び出し、モジュールBがモジュールCを呼び出し、モジュールCがモジュールDを呼び出すと仮定する。 FIG. 19 is a diagram showing an example of a calling relationship between modules according to the second embodiment of the present invention. Here, it is assumed that the application is composed of four modules A, B, C, and D, as shown in FIG. Further, as shown in FIG. 19, it is assumed that the client terminal 300 calls the module A, the module A calls the module B, the module B calls the module C, and the module C calls the module D.

また、各モジュールの実行ファイルとして、モジュールA:「A.war」、モジュールB:「B.jar」、モジュールC:「C.jar」、モジュールD:「D.jar」が存在すると仮定する。さらに、各モジュールの更新(変更)された実行ファイルとして、モジュールA’:「A−modified.war」、モジュールC’:「C−modified.jar」、モジュールC’’:「C−modified−2.jar」存在すると仮定する。ここで、モジュール名に付与されている「’」は、実行ファイルが変更されたモジュールを示す。 Further, it is assumed that module A: "A.war", module B: "B.jar", module C: "C.jar", and module D: "D.jar" exist as executable files of each module. Further, as the updated (changed) executable file of each module, module A': "A-modified.war", module C': "C-modified.jar", module C ":" C-modified-2 ". .Jar "assumed to exist. Here, "'" assigned to the module name indicates a module whose executable file has been changed.

はじめに、実行ファイルテーブル1、バージョンテーブル2、ロードバージョンテーブル3、呼び出し関係テーブル4の状態が、それぞれ図4、図6、図7、図8であるとする。この場合、ロードモジュール400間の呼び出し関係は、図20のようになる。なお、ロードモジュール400に付与された「a(b,c)」は、モジュールa、モジュールバージョンbのロードモジュール400を示し、当該ロードモジュール400が、ファイルバージョンcの実行ファイルを用いていることを示す。 First, it is assumed that the states of the executable file table 1, the version table 2, the load version table 3, and the call-related table 4 are FIG. 4, FIG. 6, FIG. 7, and FIG. 8, respectively. In this case, the calling relationship between the load modules 400 is as shown in FIG. Note that "a (b, c)" given to the load module 400 indicates the load module 400 of the module a and the module version b, and that the load module 400 uses the executable file of the file version c. show.

図20の状態からモジュールA、モジュールバージョン3(A’(3,3))に対する配備解除要求が出された場合、A’(3,3)は配備解除される。しかし、A’(3,3)が配備解除されても、モジュールB、モジュールバージョン2(B(2,1))は、モジュールA、モジュールバージョン2(A(2,1))から呼び出される。このため、B(2,1)は配備解除されない。 When a deployment release request for module A and module version 3 (A'(3,3)) is issued from the state of FIG. 20, A'(3,3) is undeployed. However, even if A'(3,3) is undeployed, module B and module version 2 (B (2,1)) are called from module A and module version 2 (A (2,1)). Therefore, B (2, 1) is not undeployed.

このときの、テーブルの遷移及び配備解除について、図17及び図18のステップを用いて説明する。図17のステップS704により、モジュール名がA、モジュールバージョンが3の行がロードバージョンテーブル3から削除される。これにより、ロードバージョンテーブル3は、図21のようになる。また、図18のステップS710により、呼び出し元モジュール名がA、呼び出し元モジュールバージョンが3の行が呼び出し関係テーブル4から削除される。これにより、呼び出し関係テーブル4は、図22のようになる。また、このときのロードモジュール400間の呼び出し関係は、図23のようになる。 The transition of the table and the release of the deployment at this time will be described with reference to the steps of FIGS. 17 and 18. In step S704 of FIG. 17, the row with the module name A and the module version 3 is deleted from the load version table 3. As a result, the load version table 3 becomes as shown in FIG. Further, in step S710 of FIG. 18, the row having the calling module name A and the calling module version 3 is deleted from the calling relation table 4. As a result, the call relation table 4 becomes as shown in FIG. Further, the calling relationship between the load modules 400 at this time is as shown in FIG.

図23の状態からモジュールA、モジュールバージョン2(A(2,1))に対する配備解除要求が出された場合、A(2,1)は配備解除される。また、A(2,1)が配備解除されることにより、モジュールB、モジュールバージョン2(B(2,1))は、どのモジュールからも呼び出されなくなるため、B(2,1)に対する配備解除要求が再帰的に出され、B(2,1)は配備解除される。 When a deployment release request for module A and module version 2 (A (2,1)) is issued from the state of FIG. 23, A (2,1) is undeployed. Further, since A (2,1) is undeployed, module B and module version 2 (B (2,1)) are not called from any module, so that the deployment to B (2,1) is undeployed. Requests are made recursively and B (2,1) is undeployed.

このときの、テーブルの遷移及び配備解除について、図17及び図18のステップを用いて説明する。図17のステップS704により、モジュール名がA、モジュールバージョンが2の行がロードバージョンテーブル3から削除される。また、図18のステップS710により、呼び出し元モジュール名がA、呼び出し元モジュールバージョンが2の行が呼び出し関係テーブル4から削除される。これにより、呼び出し関係テーブル4に呼び出し先モジュール名がB、呼び出し先モジュールバージョンが2である行が存在しなくなる。さらに、バージョンテーブル2のモジュール名Bの最新モジュールバージョンは3であり、呼び出し先モジュールバージョンの2とは一致しない。このため、図18のステップS715により、モジュール名B、モジュールバージョン2(B(2,1))に対する配備解除要求が出され、B(2,1)が配備解除される。 The transition of the table and the release of the deployment at this time will be described with reference to the steps of FIGS. 17 and 18. In step S704 of FIG. 17, the row with the module name A and the module version 2 is deleted from the load version table 3. Further, in step S710 of FIG. 18, the row having the calling module name A and the calling module version 2 is deleted from the calling relation table 4. As a result, there is no row in the call relation table 4 where the call destination module name is B and the call destination module version is 2. Further, the latest module version of the module name B in the version table 2 is 3, which does not match the called module version 2. Therefore, in step S715 of FIG. 18, a request for undeployment is issued for the module name B and the module version 2 (B (2, 1)), and B (2, 1) is undeployed.

また、B(2,1)の配備解除によって、モジュール名C、モジュールバージョン2(C‘(2,2))は、どのモジュールからも呼び出されなくなる。このため、C‘(2,2)に対する配備解除要求が再帰的に出され、C‘(2,2)は配備解除される。 Further, due to the undeployment of B (2,1), the module name C and the module version 2 (C'(2,2)) will not be called from any module. Therefore, the undeployment request for C'(2,2) is recursively issued, and C'(2,2) is undeployed.

このときの、テーブルの遷移及び配備解除について、図17及び図18のステップを用いて説明する。図17のステップS704により、モジュール名がB、モジュールバージョンが2の行がロードバージョンテーブル3から削除される。また、図18のステップS710により、呼び出し元モジュール名がB、呼び出し元モジュールバージョンが2の行が呼び出し関係テーブル4から削除される。これにより、呼び出し関係テーブル4に呼び出し先モジュール名がC、呼び出し先モジュールバージョンが2である行が存在しなくなる。さらに、バージョンテーブル2のモジュール名Cの最新モジュールバージョンは3であり、呼び出し先モジュールバージョンの2とは一致しない。このため、図18のステップS715により、モジュール名C、モジュールバージョン2(C‘(2,2))に対する配備解除要求が出され、C‘(2,2)が配備解除される。 The transition of the table and the release of the deployment at this time will be described with reference to the steps of FIGS. 17 and 18. In step S704 of FIG. 17, the row with the module name B and the module version 2 is deleted from the load version table 3. Further, in step S710 of FIG. 18, the row having the calling module name B and the calling module version 2 is deleted from the calling relation table 4. As a result, there is no row in the call relation table 4 where the call destination module name is C and the call destination module version is 2. Further, the latest module version of the module name C in the version table 2 is 3, which does not match the called module version 2. Therefore, in step S715 of FIG. 18, a request for undeployment is issued for the module name C and the module version 2 (C'(2,2)), and C'(2,2) is undeployed.

モジュール名C、モジュールバージョン2(C‘(2,2))に対する配備解除では、図17のステップS704により、モジュール名がC、モジュールバージョンが2の行がロードバージョンテーブル3から削除される。これにより、ロードバージョンテーブル3にモジュール名がC、ファイルバージョンが2である行が存在しなくなるため、図17のステップS707により、モジュール名がC、ファイルバージョンが2の行が実行ファイルテーブル1から削除される。また、図17のステップS708により、モジュール名がC、ファイルバージョンが2の実行ファイルの実体がモジュール格納部181から削除される。さらに、図18のステップS710により、呼び出し元モジュール名がC、呼び出し元モジュールバージョンが2の行が呼び出し関係テーブル4から削除される。 In the undeployment for module name C and module version 2 (C'(2,2)), the row with module name C and module version 2 is deleted from the load version table 3 by step S704 in FIG. As a result, there is no line in the load version table 3 having the module name C and the file version 2. Therefore, according to step S707 in FIG. 17, the line having the module name C and the file version 2 is from the executable file table 1. Will be deleted. Further, in step S708 of FIG. 17, the substance of the executable file having the module name C and the file version 2 is deleted from the module storage unit 181. Further, in step S710 of FIG. 18, the row having the calling module name C and the calling module version 2 is deleted from the calling relation table 4.

その結果、実行ファイルテーブル1、ロードバージョンテーブル3、呼び出し関係テーブル4の状態は、それぞれ図24、図25、図26のようになる。また、このときのロードモジュール400間の呼び出し関係は、図27のようになる。 As a result, the states of the executable file table 1, the load version table 3, and the call relation table 4 are as shown in FIGS. 24, 25, and 26, respectively. Further, the calling relationship between the load modules 400 at this time is as shown in FIG. 27.

以上のように、本発明の実施の形態2にかかるアプリケーションサーバ100A(情報処理システム)は、セッション情報管理部170をさらに備える構成としている。また、セッション情報管理部170は、削除を要求されたセッション、又は最終アクセス時刻から所定時間経過したセッションのセッションIDをセッション情報監視部110Aに通知する構成としている。これにより、本実施の形態2にかかるアプリケーションサーバ100Aでは、セッション情報監視部110Aが、削除すべきセッションのセッションIDを判別することができる。 As described above, the application server 100A (information processing system) according to the second embodiment of the present invention is further provided with the session information management unit 170. Further, the session information management unit 170 is configured to notify the session information monitoring unit 110A of the session ID of the session requested to be deleted or the session in which a predetermined time has elapsed from the last access time. As a result, in the application server 100A according to the second embodiment, the session information monitoring unit 110A can determine the session ID of the session to be deleted.

また、アプリケーションサーバ100Aは、セッションテーブル5を格納するセッション振り分け先情報格納部184をさらに備える構成としている。また、セッションテーブル5には、モジュール名に、当該モジュールに対するセッションのセッションIDと振り分け先のロードモジュール400のモジュールバージョンとが関連づけられた構成としている。さらに、セッション情報監視部110Aは、セッション情報管理部170から通知されたセッションID及びセッションテーブル5に基づいて、第1のモジュールのセッション数が0になったか否かを判断する構成としている。これにより、本実施の形態2にかかるアプリケーションサーバ100Aでは、セッション情報管理部170からセッションIDを通知されることをトリガとして、第1のモジュールのセッション数が0になったか否かを判断することができる。 Further, the application server 100A is further provided with a session distribution destination information storage unit 184 for storing the session table 5. Further, the session table 5 has a configuration in which the session ID of the session for the module and the module version of the distribution destination load module 400 are associated with the module name. Further, the session information monitoring unit 110A is configured to determine whether or not the number of sessions of the first module has become 0 based on the session ID and the session table 5 notified from the session information management unit 170. As a result, in the application server 100A according to the second embodiment, it is determined whether or not the number of sessions of the first module has become 0 by using the notification of the session ID from the session information management unit 170 as a trigger. Can be done.

さらに、アプリケーションサーバ100Aでは、セッション情報監視部110Aが、第1のモジュールのセッション数が0になった際に、第1のモジュールのモジュール名及びモジュールバージョンを含む配備解除要求をモジュール配備解除部120Aへ出力する構成としている。また、アプリケーションサーバ100Aでは、モジュール配備解除部120Aが、配備解除要求を受け取った場合に、配備解除要求に含まれるモジュール名且つモジュールバージョンの第1のモジュールを配備解除するとともに、それによってどのモジュールからも呼び出されなくなったモジュール名且つモジュールバージョンのモジュールを配備解除する構成としている。これにより、本実施の形態2にかかるアプリケーションサーバ100Aでは、モジュールバージョンごとに配備解除することができる。 Further, in the application server 100A, when the number of sessions of the first module becomes 0, the session information monitoring unit 110A makes a deployment release request including the module name and the module version of the first module to the module deployment release unit 120A. It is configured to output to. Further, in the application server 100A, when the module deployment release unit 120A receives the deployment release request, the module name and the first module of the module version included in the deployment release request are undeployed, and thereby from which module. Is configured to undeploy the module with the module name and module version that is no longer called. As a result, the application server 100A according to the second embodiment can be undeployed for each module version.

なお、上述の説明では、モジュール格納部181、呼び出し関係格納部182、バージョン情報格納部183、及びセッション振り分け先情報格納部184の各テーブルへのデータの登録は、配備処理部130、モジュール生成部140、及びリクエスト振り分け部160を用いて行われることを前提としているが、これに限らない。例えば、図28に示すように、アプリケーションサーバ100Aが、配備処理部130、モジュール生成部140、及びリクエスト振り分け部160を備えない構成としてもよい。この場合、モジュール格納部181、呼び出し関係格納部182、バージョン情報格納部183、及びセッション振り分け先情報格納部184の各テーブルのデータは、例えば、運用管理者によって管理端末200から登録されるようにしてもよい。 In the above description, the registration of data in each table of the module storage unit 181, the call-related storage unit 182, the version information storage unit 183, and the session distribution destination information storage unit 184 is performed by the deployment processing unit 130 and the module generation unit. It is assumed that the operation is performed using the 140 and the request distribution unit 160, but the present invention is not limited to this. For example, as shown in FIG. 28, the application server 100A may not include the deployment processing unit 130, the module generation unit 140, and the request distribution unit 160. In this case, the data of each table of the module storage unit 181, the call-related storage unit 182, the version information storage unit 183, and the session distribution destination information storage unit 184 is registered from the management terminal 200 by, for example, the operation manager. You may.

また、上述の説明では、配備解除の契機として、アプリケーションのリクエストを直接受け付ける第1のモジュールのセッション数が0になった場合について説明したが、これに限らない。例えば、運用管理者が、管理端末200を通じてモジュール配備解除部120Aに対して明示的に配備解除要求を出すようにしてもよい。すなわち、アプリケーションサーバ100Aが、管理端末200から第1のモジュールの配備解除要求を受信し、モジュール配備解除部120Aが、管理端末200から受信した配備解除要求により第1のモジュールを配備解除するとともに、それによってどのモジュールからも呼び出されなくなったモジュールを配備解除する機能も備えるようにしてもよい。これにより、運用管理者が任意のタイミングでモジュールを配備解除し、それに伴って不要になったモジュールを自動で配備解除することができる。 Further, in the above description, the case where the number of sessions of the first module that directly accepts the application request becomes 0 as the trigger for the deployment release is described, but the present invention is not limited to this. For example, the operation manager may explicitly issue a deployment release request to the module deployment release unit 120A through the management terminal 200. That is, the application server 100A receives the deployment release request of the first module from the management terminal 200, and the module deployment release unit 120A disdeploys the first module by the deployment release request received from the management terminal 200. It may also have a function to undeploy a module that is no longer called by any module. As a result, the operation manager can undeploy the module at an arbitrary timing, and the module that is no longer needed can be automatically undeployed accordingly.

実施の形態3
続いて、本発明の実施の形態3について説明する。図29は、本発明の実施の形態3にかかるアプリケーションの実行環境の構成例を示すブロック図である。図29を参照すると、実行環境は、アプリケーションサーバ100Bと、管理端末200と、を含む。管理端末200は、ネットワーク10を介してアプリケーションサーバ100Bに接続される。
Embodiment 3
Subsequently, the third embodiment of the present invention will be described. FIG. 29 is a block diagram showing a configuration example of an application execution environment according to the third embodiment of the present invention. Referring to FIG. 29, the execution environment includes an application server 100B and a management terminal 200. The management terminal 200 is connected to the application server 100B via the network 10.

アプリケーションサーバ100Bは、モジュール配備解除部120Bと、モジュール実行部150と、モジュール格納部181と、呼び出し関係格納部182と、バージョン情報格納部183と、を備えている。 The application server 100B includes a module deployment release unit 120B, a module execution unit 150, a module storage unit 181, a call-related storage unit 182, and a version information storage unit 183.

アプリケーションサーバ100Bは、実施の形態2で説明した、アプリケーションのリクエストを直接受け付ける第1のモジュールのセッション数が0になった際にモジュールの配備解除を行う機能を備えていない。その機能に代えて、アプリケーションサーバ100Bは、管理端末200から受信した配備解除要求によりモジュールの配備解除を行う機能を備えている。すなわち、アプリケーションサーバ100Bは、管理端末200から第1のモジュールの配備解除要求を受信する。また、モジュール配備解除部120Bは、管理端末200から受信した配備解除要求により第1のモジュールの配備解除を行う。さらに、モジュール配備解除部120Bは、第1のモジュールの配備解除によってどのモジュールからも呼び出されなくなったモジュールを配備解除する。これにより、運用管理者が任意のタイミングでモジュールを配備解除し、それに伴って不要になったモジュールを自動で配備解除することができる。 The application server 100B does not have the function of undeploying the module when the number of sessions of the first module that directly receives the application request becomes 0, which is described in the second embodiment. Instead of that function, the application server 100B has a function of undeploying the module in response to the undeployment request received from the management terminal 200. That is, the application server 100B receives the deployment release request of the first module from the management terminal 200. Further, the module deployment release unit 120B releases the deployment of the first module in response to the deployment release request received from the management terminal 200. Further, the module undeployment unit 120B undeploys the module that is no longer called by any module due to the undeployment of the first module. As a result, the operation manager can undeploy the module at an arbitrary timing, and the module that is no longer needed can be automatically undeployed accordingly.

なお、上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。 In the above example, the program can be stored and supplied to a computer using various types of non-transitory computer readable medium. Non-transient computer-readable media include various types of tangible storage media. Examples of non-temporary computer-readable media include magnetic recording media (eg, flexible disks, magnetic tapes, hard disk drives), magneto-optical recording media (eg, magneto-optical disks), CD-ROMs (Read Only Memory), CD-Rs. CD-R / W, semiconductor memory (for example, mask ROM, PROM (Programmable ROM), EPROM (Erasable PROM), flash ROM, RAM (Random Access Memory)) are included. The program may also be supplied to the computer by various types of transient computer readable medium. Examples of temporary computer-readable media include electrical, optical, and electromagnetic waves. The temporary computer-readable medium can supply the program to the computer via a wired communication path such as an electric wire and an optical fiber, or a wireless communication path.

以上、実施の形態を参照して本願発明を説明したが、本願発明は上記実施の形態によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 Although the present invention has been described above with reference to the embodiments, the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made within the scope of the invention in the configuration and details of the invention of the present application.

5 セッションテーブル
100、100A アプリケーションサーバ(情報処理システム)
110、110A セッション情報監視部
120、120A モジュール配備解除部
170 セッション情報管理部
184 セッション振り分け先情報格納部
10 ネットワーク
200 管理端末
5 Session table 100, 100A Application server (information processing system)
110, 110A Session information monitoring unit 120, 120A Module deployment release unit 170 Session information management unit 184 Session distribution destination information storage unit 10 Network 200 Management terminal

Claims (10)

アプリケーションを構成する複数のモジュールの各々についてのセッション数を監視し、リクエストを直接受け付ける第1のモジュールのセッション数が0になった際に、配備解除要求を出力するセッション情報監視手段と、
前記配備解除要求を受け取った場合に、前記第1のモジュールを配備解除するとともに、それによってどのモジュールからも呼び出されなくなったモジュールを配備解除するモジュール配備解除手段と、を備える、
情報処理システム。
A session information monitoring means that monitors the number of sessions for each of the plurality of modules that make up the application and outputs a deployment release request when the number of sessions of the first module that directly accepts the request becomes 0.
When the undeployment request is received, the first module is undeployed, and a module undeployment means for undeploying a module that is no longer called by any module is provided.
Information processing system.
前記モジュール配備解除手段は、どのモジュールからも呼び出されなくなったモジュールの配備解除を再帰的に行う、請求項1に記載の情報処理システム。 The information processing system according to claim 1, wherein the module undeployment means recursively undeploys a module that is no longer called by any module. 前記セッション情報監視手段は、前記第1のモジュールのセッション数が0になった際に、前記第1のモジュールのモジュール名及びモジュールバージョンを含む配備解除要求を前記モジュール配備解除手段へ出力し、
前記モジュール配備解除手段は、前記配備解除要求を受け取った場合に、前記配備解除要求に含まれる前記モジュール名且つ前記モジュールバージョンの前記第1のモジュールを配備解除するとともに、それによってどのモジュールからも呼び出されなくなったモジュール名且つモジュールバージョンのモジュールを配備解除する、請求項1又は2に記載の情報処理システム。
When the number of sessions of the first module becomes 0, the session information monitoring means outputs a deployment release request including the module name and module version of the first module to the module deployment release means.
When the module undeployment means receives the undeployment request, it undeploys the module name and the module version of the first module included in the undeployment request, and is thereby called from any module. The information processing system according to claim 1 or 2, wherein a module having a module name and a module version that is no longer available is undeployed.
前記セッション情報監視手段は、セッション数が0になった前記第1のモジュールのモジュールバージョンが最新のモジュールバージョンである場合には、前記配備解除要求を出力しない、請求項3に記載の情報処理システム。 The information processing system according to claim 3, wherein the session information monitoring means does not output the deployment release request when the module version of the first module in which the number of sessions has become 0 is the latest module version. .. 前記モジュール配備解除手段は、前記どのモジュールからも呼び出されなくなったモジュールのモジュールバージョンが最新のモジュールバージョンである場合には、当該モジュールを配備解除しない、請求項3又は4に記載の情報処理システム。 The information processing system according to claim 3 or 4, wherein the module undeployment means does not undeploy the module when the module version of the module that is no longer called from any of the modules is the latest module version. セッション情報管理手段をさらに備え、
前記セッション情報管理手段は、削除を要求されたセッション、又は最終アクセス時刻から所定時間経過したセッションのセッションIDを前記セッション情報監視手段に通知する、
請求項3から5のいずれか一項に記載の情報処理システム。
Further equipped with session information management means
The session information management means notifies the session information monitoring means of the session ID of the session requested to be deleted or the session in which a predetermined time has elapsed from the last access time.
The information processing system according to any one of claims 3 to 5.
セッションテーブルを格納するセッション振り分け先情報格納手段をさらに備え、
前記セッションテーブルには、モジュール名に、当該モジュールに対するセッションのセッションIDと振り分け先のロードモジュールのモジュールバージョンとが関連づけられており、
前記セッション情報監視手段は、通知された前記セッションID及び前記セッションテーブルに基づいて、前記第1のモジュールのセッション数が0になったか否かを判断する、
請求項6に記載の情報処理システム。
Further equipped with a session distribution destination information storage means for storing the session table,
In the session table, the module name is associated with the session ID of the session for the module and the module version of the load module to be distributed.
The session information monitoring means determines whether or not the number of sessions of the first module has become 0 based on the notified session ID and the session table.
The information processing system according to claim 6.
前記情報処理システムは、ネットワークを介して管理端末に接続され、
前記管理端末から前記第1のモジュールの配備解除要求を受信し、
前記モジュール配備解除手段は、前記管理端末から受信した配備解除要求により前記第1のモジュールを配備解除するとともに、それによってどのモジュールからも呼び出されなくなったモジュールを配備解除する機能も備える、
請求項1から7のいずれか一項に記載の情報処理システム。
The information processing system is connected to the management terminal via a network and is connected to the management terminal.
Upon receiving the deployment release request of the first module from the management terminal,
The module undeployment means also has a function of undeploying the first module in response to a deployment undeployment request received from the management terminal, and also undeploying a module that is no longer called by any module.
The information processing system according to any one of claims 1 to 7.
アプリケーションを構成する複数のモジュールの各々についてのセッション数を監視し、
リクエストを直接受け付ける第1のモジュールのセッション数が0になった際に、前記第1のモジュールを配備解除するとともに、それによってどのモジュールからも呼び出されなくなったモジュールを配備解除する、
情報処理方法。
Monitor the number of sessions for each of the multiple modules that make up your application
When the number of sessions of the first module that directly accepts the request becomes 0, the first module is undeployed, and the module that is no longer called by any module is undeployed.
Information processing method.
プロセッサに、
アプリケーションを構成する複数のモジュールの各々についてのセッション数を監視し、
リクエストを直接受け付ける第1のモジュールのセッション数が0になった際に、前記第1のモジュールを配備解除するとともに、それによってどのモジュールからも呼び出されなくなったモジュールを配備解除する、
処理を実行させるプログラム。
To the processor
Monitor the number of sessions for each of the multiple modules that make up your application
When the number of sessions of the first module that directly accepts the request becomes 0, the first module is undeployed, and the module that is no longer called by any module is undeployed.
A program that executes processing.
JP2017169660A 2017-09-04 2017-09-04 Information processing system, information processing method, and program Active JP6943089B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017169660A JP6943089B2 (en) 2017-09-04 2017-09-04 Information processing system, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017169660A JP6943089B2 (en) 2017-09-04 2017-09-04 Information processing system, information processing method, and program

Publications (2)

Publication Number Publication Date
JP2019046255A JP2019046255A (en) 2019-03-22
JP6943089B2 true JP6943089B2 (en) 2021-09-29

Family

ID=65816495

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017169660A Active JP6943089B2 (en) 2017-09-04 2017-09-04 Information processing system, information processing method, and program

Country Status (1)

Country Link
JP (1) JP6943089B2 (en)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003122589A (en) * 2001-10-16 2003-04-25 Hitachi Ltd Method, system, and program for service processing
JP2005044011A (en) * 2003-07-24 2005-02-17 Hitachi Ltd Software package management method
JP4532946B2 (en) * 2004-03-19 2010-08-25 株式会社日立製作所 Application replacement method and program
US20120011496A1 (en) * 2009-03-30 2012-01-12 Nec Corporation Service providing apparatus, service providing system, method of processing data in service providing apparatus, and computer program
JP2014002528A (en) * 2012-06-18 2014-01-09 Kddi Corp Information processing device, information processing system, and program
JP6540287B2 (en) * 2015-07-03 2019-07-10 日本電気株式会社 INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD, AND PROGRAM

Also Published As

Publication number Publication date
JP2019046255A (en) 2019-03-22

Similar Documents

Publication Publication Date Title
CN108011929B (en) Data request processing method and device, computer equipment and storage medium
US10956374B2 (en) Data recovery method, apparatus, and system
US8074213B1 (en) Automatic software updates for computer systems in an enterprise environment
US10218780B2 (en) Cloud based peer assisted updates in a device management environment
EP3002930A1 (en) Method, system, terminal and device management server for installing software components
US20170090904A1 (en) Application management device, application management method, and computer-readable recording medium
CN109981350B (en) Uninterrupted upgrading method and system for cloud service
US20130111458A1 (en) Method and system for on-demand patch generation and management
CN113382077B (en) Micro-service scheduling method, micro-service scheduling device, computer equipment and storage medium
CN114866570B (en) Information processing method, device, electronic equipment and storage medium
US20170123941A1 (en) Distributed processing system
CN116627721A (en) Cloud primary database recovery method, device and storage medium based on hybrid cloud
US10338971B2 (en) Information processing apparatus, information processing system, information processing method, and program
JP6943089B2 (en) Information processing system, information processing method, and program
CN117544507A (en) Multi-region distributed configuration method and system based on cloud object storage service
US9880855B2 (en) Start-up control program, device, and method
US10664190B1 (en) Geographically dispersed data protection and replication
CN111078322A (en) Server and K8S cluster-based public configuration parameter configuration method and system
CN112579247A (en) Method and device for determining task state
US11133988B2 (en) Wireless access network device, version management system, version management method, and program
CN101626401A (en) System and method for splitting and disposing content
JP6540287B2 (en) INFORMATION PROCESSING SYSTEM, INFORMATION PROCESSING METHOD, AND PROGRAM
JP5469834B2 (en) Terminal management system
EP2590073A1 (en) Method and system for on-demand patch generation and management
JP2016057869A (en) Command execution system, client device, server device, and command execution method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200817

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210730

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210810

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210823

R150 Certificate of patent or registration of utility model

Ref document number: 6943089

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150