JP6558374B2 - スケール数推定装置、スケール数管理システム、スケール数推定方法、スケール数管理方法、および、コンピュータ・プログラム - Google Patents

スケール数推定装置、スケール数管理システム、スケール数推定方法、スケール数管理方法、および、コンピュータ・プログラム Download PDF

Info

Publication number
JP6558374B2
JP6558374B2 JP2016547690A JP2016547690A JP6558374B2 JP 6558374 B2 JP6558374 B2 JP 6558374B2 JP 2016547690 A JP2016547690 A JP 2016547690A JP 2016547690 A JP2016547690 A JP 2016547690A JP 6558374 B2 JP6558374 B2 JP 6558374B2
Authority
JP
Japan
Prior art keywords
node
service
function
rule
scale number
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
JP2016547690A
Other languages
English (en)
Other versions
JPWO2016038857A1 (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.)
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
Publication of JPWO2016038857A1 publication Critical patent/JPWO2016038857A1/ja
Application granted granted Critical
Publication of JP6558374B2 publication Critical patent/JP6558374B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、ネットワーク機能を提供するノードのスケール数を管理する技術に関する。
近年、携帯電話やコンピュータ等の端末向けに、様々なIT(Information Technology)サービスがネットワークを経由して提供されている。ITサービスとしては、例えば、ウェブサーバや動画配信、業務システム等がある。このようなITサービスを提供する際には、不要なトラフィックの排除やIP(Internet Protocol)アドレス変換といったような、各種ネットワーク機能が必要となる。そのため、ITサービス提供者は、ネットワーク機能を提供する各種のノードからなるネットワーク機能提供装置を利用する。ネットワーク機能提供装置のノードには、ロードバランサ(LB:Load Balancer)やファイアウォール(FW:Firewall))、NAT(Network Address Translation)等がある。
また、ITサービスの利用トラフィック量は、利用者数や時間帯といった複数の要因により、常に変動する。しかし、既存のネットワーク制御技術では、ネットワーク機能を提供する各種ノードが専用機器であるため、ネットワーク機能提供装置やそのノードのスループット性能を制御することは難しい。そのため、ITサービス提供者は、ネットワーク機能提供装置側のスループット性能に合わせて、ネットワーク機能提供装置に処理させるトラフィック量を調整する必要があった。
このような問題に対応する技術として、NFV(Network Function Virtualization)やSDN(Software Defined Networking)といったネットワーク機能仮想化技術がある。ネットワーク機能仮想化技術では、FWやLBといったノードをソフトウェアにより実現する。そして、ノード毎に、ノード内の仮想化されたノードインスタンスの並列数を増加(スケールアウト)または減少(スケールイン)させる制御が可能である。これにより、ネットワーク機能のスループット性能が制御可能となる。例えばNFVの場合、個々のネットワーク機能は、VNF(Virtualized Network Function)というノードによって提供される。また、VNFノードの内部では、複数のVNFC(VNF component)というノードインスタンスが稼働する。この場合、VNFCをスケールさせることにより、処理性能の制御を行うことができる。VNFCは、それぞれ別個の仮想マシンである。このVNFCは、ネットワーク要件に合わせた機能を提供するための機能ルールが設定されることにより、ネットワーク機能を調節する。例えば、ファイアウォールの機能を提供するVNFCの場合、図18に示すような機能ルールが設定される。このような機能ルールが設定されたVNFCは、http(Hypertext transfer Protocol)アクセスやftp(File Transfer Protocol)アクセスの許可、攻撃の回避といった機能を提供可能となる。
このようなネットワーク機能仮想化技術を用いたネットワーク機能提供装置の性能を管理する関連技術の一例が、特許文献1に記載されている。この関連技術は、各種ネットワーク機能を提供するエージェント(上述のノードインスタンスに相当)の性能が目標値を満たさない場合、各エージェントへのリソース(例えば、CPU:Central Processing UnitやRAM:Random Access Memory等)を再割当する。
特開2012−74056号公報
しかしながら、特許文献1に記載された関連技術には、以下の課題がある。
上述のVNFCのようなノードインスタンスの処理性能には、ノードの機能ルールの設定内容が影響する。例えば、ノードインスタンスは、設定される機能ルールの設定内容が多いほどCPU等のリソースをより多く消費し、処理に要する時間が長くなる。そのため、機能ルールの設定内容に応じてノードインスタンスの処理性能は変化する。ここで、想定される入力トラフィックに応じて、各ノードにおいて必要となる並列処理数(スケール数)を推定するには、ノードインスタンスの処理性能をより精度よく推定する必要がある。しかしながら、特許文献1には、エージェントの処理性能を推定し、さらに、エージェントの並列処理数(スケール数)を推定することについては記載がない。そのため、この関連技術は、性能が目標値を満たさない場合にリソースを再割当するだけでは、エージェントの性能を十分に制御することができない。
本発明は、上述の課題を解決するためになされたものである。すなわち、本発明は、ネットワーク機能を提供するノードにおけるインスタンスの処理性能をより精度よく推定し、入力トラフィックを処理可能なスケール数をより精度よく推定する技術を提供することを目的とする。
上記目的を達成するために、本発明のスケール数推定装置は、ネットワーク機能を提供するノードに設定された機能ルールの設定履歴に基づいて、機能ルールを定量化した機能ルール定量値を算出する機能ルール定量化手段と、前記ノードのサービス履歴に基づいて、前記ノードにおいて稼働するノードインスタンスの単位時間あたりのサービス量を算出するサービス量算出手段と、前記ノードについて得られた前記機能ルール定量値および前記サービス量の組に基づいて、前記ノードに対する入力トラフィック量と、前記機能ルール定量値と、前記ノードインスタンスの数(スケール数)との関係を表す性能モデルを生成する性能モデル生成手段と、前記性能モデルを用いて、想定される前記入力トラフィック量および前記機能ルール定量値に応じた前記スケール数を推定するスケール数推定手段と、を備える。
また、本発明のスケール数管理システムは、ネットワーク機能を提供するノードからなるネットワーク機能提供装置と、前記ネットワーク機能提供装置から、前記ノードに設定される機能ルールの設定履歴(機能ルール設定履歴)と、前記ノードのサービス履歴とを取得する取得装置と、前記取得装置によって取得された前記機能ルール設定履歴および前記サービス履歴を用いて、前記ネットワーク機能提供装置におけるノードのスケール数を推定する上述のスケール数推定装置と、前記スケール数推定装置によって推定されたスケール数に基づいて、前記ネットワーク機能提供装置におけるノードのスケール数を制御する制御装置と、を備える。
また、本発明のスケール数推定方法は、ネットワーク機能を提供するノードに設定された機能ルールの設定履歴に基づいて、機能ルールを定量化した機能ルール定量値を算出し、前記ノードのサービス履歴に基づいて、前記ノードにおいて稼働するノードインスタンスの単位時間あたりのサービス量を算出し、前記ノードについて得られた前記機能ルール定量値および前記サービス量の組に基づいて、前記ノードに対する入力トラフィック量と、前記機能ルール定量値と、前記ノードインスタンスの数(スケール数)との関係を表す性能モデルを生成し、前記性能モデルを用いて、想定される前記入力トラフィック量および前記機能ルール定量値に応じた前記スケール数を推定する。
また、本発明のスケール数管理方法は、ネットワーク機能を提供するノードからなるネットワーク機能提供装置における前記ノードにおいて設定される機能ルールの設定履歴(機能ルール設定履歴)を取得し、前記ネットワーク機能提供装置におけるノードのサービス履歴を取得し、取得した前記機能ルール設定履歴およびサービス履歴に基づいて、上述のスケール数推定方法を用いて、前記ネットワーク機能提供装置におけるノードのスケール数を推定し、推定したスケール数に基づいて、前記ネットワーク機能提供装置におけるノードのスケール数を制御する。
また、本発明の記憶媒体は、ネットワーク機能を提供するノードに設定された機能ルールの設定履歴に基づいて、機能ルールを定量化した機能ルール定量値を算出する機能ルール定量化ステップと、前記ノードのサービス履歴に基づいて、前記ノードにおいて稼働するノードインスタンスの単位時間あたりのサービス量を算出するサービス量算出ステップと、前記ノードについて得られた前記機能ルール定量値および前記サービス量の組に基づいて、前記ノードに対する入力トラフィック量と、前記機能ルール定量値と、前記ノードインスタンスの数(スケール数)との関係を表す性能モデルを生成する性能モデル生成ステップと、前記性能モデルを用いて、想定される前記入力トラフィック量および前記機能ルール定量値に応じた前記スケール数を推定するスケール数推定ステップと、をコンピュータ装置に実行させるコンピュータ・プログラムを記憶している。
本発明は、ネットワーク機能を提供するノードにおけるインスタンスの処理性能をより精度よく推定し、入力トラフィックを処理可能なスケール数をより精度よく推定する技術を提供することができる。
本発明の第1の実施の形態としてのスケール数管理システムの構成を示すブロック図である。 本発明の第1の実施の形態としてのスケール数管理システムのハードウェア構成図である。 本発明の第1の実施の形態としてのスケール数管理システムの履歴取得動作を説明するフローチャートである。 本発明の第1の実施の形態としてのスケール数管理システムの性能モデル生成動作を説明するフローチャートである。 本発明の第1の実施の形態としてのスケール数管理システムのスケール数推定動作を説明するフローチャートである。 本発明の第1の実施の形態としてのスケール数管理システムのスケール数制御動作を説明するフローチャートである。 本発明の第2の実施の形態としてのスケール数管理システムの構成を示すブロック図である。 本発明の第2の実施の形態としてのスケール数管理システムの性能モデル生成動作を説明するフローチャートである。 本発明の第2の実施の形態としてのスケール数管理システムのチェーンインスタンス情報生成動作を説明するフローチャートである。 本発明の第2の実施の形態としてのスケール数管理システムのスケール数制御動作を説明するフローチャートである。 本発明の第2の実施の形態における機能ルール設定履歴の一例を示す図である。 本発明の第2の実施の形態におけるサービス履歴の一例を示す図である。 本発明の第2の実施の形態における機能ルール定量値情報の一例を示す図である。 本発明の第2の実施の形態における性能モデルの一例を示す図である。 本発明の第2の実施の形態におけるサービスチェーン定義情報の一例を示す図である。 本発明の第2の実施の形態における入力トラフィック情報の一例を示す図である。 本発明の第2の実施の形態におけるチェーンインスタンス情報の一例を示す図である。 関連技術のノードに設定される機能ルールの一例を示す図である。
以下、本発明の実施の形態について、図面を参照して詳細に説明する。
(第1の実施の形態)
本発明の第1の実施の形態としてのスケール数管理システム1の構成を図1に示す。図1において、スケール数管理システム1は、スケール数推定装置10と、ネットワーク機能提供装置30と、取得装置50と、制御装置70とを備える。また、スケール数推定装置10は、取得装置50および制御装置70と、それぞれ通信可能に接続されている。また、ネットワーク機能提供装置30は、取得装置50および制御装置70と、それぞれ通信可能に接続されている。また、スケール数推定装置10は、機能ルール定量化部11と、サービス量算出部12と、性能モデル生成部13と、性能モデル記憶部130と、スケール数推定部14とを有する。なお、性能モデル記憶部130は、本発明の性能モデル生成部の一部の一実施形態を構成する。また、ネットワーク機能提供装置30は、1つ以上のノード31を含む。また、ノード31内では、それぞれ、1つ以上のノードインスタンス32が稼働する。また、取得装置50は、機能ルール設定履歴記憶部501およびサービス履歴記憶部502を含む。
ここで、スケール数推定装置10、ネットワーク機能提供装置30、取得装置50、および、制御装置70は、それぞれ、図2に示すようなハードウェア要素によって構成されていてもよい。具体的には、スケール数推定装置10は、コンピュータ装置100によって構成可能である。コンピュータ装置100は、CPU(Central Processing Unit)1001と、RAM(Random Access Memory)1002と、ROM(Read Only Memory)1003と、ハードディスク等の記憶装置1004と、ネットワークインタフェース1005とを備える。また、ネットワーク機能提供装置30は、コンピュータ装置300によって構成可能である。コンピュータ装置300は、CPU3001と、RAM3002と、ROM3003と、ハードディスク等の記憶装置3004と、ネットワークインタフェース3005とを備える。また、取得装置50は、コンピュータ装置500によって構成可能である。コンピュータ装置500は、CPU5001と、RAM5002と、ROM5003と、ハードディスク等の記憶装置5004と、ネットワークインタフェース5005とを備える。また、制御装置70は、コンピュータ装置700によって構成可能である。コンピュータ装置700は、CPU7001と、RAM7002と、ROM7003と、ハードディスク等の記憶装置7004と、ネットワークインタフェース7005とを備える。この場合、スケール数推定装置10と、取得装置50および制御装置70とは、ネットワークインタフェース1005、5005および7005によってそれぞれ通信可能に接続される。また、ネットワーク機能提供装置30と、取得装置50および制御装置70とは、ネットワークインタフェース3005、5005および7005によってそれぞれ通信可能に接続される。なお、ネットワーク機能提供装置30は、ネットワークインタフェース3005に加えて、ネットワーク機能の提供先となるサービス側や端末側に接続するための図示しないネットワークインタフェースを備えている。
図2のようなハードウェア要素によってスケール数管理システム1が構成される場合、機能ルール定量化部11、サービス量算出部12、および、スケール数推定部14の各機能ブロックは、次のように構成される。すなわち、これらの各機能ブロックは、ネットワークインタフェース1005と、ROM1003および記憶装置1004に記憶されたコンピュータ・プログラムおよび各種データをRAM1002に読み込んで実行するCPU1001とによって構成される。また、性能モデル生成部13は、ROM1003および記憶装置1004に記憶されたコンピュータ・プログラムおよび各種データをRAM1002に読み込んで実行するCPU1001によって構成される。また、ノード31およびノードインスタンス32は、ROM3003および記憶装置3004に記憶されたコンピュータ・プログラムおよび各種データをRAM3002に読み込んで実行するCPU3001によって構成される。また、取得装置50の機能ルール設定履歴記憶部501およびサービス履歴記憶部502は、記憶装置5004によって構成される。なお、各装置およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。例えば、各装置は、一部または全部が同一のコンピュータ装置上に実現されていてもよい。具体例としては、スケール数推定装置10および取得装置50が同一のコンピュータ装置上に実現され、ネットワーク機能提供装置30および制御装置70が同一のコンピュータ装置上に実現されていてもよい。その場合、情報の送受信が必要な装置間は、ネットワークインタフェースを介して接続される代わりに、記憶装置を介して情報を入出力することにより接続されていてもよい。
次に、各装置の機能ブロックについて説明する。
ネットワーク機能提供装置30のノード31は、設定された機能ルールに基づいて、ネットワーク機能を提供する。
ノードインスタンス32は、ノード31のインスタンスであり、それぞれが仮想マシンとして実現される。稼働中のノードインスタンス32は、外部からの要求に応じて、ネットワーク機能を提供する処理(サービス)を実行する。
取得装置50は、ネットワーク機能提供装置30から、各ノード31の機能ルール設定履歴と、各ノード31のサービス履歴とを取得する。また、取得装置50は、取得した機能ルール設定履歴を、機能ルール設定履歴記憶部501に記憶しておく。また、取得装置50は、取得したサービス履歴を、サービス履歴記憶部502に記憶しておく。
ここで、機能ルール設定履歴は、ノード31に設定される機能ルールの設定履歴を表す。例えば、機能ルール設定履歴は、ノード31に設定された機能ルールの設定内容と、その設定時刻とを含む設定情報の履歴であってもよい。また、取得装置50は、ネットワーク機能提供装置30において新たなノード31に機能ルールが設定された場合や、既存のノード31の機能ルールが変更された場合、機能ルール設定履歴をさらに取得する。そして、取得装置50は、新たに取得した機能ルール設定履歴を、機能ルール設定履歴記憶部501に追加して記憶しておく。
また、例えば、サービス履歴は、各ノード31のノードインスタンス32により実行された処理に要したサービス時間と、処理されたデータ量との組を含む情報であってもよい。また、取得装置50は、ネットワーク機能提供装置30においてノードインスタンス32により新たに処理が実行されると、そのサービス履歴をさらに取得し、サービス履歴記憶部502に追加して記憶しておく。
スケール数推定装置10の機能ルール定量化部11は、ノード31の機能ルール設定履歴に基づいて、機能ルールを定量化した機能ルール定量値を算出する。機能ルール定量値は、機能ルールの設定内容を定量的に表現可能な情報である。具体的には、スケール数推定装置10は、取得装置50の機能ルール設定履歴記憶部501から、機能ルール設定履歴を取得する。そして、機能ルール定量化部11は、各ノード31についての機能ルールの設定情報毎に、機能ルール定量値を算出する。もし、同じノード31について複数の設定情報があれば、機能ルール定量化部11は、同じノード31について複数の機能ルール定量値を算出することになる。
サービス量算出部12は、ノード31のサービス履歴に基づいて、ノードインスタンス32の単位時間あたりのサービス量を算出する。具体的には、サービス量算出部12は、取得装置50から、サービス履歴を取得する。例えば、サービス量算出部12は、サービス履歴に含まれるサービス時間とデータ量とに基づいて、単位時間あたりのサービス量を算出可能である。
また、サービス量算出部12は、各ノード31について算出したサービス量を、そのノード31の機能ルール定量値と対応付けて、記憶装置1004に記憶しておく。もし、1つのノード31について、複数の機能ルール定量値が算出されている場合、サービス量算出部12は、各機能ルール定量値について、その機能ルール定量値が有効な期間におけるサービス履歴に基づいて前述のサービス量を求めてもよい。そして、サービス量算出部12は、求めたサービス量を、該当する機能ルール定量値に対応付けておく。なお、機能ルール定量値の有効期間は、機能ルール設定履歴に含まれる機能ルールの設定時刻から算出可能である。
性能モデル生成部13は、各ノード31について得られた機能ルール定量値およびサービス量の組に基づいて、ノード31に対する入力トラフィック量と、機能ルール定量値と、ノードインスタンス32の数(スケール数)との関係を表す性能モデルを生成する。つまり、性能モデルは、ノード31の機能ルール定量値および入力トラフィック量に応じてノードインスタンス32の数を算出可能な計算式を含む。また、性能モデル生成部13は、各ノード31について生成した性能モデルを、性能モデル記憶部130に記憶しておく。
スケール数推定部14は、ノード31に想定される入力トラフィック量および機能ルール定量値に基づいて、そのノード31の性能モデルを用いてスケール数を推定する。また、スケール数推定部14は、ノード31毎に推定したスケール数を表す情報を、制御装置70に対して出力する。
制御装置70は、スケール数推定装置10から出力された各ノード31のスケール数に基づいて、ネットワーク機能提供装置30におけるノード31内のノードインスタンス32の数を制御する。
以上のように構成されたスケール数管理システム1の動作について、図面を参照して説明する。
まず、取得装置50による履歴取得動作を図3に示す。
図3では、まず、取得装置50は、ネットワーク機能提供装置30から、ノード31の機能ルール設定履歴を取得する(ステップA1)。前述のように、取得装置50は、取得した機能ルール設定履歴を、機能ルール設定履歴記憶部501に記憶する。
また、サービス量算出部12は、ネットワーク機能提供装置30から、ノード31のサービス履歴を取得する(ステップA2)。前述のように、取得装置50は、取得したサービス履歴を、サービス履歴記憶部502に記憶する。
なお、ステップA1およびステップA2の動作は、この順に実行されなくてもよい。また、ステップA1およびステップA2の動作は、略同時に実行されてもよい。また、ステップA1およびステップA2の動作は、指定された期間の間繰り返し実行されてもよい。
次に、スケール数推定装置10によるサービスモデル生成動作を図4に示す。
図4では、まず、機能ルール定量化部11は、取得装置50の機能ルール設定履歴記憶部501およびサービス履歴記憶部502から、機能ルール設定履歴およびサービス履歴を読み出す(ステップB1)。
次に、機能ルール定量化部11は、機能ルール設定履歴に記録されているノード31毎に、以下のステップB2〜B4を繰り返す。
ここでは、まず、機能ルール定量化部11は、このノード31についての機能ルール設定履歴から、機能ルール定量値を算出する(ステップB2)。
前述のように、機能ルール定量化部11は、このノード31についての設定情報毎に、機能ルール定量値を求めればよい。
次に、サービス量算出部12は、ステップB2で求められたこのノード31の各機能ルール定量値について、このノード31で稼働するノードインスタンス32の単位時間あたりのサービス量を算出する(ステップB3)。
具体的には、サービス量算出部12は、各機能ルール定量値の有効期間におけるこのノード31のサービス履歴を用いて、対応するサービス量を求めればよい。また、サービス量算出部12は、該当するサービス履歴に含まれる各処理のデータ量およびサービス時間に基づいてサービス量を求めればよい。そして、サービス量算出部12は、各機能ルール定量値について、対応するサービス量を対応付けておく。
次に、性能モデル生成部13は、このノード31について得られた機能ルール定量値およびサービス量の組の集合に基づいて、このノード31に対する入力トラフィック量と、機能ルール定量値と、スケール数との関係を表す性能モデルを生成する(ステップB4)。そして、性能モデル生成部13は、このノード31について生成した性能モデルを、性能モデル記憶部130に記憶する。
各ノード31についてステップB2〜B4の実行を終えると、スケール数推定装置10は、サービスモデル生成動作を終了する。
次に、スケール数推定装置10によるスケール数推定動作を図5に示す。なお、図5では、スケール数を推定する対象となるノード31が指定されているものとする。
図5では、まず、スケール数推定部14は、推定対象のノード31について想定される入力トラフィック量と、ノード31に設定される機能ルールの内容とを取得する(ステップC1)。例えば、スケール数推定部14は、推定対象となるノード31に想定される入力トラフィック量および機能ルールの内容を、入力装置(図示せず)、ネットワークインタフェース1005、または、記憶装置1004等から取得してもよい。
次に、機能ルール定量化部11は、ステップC1で取得された機能ルールに基づいて、機能ルール定量値を算出する(ステップC2)。
次に、スケール数推定部14は、このノード31の性能モデルを性能モデル記憶部130から取得する。そして、スケール数推定部14は、このノード31の性能モデルに、ステップC1で取得された入力トラフィック量およびステップC2で算出された機能ルール定量値を適用する。これにより、スケール数推定部14は、このノード31のスケール数を算出し、制御装置70に出力する(ステップC3)。
次に、制御装置70のスケール数制御動作を図6に示す。
図6では、まず、制御装置70は、スケール数推定装置10から出力されたスケール数を取得する(ステップD1)。
次に、制御装置70は、取得したスケール数に基づいて、ネットワーク機能提供装置30上のノード31におけるノードインスタンス32の数を制御する(ステップD2)。例えば、このノード31について稼働中のノードインスタンス32の数が、推定したスケール数と異なれば、制御装置70は、推定したスケール数となるようノードインスタンス32の数を変更する。また、このノード31がまだ稼働していなければ、推定したスケール数だけ、このノード31のノードインスタンス32を生成して稼働させる。
以上で、制御装置70は、スケール数制御動作を終了する。なお、スケール数管理システム1は、ネットワーク機能提供装置30で稼働中または稼働予定の各ノード31について、上述のステップC1〜C3、D1〜D2の動作を繰り返してもよい。
次に、本発明の第1の実施の形態の効果について述べる。
本発明の第1の実施の形態としてのスケール数管理システムは、ネットワーク機能を提供するノードにおけるインスタンスの処理性能をより精度よく推定し、入力トラフィックを処理可能なスケール数をより精度よく制御することができる。
その理由について説明する。本実施の形態では、取得装置が、ネットワーク機能提供装置の各ノードに設定された機能ルール設定履歴およびサービス履歴を取得する。そして、スケール数推定装置の機能ルール定量化部が、機能ルール設定履歴に基づき、機能ルール定量値を算出する。また、サービス量算出部が、サービス履歴に基づき、各ノードのノードインスタンスの単位時間あたりのサービス量を算出する。そして、性能モデル生成部が、機能ルール定量値およびサービス量の組に基づいて、入力トラフィック量と、機能ルール定量値と、スケール数との関係を表す性能モデルを生成する。そして、スケール数推定部が、性能モデルを用いて、想定される入力トラフィック量に応じたノードインスタンス数を推定する。そして、制御装置が、推定されたスケール数に基づいて、ノードインスタンス数を制御するからである。
これにより、本実施の形態は、ノードにおけるインスタンスの処理性能の推定精度を向上させることができる。その結果、本実施の形態は、ノードに設定される機能ルールの内容やその変更に応じて、想定される入力トラフィックを必要最小限のリソースで処理可能なスケール数をより精度よく見積もることができる。
(第2の実施の形態)
次に、本発明の第2の実施の形態について図面を参照して詳細に説明する。本実施の形態では、本発明におけるネットワーク機能提供装置に、サービスチェーン実行装置を適用した例について説明する。サービスチェーン実行装置は、複数のノードを連結して機能させるサービスチェーンを実行する装置である。なお、本実施の形態の説明において参照する各図面において、本発明の第1の実施の形態と同一の構成および同様に動作するステップには同一の符号を付して本実施の形態における詳細な説明を省略する。
まず、本発明の第2の実施の形態としてのスケール数管理システム2の構成を図7に示す。図7において、スケール数管理システム2は、スケール数推定装置20と、サービスチェーン実行装置40と、取得装置50と、制御装置80とを含む。なお、サービスチェーン実行装置40は、本発明のネットワーク機能提供装置の一実施形態を構成する。また、本発明の第1の実施の形態と同様に、スケール数推定装置20およびサービスチェーン実行装置40は、それぞれ、取得装置50および制御装置80と通信可能に接続されている。また、スケール数推定装置20は、機能ルール定量化部21と、サービス量算出部22と、性能モデル生成部23と、性能モデル記憶部230と、チェーンインスタンス生成部24とを有する。なお、性能モデル記憶部230は、本発明の性能モデル生成部の一実施形態を構成する。また、チェーンインスタンス生成部24は、本発明のスケール数推定部の一実施形態を構成する。サービスチェーン実行装置40は、サービスチェーン43と、ノード31と、ノードインスタンス32とを有する。ここで、スケール数管理システム2を構成する各装置およびその各機能ブロックは、本発明の第1の実施の形態と同様に、図2に示したハードウェア要素によってそれぞれ構成可能である。なお、各装置およびその各機能ブロックのハードウェア構成は、上述の構成に限定されない。
次に、各装置の機能ブロックについて説明する。
サービスチェーン実行装置40は、複数のノード31を連結して機能させるサービスチェーン43を実行する装置である。サービスチェーン43は、端末向けに各種のITサービスを提供する装置に対して、ITサービスの内容に応じた一連のネットワーク機能を連携させて提供する。例えば、端末に対するウェブサービス提供に必要となるネットワーク機能を提供するサービスチェーン43や、動画配信システム提供に必要となるサービスチェーン43等があってもよい。
サービスチェーン43は、定義情報により定義される。例えば、サービスチェーン43の定義情報は、連結させる各ノード31と、各ノード31に設定される機能ルールとを含む情報であってもよい。
また、サービスチェーン43は、サービスチェーン43の定義情報に基づいてサービスチェーン43のインスタンス(チェーンインスタンス)が生成されることにより動作するよう構成される。動作中のサービスチェーン43は、流入する入力トラフィックを、各ノード31のノードインスタンス32により順次処理することにより、一連のネットワーク機能を提供する。サービスチェーン実行装置40では、1つ以上のサービスチェーン43が稼働可能である。
取得装置50は、本発明の第1の実施の形態と同様に構成される。これにより、取得装置50は、サービスチェーン実行装置40から、サービスチェーン43を構成する各ノード31の機能ルール設定履歴と、サービス履歴とを取得する。
本実施の形態では、機能ルール設定履歴は、ノード31を識別するノードIDと、機能ルールの内容を表す情報と、その機能ルールの設定が有効となった時を表す情報(タイムスタンプ)とを含むものとする。また、サービス履歴は、ノードIDと、処理の開始時間および終了時間と、処理されたデータ量とを含むものとする。取得装置50は、このような機能ルール設定履歴およびサービス履歴を、機能ルール設定履歴記憶部501およびサービス履歴記憶部502に記憶する。
スケール数推定装置20の機能ルール定量化部21は、サービスチェーン実行装置40から取得された機能ルール設定履歴を参照し、機能ルールの数に基づいて、機能ルール定量値を算出する。例えば、機能ルール定量値は、機能ルール数そのものであってもよい。また、機能ルール定量化部21は、算出した機能ルール定量値について、ノードIDと、そのタイムスタンプとを対応付けておく。
サービス量算出部22は、サービスチェーン実行装置40から取得されたサービス履歴を参照し、各ノード31について、機能ルール定量値の有効期間毎に、サービス量を算出する。そして、サービス量算出部22は、有効期間毎に算出したサービス量を、その有効期間における機能ルール定量値と、該当するノードIDと対応付けておく。
前述のように、サービス履歴には、ノードIDと、処理の開始時間および終了時間と、処理されたデータ量とが含まれている。また、機能ルール定量化部21によって、ノードIDと、機能ルール定量値と、タイムスタンプとが対応付けられている。そこで、サービス量算出部22は、同一のノードIDのノード31について算出されている機能ルール定量値毎に、まずその有効期間を算出する。具体的には、サービス量算出部22は、あるノードIDのある機能ルール定量値について、そのタイムスタンプから、同一のノードIDの他の機能ルール定量値のタイムスタンプのうち次に新しいタイムスタンプまでを、その有効期間とすればよい。
そして、サービス量算出部22は、機能ルール定量値の有効期間毎に、該当するノードIDを含むその有効期間のサービス履歴において、データ量の平均値を、開始時間から終了時間までのサービス時間の平均値で割ってサービス量を求めてもよい。なお、有効期間のサービス履歴とは、開始時間および終了時間の双方またはいずれかが有効期間に含まれるサービス履歴であってもよい。そして、サービス量算出部22は、ノードIDと、機能ルール定量値と、サービス量とを対応付けておく。
例えば、あるノード31について、機能ルール定量値r1および機能ルール定量値r2が求められているとする。また、機能ルール定量値r1にはタイムスタンプt1が対応付けられ、機能ルール定量値r2にはタイムスタンプt2が対応付けられているとする。ただし、タイムスタンプt2はタイムスタンプt1より新しいものとする。この場合、サービス量算出部22は、機能ルール定量値r1の有効期間として、タイムスタンプt1からt2までを算出する。また、さらに、同じノード31について、タイムスタンプt2より新しいタイムスタンプが対応付けられた機能ルール定量値がないとする。この場合、サービス量算出部22は、機能ルール定量値r2の有効期間として、タイムスタンプt2から現時点を算出する。なお、ここでいう現時点とは、例えば、その有効期間を算出する処理時であってもよいし、サービス履歴が得られている最新の時点までであってもよい。
そして、この場合、サービス量算出部22は、このノード31について、タイムスタンプt1〜t2までのサービス履歴に基づいてサービス量s1を算出し、ノードIDと、機能ルール定量値r1と対応付ける。また、サービス量算出部22は、同じノード31について、タイムスタンプt2〜現時点までのサービス履歴に基づいて、サービス量s2を算出し、ノードIDと、機能ルール定量値r2と対応付ける。
性能モデル生成部23は、サービス量推定式、および、サービス量と入力トラフィック量とスケール数との関係を表す方程式を、性能モデルとして生成する。
具体的には、性能モデル生成部23は、各ノード31について機能ルール定量値の有効期間毎に得られたサービス量および機能ルール定量値の組の集合を用いて、サービス量を目的変数、機能ルール定量値を説明変数とした統計解析を行う。これにより、性能モデル生成部23は、サービス量推定式を生成する。サービス量推定式は、例えば、次式(1)で表される。
Figure 0006558374
・・・(1)
ここで、rulen1は、ノードn1の機能ルール定量値を示し、μn1は、ノードn1のサービス量を示す。このようなサービス量推定式(1)により、あるノード31の機能ルール定量値から、サービス量を推定可能となる。
また、性能モデル生成部23は、ノード31の振る舞いを表すモデルとして、複数窓口の待ち行列モデル(M/M/S)で用いられる次式(2)を採用する。
ρ=λ/Sμ
・・・(2)
ここで、λは、ノード31に到着するトラフィック量(例えば、Mbps:メガバイト毎秒)を示す。また、μは、前述のサービス量推定式(1)により推定されるノード31のサービス量を示す。また、Sは、ノード31における並列処理の数であるスケール数(ノードインスタンス32の数)を示す。また、ρは、稼働率を示し、各ノード31における処理の混雑度(0〜1)を表す。稼働率ρは、1に近くなるほど待ち時間が長いことを表す。稼働率ρには、規定値が設定されるものとする。
性能モデル生成部23は、式(1)のサービス量推定式と、式(2)の方程式とを性能モデルとして生成する。例えば、性能モデル生成部23は、式(1)と、式(2)と、稼働率ρの値と、ノードIDとを対応付けて、性能モデル記憶部230に記憶する。
チェーンインスタンス生成部24は、サービスチェーン43の定義情報と、サービスチェーン43に想定される入力トラフィック量の情報とを取得する。サービスチェーン43の定義情報には、前述のように、連結させる各ノード31と、各ノード31に設定される機能ルールの内容とが含まれる。また、想定される入力トラフィック量の情報は、例えば、そのサービスチェーン43による処理として想定される最大の入力トラフィック量であってもよい。そして、チェーンインスタンス生成部24は、サービスチェーン43の定義情報に含まれる各ノード31について、性能モデルを用いて、入力トラフィック量および機能ルール定量値に応じたスケール数を推定する。具体的には、チェーンインスタンス生成部24は、各ノード31について、定義情報から得られる機能ルール定量値と、取得した入力トラフィック量とを、その性能モデルの式(1)および(2)に適用することにより、スケール数を求めればよい。
また、チェーンインスタンス生成部24は、推定したスケール数と、サービスチェーン43の定義情報とを用いて、そのサービスチェーン43のチェーンインスタンス情報を生成する。チェーンインスタンス情報は、チェーンインスタンスを生成に必要となる情報である。例えば、チェーンインスタンス情報は、サービスチェーン43の定義情報に含まれる情報に加えて、含まれる各ノード31のスケール数を含む情報であってもよい。チェーンインスタンス生成部24は、生成したチェーンインスタンス情報を、制御装置80に出力する。
制御装置80は、チェーンインスタンス情報に基づいて、サービスチェーン43のインスタンスを生成する。具体的には、制御装置80は、チェーンインスタンス情報に含まれる各ノード31について、設定されたスケール数のノードインスタンス32を、その機能ルールにしたがって、サービスチェーン実行装置40上に生成すればよい。もし、チェーンインスタンス情報の示すチェーンインスタンスが既にサービスチェーン実行装置40上で稼働中の場合、制御装置80は、各ノード31のスケール数を、チェーンインスタンス情報に含まれるスケール数に調整すればよい。
以上のように構成されたスケール数管理システム2の動作について、図面を参照して説明する。
なお、取得装置50がサービスチェーン実行装置40から機能ルール設定履歴およびサービス履歴を取得する動作は、図3を参照して説明した本発明の第1の実施の形態の履歴取得動作と同様である。ただし、前述のように、本実施の形態では、機能ルール設定履歴として、ノードIDと、機能ルールの設定内容と、タイムスタンプとを含む情報が取得される。また、サービス履歴として、ノードIDと、処理の開始時間および終了時間と、データ量とを含む情報が取得される。
次に、スケール数推定装置20によるサービスモデル生成動作を図8に示す。
図8では、まず、機能ルール定量化部21は、本発明の第1の実施の形態と同様にステップB1を実行し、機能ルール設定履歴およびサービス履歴を読み出す。
次に、機能ルール定量化部21は、機能ルール設定履歴に記録されているノード31毎に、以下のステップB12〜B14を繰り返す。
ここでは、まず、機能ルール定量化部21は、このノード31に関する機能ルール設定履歴に含まれる各設定情報の機能ルール数をカウントし、機能ルール定量値とする。そして、機能ルール定量化部21は、このノード31のノードIDと、算出した機能ルール定量値と、該当する設定情報に含まれるタイムスタンプとを対応付ける(ステップB12)。
次に、サービス量算出部22は、ステップB12で求められたこのノード31の機能ルール定量値毎に、以下のステップB13〜B14を繰り返す。
ここでは、まず、サービス量算出部22は、この機能ルール定量値の有効期間を算出する(ステップB13)。
前述のように、サービス量算出部22は、この機能ルール定量値に対応する設定情報のタイムスタンプから、このノード31について次に新しい設定情報のタイムスタンプまでを、有効期間として算出すればよい。
次に、サービス量算出部22は、算出した有効期間のサービス履歴において、各処理のデータ量の平均値をサービス時間の平均値で割った値を、サービス量として算出する。そして、サービス量算出部22は、この機能ルール定量値と、算出したサービス量と、このノードIDとを対応付ける(ステップB14)。
このノード31について算出した各機能ルール定量値についてステップB13〜B14の処理が終了すると、次に、性能モデル生成部23は、このノード31について性能モデルを生成する。
具体的には、まず、性能モデル生成部23は、得られた機能ルール定量値およびサービス量の組の集合を用いて、サービス量推定式(1)を生成する(ステップB15)。
前述のように、性能モデル生成部23は、サービス量を目的変数、ルール量を説明変数とした統計解析を行うことにより、前述のサービス量推定式(1)におけるAおよびBを決定すればよい。
次に、性能モデル生成部23は、ステップB15で生成したサービス量推定式(1)と、複数窓口の待ち行列モデル(M/M/S)で用いられる方程式(2)とを含む性能モデルを生成する(ステップB16)。
具体的には、性能モデル生成部23は、サービス量推定式(1)と、複数窓口の待ち行列モデル(M/M/S)で用いられる方程式(2)と、稼働率ρの規定値とを、このノード31のノードIDに対応付けて、性能モデル記憶部230に記憶すればよい。
以上で、スケール数管理システム2は、性能モデル生成動作を終了する。
次に、スケール数管理システム2のチェーンインスタンス情報生成動作を図9に示す。
図9では、まず、チェーンインスタンス生成部24は、サービスチェーン43の定義情報、および、サービスチェーン43に流入が想定される入力トラフィック量を取得する(ステップC11)。例えば、チェーンインスタンス生成部24は、そのような定義情報および入力トラフィック量を、入力装置(図示せず)、ネットワークインタフェース1005、または、記憶装置1004等から取得してもよい。
前述のように、サービスチェーン43の定義情報には、各サービスチェーン43において連結させるノード31のノードIDおよび各ノード31に設定される機能ルールが含まれる。また、想定される入力トラフィック量としては、各サービスチェーン43が処理することが想定される最大の入力トラフィック量が取得されてもよい。
次に、チェーンインスタンス生成部24は、サービスチェーン43の定義情報を元に、その構成要素である各ノード31について、以下のステップC12〜C15の動作を繰り返す。
ここでは、まず、チェーンインスタンス生成部24は、このノード31の性能モデルを、性能モデル記憶部230より取り出す(ステップC12)。
次に、チェーンインスタンス生成部24は、サービスチェーン定義情報に含まれるこのノード31の機能ルールから、機能ルール定量化部21を用いて機能ルール定量値を算出する(ステップC13)。
次に、チェーンインスタンス生成部24は、このノード31の性能モデルのサービス量推定式(1)に、ステップC13で算出した機能ルール定量値を代入する。これにより、チェーンインスタンス生成部24は、サービス量を算出する(ステップC14)。
次に、チェーンインスタンス生成部24は、このノード31の性能モデルに含まれる方程式(2)に、ステップC14で算出したサービス量と、ステップC11で取得した入力トラフィック量とを代入する。これにより、チェーンインスタンス生成部24は、稼働率ρを満たすことのできるスケール数を算出する(ステップC15)。
このサービスチェーン43を構成する各ノード31について、ステップC12〜C15の処理を終了すると、チェーンインスタンス生成部24は、チェーンインスタンス情報を生成し、制御装置80に出力する(ステップC16)。
前述のように、チェーンインスタンス情報は、サービスチェーン43のインスタンスを生成するための情報を表す。チェーンインスタンス生成部24は、このサービスチェーン43の定義情報と、各ノード31について推定したスケール数とに基づいて、チェーンインスタンス情報を生成すればよい。
以上で、スケール数推定装置20は、チェーンインスタンス生成動作を終了する。
次に、制御装置80のスケール数制御動作を図10に示す。
図10では、まず、制御装置80は、スケール数推定装置20からチェーンインスタンス情報を取得する(ステップD11)。
次に、制御装置80は、取得したチェーンインスタンス情報に含まれる各チェーンインスタンスについて、以下のステップD12〜D14を繰り返す。
ここでは、まず、制御装置80は、該当するチェーンインスタンスがまだ作成されていない場合(ステップD12でNo)、サービスチェーン実行装置40上に、このチェーンインスタンスを生成する。具体的には、制御装置80は、チェーンインスタンスを構成する各ノード31のノードインスタンス32を、スケール数だけ生成する(ステップD13)。
一方、該当するチェーンインスタンスが既に動作している場合(ステップD12でYes)、制御装置80は、そのチェーンインスタンスに含まれる各ノード31について、ノードインスタンス32の数がスケール数となるよう変更する(ステップD14)。
以上で、スケール数管理システム2は、スケール数制御動作を終了する。
次に、スケール数管理システム2の動作を具体例で示す。この具体例では、サービスチェーン実行装置40では、既にいくつかのサービスチェーン43が稼働しているものとする。また、各ノード31を識別するノードIDを「nodeX」などと表し、ノードIDがnodeXのノード31を、単に「nodeX」とも記載する。
<機能ルール設定履歴およびサービス履歴の取得動作>
まず、取得装置50は、サービスチェーン実行装置40から、サービスチェーン43における各ノード31について機能ルール設定履歴を取得し、機能ルール設定履歴記憶部501に記憶する(ステップA1)。取得された機能ルール設定履歴は、ノードIDと、機能ルールの設定内容と、タイムスタンプとを含む。ここでは、図11に示す機能ルール設定履歴が取得されたものとする。図11では、例えばnodePの場合、タイムスタンプ「2014/03/09: 09:00:00.000」に、SSH(Secure SHell)関連で2つ、DNS(Domain Name System)関連で4つの合計6つの機能ルールが設定されている。なお、図11に示す機能ルール設定履歴は、各設定情報に、ノード31の機能のタイプを示す情報を含んでいるが、本実施の形態における機能ルール設定履歴は、少なくともノードIDと、機能ルールの設定内容と、タイムスタンプとを含んでいればよい。
次に、取得装置50は、サービスチェーン実行装置40から、サービスチェーン43における各ノード31のサービス履歴を取得し、サービス履歴記憶部502に記憶する(ステップA2)。取得されたサービス履歴は、ノードIDと、処理の開始時間および終了時間と、処理したデータ量とを含む。ここでは、図12に示すサービス履歴が取得されたものとする。なお、図12に示すサービス履歴は、各処理の履歴に、ノード31の機能のタイプを示す情報を含んでいるが、本実施の形態におけるサービス履歴は、少なくともノードIDと、処理の開始時間および終了時間と、データ量とを含んでいればよい。
このようにして、取得装置50は、ステップA1〜A2の処理をある期間繰り返し、機能ルール設定履歴およびサービス履歴を蓄積する。
<性能モデル生成動作>
次に、性能モデル生成部23は、機能ルール設定履歴記憶部501に記憶されている図11の情報から、各ノード31の設定情報毎に、機能ルールの数をカウントして機能ルール定量値とする。そして、ノードIDと、機能ルール定量値と、タイムスタンプとを対応付ける(ステップB12)。これにより、図13に示す機能ルール定量値情報が生成される。なお、図13に示す機能ルール定量値情報は、ノード31の機能のタイプを示す情報を含んでいるが、本実施の形態における機能ルール定量値情報は、少なくともノードIDと、機能ルール定量値と、タイムスタンプとを含んでいればよい。
次に、サービス量算出部22は、機能ルール定量値情報に基づいて、機能ルール定量値それぞれについて、その機能ルールが発効されてから更新されるまでの有効期間を求める(ステップB13)。そして、サービス量算出部22は、機能ルール定量値の有効期間毎にそのノード31のサービス量を求める(ステップB14)。
例えば、図13の機能ルール定量値情報では、nodeXの場合、タイムスタンプt1「2014/03/09: 08:00:00.000」に6つの機能ルールが設定されたあと、タイムスタンプt2「2014/03/10: 15:00:00.000」に8つの機能ルールに更新されている。そこで、nodeXの機能ルール定量値(ルール数6)については、t1〜t2までの期間が有効期間となる。
そして、サービス量算出部22は、t1〜t2までの期間におけるnodeXのサービス履歴を、図12のサービス履歴から得る。そして、各履歴の開始時間および終了時間の差(サービス時間)の平均値で、データ量の平均値を割ることにより、処理能力を示すサービス量μを算出する。例えば、データ量の単位がMb(メガバイト)であり、サービス時間の単位がs(秒)である場合、サービス量の単位は、「Mbps(メガバイト毎秒)」となる。
サービス量算出部22は、このような処理を、各ノード31の各設定情報について繰り返すことにより、各ノード31について、機能ルール定量値およびサービス量の値の組の集合を生成する。
次に、性能モデル生成部23は、各ノード31について、サービス量を目的変数、ルール量を説明変数とした統計解析を行うことにより、式(1)に示したサービス量推定式における定数AおよびBを求める。例えば、nodeXについて、
μ=59.1/rule+20.5”・・・(1’)
で表されるサービス量推定式が求められたとする。このサービス量推定式(1’)は、機能ルール定量値(ルール数)が増えるほど、サービス量が減少することを表す(ステップB15)。
そして、性能モデル生成部23は、各ノード31について、求めたサービス量推定式(1)と、複数窓口の待ち行列モデルで用いられる方程式(2)と、稼働率ρ(ここでは0.7)とを、性能モデルとして性能モデル記憶部230に記憶する(ステップB16)。ここでは、例えば、性能モデル記憶部230には、図14に示す性能モデルが記憶されたものとする。なお、図14に示す性能モデルは、ノード31の機能のタイプを示す情報を含んでいるが、本実施の形態の性能モデルは、少なくともノードID、サービス量推定式、サービス量と入力トラフィック量とスケール数との関係を表す方程式、および稼働率の値を含んでいればよい。
<チェーンインスタンス生成動作>
次に、チェーンインスタンス生成部24は、サービスチェーン実行装置40上に生成するサービスチェーン43に関する定義情報として、図15に示すサービスチェーン定義情報を取得する。図15では、chain1というIDで識別されるサービスチェーン43は、FWとして機能するnode1、NATとして機能するnode3、および、LBとして機能するnode7を連結して機能させるものである。また、chain2というIDで識別されるサービスチェーン43は、FWとして機能するnode2、DPI(Deep Packet Inspection)として機能するnode6を連結して機能させるものである。図15に示すように、サービスチェーン定義情報は、サービスチェーン43を構成するノードIDと、各ノード31の機能ルールの設定内容とを含む。
また、チェーンインスタンス生成部24は、図15に示したサービスチェーン定義情報に含まれる各サービスチェーン43について、想定される最大の入力トラフィック量の情報を取得する。例えば、取得される情報は、図16に示す通りとなる(ステップC11)。
次に、チェーンインスタンス生成部24は、定義情報に含まれる各サービスチェーン43について、その構成要素である各ノード31の性能モデルを、性能モデル記憶部230に記憶された図14に示す情報より取り出す(ステップC12)。
次に、チェーンインスタンス生成部24は、各サービスチェーン43の構成要素である各ノード31について、定義情報で設定されている機能ルールを、機能ルール定量化部21を用いて定量化する。例えば、図15のサービスチェーン定義情報において、node1には、2つの機能ルールが設定されている。このため、node1の機能ルール定量値は「2」となる(ステップC13)。
次に、チェーンインスタンス生成部24は、定義情報より求めたノード31の機能ルール定量値を、そのノード31の性能モデルに含まれるサービス量推定式(1)に代入する。例えば、図14では、node1の性能モデルは、サービス量推定式(1’)「μ=59.1/rule+20.5」を含む。そこで、チェーンインスタンス生成部24は、式(1’)に、機能ルール定量値「rule=2」を代入することにより、サービス量を「μ=50.05」と推定する(ステップC14)。
次に、チェーンインスタンス生成部24は、図16に示した入力トラフィック量の情報を参照し、node1を含むチェーンインスタンス「chain1」に想定される入力トラフィック量の値「λ=68(Mbps)」を求める。そして、チェーンインスタンス生成部24は、方程式(2)ρ=λ/Sμに、「λ=68(Mbps)」と、サービス量推定式(1’)により求めた「μ=50.05」とを代入する。これにより、チェーンインスタンス生成部24は、稼働率0.7を満たすことのできるスケール数「2」を算出する(ステップC15)。
このように、チェーンインスタンス生成部24は、ステップC12〜C15の処理を各ノード31について実行する。
そして、チェーンインスタンス生成部24は、推定した各ノード31のスケール数と、図15のサービスチェーン定義情報とを用いて、図17に示すようなチェーンインスタンス情報を生成する(ステップC16)。なお、図17に示すチェーンインスタンス情報は、各ノード31の機能ルール定量値を含んでいるが、必ずしも含む必要はない。本実施の形態のチェーンインスタンス情報は、サービスチェーンの定義情報に加えて、各チェーンインスタンスを構成する各ノード31のスケール数を少なくとも含んでいればよい。
<スケール数制御動作>
次に、制御装置80は、図17のチェーンインスタンス情報を読み込み(ステップD11)、サービスチェーン実行装置40上に、チェーンインスタンスを作成する。具体的には、制御装置80は、各サービスチェーン43の各ノード31について、指定されたスケール数のノードインスタンス32を生成して稼働させる。または、制御装置80は、既に稼働中のサービスチェーン43については、各ノード31のノードインスタンス32の数を、チェーンインスタンス情報に含まれるスケール数となるよう調整する(ステップD12〜D14)。
以上で、スケール数管理システム2の具体的な動作の説明を終了する。
次に、本発明の第2の実施の形態の効果について述べる。
本発明の第2の実施の形態としてのスケール数管理システムは、サービスチェーン実行装置のノードにおけるインスタンスの処理性能をより精度よく推定し、入力トラフィックを処理可能なスケール数をより精度よく制御することができる。
その理由について説明する。本実施の形態では、取得装置が、サービスチェーンの各ノードの機能ルール設定履歴およびサービス履歴を取得する。そして、スケール数推定装置の機能ルール定量化部が、サービスチェーンを構成する各ノードの機能ルール数に基づき機能ルール定量値を算出する。また、サービス量算出部が、各ノードにおいて処理されたデータ量の平均値をサービス時間の平均値で割ることにより、ノードインスタンスの単位時間あたりのサービス量を算出する。そして、性能モデル生成部が、機能ルール定量値およびサービス量の組の集合を統計解析することにより、機能ルール定量値からスケール数を推定するスケール数推定式を生成する。そして、性能モデル生成部が、スケール数推定式、および、サービス量と入力トラフィック量とスケール数との関係を表す方程式を含む性能モデルを生成する。そして、スケール数推定部が、性能モデルを用いて、サービスチェーンに流入が想定される入力トラフィック量および想定される機能ルールに応じたスケール数を推定する。そして、制御装置が、推定されたスケール数に基づいたノードインスタンス数となるようサービスチェーンを生成するからである。
これにより、本実施の形態は、サービスチェーンの各ノードに設定される機能ルールの内容またはその変更に応じて、ノードインスタンスの処理性能の推定精度を向上できる。その結果、本実施の形態は、サービスチェーンに流入が想定される入力トラフィックを必要最小限のリソースで処理可能なスケール数をより精度よく見積もることができる。
なお、本発明の第2の実施の形態において、機能ルール定量化部が、機能ルール数に基づいて機能ルール定量値を算出する例を中心に説明した。この他、機能ルール定量化部は、機能ルール定量値として、機能ルールの設定内容を定量化して表現可能な情報や、そのような情報の組合せに基づく値を算出してもよい。
また、本発明の第2の実施の形態において、サービス量算出部は、各ノードにおけるノードインスタンスのサービス時間の平均値およびデータ量の平均値からサービス量を算出する例を中心に説明した。この他、サービス量は、各ノードのサービス履歴を用いたその他の算出方法により、各ノードについてノードインスタンスの単位時間あたりのサービス量を求めてもよい。
また、本発明の第2の実施の形態において、性能モデルが、サービス量推定式および待ち行列モデルで用いられる方程式からなる例を中心に説明した。この他、性能モデルは、機能ルール定量値および入力トラフィック量からスケール数を推定可能なモデルであれば、その他のモデルであってもよい。
また、上述した本発明の各実施の形態において、スケール数管理システムを構成する各装置の各機能ブロックが、記憶装置またはROMに記憶されたコンピュータ・プログラムを実行するCPUによって実現される例を中心に説明した。この他、各装置の各機能ブロックの一部、全部、または、それらの組み合わせが専用のハードウェアにより実現されていてもよい。
また、上述した本発明の各実施の形態において、スケール数管理システムを構成する各装置の機能ブロックは、複数の装置に分散されて実現されてもよい。また、前述したように、各装置の一部または全部は、同一の装置上に実現されていてもよい。
また、上述した本発明の各実施の形態において、各フローチャートを参照して説明した各装置の動作を、本発明のコンピュータ・プログラムとしてコンピュータの記憶装置(記憶媒体)に格納しておいてもよい。そして、係るコンピュータ・プログラムを当該CPUが読み出して実行するようにしてもよい。そして、このような場合において、本発明は、係るコンピュータ・プログラムのコードあるいは記憶媒体によって構成される。
また、上述した各実施の形態は、適宜組み合わせて実施されることが可能である。
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
この出願は、2014年9月9日に出願された日本出願特願2014−182814を基礎とする優先権を主張し、その開示の全てをここに取り込む。
1、2 スケール数管理システム
10、20 スケール数推定装置
30 ネットワーク機能提供装置
40 サービスチェーン実行装置
50 取得装置
70、80 制御装置
11、21 機能ルール定量化部
12、22 サービス量算出部
13、23 性能モデル生成部
14 スケール数推定部
24 チェーンインスタンス生成部
31 ノード
32 ノードインスタンス
43 サービスチェーン
130、230 性能モデル記憶部
501 機能ルール設定履歴記憶部
502 サービス履歴記憶部
100、300、500、700 コンピュータ装置
1001、3001、5001、7001 CPU
1002、3002、5002、7002 RAM
1003、3003、5003、7003 ROM
1004、3004、5004、7004 記憶装置
1005、3005、5005、7005 ネットワークインタフェース

Claims (10)

  1. ネットワーク機能を提供するノードに設定された機能ルールの設定履歴に基づいて、機能ルールを定量化した機能ルール定量値を算出する機能ルール定量化手段と、
    前記ノードのサービス履歴に基づいて、前記ノードにおいて稼働するノードインスタンスの単位時間あたりのサービス量を算出するサービス量算出手段と、
    前記ノードについて得られた前記機能ルール定量値および前記サービス量の組に基づいて、前記ノードに対する入力トラフィック量と、前記機能ルール定量値と、前記ノードインスタンスの数(スケール数)との関係を表す性能モデルを生成する性能モデル生成手段と、
    前記性能モデルを用いて、想定される前記入力トラフィック量および前記機能ルール定量値に応じた前記スケール数を推定するスケール数推定手段と、
    を備えたスケール数推定装置。
  2. 前記性能モデル生成手段は、前記ノードについて得られた前記機能ルール定量値および前記サービス量の組に基づいて、前記機能ルール定量値から前記サービス量を算出するサービス量推定式を推定し、推定したサービス量推定式を含む前記性能モデルを生成することを特徴とする請求項1に記載のスケール数推定装置。
  3. 前記性能モデル生成手段は、前記サービス量推定式によって推定されるサービス量と、前記入力トラフィック量と、前記スケール数との関係を表す方程式を、前記性能モデルに含めることを特徴とする請求項2に記載のスケール数推定装置。
  4. 前記サービス量算出手段は、前記機能ルール定量値の有効期間毎に前記サービス量を算出することを特徴とする請求項1から請求項3のいずれか1項に記載のスケール数推定装置。
  5. 前記機能ルール定量化手段は、前記ノードに設定された機能ルールの数に基づいて、前記機能ルール定量値を算出することを特徴とする請求項1から請求項4のいずれか1項に記載のスケール数推定装置。
  6. ネットワーク機能を提供するノードからなるネットワーク機能提供装置と、
    前記ネットワーク機能提供装置から、前記ノードに設定される機能ルールの設定履歴(機能ルール設定履歴)と、前記ノードのサービス履歴とを取得する取得装置と、
    前記取得装置によって取得された前記機能ルール設定履歴および前記サービス履歴を用いて、前記ネットワーク機能提供装置におけるノードのスケール数を推定する請求項1から請求項5のいずれか1項に記載のスケール数推定装置と、
    前記スケール数推定装置によって推定されたスケール数に基づいて、前記ネットワーク機能提供装置におけるノードのスケール数を制御する制御装置と、
    を備えたスケール数管理システム。
  7. 前記ネットワーク機能提供装置が、複数の前記ノードを連結して機能させるサービスチェーンを実行するサービスチェーン実行装置によって構成されるとき、
    前記スケール数推定装置のスケール数推定手段は、前記サービスチェーンに流入が想定される入力トラフィック量に応じて、前記サービスチェーンに含まれるノードのスケール数を推定し、
    前記制御装置は、前記スケール数推定装置によって推定されたスケール数に基づいて、前記サービスチェーンにおけるノードのスケール数を制御することを特徴とする請求項6に記載のスケール数管理システム。
  8. ネットワーク機能を提供するノードに設定された機能ルールの設定履歴に基づいて、機能ルールを定量化した機能ルール定量値を算出し、
    前記ノードのサービス履歴に基づいて、前記ノードにおいて稼働するノードインスタンスの単位時間あたりのサービス量を算出し、
    前記ノードについて得られた前記機能ルール定量値および前記サービス量の組に基づいて、前記ノードに対する入力トラフィック量と、前記機能ルール定量値と、前記ノードインスタンスの数(スケール数)との関係を表す性能モデルを生成し、
    前記性能モデルを用いて、想定される前記入力トラフィック量および前記機能ルール定量値に応じた前記スケール数を推定するスケール数推定方法。
  9. ネットワーク機能を提供するノードからなるネットワーク機能提供装置における前記ノードにおいて設定される機能ルールの設定履歴(機能ルール設定履歴)を取得し、
    前記ネットワーク機能提供装置におけるノードのサービス履歴を取得し、
    取得した前記機能ルール設定履歴およびサービス履歴に基づいて、請求項8に記載のスケール数推定方法を用いて、前記ネットワーク機能提供装置におけるノードのスケール数を推定し、
    推定したスケール数に基づいて、前記ネットワーク機能提供装置におけるノードのスケール数を制御するスケール数管理方法。
  10. ネットワーク機能を提供するノードに設定された機能ルールの設定履歴に基づいて、機能ルールを定量化した機能ルール定量値を算出する機能ルール定量化ステップと、
    前記ノードのサービス履歴に基づいて、前記ノードにおいて稼働するノードインスタンスの単位時間あたりのサービス量を算出するサービス量算出ステップと、
    前記ノードについて得られた前記機能ルール定量値および前記サービス量の組に基づいて、前記ノードに対する入力トラフィック量と、前記機能ルール定量値と、前記ノードインスタンスの数(スケール数)との関係を表す性能モデルを生成する性能モデル生成ステップと、
    前記性能モデルを用いて、想定される前記入力トラフィック量および前記機能ルール定量値に応じた前記スケール数を推定するスケール数推定ステップと、
    をコンピュータ装置に実行させるコンピュータ・プログラ
