JP6668658B2 - Job management method, job management device, and program - Google Patents

Job management method, job management device, and program Download PDF

Info

Publication number
JP6668658B2
JP6668658B2 JP2015191931A JP2015191931A JP6668658B2 JP 6668658 B2 JP6668658 B2 JP 6668658B2 JP 2015191931 A JP2015191931 A JP 2015191931A JP 2015191931 A JP2015191931 A JP 2015191931A JP 6668658 B2 JP6668658 B2 JP 6668658B2
Authority
JP
Japan
Prior art keywords
execution
job
virtual machine
requirement
requirements
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
JP2015191931A
Other languages
Japanese (ja)
Other versions
JP2017068480A (en
Inventor
秀行 倉城
秀行 倉城
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2015191931A priority Critical patent/JP6668658B2/en
Publication of JP2017068480A publication Critical patent/JP2017068480A/en
Application granted granted Critical
Publication of JP6668658B2 publication Critical patent/JP6668658B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ジョブ管理方法、ジョブ管理装置及びプログラムに関する。特に、クラウドシステムにて実行されるジョブを対象としたジョブ管理方法、ジョブ管理装置及びプログラムに関する。   The present invention relates to a job management method, a job management device, and a program. In particular, the present invention relates to a job management method, a job management device, and a program for a job executed in a cloud system.

近年、従業員の勤務管理や売り上げの帳票管理等に係る業務が、ネットワーク上のサーバにて処理されることが多くなっている。具体的には、当該サーバが、勤務管理等の業務遂行に必要な処理手続を記載したジョブスクリプトに含まれる単一又は連続的なプログラム群を実行することで、勤務管理等に係るジョブが処理される。なお、ジョブスクリプトは、サーバ上で実行されるOS(Operating System)に応じて、シェルスクリプトやバッチスクリプトと称されることもある。   2. Description of the Related Art In recent years, operations related to employee work management, sales form management, and the like are often processed by servers on a network. Specifically, the server executes a single or continuous program group included in a job script that describes processing procedures required for performing work such as work management, so that jobs related to work management and the like are processed. Is done. Note that the job script may be referred to as a shell script or a batch script depending on an OS (Operating System) executed on the server.

また、1つの業務を複数のジョブ(処理単位)に分解し、当該複数のジョブに前後関係を設定し、その前後関係がフロー状に定義されたジョブネットワークがサーバにて処理されることもある。   Also, one job may be decomposed into a plurality of jobs (processing units), and a context may be set for the plurality of jobs, and a job network in which the context is defined in a flow may be processed by the server. .

このようなジョブやジョブネットワークを管理するためのジョブ管理装置が存在する。ジョブ管理装置は、ジョブの定義情報を管理し、ジョブネットワークのフロー制御等を行う。なお、ジョブ管理装置は、ジョブやジョブネットワークの管理に特化した装置であることが多く、ジョブの目的に応じて他の装置(サーバ、エージェント)にジョブスクリプト等の必要な情報が転送され、当該他の装置にて実際のジョブが実行されることも多い。   There is a job management device for managing such jobs and job networks. The job management device manages job definition information and performs flow control and the like of a job network. The job management device is often a device specialized for managing jobs and job networks, and necessary information such as a job script is transferred to another device (server, agent) according to the purpose of the job. An actual job is often executed by the other device.

以前から勤務管理等の業務がサーバ上にて行われていたが、業務処理(ジョブの実行)はシステムごと、プロジェクトごとに、プラットフォーム(ハードウェア、OS等)が独立しているのが通常であった。このような場合、システムの管理者が当該プラットフォーム上で動くアプリケーション、ジョブの実行に必要な環境等を管理する必要がある。しかし、ネットワーク技術、情報処理技術の発展に伴い、システムの集約化が進み、プラットフォームは仮想化され、ジョブの実行に必要なミドルウェアはカタログという形式でテンプレート化されて提供されることが多くなってきた。   Work such as work management has been performed on the server for some time, but business processing (job execution) is usually independent of the platform (hardware, OS, etc.) for each system and project. there were. In such a case, it is necessary for the system administrator to manage the application running on the platform, the environment necessary for executing the job, and the like. However, with the development of network technology and information processing technology, system consolidation has progressed, platforms have been virtualized, and middleware required for job execution has often been provided as templates in the form of catalogs. Was.

このような状況の変化に合わせ、システムやプロジェクトごとの担当者が、プラットフォームやミドルウェアに関する管理を行うのではなく、上記のような集約されたインフラストラクチャ(以下、単にインフラと表記する)に関する管理を特定の管理者(以下、インフラ管理者と表記する)が統括的に行うシステムが運用されることが多くなってきた。インフラ管理者がインフラを統括的に管理する運用形態では、各システムの担当者は、当該システムに割り当てられたインフラ上で任意の業務処理(ジョブ)を実行させることになる。   In response to such a change in the situation, the person in charge of each system or project does not manage the platform and middleware, but manages the above-mentioned integrated infrastructure (hereinafter simply referred to as infrastructure). A system in which a specific administrator (hereinafter, referred to as an infrastructure administrator) performs overall operation has been increasingly used. In an operation mode in which the infrastructure manager manages the infrastructure in a comprehensive manner, the person in charge of each system executes an arbitrary business process (job) on the infrastructure assigned to the system.

特許文献1は、特定のジョブリソース要件に応答してソフトウェア環境を動的に構築するグリッドコンピューティングシステムを開示する。また、特許文献2は、実行対象となるジョブの入力データ量と、既に実行されたジョブの入力データ量とリソース使用量の関係と、を用いて実行対象となるジョブのリソース使用量を予測するジョブ管理装置を開示する。   U.S. Pat. No. 6,086,086 discloses a grid computing system that dynamically builds a software environment in response to specific job resource requirements. Further, Patent Literature 2 predicts the resource usage of a job to be executed using the input data amount of a job to be executed and the relationship between the input data amount of already executed jobs and the resource usage. A job management device is disclosed.

特表2008−502967号公報JP 2008-502967 A 特開2014−191360号公報JP 2014-191360 A

なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。   The disclosures of the above prior art documents are incorporated herein by reference. The following analysis has been made by the present inventors.

インフラ管理者がインフラを統括的に管理する上述のシステムでは、各利用者(各プロジェクトの担当者)からの要求に応じて、インフラ管理者が数多くの仮想マシン(VM;Virtual Machine)を作成する。利用者は、利用を望む仮想マシンの仕様(スペック)を記載した申請書(パラメータシート)を作成し、当該申請書をインフラ管理者に提出する。   In the above-described system in which the infrastructure manager manages the infrastructure in a comprehensive manner, the infrastructure manager creates many virtual machines (VMs) in response to requests from each user (person in charge of each project). . The user creates an application (parameter sheet) describing the specifications (specifications) of the virtual machine desired to use, and submits the application to the infrastructure administrator.

インフラ管理者は、当該申請書に従い物理マシン(PM;Physical Machine)上に仮想マシンを作成し、利用者に払い出す。その際、インフラ管理者によるパラメータ値の誤入力防止とインフラ管理者の負担軽減を目的として、IaC(Infrastructure as Code)と呼ばれる技術が用いられることがある。具体的には、IaCを用いることで、パラメータシートの内容はコード化され、自動的に仮想マシン及びその環境設定が行われる。   The infrastructure administrator creates a virtual machine on a physical machine (PM) according to the application form and pays out the virtual machine to the user. At this time, a technique called IaC (Infrastructure as Code) may be used for the purpose of preventing erroneous input of parameter values by the infrastructure administrator and reducing the burden on the infrastructure administrator. Specifically, by using IaC, the contents of the parameter sheet are coded, and the virtual machine and its environment are automatically set.

しかし、利用者(プロジェクトの担当者)に仮想マシンが払い出されただけでは、業務処理(ジョブ、ジョブネットワーク)を仮想マシン上で実行することはできない。つまり、ジョブの実行に必要なマシンスペック(例えば、メモリ容量、ディスク容量等)を有する仮想マシンが提供されただけでは、ジョブを実行することができない。具体的には、業務処理には実行要件が存在し、適切なOS、アプリケーション等が仮想マシンにインストールされ、且つ、アプリケーション等の実行に必要なアカウント(実行ユーザ)が正しく設定されていないとジョブを実行させることができない。   However, business processing (job, job network) cannot be executed on the virtual machine only by giving out the virtual machine to the user (person in charge of the project). That is, a job cannot be executed only by providing a virtual machine having machine specifications (for example, memory capacity, disk capacity, and the like) necessary for executing the job. More specifically, there is an execution requirement in the business process, an appropriate OS, an application, etc. are installed in the virtual machine and an account (execution user) required for executing the application, etc., is not set correctly. Cannot be executed.

そのため、実際のシステム運用では、プロジェクトの担当者は、業務処理に必要な要件をインフラ管理者に連絡し、必要なプラットフォームやアプリケーション等の準備を依頼することになる。上記の依頼によりインフラが整った後、各担当者は、ジョブ実行に必要な業務設計を行い、バッチ処理をプログラムやスクリプトとして対象サーバ(払い出された仮想マシン)に配置し、ジョブのスケジューリングを行っている。   Therefore, in actual system operation, the person in charge of the project notifies the infrastructure administrator of the requirements necessary for business processing and requests the preparation of necessary platforms and applications. After the infrastructure is prepared by the above request, each person in charge designs the business required for job execution, places the batch processing as a program or script on the target server (virtual machine allocated), and schedules the job. Is going.

インフラ管理者と各担当者のやり取りを纏めると以下のようになる。
・担当者が、業務処理を設計し、業務処理の実行に必要な要件を決定する。
・担当者は、業務処理の要件をインフラ管理者に連絡する。
・インフラ管理者は、連絡を受けた業務処理の要件に適合するインフラを構築する。
・担当者は、ジョブスクリプトをサーバ上に配置し、テスト(試験的な運用)の後、ジョブを実行させる。
The summary of the exchange between the infrastructure administrator and each person in charge is as follows.
-The person in charge designs the business process and determines the requirements necessary to execute the business process.
-The person in charge notifies the infrastructure administrator of the business processing requirements.
-The infrastructure administrator builds an infrastructure that meets the business processing requirements that were notified.
-The person in charge arranges the job script on the server and executes the job after the test (test operation).

このように、インフラ担当者と各プロジェクトの担当者の間の連携が、ジョブの実行には必要となる(ジョブ実行に必要な作業が分担して行われている)。しかし、担当者間の連携に不都合があると、ジョブが正常に実行されない事態が生じうる。つまり、立場の異なる担当者同士が上手く連携し、同期をとって業務処理に関する設計、環境構築を行わないと、円滑にシステムの運用を開始することができない。   In this way, cooperation between the person in charge of infrastructure and the person in charge of each project is necessary for executing the job (the work required for executing the job is shared). However, if there is an inconvenience in the cooperation between the persons in charge, a situation may occur in which the job is not executed normally. In other words, unless the persons in charge in different positions cooperate well with each other, and do not design and build an environment related to business processing in synchronization, the system operation cannot be started smoothly.

例えば、IaC技術を利用することで、仮想マシンの払い出しが自動的に行われたとしても、それ以外の作業では担当者間の連携、手動によるパラメータの設定が必要であり、人為的なミスが生じうる。例えば、ジョブの実行に必要なユーザ(実行ユーザ)が仮想マシンに登録されていない、又は、登録されたユーザID(Identification)と依頼したユーザIDが異なるというミスが生じうる。あるいは、ジョブスクリプトが仮想マシンに正しく配置されていないというミスが生じうる。   For example, by using the IaC technology, even if the payout of a virtual machine is automatically performed, other operations require cooperation between persons in charge and manual setting of parameters, resulting in a human error. Can occur. For example, a mistake may occur that a user (execution user) required for executing the job is not registered in the virtual machine, or the registered user ID (Identification) is different from the requested user ID. Alternatively, a mistake may occur that the job script is not correctly placed in the virtual machine.

本発明は、クラウドシステムにおける円滑な業務処理の実行に寄与するジョブ管理方法、ジョブ管理装置及びプログラムを提供することを目的とする。   An object of the present invention is to provide a job management method, a job management device, and a program that contribute to smooth execution of business processing in a cloud system.

本発明の第1の視点によれば、業務の実行処理を規定するインストラクションに関する情報と、前記実行処理を実行するためのゲストOS、アプリケーション、ミドルウェア、アカウント情報の要件を含む要件を含む実行要件と、を入力するステップと、クラウドシステムに前記実行要件に適合する実行環境が存在しなければ、前記クラウドシステムに前記実行要件に適合する実行環境を作成するステップと、前記実行処理を、前記実行要件に適合する実行環境にて実行するステップと、を含む、ジョブ管理方法が提供される。 According to a first aspect of the present invention, there is provided information related to an instruction defining a process for executing a business, and an execution requirement including a requirement including a guest OS, an application, middleware , and account information for executing the execution process. And, if there is no execution environment that meets the execution requirements in the cloud system, creating an execution environment that meets the execution requirements in the cloud system. Executing in an execution environment conforming to the above.

本発明の第2の視点によれば、業務の実行処理を規定するインストラクションに関する情報と、前記実行処理を実行するためのゲストOS、アプリケーション、ミドルウェア、アカウント情報の要件を含む実行要件と、を入力する入力部と、クラウドシステムに前記実行要件に適合する実行環境が存在しなければ、前記クラウドシステムに前記実行要件に適合する実行環境を作成する実行環境管理部と、前記実行処理を、前記実行要件に適合する実行環境にて実行する実行部と、を備える、ジョブ管理装置が提供される。 According to a second aspect of the present invention, information relating to an instruction defining a process for executing a task and an execution requirement including requirements for a guest OS, an application, middleware, and account information for executing the process are input. An input unit for executing, if an execution environment that meets the execution requirements does not exist in the cloud system, an execution environment management unit that creates an execution environment that meets the execution requirements in the cloud system; and An execution unit that executes in an execution environment that meets requirements is provided.

本発明の第3の視点によれば、業務の実行処理を規定するインストラクションに関する情報と、前記実行処理を実行するためのゲストOS、アプリケーション、ミドルウェア、アカウント情報の要件を含む実行要件と、を入力する処理と、クラウドシステムに前記実行要件に適合する実行環境が存在しなければ、前記クラウドシステムに前記実行要件に適合する実行環境を作成する処理と、前記実行処理を、前記実行要件に適合する実行環境にて実行する処理と、をジョブ管理装置に搭載されたコンピュータに実行させる、プログラム、が提供される。
なお、このプログラムは、コンピュータが読み取り可能な記憶媒体に記録することができる。記憶媒体は、半導体メモリ、ハードディスク、磁気記録媒体、光記録媒体等の非トランジェント(non-transient)なものとすることができる。本発明は、コンピュータプログラム製品として具現することも可能である。
According to a third aspect of the present invention, information on an instruction that defines a process for executing a task and execution requirements including requirements for a guest OS, an application, middleware, and account information for executing the process are input. If there is no execution environment that meets the execution requirement in the cloud system, a process that creates an execution environment that meets the execution requirement in the cloud system, and the execution process conforms to the execution requirement There is provided a program for causing a computer mounted on a job management device to execute a process executed in an execution environment.
This program can be recorded on a computer-readable storage medium. The storage medium can be non-transient, such as a semiconductor memory, hard disk, magnetic recording medium, optical recording medium, and the like. The present invention can be embodied as a computer program product.

本発明の各視点によれば、クラウドシステムにおける円滑な業務処理の実行に寄与するジョブ管理方法、ジョブ管理装置及びプログラムが提供される。   According to each aspect of the present invention, a job management method, a job management device, and a program that contribute to smooth execution of business processing in a cloud system are provided.

一実施形態の概要を説明するための図である。It is a figure for explaining an outline of one embodiment. 第1の実施形態に係るジョブ実行システムの構成の一例を示す図である。FIG. 1 is a diagram illustrating an example of a configuration of a job execution system according to a first embodiment. ジョブ要件の一例を示す図である。FIG. 9 is a diagram illustrating an example of a job requirement. 第1の実施形態に係るジョブ管理装置の内部構成の一例を示す図である。FIG. 2 is a diagram illustrating an example of an internal configuration of the job management device according to the first embodiment. 物理マシン管理情報の一例を示す図である。FIG. 6 illustrates an example of physical machine management information. 仮想マシン管理情報の一例を示す図である。FIG. 6 illustrates an example of virtual machine management information. 第1の実施形態に係る物理マシンの内部構成の一例を示す図である。FIG. 3 is a diagram illustrating an example of an internal configuration of the physical machine according to the first embodiment. 第1の実施形態に係る実行環境検査部の動作の一例を示すフローチャートである。5 is a flowchart illustrating an example of an operation of an execution environment inspection unit according to the first embodiment. ジョブ要件の一例を示す図である。FIG. 9 is a diagram illustrating an example of a job requirement. ジョブ要件の一例を示す図である。FIG. 9 is a diagram illustrating an example of a job requirement. 第1の実施形態に係るジョブ実行システムの動作の一例を示すシーケンス図である。FIG. 6 is a sequence diagram illustrating an example of an operation of the job execution system according to the first embodiment. ジョブ実行システムの別の構成の一例を示す図である。FIG. 13 is a diagram illustrating an example of another configuration of the job execution system. ジョブ実行システムの別の構成の一例を示す図である。FIG. 13 is a diagram illustrating an example of another configuration of the job execution system.

初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。   First, an outline of an embodiment will be described. It should be noted that the reference numerals in the drawings attached to this outline are added for convenience of each element as an example for facilitating understanding, and the description of this outline is not intended to limit the invention in any way.

図1に示すように、一実施形態に係るジョブ管理方法は、第1〜第3のステップを含む。第1のステップは、業務の実行処理を規定するインストラクションに関する情報と、実行処理を実行するための要件を含む実行要件と、を入力するステップである。第2のステップは、クラウドシステムに実行要件に適合する実行環境が存在しなければ、当該クラウドシステムに実行要件に適合する実行環境を作成するステップである。第3のステップは、実行処理を、実行要件に適合する実行環境にて実行するステップである。なお、本願開示において、インストラクションとは、実行環境のプロセッサへのインストラクションと定義する。例えば、上記インストラクションとして、スクリプト又は実行ファイルが該当する。   As shown in FIG. 1, the job management method according to one embodiment includes first to third steps. The first step is a step of inputting information relating to an instruction defining a process of executing a task and an execution requirement including a requirement for executing the execution process. The second step is a step of creating an execution environment that meets the execution requirements in the cloud system if there is no execution environment that meets the execution requirements in the cloud system. The third step is a step of executing the execution processing in an execution environment that meets the execution requirements. In the present disclosure, an instruction is defined as an instruction to a processor in an execution environment. For example, a script or an executable file corresponds to the instruction.

一実施形態に係るジョブ管理方法は、ジョブのインストラクションに関する情報とその実行要件を含めて入力する。また、インストラクションに関する情報と共に入力された実行要件を満たす実行環境が存在するか否かが判定され、存在しない場合には、実行要件に適合する実行環境がクラウドシステムに作成される。その結果、インフラの事前準備や担当者間の連携が不要となり、必要なジョブが実行される。即ち、クラウドシステムにおける円滑な業務処理の実行が実現される。   In the job management method according to the embodiment, information including information on a job instruction and an execution requirement are input. Further, it is determined whether or not there is an execution environment that satisfies the execution requirement input together with the information on the instruction. If not, an execution environment that meets the execution requirement is created in the cloud system. As a result, there is no need for advance preparation of infrastructure or cooperation between persons in charge, and necessary jobs are executed. That is, smooth execution of business processing in the cloud system is realized.

以下に具体的な実施の形態について、図面を参照してさらに詳しく説明する。なお、各実施形態において同一構成要素には同一の符号を付し、その説明を省略する。   Hereinafter, specific embodiments will be described in more detail with reference to the drawings. In each embodiment, the same components are denoted by the same reference numerals, and description thereof will be omitted.

[第1の実施形態]
第1の実施形態について、図面を用いてより詳細に説明する。
[First Embodiment]
The first embodiment will be described in more detail with reference to the drawings.

図2は、第1の実施形態に係るジョブ実行システムの構成の一例を示す図である。図2を参照すると、ジョブ実行システムには、端末10と、データセンタ20と、が含まれる。端末10とデータセンタ20は、ネットワークを介して相互に接続されている。   FIG. 2 is a diagram illustrating an example of a configuration of the job execution system according to the first embodiment. Referring to FIG. 2, the job execution system includes a terminal 10 and a data center 20. The terminal 10 and the data center 20 are mutually connected via a network.

データセンタ20には、ジョブ管理装置21と、複数の物理マシン22−1〜22−n(nは正の整数、以下同じ)と、が含まれる。なお、物理マシン22−1〜22−nを区別する特段の理由がない場合には、単に「物理マシン22」と表記する。   The data center 20 includes a job management device 21 and a plurality of physical machines 22-1 to 22-n (n is a positive integer, the same applies hereinafter). If there is no particular reason to distinguish the physical machines 22-1 to 22-n, the physical machines are simply referred to as “physical machines 22”.

データセンタ20に設置された複数の物理マシン22は、クラウドシステムにおけるサービス提供インフラを構成する情報処理装置(コンピュータ)である。クラウドシステムには、データセンタ20の利用者(テナント)ごとに区分して仮想マシンが作成される。   The plurality of physical machines 22 installed in the data center 20 are information processing devices (computers) that constitute a service providing infrastructure in a cloud system. In the cloud system, virtual machines are created for each user (tenant) of the data center 20.

ジョブ管理装置21は、物理マシン22の制御、管理を行う装置である。具体的には、ジョブ管理装置21は、物理マシン22の仕様(例えば、ハードウェアスペック、利用可能なソフトウェア等)や動作状態に関する管理する。また、ジョブ管理装置21は、クラウドシステムをなす物理マシン22に仮想マシンを作成し、データセンタ20の利用者にジョブの実行環境(仮想マシン)を提供する。   The job management device 21 is a device that controls and manages the physical machine 22. Specifically, the job management device 21 manages the specifications (for example, hardware specifications, usable software, and the like) and the operation state of the physical machine 22. The job management device 21 creates a virtual machine in the physical machine 22 forming the cloud system, and provides a user of the data center 20 with a job execution environment (virtual machine).

端末10は、データセンタ20の利用者が使用する端末である。例えば、データセンタ20の利用者は、端末10を操作して、勤務管理等の業務処理を物理マシン22に作成された仮想マシンに実行させるための要件(以下、ジョブ要件と表記する)をジョブ管理装置21に入力する。   The terminal 10 is a terminal used by a user of the data center 20. For example, the user of the data center 20 operates the terminal 10 to specify a requirement (hereinafter, referred to as a job requirement) for causing a virtual machine created on the physical machine 22 to execute business processing such as work management. Input to the management device 21.

図3は、ジョブ要件の一例を示す図である。例えば、ジョブ要件は、ジョブ定義情報と、ジョブ実行要件と、から構成される。   FIG. 3 is a diagram illustrating an example of the job requirement. For example, the job requirements include job definition information and job execution requirements.

ジョブ定義情報は、各テナントに提供される仮想マシンに実行させようとするジョブの概略を規定する情報を含む。例えば、ジョブ定義情報は、データセンタ20の運営事業者から割り当てられたテナントID(Identification)と、業務の実行処理を規定するインストラクション(業務処理を実現するジョブの実体;例えば、スクリプトファイル又は実行ファイル)に関する情報と、ジョブ実行に関するスケジュール情報と、を含んで構成される。図3に示す例では、「テナントA」に割り当てられた仮想マシンにて、「JOB_A.sh」というファイル名のスクリプトファイルに記載された処理(プログラム及びその実行順序)が、「毎週火曜日の午前8:00」に実行されることが理解される。   The job definition information includes information defining an outline of a job to be executed by a virtual machine provided to each tenant. For example, the job definition information includes a tenant ID (Identification) assigned by the operator of the data center 20 and an instruction (an entity of a job for realizing the business process; for example, a script file or an execution file) ) And schedule information related to job execution. In the example illustrated in FIG. 3, in the virtual machine assigned to “Tenant A”, the processing (programs and their execution order) described in the script file with the file name “JOB_A.sh” is “every Tuesday morning. 8:00 ".

