JPWO2012101890A1 - ネットワークシステム、制御装置、及び最適経路制御方法 - Google Patents

ネットワークシステム、制御装置、及び最適経路制御方法 Download PDF

Info

Publication number
JPWO2012101890A1
JPWO2012101890A1 JP2012554623A JP2012554623A JPWO2012101890A1 JP WO2012101890 A1 JPWO2012101890 A1 JP WO2012101890A1 JP 2012554623 A JP2012554623 A JP 2012554623A JP 2012554623 A JP2012554623 A JP 2012554623A JP WO2012101890 A1 JPWO2012101890 A1 JP WO2012101890A1
Authority
JP
Japan
Prior art keywords
server
network
optimum
route
server device
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
JP2012554623A
Other languages
English (en)
Other versions
JP5598688B2 (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
Priority to JP2012554623A priority Critical patent/JP5598688B2/ja
Publication of JPWO2012101890A1 publication Critical patent/JPWO2012101890A1/ja
Application granted granted Critical
Publication of JP5598688B2 publication Critical patent/JP5598688B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/127Shortest path evaluation based on intermediate node capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/30Routing of multiclass traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/42Centralised routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • H04L49/355Application aware switches, e.g. for HTTP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/101Server selection for load balancing based on network conditions

Abstract

集中管理型ネットワークシステムにおいて、柔軟なネットワーク制御を行い、ネットワークの運用性、効率性の向上を図る。具体的には、通信経路を集中管理するネットワークシステムにおいて、ネットワーク機器の負荷状況、サーバ機器の負荷状況、アプリケーションの負荷状況も踏まえた上で最適経路を選択する。このとき、ネットワーク、サーバ等、システムを構成する全ての機器を集中管理する制御装置が、最適経路を計算し、通信経路をネットワーク機器に設定する。また、ネットワークの輻輳状況、サーバやアプリケーションの負荷状況を判断し、最適な経路を決定する。更に、現状だけでなく、過去の輻輳状況、負荷状況から未来に起こり得る事象を判断し、最適経路を決定する。

Description

本発明は、ネットワークシステムに関し、特に集中管理型ネットワークにおける最適経路制御方法に関する。
従来のネットワーク機器の経路制御においては、以下の(1)乃至(3)のような課題があった。
(1)従来のネットワーク機器(NW機器)を用いたシステムでは、各ネットワーク機器が自律的に経路を決定する。そのためネットワーク全体として最適な経路を選択できない場合がある。従来のネットワーク機器は、経路選択(ルーティング)プロトコルを用いて個別(自律的)に最適経路を選択する。標準のルーティングプロトコルの例として、RIP(Routing Information Protocol)、OSPF(Open Shortest Path First)等のホップ数やリンクコストベースに経路を決定するルーティングプロトコルが知られている。このような標準のルーティングプロトコルでは、ネットワークの負荷状況に応じた経路選択を行うことができない。例えば、ネットワークに輻輳が発生した場合は、QoS機能により、優先度の低いパケットは廃棄されてしまう。仮に他の経路に空きがあり、迂回すれば救われるケースにおいても、従来技術では回避することが困難である。
(2)従来のネットワークシステムでは、上記(1)で説明した手法で経路を選択するため、サーバ等の負荷状況も加味した上で最適経路の選択ができない。従来技術では、サーバの負荷状況を負荷分散装置(ロードバランサ)が定期的にチェックし、負荷分散装置が負荷の低いサーバを選択する方法でシステムを最適化している。このようにネットワークレイヤとアプリケーションレイヤがそれぞれ独立に最適化しているため、システム全体で最適化することが困難である。また、負荷分散装置を使用するシステムにおいては、全ての通信が負荷分散装置宛となり、この制約がシステム全体を最適化できない要因となる。
(3)従来のベストエフォート型ネットワークシステムでは、経路選択を行う際、負荷状況を加味した経路選択ができない。特定の通信を保証するためには、経路全ての通信装置に帯域確保する設定が必要であり、可用性、拡張性、運用性が低下する。
関連する技術として、特許文献1(特開2000−250878号公報)に負荷分散システムが開示されている。この関連技術では、クライアントから通信経路変換装置にサーバ決定を依頼し、サーバを検索してレスポンス時間に差がなければ、CPU(Central Processing Unit)使用率に基づいて、最も負荷の少ないサーバと経路を決定する。
また、特許文献2(特開平06−120943号公報)に最適迂回経路選択方式が開示されている。この関連技術では、複数の交換局のCPU使用率が測定され、予め設定した境界値と比較して該使用率が超過している交換局が記憶され、該交換局を中継局としない最適迂回経路を決定する。
特開2000−250878号公報 特開平06−120943号公報
"OpenFlow Switch Specification, Version 1.0.0",[online],December 31,2009,インターネット(URL:http://www.openflowswitch.org/documents/openflow−spec−v1.0.0.pdf)
本発明では、以下の(1)乃至(3)のようにすることで、従来の課題の解決を図る。
(1)ネットワーク、システムを構成する全ての機器を集中管理する制御装置が最適経路を計算し、通信経路をネットワーク機器に設定する。
(2)ネットワークの輻輳状況、サーバやアプリケーションの負荷状況を判断し、最適な経路を決定する。
(3)現状だけでなく、過去の輻輳状況、負荷状況から未来に起こり得る事象を判断し、最適経路を決定する。
本発明に係るネットワークシステムは、ネットワーク機器と、該ネットワーク機器からパケットの問い合わせを受けた際、該パケットをフローとして一律に制御するためのルールと動作とが定義されたエントリを、該ネットワーク機器のフローテーブルに設定する制御装置と、同一グループのサーバ群を形成し、該サーバ群に割り当てられた仮想アドレスを共有するサーバ機器とを含む。該制御装置は、該ネットワーク機器及び該サーバ機器の各々からパフォーマンスデータを収集し蓄積するデータ収集部と、該サーバ群を形成するサーバ機器の中から、該サーバ機器のパフォーマンスデータを基に、最適なサーバ機器を選択するサーバ選択部と、該ネットワーク機器のパフォーマンスデータを基に、該最適なサーバ機器に到達するための最適経路を決定する経路計算部と、該最適経路上のネットワーク機器に、該最適経路上の次段のノードに該仮想アドレス宛のパケットを転送する旨のエントリを登録するフロー制御部とを具備する。
本発明に係る最適経路制御方法は、制御装置として使用される計算機により実施される。該最適経路制御方法では、制御装置において、管理対象となるネットワーク機器と通信する。また、同一グループのサーバ群を形成し該サーバ群に割り当てられた仮想アドレスを共有するサーバ機器と通信する。また、該ネットワーク機器及び該サーバ機器の各々からパフォーマンスデータを収集し蓄積する。また、該サーバ群を形成するサーバ機器の中から、該サーバ機器のパフォーマンスデータを基に、最適なサーバ機器を選択する。また、該ネットワーク機器のパフォーマンスデータを基に、該最適なサーバ機器に到達するための最適経路を決定する。また、該最適経路上のネットワーク機器に、該パケットをフローとして一律に制御するためのルールと該最適経路上の次段のノードに該仮想アドレス宛のパケットを転送する旨の動作とが定義されたエントリを登録する。
本発明に係るプログラムは、上記の最適経路制御方法における処理を、計算機に実行させるためのプログラムである。なお、本発明に係るプログラムは、記憶装置や記憶媒体に格納することが可能である。
これにより、ネットワーク機器、サーバ機器を含めたアプリケーションレベル、サービスレベルで最適な経路を選択することが可能となる。また、過去のデータからの予測により、未来に起こり得る問題回避を考慮した経路を選択できる。結果として、各レイヤで個別最適するのではなく、システム全体として最適化された経路制御が可能となる。
本発明に係るネットワークシステムの構成例を示す図である。 本発明に係るネットワークシステムの実施例を説明するための図である。 NW機器テーブルの例を説明するための図である。 サーバ機器テーブルの例を説明するための図である。 最適経路制御処理における動作の第1の例を説明するためのフローチャートである。 最適経路制御処理における動作の第2の例を説明するためのフローチャートである。
<前提>
本発明に係るネットワークシステムでは、外部のコントローラ(コントロールプレーン)からスイッチや端末等(ユーザプレーン)を制御するCU(C:コントロールプレーン/U:ユーザプレーン)分離型ネットワークを対象としている。CU分離型ネットワークの一例として、コントローラからスイッチを制御してネットワークの経路制御を行うオープンフロー(OpenFlow)技術を利用したオープンフローネットワークが挙げられる。なお、オープンフローネットワークは一例に過ぎない。
[オープンフローネットワークの説明]
オープンフローネットワークでは、OFC(OpenFlow Controller)等のコントローラが、OFS(OpenFlow Switch)等のスイッチのフローテーブルを操作することによりスイッチの挙動を制御する。コントローラとスイッチの間は、コントローラがオープンフロープロトコルに準拠した制御メッセージを用いてスイッチを制御するためのセキュアチャネル(Secure Channel)により接続されている。
オープンフローネットワークにおけるスイッチとは、オープンフローネットワークを形成し、コントローラの制御下にあるエッジスイッチ及びコアスイッチのことである。オープンフローネットワークにおける入力側エッジスイッチでのパケットの受信から出力側エッジスイッチでの送信まで同じ経路を流れる一連のパケットをフロー(Flow)と呼ぶ。パケットは、フレームと読み替えても良い。
フローテーブルとは、所定のマッチ条件(ルール)に適合するパケット(通信データ)に対して行うべき所定の処理(アクション)を定義したエントリ(entry)が登録されたテーブルである。
エントリのルールは、パケットの各プロトコル階層のヘッダ領域に含まれる宛先アドレス(Destination Address)、送信元アドレス(Source Address)、宛先ポート(Destination Port)、送信元ポート(Source Port)のいずれか又は全てを用いた様々な組み合わせにより定義され、区別可能である。なお、上記のアドレスには、MACアドレス(Media Access Control Address)やIPアドレス(Internet Protocol Address)を含むものとする。また、上記に加えて、入口ポート(Ingress Port)の情報も、エントリのルールとして使用可能である。
エントリのアクションは、「特定のポートに出力する」、「廃棄する」、「ヘッダを書き換える」といった動作を示す。例えば、スイッチは、エントリのアクションに出力ポートの識別情報(出力ポート番号等)が示されていれば、これに該当するポートにパケットを出力し、出力ポートの識別情報が示されていなければ、パケットを破棄する。或いは、スイッチは、エントリのアクションにヘッダ情報が示されていれば、当該ヘッダ情報に基づいてパケットのヘッダを書き換える。
オープンフローネットワークにおけるスイッチは、エントリのルールに適合するパケット群(パケット系列)に対して、エントリのアクションを実行する。
オープンフロー技術の詳細については、非特許文献1に記載されている。
<実施形態>
以下に、本発明の実施形態について添付図面を参照して説明する。
[全体構成]
図1に示すように、本発明に係るネットワークシステムは、制御装置10と、ネットワーク機器20(20−i、i=1〜n:nは台数)と、サーバ機器30(30−j、j=1〜s:sは台数)と、クライアント40を含む。
制御装置10は、オープンフローネットワークにおけるコントローラに相当する。制御装置10は、管理対象機器の集中管理を行い、全ての管理対象機器のパフォーマンスデータを収集する。ここでは、制御装置10は、自身が管理する全てのネットワーク機器20(20−i、i=1〜n)及びサーバ機器30(30−j、j=1〜s)等、該ネットワークシステムを構成する全ての機器を管理対象機器として集中管理する。この場合、制御装置10は、ネットワーク機器20(20−i、i=1〜n)の各々とセキュアチャネル(Secure Channel)で接続されているものとする。
ネットワーク機器20(20−i、i=1〜n)の各々は、オープンフローネットワークにおけるスイッチに相当する。ネットワーク機器20(20−i、i=1〜n)の各々は、制御装置10の指示によって通信を行う。具体的には、ネットワーク機器20(20−i、i=1〜n)は、制御装置10により設定されたフローテーブルに従ってパケットを転送する。ネットワーク機器20(20−i、i=1〜n)は、通常1台以上でネットワークを構成する。
サーバ機器30(30−j、j=1〜s)は、エンドユーザ、クライアントへアプリケーション等のサービスを提供する。サーバ機器30(30−j、j=1〜s)は、同じサービス(例えば、Webサービス等)を提供するサーバ毎にグループを形成する。すなわち、サーバ機器30(30−j、j=1〜s)は、いずれかのグループを形成するサーバ群に属する。サーバ群は、グループの数だけ存在する。サーバ機器30(30−j、j=1〜s)は、実IPアドレスの他に、同じサーバ群に属する全てのサーバ機器30(30−j、j=1〜s)に共通の仮想IPアドレスが割り当てられる。この仮想IPアドレスは、クライアントからの要求を負荷分散する際、サーバ群を1台のサーバ機器に見せかけるために必要となる。すなわち、この仮想IPアドレスは、1つのサーバ群に1つだけ割り当てられ、そのサーバ群に属する全てのサーバ機器30(30−j、j=1〜s)が共有することになる。なお、実際には、仮想IPアドレスの代わりに、仮想MACアドレス等を使用しても良い。
クライアント40は、ネットワーク機器20(20−i、i=1〜n)により形成される経路を経由して、サーバ機器30(30−j、j=1〜s)と通信する。
ネットワーク機器20(20−i、i=1〜n)、サーバ機器30(30−j、j=1〜s)、及びクライアント40は、ネットワーク上のノードである。制御装置10も、ネットワーク上に存在する場合は、ノードの1つとなる。
[機能詳細]
次に、各装置の機能詳細について説明する。
[制御装置]
制御装置10は、パフォーマンス管理部11と、パフォーマンスデータ格納部12と、経路計算部13と、経路情報格納部14と、フロー制御部15と、フローテーブル格納部16を備える。
パフォーマンス管理部11は、自身が管理する全てのネットワーク機器20(20−i、i=1〜n)及びサーバ機器30(30−j、j=1〜s)からのトポロジ情報、及び、CPU使用率、NW使用率(回線使用率)等のパフォーマンスデータを収集する。なお、NWは、ネットワーク(Network)を示す。
パフォーマンスデータ格納部12は、自身が管理する全てのネットワーク機器20(20−i、i=1〜n)及びサーバ機器30(30−j、j=1〜s)から収集したトポロジ情報(ネットワーク機器、サーバ機器の接続状況、IPアドレス、MACアドレス)、CPU使用率、NW使用率等のパフォーマンスデータを蓄積する。
経路計算部13は、パフォーマンスデータ格納部12から読み出したトポロジ情報等を基に、最適経路を計算する。なお、経路計算部13は、パフォーマンス管理部11から直接トポロジ情報等を受け取っても良い。
経路情報格納部14は、経路計算部13での計算結果である経路情報を蓄積する。
フロー制御部15は、経路情報格納部14から読み出した経路情報を基に、ネットワーク機器20(20−i、i=1〜n)の各々に対するエントリを定義し、自身のフローテーブル、及びネットワーク機器20(20−i、i=1〜n)の各々のフローテーブルへエントリの登録(設定)を行う。フロー制御部15は、ネットワーク機器20(20−i、i=1〜n)の各々のフローテーブルへエントリの登録を行う際、オープンフロープロトコルに準拠したエントリ登録用の制御メッセージを送信する。
フローテーブル格納部16は、制御装置10が管理する全てのネットワーク機器20(20−i、i=1〜n)に対するエントリが登録されたフローテーブルを保持する。
[ネットワーク機器]
ネットワーク機器20(20−i、i=1〜n)は、パフォーマンス管理部21と、フロー制御部22と、フローテーブル格納部23と、パケット制御部24を備える。
パフォーマンス管理部21は、NW使用率、CPU使用率、自身のIPアドレス、MACアドレスを制御装置へ伝達する。
フロー制御部22は、制御装置10へフローのエントリの要求・受信を行い、フローテーブルへのエントリの登録を行う。なお、フロー制御部22は、制御装置10から事前に(Proactive型で)フローテーブルにエントリが登録される場合、エントリの要求を行わなくても良い。フロー制御部22は、制御装置10からオープンフロープロトコルに準拠したエントリ登録用の制御メッセージを受信した際、該制御メッセージに従ってフローテーブルへのエントリの登録を行う。
フローテーブル格納部23は、該ネットワーク機器に対するエントリが登録されたフローテーブルを保持する。すなわち、フローテーブル格納部23は、ネットワーク機器毎の(個別の)フローテーブルを保持する。
パケット制御部24は、フローテーブルに登録されたエントリのルールに該当するパケットに対し、該エントリに定義されたアクションに従って、該パケットの転送・廃棄等の処理を行う。また、パケット制御部24は、フローテーブルに登録されたエントリのルールに該当しないパケットが到着した場合、フロー制御部22に対し、制御装置10へフローのエントリの要求を行うように依頼しても良い。例えば、パケット制御部24は、フロー制御部22に対し、不明なパケットを渡す。フロー制御部22は、フローのエントリの要求として、該パケット(不明なパケット)を制御装置10に問い合わせる。
[サーバ機器]
サーバ機器30(30−j、j=1〜s)は、パフォーマンス管理部31と、パケット制御部32と、アプリケーション実行部33を備える。
パフォーマンス管理部31は、CPU使用率、自身の実IPアドレス、仮想IPアドレス、MACアドレスを制御装置10に伝達する。ここでは、パフォーマンス管理部31は、パケット制御部32及びアプリケーション実行部33の動作状況や性能も監視する。
パケット制御部32は、パケットの転送・廃棄を行う。ここでは、パケット制御部32は、受信パケットをアプリケーション実行部33に転送、又は廃棄する。また、アプリケーション実行部33から受け取ったパケットを、送信先へ転送、又は廃棄する。
アプリケーション実行部33は、パケット制御部32から転送されたパケットに応じて、クライアント40へ提供するサービスアプリケーションを実行し、パケット制御部32経由でクライアント40に応答のパケットを送信する。
[ハードウェアの例示]
制御装置10、サーバ機器30(30−j、j=1〜s)、及びクライアント40の例として、PC(パソコン)、アプライアンス(appliance)、シンクライアント端末/サーバ、ワークステーション、メインフレーム、スーパーコンピュータ等の計算機を想定している。また、制御装置10、サーバ機器30(30−j、j=1〜s)、及びクライアント40は、計算機に搭載される拡張ボードや、物理マシン上に構築された仮想マシン(VM:Virtual Machine)でも良い。
なお、クライアント40は、携帯電話機、スマートフォン、スマートブック、カーナビ(カーナビゲーションシステム)、携帯型ゲーム機、家庭用ゲーム機、携帯型音楽プレーヤー、ハンディターミナル、ガジェット(電子機器)、双方向テレビ、デジタルチューナー、デジタルレコーダー、情報家電(information home appliance)、OA(Office Automation)機器等でも良い。また、クライアント40は、車両や船舶、航空機等の移動体に搭載されていても良い。
ネットワーク機器20(20−i、i=1〜n)の例として、ネットワークスイッチ(network switch)、ルータ(router)、プロキシ(proxy)、ゲートウェイ(gateway)、ファイアウォール(firewall)、ロードバランサ(load balancer:負荷分散装置)、帯域制御装置(packet shaper)、セキュリティ監視制御装置(SCADA:Supervisory Control And Data Acquisition)、ゲートキーパー(gatekeeper)、基地局(base station)、アクセスポイント(AP:Access Point)、通信衛星(CS:Communication Satellite)、或いは、複数の通信ポートを有する計算機等が考えられる。また、ネットワーク機器20(20−i、i=1〜n)は、仮想スイッチでも良い。
図示しないが、制御装置10、ネットワーク機器20(20−i、i=1〜n)、サーバ機器30(30−j、j=1〜s)、及びクライアント40の各々は、プログラムに基づいて駆動し所定の処理を実行するプロセッサと、当該プログラムや各種データを記憶するメモリと、ネットワークに接続するための通信用インターフェースによって実現される。
上記のプロセッサの例として、CPU(Central Processing Unit)、ネットワークプロセッサ(NP:Network Processor)、マイクロプロセッサ(microprocessor)、マイクロコントローラ、或いは、専用の機能を有する半導体集積回路(IC:Integrated Circuit)等が考えられる。
上記のメモリの例として、RAM(Random Access Memory)、ROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)やフラッシュメモリ等の半導体記憶装置、HDD(Hard Disk Drive)やSSD(Solid State Drive)等の補助記憶装置、又は、DVD(Digital Versatile Disk)等のリムーバブルディスクや、SDメモリカード(Secure Digital memory card)等の記憶媒体(メディア)等が考えられる。また、バッファ(buffer)やレジスタ(register)でも良い。或いは、DAS(Direct Attached Storage)、FC−SAN(Fibre Channel − Storage Area Network)、NAS(Network Attached Storage)、IP−SAN(IP − Storage Area Network)等を用いたストレージ装置でも良い。
なお、上記のプロセッサ及び上記のメモリは、一体化していても良い。例えば、近年では、マイコン等の1チップ化が進んでいる。従って、電子機器等に搭載される1チップマイコンが、上記のプロセッサ及び上記のメモリを備えている事例が考えられる。
上記のインターフェースの例として、ネットワーク通信に対応した基板(マザーボード、I/Oボード)やチップ等の半導体集積回路、NIC(Network Interface Card)等のネットワークアダプタや同様の拡張カード、アンテナ等の通信装置、接続口(コネクタ)等の通信ポート等が考えられる。
また、ネットワークの例として、インターネット、LAN(Local Area Network)、無線LAN(Wireless LAN)、WAN(Wide Area Network)、バックボーン(Backbone)、ケーブルテレビ(CATV)回線、固定電話網、携帯電話網、WiMAX(IEEE 802.16a)、3G(3rd Generation)、専用線(lease line)、IrDA(Infrared Data Association)、Bluetooth(登録商標)、シリアル通信回線、データバス等が考えられる。
なお、制御装置10、ネットワーク機器20(20−i、i=1〜n)、サーバ機器30(30−j、j=1〜s)、及びクライアント40の各々の内部の構成要素は、モジュール(module)、コンポーネント(component)、或いは専用デバイス、又はこれらの起動(呼出)プログラムでも良い。
但し、実際には、これらの例に限定されない。
[最適経路制御処理]
図2〜図6を参照して、本発明に係る最適経路制御処理について説明する。
[実施例の構成]
まず、図2を参照して、本発明に係るネットワークシステムの実施例の構成について説明する。
本実施例におけるネットワークシステムは、制御装置10と、ネットワーク機器20(20−i、i=1〜6)と、サーバ機器30(30−j、j=1〜4)と、クライアント40を含むものとする。
[各装置の識別情報]
なお、ネットワーク機器20−1の識別情報を「NW機器1」とする。ネットワーク機器20−2の識別情報を「NW機器2」とする。ネットワーク機器20−3の識別情報を「NW機器3」とする。ネットワーク機器20−4の識別情報を「NW機器4」とする。ネットワーク機器20−5の識別情報を「NW機器5」とする。ネットワーク機器20−6の識別情報を「NW機器6」とする。
また、サーバ機器30−1の識別情報を「サーバA」とする。サーバ機器30−2の識別情報を「サーバB」とする。サーバ機器30−3の識別情報を「サーバC」とする。サーバ機器30−4の識別情報を「サーバD」とする。
クライアント40の識別情報を「Client A」とする。
[サーバが属するサーバ群]
サーバA(サーバ機器30−1)及びサーバC(サーバ機器30−3)は、サーバ群1に属する。サーバ群1には、仮想IPアドレス「XXX」が割り当てられている。すなわち、サーバA(サーバ機器30−1)及びサーバC(サーバ機器30−3)は、仮想IPアドレス「XXX」を共有する。
サーバB(サーバ機器30−2)及びサーバD(サーバ機器30−4)は、サーバ群2に属する。サーバ群2には、仮想IPアドレス「YYY」が割り当てられている。すなわち、サーバB(サーバ機器30−2)及びサーバD(サーバ機器30−4)は、仮想IPアドレス「YYY」を共有する。
[各装置の接続関係]
クライアント40は、NW機器1(ネットワーク機器20−1)と相互に接続されている。NW機器1(ネットワーク機器20−1)は、NW機器2(ネットワーク機器20−2)、NW機器3(ネットワーク機器20−3)、及びNW機器4(ネットワーク機器20−4)と相互に接続されている。NW機器2(ネットワーク機器20−2)は、NW機器3(ネットワーク機器20−3)、及びNW機器4(ネットワーク機器20−4)と相互に接続されている。NW機器3(ネットワーク機器20−3)、及びNW機器4(ネットワーク機器20−4)は、いずれもNW機器5(ネットワーク機器20−5)、及びNW機器6(ネットワーク機器20−6)と相互に接続されている。NW機器5(ネットワーク機器20−5)は、NW機器6(ネットワーク機器20−6)と相互に接続されている。また、NW機器5(ネットワーク機器20−5)、及びNW機器6(ネットワーク機器20−6)は、いずれもサーバA(サーバ機器30−1)、サーバB(サーバ機器30−2)、サーバC(サーバ機器30−3)、及びサーバD(サーバ機器30−4)の各々と相互に接続されている。
なお、制御装置10は、ネットワーク機器20(20−i、i=1〜6)の各々とセキュアチャネル(Secure Channel)で接続されているものとする。
また、制御装置10は、全てのネットワーク機器20(20−i、i=1〜6)、及びサーバ機器30(30−j、j=1〜4)の各々から、パフォーマンスデータを収集済みとする。
[パフォーマンスデータのテーブル]
図3、図4を参照して、パフォーマンスデータのテーブル例について説明する。
制御装置10のパフォーマンスデータ格納部12は、パフォーマンスデータとして、NW機器テーブル121と、サーバ機器テーブル122を有する。
NW機器テーブル121は、ネットワーク機器20(20−i、i=1〜6)の使用率を管理するためのテーブルである。
サーバ機器テーブル122は、サーバ機器30(30−j、j=1〜4)の使用率を管理するためのテーブルである。
[NW機器テーブルの詳細]
図3を参照して、NW機器テーブル121の詳細について説明する。
NW機器テーブル121は、「NW機器」と、「NW(Current)」と、「NW(Average)」という領域を有する。
「NW機器」は、ネットワーク機器20(20−i、i=1〜6)の各々の識別情報を格納するための領域である。
「NW(Current)」は、ネットワーク機器20(20−i、i=1〜6)の現在(最新)のNW使用率を示す情報を格納するための領域である。
「NW(Average)」は、ネットワーク機器20(20−i、i=1〜6)のNW使用率を示す情報の直近の単位時間当たりの平均値(NW平均使用率)を格納するための領域である。
[サーバ機器テーブルの詳細]
図4を参照して、サーバ機器テーブル122の詳細について説明する。
サーバ機器テーブル122は、「サーバ」と、「CPU(Current)」と、「CPU(Average)」という領域を有する。
「サーバ」は、サーバ機器30(30−j、j=1〜4)の各々の識別情報を格納するための領域である。
「CPU(Current)」は、サーバ機器30(30−j、j=1〜4)の現在(最新)のCPU使用率を示す情報を格納するための領域である。
「CPU(Average)」は、サーバ機器30(30−j、j=1〜4)のCPU使用率を示す情報の直近の単位時間当たりの平均値(CPU平均使用率)を格納するための領域である。
[最適経路制御処理における動作1]
図5を参照して、最適条件として、「CPU使用率」と「NW使用率」が最も小さい経路を選択する場合の動作について説明する。
ここでは、図2に示されるネットワークシステムの構成を前提とする。
図2に示される構成において、「Client A」(クライアント40)から仮想IPアドレス「XXX」へアクセスする場合、「Client A」(クライアント40)から仮想IPアドレス「XXX」宛に通信が発生する。
(1)ステップS101
「Client A」(クライアント40)は、仮想IPアドレス「XXX」宛にパケットを送信する。
(2)ステップS102
NW機器1(ネットワーク機器20−1)は、入力側エッジスイッチ(Ingress)として「Client A」(クライアント40)に接続されている。したがって、NW機器1(ネットワーク機器20−1)のパケット制御部24は、「Client A」(クライアント40)から仮想IPアドレス「XXX」宛のパケットを受信し、自身のフローテーブル格納部23内のフローテーブルに登録されているエントリの中に、受信パケットに該当するエントリが存在するか確認する。パケット制御部24は、該エントリが存在する場合、該エントリに定義されたアクションに従って、仮想IPアドレス「XXX」宛のパケットを転送する。
(3)ステップS103
NW機器1(ネットワーク機器20−1)は、仮想IPアドレス「XXX」宛のパケットを今回初めて受信したため、自身のフローテーブル格納部23内のフローテーブルに登録されているエントリの中に、受信パケットに該当するエントリが存在しない。したがって、NW機器1(ネットワーク機器20−1)のフロー制御部22は、制御装置10に対し、「XXX」宛のパケットのフローのエントリを要求する。
(4)ステップS104
制御装置10は、「XXX」宛のパケットのフローのエントリを要求された場合、「XXX」宛のパケットの転送先として、サーバA(サーバ機器30−1)宛、又はサーバC(サーバ機器30−3)宛のどちらかを選択することになる。このとき、制御装置10の経路計算部13は、図4に示されるサーバ機器テーブル122を参照し、サーバA(サーバ機器30−1)のCPU使用率が「20%」、サーバC(サーバ機器30−3)のCPU使用率が「40%」であるため、最もCPU使用率の低いサーバA(サーバ機器30−1)を選択する。
(5)ステップS105
また、経路計算部13は、図3に示されるNW機器テーブル121を参照し、最もNW使用率の低い経路で転送することを決定する。ここでは、経路計算部13は、NW機器1(ネットワーク機器20−3)の次段のノードとして、NW機器3(ネットワーク機器20−3)のNW使用率が「20%」、NW機器4(ネットワーク機器20−4)のNW使用率が「15%」であるため、NW機器4(ネットワーク機器20−4)を次段のノードとする。また、NW機器4(ネットワーク機器20−4)の次段のノードとして、NW機器5(ネットワーク機器20−5)のNW使用率が「20%」、NW機器6(ネットワーク機器20−6)のNW使用率が「25%」であるため、NW機器5(ネットワーク機器20−5)を次段のノードとする。これにより、経路計算部13は、最終的に、最もNW使用率の低い経路である「NW機器1→NW機器4→NW機器5→サーバA」という経路で転送することを決定し、この経路情報を経路情報格納部14に蓄積する。すなわち、最適経路は、「NW機器1(ネットワーク機器20−1)→NW機器4(ネットワーク機器20−4)→NW機器5(ネットワーク機器20−5)→サーバA(サーバ機器30−1)」ということになる。
(6)ステップS106
制御装置10のフロー制御部15は、経路情報格納部14から読み出した最適経路の経路情報を基に、最適経路上のネットワーク機器の各々に対するエントリを定義し、自身のフローテーブル格納部16内のフローテーブル、及び最適経路上のネットワーク機器の各々のフローテーブルへエントリの登録を行う。ここでは、最適経路上のネットワーク機器は、NW機器1(ネットワーク機器20−1)、NW機器4(ネットワーク機器20−4)、及びNW機器5(ネットワーク機器20−5)である。フロー制御部15は、NW機器1(ネットワーク機器20−1)、NW機器4(ネットワーク機器20−4)、及びNW機器5(ネットワーク機器20−5)のフローテーブルへ、仮想IPアドレス「XXX」宛のパケットを最適経路上の次段のノードに転送するためのエントリの登録を行う。
(7)ステップS107
最適経路上のネットワーク機器の各々のフロー制御部22は、制御装置10からのエントリ登録処理に応じて、自身のフローテーブル格納部23内のフローテーブルに、仮想IPアドレス「XXX」宛のパケットを最適経路上の次段のノードに転送するためのエントリを登録する。すなわち、NW機器1(ネットワーク機器20−1)、NW機器4(ネットワーク機器20−4)、及びNW機器5(ネットワーク機器20−5)は、制御装置10からのエントリ登録処理に応じて、自身のフローテーブル格納部23内のフローテーブルに、仮想IPアドレス「XXX」宛のパケットを最適経路上の次段のノードに転送するためのエントリを登録する。
(8)ステップS108
NW機器1(ネットワーク機器20−1)に辿り着いたパケットは、最もNW使用率の低い経路である「NW機器1→NW機器4→NW機器5→サーバA」という経路で転送される。すなわち、NW機器1(ネットワーク機器20−1)は、自身のフローテーブルに登録されたエントリに従い、仮想IPアドレス「XXX」宛のパケットをNW機器4(ネットワーク機器20−4)に転送する。NW機器4(ネットワーク機器20−4)は、自身のフローテーブルに登録されたエントリに従い、仮想IPアドレス「XXX」宛のパケットをNW機器5(ネットワーク機器20−5)に転送する。NW機器5(ネットワーク機器20−5)は、自身のフローテーブルに登録されたエントリに従い、仮想IPアドレス「XXX」宛のパケットをサーバA(サーバ機器30−1)に転送する。
[最適経路制御処理における動作2]
図6を参照して、最適条件として、「CPU平均使用率」、「ネットワーク平均使用率」が最も小さい経路を選択する場合の動作について説明する。
ここでは、図2に示されるネットワークシステムの構成を前提とする。図2に示される構成において、「Client A」(クライアント40)から仮想IPアドレス「YYY」へアクセスする場合、「Client A」(クライアント40)から仮想IPアドレス「YYY」宛に通信が発生する。
(1)ステップS201
「Client A」(クライアント40)は、仮想IPアドレス「YYY」宛にパケットを送信する。
(2)ステップS202
NW機器1(ネットワーク機器20−1)は、入力側エッジスイッチ(Ingress)として「Client A」(クライアント40)に接続されている。したがって、NW機器1(ネットワーク機器20−1)のパケット制御部24は、「Client A」(クライアント40)から仮想IPアドレス「YYY」宛のパケットを受信し、自身のフローテーブル格納部23内のフローテーブルに登録されているエントリの中に、受信パケットに該当するエントリが存在するか確認する。パケット制御部24は、該エントリが存在する場合、該エントリに定義されたアクションに従って、仮想IPアドレス「YYY」宛のパケットを転送する。
(3)ステップS203
NW機器1(ネットワーク機器20−1)は、仮想IPアドレス「YYY」宛のパケットを今回初めて受信したため、自身のフローテーブル格納部23内のフローテーブルに登録されているエントリの中に、受信パケットに該当するエントリが存在しない。したがって、NW機器1(ネットワーク機器20−1)のフロー制御部22は、制御装置10に対し、「YYY」宛のパケットのフローのエントリを要求する。
(4)ステップS204
制御装置10は、「YYY」宛のパケットのフローのエントリを要求された場合、「YYY」宛のパケットの転送先として、サーバB(サーバ機器30−2)宛、又はサーバD(サーバ機器30−4)宛のどちらかを選択することになる。このとき、制御装置10の経路計算部13は、図4に示されるサーバ機器テーブル122を参照し、サーバB(サーバ機器30−2)のCPU平均使用率が「30%」、サーバD(サーバ機器30−4)のCPU平均使用率が「15%」であるため、最もCPU平均使用率の低いサーバD(サーバ機器30−4)を選択する。
(5)ステップS205
また、経路計算部13は、図3に示されるNW機器テーブル121を参照し、最もNW平均使用率の低い経路で転送することを決定する。ここでは、経路計算部13は、NW機器1(ネットワーク機器20−3)の次段のノードとして、NW機器3(ネットワーク機器20−3)のNW平均使用率が「60%」、NW機器4(ネットワーク機器20−4)のNW平均使用率が「60%」であるため、どちらを次段のノードとしても同じであるが、優先順位又はNW機器1(ネットワーク機器20−3)との距離等を考慮して、NW機器3(ネットワーク機器20−3)を次段のノードとする。また、NW機器3(ネットワーク機器20−3)の次段のノードとして、NW機器5(ネットワーク機器20−5)のNW平均使用率が「35%」、NW機器6(ネットワーク機器20−6)のNW平均使用率が「10%」であるため、NW機器6(ネットワーク機器20−6)を次段のノードとする。これにより、経路計算部13は、最終的に、最もNW平均使用率の低い「NW機器1→NW機器3→NW機器6→サーバD」という経路で転送することを決定し、この経路情報を経路情報格納部14に蓄積する。すなわち、最適経路は、「NW機器1(ネットワーク機器20−1)→NW機器3(ネットワーク機器20−3)→NW機器6(ネットワーク機器20−6)→サーバD(サーバ機器30−4)」ということになる。
(6)ステップS206
制御装置10のフロー制御部15は、経路情報格納部14から読み出した最適経路の経路情報を基に、最適経路上のネットワーク機器の各々に対するエントリを定義し、自身のフローテーブル格納部16内のフローテーブル、及び最適経路上のネットワーク機器の各々のフローテーブルへエントリの登録を行う。ここでは、最適経路上のネットワーク機器は、NW機器1(ネットワーク機器20−1)、NW機器3(ネットワーク機器20−3)、及びNW機器6(ネットワーク機器20−6)である。フロー制御部15は、NW機器1(ネットワーク機器20−1)、NW機器3(ネットワーク機器20−3)、及びNW機器6(ネットワーク機器20−6)のフローテーブルへ、仮想IPアドレス「YYY」宛のパケットを最適経路上の次段のノードに転送するためのエントリの登録を行う。
(7)ステップS207
最適経路上のネットワーク機器の各々のフロー制御部22は、制御装置10からのエントリ登録処理に応じて、自身のフローテーブル格納部23内のフローテーブルに、仮想IPアドレス「YYY」宛のパケットを最適経路上の次段のノードに転送するためのエントリを登録する。すなわち、NW機器1(ネットワーク機器20−1)、NW機器3(ネットワーク機器20−3)、及びNW機器6(ネットワーク機器20−6)は、制御装置10からのエントリ登録処理に応じて、自身のフローテーブル格納部23内のフローテーブルに、仮想IPアドレス「YYY」宛のパケットを最適経路上の次段のノードに転送するためのエントリを登録する。
(8)ステップS208
NW機器1(ネットワーク機器20−1)に辿り着いたパケットは、最もNW平均使用率の低い「NW機器1→NW機器3→NW機器6→サーバD」という経路で転送される。すなわち、NW機器1(ネットワーク機器20−1)は、自身のフローテーブルに登録されたエントリに従い、仮想IPアドレス「YYY」宛のパケットをNW機器3(ネットワーク機器20−3)に転送する。NW機器3(ネットワーク機器20−3)は、自身のフローテーブルに登録されたエントリに従い、仮想IPアドレス「YYY」宛のパケットをNW機器6(ネットワーク機器20−6)に転送する。NW機器6(ネットワーク機器20−6)は、自身のフローテーブルに登録されたエントリに従い、仮想IPアドレス「YYY」宛のパケットをサーバD(サーバ機器30−4)に転送する。
[補足]
最適経路制御処理における動作として、図5に示される動作1と、図6に示される動作2のどちらを採用するかは、仮想IPアドレスの宛先(アクセス先)のサーバ機器がクライアントに提供するサービスの内容に応じて変更・決定するようにしても良い。例えば、制御装置10の経路計算部13は、仮想IPアドレスの宛先(アクセス先)のサーバ機器がクライアントに提供するサービスの内容に応じて、図5に示される動作1と、図6に示される動作2のどちらを採用するか変更・決定する。
また、使用するパフォーマンスデータの内容は、自由に組み替えても使用しても良い。例えば、「CPU平均使用率」を基に、サーバ群から最適なサーバを選択し、「ネットワーク使用率」を基に、最適経路を決定しても良い。或いは、「CPU使用率」と「CPU平均使用率」の両方を参照して、サーバ群から最適なサーバを選択し、「ネットワーク使用率」と「ネットワーク平均使用率」の両方を参照して、最適経路を決定しても良い。例えば、制御装置10の経路計算部13は、仮想IPアドレスの宛先(アクセス先)のサーバ機器がクライアントに提供するサービスの内容に応じて、パフォーマンスデータ格納部12に蓄積されたパフォーマンスデータのうち、どのデータを使用するか決定する。このとき、経路計算部13は、どのデータを使用するかを定義した最適条件を変更・決定することになる。
なお、「CPU使用率」、「CPU平均使用率」、「NW使用率」、「NW平均使用率」は、パフォーマンスデータの一例に過ぎない。実際には、これらのデータに限定されない。例えば、「メモリ使用率」、「CPUの性能(種別)」、「データ転送速度」、「利用ユーザ数」等でも良い。
[他の実施例]
オープンフロー技術において、ネットワーク機器のフローテーブルにエントリを登録する方式は、大きく「Proactive型」と、「Reactive型」の2つの方式に分けられる。
「Proactive型」では、制御装置が「事前に(データ通信が始まる前に)」所定のパケット群(フロー)の経路(パス)を計算し、ネットワーク機器のフローテーブルにエントリを登録する。すなわち、ここでいう「Proactive型」とは、制御装置が自発的に行う「事前のエントリ登録」を指す。
「Reactive型」では、制御装置が「ネットワーク機器から1stパケット(該当エントリがない新規のパケット)についての問い合わせを受けた際に」当該パケット群(フロー)の経路を計算し、ネットワーク機器のフローテーブルにエントリを登録する。すなわち、ここでいう「Reactive型」とは、実際のデータ通信時に、制御装置がネットワーク機器からの問い合わせに応じて行う「リアルタイムのエントリ登録」を指す。
オープンフローネットワークでは、基本的に、制御装置がネットワーク機器から1stパケットについての問い合わせを受けた際に当該受信パケットに関するエントリを登録する「Reactive型」が中心となっている。
本発明では、「Reactive型」を例に説明している。しかし、実際には、「Proactive型」を採用しても良い。例えば、今後到着が予想されるパケットの通信開始前に、制御装置が、ネットワーク機器及びサーバ機器からトポロジ情報及びパフォーマンスデータを収集し、現状の(又は過去の)トポロジ情報及びパフォーマンスデータに基づいて、今後到着が予想されるパケットの最適経路を計算し、該フローのエントリを、該当するネットワーク機器のフローテーブルに事前に登録しておくことが考えられる。この場合、制御装置は、ネットワーク機器からパケットの問い合わせを受けることなく、ネットワーク機器のフローテーブルに、フローのエントリを登録することができる。
[本発明の特徴]
オープンフロー(OpenFlow)等を用いた集中管理型ネットワークシステムでは、柔軟なネットワーク制御により、ネットワークの運用性、効率性の向上が期待されている。
本発明では、従来の通信経路を集中管理するネットワークシステムにおいて、ネットワーク機器の負荷状況、サーバ機器の負荷状況、アプリケーションの負荷状況も踏まえた上で最適経路を選択することを可能とする。また、最適経路の選択において、現在(最新)の情報だけでなく、過去の傾向から予測し、最適経路を選択可能とする。
本発明では、従来の課題を以下の方法により解決する。
(1)ネットワーク、サーバ等システムを構成する全ての機器を集中管理する制御装置が最適経路を計算し、通信経路をネットワーク機器に設定する。
(2)ネットワークの輻輳状況、サーバやアプリケーションの負荷状況を判断し、最適な経路を決定する。
(3)現状だけでなく、過去の輻輳状況、負荷状況から未来に起こり得る事象を判断し、最適経路を決定する。
上記解決方法により、ネットワーク機器、サーバ機器を含めたアプリケーションレベル、サービスレベルで最適な経路を選択することが可能となる。また、過去のデータからの予測により、未来に起こり得る問題回避を考慮した経路を選択できる。結果として、各レイヤで個別最適するのではなく、システム全体として最適化された経路制御を可能とする。
従来技術では、負荷状況に応じて経路を変更することができず、あふれたパケット廃棄されるか、又は、低優先のパケットは遅延が発生する等、大量のデータ転送に時間を要してしまうという問題があった。しかし、本発明では、最適条件として現在(最新)のCPU使用率、NW使用率を選択した場合は、短時間で多くのデータを伝送したいアプリケーション等(例えばファイル転送)に効果を発揮する。
従来技術では、瞬間的に発生した他の通信に影響を受け、遅延等の問題が発生する場合があった。しかし、本発明では、最適条件としてCPU及びNWの平均使用率を選択した場合、データ量は少ないが、長時間通信が継続するアプリケーション等(例えばIP電話)に効果を発揮する。平均使用率の低い経路を選択できれば、確率的に本問題を回避しやすい。
また、従来技術では、各ネットワーク機器が自律的に経路を決定するため、アプリケーション毎に最適化された経路を選択することが困難であった。しかし、本発明では、フロー毎に経路を選択(指定)できるため、システム全体を効率的に使用することが可能である。
例えば、FTP(File Transfer Protocol:ファイル転送プロトコル)等の「瞬間的に大量に通信が発生するアプリケーション」のフローについては現在(最新)の使用率を最適条件として経路を決定し、IP電話(IP telephony)等のフローについては平均使用率を最適条件として経路を決定する等、アプリケーションに適した最適条件を指定して、最適経路を選択することが可能となる。
また、従来技術では、サーバの負荷分散をするためにロードバランサを使用しており、全ての通信がロードバランサを経由する必要があるため、可用性、効率性が十分に確保することができないという課題があった。しかし、本発明では、サーバの負荷(CPU使用率)を考慮した上で経路を選択できるため、ロードバランサ等を使用せずにサーバの負荷分散を行うことができる。
<付記>
上記の実施形態の一部又は全部は、以下の付記のように記載することも可能である。但し、実際には、以下の記載例に限定されない。
[付記1]
管理対象となるネットワーク機器と通信する第1の通信部と、
同一グループのサーバ群を形成し該サーバ群に割り当てられた仮想アドレスを共有するサーバ機器と通信する第2の通信部と、
ネットワーク機器及びサーバ機器の各々からパフォーマンスデータを収集し蓄積するデータ収集部と、
サーバ群を形成するサーバ機器の中から、サーバ機器のパフォーマンスデータを基に、最適なサーバ機器を選択するサーバ選択部と、
ネットワーク機器のパフォーマンスデータを基に、最適なサーバ機器に到達するための最適経路を決定する経路計算部と、
最適経路上のネットワーク機器に、該パケットをフローとして一律に制御するためのルールと最適経路上の次段のノードに仮想アドレス宛のパケットを転送する旨の動作とが定義されたエントリを登録するフロー制御部と
を具備する
制御装置。
[付記2]
付記1に記載の制御装置であって、
サーバ選択部は、サーバ機器のパフォーマンスデータとして、サーバ機器の最新のCPU使用率及びCPU平均使用率のうち少なくとも一方を基に、最適なサーバ機器を選択し、
経路計算部は、ネットワーク機器のパフォーマンスデータとして、ネットワーク機器の最新のネットワーク使用率及びネットワーク平均使用率のうち少なくとも一方を基に、最適なサーバ機器に到達するための最適経路を決定する
制御装置。
[付記3]
付記1又は2に記載の制御装置であって、
仮想アドレス宛のパケットの種類及びサーバが提供するサービスの内容に応じて、ネットワーク機器及びサーバ機器の各々のパフォーマンスデータとして使用するデータを定義した最適条件を変更する条件変更部と、
蓄積されたパフォーマンスデータの中から、最適条件に定義されたデータを選択するデータ選択部と
を更に具備し、
サーバ選択部は、最適条件に定義されたデータを基に、最適なサーバ機器を決定し、
経路計算部は、最適条件に定義されたデータを基に、最適経路を決定する
制御装置。
[付記4]
管理対象となるネットワーク機器と通信するステップと、
同一グループのサーバ群を形成し該サーバ群に割り当てられた仮想アドレスを共有するサーバ機器と通信するステップと、
ネットワーク機器及びサーバ機器の各々からパフォーマンスデータを収集し蓄積するステップと、
サーバ群を形成するサーバ機器の中から、サーバ機器のパフォーマンスデータを基に、最適なサーバ機器を選択するステップと、
ネットワーク機器のパフォーマンスデータを基に、最適なサーバ機器に到達するための最適経路を決定するステップと、
最適経路上のネットワーク機器に、該パケットをフローとして一律に制御するためのルールと最適経路上の次段のノードに仮想アドレス宛のパケットを転送する旨の動作とが定義されたエントリを登録するステップと
を計算機に実行させるための
プログラム。
[付記5]
付記4に記載のプログラムであって、
サーバ機器のパフォーマンスデータとして、サーバ機器の最新のCPU使用率及びCPU平均使用率のうち少なくとも一方を基に、最適なサーバ機器を選択するステップと、
ネットワーク機器のパフォーマンスデータとして、ネットワーク機器の最新のネットワーク使用率及びネットワーク平均使用率のうち少なくとも一方を基に、最適なサーバ機器に到達するための最適経路を決定するステップと
を更に計算機に実行させるための
プログラム。
[付記6]
付記4又は5に記載のプログラムであって、
仮想アドレス宛のパケットの種類及びサーバが提供するサービスの内容に応じて、ネットワーク機器及びサーバ機器の各々のパフォーマンスデータとして使用するデータを定義した最適条件を変更するステップと、
蓄積されたパフォーマンスデータの中から、最適条件に定義されたデータを選択し、最適条件に定義されたデータを基に、最適なサーバ機器及び最適経路を決定するステップと
を更に計算機に実行させるための
プログラム。
<備考>
以上、本発明の実施形態を詳述してきたが、実際には、上記の実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。
なお、本出願は、日本出願番号2011−014053に基づく優先権を主張するものであり、日本出願番号2011−014053における開示内容は引用により本出願に組み込まれる。

Claims (10)

  1. ネットワーク機器と、
    前記ネットワーク機器からパケットの問い合わせを受けた際、該パケットをフローとして一律に制御するためのルールと動作とが定義されたエントリを、前記ネットワーク機器のフローテーブルに設定する制御装置と、
    同一グループのサーバ群を形成し、該サーバ群に割り当てられた仮想アドレスを共有するサーバ機器と、
    を含み、
    前記制御装置は、
    前記ネットワーク機器及び前記サーバ機器の各々からパフォーマンスデータを収集し蓄積する手段と、
    前記サーバ群を形成するサーバ機器の中から、前記サーバ機器のパフォーマンスデータを基に、最適なサーバ機器を選択する手段と、
    前記ネットワーク機器のパフォーマンスデータを基に、前記最適なサーバ機器に到達するための最適経路を決定する手段と、
    前記最適経路上のネットワーク機器に、前記最適経路上の次段のノードに前記仮想アドレス宛のパケットを転送する旨のエントリを登録する手段と
    を具備する
    ネットワークシステム。
  2. 請求項1に記載のネットワークシステムであって、
    前記制御装置は、
    前記サーバ機器のパフォーマンスデータとして、前記サーバ機器の最新のCPU使用率及びCPU平均使用率のうち少なくとも一方を基に、最適なサーバ機器を選択する手段と、
    前記ネットワーク機器のパフォーマンスデータとして、前記ネットワーク機器の最新のネットワーク使用率及びネットワーク平均使用率のうち少なくとも一方を基に、前記最適なサーバ機器に到達するための最適経路を決定する手段と
    を更に具備する
    ネットワークシステム。
  3. 請求項1又は2に記載のネットワークシステムであって、
    前記制御装置は、
    前記仮想アドレス宛のパケットの種類及び前記サーバが提供するサービスの内容に応じて、前記ネットワーク機器及び前記サーバ機器の各々のパフォーマンスデータとして使用するデータを定義した最適条件を変更する手段と、
    前記蓄積されたパフォーマンスデータの中から、前記最適条件に定義されたデータを選択し、前記最適条件に定義されたデータを基に、前記最適なサーバ機器及び前記最適経路を決定する手段と
    を更に具備する
    ネットワークシステム。
  4. 管理対象となるネットワーク機器と通信する手段と、
    同一グループのサーバ群を形成し該サーバ群に割り当てられた仮想アドレスを共有するサーバ機器と通信する手段と、
    前記ネットワーク機器及び前記サーバ機器の各々からパフォーマンスデータを収集し蓄積する手段と、
    前記サーバ群を形成するサーバ機器の中から、前記サーバ機器のパフォーマンスデータを基に、最適なサーバ機器を選択する手段と、
    前記ネットワーク機器のパフォーマンスデータを基に、前記最適なサーバ機器に到達するための最適経路を決定する手段と、
    前記最適経路上のネットワーク機器に、該パケットをフローとして一律に制御するためのルールと前記最適経路上の次段のノードに前記仮想アドレス宛のパケットを転送する旨の動作とが定義されたエントリを登録する手段と
    を具備する
    制御装置。
  5. 請求項4に記載の制御装置であって、
    前記サーバ機器のパフォーマンスデータとして、前記サーバ機器の最新のCPU使用率及びCPU平均使用率のうち少なくとも一方を基に、最適なサーバ機器を選択する手段と、
    前記ネットワーク機器のパフォーマンスデータとして、前記ネットワーク機器の最新のネットワーク使用率及びネットワーク平均使用率のうち少なくとも一方を基に、前記最適なサーバ機器に到達するための最適経路を決定する手段と
    を更に具備する
    制御装置。
  6. 請求項4又は5に記載の制御装置であって、
    前記仮想アドレス宛のパケットの種類及び前記サーバが提供するサービスの内容に応じて、前記ネットワーク機器及び前記サーバ機器の各々のパフォーマンスデータとして使用するデータを定義した最適条件を変更する手段と、
    前記蓄積されたパフォーマンスデータの中から、前記最適条件に定義されたデータを選択し、前記最適条件に定義されたデータを基に、前記最適なサーバ機器及び前記最適経路を決定する手段と
    を更に具備する
    制御装置。
  7. 制御装置として使用される計算機により実施される最適経路制御方法であって、
    管理対象となるネットワーク機器と通信することと、
    同一グループのサーバ群を形成し該サーバ群に割り当てられた仮想アドレスを共有するサーバ機器と通信することと、
    前記ネットワーク機器及び前記サーバ機器の各々からパフォーマンスデータを収集し蓄積することと、
    前記サーバ群を形成するサーバ機器の中から、前記サーバ機器のパフォーマンスデータを基に、最適なサーバ機器を選択することと、
    前記ネットワーク機器のパフォーマンスデータを基に、前記最適なサーバ機器に到達するための最適経路を決定することと、
    前記最適経路上のネットワーク機器に、該パケットをフローとして一律に制御するためのルールと前記最適経路上の次段のノードに前記仮想アドレス宛のパケットを転送する旨の動作とが定義されたエントリを登録することと
    を含む
    最適経路制御方法。
  8. 請求項7に記載の最適経路制御方法であって、
    前記サーバ機器のパフォーマンスデータとして、前記サーバ機器の最新のCPU使用率及びCPU平均使用率のうち少なくとも一方を基に、最適なサーバ機器を選択することと、
    前記ネットワーク機器のパフォーマンスデータとして、前記ネットワーク機器の最新のネットワーク使用率及びネットワーク平均使用率のうち少なくとも一方を基に、前記最適なサーバ機器に到達するための最適経路を決定することと
    を更に含む
    最適経路制御方法。
  9. 請求項7又は8に記載の最適経路制御方法であって、
    前記仮想アドレス宛のパケットの種類及び前記サーバが提供するサービスの内容に応じて、前記ネットワーク機器及び前記サーバ機器の各々のパフォーマンスデータとして使用するデータを定義した最適条件を変更することと、
    前記蓄積されたパフォーマンスデータの中から、前記最適条件に定義されたデータを選択し、前記最適条件に定義されたデータを基に、前記最適なサーバ機器及び前記最適経路を決定することと
    を更に含む
    最適経路制御方法。
  10. 管理対象となるネットワーク機器と通信するステップと、
    同一グループのサーバ群を形成し該サーバ群に割り当てられた仮想アドレスを共有するサーバ機器と通信するステップと、
    前記ネットワーク機器及び前記サーバ機器の各々からパフォーマンスデータを収集し蓄積するステップと、
    前記サーバ群を形成するサーバ機器の中から、前記サーバ機器のパフォーマンスデータを基に、最適なサーバ機器を選択するステップと、
    前記ネットワーク機器のパフォーマンスデータを基に、前記最適なサーバ機器に到達するための最適経路を決定するステップと、
    前記最適経路上のネットワーク機器に、該パケットをフローとして一律に制御するためのルールと前記最適経路上の次段のノードに前記仮想アドレス宛のパケットを転送する旨の動作とが定義されたエントリを登録するステップと
    を、制御装置として使用される計算機に実行させるためのプログラムを格納した
    記憶媒体。
JP2012554623A 2011-01-26 2011-11-16 ネットワークシステム、制御装置、及び最適経路制御方法 Expired - Fee Related JP5598688B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012554623A JP5598688B2 (ja) 2011-01-26 2011-11-16 ネットワークシステム、制御装置、及び最適経路制御方法

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2011014053 2011-01-26
JP2011014053 2011-01-26
JP2012554623A JP5598688B2 (ja) 2011-01-26 2011-11-16 ネットワークシステム、制御装置、及び最適経路制御方法
PCT/JP2011/076395 WO2012101890A1 (ja) 2011-01-26 2011-11-16 ネットワークシステム、制御装置、及び最適経路制御方法

Publications (2)

Publication Number Publication Date
JPWO2012101890A1 true JPWO2012101890A1 (ja) 2014-06-30
JP5598688B2 JP5598688B2 (ja) 2014-10-01

Family

ID=46580476

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012554623A Expired - Fee Related JP5598688B2 (ja) 2011-01-26 2011-11-16 ネットワークシステム、制御装置、及び最適経路制御方法

Country Status (5)

Country Link
US (1) US20130297790A1 (ja)
EP (1) EP2670093A4 (ja)
JP (1) JP5598688B2 (ja)
CN (1) CN103348635B (ja)
WO (1) WO2012101890A1 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6194568B2 (ja) * 2012-08-15 2017-09-13 日本電気株式会社 アプリケーション通信制御システムおよびアプリケーション通信制御方法
JPWO2014061587A1 (ja) * 2012-10-15 2016-09-05 日本電気株式会社 制御装置、ノード、通信システム、通信方法及びプログラム
JP5969352B2 (ja) * 2012-10-23 2016-08-17 日本電信電話株式会社 信号処理システム
EP2915295A4 (en) 2012-10-31 2016-06-01 Nec Corp NETWORK COMMUNICATION SYSTEM AND VIRTUALIZATION METHOD THEREFOR
US20160065427A1 (en) * 2013-03-28 2016-03-03 Nec Corporation Communication system, control apparatus, information collection method, and program
US9391897B2 (en) * 2013-07-31 2016-07-12 Oracle International Corporation Methods, systems, and computer readable media for mitigating traffic storms
US10212083B2 (en) * 2013-10-30 2019-02-19 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Openflow data channel and control channel separation
CN104702502B (zh) * 2013-12-09 2019-11-26 中兴通讯股份有限公司 网络路径计算方法及装置
US9270612B2 (en) 2013-12-13 2016-02-23 International Business Machines Corporation Software-defined networking interface between multiple platform managers
JP6131203B2 (ja) * 2014-02-17 2017-05-17 日本電信電話株式会社 装置選択ネットワークシステム、装置選択サーバおよびプログラム
JPWO2015151442A1 (ja) * 2014-03-31 2017-04-13 日本電気株式会社 通信システム、通信方法および制御装置
JP6382790B2 (ja) 2015-12-28 2018-08-29 ファナック株式会社 複数の製造装置を含む製造データ処理システム
US11127004B2 (en) * 2016-02-18 2021-09-21 Mastercard International Incorporated Systems and methods for pre-processing network messages to optimize routing
JP6665697B2 (ja) * 2016-06-09 2020-03-13 富士通株式会社 過去情報提供プログラム、過去情報提供方法及び過去情報提供装置
US10511507B2 (en) * 2017-05-09 2019-12-17 Cisco Technology, Inc. Routing network traffic based on whether an application associated with traffic is a rerouting application as defined by a policy and whether a second path ranking exceeds a first path ranking
CN110611901A (zh) * 2018-06-15 2019-12-24 海信集团有限公司 一种重选Relay UE的方法和设备
CN109889545B (zh) * 2019-03-27 2021-08-27 北京云中融信网络科技有限公司 数据通信方法和装置
CN110493068B (zh) * 2019-09-05 2023-01-10 烽火通信科技股份有限公司 一种网络路由生成方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004093394A1 (ja) * 2003-04-14 2004-10-28 Fujitsu Limited データ中継装置、データ中継方法、データ中継プログラム、サービス選択装置、サービス選択方法、及びサービス選択プログラム
JP2007184969A (ja) * 2007-02-26 2007-07-19 Fujitsu Ltd 配信経路制御装置
WO2010090182A1 (ja) * 2009-02-03 2010-08-12 日本電気株式会社 アプリケーションスイッチシステム、及びアプリケーションスイッチ方法
WO2010106772A1 (ja) * 2009-03-17 2010-09-23 日本電気株式会社 分散処理システム及び分散処理方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06120943A (ja) 1992-10-08 1994-04-28 Mitsubishi Electric Corp 最適迂回経路選択方式
JP2000250878A (ja) 1999-02-25 2000-09-14 Nec Corp 負荷分散システム
JP5138847B2 (ja) * 2001-08-31 2013-02-06 富士通株式会社 ネットワークシステム、ネットワーク中継装置、ネットワーク中継監視装置およびネットワーク運用方法
US20050169254A1 (en) * 2003-04-14 2005-08-04 Fujitsu Limited Data relay apparatus, data relay method, data relay program, service selection apparatus, service selection method and service selection program
US7903557B1 (en) * 2005-09-21 2011-03-08 Qlogic, Corporation Multipathing using multiple endpoint addresses for load balancing in a network
JP5219943B2 (ja) 2009-07-03 2013-06-26 株式会社オプトエレクトロニクス 二値化方法および二値化回路

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004093394A1 (ja) * 2003-04-14 2004-10-28 Fujitsu Limited データ中継装置、データ中継方法、データ中継プログラム、サービス選択装置、サービス選択方法、及びサービス選択プログラム
JP2007184969A (ja) * 2007-02-26 2007-07-19 Fujitsu Ltd 配信経路制御装置
WO2010090182A1 (ja) * 2009-02-03 2010-08-12 日本電気株式会社 アプリケーションスイッチシステム、及びアプリケーションスイッチ方法
WO2010106772A1 (ja) * 2009-03-17 2010-09-23 日本電気株式会社 分散処理システム及び分散処理方法

Also Published As

Publication number Publication date
US20130297790A1 (en) 2013-11-07
CN103348635A (zh) 2013-10-09
CN103348635B (zh) 2016-08-10
EP2670093A1 (en) 2013-12-04
EP2670093A4 (en) 2017-02-08
JP5598688B2 (ja) 2014-10-01
WO2012101890A1 (ja) 2012-08-02

Similar Documents

Publication Publication Date Title
JP5598688B2 (ja) ネットワークシステム、制御装置、及び最適経路制御方法
JP5557066B2 (ja) スイッチシステム、モニタリング集中管理方法
EP2911348B1 (en) Control device discovery in networks having separate control and forwarding devices
JP5850131B2 (ja) ネットワークシステム、リソース使用率改善方法
JP5610247B2 (ja) ネットワークシステム、及びポリシー経路設定方法
US8644149B2 (en) Mechanism for packet forwarding using switch pools in flow-based, split-architecture networks
JP5652475B2 (ja) ネットワークシステム、及びネットワーク管理方法
JP2022532729A (ja) スライスベースルーティング
JP5747993B2 (ja) 負荷低減システム、及び負荷低減方法
JP5641455B2 (ja) ネットワークシステム、コントローラ、及びQoS制御方法
US7525919B2 (en) Packet communication method with increased traffic engineering efficiency
CN102771093B (zh) 通信控制系统、切换节点、通信控制方法
KR20130126730A (ko) 네트워크 시스템, 스위치 및 접속 단말기 검지 방법
JPWO2012049925A1 (ja) スイッチシステム、及びデータ転送方法
CN112751763A (zh) 一种报文转发方法、设备、存储介质及系统
EP2541845A1 (en) Remote control system, remote control method, and remote control program
JP2013201478A (ja) ネットワークシステム、スイッチ、及び通信遅延短縮方法
Yu et al. Openflow Based Dynamic Flow Scheduling with Multipath for Data Center Networks.
JP5821641B2 (ja) ネットワークシステム、スイッチ、及びスイッチ間設定通知方法
JP2017175522A (ja) ネットワークシステム、制御装置、方法およびプログラム
WO2012098779A1 (ja) ネットワークシステム、コントローラ、及びQoS制御方法
JP6592421B2 (ja) ルーティングシステムおよびルーティング方法
JP2013115733A (ja) ネットワークシステム、及びネットワーク制御方法
JPWO2014123194A1 (ja) 通信システム、制御装置、通信制御方法およびプログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140502

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140626

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140729

R150 Certificate of patent or registration of utility model

Ref document number: 5598688

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees