JP2023079614A - 情報処理装置、情報処理方法、および情報処理プログラム - Google Patents

情報処理装置、情報処理方法、および情報処理プログラム Download PDF

Info

Publication number
JP2023079614A
JP2023079614A JP2021193155A JP2021193155A JP2023079614A JP 2023079614 A JP2023079614 A JP 2023079614A JP 2021193155 A JP2021193155 A JP 2021193155A JP 2021193155 A JP2021193155 A JP 2021193155A JP 2023079614 A JP2023079614 A JP 2023079614A
Authority
JP
Japan
Prior art keywords
environment
target software
information processing
information
processing apparatus
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
JP2021193155A
Other languages
English (en)
Inventor
隆道 赤川
Takamichi Akagawa
昌浩 長柄
Masahiro Nagae
伸幸 平島
Nobuyuki Hirashima
秀司 原
Hideji Hara
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 JP2021193155A priority Critical patent/JP2023079614A/ja
Publication of JP2023079614A publication Critical patent/JP2023079614A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】対象ソフトウェアを効率よく実装可能にすること。【解決手段】情報処理装置100は、第1環境101から、対象ソフトウェアのサイズを取得する。情報処理装置100は、第1環境101から、対象ソフトウェアを、所定の記憶領域110に複製する。所定の記憶領域110は、例えば、情報処理装置100の記憶領域である。情報処理装置100は、第2環境102に、取得したサイズと、所定の記憶領域110に複製した対象ソフトウェアを取得可能にする情報とを送信する。【選択図】図1

Description

