JP2021033469A - 情報処理装置及びプログラム - Google Patents

情報処理装置及びプログラム Download PDF

Info

Publication number
JP2021033469A
JP2021033469A JP2019150555A JP2019150555A JP2021033469A JP 2021033469 A JP2021033469 A JP 2021033469A JP 2019150555 A JP2019150555 A JP 2019150555A JP 2019150555 A JP2019150555 A JP 2019150555A JP 2021033469 A JP2021033469 A JP 2021033469A
Authority
JP
Japan
Prior art keywords
container
identification information
image
new
name
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.)
Pending
Application number
JP2019150555A
Other languages
English (en)
Inventor
洋輝 外園
Hiroki Sotozono
洋輝 外園
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.)
Fanuc Corp
Original Assignee
Fanuc Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fanuc Corp filed Critical Fanuc Corp
Priority to JP2019150555A priority Critical patent/JP2021033469A/ja
Priority to DE102020004756.4A priority patent/DE102020004756A1/de
Priority to US16/986,432 priority patent/US20210055951A1/en
Priority to CN202010830209.6A priority patent/CN112416510A/zh
Publication of JP2021033469A publication Critical patent/JP2021033469A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45595Network integration; Enabling network access in virtual machine instances

Abstract

【課題】識別情報の重複を検出して、容易に重複を除去することが可能な情報処理装置及びプログラムを提供すること。【解決手段】ソフトウェアモジュールを仮想化した複数のコンテナを用いてアプリケーションを生成する情報処理装置であって、ソフトウェアモジュールからコンテナファイルを生成するコンテナファイル生成部と、前記コンテナファイルから生成予定のコンテナイメージ及びコンテナに付与する新規の識別情報を新規識別情報として決定する識別情報決定部と、生成済みの他のコンテナイメージ及びコンテナの識別情報である既存識別情報と、新規識別情報とを比較する識別情報比較部と、比較結果に基づいて、既存識別情報及び新規識別情報の重複を除去する重複除去部と、を備える。【選択図】図1

Description

本発明は、情報処理装置及びプログラムに関する。
従来、システムの運用に関して、物理サーバごとに1つのシステムを運用することが行われていた。このような運用では、CPUの計算資源が余剰してしまい、物理サーバのリソースを有効に活用できない事例が発生していた。
昨今では、1つの物理サーバに複数の仮想サーバを立ち上げることで、リソースを有効に活用する仮想化技術が知られている。仮想化技術では、例えば、1つの物理サーバのリソースが分割され、分割されたリソースのそれぞれでシステムが実行される。仮想化技術の一例として、実行環境を他のプロセスから隔離して、隔離したプロセス内でアプリケーションを動作させるコンテナ仮想化技術が提案されている。このようなコンテナ仮想化技術として、例えば、コンテナを複数実行して負荷分散を行うシステムが提案されている(特許文献1参照)。
国際公開第2018/003031号公報
特許文献1では、それぞれ同一処理内容である複数のコンテナの動作数が増減される。具体的には、特許文献1では、他のサービスの使用状況(サービス使用時間)に応じて、コンテナの停止有無が決定される。そのため、特許文献1では、複数のコンテナのそれぞれを識別する識別情報は、同一の情報であってもよい。
一方、異なる役割を有する複数のコンテナで構成されるアプリケーションを実行する場合、複数のコンテナのそれぞれは、互いに通信する場合がある。複数のコンテナのそれぞれの間で通信をする場合、複数のコンテナのそれぞれは、通信先のコンテナを他のコンテナと識別可能にすべく、固有の識別情報を有している必要がある。そこで、識別情報の重複を検出して、容易に重複を除去することができれば好適である。
(1)本開示の一態様は、ソフトウェアモジュールを仮想化した複数のコンテナを用いてアプリケーションを生成する情報処理装置であって、前記ソフトウェアモジュールからコンテナファイルを生成するコンテナファイル生成部と、前記コンテナファイルから生成予定のコンテナイメージ及びコンテナに付与する新規の識別情報を新規識別情報として決定する識別情報決定部と、生成済みの他のコンテナイメージ及びコンテナの識別情報である既存識別情報と、前記新規識別情報とを比較する識別情報比較部と、比較結果に基づいて、前記既存識別情報及び前記新規識別情報の重複を除去する重複除去部と、を備える情報処理装置に関する。
(2)また、本開示の一態様は、ソフトウェアモジュールを仮想化したコンテナによって示されるアプリケーションを生成する情報処理装置としてコンピュータを動作させるプログラムであって、前記コンピュータを、前記ソフトウェアモジュールからコンテナファイルを生成するコンテナファイル生成部、生成された前記コンテナファイルから得られるコンテナイメージ及びコンテナに対する新規の識別情報を新規識別情報として決定する識別情報決定部、生成済みの他のコンテナイメージ及びコンテナの識別情報である既存識別情報と、前記新規識別情報とを比較する識別情報比較部、及び比較結果に基づいて、前記既存識別情報及び前記新規識別情報の重複を除去する重複除去部、として機能させるプログラムに関する。
本開示によれば、識別情報の重複を検出して、容易に重複を除去することが可能な情報処理装置及びプログラムを提供することができる。
本開示の第1実施形態に係る情報処理装置を示すブロック図である。 第1実施形態の情報処理装置のソフトウェア格納部に格納されているソフトウェアの構成を示すイメージ図である。 第1実施形態の情報処理装置のコンテナ生成部によってソフトウェアモジュールからコンテナを生成する際の流れを示す模式図である。 第1実施形態の情報処理装置の動作の流れを示すフローチャートである。 本開示の第2実施形態の情報処理装置を示すブロック図である。
以下、本開示の各実施形態に係る情報処理装置1及びプログラムついて図1から図5を参照して説明する。
まず、各実施形態に係る情報処理装置1及びプログラムを説明するのに先立って、情報処理装置1及びプログラムによって用いられるコンテナ仮想化技術について説明する。
コンテナ仮想化技術は、ソフトウェアモジュールを仮想化したコンテナを複数動作させることで、1つの物理装置(例えば、物理サーバ)上に複数の仮想環境を構築する技術である。コンテナ仮想化技術では、例えば、1つの物理装置のリソースが分割され、分割されたリソースのそれぞれで、コンテナが動作する。特に、コンテナ仮想化技術では、物理装置のホストOSのプロセス上で複数のコンテナを実行することができる。コンテナは、例えば、ソフトウェアモジュールをコンテナ化することで生成されるコンテナファイルに基づいて生成される。具体的には、コンテナは、コンテナファイルのイメージ化によって得られるコンテナイメージについて、インスタンス化することで生成される。
ここで、コンテナ仮想化技術では、アプリケーションを複数のコンテナを用いて生成する例が説明される。アプリケーションとして、例えば、コンテナ間でデータのやり取り(通信)を実施するようなアプリケーションが生成される。この場合、データのやり取りをする相手側のコンテナは、他のコンテナと識別情報を用いて識別される。
ところで、個別に生成されるコンテナは、他のコンテナと重複する識別情報が付与される場合がある。そこで、各実施形態に係る情報処理装置1及びプログラムは、重複する識別情報を検出して、重複を除去する。なお、以下の各実施形態において、識別情報は、コンテナイメージ名(例えば、クラス)及びコンテナ名(例えば、インスタンス)とも説明される。
[第1実施形態]
次に、本開示の第1実施形態に係る情報処理装置1及びプログラムについて、図1から図4を参照して説明する。
本実施形態に係る情報処理装置1は、例えば、アプリケーション開発者用の端末や、ネットワークサーバ(クラウドサーバ)及び開発者用端末の組み合わせである。本実施形態において、情報処理装置1は、ソフトウェアモジュールが仮想化された複数のコンテナを用いて、アプリケーションを生成する。情報処理装置1は、図1に示すように、ソフトウェア格納部11と、プログラム生成部12と、コンテナファイル生成部13と、識別情報決定部14と、識別情報比較部15と、重複除去部16と、コンテナ生成部17と、コンテナ格納部18と、を備える。
ソフトウェア格納部11は、例えば、ハードディスクや、SSD等の二次記憶媒体である。ソフトウェア格納部11は、図2に示すように、複数のプログラムをパッケージした、複数のソフトウェアモジュールを格納する。
プログラム生成部12は、例えば、CPUが動作することで実現される。プログラム生成部12は、ソフトウェアモジュールを構成するプログラムを生成する。プログラム生成部12は、例えば、キーボード等の入力部(図示せず)への入力に基づいて、プログラムを生成する。また、プログラム生成部12は、ソフトウェア格納部11に格納されているプログラムを編集可能に構成される。プログラム生成部12は、生成又は編集したプログラムをソフトウェア格納部11に格納する。
コンテナファイル生成部13は、例えば、CPUが動作することで実現される。コンテナファイル生成部13は、ソフトウェアモジュールからコンテナファイルを生成する。コンテナファイル生成部13は、例えば、ソフトウェアモジュールから、後述するイメージ化の際のコマンド等を含むコンテナファイルを生成する。本実施形態において、コンテナファイル生成部13は、例えば、ソフトウェア格納部11に格納されているソフトウェアモジュールから順次コンテナファイルを生成することで、「アプリケーションに追加する新規コンテナ」又は「既に生成されているコンテナ」を修正した新規コンテナを含むコンテナファイルを生成する。コンテナファイル生成部13は、例えば、図3に示すように、名前「A」が付与されているソフトウェアモジュールから、名前「A」が付与されるコンテナファイルを生成する。
識別情報決定部14は、例えば、CPUが動作することで実現される。識別情報決定部14は、コンテナファイルから生成予定のコンテナイメージ及びコンテナに付与する新規の識別情報を新規識別情報として決定する。識別情報決定部14は、例えば、後述するイメージ化によって、名前「A」のコンテナファイルから得られるコンテナイメージの名前を「A」に決定する。また、識別情報決定部14は、例えば、後述するインスタンス化によって得られるコンテナの名前を「A1」に決定する。
識別情報比較部15は、例えば、CPUが動作することで実現される。識別情報比較部15は、生成済みの他のコンテナイメージ及びコンテナの識別情報である既存識別情報と、新規識別情報とを比較する。識別情報比較部15は、例えば、直前に決定されたコンテナファイルに対して決定された識別情報を「新規識別情報」として、それよりも以前にコンテナファイルに対して決定され、動作可能な状態(削除されていない状態)となっているコンテナファイルの識別情報を「既存識別情報」として比較する。
重複除去部16は、例えば、CPUが動作することで実現される。重複除去部16は、比較結果に基づいて、既存識別情報及び新規識別情報の重複を除去する。重複除去部16は、例えば、新規識別情報に含まれるコンテナイメージのイメージ名と同じイメージ名を含む、既存識別情報で識別されるコンテナ及びコンテナイメージを消去する。また、重複除去部16は、例えば、新規識別情報に含まれるコンテナ名と同じコンテナ名を含む「既存識別情報で識別されるコンテナ」について、新規識別情報で識別されるコンテナ及び既存識別情報で識別されるコンテナのいずれか一方のコンテナ名及びコンテナイメージ名をリネームする。具体的には、重複除去部16は、新規識別情報に含まれるコンテナ名と同じコンテナ名を含む、既存識別情報で識別されるコンテナについて、コンテナ名及びコンテナイメージ名をリネームする。
また、重複除去部16は、例えば、新規識別情報に含まれるコンテナイメージのイメージ名と同じイメージ名を含む「既存識別情報で識別されるコンテナ」を上書きする。
コンテナ生成部17は、例えば、CPUが動作することで実現される。コンテナ生成部17は、コンテナファイルからコンテナを生成する。具体的には、コンテナ生成部17は、コンテナファイルをイメージ化することで、新規識別情報(コンテナイメージ名)で識別されるコンテナイメージを生成する。また、コンテナ生成部17は、生成されたコンテナイメージをインスタンス化することで、新規識別情報(コンテナ名)で識別されるコンテナを生成する。
コンテナ格納部18は、例えば、メモリ等の二次記憶媒体である。コンテナ格納部18は、生成されたコンテナを格納する。
次に、情報処理装置1の処理の流れについて、図4のフローチャートを参照して説明する。
まず、プログラム生成部12によって生成されたプログラムによって、ソフトウェア格納部11に格納されているプログラムが生成又は編集される(ステップS1)。ソフトウェア格納部11は、生成又は編集されたプログラムを格納する。
次いで、コンテナファイル生成部13は、コンテナ生成の指示をトリガとして、コンテナファイルを生成する(ステップS2)。コンテナファイル生成部13は、例えば、ソフトウェア格納部11に格納されているソフトウェアモジュールを読み出して、コンテナファイルを生成する。次いで、識別情報決定部14は、生成されたコンテナファイルから得られるコンテナイメージ及びコンテナに対する新規の識別情報を新規識別情報として決定する(ステップS3)。
次いで、識別情報比較部15は、生成済みの他のコンテナイメージ及びコンテナの識別情報である既存識別情報と、新規識別情報とを比較する(ステップS4)。新規識別情報と同じ既存識別情報がある場合(ステップS4:YES)、処理はステップS5に進む。一方、新規識別情報と同じ既存識別情報が無い場合(ステップS4:NO)、処理はステップS6に進む。
ステップS5において、重複除去部16は、既存識別情報及び新規識別情報の重複を除去する。例えば、コンテナイメージ名の重複がある場合、重複除去部16は、既存識別情報で識別されるコンテナの消去、又は新規識別情報で識別されるコンテナによる上書きが実行される。また、例えば、コンテナ名の重複がある場合、重複除去部16は、新規識別情報で識別されるコンテナのコンテナ名を変更する。そして、処理は、ステップS6に進む。
ステップS6において、コンテナ生成部17は、コンテナを生成する。コンテナ生成部17は、生成したコンテナをコンテナ格納部18に格納する。これにより、本フローによる処理は終了する。
次いで、プログラムについて説明する。
情報処理装置1に含まれる各構成は、ハードウェア、ソフトウェア又はこれらの組み合わせによりそれぞれ実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行することにより実現されることを意味する。
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD−ROM(Read Only Memory)、CD−R、CD−R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(random access memory))を含む。また、表示プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
以上、第1実施形態に係る情報処理装置1及びプログラムによれば、以下の効果を奏する。
(1)ソフトウェアモジュールを仮想化した複数のコンテナを用いてアプリケーションを生成する情報処理装置1であって、ソフトウェアモジュールからコンテナファイルを生成するコンテナファイル生成部13と、生成されたコンテナファイルから得られるコンテナイメージ及びコンテナに対する新規の識別情報を新規識別情報として決定する識別情報決定部14と、生成済みの他のコンテナイメージ及びコンテナの識別情報である既存識別情報と、新規識別情報とを比較する識別情報比較部15と、比較結果に基づいて、既存識別情報及び新規識別情報の重複を除去する重複除去部16と、を備える。これにより、新たに生成されるコンテナイメージ及びコンテナの識別情報と、既に生成されているコンテナイメージ及びコンテナの識別情報との重複を容易に除去することができる。したがって、複数のコンテナによって構成されるアプリケーションの実行環境を容易に構築することができる。
(2)既存識別情報は、生成済みのコンテナを構成するコンテナイメージのイメージ名と、生成済みのコンテナのコンテナ名と、を含み、新規識別情報は、新たなコンテナを構成するコンテナイメージのイメージ名と、新たなコンテナのコンテナ名と、を含む。これにより、イメージ名及びコンテナ名が重複することを抑制して、アプリケーションの実行環境を容易に構築することができる。
(3)重複除去部16は、新規識別情報に含まれるコンテナイメージのイメージ名と同じイメージ名を含む、既存識別情報で識別されるコンテナ及びコンテナイメージを消去する。これにより、アプリケーションの実行が意図せずに妨げられることを抑制することができる。
(4)重複除去部16は、新規識別情報に含まれるコンテナ名と同じコンテナ名を含む、既存識別情報で識別されるコンテナについて、コンテナ名及びコンテナイメージ名をリネームする。これにより、アプリケーションの実行が意図せずに妨げられることを抑制することができる。
[第2実施形態]
次に、本開示の第2実施形態に係る情報処理装置1及びプログラムについて、図5を参照して説明する。第2実施形態の説明にあたって、前述の実施形態と同一の構成要件については同一符号を付し、その説明を省略もしくは簡略化する。
第2実施形態に係る情報処理装置1及びプログラムは、図5に示すように、起動順序取得部21と、起動順序決定部22と、を更に備える点で第1実施形態と異なる。
起動順序取得部21は、例えば、CPUが動作することで実現される。起動順序取得部21は、生成された新たなコンテナと生成済みのコンテナとの起動順序を「起動順序情報」として取得する。本実施形態において、起動順序取得部21は、ソフトウェア格納部11に格納されている起動順序情報を取得する。起動順序取得部21は、例えば、データベースを構築するコンテナの起動の後に、データベースのコンテナに変数を規定するコンテナの起動を実行するような、コンテナの起動順序を示す起動順序情報を取得する。
起動順序決定部22は、例えば、CPUが動作することで実現される。起動順序決定部22は、起動順序情報に基づいて、コンテナの起動順序を決定する。起動順序決定部22は、決定したコンテナの起動順序のテーブルを、アプリケーションの起動前に、アプリケーション起動部(図示せず)に送る。
以上、第2実施形態に係る情報処理装置1及びプログラムによれば、以下の効果を奏する。
(5)情報処理装置1は、生成された新たなコンテナと生成済みのコンテナとの起動順序を起動順序情報として取得する起動順序情報取得部と、取得された起動順序情報に基づいて、アプリケーションの実行前に、コンテナの起動順序を決定する起動順序決定部22と、をさらに備える。これにより、アプリケーションの起動前にコンテナの起動順序を決定することができる。したがって、アプリケーションの起動をより最適化することができる。
以上、本開示の情報処理装置及びプログラムの好ましい各実施形態につき説明したが、本開示は、上述の実施形態に制限されるものではなく、適宜変更が可能である。
例えば、上記実施形態において、生成済みのコンテナに対して、コンテナを新規又は修正して追加する形態を説明したが、これに制限されない。例えば、新たにアプリケーションを実行するために、ソフトウェア格納部11に格納されているソフトウェアモジュールから順次、コンテナファイルを生成するような形態であってもよい。
また、上記実施形態において、コンテナファイルの生成の後に、新規識別情報の決定及び比較を実行したが、これに制限されない。例えば、コンテナファイルの生成の前に、新規識別情報の決定及び比較が実行されてもよい。
なお、上記実施形態において、ソフトウェアモジュール決定部から順次読みだしたソフトウェアモジュールについて、新規識別情報及び既存識別情報を比較したが、これに制限されない。識別情報比較部15は、コンテナ格納部18に格納されているコンテナの識別情報を既存識別情報として、新規識別情報と比較するようにしてもよい。
また、上記第2実施形態において、情報処理装置は、ソフトウェア格納部11に格納されている1以上のソフトウェアモジュールについて、起動順序情報を生成する起動順序情報生成部(図示せず)をさらに備えてもよい。起動順序生成部は、例えば、ソフトウェアモジュールを順に選択することで、ディスプレイ等の表示部(図示せず)に表示される順序を起動順序として起動順序情報を生成してもよい。また、起動順序生成部は、ソフトウェアモジュールに起動順序を示す番号を付与するとともに、付与した番号を起動順序とする起動順序情報を生成してもよい。
1 情報処理装置
13 コンテナファイル生成部
14 識別情報決定部
15 識別情報比較部
16 重複除去部
21 起動順序取得部
22 起動順序決定部

