JP6920612B2 - スケールイン管理プログラム、スケールイン管理装置及びスケールイン管理方法 - Google Patents

スケールイン管理プログラム、スケールイン管理装置及びスケールイン管理方法 Download PDF

Info

Publication number
JP6920612B2
JP6920612B2 JP2017105181A JP2017105181A JP6920612B2 JP 6920612 B2 JP6920612 B2 JP 6920612B2 JP 2017105181 A JP2017105181 A JP 2017105181A JP 2017105181 A JP2017105181 A JP 2017105181A JP 6920612 B2 JP6920612 B2 JP 6920612B2
Authority
JP
Japan
Prior art keywords
proxy server
scale
transaction
connection
completion time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017105181A
Other languages
English (en)
Other versions
JP2018200585A (ja
Inventor
勇佑 江頭
勇佑 江頭
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2017105181A priority Critical patent/JP6920612B2/ja
Priority to US15/988,183 priority patent/US10972533B2/en
Publication of JP2018200585A publication Critical patent/JP2018200585A/ja
Application granted granted Critical
Publication of JP6920612B2 publication Critical patent/JP6920612B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/1045Proxies, e.g. for session initiation protocol [SIP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Fuzzy Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、スケールイン管理プログラム、スケールイン管理装置及びスケールイン管理方法に関する。
データベースが利用される業務システム(以下、情報処理システムとも呼ぶ)において、例えば、利用者にサービスを提供する事業者(以下、単に事業者とも呼ぶ)は、サービスの提供に用いられるデータを格納するデータベースを構成として含む業務システムの構築を行う。
上記のような業務システムには、例えば、互いに同期されたデータを記憶する複数のデータベースと、アプリケーションから送信されたクエリをいずれかのデータベースに振り分けるデータベース接続プロキシサーバ(以下、単にプロキシサーバとも呼ぶ)とが含まれる。この場合、プロキシサーバは、アプリケーションから受け付けたクエリの内容を解析し、解析結果に基づいてクエリの処理を行わせるデータベースを特定する。そして、プロキシサーバは、特定したデータベースに対して、アプリケーションから送信されたクエリの振り分けを行う。これにより、事業者は、データベースの負荷分散を行うことが可能になる(例えば、特許文献1乃至4参照)。
特開2002−163241号公報 特開2003−248668号公報 特表2013−544562号公報 特開2007−226802号公報
上記のような業務システムにおいて、例えば、利用者から送信される処理要求が増加した場合、アプリケーションからプロキシサーバに送信されるクエリの数が増加し、プロキシサーバにおける処理負担が増大する。そのため、業務システムでは、利用者から送信される処理要求量によって、プロキシサーバにおける処理能力の限界が処理のボトルネックになる場合がある。
そこで、事業者は、例えば、プロキシサーバのスケールアウト(以下、スケールアウト処理とも呼ぶ)及びスケールイン(以下、スケールイン処理とも呼ぶ)を行う機能を業務システムに実装する。これにより、業務システムでは、例えば、アプリケーションから送信されるクエリの数が増加した場合に、プロキシサーバの数を増やすことが可能になる。そのため、事業者は、業務システムにおいてプロキシサーバがボトルネックとなることを防止することが可能になる。
ここで、プロキシサーバのスケールインが行われる場合、業務システムでは、実行中のトランザクションに悪影響が及ぶことを防止するため、スケールイン対象のプロキシサーバを経由するコネクションのすべてが切断されてからプロキシサーバのスケールインを開始する必要がある。そのため、業務システムでは、例えば、経由するコネクションの数が最も少ないプロキシサーバをスケールイン対象のプロキシサーバとして決定する。
しかしながら、経由するすべてのコネクションの切断に要する時間が最も短いプロキシサーバは、経由するコネクションの数が最も少ないプロキシサーバと必ずしも一致しない。そのため、業務システムでは、経由するコネクションの数が最も少ないプロキシサーバをスケールイン対象のプロキシサーバとして決定する場合、プロキシサーバのスケールインを迅速に行うことができない可能性がある。
そこで、一つの側面では、本発明は、実行中のトランザクションに影響を与えず、かつ、迅速にスケールイン処理を実行することを可能とするスケールイン管理プログラム、スケールイン管理装置及びスケールイン管理方法を提供することを目的とする。
実施の形態の一態様では、データベースのプロキシサーバのスケールイン指示の受付に応じ、アプリケーションの種類ごとに蓄積されたトランザクションの実行時間を参照して、前記プロキシサーバにおいて実行中のトランザクションの完了予想時間を通知し、所定の通知の受付に応じ、前記プロキシサーバにおいて、新規のコネクション接続の受付を中止し、前記所定の通知の受付以降にトランザクションの終了が検知された場合は、接続中のコネクションを切断し、前記プロキシサーバのすべてのコネクション切断に応じ、前記プロキシサーバのスケールイン処理を実行する、処理をコンピュータに実行させる。
一つの側面によれば、実行中のトランザクションに影響を与えず、かつ、迅速にスケールイン処理を実行することを可能とする。
図1は、情報処理システム10の全体構成を示す図である。 図2は、情報処理装置1で動作する各仮想マシン3の機能を説明する図である。 図3は、情報処理装置1で動作する各仮想マシン3の機能を説明する図である。 図4は、情報処理装置1で動作する各仮想マシン3の機能を説明する図である。 図5は、情報処理装置1のハードウエア構成を示す図である。 図6は、情報処理装置1の機能ブロック図である。 図7は、情報処理装置1の機能ブロック図である。 図8は、第1の実施の形態におけるスケールイン処理の概略を説明するフローチャート図である。 図9は、第1の実施の形態におけるスケールイン処理の概略を説明する図である。 図10は、第1の実施の形態におけるスケールイン処理の概略を説明する図である。 図11は、第1の実施の形態におけるスケールイン処理の概略を説明する図である。 図12は、第1の実施の形態におけるスケールイン処理の概略を説明する図である。 図13は、第1の実施の形態におけるスケールイン処理の概略を説明する図である。 図14は、第1の実施の形態におけるスケールイン処理の概略を説明する図である。 図15は、第1の実施の形態におけるスケールイン処理の詳細を説明するフローチャート図である。 図16は、第1の実施の形態におけるスケールイン処理の詳細を説明するフローチャート図である。 図17は、第1の実施の形態におけるスケールイン処理の詳細を説明するフローチャート図である。 図18は、第1の実施の形態におけるスケールイン処理の詳細を説明するフローチャート図である。 図19は、第1の実施の形態におけるスケールイン処理の詳細を説明するフローチャート図である。 図20は、実行時間情報131の具体例を説明する図である。 図21は、実行時間情報131の具体例を説明する図である。 図22は、実行時間情報131の具体例を説明する図である。 図23は、実行時間情報131の具体例を説明する図である。 図24は、最長実行時間情報131aの具体例を説明する図である。 図25は、完了予想時間情報132の具体例を説明する図である。 図26は、第2の実施の形態におけるスケールイン処理を説明するフローチャート図である。 図27は、第2の実施の形態におけるスケールイン処理を説明するフローチャート図である。 図28は、第2の実施の形態におけるスケールイン処理を説明するフローチャート図である。
[情報処理システムの構成]
図1は、情報処理システム10の全体構成を示す図である。図1に示す情報処理システム10は、例えば、利用者にサービスを提供するための業務システムである。図1に示す情報処理システム10において、情報処理装置1がデータセンター(図示しない)内に設けられている。そして、事業者端末5は、インターネットやイントラネット等のネットワークを介して、データセンターとアクセス可能になっている。
情報処理装置1は、例えば、複数の物理マシンから構成される。各物理マシンは、CPU(Central Computing Unit)と、メモリ(DRAM:Dynamic Random Access Memory)と、ハードディスク(HDD:Hard Disk Drive)等の大容量メモリとを有する。そして、情報処理装置1の物理リソースは、利用者に対してサービスを提供するための各処理を実行する複数の仮想マシン3に割当てられる。
仮想化ソフトウエア4は、情報処理装置1のCPU、メモリ及びハードディスクを割当てることにより、仮想マシン3を動作させる基盤ソフトウエアである。仮想化ソフトウエア4は、例えば、情報処理装置1で動作する。
[情報処理装置で動作する各仮想マシンの機能]
次に、情報処理装置1で動作する各仮想マシン3の機能を説明する。図2から図4は、情報処理装置1で動作する各仮想マシン3の機能を説明する図である。
図2に示す情報処理装置1で動作する仮想マシン3には、管理サーバMN、ロードバランサLB1、アプリケーションAP1、アプリケーションAP2、アプリケーションAP3及びプロキシサーバPR1が含まれる。また、図2に示す情報処理装置1は、記憶装置(図示しない)において構築されたデータベースDB1、データベースDB2及びデータベースDB3を有する。なお、以下、アプリケーションAP1、AP2及びAP3を総称してアプリケーションAPとも呼び、データベースDB1、DB2及びDB3を総称してデータベースDBとも呼ぶ。また、データベースDBが構築される記憶装置は、例えば、情報処理装置1の外部に設けられた記憶装置であってよい。
ロードバランサLB1は、利用者が利用者端末(図示しない)を介して送信した処理要求を、アプリケーションAPのうちのいずれかに割り振る仮想マシンである。
アプリケーションAPは、ロードバランサLB1によって割り振られた処理要求に対応する各処理(利用者に対してサービスの提供を行うための各処理)を実行する仮想マシンである。そして、アプリケーションAPは、各処理の実行時において、データベースDBに格納されたデータの参照や更新を行うためのクエリをデータベースDBに対して送信する。
具体的に、アプリケーションAPは、例えば、図3に示すように、トランザクションの開始を示すクエリ(以下、開始クエリとも呼ぶ)である「BEGIN;」と、トランザクションの終了を示すクエリ(以下、終了クエリとも呼ぶ)である「COMMIT;」とを含む複数のクエリ(以下、クエリ群とも呼ぶ)をデータベースDBに送信する。
プロキシサーバPR1は、アプリケーションAPからデータベースDBに対して送信されたクエリの内容を解析し、解析結果に基づいてクエリの処理を行わせるデータベースDBの特定を行う。そして、プロキシサーバPR1は、特定したデータベースDBに対してアプリケーションAPから送信されたクエリの振り分けを行う。
具体的に、プロキシサーバPR1は、「BEGIN;」と「COMMIT;」とに囲まれたクエリ群ごとに、各データベースDBに対する振り分けを行う。そのため、アプリケーションAPから送信されたクエリ群が「BEGIN;」と「COMMIT;」との間にデータの参照を行うクエリのみが含まれるクエリ群である場合、プロキシサーバPR1は、例えば、そのクエリ群を、データの参照のみを行うことが可能なデータベースDBに振り分ける。また、アプリケーションAPから送信されたクエリ群が「BEGIN;」と「COMMIT;」との間にデータの更新を行うクエリが含まれるクエリ群である場合、プロキシサーバPR1は、例えば、そのクエリ群を、データの更新を行うことが可能なデータベースDBに振り分ける。
管理サーバMNは、情報処理装置1で動作する各仮想マシン3の管理を行う仮想マシンである。具体的に、管理サーバMNは、例えば、各仮想マシン3における処理状況の監視を行う。
上記のような情報処理装置1において、例えば、利用者によるサービスの利用量が一時的に増加した場合、プロキシサーバにおける処理能力(データベースDBに対する処理の振り分け能力)の限界が情報処理装置1における処理のボトルネックになる場合がある。
そこで、事業者は、例えば、プロキシサーバPR1のスケールアウト及びスケールインを行う機能を情報処理装置1に実装する。具体的に、管理サーバMNは、利用者によるサービスの利用量が一時的に増加した場合、図4に示すように、プロキシサーバPR2を生成する。また、管理サーバMNは、この場合、アプリケーションAPから送信されたクエリをプロキシサーバPR1及びプロキシサーバPR2(以下、これらを総称して単にプロキシサーバPRとも呼ぶ)に振り分ける仮想マシンであるロードバランサLB2を生成する。
これにより、事業者は、プロキシサーバPR1が情報処理装置1におけるボトルネックとなることを防止することが可能になる。
ここで、プロキシサーバPRのスケールインが行われる場合、情報処理装置1は、プロキシサーバPRのスケールインが実行中のトランザクションに影響を及ぼすことを防止するため、アプリケーションAPとデータベースDBとの間のコネクションのうち、スケールイン対象のプロキシサーバPRを経由するコネクションがすべて切断されてからスケールインを開始する必要がある。そのため、情報処理装置1は、例えば、経由するコネクションの数が最も少ないプロキシサーバPRをスケールイン対象のプロキシサーバPRとして決定する。
しかしながら、経由するすべてのコネクションが切断されるまでに要する時間が最も短いプロキシサーバPRは、経由するコネクションの数が最も少ないプロキシサーバPRと必ずしも一致しない。そのため、情報処理装置1は、経由するコネクションの数が最も少ないプロキシサーバPRをスケールイン対象のプロキシサーバPRとして決定する場合、プロキシサーバPRのスケールインを迅速に行うことができない可能性がある。
そこで、本実施の形態におけるプロキシサーバPRは、プロキシサーバPRのスケールイン指示の受付に応じ、アプリケーションAPの種類ごとに蓄積されたトランザクションの実行時間を参照して、自プロキシサーバPRにおいて実行中のトランザクションの完了予想時間を管理サーバMNに通知する。そして、プロキシサーバPRは、各プロキシサーバPRから通知された完了予想時間に基づいて自プロキシサーバPRが選択されたことを示す通知の受付に応じ、自プロキシサーバPRを経由する新規のコネクション接続の受付を中止し、かつ、トランザクションが終了した自プロキシサーバRを経由する接続中のコネクションを切断する。その後、プロキシサーバPRは、自プロキシサーバPRのすべてのコネクション切断に応じ、自プロキシサーバPRのスケールインを行う。
すなわち、各プロキシサーバPRは、過去に実行された各トランザクションの実行時間を参照して、現在実行中のトランザクションの完了予想時間を予測する。そして、管理サーバMNは、各プロキシサーバPRが予測した完了予想時間に基づき、現在実行中のトランザクションのすべてが最も早く完了するプロキシサーバPRを特定(予測)し、特定したプロキシサーバPRに対してスケールインを行う旨を指示する。その後、スケールインを行う旨の指示を受け付けたプロキシサーバPRは、自プロキシサーバPRを経由するすべてのコネクションの切断が行われた後、自プロキシサーバPRのスケールインを行う。
これにより、情報処理装置1は、プロキシサーバPRのスケールインを、トランザクションに影響を与えず、かつ、迅速に行うことが可能になる。
[情報処理装置1のハードウエア構成]
次に、情報処理装置1のハードウエア構成について説明する。図5は、情報処理装置1のハードウエア構成を示す図である。
情報処理装置1は、プロセッサであるCPU101と、メモリ102と、外部インターフェース(以下、I/Oユニットとも呼ぶ)103と、記憶媒体104とを有する。各部は、バス105を介して互いに接続される。
記憶媒体104は、例えば、記憶媒体104内のプログラム格納領域(図示しない)に、プロキシサーバPRのスケールインを行う処理(以下、スケールイン処理とも呼ぶ)を行うためのプログラム110を記憶する。また、記憶媒体104は、例えば、スケールイン処理を行う際に用いられる情報を記憶する情報格納領域130(以下、記憶部130とも呼ぶ)を有する。
CPU101は、プログラム110の実行時に、プログラム110を記憶媒体104からメモリ102にロードし、プログラム110と協働してスケールイン処理を行う。また、外部インターフェース103は、例えば、事業者端末5と通信を行う。
[情報処理装置の機能]
次に、情報処理装置1の機能について説明する。図6及び図7は、情報処理装置1の機能ブロック図である。
[プロキシサーバの機能]
初めに、情報処理装置1の機能のうち、プロキシサーバPR(以下、スケールイン装置PRとも呼ぶ)によって実現される機能について説明を行う。情報処理装置1のCPU101は、プログラム110と協働することにより、図6に示すように、プロキシサーバPRの機能として、情報蓄積部111と、情報受付部112と、時間算出部113と、時間通知部114として動作する。また、情報処理装置1のCPU101は、プログラム110と協働することにより、プロキシサーバPRの機能として、接続中止部115と、接続切断部116と、スケールイン実行部117と、接続再開部118として動作する。さらに、情報格納領域130には、例えば、実行時間情報131と、完了予想時間情報132とが記憶される。
情報蓄積部111は、アプリケーションAP及びデータベースDBにおいてトランザクションが実行されるごとに、トランザクションの開始時刻や終了時刻を含む実行時間情報131を生成し、情報格納領域130に記憶する。
情報受付部112は、管理サーバMNからプロキシサーバPRのスケールイン指示を受け付ける。すなわち、情報受付部112は、この場合、自プロキシサーバPRがスケールイン対象の候補になったことを示す指示を受け付ける。
また、情報受付部112は、管理サーバMNから、各プロキシサーバPRから通知された完了予想時間に基づきスケールイン対象のプロキシサーバPRとして選択されたことを示す通知(以下、対象選択通知とも呼ぶ)を受け付ける。
さらに、情報受付部112は、管理サーバMNから、各プロキシサーバPRから通知された完了予想時間に基づきスケールイン対象のプロキシサーバPRとして選択されなかったことを示す通知(以下、対象外選択通知とも呼ぶ)を受け付ける。
時間算出部113は、情報受付部112がスケールイン指示を受け付けたことに応じて、アプリケーションAPの種類ごとに蓄積されたトランザクションの実行時間を参照して、プロキシサーバPRにおいて実行中のトランザクションの完了予想時間を算出する。
具体的に、時間算出部113は、情報格納領域130に記憶された実行時間情報131を参照し、アプリケーションAPの種類ごとに、各アプリケーションAPの種類に対応するトランザクションの実行時間のうち、最長の実行時間を特定する。そして、時間算出部113は、実行中のトランザクションごとに、各トランザクションに対応するアプリケーションの種類に対応する最長の実行時間から、各トランザクションの実行開始から現在までの経過時間を減算した時間を完了予想時間として算出する。その後、時間算出部113は、例えば、算出した完了予想時間を含む完了予想時間情報132を情報格納領域130に記憶する。
時間通知部114は、時間算出部113が算出した完了予想時間の通知を行う。具体的に、時間通知部114は、例えば、時間算出部113が算出した完了予想時間のうち、最長の完了予想時間を算出し、算出した完了予想時間の通知を行う。
接続中止部115は、情報受付部112が対象選択通知を受け付けた場合、新規のコネクションの接続の受け付けを中止する。具体的に、接続中止部115は、例えば、自プロキシサーバPRに対する新規のコネクションの接続指示を中止する旨の通知を、ロードバランサLB2に対して行うものであってよい。また、接続中止部115は、例えば、情報受付部112がスケールイン指示を受け付けた場合に、新規のコネクション接続の受け付けを保留する。
接続切断部116は、情報受付部112による対象選択通知の受け付け以降、トランザクションが終了した接続中のコネクションを切断する。
スケールイン実行部117は、情報受付部112が対象選択通知を受け付けた後、すべてのコネクション切断に応じてスケールインを行う。この場合、スケールイン実行部117は、自プロキシサーバPRを終了してスケールインを完了するものであってよい。また、スケールイン実行部117は、管理サーバMNに対して、自プロキシサーバPRのスケールインを行う旨を通知するものであってもよい。
接続再開部118は、情報受付部112が対象外選択通知を受け付けた場合、保留している新規のコネクション接続の受け付けを再開する。
[管理サーバの機能]
次に、情報処理装置1の機能のうち、管理サーバMNによって実現される機能について説明を行う。情報処理装置1のCPU101は、プログラム110と協働することにより、図7に示すように、管理サーバMNの機能として、条件判定部121と、情報通知部122と、時間受付部123と、サーバ特定部124として動作する。
条件判定部121は、所定の条件が満たされたか否かの判定を行う。所定の条件は、例えば、情報処理装置1において動作しているプロキシサーバPRのCPUの使用率が閾値(予め定めた閾値)を超えたことである。
情報通知部122は、条件判定部121が所定の条件が満たされたと判定した場合、スケールイン指示を各プロキシサーバPRに通知する。
時間受付部123は、各プロキシサーバPRが通知した完了予想時間を受け付ける。
サーバ特定部124は、例えば、時間受付部123がすべてのプロキシサーバPRから完了予想時間を受け付けたことに応じ、受け付けた完了予想時間に基づいてスケールイン対象のプロキシサーバを特定する。具体的に、サーバ特定部124は、完了予想時間を通知したプロキシサーバPRのうち、最短の完了予想時間を通知したプロキシサーバPRを、スケールイン対象のプロキシサーバPRとして特定する。
そして、情報通知部122は、サーバ特定部124がスケールイン対象のプロキシサーバPRを特定した場合、完了予想時間を送信したプロキシサーバPRのうち、サーバ特定部124が特定したプロキシサーバPRに対して対象選択通知を行う。また、情報通知部122は、この場合、完了予想時間を送信したプロキシサーバPRのうち、サーバ特定部124が特定しなかったプロキシサーバPRに対して対象外選択通知を行う。
[第1の実施の形態の概略]
次に、第1の実施の形態の概略について説明を行う。図8は、第1の実施の形態におけるスケールイン処理の概略を説明するフローチャート図である。図9から図14は、第1の実施の形態におけるスケールイン処理の概略を説明する図である。図9から図14を参照しながら、図8に示す第1の実施の形態におけるスケールイン処理の概略について説明を行う。
プロキシサーバPRは、図8に示すように、スケールイン指示を受け付けるまで待機する(S1のNO)。具体的に、プロキシサーバPRは、図9に示すように、管理サーバMNからそれぞれスケールイン指示を受け付けるまで待機する。
そして、スケールイン指示を受け付けた場合(S1のYES)、プロキシサーバPRは、アプリケーションAPの種類ごとに蓄積されたトランザクションの実行時間(実行時間情報131)を参照して、実行中のトランザクションの完了予想時間を通知する(S2)。具体的に、各プロキシサーバPRは、図10に示すように、それぞれ算出した完了予想時間を管理サーバMNに対して送信する。
その後、プロキシサーバPRは、スケールイン対象のプロキシサーバPRとして選択されたことを示す通知(対象選択通知)を受け付けるまで待機する(S3のNO)。具体的に、プロキシサーバPRは、図11に示すように、管理サーバMNがスケールイン対象のプロキシサーバPRを決定し、決定したプロキシサーバPR(プロキシサーバPR2)に対して対象選択通知を送信するまで待機する。
そして、対象選択通知を受け付けた場合(S3のYES)、プロキシサーバPRは、新規のコネクション接続の受付を中止し、かつ、トランザクションの終了が検知された接続中のコネクションを切断する(S4)。具体的に、対象選択通知を受け付けたプロキシサーバPRは、対象選択通知を受け付けた場合、図12に示すように、例えば、アプリケーションAPから新規のコネクションの接続を行う旨の指示があった場合であっても、新規のコネクションの接続の受け付けを行わない。そして、対象選択通知を受け付けたプロキシサーバPRは、対象選択通知の受付以降、図13に示すように、例えば、接続中のコネクションによって実行中のトランザクションが終了したことを検知した場合、その接続中のコネクションを切断する。
その後、プロキシサーバPRは、すべてのコネクションが切断されるまで待機する(S5のNO)。そして、すべてのコネクションが切断された場合(S5のYES)、プロキシサーバPRは、自プロキシサーバPRのスケールインを行う(S6)。具体的に、プロキシサーバPRは、図14に示すように、すべてのコネクションが切断されたことに応じて、自プロキシサーバPRのスケールインを行う。
すなわち、各プロキシサーバPRは、過去に実行された各トランザクションの実行時間を参照して、現在実行中のトランザクションの完了予想時間を予測する。そして、管理サーバMNは、各プロキシサーバPRが予測した完了予想時間に基づき、現在実行中のトランザクションのすべてが最も早く完了するプロキシサーバPRを特定(予測)し、特定したプロキシサーバPRに対してスケールインを行う旨を指示する。スケールインを行う旨の指示を受け付けたプロキシサーバPRは、自プロキシサーバPRを経由するすべてのコネクションの切断が行われた後、自プロキシサーバPRのスケールインを行う。
これにより、情報処理装置1は、プロキシサーバPRのスケールインを、トランザクションに影響を与えず、かつ、迅速に行うことが可能になる。
[第1の実施の形態の詳細]
次に、第1の実施の形態の詳細について説明する。図15から図19は、第1の実施の形態におけるスケールイン処理の詳細を説明するフローチャート図である。また、図20から図25は、第1の実施の形態におけるスケールイン処理の詳細を説明する図である。図20から図25を参照しながら、図15から図19に示すスケールイン処理の詳細を説明する。
[情報蓄積処理]
初めに、スケールイン処理の事前処理である情報蓄積処理について説明を行う。情報蓄積処理は、実行時間情報131を生成して情報格納領域130に記憶する処理である。図15は、情報蓄積処理を説明するフローチャート図である。
プロキシサーバPRの情報蓄積部111は、図15に示すように、情報蓄積タイミングまで待機する(S11のNO)。情報蓄積タイミングは、例えば、アプリケーションAPから開始クエリまたは終了クエリを受け付けたタイミングであってよい。
そして、情報蓄積タイミングになった場合(S11のYES)、情報蓄積部111は、実行時間情報131を生成し、情報格納領域130に記憶する(S12)。以下、実行時間情報131の具体例について説明を行う。
[実行時間情報の具体例]
図20から図23は、実行時間情報131の具体例を説明する図である。
図20等に示す実行時間情報131は、実行時間情報131に含まれる各情報を識別する「項番」と、トランザクションの開始時刻が設定される「開始時刻」と、トランザクションの終了時刻が設定される「終了時刻」とを項目として有する。また、図20等に示す実行時間情報131は、開始クエリまたは終了クエリの送信元のアプリケーションAPを識別する「送信元」と、トランザクションの実行時間が設定される「実行時間」とを項目として有する。「実行時間」には、「開始時刻」に設定された時刻から「終了時刻」に設定された時刻までの時間が設定される。
具体的に、図20に示す実行時間情報131において、「項番」が「1」である情報には、「開始時刻」として「915148800.00」が設定され、「終了時刻」として「915148801.21」が設定されている。そして、図20に示す実行時間情報131において、「項番」が「1」である情報には、「送信元」として「AP1(アプリケーションAP1)」が設定され、「実行時間」として「1.21」が設定されている。
また、図20に示す実行時間情報131において、「項番」が「2」である情報には、「開始時刻」として「915148800.13」が設定され、「終了時刻」として「915148800.29」が設定されている。そして、図20に示す実行時間情報131において、「項番」が「2」である情報には、「送信元」として「AP2(アプリケーションAP2)」が設定され、「実行時間」として「0.16」が設定されている。図20に含まれる他の情報については説明を省略する。
そして、情報蓄積部111は、アプリケーションAP2から開始クエリを受け付けた場合、図21の下線部分に示すように、例えば、「項番」が「5」である情報の「開始時刻」として「915148802.40」を設定し、「送信元」として「AP1」を設定する(S11のYES、S12)。
さらに、情報蓄積部111は、アプリケーションAP2から終了クエリを受け付けた場合、図22の下線部分に示すように、例えば、「項番」が「5」である情報の「終了時刻」として「915148805.34」を設定し、「実行時間」として「2.94」を設定する(S11のYES、S12)。
その後、情報蓄積部111は、アプリケーションAP3から開始クエリを受け付けた場合、図23の下線部分に示すように、例えば、「項番」が「6」である情報の「開始時刻」として「915148803.30」を設定し、「送信元」として「AP3(アプリケーションAP3)」を設定する(S11のYES、S12)。さらに、情報蓄積部111は、アプリケーションAP1から開始クエリを受け付けた場合、図23の下線部分に示すように、例えば、「項番」が「7」である情報の「開始時刻」として「915148804.80」を設定し、「送信元」として「AP1」を設定する(S11のYES、S12)。
[管理サーバにおけるスケールイン処理(1)]
次に、スケールイン処理の詳細について説明を行う。図16は、管理サーバMNにおけるスケールイン処理を説明するフローチャート図である。
管理サーバMNの条件判定部121は、図16に示すように、スケールインタイミングになるまで待機する(S21のNO)。具体的に、条件判定部121は、例えば、情報処理装置1において動作しているプロキシサーバPRのCPUの使用率が予め定めた閾値を超えるまで待機する。
そして、スケールインタイミングなった場合(S21のYES)、管理サーバMNの情報通知部122は、スケールイン指示を各プロキシサーバPRに通知する(S22)。以下、プロキシサーバPRにおけるスケールイン処理の具体例について説明を行う。なお、図16におけるS23以降の処理の説明については後述する。
[プロキシサーバにおけるスケールイン処理(1)]
図17は、プロキシサーバPRにおけるスケールイン処理を説明するフローチャート図である。
プロキシサーバPRの情報受付部112は、管理サーバMNから、スケールイン指示を受け付けるまで待機する(S31のNO)。
そして、スケールイン指示を受け付けた場合(S31のYES)、接続中止部115は、例えば、新規のコネクション接続の受付を保留する(S32)。
すなわち、スケールイン指示を受けた場合、接続中止部115は、自プロキシサーバPRがスケールイン対象のプロキシサーバPRになる可能性があると判定する。そのため、接続中止部115は、スケールイン指示の受け付けに応じて、新規のコネクション接続の受け付けを保留する。これにより、プロキシサーバPRは、完了予想時間の算出を新規のコネクション接続の受付よりも優先して行うことが可能になる。
その後、プロキシサーバPRの時間算出部113は、情報格納領域130に記憶された実行時間情報131を参照し、アプリケーションAPの種類ごとに、各アプリケーションAPの種類に対応するトランザクションの実行時間のうち、最長の実行時間を特定する(S33)。具体的に、時間算出部113は、例えば、各アプリケーションAPの種類に対応するトランザクションの実行時間のうちの最長の実行時間を示す最長実行時間情報131aを生成する。以下、最長実行時間情報131aの具体例について説明を行う。
[最長実行時間情報の具体例]
図24は、最長実行時間情報131aの具体例を説明する図である。
図24に示す最長実行時間情報131aは、最長実行時間情報131aに含まれる各情報を識別する「項番」と、アプリケーションAPを識別する「送信元」と、トランザクションの最長実行時間が設定される「最長実行時間」とを項目として有する。
具体的に、図23で説明した実行時間情報131において、「送信元」に「AP1」が設定された情報の「実行時間」に設定された最長時間は、「項番」が「5」である情報の「実行時間」に設定された時間である「2.94」である。また、図23で説明した実行時間情報131において、「送信元」に「AP2」が設定された情報の「実行時間」に設定された最長時間は、「項番」が「2」である情報の「実行時間」に設定された時間である「0.16」である。さらに、図23で説明した実行時間情報131において、「送信元」に「AP3」が設定された情報の「実行時間」に設定された最長時間は、「項番」が「4」である情報の「実行時間」に設定された時間である「0.54」である。
そのため、時間算出部113は、図24に示すように、例えば、「項番」が「1」である情報の「送信元」として「AP1」を設定し、「最長実行時間」として「2.94」を設定する。また、時間算出部113は、例えば、「項番」が「2」である情報の「送信元」として「AP2」を設定し、「最長実行時間」として「0.16」を設定する。さらに、時間算出部113は、例えば、「項番」が「3」である情報の「送信元」として「AP3」を設定し、「最長実行時間」として「0.54」を設定する。
図17に戻り、時間算出部113は、実行中のトランザクションごとに、各トランザクションに対応するアプリケーションAPの種類に対応する最長実行時間から、各トランザクションの実行開始から現在までの経過時間を減算した時間を、完了予想時間として算出する(S24)。具体的に、時間算出部113は、完了予想時間を含む完了予想時間情報132を生成する。そして、時間算出部113は、生成した完了予想時間情報132を情報格納領域130に記憶する。以下、完了予想時間情報132の具体例について説明を行う。
[完了予想時間情報の具体例]
図25は、完了予想時間情報132の具体例を説明する図である。
図25に示す完了予想時間情報132は、完了予想時間情報132に含まれる各情報を識別する「項番」と、アプリケーションAPを識別する「送信元」と、トランザクションの開始からの経過時間が設定される「経過時間」と、完了予想時間が設定される「完了予想時間」とを項目として有する。
具体的に、図24で説明した最長実行時間情報131aには、「送信元」に「AP1」が設定された情報の「最長実行時間」として「2.94」が設定され、「送信元」に「AP3」が設定された情報の「最長実行時間」として「0.54」が設定されている。また、図23で説明した実行時間情報131には、「終了時刻」に情報が設定されない情報(実行中のトランザクションに関する情報)として、「項番」が「6」である情報と「項番」が「7」である情報とが含まれている。そして、「項番」が「6」である情報には、「送信元」として「AP3」が設定され、「開始時刻」として「91548803.30」が設定されている。さらに、「項番」が「7」である情報には、「送信元」として「AP1」が設定され、「開始時刻」として「91548804.80」が設定されている。
そのため、例えば、現在時刻が「91548805.00」である場合、アプリケーションAP1に対応するトランザクションが開始されてからの経過時間は、「91548803.30」から「91548805.00」までの時間である「1.70」である。また、この場合、アプリケーションAP3に対応するトランザクションが開始されてからの経過時間は、「91548804.80」から「91548805.00」までの時間である「0.20」である。
さらに、アプリケーションAP1に対応するトランザクションの完了予想時間は、「2.94」から「1.70」を減算した時間である「1.24」である。また、アプリケーションAP3に対応する実行中のトランザクションの完了予想時間は、「0.54」から「0.20」を減算した時間である「0.34」である。
したがって、時間算出部113は、図25に示すように、例えば、「項番」が「1」である情報の「送信元」として「AP1」を設定し、「経過時間」として「1.70」を設定し、「完了予想時間」として「1.24」を設定する。また、時間算出部113は、図25に示すように、例えば、「項番」が「3」である情報の「送信元」として「AP3」を設定し、「経過時間」として「0.20」を設定し、「完了予想時間」として「0.34」を設定する。
一方、図23で説明した実行時間情報131には、「送信元」として「AP2」が設定され、「終了時刻」に情報が設定されていない情報が存在しない。そのため、時間算出部113は、図25に示すように、例えば、「項番」が「2」である情報の「送信元」として「AP2」を設定し、「経過時間」及び「完了予想時間」として、アプリケーションAP2に対応するトランザクションが存在しないことを示す「−」を設定する。
図17に戻り、プロキシサーバPRの時間通知部114は、管理サーバMNに対し、S24の処理で算出した完了予想時間のうち、最長の完了予想時間の通知を行う(S35)。
具体的に、図25で説明した完了予想時間情報132の「完了予想時間」に設定された時間のうちの最長の時間は、「項番」が「1」である情報の「完了予想時間」に設定された時間である「1.24」である。そのため、時間通知部114は、管理サーバMNに対して「1.24」を通知する。以下、各プロキシサーバPRから完了予想時間を受け付けた後の管理サーバMNにおける処理について説明を行う。なお、図18におけるS41以降の処理の説明については後述する。
[管理サーバにおけるスケールイン処理(2)]
管理サーバMNの時間受付部123は、図16に示すように、各プロキシサーバPRから完了予想時間(最長の完了予想時間)を受け付けるまで待機する(S23のNO)。具体的に、時間受付部123は、S22の処理において情報通知部122がスケールイン指示を通知したすべてのプロキシサーバPRから完了予想時間を受け付けるまで待機する。
そして、完了予想時間を受け付けた場合(S23のYES)、管理サーバMNのサーバ特定部124は、S23の処理で受け付けた完了予想時間のうち、最短の完了予想時間を送信したプロキシサーバPRを、スケールイン対象のプロキシサーバPRとして特定する(S24)。
その後、情報通知部122は、S24の処理で特定したプロキシサーバPRに対し、スケールイン対象のプロキシサーバPRとして選択されたことの通知(対象選択通知)を行う(S25)。また、情報通知部122は、S24の処理で特定したプロキシサーバPR以外のプロキシサーバPRに対し、スケールイン対象のプロキシサーバPRとして選択されなかったことの通知(対象外選択通知)を行う(S26)。
これにより、各プロキシサーバPRは、自プロキシサーバPRがスケールインを行うための処理を行う必要があるか否かの判定を行うことが可能になる。以下、管理サーバMNから完了予想時間を受け付けた後のプロキシサーバPRにおける処理について説明を行う。
[プロキシサーバにおけるスケールイン処理(2)]
情報受付部112は、図18に示すように、スケールイン対象のプロキシサーバPRに関する通知を受け付けるまで待機する(S41のNO)。
そして、スケールイン対象のプロキシサーバPRに関する通知を受け付けた場合(S41のYES)、情報受付部112は、スケールイン対象のプロキシサーバPRとして自プロキシサーバPRが選択されたことを示す通知(対象選択通知)を受け付けたか否かの判定を行う(S42)。
その結果、スケールイン対象のプロキシサーバPRとして自プロキシサーバPRが選択されなかったことを示す通知(対象外選択通知)を受け付けたと判定した場合(S42のNO)、プロキシサーバPRの接続再開部118は、新規のコネクション接続の受け付けを再開する(S43)。すなわち、プロキシサーバPRは、対象外選択通知を受け付けた場合、S32の処理で保留した新規のコネクション接続の受付を再開する。
なお、接続中止部115は、S32の処理において、新規のコネクション接続の受付を保留しないものであってもよい。そして、接続再開部118は、この場合、S43の処理において、新規のコネクション接続の受付の再開を行わないものであってもよい。すなわち、プロキシサーバPRは、新規のコネクション接続の受付を保留することなく、完了予想時間の算出を行うものであってもよい。これにより、プロキシサーバPRは、完了予想時間の算出を行う場合であっても、アプリケーションAPから送信されたクエリに対する応答を遅延なく行うことが可能になる。
一方、対象選択通知を受け付けたと判定した場合(S42のYES)、接続中止部115は、図19に示すように、新規のコネクション接続の受付を中止する(S51)。そして、プロキシサーバPRの接続切断部116は、アプリケーションAPのいずれかに対応するトランザクションが終了するまで待機する(S52のNO)。
その後、アプリケーションAPのいずれかに対応するトランザクションの終了を検知した場合(S52のYES)、接続切断部116は、終了したトランザクションに対応するコネクション(接続中のコネクション)を切断する(S53)。
そして、接続切断部116は、自プロキシサーバPRを経由するすべてのコネクションが切断されたか否かについての判定を行う(S54)。
その結果、すべてのコネクションが切断されていないと判定した場合(S54のNO)、接続切断部116は、S52以降の処理を再度行う。
一方、すべてのコネクションが切断されたと判定した場合(S54のYES)、プロキシサーバPRのスケールイン実行部117は、自プロキシサーバPRのスケールインを行う。具体的に、スケールイン実行部117は、この場合、管理サーバMNに対して、自プロキシサーバPRのスケールインを行う旨を通知することにより、自プロキシサーバPRのスケールインを行うものであってもよい。また、スケールイン実行部117は、この場合、自プロキシサーバPRを終了させることにより、自プロキシサーバPRのスケールインを行うものであってもよい。
このように、本実施の形態におけるプロキシサーバPRは、プロキシサーバPRのスケールイン指示の受付に応じ、アプリケーションAPの種類ごとに蓄積されたトランザクションの実行時間を参照して、自プロキシサーバPRにおいて実行中のトランザクションの完了予想時間を管理サーバMNに通知する。そして、プロキシサーバPRは、各プロキシサーバPRから通知された完了予想時間に基づいて自プロキシサーバPRが選択されたことを示す通知の受付に応じ、自プロキシサーバPRを経由する新規のコネクション接続の受付を中止し、かつ、トランザクションが終了した自プロキシサーバRを経由する接続中のコネクションを切断する。その後、プロキシサーバPRは、自プロキシサーバPRのすべてのコネクション切断に応じ、自プロキシサーバPRのスケールインを行う。
すなわち、各プロキシサーバPRは、過去に実行された各トランザクションの実行時間を参照して、現在実行中のトランザクションの完了予想時間を予測する。そして、管理サーバMNは、各プロキシサーバPRが予測した完了予想時間に基づき、現在実行中のトランザクションのすべてが最も早く完了するプロキシサーバPRを特定(予測)し、特定したプロキシサーバPRに対してスケールインを行う旨を指示する。スケールインを行う旨の指示を受け付けたプロキシサーバPRは、自プロキシサーバPRを経由するすべてのコネクションの切断が行われた後、自プロキシサーバPRのスケールインを行う。
これにより、情報処理装置1は、プロキシサーバPRのスケールインを、トランザクションに影響を与えず、かつ、迅速に行うことが可能になる。
なお、情報処理装置1は、スケールイン処理のうちの管理サーバMNが行う処理(図16で説明した処理)を、プロキシサーバPRのうちのいずれかに行わせるものであってもよい。この場合、情報処理装置1は、例えば、情報処理装置1において動作するプロキシサーバPRのうち、経由するコネクション数が最も少ないプロキシサーバPRを負荷が最も少ないプロキシサーバPRとして特定し、特定したプロキシサーバPRに管理サーバMNが行う処理を行わせるものであってよい。これにより、情報処理装置1は、管理サーバMNの処理負担を軽減させることが可能になる。
[第2の実施の形態]
次に、第2の実施の形態について説明する。図26から図28は、第2の実施の形態におけるスケールイン処理を説明するフローチャート図である。
第2の実施の形態における各プロキシサーバPRは、相互に完了予想時間の送受信を行い、スケールイン対象のプロキシサーバPRの決定を行う。すなわち、第2の実施の形態におけるスケールイン処理では、管理サーバMNに代わってプロキシサーバPRのそれぞれがスケールイン対象のプロキシサーバPRの決定を行う。そして、自プロキシサーバPRがスケールイン対象であると判定したプロキシサーバPRは、自プロキシサーバPRのスケールインを行う。これにより、情報処理装置1は、管理サーバMNの処理負担を軽減させることが可能になる。
以下、第2の実施の形態におけるスケールイン処理のフローチャート図について説明を行う。なお、第2の実施の形態における情報蓄積処理は、第1の実施の形態における情報蓄積処理と同じ内容であるため、説明を省略する。
情報受付部112は、図26に示すように、スケールインタイミングになるまで待機する(S61のNO)。具体的に、情報受付部112は、例えば、管理サーバMNから、情報処理装置1において動作しているプロキシサーバPRのCPUの使用率が予め定めた閾値を超えた旨の情報を受け付けるまで待機する。
そして、スケールインタイミングなった場合(S61のYES)、新規のコネクション接続の受付を保留する(S62)。
その後、時間算出部113は、情報格納領域130に記憶された実行時間情報131を参照し、アプリケーションAPの種類ごとに、各アプリケーションAPの種類に対応するトランザクションの実行時間のうち、最長の実行時間を特定する(S63)。
続いて、時間算出部113は、実行中のトランザクションごとに、各トランザクションに対応するアプリケーションAPの種類に対応する最長実行時間から、各トランザクションの実行開始から現在までの経過時間を減算した時間を、完了予想時間として算出する(S64)。そして、時間算出部113は、S64の処理で算出した完了予想時間のうち、最長の完了予想時間を特定する(S65)。
次に、時間通知部114は、図27に示すように、他のプロキシサーバPRに対し、S65の処理で特定した完了予想時間を通知する(S71)。
そして、時間算出部113は、他のプロキシサーバPRのすべてから完了予想時間を受け付けるまで待機する(S72のNO)。具体的に、時間算出部113は、例えば、現在動作している他のプロキシサーバPRを示す他サーバ情報(図示しない)を参照し、他のプロキシサーバPRのすべてから完了予想時間を受け付けたか否かの判定を行うものであってよい。この場合、時間算出部113は、例えば、管理サーバMNから他サーバ情報を定期的に取得し、情報格納領域130に記憶しておくものであってよい。
その後、他のプロキシサーバPRのすべてから完了予想時間を受け付けた場合(S72のYES)、時間算出部113は、S65の処理で特定した完了予想時間と、S72の処理で受け付けた完了予想時間とのうち、最短の完了予想時間を送信したプロキシサーバPRをスケールイン対象のプロキシサーバPRとして特定する(S73)。
これにより、各プロキシサーバPRは、自プロキシサーバPRがスケールインを行うための処理を行う必要があるか否かの判定を行うことが可能になる。
続いて、接続再開部118は、S73の処理で特定されたスケールイン対象のプロキシサーバPRが自プロキシサーバPRであるか否かの判定を行う(S74)。
その結果、S73の処理で特定されたスケールイン対象のプロキシサーバPRが自プロキシサーバPRでないと判定した場合(S74のNO)、接続再開部118は、新規のコネクション接続の受け付けを再開する(S75)。すなわち、プロキシサーバPRは、この場合、S62の処理で保留した新規のコネクション接続の受付を再開する。
一方、S73の処理で特定されたスケールイン対象のプロキシサーバPRが自プロキシサーバPRであると判定した場合(S74のYES)、接続中止部115は、図19に示すように、新規のコネクション接続の受付を中止する(S81)。そして、接続切断部116は、アプリケーションAPに対応するトランザクションが終了するまで待機する(S82のNO)。
その後、アプリケーションAPに対応するトランザクションの終了を検知した場合(S82のYES)、接続切断部116は、終了したトランザクションに対応する接続中のコネクションを切断する(S83)。
そして、接続切断部116は、自プロキシサーバPRを経由するすべてのコネクションが切断されたか否かについての判定を行う(S84)。
その結果、すべてのコネクションが切断されていないと判定した場合(S84のNO)、接続切断部116は、S82以降の処理を再度行う。一方、すべてのコネクションが切断されたと判定した場合(S84のYES)、プロキシサーバPRのスケールイン実行部117は、自プロキシサーバPRのスケールインを行う(S85)。
これにより、情報処理装置1は、管理サーバMNの処理負担を軽減させることが可能になる。
以上の実施の形態をまとめると、以下の付記のとおりである。
(付記1)
データベースのプロキシサーバのスケールイン指示の受付に応じ、アプリケーションの種類ごとに蓄積されたトランザクションの実行時間を参照して、前記プロキシサーバにおいて実行中のトランザクションの完了予想時間を通知し、
所定の通知の受付に応じ、前記プロキシサーバにおいて、新規のコネクション接続の受付を中止し、
前記所定の通知の受付以降にトランザクションの終了が検知された場合は、接続中のコネクションを切断し、
前記プロキシサーバのすべてのコネクション切断に応じ、前記プロキシサーバのスケールイン処理を実行する、
処理をコンピュータに実行させるスケールイン管理プログラム。
(付記2)
付記1に記載のスケールイン管理プログラムにおいて、
前記所定の通知は、前記プロキシサーバを含む複数のプロキシサーバから通知された前記完了予想時間に基づき前記プロキシサーバが選択されたことを示す通知である、
スケールイン管理プログラム。
(付記3)
付記1に記載のスケールイン管理プログラムにおいて、
前記通知する処理では、
前記アプリケーションの種類ごとに、各アプリケーションの種類に対応するトランザクションの実行時間のうち、最長の実行時間を特定し、
実行中のトランザクションごとに、各トランザクションに対応するアプリケーションの種類に対応する前記最長の実行時間から、各トランザクションの実行開始から現在までの経過時間を減算した時間を、前記完了予想時間として算出し、
算出した前記完了予想時間の通知を行う、
スケールイン管理プログラム。
(付記4)
付記1に記載のスケールイン管理プログラムにおいて、さらに、
アプリケーションの種類ごとにトランザクションの実行時間を記憶部に蓄積する、
処理を前記プロキシサーバに実行させ、
前記通知する処理では、前記記憶部に記憶された前記実行時間を参照して、前記完了予想時間の通知を行う、
スケールイン管理プログラム。
(付記5)
付記1に記載のスケールイン管理プログラムにおいて、さらに、
前記スケールイン指示の受付に応じ、新規のコネクション接続の受付を保留する、
処理をコンピュータに実行させるスケールイン管理プログラム。
(付記6)
付記5に記載のスケールイン管理プログラムにおいて、さらに、
前記完了予想時間に基づき他のプロキシサーバが選択されたことを示す通知の受付に応じ、新規のコネクション接続の受付を再開する、
処理をコンピュータに実行させるスケールイン管理プログラム。
(付記7)
付記2に記載のスケールイン管理プログラムにおいて、
前記複数のプロキシサーバと通信を行う管理サーバは、
所定の条件が満たされた場合に、前記スケールイン指示を前記複数のプロキシサーバに通知し、
前記完了予想時間の受付に応じ、前記完了予想時間に基づいてスケールイン対象のプロキシサーバを特定し、
特定した前記プロキシサーバに対し、特定した前記プロキシサーバが選択されたことを通知する、
スケールイン管理プログラム。
(付記8)
付記7に記載のスケールイン管理プログラムにおいて、
前記管理サーバは、前記複数のプロキシサーバのうち、最短の完了予想時間を通知したプロキシサーバを前記スケールイン対象のプロキシサーバとして特定する、
スケールイン管理プログラム。
(付記9)
付記7に記載のスケールイン管理プログラムにおいて、
前記管理サーバは、前記スケールイン対象のプロキシサーバの特定の後、前記複数のプロキシサーバのうち、特定された前記プロキシサーバ以外のプロキシサーバに対し、他のプロキシサーバが選択されたことを通知する、
スケールイン管理プログラム。
(付記10)
付記7に記載のスケールイン管理プログラムにおいて、
前記スケールイン処理を実行する処理では、
前記プロキシサーバのすべてのコネクション切断に応じ、前記プロキシサーバのスケールインの実行を前記管理サーバに指示する、
スケールイン管理プログラム。
(付記11)
データベースのプロキシサーバのスケールイン指示の受付に応じ、アプリケーションの種類ごとに蓄積されたトランザクションの実行時間を参照して、前記プロキシサーバにおいて実行中のトランザクションの第1完了予想時間を算出し、
算出した前記第1完了予想時間を他のプロキシサーバに通知し、
算出した前記第1完了予想時間と、前記他のプロキシサーバから受け付けた第2完了予想時間とに基づき、前記プロキシサーバまたは前記他のプロキシサーバを選択し、
前記プロキシサーバを選択した場合、前記プロキシサーバにおいて、新規のコネクション接続の受付を中止し、かつ、トランザクションが終了した接続中のコネクションを切断し、
前記プロキシサーバのすべてのコネクション切断に応じ、前記プロキシサーバのスケールイン処理を実行する、
処理をコンピュータに実行させるスケールイン管理プログラム。
(付記12)
付記11に記載のスケールイン管理プログラムにおいて、
前記切断する処理では、前記第1完了予想時間と前記第2完了予想時間とのうち、最短の完了予想時間に対応するプロキシサーバを選択する、
スケールイン管理プログラム。
(付記13)
データベースのプロキシサーバのスケールイン指示の受付に応じ、アプリケーションの種類ごとに蓄積されたトランザクションの実行時間を参照して、前記プロキシサーバにおいて実行中のトランザクションの完了予想時間を通知する時間通知部と、
所定の通知の受付に応じ、前記プロキシサーバにおいて、新規のコネクション接続の受付を中止する接続中止部と、
前記所定の通知の受付以降にトランザクションの終了が検知された場合は、接続中のコネクションを切断する接続切断部と、
前記プロキシサーバのすべてのコネクション切断に応じ、前記プロキシサーバのスケールイン処理を実行するスケールイン実行部と、を有する、
スケールイン管理装置。
(付記14)
付記13に記載のスケールイン管理装置において、
前記時間通知部は、
前記アプリケーションの種類ごとに、各アプリケーションの種類に対応するトランザクションの実行時間のうち、最長の実行時間を特定し、
実行中のトランザクションごとに、各トランザクションに対応するアプリケーションの種類に対応する前記最長の実行時間から、各トランザクションの実行開始から現在までの経過時間を減算した時間を、前記完了予想時間として算出し、
算出した前記完了予想時間の通知を行う、
スケールイン管理装置。
(付記15)
データベースのプロキシサーバのスケールイン指示の受付に応じ、アプリケーションの種類ごとに蓄積されたトランザクションの実行時間を参照して、前記プロキシサーバにおいて実行中のトランザクションの第1完了予想時間を算出する時間算出部と、
算出した前記第1完了予想時間を他のプロキシサーバに通知する時間通知部と、
算出した前記第1完了予想時間と、前記他のプロキシサーバから受け付けた第2完了予想時間とに基づき、前記プロキシサーバまたは前記他のプロキシサーバを選択し、
前記プロキシサーバを選択した場合、前記プロキシサーバにおいて、新規のコネクション接続の受付を中止する接続中止部と、
前記プロキシサーバを選択した場合、前記プロキシサーバにおいて、トランザクションが終了した接続中のコネクションを切断する接続切断部と、
前記プロキシサーバのすべてのコネクション切断に応じ、前記プロキシサーバのスケールイン処理を実行するスケールイン実行部と、を有する、
スケールイン管理装置。
(付記16)
データベースのプロキシサーバのスケールイン指示の受付に応じ、アプリケーションの種類ごとに蓄積されたトランザクションの実行時間を参照して、前記プロキシサーバにおいて実行中のトランザクションの完了予想時間を通知し、
所定の通知の受付に応じ、前記プロキシサーバにおいて、新規のコネクション接続の受付を中止し、
前記所定の通知の受付以降にトランザクションの終了が検知された場合は、接続中のコネクションを切断し、
前記プロキシサーバのすべてのコネクション切断に応じ、前記プロキシサーバのスケールイン処理を実行する、
スケールイン管理方法。
(付記17)
付記16に記載のスケールイン管理方法において、
前記通知する工程では、
前記アプリケーションの種類ごとに、各アプリケーションの種類に対応するトランザクションの実行時間のうち、最長の実行時間を特定し、
実行中のトランザクションごとに、各トランザクションに対応するアプリケーションの種類に対応する前記最長の実行時間から、各トランザクションの実行開始から現在までの経過時間を減算した時間を、前記完了予想時間として算出し、
算出した前記完了予想時間の通知を行う、
スケールイン管理方法。
(付記18)
データベースのプロキシサーバのスケールイン指示の受付に応じ、アプリケーションの種類ごとに蓄積されたトランザクションの実行時間を参照して、前記プロキシサーバにおいて実行中のトランザクションの第1完了予想時間を算出し、
算出した前記第1完了予想時間を他のプロキシサーバに通知し、
算出した前記第1完了予想時間と、前記他のプロキシサーバから受け付けた第2完了予想時間とに基づき、前記プロキシサーバまたは前記他のプロキシサーバを選択し、
前記プロキシサーバを選択した場合、前記プロキシサーバにおいて、新規のコネクション接続の受付を中止し、かつ、トランザクションが終了した接続中のコネクションを切断し、
前記プロキシサーバのすべてのコネクション切断に応じ、前記プロキシサーバのスケールイン処理を実行する、
スケールイン管理方法。
1:情報処理装置 3:仮想マシン
4:仮想化ソフトウエア 5:事業者端末

Claims (15)

  1. データベースのプロキシサーバのスケールイン指示の受付に応じ、アプリケーションの種類ごとに蓄積されたトランザクションの実行時間を参照して、前記プロキシサーバにおいて実行中のトランザクションの完了予想時間を通知し、
    前記プロキシサーバから通知された前記完了予想時間に基づき前記プロキシサーバが選択されたことを示す通知の受付に応じ、前記プロキシサーバにおいて、新規のコネクション接続の受付を中止し、
    前記プロキシサーバが選択されたことを示す前記知の受付以降にトランザクションの終了が検知された場合は、接続中のコネクションを切断し、
    前記プロキシサーバのすべてのコネクション切断に応じ、前記プロキシサーバのスケールイン処理を実行する、
    処理をコンピュータに実行させるスケールイン管理プログラム。
  2. 請求項1に記載のスケールイン管理プログラムにおいて、
    前記通知する処理では、
    前記アプリケーションの種類ごとに、各アプリケーションの種類に対応するトランザクションの実行時間のうち、最長の実行時間を特定し、
    実行中のトランザクションごとに、各トランザクションに対応するアプリケーションの種類に対応する前記最長の実行時間から、各トランザクションの実行開始から現在までの経過時間を減算した時間を、前記完了予想時間として算出し、
    算出した前記完了予想時間の通知を行う、
    スケールイン管理プログラム。
  3. 請求項1に記載のスケールイン管理プログラムにおいて、さらに、
    アプリケーションの種類ごとにトランザクションの実行時間を記憶部に蓄積する、
    処理を前記プロキシサーバに実行させ、
    前記通知する処理では、前記記憶部に記憶された前記実行時間を参照して、前記完了予想時間の通知を行う、
    スケールイン管理プログラム。
  4. 請求項1に記載のスケールイン管理プログラムにおいて、さらに、
    前記スケールイン指示の受付に応じ、新規のコネクション接続の受付を保留する、
    処理をコンピュータに実行させるスケールイン管理プログラム。
  5. 請求項に記載のスケールイン管理プログラムにおいて、さらに、
    前記完了予想時間に基づき他のプロキシサーバが選択されたことを示す通知の受付に応じ、新規のコネクション接続の受付を再開する、
    処理をコンピュータに実行させるスケールイン管理プログラム。
  6. 請求項に記載のスケールイン管理プログラムにおいて、
    前記複数のプロキシサーバと通信を行う管理サーバは、
    所定の条件が満たされた場合に、前記スケールイン指示を前記複数のプロキシサーバに通知し、
    前記完了予想時間の受付に応じ、前記完了予想時間に基づいてスケールイン対象のプロキシサーバを特定し、
    特定した前記プロキシサーバに対し、特定した前記プロキシサーバが選択されたことを通知する、
    スケールイン管理プログラム。
  7. 請求項に記載のスケールイン管理プログラムにおいて、
    前記管理サーバは、前記複数のプロキシサーバのうち、最短の完了予想時間を通知したプロキシサーバを前記スケールイン対象のプロキシサーバとして特定する、
    スケールイン管理プログラム。
  8. 請求項に記載のスケールイン管理プログラムにおいて、
    前記管理サーバは、前記スケールイン対象のプロキシサーバの特定の後、前記複数のプロキシサーバのうち、特定された前記プロキシサーバ以外のプロキシサーバに対し、他のプロキシサーバが選択されたことを通知する、
    スケールイン管理プログラム。
  9. 請求項に記載のスケールイン管理プログラムにおいて、
    前記スケールイン処理を実行する処理では、
    前記プロキシサーバのすべてのコネクション切断に応じ、前記プロキシサーバのスケールインの実行を前記管理サーバに指示する、
    スケールイン管理プログラム。
  10. データベースのプロキシサーバのスケールイン指示の受付に応じ、アプリケーションの種類ごとに蓄積されたトランザクションの実行時間を参照して、前記プロキシサーバにおいて実行中のトランザクションの第1完了予想時間を算出し、
    算出した前記第1完了予想時間を他のプロキシサーバに通知し、
    算出した前記第1完了予想時間と、前記他のプロキシサーバから受け付けた第2完了予想時間とに基づき、前記プロキシサーバまたは前記他のプロキシサーバを選択し、
    前記プロキシサーバを選択した場合、前記プロキシサーバにおいて、新規のコネクション接続の受付を中止し、かつ、トランザクションが終了した接続中のコネクションを切断し、
    前記プロキシサーバのすべてのコネクション切断に応じ、前記プロキシサーバのスケールイン処理を実行する、
    処理をコンピュータに実行させるスケールイン管理プログラム。
  11. 請求項10に記載のスケールイン管理プログラムにおいて、
    前記切断する処理では、前記第1完了予想時間と前記第2完了予想時間とのうち、最短の完了予想時間に対応するプロキシサーバを選択する、
    スケールイン管理プログラム。
  12. データベースのプロキシサーバのスケールイン指示の受付に応じ、アプリケーションの種類ごとに蓄積されたトランザクションの実行時間を参照して、前記プロキシサーバにおいて実行中のトランザクションの完了予想時間を通知する時間通知部と、
    前記プロキシサーバから通知された前記完了予想時間に基づき前記プロキシサーバが選択されたことを示す通知の受付に応じ、前記プロキシサーバにおいて、新規のコネクション接続の受付を中止する接続中止部と、
    前記プロキシサーバが選択されたことを示す前記知の受付以降にトランザクションの終了が検知された場合は、接続中のコネクション切断する接続切断部と、
    前記プロキシサーバのすべてのコネクション切断に応じ、前記プロキシサーバのスケールイン処理を実行するスケールイン実行部と、を有する、
    スケールイン管理装置。
  13. データベースのプロキシサーバのスケールイン指示の受付に応じ、アプリケーションの種類ごとに蓄積されたトランザクションの実行時間を参照して、前記プロキシサーバにおいて実行中のトランザクションの第1完了予想時間を算出する時間算出部と、
    算出した前記第1完了予想時間を他のプロキシサーバに通知する時間通知部と、
    算出した前記第1完了予想時間と、前記他のプロキシサーバから受け付けた第2完了予想時間とに基づき、前記プロキシサーバまたは前記他のプロキシサーバを選択し、
    前記プロキシサーバを選択した場合、前記プロキシサーバにおいて、新規のコネクション接続の受付を中止する接続中止部と、
    前記プロキシサーバを選択した場合、前記プロキシサーバにおいて、トランザクションが終了した接続中のコネクションを切断する接続切断部と、
    前記プロキシサーバのすべてのコネクション切断に応じ、前記プロキシサーバのスケールイン処理を実行するスケールイン実行部と、を有する、
    スケールイン管理装置。
  14. データベースのプロキシサーバのスケールイン指示の受付に応じ、アプリケーションの種類ごとに蓄積されたトランザクションの実行時間を参照して、前記プロキシサーバにおいて実行中のトランザクションの完了予想時間を通知し、
    前記プロキシサーバから通知された前記完了予想時間に基づき前記プロキシサーバが選択されたことを示す通知の受付に応じ、前記プロキシサーバにおいて、新規のコネクション接続の受付を中止し、
    前記プロキシサーバが選択されたことを示す前記知の受付以降にトランザクションの終了が検知された場合は、接続中のコネクションを切断し、
    前記プロキシサーバのすべてのコネクション切断に応じ、前記プロキシサーバのスケールイン処理を実行する、
    スケールイン管理方法。
  15. データベースのプロキシサーバのスケールイン指示の受付に応じ、アプリケーションの種類ごとに蓄積されたトランザクションの実行時間を参照して、前記プロキシサーバにおいて実行中のトランザクションの第1完了予想時間を算出し、
    算出した前記第1完了予想時間を他のプロキシサーバに通知し、
    算出した前記第1完了予想時間と、前記他のプロキシサーバから受け付けた第2完了予想時間とに基づき、前記プロキシサーバまたは前記他のプロキシサーバを選択し、
    前記プロキシサーバを選択した場合、前記プロキシサーバにおいて、新規のコネクション接続の受付を中止し、かつ、トランザクションが終了した接続中のコネクションを切断し、
    前記プロキシサーバのすべてのコネクション切断に応じ、前記プロキシサーバのスケールイン処理を実行する、
    スケールイン管理方法。
JP2017105181A 2017-05-29 2017-05-29 スケールイン管理プログラム、スケールイン管理装置及びスケールイン管理方法 Active JP6920612B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017105181A JP6920612B2 (ja) 2017-05-29 2017-05-29 スケールイン管理プログラム、スケールイン管理装置及びスケールイン管理方法
US15/988,183 US10972533B2 (en) 2017-05-29 2018-05-24 Management device for controlling scale-in processing, computer-readable recording medium storing management program for controlling scale-in processing and management method for controlling scale-in processing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017105181A JP6920612B2 (ja) 2017-05-29 2017-05-29 スケールイン管理プログラム、スケールイン管理装置及びスケールイン管理方法

Publications (2)

Publication Number Publication Date
JP2018200585A JP2018200585A (ja) 2018-12-20
JP6920612B2 true JP6920612B2 (ja) 2021-08-18

Family

ID=64401851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017105181A Active JP6920612B2 (ja) 2017-05-29 2017-05-29 スケールイン管理プログラム、スケールイン管理装置及びスケールイン管理方法

Country Status (2)

Country Link
US (1) US10972533B2 (ja)
JP (1) JP6920612B2 (ja)

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6502148B1 (en) * 1999-04-30 2002-12-31 Imagex.Com, Inc. System for scaling an application server system
JP2002163241A (ja) * 2000-11-29 2002-06-07 Ntt Data Corp クライアントサーバシステム
JP2003248668A (ja) 2002-02-26 2003-09-05 Hitachi Ltd データセンタ資源管理方法及び運用方法
KR100725417B1 (ko) 2006-02-22 2007-06-07 삼성전자주식회사 우선 순위에 따른 플래시 메모리의 연산 처리 장치 및 방법
US8230432B2 (en) * 2007-05-24 2012-07-24 International Business Machines Corporation Defragmenting blocks in a clustered or distributed computing system
US7801848B2 (en) * 2007-08-02 2010-09-21 International Business Machines Corporation Redistributing a distributed database
JP5640432B2 (ja) * 2010-03-31 2014-12-17 富士通株式会社 分散処理装置、分散処理プログラムおよび分散処理方法
US20120102185A1 (en) 2010-10-20 2012-04-26 Sony Computer Entertainment America Inc. Resource management of server hosts in online game environment
JP2014115905A (ja) * 2012-12-11 2014-06-26 Canon Marketing Japan Inc 情報処理装置、情報処理方法、およびプログラム
US9086902B2 (en) * 2012-12-18 2015-07-21 International Business Machines Corporation Sending tasks between virtual machines based on expiration times
KR20140131089A (ko) * 2013-05-03 2014-11-12 한국전자통신연구원 자원 할당 장치 및 그 방법
JP6118175B2 (ja) * 2013-05-24 2017-04-19 株式会社Nttドコモ 通信システム及び通信処理方法
JP2014229253A (ja) * 2013-05-27 2014-12-08 株式会社エヌ・ティ・ティ・データ マシン管理システム、管理サーバ、マシン管理方法、及びプログラム
JP6492865B2 (ja) * 2015-03-26 2019-04-03 富士ゼロックス株式会社 情報処理装置、プログラム及び情報処理方法
US9848041B2 (en) * 2015-05-01 2017-12-19 Amazon Technologies, Inc. Automatic scaling of resource instance groups within compute clusters
JP6515708B2 (ja) * 2015-07-06 2019-05-22 富士通株式会社 情報処理装置、並列計算機システム、ジョブスケジュール設定プログラムおよびジョブスケジュール設定方法
US10210027B1 (en) * 2015-09-17 2019-02-19 EMC IP Holding Company LLC Cluster management

Also Published As

Publication number Publication date
US20180343299A1 (en) 2018-11-29
JP2018200585A (ja) 2018-12-20
US10972533B2 (en) 2021-04-06

Similar Documents

Publication Publication Date Title
US10156986B2 (en) Gang migration of virtual machines using cluster-wide deduplication
JP5939740B2 (ja) 動的にリソースを割り当てる方法、システム及びプログラム
US8725912B2 (en) Dynamic balancing of IO resources on NUMA platforms
US9703610B2 (en) Extensible centralized dynamic resource distribution in a clustered data grid
JP2015153402A (ja) 管理装置、業務負荷分散管理方法および業務負荷分散管理プログラム
CN113672359A (zh) 柔性计算
JP6293683B2 (ja) 計算機システム及び計算機システムの性能障害の対処方法
EP3702917B1 (en) Intelligent server task balancing based on server capacity
KR20200080458A (ko) 클라우드 멀티-클러스터 장치
CN109960579B (zh) 一种调整业务容器的方法及装置
JP6920612B2 (ja) スケールイン管理プログラム、スケールイン管理装置及びスケールイン管理方法
US20070226744A1 (en) Methods and systems for partitioning data in parallel processing systems
JP6700552B2 (ja) 処理制御プログラム、処理制御装置及び処理制御方法
US20130144953A1 (en) Computer system and data management method
US9378050B2 (en) Assigning an operation to a computing device based on a number of operations simultaneously executing on that device
JP6928237B2 (ja) 制御プログラム、制御装置及び制御方法
JP2008250427A (ja) 情報処理システムに用いられるバージョンアップ装置及び該装置を備えた情報処理システム並びに情報処理システムをバージョンアップするためのプログラム
US20220326990A1 (en) Providing optimization in a micro services architecture
JP6959519B2 (ja) 処理分散プログラム、処理分散装置及び処理分散方法
Xie et al. A novel independent job rescheduling strategy for cloud resilience in the cloud environment
JP6059259B2 (ja) 計算機システム及び計算機リソースの割当方法
Liu et al. Improving resource utilization of a cloud-based testing platform for android applications
JP2021149808A (ja) Cpu状態表示方法及びcpu状態表示プログラム
CN111722915A (zh) 任务处理方法、装置和系统
JP2019087133A (ja) 分散制御プログラム、分散制御装置、データベースサーバ及び分散制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210602

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210622

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210705

R150 Certificate of patent or registration of utility model

Ref document number: 6920612

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150