本発明は、情報処理装置、情報処理方法、および情報処理プログラムに関する。
従来、仮想化基盤を構築する構築ツールが存在する。構築ツールは、例えば、コンピュータの特定の記憶領域内に仮想マシンを展開し、仮想マシンを実装する。仮想マシンは、例えば、構築ツールの提供者とは異なる提供者によって提供されるソフトウェアである。例えば、構築ツールは、仮想マシンの提供者から、仮想マシンを展開する記憶領域のサイズを取得し、取得したサイズ分の記憶領域を確保して仮想マシンを展開する。
先行技術としては、例えば、商用環境において、リリース用の仮想サーバテンプレートを用いたイメージコピーにより、商用サーバを構築するものがある。また、例えば、仮想マシンイメージを構築する途中までの追加処理をマスタイメージに適用した中間マスタイメージを構築する技術がある。
特開2016-45675号公報 国際公開第2014/155693号
しかしながら、従来技術では、仮想マシンを効率的に実装することは難しい。例えば、仮想マシンの提供者から取得されたサイズが、構築ツールが実際に仮想マシンを展開した記憶領域のサイズと一致しないことがある。構築ツールは、実際に仮想マシンを展開しなければ、仮想マシンを展開する記憶領域の正確なサイズを特定することができず、仮想マシンを効率的に展開することができないことがある。
1つの側面では、本発明は、対象ソフトウェアを効率よく実装可能にすることを目的とする。
1つの実施態様によれば、対象ソフトウェアが動作中の第1環境から、前記対象ソフトウェアを、所定の記憶領域に複製し、前記対象ソフトウェアのサイズを取得し、前記対象ソフトウェアを要求する第2環境に、取得した前記サイズと、前記記憶領域に複製した前記対象ソフトウェアを取得可能にする情報とを送信する情報処理装置、情報処理方法、および情報処理プログラムが提案される。
一態様によれば、対象ソフトウェアを効率よく実装可能にすることが可能になる。
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。 図2は、情報処理システム200の一例を示す説明図である。 図3は、情報処理装置100のハードウェア構成例を示すブロック図である。 図4は、VM情報管理テーブル400の記憶内容の一例を示す説明図である。 図5は、第1サーバ装置201のハードウェア構成例を示すブロック図である。 図6は、情報処理装置100の機能的構成例を示すブロック図である。 図7は、情報処理装置100の動作の流れを示す説明図である。 図8は、情報処理装置100の動作の一例を示す説明図(その1)である。 図9は、情報処理装置100の動作の一例を示す説明図(その2)である。 図10は、情報処理装置100の動作の一例を示す説明図(その3)である。 図11は、情報処理装置100の動作の一例を示す説明図(その4)である。 図12は、情報処理装置100の動作の一例を示す説明図(その5)である。 図13は、情報処理装置100の動作の別の例を示す説明図(その1)である。 図14は、情報処理装置100の動作の別の例を示す説明図(その2)である。 図15は、情報処理装置100の動作の別の例を示す説明図(その3)である。 図16は、更新処理手順の一例を示すフローチャートである。 図17は、通知処理手順の一例を示すフローチャートである。 図18は、実装処理手順の一例を示すフローチャートである。
以下に、図面を参照して、本発明にかかる情報処理装置、情報処理方法、および情報処理プログラムの実施の形態を詳細に説明する。
(実施の形態にかかる情報処理方法の一実施例)
図1は、実施の形態にかかる情報処理方法の一実施例を示す説明図である。情報処理装置100は、対象コンピュータにおいて対象ソフトウェアを効率よく実装可能にするためのコンピュータである。
対象ソフトウェアは、例えば、仮想マシン(Virtual Machine)などである。対象ソフトウェアは、例えば、アプリケーションであってもよい。以下の説明では、仮想マシンを「VM」と表記する場合がある。
対象コンピュータは、例えば、対象ソフトウェアの実装先となるコンピュータである。対象コンピュータは、例えば、サーバなどである。対象コンピュータは、例えば、VMを実装し、仮想化基盤を構築するための構築ツールを有する。構築ツールは、例えば、ソフトウェアである。構築ツールは、具体的には、VM上で実現される。
従来、構築ツールは、仮想化基盤を構築する際、コンピュータの特定の記憶領域にVMを展開することにより、VMを実装する。展開は、例えば、VMのインストーラを用いて、設定されたパラメータに応じてVMを生成することである。パラメータは、例えば、VMを形成するメモリのサイズなどである。インストーラは、例えば、VMのISO(International Organization for Standardization)形式のファイルに対応する。
例えば、構築ツールは、VMの提供元から、VMを展開する記憶領域のサイズを取得し、取得したサイズ分の記憶領域を確保してVMを展開する。例えば、構築ツールは、VMの版数アップの際、同様に、版数アップ後のVMの提供元から、版数アップ後のVMを展開する記憶領域のサイズを取得し、取得したサイズ分の記憶領域を確保して版数アップ後のVMを展開し直すことがある。
しかしながら、VMを効率的に実装することが難しい場合がある。例えば、VMの提供元から取得されたサイズが、構築ツールが実際にVMを展開した記憶領域のサイズと一致しないことがある。構築ツールは、ISO形式のファイルがあっても、実際にVMを展開しなければ、VMを展開する記憶領域の正確なサイズを特定することができず、VMを効率的に展開することができない。
例えば、VMの版数アップの際、VMの提供元が公開するVMを展開する記憶領域のサイズに、VMの版数アップが反映されていない場合が考えられる。この場合、VMの提供元から取得されたサイズが、構築ツールが実際に版数アップ後のVMを展開した記憶領域のサイズと一致しなくなることがある。
そこで、本実施の形態では、他のコンピュータにおいて実装済みのソフトウェアを利用することにより、対象コンピュータにおいて対象ソフトウェアを効率よく実装可能にすることができる情報処理方法について説明する。
図1において、情報処理装置100は、第1環境101にアクセス可能である。第1環境101は、例えば、対象ソフトウェアが動作中の環境である。第1環境101は、具体的には、対象ソフトウェアが動作中の第1コンピュータによって実現される。第1コンピュータは、例えば、対象ソフトウェアが実装済みである。第1コンピュータは、具体的には、対象ソフトウェアが展開済みである。対象ソフトウェアは、例えば、VMである。対象ソフトウェアは、例えば、アプリケーションであってもよい。
情報処理装置100は、第2環境102にアクセス可能である。第2環境102は、例えば、対象ソフトウェアを要求する環境であり、対象ソフトウェアを実装する環境である。第2環境102は、具体的には、対象ソフトウェアを要求する第2コンピュータによって実現される。第1環境101を含み、異なるソフトウェアが動作中である複数の環境が存在していてもよい。情報処理装置100は、対象ソフトウェアの指定を、第2環境102から受け付ける。
(1-1)情報処理装置100は、第1環境101から、対象ソフトウェアのサイズを取得する。情報処理装置100は、例えば、予め、複数の環境のそれぞれの環境から、動作中であるソフトウェアのサイズを取得しておく。情報処理装置100は、例えば、対象ソフトウェアの指定を受け付けた際、予め取得しておいたサイズのうち、指定された対象ソフトウェアのサイズを抽出することにより、第1環境101から、指定された対象ソフトウェアのサイズを取得する。
(1-2)情報処理装置100は、第1環境101から、対象ソフトウェアを、所定の記憶領域110に複製する。所定の記憶領域110は、例えば、情報処理装置100の記憶領域である。情報処理装置100は、例えば、予め、複数の環境のそれぞれの環境から、動作中であるソフトウェアの識別情報を、当該環境と対応付けて取得しておく。情報処理装置100は、例えば、予め取得しておいた識別情報に基づいて、複数の環境のうち、指定された対象ソフトウェアが動作中の第1環境101を特定し、特定した第1環境101から、指定された対象ソフトウェアを、所定の記憶領域110に複製する。
(1-3)情報処理装置100は、第2環境102に、取得したサイズと、所定の記憶領域110に複製した対象ソフトウェアを取得可能にする情報とを送信する。所定の記憶領域110に複製した対象ソフトウェアを取得可能にする情報は、例えば、対象ソフトウェアを複製した所定の記憶領域110のアドレスである。所定の記憶領域110に複製した対象ソフトウェアを取得可能にする情報は、例えば、対象ソフトウェアそのものであってもよい。情報処理装置100は、例えば、第2環境102に、取得したサイズと、対象ソフトウェアを複製した所定の記憶領域110のアドレスとを送信する。
これにより、情報処理装置100は、第1環境101において実装済みの動作中の対象ソフトウェアのサイズを、第2環境102に提供することができる。このため、情報処理装置100は、第2環境102において、対象ソフトウェアを記憶する記憶領域として、適切なサイズの記憶領域を確保可能にすることができる。情報処理装置100は、第2環境102において、取得した対象ソフトウェアを、確保した記憶領域に記憶可能にすることができる。従って、情報処理装置100は、第2環境102において、対象ソフトウェアを効率よく実装可能にすることができる。
ここでは、情報処理装置100が、予め、それぞれの環境から、動作中であるソフトウェアのサイズを取得しておく場合について説明したが、これに限らない。例えば、情報処理装置100が、予め、それぞれの環境から、動作中であるソフトウェアのサイズを取得しない場合があってもよい。この場合、情報処理装置100は、例えば、対象ソフトウェアの指定を受け付けた際、複数の環境のそれぞれの環境に、指定された対象ソフトウェアのサイズを問い合わせる。これにより、情報処理装置100は、複数の環境に含まれる第1環境101から、指定された対象ソフトウェアのサイズを取得する。
ここでは、情報処理装置100が、第1環境101から、対象ソフトウェアのサイズを取得する場合について説明したが、これに限らない。例えば、情報処理装置100が、複製した対象ソフトウェアのサイズを計測することにより、対象ソフトウェアのサイズを取得する場合があってもよい。
ここでは、情報処理装置100が、予め、複数の環境のそれぞれの環境から、動作中であるソフトウェアの識別情報を、当該環境と対応付けて取得しておく場合について説明したが、これに限らない。例えば、情報処理装置100が、予め、複数の環境のそれぞれの環境から、動作中であるソフトウェアの識別情報を、当該環境と対応付けて取得しない場合があってもよい。この場合、情報処理装置100は、例えば、対象ソフトウェアの指定を受け付けた際、複数の環境のそれぞれの環境に、指定された対象ソフトウェアを問い合わせることにより、複数の環境に含まれる第1環境101から、指定された対象ソフトウェアを取得する。
ここでは、情報処理装置100が、第2環境102に、所定の記憶領域110に複製した対象ソフトウェアを取得可能にする情報を送信する場合について説明したが、これに限らない。例えば、情報処理装置100が、第2環境102に、第1環境101で動作中の対象ソフトウェアを取得可能にする情報を送信する場合があってもよい。第1環境101で動作中の対象ソフトウェアを取得可能にする情報は、例えば、対象ソフトウェアが動作中の第1環境101のアドレスである。
ここでは、所定の記憶領域110が、情報処理装置100の記憶領域である場合について説明したが、これに限らない。例えば、所定の記憶領域110が、情報処理装置100以外の他のコンピュータの記憶領域である場合があってもよい。他のコンピュータは、例えば、情報処理装置100と通信可能なストレージ装置である。
(情報処理システム200の一例)
次に、図2を用いて、図1に示した情報処理装置100を適用した、情報処理システム200の一例について説明する。
図2は、情報処理システム200の一例を示す説明図である。図2において、情報処理システム200は、情報処理装置100と、1以上の第1サーバ装置201と、1以上の第2サーバ装置202とを含む。
情報処理システム200において、情報処理装置100と第1サーバ装置201とは、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、LAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどである。情報処理システム200において、情報処理装置100と第2サーバ装置202とは、有線または無線のネットワーク210を介して接続される。
情報処理装置100は、いずれかの第1サーバ装置201から、処理要求を受信する。処理要求は、例えば、対象VMの識別情報を含む。識別情報は、例えば、対象VMのVM種を含む。識別情報は、例えば、対象VMの版数を含む。処理要求は、第1サーバ装置201において対象VMを実装し易くするための処理を、情報処理装置100に要求する。
情報処理装置100は、それぞれの第2サーバ装置202に、当該第2サーバ装置202で動作中のVMの識別情報とサイズとの問い合わせを送信する。情報処理装置100は、問い合わせにより、それぞれの第2サーバ装置202で動作中のVMの識別情報とサイズとを取得し、当該第2サーバ装置202の識別情報と対応付けて、図4に後述するVM情報管理テーブル400に記憶する。
情報処理装置100は、例えば、定期的に、それぞれの第2サーバ装置202で動作中のVMの識別情報とサイズとを取得し、当該第2サーバ装置202の識別情報と対応付けて、図4に後述するVM情報管理テーブル400に記憶しておく。情報処理装置100は、例えば、処理要求を受信したことに応じて、それぞれの第2サーバ装置202で動作中のVMの識別情報とサイズとを取得する。情報処理装置100は、例えば、取得したそれぞれの第2サーバ装置202で動作中のVMの識別情報とサイズとを、当該第2サーバ装置202の識別情報と対応付けて、図4に後述するVM情報管理テーブル400に記憶してもよい。
情報処理装置100は、受信した処理要求に含まれる対象VMの識別情報を、図4に後述するVM情報管理テーブル400から検索する。情報処理装置100は、検索された対象VMの識別情報に対応付けて図4に後述するVM情報管理テーブル400に記憶された、対象VMのサイズと、対象VMが動作中のいずれかの第2サーバ装置202の識別情報とを取得する。情報処理装置100は、対象VMのサイズを、第1サーバ装置201に送信する。
情報処理装置100は、取得したいずれかの第2サーバ装置202の識別情報に基づいて、当該第2サーバ装置202と通信し、当該第2サーバ装置202から、対象VMを、所定の記憶領域に複製する。情報処理装置100は、第1通知を、処理要求の送信元であるいずれかの第1サーバ装置201に送信する。第1通知は、例えば、所定の記憶領域に複製した対象VMを、処理要求の送信元であるいずれかの第1サーバ装置201において取得可能にする情報である。第1通知は、具体的には、対象VMを複製した記憶領域のアドレスなどを含んでいてもよい。
情報処理装置100は、対象VMの識別情報が検索されない場合、対象VMが動作中の第2サーバ装置202が存在しないことを示す第2通知を、処理要求の送信元であるいずれかの第1サーバ装置201に送信する。情報処理装置100は、例えば、サーバ、または、PC(Personal Computer)などである。
第1サーバ装置201は、VMを実装するコンピュータである。第1サーバ装置201は、利用者の操作入力に基づき、対象VMの識別情報を取得する。第1サーバ装置201は、取得した対象VMの識別情報を含む処理要求を、情報処理装置100に送信する。第1サーバ装置201は、対象VMのサイズを、情報処理装置100から受信する。第1サーバ装置201は、自装置において、受信した対象VMのサイズ分の記憶領域を確保する。第1サーバ装置201は、第1通知を、情報処理装置100から受信する。第1サーバ装置201は、第1通知に基づいて、対象VMを、情報処理装置100の記憶領域から取得する。第1サーバ装置201は、取得した対象VMを、確保した記憶領域に複製する。
第1サーバ装置201は、第1通知に代わり、第2通知を受信する場合があってもよい。第1サーバ装置201は、第2通知を受信すると、対象VMの提供元によって指定された所定のサイズを取得する。第1サーバ装置201は、自装置において、取得した所定のサイズ分の記憶領域を確保する。第1サーバ装置201は、対象VMの展開用ファイルを取得する。展開用ファイルは、例えば、インストーラである。展開用ファイルは、具体的には、ISOファイルである。第1サーバ装置201は、展開用ファイルに基づいて、対象VMを、確保した記憶領域に展開する。第1サーバ装置201は、例えば、サーバ、または、PCなどである。
第2サーバ装置202は、VMが動作中のコンピュータである。第2サーバ装置202は、自装置で動作中のVMの識別情報とサイズとの問い合わせを、情報処理装置100から受信する。第2サーバ装置202は、問い合わせを受信すると、自装置で動作中のVMの識別情報とサイズとを、情報処理装置100に送信する。第2サーバ装置202は、例えば、サーバ、または、PCなどである。
ここでは、便宜上、第1サーバ装置201と、第2サーバ装置202とを区別する場合について説明したが、これに限らない。例えば、第1サーバ装置201にも、第2サーバ装置202にもなり得る単一のコンピュータが存在する場合があってもよい。
(情報処理装置100のハードウェア構成例)
次に、図3を用いて、情報処理装置100のハードウェア構成例について説明する。
図3は、情報処理装置100のハードウェア構成例を示すブロック図である。図3において、情報処理装置100は、CPU(Central Processing Unit)301と、メモリ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を有していなくてもよい。
(VM情報管理テーブル400の記憶内容)
次に、図4を用いて、VM情報管理テーブル400の記憶内容の一例について説明する。VM情報管理テーブル400は、例えば、図3に示した情報処理装置100のメモリ302や記録媒体305などの記憶領域により実現される。
図4は、VM情報管理テーブル400の記憶内容の一例を示す説明図である。図4に示すように、VM情報管理テーブル400は、Noと、VM種と、版数と、所在と、サイズとのフィールドを有する。VM情報管理テーブル400は、VMごとに各フィールドに情報を設定することにより、VM情報がレコード400-aとして記憶される。aは、任意の整数である。
Noのフィールドには、いずれかの第2サーバ装置202で動作中のVMに関するVM情報に割り振られた番号が設定される。VM種のフィールドには、上記VMの識別情報を形成する上記VMの種類が設定される。版数のフィールドには、上記VMの識別情報を形成する上記VMの版数が設定される。所在のフィールドには、上記VMが動作中の上記第2サーバ装置202を識別する識別情報が設定される。サイズのフィールドには、上記VMのサイズが設定される。
(第1サーバ装置201のハードウェア構成例)
次に、図5を用いて、第1サーバ装置201のハードウェア構成例について説明する。
図5は、第1サーバ装置201のハードウェア構成例を示すブロック図である。図5において、第1サーバ装置201は、CPU501と、メモリ502と、ネットワークI/F503と、記録媒体I/F504と、記録媒体505とを有する。また、各構成部は、バス500によってそれぞれ接続される。
ここで、CPU501は、第1サーバ装置201の全体の制御を司る。メモリ502は、例えば、ROM、RAMおよびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMやROMが各種プログラムを記憶し、RAMがCPU501のワークエリアとして使用される。メモリ502に記憶されるプログラムは、CPU501にロードされることにより、コーディングされている処理をCPU501に実行させる。
ネットワークI/F503は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して他のコンピュータに接続される。そして、ネットワークI/F503は、ネットワーク210と内部のインターフェースを司り、他のコンピュータからのデータの入出力を制御する。ネットワークI/F503は、例えば、モデムやLANアダプタなどである。
記録媒体I/F504は、CPU501の制御に従って記録媒体505に対するデータのリード/ライトを制御する。記録媒体I/F504は、例えば、ディスクドライブ、SSD、USBポートなどである。記録媒体505は、記録媒体I/F504の制御で書き込まれたデータを記憶する不揮発メモリである。記録媒体505は、例えば、ディスク、半導体メモリ、USBメモリなどである。記録媒体505は、第1サーバ装置201から着脱可能であってもよい。
第1サーバ装置201は、上述した構成部の他、例えば、キーボード、マウス、ディスプレイ、プリンタ、スキャナ、マイク、スピーカーなどを有してもよい。また、第1サーバ装置201は、記録媒体I/F504や記録媒体505を複数有していてもよい。また、第1サーバ装置201は、記録媒体I/F504や記録媒体505を有していなくてもよい。
(第2サーバ装置202のハードウェア構成例)
第2サーバ装置202のハードウェア構成例は、具体的には、図5に示した第1サーバ装置201のハードウェア構成例と同様であるため、説明を省略する。
(情報処理装置100の機能的構成例)
次に、図6を用いて、情報処理装置100の機能的構成例について説明する。
図6は、情報処理装置100の機能的構成例を示すブロック図である。情報処理装置100は、第1記憶部600と、第1取得部601と、特定部602と、複製部603と、第1出力部604とを含む。
第1記憶部600は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域によって実現される。以下では、第1記憶部600が、情報処理装置100に含まれる場合について説明するが、これに限らない。例えば、第1記憶部600が、情報処理装置100とは異なる装置に含まれ、第1記憶部600の記憶内容が情報処理装置100から参照可能である場合があってもよい。
第1取得部601~第1出力部604は、制御部の一例として機能する。第1取得部601~第1出力部604は、具体的には、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶されたプログラムをCPU301に実行させることにより、または、ネットワークI/F303により、その機能を実現する。各機能部の処理結果は、例えば、図3に示したメモリ302や記録媒体305などの記憶領域に記憶される。
第1記憶部600は、各機能部の処理において参照され、または更新される各種情報を記憶する。第1記憶部600は、例えば、ソフトウェアのサイズと、当該ソフトウェアの識別情報とを、複数の環境のうち、当該ソフトウェアが動作中の環境の識別情報に対応付けて記憶する。ソフトウェアは、例えば、VMである。環境は、例えば、第2サーバ装置202によって実現される。ソフトウェアの識別情報は、例えば、当該ソフトウェアの種類、または、当該ソフトウェアの版数などを含む。環境の識別情報は、例えば、当該環境の名称、または、当該環境のアドレスなどを含む。
第1記憶部600は、具体的には、図4に示したVM情報管理テーブル400を記憶する。ソフトウェアのサイズと、当該ソフトウェアの識別情報と、当該ソフトウェアが動作中の環境の識別情報とは、例えば、第1取得部601によって取得される。
第1記憶部600は、例えば、複数の環境のいずれかの環境で動作中のソフトウェアを記憶する。第1記憶部600は、具体的には、複数の環境のいずれかの環境で動作中のVMを記憶する。ソフトウェアは、例えば、第1取得部601によって取得される。第1記憶部600は、例えば、対象ソフトウェアを展開可能にする情報を記憶していてもよい。対象ソフトウェアを展開可能にする情報は、例えば、対象ソフトウェアのインストーラである。インストーラは、例えば、ISOファイルに対応する。
第1取得部601は、各機能部の処理に用いられる各種情報を取得する。第1取得部601は、取得した各種情報を、第1記憶部600に記憶し、または、各機能部に出力する。また、第1取得部601は、第1記憶部600に記憶しておいた各種情報を、各機能部に出力してもよい。第1取得部601は、例えば、利用者の操作入力に基づき、各種情報を取得する。第1取得部601は、例えば、情報処理装置100とは異なる装置から、各種情報を受信してもよい。
第1取得部601は、例えば、複数の環境のうち、対象ソフトウェアを要求する第2環境から、対象ソフトウェアの識別情報を取得する。第1取得部601は、具体的には、第2環境から、対象ソフトウェアの種類と、対象ソフトウェアの版数とを受信する。
第1取得部601は、例えば、複数の環境のうち、ソフトウェアが動作中の環境から、当該ソフトウェアのサイズと、当該ソフトウェアの識別情報と、当該ソフトウェアが動作中の環境の識別情報とを取得する。第1取得部601は、例えば、取得したソフトウェアのサイズと、当該ソフトウェアの識別情報と、当該ソフトウェアが動作中の環境の識別情報とを対応付けて、第1記憶部600に記憶する。
第1取得部601は、具体的には、定期的に、ソフトウェアが動作中のそれぞれの環境に、当該ソフトウェアのサイズと、当該ソフトウェアの識別情報と、当該環境の識別情報との問い合わせを送信する。第1取得部601は、具体的には、問い合わせの結果、ソフトウェアが動作中のそれぞれの環境から、当該ソフトウェアのサイズと、当該ソフトウェアの識別情報と、当該環境の識別情報とを受信する。これにより、第1取得部601は、複数の環境のうち、対象ソフトウェアが動作中の環境を特定する際の所要時間の低減化を図ることができる。
第1取得部601は、例えば、複数の環境のうち、ソフトウェアが動作中の環境から、当該ソフトウェアの識別情報と、当該ソフトウェアが動作中の環境の識別情報とを取得してもよい。第1取得部601は、例えば、取得したソフトウェアの識別情報と、当該ソフトウェアが動作中の環境の識別情報とを対応付けて、第1記憶部600に記憶する。
第1取得部601は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、利用者による所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。開始トリガーは、例えば、いずれかの機能部が所定の情報を出力したことであってもよい。第1取得部601は、具体的には、対象ソフトウェアの識別情報を取得したことを、特定部602と、複製部603との処理を開始する開始トリガーとして受け付けてもよい。
特定部602は、対象ソフトウェアのサイズを特定する。特定部602は、例えば、第1記憶部600から、対象ソフトウェアの識別情報に対応付けられた対象ソフトウェアのサイズを読み出すことにより、対象ソフトウェアのサイズを特定する。これにより、特定部602は、予め第1環境から取得済みの対象ソフトウェアのサイズを、第1記憶部600から読み出すことにより取得することができる。
特定部602は、例えば、第1取得部601で対象ソフトウェアの識別情報を取得した際、それぞれの環境に、対象ソフトウェアのサイズの問い合わせを送信してもよい。問い合わせは、例えば、対象ソフトウェアの識別情報を含む。特定部602は、例えば、問い合わせの結果、対象ソフトウェアが動作中の第1環境から、対象ソフトウェアのサイズを受信する。特定部602は、具体的には、第1取得部601で対象ソフトウェアのサイズが取得されない場合、それぞれの環境に、対象ソフトウェアのサイズの問い合わせを送信する。これにより、特定部602は、通信量の増大化を抑制することができる。
特定部602は、例えば、複製部603で対象ソフトウェアを複製した後、複製した対象ソフトウェアのサイズを計測することにより、対象ソフトウェアのサイズを特定してもよい。特定部602は、具体的には、第1取得部601で対象ソフトウェアのサイズが取得されない場合、複製した対象ソフトウェアのサイズを計測する。これにより、特定部602は、通信量の増大化を抑制することができる。
複製部603は、対象ソフトウェアの識別情報を取得した際、第1環境から、対象ソフトウェアを、所定の記憶領域に複製する。所定の記憶領域は、例えば、情報処理装置100の記憶領域である。所定の記憶領域は、具体的には、第1記憶部600の記憶領域である。所定の記憶領域は、例えば、情報処理装置100以外の他のコンピュータの記憶領域であってもよい。
複製部603は、例えば、対象ソフトウェアが動作中の第1環境から、対象ソフトウェアを取得し、所定の記憶領域に記憶する。この際、複製部603は、特定部602で対象ソフトウェアのサイズが特定済みであれば、当該サイズ分の記憶領域を確保し、対象ソフトウェアが動作中の第1環境から、対象ソフトウェアを取得し、確保した記憶領域に記憶してもよい。
複製部603は、具体的には、対象ソフトウェアの識別情報を取得した際、第1記憶部600から、対象ソフトウェアの識別情報に対応付けられた、対象ソフトウェアが動作中の第1環境の識別情報を読み出す。複製部603は、具体的には、読み出した識別情報に基づいて、第1環境に、対象ソフトウェアの問い合わせを送信する。問い合わせは、例えば、対象ソフトウェアの識別情報を含む。複製部603は、具体的には、問い合わせの結果、第1環境から、対象ソフトウェアを取得する。これにより、複製部603は、第2環境で対象ソフトウェアを実装し易くすることができる。
複製部603は、例えば、対象ソフトウェアの識別情報を取得した際、複数の環境のそれぞれの環境に、対象ソフトウェアの問い合わせを送信してもよい。問い合わせは、例えば、対象ソフトウェアの識別情報を含む。複製部603は、例えば、問い合わせの結果、複数の環境のうち、対象ソフトウェアが動作中の第1環境から、対象ソフトウェアを取得する。これにより、複製部603は、第2環境で対象ソフトウェアを実装し易くすることができる。
第1出力部604は、少なくともいずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F303による外部装置への送信、または、メモリ302や記録媒体305などの記憶領域への記憶である。これにより、第1出力部604は、少なくともいずれかの機能部の処理結果を利用者に通知可能にし、情報処理装置100の利便性の向上を図ることができる。
第1出力部604は、第2環境に、取得したサイズと、所定の記憶領域に複製した対象ソフトウェアを取得可能にする情報とを出力する。所定の記憶領域に複製した対象ソフトウェアを取得可能にする情報は、例えば、対象ソフトウェアを複製した所定の記憶領域の場所を示す情報である。場所を示す情報は、例えば、アドレスである。所定の記憶領域に複製した対象ソフトウェアを取得可能にする情報は、例えば、対象ソフトウェアそのものであってもよい。
第1出力部604は、例えば、第2環境に、取得したサイズと、対象ソフトウェアを複製した所定の記憶領域の場所を示す情報とを送信する。これにより、第1出力部604は、第2環境で、対象ソフトウェアを展開する適切なサイズの記憶領域を確保可能にし、対象ソフトウェアを所定の記憶領域から取得可能にすることができ、適切なサイズの記憶領域に対象ソフトウェアを記憶可能にすることができる。このため、第1出力部604は、第2環境で、対象ソフトウェアを実装し易くすることができる。
第1出力部604は、第1記憶部600に、対象ソフトウェアの識別情報が含まれなければ、第2環境に、取得したサイズと、対象ソフトウェアを展開可能にする情報とを送信してもよい。第1出力部604は、例えば、第2環境に、取得したサイズと、対象ソフトウェアのインストーラとを送信する。これにより、第1出力部604は、第2環境で、対象ソフトウェアを展開する適切なサイズの記憶領域を確保可能にし、適切なサイズの記憶領域に対象ソフトウェアを展開可能にすることができる。このため、第1出力部604は、第2環境で、対象ソフトウェアを実装し易くすることができる。
第1出力部604は、第2環境に、取得したサイズと、第1環境から対象ソフトウェアを取得可能にする情報とを送信してもよい。第1出力部604は、例えば、第2環境に、取得したサイズと、第1環境の識別情報とを送信する。これにより、第1出力部604は、第2環境で、対象ソフトウェアを展開する適切なサイズの記憶領域を確保可能にし、対象ソフトウェアを第1環境から取得可能にすることができ、適切なサイズの記憶領域に対象ソフトウェアを展開可能にすることができる。このため、第1出力部604は、第2環境で、対象ソフトウェアを実装し易くすることができる。
第1サーバ装置201は、第2記憶部610と、第2取得部611と、生成部612と、第2出力部613とを含む。
第2記憶部610は、例えば、図5に示したメモリ502や記録媒体505などの記憶領域によって実現される。以下では、第2記憶部610が、第1サーバ装置201に含まれる場合について説明するが、これに限らない。例えば、第2記憶部610が、第1サーバ装置201とは異なる装置に含まれ、第2記憶部610の記憶内容が第1サーバ装置201から参照可能である場合があってもよい。
第2取得部611~第2出力部613は、制御部の一例として機能する。第2取得部611~第2出力部613は、具体的には、例えば、図5に示したメモリ502や記録媒体505などの記憶領域に記憶されたプログラムをCPU501に実行させることにより、または、ネットワークI/F503により、その機能を実現する。各機能部の処理結果は、例えば、図5に示したメモリ502や記録媒体505などの記憶領域に記憶される。
第2記憶部610は、各機能部の処理において参照され、または更新される各種情報を記憶する。第2記憶部610は、例えば、対象ソフトウェアの識別情報を記憶する。対象ソフトウェアの識別情報は、例えば、第2取得部611によって取得される。第2記憶部610は、例えば、対象ソフトウェアを所定の記憶領域から取得可能にする情報を記憶する。対象ソフトウェアを所定の記憶領域から取得可能にする情報は、例えば、第2取得部611によって取得される。
第2記憶部610は、例えば、対象ソフトウェアを第1環境から取得可能にする情報を記憶する。対象ソフトウェアを第1環境から取得可能にする情報は、例えば、第2取得部611によって取得される。第2記憶部610は、例えば、対象ソフトウェアを展開可能にする情報を記憶する。対象ソフトウェアを展開可能にする情報は、例えば、第2取得部611によって取得される。第2記憶部610は、例えば、対象ソフトウェアを記憶する。対象ソフトウェアは、例えば、第2取得部611によって取得される。
第2取得部611は、各機能部の処理に用いられる各種情報を取得する。第2取得部611は、取得した各種情報を、第2記憶部610に記憶し、または、各機能部に出力する。また、第2取得部611は、第2記憶部610に記憶しておいた各種情報を、各機能部に出力してもよい。第2取得部611は、例えば、利用者の操作入力に基づき、各種情報を取得する。第2取得部611は、例えば、第1サーバ装置201とは異なる装置から、各種情報を受信してもよい。
第2取得部611は、例えば、対象ソフトウェアの識別情報を取得する。第2取得部611は、具体的には、利用者の操作入力に基づき、対象ソフトウェアの識別情報の入力を受け付けることにより、対象ソフトウェアの識別情報を取得する。
第2取得部611は、例えば、対象ソフトウェアのサイズを取得する。第2取得部611は、具体的には、対象ソフトウェアのサイズを、情報処理装置100から受信する。これにより、第2取得部611は、第2記憶部610に、対象ソフトウェアを記憶する適切なサイズの記憶領域を確保可能にすることができる。
第2取得部611は、例えば、所定の記憶領域に複製した対象ソフトウェアを取得可能にする情報を取得する。第2取得部611は、具体的には、所定の記憶領域に複製した対象ソフトウェアを取得可能にする情報を、情報処理装置100から受信する。
第2取得部611は、例えば、対象ソフトウェアを展開可能にする情報を取得してもよい。第2取得部611は、具体的には、対象ソフトウェアを展開可能にする情報を、情報処理装置100から受信する。第2取得部611は、具体的には、対象ソフトウェアを展開可能にする情報を、対象ソフトウェアの開発元から取得してもよい。
第2取得部611は、例えば、第1環境から対象ソフトウェアを取得可能にする情報を取得してもよい。第2取得部611は、具体的には、第1環境から対象ソフトウェアを取得可能にする情報を、情報処理装置100から受信する。
第2取得部611は、いずれかの機能部の処理を開始する開始トリガーを受け付けてもよい。開始トリガーは、例えば、利用者による所定の操作入力があったことである。開始トリガーは、例えば、他のコンピュータから、所定の情報を受信したことであってもよい。開始トリガーは、例えば、いずれかの機能部が所定の情報を出力したことであってもよい。第2取得部611は、例えば、対象ソフトウェアのサイズを取得したことを、生成部612の処理を開始する開始トリガーとして受け付けてもよい。
生成部612は、第2記憶部610のうち、第2取得部611で取得したサイズ分の記憶領域を、対象ソフトウェアを記憶する記憶領域として確保する。これにより、生成部612は、対象ソフトウェアを実装し易くすることができる。生成部612は、例えば、対象ソフトウェアを記憶する記憶領域のサイズが、対象ソフトウェアのサイズよりも小さく、不足してしまう状況を回避することができる。生成部612は、例えば、対象ソフトウェアを記憶する記憶領域のサイズが、対象ソフトウェアのサイズより大きくなる状況を回避することができる。
生成部612は、第2取得部611でサイズを取得していなければ、第2記憶部610のうち、所定のサイズ分の記憶領域を、対象ソフトウェアを記憶する記憶領域として確保してもよい。所定のサイズは、例えば、対象ソフトウェアの開発元によって予め指定される。これにより、生成部612は、情報処理装置100で対象ソフトウェアのサイズが取得されなかった場合も、対象ソフトウェアを実装可能にすることができる。
生成部612は、第2取得部611で取得した所定の記憶領域に複製された対象ソフトウェアを取得可能にする情報に基づいて、所定の記憶領域に複製された対象ソフトウェアを取得し、確保した記憶領域に記憶する。これにより、生成部612は、対象ソフトウェアを効率よく実装することができる。
生成部612は、第2取得部611で取得した対象ソフトウェアを展開可能にする情報に基づいて、対象ソフトウェアを、確保した記憶領域に展開してもよい。これにより、生成部612は、対象ソフトウェアを効率よく展開することができる。
生成部612は、第2取得部611で取得した第1環境から対象ソフトウェアを取得可能にする情報に基づいて、第1環境から対象ソフトウェアを取得し、確保した記憶領域に記憶してもよい。これにより、生成部612は、対象ソフトウェアを効率よく実装することができる。
第2出力部613は、少なくともいずれかの機能部の処理結果を出力する。出力形式は、例えば、ディスプレイへの表示、プリンタへの印刷出力、ネットワークI/F503による外部装置への送信、または、メモリ502や記録媒体505などの記憶領域への記憶である。これにより、第2出力部613は、少なくともいずれかの機能部の処理結果を利用者に通知可能にし、第1サーバ装置201の利便性の向上を図ることができる。
第2出力部613は、対象ソフトウェアの識別情報を、情報処理装置100に送信する。第2出力部613は、例えば、第2取得部611で取得した対象ソフトウェアの識別情報を、情報処理装置100に送信する。これにより、第2出力部613は、情報処理装置100が、対象ソフトウェアを特定可能にすることができる。
(情報処理装置100の動作の流れ)
次に、図7を用いて、情報処理装置100の動作の流れについて説明する。
図7は、情報処理装置100の動作の流れを示す説明図である。図7において、情報処理装置100は、第1サーバ装置201に対応するサーバaと通信可能であり、第2サーバ装置202に対応するサーバAと通信可能であり、第2サーバ装置202に対応するサーバBと通信可能である。サーバaは、例えば、未リリースであり、運用開始前である。サーバAは、例えば、リリース済みであり、運用中である。サーバBは、例えば、リリース済みであり、運用中である。情報処理装置100は、VMを記憶するVMコピー領域700を有する。
(7-1)情報処理装置100は、定期的に、サーバAと通信し、サーバAで動作中のVMのVM種と版数とサイズとを取得する。情報処理装置100は、サーバAで動作中のVMのVM種と版数とサイズとを、サーバAと対応付けて、VM情報管理テーブル400に記憶する。情報処理装置100は、定期的に、サーバBと通信し、サーバBで動作中のVMのVM種と版数とサイズとを取得する。情報処理装置100は、サーバBで動作中のVMのVM種と版数とサイズとを、サーバBと対応付けて、VM情報管理テーブル400に記憶する。
(7-2)情報処理装置100は、サーバaの構築ツールから、VM1のVM種と版数との組み合わせを含む処理要求を受信する。情報処理装置100は、処理要求に含まれるVM1のVM種と版数との組み合わせを、VM情報管理テーブル400から検索する。情報処理装置100は、検索されたVM種と版数との組み合わせに対応付けてVM情報管理テーブル400に記憶されたVM1のサイズを取得する。情報処理装置100は、検索されたVM種と版数との組み合わせに対応付けてVM情報管理テーブル400に記憶されたVM1が所在するサーバAを特定する。
情報処理装置100は、特定したサーバAから、VM1を、VMコピー領域700に複製する。情報処理装置100は、取得したVM1のサイズと、VM1を複製したVMコピー領域700のアドレスとを含む通知を、サーバaの構築ツールに送信する。サーバaの構築ツールは、通知を受信する。サーバaの構築ツールは、自装置に、通知に含まれるVM1のサイズ分の展開領域を作成する。サーバaの構築ツールは、通知に含まれるアドレスに基づいて、VMコピー領域700から、VM1を、作成した展開領域に複製する。
これにより、情報処理装置100は、サーバaで、VM1を実装し易くすることができる。情報処理装置100は、例えば、サーバaで、適切なサイズの展開領域を作成可能にすることができ、展開領域のサイズがVM1のサイズに不足してしまう状況を回避することができる。
(情報処理装置100の動作の一例)
次に、図8~図12を用いて、情報処理装置100の動作の一例について説明する。
図8~図12は、情報処理装置100の動作の一例を示す説明図である。図8~図12において、情報処理システム200により、仮想化基盤が構築される。
図8において、第2サーバ装置202に対応するサーバ#nが存在する。nは、例えば、1~64の整数である。それぞれのサーバ#nは、例えば、同一のネットワーク210に接続される。それぞれのサーバ#nは、例えば、HDD(Hard Disk Drive)またはSSDなどのディスク装置を複数有する。次に、図9の説明に移行する。
図9において、作業者は、サーバ#1のBIOS設定値を設定する。作業者は、サーバ#1に、ハイパーバイザのOS(operating system)をインストールする。作業者は、サーバ#1のいずれかのディスク装置を選択し、構築ツールが動作するVMを配置する構築ツール用パーティションを作成する。作業者は、構築ツール用パーティションに、構築ツールが動作するVMをインストールする。以下の説明では、便宜上、構築ツールが動作するVMを「構築ツール」と表記する場合がある。作業者は、サーバ#1の別のディスク装置を選択し、構築ツールが対象VMを配置するVM用パーティションを作成する。次に、図10の説明に移行する。
図10において、構築ツールは、対象VMのVM種と版数との組み合わせを含む処理要求を、情報処理装置100に送信する。構築ツールは、例えば、作業者の操作入力に基づき、VM種と版数との組み合わせを含む処理要求を生成し、情報処理装置100に送信する。構築ツールは、例えば、予め指定されたVM種と版数との組み合わせを含む処理要求を生成し、情報処理装置100に送信してもよい。次に、図11の説明に移行する。
図11において、情報処理装置100は、処理要求を受信する。情報処理装置100は、VM情報管理テーブル400から、受信した処理要求に含まれるVM種と版数との組み合わせを検索する。情報処理装置100は、検索されたVM種と版数との組み合わせに対応付けてVM情報管理テーブル400に記憶された対象VMのサイズを特定する。
情報処理装置100は、検索されたVM種と版数との組み合わせに対応付けてVM情報管理テーブル400に記憶された対象VMの所在を特定する。図11の例では、情報処理装置100は、対象VMの所在としてサーバAを特定する。情報処理装置100は、特定したサーバAから、対象VMを、自装置のVMコピー領域1100に複製する。複製は、ソフトウェアのデータコピーに対応する。次に、図12の説明に移行する。
図12において、情報処理装置100は、特定した対象VMのサイズと、対象VMを複製したVMコピー領域1100のアドレスとを含む通知を、構築ツールに送信する。構築ツールは、通知を受信する。構築ツールは、通知に含まれる対象VMのサイズに基づいて、VM用パーティションにおいて、当該サイズ分の展開領域を作成する。サイズは、例えば、5GBである。
構築ツールは、通知に含まれるVMコピー領域1100のアドレスに基づいて、VMコピー領域1100から、対象VMを、作成した展開領域に複製する。複製は、ソフトウェアのデータコピーに対応する。これにより、構築ツールは、対象VMを配置する適切なサイズの展開領域を作成することができ、効率よく対象VMを実装することができる。
従来では、対象VMのサイズと、展開領域のサイズとが異なる場合、展開領域の修正作業、および、対象VMの動作確認テストなどが実施される傾向がある。これに対し、構築ツールは、対象VMのサイズと、展開領域のサイズとを一致させることができる。構築ツールは、展開領域の修正作業、および、対象VMの動作確認テストなどを回避することができ、手戻り作業を回避することができ、作業時間および作業負担の低減化を図ることができる。
(情報処理装置100の動作の別の例)
次に、図13~図15を用いて、情報処理装置100の動作の別の例について説明する。
図13~図15は、情報処理装置100の動作の別の例を示す説明図である。図13の例では、情報処理装置100は、第1環境1301にアクセス可能である。第1環境1301は、例えば、対象VMが動作中の環境である。第1環境1301は、具体的には、第2サーバ装置202によって実現される。
情報処理装置100は、第2環境1302にアクセス可能である。第2環境1302は、例えば、対象VMを要求する環境であり、対象VMを実装する環境である。第2環境1302は、具体的には、第1サーバ装置201によって実現される。情報処理装置100は、対象VMの指定を、第2環境1302から受け付ける。
(13-1)情報処理装置100は、第1環境1301から、対象VMのサイズを取得する。情報処理装置100は、例えば、予め、複数の環境のそれぞれの環境から、動作中であるVMのサイズを取得しておく。情報処理装置100は、例えば、対象VMの指定を受け付けた際、予め取得しておいたサイズのうち、指定された対象VMのサイズを抽出することにより、第1環境1301から、指定された対象VMのサイズを取得する。
(13-2)情報処理装置100は、第2環境1302に、取得したサイズと、対象VMが動作中の第1環境1301のアドレスとを送信する。第2環境1302は、サイズと、第1環境1301のアドレスとを受信する。第2環境1302は、受信したサイズ分の記憶領域を確保し、受信したアドレスに基づいて、第1環境1301から、対象VMを、確保した記憶領域に複製する。
これにより、情報処理装置100は、第1環境1301において実装済みの動作中の対象VMのサイズを、第2環境1302に提供することができる。このため、情報処理装置100は、第2環境1302において、対象VMを記憶する記憶領域として、適切なサイズの記憶領域を確保可能にすることができる。情報処理装置100は、第2環境1302において、第1環境1301から、対象VMを取得可能にすることができる。従って、情報処理装置100は、第2環境1302において、対象VMを効率よく実装可能にすることができる。次に、図14の説明に移行する。
図14の例では、情報処理装置100は、第1環境1401にアクセス可能である。第1環境1401は、例えば、対象VMが動作中の環境である。第1環境1401は、具体的には、第2サーバ装置202によって実現される。
情報処理装置100は、第2環境1402にアクセス可能である。第2環境1402は、例えば、対象VMを要求する環境であり、対象VMを実装する環境である。第2環境1402は、具体的には、第1サーバ装置201によって実現される。情報処理装置100は、対象VMの指定を、第2環境1402から受け付ける。
(14-1)情報処理装置100は、第1環境1401から、対象VMのサイズを取得する。情報処理装置100は、例えば、予め、複数の環境のそれぞれの環境から、動作中であるVMのサイズを取得しておく。情報処理装置100は、例えば、対象VMの指定を受け付けた際、予め取得しておいたサイズのうち、指定された対象VMのサイズを抽出することにより、第1環境1401から、指定された対象VMのサイズを取得する。
(14-2)情報処理装置100は、第2環境1402に、取得したサイズを送信する。第2環境1402は、サイズを受信する。第2環境1402は、受信したサイズ分の記憶領域を確保する。第2環境1402は、対象VMを展開可能にする情報を取得する。第2環境1402は、例えば、対象VMのインストーラとなるISOファイルを、対象VMの開発元から取得する。第2環境1402は、ISOファイルに基づいて、対象VMを、確保した記憶領域に展開する。
これにより、情報処理装置100は、第1環境1401において実装済みの動作中の対象VMのサイズを、第2環境1402に提供することができる。このため、情報処理装置100は、第2環境1402において、対象VMを展開する記憶領域として、適切なサイズの記憶領域を確保可能にすることができる。従って、情報処理装置100は、第2環境1402において、対象VMを効率よく実装可能にすることができる。次に、図15の説明に移行する。
図15の例では、情報処理装置100は、ストレージ装置1500にアクセス可能である。情報処理装置100は、第1環境1501にアクセス可能である。第1環境1501は、例えば、対象VMが動作中の環境である。第1環境1501は、具体的には、第2サーバ装置202によって実現される。
情報処理装置100は、第2環境1502にアクセス可能である。第2環境1502は、例えば、対象VMを要求する環境であり、対象VMを実装する環境である。第2環境1502は、具体的には、第1サーバ装置201によって実現される。情報処理装置100は、対象VMの指定を、第2環境1502から受け付ける。
(15-1)情報処理装置100は、第1環境1501から、対象VMのサイズを取得する。情報処理装置100は、例えば、予め、複数の環境のそれぞれの環境から、動作中であるVMのサイズを取得しておく。情報処理装置100は、例えば、対象VMの指定を受け付けた際、予め取得しておいたサイズのうち、指定された対象VMのサイズを抽出することにより、第1環境1501から、指定された対象VMのサイズを取得する。
(15-2)情報処理装置100は、第1環境1501から、対象VMを取得し、ストレージ装置1500に送信することにより、ストレージ装置1500において、対象VMを記憶させる。情報処理装置100は、例えば、予め、複数の環境のそれぞれの環境から、動作中であるVMの識別情報を、当該環境と対応付けて取得しておく。情報処理装置100は、例えば、予め取得しておいた識別情報に基づいて、複数の環境のうち、指定された対象VMが動作中の第1環境1501を特定し、特定した第1環境1501から、指定された対象VMを取得し、ストレージ装置1500に送信する。
(15-3)情報処理装置100は、第2環境1502に、取得したサイズと、ストレージ装置1500のアドレスとを送信する。第2環境1502は、受信したサイズ分の記憶領域を確保し、受信したアドレスに基づいて、ストレージ装置1500から、対象VMを、確保した記憶領域に複製する。ストレージ装置1500は、例えば、第2環境1502の正当性を、情報処理装置100に確認してから、対象VMを、第2環境1502に提供してもよい。
これにより、情報処理装置100は、第1環境1501において実装済みの動作中の対象VMのサイズを、第2環境1502に提供することができる。このため、情報処理装置100は、第2環境1502において、対象VMを記憶する記憶領域110として、適切なサイズの記憶領域110を確保可能にすることができる。情報処理装置100は、第2環境1502において、ストレージ装置1500から、対象VMを取得可能にすることができる。従って、情報処理装置100は、第2環境1502において、対象VMを効率よく実装可能にすることができる。
(更新処理手順)
次に、図16を用いて、情報処理装置100が実行する、更新処理手順の一例について説明する。更新処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図16は、更新処理手順の一例を示すフローチャートである。図16において、情報処理装置100は、それぞれの第2サーバ装置202にアクセスする(ステップS1601)。そして、情報処理装置100は、それぞれの第2サーバ装置202で動作中の仮想マシンについてVM種と版数との組み合わせを、当該第2サーバ装置202から取得する(ステップS1602)。
次に、情報処理装置100は、取得したVM種と版数との組み合わせのうち、VM情報管理テーブル400に記憶されていない組み合わせが存在するか否かを判定する(ステップS1603)。ここで、組み合わせが存在しない場合(ステップS1603:No)、情報処理装置100は、ステップS1605の処理に移行する。一方で、組み合わせが存在する場合(ステップS1603:Yes)、情報処理装置100は、ステップS1604の処理に移行する。
ステップS1604では、情報処理装置100は、取得したVM種と版数との組み合わせのうち、VM情報管理テーブル400に記憶されていない組み合わせを、VMの所在とサイズとに対応付けて、VM情報管理テーブル400に追加する(ステップS1604)。そして、情報処理装置100は、ステップS1605の処理に移行する。
ステップS1605では、情報処理装置100は、一定時間待機する(ステップS1605)。そして、情報処理装置100は、ステップS1601の処理に戻る。これにより、情報処理装置100は、VM情報管理テーブル400を適切に更新することができる。
(通知処理手順)
次に、図17を用いて、情報処理装置100が実行する、通知処理手順の一例について説明する。通知処理は、例えば、図3に示したCPU301と、メモリ302や記録媒体305などの記憶領域と、ネットワークI/F303とによって実現される。
図17は、通知処理手順の一例を示すフローチャートである。図17において、情報処理装置100は、VM種と版数との組み合わせを含む処理要求を、第1サーバ装置201から受信する(ステップS1701)。
次に、情報処理装置100は、VM情報管理テーブル400から、受信した処理要求に含まれるVM種と版数との組み合わせを検索する(ステップS1702)。そして、情報処理装置100は、VM情報管理テーブル400に、受信した処理要求に含まれるVM種と版数との組み合わせが記憶されているか否かを判定する(ステップS1703)。ここで、組み合わせが記憶されていない場合(ステップS1703:No)、情報処理装置100は、ステップS1706の処理に移行する。一方で、組み合わせが記憶されている場合(ステップS1703:Yes)、情報処理装置100は、ステップS1704の処理に移行する。
ステップS1704では、情報処理装置100は、VM情報管理テーブル400に、VM種と版数との組み合わせに対応付けて記憶されたアクセス先情報に基づいて、当該組み合わせに対応するVMを、コピー領域に複製する(ステップS1704)。VM種と版数との組み合わせは、受信した処理要求に含まれる。
次に、情報処理装置100は、VM情報管理テーブル400に、受信した処理要求に含まれるVM種と版数との組み合わせに対応付けて記憶されたVMサイズと、コピー領域とを特定可能にする通知を、第1サーバ装置201に送信する(ステップS1705)。そして、情報処理装置100は、通知処理を終了する。
ステップS1706では、情報処理装置100は、組み合わせが存在しないことを示す通知を、第1サーバ装置201に送信する(ステップS1706)。そして、情報処理装置100は、通知処理を終了する。これにより、情報処理装置100は、第1サーバ装置201において、VMを実装し易くすることができる。
(実装処理手順)
次に、図18を用いて、第1サーバ装置201が実行する、実装処理手順の一例について説明する。実装処理は、例えば、図5に示したCPU501と、メモリ502や記録媒体505などの記憶領域と、ネットワークI/F503とによって実現される。
図18は、実装処理手順の一例を示すフローチャートである。図18において、第1サーバ装置201は、VM種と版数との組み合わせの入力を受け付ける(ステップS1801)。
次に、第1サーバ装置201は、入力されたVM種と版数との組み合わせを含む処理要求を、情報処理装置100に送信する(ステップS1802)。そして、第1サーバ装置201は、通知を、情報処理装置100から受信する(ステップS1803)。
次に、第1サーバ装置201は、VMサイズとコピー領域とを特定可能にする通知を受信したか否かを判定する(ステップS1804)。ここで、VMサイズとコピー領域とを特定可能にする通知を受信している場合(ステップS1804:Yes)、第1サーバ装置201は、ステップS1805の処理に移行する。一方で、組み合わせが存在しないことを示す通知を受信している場合(ステップS1804:No)、第1サーバ装置201は、ステップS1808の処理に移行する。
ステップS1805では、第1サーバ装置201は、通知に基づいて、VMサイズを特定し、VMサイズ分の展開領域を作成する(ステップS1805)。次に、第1サーバ装置201は、通知に基づいて、コピー領域を特定し、VMを、コピー領域から展開領域に複製する(ステップS1806)。そして、第1サーバ装置201は、完了通知を、情報処理装置100に送信する(ステップS1807)。その後、第1サーバ装置201は、実装処理を終了する。
ステップS1808では、第1サーバ装置201は、VMのISOファイルの提供元から提供されたVMサイズ分の展開領域を作成する(ステップS1808)。次に、第1サーバ装置201は、ISOファイルに基づいて、VMを、展開領域に作成する(ステップS1809)。そして、第1サーバ装置201は、実装処理を終了する。これにより、第1サーバ装置201は、VMを実装することができる。
ここで、情報処理装置100は、図16および図17の各フローチャートの一部ステップの処理の順序を入れ替えて実行してもよい。また、情報処理装置100は、図16および図17の各フローチャートの一部ステップの処理を省略してもよい。第1サーバ装置201は、図18の各フローチャートの一部ステップの処理の順序を入れ替えて実行してもよい。また、第1サーバ装置201は、図18の各フローチャートの一部ステップの処理を省略してもよい。
以上説明したように、情報処理装置100によれば、対象ソフトウェアが動作中の第1環境から、対象ソフトウェアを、所定の記憶領域に複製することができる。情報処理装置100によれば、対象ソフトウェアのサイズを取得することができる。情報処理装置100によれば、対象ソフトウェアを要求する第2環境に、取得したサイズと、記憶領域に複製した対象ソフトウェアを取得可能にする情報とを送信することができる。これにより、情報処理装置100は、第2環境において、対象ソフトウェアを実装し易くすることができる。
情報処理装置100によれば、ソフトウェアが動作中の環境から、ソフトウェアのサイズと、ソフトウェアの識別情報とを取得し、環境の識別情報に対応付けて、テーブルに記憶することができる。情報処理装置100によれば、第2環境から、対象ソフトウェアの識別情報を受け付けることができる。情報処理装置100によれば、テーブルに基づいて、対象ソフトウェアの識別情報に対応付けられた第1環境の識別情報と、対象ソフトウェアのサイズとを取得することができる。情報処理装置100によれば、取得した第1環境の識別情報に基づいて、第1環境から、対象ソフトウェアを、所定の記憶領域に複製することができる。これにより、情報処理装置100は、対象ソフトウェアが動作中の第1環境を特定可能にすることができ、対象ソフトウェアを複製し易くすることができ、対象ソフトウェアを複製する際にかかる所要時間の低減化を図ることができる。
情報処理装置100によれば、テーブルに、対象ソフトウェアの識別情報が含まれなければ、第2環境に、対象ソフトウェアを展開可能にする情報を送信することができる。これにより、情報処理装置100は、対象ソフトウェアが動作中の第1環境がなくても、第2環境において、対象ソフトウェアを実装可能にすることができる。
情報処理装置100によれば、対象ソフトウェアが仮想マシンである場合に適用することができる。これにより、情報処理装置100は、第2環境において、仮想マシンを実装し易くすることができる。
情報処理装置100によれば、第2環境に、取得したサイズと、対象ソフトウェアを複製した記憶領域の場所を示す情報とを送信することができる。これにより、情報処理装置100は、第2環境において、対象ソフトウェアを複製した記憶領域にアクセス可能にすることができ、対象ソフトウェアを実装可能にすることができる。
情報処理装置100によれば、所定の記憶領域として、自装置の記憶領域を利用することができる。これにより、情報処理装置100は、第2環境において、情報処理装置100から対象ソフトウェアを複製可能にすることができる。
情報処理装置100によれば、第1環境から、対象ソフトウェアのサイズを取得することができる。これにより、情報処理装置100は、対象ソフトウェアを記憶する記憶領域の適切なサイズを特定することができる。
情報処理装置100によれば、複製した対象ソフトウェアのサイズを計測することにより、対象ソフトウェアのサイズを取得することができる。これにより、情報処理装置100は、対象ソフトウェアを記憶する記憶領域の適切なサイズを特定することができる。
情報処理装置100によれば、第2環境に、取得したサイズと、第1環境から対象ソフトウェアを取得可能にする情報とを送信することができる。これにより、情報処理装置100は、第2環境において、対象ソフトウェアが動作中の第1環境にアクセス可能にすることができ、対象ソフトウェアを実装可能にすることができる。
情報処理装置100によれば、第2環境に、取得したサイズと、対象ソフトウェアを展開可能にする情報とを送信することができる。これにより、情報処理装置100は、第2環境において、適切なサイズの記憶領域に、対象ソフトウェアを展開可能にすることができる。
なお、本実施の形態で説明した情報処理方法は、予め用意されたプログラムをPCやワークステーションなどのコンピュータで実行することにより実現することができる。本実施の形態で説明した情報処理プログラムは、コンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。記録媒体は、ハードディスク、フレキシブルディスク、CD(Compact Disc)-ROM、MO(Magneto Optical disc)、DVD(Digital Versatile Disc)などである。また、本実施の形態で説明した情報処理プログラムは、インターネットなどのネットワークを介して配布してもよい。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)対象ソフトウェアが動作中の第1環境から、前記対象ソフトウェアを、所定の記憶領域に複製し、
前記対象ソフトウェアのサイズを取得し、
前記対象ソフトウェアを要求する第2環境に、取得した前記サイズと、前記記憶領域に複製した前記対象ソフトウェアを取得可能にする情報とを送信する、
制御部を有することを特徴とする情報処理装置。
(付記2)前記制御部は、
ソフトウェアが動作中の環境から、前記ソフトウェアのサイズと、前記ソフトウェアの識別情報とを取得し、前記環境の識別情報に対応付けて、テーブルに記憶し、
前記第2環境から、前記対象ソフトウェアの識別情報を受け付け、
前記テーブルに基づいて、前記対象ソフトウェアの識別情報に対応付けられた前記第1環境の識別情報と、前記対象ソフトウェアのサイズとを取得し、
取得した前記第1環境の識別情報に基づいて、前記第1環境から、前記対象ソフトウェアを、前記所定の記憶領域に複製する、ことを特徴とする付記1に記載の情報処理装置。
(付記3)前記制御部は、
前記テーブルに、前記対象ソフトウェアの識別情報が含まれなければ、前記第2環境に、前記対象ソフトウェアを展開可能にする情報を送信する、ことを特徴とする付記2に記載の情報処理装置。
(付記4)前記対象ソフトウェアは、仮想マシンである、ことを特徴とする付記1~3のいずれか一つに記載の情報処理装置。
(付記5)前記制御部は、
前記第2環境に、取得した前記サイズと、前記対象ソフトウェアを複製した前記記憶領域の場所を示す情報とを送信する、ことを特徴とする付記1~4のいずれか一つに記載の情報処理装置。
(付記6)前記所定の記憶領域は、前記情報処理装置の記憶領域である、ことを特徴とする付記1~5のいずれか一つに記載の情報処理装置。
(付記7)前記制御部は、
前記第1環境から、前記対象ソフトウェアのサイズを取得する、ことを特徴とする付記1~6のいずれか一つに記載の情報処理装置。
(付記8)前記制御部は、
複製した前記対象ソフトウェアのサイズを計測することにより、前記対象ソフトウェアのサイズを取得する、ことを特徴とする付記1~7のいずれか一つに記載の情報処理装置。
(付記9)前記制御部は、
前記第2環境に、取得した前記サイズと、前記第1環境から前記対象ソフトウェアを取得可能にする情報とを送信する、ことを特徴とする付記1~8のいずれか一つに記載の情報処理装置。
(付記10)前記制御部は、
前記第2環境に、取得した前記サイズと、前記対象ソフトウェアを展開可能にする情報とを送信する、ことを特徴とする付記1~9のいずれか一つに記載の情報処理装置。
(付記11)対象ソフトウェアが動作中の第1環境から、前記対象ソフトウェアを、所定の記憶領域に複製し、
前記対象ソフトウェアのサイズを取得し、
前記対象ソフトウェアを要求する第2環境に、取得した前記サイズと、前記記憶領域に複製した前記対象ソフトウェアを取得可能にする情報とを送信する、
処理をコンピュータが実行することを特徴とする情報処理方法。
(付記12)対象ソフトウェアが動作中の第1環境から、前記対象ソフトウェアを、所定の記憶領域に複製し、
前記対象ソフトウェアのサイズを取得し、
前記対象ソフトウェアを要求する第2環境に、取得した前記サイズと、前記記憶領域に複製した前記対象ソフトウェアを取得可能にする情報とを送信する、
処理をコンピュータに実行させることを特徴とする情報処理プログラム。
100 情報処理装置
101,1301,1401,1501 第1環境
102,1302,1402,1502 第2環境
110 記憶領域
200 情報処理システム
201 第1サーバ装置
202 第2サーバ装置
210 ネットワーク
300,500 バス
301,501 CPU
302,502 メモリ
303,503 ネットワークI/F
304,504 記録媒体I/F
305,505 記録媒体
400 VM情報管理テーブル
600 第1記憶部
601 第1取得部
602 特定部
603 複製部
604 第1出力部
610 第2記憶部
611 第2取得部
612 生成部
613 第2出力部
700,1100 VMコピー領域
1500 ストレージ装置

