JP4970565B2 - Network routing method - Google Patents

Network routing method Download PDF

Info

Publication number
JP4970565B2
JP4970565B2 JP2010084016A JP2010084016A JP4970565B2 JP 4970565 B2 JP4970565 B2 JP 4970565B2 JP 2010084016 A JP2010084016 A JP 2010084016A JP 2010084016 A JP2010084016 A JP 2010084016A JP 4970565 B2 JP4970565 B2 JP 4970565B2
Authority
JP
Japan
Prior art keywords
server
throughput
client
vpn
measurement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2010084016A
Other languages
Japanese (ja)
Other versions
JP2011217158A (en
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.)
Fuji Soft Inc
Original Assignee
Fuji Soft Inc
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 Fuji Soft Inc filed Critical Fuji Soft Inc
Priority to JP2010084016A priority Critical patent/JP4970565B2/en
Publication of JP2011217158A publication Critical patent/JP2011217158A/en
Application granted granted Critical
Publication of JP4970565B2 publication Critical patent/JP4970565B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、複数の拠点に存在するサーバ機器が相互に接続されるネットワークにおいてクライアント機器がVPN(Virtual Private Network)を通じて所定のサーバ機器に接続する際の経路を選定するネットワーク経路選定方法に関する。   The present invention relates to a network route selection method for selecting a route when a client device connects to a predetermined server device through a VPN (Virtual Private Network) in a network in which server devices existing at a plurality of bases are connected to each other.

近年、クラウドコンピューティング技術に関する研究開発が進められている。クラウドを構成するサーバ環境の技術については日々進展している状態にあるが、クラウドから提供されるサービスを利用する利用者のクライアント環境やネットワーク環境などに関しては、まだ課題が多く、改善すべき問題が残されている。 In recent years, research and development on cloud computing technology has been promoted. The technology of the server environment that constitutes the cloud is advancing day by day, but there are still many issues to be solved regarding the client environment and network environment of the users who use the services provided by the cloud. Is left.

例えば、全国各地に支社や営業所などをもつ企業では遠隔地にある複数のデータセンターにサーバを所有していることがある。このような、企業ネットワークで、支社や営業所からデータセンターのサーバにアクセスするリモートアクセス方法として、支社や営業所とデータセンター間を専用線やインターネットVPNなどのネットワーク回線、またこれらを複合した回線を使用してアクセスし、通信を行う。専用線は特定の2地点間を結ぶ回線であり、通信事業者によって回線が管理されているため、通信品質やセキュリティなどの点で非常に優れている。   For example, a company having branch offices or sales offices all over the country may have servers in a plurality of data centers in remote locations. As a remote access method for accessing a data center server from a branch office or sales office in such a corporate network, a network line such as a dedicated line or Internet VPN between the branch office or sales office and the data center, or a combination of these lines. Use to access and communicate. A dedicated line is a line connecting two specific points, and the line is managed by a telecommunications carrier, so it is very excellent in terms of communication quality and security.

これに対しインターネットVPNはインターネット網を使用するため、専用線にくらべ低コストで通信をおこなうことができるしかし、インターネット網は帯域保障が無く、セキュリティ確保のためのカプセル化や暗号化等の処理で通信速度が低下するという問題がある。 On the other hand, since the Internet VPN uses an Internet network, it can communicate at a lower cost than a dedicated line . However, the Internet network has no bandwidth guarantee, and there is a problem that the communication speed is lowered by processing such as encapsulation and encryption for ensuring security.

例えば、九州のデータセンターがあった場合、ユーザが東京から九州にインターネットVPNを使用しアクセスをする場合や、複数のユーザが一斉に1つの拠点に対しインターネットVPNでアクセスをすると、回線の遅延が発生する。   For example, if there is a data center in Kyushu, if users use Internet VPN from Tokyo to Kyushu, or if multiple users access the same site via Internet VPN at the same time, line delay will occur. appear.

このような問題を解決するために、ルータ同士で帯域や負荷状況の情報を報告し合い、回線の状況に合わせて送信パケット量を制御することで、通信回線をできるだけ安定させて使用する事ができるダイナミックVPNサービスを導入することが考えられる。また、通信速度の低下を解決するための技術として、特許文献1が挙げられる。   In order to solve such problems, it is possible to make the communication line as stable as possible by reporting information on the bandwidth and load status between routers and controlling the amount of transmitted packets according to the line condition. It is possible to introduce a dynamic VPN service that can be used. Patent Document 1 is cited as a technique for solving the decrease in communication speed.

特開2005−223375号公報JP 2005-223375 A

しかしながら、ダイナミックVPNのサービスにおいては、導入するためにネットワークの再構築をする必要があり、設計構築に期間を要すことや、期間にともない費用も多く発生する。また、特許文献1の技術は、複数のプロバイダを通じて複数のVPNトンネルを形成してIPパケットを同報通信する環境であれば活用できるかもしれないが、そうでない場合には活用することができない。   However, in the dynamic VPN service, it is necessary to reconstruct the network in order to introduce it, so that it takes a period of time for design and construction, and a lot of costs are associated with the period. The technique of Patent Document 1 may be used in an environment where a plurality of VPN tunnels are formed through a plurality of providers to broadcast IP packets, but cannot be used in other cases.

本発明は上記実情に鑑みてなされたものであり、複数の拠点に存在するサーバ機器が相互に接続されるネットワークにおいて、クライアント機器がインターネットVPN接続でする際、回線の混雑状況や回線の障害に対応した通信経路を選択することによって、安定的な通信経路でのアクセスが可能となり、さらに既存のネットワーク環境から機器の追加やネットワーク環境の再構築を必要がなく、経済的に実現することができる、ネットワーク経路選定方法を提供することを目的とする。   The present invention has been made in view of the above circumstances, and in a network in which server devices existing at a plurality of bases are connected to each other, when the client device is connected to the Internet VPN, it is possible to deal with a line congestion situation or a line failure. By selecting a compatible communication path, access via a stable communication path is possible, and there is no need to add equipment or rebuild the network environment from the existing network environment, which can be realized economically. An object of the present invention is to provide a network routing method.

本発明の一態様によるネットワーク経路選定方法は、複数の拠点にそれぞれ存在するサーバ機器が相互に専用線で接続されるネットワークにおいてクライアント機器がVPNにより所定のサーバ機器にVPNサーバ機器経由で接続する際の経路を選定するネットワーク経路選定方法であって、前記クライアント機器が、スループット測定手段により、前記クライアント機器がVPN接続をしていないときに、前記複数の拠点にそれぞれ存在するサーバ機器にVPNサーバ機器経由で接続し、前記クライアント機器とそれぞれのサーバ機器との間のスループット値を測定、もしくはクライアントがSSHにて測定サーバにリモート接続を行い、測定サーバからクライアントへのスループットを測定するコマンドを実行し、測定結果を取得するとともに、クライアントはSSHを用いて各拠点のサーバ機器間のスループット値を取得し、測定もしくは取得したそれぞれのスループット値を記憶媒体の所定の領域に保存し、保存後に接続中のVPN接続を切断し、前記クライアント機器が、経路選択手段により、前記記憶媒体の所定の領域に保存されたそれぞれのスループット値に基づき、前記クライアント機器が所定のサーバ機器に接続することが可能な経路のうち、最もスループットが高い経路を選択し、選択した経路に位置するVPNサーバのアドレスを前記クライアント機器のhostsファイルに設定することを特徴とする。   In the network route selection method according to an aspect of the present invention, a client device connects to a predetermined server device via a VPN server device via a VPN in a network in which server devices respectively present at a plurality of bases are connected to each other through a dedicated line. A network path selection method for selecting a path of a server, wherein when the client device is not connected to the VPN by a throughput measuring means, a VPN server device is connected to a server device existing at each of the plurality of bases. And connect the client device to measure the throughput value between the client device and each server device, or the client remotely connects to the measurement server via SSH and executes a command to measure the throughput from the measurement server to the client. And get the measurement result In addition, the client acquires the throughput value between the server devices at each site using SSH, saves the measured or acquired throughput value in a predetermined area of the storage medium, and disconnects the connected VPN connection after saving. The client device is based on the respective throughput values stored in the predetermined area of the storage medium by the route selection means, and is the most possible route that the client device can connect to the predetermined server device. A route having a high throughput is selected, and the address of the VPN server located in the selected route is set in the hosts file of the client device.

本発明の他の態様によるネットワーク経路選定方法は、請求項1に記載のネットワーク経路選定方法において、前記複数の拠点にそれぞれ存在するサーバ機器が、スループット測定手段により、サーバ機器間のスループット値を測定し、測定したサーバ機器間のスループット値を記憶媒体の所定の領域に保存することを特徴とする。   The network route selection method according to another aspect of the present invention is the network route selection method according to claim 1, wherein the server devices existing at each of the plurality of bases measure the throughput value between the server devices by the throughput measurement unit. Then, the measured throughput value between the server devices is stored in a predetermined area of the storage medium.

本発明の他の態様によるネットワーク経路選定用プログラムは、複数の拠点にそれぞれ存在するサーバ機器が相互に専用線で接続されるネットワークにおいてクライアント機器がVPNにより所定のサーバ機器にVPNサーバ機器経由で接続する際の経路を選定するネットワーク経路選定用プログラムであって、前記クライアント機器がVPN接続をしていないときに、前記複数の拠点にそれぞれ存在するサーバ機器にVPNサーバ機器経由で接続し、前記クライアント機器とそれぞれのサーバ機器との間のスループット値を測定、もしくはクライアントがSSHにて測定サーバにリモート接続を行い、測定サーバからクライアントへのスループットを測定するコマンドを実行し、測定結果を取得するとともに、クライントはSSHを用いて各拠点のサーバ機器間のスループット値を取得し、測定もしくは取得したそれぞれのスループット値を記憶媒体の所定の領域に保存し、保存後に接続中のVPN接続を切断するスループット測定機能と、前記記憶媒体の所定の領域に保存されたそれぞれのスループット値に基づき、前記クライアント機器が所定のサーバ機器に接続することが可能な経路のうち、最もスループットが高い経路を選択し、選択した経路に位置するVPNサーバのアドレスを前記クライアント機器のhostsファイルに設定する経路選択機能とをコンピュータに実現させることを特徴とする。   According to another aspect of the present invention, there is provided a network route selection program in which a client device is connected to a predetermined server device via a VPN server device via a VPN in a network in which server devices respectively existing at a plurality of bases are connected to each other through a dedicated line. A network route selection program for selecting a route when the client device is connected to a server device existing at each of the plurality of bases via a VPN server device when the client device is not connected to the VPN. Measure the throughput value between the device and each server device, or the client remotely connects to the measurement server via SSH, executes the command to measure the throughput from the measurement server to the client, and acquires the measurement result , The client uses SSH A throughput measurement function for acquiring a throughput value between server devices at bases, storing each measured or acquired throughput value in a predetermined area of the storage medium, and disconnecting a connected VPN connection after the storage; Based on the respective throughput values stored in the predetermined area, the VPN server that selects the path with the highest throughput among the paths that the client apparatus can connect to the predetermined server apparatus and is located on the selected path And a path selection function for setting the address in the hosts file of the client device.