JP2016547690A 2014-09-09 2015-09-03 スケール数推定装置、スケール数管理システム、スケール数推定方法、スケール数管理方法、および、コンピュータ・プログラム Active JP6558374B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2014182814 2014-09-09
JP2014182814 2014-09-09
PCT/JP2015/004477 WO2016038857A1 (ja) 2014-09-09 2015-09-03 スケール数推定装置、スケール数管理システム、スケール数推定方法、スケール数管理方法、および、記憶媒体

Publications (2)

Publication Number Publication Date
JPWO2016038857A1 JPWO2016038857A1 (ja) 2017-06-22
JP6558374B2 true JP6558374B2 (ja) 2019-08-14

Family

ID=55458629

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016547690A Active JP6558374B2 (ja) 2014-09-09 2015-09-03 スケール数推定装置、スケール数管理システム、スケール数推定方法、スケール数管理方法、および、コンピュータ・プログラム

Country Status (3)

Country Link
US (1) US20170264500A1 (ja)
JP (1) JP6558374B2 (ja)
WO (1) WO2016038857A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2824681T3 (es) * 2015-09-30 2021-05-13 Huawei Tech Co Ltd Método, dispositivo y sistema de ampliación
WO2017213065A1 (ja) * 2016-06-09 2017-12-14 日本電気株式会社 サービス管理システム、サービス管理方法、および、記録媒体
WO2018173481A1 (ja) * 2017-03-24 2018-09-27 日本電気株式会社 サービス構成設計装置、およびサービス構成設計方法
CN113678109A (zh) * 2019-04-24 2021-11-19 三菱电机株式会社 信息处理系统
US11219032B2 (en) * 2019-05-28 2022-01-04 Samsung Electronics Co., Ltd. Method and apparatus for performing function of radio access network
EP3745761A1 (en) * 2019-05-28 2020-12-02 Samsung Electronics Co., Ltd. Virtualization of ran functions based on load of the base stations
EP4243374A4 (en) * 2020-12-04 2024-04-10 Samsung Electronics Co., Ltd. METHOD AND APPARATUS FOR PERFORMING A RADIO ACCESS NETWORK FUNCTION
WO2024028974A1 (ja) * 2022-08-02 2024-02-08 日本電信電話株式会社 性能推定モデル生成装置、性能推定装置、プログラムおよび性能推定モデル生成方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5670290B2 (ja) * 2011-11-10 2015-02-18 テレコム・イタリア・エッセ・ピー・アー 通信サービスのためのプロセスの実行のためのリソースを管理する方法、システム及びコンピュータ・プログラム
JP5672504B2 (ja) * 2012-02-28 2015-02-18 日本電信電話株式会社 振分先を切り替える並列パケット処理方法および装置