Claims (5)

  1. 対象ソフトウェアが動作中の第1環境から、前記対象ソフトウェアを、所定の記憶領域に複製し、
    前記対象ソフトウェアのサイズを取得し、
    前記対象ソフトウェアを要求する第2環境に、取得した前記サイズと、前記記憶領域に複製した前記対象ソフトウェアを取得可能にする情報とを送信する、
    制御部を有することを特徴とする情報処理装置。
  2. 前記制御部は、
    ソフトウェアが動作中の環境から、前記ソフトウェアのサイズと、前記ソフトウェアの識別情報とを取得し、前記環境の識別情報に対応付けて、テーブルに記憶し、
    前記第2環境から、前記対象ソフトウェアの識別情報を受け付け、
    前記テーブルに基づいて、前記対象ソフトウェアの識別情報に対応付けられた前記第1環境の識別情報と、前記対象ソフトウェアのサイズとを取得し、
    取得した前記第1環境の識別情報に基づいて、前記第1環境から、前記対象ソフトウェアを、前記所定の記憶領域に複製する、ことを特徴とする請求項1に記載の情報処理装置。
  3. 前記制御部は、
    前記テーブルに、前記対象ソフトウェアの識別情報が含まれなければ、前記第2環境に、前記対象ソフトウェアを展開可能にする情報を送信する、ことを特徴とする請求項2に記載の情報処理装置。
  4. 対象ソフトウェアが動作中の第1環境から、前記対象ソフトウェアを、所定の記憶領域に複製し、
    前記対象ソフトウェアのサイズを取得し、
    前記対象ソフトウェアを要求する第2環境に、取得した前記サイズと、前記記憶領域に複製した前記対象ソフトウェアを取得可能にする情報とを送信する、
    処理をコンピュータが実行することを特徴とする情報処理方法。
  5. 対象ソフトウェアが動作中の第1環境から、前記対象ソフトウェアを、所定の記憶領域に複製し、
    前記対象ソフトウェアのサイズを取得し、
    前記対象ソフトウェアを要求する第2環境に、取得した前記サイズと、前記記憶領域に複製した前記対象ソフトウェアを取得可能にする情報とを送信する、
    処理をコンピュータに実行させることを特徴とする情報処理プログラム。