ジョブ実行要件は、ジョブ定義情報により規定されたジョブを実行するための要件に関する情報を含む。例えば、ジョブ実行要件は、ジョブを実行する仮想マシンに要求するスペック(メモリ容量、ディスク容量等)、ジョブを実行する際に必要なソフトウェア(OS、アプリケーション、ミドルウェア等)、ソフトウェアを実行するアカウント(実行アカウント)等に関する情報を含む。図3に示す例では、2Gbyteのメモリ容量、10Gbyteのディスク容量を有する仮想マシンに、OSとして「OS_A」が、アプリケーション(AP;Application)として「AP_A」が、それぞれインストールされ、「USER_A」が実行アカウントとして登録されていることが、ジョブの実行に必要であることが理解される。   The job execution requirement includes information on a requirement for executing a job specified by the job definition information. For example, the job execution requirements include specifications (memory capacity, disk capacity, and the like) required for a virtual machine that executes the job, software (OS, application, middleware, and the like) required when executing the job, and an account ( Execution account). In the example illustrated in FIG. 3, “OS_A” is installed as an OS and “AP_A” is installed as an application (AP) in a virtual machine having a memory capacity of 2 Gbytes and a disk capacity of 10 Gbytes, and “USER_A” is executed. It is understood that registration as an account is necessary for execution of a job.