本発明の他の態様によるクライアント機器は、複数の拠点にそれぞれ存在するサーバ機器が相互に専用線で接続されるネットワークにおいてVPNにより所定のサーバ機器にVPNサーバ機器経由で接続する際の経路を選定することが可能なクライアント機器であって、前記クライアント機器がVPN接続をしていないときに、前記複数の拠点にそれぞれ存在するサーバ機器にVPNサーバ機器経由で接続し、前記クライアント機器とそれぞれのサーバ機器との間のスループット値を測定、もしくはクライアントがSSHにて測定サーバにリモート接続を行い、測定サーバからクライアントへのスループットを測定するコマンドを実行し、測定結果を取得するとともに、クライアントはSSHを用いて各拠点のサーバ機器間のスループット値を取得し、測定もしくは取得したそれぞれのスループット値を記憶媒体の所定の領域に保存し、保存後に接続中のVPN接続を切断するスループット測定手段と、前記記憶媒体の所定の領域に保存されたそれぞれのスループット値に基づき、前記クライアント機器が所定のサーバ機器に接続することが可能な経路のうち、最もスループットが高い経路を選択し、選択した経路に位置するVPNサーバのアドレスを前記クライアント機器のhostsファイルに設定する経路選択手段とを具備することを特徴とする。   A client device according to another aspect of the present invention selects a path for connecting to a predetermined server device via a VPN server device via VPN in a network in which server devices existing at a plurality of bases are connected to each other by a dedicated line. When the client device is not VPN-connected, the client device is connected to a server device existing at each of the plurality of bases via a VPN server device, and the client device and each server Measure the throughput value with the device, or the client remotely connects to the measurement server with SSH, executes the command to measure the throughput from the measurement server to the client, acquires the measurement result, and the client uses the SSH Throughput value between server devices at each site The obtained throughput value is stored in a predetermined area of the storage medium, the throughput measurement means for disconnecting the connected VPN connection after the storage, and each of the throughput values stored in the predetermined area of the storage medium Based on the throughput value, the route with the highest throughput is selected from the routes that the client device can connect to the predetermined server device, and the address of the VPN server located in the selected route is the hosts file of the client device. And a route selection means for setting to (1).

本発明によれば、複数の拠点に存在するサーバ機器が相互に接続されるネットワークにおいて、クライアント機器がインターネットVPN接続でする際、回線の混雑状況や回線の障害に対応した通信経路を選択することによって、安定的な通信経路でのアクセスが可能となり、さらに既存のネットワーク環境から機器の追加やネットワーク環境の再構築を必要がなく、経済的に実現することができる、ネットワーク経路選定方法を提供することができる。   According to the present invention, in a network in which server devices existing at a plurality of bases are connected to each other, when a client device is connected to the Internet VPN, a communication path corresponding to a line congestion state or a line failure is selected. Provides a network route selection method that enables access via a stable communication route and that can be realized economically without the need to add devices or reconstruct the network environment from the existing network environment. be able to.

本発明の一実施形態に係るネットワーク経路選定方法が適用されるネットワークシステムの第1の通信形態を模式的に示す図。The figure which shows typically the 1st communication form of the network system to which the network path | route selection method which concerns on one Embodiment of this invention is applied. 同ネットワークシステムの第2の通信形態を模式的に示す図。The figure which shows the 2nd communication form of the network system typically. クライアント3の機能構成の一例を示すブロック図。FIG. 3 is a block diagram showing an example of a functional configuration of a client 3. サーバ11,21の機能構成の一例を示すブロック図。The block diagram which shows an example of a function structure of the servers 11 and 21. FIG. クライアント3が備える設定ファイルの内容の一例を示す図。The figure which shows an example of the content of the setting file with which the client 3 is provided. サーバ11,21,クライアント3が備えるスループット測定結果ログファイル(測定結果ファイル)の内容の一例を示す図。The figure which shows an example of the content of the throughput measurement result log file (measurement result file) with which the servers 11, 21 and the client 3 are provided. サーバ11,21が備える設定ファイルの内容の一例を示す図。The figure which shows an example of the content of the setting file with which the servers 11 and 21 are provided. クライアント3が備えるアプリケーション30による動作の前半部分を示すフローチャート。The flowchart which shows the first half part of the operation | movement by the application 30 with which the client 3 is provided. クライアント3が備えるアプリケーション30による動作の後半部分を示すフローチャート。The flowchart which shows the second half part of the operation | movement by the application 30 with which the client 3 is provided. 図9の動作の中における優先測定値が「2」の場合の動作を示すフローチャート。10 is a flowchart showing the operation when the priority measurement value is “2” in the operation of FIG. 9. 図9の動作の中における優先測定値が「3」の場合の動作の前半部分を示すフローチャート。10 is a flowchart showing the first half of the operation when the priority measurement value in the operation of FIG. 9 is “3”. 図9の動作の中における優先測定値が「3」の場合の動作の後半部分を示すフローチャート。10 is a flowchart showing the second half of the operation when the priority measurement value is “3” in the operation of FIG. 9. サーバ11,21が備えるアプリケーション10による動作を示すフローチャート。The flowchart which shows the operation | movement by the application 10 with which the servers 11 and 21 are provided.

以下、図面を参照して、本発明の実施の形態について説明する。   Embodiments of the present invention will be described below with reference to the drawings.

図1は、本発明の一実施形態に係るネットワーク経路選定方法が適用されるネットワークシステムの第1の通信形態を模式的に示す図である。また、図2は、同ネットワークシステムの第2の通信形態を模式的に示す図である。   FIG. 1 is a diagram schematically showing a first communication form of a network system to which a network route selection method according to an embodiment of the present invention is applied. FIG. 2 is a diagram schematically showing a second communication form of the network system.

なお、本実施形態では、便宜上、サーバ機器を「サーバ」と呼び、クライアント装置を「クライアント」と呼ぶことにする。   In this embodiment, for convenience, the server device is referred to as a “server” and the client device is referred to as a “client”.

図1および図2に示されるように、例えばデータセンター100,200,…を単位とする複数の拠点のそれぞれには、1または複数のサーバが存在している。データセンター間は専用線で相互に接続される。専用線は、ある特定の2地点間を結ぶデータ通信専用の回線であり、本実施形態においては各拠点のVPNサーバ(ルータ)同士がこの回線で接続される。VPNサーバは、VPN通信を行うためのカプセル化、暗号化を行うサーバ・ルータ機能を有する。VPN接続を開始する際、クライアントはVPNサーバのホスト名を指定するようになっている。   As shown in FIGS. 1 and 2, for example, one or a plurality of servers exist in each of a plurality of bases in units of data centers 100, 200,. The data centers are connected to each other with a dedicated line. A dedicated line is a dedicated line for data communication between two specific points, and in this embodiment, VPN servers (routers) at each base are connected to each other by this line. The VPN server has a server / router function for performing encapsulation and encryption for VPN communication. When starting the VPN connection, the client designates the host name of the VPN server.

図1および図2に示されるサーバ群は全体としてクラウド環境を構成し、インターネットVPNを通じて個々のクライアントに各種のサービスを提供することができる。   The server group shown in FIGS. 1 and 2 constitutes a cloud environment as a whole, and can provide various services to individual clients through the Internet VPN.

図1および図2の例では、データセンター100に、VPNサーバ(ルータ)1、このVPNサーバ(ルータ)1に接続されるサーバ11およびサーバ12が備えられる。サーバ11およびサーバ12のうちの少なくとも1つ、例えばサーバ11には、後述する設定ファイルの情報を用いて動作するアプリケーション10が常駐している。また、データセンター200には、VPNサーバ(ルータ)2、このVPNサーバ(ルータ)2に接続されるサーバ21およびサーバ22が備えられる。サーバ21およびサーバ22のうちの少なくとも1つ、例えばサーバ21には、上記アプリケーション10と同じものが常駐している。VPNサーバ(ルータ)1とVPNサーバ(ルータ)2とは専用線で接続され、データセンター100内の個々のサーバとデータセンター200内の個々のサーバとが当該専用線を介して通信を行える。   In the example of FIGS. 1 and 2, the data center 100 includes a VPN server (router) 1, and a server 11 and a server 12 connected to the VPN server (router) 1. At least one of the server 11 and the server 12, for example, the server 11, resides in an application 10 that operates using information of a setting file to be described later. The data center 200 includes a VPN server (router) 2, a server 21 and a server 22 connected to the VPN server (router) 2. At least one of the server 21 and the server 22, for example, the server 21, resides in the same thing as the application 10. The VPN server (router) 1 and the VPN server (router) 2 are connected by a dedicated line, and each server in the data center 100 and each server in the data center 200 can communicate with each other via the dedicated line.

クライアント3は、ユーザが使用する端末である。このクライアント3は、インターネットVPNにより各拠点の所定のサーバに接続して通信を行うことができる。インターネットVPNは、インターネットを経由して構築される仮想的なプライベートネットワークである。インターネットVPNを経由することによって、機密を保持したまま遠隔地のネットワーク同士をLANで接続しているのと同じように運用することができる。また、このクライアント3には、後述する設定ファイルの情報を用いて動作するアプリケーション30が備えられる。さらに、このクライアント3には、ホスト名名前解決のネットワークシステムファイルである「hostsファイル」が備えられており、入力装置や表示装置を通じて接続先のホスト名とIPアドレスの設定が可能である。   The client 3 is a terminal used by the user. The client 3 can communicate by connecting to a predetermined server at each site via the Internet VPN. The Internet VPN is a virtual private network constructed via the Internet. By using the Internet VPN, it is possible to operate in the same manner as connecting remote networks with a LAN while maintaining confidentiality. Further, the client 3 is provided with an application 30 that operates using information of a setting file described later. Further, the client 3 is provided with a “hosts file” that is a network system file for host name resolution, and a host name and an IP address of a connection destination can be set through an input device or a display device.

ここで、図1に示される第1の通信形態が形成される一般的な手順について説明する。   Here, a general procedure for forming the first communication form shown in FIG. 1 will be described.

例えばクライアント3は表示装置を通して、VPN接続画面から、ユーザが入力した任意の文字列であるVPN接続先のホスト名を通信部が受け取る。当該ホスト名がhostsファイルに設定される場合を考える。ここでは、VPN接続先のホスト名がデータセンター100を指しているものとする。クライアント3は、通信部を介し、当該ホスト名に対応するIPアドレスに対し、インターネットVPN接続を開始する。ここでは、当該ホスト名に対応するIPアドレスは、VPNサーバ1のIPアドレスであるものとする。これにより、クライアント3とデータセンター100(VPNサーバ1)とのVPN接続が確立される。次に、接続画面を通じて、ユーザが入力した接続すべきサーバのIPアドレスを通信部で受け取る。ここでは、当該IPアドレスはサーバ11のIPアドレスであるものとする。これにより、VPNサーバ1は、指定されたIPアドレスの接続情報を確認し、クライアント3とサーバ11との通信を開始する。 For example, the communication unit receives the host name of the VPN connection destination which is an arbitrary character string input by the user from the VPN connection screen through the display device. Consider the case where the host name is set in the hosts file. Here, it is assumed that the host name of the VPN connection destination points to the data center 100. The client 3 starts an Internet VPN connection to the IP address corresponding to the host name via the communication unit . Here, it is assumed that the IP address corresponding to the host name is the IP address of the VPN server 1. Thereby, the VPN connection between the client 3 and the data center 100 (VPN server 1) is established. Next, the communication unit receives the IP address of the server to be connected input by the user through the connection screen. Here, it is assumed that the IP address is the IP address of the server 11. As a result, the VPN server 1 confirms the connection information of the designated IP address and starts communication between the client 3 and the server 11.

次に、図2に示される第2の通信形態が形成される一般的な手順について説明する。   Next, a general procedure for forming the second communication form shown in FIG. 2 will be described.

ここでも、クライアント3の接続画面を通じてユーザが入力した、VPN接続先のホスト名を通信部が受けとると、当該ホスト名がhostsファイルに設定される場合を考える。ここでは、VPN接続先のホスト名がデータセンター200を指しているものとする。クライアント3は、当該ホスト名に対応するIPアドレスに対し、通信部を介して、インターネットVPN接続を開始する。ここでは、当該ホスト名に対応するIPアドレスは、VPNサーバ2のIPアドレスであるものとする。これにより、クライアント3とデータセンター200(VPNサーバ2)とのVPN接続が確立される。次に、クライアント3の接続画面を通じて、ユーザが入力した接続すべきサーバのIPアドレスを通信部で受け取る、ここでは、当該IPアドレスはサーバ11のIPアドレスであるものとする。これにより、VPNサーバ2は、指定されたIPアドレスの接続情報を確認し、クライアント3とサーバ11との通信を開始する。 Again, when the communication unit receives the host name of the VPN connection destination input by the user through the connection screen of the client 3, the host name is set in the hosts file. Here, it is assumed that the host name of the VPN connection destination points to the data center 200. The client 3 starts Internet VPN connection to the IP address corresponding to the host name via the communication unit . Here, it is assumed that the IP address corresponding to the host name is the IP address of the VPN server 2. Thereby, the VPN connection between the client 3 and the data center 200 (VPN server 2) is established. Next, the IP address of the server to be connected input by the user is received by the communication unit through the connection screen of the client 3. Here, it is assumed that the IP address is the IP address of the server 11. As a result, the VPN server 2 confirms the connection information of the designated IP address and starts communication between the client 3 and the server 11.

以下では、図1および図2を参照しつつ、図3および図4を参照し、クライアント3およびサーバ11,21のそれぞれの機能構成について説明する。   Hereinafter, the functional configurations of the client 3 and the servers 11 and 21 will be described with reference to FIGS. 3 and 4 with reference to FIGS. 1 and 2.

図3は、図1および図2中に示されるクライアント3の機能構成の一例を示すブロック図である。   FIG. 3 is a block diagram illustrating an example of a functional configuration of the client 3 illustrated in FIGS. 1 and 2.

クライアント3は、オペレーティングシステム(OS)の下で常駐するアプリケーション30を備える。このアプリケーション30は、外部機器との通信のために通信部40を使用すると共に、各種のファイルやリストなどの情報を記憶したり読み出したりするために記憶部(記憶媒体または記憶装置)41〜44を使用する。図3の例では、記憶部41〜44が別々の領域に配置されているが、勿論、これらの全てもしくはいくつかを1つの記憶部にまとめて配置するようにしてもよい。アプリケーション30は、機能モジュールとして、スループット測定部52および経路選択部51を備える。   The client 3 includes an application 30 that resides under an operating system (OS). The application 30 uses the communication unit 40 for communication with an external device, and storage units (storage media or storage devices) 41 to 44 for storing and reading information such as various files and lists. Is used. In the example of FIG. 3, the storage units 41 to 44 are arranged in different areas, but of course, all or some of them may be arranged together in one storage unit. The application 30 includes a throughput measurement unit 52 and a route selection unit 51 as functional modules.

経路選択部51は、記憶部41に記憶される設定ファイルの内容に基づき、スループット測定部52に対して後述する測定サーバIPアドレス等を伝えてスループット測定を指示する機能を有する。   The path selection unit 51 has a function of instructing a throughput measurement by transmitting a measurement server IP address, which will be described later, to the throughput measurement unit 52 based on the contents of the setting file stored in the storage unit 41.

スループット測定部52は、経路選択部51からの要求を受けて、経路測定部51がクライアント3はサービス利用のVPN接続をしていないことを確認すると、記憶部41に記憶されている設定ファイルの記載されているIPアドレスに基づいて、通信部40を通じて複数の各拠点に存在する測定サーバにVPNサーバ経由でVPN接続し、クライアント3とそれぞれの測定サーバとの間の上りのスループット値を測定する。さらに、クライアントがSSHにて測定サーバにリモート接続を行い、測定サーバからクライアントへのスループットを測定するコマンドを実行し、測定結果を取得する。このスループット情報はクラアント、サーバ間の下りのスループット値である。ここでいうスループット測定は測定したいサーバのIPアレスに対して一定量のデータの送信を行い、送信にかかった時間を測定し、単位時間当たりの送信量の測定であり、一般的に使用されているスループット測定機であれば測定できる。 When the throughput measurement unit 52 receives a request from the route selection unit 51 and confirms that the client 3 does not have a VPN connection for service use , the route measurement unit 51 stores the setting file stored in the storage unit 41. Based on the described IP address, a VPN connection is made via a VPN server to measurement servers existing at a plurality of bases through the communication unit 40, and an uplink throughput value between the client 3 and each measurement server is measured. . Further, the client remotely connects to the measurement server via SSH, executes a command for measuring the throughput from the measurement server to the client, and acquires the measurement result. This throughput information is a downstream throughput value between the client and the server. Throughput measurement here performs the transmission of a predetermined amount of data to IP add-less servers to be measured, to measure taken to transmission time, a measurement of the transmission amount per unit time, commonly used It can be measured with any conventional throughput measuring machine.

そして、クライントはSSHを用いて、各拠点の測定サーバ間のスループット値を取得し、(具体的には、各拠点にある測定サーバのスループット測定結果ログファイルから最新の一行のスループット測定値を取得し、)測定もしくは取得したそれぞれのスループット値をスループット測定結果ログファイル(以下、「測定結果ファイル」と呼ぶ場合がある。)として記憶部42に保存し、保存後に接続中のVPN接続を切断する機能である。SSHは、暗号や認証の技術を利用して、例えば遠隔地の機器からコマンドを実行したり、他の機器へファイルを移動したりするためのプログラムである。   The client then uses SSH to obtain the throughput value between the measurement servers at each site (specifically, obtain the latest one-line throughput measurement value from the throughput measurement result log file of the measurement server at each site) And) each measured or acquired throughput value is stored in the storage unit 42 as a throughput measurement result log file (hereinafter sometimes referred to as a “measurement result file”), and the VPN connection being connected is disconnected after the saving. It is a function. SSH is a program for executing a command from, for example, a remote device or moving a file to another device using encryption or authentication technology.

また、経路選択部51は、記憶部42に保存された測定結果ファイルの中のそれぞれのスループット値に基づき、記憶部43上に経路リストを作成し、また必要に応じて計算用リストも作成し、当該リストを用いて、クライアント3が所定のサーバに接続することが可能な経路のうち、最もスループットが高い経路を選択し、選択した経路に位置するVPNサーバのアドレスをクライアント3の記憶部44に記憶されているhostsファイルに設定する機能を有する。   Further, the route selection unit 51 creates a route list on the storage unit 43 based on each throughput value stored in the storage unit 42, and also creates a calculation list as necessary. Using the list, the route with the highest throughput is selected from the routes that the client 3 can connect to a predetermined server, and the address of the VPN server located on the selected route is stored in the storage unit 44 of the client 3. Has a function of setting the hosts file stored in the file.

また、クライアントのサービス利用のVPN接続有無を監視する。   In addition, the presence / absence of VPN connection for client service use is monitored.

以下では、図3に示される各種の要素について、より詳細に説明する。   Hereinafter, the various elements shown in FIG. 3 will be described in more detail.

記憶部41に記憶される設定ファイルは、スループット測定部52がそれぞれの各データセンターにあるサーバとの間のスループット値を測定もしくは取得するとともにサーバ間のスループット値を取得するために必要な情報を有する。設定ファイルは、図5に示されるように、(1)動作間隔時間、(2)優先測定値、(3)ホスト名、(4)VPNサーバIPアドレス(接続拠点)、(5)測定サーバIPアドレス(接続拠点)、(6)VPNサーバIPアドレス(経由拠点)、(7)測定サーバIPアドレス(経由拠点)、といった情報を有する。   The setting file stored in the storage unit 41 includes information necessary for the throughput measurement unit 52 to measure or acquire a throughput value between servers in each data center and to acquire a throughput value between servers. Have. As shown in FIG. 5, the setting file includes (1) operation interval time, (2) priority measurement value, (3) host name, (4) VPN server IP address (connection base), and (5) measurement server IP. Address (connection base), (6) VPN server IP address (route base), and (7) Measurement server IP address (route base).

なお、「接続拠点」とは、接続サーバがある拠点を指す。ここで、「接続サーバ」とは、クラアントが接続する目的のサーバを指す。一方、「経由拠点」とは、接続拠点に接続する際に経由する拠点を指す。   The “connection site” refers to a site where the connection server is located. Here, “connection server” refers to a server to which a client connects. On the other hand, the “route base” refers to a base through which a connection base is connected.

(1)動作間隔時間は、スループット測定を実施する間隔時間である。具体的には、各サーバとの接続から、スループット測定、hostsファイルの書換えまでの一連の動作を行う間隔時間である。例えば、動作間隔時間を5分とした場合、サーバA、サーバBと2つの測定サーバがあるとすると、AM10:00にサーバAを測定し全ての測定動作が例えば1分かかるとするとAM10:01にサーバBを測定する、その後AM10:05にサーバAの測定が開始されAM10:06にサーバBが測定される。   (1) The operation interval time is an interval time for performing the throughput measurement. Specifically, it is an interval time for performing a series of operations from connection with each server to throughput measurement and rewriting of the hosts file. For example, assuming that the operation interval time is 5 minutes and there are two measurement servers, server A and server B, if server A is measured at AM 10:00 and all measurement operations take, for example, 1 minute, AM 10:01 Server B is measured, and then measurement of server A is started at AM 10:05 and server B is measured at AM 10:06.

(2)優先測定値は、経路選択の際に、選択された経路のスループット値の上り・下り、または両方の平均のどの情報を使用するかを指定する。本実施形態では、上りを優先することを「1」で表し、下りを優先することを「2」で示し、上りと下りの平均を優先することを「3」で表す。   (2) The priority measurement value specifies which information of the average of the uplink and downlink of the throughput value of the selected route or the average of both is used at the time of route selection. In this embodiment, “1” indicates that priority is given to uplink, “2” indicates that priority is given to downlink, and “3” indicates that priority is given to the average of uplink and downlink.

(3)ホスト名は、接続サーバが存在する拠点のホスト名であり、選択した経路を書き換える対象のホスト名である。このホスト名は、VPN接続を行う際に使用される。   (3) The host name is the host name of the base where the connection server exists, and is the target host name for which the selected route is to be rewritten. This host name is used when making a VPN connection.

(4)VPNサーバIPアドレス(接続拠点)は、接続サーバが存在する拠点のVPNサーバのIPアドレスである。   (4) The VPN server IP address (connection base) is the IP address of the VPN server at the base where the connection server exists.

(5)測定サーバIPアドレス(接続拠点)は、接続サーバが存在する拠点のスループット測定に使用するサーバのIPアドレスである。   (5) The measurement server IP address (connection base) is the IP address of the server used for the throughput measurement of the base where the connection server exists.

(6)VPNサーバIPアドレス(経由拠点)は、経由拠点に存在するVPNサーバのIPアドレスである。   (6) VPN server IP address (route base) is the IP address of the VPN server existing at the route base.

(7)測定サーバIPアドレス(経由拠点)は、経由拠点に存在するスループット測定に使用するサーバのIPアドレスである。   (7) The measurement server IP address (route base) is an IP address of a server used for throughput measurement at the route base.

