JP2013206209A - 制御プログラム、制御方法、記憶制御装置および情報処理システム - Google Patents

制御プログラム、制御方法、記憶制御装置および情報処理システム Download PDF

Info

Publication number
JP2013206209A
JP2013206209A JP2012075374A JP2012075374A JP2013206209A JP 2013206209 A JP2013206209 A JP 2013206209A JP 2012075374 A JP2012075374 A JP 2012075374A JP 2012075374 A JP2012075374 A JP 2012075374A JP 2013206209 A JP2013206209 A JP 2013206209A
Authority
JP
Japan
Prior art keywords
data
control device
storage control
transmission
storage
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.)
Granted
Application number
JP2012075374A
Other languages
English (en)
Other versions
JP5853819B2 (ja
Inventor
Mihoko Maeda
美穂子 前田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012075374A priority Critical patent/JP5853819B2/ja
Priority to US13/751,561 priority patent/US9069834B2/en
Publication of JP2013206209A publication Critical patent/JP2013206209A/ja
Application granted granted Critical
Publication of JP5853819B2 publication Critical patent/JP5853819B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • G06F16/273Asynchronous replication or reconciliation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2094Redundant storage or storage space
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】データの変更要求が、データの同期対象の、どの記憶装置で受信した場合であっても、データを受信した記憶装置以外の他の記憶装置が、データの変更要求を受信した時間を特定すること可能とすることを目的とする。
【解決手段】送信元の記憶制御装置に、送信元の記憶制御装置が有する記憶部に記憶された同期対象のデータを変更データに変更する要求を情報処理装置から受信させ、要求に含まれる、送信先の記憶制御装置が有する記憶部において同期対象のデータに対応するデータが記憶されたアドレスを特定するアドレス情報を抽出させ、要求を受信した時間を特定する時間情報を生成させ、抽出されたアドレス情報と生成された時間情報とを含み、送信先の記憶制御装置に記憶された対応するデータを変更データに変更する変更要求を、送信元の記憶制御装置から送信先の記憶制御装置に対して送信させる。
【選択図】図3

Description

本発明は制御プログラム、制御方法、記憶制御装置および情報処理システムに関する
従来、複数の記憶装置間でデータを同期する技術が存在する。複数の記憶装置間でデータを同期することで、例えば、ある記憶装置で障害が発生し、データが消失してしまった場合でも、他の記憶装置に消失したデータと同様のデータが記憶されているため、データの消失を防ぐことが可能である。特に、データが集約されるデータセンタなどでは、データセンタに記憶されたデータを他のデータセンタにコピーすることが従来実施されている。また、複数の記憶装置間でデータを同期する技術が存在する。
特開2008−299481号公報
http://www−m3.ma.tum.de/foswiki/pub/MN0506/WebHome/dijkstra.pdf
例えば、データの同期が行われる複数のデータセンタに同期対象のデータが記憶されている場合、無線通信機能を有するPC(Personal Computer)などの情報処理装置(端末)を用いて、最も高速にアクセス可能なデータセンタを適宜選択して、データにアクセスするということが可能である。
しかしながら、従来技術においては、2つ以上の記憶装置間でデータの同期が行われる場合に、それぞれの記憶装置でデータの変更が発生する時間の差、および、同期を行うためのデータの送信に必要な時間により、同期するデータに不整合が生ずるおそれがある。例えば、端末から、データの変更を要求する、異なる2つのデータ変更要求が異なる2つの記憶装置それぞれに発生したとする。変更要求を受信した記憶装置それぞれは、データを同期する他の記憶装置にデータの反映を実行するが、データを同期する他の記憶装置は、どちらのデータ変更要求が早いかを判断することができない。つまり、データの変更要求を受信した時間を特定することができない。
具体的な例を挙げると、図18に示すようなデータ1を同期して記憶するデータセンタA〜Dを考える。図18に示すように、データセンタAからデータセンタCにデータを送信するために、2.0秒かかり、データセンタAからデータセンタDにデータを送信するために、6.0秒かかるとする。また、データセンタBからデータセンタCにデータを送信するために、6.0秒かかり、データセンタBからデータセンタDにデータを送信するために、2.0秒かかるとする。また、データセンタAからデータセンタB、あるいはデータセンタBからデータセンタAにデータを送信するために、4.0秒かかるとする。
ここで、9:00:00の時刻に、データ1をデータ2に変更するデータ変更要求がデータセンタAに対して発生し、9:00:02の時刻に、データ1をデータ3に変更するデータ変更要求がデータセンタBに対して発生したとする。この場合、データ2への変更よりも後にデータ3への変更が発生しているので、一連の変更が反映された後には、データセンタA〜Dそれぞれで、データ1がデータ3に変更されるべきである。
しかしながら、データセンタDでは、データセンタBに発生したデータ変更についてのデータ変更要求を先に受信してしまうため、データの受信順に変更を実行した場合、データ2が最新のデータとして記憶されてしまう。データセンタBについても同様のことが言える。したがって、データセンタA〜Dで、記憶されるデータの内容に不整合が発生してしまうので、端末がデータセンタを任意に選択してデータにアクセスする態様には適用できない。
本発明はこのような課題を解決し、データの変更要求が、データの同期対象の、どの記憶装置で受信した場合であっても、データを受信した記憶装置以外の他の記憶装置が、データの変更要求を受信した時間を特定すること可能とすることを目的とする。
1つの案では、送信元の記憶制御装置に、送信元の記憶制御装置が有する記憶部に記憶された同期対象のデータを変更データに変更する要求を情報処理装置から受信させ、要求に含まれる、送信先の記憶制御装置が有する記憶部において同期対象のデータに対応するデータが記憶されたアドレスを特定するアドレス情報を抽出させ、要求を受信した時間を特定する時間情報を生成させ、抽出されたアドレス情報と生成された時間情報とを含み、送信先の記憶制御装置に記憶された対応するデータを変更データに変更する変更要求を、送信元の記憶制御装置から送信先の記憶制御装置に対して送信させる。
本発明の1つの態様によれば、情報処理装置からデータを変更する要求を送信元の記憶装置が受信した時間を、送信先の記憶装置が特定することが可能である。
本発明を実施する形態について説明する。
図1は、記憶装置101〜105が接続される本実施例の情報処理システム100を示す図である。本実施例においては、図1に示す記憶装置101〜105でデータを同期する態様を考える。つまり、記憶装置101〜105に記憶されるデータの同期が行われる。記憶装置101〜105は、例えば、それぞれが記憶部と、記憶部を制御する制御部を有するデータセンタであっても良い。
図1中のa〜gは記憶装置間を結ぶ通信経路を表す。各通信経路が結ぶ記憶装置を下記に示す。
通信経路a:記憶装置101−記憶装置102間
通信経路b:記憶装置101−記憶装置105間
通信経路c:記憶装置104−記憶装置105間
通信経路d:記憶装置101−記憶装置104間
通信経路e:記憶装置102−記憶装置103間
通信経路f:記憶装置103−記憶装置104間
通信経路g:記憶装置102−記憶装置104間
上記のように、記憶装置101〜105のそれぞれは、自装置以外の少なくとも1つの記憶装置101〜105と接続されている。さらに、記憶装置101〜105のそれぞれは、記憶装置のデータを変更する要求を記憶装置に対して送信する情報処理装置110と接続される。記憶装置101〜105と、情報処理装置110の接続は、記憶装置101〜105と、情報処理装置110とが、それぞれに無線部120、121を備え、無線通信を行うことで接続されても良い。また、図1においては、一例として、情報処理装置110が1つの場合を図示しているが、情報処理装置の台数は図1に示す態様に限定されるものではない。
記憶装置101〜105はさらに、図1に示すようにインターネットを介してNTP(Network Time Protcol)サーバ130に接続され、記憶装置が有する時計の時刻の同期を行うこととしても良い。
図2は、記憶装置101のハードウェア構成の一例を示す図である。記憶装置101は、制御装置201と、制御装置201が制御する記憶部205を有する。
制御装置201は、CPU(Central Processing Unit)202、メモリ203、記憶部側アダプタ204、ネットワーク側アダプタ206、無線制御部207を備え、それぞれがバスを介して相互に通信可能に接続されている。
CPU202は、制御装置201と接続される記憶部205の制御を行う。メモリ203は、記憶部205の制御に必要な情報を記憶する。また、記憶部205は、CPU202が実行するプログラムを記憶する。
制御装置201は、記憶部側アダプタ204を介して、記憶部205と接続される。記憶部側アダプタ204と記憶部205との接続には、例えばSCSI(Small Computer System Interface)を用いることが可能である。記憶部205としては、例えば磁気ディスク記憶装置や半導体記憶装置を用いることが可能である。また、制御装置201に対して、記憶装置205は複数接続されていても良い。
制御装置201はネットワーク側アダプタ206を介して、記憶装置102〜105、あるいは情報処理装置110と接続可能である。
無線部120は、例えば、無線通信の基地局であり、無線制御部207は基地局を介して、データの送受信を実行する。
尚、本実施例の場合、記憶装置102〜105については、記憶装置101と同様のハードウェア構成であって良い。
図3は制御装置201の機能ブロック図である。本実施例の記憶装置101は、送受信部301、グループ決定部302、応答時間計測部303、経路決定部304、ID(Identifier)生成部305、排他処理部306、データ更新部307を備える。
また、制御装置201は、データ記憶部311、識別番号情報記憶部312、応答時間情報記憶部313、送信経路情報記憶部314、排他処理情報記憶部315を備える。各部の実行する動作については後述する。
図3に示す302〜307の各部は、例えば、CPU202が、記憶部205に記憶されたプログラムを実行することにより実現されても良い。送受信部301の例としては、図2に示すネットワーク側アダプタ206や無線制御部207のようなインタフェースユニットを用いることもできる。データ記憶部311は、記憶部205を用いて実現されても良い。また、識別番号記憶部312、応答時間情報記憶部313、送信経路情報記憶部314、排他処理情報記憶部315は、メモリ203や記憶部205を用いて実現されても良い。
〔グループの定義〕
まず、データの同期を行う記憶装置のグループを定義する。尚、同期の対象となるデータは、前述したデータ記憶部311に記憶される。データの同期を行う記憶装置のグループはあらかじめ定義されることも可能であり、例えば、GUI(Graphycal User Interface)を用いた設定や、所定の入力動作を、例えば図1に示す情報処理システム100の管理者が情報処理装置110を用いて実行することで定義されても良い。
図4に、制御部201の識別番号記憶部312に記憶される識別番号400の態様を示す。どの記憶装置とデータを同期するかは、図4に示すように、記憶装置を識別する識別番号を、グループ決定部302が、識別番号記憶部312に記憶することで定義する。図4の識別番号400には、記憶装置101〜105を識別するために装置それぞれに割り当てられた識別番号である0x0001〜0x0005が含まれる。尚、本実施例では、これらの識別番号の形式は16進数である。図4に示す識別番号400の場合、記憶装置101、記憶装置102、記憶装置103、記憶装置104、記憶装置105がデータを同期するグループとして定義されていることを示している。尚、図4は、データの同期を行う記憶装置のグループを定義する手法の1つであり、グループを定義する手法は、図4の態様以外で実現されても良い。
〔応答時間の計測〕
データの同期を行うグループが定義された後、記憶装置101〜105の応答時間計測部303は、自装置と直接接続している記憶装置にデータを送信するときの応答時間を計測する。ここで、直接接続とは、2つの記憶装置が他の記憶装置を介することなく接続している態様を指す。例えば、図1に示す記憶装置101の場合、記憶装置101は、通信経路aにより記憶装置102と、通信経路bにより記憶装置105と、通信経路dにより記憶装置104と直接接続している。そして、記憶装置101の応答時間計測部303は、記憶装置102、104、105にデータを送信するときの応答時間を計測する。ここで、応答時間とは、データの送信元の記憶装置(送信元装置)が、データの送信先の記憶装置(送信先装置)にデータを送信してから、送信先装置がデータを受信し、送信先からの応答を受信するまでの時間を意味する。
応答時間を計測する手法としては、例えば、応答時間計測部303が他の記憶装置に応答時間測定用パケットを送信し、応答時間測定用パケットの宛先である他の記憶装置から、応答時間測定用パケットの受領を通知する応答(受信応答パケット)を受信するまでの時間を計測し、応答時間としても良い。ここで、前述した応答時間測定用パケットおよび受信応答パケットは、例えば、送信データを含まない、いわゆる空パケットを用いて良い。
図5は、応答時間情報記憶部313に記憶される情報である応答時間情報500である。応答時間計測部303は、計測した応答時間を応答時間情報記憶部313に記憶する。図5に示す応答時間情報500は、記憶装置101の応答時間計測部303が送受信部301を介して応答時間測定用パケットをした結果、記憶装置102に対する応答時間は4.5秒、記憶装置104に対する応答時間は3.0秒、記憶装置105に対する応答時間は7.5秒であったことを示している。尚、図5および後述する図7において、送信元識別番号は応答時間測定用パケットを送信して応答時間を計測した記憶装置の識別番号であり、送信先識別番号は、応答時間測定用パケットの送信先の記憶装置(応答時間の計測対象の記憶装置)の識別番号である。
ところで、この応答時間の計測は、応答時間計測部303によって定期的に行われても良い。
図6は、本実施例において、応答時間計測部303が定期的に行う処理の一例を示すシーケンス図である。
図6のシーケンス図について説明する。まず、送信元装置の応答時間計測部303は、自装置と直接接続している送信先装置に、送受信部301を介して応答時間計測用パケットを送信する(S601)。
送信先装置は、送信元装置が送信した応答時間計測用パケットを受信する(S602)。そして、応答時間計測用パケットに対する受信応答パケットを、送信元装置に対して送信する(S603)。
送信元装置の応答時間計測部303は、送信先装置が送信した受信応答パケットを受信する(S604)。そして、ステップS601で応答時間計測用パケットを送信してから、ステップS604で送信先装置が送信した受信応答パケットを受信するまでの時間を、送信先装置に対する応答時間として、応答時間情報記憶部313に記憶する(S605)。尚、自装置と直接接続している送信先装置が複数ある場合、応答時間計測部303は、ステップS601〜ステップS605の処理を、送信先装置それぞれに対して実行する。例えば、送信元装置が図1の記憶装置101である場合、応答時間計測部303は、記憶装置102、104、105のそれぞれに対して、ステップS601〜ステップS605の処理を実行する。
ステップS605で応答時間を記憶した後、送信元装置の応答時間計測部303は、送信先装置の応答時間情報記憶部312に記憶された応答時間を送信元装置に送信する要求(応答時間送信要求パケット)を、送信先装置に対して送信する(S606)。
送信先装置は、送信先装置の応答時間情報記憶部312に記憶された応答時間を送信元装置に送信する要求を送受信部301で受信する(S607)。そして、送信先装置の応答時間情報記憶部312に記憶された応答時間情報を送信元装置に送信する(S608)。
送信元装置は、送信先装置が送信した応答時間情報を送受信部301で受信する(S609)。そして、ステップS609で送受信部301が受信した応答時間情報に基づいて、送信元装置の応答時間情報記憶部312に記憶された応答時間情報を更新する(S610)。尚、応答時間情報記憶部313に応答時間情報がこの時点で記憶されていない場合は、応答時間情報を新たに生成した応答時間情報記憶部313に記憶することとしても良い。
図6に示す処理の手順では、応答時間計測部303が応答時間計測後に応答時間送信要求パケットを送信し、応答時間送信要求パケットを受けた記憶装置が、応答時間送信要求パケットを行った記憶装置に応答時間情報を送信することとしたが、応答時間情報を取得する手順はこれに限定されない。例えば、ステップS605の処理を終えた後に、送信元装置の応答時間送信部303は、送信先装置にステップS605で自装置の応答時間情報記憶部312に記憶された応答時間情報を送信し、送信先装置が、送信元装置が送信した応答時間情報を受信することとしても良い。
また、応答時間の計測と、応答時間情報の送信および受信は、図6に示すような一連の処理として行う必要性は必ずしもなく、それぞれの処理は独立して実行されるものであっても良い。
図7は、前述したステップS601〜S610の手順を記憶装置101〜105のそれぞれが実行することで、記憶装置101〜105のそれぞれが有する応答時間情報記憶部313に記憶される応答時間情報700である。図7に示す応答時間情報700は、記憶装置101〜105それぞれが計測した応答時間情報をまとめて記憶したものである。送信元識別番号701は、送信元装置を識別する識別番号である。送信先識別番号702は、送信先装置を識別する識別番号である。応答時間703は、計測された応答時間を示す情報である。
応答時間情報700のうち、応答時間情報710は、記憶装置101が送信元装置として応答時間を計測した結果である。応答時間情報711は、記憶装置102が送信元装置として応答時間を計測した結果である。応答時間情報712は、記憶装置103が送信元装置として応答時間を計測した結果である。応答時間情報713は、記憶装置104が送信元装置として応答時間を計測した結果である。応答時間情報714は、記憶装置105が送信元装置として応答時間を計測した結果である。
以後、本実施例においては、記憶装置101〜105それぞれの応答時間情報記憶部313に、図7に示す応答時間情報700が記憶される。
〔送信経路の決定〕
記憶装置101〜105のいずれかが、データ記憶部311に記憶されたデータを変更する変更要求を情報処理装置110から受信した場合、以下の処理を実行する。すなわち、データの変更要求を受信した記憶装置が、データを自装置以外の記憶装置と同期するため、データの変更を反映させるためのデータを送信する要求(データ送信要求パケット)およびデータの変更に必要な情報等を他の記憶装置に送信する経路(送信経路)を決定する。
図8は、本実施例において、データ送信要求パケットおよびデータの変更に必要な情報等を送信する記憶装置(以下、コピー元装置と記載する)の経路決定部304が実行する、送信経路を決定する処理の手順を示すフローチャートである。記憶装置101〜105が送信経路を決定する手順を、図8を用いて説明する。
経路を決定する処理を開始する前に、コピー元装置の経路決定部304は、送信経路情報記憶部314に送信経路が記憶されている場合、送信経路情報記憶部314に記憶されている、送信経路を特定する情報を消去(初期化)する(S801)。ここで、経路決定部304は、記憶されていた送信経路の情報をメモリ203の、送信経路情報記憶部314と異なる他の記憶領域に記憶してから送信経路情報記憶部314に記憶されている送信経路の情報を消去することとしても良い。そして、経路決定部304は、後述する処理により新たな送信経路が決定した後、メモリ203の他の記憶領域に記憶した送信経路の情報を消去することとしても良い。記憶されていた送信経路の情報をメモリ203の、送信経路情報記憶部314と異なる他の記憶領域に記憶する処理を実行することにより、送信経路の情報の消失を抑止することができる。すなわち、経路決定部304が送信経路を決定する処理の実行中に、データの同期を行う場合でも、記憶装置は、メモリ203の他の記憶領域に記憶した送信経路の情報に基づいて、データをする送信経路を特定することができる。
ステップS801の処理を実行後、経路決定部304は、識別番号記憶部312に記憶された識別番号400を参照する。そして、識別番号400に含まれる識別番号0x0001〜0x0005で特定される記憶装置101〜105の識別番号の中から、識別番号を1つ選択する(S802)。例えば、コピー元装置が記憶装置101以外の記憶装置である場合であれば、識別番号の小さい順に、ここでは識別番号=0x0001を選択することとして良い。また、識別番号の大きい順に識別番号を選択することとしても構わない。この後、経路決定部304は、このステップS802で選択した記憶装置(以後、コピー先記憶装置と記載する)に対してデータを送信する送信経路を算出する処理を実行する。
経路決定部304は、コピー先記憶装置を経由する送信経路を特定する情報が送信経路情報記憶部314に記憶されているかを判定する(S803)。例として、コピー先装置として記憶装置102が選択され、送信経路情報記憶部314に「記憶装置103から、記憶装置102を経由し、記憶装置101にデータを送信する送信経路」を特定する情報が記憶されているとする。「記憶装置103から、記憶装置102を経由し、記憶装置101にデータを送信する送信経路」を特定する情報が記憶されている場合、経路決定部304は、記憶装置102を経由する送信経路を特定する情報が送信経路情報記憶部314に記憶されていると判定する。
判定の結果、コピー先記憶装置を経由する送信経路を特定する情報が送信経路情報記憶部314に記憶されていると経路決定部304が判定した場合、経路決定部304は、ステップS806の処理を実行する。
一方、コピー先記憶装置を経由する送信経路を特定する情報が送信経路情報記憶部314に記憶されていないと経路決定部304が判定した場合、経路決定部304は、ステップS804の処理を実行する。尚、送信経路情報記憶部314に送信経路を特定する情報が記憶されていない場合、経路決定部304は、コピー先装置を経由する送信経路を特定する情報が送信経路情報記憶部314に記憶されていないと判定し、ステップS804の処理を実行する。
ステップS804において、経路決定部304は、選択した記憶装置にデータを送信する応答時間が最も短い送信経路を決定する。決定の方法は、例えば、応答時間情報500を参照し、ダイクストラ法(非特許文献1参照)などの、最短経路を求める手法を用いて決定することが可能である。ステップS804における具体的な手法については説明を後述する。
応答時間が最も短い送信経路を決定した後、経路決定部304は、決定した送信経路を特定する情報を、コピー先装置にデータを送信する送信経路を特定する情報として送信経路情報記憶部314に記憶する(S805)。
ステップS805の処理終了後、経路決定部304は、識別番号400に含まれる識別番号が、ステップS802ですべて選択されたかを判定する(S806)。識別番号400に含まれる識別番号の中で、ステップS802において選択されていない識別番号がある場合は、ステップS802の処理に戻り、経路決定部304は、選択していない記憶装置の中から1つを選択してステップS803以降の処理を繰り返す。一方、識別番号400に示される識別番号がすべて選択されたと判定した場合は、ステップS807の処理を実行する。
例えば、コピー元装置が記憶装置103であり、ステップS802で、識別番号=0x0001が選択済みであり、識別番号=0x0002、0x0004、0x0005が選択されていない場合、ステップS802の処理に戻る。一方、例えば、コピー元装置が記憶装置103であり、ステップS802で、識別番号=0x0001、0x0002、0x0004、0x0005が選択済みである場合、経路決定部304はステップS807の処理を実行する。
ステップS807において、経路決定部304は、送信経路情報記憶部314に記憶された送信経路情報により特定される送信経路の中に、他の送信経路に含まれる送信経路があるかを判定する。他の送信経路に含まれる送信経路を特定する情報が記憶されている場合、経路決定部304は、他の送信経路に含まれる送信経路を特定する情報を、送信経路情報記憶部314から消去する(S808)。一方、ステップS807で他の送信経路に含まれる送信経路が記憶されていない場合、経路決定部304はステップS808の処理は実行せずに、経路決定処理を終了する。
具体例を用いて説明すると、例えば、コピー元装置が記憶装置103であり、記憶装置103の送信経路情報記憶部314には、下記の送信経路を特定する情報が記憶されているとする。
「記憶装置103をコピー元装置として、記憶装置102を経由し、コピー先の記憶装置101にデータを送信する送信経路」(送信経路1)
「記憶装置103をコピー元装置として、記憶装置104を経由し、コピー先の記憶装置105にデータを送信する送信経路」(送信経路2)
「記憶装置103をコピー元装置として、コピー先の記憶装置104にデータを送信する送信経路」(送信経路3)
送信経路3は、送信経路2の一部であり、送信経路2に含まれるため、経路決定部304は、送信経路3を特定する情報を送信経路記憶部314から消去する(S808)。
ステップS808の処理実行後、経路決定部304は、図8に示す経路決定処理を終了する。
以上の手順によって、コピー元装置から、コピー先装置にデータを送信する送信経路を決定することが可能である。上記の手順によれば、データをコピー先記憶装置へ送信するときの、応答時間の合計(合計応答時間)が最も短い送信経路を決定して、送信経路情報記憶部314に記憶することが可能である。また、他の送信経路に含まれる経路を消去することで、より効率の良い送信経路を決定することができる。尚、図8に示す処理は、経路決定部304によって定期的に実行されることとしても良い。
図9は、送信経路情報記憶部313に記憶される情報の一例である。ステップS805において、経路決定部304は、例えば図9に示す送信経路情報900のような、送信経路を特定する情報を送信経路情報記憶部313に記憶することとしても良い。送信経路情報900の一部である送信経路情報910は、前述した送信経路1を特定する情報である。また、送信経路情報900の一部である送信経路情報911は、前述した送信経路2を特定する情報である。
前述したステップS804において、経路決定部304が実行する、合計応答時間が最も短い送信経路を算出する処理において、ダイクストラ法を用いて記憶装置103から記憶装置101にデータを送信する際に、合計応答時間が最も短い算出する場合を説明する。
まず、コピー元装置を記憶装置103に設定する。次に、記憶装置103と直接接続している記憶装置に対する応答時間を算出する。ここで、記憶装置103と直接接続している記憶装置は、記憶装置102、104である。記憶装置102、104に対する記憶装置103の応答時間は、例えば、応答時間情報記憶部313に記憶された応答時間情報に基づいて算出することとしても良い。ここで、応答時間情報500を参照すると、記憶装置103の記憶装置102に対する応答時間は2.0秒、記憶装置103の記憶装置104に対する応答時間は3.0秒である。
経路決定部304は、記憶装置102、104のそれぞれの識別番号と、応答時間と、直前に経由した記憶装置の識別番号とを対応付けて記憶する。この場合は、経由した記憶装置はないので、コピー元装置である記憶装置103の識別番号を記憶する。そして、記憶装置103の識別番号と対応付けて、「処理済みフラグ」を付与する。ここで、「処理済みフラグ」とは、最も短い合計応答時間を算出する処理が終了した記憶装置の識別番号に付与されるフラグである。例えば、前述した記憶装置103は、コピー元装置であるため、応答時間が0秒である。したがって、記憶装置103に対しては、最も短い合計応答時間を算出する処理が終了したので、「処理済みフラグ」が付与される。
次に、応答時間が算出された記憶装置の中で、合計応答時間が最も短い応答時間の記憶装置を選択する。尚、「処理済みフラグ」が付与された識別番号に対応する記憶装置は選択の対象から除外する。この場合は、応答時間が2.0秒である記憶装置102が。
次に、経路決定部304は、記憶装置102と直接接続している記憶装置に対する応答時間を算出する。ここで、応答時間情報500を参照すると、記憶装置102の記憶装置101に対する応答時間は4.5秒、記憶装置103の記憶装置104に対する応答時間は1.5秒である。
経路決定部304は、記憶装置102の記憶装置101に対する応答時間、および記憶装置103の記憶装置104に対する応答時間に、記憶装置102に対応付けて記憶された応答時間を加えた値を合計応答時間として算出する。具体的には、経路決定部304は、記憶装置102の記憶装置101に対する応答時間2.0秒に記憶装置102に対応付けて記憶された応答時間4.5秒を加えた値である6.5秒を、記憶装置101に対応する合計応答時間として算出する。また、経路決定部304は、記憶装置102の記憶装置101に対する応答時間2.0秒に記憶装置102に対応付けて記憶された応答時間1.5秒を加えた値である3.5秒を、記憶装置101に対応する合計応答時間として算出する。
経路決定部304は、記憶装置101、104の識別番号と対応付けて合計応答時間が記憶されているかを判定する。ここで、記憶装置101の識別番号と対応付けて記憶された合計応答時間は記憶されてない。一方、記憶装置104の識別番号と対応付けて記憶された応答時間3.5秒が記憶されている。
経路決定部304は、記憶装置101の識別番号と、記憶装置101に対応する合計応答時間と、直前に経由した記憶装置の識別番号とを対応付けて記憶する。この場合は、直前に経由した記憶装置の識別番号として、記憶装置102の識別番号を記憶する。
一方で、記憶装置の識別番号と対応付けて記憶された合計応答時間が記憶され、且つ、その合計応答時間が、算出した合計応答時間の値以下である場合は、算出した合計応答時間情報は記憶しない。例えば、記憶装置104の識別番号と対応付けて記憶された応答時間3.0秒は、記憶装置101に対応する合計応答時間として算出した3.5秒以下の値であるので、このような場合、算出した合計応答時間である3.5秒は記憶せず、識別番号も更新しない。そして、記憶装置102の識別番号と対応付けて、「処理済みフラグ」を付与する。
次に、応答時間が算出された記憶装置の中で、合計応答時間が最も短い記憶装置を選択する。尚、「処理済みフラグ」が付与された識別番号に対応する記憶装置は選択の対象から除外する。この場合、合計応答時間が最も短い記憶装置は応答時間が3.0である記憶装置104である。
次に、経路決定部304は、記憶装置104と直接接続している記憶装置に対する応答時間を算出する。ここで、記憶装置103、記憶装置102には「処理済みフラグ」が付与されているため、処理の対象から外す。
応答時間情報500を参照すると、記憶装置102の記憶装置101に対する応答時間は4.0秒、記憶装置103の記憶装置104に対する応答時間は4.5秒である。
経路決定部304は、記憶装置102の記憶装置101に対する応答時間、および記憶装置103の記憶装置104に対する応答時間に、記憶装置102に対応付けて記憶された応答時間を加えた値である合計応答時間を算出する。具体的には、経路決定部304は、記憶装置104の記憶装置101に対する応答時間4.0秒に記憶装置102に対応付けて記憶された応答時間3.0秒を加えた値である7.5秒を、記憶装置101に対応する合計応答時間として算出する。また、経路決定部304は、記憶装置104の記憶装置105に対する応答時間4.5秒に記憶装置102に対応付けて記憶された応答時間3.0秒を加えた値である7.5秒を、記憶装置105に対応する合計応答時間として算出する。
経路決定部304は、記憶装置101、105の識別番号それぞれについて、識別番号と対応付けて応答時間または合計応答時間が記憶されているかを判定する。ここで、記憶装置105の識別番号と対応付けて記憶された応答時間は記憶されてない。一方、記憶装置101の識別番号と対応付けて記憶された応答時間6.5秒が記憶されている。
経路決定部304は、記憶装置105の識別番号と、記憶装置105に対応する合計応答時間と、直前に経由した記憶装置の識別番号とを対応付けて記憶する。この場合は、直前に経由した記憶装置の識別番号として、記憶装置104の識別番号を記憶する。
一方で、識別番号と対応付けて記憶された合計応答時間が記憶され、且つ、その応答時間が算出した合計応答時間の値以下である場合は、算出した合計応答時間情報は記憶しない。例えば、記憶装置101の識別番号と対応付けて記憶された応答時間6.5秒は、記憶装置101に対応する合計応答時間として算出された7.0秒以下の値であるので、このような場合、算出した合計応答時間は記憶せず、識別番号も更新しない。そして、記憶装置103の識別番号と対応付けて、「処理済みフラグ」を付与する。
次に、応答時間が算出された記憶装置の中で、合計応答時間が最も短い記憶装置を選択する。尚、「処理済みフラグ」が付与された識別番号に対応する記憶装置は選択の対象から除外する。この場合は、応答時間が6.5である記憶装置101である。ここで、記憶装置101はコピー先装置に設定された記憶装置であるので、これより、記憶装置103から記憶装置101にデータを送信するときの、最も短い合計応答時間は6.5秒であることが分かる。
図10は、ダイクストラ法を用いて、合計応答時間が最も短い経路が決定された結果を表す図である。記憶装置101に対応付けて記憶された、直前に経由した記憶装置の識別番号は記憶装置102の識別番号である。そして、記憶装置102に対応付けて記憶された、直前に経由した記憶装置の識別番号は、コピー元装置である記憶装置103の識別番号である。したがって、記憶装置103から記憶装置101にデータを送信するとき、合計応答時間が最も短い送信経路は、「記憶装置103から記憶装置102を経由し記憶装置101にデータを送信する送信経路」であることが分かる。
以上のように、コピー元装置からコピー先装置にデータを送信するときの合計応答時間が最も短い送信経路が決定される。説明に用いた例では、記憶装置103から記憶装置101にデータを送信する送信経路を決定する場合であるが、記憶装置103から記憶装置101にデータを送信する送信経路以外の送信経路についても同様の手順で、合計応答時間が最も短い送信経路を求めることが可能である。
〔データ送信の手順〕
図11は、データを変更する変更要求やデータの変更に必要な情報等を送信するコピー元装置が実行する処理の手順を示すフローチャートである。
まず、コピー元装置の送受信部301が、データ記憶部311に記憶したデータを変更する変更要求を情報処理装置110から受信する(S1101)。
ID生成部305は、自装置の識別番号と、情報処理装置110から変更要求を受信した時刻に基づいて、処理IDを生成する(S1102)。ここで、ID生成部305が生成する処理IDは、例えば、情報処理装置110からの変更要求を受信した記憶装置と、その変更要求を受信した時刻とを特定する情報として用いられる。処理IDの態様については後述する。
次に、コピー元装置のデータ更新部307は、送信経路情報記憶部314に記憶された送信経路情報を参照する(S1103)。そして、送信経路情報によって特定される送信経路を介して、データの変更を反映させるためのデータを、コピー先装置に送信することを通知する要求(データ送信要求パケット)を、コピー先装置に送信する(S1104)。
データ送信要求パケットを、送受信部301を介してコピー先装置に送信した後、コピー元装置は、定期的に送信先から応答を受信したかを確認しながら、コピー先装置から、データ送信要求パケットに対する応答があるまで待機する(S1105)。
コピー先装置からの応答を受信した場合(S1105、Yes)、コピー元装置の排他処理部306は、自装置のデータ記憶部311に記憶されたデータを、ステップ1101で送受信部301が受信した変更要求に基づいて変更可能であるかを判定する(S1106)。ステップS1106の判定は、例えば、ステップS1101で送受信部301が受信した変更要求によって変更されるデータに対して、データ更新部307が処理を実行中でない場合、排他処理部306は、データを変更可能であると判定する。また、ステップS1101で送受信部301が受信した変更要求によって変更されるデータに対して、データ更新部307が処理を実行中である場合、排他処理部306は、データを変更可能でないと判定する。
ステップS1106で、排他処理部306が、データを変更可能でないと判定した場合は、ステップS1107に示すエンキュー処理を実行する。エンキュー処理については詳細を後述する。一方、ステップS1106で、排他処理部306が、データを変更可能であると判定した場合は、ステップS1108の処理を実行する。
ステップS1108において、コピー元装置のデータ更新部307は、自装置のデータ記憶部311に記憶されているデータを、ステップS1101で送受信部301が受信した変更要求に基づいて変更する(S1108)。そして、変更後のデータをコピー先装置に送信する(S1109)。
以上の手順によって、情報処理装置110から変更要求を受信したコピー元装置は、変更要求に基づいて、自装置のデータ記憶部311に記憶されたデータを変更する。また、変更要求に基づく変更をコピー先装置に反映させるための情報を、コピー先装置に対して送信する。
図12は、図11のステップS1102の処理において、ID生成部305が生成する処理IDの一例である。本実施例の処理IDは、上8桁に装置識別番号、下8桁にtick値を割り当てた、16桁の16進数である。ここで、tick値とは、記憶装置が有する内部時計の時刻に基づいてID生成部305が生成する値である。例えば、図12に示す処理ID1200の場合は、記憶装置101の送受信部301が、tick値=12345678で特定される時間に受信した変更要求の処理IDである。コピー先装置の排他処理部306は、処理IDに基づいて、変更要求を受信した記憶装置と、その記憶装置が情報処理装置110から変更要求を受信した時刻とを特定することが可能である。すなわち、コピー先装置の排他処理部306は、処理IDの上8桁に基づいて、変更要求を受信した記憶装置を特定し、処理IDの下8桁に基づいて、情報処理装置110から変更要求を受信した時刻を特定することが可能である。
図13は、S1104においてコピー先装置が送信するデータ送信要求パケットに含まれる情報の一例である。図13に示すように、データ送信要求パケットは、データサイズ1301、アドレス情報1302、処理ID1303、送信経路情報1304を含む。データサイズ1301は、変更後のデータのデータサイズ(データ長)を特定する情報である。アドレス情報1302は、データ記憶部311の記憶領域において変更対象のデータが記憶されたアドレスを示す情報である。変更対象のデータが記憶されたアドレスは、情報処理装置から受信した変更要求に含まれている。データ更新部307は、変更要求に含まれる、変更対象のデータが記憶されたアドレスを抽出し、抽出したアドレスをアドレス情報1302としてデータ送信要求パケットを生成する。処理ID1303は、図11のステップS1102でID生成部305が生成した処理IDである。送信経路情報1304は、データの送信経路を特定する情報である。ここで、送信経路情報1304は、図9に示す送信経路情報と同様の態様であって良い。図13はデータ送信要求パケットに含まれる情報の態様の一例であり、データ送信要求パケットに含まれる情報の態様は、図13に示す態様に限定されない。
〔エンキュー処理〕
図14は、S1107のエンキュー処理の手順を示すフローチャートである。前述したステップS1107のエンキュー処理について図14を用いて説明する。
排他処理部306は、現在データ更新部307が実行中の処理の処理IDを参照する(S1401)。次に、排他処理部306は、図11のステップS1102でID生成部305が生成した処理IDと、現在実行中の処理の処理IDとを比較する(S1402)。比較の手法は、例えば、情報処理装置110から変更要求を受信した時刻を特定する情報である処理IDの下8桁に示される値の大小に基づいて判定する。つまり、処理IDの下8桁の値が小さい処理IDの方が、過去の時刻を示す処理IDであると判定する。
比較の結果、図11のステップS1102でID生成部305が生成した処理IDの下8桁の値が、現在実行中の処理の処理IDの下8桁の値よりも小さい場合、排他処理部306は変更要求(に基づくキュー)を消去する(S1403)。
この場合、図11のステップS1102で受信した変更要求は、現在処理が実行中の変更要求よりも前に発生したものである。すなわち、現在実行中の処理によって、図11のステップS1102で送受信部301が受信した変更要求の対象のデータは、変更要求に基づいて変更された後のデータよりも新しいデータに変更される。この場合、図11のステップS1102で送受信部301が受信した変更要求に基づくデータの変更は不要であるため、排他処理部306は、変更要求(に基づくキュー)を消去し、エンキュー処理を終了する。すなわち、排他処理部306は、ステップS1101で送受信部301が受信した変更要求に基づいてデータ記憶部311に記憶されたデータを変更する処理を抑止する。尚、この場合は、コピー先装置は、エンキュー処理終了後に図11のS1109の処理を実行する。
一方、ステップS1402での比較の結果、図11のステップS1102でID生成部305が生成した処理IDの下8桁の値が、現在実行中の処理の処理IDの下8桁の値よりも大きい場合、変更要求は、現在処理中の変更の変更要求よりも後に受信したものであると判定する。この場合、排他処理部306は、ステップS1405の処理を実行する。
また、図11のステップS1102でID生成部305が生成した処理IDの下8桁の値と、現在実行中の処理の処理IDの下8桁の値が同じ値の場合、排他処理部306は、以下の処理を行う。すなわち、図11のステップS1102でID生成部305が生成した処理IDの上8桁の値と、現在実行中の処理の処理IDの上8桁の値を比較する(S1404)。比較の結果、図11のステップS1102でID生成部305が生成した処理IDの上8桁の値が、現在実行中の処理の処理IDの上8桁の値よりも小さい場合、排他処理部306は、変更要求(に基づくキュー)を消去(S1403)し、エンキュー処理を終了する。また、図11のステップS1102でID生成部305が生成した処理IDの上8桁の値が、現在実行中の処理の処理IDの上8桁の値よりも大きい場合、排他処理部306は、ステップS1405の処理を実行する。
ここで、図11のステップS1102でID生成部305が生成した処理IDの上8桁の値が、現在実行中の処理の処理IDの上8桁の値よりも小さい場合、排他処理部306は、ステップS1405の処理を実行することとしても良い。そして、図11のステップS1102でID生成部305が生成した処理IDの上8桁の値が、現在実行中の処理の処理IDの上8桁の値よりも大きい場合、排他処理部306は、変更要求(に基づくキュー)を消去し、エンキュー処理を終了することとしても良い。
ステップS1405で、排他処理部306は、現在参照しているキューの次にキューイングされているキューの処理IDを参照する。そして、排他処理部306は、参照した処理IDと、データ送信要求パケットの処理IDとを比較する(S1406)。比較の結果、図11のステップS1102でID生成部305が生成した処理IDの下8桁の値が、現在実行中の処理の処理IDの下8桁の値よりも小さい場合、排他処理部306は、参照しているキューの直前に、ステップS1101で送受信部301が受信した変更要求に基づく変更処理のキューをエンキューする(S1407)。一方、図11のステップS1102でID生成部305が生成した処理IDの下8桁の値が、現在実行中の処理の処理IDの下8桁の値よりも以上の場合、排他処理部306はステップS1405の処理を再実行する。 ステップS1407の後、排他処理部はエンキュー処理を終了する。この後、コピー元装置は、ステップS1407でエンキューしたキューが実行状態になるまで待機し、ステップS1407でエンキューしたキューが実行状態になった場合に、データ更新部307が、図11のステップS1108の処理を実行する。
〔コピー先装置の処理手順〕
図15は、コピー先装置が実行する処理のうち、コピー先装置がデータ送信要求パケットを受信(S1501)してから、コピー元装置に応答パケットを送信する(S1506)までの手順を示すフローチャートである。コピー元装置からデータ送信要求パケットを受信するコピー先装置が実行する処理の手順について説明する。
まず、コピー元装置が送信したデータ送信要求パケットをコピー先装置の送受信部301が受信する。(S1501)
次に、コピー先装置のデータ送信部307は、ステップS1501で送受信部301が受信したデータ送信要求パケットに含まれている送信経路情報を参照し、自装置が送信経路の終点であるかを判定する(S1502)。ここで、終点について説明すると、例えば、前述した送信経路1の場合、記憶装置102は送信経路の終点でなく、一方、記憶装置101は送信経路の終点である。送信経路の終点でないと判定した場合、データ更新部307はステップS1503の処理を実行する。一方、送信経路の終点である場合、排他処理部306が、ステップS1504の処理を実行する。
ステップS1503において、データ更新部307は、データの変更を反映させるためのデータ送信要求パケットを、ステップS1502で参照した送信経路情報に基づいて、送受信部301を介して送信経路において自装置より1つ先のコピー先装置に送信する。例えば、ステップS1502で参照した送信経路情報が前述した送信経路1を示す送信経路情報であり、自装置が記憶装置102である場合、データ更新部307は、送受信部301を介してデータ送信要求パケットを記憶装置101に対して送信する。データ送信要求パケットを送信後、排他処理部306がステップS1504の処理を実行する。
ステップS1504において、排他処理部306は、ステップS1501で送受信部301が受信したデータ送信要求パケットに基づくデータの変更の処理を、自装置で開始可能かを判定する。データの変更の処理を処理開始可能か否かは、例えば、データ送信要求パケットに含まれるデータのアドレスに、現在アクセスが発生しているかを検出し、アクセスが検出されない場合に、データに対して重複する処理が実行中でないことから処理開始可能と判定される。
データの変更処理が開始可能であると排他処理部306が判定した場合、排他処理部306は、ステップS1506の処理を実行する。一方、処理開始が可能でないと判定した場合、排他処理部306はステップS1505のエンキュー処理を実行する。ステップS1505のエンキュー処理の説明については後述する。
排他処理部306がステップS1505のエンキュー処理を実行後、データ送信要求パケットに基づくキューが実行状態に移ると、データ更新部307はメモリ203にデータを受信するためのバッファを取得し、データ送信部307はデータの変更が可能な旨の応答パケットをコピー元装置に送信する(S1506)。
ステップS1506の処理を実行後、コピー先装置の処理は図15の端子Aから、図16の端子Aに移行する。
図16は、コピー先装置が実行する処理のうち、コピー先装置が、変更データを受信(S1601)してから、変更完了の応答パケットをコピー元装置に送信する(S1604)までの手順を示すフローチャートである。
図15のステップS1506でデータ更新部307が、データの変更が可能である旨の応答パケットをコピー元装置に送信した後、送受信部301はコピー元装置が送信した変更データを受信し、図15のステップS1506で取得したバッファに記憶する(S1601)。そして、データ更新部307は、図13に示すステップS1201で送受信部301が受信したデータ送信要求パケットに含まれる情報に基づいて、自装置のデータ記憶部311に記憶されたデータをステップS1601で送受信部301がバッファに記憶した変更データに変更する(S1602)。データの変更後、データ更新部307は、自装置が送信経路の終点であるかを判定する(S1603)。尚、この判定の手法についてはS1502と同様であり、したがって例えば、ステップS1502で判定された結果をメモリ203に保持し、保持した結果に基づいてステップS1502と同様の判定とステップS1603の判定を行うこととしても良い。
ステップS1603で、自装置が送信経路の終点でないと判定した場合、処理の手順は、図16の端子Bから、図11の端子Bに移動し、以後、コピー先装置では図11のステップS1106からの処理が実行される。つまり、コピー先装置は、今度はコピー元装置として、データ送信要求パケットおよびデータの変更に必要な情報等を送信する。一方、自装置が送信経路の終点であると判定した場合、コピー先装置のデータ更新部307は、送受信部301を介して、データの変更が完了した旨の応答パケットをコピー元装置に送信して処理を終了する(S1604)。
〔エンキュー処理〕
図17は、ステップS1505でコピー先装置が実行するエンキュー処理の手順を示すフローチャートである。前述したステップS1505のエンキュー処理について、図17を用いて説明する。
排他処理部306は、現在データ更新部307が実行中の処理の処理IDを参照する(S1701)。次に、排他処理部306は、図15のステップS1501で送受信部301が受信したデータ送信要求パケットに含まれる処理IDと、現在実行中の処理の処理IDとを比較する(S1702)。比較の手法は、例えば、情報処理装置110から変更要求を受信した時刻を特定する情報である処理IDの下8桁に示される値の大小に基づいて判定する。つまり、処理IDの下8桁の値が小さい処理IDの方が、過去の時刻を示す処理IDであると判定する。
比較の結果、ステップS1501で送受信部301が受信したデータ送信要求パケットに含まれる処理IDによって特定される時刻が、現在実行中の処理の処理IDによって特定される時刻よりも小さい場合、排他処理部306はデータ送信要求パケット(に基づくキュー)を消去する(S1703)。
この場合、ステップS1501で送受信部301が受信したデータ送信要求パケットに対応する変更要求は、現在処理中の変更を要求した変更要求よりも前に受信したものであると判定する。つまり、現在実行中の処理により、図15のステップS1501で送受信部301が受信したデータ送信要求パケットの対象のデータは、データ送信要求パケットに基づいて変更された後のデータよりも新しいデータに変更される。この場合、ステップS1501で送受信部301が受信したデータ送信要求パケットに基づくデータの変更は不要であるため、排他処理部306は、データ送信要求パケット(に基づくキュー)を消去し、エンキュー処理を終了する。言い換えれば、排他処理部306は、図15のステップS1501で送受信部301が受信した変更要求に基づいてデータ記憶部311に記憶されたデータを変更する処理を抑止する。尚、この場合は、コピー先装置のデータ更新部307は、エンキュー処理終了後に図16のS1603の処理を実行する。
一方、ステップS1702での比較の結果、ステップS1501で送受信部301が受信したデータ送信要求パケットに含まれる処理IDによって特定される時刻が、現在実行中の処理の処理IDによって特定される時刻よりも大きい場合、排他処理部306は、以下のように判定する。すなわち、排他処理部306は、図15のステップS1501で送受信部301が受信したデータ送信要求パケットに対応する変更要求は、現在処理中の変更の変更要求よりも後に受信したものであると判定する。この場合、排他処理部306は、ステップS1705の処理を実行する。
また、図15のステップS1501で送受信部301が受信したデータ送信要求パケットに含まれる処理IDの下8桁の値が、現在実行中の処理の処理IDの下8桁の値と同じ値の場合、排他処理部306は、以下の処理を行う(S1704)。すなわち、図15のステップS1501で送受信部301が受信したデータ送信要求パケットに含まれる処理IDの上8桁の値と、現在実行中の処理の処理IDの上8桁の値を比較する。比較の結果、図15のステップS1501で送受信部301が受信したデータ送信要求パケットに含まれる処理IDの上8桁の値が、現在実行中の処理の処理IDの上8桁の値よりも小さい場合、排他処理部306は、データ送信要求パケット(に基づくキュー)を消去する(S1703)。また、図15のステップS1501で送受信部301が受信したデータ送信要求パケットに含まれる処理IDの上8桁の値が、現在実行中の処理の処理IDの上8桁の値よりも大きい場合、排他処理部306はステップS1705の処理を実行する。
ここで、図11のステップS1102でID生成部305が生成した処理IDの上8桁の値が、現在実行中の処理の処理IDの上8桁の値よりも小さい場合、排他処理部306は、排他処理部306はステップS1705の処理を実行することとしても良い。そして、図11のステップS1102でID生成部305が生成した処理IDの上8桁の値が、現在実行中の処理の処理IDの上8桁の値よりも大きい場合、排他処理部306は、データ送信要求パケット(に基づくキュー)を消去することとしても良い。
ステップS1705では、現在参照しているキューの次にキューイングされているキューの処理IDを参照する。そして、参照した処理IDと、データ送信要求パケットの処理IDとを比較する(S1706)。比較の結果、図15のステップS1501で送受信部301が受信したデータ送信要求パケットに含まれる処理IDの下8桁の値が、現在実行中の処理の処理IDの下8桁の値よりも小さい場合、排他処理部306は、参照しているキューの直前に、ステップS1501で送受信部301が受信した変更要求に基づく変更処理のキューをエンキューする(S1707)。一方、ステップS1706比較の結果、図15のステップS1501で送受信部301が受信したデータ送信要求パケットに含まれる処理IDの下8桁の値が、現在実行中の処理の処理IDの下8桁の値以上の場合、排他処理部306はステップS1705の処理を再実行する。 ステップS1707の後、排他処理部306はエンキュー処理を終了する。この後、コピー元装置は、ステップS1707でエンキューしたキューが実行状態になるまで待機し、ステップS1706でエンキューしたキューが実行状態になった場合に、データ更新部307が、図15のステップS1506の処理を実行する。
以上の手順で、コピー元装置が受信した変更要求を、他の記憶装置(コピー先装置)に送信し、データの同期を行う。
本実施例によれば、記憶装置101〜105のいずれかがデータ変更要求を受信したとき、受信した記憶装置は、データ変更要求を受信した時刻を特定する情報を生成し、生成した、時刻を特定する情報を、データの送信要求に含めて他の記憶装置に送信する。また、データ送信要求パケットを受信した他の記憶装置は、データ送信要求パケットに含まれる、時刻を特定する情報に基づいて、記憶装置101〜105のそれぞれがデータの変更を実行する。これにより、例えば、コピー元装置からコピー先装置にデータを送信するときの応答時間の差により、変更要求とデータ送信要求パケットの順序が異なる場合であっても、データの矛盾を発生させることなく、記憶装置101〜105に記憶されるデータの同期を行うことができる。
また、本実施例では、グループに属する他の記憶装置にデータを送信する場合、応答時間が最も短くなる送信経路を選択し、データの送信を行うため、データ送信の効率を向上させることが可能である。
本実施例は、本発明を実現する態様を示した一例であり、本発明を実施する態様は実施例を用いて説明した態様に限定されない。
本実施例の情報処理システム100を示す。 記憶装置101のハードウェア構成の一例を示す。 記憶装置101の機能ブロック図を示す。 識別番号400を示す。 応答時間情報500を示す。 本実施例において、応答時間計測部303が定期的に行う処理の手順を表すシーケンス図を示す。 応答時間情報700を示す。 経路決定部304が送信経路を決定する処理の手順を表すフローチャートを示す。 送信経路情報900を示す。 ダイクストラ法による処理の結果を表す図を示す。 送信元装置が実行する処理の手順を示すフローチャートを示す。 処理ID1200を示す。 送信先装置が送信するデータ送信要求パケットに含まれる情報の一例を 示す。 送信元装置が実行するエンキュー処理の手順を示すフローチャートを示 す。 送信元装置が実行する処理の手順(1/2)を表すフローチャートを示す。 送信元装置が実行する処理の手順(2/2)を表すフローチャートを示す。 送信先装置が実行するエンキュー処理の手順を示すフローチャートを示 す。 従来技術を説明する図を示す。
100 情報処理システム
101、102、103、104、105 記憶装置
110 情報処理装置
120、121 無線部
130 NTPサーバ130
201 制御装置
202 CPU
203 メモリ
204 記憶部側アダプタ
205 記憶部
206 ネットワーク側アダプタ
207 無線制御部
301 送受信部
302 グループ決定部
303 応答時間計測部
304 経路決定部
305 ID生成部
306 排他処理部
307 データ更新部
311 データ記憶部
312 識別番号記憶部
313 応答時間情報記憶部
314 送信経路情報記憶部
315 排他処理情報記憶部

Claims (11)

  1. 情報処理装置と通信可能な、送信先の記憶制御装置にデータを送信することでデータの同期を行う送信元の記憶制御装置が実行する制御プログラムにおいて、
    前記送信元の記憶制御装置に、
    前記送信元の記憶制御装置が有する記憶部に記憶された同期対象のデータを変更データに変更する要求を前記情報処理装置から受信させ、
    前記要求に含まれる、前記送信先の記憶制御装置が有する記憶部において前記同期対象のデータに対応するデータが記憶されたアドレスを特定するアドレス情報を抽出させ、
    前記要求を受信した時間を特定する時間情報を生成させ、
    抽出された前記アドレス情報と生成された前記時間情報とを含み、前記送信先の記憶制御装置に記憶された前記対応するデータを前記変更データに変更する変更要求を、前記送信元の記憶制御装置から前記送信先の記憶制御装置に対して送信させる、
    ことを特徴とする制御プログラム。
  2. 前記制御プログラムはさらに、
    前記送信元の記憶制御装置に、
    送信された前記変更要求以外に基づく前記対応するデータの変更が実行中でない旨の応答を前記送信先の記憶制御装置から受信した場合、前記記憶部に記憶された前記同期対象のデータを前記変更データに変更させ、
    前記変更データを、前記送信元の記憶制御装置から前記送信先の記憶制御装置に対して送信させる、
    ことを特徴とする請求項1記載の制御プログラム。
  3. 前記制御プログラムはさらに、
    前記送信元の記憶制御装置に、
    前記変更データおよび前記変更要求を、前記送信元の記憶制御装置から前記送信先の記憶制御装置に送信可能な経路が複数存在する場合、複数の前記経路それぞれを介して、前記送信元の記憶制御装置から前記送信先の記憶制御装置に対して計測用データを送信させ、
    送信した前記計測用データを受信した旨の応答を前記送信先の記憶制御装置から受信するまでの応答時間を計測させ、
    計測された応答時間が最も短い経路を、前記要求によって変更された前記変更データおよび前記変更要求を、前記送信元の記憶制御装置から前記送信先の記憶制御装置に送信させる経路に決定させる、
    ことを特徴とする請求項2記載の制御プログラム。
  4. 前記変更要求はさらに、
    前記変更データおよび前記変更要求を、前記送信元の記憶制御装置から前記送信先の記憶制御装置に送信する経路を特定する経路情報を含む、
    ことを特徴とする請求項2または3記載の制御プログラム。
  5. 情報処理装置と通信可能な、送信元の記憶制御装置からデータを受信することでデータの同期を行う送信先の記憶制御装置が実行する制御プログラムにおいて、
    前記送信先の記憶制御装置に、
    同期対象のデータを変更する要求を前記送信先の記憶制御装置が前記情報処理装置から受信した時間を特定する時間情報と、前記送信先の記憶制御装置が有する記憶部において前記同期対象のデータに対応するデータが記憶されるアドレスを特定するアドレス情報とを含み、前記送信先の記憶制御装置に前記対応するデータを変更データに変更する変更要求を、前記送信元の記憶制御装置から受信させ、
    前記記憶部に記憶された、前記アドレス情報で特定される前記対応するデータに対する処理が実行中であり、且つ、前記処理を実行する要求を前記情報処理装置から受信した時間が、前記時間情報で特定される時間よりも後であるとき、前記対応するデータを前記変更データに変更させない、
    ことを特徴とする制御プログラム。
  6. 前記送信先の記憶制御装置はさらに、
    前記送信元の記憶制御装置および前記送信先の記憶制御装置とデータの送受信を行うことでデータを同期する他の記憶制御装置と接続され、
    前記変更要求はさらに、
    前記変更要求を前記送信元の記憶制御装置から前記他の記憶制御装置に送信する経路を特定する経路情報を含み、
    前記制御プログラムはさらに、
    前記送信先の記憶制御装置に、
    前記変更要求を、前記経路情報で特定される経路を介して、前記送信先の記憶制御装置から前記他の記憶制御装置に送信させる、
    ことを特徴とする請求項5記載の制御プログラム。
  7. 情報処理装置と通信可能な、送信先の記憶制御装置にデータを送信することでデータの同期を行う送信元の記憶制御装置が実行する制御方法において、
    前記送信元の記憶制御装置が、
    前記送信元の記憶制御装置が有する記憶部に記憶された同期対象のデータを変更データに変更する要求を前記情報処理装置から受信し、
    前記要求に含まれる、前記送信先の記憶制御装置が有する記憶部において前記同期対象のデータに対応するデータが記憶されたアドレスを特定するアドレス情報を抽出し、
    前記要求を受信した時間を特定する時間情報を生成し、
    抽出した前記アドレス情報と生成した前記時間情報とを含み、前記送信先の記憶制御装置に記憶された前記対応するデータを前記変更データに変更する変更要求を、前記送信元の記憶制御装置から前記送信先の記憶制御装置に対して送信する、
    ことを特徴とする制御方法。
  8. 情報処理装置と通信可能な、送信元の記憶制御装置からデータを受信することでデータの同期を行う送信先の記憶制御装置が実行する制御方法において、
    前記送信先の記憶制御装置が、
    同期対象のデータを変更する要求を前記送信先の記憶制御装置が前記情報処理装置から受信した時間を特定する時間情報と、前記送信先の記憶制御装置が有する記憶部において前記同期対象のデータに対応するデータが記憶されるアドレスを特定するアドレス情報とを含み、前記送信先の記憶制御装置に前記対応するデータを変更データに変更する変更要求を、前記送信元の記憶制御装置から受信し、
    前記記憶部に記憶された、前記アドレス情報で特定される前記対応するデータに対する処理が実行中であり、且つ、前記処理を実行する要求を前記情報処理装置から受信した時間が、前記時間情報で特定される時間よりも後であるとき、前記対応するデータを前記変更データに変更しない、
    ことを特徴とする制御方法。
  9. 情報処理装置と通信可能な、送信先の記憶制御装置にデータを送信することでデータの同期を行う送信元の記憶制御装置において、
    同期対象のデータを記憶する記憶部と、
    前記記憶部に記憶された同期対象のデータを変更データに変更する要求を前記情報処理装置から受信する受信部と、
    前記要求に含まれる、前記送信先の記憶制御装置が有する記憶部において前記同期対象のデータに対応するデータが記憶されたアドレスを特定するアドレス情報を抽出する抽出部と、
    前記要求を受信した時間を特定する時間情報を生成する生成部と、
    抽出した前記アドレス情報と生成した前記時間情報とを含み、前記送信先の記憶制御装置に記憶された前記対応するデータを前記変更データに変更する変更要求を、前記送信元の記憶制御装置から前記送信先の記憶制御装置に対して送信する送信部と、
    を備えたことを特徴とする記憶制御装置。
  10. 情報処理装置と通信可能な、送信元の記憶制御装置からデータを受信することでデータの同期を行う送信先の記憶制御装置において、
    前記送信元の記憶装置に記憶された同期対象のデータに対応するデータを記憶する記憶部と、
    同期対象のデータを変更する要求を前記送信先の記憶制御装置が前記情報処理装置から受信した時間を特定する時間情報と、前記記憶部において前記対応するデータが記憶されるアドレスを特定するアドレス情報とを含み、前記送信先の記憶制御装置に前記対応するデータを変更データに変更する変更要求を、前記送信元の記憶制御装置から受信し、
    前記記憶部に記憶された、前記アドレス情報で特定される前記対応するデータに対する処理が実行中であり、且つ、前記処理を実行する要求を前記情報処理装置から受信した時間が、前記時間情報で特定される時間よりも後であるとき、前記対応するデータを前記変更データに変更しない制御部と、
    を備えたことを特徴とする記憶制御装置。
  11. 情報処理装置と、第1の記憶制御装置と、第2の記憶制御装置とを備えた情報処理システムにおいて、
    前記情報処理装置は、
    前記第1の記憶制御装置に記憶されたデータを変更する第1の要求を前記第1の記憶制御装置に送信する第1の送信部を備え、
    前記第1の記憶制御装置は、
    同期対象のデータを記憶する第1の記憶部と、
    前記第1の記憶部に記憶された同期対象のデータを変更データに変更する要求を前記情報処理装置から受信する第1の受信部と、
    前記要求に含まれる、前記送信先の記憶制御装置が有する記憶部において前記同期対象のデータに対応するデータが記憶されたアドレスを特定するアドレス情報を抽出する抽出部と、
    前記要求を受信した時間を特定する時間情報を生成する生成部と、
    抽出した前記アドレス情報と生成した前記時間情報とを含み、前記送信先の記憶制御装置に記憶された前記対応するデータを前記変更データに変更する変更要求を、前記送信元の記憶制御装置から前記送信先の記憶制御装置に対して送信する第2の送信部と、を備え、
    前記第2の記憶制御装置は、
    前記対応するデータを記憶する第2の記憶部と、
    前記変更要求を、前記送信元の記憶制御装置から受信する第2の受信部と、
    前記第2の記憶部に記憶された、前記アドレス情報で特定される前記対応するデータに対する処理が実行中であり、且つ、前記処理を実行する要求を前記情報処理装置から受信した時間が、前記時間情報で特定される時間よりも後であるとき、前記対応するデータを前記変更データに変更しない制御部と、
    を備えたことを特徴とする情報処理システム。
JP2012075374A 2012-03-29 2012-03-29 制御プログラム、制御方法、記憶制御装置および情報処理システム Active JP5853819B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012075374A JP5853819B2 (ja) 2012-03-29 2012-03-29 制御プログラム、制御方法、記憶制御装置および情報処理システム
US13/751,561 US9069834B2 (en) 2012-03-29 2013-01-28 Control method and storage controller apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012075374A JP5853819B2 (ja) 2012-03-29 2012-03-29 制御プログラム、制御方法、記憶制御装置および情報処理システム

Publications (2)

Publication Number Publication Date
JP2013206209A true JP2013206209A (ja) 2013-10-07
JP5853819B2 JP5853819B2 (ja) 2016-02-09

Family

ID=49236392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012075374A Active JP5853819B2 (ja) 2012-03-29 2012-03-29 制御プログラム、制御方法、記憶制御装置および情報処理システム

Country Status (2)

Country Link
US (1) US9069834B2 (ja)
JP (1) JP5853819B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016521427A (ja) * 2014-05-05 2016-07-21 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ピアツーピアデータ複製用の方法、デバイス、およびシステム、ならびにマスタノード切替え用の方法、デバイス、およびシステム

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016046929A1 (ja) * 2014-09-25 2016-03-31 株式会社日立製作所 データ集積装置、及び、データ集積方法
JP2018073231A (ja) * 2016-11-01 2018-05-10 富士通株式会社 ストレージシステムおよびストレージ装置
JP6847885B2 (ja) * 2018-03-20 2021-03-24 株式会社東芝 情報処理装置、情報処理方法及びプログラム
US11882222B2 (en) * 2020-07-23 2024-01-23 The Toronto-Dominion Bank Multidirectional synchronization of confidential data using distributed ledgers
US11784908B2 (en) * 2021-03-09 2023-10-10 International Business Machines Corporation Data transfer with QR codes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094433A (ja) * 2002-08-30 2004-03-25 Nec Corp フォールトトレラントコンピュータ及びそのディスク管理機構及びディスク管理プログラム
JP2006252373A (ja) * 2005-03-14 2006-09-21 Toshiba Corp リモートレプリケーション方法
JP2007128414A (ja) * 2005-11-07 2007-05-24 Hitachi Ltd ストレージサブシステムのボリューム複製方法

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3665460B2 (ja) 1997-12-05 2005-06-29 富士通株式会社 分散自律協調型の応答時間チューニングによる経路選択システム、方法、及び記録媒体
JP3178419B2 (ja) * 1998-06-18 2001-06-18 日本電気株式会社 情報提供サーバ、情報提供クライアントおよび記録媒体
US7099875B2 (en) * 1999-06-29 2006-08-29 Emc Corporation Method and apparatus for making independent data copies in a data processing system
US6598174B1 (en) * 2000-04-26 2003-07-22 Dell Products L.P. Method and apparatus for storage unit replacement in non-redundant array
JP2004536382A (ja) * 2001-04-09 2004-12-02 オブジェクティブ インターフェイス システムズ,インコーポレイティド 置換可能なサービス品質機能のあるネットワーク通信チャネルコンポーネントを選択するために、置換可能なコンポーネントを用いるシステム、方法及び製造物
US6976134B1 (en) * 2001-09-28 2005-12-13 Emc Corporation Pooling and provisioning storage resources in a storage network
US20030172070A1 (en) * 2002-03-06 2003-09-11 Sawadsky Nicholas Justin Synchronous peer-to-peer multipoint database synchronization
US7409587B2 (en) * 2004-08-24 2008-08-05 Symantec Operating Corporation Recovering from storage transaction failures using checkpoints
US7296008B2 (en) * 2004-08-24 2007-11-13 Symantec Operating Corporation Generation and use of a time map for accessing a prior image of a storage device
US7318134B1 (en) * 2004-03-16 2008-01-08 Emc Corporation Continuous data backup using distributed journaling
JP4715286B2 (ja) * 2004-05-11 2011-07-06 株式会社日立製作所 計算機システムおよび計算機システムの制御方法
JP4582297B2 (ja) * 2004-06-25 2010-11-17 日本電気株式会社 レプリケーションシステム、装置、方法、およびプログラム
JP4915775B2 (ja) * 2006-03-28 2012-04-11 株式会社日立製作所 ストレージシステム及びストレージシステムのリモートコピー制御方法
US8572026B2 (en) * 2005-02-06 2013-10-29 Oracle International Corporation Data synchronisation across multiple data storages when processing transactions received on a network
US20070294314A1 (en) * 2006-06-16 2007-12-20 Michael Padovano Bitmap based synchronization
JP4842720B2 (ja) * 2006-06-29 2011-12-21 株式会社日立製作所 ストレージシステム及びデータ複製方法
JP2008104112A (ja) * 2006-10-20 2008-05-01 Fujitsu Ltd 送信経路設定装置、送信経路設定方法および送信経路設定プログラム
US7836429B2 (en) * 2006-12-19 2010-11-16 International Business Machines Corporation Data synchronization mechanism for change-request-management repository interoperation
JP2008299481A (ja) 2007-05-30 2008-12-11 Hitachi Ltd ストレージシステム及び複数拠点間でのデータコピー方法
KR100921426B1 (ko) * 2007-12-04 2009-10-14 한국전자통신연구원 Xri 데이터 링크를 이용한 데이터 동기화 시스템 및 그방법
KR101430517B1 (ko) * 2008-01-31 2014-08-19 삼성전자주식회사 복수의 데이터 통신장치들 간의 데이터 동기 방법
US8090681B2 (en) * 2008-06-26 2012-01-03 Microsoft Corporation Resolving conflicts in content management systems
US8122151B2 (en) * 2008-12-26 2012-02-21 Hitachi, Ltd. Storage system for optimally controlling a plurality of data transfer paths and method therefor
WO2010116349A1 (en) * 2009-04-10 2010-10-14 Kaminario Tehnologies Ltd. A mass-storage system utilizing auxiliary solid-state storage subsystem
US8825597B1 (en) * 2009-08-13 2014-09-02 Dropbox, Inc. Network folder synchronization
JP5508798B2 (ja) * 2009-09-29 2014-06-04 株式会社日立製作所 クラスタを考慮してレプリケーションを管理する管理方法及びシステム
US8341118B2 (en) * 2010-02-09 2012-12-25 Google Inc. Method and system for dynamically replicating data within a distributed storage system
JP4892072B2 (ja) * 2010-03-24 2012-03-07 株式会社東芝 ホスト装置と連携して重複データを排除するストレージ装置、同ストレージ装置を備えたストレージシステム、及び同システムにおける重複排除方法
US8805783B2 (en) * 2010-05-27 2014-08-12 Microsoft Corporation Synchronization of subsets of data including support for varying set membership
US8281033B1 (en) * 2010-06-29 2012-10-02 Emc Corporation Techniques for path selection
US8938582B2 (en) * 2010-07-01 2015-01-20 Infinidat Ltd. Storage systems with reduced energy consumption
US8725682B2 (en) * 2010-09-08 2014-05-13 Daniel J Young Distribution and synchronization of digital objects
US8341114B2 (en) * 2010-11-12 2012-12-25 Blackboard Inc. System for updating information stored on a remote device
US8349782B2 (en) * 2011-02-15 2013-01-08 Ecolab Usa Inc. Hydrophobic and particulate soil removal composition
JP5548825B2 (ja) * 2011-02-28 2014-07-16 株式会社日立製作所 情報処理装置
US20120260051A1 (en) * 2011-03-01 2012-10-11 Hitachi, Ltd. Computer system, management system and data management method
CN102959905B (zh) * 2011-04-09 2016-03-02 华为技术有限公司 联系人信息同步的方法、装置及系统
JP5917103B2 (ja) * 2011-11-18 2016-05-11 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム
JP5783008B2 (ja) * 2011-11-21 2015-09-24 富士通株式会社 ストレージ装置、ストレージシステム、データ更新方法およびデータ管理プログラム
WO2013076757A1 (en) * 2011-11-22 2013-05-30 Hitachi, Ltd. Storage system, storage apparatus and method of controlling storage system
US8700666B2 (en) * 2012-02-21 2014-04-15 Comcast Cable Communications, Llc Moveable storage

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004094433A (ja) * 2002-08-30 2004-03-25 Nec Corp フォールトトレラントコンピュータ及びそのディスク管理機構及びディスク管理プログラム
JP2006252373A (ja) * 2005-03-14 2006-09-21 Toshiba Corp リモートレプリケーション方法
JP2007128414A (ja) * 2005-11-07 2007-05-24 Hitachi Ltd ストレージサブシステムのボリューム複製方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016521427A (ja) * 2014-05-05 2016-07-21 ホアウェイ・テクノロジーズ・カンパニー・リミテッド ピアツーピアデータ複製用の方法、デバイス、およびシステム、ならびにマスタノード切替え用の方法、デバイス、およびシステム
US11068499B2 (en) 2014-05-05 2021-07-20 Huawei Technologies Co., Ltd. Method, device, and system for peer-to-peer data replication and method, device, and system for master node switching

Also Published As

Publication number Publication date
US20130262383A1 (en) 2013-10-03
US9069834B2 (en) 2015-06-30
JP5853819B2 (ja) 2016-02-09

Similar Documents

Publication Publication Date Title
JP5853819B2 (ja) 制御プログラム、制御方法、記憶制御装置および情報処理システム
CN109981765B (zh) 用于确定内容分发网络的访问路径的方法和装置
JP2019508796A (ja) データ同期方法、装置及びシステム
JP2005122235A (ja) 通信バッファ予約機能を備えるストレージ装置およびシステム
US9680719B2 (en) Communication system, client terminal, and server
JP5373030B2 (ja) モバイル端末の動きおよびユーザによって設定された距離を用いてユーザ間の関係を設定するソーシャルネットワークサービスを提供するシステムおよび方法
US10761888B2 (en) Method for deploying task to node based on execution completion point, task deployment apparatus and storage medium
JP2005252781A (ja) 通信端末、通信プログラムおよび通信プログラムを記録したコンピュータ読み取り可能な記録媒体
CN107172214B (zh) 一种具有负载均衡的服务节点发现方法及装置
CN111431730B (zh) 一种业务处理方法、系统、计算机设备及可读介质
US11166174B2 (en) Management server, communication system, management server control method, and program
JP6303300B2 (ja) 制御依頼方法、情報処理装置、システム、およびプログラム
US10516628B2 (en) Transfer device, transfer system, and transfer method
US10951707B2 (en) Selection device, device selection method, and program
JP6264752B2 (ja) 制御方法、制御装置および通信システム
JP2016031593A (ja) サーバ装置、情報処理装置、情報処理システム、サーバ装置の制御方法、情報処理装置の制御方法及びプログラム
CN110535959A (zh) 一种传输数据的方法、装置和计算机可读存储介质
US10542099B2 (en) Gateway device and data collection method
CN110650514A (zh) 路径更新方法、设备及系统
JP2016091064A (ja) 機器管理中継装置、方法、およびプログラム
US10143014B2 (en) Control device and communication system
JP2019101801A (ja) インタフェース集約装置及びインタフェース管理方法
JP7073703B2 (ja) ゲートウェイ装置、クライアントサーバシステムおよびプログラム
US10644988B2 (en) Communication path management apparatus and communication path management method
CN110071949B (zh) 一种跨地理区域管理计算应用的系统、方法和装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150106

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150831

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151016

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20151123

R150 Certificate of patent or registration of utility model

Ref document number: 5853819

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150