JP2020031305A - マルチクラウド運用プログラム、およびマルチクラウド運用方法 - Google Patents

マルチクラウド運用プログラム、およびマルチクラウド運用方法 Download PDF

Info

Publication number
JP2020031305A
JP2020031305A JP2018154784A JP2018154784A JP2020031305A JP 2020031305 A JP2020031305 A JP 2020031305A JP 2018154784 A JP2018154784 A JP 2018154784A JP 2018154784 A JP2018154784 A JP 2018154784A JP 2020031305 A JP2020031305 A JP 2020031305A
Authority
JP
Japan
Prior art keywords
cloud
virtual machine
address
service
computing system
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.)
Granted
Application number
JP2018154784A
Other languages
English (en)
Other versions
JP7132494B2 (ja
Inventor
武俊 吉田
Taketoshi Yoshida
武俊 吉田
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 JP2018154784A priority Critical patent/JP7132494B2/ja
Priority to US16/449,625 priority patent/US11010189B2/en
Publication of JP2020031305A publication Critical patent/JP2020031305A/ja
Application granted granted Critical
Publication of JP7132494B2 publication Critical patent/JP7132494B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/45595Network integration; Enabling network access in 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)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

【課題】仮想マシンを移動後に処理を継続できるかどうかを確認できるようにする。【解決手段】第1クラウド1の運用管理装置3は、第1クラウド1内で実行されている第1仮想マシン5が利用した第1サービス6aのポート番号を、第1仮想マシン5の識別子に対応付けて記憶する。その後、運用管理装置3が、第1仮想マシン5の第2クラウド2への移動要求を受信したものとする。移動要求を受信した運用管理装置3は、第2クラウド2に対して、第1サービス6aのポート番号を指定して、第2クラウド2においてそのポート番号に対応する第2サービス7aが利用可能か否かの確認要求3aを送信する。そして、運用管理装置3は、確認要求3aに対して、第2クラウド2から第2サービス7aが利用可能であるとの回答を受信すると、第1仮想マシン5を第2クラウド2へ移動させる。【選択図】図1

Description