記憶部42に記憶されるスループット測定結果ログファイル(測定結果ファイル)は、スループット測定部52が測定もしくは取得したそれぞれのサーバ間のスループット値を有する。この測定結果ファイルは、図6に示されるように、(1)測定開始時刻、(2)スループット測定値、といった情報を有する。   The throughput measurement result log file (measurement result file) stored in the storage unit 42 has a throughput value between the servers measured or acquired by the throughput measurement unit 52. As shown in FIG. 6, this measurement result file has information such as (1) measurement start time and (2) throughput measurement value.

(1)測定開始時刻は、測定を開始した時刻である。   (1) The measurement start time is the time when the measurement is started.

(2)スループット測定値は、測定したスループット値(Mbps)である。   (2) The measured throughput value is a measured throughput value (Mbps).

記憶部43に記憶される経路リストおよび計算リストは、経路選択部51が経路を選択するために必要な情報を有する。経路リストには、接続サーバに接続可能な、全ての経路のVPNサーバIPアドレスとスループット測定値とを対応付けたリストが記載される。計算リストには、各経路の上りのスループット測定値と下りのスループット測定値と各接続サーバに接続可能な経路の上り下りのスループット値の平均値が記載される。   The route list and the calculation list stored in the storage unit 43 have information necessary for the route selection unit 51 to select a route. In the route list, a list in which VPN server IP addresses and throughput measurement values of all routes that can be connected to the connection server are associated is described. In the calculation list, the average value of the uplink throughput measurement value of each route, the downlink throughput measurement value, and the uplink and downlink throughput values of the route connectable to each connection server are described.

記憶部44に記憶されるhostsファイルは、ホスト名のほか、ホスト名に対応した、VPN接続すべきVPNサーバのアドレスを有する。このhostsファイルには、経路選択部51が選択した経路に位置するVPNサーバのアドレスが設定される。   The hosts file stored in the storage unit 44 has, in addition to the host name, the address of the VPN server to be connected to the VPN corresponding to the host name. In the hosts file, the address of the VPN server located on the route selected by the route selection unit 51 is set.

図4は、図1および図2中に示されるサーバ11,21の機能構成の一例を示すブロック図である。   FIG. 4 is a block diagram illustrating an example of a functional configuration of the servers 11 and 21 illustrated in FIGS. 1 and 2.

サーバ11,21は、それぞれ、オペレーティングシステム(OS)の下で常駐するアプリケーション10を備える。このアプリケーション10は、外部機器との通信のために通信部60を使用すると共に、各種のファイルを記憶したり読み出したりするために記憶部(記憶媒体、記憶装置)61,62を使用する。図4の例では、記憶部61,62が別々の領域に配置されているが、勿論、これらの全てもしくはいくつかを1つの記憶部にまとめて配置するようにしてもよい。アプリケーション10は、機能モジュールとして、測定制御部63およびスループット測定部64を備える。   Each of the servers 11 and 21 includes an application 10 that resides under an operating system (OS). The application 10 uses a communication unit 60 for communication with an external device, and uses storage units (storage media, storage devices) 61 and 62 for storing and reading various files. In the example of FIG. 4, the storage units 61 and 62 are arranged in separate areas, but of course, all or some of them may be arranged together in one storage unit. The application 10 includes a measurement control unit 63 and a throughput measurement unit 64 as functional modules.

測定制御部63は、記憶部61に記憶される設定ファイルの内容に基づき、スループット測定部64に対して測定サーバIPアドレス等を送りスループット測定を要求する機能を有する。スループット測定部64は、測定制御部63からの要求に従って、設定ファイルに記載された各拠点のサーバとの間のスループット値を測定し、測定したスループット値を記憶部62に測定結果ファイルとして保存する。   The measurement control unit 63 has a function of sending a measurement server IP address or the like to the throughput measurement unit 64 and requesting a throughput measurement based on the contents of the setting file stored in the storage unit 61. The throughput measuring unit 64 measures the throughput value with the server at each site described in the setting file in accordance with the request from the measurement control unit 63, and stores the measured throughput value in the storage unit 62 as a measurement result file. .

以下では、図4に示される各種の要素について、より詳細に説明する。   Hereinafter, the various elements shown in FIG. 4 will be described in more detail.

記憶部61に記憶される設定ファイルは、スループット測定部64が他拠点のサーバとの間のスループット値を測定するために必要な情報を有する。設定ファイルは、図7に示されるように、(1)動作間隔時間、(2)測定サーバIPアドレス、といった情報を有する。   The setting file stored in the storage unit 61 has information necessary for the throughput measurement unit 64 to measure a throughput value with a server at another site. As shown in FIG. 7, the setting file has information such as (1) operation interval time and (2) measurement server IP address.

(1)動作間隔時間は、スループット測定を実施する間隔時間であり、動作はクラアントアプリケーションと同様である。   (1) The operation interval time is an interval time for performing the throughput measurement, and the operation is the same as that of the client application.

(2)測定サーバIPアドレスは、他拠点のスループット測定に使用するサーバのIPアドレスである。   (2) The measurement server IP address is an IP address of a server used for throughput measurement at another base.

記憶部62に記憶されるスループット測定結果ログファイル(測定結果ファイル)は、スループット測定部64が測定したスループット値を有する。ファイル名は、「測定元IPアドレス」、「測定先サーバIPアドレス」、および「YYYYMMDD(本日日付)」の組合せで特定される。この測定結果ファイルは、図6に示されるように、(1)測定開始時刻、(2)スループット測定値、といった情報を有する。 The throughput measurement result log file (measurement result file) stored in the storage unit 62 has the throughput value measured by the throughput measurement unit 64. The file name is specified by a combination of “measurement source IP address”, “measurement destination server IP address”, and “YYYYMMDD (date of the day)”. As shown in FIG. 6, this measurement result file has information such as (1) measurement start time and (2) throughput measurement value.

(1)測定開始時刻は、測定を開始した時刻である。   (1) The measurement start time is the time when the measurement is started.

(2)スループット測定値は、測定したスループット値(Mbps)である。   (2) The measured throughput value is a measured throughput value (Mbps).

(クライアント3側のアプリケーション30の動作の概要)
以下に、クライアント3側のアプリケーション30の動作の概要を示す。
(Outline of operation of application 30 on client 3 side)
The outline of the operation of the application 30 on the client 3 side is shown below.

1)開始時の処理
・クライアント3のOSの起動時にアプリケーション30が起動する。
1) Processing at start-up-The application 30 is activated when the OS of the client 3 is activated.

・起動後、経路選択部52が設定ファイルの読込みを行う。   -After activation, the route selection unit 52 reads the setting file.

・経路選択部52は、クライアント3がサービス利用のVPN接続を行っているかの有無を確認する。   The route selection unit 52 checks whether or not the client 3 is performing VPN connection for service use.

・スループット測定部52は、サービス利用のVPN非接続時、通信部60を介し、設定ファイルから読込んだ各拠点の測定サーバにVPN接続をおこない、VPNスループット測定等の処理を開始する。   The throughput measuring unit 52 establishes VPN connection to the measurement server at each site read from the setting file via the communication unit 60 when the service use VPN is not connected, and starts processing such as VPN throughput measurement.

・クライアントがサービス利用のVPN接続中の場合は、処理を行わず終了する。   • If the client is connected to the service using VPN, the process ends without performing any processing.

2)スループット測定処理、情報収集蓄積処理
・設定ファイルに記載された各拠点のVPNサーバと通信部40によりVPN接続を確立し、上り・下りのスループットを測定し、上り・下りのスループット測定値を記憶部42のスループット測定結果ログファイル(測定元IPアドレス_測定先サーバIPアドレス_YYYYMMDD(本日日付).log)に追記または、新規に保存する。
2) Throughput measurement processing, information collection / accumulation processing-Establish VPN connection with the VPN server at each site described in the configuration file and the communication unit 40, measure the uplink and downlink throughput, and measure the uplink and downlink throughput measurement values. Add to the throughput measurement result log file (measurement source IP address_measurement destination server IP address_YYYYMMDD (date of the day) .log) in the storage unit 42 or newly save it.

・上りのスループット測定については、クライアント3から測定サーバへのスループットを測定する。   For uplink throughput measurement, the throughput from the client 3 to the measurement server is measured.

・下りのスループット測定については、クライアント3がSSHにて測定サーバにリモート接続を行い、測定サーバからクライアント3へのスループットを測定するコマンドを実行し、測定結果を取得する。   For downlink throughput measurement, the client 3 remotely connects to the measurement server via SSH, executes a command for measuring the throughput from the measurement server to the client 3, and acquires the measurement result.

・クライアント3はSSHを使用して、各拠点の測定サーバにある、サーバ間のスループット測定結果ログファイルの最新の1行のみを取得する。   The client 3 uses SSH to obtain only the latest line of the throughput measurement result log file between the servers in the measurement server at each site.

VPN接続を切断する。   Disconnect the VPN connection.

・上記の処理を、設定ファイルにて設定されている、各拠点のサーバIPアドレス数分、繰り返す。   The above processing is repeated for the number of server IP addresses of each base set in the setting file.

3)経路作成処理、経路設定処理
・経路選択部51は、設定ファイルの優先測定値を参照し、経路の選択処理を行う。
3) Route creation processing, route setting processing-The route selection unit 51 refers to the priority measurement value in the setting file and performs route selection processing.

・また、経路選択を行う前に、全ての経路のVPNサーバIPアドレスとスループット測定値を格納するための経路リスト、および、各経路の上り・下りのスループット測定値と各接続サーバに接続可能な経路の上り下りのスループット値の平均値を格納するための計算用リストを、メモリ上の記憶部43に生成する。   ・ Also, before selecting a route, it is possible to connect to the VPN server IP address and throughput measurement value of all routes, and the uplink and downlink throughput measurement values of each route and each connection server. A calculation list for storing the average value of the throughput values of the uplink and downlink of the route is generated in the storage unit 43 on the memory.

・各経路選択の方法は以下の通りである。   ・ The route selection method is as follows.

3−1)上りのスループット測定値が優先される場合
・クライアント3のスループット測定結果ログファイルより、クライアント3から測定サーバ(接続拠点)への上りスループット測定値を読込み、設定ファイルのVPNサーバIPアドレス(接続拠点)の内容と合わせて、メモリ上の記憶部43の経路リストに格納する。
3-1) When the uplink throughput measurement value is prioritized-From the throughput measurement result log file of the client 3, the uplink throughput measurement value from the client 3 to the measurement server (connection base) is read, and the VPN server IP address of the configuration file Together with the contents of (connection base), it is stored in the route list of the storage unit 43 on the memory.

・設定ファイルから測定サーバ(経由拠点)のIPアドレスのリストを読込み、次の処理を実施する。   ・ Read the IP address list of the measurement server (route base) from the configuration file and perform the following process.

・クライアント3のスループット測定結果ログファイルより、クライアント3から測定サーバ(経由拠点)への上りスループット測定値と、測定サーバ(経由拠点)から測定サーバ(接続拠点)への上りスループット測定値を読込み、クライアント3から測定サーバ(経由拠点)と測定サーバ(経由拠点)から測定サーバ(接続拠点)とのスループット測定値を比較し、スループット測定値の低い方の上りスループット測定値と測定サーバ(経由拠点)と同一拠点のVPNサーバIPアドレス(経由拠点)をメモリ上の記憶部43の経路リストに格納する。   -From the throughput measurement result log file of client 3, read the uplink throughput measurement value from client 3 to the measurement server (route base) and the uplink throughput measurement value from the measurement server (route point) to the measurement server (connection site), Comparing the throughput measurement values from the client 3 to the measurement server (route base) and the measurement server (route base) to the measurement server (connection site), the uplink throughput measurement value of the lower throughput measurement value and the measurement server (route base) Are stored in the route list of the storage unit 43 on the memory.