図2に示すジョブ管理装置21は、端末10からジョブ要件を入力すると、当該ジョブ要件に含まれるジョブ実行要件に適合する実行環境(仮想マシン)を用意する。より具体的には、ジョブ管理装置21は、ジョブ実行要件に適合する仮想マシンを用意し、当該仮想マシンをジョブの実行環境とする。さらに、ジョブ管理装置21は、ジョブ定義情報に含まれるスケジュール情報に従い、ジョブの実行制御を行う。   When a job requirement is input from the terminal 10, the job management device 21 illustrated in FIG. 2 prepares an execution environment (virtual machine) that meets the job execution requirement included in the job requirement. More specifically, the job management device 21 prepares a virtual machine that meets the job execution requirements, and uses the virtual machine as a job execution environment. Further, the job management device 21 controls the execution of the job according to the schedule information included in the job definition information.

データセンタ20の利用者(テナント)は、端末10を操作して、仮想マシンにより実行されたジョブの実行結果を参照する(又は、取得する)。   The user (tenant) of the data center 20 operates the terminal 10 to refer to (or acquire) the execution result of the job executed by the virtual machine.

図4は、ジョブ管理装置21の内部構成の一例を示す図である。図4を参照すると、ジョブ管理装置21は、通信制御部201と、ジョブ要件処理部202と、実行環境検査部203と、物理マシン管理部204と、ジョブ実行制御部205と、ジョブ要件記憶部211と、物理マシン管理情報記憶部212と、仮想マシン管理情報記憶部213と、を含んで構成される。ジョブ管理装置21を構成する各部は内部バスを介して相互に接続され、ジョブ要件処理部202を初めとする制御モジュールはジョブ要件記憶部211等の記憶部にアクセス可能に構成されている。   FIG. 4 is a diagram illustrating an example of the internal configuration of the job management device 21. Referring to FIG. 4, the job management device 21 includes a communication control unit 201, a job requirement processing unit 202, an execution environment inspection unit 203, a physical machine management unit 204, a job execution control unit 205, a job requirement storage unit 211, a physical machine management information storage unit 212, and a virtual machine management information storage unit 213. The components constituting the job management device 21 are interconnected via an internal bus, and the control modules including the job requirement processing unit 202 are configured to be able to access a storage unit such as the job requirement storage unit 211.

通信制御部201は、他の装置(端末10、物理マシン22等)との間の通信を制御する手段である。通信制御部201は、他の装置からメッセージを受信すると、当該メッセージをジョブ管理装置21内の各部に振り分ける。あるいは、ジョブ管理装置21内の各部からメッセージ送信の指示を受けると、他の装置に向けて当該メッセージを転送する。通信制御部201は、端末10からジョブ要件を入力すると、当該入力されたジョブ要件をジョブ要件記憶部211に格納すると共に、ジョブ要件処理部202にジョブ要件を取得した旨を通知する。   The communication control unit 201 is a unit that controls communication with another device (the terminal 10, the physical machine 22, or the like). When receiving a message from another device, the communication control unit 201 distributes the message to each unit in the job management device 21. Alternatively, when a message transmission instruction is received from each unit in the job management apparatus 21, the message is transferred to another apparatus. When a job requirement is input from the terminal 10, the communication control unit 201 stores the input job requirement in the job requirement storage unit 211 and notifies the job requirement processing unit 202 that the job requirement has been acquired.

ジョブ要件処理部202は、端末10から取得したジョブ要件を処理する手段である。具体的には、ジョブ要件処理部202は、ジョブ要件を取得すると、実行環境検査部203に対し、ジョブ要件に記載されたジョブ実行要件と実行環境(仮想マシン)に関する検査を依頼する。ジョブ要件処理部202は、実行環境検査部203による検査が終了すると、実行環境検査部203から通知される検査結果に応じた処理を行う。   The job requirement processing unit 202 is a unit that processes job requirements acquired from the terminal 10. Specifically, upon acquiring the job requirement, the job requirement processing unit 202 requests the execution environment inspection unit 203 to perform an inspection on the job execution requirement and the execution environment (virtual machine) described in the job requirement. When the execution environment inspection unit 203 completes the inspection, the job requirement processing unit 202 performs processing according to the inspection result notified from the execution environment inspection unit 203.

より詳細には、ジョブ要件処理部202は、実行環境検査部203から「ジョブは既存の仮想マシンにて実行可能」という第1の検査結果を取得した場合には、ジョブ実行制御部205に対し、ジョブ要件を特定する情報と、当該ジョブ要件に対応するジョブを実行する仮想マシンを特定する情報と、を通知する。   More specifically, if the job requirement processing unit 202 obtains the first inspection result “the job can be executed on an existing virtual machine” from the execution environment inspection unit 203, the job requirement processing unit 202 , And information specifying a virtual machine that executes a job corresponding to the job requirement.

また、ジョブ要件処理部202は、実行環境検査部203から「ジョブは既存の仮想マシンのスペック変更により実行可能」という第2の検査結果を取得した場合には、物理マシン管理部204に対し、仮想マシンのスペック変更(構成変更、再構成)を依頼する。その際、ジョブ要件処理部202は、仮想マシンのスペック変更に関する情報を物理マシン管理部204に提供する。   Further, when the job requirement processing unit 202 acquires the second inspection result that “the job can be executed by changing the specifications of the existing virtual machine” from the execution environment inspection unit 203, the job requirement processing unit 202 Request the specification change (configuration change, reconfiguration) of the virtual machine. At this time, the job requirement processing unit 202 provides information on the change in the specification of the virtual machine to the physical machine management unit 204.

さらに、ジョブ要件処理部202は、実行環境検査部203から「ジョブの実行には仮想マシンの新規作成が必要」という第3の検査結果を取得した場合には、物理マシン管理部204に対し、仮想マシンの新規作成を依頼する。その際、ジョブ要件処理部202は、新たに作成する仮想マシンに関する情報を物理マシン管理部204に提供する。   Further, when the job requirement processing unit 202 acquires the third inspection result that “new execution of a virtual machine is required to execute a job” from the execution environment inspection unit 203, the job requirement processing unit 202 Request creation of a new virtual machine. At this time, the job requirement processing unit 202 provides information on the newly created virtual machine to the physical machine management unit 204.

ジョブ要件処理部202は、物理マシン管理部204による仮想マシンの変更や新たな仮想マシンの作成が終了すると、ジョブ実行制御部205に対し、ジョブ要件を特定する情報と、当該ジョブ要件に対応するジョブを実行する仮想マシンを特定する情報と、を通知する。   When the change of the virtual machine or the creation of the new virtual machine by the physical machine management unit 204 is completed, the job requirement processing unit 202 provides the job execution control unit 205 with the information specifying the job requirement and the job requirement corresponding to the job requirement. And information identifying the virtual machine that executes the job.

また、ジョブ要件処理部202は、実行環境検査部203から上記第1〜第3の検査結果を取得した場合には、通信制御部201を介して、ジョブの実行環境が提供可能である旨を端末10に通知する。   In addition, when the job requirement processing unit 202 acquires the first to third inspection results from the execution environment inspection unit 203, the job requirement processing unit 202 informs that the job execution environment can be provided via the communication control unit 201. Notify the terminal 10.

さらに、ジョブ要件処理部202は、実行環境検査部203から、「ジョブの実行は不可能」という第4の検査結果を取得した場合には、その旨を、通信制御部201を介して端末10に通知する。   Further, when the job requirement processing unit 202 acquires the fourth inspection result “job execution is impossible” from the execution environment inspection unit 203, the job requirement processing unit 202 notifies the terminal 10 via the communication control unit 201 of the fact. Notify.

上述のように、実行環境検査部203は、ジョブ要件処理部202からの依頼(指示)に基づき、ジョブ要件に含まれるジョブ実行要件とその実行環境(仮想マシン)に関する検査を行う。より具体的には、ジョブ要件と、物理マシン管理情報記憶部212に格納された物理マシン管理情報と、仮想マシン管理情報記憶部213に格納された仮想マシン管理情報と、に基づき、上記第1〜第4の検査結果に対応する検査を行い、その結果をジョブ要件処理部202に通知する。なお、実行環境検査部203の動作に関するより詳細な説明は後述する。   As described above, based on the request (instruction) from the job requirement processing unit 202, the execution environment inspection unit 203 performs an inspection on the job execution requirements included in the job requirements and the execution environment (virtual machine). More specifically, based on the job requirements, the physical machine management information stored in the physical machine management information storage unit 212, and the virtual machine management information stored in the virtual machine management information storage unit 213, the first The inspection corresponding to the fourth to fourth inspection results is performed, and the result is notified to the job requirement processing unit 202. A more detailed description of the operation of the execution environment inspection unit 203 will be described later.

物理マシン管理部204は、データセンタ20内の物理マシン22を制御し、管理する手段である(ジョブの実行環境である仮想マシンを管理する手段である)。具体的には、物理マシン管理部204は、クラウドシステムにジョブ実行要件に適合する仮想マシンが存在しなければ、物理マシン22に当該ジョブ実行要件に適合する仮想マシンを、クラウドシステムのテナントごとに区分して作成する。より詳細には、物理マシン管理部204は、ジョブ要件処理部202からの依頼に基づき、既存の仮想マシンのスペックを変更する、又は、物理マシン22に新たな仮想マシンを作成する。なお、物理マシン管理部204による仮想マシンの変更や新規作成は、実行環境検査部203による検査の後に行われる(実行要件と実行環境に関する検査が先に行われる)。さらに、物理マシン管理部204は、物理マシン管理情報や仮想マシン管理情報に変更が生じた場合には、これらの情報を記憶する記憶部(物理マシン管理情報記憶部212、仮想マシン管理情報記憶部213)の内容を更新する。   The physical machine management unit 204 is a unit that controls and manages the physical machine 22 in the data center 20 (a unit that manages a virtual machine that is a job execution environment). Specifically, if there is no virtual machine that meets the job execution requirement in the cloud system, the physical machine management unit 204 assigns a virtual machine that meets the job execution requirement to the physical machine 22 for each tenant of the cloud system. Create separately. More specifically, based on a request from the job requirement processing unit 202, the physical machine management unit 204 changes the specifications of an existing virtual machine or creates a new virtual machine in the physical machine 22. The change or new creation of a virtual machine by the physical machine management unit 204 is performed after the inspection by the execution environment inspection unit 203 (the inspection on the execution requirements and the execution environment is performed first). Further, when a change occurs in the physical machine management information or the virtual machine management information, the physical machine management unit 204 stores the information (the physical machine management information storage unit 212 and the virtual machine management information storage unit). 213) is updated.

