JP6943089B2 - Information processing system, information processing method, and program - Google Patents
Information processing system, information processing method, and program Download PDFInfo
- 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
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.
一方、アプリケーションは複数のモジュールから構成される場合がある。例えば、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を利用した振り分けを行うだけで、更新前に開始されたセッションのリクエストは更新前のモジュールで処理され、更新後の新規のリクエストは更新後のモジュールで処理されるようになる。したがって、更新前のセッションに対する処理で不整合を発生させることなく、新規のリクエストに対してモジュールの更新を反映することができる。
しかし、特許文献2では、配備解除について考慮されておらず、古いモジュールは使用されなくなってもそのまま残るという問題があった。また、特許文献1では、アプリケーションが複数のモジュールから構成される場合については考慮されておらず、一部のモジュールのみを解除することができないという問題があった。
However,
本発明は、このような問題点を解決するためになされたものであり、不要になったモジュールを自動で配備解除することができる情報処理システム、情報処理方法、及びプログラムを提供することを目的とする。 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.
以下では、本発明の実施の形態について、図面を参照しながら詳細に説明する。各図面において、同一又は対応する要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。 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は、本発明の情報処理システムの一実施形態である。
First, a configuration example of the
セッション情報監視部110は、アプリケーションを構成する複数のプログラムモジュール(以下、単にモジュールと記載する)の各々についてのセッション数を監視する。また、セッション情報監視部110は、リクエストを直接受け付ける第1のモジュールのセッション数が0になった際に、モジュール配備解除部120へ配備解除要求を出力する。なお、第1のモジュールは、図示しないクライアント端末からのリクエストを直接受け付けるモジュールである。
The session
モジュール配備解除部120は、セッション情報監視部110から配備解除要求を受け取る。また、モジュール配備解除部120は、配備解除要求を受け取った場合に、第1のモジュールを配備解除するとともに、それによってどのモジュールからも呼び出されなくなったモジュールを配備解除する。
The module
なお、モジュール配備解除部120は、どのモジュールからも呼び出されなくなったモジュールの配備解除を再帰的に行うようにしてもよい。なお、モジュールの配備解除を再帰的に行うとは、例えば、第1のモジュールのセッション数が0になった際に、それによってどのモジュールからも呼び出されなくなった第2のモジュールを配備解除し、第2のモジュールを配備解除することによりどのモジュールからも呼び出されなくなった第3のモジュールを配備解除するような処理のことである。これにより、不要になったすべてのモジュールを自動で配備解除することができる。
The module
なお、最新バージョンであるモジュールは、配備解除の対象外としてもよい。すなわち、セッション情報監視部110は、セッション数が0になった第1のモジュールのモジュールバージョンが最新のモジュールバージョンである場合には、配備解除要求を出力しないようにしてもよい。また、モジュール配備解除部120は、どのモジュールからも呼び出されなくなったモジュールのモジュールバージョンが最新のモジュールバージョンである場合には、当該モジュールを配備解除しないようにしてもよい。これにより、最新のモジュールバージョンの第1のモジュールは、セッション数が0になった後も新規のリクエストを受け付けることができる。また、配備したばかりのモジュールが配備解除対象となることを防ぐことができる。
The latest version of the module may be excluded from the target of undeployment. That is, the session
続いて、図2のフローチャートを用いて、本実施の形態1にかかるアプリケーションサーバ100の処理例について説明する。
Subsequently, a processing example of the
まず、アプリケーションサーバ100は、セッション情報監視部110により、アプリケーションを構成する複数のモジュールの各々についてのセッション数を監視する(ステップS101)。
First, the
次に、アプリケーションサーバ100は、リクエストを直接受け付ける第1のモジュールのセッション数が0になった際に、モジュール配備解除部120により、当該第1のモジュールを配備解除するとともに、それによってどのモジュールからも呼び出されなくなったモジュールを配備解除する(ステップS102)。
Next, when the number of sessions of the first module that directly accepts the request becomes 0, the
以上のように、本発明の実施の形態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
実施の形態2
続いて、本発明の実施の形態2について説明する。図3は、本発明の実施の形態2にかかるアプリケーションの実行環境の構成例を示すブロック図である。図3を参照すると、実行環境は、アプリケーションサーバ100Aと、管理端末200と、クライアント端末300と、を含む。管理端末200及びクライアント端末300は、ネットワーク10を介してアプリケーションサーバ100Aに接続される。
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
管理端末200は、アプリケーションサーバ100Aに対して、アプリケーションの配備等の運用操作を実行する。
The
クライアント端末300は、アプリケーションサーバ100Aに、アプリケーションの処理に係るリクエストを送信する。
The
アプリケーションサーバ100Aは、クライアント端末300からリクエストを受信し、アプリケーションの処理を実行する。なお、アプリケーションサーバ100Aは、本発明の情報処理システムの一実施形態である。
The application server 100A receives a request from the
アプリケーションサーバ100Aは、セッション情報監視部110Aと、モジュール配備解除部120Aと、配備処理部130と、モジュール生成部140と、モジュール実行部150と、リクエスト振り分け部160と、セッション情報管理部170と、モジュール格納部181と、呼び出し関係格納部182と、バージョン情報格納部183と、セッション振り分け先情報格納部184と、を備えている。
The application server 100A includes a session
配備処理部130は、管理端末200からの運用操作によって、アプリケーションを構成する複数のモジュールの各々をアプリケーションサーバ100Aに配備する。具体的には、配備処理部130は、モジュール格納部181の実行ファイルテーブル1に、管理端末200から受信したモジュールに関する情報の登録を行う。また、配備処理部130は、モジュール格納部181に、管理端末200から受信した実行ファイルの実体を保存する。
The
モジュール格納部181は、配備処理部130により配備されたモジュールを格納する。具体的には、モジュール格納部181は、実行ファイルテーブル1、及び、実行ファイルの実体を格納する。実行ファイルテーブル1は、アプリケーションを構成する複数のモジュールの各々の実行ファイルを示す。実行ファイルテーブル1の例を図4に示す。実行ファイルテーブル1では、複数のモジュールの各々のモジュール名に、当該モジュールの実行ファイルのバージョン(ファイルバージョン)、及び、ファイル名が関連づけられている。
The
モジュール生成部140は、モジュール格納部181に格納されているモジュールをロードモジュール400としてモジュール実行部150にロードする。具体的には、モジュール生成部140は、実行ファイルを用いて処理実行部401を生成し、生成した呼び出し部402とともに、ロードモジュール400に設定する。また、モジュール生成部140は、生成したロードモジュール400を、モジュール実行部150にロードする。また、モジュール生成部140は、バージョン情報格納部183のバージョンテーブル2及びロードバージョンテーブル3への登録を行う。さらに、モジュール生成部140は、呼び出し関係格納部182の呼び出し関係テーブル4への登録を行う。
The
図5は、本実施の形態2にかかるモジュール実行部150にロードされるロードモジュール400の構成を示す図である。ロードモジュール400は、処理実行部401、及び、呼び出し部402を含む。
FIG. 5 is a diagram showing a configuration of a
処理実行部401は、モジュールの実行ファイルに従って、モジュールに係る処理を実行する。呼び出し部402は、モジュールが依存する他のモジュールのロードモジュール400の処理を呼び出す。モジュールが、複数の他のモジュールに依存する場合、それぞれの他のモジュールに対して、呼び出し部402が存在する。
The
モジュール実行部150は、モジュール生成部140によりロードされたロードモジュール400を実行する。
The
バージョン情報格納部183は、バージョンテーブル2、及び、ロードバージョンテーブル3を格納する。バージョンテーブル2は、各モジュールの最新のロードモジュール400を示す。ロードバージョンテーブル3は、モジュール実行部150にロードされた各ロードモジュール400を示す。
The version
バージョンテーブル2の例を図6に示す。バージョンテーブル2では、複数のモジュールの各々のモジュール名に、当該モジュールの最新のロードモジュール400のバージョン(モジュールバージョン)が関連づけられている。
An example of the version table 2 is shown in FIG. In the version table 2, the
ロードバージョンテーブル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
呼び出し関係格納部182は、呼び出し関係テーブル4を格納する。呼び出し関係テーブル4は、モジュール間の呼び出し関係を示す。呼び出し関係テーブル4の例を図8に示す。呼び出し関係テーブル4では、呼び出し先モジュールのモジュール名とモジュールバージョンの組に、呼び出し元モジュールのモジュール名とモジュールバージョンの組が関連づけられている。
The call
セッション振り分け先情報格納部184は、セッションテーブル5を格納する。セッションテーブル5は、各セッションの振り分け先のロードモジュール400を示す。セッションテーブル5の例を図9に示す。セッションテーブル5では、モジュールのモジュール名に、当該モジュールに対するセッションのセッションID(Identifier)と振り分け先のロードモジュール400のモジュールバージョンとが関連づけられている。
The session distribution destination
リクエスト振り分け部160は、セッションテーブル5をもとに、クライアント端末300から受信したリクエストを、適切なロードモジュール400に振り分ける。また、リクエスト振り分け部160は、セッションテーブル5に、セッションID、モジュール名、及びモジュールバージョンを登録する。
The
セッション情報管理部170は、セッションID、セッションオブジェクト、及びセッションへの最終アクセス時刻を記録するセッション情報テーブル6を有する。セッション情報テーブル6の例を図10に示す。なお、セッションオブジェクトは、例えば図11に示すようなキーと値の組から構成される構造体であるが、それに限定されない。
The session
セッション情報監視部110A、モジュール配備解除部120A、及びセッション情報管理部170の処理については、後にフローチャートを用いて具体的に説明する。
The processes of the session
なお、アプリケーションサーバ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
図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
次に、セッション情報管理部170は、セッション情報テーブル6に要求されたセッションIDの行があるか否かを判断する(ステップS202)。
Next, the session
要求されたセッション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
他方、要求されたセッション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
ステップS203又はステップS204の後に、セッション情報管理部170は、取得された又は新規に生成されたセッションオブジェクトをロードモジュール400に返す(ステップS205)。
After step S203 or step S204, the session
図13は、本実施の形態2にかかるセッションの更新処理を示すフローチャートである。 FIG. 13 is a flowchart showing a session update process according to the second embodiment.
ロードモジュール400は、セッション取得処理により、セッションIDに対応するセッションオブジェクトを取得する(ステップS301)。
The
次に、ロードモジュール400は、取得したセッションオブジェクトの内容を更新する(ステップS302)。
Next, the
次に、ロードモジュール400は、セッションIDと更新されたセッションオブジェクトをセッション情報管理部170へ送り更新を要求する(ステップS303)。
Next, the
次に、セッション情報管理部170は、セッション情報テーブル6において要求されたセッションIDに対応する行のセッションオブジェクトを更新し、最終アクセス時刻を現在の時刻に更新する(ステップS304)。
Next, the session
続いてセッションの削除について説明する。セッションの削除は、ロードモジュール400による削除要求によって行われる場合と、セッションの最終アクセス時刻から一定時間経過後に自動的に削除される場合(セッションタイムアウト)がある。なお、どちらか一方だけの構成もあり、セッションタイムアウトが無い場合には、セッション情報テーブル6の最終アクセス時刻とその更新処理は不要である。
Next, the deletion of the session will be described. The session may be deleted by a deletion request by the
図14は、本実施の形態2にかかるロードモジュール400による削除要求によって行われるセッションの削除処理を示すフローチャートである。
FIG. 14 is a flowchart showing a session deletion process performed by a deletion request by the
ロードモジュール400は、セッションIDに対応するセッションの削除をセッション情報管理部170に要求する。すなわち、セッション情報管理部170は、セッションIDに対応するセッションの削除をロードモジュール400から要求される(ステップS401)。
The
次に、セッション情報管理部170は、セッション情報テーブル6において要求されたセッションIDに対応する行を削除する(ステップS402)。
Next, the session
次に、セッション情報管理部170は、削除したセッションのセッションIDをセッション情報監視部110Aに通知する(ステップS403)。
Next, the session
図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
次に、セッション情報管理部170は、削除したセッションのセッションIDをセッション情報監視部110Aに通知する(ステップS502)。
Next, the session
次に、セッション情報管理部170は、ステップS501を行った時刻から所定時間(監視間隔)が経過したか否かを判断する(ステップS503)。
Next, the session
所定の監視間隔が経過していない場合(ステップS503にてNO)、セッション情報管理部170は、所定の監視間隔が経過するのを待つ。
If the predetermined monitoring interval has not elapsed (NO in step S503), the session
所定の監視間隔が経過した場合(ステップS503にてYES)、セッション情報管理部170は、再度ステップS501の処理を行う。
When the predetermined monitoring interval has elapsed (YES in step S503), the session
なお、タイムアウトするまでの時間(タイムアウト時間)はすべてのモジュール又はセッションで同じであってもよいし、異なっていてもよい。また、モジュール又はセッションごとにタイムアウトするまでの時間を変える場合には、例えばセッション情報テーブル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
セッション情報監視部110Aは、削除されたセッションのセッションIDを含むセッション削除通知をセッション情報管理部170から受ける(ステップS601)。
The session
次に、セッション情報監視部110Aは、削除されたセッションのセッションIDと一致する行の振り分け先のモジュール名MとモジュールバージョンVを、セッション振り分け先情報格納部184のセッションテーブル5から取得する(ステップS602)。
Next, the session
次に、セッション情報監視部110Aは、削除されたセッションのセッションIDと一致する行をセッションテーブル5から削除する(ステップS603)。
Next, the session
次に、セッション情報監視部110Aは、セッションテーブル5にモジュール名がMであり、且つモジュールバージョンがVである行があるか否かを判断する(ステップS604)。
Next, the session
セッションテーブル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
他方、セッションテーブル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
次に、セッション情報監視部110Aは、ステップS605にて取得された最新モジュールバージョンがモジュールバージョンVと一致するか否かを判断する(ステップS606)。
Next, the session
最新モジュールバージョンがモジュールバージョンVと一致する場合(ステップS606にてYES)、セッション情報監視部110Aは、処理を終了する。これにより、最新バージョンであるモジュールは、配備解除の対象外になる。
When the latest module version matches the module version V (YES in step S606), the session
他方、最新モジュールバージョンがモジュールバージョン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
<モジュール配備解除処理>
続いて、図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
次に、モジュール配備解除部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
呼び出し関係テーブル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
<具体例>
続いて、本発明の実施の形態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
また、各モジュールの実行ファイルとして、モジュール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
図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
図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
また、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
モジュール名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
その結果、実行ファイルテーブル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
以上のように、本発明の実施の形態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
また、アプリケーションサーバ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
さらに、アプリケーションサーバ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
なお、上述の説明では、モジュール格納部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
また、上述の説明では、配備解除の契機として、アプリケーションのリクエストを直接受け付ける第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
実施の形態3
続いて、本発明の実施の形態3について説明する。図29は、本発明の実施の形態3にかかるアプリケーションの実行環境の構成例を示すブロック図である。図29を参照すると、実行環境は、アプリケーションサーバ100Bと、管理端末200と、を含む。管理端末200は、ネットワーク10を介してアプリケーションサーバ100Bに接続される。
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
アプリケーションサーバ100Bは、モジュール配備解除部120Bと、モジュール実行部150と、モジュール格納部181と、呼び出し関係格納部182と、バージョン情報格納部183と、を備えている。
The
アプリケーションサーバ100Bは、実施の形態2で説明した、アプリケーションのリクエストを直接受け付ける第1のモジュールのセッション数が0になった際にモジュールの配備解除を行う機能を備えていない。その機能に代えて、アプリケーションサーバ100Bは、管理端末200から受信した配備解除要求によりモジュールの配備解除を行う機能を備えている。すなわち、アプリケーションサーバ100Bは、管理端末200から第1のモジュールの配備解除要求を受信する。また、モジュール配備解除部120Bは、管理端末200から受信した配備解除要求により第1のモジュールの配備解除を行う。さらに、モジュール配備解除部120Bは、第1のモジュールの配備解除によってどのモジュールからも呼び出されなくなったモジュールを配備解除する。これにより、運用管理者が任意のタイミングでモジュールを配備解除し、それに伴って不要になったモジュールを自動で配備解除することができる。
The
なお、上述の例において、プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(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
Claims (10)
前記配備解除要求を受け取った場合に、前記第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のモジュールを配備解除するとともに、それによってどのモジュールからも呼び出されなくなったモジュール名且つモジュールバージョンのモジュールを配備解除する、請求項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.
前記セッション情報管理手段は、削除を要求されたセッション、又は最終アクセス時刻から所定時間経過したセッションのセッション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.
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)
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 |
-
2017
- 2017-09-04 JP JP2017169660A patent/JP6943089B2/en active Active
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 |