Claims (6)

  1. ソフトウェアモジュールを仮想化した複数のコンテナを用いてアプリケーションを生成する情報処理装置であって、
    前記ソフトウェアモジュールからコンテナファイルを生成するコンテナファイル生成部と、
    前記コンテナファイルから生成予定のコンテナイメージ及びコンテナに付与する新規の識別情報を新規識別情報として決定する識別情報決定部と、
    生成済みの他のコンテナイメージ及びコンテナの識別情報である既存識別情報と、前記新規識別情報とを比較する識別情報比較部と、
    比較結果に基づいて、前記既存識別情報及び前記新規識別情報の重複を除去する重複除去部と、
    を備える情報処理装置。
  2. 前記既存識別情報は、
    生成済みのコンテナを構成するコンテナイメージのイメージ名と、
    生成済みのコンテナのコンテナ名と、
    を含み、
    前記新規識別情報は、
    新たなコンテナを構成するコンテナイメージのイメージ名と、
    新たなコンテナのコンテナ名と、
    を含む請求項1に記載の情報処理装置。
  3. 前記重複除去部は、前記新規識別情報に含まれるコンテナイメージのイメージ名と同じイメージ名を含む、前記既存識別情報で識別されるコンテナ及びコンテナイメージを消去する請求項2に記載の情報処理装置。
  4. 前記重複除去部は、前記新規識別情報に含まれるコンテナ名と同じコンテナ名を含む、前記既存識別情報で識別されるコンテナについて、コンテナ名及びコンテナイメージ名をリネームする請求項2又は3に記載の情報処理装置。
  5. 生成された新たなコンテナと生成済みのコンテナとの起動順序を起動順序情報として取得する起動順序情報取得部と、
    取得された起動順序情報に基づいて、前記アプリケーションの実行前に、コンテナの起動順序を決定する起動順序決定部と、
    をさらに備える請求項1から4のいずれかに記載の情報処理装置。
  6. ソフトウェアモジュールを仮想化したコンテナによって示されるアプリケーションを生成する情報処理装置としてコンピュータを動作させるプログラムであって、
    前記コンピュータを、
    前記ソフトウェアモジュールからコンテナファイルを生成するコンテナファイル生成部、
    生成された前記コンテナファイルから得られるコンテナイメージ及びコンテナに対する新規の識別情報を新規識別情報として決定する識別情報決定部、
    生成済みの他のコンテナイメージ及びコンテナの識別情報である既存識別情報と、前記新規識別情報とを比較する識別情報比較部、及び
    比較結果に基づいて、前記既存識別情報及び前記新規識別情報の重複を除去する重複除去部、
    として機能させるプログラム。
