JP2016181092A - 割り当て装置、割り当て方法、割り当てプログラム、及び、通信ネットワーク装置 - Google Patents

割り当て装置、割り当て方法、割り当てプログラム、及び、通信ネットワーク装置 Download PDF

Info

Publication number
JP2016181092A
JP2016181092A JP2015060573A JP2015060573A JP2016181092A JP 2016181092 A JP2016181092 A JP 2016181092A JP 2015060573 A JP2015060573 A JP 2015060573A JP 2015060573 A JP2015060573 A JP 2015060573A JP 2016181092 A JP2016181092 A JP 2016181092A
Authority
JP
Japan
Prior art keywords
processing
information processing
allocation
virtual
unit
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
JP2015060573A
Other languages
English (en)
Other versions
JP6540141B2 (ja
Inventor
英顕 今田
Hideaki Imada
英顕 今田
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2015060573A priority Critical patent/JP6540141B2/ja
Publication of JP2016181092A publication Critical patent/JP2016181092A/ja
Application granted granted Critical
Publication of JP6540141B2 publication Critical patent/JP6540141B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】仮想ネットワーク装置を効率的に処理する割り当てを高速に算出する割り当て装置等を提供する。
【解決手段】割り当て装置101は、仮想ネットワーク装置を構成する複数の処理を情報処理装置に割り当てる場合に、情報処理装置に割り当てた処理量の合計を表す合計処理量を算出する処理量算出部102と、仮想ネットワーク装置が処理を行う順または逆順に、まだ割り当てが決まっていない処理を割り当て対象として選択し、選択した割り当て対象に関する処理量と、合計処理量との合計値を算出する合計算出部103と、合計値が、情報処理装置が処理可能な処理量を表す装置処理量以下であるか否かを判定するリソース判定部104と、合計値が装置処理量以下である場合に、割り当て対象を情報処理装置に割り当て、合計値が装置処理量よりも大きな場合に、割り当て対象を情報処理装置とは異なる情報処理装置に割り当てるリソース割り当て部105とを有する。
【選択図】図1

Description

本発明は、仮想ネットワーク装置における処理を情報処理装置に割り当てる割り当て装置等に関する。
汎用のコンピュータにおいて、通信ネットワーク(以降、単に、「ネットワーク」と表す)における通信を制御するネットワーク機能を、ハードウェアではなくソフトウェアを用いて実現する仮想ネットワーク装置が増えている。ソフトウェアを用いてネットワーク機能を実現する一例として、仮想ネットワーク機能(Network_Function_Virtualization、NFV)がある。これは、たとえば、クラウドコンピューティングにおいて仮想化された計算機資源を確保し、確保した計算機資源を用いてネットワーク機能を実現し、通信を制御する必要がなくなれば、確保した計算機資源を解放することにより実現される。
Virtual_Network_Function_Component(VNFC)は、仮想ネットワーク機能に含まれる処理単位を表す複数の機能(以降、「構成機能」と表す)を表す。多くの場合、ネットワーク機能は、複数の構成機能が順次実行されることにより実現される。したがって、ネットワーク機能において複数の構成機能が相互に関連している態様は、チェインとも呼ばれる。すなわち、チェインは、複数の構成機能が順次実行される態様を表す。
ソフトウェアによってネットワーク機能を実現する場合であっても、該ネットワークにおける情報(パケット)は、物理的なネットワーク(たとえば、ネットワークケーブル)を介して送受信されることもある。または、ネットワークにおけるパケットは、物理的な情報処理装置における信号として送受信されることもある。パケットは、物理的なネットワークよりも、物理的な情報処理装置において送受信される方が、通信遅延が発生しないので、早く伝搬する。したがって、パケットは、物理的なネットワークを経由するよりも、情報処理装置において処理される方が、ネットワーク機能に関する処理効率が高い。
たとえば、特許文献1には、ネットワークにおける通信帯域が効率的に利用されるように仮想計算機に関する処理を割り当てる情報処理装置を調整する仮想計算機管理装置が開示される。該仮想計算機管理装置は、ネットワークに関する帯域等に基づき、仮想計算機に関する処理を割り当てる情報処理装置を決定する。該仮想計算機管理装置は、情報処理装置とゲートウェイとの間における通信経路に存在するネットワーク機器の最大帯域及び使用可能帯域と、仮想計算機の最大帯域と、情報処理装置が有するリソース量とに基づき、情報処理装置を決定する。
特開2013−250775号公報
しかし、ソフトウェアを用いてネットワーク機能を実現する場合に、複数の構成機能に対して、特許文献1に従い、該構成機能を実現する物理的な情報処理装置を割り当てたとしても、該割り当てを効率的に決めることはできない。これは、複数の構成機能が逐次的に処理を行うによって、ネットワーク機能が実現されることが多い傾向があるにもかかわらず、特許文献1においては、該傾向を考慮せずに処理を割り当てるからである。
そこで、本発明の主たる目的は、仮想ネットワーク装置を効率的に処理する割り当てを高速に算出する割り当て装置等を提供することである。
前述の目的を達成するために、本発明の一態様において、割り当て装置は、
仮想ネットワーク装置を構成する複数の処理を情報処理装置に割り当てる場合に、前記情報処理装置に割り当てた処理量の合計を表す合計処理量を算出する処理量算出手段と、
前記複数の処理のうち、前記仮想ネットワーク装置が処理を行う順または逆順に、まだ割り当てが決まっていない前記処理を割り当て対象として選択し、選択した前記割り当て対象に関する処理量と、前記合計処理量との合計値を算出する合計算出手段と、
前記合計値が、前記情報処理装置が処理可能な処理量を表す装置処理量以下であるか否かを判定するリソース判定手段と、
前記合計値が前記装置処理量以下である場合に、前記割り当て対象を前記情報処理装置に割り当て、前記合計値が前記装置処理量よりも大きな場合に、前記割り当て対象を前記情報処理装置とは異なる情報処理装置に割り当てるリソース割り当て手段と
を備え、
前記処理量算出手段は、前記仮想ネットワーク装置において割り当てが決まっていない前記処理がある場合に、前記合計処理量を算出する。
また、本発明の他の見地として、割り当て方法は、
仮想ネットワーク装置を構成する複数の処理を情報処理装置に割り当てる場合に、前記情報処理装置に割り当てた処理量の合計を表す合計処理量を算出し、前記複数の処理のうち、前記仮想ネットワーク装置が処理を行う順または逆順に、まだ割り当てが決まっていない前記処理を割り当て対象として選択し、選択した前記割り当て対象に関する処理量と、前記合計処理量との合計値を算出し前記合計値が、前記情報処理装置が処理可能な処理量を表す装置処理量以下であるか否かを判定し、前記合計値が前記装置処理量以下である場合に、前記割り当て対象を前記情報処理装置に割り当て、前記合計値が前記装置処理量よりも大きな場合に、前記割り当て対象を前記情報処理装置とは異なる情報処理装置に割り当て前記仮想ネットワーク装置において割り当てが決まっていない前記処理がある場合に、前記合計処理量を算出する。
さらに、同目的は、係る割り当てプログラム、及び、そのプログラムを記録するコンピュータ読み取り可能な記録媒体によっても実現される。
本発明に係る割り当て装置等によれば、仮想ネットワーク装置を効率的に処理する割り当てを高速に算出することができる。
本発明の第1の実施形態に係る割り当て装置が有する構成を示すブロック図である。 仮想ネットワーク装置を実行する情報処理システムが有する構成の一例を表すブロック図である。 仮想ネットワーク装置が有する構成の一例を概念的に表すブロック図である。 第1の実施形態に係る割り当て装置における処理の流れを示すフローチャートである。 本発明の第2の実施形態に係る割り当て装置が有する構成を示すブロック図である。 第2の実施形態に係る移動量情報の一例を概念的に表す図である。 第2の実施形態に係る割り当て装置における処理の流れを示すフローチャートである。 本発明の第2の実施形態に係る割り当て装置が有する構成を示すブロック図である。 本発明の第3の実施形態に係る割り当て装置が有する構成を表すブロック図である。 第3の実施形態に係る割り当て装置における処理の流れを示すフローチャートである。 本発明の第3の実施形態に係る第1割り当て部が有する構成を表すブロック図である。 第3の実施形態に係る第1割り当て部における処理の流れを示すフローチャートである。 本発明の第3の実施形態に係る第2割り当て部が有する構成を表すブロック図である。 第3の実施形態に係る第2割り当て部における処理の流れを示すフローチャートである。 本発明の各実施形態に係る割り当て装置を実現可能な計算処理装置のハードウェア構成例を、概略的に示すブロック図である。
次に、本発明を実施する実施形態について図面を参照しながら詳細に説明する。
<第1の実施形態>
まず、仮想ネットワーク装置と、該仮想ネットワーク装置における処理を実際に実行する情報処理システムとに関して詳細に説明する。
図2と、図3とを参照しながら、仮想ネットワーク装置204における処理を実際に実行する情報処理システム201が有する構成の一例、及び、仮想ネットワーク装置204が有する構成の一例について説明する。図2は、仮想ネットワーク装置204を実行する情報処理システム201が有する構成の一例を表すブロック図である。図3は、仮想ネットワーク装置204が有する構成の一例を概念的に表すブロック図である。
図2に示す例を参照すると、情報処理システム201は、情報処理装置1乃至情報処理装置3と、ルータ202と、ルータ203とを有する。尚、情報処理装置1乃至情報処理装置3は、仮想ネットワーク装置204における処理を、実際に処理可能な物理的な情報処理装置を表す。
図3を参照すると、仮想ネットワーク装置204は、仮想ネットワーク装置204を構成する1まとまりの処理を実行する仮想処理部を複数個有する。すなわち、仮想ネットワーク装置204は、仮想ネットワーク装置204を実現する構成機能として、仮想処理部を複数個有する。たとえば、図2に示す例において、仮想ネットワーク装置204は、仮想処理部1乃至仮想処理部10を有する。さらに、仮想ネットワーク装置204は、ルータ202及びルータ203と、データ(情報)を送受信することができる。1つの仮想処理部は、たとえば、ファイアウォールに関する処理を実行することにより、構成機能を実現する。1つの仮想処理部は、たとえば、ネットワークアドレス変換(NAT)に関する処理を実行することにより構成機能を実現する。尚、仮想処理部が行う処理は、上述した例に限定されない。
説明の便宜上、仮想処理部1乃至仮想処理部10は、仮想計算機(VM)を用いて実現されているとする。また、仮想処理部は、仮想処理部1乃至仮想処理部10であり、10台であるとする。仮想処理部は、複数台であればよいので、上記の例に限定されない。
仮想処理部1乃至仮想処理部10が、相互に隣接している仮想処理部と情報(データ)を交換しながら処理を実行することにより、仮想ネットワーク装置204に関する機能が実現される。ここで、相互に隣接しているとは、情報(データ)を送信、受信、または、送受信する態様を表す。または、相互に隣接しているとは、異なる仮想処理部において、一方の仮想処理部におけるデータを、他方の仮想処理部が参照可能な態様を表す。
一般に、仮想ネットワーク装置204に関する機能は、仮想処理部1乃至仮想処理部10が、順次、処理を行うことにより実現される。尚、仮想ネットワーク装置204に関する機能は、仮想処理部10乃至仮想処理部1が、順次、処理を行うことにより実現されてもよい。
チェイン205は、上述したように、仮想ネットワーク装置204に関する機能を実現する仮想処理部1乃至仮想処理部10を表す総称である。
情報処理装置1乃至情報処理装置3は、仮想処理部1乃至仮想処理部10における処理を物理的に実行する。仮想処理部1乃至仮想処理部10は、情報処理装置1乃至情報処理装置3のいずれかにおいて実行されているオペレーティングシステム(OS)が有する機能を用いて、VMとして実現されている。
図2に例示する情報処理システム201において、VMに含まれる機能を実行する情報処理装置は、3台であるが、必ずしも3台である必要はなく、2台、または、4台以上であってもよい。さらに、図2に例示する情報処理システム201において、情報処理装置は、3つの仮想処理部における処理を実行しているが、必ずしも3つである必要はない。
次に、図1を参照しながら、本発明の第1の実施形態に係る割り当て装置101が有する構成について詳細に説明する。図1は、本発明の第1の実施形態に係る割り当て装置101が有する構成を示すブロック図である。
第1の実施形態に係る割り当て装置101は、処理量算出部102と、合計算出部103と、リソース判定部104と、リソース割り当て部105とを有する。
割り当て装置101は、たとえば、上述したような仮想ネットワーク装置204に含まれる仮想処理部1乃至仮想処理部10に関する処理を実行する情報処理装置を選ぶ。すなわち、割り当て装置101は、たとえば、仮想処理部1乃至仮想処理部10に関する処理を、情報処理装置1乃至情報処理装置3に割り当てる。この場合に、割り当て装置101は、仮想ネットワーク装置204に関する機能が実際に実行される順序、または、その逆順にて、仮想処理部に関する処理を情報処理装置に割り当てる。
処理量算出部102は、情報処理装置に割り当てられた処理量の合計を表す合計処理量を算出する。たとえば、仮想処理部を一意に識別可能な仮想処理部識別子(以降、識別子を「ID」と表す)と、該仮想処理部に関する処理量とが関連付けされた処理情報を記憶可能な処理情報部301を参照することにより、処理量算出部102は、合計処理量を算出する。
たとえば、情報処理装置に対する割り当てが決まっていない場合に、処理量算出部102は、該情報処理装置に対する処理量を合計することにより0を算出する。また、情報処理装置に対して仮想処理部1及び仮想処理部2に関する処理が割り当てられている場合に、処理量算出部102は、処理情報部301において、仮想処理部1に関連付けされた処理量、及び、仮想処理部2に関連付けされた処理量を読み取る。処理量算出部102は、読み取った処理量を合計することにより、情報処理装置に対する処理量の合計値を算出する。
合計算出部103は、まだ処理を割り当てていない仮想処理部のうち、仮想ネットワーク装置204において最も早期に処理を実行する仮想処理部に関する処理量と、処理量算出部102が算出した合計値とを合計し、合計した結果を第2合計値として算出する。たとえば、仮想処理部1及び仮想処理部2に関する処理が情報処理装置に割り当てられている場合に、合計算出部103は、処理情報部301から、仮想処理部3に関する処理量を読み取る。合計算出部103は、読み取った仮想処理部3に関する処理量と、処理量算出部102が算出した合計値との第2合計値を算出する。
リソース判定部104は、合計算出部103が算出した第2合計値が、該処理を割り当てた情報処理装置が処理可能な処理量を表す装置処理量以下であるか否かを判定する。たとえば、リソース判定部104は、装置情報部302において、該情報処理装置を表す装置IDと関連付けされた装置処理量を読み取り、第2合計値が、読み取った装置処理量以下であるか否かを判定する。
第2合計値が装置処理量以下である場合に、リソース割り当て部105は、該仮想処理部に関する処理を該情報処理装置に割り当てる。第2合計値が装置処理量よりも大きい場合に、リソース割り当て部105は、該仮想処理部に関する処理を、該情報処理装置とは異なる情報処理装置に割り当てる。
尚、上述した処理は、たとえば、仮想ネットワーク装置204におけるすべての仮想処理部に関する処理が、情報処理装置に割り当てられるまで繰り返し実行される。
次に、図4を参照しながら、第1の実施形態に係る割り当て装置101が行う処理について詳細に説明する。図4は、第1の実施形態に係る割り当て装置101における処理の流れを示すフローチャートである。
処理量算出部102は、仮想処理部における処理に関して、情報処理装置に割り当てられた処理量を合計する(ステップS101)。
合計算出部103は、まだ処理を割り当てていない仮想処理部のうち、仮想ネットワーク装置204において最も早期に処理を実行する仮想処理部に関する処理量と、処理量算出部102が算出した合計値とを合計し、合計した結果を第2合計値として算出する(ステップS102)。
リソース判定部104は、合計算出部103が算出した第2合計値が、該処理を割り当てた情報処理装置が処理可能な処理量を表す装置処理量以下であるか否かを判定する(ステップS103)。
第2合計値が装置処理量以下である場合に(ステップS103にてYES)、リソース割り当て部105は、該仮想処理部に関する処理を該情報処理装置に割り当てる(ステップS104)。第2合計値が装置処理量よりも大きい場合に(ステップS103にてNO)、リソース割り当て部105は、該仮想処理部に関する処理を該情報処理装置とは異なる情報処理装置に割り当てる(ステップS105)。
尚、図4においては、該情報処理装置とは異なる情報処理装置が「第2情報処理装置」と表され、処理量算出部102が処理量を合計した情報処理装置が「第1情報処理装置」と表されている。
次に、第1の実施形態に係る割り当て装置101に関する効果について説明する。
割り当て装置101によれば、仮想ネットワーク装置204を効率的に処理する割り当てを高速に算出することができる。
この理由は、仮想ネットワーク装置204において相互に隣接している処理が、異なる情報処理装置に割り当てられるのを回避しつつ、割り当て装置101が該処理を、順次、情報処理装置に割り当てるからである。
割り当て装置101は、図4に示すフローチャートに従い処理を実行する場合に、情報処理装置が処理可能な装置処理量以下である限り、該情報処理装置に相互に隣接している処理を割り当てる。したがって、割り当て装置101は、仮想ネットワーク装置204を効率的に処理する割り当てを算出する。
また、割り当て装置101は、仮想ネットワーク装置204における処理を、仮想ネットワーク装置204における処理の順に、情報処理装置に割り当てる。したがって、割り当て装置101は、相互に隣接している仮想処理部のみを、情報処理装置に割り当てる対象とする。この結果、割り当て装置101は、高速に割り当てを算出することができる。
一方、特許文献1等に開示された装置等においては、処理が一般的な処理態様である場合に適用可能な手法に従い割り当てを算出するので、割り当て装置101よりも、割り当てを算出するのに多くの計算時間を要する。
したがって、割り当て装置101によれば、仮想ネットワーク装置204を効率的に処理する割り当てを高速に算出することができる。
<第2の実施形態>
次に、上述した第1の実施形態を基本とする本発明の第2の実施形態について説明する。
以降の説明においては、本実施形態に係る特徴的な部分を中心に説明すると共に、上述した第1の実施形態と同様な構成については、同一の参照番号を付すことにより、重複する説明を省略する。
図5を参照しながら、第2の実施形態に係る割り当て装置111が有する構成について説明する。図5は、本発明の第2の実施形態に係る割り当て装置111が有する構成を示すブロック図である。
第2の実施形態に係る割り当て装置111は、処理量算出部102と、合計算出部103と、リソース判定部104と、リソース割り当て部105とを有する。割り当て装置111は、さらに、組み合わせ算出部112と、第2リソース割り当て部113と、割り当て決定部121とを有する。
組み合わせ算出部112は、仮想ネットワーク装置204において、相互に隣接している仮想処理部に関する組み合わせのうち、組み合わせに含まれる仮想処理部に関する処理量が、情報処理装置が処理可能な処理量を表す装置処理量以下である組み合わせを算出する。たとえば、仮想処理部3乃至仮想処理部5に関する処理量が、該処理を割り当てる対象である情報処理装置が処理可能な装置処理量以下であれば、組み合わせ算出部112は、該組み合わせを算出する。組み合わせ算出部112は、たとえば、仮想ネットワーク装置204に含まれる仮想処理部に関して、上述したような処理に従い、全ての組み合わせを算出する。
第2リソース割り当て部113は、算出された組み合わせのうち、該組み合わせに含まれる仮想処理数(すなわち、処理の種類数)が最多または略最多の組み合わせを選択する。たとえば、組み合わせが仮想処理部1乃至仮想処理部3に関する組み合わせである場合に、該組み合わせは、3つの仮想処理部を含む。また、組み合わせが仮想処理部2乃至5に関する組み合わせである場合に、該組み合わせは、4つの仮想処理部を含む。たとえば、組み合わせが上記に例示した2つの組み合わせである場合に、第2リソース割り当て部113は、仮想処理部2乃至仮想処理部5なる組み合わせを選択する。
第2リソース割り当て部113は、選択した組み合わせに関して、該情報処理装置を割り当てる。
組み合わせ算出部112、及び、第2リソース割り当て部113は、仮想ネットワーク装置204に含まれるすべての仮想処理部に関する割り当てが算出されるまで、上述した処理を繰り返し実行してもよい。
割り当て決定部121は、102乃至105に示す各部が算出した割り当てと、112及び113に示す各部が算出した割り当てとに関して、それぞれ、移動量情報(図6、後述する)に基づき、異なる情報処理装置に割り当てられた仮想処理部間において送受信される移動量を特定する。次に、割り当て決定部121は、特定した移動量を合計することにより、算出した割り当てに関する総移動量を算出する。その後、割り当て決定部121は、総移動量が小さな割り当てを選択する。
ここで、図6を参照しながら、本実施形態に係る移動量情報について説明する。図6は、第2の実施形態に係る移動量情報の一例を概念的に表す図である。
移動量情報においては、仮想処理部を一意に識別可能な、2つの装置識別子(以降、識別子を「ID」と表す)と、2つの装置IDがそれぞれ表す仮想処理部間を移動するデータ量を表す移動量とが関連付けされている。たとえば、移動量情報においては、仮想処理部2と、仮想処理部3と、移動量「40」とが関連付けされている。これは、仮想処理部2と、仮想処理部3との間において移動されるデータ量が40であることを表す。
たとえば、割り当て決定部121は、仮想処理部2が割り当てられている情報処理装置と、仮想処理部3が割り当てられている情報処理装置とが異なる場合に、移動量情報に基づき、仮想処理部2と仮想処理部3とに関連付けされた移動量である40を特定する。同様に、割り当て決定部121は、仮想処理部に関する処理が割り当てられた情報処理装置が異なる場合に、異なる情報処理装置に割り当てられた仮想処理部間に関して、移動量情報に基づき移動量を特定する。割り当て決定部121は、特定した移動量を合計することにより、算出された割り当てに関する総移動量を算出する。
図7を参照しながら、第2の実施形態に係る割り当て装置111が行う処理について説明する。図7は、第2の実施形態に係る割り当て装置111における処理の流れを示すフローチャートである。
組み合わせ算出部112は、仮想ネットワーク装置204において、相互に隣接している仮想処理部に関する組み合わせのうち、組み合わせに含まれる仮想処理部に関する処理量が、情報処理装置が処理可能な装置処理量以下である組み合わせを算出する(ステップS111)。
第2リソース割り当て部113は、算出された組み合わせのうち、該組み合わせに含まれる仮想処理数(すなわち、処理の種類数)が最多または略最多の組み合わせを選択する(ステップS112)。
第2リソース割り当て部113は、選択した組み合わせに関して、該情報処理装置を割り当てる(ステップS113)。
尚、組み合わせ算出部112、及び、第2リソース割り当て部113は、図8に示すように割り当て装置122において処理を実行してもよい。図8は、本発明の第2の実施形態に係る割り当て装置122が有する構成を示すブロック図である。
第2の実施形態に係る割り当て装置122は、組み合わせ算出部112と、第2リソース割り当て部113とを有する。
割り当て装置122は、処理情報部301及び装置情報部302に基づき、仮想処理部に関する処理を割り当てる情報処理装置を算出する。
割り当て装置122によれば、仮想ネットワーク装置204を効率的に処理する割り当てを高速に算出することができる。この理由は、仮想ネットワーク装置204において相互に隣接している処理が、異なる情報処理装置に割り当てられるのを回避しつつ、割り当て装置101が該処理を、順次、情報処理装置に割り当てるからである。さらに、仮想処理部が逐次的に処理を行うという仮想ネットワーク装置204における処理態様に基づき割り当て装置122が割り当てを算出するので、割り当て装置122によれば、効率的に処理する割り当てを高速に算出することができる。
次に、第2の実施形態に係る割り当て装置111に関する効果について説明する。
本実施形態に係る割り当て装置111によれば、仮想ネットワーク装置204を効率的に処理する割り当てを高速に算出することができる。この理由は、第2の実施形態に係る割り当て装置111が、第1の実施形態に係る割り当て装置101を含むからである。
さらに、本実施形態に係る割り当て装置111によれば、より効率的な仮想ネットワーク装置204における処理の割り当てを算出することができる。この理由は、異なる情報処理装置間における移動量が少ない割り当てを、割り当て決定部121が選択するからである。
<第3の実施形態>
次に、上述した第1の実施形態を基本とする本発明の第3の実施形態について説明する。
次に、図9と、図10とを参照しながら、本発明の第3の実施形態に係る割り当て装置210が有する構成と、第3の実施形態に係る割り当て装置210における処理について説明する。図9は、本発明の第3の実施形態に係る割り当て装置210が有する構成を表すブロック図である。図10は、第3の実施形態に係る割り当て装置210における処理の流れを示すフローチャートである。
本発明の第3の実施形態に係る割り当て装置210は、第1割り当て部211と、第2割り当て部212と、割り当て決定部213とを有する。
第1割り当て部211は、処理手順1に従い、仮想処理部1乃至仮想処理部10における処理を実行する情報処理装置を割り当てる(ステップS151)。尚、処理手順1は、第1の実施形態に係る処理量算出部102、合計算出部103、リソース判定部104、及び、リソース割り当て部105において実行される処理、または、後述するような処理手順である。
第2割り当て部212は、処理手順2に従い、仮想処理部1乃至仮想処理部10における処理を実行する情報処理装置を割り当てる(ステップS152)。尚、処理手順2は、第2の実施形態に係る組み合わせ算出部112、及び、第2リソース割り当て部113において実行される処理、または、後述するような処理手順である。
割り当て決定部213は、処理手順1に従い算出された割り当てと、処理手順2に従い算出された割り当てとのうち、情報処理装置間において移動するデータ(情報)量が少ない割り当てを選択する。たとえば、割り当て決定部213は、相互に隣接している仮想処理部間において移動するデータ量を記憶する移動量情報(図6)に基づき、異なる情報処理装置に割り当てられる仮想処理部間において移動するデータ量を算出する(ステップS153)。割り当て決定部213は、算出したデータ量が少ない割り当てを選択する(ステップS154)。
仮想処理部に関する処理を割り当てられた情報処理装置は、該仮想処理部に関する処理を実行する。たとえば、仮想処理部がファイアウォールであれば、選択された情報処理装置は、ファイアウォールに関する処理を実行する。割り当て装置210が、仮想処理部に関する割り当てを変更するのに応じて、情報処理装置が処理する仮想処理部の台数は増減する。
説明の便宜上、以降の説明においては、仮想処理部i(ただし、1≦i≦10)における処理を実行するのに要する処理量をRと表すとする。また、物理的な情報処理装置が有する装置処理量をRと表すとする。さらに、Rは、R以下であるとする。
次に、図11と図12とを参照しながら、本発明の第3の実施形態に係る第1割り当て部211が有する構成と、第3の実施形態に係る第1割り当て部211における処理について説明する。図11は、本発明の第3の実施形態に係る第1割り当て部211が有する構成を表すブロック図である。図12は、第3の実施形態に係る第1割り当て部211における処理の流れを示すフローチャートである。
本実施形態に係る第1割り当て部211は、処理量算出部222と、合計算出部223と、リソース判定部224と、リソース割り当て部225と、再割り当て部226とを有する。
上述したように、第1割り当て部211は、処理手順1に従い、仮想処理部における処理を実行する情報処理装置を割り当てる。第1割り当て部211は、1つの物理的な情報処理装置に関する装置処理量Rを超えないようにしながら、仮想ネットワーク装置204を実現する処理の順番、または、該処理の逆順に、仮想処理部に関する処理を物理的な情報処理装置に割り当てる。
たとえば、処理量算出部222は、ある物理的な情報処理装置に割り当てられた処理量(リソース量)の合計値を算出する(ステップS201)。次に、合計算出部223は、処理量算出部222が算出した合計値と、割り当てが決められていない仮想処理部のうち、チェイン205において処理順番が最も早い仮想処理部に関する処理量との合計値(以降、「第2合計値」と表す)を算出する(ステップS202)。
リソース判定部224は、算出した第2合計値が、該ある情報処理装置によって処理可能な装置処理量以下であるか否かを判定する(ステップS203)。
リソース割り当て部225は、第2合計値が該装置処理量以下である場合に(ステップS203にてYES)、該仮想処理部に関する処理を、該ある情報処理装置に割り当てる(ステップS204)。リソース割り当て部225は、第2合計値が該装置処理量を超えると判定する場合に(ステップS203にてNO)、該仮想処理部に関する処理を、まだ処理が割り当てられていない情報処理装置に割り当てる(ステップS205)。
チェイン205において最後(または、最初)に処理を実行する仮想処理部以外の仮想処理部に関する割り当てが算出(ステップS206)されるまで、ステップS201乃至ステップS205に示す処理を繰り返す。
次に、再割り当て部226は、各情報処理装置に関して、該情報処理装置に割り当てられた仮想処理部に関する処理の処理量の合計値を算出し、さらに、該情報処理装置が処理可能な装置処理量と、合計値との差を算出する。算出した差がまだ割り当てが決まっていない仮想処理部に関する処理量以上であれば(ステップS207にてYES)、再割り当て部226は、該差が算出された情報処理装置に、該仮想処理部に関する処理を割り当てる(ステップS208)。
いずれの情報処理装置に関しても、算出した差がまだ割り当てが決まっていない仮想処理部に関する処理量未満である場合に(ステップS207にてNO)、リソース割り当て部225は、該仮想処理部に関する処理を、まだ処理が割り当てられていない情報処理装置を割り当てる(ステップS209)。
上述したように、処理手順1は、チェイン205において処理が進む順序にて、仮想処理部に関する処理量を合計し、合計した結果が情報処理装置に関する装置処理量Rを超えないようにしつつ組み合わせ(グループ)を作成する手順である。また、処理手順1は、処理1乃至処理5に示す処理としても表すことができる。すなわち、
(処理1)aに1を設定する、
(処理2)「Σ(i=a) ≦R」を満たす最大のbを算出する。仮想処理部a乃至仮想処理部bを1つの組み合わせとする、
(処理3)(b+1)を算出し、結果をaに設定する、
(処理4)処理2及び処理3を、すべての仮想処理部に情報処理装置が割り当てられるまで繰り返す、
(処理5)最後に設定された組み合わせ以外は、1つ組み合わせにつき1台の情報処理装置を割り当てる。該情報処理装置のうち、最後に設定された組み合わせに関する処理量を処理可能な特定の情報処理装置がある場合には、組み合わせに含まれる仮想処理部を特定の情報処理装置に割り当てる。特定の情報処理装置がない場合には、該組み合わせに新たに情報処理装置を割り当てる。
ただし、a及びbは、整数を表す。「Σ(i=a) 」は、R乃至Rの総和を算出することを表す。
次に、図13と図14とを参照しながら、本発明の第3の実施形態に係る第2割り当て部212が有する構成と、第3の実施形態に係る第2割り当て部212における処理について説明する。図13は、本発明の第3の実施形態に係る第2割り当て部212が有する構成を表すブロック図である。図14は、第3の実施形態に係る第2割り当て部212における処理の流れを示すフローチャートである。
本実施形態に係る第2割り当て部212は、組み合わせ算出部233と、第2リソース割り当て部234と、第2再割り当て部235とを有する。
上述したように、第2割り当て部212は、処理手順2に従い、仮想処理部における処理を実行する情報処理装置を割り当てる。
組み合わせ算出部233は、割り当てがまだ決まっていない仮想処理部のうち、仮想処理部に関する処理量の合計が、情報処理装置が処理可能な装置処理量以下である仮想処理部の組み合わせを算出する(ステップS211)。この場合に、組み合わせ算出部233は、該組み合わせを、相互に隣接している仮想処理部によって作成する。
次に、第2リソース割り当て部234は、算出された組み合わせのうち、該組み合わせに含まれる仮想処理部の台数が最多または略最多である組み合わせを選択する。第2リソース割り当て部234は、選択した組み合わせに含まれる仮想処理部における処理を、情報処理装置に割り当てる(ステップS212)。
ステップS211及びステップS212は、すべての仮想処理部に関する処理が物理的な情報処理装置に割り当てられるまで繰り返し実行される(ステップS213)。
ここで、説明の便宜上、最後に割り当てられた情報処理装置を「第1情報処理装置」と表す。
次に、第2再割り当て部235は、仮想処理部における処理が割り当てられた情報処理装置のうち、第1情報処理装置以外の情報処理装置に関して、該情報処理装置に割り当てられた処理量の合計値を算出する。第2再割り当て部235は、物理的な第1情報処理装置以外の情報処理装置に関して、情報処理装置が処理可能な装置処理量と、算出した合計値との差を算出する。第2再割り当て部235は、算出した差が、第1情報処理装置に割り当てられた処理量以上である情報処理装置があるか否かを判定する。第2再割り当て部235は、該情報処理装置がある場合に(ステップS214にてYES)、第1情報処理装置に割り当てていた処理を、該情報処理装置に割り当てる(ステップS215)。すなわち、この場合に、第2再割り当て部235は、第1情報処理装置に割り当てていた処理の割り当てを、該情報処理装置に割り当て直す(ステップS215)。
上述したように、処理手順2においては、チェイン205にて相互に隣接しており、かつ、割り当てが決まっていない仮想処理部に関して、情報処理装置に関する装置処理量を超えない範囲、かつ、仮想処理部数が最多または略最多である組み合わせを作成する。処理手順2においては、一つ組み合わせを作成した後に、割り当てが決まっていない仮想処理部について、同様に組み合わせを作成する。また、処理手順1は、前述した処理1乃至処理5に示す処理としても表すことができる。また、処理手順2は、処理6乃至処理12に示す処理としても表すことができる。すなわち、
(処理6)aに0を設定する、
(処理7)「Σ(i=a) ≦R」を満たす最大または略最大のbを探す。説明の便宜上、最大であるbをbと表すとする。ただし、R乃至Rに情報処理装置が割り当てられていないとする。該処理によって、1つの組み合わせが算出される、
(処理8)「a+1」を算出し、算出した結果をaに設定する、
(処理9)すべての組み合わせが算出されるまで、処理7及び処理8を繰り返す、
(処理10)「b−a」を算出し、算出した値が最大または略最大である組み合わせ(すなわち、R乃至Rba)に情報処理装置を割り当てる、
(処理11)すべての仮想処理部に関する割り当てが決まるまで、処理7乃至処理10を繰り返す、
(処理12)最後の組み合わせ以外は、1つの組み合わせにつき1台の情報処理装置を割り当てる。該情報処理装置のうち、最後の組み合わせに関する処理量を処理可能な特定の情報処理装置がある場合には、組み合わせに含まれる仮想処理部を特定の情報処理装置に割り当てる。特定の情報処理装置がない場合には、該組み合わせに新たに情報処理装置を割り当てる。
次に、割り当て決定部213は、第1割り当て部211が算出した割り当てと、第2割り当て部212が算出した割り当てとに関して、それぞれ、移動量情報に基づき、異なる情報処理装置の間において移動するデータ量の合計値を算出する。
たとえば、相互に隣接している仮想処理部が、異なる情報処理装置に割り当てられた場合に、該異なる情報処理装置の間において、データを送受信する通信が必要である。
説明の便宜上、相互に隣接している仮想処理部のうち、異なる物理的な情報処理装置に割り当てられている仮想処理部を、「第1仮想処理部」、及び、「第2仮想処理部」と表すとする。
この場合に、割り当て決定部213は、移動量情報において、第1仮想処理部を表す識別子と、第2仮想処理部を表す識別子とに関連付けされた移動量を選択する。割り当て決定部213は、相互に隣接している仮想処理部のうち、異なる情報処理装置に割り当てられている仮想処理部に関して、移動量情報に基づき、それぞれ、移動量を選択する。次に、割り当て決定部213は、選択した移動量の合計を算出する。
割り当て決定部213は、第2割り当て部212が算出した割り当てに関しても、上述した処理と同様な処理を実行することにより、移動量の合計を算出する。
次に、割り当て決定部213は、第1割り当て部211が算出した割り当てに関する移動量の合計と、第2割り当て部212が算出した割り当てに関する移動量の合計とを比較し、合計が小さい割り当てを、仮想処理部における処理の割り当てとして決定する。
次に、具体例を参照しながら、本実施形態に係る割り当て装置210が行う処理について説明する。
まず、情報処理装置が処理可能な装置処理量は1であるとする。また、チェイン205は、10台の仮想処理部(仮想処理部1乃至仮想処理部10)によって実現されるとする。また、仮想処理部に関する処理を実現するのに要する処理量は、それぞれ、以下の通りであるとする。すなわち、
仮想処理部1:0.3、
仮想処理部2:0.3、
仮想処理部3:0.4、
仮想処理部4:0.2、
仮想処理部5:0.2、
仮想処理部6:0.2、
仮想処理部7:0.5、
仮想処理部8:0.2、
仮想処理部9:0.3、
仮想処理部10:0.2。
処理量算出部222は、まず、情報処理装置1に割り当てられた処理量の合計値を算出する。この場合に、処理量算出部222は、まだ、仮想処理部を割り当てていないので合計値として0を算出する。次に、合計算出部223は、該合計値(=0)と、仮想処理部1に関する処理量(=0.3)との合計値(第2合計値=0.3)を算出する。リソース割り当て部225は、算出した第2合計値(=0.3)が、情報処理装置1が有する装置処理量(=1)以下であるので、仮想処理部1に関する処理を第1情報処理装置に割り当てる。
次に、処理量算出部222は、情報処理装置1に割り当てられた処理量の合計値が0.3であると算出する。次に、合計算出部223は、該合計値(=0.3)と、仮想処理部2に関する処理量(=0.3)との第2合計値(=0.6)を算出する。リソース割り当て部225は、算出した第2合計値(=0.6)が、情報処理装置1が有する装置処理量(=1)以下であるので、仮想処理部2に関する処理を情報処理装置1に割り当てる。
以降、第1割り当て部211は、上述した処理と同様の処理を実行することにより、以下の割り当てを算出する。
情報処理装置1:仮想処理部1、仮想処理部2、仮想処理部3、
情報処理装置2:仮想処理部4、仮想処理部5、仮想処理部6、
情報処理装置3:仮想処理部7、仮想処理部8、仮想処理部9。
次に、再割り当て部226は、各情報処理装置に関して、該情報処理装置に割り当てられた仮想処理部に関する処理の処理量の合計値を算出する。たとえば、再割り当て部226は、情報処理装置1に関する合計値が1(=0.3+0.4+0.3)であると算出する。再割り当て部226は、情報処理装置2に関する合計値が0.6(=0.2+0.2+0.2)であると算出する。再割り当て部226は、情報処理装置3に関する合計値が0.9(=0.2+0.5+0.2)であると算出する。
次に、再割り当て部226は、該情報処理装置が処理可能な装置処理量と、合計値との差を算出する。たとえば、再割り当て部226は、情報処理装置1に関して、差0(=1−1)を算出する。再割り当て部226は、情報処理装置2に関して、差0.4(=1−0.6)を算出する。再割り当て部226は、情報処理装置3に関して、差0.1(=1−0.9)を算出する。
再割り当て部226は、物理的な情報処理装置2に関する差(=0.4)が、仮想処理部10に関する処理に要する処理量(=0.2)よりも小さいので、仮想処理部10に関する処理を情報処理装置2に割り当てる。
次に、第2割り当て部212における処理について説明する。組み合わせ算出部233は、割り当てがまだ決まっていない仮想処理部のうち、仮想処理部に関する処理の合計値が、物理的な情報処理装置が処理可能な装置処理量以下である仮想処理部の組み合わせを算出する。たとえば、組み合わせ算出部233は、以下の組み合わせを算出する。すなわち、
(組み合わせ1)仮想処理部1、仮想処理部2、仮想処理部3、
(組み合わせ2)仮想処理部2、仮想処理部3、仮想処理部4、
(組み合わせ3)仮想処理部3、仮想処理部4、仮想処理部5、仮想処理部6、
(組み合わせ4)仮想処理部4、仮想処理部5、仮想処理部6、
(組み合わせ5)仮想処理部5、仮想処理部6、仮想処理部7、
(組み合わせ6)仮想処理部6、仮想処理部7、仮想処理部8、
(組み合わせ7)仮想処理部7、仮想処理部8、仮想処理部9、
(組み合わせ8)仮想処理部8、仮想処理部9、仮想処理部10。
次に、第2リソース割り当て部234は、算出した組み合わせのうち、該組み合わせに含まれる仮想処理部の台数が最大または略最大である組み合わせを選び、選んだ組み合わせに含まれる仮想処理部における処理を1台の情報処理装置に割り当てる。この場合に、第2リソース割り当て部234は、組み合わせ3を選び、組み合わせ3に含まれる仮想処理部3乃至仮想処理部6における処理に情報処理装置2を割り当てる。
次に、組み合わせ算出部233は、割り当てがまだ決まっていない仮想処理部のうち、仮想処理部に関する処理の合計値が、物理的な情報処理装置が処理可能な装置処理量以下である仮想処理部の組み合わせを算出する。たとえば、組み合わせ算出部233は、以下の組み合わせを算出する。すなわち、
(組み合わせ1)仮想処理部1、仮想処理部2
(組み合わせ7)仮想処理部7、仮想処理部8、仮想処理部9、
(組み合わせ8)仮想処理部8、仮想処理部9、仮想処理部10。
次に、第2リソース割り当て部234は、算出した組み合わせのうち、該組み合わせに含まれる仮想処理部の台数が最多または略最多である組み合わせを選択し、選択した組み合わせに含まれる仮想処理部における処理を1台の情報処理装置に割り当てる。この場合に、第2リソース割り当て部234は、組み合わせ7を選択し、組み合わせ7に含まれる仮想処理部7乃至仮想処理部9における処理に情報処理装置3を割り当てる。以降、第2割り当て部212は、上述した処理と同様の処理を実行することにより、以下の割り当てを算出する。
情報処理装置1:仮想処理部1、仮想処理部2、
情報処理装置2:仮想処理部3、仮想処理部4、仮想処理部5、仮想処理部6、
情報処理装置3:仮想処理部7、仮想処理部8、仮想処理部9、
情報処理装置4:仮想処理部10。
次に、第2再割り当て部235は、仮想処理部における処理が割り当てられた情報処理装置のうち、最後に割り当てが決められた情報処理装置4以外の情報処理装置に関して、該情報処理装置に割り当てられた処理量の合計値を算出する。たとえば、第2再割り当て部235は、情報処理装置1に関して、0.6(=0.3+0.3)を算出する。第2再割り当て部235は、情報処理装置2に関して、1(=0.4+0.2+0.2+0.2)を算出する。第2再割り当て部235は、情報処理装置3に関して、1(=0.5+0.2+0.3)を算出する。
次に、第2再割り当て部235は、情報処理装置4以外の情報処理装置に関して、情報処理装置が処理可能な装置処理量と、算出した合計値との差を算出する。たとえば、第2再割り当て部235は、情報処理装置1に関して、0.4(=1−0.6)を算出する。第2再割り当て部235は、情報処理装置2に関して、0(=1−1)を算出する。第2再割り当て部235は、情報処理装置3に関して、0(=1−1)を算出する。
次に、第2再割り当て部235は、算出した差が、情報処理装置4に割り当てられた処理量以上である情報処理装置があるか否かを判定する。上述した例の場合に、情報処理装置1に関する差は、0.4であり、情報処理装置4に割り当てられた処理量(=0.2)以上である。したがって、第2再割り当て部235は、情報処理装置4に割り当てられた仮想処理部10に関する処理を、情報処理装置1に割り当て直す。
次に、割り当て決定部213は、第1割り当て部211が算出した割り当てと、第2割り当て部212が算出した割り当てとに関して、それぞれ、移動量情報に基づき、異なる情報処理装置の間において移動するデータの移動量の合計値を算出する。
第1割り当て部211が算出した割り当てに関しては、通信1乃至通信3に関する通信が必要である。すなわち、
(通信1)仮想処理部3、及び、仮想処理部4の間、
(通信2)仮想処理部6、及び、仮想処理部7の間、
(通信3)仮想処理部9、及び、仮想処理部10の間。
一方、第2割り当て部212が算出した割り当てに関しては、通信4乃至通信6に関する通信が必要である。すなわち、
(通信4)仮想処理部2、及び、仮想処理部3の間、
(通信5)仮想処理部6、及び、仮想処理部7の間、
(通信6)仮想処理部9、及び、仮想処理部10の間。
次に、割り当て決定部213は、第1割り当て部211が算出した割り当てと、第2割り当て部212が算出した割り当てとに関して、それぞれ、移動量情報に基づき、異なる情報処理装置の間において移動する移動量の合計値を算出する。たとえば、割り当て決定部213は、通信1に関して、移動量情報において、仮想処理部3と、仮想処理部4とに関連付けされた移動量(=23)を読み取る。同様に、割り当て決定部213は、通信2及び通信3に関してそれぞれ移動量を読み取る。割り当て決定部213は、読み取った移動量に関する合計値を算出する。
同様に、割り当て決定部213は、第2割り当て部212が算出した割り当てに関して、移動量の合計値を算出する。第1割り当て部211が決定した割り当てに関する移動量が、第2割り当て部212が決定した割り当てに関する移動量よりも少ない場合に、割り当て決定部213は、第1割り当て部211が決定した割り当てを選択する。
次に、第3の実施形態に係る割り当て装置210に関する効果について説明する。
本実施形態に係る割り当て装置210によれば、仮想ネットワーク装置204を効率的に処理する割り当てを高速に算出することができる。さらに、本実施形態に係る割り当て装置210によれば、仮想ネットワーク装置204における処理を効率よく実行することができる。
この理由は、理由1及び理由2である。すなわち、
(理由1)第3の実施形態に係る割り当て装置210が有する構成は、第1の実施形態に係る割り当て装置101が有する構成を含むからである、
(理由2)割り当て装置210が、処理が連なる複数の仮想処理部に対して、移動量及び処理量に基づき、情報処理装置を割り当てるからである。
したがって、割り当て装置210が、相互に隣接している複数の仮想処理部に対して、情報処理装置を割り当てるので、該複数の仮想処理部間に関する処理が、異なる情報処理装置に割り当てられる可能性は低い。したがって、割り当て装置210によれば、仮想ネットワーク装置204における処理を効率よく実行することができる。
尚、装置処理量は、たとえば、中央演算処理装置(CPU)に関する処理能力、メモリの大きさ等、複数の指標であってもよい。この場合に、割り当て装置210は、たとえば、情報処理装置が有する装置処理量、及び、該情報処理装置が参照可能なメモリの大きさに基づき、仮想処理部に関する割り当てを算出する。
また、複数の情報処理装置に関する装置処理量は、必ずしも、一様でなくともよい。情報処理装置は、仮想処理部に関する処理のみを実行する必要はなく、仮想ネットワーク装置とは異なる処理を実行していてもよい。
(ハードウェア構成例)
上述した本発明の各実施形態における割り当て装置を、1つの計算処理装置(情報処理装置、コンピュータ)を用いて実現するハードウェア資源の構成例について説明する。但し、係る割り当て装置は、物理的または機能的に少なくとも2つの計算処理装置を用いて実現してもよい。また、係る割り当て装置は、専用の装置として実現してもよい。
図15は、第1の実施形態乃至第3の実施形態に係る割り当て装置を実現可能な計算処理装置のハードウェア構成例を概略的に示す図である。計算処理装置20は、中央処理演算装置(Central_Processing_Unit)21、メモリ22、ディスク23、及び、不揮発性記録媒体24を有する。計算処理装置20は、さらに、入力装置25、出力装置26、通信インターフェース(以降、「通信IF」と表す。)27、及び、ディスプレー28を有する。計算処理装置20は、通信IF27を介して、他の計算処理装置、及び、通信装置と情報を送受信することができる。
不揮発性記録媒体24は、コンピュータが読み取り可能な、たとえば、コンパクトディスク(Compact_Disc)、デジタルバーサタイルディスク(Digital_Versatile_Disc)である。また、不揮発性記録媒体24は、ユニバーサルシリアルバスメモリ(USBメモリ)、ソリッドステートドライブ(Solid_State_Drive)等であってもよい。不揮発性記録媒体24は、電源を供給しなくても係るプログラムを保持し、持ち運びを可能にする。不揮発性記録媒体24は、上述した媒体に限定されない。また、不揮発性記録媒体24の代わりに、通信IF27を介して、ネットワークを介して係るプログラムを持ち運びしてもよい。
すなわち、CPU21は、ディスク23が記憶するソフトウェア・プログラム(コンピュータ・プログラム:以下、単に「プログラム」と称する)を、実行する際にメモリ22にコピーし、演算処理を実行する。CPU21は、プログラム実行に必要なデータをメモリ22から読み取る。表示が必要な場合には、CPU21は、ディスプレー28に出力結果を表示する。外部への出力が必要な場合には、CPU21は、出力装置26に出力結果を出力する。外部からプログラムを入力する場合、CPU21は、入力装置25からプログラムを読み取る。CPU21は、上述した図1、図5、図8、図9、図11、または、図13に示す各部が表す機能(処理)に対応するところのメモリ22にある割り当てプログラム(図4、図7、図10、図12、または、図14)を解釈し実行する。CPU21は、上述した本発明の各実施形態において説明した処理を順次行う。
すなわち、このような場合、本発明は、係る割り当てプログラムによっても成し得ると捉えることができる。更に、係る割り当てプログラムが記録されたコンピュータ読み取り可能な不揮発性の記録媒体によっても、本発明は成し得ると捉えることができる。
以上、上述した実施形態を模範的な例として本発明を説明した。しかし、本発明は、上述した実施形態には限定されない。すなわち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
101 割り当て装置
102 処理量算出部
103 合計算出部
104 リソース判定部
105 リソース割り当て部
301 処理情報部
302 装置情報部
201 情報処理システム
202 ルータ
203 ルータ
204 仮想ネットワーク装置
205 チェイン
111 割り当て装置
112 組み合わせ算出部
113 第2リソース割り当て部
121 割り当て決定部
122 割り当て装置
210 割り当て装置
211 第1割り当て部
212 第2割り当て部
213 割り当て決定部
222 処理量算出部
223 合計算出部
224 リソース判定部
225 リソース割り当て部
226 再割り当て部
233 組み合わせ算出部
234 第2リソース割り当て部
235 第2再割り当て部
20 計算処理装置
21 CPU
22 メモリ
23 ディスク
24 不揮発性記録媒体
25 入力装置
26 出力装置
27 通信IF
28 ディスプレー

Claims (10)

  1. 仮想ネットワーク装置を構成する複数の処理を情報処理装置に割り当てる場合に、前記情報処理装置に割り当てた処理量の合計を表す合計処理量を算出する処理量算出手段と、
    前記複数の処理のうち、前記仮想ネットワーク装置が処理を行う順または逆順に、まだ割り当てが決まっていない前記処理を割り当て対象として選択し、選択した前記割り当て対象に関する処理量と、前記合計処理量との合計値を算出する合計算出手段と、
    前記合計値が、前記情報処理装置が処理可能な処理量を表す装置処理量以下であるか否かを判定するリソース判定手段と、
    前記合計値が前記装置処理量以下である場合に、前記割り当て対象を前記情報処理装置に割り当て、前記合計値が前記装置処理量よりも大きな場合に、前記割り当て対象を前記情報処理装置とは異なる情報処理装置に割り当てるリソース割り当て手段と
    を備え、
    前記処理量算出手段は、前記仮想ネットワーク装置において割り当てが決まっていない前記処理がある場合に、前記合計処理量を算出する
    割り当て装置。
  2. 第1情報処理装置に関する前記装置処理量と、第2情報処理装置に関する前記合計値との差が、前記第2情報処理装置に関する前記合計値以上である場合に、前記第2情報処理装置に割り当てた前記処理を、前記第1情報処理装置に割り当てる再割り当て手段
    をさらに備える請求項1に記載の割り当て装置。
  3. 仮想通信ネットワーク装置を構成する複数の処理を情報処理装置に割り当てる場合に、前記複数の処理において相互に隣接している前記処理に関して、前記情報処理装置が処理可能な処理量を表す装置処理量以下である組み合わせを算出する組み合わせ算出手段と、
    算出した前記組み合わせのうち、前記組み合わせに含まれる処理数が最多または略最多の前記組み合わせを選択し、選択した前記組み合わせに前記情報処理装置を割り当てるリソース割り当て手段と
    を備え、
    前記組み合わせ算出手段は、前記仮想通信ネットワーク装置において割り当てが決まっていない前記処理がある場合に、前記組み合わせを算出する
    割り当て装置。
  4. 第1情報処理装置に関する前記装置処理量と、第2情報処理装置に関する前記合計値との差が、第2情報処理装置に関する前記合計値以上である場合に、前記第2情報処理装置に割り当てた前記処理を、前記第1情報処理装置に割り当てる再割り当て手段
    をさらに備える請求項3に記載の割り当て装置。
  5. 請求項1または請求項2に記載の割り当て装置である第1割り当て装置と、
    請求項3または請求項4に記載の割り当て装置である第2割り当て装置と、
    前記仮想通信ネットワーク装置を前記情報処理装置にて実行する場合に要する通信量に基づいて、前記第1割り当て装置が割り当てる割り当てと、前記第2割り当て装置が割り当てる割り当てとのいずれかを選択する割り当て決定手段と
    を備える割り当て装置。
  6. 前記割り当て装置は、前記処理の間にて移動するデータ量から、異なる前記情報処理装置に割り当てられた前記処理の間における総移動量を算出することにより、前記通信量を算出する
    請求項5に記載の割り当て装置。
  7. 仮想通信ネットワーク装置と、
    前記仮想通信ネットワーク装置に関する割り当てを算出する請求項1乃至請求項6のいずれかに記載の割り当て装置と、
    を備える通信ネットワーク装置。
  8. 仮想ネットワーク装置を構成する複数の処理を情報処理装置に割り当てる場合に、前記情報処理装置に割り当てた処理量の合計を表す合計処理量を算出し、前記複数の処理のうち、前記仮想ネットワーク装置が処理を行う順または逆順に、まだ割り当てが決まっていない前記処理を割り当て対象として選択し、選択した前記割り当て対象に関する処理量と、前記合計処理量との合計値を算出し前記合計値が、前記情報処理装置が処理可能な処理量を表す装置処理量以下であるか否かを判定し、前記合計値が前記装置処理量以下である場合に、前記割り当て対象を前記情報処理装置に割り当て、前記合計値が前記装置処理量よりも大きな場合に、前記割り当て対象を前記情報処理装置とは異なる情報処理装置に割り当て前記仮想ネットワーク装置において割り当てが決まっていない前記処理がある場合に、前記合計処理量を算出する割り当て方法。
  9. 仮想ネットワーク装置を構成する複数の処理を情報処理装置に割り当てる場合に、前記情報処理装置に割り当てた処理量の合計を表す合計処理量を算出する処理量算出機能と、
    前記複数の処理のうち、前記仮想ネットワーク装置が処理を行う順または逆順に、まだ割り当てが決まっていない前記処理を割り当て対象として選択し、選択した前記割り当て対象に関する処理量と、前記合計処理量との合計値を算出する合計算出機能と、
    前記合計値が、前記情報処理装置が処理可能な処理量を表す装置処理量以下であるか否かを判定するリソース判定機能と、
    前記合計値が前記装置処理量以下である場合に、前記割り当て対象を前記情報処理装置に割り当て、前記合計値が前記装置処理量よりも大きな場合に、前記割り当て対象を前記情報処理装置とは異なる情報処理装置に割り当てるリソース割り当て機能と
    をコンピュータに実現させ、
    前記処理量算出機能においては、前記仮想ネットワーク装置において割り当てが決まっていない前記処理がある場合に、前記合計処理量を算出する
    割り当てプログラム。
  10. 第1情報処理装置に関する前記装置処理量と、前記第2情報処理装置に関する前記合計値との差が、第2情報処理装置に関する前記合計値以上である場合に、前記第2情報処理装置に割り当てた前記処理を、前記第1情報処理装置に割り当てる再割り当て機能
    をさらに備える請求項9に記載の割り当てプログラム。
JP2015060573A 2015-03-24 2015-03-24 割り当て装置、割り当て方法、割り当てプログラム、及び、通信ネットワーク装置 Active JP6540141B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015060573A JP6540141B2 (ja) 2015-03-24 2015-03-24 割り当て装置、割り当て方法、割り当てプログラム、及び、通信ネットワーク装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015060573A JP6540141B2 (ja) 2015-03-24 2015-03-24 割り当て装置、割り当て方法、割り当てプログラム、及び、通信ネットワーク装置

Publications (2)

Publication Number Publication Date
JP2016181092A true JP2016181092A (ja) 2016-10-13
JP6540141B2 JP6540141B2 (ja) 2019-07-10

Family

ID=57131595

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015060573A Active JP6540141B2 (ja) 2015-03-24 2015-03-24 割り当て装置、割り当て方法、割り当てプログラム、及び、通信ネットワーク装置

Country Status (1)

Country Link
JP (1) JP6540141B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391263A (zh) * 2017-08-07 2017-11-24 安徽优易思信息技术有限责任公司 一种信息请求的处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134640A (ja) * 2007-11-30 2009-06-18 Hitachi Ltd リソース割当方法、リソース割当プログラム、および、運用管理装置
JP2012169874A (ja) * 2011-02-15 2012-09-06 Nippon Telegr & Teleph Corp <Ntt> リンク割当装置及びリンク割当方法
JP2013089166A (ja) * 2011-10-21 2013-05-13 Fujitsu Ltd 通信装置、通信方法、および、通信プログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134640A (ja) * 2007-11-30 2009-06-18 Hitachi Ltd リソース割当方法、リソース割当プログラム、および、運用管理装置
JP2012169874A (ja) * 2011-02-15 2012-09-06 Nippon Telegr & Teleph Corp <Ntt> リンク割当装置及びリンク割当方法
JP2013089166A (ja) * 2011-10-21 2013-05-13 Fujitsu Ltd 通信装置、通信方法、および、通信プログラム

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
千葉靖伸,外3名: "NFVにおけるサービス品質保証を実現する管理・オーケストレーション機能の検討", 電子情報通信学会技術研究報告, vol. 第113巻,第472号, JPN6018042383, 27 February 2014 (2014-02-27), JP, pages 409 - 414, ISSN: 0003906953 *
森岡千晴,外3名: "サービスチェイニングを考慮したポリシー制御機能の検討", 電子情報通信学会技術研究報告, vol. 第114巻,第477号, JPN6018042387, 23 February 2015 (2015-02-23), JP, pages 469 - 473, ISSN: 0003906955 *
逸見勇人,外3名: "サービスチェイニングに向けたリソース最適配置手法の提案", 電子情報通信学会技術研究報告, vol. 第113巻,第472号, JPN6018042385, 27 February 2014 (2014-02-27), JP, pages 397 - 402, ISSN: 0003906954 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107391263A (zh) * 2017-08-07 2017-11-24 安徽优易思信息技术有限责任公司 一种信息请求的处理方法及装置

Also Published As

Publication number Publication date
JP6540141B2 (ja) 2019-07-10

Similar Documents

Publication Publication Date Title
US8881165B2 (en) Methods, computer systems, and physical computer storage media for managing resources of a storage server
US9459904B2 (en) NUMA I/O aware network queue assignments
CN107851043B (zh) 快捷外围部件互连网络中资源组的动态分配
US20160203024A1 (en) Apparatus and method for allocating resources of distributed data processing system in consideration of virtualization platform
KR20140022922A (ko) 네트워크 분할을 통한 네이티브 클라우드 컴퓨팅
WO2015101091A1 (zh) 一种分布式资源调度方法及装置
US8352702B2 (en) Data processing system memory allocation
WO2019225429A1 (ja) Vmマイグレーションシステムおよびvmマイグレーション方法
US10237233B2 (en) Allocating identifiers with minimal fragmentation
KR102640232B1 (ko) 가상화 환경에서의 자원 할당 방법 및 장치
JP2014016700A (ja) 情報処理システム、情報処理システムの制御方法及び制御プログラム
JP6459633B2 (ja) 情報処理システムおよびその制御方法
JP6540141B2 (ja) 割り当て装置、割り当て方法、割り当てプログラム、及び、通信ネットワーク装置
JP2019149043A (ja) 見積り装置および見積り方法
JP2016071886A (ja) スケジューラコンピューティング装置、それを含む分散コンピューティングシステムのデータノード、及びその方法
US11714670B2 (en) VM priority level control system and VM priority level control method
JP7236005B2 (ja) 制御装置、制御方法、及び制御プログラム
KR102053765B1 (ko) 테넌트 기반의 동적 프로세서 할당 장치 및 그 방법
KR102033339B1 (ko) 다중자원 인프라구조 관리 방법 및 장치
JP2012133629A (ja) ストレージリソース制御システムおよびストレージリソース制御プログラムならびにストレージリソース制御方法
JP2020016910A (ja) リソース割当装置、リソース管理システム、および、リソース割当プログラム
KR102548926B1 (ko) 가상 네트워크 기능 조율 방법 및 그 장치
JP7278510B2 (ja) リソース割当装置、リソース割当方法、制御回路および記憶媒体
Malhotra LD_ASG: Load Balancing Algorithm in Cloud Computing
JP2018106660A (ja) 中央処理装置の割り当て方法およびそれを用いたサーバ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180215

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181030

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181211

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190527

R150 Certificate of patent or registration of utility model

Ref document number: 6540141

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150