本発明は、マルチクラウド運用プログラム、およびマルチクラウド運用方法に関する。
クラウドコンピューティングシステム(以下、単にクラウドと呼ぶこともある)を利用するユーザは、異なる企業が提供する複数のクラウドを利用する場合がある。この場合、ユーザは、複数のクラウドに跨がったシステム(マルチクラウドシステム)を構築する。
マルチクラウドシステムを利用するユーザは、複数のクラウドそれぞれで仮想マシン(VM:Virtual Machine)を運用する。VMはインスタンスと呼ぶこともある。ユーザは、異なるクラウドで実行される複数のVMを連係動作させることで、所望の処理を実行させる。
クラウド上のVMの管理技術としては、例えばマルチテナントアプリケーションサーバ環境におけるパーティションマイグレーションのためのシステムがある。また、仮想マシンの仮想的な接続を管理することが可能なコンピュータネットワークシステムがある。さらに、ユーザまたは他の実体のために提供される仮想コンピュータネットワーク向けなどの管理されたコンピュータネットワークのための論理ネットワーキング機能を提供する技術もある。
特表2017−519309号公報 特開2013−134658号公報 特表2012−519458号公報
マルチクラウドシステムでは、クラウドを跨がってVMを移動させることが可能である。しかし、従来は、異動対象のVMが移動前に実行していた処理と同様の処理を、移動後のVMが実行可能かどうかを、移動前に確認する手段がない。例えば、移動前のクラウドで移動対象のVMが利用していたサービスが、移動先のクラウドでは利用できない場合がある。このような場合、移動対象のVMは、移動後に移動前と同様の処理を実行することができなくなる。
1つの側面では、本件は、移動後にVMが処理を継続できるかどうかを確認できるようにすることを目的とする。
1つの案では、以下の処理をコンピュータに実行させるマルチクラウド運用プログラムが提供される。
コンピュータは、第1クラウドコンピューティングシステム内で実行されている第1仮想マシンが利用した第1サービスのポート番号を、第1仮想マシンの識別子に対応付けて記憶する。次にコンピュータは、第1仮想マシンの第2クラウドコンピューティングシステムへの移動要求を受信すると、第2クラウドコンピューティングシステムに対して、第1サービスのポート番号を指定して、第2クラウドコンピューティングシステムにおいてポート番号に対応する第2サービスが利用可能か否かの確認要求を送信する。そしてコンピュータは、確認要求に対して、第2クラウドコンピューティングシステムから第2サービスが利用可能であるとの回答を受信すると、第1仮想マシンを第2クラウドコンピューティングシステムへ移動させる。
1態様によれば、移動後にVMが処理を継続できるかどうかを確認することができる。
マルチクラウド運用方法の第1の例を示す図である。 マルチクラウド運用方法の第2の例を示す図である。 マルチクラウド運用方法の第3の例を示す図である。 マルチクラウド運用方法の第4の例を示す図である。 第2の実施の形態のマルチクラウドシステムの一例を示す図である。 サーバのハードウェアの一構成例を示す図である。 クラウドにおける運用管理機能の一例を示すブロック図である。 メディエータIDの生成例を示す図である。 ID対応変換DBの一例を示す図である。 位置情報変換DBの一例を示す図である。 課金情報の収集例を示す図である。 依頼メッセージ送信処理の手順の一例を示すフローチャートである。 返信メッセージ受信処理の手順の一例を示すフローチャートである。 VMのメディエータID管理処理の手順の一例を示すシーケンス図である。 VM移動処理の手順の一例を示すシーケンス図である。 CPU負荷取得サービスを利用しているVMの移動例を示す図である。 VM間通信を行うVMの移動例を示す図である。
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず、図1〜図4を参照し、第1の実施の形態に係るマルチクラウド運用方法について説明する。
図1は、マルチクラウド運用方法の第1の例を示す図である。図1には、第1仮想マシン5をマイグレーションによって移動する前に、移動前と同様の処理を移動後も実行できるかどうかを、事前確認する処理手順が示されている。
マルチクラウドシステムは、第1クラウドコンピューティングシステム(第1クラウド)1と第2クラウドコンピューティングシステム(第2クラウド)2とを含む。
第1クラウド1と第2クラウド2とのそれぞれには、運用管理装置3,4が設けられている。運用管理装置3は、第1クラウド1内のコンピュータによって実現することができる。例えば第1クラウド1内のコンピュータ上に起動した仮想マシンを、運用管理装置3として利用することができる。運用管理装置4は、第2クラウド2内のコンピュータによって実現することができる。例えば第2クラウド2内のコンピュータ上に起動した仮想マシンを、運用管理装置4として利用することができる。
ここで、第1クラウド1内で第1仮想マシン5が実行されているものとする。第1仮想マシン5は、第1クラウド1内のサーバ6で提供されている第1サービス6aを利用して処理を行っている(ステップS1)。運用管理装置3は、第1仮想マシン5が利用した第1サービス6aのポート番号(ポートa)を、第1仮想マシン5の識別子に対応付けて、例えば通信先リストとして記憶する(ステップS2)。通信先リストには、第1サービス6aにアクセスするためのアドレス(第1アドレス)と、サービス利用時の通信ポートを示すポート番号(ポートa)が格納される。
その後、運用管理装置3は、第1仮想マシン5の第2クラウド2への移動要求を受信する。すると運用管理装置3は、第2クラウド2に対して、第1サービス6aのポート番号(ポートa)を指定して、第2クラウド2においてそのポート番号(ポートa)に対応する第2サービス7aが利用可能か否かの確認要求3aを送信する(ステップS3)。
第2クラウド内の運用管理装置4は、確認要求3aを受信すると、確認要求3aに示されるポート番号(ポートa)に対応する第2サービス7aが、第2クラウド2において利用可能か否かを確認する(ステップS4)。例えば運用管理装置4は、第2クラウド2内で通信可能な各装置に対して、確認要求3aに示されるポート番号(ポートa)による通信を試み、対応するサービスの存在の有無を確認する。図1の例では、第2クラウド2内のサーバ7において、確認要求3aに示されるポート番号(ポートa)に対応する第2サービス7aが提供されている。そこで、運用管理装置4は、第1クラウド1の運用管理装置3に、該当ポートが利用可能であることを示す回答4aを送信する(ステップS5)。
第1クラウド1の運用管理装置3は、確認要求3aに対して、第2クラウド2から第2サービス7aが利用可能であるとの回答4aを受信すると、第1仮想マシン5を第2クラウド2へ、マイグレーション処理によって移動させる(ステップS6)。
このようにして、第1仮想マシン5を移動させる前に、移動後も現在と同種のサービスを利用できるか否かを確認することができる。移動後も同種のサービスを利用することができれば、移動後の第1仮想マシン5aにより、移動前と同様の処理を実行可能となる。
図2は、マルチクラウド運用方法の第2の例を示す図である。図2には、移動された後の仮想マシンがサービスを利用するための処理手順が示されている。例えば第2クラウド2で稼働している第2仮想マシン8を第1クラウド1に移動させる場合を想定する。
第2クラウド2内では、第2仮想マシン8は、サーバ7で提供されている第2サービス7aを利用している(ステップS11)。第2クラウド2の運用管理装置4は、第2仮想マシン8の識別子に対応付けて、第2仮想マシン8の通信先である第2サービス7aのアドレス(第2アドレス)とポート番号(ポートa)とを示す通信先リストを記憶する(ステップS12)。その後、第2仮想マシン8の第1クラウド1への移動要求を運用管理装置4が受信すると、運用管理装置4は、第2仮想マシン8を第1クラウド1に移動させる(ステップS13)。
第1クラウド1の運用管理装置3は、第2クラウド2内で実行されていた第2仮想マシン8が、第1クラウド1に移動した場合、第2クラウド2から、第2仮想マシン8が利用していた第2サービス7aへのアクセス用の第2アドレスを取得する(ステップS14)。例えば運用管理装置3は、第2サービス7aと第2アドレスとポート番号(ポートa)とを含む利用サービス情報4bを、第2クラウド2の運用管理装置4から取得する。
第1クラウド1の運用管理装置3は、第1クラウド1内で第2サービス7aと同種のサービスを提供する第1サービス6aへのアクセス用の第1アドレスと、取得した第2アドレスとの対応関係を示す対応表を記憶する(ステップS15)。
その後、運用管理装置3は、移動後の第2仮想マシン8aから第2アドレスを指定したサービス提供要求3bを受信すると、対応表に基づいて、サービス提供要求3bの送信先を第1アドレスに変更する(ステップS16)。送信先が変更されたサービス提供要求3cは、サーバ6に送信される。その結果、サービス提供要求3cに応じて、サーバ6により第1サービス6aが実行される。
このように運用管理装置3は、移動後の第2仮想マシン8aが出力したサービス提供要求3bの送信先のアドレスを変更する。これにより、第2仮想マシン8aは、第2クラウド2内で稼働していたときと同様の送信先にサービス提供要求3bを送信すれば、移動前に利用していた第2サービス7aと同種の第1サービス6aを利用することができる。すなわち移動された第2仮想マシン8aに変更を加えることなく、移動前と同様の処理を実行させることが可能となる。
図3は、マルチクラウド運用方法の第3の例を示す図である。図3には、クラウドを跨いだ移動後も、移動前と同様にパケットを受信できるようにするための処理手順が示されている。例えば図1と同様に、第1クラウド1で動作していた第1仮想マシン5が、第2クラウド2に移動した場合を想定する。
第1仮想マシン5の第1クラウド1でのアドレスを第3アドレスとする。第1仮想マシンの第2クラウド2への移動(ステップS21)が行われると、移動後の第1仮想マシン5aには、第2クラウド2内での第4アドレスが付与される。
第1クラウド1の運用管理装置3は、移動後の第1仮想マシン5aの第2クラウド2内での第4アドレスを、第2クラウド2の運用管理装置4から取得する(ステップS22)。運用管理装置3は、第1仮想マシン5の第1クラウド1内での第3アドレスと、移動後の第1仮想マシン5aの第4アドレスとを対応付けて記憶する(ステップS23)。
運用管理装置3は、第1仮想マシン5が第2クラウド2に移動した後は、第1クラウド1内で発生した第3アドレスを送信先とするパケット3dの送信先を第4アドレスに変更して、送信先変更後のパケット3eを第2クラウド2に転送する(ステップS24)。パケット3eは、第2クラウド2の運用管理装置4によって、第4アドレスを有する第1仮想マシン5aに送信される。
このように運用管理装置3は、第1仮想マシン5が移動された後は、第1仮想マシン5宛てのパケット3dの送信先を、移動後の第1仮想マシン5aの第4アドレスに変更する。これにより、移動後の第1仮想マシン5aは、移動前と同様に、パケットを受信することができる。すなわち第1仮想マシン5がクラウドを跨がって移動しても、第1仮想マシン5と通信を行っていた他の装置は、送信先の設定変更を行わずに、移動後の第1仮想マシン5aにパケットを送信することができる。
図4は、マルチクラウド運用方法の第4の例を示す図である。図4には、クラウドを跨いだ移動後も、移動前と同様にパケットを送信できるようにするための処理手順が示されている。例えば第2クラウド2で動作していた第3仮想マシン9と第4仮想マシン10とのうち、第3仮想マシン9が第1クラウド1に移動した後、移動後の第3仮想マシン9aから第4仮想マシン10へパケットを送信する場合を想定する。
第1クラウド1の運用管理装置3は、第2クラウド2内で第3仮想マシン9が生成されると、第2クラウド2の運用管理装置4から、第3仮想マシン9の第2クラウド2内での第5アドレスを取得する(ステップS31)。運用管理装置4は、取得した第5アドレスを、例えばメモリに格納する。また第1クラウド1の運用管理装置3は、第2クラウド2内で第4仮想マシン10が生成されると、第2クラウド2から、第4仮想マシン10の第2クラウド2内での第6アドレスを取得する(ステップS32)。運用管理装置4は、取得した第6アドレスを、例えばメモリに格納する。これにより、運用管理装置3は、第3仮想マシン9と第4仮想マシン10とが第2クラウド2内に存在することを認識すると共に、それらのアドレスを記憶する。
その後、第3仮想マシン9が第1クラウド1に移動する(ステップS33)。すると第1クラウド1の運用管理装置3は、移動前の第3仮想マシン9の第5アドレスに対応付けて、移動後の第3仮想マシン9aの第1クラウド1内での第7アドレスを記憶する(ステップS34)。これにより運用管理装置3は、第3仮想マシン9aが第1クラウド1に移動したことを認識する。
ここで、移動後の第3仮想マシン9aが、第4仮想マシン10の第6アドレスを送信先とするパケット3fを出力したものとする。この場合、運用管理装置3は、出力されたパケット3fの送信元のアドレスを第5アドレスに変更して、送信元変更後のパケット3gを第2クラウド2に転送する(ステップS35)。パケット3gは、第2クラウド2の運用管理装置4によって、第6アドレスを有する第4仮想マシン10に送信される。
このように運用管理装置3は、移動後の第3仮想マシン9aから、第2クラウド2内の第4仮想マシン10宛てのパケット3fが出力されると、そのパケット3fの送信元を、移動前の第3仮想マシン9の第5アドレスに変更する。これにより、第4仮想マシン10は、移動前の第3仮想マシン9から受信した場合と同様のパケットを、移動後の第3仮想マシン9aから受信できる。その結果、第4仮想マシン10は、第3仮想マシン9が移動したことを意識せずに、移動後の第3仮想マシン9aとの間で、移動前と同様の通信が可能となる。
例えば、第4仮想マシン10が第3仮想マシン9の移動を意識しない場合、第4仮想マシン10から移動後の第3仮想マシン9aに送信するパケットの送信先は、移動前の第3仮想マシン9の第5アドレスとなる。このパケットは、図3に示す処理によって送信先が第7アドレスに変更され、移動後の第3仮想マシン9aに転送される。このとき転送されたパケットへの応答のパケットの送信元が第7アドレスのままだと、第4仮想マシン10は、応答されたパケットを、送信したパケットの送信先(第3仮想マシン9)とは別の装置からのパケットと認識してしまう。そこで図4に示すように、運用管理装置3が、第3仮想マシン9aが第4仮想マシン10宛てに送信したパケットの送信元を第5アドレスに変更する。これにより、第4仮想マシン10では、移動後の第3仮想マシン9aから送信されたパケットを、第4仮想マシン10が移動前の第3仮想マシン9宛てに送信したパケットに対する応答であると、正しく認識できる。
図1〜図4に示した運用管理装置3の機能と同様の機能を、運用管理装置4も有する。また図1〜図4に示した運用管理装置4の機能と同様の機能を、運用管理装置3も有する。その結果、マルチクラウドシステムにおいて、仮想マシンが異なるクラウドへ移動しても、移動した仮想マシンの通信相手の仮想マシンにおいて、移動した仮想マシンの位置情報を修正せずに、移動前と同様の通信を行うことができる。また、移動した仮想マシンは、元のクラウド上で動作しているがごとく、管理情報を取得することもできる。その結果、複数のクラウドのそれぞれの利点を活かした柔軟なシステムを容易に構築することができる。
図1〜図4以外の処理として、運用管理装置3,4は、1つのサービス提供要求を、複数のクラウドそれぞれへの複数のサービス提供要求に分割することができる。例えば第1クラウド1で実行されている第1仮想マシン5が、第1サービス6aと第2サービス7aとを指定した多重サービス提供要求を出力したものとする。この場合、運用管理装置3は、出力された多重サービス提供要求を、第1サービス6aのアドレスを送信先とする第1要求と、第2サービス7aのアドレスを送信先とする第2要求とに分割する。そして運用管理装置3は、第1要求を第1クラウド1内で第1サービス6a宛てに送信し、第2要求を第2クラウド2宛てに送信する。第2クラウド2内の運用管理装置4は、第2要求を第2サービス7aに転送する。このようにして1つの多重サービス提供要求を、異なるクラウド内の複数のサービスへの要求に分割することで、例えば同種のサービスへの多重サービス提供要求が容易となる。
多重サービス提供要求を分割した場合、運用管理装置3は、分割後の複数の要求それぞれへの応答を統合して、多重サービス提供要求に対する1つの応答とすることができる。例えば運用管理装置3は、第1要求に対応する第1応答と第2要求に対する第2応答とを受信するまで、応答を待つ。そして運用管理装置3は、第1応答と第2応答とを受信すると、第1応答と第2応答とを1つにまとめて、多重サービス提供要求の送信元である第1仮想マシン5に応答する。これにより、第1仮想マシン5は、複数のクラウドに跨がったサービスに対する処理要求を、容易に行うことができる。
なお、運用管理装置3,4は、例えば図1〜図4に示す処理手順が記述されたプログラムを実行することにより、図1〜図4に示すマルチクラウド運用方法を実施することができる。運用管理装置3,4は、マルチクラウド運用方法を実施するために、記憶部と処理部とを有する。記憶部は、例えばクラウド内のコンピュータが有するメモリ、またはストレージ装置である。処理部は、例えばクラウド内のコンピュータが有するプロセッサ、または演算回路である。
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、VM移動後も処理を継続できることを確認するのに加え、VM移動後に、それまでVMで実行していた処理が実行できなくなることを抑止する機能を備えたマルチクラウドシステムである。
すなわち第2の実施の形態のマルチクラウドシステムは、クラウドを跨がってVMを移動する場合、移動先のクラウドに、VMを実行するための資源の空きがあるかを、VMの移動前に確認する。ただし、移動先のクラウドに十分な資源の空きがあったとしても、VMの移動に伴いIPアドレスなどの環境設定が変更されることにより、何らかの対策を採らなければ、マルチクラウドシステム内で行われていた処理を継続できなくなる場合がある。継続できなくなる処理として、例えばVM間の通信や、メトリック情報(VMの使用に応じた課金情報、VMの負荷情報など)へのアクセスがある。
VMの移動に伴いVM間の通信ができなくなる原因として、IPアドレスの変更がある。例えば、マルチクラウドシステムでは、複数のVMが動的かつ柔軟に配備される。そのため、同じクラウド内に配備された複数のVMの一部が、他のクラウドに移動される場合もあり得る。VMがクラウドを跨がって移動する場合、移動先のクラウドでそのVMを運用できるように、移動したVMのIPアドレスが変更される。移動したVMのIPアドレスの変更に伴い、移動したVMと通信していた他のVMは、従来であれば、移動したVM宛てのパケットの送信先のIPアドレスを変更しなければ、移動したVMと通信することができない。しかもクラウド内のVMに割り当てられるIPアドレスは、そのクラウド内の通信用のローカルなIPアドレスであり、複数のクラウドを跨がった通信に利用可能なグローバルなIPアドレスではないことが多い。移動したVMにローカルなIPアドレスが割り当てられると、移動したVMと通信していた他のVMは、単に宛先のIPアドレスの変更だけでは移動したVMと通信することはできない。
VM移動に伴いメトリック情報へのアクセスができなくなる場合もある。メトリック情報とは、CPU負荷など、コンピュータの監視結果として得られる情報である。例えば移動元のクラウドと移動先のクラウドとで、VMについてクラウドが管理しているメトリック情報の入手方法が異なる場合がある。この場合、VMがクラウドを跨がって移動すると、そのVMのメトリック情報を取得したくても、移動前と同じ手順ではメトリック情報にアクセスできない。しかも各クラウドのメトリック情報へのアクセス用のIPアドレスは、クラウドの外部からのアクセスを制限している場合が多い。例えば、クラウド内に起動されたVMのユーザに対する課金情報への、そのクラウドの外部からのアクセスは制限される。その結果、VMがクラウドを跨がって移動すると、そのVMに関するメトリック情報を取得するのが困難になる。
第2の実施の形態のマルチクラウドシステムでは、複数のクラウド間で共通する識別子をVMに付与し、その識別子を介して、VMがクラウドを跨がって移動しても通信可能とする。以下、複数のクラウド間で共通する識別子を、メディエータIDと呼ぶ。
図5は、第2の実施の形態のマルチクラウドシステムの一例を示す図である。ユーザが使用する端末装置31,32,・・・は、ネットワーク20を介して複数のクラウド100,200に接続されている。クラウド100は、複数のサーバ100a,100b,・・・によって実現されている。クラウド200も、複数のサーバ200a,200b,・・・によって実現されている。
端末装置31,32,・・・のユーザは、2つのクラウド100,200それぞれからVMの利用環境の提供を受けることができる。そしてユーザは、異なるクラウドから提供されたVMを連係動作させることで、目的の処理を実現する。
図6は、サーバのハードウェアの一構成例を示す図である。サーバ100aは、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
メモリ102は、サーバ100aの主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc Read Only Memory)、CD−R(Recordable)/RW(ReWritable)などがある。
機器接続インタフェース107は、サーバ100aに周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
サーバ100aは、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。他のサーバ100b,・・・,200a,200b,・・・もサーバ100aと同様のハードウェアにより実現することができる。また、第1の実施の形態に示した運用管理装置3,4も、図6に示したサーバ100aと同様のハードウェアにより実現することができる。
サーバ100aは、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。サーバ100aに実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、サーバ100aに実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。またサーバ100aに実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
1つのクラウド100では、複数のサーバ100a,100b,・・・が連係動作し、1つのコンピュータシステムとして機能する。例えばクラウド100では、複数のサーバ100a,100b,・・・により、運用管理機能が実現される。クラウド100,200間のVMの移動は、VMのマイグレーションによって実現されるが、運用管理機能は、VMが移動先で処理を継続できるかどうかの判断や、移動後でも移動前と同様の通信が可能なように、移動したVMの通信の中継処理を行う。
図7は、クラウドにおける運用管理機能の一例を示すブロック図である。クラウド100は、運用管理機能としてメディエータ120,120a,・・・を有する。メディエータ120,120a,・・・は、クラウドOS110上で実行される。メディエータ120,120a,・・・は、例えばクラウド100を利用しているテナントごとに設けられる。例えばメディエータ120を使用しているテナントは、クラウド100内にVM131を起動し、VM131を用いて「テナントシステムA」を実現する。
クラウドOS110は、クラウド100内のVM131およびメディエータ120,120a,・・・を管理する。例えばクラウドOS110は、VM131の生成要求に応じてVM131を生成する。またクラウドOS110は、VM131を利用しているユーザからのVM131の移動指示が入力されると、そのVM131の移動要求を、メディエータ120に送信する。
メディエータ120は、VM131の移動要求に応じて、VM131を別のクラウド200へ移動させる。またメディエータ120は、VM131と他のVMとの通信を中継することで、VM131または他のVMが別のクラウド200へ移動しても、VM間の通信を可能とする。またメディエータ120は、VM131をクラウド200に移動させる際には、移動先のクラウド200内に設けられたメディエータと連係し、VM131が実行している処理が移動先のクラウド200においても同様に実行可能か否かを判断する。
VMの運用管理のため、メディエータ120は、ID対応変換DB(Data Base)121、位置情報変換DB122、プロトコル変換部123、要求メッセージ解析部124、管理情報変換部125、宛先/メッセージID管理部126、メッセージ返信統合部127、メディエータID生成部128、およびVM移動部129を有する。
ID対応変換DB121は、VMの識別子(インスタンスID)またはメトリック情報提供サービスをクラウド内で識別するメトリックIDと、VMをマルチクラウドシステム内で一意に識別するメディエータIDとの対応関係を記憶する。
位置情報変換DB122は、VMが現在どのクラウドに配備されているか、VMが過去にどのクラウドに配置されていたのかなどの、VMの位置情報を記憶する。
プロトコル変換部123は、外部とのデータの送受信やデータをフックする際、適切に通信できるように通信プロトコルの変換を行う。例えばプロトコル変換部123は、HTTP(HyperText Transfer Protocol)、RPC(Remote Procedure Call)、AMQP(Advanced Message Queuing Protocol)などの各種プロトコル間で、データフォーマットを相互に変換できる。
要求メッセージ解析部124は、VMからの課金情報やCPU、メモリの監視観測値取得要求に応じ、送信先に応じた要求メッセージへの形式変換を行う。形式変換では、例えば、命令名、引数などが変換される。
管理情報変換部125は、独自に表現される各クラウドの管理情報(例えば、インスタンスIDやメトリック名など)を管理し、表現形式を相互に変換する。
宛先/メッセージID管理部126は、メッセージの問い合わせ先などをインスタンスIDなどから検索し、変換されたメッセージの送信依頼を行う。
メッセージ返信統合部127は、要求したメッセージに対する返信メッセージの統合処理を行う。例えばメッセージ返信統合部127は、複数のメディエータから送られた返信を1つの返信メッセージに統合する。またメッセージ返信統合部127は、同期/非同期処理や、返信メッセージの形式変換処理も行う。
メディエータID生成部128は、VMまたはメトリック情報提供サービスのメディエータIDを生成する。例えばメディエータID生成部128は、メディエータ120に対応するテナントで使用するVMが生成されるごとに、そのVMのメディエータIDを生成する。メディエータID生成部128は、生成したメディエータIDを、ID対応変換DB121に登録する。またメディエータID生成部128は、生成したメディエータIDに関する情報設定用のレコードを、位置情報変換DB122に登録する。
VM移動部129は、クラウドを跨がってVM131を移動させる際に、VM131の移動に先立って、移動先のクラウドにおいて移動対象のVM131が現在の処理を継続できるか否かを判断する。例えばVM移動部129は、クラウドOS110からVM131の移動要求を取得すると、移動先のクラウドのメディエータと連係して、VM131が現在実行している処理を移動先のクラウドで継続できるか否かを判断する。そしてVM移動部129は、移動先のクラウドで処理を継続できることが確認できた場合、VM131の移動(マイグレーション)を実施する。
なお、図7に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図7に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。図7には、クラウド100における運用管理機能を示したが、他のクラウド200もクラウド100と同様の機能を有している。
次にVMまたはメトリック情報提供サービスをマルチクラウドシステム内で一意に識別するメディエータIDの生成方法について説明する。
図8は、メディエータIDの生成例を示す図である。メディエータIDは、全世界でユニークなIDとする。例えばメディエータの外部アクセス用のIPアドレス(メディエータIPアドレス)、テナントID、管理対象種別ID、および管理対象IDを組み合わせて、全世界でユニークなメディエータIDを生成することができる。
メディエータIPアドレスは、VMまたはメトリック情報提供サービスを管理しているメディエータのIPアドレスである。メディエータIPアドレスは、世界規模でのメディエータのユニーク性を保証するアドレスである。
テナントIDは、メディエータIDの管理対象のVMまたはメトリック情報提供サービスを管理するメディエータが属するテナントの識別子である。テナントIDは、マルチクラウドシステム内でのメディエータに対応するテナントのユニーク性を保証する識別子である。テナントIDは、1つのメディエータで複数のテナントを取り扱う場合に有用となる。
管理対象種別IDは、管理対象(VMまたはメトリック情報提供サービス)の種別を示す識別子である。例えば管理対象がVMであれば、管理対象種別IDに「インスタンス」と設定される。また管理対象がメトリック情報提供サービスであれば、管理対象種別IDに、そのメトリック情報提供サービスの名称(例えばVMの監視ソフトウェアの名称「モニタ」など)が設定される。
管理対象IDは、同一の管理対象種別の管理対象間でのユニーク性を保証する識別子(CPU負荷など)である。
例えばメディエータIDは、メディエータIPアドレス、テナントID、管理対象種別ID、および管理対象IDを組み合わせた値をハッシュ関数で演算して得られるハッシュ値である。ハッシュ関数としては、MD5(Message Digest Algorithm 5)やSHA(Secure Hash Algorithm)−1、SHA−2などを利用することができる。
例えばメトリック「CPU負荷(CPUload)」のメディエータIDを算出する場合を想定する。ここでメディエータIPアドレスは「221.12.121.129」、テナントIDは「fujiLab」、管理対象種別IDは「Ceilometer」、管理対象IDは「CPUload」であるものとする。この場合、「221.12.121.129+fujiLab+Ceilometer+CPUload」を入力として、以下のようにして算出される。
メディエータID(SHA−1[221.12.121.129+fujiLab+Ceilometer+CPUload])=b91f57ab5d2fd0683c08714d18216995
メディエータIDを管理対象のVMやVMのメトリック情報提供サービスごとに生成することで、広域のネットワーク20全体にわたってユニーク性を保証した識別子を、管理対象に設定することができる。管理対象ごとのメディエータIDと、そのメディエータIDの生成に用いる情報とは、ID対応変換DB121で管理される。
図9は、ID対応変換DBの一例を示す図である。ID対応変換DB121には、例えばID対応変換テーブル121aが格納されている。ID対応変換テーブル121aには、VMまたはメトリック情報提供サービスのメディエータIDに対応付けて、メディエータIPアドレス、テナントID、管理対象種別ID、初期登録時管理対象ID、および移動先管理対象IDが登録されている。メディエータID、メディエータIPアドレス、テナントID、管理対象種別IDは、図8を参照して説明した通りである。初期登録時管理対象IDは、VMまたはVMのメトリック情報提供サービスを管理対象として最初に登録したときの、その管理対象の管理対象IDである。メディエータIDの生成には、初期登録時管理対象IDが使用される。移動先管理対象IDは、管理対象のVMなどがクラウドを跨がって移動した場合の移動先における、その管理対象の管理対象IDである。
管理対象のVMまたはVMのメトリック情報提供サービスが属するクラウドでのアクセス環境に関する情報は、位置情報変換DB122で管理される。
図10は、位置情報変換DBの一例を示す図である。位置情報変換DB122には、インスタンス管理テーブル122a、メトリック管理テーブル122b、通信環境管理テーブル122c、および利用サービスID対応テーブル122dが格納されている。
インスタンス管理テーブル122aには、VMのメディエータIDに対応付けて、そのVMが配備されたことのあるクラウドごとに、そのクラウドにおけるVMのインスタンスIDと、配備されたクラウドのクラウドIDとが設定されている。インスタンスIDとクラウドIDとの組は、クラウドを跨いでVMが移動するごとに、インスタンス管理テーブル122aの下位のレコードとして追加される。
メトリック管理テーブル122bには、メトリック情報提供サービスのメディエータIDに対応付けて、そのメトリック情報提供サービスを管理したことのあるクラウドごとに、そのクラウドにおけるメトリック情報提供サービスのメトリックIDと、管理したクラウドのクラウドIDとが設定されている。メトリックIDとクラウドIDとの組は、メトリック情報提供サービスを管理するクラウドが変更されるごとに、メトリック管理テーブル122bの下位のレコードとして追加される。
通信環境管理テーブル122cには、管理対象(VMまたはメトリック情報提供サービス)のメディエータIDに対応付けて、管理対象のIPアドレス・ポート番号、通信のタイプ、管理対象が属するクラウドのクラウドIDが設定される。管理対象がVMの場合、IPアドレス・ポート番号は、そのVMのIPアドレスと通信用のポート番号である。また管理対象がメトリック情報提供サービスの場合、IPアドレス・ポート番号は、そのメトリック情報提供サービスにアクセスするためのIPアドレスと通信用のポート番号である。タイプは、管理対象にアクセスする際に用いる通信プロトコルである。IPアドレス・ポート番号とタイプとクラウドIDとの組は、管理対象を管理するクラウドが変更されるごとに、通信環境管理テーブル122cの下位のレコードとして追加される。
利用サービスID対応テーブル122dには、VMのメディエータIDに対応付けて、移動元IPアドレス・ポート番号と移動先IPアドレス・ポート番号とが設定される。移動元IPアドレス・ポート番号は、VMが移動前に利用していたサービスのIPアドレスとポート番号である。移動先IPアドレス・ポート番号は、移動後のクラウドにおける同種のサービスのIPアドレスとポート番号である。
なお、ID対応変換DB121と位置情報変換DB122とに格納された情報は、他のメディエータと同期され、複数のクラウド100,200内のすべてのメディエータにおいて同じ情報が共有されている。
図7に示した運用管理機能を各クラウド100,200が有していることで、VMがクラウド100,200を跨がって移動しても、メディエータIDに基づいて、マルチクラウドシステム内での情報通信を、問題なく実行することができる。例えばVMのメトリック情報として、VMを使用したユーザに対するVMの使用量に応じた課金情報がある。マルチクラウドシステムのユーザは、自身が使用したVMの総課金額を知りたい場合、任意のVMを用いて、各クラウドにおいて課金情報を提供するメトリック情報提供サービスからVMの課金情報を収集することとなる。
図11は、課金情報の収集例を示す図である。例えばマルチクラウドシステムのユーザは、VM131に対して、課金情報の収集を指示する。するとVM131は、マルチクラウドシステムを構成するVMごとの課金情報取得依頼を、例えばHTTPで発行する。
VM131が発行した課金情報取得依頼は、メディエータ120に送信される。メディエータ120では、プロトコル変換部123が課金情報取得依頼を、HTTPにより受信する。プロトコル変換部123は、受信した課金情報取得依頼を、要求メッセージ解析部124に送信する。
要求メッセージ解析部124は、課金情報取得依頼を解析して、受信したのが課金情報取得依頼であると認識する。そして要求メッセージ解析部124は、複数あるメッセージ変換処理のうち、VMごとの課金情報取得処理ルーチンへ入る。要求メッセージ解析部124は、課金情報取得処理として、まずVM131と同じテナントシステムとして登録された管理対象のインスタンスIDとその場所の情報(クラウドID)の取得要求を、管理情報変換部125に送信する。
管理情報変換部125は、例えばID対応変換DB121を参照し、VM131が属するテナントと同じテナントIDのVM(管理対象種別ID「インスタンス」)のメディエータIDを取得する。次に管理情報変換部125は、位置情報変換DB122のインスタンス管理テーブル122aを参照し、取得したメディエータIDで対応するVMの現在の位置(クラウドID)を取得する。管理情報変換部125は、取得したインスタンスIDと、そのインスタンスIDに対応するクラウドIDとの組を、要求メッセージ解析部124に送信する。
要求メッセージ解析部124は、VMごとのインスタンスIDとクラウドIDとの組を取得すると、取得した情報を指定して、宛先/メッセージID管理部126へ、各クラウドへの課金取得依頼のメッセージ送信を要求する。
宛先/メッセージID管理部126は、課金取得依頼のメッセージを、各クラウドにあったプロトコルやメッセージ形式に変換する。また宛先/メッセージID管理部126は、メッセージが複数になる場合、各メッセージにIDを付与する。そして宛先/メッセージID管理部126は、プロトコル変換部123へ課金情報取得依頼のメッセージ送信を要求する。
プロトコル変換部123は、指定されたプロトコルで各クラウド100,200に、課金情報取得要求のメッセージを送信する。例えばプロトコル変換部123は、自身が属するクラウド100のクラウドOS110へ、課金情報取得依頼のメッセージを送信する。またプロトコル変換部123は、ネットワーク20を介して接続されたクラウド200へ、課金情報取得依頼のメッセージを送信する。課金情報取得依頼のメッセージを受信したクラウド200では、例えばクラウド200内のメディエータ220を介して、クラウドOS210がメッセージを取得する。
クラウド100のクラウドOS110は、クラウド100内のVM131を管理しており、VM131の使用状況に応じた課金情報を有している。そしてクラウドOS110は、課金情報取得依頼のメッセージをメディエータ120から受信すると、VM131の課金情報をメディエータ120に返信する。メディエータ120は、クラウドOS110からの返信を、メッセージ返信統合部127に送信する。
クラウド200のクラウドOS210は、クラウド200内のVM231を管理しており、VM231の使用状況に応じた課金情報を有している。そしてクラウドOS210は、課金情報取得依頼のメッセージをメディエータ220から受信すると、VM231の課金情報を、メディエータ220を介してクラウド100に返信する。クラウドOS210からの返信は、メディエータ120内のプロトコル変換部123を介して、メッセージ返信統合部127に送られる。
メッセージ返信統合部127は、返信メッセージの同期処理を行う場合、各クラウドOS110,210からの返信を待ち合わせる。そしてメッセージ返信統合部127は、すべてのクラウドOS110,210からの返信を受信すると、クラウドOS110,210からの返信メッセージを統合し、統合した課金情報をプロトコル変換部123へ出力する。プロトコル変換部123は、出力された課金情報を、課金情報取得依頼への返信としてVM131に送信する。
メッセージ返信統合部127は、返信メッセージを非同期で処理することもできる。返信メッセージを非同期で処理する場合、メッセージ返信統合部127は、クラウドOS110,210それぞれから返信を受信するごとに、課金情報をプロトコル変換部123へ出力する。プロトコル変換部123は、メッセージ返信統合部127から課金情報が出力されるごとに、その課金情報を課金情報取得依頼への返信としてVM131に送信する。
このようにして、マルチクラウドシステム内でVMを一意に識別可能なメディエータIDによってVMを指定することで、VMがどのクラウドで稼働していても、そのVMのメトリック情報を取得することができる。
以下、メトリック情報の取得依頼に応じたメディエータ120の各クラウドOS110,210への依頼メッセージ送信処理と返信メッセージ受信処理とについて詳細に説明する。
図12は、依頼メッセージ送信処理の手順の一例を示すフローチャートである。以下、図12に示す処理をステップ番号に沿って説明する。
[ステップS101]メディエータ120は、VM131からメトリック情報の取得依頼を示す依頼メッセージを受信する。依頼メッセージには、例えばVM131が属するテナントのテナントIDと取得するメトリック情報提供サービスの管理対象ID(CPU負荷など)が示される。依頼メッセージは、プロトコル変換部123を介して要求メッセージ解析部124に送信される。要求メッセージ解析部124は、依頼メッセージに示される依頼内容を解析する。
[ステップS102]要求メッセージ解析部124は、依頼内容に応じた処理ルーチンを起動する。そして要求メッセージ解析部124は、依頼内容に応じたメトリック情報提供サービスを有するクラウドのクラウドIDの取得要求を、管理情報変換部125に送信する。
[ステップS103]管理情報変換部125は、メトリック情報提供サービスのメディエータIDに基づいて、依頼先のクラウドのクラウドIDを取得する。例えば管理情報変換部125は、ID対応変換テーブル121aを参照し、取得するメトリック情報に応じたメトリック情報提供サービスのメディエータIDを取得する。取得するメトリック情報が複数のクラウドで管理されている場合、クラウドごとのメディエータIDが取得される。例えば依頼メッセージが、VM131が属するテナントのすべてのVMのCPU負荷の取得依頼であれば、該当テナントのテナントIDと、CPU負荷を示す管理対象IDとを有する各レコードのメディエータIDが、ID対応変換テーブル121aから取得される。管理情報変換部125は、メトリック管理テーブル122bを参照して、取得したメディエータIDに対応するメトリック情報提供サービスの最新の位置を示すクラウドIDとそのクラウドIDに対応するメトリックIDとを取得する。最新の位置を示すクラウドIDとは、該当メディエータIDに対応付けて最後に登録されたクラウドIDである。管理情報変換部125は、取得したクラウドIDとメトリックIDとを、要求メッセージ解析部124に送信する。要求メッセージ解析部124は、クラウドIDとメトリックIDとを依頼先として指定して、宛先/メッセージID管理部126に依頼メッセージを送信する。
[ステップS104]宛先/メッセージID管理部126は、依頼先のクラウドが複数あるか否かを判断する。宛先/メッセージID管理部126は、依頼先のクラウドが複数ある場合、処理をステップS105に進める。また宛先/メッセージID管理部126は、依頼先のクラウドが1つだけであれば、処理をステップS108に進める。
[ステップS105]宛先/メッセージID管理部126は、依頼先のクラウドごとに依頼メッセージを分割する。この際、宛先/メッセージID管理部126は、分割したメッセージを、依頼先のクラウドに応じたメッセージ形式に変換する。クラウドごとの依頼メッセージには、例えば該当クラウドにおけるメトリック情報提供サービスのメトリックIDが示される。依頼メッセージを受信したクラウドのメディエータは、メトリックIDに基づいて依頼先のメトリック情報提供サービスを特定し、そのメトリック情報提供サービスに依頼メッセージを送信する。
[ステップS106]宛先/メッセージID管理部126は、依頼メッセージに、同期処理である旨の指定があるか否かを判断する。宛先/メッセージID管理部126は、同期処理であれば、処理をステップS107に進める。また宛先/メッセージID管理部126は、同期処理でなければ処理をステップS108に進める。
[ステップS107]宛先/メッセージID管理部126は、分割によって生成された複数のメッセージそれぞれにメッセージIDを付与し、同期処理である旨をメッセージ返信統合部127に通知する。その後、宛先/メッセージID管理部126は、処理をステップS109に進める。
[ステップS108]宛先/メッセージID管理部126は、1または複数の依頼メッセージにメッセージIDを付与する。
[ステップS109]宛先/メッセージID管理部126は、プロトコル変換部123へ依頼メッセージ送信を要求する。プロトコル変換部123は、プロトコル変換部123を介して、依頼先に応じたプロトコルにより、依頼先のクラウドへ依頼メッセージを送信する。
依頼先のクラウドに依頼メッセージを送信すると、依頼メッセージを受信したクラウドから返信メッセージが応答される。
図13は、返信メッセージ受信処理の手順の一例を示すフローチャートである。以下、図13に示す処理をステップ番号に沿って説明する。
[ステップS111]メッセージ返信統合部127は、プロトコル変換部123を介して、返信メッセージを受信する。
[ステップS112]メッセージ返信統合部127は、返信メッセージの同期処理を行うか否かを判断する。例えばメッセージ返信統合部127は、宛先/メッセージID管理部126から同期処理である旨の通知を受け取っている場合、同期処理であると判断する。メッセージ返信統合部127は、同期処理であれば、処理をステップS113に進める。またメッセージ返信統合部127は、同期処理でなければ、処理をステップS115に進める。
[ステップS113]メッセージ返信統合部127は、依頼メッセージを送信したすべてのクラウドからの返信メッセージを受信したか否かを判断する。メッセージ返信統合部127は、受信していない返信メッセージがある場合、ステップS113を繰り返す。またメッセージ返信統合部127は、すべての返信メッセージを受信した場合、処理をステップS114に進める。
[ステップS114]メッセージ返信統合部127は、受信したすべての返信メッセージを1つの返信メッセージに統合する。例えばメッセージ返信統合部127は、受信したメッセージそれぞれに含まれるデータすべてをペイロードに含む、1つの返信メッセージを生成する。
[ステップS115]メッセージ返信統合部127は、返信メッセージのIDを、依頼メッセージのIDに変換する。
[ステップS116]メッセージ返信統合部127は、依頼メッセージの送信元へ返信メッセージを送信する。
このようにしてメディエータIDによって、マルチクラウドシステム内でVMが移動しても、任意のメトリック情報を取得できる。
次に、VMのメディエータIDの管理処理について説明する。
例えばメディエータ120は、メディエータIDを生成すると、そのメディエータIDを他のメディエータに通知し、追加された管理対象のメディエータIDをメディエータ間で共有する。またメディエータ120は、VM131の通信内容を監視して、VM131の通信先リストを作成する。メディエータ120では、VM131の通信先リストを、VM131を他のクラウドに移動させる際に、移動先のクラウドでVM131が処理を継続できるか否かの確認要求に利用する。
図14は、VMのメディエータID管理処理の手順の一例を示すシーケンス図である。図14の例には、クラウド100内にVM131が新たに生成されたときの、クラウド100内のメディエータ120と他のクラウド200内のメディエータ220との処理を示している。
VM131が生成されるとメディエータ120のメディエータID生成部128が、VM131のメディエータIDを生成する(ステップS121)。メディエータID生成部128は、クラウド200内のメディエータ220に対してメディエータID共有依頼を送信する(ステップS122)。メディエータID共有依頼には、VM131のメディエータIDと、そのメディエータIDの生成に用いた情報が含まれる。メディエータ220では、メディエータID共有依頼に応じて、メディエータ220が有するID対応変換DBに、VM131のメディエータIDと、そのメディエータIDの生成に用いた情報とを登録する(ステップS123)。
クラウド100内のメディエータ120は、生成したVM131の通信先リストを作成する(ステップS124)。通信先リストは、例えばVM131の識別子(メディエータID)に対応付けて、メモリ102またはストレージ装置103に格納される。例えばメディエータ120内のVM移動部129が、通信先リストに、VM131が属するテナント内におけるVM131の通信相手の、IPアドレスとポート番号(VM131自身のIPアドレス・ポート番号を含む)を登録する。またVM移動部129は、通信先リストに、VM131が属するテナント外でクラウド100内に属する、VM131の通信相手の、IPアドレスとポート番号を登録する。さらにVM移動部129は、通信先リストに、VM131が属するテナント外でクラウド100外に属する、VM131の通信相手の、IPアドレスとポート番号を登録する。
VM移動部129は、VMが新たな通信相手と通信したか否かを判断する(ステップS125)。例えばVM移動部129は、通信先リストに登録されていないIPアドレスとポート番号との組を通信相手としたパケットの送受信をVM131が行った場合、新たな通信相手と通信したと判断する。VM移動部129は、VM131が新たな通信相手と通信した場合、処理をステップS124に進め、新たな通信相手のIPアドレスとポート番号との組を、通信先リストに追加する。
VM131が新たな通信相手と通信していなければ、VM移動部129は、VM131が存在しなくなったか否かを判断する(ステップS126)。例えばVM移動部129は、クラウドOS110によってVM131が削除された場合、VM131は存在しなくなったと判断する。VM移動部129は、VM131がまだ存在していれば、処理をステップS125に進め、VM131が新たな通信相手と通信するか否かを監視する。またVM移動部129は、VM131が存在しなくなったら処理を終了する。
このようにして、VM131が生成された際に、VM131を一意に識別可能なメディエータIDが生成されると共に、そのメディエータIDがマルチクラウドシステム内のすべてのメディエータで保持される。さらにVM131の通信相手が通信先リストで管理される。クラウドを跨がってVM131が移動する際、通信先リストに基づいて、VM131の通信相手との通信が移動先のクラウドでも同様に可能かどうかを確認することができる。
図15は、VM移動処理の手順の一例を示すシーケンス図である。図15の例では、VM131のクラウド200への移動要求が、クラウドOS110からメディエータ120に送信された場合を想定している。メディエータ120では、VM移動部129が、VM131を移動した後に、現在と同等の性能が確保できることの確認依頼(性能充足確認依頼41)を、クラウド200内のメディエータ220に送信する(ステップS131)。性能充足確認依頼41には、例えば確認リストが含まれる。確認リストには、VM131の通信相手(VMまたはメトリック情報提供サービス)のIPアドレスと通信ポート、VM131の性能情報などが含まれる。例えばテナント内のサービスを継続して利用可能なことが分かっている場合、図14のステップS124で作成した通信先リストのうち、テナント外の送信先のIPアドレスとポート番号が、確認リストに含められる。VM131の性能情報には、例えばVM131の実行に使用するCPUコア数、メモリ容量、ストレージ容量などの使用する資源量に関する情報が含まれる。
性能充足確認依頼41を受信したメディエータ220では、メディエータ220内のVM移動部が性能充足確認処理を行う(ステップS132)。性能充足確認処理では、例えば確認リストに示されている通信ポートで提供されているサービスにアクセスできるか否か、性能情報で示される性能と同等以上の性能を確保できるか否かなどが判断される。
メディエータ220内のVM移動部は、性能充足確認処理による確認結果42をメディエータ120に送信する(ステップS133)。確認結果42には、確認リストに示されている通信ポートで提供されているサービスにアクセスできるか否か、性能情報で示される性能と同等以上の性能を確保できるか否かなどが示される。
メディエータ120のVM移動部129は、確認結果42に基づいて、VM131がクラウド100内で使用していたサービスが、クラウド200にも存在するか否かを判断する(ステップS134)。例えばVM移動部129は、クラウド200においても、VM131がクラウド100内で利用しているサービス用のポート番号を介して、同種のサービスにアクセス可能であれば、該当サービスが存在すると判断する。VM移動部129は、VM131がクラウド100で利用しているすべてのサービスがクラウド200にも存在する場合、処理をステップS135に進める。またVM移動部129は、VM131がクラウド100で使用しているサービスのうちの少なくとも1つが、クラウド200に存在しない場合、VM131を移動させずに処理を終了する。
移動先のクラウド200においてもすべてのサービスが提供可能であれば、VM移動部129は、移動先のクラウド200においてVM131が十分な性能を得ることができるか否かを判断する(ステップS135)。例えばVM移動部129は、確認結果42においてVM性能の確認の結果、十分な性能があると示されていれば、十分な性能を得ることができると判断する。VM移動部129は、移動先のクラウド200において、VM131が十分な性能を得ることができる場合、処理をステップS136に進める。またVM移動部129は、VM131をクラウド200に移動させると十分な性能を得ることができない場合、VM131を移動させずに処理を終了する。
移動しても十分な性能を得ることができる場合、VM移動部129は、マイグレーション処理を実行し、VM131をクラウド200に移動させる(ステップS136)。この際、VM移動部129は、クラウド200内のメディエータ220に、VM131のメディエータIDと、VM131が利用するサービスのIPアドレスと通信ポートとの組を示す利用サービス情報43を送信する。
クラウド200のメディエータ220は、移動後のVMにクラウド200内でのIPアドレスを付与する(ステップS137)。この際、メディエータ220は、移動後のVMのプロキシとして、メディエータ220のIPアドレスを設定する。さらにメディエータ220は、VM131のメディエータIDに対応付けて、利用サービスID対応テーブルに、利用サービス情報に示されるIPアドレス・ポート番号と、対応するクラウド200内のサービスのIPアドレス・ポート番号とを登録する(ステップS138)。その後、メディエータ220は、移動したVM131を稼働させる(ステップS139)。VM131の稼働が完了すると、メディエータ220は、稼働完了通知をクラウド100のメディエータ120に送信する(ステップS140)。
クラウド100のメディエータ120は、稼働完了通知を受信すると、クラウド100でのVM131の稼働を停止する(ステップS141)。
このようにして、移動前と同様の処理を同様の性能で実行できることを確認した上で、VM131を移動することができる。しかもVM131を移動させたとき、移動先のメディエータ220において、利用サービスID対応テーブルに、移動元と移動先との利用サービスのIPアドレス・ポート番号の対応関係を登録している。これにより、VM131が移動後にサービスを利用する際に、サービスを指定するIPアドレスとポート番号を、移動先のクラウド200に応じたIPアドレスとポート番号に容易に変更することができる。
以下、図16を参照して、VM131がCPU負荷取得サービスを利用している場合のVM131の移動例について説明する。
図16は、CPU負荷取得サービスを利用しているVMの移動例を示す図である。クラウド100のメディエータ120は、VM131をクラウド200に移動させる(ステップS151)。これにより、クラウド200内にVM131と同じ機能と性能とを有するVM131aが生成される。なおメディエータ120は、VM131を移動させる際に、利用サービス情報43をメディエータ220に送信する。利用サービス情報43には、CPU負荷取得用のIPアドレスと通信ポートのポート番号とが示されている。
メディエータ220は、移動後のVM131aにクラウド200内でのIPアドレス(192.169.100.22)を付与する(ステップS152)。この際、メディエータ220は、VM131aのプロキシサーバとして、メディエータ220のIPアドレスを設定する。そしてメディエータ220は、VM131aの稼働を開始させる(ステップS153)。VM131aは、稼働が開始すると、稼働完了通知をメディエータ220に送信する(ステップS154)。
メディエータ220は、移動元と移動先とにおける、サービスを利用するためのアクセス先の対応関係を、VM131aのメディエータIDに対応付けて利用サービスID対応テーブルに登録する(ステップS155)。クラウド200内でのCPU負荷取得用のIPアドレスとポート番号が「172.222.0.77:9000」の場合、利用サービスID対応テーブルに「(172.100.0.80:8989)→(172.222.0.77:9000)」と登録される。作成された利用サービスID対応テーブルは、VM131aのメディエータIDに対応付けて、例えばメモリに保持される。
例えばメディエータ220は、自身が有するID対応変換テーブル(メディエータ120のID対応変換テーブル121aと同じ内容)を参照して、各メディエータでのCPU負荷取得のサービス(管理対象IDが「CPU負荷」)のメディエータIDを取得する。次に、メディエータ220は、自身が有する通信環境管理テーブル(メディエータ120の通信環境管理テーブル122cと同じ内容)を参照して、取得したメディエータIDに対応するIPアドレスとポート番号を取得する。メディエータ220は、メディエータ120におけるCPU負荷取得サービスのIPアドレス・ポート番号を移動元IPアドレス・ポート番号とし、メディエータ220におけるCPU負荷取得サービスのIPアドレス・ポート番号を移動先IPアドレス・ポート番号とする。そしてメディエータ220は、メディエータ220が有する利用サービスID対応テーブルに、移動したVM131のメディエータIDに対応付けて、移動元IPアドレス・ポート番号と移動先IPアドレス・ポート番号との組を登録する。
メディエータ220は、VM131aから稼働完了通知を受信すると、稼働完了通知を、移動元のクラウド100のメディエータ120に送信する(ステップS156)。メディエータ120は、稼働完了通知を受信すると、VM131の稼働停止制御を行う(ステップS157)。その結果、VM131の稼働が停止する(ステップS158)。
その後、クラウド200内で稼働しているVM131aがCPU負荷要求を出力する(ステップS159)。VM131aは、クラウド100内で稼働していたときと同じ環境設定で動作しているため、このCPU負荷要求の送信先は、クラウド100におけるCPU負荷取得サービス宛てであり、宛先は(172.100.0.80:8989)である。
メディエータ220は、CPU負荷要求を取得すると、利用サービスID対応テーブルに基づいて、CPU負荷要求の宛先を(172.100.0.80:8989)から(172.222.0.77:9000)に変換する。そしてメディエータ220は、CPU負荷要求をクラウドOS210に送信することで、クラウドOS210からCPU負荷情報44を取得する(ステップS160)。メディエータ220は、クラウドOS210から取得したCPU負荷情報44を、VM131aに送信する(ステップS161)。
このようにして、VM131は、クラウドを跨がった移動後においても、移動前と同様にCPU負荷情報を取得することができる。
次に、VM131が移動後に、移動前に通信していた他のVMと通信する例について説明する。
図17は、VM間通信を行うVMの移動例を示す図である。クラウド100のメディエータ120は、VM131をクラウド200に移動させる(ステップS171)。メディエータ220は、移動後のVM131aにクラウド200内でのIPアドレス(192.169.100.22)を付与する(ステップS172)。そしてメディエータ220は、VM131aの稼働を開始させる(ステップS173)。VM131aは、稼働が開始すると、稼働完了通知をメディエータ220に送信する(ステップS174)。
メディエータ220は、VM131aから稼働完了通知を受信すると、稼働完了通知を、移動元のクラウド100のメディエータ120に送信する(ステップS175)。メディエータ120は、稼働完了通知を受信すると、VM131の稼働停止制御を行う(ステップS176)。その結果、VM131の稼働が停止する(ステップS177)。
その後、VM131aは、移動元のクラウド100内のVM132宛てにパケットを送信する(ステップS178)。送信されたパケットは、メディエータ220で受信される。
メディエータ220は、自身が有する通信環境管理テーブル(メディエータ120が有する通信環境管理テーブル122cと同じ内容)から、パケットを送信したVM131aのIPアドレスに対応するメディエータIDを取得する。そしてメディエータ220は、取得したメディエータIDに基づいて、VM131aの移動前のVM131が存在していたクラウド100のVM132へパケットを転送する(ステップS179)。この際、メディエータ220は、パケットの送信元のアドレスを、移動後のVM131aのアドレス「192.169.100.22」から移動前のVM131のアドレス「192.169.0.11」に変更する。
転送されたパケットはメディエータ120で受信され、メディエータ120がそのパケットをVM132に転送する(ステップS180)。VM132は、パケットを受信し、移動前のVM131のアドレス「192.169.0.11」を宛先として、返信のパケットを送信する(ステップS181)。返信パケットはメディエータ120で受信される。
メディエータ120は、通信環境管理テーブル122cから、返信パケットの送信先のVM131のメディエータIDを取得する。そしてメディエータ120は、取得したメディエータIDに基づいて、クラウド200上の移動後のVM131aへ返信パケットを転送する(ステップS182)。この際、メディエータ120は、返信パケットの送信先のアドレスを、移動前のVM131のアドレス「192.169.0.11」から移動後のVM131aのアドレス「192.169.100.22」に変更する。クラウド200では、メディエータ220が返信パケットを受信し、その返信パケットを移動後のVM131aに転送する(ステップS183)。
以上説明したように、第2の実施の形態によれば、VMやメトリック情報提供サービスなど、クラウド上で管理対象となる要素に対して、グローバルに一意に識別可能なメディエータIDを付与している。これによりクラウドを跨がってVMを移動させても、メディエータにおいて、各VMを一意に識別でき、各VMの複数のクラウドそれぞれでのIPアドレスなどを容易に管理できる。その結果、移動したVMによる移動前と同様の情報取得や、VM間通信が可能となっている。
なおメディエータID以外にも、グローバルなアドレスの表記方法があるが、それぞれ以下のような問題があり、マルチクラウドシステムにおいて実用的ではない。
グローバルなアドレスの第1の例として、FQDN(Fully Qualified Domain Name)がある。FQDNでは、クラウド内のVMのIPアドレスまでは表現が難しい。またFQDNは、VMが別のクラウドに移行した場合、その表記を修正することとなり、VMがクラウドを跨がって移動した際に同一性を保持できない。
グローバルなアドレスの第2の例として、IPV6のインタフェースIDがある。このインタフェースIDをベースにした通信はLAN(Local Area Network)内に限られる。またIPV6のインタフェースIDは、MAC(Media Access Control)アドレスから生成されるため、VMが別のクラウドへ移動した場合、そのMACアドレスが修正され、インタフェースIDが修正される場合がある。
グローバルなアドレスの第3の例として、MobileIPがある。MobileIPでは、相手のインスタンスIDを取得する場合において、そのVMが稼働しているクラウドにおけるVMのインスタンスID取得用のアクセスIPアドレスが不明の場合は、インスタンスIDを取得できず、通信が行えない。仮に、インスタンスID取得用のアクセスIPアドレスを外部に公開されたエージェントに登録しておいても、その取得アクセスAPI(Application Programming Interface)やプロトコルがクラウドごとに異なる場合がある。この場合、取得アクセスAPIなどの差異をアプリケーションやエージェントで吸収するのは困難である。
なお上記の3つの例で共通の問題として、メトリック情報へアクセスするREST(REpresentationalState Transfer)APIのIPアドレスは外部からアクセスできず、クラウドを跨がってRESTAPIを介した情報取得ができないことがある。そのIPアドレスをエージェントに登録したり、FQDNで表現したり、IPV6で直接アクセスしたりすることはできない。
第2の実施の形態によれば、各VMやメトリック情報提供サービスにグローバルな識別子としてメディエータIDを付与し、そのメディエータIDを各クラウドのメディエータが管理している。これによりVMがクラウドを跨がって移動しても、継続してVMを一意に識別でき、各VMに関する情報を適切に管理することができる。
〔その他の実施の形態〕
第1・第2の実施の形態では、クラウドが2つの場合について説明しているが、第1・第2の実施の形態に示した処理は、クラウドが3つ以上のマルチクラウドシステムにも同様に適用できる。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
1 第1クラウド
2 第2クラウド
3,4 運用管理装置
5,5a 第1仮想マシン
6,7 サーバ
6a 第1サービス
7a 第2サービス

Claims (7)

  1. コンピュータに、
    第1クラウドコンピューティングシステム内で実行されている第1仮想マシンが利用した第1サービスのポート番号を、前記第1仮想マシンの識別子に対応付けて記憶し、
    前記第1仮想マシンの第2クラウドコンピューティングシステムへの移動要求を受信すると、前記第2クラウドコンピューティングシステムに対して、前記第1サービスの前記ポート番号を指定して、前記第2クラウドコンピューティングシステムにおいて前記ポート番号に対応する第2サービスが利用可能か否かの確認要求を送信し、
    前記確認要求に対して、前記第2クラウドコンピューティングシステムから前記第2サービスが利用可能であるとの回答を受信すると、前記第1仮想マシンを前記第2クラウドコンピューティングシステムへ移動させる、
    処理を実行させるマルチクラウド運用プログラム。
  2. 前記コンピュータに、さらに、
    前記第2クラウドコンピューティングシステム内で実行されていた第2仮想マシンが、前記第1クラウドコンピューティングシステムに移動した場合、前記第2クラウドコンピューティングシステムから、前記第2仮想マシンが利用していた前記第2サービスへのアクセス用の第2アドレスを取得し、
    前記第1クラウドコンピューティングシステム内で前記第2サービスと同種のサービスを提供する前記第1サービスへのアクセス用の第1アドレスと、取得した前記第2アドレスとの対応関係を示す対応表を記憶し、
    移動後の前記第2仮想マシンから前記第2アドレスを指定したサービス提供要求を受信すると、前記対応表に基づいて、前記サービス提供要求の送信先を前記第1アドレスに変更する、
    処理を実行させる請求項1記載のマルチクラウド運用プログラム。
  3. 前記コンピュータに、さらに、
    移動後の前記第1仮想マシンの前記第2クラウドコンピューティングシステム内での第4アドレスを、前記第2クラウドコンピューティングシステムから取得し、
    前記第1仮想マシンの前記第1クラウドコンピューティングシステム内での第3アドレスと前記第4アドレスとを対応付けて記憶し、
    前記第1仮想マシンが前記第2クラウドコンピューティングシステムに移動した後は、前記第1クラウドコンピューティングシステム内で発生した前記第3アドレスを送信先とするパケットの送信先を前記第4アドレスに変更して、送信先変更後のパケットを前記第2クラウドコンピューティングシステムに転送する、
    処理を実行させる請求項1または2記載のマルチクラウド運用プログラム。
  4. 前記コンピュータに、さらに、
    前記第2クラウドコンピューティングシステム内で第3仮想マシンが生成されると、前記第2クラウドコンピューティングシステムから、前記第3仮想マシンの前記第2クラウドコンピューティングシステム内での第5アドレスを取得し、
    前記第2クラウドコンピューティングシステム内で第4仮想マシンが生成されると、前記第2クラウドコンピューティングシステムから、前記第4仮想マシンの前記第2クラウドコンピューティングシステム内での第6アドレスを取得し、
    前記第3仮想マシンが前記第1クラウドコンピューティングシステムに移動した場合、移動前の前記第3仮想マシンの前記第5アドレスに対応付けて、移動後の前記第3仮想マシンの前記第1クラウドコンピューティングシステム内での第7アドレスを記憶し、
    移動後の前記第3仮想マシンが、前記第4仮想マシンの前記第6アドレスを送信先とするパケットを出力した場合、出力されたパケットの送信元のアドレスを前記第6アドレスに変更して、送信元変更後のパケットを前記第2クラウドコンピューティングシステムに転送する、
    処理を実行させる請求項1ないし3のいずれかに記載のマルチクラウド運用プログラム。
  5. 前記コンピュータに、さらに、
    移動前の前記第1仮想マシンが、前記第1サービスと前記第2サービスとを指定した多重サービス提供要求を出力すると、前記多重サービス提供要求を、前記第1サービスのアドレスを送信先とする第1要求と、前記第2サービスのアドレスを送信先とする第2要求とに分割し、
    前記第1要求を前記第1クラウドコンピューティングシステム内で前記第1サービス宛てに送信し、前記第2要求を前記第2クラウドコンピューティングシステムに送信する、
    処理を実行させる請求項1ないし4のいずれかに記載のマルチクラウド運用プログラム。
  6. 前記コンピュータに、さらに、
    前記第1要求に対応する第1応答と前記第2要求に対する第2応答とを受信するまで、応答を待ち、
    前記第1応答と前記第2応答とを受信すると、前記第1応答と前記第2応答とを1つにまとめて、前記第1仮想マシンに応答する、
    処理を実行させる請求項5記載のマルチクラウド運用プログラム。
  7. コンピュータが、
    第1クラウドコンピューティングシステム内で実行されている第1仮想マシンが利用した第1サービスのポート番号を、前記第1仮想マシンの識別子に対応付けて記憶し、
    前記第1仮想マシンの第2クラウドコンピューティングシステムへの移動要求を受信すると、前記第2クラウドコンピューティングシステムに対して、前記第1サービスの前記ポート番号を指定して、前記第2クラウドコンピューティングシステムにおいて前記ポート番号に対応する第2サービスが利用可能か否かの確認要求を送信し、
    前記確認要求に対して、前記第2クラウドコンピューティングシステムから前記第2サービスが利用可能であるとの回答を受信すると、前記第1仮想マシンを前記第2クラウドコンピューティングシステムへ移動させる、
    マルチクラウド運用方法。