JP2019150555A 2019-08-20 2019-08-20 情報処理装置及びプログラム Pending JP2021033469A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019150555A JP2021033469A (ja) 2019-08-20 2019-08-20 情報処理装置及びプログラム
DE102020004756.4A DE102020004756A1 (de) 2019-08-20 2020-08-05 Informationsverarbeitungsvorrichtung und programm
US16/986,432 US20210055951A1 (en) 2019-08-20 2020-08-06 Information processing device and recording medium encoded with program
CN202010830209.6A CN112416510A (zh) 2019-08-20 2020-08-18 信息处理装置和存储有程序的存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019150555A JP2021033469A (ja) 2019-08-20 2019-08-20 情報処理装置及びプログラム

Publications (1)

Publication Number Publication Date
JP2021033469A true JP2021033469A (ja) 2021-03-01

Family

ID=74495329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019150555A Pending JP2021033469A (ja) 2019-08-20 2019-08-20 情報処理装置及びプログラム

Country Status (4)

Country Link
US (1) US20210055951A1 (ja)
JP (1) JP2021033469A (ja)
CN (1) CN112416510A (ja)
DE (1) DE102020004756A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338069A (ja) * 2005-05-31 2006-12-14 Hitachi Ltd コンポーネントソフトウェアの運用方法および運用基盤
WO2018197928A1 (en) * 2017-04-28 2018-11-01 Lzlabs Gmbh Containerized deployment of microservices based on monolithic legacy applications
JP2019066985A (ja) * 2017-09-29 2019-04-25 株式会社日立製作所 コンテナ管理装置、コンテナ管理方法、及びコンテナ管理プログラム

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7536541B2 (en) * 2006-03-07 2009-05-19 Novell Inc. Parallelizing multiple boot images with virtual machines
US20080091606A1 (en) * 2006-10-12 2008-04-17 William Grecia Proprietary encapsulated session container with embedded features for a post transferred option for electronic commerce along with a system for distribution and user access
US9679007B1 (en) * 2013-03-15 2017-06-13 Veritas Technologies Llc Techniques for managing references to containers
WO2015050588A2 (en) * 2013-05-31 2015-04-09 Openpeak Inc. Method and system for combining multiple applications into a single binary file while maintaining per process sandboxing
US20150095597A1 (en) * 2013-09-30 2015-04-02 American Megatrends, Inc. High performance intelligent virtual desktop infrastructure using volatile memory arrays
US10268476B2 (en) * 2015-03-20 2019-04-23 ZeroTurnaround AS System and method for fast restarting of user apps
US10432537B2 (en) * 2015-10-12 2019-10-01 Fujitsu Limited Service function chaining based on resource availability in the time dimension
US10545776B1 (en) * 2016-09-27 2020-01-28 Amazon Technologies, Inc. Throughput and latency optimized volume initialization
US10503712B2 (en) * 2016-09-30 2019-12-10 International Business Machines Corporation Container repository optimization
US10613939B2 (en) * 2017-03-28 2020-04-07 Commvault Systems, Inc. Backup index generation process
US11106508B2 (en) * 2017-08-04 2021-08-31 Espressive, Inc. Elastic multi-tenant container architecture
JP7069672B2 (ja) * 2017-12-05 2022-05-18 コニカミノルタ株式会社 アプリケーションの更新方法およびプログラム
US11307937B1 (en) * 2018-01-31 2022-04-19 Veritas Technologies Llc Efficient space reclamation in deduplication systems
US11210269B2 (en) * 2018-02-13 2021-12-28 Red Hat, Inc. System and method for deduplicating container image storage data
US10649802B2 (en) * 2018-03-21 2020-05-12 Red Hat, Inc. Component based dynamic guest instantiation
US11698803B2 (en) * 2018-08-15 2023-07-11 Royal Bank Of Canada System and methods for improved adoption of cloud container profiles
US11962647B2 (en) * 2019-06-05 2024-04-16 Vmware, Inc. Data migration using dynamic synchronization
US20210011816A1 (en) * 2019-07-10 2021-01-14 Commvault Systems, Inc. Preparing containerized applications for backup using a backup services container in a container-orchestration pod
US11288053B2 (en) * 2019-08-15 2022-03-29 Microstrategy Incorporated Conversion and restoration of computer environments to container-based implementations
US11263174B2 (en) * 2019-11-08 2022-03-01 International Business Machines Corporation Reducing resource consumption in container image management

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006338069A (ja) * 2005-05-31 2006-12-14 Hitachi Ltd コンポーネントソフトウェアの運用方法および運用基盤
WO2018197928A1 (en) * 2017-04-28 2018-11-01 Lzlabs Gmbh Containerized deployment of microservices based on monolithic legacy applications
JP2019066985A (ja) * 2017-09-29 2019-04-25 株式会社日立製作所 コンテナ管理装置、コンテナ管理方法、及びコンテナ管理プログラム

