JP6102937B2 - 情報処理装置 - Google Patents

情報処理装置 Download PDF

Info

Publication number
JP6102937B2
JP6102937B2 JP2014544237A JP2014544237A JP6102937B2 JP 6102937 B2 JP6102937 B2 JP 6102937B2 JP 2014544237 A JP2014544237 A JP 2014544237A JP 2014544237 A JP2014544237 A JP 2014544237A JP 6102937 B2 JP6102937 B2 JP 6102937B2
Authority
JP
Japan
Prior art keywords
difference information
communication
information
communication path
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
JP2014544237A
Other languages
English (en)
Other versions
JPWO2014068877A1 (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPWO2014068877A1 publication Critical patent/JPWO2014068877A1/ja
Application granted granted Critical
Publication of JP6102937B2 publication Critical patent/JP6102937B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/25Flow control; Congestion control with rate being modified by the source upon detecting a change of network conditions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、情報処理装置にかかり、特に、データを更新したときの差分情報を他の情報処理装置へ送信する情報処理装置に関する。
メモリの容量が増大するに伴い、メモリにデータを格納し、処理を行うメモリデータベースの技術が知られている。このような、メモリデータベースシステムの技術は、データに冗長性を持たせるために、データを格納するマスターサーバと、データの複製を格納するスレーブサーバと、を備えている(例えば特許文献1参照)。
特開2008−293218号公報
ところで、上記のメモリデータベースシステムの技術では、メモリ上にデータを格納しているので、ディスクにアクセスをする必要がなく、高速にデータにアクセスすることができる。一方で、マスターサーバに格納されたデータが更新されたときに、データ更新に伴う更新ログをスレーブサーバへ送信する処理時間は、メモリ上のデータの更新時間に比べて大きくなる。この結果、データ更新に伴う差分情報(更新ログ)をスレーブサーバへ送信する処理に時間がかかるという問題があった。なお、ハードディスクドライブ等の記憶装置においても、アクセスの高速化に伴い、同様の問題が発生するおそれがあった。
このため、本発明の目的は、差分情報の送信に時間がかかるという問題を解決することができる情報処理装置を提供させることにある。
上記目的を達成すべく、本発明の一形態である情報処理装置は、
更新情報を取得して、記憶部に予め記憶されたデータを更新するとともに、更新前の前記データと更新後のデータとの差分情報を取得する更新手段と、
更新前の前記データを記憶する他の情報処理装置と通信する複数の通信路のそれぞれの通信状態を取得する通信状態取得手段と、
前記通信状態取得手段にて取得した複数の通信路のそれぞれの前記通信状態に基づいて、前記更新手段にて取得した前記差分情報を、前記各通信路に対応付けて分割する差分情報分割手段と、
前記差分情報分割手段にて分割した前記差分情報のそれぞれを、分割した前記差分情報のそれぞれに対応する前記各通信路を介して、前記他の情報処理装置へ送信する送信手段と、
を備えるという構成を取る。
また、本発明の他の形態であるプログラムは、
情報処理装置にて、
更新情報を取得して、記憶部に予め記憶されたデータを更新するとともに、更新前の前記データと更新後のデータとの差分情報を取得する更新手段と、
更新前の前記データを記憶する他の情報処理装置と通信する複数の通信路のそれぞれの通信状態を取得する通信状態取得手段と、
前記通信状態取得手段にて取得した複数の通信路のそれぞれの前記通信状態に基づいて、前記更新手段にて取得した前記差分情報を、前記各通信路に対応付けて分割する差分情報分割手段と、
前記差分情報分割手段にて分割した前記差分情報のそれぞれを、分割した前記差分情報のそれぞれに対応する前記各通信路を介して、前記他の情報処理装置へ送信する送信手段と、
を実現させるためのプログラムである。
また、本発明の他の形態である情報処理方法は、
更新情報を取得して、記憶部に予め記憶されたデータを更新するとともに、更新前の前記データと更新後のデータとの差分情報を取得し、
更新前の前記データを記憶する他の情報処理装置と通信する複数の通信路のそれぞれの通信状態を取得し、
取得した複数の通信路のそれぞれの前記通信状態に基づいて、取得した前記差分情報を分割し、
分割した前記差分情報のそれぞれを、前記各通信路に対応付けて分割した前記差分情報のそれぞれに対応する前記各通信路を介して、前記他の情報処理装置へ送信する、
という構成を取る。
本発明は、以上のように構成されることによりデータ更新に伴う差分情報を迅速に送信することができるという優れた効果を有する。
本発明の通信システムの構成を示すブロック図である。 本発明の第1実施形態におけるマスターサーバの構成を示すブロック図である。 本発明の第1実施形態におけるスレーブサーバの構成を示すブロック図である。 送信管理テーブルを説明するための図である。 パケット送信時間を説明するための図である。 差分情報送信時間を説明するための図である。 差分情報を送信する処理を説明するための図である。 データ更新処理を説明するためのフローチャートである。 転送時間算出処理を説明するためのフローチャートである。 負荷情報送信処理を説明するためのフローチャートである。 差分情報送信時間算出処理を説明するためのフローチャートである。 差分情報分割処理を説明するためのフローチャートである。 差分情報送信処理を説明するためのフローチャートである。 差分情報削除処理を説明するためのフローチャートである。 本発明の第2実施形態におけるマスターサーバの構成を示すブロック図である。 転送時間算出処理を説明するためのフローチャートである。 差分情報送信処理を説明するためのフローチャートである。
<第1実施形態>
本発明の第1実施形態を、図1乃至図14を参照して説明する。図1乃至図7は、通信システム1の構成を説明するための図である。図8乃至図14は、通信システム1の動作を説明するための図である。
[構成]
最初に、通信システム1の構成について説明する。図1に示すように、本実施形態における通信システム1は、マスターサーバ11と、スレーブサーバ12A,12Bと、通信路13a,13bと、を備えている。マスターサーバ11は、メモリにデータを記憶(格納)したメモリデータベースシステムを利用するサーバ装置である。マスターサーバ11は、メモリにデータを記憶しているので、ハードディスクドライブ等の記憶装置にアクセスする必要がなく、高速にデータにアクセスすることができる。
スレーブサーバ12A,12Bは、マスターサーバ11に記憶されたデータの複製を記憶するサーバ装置である。スレーブサーバ12A,12Bは、マスターサーバ11に記憶されたデータの複製を記憶することで、マスターサーバ11に障害等が発生した場合でも、通信システム1全体の機能を維持することができる。なお、スレーブサーバ12A,12Bのそれぞれを個々に区別しない場合、以下単にスレーブサーバ12と記載する。
マスターサーバ11とスレーブサーバ12とは、有線または無線による通信路13a,13bを介して接続される。なお、通信路13a,13bのそれぞれを個々に区別しない場合、以下単に通信路13と記載する。
なお、図1の通信システム1は、1つのスレーブサーバ12を備えていてもよいし、3つ以上の複数のスレーブサーバ12を備えていてもよい。さらに、通信システム1における通信路13の数は3つ以上の複数であってもよい。
まず、図2を参照して、マスターサーバ11の構成について説明する。マスターサーバ11(情報処理装置)は、演算部21と、メモリ22と、通信部23A,23B(送信手段)と、入出力部24と、記憶部25と、を備えている。
演算部21は、例えば、CPU(Central Processing Unit)により構成される。演算部21は、記憶部25に格納されたプログラムを読み込み、メモリ22を作業領域としてプログラムを実行することにより、マスターサーバ11を制御するための各種機能を実行する。
演算部21は、プログラムを実行することにより、更新部41(更新手段)と、取得部42A,42Bと、転送時間算出部43A,43B(通信状態取得手段)と、記憶制御部44A,44Bと、差分情報送信時間算出部45A,45B(差分情報送信時間算出手段)と、差分情報分割部46A,46B(差分情報分割手段)と、を有する。演算部21の各構成については、後述して説明する。
また、メモリ22(記憶部)は、マスターサーバ11が有するデータであるマスターデータ51を記憶する。マスターデータ51は、例えば、商品の受注や配送を管理するデータベースや、オンライン証券を管理するデータベース等であり、特に高速なトランザクションが求められるシステムにおいて利用される。さらに、メモリ22は、差分情報格納領域61と、負荷情報格納領域62A,62Bと、転送時間格納領域63A,63Bと、差分情報送信時間格納領域64A,64Bと、分割差分情報格納領域65A,65Bと、を有する。メモリ22の各格納領域については、後述して説明する。
そして、マスターサーバ11は、スレーブサーバ12Aとの通信を制御するための第1の通信制御部31Aと、スレーブサーバ12Bとの通信を制御するための第2の通信制御部31Bと、を有している。第1の通信制御部31Aは、取得部42Aと、転送時間算出部43Aと、記憶制御部44Aと、差分情報送信時間算出部45Aと、差分情報分割部46Aと、負荷情報格納領域62Aと、転送時間格納領域63Aと、差分情報送信時間格納領域64Aと、分割差分情報格納領域65Aと、を有している。
第2の通信制御部31Bは、取得部42Bと、転送時間算出部43Bと、記憶制御部44Bと、差分情報送信時間算出部45Bと、差分情報分割部46Bと、負荷情報格納領域62Bと、転送時間格納領域63Bと、差分情報送信時間格納領域64Bと、分割差分情報格納領域65Bと、を有している。なお、スレーブサーバ12の数が1つである場合には、マスターサーバ11は、第1の通信制御部31Aだけを有する。また、スレーブサーバ12の数が3つ以上の複数である場合には、マスターサーバ11は、スレーブサーバ12の数だけ通信制御部31を有する。以下では、取得部42A,42Bを取得部42として記載する。また、AとBの符号を有する他の構成についても同様にA,Bを区別することなく記載する。
次に、図3を参照して、スレーブサーバ12の構成について説明する。スレーブサーバ12(他の情報処理装置)は、演算部101と、メモリ102と、通信部103と、を備えている。演算部101は、例えば、CPUにより構成される。演算部101は、記憶部(図示せず)に格納されたプログラムを読み込み、メモリ102を作業領域としてプログラムを実行することにより、スレーブサーバ12を制御するための各種機能を実行する。
スレーブサーバ12の演算部101は、プログラムを実行することにより、負荷情報取得部121と、複製データ更新部122と、を有している。演算部101の各構成については、後述して説明する。また、メモリ102は、マスターサーバ11が記憶するマスターデータ51の複製である複製データ131を記憶する。
なお、スレーブサーバ12は、複製データ131を出力(表示)する複製データ出力部をさらに備えてもよい。スレーブサーバ12が複製データ出力部を備えることにより、ユーザがスレーブサーバ12にアクセスして複製データ131を参照することが可能になる。従って、マスターデータ51(複製データ131)の出力処理をマスターサーバ11とスレーブサーバ12とのそれぞれに分散させることができ、マスターサーバ11へのアクセス集中による負荷の上昇を防ぐことができる。
以下に、マスターサーバ11とスレーブサーバ12の各構成の詳細について説明する。最初に、マスターデータ51を更新する場合の処理について説明する。
マスターサーバ11のマスターデータ51を更新する場合、まず、更新部41は、更新データを取得する。更新部41は、例えば、入出力部24を介してユーザにより入力された更新データを取得する。次に、更新部41は、取得した更新データに基づいて、メモリ22に記憶されたマスターデータ51を更新する。さらに、更新部41は、更新前のマスターデータと更新後のマスターデータとに基づいて、更新前のマスターデータと更新後のマスターデータとの差分情報(例えば更新ログ)を生成し、取得する。そして、更新部41は、取得した差分情報を差分情報格納領域61に記憶する。これにより、メモリ22に記憶されたマスターデータ51が更新されるたびに、その差分情報が自動的に生成される。
またこの時、更新部41は、差分情報をスレーブサーバ12に送信済みかどうかを表す送信済フラグを、各スレーブサーバに設定する送信管理テーブル81を格納するメモリ22(または記憶部25)に記憶する。図4は、送信管理テーブル81の例を示す図である。図4に示すように、送信管理テーブル81には、差分情報L1乃至L3のそれぞれをスレーブサーバ12A,12Bに送信したか否かを表す送信済フラグが設定されている。図4の例では、差分情報が送信済みである場合に、送信済フラグとして「1」が設定される。また、差分情報が未送信である場合に、送信済フラグとして「0」が設定される。
従って、図4の送信管理テーブル81は、差分情報L1を、スレーブサーバ12A,12Bのそれぞれへ送信済みであることを表している。また、送信管理テーブル81は、差分情報L2を、スレーブサーバ12Aへ送信済みであり、スレーブサーバ12Bには未送信であることを表している。さらに、送信管理テーブル81は、差分情報L3を、スレーブサーバ12A,12Bのそれぞれには未送信であることを表している。
次に、更新したマスターデータ51の差分情報をスレーブサーバ12へ送信する前処理について説明する。差分情報をスレーブサーバ12へ送信する場合、マスターサーバ11は、最初に、スレーブサーバ12の通信状態を取得する。
まず、マスターサーバ11の取得部42は、通信先情報を取得する。通信先情報は、例えば、スレーブサーバ12のアドレス情報と、スレーブサーバ12と通信するための複数の通信路の情報であり、予め記憶部25に記憶される。次に、マスターサーバ11の通信部23は、取得した通信先情報に含まれる通信路毎(例えば通信路13a,13b)にスレーブサーバ12へ負荷情報要求を送信する。負荷情報要求は、スレーブサーバ12の負荷情報(例えばCPUの使用率)を要求するための情報である。
続いて、マスターサーバ11の取得部42は、通信路毎に負荷情報要求を送信した時刻を表す送信時刻を取得する。取得部42は、例えば、マスターサーバ11に内蔵された時計から送信時刻を取得する。そして、記憶制御部44は、取得部42が取得した送信時刻をメモリ22に記憶する。なお、通信路毎に送信する負荷情報要求を同じタイミングで送信した場合、取得部42は、通信路毎の送信時刻として1つ通信時刻を取得する。
ここで、マスターサーバ11の通信部23により負荷情報要求がスレーブサーバ12へ送信されたときの、スレーブサーバ12の処理について説明する。まず、スレーブサーバ12の通信部103は、マスターサーバ11から送信された負荷情報要求を受信する。続いて、スレーブサーバ12の負荷情報取得部121は、負荷情報(例えばCPUの使用率)を取得する。具体的には、負荷情報取得部121は、マスターサーバ11から負荷情報要求を受信したときに、負荷を検出して、負荷情報を取得する。なお、上記に限られず、負荷情報取得部121は、任意のタイミング(例えば定期的)に負荷を検出して、検出した負荷情報をメモリ102に記憶しておき、マスターサーバ11から負荷情報要求を受信したときに、記憶した負荷情報を取得してもよい。
そして、スレーブサーバ12の通信部103は、負荷情報要求を受信した通信路を介して、取得した負荷情報をマスターサーバ11へ送信する。これにより、マスターサーバ11は、スレーブサーバ12の負荷を取得することができる。
スレーブサーバ12から負荷情報が送信されると、マスターサーバ11の通信部23は、通信路毎に送信された負荷情報を受信する。続いて、マスターサーバ11の記憶制御部44は、受信した負荷情報を負荷情報格納領域62に記憶する。また、マスターサーバ11の取得部42は、負荷情報を受信した時刻を表す受信時刻を通信路毎に取得する。
そして、マスターサーバ11の転送時間算出部43は、通信路毎の送信時刻と、通信路毎の受信時刻と、負荷情報のサイズと、に基づいて、通信路毎に転送時間を算出する。具体的には、以下の式(1),(2)を用いて通信路毎に転送時間を算出する。まず、転送時間算出部43は、負荷情報要求の送信時刻と負荷情報の受信時刻とに基づいて、パケット送信時間を算出する。パケット送信時間(秒)は、以下の式(1)により算出される。
パケット送信時間=(受信時刻−送信時刻)÷2 (1)
すなわち、パケット送信時間は、図5に示すように、受信時刻から送信時刻を引いた差の半分により表わされる。例えば、送信時刻が「12:00:00」であり、受信時刻が「12:00:02」である場合には、パケット送信時間は「1」(=2÷2)(秒)になる。なお、マスターサーバ11が送信する負荷情報要求と、スレーブサーバ12が送信する負荷情報と、の大きさが異なる場合には、式(1)に負荷情報要求の大きさと負荷情報の大きさとの比率を含めることができる。例えば、負荷情報要求の大きさと負荷情報の大きさとの比率が1:2である場合には、転送時間算出部43は、(受信時刻−送信時刻)÷3(=1+2)によりパケット送信時間を算出することができる。
続いて、転送時間算出部43は、以下の式(2)により転送時間(秒/バイト)を算出する。
転送時間=パケット送信時間÷パケットサイズ (2)
すなわち、転送時間算出部43は、パケット送信時間をパケットサイズで割ることにより転送時間を算出する。例えば、パケットサイズが10Bである場合、転送時間は「0.1」(=1÷10)(秒)になる。なお、上記したように負荷情報要求の大きさと負荷情報の大きさとが異なる場合には、負荷情報要求の大きさと負荷情報の大きさとのうちの一方のパケットサイズを用いることで、転送時間算出部43は、転送時間を算出することができる。
最後に、記憶制御部44は、算出した通信路毎の転送時間を転送時間格納領域63に記憶する。これにより、マスターサーバ11からスレーブサーバ12への通信路毎の転送時間を、スレーブサーバ12の通信状態として取得することができる。なお、スレーブサーバ12の通信状態は、上記の転送時間に限られない。
次に、マスターサーバ11が差分情報送信時間を算出する処理について説明する。まず、取得部42は、通信路毎の転送時間を取得する。具体的には、取得部42は、転送時間格納領域63に記憶された通信路毎の転送時間を取得する。次に、差分情報送信時間算出部45は、取得した通信路毎の転送時間に基づいて、差分情報送信時間を算出する。
具体的には、以下の式(3),(4)を用いて通信路毎に転送時間を算出する。まず、転送時間算出部43は、通信路13a,13bの合計ネットワーク帯域(通信路全体の通信速度)を算出する。合計ネットワーク帯域(バイト/秒)は、以下の式(3)により算出される。
合計ネットワーク帯域=
(1÷通信路13aの転送時間)+(1÷通信路13bの転送時間)(3)
すなわち、転送時間算出部43は、通信路毎の転送時間の逆数の総和により合計ネットワーク帯域を算出する。例えば、通信路13aの転送時間が「0.1」秒であり、通信路13bの転送時間が「0.05」秒である場合、合計ネットワーク帯域は「30」(=10+20)(バイト/秒)になる。続いて、転送時間算出部43は、以下の式(4)により差分情報Lnの差分情報送信時間(秒)を算出する。
差分情報送信時間=差分情報サイズ÷合計ネットワーク帯域 (4)
すなわち、転送時間算出部43は、差分情報Lnの大きさを合計ネットワーク帯域で割ることにより差分情報送信時間を算出する。例えば、差分情報Lnの大きさを90Bとすると、差分情報送信時間は「3」(=90÷30)(秒)になる。そして、記憶制御部44は、算出した差分情報送信時間を差分情報送信時間格納領域64に記憶する。これにより、マスターサーバ11からスレーブサーバ12へ差分情報を送信するまでの差分情報送信時間を算出するので、ある差分情報の送信が完了した後、すぐに次の差分情報を送信することができる。
なお、差分情報送信時間算出部45は、負荷情報格納領域62から負荷情報を取得し、負荷情報にて示される負荷の大きさ(例えばCPU使用率)に応じた差分情報送信時間を算出することができる。例えば、差分情報送信時間算出部45は、負荷の大きさが大きい程、差分情報送信時間が多くなるように当該差分情報送信時間を算出する。
また、例えば、差分情報送信時間算出部45は、負荷情報にて示される負荷の大きさが予め設定された閾値以上(例えば100%以上)である場合に、算出した差分情報送信時間に予め設定された時間(例えば、0.2秒)を加えることができる。これにより、スレーブサーバ12において複製データ131の更新ができないおそれがある場合に、スレーブサーバ12への負荷を低減することができる。
次に、マスターサーバ11が差分情報を分割する処理について説明する。最初に、差分情報分割部46は、差分情報格納領域61を参照し、分割していない差分情報Lnがあるか否かを判定する。分割していない差分情報Lnがある場合、差分情報分割部46は、転送時間格納領域63から通信路毎の転送時間を取得する。次に、差分情報分割部46は、通信路毎に差分情報Lnの送信サイズを算出する。具体的には、以下の式(5),(6)を用いて通信路毎に差分情報の送信サイズを算出する。通信路13aの送信サイズは、以下の式(5)により算出される。
通信路13aの送信サイズ=差分情報の大きさ×通信路13bの転送時間
÷(通信路13aの転送時間+通信路13bの転送時間) (5)
すなわち、差分情報分割部46は、通信路13aとは異なる(逆の)通信路13bの転送時間を、通信路13a,13bの転送時間の総和で割り、その値に差分情報の大きさを掛けることにより通信路13aの送信サイズを算出する。例えば、差分情報の大きさを90Bとすると、通信路13aの送信サイズは「30」(=90×0.05÷0.15)Bになる。同様に、通信路13bの送信サイズは、以下の式(6)により算出される。
通信路13bの送信サイズ=差分情報の大きさ×通信路13aの転送時間
÷(通信路13aの転送時間+通信路13bの転送時間) (6)
すなわち、差分情報分割部46は、通信路13bとは異なる(逆の)通信路13aの転送時間を、通信路13a,13bの転送時間の総和で割り、その値に差分情報の大きさを掛けることにより通信路13bの送信サイズを算出する。例えば、差分情報の大きさを90Bとすると、通信路13bの送信サイズは「60」(=90×0.1÷0.15)Bになる。このように、差分情報分割部46は、各通信路の転送時間の比(通信路13aの転送時間:通信路13bの転送時間=2:1)に基づいて、差分情報を通信路に対応付けて分割する(通信路13aの送信サイズ「30」B:通信路13bの送信サイズ「60」B)。なお、上記したように通信路13の数が2つである場合には、差分情報分割部46は、通信路13aの送信サイズ(30B)を算出した後に、差分情報の大きさ(90B)から、算出した通信路13aの送信サイズを引くことにより、通信路13bの送信サイズを算出する(60B=90B−30B)ことができる。
そして、差分情報分割部46は、算出した通信路毎の送信サイズに基づいて、各通信路に対応づけて差分情報Lnを分割する。最後に、記憶制御部44は、各通信路に対応づけて分割した差分情報Lnを分割差分情報格納領域65に記憶する。これにより、差分情報を各通信路に対応付けて分割し、通信路毎に所定の大きさに分割された差分情報を送信することができる。
このように、転送時間が大きくなるほど差分情報の大きさが小さくなり、転送時間が小さくなるほど差分情報の大きさが大きくなるように差分情報を分割するので、送信能力が高い通信路ほど大きい差分情報を送信でき、複数の通信路を効率的に利用することができる。
なお、上記には通信路が2つである場合について説明したが、差分情報分割部46は、3つ以上の複数の通信路についても各通信路において送信する差分情報の送信サイズを算出することができる。例えば、差分情報分割部46は、複数の通信路13の転送時間のそれぞれを算出した場合に、転送時間が最も短くなる通信路13c(一方の通信路)と、転送時間が最も長くなる通信路13d(他方の通信路)と、を対応付けて通信路13c,13dのそれぞれの送信サイズを算出する。具体的には、通信路13c,13dの送信サイズは、以下の式(7),(8)により算出される。
一方の通信路の送信サイズ=差分情報の大きさ×他方の通信路の転送時間
÷(複数の通信路13の転送時間の総和) (7)
他方の通信路の送信サイズ=差分情報の大きさ×一方の通信路の転送時間
÷(複数の通信路13の転送時間の総和) (8)
すなわち、差分情報分割部46は、一方の通信路(通信路13c)に対応付けられた他方の通信路(通信路13d)の転送時間を、複数の通信路13の転送時間の総和で割り、その値に差分情報の大きさを掛けることにより一方の通信路の送信サイズを算出する。また、同様に、差分情報分割部46は、他方の通信路(通信路13d)に対応付けられた一方の通信路(通信路13c)の転送時間を、複数の通信路13の転送時間の総和で割り、その値に差分情報の大きさを掛けることにより他方の通信路の送信サイズを算出する。
すなわち、差分情報分割部46は、転送時間がn番目(nは自然数)に短い一方の通信路と、転送時間がn番目に長い他方の通信路と、をそれぞれ対応付けて各通信路13のそれぞれの送信サイズを算出する。なお、通信路13の数が奇数(例えば3)である場合には、一方の通信路(例えば転送時間が2番目に短い通信路13)と他方の通信路(例えば転送時間が2番目に長い通信路13)が同一の通信路13xを示すことがある。この場合、一方の通信路の転送時間と他方の通信路の転送時間とは同じになるので、差分情報分割部46は、以下の式(7),(8)のいずれか一方を利用して、通信路13xの送信サイズを算出する。また、差分情報分割部46は、差分情報の大きさから、通信路13xとは異なる他の通信路13の送信サイズの総和を引くことにより、通信路13xの送信サイズを算出してもよい。なお、複数の通信路のそれぞれの送信サイズを算出する方法は、上記に限られない。
次に、マスターサーバ11が差分情報を送信する処理について説明する。まず、取得部42は、分割差分情報格納領域65から各通信路に対応付けて分割した差分情報Lnを取得する。そして、通信部23は、取得した差分情報Lnを通信路毎に送信する。続いて、取得部42は、差分情報送信時間格納領域64から差分情報Lnの差分情報送信時間を取得する。
次に、取得部42は、次に送信する分割した差分情報Lnを取得する。すなわち、取得部42は、送信した差分情報の次に分割された差分情報Lnを取得する。続いて、通信部23は、差分情報Lnを送信してから、差分情報送信時間(例えば3秒)だけ待機する。そして、通信部23は、差分情報Lnを送信してから差分情報送信時間だけ待機した後に、次に送信する差分情報Lnを通信路毎に送信する。例えば、通信部23は、通信路13aを介して、30Bの大きさに分割した差分情報を送信し、通信路13bを介して、60Bの大きさに分割した差分情報を送信する。マスターサーバ11は以上の差分情報を送信する処理を繰り返し実行する。
これにより、例えば図6と図7に示すように、前回送信した差分情報(差分情報L1)が全てスレーブサーバ12に到達し、通信路13(通信路13のネットワーク帯域)が空いたタイミングに、次の差分情報(差分情報L2)を送信するので、迅速かつ効率的に差分情報を送信することができる。
マスターサーバ11から差分情報が送信されると、スレーブサーバ12は、送信した差分情報に基づいて複製データ131を更新する。具体的には、スレーブサーバ12の通信部103は、送信された差分情報を受信する。続いて、スレーブサーバ12の複製データ更新部122は、受信した差分情報に基づいて、複製データ131を更新する。これにより、更新したマスターデータ51の内容をスレーブサーバ12の複製データ131に反映することができる。
最後に、マスターサーバ11が差分情報を削除する処理について説明する。まず、更新部41は、差分情報Lnが送信されたか否かを判定する。差分情報Lnが送信されたと判定された場合、更新部41は、送信管理テーブル81(例えば図4)を参照して、差分情報Lnを送信した通信路の送信済フラグを設定する。すなわち、更新部41は、送信済フラグを「0」から「1」へ変更する。
次に、更新部41は、差分情報Lnの送信済フラグが全て設定されているか否かを判定する。図4の例では、更新部41は、差分情報「L1」を、送信済フラグが全て設定されていると判定する。差分情報L1の送信済フラグが全て設定されたと判定した場合、更新部41は、差分情報L1を削除する。すなわち、更新部41は、送信管理テーブル81の差分情報「L1」のレコードを削除する。また、更新部41は、差分情報格納領域61と、差分情報送信時間格納領域64と、分割差分情報格納領域65と、のそれぞれに記憶された差分情報「L1」に対応する情報を削除する。
これにより、全てのスレーブサーバ12への送信が完了した差分情報は自動的に削除されるので、メモリ22を効率的に利用することができる。一方、更新部41は、差分情報Lnの送信済フラグが全て設定されていないと判定した場合(例えば図4の差分情報「L2」,「L3」)、差分情報の削除は実行しない。
以上のように、本実施形態においては、通信路の通信状態(例えば転送時間)に応じて、各通信路に対応付けて差分情報を分割し、分割した差分情報をスレーブサーバ12へ送信するので、複数の通信路を有効に利用し、差分情報の送信時間を低減することができる。
なお、本実施形態においては、通信部23は、スレーブサーバ12毎に備えられるとしたが、1つの通信部23により構成されてもよい。また、通信路の通信状態は転送時間に限られず、例えば通信速度等でもよい。
さらに、本実施形態においては、更新部41はマスターデータ51の更新のみを行い、通信部23は、非同期にスレーブサーバ12へ差分情報を送信する。しかしながら、通信部23は、各スレーブサーバ12へ差分情報を送信するタイミングを同期させてもよい。例えば、更新部41が任意のタイミングにて通信部23へ送信指示を行うことで、送信指示を受け付けた通信部23は、待ち時間なしに即座に差分情報をスレーブサーバ12へ送信する。
[動作]
次に、図8乃至図14を参照して、通信システム1の動作について説明する。最初に、図8を参照して、マスターサーバ11のデータ更新処理について説明する。マスターサーバ11のデータ更新処理は、更新データが入力された場合に実行される。
まず、更新部41は、更新データを取得する(ステップS1)。更新部41は、例えば、入出力部24を介してユーザにより入力された更新データを取得する。次に、更新部41は、ステップS1の処理にて取得した更新データに基づいて、メモリ22に記憶されたマスターデータ51を更新する(ステップS2)。
続いて、更新部41は、更新前のマスターデータと更新後のマスターデータとに基づいて、更新前のマスターデータと更新後のマスターデータとの差分情報を取得する(ステップS3)。そして、更新部41は、ステップS3の処理にて取得した差分情報を差分情報格納領域61に記憶する(ステップS4)。
ステップS4の処理の後、マスターサーバ11のデータ更新処理は終了する。これにより、メモリ22に記憶されたマスターデータ51が更新されるたびに、その差分情報が自動的に生成される。
次に、図9と図10を参照して、転送時間算出処理について説明する。図9は、マスターサーバ11の転送時間算出処理を説明するためのフローチャートである。図10は、スレーブサーバ12の負荷情報送信処理を説明するためのフローチャートである。図9の転送時間算出処理は、任意のタイミング(例えば定期的)に実行される。
まず、マスターサーバ11の取得部42は、通信先情報を取得する(ステップS21)。取得部42は、例えば、予め記憶部25に記憶された通信先情報として、スレーブサーバ12のアドレス情報と、スレーブサーバ12と通信するための複数の通信路13の情報を取得する。
次に、マスターサーバ11の通信部23は、ステップS21の処理にて取得した通信先情報に含まれる通信路毎(例えば通信路13a,13b)にスレーブサーバ12へ負荷情報要求を送信する(ステップS22)。負荷情報要求は、スレーブサーバ12の負荷情報(例えばCPUの使用率)を要求するための情報である。
続いて、マスターサーバ11の取得部42は、通信路毎に負荷情報要求を送信した時刻を表す送信時刻を取得する(ステップS23)。マスターサーバ11の通信部23により負荷情報要求がスレーブサーバ12へ送信されると(ステップS22の処理を実行した後)、スレーブサーバ12は、図10の負荷情報送信処理を実行する。
図10の負荷情報送信処理では、まず、スレーブサーバ12の通信部103は、マスターサーバ11から送信された負荷情報要求を受信する(ステップS41)。続いて、スレーブサーバ12の負荷情報取得部121は、負荷情報(例えばCPUの使用率)を取得する(ステップS42)。
そして、スレーブサーバ12の通信部103は、ステップS41の処理にて負荷情報要求を受信した通信路を介して、ステップS42の処理にて取得した負荷情報をマスターサーバ11へ送信する(ステップS43)。ステップS43の処理の後、図10の負荷情報送信処理は終了し、処理は図9のステップS24に進む。
図9のステップS24において、マスターサーバ11の通信部23は、通信路毎に、図10のステップS43の処理にて送信された負荷情報を受信する(ステップS24)。続いて、マスターサーバ11の記憶制御部44は、受信した負荷情報を負荷情報格納領域62に記憶する(ステップS25)。
また、マスターサーバ11の取得部42は、ステップS24の処理にて負荷情報を受信した時刻を表す受信時刻を通信路毎に取得する(ステップS26)。そして、マスターサーバ11の転送時間算出部43は、ステップS23の処理にて取得した通信路毎の送信時刻と、ステップS26の処理にて取得した通信路毎の受信時刻と、ステップS24の処理にて受信した負荷情報のサイズと、に基づいて、通信路毎に転送時間を算出する(ステップS27)。転送時間の算出方法は、式(1),(2)を参照して上述したので、具体的な説明は省略する。
最後に、記憶制御部44は、ステップS27の処理にて算出した通信路毎の転送時間を転送時間格納領域63に記憶する(ステップS28)。これにより、通信路毎の通信状態としての通信路毎の転送時間を記憶することができる。
次に、図11を参照して、マスターサーバ11の差分情報送信時間算出処理について説明する。図11の差分情報送信時間算出処理は、図9の転送時間算出処理にて転送時間が算出された後に実行される。
まず、取得部42は、通信路毎の転送時間を取得する(ステップS61)。具体的には、取得部42は、図10のステップS28の処理にて転送時間格納領域63に記憶された通信路毎の転送時間を取得する。次に、差分情報送信時間算出部45は、ステップS61の処理にて取得した通信路毎の転送時間に基づいて、差分情報Lnの差分情報送信時間を算出する(ステップS62)。差分情報送信時間の算出方法は、式(3),(4)を参照して上述したので、具体的な説明は省略する。
そして、記憶制御部44は、ステップS62の処理にて算出した差分情報送信時間を差分情報送信時間格納領域64に記憶する(ステップS63)。ステップS63の処理の後、マスターサーバ11の差分情報送信時間算出処理は終了する。これにより、マスターサーバ11からスレーブサーバ12へ差分情報を送信するまでの差分情報送信時間(差分情報送信時間)を算出するので、ある差分情報の送信が完了した後、すぐに次の差分情報を送信することができる。
次に、図12乃至図14を参照して、マスターサーバ11が差分情報を送信するときの動作について説明する。図12は、差分情報分割処理を説明するためのフローチャートである。図13は、差分情報送信処理を説明するためのフローチャートである。図14は、差分情報削除処理を説明するためのフローチャートである。
最初に、図12の差分情報分割処理について説明する。図12の差分情報送信処理は、マスターサーバ11が起動した際に開始される。
まず、差分情報分割部46は、差分情報格納領域61を参照し、分割していない差分情報Lnがあるか否かを判定する(ステップS81)。分割していない差分情報Lnがない場合(ステップS81:No)、処理はステップS81に戻り、ステップS81の処理が繰り返される。一方、分割していない差分情報Lnがある場合(ステップS81:Yes)、差分情報分割部46は、転送時間格納領域63から通信路毎の転送時間を取得する(ステップS82)。
次に、差分情報分割部46は、通信路毎に差分情報Lnの送信サイズを算出する(ステップS83)。送信サイズの算出方法は、式(5),(6)を参照して上述したので、具体的な説明は省略する。そして、差分情報分割部46は、ステップS83の処理にて算出した通信路毎の送信サイズに基づいて、各通信路に対応づけて差分情報Lnを分割する(ステップS84)。
続いて、記憶制御部44は、ステップS84の処理にて分割し、各通信路に対応づけた差分情報Lnを分割差分情報格納領域65に記憶する(ステップS85)。ステップS85の処理の後、処理はステップS81に戻り、それ以降の処理が繰り返される。
次に、図13を参照して、差分情報送信処理について説明する。図13の差分情報送信処理は、図12のステップS84の処理により差分情報Lnを分割したとき(またはステップS85の処理により分割した差分情報Lnを記憶したとき)に開始される。
まず、取得部42は、図12のステップS84の処理にて分割し、各通信路に対応付けた差分情報Lnを取得する(ステップS101)。なお、取得部42は、分割差分情報格納領域65から差分情報Lnを取得してもよい。
そして、通信部23は、ステップS101の処理にて取得した差分情報Lnを通信路毎に送信する(ステップS102)。続いて、取得部42は、差分情報送信時間格納領域64から差分情報Lnの差分情報送信時間を取得する(ステップS103)。
次に、取得部42は、次に送信する分割した差分情報Lnを取得する(ステップS104)。ステップS104の処理は、上述したステップS101の処理と同様の処理である。つまり、取得部42は、ステップS101の処理にて取得した差分情報の次に分割された差分情報Lnを取得する。
そして、通信部23は、ステップS102の処理にて差分情報Lnを送信してから、ステップS103にて取得した差分情報送信時間だけ待機する(ステップS105)。ステップS105の処理の後、処理はステップS102に戻り、それ以降の処理が繰り返される。
具体的には、通信部23は、差分情報Lnを送信してから差分情報送信時間だけ待機した後に、ステップS104の処理にて取得した次に送信する差分情報Lnを通信路毎に送信する。
これにより、前回送信した差分情報が全てスレーブサーバ12に到達し、通信路13(通信路13のネットワーク帯域)が空いたタイミングに、次の差分情報を送信するので、迅速かつ効率的に差分情報を送信することができる。なお、スレーブサーバ12に差分情報Lnが送信されると、スレーブサーバ12の複製データ更新部122は、受信した差分情報に基づいて複製データ131を更新する。
次に、図14を参照して、差分情報削除処理について説明する。図14の差分情報削除処理は、図13のステップS102の処理により差分情報Lnを送信したときに開始される。
まず、更新部41は、差分情報Lnが送信されたか否かを判定する(ステップS121)。差分情報Lnが送信されていないと判定された場合(ステップS121:No)、処理はステップS121に戻り、ステップS121の処理が繰り返される。一方、差分情報Lnが送信されたと判定された場合(ステップS121:Yes)、更新部41は、差分情報Lnを送信した通信路の送信済フラグを設定する(ステップS122)。
次に、更新部41は、差分情報Lnの送信済フラグが全て設定されているか否かを判定する(ステップS123)。差分情報Lnの送信済フラグが全て設定されていないと判定した場合(ステップS123:No)、処理はステップS121に戻り、それ以降の処理が繰り返される。一方、差分情報Lnの送信済フラグが全て設定されたと判定した場合(ステップS123:Yes)、更新部41は、差分情報Lnを削除する(ステップS124)。ステップS124の処理の後、処理はステップS121に戻り、それ以降の処理が繰り返される。
これにより、全てのスレーブサーバ12への送信が完了した差分情報は自動的に削除されるので、メモリ22を効率的に利用することができる。
<第2実施形態>
次に、本発明の第2実施形態を、図15乃至図17を参照して説明する。第2実施形態のマスターサーバ211は、1つの通信部23を備え、複数のスレーブサーバ12のそれぞれへ、同じタイミングで差分情報をマルチキャスト転送する点が、上記第1実施形態のマスターサーバ11と異なる。なお、第2実施形態のマスターサーバ211において、第1実施形態のマスターサーバ11と対応する要素には同じ符号が付されている。図15は、マスターサーバ211の構成を説明するための図である。図16と図17は、マスターサーバ211の動作を説明するための図である。
[構成]
まず、図15を参照して、マスターサーバ211の構成について説明する。マスターサーバ211(情報処理装置)は、演算部221と、メモリ222と、通信部23と、入出力部24と、記憶部25と、を備えている。
演算部221は、取得部42と、記憶制御部44と、差分情報送信時間算出部45と、差分情報分割部46と、をスレーブサーバ12の数に関わらず1つ有する点が演算部21と異なり、他の構成は演算部21と同様である。また、メモリ222は、負荷情報格納領域62と、転送時間格納領域63と、差分情報送信時間格納領域64と、分割差分情報格納領域65と、をスレーブサーバ12の数に関わらず1つ有する点がメモリ22と異なり、他の構成はメモリ22と同様である。
通信部23は、複数の相手を指定して同じデータを送信するマルチキャスト転送を用いて、複数のスレーブサーバ12のそれぞれへ差分情報を送信する。通信部23は、マルチキャストにて複数のスレーブサーバ12へ一度に差分情報を送信するので、通信路13上に送信するデータ量を低減することができ、ネットワーク帯域を有効に活用することができる。
なお、複数のスレーブサーバ12へ一度に差分情報を送信するので、更新部41が、差分情報格納領域61に送信管理テーブル81(図4)を生成し、送信済フラグを設定する処理は省略される。
また、通信部23がスレーブサーバ12へ負荷情報要求を送信し、スレーブサーバ12から負荷情報を受信した後、取得部42は、負荷情報格納領域62から負荷情報を取得する。続いて、各スレーブサーバ12の通信を制御する各通信制御部(転送時間算出部43)は、通信部23が受信した負荷情報に示される負荷の値(例えばCPUの使用率)が、取得部42が取得した負荷情報に示される負荷の値より大きいか否かを判定する。そして、受信した負荷情報に示される負荷の値が、取得した負荷情報に示される負荷の値より大きい場合に、記憶制御部44は、受信した負荷情報を負荷情報格納領域62に記憶する。すなわち、記憶制御部44は、負荷情報格納領域62に記憶された負荷情報を更新する。
さらに、取得部42は、転送時間格納領域63から転送時間を取得する。そして、転送時間算出部43は、転送時間を算出した後に、算出した転送時間が取得した転送時間より大きいか否かを判定する。算出した転送時間が取得した転送時間より大きい場合に、記憶制御部44は、算出した転送時間を転送時間格納領域63に記憶する。
このように、負荷の値が最も大きいスレーブサーバ12の負荷情報と、スレーブサーバ12との転送時間が最も大きい転送時間と、をそれぞれ記憶することにより、マスターサーバ211は、複数のスレーブサーバ12の全てに差分情報が送信されてから、次の差分情報をスレーブサーバ12へ送信することができる。
[動作]
次に、図16と図17を参照して、マスターサーバ211の動作について説明する。図16は、転送時間算出処理を説明するフローチャートである。図17は、差分情報送信処理を説明するフローチャートである。
まず、図16を参照して、転送時間算出処理について説明する。図16の転送時間算出処理は、任意のタイミング(例えば定期的)に実行される。
まず、マスターサーバ211の取得部42は、通信先情報を取得する(ステップS201)。次に、マスターサーバ211の通信部23は、ステップS201の処理にて取得した通信先情報に含まれる通信路毎(例えば通信路13a,13b)にスレーブサーバ12へ負荷情報要求を送信する(ステップS202)。
続いて、マスターサーバ211の取得部42は、通信路毎に負荷情報要求を送信した時刻を表す送信時刻を取得する(ステップS203)。マスターサーバ211の通信部23により負荷情報要求がスレーブサーバ12へ送信されると(ステップS202の処理を実行した後)、スレーブサーバ12は、負荷情報送信処理を実行する。負荷情報送信処理は、図10を参照して上述したので、簡単に説明する。
まず、スレーブサーバ12の通信部103は、マスターサーバ211から送信された負荷情報要求を受信する(ステップS41)。続いて、スレーブサーバ12の負荷情報取得部121は、負荷情報を取得する(ステップS42)。そして、スレーブサーバ12の通信部103は、負荷情報要求を受信した通信路を介して、負荷情報をマスターサーバ211へ送信する(ステップS43)。ステップS43の処理の後、図10の負荷情報送信処理は終了し、処理は図16のステップS204に進む。
図16のステップS204において、マスターサーバ211の通信部23は、通信路毎に、図10のステップS43の処理にて送信された負荷情報を受信する(ステップS204)。続いて、マスターサーバ211の取得部42は、負荷情報格納領域62に記憶された負荷情報を取得する(ステップS205)。なお、負荷情報格納領域62にまだ負荷情報が記憶されていない場合、ステップS205,S206の処理を実行せずに、ステップS207の処理を実行する。
次に、マスターサーバ211の転送時間算出部43(通信制御部)は、ステップS204の処理にて受信した負荷情報に示される負荷の値(大きさ)が、ステップS205の処理にて取得した、記憶された負荷情報に示される負荷の値より大きいか否かを判定する(ステップS206)。受信した負荷の値が、記憶された負荷の値より大きいと判定した場合(ステップS206:Yes)、記憶制御部44は、受信した負荷情報を負荷情報格納領域62に記憶する(ステップS207)。
一方、受信した負荷の値が、記憶された負荷の値より大きくない(同じまたは小さい)と判定した場合(ステップS206:No)、ステップS207の処理は実行せずに、処理はステップS208に進む。
そして、マスターサーバ211の取得部42は、ステップS204の処理にて負荷情報を受信した時刻を表す受信時刻を通信路毎に取得する(ステップS208)。続いて、マスターサーバ211の転送時間算出部43は、ステップS203の処理にて取得した送信時刻と、ステップS208の処理にて取得した通信路毎の受信時刻と、ステップS204の処理にて受信した負荷情報のサイズと、に基づいて、通信路毎に転送時間を算出する(ステップS209)。転送時間の算出方法は、式(1),(2)を参照して上述したので、具体的な説明は省略する。
続いて、マスターサーバ211の取得部42は、転送時間格納領域63に記憶された、通信路毎の転送時間を取得する(ステップS210)。なお、転送時間格納領域63にまだ転送時間が記憶されていない場合、ステップS211,S212の処理を実行せずに、転送時間算出処理は終了する。
次に、マスターサーバ211の転送時間算出部43は、ステップS209の処理にて算出した転送時間が、ステップS210の処理にて取得した、記憶された転送時間より大きいか否かを判定する(ステップS211)。算出した転送時間が、記憶された転送時間より大きいと判定した場合(ステップS211:Yes)、記憶制御部44は、算出した通信路毎の転送時間を転送時間格納領域63に記憶する(ステップS212)。ステップS212の処理の後、転送時間算出処理は終了する。
このように、マスターサーバ211は、負荷の値が最も大きい負荷情報と、スレーブサーバ12との転送時間が最も大きい転送時間と、をそれぞれ記憶する。これにより、マスターサーバ211は、複数のスレーブサーバ12の全てに差分情報が送信されてから、次の差分情報をスレーブサーバ12へ送信することができる。
図16の転送時間算出処理の後、マスターサーバ211は、マスターサーバ11と同様に図11の差分情報送信時間算出処理が実行し、差分情報送信時間を差分情報送信時間格納領域64に記憶する。また、マスターサーバ211は、図12の差分情報分割処理を実行し、差分情報を分割する。
差分情報が分割された後、マスターサーバ211は、図17の差分情報送信処理を開始する。まず、取得部42は、図12のステップS84(またはステップS85)の処理にて分割し、各通信路に対応付けた差分情報Lnを取得する(ステップS221)。なお、取得部42は、分割差分情報格納領域65から差分情報Lnを取得してもよい。
そして、通信部23は、ステップS101の処理にて取得した差分情報Lnを送信する(ステップS222)。具体的には、通信部23は、マルチキャストにて、差分情報Lnを送信する全てのスレーブサーバ12へ同じタイミングで送信する。続いて、取得部42は、差分情報送信時間格納領域64から差分情報Lnの差分情報送信時間を取得する(ステップS223)。
次に、更新部41は、差分情報Lnを削除する(ステップS224)。すなわち、更新部41は、差分情報格納領域61と、差分情報送信時間格納領域64と、分割差分情報格納領域65と、のそれぞれに記憶された差分情報Lnに対応する情報を削除する。
次に、取得部42は、次に送信する分割した差分情報Lnを取得する(ステップS225)。ステップS225の処理は、上述したステップS221の処理と同様の処理であり、取得部42は、ステップS221の処理にて取得した差分情報の次に分割された差分情報Lnを取得する。
そして、通信部23は、ステップS222の処理にて差分情報Lnを送信してから、ステップS223にて取得した差分情報送信時間だけ待機する(ステップS226)。ステップS226の処理の後、処理はステップS222に戻り、それ以降の処理が繰り返される。具体的には、通信部23は、差分情報Lnを送信してから差分情報送信時間だけ待機した後に、ステップS225の処理にて取得した次に送信する差分情報Lnを送信する。
このように、マルチキャストにて複数のスレーブサーバ12へ一度に差分情報を送信するので、通信路13上に送信するデータ量を低減することができ、ネットワーク帯域を有効に活用することができる。
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本発明における情報処理装置等の構成の概略を説明する。但し、本発明は、以下の構成に限定されない。
(付記1)
更新情報を取得して、記憶部に予め記憶されたデータを更新するとともに、更新前の前記データと更新後のデータとの差分情報を取得する更新手段と、
更新前の前記データを記憶する他の情報処理装置と通信する複数の通信路のそれぞれの通信状態を取得する通信状態取得手段と、
前記通信状態取得手段にて取得した複数の通信路のそれぞれの前記通信状態に基づいて、前記更新手段にて取得した前記差分情報を、前記各通信路に対応付けて分割する差分情報分割手段と、
前記差分情報分割手段にて分割した前記差分情報のそれぞれを、分割した前記差分情報のそれぞれに対応する前記各通信路を介して、前記他の情報処理装置へ送信する送信手段と、
を備える情報処理装置。
これによれば、通信路毎の通信状態を取得して、取得した通信状態に基づいて差分情報を、各通信路に対応付けて分割して、複数の通信路のそれぞれを介して他の情報処理装置へ送信するので、複数の通信路を有効に利用し、差分情報の転送時間を短くすることができる。
(付記2)
付記1に記載の情報処理装置であって、
前記通信状態取得手段は、前記通信状態として、複数の前記通信路のそれぞれにおいて所定の大きさの情報を転送する時の転送時間を算出し、
前記差分情報分割手段は、前記通信状態取得手段にて算出した前記各通信路の前記転送時間の比に基づいて、前記更新手段にて取得した前記差分情報を、前記各通信路に対応づけて分割する、
情報処理装置。
これによれば、複数の通信路のそれぞれにおいて所定の大きさの情報を転送する時の転送時間を算出し、算出した各通信路の転送時間の比に基づいて差分情報を分割する。従って、各通信路の転送時間に応じて適切な大きさに分割した差分情報を送信するので、複数の通信路を効率的に利用することができる。
(付記3)
付記2に記載の情報処理装置であって、
前記差分情報分割手段は、前記通信状態取得手段にて算出した前記各通信路の前記転送時間の比に基づいて、前記転送時間が大きくなるほど前記差分情報の大きさが小さくなり、前記転送時間が小さくなるほど前記差分情報の大きさが大きくなるように、前記差分情報を前記各通信路に対応づけて分割する、
情報処理装置。
これによれば、転送時間が大きくなるほど差分情報の大きさが小さくなり、転送時間が小さくなるほど差分情報の大きさが大きくなるように差分情報を分割するので、送信能力が高い通信路ほど大きい差分情報を送信でき、複数の通信路を効率的に利用することができる。
(付記4)
付記3に記載の情報処理装置であって、
前記差分情報分割手段は、転送時間がn番目(nは自然数)に短い一方の通信路と、転送時間がn番目に長い他方の通信路とをそれぞれ対応付けて、前記他方の通信路の転送時間を、複数の通信路の転送時間の総和で割り、その値に差分情報の大きさを掛けることにより前記一方の通信路にて送信する前記差分情報の大きさを算出するとともに、前記一方の通信路の転送時間を、複数の通信路の転送時間の総和で割り、その値に差分情報の大きさを掛けることにより前記他方の通信路にて送信する前記差分情報の大きさを算出し、算出した前記各通信路にて送信する前記差分情報の大きさのそれぞれに前記差分情報を分割する、
情報処理装置。
これによれば、複数の通信路のそれぞれから2つの通信路を対応付けて、他方の通信路の転送時間を複数の通信路の転送時間の総和で割り、その値に差分情報の大きさを掛けることにより一方の通信路にて送信する差分情報の大きさを算出し、一方の通信路の転送時間を複数の通信路の転送時間の総和で割り、その値に差分情報の大きさを掛けることにより他方の通信路にて送信する差分情報の大きさを算出する。従って、通信路の転送時間に応じた適切な大きさの差分情報を、当該通信路を介して送信することができる。
(付記5)
付記2乃至4に記載の情報処理装置であって、
前記通信状態取得手段にて算出した前記各通信路の前記転送時間に基づいて、複数の前記通信路全体の通信速度を算出し、算出した前記通信速度と、前記送信手段にて送信した前記差分情報の大きさと、に基づいて差分情報送信時間を算出する差分情報送信時間算出手段、を備え、
前記送信手段は、分割した前記差分情報のそれぞれを送信してから前記差分情報送信時間算出手段にて算出した前記差分情報送信時間だけ待機した後に、次に送信する分割した前記差分情報のそれぞれを、分割した前記差分情報のそれぞれに対応する前記各通信路を介して、前記他の情報処理装置へ送信する、
情報処理装置。
これによれば、前回送信した全ての差分情報が他の情報処理装置に到達し、各通信路が空いたときに次の差分情報を送信するので、各通信路を有効に利用することができる。
(付記6)
付記5に記載の情報処理装置であって、
前記通信状態取得手段は、前記他の情報処理装置の負荷の大きさを表す負荷情報を取得し、
前記差分情報送信時間算出手段は、前記通信状態取得手段にて取得した前記負荷情報にて示される負荷の大きさが予め設定された負荷の大きさよりも大きい場合に、算出した前記差分情報送信時間に予め設定された時間を加算する、
情報処理装置。
これによれば、例えば他の情報処理装置の負荷が大きいほど、差分情報送信時間を多くするので、他の情報処理装置へ過大な負荷をかけることなく差分情報を送信することができる。
(付記7)
情報処理装置にて、
更新情報を取得して、記憶部に予め記憶されたデータを更新するとともに、更新前の前記データと更新後のデータとの差分情報を取得する更新手段と、
更新前の前記データを記憶する他の情報処理装置と通信する複数の通信路のそれぞれの通信状態を取得する通信状態取得手段と、
前記通信状態取得手段にて取得した複数の通信路のそれぞれの前記通信状態に基づいて、前記更新手段にて取得した前記差分情報を、前記各通信路に対応付けて分割する差分情報分割手段と、
前記差分情報分割手段にて分割した前記差分情報のそれぞれを、分割した前記差分情報のそれぞれに対応する前記各通信路を介して、前記他の情報処理装置へ送信する送信手段と、
を実現させるためのプログラム。
(付記8)
付記7に記載のプログラムであって、
前記通信状態取得手段は、前記通信状態として、複数の前記通信路のそれぞれにて所定の大きさの情報を転送する時の転送時間を算出し、
前記差分情報分割手段は、前記通信状態取得手段にて算出した前記各通信路の前記転送時間の比に基づいて、前記更新手段にて取得した前記差分情報を、前記各通信路に対応づけて分割する、
プログラム。
(付記9)
更新情報を取得して、記憶部に予め記憶されたデータを更新するとともに、更新前の前記データと更新後のデータとの差分情報を取得し、
更新前の前記データを記憶する他の情報処理装置と通信する複数の通信路のそれぞれの通信状態を取得し、
取得した複数の通信路のそれぞれの前記通信状態に基づいて、取得した前記差分情報を分割し、
分割した前記差分情報のそれぞれを、前記各通信路に対応付けて分割した前記差分情報のそれぞれに対応する前記各通信路を介して、前記他の情報処理装置へ送信する、
情報処理方法。
(付記10)
付記9に記載の情報処理方法であって、
前記通信状態として、複数の前記通信路のそれぞれにて所定の大きさの情報を転送する時の転送時間を算出し、
算出した前記各通信路の前記転送時間の比に基づいて、取得した前記差分情報を、前記各通信路に対応づけて分割する、
情報処理方法。
なお、上記各実施形態及び付記において記載したプログラムは、記憶装置に記憶されていたり、コンピュータが読み取り可能な記録媒体に記録されている。例えば、記録媒体は、フレキシブルディスク、光ディスク、光磁気ディスク、及び、半導体メモリ等の可搬性を有する媒体である。
以上、上記各実施形態を参照して本願発明を説明したが、本願発明は、上述した実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明の範囲内で当業者が理解しうる様々な変更をすることができる。
なお、本発明は、日本国にて2012年11月2日に特許出願された特願2012−242441の特許出願に基づく優先権主張の利益を享受するものであり、当該特許出願に記載された内容は、全て本明細書に含まれるものとする、
1 通信システム
11 マスターサーバ
12 スレーブサーバ
13 通信路
21 演算部
22 メモリ
23 通信部
24 入出力部
25 記憶部
41 更新部
42 取得部
43 転送時間算出部
44 記憶制御部
45 差分情報送信時間算出部
46 差分情報分割部
51 マスターデータ
61 差分情報格納領域
62 負荷情報格納領域
63 転送時間格納領域
64 差分情報送信時間格納領域
65 分割差分情報格納領域
101 演算部
102 メモリ
103 通信部
121 負荷情報取得部
122 複製データ更新部
131 複製データ

Claims (10)

  1. 更新情報を取得して、記憶部に予め記憶されたデータを更新するとともに、更新前の前記データと更新後のデータとの差分情報を取得する更新手段と、
    更新前の前記データを記憶する他の情報処理装置と通信する複数の通信路のそれぞれの通信状態を取得するとともに、前記他の情報処理装置の負荷の大きさを表す負荷情報を、前記各通信路を介して前記他の情報処理装置に送信させることにより取得する通信状態取得手段と、
    前記通信状態取得手段にて取得した複数の通信路のそれぞれの前記通信状態に基づいて、前記更新手段にて取得した前記差分情報を、前記各通信路に対応付けて分割する差分情報分割手段と、
    前記差分情報分割手段にて分割した前記差分情報のそれぞれを、分割した前記差分情報のそれぞれに対応する前記各通信路を介して、前記他の情報処理装置へ送信する送信手段と、
    を備える情報処理装置。
  2. 請求項1に記載の情報処理装置であって、
    前記通信状態取得手段は、前記通信状態として、複数の前記通信路のそれぞれにおいて所定の大きさの情報を転送する時の転送時間を算出し、
    前記差分情報分割手段は、前記通信状態取得手段にて算出した前記各通信路の前記転送時間の比に基づいて、前記更新手段にて取得した前記差分情報を、前記各通信路に対応づけて分割する、
    情報処理装置。
  3. 請求項2に記載の情報処理装置であって、
    前記差分情報分割手段は、前記通信状態取得手段にて算出した前記各通信路の前記転送時間の比に基づいて、前記転送時間が大きくなるほど前記差分情報の大きさが小さくなり、前記転送時間が小さくなるほど前記差分情報の大きさが大きくなるように、前記差分情報を前記各通信路に対応づけて分割する、
    情報処理装置。
  4. 請求項3に記載の情報処理装置であって、
    前記差分情報分割手段は、転送時間がn番目(nは自然数)に短い一方の通信路と、転送時間がn番目に長い他方の通信路とをそれぞれ対応付けて、前記他方の通信路の転送時間を、複数の通信路の転送時間の総和で割り、その値に差分情報の大きさを掛けることにより前記一方の通信路にて送信する前記差分情報の大きさを算出するとともに、前記一方の通信路の転送時間を、複数の通信路の転送時間の総和で割り、その値に差分情報の大きさを掛けることにより前記他方の通信路にて送信する前記差分情報の大きさを算出し、算出した前記各通信路にて送信する前記差分情報の大きさのそれぞれに前記差分情報を分割する、
    情報処理装置。
  5. 請求項2乃至4に記載の情報処理装置であって、
    前記通信状態取得手段にて算出した前記各通信路の前記転送時間に基づいて、複数の前記通信路全体の通信速度を算出し、算出した前記通信速度と、前記送信手段にて送信した前記差分情報の大きさと、に基づいて差分情報送信時間を算出する差分情報送信時間算出手段、を備え、
    前記送信手段は、分割した前記差分情報のそれぞれを送信してから前記差分情報送信時間算出手段にて算出した前記差分情報送信時間だけ待機した後に、次に送信する分割した前記差分情報のそれぞれを、分割した前記差分情報のそれぞれに対応する前記各通信路を介して、前記他の情報処理装置へ送信する、
    情報処理装置。
  6. 請求項5に記載の情報処理装置であって、
    記差分情報送信時間算出手段は、前記通信状態取得手段にて取得した前記負荷情報にて示される負荷の大きさに応じた前記差分情報送信時間を算出する、
    情報処理装置。
  7. 情報処理装置にて、
    更新情報を取得して、記憶部に予め記憶されたデータを更新するとともに、更新前の前記データと更新後のデータとの差分情報を取得する更新手段と、
    更新前の前記データを記憶する他の情報処理装置と通信する複数の通信路のそれぞれの通信状態を取得するとともに、前記他の情報処理装置の負荷の大きさを表す負荷情報を、前記各通信路を介して前記他の情報処理装置に送信させることにより取得する通信状態取得手段と、
    前記通信状態取得手段にて取得した複数の通信路のそれぞれの前記通信状態に基づいて、前記更新手段にて取得した前記差分情報を、前記各通信路に対応付けて分割する差分情報分割手段と、
    前記差分情報分割手段にて分割した前記差分情報のそれぞれを、分割した前記差分情報のそれぞれに対応する前記各通信路を介して、前記他の情報処理装置へ送信する送信手段と、
    を実現させるためのプログラム。
  8. 請求項7に記載のプログラムであって、
    前記通信状態取得手段は、前記通信状態として、複数の前記通信路のそれぞれにて所定の大きさの情報を転送する時の転送時間を算出し、
    前記差分情報分割手段は、前記通信状態取得手段にて算出した前記各通信路の前記転送時間の比に基づいて、前記更新手段にて取得した前記差分情報を、前記各通信路に対応づけて分割する、
    プログラム。
  9. 更新情報を取得して、記憶部に予め記憶されたデータを更新するとともに、更新前の前記データと更新後のデータとの差分情報を取得し、
    更新前の前記データを記憶する他の情報処理装置と通信する複数の通信路のそれぞれの通信状態を取得するとともに、前記他の情報処理装置の負荷の大きさを表す負荷情報を、前記各通信路を介して前記他の情報処理装置に送信させることにより取得し、
    取得した複数の通信路のそれぞれの前記通信状態に基づいて、取得した前記差分情報を分割し、
    分割した前記差分情報のそれぞれを、前記各通信路に対応付けて分割した前記差分情報のそれぞれに対応する前記各通信路を介して、前記他の情報処理装置へ送信する、
    情報処理方法。
  10. 請求項9に記載の情報処理方法であって、
    前記通信状態として、複数の前記通信路のそれぞれにて所定の大きさの情報を転送する時の転送時間を算出し、
    算出した前記各通信路の前記転送時間の比に基づいて、取得した前記差分情報を、前記各通信路に対応づけて分割する、
    情報処理方法。
JP2014544237A 2012-11-02 2013-10-17 情報処理装置 Active JP6102937B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012242441 2012-11-02
JP2012242441 2012-11-02
PCT/JP2013/006155 WO2014068877A1 (ja) 2012-11-02 2013-10-17 情報処理装置

Publications (2)

Publication Number Publication Date
JPWO2014068877A1 JPWO2014068877A1 (ja) 2016-09-08
JP6102937B2 true JP6102937B2 (ja) 2017-03-29

Family

ID=50626829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014544237A Active JP6102937B2 (ja) 2012-11-02 2013-10-17 情報処理装置

Country Status (3)

Country Link
US (1) US9871698B2 (ja)
JP (1) JP6102937B2 (ja)
WO (1) WO2014068877A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6517753B2 (ja) * 2016-06-30 2019-05-22 株式会社東芝 マスターサーバ、テーブル更新方法、およびプログラム
EP3572932A4 (en) * 2017-02-28 2020-12-23 Nippon Telegraph and Telephone Corporation COMMUNICATION PROCESSING DEVICE, INFORMATION PROCESSING DEVICE AND COMMUNICATION PROCESSING DEVICE CONTROL PROCESS

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4187302B2 (ja) 1998-03-25 2008-11-26 富士通株式会社 リレーショナルデータベース同期方法およびそのプログラムを記録した記録媒体
JP3429707B2 (ja) * 1999-06-30 2003-07-22 株式会社次世代情報放送システム研究所 送信装置および送信方法、受信装置および受信方法、ならびに、送受信システムおよび送受信方法
US20030051055A1 (en) * 2001-06-04 2003-03-13 Nct Group, Inc. System and method for modifying a data stream using element parsing
JP2003015926A (ja) * 2001-06-28 2003-01-17 Nec Corp 更新差分抽出システム、方法及びプログラム
JP4153324B2 (ja) * 2003-01-31 2008-09-24 松下電器産業株式会社 差分データ生成装置及び方法、更新後データ復元装置及び方法、並びにプログラム
JP2008293218A (ja) 2007-05-23 2008-12-04 Nec Corp ファイル管理システム、ファイル管理方法、ファイル管理プログラム
JPWO2012108015A1 (ja) * 2011-02-09 2014-07-03 富士通株式会社 データ同期方法、データ同期プログラム、及びデータ同期制御装置

Also Published As

Publication number Publication date
US9871698B2 (en) 2018-01-16
US20150295753A1 (en) 2015-10-15
WO2014068877A1 (ja) 2014-05-08
JPWO2014068877A1 (ja) 2016-09-08

Similar Documents

Publication Publication Date Title
US20200364084A1 (en) Graph data processing method, method and device for publishing graph data computational tasks, storage medium, and computer apparatus
CN110291509B (zh) 在分散存储网络的区域中存储数据的方法和系统
US8458284B2 (en) Systems and methods for efficient live application migration within bandwidth constrained networks
US9569742B2 (en) Reducing costs related to use of networks based on pricing heterogeneity
CN108370346A (zh) 用于存储和传送消息数据的系统和方法
CN104866430B (zh) 结合主从备份和纠删码的内存计算系统高可用优化方法
WO2013149381A1 (en) Platform for continuous graph update and computation
CN107292326A (zh) 一种模型的训练方法和装置
US9374418B2 (en) Systems, methods and algorithms for logical movement of data objects
CN107656937A (zh) 用于实现读写数据一致性的方法和装置
JP5741254B2 (ja) 送信制御方法、装置及びプログラム
US20120224482A1 (en) Credit feedback system for parallel data flow control
TW201824015A (zh) 分散式存儲方法、電子裝置及電腦可讀存儲介質
JP6102937B2 (ja) 情報処理装置
EP3499378B1 (en) Method and system of sharing product data in a collaborative environment
US11838207B2 (en) Systems for session-based routing
CN103780426A (zh) 云存储数据的一致性维护方法及云存储系统
JP4948590B2 (ja) 広告制御装置及び方法
CN114745438B (zh) 多数据中心的缓存数据处理方法、装置、系统和电子设备
US9348853B2 (en) Mobile application cache based on extreme scale technology
CN112363674B (zh) 一种数据写入方法和装置
US10666727B2 (en) Distributed processing network operations
US20150156264A1 (en) File access optimization using strategically partitioned and positioned data in conjunction with a collaborative peer transfer system
KR101530346B1 (ko) 분산 파일 시스템 및 방법
JP2013182430A (ja) レプリケーションシステム、情報処理装置、レプリケーション方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160614

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160802

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170213

R150 Certificate of patent or registration of utility model

Ref document number: 6102937

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150