・経路リストに格納された中で最もスループット測定値が高い経路を選択する。   Select the route with the highest throughput measurement value stored in the route list.

3−2)下りのスループット測定値が優先される場合
・クライアント3のスループット測定結果ログファイルより、クライアント3から接続拠点への下りスループット測定値を読込み、設定ファイルのVPNサーバIPアドレス(接続拠点)の内容と合わせて、メモリ上の記憶部43の経路リストに格納する。
3-2) When the downlink throughput measurement value is prioritized • The downstream throughput measurement value from the client 3 to the connection site is read from the throughput measurement result log file of the client 3, and the VPN server IP address (connection site) in the configuration file Are stored in the path list of the storage unit 43 on the memory.

・設定ファイルから測定サーバIPアドレスのリストを読込み、測定サーバごとに次の処理を実施する。   Read the list of measurement server IP addresses from the configuration file, and perform the following processing for each measurement server.

・クライアント3のスループット測定結果ログファイルより、クライアント3から測定サーバ(経由拠点)への下りスループット測定値と、測定サーバ(経由拠点)から測定サーバ(接続拠点)への下りスループット測定値を読込み、クライアント3から測定サーバ(経由拠点)と測定サーバ(経由拠点)から測定サーバ(接続拠点)とのスループット測定値を比較し、スループット測定値低い方の下りスループット測定値と測定サーバと(経由拠点)同一拠点のVPNサーバIPアドレス(経由拠点)をメモリ上の記憶部43の経路リストに格納する。 -From the throughput measurement result log file of client 3, read the downstream throughput measurement value from client 3 to the measurement server (route base) and the downlink throughput measurement value from measurement server (route base) to measurement server (connection base). The throughput measurement values from the client 3 to the measurement server (route base) and the measurement server (route base) to the measurement server (connection site) are compared, and the downstream throughput measurement value of the lower throughput measurement value is compared to the measurement server (route base). ) The VPN server IP address (route base) of the same base is stored in the route list of the storage unit 43 on the memory.

・経路リストに格納された中で最もスループット測定値が高い経路を選択する。   Select the route with the highest throughput measurement value stored in the route list.

3−3)上り・下りの平均が優先される場合
・クライアント3のスループット測定結果ログファイルより、クライアント3から接続拠点への上り・下りのスループット測定値を読込み、設定ファイルのVPNサーバIPアドレス(接続拠点)の内容と合わせて、メモリ上の記憶部43の計算用リストに格納する。
3-3) When the uplink and downlink averages are prioritized-From the client 3 throughput measurement result log file, the uplink and downlink throughput measurement values from the client 3 to the connection base are read, and the VPN server IP address ( Together with the content of the (connection base), it is stored in the calculation list of the storage unit 43 on the memory.

・設定ファイルから測定サーバIPアドレスのリストを読込み、測定サーバごとに次の処理を実施する。   Read the list of measurement server IP addresses from the configuration file, and perform the following processing for each measurement server.

・クライアント3の測定結果よりクライアント3から測定サーバ(経由拠点)への上り・下りのスループット測定値と、測定サーバ(経由拠点)から測定サーバ(接続拠点)への上り・下りのスループット測定値を読込み、それらを上り・下り別々に比較し低い方のスループット測定値を上り・下りのスループット測定値として、メモリ上の記憶部43の計算用リストに格納する。   -Based on the measurement results of client 3, the uplink and downlink throughput measurement values from client 3 to the measurement server (route base) and the uplink and downlink throughput measurement values from the measurement server (route base) to the measurement server (connection site) The data is read and compared separately for uplink and downlink, and the lower throughput measurement value is stored in the calculation list of the storage unit 43 on the memory as the uplink and downlink throughput measurement value.

・計算用リストから上り・下りのすべてのスループット測定値の平均値を算出する。   Calculate the average value of all uplink and downlink throughput measurements from the calculation list.

・上り・下り別々に平均値に対するスループット測定値の割合を経路ごとに算出し、経路リストにスループット測定値の割合を算出し、それらを掛け合わせた値とVPNサーバIPアドレスとを経路リストに格納する。   Calculate the ratio of the throughput measurement value to the average value for each uplink and downlink separately for each route, calculate the ratio of the throughput measurement value to the route list, and store the multiplied value and the VPN server IP address in the route list To do.

・経路リストに格納された中で最もスループット割合が最も高い経路を選択する。   -Select the route with the highest throughput ratio stored in the route list.

4)経路情報更新処理
・クライアントのhostsファイル内のホスト名に対応するIPアドレスが、上記で選択された経路のクライアント、VPNサーバ間のVPNサーバのIPアドレスと異なる場合、IPアドレスを変更する。
4) Route information update processing When the IP address corresponding to the host name in the host file of the client is different from the IP address of the VPN server between the client and VPN server of the route selected above, the IP address is changed.

同一であった場合は、何もしない。   If they are the same, do nothing.

5)終了時の処理
・クラアント3がサービス利用のVPN接続を開始すると、クライント3のアプリケーション30で行われる一連の処理は終了する。
5) Processing at the end ・ When the client 3 starts the VPN connection for using the service, a series of processing performed by the application 30 of the client 3 ends.

・クライアント3サービス利用のVPN接続を終了すると、1度だけ、アプリケーション30による一連の処理を実施する。   When the VPN connection using the client 3 service is terminated, a series of processing by the application 30 is performed only once.

(サーバ11,21側のアプリケーション10の動作の概要)
以下に、サーバ11,21側のアプリケーション10の動作の概要を示す。
(Outline of operation of application 10 on server 11 and 21 side)
The outline of the operation of the application 10 on the server 11 and 21 side will be described below.

1)開始時の処理
・サーバのOSの起動時にアプリケーション10が起動する。
1) Processing at start-up-The application 10 is activated when the OS of the server is activated.

2)スループット測定処理、情報収集蓄積処理
・設定ファイルで指定された測定サーバに対し、通信部60により接続を開始し、スループット測定部64により、スループット測定を実行する。このときサーバは測定先のサーバとの、上りのスループットを測定し、スループット測定値を記憶部62の測定情報記憶部のスループット測定結果ログファイル(測定元IPアドレス_測定先サーバIPアドレス_YYYYMMDD(本日日付).log)に追記または、新規に保存する。
2) Throughput measurement processing and information collection / accumulation processing-Connection to the measurement server specified in the setting file is started by the communication unit 60, and throughput measurement is performed by the throughput measurement unit 64. At this time, the server measures the uplink throughput with the measurement destination server, and the throughput measurement value log file (measurement source IP address_measurement destination server IP address_YYYYMMDD (today) (Date) .log) Add or save a new one.

3)終了時の処理
・上記の処理を、設定ファイルにて設定されている、各拠点のサーバIPアドレス数分、繰り返す。
3) Processing at the end ・ Repeat the above processing for the number of server IP addresses of each base set in the setting file.

(クライアント3側のアプリケーション30の動作フロー)
次に、図8〜図12のフローチャートを参照して、クライアント3側のアプリケーション30の動作について説明する。
(Operation flow of the application 30 on the client 3 side)
Next, the operation of the application 30 on the client 3 side will be described with reference to the flowcharts of FIGS.

説明上、クライアント3と測定サーバ(接続拠点)の経路を回線Aとし、クライアント3と測定サーバ(経由拠点)の経路を回線Bとし、測定サーバ(経由拠点)と測定サーバ(接続拠点)の経路を回線Cとする。   For the sake of explanation, the path between the client 3 and the measurement server (connection base) is line A, the path between the client 3 and the measurement server (route base) is line B, and the path between the measurement server (route base) and the measurement server (connection base). Is line C.

クライアント3のOSの起動時には、アプリケーション30が起動される。起動後のアプリケーション30は、OSに常駐し、以下に示すような一連の処理を設定ファイルに設定された一定の間隔で繰り返す。   When the OS of the client 3 is activated, the application 30 is activated. The activated application 30 resides in the OS, and repeats a series of processes as described below at regular intervals set in the setting file.

アプリケーション30は、クライアント3が通信部40を通じてサービス利用のVPN接続を行っているか否かを判定する(図8のステップS11)。サービス利用のVPN接続中であれば、何も行わず、処理を終了する。一方、サービス利用のVPN接続中でなければ、スループットの測定等のための処理を開始する。   The application 30 determines whether or not the client 3 has made a VPN connection for service use through the communication unit 40 (step S11 in FIG. 8). If the service is being used for VPN connection, nothing is done and the process is terminated. On the other hand, if the VPN for service use is not being connected, processing for measuring the throughput or the like is started.

次に、アプリケーション30は、経路選択部51は、記憶部41の設定ファイルから各拠点の測定サーバのIPアドレスと、各拠点のVPNサーバのIPアドレスを読込む(ステップS12)、スループット測定部52は通信部40を介して、クライアント3からそれぞれのVPNサーバに対するインターネットVPN接続を要求し、接続を開始する(ステップS13)。 Next, in the application 30, the path selection unit 51 reads the IP address of the measurement server at each site and the IP address of the VPN server at each site from the setting file in the storage unit 41 (step S12), and the throughput measurement unit 52 Requests the Internet VPN connection to each VPN server from the client 3 via the communication unit 40, and starts the connection (step S13).

次に、アプリケーション30は、経路選択部51は、設定ファイルから優先測定値の情報を読み込み(ステップS14)、優先測定値が「1」(上り)または「3」(上り・下りの平均)であるか否かを判定する(ステップS15)。該当しなければ、ステップS20へと進む。一方、該当すれば、アプリケーション30は、スループット測定部52により、クライアント3から各拠点に存在する、全ての測定サーバへのスループットを測定する(ステップS16)。   Next, in the application 30, the route selection unit 51 reads the information of the priority measurement value from the setting file (step S14), and the priority measurement value is “1” (upstream) or “3” (upstream / downstream average). It is determined whether or not there is (step S15). If not, the process proceeds to step S20. On the other hand, if applicable, the application 30 uses the throughput measuring unit 52 to measure the throughput from the client 3 to all measurement servers existing at each site (step S16).

なお、クライアント3のスループット測定中にエラーが発生した場合や、サーバ間のスループット測定時に、測定サーバに接続する事が出来ないなど、エラーが発生した経路の測定結果については、0にする。   Note that the measurement result of the path in which the error has occurred is set to 0 when an error occurs during the throughput measurement of the client 3 or when it is not possible to connect to the measurement server when measuring the throughput between servers.

次に、アプリケーション30は、クライアント3の記憶部42に同名(測定元IPアドレス_測定先サーバIPアドレス_YYYYMMDD(本日日付).log)のスループット測定結果ログファイルが存在するか否かを判定する(ステップS17)。存在しなければ、新たなスループット測定結果ログファイルを新規作成し、スループット測定結果を記憶部42に保存する(ステップS18)。一方、存在すれば、クライアント3の記憶部42にあるスループット測定結果ログファイルに、スループット測定結果を追記し、上書き保存する(ステップS19)。   Next, the application 30 determines whether or not a throughput measurement result log file having the same name (measurement source IP address_measurement destination server IP address_YYYYMMDD (today's date) .log) exists in the storage unit 42 of the client 3 ( Step S17). If it does not exist, a new throughput measurement result log file is newly created, and the throughput measurement result is stored in the storage unit 42 (step S18). On the other hand, if it exists, the throughput measurement result is added to the throughput measurement result log file in the storage unit 42 of the client 3 and overwritten and saved (step S19).

次に、優先測定値が「2」(下り)または「3」(上り・下りの平均)であるか否かを判定する(ステップS20)。該当しなければ、ステップS25へと進む。一方、該当すれば、アプリケーション30は、SSHにて測定サーバにリモート接続を行い、測定サーバからクライアント3へのスループットを測定するコマンドを実行し、測定結果を取得する(ステップS21)。 Next, it is determined whether or not the priority measurement value is “2” ( downlink ) or “3” (uplink / downlink average) (step S20). If not, the process proceeds to step S25. On the other hand, if applicable, the application 30 remotely connects to the measurement server via SSH, executes a command for measuring the throughput from the measurement server to the client 3, and acquires the measurement result (step S21).

次に、アプリケーション30は、クライアント3の記憶部42に同名のスループット測定結果ログファイルが存在するか否かを判定する(ステップS22)。存在しなければ、新たなスループット測定結果ログファイルを新規作成し、スループット測定結果を保存する(ステップS23)。一方、存在すれば、クライアント3の記憶部42にあるスループット測定結果ログファイルに、スループット測定結果を追記し、上書き保存する(ステップS24)。   Next, the application 30 determines whether a throughput measurement result log file with the same name exists in the storage unit 42 of the client 3 (step S22). If it does not exist, a new throughput measurement result log file is created and the throughput measurement result is stored (step S23). On the other hand, if it exists, the throughput measurement result is added to the throughput measurement result log file in the storage unit 42 of the client 3 and overwritten and saved (step S24).

次に、アプリケーション30は、SSHにてクライアント3から測定サーバにリモート接続し、測定サーバが保持するサーバ間のスループット測定結果ログファイルから最新のスループット測定値のみ(1行のみ)を取得し(ステップS25)、VPN接続を切断し(ステップS26)、測定していない測定サーバ(経由拠点)があるか否かを判定する(ステップS27)。測定していない測定サーバ(経由拠点)があれば、ステップS13へ戻る。一方、測定していない測定サーバ(経由拠点)がなければ、図9のステップS30へと進む。   Next, the application 30 remotely connects to the measurement server from the client 3 by SSH, and acquires only the latest throughput measurement value (only one line) from the throughput measurement result log file held by the measurement server (step). S25) The VPN connection is disconnected (step S26), and it is determined whether there is a measurement server (routed base) that has not been measured (step S27). If there is a measurement server (route base) that has not been measured, the process returns to step S13. On the other hand, if there is no measurement server (route base) that has not been measured, the process proceeds to step S30 in FIG.

アプリケーション30は、経路選択部51により、設定ファイルから優先測定値の情報を読み込み(図9のステップS30)、優先測定値が「1」(上り)であるか否かを判定する(ステップS30)。該当しなければ、ステップS31へと進む。一方、該当すれば、アプリケーション30は、経路選択部51により、クライアント3のスループット測定結果から回線Aの上りのスループット測定値を読込み(ステップS32)、スループット測定値とVPNサーバIPアドレス(接続拠点)をメモリ上の記憶部43の経路リストに格納する(ステップS33)。   The application 30 reads the information of the priority measurement value from the setting file by the route selection unit 51 (step S30 in FIG. 9), and determines whether the priority measurement value is “1” (up) (step S30). . If not, the process proceeds to step S31. On the other hand, if applicable, the application 30 uses the route selection unit 51 to read the uplink throughput measurement value of the line A from the throughput measurement result of the client 3 (step S32), and the throughput measurement value and the VPN server IP address (connection base). Is stored in the route list of the storage unit 43 on the memory (step S33).

次に、アプリケーション30は、経路選択部51により、設定ファイルから測定サーバIPアドレス(経由拠点)を1つ読み込み(ステップS34)、クライアント3のスループット測定結果から回線Bの上りスループット測定値を読み込み(ステップS35)、測定サーバ(経由拠点)の測定結果から回線Cの上りスループット測定値を読み込み(ステップS36)、回線Bの上りスループット測定値が、回線Cの上りスループット測定値より低いか否かを判定する(ステップS37)。回線Bのスループット測定値が低い場合、回線Bの上りスループット測定値とVPNサーバのIPアドレス(経由拠点)をメモリ上の記憶部43の経路リストに格納する(ステップS38)。一方、回線Bのスループット測定値が低くな場合、回線Cの上りスループット測定値とVPNサーバのIPアドレス(経由拠点)をメモリ上の記憶部43の経路リストに格納する(ステップS39)。 Next, the application 30 reads one measurement server IP address (route base) from the setting file by the route selection unit 51 (step S34), and reads the uplink throughput measurement value of the line B from the throughput measurement result of the client 3 ( Step S35), the uplink throughput measurement value of the line C is read from the measurement result of the measurement server (route base) (step S36), and it is determined whether or not the uplink throughput measurement value of the line B is lower than the uplink throughput measurement value of the line C. Determination is made (step S37). When the throughput measurement value of the line B is low, the uplink throughput measurement value of the line B and the IP address (route base) of the VPN server are stored in the path list of the storage unit 43 on the memory (step S38). On the other hand, if the throughput measurement value of channel B is not a low, stores uplink throughput measurement value of channel C and the VPN server IP address (via bases) in the path list storage unit 43 on the memory (step S39).

次に、アプリケーション30は、経路選択部51により、設定ファイルから未読込の測定サーバ(経由拠点)のIPアドレスが存在するか否かを判定する(ステップS40)。存在すれば、ステップS34へ戻る。一方、存在しなければ、メモリ上の記憶部43の経路リストからスループット測定値が最大である、経路のVPNサーバIPアドレスを読込み(ステップS41)、当該スループット測定値が最大となる経路のVPNサーバIPアドレスと、メモリ上の記憶部44のhostsファイルのIPアドレスとが等しいか否かを判定する(ステップS42)。等しければ、何もせず、一連の処理を終了する。一方、等しくなければ、hostsファイルのIPアドレスを書き換え(ステップS43)、一連の処理を終了する。   Next, the application 30 uses the route selection unit 51 to determine whether or not there is an IP address of an unread measurement server (route base) from the setting file (step S40). If it exists, the process returns to step S34. On the other hand, if it does not exist, the VPN server IP address of the route with the maximum throughput measurement value is read from the route list of the storage unit 43 on the memory (step S41), and the VPN server of the route with the maximum throughput measurement value is read. It is determined whether the IP address is equal to the IP address of the hosts file in the storage unit 44 on the memory (step S42). If they are equal, nothing is done and the series of processing ends. On the other hand, if they are not equal, the IP address of the hosts file is rewritten (step S43), and the series of processes is terminated.

一方、ステップS31において、優先測定値が「2」である場合は、アプリケーション30は、経路選択部51により、クライアント3のスループット測定結果から回線Aの下りのスループット測定値を読込み(図10のステップS51)、スループット測定値とVPNサーバIPアドレス(接続拠点)をメモリ上の記憶部43の経路リストに格納する(ステップS52)。   On the other hand, if the priority measurement value is “2” in step S31, the application 30 uses the route selection unit 51 to read the downlink throughput measurement value of the line A from the throughput measurement result of the client 3 (step in FIG. 10). S51), the throughput measurement value and the VPN server IP address (connection base) are stored in the path list of the storage unit 43 on the memory (step S52).

次に、アプリケーション30は、経路選択部51により、設定ファイルから測定サーバIPアドレス(経由拠点)を1つ読み込み(ステップS53)、クライアント3のスループット測定結果から回線Bの下りスループット測定値を読み込み(ステップS54)、経由拠点の測定結果から回線Cの下りスループット測定値を読み込み(ステップS55)、回線Bの下りスループット測定値が、回線Cの下りスループット測定値より低いか否かを判定する(ステップS56)。回線Bのスループット測定値が低い場合、回線Bの下りスループット測定値とVPNサーバのIPアドレス(経由拠点)をメモリ上の記憶部43の経路リストに格納する(ステップS57)。一方、回線Bのスループット測定値が低くない場合、回線Cの下りスループット測定値とVPNサーバのIPアドレス(経由拠点)をメモリ上の記憶部43の経路リストに格納する(ステップS58)。   Next, the application 30 reads one measurement server IP address (route base) from the setting file by the route selection unit 51 (step S53), and reads the downlink throughput measurement value of the line B from the throughput measurement result of the client 3 ( In step S54), the downlink throughput measurement value of line C is read from the measurement result of the transit base (step S55), and it is determined whether the downlink throughput measurement value of line B is lower than the downlink throughput measurement value of line C (step S54). S56). When the throughput measurement value of the line B is low, the downlink throughput measurement value of the line B and the IP address (route base) of the VPN server are stored in the path list of the storage unit 43 on the memory (step S57). On the other hand, if the throughput measurement value of line B is not low, the downlink throughput measurement value of line C and the IP address (route base) of the VPN server are stored in the path list of the storage unit 43 on the memory (step S58).

次に、アプリケーション30は、経路選択部51により、設定ファイルから未読込の測定サーバIPアドレスが存在するか否かを判定する(ステップS59)。存在すれば、ステップS53へ戻る。一方、存在しなければ、図9のステップS41へと進む。   Next, the application 30 uses the path selection unit 51 to determine whether or not there is an unread measurement server IP address from the setting file (step S59). If it exists, the process returns to step S53. On the other hand, if not, the process proceeds to step S41 in FIG.

一方、図9のステップS31において、優先測定値が「2」でなく、「3」である場合は、アプリケーション30は、経路選択部51により、クライアント3のスループット測定結果から回線Aの上下のスループット測定値を読込み(図11のステップS61)、上下のスループット測定値とVPNサーバIPアドレス(接続拠点)をメモリ上の記憶部43の計算用リストに格納する(ステップS62)。   On the other hand, when the priority measurement value is “3” instead of “2” in step S31 of FIG. 9, the application 30 uses the path selection unit 51 to determine the throughput above and below the line A from the throughput measurement result of the client 3. The measured values are read (step S61 in FIG. 11), and the upper and lower throughput measured values and the VPN server IP address (connection base) are stored in the calculation list of the storage unit 43 on the memory (step S62).

次に、アプリケーション30は、経路選択部51により、設定ファイルから測定サーバIPアドレス(経由拠点)を1つ読み込み(ステップS63)、クライアント3のスループット測定結果から回線Bの上りスループット測定値を読み込み(ステップS64)、回線Cの上りスループット測定値を読み込み(ステップS65)、回線Bの上りスループット測定値が、回線Cの上りスループット測定値より低いか否かを判定する(ステップS66)。回線Bのスループット測定値が低い場合、回線Bの上りスループット測定値とVPNサーバのIPアドレス(経由拠点)をメモリ上の記憶部43の計算用リストに格納する(ステップS67)。一方、回線Bのスループット測定値が低くない場合、回線Cの上りスループット測定値とVPNサーバのIPアドレス(経由拠点)をメモリ上の記憶部43の計算用リストに格納する(ステップS68)。   Next, the application 30 reads one measurement server IP address (route base) from the setting file by the route selection unit 51 (step S63), and reads the uplink throughput measurement value of the line B from the throughput measurement result of the client 3 ( In step S64), the uplink throughput measurement value of line C is read (step S65), and it is determined whether the uplink throughput measurement value of line B is lower than the uplink throughput measurement value of line C (step S66). When the throughput measurement value of the line B is low, the uplink throughput measurement value of the line B and the IP address (route base) of the VPN server are stored in the calculation list of the storage unit 43 on the memory (step S67). On the other hand, when the throughput measurement value of the line B is not low, the uplink throughput measurement value of the line C and the IP address (route base) of the VPN server are stored in the calculation list of the storage unit 43 on the memory (step S68).