JP2018154784A 2018-08-21 2018-08-21 マルチクラウド運用プログラム、およびマルチクラウド運用方法 Active JP7132494B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018154784A JP7132494B2 (ja) 2018-08-21 2018-08-21 マルチクラウド運用プログラム、およびマルチクラウド運用方法
US16/449,625 US11010189B2 (en) 2018-08-21 2019-06-24 Multi-cloud operating method, operation managing device, and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018154784A JP7132494B2 (ja) 2018-08-21 2018-08-21 マルチクラウド運用プログラム、およびマルチクラウド運用方法

Publications (2)

Publication Number Publication Date
JP2020031305A true JP2020031305A (ja) 2020-02-27
JP7132494B2 JP7132494B2 (ja) 2022-09-07

Family

ID=69586914

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018154784A Active JP7132494B2 (ja) 2018-08-21 2018-08-21 マルチクラウド運用プログラム、およびマルチクラウド運用方法

Country Status (2)

Country Link
US (1) US11010189B2 (ja)
JP (1) JP7132494B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4443819A1 (en) 2023-04-07 2024-10-09 OMRON Corporation Authentication relay server and authentication program

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6791538B2 (ja) * 2018-12-25 2020-11-25 Necプラットフォームズ株式会社 通信システム及び通信装置
US20220283844A1 (en) * 2021-03-04 2022-09-08 Rakuten Mobile, Inc. Apparatus and method for port mapping of virtual machines in cloud infrastructure
WO2022261871A1 (zh) * 2021-06-16 2022-12-22 国云科技股份有限公司 一种基于多云管理平台的应用接入方法及装置
CN115801861B (zh) * 2023-01-18 2023-04-28 苏州浪潮智能科技有限公司 一种数据通信方法、装置、设备、可读存储介质及服务器

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120137003A1 (en) * 2010-11-23 2012-05-31 James Michael Ferris Systems and methods for migrating subscribed services from a set of clouds to a second set of clouds
US20130080509A1 (en) * 2011-09-27 2013-03-28 Alcatel-Lucent Shanghai Bell Co. Ltd. Cloud computing access gateway and method for providing a user terminal access to a cloud provider
JP2014525204A (ja) * 2011-07-27 2014-09-25 マイクロソフト コーポレーション 仮想ネットワーク内のパケットロスを最小化する仮想マシンマイグレーション
CN105912389A (zh) * 2016-04-06 2016-08-31 易云捷讯科技(北京)股份有限公司 基于数据虚拟化实现混合云环境下的虚拟机迁移系统
WO2018001269A1 (zh) * 2016-07-01 2018-01-04 华为技术有限公司 处理云资源的方法和物理节点

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9106540B2 (en) 2009-03-30 2015-08-11 Amazon Technologies, Inc. Providing logical networking functionality for managed computer networks
JP6010906B2 (ja) 2011-12-27 2016-10-19 富士通株式会社 コンピュータネットワークシステム、構成管理方法、構成管理プログラム、記録媒体
EP3158441A1 (en) 2014-06-23 2017-04-26 Oracle International Corporation System and method for partition migration in a multitenant application server environment
US20190317783A1 (en) * 2015-08-06 2019-10-17 Telefonaktiebolaget Lm Ericsson (Publ) Methods, apparatus, and systems for providing access to serial ports of virtual machines in self-deployed virtual applications
WO2017080590A1 (en) * 2015-11-10 2017-05-18 Telefonaktiebolaget Lm Ericsson (Publ) Technique for exchanging datagrams between application modules
CN106936715B (zh) * 2015-12-31 2019-06-07 新华三技术有限公司 虚拟机报文控制方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120137003A1 (en) * 2010-11-23 2012-05-31 James Michael Ferris Systems and methods for migrating subscribed services from a set of clouds to a second set of clouds
JP2014525204A (ja) * 2011-07-27 2014-09-25 マイクロソフト コーポレーション 仮想ネットワーク内のパケットロスを最小化する仮想マシンマイグレーション
US20130080509A1 (en) * 2011-09-27 2013-03-28 Alcatel-Lucent Shanghai Bell Co. Ltd. Cloud computing access gateway and method for providing a user terminal access to a cloud provider
CN105912389A (zh) * 2016-04-06 2016-08-31 易云捷讯科技(北京)股份有限公司 基于数据虚拟化实现混合云环境下的虚拟机迁移系统
WO2018001269A1 (zh) * 2016-07-01 2018-01-04 华为技术有限公司 处理云资源的方法和物理节点

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4443819A1 (en) 2023-04-07 2024-10-09 OMRON Corporation Authentication relay server and authentication program

