Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7801569B2 - 情報処理プログラム、情報処理方法、および情報処理システム - Google Patents
[go: Go Back, main page]

JP7801569B2 - 情報処理プログラム、情報処理方法、および情報処理システム - Google Patents

情報処理プログラム、情報処理方法、および情報処理システム

Info

Publication number
JP7801569B2
JP7801569B2 JP2022028656A JP2022028656A JP7801569B2 JP 7801569 B2 JP7801569 B2 JP 7801569B2 JP 2022028656 A JP2022028656 A JP 2022028656A JP 2022028656 A JP2022028656 A JP 2022028656A JP 7801569 B2 JP7801569 B2 JP 7801569B2
Authority
JP
Japan
Prior art keywords
job
information processing
execution environment
deployed
execution
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
JP2022028656A
Other languages
English (en)
Other versions
JP2023124715A (ja
Inventor
僚介 矢吹
佳弘 木村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2022028656A priority Critical patent/JP7801569B2/ja
Priority to US17/984,283 priority patent/US12498977B2/en
Publication of JP2023124715A publication Critical patent/JP2023124715A/ja
Application granted granted Critical
Publication of JP7801569B2 publication Critical patent/JP7801569B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5022Mechanisms to release resources
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、情報処理プログラム、情報処理方法、および情報処理システムに関する。
従来、クラウド上に存在する、ジョブを管理するマネージャと、ジョブを実行する実行サーバとによって形成されるシステムがある。例えば、実行サーバは、利用者によって、クラウド上に導入され、運用される。
先行技術としては、例えば、クラウドシステムに、入力された実行要件に適合する実行環境を作成し、実行処理を、作成した実行環境にて実行するものがある。また、例えば、モノリシックレガシーアプリケーションによって実施可能な複数のトランザクションに対応する複数のトランザクション定義ベクトルを作成する技術がある。また、例えば、ジョブの実行要求を受けた場合に、ジョブの実行条件と、負荷状況とに基づいて、ジョブを実行させる台数分のサーバを決定する技術がある。また、例えば、仮想コンピュータの構成変更の通知を受けたことに反応して、各ジョブを実行する仮想コンピュータを変更する技術がある。
特開2017-068480号公報 特表2020-518073号公報 特開2015-060279号公報 特開2011-100263号公報
しかしながら、従来技術では、実行サーバを運用する利用者にかかる作業負担の増大化を招くという問題がある。例えば、利用者が、クラウド上に、ジョブの要件を満たす実行サーバを、適宜手動で用意することになる。例えば、利用者が、クラウド上に用意した実行サーバを、適宜手動で削除することになる。また、自動で、ジョブの要件を満たす実行サーバを実現する仮想マシンを起動し、ジョブを仮想マシンに配備する手法が考えられるが、ジョブを実行開始するタイミングが遅れたり、リソースの使用量が増大したりするという問題がある。このため、手動で、仮想マシンの起動および削除を制御することが求められ、利用者にかかる作業負担の増大化を招くことがある。
1つの側面では、本発明は、作業負担の低減化を図ることを目的とする。
1つの実施態様によれば、ジョブごとに当該ジョブを配備する実行環境の条件を特定可能にする第1情報を参照して、第1ジョブを配備する実行環境の第1条件を取得し、取得した前記第1条件に基づいて、前記第1ジョブを配備する第1実行環境を作成し、作成した前記第1実行環境に、前記第1ジョブを配備して実行し、前記第1ジョブの完了に応じて、前記第1ジョブに対応する削除条件を満たす場合、作成した前記第1ジョブを配備した第1実行環境を削除する情報処理プログラム、情報処理方法、および情報処理システムが提案される。
一態様によれば、作業負担の低減化を図ることが可能になる。
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。 図2は、情報処理システム200の一例を示す説明図である。 図3は、情報処理装置100のハードウェア構成例を示すブロック図である。 図4は、ジョブネット管理テーブル400の記憶内容の一例を示す説明図である。 図5は、コンテナ管理テーブル500の記憶内容の一例を示す説明図である。 図6は、インスタンス定義管理テーブル600の記憶内容の一例を示す説明図である。 図7は、情報処理装置100の機能的構成の一例を示すブロック図である。 図8は、情報処理装置100の機能的構成の具体例を示すブロック図である。 図9は、情報処理システム200を実現する一例を示す説明図である。 図10は、実行サーバコンテナを作成する一例を示す説明図(その1)である。 図11は、実行サーバコンテナを作成する一例を示す説明図(その2)である。 図12は、実行サーバコンテナを作成する一例を示す説明図(その3)である。 図13は、実行サーバコンテナを作成する一例を示す説明図(その4)である。 図14は、実行サーバコンテナを削除する一例を示す説明図(その1)である。 図15は、実行サーバコンテナを削除する一例を示す説明図(その2)である。 図16は、実行サーバコンテナを削除する一例を示す説明図(その3)である。 図17は、実行サーバコンテナを削除する一例を示す説明図(その4)である。 図18は、全体処理手順の一例を示すフローチャートである。 図19は、配備判定処理手順の一例を示すフローチャートである。 図20は、削除判定処理手順の一例を示すフローチャートである。
以下に、図面を参照して、本発明にかかる情報処理プログラム、情報処理方法、および情報処理システムの実施の形態を詳細に説明する。
(実施の形態にかかる情報処理方法の一実施例)
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。情報処理装置100は、ジョブを配備する実行環境を管理するコンピュータである。実行環境は、例えば、クラウド上に実現される。実行環境は、例えば、コンテナである。
従来、クラウド上に、システムを構築することが望まれる場合がある。例えば、ジョブを運用するルールを変更せず、既存のシステムを、クラウド上に移行することが望まれる場合がある。具体的には、クラウド上に存在する、ジョブを管理するマネージャと、ジョブを実行する実行サーバとによって、ジョブを運用するシステムを形成することが考えられる。例えば、実行サーバは、利用者によって、クラウド上に導入され、運用される。具体的には、ジョブを管理するマネージャを、クラウド上に用意し、利用者に提供するサービスが考えられるが、ジョブを配置する実行サーバは、利用者が用意することになる。
しかしながら、従来では、実行サーバを運用する利用者にかかる作業負担の増大化を招くという問題がある。例えば、利用者が、クラウド上に、ジョブの要件を満たす実行サーバを、適宜手動で用意することになる。例えば、利用者が、クラウド上に用意した実行サーバを、適宜手動で削除することになる。このため、削除してもよい実行サーバが、クラウド上に残ることになる。従って、リソースの使用量の増大化を抑制することが難しくなるという問題がある。リソースは、例えば、計算リソース、時間リソース、人的リソース、または、金銭リソースなどである。
また、例えば、自動で、ジョブごとに、実行サーバを実現する仮想マシンを起動し、ジョブを、実行サーバを実現する仮想マシンに配備するという手法が考えられる。この手法では、ジョブを実行開始するタイミングが遅れ易くなったり、リソースの使用量の増大化を抑制することが難しくなったりするという問題がある。
例えば、仮想マシンを起動する際にかかる所要時間は、比較的長くなる傾向があるため、自動で、ジョブの実行開始の直前に、仮想マシンを起動するとすれば、ジョブを実行開始するタイミングが遅れ易くなる。例えば、自動で、ジョブの実行開始に先立って、ジョブの実行開始より一定時間以上前に、仮想マシンを起動するとすれば、リソースの使用量の増大化を抑制することが難しくなる。例えば、ジョブごとに仮想マシンが起動されるため、複数のジョブを順次実行するためには、それぞれ異なるジョブを配備する複数の仮想マシンを順次起動することになり、後段のジョブを実行開始するタイミングが遅れ易くなるという問題がある。
また、この手法では、2つのジョブ間でデータをやり取りすることが望まれる場合、それぞれのジョブを配備した仮想マシン間を連携し、データをやり取りすることが難しいという問題がある。例えば、自動で、データをやり取りするジョブの関係を考慮して、仮想マシンを適切に起動および削除することが難しく、データのやり取りが失敗してしまうことがある。また、不要な仮想マシンを起動し続けてしまうことがある。従って、リソースの使用量の増大化を抑制することが難しくなるという問題がある。
これに対し、仮想マシンに代わり、コンテナを利用する手法も考えられるが、データをやり取りするジョブの関係を考慮して、自動で、コンテナを適切に作成および削除することは難しいという問題がある。従って、手動で、コンテナの作成および削除を制御することが望まれることがあり、利用者にかかる作業負担の増大化を招くという問題がある。
そこで、本実施の形態では、実行環境を管理する作業者にかかる作業負担の低減化を図ることができる情報処理方法について説明する。
図1において、情報処理装置100は、第1情報を記憶する。第1情報は、ジョブごとに、当該ジョブを配備する実行環境の条件を特定可能に示す情報である。条件は、例えば、実行環境の性能を示す。性能は、例えば、CPU(Central Processing Unit)の数、または、記憶領域の大きさなどによって定義される。性能は、例えば、環境変数などによって定義されていてもよい。実行環境は、例えば、コンテナである。第1情報は、例えば、第1ジョブ101に対応付けて、第1ジョブ101を配備する実行環境の第1条件102を特定可能に示す情報である。
情報処理装置100は、ジョブごとに、ジョブを配備した実行環境を削除する削除条件を対応付けて記憶する。削除条件は、例えば、ジョブが完了したことを示す。削除条件は、例えば、完了したジョブを配備した実行環境の状況などを示していてもよい。状況は、例えば、以後実行予定の他のジョブの存在有無であってもよい。情報処理装置100は、例えば、第1ジョブ101を配備した実行環境を削除する削除条件103を特定可能に示す。
(1-1)情報処理装置100は、第1情報を参照して、第1ジョブ101を配備する実行環境の第1条件102を取得する。情報処理装置100は、取得した第1条件102に基づいて、第1ジョブ101を配備する第1実行環境110を作成する。情報処理装置100は、例えば、取得した第1条件102に基づいて、クラウド上の他のコンピュータに、第1ジョブ101を配備する第1実行環境110を作成する。
(1-2)情報処理装置100は、作成した第1実行環境110に、第1ジョブ101を配備して実行する。情報処理装置100は、第1ジョブ101を起動し、作成した第1実行環境110に、第1ジョブ101を移行することにより配備する。
(1-3)情報処理装置100は、第1ジョブ101の完了に応じて、第1ジョブ101に対応する削除条件103を満たす場合、作成した第1実行環境110を削除する。情報処理装置100は、例えば、所定のタイミングまでに、第1ジョブ101が完了していれば、削除条件103を満たすと判定し、第1実行環境110を削除する。
これにより、情報処理装置100は、実行環境を管理する作業者にかかる作業負担の低減化を図ることができる。情報処理装置100は、ジョブを実行する実行環境を、利用者が手動で作成または削除せずに済ませることができ、作業者にかかる作業負担の低減化を図ることができる。また、情報処理装置100は、不要な実行環境が、クラウド上に残ることを防止することができ、リソースの使用量の増大化を抑制することができる。
(情報処理システム200の一例)
次に、図2を用いて、図1に示した情報処理装置100を適用した、情報処理システム200の一例について説明する。
図2は、情報処理システム200の一例を示す説明図である。図2において、情報処理システム200は、情報処理装置100と、ジョブ実行装置201と、クライアント装置202とを含む。
情報処理システム200において、情報処理装置100とジョブ実行装置201とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。情報処理システム200において、情報処理装置100とクライアント装置202とは、有線または無線のネットワーク210を介して接続される。
情報処理装置100は、コンテナを作成するコンピュータである。情報処理装置100は、例えば、クラウド上に設けられる。情報処理装置100は、ジョブネットにおけるジョブの関係性と、ジョブを配備するコンテナの条件と、ジョブの起動予定とを、クライアント装置202から受信する。情報処理装置100は、例えば、受信したジョブネットにおけるジョブの関係性と、ジョブを配備するコンテナの条件と、ジョブの起動予定とを、図4に後述するジョブネット管理テーブル400を用いて記憶する。情報処理装置100は、コンテナのイメージファイルを記憶する。情報処理装置100は、例えば、コンテナのイメージファイルを、クライアント装置202から受信し、記憶していてもよい。
情報処理装置100は、コンテナを作成する。情報処理装置100は、例えば、ジョブ実行装置201上に、コンテナを作成する。情報処理装置100は、具体的には、図4に後述するジョブネット管理テーブル400を参照して、ジョブの起動時に、コンテナのイメージファイルを用いて、ジョブ実行装置201上に、ジョブを配備するコンテナの条件を満たす新たなコンテナを作成する。情報処理装置100は、作成した新たなコンテナの属性情報を、図5に後述するコンテナ管理テーブル500に記憶する。情報処理装置100は、起動するジョブを、作成した新たなコンテナに配備して実行する。
情報処理装置100は、既存のコンテナに、ジョブを配備してもよい。情報処理装置100は、例えば、ジョブの起動時に、図5に後述するコンテナ管理テーブル500を参照して、ジョブを配備するコンテナの条件を満たす既存のコンテナを検索してもよい。情報処理装置100は、例えば、既存のコンテナが検索されると、図4に後述するジョブネット管理テーブル400を参照して、起動するジョブと、既存のコンテナに配備した過去のジョブとが、連携する2つのジョブの組み合わせに合致するか否かを判定する。情報処理装置100は、合致する場合、起動するジョブを、検索された既存のコンテナに配備して実行する。
情報処理装置100は、ジョブの完了に応じて、ジョブに対応する終了条件を満たしていれば、ジョブを配備したコンテナを削除する。情報処理装置100は、例えば、図4に後述するジョブネット管理テーブル400を参照して、ジョブが繰り返し実行される性質を有する場合、ジョブの繰り返し回数が閾値以上であるか否かを判定する。情報処理装置100は、ジョブの繰り返し回数が閾値未満であれば、完了したジョブを配備したコンテナを、所定のタイミングで削除する。所定のタイミングは、例えば、日変わりタイミングである。また、情報処理装置100は、例えば、ジョブの繰り返し回数が閾値以上であれば、ジョブを配備したコンテナを削除せずに済ませる。
情報処理装置100は、例えば、図4に後述するジョブネット管理テーブル400を参照して、完了したジョブを配備したコンテナで、完了したジョブとは異なる以後実行予定の他のジョブが存在するか否かを判定してもよい。情報処理装置100は、他のジョブが存在しなければ、完了したジョブを配備したコンテナを、所定のタイミングで削除する。所定のタイミングは、例えば、日変わりタイミングである。情報処理装置100は、例えば、他のジョブが存在すれば、他のジョブが完了するまで、コンテナを削除せずに済ませる。情報処理装置100は、例えば、サーバ、または、PC(Personal Computer)などである。
ジョブ実行装置201は、コンテナを実現するコンピュータである。ジョブ実行装置201は、例えば、クラウド上に設けられる。ジョブ実行装置201は、情報処理装置100の制御に従い、コンテナを実現する。ジョブ実行装置201は、情報処理装置100の制御に従い、実現したコンテナ上で、ジョブを実行する。ジョブ実行装置201は、ジョブを完了したことを、情報処理装置100に通知する。ジョブ実行装置201は、情報処理装置100の制御に従い、コンテナを削除する。ジョブ実行装置201は、例えば、サーバ、または、PCなどである。
クライアント装置202は、利用者によって用いられるコンピュータである。クライアント装置202は、例えば、利用者の操作入力に基づき、ジョブネットにおけるジョブの関係性と、ジョブを配備するコンテナの条件と、ジョブの起動予定とを、情報処理装置100に送信する。クライアント装置202は、例えば、サーバ、PC、タブレット端末、または、スマートフォンなどである。
ここでは、情報処理装置100が、ジョブ実行装置201とは異なる装置である場合について説明したが、これに限らない。例えば、情報処理装置100が、ジョブ実行装置201としての機能を有し、ジョブ実行装置201としても動作可能である場合があってもよい。
ここでは、情報処理装置100が、クライアント装置202とは異なる装置である場合について説明したが、これに限らない。例えば、情報処理装置100が、クライアント装置202としての機能を有し、クライアント装置202としても動作可能である場合があってもよい。
(情報処理装置100のハードウェア構成例)
次に、図3を用いて、情報処理装置100のハードウェア構成例について説明する。
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。図3において、情報処理装置100は、CPU301と、メモリ302と、ネットワークI/F(Interface)303と、記録媒体I/F304と、記録媒体305とを有する。また、各構成部は、バス300によってそれぞれ接続される。
ここで、CPU301は、情報処理装置100の全体の制御を司る。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることにより、コーディングされている処理をCPU301に実行させる。
ネットワークI/F303は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F303は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F303は、例えば、モデムやLANアダプタなどである。
記録媒体I/F304は、CPU301の制御に従って記録媒体305に対するデータのリード/ライトを制御する。記録媒体I/F304は、例えば、ディスクドライブ、SSD(Solid State Drive)、USB(Universal Serial Bus)ポートなどである。記録媒体305は、記録媒体I/F304の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体305は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体305は、情報処理装置100から着脱可能であってもよい。
情報処理装置100は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を複数有していてもよい。また、情報処理装置100は、記録媒体I/F304や記録媒体305を有していなくてもよい。
(ジョブネット管理テーブル400の記憶内容)
次に、図4を用いて、ジョブネット管理テーブル400の記憶内容の一例について説明する。ジョブネット管理テーブル400は、例えば、図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
図4は、ジョブネット管理テーブル400の記憶内容の一例を示す説明図である。図4に示すように、ジョブネット管理テーブル400は、ジョブネット名称と、ジョブ番号と、先行ジョブと、実行インスタンス定義と、ジョブ排他フラグと、起動条件と、起動日とのフィールドを有する。ジョブネット管理テーブル400は、ジョブごとに各フィールドに情報を設定することにより、ジョブネット管理情報がレコード400-aとして記憶される。aは、任意の整数である。
ジョブネット名称のフィールドには、ジョブが所属するジョブネットに付与されたジョブネット名称が設定される。ジョブ番号のフィールドには、上記ジョブに付与されたジョブ番号が設定される。先行ジョブのフィールドには、上記ジョブと同一ジョブネットに属し、上記ジョブと連携する、上記ジョブの直前に実行する他のジョブである先行ジョブに付与されたジョブ番号が設定される。
実行インスタンス定義のフィールドには、上記ジョブを配備するコンテナの条件を示す実行インスタンス定義に付与された実行インスタンス名が設定される。ジョブ排他フラグのフィールドには、ジョブネット内で、同一のコンテナに配備可能なジョブのグループを示すジョブ排他フラグが設定される。同一のジョブ排他フラグに対応付けられた複数のジョブは、同一のコンテナに配備することが好ましい。起動条件のフィールドには、上記ジョブを起動するタイミングを示す起動条件が設定される。起動日のフィールドには、上記起動条件に従って、上記ジョブを起動する日付が設定される。
(コンテナ管理テーブル500の記憶内容)
次に、図5を用いて、コンテナ管理テーブル500の記憶内容の一例について説明する。コンテナ管理テーブル500は、例えば、図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
図5は、コンテナ管理テーブル500の記憶内容の一例を示す説明図である。図5に示すように、コンテナ管理テーブル500は、実行サーバコンテナ名と、実行インスタンス定義と、ジョブ排他フラグと、作成日時とのフィールドを有する。コンテナ管理テーブル500は、コンテナごとに各フィールドに情報を設定することにより、コンテナ管理情報がレコード500-bとして記憶される。bは、任意の整数である。
実行サーバコンテナ名のフィールドには、ジョブを配備する実行サーバとなるコンテナに付与された実行サーバコンテナ名が設定される。実行インスタンス定義のフィールドには、上記コンテナの属性および性能を示す実行インスタンス定義に付与された実行インスタンス名が設定される。ジョブ排他フラグのフィールドには、上記コンテナに配備するジョブが有するジョブ排他フラグが設定される。作成日時のフィールドには、上記コンテナを作成した作成日時が設定される。
(インスタンス定義管理テーブル600の記憶内容)
次に、図6を用いて、インスタンス定義管理テーブル600の記憶内容の一例について説明する。インスタンス定義管理テーブル600は、例えば、図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
図6は、インスタンス定義管理テーブル600の記憶内容の一例を示す説明図である。図6に示すように、インスタンス定義管理テーブル600は、実行インスタンス名と、実行サーバコンテナイメージと、配備リクエスト情報と、配備オプションとのフィールドを有する。インスタンス定義管理テーブル600は、実行インスタンス定義ごとに各フィールドに情報を設定することにより、インスタンス定義管理情報がレコード600-cとして記憶される。cは、任意の整数である。
実行インスタンス名のフィールドには、実行インスタンス定義に付与された実行インスタンス名が設定される。実行サーバコンテナイメージのフィールドには、上記実行インスタンス定義が示す性能を有するコンテナに対応する実行サーバコンテナイメージが設定される。
配備リクエスト情報のフィールドには、実行サーバコンテナを作成するためのクラウドサービスAPI(Application Programming Interface)への接続情報である配備リクエスト情報が設定される。配備リクエスト情報のフィールドは、認証情報と、接続先URL(Uniform Resource Locator)とのフィールドを含む。認証情報のフィールドには、認証情報が設定される。接続先URLのフィールドには、接続先URLが設定される。
配備オプションのフィールドは、CPU数と、MEMと、環境変数とのフィールドを含む。CPU数のフィールドには、上記コンテナが有するCPUの数を示すCPU数が設定される。MEMのフィールドには、上記コンテナが有する記憶領域のサイズを示すMEMが設定される。環境変数のフィールドには、上記コンテナに設定される環境変数が設定される。
(ジョブ実行装置201のハードウェア構成例)
ジョブ実行装置201のハードウェア構成例は、具体的には、図3に示した情報処理装置100のハードウェア構成例と同様であるため、説明を省略する。
(クライアント装置202のハードウェア構成例)
クライアント装置202のハードウェア構成例は、具体的には、図3に示した情報処理装置100のハードウェア構成例と同様であるため、説明を省略する。
(情報処理装置100の機能的構成の一例)
次に、図7を用いて、情報処理装置100の機能的構成の一例について説明する。
図7は、情報処理装置100の機能的構成の一例を示すブロック図である。情報処理装置100は、記憶部700と、取得部701と、配備部702と、削除部703と、出力部704とを含む。
記憶部700は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、記憶部700が、情報処理装置100に含まれる場合について説明するが、これに限らない。例えば、記憶部700が、情報処理装置100とは異なる装置に含まれ、記憶部700の記憶内容が情報処理装置100から参照可能である場合があってもよい。
取得部701~出力部704は、制御部の一例として機能する。取得部701~出力部704は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
記憶部700は、各機能部の処理において参照され、または更新される各種情報を記憶する。記憶部700は、第1情報を記憶する。第1情報は、ジョブごとに当該ジョブを配備する実行環境の条件を特定可能にする情報である。実行環境は、例えば、コンテナである。実行環境は、例えば、仮想マシンであってもよい。
第1情報は、例えば、ジョブごとに、当該ジョブを配備するコンテナの条件を示す実行インスタンス定義を対応付けた情報である。記憶部700は、例えば、ジョブごとに、当該ジョブを配備するコンテナの条件を示す実行インスタンス定義を対応付けた第1情報を、図4に示したジョブネット管理テーブル400を用いて記憶する。
第1情報は、例えば、ジョブごとに、当該ジョブの実行予定を含んでいてもよい。実行予定は、例えば、ジョブが繰り返し実行されるか否かを示す。実行予定は、例えば、ジョブが実行される日付を示す。第1情報は、例えば、取得部701によって取得される。第1情報は、例えば、利用者によって予め記憶部700に設定されていてもよい。
記憶部700は、第2情報を記憶する。第2情報は、連携する複数のジョブの関係を特定可能にする情報である。関係は、例えば、複数のジョブを実行する順序、および、複数のジョブが連携するか否かなどの関係である。連携は、例えば、ジョブ間でデータをやり取りすることである。連携は、具体的には、ジョブが生成したデータを、他のジョブで利用することである。連携は、例えば、複数のジョブが互いに通信しながら動作することであってもよい。
第2情報は、例えば、ジョブごとに、当該ジョブと連携する当該ジョブの直前に実行する先行ジョブがあれば、当該先行ジョブに付与されたジョブ番号を対応付けた情報である。記憶部700は、例えば、ジョブごとに、当該ジョブと連携する当該ジョブの直前に実行する先行ジョブに付与されたジョブ番号を対応付けた第2情報を、図4に示したジョブネット管理テーブル400を用いて記憶する。第2情報は、例えば、取得部701によって取得される。第2情報は、例えば、利用者によって予め記憶部700に設定されていてもよい。
記憶部700は、第3情報を記憶する。第3情報は、ジョブに対応する削除条件を特定可能にする情報である。ジョブに対応する削除条件は、例えば、当該ジョブを配備した実行環境を削除する契機となる条件を示す。
ジョブに対応する削除条件は、例えば、当該ジョブが完了したことを基準として定義されていてもよい。ジョブに対応する削除条件は、例えば、当該ジョブと連携する他のジョブの実行予定を基準として定義されていてもよい。削除条件は、例えば、所定のタイミングを基準として定義されていてもよい。所定のタイミングは、実行環境を削除するか否かを判定するタイミングである。所定のタイミングは、例えば、日変わりタイミングである。
削除条件は、具体的には、所定のタイミング以前にジョブが完了したことを条件として示す。削除条件は、具体的には、所定のタイミングまでにジョブが完了していなければ、所定のタイミング以後にジョブが完了したことを条件として示す。
削除条件は、具体的には、ジョブが完了してから、所定のタイミングまでに、当該ジョブを配備した実行環境に、新たに配備する他のジョブが存在しないことを条件として示す。削除条件は、具体的には、ジョブを配備した実行環境において、他のジョブを実行しておらず、当該ジョブが完了したことを条件として示す。
削除条件は、具体的には、ジョブが、繰り返し実行される性質を有していれば、所定の期間において、当該ジョブが繰り返し実行される回数が、所定の回数未満であり、当該ジョブが完了したことを条件として示す。削除条件は、具体的には、ジョブが、繰り返し実行される性質を有していれば、所定の期間において、当該ジョブが繰り返し実行される回数が、所定の回数以上であれば、所定の期間のうち、最後に実行される当該ジョブが完了したことを条件として示す。
削除条件は、具体的には、完了したジョブを配備する実行環境の条件と、完了したジョブと連携する他のジョブを配備する実行環境の条件とが一致しないことを条件として示す。第3情報は、例えば、取得部701によって取得される。第3情報は、例えば、利用者によって予め記憶部700に設定されていてもよい。
取得部701は、各機能部の処理に用いられる各種情報を取得する。取得部701は、取得した各種情報を、記憶部700に記憶し、または、各機能部に出力する。また、取得部701は、記憶部700に記憶しておいた各種情報を、各機能部に出力してもよい。取得部701は、例えば、利用者の操作入力に基づき、各種情報を取得する。取得部701は、例えば、情報処理装置100とは異なる装置から、各種情報を受信してもよい。
取得部701は、第1情報を取得する。取得部701は、例えば、第1情報を、他のコンピュータから受信することにより取得する。取得部701は、例えば、利用者の操作入力に基づき、第1情報の入力を受け付けることにより、第1情報を取得してもよい。
取得部701は、第2情報を取得する。取得部701は、例えば、第2情報を、他のコンピュータから受信することにより取得する。取得部701は、例えば、利用者の操作入力に基づき、第2情報の入力を受け付けることにより、第2情報を取得してもよい。
取得部701は、第3情報を取得する。取得部701は、例えば、第3情報を、他のコンピュータから受信することにより取得する。取得部701は、例えば、利用者の操作入力に基づき、第3情報の入力を受け付けることにより、第3情報を取得してもよい。
取得部701は、第1情報を参照して、第1ジョブを配備する実行環境の第1条件を取得する。第1ジョブは、実行予定のタイミングになったジョブである。第1ジョブは、起動する対象のジョブである。取得部701は、第1情報を参照して、実行予定がある第1ジョブを特定し、特定した第1ジョブを配備する実行環境の第1条件を取得する。
取得部701は、第1情報を参照して、第1ジョブとは異なる第2ジョブを配備する実行環境の第2条件を取得する。第2ジョブは、例えば、第1ジョブ以後に実行予定のジョブである。第2ジョブは、具体的には、第1ジョブと連携するジョブであってもよい。取得部701は、例えば、第1情報を参照して、実行予定がある第2ジョブを特定し、第2ジョブを配備する実行環境の第2条件を取得する。
取得部701は、第1情報と、第2情報とを参照して、第1ジョブとは異なる、第1ジョブ以後に実行予定であり、第1ジョブと連携する第3ジョブを配備する実行環境の第3条件を取得する。取得部701は、例えば、第1情報と、第2情報とを参照して、第1ジョブの完了に応じて、第1ジョブ以後に実行予定であり、第1ジョブと連携する第3ジョブを特定する。取得部701は、例えば、第1情報を参照して、特定した第3ジョブを配備する実行環境の第3条件を取得する。
取得部701は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、利用者による所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。開始トリガーは、例えば、いずれかの機能部が所定の情報を出力したことであってもよい。取得部701は、例えば、ジョブが起動したことを、配備部702の処理を開始する開始トリガーとして受け付ける。取得部701は、例えば、ジョブが完了したことを、削除部703の処理を開始する開始トリガーとして受け付ける。
配備部702は、ジョブを配備する実行環境を作成し、作成した実行環境に、ジョブを配備して実行する。配備部702は、ジョブを配備する実行環境を実現可能な他のコンピュータを制御し、他のコンピュータに、実行環境を作成させ、作成した実行環境に、ジョブを配備し、他のコンピュータに、ジョブを実行させる。他のコンピュータは、例えば、ジョブ実行装置201などである。
配備部702は、例えば、取得した第1条件に基づいて、第1ジョブを配備する第1実行環境を作成し、作成した第1実行環境に、第1ジョブを配備して実行する。配備部702は、具体的には、取得した第1条件を満たす第1実行環境を作成し、作成した第1実行環境に、第1ジョブを配備して実行する。これにより、配備部702は、例えば、自動で第1ジョブを実行可能にすることができ、利用者にかかる作業負担の低減化を図ることができる。
配備部702は、例えば、取得した第2情報を参照して、第2ジョブが、第1ジョブ以後に実行予定であり第1ジョブと連携する場合、第1ジョブを配備した第1実行環境に、第2ジョブを配備して実行する。配備部702は、具体的には、第2情報を参照して、第2ジョブが、第1ジョブ以後に実行予定であり第1ジョブと連携するか否かを判定する。配備部702は、具体的には、第1条件と、第2条件とが合致するか否かを判定する。
合致は、例えば、第1条件と、第2条件とが同一であることを示す。合致は、例えば、第1条件が、第2条件を包含することを示していてもよい。合致は、具体的には、第1条件が示すCPUの数が、第2条件が示すCPUの数より大きいことを示していてもよい。合致は、具体的には、第1条件が示す記憶領域のサイズが、第2条件が示す記憶領域のサイズより大きいことを示していてもよい。
配備部702は、具体的には、第2ジョブが、第1ジョブ以後に実行予定であり第1ジョブと連携すると判定し、第1条件と、第2条件とが合致すると判定した場合、第1ジョブを配備した第1実行環境に、第2ジョブを配備して実行する。これにより、配備部702は、例えば、自動で第2ジョブを実行可能にすることができ、利用者にかかる作業負担の低減化を図ることができる。配備部702は、例えば、既存の実行環境に第2ジョブを配備することができ、リソースの使用量の増大化を抑制することができる。リソースは、例えば、計算リソース、時間リソース、人的リソース、または、金銭リソースなどである。
配備部702は、具体的には、第2ジョブが、第1ジョブと連携しないと判定した場合、第2ジョブを配備する第2実行環境を作成し、作成した第2実行環境に、第2ジョブを配備して実行する。これにより、配備部702は、例えば、自動で第2ジョブを実行可能にすることができ、利用者にかかる作業負担の低減化を図ることができる。配備部702は、例えば、第1ジョブと同一の実行環境で実行不能な第2ジョブを、誤って第1ジョブと同一の実行環境に配備することを回避することができ、第2ジョブを適切に実行可能にすることができる。
配備部702は、具体的には、第2ジョブが、第1ジョブと連携すると判定し、第1条件と、第2条件とが合致しないと判定した場合、第2ジョブを配備する第2実行環境を作成し、作成した第2実行環境に、第2ジョブを配備して実行する。これにより、配備部702は、例えば、自動で第2ジョブを実行可能にすることができ、利用者にかかる作業負担の低減化を図ることができる。配備部702は、例えば、第1ジョブと同一の実行環境で実行不能な第2ジョブを、誤って第1ジョブと同一の実行環境に配備することを回避することができ、第2ジョブを適切に実行可能にすることができる。
配備部702は、作成した実行環境の全体の情報をバックアップする。配備部702は、作成した実行環境の異常時、バックアップした実行環境の全体の情報に基づいて、作成した実行環境をリストアする。配備部702は、例えば、実行環境を実現する他のコンピュータを制御し、他のコンピュータに、実行環境の全体の情報をバックアップさせる。他のコンピュータは、例えば、ジョブ実行装置201などである。異常は、例えば、他のコンピュータのダウンである。
配備部702は、例えば、実行環境の異常時、実行環境を実現する他のコンピュータを制御し、バックアップした実行環境の全体の情報に基づいて、実行環境をリストアさせる。これにより、配備部702は、実行環境の異常に対応することができ、情報処理システム200の安定性の向上を図ることができる。配備部702は、ジョブを実行失敗する確率の低減化を図ることができる。
削除部703は、記憶部700を参照して、実行環境を削除する。削除部703は、例えば、第1ジョブの完了に応じて、第1ジョブに対応する削除条件を満たす場合、作成した第1ジョブを配備した第1実行環境を削除する。削除部703は、例えば、第1実行環境を実現する他のコンピュータを制御し、第1実行環境を削除させる。他のコンピュータは、例えば、ジョブ実行装置201などである。
削除部703は、具体的には、所定のタイミングまでに、第1ジョブが完了した場合、所定のタイミングまでに、第1ジョブを配備した第1実行環境を削除する。これにより、削除部703は、リソースの使用量の増大化を抑制することができる。
削除部703は、具体的には、所定のタイミングまでに、第1ジョブが完了しない場合、第1ジョブが完了するまで、第1ジョブを配備した第1実行環境を削除せず、第1ジョブが完了してから、第1ジョブを配備した第1実行環境を削除する。これにより、削除部703は、リソースの使用量の増大化を抑制することができる。削除部703は、第1ジョブを正常に完了可能にすることができる。
削除部703は、具体的には、第1ジョブが完了してから、所定のタイミングまでに、第1ジョブを配備した第1実行環境に、新たに配備する他のジョブが存在しなければ、所定のタイミングまでに、第1ジョブを配備した第1実行環境を削除する。これにより、削除部703は、リソースの使用量の増大化を抑制することができる。
削除部703は、具体的には、第1ジョブ以後に実行予定であり、第1ジョブと連携する第3ジョブが存在すれば、第1条件と、取得した第3条件とが合致するか否かを判定する。第3ジョブは、第1ジョブを配備した第1実行環境に、新たに配備する他のジョブの候補である。削除部703は、具体的には、合致しない場合、第1ジョブの完了に応じて、第1ジョブを配備した第1実行環境を削除する。これにより、削除部703は、リソースの使用量の増大化を抑制することができる。
削除部703は、具体的には、第1ジョブを配備した第1実行環境において、他のジョブを実行していれば、第1ジョブを配備した第1実行環境を削除せずに済ませる。削除部703は、具体的には、第1ジョブを配備した第1実行環境において、他のジョブを実行していなければ、第1ジョブの完了に応じて、第1ジョブを配備した第1実行環境を削除する。これにより、削除部703は、リソースの使用量の増大化を抑制することができる。削除部703は、他のジョブを正常に完了可能にすることができる。
削除部703は、具体的には、第1ジョブは、繰り返し実行される性質を有していれば、所定の期間において、第1ジョブの繰り返し回数が、所定の回数以上であるか否かを判定する。所定の期間は、例えば、1日である。繰り返し回数は、ジョブが繰り返し実行される回数である。繰り返し回数は、例えば、ジョブが繰り返し実行される予定の回数である。削除部703は、具体的には、第1ジョブの繰り返し回数が、所定の回数未満である場合、第1ジョブの完了に応じて、第1ジョブを配備した第1実行環境を削除する。これにより、削除部703は、リソースの使用量の増大化を抑制することができる。
削除部703は、具体的には、第1ジョブの繰り返し回数が、所定の回数以上である場合、所定の期間のうち最後に実行される第1ジョブの完了に応じて、第1ジョブを配備した第1実行環境を削除する。これにより、削除部703は、リソースの使用量の増大化を抑制することができる。削除部703は、第1実行環境の作成と削除とを繰り返してしまい、第1ジョブを実行開始するタイミングが遅れてしまうことを回避し易くすることができる。
出力部704は、少なくともいずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、出力部704は、少なくともいずれかの機能部の処理結果を利用者に通知可能にし、情報処理装置100の利便性の向上を図ることができる。
出力部704は、例えば、実行環境を作成したことを、利用者が参照可能に出力する。これにより、出力部704は、利用者が、情報処理システム200の状態を把握し易くすることができ、情報処理システム200を管理し易くすることができる。出力部704は、例えば、実行環境を削除したことを、利用者が参照可能に出力する。これにより、出力部704は、利用者が、情報処理システム200の状態を把握し易くすることができ、情報処理システム200を管理し易くすることができる。
出力部704は、例えば、ジョブを実行したことを、利用者が参照可能に出力する。これにより、出力部704は、利用者が、情報処理システム200の状態を把握し易くすることができ、情報処理システム200を管理し易くすることができる。出力部704は、例えば、ジョブを実行した結果を、利用者が参照可能に出力する。これにより、出力部704は、ジョブを実行した結果を、利用者が利用可能にすることができる。
(情報処理装置100の機能的構成の具体例)
次に、図8を用いて、情報処理装置100の機能的構成の具体例について説明する。
図8は、情報処理装置100の機能的構成の具体例を示すブロック図である。情報処理装置100は、ジョブスケジューラ801と、実行サーバ配備機能802と、実行サーバ削除機能803とを含む。情報処理装置100は、実行インスタンス定義820を有する。実行インスタンス定義820は、例えば、図6に示したインスタンス定義管理テーブル600に記憶される。
実行サーバコンテナイメージ810は、ジョブ実行装置201が利用可能なリポジトリに、利用者によって予め登録される。実行サーバコンテナイメージ810は、コンテナを実装するための情報である。ジョブ実行装置201は、実行サーバコンテナ830を実現する。実行サーバコンテナ830は、実行サーバとしての機能を実現するコンテナである。ジョブ実行装置201は、例えば、実行サーバコンテナイメージ810を利用して、実行サーバコンテナ830を実装する。ジョブ実行装置201は、例えば、クラウド上に設けられる。
ジョブスケジューラ801は、ジョブを起動するタイミングを制御する。ジョブスケジューラ801は、ジョブを起動するタイミングになったことの通知を、実行サーバ配備機能802に送信する。通知は、例えば、ジョブを識別する情報を含む。
ジョブスケジューラ801は、ジョブ実行装置201を監視し、ジョブ実行装置201において、ジョブが完了したことを検出する。ジョブスケジューラ801は、例えば、ジョブ実行装置201から、ジョブが完了したことの通知を受信することにより、ジョブ実行装置201において、ジョブが完了したことを検出する。ジョブスケジューラ801は、例えば、定期的に、ジョブ実行装置201における、ジョブの実行状況を問い合わせることにより、ジョブ実行装置201において、いずれかのジョブが完了したことを検出してもよい。ジョブスケジューラ801は、ジョブが完了したことの通知を、実行サーバ削除機能803に送信する。通知は、例えば、ジョブを識別する情報を含む。
実行サーバ配備機能802は、ジョブを起動するタイミングになったことの通知を受け付ける。実行サーバ配備機能802は、起動するタイミングになったジョブに対応する実行インスタンス定義820を取得する。実行サーバ配備機能802は、取得した実行インスタンス定義820に対応する実行サーバコンテナイメージ810を利用して、実行サーバコンテナ830を実装することを、ジョブ実行装置201に要求する。実行サーバ配備機能802は、要求により、ジョブ実行装置201に、リポジトリに登録済みの実行サーバコンテナイメージ810を起動させ、実行サーバコンテナ830を作成させる。実行サーバ配備機能802は、ジョブ実行装置201に作成させた実行サーバコンテナ830に、起動するタイミングになったジョブを実行させる。
ジョブ実行装置201は、実行サーバコンテナ830により、ジョブを実行する。ジョブ実行装置201は、実行サーバコンテナ830により、ジョブを完了すると、ジョブを完了したことの通知を、ジョブスケジューラ801に送信する。ジョブ実行装置201は、ジョブスケジューラ801の問い合わせに応じて、実行サーバコンテナ830における、ジョブの実行状況を、ジョブスケジューラ801に送信してもよい。
実行サーバ削除機能803は、ジョブが完了したことの通知を受け付ける。実行サーバ削除機能803は、ジョブが完了した実行サーバコンテナ830を削除する削除条件を満たすか否かを判定する。実行サーバ削除機能803は、削除条件を満たせば、ジョブが完了した実行サーバコンテナ830を削除する。削除条件を満たすか否かを判定する一例については、具体的には、図14~図17を用いて後述する。
これにより、情報処理装置100は、実行サーバコンテナ830を管理する作業者にかかる作業負担の低減化を図ることができる。情報処理装置100は、ジョブを実行する実行サーバコンテナ830を、利用者が手動で作成または削除せずに済ませることができ、作業者にかかる作業負担の低減化を図ることができる。また、情報処理装置100は、不要な実行サーバコンテナ830が、クラウド上に残ることを防止することができ、リソースの使用量の増大化を抑制することができる。
(情報処理システム200を実現する一例)
次に、図9を用いて、情報処理システム200を実現する一例について説明する。
図9は、情報処理システム200を実現する一例を示す説明図である。図9に示すように、情報処理システム200では、マネージャとなる情報処理装置100が、クラウド上に設けられる。また、情報処理システム200では、実行サーバコンテナにより実行サーバとしての機能を実現するジョブ実行装置201が、クラウド上に設けられる。
ここで、マネージャは、情報処理装置100により、サービスとして利用者に提供される。このため、利用者は、マネージャとなるコンピュータを、情報処理システム200に導入および運用せずに済み、作業負担の低減化を図ることができる。
また、ジョブ実行装置201が、情報処理装置100の制御に従い、実行サーバコンテナを、適切なタイミングで作成または削除する。このため、利用者は、実行サーバとなるコンピュータを、情報処理システム200に導入および運用せずに済み、作業負担の低減化を図ることができる。利用者は、実行サーバコンテナを、適切なタイミングで作成または削除するよう、ジョブ実行装置201を管理せずに済み、作業負担の低減化を図ることができる。
これに対し、従来手法では、利用者が、実行サーバとなるコンピュータ900を、マネージャとなるコンピュータの制御に従い、ジョブを実行するよう、導入および運用することが考えられる。従来手法では、コンピュータ900は、例えば、オンプレミスに設けられる。コンピュータ900は、例えば、クラウド上に設けられていてもよい。このため、従来手法では、利用者にかかる作業負担の増大化を招くことになる。一方で、情報処理システム200によれば、利用者にかかる作業負担の低減化を図ることができる。
ここでは、説明の都合上、情報処理システム200が、オンプレミスに設けられた実行サーバとなるコンピュータ900を含まない場合について説明したが、これに限らない。例えば、情報処理システム200が、オンプレミスに設けられた実行サーバとなるコンピュータ900と、実行サーバとしての機能を実現するジョブ実行装置201とを両方とも含む場合があってもよい。そして、例えば、情報処理装置100が、オンプレミスに設けられた実行サーバとなるコンピュータ900と、実行サーバとしての機能を実現するジョブ実行装置201とに、ジョブを配備して実行させる場合があってもよい。
(情報処理装置100の動作の一例)
次に、図10~図17を用いて、情報処理装置100の動作の一例について説明する。まず、図10~図13を用いて、情報処理装置100が、ジョブ実行装置201を制御し、ジョブ実行装置201に実行サーバコンテナを作成する一例について説明する。
図10~図13は、実行サーバコンテナを作成する一例を示す説明図である。図10において、クラウド上に、リポジトリ1000が存在する。リポジトリ1000は、例えば、ジョブ実行装置201によって実現される。
クライアント装置202は、利用者の操作入力に基づき、実行サーバコンテナイメージ1001を、ジョブ実行装置201に送信する。実行サーバコンテナイメージ1001は、例えば、静的な定義値を含む。実行サーバコンテナイメージ1001は、具体的には、実行モジュール、および、過去互換パラメータなどの定義値を含む。ジョブ実行装置201は、実行サーバコンテナイメージ1001を、クライアント装置202から受信し、リポジトリ1000に格納しておく。
クライアント装置202は、利用者の操作入力に基づき、実行インスタンス定義を作成し、情報処理装置100に送信する。実行インスタンス定義は、例えば、配備オプションを含む。配備オプションは、具体的には、利用者によって指定された定義値を含む。定義値は、具体的には、ジョブ所有者のパスワード、ログなどの出力先、キューの設定値、および、実行サーバコンテナのCPUの指定、実行サーバコンテナのMEMの指定などを示す。クライアント装置202は、利用者の操作入力に基づき、ネットワークジョブ投入先を設定し、情報処理装置100に送信する。
情報処理装置100は、自動設定値を決定しておく。自動設定値は、信頼ホスト定義、および、監視ホスト定義などを含む。情報処理装置100は、実行インスタンス定義を、クライアント装置202から受信する。
情報処理装置100は、ジョブの実行予定に従って、ジョブの実行インスタンス定義と、自動設定値とに基づいて、ジョブを配備する実行サーバコンテナを、ジョブ実行装置201に作成させる。情報処理装置100は、例えば、コンテナ1、コンテナ2、および、コンテナ3などを、いずれかのジョブ実行装置201に作成させる。情報処理装置100は、例えば、複数のコンテナを、1つのジョブ実行装置201に作成させてもよい。情報処理装置100は、作成させた実行サーバコンテナに、ジョブを配備して実行させる。
ジョブ実行装置201は、実行サーバコンテナを作成し、ジョブを実行する場合、所定のタイミングごとに、再起動ポイントの設定機能を用いて、実行サーバコンテナ全体をバックアップしてもよい。再起動ポイントは、ジョブごとに設定可能である。ジョブ実行装置201は、自装置のダウン後、バックアップした実行サーバコンテナ全体をリストアすることにより、ジョブを実行失敗する確率の低減化を図ってもよい。次に、図11の説明に移行し、実行インスタンス定義の内容1100について説明する。
図11は、実行インスタンス定義の内容1100を示す。内容1100は、配備リクエストと、配備オプションと、削除リクエストとを含む。配備リクエストは、例えば、実行サーバコンテナを配備するためのクラウドサービスAPIへの接続情報である。配備オプションは、例えば、ジョブごとに異なる実行サーバコンテナのパラメータである。パラメータは、例えば、ジョブ所有者のパスワード、ログなどの出力先、キューの設定値、および、実行サーバコンテナのCPUの指定、実行サーバコンテナのMEMの指定などを示す。削除リクエストは、例えば、実行サーバコンテナを削除するためのクラウドサービスAPIへの接続情報である。次に、図12および図13の説明に移行し、情報処理装置100が、ジョブを配備する実行サーバコンテナを作成する制御を行う具体例について説明する。
図12および図13は、情報処理装置100が、ジョブを配備する実行サーバコンテナを作成する制御を行う具体例を示す。図12において、ジョブネット1に属する、ジョブAと、ジョブBとが存在するとする。ジョブAは、実行インスタンス定義=Instanse_Aと、ジョブ排他フラグ=JobFlag_Aとに対応付する。ジョブBは、実行インスタンス定義=Instanse_Aと、ジョブ排他フラグ=JobFlag_Bとに対応付する。ジョブAは、ジョブBより前に実行予定である。
情報処理装置100は、ジョブAを起動するタイミングで、ジョブAに対応する実行インスタンス定義=Instanse_Aを満たす実行サーバコンテナ1201を、ジョブ実行装置201に作成する。情報処理装置100は、作成した実行サーバコンテナ1201に対応付けて、ジョブAに対応する実行インスタンス定義=Instanse_Aと、ジョブ排他フラグ=JobFlag_Aとを、コンテナ管理テーブル500を用いて記憶しておく。情報処理装置100は、ジョブAを、作成した実行サーバコンテナ1201に配備して実行させる。
情報処理装置100は、ジョブBを起動するタイミングで、ジョブネット管理テーブル400を参照して、ジョブBに先行するジョブAを特定する。情報処理装置100は、コンテナ管理テーブル500を参照して、先行するジョブAを配備した実行サーバコンテナ1201に対応する実行インスタンス定義=Instanse_Aを取得する。情報処理装置100は、取得した実行インスタンス定義=Instanse_Aが、ジョブBに対応する実行インスタンス定義=Instanse_Aと一致するか否かを判定する。
ここでは、情報処理装置100は、一致すると判定したため、コンテナ管理テーブル500を参照して、先行するジョブAを配備した実行サーバコンテナ1201に対応するジョブ排他フラグ=JobFlag_Aを取得する。情報処理装置100は、取得したジョブ排他フラグ=JobFlag_Aが、ジョブBに対応するジョブ排他フラグ=JobFlag_Bと一致するか否かを判定する。
ここでは、情報処理装置100は、一致しないと判定したため、ジョブBに対応する実行インスタンス定義=Instanse_Aを満たす実行サーバコンテナ1202を、ジョブ実行装置201に作成する。情報処理装置100は、作成した実行サーバコンテナ1202に対応付けて、ジョブBに対応する実行インスタンス定義=Instanse_Aと、ジョブ排他フラグ=JobFlag_Bとを、コンテナ管理テーブル500を用いて記憶しておく。情報処理装置100は、ジョブBを、作成した実行サーバコンテナ1202に配備して実行させる。これにより、情報処理装置100は、ジョブAと、ジョブBとを適切に実行可能にすることができる。次に、図13の説明に移行する。
図13において、ジョブネット2に属する、ジョブCと、ジョブDとが存在するとする。ジョブCは、実行インスタンス定義=Instanse_Cと、ジョブ排他フラグ=JobFlag_Cとに対応付する。ジョブDは、実行インスタンス定義=Instanse_Cと、ジョブ排他フラグ=JobFlag_Cとに対応付する。ジョブCは、ジョブDより前に実行予定である。ジョブDは、ジョブCの出力ファイルC’を入力として利用するジョブである。
情報処理装置100は、ジョブCを起動するタイミングで、ジョブCに対応する実行インスタンス定義=Instanse_Cを満たす実行サーバコンテナ1300を、ジョブ実行装置201に作成する。情報処理装置100は、作成した実行サーバコンテナ1300に対応付けて、ジョブCに対応する実行インスタンス定義=Instanse_Cと、ジョブ排他フラグ=JobFlag_Cとを、コンテナ管理テーブル500を用いて記憶しておく。情報処理装置100は、ジョブCを、作成した実行サーバコンテナ1300に配備して実行させる。
情報処理装置100は、ジョブDを起動するタイミングで、ジョブネット管理テーブル400を参照して、ジョブDに先行するジョブCを特定する。情報処理装置100は、コンテナ管理テーブル500を参照して、先行するジョブCを配備した実行サーバコンテナ1300に対応する実行インスタンス定義=Instanse_Cを取得する。情報処理装置100は、取得した実行インスタンス定義=Instanse_Cが、ジョブDに対応する実行インスタンス定義=Instanse_Cと一致するか否かを判定する。
ここでは、情報処理装置100は、一致すると判定したため、コンテナ管理テーブル500を参照して、先行するジョブCを配備した実行サーバコンテナ1300に対応するジョブ排他フラグ=JobFlag_Cを取得する。情報処理装置100は、取得したジョブ排他フラグ=JobFlag_Cが、ジョブDに対応するジョブ排他フラグ=JobFlag_Cと一致するか否かを判定する。
ここでは、情報処理装置100は、一致すると判定したため、ジョブCと、ジョブDとを、同一の実行サーバコンテナ1300に配備することが好ましいと判断する。このため、情報処理装置100は、新たな実行サーバコンテナを作成せずに、ジョブDを、既存の実行サーバコンテナ1300に配備して実行させる。
これにより、情報処理装置100は、ジョブCと、ジョブDとを適切に実行可能にすることができる。情報処理装置100は、ジョブCと、ジョブDとが、出力ファイルC’を効率よくやり取り可能にすることができる。このため、情報処理装置100は、ジョブの処理効率の向上を図ることができる。情報処理装置100は、新たな実行サーバコンテナを作成せず、リソースの使用量の増大化を抑制することができる。次に、図14~図17を用いて、情報処理装置100が、実行サーバコンテナを削除する一例について説明する。
図14~図17は、実行サーバコンテナを削除する一例を示す説明図である。図14~図17において、情報処理装置100は、例えば、ジョブの運用日を基準に、実行サーバコンテナを削除するか否かを判定する。まず、図14の説明に移行する。
図14において、ジョブAは、例えば、運用日に1回起動するジョブであるとする。実行サーバコンテナとして、コンテナ1が存在するとする。コンテナ1は、ジョブAを実行し、ジョブAを完了したとする。
情報処理装置100は、ジョブAが完了した場合、同一運用日中に、コンテナ1で実行する他のジョブが存在するか否かを判定する。情報処理装置100は、例えば、ジョブネット管理テーブル400、および、コンテナ管理テーブル500などを参照して、同一運用日中に、コンテナ1で実行する他のジョブが存在するか否かを判定する。
情報処理装置100は、同一運用日中に、コンテナ1で実行する他のジョブが存在しなければ、日変わり時刻前に、ジョブAの完了に応じて、コンテナ1を削除するよう、ジョブ実行装置201を制御する。情報処理装置100は、翌運用日に、ジョブAを再び起動する場合、新たにコンテナ1’を作成することになる。
これにより、情報処理装置100は、一定時間以上利用しない実行サーバコンテナが存在すれば、当該実行サーバコンテナを削除することができ、リソースの使用量の増大化を抑制することができる。次に、図15の説明に移行する。
図15において、ジョブBは、例えば、運用日に1回起動するジョブであるとする。ジョブCは、例えば、ジョブBの完了後、運用日に1回起動するジョブであるとする。実行サーバコンテナとして、コンテナ2が存在するとする。コンテナ2は、ジョブBを実行し、ジョブBを完了したとする。
情報処理装置100は、ジョブBが完了した場合、同一運用日中に、コンテナ2で実行する他のジョブが存在するか否かを判定する。情報処理装置100は、例えば、ジョブネット管理テーブル400、および、コンテナ管理テーブル500などを参照して、同一運用日中に、コンテナ2で実行する他のジョブが存在するか否かを判定する。図15の例では、情報処理装置100は、同一運用日中に、コンテナ2で実行するジョブCが存在すると判定する。
情報処理装置100は、同一運用日中に、コンテナ2で実行する他のジョブが存在するため、他のジョブの完了まで、コンテナ2を残すことが好ましいと判断する。コンテナ2は、ジョブBを完了後、ジョブCを実行し、ジョブCを完了したとする。
情報処理装置100は、ジョブCが完了した場合、同一運用日中に、コンテナ2で実行する他のジョブが存在するか否かを判定する。情報処理装置100は、同一運用日中に、コンテナ2で実行する他のジョブが存在しないため、日変わり時刻前に、ジョブCの完了に応じて、コンテナ2を削除するよう、ジョブ実行装置201を制御する。
これにより、情報処理装置100は、ジョブの実行予定が残った実行サーバコンテナを削除せずに済ませることができ、リソースの使用量の増大化を抑制することができ、ジョブを実行する際のオーバーヘッドを抑制し易くすることができる。次に、図16の説明に移行する。
図16において、ジョブDは、例えば、運用日に複数回起動するジョブであるとする。実行サーバコンテナとして、コンテナ3が存在するとする。コンテナ3は、ジョブDを実行したとする。
情報処理装置100は、日変わり時刻において、ジョブDが完了したか否かを判定する。情報処理装置100は、ジョブDが完了していないと判定したため、ジョブDが完了するまで、コンテナ3を残しておくことにする。その後、情報処理装置100は、ジョブDが完了した場合、同一運用日中に、コンテナ3で実行する他のジョブが存在しなければ、コンテナ3を削除する。また、情報処理装置100は、コンテナ3を削除する前、ジョブDを新たに起動する場合、コンテナ3とは異なる別コンテナ3’を作成し、コンテナ3’にジョブDを配備して実行させる。
これにより、情報処理装置100は、ジョブを実行中の実行サーバコンテナを削除せずに済ませることができ、ジョブを実行失敗する確率の低減化を図ることができる。次に、図17の説明に移行する。
図17において、ジョブEは、例えば、運用日に複数回起動するジョブであるとする。実行サーバコンテナとして、コンテナ4が存在するとする。コンテナ4は、ジョブEを繰り返し実行するとする。
情報処理装置100は、ジョブEの繰り返し回数が、削除閾値以上であるか否かを判定する。図17の例では、情報処理装置100は、ジョブEの繰り返し回数が、削除閾値以上であると判定する。情報処理装置100は、ジョブEの繰り返し回数が、削除閾値以上であれば、ジョブEを配備するコンテナ4を、ジョブEを繰り返し配備する配備先として削除せずに残しておくことが好ましいと判断する。これにより、情報処理装置100は、ジョブEを配備する実行サーバコンテナの作成と削除とを繰り返してしまい、ジョブEを実行開始するタイミングが遅れてしまうことを回避し易くすることができる。
一方で、情報処理装置100は、ジョブEの繰り返し回数が、削除閾値未満であれば、ジョブEの完了に応じて、ジョブEを配備するコンテナ4を削除してもよい。これにより、情報処理装置100は、リソースの使用量の増大化を抑制することができる。
以上により、情報処理装置100は、リソースの使用量の増大化を抑制することができ、利用者にかかる作業負担の低減化を図ることができる。情報処理装置100は、例えば、コンテナを削除するか否かを判定するため、不要なコンテナを起動し続けることを回避することができ、リソースの使用量の増大化を抑制することができる。情報処理装置100は、利用者が、コンテナを削除するか否かを判断せずに済むようにすることができ、利用者にかかる作業負担の増大化を抑制することができる。
情報処理装置100は、例えば、複数のジョブを、1つのコンテナに配備可能であるため、ジョブを実行開始するタイミングが遅れることを回避し易くすることができる。情報処理装置100は、例えば、複数のジョブを、1つのコンテナに配備可能であるため、ジョブ同士が連携し易くすることができる。情報処理装置100は、具体的には、ジョブ同士が、ファイルをやり取りし易くすることができる。
(全体処理手順)
次に、図18を用いて、情報処理装置100が実行する、全体処理手順の一例について説明する。全体処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図18は、全体処理手順の一例を示すフローチャートである。図18において、情報処理装置100は、実行予定のジョブを起動する(ステップS1801)。
次に、情報処理装置100は、図19に後述する配備判定処理を実行し、コンテナに実行予定のジョブを配備する(ステップS1802)。そして、情報処理装置100は、ジョブの完了後、図20に後述する削除判定処理を実行する(ステップS1803)。
次に、情報処理装置100は、ジョブを終了する(ステップS1804)。そして、情報処理装置100は、全体処理を終了する。これにより、情報処理装置100は、コンテナに、ジョブを適切に実行させることができる。
(配備判定処理手順)
次に、図19を用いて、情報処理装置100が実行する、配備判定処理手順の一例について説明する。配備判定処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図19は、配備判定処理手順の一例を示すフローチャートである。図19において、情報処理装置100は、ジョブネット管理テーブル400を参照して、実行予定のジョブについて、実行インスタンス定義とジョブ排他フラグとを取得する(ステップS1901)。
次に、情報処理装置100は、コンテナ管理テーブル500を参照して、実行サーバを実現し得る既存のコンテナが存在するか否かを判定する(ステップS1902)。ここで、既存のコンテナが存在しない場合(ステップS1902:No)、情報処理装置100は、ステップS1905の処理に移行する。一方で、既存のコンテナが存在する場合(ステップS1902:Yes)、情報処理装置100は、ステップS1903の処理に移行する。
ステップS1903では、情報処理装置100は、コンテナ管理テーブル500を参照して、既存のコンテナが、取得した実行インスタンス定義に合致するか否かを判定する(ステップS1903)。ここで、実行インスタンス定義に合致しない場合(ステップS1903:No)、情報処理装置100は、ステップS1905の処理に移行する。一方で、実行インスタンス定義に合致する場合(ステップS1903:Yes)、情報処理装置100は、ステップS1904の処理に移行する。
ステップS1904では、情報処理装置100は、コンテナ管理テーブル500を参照して、既存のコンテナが、取得したジョブ排他フラグに合致するか否かを判定する(ステップS1904)。ここで、ジョブ排他フラグに合致しない場合(ステップS1904:No)、情報処理装置100は、ステップS1905の処理に移行する。一方で、ジョブ排他フラグに合致する場合(ステップS1904:Yes)、情報処理装置100は、ステップS1906の処理に移行する。
ステップS1905では、情報処理装置100は、実行予定のジョブの実行サーバを実現し得る新たなコンテナを作成する(ステップS1905)。そして、情報処理装置100は、ステップS1906の処理に移行する。
ステップS1906では、情報処理装置100は、実行予定のジョブを、既存のコンテナ、または、新たなコンテナに配備して実行させる(ステップS1906)。そして、情報処理装置100は、配備判定処理を終了する。これにより、情報処理装置100は、リソースの使用量の増大化を抑制しつつ、ジョブを実行可能にすることができる。
(削除判定処理手順)
次に、図20を用いて、情報処理装置100が実行する、削除判定処理手順の一例について説明する。削除判定処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図20は、削除判定処理手順の一例を示すフローチャートである。図20において、情報処理装置100は、ジョブネット管理テーブル400を参照して、完了したジョブが、間隔起動のジョブであるか否かを判定する(ステップS2001)。ここで、間隔起動のジョブである場合(ステップS2001:Yes)、情報処理装置100は、ステップS2002の処理に移行する。一方で、間隔起動のジョブではない場合(ステップS2001:No)、情報処理装置100は、ステップS2003の処理に移行する。
ステップS2002では、情報処理装置100は、完了したジョブの繰り返し回数が、削除閾値以上であるか否かを判定する(ステップS2002)。ここで、削除閾値未満である場合(ステップS2002:No)、情報処理装置100は、ステップS2005の処理に移行する。一方で、削除閾値以上である場合(ステップS2002:Yes)、情報処理装置100は、削除判定処理を終了する。
ステップS2003では、情報処理装置100は、ジョブネット管理テーブル400を参照して、実行予定の他のジョブが、完了したジョブを配備したコンテナと同一の実行インスタンス定義を有するか否かを判定する(ステップS2003)。ここで、同一の実行インスタンス定義を有さない場合(ステップS2003:No)、情報処理装置100は、ステップS2005の処理に移行する。一方で、同一の実行インスタンス定義を有する場合(ステップS2003:Yes)、情報処理装置100は、ステップS2004の処理に移行する。
ステップS2004では、情報処理装置100は、ジョブネット管理テーブル400を参照して、実行予定の他のジョブが、完了したジョブを配備したコンテナと同一のジョブ排他フラグを有するか否かを判定する(ステップS2004)。ここで、同一のジョブ排他フラグを有さない場合(ステップS2004:No)、情報処理装置100は、ステップS2005の処理に移行する。一方で、同一のジョブ排他フラグを有する場合(ステップS2004:Yes)、情報処理装置100は、削除判定処理を終了する。
ステップS2005では、情報処理装置100は、完了したジョブを配備したコンテナを削除する(ステップS2005)。そして、情報処理装置100は、削除判定処理を終了する。これにより、情報処理装置100は、不要と判断されるコンテナを削除することができる。情報処理装置100は、リソースの使用量の増大化を抑制しつつ、ジョブを実行可能にすることができる。
ここで、情報処理装置100は、図18~図20の各フローチャートの一部ステップの処理の順序を入れ替えて実行してもよい。例えば、ステップS2003,S2004の処理の順序は入れ替え可能である。また、情報処理装置100は、図18~図20の各フローチャートの一部ステップの処理を省略してもよい。例えば、ステップS2001,S2002の処理は省略可能である。
以上説明したように、情報処理装置100によれば、ジョブごとに当該ジョブを配備する実行環境の条件を特定可能にする第1情報を参照して、第1ジョブを配備する実行環境の第1条件を取得することができる。情報処理装置100によれば、取得した第1条件に基づいて、第1ジョブを配備する第1実行環境を作成することができる。情報処理装置100によれば、作成した第1実行環境に、第1ジョブを配備して実行することができる。情報処理装置100によれば、第1ジョブの完了に応じて、第1ジョブに対応する削除条件を満たす場合、作成した第1ジョブを配備した第1実行環境を削除することができる。これにより、情報処理装置100は、リソースの使用量の増大化を抑制することができ、利用者にかかる作業負担の増大化を抑制することができる。
情報処理装置100によれば、実行環境に、コンテナを採用することができる。これにより、情報処理装置100は、作成し易い実行環境を採用することができ、ジョブを実行開始するタイミングを早め易くすることができる。
情報処理装置100によれば、第1情報を参照して、第2ジョブを配備する実行環境の第2条件を取得することができる。情報処理装置100によれば、連携する複数のジョブの関係を特定可能にする第2情報を参照して、第2ジョブが、第1ジョブ以後に実行予定であり第1ジョブと連携するか否かを判定することができる。情報処理装置100によれば、連携する場合、取得した第1条件と、取得した第2条件とが合致すれば、第1ジョブを配備した第1実行環境に、第2ジョブを配備して実行することができる。これにより、情報処理装置100は、1つの実行環境に、複数のジョブを配備可能にすることができ、リソースの使用量の増大化を抑制することができる。
情報処理装置100によれば、所定のタイミングまでに、第1ジョブが完了した場合、所定のタイミングまでに、第1ジョブを配備した第1実行環境を削除することができる。これにより、情報処理装置100は、実行環境を適切に削除することができ、リソースの使用量の増大化を抑制することができる。
情報処理装置100によれば、所定のタイミングまでに、第1ジョブが完了しない場合、第1ジョブが完了するまで、第1ジョブを配備した第1実行環境を削除せず、第1ジョブが完了してから、第1ジョブを配備した第1実行環境を削除することができる。これにより、情報処理装置100は、ジョブを実行中の実行環境を削除しないようにすることができる。情報処理装置100は、ジョブを実行失敗しないよう、実行環境を適切に削除することができ、リソースの使用量の増大化を抑制することができる。
情報処理装置100によれば、第1ジョブが完了してから、所定のタイミングまでに、第1ジョブを配備した第1実行環境に、新たに配備する他のジョブが存在しなければ、所定のタイミングまでに、第1ジョブを配備した第1実行環境を削除することができる。これにより、情報処理装置100は、実行環境が不要になったか否かを判断し、実行環境を適切に削除することができ、リソースの使用量の増大化を抑制することができる。
情報処理装置100によれば、第1ジョブを配備した第1実行環境において、他のジョブを実行していれば、第1ジョブを配備した第1実行環境を削除せずに済ませることができる。情報処理装置100によれば、第1ジョブを配備した第1実行環境において、他のジョブを実行していなければ、第1ジョブの完了に応じて、第1ジョブを配備した第1実行環境を削除することができる。これにより、情報処理装置100は、ジョブを実行中の実行環境を削除しないようにすることができる。情報処理装置100は、ジョブを実行失敗しないよう、実行環境を適切に削除することができ、リソースの使用量の増大化を抑制することができる。
情報処理装置100によれば、所定の期間において、第1ジョブが繰り返し実行される回数が、所定の回数未満である場合、第1ジョブの完了に応じて、第1ジョブを配備した第1実行環境を削除することができる。これにより、情報処理装置100は、実行環境を削除しなければ、ジョブを未実行の実行環境が比較的長時間残ってしまう場合、実行環境を削除することができ、リソースの使用量の増大化を抑制することができる。
情報処理装置100によれば、所定の期間において、第1ジョブが繰り返し実行される回数が、所定の回数以上である場合、所定の期間のうち最後に実行される第1ジョブの完了に応じて、第1ジョブを配備した第1実行環境を削除することができる。これにより、情報処理装置100は、リソースの使用量の増大化を抑制することができる。情報処理装置100は、実行環境の作成と削除とを繰り返してしまい、ジョブを実行開始するタイミングが遅れてしまうことを回避し易くすることができる。
情報処理装置100によれば、第1情報と、連携する複数のジョブの関係を特定可能にする第2情報とを参照して、第1ジョブ以後に実行予定であり、第1ジョブと連携する第3ジョブを配備する実行環境の第3条件を取得することができる。情報処理装置100によれば、第1条件と、取得した第3条件とが合致しない場合、第1ジョブの完了に応じて、第1ジョブを配備した第1実行環境を削除することができる。これにより、情報処理装置100は、実行環境で以後実行するジョブがなければ、実行環境を削除することができ、リソースの使用量の増大化を抑制することができる。
情報処理装置100によれば、第2情報を参照して、第2ジョブが、第1ジョブと連携しない場合、第2ジョブを配備する第2実行環境を作成することができる。情報処理装置100によれば、作成した第2実行環境に、第2ジョブを配備して実行することができる。これにより、情報処理装置100は、ジョブを実行可能にすることができる。
情報処理装置100によれば、作成した第1実行環境の全体の情報をバックアップすることができる。情報処理装置100によれば、作成した第1実行環境の異常時、バックアップした第1実行環境の全体の情報に基づいて、作成した第1実行環境をリストアすることができる。これにより、情報処理装置100は、第1実行環境を実現するコンピュータのダウンに対策することができる。
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをPCやワークステーションなどのコンピュータで実行することにより実現することができる。本実施の形態で説明した情報処理プログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。記録媒体は、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO(Magneto Optical disc)、DVD(Digital Versatile Disc)などである。また、本実施の形態で説明した情報処理プログラムは、インターネットなどのネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)ジョブごとに当該ジョブを配備する実行環境の条件を特定可能にする第1情報を参照して、第1ジョブを配備する実行環境の第1条件を取得し、
取得した前記第1条件に基づいて、前記第1ジョブを配備する第1実行環境を作成し、
作成した前記第1実行環境に、前記第1ジョブを配備して実行し、
前記第1ジョブの完了に応じて、前記第1ジョブに対応する削除条件を満たす場合、作成した前記第1ジョブを配備した第1実行環境を削除する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
(付記2)前記実行環境は、コンテナである、ことを特徴とする付記1に記載の情報処理プログラム。
(付記3)前記取得する処理は、
前記第1情報を参照して、前記第1ジョブとは異なる第2ジョブを配備する実行環境の第2条件を取得し、
前記実行する処理は、
連携する複数のジョブの関係を特定可能にする第2情報を参照して、前記第2ジョブが、前記第1ジョブ以後に実行予定であり前記第1ジョブと連携する場合、取得した前記第1条件と、取得した前記第2条件とが合致すれば、前記第1ジョブを配備した第1実行環境に、前記第2ジョブを配備して実行する、ことを特徴とする付記1または2に記載の情報処理プログラム。
(付記4)前記削除する処理は、
所定のタイミングまでに、前記第1ジョブが完了した場合、前記所定のタイミングまでに、前記第1ジョブを配備した第1実行環境を削除する、ことを特徴とする付記1~3のいずれか一つに記載の情報処理プログラム。
(付記5)前記削除する処理は、
所定のタイミングまでに、前記第1ジョブが完了しない場合、前記第1ジョブが完了するまで、前記第1ジョブを配備した第1実行環境を削除せず、前記第1ジョブが完了してから、前記第1ジョブを配備した第1実行環境を削除する、ことを特徴とする付記1~4のいずれか一つに記載の情報処理プログラム。
(付記6)前記削除する処理は、
前記第1ジョブが完了してから、所定のタイミングまでに、前記第1ジョブを配備した第1実行環境に、新たに配備する他のジョブが存在しなければ、前記所定のタイミングまでに、前記第1ジョブを配備した第1実行環境を削除する、ことを特徴とする付記1~5のいずれか一つに記載の情報処理プログラム。
(付記7)前記削除する処理は、
前記第1ジョブを配備した第1実行環境において、他のジョブを実行していれば、前記第1ジョブを配備した第1実行環境を削除せず、前記第1ジョブを配備した第1実行環境において、他のジョブを実行していなければ、前記第1ジョブの完了に応じて、前記第1ジョブを配備した第1実行環境を削除する、ことを特徴とする付記1~6のいずれか一つに記載の情報処理プログラム。
(付記8)前記第1ジョブは、繰り返し実行される性質を有し、
前記削除する処理は、
所定の期間において、前記第1ジョブが繰り返し実行される回数が、所定の回数未満である場合、前記第1ジョブの完了に応じて、前記第1ジョブを配備した第1実行環境を削除する、ことを特徴とする付記1~7のいずれか一つに記載の情報処理プログラム。
(付記9)前記第1ジョブは、繰り返し実行される性質を有し、
前記削除する処理は、
所定の期間において、前記第1ジョブが繰り返し実行される回数が、所定の回数以上である場合、前記所定の期間のうち最後に実行される前記第1ジョブの完了に応じて、前記第1ジョブを配備した第1実行環境を削除する、ことを特徴とする付記1~8のいずれか一つに記載の情報処理プログラム。
(付記10)前記第1情報と、連携する複数のジョブの関係を特定可能にする第2情報とを参照して、前記第1ジョブとは異なる、前記第1ジョブ以後に実行予定であり、前記第1ジョブと連携する第3ジョブを配備する実行環境の第3条件を取得し、
前記削除する処理は、
前記第1条件と、取得した前記第3条件とが合致しない場合、前記第1ジョブの完了に応じて、前記第1ジョブを配備した第1実行環境を削除する、ことを特徴とする付記1~9のいずれか一つに記載の情報処理プログラム。
(付記11)前記作成する処理は、
前記第2情報を参照して、前記第2ジョブが、前記第1ジョブと連携しない場合、前記第2ジョブを配備する第2実行環境を作成し、
前記実行する処理は、
作成した前記第2実行環境に、前記第2ジョブを配備して実行する、ことを特徴とする付記3に記載の情報処理プログラム。
(付記12)作成した前記第1実行環境の全体の情報をバックアップし、
作成した前記第1実行環境の異常時、バックアップした前記第1実行環境の全体の情報に基づいて、作成した前記第1実行環境をリストアする、
処理を前記コンピュータに実行させることを特徴とする付記1~11のいずれか一つに記載の情報処理プログラム。
(付記13)ジョブごとに当該ジョブを配備する実行環境の条件を特定可能にする第1情報を参照して、第1ジョブを配備する実行環境の第1条件を取得し、
取得した前記第1条件に基づいて、前記第1ジョブを配備する第1実行環境を作成し、
作成した前記第1実行環境に、前記第1ジョブを配備して実行し、
前記第1ジョブの完了に応じて、前記第1ジョブに対応する削除条件を満たす場合、作成した前記第1ジョブを配備した第1実行環境を削除する、
処理をコンピュータが実行することを特徴とする情報処理方法。
(付記14)第1装置と、前記第1装置と通信可能な第2装置とを含む情報処理システムであって、
前記情報処理装置は、
ジョブごとに当該ジョブを配備する実行環境の条件を特定可能にする第1情報を参照して、第1ジョブを配備する実行環境の第1条件を取得し、
取得した前記第1条件に基づいて、前記第1ジョブを配備する第1実行環境を前記第2装置に作成し、
作成した前記第1実行環境に、前記第1ジョブを配備して実行させ、
前記第1ジョブの完了に応じて、前記第1ジョブに対応する削除条件を満たす場合、作成した前記第1ジョブを配備した第1実行環境を前記第2装置から削除する、
ことを特徴とする情報処理システム。
100 情報処理装置
101 第1ジョブ
102 第1条件
103 削除条件
110 第1実行環境
200 情報処理システム
201 ジョブ実行装置
202 クライアント装置
210 ネットワーク
300 バス
301 CPU
302 メモリ
303 ネットワークI/F
304 記録媒体I/F
305 記録媒体
400 ジョブネット管理テーブル
500 コンテナ管理テーブル
600 インスタンス定義管理テーブル
700 記憶部
701 取得部
702 配備部
703 削除部
704 出力部
801 ジョブスケジューラ
802 実行サーバ配備機能
803 実行サーバ削除機能
810,1001 実行サーバコンテナイメージ
820 実行インスタンス定義
830,1201,1202,1300 実行サーバコンテナ
900 コンピュータ
1000 リポジトリ
1100 内容

