JP6668658B2 - Job management method, job management device, and program - Google Patents
Job management method, job management device, and program Download PDFInfo
- 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
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,
なお、上記先行技術文献の各開示を、本書に引用をもって繰り込むものとする。以下の分析は、本発明者らによってなされたものである。 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.
初めに、一実施形態の概要について説明する。なお、この概要に付記した図面参照符号は、理解を助けるための一例として各要素に便宜上付記したものであり、この概要の記載はなんらの限定を意図するものではない。 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
データセンタ20には、ジョブ管理装置21と、複数の物理マシン22−1〜22−n(nは正の整数、以下同じ)と、が含まれる。なお、物理マシン22−1〜22−nを区別する特段の理由がない場合には、単に「物理マシン22」と表記する。
The
データセンタ20に設置された複数の物理マシン22は、クラウドシステムにおけるサービス提供インフラを構成する情報処理装置(コンピュータ)である。クラウドシステムには、データセンタ20の利用者(テナント)ごとに区分して仮想マシンが作成される。
The plurality of
ジョブ管理装置21は、物理マシン22の制御、管理を行う装置である。具体的には、ジョブ管理装置21は、物理マシン22の仕様(例えば、ハードウェアスペック、利用可能なソフトウェア等)や動作状態に関する管理する。また、ジョブ管理装置21は、クラウドシステムをなす物理マシン22に仮想マシンを作成し、データセンタ20の利用者にジョブの実行環境(仮想マシン)を提供する。
The
端末10は、データセンタ20の利用者が使用する端末である。例えば、データセンタ20の利用者は、端末10を操作して、勤務管理等の業務処理を物理マシン22に作成された仮想マシンに実行させるための要件(以下、ジョブ要件と表記する)をジョブ管理装置21に入力する。
The terminal 10 is a terminal used by a user of the
図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
ジョブ実行要件は、ジョブ定義情報により規定されたジョブを実行するための要件に関する情報を含む。例えば、ジョブ実行要件は、ジョブを実行する仮想マシンに要求するスペック(メモリ容量、ディスク容量等)、ジョブを実行する際に必要なソフトウェア(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
データセンタ20の利用者(テナント)は、端末10を操作して、仮想マシンにより実行されたジョブの実行結果を参照する(又は、取得する)。
The user (tenant) of the
図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
通信制御部201は、他の装置(端末10、物理マシン22等)との間の通信を制御する手段である。通信制御部201は、他の装置からメッセージを受信すると、当該メッセージをジョブ管理装置21内の各部に振り分ける。あるいは、ジョブ管理装置21内の各部からメッセージ送信の指示を受けると、他の装置に向けて当該メッセージを転送する。通信制御部201は、端末10からジョブ要件を入力すると、当該入力されたジョブ要件をジョブ要件記憶部211に格納すると共に、ジョブ要件処理部202にジョブ要件を取得した旨を通知する。
The
ジョブ要件処理部202は、端末10から取得したジョブ要件を処理する手段である。具体的には、ジョブ要件処理部202は、ジョブ要件を取得すると、実行環境検査部203に対し、ジョブ要件に記載されたジョブ実行要件と実行環境(仮想マシン)に関する検査を依頼する。ジョブ要件処理部202は、実行環境検査部203による検査が終了すると、実行環境検査部203から通知される検査結果に応じた処理を行う。
The job
より詳細には、ジョブ要件処理部202は、実行環境検査部203から「ジョブは既存の仮想マシンにて実行可能」という第1の検査結果を取得した場合には、ジョブ実行制御部205に対し、ジョブ要件を特定する情報と、当該ジョブ要件に対応するジョブを実行する仮想マシンを特定する情報と、を通知する。
More specifically, if the job
また、ジョブ要件処理部202は、実行環境検査部203から「ジョブは既存の仮想マシンのスペック変更により実行可能」という第2の検査結果を取得した場合には、物理マシン管理部204に対し、仮想マシンのスペック変更(構成変更、再構成)を依頼する。その際、ジョブ要件処理部202は、仮想マシンのスペック変更に関する情報を物理マシン管理部204に提供する。
Further, when the job
さらに、ジョブ要件処理部202は、実行環境検査部203から「ジョブの実行には仮想マシンの新規作成が必要」という第3の検査結果を取得した場合には、物理マシン管理部204に対し、仮想マシンの新規作成を依頼する。その際、ジョブ要件処理部202は、新たに作成する仮想マシンに関する情報を物理マシン管理部204に提供する。
Further, when the job
ジョブ要件処理部202は、物理マシン管理部204による仮想マシンの変更や新たな仮想マシンの作成が終了すると、ジョブ実行制御部205に対し、ジョブ要件を特定する情報と、当該ジョブ要件に対応するジョブを実行する仮想マシンを特定する情報と、を通知する。
When the change of the virtual machine or the creation of the new virtual machine by the physical
また、ジョブ要件処理部202は、実行環境検査部203から上記第1〜第3の検査結果を取得した場合には、通信制御部201を介して、ジョブの実行環境が提供可能である旨を端末10に通知する。
In addition, when the job
さらに、ジョブ要件処理部202は、実行環境検査部203から、「ジョブの実行は不可能」という第4の検査結果を取得した場合には、その旨を、通信制御部201を介して端末10に通知する。
Further, when the job
上述のように、実行環境検査部203は、ジョブ要件処理部202からの依頼(指示)に基づき、ジョブ要件に含まれるジョブ実行要件とその実行環境(仮想マシン)に関する検査を行う。より具体的には、ジョブ要件と、物理マシン管理情報記憶部212に格納された物理マシン管理情報と、仮想マシン管理情報記憶部213に格納された仮想マシン管理情報と、に基づき、上記第1〜第4の検査結果に対応する検査を行い、その結果をジョブ要件処理部202に通知する。なお、実行環境検査部203の動作に関するより詳細な説明は後述する。
As described above, based on the request (instruction) from the job
物理マシン管理部204は、データセンタ20内の物理マシン22を制御し、管理する手段である(ジョブの実行環境である仮想マシンを管理する手段である)。具体的には、物理マシン管理部204は、クラウドシステムにジョブ実行要件に適合する仮想マシンが存在しなければ、物理マシン22に当該ジョブ実行要件に適合する仮想マシンを、クラウドシステムのテナントごとに区分して作成する。より詳細には、物理マシン管理部204は、ジョブ要件処理部202からの依頼に基づき、既存の仮想マシンのスペックを変更する、又は、物理マシン22に新たな仮想マシンを作成する。なお、物理マシン管理部204による仮想マシンの変更や新規作成は、実行環境検査部203による検査の後に行われる(実行要件と実行環境に関する検査が先に行われる)。さらに、物理マシン管理部204は、物理マシン管理情報や仮想マシン管理情報に変更が生じた場合には、これらの情報を記憶する記憶部(物理マシン管理情報記憶部212、仮想マシン管理情報記憶部213)の内容を更新する。
The physical
ジョブ実行制御部205は、ジョブ要件に含まれるジョブを、ジョブ要件に含まれるジョブ実行要件に適合する実行環境(仮想マシン)にて実行する手段である。具体的には、ジョブ実行制御部205は、ジョブ要件に記載されたジョブ(ジョブプロセス)の起動や停止に関する制御(ジョブ実行制御)を行う。さらに、ジョブ実行制御部205は、ジョブ要件のジョブを実行する仮想マシンに、ジョブ定義情報に含まれるインストラクションを設定する。例えば、ジョブ実行制御部205は、ジョブの実行に必要なスクリプトファイルを仮想マシンに配布し、ジョブ実行可能状態とする。仮想マシンへのインストラクションの設定が終了すると、ジョブ実行制御部205は、ジョブ定義情報に記載されたスケジュール情報に従い、ジョブの実行をインストラクションが設定された仮想マシンに指示する。
The job
ジョブ要件記憶部211、物理マシン管理情報記憶部212及び仮想マシン管理情報記憶部213の各記憶部は、HDD(Hard Disk Drive)等の記憶媒体を含んで構成される。
Each storage unit of the job
ジョブ要件記憶部211は、端末10から取得したジョブ要件を記憶する。
The job
物理マシン管理情報記憶部212は、物理マシン管理情報を一元管理し、当該情報を記憶する。図5は、物理マシン管理情報の一例を示す図である。図5を参照すると、物理マシン管理情報として、各物理マシン22が有するハードウェアスペック(例えば、利用可能なメモリ容量、ディスク容量)やソフトウェア(利用可能なOS、利用可能なアプリケーション、利用可能なミドルウェア(MW;MiddleWare))等に関する情報が、登録されている。
The physical machine management
仮想マシン管理情報記憶部213は、仮想マシン管理情報を一元管理し、当該情報を記憶する。図6は、仮想マシン管理情報の一例を示す図である。図6を参照すると、仮想マシン管理情報として、テナントごとに、各テナントに割り当てられた仮想マシンと、当該仮想マシンが作成されている物理マシンと、仮想マシンのスペックと、仮想マシンにインストールされたソフトウェア(例えば、ゲストOS、実行可能なアプリケーション)と、当該ソフトウェアの実行アカウントに関する情報と、が登録されている。つまり、仮想マシン管理情報により、物理マシン22に作成された仮想マシンのスペック(ハードウェアに関するスペック、ソフトウェアに関するスペック)が管理される。なお、本願開示において、ソフトウェアを実行する実行アカウントは、ソフトウェアに関するスペックに含まれるものとする。
The virtual machine management
図7は、物理マシン22の内部構成の一例を示す図である。図7を参照すると、物理マシン22は、ハードウェアリソース301と、ハイパーバイザー302と、を含んで構成される。
FIG. 7 is a diagram illustrating an example of the internal configuration of the
物理マシン22が有するハードウェアリソース301には、CPU(Central Processing Unit)、DRAM(Dynamic Random Access Memory)等のメモリ、HDD(Hard Disk Drive)等の記憶媒体、NIC(Network Interface Card)等の通信インターフェイス等が含まれる。
The
ハイパーバイザー302は、物理マシン22における仮想化環境を構築し、管理する手段である。即ち、ハイパーバイザー302により仮想マシンの作成、変更が制御される。ハイパーバイザー302が作成する仮想マシンには、ハードウェアリソース301を仮想化した仮想ハードウェア311が割り当てられる。この仮想ハードウェア311には、仮想NICが含まれ、仮想マシンと他の装置との通信は、仮想NICを介して行われる。仮想マシン上では、ゲストOS312が動作し、当該ゲストOS312上でアプリケーション313やミドルウェア314が動作する。
The
次に、実行環境検査部203を中心に第1の実施形態に係るジョブ管理装置21の動作について説明する。
Next, an operation of the
図8は、第1の実施形態に係る実行環境検査部203の動作の一例を示すフローチャートである。
FIG. 8 is a flowchart illustrating an example of the operation of the execution
ステップS101において、実行環境検査部203は、端末10から取得したジョブ実行要件に適合する仮想マシンが既に存在するか否かを判定する。具体的には、実行環境検査部203は、物理マシン22に既に構築された既存の仮想マシンのスペック(ハードウェアスペック、ソフトウェアスペック)が、ジョブ実行要件を包含しているか否かにより、上記判定を行う。ジョブ実行要件に適合する仮想マシンが既に存在する場合(ステップS101、Yes分岐)には、実行環境検査部203は、ステップS102以降の処理を実行する。ジョブ実行要件の要素と、対応する仮想マシン管理情報の要素と、が少なくとも1つ以上相違する場合(既存の仮想マシンのスペックがジョブ要件に含まれるジョブ実行要件を包含しない場合)には、実行環境検査部203は、ジョブ実行要件に適合する仮想マシンは存在しないと判定(ステップS101、No分岐)し、ステップS104以降の処理を実行する。
In step S101, the execution
例えば、実行環境検査部203は、図9に示すようなジョブ要件を取得したものとする。この場合、実行環境検査部203は、仮想マシン管理情報記憶部213を参照し、テナントAに割り当てられた仮想マシンであって、図9に示すジョブ実行要件に適合する仮想マシンが存在するか否かを判定する。
For example, it is assumed that the execution
図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
一方、実行環境検査部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
ステップS102において、実行環境検査部203は、ジョブ要件に記載されたジョブ(スクリプトファイル)が、ステップS101にて選択された仮想マシン(既存の仮想マシン)にて実行可能か否かを判定する。具体的には、実行環境検査部203は、ジョブ(スクリプトファイルにより規定される実行処理)が既存の仮想マシンにて実行される他の処理と共存可能か否かにより、上記判定を行う。
In step S102, the execution
なお、実行環境検査部203が実行するステップS102の判定には、種々の技術を用いることができる。例えば、実行環境検査部203は、ジョブ要件に記載されたスケジュール情報と、既存の仮想マシンにて実行されるジョブのスケジュール情報と、を比較し、ジョブの実行可否を判定してもよい。ジョブ要件に記載されたジョブの実行タイミングと、既存の仮想マシンにて実行されるジョブの実行タイミングと、が異なる場合(例えば、各ジョブを実行する曜日が異なる場合)には、実行環境検査部203は、2つのジョブは同一の仮想マシンにて実行可能と判定する。
Note that various techniques can be used for the determination in step S102 executed by the execution
あるいは、特許文献2に開示されるように、これから実行しようとするジョブ(ジョブ要件に記載されたジョブ;実行対象のジョブ)の入力データ量と、既に実行されたジョブ(ステップS101にて選択された仮想マシンにて実行されたジョブ)の入力データ量とリソース使用量との関係を用いて、実行対象のジョブが既存の仮想マシンにて実行可能か否かを判定してもよい。
Alternatively, as disclosed in
ジョブが既存の仮想マシンにて実行可能な場合(ステップS102、Yes分岐)には、実行環境検査部203は、要求されたジョブの実行は既存の仮想マシンにより対応可能であると判定する(ステップS103)。即ち、既存の仮想マシンは、ジョブ実行要件に適合する実行環境であると判定される。この場合、実行環境検査部203は、ジョブ実行要件に関する検査の結果に上記第1の検査結果を設定する。
If the job can be executed in the existing virtual machine (step S102, Yes branch), the execution
ステップS104において、実行環境検査部203は、既存の仮想マシンにスペック変更を加えることで、要求されたジョブ実行要件に対応可能か否かを判定する。具体的には、実行環境検査部203は、既存の仮想マシンのスペックとジョブ実行要件の間の相違点が、予め定めた相違点であるか否かにより、上記判定を行う。
In step S104, the execution
例えば、図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
なお、いずれかの要素が一致するときに既存の仮想マシンに対する変更により、要求されたジョブ実行要件が対応可能か否かの基準は、各要素の性質や特等に応じて予め定めておくものとする。 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
要求されたジョブ実行要件が既存の仮想マシンにて対応不可な場合(ステップ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
例えば、図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
ジョブ実行要件に適合する仮想マシンの作成が可能な物理マシン22が存在しない場合(ステップS106、No分岐)には、実行環境検査部203は、要求されたジョブ実行要件に適合する仮想マシンの作成は不可能であると判定する(ステップS108)。この場合、実行環境検査部203は、ジョブ実行要件に関する検査の結果として上記第4の検査結果を設定する。
If there is no
ステップS109において、実行環境検査部203は、上記第1〜第4の検査結果のいずれかと、その詳細をジョブ要件処理部202に通知する。
In step S109, the execution
具体的には、実行環境検査部203は、第1の検査結果を得た場合には、ジョブを実行する仮想マシンを特定する識別情報(仮想マシンのID)を検査結果に添えて、ジョブ要件処理部202に通知する。
Specifically, when the execution
実行環境検査部203は、第2の検査結果を得た場合には、検査結果と共に、変更を要する仮想マシンを特定する識別情報と、変更内容(例えば、追加する実行アカウント名や追加が必要なメモリ容量に関する情報)と、をジョブ要件処理部202に通知する。
When the second inspection result is obtained, the execution
実行環境検査部203は、第3の検査結果を得た場合には、検査結果と共に、ジョブ実行要件に適合する仮想マシンの作成が可能な物理マシン22を特定する識別情報をジョブ要件処理部202に通知する。
When the third inspection result is obtained, the execution
実行環境検査部203は、第4の検査結果を得た場合には、要求されたジョブ実行要件に適合する仮想マシンが用意できない旨をジョブ要件処理部202に通知する。
When the fourth inspection result is obtained, the execution
次に、図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
ステップS02において、実行環境検査部203は、ジョブ要件、物理マシン管理情報及び仮想マシン管理情報を参照し、ジョブ実行要件及び実行環境に関する検査を行う。その後、実行環境検査部203は、検査結果(上述の第1〜第4の検査結果のいずれか)をジョブ要件処理部202に通知する。
In step S02, the execution
実行環境検査部203による検査結果を取得したジョブ要件処理部202は、各検査結果に応じた処理を行う。
The job
具体的には、第1の検査結果(既存の仮想マシンにて対応可能)を取得した場合には、ジョブ要件処理部202は、端末10から入力されたジョブ要件に含まれるジョブを実行する仮想マシンを特定する識別情報をジョブ実行制御部205に通知する(ステップS03)。
Specifically, when the first inspection result (which can be handled by the existing virtual machine) is obtained, the job
第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
第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
仮想マシンの作成が終了すると、物理マシン管理部204は、その旨をジョブ要件処理部202に通知する。その後、ジョブ要件処理部202は、ジョブを実行する仮想マシンを特定する識別情報をジョブ実行制御部205に通知する。
When the creation of the virtual machine is completed, the physical
ステップS06において、ジョブ要件処理部202は、端末10からのジョブ要件入力に対する応答を行う。具体的には、ジョブ要件処理部202は、上記第1〜第3の検査結果を得た場合には、ジョブ要件に含まれるジョブ実行要件を満たす環境の提供が可能である旨(ジョブは実行可能である旨)を端末10に通知する。
In step S06, the job
一方、第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
ジョブを実行する仮想マシンの通知を受けたジョブ実行制御部205は、ジョブ要件記憶部211を参照し、ジョブ定義情報に含まれるインストラクションを、通知された仮想マシンに設定する(ステップS11)。例えば、ジョブ実行制御部205は、仮想マシンの所定位置(所定のフォルダ)にスクリプトファイルを設定するように、仮想マシンに指示する。より詳細には、ジョブ実行制御部205は、ジョブ定義情報に記載のスクリプトファイルの実体を仮想マシンに送信し、当該スクリプトファイルを所定の場所に格納するように指示する。
Upon receiving the notification of the virtual machine that executes the job, the job
あるいは、ジョブ定義情報に記載のインストラクションに関する情報が、例えば、スクリプトファイルの格納場所を示すパス情報である場合には、ジョブ実行制御部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
その後、ジョブ実行制御部205は、予め定めたタイミングや予め定めた時刻に、ジョブ要件記憶部211を参照し、スケジュール情報を確認する(ステップS12)。
Thereafter, the job
確認の結果、ジョブの実行が必要と判断した場合には、ジョブ実行制御部205は、ジョブの実行を仮想マシンに指示する(ステップS13)。
As a result of the confirmation, if it is determined that the job needs to be executed, the job
ジョブの実行に係る指示を受けた仮想マシンは、当該ジョブを実行する(ステップ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
なお、図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
ジョブ管理装置21が有する上記の各手段の働きにより、インフラの事前準備や担当者間の連携が不要となり、プロジェクトの担当者(業務担当者;端末10の使用者)はジョブの設計、構築を行うことで、必要なジョブが実行される。即ち、インフラ担当者、業務担当者のように役割分担せずとも、一人の管理者が任意のタイミングで必要なインフラ(実行環境)の構築が可能となり、互いの連携や手動作業が不要となり人為的ミスが減少する。また、インフラ情報及びジョブ管理に必要な定義情報を含む情報がコード化されているため、容易に複製(マイグレーション)が可能であり、業務担当者は、検査環境にて試験を行ったシステムをそのまま実際の環境として運用することができる。
By the functions of the above-described units included in the
なお、第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
あるいは、図13に示すように、1つのジョブ管理装置21bと、複数のデータセンタ20−1〜20−m(mは正の整数、以下同じ)と、がジョブ実行システムに含まれていてもよい。即ち、ジョブ実行システムは、複数のデータセンタ20−1〜20−mによりジョブ実行環境が冗長化された構成であってもよい。この場合、ジョブ管理装置21bは、各データセンタの稼働状況等を考慮して、ジョブ実行環境提供の依頼を行うクラウド管理装置31を選択することもできる。
Alternatively, as shown in FIG. 13, even if one
第1の実施形態では、ジョブ実行制御部205がスケジュール情報に従いジョブを起動することを説明したが、ジョブの実行が完了した後に当該ジョブの実行環境(仮想マシン)を削除してもよい。具体的には、ジョブ実行制御部205は、仮想マシンにてジョブの実行が完了した後、物理マシン管理部204に当該ジョブの実行環境(仮想マシン)の削除を依頼してもよい。即ち、クラウド環境下でのオートスケーリングを実現することができる。ジョブは週末や月末等の期間の区切りにて実行されることが多く、これらのタイミングでは物理マシンの負荷が増加する。そこで、対象となる業務処理(ジョブ)を行うためのインスタンス(ジョブ実行要件)を事前に定義しておき、当該ジョブの実行が必要となったタイミングにて新たな仮想マシンを作成し起動する(ジョブの実行完了後には仮想マシンを削除する)。その結果、ジョブの実行環境を提供する物理マシンのリソースを効率的に利用することができる。なお、通常行われるオートスケーリングの場合、必要となるインスタンスの作成は行えるが、ジョブの管理とは連動しておらず、インスタンスとジョブ(アプリケーション)の依存関係を定義することはできない。
In the first embodiment, the job
第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
第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
さらに、コンピュータの記憶部に、上述したコンピュータプログラムをインストールすることにより、コンピュータをジョブ管理装置として機能させることができる。さらにまた、上述したコンピュータプログラムをコンピュータに実行させることにより、コンピュータによりジョブ管理方法を実行することができる。また、そのプログラムは、ネットワークを介してダウンロードするか、或いは、プログラムを記憶した記憶媒体を用いて、更新することができる。 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
[Appendix 3]
The job management method according to
[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
[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
[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
[Appendix 8]
8. The job management method according to
[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
なお、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。本発明の全開示(請求の範囲を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の全開示の枠内において種々の開示要素(各請求項の各要素、各実施形態ないし実施例の各要素、各図面の各要素等を含む)の多様な組み合わせ、ないし、選択が可能である。すなわち、本発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。特に、本書に記載した数値範囲については、当該範囲内に含まれる任意の数値ないし小範囲が、別段の記載のない場合でも具体的に記載されているものと解釈されるべきである。 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
313
Claims (10)
クラウドシステムに前記実行要件に適合する実行環境が存在しなければ、前記クラウドシステムに前記実行要件に適合する実行環境を作成するステップと、
前記実行処理を、前記実行要件に適合する実行環境にて実行するステップと、
を含むジョブ管理方法。 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:
前記クラウドシステムに既に作成された既存の仮想マシンのスペックが、前記実行要件を包含し、且つ、前記実行処理が前記既存の仮想マシンにて実行される他の処理と共存可能な場合に、前記既存の仮想マシンは前記実行要件に適合する実行環境であると判定する、請求項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.
クラウドシステムに前記実行要件に適合する実行環境が存在しなければ、前記クラウドシステムに前記実行要件に適合する実行環境を作成する実行環境管理部と、
前記実行処理を、前記実行要件に適合する実行環境にて実行する実行部と、
を備える、ジョブ管理装置。 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:
クラウドシステムに前記実行要件に適合する実行環境が存在しなければ、前記クラウドシステムに前記実行要件に適合する実行環境を作成する処理と、
前記実行処理を、前記実行要件に適合する実行環境にて実行する処理と、
をジョブ管理装置に搭載されたコンピュータに実行させる、プログラム。 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.
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)
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)
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 |
-
2015
- 2015-09-29 JP JP2015191931A patent/JP6668658B2/en active Active
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 |