次に、アプリケーション30は、経路選択部51により、クライアント3のスループット測定結果から回線Bの下りスループット測定値を読み込み(ステップS69)、回線Cの下りスループット測定値を読み込み(ステップS70)、回線Bの下りスループット測定値が、回線Cの下りスループット測定値より低いか否かを判定する(ステップS71)。回線Bのスループット測定値が低い場合、回線Bの下りスループット測定値とVPNサーバのIPアドレス(経由拠点)をメモリ上の記憶部43の計算用リストに格納する(ステップS72)。一方、回線Bのスループット測定値が低くない場合、回線Cの下りスループット測定値とVPNサーバのIPアドレス(経由拠点)をメモリ上の記憶部43の計算用リストに格納する(ステップS73)。   Next, the application 30 reads the downlink throughput measurement value of the line B from the throughput measurement result of the client 3 by the route selection unit 51 (step S69), and reads the downlink throughput measurement value of the line C (step S70). It is determined whether or not the downlink throughput measurement value is lower than the downlink throughput measurement value of the line C (step S71). When the throughput measurement value of the line B is low, the downlink throughput measurement value of the line B and the IP address (route base) of the VPN server are stored in the calculation list of the storage unit 43 on the memory (step S72). On the other hand, if the throughput measurement value of the line B is not low, the downlink throughput measurement value of the line C and the IP address (route base) of the VPN server are stored in the calculation list of the storage unit 43 on the memory (step S73).

次に、アプリケーション30は、経路選択部51により、設定ファイルから読込んだ測定サーバIPアドレスに未選択のサーバIPアドレスが存在するか否かを判定する(ステップS74)。存在しなければ、ステップS63へ戻る。一方、存在すれば、図12のステップS76へと進む。   Next, the application 30 determines whether or not an unselected server IP address exists in the measurement server IP address read from the setting file by the route selection unit 51 (step S74). If not, the process returns to step S63. On the other hand, if it exists, the process proceeds to step S76 in FIG.

次に、アプリケーション30は、経路選択部51により、メモリ上の記憶部43の計算用リストから全ての上りスループット測定値と全ての下りスループット測定値の平均を算出し(ステップS76)、上り下りの平均スループット測定値に対する回線Aへの上りと下りのスループット測定値の割合を算出し(ステップS77)、それぞれ算出した上りの割合と下りの割合を掛け合わせ(ステップS78)掛け合わせた結果とVPNサーバIPアドレス(接続拠点)をメモリ上の記憶部43の経路リストに格納する(ステップS79)。   Next, the application 30 calculates the average of all the uplink throughput measurement values and all the downlink throughput measurement values from the calculation list in the storage unit 43 on the memory by the path selection unit 51 (step S76). The ratio of the uplink and downlink throughput measurement values to the line A with respect to the average throughput measurement value is calculated (step S77), and the calculated uplink ratio and downlink ratio are multiplied (step S78), and the result of the multiplication and the VPN server The IP address (connection base) is stored in the route list of the storage unit 43 on the memory (step S79).

次に、アプリケーション30は、経路選択部51により、設定ファイルから測定サーバIPアドレス(経由拠点)を1つ読み込み(ステップS80)、クライアント3のスループット測定結果から回線Bの上りと下りのスループット測定値を読み込み(ステップS81)、測定サーバ(経由拠点)の測定結果から回線Cの上りと下りのスループット測定値を読み込む(ステップS82)。   Next, the application 30 reads one measurement server IP address (route base) from the setting file by the route selection unit 51 (step S80), and the uplink and downlink throughput measurement values of the line B from the throughput measurement result of the client 3 Is read (step S81), and the uplink and downlink throughput measurement values of the line C are read from the measurement result of the measurement server (route base) (step S82).

次に、アプリケーション30は、経路選択部51により、回線Bの上りスループット測定値が、回線Cの上りスループット測定値より低いか否かを判定する(ステップS83)。回線Bのスループット測定値が低い場合、平均の上りスループット測定値に対する回線Bの上りスループット測定値の割合を算出する(ステップS84)。一方、回線Bのスループット低くない場合、平均の上りスループット測定値に対する回線Cの上りスループット測定値の割合を算出する(ステップS85)。   Next, the application 30 uses the path selection unit 51 to determine whether or not the uplink throughput measurement value of the line B is lower than the uplink throughput measurement value of the line C (step S83). When the throughput measurement value of the line B is low, the ratio of the uplink throughput measurement value of the line B to the average uplink throughput measurement value is calculated (step S84). On the other hand, if the throughput of the line B is not low, the ratio of the uplink throughput measurement value of the line C to the average uplink throughput measurement value is calculated (step S85).

次に、アプリケーション30は、経路選択部51により、算出した上りスループット割合を、メモリ上の記憶領域43の計算用リストに、上りスループット測定値割合として格納する(ステップS86)。   Next, the application 30 causes the path selection unit 51 to store the calculated uplink throughput ratio in the calculation list in the storage area 43 on the memory as an uplink throughput measurement value ratio (step S86).

次に、アプリケーション30は、経路選択部51により、回線Bの下りスループット測定値が、回線Cの下りスループット測定値より低いか否かを判定する(ステップS87)。回線Bのスループット低い場合、平均の下りスループット測定値に対する回線Bの下りスループット測定値の割合を算出する(ステップS88)。一方、回線Bのスループット低くない場合、平均の下りスループット測定値に対する回線Cの下りスループット測定値の割合を算出する(ステップS90)。   Next, the application 30 causes the route selection unit 51 to determine whether or not the downlink throughput measurement value of the line B is lower than the downlink throughput measurement value of the line C (step S87). When the throughput of line B is low, the ratio of the downlink throughput measurement value of line B to the average downlink throughput measurement value is calculated (step S88). On the other hand, if the throughput of line B is not low, the ratio of the downlink throughput measurement value of line C to the average downlink throughput measurement value is calculated (step S90).

次に、アプリケーション30は、経路選択部51により、算出した下りスループット割合を、メモリ上の記憶領域43の計算用リストに、下りスループット測定値割合として格納する(ステップS91)。   Next, the application 30 causes the path selection unit 51 to store the calculated downlink throughput ratio in the calculation list in the storage area 43 on the memory as a downlink throughput measurement value ratio (step S91).

次に、アプリケーション30は、経路選択部51により、上りスループット測定値割合と下りスループット測定値割合を掛け合わせ(ステップS91)、掛け合わせたスループット測定値割合とS81で読込んだ測定サーバ(経由拠点)と同じ拠点にある、VPNサーバIPアドレス(経由拠点)をメモリ上の記憶部43の経路リストに格納する(ステップS92)。   Next, the application 30 multiplies the uplink throughput measurement value ratio and the downlink throughput measurement value ratio by the route selection unit 51 (step S91), and the multiplied throughput measurement value ratio and the measurement server (route base) read in S81. ) Is stored in the route list of the storage unit 43 in the memory (step S92).

次に、アプリケーション30は、経路選択部51により、設定ファイルから未読込の測定サーバIPアドレスが存在するか否かを判定する(ステップS93)。存在すれば、ステップS53へ戻る。一方、存在しなければ、図9のステップS41へと進む。   Next, the application 30 uses the route selection unit 51 to determine whether or not there is an unread measurement server IP address from the setting file (step S93). If it exists, the process returns to step S53. On the other hand, if not, the process proceeds to step S41 in FIG.

(サーバ11,21側のアプリケーション10の動作フロー)
次に、図13のフローチャートを参照して、サーバ11,21側のアプリケーション10の動作について説明する。
(Operation flow of the application 10 on the server 11 and 21 side)
Next, the operation of the application 10 on the servers 11 and 21 side will be described with reference to the flowchart of FIG.

サーバ11,21のOSの起動時には、アプリケーション10が起動される。起動後のアプリケーション10は、OSに常駐し、以下に示すような一連の処理を設定ファイルで設定された一定の間隔で繰り返す。   When the OS of the servers 11 and 21 is activated, the application 10 is activated. The application 10 after activation resides in the OS and repeats a series of processes as described below at regular intervals set in the setting file.

アプリケーション10は、経路選択部63により、所定の記憶媒体または、記憶装置から設定ファイルを読込み、(ステップS101)、スループット測定部64により、測定サーバ間のスループットを測定する(ステップS102)。   The application 10 reads the setting file from a predetermined storage medium or storage device by the path selection unit 63 (step S101), and measures the throughput between the measurement servers by the throughput measurement unit 64 (step S102).

なお、測定先サーバからエラーが返ってきた場合、測定結果は0とし、以降の処理を続けるようにする。   When an error is returned from the measurement destination server, the measurement result is set to 0, and the subsequent processing is continued.

