JP7173337B2 - リソース管理装置、リソース管理方法およびプログラム - Google Patents

リソース管理装置、リソース管理方法およびプログラム Download PDF

Info

Publication number
JP7173337B2
JP7173337B2 JP2021528518A JP2021528518A JP7173337B2 JP 7173337 B2 JP7173337 B2 JP 7173337B2 JP 2021528518 A JP2021528518 A JP 2021528518A JP 2021528518 A JP2021528518 A JP 2021528518A JP 7173337 B2 JP7173337 B2 JP 7173337B2
Authority
JP
Japan
Prior art keywords
reservation
virtual resource
virtual
resource
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2021528518A
Other languages
English (en)
Other versions
JPWO2020255277A1 (ja
Inventor
広幸 徐
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2020255277A1 publication Critical patent/JPWO2020255277A1/ja
Application granted granted Critical
Publication of JP7173337B2 publication Critical patent/JP7173337B2/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5014Reservation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、仮想化基盤におけるリソース管理装置、リソース管理方法およびプログラムに関する。
仮想化技術をベースとするIaaS(Infrastructure as a Service)やNFV(Network Functions Virtualization)を利用したネットワークサービスが普及している。これらの仮想化基盤では、CPU(Central Processing Unit)やメモリ、ネットワークインタフェース、ネットワークなどのリソースが仮想化され、利用者(ネットワークサービス提供者)の要求に応じて仮想化されたリソース(仮想リソース)が予約されて、利用される。予約する場合には、仮想リソースの種別や量、スペックなどが指定される(非特許文献1)。また、予約に優先度があり、優先度が高い予約が優先される場合がある(特許文献1)。
予約期間に空き状態の仮想リソースがなければ、予約は失敗する。予約に失敗すると、利用者は仮想化基盤が利用できず、サービスやシステムが構築できない。これを解消するには、他の利用者に予約済みもしくは利用中のリソースを解放してもらったり、仮想リソースが増強されるまで待ったりする必要があり、手間やコストがかかる。
特開2017-143452号公報
Network Functions Virtualisation (NFV) Release 3; Management and Orchestration; Functional requirements specification, ETSI GS NFV-IFA 010 V3.2.1 (2019-04), [online], ETSI, [令和1年6月3日検索], インターネット<URL: https://www.etsi.org/deliver/etsi_gs/NFV-IFA/001_099/010/03.02.01_60/gs_NFV-IFA010v030201p.pdf>
仮想リソースの予約の成否は、予約時点での仮想リソースの既存予約が物理リソース(物理ホストやネットワーク装置などの物理装置)にどのように割り当てられているかに依存する。
図8は、新規予約が不可能な、既存予約の物理装置911,912への割り当て状態(予約内容)を説明するための図である。予約要求940は、予約期間Tに、量が6である仮想リソース予約の要求である。物理装置911の予約期間Tにおける仮想リソースの割り当て状態は、利用を開始しているサービス921(仮想マシン、仮想ネットワーク機能)に量が6の仮想リソースが割り当てられ、さらに予約済みのサービス931に量が4の仮想リソースが割り当てられており、残りの空いている仮想リソースの量は5である。物理装置912については、利用を開始しているサービス922に量が4の仮想リソースが割り当てられ、さらに予約済みのサービス932,933にそれぞれ量が4の仮想リソースが割り当てられており、残りの空いている仮想リソースの量は3である。このような仮想リソースの割り当て状態では、空いている仮想リソースの量の合計は8であるが、量が6である空きの仮想リソースは物理装置911,912には存在せず、予約要求940の予約は失敗する。
図9は、新規予約が可能な、既存予約の物理装置911,912への割り当て状態を説明するための図である。物理装置911の予約期間Tでの仮想リソースの割り当て状態は、利用を開始しているサービス921に量が6の仮想リソースが割り当てられ、さらに予約済みのサービス931,933にそれぞれ量が4の仮想リソースが割り当てられており、残りの空いている仮想リソースの量は1である。物理装置912については、利用を開始しているサービス922に量が4の仮想リソースが割り当てられ、さらに予約済みのサービス932に量が4の仮想リソースが割り当てられており、残りの空いている仮想リソースの量は7である。このような仮想リソースの割り当て状態では、予約要求940が要求する仮想リソースを物理装置912に確保することができ、予約が成功する。
同じサービス921,922,931~933が同じ物理装置911,912に割り当てられても、どのように物理装置911,912に割り当てられるかで、予約要求940の予約の成否が異なってしまう。
図8および図9では、仮想リソースの量(仮想CPUの数やメモリサイズ、ネットワーク帯域など)に着目して、予約の物理装置への割り当て状態の違いによる予約の成否を説明した。他に物理装置の属性(スペック)により予約が失敗する場合もある。例えば、物理装置911にはGPU(Graphics Processing Unit)などの特殊なハードウェアが搭載されているが、物理装置912には搭載されていないとする。物理装置911に、GPUを使用しないサービスが割り当てられ空きがない予約期間に、GPUを含む仮想リソースの予約を要求する予約要求があれば、この予約要求は失敗してしまう。GPUを使用しないサービスが物理装置912に割り当てられていれば、予約要求は成功する可能性がある。
本発明は、このような背景を鑑みてなされたのであり、仮想化基盤におけるリソースの利用率向上を可能とするリソース管理装置、リソース管理方法およびプログラムを提供することを課題とする。
前記した課題を解決するため、リソース管理装置は、仮想リソースと、当該仮想リソースの予約期間とを関連付けて格納して仮想リソースの予約内容を記憶する仮想リソース管理データベースを備える記憶部と、前記仮想リソースの予約要求を受け取り、前記予約要求に含まれる仮想リソースを割り当てて予約する仮想リソース予約部と、前記予約要求の予約が失敗したときに、予約済みの仮想リソースの予約を示す既存予約について予約の仮解除を行って前記予約要求に含まれる仮想リソースを割り当てて予約し、前記既存予約の各予約に対して対応する仮想リソースを割り当てて再予約を実行し、前記再予約が全て成功した場合には前記予約要求が成功したとし、前記再予約の一部でも失敗した場合には前記予約要求の予約を解除して前記既存予約の予約内容を前記仮解除の前のままにする仮想リソース状態管理部とを備えることを特徴とする。
本発明によれば、仮想化基盤におけるリソースの利用率向上を可能とするリソース管理装置、リソース管理方法およびプログラムを提供することができる。
本実施形態に係るリソース管理装置を含む仮想化基盤の全体構成図である。 本実施形態に係るリソース管理装置のハードウェア構成図である。 本実施形態に係るリソース管理装置の機能構成図である。 本実施形態に係る仮想リソース管理データベースのデータ構成図である。 本実施形態に係る仮想リソース仮予約データベースのデータ構成図である。 本実施形態に係るリソース管理装置が実行する仮想リソース割り当て処理のフローチャートである。 本実施形態の変形例に係るリソース管理装置が実行する仮想リソース割り当て処理のフローチャートである。 新規予約が不可能な、既存予約の物理装置への割り当て状態(予約内容)を説明するための図である。 新規予約が可能な、既存予約の物理装置への割り当て状態を説明するための図である。
≪仮想化基盤の構成≫
以下に、本発明を実施するための形態(実施形態)におけるリソース管理装置について説明する。リソース管理装置は、予約要求(仮想リソースの割り当て要求)に失敗した場合、既存予約(利用中を除く仮想リソースを割り当て済の予約)の仮想リソースへの割り当てをいったん解除(仮解除)して、予約要求に仮想リソースを割り当て、続いて、既存予約の仮想リソースへの割り当てをやり直す。やり直しに成功すれば、予約要求は成功とする。やり直しに失敗した場合には、既存予約の割り当てを解除前の割り当てに戻し、予約要求は失敗とする。やり直しの間に、新たな予約要求が成功したならば、当該新たな予約要求を含めた既存予約の仮想リソースへの割り当てをやり直す。
図1は、本実施形態に係るリソース管理装置100を含む仮想化基盤10の全体構成図である。仮想化基盤10は、物理装置200、リソース管理装置100、および物理装置200とリソース管理装置100とを接続するスイッチ300を含んで構成される。図1には、3つの物理装置200が記載されているが、3つには限らない。スイッチ300は、仮想リソースを要求する利用者が使用する端末や、仮想リソースを利用したサービスの提供先となる端末が接続された外部ネットワークに接続されるが、図1には記載していない。
物理装置200は、例えば物理ホストやネットワーク装置などの物理リソースを備える装置である。物理装置200の物理リソースは、仮想化され、仮想リソースとして予約され、サービスに利用される。物理リソースとしては、例えば、CPUやメモリ、ストレージ、ネットワーク(ネットワーク帯域)などがある。
≪リソース管理装置の構成≫
図2は、本実施形態に係るリソース管理装置100のハードウェア構成図である。リソース管理装置100は、コンピュータであり、CPU101、RAM(Random Access Memory)102、ROM(Read Only Memory)103、SSD(Solid State Drive)104、NIC(Network Interface Card)105、入出力インタフェース106(図2では入出力I/F(interface)と記載)、およびメディアドライブ107を含んで構成される。
NIC105は、スイッチ300と接続されており、物理装置200や仮想化基盤10の利用者が使用する端末との通信データを送受信する。入出力インタフェース106には、ディスプレイやキーボード、マウスなどのUI(User Interface)装置198が接続される。メディアドライブ107は、記録媒体199上のプログラムを読み取る。読み取られたプログラム(後記する図3のプログラム121参照)をCPU101が実行することで、コンピュータであるリソース管理装置100は、仮想リソースの予約要求に対して、物理装置200上の仮想リソースを割り当てて予約する。
図3は、本実施形態に係るリソース管理装置100の機能構成図である。リソース管理装置100は、制御部110、記憶部120、および通信部190を含んで構成される。通信部190は、NIC105(図2参照)から構成され、物理装置200や仮想化基盤10の利用者が使用する端末との通信データを送受信する。
記憶部120は、RAM102、ROM103、SSD104を含んで構成され、プログラム121、仮想リソース管理データベース130(図3では仮想リソース管理DB(database)と記載、後記する図4参照)、仮想リソース仮予約データベース150(後記する図5参照)、および物理装置管理データベース160などを記憶する。物理装置管理データベース160は、物理装置200が備える仮想リソースの種別や量、付属装置、利用可否などの情報を含む。
≪リソース管理装置の構成:仮想リソース管理データベース≫
図4は、本実施形態に係る仮想リソース管理データベース130のデータ構成図である。仮想リソース管理データベース130は、例えば表形式のデータであって、仮想リソースの予約内容を示すマスターのデータベースである。仮想リソース管理データベース130の1つの行(レコード)は、1つの仮想リソースの予約内容を示し、予約識別情報131(図4では予約ID(identifier)と記載)、物理装置識別情報132(図4では物理装置IDと記載)、リソース種別133、リソース量134、指定属性135、予約期間136、および状態137の列(属性)を含む。
予約識別情報131は、レコードが示す仮想リソースの予約の識別情報である。物理装置識別情報132は、仮想リソースが存在する物理装置200の識別情報である。リソース種別133は、仮想リソースの種別であって、例えば、CPUやメモリなどがある。リソース量134は、仮想リソースの量である。
指定属性135は、仮想リソースの予約時に指定された属性であって、例えば物理ホストに搭載される付属装置を示す。予約期間136は、仮想リソースが予約された期間である。状態137は、仮想リソースの状態であって、予約済と利用中がある。予約済は、仮想リソースが予約済ではあるが、現時点では未利用であることを示す。利用中は、予約され、既に利用が始まっていることを示す。
レコード148は、識別情報が「RQ4935」である予約であって、識別情報が「H034」である物理装置にある512GBのメモリの予約であり、予約期間は2019年5月18日の12時から翌19日の12時までの予約を示す。レコード149は、同じ予約が同じ物理装置の8つのCPUを予約していることを示す。
≪リソース管理装置の構成:仮想リソース仮予約データベース≫
図5は、本実施形態に係る仮想リソース仮予約データベース150のデータ構成図である。仮想リソース仮予約データベース150は、例えば表形式のデータであって、後記する仮想リソース状態管理部115が、仮想リソース管理データベース130(図4参照)において仮想リソースを割り当て済の既存予約に対する仮想リソースの割り当てをやり直すときに参照する一時的なデータベースである。
仮想リソース仮予約データベース150の1つの行(レコード)は、1つの仮想リソースの仮予約内容を示し、予約識別情報151(図5では予約IDと記載)、物理装置識別情報152(図5では物理装置IDと記載)、リソース種別153、リソース量154、指定属性155、および予約期間156を含む。予約識別情報151、物理装置識別情報152、リソース種別153、リソース量154、指定属性155、および予約期間156は、仮想リソース管理データベース130(図4参照)の予約識別情報131、物理装置識別情報132、リソース種別133、リソース量134、指定属性135、および予約期間136と、それぞれ同様である。
≪リソース管理装置の構成:制御部≫
図3に戻って、制御部110を説明する。
物理装置管理部111は、物理装置200の起動や停止の制御を行う。メッセージ送受信部112は、物理装置200とのメッセージのやり取りや、仮想リソースの予約要求の受け付け/応答を行う。仮想リソース制御部113は、仮想リソースを用いるサービス(仮想マシンや仮想ネットワーク機能)の起動や停止、移動などの制御を行う。
仮想リソース予約部114は、メッセージ送受信部112が受け付けた仮想リソースの予約要求の処理を行う。詳しくは、仮想リソース予約部114は、仮想リソース管理データベース130を参照して、予約要求に含まれる仮想リソースに対応する空きの仮想リソースがある物理装置200を探索して割り当てることで予約を試行する。割り当てに成功すると、仮想リソース予約部114は、当該予約要求に対応する予約のレコードを仮想リソース管理データベース130に格納して、要求元に予約成功を応答するようにメッセージ送受信部112に指示する。仮想リソース予約部114は、割り当てに失敗すると、当該予約要求を仮想リソース状態管理部115に出力する。
仮想リソース状態管理部115は、仮想リソース予約部114から予約要求を受け取ると、予約要求に仮想リソースが割り当てられないかを試行する(仮想リソース再割り当て処理、後記する図6のステップS13~S22を参照)。なお、仮想リソース状態管理部115が、仮想リソース再割り当て処理を実行している間も、仮想リソース予約部114は、並行して新たな予約要求を処理する。
≪仮想リソース割り当て処理≫
図6は、本実施形態に係るリソース管理装置100が実行する仮想リソース割り当て処理のフローチャートである。図6を参照しながら、メッセージ送受信部112が予約要求を受け付けた後の処理を説明する。
ステップS11において仮想リソース予約部114は、予約要求の処理を行う。詳しくは、仮想リソース予約部114は、仮想リソース管理データベース130を参照して、予約要求に含まれる仮想リソースに対応する空きの仮想リソースがある物理装置200を探索して仮想リソースを割り当てることで予約を試行する。
ステップS12において仮想リソース予約部114は、割り当てに成功して予約に成功すれば(ステップS12→YES)仮想リソース管理データベース130に予約を格納してステップS23に進む。仮想リソース予約部114は、割り当てに失敗して予約に失敗すれば(ステップS12→NO)予約要求を仮想リソース状態管理部115に出力し、仮想リソース状態管理部115がステップS13以降の処理を実行する。ステップS12終了後に仮想リソース予約部114は、新たな予約要求の処理(ステップS11参照)を行う。
ステップS13において仮想リソース状態管理部115は、状態137(図4参照)が利用中である仮想リソース管理データベース130のレコードを仮想リソース仮予約データベース150にコピーする。詳しくは、仮想リソース状態管理部115は、仮想リソース仮予約データベース150を空にする。続いて、仮想リソース状態管理部115は、状態137が利用中である仮想リソース管理データベース130の各レコードについて、仮想リソース仮予約データベース150にレコードを追加し、予約識別情報131、物理装置識別情報132、リソース種別133、リソース量134、指定属性135、および予約期間136を、追加したレコードの予約識別情報151、物理装置識別情報152、リソース種別153、リソース量154、指定属性155、および予約期間156に格納する。
仮想リソース仮予約データベース150は、仮想リソース管理データベース130において状態137が予約済である予約(既存予約)が解除された予約内容を示す。一方、仮想リソース管理データベース130では、既存予約は予約済のままである。このため、既存予約は仮解除されたとも記す。
なお、状態137が利用中である予約は、既存予約には含めない。以下のステップでは、仮想リソース状態管理部115が、状態137が利用中である予約のみが登録された仮想リソース仮予約データベース150を参照して、仮想リソース予約部114が予約に失敗した予約要求や、既存予約にリソースを割り当てることで予約を試行する。
ステップS14において仮想リソース状態管理部115は、仮想リソース仮予約データベース150を参照して、ステップS12で仮想リソース予約部114が出力した予約要求に含まれる仮想リソースに対応する空きの仮想リソースがある物理装置200を探索して割り当てることで予約を試行する。
ステップS15において仮想リソース状態管理部115は、ステップS14の予約に成功すれば(ステップS15→YES)仮想リソースの予約を仮想リソース仮予約データベース150に格納してステップS16に進み、ステップS14の予約に失敗すれば(ステップS15→NO)ステップS24に進む。
ステップS16において仮想リソース状態管理部115は、既存予約を元の仮想リソースに割り当てて予約する。既存予約とは、状態137(図4参照)が予約済であって、ステップS13において、仮想リソース仮予約データベース150にコピーされなかった予約である。詳しくは、仮想リソース状態管理部115は、各既存予約について、仮想リソース管理データベース130の物理装置識別情報132に示される物理装置にあるリソース種別133のリソース量134に相当する仮想リソースを、既存予約に割り当てようとする。当該仮想リソースが、ステップS14において予約要求に割り当てられていなければ、当該既存予約の予約は成功するが、予約要求に割り当てられていれば、当該既存予約の予約は失敗する。仮想リソース状態管理部115は、成功した予約を仮想リソース仮予約データベース150に格納する。
ステップS17において仮想リソース状態管理部115は、ステップS16で予約に失敗した既存予約について、1つずつ順に新たな予約を試行する。ステップS16では、仮想リソース状態管理部115は、仮想リソース管理データベース130に示される物理装置と同じ仮想リソースに割り当てようとして失敗した。今回は、異なる物理装置にあるリソース種別133のリソース量134に相当する仮想リソースを新たに割り当てようにする。仮想リソース状態管理部115は、成功した予約を仮想リソース仮予約データベース150に格納する。
ステップS18において仮想リソース状態管理部115は、ステップS17において失敗した既存予約の新たな予約が全て成功すれば(ステップS18→YES)ステップS19に進み、一部でも失敗があれば(ステップS18→NO)ステップS24に進む。
ステップS19において仮想リソース状態管理部115は、仮想リソース予約部114が、ステップS12以降に新たに予約要求を受け付けて予約に成功した予約(以下、新予約と記す)があれば(ステップS19→YES)ステップS20に進み、新予約がなければ(ステップS19→NO)ステップS22に進む。
ステップS20において仮想リソース状態管理部115は、新予約に対して1つずつ順に新たな予約を試行する。仮想リソース状態管理部115は、成功した予約を仮想リソース仮予約データベース150に格納する。
ステップS21において仮想リソース状態管理部115は、ステップS20において新予約に対しての新たな予約が全て成功すれば(ステップS21→YES)ステップS22に進み、一部でも失敗があれば(ステップS21→NO)ステップS24に進む。
ステップS22において仮想リソース状態管理部115は、仮想リソース仮予約データベース150を仮想リソース管理データベース130にコピー(上書き)する。詳しくは、仮想リソース状態管理部115は、仮想リソース仮予約データベース150にあるステップS11~S12で失敗した予約要求の予約のレコードを仮想リソース管理データベース130に追加する。また、仮想リソース状態管理部115は、仮想リソース管理データベース130にある既存予約および新予約のレコードを、仮想リソース仮予約データベース150にある対応するレコードに置き換える。
ステップS22において、ステップS11~S12で失敗した予約要求、既存予約、および新予約の全てについて予約が成功しており、予約内容は仮想リソース仮予約データベース150に格納されている。この予約内容を、仮想リソース状態管理部115は、本来の仮想リソースの予約内容を示す仮想リソース管理データベース130に上書きすることで、仮想リソース管理データベース130の予約内容を更新する。なお、ステップS15,S18,S21において予約に失敗してNOに進んだ場合には、仮想リソース仮予約データベース150の内容は破棄されることになる。
ステップS23においてメッセージ送受信部112は、予約要求が成功したことを要求元に応答する。
ステップS24においてメッセージ送受信部112は、予約要求が失敗したことを要求元に応答する。
≪仮想リソース割り当て処理の特徴≫
仮想リソース予約部114が、予約要求の処理に失敗すると、仮想リソース状態管理部115は、利用中の仮想リソースだけが予約されている仮想リソース仮予約データベース150を参照しながら予約要求に対して仮想リソースを割り当てた後に、既存予約に仮想リソースを割り当てて予約しようとする。この予約が成功することにより、リソース管理装置100は、従来までは予約に失敗していた予約要求に対しても仮想リソースを割り当てることができる場合があり、仮想化基盤10のリソースを効率的に利用することができるようになる。
既存予約を再予約(ステップS16~S17)するとき、仮想リソース状態管理部115は、既に割り当て済の物理装置200に空きがあるならば、同じ物理装置200に割り当てる(ステップS16参照)。同じ物理装置200に割り当て不可能ならば、仮想リソース状態管理部115は、別の物理装置200に割り当てる(ステップS17参照)。全ての既存予約を新たに再予約するのではなく、既に割り当て済の物理装置200に割り当て可能ならば割り当てることで、仮想リソース再割り当て処理を高速化することができる。
仮想リソース状態管理部115は、マスターである仮想リソース管理データベース130とは別の仮想リソース仮予約データベース150を参照して再割り当て処理(ステップS13~S22)を行っている。詳しくは、仮想リソース状態管理部115は、既存予約が仮想リソース管理データベース130上では予約された状態(状態137が予約済)のままであるが、予約が解除された状態(仮想リソースが解放された状態、予約が仮解除された状態)として、新たに既存予約に仮想リソースを割り当てて予約する。このため、仮想リソース状態管理部115が再割り当て処理を行っている間も並行して、仮想リソース予約部114は、仮想リソース管理データベース130を参照して予約要求の処理を続ける(ステップS11~S12参照)ことができる。このため、リソース管理装置100の予約要求の処理を高速化することができる。
≪変形例:再予約の順序≫
ステップS17(図6参照)において仮想リソース状態管理部115は、予約に失敗した既存予約について、1つずつ順に新たな予約を試行する。仮想リソース状態管理部115は、様々に順序を変えながら、新たな予約を試行するようにしてもよい。例えば、予約に失敗した既存予約を、予約1、予約2、予約3、予約4、予約5とする。予約1、予約2、予約3、予約4、予約5の順で試行した場合に失敗したならば、次に、仮想リソース状態管理部115は、予約2、予約3、予約4、予約5、予約1の順で試行する。この順序でも失敗したならば、予約3、予約4、予約5、予約1、予約2の順で試行するといった具合に、仮想リソース状態管理部115は、予約の順番を順に替えながら試行するようにしてもよい。この場合、失敗した既存予約の数がNならば、最大N通りの順序で予約を試行することになる。
また別の手法として、あらゆる順序で予約を試行する手法もある。この場合、最大N!(Nの階乗)通りの順序で再試行することになる。また、別の手法として、要求するリソース量の大きい既存予約から、順番に予約するようにしてもよい。リソース割り当てが難しい既存予約から順番に仮想リソースを割り当てることで、処理時間を短縮できるようになる。
≪変形例:既存予約の新たな予約≫
上記した実施形態のステップS16~S17(図6参照)では、既存予約について、仮想リソース管理データベース130の物理装置識別情報132に示される物理装置と同じ物理装置に割り当て、この割り当てに失敗した既存予約については、物理装置200を探索して新たに仮想リソースを割り当てている。これに対して、全ての既存予約について物理装置200を探索して新たに仮想リソースを割り当てるようにしてもよい。
また、上記した実施形態では、仮想リソース状態管理部115が仮想リソース再割り当て処理(図6のステップS13~S22)を行っている間、仮想リソース予約部114が、並行して新たな予約要求の処理を行っている。これに対して、仮想リソース状態管理部115の仮想リソース再割り当て処理の間には、仮想リソース予約部114が新たな予約要求の処理を行わないようにしてもよい。
図7は、本実施形態の変形例に係るリソース管理装置100が実行する仮想リソース割り当て処理のフローチャートである。ステップS31,S33~S35,S37~S40は、それぞれ図6のステップS11,S13~S15,S18,S22~S24にそれぞれ対応する。以下に、図6との相違点を説明する。
図6においてステップS12終了後に仮想リソース予約部114は、新たな予約要求の処理を行っている。これに対して、図7におけるステップS32終了後は、仮想リソース予約部114は、新たな予約要求の処理は行わず、図7に示す仮想リソース割り当て処理の終了後に新たな予約要求の処理を行う。
図6のステップS16とS17が、図7のステップS36に替わっており、仮想リソース状態管理部115が、全ての既存予約について物理装置200を探索して新たに仮想リソースを割り当てる試行をする。
図6のステップS19~S21は、図7に示す仮想リソース割り当て処理には含まれない。これは、仮想リソース予約部114は、新たな予約要求の処理を行わないので、新予約は発生しないためである。
ステップS36において、仮想リソース状態管理部115は、全ての既存予約について物理装置200を探索して新たに仮想リソースを割り当てる試行をするので、処理時間は犠牲になるが、全ての既存予約のリソース割り当てに成功する可能性が向上する。また、仮想リソース状態管理部115が仮想リソース再割り当て処理を行っている間に、仮想リソース予約部114は、予約要求の処理を行わず、新予約が発生しないので、仮想リソース再割り当て処理が成功する可能性が向上する。
≪その他の変形例≫
上記した変型例の他に本発明は、上記した実施形態に限定されることなく、その趣旨を逸脱しない範囲で変更することができる。例えば、リソース管理装置100のプログラムは、記録媒体199から読み取られたが、ネットワーク経由で取得するようにしてもよい。さらに別の実施形態として、リソース管理装置100のプログラムを配信するサーバであってもよい。
上記した本実施形態において、仮想リソース状態管理部115は、仮想リソース再割り当て処理において、仮想リソース仮予約データベース150にアクセスしている。仮想リソース仮予約データベース150に替えて仮想リソース管理データベース130にアクセスするようにしてもよい。詳しくは、状態137(図4参照)の値として、予約済と利用中の他に、仮予約済を設ける。仮想リソース再割り当て処理における予約において仮想リソース状態管理部115は、状態137が予約済である予約はないものとして、仮想リソースを割り当てる。割り当てに成功したときには、仮想リソース状態管理部115は、予約を仮想リソース仮予約データベース150に格納するのではなく、仮想リソース管理データベース130に状態137が仮予約済であるレコードとして格納する。仮想リソース状態管理部115は、割り当てに失敗したときには、仮予約済であるレコードを削除する。
以上、本発明のいくつかの実施形態について説明したが、これらの実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態を取ることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、本明細書等に記載された発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
≪効果≫
以下に、リソース管理装置の効果を説明する。
本実施形態に係るリソース管理装置100は、仮想リソースと、当該仮想リソースの予約期間とを関連付けて格納して仮想リソースの予約内容を記憶する仮想リソース管理データベース130を備える記憶部120と、仮想リソースの予約要求を受け取り、予約要求に含まれる仮想リソースを割り当てて予約する仮想リソース予約部114と、予約要求の予約が失敗したときに、予約済みの仮想リソースの予約を示す既存予約について予約の仮解除を行って予約要求に含まれる仮想リソースを割り当てて予約し、既存予約の各予約に対して対応する仮想リソースを割り当てて再予約を実行し、再予約が全て成功した場合には予約要求が成功したとし、再予約の一部でも失敗した場合には予約要求の予約を解除して既存予約の予約内容を仮解除の前のままにする仮想リソース状態管理部115とを備える。
このようなリソース管理装置100によれば、仮想リソース予約部114が予約に失敗した予約要求であっても、仮想リソース状態管理部115が仮想リソースを割り当てて予約に成功する場合があり、仮想化基盤10のリソースを効率的に利用することができるようになる。
本実施形態に係るリソース管理装置100において、仮想リソース状態管理部115が実行する既存予約に対する再予約は、既存予約の各予約に対して仮解除の前の仮想リソースを割り当てて予約し、割り当てに失敗した予約については、仮解除前の仮想リソースとは異なる仮想リソースであって仮解除前の予約に対応する仮想リソースを割り当てて予約する。
これにより、仮想リソース状態管理部115は、全ての既存予約を新たに再予約するのではなく、既に割り当て済の物理装置に割り当て可能ならば割り当てるので、再予約の処理を高速化することができる。
本実施形態に係るリソース管理装置100において、仮想リソース予約部114は、仮想リソース状態管理部115の処理実行中も新たな予約要求を受け取り、予約要求の予約が失敗したときの予約内容に加えて当該新たな予約要求に含まれる仮想リソースを割り当てて予約し、仮想リソース状態管理部115は、仮想リソース予約部114が、予約に成功した新たな予約要求について、再予約が全て成功した後に、当該新たな予約要求に対応する仮想リソースを割り当てて再度予約を実行し、当該再度予約が全て成功した場合には予約要求が成功したとし、再度予約の一部でも失敗した場合には、予約内容を、予約要求の予約が失敗したときの予約内容に加えて当該新たな予約要求に含まれる仮想リソースを割り当てて予約した予約内容のままにする。
これにより、仮想リソース状態管理部115が再予約の処理を行っている間も並行して、仮想リソース予約部114は、新たな予約要求の処理を続ける。このため、リソース管理装置の予約要求の処理を高速化することができる。
10 仮想化基盤
100 リソース管理装置
114 仮想リソース予約部
115 仮想リソース状態管理部
130 仮想リソース管理データベース
150 仮想リソース仮予約データベース
199 記録媒体

Claims (5)

  1. 仮想リソースと、当該仮想リソースの予約期間とを関連付けて格納して仮想リソースの予約内容を記憶する仮想リソース管理データベースを備える記憶部と、
    前記仮想リソースの予約要求を受け取り、前記予約要求に含まれる仮想リソースを割り当てて予約する仮想リソース予約部と、
    前記予約要求の予約が失敗したときに、予約済みの仮想リソースの予約を示す既存予約について予約の仮解除を行って前記予約要求に含まれる仮想リソースを割り当てて予約し、前記既存予約の各予約に対して対応する仮想リソースを割り当てて再予約を実行し、前記再予約が全て成功した場合には前記予約要求が成功したとし、前記再予約の一部でも失敗した場合には前記予約要求の予約を解除して前記既存予約の予約内容を前記仮解除の前のままにする仮想リソース状態管理部と
    を備えることを特徴とするリソース管理装置。
  2. 前記仮想リソース状態管理部が実行する前記既存予約に対する再予約は、前記既存予約の各予約に対して前記仮解除の前の仮想リソースを割り当てて予約し、割り当てに失敗した予約については、前記仮解除前の仮想リソースとは異なる仮想リソースであって前記仮解除前の予約に対応する仮想リソースを割り当てて予約する
    ことを特徴とする請求項1に記載のリソース管理装置。
  3. 前記仮想リソース予約部は、前記仮想リソース状態管理部の処理実行中も新たな予約要求を受け取り、前記予約要求の予約が失敗したときの前記予約内容に加えて当該新たな予約要求に含まれる仮想リソースを割り当てて予約し、
    前記仮想リソース状態管理部は、
    前記仮想リソース予約部が、予約に成功した前記新たな予約要求について、前記再予約が全て成功した後に、当該新たな予約要求に対応する仮想リソースを割り当てて再度予約を実行し、当該再度予約が全て成功した場合には前記予約要求が成功したとし、前記再度予約の一部でも失敗した場合には、前記予約内容を、前記予約要求の予約が失敗したときの予約内容に加えて当該新たな予約要求に含まれる仮想リソースを割り当てて予約した予約内容のままにする
    ことを特徴とする請求項1または2に記載のリソース管理装置。
  4. リソース管理装置が実行するリソース管理方法であって、
    前記リソース管理装置は、仮想リソースと、当該仮想リソースの予約期間とを関連付けて格納して仮想リソースの予約内容を記憶する仮想リソース管理データベースを備える記憶部を備え、
    前記仮想リソースの予約要求を受け取り、前記予約要求に含まれる仮想リソースを割り当てて予約するステップと、
    前記予約要求の予約が失敗したときに、予約済みの仮想リソースの予約を示す既存予約について予約の仮解除を行って前記予約要求に含まれる仮想リソースを割り当てて予約し、前記既存予約の各予約に対して対応する仮想リソースを割り当てて再予約を実行し、前記再予約が全て成功した場合には前記予約要求が成功したとし、前記再予約の一部でも失敗した場合には前記予約要求の予約を解除して前記既存予約の予約内容を前記仮解除の前のままにするステップと
    を含むことを特徴とするリソース管理方法。
  5. 仮想リソースと、当該仮想リソースの予約期間とを関連付けて格納して仮想リソースの予約内容を記憶する仮想リソース管理データベースを備える記憶部を有するコンピュータに、
    前記仮想リソースの予約要求を受け取り、前記予約要求に含まれる仮想リソースを割り当てて予約する仮想リソース予約手順、
    前記予約要求の予約が失敗したときに、予約済みの仮想リソースの予約を示す既存予約について予約の仮解除を行って前記予約要求に含まれる仮想リソースを割り当てて予約し、前記既存予約の各予約に対して対応する仮想リソースを割り当てて再予約を実行し、前記再予約が全て成功した場合には前記予約要求が成功したとし、前記再予約の一部でも失敗した場合には前記予約要求の予約を解除して前記既存予約の予約内容を前記仮解除の前のままにする仮想リソース状態管理手順
    を実行させるためのプログラム。
JP2021528518A 2019-06-19 2019-06-19 リソース管理装置、リソース管理方法およびプログラム Active JP7173337B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/024195 WO2020255277A1 (ja) 2019-06-19 2019-06-19 リソース管理装置、リソース管理方法およびプログラム

Publications (2)

Publication Number Publication Date
JPWO2020255277A1 JPWO2020255277A1 (ja) 2020-12-24
JP7173337B2 true JP7173337B2 (ja) 2022-11-16

Family

ID=74040331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021528518A Active JP7173337B2 (ja) 2019-06-19 2019-06-19 リソース管理装置、リソース管理方法およびプログラム

Country Status (3)

Country Link
US (1) US20220357996A1 (ja)
JP (1) JP7173337B2 (ja)
WO (1) WO2020255277A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012093472A1 (ja) 2011-01-05 2012-07-12 株式会社日立製作所 サービスの予約管理方法、仮想計算機システム及び記憶媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100568152B1 (ko) * 2003-10-20 2006-04-07 삼성전자주식회사 이동망 환경에서의 크로스오버 라우터 탐색방법,자원예약방법 및 이를 이용하는 자원 예약 시스템
JP4529812B2 (ja) * 2005-06-22 2010-08-25 日本電気株式会社 分散資源配分システム、分散資源配分方法およびプログラム
US9055067B1 (en) * 2012-03-26 2015-06-09 Amazon Technologies, Inc. Flexible-location reservations and pricing for network-accessible resource capacity
US9697046B2 (en) * 2015-06-19 2017-07-04 Vmware, Inc. Managing resource reservations in a highly parallel application
JP6515708B2 (ja) * 2015-07-06 2019-05-22 富士通株式会社 情報処理装置、並列計算機システム、ジョブスケジュール設定プログラムおよびジョブスケジュール設定方法
US10374970B2 (en) * 2017-02-01 2019-08-06 Microsoft Technology Licensing, Llc Deploying a cloud service with capacity reservation followed by activation
CN109413011B (zh) * 2017-08-18 2021-12-14 华为技术有限公司 公共服务资源申请方法、相关设备及系统
US10606709B1 (en) * 2018-10-26 2020-03-31 EMC IP Holding Company LLC Method and system for intelligently load balancing database backup operations in information technology environments

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012093472A1 (ja) 2011-01-05 2012-07-12 株式会社日立製作所 サービスの予約管理方法、仮想計算機システム及び記憶媒体

Also Published As

Publication number Publication date
JPWO2020255277A1 (ja) 2020-12-24
US20220357996A1 (en) 2022-11-10
WO2020255277A1 (ja) 2020-12-24

Similar Documents

Publication Publication Date Title
CN104050045B (zh) 基于磁盘io的虚拟资源分配方法及装置
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
WO2017170470A1 (ja) ネットワーク機能仮想化管理オーケストレーション装置と方法とプログラム
CN110941481A (zh) 资源调度方法、装置及系统
US20170093988A1 (en) Workflow service using state transfer
CN112052068A (zh) 一种Kubernetes容器平台CPU绑核的方法与装置
JPWO2012066640A1 (ja) 計算機システム、マイグレーション方法及び管理サーバ
CN113641457A (zh) 容器创建方法、装置、设备、介质及程序产品
JP2007122664A (ja) 情報処理方法および情報処理装置
JP4407956B2 (ja) 情報処理方法および情報処理装置
US11301284B2 (en) Method for managing VNF instantiation and device
WO2016041446A1 (zh) 一种资源分配方法、装置及设备
JP2010020759A (ja) ロックをスレッドに割り当てる方法、装置
CN113590320A (zh) 分布式批量任务调度的资源处理方法、装置、设备及介质
KR102389334B1 (ko) 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법
CN107665143A (zh) 资源管理方法、装置及系统
CN112099728B (zh) 一种执行写操作、读操作的方法及装置
CN115480931A (zh) 一种核间通信处理方法、装置及计算机系统
JP5867238B2 (ja) オートスケーリング方法,オートスケーリングプログラムおよびコンピュータノード
CN107329798B (zh) 数据复制的方法、装置和虚拟化系统
CN116955219B (zh) 一种数据镜像方法、装置、主机及存储介质
US10397130B2 (en) Multi-cloud resource reservations
JP7173337B2 (ja) リソース管理装置、リソース管理方法およびプログラム
JP6511025B2 (ja) リソース割当装置、リソース割当方法およびリソース割当プログラム
CN110659303A (zh) 一种数据库节点的读写控制方法及装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20211109

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221017

R150 Certificate of patent or registration of utility model

Ref document number: 7173337

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150