JP6630442B2 - 適切なitリソース上にアプリケーションを配備するための管理コンピュータ及び非一時的なコンピュータ可読媒体 - Google Patents

適切なitリソース上にアプリケーションを配備するための管理コンピュータ及び非一時的なコンピュータ可読媒体 Download PDF

Info

Publication number
JP6630442B2
JP6630442B2 JP2018541627A JP2018541627A JP6630442B2 JP 6630442 B2 JP6630442 B2 JP 6630442B2 JP 2018541627 A JP2018541627 A JP 2018541627A JP 2018541627 A JP2018541627 A JP 2018541627A JP 6630442 B2 JP6630442 B2 JP 6630442B2
Authority
JP
Japan
Prior art keywords
application
deployed
resources
configurations
resource
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
JP2018541627A
Other languages
English (en)
Other versions
JP2019506682A (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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Publication of JP2019506682A publication Critical patent/JP2019506682A/ja
Application granted granted Critical
Publication of JP6630442B2 publication Critical patent/JP6630442B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/142Reconfiguring to eliminate the error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

本開示は、一般に、情報技術(IT)システムに関し、より具体的には、適切なITリソース上へのアプリケーションの配備に関する。
関連技術の実装では、即時のホスト構成のための方法及び装置が存在する。そのような関連技術の実装では、ネットワークでアクセス可能なサービスのリソースインスタンスに対して構成可能な複数のインスタンスホストと、インスタンスホストのリモート構成を管理するための制御サーバとを含むシステムが存在する。そのような実装例では、選択された制御サーバは、クライアントからのインスタンス構成要求に応答して、1つ以上のコマンドのシーケンスを、選択されたインスタンスホストに伝送する。選択されたインスタンスホストは、リモートコマンド実行部をインスタンス化する。リモートコマンド実行部は、コマンドシーケンスに対応する構成の動作を開始して終結する。選択された制御サーバは、実行部によって開始された動作の結果の少なくとも部分的に基づいて、インスタンス構成要求への応答を提供する。そのような関連技術の実施例は、全ての目的のために、参照によりその全体が本明細書に組み込まれる米国特許公開第2014/0207918 A1号に記載されている。
関連技術の実装は、ITインフラストラクチャ及びリソースが配備されるときに、アプリケーションの完成度及びアプリケーションの使用頻度を考慮しない。本明細書に記載されている実装例は、ITインフラストラクチャを管理し、かつそれらの上に、アプリケーションの完成度を考慮しながらアプリケーションを配備する管理プログラムを提供することを目的とする。さらにまた、実装例は、アプリケーションの完成度及び使用頻度を考慮してアプリケーションをサイズ変更するために、ITリソースの構成を変更する管理プログラムを含む。
本開示の態様は、ITリソースを管理するように構成された管理コンピュータを含み、この管理コンピュータは、アプリケーション開発リポジトリに通信可能に連結されている。管理コンピュータは、アプリケーション開発リポジトリ内のアプリケーションを配備するための要求から、ITリソース上に配備されるアプリケーションを決定し、アプリケーション開発リポジトリからの情報に基づいて、配備されるアプリケーションの完成度レベルを決定し、配備されるアプリケーションのITリソースに基づいて1つ以上の構成を生成し、この1つ以上の構成は完成度レベルによって生成され、配備されるアプリケーションの1つ以上の構成に対して指定されたITリソースを割り振り、配備されるアプリケーションを割り振られたITリソース上に配備するように構成されたプロセッサを含むことができる。
本開示の態様は、情報技術(IT)リソースを管理するように構成された管理コンピュータの命令を格納する非一時的なコンピュータ可読媒体を含むことができ、この管理コンピュータは、アプリケーション開発リポジトリに通信可能に連結されている。この命令は、アプリケーション開発リポジトリ内のアプリケーションを配備する要求から、ITリソース上に配備されるアプリケーションを決定することと、アプリケーション開発リポジトリからの情報に基づいて、配備されるアプリケーションの完成度レベルを決定することと、配備されるアプリケーションのITリソースに基づいて、1つ以上の構成を生成することを含むことができ、この1つ以上の構成は完成度レベルによって生成され、配備されるアプリケーションの1つ以上の構成に対して指定されたITリソースを割り振ることと、配備されるアプリケーションを、割り振られたITリソース上に配備することと、を含むことができる。
本開示の態様は、情報技術(IT)リソースを管理するように構成された管理コンピュータのための方法を含むことができ、この管理コンピュータは、アプリケーション開発リポジトリに通信可能に連結されている。本方法は、アプリケーション開発リポジトリ内のアプリケーションを配備するための要求から、ITリソース上に配備されるアプリケーションを決定することと、アプリケーション開発リポジトリからの情報に基づいて、配備されるアプリケーションの完成度レベルを決定することと、配備されるアプリケーションのITリソースに基づいて、1つ以上の構成を生成することを含むことができ、この1つ以上の構成は完成度レベルによって生成され、配備されるアプリケーションの1つ以上の構成に対して指定されたITリソースを割り振ることと、配備されるアプリケーションを割り振られたITリソース上に配備することと、を含むことができる。
実施形態の本方法及び装置が適用され得るシステムの論理構成の一例を例示する。
ITインフラストラクチャの例示的な論理構成を例示する。
第1の実施形態例のIT環境の例示的な物理構成を例示する。
実装形態例に従って、管理コンピュータの構成を例示する。
実装形態例に従って、システムテンプレートを例示する。
実装形態例に従って、テンプレートのサイズ定義を例示する。
実装形態例に従って、物理ストレージテーブルを例示する。
実装形態例に従って、ストレージボリュームテーブルを例示する。
実装形態例に従って、物理サーバテーブルを例示する。
実装形態例に従って、仮想サーバテーブルを例示する。
実装形態例に従って、マッピングテーブルを例示する。
実装形態例に従って、ストレージ性能テーブルを例示する。
実装形態例に従って、サーバ性能テーブルを例示する。
実装形態例に従って、リソースグループテーブルを例示する。
実装形態例に従って、タイムアウト定義テーブルを例示する。
実装形態例に従って、セルフサービスポータルのグラフィカルユーザインターフェース(GUI)を例示する。
実装形態例に従って、アプリケーションを配備するための管理プログラムのフローチャートを例示する。
実装形態例に従って、アプリケーションの完成度を計算するための管理プログラムのフローチャートを例示する。
実装形態例に従って、アプリケーションの完成度モデルを例示する。
実装形態例に従って、構成のバリエーションを作成するための管理プログラムのフローチャートを例示する。
実装形態例に従って、ITリソースを準備するための管理プログラムのフローチャートを例示する。
実装形態例に従って、ITリソースを削除するための管理プログラムのフローチャートを例示する。
第2の実施形態例に従って、管理コンピュータの構成を例示する。
実装形態例に従って、リソースグループテーブルを例示する。
実装形態例に従って、タイムアウト定義テーブルを例示する。
実装形態例に従って、セルフサービスポータルのGUIを例示する。
実装形態例に従って、アプリケーションをサイズ変更するための管理プログラムのフローチャートを例示する。
実装形態例に従って、構成のバリエーションを作成するための管理プログラムのフローチャートを例示する。
以下の詳細な説明は、本出願の図面及び実装形態例のさらなる詳細を提供する。図面間の冗長な要素の参照番号及び説明は、明確にするために省略されている。明細書全体にわたって使用されている用語は、例として提供されており、限定を意図するものではない。例えば、「自動」という用語の使用は、本出願の実装形態を履行する当業者の所望の実装形態に応じて、実装形態の特定の態様によるユーザまたは管理者の制御を含む完全自動または半自動の実装形態を含んでいてもよい。
第1の実施形態例
第1の実施形態例では、ITインフラストラクチャを管理して、アプリケーションの完成度を考慮に入れながらインフラストラクチャ上にアプリケーションを配備するための管理プログラムが存在する。
図1Aは、実施形態の方法及び装置が適用され得るシステムの論理構成の実施例を例示する。IT環境1000は、管理プログラム1200、アプリケーション配備リポジトリ1100、セルフサービスポータル1300、ITインフラストラクチャ管理UI1400、及びITインフラストラクチャ1500を含むことができる。アプリケーション開発者1010は、アプリケーションを開発し、アプリケーションの要素(例えば、ソースコード、構成ファイル、及び他のドキュメントまたは画像)をアプリケーション開発リポジトリ1100に格納する。アプリケーション開発者1010及びアプリケーション管理者1020は、セルフサービスポータル1300を介してIT環境1000にアクセスする。ITインフラストラクチャ管理者1030は、ITインフラストラクチャ管理UI1400を介してIT環境1000にアクセスする。
図1Bは、ITインフラストラクチャ1500の論理構成例を示す。ITインフラストラクチャ1500は、1つ以上のサーバ及び/またはストレージアレイを含む。図1Bの実施例では、2つのサーバ(1540と1550)及び2つのストレージアレイ(1510と1520)が存在するが、本開示はそれに限定されず、かつ所望の実装形態によって任意の数のサーバ及びストレージアレイを含むことができる。アプリケーション1544、OS(オペレーティングシステム)1543及びVM(仮想マシン)1542は、ハイパーバイザー1541上で実行される。ハイパーバイザー1541は、サーバ1540上で実行される。OS1554、VM1552、及びVM1553は、ハイパーバイザー1551上で実行される。ハイパーバイザー1551は、サーバ上で実行される。アプリケーション1544は、ストレージアレイ1510のストレージボリューム1511及びストレージボリューム1512を使用する。ストレージアレイ1520のストレージボリューム1521は、VM1552及びOS1554に割り振られるが、図1Bの実施例では、OS1554上のアプリケーションはボリュームを使用していない。ストレージアレイ1522のストレージボリューム1522は、VM1553に割り振られる。
図1Cは、第1の実施形態例のためのIT環境の物理構成例を例示する。IT環境1000は、管理コンピュータ2000、サーバ3000、ストレージアレイ4000、管理ネットワーク5000、及びデータネットワーク6000を含む。サーバ3000及びストレージアレイ4000は、データネットワーク6000を介して接続される。このネットワークはLAN(ローカルエリアネットワーク)であってもよいが、所望の実装形態に応じて他のネットワークもまた利用されてもよい。管理コンピュータ2000、サーバ3000、及びストレージアレイ4000は、管理ネットワーク5000を介して接続され、またLANまたは任意の他の所望のネットワークの実装形態としも実装され得る。この実施形態例では、管理ネットワーク5000及びデータネットワーク6000が分離されているが、それらは、所望の実装形態に応じて、単一の集束ネットワークで置き換えることができる。この実施形態例では、管理コンピュータ2000及びサーバ3000は分離されるが、所望の実装形態によって他の方法で実装され得る。例えば、任意のサーバが管理プログラムをホストすることができる。さらにまた、サーバ3000及びストレージアレイ4000は、この実施形態例では分離されているが、サーバ及びストレージアレイを1つのシステムに集束させることができ、または他の所望の実装形態を利用することもできる。
図2は、実装形態例に従って、管理コンピュータの構成を例示する。管理ネットワークインターフェース2100は、管理コンピュータ2000を管理ネットワーク5000に接続するために利用されるインターフェースである。入力及び出力デバイス2300は、モニター、キーボード、及びマウスなどのユーザインターフェースである。ローカルディスク2400は、管理プログラム2410、システムテンプレート2420、及びアプリケーションの完成度モデル2430を含む。管理プログラム2410は、メモリ2500にロードされ、1つ以上の物理的な中央処理装置(CPU)の形態とすることができるプロセッサ2200によって実施される。管理プログラム2410の手順の詳細は、本開示全体を通じて提供される。管理プログラム2410は、図1Aの管理プログラム1200のような同じエンティティであることができる。
システムテンプレート2420及びアプリケーションの完成度モデル2430は、メモリ2500にロードされて管理プログラム2410によって使用される。これらのテンプレート及びモデルを以下に開示する。メモリ2500は、ストレージアレイボリューム2510、ストレージボリュームテーブル2520、物理サーバテーブル2530、仮想サーバテーブル2540、マッピングテーブル2550、ストレージ性能テーブル2560、サーバ性能テーブル2570、リソースグループテーブル2580、及びタイムアウト定義テーブル2590を含み、これらのさらなる詳細は、本開示全体を通じて提供される。
実装形態例では、管理コンピュータ2000は、サーバ3000及びストレージアレイ/ストレージシステム4000などのITリソースを管理するように構成され、管理ネットワーク5000を介してアプリケーション開発リポジトリ1100に通信可能に連結され、管理ネットワーク5000に接続されたデータベースの形態で実装され得る。
管理プログラム2410は、プロセッサ2200内にロードされ得る命令の形態であってもよく、その結果、プロセッサ2200は、アプリケーション開発リポジトリ内のアプリケーションを配備するための要求から、ITリソース上に配備されるアプリケーションを決定し、アプリケーション開発リポジトリからの情報に基づいて、配備されるアプリケーションの完成度レベルを決定し、配備されるアプリケーションのITリソースに基づいて、1つ以上の構成を生成し、この1つ以上の構成は完成度レベルによって生成され、配備されるアプリケーションの1つ以上の構成に対して指定されたITリソースを割り振り、図15にさらなる詳細が説明されるように、配備されるアプリケーションを、割り振られたITリソース上に配備するよう構成される。プロセッサ2200は、例えば、図18に説明されているように、ITリソースからのストレージボリューム及び仮想VMのうちの少なくとも1つの作成により配備されるアプリケーションの1つ以上の構成に対して指定されるITリソースを割り振るように構成されている。
実装形態例では、リソースグループテーブル2580は、1つ以上のアプリケーションの完成度レベルに利用可能なITリソースに関する情報を含み、1つ以上のアプリケーションの完成度レベルに利用可能なITリソースに関する情報に基づいて配備されるアプリケーションの1つ以上の構成に対して指定されたITリソースを割り振るために、プロセッサ2200によって使用され得る。タイムアウト定義テーブル2590はまた、1つ以上のアプリケーションの完成度レベルと1つ以上のタイムアウトとの間の関係性を表す情報も含むことができ、プロセッサ2200は、1つ以上の構成の各々の配備に要する時間の計算によって、配備されるアプリケーションのITリソースに基づいて、1つ以上の構成を生成するように構成され、配備されるアプリケーションの、アプリケーションの完成度及び1つ以上のアプリケーションの完成度レベルと1つ以上のタイムアウトとの間の関係性に基づいて、1つ以上の構成に対するタイムアウトの決定も含む。
決定されたタイムアウトを超過して配備に要する時間中、プロセッサ2200は、タイムアウトが超過しているという表示を提供するように構成され、プロセッサ2200は、図13及び15に説明されているように、配備に要する時間が決定されたタイムアウトを超過していないとき、配備されるアプリケーションの1つ以上の構成に対して指定されるITリソースを割り振るように構成されている。
実装形態例では、例えば、図16及び17に説明されているように、プロセッサ2200は、アプリケーション開発リポジトリから情報を検索することによって、アプリケーション開発リポジトリからの情報に基づいて、配備されるアプリケーションの完成度レベルを決定するように構成され、アプリケーション開発リポジトリからの情報は配備されるアプリケーションの1つ以上のアプリケーションログと、アプリケーションが配備される期間を通してなされた変更及びアプリケーションが配備される期間中の変更の合計数を計算することと、1つ以上の完成度モデルを、アプリケーションが配備される期間を通してなされた変更及びアプリケーションが配備される期間中の変更の合計数に適用することと、を備える。
実装形態例では、プロセッサ2200は、例えば、図19に説明されているように、1つ以上のシステムテンプレートの使用を介してITリソースを割り振るように構成され、プロセッサ2200は、1つ以上のシステムテンプレートに基づいて1つ以上の構成を作成し、1つ以上の構成にわたってITリソースからよく使用されるリソースを特定し、よく使用されるリソースをITリソースから作成するように構成されている。
別のアプリケーションを削除するための要求を受け付ける実装形態例では、プロセッサ2200は、例えば、図20に説明されているように、ITリソースがよく使用されるリソースではないという決定に対して、別のアプリケーションによって利用されるITリソースを削除するように構成されている。
別のアプリケーションをサイズ変更するための要求を受け付ける実装形態例では、例えば、図24及び図25に説明されているように、プロセッサは、別のアプリケーションの完成度レベル及び使用頻度を決定し、配備されるアプリケーションのITリソースに基づいて1つ以上の構成を生成するように構成され、この1つ以上の構成は完成度レベル及び使用頻度によって生成される。
図3は、実装形態例に従って、システムテンプレート2420を例示する。これらのテンプレートは、ローカルディスク2400からメモリ2500にロードされ、管理コンピュータ2000の使用されるプロセッサ2200。アプリケーション開発者1010は、アプリケーションを作成し、かつこのアプリケーションを、セルフサービスポータル1300を介してシステムテンプレートを選択することによりITインフラストラクチャ1500上に配備する。
具体的には、図3は、「モバイルアプリテンプレート#1」と名付けられたシステムテンプレートの例を示す。このテンプレートは、一組の構成要素が配備されていることを示す配備ターゲット2421を有する。このテンプレートの配備ターゲット2421は、アプリケーション2422、及びアプリケーションサーバ2423、及びNoSQL DB(データベース)2424を含む。このテンプレートを使用することによって作成されたシステムは、モバイルデバイス2425上のウェブブラウザを含むことができるが、そのようなウェブブラウザは配備されていない。この例示的なテンプレートはまた、サイズ定義2426も有する。
図4は、実装形態例に従って、テンプレートのサイズ定義2426を例示する。サイズ定義は、配備されるシステムのサイズの利用可能なオプションを説明する。つまり、図4は、「モバイルアプリテンプレート#1」と名付けられたシステムテンプレートのサイズ定義の実施例を示す。実装形態例では、このシステムに対して小サイズまたは中サイズが選択され得る。
図5は、実装形態例に従って、物理ストレージテーブル2510を例示する。このテーブルは、管理プログラム2410によってメモリ2500内に作成される。列2511は、ストレージアレイのIDを示す。列2512は、ストレージアレイのプロセッサを示す。列2513は、ストレージアレイのポートを示す。列2514は、ストレージアレイのキャッシュリソースを示す。列2515は、ストレージアレイのリソースのプール(通常は容量)を示す。各行(251A、251B、251C、251D)は、各物理ストレージアレイの構成を示す。例えば、行251A及び251Bは、ストレージアレイ01の構成を示す。ストレージアレイは、各々8個のコアを備えた2つのプロセッサ、ポートA、B、C、及びDの8Gbps、キャッシュC−01の160GB及びキャッシュC−02の128GB、プールPool−01及びPool−02の300TB、及びプールPool−03及びPool−04の500TBを有する。
図6は、実装形態例に従って、ストレージボリュームテーブル2520を例示する。このテーブルは、管理プログラム2410によってメモリ2500内に作成される。列2521は、ストレージボリュームを所有するストレージアレイのIDを示す。列2522は、ストレージボリュームのIDを示す。列2523は、各ストレージボリューム容量を示す。列2524は、ストレージボリュームが湾曲しているプールのIDを示す。列2525は、各ボリュームが特定のユーザまたは特定のシステムのために予約されているか否かを表すフラグを示す。列2526は、ストレージボリュームのメディアタイプを示す。
各行(252A、252B、252C、252D、252E)は、各ストレージボリュームの構成を示す。例えば、行252Aは、ストレージアレイ01のストレージボリューム01の構成を示す。このストレージボリュームは、10TBの容量を有し、Pool−01から湾曲し、特定のユーザまたは特定のシステムのために予約され、そのメディアタイプは半導体ドライブ(SSD)である。
図7は、実装形態例に従って、物理サーバテーブル2530を例示する。このテーブルは、管理プログラム2410によってメモリ2500内に作成される。列2531は、物理サーバのIDを示す。列2532は、各物理サーバのCPUのコアの数及びタイプを示す。列2533は、各物理サーバのメモリリソースの容量を示す。列2534は、各物理サーバのポートを示す。
各行(253A、253B、253C、253D)は、各物理サーバの構成を示す。例えば、行253Aは、物理サーバ01の構成を示す。物理サーバは、正常なCPUの12個のコア、32GBのメモリ、及び4GbpsのポートA及びBを有する。
図8は、実装形態例に従って、仮想サーバテーブル2540を例示する。このテーブルは、管理プログラム2410によってメモリ2500内に作成される。列2541は、仮想サーバのIDを示す。列2542は、仮想サーバが動作している物理サーバのIDを示す。列2543は、各仮想サーバに割り当てられたCPUコアの数を示す。列2544は、各仮想サーバに割り当てられたメモリリソースの容量を示す。列2545は、各仮想サーバに割り当てられたポートを示す。列2546は、各仮想サーバが特定のユーザまたは特定にシステムのために予約されているか否かを表すフラグを示す。列2547は、各仮想サーバに割り振られた記憶容量を示す。
各行(254A、254B、254C、254D)は、各仮想サーバの構成を示す。例えば、行254Aは、仮想サーバ01の構成を示す。この仮想サーバは、物理サーバ01でホストされ、2つのCPUコア、4GBのメモリ及び4GbpsのポートA、500GBの記憶容量を有し、かつ特定のユーザまたは特定のシステムのために予約されている。
図9は、実装形態例に従って、マッピングテーブル2550を例示する。このテーブルは、管理プログラム2410によってメモリ2500内に作成される。列2551は、アプリケーションのIDを示す。列2552は、アプリケーション名を示す。この名前は、アプリケーション開発者1010によってセルフサービスポータル1600のGUI 1600−Aのアプリケーション名フィールド1620−Aで指定されている。
列2553は、テンプレートのIDを示す。テンプレートのこのIDは、アプリケーション開発者によってセルフサービスポータルのGUI 1600−Aのテンプレートドロップダウンリスト1630−Aで指定されている。列2554は、アプリケーションが動作している仮想サーバのIDを示す。列2555は、仮想サーバ名を示す。この実装形態例では、これらの名前は管理プログラムによるアプリケーション名に基づいて自動的に作成されるが、所望の実装形態に応じて他の実装が可能である。例えば、アプリケーション管理者が各仮想サーバ名を指定することができる。列2556は、仮想サーバのポートのIDを示す。列2557は、ストレージアレイのIDを示す。列2558は、ストレージアレイのポートのIDを示す。列2559は、ストレージボリュームのIDを示す。
各行(255A、255B、255C、255D、255E、255F、255G)は、アプリケーションとストレージボリュームとの間のエンドツーエンドのマッピングを示す。例えば、行255Bは、アプリケーション2が「Web−C」という名前を有し、テンプレート4から作成され、「WebDB」という名前の仮想サーバ03上で動作し、さらに2つのストレージボリューム052及び055がアプリケーションの仮想サーバ03に割り当てられていることを示す。ストレージアレイ02のストレージボリューム052は、ストレージアレイのポートB及び仮想サーバポートAを介して仮想サーバ03に割り当てられる。ストレージアレイ01のストレージボリューム055は、ストレージアレイのポートA及び仮想サーバポートAを介して仮想サーバ03に割り当てられる。
図10は、実装形態例に従って、ストレージ性能テーブル2560を例示する。このテーブルは管理プログラム2410によってメモリ2500内に作成される。列2561は、ストレージアレイのIDを示す。列2562は、ストレージボリュームのIDを示す。列2563は、ストレージボリュームの性能データの履歴のIDを示す。タイムスタンプが履歴ID2563として使用され得る。列2564は、プロセッサの使用率を示す。列2565は、ストレージボリュームに割り当てられたキャッシュリソースの使用率を示す。列2566は、ストレージボリュームが湾曲しているプールの使用率を示す。列2567は、ストレージボリュームに割り当てられたポートの使用率を示す。各行(256A、256B)は、各ストレージボリュームの性能データの履歴を示す。例えば、列256Aは、履歴データのうちの少なくとも3つの記録(0〜2)を有するストレージアレイ01のストレージボリューム01の性能データを示す。
図11は、実装形態例に従って、サーバ性能テーブル2570を例示する。このテーブルは、管理プログラム2410によってメモリ2500内に作成される。列2571は、物理及び/または仮想サーバのIDを示す。列2572は、サーバが物理サーバであるか否かを表すフラグを示す。値が「はい」の場合は、そのサーバは物理サーバである。値が「いいえ」の場合は、そのサーバは仮想サーバである。列2573は、サーバの性能データの履歴のIDを示す。タイムスタンプが履歴ID2573として使用され得る。列2574は、サーバのCPUの使用率を示す。列2575は、サーバのメモリリソースの使用率を示す。列2576は、サーバのディスクの使用率を示す。列2577は、サーバのポートの使用率を示す。
各行は、各サーバの性能データの履歴を示す。例えば、行257Aは、物理サーバであり、少なくとも3つの履歴データ(0〜2)を有するサーバ01の性能データを示す。
図12は、実装形態例に従って、リソースグループテーブル2580を例示する。このテーブルは、管理プログラム2410によってメモリ2500内に作成される。列2581は、リソースのタイプを示す。列2582は、リソースのIDを示す。列2583は、対応するアプリケーションの完成度を示す。
各行(258A、258B、258C、258D、258E、258F、258G)は、完成度の定義に割り当てられたリソースを示す。例えば、行258Aは、ストレージアレイ01が「高い」完成度に割り当てられていることを示す。これは、ストレージアレイ01が高い完成度を有するアプリケーションにのみ使用され得ることを意味する。図12に示すリソースグループテーブルの実施例は、ストレージアレイ及び物理サーバのみを含むが、このテーブルは所望の実装形態に応じて他のタイプのリソースを含んでいてもよい。
図13は、実装形態例に従って、タイムアウト定義テーブル2590を例示する。このテーブルは、管理プログラム2410によってメモリ2500内に作成される。列2591は、アプリケーションの完成度レベルを示す。列2592は、アプリケーションの配備プロセス中に構成のバリエーションを作成するためのタイムアウトを示す。各行(259A、259B)は、各完成度に定義されたタイムアウト値を示す。例えば、行259Aは、低い完成度のアプリケーションに定義された60秒のタイムアウト値を示す。タイムアウト値は、他の方法で表示され得る。例えば、タイムアウトは、作成される構成のバリエーションの数として、または所望の実装形態による他の方法として表示され得る。
図14は、実装形態例に従って、セルフサービスポータル1600のGUI 1600−Aを例示する。このGUIは、アプリケーション開発者1010がアプリケーションを配備するときに使用される。アプリケーション開発者は、アプリケーション1610−A、システムテンプレート1630−A及びサイズ1640−Aを選択し、かつアプリケーション名1620−Aを入力する。アプリケーションフィールド1610−Aに示すIDは、アプリケーション開発リポジトリ1100内のアプリケーションのIDである。
配備ボタン1650−Aがクリックされると、管理プログラム2410は、指定されたシステムテンプレートを使用することにより、指定されたアプリケーションを配備する。取り消しボタン1660−Aがクリックされると、管理プログラム2410はアプリケーションの配備プロセスを取り消す。
図15は、実装形態例に従って、アプリケーションを配備するための管理プログラム2410のフローチャートを示す。このフローは、手順が開始される10010で始まる。10020において、管理プログラム2410はアプリケーションを配備するための要求をセルフサービスポータル1600から受け付ける。図14に示すパラメータは管理プログラム2410に渡される。10030において、管理プログラム2410は、以下でさらに詳細に開示される「アプリケーションの完成度の計算」のサブシーケンスを呼び出す。10040において、管理プログラム2410は、以下でさらに詳細に開示される「構成のバリエーションの作成」のサブシーケンスを呼び出す。10050において、10040のフローで作成された各構成のバリエーションについて、管理プログラム2410は、作成されなければならないリソースを特定して、作成に要する時間(「t1」と呼ばれる)を推定する。例えば、構成のバリエーションが4つのCPUコア、8192GBのRAMと500GBのHDD、及び4TBのSSDストレージボリュームを有するVMを含むことができ、要件を満たすストレージボリュームが存在する場合、次に管理プログラム1410はVMのみが作成されなければならないと判断する。管理プログラム1410は、図6のストレージボリュームテーブル2520または図8の仮想サーバテーブル2510を参照することによって、そのようなストレージボリュームまたはVMが存在するか否かを判断することができる。つまり、管理プログラム2410は、4TBの容量、予約したフラグの0値及びSSDメディアタイプを有するストレージボリュームがストレージボリュームテーブル2520内に存在するか否かを確認する。行252Dに示すストレージボリュームは要件と一致するので、管理プログラム2410はその容量が使用できると判断する。管理プログラム2410はまた、4つのCPUコア、8192GBのRAM、500GBのHDD及び0値の予約されたフラグを有するVMが、図8の仮想サーバテーブル2540内に存在するか否かを確認する。図8の仮想サーバテーブル2540には要件を満たすVMを有していないので、管理プログラム2410は、VMが作成されなければならないと判断する。管理プログラム2410は、所定の作成時間(例えば、1VMの作成に5分かかる)または以前に行われた平均作成時間に基づいて、t1を推定することができる。上記の実施例では、管理プログラム2410は、例えば、t1を5分と推定することができる。
10060において、管理プログラム2410は、指定されたシステムテンプレートに定義された構成要素全てを配置するのに要する時間を推定する。その時間は「t2」と呼ばれる。管理プログラム2410は、所定の配備時間(例えば、アプリケーションサーバの配備は1分かかる)または以前に行われた平均配備時間に基づいて、t2を推定することができる。10070において、管理プログラム2410は、t1 +t2が所定のタイムアウトよりも短い構成のバリエーションが存在するか否かを判断する。その結果が「いいえ」の場合、次にプロセスは10080のフローに進む。その結果が「はい」の場合、次にプロセスは10090のフローに進む。
10080において、管理プログラム2410は、構成のバリエーション及び合計時間(すなわち、t1+t2)をユーザに通知して、彼らに構成のバリエーションを1つ選択させる。10090において、管理プログラム2410は、構成のバリエーションに基づいてITリソースを作成して、アプリケーションを配備する。管理プログラム2410は、ストレージアレイテーブル2510、ストレージボリュームテーブル2520、物理サーバテーブル2530、仮想サーバテーブル2540、及びマッピングテーブル2550内のアプリケーションからITリソースまでのマッピング情報で作成されたITリソースの記録を作成する。10100において、管理プログラム2410は、アプリケーションの配備プロセスを修了する。
図16は、実装形態例に従って、アプリケーションの完成度を計算するための管理プログラム2410のフローチャートを例示する。手順が開始されると、フローが11010で始まる。11020において、管理プログラム2410は、アプリケーション開発リポジトリ1100からログを検索する。このログは、ファイル(例えば、ソースコード、バイナリまたは構成ファイル)をリポジトリにコミットするログ、アプリケーションのID及び各コミットのタイムスタンプを含むことができる。11030において、管理プログラム2410は、1日当たりの変更数及び1日当たりの全変更量を計算する。前者はコミットの数に基づいて計算され、後者はソースコードの変更された行の数に基づいて計算される。11040において、管理プログラム2410は、計算された1日当たりの変更数と、1日当たりの全変更量を比較することによって、アプリケーションの完成度をアプリケーションの完成度モデルで推定する。11050において、管理プログラム2410は、アプリケーションの完成度が高いか低いかを判断する。これは、11040のフローで推定された完成度を所定の閾値と比較することによって行われ得る。11060において、管理プログラム2410はプロセスを修了する。
図17は、実装形態例に従って、アプリケーションの完成度モデルを例示する。アプリケーションの完成度モデルの2つの実施例が図17にある。各モデルは、1日当たりの変更数及び1日当たりの全変更量の組み合わせと、アプリケーションの完成度レベルとの間の関係性を示す。
図18は、実装形態例に従って、構成のバリエーションを作成するための管理プログラム2410のフローチャートを例示する。手順が始まると、フローが12010で開始される。12020において、管理プログラム2410は指定されたサイズのサイズ定義を取得する。12030において、管理プログラム2410はリソースグループテーブル2580を参照することにより、アプリケーションの完成度に基づいて、利用可能なリソースを特定する。図12に示すリソースグループテーブル2580の実施例に基づいて、アプリケーションの完成度が高い場合、その結果ストレージアレイ01、02及び03、及び物理サーバ02及び03が利用可能となる。管理プログラム2410は、ストレージアレイテーブル2510及びストレージボリュームテーブル2520から、利用可能なストレージアレイ及びこれらのストレージアレイによって保持されたストレージボリュームの詳細と、物理サーバテーブル2530及び仮想サーバテーブル2540から、利用可能な物理サーバ及びこれらの物理サーバ上で動作している仮想サーバの詳細とを取得することができる。
12040において、管理プログラム2410はアプリケーションの完成度によって、
タイムアウト定義テーブル2590からタイムアウト値を取得する。図13に示すタイ
ムアウト定義テーブル2590の実施例に基づいて、アプリケーションの完成度が高い
場合、その結果タイムアウト値は120秒に構成される。12050において、管理プログラム2410はタイムアウト内で指定されたサイズに必要なリソース全てをセットアップするために構成のバリエーションを作成する。管理プログラム2410は、サーバ及びストレージアレイの性能情報に基づいて構成のバリエーションを作成して、各サーバ及びストレージアレイの負担のバランスを取ることができる。管理プログラム2410は、記憶メディアのタイプまたはサーバあるいはストレージアレイの容量に基づいて構成のバリエーションを作成してもよい。
例えば、管理プログラム2410は、図10のストレージ性能テーブル2560から
最低平均プロセッサの使用量を有する1つ以上のストレージアレイ、及び図11のサーバ性能テーブル2570から最低平均CPUの使用量を有する1つ以上の物理サーバを取り上げる。
管理プログラム2410は、ストレージアレイ01及び02と、物理サーバ01を取得すると仮定する。次いで、管理プログラム2410は、1つ以上のプロセッサ、キャッシュ、平均使用量に基づいて選択されたストレージアレイ(上記の実施例では01及び02)のプール及びポートを取得する。管理プログラム2410は、プロセッサ、キャッシュ、選択されたストレージアレイ及び選択された物理サーバのプール及びポートの組み合わせ全てに基づいて、構成のバリエーションを作成する。
構成のバリエーション例は、以下のようなものであってもよい。
・構成のバリエーション#1
物理サーバ01上の(1CPUコア及び2048GB RAMを備えた)VMは、ポートAを介してストレージアレイ01の(100GBの容量を備えた)ストレージボリュームに接続され、かつプロセッサP−02は、VMからストレージボリュームへのI/Oを制御する。ストレージボリュームはPool−01から湾曲し、かつキャッシュC−01はストレージボリュームに割り振られる。
・構成のバリエーション#2
物理サーバ01上の(1CPUコア及び2048GB RAMを備えた)VMは、ポートCを介してストレージアレイ01の(100GBの容量を備えた)ストレージボリュームに接続され、かつプロセッサP−03は、VMからストレージボリュームへのI/Oを制御する。ストレージボリュームはPool−02から湾曲し、かつキャッシュC−02はストレージボリュームに割り振られる。
・構成のバリエーション#3
物理サーバ01上の(1CPUコア及び2048GB RAMを備えた)VMは、ポートBを介してストレージアレイ02の(100GBの容量を備えた)ストレージボリュームへの接続。かつプロセッサP−01は、VMからストレージボリュームへのI/Oを制御する。ストレージボリュームはPool−01から湾曲し、かつキャッシュC−01はストレージボリュームに割り振られる。
12060において、管理プログラム2410はプロセスを終了する。
図19は、実装形態例に従って、ITリソースを準備するための管理プログラム
2410のフローチャートを例示する。このプロセスは、図15のアプリケーションの
シーケンスを配備することとは無関係に、かつ並行して実行され得る。フローは131
0において開始され、手順が始まる。13020において、管理プログラム2410は
システムテンプレート全てを読み出す。13030において、管理プログラム2410
は管理プログラム2410によって確認されていないシステムテンプレートが残って
いるか否かを判断する。その結果が「はい」の場合、次にプロセスは13040のフロ
ーに進む。その結果が「いいえ」の場合、次にプロセスは13080のフローに進む。
13040において、管理プログラム2410は未確認のシステムテンプレートを選択して、確認したときに印を付ける。13050において、システムテンプレートに定義された各サイズについて、管理プログラム2410は構成のバリエーションを作成するサブシーケンスを呼び出す。このフローでは、管理プログラム2410はアプリケーションの完成度が低いと仮定する。13060において、システムテンプレートに定義された各サイズについて、管理プログラム2410は構成のバリエーションを作成するサブシーケンスを呼び出す。このフローでは、管理プログラム2410はアプリケーションの完成度が高いと仮定する。13070において、各構成のバリエーションについて、管理プログラム2410は作成されなければならないリソースを特定して作成に要する時間(t1)を推定する。作成されなければならないリソースを特定し、かつt1を推定するための方法は、図15の10050におけるフローと同じである。
13080において、管理プログラム2410は構成のバリエーション全ての結合を計算して、よく使用されるリソースを特定する。管理プログラム2410は、リソースが所定の数よりも多いバリエーションに出現する場合、リソースがよく使用されると判定することができる。管理プログラム2410は、アプリケーション開発リポジトリ1100に格納されているアプリケーション全ての完成度に基づいて、リソースの出現回数を重み付けすることができる。低い完成度のアプリケーションが10個、高い完成度のアプリケーションが5個ある場合、次に管理プログラム2410は、13050のフローで作成された構成のバリエーションに出現するリソースの数を2倍にカウントすることができる。
構成のバリエーション例は、以下のようなものであってもよい。
・構成のバリエーション#1
物理サーバ01上の(1CPUコア及び2048GB RAMを備えた)VMは、ポートAを介してストレージアレイ01の(100GBの容量を備えた)ストレージボリュームに接続され、かつプロセッサP−02は、VMからストレージボリュームへのI/Oを制御する。ストレージボリュームはPool−01から湾曲し、かつキャッシュC−01はストレージボリュームに割り振られる。
・構成のバリエーション#2
物理サーバ01上の(1CPUコア及び2048GB RAMを備えた)VMは、ポートCを介してストレージアレイ01の(100GBの容量を備えた)ストレージボリュームに接続され、かつプロセッサP−03は、VMからストレージボリュームへのI/Oを制御する。ストレージボリュームはPool−02から湾曲し、かつキャッシュC−02はストレージボリュームに割り振られる。
・構成のバリエーション#3
物理サーバ01上の(2CPUコア及び4096GB RAMを備えた)VMは、ポートBを介してストレージアレイ02の(200GBの容量を備えた)ストレージボリュームへの接続。かつプロセッサP−01は、VMからストレージボリュームへのI/Oを制御する。ストレージボリュームはPool−01から湾曲し、かつキャッシュC−01はストレージボリュームに割り振られる。
上記の例によれば、管理プログラム2410は、所定の出現の数が2である場合、よく使用されるリソースとして「物理サーバ01上の(1CPUコア及び2048GB RAMを備えた)VM」及び「ストレージアレイ01の(100GBの容量を備えた)ストレージボリューム」を決定してもよい。
13090において、よく使用される各リソースについて、管理プログラム2410はt1が所定の値よりも大きい場合、リソースを作成して、作成されたリソースの予約されたフラグを0に構成する。これは、作成されたリソースが特定のユーザまたは特定のシステム用に予約されていないため、あらゆるユーザが作成されたリソースを使用することができることを表す。作成されたリソースがユーザによって使用されるようになると、予約されたフラグは1に構成される必要がある。13100において、管理プログラム2410はプロセスを終了する。
図20は、実装形態例に従って、ITリソースを削除するための管理プログラム2410のフローチャートを例示する。セルフサービスポータル1300は、アプリケーション及び基礎となるITリソースを削除するためのGUIを有することができる。フローは14010で開始され、手順が始まる。14020において、管理プログラム2410はアプリケーションを削除するための要求をセルフサービスポータル1300から受け付ける。14030において、管理プログラム2410は指定されたアプリケーション及びアプリケーションを配備するために使用されるシステムテンプレート内に含まれる構成要素全てを削除する。14040において、管理プログラム2410は指定されたアプリケーションに使用されるリソース全て及びシステムテンプレート内に含まれる構成要素全てをリストアップする。このプロセスは、マッピングテーブル2550を参照することによって行われる。図9の行255Bに示すアプリケーションが削除指定されている場合、管理プログラム2410は指定されたアプリケーションに使用されるリソースとして、仮想サーバポートA、ストレージアレイ02のストレージポートB、ストレージアレイ01のストレージポートA、ストレージアレイ02のストレージボリューム052及びストレージアレイ01のストレージボリューム055をリストアップする。
14050において、管理プログラム2410は未確認のリソースが残っているか否かを判断する。その結果が「はい」の場合、次にプロセスは14060のフローに進む。その結果が「いいえ」の場合、次にプロセスは14090のフローに進む。
14060において、管理プログラム2410は未確認のリソースを選択して確認したときに印を付ける。14070において、管理プログラム2410はそのリソースがよく使用されるか否かを判断する。このプロセスは、14040のフローでリスト化されたリソースの情報を図19の13080のフローで決定されたよく使用されるリソースの情報と比較することによって行われ得る。14040のフローでリスト化されたリソースは、ストレージアレイテーブル2510、ストレージボリュームテーブル2520、物理サーバテーブル2530、及び仮想サーバテーブル2540から取得されてもよい。
例えば、管理プログラム2410が「物理サーバ01上の(1CPUコア及び2048GB RAMを備えた)VM」及び「ストレージアレイ01の(100GBの容量を備えた)ストレージボリューム」を、図19の13080におけるフローでよく使用されるリソースとして決定し、かつステップ14040でリストアップされたリソースが、ストレージアレイ01の(100GBの容量を備えた)ストレージボリュームを含む場合、管理プログラム2410はそのストレージボリュームがよく使用されると判断する。
その結果が「はい」の場合、次にプロセスは14050のフローに進む。その結果が「いいえ」の場合、次にプロセスは14080のフローに進む。14080において、管理プログラム2410はリソースを削除する。14090において、管理プログラム2410はプロセスを終了する。
この第1の実施形態例では、管理プログラムはITリソースを作成して、アプリケーションを、そのアプリケーションの完成度レベルに基づいてITリソース上に配備する。管理プログラムはまた、よく使用されるITリソースを準備して、さらにあまり使用されないリソースのみを削除する。このような実装形態によって、管理プログラムは、アプリケーションをアジャイル手法で適切なITリソース上に配備することができる。
第2の実施形態例では、管理プログラムは、アプリケーションの完成度及び使用頻度を考慮に入れながらアプリケーションのサイズを変更するために、ITリソースの構成を変更する。
図21は、第2の実施形態例に従って、管理コンピュータ2000’の構成を例示する。管理コンピュータ2000’の構成は、図2の管理コンピュータ2000の構成に類似しているが、以下に示す差異がある。
管理コンピュータ2000’は、第1の実施形態例からのリソースグループテーブル2580とは異なる構造を有するリソースグループテーブル2580’、及び第1の実施形態例のタイムアウト定義テーブル2590とは異なる構造を有するタイムアウト定義テーブル2590’を有する。管理コンピュータ2000’は、アプリケーションをサイズ変更するために、アプリケーションの使用量の監視及びITリソースの構成の変更を含む追加機能を有する管理プログラム2410’を有する。アプリケーションの使用量の監視については、既存の技術が使用可能である。
例示的な実装形態では、1つ以上のアプリケーションの完成度レベルと、1つ以上の使用頻度と、1つ以上のタイムアウトとの関係性は、タイムアウト定義テーブル2590’で概要が説明されており、プロセッサ2200は、1つ以上の構成の各々の配備に要する時間の計算によって、配備されるまたはサイズ変更されるアプリケーションに対するITリソースに基づく1つ以上の構成、及び配備されるまたはサイズ変更されるアプリケーションの、アプリケーションの完成度レベル、配備されるまたはサイズ変更されるアプリケーションの1つ以上の使用頻度、及び1つ以上のアプリケーションの完成度レベルと1つ以上のタイムアウトとの間の関係性に基づく1つ以上の構成に対するタイムアウトの決定を生成するように構成されている。決定されたタイムアウトを超過して配備に要する時間中、プロセッサ2200は、タイムアウトが超過しているという表示を提供するように構成され、プロセッサ2200は、配備に要する時間が以下に説明するように決定されたタイムアウトを超過していないとき、配備されるまたはサイズ変更されるアプリケーションの1つ以上の構成に対して指定されたITリソースを割り振るように構成されている。
図22は、実装形態例に従って、リソースグループテーブル2580’を例示する。このテーブルは、管理プログラム2410によってメモリ2500内に作成される。列2581’はリソースタイプを示す。列2582’は、リソースのIDを示す。列2583’は、対応するアプリケーションの完成度を示す。列2584’は、対応するアプリケーションの使用頻度を示す。
各行(258A’、258B’、258C’、258D’、258E’、258F’、258G’)は、完成度の定義及び使用頻度に割り当てられたリソースを示す。例えば、行258A’は、ストレージアレイ01が「高い」完成度及び「高い」使用頻度に割り当てられていることを示す。これは、ストレージアレイ01が高い完成度及び高い使用頻度を有するアプリケーションにのみ使用され得ることを意味する。図22に示すリソースグループテーブルの実施例は、ストレージアレイ及び物理サーバのみを含むが、このテーブルは、所望の実装形態に応じて他のタイプのリソースを含んでいてもよい。
図23は、実装形態例に従って、タイムアウト定義テーブル2590’を例示する。このテーブルは、管理プログラム2410によってメモリ2500内に作成される。列2591’は、アプリケーションの完成度レベルを示す。列2592’は、アプリケーションの使用頻度を示す。列2593’は、アプリケーションの配備プロセス中に構成のバリエーションを作成するためのタイムアウトを示す。各行(259A’、259B’、259C’、259D’)は、各組の完成度レベル及び使用頻度に定義されているタイムアウト値を示す。例えば、行259A’は、低い完成度及び低い使用頻度を有するアプリケーションに定義された60秒のタイムアウト値を示す。このタイムアウト値は、所望の実装形態に応じて、他の方法で表示され得る。これらは、作成される構成のバリエーションの数として表示され得る。
図24は、実装形態例に従って、セルフサービスポータル1600のGUI1600−Bを例示する。このGUIは、アプリケーション開発者1010またはアプリケーション管理者1020がアプリケーションのサイズを変更したときに使用される。アプリケーション開発者またはアプリケーション管理者は、アプリケーションリスト1610−Bからアプリケーションを選択する。選択されたアプリケーションの配備に使用されるID、名前、テンプレート及びサイズを1620−B、1630−B、1640−B及び1650−Bでそれぞれ示す。アプリケーション開発者またはアプリケーション管理者は、新たなサイズをドロップダウンリスト1650−Bから選択する。図24は、「モバイルアプリA」という名前のアプリケーションが選択されてそのサイズが「小」から「中」に変更されている場合の実施例を示す。配備ボタン1660−Bがクリックされると、管理プログラム2410’は指定されたアプリケーションのサイズ変更をする。取り消しボタン1670−Bがクリックされると、管理プログラム2410’はアプリケーションのサイズ変更プロセスを取り消す。
図25は、実装形態例に従って、アプリケーションをサイズ変更するための管理プログラム2410’のフローチャートを例示する。このフローは、20010で開始されて、手順が始まる。20020において、管理プログラム2410’はアプリケーションをサイズ変更するための要求をセルフサービスポータル1600から受け付ける。図24に示すパラメータが管理プログラム2410’に渡される。20030において、管理プログラム2410’は、アプリケーションが配備さえたときに計算されるアプリケーションの完成度を取得する。管理プログラム2410’はまた、それ自身の監視機能を介して、アプリケーションの使用頻度を取得する。20040において、管理プログラム2410’は以下により詳細に開示される「構成のバリエーションの作成」のサブシーケンスを呼び出す。20050、20060、20070、20080、20090及び20100のフローは、図15の10050、10060、10070、10080、10090及び10100のフローとそれぞれ同様である。
図26は、実装形態例に従って、構成のバリエーションを作成するための管理プログラム2410’のフローチャートを例示する。図26に示すフローチャートは、図18に示すフローチャートと類似している。これら2つの違いは22030及び22040のプロセスである。
22010、22020、22060及び22060のフローは、図18の12010、12020、12050及び12060のフローとそれぞれ同様である。22030において、管理プログラム2410’はリソースグループテーブル2580’を参照することによってアプリケーションの完成度レベル及び使用頻度に基づいて利用可能なリソースを識別する。22040において、管理プログラム2410’は、選択されたアプリケーションの完成度レベル及び使用頻度によってタイムアウト定義テーブルからタイムアウト値を取得する。
したがって、第2の実施形態例では、管理プログラムは、アプリケーションの完成度及び使用頻度を考慮してアプリケーションをサイズ変更するために、構成のバリエーションを作成する。このような実装形態によって、管理プログラムは、アプリケーションをアジャイル手法で、サイズを適切なITリソース上で変更することができる。
詳細な記述の一部は、コンピュータ内の動作のアルゴリズム及び記号表現の観点から提示されている。これらのアルゴリズム的記述及び記号表現は、データ処理技術の当業者が彼らの技術革新の神髄を他の当業者に伝えるために使用される手段である。アルゴリズムは、所望の終了状態または結果をもたらす一連の定義されたステップである。実装形態例では、具体的な結果を達成するための具体的な量の物理的操作を必要とする。
特に断りのない限り、説明から明らかなように、この説明を通して、「処理」、「演算」、「計算」、「決定」、「表示」などの用語を用いる説明は、コンピュータシステムまたはコンピュータシステムのレジスタ及びメモリ内で物理(電子)量として表示されるデータを操作して、コンピュータシステムのメモリまたはレジスタあるいは他の情報記憶機器、変換機器または表示機器内で物理量として同じように表示される他のデータに変換する他の情報処理機器のアクション及びプロセスを含み得ることが理解される。
実装形態例はまた、本明細書の動作を行うための装置に関連していてもよい。この装置は、必要な目的のために特別に構築されてもよく、または1つ以上のコンピュータプログラムによって選択的に起動または再構成された1つ以上の汎用コンピュータを含んでいてもよい。このようなコンピュータプログラムは、コンピュータ可読記憶媒体またはコンピュータ可読信号媒体などのコンピュータ可読媒体内に格納され得る。コンピュータ可読記憶媒体は、光ディスク、磁気ディスク、読み出し専用メモリ、ランダムアクセスメモリ、固体デバイス及びドライブなどの有形的表現媒体、または電子情報を格納するのに適したあらゆる他のタイプの有形的または非一時的媒体を含んでいてもよいが、その限りではない。コンピュータ可読信号媒体は、搬送波などの媒体を含むことができる。本明細書に提示されたアルゴリズム及びディスプレイは、特定のコンピュータまたは他の装置に本質的に関連するものではない。コンピュータプログラムは、所望の実装の動作を行う命令を含む純粋なソフトウェアの実装を含むことができる。
様々な汎用システムは、本明細書の実施例に従ってプログラム及びモジュールと共に使用されてもよく、また
は、所望の方法ステップを行うためにより専門化された装置を構築するのに好都合であることが判明し得る。加えて、実装形態例は、特定のプログラム言語を参照して記載されていない。本明細書に記載された実装形態例の教示を実施するために様々なプログラム言語を使用され得ることが理解されるであろう。プログラム言語の命令は、1つ以上の処理機器、例えば、中央処理装置(CPU)、プロセッサ、またはコントローラによって実施され得る。
当技術分野で知られているように、上述の動作は、ハードウェア、ソフトウェア、またはソフトウェアとハードウェアのいくつかの組み合わせによって行うことができる。実装例の様々な態様は、回路及び論理デバイス(ハードウェア)を用いて実装することができるが、他の態様はプロセッサによって実施される場合、本出願の実装を実行するための方法を当該プロセッサに行わせることになる、機械可読媒体に格納された命令を用いて実装されてもよい。さらにまた、本出願のいくつかの実装例は、ハードウェアでのみ実行されてもよく、他の実装例は、ソフトウェアでのみ実行されてもよい。そのうえ、説明された様々な機能は、単一のユニット内で行うことができ、またはいろいろな方法で複数の構成要素にわたって分散されることができる。ソフトウェアによって行われるとき、本方法は、コンピュータ可読媒体に格納されている命令に基づいて、汎用コンピュータなどのプロセッサによって実施することができる。必要に応じて、この命令は、圧縮された及び/または暗号化されたフォーマットで媒体に格納することができる。
さらに、本出願の他の実装形態は、本明細書の考察及び本出願の教示の履行から当業者には明らかであろう。説明された実装例の様々な態様及び/または構成要素は、単独で、または任意の組み合わせで使用され得る。本明細書及び実装例は、単なる例として考えられるものであり、本出願の真の範囲及び精神は、以下の特許請求の範囲によって表されることを意図している。

Claims (13)

  1. 情報技術(IT)リソースを管理するように構成された管理コンピュータであって、アプリケーション開発リポジトリに通信可能に連結されており、
    前記アプリケーション開発リポジトリ内のアプリケーションを配備するための要求から、前記ITリソース上に配備されるアプリケーションを決定し、
    前記アプリケーション開発リポジトリからの情報に基づいて、前記配備されるアプリケーションの完成度レベルを決定し、
    前記配備されるアプリケーションの前記ITリソースに基づいて1つ以上の構成を生成することであって、前記1つ以上の構成は前記完成度レベルによって生成され、
    前記配備されるアプリケーションの前記1つ以上の構成に対して指定された前記ITリソースを割り振り、
    前記配備されるアプリケーションを前記割り振られたITリソース上に配備するように構成されたプロセッサを備え、
    1つ以上のアプリケーションの完成度レベルと1つ以上のタイムアウトとの間の関係性を記憶するように構成されたメモリをさらに備え、
    前記プロセッサが、
    前記1つ以上の構成の各々の配備に要する時間の計算と、
    前記配備されるアプリケーションの前記アプリケーションの完成度レベル及び、前記1つ以上のアプリケーションの完成度レベルと前記1つ以上のタイムアウトとの間の前記関係性に基づく、前記1つ以上の構成に対する前記タイムアウトの決定と、によって、前記配備されるアプリケーションの前記ITリソースに基づいて、1つ以上の構成を生成するように構成され、
    前記決定されたタイムアウトを超過して前記配備に要する時間中、前記プロセッサが、前記タイムアウトが超過しているという表示を提供するように構成され、
    前記プロセッサが、前記配備に要する時間が前記決定されたタイムアウトを超過していないとき、前記配備されるアプリケーションの前記1つ以上の構成に対して指定された前記ITリソースを割り振るように構成される、
    管理コンピュータ。
  2. 情報技術(IT)リソースを管理するように構成された管理コンピュータであって、アプリケーション開発リポジトリに通信可能に連結されており、
    前記アプリケーション開発リポジトリ内のアプリケーションを配備するための要求から、前記ITリソース上に配備されるアプリケーションを決定し、
    前記アプリケーション開発リポジトリからの情報に基づいて、前記配備されるアプリケーションの完成度レベルを決定し、
    前記配備されるアプリケーションの前記ITリソースに基づいて1つ以上の構成を生成することであって、前記1つ以上の構成は前記完成度レベルによって生成され、
    前記配備されるアプリケーションの前記1つ以上の構成に対して指定された前記ITリソースを割り振り、
    前記配備されるアプリケーションを前記割り振られたITリソース上に配備するように構成されたプロセッサを備え、
    前記プロセッサが、
    前記アプリケーション開発リポジトリから前記情報を検索することであって、前記アプリケーション開発リポジトリからの前記情報は前記配備されるアプリケーションの1つ以上のアプリケーションログを備えるような検索と、
    前記アプリケーションが配備される期間を通してなされた変更及び前記アプリケーションが配備される期間中の変更の合計数を計算することと、
    1つ以上の完成度モデルを、前記アプリケーションが配備される前記期間を通してなされた前記変更及び前記アプリケーションが配備される前記期間中の前記変更の合計数に適用することとによって、前記アプリケーション開発リポジトリからの情報に基づいて、前記配備されるアプリケーションの完成度レベルを決定するように構成された、
    管理コンピュータ。
  3. 1つ以上のアプリケーションの完成度レベルに利用可能な前記ITリソースに関する情報を格納するように構成されたメモリをさらに備え、前記プロセッサが、前記1つ以上のアプリケーションの完成度レベルに利用可能な前記ITリソースに関する前記情報に基づいて、前記配備されるアプリケーションの前記1つ以上の構成に対して指定された前記ITリソースを割り振るように構成された、請求項1または2に記載の管理コンピュータ。
  4. 前記プロセッサが、1つ以上のシステムテンプレートの使用を介して、前記ITリソースを割り振るように構成され、
    前記プロセッサが、
    前記1つ以上のシステムテンプレートに基づいて、前記1つ以上の構成を作成し、
    前記1つ以上の構成にわたり、よく使用されるリソースを前記ITリソースから特定し、
    前記よく使用されるリソースを前記ITリソースから作成するように構成された、請求項1または2に記載の管理コンピュータ。
  5. 別のアプリケーションを削除するための要求の受け付けについて、前記プロセッサが、前記ITリソースが前記よく使用されるリソースではないという決定に対して、前記別のアプリケーションによって利用される前記ITリソースを削除するように構成される、請求項に記載の管理コンピュータ。
  6. 別のアプリケーションをサイズ変更するための要求の受け付けについて、前記プロセッサが、
    前記別のアプリケーションの完成度レベル及び使用頻度を決定し、
    前記配備されるアプリケーションの前記ITリソースに基づいて1つ以上の構成を生成するように構成され、前記1つ以上の構成は前記完成度レベル及び前記使用頻度によって生成される、請求項1または2に記載の管理コンピュータ。
  7. 1つ以上のアプリケーションの完成度レベルと、1つ以上の使用頻度と、1つ以上のタイムアウトとの間の関係性を記憶するように構成されたメモリをさらに備え、
    前記プロセッサが、
    前記1つ以上の構成の各々の配置に要する時間の計算と、
    前記サイズ変更されるアプリケーションの前記アプリケーション完成度レベル、前記サイズ変更されるアプリケーションの前記使用頻度、及び前記1つ以上のアプリケーションの完成度レベルと前記1つ以上の使用頻度と前記1つ以上のタイムアウトとの間の前記関係性に基づく、前記1つ以上の構成に対するタイムアウトの決定とによって、前記サイズ変更されるアプリケーションの前記ITリソースに基づいて、1つ以上の構成を生成するように構成され、
    前記決定されたタイムアウトを超過して前記配備に要する時間中、前記プロセッサが、前記タイムアウトが超過しているという表示を提供するように構成され、
    前記プロセッサが、前記配備に要する時間が前記決定されたタイムアウトを超過していないとき、前記サイズ変更されるアプリケーションの前記1つ以上の構成に対して指定された前記ITリソースを割り振るように構成される、請求項に記載の管理コンピュータ。
  8. 情報技術(IT)リソースを管理するように構成された管理コンピュータの命令を格納する非一時的なコンピュータ可読媒体であって、前記管理コンピュータはアプリケーション開発リポジトリに通信可能に連結されており、前記命令が、
    前記アプリケーション開発リポジトリ内のアプリケーションを配備するための要求から、前記ITリソース上に配備されるアプリケーションを決定することと、
    前記アプリケーション開発リポジトリからの情報に基づいて、前記配備されるアプリケーションの完成度レベルを決定することと、
    前記配備されるアプリケーションの前記ITリソースに基づいて1つ以上の構成を生成することであって、前記1つ以上の構成は前記完成度レベルによって生成されことと、
    前記配備されるアプリケーションの前記1つ以上の構成に対して指定された前記ITリソースを割り振ることと、
    前記配備されるアプリケーションを前記割り振られたITリソース上に配備することと、を備え、
    前記アプリケーション開発リポジトリからの情報に基づいて、前記配備されるアプリケーションの完成度レベルの前記決定が、
    前記アプリケーション開発リポジトリから前記情報を検索することであって、前記アプリケーション開発リポジトリからの前記情報は前記配備されるアプリケーションの1つ以上のアプリケーションログを備えるような検索と、
    前記アプリケーションが配備される期間を通してなされた変更及び前記アプリケーションが配備される前記期間中の変更の合計数を計算することと、
    1つ以上の完成度モデルを、前記アプリケーションが配備される前記期間を通してなされた前記変更及び前記アプリケーションが配備される前記期間中の前記変更の合計数に適用することと、を備える、
    非一時的なコンピュータ可読媒体。
  9. 前記命令が、1つ以上のアプリケーションの完成度レベルに利用可能な前記ITリソースに関する情報を格納することをさらに備え、前記配備されるアプリケーションの前記1つ以上の構成に対して指定された前記ITリソースの割り振りが、前記1つ以上のアプリケーションの完成度レベルに利用可能な前記ITリソースに関する前記情報に基づく、請求項に記載の非一時的なコンピュータ可読媒体。
  10. 前記命令が、1つ以上のアプリケーションの完成度レベルと1つ以上のタイムアウトとの間の関係性を格納することをさらに備え、
    前記配備されるアプリケーションの前記ITリソースに基づく前記1つ以上の構成の前記生成が、
    前記1つ以上の構成の各々の配置に要する時間を計算することと、
    前記配備されるアプリケーションの前記アプリケーションの完成度レベル及び前記1つ以上のアプリケーションの完成度レベルと前記1つ以上のタイムアウトとの間の前記関係性に基づいて、前記1つ以上の構成の前記タイムアウトを決定することと、を備え、
    前記決定されたタイムアウトを超過して前記配備に要する時間中、前記管理コンピュータが、前記タイムアウトが超過しているという表示を提供するように構成され、
    前記配備されるアプリケーションの前記1つ以上の構成に対して指定された前記ITリソースの前記割り振りが、前記配備に要する時間が前記決定されたタイムアウトを超過していないときに遂行される、請求項に記載の非一時的なコンピュータ可読媒体。
  11. 前記命令が、別のアプリケーションを削除するための要求の受け付けについて、前記ITリソースがよく使用されるリソースではないという決定に対して、前記別のアプリケーションによって利用される前記ITリソースを削除することをさらに含む、請求項に記載の非一時的なコンピュータ可読媒体。
  12. 前記命令が、別のアプリケーションをサイズ変更するための要求の受け付けについて、
    前記別のアプリケーションの完成度レベル及び使用頻度を決定することと、
    前記配備されるアプリケーションの前記ITリソースに基づいて1つ以上の構成を生成することであって、前記1つ以上の構成は前記完成度レベル及び前記使用頻度によって生成されことと、をさらに含む、請求項に記載の非一時的なコンピュータ可読媒体。
  13. 前記命令が、1つ以上のアプリケーションの完成度レベルと、1つ以上の使用頻度と、1つ以上のタイムアウトとの間の関係性を格納することと、
    前記1つ以上の構成の各々の配置に要する時間の計算と、前記サイズ変更されるアプリケーションの前記アプリケーションの完成度レベル、前記サイズ変更されるアプリケーションの前記使用頻度、及び前記1つ以上のアプリケーションの完成度レベルと前記1つ以上の使用頻度と前記1つ以上のタイムアウトとの間の前記関係性に基づいて、前記1つ以上の構成に対する前記タイムアウトの決定とによって、前記サイズ変更されるアプリケーションの前記ITリソースに基づいて、1つ以上の構成を生成することと、をさらに含み、
    前記決定されたタイムアウトを超過して前記配備に要する時間中、前記タイムアウトが超過しているという表示を提供し、
    前記配備に要する時間が前記決定されたタイムアウトを超過していないとき、前記サイズ変更されるアプリケーションの前記1つ以上の構成に対して指定された前記ITリソースを割り振る、請求項12に記載の非一時的なコンピュータ可読媒体。
JP2018541627A 2016-06-07 2016-06-07 適切なitリソース上にアプリケーションを配備するための管理コンピュータ及び非一時的なコンピュータ可読媒体 Active JP6630442B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2016/036246 WO2017213634A1 (en) 2016-06-07 2016-06-07 Method and apparatus to deploy applications on proper it resources based on frequency and amount of change

Publications (2)

Publication Number Publication Date
JP2019506682A JP2019506682A (ja) 2019-03-07
JP6630442B2 true JP6630442B2 (ja) 2020-01-15

Family

ID=60578009

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018541627A Active JP6630442B2 (ja) 2016-06-07 2016-06-07 適切なitリソース上にアプリケーションを配備するための管理コンピュータ及び非一時的なコンピュータ可読媒体

Country Status (3)

Country Link
US (1) US10564952B2 (ja)
JP (1) JP6630442B2 (ja)
WO (1) WO2017213634A1 (ja)

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8126768B2 (en) * 2005-09-13 2012-02-28 Computer Associates Think, Inc. Application change request to deployment maturity model
JP5035237B2 (ja) * 2006-02-23 2012-09-26 富士通株式会社 サーバ管理プログラム、サーバ管理装置およびサーバ管理方法
US7761538B2 (en) * 2006-08-30 2010-07-20 Microsoft Corporation Dynamically configuring, allocating and deploying computing systems
US8286199B1 (en) 2008-08-22 2012-10-09 SmartVault Corporation Automated method for creating a graphical user interface for a document management system that is visually integrated with an application having limited native GUI-integration capabilities
JP5401922B2 (ja) * 2008-11-04 2014-01-29 富士通株式会社 仮想システム制御プログラム、方法及び装置
JP2011070394A (ja) * 2009-09-25 2011-04-07 Canon Inc 管理装置、アプリケーション管理方法、及びプログラム
JP5555010B2 (ja) * 2010-02-26 2014-07-23 大阪瓦斯株式会社 不要アプリケーション監視装置
US20130227572A1 (en) * 2011-08-01 2013-08-29 Nec Corporation Test device, a system, a program and a method
ES2655198T3 (es) * 2012-06-26 2018-02-19 Nec Corporation Dispositivo de construcción de sistema y método de construcción de sistema
US8825550B2 (en) * 2012-08-23 2014-09-02 Amazon Technologies, Inc. Scaling a virtual machine instance
US10171501B2 (en) * 2013-09-20 2019-01-01 Open Text Sa Ulc System and method for remote wipe
US9424065B2 (en) * 2014-06-26 2016-08-23 Vmware, Inc. Methods and apparatus to scale application deployments in cloud computing environments using virtual machine pools
CN105453050A (zh) * 2014-07-30 2016-03-30 株式会社日立制作所 开发辅助系统
US20170270444A1 (en) 2014-09-05 2017-09-21 Hewlett Packard Enterprise Development Lp Application evaluation
US9578063B1 (en) * 2015-11-20 2017-02-21 International Business Machines Corporation Application self-service for assured log management in cloud environments

Also Published As

Publication number Publication date
JP2019506682A (ja) 2019-03-07
US10564952B2 (en) 2020-02-18
US20190050214A1 (en) 2019-02-14
WO2017213634A1 (en) 2017-12-14

Similar Documents

Publication Publication Date Title
US9608933B2 (en) Method and system for managing cloud computing environment
US9697068B2 (en) Building an intelligent, scalable system dump facility
JP6215481B2 (ja) クラウド環境におけるitインフラ管理のための方法とその装置
US10067695B2 (en) Management server, computer system, and method
US20170322826A1 (en) Setting support program, setting support method, and setting support device
US8849966B2 (en) Server image capacity optimization
US9854037B2 (en) Identifying workload and sizing of buffers for the purpose of volume replication
US9792050B2 (en) Distributed caching systems and methods
US10069906B2 (en) Method and apparatus to deploy applications in cloud environments
US10673730B2 (en) Method and apparatus to manage it infrastructure based on application characteristics
US11023159B2 (en) Method for fast recovering of data on a failed storage device
US11836067B2 (en) Hyper-converged infrastructure (HCI) log system
CN108475201A (zh) 一种虚拟机启动过程中的数据获取方法和云计算系统
JP5515889B2 (ja) 仮想マシンシステム、自動マイグレーション方法および自動マイグレーションプログラム
US20220171646A1 (en) Scalable visualization of a containerized application in a multiple-cluster environment
US20170206143A1 (en) Management apparatus, management method, and computer-readable recording medium recorded with management program
US11042395B2 (en) Systems and methods to manage workload domains with heterogeneous hardware specifications
JP6630442B2 (ja) 適切なitリソース上にアプリケーションを配備するための管理コンピュータ及び非一時的なコンピュータ可読媒体
US11797729B2 (en) Hyper-converged infrastructure (HCI) operation predictor
US7743244B2 (en) Computer system model generation with tracking of actual computer system configuration
US10740088B2 (en) Countermeasure verification assistance system and method
US11122130B1 (en) Method to create and perform appropriate workflow for datacenter migration
US9367373B2 (en) Automatic configuration consistency check

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180809

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190821

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190903

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191021

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: 20191112

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191206

R150 Certificate of patent or registration of utility model

Ref document number: 6630442

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150