JP5944537B2 - 通信経路の管理方法 - Google Patents

通信経路の管理方法 Download PDF

Info

Publication number
JP5944537B2
JP5944537B2 JP2014559430A JP2014559430A JP5944537B2 JP 5944537 B2 JP5944537 B2 JP 5944537B2 JP 2014559430 A JP2014559430 A JP 2014559430A JP 2014559430 A JP2014559430 A JP 2014559430A JP 5944537 B2 JP5944537 B2 JP 5944537B2
Authority
JP
Japan
Prior art keywords
server
terminal
aggregation group
communication
address
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.)
Expired - Fee Related
Application number
JP2014559430A
Other languages
English (en)
Other versions
JPWO2014118938A1 (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Application granted granted Critical
Publication of JP5944537B2 publication Critical patent/JP5944537B2/ja
Publication of JPWO2014118938A1 publication Critical patent/JPWO2014118938A1/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/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/24Multipath

Description

本発明は、通信経路及び宛先を計算して、通信装置に設定するネットワーク制御装置に関する。
近年、ITコストの削減を目的に、各拠点に分散していたデータをデータセンタに集約して運用管理するクラウドサービスが進展している。クラウドサービスにおいては、端末が遠隔に存在するデータセンタ内のソフトウェアリソース(仮想サーバ、アプリケーション、データ)に接続するため、端末がDNS(Domain Name Server)にIP(Internet Protocol)アドレスを問い合わせると、DNSが端末から受け取ったドメイン名に対応するIPアドレスを応答する技術が開発されている。以下では、ドメイン名に対してIPアドレスを応答する技術を名前解決と呼ぶ。名前解決によって、端末はソフトウェアリソースを提供するサーバのIPアドレスを取得することができ、上記IPアドレス宛にパケットを送信することによって、ソフトウェアリソースを提供する計算機と接続を確立することが可能になる。
上記名前解決では、同一のソフトウェアが複数のデータセンタに分散する場合に、負荷分散、および端末から最寄りのデータセンタに接続することが課題である。負荷分散とは、一部のサーバに多量のトラフィックが集中することによってサーバのCPUやメモリや通信経路上の通信回線が圧迫することを軽減するため、複数のサーバにトラフィックを分散させることである。最寄りのデータセンタとは、端末からのRTT(Round Trip Time)が小さい低遅延なデータセンタである。上記名前解決では、DNSは端末の問い合わせに対して、端末から最寄りのデータセンタ内のサーバのIPアドレスを応答することができない。
他方、各通信装置の転送処理等を外部のネットワーク制御サーバによって一元的に制御するSDN(Software Defined Network)が検討されている。例えば、非特許文献1では、OpenFlowが提案されている。OpenFlowでは、通信装置がMACアドレス、IPアドレス、プロトコル種別、およびポート番号等の情報を含むフローテーブルを保持し、フローテーブルによって規定されるトラフィックのグループをフローとして定義する。ネットワーク制御サーバは、フローを特定するルール(条件)と、フローの処理方法を規定するアクションに基づいてトラフィック処理(転送先ポートの決定、宛先IPアドレス、ポート番号、および送信元IPアドレスの変更、廃棄処理等)を行う。本技術を用いることによって負荷分散や障害切替をすることが検討されている。
しかし、上記OpenFlow技術を用いた負荷分散や障害切替では、細かなフローエントリの設定により、負荷分散を実現するためには、複雑な処理が必要になるため、ネットワーク制御サーバの処理負荷が増大してしまい、ネットワーク制御サーバの処理遅延を招くことが予想される。
以下に上記問題に関係する従来技術を説明する。
特許文献1では、上記名前解決の課題を解決するため、EDNSと呼ばれる装置が、各LDNS(Local DNS)がドメイン名に対して応答するIPアドレスを変更する。これによって、LDNS毎に、端末からのIPアドレスの問い合わせに対して、異なるIPアドレスを応答することが可能になり、その結果、同一のソフトウェアを複数のサーバに分散配置している場合に、サーバ間で、CPUやメモリの負荷が分散される。さらに、IPアドレスと地理的な位置関係を取得することによって、LDNSから地理的に近いサーバのIPアドレスを通知することができる。これによって、端末は通信遅延が小さいサーバに通信接続することができる。
特許文献2では、上記通信経路の制御の課題を解決するため、通常の処理時は、DNSラウンドロビン機能により負荷分散を行い、複数のサービス提供サーバのそれぞれが、それぞれの負荷状況を監視し、自身に対する負荷が閾値以上であると判定すると、負荷分散要求をネットワーク制御サーバに発行し、ネットワーク制御サーバが負荷分散要求に応じて、通信装置に設定したフローエントリを変更する(段落0013〜0017)。これにより、ラウンドロビン機能による負荷分散方法で対処できない負荷の集中を防止すると共に、ネットワーク制御サーバにおける通信経路の変更処理にかかる処理負荷を軽減することができる。
特許文献3では、上記通信経路の制御の課題を解決するため、通信ネットワーク毎に運用系サーバおよび予備系サーバを設けずに、冗長構成を可能にすることを目的に、SNMP(Simple Network Management Protocol)で通信状況を監視する監視サーバが、異常が発生したことを検知すると、待機系サーバは障害が発生した運用系サーバの論理IPアドレスを取得して、通信経路を待機系サーバに切り替えるように通信装置に設定する(段落0005〜0007)。これによって、運用系サーバ及び予備系サーバを設けずに、冗長構成を形成することが可能になる。
米国特許第7441045号明細書 特開2011−170718号公報 特開2011−250033号公報
"OpenFlow Switch Specification Version1.3.0(Wire Protocol 0x04)"、Page6−21、 [online]、平成24年6月25日、OPEN NETWORKING FOUNDATION、[平成24年7月25日検索]
以下に、従来技術の課題を説明する。
端末のアプリケーションの変化に伴って、アプリケーションはより低遅延で広帯域な通信を求めており、他方で、広域ネットワークに流れるトラフィックの総量が肥大化している。そのため、端末からソフトウェアリソースを提供するサーバまでの通信遅延の低減、上記端末と上記サーバ間でのEnd-Endで利用可能な帯域の改善、広域ネットワークに流れるトラフィック総量の削減を目的に、現在、ソフトウェアリソースを集約している各データセンタを小規模化し、地理的に離れた各地に分散して設置するアーキテクチャになることが予想される。
データセンタを各地に分散して設置することは、従来の上記端末から上記サーバに接続する際にISP(Internet Service Provider)のネットワークによって構成されるインターネット等の広域ネットワークを経由するデータセンタに限らず、上記端末と上記インターネットとを繋ぐ通信事業者網内や上記通信事業者網よりも端末側のネットワークであるLAN(Local Area Network)等にデータセンタを設置することを示す。なお、以下では、データセンタとは、地理的に離れた各地に分散して設置されるデータセンタのことを示す。
また、本発明においては、端末とアプリケーションの組合せによってソフトウェアリソースを提供するデータセンタの位置が異なる場合がある。本発明においては、同一のLDNS(Local DNS)に問い合わせる複数の端末間で、最適なデータセンタが異なる可能性がある。ここで、最適なデータセンタとは、端末とアプリケーションに対応するソフトウェアリソースを提供しており、かつ、上記端末から上記ソフトウェアリソースを提供するサーバまでの通信遅延が小さい、または、上記端末と上記サーバ間でのEnd−to−Endで利用可能な帯域が大きい、または、広域ネットワークに流れるトラフィック量の削減効果が大きいデータセンタである。
しかし、前記特許文献1に示される名前解決を用いた方法では、LDNS毎にドメイン名に対するIPアドレスを規定するため、同一のLDNSに問い合わせた端末は、端末のネットワーク内における論理的位置が異なるために、最適なデータセンタが異なる場合でも、必ずしも最適なデータセンタ内のサーバのIPアドレスを応答されずに、上記複数の端末には、同じIPアドレスが応答されるか、ラウンドロビン機能によってランダムなIPアドレスが通知されてしまう。
更に、上記アーキテクチャでは、端末が、例えば、数百メートル移動することに伴って、ネットワーク内における論理的な位置が変更し、最適なデータセンタが変わる事象が頻繁に生じる。
しかし、特許文献1では、LDNSに登録されたIPアドレスを瞬時に変更したとしても、端末は、一度、LDNSに問い合わせたIPアドレスをキャッシュとして一定期間(通常、一日程度)保持しており、上記キャッシュをリフレッシュして、再度、LDNSに対して問い合わせない限り、端末が取得する宛先IPアドレスは変更されない。その結果、端末が移動することによって、最適なデータセンタが変わった場合にも、端末は元々接続していたデータセンタ内のサーバに接続し続けてしまう。
更に、上記アーキテクチャでは、データセンタの容量等の理由から、ソフトウェアリソースを提供するサーバが変更される可能性がある。
しかし、特許文献1では、ソフトウェアリソースを提供するデータセンタが変更された場合にも、端末が移動した場合と同様の理由で、端末が取得する宛先IPアドレスはLDNSに問い合わせない限り変更されない。その結果、ソフトウェアリソースを提供するデータセンタが変更された場合にも、端末は元々接続していたデータセンタ内のサーバに接続し続けてしまう。その結果、端末は、LDNSに再度、問い合わせるまでの間、ソフトウェアリソースに接続できなくなる。
特許文献2では、DNSのラウンドロビン機能を用いているため、特許文献1と同様に、同一のDNSに問い合わせた複数の端末間で、通信遅延が小さいデータセンタが異なる場合でも、必ずしも通信遅延が小さいデータセンタ内のサーバのIPアドレスが応答されずに、上記複数の端末には、ラウンドロビン機能によってランダムなIPアドレスが通知されてしまう。また、端末が移動した場合、およびソフトウェアリソースが提供されるデータセンタが変更された場合に、端末は元々接続していたデータセンタ内のサーバに接続し続けてしまう。
特許文献3では、通信経路上の全ての通信装置に対して通信経路を待機系サーバに切り替える設定を行うことができる場合に有効な手段であるが、全ての通信装置が上記設定に対応する装置ではない場合や、他事業者のネットワークを経由する場合には適用できない。そのため、データセンタ内等のローカルなエリアには適用できるが、複数事業者のネットワークが混在し、また、様々な通信装置が混在する広域ネットワークには適用が難しい。
上記の通り、従来技術では、広域ネットワークにソフトウェアリソースを提供するサーバが広域ネットワークに分散したアーキテクチャにおいて、端末とアプリケーションの組合せに対して最適なサーバに接続することが課題である。また、ソフトウェアリソースを提供するサーバが変更した場合や、端末が移動した場合等においても、端末が速やかに最適なサーバに接続することが課題である。
本発明は、通信装置に接続されてソフトウェアを提供するサーバと、前記通信装置に接続されて前記ソフトウェアを利用する端末と、前記複数の通信装置を接続するネットワークとを備えて、前記端末が前記サーバにアクセスする経路を設定する通信経路の管理方法であって、前記ネットワークに接続されて前記通信装置及びサーバを管理する管理計算機が、前記ソフトウェアを提供するサーバが同一である端末と、前記端末が実行するソフトウェアの組合せを論理的な集約グループに割り当てる第1のステップと、前記管理計算機が、前記集約グループ毎に前記通信装置の通信経路を設定する第2のステップと、を含む。
本発明によれば、端末のユーザが利用するソフトウェアリソースを提供するサーバがネットワークに分散して存在する場合に、端末数の増大やトラフィック量増大に対して、ネットワーク制御サーバの処理負荷と通信装置の処理負荷を抑えつつ、端末やアプリ毎に最適なサーバに接続を可能になる。また、前記ソフトウェアリソースを提供するサーバが変更された場合や、端末が移動した場合等においても、端末は速やかに最適なサーバに接続することが可能になる。
本発明の実施例を示し、計算機システムの一例を示すブロック図である。 本発明の実施例を示し、ネットワーク制御サーバの構成例を示すブロック図である。 本発明の実施例を示し、ネットワーク制御サーバのデータ記憶部の構成例を示すブロック図である。 本発明の実施例を示し、サーバが複数の計算機で構成された例を示すブロック図である。 本発明の実施例を示し、本発明の実施例を示し、ネットワーク制御サーバが保持する集約グループ情報の構成を例示する図である。 本発明の実施例を示し、ネットワーク制御サーバが保持する集約グループ変更コスト情報の構成を例示する図である。 本発明の実施例を示し、ネットワーク制御サーバが保持する集約グループ宛先情報の構成を例示する図である。 本発明の実施例を示し、ネットワーク制御サーバが保持する集約グループ宛先変更情報の構成を例示する図である。 本発明の実施例を示し、ネットワーク制御サーバが保持する通信装置間通信特性情報の構成を例示する図である。 本発明の実施例を示し、ネットワーク制御サーバが保持するアクセスポイント−通信装置間通信特性情報の構成を例示する図である。 本発明の実施例を示し、ネットワーク制御サーバが保持する要求通信特性情報の構成を例示する図である。 本発明の実施例を示し、ネットワーク制御サーバが保持するリソース提供位置情報の構成を例示する図である。 本発明の実施例を示し、ネットワーク制御サーバがリソース管理サーバに送信する名前解決情報の構成を例示する図である。 本発明の実施例を示し、ネットワーク制御サーバが通信装置に送信する設定情報の構成を例示する図である。 本発明の実施例を示し、経路切替における計算機システムの処理を例示するシーケンス図の前半部である。 本発明の実施例を示し、経路切替における計算機システムの処理を例示するシーケンス図の後半部である。 本発明の実施例を示し、端末がサービスルックアップする前にソフトウェアリソースを提供するサーバに接続する処理を例示するシーケンス図である。 本発明の実施例を示し、端末がサービスルックアップした後にソフトウェアリソースを提供するサーバに接続する処理を例示するシーケンス図である。 本発明の実施例を示し、障害や輻輳発生時に情報システムに通信接続する処理を例示するシーケンス図である。 本発明の実施例を示し、端末が移動して接続するアクセスポイントが変更される処理を例示するシーケンス図である。 本発明の実施例を示し、集約グループ判断部と集約グループ生成・変更部が集約グループを判断する処理を示すフローチャートである。 本発明の実施例を示し、集約グループの追加時に集約グループアドレス管理部が通信装置への設定情報を生成する処理を示すフローチャートである。 本発明の実施例を示し、集約グループの追加時に経路・宛先設定部が経路と宛先を通信装置に設定する処理を示すフローチャートである。 本発明の実施例を示し、集約グループの変更時に集約グループアドレス管理部が通信装置への設定情報を生成する処理を示すフローチャートである。 本発明の実施例を示し、集約グループの変更時に端末・アプリ管理部が端末とアプリケーションの組合せ毎に集約グループアドレス管理部が通信装置への設定情報を生成する処理を示すフローチャートである。 集約グループ変更時に経路・宛先設定部が経路と宛先を通信装置に設定する処理を示すフローチャートである。
以下、本発明の一実施の形態について添付図面を用いて説明する。
本実施例においては、端末の利用者(またはユーザ)が利用するソフトウェアリソースを提供するサーバの識別子が同一の端末と、アプリケーションの組合せを集約グループとして管理する。以下では、端末のユーザが利用するソフトウェアリソースの一例として、仮想サーバ、アプリケーション、データ、記憶領域(ストレージサービス)などの端末から利用可能なリソースとする。また、端末のユーザが利用するソフトウェアリソースは、DaaS(Desktop as a Service)などとして提供される仮想サーバや、SaaS(Software as a Service)などとして提供されるアプリケーション、およびデータであってもよい。また、サーバの識別子は、IPアドレス等とは異なり、ネットワーク制御サーバ(またはネットワーク制御装置)100が管理する一意の識別子である。
図1は、本実施例におけるコンピューティングシステムの構成を示すブロック図である。
本発明の実施例のコンピューティングシステムは、ネットワーク制御サーバ100、リソース管理サーバ110、サービスルックアップサーバ120、ネットワーク130、通信装置140(通信装置140−1〜140−n)、サーバ(サーバ150−1〜150−n)、アクセスポイント(アクセスポイント160−1〜160−n)、及び、端末170(170−1〜170−n)を備える。なお、端末、サーバや通信装置の符号は、個々の端末、サーバ及び通信装置を特定する際には、符号に添え字「−1〜−N」を付し、端末、サーバ、通信装置の総称を示す場合には添え字を用いないものとする。また、ネットワーク制御サーバ100、リソース管理サーバ110、サービスルックアップサーバ120はひとつの管理計算機で提供されても良い。
ネットワーク制御サーバ100は通信装置140を通過するトラフィック(またはパケット)を制御するための計算機である。ネットワーク制御サーバ100は、画面表示及びシステム操作の機能を、管理者等に提供する管理端末を備える。
ネットワーク制御サーバ100は、複数の通信装置140、リソース管理サーバ110、及び、サービスルックアップサーバ120に接続される。ネットワーク制御サーバ100は、各通信装置140を接続する通信経路を設定する。通信経路を設定する技術としては、前記非参照文献1で提案されているOpen Flowなどを適用することができる。通信装置140を接続する通信経路は、上記集約グループ毎、または、端末とアプリケーションの組合せ毎に設定される。
リソース管理サーバ110は、サーバ150、およびサーバ150で提供されるリソースを管理する計算機である。リソース管理サーバ110は、画面表示及びシステム操作の機能を、管理者等に提供する管理端末(図示省略)を備える。
リソース管理サーバ110は、複数のサーバ150と、ネットワーク制御サーバ100、及び、サービスルックアップサーバ120に接続される。リソース管理サーバ110は、各サーバ150で提供するソフトウェアリソースを計算し、ソフトウェアリソースを提供しているサーバ150を管理し、また、各端末170とアプリケーションの組合せ毎に接続するサーバ150を管理する。なお、端末170は、プロセッサとメモリと通信インタフェースとを含む計算機で構成される。リソース管理サーバ110、サービスルックアップサーバ120も同様であり、プロセッサとメモリと通信インタフェースとを含む計算機で構成される。
サービスルックアップサーバ120は、端末170とアプリケーションの組合せ毎に、最適なIPアドレスを応答する計算機である。サービスルックアップサーバ120は、画面表示及びシステム操作の機能を、管理者等に提供する管理端末(図示省略)を備える。
サービスルックアップサーバ120は、端末170、ネットワーク制御サーバ100、及び、リソース管理サーバ110に接続される。サービスルックアップサーバ120は、端末170からのIPアドレスの問い合わせに対して、端末170から受け取ったドメイン名と、端末170の識別子と、アプリケーションの識別子との組合せによって名前解決を実施して、端末170にドメイン名に対応するIPアドレスを応答する。ここで、端末170の識別子、アプリケーションの識別子とは、サービスルックアップサーバ120、リソース管理サーバ110、及び、ネットワーク制御サーバ100が独自に割り当てて、管理する一意の識別子である。
ネットワーク130は、IPアドレスでルーティングを行うインターネットのようなネットワーク、及び、ラベルやタグでスイッチングを行うMPLS(Multi−Protocol Label Switching)、QinQ、EoE(Ether over Ether)などのプロトコルによって構成される広域ネットワークである。ネットワーク130は複数のルータやスイッチなどのネットワーク装置とそれらを物理的に接続するケーブルまたはファイバーで構成される。また、本実施例のネットワークは仮想的に実装されたネットワークでもよい。
通信装置140は、ネットワーク制御サーバ100によって管理されるネットワーク装置である。通信装置140は、トラフィックのTCP/IP参照モデルにおけるレイヤ2、レイヤ3、レイヤ4のパケットのヘッダー情報を参照し、ネットワーク制御サーバ100によってトラフィックを転送または廃棄し、レイヤ2、レイヤ3またはレイヤ4のパケットのヘッダーの変更等を行う、ルータまたはスイッチ等で構成されたネットワーク装置である。また、本実施例の通信装置140は、仮想的に実装されたスイッチ等でもよい。
サーバ150は、リソース管理サーバ110によって管理される計算機である。サーバ150は、端末170のユーザが利用するソフトウェアリソースを提供して、端末170から情報の閲覧や更新の要求に応答して、端末170から要求された処理を行う。
また、サーバ150は、同じ集約グループに属する端末170とアプリケーションの組合せに対応する複数のサーバ150間で、データを同期することによって、端末170が、同一の集約グループに属する任意のサーバ150に、情報閲覧や更新の要求を送信した場合や、通信装置140がトラフィックの宛先を、同じ集約グループに属する端末170とアプリケーションの組合せに対応する他のサーバ150に変更した場合においても、サーバ150は端末170からの情報の閲覧や更新の要求に応答して、端末170から要求された処理を行う。更に、サーバ150間でデータやアプリケーション等を同期する際には、リソース管理サーバ110からの指示に従う。また、本実施例のサーバ150は仮想的に実装されたサーバでもよい。
アクセスポイント(図中AP)160は、WiFiや3G、LTEなどの電波を送受信する機能と、有線で構成されるネットワーク130と接続してトラフィックを送受信する機能を持つ。アクセスポイント160は、ローカルIPアドレスとグローバルIPアドレスとを相互変換するNAT(Network Address Translation)の機能、または一つのグローバルIPアドレスと複数のIPアドレスを相互変換するNAPT(Network Address and Port Translation)の機能などを持つ。
端末170は、携帯、スマートフォン、タブレット、PC等の計算機である。アクセスポイント160を経由して、通信装置140、サービスルックアップサーバ120、及び、ネットワーク制御サーバ100に接続する。
端末170は、画面表示及びシステム操作の機能を備えており、端末170の利用者は、サーバ150で提供されるソフトウェアリソースの情報を更新、削除、及び、閲覧することができる。端末170は、アクセスポイント160を経由することなく、ネットワーク130、または、通信装置140に接続してもよい。
図3は、サーバ150の一例を示すブロック図である。サーバ150は、ひとつの計算機で構成することもできるが、図3で示すように、複数の計算機180−1〜180−nを通信装置140−1に接続し、各計算機180で端末170のユーザが利用するソフトウェアリソースを提供することができる。この場合、符号150−1はノードとして機能する。そして、ノード150−1と通信装置140−1を合わせてデータセンタ15000−1として機能することができる。なお、計算機180は仮想計算機で構成することができる。
図2A、図2Bは、本実施例におけるネットワーク制御サーバ100の機能構成を示すブロック図である。なお、図2Aは、ネットワーク制御サーバの構成例を示すブロック図である。また、図2Bは、ネットワーク制御サーバのデータ記憶部230の構成例を示すブロック図である。
ネットワーク制御サーバ100は、プロセッサ21、メモリ22、通信IF250、データ記憶部230、及び、制御部211を備える。
通信IF250は、直接あるいはEMS(Element Management System)を介して、ネットワーク130の通信装置140に通信経路を設定、削除、又は変更する。また、通信IF250は、通信装置140が保持する情報を送信する指示を含むメッセージを、通信装置140に送信する。そして、通信IF250は、情報を含むメッセージを通信装置140から受信する。
データ記憶部230は、制御部211によって値の参照または更新が行われる。データ記憶部230は、ネットワーク制御サーバ100に備わる不揮発性の記憶装置等に構築される。
データ記憶部230は、集約グループ情報記憶部231、経路情報記憶部232、トポロジ情報記憶部233、端末・アプリ情報記憶部234を備える。以下にデータ記憶部230が保持する情報を示す。
集約グループ情報記憶部231は、端末170とアプリケーションの組合せのうち、特徴が類似(または一致)するもの同士を集約したグループの情報を保持する記憶部である。
特徴が類似するとは、ソフトウェアリソースが提供されるサーバ150の識別子が同じである、または、ソフトウェアリソースが提供されるサーバ150の識別子が同じで、かつ、端末170が要求する通信遅延や優先度などの通信特性が同等であることを示す。例えば、通信特性情報のうち通信遅延が閾値(例えば、30ms)以下で、帯域が閾値(例えば、200Mbps)以上であれば特徴は類似する、と判定することができる。
集約グループ情報記憶部231は、図2Bで示すように、後述する集約グループ情報テーブル1300、集約グループ変更コスト情報テーブル1400を保持する。
経路情報記憶部232は、通信装置140に設定する宛先や通信経路の情報を、集約グループ毎、または、ユーザとアプリケーションの組合せ毎に保持する記憶部である。
集約グループ情報記憶部231は、図2Bで示すように、後述する集約グループ宛先情報テーブル1500、及び、集約グループ宛先変更情報テーブル1900を保持する。
トポロジ情報記憶部233は、通信装置140間の通信遅延などの通信特性と、アクセスポイント160と通信装置140間の通信特性の情報を保持する記憶部である。
トポロジ情報記憶部233は、図2Bで示すように、後述する通信装置間通信特性情報テーブル1700、及びアクセスポイント−通信装置間通信特性情報テーブル1800を保持する。
端末・アプリ情報記憶部234は、端末170とアプリケーションの組合せ毎に要求される通信特性、及び、端末とアプリケーションの組合せ毎に、ソフトウェアリソースが提供されるサーバの識別子等を保持する記憶部である。
端末・アプリ情報記憶部234は、後述する要求通信特性情報テーブル1100、リソース提供位置情報テーブル1200を保持する。
制御部211は、データ記憶部230に保持される各種テーブルの値を参照し、各端末170とアプリケーションの組合せ毎に対応する集約グループを判定する。そして、制御部211は通信装置140に設定が必要か否かを判定し、設定が必要な場合には、宛先、通信経路、及び、帯域等を計算して、通信装置140に指示する。また、制御部211は、リソース管理サーバ110から、要求される通信特性やソフトウェアリソースの提供位置などの情報を受信する。なお、帯域は、実測値や理論値を適宜採用することができる。
また、制御部211は、リソース管理サーバ110に対して、ソフトウェアリソースを提供できるサーバの識別子の組合せ、及び、端末が接続するサーバの変更などを送信する。また、制御部211は、サービスルックアップサーバ120に対して、ドメイン名とIPアドレスの組合せを送信する。
制御部211は、図2Aのように、集約グループ判断部201、集約グループアドレス管理部202、集約グループ生成・変更部204、端末・アプリ管理部205、通信特性計算・計測部206、経路・リソース計算部208、経路・宛先設定部209の機能を含む。
集約グループ判断部201は、端末170とアプリケーションの組合せ毎に、要求通信特性情報等に基づいて集約グループを判断する機能である。
集約グループアドレス管理部202は、通信装置140毎に、集約グループに対して宛先と送信元のアドレス情報を生成する機能を含む。
集約グループ生成・変更部204は、新しい集約グループを生成する、または既存の集約グループのアドレス等を変更、または削除する機能である。
端末・アプリ管理部205は、端末170とアプリケーションの組合せの属する集約グループが変更された際に、端末170とアプリケーションの組合せのアドレスを生成、削除する機能である。
通信特性計算・計測部206は、通信装置140間、及びアクセスポイント160と通信装置140との間の、通信遅延等の通信特性を計測、または計算する機能である。
経路・リソース計算部208は、通信装置140がトラフィックを転送するポートを算出し、また、通信装置140が接続するネットワーク130がMPLS(Multi−Protocol Label Switching)やMPLS−TP(Multi−Protocol Label Switching Transport Profile)などの帯域を予約可能なネットワークである場合に、帯域を計算する機能を持つ。
経路・宛先設定部209は、通信装置140に対して、トラフィックの転送や廃棄または、レイヤ2、レイヤ3、レイヤ4のパケットのヘッダーの変更等を設定する。
メッセージ送受信部210は、経路・宛先設定部209によって生成されたデータに基づいて、トラフィックの転送、廃棄、レイヤ2、レイヤ3、レイヤ4のパケットのヘッダーの変更等を処理するための設定、設定変更、又は、設定を削除するためのメッセージを作成し、通信IF210を介してノード150に送信する。
また、メッセージ送受信部210は、通信IF250が通信装置140の情報に関するメッセージを、通信装置140から収集した際、収集されたメッセージを解釈し、通信特性計算・計測部206、集約グループ判断部201及び経路・リソース計算部208に送信する。
また、メッセージ送受信部210は、リソース管理サーバ110から、要求される通信特性やソフトウェアリソースの提供位置などの情報を受信し、また、リソース管理サーバ110に対して、ソフトウェアリソースを提供できるサーバの識別子の組合せ、端末170が接続するサーバの変更などを送信する。
また、メッセージ送受信部210は、サービスルックアップサーバ120に対して、ドメイン名とIPアドレスの組合せを送信する。
制御部211の各機能部はプログラムとしてメモリ22にロードされる。プロセッサ21は、各機能部のプログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、プロセッサ21は、集約グループ判断プログラムに従って動作することで集約グループ判断部201として機能する。他のプログラムについても同様である。さらに、プロセッサ21は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
制御部211の各機能を実現するプログラム、テーブル等の情報は、データ記憶部203や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
<データ記憶部>
以下、本実施例において、データ記憶部230が管理する情報について説明する。
<集約グループ情報記憶部231>
まず、図2Bで示すように、集約グループ情報記憶部231が管理する、集約グループ情報テーブル1300、及び、集約グループ変更コスト情報テーブル1400について説明する。
図4は、集約グループ情報テーブル1300を示す説明図である。
集約グループ情報テーブル1300は、集約グループ1301、リソース提供サーバ1302、通信特性情報1303、1304、端末1305、アプリ1306、コスト1307からひとつのレコードが構成される。
集約グループ1301は、集約グループの識別子であり、後述のソフトウェアリソースの提供位置が同じで、通信特性情報が類似する端末170とアプリケーションの組合せをグルーピングして管理するために用いる。
リソース提供サーバ1302は、ソフトウェアリソースを提供するサーバ150の識別子を格納する。識別子としては、例えば、ドメイン名である。通信特性情報は、集約グループに属するサーバ150間の通信特性を表わしており、通信遅延1303と、帯域1304に分類される。通信遅延はサーバ150間のRTT(Round Trip Time)を示す。3つ以上のサーバ150が含まれる場合には、各サーバ150間のRTTの最大値を示す。帯域はサーバ150間で流せるトラフィック量(ビットレート)を示す。3つ以上のサーバ150が含まれる場合には、各サーバ150間の帯域の最小値を示す。
端末1305は、携帯、スマートフォン、タブレット、PC等の計算機を一意に特定する識別子であり、リソース管理サーバ110などによって決定される端末170に固有の値であり、端末170の移動や再起動などによって変更しない不変値である。アプリ1306は、アプリケーションの識別子であり、リソース管理サーバ110などによって決定されるアプリケーション固有の値である。コスト1307は、集約グループを選択する指標の一つであり、集約グループを使用することに伴う経済的な負担を示す。すなわち、コストはサーバ150のプロセッサやメモリやストレージを使用することに伴うコストや、サーバ150間のネットワークの帯域を使用することに伴うコストを含む。
以下にコストCの計算方法を(1)式に例示する。
Figure 0005944537
コストCはサーバ150やストレージのコストCsと、ネットワークのコストCnの和で算出される。
ここで、サーバ150やストレージ(データ記憶部230)等サーバ150側のコストCsは、次の(2)式で算出される。
Figure 0005944537
ここで、A、A’はそれぞれ、現在のCPU使用量、CPUの総量であり、B、B’は、それぞれ、メインメモリの使用量、メインメモリ総量であり、D、D’はディスクストレージ使用量、ディクスストレージ総量である。α、β、γは0〜1の所定の係数である。
次に、ネットワークのコストCnの計算方法を(3)式に示す。ここでは、現用経路と予備経路が存在する場合を示す。予備経路が存在する場合には、予備経路に関する係数を0にすることによって、現用経路のみの場合のコストを計算することができる。
コストCnは、
Figure 0005944537
によって算出される。
ここで、a、vは余剰帯域の有無、b、wは遅延制約、c、xはdisjoint、d、yは帯域有効活用、e、zは負荷分散に関する項である。Disjointとは、単一障害による障害断を回避するため、現用経路と予備経路が同じリンクを経由しないことである。a、b、c、d、eは重み係数であり、v、w、x、y、zは、以下の(4)〜(6)式によって算出される関数である。
以下の式において、lはリンク、bl、rはそれぞれリンクlの余剰帯域、および契約帯域を示す。da、db、d’はそれぞれ現用パスの遅延、予備パスの遅延、および遅延制約を示す。mlはリンクlのメトリックであり、メトリックmlには、多くのパスを収容可能とするExponent法などを用いることができる。
Exponent法において、メトリックmlはリンクlの余剰帯域の物理帯域に対する割合の関数として算出される。La、Lbはそれぞれ現用パスが経由するリンクの集合、予備パスが経由するリンクの集合である。余剰帯域の有無、遅延制約、disjointの制約条件を満たす経路が選択される必要十分条件は、コストCnが下記の(7)式を満たすことである。
Figure 0005944537
Figure 0005944537
Figure 0005944537
Figure 0005944537
Figure 0005944537
これによって、遅延制約やdisjointを保ちつつ、余剰帯域が少ないリンクを迂回して負荷分散することができる。
集約グループ情報テーブル1300によって、ネットワーク制御サーバ100は、サーバ提供位置が同じで、通信特性情報が類似する、端末170とアプリケーションの組合せをグルーピングして管理することができる。そして、ネットワーク制御サーバ100は、通信装置140への設定メッセージを集約グループ毎にまとめて送信することによって、設定メッセージの量を削減することができる。その結果、ネットワーク制御サーバ100と、通信装置140のCPUやメモリの負荷を下げることができる。
また、集約グループ情報テーブル1300において、サーバ150と通信特性情報の両方を管理することによって、ネットワーク制御サーバ100は、後述の要求通信特性情報テーブル1100と照らし合わせることによって、端末170とアプリケーションの組合せ毎に必要となる通信特性を考慮して、端末170とアプリケーションの組合せをどの集約グループにするかを判断できる。
さらに、集約グループ情報テーブル1300において、ネットワーク制御サーバ100は、経済的な負担を考慮して、集約グループ毎にコストを管理することによって、端末170とアプリケーションの組合せをどの集約グループにするかを判断できる。また、コストの値Cを動的に変更することによって、負荷分散を行うことができる。
図5は、集約グループ変更コスト情報テーブル1400を示す説明図である。
集約グループ変更コスト情報テーブル1400は、端末1401、アプリ1402、変更コスト1403を含むレコードで構成される。
変更コスト1403は、ソフトウェアリソースを提供するサーバ150を変更することに対するネットワーク130やサーバの負荷、または、経済的な負担を示す。変更コストは、後述の要求通信特性情報テーブル1100の保管データ量と正の相関を持つ。例えば、保管データ量が小さい端末170とアプリケーションの組合せに対しては、サーバ150の変更に伴って転送するデータ量が少ないため、変更コスト1403は小さくなる。ネットワーク制御サーバ100は、例えば、変更コストが小さい端末170とアプリケーションの組合せに対して、集約グループを頻繁に変更するように判断する。これによって、保管データ量が少ないゲーム等のアプリケーションにおいては、集約グループを頻繁に変更することによって、端末170の移動に対して速やかに通信遅延が小さい集約グループに変更し、保管データ量が多い動画配信等のアプリケーションにおいては、集約グループを頻繁に変更しないことによって、集約グループの移動に伴う過負荷を回避することができる。
ここで、変更コストCmの計算方法を(9)式に例示する。
Figure 0005944537
ここで、Nは集約グループ変更に伴ってデータが移動するサーバiの集合である。Aiは、サーバiの移動するデータ量であり、biは移動するサーバiのデータを移動する際に経由する経路で使用可能な帯域であり、δiは0〜1の所定の係数である。
<経路情報記憶部232>
次に、経路情報記憶部232が管理する、集約グループ宛先情報テーブル1500、及び、集約グループ宛先変更情報テーブル1900について説明する。
図6は、集約グループ宛先情報テーブル1500を示す説明図である。
集約グループ宛先情報テーブル1500は、管理情報1501〜1503、ルール1504〜1507、及び、アクション1508〜1511を含んでひとつのレコードが構成される。
管理情報は、集約グループ1501、設定対象通信装置1502、転送先通信装置1503を含む。集約グループ1501は、アクセス先のサーバ150とアプリケーション(TCPポート番号)が同一の端末170をまとめるグループの識別子を格納する。設定対象通信装置1502は、ルールとアクションを設定する通信装置140を示す識別子である。上記識別子とは、例えば、運用管理用のIPアドレスなどである。転送先通信装置1503は、設定対象通信装置1502にトラフィックが流れてきた場合に、上記トラフィックを転送する宛先となる通信装置140の識別子である。
ルールは、設定対象通信装置1502にトラフィックが流れてきたときに、処理方法を決定するための条件である。ルールは、宛先アドレス1504、ポート番号1505、送信元アドレス1506、優先度1507を含む。
宛先アドレス1504は、受信したトラフィックの宛先IPアドレスである。ポート番号は、受信したトラフィックのTCPやUDPのポート番号で、アプリケーションを特定する。ポート番号は、宛先ポート番号、または、送り元ポート番号のいずれか、または、その両方を含む。送信元アドレス1506は、受信したトラフィックの送信元IPアドレスである。優先度1507は、トラフィックが複数の条件に合致した際に、どの処理を行うかを設定対象通信装置が判断するための優先度である。
アクションは、設定対象通信装置1502にトラフィックが流れてきたときの処理方法である。アクションは、出力宛先アドレス1508、出力ポート番号1509、出力送信元アドレス1510、出力ポート1511を含む。出力宛先アドレス1508は、設定対象通信装置1502に入力されたトラフィックを他のサーバ150へ転送する際に設定する、トラフィックの宛先IPアドレスである。出力宛先アドレス1508が同行の宛先アドレス1504と異なる場合には、トラフィックの宛先IPアドレスを変更することを意味する。
出力ポート番号1509は、出力宛先アドレス1508と同様に、トラフィックを転送する際に設定する、TCPまたはUDPのトラフィックのポート番号である。出力送信元アドレス1510は、出力宛先アドレス1508と同様に、設定対象に入ってきたトラフィックを転送する際に設定する、トラフィックの送信元アドレスである。出力ポート1511は、通信装置140が転送する際にトラフィックを送信するポートの識別子を示す。このポートは、通信装置140が有する複数のポートのうち、どのポートからトラフィックを出力するかを特定する。
ソフトウェアリソースを提供するサーバ150が同じ端末170とアプリケーションの組合せを集約グループとして管理することによって、集約グループ宛先情報テーブル1500において、端末170のIPアドレスではなく、サーバのIPアドレスに基づいてルールとアクションを規定することができる。これによって、ネットワーク制御サーバ100は、大量になる端末170のIPアドレス毎にルールとアクションを規定する場合に比べて、設定対象通信装置1502に送信するメッセージを削減することができる。その結果、ネットワーク制御サーバ100の処理負荷を軽減することができる。
また、設定対象通信装置1502においては、大量の端末170のIPアドレス毎にルールとアクションを規定する場合に比べて、保持するIPアドレス数が減少し、テーブルサイズが減少するため、設定対象通信装置1502がトラフィックの転送や廃棄処理を行う際の処理負荷を軽減することができる。
さらに、IPアドレスとポート番号1505は有限であり、特にIPv4ではIPアドレス数が枯渇している。端末170とアプリケーションの組合せではなく、集約グループに対して、ルールとアクションを規定することによって、使用するIPアドレスとポート番号数の肥大化を軽減することができる。
図7は、集約グループ宛先変更情報テーブル1900を示す説明図である。
集約グループ宛先変更情報テーブル1900は、ある端末170とアプリケーションの組合せに対して、ソフトウェアリソースを提供するサーバ150の移動に伴って、所属する集約グループが変更された上記端末170とアプリケーションの組合せを管理し、元の集約グループとは異なるアクションを管理するための情報である。
集約グループ宛先変更情報テーブル1900は、管理情報1901〜1906、ルール1907〜1910、及び、アクション1911〜1914を含んでひとつのレコードが構成される。管理情報1901〜1906は、端末1901、アプリ1902、変更前集約グループ1903、変更後集約グループ1904、設定対象通信装置1905、及び、転送先通信装置1906を含む。変更前集約グループ1903は、ソフトウェアリソースの移動前に端末170とアプリケーションの組合せが所属していた集約グループの識別子である。変更後集約グループ1904は、ソフトウェアリソースの移動後に、端末170とアプリケーションの組合せが属する集約グループの識別子である。
ルール1907〜1910、及び、アクション1911〜1914は、集約グループ宛先情報テーブル1500のルール1504〜1507、及び、アクション1508〜1511と同じである。
通信装置140は、基本的に、端末170のIPアドレスではなく、宛先または送信元のサーバのIPアドレスとポート番号を元に、処理方法を判断する。しかし、ソフトウェアリソースが異なるサーバ150に移動して、集約グループが変更された場合、端末170がサービスルックアップサーバ120に問い合わせて送信先IPアドレスの変更を行うまでの間、端末170が送信するトラフィックのIPアドレスは、元の集約グループに属するサーバのIPアドレスである。そのため、端末170はサービスルックアップサーバ120に問い合わせるまで、ソフトウェアリソースが提供されるサーバ150に接続できない。
そこで、集約グループ宛先変更情報テーブル1900によって、集約グループが変更された端末170とアプリケーションの組合せを、一定期間の間、端末170のIPアドレスやポート番号を元に、集約グループ宛先情報テーブル1500に規定されるアクションとは異なるアクションを、設定対象通信装置1905に設定可能になる。
これによって、端末170がサービスルックアップを行うまでの間、ネットワーク制御サーバ100は、通信装置140に、端末170のIPアドレスに基づいて通信経路を変更する指示を送ることによって、ソフトウェアリソースを提供するサーバ150の移動後に、端末170がサービスルックアップサーバに問い合わせるまでの間も、端末からのトラフィックが移動先のサーバに転送されるように設定することができる。
<トポロジ情報記憶部233>
次に、トポロジ情報記憶部233が管理する、通信装置間通信特性情報テーブル1700、及び、アクセスポイント−通信装置間通信特性情報テーブル1800について説明する。
図8は、通信装置間通信特性情報テーブル1700を示す説明図である。通信装置間通信特性情報テーブル1700は、通信装置140間の通信特性を示すもので、経路・リソース計算部208によって計測、または算出される。通信装置間通信特性情報テーブル1700は、通信装置1(1701)、通信装置2(1702)、通信遅延1703、帯域1704を含んでひとつのレコードが構成される。通信装置1(1701)、通信装置2(1702)は、通信装置140の識別子である。
通信遅延1703は、通信装置1と通信装置2の間のRTTである。帯域1704は通信装置1と通信装置2の間に流せるトラフィック量(ビットレート)である。
通信装置間通信特性情報テーブル1700の通信遅延1703と帯域1704は、通信装置140間、または通信装置140に接続するサーバ150間でICMP(Internet Control Message Protocol)等を用いて計測して求めることができる。なお、RTTは、測定値の内、最小値や平均値のうち予め設定した値を用いる。また、ビットレートについても、実測値や平均値あるいは理論値のうち予め設定した値を用いる。
図9は、アクセスポイント−通信装置間通信特性情報テーブル1800を示す説明図である。アクセスポイント−通信装置間通信特性情報テーブル1800は、通信装置140間の通信特性を示すもので、経路・リソース計算部208によって計測、または算出される。
通信装置間通信特性情報テーブル1800は、アクセスポイント1801、通信装置1802、通信遅延1803、及び、帯域1804を含んでひとつのレコードが構成される。アクセスポイント1801は、アクセスポイント160の識別子である。通信遅延1803はアクセスポイント160と通信装置140間のRTTである。帯域1804はアクセスポイント160と通信装置140の間に流せるトラフィック量(ビットレート)である。
アクセスポイント−通信装置間通信特性情報テーブル1800の通信遅延1803と帯域1804は、通信装置とアクセスポイント間、または通信装置やアクセスポイントに接続するサーバ間でICMP(Internet Control Message Protocol)等を用いて計測して求めることができる。なお、RTTは、測定値の内、最小値や平均値のうち予め設定した値を用いる。また、ビットレートについても、実測値や平均値あるいは理論値のうち予め設定した値を用いる。
通信装置間通信特性情報テーブル1700、アクセスポイント−通信装置間通信特性情報テーブル1800、及び、後述の要求通信特性情報テーブル1100の要求遅延と同テーブルのアクセスポイント1801によってネットワーク制御サーバ100は、端末170とアプリケーションの組合せ毎に、要求遅延を満たす通信装置140、またはその候補を選択することができる。
<端末・アプリ情報記憶部234>
次に、端末・アプリ情報記憶部234が管理する、要求通信特性情報テーブル1100、及び、リソース提供位置情報テーブル1200について説明する。
図10は、要求通信特性情報テーブル1100を示す説明図である。要求通信特性情報テーブル1100は、端末170とアプリケーションの組合せの情報を示し、端末170とアプリケーションの組合せをどの集約グループに属させるかを判断するために用いる。
要求通信特性情報テーブル1100は、端末・アプリ基本情報1101〜1105、切替可否フラグ1108、要求遅延1107〜1108、要求優先度1109、要求帯域1110〜1111、保管データ量1112、及び、アクセスポイント1113を含んでひとつのレコードが構成される。
端末・アプリ基本情報1101〜1105は、端末1101、端末アドレス1102、ポート番号1103、アプリ1104、セッション1105、切替可否フラグ1106を含む。端末1101は、端末170の識別子を格納する。端末アドレス1102は端末170のIPアドレスを示す。ポート番号1103は、端末170から送信されるトラフィックのTCPまたはUDPのポート番号を示す。セッション1105は、端末170とアプリケーションの組合せ毎に所有するセッションであり、例えば、クッキーなどである。
切替可否フラグ1106は、同一の集約グループに属するサーバ150に通信装置140が宛先を変更してよいか否かを示す。
要求遅延は、通信遅延(端末−サーバ間)1107と通信遅延(サーバ間)1108を含む。通信遅延(端末―サーバ間)1107は、アクセスポイント106とサーバ150の間に要求される通信遅延の閾値を示し、この閾値以下の値を要求することを意味する。通信遅延(サーバ間)1108は、サーバ150間に要求される通信遅延の閾値を示し、この閾値以下の値を要求することを意味する。要求優先度1109は、QoSを行う際の優先度が格納される。
要求帯域は、帯域(端末−サーバ間)1110と帯域(サーバ間)1111を含む。帯域(端末―サーバ間)1110は、アクセスポイント160とサーバ150間の間に要求される帯域の閾値を示し、この閾値以上の値を要求することを意味する。帯域(サーバ間)1111は、サーバ150間に要求される帯域の閾値を示し、この閾値以上の値を要求することを意味する。
保管データ量1112は、サーバ150で保持するデータ量(バイト)を示す。アクセスポイント1113は、端末170とアプリケーションの組合せが、最も頻繁に接続するアクセスポイント160の識別子を示す。
図11は、リソース提供位置情報テーブル1200を示す説明図である。リソース提供位置情報テーブル1200は、ネットワーク制御サーバ100が、リソース管理サーバ110から受け取る情報であり、ソフトウェアリソースが提供されているサーバ150の位置を示す。リソース提供位置情報テーブル1200は、集約グループ1201、端末1202、アプリ1203、リソース提供サーバ1204、アドレス1205、及び、ポート番号1206を含む。集約グループ1201、端末1202、アプリ1203にはそれぞれの識別子が格納される。
リソース提供サーバ1204は、端末170とアプリケーションの組合せ毎に、ソフトウェアリソースが提供されているサーバ150の識別子を示す。リソース提供サーバ1204、アドレス1205、ポート番号1206には、それぞれ複数の値を持つ場合があるが、リソース提供サーバ1204、アドレス1205、ポート番号1206はそれぞれ、所定の順序にて対応づけられて管理される。
<設定情報>
次に、制御部211が、データ記憶部230で管理されるデータを元に作成する、名前解決情報テーブル1600、及び、設定情報テーブル1950について説明する。
図12は、名前解決情報テーブル1600を示す説明図である。
名前解決情報テーブル1600は、後述する図14のシーケンス2135において、ネットワーク制御サーバ100が、リソース管理サーバ110に送信する名前解決要求に含まれる。名前解決情報テーブル1600には、集約グループを格納する集約グループ1601と、集約グループに対応するサーバ150の名称または識別子を格納するリソース提供サーバ1602と、当該サーバ150のIPアドレスを格納するアドレス1603、及び、アプリケーションが使用するポート番号1604が含まれる。なお、サーバ150の名称または識別子は、例えば、URLやドメイン名で構成することができる。
図13は、設定情報テーブル1950を示す説明図である。設定情報テーブル1950は、後述する図14のシーケンス2130において、ネットワーク制御サーバ100が、通信装置140−1、及び140−2毎に生成し、後述する図14のシーケンス2130において、ネットワーク制御サーバ100が、通信装置140−1、及び140−2にそれぞれ送信する設定変更に含まれる。
設定情報テーブル1950には、ルール1951〜1954とアクション1955〜1958が含まれる。ルール1951〜1954は、トラフィックを受信した通信装置140が処理方法を判断するための条件を示す。ルール1951〜1954には、宛先アドレス1951、ポート番号1952、送信元アドレス1953、優先度1954が含まれる。宛先アドレス1951は、受信したトラフィックのヘッダーに含まれる宛先IPアドレスを示す。ポート番号1952は、受信したトラフィックのヘッダーに含まれるTCPやUDPなどのポート番号を示す。送信元アドレス1953は、受信したトラフィックのヘッダーに含まれる送信元IPアドレスを示す。優先度1954は、受信したトラフィックが複数のルールに当てはまる場合に、どのルールに対応する処理(アクション)を優先的に適用するかを判断するための値を示す。ただし、通信の状態が輻輳、障害、または、メンテナンスによって、正常には通信ができない場合は、正常には通信できないルールをいて最も優先度が高いルールに対応する処理(アクション)を適用する。
宛先アドレス1955は、転送する際にトラフィックのヘッダーにつける宛先IPアドレスを示す。ポート番号1956は、転送する際にトラフィックのヘッダーにつけるTCPやUDPなどのポート番号を示す。送信元アドレス1957は、転送する際にトラフィックのヘッダーにつける送信元IPアドレスを示す。出力ポート1958は、通信装置140が出力するポートの位置を特定する番号である。
<シーケンスの説明>
図14A、図14Bは、本実施例における集約グループ判断、及び、宛先と経路切替の設定を行う処理を示すシーケンス図である。
シーケンス2010において、端末170−1は、サービスルックアップを行う。サービスルックアップとは、サーバ150で提供されるソフトウェアリソースを、端末170の画面で閲覧や更新する上で、端末170はサーバ150−1または150−2に接続する必要があり、端末170が接続するサーバ150のIPアドレスを問い合わせることを示す。サービスルックアップは、端末170の利用者によるアプリケーションの起動または再起動した際、あるいは、端末170が備えるタイマー機能によって定期的に起動する。
定期的にルックアップを起動することによって、一定期間(端末170がルックアップを実行する期間より長い時間)後に、図23のステップ5630において、ネットワーク制御サーバ100は、端末・アプリ毎設定情報を削除することができる。
シーケンス2020において、端末170−1は、サービスルックアップサーバ120に名前解決要求を送信する。名前解決要求には、ソフトウェアリソースを提供するドメイン名が含まれる。本ドメイン名は、端末170とアプリケーションの組み合わせ毎に、一意に決まるソフトウェアリソースを提供するサーバ150の識別子である。
シーケンス2030において、サービスルックアップサーバ120は、名前解決応答を、端末170−1に送信する。名前解決応答には、ドメイン名に対応するIPアドレス、及び、ポート番号が含まれる。サービスルックアップサーバ120が、問い合わせを受けた端末170とアプリケーションの組み合わせに対するドメイン名に対応するIPアドレス、及び、ポート番号を保持していない場合、サービスルックアップサーバ120は、デフォルトのサーバ150のIPアドレスを応答する。
シーケンス2040において、サービスルックアップサーバ120は、名前解決要求受信通知をリソース管理サーバ110に送信する。名前解決要求受信通知には、シーケンス2020において名前解決要求の送信元のIPアドレス、及び、ポート番号、及び、ステップ2030において通知したサーバのIPアドレス、及び、ポート番号が含まれる。シーケンス2020、及び、シーケンス2030の両方とも過去に送受信したメッセージと同じである場合には、シーケンス2040は省略して良い。
シーケンス2050において、リソース管理サーバ110は、リソース提供位置要求2050を、ネットワーク制御サーバ100に通知する。図11に示したリソース提供位置要求には、要求通信特性情報テーブル1100が含まれる。
ステップ2060において、ネットワーク制御サーバ100は、リソース提供位置の判定を行う。リソース提供位置の判定では、ネットワーク制御サーバ100が、要求通信特性情報テーブル1100、通信装置間通信特性情報テーブル1700、アクセスポイント−通信装置間通信特性情報テーブル1800、及び、集約グループ情報テーブル1300を参照して、リソース提供位置情報テーブル1200を算出し、集約グループ情報テーブル1300を更新する。
<集約グループ判断2060の処理>
以下、図14Aのシーケンス2060で行われる処理を、図19を用いて説明する。ここで、図19は、集約グループ判断部201と集約グループ生成・変更部204が集約グループを判断する処理の一例を示すフローチャートである。
まず、図19では、ステップ5010において、ネットワーク制御サーバ100のメッセージ送受信部210は、要求通信特性情報テーブル1100を受信すると、集約グループ判断部201に渡す。
ステップ5020において、集約グループ判断部201は、図4に示した要求通信特性情報テーブル1100をメッセージ送受信部210から受信すると、集約グループ情報テーブル1300を参照して、要件を満たす集約グループがあるか否かを判断する。
集約グループ判断部201は、要求通信特性情報テーブル1100の、端末・アプリ基本情報の端末1101、アプリ1104、切替可否フラグ、要求遅延の通信遅延(端末−サーバ間)1107、通信遅延(サーバ間)1108、保管データ量1112、及びアクセスポイント1113を取得する。
集約グループ判断部201は、図4に示した集約グループ情報テーブル1300の、通信特性情報の通信遅延1303が本ステップで取得した通信遅延(サーバ間)1108よりも小さく、かつ、通信特性情報の帯域1304が本ステップで取得した帯域(サーバ間)1111よりも大きい集約グループ1301、及び、ソフトウェアリソースを提供するサーバ1302を選択する。
集約グループ判断部201は、図9に示したアクセスポイント−通信装置間通信特性情報テーブル1800のアクセスポイント1801、及び、通信装置1802が、本ステップで取得した要求通信特性情報テーブル1100のアクセスポイント1113である行の、通信遅延1803と帯域1804を取得する。さらに、上記通信遅延1803が、本ステップで取得した通信遅延(端末−サーバ間)1107よりも小さく、かつ、上記帯域が本ステップで取得した帯域(端末−サーバ間)1111よりも大きい行のアクセスポイント1801、通信装置1802、通信遅延1803、及び、帯域1804を取得する。取得したアクセスポイント1801、通信装置1802、通信遅延1803、帯域1804の候補を以下では、それぞれアクセスポイント候補、通信装置候補、通信遅延候補、帯域候補と呼ぶ。
集約グループ判断部201は、図4に示した集約グループ情報テーブル1300のリソース提供サーバ1302が、通信装置候補に含まれる行の集約グループ1301とコスト1307を取得する。以下では、取得した集約グループ1301とコスト1307を以下では、それぞれ、集約グループ候補、コスト候補と呼ぶ。
集約グループ候補が一つ以上ある場合にはステップ5040に進む。集約グループ候補が一つも存在しない場合には、ステップ5030に進む。
ステップ5030において、集約グループ生成・変更部204は、集約グループ情報テーブル1300に新しい集約グループを追加する。以下では、追加した集約グループを新規集約グループと呼ぶ。
集約グループ生成・変更部204は、集約グループ情報テーブル1300の新規集約グループの行のリソース提供サーバ1302に、通信装置候補を追加する。通信装置候補が多数存在する場合には、通信遅延候補の合計が所定の閾値以下、または帯域候補の合計が所定の閾値よりも大きい通信装置候補の組合せを選択し、当該通信装置140に隣接するサーバを取得する。以下では、選択した通信装置候補を新規通信装置と呼び、取得したサーバ150を新規リソース提供サーバと呼ぶ。
これによって、集約グループに登録されるリソース提供サーバ1302の数を減らすことができ、集約グループ内のリソース提供サーバの組合せ数で必要となるIPアドレスの数とポート番号の数の肥大化を抑えることができる。
集約グループ生成・変更部204は、ステップ5010において取得した切替可否フラグ1106がNOになっており、通信装置候補が複数ある場合には、通信遅延候補が最小である通信装置を通信遅延候補、それに対応するサーバを新規リソース提供サーバとする。
これによって、通信装置140が、リソース管理サーバ110から通知を受けることなく、障害や輻輳が発生した場合の宛先の変更や端末170が接続するアクセスポイントの変更に伴う宛先の変更を、通信装置140で自律的に行う端末170とアプリケーションの組合せと、自律的に行わない端末170とアプリケーションの組合せを共存させることができる。
集約グループ生成・変更部204は、図8に示した通信装置間通信特性情報テーブル1700の通信装置1(1701)、通信装置2(1702)が新規通信装置である行の通信遅延1703と帯域1704を取得し、取得した通信遅延1703の最大値を最大通信遅延、帯域1704の最小値を最小帯域として取得する。
集約グループ生成・変更部204は、新規集約グループの行のリソース提供サーバ1302に、新規リソース提供サーバを追加し、通信遅延1303に最大通信遅延を追加し、帯域1304に最小帯域を追加し、端末1305にステップ5010で取得した端末170を、アプリ1306にステップ5020で取得したアプリを追加する。
ステップ5030の処理を実施した後、ステップ5080に進む。
ステップ5040において、集約グループ判断部201は、集約グループを変更するか否かを判断する。
集約グループ判断部201は、集約グループ情報テーブル1300の端末1305、及び、アプリ1306が、それぞれ、ステップ5020において取得した要求通信特性情報テーブル1100の端末1101、アプリ1104である行が存在するか否かを判定し、存在する場合には同行の集約グループを取得する。以下では、取得した集約グループを既存集約グループと呼ぶ。
集約グループ判断部201は、既存集約グループと同行の通信遅延1303、帯域1304、及びコスト1307と、ステップ5020において取得した通信遅延候補、帯域候補、コスト候補を比較する。既存集約グループと同行の通信遅延1303が通信遅延候補よりも大きい、または、既存集約グループと同行の帯域1304が帯域候補よりも小さい、または、既存集約グループと同行のコスト1307がコスト候補よりも大きい場合に、集約グループを変更すると判断する。
なお、集約グループ判断部201は、図5に示した集約グループ変更コスト情報テーブル1400の端末1401、アプリ1402が、要求通信特性情報テーブル1100の端末1101、アプリ1104に一致する行の変更コスト1403を取得し、既存集約グループと同行のコストが、コスト候補と変更コスト1403の和よりも大きい場合に集約グループを変更すると判断してもよい。
これによって、集約グループ判断部201は、集約グループの変更に伴う負荷を加味して集約グループ変更の要否を判断することができる。通信装置140間の通信遅延や帯域は短い期間で変動することに伴って、端末170とアプリケーションの組合せに対して最適な集約グループが頻繁に変更することを防ぐことができる。
その結果、集約グループの変更によってソフトウェアリソースを提供するサーバ150が移動するために流れるトラフィックによって、ネットワーク130の帯域が消費されて、端末170とサーバ150間、またはサーバ150とサーバ150間の通信の帯域が圧迫されることを防ぐことができる。また、ソフトウェアリソースをサーバ150間で移動する際に、サーバ150がソフトウェアリソースを削除、追加することによるサーバ150のCPUやメモリのリソースの圧迫を防ぐことができる。
集約グループを変更すると判断した場合は、ステップ5050に進む。集約グループを変更しないと判断した場合は、ステップ5045に進む。
ステップ5045において、集約グループ判断部201は、リソース提供位置を変更しないことを、メッセージ送受信部210を介してリソース管理サーバ110に通知する。例えば、集約グループ判断部201は、空のリソース提供位置情報テーブル1200を、メッセージ送受信部210を介してリソース管理サーバ110に送信する。
ステップ5050において、集約グループ判断部201は、ステップ5040において、既存集約グループと同行の通信遅延1303が通信遅延候補よりも大きい、または、既存集約グループと同行の帯域1304が帯域候補よりも小さい、または、既存集約グループと同行のコスト1307がコスト候補よりも大きいと判断した候補集約グループを、変更先集約グループとして取得する。
ステップ5060において、集約グループ生成・変更部204は、変更先集約グループ、及び、ステップ5020において取得した端末1101、アプリ1104を、図11に示したリソース提供位置情報テーブル1200の新しい行の集約グループ1201、端末1202、及び、アプリ1203に追加し、同行のリソース提供サーバ1204に、集約グループ情報テーブル1300の集約グループが変更先集約グループである行のリソース提供サーバを追記する。そして、集約グループ生成・変更部204は、リソース提供位置情報テーブル1200の、同行のアドレス1205、ポート番号1206に、未使用のアドレスとポート番号の組合せであるIPアドレスと、ポート番号を追加する。
ステップ5070において、集約グループ判断部201は、ステップ5060において追記したリソース提供位置情報テーブル1200を、メッセージ送受信部210を介してリソース管理サーバ110に送信する。
ステップ5070の処理を行った後、ネットワーク制御サーバ100は、待機状態となり、図14Aのシーケンス2110において、宛先/経路設定要求を受信した際に、図21のCへ進む。
ステップ5080において、集約グループ生成・変更部204は、リソース提供位置情報テーブル1200を作成する。集約グループ生成・変更部204は、新規集約グループ、及び、ステップ5020において取得した端末1101、アプリ1104を、リソース提供位置情報テーブル1200の新しい行の集約グループ1201、端末1202、及び、アプリ1203に追加し、同行のリソース提供サーバ1204に新規リソース提供サーバを追記し、同行のアドレス1205、ポート番号1206に、未使用のアドレス、及び、ポート番号を追加する。
ステップ5090において、集約グループ判断部201は、ステップ5080において追記したリソース提供位置情報テーブル1200を、メッセージ送受信部210を介してリソース管理サーバ110に送信する。
ステップ5090の処理を行った後、ネットワーク制御サーバ100は、待機状態となり、図14Aのシーケンス2110において、宛先/経路設定要求を受信した際に、図20のAへ進む。
以上の処理により、ネットワーク制御サーバ100は、端末170とソフトウェアの組合せ毎に要求する通信特性と、端末170のネットワーク130上の位置に基づいて集約グループを割り当てることができる。
次に、図14Aのシーケンス2070において、ネットワーク制御サーバ100は、リソース提供位置情報を、リソース管理サーバ110に送信する。リソース提供位置情報には、図11に示したリソース提供位置情報テーブル1200が含まれる。
シーケンス2080において、リソース管理サーバ110は、リソース移動・複製要求2080を、リソース提供位置情報テーブル1200で指定される、リソース提供サーバ1204(サーバ150−1、150−2)に送信する。
シーケンス2090において、サーバ150−1は、リソース移動・複製要求で受け取ったメッセージに基づいて、サーバ150−2に、同メッセージで指定されるソフトウェアリソースを移動、または、複製する。ソフトウェアリソースを複製した場合、サーバ150−1とサーバ150−2は、同期することによって、いずれのサーバのリソースに対して端末170−1がデータを更新した場合においても、他方のサーバに更新が反映される。
シーケンス2100において、サーバ150−1、及び、サーバ150-2は、リソース管理サーバ110に対して、ソフトウェアリソースの移動、または、複製が完了したことを通知する。
シーケンス2110において、リソース管理サーバ110は、宛先/経路設定要求を、ネットワーク制御サーバ100に送信する。宛先/経路設定要求には、要求通信特性情報テーブル1100が含まれる。なお、本シーケンスにおいては、シーケンス2120において、ネットワーク制御サーバ100が受信した要求通信特性情報テーブル1100を保存している場合には、要求通信特性情報テーブル1100を送信する代わりに、端末・アプリ基本情報1101〜1105を送信してもよい。
次に、シーケンス2120において、ネットワーク制御サーバ100は、通信装置140に通信経路を設定するため、宛先/経路設定情報を生成する。
<宛先/経路設定情報生成2120>
以下、シーケンス2120における処理を、図20から図24を用いて説明する。図20と図21は新しくソフトウェアリソースを追加する場合の宛先/経路設定情報生成の処理を示す説明図であり、図22から図24は端末170とアプリケーションの組合せが異なる集約グループに変更する場合の宛先/経路設定情報生成の処理を示す説明図である。
図20は、集約グループの追加時に集約グループアドレス管理部202が通信装置への設定情報を生成する処理の一例を示すフローチャートである。図21は、集約グループの追加時に経路・宛先設定部209が経路と宛先を通信装置140に設定する処理の一例を示すフローチャートである。図22は、集約グループの変更時に集約グループアドレス管理部202が通信装置140への設定情報を生成する処理の一例を示すフローチャートである。図23は、集約グループの変更時に端末・アプリ管理部205が端末とアプリケーションの組合せ毎に集約グループアドレス管理部が通信装置への設定情報を生成する処理の一例を示すフローチャートである。図24は、集約グループ変更時に経路・宛先設定部209が経路と宛先を通信装置に設定する処理の一例を示すフローチャートである。
まず、図20のステップ5110において、集約グループアドレス管理部202は、図6に示した集約グループ宛先情報テーブル1500の集約グループ1501に、新規集約グループが格納されているか否かを判断する。集約グループ1501に、新規集約グループが格納されている場合は、図21のFへ進む。一方、集約グループ1501に、新規集約グループが格納されていない場合は、ステップ5120に進む。
ステップ5120において、集約グループアドレス管理部202は、集約グループ宛先情報テーブル1500に、新規集約グループの情報を追加する。
集約グループアドレス管理部202は、集約グループ宛先情報テーブル1500の集約グループ1501に、新規集約グループを追加し、同行の設定対象通信装置1502に、新規通信装置を追加する。集約グループアドレス管理部202は、新規通信装置が複数存在する場合には、総当たりになるように、転送先通信装置1503に、新規通信装置を追加する。なお、設定対象通信装置1502と転送先通信装置1503が同じ値が入る場合は、他の通信装置140に転送しないことを意味する。
集約グループアドレス管理部202は、集約グループ宛先情報テーブル1500の同行の宛先アドレス1504、及び、ポート番号1505に、リソース提供位置情報テーブル1200の集約グループ1201が新規集約グループであり、リソース提供サーバ1204が、本ステップで追加した設定対象通信装置1502である行のアドレス1205、及び、ポート番号1206を追加する。以下では、上記アドレス1205、及び、ポート番号1206をそれぞれ、転送前アドレス、転送前ポート番号と呼ぶ。
集約グループアドレス管理部202は、集約グループ宛先情報テーブル1500の同行の送信元アドレス1506には、任意のアドレスを意味する「任意」を追加し、同行の優先度1507に、設定対象通信装置1502と転送先通信装置1503が同じ行においては優先度に中優先を示す3、設定対象通信装置1502と転送先通信装置1503が異なる行においては3よりも優先度が低い4を追加する。
集約グループアドレス管理部202は、集約グループ宛先情報テーブル1500の設定対象通信装置1502と転送先通信装置1503が同じ行においては、出力宛先アドレス1508、及び、出力ポート番号1509に、同行の宛先アドレス1504、及び、ポート番号1505を追加する。そして、集約グループアドレス管理部202は、集約グループ宛先情報テーブル1500の出力送信元アドレス1510には、受信したトラフィックの宛先アドレスから変更しないことを意味する「変更なし」を追加し、出力ポートには隣接するリソース提供サーバに繋がるポート番号を追加する。
集約グループアドレス管理部202は、集約グループ宛先情報テーブル1500の設定対象通信装置1502と転送先通信装置1503が異なる行においては、出力宛先アドレス1508、出力ポート番号1509に、設定対象通信装置1502に隣接するサーバ150のアドレスとポート番号の組合せのうち、未使用であるIPアドレス、ポート番号を追加する。ここで追加したアドレス、ポート番号を以下では、転送アドレス、転送ポート番号と呼ぶ。
集約グループアドレス管理部202は、図11のリソース提供位置情報テーブル1200の集約グループが新規集約グループで、リソース提供サーバが新規リソース提供サーバである行のアドレス1205、及び、ポート番号1206に、転送アドレスと転送ポート番号を追加する。
集約グループアドレス管理部202は、集約グループ宛先情報テーブル1500の集約グループ1501に、新規集約グループを追加し、同行の設定対象通信装置1502、及び、転送先通信装置1503に新規通信装置を追加し、送信元アドレス1506、ポート番号1505に転送先アドレス、転送先ポート番号を追加し、優先度に中優先を意味する3を追加する。集約グループアドレス管理部202は、出力宛先アドレス1508には、受信したトラフィックの宛先アドレスから変更しないことを意味する「変更なし」を追加する。集約グループアドレス管理部202は、出力ポート番号1509、出力送信元アドレス1510には、それぞれ、転送前アドレス、転送前ポート番号を追加する。
本ステップにおいて、ネットワーク制御サーバ100は新規集約グループに含まれる各新規通信装置に対して、転送先通信装置1503に、同一の集約グループ(新規集約グループ)に含まれる他の新規通信装置を追加する。この追加によって、ネットワーク制御サーバ100は、通信装置140に対して、通常時は、優先度が中優先である隣接するサーバ150への転送を行う処理を指示する。
そして、ネットワーク制御サーバ100は、通信装置140と隣接するサーバ150間での通信障害や輻輳、または隣接するサーバ150内における障害、メンテナンスによって他のサーバ150に通信を切り替える場合に、上記サーバ150のIPアドレスを端末170が宛先IPアドレスとして送信した際に、優先度が低優先である、他の転送先通信装置を経由して、同一の集約グループであるサーバに宛先を変更して送信する処理を指示することが可能になる。
上記指示によって、上記障害、輻輳、または、メンテナンス時に、通信装置140は指示に従って自律的に宛先を切り替えることができるため、障害時の宛先切替時間を短縮できる。また、通信装置140がネットワーク制御サーバ100に処理方法の指示を要求することがないため、複数の通信装置140が集約グループ毎にネットワーク制御サーバ100に指示を要求してCPUやメモリのリソースを圧迫することを防ぐことができる。
出力宛先アドレス1508、及び、出力ポート番号1509に、同行の宛先アドレス1504、及び、ポート番号1505を追加し、出力送信元アドレス1510には、受信したトラフィックの宛先アドレスから変更しないことを意味する「変更なし」を追加し、出力ポート1511には隣接するサーバ150に接続された通信装置140のポート番号を追加する。
また、本ステップによって、宛先アドレス1504とポート番号1505を転送先アドレス、転送先ポート番号に変更することを指示する設定対象通信装置1502と同行の、転送先通信装置1503に対して、送信元アドレス1506、ポート番号1505を転送前アドレス、転送前ポート番号に変更する処理を設定することが可能になる。そのため、宛先アドレス1504とポート番号1505を変更した設定対象通信装置1502で送信元アドレス1506とポート番号1505を変更する場合に比べて、トラフィックは設定対象通信装置1502を必ずしも経由する必要がないため、経由する通信装置140の数が減少し、トラフィックの通信遅延は小さくなり、また、経由する通信装置140の帯域消費を低減することが可能になる。
ステップ5220の処理を行った後、図21のBへ進む。
図21は、通信装置140に対して宛先と通信経路の設定を行う処理を示すフローチャートである。
ステップ5520において、経路・宛先設定部209は、集約グループアドレス管理部202が、ステップ5120において、集約グループ宛先情報テーブル1500に追記した行の設定対象通信装置1502を取得し、設定対象通信装置1502が同一である行のルール1504〜1507、及びアクション1508〜1511を、設定情報テーブル1950のルール1951〜1954、アクション1955〜1958に追加することで、設定対象通信装置1502毎に、設定情報テーブル1950を生成する。
ステップ5530において、経路・宛先設定部209は、ステップ5520で取得した各設定対象通信装置に対して、通信IF210を介して、各通信装置140に対応する設定情報テーブル1950を送信する。
ステップ5540において、集約グループ判断部201は、図12に示した名前解決情報テーブル1600の集約グループ1601に新規集約グループを追加し、同行のリソース提供サーバ1602、アドレス1603、ポート番号1604に、それぞれ、リソース提供位置情報テーブル1200の集約グループが新規集約グループである行のリソース提供サーバ1204、アドレス1205、ポート番号1206を追加する。
集約グループ判断部201は、メッセージ送受信部210を介して、名前解決情報テーブル1600を、リソース管理サーバ110に送信する。
ステップ5540の処理を行うと、通信装置140に対する宛先と通信経路の設定処理が完了する。
図22は、端末170とアプリケーションの組合せが異なる集約グループに変更する場合に、宛先と通信経路を計算する処理を示すフローチャートである。
ステップ5210、及び、ステップ5220は、図20のステップ5110、及び、ステップ5120において、新規集約グループとなっている箇所を、変更先集約グループに変更したものである。そして、ステップ5210において、ステップ5050で選択した集約グループが集約グループ宛先情報テーブル1500に存在すると判断した場合に、図20のFに代わって、Gに進むと変更したものである。
図23は、端末170とアプリケーションの組合せが異なる集約グループに変更する場合に、送信元アドレスに基づいて宛先を変更するための宛先と通信経路を計算する処理を示すフローチャートである。
ステップ5310において、端末・アプリ管理部205は、集約グループ宛先情報テーブル1500を参照して、変更先集約グループの情報を取得する。
端末・アプリ管理部205は、集約グループ宛先情報テーブル1500の集約グループ1501が変更先集約グループである行の管理情報1501〜1503、ルール1504〜1507、アクション1508〜1511を取得する。
ステップ5320において、端末・アプリ管理部205は、ステップ5010で受け取った要求通信特性情報テーブル1100を参照して端末1101とアプリ1104を取得する。
ステップ5330において、端末・アプリ管理部205は、集約グループ宛先変更情報テーブル1900に変更後集約グループの情報が存在するか否かを判断する。
端末・アプリ管理部205は、集約グループ宛先変更情報テーブル1900の、端末1901、及び、アプリ1902がステップ5020において取得した端末1101、アプリ1104であり、かつ、変更後集約グループが変更先集約グループである行が存在するか否かを判断する。変更後集約グループが変更先集約グループである行が存在する場合、図24のGに進む。一方、存在しない場合、ステップ5340に進む。
ステップ5340において、端末・アプリ管理部205は、集約グループ宛先変更情報テーブル1900に新しく変更先集約グループを追加する。
端末・アプリ管理部205は、集約グループ宛先変更情報テーブル1900の端末1901、アプリ1902、ステップ5320において取得した端末1101、アプリ1104を追加し、変更前集約グループに、図19のステップ5040で取得した既存集約グループを追加し、変更後集約グループに図19のステップ5050で取得した変更先集約グループを追加する。
端末・アプリ管理部205は、集約グループ宛先変更情報テーブル1900の設定対象通信装置1905、転送先通信装置1906、ルール1907〜1910、及び、アクション1911〜1914に、それぞれ、集約グループ宛先情報テーブル1500の集約グループが変更先集約グループである行の設定対象通信装置1502、転送先通信装置1503、ルール1504〜1507、及び、アクション1508〜1511を追加し、下記3点を変更する。
端末・アプリ管理部205は、集約グループ宛先情報テーブル1500の宛先アドレスが任意になっている場合は、集約グループ宛先変更情報テーブル1900の宛先アドレス1907をステップ5020にて取得した端末1101のアドレスにする。
端末・アプリ管理部205は、集約グループ宛先情報テーブル1500の送信元アドレスが任意になっている場合は、集約グループ宛先変更情報テーブル1900の送信元アドレス1909をステップ5020にて取得した端末1101のアドレスにする。
端末・アプリ管理部205は、集約グループ宛先変更情報テーブル1900の優先度1910を、集約グループ宛先情報テーブル1500の優先度が中優先の3になっている場合には、最高優先を意味する1に、低優先になっている場合には、高優先を意味する2に設定する。
ステップ5340の処理を行った後、図24のEへ進む。
図24は、端末170とアプリケーションの組合せが異なる集約グループに変更する場合に、通信装置140に対して宛先と通信経路の設定を行う処理を示すフローチャートである。
ステップ5620において、経路・宛先設定部209は、設定対象通信装置毎に、設定情報を生成する。
集約グループアドレス管理部202が、ステップ5220において、集約グループ宛先情報テーブル1500に追記した行の設定対象通信装置1502を取得し、設定対象通信装置1502が同一である行のルール1504〜1507、及びアクション1508〜1511を、設定情報テーブル1950のルール1951〜1954、アクション1955〜1958に追加する。
また、経路・宛先設定部209は、集約グループアドレス管理部202が、ステップ5340において、集約グループ宛先変更情報テーブル1900に追記した行の設定対象通信装置1905を取得し、設定対象通信装置1905が同一である行のルール1907〜1910、及びアクション1911〜1914を、設定情報テーブル1950のルール1951〜1954、アクション1955〜1958に追加する。以下では、集約グループ宛先変更情報テーブル1900を元に追記した内容を端末・アプリ毎設定情報と呼ぶ。
ステップ5630において、経路・宛先設定部209は、ステップ5620で取得した各設定対象通信装置に対して、通信IF210を介して、各通信装置140に対応する設定情報テーブル1950を送信する。
ステップ5640において、集約グループ判断部201は、名前解決情報テーブル1600の集約グループ1601に新規集約グループを追加し、同行のリソース提供サーバ1602、アドレス1603、ポート番号1604に、それぞれ、リソース提供位置情報テーブル1200の集約グループが変更先グループである行のリソース提供サーバ1204、アドレス1205、ポート番号1206を追加する。
集約グループ判断部201は、メッセージ送受信部210を介して、名前解決情報テーブル1600を、リソース管理サーバ110に送信する。
ステップ5640の処理を行うと、通信装置140に対する宛先と通信経路の設定処理が完了する。
上記図22〜図24の処理によって、ソフトウェアリソースを提供するサーバ150が変更されることによって集約グループが変更したにもかかわらず、端末170が、ソフトウェアリソースが元々提供されていたサーバ150のアドレス、ポート番号を宛先にして送信してしまった場合でも、通信装置140が自律的に宛先を、ソフトウェアリソースが提供されるサーバ150に転送することが可能になる。これによって、ソフトウェアリソースが移動した後に、端末170はサービスルックアップを行う前であっても、ソフトウェアリソースを継続して利用することが可能になる。
なお、ネットワーク制御サーバ100は、ステップ5630で設定した端末・アプリ毎設定情報を、一定期間後、またはリソース管理サーバ110から通知を受けた際に削除する指示を設定対象通信装置に指示してもよい。ここで、一定期間とは、図14のシーケンス2010において端末170がルックアップを行う時間よりも長い任意の時間である。これによって、通信装置が保持する情報のうち、最も膨大になる可能性がある、端末・アプリ毎設定情報を減らすことができ、通信装置が保持するフォワーディングテーブルの肥大化による通信装置140の処理負荷圧迫を抑えることができる。
次に、図14Aに戻り、シーケンス2130において、ネットワーク制御サーバ100は、集約グループ宛先情報テーブル1500に追記した列の設定対象通信装置1502に、設定変更メッセージを送信する。設定変更メッセージには、設定情報テーブル1950が含まれる。
シーケンス2135において、ネットワーク制御サーバ100は、リソース管理サーバ110に対して、宛先/経路設定の完了を通知する。宛先/経路設定完了通知には、名前解決情報テーブル1600が含まれる。
次に、図14Bのシーケンス2140において、リソース管理サーバ110は、サービスルックアップサーバ120に対して、名前解決変更要求を通知する。名前解決変更要求通知には、名前解決情報テーブル1600が含まれる。
シーケンス2150において、リソース管理サーバ110は、リソース移動・複製後処理要求を、ステップ2080においてリソース移動・複製要求を送信したサーバ150−1に送信する。リソース移動・複製後処理とは、ソフトウェアリソースをサーバ150−1から150−2への移動することに伴って、不要になったサーバ150−1に存在する情報(ソフトウェアリソース)を削除することなどである。本ステップは、リソース移動・複製後処理が不要な場合には省略することができる。
次に、シーケンス2160において、サーバ150−1は、上述のリソース移動・複製後処理を実行する。
以上の処理により、ソフトウェアリソースがサーバ150−1からサーバ150−2へ移動して、端末170−1が所属する集約グループのアクセスは、サーバ150−2に対して行われる。
図15〜図18は、本実施例における端末170がソフトウェアリソースを閲覧または更新する処理を示すシーケンス図である。
図15は、上述した図14A、図14Bのシーケンス図の処理が一通り行われた直後から、再度、シーケンス2010からシーケンス2030の処理と同等の処理を実行するまでの間に、端末170がソフトウェアリソースに対して、閲覧または更新要求する処理を示すシーケンス図である。この処理は、端末170−1のサービスルックアップ以前のものである。
図15のシーケンス2210において、端末170−1は、サーバ150−1宛に情報閲覧・更新を送信する。情報閲覧・更新のトラフィックの宛先IPアドレスとポート番号は、端末170−1がサービスルックアップサーバ120から、最後に受信した名前解決応答に示されるIPアドレスとポート番号であり、送信元IPアドレスは端末170−1自身のIPアドレスである。
シーケンス2220において、通信装置140−1は、シーケンス2210において、端末170-1が送信した情報閲覧・更新のトラフィックを受信すると、宛先変更を行う。通信装置140−1は、受信したトラフィックの宛先IPアドレス、ポート番号、送信元IPアドレスを取得し、設定情報テーブル1950のルール1951〜1954に合致する行のアクション1955〜1958に規定される処理を受信したトラフィックに行う。
シーケンス2230において、通信装置140−1はシーケンス2220で処理したトラフィックの宛先IPアドレス、ポート番号がサーバ150−2である場合には、通信装置140−2に送信する。
シーケンス2240において、通信装置140−2は受信した情報閲覧・更新のトラフィックをサーバ150−2に転送する。
シーケンス2240においてサーバ150−2は情報閲覧・更新に対する応答を、通信装置140−2に送信する。この際、送信するトラフィックにおいては、宛先IPアドレスを受信したトラフィックのヘッダーに記載される送信元IPアドレス、ポート番号を、受信したトラフィックのヘッダーに記載されるポート番号、送信元IPアドレスを受信したトラフィックのヘッダーに記載される宛先IPアドレスとする。
シーケンス2260において、通信装置140−2は、シーケンス2250において、サーバ150−2が送信した応答のトラフィックを受信すると、宛先変更を行う。通信装置140−2は、受信したトラフィックの宛先IPアドレス、ポート番号、送信元IPアドレスを取得し、設定情報テーブル1950のルール1951〜1954に合致する行のアクション1955〜1958に規定される処理を受信したトラフィックに行う。
シーケンス2270において、通信装置140−2は受信した情報閲覧・更新のトラフィックを端末170−1に転送する。
図16は、図14A、図14Bに示したシーケンス図の処理一通りが行われた後に、再度、シーケンス2010からシーケンス2030の処理と同等の処理を実行した場合に、端末170がソフトウェアリソースを提供するサーバ150に対して、閲覧または更新要求する処理を示すシーケンス図である。この処理は、端末170−1のサービスルックアップ以降の処理である。
シーケンス2310において、端末170−1は、サービスルックアップを行う。サービスルックアップは、端末170の利用者によるアプリケーションの起動または再起動後、あるいは、端末170−1が持つタイマー機能によって定期的に起動する。
シーケンス2320において、端末170−1は、サービスルックアップサーバ120に名前解決要求を送信する。
シーケンス2330において、サービスルックアップサーバ120は、名前解決応答を、端末170−1に送信する。名前解決応答には、ドメイン名に対応するIPアドレス、及び、ポート番号が含まれる。
シーケンス2340において、端末170−1は、サーバ150−2宛に情報閲覧・更新を送信する。情報閲覧・更新のトラフィックの宛先IPアドレスとポート番号は、端末170−1がサービスルックアップサーバ120から、最後に受信した名前解決応答に示されるIPアドレスとポート番号であり、送信元IPアドレスは自身のIPアドレスである。
シーケンス2340において、通信装置140−2は受信した情報閲覧・更新のトラフィックをサーバ150−2に転送する。
シーケンス2350においてサーバは情報閲覧・更新に対する応答を、通信装置140−2に送信する。この際、送信するトラフィックにおいては、宛先IPアドレスを受信したトラフィックのヘッダーに記載される送信元IPアドレス、ポート番号を受信したトラフィックのヘッダーに記載されるポート番号、送信元IPアドレスを受信したトラフィックのヘッダーに記載される宛先IPアドレスとする。
シーケンス2360において、サーバ150−2は情報閲覧・更新のトラフィックを通信装置150−2に送信する。
シーケンス2360において、通信装置140−2は受信した情報閲覧・更新のトラフィックを端末170−1に転送する。
<障害発生時>
次に、図17は、通信装置140−1とサーバ150−1の間、または、サーバ150−1内において障害が発生した際の処理を示すシーケンス図である。
シーケンス2410において、通信装置140−1が障害を検知する。ここで、障害とは通信装置140−1とサーバ150−1間のリンクダウンや輻輳などの通信障害、サーバ150−1のアプリケーションがダウンする等のサーバ150−1における障害、メンテナンスによるシステム停止を示す。
上記通信障害の検知は、通信装置140−1のポートダウンから通信装置140−1がサーバ150の障害の発生を検知する。上記サーバ150−1における障害の検知は、通信装置140−1がサーバ150−1とサーバ150−2間のハートビートのトラフィックを、トラフィックの宛先IPアドレス、ポート番号、及び、送信元IPアドレスから識別して、トラフィックの登りと下りのパケット量をモニタすることによって、サーバ150内の障害時にサーバ150−1からのハートビートのトラフィック量が減少することから障害と判断する。
なお、障害の検知は通信装置140−1ではなく、リソース管理サーバ110やネットワーク制御サーバ100が行って、通信装置140−1に通知してもよい。
シーケンス2420において、通信装置140−1は発生した障害内容をネットワーク制御サーバ100に送信する。
シーケンス2430において、ネットワーク制御サーバ100は通信装置140−1から受信した障害内容をリソース管理サーバ110に送信する。
シーケンス2435において、リソース管理サーバ110は、名前解決情報テーブル1600の情報において、シーケンス2430において受信した障害内容のメッセージからサーバ150−1にて障害が発生したことを取得して、名前解決情報テーブル1600から、サーバ150−1のIPアドレスを、同じ集約グループに属するサーバ150−2のIPアドレスに変更する。
シーケンス2440において、リソース管理サーバ110は、サービスルックアップサーバ120に名前解決変更通知を送信する。名前家解決変更通知には、シーケンス2435において、更新した名前解決情報テーブル1600が含まれる。
シーケンス2450の情報閲覧または更新からシーケンス2520の応答までの処理は、図15におけるシーケンス2210からシーケンス2270までの処理と同じである。
シーケンス2410からシーケンス2440までの一通りの処理が行われた後に、再度、図14のシーケンス2010からシーケンス2030の処理と同等の処理を実行した場合に、端末170がソフトウェアリソースを提供するサーバ150に対して、閲覧または更新要求する処理は、図16のシーケンス2310からシーケンス2370までと同じである。
<端末移動時>
図18は、サーバ150−1から情報閲覧、または更新する端末170が移動して最寄りのサーバがサーバ150−1からサーバ150−2に移動した後、再度、図14のシーケンス2010からシーケンス2030までの処理と同等の処理を実行するまでの間に、端末170がソフトウェアリソースに対して、閲覧または更新要求する処理を示す説明図である。
シーケンス2610において、端末170−1は、サーバ150−1宛に情報閲覧・更新を送信する。情報閲覧・更新のトラフィックの宛先IPアドレスとポート番号は、端末170−1がサービスルックアップサーバ120から、最後に受信した名前解決応答に示されるIPアドレスとポート番号であり、送信元IPアドレスは自身のIPアドレスである。
シーケンス2620において、通信装置140−1は受信した情報閲覧・更新のトラフィックをサーバ150−1に転送する。
シーケンス2630においてサーバは情報閲覧・更新に対する応答を、通信装置140−1に送信する。この際、送信するトラフィックにおいては、宛先IPアドレスを受信したトラフィックのヘッダーに記載される送信元IPアドレス、ポート番号を受信したトラフィックのヘッダーに記載されるポート番号、送信元IPアドレスを受信したトラフィックのヘッダーに記載される宛先IPアドレスとする。
シーケンス2640において、通信装置140−1は情報閲覧・更新に対する応答のトラフィックを端末170−1に送信する。
シーケンス2650において、端末170−1の移動に伴い、端末170−1が接続するアクセスポイント160が、サーバ150−1までよりもサーバ150−2までのRTTが小さいアクセスポイント160−2に変更する。
シーケンス2660において、端末170−1は、サーバ150−1宛に情報閲覧・更新を送信する。情報閲覧・更新のトラフィックの宛先IPアドレスとポート番号は、シーケンス2610において端末170−1が送信する、情報閲覧・更新のトラフィックの宛先IPアドレスとポート番号と同じである。
シーケンス2670において、通信装置140−2は、シーケンス2660において、端末170-1が送信した情報閲覧・更新のトラフィックを受信すると、宛先変更を行う。
通信装置140−2は、受信したトラフィックの宛先IPアドレス、ポート番号、送信元IPアドレスを取得し、設定情報テーブル1950のルールに合致する行のアクションに規定される処理を受信したトラフィックに対して行う。設定情報テーブル1950は、予めネットワーク制御サーバ100が通信装置140毎に生成したものであり、同じポート番号1952であれば、通信遅延が小さい宛先アドレス1955に変換するようにルールとアクションが設定されている。例えば、当該通信装置140に接続されたサーバ150で提供しているアプリケーションに対応するポート番号1952が同一であれば、移動してきた端末170のサーバ150の宛先を当該通信装置140の配下のサーバ150に変換する。これにより、通信遅延の少ないサーバ150を端末170に提供できる。
シーケンス2680において、通信装置140−2はシーケンス2670で処理したトラフィックの宛先IPアドレス、ポート番号がサーバ150−2である場合には、サーバ150−2に送信する。
シーケンス2690において、通信装置140−2は受信した情報閲覧・更新のトラフィックをサーバ150−2に転送する。
シーケンス2690においてサーバ150−2は情報閲覧・更新に対する応答を、通信装置140−2に送信する。この際、送信するトラフィックにおいては、宛先IPアドレスを受信したトラフィックのヘッダーに記載される送信元IPアドレス、ポート番号を受信したトラフィックのヘッダーに記載されるポート番号、送信元IPアドレスを受信したトラフィックのヘッダーに記載される宛先IPアドレスとする。
シーケンス2710において、通信装置140−2は、シーケンス2690において、サーバ150−2が送信した応答のトラフィックを受信すると、宛先変更を行う。通信装置140−2は、受信したトラフィックの宛先IPアドレス、ポート番号、送信元IPアドレスを取得し、設定情報テーブル1950のルールに合致する行のアクションに規定される処理を受信したトラフィックに行う。
シーケンス2720において、通信装置140−2は受信した情報閲覧・更新のトラフィックを端末170−1に送信する。
以上より、端末170−1は、移動によってアクセスポイント160が代わると、ソフトウェアリソースを提供するサーバ150のうち、遅延の少ないサーバ150へ自動的に切り替えることが可能になるのである。
なお、上記実施例では、ネットワーク制御サーバ100と、リソース管理サーバ110と、サービスルックアップサーバ120を異なる計算機で実行する例を示したが、ひとつの計算機で上記各サーバの機能を提供してもよい。この場合、ネットワーク制御部と、リソース提供部と、サービスルックアップ部を一つの計算機で提供すれば良い。
以上説明したように、本発明は、ソフトウェアリソースを提供するサーバ150がネットワーク130に分散して複数存在する場合に、端末170の数の増大やトラフィック量の増大に対して、ネットワーク制御サーバ100の処理負荷と通信装置140の処理負荷を抑えつつ、ソフトウェアリソースを提供するサーバ150の位置が変更された場合や、端末170が移動した場合等においても、端末170とアプリケーションの組合せに対して最適なサーバ150に接続することを可能にすることができる。
本発明の第1の特徴は、上述のように、トラフィックの宛先アドレスや送信元アドレスを変更する通信装置140と、端末170とアプリケーションの組合せ毎にソフトウェアリソースを提供するサーバ150とで構成される計算機システムにおいて、ソフトウェアリソースを提供するサーバ150が同一である端末170と、端末170で実行するアプリケーションとの組合せを論理的な集約グループとして管理し、集約グループ毎に通信装置140及びリソース管理サーバ110に設定情報を通知する。
これによって、ネットワーク制御サーバ100は、端末170とアプリケーションの組合せである集約グループ毎に通信装置140、及び、リソース管理サーバ110に設定を通知することで、設定の変更を実施視することができる。すなわち、前記従来例のように端末170のIPアドレス毎に設定情報を通知するのに比してネットワーク制御サーバ100のCPU負荷及び、メモリの使用量を抑制することができる。
さらに、本発明の第2の特徴は、トラフィックの宛先アドレスや送信元アドレスを変更する通信装置140と、端末170とアプリケーションの組合せ毎にソフトウェアリソースを提供するサーバ150と、サーバ150を管理するリソース管理サーバ110と、端末170とアプリケーションの組合せ毎に名前解決を実施するサービスルックアップサーバ120で構成される計算機システムにおいて、集約グループとソフトウェアリソースを提供するサーバ150のIPアドレスとポート番号を対応づけて通信装置140に設定を行う。
これによって、通信装置140はクッキー等のレイヤ7の情報を参照せずに、IPアドレスとポート番号を参照して、端末170とアプリケーションの組合せ毎に異なる宛先のサーバ150でソフトウェアリソースを提供する場合においても、端末170とアプリケーションの組合せから、ソフトウェアリソースを提供するサーバ150にトラフィックを転送することが可能になる。
また、本発明の第3の特徴は、上記第2の特徴において、集約グループにソフトウェアリソースを提供する複数のサーバ150のIPアドレスとポート番号を対応づけておく。そして、同一の集約グループに対応づけられる複数のサーバ150のIPアドレスとポート番号の間で、相互に変換できるように通信装置140に設定する。
これによって、障害発生時や輻輳発生時など所定の契機で、通信装置140は、設定された内容に基づいて自律的に、同一集約グループに対応づけられるサーバ150に宛先を変更することができるため、短い時間で経路を切り替えることができる。
本発明の第4の特徴は、上記第2の特徴において、集約グループにソフトウェアリソースを提供する複数のサーバ150のIPアドレスとポート番号を対応づけておく。そして、同一の集約グループに対応づけられる複数のサーバ150のIPアドレスとポート番号の間で対応づけて、トラフィックの宛先が、RTTが大きいサーバ150への宛先になっている場合には、RTTが閾値以下の近くのサーバへ宛先を変更するように通信装置140に設定する。
これによって、端末170が移動して、接続するアクセスポイント160が変更されると、通信装置140は設定された内容に基づいて自律的に、同一集約グループに対応づけられるRTTの小さいサーバ150に宛先を変更することができる。このため、端末170は、RTTが小さいサーバのIPアドレスに変更してトラフィックを送信しなくても、通信装置140の制御によってRTTが小さいサーバ150へ自動的に接続することができる。
本発明の第5の特徴は、上記第2の特徴において、集約グループにソフトウェアリソースを提供する複数のサーバのIPアドレスとポート番号を対応づけておく。そして、同一の集約グループに対応づけられる複数のサーバのIPアドレスとポート番号の間で、端末とアプリケーションの組合せに対応する集約グループが変更する際には、ネットワーク制御サーバ100が端末のIPアドレスとポート番号を指定して通信装置140に指示する。
これによって、ある端末170とアプリケーションの組合せに対応するソフトウェアリソースを提供するサーバ150が変更されることに伴って、端末170とアプリケーションの組合せに対応する集約グループが変更する際には、通信装置140が、ネットワーク制御サーバ100からの指示に基づいて、集約グループが変更した端末170とアプリケーションの組合せに対して、サーバ150のIPアドレスとポート番号が同じ元の集約グループの他のトラフィックとは異なる宛先に転送するができる。
本発明の第6の特徴は、上記第1の特徴において、端末170とアプリケーションの組合せ毎に要求する通信特性と、端末170のネットワーク130上の位置に基づいて、集約グループを判断する。これによって、端末170とアプリケーションの組合せ毎に要求する通信特性を満たすことができる。
なお、本発明において説明した計算機等の構成、処理部及び処理手段等は、それらの一部又は全部を、専用のハードウェアによって実現してもよい。
また、本実施例で例示した種々のソフトウェアは、電磁的、電子的及び光学式等の種々の記録媒体(例えば、非一時的な記憶媒体)に格納可能であり、インターネット等の通信網を介して、コンピュータにダウンロード可能である。
また、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明をわかりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
<補足>
通信装置に接続されてソフトウェアを提供するサーバと、
前記通信装置に接続されて前記ソフトウェアを利用する端末と、
前記複数の通信装置を接続するネットワークと、
前記ネットワークに接続されて前記通信装置及びサーバを管理する管理計算機と、を備えた計算機システムであって、
管理計算機は、
前記ソフトウェアを提供するサーバが同一である端末と、前記端末が実行するソフトウェアの組合せを論理的な集約グループに割り当てる集約グループ管理部と、
前記集約グループ毎に前記通信装置の通信経路を設定する経路設定部と、
を有することを特徴とする計算機システム。
また、通信装置に接続されてソフトウェアを提供するサーバと、
前記通信装置に接続されて前記ソフトウェアを利用する端末と、
前記複数の通信装置を接続するネットワークと、
前記ネットワークに接続されて前記通信装置及びサーバを管理する管理計算機であって、
管理計算機は、
前記ソフトウェアを提供するサーバが同一である端末と、前記端末が実行するソフトウェアの組合せを論理的な集約グループに割り当てる集約グループ管理部と、
前記集約グループ毎に前記通信装置の通信経路を設定する経路設定部と、
を有することを特徴とする管理計算機。
また、プロセッサとメモリを備えた管理計算機を制御するプログラムを格納した記憶媒体であって、
ソフトウェアを提供するサーバが同一である端末と、前記端末が実行するソフトウェアの組合せを論理的な集約グループに割り当てる第1の手順と、
前記集約グループ毎に通信装置の通信経路を設定する第2の手順と、
を前記管理計算機に実行させるプログラムを格納した非一時的な計算機読み取り可能な記憶媒体。

Claims (8)

  1. 通信装置に接続されてソフトウェアを提供するサーバと、前記通信装置に接続されて前記ソフトウェアを利用する端末と、前記複数の通信装置を接続するネットワークとを備えて、前記端末が前記サーバにアクセスする経路を設定する通信経路の管理方法であって、
    前記ネットワークに接続されて前記通信装置及びサーバを管理する管理計算機が、前記ソフトウェアを提供するサーバが同一である端末と、前記端末が実行するソフトウェアの組合せを論理的な集約グループに割り当てる第1のステップと、
    前記管理計算機が、前記集約グループ毎に前記通信装置の通信経路を設定する第2のステップと、
    を含むことを特徴とする通信経路の管理方法。
  2. 請求項1に記載の通信経路の管理方法であって、
    前記管理計算機は、ドメイン名を受信してアドレスを応答する名前解決部を有し、
    前記第1のステップは、
    前記集約グループ毎に、前記サーバのアドレスとポート番号を対応付けることを特徴とする通信経路の管理方法。
  3. 請求項2に記載の通信経路の管理方法であって、
    前記通信装置は、
    トラフィックの宛先アドレス及び送信元アドレスの少なくとも一方を変更可能であって、
    前記管理計算機が、同一の集約グループに対応づけられた複数の前記サーバのアドレスとポート番号を相互に変換する第3のステップをさらに有することを特徴とする通信経路の管理方法。
  4. 請求項3に記載の通信経路の管理方法であって、
    前記第3のステップは、
    前記管理計算機が、所定の契機となったときに実行することを特徴とする通信経路の管理方法。
  5. 請求項1に記載の通信経路の管理方法であって、
    前記第2のステップは、
    前記端末と前記サーバ間の通信遅延が所定の閾値を超えるときには、前記通信遅延が所定の閾値以下となる同一集約グループの他のサーバを設定することを特徴とする通信経路の管理方法。
  6. 請求項1に記載の通信経路の管理方法であって、
    前記第2のステップは、
    前記端末とソフトウェアの組み合わせに対応する集約グループを変更する場合には、前記管理計算機が、当該端末のアドレスとポート番号を指定して前記通信装置に通知することを特徴とする通信経路の管理方法。
  7. 請求項1に記載の通信経路の管理方法であって、
    前記第1のステップは、
    前記端末とソフトウェアの組合せ毎に要求する通信特性と、前記端末のネットワーク上の位置に基づいて前記集約グループを割り当てることを特徴とする通信経路の管理方法。
  8. 請求項1に記載の通信経路の管理方法であって、
    前記第2のステップは、
    前記端末とソフトウェアの組み合わせから前記サーバのコストと、前記ネットワークのコストを算出するステップと、
    前記サーバのコストと前記ネットワークのコストの和が所定の条件を満たす通信経路を前記通信装置に設定するステップと、
    を含むことを特徴とする通信経路の管理方法。
JP2014559430A 2013-01-31 2013-01-31 通信経路の管理方法 Expired - Fee Related JP5944537B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/052202 WO2014118938A1 (ja) 2013-01-31 2013-01-31 通信経路の管理方法

Publications (2)

Publication Number Publication Date
JP5944537B2 true JP5944537B2 (ja) 2016-07-05
JPWO2014118938A1 JPWO2014118938A1 (ja) 2017-01-26

Family

ID=51261683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014559430A Expired - Fee Related JP5944537B2 (ja) 2013-01-31 2013-01-31 通信経路の管理方法

Country Status (3)

Country Link
US (1) US20150372911A1 (ja)
JP (1) JP5944537B2 (ja)
WO (1) WO2014118938A1 (ja)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8903973B1 (en) 2008-11-10 2014-12-02 Tanium Inc. Parallel distributed network management
JP5537600B2 (ja) * 2012-05-15 2014-07-02 株式会社Nttドコモ 制御ノード及び通信制御方法
US11172470B1 (en) 2012-12-21 2021-11-09 Tanium Inc. System, security and network management using self-organizing communication orbits in distributed networks
US9225638B2 (en) 2013-05-09 2015-12-29 Vmware, Inc. Method and system for service switching using service tags
EP3044933B1 (en) * 2013-09-12 2019-01-09 Nec Corporation A method for operating an information-centric network and network
CN104518967B (zh) * 2013-09-30 2017-12-12 华为技术有限公司 路由方法、设备和系统
US10873645B2 (en) 2014-03-24 2020-12-22 Tanium Inc. Software application updating in a local network
JP6337622B2 (ja) * 2014-06-03 2018-06-06 富士通株式会社 経路設定装置及び経路設定方法
US9832168B2 (en) * 2014-07-01 2017-11-28 Cable Television Laboratories, Inc. Service discovery within multi-link networks
CN105471609B (zh) 2014-09-05 2019-04-05 华为技术有限公司 一种用于配置业务的方法和装置
US9825810B2 (en) 2014-09-30 2017-11-21 Nicira, Inc. Method and apparatus for distributing load among a plurality of service nodes
US11496606B2 (en) 2014-09-30 2022-11-08 Nicira, Inc. Sticky service sessions in a datacenter
US10135737B2 (en) * 2014-09-30 2018-11-20 Nicira, Inc. Distributed load balancing systems
US9984028B2 (en) * 2014-10-31 2018-05-29 Arris Enterprises Llc Redundancy for port extender chains
US20160203528A1 (en) * 2015-01-09 2016-07-14 Vmware, Inc. Method and system that allocates virtual network cost in a software-defined data center
US10609091B2 (en) 2015-04-03 2020-03-31 Nicira, Inc. Method, apparatus, and system for implementing a content switch
US11461208B1 (en) 2015-04-24 2022-10-04 Tanium Inc. Reliable map-reduce communications in a decentralized, self-organizing communication orbit of a distributed network
US9667815B2 (en) * 2015-06-22 2017-05-30 Ricoh Company, Ltd. Information processing system, information processing device, and information processing method
US11886229B1 (en) 2016-03-08 2024-01-30 Tanium Inc. System and method for generating a global dictionary and performing similarity search queries in a network
US11609835B1 (en) 2016-03-08 2023-03-21 Tanium Inc. Evaluating machine and process performance in distributed system
US10929345B2 (en) 2016-03-08 2021-02-23 Tanium Inc. System and method of performing similarity search queries in a network
US11153383B2 (en) 2016-03-08 2021-10-19 Tanium Inc. Distributed data analysis for streaming data sources
US11372938B1 (en) 2016-03-08 2022-06-28 Tanium Inc. System and method for performing search requests in a network
US10439932B2 (en) * 2016-10-05 2019-10-08 Avago Technologies International Sales Pte. Limited System and method for flow rule management in software-defined networks
JP6822235B2 (ja) * 2017-03-15 2021-01-27 富士通株式会社 情報処理装置、情報処理システム、及び情報処理方法
US10834177B2 (en) * 2017-05-08 2020-11-10 International Business Machines Corporation System and method for dynamic activation of real-time streaming data overflow paths
US10824729B2 (en) * 2017-07-14 2020-11-03 Tanium Inc. Compliance management in a local network
CN109947764B (zh) * 2017-09-18 2020-12-22 中国科学院声学研究所 一种基于时延构建弹性现场的查询增强系统及方法
US10805181B2 (en) 2017-10-29 2020-10-13 Nicira, Inc. Service operation chaining
US11012420B2 (en) 2017-11-15 2021-05-18 Nicira, Inc. Third-party service chaining using packet encapsulation in a flow-based forwarding element
US10797910B2 (en) 2018-01-26 2020-10-06 Nicira, Inc. Specifying and utilizing paths through a network
US10659252B2 (en) 2018-01-26 2020-05-19 Nicira, Inc Specifying and utilizing paths through a network
US10805192B2 (en) 2018-03-27 2020-10-13 Nicira, Inc. Detecting failure of layer 2 service using broadcast messages
US10728174B2 (en) 2018-03-27 2020-07-28 Nicira, Inc. Incorporating layer 2 service between two interfaces of gateway device
US11343355B1 (en) 2018-07-18 2022-05-24 Tanium Inc. Automated mapping of multi-tier applications in a distributed system
US10841365B2 (en) 2018-07-18 2020-11-17 Tanium Inc. Mapping application dependencies in a computer network
US10944673B2 (en) 2018-09-02 2021-03-09 Vmware, Inc. Redirection of data messages at logical network gateway
US11595250B2 (en) 2018-09-02 2023-02-28 Vmware, Inc. Service insertion at logical network gateway
US11165635B2 (en) * 2018-09-11 2021-11-02 Dell Products L.P. Selecting and configuring multiple network components in enterprise hardware
US11397604B2 (en) 2019-02-22 2022-07-26 Vmware, Inc. Service path selection in load balanced manner
US11140218B2 (en) 2019-10-30 2021-10-05 Vmware, Inc. Distributed service chain across multiple clouds
US11283717B2 (en) 2019-10-30 2022-03-22 Vmware, Inc. Distributed fault tolerant service chain
US11831670B1 (en) 2019-11-18 2023-11-28 Tanium Inc. System and method for prioritizing distributed system risk remediations
US11223494B2 (en) 2020-01-13 2022-01-11 Vmware, Inc. Service insertion for multicast traffic at boundary
US11659061B2 (en) 2020-01-20 2023-05-23 Vmware, Inc. Method of adjusting service function chains to improve network performance
US11153406B2 (en) 2020-01-20 2021-10-19 Vmware, Inc. Method of network performance visualization of service function chains
US11792112B2 (en) 2020-04-06 2023-10-17 Vmware, Inc. Using service planes to perform services at the edge of a network
US11563764B1 (en) 2020-08-24 2023-01-24 Tanium Inc. Risk scoring based on compliance verification test results in a local network
US11734043B2 (en) 2020-12-15 2023-08-22 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
US11611625B2 (en) 2020-12-15 2023-03-21 Vmware, Inc. Providing stateful services in a scalable manner for machines executing on host computers
CN114827016B (zh) * 2022-04-12 2023-03-24 珠海星云智联科技有限公司 切换链路聚合方案的方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002091843A (ja) * 2000-09-11 2002-03-29 Nippon Telegr & Teleph Corp <Ntt> サーバ選択装置、サーバ選択方法、及びサーバ選択プログラムを記録した記録媒体
JP2005025622A (ja) * 2003-07-04 2005-01-27 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信方法、サーバツリー形成装置、サーバ装置、およびそのプログラム
JP2006211406A (ja) * 2005-01-28 2006-08-10 National Institute Of Information & Communication Technology ネットワークを用いた通信システム及びその通信システムに用いられる通信装置及びプログラム
JP2008263559A (ja) * 2007-04-13 2008-10-30 Intec Netcore Inc アプリケーション端末装置及び経路選択方法
WO2010106772A1 (ja) * 2009-03-17 2010-09-23 日本電気株式会社 分散処理システム及び分散処理方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7441045B2 (en) * 1999-12-13 2008-10-21 F5 Networks, Inc. Method and system for balancing load distribution on a wide area network
US6615317B2 (en) * 2000-07-07 2003-09-02 Fitech Laboratories, Inc. Methods and systems for providing a highly scalable synchronous data cache
US7139816B2 (en) * 2000-12-18 2006-11-21 International Business Machines Corporation Method, apparatus, and program for server based network computer load balancing across multiple boot servers
AU2003211955A1 (en) * 2003-02-13 2004-09-06 Fujitsu Limited Transmission system, distribution route control device, load information collection device, and distribution route control method
US7421695B2 (en) * 2003-11-12 2008-09-02 Cisco Tech Inc System and methodology for adaptive load balancing with behavior modification hints
US20080201455A1 (en) * 2007-02-15 2008-08-21 Husain Syed M Amir Moving Execution of a Virtual Machine Across Different Virtualization Platforms
US9081624B2 (en) * 2008-06-26 2015-07-14 Microsoft Technology Licensing, Llc Automatic load balancing, such as for hosted applications
US8166179B2 (en) * 2009-01-30 2012-04-24 Cisco Technology, Inc. Media streaming through a network address translation (NAT) device
US9396042B2 (en) * 2009-04-17 2016-07-19 Citrix Systems, Inc. Methods and systems for evaluating historical metrics in selecting a physical host for execution of a virtual machine
US9176784B2 (en) * 2009-12-11 2015-11-03 Verizon Patent And Licensing Inc. Load balancing
US8239863B2 (en) * 2010-06-29 2012-08-07 Hewlett-Packard Development Company, L.P. Method and system for migrating a virtual machine
US8639748B2 (en) * 2010-09-01 2014-01-28 Edgecast Networks, Inc. Optimized content distribution based on metrics derived from the end user
US9229784B2 (en) * 2011-09-21 2016-01-05 International Business Machines Corporation Determining resource instance placement in a networked computing environment
US9450875B1 (en) * 2011-09-23 2016-09-20 Google Inc. Cooperative fault tolerance and load balancing
US9262286B2 (en) * 2013-11-19 2016-02-16 International Business Machines Corporation Failover in a data center that includes a multi-density server
CN104702502B (zh) * 2013-12-09 2019-11-26 中兴通讯股份有限公司 网络路径计算方法及装置
US9756121B2 (en) * 2015-06-24 2017-09-05 International Business Machines Corporation Optimizing routing and load balancing in an SDN-enabled cloud during enterprise data center migration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002091843A (ja) * 2000-09-11 2002-03-29 Nippon Telegr & Teleph Corp <Ntt> サーバ選択装置、サーバ選択方法、及びサーバ選択プログラムを記録した記録媒体
JP2005025622A (ja) * 2003-07-04 2005-01-27 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信方法、サーバツリー形成装置、サーバ装置、およびそのプログラム
JP2006211406A (ja) * 2005-01-28 2006-08-10 National Institute Of Information & Communication Technology ネットワークを用いた通信システム及びその通信システムに用いられる通信装置及びプログラム
JP2008263559A (ja) * 2007-04-13 2008-10-30 Intec Netcore Inc アプリケーション端末装置及び経路選択方法
WO2010106772A1 (ja) * 2009-03-17 2010-09-23 日本電気株式会社 分散処理システム及び分散処理方法

Also Published As

Publication number Publication date
WO2014118938A1 (ja) 2014-08-07
JPWO2014118938A1 (ja) 2017-01-26
US20150372911A1 (en) 2015-12-24

Similar Documents

Publication Publication Date Title
JP5944537B2 (ja) 通信経路の管理方法
US10348571B2 (en) Methods and apparatus for accessing dynamic routing information from networks coupled to a wide area network (WAN) to determine optimized end-to-end routing paths
US11140070B2 (en) Independent datastore in a network routing environment
US20240129238A1 (en) Flow-Based Load Balancing
EP3643051B1 (en) Dns resolution using link-level capacity of destination systems
JP7389305B2 (ja) 強化されたsd-wanパスの品質測定および選択
US10148756B2 (en) Latency virtualization in a transport network using a storage area network
US9288162B2 (en) Adaptive infrastructure for distributed virtual switch
JP5757552B2 (ja) コンピュータシステム、コントローラ、サービス提供サーバ、及び負荷分散方法
JP7345059B2 (ja) ルーティング制御方法、装置、プログラム及びコンピュータ装置
US20120106333A1 (en) Network Aware Global Load Balancing System and Method
CN112913196B (zh) 用云服务的虚拟ip地址的软件定义的广域网上行链路选择
US10153964B2 (en) Network routing using dynamic virtual paths in an overlay network
Muthumanikandan et al. Link failure recovery using shortest path fast rerouting technique in SDN
US20130176861A1 (en) Control apparatus, a communication system, a communication method and a recording medium having recorded thereon a communication program
WO2022253087A1 (zh) 一种数据传输方法、节点、网络管理器及系统
US20160164690A1 (en) Communication system
US20190007308A1 (en) Distributed traffic management system for network link bandwidth control
US20150026333A1 (en) Network system, network management apparatus and application management apparatus
JP5870995B2 (ja) 通信システム、制御装置、計算機、ノードの制御方法およびプログラム
CN111245740B (zh) 配置业务的服务质量策略方法、装置和计算设备
EP3026851B1 (en) Apparatus, network gateway, method and computer program for providing information related to a specific route to a service in a network
Lam et al. Hybrid security architecture for data center networks
JP5506640B2 (ja) コンテンツ配信方法及びシステム
US20190238455A1 (en) Multipath adjustments

Legal Events

Date Code Title Description
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: 20160510

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160525

R150 Certificate of patent or registration of utility model

Ref document number: 5944537

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees