JP2018133046A - Software control program, software control device, and software control method - Google Patents
Software control program, software control device, and software control method Download PDFInfo
- Publication number
- JP2018133046A JP2018133046A JP2017028219A JP2017028219A JP2018133046A JP 2018133046 A JP2018133046 A JP 2018133046A JP 2017028219 A JP2017028219 A JP 2017028219A JP 2017028219 A JP2017028219 A JP 2017028219A JP 2018133046 A JP2018133046 A JP 2018133046A
- Authority
- JP
- Japan
- Prior art keywords
- software
- application
- request message
- memory
- stored
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
Description
本発明は、ソフトウェア制御プログラム、ソフトウェア制御装置及びソフトウェア制御方法に関する。 The present invention relates to a software control program, a software control apparatus, and a software control method.
従来、PaaS(Platform as a Service)システムを開発者(以下、契約者ともいう)が利用する場合、予めリソース量を契約し、そのリソース量に収まるようにアプリケーションプログラム(以下、アプリともいう)の登録・削除が行われる。利用する全てのアプリを登録可能なリソース量を契約すれば、アプリの登録・削除は不要であるが、そのようにすると、利用料金が高額になるため、一般的に、アプリの登録・削除が必要となる。 Conventionally, when a developer (hereinafter also referred to as a contractor) uses a PaaS (Platform as a Service) system, a resource amount is contracted in advance, and an application program (hereinafter also referred to as an application) is set so as to be within the resource amount. Registration / deletion is performed. If you register the amount of resources that can be used to register all the apps you use, there is no need to register / delete apps. However, if you do so, the usage fee will be high. Necessary.
以下の特許文献は、プログラム処理について関連する。 The following patent documents relate to program processing.
しかしながら、ユーザからPaaSシステムで起動していないアプリ宛の要求メッセージを受信すると、そのアプリ宛の要求メッセージを取りこぼす場合があるという課題がある。 However, when a request message addressed to an application not activated in the PaaS system is received from the user, there is a problem that the request message addressed to the application may be missed.
そこで、本開示の第1の側面の目的は、ユーザから受信したPaaSシステムで起動していないソフトウェア宛(例えば、アプリ宛)の要求メッセージの取りこぼしを抑制することができるソフトウェア(例えば、アプリ)制御プログラムを提供することにある。 Accordingly, an object of the first aspect of the present disclosure is to control software (for example, an application) that can prevent a request message received from a user (for example, for an application) that is not activated in the PaaS system from being missed. To provide a program.
本開示の第1の側面は、システムで起動するソフトウェア及び該ソフトウェアの前記システムでの運用状況を契約者ごとに第1メモリに記憶し、最後の要求メッセージを処理した時刻から所定時間経過したソフトウェアの停止を前記システムに要求するとともに前記所定時間経過したソフトウェアの運用状況を停止中に変更し、ユーザから第1ソフトウェア宛の要求メッセージを受信したとき、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶する第1処理を行い、該第1ソフトウェアの運用状況が起動中の場合、前記第2メモリに記憶された要求メッセージを前記システムに転送する第2処理を行い、該第1ソフトウェアの運用状況が停止中の場合、前記第1ソフトウェアに対応づけられた第1契約者のソフトウェアのうち運用状況が起動中のソフトウェアのリソースと前記第1ソフトウェアのリソースとを加算した合計量が、前記第1契約者のリソース上限量を超えない場合、前記第1ソフトウェアの起動を前記システムに要求し、該第1ソフトウェアの起動後、前記第2メモリに記憶された要求メッセージを前記システムに転送するとともに前記第1ソフトウェアの運用状況を起動中に変更する第3処理を行う、処理をコンピュータで実行させるソフトウェア制御プログラムである。 According to a first aspect of the present disclosure, software that is activated in a system and operation status of the software in the system are stored in a first memory for each contractor, and software that has passed a predetermined time since the last request message was processed Requesting the system to be stopped, changing the operating status of the software after the predetermined time has passed to stop, and receiving a request message addressed to the first software from the user, the request addressed to the first software is stored in the second memory. A first process for storing a message is performed, and when the operating status of the first software is activated, a second process for transferring a request message stored in the second memory to the system is performed, and the first software When the operation status is suspended, the operation of the software of the first contractor associated with the first software is performed. If the total amount of the resources of the activated software and the resources of the first software does not exceed the resource upper limit amount of the first contractor, the system requests the system to start the first software, After starting the first software, the request message stored in the second memory is transferred to the system, and the third process for changing the operating status of the first software during the start is performed by the computer. Software control program.
本開示の第2の側面は、システムで起動するソフトウェア及び該ソフトウェアの前記システムでの運用状況を契約者ごとに第1メモリに記憶し、運用状況が正規ソフトウェアとして起動中のソフトウェアのうち最後の要求メッセージを処理した時刻から所定時間経過したソフトウェアのダミーソフトウェアとしての起動を前記システムに要求するとともに前記所定時間経過したソフトウェアの運用状況をダミーソフトウェアとして起動中に変更し、ユーザから第1ソフトウェア宛の要求メッセージを受信したとき、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶する第1処理を行い、該第1ソフトウェアの運用状況が正規ソフトウェアとして起動中の場合、前記第2メモリに記憶された要求メッセージを前記システムに転送する第2処理を行い、該第1ソフトウェアの運用状況がダミーソフトウェアとして起動中の場合、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶し、前記第1ソフトウェアに対応づけられた第1契約者のソフトウェアのうち運用状況が起動中のソフトウェアのリソースと前記第1ソフトウェアのリソースとを加算した合計量が、前記第1契約者のリソース上限量を超えない場合、前記第1ソフトウェアの正規ソフトウェアとしての起動を前記システムに要求し、該第1ソフトウェアが正規ソフトウェアとして起動後、前記第2メモリに記憶された要求メッセージを前記システムに転送するとともに前記第1ソフトウェアの運用状況を正規ソフトウェアとして起動中に変更する第3処理を行う、処理をコンピュータで実行させるソフトウェア制御プログラムである。 According to a second aspect of the present disclosure, the software activated in the system and the operation status of the software in the system are stored in the first memory for each contractor, and the operation status is the last of the software activated as the regular software. Requests the system to start the software as a dummy software after a predetermined time has elapsed from the time when the request message was processed, and changes the operating status of the software after the predetermined time has passed during the startup as a dummy software. When a request message for the first software is received, the first process for storing the request message addressed to the first software is performed in the second memory. When the operating status of the first software is activated as the regular software, the second memory Forward the stored request message to the system When the second processing is performed and the operating status of the first software is being activated as dummy software, a request message addressed to the first software is stored in the second memory, and the first contract associated with the first software If the total amount of the software resources whose operating status is activated and the resources of the first software does not exceed the resource upper limit amount of the first contractor, the authorized software of the first software After the first software is activated as authorized software, the request message stored in the second memory is transferred to the system and the operation status of the first software is activated as authorized software. The third process to change to Is a Towea control program.
第1の側面及び第2の側面によれば、ユーザから受信したPaaSシステムで起動していないソフトウェア宛(例えば、アプリ宛)の要求メッセージの取りこぼしを抑制することができる。 According to the first aspect and the second aspect, it is possible to suppress missing of a request message received from a user and addressed to software that is not activated in the PaaS system (for example, to an application).
[第1実施形態]
まず、第1実施形態の情報処理システム10の概要について説明する。
[First Embodiment]
First, an overview of the
図1は、第1実施形態の情報処理システム10の概略構成図である。
FIG. 1 is a schematic configuration diagram of an
図1に示すように、本実施形態の情報処理システム10は、PaaSシステム20、アプリ起動制御システム30、開発者端末40、アプリ利用者端末50等を備える。開発者が本発明の契約者に相当し、アプリ利用者が本発明のユーザに相当する。
As shown in FIG. 1, the
開発者端末40は、インターネット等のネットワークNWを介してPaaSシステム20、アプリ起動制御システム30に接続する。アプリ利用者端末50は、ネットワークNWを介してアプリ起動制御システム30に接続する。
The
開発者は、開発者端末40を介して正規アプリの登録要求をアプリ起動制御システム30に送信する。アプリ起動制御システム30は、開発者から正規アプリの登録要求を受信したとき、該アプリ及び該アプリのPaaSシステム20での運用状況を開発者ごとに登録済みアプリ管理テーブル31sに記憶する。正規アプリとは、通常アプリと比べ、アプリ利用者の利用頻度が低い(1日に1回、1週間に1回、又は、月に1回等)アプリのことである。正規アプリが本発明の正規ソフトウェアに相当する。
The developer transmits a regular application registration request to the application
また、開発者は、開発者端末40を介して通常アプリをPaaSシステム20に登録する。通常アプリとは、正規アプリと比べ、アプリ利用者の利用頻度が高いアプリのことである。PaaSシステム20は、その登録された通常アプリがコピーされたコンテナを作成し、そのコンテナ(及び通常アプリ)を起動させる。なお、通常アプリのPaaSシステム20での運用状況は、アプリ起動制御システム30(登録済みアプリ管理テーブル31s)に記憶されない。
Further, the developer registers the normal application in the PaaS
アプリ利用者は、アプリ利用者端末50を介して第1アプリ宛の要求メッセージをアプリ起動制御システム30に送信する。
The application user transmits a request message addressed to the first application to the application
アプリ起動制御システム30は、アプリ変更時間テーブル31uを参照して、運用状況が正規アプリとして起動中のアプリのうち最後の要求メッセージを処理(例えば、受信)した時刻(例えば、要求メッセージ受信時刻)から所定時間経過したアプリのダミーアプリとしての起動をPaaSシステム20に要求するとともに所定時間経過したアプリ変更時間テーブル31u中のアプリの運用状況をダミーアプリとして起動中に変更する。
The application
なお、最後の要求メッセージを処理した時刻は、要求メッセージ受信時刻に限らず、要求キュー31tに記憶された該最後の要求メッセージをPaaSシステム20に転送した時刻であってもよい。
The time at which the last request message is processed is not limited to the request message reception time, but may be the time at which the last request message stored in the
ダミーアプリとは、正規アプリと比べ、リソース(メモリやディスク)の使用量が小さいアプリのことである。ダミーアプリが本発明のダミーソフトウェアに相当する。PaaSシステム20は、ダミーアプリがコピーされたコンテナを作成し、そのコンテナ(及びダミーアプリ)を起動させる。
A dummy app is an app that uses less resources (memory or disk) than a regular app. The dummy application corresponds to the dummy software of the present invention. The
また、アプリ起動制御システム30は、アプリ利用者から第1アプリ宛の要求メッセージを受信したとき、次の処理を行う。
Further, the application
アプリ起動制御システム30は、登録済みアプリ管理テーブル31sを参照して第1アプリの運用状況がダミーアプリとして起動中の場合、要求キュー31tに第1アプリ宛の要求メッセージを記憶する。要求キュー31tが本発明の第2メモリに相当する。
The application
次に、第1アプリに対応づけられた第1契約者のアプリのうち運用状況が起動中(正規アプリとして起動中及びダミーアプリとして起動中の両方を含む)のアプリの予約済みメモリ量と第1アプリの予約済みメモリ量とを加算した合計量が、第1契約者のメモリ上限量を超えない場合、第1アプリの正規アプリとしての起動をPaaSシステム20に要求する。PaaSシステム20は、正規アプリがコピー(ダミーアプリに上書き)されたコンテナ(及び正規アプリ)を起動させる。
Next, among the apps of the first contractor associated with the first app, the reserved memory amount of the app whose operation status is running (including both running as a regular app and running as a dummy app) and the first When the total amount obtained by adding the reserved memory amount of one application does not exceed the memory upper limit amount of the first contractor, the
そして、第1アプリがPaaSシステム20で正規アプリとして起動後、要求キュー31tに記憶された第1アプリ宛の要求メッセージをPaaSシステム20に転送するとともに登録済みアプリ管理テーブル31s中の第1アプリの運用状況を正規アプリとして起動中に変更する。PaaSシステム20は、第1アプリ宛の要求メッセージを正規アプリとして起動中の第1アプリに転送する。
After the first application is activated as a regular application in the
次に、PaaSシステム20について詳細に説明する。
Next, the
図1に示すように、PaaSシステム20は、例えば、ホストコンピュータ21(サーバ装置)及びストレージ22を含む。ホストコンピュータ21及びストレージ22は、それぞれ、1つであってもよいし、複数であってもよい。
As shown in FIG. 1, the
ホストコンピュータ21は、例えば、ハイパーバイザ型仮想化、コンテナ型仮想化、又はこれらを組み合わせたハイブリッド型仮想化を行って、仮想化されたアプリケーション実行環境を提供する。
The
ストレージ22には、ホストコンピュータ21が実行するOSやアプリケーションプログラム、アプリケーションプログラムが用いるデータ等が記憶される。具体的には、ホストコンピュータ21で実行される仮想化環境21h、21jを生成するプログラム、VMやコンテナ上で実行されるアプリケーションの業務処理を行うためのプログラムやデータ等が記憶される。
The storage 22 stores an OS executed by the
図2は、ホストコンピュータ21のハードウェア構成の一例を示す図である。
FIG. 2 is a diagram illustrating an example of a hardware configuration of the
ホストコンピュータ21は、CPU21aと、入出力装置インタフェース回路21bと、メモリ21cと、ネットワークインタフェース回路21dと、ストレージインタフェース回路21eと、ローカルバスインタフェース回路21fと、を備える。
The
CPU21aは、内部バス21gを介して、メモリ21cや入出力装置インタフェース回路21b等の各インタフェース回路(21d〜21f)にアクセスする。
The
CPU21aは、Central Processing Unit(CPU)、Micro-Processing Unit(MPU)等のプロセッサの電子部品である。CPU21aは、1つであってもよいし、複数であってもよい。
The
CPU21aは、ストレージ22に格納されたプログラムやデータをメモリ21cに読み出して、仮想化環境21h、21jに関連するプログラム処理、及び、VMやコンテナ上で実行されるアプリケーションの業務処理に関するプログラムを実行する。
The
入出力装置インタフェース回路21bは、不図示のマウスやキーボード等のデバイスを含む周辺デバイスへの入出力を制御するための回路である。
The input / output
メモリ21cは、RAM(Random Access Memory)等の記憶デバイスである。
The
ネットワークインタフェース回路21dは、ネットワークNWを介して他の装置(例えば、開発者端末40)と通信を行うためのインタフェース回路である。
The
ストレージインタフェース回路21eは、ストレージ22へのアクセスを行うためのインタフェース回路である。
The
ローカルバスインタフェース回路21fは、ローカルバス21gを介して情報処理システム10内のアプリ起動制御システム30等と通信を行うためのインタフェース回路である。
The local
図3は、ホストコンピュータ21におけるアプリケーションプログラム実行環境を説明する図である。
FIG. 3 is a diagram for explaining an application program execution environment in the
ホストコンピュータ21においては、CPU21aやメモリ21c等を用いて、ハイパーバイザ型仮想化環境21hと、仮想マシン21h2上で稼働するコンテナ型仮想化環境21jとが動作するハイブリッド型仮想化環境が提供される。
In the
ハイパーバイザ型仮想化環境21hは、ハイパーバイザ21h1と、ハイパーバイザ21h1によって生成された仮想マシン21h2とを含む。ハイパーバイザ21h1は、仮想マシン21h2の起動や削除、仮想マシン21h2上で実行されるプログラムからのハードウェア資源へのアクセス要求の制御等を行う。
The hypervisor
仮想マシン21h2は、ホストコンピュータ21のハードウェア資源を仮想化したものであり、仮想マシン21h2毎に独立したソフトウェア実行環境が提供される。図3において、2つの仮想マシン21h2が起動した例を示しているが、これに限らず、1又は複数(3以上)の仮想マシン21h2が起動する場合もある。
The virtual machine 21h2 is a virtualized hardware resource of the
図3の例では、仮想マシン21h2において、コンテナ型仮想化環境21jが提供される。コンテナ型仮想化環境21jでは、仮想マシン21h2上でOS21j1が起動され、そのOS21j1上でコンテナ仮想化ソフトウェアがインストールされる。図3において、OS21j1上で2つのコンテナ21j2が起動した例を示しているが、これに限らず、OS21j1上で1又は複数(3以上)のコンテナ21j2が起動する場合もある。
In the example of FIG. 3, a container type
コンテナ型仮想化環境21jでは、OS21j1によって、独立したアプリケーション実行環境であるコンテナ21j2が提供される。コンテナ型仮想化では過去に作成したアプリケーション実行環境を共通ファイルのイメージとして保存する。そして、保存したイメージをコピーし、アプリケーション実行環境ごとの設定を追加することで、新たなコンテナを容易に作成できる。そのため、コンテナ型仮想化環境は、PaaS(Platform as a Service)等の構築に適している。
In the container
コンテナ21j2は、API(OS API)、その上にインストールされたJAVA(登録商標)等の実行環境(ビルドパック)、JAVA等の実行環境の上にコピーされたアプリケーションプログラム(通常アプリ、正規アプリ、又は、ダミーアプリ)等を含む。 The container 21j2 includes an API (OS API), an execution environment (build pack) such as JAVA (registered trademark) installed thereon, and an application program (normal application, regular application, Or a dummy app).
PaaSシステム20にアプリが登録されると、PaaSシステム20は、その登録されたアプリがコピーされたコンテナ21j2を作成し、そのコンテナ(及びアプリ)を起動させる。なお、PaaSシステム20にアプリを登録する際には、例えば、プッシュコマンドが用いられる(開発者端末40を介して通常アプリをPaaSシステム20に登録する場合)。
When an application is registered in the
また、アプリ(旧アプリという)が既に登録されているPaaSシステム20に対して同じアプリ名のアプリ(新アプリという)のアプリ登録要求があった場合、PaaSシステム20は、旧アプリの開発者(例えば、ユーザ名)と新アプリの開発者(例えば、ユーザ名)とが同じであれば、登録を許可する。一方、PaaSシステム20は、旧アプリの開発者(例えば、ユーザ名)と新アプリの開発者(例えば、ユーザ名)とが異なっていれば、登録を許可しない。
In addition, when there is an application registration request for an application with the same application name (referred to as a new application) with respect to the
図4は、PaaSシステム20の主要機能及びPaaSシステム20が持つテーブルを説明するための図である。
FIG. 4 is a diagram for explaining the main functions of the
図4に示す各機能は、CPU21aがストレージ22からメモリ21cに読み出された所定プログラムを実行することで実現される。図4に示す各機能の詳細については、後述する(図13、図18〜図20等参照)。
Each function shown in FIG. 4 is realized by the
図5は、アプリ情報テーブル21nの一例である。アプリ情報テーブル21nは、例えば、ストレージ22に記憶されており、必要に応じてストレージ22からメモリ21cに読み出される。
FIG. 5 is an example of the application information table 21n. For example, the application information table 21n is stored in the storage 22, and is read from the storage 22 to the
アプリ情報テーブル21nは、アプリ及びそのアプリのPaaSシステム20での運用状況等を記憶する。アプリ情報テーブル21nは、開発者ごとに用意される。図5は例えば、開発者A用のアプリ情報テーブル21nの一例である。
The application information table 21n stores an application and an operation status of the application in the
図5に示すように、アプリ情報テーブル21nは、「アプリ名」、及び、その「アプリ名」の「URL名」、「使用CPU」、「使用メモリ」、「使用ディスク」、「予約済みメモリ量」、「予約済みディスク量」、「運用状況」等の項目を含む。 As shown in FIG. 5, the application information table 21 n includes “application name”, “URL name”, “used CPU”, “used memory”, “used disk”, “reserved memory” of the “application name”. Includes items such as “Amount”, “Reserved Disk Amount”, and “Operational Status”.
「アプリ名」には、PaaSシステム20に登録されたアプリのアプリ名が記憶される。
In “APP NAME”, the application name of the application registered in the
「URL名」には、「アプリ名」に記憶されたアプリ名のアプリにアクセスするためのURLが記憶される。 In “URL name”, a URL for accessing an application having an application name stored in “application name” is stored.
「使用CPU」には、「アプリ名」に記憶されたアプリ名のアプリが実際に使用しているCPU使用率が記憶される。 In “used CPU”, the CPU usage rate actually used by the application having the application name stored in “application name” is stored.
「使用メモリ」には、「アプリ名」に記憶されたアプリ名のアプリが実際に使用しているメモリ量が記憶される。 In the “used memory”, the memory amount actually used by the application having the application name stored in the “application name” is stored.
「使用ディスク」には、「アプリ名」に記憶されたアプリ名のアプリが実際に使用しているディスク量が記憶される。 In “used disk”, the disk amount actually used by the application having the application name stored in “application name” is stored.
「予約済みメモリ量」には、「アプリ名」に記憶されたアプリ名のアプリが使用可能なメモリの上限量が記憶される。 The “reserved memory amount” stores the upper limit amount of memory that can be used by the application having the application name stored in the “application name”.
「予約済みディスク量」には、「アプリ名」に記憶されたアプリ名のアプリが使用可能なディスクの上限量が記憶される。 The “reserved disk amount” stores the upper limit amount of a disk that can be used by the application having the application name stored in “application name”.
「運用状況」には、「アプリ名」に記憶されたアプリ名のアプリのPaaSシステム20での運用状況(起動状態ともいう)が記憶される。
In the “operation status”, an operation status (also referred to as an activated state) of the application having the application name stored in “application name” in the
図6は、開発者リソース制限テーブル21pの一例である。開発者リソース制限テーブル21pは、例えば、ストレージ22に記憶されており、必要に応じてストレージ22からメモリ21cに読み出される。なお、アプリ起動制御システム30も、開発者リソース制限テーブル21pを備えている(図8参照)。
FIG. 6 is an example of the developer resource restriction table 21p. The developer resource restriction table 21p is stored in the storage 22, for example, and is read from the storage 22 to the
図6に示すように、開発者リソース制限テーブル21pは、「開発者名」、及び、その「開発者名」の「メモリ上限量(メモリ制限ともいう)」、「ディスク上限量(ディスク制限ともいう)」等の項目を含む。 As shown in FIG. 6, the developer resource limit table 21p includes “developer name”, “memory upper limit (also referred to as memory limit)” and “disk upper limit (also referred to as disk limit) of the“ developer name ”. ")".
「開発者名」には、PaaSシステム20を利用する旨の契約をした開発者名が記憶される。
The “developer name” stores the name of the developer who has contracted to use the
「メモリ上限量」には、「開発者名」に記憶された開発者が使用可能なメモリの上限量が記憶される。メモリ上限量が本発明のリソース上限量(又はリソース契約量ともいえる)に相当する。 The “memory upper limit amount” stores the upper limit amount of memory that can be used by the developer stored in the “developer name”. The memory upper limit amount corresponds to the resource upper limit amount (or resource contract amount) of the present invention.
「ディスク上限量」には、「開発者名」に記憶された開発者が使用可能なディスクの上限量が記憶される。 In the “disc upper limit amount”, the upper limit amount of the disc that can be used by the developer stored in the “developer name” is stored.
次に、アプリ起動制御システム30について詳細に説明する。
Next, the application
図1に示すように、アプリ起動制御システム30は、例えば、ホストコンピュータ31(サーバ装置)及びストレージ32を含む。ホストコンピュータ31及びストレージ32は、それぞれ、1つであってもよいし、複数であってもよい。
As shown in FIG. 1, the application
図7は、ホストコンピュータ31のハードウェア構成の一例を示す図である。
FIG. 7 is a diagram illustrating an example of a hardware configuration of the
ホストコンピュータ31は、CPU31aと、入出力装置インタフェース回路31bと、メモリ31cと、ネットワークインタフェース回路31dと、ストレージインタフェース回路31eと、ローカルバスインタフェース回路31fと、を備える。
The
CPU31aは、内部バス31gを介して、メモリ31cや入出力装置インタフェース回路31b等の各インタフェース回路(31d〜31f)にアクセスする。
The
CPU31aは、Central Processing Unit(CPU)、Micro-Processing Unit(MPU)等のプロセッサの電子部品である。CPU31aは、1つであってもよいし、複数であってもよい。
The
入出力装置インタフェース回路31bは、不図示のマウスやキーボード等のデバイスを含む周辺デバイスへの入出力を制御するための回路である。
The input / output
メモリ31cは、RAM(Random Access Memory)等の記憶デバイスである。
The
ネットワークインタフェース回路31dは、ネットワークNWを介して他の装置(例えば、開発者端末40やアプリ利用者端末50)と通信を行うためのインタフェース回路である。
The
ストレージインタフェース回路31eは、ストレージ32へのアクセスを行うためのインタフェース回路である。
The
ローカルバスインタフェース回路31fは、ローカルバス31gを介して情報処理システム10内のPaaSシステム20等と通信を行うためのインタフェース回路である。
The local
図8は、アプリ起動制御システム30の主要機能及びアプリ起動制御システム30が持つテーブルを説明するための図である。
FIG. 8 is a diagram for explaining the main functions of the application
図8に示す各機能は、CPU31aがストレージ32からメモリ31cに読み出された所定プログラムを実行することで実現される。図8に示す各機能の詳細については、後述する(図13、図18〜図20等参照)。
Each function shown in FIG. 8 is realized by the
図9は、登録済みアプリ管理テーブル31sの一例である。登録済みアプリ管理テーブル31sは、例えば、ストレージ32に記憶されており、必要に応じてストレージ32からメモリ31cに読み出される。登録済みアプリ管理テーブル31sが本発明の第1メモリに相当する。
FIG. 9 is an example of a registered application management table 31s. The registered application management table 31s is stored in the
登録済みアプリ管理テーブル31sは、アプリ及びそのアプリのPaaSシステム20での運用状況を開発者ごとに記憶する。
The registered application management table 31s stores the application and the operation status of the application in the
図9に示すように、登録済みアプリ管理テーブル31sは、「アプリ名」、及び、その「アプリ名」の「開発者名」、「URL」、「ダミーフラグ」、「ファイル名」、「予約済みメモリ量」、「予約済みディスク量」、「運用状況」等の項目を含む。 As shown in FIG. 9, the registered application management table 31s includes “application name” and “developer name”, “URL”, “dummy flag”, “file name”, “reservation” of the “application name”. This includes items such as “Reserved Memory Amount”, “Reserved Disk Amount”, and “Operation Status”.
「アプリ名」には、アプリ起動制御システム30が起動を制御するアプリのアプリ名が記憶される。
In “APP NAME”, the application name of the application that is controlled by the application
「開発者名」には、「アプリ名」に記憶されたアプリ名のアプリの開発者名、典型的には、「アプリ名」に記憶されたアプリ名のアプリを開発した開発者名が記憶される。 “Developer name” stores the name of the application developer stored in “App name”, typically the name of the developer who developed the application name stored in “App name”. Is done.
「URL」には、「アプリ名」に記憶されたアプリにアクセスするためのURLが記憶される。 “URL” stores a URL for accessing the application stored in “application name”.
「ダミーフラグ」には、「アプリ名」に記憶されたアプリ名のアプリのPaaSシステム20(コンテナ)での運用状況の識別情報が記憶される。図9中、「Yes」は「アプリ名」に記憶されたアプリ名のアプリのPaaSシステム20(コンテナ)での運用状況がダミーアプリとして起動中を表す。「No」は「アプリ名」に記憶されたアプリ名のアプリのPaaSシステム20(コンテナ)での運用状況が正規アプリとして起動中を表す。 In the “dummy flag”, the identification information of the operation status in the PaaS system 20 (container) of the application having the application name stored in the “application name” is stored. In FIG. 9, “Yes” indicates that the operation status of the application having the application name stored in “App name” in the PaaS system 20 (container) is being activated as a dummy application. “No” indicates that the operation status in the PaaS system 20 (container) of the application having the application name stored in “application name” is being activated as a regular application.
「ファイル名」には、「アプリ名」に記憶されたアプリ名のアプリ(ソースファイル)のファイル名が記憶される。 In “File name”, the file name of the application (source file) having the application name stored in “App name” is stored.
「予約済みメモリ量」には、「アプリ名」に記憶されたアプリ名のアプリが使用可能なメモリの上限量が記憶される。 The “reserved memory amount” stores the upper limit amount of memory that can be used by the application having the application name stored in the “application name”.
「予約済みディスク量」には、「アプリ名」に記憶されたアプリ名のアプリが使用可能なディスクの上限量が記憶される。 The “reserved disk amount” stores the upper limit amount of a disk that can be used by the application having the application name stored in “application name”.
「運用状況」には、「アプリ名」に記憶されたアプリのPaaSシステム20での運用状況(起動状態ともいう)が記憶される。
In the “operation status”, an operation status (also referred to as an activated state) of the application stored in “application name” in the
図10は、要求キュー31tの一例である。要求キューが本発明の第2メモリに相当する。要求キュー31tは、例えば、メモリ31cに生成(記憶)される。
FIG. 10 is an example of the
要求キュー31tは、アプリ(アプリ名)ごとに用意されるアプリ専用のキューである。図10(a)はアプリ名apr01のアプリ専用の要求キュー31tの例であり、図10(b)はアプリ名apr02のアプリ専用の要求キュー31tの例である。
The
要求キュー31tは、「アプリ名」及び「要求メッセージ」等の項目を含む。
The
「アプリ名」には、要求キュー31tが担当するアプリ名が記憶される。
In “APP NAME”, the name of the application in charge of the
「要求メッセージ」には、「アプリ名」に記憶されたアプリ名のアプリ宛の要求メッセージが記憶される。図10(a)は、アプリ名apr01のアプリ宛ての2つの要求メッセージ(受信要求メッセージ)が、アプリ名apr01のアプリ専用の要求キュー31tに記憶されている状態を表す。同様に、図10(b)は、アプリ名apr02のアプリ宛ての2つの要求メッセージ(受信要求メッセージ)が、アプリ名apr02のアプリ専用の要求キュー31tに記憶されている状態を表す。
The “request message” stores a request message addressed to the application having the application name stored in “application name”. FIG. 10A shows a state in which two request messages (reception request messages) addressed to the application with the application name apr01 are stored in the application-dedicated
図11は、アプリ変更時間テーブル31uの一例である。アプリ変更時間テーブル31uは、例えば、ストレージ32に記憶されており、必要に応じてストレージ32からメモリ31cに読み出される。
FIG. 11 is an example of the application change time table 31u. The application change time table 31u is stored in the
図11に示すように、アプリ変更時間テーブル31uは、「アプリ名」、及び、その「アプリ名」の「アプリ変更時間」、「要求メッセージ受信時刻」等の項目を含む。 As illustrated in FIG. 11, the application change time table 31u includes items such as “application name” and “application change time” and “request message reception time” of the “application name”.
「アプリ名」には、PaaSシステム20での運用状況が正規アプリとして起動中のアプリのアプリ名が記憶される。
In “App name”, an application name of an application whose operation status in the
「アプリ変更時間」には、「アプリ名」に記憶されたアプリ名のアプリのダミーアプリとしての起動をPaaSシステム20に要求するまでの時間が記憶される。
The “app change time” stores the time until the
「要求メッセージ受信時刻」には、「アプリ名」に記憶されたアプリ名のアプリ宛の要求メッセージを受信した時刻が記憶される。 The “request message reception time” stores the time when the request message addressed to the application having the application name stored in “application name” is received.
図12は、ダミーアプリ&正規アプリ記憶部31vの一例である。
FIG. 12 is an example of the dummy application & regular
ダミーアプリ&正規アプリ記憶部31vは、例えば、ストレージ32に設けられる。
The dummy application & regular
ダミーアプリ&正規アプリ記憶部31vには、ダミーアプリ(JAVA等のソースファイル)が記憶される。典型的には、予め用意された一つのダミーアプリ(JAVA等のソースファイル)が記憶される。また、ダミーアプリ&正規アプリ記憶部31vには、正規アプリ(JAVA等のソースファイル)が記憶される。一つの正規アプリが記憶される場合もあるし、複数の正規アプリが記憶される場合もある。
A dummy application (source file such as JAVA) is stored in the dummy application & regular
なお、アプリ起動制御システム30は、PaaSシステム20と同様、開発者リソース制限テーブル21p(図6参照)を備えている。
Note that, similarly to the
図13は、アプリ起動制御システム30におけるアプリ登録処理の一例を説明するためのフローチャートである。
FIG. 13 is a flowchart for explaining an example of the application registration process in the application
まず、アプリ管理部31qが、開発者から開発者端末40を介して送信された正規アプリの登録要求を受信するまで待機する(ステップS10:NO)。
First, the application management unit 31q waits until a registration request for a regular application transmitted from the developer via the
以下、アプリ管理部31qが、開発者A(開発者名Usr01)からアプリ名(apr04)の正規アプリの登録要求(以下、アプリ登録要求ともいう)を受信した場合の処理の一例について説明する。 Hereinafter, an example of processing when the application management unit 31q receives a registration request (hereinafter also referred to as an application registration request) of a regular application with the application name (apr04) from the developer A (developer name Usr01) will be described.
このアプリ登録要求は、登録対象アプリに関する情報、具体的には、アプリ名(ここでは、apr04)、正規アプリ(JAVA等のソースファイル)、予約済みメモリ量(ここでは、1GB)、予約済みディスク量(ここでは、1GB)、アプリ変更時間(ここでは、20min)を含む。 This application registration request includes information related to the application to be registered. Specifically, the application name (here apr04), regular application (source file such as JAVA), reserved memory amount (here 1GB), reserved disk Including the amount (here 1GB), app change time (here 20min).
アプリ管理部31qは、アプリ登録要求を受信した場合(ステップS10:YES)、ステップS10で受信したアプリ名(ここでは、apr04)等を、図14に示すように、登録済みアプリ管理テーブル31sに記憶する(ステップS11)。 When the application management unit 31q receives an application registration request (step S10: YES), the application name (here, apr04) received in step S10 is stored in the registered application management table 31s as shown in FIG. Store (step S11).
例えば、図9に示すように、登録済みアプリ管理テーブル31sに、ステップS10で受信したアプリ名(ここでは、apr04)等が記憶されていない場合、アプリ管理部31qは、図14の最終行に示すように、登録済みアプリ管理テーブル31sに、ステップS10で受信したアプリ名(ここでは、apr04)等を記憶する。 For example, as shown in FIG. 9, when the application name received in step S10 (here, apr04) or the like is not stored in the registered application management table 31s, the application management unit 31q displays the last line in FIG. As illustrated, the application name received in step S10 (here, apr04) and the like are stored in the registered application management table 31s.
具体的には、「開発者名」には、開発者Aが開発者端末40を介してアプリ起動制御システム30にログインする際に入力した開発者名(ここでは、Usr01)が記憶される。
Specifically, the “developer name” stores the developer name (here, Usr01) input when the developer A logs in to the application
「アプリ名」には、ステップS10で受信したアプリ名(ここでは、apr04)が記憶される。 The “app name” stores the application name (here, apr04) received in step S10.
「URL」には、ステップS10で受信したアプリ名とアプリ起動制御システム30が自動的に付与するドメイン名とを組み合わせて生成されたURL(ここでは、apr04.paas01.dc01.net)が記憶される。
In “URL”, a URL (here, apr04.paas01.dc01.net) generated by combining the application name received in step S10 and the domain name automatically assigned by the application
「ダミーフラグ」には、ステップS10で受信したアプリ(アプリ名)のPaaSシステム20での運用状況に応じてYes又はNoが記憶される。
In the “dummy flag”, Yes or No is stored according to the operation status of the application (application name) received in step S10 in the
「ファイル名」には、ステップS10で受信した正規アプリ(JAVA等のソースファイル)のファイル名(ここでは、test01.java)が記憶される。 The “file name” stores the file name (here, test01.java) of the legitimate application (source file such as JAVA) received in step S10.
「予約済みメモリ量」には、ステップS10で受信した予約済みメモリ量(ここでは、1GB)が記憶される。「予約済みメモリ量」が本発明のリソースに相当する。なお、ステップS10で予約済みメモリ量を受信しなかった場合、「予約済みメモリ量」には、アプリ起動制御システム30によってデフォルトの予約済みメモリ量が記憶される。
The “reserved memory amount” stores the reserved memory amount (here, 1 GB) received in step S10. The “reserved memory amount” corresponds to the resource of the present invention. If the reserved memory amount is not received in step S10, the default reserved memory amount is stored in the “reserved memory amount” by the application
「予約済みディスク量」には、ステップS10で受信した予約済みディスク量(ここでは、1GB)が記憶される。なお、ステップS10で予約済みディスク量を受信しなかった場合、「予約済みディスク量」には、アプリ起動制御システム30によってデフォルトの予約済みディスク量が記憶される。
In the “reserved disk amount”, the reserved disk amount (1 GB in this case) received in step S10 is stored. If the reserved disk amount is not received in step S10, the default reserved disk amount is stored in the “reserved disk amount” by the application
「運用状況」には、ステップS10で受信したアプリ(アプリ名)のPaaSシステム20での運用状況に応じて起動中又は停止中が記憶される。
The “operation status” stores information indicating whether the application (application name) received in step S10 is being activated or stopped according to the operation status in the
また、ステップS10で受信した正規アプリ(JAVA等のソースファイル)がダミーアプリ&正規アプリ記憶部31vに記憶される。
Also, the regular application (source file such as JAVA) received in step S10 is stored in the dummy application & regular
次に、要求アプリ起動停止部31nが、ステップS10で受信した正規アプリ(JAVA等のソースファイル)に対応付けられた第1契約者(ここでは、Usr01。図14参照)のアプリ(アプリ名)のうち「運用状況」が起動中のアプリの「予約済みメモリ量」(ここでは1GB)とステップS10で受信した正規アプリの「予約済みメモリ量」(ここでは1GB)とを加算した合計量(ここでは2GB)が、第1契約者(ここでは、Usr01)のメモリ上限量(ここでは、3GB。図6参照)を超えるか否かを判定(確認)する(ステップS12)。
Next, the application (application name) of the first contractor (here Usr01, see FIG. 14) associated with the regular application (source file such as JAVA) received by the requested application activation /
この判定の結果、合計量がメモリ上限量を超えない場合(ステップS13:NO)、要求アプリ起動停止部31nが、ステップS10で受信した正規アプリの起動を、PaaSシステム20に対して要求する(ステップS14)。
As a result of this determination, if the total amount does not exceed the memory upper limit amount (step S13: NO), the requested application activation /
この正規アプリ起動要求は、登録対象アプリに関する情報、具体的には、アプリ名(ここでは、apr04)、正規アプリ(JAVA等のソースファイル)、予約済みメモリ量(ここでは、1GB)、予約済みディスク量(ここでは、1GB)を含む。 This legitimate application launch request is information related to the application to be registered, specifically, app name (here apr04), legitimate application (source file such as JAVA), reserved memory amount (here 1GB), reserved Includes disk space (here 1GB).
PaaSシステム20は、アプリ起動制御システム30(要求アプリ起動停止部31n)から正規アプリ起動要求(ステップS14)を受信した場合、図15中の最終行に示すように、その受信したアプリ名(ここでは、apr04)等を、開発者(ここでは、開発者A)のアプリ情報テーブル21nに記憶する。
When the
具体的には、「アプリ名」には、アプリ起動制御システム30(要求アプリ起動停止部31n)から受信したアプリ名(ここでは、apr04)が記憶される。
Specifically, the “application name” stores the application name (here, apr04) received from the application activation control system 30 (requested application activation /
「URL」には、アプリ起動制御システム30(要求アプリ起動停止部31n)から受信したアプリ名(ここでは、apr04)とPaaSシステム20が自動的に付与するドメイン名とを組み合わせて生成されたURLが記憶される。
“URL” is a URL generated by combining the application name (here, apr04) received from the application activation control system 30 (requested application
「使用CPU」、「使用メモリ」、「使用ディスク」には、それぞれ、「アプリ名」に記憶されたアプリ名のアプリが実際に使用しているCPU使用率、メモリ量、ディスク量が記憶される。これらは、PaaSシステム20によって定期的に更新される。
“Used CPU”, “Used memory”, and “Used disk” respectively store the CPU usage rate, memory amount, and disk amount actually used by the application with the application name stored in “App name”. The These are regularly updated by the
「予約済みメモリ量」には、アプリ起動制御システム30(要求アプリ起動停止部31n)から受信した予約済みメモリ量(ここでは、1GB)が記憶される。
The “reserved memory amount” stores the reserved memory amount (here, 1 GB) received from the application activation control system 30 (requested application
「予約済みディスク量」には、アプリ起動制御システム30(要求アプリ起動停止部31n)から受信した予約済みディスク量(ここでは、1GB)が記憶される。
The “reserved disk amount” stores the reserved disk amount (here, 1 GB) received from the application activation control system 30 (requested application activation /
また、PaaSシステム20は、アプリ起動制御システム30(要求アプリ起動停止部31n)から受信した正規アプリ(JAVA等のソースファイル)がコピーされたコンテナ21j2を作成し、そのコンテナ(及び正規アプリ)を起動させる。
In addition, the
さらに、PaaSシステム20は、アプリ起動制御システム30に対して正規アプリの起動状態を通知(送信)する。例えば、PaaSシステム20は、コンテナ(及び正規アプリ)が正常に起動した場合、起動状態として起動中を通知し、何らかの理由で正常に起動しなかった場合、起動状態として停止中を通知する。
Further, the
また、PaaSシステム20は、正規アプリの起動状態に応じて、アプリ情報テーブル21n中の「アプリ名」(ここでは、apr04)の「運用状況」に起動中又は停止中を記憶する。
Further, the
一方、ステップS12の判定の結果、合計量がメモリ上限量を超える場合(ステップS13:YES)、要求アプリ起動停止部31nが、ダミーアプリの起動を、PaaSシステム20に対して要求する(ステップS15)。
On the other hand, as a result of the determination in step S12, when the total amount exceeds the memory upper limit amount (step S13: YES), the requested application
このダミーアプリ起動要求は、登録対象アプリに関する情報として、アプリ名(ここでは、apr04)、ダミーアプリ(JAVA等のソースファイル)、ダミーアプリ用の予約済みメモリ量(ここでは、10MB)、ダミーアプリ用の予約済みディスク量(ここでは、10MB)を含む。なお、ダミーアプリ、ダミーアプリ用の予約済みメモリ量、ダミーアプリ用の予約済みディスク量は、例えば、ダミーアプリ&正規アプリ記憶部31vに予め記憶されている。
This dummy application activation request includes information on the application to be registered: application name (here, apr04), dummy application (source file such as JAVA), reserved memory amount for dummy application (here 10MB), dummy application Includes reserved disk space for 10MB here. The dummy application, the reserved memory amount for the dummy application, and the reserved disk amount for the dummy application are stored in advance in, for example, the dummy application & regular
PaaSシステム20は、アプリ起動制御システム30(要求アプリ起動停止部31n)からダミーアプリ起動要求(ステップS15)を受信した場合、図16中の最終行に示すように、その受信したアプリ名(ここでは、apr04)等を、開発者(ここでは、開発者A)のアプリ情報テーブル21nに記憶する。
When the
具体的には、「アプリ名」には、アプリ起動制御システム30(要求アプリ起動停止部31n)から受信したアプリ名(ここでは、apr04)が記憶される。
Specifically, the “application name” stores the application name (here, apr04) received from the application activation control system 30 (requested application activation /
「URL」には、アプリ起動制御システム30(要求アプリ起動停止部31n)から受信したアプリ名(ここでは、apr04)とPaaSシステム20が自動的に付与するドメイン名とを組み合わせて生成されたURLが記憶される。
“URL” is a URL generated by combining the application name (here, apr04) received from the application activation control system 30 (requested application
「使用CPU」、「使用メモリ」、「使用ディスク」には、それぞれ、「アプリ名」に記憶されたアプリ名のアプリが実際に使用しているCPU使用率、メモリ量、ディスク量が記憶される。これらは、PaaSシステム20によって定期的に更新される。
“Used CPU”, “Used memory”, and “Used disk” respectively store the CPU usage rate, memory amount, and disk amount actually used by the application with the application name stored in “App name”. The These are regularly updated by the
「予約済みメモリ量」には、アプリ起動制御システム30(要求アプリ起動停止部31n)から受信したダミーアプリ用の予約済みメモリ量(ここでは、10MB)が記憶される。
In the “reserved memory amount”, a reserved memory amount (in this case, 10 MB) for the dummy application received from the application activation control system 30 (requested application
「予約済みディスク量」には、アプリ起動制御システム30(要求アプリ起動停止部31n)から受信したダミーアプリ用の予約済みディスク量(ここでは、10MB)が記憶される。
The “reserved disk amount” stores the reserved disk amount (in this case, 10 MB) for the dummy application received from the application activation control system 30 (requested application
また、PaaSシステム20は、アプリ起動制御システム30(要求アプリ起動停止部31n)から受信したダミーアプリ(JAVA等のソースファイル)がコピーされたコンテナ21j2を作成し、そのコンテナ(及びダミーアプリ)を起動させる。
Also, the
さらに、PaaSシステム20は、アプリ起動制御システム30に対してダミーアプリの起動状態を通知(送信)する。例えば、PaaSシステム20は、コンテナ(及びダミーアプリ)が正常に起動した場合、起動状態として起動中を通知し、何らかの理由で正常に起動しなかった場合、起動状態として停止中を通知する。
Further, the
また、PaaSシステム20は、ダミーアプリの起動状態に応じて、アプリ情報テーブル21n中の「アプリ名」(ここでは、apr04)の「運用状況」に起動中又は停止中を記憶する。
In addition, the
次に、アプリ管理部31qが、アプリ監視制御部31rに対してアプリ変更時間テーブル31uへの登録を要求する(ステップS16)。
Next, the application management unit 31q requests the application
次に、アプリ監視制御部31rが、アプリ変更時間テーブル31uに、ステップS10で受信したアプリ名(ここでは、apr04)等が登録されているか否かを判定(確認)する(ステップS17)。
Next, the application
この判定の結果、アプリ変更時間テーブル31uに、ステップS10で受信したアプリ名等が登録されていない場合(ステップS18:NO)、アプリ監視制御部31rが、アプリ変更時間テーブル31uに、ステップS10で受信したアプリ名(ここでは、apr04)等を記憶する(ステップS19)。
As a result of the determination, if the application name received in step S10 is not registered in the application change time table 31u (step S18: NO), the application
例えば、図17(a)に示すように、アプリ変更時間テーブル31uに、ステップS10で受信したアプリ名(ここでは、apr04)等が記憶されていない場合(ステップS18:NO)、アプリ監視制御部31rは、図17(b)の最終行に示すように、アプリ変更時間テーブル31uに、ステップS10で受信したアプリ名(ここでは、apr04)等を記憶する(ステップS19)。 For example, as shown in FIG. 17A, when the application change time table 31u does not store the application name (here, apr04) received in step S10 (step S18: NO), the application monitoring control unit As shown in the last line of FIG. 17B, 31r stores the application name (here, apr04) received in step S10 in the application change time table 31u (step S19).
具体的には、「アプリ名」には、ステップS10で受信したアプリ名(ここでは、apr04)が記憶される。 Specifically, the “application name” stores the application name (here, apr04) received in step S10.
「アプリ変更時間」には、ステップS10で受信したアプリ変更時間(ここでは、20min)が記憶される。なお、ステップS10でアプリ変更時間を受信しなかった場合、「アプリ変更時間」には、アプリ起動制御システム30によってデフォルトの時間が記憶される。
The “application change time” stores the application change time (20 min in this case) received in step S10. When the application change time is not received in step S10, the default time is stored in the “application change time” by the application
「要求メッセージ受信時刻」には、この時点ではまだ要求メッセージ未受信であるため、ステップS10で受信したアプリ名等を登録済みアプリ管理テーブル31sに登録した時刻(ここでは、2016/06/30 15:20)が記憶される。 At the “request message reception time”, since the request message has not been received yet, the time when the application name received in step S10 is registered in the registered application management table 31s (here, 2016/06/30 15 : 20) is memorized.
一方、ステップS17の判定の結果、アプリ変更時間テーブル31uに、ステップS10で受信したアプリ名等が登録されている場合(ステップS18:YES)、アプリ監視制御部31rが、ステップS10で受信したアプリ名(ここでは、apr04)の「アプリ変更時間」を更新する(ステップS20)。例えば、アプリ変更時間テーブル31u中のアプリ名(ここでは、apr04)の「アプリ変更時間」に、ステップS10で受信したアプリ変更時間を上書きする。
On the other hand, as a result of the determination in step S17, if the application name received in step S10 is registered in the application change time table 31u (step S18: YES), the application
次に、アプリ起動制御システム30(例えば、アプリ管理部31q)は、ステップS14又はS15で起動要求したアプリの起動状態を、PaaSシステム20から受信した場合(ステップS21:YES)、登録済みアプリ管理テーブル31sを更新する(ステップS22)。 Next, when the application activation control system 30 (for example, the application management unit 31q) receives the activation state of the application requested for activation in step S14 or S15 from the PaaS system 20 (step S21: YES), the registered application management The table 31s is updated (step S22).
例えば、アプリ起動制御システム30(例えば、アプリ管理部31q)は、PaaSシステム20から正規アプリの起動状態を受信した場合(ステップS21:YES)、その受信した正規アプリの起動状態に応じて、登録済みアプリ管理テーブル31s中の「アプリ名」(ここでは、apr04)の「運用状況」に起動中又は停止中を記憶する。また、アプリ起動制御システム30(例えば、アプリ管理部31q)は、登録済みアプリ管理テーブル31sの「アプリ名」(ここでは、apr04)の「ダミーフラグ」にNoを記憶する。 For example, when the application activation control system 30 (for example, the application management unit 31q) receives the activation state of the authorized application from the PaaS system 20 (step S21: YES), the application activation control system 30 (for example, the application management unit 31q) registers according to the received activation state of the authorized application. “Activation status” of “App name” (here, apr04) in the completed application management table 31s is stored as being activated or stopped. Further, the application activation control system 30 (for example, the application management unit 31q) stores No in the “dummy flag” of the “application name” (here, apr04) of the registered application management table 31s.
一方、アプリ起動制御システム30(例えば、アプリ管理部31q)は、PaaSシステム20からダミーアプリの起動状態を受信した場合(ステップS21:YES)、その受信したダミーアプリの起動状態に応じて、登録済みアプリ管理テーブル31s中の「アプリ名」(ここでは、apr04)の「運用状況」に起動中又は停止中を記憶する。また、アプリ起動制御システム30(例えば、アプリ管理部31q)は、登録済みアプリ管理テーブル31sの「アプリ名」(ここでは、apr04)の「ダミーフラグ」にYesを記憶する。 On the other hand, when the application activation control system 30 (for example, the application management unit 31q) receives the activation state of the dummy application from the PaaS system 20 (step S21: YES), the application activation control system 30q (for example, the application management unit 31q) registers according to the received activation state of the dummy application. “Activation status” of “App name” (here, apr04) in the completed application management table 31s is stored as being activated or stopped. The application activation control system 30 (for example, the application management unit 31q) stores Yes in the “dummy flag” of the “application name” (here, apr04) of the registered application management table 31s.
図18は、アプリ起動制御システム30におけるダミーアプリ起動処理の一例を説明するためのフローチャートである。
FIG. 18 is a flowchart for explaining an example of the dummy application activation process in the application
まず、アプリ監視制御部31rが、アプリ変更時間テーブル31uからアプリ毎に要求メッセージ受信時刻、アプリ変更時間を取得する(ステップS30)。
First, the application
次に、アプリ監視制御部31rが、アプリ変更予定時刻(=要求メッセージ受信時刻+アプリ変更時間)を計算する(ステップS31)。
Next, the application
次に、アプリ変更予定時刻を超えるアプリ名がある場合(ステップS32:YES)、アプリ監視制御部31rが、要求アプリ起動停止部31nに対して該当アプリのダミーアプリとしての起動を要求する(ステップS33)。
Next, when there is an application name that exceeds the scheduled application change time (step S32: YES), the application
次に、要求アプリ起動停止部31nが、該当アプリのダミーアプリとしての起動を、PaaSシステム20に対して要求する(ステップS34)。
Next, the requested application activation /
このダミーアプリ起動要求は、アプリ名(例えば、図17(b)中のapr04)、ダミーアプリ(JAVA等のソースファイル)、ダミーアプリ用の予約済みメモリ量、ダミーアプリ用の予約済みディスク量を含む。 This dummy application activation request includes an application name (for example, apr04 in FIG. 17B), a dummy application (a source file such as JAVA), a reserved memory amount for the dummy application, and a reserved disk amount for the dummy application. Including.
PaaSシステム20は、アプリ起動制御システム30(要求アプリ起動停止部31n)からダミーアプリ起動要求(ステップS34)を受信した場合、アプリ情報テーブル21n中の受信したアプリ名(ここでは、apr04)の「予約済みメモリ量」、「予約済みディスク量」に、それぞれ、受信したダミーアプリ用の予約済みメモリ量、ダミーアプリ用の予約済みディスク量を記憶(例えば、上書き)する。これにより、例えば、アプリ情報テーブル21nは、図15に示す内容から図16に示す内容に変わる。
When the
また、PaaSシステム20は、アプリ起動制御システム30(要求アプリ起動停止部31n)から受信したダミーアプリ(JAVA等のソースファイル)がコピー(正規アプリに上書き)されたコンテナ21j2(及びダミーアプリ)を起動させる。
In addition, the
さらに、PaaSシステム20は、アプリ起動制御システム30に対してダミーアプリの起動状態を通知(送信)する。例えば、PaaSシステム20は、コンテナ(及びダミーアプリ)が正常に起動した場合、起動状態として起動中を通知し、何らかの理由で正常に起動しなかった場合、起動状態として停止中を通知する。
Further, the
また、PaaSシステム20は、ダミーアプリの起動状態に応じて、アプリ情報テーブル21n中の「アプリ名」(ここでは、apr04)の「運用状況」に起動中又は停止中を記憶する。
In addition, the
次に、アプリ起動制御システム30(例えば、アプリ管理部31q)は、ステップS34で起動要求したアプリの起動状態を、PaaSシステム20から受信した場合(ステップS35:YES)、登録済みアプリ管理テーブル31sを更新する(ステップS36)。 Next, when the application activation control system 30 (for example, the application management unit 31q) receives the activation state of the application requested for activation in step S34 from the PaaS system 20 (step S35: YES), the registered application management table 31s. Is updated (step S36).
例えば、アプリ起動制御システム30(例えば、アプリ管理部31q)は、PaaSシステム20からダミーアプリの起動状態を受信した場合(ステップS35:YES)、その受信したダミーアプリの起動状態に応じて、登録済みアプリ管理テーブル31s中の「アプリ名」(ここでは、apr04)の「運用状況」に起動中又は停止中を記憶する。また、アプリ起動制御システム30(例えば、アプリ管理部31q)は、登録済みアプリ管理テーブル31sの「アプリ名」(ここでは、apr04)の「ダミーフラグ」にYesを記憶する。 For example, when the application activation control system 30 (for example, the application management unit 31q) receives the activation state of the dummy application from the PaaS system 20 (step S35: YES), the application activation control system 30 (for example, the application management unit 31q) registers according to the received activation state of the dummy application. “Activation status” of “App name” (here, apr04) in the completed application management table 31s is stored as being activated or stopped. The application activation control system 30 (for example, the application management unit 31q) stores Yes in the “dummy flag” of the “application name” (here, apr04) of the registered application management table 31s.
上記ステップS30〜S36の処理は、指定間隔ごとに実行される。 The processes in steps S30 to S36 are executed at specified intervals.
図19、図20は、アプリ起動制御システム30における要求メッセージ受信処理を説明するためのフローチャートである。
19 and 20 are flowcharts for explaining request message reception processing in the application
まず、要求メッセージ受信部31hが、アプリ利用者からアプリ利用者端末50を介して送信された第1アプリ宛の要求メッセージを受信するまで待機する(ステップS40:NO)。
First, it waits until the request
以下、要求メッセージ受信部31hが、アプリ利用者から第1アプリ宛(ここでは、アプリ名apr04、開発者名Usr01)の要求メッセージを受信した場合の処理の一例について説明する。
Hereinafter, an example of processing when the request
要求メッセージ受信部31hは、第1アプリ宛の要求メッセージを受信した場合(ステップS40:YES)、要求メッセージ登録確認部31jに対して第1アプリ(アプリ名)が登録済みアプリ管理テーブル31sに登録(記憶)されているか否の確認を要求(アプリ確認要求)する(ステップS41)。
When the request
次に、要求メッセージ登録確認部31jは、第1アプリ(アプリ名)が登録済みアプリ管理テーブル31sに登録されているか否かを判定(確認)する(ステップS42)。
Next, the request message
この判定の結果、第1アプリ(アプリ名)が登録済みアプリ管理テーブル31sに登録されている場合(ステップS43:YES)、次の第1〜第3の処理が実行される。 As a result of this determination, when the first application (application name) is registered in the registered application management table 31s (step S43: YES), the following first to third processes are executed.
第1の処理は、アプリ変更時間テーブル31u中の要求メッセージ受信時刻を更新する処理である。 The first process is a process of updating the request message reception time in the application change time table 31u.
具体的には、まず、要求メッセージ登録確認部31jが、アプリ監視制御部31rに対して要求メッセージ受信時刻を通知する(ステップS44)。
Specifically, first, the request message
次に、アプリ監視制御部31rが、アプリ変更時間テーブル31u中の「アプリ名」が第1アプリの「要求メッセージ受信時刻」を、要求メッセージ登録確認部31jから通知された要求メッセージ受信時刻で更新(例えば、上書き)する(ステップS45)。
Next, the application
第2の処理は、ステップS40で受信した要求メッセージを要求キュー31tに保存する処理である。
The second process is a process of saving the request message received in step S40 in the
具体的には、まず、要求メッセージ登録確認部31jが、要求メッセージ保存部31kに対してステップS40で受信した要求メッセージの保存を要求する(ステップS46)。
Specifically, first, the request message
次に、要求メッセージ保存部31kが、ステップS40で受信した要求メッセージを第1アプリ専用の要求キュー31t(図21参照)に保存する(ステップS47)。
Next, the request
第3の処理は、第1アプリのPaaSシステム20での運用状況がダミーアプリとして起動中である場合、第1アプリの正規アプリとしての起動を、PaaSシステム20に対して要求する処理である。
The third process is a process of requesting the
具体的には、まず、要求メッセージ登録確認部31jが、ダミーアプリ確認部31mに対して第1アプリのPaaSシステム20での運用状況がダミーアプリとして起動中か否かの確認を要求(ダミーアプリ確認要求)する(ステップS48)。
Specifically, first, the request message
次に、ダミーアプリ確認部31mが、登録済みアプリ管理テーブル31s(「ダミーフラグ」、「運用状況」)を参照して、第1アプリのPaaSシステム20での運用状況がダミーアプリとして起動中か否かを判定(確認)する(ステップS49)。
Next, the dummy
この判定の結果、第1アプリのPaaSシステム20での運用状況がダミーアプリとして起動中である場合(ステップS49:YES)、ダミーアプリ確認部31mが、第1アプリの正規アプリとしての起動を、要求アプリ起動停止部31nに対して要求する(ステップS50)。
As a result of the determination, if the operation status of the first application in the
次に、要求アプリ起動停止部31nが、第1アプリ(ここでは、アプリ名apr04)に対応付けられた第1契約者(ここでは、Usr01)のアプリ(アプリ名)のうち「運用状況」が起動中のアプリの「予約済みメモリ量」とステップS10で受信した第1アプリの「予約済みメモリ量」とを加算した合計量が、第1契約者(ここでは、Usr01)のメモリ上限量を超えるか否かを判定(確認)する(ステップS51)。
Next, the requested application activation /
この判定の結果、合計量がメモリ上限量を超えない場合(ステップS52:NO)、要求アプリ起動停止部31nが、第1アプリの正規アプリとしての起動を、PaaSシステム20に対して要求する(ステップS53)。
As a result of this determination, if the total amount does not exceed the memory upper limit amount (step S52: NO), the requested application activation /
この第1アプリ起動要求は、具体的には、アプリ名(ここでは、apr04)、正規アプリ(JAVA等のソースファイル)、予約済みメモリ量(ここでは、1GB)、予約済みディスク量(ここでは、1GB)を含む。 Specifically, the first application activation request includes an application name (here, apr04), a regular application (source file such as JAVA), a reserved memory amount (here 1 GB), a reserved disk amount (here) 1GB).
なお、正規アプリ(JAVA等のソースファイル)は、次のようにして取得することができる。例えば、まず、第1アプリ(ここでは、アプリ名apr04)をキーとして図14に示す登録済みアプリ管理テーブル31s(「ファイル名」)から第1アプリが対応付けられたファイル名(ここでは、test01.java)を検索する。次に、その検索したファイル名(ここでは、test01.java)をキーとしてダミーアプリ&正規アプリ記憶部31vからその検索したファイル名の正規アプリ(JAVA等のソースファイル)を抽出する。
In addition, a regular application (a source file such as JAVA) can be obtained as follows. For example, first, a file name (here, test01) associated with the first application from the registered application management table 31s (“file name”) shown in FIG. 14 using the first application (here, application name apr04) as a key. .java). Next, a regular application (source file such as JAVA) having the searched file name is extracted from the dummy application & regular
以上のようにして、正規アプリ(JAVA等のソースファイル)を取得することができる。 As described above, a regular application (a source file such as JAVA) can be acquired.
なお、予約済みメモリ量、予約済みディスク量は、第1アプリ(ここでは、アプリ名apr04)をキーとして図14に示す登録済みアプリ管理テーブル31s(「予約済みメモリ量」、「予約済みディスク量」)から第1アプリが対応付けられた予約済みメモリ量、予約済みディスク量を検索することで取得することができる。 Note that the reserved memory amount and the reserved disk amount are the registered application management table 31s (“reserved memory amount”, “reserved disk amount” shown in FIG. 14 with the first application (here, application name apr04) as a key. ]) From the reserved memory amount and reserved disk amount associated with the first application.
PaaSシステム20は、アプリ起動制御システム30(要求アプリ起動停止部31n)から第1アプリ起動要求(ステップS53)を受信した場合、その受信したアプリ名(ここでは、apr04)等を、アプリ情報テーブル21nに記憶(例えば、上書き)する。
When the
また、PaaSシステム20は、アプリ起動制御システム30(要求アプリ起動停止部31n)から受信した正規アプリ(JAVA等のソースファイル)がコピー(ダミーアプリに上書き)されたコンテナ21j2(及び正規アプリ)を起動させる。
In addition, the
さらに、PaaSシステム20は、アプリ起動制御システム30に対して正規アプリの起動状態を通知(送信)する。例えば、PaaSシステム20は、コンテナ(及び正規アプリ)が正常に起動した場合、起動状態として起動中を通知し、何らかの理由で正常に起動しなかった場合、起動状態として停止中を通知する。
Further, the
また、PaaSシステム20は、正規アプリの起動状態に応じて、アプリ情報テーブル21n中の「アプリ名」(ここでは、apr04)の「運用状況」に起動中(正規アプリとして起動中)又は停止中を記憶する。
Further, the
なお、ステップS51の判定の結果、合計量がメモリ上限量を超える場合(ステップS52:YES)、ステップS51の処理が繰り返し実行される。なお、このようにしても、ステップS51の処理が無限に繰り返されることはない。これは、ダミーアプリ起動処理(図18参照)が実行されるため、やがて、アプリ変更予定時刻を経過した正規アプリ(相対的に予約メモリ量が大きい)がダミーアプリ(相対的に予約メモリ量が小さい)で上書きされ、ステップS52:NOとなり、ステップS53以下の処理が実行されることによるものである。 Note that, as a result of the determination in step S51, if the total amount exceeds the memory upper limit amount (step S52: YES), the process in step S51 is repeatedly executed. Even in this case, the process of step S51 is not repeated infinitely. This is because a dummy application activation process (see FIG. 18) is executed, so that a regular application (with a relatively large reserved memory amount) that has passed the scheduled application change time eventually becomes a dummy application (with a relatively reserved memory amount). This is because step S52: NO, and the processing from step S53 onward is executed.
次に、アプリ起動制御システム30(例えば、アプリ管理部31q)は、ステップS50で起動要求したアプリの起動状態を、PaaSシステム20から受信した場合(ステップS54:YES)、登録済みアプリ管理テーブル31sを更新する(ステップS55)。 Next, when the application activation control system 30 (for example, the application management unit 31q) receives the activation state of the application requested for activation in step S50 from the PaaS system 20 (step S54: YES), the registered application management table 31s. Is updated (step S55).
例えば、アプリ起動制御システム30(例えば、アプリ管理部31q)は、PaaSシステム20から正規アプリの起動状態を受信した場合(ステップS54:YES)、その受信した正規アプリの起動状態に応じて、登録済みアプリ管理テーブル31s中の「アプリ名」(ここでは、apr04)の「運用状況」に起動中(正規アプリとして起動中)又は停止中を記憶する。また、アプリ起動制御システム30(例えば、アプリ管理部31q)は、登録済みアプリ管理テーブル31sの「アプリ名」(ここでは、apr04)の「ダミーフラグ」にNoを記憶する。 For example, when the application activation control system 30 (for example, the application management unit 31q) receives the activation state of the regular application from the PaaS system 20 (step S54: YES), the application activation control system 30 (for example, the application management unit 31q) registers according to the received activation state of the regular application. “Activation status” of “App name” (here, apr04) in the completed application management table 31s is stored as being activated (activated as a regular application) or stopped. Further, the application activation control system 30 (for example, the application management unit 31q) stores No in the “dummy flag” of the “application name” (here, apr04) of the registered application management table 31s.
次に、要求アプリ起動停止部31nが、要求メッセージ転送部31pに対して要求メッセージの転送を要求する(ステップS56)。
Next, the request application activation /
次に、要求メッセージ転送部31pが、第1アプリ(ここでは、アプリ名apr04)専用の要求キュー31tから要求メッセージを一つ取得し、その要求メッセージをPaaSシステム20へ転送する(ステップS57)。
Next, the request
ステップS57の処理は、第1アプリ専用の要求キュー31tが空になるまで実行され(ステップS58:NO)、第1アプリ専用の要求キュー31tが空になった場合(ステップS58:YES)、要求メッセージ受信処理が終了する。
The process of step S57 is executed until the
一方、ステップS49での判定の結果、第1アプリのPaaSシステム20での運用状況がダミーアプリとして起動中でない場合(ステップS49:NO)、すなわち、第1アプリのPaaSシステム20での運用状況が正規アプリとして起動中である場合、ステップS56〜S58の処理が実行される。
On the other hand, as a result of the determination in step S49, if the operation status of the first application in the
なお、ステップS42の判定の結果、第1アプリ(アプリ名)が登録済みアプリ管理テーブル31sに登録されていない場合(ステップS43:NO)、要求メッセージ登録確認部31jが、要求メッセージ転送部31pに対して要求メッセージ転送を要求する(ステップS59)。
If the first application (application name) is not registered in the registered application management table 31s as a result of the determination in step S42 (step S43: NO), the request message
次に、要求メッセージ転送部31pが、ステップS40で受信した要求メッセージをPaaSシステム20に転送する(ステップS60)。
Next, the request
以上のとおり、本実施形態によれば、アプリ利用者から受信した第1アプリ宛の要求メッセージの宛先である第1アプリがPaaSシステム20で起動(イベントドリブン)するまでの間、アプリ利用者から受信した第1アプリ宛の要求メッセージの取りこぼしを防止することができる。
As described above, according to the present embodiment, from the application user until the first application that is the destination of the request message addressed to the first application received from the application user is activated (event driven) in the
これは、アプリ利用者から受信した第1アプリ宛の要求メッセージをPaaSシステム20が第1アプリ(正規アプリ)起動前に保存する第1アプリ専用の要求キュー31tを設け、PaaSシステム20が第1アプリ(正規アプリ)起動後、第1アプリ専用の要求キュー31tに保存された第1アプリ宛の要求メッセージをPaaSシステム20へ転送することによるものである。
This is provided with a
また、上記のとおり、従来、アプリの登録・削除が行われていたが、PaaSシステム20においては、アプリを削除すると、アプリ名を管理している情報が消えるため、他の開発者が同じアプリ名で登録可能となり、希望するアプリ名が使用できない場合があるという課題がある。
In addition, as described above, registration / deletion of applications has been conventionally performed. However, in the
これに対して、本実施形態によれば、アプリを削除するのではなく、あるアプリ名に関し、ダミーアプリ又は正規アプリのいずれかが常にPaaSシステム20に登録されるため、他の開発者が同じアプリ名で登録するのを防止することができる。
On the other hand, according to the present embodiment, instead of deleting an application, since either a dummy application or a regular application is always registered in the
また、本実施形態によれば、アプリ変更予定時刻を経過した正規アプリ(相対的に予約メモリ量が大きい)を同じアプリ名を持つダミーアプリ(相対的に予約メモリ量が小さい)に置き換えるため、予約メモリを削減することができる。 Further, according to the present embodiment, in order to replace a regular application (relatively large reserved memory amount) that has passed the scheduled application change time with a dummy application (relatively small reserved memory amount) having the same application name, The reserved memory can be reduced.
また、本実施形態によれば、アプリ利用者から第1アプリ宛の要求メッセージを受信した場合にのみダミーアプリから同じアプリ名を持つ正規アプリに置き換えるため、PaaSシステム20上のアプリの利用時のみリソースが消費されるようなイベントドリブンサービスを実現することができる。
Further, according to the present embodiment, only when an application on the
[第2実施形態]
次に、第2実施形態の情報処理システム10Aの概要について説明する。
[Second Embodiment]
Next, an overview of the
図1は、第2実施形態の情報処理システム10Aの概略構成図である。
FIG. 1 is a schematic configuration diagram of an
以下、第1実施形態との相違点を中心に説明し、第1実施形態と同様の構成については同一の符号を付し、適宜説明を省略する。 Hereinafter, the difference from the first embodiment will be mainly described, the same components as those in the first embodiment will be denoted by the same reference numerals, and description thereof will be omitted as appropriate.
図1に示すように、本実施形態の情報処理システム10Aは、第1実施形態と同様、PaaSシステム20、アプリ起動制御システム30A、開発者端末40、アプリ利用者端末50等を備える。開発者が本発明の契約者に相当し、アプリ利用者が本発明のユーザに相当する。
As shown in FIG. 1, the
開発者は、開発者端末40を介して正規アプリの登録要求をアプリ起動制御システム30Aに送信する。アプリ起動制御システム30Aは、開発者から正規アプリの登録要求を受信したとき、該アプリ及び該アプリのPaaSシステム20での運用状況を開発者ごとに登録済みアプリ管理テーブル31s2に記憶する。これは、図13と同様の処理であるため、説明を省略する。
The developer transmits a regular application registration request to the application
アプリ起動制御システム30Aは、アプリ停止時間テーブル31u2を参照して、運用状況が起動中のアプリ(正規アプリ)のうち最後の要求メッセージを処理(例えば、受信)した時刻(例えば、要求メッセージ受信時刻)から所定時間経過したアプリの停止をPaaSシステム20に要求するとともに所定時間経過したアプリ停止時間テーブル31u2中のアプリの運用状況を停止中に変更する。PaaSシステム20は、正規アプリがコピーされたコンテナ(及び正規アプリ)を停止させる。
The application
なお、最後の要求メッセージを処理した時刻は、要求メッセージ受信時刻に限らず、要求キュー31tに記憶された該最後の要求メッセージをPaaSシステム20に転送した時刻であってもよい。
The time at which the last request message is processed is not limited to the request message reception time, but may be the time at which the last request message stored in the
また、アプリ起動制御システム30Aは、ユーザから第1アプリ宛の要求メッセージを受信したとき、次の処理を行う。
Further, the application
アプリ起動制御システム30Aは、登録済みアプリ管理テーブル31s2を参照して第1アプリの運用状況が停止中の場合、要求キュー31tに第1アプリ宛の要求メッセージを記憶する。要求キュー31tが本発明の第2メモリに相当する。
When the operation status of the first application is stopped with reference to the registered application management table 31s2, the application
次に、第1アプリに対応づけられた第1契約者のアプリのうち運用状況が起動中のアプリの予約済みメモリ量と第1アプリの予約済みメモリ量とを加算した合計量が、第1契約者のメモリ上限量を超えない場合、第1アプリの起動をPaaSシステム20に要求する。PaaSシステム20は、正規アプリがコピーされたコンテナ(及び正規アプリ)を起動させる。
Next, the total amount obtained by adding the reserved memory amount of the application whose operation status is active among the applications of the first contractor associated with the first application and the reserved memory amount of the first application is the first amount. When the memory upper limit amount of the contractor is not exceeded, the activation of the first application is requested to the
そして、第1アプリがPaaSシステム20で起動後、要求キュー31tに記憶された第1アプリ宛の要求メッセージをPaaSシステム20に転送するとともに登録済みアプリ管理テーブル31s2中の第1アプリの運用状況を起動中に変更する。PaaSシステム20は、第1アプリ宛の要求メッセージを起動中の第1アプリに転送する。
Then, after the first application is activated in the
図22は、アプリ起動制御システム30Aの主要機能及びアプリ起動制御システム30Aが持つテーブルを説明するための図である。
FIG. 22 is a diagram for explaining a main function of the application
図22に示すように、本実施形態では、第1実施形態(図8参照)と比べ、さらに、アプリ確認部31wが追加されている。
As shown in FIG. 22, in the present embodiment, an
また、本実施形態では、アプリ変更時間テーブル31u(図11参照)に代えて、アプリ停止時間テーブル31u2(図23参照)が用いられる。 In this embodiment, an application stop time table 31u2 (see FIG. 23) is used instead of the application change time table 31u (see FIG. 11).
また、本実施形態では、登録済みアプリ管理テーブル31s(図9参照)に代えて、登録済みアプリ管理テーブル31s2(図24参照)が用いられる。 In the present embodiment, a registered application management table 31s2 (see FIG. 24) is used instead of the registered application management table 31s (see FIG. 9).
図25は、第2実施形態のアプリ起動制御システム30におけるアプリ停止処理の一例を説明するためのフローチャートである。
FIG. 25 is a flowchart for explaining an example of the application stop process in the application
まず、アプリ監視制御部31rが、アプリ停止時間テーブル31u2からアプリ毎に要求メッセージ受信時刻、アプリ停止時間を取得する(ステップS60)。
First, the application
次に、アプリ監視制御部31rが、アプリ停止予定時間(=要求メッセージ受信時刻+アプリ停止時間)を計算する(ステップS61)。
Next, the application
次に、アプリ停止予定時刻を超えるアプリ名がある場合(ステップS62:YES)、アプリ監視制御部31rが、要求アプリ起動停止部31nに対して該当アプリの停止を要求する(ステップS63)。
Next, when there is an application name that exceeds the scheduled application stop time (step S62: YES), the application
次に、要求アプリ起動停止部31nが、該当アプリの停止を、PaaSシステム20に対して要求する(ステップS64)。
Next, the requested application start /
このアプリ停止要求は、該当アプリのアプリ名(例えば、図23中のapr01)を含む。 This application stop request includes the application name of the corresponding application (for example, apr01 in FIG. 23).
PaaSシステム20は、アプリ起動制御システム30(要求アプリ起動停止部31n)からアプリ停止要求(ステップS64)を受信した場合、その受信したアプリ名(ここでは、apr01)のアプリ(正規アプリ)がコピーされたコンテナ21j2を(及び正規アプリ)を停止させる。なお、停止とは、アプリ(正規アプリ)がメモリ21c(又はディスク等のストレージ22)上に存在するが、リソースを消費しない状態(例えば、使用CPU等が0の状態)をいう。
When the
さらに、PaaSシステム20は、アプリ起動制御システム30に対してアプリ(正規アプリ)の起動状態を通知(送信)する。例えば、PaaSシステム20は、コンテナ(及びダミーアプリ)が正常に停止した場合、起動状態として停止中を通知する。
Further, the
また、PaaSシステム20は、コンテナ(及びダミーアプリ)が正常に停止した場合、アプリ情報テーブル21n中の「アプリ名」(ここでは、apr04)の「運用状況」に停止中を記憶する。
In addition, when the container (and the dummy application) is normally stopped, the
次に、アプリ起動制御システム30(例えば、アプリ管理部31q)は、ステップS64で起動要求したアプリの起動状態を、PaaSシステム20から受信した場合(ステップS65:YES)、登録済みアプリ管理テーブル31s2を更新する(ステップS66)。 Next, when the application activation control system 30 (for example, the application management unit 31q) receives the activation state of the application requested for activation in step S64 from the PaaS system 20 (step S65: YES), the registered application management table 31s2 Is updated (step S66).
例えば、アプリ起動制御システム30(例えば、アプリ管理部31q)は、PaaSシステム20からアプリの起動状態を受信した場合(ステップS65:YES)、その受信したアプリの起動状態に応じて、登録済みアプリ管理テーブル31s2中の「アプリ名」(ここでは、apr01)の「運用状況」に起動中又は停止中を記憶する。 For example, when the application activation control system 30 (for example, the application management unit 31q) receives the activation state of the application from the PaaS system 20 (step S65: YES), the registered application according to the received activation state of the application “Activation status” of “application name” (here, apr01) in the management table 31s2 is stored as being activated or stopped.
上記ステップS60〜S66の処理は、指定間隔ごとに実行される。 The processes in steps S60 to S66 are executed at specified intervals.
図26、図27は、アプリ起動制御システム30Aにおける要求メッセージ受信処理を説明するためのフローチャートである。
26 and 27 are flowcharts for explaining request message reception processing in the application
以下、第1実施形態(図19、図20)との相違点を中心に説明し、第1実施形態(図19、図20)と同様の処理については同一の符号を付し、適宜説明を省略する。 In the following, differences from the first embodiment (FIGS. 19 and 20) will be mainly described, and the same processes as those in the first embodiment (FIGS. 19 and 20) will be denoted by the same reference numerals, and description will be appropriately given. Omitted.
まず、要求メッセージ受信部31hが、アプリ利用者からアプリ利用者端末50を介して送信された第1アプリ宛の要求メッセージを受信するまで待機する(ステップS40:NO)。
First, it waits until the request
以下、要求メッセージ受信部31hが、アプリ利用者から第1アプリ宛(ここでは、アプリ名apr04、開発者名Usr01)の要求メッセージを受信した場合の処理の一例について説明する。
Hereinafter, an example of processing when the request
要求メッセージ受信部31hは、第1アプリ宛の要求メッセージを受信した場合(ステップS40:YES)、要求メッセージ登録確認部31jに対して第1アプリ(アプリ名)が登録済みアプリ管理テーブル31s2に登録(記憶)されているか否の確認を要求(アプリ確認要求)する(ステップS41)。
When the request
次に、要求メッセージ登録確認部31jは、第1アプリ(アプリ名)が登録済みアプリ管理テーブル31s2に登録されているか否かを判定(確認)する(ステップS42)。
Next, the request message
この判定の結果、第1アプリ(アプリ名)が登録済みアプリ管理テーブル31s2に登録されている場合(ステップS43:YES)、次の第1〜第3の処理が実行される。 As a result of this determination, when the first application (application name) is registered in the registered application management table 31s2 (step S43: YES), the following first to third processes are executed.
第1の処理は、アプリ停止時間テーブル31u2中の要求メッセージ受信時刻を更新する処理である。 The first process is a process of updating the request message reception time in the application stop time table 31u2.
具体的には、まず、要求メッセージ登録確認部31jが、アプリ監視制御部31rに対して要求メッセージ受信時刻を通知する(ステップS44)。
Specifically, first, the request message
次に、アプリ監視制御部31rが、アプリ停止時間テーブル31u2中の「アプリ名」が第1アプリの「要求メッセージ受信時刻」を、要求メッセージ登録確認部31jから通知された要求メッセージ受信時刻で更新(例えば、上書き)する(ステップS45)。
Next, the application
第2の処理は、ステップS40で受信した要求メッセージを要求キュー31tに保存する処理である。
The second process is a process of saving the request message received in step S40 in the
具体的には、まず、要求メッセージ登録確認部31jが、要求メッセージ保存部31kに対してステップS40で受信した要求メッセージの保存を要求する(ステップS46)。
Specifically, first, the request message
次に、要求メッセージ保存部31kが、ステップS40で受信した要求メッセージを第1アプリ専用の要求キュー31tに保存する(ステップS47)。
Next, the request
第3の処理は、第1アプリのPaaSシステム20での運用状況が停止中である場合、第1アプリの起動を、PaaSシステム20に対して要求する処理である。
The third process is a process for requesting the
具体的には、まず、要求メッセージ登録確認部31jが、アプリ確認部31wに対して第1アプリの動作確認を要求する(ステップS70)。
Specifically, the request message
次に、アプリ確認部31wが、登録済みアプリ管理テーブル31s2(「運用状況」)を参照して、第1アプリのPaaSシステム20での運用状況が起動中か否かを判定(確認)する(ステップS71)。
Next, the
この判定の結果、第1アプリのPaaSシステム20での運用状況が起動中である場合(ステップS49A:YES)、アプリ確認部31wが、第1アプリの起動を、要求アプリ起動停止部31nに対して要求する(ステップS50A)。
As a result of this determination, if the operation status of the first application in the
次に、要求アプリ起動停止部31nが、第1アプリ(ここでは、アプリ名apr04)に対応付けられた第1契約者(ここでは、Usr01)のアプリ(アプリ名)のうち「運用状況」が起動中のアプリの「予約済みメモリ量」とステップS40で受信した第1アプリの「予約済みメモリ量」とを加算した合計量が、第1契約者(ここでは、Usr01)のメモリ上限量を超えるか否かを判定(確認)する(ステップS51)。
Next, the requested application activation /
この判定の結果、合計量がメモリ上限量を超えない場合(ステップS52:NO)、要求アプリ起動停止部31nが、第1アプリの起動を、PaaSシステム20に対して要求する(ステップS53A)。
As a result of this determination, if the total amount does not exceed the memory upper limit amount (step S52: NO), the requested application activation /
この第1アプリ起動要求は、第1アプリのアプリ名(ここでは、apr04)を含む。 This first application activation request includes the application name of the first application (here, apr04).
PaaSシステム20は、アプリ起動制御システム30(要求アプリ起動停止部31n)から第1アプリ起動要求(ステップS53A)を受信した場合、その受信したアプリ名のアプリ(正規アプリ)がコピーされたコンテナ21j2(及び正規アプリ)を起動させる。
When the
さらに、PaaSシステム20は、アプリ起動制御システム30に対して正規アプリの起動状態を通知(送信)する。例えば、PaaSシステム20は、コンテナ(及び正規アプリ)が正常に起動した場合、起動状態として起動中を通知し、何らかの理由で正常に起動しなかった場合、起動状態として停止中を通知する。
Further, the
また、PaaSシステム20は、正規アプリの起動状態に応じて、アプリ情報テーブル21n中の「アプリ名」(ここでは、apr04)の「運用状況」に起動中(正規アプリとして起動中)又は停止中を記憶する。
Further, the
次に、アプリ起動制御システム30(例えば、アプリ管理部31q)は、ステップS50Aで起動要求したアプリの起動状態を、PaaSシステム20から受信した場合(ステップS54:YES)、登録済みアプリ管理テーブル31sを更新する(ステップS55)。 Next, when the application activation control system 30 (for example, the application management unit 31q) receives the activation state of the application requested for activation in step S50A from the PaaS system 20 (step S54: YES), the registered application management table 31s. Is updated (step S55).
例えば、アプリ起動制御システム30(例えば、アプリ管理部31q)は、PaaSシステム20からアプリの起動状態を受信した場合(ステップS54:YES)、その受信したアプリの起動状態に応じて、登録済みアプリ管理テーブル31s中の「アプリ名」(ここでは、apr04)の「運用状況」に起動中又は停止中を記憶する。 For example, when the application activation control system 30 (for example, the application management unit 31q) receives the activation state of the application from the PaaS system 20 (step S54: YES), the registered application according to the received activation state of the application “Activation status” of “application name” (here, apr04) in the management table 31s is stored as being activated or stopped.
次に、要求アプリ起動停止部31nが、要求メッセージ転送部31pに対して要求メッセージの転送を要求する(ステップS56)。
Next, the request application activation /
次に、要求メッセージ転送部31pが、第1アプリ(ここでは、アプリ名apr04)専用の要求キュー31tから要求メッセージを一つ取得し、その要求メッセージをPaaSシステム20へ転送する(ステップS57)。
Next, the request
ステップS57の処理は、第1アプリ専用の要求キュー31tが空になるまで実行され(ステップS58:NO)、第1アプリ専用の要求キュー31tが空になった場合(ステップS58:YES)、要求メッセージ受信処理が終了する。
The process of step S57 is executed until the
一方、ステップS49での判定の結果、第1アプリのPaaSシステム20での運用状況が起動中でない場合(ステップS49:NO)、すなわち、第1アプリのPaaSシステム20での運用状況が停止中である場合、ステップS56〜S58の処理が実行される。
On the other hand, if the result of determination in step S49 is that the operation status of the first application in the
なお、ステップS43の判定の結果、第1アプリ(アプリ名)が登録済みアプリ管理テーブル31sに登録されていない場合(ステップS43:NO)、要求メッセージ登録確認部31jが、要求メッセージ転送部31pに対して要求メッセージ転送を要求する(ステップS59)。
If the first application (application name) is not registered in the registered application management table 31s as a result of the determination in step S43 (step S43: NO), the request message
次に、要求メッセージ転送部31pが、ステップS40で受信した要求メッセージをPaaSシステム20に転送する(ステップS60)。
Next, the request
以上のとおり、本実施形態によれば、アプリ利用者から受信した第1アプリ宛の要求メッセージの宛先である第1アプリがPaaSシステム20で起動(イベントドリブン)するまでの間、アプリ利用者から受信した第1アプリ宛の要求メッセージの取りこぼしを防止することができる。
As described above, according to the present embodiment, from the application user until the first application that is the destination of the request message addressed to the first application received from the application user is activated (event driven) in the
これは、アプリ利用者から受信した第1アプリ宛の要求メッセージをPaaSシステム20が第1アプリ(正規アプリ)起動前に保存する第1アプリ専用の要求キュー31tを設け、PaaSシステム20が第1アプリ(正規アプリ)起動後、第1アプリ専用の要求キュー31tに保存された第1アプリ宛の要求メッセージをPaaSシステム20へ転送することによるものである。
This is provided with a
また、上記のとおり、従来、アプリの登録・削除が行われていたが、PaaSシステム20においては、アプリを削除すると、アプリ名を管理している情報が消えるため、他の開発者が同じアプリ名で登録可能となり、希望するアプリ名が使用できない場合があるという課題がある。
In addition, as described above, registration / deletion of applications has been conventionally performed. However, in the
これに対して、本実施形態によれば、アプリを削除するのではなく、あるアプリ名に関し、起動中又は停止中の正規アプリが常にPaaSシステム20に登録されるため、他の開発者が同じアプリ名で登録するのを防止することができる。
On the other hand, according to the present embodiment, the application is not deleted, but a regular application that is being activated or stopped is always registered in the
また、本実施形態によれば、アプリ利用者から第1アプリ宛の要求メッセージを受信した場合にのみPaaSシステムでの運用状況が停止中から起動中となるため、PaaSシステム20上のアプリの利用時のみリソースが消費されるようなイベントドリブンサービスを実現することができる。 In addition, according to the present embodiment, only when a request message addressed to the first application is received from the application user, the operation status in the PaaS system is changed from being stopped to being activated. It is possible to realize an event-driven service in which resources are consumed only at times.
以上の実施形態をまとめると、次の付記のとおりである。 The above embodiment is summarized as follows.
(付記1)
システムで起動するソフトウェア及び該ソフトウェアの前記システムでの運用状況を契約者ごとに第1メモリに記憶し、
最後の要求メッセージを処理した時刻から所定時間経過したソフトウェアの停止を前記システムに要求するとともに前記所定時間経過したソフトウェアの運用状況を停止中に変更し、
ユーザから第1ソフトウェア宛の要求メッセージを受信したとき、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶する第1処理を行い、
該第1ソフトウェアの運用状況が起動中の場合、前記第2メモリに記憶された要求メッセージを前記システムに転送する第2処理を行い、
該第1ソフトウェアの運用状況が停止中の場合、前記第1ソフトウェアに対応づけられた第1契約者のソフトウェアのうち運用状況が起動中のソフトウェアのリソースと前記第1ソフトウェアのリソースとを加算した合計量が、前記第1契約者のリソース上限量を超えない場合、前記第1ソフトウェアの起動を前記システムに要求し、該第1ソフトウェアの起動後、前記第2メモリに記憶された要求メッセージを前記システムに転送するとともに前記第1ソフトウェアの運用状況を起動中に変更する第3処理を行う、
処理をコンピュータで実行させるソフトウェア制御プログラム。
(Appendix 1)
Software activated in the system and the operation status of the software in the system are stored in the first memory for each contractor;
Requesting the system to stop the software after a predetermined time has elapsed from the time when the last request message was processed, and changing the operation status of the software after the predetermined time has passed to the stop,
When a request message addressed to the first software is received from a user, a first process of storing the request message addressed to the first software in a second memory is performed.
When the operation status of the first software is running, a second process is performed to transfer the request message stored in the second memory to the system,
When the operating status of the first software is stopped, the resources of the software whose operating status is activated and the resources of the first software among the software of the first contractor associated with the first software are added When the total amount does not exceed the resource upper limit amount of the first contractor, the system requests the system to start the first software, and after the first software starts, the request message stored in the second memory Performing a third process of transferring to the system and changing the operating status of the first software during startup;
A software control program that causes a computer to execute processing.
(付記2)
システムで起動するソフトウェア及び該ソフトウェアの前記システムでの運用状況を契約者ごとに第1メモリに記憶し、
運用状況が正規ソフトウェアとして起動中のソフトウェアのうち最後の要求メッセージを処理した時刻から所定時間経過したソフトウェアのダミーソフトウェアとしての起動を前記システムに要求するとともに前記所定時間経過したソフトウェアの運用状況をダミーソフトウェアとして起動中に変更し、
ユーザから第1ソフトウェア宛の要求メッセージを受信したとき、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶する第1処理を行い、
該第1ソフトウェアの運用状況が正規ソフトウェアとして起動中の場合、前記第2メモリに記憶された要求メッセージを前記システムに転送する第2処理を行い、
該第1ソフトウェアの運用状況がダミーソフトウェアとして起動中の場合、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶し、前記第1ソフトウェアに対応づけられた第1契約者のソフトウェアのうち運用状況が起動中のソフトウェアのリソースと前記第1ソフトウェアのリソースとを加算した合計量が、前記第1契約者のリソース上限量を超えない場合、前記第1ソフトウェアの正規ソフトウェアとしての起動を前記システムに要求し、該第1ソフトウェアが正規ソフトウェアとして起動後、前記第2メモリに記憶された要求メッセージを前記システムに転送するとともに前記第1ソフトウェアの運用状況を正規ソフトウェアとして起動中に変更する第3処理を行う、
処理をコンピュータで実行させるソフトウェア制御プログラム。
(Appendix 2)
Software activated in the system and the operation status of the software in the system are stored in the first memory for each contractor;
Among the software whose operating status is being activated as regular software, the system is requested to start as software dummy software whose predetermined time has elapsed from the time when the last request message was processed, and the operating status of software whose predetermined time has elapsed is dummy Change while running as software,
When a request message addressed to the first software is received from a user, a first process of storing the request message addressed to the first software in a second memory is performed.
When the operation status of the first software is activated as regular software, a second process is performed to transfer the request message stored in the second memory to the system,
When the operation status of the first software is activated as dummy software, a request message addressed to the first software is stored in the second memory, and the operation of the software of the first contractor associated with the first software is performed. When the total amount obtained by adding the resources of the software being activated and the resources of the first software does not exceed the resource upper limit amount of the first contractor, the activation of the first software as the regular software is performed in the system. A request message stored in the second memory is transferred to the system, and the operating status of the first software is changed during activation as regular software. Process,
A software control program that causes a computer to execute processing.
(付記3)
付記1又は2において、
ユーザから第1ソフトウェア宛の要求メッセージを受信したとき、該第1ソフトウェアが前記第1メモリに記憶されていない場合、前記第1処理、前記第2処理、前記第3処理を行うことなく、前記システムへ該第1ソフトウェア宛の要求メッセージを転送し、該第1ソフトウェアが前記第1メモリに記憶されている場合、前記第1処理、前記第2処理、前記第3処理を行うソフトウェア制御プログラム。
(Appendix 3)
In
When the first software is received from the user and the first software is not stored in the first memory, the first process, the second process, and the third process are performed without performing the first process, the second process, and the third process. A software control program for transferring a request message addressed to the first software to a system and performing the first process, the second process, and the third process when the first software is stored in the first memory.
(付記4)
付記1から3のいずれかの付記において、
契約者からソフトウェアの登録要求を受信したとき、該ソフトウェア及び該ソフトウェアの運用状況を契約者ごとに前記第1メモリに記憶するソフトウェア制御プログラム。
(Appendix 4)
In any one of
When receiving a software registration request from a contractor, a software control program for storing the software and the operation status of the software in the first memory for each contractor.
(付記5)
付記1から4のいずれかの付記において、前記第2メモリは、前記第1ソフトウェア専用のメモリであるソフトウェア制御プログラム。
(Appendix 5)
The software control program according to any one of
(付記6)
付記1から5のいずれかの付記において、
前記第2メモリは、キューであり、
前記第2メモリに記憶された要求メッセージを前記システムに転送する場合、該要求メッセージを順に前記システムに転送するソフトウェア制御プログラム。
(Appendix 6)
In any one of
The second memory is a queue;
A software control program for sequentially transferring the request messages to the system when transferring the request messages stored in the second memory to the system.
(付記7)
付記1から6のいずれかの付記において、
前記最後の要求メッセージを処理した時刻は、該最後の要求メッセージをユーザから受信した時刻又は前記第2メモリに記憶された該最後の要求メッセージを前記システムに転送した時刻であるソフトウェア制御プログラム。
(Appendix 7)
In any one of
The time when the last request message was processed is a software control program which is the time when the last request message is received from a user or the time when the last request message stored in the second memory is transferred to the system.
(付記8)
メモリと、
前記メモリにアクセス可能なプロセッサと、を備え、
前記プロセッサは、
システムで起動するソフトウェア及び該ソフトウェアの前記システムでの運用状況を契約者ごとに第1メモリに記憶し、
最後の要求メッセージを処理した時刻から所定時間経過したソフトウェアの停止を前記システムに要求するとともに前記所定時間経過したソフトウェアの運用状況を停止中に変更し、
ユーザから第1ソフトウェア宛の要求メッセージを受信したとき、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶する第1処理を行い、
該第1ソフトウェアの運用状況が起動中の場合、前記第2メモリに記憶された要求メッセージを前記システムに転送する第2処理を行い、
該第1ソフトウェアの運用状況が停止中の場合、前記第1ソフトウェアに対応づけられた第1契約者のソフトウェアのうち運用状況が起動中のソフトウェアのリソースと前記第1ソフトウェアのリソースとを加算した合計量が、前記第1契約者のリソース上限量を超えない場合、前記第1ソフトウェアの起動を前記システムに要求し、該第1ソフトウェアの起動後、前記第2メモリに記憶された要求メッセージを前記システムに転送するとともに前記第1ソフトウェアの運用状況を起動中に変更する第3処理を行う、
処理を実行するソフトウェア制御装置。
(Appendix 8)
Memory,
A processor capable of accessing the memory,
The processor is
Software activated in the system and the operation status of the software in the system are stored in the first memory for each contractor;
Requesting the system to stop the software after a predetermined time has elapsed from the time when the last request message was processed, and changing the operation status of the software after the predetermined time has passed to the stop,
When a request message addressed to the first software is received from a user, a first process of storing the request message addressed to the first software in a second memory is performed.
When the operation status of the first software is running, a second process is performed to transfer the request message stored in the second memory to the system,
When the operating status of the first software is stopped, the resources of the software whose operating status is activated and the resources of the first software among the software of the first contractor associated with the first software are added When the total amount does not exceed the resource upper limit amount of the first contractor, the system requests the system to start the first software, and after the first software starts, the request message stored in the second memory Performing a third process of transferring to the system and changing the operating status of the first software during startup;
Software control device that executes processing.
(付記9)
メモリと、
前記メモリにアクセス可能なプロセッサと、を備え、
前記プロセッサは、
システムで起動するソフトウェア及び該ソフトウェアの前記システムでの運用状況を契約者ごとに第1メモリに記憶し、
運用状況が正規ソフトウェアとして起動中のソフトウェアのうち最後の要求メッセージを処理した時刻から所定時間経過したソフトウェアのダミーソフトウェアとしての起動を前記システムに要求するとともに前記所定時間経過したソフトウェアの運用状況をダミーソフトウェアとして起動中に変更し、
ユーザから第1ソフトウェア宛の要求メッセージを受信したとき、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶する第1処理を行い、
該第1ソフトウェアの運用状況が正規ソフトウェアとして起動中の場合、前記第2メモリに記憶された要求メッセージを前記システムに転送する第2処理を行い、
該第1ソフトウェアの運用状況がダミーソフトウェアとして起動中の場合、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶し、前記第1ソフトウェアに対応づけられた第1契約者のソフトウェアのうち運用状況が起動中のソフトウェアのリソースと前記第1ソフトウェアのリソースとを加算した合計量が、前記第1契約者のリソース上限量を超えない場合、前記第1ソフトウェアの正規ソフトウェアとしての起動を前記システムに要求し、該第1ソフトウェアが正規ソフトウェアとして起動後、前記第2メモリに記憶された要求メッセージを前記システムに転送するとともに前記第1ソフトウェアの運用状況を正規ソフトウェアとして起動中に変更する第3処理を行う、処理を実行するソフトウェア制御装置。
(Appendix 9)
Memory,
A processor capable of accessing the memory,
The processor is
Software activated in the system and the operation status of the software in the system are stored in the first memory for each contractor;
Among the software whose operating status is being activated as regular software, the system is requested to start as software dummy software whose predetermined time has elapsed from the time when the last request message was processed, and the operating status of software whose predetermined time has elapsed is dummy Change while running as software,
When a request message addressed to the first software is received from a user, a first process of storing the request message addressed to the first software in a second memory is performed.
When the operation status of the first software is activated as regular software, a second process is performed to transfer the request message stored in the second memory to the system,
When the operation status of the first software is activated as dummy software, a request message addressed to the first software is stored in the second memory, and the operation of the software of the first contractor associated with the first software is performed. When the total amount obtained by adding the resources of the software being activated and the resources of the first software does not exceed the resource upper limit amount of the first contractor, the activation of the first software as the regular software is performed in the system. A request message stored in the second memory is transferred to the system, and the operating status of the first software is changed during activation as regular software. A software control device that performs processing and executes processing.
(付記10)
システムで起動するソフトウェア及び該ソフトウェアの前記システムでの運用状況を契約者ごとに第1メモリに記憶し、
最後の要求メッセージを処理した時刻から所定時間経過したソフトウェアの停止を前記システムに要求するとともに前記所定時間経過したソフトウェアの運用状況を停止中に変更し、
ユーザから第1ソフトウェア宛の要求メッセージを受信したとき、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶する第1処理を行い、
該第1ソフトウェアの運用状況が起動中の場合、前記第2メモリに記憶された要求メッセージを前記システムに転送する第2処理を行い、
該第1ソフトウェアの運用状況が停止中の場合、前記第1ソフトウェアに対応づけられた第1契約者のソフトウェアのうち運用状況が起動中のソフトウェアのリソースと前記第1ソフトウェアのリソースとを加算した合計量が、前記第1契約者のリソース上限量を超えない場合、前記第1ソフトウェアの起動を前記システムに要求し、該第1ソフトウェアの起動後、前記第2メモリに記憶された要求メッセージを前記システムに転送するとともに前記第1ソフトウェアの運用状況を起動中に変更する第3処理を行う、
処理をコンピュータで実行させるソフトウェア制御方法。
(Appendix 10)
Software activated in the system and the operation status of the software in the system are stored in the first memory for each contractor;
Requesting the system to stop the software after a predetermined time has elapsed from the time when the last request message was processed, and changing the operation status of the software after the predetermined time has passed to the stop,
When a request message addressed to the first software is received from a user, a first process of storing the request message addressed to the first software in a second memory is performed.
When the operation status of the first software is running, a second process is performed to transfer the request message stored in the second memory to the system,
When the operating status of the first software is stopped, the resources of the software whose operating status is activated and the resources of the first software among the software of the first contractor associated with the first software are added When the total amount does not exceed the resource upper limit amount of the first contractor, the system requests the system to start the first software, and after the first software starts, the request message stored in the second memory Performing a third process of transferring to the system and changing the operating status of the first software during startup;
A software control method for causing a computer to execute processing.
(付記11)
システムで起動するソフトウェア及び該ソフトウェアの前記システムでの運用状況を契約者ごとに第1メモリに記憶し、
運用状況が正規ソフトウェアとして起動中のソフトウェアのうち最後の要求メッセージを処理した時刻から所定時間経過したソフトウェアのダミーソフトウェアとしての起動を前記システムに要求するとともに前記所定時間経過したソフトウェアの運用状況をダミーソフトウェアとして起動中に変更し、
ユーザから第1ソフトウェア宛の要求メッセージを受信したとき、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶する第1処理を行い、
該第1ソフトウェアの運用状況が正規ソフトウェアとして起動中の場合、前記第2メモリに記憶された要求メッセージを前記システムに転送する第2処理を行い、
該第1ソフトウェアの運用状況がダミーソフトウェアとして起動中の場合、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶し、前記第1ソフトウェアに対応づけられた第1契約者のソフトウェアのうち運用状況が起動中のソフトウェアのリソースと前記第1ソフトウェアのリソースとを加算した合計量が、前記第1契約者のリソース上限量を超えない場合、前記第1ソフトウェアの正規ソフトウェアとしての起動を前記システムに要求し、該第1ソフトウェアが正規ソフトウェアとして起動後、前記第2メモリに記憶された要求メッセージを前記システムに転送するとともに前記第1ソフトウェアの運用状況を正規ソフトウェアとして起動中に変更する第3処理を行う、処理をコンピュータで実行させるソフトウェア制御方法。
(Appendix 11)
Software activated in the system and the operation status of the software in the system are stored in the first memory for each contractor;
Among the software whose operating status is being activated as regular software, the system is requested to start as software dummy software whose predetermined time has elapsed from the time when the last request message was processed, and the operating status of software whose predetermined time has elapsed is dummy Change while running as software,
When a request message addressed to the first software is received from a user, a first process of storing the request message addressed to the first software in a second memory is performed.
When the operation status of the first software is activated as regular software, a second process is performed to transfer the request message stored in the second memory to the system,
When the operation status of the first software is activated as dummy software, a request message addressed to the first software is stored in the second memory, and the operation of the software of the first contractor associated with the first software is performed. When the total amount obtained by adding the resources of the software being activated and the resources of the first software does not exceed the resource upper limit amount of the first contractor, the activation of the first software as the regular software is performed in the system. A request message stored in the second memory is transferred to the system, and the operating status of the first software is changed during activation as regular software. Software control method for performing processing and causing processing to be executed by a computer
10、10A:情報処理システム
20:PaaSシステム
10, 10A: Information processing system 20: PaaS system
Claims (9)
最後の要求メッセージを処理した時刻から所定時間経過したソフトウェアの停止を前記システムに要求するとともに前記所定時間経過したソフトウェアの運用状況を停止中に変更し、
ユーザから第1ソフトウェア宛の要求メッセージを受信したとき、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶する第1処理を行い、
該第1ソフトウェアの運用状況が起動中の場合、前記第2メモリに記憶された要求メッセージを前記システムに転送する第2処理を行い、
該第1ソフトウェアの運用状況が停止中の場合、前記第1ソフトウェアに対応づけられた第1契約者のソフトウェアのうち運用状況が起動中のソフトウェアのリソースと前記第1ソフトウェアのリソースとを加算した合計量が、前記第1契約者のリソース上限量を超えない場合、前記第1ソフトウェアの起動を前記システムに要求し、該第1ソフトウェアの起動後、前記第2メモリに記憶された要求メッセージを前記システムに転送するとともに前記第1ソフトウェアの運用状況を起動中に変更する第3処理を行う、
処理をコンピュータで実行させるソフトウェア制御プログラム。 Software activated in the system and the operation status of the software in the system are stored in the first memory for each contractor;
Requesting the system to stop the software after a predetermined time has elapsed from the time when the last request message was processed, and changing the operation status of the software after the predetermined time has passed to the stop,
When a request message addressed to the first software is received from a user, a first process of storing the request message addressed to the first software in a second memory is performed.
When the operation status of the first software is running, a second process is performed to transfer the request message stored in the second memory to the system,
When the operating status of the first software is stopped, the resources of the software whose operating status is activated and the resources of the first software among the software of the first contractor associated with the first software are added When the total amount does not exceed the resource upper limit amount of the first contractor, the system requests the system to start the first software, and after the first software starts, the request message stored in the second memory Performing a third process of transferring to the system and changing the operating status of the first software during startup;
A software control program that causes a computer to execute processing.
運用状況が正規ソフトウェアとして起動中のソフトウェアのうち最後の要求メッセージを処理した時刻から所定時間経過したソフトウェアのダミーソフトウェアとしての起動を前記システムに要求するとともに前記所定時間経過したソフトウェアの運用状況をダミーソフトウェアとして起動中に変更し、
ユーザから第1ソフトウェア宛の要求メッセージを受信したとき、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶する第1処理を行い、
該第1ソフトウェアの運用状況が正規ソフトウェアとして起動中の場合、前記第2メモリに記憶された要求メッセージを前記システムに転送する第2処理を行い、
該第1ソフトウェアの運用状況がダミーソフトウェアとして起動中の場合、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶し、前記第1ソフトウェアに対応づけられた第1契約者のソフトウェアのうち運用状況が起動中のソフトウェアのリソースと前記第1ソフトウェアのリソースとを加算した合計量が、前記第1契約者のリソース上限量を超えない場合、前記第1ソフトウェアの正規ソフトウェアとしての起動を前記システムに要求し、該第1ソフトウェアが正規ソフトウェアとして起動後、前記第2メモリに記憶された要求メッセージを前記システムに転送するとともに前記第1ソフトウェアの運用状況を正規ソフトウェアとして起動中に変更する第3処理を行う、
処理をコンピュータで実行させるソフトウェア制御プログラム。 Software activated in the system and the operation status of the software in the system are stored in the first memory for each contractor;
Among the software whose operating status is being activated as regular software, the system is requested to start as software dummy software whose predetermined time has elapsed from the time when the last request message was processed, and the operating status of software whose predetermined time has elapsed is dummy Change while running as software,
When a request message addressed to the first software is received from a user, a first process of storing the request message addressed to the first software in a second memory is performed.
When the operation status of the first software is activated as regular software, a second process is performed to transfer the request message stored in the second memory to the system,
When the operation status of the first software is activated as dummy software, a request message addressed to the first software is stored in the second memory, and the operation of the software of the first contractor associated with the first software is performed. When the total amount obtained by adding the resources of the software being activated and the resources of the first software does not exceed the resource upper limit amount of the first contractor, the activation of the first software as the regular software is performed in the system. A request message stored in the second memory is transferred to the system, and the operating status of the first software is changed during activation as regular software. Process,
A software control program that causes a computer to execute processing.
前記メモリにアクセス可能なプロセッサと、を備え、
前記プロセッサは、
システムで起動するソフトウェア及び該ソフトウェアの前記システムでの運用状況を契約者ごとに第1メモリに記憶し、
最後の要求メッセージを処理した時刻から所定時間経過したソフトウェアの停止を前記システムに要求するとともに前記所定時間経過したソフトウェアの運用状況を停止中に変更し、
ユーザから第1ソフトウェア宛の要求メッセージを受信したとき、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶する第1処理を行い、
該第1ソフトウェアの運用状況が起動中の場合、前記第2メモリに記憶された要求メッセージを前記システムに転送する第2処理を行い、
該第1ソフトウェアの運用状況が停止中の場合、前記第1ソフトウェアに対応づけられた第1契約者のソフトウェアのうち運用状況が起動中のソフトウェアのリソースと前記第1ソフトウェアのリソースとを加算した合計量が、前記第1契約者のリソース上限量を超えない場合、前記第1ソフトウェアの起動を前記システムに要求し、該第1ソフトウェアの起動後、前記第2メモリに記憶された要求メッセージを前記システムに転送するとともに前記第1ソフトウェアの運用状況を起動中に変更する第3処理を行う、
処理を実行するソフトウェア制御装置。 Memory,
A processor capable of accessing the memory,
The processor is
Software activated in the system and the operation status of the software in the system are stored in the first memory for each contractor;
Requesting the system to stop the software after a predetermined time has elapsed from the time when the last request message was processed, and changing the operation status of the software after the predetermined time has passed to the stop,
When a request message addressed to the first software is received from a user, a first process of storing the request message addressed to the first software in a second memory is performed.
When the operation status of the first software is running, a second process is performed to transfer the request message stored in the second memory to the system,
When the operating status of the first software is stopped, the resources of the software whose operating status is activated and the resources of the first software among the software of the first contractor associated with the first software are added When the total amount does not exceed the resource upper limit amount of the first contractor, the system requests the system to start the first software, and after the first software starts, the request message stored in the second memory Performing a third process of transferring to the system and changing the operating status of the first software during startup;
Software control device that executes processing.
前記メモリにアクセス可能なプロセッサと、を備え、
前記プロセッサは、
システムで起動するソフトウェア及び該ソフトウェアの前記システムでの運用状況を契約者ごとに第1メモリに記憶し、
運用状況が正規ソフトウェアとして起動中のソフトウェアのうち最後の要求メッセージを処理した時刻から所定時間経過したソフトウェアのダミーソフトウェアとしての起動を前記システムに要求するとともに前記所定時間経過したソフトウェアの運用状況をダミーソフトウェアとして起動中に変更し、
ユーザから第1ソフトウェア宛の要求メッセージを受信したとき、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶する第1処理を行い、
該第1ソフトウェアの運用状況が正規ソフトウェアとして起動中の場合、前記第2メモリに記憶された要求メッセージを前記システムに転送する第2処理を行い、
該第1ソフトウェアの運用状況がダミーソフトウェアとして起動中の場合、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶し、前記第1ソフトウェアに対応づけられた第1契約者のソフトウェアのうち運用状況が起動中のソフトウェアのリソースと前記第1ソフトウェアのリソースとを加算した合計量が、前記第1契約者のリソース上限量を超えない場合、前記第1ソフトウェアの正規ソフトウェアとしての起動を前記システムに要求し、該第1ソフトウェアが正規ソフトウェアとして起動後、前記第2メモリに記憶された要求メッセージを前記システムに転送するとともに前記第1ソフトウェアの運用状況を正規ソフトウェアとして起動中に変更する第3処理を行う、処理を実行するソフトウェア制御装置。 Memory,
A processor capable of accessing the memory,
The processor is
Software activated in the system and the operation status of the software in the system are stored in the first memory for each contractor;
Among the software whose operating status is being activated as regular software, the system is requested to start as software dummy software whose predetermined time has elapsed from the time when the last request message was processed, and the operating status of software whose predetermined time has elapsed is dummy Change while running as software,
When a request message addressed to the first software is received from a user, a first process of storing the request message addressed to the first software in a second memory is performed.
When the operation status of the first software is activated as regular software, a second process is performed to transfer the request message stored in the second memory to the system,
When the operation status of the first software is activated as dummy software, a request message addressed to the first software is stored in the second memory, and the operation of the software of the first contractor associated with the first software is performed. When the total amount obtained by adding the resources of the software being activated and the resources of the first software does not exceed the resource upper limit amount of the first contractor, the activation of the first software as the regular software is performed in the system. A request message stored in the second memory is transferred to the system, and the operating status of the first software is changed during activation as regular software. A software control device that performs processing and executes processing.
最後の要求メッセージを処理した時刻から所定時間経過したソフトウェアの停止を前記システムに要求するとともに前記所定時間経過したソフトウェアの運用状況を停止中に変更し、
ユーザから第1ソフトウェア宛の要求メッセージを受信したとき、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶する第1処理を行い、
該第1ソフトウェアの運用状況が起動中の場合、前記第2メモリに記憶された要求メッセージを前記システムに転送する第2処理を行い、
該第1ソフトウェアの運用状況が停止中の場合、前記第1ソフトウェアに対応づけられた第1契約者のソフトウェアのうち運用状況が起動中のソフトウェアのリソースと前記第1ソフトウェアのリソースとを加算した合計量が、前記第1契約者のリソース上限量を超えない場合、前記第1ソフトウェアの起動を前記システムに要求し、該第1ソフトウェアの起動後、前記第2メモリに記憶された要求メッセージを前記システムに転送するとともに前記第1ソフトウェアの運用状況を起動中に変更する第3処理を行う、
処理をコンピュータで実行させるソフトウェア制御方法。 Software activated in the system and the operation status of the software in the system are stored in the first memory for each contractor;
Requesting the system to stop the software after a predetermined time has elapsed from the time when the last request message was processed, and changing the operation status of the software after the predetermined time has passed to the stop,
When a request message addressed to the first software is received from a user, a first process of storing the request message addressed to the first software in a second memory is performed.
When the operation status of the first software is running, a second process is performed to transfer the request message stored in the second memory to the system,
When the operating status of the first software is stopped, the resources of the software whose operating status is activated and the resources of the first software among the software of the first contractor associated with the first software are added When the total amount does not exceed the resource upper limit amount of the first contractor, the system requests the system to start the first software, and after the first software starts, the request message stored in the second memory Performing a third process of transferring to the system and changing the operating status of the first software during startup;
A software control method for causing a computer to execute processing.
運用状況が正規ソフトウェアとして起動中のソフトウェアのうち最後の要求メッセージを処理した時刻から所定時間経過したソフトウェアのダミーソフトウェアとしての起動を前記システムに要求するとともに前記所定時間経過したソフトウェアの運用状況をダミーソフトウェアとして起動中に変更し、
ユーザから第1ソフトウェア宛の要求メッセージを受信したとき、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶する第1処理を行い、
該第1ソフトウェアの運用状況が正規ソフトウェアとして起動中の場合、前記第2メモリに記憶された要求メッセージを前記システムに転送する第2処理を行い、
該第1ソフトウェアの運用状況がダミーソフトウェアとして起動中の場合、第2メモリに前記第1ソフトウェア宛の要求メッセージを記憶し、前記第1ソフトウェアに対応づけられた第1契約者のソフトウェアのうち運用状況が起動中のソフトウェアのリソースと前記第1ソフトウェアのリソースとを加算した合計量が、前記第1契約者のリソース上限量を超えない場合、前記第1ソフトウェアの正規ソフトウェアとしての起動を前記システムに要求し、該第1ソフトウェアが正規ソフトウェアとして起動後、前記第2メモリに記憶された要求メッセージを前記システムに転送するとともに前記第1ソフトウェアの運用状況を正規ソフトウェアとして起動中に変更する第3処理を行う、処理をコンピュータで実行させるソフトウェア制御方法。 Software activated in the system and the operation status of the software in the system are stored in the first memory for each contractor;
Among the software whose operating status is being activated as regular software, the system is requested to start as software dummy software whose predetermined time has elapsed from the time when the last request message was processed, and the operating status of software whose predetermined time has elapsed is dummy Change while running as software,
When a request message addressed to the first software is received from a user, a first process of storing the request message addressed to the first software in a second memory is performed.
When the operation status of the first software is activated as regular software, a second process is performed to transfer the request message stored in the second memory to the system,
When the operation status of the first software is activated as dummy software, a request message addressed to the first software is stored in the second memory, and the operation of the software of the first contractor associated with the first software is performed. When the total amount obtained by adding the resources of the software being activated and the resources of the first software does not exceed the resource upper limit amount of the first contractor, the activation of the first software as the regular software is performed in the system. A request message stored in the second memory is transferred to the system, and the operating status of the first software is changed during activation as regular software. Software control method for performing processing and causing processing to be executed by a computer
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017028219A JP2018133046A (en) | 2017-02-17 | 2017-02-17 | Software control program, software control device, and software control method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017028219A JP2018133046A (en) | 2017-02-17 | 2017-02-17 | Software control program, software control device, and software control method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2018133046A true JP2018133046A (en) | 2018-08-23 |
Family
ID=63248468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017028219A Pending JP2018133046A (en) | 2017-02-17 | 2017-02-17 | Software control program, software control device, and software control method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2018133046A (en) |
-
2017
- 2017-02-17 JP JP2017028219A patent/JP2018133046A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9519504B2 (en) | Managing a server template | |
US9329909B1 (en) | Dynamically modifying a cluster of computing nodes used for distributed execution of a program | |
US8321558B1 (en) | Dynamically monitoring and modifying distributed execution of programs | |
CN109189334B (en) | Block chain network service platform, capacity expansion method thereof and storage medium | |
JP6677294B2 (en) | Network system, patch file application method, and program | |
KR101373461B1 (en) | Terminal and method for using cloud sevices | |
US20150154042A1 (en) | Computer system and control method for virtual machine | |
JPWO2010116676A1 (en) | Service providing apparatus, service providing system, data processing method of service providing apparatus, and computer program | |
JP5346405B2 (en) | Network system | |
US10620871B1 (en) | Storage scheme for a distributed storage system | |
US20120102484A1 (en) | Installing software remotely using a high privilege process | |
US20210055922A1 (en) | Hydration of applications | |
CN110413369B (en) | System and method for backup in virtualized environments | |
WO2013145434A1 (en) | Network system and method for controlling same | |
US9021489B2 (en) | Start, suspend and resume an application program where the application program utilizes the same handle to identify a resource upon resumption | |
JP2016035669A (en) | Data migration method and data migration apparatus | |
US20130238675A1 (en) | Information processing apparatus, image file management method and storage medium | |
US11907075B2 (en) | Method and system for continuous mapping of protection policies to data cluster components | |
JP2018133046A (en) | Software control program, software control device, and software control method | |
JP5180399B2 (en) | Information processing apparatus, information processing method, and program | |
CN115136133A (en) | Single use execution environment for on-demand code execution | |
US10140155B2 (en) | Dynamically provisioning, managing, and executing tasks | |
JP2018205839A (en) | Information processing system and control method | |
US20200012432A1 (en) | System and method for efficient restore | |
JP5613820B1 (en) | Intellectual property information management system |