Also Published As

Publication number Publication date
US20210055951A1 (en) 2021-02-25
DE102020004756A1 (de) 2021-02-25
CN112416510A (zh) 2021-02-26

Similar Documents

Publication Publication Date Title
US10713120B2 (en) Unique identifiers for data replication, migration, failover operations and failback operations
CN110088733B (zh) 虚拟机迁移的基于存储层的编排
US9454393B2 (en) Planned virtual machines
US9513938B2 (en) Virtual appliance integration with cloud management software
US11243707B2 (en) Method and system for implementing virtual machine images
CN102402446B (zh) 应用软件的安装方法和应用软件的安装装置
CN112181602A (zh) 一种资源编排方法、装置及电子设备和存储介质
CN103425472B (zh) 基于云计算的软件测试环境动态生成***及其实现方法
JP2011076605A (ja) 仮想マシン・イメージの実行方法及びシステム
JP2014513338A5 (ja) 仮想ディスクの最適圧縮のための方法、コンピュータ可読記憶媒体及びシステム
US8813076B2 (en) Virtual machine updates
CN109597677A (zh) 用于处理信息的方法和装置
US9959157B1 (en) Computing instance migration
US8732427B2 (en) Systems and methods for collapsing a derivative version of a primary storage volume
US10095616B2 (en) Garbage collection for virtual environments
US11263082B2 (en) Data recovery of guest virtual machines
JP2017068480A (ja) ジョブ管理方法、ジョブ管理装置及びプログラム
JP2011248742A (ja) ストレージ管理システム、及び管理計算機、並びにプログラム
CN105653352B (zh) 操作***虚拟仿真取证的方法
CN110806891A (zh) 嵌入式设备软件版本的生成方法及装置
JP2021033469A (ja) 情報処理装置及びプログラム
CN115277398A (zh) 一种集群的网络配置方法和装置
CN109271179B (zh) 虚拟机应用程序管理方法、装置、设备及可读存储介质
CN111274211B (zh) 应用文件的存储方法、装置及***
US9311124B2 (en) Integrated deployment of centrally modified software systems

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200515

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220517

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230228

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230414

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230725