JP2016066828A - 接続仲介サーバコンピュータ、通信制御システム及びプログラム - Google Patents
接続仲介サーバコンピュータ、通信制御システム及びプログラム Download PDFInfo
- Publication number
- JP2016066828A JP2016066828A JP2014192872A JP2014192872A JP2016066828A JP 2016066828 A JP2016066828 A JP 2016066828A JP 2014192872 A JP2014192872 A JP 2014192872A JP 2014192872 A JP2014192872 A JP 2014192872A JP 2016066828 A JP2016066828 A JP 2016066828A
- Authority
- JP
- Japan
- Prior art keywords
- connection
- ras
- server
- client
- throughput
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
Abstract
【課題】スループット、すなわちネットワークの単位時間あたりの実効転送量の実際の計測結果に基づいて、望ましい通信プロトコルを設定し得る技術を提供する。【解決手段】接続要求送信部と、通信部を備えるRASクライアント12と、クライアントコンピュータ12との通信時のスループットを計測する計測部と、スループット及び通信プロトコルを含む接続履歴を送信する送信部と、通信部を備えるRASサーバ10と、RASサーバ10から送信された接続履歴を記憶する接続履歴データベースと、接続履歴に基づきRASクライアント12がRASサーバ10と通信するための通信プロトコルを設定し、接続要求送信部からの新たな接続要求に応じてRASクライアント12に送信する送信部を備える接続仲介サーバ14を備える。【選択図】図1
Description
本発明は、接続仲介サーバコンピュータ、通信制御システム及びプログラムに関する。
インターネットを利用してVPN(仮想プライベートネットワーク:Virtual Private Network)接続を行う場合、VPN接続方法にはプロトコル別にPPTP、IPsec、OpenVPN等、いくつかの種類がある。プロトコルにはそれぞれ特徴があり、ユーザは所望のVPN製品を選択することが可能である。
但し、一部のISP(インターネット接続業者:Internet Service Provider)では、ISP側の事情により、ポート制限、帯域制限、通信プロトコル制限を行っているため、VPN接続できるか否かは実際に試行しなければわからない場合がある。そして、仮に接続できなかった場合、そのトラブルシューティングはエンドユーザにとって容易ではない。さらに、RAS(リモートアクセスサービス:Remote Access Service)のようにモバイル環境で使用する場合、試行して接続できないことは重大な問題となり得る。
特許文献1には、クライアント機器がRAS接続していないときに、各拠点のRASサーバに対してスループットを計測し、最もスループットが高いRASサーバをホストファイルに保存し、実際にRAS接続するタイミングで最もスループットが高いRASサーバに対してRAS接続を行うネットワーク経路選定方法が記載されている。
特許文献2には、ユーザと、ユーザの接続が許可されるネットワークアドレスの組み合わせに対して使用される暗号化方式を特定する情報を有し、当該情報を暗号化ゲートウェイに通知し、暗号化ゲートウェイは通知された暗号方式によってユーザ毎に通信の暗号化を行う動的暗号化通信システムが記載されている。
しかしながら、実際のVPNプロトコルを通じてスループットを計測しなければ、そもそも正確なスループットを把握することはできない。
また、RASの接続性は、ISPの回線品質や帯域制限、プロトコル制限、時間帯により大きく変わり得るため、適宜これらの変動要因を考慮する必要もある。
さらに、ユーザ毎に暗号化方式を設定し、接続毎にユーザを認識して暗号化方法を変更する場合、接続するクライアント側のISPが変更になったときにはそのISPで通信できる暗号化方式であるか否かを考慮する必要があり、特にクライアントがネットワークを次々に移動するモバイル環境ではこの問題が顕在化し得る。
本発明の目的は、スループット、すなわちネットワークの単位時間あたりの実効転送量の実際の計測結果に基づいて、望ましい通信プロトコルを設定し得る技術を提供することにある。
請求項1に記載された発明は、サーバコンピュータから送信された、クライアントコンピュータとの通信時の計測スループット及び通信プロトコルを含む接続履歴を記憶する接続履歴データベースと、前記接続履歴に基づきクライアントコンピュータが新たにサーバコンピュータと通信するための通信プロトコルを設定し、クライアントコンピュータからの新たな接続要求に応じてクライアントコンピュータに送信する送信部とを備える接続仲介サーバコンピュータである。
請求項2に記載された発明は、前記接続履歴データベースは、クライアントコンピュータから送信された、サーバコンピュータとの接続に失敗した旨の接続履歴をさらに記憶する請求項1記載の接続仲介サーバコンピュータである。
請求項3に記載された発明は、前記送信部は、前記計測スループットに基づき算出される回線評価値が最も高い通信プロトコルを含む1又は複数の通信プロトコルを送信する請求項1記載の接続仲介サーバコンピュータである。
請求項4に記載された発明は、前記送信部は、未だ前記計測スループットが存在していない通信プロトコルを含んで送信する請求項3記載の接続仲介サーバコンピュータである。
請求項5に記載された発明は、前記送信部は、時間帯又は曜日毎の前記計測スループットに基づき算出される回線評価値が最も高い通信プロトコルを含む1又は複数の通信プロトコルを送信する請求項3記載の接続仲介サーバコンピュータである。
請求項6に記載された発明は、前記送信部は、クライアントコンピュータの接続目的に合致する通信プロトコルを含む1又は複数の通信プロトコルを送信する請求項3記載の接続仲介サーバコンピュータである。
請求項7に記載された発明は、接続要求送信部と、通信部を備えるクライアントコンピュータと、前記クライアントコンピュータとの通信時のスループットを計測する計測部と、前記スループット及び通信プロトコルを含む接続履歴を送信する送信部と、通信部を備えるサーバコンピュータと、前記サーバコンピュータから送信された前記接続履歴を記憶する接続履歴データベースと、前記接続履歴に基づき前記クライアントコンピュータが前記サーバコンピュータと通信するための通信プロトコルを設定し、前記接続要求送信部からの新たな接続要求に応じて前記クライアントコンピュータに送信する送信部を備える接続仲介サーバコンピュータを備え、前記クライアントコンピュータの前記通信部は、前記接続仲介サーバコンピュータから送信された前記通信プロトコルで前記サーバコンピュータと通信する通信制御システムである。
請求項8に記載された発明は、コンピュータを、サーバコンピュータから送信された、クライアントコンピュータとの通信時の計測スループット及び通信プロトコルを含む接続履歴を記憶する手段と、前記接続履歴に基づきクライアントコンピュータが新たにサーバコンピュータと通信するための通信プロトコルを設定し、クライアントコンピュータからの新たな接続要求に応じてクライアントコンピュータに送信する手段として機能させるプログラムである。
請求項1,7,8に記載された発明によれば、スループットの実際の計測結果を用いて望ましい通信プロトコルをクライアントコンピュータに提供することができ、クライアントコンピュータは提供を受けた通信プロトコルを用いてサーバコンピュータに接続を試行できる。
請求項2に記載された発明によれば、さらに、接続履歴データベースの精度を上げることができる。
請求項3に記載された発明によれば、さらに、最良の通信プロトコルをクライアントコンピュータに提供することができる。
請求項4に記載された発明によれば、さらに、接続履歴データベースの精度を上げることができる。
請求項5に記載された発明によれば、時間帯又は曜日に応じた望ましい通信プロトコルをクライアントコンピュータに提供することができる。
請求項6に記載された発明によれば、接続目的に応じた望ましい通信プロトコルをクライアントコンピュータに提供することができる。
以下、図面に基づき本発明の実施形態について、RAS(リモートアクセスサービス)接続する場合を例にとり説明する。但し、本発明は必ずしもRAS接続に限定されず、任意のVPN接続に適用され得る。ここで、VPNは公知であるが、インターネット等の公衆回線において、2つの拠点間で専用の接続方法や暗号化を用いることにより仮想的な接続をつくり上げ、あたかも直接接続されたプライベートネットワークにつながっているかのようにプライベートネットワークの機能上、セキュリティ上、管理上の恩恵を受けつつデータを送受信する技術と定義される。VPNには、大別してインターネットVPNとIP−VPNがあるが、本発明はいずれにも適用し得る。
<第1実施形態>
図1は、本実施形態におけるシステム構成図である。本システムは、RASサーバ10、RASクライアント12、及び接続仲介サーバ14を備え、これらが相互にインターネット16を介して接続される。
図1は、本実施形態におけるシステム構成図である。本システムは、RASサーバ10、RASクライアント12、及び接続仲介サーバ14を備え、これらが相互にインターネット16を介して接続される。
RASサーバ10は、RASサーバIDによって一意に定まるサーバコンピュータである。RASサーバ10は、定期的にRASサーバ情報を接続仲介サーバ14に通知する。RASサーバ情報は、RASサーバID、IPアドレス、ISPドメイン情報を含む。また、RASサーバ10は、RASクライアント12とRAS接続中においてVPNのスループットを計測し、RAS接続が終了した後に当該スループットを接続仲介サーバ14に送信する。スループットの計測方法は任意であるが、一例としてRASサーバ10から計測用のパケットを送信し、RASクライアント12がこの計測用のパケットに応答してパケットを返信し、この返信パケットを受信することで計測し得る。
RASクライアント12は、複数のVPNプロトコルでRASサーバ10に接続し得るクライアントコンピュータもしくは端末装置である。RASクライアント12は、RASサーバ10へのRAS接続前に、接続仲介サーバ14に対して最適なVPNプロトコルを問い合わせる。また、RASクライアント12は、RASサーバ10へのRAS接続に失敗すると、失敗した旨の接続履歴を接続仲介サーバ14に送信する。
接続仲介サーバ14は、RASクライアント12からの要求に応じ、RASクライアント12に対して最適なVPNプロトコルを通知するサーバコンピュータである。接続仲介サーバ14は、全RASサーバ10のRASサーバ情報を記憶するとともに、ISPドメインとIPアドレス(もしくはIPアドレスの範囲)の対を作成して記憶する。また、接続仲介サーバ14は、接続履歴からVPNプロトコル毎の回線品質を評価し、接続統計データベースとして記憶する。また、接続仲介サーバ14は、ISPデータベースと接続統計データベースに基づいて最適なVPNプロトコルを決定し、RASクライアント12に通知する。
次に、図1の各構成について、より詳細に説明する。
図2は、RASサーバ10の構成ブロック図である。RASサーバ10は、機能ブロックとして、RASサーバ情報送信部、RASサーバ情報記憶部、第1通信部、第2通信部、VPN通信部、スループット計測部、接続履歴送信部、及びスループット記憶部を備える。
図2は、RASサーバ10の構成ブロック図である。RASサーバ10は、機能ブロックとして、RASサーバ情報送信部、RASサーバ情報記憶部、第1通信部、第2通信部、VPN通信部、スループット計測部、接続履歴送信部、及びスループット記憶部を備える。
第1通信部は、インターネット16に接続され、RASクライアント12及び接続仲介サーバ14と通信を行うネットワークインタフェースである。第1通信部は、RASサーバ10のグローバルアドレスを保持する。
第2通信部は、LANに接続され、LAN内の端末と通信を行うネットワークインタフェースである。
RASサーバ情報送信部は、RASサーバ情報、すなわちRASサーバID、IPアドレス、ISPドメインを接続仲介サーバ14に送信する。
RASサーバ情報記憶部は、RASサーバ情報を記憶する。
VPN通信部は、RASクライアント12からのVPN接続要求を受け付け、VPN接続を確立する。具体的には、VPN通信部は、第1通信部から受け取ったRASクライアント12からのパケットを復号し、第2通信部に復号済みパケットを送信する。また、第2通信部から受け取ったRASクライアント宛のパケットを暗号化し、第1通信部に暗号化済みパケットを送信する。VPN接続が確立すると、VPN通信部は、RASクライアント12からISPドメインを取得し、スループット計測部に対してスループットの測定を要求する。
スループット計測部は、RASクライアント12とVPN接続開始時もしくはVPN接続中に、RASクライアント12のVPN仮想アドレスに対してスループットを計測する。スループット計測部は、スループットの計測を終えると、スループット記憶部に計測結果を登録する。
スループット記憶部は、スループット計測時刻、VPNプロトコル、RASクライアント12のVPN仮想アドレス、RASサーバ10のISPドメイン、RASクライアント12のISPドメイン、及び計測したスループットを記憶する。
接続履歴送信部は、VPN接続が終了すると、接続履歴を接続仲介サーバ14に送信する。
RASサーバ10の各機能ブロックは、コンピュータのプロセッサがプログラムメモリに記憶された処理プログラムを実行することにより実現される。RASサーバ情報送信部、VPN通信部、スループット計測部、及び接続履歴送信部はプロセッサで実現され、RASサーバ情報記憶部及びスループット記憶部はメモリで実現される。複数のプロセッサが協働して各機能ブロックを実現してもよい。
図3は、RASクライアント12の構成ブロック図である。RASクライアント12は、機能ブロックとして、接続要求送信部、通信部、VPN接続部、スループット計測応答部、及び接続履歴送信部を備える。
通信部は、RASサーバ10及び接続仲介サーバ14と通信を行うネットワークインタフェースである。
接続要求送信部は、接続仲介サーバ14に対してRAS接続したいRASサーバIDを送信し、RASサーバ10のIPアドレス及び最適なVPNプロトコルを問い合わせる。また、接続要求送信部は、接続仲介サーバ14からRASサーバI0のIPアドレス及び最適なVPNプロトコルの応答があると、VPN接続部にVPN接続要求を行うように制御する。
VPN接続部は、RASサーバ10のIPアドレスに対して、最適なVPNプロトコルを用いてVPN接続要求を行う。
スループット計測応答部は、RASサーバ10からのスループット計測パケットに対して、応答パケットを送信する。
接続履歴送信部は、VPN接続部がRASサーバ10とのVPN接続に失敗した場合、接続に失敗した旨の接続履歴を接続仲介サーバ14に送信する。
RASクライアント12の各機能ブロックも、コンピュータのプロセッサがプログラムメモリに記憶された処理プログラムを実行することにより実現される。接続要求送信部、VPN接続部、スループット計測応答部及び接続履歴送信部はプロセッサで実現される。複数のプロセッサが協働して各機能ブロックを実現してもよい。RASクライアント12は、パーソナルコンピュータの他、スマートフォン等の情報端末、タブレット端末等でもよい。
図4は、接続仲介サーバ14の構成ブロック図である。接続仲介サーバ14は、機能ブロックとして、RASサーバ情報収集部、RASサーバデータベース、ISPデータベース更新部、ISPデータベース、通信部、VPNプロトコル決定部、接続履歴収集部、接続統計データベース、接続履歴データベース、及び接続統計データベース更新部を備える。
通信部は、RASサーバ10及びRASクライアント12と通信を行うネットワークインタフェースである。
RASサーバ情報収集部は、RASサーバ10からRASサーバ情報を受信し、RASサーバデータベースに登録する。RASサーバ情報は、RASサーバID、IPアドレス及びISPドメインである。
RASサーバデータベースは、RASサーバIDをキーとしてRASサーバ10のIPアドレス及びISPドメインを記憶する。
ISPデータベース更新部は、RASサーバデータベースに登録されているISPドメインとIPアドレスの対を全て取得し、ISPドメイン毎に振り出されるIPアドレスの範囲を算出して、ISPデータベースに登録する。
ISPデータベースは、RASサーバ10のISPドメインとIPアドレス(もしくはIPアドレスの範囲)の対を記憶する。
接続履歴収集部は、RASサーバ10もしくはRASクライアント12から接続履歴を受信し、接続履歴データベースに登録する。RAS接続に成功した場合にはRASサーバ10から接続履歴を受信し、RAS接続に失敗した場合にはRASクライアント12から接続履歴を受信する。
接続履歴データベースは、スループット計測時刻、RASクライアント12のISPドメイン、RASサーバ10のISPドメイン、VPNプロトコル、スループットを記憶する。
接続統計データベース更新部は、接続履歴データベースからRASクライアント12のISPドメインとRASサーバ10のISPドメインが同一の計測結果を取得し、VPNプロトコル毎の回線品質値を算出する。RASクライアント12のISPドメイン、RASサーバ10のISPドメインの組み合わせ毎に、VPNプロトコルと回線品質値の対を接続統計データベースに登録して更新する。
接続統計データベースは、RASクライアント12のISPドメインと、RASサーバ10のISPドメインの組み合わせ毎に、VPNプロトコルと回線品質値の対を記憶する。
VPNプロトコル決定部は、RASクライアント12からの接続要求に対して、RASサーバIDをキーにして、RASサーバデータベースからRASサーバ10のISPドメインを取得し、RASクライアント12のIPアドレスをキーにして、ISPデータベースからRASクライアント12のISPドメインを取得する。また、RASサーバ10のISPドメインとRASクライアント12のISPドメインを用いて接続統計データベースを走査し、最も回線品質値が高いVPNプロトコルを決定し、決定したVPNプロトコルをRASクライアント12に通知する。
ここで、RASサーバデータベースを作成する処理は、以下の通りである。すなわち、RASサーバ10が接続仲介サーバ14に対してRASサーバ情報の登録を要求する。RASサーバ情報には、既述したように、RASサーバID、ISPドメイン、IPアドレスが含まれる。なお、RASサーバ10のIPアドレスは、通信パケットに含まれるTCPヘッダに含まれるIPアドレスでもよい。この要求を受け付けると、RASサーバ情報収集部は、RASサーバIDをキーとしてRASサーバデータベースにRASサーバ情報を登録・更新する。そして、RASサーバ情報の登録が完了すると、登録したことをRASサーバ10に通知する。
また、ISPサーバデータベースを作成する処理は、以下の通りである。すなわち、ISPデータベース更新部は、RASサーバデータベースからISPドメインとIPアドレスの対を全て取得し、ISPアドレスとIPアドレスの対応からISP毎に振り出されるIPアドレスの範囲を算出する。例えば、同一ISPで
180.26.157.225
180.26.157.231
が振り出されていた場合、これらのアドレスの間の
180.26.157.225〜180.26.157.231
のアドレス範囲も同一ISPであると判断する。また、同一ISPで
118.13.80.1
118.13.80.254
が振り出されていた場合、これらのアドレスの間の
118.13.80.1〜118.13.80.254
のアドレス範囲も同一ISPであると判断する。そして、算出したISPドメインとIPアドレスの範囲をISPデータベースに登録する。
180.26.157.225
180.26.157.231
が振り出されていた場合、これらのアドレスの間の
180.26.157.225〜180.26.157.231
のアドレス範囲も同一ISPであると判断する。また、同一ISPで
118.13.80.1
118.13.80.254
が振り出されていた場合、これらのアドレスの間の
118.13.80.1〜118.13.80.254
のアドレス範囲も同一ISPであると判断する。そして、算出したISPドメインとIPアドレスの範囲をISPデータベースに登録する。
接続仲介サーバ14の各機能ブロックは、コンピュータのプロセッサがプログラムメモリに記憶された処理プログラムを実行することにより実現される。RASサーバ情報収集部、ISPデータベース更新部、VPNプロトコル決定部、接続履歴収集部、接続統計データベース更新部はプロセッサで実現され、RASサーバデータベース、ISPデータベース、ISPデータベース、接続統計データベース、及び接続履歴データベースは同一もしくは異なるメモリ・外部記憶装置で実現される。複数のプロセッサが協働して各機能ブロックを実現してもよい。
図5は、本実施形態の全体処理フローチャート(その1)であり、RASクライアント12がRASサーバ10に接続するまでの処理である。図において、VPNプロトコル決定部、RASサーバデータベース、ISPデータベース及び接続統計データベースは接続仲介サーバ14が備えているので、RASクライアント12と接続仲介サーバ14とRASサーバ10間の処理である。
まず、RASクライアント12は、接続仲介サーバ14のVPNプロトコル決定部に対してRASサーバ10への接続要求を送信する。接続要求には、RASクライアント12が接続を望むRASサーバ10のRASサーバIDが含まれる。
接続仲介サーバ14のVPNプロトコル決定部は、RASサーバIDをキーとしてRASサーバデータベースを走査(検索)し、RASサーバ10のIPアドレスとISPドメインを取得する。
次に、VPNプロトコル決定部は、RASクライアント12のIPアドレスをキーとしてISPデータベースを走査し、RASクライアント12のISPを判定する。例えば、RASクライアント12のIPアドレスが
118.13.80.4
であれば、ISPは
@isp−b.ne.jp
等と判定する。なお、RASクライアント12のIPアドレスがISPデータベースに存在しない場合、ISPは
default
と判定する。
118.13.80.4
であれば、ISPは
@isp−b.ne.jp
等と判定する。なお、RASクライアント12のIPアドレスがISPデータベースに存在しない場合、ISPは
default
と判定する。
次に、VPNプロトコル決定部は、RASサーバ10のISPドメイン、RASクライアント12のISPドメインに基づき、接続統計データベースを走査(検索)して、回線品質値が最も高いVPNプロトコルを選択する。
次に、VPNプロトコル決定部は、RASクライアント12に対してRAS接続情報を通知する。RAS接続情報には、RASサーバ10のIPアドレス、ISPドメイン、RASクライアント12のISPドメイン、選択したVPNプロトコルが含まれる。
RASクライアント12は、VPNプロトコル決定部から通知されたVPNプロトコルでRASサーバ10に対しRAS接続を試行する。例えば、VPNプロトコル決定部から通信されたVPNプロトコルがPPTPであれば、RASクライアント12はPPTPを用いてRASサーバ10に接続する。VPN決定部は、回線品質値が最も高いVPNプロトコルを選択して通知するため、他のVPNプロトコルで試行する場合に比べてRASクライアント12は接続に成功する可能性が高いといえる。
図6は、本実施形態の全体処理フローチャート(その2)であり、RASクライアント12がRASサーバ10に対して接続を確立してから当該接続を切断するまでの処理である。図において、VPN通信部、スループット計測部、スループット記憶部、接続履歴送信部はRASサーバ10が備えており、接続履歴収集部及び接続履歴データベースは接続仲介サーバ14が備えている。
RASクライアント12は、VPN接続が確立すると、RASサーバ10のVPN通信部に対してRASクライアント12のISPドメインを通知する。
次に、VPN通信部は、スループット計測部に対してスループットを測定する要求を出す。測定要求には、VPNプロトコル、RASクライアント12のVPN仮想アドレス、RASサーバ10のISPドメイン、RASクライアント12のISPドメインが含まれる。
次に、スループット計測部は、RASクライアント12のVPN仮想アドレスに対してスループット計測用パケットを送信し、RASクライアント12のスループット計測応答部から送信される応答パケットを受信することで、スループット、すなわち単位時間当たりの実効転送量を計測する。これにより、スループットは例えば10Mbps等と計測される。スループット計測部は、計測結果をスループット記憶部に登録する。
スループット計測部は、これらの処理を定期的(例えば1時間に1回の頻度)に実行してRASクライアント12とRASサーバ10との間のスループットを計測し、スループット記憶部に測定時刻とともに順次登録していく。
次に、RASクライアント12とRASサーバ10との間のRAS接続が終了すると(図において、×印は接続が切断されたことを示す)、RASサーバ10のVPN通信部は、接続履歴送信部に対して接続履歴、すなわちスループットを接続仲介サーバ14に送信するよう要求する。
接続履歴送信部は、スループット記憶部からRASクライアント12のVPN仮想アドレスに一致する接続履歴を取得する。そして、取得した接続履歴を接続仲介サーバ14の接続履歴収集部に送信する。送信する内容には、スループット測定時刻、VPNプロトコル、RASサーバ10のISPドメイン、RASクライアント12のISPドメイン、スループットが含まれる。例えば、
計測時刻 2014/02/17 08:33
VPNプロトコル OpenVPN
サーバISPドメイン @isp−a.ne.jp
クライアントISPドメイン @isp−b.ne.jp
スループット 14Mbps
等である。
計測時刻 2014/02/17 08:33
VPNプロトコル OpenVPN
サーバISPドメイン @isp−a.ne.jp
クライアントISPドメイン @isp−b.ne.jp
スループット 14Mbps
等である。
接続仲介サーバ14の接続履歴収集部は、RASサーバ10から受信した接続履歴を接続履歴データベースに登録する。接続履歴の登録が完了すると、RASサーバ10の接続履歴送信部に対して登録完了の通知を送信する。
以上のようにして、RASクライアント12とRASサーバ10との間でRAS接続が確立し、RAS接続が切断されるまでの間に計測用パケットの送信と応答パケットの受信を通してスループットを計測してRASサーバ10に蓄積し、接続終了後にRASサーバ10から接続仲介サーバ14に接続履歴を送信して接続仲介サーバ14の接続履歴データベースに蓄積していく。複数のRASクライアント12と複数のRASサーバ10の組み合わせが存在し得るが、複数のRASサーバ10から接続終了毎に接続履歴が接続仲介サーバ14に送信され、接続仲介サーバ14に蓄積されていく。
他方、何らかの障害によりRASクライアント12がRASサーバ10に接続できなかった場合には、RASサーバ10においてスループットを計測することができない。この場合、RASクライアント12の接続履歴送信部は、RAS接続できなかった旨の接続履歴を接続仲介サーバ14の接続履歴収集部に送信する。接続履歴には、既述したようにスループット測定時刻、VPNプロトコル、RASサーバ10のISPドメイン、RASクライアント12のISPドメイン、スループットが含まれるが、この際、スループットとしては通常の値と異なる特定の値、例えば−1を自動設定して送信する。この特定の値がRAS接続できなかったことを示す。接続履歴収集部は、取得した接続履歴を接続履歴データベースに登録する。接続履歴収集部は、接続履歴の収集が完了すると、RASクライアント12に登録完了の通知を送信する。
すなわち、本実施形態では、接続に成功した場合にはRASサーバ10がスループットを計測して接続仲介サーバ14に送信し、接続に失敗した場合にはRASクライアント12がスループットを特定の値に設定して接続仲介サーバ14に送信する。
接続仲介サーバ14の接続統計データベースは、例えば過去1ヶ月間の接続統計値を算出及び登録する。すなわち、接続仲介サーバ14の接続統計データベース更新部は、定期的(例えば1日に1回の頻度)に接続履歴データベースから過去1か月分の接続履歴を取得し、取得した接続履歴に基づき回線品質値を算出する。具体的には、RASサーバ10のISPドメインとRASクライアント12のISPドメインとが同じ組み合わせになるように分類し、VPNプロトコル毎に回線品質値を算出する。回線品質値は、例えば、
回線品質値=VPNプロトコル毎のスループットの平均/(接続失敗回数+1)
として算出される。上式において、分母を接続失敗回数+1としたのは、接続失敗回数が0回の場合に回線品質値が無限大となるのを防止するためである。接続失敗回数は、スループットが特定の値(−1)となる回数に等しい。上式から明らかなように、回線品質値はスループットが大きいほど高く、接続失敗回数が小さいほど高くなる。
回線品質値=VPNプロトコル毎のスループットの平均/(接続失敗回数+1)
として算出される。上式において、分母を接続失敗回数+1としたのは、接続失敗回数が0回の場合に回線品質値が無限大となるのを防止するためである。接続失敗回数は、スループットが特定の値(−1)となる回数に等しい。上式から明らかなように、回線品質値はスループットが大きいほど高く、接続失敗回数が小さいほど高くなる。
また、ISPドメインの組み合わせが存在しない場合や、スループットの情報が存在しない場合には、未測定の意味で「999」を回線品質値として設定する。このように「999」を設定することで、未測定の接続パターンの回線品質値が他のものよりも高い値となり、結果として選択され易くなるのでRASクライアント12が未測定の接続パターンを優先的に試行することになり、接続統計データベースの精度が向上する。接続統計データベース更新部は、算出した回線品質値を接続統計データベースに登録する。勿論「999」は一例にすぎず、回線品質値として十分に大きな値を設定して優先的に選択されるようにすればよい。
次に、各データベースもしくは記憶部に記憶される情報を具体的に説明する。
図7は、RASサーバ10のスループット記憶部に記憶される情報の一例である。計測時刻、VPNプロトコル、仮想アドレス、サーバISP、クライアントISP及びスループットが順次記憶される。VPNプロトコルは、接続仲介サーバ14から通知されたプロトコルであり、最も回線品質値の高いプロトコルであって接続に成功する可能性が高いもの(但し、「999」の場合は除く)である。仮想アドレスはRASクライアント12の仮想IPアドレスである。スループットは1時間毎に計測された値である。回線品質は時間帯に応じて変動し得るため、定期的に計測することが望ましい。なお、時間間隔を変化させることも可能である。例えば通信需要が高いと思われる時間帯については30分に1回の頻度で計測し、それ以外の時間帯については1時間に1回とする等である。
図7は、RASサーバ10のスループット記憶部に記憶される情報の一例である。計測時刻、VPNプロトコル、仮想アドレス、サーバISP、クライアントISP及びスループットが順次記憶される。VPNプロトコルは、接続仲介サーバ14から通知されたプロトコルであり、最も回線品質値の高いプロトコルであって接続に成功する可能性が高いもの(但し、「999」の場合は除く)である。仮想アドレスはRASクライアント12の仮想IPアドレスである。スループットは1時間毎に計測された値である。回線品質は時間帯に応じて変動し得るため、定期的に計測することが望ましい。なお、時間間隔を変化させることも可能である。例えば通信需要が高いと思われる時間帯については30分に1回の頻度で計測し、それ以外の時間帯については1時間に1回とする等である。
図8は、接続仲介サーバ14のRASサーバデータベースに記憶される情報の一例である。RASサーバID、IPアドレス及びISPドメインの対が順次記憶される。RASサーバ10は、接続仲介サーバ14に対してRASサーバ情報の登録を要求するが、このタイミングは任意でよい。既述したように、RASサーバ10のIPアドレスは、RASサーバ10がRASサーバ情報として含めてもよいが、通信パケットに含まれるTCPヘッダのIPアドレスを自動取得してもよい。
図9は、接続仲介サーバ14のISPデータベースに記憶される情報の一例である。ISPドメインとIPアドレスの範囲の対応関係が記憶される。図において、ISPドメインが@isp−a.ne.jpについてはそのIPアドレスが
180.63.253.130
180.26.157.225−180.26.157.231
とあるが、IPアドレス範囲180.26.157.225−180.26.157.231は全て@isp−a.ne.jpであることを示す。
180.63.253.130
180.26.157.225−180.26.157.231
とあるが、IPアドレス範囲180.26.157.225−180.26.157.231は全て@isp−a.ne.jpであることを示す。
図10は、接続仲介サーバ14の接続履歴データベースに記憶される情報の一例である。計測時刻、クライアントISP、サーバISP、VPNプロトコル及びスループットが順次記憶される。なお、最後のレコードにおけるスループット「−1Mbps」は、RAS接続できなかったことを示す。この最後のレコードは、RASクライアント12から送信されたものである。
図11は、接続仲介サーバ14の接続統計データベースに記憶される情報の一例である。クライアントISPドメインとサーバISPドメインとの組み合わせ毎に、各VPNプロトコルの回線品質値が記憶される。なお、クライアントISPドメインが@isp−a.ne.jpで、サーバISPドメインが@isp−b.ne.jpの組み合わせにおいて、VPNプロトコルがIPsecにおける回線品質値が「999」となっているのは、未測定であってスループットの情報が存在しないことを意味する。他の場合についても同様である。VPN決定部は、RASクライアント12のISPドメイン及びRASサーバ10のISPドメインが与えられれば、図11に示すデータベースを参照することで、これらのISPドメインの組み合わせにおいて、最も回線品質値の高いVPNプロトコルを選択できる。
以上のように、本実施形態では、全RASサーバ10での全接続履歴を接続仲介サーバ14に蓄積して接続統計データベースを作成し、かつ、スループットは、実際にRASクライアント12がRASサーバ10に接続中に計測される値であるため、信頼性の高いVPNプロトコルをRASクライアント12に提供することができる。
また、接続が終了すると、接続仲介サーバ14に対して接続履歴を送信し、適宜、接続統計データベースが更新されるので、ISPの仕様変更(制限)や回線品質の変化に対しても適応できる。
<第2実施形態>
第1実施形態では、RASクライアント12が接続仲介サーバ14からのRAS接続情報の通知を受けて1つのRAS接続を試行する場合を説明したが、RASクライアント12は複数のRAS接続を試行してもよい。
第1実施形態では、RASクライアント12が接続仲介サーバ14からのRAS接続情報の通知を受けて1つのRAS接続を試行する場合を説明したが、RASクライアント12は複数のRAS接続を試行してもよい。
図12は、本実施形態におけるRASクライアント12の構成ブロック図である。図3に示すRASクライアント12の構成ブロック図と異なり、VPNプロトコル選択部をさらに備える。VPNプロトコル選択部は、接続仲介サーバ14から通知された複数のVPNプロトコルのうち、回線品質値の高い順番にVPN接続部にVPN接続要求を行うように制御する。
図13は、本実施形態における接続仲介サーバ14の構成ブロック図である。構成自体は図4に示す接続仲介サーバ10の構成ブロック図と同一であるが、VPNプロトコル決定部での処理が異なる。すなわち、VPNプロトコル決定部は、RASクライアント12からの接続要求に対してRASサーバ10のISPドメインとRASクライアント12のISPドメインを用いて接続統計データベースを走査し、複数のVPNプロトコルを回線品質値とともにRASクライアント12に通知する。
図14は、本実施形態の全体処理フローチャートであり、RASクライアント12がRASサーバ10に接続するまでの処理である。
まず、RASクライアント12は、接続仲介サーバ10のVPNプロトコル決定部に対してRASサーバ10への接続要求を送信する。この接続要求には、RASクライアント12が接続を希望するRASサーバ10のRASサーバIDが含まれる。
VPNプロトコル決定部は、RASサーバIDをキーとしてRASサーバデータベースを走査し、RASサーバ10のIPアドレスとISPドメインを取得する。
次に、VPNプロトコル決定部は、RASクライアント12のIPアドレスをキーとしてISPデータベースを走査し、RASクライアント12のISPを判定する。例えば、RASクライアント12のIPアドレスが
118.13.80.4
であれば、ISPは
@isp−b.ne.jp
等と判定する。RASクライアント12のIPアドレスがISPデータベースに存在しない場合、ISPは
default
と判定する。
118.13.80.4
であれば、ISPは
@isp−b.ne.jp
等と判定する。RASクライアント12のIPアドレスがISPデータベースに存在しない場合、ISPは
default
と判定する。
次に、VPNプロトコル決定部は、RASサーバ10のISPドメイン、RASクライアント12のISPドメインに基づき、接続統計データベースを走査して、複数のVPNプロトコルとその回線品質値を取得する。
次に、VPNプロトコル決定部は、RASクライアント12に対してRAS接続情報を通知する。RAS接続情報には、RASサーバ10のIPアドレス、ISPドメイン、RASクライアント12のISPドメイン、複数のVPNプロトコルとその回線品質値が含まれる。例えば、
PPTP 10Mbps
OpenVPN 8Mbps
IPsec 12Mbps
等である。
PPTP 10Mbps
OpenVPN 8Mbps
IPsec 12Mbps
等である。
RASクライアント12は、接続仲介サーバ14のVPNプロトコル決定部から通知された複数のVPNプロトコルのうち、最も回線品質値の高いVPNプロトコルを選択し、RAS接続を試行する。そして、選択したVPNプロトコルでの接続に失敗した場合、次に回線品質値の高いVPNプロトコルを選択してRAS接続を試行する。以上の処理を、VPN接続に成功するまで繰り返し実行する。なお、接続に失敗した場合には、RASクライアント12はRAS接続できなかった旨の接続履歴を接続仲介サーバ14に送信し、このときのスループットを特定の値(−1)に設定する。
本実施形態は、未接続のVPNプロトコルが存在し、その回線品質値が「999」である場合に特に有効であろう。すなわち、回線品質値が「999」であって当該VPNプロトコルが選択されてRASクライアント12に通知された場合、そのVPNプロトコルで接続を試行しても接続できる保証がなく、接続に失敗する可能性もあるからであり、複数のVPNプロトコルが通知されていれば、RASクライアント12は次のVPNプロトコルを速やかに試行できるからである。具体的には、接続仲介サーバ14から
PPTP 10Mbps
OpenVPN 8Mbps
IPsec 999Mbps
と通知された場合、RASクライアント12は、まず回線品質値の最も高いIPsecで接続を試行する。仮に接続に失敗した場合、接続仲介サーバ14に接続に失敗した旨の接続履歴を送信し、次に回線品質値の高いPPTPで接続を試行する。
PPTP 10Mbps
OpenVPN 8Mbps
IPsec 999Mbps
と通知された場合、RASクライアント12は、まず回線品質値の最も高いIPsecで接続を試行する。仮に接続に失敗した場合、接続仲介サーバ14に接続に失敗した旨の接続履歴を送信し、次に回線品質値の高いPPTPで接続を試行する。
<第3実施形態>
第1実施形態では、接続仲介サーバ14の接続統計データベース更新部はVPNプロトコル毎の回線品質値を算出し、クライアントのISPドメインとサーバのISPドメインの組み合わせ毎にVPNプロトコルと回線品質値の対を接続統計データベースに登録したが、さらに特定の条件毎にVPNプロトコルと回線品質値の対を接続統計データベースに登録してもよい。
第1実施形態では、接続仲介サーバ14の接続統計データベース更新部はVPNプロトコル毎の回線品質値を算出し、クライアントのISPドメインとサーバのISPドメインの組み合わせ毎にVPNプロトコルと回線品質値の対を接続統計データベースに登録したが、さらに特定の条件毎にVPNプロトコルと回線品質値の対を接続統計データベースに登録してもよい。
例えば、接続統計データベース更新部は、接続履歴データベースから時間帯毎のクライアントのISPドメインとサーバのISPドメインとが同一の計測結果を取得し、VPNプロトコル毎の回線品質値を算出する。そして、クライアントのISPドメインとサーバのISPドメインの組み合わせ毎に、VPNプロトコルと回線品質値の対を接続統計データベースに登録する。
接続統計データベースは、クライアントのISPドメインとサーバのISPドメインの組み合わせ毎に、VPNプロトコルと回線品質値の対を時間帯毎に記憶する。
VPNプロトコル決定部は、RASクライアント12からの接続要求に対してRASサーバ10のISPドメインとRASクライアント12のISPドメインを用いて時間帯別の接続統計データベースを走査し、最も回線品質が高いVPNプロトコルを決定し、RASクライアント12に通知する。勿論、第2実施形態のように、複数のVPNプロトコルとその回線品質値をRASクライアント12に通知してもよい。
図15は、本実施形態における接続統計データベースに記憶される情報の一例である。図15(a)は8:00AM〜8:59AMの情報であり、図15(b)は9:00AM〜9:59AMの情報である。このように、時間帯(図15では1時間毎であるが、これに限定されない)毎に各VPNプロトコルの回線品質値が記憶される。
<第4実施形態>
第3実施形態のように、時間帯毎に回線品質値が接続統計データベースに記憶されている場合、RASクライアント12は接続目的や接続時間等を指定し、これらの目的や時間に合致するVPNプロトコルを選択し得る。
第3実施形態のように、時間帯毎に回線品質値が接続統計データベースに記憶されている場合、RASクライアント12は接続目的や接続時間等を指定し、これらの目的や時間に合致するVPNプロトコルを選択し得る。
図16は、本実施形態のRASクライアント12の構成ブロック図である。図3に示すRASクライアント12の構成ブロック図と異なり、接続目的指定部をさらに備える。
接続目的指定部は、RASクライアント12の利用者がRAS接続の目的、例えば長期セッション、あるいは短期セッション等を指定する。
接続要求送信部は、接続仲介サーバ14に対してRAS接続したいRASサーバIDと接続目的を送信し、RASサーバ10のIPアドレス及び最適なVPNプロトコルを問い合わせる。
接続仲介サーバ14のVPNプロトコル決定部は、RASクライアント12からの接続要求に対してその接続目的が例えば長期セッションであれば、RASサーバ10のISPドメインとRASクライアント12のISPドメインを用いて複数の時間帯別接続統計データベース(図15を参照)を走査し、VPNプロトコル毎の回線品質値から長期セッションで有効なVPNプロトコルを決定する。例えば、3時間内の回線品質値の平均値が最も高いVPNプロトコルを決定する。VPNプロトコル決定部は、決定したVPNプロトコルをRASクライアント12に通知する。勿論、第2実施形態のように複数のVPNプロトコルとその回線品質値を通知してもよい。
本実施形態における「接続目的」には、接続時間を意味する概念が含まれていてもよく、接続の重要度の概念が含まれていてもよい。例えば、接続目的として「長期セッション」が指定された場合、接続時間の概念が含まれている。また、接続目的として「仕事」あるいは「重要連絡」が指定された場合、接続の重要度の概念が含まれている。接続の重要度が高い場合、安定した接続が望まれるため、特に回線品質値の高い時間帯(「999」を除く)を選択する。
以上、本発明の実施形態について説明したが、本発明はこれらの実施形態に限定されるものではなく、種々の変形が可能である。
例えば、本実施形態では、RASクライアント12が複数のVPNプロトコルで接続を試行できるとしているが、必ずしもこれに限定されるものではなく、RASクライアント12が単一のVPNプロトコルのみで接続する機能を備えていてもよい。但し、複数のプロトコルで接続を試行できる方が、接続成功の確率が高まる点で望ましい。
また、本実施形態では、接続仲介サーバ10が時間帯毎に各VPNプロトコルのスループットを記憶しているが、時間帯に代えて曜日毎、あるいは時間帯と曜日毎の組み合わせで各VPNプロトコルのスループットを記憶してもよい。
また、本実施形態では、RASサーバ10は接続終了後に接続履歴を接続仲介サーバ14に送信しているが、スループットが計測された時点で接続仲介サーバ14に送信してもよい。
また、本実施形態では、スループットを分子とし、接続失敗回数を分母として回線品質値を算出しているが、スループットが大きいほどその値が大きくなり、接続失敗回数が小さいほどその値が大きくなる任意の関数を用いて回線品質値を算出することができる。勿論、接続失敗回数を考慮せず、スループットのみに基づいて回線品質値を算出することも可能である。要するに、実際に計測されたスループットに基づき、スループットが大きいVPNプロトコルを優先的に選択してRASクライアント12に通知すればよい。
さらに、本実施形態ではVPNプロトコルとして、PPTP、OpenVPN、IPsecを例示しているが、これ以外の通信プロトコル、例えばSSL−VPN等を排除するものではない。
10 RASサーバ、12 RASクライアント、14 接続仲介サーバ、16 インターネット。
Claims (8)
- サーバコンピュータから送信された、クライアントコンピュータとの通信時の計測スループット及び通信プロトコルを含む接続履歴を記憶する接続履歴データベースと、
前記接続履歴に基づきクライアントコンピュータが新たにサーバコンピュータと通信するための通信プロトコルを設定し、クライアントコンピュータからの新たな接続要求に応じてクライアントコンピュータに送信する送信部と、
を備える接続仲介サーバコンピュータ。 - 前記接続履歴データベースは、クライアントコンピュータから送信された、サーバコンピュータとの接続に失敗した旨の接続履歴をさらに記憶する
請求項1記載の接続仲介サーバコンピュータ。 - 前記送信部は、前記計測スループットに基づき算出される回線評価値が最も高い通信プロトコルを含む1又は複数の通信プロトコルを送信する
請求項1記載の接続仲介サーバコンピュータ。 - 前記送信部は、未だ前記計測スループットが存在していない通信プロトコルを含んで送信する
請求項3記載の接続仲介サーバコンピュータ。 - 前記送信部は、時間帯又は曜日毎の前記計測スループットに基づき算出される回線評価値が最も高い通信プロトコルを含む1又は複数の通信プロトコルを送信する
請求項3記載の接続仲介サーバコンピュータ。 - 前記送信部は、クライアントコンピュータの接続目的に合致する通信プロトコルを含む1又は複数の通信プロトコルを送信する
請求項3記載の接続仲介サーバコンピュータ。 - 接続要求送信部と、通信部を備えるクライアントコンピュータと、
前記クライアントコンピュータとの通信時のスループットを計測する計測部と、前記スループット及び通信プロトコルを含む接続履歴を送信する送信部と、通信部を備えるサーバコンピュータと、
前記サーバコンピュータから送信された前記接続履歴を記憶する接続履歴データベースと、前記接続履歴に基づき前記クライアントコンピュータが前記サーバコンピュータと通信するための通信プロトコルを設定し、前記接続要求送信部からの新たな接続要求に応じて前記クライアントコンピュータに送信する送信部を備える接続仲介サーバコンピュータと、
を備え、前記クライアントコンピュータの前記通信部は、前記接続仲介サーバコンピュータから送信された前記通信プロトコルで前記サーバコンピュータと通信する通信制御システム。 - コンピュータを、
サーバコンピュータから送信された、クライアントコンピュータとの通信時の計測スループット及び通信プロトコルを含む接続履歴を記憶する手段と、
前記接続履歴に基づきクライアントコンピュータが新たにサーバコンピュータと通信するための通信プロトコルを設定し、クライアントコンピュータからの新たな接続要求に応じてクライアントコンピュータに送信する手段
として機能させるプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014192872A JP2016066828A (ja) | 2014-09-22 | 2014-09-22 | 接続仲介サーバコンピュータ、通信制御システム及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014192872A JP2016066828A (ja) | 2014-09-22 | 2014-09-22 | 接続仲介サーバコンピュータ、通信制御システム及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016066828A true JP2016066828A (ja) | 2016-04-28 |
Family
ID=55805828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014192872A Pending JP2016066828A (ja) | 2014-09-22 | 2014-09-22 | 接続仲介サーバコンピュータ、通信制御システム及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2016066828A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019121847A (ja) * | 2017-12-28 | 2019-07-22 | 日本電信電話株式会社 | 品質推定装置、品質推定方法及びプログラム |
-
2014
- 2014-09-22 JP JP2014192872A patent/JP2016066828A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2019121847A (ja) * | 2017-12-28 | 2019-07-22 | 日本電信電話株式会社 | 品質推定装置、品質推定方法及びプログラム |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111771364B (zh) | 经由dns属性在远程网络中进行基于云的异常流量检测和保护 | |
US9712485B2 (en) | Dynamic DNS-based service discovery | |
CN105453488B (zh) | 用于处理dns请求的方法和系统 | |
US10187284B2 (en) | Communication device, server device, communication method, and non-transitory computer readable medium | |
US10305871B2 (en) | Dynamically serving digital certificates based on secure session properties | |
EP2922275B1 (en) | Tunnel broker in a service oriented architecture | |
US11949697B2 (en) | Hierarchical scanning of internet connected assets | |
US10003543B2 (en) | Communication device, communication system, and communication method | |
CA3067056C (en) | Acceleration system for facilitating processing of api calls | |
EP2922274A1 (en) | Finding services in a service-oriented architecture (SOA) network | |
WO2015039475A1 (zh) | 一种域名解析方法、服务器及系统 | |
WO2016197727A1 (zh) | 一种数据传输方法及装置 | |
US20120210010A1 (en) | Communications system | |
US20160065470A1 (en) | Network device and method for routing | |
JP2016066828A (ja) | 接続仲介サーバコンピュータ、通信制御システム及びプログラム | |
CN110838950B (zh) | 一种网络性能抖动值的确定方法及装置 | |
CN109150661B (zh) | 一种设备发现方法及装置 | |
JP6476143B2 (ja) | 異常検知装置、異常検知システム、異常検知方法、及びプログラム | |
WO2011082637A1 (zh) | 对等网络及对等节点重新启动的方法 | |
JP6387332B2 (ja) | アクセス数推定装置、アクセス数推定方法、及びプログラム | |
TWI692221B (zh) | 網路服務提供系統及網路服務提供方法 | |
Caiazza et al. | TCP‐based traceroute: An evaluation of different probing methods | |
JP6306485B2 (ja) | 判別装置及び判別方法 | |
Gubser | Explicit Congestion Negotiation (ECN) support based on P2P networks | |
US20130262562A1 (en) | Data communication managing system and method thereof |