ジョブ実行制御部205は、ジョブ要件に含まれるジョブを、ジョブ要件に含まれるジョブ実行要件に適合する実行環境(仮想マシン)にて実行する手段である。具体的には、ジョブ実行制御部205は、ジョブ要件に記載されたジョブ(ジョブプロセス)の起動や停止に関する制御(ジョブ実行制御)を行う。さらに、ジョブ実行制御部205は、ジョブ要件のジョブを実行する仮想マシンに、ジョブ定義情報に含まれるインストラクションを設定する。例えば、ジョブ実行制御部205は、ジョブの実行に必要なスクリプトファイルを仮想マシンに配布し、ジョブ実行可能状態とする。仮想マシンへのインストラクションの設定が終了すると、ジョブ実行制御部205は、ジョブ定義情報に記載されたスケジュール情報に従い、ジョブの実行をインストラクションが設定された仮想マシンに指示する。   The job execution control unit 205 is a unit that executes a job included in the job requirement in an execution environment (virtual machine) that meets the job execution requirement included in the job requirement. Specifically, the job execution control unit 205 performs control (job execution control) related to starting and stopping of a job (job process) described in the job requirement. Further, the job execution control unit 205 sets the instructions included in the job definition information in the virtual machine that executes the job of the job requirement. For example, the job execution control unit 205 distributes a script file necessary for executing the job to the virtual machine and sets the job executable state. When the setting of the instruction to the virtual machine is completed, the job execution control unit 205 instructs the virtual machine to which the instruction has been set to execute the job according to the schedule information described in the job definition information.

ジョブ要件記憶部211、物理マシン管理情報記憶部212及び仮想マシン管理情報記憶部213の各記憶部は、HDD(Hard Disk Drive)等の記憶媒体を含んで構成される。   Each storage unit of the job requirement storage unit 211, the physical machine management information storage unit 212, and the virtual machine management information storage unit 213 includes a storage medium such as an HDD (Hard Disk Drive).

ジョブ要件記憶部211は、端末10から取得したジョブ要件を記憶する。   The job requirement storage unit 211 stores the job requirements acquired from the terminal 10.

物理マシン管理情報記憶部212は、物理マシン管理情報を一元管理し、当該情報を記憶する。図5は、物理マシン管理情報の一例を示す図である。図5を参照すると、物理マシン管理情報として、各物理マシン22が有するハードウェアスペック(例えば、利用可能なメモリ容量、ディスク容量)やソフトウェア(利用可能なOS、利用可能なアプリケーション、利用可能なミドルウェア(MW;MiddleWare))等に関する情報が、登録されている。   The physical machine management information storage unit 212 centrally manages the physical machine management information and stores the information. FIG. 5 is a diagram illustrating an example of the physical machine management information. Referring to FIG. 5, as physical machine management information, hardware specifications (for example, available memory capacity, disk capacity) and software (available OS, available applications, available middleware) of each physical machine 22 are provided. (MW; MiddleWare)) is registered.

仮想マシン管理情報記憶部213は、仮想マシン管理情報を一元管理し、当該情報を記憶する。図6は、仮想マシン管理情報の一例を示す図である。図6を参照すると、仮想マシン管理情報として、テナントごとに、各テナントに割り当てられた仮想マシンと、当該仮想マシンが作成されている物理マシンと、仮想マシンのスペックと、仮想マシンにインストールされたソフトウェア(例えば、ゲストOS、実行可能なアプリケーション)と、当該ソフトウェアの実行アカウントに関する情報と、が登録されている。つまり、仮想マシン管理情報により、物理マシン22に作成された仮想マシンのスペック(ハードウェアに関するスペック、ソフトウェアに関するスペック)が管理される。なお、本願開示において、ソフトウェアを実行する実行アカウントは、ソフトウェアに関するスペックに含まれるものとする。   The virtual machine management information storage unit 213 centrally manages the virtual machine management information and stores the information. FIG. 6 is a diagram illustrating an example of the virtual machine management information. Referring to FIG. 6, as the virtual machine management information, for each tenant, the virtual machine assigned to each tenant, the physical machine in which the virtual machine is created, the specifications of the virtual machine, and the virtual machine installed in the virtual machine. Software (for example, a guest OS and an executable application) and information on an execution account of the software are registered. That is, the virtual machine management information manages the specifications (specifications regarding hardware and specifications regarding software) of the virtual machine created in the physical machine 22. Note that, in the present disclosure, an execution account for executing software is included in the specifications regarding software.

図7は、物理マシン22の内部構成の一例を示す図である。図7を参照すると、物理マシン22は、ハードウェアリソース301と、ハイパーバイザー302と、を含んで構成される。   FIG. 7 is a diagram illustrating an example of the internal configuration of the physical machine 22. Referring to FIG. 7, the physical machine 22 includes a hardware resource 301 and a hypervisor 302.

物理マシン22が有するハードウェアリソース301には、CPU(Central Processing Unit)、DRAM(Dynamic Random Access Memory)等のメモリ、HDD(Hard Disk Drive)等の記憶媒体、NIC(Network Interface Card)等の通信インターフェイス等が含まれる。   The hardware resources 301 of the physical machine 22 include a central processing unit (CPU), a memory such as a dynamic random access memory (DRAM), a storage medium such as a hard disk drive (HDD), and a communication medium such as a network interface card (NIC). Interface etc. are included.

ハイパーバイザー302は、物理マシン22における仮想化環境を構築し、管理する手段である。即ち、ハイパーバイザー302により仮想マシンの作成、変更が制御される。ハイパーバイザー302が作成する仮想マシンには、ハードウェアリソース301を仮想化した仮想ハードウェア311が割り当てられる。この仮想ハードウェア311には、仮想NICが含まれ、仮想マシンと他の装置との通信は、仮想NICを介して行われる。仮想マシン上では、ゲストOS312が動作し、当該ゲストOS312上でアプリケーション313やミドルウェア314が動作する。   The hypervisor 302 is a means for constructing and managing a virtual environment in the physical machine 22. That is, creation and change of a virtual machine are controlled by the hypervisor 302. The virtual hardware created by virtualizing the hardware resource 301 is allocated to the virtual machine created by the hypervisor 302. The virtual hardware 311 includes a virtual NIC, and communication between the virtual machine and another device is performed via the virtual NIC. On the virtual machine, a guest OS 312 operates, and on the guest OS 312, an application 313 and middleware 314 operate.

次に、実行環境検査部203を中心に第1の実施形態に係るジョブ管理装置21の動作について説明する。   Next, an operation of the job management apparatus 21 according to the first embodiment will be described focusing on the execution environment inspection unit 203.

図8は、第1の実施形態に係る実行環境検査部203の動作の一例を示すフローチャートである。   FIG. 8 is a flowchart illustrating an example of the operation of the execution environment inspection unit 203 according to the first embodiment.

ステップS101において、実行環境検査部203は、端末10から取得したジョブ実行要件に適合する仮想マシンが既に存在するか否かを判定する。具体的には、実行環境検査部203は、物理マシン22に既に構築された既存の仮想マシンのスペック(ハードウェアスペック、ソフトウェアスペック)が、ジョブ実行要件を包含しているか否かにより、上記判定を行う。ジョブ実行要件に適合する仮想マシンが既に存在する場合(ステップS101、Yes分岐)には、実行環境検査部203は、ステップS102以降の処理を実行する。ジョブ実行要件の要素と、対応する仮想マシン管理情報の要素と、が少なくとも1つ以上相違する場合(既存の仮想マシンのスペックがジョブ要件に含まれるジョブ実行要件を包含しない場合)には、実行環境検査部203は、ジョブ実行要件に適合する仮想マシンは存在しないと判定(ステップS101、No分岐)し、ステップS104以降の処理を実行する。   In step S101, the execution environment inspection unit 203 determines whether a virtual machine that meets the job execution requirements acquired from the terminal 10 already exists. Specifically, the execution environment inspection unit 203 makes the determination based on whether or not the specifications (hardware specifications and software specifications) of the existing virtual machine already constructed on the physical machine 22 include the job execution requirements. I do. If a virtual machine that meets the job execution requirement already exists (step S101, Yes branch), the execution environment inspection unit 203 executes the processing from step S102. If there is at least one difference between the element of the job execution requirement and the corresponding element of the virtual machine management information (when the specification of the existing virtual machine does not include the job execution requirement included in the job requirement), the execution is performed. The environment inspection unit 203 determines that there is no virtual machine that satisfies the job execution requirement (step S101, No branch), and executes the processing after step S104.

例えば、実行環境検査部203は、図9に示すようなジョブ要件を取得したものとする。この場合、実行環境検査部203は、仮想マシン管理情報記憶部213を参照し、テナントAに割り当てられた仮想マシンであって、図9に示すジョブ実行要件に適合する仮想マシンが存在するか否かを判定する。   For example, it is assumed that the execution environment inspection unit 203 has acquired the job requirements as shown in FIG. In this case, the execution environment inspection unit 203 refers to the virtual machine management information storage unit 213 to determine whether there is a virtual machine assigned to the tenant A and meeting the job execution requirements shown in FIG. Is determined.

図6を参照すると、物理マシン22−1に作成された仮想マシンVM1−1のスペックが、上記ジョブ実行要件を包含するので、実行環境検査部203はステップS102に遷移し処理を続ける。   Referring to FIG. 6, since the specifications of the virtual machine VM1-1 created in the physical machine 22-1 include the job execution requirements, the execution environment inspection unit 203 transitions to step S102 and continues the processing.

一方、実行環境検査部203が、図10(a)や図10(b)に示すようなジョブ要件を取得した場合には、テナントAに割り当てられた仮想マシンであって、そのスペックがジョブ実行要件を包含する仮想マシンは存在しないので、ステップS104に遷移し処理を続ける。図10(a)に例示するジョブ実行要件は、図6の1行目に記載された仮想マシンVM1−1と比較し、実行アカウントが一致しないためである。また、図10(b)に例示するジョブ実行要件は、図6の1行目に記載された仮想マシンVM1−1と比較し、OS(ゲストOS)が一致しないためである。   On the other hand, when the execution environment inspection unit 203 acquires the job requirements as shown in FIGS. 10A and 10B, it is the virtual machine assigned to the tenant A, and the specification is Since there is no virtual machine that satisfies the requirement, the process proceeds to step S104 to continue the process. The job execution requirement illustrated in FIG. 10A is because the execution accounts do not match as compared with the virtual machine VM1-1 described in the first line of FIG. The job execution requirement illustrated in FIG. 10B is because the OS (guest OS) does not match the virtual machine VM1-1 described in the first line of FIG.

ステップS102において、実行環境検査部203は、ジョブ要件に記載されたジョブ(スクリプトファイル)が、ステップS101にて選択された仮想マシン(既存の仮想マシン)にて実行可能か否かを判定する。具体的には、実行環境検査部203は、ジョブ(スクリプトファイルにより規定される実行処理)が既存の仮想マシンにて実行される他の処理と共存可能か否かにより、上記判定を行う。   In step S102, the execution environment inspection unit 203 determines whether the job (script file) described in the job requirement can be executed in the virtual machine (existing virtual machine) selected in step S101. Specifically, the execution environment inspection unit 203 makes the determination based on whether or not the job (execution process defined by the script file) can coexist with other processes executed on the existing virtual machine.

なお、実行環境検査部203が実行するステップS102の判定には、種々の技術を用いることができる。例えば、実行環境検査部203は、ジョブ要件に記載されたスケジュール情報と、既存の仮想マシンにて実行されるジョブのスケジュール情報と、を比較し、ジョブの実行可否を判定してもよい。ジョブ要件に記載されたジョブの実行タイミングと、既存の仮想マシンにて実行されるジョブの実行タイミングと、が異なる場合(例えば、各ジョブを実行する曜日が異なる場合)には、実行環境検査部203は、2つのジョブは同一の仮想マシンにて実行可能と判定する。   Note that various techniques can be used for the determination in step S102 executed by the execution environment inspection unit 203. For example, the execution environment inspection unit 203 may compare the schedule information described in the job requirement with the schedule information of the job executed in the existing virtual machine, and determine whether the job can be executed. If the execution timing of the job described in the job requirements is different from the execution timing of the job executed in the existing virtual machine (for example, when each job is executed on a different day of the week), the execution environment inspection unit 203 determines that the two jobs can be executed on the same virtual machine.

あるいは、特許文献2に開示されるように、これから実行しようとするジョブ(ジョブ要件に記載されたジョブ;実行対象のジョブ)の入力データ量と、既に実行されたジョブ(ステップS101にて選択された仮想マシンにて実行されたジョブ)の入力データ量とリソース使用量との関係を用いて、実行対象のジョブが既存の仮想マシンにて実行可能か否かを判定してもよい。   Alternatively, as disclosed in Patent Literature 2, the input data amount of a job to be executed (a job described in the job requirements; a job to be executed) and the already executed job (selected in step S101) It may be determined whether or not the job to be executed can be executed on an existing virtual machine by using the relationship between the input data amount of the executed virtual machine and the resource usage.

