JP6711768B2 - 分散dbシステムおよびタイマ設定方法 - Google Patents

分散dbシステムおよびタイマ設定方法 Download PDF

Info

Publication number
JP6711768B2
JP6711768B2 JP2017035133A JP2017035133A JP6711768B2 JP 6711768 B2 JP6711768 B2 JP 6711768B2 JP 2017035133 A JP2017035133 A JP 2017035133A JP 2017035133 A JP2017035133 A JP 2017035133A JP 6711768 B2 JP6711768 B2 JP 6711768B2
Authority
JP
Japan
Prior art keywords
server
delay time
servers
capture
storage unit
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
JP2017035133A
Other languages
English (en)
Other versions
JP2018142807A (ja
Inventor
勇樹 伊藤
勇樹 伊藤
史郎 青島
史郎 青島
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017035133A priority Critical patent/JP6711768B2/ja
Publication of JP2018142807A publication Critical patent/JP2018142807A/ja
Application granted granted Critical
Publication of JP6711768B2 publication Critical patent/JP6711768B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、分散DBシステムおよびタイマ設定方法に関する。
従来、DBクライアントからの要求に応じて、複数のDBサーバ間でリレーを行う分散DBシステムにおいて、システム全体が停止しないようにDBサーバを離れた位置に設置するのが一般的である。このような分散DBシステムにおいて、DBサーバ間でのリレーでは通信網が利用されるため、DBサーバ間のリレー時間は、通信距離やNW機器の構成等の影響を受け、通信経路によって異なる。
また、このような分散DBシステムにおいて、DBクライアントが要求を行って、該要求に対する応答を受け取るまでの制限時間として、タイマ値が設定されており、該タイマ値を過ぎた場合には、タイムアウトとなる。
特開2014−239331号公報 特開平4−208791号公報
しかしながら、従来の技術では、タイムアウトのタイマ値を適切に設定することができない場合があるという課題があった。つまり、従来の技術では、例えば、分散DBシステムを新規導入する際、もしくは、DBサーバを追加配置する際のタイマ設計に複雑性がある。また、分散DBシステムは、離れた距離にDBサーバが配置されており、通信距離やネットワーク機器の構成等の影響があるため、通信経路によってリレーによる通信速度が異なるため、通信経路を考慮したタイマ値を適切に設定することが難しい場合がある。
上述した課題を解決し、目的を達成するために、本発明の分散DBシステムは、それぞれ異なる場所に設置された各DBサーバ同士で通信を行う分散DBシステムであって、各DBサーバ間で行われる通信の遅延時間を測定し、測定した遅延時間を記憶部に格納する測定部と、前記記憶部に記憶された遅延時間をDBサーバ間ごとに分類し、各DBサーバ間の遅延時間の平均および分散を算出する算出部と、前記算出部によって算出された各DBサーバ間の遅延時間の平均および分散を用いて、各DBサーバ間で行われる通信の遅延時間に対してそれぞれ設定されるタイマ値を決定する決定部と、を備えることを特徴とする。
また、本発明のタイマ設定方法は、それぞれ異なる場所に設置された各DBサーバ同士で通信を行う分散DBシステムによって実行されるタイマ設定方法であって、各DBサーバ間で行われる通信の遅延時間を測定し、測定した遅延時間を記憶部に格納する測定工程と、前記記憶部に記憶された遅延時間をDBサーバ間ごとに分類し、各DBサーバ間の遅延時間の平均および分散を算出する算出工程と、前記算出工程によって算出された各DBサーバ間の遅延時間の平均および分散を用いて、各DBサーバ間で行われる通信の遅延時間に対してそれぞれ設定されるタイマ値を決定する決定工程と、を含んだことを特徴とする。
本発明によればタイムアウトのタイマ値を適切に設定することができるという効果を奏する。
図1は、第一の実施の形態に係る分散DBシステムの構成の一例を示す図である。 図2は、第一の実施の形態に係る分散DBシステムにおける遅延時間について説明する図である。 図3は、第一の実施の形態に係るキャプチャサーバの構成を示すブロック図である。 図4は、キャプチャログ記憶部に記憶される情報の一例を示す図である。 図5は、遅延時間を計測する処理を説明する図である。 図6は、各DBサーバにタイマ値を通知する処理を説明する図である。 図7は、第一の実施の形態に係るキャプチャサーバによる処理を説明するフローチャートである。 図8は、第二の実施の形態に係るキャプチャサーバの構成を示すブロック図である。 図9は、第二の実施の形態に係るキャプチャサーバによる一連のタイマ設定処理を説明する図である。 図10は、第二の実施の形態に係るキャプチャサーバによる処理を説明するフローチャートである。 図11は、タイマ設定プログラムを実行するコンピュータを示す図である。
以下に、本願に係る分散DBシステムおよびタイマ設定方法の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態により本願に係る分散DBシステムおよびタイマ設定方法が限定されるものではない。
[第一の実施の形態]
以下の実施の形態では、第一の実施の形態に係る分散DBシステムの構成、キャプチャサーバの構成、キャプチャサーバの処理の流れを順に説明し、最後に第一の実施の形態による効果を説明する。
[分散DBシステムの構成]
まず、図1を用いて、第一の実施の形態に係る分散DBシステムについて説明する。図1は、第一の実施の形態に係る分散DBシステムの構成の一例を示す図である。第一の実施の形態に係る分散DBシステム100は、キャプチャサーバ10、複数のDBサーバ20a〜20c、クライアントサーバ30および複数のネットワーク機器(図1ではNW機器と記載)40a、40bを有する。なお、各DBサーバ20a〜20cは、それぞれ同様の構成を有しており、特に区別なく説明する場合には、DBサーバ20と記載する。また、各ネットワーク機器40a、40bについても、それぞれ同様の構成を有しており、特に区別なく説明する場合には、ネットワーク機器40と記載する。また、図1に示す各装置の数は、あくまで一例であり、これに限られるものではない。
キャプチャサーバ10は、DBサーバ20間の通信を中継するネットワーク機器40からDBサーバ20間に流れるデータを取得する。そして、キャプチャサーバ10は、取得したデータからDBサーバ20間で行われる通信の遅延時間を測定し、キャプチャログとして後述するキャプチャログ記憶部13aに格納する。
また、キャプチャサーバ10は、キャプチャログ記憶部13aに記憶された遅延時間をDBサーバ20間ごとに分類し、各DBサーバ20間の遅延時間の平均および分散を算出する。そして、キャプチャサーバ10は、算出された各DBサーバ20間の遅延時間の平均および分散を用いて、各DBサーバ20間で行われる通信の遅延時間に対してそれぞれ設定されるタイマ値を決定する。
各DBサーバ20は、アクセス要求の対象となるデータを記憶する他のDBサーバ20にアクセス要求を送信したり、他のDBサーバ20からアクセス要求を受信して返信したりする。各DBサーバ20では、各DBサーバ20間で通信を行う際に、通信距離やネットワーク機器40の構成等の影響により、遅延時間がそれぞれ異なる。
ここで、図2を用いて、第一の実施の形態に係る分散DBシステム100における遅延時間について説明する。図2は、第一の実施の形態に係る分散DBシステムにおける遅延時間について説明する図である。図2に例示するように、分散DBシステム100において、各DBサーバ20は、システム全体が停止しないように、それぞれ離れた位置に設置されている。例えば、DBサーバ20aが東京に設置され、DBサーバ20bが大阪に設置され、DBサーバ20cがニューヨークに設置されているものとする。また、各DBサーバ20は、図示しないネットワークを介して、それぞれ接続されている。なお、図2の例では、クライアントサーバ30からのアクセス要求をDBサーバ20aが受け付けているものとする。
例えば、DBサーバ20aは、クライアントサーバ30からアクセス要求を受け付けたデータをDBサーバ20bが収容している場合には、DBサーバ20bにアクセス要求を送信し、アクセス要求を受け付けたデータをDBサーバ20cが収容している場合には、DBサーバ20cにアクセス要求を送信する。
ここで、図2に示すように、DBサーバ20aは、DBサーバ20bにアクセス要求を送信して応答を受信するまでの時間よりも、DBサーバ20cにアクセス要求を送信して応答を受信するまでの時間の方が長い。つまり、DBサーバ20aについて、DBサーバ20bとの通信における遅延が小さく、DBサーバ20cとの通信における遅延が大きいものとする。なお、以下の説明では、DBサーバ20aがクライアントサーバ30からアクセス要求を受け付けている例を用いて適宜説明する。
クライアントサーバ30は、DBサーバ20aに対してアクセス要求を送信する。そして、クライアントサーバ30は、アクセス要求をしたデータをDBサーバ20aから受信する。ネットワーク機器40は、DBサーバ20間の通信を中継する機器であり、例えば、スイッチやルータ等である。例えば、ネットワーク機器40は、いわゆるポートミラーリング機能を有し、所定のポート経由するデータをコピーし、コピーしたデータを、キャプチャサーバ10に送信する。
[キャプチャサーバの構成]
次に、図3を用いて、図1に示したキャプチャサーバ10の構成を説明する。図3は、第一の実施の形態に係るキャプチャサーバ10の構成を示すブロック図である。図3に示すように、このキャプチャサーバ10は、通信処理部11、制御部12および記憶部13を有する。以下にこれらの各部の処理を説明する。
通信処理部11は、DBサーバ20やネットワーク機器40等との間でやり取りする各種情報に関する通信を制御する。例えば、通信処理部11は、ネットワーク機器40からDBサーバ20間で送受信されているパケットを受信する。また、通信処理部11は、DBサーバ20に対して、設定するタイマ値を送信する。
また、記憶部13は、制御部12による各種処理に必要なデータおよびプログラムを格納するが、特に本発明に密接に関連するものとしては、キャプチャログ記憶部13aを有する。例えば、記憶部13は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、又は、ハードディスク、光ディスク等の記憶装置などである。
キャプチャログ記憶部13aは、各DBサーバ20間で行われる通信の遅延時間を記憶する。具体的には、キャプチャログ記憶部13aは、図4に示すように、通信の送信元であるDBサーバ20の識別子を示す「From」と、通信の送信先であるDBサーバ20の識別子を示す「To」と、遅延時間を示す「TAT(Turn Around Time)」とを対応付けて記憶する。
図4の例を挙げて説明すると、例えば、キャプチャログ記憶部13aは、From(送信元)「DB1」と、To(送信先)「DB2」と、TAT(遅延時間)「0.001」とを対応付けて記憶する。これは、DB1からDB2に対して送信されたパケットの遅延時間が「0.001」秒であることを意味する。なお、以下では、DBサーバ20aを「DB1」、DBサーバ20bを「DB2」、DBサーバ20cを「DB3」と記載して適宜説明する。
制御部12は、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有し、これらによって種々の処理を実行するが、特に本発明に密接に関連するものとしては、測定部12a、算出部12b、決定部12cおよび通知部12dを有する。
測定部12aは、各DBサーバ20間で行われる通信の遅延時間を測定し、測定した遅延時間をキャプチャログ記憶部13aに格納する。例えば、測定部12aは、定期的に、DBサーバ20間の通信を中継するネットワーク機器40からDBサーバ20間に流れるデータを取得する。そして、測定部12aは、取得したデータからDBサーバ20間で行われる通信の遅延時間を測定し、キャプチャログとしてキャプチャログ記憶部13aに格納する。
ここで、図5を用いて、遅延時間の計測する処理を説明する。図5は、遅延時間を計測する処理を説明する図である。なお、図5では、簡略化のため、キャプチャサーバ10が、ネットワーク機器40a、40bからデータを取得する例を示しているが、これに限定されるものではなく、当然より多くのネットワーク機器40からデータを取得していてもよい。
図5に例示するように、キャプチャサーバ10は、DBサーバ20aとDBサーバ20bとの間の通信を中継するネットワーク機器40aと、DBサーバ20aとDBサーバ20cとの間の通信を中継するネットワーク機器40bとからデータを取得する。そして、測定部12aは、取得したデータからDBサーバ20aとDBサーバ20bとの間で行われる通信の遅延時間と、DBサーバ20aとDBサーバ20cとの間で行われる通信の遅延時間とを測定し、キャプチャログとしてキャプチャログ記憶部13aに格納する。
算出部12bは、キャプチャログ記憶部13aに記憶された遅延時間をDBサーバ20間ごとに分類し、各DBサーバ20間の遅延時間の平均および分散を算出する。例えば、算出部12bは、所定期間(例えば、12時間)に格納された遅延時間をDBサーバ20間ごとに分類し、各DBサーバ20間の遅延時間の平均および分散を算出する。なお、算出するタイミングは、所定期間ごとであってもよいし、ユーザが指定した所定のタイミングでもよい。
また、算出部12bは、遅延時間をDBサーバ20間ごとに分類する処理として、キャプチャログ記憶部13aに記憶された各レコードのうち、FromとToの組み合わせが同じレコードを同一グループに分類する。なお、FromとToを逆にした場合に、同じになるレコードについても同一グループに分類する。つまり、例えば、Fromが「DB1」でToが「DB2」のレコードと、Fromが「DB2」でToが「DB1」のレコードとは、同一グループに分類される。
決定部12cは、算出部12bによって算出された各DBサーバ20間の遅延時間の平均および分散を用いて、各DBサーバ20間で行われる通信の遅延時間に対してそれぞれ設定されるタイマ値を決定する。例えば、決定部12cは、各DBサーバ20間について、遅延時間の平均値に、分散の3倍の値を加算した値をタイマ値として決定する。
ここで、図6を用いて、各DBサーバ20にタイマ値を通知する処理を説明する。図6は、各DBサーバにタイマ値を通知する処理を説明する図である。図6に示すように、決定部12cは、DB1−DB2間のタイマ値として、DB1−DB2間で行われた通信のTAT平均と、DB1−DB2間で行われた通信の分散σの3倍の値である「3σ」とを加算した値を算出する。また、決定部12cは、DB1−DB3間のタイマ値として、DB1−DB3間で行われた通信の「TAT平均」と、DB1−DB3間で行われた通信の分散σの3倍の値である「3σ」とを加算した値を算出する。
通知部12dは、決定部12cによって決定されたタイマ値を各DBサーバ20に通知する。例えば、通知部12dは、決定部12cによって決定されたDB1−DB2間のタイマ値を、DBサーバ20aおよびDBサーバ20bに通知する。また、通知部12dは、決定部12cによって決定されたDB1−DB3間のタイマ値を、DBサーバ20aおよびDBサーバ20cに通知する。なお、DBサーバ20は、タイマ値を受信すると、自装置の各IF(Interface)にタイマ値を設定する。
このように、キャプチャサーバ10は、各DBサーバ20間の通信経路を考慮したタイマ設計を自動的に行うことが可能である。また、キャプチャサーバ10は、分散DBシステム100構築後の通信経路変更の影響も考慮したタイマ設計を自動的に行うことが可能である。
[キャプチャサーバの処理の流れ]
次に、図7を用いて、第一の実施の形態に係るキャプチャサーバ10の処理の流れを説明する。図7は、第一の実施の形態に係るキャプチャサーバによる処理を説明するフローチャートである。
図7に示すように、キャプチャサーバ10は、所定期間(例えば、12時間)が経過したか否かを判定する(ステップS101)。なお、ここで、所定期間が経過したとは、例えば、前回タイマ値を決定してから12時間が経過したことを意味する。ここで、キャプチャサーバ10は、所定期間が経過していない場合には(ステップS101否定)、所定期間が経過するまで、各DBサーバ20間で行われる通信の遅延時間を測定し、測定した遅延時間をキャプチャログ記憶部13aに格納する処理を繰り返すものとする。
また、キャプチャサーバ10は、所定期間が経過した場合には(ステップS101肯定)、キャプチャログ記憶部13aに記憶された遅延時間をDBサーバ20間ごとに分類し、各DBサーバ20間の遅延時間の平均および分散を算出する(ステップS102)。
続いて、キャプチャサーバ10は、算出した各DBサーバ20間の遅延時間の平均および分散を用いて、各DBサーバ20間で行われる通信の遅延時間に対してそれぞれ設定されるタイマ値を決定する(ステップS103)。そして、キャプチャサーバ10は、決定したタイマ値を各DBサーバ20に通知する(ステップS104)。
[第一の実施の形態の効果]
このように、第一の実施の形態に係る分散DBシステム100のキャプチャサーバ10は、各DBサーバ20間で行われる通信の遅延時間を測定し、測定した遅延時間をキャプチャログ記憶部13aに格納する。そして、キャプチャサーバ10は、キャプチャログ記憶部13aに記憶された遅延時間をDBサーバ20間ごとに分類し、各DBサーバ20間の遅延時間の平均および分散を算出する。続いて、キャプチャサーバ10は、算出された各DBサーバ20間の遅延時間の平均および分散を用いて、各DBサーバ20間で行われる通信の遅延時間に対してそれぞれ設定されるタイマ値を決定する。このため、タイムアウトのタイマ値を適切に設定することが可能である。
つまり、キャプチャサーバ10は、各DBサーバ20間の通信経路を考慮したタイマ設計を自動的に行うことが可能である。また、キャプチャサーバ10は、分散DBシステム100構築後の通信経路変更の影響も考慮したタイマ設計を自動的に行うことが可能である。
また、第一の実施の形態に係る分散DBシステム100のキャプチャサーバ10は、決定されたタイマ値を各DBサーバ20に通知する。このため、キャプチャサーバ10が、各DBサーバ20に対して、直接タイマ値を設定することが可能である。
また、第一の実施の形態に係る分散DBシステム100のキャプチャサーバ10は、所定期間に格納された遅延時間をDBサーバ20間ごとに分類し、各DBサーバ20間の遅延時間の平均および分散を算出する。このため、キャプチャサーバ10は、所定期間に蓄積されたキャプチャログを用いて、適切な遅延時間の平均および分散を算出することが可能である。
[第二の実施の形態]
上述した第二の実施の形態では、所定期間に格納された遅延時間をDBサーバ間ごとに分類し、各DBサーバ間の遅延時間の平均および分散を算出する場合を説明したが、本実施の形態は、これに限定されるものではない。例えば、所定期間に格納された遅延時間のサンプル数が少ない場合には、過去に測定した遅延時間も用いて、各DBサーバ間の遅延時間の平均および分散を算出するようにしてもよい。
そこで、以下では、第二の実施の形態に係るキャプチャサーバ10Aが、所定期間に記憶部13に格納された遅延時間のサンプル数が所定の閾値未満である場合には、過去の遅延時間を過去キャプチャログ記憶部13bから読み出して、各DBサーバ20間の遅延時間の平均および分散を算出する場合を説明する。なお、第一の実施の形態に係るキャプチャサーバ10と同様の構成や処理については説明を省略する。
まず、図8を用いて、第二の実施の形態に係るキャプチャサーバ10Aについて説明する。図8は、第二の実施の形態に係るキャプチャサーバの構成を示すブロック図である。図8に示すように、第二の実施の形態に係るキャプチャサーバ10Aは、図3に示した第一の実施の形態に係るキャプチャサーバ10と比較して、読出部12e、過去キャプチャログ記憶部13bを有する点が異なる。
キャプチャログ記憶部13aは、所定期間内に測定された遅延時間を含む、今回タイマ値を決定するためのキャプチャログを記憶する。これに対して、過去キャプチャログ記憶部13bは、以前にタイマ値を決定するために用いられた過去のキャプチャログを記憶する。例えば、過去キャプチャログ記憶部13bには、決定部12cによりタイマ値が決定されるたびに、キャプチャログ記憶部13aに記憶されたキャプチャログが、過去のキャプチャログとして記憶されるものとする。
読出部12eは、所定期間にキャプチャログ記憶部13aに格納された遅延時間のサンプル数が所定の閾値未満である場合には、所定期間よりも以前にキャプチャログ記憶部13aに格納された過去の遅延時間を過去キャプチャログ記憶部13bから読み出す。例えば、読出部12eは、各DBサーバ20間について、前回タイマ値を決定してから12時間以内にキャプチャログ記憶部13aに格納された遅延時間のサンプル数が所定の閾値未満であるか否かを判定する。この結果、読出部12eは、遅延時間のサンプル数が所定の閾値未満である場合には、該当するDBサーバ20間の遅延情報について、過去の遅延時間を、サンプル数が所定の閾値以上となる分だけ過去キャプチャログ記憶部13bから読み出す。
算出部12bは、所定期間にキャプチャログ記憶部13aに格納された遅延時間と、過去の遅延時間とをDBサーバ20間ごとに分類し、各DBサーバ20間の遅延時間の平均および分散を算出する。
ここで、図9を用いて、第二の実施の形態に係るキャプチャサーバ10Aによる一連のタイマ設定処理を説明する。図9は、第二の実施の形態に係るキャプチャサーバ10Aによる一連のタイマ設定処理を説明する図である。キャプチャサーバ10Aは、DBサーバ20aとDBサーバ20bとの間の通信を中継するネットワーク機器40a(図9では図示を省略)と、DBサーバ20aとDBサーバ20cとの間の通信を中継するネットワーク機器40b(図9では図示を省略)とからデータを取得する。ここで、図9の例では、DBサーバ20aとDBサーバ20bとの間の通信トラフィックが小さいものとする。
そして、キャプチャサーバ10Aは、取得したデータからDBサーバ20aとDBサーバ20bとの間で行われる通信の遅延時間と、DBサーバ20aとDBサーバ20cとの間で行われる通信の遅延時間とを測定し、キャプチャログとしてキャプチャログ記憶部13aに格納する。
そして、キャプチャサーバ10Aは、前回タイマ値を決定してから12時間以内にキャプチャログ記憶部13aに格納された遅延時間のサンプル数が所定の閾値未満であるか否かを判定し、例えば、DBサーバ20aとDBサーバ20cとの間で行われた通信の遅延時間のサンプル数が少ない場合には、DBサーバ20aとDBサーバ20cとの間で行われた通信の遅延情報について、過去の遅延時間を、サンプル数が所定の閾値以上となる分だけ過去キャプチャログ記憶部13bから読み出す。
その後、キャプチャサーバ10Aは、所定期間にキャプチャログ記憶部13aに格納された遅延時間と、過去の遅延時間とをDBサーバ20間ごとに分類し、各DBサーバ20間の遅延時間の平均および分散を算出する。
そして、キャプチャサーバ10Aは、DB1−DB2間で行われた通信の「TAT平均」と、DB1−DB2間で行われた通信の分散σの3倍の値である「3σ」とを加算した値を算出する。また、キャプチャサーバ10Aは、DB1−DB3間のタイマ値として、DB1−DB3間で行われた通信の「TAT平均」と、DB1−DB3間で行われた通信の分散σの3倍の値である「3σ」とを加算した値を算出する。そして、キャプチャサーバ10Aは、算出したタイマ値を各DBサーバ20に通知する。
次に、図10を用いて、第二の実施の形態に係るキャプチャサーバによる処理手順の例を説明する。図10は、第二の実施の形態に係るキャプチャサーバによる処理を説明するフローチャートである。
図10に示すように、キャプチャサーバ10Aは、所定期間(例えば、12時間)が経過したか否かを判定する(ステップS201)。なお、ここで、所定期間が経過したとは、例えば、前回タイマ値を決定してから12時間が経過したことを意味する。ここで、キャプチャサーバ10Aは、所定期間が経過していない場合には(ステップS201否定)、所定期間が経過するまで、各DBサーバ20間で行われる通信の遅延時間を測定し、測定した遅延時間をキャプチャログ記憶部13aに格納する処理を繰り返すものとする。
また、キャプチャサーバ10Aは、所定期間が経過した場合には(ステップS201肯定)、前回タイマ値を決定してから12時間以内にキャプチャログ記憶部13aに格納された遅延時間のサンプル数が所定の閾値未満であるか否かを判定する(ステップS202)。
この結果、キャプチャサーバ10Aは、サンプル数が所定の閾値以上である場合には(ステップS202否定)、第一の実施の形態と同様に、各DBサーバ20間の遅延時間の平均および分散を算出し(ステップS204)、各DBサーバ20間の遅延時間の平均および分散を用いて、各DBサーバ20間で行われる通信の遅延時間に対してそれぞれ設定されるタイマ値を決定し(ステップS205)、決定されたタイマ値を各DBサーバ20に通知する(ステップS206)。
また、キャプチャサーバ10Aは、サンプル数が所定の閾値未満である場合には(ステップS202肯定)、所定期間よりも以前にキャプチャログ記憶部13aに格納された過去の遅延時間を過去キャプチャログ記憶部13bから読み出す(ステップS203)。具体的には、キャプチャサーバ10Aは、遅延時間のサンプル数が所定の閾値未満である場合には、該当するDBサーバ20間の遅延情報について、過去の遅延時間を、サンプル数が所定の閾値以上となる分だけ過去キャプチャログ記憶部13bから読み出す。
そして、キャプチャサーバ10Aは、所定期間にキャプチャログ記憶部13aに格納された遅延時間と、過去の遅延時間とをDBサーバ20間ごとに分類し、各DBサーバ20間の遅延時間の平均および分散を算出する(ステップS204)。続いて、キャプチャサーバ10Aは、算出した各DBサーバ20間の遅延時間の平均および分散を用いて、各DBサーバ20間で行われる通信の遅延時間に対してそれぞれ設定されるタイマ値を決定する(ステップS205)。そして、キャプチャサーバ10Aは、決定したタイマ値を各DBサーバ20に通知する(ステップS206)。
[第二の実施の形態の効果]
このように、第二の実施の形態に係るキャプチャサーバ10Aは、所定期間にキャプチャログ記憶部13aに格納された遅延時間のサンプル数が所定の閾値未満である場合には、所定期間よりも以前にキャプチャログ記憶部13aに格納された過去の遅延時間を過去キャプチャログ記憶部13bから読み出す。そして、キャプチャサーバ10Aは、所定期間にキャプチャログ記憶部13aに格納された遅延時間と、過去の遅延時間とをDBサーバ20間ごとに分類し、各DBサーバ20間の遅延時間の平均および分散を算出する。このため、キャプチャサーバ10Aは、DBサーバ20間の通信量が少ない場合であっても、過去のキャプチャログを利用することで、適切なタイマ値を各DBサーバ20に設定することが可能である。
[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
また、本実施の形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
[プログラム]
図11は、タイマ設定プログラムを実行するコンピュータを示す図である。コンピュータ1000は、例えば、メモリ1010、CPU(Central Processing Unit)1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011及びRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1051、キーボード1052に接続される。ビデオアダプタ1060は、例えばディスプレイ1061に接続される。
ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、キャプチャサーバ10、10Aの各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、装置における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。
また、上述した実施の形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。
なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093及びプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093及びプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10、10A キャプチャサーバ
11 通信処理部
12 制御部
12a 測定部
12b 算出部
12c 決定部
12d 通知部
12e 読出部
13 記憶部
13a キャプチャログ記憶部
13b 過去キャプチャログ記憶部
20a、20b、20c DBサーバ
30 クライアントサーバ
100 分散DBシステム

Claims (3)

  1. それぞれ異なる場所に設置された各DBサーバ同士で通信を行う分散DBシステムであって、
    各DBサーバ間で行われる通信の遅延時間を測定し、測定した遅延時間を記憶部に格納する測定部と、
    所定期間に前記記憶部に格納された遅延時間のサンプル数が所定の閾値未満である場合には、前記所定期間よりも以前に前記記憶部に格納された過去の遅延時間を読み出す読出部と、
    前記所定期間に前記記憶部に格納された遅延時間と、前記過去の遅延時間とをDBサーバ間ごとに分類し、各DBサーバ間の遅延時間の平均および分散を算出する算出部と、
    前記算出部によって算出された各DBサーバ間の遅延時間の平均および分散を用いて、各DBサーバ間で行われる通信の遅延時間に対してそれぞれ設定されるタイマ値を決定する決定部と、
    を備えることを特徴とする分散DBシステム。
  2. 前記決定部によって決定されたタイマ値を前記各DBサーバに通知する通知部をさらに備えることを特徴とする請求項1に記載の分散DBシステム。
  3. それぞれ異なる場所に設置された各DBサーバ同士で通信を行う分散DBシステムによって実行されるタイマ設定方法であって、
    各DBサーバ間で行われる通信の遅延時間を測定し、測定した遅延時間を記憶部に格納する測定工程と、
    所定期間に前記記憶部に格納された遅延時間のサンプル数が所定の閾値未満である場合には、前記所定期間よりも以前に前記記憶部に格納された過去の遅延時間を読み出す読出工程と、
    前記所定期間に前記記憶部に格納された遅延時間と、前記過去の遅延時間とをDBサーバ間ごとに分類し、各DBサーバ間の遅延時間の平均および分散を算出する算出工程と、
    前記算出工程によって算出された各DBサーバ間の遅延時間の平均および分散を用いて、各DBサーバ間で行われる通信の遅延時間に対してそれぞれ設定されるタイマ値を決定する決定工程と、
    を含んだことを特徴とするタイマ設定方法。
JP2017035133A 2017-02-27 2017-02-27 分散dbシステムおよびタイマ設定方法 Active JP6711768B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017035133A JP6711768B2 (ja) 2017-02-27 2017-02-27 分散dbシステムおよびタイマ設定方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017035133A JP6711768B2 (ja) 2017-02-27 2017-02-27 分散dbシステムおよびタイマ設定方法

Publications (2)

Publication Number Publication Date
JP2018142807A JP2018142807A (ja) 2018-09-13
JP6711768B2 true JP6711768B2 (ja) 2020-06-17

Family

ID=63528301

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017035133A Active JP6711768B2 (ja) 2017-02-27 2017-02-27 分散dbシステムおよびタイマ設定方法

Country Status (1)

Country Link
JP (1) JP6711768B2 (ja)

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3183343B2 (ja) * 1999-02-26 2001-07-09 日本電気株式会社 データ通信方法、端末装置、中継装置、データ通信システム及びその記録媒体
JP4829149B2 (ja) * 2007-03-02 2011-12-07 株式会社エヌ・ティ・ティ・ドコモ 通信装置、通信システム及び送信制御方法
JP5786853B2 (ja) * 2010-03-15 2015-09-30 日本電気株式会社 パケット再送制御装置、パケット再送制御方法、パケット再送制御プログラム
US8843175B2 (en) * 2012-03-19 2014-09-23 Apple Inc. Apparatus and methods for mitigating protocol-induced back-offs in a communication network

Also Published As

Publication number Publication date
JP2018142807A (ja) 2018-09-13

Similar Documents

Publication Publication Date Title
US9712404B2 (en) Performance evaluation method and information processing device
US9876695B2 (en) Generating production server load activity for a test server
CN111459750A (zh) 基于非扁平网络的私有云监控方法、装置、计算机设备及存储介质
JP6493400B2 (ja) サービスチェーン管理装置、サービスチェーン管理システム、サービスチェーン管理方法、及び、プログラム
EP3028406A2 (en) Profile-based sla guarantees under workload migration in a distributed cloud
JP2005521359A (ja) ソフトウェアアプリケーションのネットワーク動作特性を測定する方法、システム及びコンピュータプログラム
CN109656574B (zh) 交易时延度量方法、装置、计算机设备及存储介质
JP2013232187A (ja) 待ち時間を誘発することにより、分散計算サービスの弾力性を評価する方法及びシステム
CN109739527B (zh) 一种客户端灰度发布的方法、装置、服务器和存储介质
CN109560976B (zh) 一种消息延迟的监控方法及装置
US11669374B2 (en) Using machine-learning methods to facilitate experimental evaluation of modifications to a computational environment within a distributed system
US11838822B2 (en) Techniques for selecting network protocols
CN111597099B (zh) 一种监测部署于云平台的应用运行质量的无侵入仿真方法
US10474518B1 (en) Obtaining historical information in a device core dump
US10841192B1 (en) Estimating data transfer performance improvement that is expected to be achieved by a network optimization device
US8385213B2 (en) Error identification in a computer-based network
JP6711768B2 (ja) 分散dbシステムおよびタイマ設定方法
CN107992416B (zh) 一种网页时延的确定方法及装置
Liu et al. Towards a community cloud storage
US10409662B1 (en) Automated anomaly detection
JP5974905B2 (ja) 応答時間監視プログラム、方法および応答時間監視装置
EP3113024A1 (en) Network element monitoring
CN111258845A (zh) 事件风暴的检测
CN115396319B (zh) 数据流分片方法、装置、设备及存储介质
US11635982B2 (en) Information processing apparatus, program, and information processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190220

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191125

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191203

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200122

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200528

R150 Certificate of patent or registration of utility model

Ref document number: 6711768

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150