JP2021193155A 2021-11-29 2021-11-29 情報処理装置、情報処理方法、および情報処理プログラム Pending JP2023079614A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2021193155A JP2023079614A (ja) 2021-11-29 2021-11-29 情報処理装置、情報処理方法、および情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021193155A JP2023079614A (ja) 2021-11-29 2021-11-29 情報処理装置、情報処理方法、および情報処理プログラム

Publications (1)

Publication Number Publication Date
JP2023079614A true JP2023079614A (ja) 2023-06-08

Family

ID=86647049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021193155A Pending JP2023079614A (ja) 2021-11-29 2021-11-29 情報処理装置、情報処理方法、および情報処理プログラム

Country Status (1)

Country Link
JP (1) JP2023079614A (ja)

Similar Documents

Publication Publication Date Title
US10237118B2 (en) Efficient application build/deployment for distributed container cloud platform
CN101393525B (zh) 用于为计算机程序打补丁的系统和方法
JP4864557B2 (ja) ソフトウェアの更新処理プログラム及び更新処理装置
JP2011113435A (ja) データ配信装置、データ配信方法および情報処理装置
JP2005332223A (ja) 仮想マシン管理システム
CN102541658A (zh) 将机器转换为虚拟机
CN102799464A (zh) 虚拟机创建方法及系统、虚拟机重装方法及系统
JP2007172102A (ja) 情報処理装置および情報処理方法およびプログラムおよび記録媒体
JP2007272763A (ja) モジュールインストール方法及び装置
JP6759998B2 (ja) 情報処理システム、アプリケーション導入方法及び情報処理装置
JPH09218777A (ja) コンピュータシステム
JP4755244B2 (ja) 情報生成方法、情報生成プログラム及び情報生成装置
JPWO2009154272A1 (ja) 版管理システム、方法、及び、プログラム
JP5625477B2 (ja) ドライバ制御システム、及びドライバ制御方法
JP2006011506A (ja) 起動イメージ提供システム及び方法、ブートノード装置、ブートサーバ装置並びにプログラム
JP2023079614A (ja) 情報処理装置、情報処理方法、および情報処理プログラム
JP2016009341A (ja) 仮想マシン配備システムおよび配備方法、並びにコンピュータ・プログラム
JP6331431B2 (ja) 情報処理システム、その制御方法、及びプログラム、並びに情報処理サーバ、その制御方法、及びプログラム
JP2007079773A (ja) ソフトウエア配布サーバ及びソフトウエア配布方法
JP7131363B2 (ja) ライセンス管理装置、ライセンス管理システム、ライセンス管理方法、プログラム
JP5403691B2 (ja) 仮想マシンのデプロイ方法およびデプロイ実行プログラムとデプロイ実行装置
US20070294065A1 (en) Method, apparatus, and computer program product for implementing plans for logical partition (lpar) systems
JP2017162416A (ja) レプリケーションプログラム、冗長化システム、およびレプリケーション方法
JP7346524B2 (ja) 画像形成装置、画像形成装置の制御方法並びにプログラム
JP2008071288A (ja) ソフトウェア管理方法及び管理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20240808

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20240906

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20240913