ジョブが既存の仮想マシンにて実行可能な場合(ステップS102、Yes分岐)には、実行環境検査部203は、要求されたジョブの実行は既存の仮想マシンにより対応可能であると判定する(ステップS103)。即ち、既存の仮想マシンは、ジョブ実行要件に適合する実行環境であると判定される。この場合、実行環境検査部203は、ジョブ実行要件に関する検査の結果に上記第1の検査結果を設定する。   If the job can be executed in the existing virtual machine (step S102, Yes branch), the execution environment inspection unit 203 determines that the execution of the requested job can be performed by the existing virtual machine (step S102). S103). That is, the existing virtual machine is determined to be an execution environment that meets the job execution requirements. In this case, the execution environment inspection unit 203 sets the first inspection result as the inspection result regarding the job execution requirement.

ステップS104において、実行環境検査部203は、既存の仮想マシンにスペック変更を加えることで、要求されたジョブ実行要件に対応可能か否かを判定する。具体的には、実行環境検査部203は、既存の仮想マシンのスペックとジョブ実行要件の間の相違点が、予め定めた相違点であるか否かにより、上記判定を行う。   In step S104, the execution environment inspection unit 203 determines whether the requested job execution requirement can be satisfied by changing the specification of the existing virtual machine. Specifically, the execution environment inspection unit 203 makes the above determination based on whether or not the difference between the specifications of the existing virtual machine and the job execution requirements is a predetermined difference.

例えば、図10(a)に示すように、ジョブ実行要件と既存の仮想マシンVM1−1の間で、実行アカウントに限り異なる場合には、要求されたジョブ実行要件は既存の仮想マシンに変更を加えることで対応可能と判定される。この場合、既に存在する仮想マシンに実行アカウントを追加することは容易であるためである。あるいは、要求されたジョブ実行要件と既存の仮想マシンの相違点が、既に作成された仮想マシンのメモリ容量がジョブ実行要件のメモリ容量よりも小さいような場合も、既存の仮想マシンのスペックを変更することによりジョブ実行要件に適合する実行環境(仮想マシン)の提供が可能と判定される。既に存在する仮想マシンにメモリ容量を追加することは容易であるためである。   For example, as shown in FIG. 10A, when only the execution account is different between the job execution requirement and the existing virtual machine VM1-1, the requested job execution requirement is changed to the existing virtual machine. It is determined that addition is possible. In this case, it is easy to add an execution account to an existing virtual machine. Or, if the difference between the requested job execution requirement and the existing virtual machine is such that the memory capacity of the already created virtual machine is smaller than the memory capacity of the job execution requirement, change the specifications of the existing virtual machine. By doing so, it is determined that it is possible to provide an execution environment (virtual machine) that meets the job execution requirements. This is because it is easy to add a memory capacity to an existing virtual machine.

一方、図10(b)に示すように、ジョブ実行要件のOSと、既存の仮想マシンVM1−1にインストールされているOS(ゲストOS)と、が異なる場合には、実行環境検査部203は、既存の仮想マシンに対する変更では要求されたジョブ実行要件に対応不可と判定する。OSが異なる場合の対応は困難だからである。   On the other hand, as shown in FIG. 10B, when the OS of the job execution requirement is different from the OS (guest OS) installed in the existing virtual machine VM1-1, the execution environment inspection unit 203 It is determined that the change to the existing virtual machine cannot meet the requested job execution requirement. This is because it is difficult to cope with different OSs.

なお、いずれかの要素が一致するときに既存の仮想マシンに対する変更により、要求されたジョブ実行要件が対応可能か否かの基準は、各要素の性質や特等に応じて予め定めておくものとする。   The criterion for determining whether or not the requested job execution requirement can be met by changing the existing virtual machine when any of the elements match shall be determined in advance according to the characteristics and characteristics of each element. I do.

既存の仮想マシンを変更することでジョブ実行要件に対応可能と判定された場合(ステップS104、Yes分岐)は、実行環境検査部203は、既存の仮想マシンのスペック変更が必要と判定する(ステップS105)。この場合、実行環境検査部203は、ジョブ実行要件に関する検査の結果として上記第2の検査結果を設定する。   If it is determined that the job execution requirement can be met by changing the existing virtual machine (step S104, Yes branch), the execution environment inspection unit 203 determines that the specification change of the existing virtual machine is necessary (step S104). S105). In this case, the execution environment inspection unit 203 sets the second inspection result as a result of the inspection regarding the job execution requirement.

要求されたジョブ実行要件が既存の仮想マシンにて対応不可な場合(ステップS102、No分岐)や既存の仮想マシンを変更しても要求されたジョブ実行要件への対応が不可な場合(ステップS104、No分岐)には、実行環境検査部203は、要求されたジョブ実行要件に適合する仮想マシンの作成が可能か否かを判定する(ステップS106)。換言するならば、実行環境検査部203は、ジョブ実行要件に適合する仮想マシンは存在せず、且つ、既存の仮想マシンの変更によってもジョブ実行要件に適合する実行要件の提供が不可能な場合に、仮想マシンの新規作成に関する要否を判定する。具体的には、実行環境検査部203は、物理マシン管理情報記憶部212を参照し、要求されたジョブ実行要件に適合する仮想マシンの作成が可能な物理マシン22が存在するか否かを判定する。   When the requested job execution requirement cannot be satisfied by the existing virtual machine (step S102, No branch), or when the requested job execution requirement cannot be satisfied by changing the existing virtual machine (step S104). (No branch), the execution environment inspection unit 203 determines whether it is possible to create a virtual machine that meets the requested job execution requirements (step S106). In other words, the execution environment checking unit 203 determines that there is no virtual machine that satisfies the job execution requirement, and that it is not possible to provide an execution requirement that satisfies the job execution requirement even by changing an existing virtual machine. Next, it is determined whether or not it is necessary to newly create a virtual machine. Specifically, the execution environment inspection unit 203 refers to the physical machine management information storage unit 212 and determines whether there is a physical machine 22 capable of creating a virtual machine that meets the requested job execution requirement. I do.

例えば、図10(b)に例示するジョブ要件は、テナントAに割り当てられた仮想マシンに「OS_C」がインストールされていないことを理由に、仮想マシンを新たなに作成する必要があると判定される。この場合、図5に示す物理マシン管理情報と、図10(b)に示すジョブ要件と、を参照すると、物理マシン22−2には「OS_C」がインストール可能であるので、当該ジョブ実行要件に適合する実行環境(仮想マシン)は物理マシン22−2に作成可能と判定される。   For example, the job requirement illustrated in FIG. 10B determines that it is necessary to newly create a virtual machine because “OS_C” is not installed in the virtual machine assigned to tenant A. You. In this case, referring to the physical machine management information shown in FIG. 5 and the job requirements shown in FIG. 10B, “OS_C” can be installed in the physical machine 22-2. It is determined that a suitable execution environment (virtual machine) can be created in the physical machine 22-2.

ジョブ実行要件を満たす仮想マシンの作成が可能な物理マシン22が存在する場合(ステップS106、Yes分岐)には、実行環境検査部203は、要求されたジョブ実行要件に適合する仮想マシンの作成は可能であると判定する(ステップS107)。この場合、実行環境検査部203は、ジョブ実行要件に関する検査の結果として上記第3の検査結果を設定する。   If there is a physical machine 22 that can create a virtual machine that satisfies the job execution requirement (step S106, Yes branch), the execution environment inspection unit 203 creates a virtual machine that satisfies the requested job execution requirement. It is determined that it is possible (step S107). In this case, the execution environment inspection unit 203 sets the third inspection result as a result of the inspection regarding the job execution requirement.

ジョブ実行要件に適合する仮想マシンの作成が可能な物理マシン22が存在しない場合(ステップS106、No分岐)には、実行環境検査部203は、要求されたジョブ実行要件に適合する仮想マシンの作成は不可能であると判定する(ステップS108)。この場合、実行環境検査部203は、ジョブ実行要件に関する検査の結果として上記第4の検査結果を設定する。   If there is no physical machine 22 capable of creating a virtual machine that meets the job execution requirement (step S106, No branch), the execution environment inspection unit 203 creates a virtual machine that meets the requested job execution requirement. Is determined to be impossible (step S108). In this case, the execution environment inspection unit 203 sets the fourth inspection result as a result of the inspection regarding the job execution requirement.

ステップS109において、実行環境検査部203は、上記第1〜第4の検査結果のいずれかと、その詳細をジョブ要件処理部202に通知する。   In step S109, the execution environment inspection unit 203 notifies the job requirement processing unit 202 of any of the first to fourth inspection results and details thereof.

具体的には、実行環境検査部203は、第1の検査結果を得た場合には、ジョブを実行する仮想マシンを特定する識別情報(仮想マシンのID)を検査結果に添えて、ジョブ要件処理部202に通知する。   Specifically, when the execution environment inspection unit 203 obtains the first inspection result, the execution environment inspection unit 203 attaches identification information (a virtual machine ID) for identifying a virtual machine that executes the job to the inspection result, and The processing unit 202 is notified.

実行環境検査部203は、第2の検査結果を得た場合には、検査結果と共に、変更を要する仮想マシンを特定する識別情報と、変更内容(例えば、追加する実行アカウント名や追加が必要なメモリ容量に関する情報)と、をジョブ要件処理部202に通知する。   When the second inspection result is obtained, the execution environment inspection unit 203, together with the inspection result, identification information for identifying the virtual machine that needs to be changed, and the content of the change (for example, the name of the execution account to be added or the need for addition) To the job requirement processing unit 202).

実行環境検査部203は、第3の検査結果を得た場合には、検査結果と共に、ジョブ実行要件に適合する仮想マシンの作成が可能な物理マシン22を特定する識別情報をジョブ要件処理部202に通知する。   When the third inspection result is obtained, the execution environment inspection unit 203 sends, along with the inspection result, identification information that specifies the physical machine 22 capable of creating a virtual machine that meets the job execution requirement to the job requirement processing unit 202. Notify.

実行環境検査部203は、第4の検査結果を得た場合には、要求されたジョブ実行要件に適合する仮想マシンが用意できない旨をジョブ要件処理部202に通知する。   When the fourth inspection result is obtained, the execution environment inspection unit 203 notifies the job requirement processing unit 202 that a virtual machine that meets the requested job execution requirement cannot be prepared.

次に、図11を参照して、第1の実施形態に係るジョブ実行システムの動作を説明する。   Next, the operation of the job execution system according to the first embodiment will be described with reference to FIG.

ステップS01において、端末10は、データセンタ20の利用者によるジョブ要件を入力し、取得したジョブ要件をジョブ管理装置21に出力する。ジョブ管理装置21のジョブ要件処理部202は、取得したジョブ要件をジョブ要件記憶部211に格納すると共に、当該ジョブ要件に含まれるジョブ実行要件と実行環境に関する検査を実行環境検査部203に依頼する。   In step S01, the terminal 10 inputs a job requirement by a user of the data center 20, and outputs the acquired job requirement to the job management device 21. The job requirement processing unit 202 of the job management apparatus 21 stores the acquired job requirements in the job requirement storage unit 211, and requests the execution environment inspection unit 203 to check the job execution requirements and the execution environment included in the job requirements. .

ステップS02において、実行環境検査部203は、ジョブ要件、物理マシン管理情報及び仮想マシン管理情報を参照し、ジョブ実行要件及び実行環境に関する検査を行う。その後、実行環境検査部203は、検査結果(上述の第1〜第4の検査結果のいずれか)をジョブ要件処理部202に通知する。   In step S02, the execution environment inspection unit 203 refers to the job requirements, the physical machine management information, and the virtual machine management information, and performs an inspection on the job execution requirements and the execution environment. After that, the execution environment inspection unit 203 notifies the job requirement processing unit 202 of the inspection result (one of the above-described first to fourth inspection results).

実行環境検査部203による検査結果を取得したジョブ要件処理部202は、各検査結果に応じた処理を行う。   The job requirement processing unit 202 that has acquired the inspection result by the execution environment inspection unit 203 performs a process according to each inspection result.

具体的には、第1の検査結果(既存の仮想マシンにて対応可能)を取得した場合には、ジョブ要件処理部202は、端末10から入力されたジョブ要件に含まれるジョブを実行する仮想マシンを特定する識別情報をジョブ実行制御部205に通知する(ステップS03)。   Specifically, when the first inspection result (which can be handled by the existing virtual machine) is obtained, the job requirement processing unit 202 executes the virtual job that executes the job included in the job requirement input from the terminal 10. The identification information specifying the machine is notified to the job execution control unit 205 (step S03).

