(57)【特許請求の範囲】
【請求項１】
ネットワークパスに接続された他のデータ同期サーバとの間でデータの転送を行うデータ同期サーバであって、
前記データ同期サーバは、処理部と、複数のアプリケーション毎のデータを蓄積するバッファを有する記憶部とを備え、
前記処理部は、
前記ネットワークパスの、複数のアプリケーション毎のデータの転送に掛かる転送遅延を算出し、複数の前記アプリケーション毎の要求遅延を満たすように、前記アプリケーション毎のデータの前記バッファからの送信レートを制御し、
複数の前記アプリケーション毎のデータの転送にかかる遅延が、前記アプリケーション毎のデータの前記要求遅延を超過する時間を、算出した前記転送遅延より予測し、予測した全ての前記アプリケーションのデータの前記要求遅延を超過する時間が同じになるよう、複数の前記アプリケーション毎のデータの前記送信レートを制御する、
ことを特徴とするデータ同期サーバ。
【請求項２】
請求項１に記載のデータ同期サーバであって、
前記処理部は、
前記アプリケーション毎のデータの前記バッファへの流入量と前記データバッファのデータ蓄積量の少なくとも一方と、既知の送信レートより前記転送遅延を算出する、
ことを特徴とするデータ同期サーバ。
【請求項３】
請求項１に記載のデータ同期サーバであって、
前記処理部は、
複数の前記アプリケーション毎のデータの前記送信レートの総和が、前記ネットワークパスへの割り当て帯域を超過する時間を、算出した前記転送遅延より予測し、予測した前記超過する時間より前の時点で、前記ネットワークパスを制御する制御サーバに対し、前記ネットワークパスの帯域変更を要求する、
ことを特徴とするデータ同期サーバ。
【請求項４】
制御サーバによって制御されるネットワークパスに接続された複数のデータ同期サーバ間でデータの転送を行うデータ同期システムであって、
前記データ同期サーバは、処理部と、複数のアプリケーション毎のデータを蓄積するバッファを有する記憶部とを備え、
前記処理部は、
前記ネットワークパスの、複数のアプリケーション毎のデータの転送に掛かる転送遅延を算出し、複数の前記アプリケーション毎の要求遅延を満たすように、前記アプリケーション毎のデータの前記バッファからの送信レートを制御し、
複数の前記アプリケーション毎のデータの転送にかかる遅延が、前記アプリケーション毎のデータの前記要求遅延を超過する時間を、算出した前記転送遅延より予測し、予測した全ての前記アプリケーションのデータの前記要求遅延を超過する時間が同じになるよう、複数の前記アプリケーション毎のデータの前記送信レートを制御する、
ことを特徴とするデータ同期システム。
【請求項５】
請求項４に記載のデータ同期システムであって、
前記データ同期サーバの前記処理部は、
前記アプリケーション毎のデータの前記バッファへの流入量と前記データバッファのデータ蓄積量の少なくとも一方と、既知の送信レートより前記転送遅延を算出する、
ことを特徴とするデータ同期システム。
【請求項６】
請求項４に記載のデータ同期システムであって、
前記データ同期サーバの前記処理部は、
複数の前記アプリケーション毎のデータの前記送信レートの総和が、前記ネットワークパスへの割り当て帯域を超過する時間を、算出した前記転送遅延より予測し、予測した前記超過する時間より前の時点で、前記制御サーバに対し、前記ネットワークパスの帯域変更を要求する、
ことを特徴とするデータ同期システム。
【請求項７】
ネットワークパスに接続された他のデータ同期サーバとの間でデータの転送を行うデータ同期サーバよるデータ転送帯域制御方法であって、
前記データ同期サーバは、
前記ネットワークパスの、複数のアプリケーション毎のデータの転送に掛かる転送遅延を算出し、複数の前記アプリケーション毎の要求遅延を満たすように、前記アプリケーション毎のデータの前記バッファからの送信レートを制御し、
複数の前記アプリケーション毎のデータの転送にかかる遅延が、前記アプリケーション毎のデータの前記要求遅延を超過する時間を、算出した前記転送遅延より予測し、予測した全ての前記アプリケーションのデータの前記要求遅延を超過する時間が同じになるよう、複数の前記アプリケーション毎のデータの前記送信レートを制御する、
ことを特徴とするデータ転送帯域制御方法。
【請求項８】
請求項７に記載のデータ転送帯域制御方法であって、
前記データ同期サーバは、
複数の前記アプリケーション毎のデータの前記送信レートの総和が、前記ネットワークパスへの割り当て帯域を超過する時間を、算出した前記転送遅延より予測し、予測した前記超過する時間より前の時点で、前記ネットワークパスを制御する制御サーバに対し、前記ネットワークパスの帯域変更を要求する、
ことを特徴とするデータ転送帯域制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ同期システム、特に遠隔拠点に設置される分散データセンタ間でアプリケーションのデータ同期を行うための技術に関する。
【背景技術】
【０００２】
近年、ディザスタリカバリやグリッド計算のために、ネットワークを利用した遠隔拠点に設置された分散データセンタ間で、データ同期サーバを利用したデータ同期のニーズが高まっている。また最近、次世代ネットワークを構築する「ネットワーク仮想化技術」が注目、研究されている。このネットワーク仮想化技術の特長として、通信遅延まで含めた通信品質の保証と、仮想ネットワークの帯域変更によるネットワーク資源の効率的な利用がある。
【０００３】
このようなネットワーク資源の効率的利用のため、従来、優先付けキューイング（Priority Queuing：ＰＱ）法や、重み付けキューイング（Weighted Fair Queuing：ＷＦＱ）などの手法が知れている（非特許文献１参照）。また、アプリケーション毎に経路を選択する広域ネットワーク（Wide Area Network：ＷＡＮ）通信の遅延削減方式などが検討されている（非特許文献２参照）。また、関連する特許文献として、バッファメモリに残っているデータの遅延時間を通信の制御に反映する通信装置に関する特許文献１や、広域拠点間でのデータ同期のために、同期サーバ間を接続するネットワークパス、帯域、許容遅延を算出、設定するデータ同期システムに関する特許文献２などがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２４５９９２号公報
【特許文献２】国際公開ＷＯ２０１０−１０９７６７号公報
【非特許文献】
【０００５】
【非特許文献１】長健二朗、「インターネットにおけるQoS  制御技術〜Diffserv」Internet Week 99、パシフィコ横浜、1999年12月14日
【非特許文献２】澤勇太他、「経路選択を用いた広域ネットワーク通信の遅延削減方式の提案と評価」、ワークショップ2010、電子情報通信学会、新世代ネットワーク時限研究専門委員会、2010年8月17日
【発明の概要】
【発明が解決しようとする課題】
【０００６】
種々の情報が転送される現状のネットワークの内、インターネットでは、バーストトラフィックなど流入量の急激な変動によって、データの遅延やデータパケット損失が発生している。一方、専用線やＶＰＮ（Virtual Private Network）では、上記の問題解決の対策として、オーバープロビジョニング（Over-provisioning）を行っているため、平均帯域使用率は１０％以下に留まっている。
【０００７】
さらに、遠隔拠点に設置された分散データセンタ間におけるデータ同期サーバでは、アプリケーション毎の要求遅延を満たすため、適切に送信レートを制御したいとの要請がある。しかし、上述したＰＱ法においては、常に高優先データを優先的に転送する手法を取るため、低優先のクラスに属するアプリケーションのデータの流入量が急激に増加し、転送遅延が急激に大きくなった場合には、対応することが出来ないという課題がある。また、上述したＷＦＱ法においては、各クラスに属するアプリケーションのデータの送信レートである流出量を、クラス毎の流入量の比率と同じ比率に調整するよう制御しているため、高優先のクラスの転送遅延がその要求遅延をすぐに超過してしまい、適切に要求遅延を満たすことが出来ないという課題がある。
【０００８】
そこで、本発明の目的は、上記の課題を解決し、各アプリケーションやクラスの要求遅延を出来るだけ満たすことが可能なデータ同期サーバ、システム、及びデータ転送帯域制御方法を提供することにある。
【課題を解決するための手段】
【０００９】
上記の目的を達成するため、本発明においては、ネットワークパスに接続された他のデータ同期サーバとの間でデータの転送を行うデータ同期サーバであって、データ同期サーバは、処理部と、複数のアプリケーション毎のデータを蓄積するバッファを有する記憶部とを備え、処理部は、ネットワークパスの複数のアプリケーション毎のデータの転送にかかる転送遅延を算出し、複数のアプリケーション毎の要求遅延を満たすように、アプリケーション毎のデータのバッファからの送信レートを制御する構成のデータ同期サーバ、当該サーバを利用するデータ同期システム、及び当該サーバにおけるデータ転送帯域制御方法を提供する。
【００１０】
また、上記の目的を達成するため、本発明においては、上記のデータ同期サーバであって、処理部は、複数のアプリケーション毎のデータの転送にかかる遅延が、アプリケーション毎のデータの要求遅延を超過する時間を、算出した転送遅延より予測し、予測した全てのアプリケーションのデータの要求遅延を超過する時間が同じになるよう、複数のアプリケーション毎のデータの送信レートを制御する構成のデータ同期サーバ、当該サーバを利用するデータ同期システム、及び当該サーバにおけるデータ転送帯域制御方法を提供する。
【００１１】
更に、上記の目的を達成するため、本発明においては、上記のデータ同期サーバであって、処理部は、複数のアプリケーション毎のデータの送出レートの総和が、ネットワークパスへの割り当て帯域を超過する時間を、算出した転送遅延より予測し、予測した超過する時間より前の時点で、ネットワークパスを制御する制御サーバに対し、ネットワークパスの帯域変更を要求する構成のデータ同期サーバ、当該サーバを利用するデータ同期システム、及び当該サーバにおけるデータ転送帯域制御方法を提供する。
【発明の効果】
【００１２】
本発明により、トラフィックが変動する環境に置いて、各アプリケーションのデータの流入量の変化に対して、要求遅延が満たせなくなるタイミング（遅延破たん）を可能な限り遅くすることができる。また、各アプリケーションのデータの転送遅延を予測することにより、事前に帯域増の要求を行うことができる。
【図面の簡単な説明】
【００１３】
【図１】第１の実施例のデータ同期システムの全体構成の一例を示す図である。
【図２】第１の実施例に係る、データ同期サーバの一構成例を示すブロック図である。
【図３】第１の実施例に係る、各アプリケーションの転送遅延のデータの算出フローを示す図である。
【図４】第１の実施例のデータ同期システムの全体構成の他の例を示す図である。
【図５】第１の実施例に係る、パス帯域変更要求を行う場合の処理フローの一例を示す図である。
【図６】第１の実施例に係る、データ同期システムで用いるデータパケットのフォーマットの一例を示す図である。
【図７】第１の実施例に係る、データ同期システムにおける流量観測データ記憶部の流入量テーブルの一例を示す図である。
【図８】第１の実施例に係る、データ同期システムにおけるバッファ蓄積量観測データ記憶部の蓄積量テーブルの一例を示す図である。
【図９】第１の実施例に係る、データ同期システムにおける設定値記憶部の要求遅延テーブルの一例を示す図である。
【図１０】本発明のデータ同期システムの効果を説明するための模式図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態を図面に従い説明する。なお、本明細書において、物理ネットワークや仮想ネットワークにおけるデータを転送するための通信経路を、ネットワークパスあるいは単にパスと呼ぶ。また、本明細書におけるデータ同期サーバとは、アプリケーションサーバからのデータ格納要求や取得要求に応じて、自身の記憶部にデータを保持、あるいは取り出しを行い、更に保持するデータをアプリケーション毎に指定されている他のデータ同期サーバのデータと同じ値に設定するものをいう。このデータ同期サーバは、データ同期システム等におけるデータ同期装置として機能するものである。
【実施例１】
【００１５】
図１に、第１の実施例のデータ同期システムの全体構成の一例を示した。同図において、データ同期システムは、ネットワーク１００上のパス１１０を介して相互に接続される制御サーバ１０１、分散データセンタ１０２、１０３を備えている。なお、ネットワーク１００は、少なくとも一つ以上の広域網（Wide Area Network：ＷＡＮ）などから構成され、その内部にはスイッチ、ルータ、伝送装置などの転送装置を含んでいる。パス１１０は、上述の通り、物理ネットワーク或いは仮想ネットワークを用いて形成されるネットワークパスであり、その実現手段は何ら限定されるものではない。また、分散データセンタ１０２、１０３は、２個に限らず何個接続されていても良い。
【００１６】
データセンタ１０２、１０３にはそれぞれアプリケーションサーバ１０４、１０６、及びデータ同期サーバ１０５、１０７を備え、データ同期サーバには管理者用入力端末１０８、１０９が接続されている。管理者用入力端末１０８、１０９は、管理者により各データセンタを利用管理するために用いられる。それぞれのアプリケーションサーバ１０４、１０６は、複数のアプリケーションＡＰ１、ＡＰ２、ＡＰ３−−−が動作するが、それぞれのアプリケーションサーバ１０４、１０６上で動作するアプリケーションは同じものであっても、異なったものであっても良い。いずれの場合であっても、パス１１０を介して、複数のアプリケーションＡＰ１、ＡＰ２、ＡＰ３−−−のデータが転送される。なお、このアプリケーションの種類内容に限定はないが、その一例として、モバイルアプリケーションサーバにおける車載センサデータの収集や、地震センサからのデータの収集、監視カメラからの映像収集のアプリケーションなどが挙げられる。
【００１７】
図１における制御サーバ１０１、アプリケーションサーバ１０４、１０６、データ同期装置として機能するデータ同期サーバ１０５、１０７、更には管理者用入力端末１０８、１０９は、全て通信インタフェースを備えたコンピュータ装置で構成されるものであり、その内部に内部バス等で相互に接続された、中央処理部（Central Processing Unit：ＣＰＵ）からなる処理部、半導体メモリやハードディスクデバイス（ＨＤＤ）等の記憶部や、通信インタフェース（Interface：ＩＦ）を備えている。このデータ同期サーバ１０５、１０７は、パス１１０の帯域内での、複数のアプリケーションの送信レートの変更は行うことはできるが、パス１１０全体の帯域の変更は、制御サーバ１０１に事前に変更要求をすることが必要である。
【００１８】
なお、図１は、データ同期システムの一構成例であり、他の構成、例えば図４に示すようなデータ同期システムに対しても本実施例は適用できることはいうまでもない。
【００１９】
図４において、４００は仮想ネットワーク、４０１は制御サーバ、４０２、４０３はデータセンタ、４０４、４０７はアプリケーションサーバ、４０５、４０６はデータ同期サーバ、４０８、４０９は管理者用入力端末、４１０はネットワークパスを示している。同図より明らかな様に、このデータ同期システムにあっては、データ同期装置としてのデータ同期サーバは、各データセンタ４０２、４０３内でなく、ネットワーク４００内に位置している構成である。なお、図示を省略したが、アプリケーションサーバ４０４、４０７では、各種アプリケーションが動作することは図１のシステムと同様である。以下、実施例のシステムの処理動作の説明では、図１に示したデータ同期システムを中心に説明するが、図４のデータ同期システムにおいても同様である。
【００２０】
図２に、第１の実施例のデータ同期装置として機能するデータ同期サーバ１０５、１０７の一構成例を示した。なお、説明の便宜上、データ同期サーバ１０５を例示して説明するが、データ同期サーバ１０７も同一の構成を備えている。本実施例のデータ同期サーバ１０５は、同図に明らかなように、上記の通り、通常のコンピュータ構成を備え、内部バス２４０にて相互に接続された制御処理部２００と、同期データ処理部２１０と、制御データ記憶部２２０と、同期データ記憶部２３０、通信インタフェースＩＦ２５０とから構成される。制御処理部２００と同期データ処理部２１０は、一個或いは複数個のＣＰＵで構成される。
【００２１】
また、制御処理部２００は、設定値入力部２０１、流入量観測部２０２、バッファ蓄積量観測部２０３、遅延予測部２０４、送信レート計算部２０５、ネットワーク帯域計算部２０６、制御サーバ通信部２０７等の機能ブロックを備えており、ＣＰＵ等の処理部で実行される機能プログラム等で提供できる。また、制御データ記憶部２２０内には、流量観測データ記憶部２２１、バッファ蓄積量観測データ記憶部２２２、設定値記憶部２２３が形成され、各種のテーブルを記憶する。
【００２２】
図１のデータ同期システムにおいて、まずデータセンタ１０２にあるアプリケーションサーバ１０４が、内部で動作するアプリケーションに関する同期データを、データ同期サーバ１０５に対して送信する。この同期データは、データ同期サーバ１０５の内部バス２４０を経由して、同期データ処理部２１０の同期データ送受信部２１１に送られる。同期データ送受信部２１１は、同期データ記憶部２３０内の同期データ格納部２３１に同期データを格納する。同時に、同期データ送受信部２１１は、この同期データを通信ＩＦ２５０経由で、もう一方のデータセンタ１０３にあるデータ同期サーバ１０７に送信する。送信された同期データはネットワークパス１１０を経由してデータ同期サーバ１０７の通信ＩＦ２５０を経由して同期データ送受信部２１１に受信された後、同期データ格納部２３１に格納される。
【００２３】
続いて、図２のデータ同期サーバ１０５の制御処理部２００の動作処理について説明する。システム管理者は、管理者用入力端末１０８から各アプリケーションのデータに対する要求遅延に関するデータを入力する。入力した要求遅延に関するデータは、通信ＩＦ２５０を経由して設定値入力部２０１に送信される。設定値入力２０１は、この入力された要求遅延に関するデータを、後で図９を用いて説明する制御データ記憶部２２０の設定値記憶部２２３のテーブル中に記憶する。
【００２４】
次に、流入量観察部２０２は、同期データ記憶部２３０内の同期データ格納部２３１に随時、例えば１秒毎に問合せを行い、各アプリケーションからの同期データの流入量を取得する。この流入量としては、例えば、単位時間当たりに新たに格納された各アプリケーション毎の同期データの量が利用できる。取得したアプリケーション毎の流入量を、後で図７を用いて説明する流入量観測データ記憶部２２１のテーブル中に記録する。一方、バッファ蓄積量観測部２０３も同期データ格納部２３１に随時、例えば１秒毎に問合せを行い、バッファ蓄積量、すなわち同期データ格納部２３１に蓄積されている同期データの量を取得し、後で図８を用いて説明するバッファ蓄積量観測データ記憶部２２２のテーブル中に記録する。
【００２５】
図３は本実施例における図２のデータ同期サーバ１０５の制御処理部２００で、ネットワークパス１１０上の各アプリケーションのデータの転送遅延を算出する算出フローを示している。
【００２６】
制御処理部２００の遅延予測部２０４は、図３のステップ３０１において転送遅延の予測値の計算を開始すると、まず設定値記憶部２２３より該当アプリケーションの要求遅延のデータを取得し、流量観測データ記憶部２２１より流入量を取得し、バッファ蓄積量観測データ記憶部２２２よりバッファ蓄積量を取得する。そして、これらの情報に基づいて各アプリケーションの転送遅延を算出する。なおこの転送遅延の算出方法の一例は後で説明する。遅延予測部２０４は、算出した転送遅延を送信レート計算部２０５に送信する。
【００２７】
ステップ３０２において、送信レート計算部２０５は各アプリケーションの最適な送信レートを計算する。引き続き、ステップ３０３において、送信レート計算部２０５は、各アプリケーションの送信レートの変更が必要か否かを判断し、もし必要な場合は、ステップ３０４において、その送信レートを同期データ送受信部２１１に送信する。そして、同期データ送受信部２１１は、受信した送信レートに基づいて、データ同期サーバ１０５からデータ同期サーバ１０７へのネットワークパス１１０の当該同期データの送信レートを変更する。
【００２８】
また、ステップ３０５において、送信レート計算部２０５が、計算によって得られた各アプリケーションの送信レートを、ネットワーク帯域計算部２０６に送信する。ネットワーク帯域計算部２０６は、各アプリケーションの送信レートの総和を計算してネットワークパス１１０に必要な帯域を求める。
【００２９】
ステップ３０６にて、ネットワーク帯域計算部２０６は、そのネットワークパス１１０に必要な合計の帯域が、現在のネットワークパス１１０に割り当てられている帯域を“ａ”分後に超過するため、ネットワークパス１１０の帯域を変更する必要があると判断した場合は、ステップ３０７にてネットワーク帯域計算部２０６は、通信ＩＦ２５０経由で、制御サーバ１０１にネットワークパス１１０の帯域変更要求を出す。
【００３０】
図５は、本実施例のデータ同期システムにおけるデータ同期サーバ１０５のネットワーク帯域計算部２０６から制御サーバ１０１に、上述したネットワークパス１１０の帯域変更要求を行う場合の処理フローの一例を示している。同図において、データ同期サーバ１０５が、ステップ５０１においてネットワークパスの帯域変更判断が必要との判断を行った場合、ネットワークパス変更要求５０２が制御サーバ１０１に送信される。
【００３１】
制御サーバ１０１では、帯域変更要求５０２を受信した場合、ステップ５０３において、ネットワークパスの帯域変更可否判断５０３を行う。そして、その判断結果である帯域変更可否通知５０４を返信すると共に、変更可との判断の場合、ステップ５０５において、ネットワークパス１１０の帯域変更を開始する。ステップ５０６にてネットワークパス帯域変更が完了すると、ネットワークパス帯域変更完了通知５０７をデータ同期サーバ１０５に送信する。このネットワークパス帯域変更完了通知５０７を受信したデータ同期サーバ１０５の同期データ送受信部２１１は、このネットワークパス帯域変更完了通知５０７に基づき、ネットワークパス１１０の送信レートの変更を実行する（５０８）。
【００３２】
図６は本実施例１のデータ同期システムのネットワークパスを介してデータセンタ間で送受信されるデータパケットのフォーマットの一例を示す図である。同図にみるように、パケットフォーマット６００は、パケットヘッダ６０１、アプリケーション識別子（Identifier：ＩＤ）６０２、ペイロード６０３から構成され、アプリケーションＩＤを識別することによりデータパケットがどのアプリケーションのものかが判別できる。
【００３３】
図７、図８、図９は、上述した本実施例におけるデータ同期システムのデータ同期サーバの制御データ記憶部２２０中に蓄積されるテーブルの一例を示している。図７は流入量観測データ記憶部テーブルであり、図２の流入量観測データ記憶部２２１中に記憶される。このテーブルにより、各アプリケーションＩＤ７０１に対応する流入量７０２（ｋｂｐｓ）を知ることができる。
【００３４】
同様に、図８はバッファ蓄積量観測データ記憶部テーブルであり、図２のバッファ蓄積量観測データ記憶部２２２中に記憶される。このテーブルにより、各アプリケーションＩＤ８０１に対応する蓄積量８０２（ＫＢ）を知ることができる。
一方、図９は設定値記憶部テーブルであり、図２の設定値記憶部２２３中に記憶され、このテーブルにより、各アプリケーションＩＤ９０１に対応する要求遅延９０２（ｍｓｅｃ）を知ることができる。
【００３５】
ここで、上述した図２のデータ同期サーバ１０５の制御処理部２００の遅延予測部２０４における転送遅延の算出法の一例を説明する。本具体例においては、アプリケーション毎に算出する転送遅延は、バッファ遅延量とバッファからデータが送信される送信レートから算出する例を説明する。
【００３６】
まず、下式１より各アプリケーションの時刻ｔにおけるバッファ蓄積量を予測する。バッファ蓄積量はキュー長で表わすこととする。
【００３７】
【数１】
0005372988.tif 000002
【００３８】
ここで、Ak，t ：時刻tにおけるアプリケーションkのキュー長（未知数）
Ak，t0 ：時刻t0におけるアプリケーションkのキュー長（計測値）
Bk，in （t）:アプリケーションkのトラフィック量［bps］（未知数）
Bk，rate  : データ同期サーバが送信するアプリケーションkのトラフィック
の送信レート［bps］（既知）
そして、上述したように本実施例のデータ同期サーバでは、同一のネットワークパスを利用する複数のアプリケーションのうち、要求遅延が制御周期より長いアプリケーション（k＝m+1〜n）の要求遅延を満たせなくなる（Ak，t＝Ak，limitになる）時刻tkが同一になるように、送信レートBk，rate’を計算する。
【００３９】
アプリkが要求遅延を満たせなくなる時刻tkは、下式２で表わされる。
【００４０】
【数２】
0005372988.tif 000003
【００４１】
ここで、（k＝m+1〜n）、および下式３である。
【００４２】
【数３】
0005372988.tif 000004
【００４３】
なお、Vlはネットワークパスlの帯域である。本実施例においては、ネットワークパス１１０に対応するが、ネットワーク１００中には、ネットワークパス１１０以外に複数のネットワークパスが存在しうる。
【００４４】
上述の通り、本実施例のデータ同期サーバにおいては、全てのアプリの要求遅延を満たせなくなる時刻が同一になればよいから、tm+1＝tm+2＝tm+3＝…＝ｔｎ≡ｔall  である。以上の式を満たすBk，rate’（k＝m+1〜n）を算出する。その解法は連立非線形方程式を解くことになるため、例えば、ニュートンラプソン法を用いて算出することができる。以上により、本実施例において、各アプリケーションに対する転送遅延を算出することができる。
【００４５】
なお、以上の説明により、各アプリケーションに対する要求遅延を満たして遅延破たんを可能な限り遅らせるための転送遅延の算出法の一例を説明したが、各アプリケーションが要求遅延を満たしつつ、遅延破たんを可能な限り遅らせるための転送遅延の算出法は、上述したバッファ遅延量と送信レートを用いる方法に限定されないことは言うまでもない。
【００４６】
例えば、アプリケーション毎のデータのバッファへの流入量と送信レートよりデータ転送にかかる転送遅延を算出することができる。上述したデータ蓄積量は、バッファへのデータ流入量の積分値、すなわち、今まで流入してきたデータの総量と、送信レートの積分値、すなわち、今まで送出してきたデータの総量の差分により求めることができるからである。また、逆にデータの蓄積量と送信レートの積分値の和より、データ流入量の積分値を求めることができるので、同様に転送遅延を算出することが可能である。すなわち、アプリケーション毎のデータの流入量、バッファのデータ蓄積量、及び送信レートを適宜利用することにより、データ転送にかかる転送遅延を算出するができる。
【００４７】
また、上述の説明においては、アプリケーション毎に転送遅延を算出するよう説明したが、各アプリケーションが属するクラス毎に対応して転送遅延を算出することもできる。この場合、各クラスには、帯域と要求遅延が同様の、少なくとも１個のアプリケーションが属しているクラス毎の要求遅延を考慮して転送遅延を算出し、データ転送の帯域を制御することになるが、使用する算出手法は、転送遅延をクラス単位で算出すること以外は同じでよいことは言うまでもない。
【００４８】
以上説明した、本実施例のデータ同期システムにおいては、予測した転送遅延に基づき、要求遅延を満たすように制御することにより、遅延破たんを可能な限り遅らせるよう制御することができる。
【００４９】
図１０に、第１の実施例よるデータ同期システムによる効果を説明するための図を示した。図１０の上段に、ある時点における各アプリケーション毎のデータの流入量とバッファ蓄積量と流出量を示した。なお、このデータの流出量はデータ転送帯域、送信レートと等価である。図１０並びに同図の説明において、便宜上、アプリケーションをアプリと略記する。同図より明らかなように、アプリＡは帯域が１００Mbps、要求遅延が１０msec、アプリＢは帯域が２００Mbps、要求遅延が２００msec、アプリＣは帯域が７００Mbps、要求遅延が２．５secであり、合計流入量は１Gbpsであるとする。この時点において、各アプリに対応する流出量、送信レートは、流入量と同じ値を維持しており、バッファ蓄積量（１sec当たり）は全て０（零）Mbitであるとする。
【００５０】
この状態から、図１０の下段に示すように、アプリＡの流入量が１００Mbps、アプリＢの流入量が８００Mbps、アプリＣの流入量が７００Mbpsの合計流入量が１．６Gbpsに変化した場合、本実施例のデータ同期システムにおいては、上述の通り、データセンタ１０２内のデータ同期サーバ１０５の制御処理部２００において転送遅延の予測値を計算する。その結果、図１０の下部のバッファ蓄積量（１sec当たり）に示すように、アプリＢ、アプリＣでは、それぞれ１秒後の転送遅延が、１４３msec、２．５sec増加すると予測され、そのバッファ蓄積量は、アプリＡは０（零）M bit、アプリＢは１００Mbit、アプリＣは５００Mbitになると計算される。
【００５１】
この場合、本実施例のデータ同期システムにおいては、各アプリに対するデータのネットワークパスへの流出量１０００、すなわち送信レートを１００Mbps、７００Mbps、２００Mbpsに制御することにより、全てのアプリの要求遅延を満たしつつ、遅延破たんを可能な限り遅らせることができる。
【００５２】
以上の効果は、アプリＡ、アプリＢ、アプリＣを、クラスＡ、クラスＢ、クラスＣとした場合にも、同様に得ることができる。いいかえるなら、何れかのクラスに属するアプリケーション各々のクラス単位での要求遅延を満たすように、適切に送信レートを制御することにより、同等の効果を得ることができる。
【００５３】
以上詳述したように、本実施例よれば、各アプリケーションや各クラスの遅延を予測し、ネットワークパス上のトラフィックが増加した場合、それぞれのアプリケーションやクラスのデータの転送帯域、送信レートを調整することにより、全てのアプリケーションやクラスのデータの転送遅延が要求遅延を越えてしまうタイミング（遅延破たん）を可能な限り遅くすることができる。また、そのタイミングが到来する前に、ネットワークパスの帯域増の要求をネットワークの制御サーバに対して送信することにより、遅延破たんを防止することが可能となる。
【００５４】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に説明したのであり、必ずしも説明の全ての構成を備えるものに限定されものではない。また、実施例の構成の一部について、他の構成の追加・削除・置換をすることが可能である。例えば、上述した実施例におけるデータ同期サーバは、遠隔拠点に設置された分散データセンタの存在を前提にして説明したが、データセンタがなくても、アプリケーションサーバ間の同期データの同期制御を行うデータ同期サーバにも適用できる。
【００５５】
また、上記の各サーバ中の構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスクに限らず、ＳＳＤ（Solid State Drive）等の記録装置、またはＩＣカード等の記録媒体におくことができるし、必要に応じてネットワーク等を介してダウンロードすることも可能であることは言うまでもない。
【産業上の利用可能性】
【００５６】
本発明は、データ同期システム、特に遠隔拠点に設置される分散データセンタ間でアプリケーションのデータ同期を行うための技術として有用である。
【符号の説明】
【００５７】
１００、４００  ネットワーク
１０１、４０１  制御サーバ
１０２、１０３、４０２、４０３  データセンタ
１０４、１０６、４０４、４０７  アプリケーションサーバ
１０５、１０７、４０５、４０６  データ同期サーバ
１０８、１０９、４０８、４０９  管理者用入力端末
１１０、４１０  ネットワークパス
２００  制御処理部
２０１  設定値入力部
２０２  流入量観測部
２０３  バッファ蓄積量観測部
２０４  遅延予測部
２０５  送信レート計算部
２０６  ネットワーク帯域計算部
２０７  制御サーバ通信部
２１０  同期データ処理部
２１１  同期データ送受信部
２２０  制御データ記憶部
２２１  流入量観測データ記憶部
２２２  バッファ蓄積量観測データ記憶部
２２３  設定値記憶部
２３０  同期データ記憶部
２３１  同期データ格納部
２４０  内部バス
２５０  通信ＩＦ
６００  パケットフォーマット
６０１  パケットヘッダ
６０２、７０１、８０１、９０１  アプリケーションＩＤ
６０３  ペイロード
７００  流入量観測データ記憶部テーブル
７０２  流入量（kbps）
８００  バッファ蓄積量観測データ記憶部テーブル
８０２  蓄積量（KB）
９００  設定値記憶部テーブル
９０２  要求遅延（msec）
１０００  再設定されたネットワークパスの流出量。
【図１】
0005372988.tif 000005
【図２】
0005372988.tif 000006
【図３】
0005372988.tif 000007
【図４】
0005372988.tif 000008
【図５】
0005372988.tif 000009
【図６】
0005372988.tif 000010
【図７】
0005372988.tif 000011
【図８】
0005372988.tif 000012
【図９】
0005372988.tif 000013
【図１０】
0005372988.tif 000014