Also Published As

Publication number Publication date
WO2016038857A1 (ja) 2016-03-17
JPWO2016038857A1 (ja) 2017-06-22
US20170264500A1 (en) 2017-09-14

Similar Documents

Publication Publication Date Title
JP6558374B2 (ja) スケール数推定装置、スケール数管理システム、スケール数推定方法、スケール数管理方法、および、コンピュータ・プログラム
JP6493400B2 (ja) サービスチェーン管理装置、サービスチェーン管理システム、サービスチェーン管理方法、及び、プログラム
US9967188B2 (en) Network traffic flow management using machine learning
JP2018198068A (ja) 分散型クラウドにおける作業負荷移動に基づくプロファイルベースのsla保証
CN108429701A (zh) 网络加速系统
JP7006607B2 (ja) 分散処理システム、分散処理方法、及び記録媒体
JPWO2015079612A1 (ja) 仮想ミドルボックス管理システム、仮想ミドルボックス管理方法および仮想ミドルボックス管理用プログラム
JP5445739B2 (ja) リソース割当装置、リソース割当方法、及びプログラム
JP6279436B2 (ja) 仮想ネットワーク割当方法および装置
CN109194545B (zh) 一种网络试验平台流量生成系统、方法、装置及电子设备
Zinner et al. A discrete-time model for optimizing the processing time of virtualized network functions
JP2016127393A (ja) 情報処理装置、方法およびプログラム
CN110609744B (zh) 处理计算任务的方法、设备和计算机程序产品
JP2018032245A (ja) 計算機システム及びリソース制御方法
JP2019149043A (ja) 見積り装置および見積り方法
CN108718259B (zh) 一种报文处理方法及多核处理器
JP6717092B2 (ja) 制御装置および制御装置における処理方法
JPWO2018173481A1 (ja) サービス構成設計装置、およびサービス構成設計方法
JP6554011B2 (ja) タイムアウト時間設定装置とタイムアウト時間設定方法
WO2012117471A1 (ja) 仮想サーバシステム、管理サーバ装置及びシステム管理方法
US20180150375A1 (en) Service management system, service management method, and recording medium
JP6070717B2 (ja) 分散データ処理システム、及び、分散データ処理方法
JP6178740B2 (ja) トラヒックフロー割当方法および装置
Munir et al. Planning data transfers in grids: a multi‐service queueing approach
JP5377775B1 (ja) システム管理装置、ネットワークシステム、システム管理方法およびプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170221

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180809

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190701

R150 Certificate of patent or registration of utility model

Ref document number: 6558374

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150