第2の検査結果(既存の仮想マシンを変更することで対応可能)を取得した場合には、ジョブ要件処理部202は、仮想マシンの変更内容を物理マシン管理部204に通知し、仮想マシンの変更を依頼する。この場合、物理マシン管理部204は、通知された仮想マシンの変更内容に基づき、物理マシン22(より正確には、ハイパーバイザー302)に対して、既存の仮想マシンのスペック変更を指示する(ステップS04)。仮想マシンのスペック変更が終了すると、物理マシン管理部204は、その旨をジョブ要件処理部202に通知する。その後、ジョブ要件処理部202は、ジョブを実行する仮想マシンを特定する識別情報をジョブ実行制御部205に通知する。   When the second inspection result (which can be dealt with by changing an existing virtual machine) is obtained, the job requirement processing unit 202 notifies the physical machine management unit 204 of the change content of the virtual machine, and Request a change. In this case, the physical machine management unit 204 instructs the physical machine 22 (more precisely, the hypervisor 302) to change the specification of the existing virtual machine based on the notified change content of the virtual machine (step S10). S04). When the specification change of the virtual machine is completed, the physical machine management unit 204 notifies the job requirement processing unit 202 of the change. Thereafter, the job requirement processing unit 202 notifies the job execution control unit 205 of identification information for specifying the virtual machine that executes the job.

第3の検査結果(新たな仮想マシンの作成が必要)を取得した場合には、ジョブ要件処理部202は、新たに作成する仮想マシンのスペックを物理マシン管理部204に通知し、仮想マシンの作成を依頼する。この場合、物理マシン管理部204は、通知された仮想マシンのスペックに基づき、物理マシン22に対して、新たな仮想マシンの作成を指示する(ステップS05)。即ち、物理マシン管理部204は、新たに作成する仮想マシンのスペックとしてジョブ要件に含まれるジョブ実行要件を取得し、当該ジョブ実行要件を満たすインフラの作成を行う。具体的には、物理マシン管理部204は、仮想マシンを作成し、当該作成された仮想マシンにOS、アプリケーション及びミドルウェアをインストールすると共に、実行アカウントの設定を行う。   If the third inspection result (a new virtual machine needs to be created) is obtained, the job requirement processing unit 202 notifies the physical machine management unit 204 of the specifications of the newly created virtual machine, and Request creation. In this case, the physical machine management unit 204 instructs the physical machine 22 to create a new virtual machine based on the notified virtual machine specifications (Step S05). That is, the physical machine management unit 204 acquires a job execution requirement included in the job requirement as a specification of a newly created virtual machine, and creates an infrastructure that satisfies the job execution requirement. Specifically, the physical machine management unit 204 creates a virtual machine, installs an OS, an application, and middleware in the created virtual machine, and sets an execution account.

仮想マシンの作成が終了すると、物理マシン管理部204は、その旨をジョブ要件処理部202に通知する。その後、ジョブ要件処理部202は、ジョブを実行する仮想マシンを特定する識別情報をジョブ実行制御部205に通知する。   When the creation of the virtual machine is completed, the physical machine management unit 204 notifies the job requirement processing unit 202 of the completion. Thereafter, the job requirement processing unit 202 notifies the job execution control unit 205 of identification information for specifying the virtual machine that executes the job.

ステップS06において、ジョブ要件処理部202は、端末10からのジョブ要件入力に対する応答を行う。具体的には、ジョブ要件処理部202は、上記第1〜第3の検査結果を得た場合には、ジョブ要件に含まれるジョブ実行要件を満たす環境の提供が可能である旨(ジョブは実行可能である旨)を端末10に通知する。   In step S06, the job requirement processing unit 202 responds to the job requirement input from the terminal 10. Specifically, if the first to third inspection results are obtained, the job requirement processing unit 202 can provide an environment that satisfies the job execution requirements included in the job requirements (the job execution Is notified to the terminal 10.

一方、第4の検査結果(ジョブの実行要件を満たす仮想マシンの作成は不可能)を取得した場合には、ジョブ要件処理部202は、ジョブ要件に含まれるジョブ実行要件を満たす環境の提供は不可である旨(エラー)を端末10に通知する。その際、ジョブ要件処理部202は、エラーと共に、不足するリソース(メモリ容量、ディスク容量等)やソフトウェアに関する情報を端末10に通知してもよい。   On the other hand, when the fourth inspection result (a virtual machine satisfying the job execution requirement cannot be created) is acquired, the job requirement processing unit 202 provides an environment that satisfies the job execution requirement included in the job requirement. The terminal 10 is notified of the impossibility (error). At this time, the job requirement processing unit 202 may notify the terminal 10 of the information about the insufficient resources (memory capacity, disk capacity, etc.) and software, along with the error.

ジョブを実行する仮想マシンの通知を受けたジョブ実行制御部205は、ジョブ要件記憶部211を参照し、ジョブ定義情報に含まれるインストラクションを、通知された仮想マシンに設定する(ステップS11)。例えば、ジョブ実行制御部205は、仮想マシンの所定位置(所定のフォルダ)にスクリプトファイルを設定するように、仮想マシンに指示する。より詳細には、ジョブ実行制御部205は、ジョブ定義情報に記載のスクリプトファイルの実体を仮想マシンに送信し、当該スクリプトファイルを所定の場所に格納するように指示する。   Upon receiving the notification of the virtual machine that executes the job, the job execution control unit 205 refers to the job requirement storage unit 211 and sets the instructions included in the job definition information in the notified virtual machine (step S11). For example, the job execution control unit 205 instructs the virtual machine to set a script file at a predetermined position (a predetermined folder) of the virtual machine. More specifically, the job execution control unit 205 transmits the script file entity described in the job definition information to the virtual machine, and instructs the virtual machine to store the script file in a predetermined location.

あるいは、ジョブ定義情報に記載のインストラクションに関する情報が、例えば、スクリプトファイルの格納場所を示すパス情報である場合には、ジョブ実行制御部205は、当該パス情報を仮想マシンに送信し、当該パス情報に記載された場所からスクリプトファイルの実体を取得することを指示し、所定の場所に格納することを指示する。   Alternatively, when the information related to the instructions described in the job definition information is, for example, path information indicating a storage location of the script file, the job execution control unit 205 transmits the path information to the virtual machine, and transmits the path information to the virtual machine. Of the script file from the location described in (1), and instruct to store it in a predetermined location.

その後、ジョブ実行制御部205は、予め定めたタイミングや予め定めた時刻に、ジョブ要件記憶部211を参照し、スケジュール情報を確認する(ステップS12)。   Thereafter, the job execution control unit 205 refers to the job requirement storage unit 211 at a predetermined timing or a predetermined time, and checks the schedule information (step S12).

確認の結果、ジョブの実行が必要と判断した場合には、ジョブ実行制御部205は、ジョブの実行を仮想マシンに指示する(ステップS13)。   As a result of the confirmation, if it is determined that the job needs to be executed, the job execution control unit 205 instructs the virtual machine to execute the job (Step S13).

ジョブの実行に係る指示を受けた仮想マシンは、当該ジョブを実行する(ステップS14)。   The virtual machine that has received the instruction for executing the job executes the job (step S14).

その後、データセンタ20の利用者は、端末10を操作して、ジョブの実行結果を参照、取得する(ステップS15)。   Thereafter, the user of the data center 20 operates the terminal 10 to refer to and obtain the job execution result (step S15).

なお、図11に示すステップS01〜S06に係る処理は、クラウドシステムに実行させるジョブの設計を行うフェーズとインフラ作成を行う構築フェーズに相当する。また、ステップS11〜S15に係る処理は、ジョブ実行フェーズに相当する。   The processes related to steps S01 to S06 shown in FIG. 11 correspond to a phase for designing a job to be executed by the cloud system and a construction phase for creating an infrastructure. Further, the processing according to steps S11 to S15 corresponds to a job execution phase.

以上のように、第1の実施形態に係るジョブ実行システムは、ジョブ(業務処理)の実行要件を含めてジョブ管理装置21に入力し、ジョブ管理装置21によりジョブの実行環境が自動的に構築される構成(仕組み)を有するものである。即ち、ジョブ管理装置21は、端末10からのジョブ要件を入力する際(ジョブの定義を行う際)、インストラクションに関する情報だけでなく、実行要件を記述する手段を有し、インストラクションに関する情報と実行要件を関連付けて保存する。また、ジョブ管理装置21は、インストラクションに関する情報と共に入力された実行要件を満たす環境(仮想マシン)が存在するか否か、存在しない場合にはその実行要件に適合するインフラが作成可能か否かを確認、判定する手段を有する。つまり、定義されたジョブが実行可能か否かに関する判定が事前に行われる。また、ジョブ管理装置21は、ジョブの実行が可能な環境(仮想マシン、インフラ)を作成する手段を有し、当該ジョブを実行する前に当該環境を作成することができる。   As described above, the job execution system according to the first embodiment inputs the job (business process) execution requirements to the job management apparatus 21, and the job management apparatus 21 automatically constructs the job execution environment. It has a configuration (mechanism) to be performed. That is, when inputting the job requirements from the terminal 10 (when defining a job), the job management apparatus 21 has means for describing not only the information on the instructions but also the execution requirements. And save it. The job management device 21 determines whether an environment (virtual machine) that satisfies the execution requirement input together with the information on the instruction exists, and if not, determines whether an infrastructure that meets the execution requirement can be created. It has means for confirmation and determination. That is, the determination as to whether the defined job is executable is performed in advance. Further, the job management apparatus 21 has means for creating an environment (virtual machine, infrastructure) in which a job can be executed, and can create the environment before executing the job.

ジョブ管理装置21が有する上記の各手段の働きにより、インフラの事前準備や担当者間の連携が不要となり、プロジェクトの担当者(業務担当者;端末10の使用者)はジョブの設計、構築を行うことで、必要なジョブが実行される。即ち、インフラ担当者、業務担当者のように役割分担せずとも、一人の管理者が任意のタイミングで必要なインフラ(実行環境)の構築が可能となり、互いの連携や手動作業が不要となり人為的ミスが減少する。また、インフラ情報及びジョブ管理に必要な定義情報を含む情報がコード化されているため、容易に複製(マイグレーション)が可能であり、業務担当者は、検査環境にて試験を行ったシステムをそのまま実際の環境として運用することができる。   By the functions of the above-described units included in the job management apparatus 21, there is no need for advance preparation of infrastructure or cooperation between persons in charge, and the person in charge of the project (operation person; the user of the terminal 10) designs and builds a job. By doing so, the necessary job is executed. In other words, one administrator can build the necessary infrastructure (execution environment) at any time without having to share the roles like the person in charge of the infrastructure and the person in charge of the business. Mistakes are reduced. In addition, since information including infrastructure information and definition information necessary for job management is coded, copying (migration) can be easily performed. It can be operated as a real environment.

なお、第1の実施形態にて説明したジョブ実行システムの構成(図2)は例示であって、システムの構成を限定する趣旨ではない。例えば、ジョブ管理装置21の各機能が複数の装置により実現されていてもよい。例えば、図12に示すように、端末10からのジョブ要件入力を処理する装置(ジョブ管理装置21a)と、データセンタ20内の物理マシン22を管理する装置(クラウド管理装置31)と、を有するシステム構成であってもよい。この場合、ジョブ管理装置21aは、端末10からジョブ要件を入力すると、当該ジョブ要件に含まれるジョブ実行要件に適合する実行環境の提供をクラウド管理装置31に依頼する。依頼を受けたクラウド管理装置31は、ジョブ実行要件とデータセンタ20内の物理マシン22に作成された仮想マシンに関する検査を行う。クラウド管理装置31は、既存の仮想マシンにてジョブ実行要件に適合可能、又は、新たな仮想マシンの作成が必要等の検査結果に応じて、ジョブ実行環境(仮想マシン)を用意し、ジョブ管理装置21aからの依頼に応答する。ジョブ管理装置21aは、データセンタ20からジョブ実行環境の提供を受けることが可能な場合には、当該実行環境上にてジョブを実行する。このように、ジョブ管理装置21aには、第1の実施形態にて説明したジョブ要件処理部202やジョブ実行制御部205の機能を含ませ、クラウド管理装置31には、実行環境検査部203や物理マシン管理部204の機能を含ませることができる。   Note that the configuration (FIG. 2) of the job execution system described in the first embodiment is an example, and does not limit the configuration of the system. For example, each function of the job management device 21 may be realized by a plurality of devices. For example, as shown in FIG. 12, a device that processes a job requirement input from the terminal 10 (job management device 21a) and a device that manages the physical machines 22 in the data center 20 (cloud management device 31) are provided. It may be a system configuration. In this case, when the job management device 21a inputs the job requirement from the terminal 10, the job management device 21a requests the cloud management device 31 to provide an execution environment that meets the job execution requirement included in the job requirement. Upon receiving the request, the cloud management device 31 checks the job execution requirements and the virtual machines created on the physical machines 22 in the data center 20. The cloud management apparatus 31 prepares a job execution environment (virtual machine) in accordance with an inspection result such that an existing virtual machine can conform to job execution requirements, or that a new virtual machine needs to be created. Responds to a request from the device 21a. When it is possible to receive the provision of the job execution environment from the data center 20, the job management device 21a executes the job on the execution environment. As described above, the job management device 21a includes the functions of the job requirement processing unit 202 and the job execution control unit 205 described in the first embodiment, and the cloud management device 31 includes the execution environment inspection unit 203 The function of the physical machine management unit 204 can be included.

あるいは、図13に示すように、1つのジョブ管理装置21bと、複数のデータセンタ20−1〜20−m(mは正の整数、以下同じ)と、がジョブ実行システムに含まれていてもよい。即ち、ジョブ実行システムは、複数のデータセンタ20−1〜20−mによりジョブ実行環境が冗長化された構成であってもよい。この場合、ジョブ管理装置21bは、各データセンタの稼働状況等を考慮して、ジョブ実行環境提供の依頼を行うクラウド管理装置31を選択することもできる。   Alternatively, as shown in FIG. 13, even if one job management device 21b and a plurality of data centers 20-1 to 20-m (m is a positive integer, the same applies hereinafter) are included in the job execution system. Good. That is, the job execution system may have a configuration in which the job execution environment is made redundant by the plurality of data centers 20-1 to 20-m. In this case, the job management device 21b can select the cloud management device 31 that requests the provision of the job execution environment in consideration of the operation status of each data center.

第1の実施形態では、ジョブ実行制御部205がスケジュール情報に従いジョブを起動することを説明したが、ジョブの実行が完了した後に当該ジョブの実行環境(仮想マシン)を削除してもよい。具体的には、ジョブ実行制御部205は、仮想マシンにてジョブの実行が完了した後、物理マシン管理部204に当該ジョブの実行環境(仮想マシン)の削除を依頼してもよい。即ち、クラウド環境下でのオートスケーリングを実現することができる。ジョブは週末や月末等の期間の区切りにて実行されることが多く、これらのタイミングでは物理マシンの負荷が増加する。そこで、対象となる業務処理(ジョブ)を行うためのインスタンス(ジョブ実行要件)を事前に定義しておき、当該ジョブの実行が必要となったタイミングにて新たな仮想マシンを作成し起動する(ジョブの実行完了後には仮想マシンを削除する)。その結果、ジョブの実行環境を提供する物理マシンのリソースを効率的に利用することができる。なお、通常行われるオートスケーリングの場合、必要となるインスタンスの作成は行えるが、ジョブの管理とは連動しておらず、インスタンスとジョブ(アプリケーション)の依存関係を定義することはできない。   In the first embodiment, the job execution control unit 205 starts the job according to the schedule information. However, the job execution environment (virtual machine) may be deleted after the job execution is completed. Specifically, after the execution of the job in the virtual machine is completed, the job execution control unit 205 may request the physical machine management unit 204 to delete the execution environment (virtual machine) of the job. That is, auto scaling in a cloud environment can be realized. Jobs are often executed at intervals of periods such as weekends and month ends, and at these timings, the load on the physical machine increases. Therefore, an instance (job execution requirement) for performing the target business process (job) is defined in advance, and a new virtual machine is created and started at the timing when the job needs to be executed ( Delete the virtual machine after the job execution is completed.) As a result, the resources of the physical machine that provides the job execution environment can be used efficiently. In the case of the normal auto-scaling, necessary instances can be created, but they are not linked to job management, and it is not possible to define a dependency between an instance and a job (application).

第1の実施形態では、ジョブ実行要件にはアプリケーションやミドルウェアが含まれる場合を説明したが、これらのソフトウェアが不要なジョブも存在する。また、第1の実施形態では、ソフトウェアの種別(名称)がジョブ実行要件に含まれる場合を説明したが、ソフトウェアのバージョンやライセンス等に関する情報がジョブ実行要件に含まれ、物理マシン管理情報や仮想マシン管理情報にてこれらの情報(バージョン、ライセンス等の情報)が管理されていてもよい。つまり、実行環境に要求されるバージョンと、実行環境により提供可能なバージョンと、を考慮して、実行環境の提供可否が判断されてもよい。あるいは、仮想マシンに割り当て可能なライセンスが不足する場合には、当該仮想マシンにてジョブは実行不可能等の判断が行われてもよい。   In the first embodiment, a case has been described in which the job execution requirements include an application and middleware. However, there are jobs that do not require such software. In the first embodiment, the case where the type (name) of the software is included in the job execution requirement has been described. However, information on the software version and the license is included in the job execution requirement, and the physical machine management information and the virtual machine These pieces of information (information such as version and license) may be managed by the machine management information. That is, whether or not the execution environment can be provided may be determined in consideration of the version required for the execution environment and the version that can be provided by the execution environment. Alternatively, if there are not enough licenses that can be allocated to the virtual machine, it may be determined that the virtual machine cannot execute the job.

第1の実施形態に係るジョブ管理装置21に含まれるジョブ要件処理部202、実行環境検査部203、物理マシン管理部204及びジョブ実行制御部205等の各部は、ジョブ管理装置21に搭載されたコンピュータに、そのハードウェアを用いて、各処理を実行させるコンピュータプログラムにより実現することもできる。つまり、実行環境検査部203等が行う機能を何らかのハードウェア、及び/又は、ソフトウェアで実行する手段があればよい。   Each unit such as a job requirement processing unit 202, an execution environment inspection unit 203, a physical machine management unit 204, and a job execution control unit 205 included in the job management device 21 according to the first embodiment is mounted on the job management device 21. The present invention can also be realized by a computer program that causes a computer to execute each process using the hardware. In other words, any means may be used for executing the function performed by the execution environment inspection unit 203 or the like with some kind of hardware and / or software.

第1の実施形態では、1つのジョブがジョブ要件により定義される場合を説明したが、ジョブネットワークに関する詳細がジョブ要件により定義されてもよい。この場合、1つのジョブ要件に複数のジョブに対応したジョブ実行要件と、複数のジョブの実行順序に関する情報と、が含まれることになる。そのような場合には、ジョブ管理装置21は、ジョブ要件に含まれる個別のジョブ実行要件について、第1の実施形態にて説明した検査及び環境の構築を行えばよい。さらに、ジョブ管理装置21は、それぞれのジョブに対応する実行環境(仮想マシン)が用意された後に、ジョブ要件に含まれるジョブの実行順序に関する情報に従い、各ジョブを実行(ジョブネットワークの実行制御を行う)すればよい。   In the first embodiment, the case where one job is defined by the job requirement has been described, but details regarding the job network may be defined by the job requirement. In this case, one job requirement includes job execution requirements corresponding to a plurality of jobs and information on the execution order of the plurality of jobs. In such a case, the job management device 21 may perform the inspection and the construction of the environment described in the first embodiment for the individual job execution requirements included in the job requirements. Further, after the execution environment (virtual machine) corresponding to each job is prepared, the job management apparatus 21 executes each job (executes the execution control of the job network according to the information on the execution order of the jobs included in the job requirements). Do).