Claims (12)

  1. ジョブごとに当該ジョブを配備する実行環境の条件を特定可能にする第1情報を参照して、第1ジョブを配備する実行環境の第1条件を取得し、
    取得した前記第1条件に基づいて、前記第1ジョブを配備する第1実行環境を作成し、
    作成した前記第1実行環境に、前記第1ジョブを配備して実行し、
    前記第1ジョブの完了に応じて、前記第1ジョブに対応する削除条件を満たす場合、作成した前記第1ジョブを配備した第1実行環境を削除し、
    前記削除する処理は、
    ジョブ完了を判断する単位の所定のタイミングまでの、前記第1ジョブの完了の有無に応じて、前記所定のタイミングまでに前記第1ジョブを配備した第1実行環境の削除の有無を制御する、
    処理をコンピュータに実行させることを特徴とする情報処理プログラム。
  2. 前記削除する処理は、
    前記所定のタイミングまでに、前記第1ジョブが完了した場合、前記所定のタイミングまでに、前記第1ジョブを配備した第1実行環境を削除する、ことを特徴とする請求項1に記載の情報処理プログラム。
  3. 前記削除する処理は、
    前記所定のタイミングまでに、前記第1ジョブが完了しない場合、前記第1ジョブが完了するまで、前記第1ジョブを配備した第1実行環境を削除せず、前記第1ジョブが完了してから、前記第1ジョブを配備した第1実行環境を削除する、ことを特徴とする請求項1または2に記載の情報処理プログラム。
  4. 前記削除する処理は、
    前記第1ジョブが完了してから、前記所定のタイミングまでに、前記第1ジョブを配備した第1実行環境に、新たに配備する他のジョブが存在しなければ、前記所定のタイミングまでに、前記第1ジョブを配備した第1実行環境を削除する、ことを特徴とする請求項1~3のいずれか一つに記載の情報処理プログラム。
  5. 前記実行環境は、コンテナである、ことを特徴とする請求項1~4のいずれか一つに記載の情報処理プログラム。
  6. 前記取得する処理は、
    前記第1情報を参照して、前記第1ジョブとは異なる第2ジョブを配備する実行環境の第2条件を取得し、
    前記実行する処理は、
    連携する複数のジョブの関係を特定可能にする第2情報を参照して、前記第2ジョブが、前記第1ジョブ以後に実行予定であり前記第1ジョブと連携する場合、取得した前記第1条件と、取得した前記第2条件とが合致すれば、前記第1ジョブを配備した第1実行環境に、前記第2ジョブを配備して実行する、ことを特徴とする請求項1~5のいずれか一つに記載の情報処理プログラム。
  7. 前記削除する処理は、
    前記第1ジョブを配備した第1実行環境において、他のジョブを実行していれば、前記第1ジョブを配備した第1実行環境を削除せず、前記第1ジョブを配備した第1実行環境において、他のジョブを実行していなければ、前記第1ジョブの完了に応じて、前記第1ジョブを配備した第1実行環境を削除する、ことを特徴とする請求項1~6のいずれか一つに記載の情報処理プログラム。
  8. 前記第1ジョブは、繰り返し実行される性質を有し、
    前記削除する処理は、
    所定の期間において、前記第1ジョブが繰り返し実行される回数が、所定の回数未満である場合、前記第1ジョブの完了に応じて、前記第1ジョブを配備した第1実行環境を削除する、ことを特徴とする請求項1~7のいずれか一つに記載の情報処理プログラム。
  9. 前記第1ジョブは、繰り返し実行される性質を有し、
    前記削除する処理は、
    ジョブ実行回数を判断する単位の所定の期間において、前記第1ジョブが繰り返し実行される回数が、所定の回数以上である場合、前記所定の期間のうち最後に実行される前記第1ジョブの完了に応じて、前記第1ジョブを配備した第1実行環境を削除する、ことを特徴とする請求項1~8のいずれか一つに記載の情報処理プログラム。
  10. 前記第1情報と、連携する複数のジョブの関係を特定可能にする第2情報とを参照して、前記第1ジョブとは異なる、前記第1ジョブ以後に実行予定であり、前記第1ジョブと連携する第3ジョブを配備する実行環境の第3条件を取得し、
    前記削除する処理は、
    前記第1条件と、取得した前記第3条件とが合致しない場合、前記第1ジョブの完了に応じて、前記第1ジョブを配備した第1実行環境を削除する、ことを特徴とする請求項1~9のいずれか一つに記載の情報処理プログラム。
  11. ジョブごとに当該ジョブを配備する実行環境の条件を特定可能にする第1情報を参照して、第1ジョブを配備する実行環境の第1条件を取得し、
    取得した前記第1条件に基づいて、前記第1ジョブを配備する第1実行環境を作成し、
    作成した前記第1実行環境に、前記第1ジョブを配備して実行し、
    前記第1ジョブの完了に応じて、前記第1ジョブに対応する削除条件を満たす場合、作成した前記第1ジョブを配備した第1実行環境を削除し、
    前記削除する処理は、
    ジョブ完了を判断する単位の所定のタイミングまでの、前記第1ジョブの完了の有無に応じて、前記所定のタイミングまでに前記第1ジョブを配備した第1実行環境の削除の有無を制御する、
    処理をコンピュータが実行することを特徴とする情報処理方法。
  12. 第1装置と、前記第1装置と通信可能な第2装置とを含む情報処理システムであって、
    前記情報処理システムは、
    ジョブごとに当該ジョブを配備する実行環境の条件を特定可能にする第1情報を参照して、第1ジョブを配備する実行環境の第1条件を取得し、
    取得した前記第1条件に基づいて、前記第1ジョブを配備する第1実行環境を前記第2装置に作成し、
    作成した前記第1実行環境に、前記第1ジョブを配備して実行させ、
    前記第1ジョブの完了に応じて、前記第1ジョブに対応する削除条件を満たす場合、作成した前記第1ジョブを配備した第1実行環境を前記第2装置から削除し、
    前記削除する処理は、
    ジョブ完了を判断する単位の所定のタイミングまでの、前記第1ジョブの完了の有無に応じて、前記所定のタイミングまでに前記第1ジョブを配備した第1実行環境の削除の有無を制御する、
    ことを特徴とする情報処理システム。