次に、アプリケーション10は、測定元サーバの記憶部62に同名(測定元IPアドレス_測定先サーバIPアドレス_YYYYMMDD(本日日付).log)のスループット測定結果ログファイルが存在するか否かを判定する(ステップS103)。存在しなければ、新たなスループット測定結果ログファイルを新規作成し、スループット測定結果を保存する(ステップS104)。一方、存在すれば、測定元サーバの記憶部62にあるスループット測定結果ログファイルに、スループット測定結果を追記し、上書き保存する(ステップS105)。   Next, the application 10 determines whether or not a throughput measurement result log file having the same name (measurement source IP address_measurement destination server IP address_YYYYMMDD (today's date) .log) exists in the storage unit 62 of the measurement source server. (Step S103). If not, a new throughput measurement result log file is newly created, and the throughput measurement result is stored (step S104). On the other hand, if it exists, the throughput measurement result is added to the throughput measurement result log file in the storage unit 62 of the measurement source server, and is overwritten and saved (step S105).

次に、アプリケーション10は、測定していない拠点のサーバがあるか否かを判定する(ステップS106)。測定していない拠点のサーバがあれば、ステップS102へ戻る。一方、測定していない拠点のサーバがなければ、一連の処理を終了する。   Next, the application 10 determines whether there is a server at a base that has not been measured (step S106). If there is a server at a base that has not been measured, the process returns to step S102. On the other hand, if there is no server at the base that has not been measured, the series of processing ends.

以上詳述したように本実施形態によれば、各拠点のデータセンターが専用線などの高品質な回線で少なくとも2つ以上の拠点と相互に接続され、クライントと拠点間がインターネットVPNで接続される環境において、クラアントはアクセス可能なサーバのIPアドレスを所有し、サーバ間のスループットを測定し、サーバは相互に接続されるサーバのスループットを測定し保持する。クライアントは、サーバが保持している、スループット情報を収集し、最もスループットの高い経路を選択し、自身のhostsファイル内のアドレスを選択したアドレスに更新することで、ユーザが目的のサーバにインターネットVPNで接続を試みる際、相互接続される最もスループットの高い回線の拠点を介して目的のサーバにアクセスすることにより、従来のVPN接続より最適なアクセス、または通信を可能にするプログラムを提供することができる。   As described in detail above, according to the present embodiment, the data center of each base is connected to at least two bases by a high-quality line such as a dedicated line, and the client and the base are connected by the Internet VPN. In such an environment, the client owns the IP address of an accessible server and measures the throughput between servers, and the server measures and maintains the throughput of servers connected to each other. The client collects throughput information held by the server, selects the route with the highest throughput, and updates the address in its own hosts file to the selected address, so that the user can connect to the target server via the Internet VPN. To provide a program that enables optimal access or communication over the conventional VPN connection by accessing the target server through the base of the line with the highest throughput that is interconnected when attempting connection with it can.

また、プログラムはクライント端末、サーバ機にインストールするのみであり、ネットワークの再構築や機器の追加を行うことなく、少なくとも通信の劣化の問題を解消することが可能であり、最適経路でのアクセス可能なことから、回線障害時の障害回避も可能になる。   In addition, the program can only be installed on the client terminal or server machine, and at least the problem of communication degradation can be solved without restructuring the network or adding equipment, and can be accessed via the optimum route. Therefore, it is possible to avoid a failure at the time of a line failure.

上記実施形態で述べた各種の機能や処理手順は、コンピュータプログラムとして、コンピュータにより読み取り可能な記憶媒体または、記憶装置(例えば半導体メモリ,光ディスク,磁気ディスク)に記憶させておき、必要に応じてそれをプロセッサにより読み出して実行するようにしてもよい。また、このようなコンピュータプログラムは、通信媒体を介してあるコンピュータから他のコンピュータに伝送することにより配布することも可能である。   The various functions and processing procedures described in the above embodiments are stored as a computer program in a computer-readable storage medium or storage device (for example, a semiconductor memory, an optical disk, or a magnetic disk), and are stored as necessary. May be read and executed by a processor. Such a computer program can also be distributed by transmitting from one computer to another computer via a communication medium.

本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。   The present invention is not limited to the above-described embodiments as they are, and can be embodied by modifying the constituent elements without departing from the scope of the invention in the implementation stage. In addition, various inventions can be formed by appropriately combining a plurality of components disclosed in the embodiment. For example, some components may be deleted from all the components shown in the embodiment. Furthermore, constituent elements over different embodiments may be appropriately combined.

1,2…VPNサーバ、3…クライアント、10,30…アプリケーション、11,12,21,22…サーバ、100,200…データセンター、40,60…通信部、41〜44…記憶部、51…経路選択部、52…スループット測定部、61,62…記憶部、63…測定制御部、64…スループット測定部。   1, 2 ... VPN server, 3 ... client, 10, 30 ... application, 11, 12, 21, 22 ... server, 100, 200 ... data center, 40, 60 ... communication unit, 41-44 ... storage unit, 51 ... Route selection unit, 52... Throughput measurement unit, 61, 62... Storage unit, 63... Measurement control unit, 64.

Claims (4)

複数の拠点にそれぞれ存在するサーバ機器が相互に専用線で接続されるネットワークにおいてクライアント機器がVPNにより所定のサーバ機器にVPNサーバ機器経由で接続する際の経路を選定するネットワーク経路選定方法であって、
前記クライアント機器が、スループット測定手段により、前記クライアント機器がVPN接続をしていないときに、前記複数の拠点にそれぞれ存在するサーバ機器にVPNサーバ機器経由で接続し、前記クライアント機器とそれぞれのサーバ機器との間のスループット値を測定、もしくはクライアントがSSHにて測定サーバにリモート接続を行い、測定サーバからクライアントへのスループットを測定するコマンドを実行し、測定結果を取得するとともに、クライアントはSSHを用いて各拠点のサーバ機器間のスループット値を取得し、測定もしくは取得したそれぞれのスループット値を記憶媒体の所定の領域に保存し、保存後に接続中のVPN接続を切断し、
前記クライアント機器が、経路選択手段により、前記記憶媒体の所定の領域に保存されたそれぞれのスループット値に基づき、前記クライアント機器が所定のサーバ機器に接続することが可能な経路のうち、最もスループットが高い経路を選択し、選択した経路に位置するVPNサーバのアドレスを前記クライアント機器のhostsファイルに設定する ことを特徴とするネットワーク経路選定方法。
A network route selection method for selecting a route when a client device is connected to a predetermined server device via a VPN server via a VPN in a network in which server devices respectively existing at a plurality of bases are connected to each other through a dedicated line. ,
When the client device is not VPN-connected by the throughput measuring means, the client device is connected to a server device existing at each of the plurality of bases via a VPN server device, and the client device and each server device Measure the throughput value between the server and the client remotely connect to the measurement server via SSH, execute the command to measure the throughput from the measurement server to the client, acquire the measurement result, and the client uses SSH To obtain the throughput value between the server devices at each base, store the measured or acquired throughput values in a predetermined area of the storage medium, and disconnect the VPN connection being connected after saving,
Based on the respective throughput values stored in the predetermined area of the storage medium by the path selection unit, the client apparatus has the highest throughput among the paths that the client apparatus can connect to the predetermined server apparatus. A network route selection method comprising: selecting a high route and setting an address of a VPN server located on the selected route in a hosts file of the client device.
請求項1に記載のネットワーク経路選定方法において、
前記複数の拠点にそれぞれ存在するサーバ機器が、スループット測定手段により、サーバ機器間のスループット値を測定し、測定したサーバ機器間のスループット値を記憶媒体の所定の領域に保存する
ことを特徴とするネットワーク経路選定方法。
The network routing method according to claim 1, wherein
The server devices existing at each of the plurality of bases measure throughput values between server devices by using a throughput measuring unit, and store the measured throughput values between server devices in a predetermined area of a storage medium. Network routing method.
複数の拠点にそれぞれ存在するサーバ機器が相互に専用線で接続されるネットワークにおいてクライアント機器がVPNにより所定のサーバ機器にVPNサーバ機器経由で接続する際の経路を選定するネットワーク経路選定用プログラムであって、
前記クライアント機器がVPN接続をしていないときに、前記複数の拠点にそれぞれ存在するサーバ機器にVPNサーバ機器経由で接続し、前記クライアント機器とそれぞれのサーバ機器との間のスループット値を測定、もしくはクライアントがSSHにて測定サーバにリモート接続を行い、測定サーバからクライアントへのスループットを測定するコマンドを実行し、測定結果を取得するとともに、クライントはSSHを用いて各拠点のサーバ機器間のスループット値を取得し、測定もしくは取得したそれぞれのスループット値を記憶媒体の所定の領域に保存し、保存後に接続中のVPN接続を切断するスループット測定機能と、
前記記憶媒体の所定の領域に保存されたそれぞれのスループット値に基づき、前記クライアント機器が所定のサーバ機器に接続することが可能な経路のうち、最もスループットが高い経路を選択し、選択した経路に位置するVPNサーバのアドレスを前記クライアント機器のhostsファイルに設定する経路選択機能と
をコンピュータに実現させることを特徴とするネットワーク経路選定用プログラム。
A network path selection program for selecting a path when a client apparatus connects to a predetermined server apparatus via a VPN server via a VPN in a network in which server apparatuses existing at a plurality of bases are connected to each other by a dedicated line. And
When the client device is not VPN-connected, connect to the server device existing at each of the plurality of bases via the VPN server device, and measure the throughput value between the client device and each server device, or The client remotely connects to the measurement server via SSH, executes a command to measure the throughput from the measurement server to the client, acquires the measurement result, and the client uses SSH to determine the throughput value between the server devices at each site. A throughput measurement function for storing each measured or acquired throughput value in a predetermined area of the storage medium, and disconnecting the connected VPN connection after saving,
Based on the respective throughput values stored in the predetermined area of the storage medium, the route with the highest throughput is selected from the routes that the client device can connect to the predetermined server device. A network routing program for causing a computer to realize a routing function for setting an address of a located VPN server in a hosts file of the client device.
複数の拠点にそれぞれ存在するサーバ機器が相互に専用線で接続されるネットワークにおいてVPNにより所定のサーバ機器にVPNサーバ機器経由で接続する際の経路を選定することが可能なクライアント機器であって、
前記クライアント機器がVPN接続をしていないときに、前記複数の拠点にそれぞれ存在するサーバ機器にVPNサーバ機器経由で接続し、前記クライアント機器とそれぞれのサーバ機器との間のスループット値を測定、もしくはクライアントがSSHにて測定サーバにリモート接続を行い、測定サーバからクライアントへのスループットを測定するコマンドを実行し、測定結果を取得するとともに、クライアントはSSHを用いて各拠点のサーバ機器間のスループット値を取得し、測定もしくは取得したそれぞれのスループット値を記憶媒体の所定の領域に保存し、保存後に接続中のVPN接続を切断するスループット測定手段と、
前記記憶媒体の所定の領域に保存されたそれぞれのスループット値に基づき、前記クライアント機器が所定のサーバ機器に接続することが可能な経路のうち、最もスループットが高い経路を選択し、選択した経路に位置するVPNサーバのアドレスを前記クライアント機器のhostsファイルに設定する経路選択手段と
を具備することを特徴とするクライアント機器。
A client device capable of selecting a path for connecting to a predetermined server device via a VPN server device via a VPN in a network in which server devices respectively present at a plurality of bases are connected to each other by a dedicated line,
When the client device is not VPN-connected, connect to the server device existing at each of the plurality of bases via the VPN server device, and measure the throughput value between the client device and each server device, or The client remotely connects to the measurement server via SSH, executes a command for measuring the throughput from the measurement server to the client, acquires the measurement result, and the client uses the SSH to determine the throughput value between the server devices at each site. A throughput measuring means for storing the measured or acquired respective throughput values in a predetermined area of the storage medium, and disconnecting the connected VPN connection after the storage;
Based on the respective throughput values stored in the predetermined area of the storage medium, the route with the highest throughput is selected from the routes that the client device can connect to the predetermined server device. A client device comprising: path selection means for setting an address of a located VPN server in a hosts file of the client device.
JP2010084016A 2010-03-31 2010-03-31 Network routing method Active JP4970565B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2010084016A JP4970565B2 (en) 2010-03-31 2010-03-31 Network routing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2010084016A JP4970565B2 (en) 2010-03-31 2010-03-31 Network routing method

Publications (2)

Publication Number Publication Date
JP2011217158A JP2011217158A (en) 2011-10-27
JP4970565B2 true JP4970565B2 (en) 2012-07-11

Family

ID=44946439

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010084016A Active JP4970565B2 (en) 2010-03-31 2010-03-31 Network routing method

Country Status (1)

Country Link
JP (1) JP4970565B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005269460A (en) * 2004-03-19 2005-09-29 Intec Netcore Inc System and method for measuring communication quality, and presentation server unit

Also Published As

Publication number Publication date
JP2011217158A (en) 2011-10-27

Similar Documents

Publication Publication Date Title
US11595270B2 (en) Methods and apparatus for providing adaptive private network centralized management system discovery processes
US11108595B2 (en) Systems and methods for providing a global virtual network (GVN)
US11606286B2 (en) High performance software-defined core network
CN112087312B (en) Method, device and equipment for providing edge service
US10476765B2 (en) Methods and apparatus for providing adaptive private network centralized management system discovery processes
US10893031B2 (en) Dynamically serving digital certificates based on secure session properties
US20200106696A1 (en) High performance software-defined core network
US20200296026A1 (en) High performance software-defined core network
US20190280962A1 (en) High performance software-defined core network
US20190238450A1 (en) High performance software-defined core network
US8261339B2 (en) Dynamic network tunnel endpoint selection
EP2701363B1 (en) Content processing method, device and system
US20150319081A1 (en) Method and apparatus for optimized network and service processing
US20140355441A1 (en) Method and apparatus of delivering assured services over unreliable internet infrastructure by using virtual overlay network architecture over a public cloud backbone
US8341285B2 (en) Method and system for transferring files
CN104539531A (en) Data transmission method and device
CN111741508B (en) Method, controller, forwarding device, device and medium for establishing communication connection
US20130159547A1 (en) Data transfer system
JP4970565B2 (en) Network routing method
JP2007207013A (en) Information processor and information sharing program
CN107395416A (en) A kind of data transmission method for uplink and server cluster
US10951688B2 (en) Delegated services platform system and method
JP5997226B2 (en) Upload system
CN116260886A (en) Communication method, system, device and storage medium

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111220

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120208

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120404

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4970565

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250