さらに、コンピュータの記憶部に、上述したコンピュータプログラムをインストールすることにより、コンピュータをジョブ管理装置として機能させることができる。さらにまた、上述したコンピュータプログラムをコンピュータに実行させることにより、コンピュータによりジョブ管理方法を実行することができる。また、そのプログラムは、ネットワークを介してダウンロードするか、或いは、プログラムを記憶した記憶媒体を用いて、更新することができる。   Further, by installing the above-described computer program in the storage unit of the computer, the computer can function as a job management device. Furthermore, by causing the computer to execute the above-described computer program, the job management method can be executed by the computer. Also, the program can be downloaded via a network or updated using a storage medium storing the program.

また、上述の説明で用いた複数のフローチャートでは、複数の工程(処理)が順番に記載されているが、実施形態で実行される工程の実行順序は、その記載の順番に制限されない。実施形態では、例えば各処理を並行して実行する等、図示される工程の順番を内容的に支障のない範囲で変更することができる。   Further, in the plurality of flowcharts used in the above description, a plurality of steps (processes) are described in order, but the execution order of the steps executed in the embodiment is not limited to the described order. In the embodiment, the order of the illustrated steps can be changed within a range that does not hinder the contents, such as executing each processing in parallel.

上記の実施形態の一部又は全部は、以下の付記のようにも記載され得るが、以下には限られない。
[付記1]
上述の第1の視点に係るジョブ管理方法のとおりである。
[付記2]
前記実行環境を作成するステップは、仮想マシンを前記実行環境として前記クラウドシステムに作成する、付記1のジョブ管理方法。
[付記3]
前記実行要件と前記実行環境に関する検査を、前記実行環境の作成に先立ち行う検査ステップをさらに含む、付記2のジョブ管理方法。
[付記4]
前記検査ステップは、
前記クラウドシステムに既に作成された既存の仮想マシンのスペックが、前記実行要件を包含し、且つ、前記実行処理が前記既存の仮想マシンにて実行される他の処理と共存可能な場合に、前記既存の仮想マシンは前記実行要件に適合する実行環境であると判定する、付記3のジョブ管理方法。
[付記5]
前記検査ステップは、
前記既存の仮想マシンのスペックと前記実行要件の間の相違点が、予め定めた相違点である場合に、前記既存の仮想マシンのスペックを変更することにより前記実行要件に適合する実行環境の提供が可能と判定し、
前記既存の仮想マシンのスペックを、前記実行要件に適合するように変更するステップをさらに含む、付記3又は4のジョブ管理方法。
[付記6]
前記検査ステップは、
前記実行要件に適合する仮想マシンが存在せず、且つ、前記既存の仮想マシンの変更によっても前記実行要件に適合する実行要件の提供が不可能な場合には、新たな仮想マシンの作成が必要と判定し、
前記実行環境を作成するステップは、
前記実行要件に適合する新たな仮想マシンを前記クラウドシステムに作成する、付記5のジョブ管理方法。
[付記7]
前記実行処理の実行に先立ち、前記インストラクションを前記実行環境となる仮想マシンに設定するステップをさらに含む、付記2乃至6のいずれか一に記載のジョブ管理方法。
[付記8]
前記実行処理の実行が完了した後に、前記実行処理が実行された実行環境を削除するステップをさらに含む、付記1乃至7のいずれか一に記載のジョブ管理方法。
[付記9]
上述の第2の視点に係るジョブ管理装置のとおりである。
[付記10]
上述の第3の視点に係るプログラムのとおりである。
なお、付記9の形態及び付記10の形態は、付記1の形態と同様に、付記2の形態〜付記8の形態に展開することが可能である。
Some or all of the above embodiments may be described as in the following supplementary notes, but are not limited thereto.
[Appendix 1]
This is the same as the job management method according to the first aspect described above.
[Appendix 2]
The job management method according to claim 1, wherein the step of creating the execution environment creates a virtual machine as the execution environment in the cloud system.
[Appendix 3]
The job management method according to claim 2, further comprising a checking step of performing the check on the execution requirement and the execution environment prior to the creation of the execution environment.
[Appendix 4]
The inspection step includes:
If the specifications of the existing virtual machine already created in the cloud system include the execution requirements and the execution process can coexist with other processes executed in the existing virtual machine, The job management method according to claim 3, wherein the existing virtual machine is determined to have an execution environment that meets the execution requirements.
[Appendix 5]
The inspection step includes:
When the difference between the specification of the existing virtual machine and the execution requirement is a predetermined difference, providing an execution environment that meets the execution requirement by changing the specification of the existing virtual machine. Is determined to be possible,
The job management method according to attachment 3 or 4, further comprising a step of changing a specification of the existing virtual machine so as to conform to the execution requirement.
[Appendix 6]
The inspection step includes:
If there is no virtual machine that satisfies the execution requirement, and it is not possible to provide an execution requirement that satisfies the execution requirement even by changing the existing virtual machine, a new virtual machine needs to be created. Is determined,
The step of creating the execution environment includes:
The job management method according to Appendix 5, wherein a new virtual machine that meets the execution requirement is created in the cloud system.
[Appendix 7]
7. The job management method according to claim 2, further comprising, before executing the execution process, setting the instruction in a virtual machine serving as the execution environment.
[Appendix 8]
8. The job management method according to claim 1, further comprising, after the execution of the execution process is completed, deleting the execution environment in which the execution process is executed.
[Appendix 9]
This is the same as the job management device according to the second aspect described above.
[Appendix 10]
This is as in the program according to the third aspect described above.
In addition, the form of Supplementary Note 9 and the form of Supplementary Note 10 can be expanded to the form of Supplementary Note 2 to the form of Supplementary Note 8 similarly to the form of Supplementary Note 1.

なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。   The disclosures of the above cited patent documents and the like are incorporated herein by reference. Modifications and adjustments of the embodiments or examples are possible within the framework of the entire disclosure (including the claims) of the present invention and based on the basic technical concept thereof. In addition, various combinations or selections of various disclosed elements (including each element of each claim, each element of each embodiment or example, each element of each drawing, etc.) within the frame of the entire disclosure of the present invention. Is possible. That is, the present invention naturally includes various variations and modifications that can be made by those skilled in the art according to the entire disclosure including the claims and the technical idea. In particular, with respect to the numerical ranges described herein, any numerical values or small ranges included in the ranges should be construed as being specifically described even if not otherwise specified.

10 端末
20、20−1〜20−m データセンタ
21、21a、21b ジョブ管理装置
22、22−1〜22−n 物理マシン
31 クラウド管理装置
201 通信制御部
202 ジョブ要件処理部
203 実行環境検査部
204 物理マシン管理部
205 ジョブ実行制御部
211 ジョブ要件記憶部
212 物理マシン管理情報記憶部
213 仮想マシン管理情報記憶部
301 ハードウェアリソース
302 ハイパーバイザー
311 仮想ハードウェア
312 ゲストOS
313 アプリケーション
314 ミドルウェア
10 Terminal 20, 20-1 to 20-m Data Center 21, 21a, 21b Job Management Device 22, 22-1 to 22-n Physical Machine 31 Cloud Management Device 201 Communication Control Unit 202 Job Requirement Processing Unit 203 Execution Environment Inspection Unit 204 Physical machine management unit 205 Job execution control unit 211 Job requirement storage unit 212 Physical machine management information storage unit 213 Virtual machine management information storage unit 301 Hardware resource 302 Hypervisor 311 Virtual hardware 312 Guest OS
313 Application 314 Middleware

Claims (10)

業務の実行処理を規定するインストラクションに関する情報と、前記実行処理を実行するためのゲストOS、アプリケーション、ミドルウェア、アカウント情報の要件を含む実行要件と、を入力するステップと、
クラウドシステムに前記実行要件に適合する実行環境が存在しなければ、前記クラウドシステムに前記実行要件に適合する実行環境を作成するステップと、
前記実行処理を、前記実行要件に適合する実行環境にて実行するステップと、
を含むジョブ管理方法。
Inputting information related to an instruction that defines the execution process of the business, and execution requirements including requirements for a guest OS, an application, middleware, and account information for executing the execution process;
If an execution environment that meets the execution requirements does not exist in the cloud system, creating an execution environment that meets the execution requirements in the cloud system;
Executing the execution process in an execution environment that meets the execution requirements;
Job management methods including:
前記実行環境を作成するステップは、仮想マシンを前記実行環境として前記クラウドシステムに作成する、請求項1のジョブ管理方法。   The job management method according to claim 1, wherein the step of creating the execution environment creates a virtual machine as the execution environment in the cloud system. 前記実行要件と前記実行環境に関する検査を、前記実行環境の作成に先立ち行う検査ステップをさらに含む、請求項2のジョブ管理方法。   3. The job management method according to claim 2, further comprising a checking step of checking the execution requirements and the execution environment prior to creating the execution environment. 前記検査ステップは、
前記クラウドシステムに既に作成された既存の仮想マシンのスペックが、前記実行要件を包含し、且つ、前記実行処理が前記既存の仮想マシンにて実行される他の処理と共存可能な場合に、前記既存の仮想マシンは前記実行要件に適合する実行環境であると判定する、請求項3のジョブ管理方法。
The inspection step includes:
If the specifications of the existing virtual machine already created in the cloud system include the execution requirements and the execution process can coexist with other processes executed in the existing virtual machine, 4. The job management method according to claim 3, wherein it is determined that the existing virtual machine has an execution environment that meets the execution requirements.
前記検査ステップは、
前記既存の仮想マシンのスペックと前記実行要件の間の相違点が、予め定めた相違点である場合に、前記既存の仮想マシンのスペックを変更することにより前記実行要件に適合する実行環境の提供が可能と判定し、
前記既存の仮想マシンのスペックを、前記実行要件に適合するように変更するステップをさらに含む、請求項4のジョブ管理方法。
The inspection step includes:
When the difference between the specification of the existing virtual machine and the execution requirement is a predetermined difference, providing an execution environment that meets the execution requirement by changing the specification of the existing virtual machine. Is determined to be possible,
5. The job management method according to claim 4, further comprising: changing a specification of the existing virtual machine so as to conform to the execution requirement.
前記検査ステップは、
前記実行要件に適合する仮想マシンが存在せず、且つ、前記既存の仮想マシンの変更によっても前記実行要件に適合する実行要件の提供が不可能な場合には、新たな仮想マシンの作成が必要と判定し、
前記実行環境を作成するステップは、
前記実行要件に適合する新たな仮想マシンを前記クラウドシステムに作成する、請求項5のジョブ管理方法。
The inspection step includes:
If there is no virtual machine that satisfies the execution requirement, and it is not possible to provide an execution requirement that satisfies the execution requirement even by changing the existing virtual machine, a new virtual machine needs to be created. Is determined,
The step of creating the execution environment includes:
The job management method according to claim 5, wherein a new virtual machine that meets the execution requirement is created in the cloud system.
前記実行処理の実行に先立ち、前記インストラクションを前記実行環境となる仮想マシンに設定するステップをさらに含む、請求項2乃至6のいずれか一項に記載のジョブ管理方法。   7. The job management method according to claim 2, further comprising, before executing the execution processing, setting the instruction in a virtual machine serving as the execution environment. 8. 前記実行処理の実行が完了した後に、前記実行処理が実行された実行環境を削除するステップをさらに含む、請求項1乃至7のいずれか一項に記載のジョブ管理方法。The job management method according to any one of claims 1 to 7, further comprising, after the execution of the execution process is completed, deleting an execution environment in which the execution process is executed. 業務の実行処理を規定するインストラクションに関する情報と、前記実行処理を実行するためのゲストOS、アプリケーション、ミドルウェア、アカウント情報の要件を含む実行要件と、を入力する入力部と、
クラウドシステムに前記実行要件に適合する実行環境が存在しなければ、前記クラウドシステムに前記実行要件に適合する実行環境を作成する実行環境管理部と
前記実行処理を、前記実行要件に適合する実行環境にて実行する実行部と、
を備える、ジョブ管理装置。
An input unit for inputting information related to an instruction that defines an execution process of a business, and an execution requirement including requirements of a guest OS, an application, middleware, and account information for executing the execution process;
If there is no execution environment that meets the execution requirements in the cloud system, an execution environment management unit that creates an execution environment that meets the execution requirements in the cloud system ,
An execution unit that executes the execution process in an execution environment that meets the execution requirements;
A job management device comprising:
業務の実行処理を規定するインストラクションに関する情報と、前記実行処理を実行するためのゲストOS、アプリケーション、ミドルウェア、アカウント情報の要件を含む実行要件と、を入力する処理と、
クラウドシステムに前記実行要件に適合する実行環境が存在しなければ、前記クラウドシステムに前記実行要件に適合する実行環境を作成する処理と、
前記実行処理を、前記実行要件に適合する実行環境にて実行する処理と、
をジョブ管理装置に搭載されたコンピュータに実行させる、プログラム。
A process of inputting information related to an instruction that defines a process of executing a business, and an execution requirement including a requirement of a guest OS, an application, middleware, and account information for executing the execution process;
If there is no execution environment that meets the execution requirements in the cloud system, a process of creating an execution environment that meets the execution requirements in the cloud system;
A process of executing the execution process in an execution environment that meets the execution requirement;
That causes a computer mounted on a job management device to execute the program.
JP2015191931A 2015-09-29 2015-09-29 Job management method, job management device, and program Active JP6668658B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015191931A JP6668658B2 (en) 2015-09-29 2015-09-29 Job management method, job management device, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015191931A JP6668658B2 (en) 2015-09-29 2015-09-29 Job management method, job management device, and program

Publications (2)

Publication Number Publication Date
JP2017068480A JP2017068480A (en) 2017-04-06
JP6668658B2 true JP6668658B2 (en) 2020-03-18

Family

ID=58494966

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015191931A Active JP6668658B2 (en) 2015-09-29 2015-09-29 Job management method, job management device, and program

Country Status (1)

Country Link
JP (1) JP6668658B2 (en)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10387198B2 (en) 2016-08-11 2019-08-20 Rescale, Inc. Integrated multi-provider compute platform
JP6858114B2 (en) * 2017-12-28 2021-04-14 株式会社日立ソリューションズ Job management system and job management device
US11249803B2 (en) * 2019-03-11 2022-02-15 Nec Corporation Usecase specification and runtime execution
JP2023083728A (en) * 2021-12-06 2023-06-16 444株式会社 System and method

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014038364A (en) * 2010-10-27 2014-02-27 Hitachi Ltd Resource management server, resource management method and resource management program
JP2014115905A (en) * 2012-12-11 2014-06-26 Canon Marketing Japan Inc Information processing apparatus, information processing method, and program

Also Published As

Publication number Publication date
JP2017068480A (en) 2017-04-06

Similar Documents

Publication Publication Date Title
US11593149B2 (en) Unified resource management for containers and virtual machines
JP6819296B2 (en) Virtualization management / orchestration equipment, virtualization management / orchestration method, and programs
CN110402431B (en) Event driven scheduling using directed acyclic graphs
US11722385B2 (en) Scalable, standardized I.T. deployment platform
US10873623B2 (en) Dynamically modifying a cluster of computing nodes used for distributed execution of a program
CN106537338B (en) Self-expanding clouds
JP6658882B2 (en) Control device, VNF placement destination selection method and program
US8321558B1 (en) Dynamically monitoring and modifying distributed execution of programs
JP6729400B2 (en) Data file registration management system, method, management device and program
US20150039770A1 (en) Apparatus, systems and methods for deployment and management of distributed computing systems and applications
EP3158441A1 (en) System and method for partition migration in a multitenant application server environment
JP6668658B2 (en) Job management method, job management device, and program
SG189385A1 (en) High availability of machines during patching
US20140096136A1 (en) Creating a Virtual Machine and Cloud Server
US9959157B1 (en) Computing instance migration
JP7056759B2 (en) ICT resource management device, ICT resource management method, and ICT resource management program
US20140156851A1 (en) Server facility, method for providing copying service for system of server facility, and copying program for system of sever facility
US11048577B2 (en) Automatic correcting of computing cluster execution failure
Caballer et al. A platform to deploy customized scientific virtual infrastructures on the cloud
JP6393612B2 (en) System backup device and backup method
WO2016121879A1 (en) Virtualization control apparatus, arrangement destination selecting method and program
JP2011170679A (en) Virtual computer system and resource distribution control method of the same
JP7439928B2 (en) Management device, management method, management program, and management system
US10572412B1 (en) Interruptible computing instance prioritization
KR102524540B1 (en) Apparatus and method for multi-cloud service platform

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180803

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190528

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190725

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191105

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200210

R150 Certificate of patent or registration of utility model

Ref document number: 6668658

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150