JP2022028656A 2022-02-25 2022-02-25 情報処理プログラム、情報処理方法、および情報処理システム Active JP7801569B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2022028656A JP7801569B2 (ja) 2022-02-25 2022-02-25 情報処理プログラム、情報処理方法、および情報処理システム
US17/984,283 US12498977B2 (en) 2022-02-25 2022-11-10 Computer-readable recording medium storing information processing program, information processing method, and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2022028656A JP7801569B2 (ja) 2022-02-25 2022-02-25 情報処理プログラム、情報処理方法、および情報処理システム

Publications (2)

Publication Number Publication Date
JP2023124715A JP2023124715A (ja) 2023-09-06
JP7801569B2 true JP7801569B2 (ja) 2026-01-19

Family

ID=87761686

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022028656A Active JP7801569B2 (ja) 2022-02-25 2022-02-25 情報処理プログラム、情報処理方法、および情報処理システム

Country Status (2)

Country Link
US (1) US12498977B2 (ja)
JP (1) JP7801569B2 (ja)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215069A (ja) 1999-01-20 2000-08-04 Nec Corp ジョブ実行管理システム
JP2002351682A (ja) 2001-05-30 2002-12-06 Canon Inc 情報処理方法および情報処理システム
JP2004266408A (ja) 2003-02-28 2004-09-24 Konica Minolta Holdings Inc 画像処理装置
JP2017068480A (ja) 2015-09-29 2017-04-06 日本電気株式会社 ジョブ管理方法、ジョブ管理装置及びプログラム
JP2019066926A (ja) 2017-09-28 2019-04-25 Kddi株式会社 コネクテッドカー車載器のアプリケーション管理方法および装置
JP2020107987A (ja) 2018-12-27 2020-07-09 キヤノン電子株式会社 画像読取装置、画像読取装置の制御方法、及びプログラム
JP2021166006A (ja) 2020-04-08 2021-10-14 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置
JP2021168518A (ja) 2020-02-20 2021-10-21 Eaglys株式会社 情報処理システム、情報処理装置、情報処理方法、および、情報処理プログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3289547B2 (ja) * 1995-04-19 2002-06-10 富士ゼロックス株式会社 印刷処理装置及び印刷処理方法
JP5446746B2 (ja) 2009-11-05 2014-03-19 日本電気株式会社 仮想コンピュータシステム、仮想コンピュータ管理方法および管理プログラム
US9112750B2 (en) * 2011-05-31 2015-08-18 Hitachi, Ltd. Job management server and job management method
WO2014006728A1 (ja) * 2012-07-05 2014-01-09 富士通株式会社 処理装置、処理システム、及びプログラム
JP2015060279A (ja) 2013-09-17 2015-03-30 株式会社日立システムズ スケール制御サーバ、スケール制御方法、およびスケール制御プログラム
ES2830438T3 (es) 2017-04-28 2021-06-03 Lzlabs Gmbh Despliegue de microservicios en contenedores basado en aplicaciones heredadas monolíticas

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000215069A (ja) 1999-01-20 2000-08-04 Nec Corp ジョブ実行管理システム
JP2002351682A (ja) 2001-05-30 2002-12-06 Canon Inc 情報処理方法および情報処理システム
JP2004266408A (ja) 2003-02-28 2004-09-24 Konica Minolta Holdings Inc 画像処理装置
JP2017068480A (ja) 2015-09-29 2017-04-06 日本電気株式会社 ジョブ管理方法、ジョブ管理装置及びプログラム
JP2019066926A (ja) 2017-09-28 2019-04-25 Kddi株式会社 コネクテッドカー車載器のアプリケーション管理方法および装置
JP2020107987A (ja) 2018-12-27 2020-07-09 キヤノン電子株式会社 画像読取装置、画像読取装置の制御方法、及びプログラム
JP2021168518A (ja) 2020-02-20 2021-10-21 Eaglys株式会社 情報処理システム、情報処理装置、情報処理方法、および、情報処理プログラム
JP2021166006A (ja) 2020-04-08 2021-10-14 富士通株式会社 情報処理プログラム、情報処理方法、および情報処理装置

Also Published As

Publication number Publication date
US12498977B2 (en) 2025-12-16
JP2023124715A (ja) 2023-09-06
US20230273827A1 (en) 2023-08-31

Similar Documents

Publication Publication Date Title
US12197758B2 (en) Distributed object replication architecture
US11327799B2 (en) Dynamic allocation of worker nodes for distributed replication
US11010240B2 (en) Tracking status and restarting distributed replication
US11349915B2 (en) Distributed replication and deduplication of an object from a source site to a destination site
JP5328177B2 (ja) 情報処理装置、情報処理装置のデータ処理方法、記憶媒体及びプログラム
JP5251002B2 (ja) 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム
US8407693B2 (en) Managing package dependencies
JP3887160B2 (ja) ローカル・ジョブ制御システムを有する分散処理システム内での外部ジョブ・スケジューリング方法及びシステム
CN111143133B (zh) 虚拟机备份方法和备份虚拟机恢复方法
US20150095597A1 (en) High performance intelligent virtual desktop infrastructure using volatile memory arrays
JP2012088901A (ja) ソフトウェア管理装置、ソフトウェア管理方法およびソフトウェア管理プログラム
CN109271447B (zh) 数据同步方法、装置、计算机设备和存储介质
US20140358858A1 (en) Determining A Schedule For A Job To Replicate An Object Stored On A Storage Appliance
CN102246152A (zh) 保存程序执行状态
EP3311272B1 (en) A method of live migration
RU2646309C1 (ru) Способ резервного копирования
JP5377231B2 (ja) ジョブネット制御プログラムおよびジョブネット制御装置
JP7801569B2 (ja) 情報処理プログラム、情報処理方法、および情報処理システム
JP5884566B2 (ja) バッチ処理システム、進捗状況確認装置、進捗状況確認方法、及びプログラム
CN111431951B (zh) 一种数据处理方法、节点设备、系统及存储介质
CN118631892A (zh) 一种数据迁移方法、装置、计算机设备和存储介质
US12430421B2 (en) Apparatus and method for updating internet-based malware detection engine using scaling control of virtual machine
JP6265738B2 (ja) 情報処理装置、情報処理方法およびコンピュータプログラム
EP4036720B1 (en) Hash optimized composition cache for isolated execution environments
JP7326234B2 (ja) 情報処理装置、情報処理方法及びコンピュータプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20241114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20250910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20250916

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20251022

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20251106

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20251107

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20251215

R150 Certificate of patent or registration of utility model

Ref document number: 7801569

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150