Also Published As

Publication number Publication date
JP7132494B2 (ja) 2022-09-07
US11010189B2 (en) 2021-05-18
US20200065129A1 (en) 2020-02-27

Similar Documents

Publication Publication Date Title
US10469314B2 (en) API gateway for network policy and configuration management with public cloud
JP7132494B2 (ja) マルチクラウド運用プログラム、およびマルチクラウド運用方法
WO2020135800A1 (zh) 一种域名服务器的分配方法和装置
WO2016184045A1 (zh) 一种网络业务扩容的方法和装置
US10498694B2 (en) Mapping IPv4 knowledge to IPv6
US10243919B1 (en) Rule-based automation of DNS service discovery
CN110352401B (zh) 具有按需代码执行能力的本地装置协调器
JP2018530214A (ja) ネットワークサービスをデプロイするための方法及び装置
CN116018788A (zh) 为动态发现的对等体或网络功能配置服务网格联网资源
US9130943B1 (en) Managing communications between client applications and application resources of on-premises and cloud computing nodes
CN107431651A (zh) 一种网络服务的生命周期管理方法及设备
US11303583B2 (en) Resource trees by management controller
US11202252B2 (en) Inclusion of a message proxy in a service based architecture
EP3883183A1 (en) Virtualization management method and device
JP2021517695A (ja) クラウドサービスのデータキャッシング
CN112015696B (zh) 数据访问、数据关系设置方法、装置及存储介质
US10931630B2 (en) System and method for connecting using aliases
CN115242882A (zh) 一种基于传输层路由访问k8s容器环境的方法及装置
CN104205730B (zh) 网元数据访问方法、虚拟网元、网络管理服务器及网络管理系统
US10243920B1 (en) Internet protocol address reassignment between virtual machine instances
US11537575B1 (en) Real-time database performance tuning
US20200313981A1 (en) Method and device for processing a network service instantiation request
US20240106889A1 (en) Data resource storage method and apparatus, data resource query method and apparatus, and electronic device
US11172041B2 (en) Communication proxy for devices in mobile edge computing networks
US10951576B1 (en) Method and apparatus for accurate GLB achieved by using distributed DNS reflection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210513

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20210524

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20210524

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220301

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220412

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220808

R150 Certificate of patent or registration of utility model

Ref document number: 7132494

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150