JP5092897B2 - データ移行処理プログラム、データ移行処理装置およびデータ移行処理方法 - Google Patents

データ移行処理プログラム、データ移行処理装置およびデータ移行処理方法 Download PDF

Info

Publication number
JP5092897B2
JP5092897B2 JP2008136596A JP2008136596A JP5092897B2 JP 5092897 B2 JP5092897 B2 JP 5092897B2 JP 2008136596 A JP2008136596 A JP 2008136596A JP 2008136596 A JP2008136596 A JP 2008136596A JP 5092897 B2 JP5092897 B2 JP 5092897B2
Authority
JP
Japan
Prior art keywords
update
data
degree
data migration
data group
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.)
Expired - Fee Related
Application number
JP2008136596A
Other languages
English (en)
Other versions
JP2009282902A (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.)
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 JP2008136596A priority Critical patent/JP5092897B2/ja
Priority to US12/353,838 priority patent/US8229995B2/en
Publication of JP2009282902A publication Critical patent/JP2009282902A/ja
Application granted granted Critical
Publication of JP5092897B2 publication Critical patent/JP5092897B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

この発明は、業務を停止させることなく所定のメモリ領域へデータを移行させる技術分野に関する。
従来より、所定の業務用のサーバから業務を停止させることなくオンライン上で特定のメモリ領域にデータを移行するデータ移行処理技術が提供されている。このようなデータ移行時に複数のメモリ領域がデータ移行先として存在する場合には、同期方式(ミラー方式)と、非同期方式(バックグラウンドコピー方式)との2種類の方式によって複数のメモリ領域にそれぞれ更新用のデータ移行がおこなわれる。
ここで同期方式とは、業務時に最初にデータの更新が実行されるメモリ領域、すなわち移行元となるメモリ領域への更新がおこなわれると、移行先となるメモリ領域への更新も同時に反映させる方式である。一方、非同期方式とは、移行元となるメモリ領域への更新がおこなわれる場合には、更新アドレスを一次記憶上にビットマップなどの形式で記憶しておく。そして、所定のタイミングで一括して移行先となるメモリ領域へ更新を反映させる方式である。
これら同期方式・非同期方式には、それぞれ長所・短所があり、移行要件や移行元・移行先の環境によって使い分ける必要がある。たとえば、同期方式は、移行元となるメモリ領域への負荷が軽い、更新されたデータを複数のメモリ領域に即座に反映させることができるという長所を持つ。反面、同期方式は、更新時に更新対象となるメモリのアドレスの重複の度合いが高い場合、無駄な処理が多くなってしまう、移行先となるメモリ領域の性能(容量やアクセス速度)が低い場合には更新が正しく反映されずに業務に影響してしまうといった短所を持つ。
また、非同期方式の場合には、上述したようなアドレスの重複の度合いが高い場合には、効率的に更新用のデータを移行できる、移行先となるメモリ領域の性能が低い場合であっても、移行元となるメモリ領域から移行先となるメモリ領域へデータが移行されるため、更新の反映の遅れが業務に影響することがないという長所を持つ。そして、反面、非同期方式は、移行元となるメモリ領域への負荷が重い、更新用のデータ移行速度が更新の速度に追いつかない場合があるといった短所を持つ。したがって、更新用のデータ群の送信元では、更新のたびに、更新用のデータ群の内容に応じて、上述した同期方式と非同期方式とを選択してデータ移行処理をおこなう。
特開2006−338064号公報
しかしながら、従来のデータ移行処理では、同期方式と非同期方式との特徴を考慮してデータ移行処理をおこなうシステム管理者が経験や勘に基づいていずれかの方式を選択しなければならなかった。一般的に、データベース処理の場合、更新用のデータ群はそれぞれ異なる領域のアドレスに書き込まれる傾向にあるため重複の度合いは低くなり、反対に、ファイルシステム処理の場合は、比較的重複の度合いが高くなる傾向にあるが、実際は、扱うデータ群の内容によって重複の度合いは様々であり、一意的に判断することができない。
たとえば、データベース処理であっても,特定のメタデータに対しては頻繁にアクセスすることがあり、必ずしも更新用のデータ群のアドレス同士の重複度合いが小さくないことがある。逆に、ファイルシステム処理であっても、主としてデータベースのテーブルとして利用され、広範囲のファイルオフセットにわたって更新がおこなわれる場合は、重複の度合いがそれほど大きくならない。このように、一般的な傾向を考慮しても、システム管理者による重複の度合いの予想が大きく外れてしまうことがあった。結果として、非効率的なデータ移行処理になってしまうという問題があった。
上述した従来技術による問題点を解消するため、更新用のデータ群の内容に応じて自動的に最も効率的な方式でデータ移行処理をおこなうことのできるデータ移行処理プログラム、データ移行処理装置およびデータ移行処理方法を提供することを目的とする。
本技術は、複数の記録装置にアクセス可能なコンピュータにおいて、前記複数の記録装置の中の一の記録装置に対する更新用のデータ群を取得する処理と、取得された更新用のデータ群にそれぞれ設定されている各アドレスに基づいて、前記アドレスに関する重複度を算出する処理と、算出された重複度に応じて、前記一の記録装置へ前記更新用のデータ群を送信するのと同時に前記他の記録装置へ前記更新用のデータ群を送信する同期方式と、前記一の記録装置へ前記更新用のデータ群を送信した後に当該一の記録装置から前記他の記録装置へ前記更新用のデータ群を送信させる非同期方式とのいずれか一方のデータ移行方式を選択する処理と、選択されたデータ移行方式を実行する処理と、を含むことを要件とする。
この技術によれば、一の記録装置に対する更新用のデータ群が取得されると、算出された重複度に応じて、自動的に同期方式と非同期方式とのうち、効率的なデータ移行処理の方式を選択して実行させることができる。
この技術によれば、データの内容に応じて自動的に最も効率的な方式でデータ移行処理をおこなうことができるという効果を奏する。
以下に添付図面を参照して、このデータ移行処理プログラム、データ移行処理装置およびデータ移行処理方法の好適な実施の形態を詳細に説明する。本実施の形態にかかるデータ移行処理プログラム、データ移行処理装置およびデータ移行処理方法は、更新用のデータ群を取得すると、これらデータ群の書込先となるアドレスを参照して、重複するアドレスの割合を重複度として算出する。そして、算出された重複度に基づいて、同期方式と非同期方式のいずれか一方を選択してデータ移行処理を実行する。以下にまず、本実施の形態にかかるデータ移行処理の概要について説明した後、実際にデータ移行処理を実現するための具体的な実施例を挙げて説明する。
(データ移行処理の概要)
まず、本実施の形態にかかるデータ移行処理の概要について説明する。図1は、本実施の形態にかかるデータ移行処理の概要を示す説明図である。図1のように、データ移行処理装置100は、複数の記録装置110、120にアクセス可能になっている。そして、データ移行処理装置100が更新用のデータ群を取得すると、これら更新用のデータ群を、更新先となる複数の記録装置110、120に移行する。なお、図1では、記録装置として記録装置110、120の2つを示しているが、記録装置の数に特に制限はなく、2台以上あってもよい。
そして、データ移行処理装置100によってデータ移行処理をおこなう際には、複数の記録装置110、120のうち、一の記録装置を移行元(親)の記録装置として設定する。図1の例の場合は、記録装置110を移行元(親)とし、他の記録装置120を移行先(子)として処理をおこなう。この移行元(親)、移行先(子)の設定をおこなうことによって非同期方式の場合であれば、移行元の記録装置110に対して優先的に更新用のデータ群を移行する。すなわち、データ移行処理装置100は、移行元(親)となる記録装置110の記録内容を更新した後、記録装置110の更新内容を他の記録装置120に対しても反映させるように記録装置110へデータ移行指示をおこなう装置となる。
このデータ移行処理には、従来のデータ移行処理と同様に、同期方式と、非同期方式の2種類が存在する。そして、本実施の形態にかかるデータ移行処理装置100は、更新用のデータ群を取得すると、自動的に最適な方式を選択してデータ移行処理を実行させることができる。
図1を用いてデータ移行処理の具体的な処理手順を説明すると、データ移行処理装置100は、更新用のデータ群を取得すると、データ移行処理の前に、まずデータ群の重複度判定をおこなう(ステップS101)。そして、ステップS101によって判断された重複度に応じてデータ移行方式を選択する(ステップS102)。
同期方式の場合は、データ移行処理装置100からデータ更新対象となるすべての記録装置(ここでは記録装置110、120)に直接の更新用のデータ群が送信される。図1の場合、更新用のデータ群である「データvol.1.1」は、重複度が低いと判断されたため、同期方式が選択されている。したがって、データ移行処理装置100から記録装置110、120へ直接「データvol.1.1」が送信される。記録装置110、120では、送信された「データvol.1.1」を順次書き込み、記録内容を更新する。
また、非同期方式の場合は、データ移行処理装置100からデータ移行元である記録装置110に更新用のデータ群が送信される。データ移行元である記録装置110は、更新用のデータ群が送信されると、これらのデータ群を順次書き込むことによって記録内容を更新する。更新が終了後、記録装置110は、任意のタイミングで更新用のデータ群をデータ移行先である記録装置120へ一括して送信する。記録装置120は、記録装置110から送信された更新用のデータ群を書き込み、更新を反映させる。
図1の場合、更新用のデータ群である「データvol,1.2」は、重複度が高いと判断されたため、非同期方式が選択されている。したがって、データ移行処理装置100からは、まず、記録装置110へ「データvol,1.2」が送信される。記録装置110では、送信された「データvol,1.2」を順次書き込み、記録内容を更新する。更新終了後、記録装置110は、更新が終了した「データvol,1.2」を一括して記録装置120へ送信する。記録装置120は、送信された「データvol,1.2」によって記録内容を更新する。
(重複度の算出法)
図1のステップS101によって求めた重複度とは、更新用のデータ群のうち、書込先となるアドレスに関する重複の度合いをあらわす値である。アドレスの重複の度合いが高いということは、記録装置110、120のメモリ領域への各データを書き込む際に、同じブロックへのアクセスが多いことを意味する。通常、記録装置110、120間でデータ群を移行する場合には、所定数アドレスごとにまとめられたブロック単位でデータを移行する。したがって、重複度が高ければ、記録装置110に更新用のデータ群が書き込まれた後、書き込みが終了したブロックごとに記録装置120へデータを移行すればよい。
重複度の算出法は一様ではなく、様々な算出法を利用することができる。たとえば、第1の算出法として、更新用のデータ群にそれぞれ設定されている各アドレス(分母)のうち、他のアドレスと一致するアドレス(分子)の割合から重複度を求める。この場合、「重複度=他のアドレスと一致するアドレスの数/更新用のデータ群に設定されている各アドレスの総数」となる。当然、重複度を%で表現したければ、上述の式に100をかければよい。
また、第2の算出法として、更新用のデータ群にそれぞれ設定されている各アドレスは、連続する複数アドレス単位のグループに分類されることを利用して重複度を求めてもよい。通常、記録装置110、120のメモリ領域のアドレス空間は、数アドレスごとのブロックに分割されている。したがって、同じブロックに書き込まれるデータのアドレスは、同じグループに分類されることになる。そして、記録装置110のメモリ領域から記録装置120のメモリ領域へとデータを送信して更新(コピー)させる場合は、このブロック単位でデータが扱われる。
たとえば、メモリ領域がアドレス空間00〜FFから構成されている場合に、下記のようなブロックごとにデータ移行がおこなわれるとする。
・アドレス00〜0F:ブロック0 ・アドレス80〜8F:ブロック8
・アドレス10〜1F:ブロック1 ・アドレス90〜9F:ブロック9
・アドレス20〜2F:ブロック2 ・アドレスA0〜AF:ブロックA
・アドレス30〜3F:ブロック3 ・アドレスB0〜BF:ブロックB
・アドレス40〜4F:ブロック4 ・アドレスC0〜CF:ブロックC
・アドレス50〜5F:ブロック5 ・アドレスD0〜DF:ブロックD
・アドレス60〜6F:ブロック6 ・アドレスE0〜EF:ブロックE
・アドレス70〜7F:ブロック7 ・アドレスF0〜FF:ブロックF
そして、第2の算出法として、更新用のデータ群にそれぞれ設定されている各アドレス(分母)のうち、他のアドレスと同じグループに分類されるアドレス(分子)の割合から全重複度を算出してもよい。この場合、「重複度=他のアドレスと同じグループに分類されるアドレスの数/更新用のデータ群に設定されている各アドレスの総数」となる。
さらに、第3の算出法として、上述したグループ(分母)のうち、更新用のデータ群にそれぞれ設定されているアドレスが複数分類されるグループ(分子)の割合から重複度を算出してもよい。この場合、「重複度=更新用のデータ群にそれぞれ設定されているアドレスが複数分類されるグループの数/総グループ数」となる。
具体例を挙げると、更新用のデータ群が、データα(アドレス01)、データβ(アドレス11)、データγ(アドレス03)、データδ(アドレス00)、データε(アドレス51)の5つのデータによって構成されているとする。これらのデータ群のうち、データα、データγ、データδはブロック0に書き込まれ、データβはブロック1に書き込まれ、データεはブロック5に書き込まれる。
このような更新用のデータ群について、上述した各算出法を用いて重複度を算出すると下記のようになる。
1)第1の算出法:重複度=0/5
2)第2の算出法:重複度=3/5(分子の3は、データα、データγ、データδ)
3)第3の算出法:重複度=1/16(分子の1はブロック0)
このように、算出法の選択によって重複度は異なる値となるため、取り扱うデータの種類や、記録装置110、120のアドレス空間とブロック単位の設定に応じて適宜選択すればよい。また、算出された重複度に基づいて、同期方式と非同期方式とを選択する場合、重複度が大きければ非同期方式の選択、重複度が小さければ同期方式の選択が好ましい。したがって、あらかじめ、しきい値を設定しておくことによって、算出された重複度がしきい値以上か未満かに応じて、自動的に同期方式と非同期方式とを選択し、データ移行処理を実行させることができる。
つぎに、上述したようなデータ移行処理を実現するための、具体的な構成と処理手順を説明し、さらに実用に適した実施例を紹介する。
(データ移行処理装置のハードウェア構成)
まず、本実施の形態にかかるデータ移行処理装置のハードウェア構成について説明する。図2は、データ移行処理装置のハードウェア構成を示すブロック図である。図2において、データ移行処理装置100は、CPU(Central Processing Unit)201と、ROM(Read‐Only Memory)202と、RAM(Random Access Memory)203と、磁気ディスクドライブ204と、磁気ディスク205と、光ディスクドライブ206と、光ディスク207と、通信I/F(Interface)208と、入力デバイス209と、出力デバイス210と、を備えている。また、各構成部はバス200によってそれぞれ接続されている。
ここで、CPU201は、データ移行処理装置100の全体の制御を司る。ROM202は、ブートプログラムや、データ移行処理を実行させるためのデータ移行処理プログラムなどの各種プログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。磁気ディスクドライブ204は、CPU201の制御にしたがって磁気ディスク205に対するデータのリード/ライトを制御する。磁気ディスク205は、磁気ディスクドライブ204の制御で書き込まれたデータを記憶する。
光ディスクドライブ206は、CPU201の制御にしたがって光ディスク207に対するデータのリード/ライトを制御する。光ディスク207は、光ディスクドライブ206の制御で書き込まれたデータを記憶したり、光ディスク207に記憶されたデータをコンピュータに読み取らせたりする。
通信インターフェース(以下、「I/F」と略する)208は、通信回線を通じてLAN(Local Area Network)、WAN(Wide Area Network)、インターネットなどのネットワーク211に接続され、このネットワーク211を介して他の装置に接続される。そして、通信I/F208は、ネットワーク211と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。通信I/F208には、たとえばモデムやLANアダプタなどを採用することができる。
入力デバイス209は、データ移行処理装置100に対しての外部からの入力を受け付ける。入力デバイス209としては、具体的には、キーボード、マウスなどが挙げられる。
キーボードの場合、たとえば、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。マウスの場合、たとえば、カーソルの移動や範囲選択、あるいはウィンドウの移動やサイズの変更などをおこなう。また、ポインティングデバイスとして同様に機能を備えるものであれば、トラックボールやジョイスティックなどであってもよい。
出力デバイス210は、データ移行処理装置100によるデータ移行処理の履歴や、更新ごとの選択結果、更新状況などを出力する。出力デバイス210としては、具体的には、ディスプレイ、プリンタなどが挙げられる。
ディスプレイの場合、たとえば、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報などのデータを表示する。このディスプレイとしてさらに、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。また、プリンタの場合、たとえば、画像データや文書データを印刷する。さらに、レーザプリンタやインクジェットプリンタを採用することができる。
(データ移行処理装置の機能的構成)
つぎに、データ移行処理装置100の機能的構成について説明する。図3−1は、データ移行処理装置100の機能的構成を示すブロック図である。図3−1において、データ移行処理装置100は、取得部301と、算出部302と、選択部303と、実行部304と、を備えている。これら各機能301〜304は、データ移行処理装置100の記憶部に記憶された当該機能301〜304に関するプログラムをCPUに実行させることにより、または、入出力I/Fにより、当該機能を実現することができる。
また、各機能301〜304からの出力データは上記記憶部に保持される。また、図3−1中の矢印で示した接続先の機能は、接続元の機能からの出力データを記憶部から読み込んで、当該機能に関するデータ移行処理プログラムをCPU201に実行させるものとする。
まず、取得部301は、複数の記録装置(たとえば、記録装置110、120)の中の一の記録装置に対する更新用のデータ群を取得する。ここでは、図1のように、記録装置110に対する更新用のデータ群を取得するものとする。
算出部302は、取得部301によって取得された更新用のデータ群にそれぞれ設定されている各アドレスに基づいて、アドレスに関する重複度を算出する。ここでアドレスに関する重複度とは、上述したような第1〜第3の算出法を採用して求めてもよいし、さらに異なる算出法を採用してもよい。
選択部303は、算出部302によって算出された重複度に応じて、同期方式と非同期方式のいずれか一方のデータ移行方式を選択する。同期方式は、アクセス可能なすべての記録装置(ここでは、記録装置110と記録装置120)へ更新用のデータ群を送信するデータ移行方式である。また、非同期方式は、記録装置110へ更新用のデータ群を送信した後、記録装置110から他の記録装置120へ更新用のデータ群を送信させるデータ移行方式である。なお、算出部302によって算出された重複度がしきい値より高い場合は非同期方式、重複度がしきい値より低い場合は同期方式を選択する。
そして、実行部304は、選択手段によって選択されたデータ移行方式を実行する。このように、データ移行処理装置100は、更新用のデータ群を取得すると、データ移行処理の前段に重複度に基づいた選択をおこなうため、効率的にデータ移行処理を実現することができる。
つぎに、図3−1にて説明した各機能部301〜304によって実行されるデータ移行処理の手順について説明する。図3−2は、データ移行処理の手順を示すフローチャートである。図3−2のフローチャートにおいて、まず、取得部301によって更新用のデータ群を取得したか否かを判断する(ステップS311)、ここで、更新用のデータ群を取得するまで待ち(ステップS311:Noのループ)、更新用のデータ群を取得すると(ステップS311:Yes)、つぎに、算出部302によってデータ群の各書込先のアドレスから、更新用のデータ群のアドレスに関する重複度を算出する(ステップS312)。
そして、選択部303によってステップS312によって算出された重複度がしきい値以上か否かを判断する(ステップS313)。このステップS313の判断に利用するしきい値は、あらかじめデータ移行処理装置100の利用者や上位プログラムによって任意に設定された値を用いることができる。このステップS313において、重複度がしきい値以上と判断されると(ステップS313:Yes)、非同期方式を選択して実行部304によってデータ移行処理を実行し(ステップS314)、一連の処理を終了する。一方、重複度がしきい値未満の場合は(ステップS313:No)、同期方式を選択して実行部304によってデータ移行処理を実行し(ステップS315)、一連の処理を終了する。
以上説明したように、本実施の形態にかかるデータ移行処理では、あらたに重複度を算出することによって、システム管理者が自らの経験や勘に頼る必要なく、自動的に、適切なデータ移行方式を選択することができる。このように、重複度を参照することにより、システム管理者は、従来のような、経験や勘に頼ることなく、常に適切なオンライン移行方式を選択することができる。
しかしながら、実際に上述のデータ移行処理をおこなうと、記録装置110、120のアドレス空間が広大であると、算出部302において、算出時間に多大な時間を要してしまうことがある。また、アドレス空間が広大であると更新用のデータ群に対応したアドレスの重複が殆ど起こらないため、重複度が算出できない場合も想定される。したがって、以下には、実際にデータ移行処理を効率的に実現するための構成を含んだ実施例について説明する。
<実施例1:同期方式・非同期方式の切り替え>
まず、実施例1として、図1にて説明した更新データの重複度に応じた同期・非同期方式の切り替え処理について説明する。実施例1では、重複度算出を効率的に実現するために、記録装置110、120のアドレス空間をビットマップ形式のデータに変換したビットマップを生成し、このビットマップを利用して重複度を算出する。
(ビットマップの生成処理)
まず、ビットマップの生成処理について説明する。実施例1の場合、データ移行処理装置100は、ビットマップを生成するビットマップ生成機能部を備えている。以下、ビットマップ生成機能部によるビットマップ生成処理の手順について説明する。図4は、ビットマップの生成処理の手順を示すフローチャートである。図4のフローチャートにおいて、まず、親装置110のアドレス空間情報を取得する(ステップS401)。つぎに、ステップS401によって取得したアドレス空間情報から親装置110のアドレス空間のビットマップサイズを算出する(ステップS402)。そして、ステップS402によって算出されたサイズのビットマップを生成する(ステップS403)。このような手順によって生成されたビットマップを利用して更新データの重複度を算出する。
ここで、ステップS402のビットマップサイズの算出について詳しく説明する。記録装置110のメモリ領域のアドレス空間の総容量がa[TB]とし、データ移行処理の際のブロックのサイズが、b[MB]とすると、総ブロック数=a[TB]/b[MB]=c[M個]となる。したがって、ビットマップの総ビット数は、c[Mbit]となる。さらに、ビットマップの総ビット数を8で割って,ビットマップサイズをバイト単位で算出すると、ビットマップサイズ=c[Mbit]/8[bit/B]=d(MB)となる。データ移行処理装置100には、少なくとも、このビットマップを記録しておく必要がある。
図5は、重複度の算出に用いるビットマップの一例を示す説明図である。図5のビットマップ500は、図4のフローチャートのステップS403の処理によって生成されたビットマップの一例である。ビットマップ500は、0〜C−1の計C個のブロックに分割されている。このC個のブロックとはすでに説明したように、アドレス空間を所定数のアドレスの数ごとに分割したグループである。
また、ビットマップ500の各ブロックには重複フラグ用のメモリ501(1ビット)が用意されている。この重複フラグ用のメモリ501では、同一のブロックに複数のデータが書き込まれた場合にフラグを立てるものとする。このフラグを後述する重複カウンタjの計数トリガとしてもよい。
(データ移行方式の選択処理)
つぎに、ビットマップ500を利用したデータ移行方式の選択処理の手順について説明する。図6は、データ移行方式の選択処理の手順を示すフローチャートである。図6のフローチャートにおいて、まず、更新データがあるか否かを判断する(ステップS601)。ここで、更新データがあると判断されるまで待ち(ステップS601:Noのループ)、更新データがあると判断されると(ステップS601:Yes)、更新カウンタiと重複カウンタjとをそれぞれ0にリセットする(ステップS602)。
そして、ステップS601によって判断された更新データを反映させるために、更新カウンタiをインクリメントし(ステップS603)、更新データRiのアドレスを抽出する(ステップS604)。そして、ステップS604によって抽出したアドレスが他の更新データRiのアドレスと重複した重複アドレスか否かを判断する(ステップS605)。このステップS605の判断は、ビットマップ500の重複フラグ用のメモリ501のフラグが既に立てられている場合には容易に判断することができる。
ステップS605において、重複アドレスと判断された場合(ステップS605:Yes)、重複カウンタjをインクリメントする(ステップS606)。そして、更新カウンタiの値が更新データ数E以上になったか否かの判断をおこない(ステップS607)、更新カウンタiの値が更新データ数E未満であれば(ステップS607:No)、ステップS603の処理に戻り、つぎの更新データRiのアドレスに関しての重複判断をおこなう。なお、ステップS605において、重複アドレスでないと判断された場合(ステップS605:No)、ステップS606の処理をスキップしてステップS607の処理に移行する。
ステップS607において、更新カウンタiの値が更新データ数E以上になったと判断された場合(ステップS607:Yes)、つぎに、重複度を算出する(ステップS608)。重複度の算出方法として、ここでは、重複度=重複カウンタj/更新カウンタi×100[%]を求める。この算出方法では、更新データを構成するデータ群の総数のうち、重複アドレスとなる更新データがいくつあるかに応じた重複度が算出される。
ステップS608において重複度が算出されると、この重複度があらかじめ設定したしきい値Sよりも大きな値であるか否かを判断する(ステップS609)。ここで、重複度の値がしきい値Sよりも大きいと判断された場合(ステップS609:Yes)、非同期方式による更新データの移行処理を選択して(ステップS610)、一連の選択処理を終了する。一方、ステップS609において、重複度がしきい値Sよりも小さいと判断された場合(ステップS609:No)、同期方式による更新データの移行処理を選択して(ステップS611)、一連の選択処理を終了する。
ここで、図6のフローチャートにおける更新カウンタおよび重複カウンタの計数手順について詳しく説明する。図7は、重複度の算出に用いるカウンタの概要を示す説明図である。図6のように、実施例1の場合、データ移行処理装置100には、更新用のデータ群のデータの総数を計数するための更新カウンタ710と、すでにデータが書き込まれたブロックに重複してデータを書き込む重複アドレスを計数する重複カウンタ720とを備えている。
そして、図7のフローチャートのように、ステップS601の処理後、更新データが読み込まれる(ステップS701)と更新カウンタ710に計数指示が出力される。そして、ビットマップ500を参照して更新データのアドレスチェックをおこない(ステップS702)、ビットが立っているか否かを判断する(ステップS703)。ここで、ビットが立っていれば(ステップS703:Yes)、重複カウンタ720に計数指示が出力される。ビットが立っていなければ(ステップS703:No)そのまま、ステップS607の処理に移行する。以上説明した処理によって更新カウンタ710の値iと重複カウンタ720の値jによって重複度=(j/i)×100[%]が求められる。ここで利用した算出方法は、データ移行処理の概要にて説明した第2の算出法に相当する。
したがって、ビットマップ500を利用して第3の算出法による重複度を算出してもよい。この場合は、ビットマップ500を構成するブロック数:C個のうちの、重複フラグ用のメモリ501のフラグが立ったブロックの数(図7の場合、ブロック0,3など)の割合が、重複度となる。すなわち、重複度=(ビットが立ったフラグ数/C)×100[%]となる。
なお、図6のフローチャートでは、更新用データのすべてのアドレスを確認した後、重複度を求めているが、更新用データの量が膨大になると、ステップS607のループ処理に時間がかかってしまう。したがって、更新用データのうち所定数以上のデータのアドレスの確認が終了した時点で重複度を求める処理に移行してもよい。また、所定数以上のデータの代わりに、所定時間経過後重複度を求める処理に移行してもよい。
(アドレス空間が広大な場合の選択処理)
つぎに、アドレス空間が広大な場合の選択処理について説明する。上述したように、記録装置110のアドレス空間が広大な場合、当然ビットマップサイズも大きくなり、処理時間も長くなってしまう傾向にある。そこで、実施例1では、複数のビットマップを用いて処理時間を短縮する。
図8は、複数のビットマップを用いたデータ移行処理方式の選択処理の手順を示すフローチャートである。図8のフローチャートの場合、ビットマップ1〜ビットマップ5のように、複数のビットマップによってステップS602〜ステップS607の処理をおこなう。複数のビットマップのうち、ビットマップ1は、図5にて説明したビットマップ500である。そして、その他のビットマップ2〜ビットマップ5は、ビットマップ1を構成する各ブロックのハッシュ値によって生成されたビットマップである。
各ブロックのハッシュ値とは、たとえば、16進数8桁アドレスのうちの下6桁に対応する値である。16進数8桁アドレスのうちの下6桁のアドレスのみの値になるということは、FFFF0001も、0FFF001も同じアドレスとして扱われるため、ビットマップサイズが集約されることになる。
したがって、ビットマップ2〜ビットマップ5は、ハッシュ値の取り方を変えることによって、それぞれ、ビットマップ1の1/256[MB]、1/512[MB]、1/1024[MB]、1/2048[MB]のサイズに集約されている。サイズが集約された分、多くのアドレスが同じブロックに含まれるため、重複カウンタが計数されやすい。
したがって、ビットマップ1〜ビットマップ5によって並列に重複値を算出させ、所定時間経過したか否かを判断する(ステップS801)。そして、所定時間経過するまで待ち(ステップS801:Noのループ)、所定時間経過すると(ステップS801:Yes)、重複度がしきい値以上のビットマップを抽出する(ステップS802)。なお、ここで判断基準としているしきい値は、ステップS609において利用するしきい値Sとは異なるものであり、重複度として、利用可能な値になっているかを判断するものである。すなわち、アドレス空間があまりにも大きいために、重複値があまりにも小さな値のものは、しきい値Sと比較できないため、このステップS802によって削除することができる。
そして、ステップS802によって抽出されたビットマップのうち、ビットマップサイズが最大のビットマップを重複度に採用し(ステップS803)、ステップS609の処理に移行する。このように、複数のビットマップを用いて並列に重複度を算出させることによって、重複度算出にかかる時間を所定時間内に納めることができる。このように、処理時間を短縮させることによって、システム管理者が想定する時間内にデータ移行処理を実行させることができる。
<実施例2:新同期モードを含む>
つぎに、実施例2として、新同期モードを追加した場合のデータ移行処理について説明する。上述した実施例1では、更新データの更新内容の重複度に応じて同期モードと非同期モードを切り替えて効率的なデータ移行を実現している。
ところが、一般に更新データの内容は時刻と共に変化してしまうことが多い。このような場合、せっかく最適な方式が選択されても、データ移行処理の途中で更新パターンや更新アドレスの重複度が変わってしまう場合があった。実施例1の場合は、いずれかの方式でデータ移行処理を開始すると最後までその方式で動作させなくてはならない。このような場合に、移行方式を切り替えるには、データ移行処理装置100のプログラムを一旦停止させてデータ移行作業を初めからやり直す必要がある。
また、非同期方式の場合は、データ移行のためのデータコピーが業務による更新に追いつかなくなってしまう可能性がある。事前に更新データの量に基づいて非同期方式を選択したとしても、実行中に、追加データが発生し、更新データの量が多くなってしまうためである。そのような場合も、データ移行処理装置100のプログラムを一旦停止させて移行作業を同期方式で初めからやり直す必要があった。
そこで、実施例2では、データ移行処理装置100に、更新データのうち、移行先の未コピー領域の更新アドレスから新ビットマップを生成する機能を追加する。そして、データ移行処理装置100は、新ビットマップに基づき、未コピー領域のデータを移行先となる記録装置120へバックグラウンドでコピーする処理を実行させる。このような実施例2のデータ移行方式をここでは、新・同期方式とよぶ。
ここで、実施例2の処理を実施例1と比較するために図9〜11によって同期方式、非同期方式、新・同期方式について説明する。図9は、同期方式を示す説明図である。図9のように、システム管理者Aが、業務による更新を指示すると(ステップS901)、データ移行処理装置100は、移行元の記録装置110と、移行先の記録装置120との双方に更新を反映させる(ステップS902,903)。このとき、ステップS902,903の動作を更新スレッド(UDT)と呼ぶ。
また、図10は、非同期方式を示す説明図である。図10のように、システム管理者Aが、業務による更新を指示すると(ステップS1001)、データ移行処理装置100は、移行元の記録装置110へ更新を反映させる(ステップS1002)。そして、ビットマップ500に対して、更新箇所を明確にするため、該当ビットをONにセットする(ステップS1003)。
その後、データ移行処理装置100は、任意のタイミングで、ステップS1003によってONにした該当ビットをOFFにリセットし(ステップS1004)、移行先の記録装置110に、更新内容を移行先の記録装置120へコピーさせる指示をおこなう(ステップS1005)。このとき、ステップS1003,1004,1005の動作をバックグラウンドコピースレッド(BCT)と呼ぶ。
そして、図11は、新・同期方式を示す説明図である。新・同期方式は、本来であれば非同期方式でしか動作しないステップS1002の機能を同期モードでも動作することを例外的に許容させる。このような構成にすることにより、データ移行処理の途中で、同期方式と非同期方式を動的かつ即座に切り替えることができるようにする。なお、図11において、実線の矢印に示した動作は更新スレッドに相当し、破線の矢印に示した動作は、バックグラウンドコピースレッドに相当する。
図11においても、更新データを移行先の記録装置120へバックグラウンドでコピーするスレッドをBCT、更新に伴い更新データを移行元の記録装置110へ書き出すスレッドをUDTと呼ぶことにする。そして、システム管理者Aが、業務による更新を指示する(ステップS1101)と、重複度に応じた方式でデータ移行を開始する。新・同期方式において、非同期方式が選択されると、UDTでは、更新データを移行元の記録装置110へ書き出すと(ステップS1102)、同時に、新ビットマップ1100上の該当ビットをONにセットする(ステップS1103)。
一方、BCTでは、記録装置110の更新内容を読み込み(ステップS1111)、ビットマップ1100上で該当ビットのチェック&スキップをおこなう(ステップS1112)。ステップS1112では、具体的には、ONのビットを走査し、ONのビットが存在した場合には、これをOFFにリセットすると同時に、対応する移行元の記録装置110の更新を移行先の記録装置120に書き込み(ステップS1113)、反映させる。
なお、UDTによって移行元の記録装置110へ書き出された更新データがBCTによって移行先の記録装置120へコピーされることを保証するために、UDTはデータを書き出した後で該当ビットをONにセットし、BCTは移行元ボリュームからデータを読み込む直前に該当ビットをOFFにリセットする(ステップS1114)。
一方、同期方式が選択されると、UDTが更新データを移行元の記録装置110へ転送によって書き出すと(ステップS1102)、同時に、同一の更新データを移行先の記録装置120へも転送する(ステップS1104)。ただし、移行元の記録装置110の更新結果と移行先の記録装置120の更新結果とが矛盾しないようにするために、同一ブロックの更新に関しては、並行して複数の更新要求を発行せず、かつ、移行元の記録装置110の更新順序と移行先の記録装置120の更新順序が一致するように制御する。
ここで、仮に、移行元の記録装置110の未コピー領域が無くなるまで移行方式を非同期方式から同期方式へ遷移させない仕様とすると、BCTによるコピーがUDTによる更新に追いつけないような状況では、夜間など、更新が少なくなる時間帯を待たない限り、同期方式へ遷移することができない。そこで、同期方式でもBCTが非同期方式と同様に動作し続けることを例外的に許容することにより、未コピー領域が残されている状態のまま移行方式を非同期方式から同期方式へ遷移しても問題ない仕様とする。
ただし、BCTが動作している同期方式では、UDTによる最新の複製が、古いデータに基づいたBCTのコピーによって上書きされる事態を回避するための処置をおこなう。具体的には、UDTは、データを移行先ボリュームへ転送する前に更新ビットマップの該当ビットを確認し、ONの場合はOFFにリセットすることにする。一方、BCTは、更新ビットマップに基づいて移行元ボリュームからデータを読み込むが、データ読み込み後に更新ビットマップの該当ビットを確認し直す。そして、該当ビットが既にOFFにリセットされている場合は移行先ボリュームへの書き出しをスキップする。
なお、設計を簡単にするために、同期方式・非同期方式間の移行方式遷移のタイミングでは、その時点までに仕掛かり中のBCTの処理を完了させておく。これにより、同期方式で動作するBCTと非同期方式で動作するBCTとが互いにオーバラップしてしまう事態を防ぐことができる。
以上説明したように、新・同期方式は、BCTを同期方式・非同期方式のどちらで動作させても破綻なくデータ移行処理が実現できるように設定されている。したがって、システム管理者Aは、自動的に、データ移行方式を動的かつ即座に遷移できるようになる。また、新・同期方式では、更新ビットマップのONのビット数が単調減少することになる。したがって、仮に非同期方式によってBCTによるコピーがUDTによる更新に追いつけないような状況が発生しても、データ移行方式を同期方式に遷移させて一定時間待つことにより、更新を追いつかせ、正しく反映させることができる。
このように、実施例2では、データ移行処理の途中で同期方式と非同期方式を動的かつ即座に切り替え可能な新・同期方式によって更新用データを送信する。新・同期方式により、システム管理者は、データ移行ツールを停止させることなく常に業務の更新パターンに応じた最適な方式を選択しながらデータ移行を継続することができる。その結果、システム管理者は、業務への影響を最小限に抑え、なおかつ、効率的に更新用データの移行処理を実現することができる。
以上説明したように、本実施の形態によれば、実施例1にて説明したように、更新用のデータ群の内容に応じて、最適なデータ移行方式を選択して実行させることができる。また、実施例2では、更新用のデータ群のデータ量が動的に変化する場合であっても、処理を停止させることなく、常に効率的なデータ移行処理をおこなうことができる。
なお、本実施の形態で説明したデータ移行処理方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な媒体であってもよい。
また、本実施の形態で説明したデータ移行処理装置100は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述したデータ移行処理装置100の機能(取得部601〜実行部604)をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、データ移行処理装置100を製造することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)複数の記録装置にアクセス可能なコンピュータを、
前記複数の記録装置の中の一の記録装置に対する更新用のデータ群を取得する取得手段、
前記取得手段によって取得された更新用のデータ群にそれぞれ設定されている各アドレスに基づいて、前記アドレスに関する重複度を算出する算出手段、
前記算出手段によって算出された重複度に応じて、前記一の記録装置へ前記更新用のデータ群を送信するのと同時に前記他の記録装置へ前記更新用のデータ群を送信する同期方式と、前記一の記録装置へ前記更新用のデータ群を送信した後、当該一の記録装置から前記他の記録装置へ前記更新用のデータ群を送信させる非同期方式とのいずれか一方のデータ移行方式を選択する選択手段、
前記選択手段によって選択されたデータ移行方式を実行する実行手段、
として機能させることを特徴とするデータ移行処理プログラム。
(付記2)前記算出手段は、前記更新用のデータ群にそれぞれ設定されているアドレスの総数のうち、他のアドレスと一致するアドレスの数の割合から前記重複度を算出することを特徴とする付記1に記載のデータ移行処理プログラム。
(付記3)前記更新用のデータ群にそれぞれ設定されている各アドレスは、連続する複数アドレス単位のグループに分類されており、
前記算出手段は、前記更新用のデータ群にそれぞれ設定されているアドレスの総数のうち、他のアドレスと同じグループに分類されるアドレスの数の割合から前記重複度を算出することを特徴とする付記1に記載のデータ移行処理プログラム。
(付記4)前記算出手段は、前記グループの総数のうち、前記更新用のデータ群にそれぞれ設定されているアドレスが複数分類されるグループの数の割合から前記重複度を算出する付記3に記載のデータ移行処理プログラム。
(付記5)前記算出手段は、前記一の記録装置のアドレス空間をビットマップに変換し、当該ビットマップにおける、前記更新用のデータ群にそれぞれ設定されている各アドレスの割合から前記重複度を算出することを特徴とする付記1〜4のいずれか一つに記載のデータ移行処理プログラム。
(付記6)前記算出手段は、前記更新用のデータ群にそれぞれ設定されている各アドレスをハッシュ値に変換することを特徴とする付記1〜5のいずれか一つに記載のデータ移行処理プログラム。
(付記7)前記算出手段は、前記一の記録装置のアドレス空間のサイズがしきい値以上であった場合、前記ハッシュ値を前記ビットマップ形式の情報に変換することを特徴とする付記6に記載のデータ移行処理プログラム。
(付記8)前記選択手段は、前記重複度がしきい値以上であった場合、前記非同期方式を選択し、しきい値未満であった場合、前記同期方式を選択することを特徴とする付記1〜6のいずれか一つに記載のデータ移行処理プログラム。
(付記9)前記一の記録装置のアドレス空間をビットマップに変換した新たなビットマップを生成する生成手段を備え、
前記実行手段は、前記更新用のデータ群の前記一の記録手段への送信状況を前記生成手段によって生成されたあらたなビットマップに記録し、前記更新用のデータ群のデータ移行処理実行中に、前記選択手段によってあらたなデータ移行方式が選択されると、前記新たなビットマップの送信状況に基づいて、前記あらたなデータ移行方式を実行することを特徴とする付記1〜8のいずれか一つに記載のデータ移行処理プログラム。
(付記10)複数の記録装置にアクセス可能なデータ移行処理装置であって、
前記複数の記録装置の中の一の記録装置に対する更新用のデータ群を取得する取得手段と、
前記取得手段によって取得された更新用のデータ群にそれぞれ設定されている各アドレスに基づいて、前記アドレスに関する重複度を算出する算出手段と、
前記算出手段によって算出された重複度に応じて、前記一の記録装置へ前記更新用のデータ群を送信するのと同時に前記他の記録装置へ前記更新用のデータ群を送信する同期方式と、前記一の記録装置へ前記更新用のデータ群を送信した後、当該一の記録装置から前記他の記録装置へ前記更新用のデータ群を送信させる非同期方式とのいずれか一方のデータ移行方式を選択する選択手段と、
前記選択手段によって選択されたデータ移行方式を実行する実行手段と、
を備えることを特徴とするデータ移行処理装置。
(付記11)複数の記録装置にアクセス可能なコンピュータが、
前記複数の記録装置の中の一の記録装置に対する更新用のデータ群を取得する取得工程と、
前記取得工程によって取得された更新用のデータ群にそれぞれ設定されている各アドレスに基づいて、前記アドレスに関する重複度を算出する算出工程と、
前記算出工程によって算出された重複度に応じて、前記一の記録装置へ前記更新用のデータ群を送信するのと同時に前記他の記録装置へ前記更新用のデータ群を送信する同期方式と、前記一の記録装置へ前記更新用のデータ群を送信した後、当該一の記録装置から前記他の記録装置へ前記更新用のデータ群を送信させる非同期方式とのいずれか一方のデータ移行方式を選択する選択工程と、
前記選択工程によって選択されたデータ移行方式を実行する実行工程と、
を実行することを特徴とするデータ移行処理方法。
本実施の形態にかかるデータ移行処理の概要を示す説明図である。 データ移行処理装置ハードウェア構成を示すブロック図である。 データ移行処理装置の機能的構成を示すブロック図である。 データ移行処理の手順を示すフローチャートである。 ビットマップの生成処理の手順を示すフローチャートである。 重複度の算出に用いるビットマップの一例を示す説明図である。 データ移行方式の選択処理の手順を示すフローチャートである。 重複度の算出に用いるカウンタの概要を示す説明図である。 複数のビットマップを用いたデータ移行処理方式の選択処理の手順を示すフローチャートである。 同期方式を示す説明図である。 非同期方式を示す説明図である。 新・同期方式を示す説明図である。
符号の説明
100 データ移行処理装置(データ移行処理サーバ)
110 記録装置(データ移行元)
120 記録装置(データ移行先)
201 CPU
202 ROM
203 RAM
204 ハードディスクドライブ
205 ハードディスク
206 光ディスクドライブ
207 光ディスク
208 通信I/F
209 入力デバイス
210 出力デバイス
211 ネットワーク(NET)
301 取得部
302 算出部
303 選択部
304 実行部

Claims (7)

  1. 複数の記録装置にアクセス可能なコンピュータ
    前記複数の記録装置の中の一の記録装置に対する更新用のデータ群を取得
    取得された更新用のデータ群にそれぞれ設定されている各アドレスに基づいて、書込先となる前記各アドレスが共通する度合いを示す重複度を算出し、
    出された重複度に応じて、前記一の記録装置へ前記更新用のデータ群を送信するのと同時に他の記録装置へ前記更新用のデータ群を送信する同期方式と、前記一の記録装置へ前記更新用のデータ群を送信した後に当該一の記録装置から前記他の記録装置へ前記更新用のデータ群を送信させる非同期方式とのいずれか一方のデータ移行方式を選択
    択されたデータ移行方式を実行す
    処理を実行させることを特徴とするデータ移行処理プログラム。
  2. 前記重複度を算出する処理は、前記更新用のデータ群にそれぞれ設定されているアドレスの総数うち、他のアドレスと一致するアドレスの数の割合から前記重複度を算出することを特徴とする請求項1に記載のデータ移行処理プログラム。
  3. 前記更新用のデータ群にそれぞれ設定されている各アドレスは、連続する複数アドレス単位のグループに分類されており、
    前記重複度を算出する処理は、前記更新用のデータ群にそれぞれ設定されているアドレスの総数のうち、他のアドレスと同じグループに分類されるアドレスの数の割合から前記重複度を算出することを特徴とする請求項1に記載のデータ移行処理プログラム。
  4. 前記重複度を算出する処理は、前記グループの総数のうち、前記更新用のデータ群にそれぞれ設定されているアドレスが複数分類されるグループの数の割合から前記重複度を算出する請求項3に記載のデータ移行処理プログラム。
  5. 前記いずれか一方のデータ移行方式を選択する処理は、前記重複度がしきい値以上であった場合、前記非同期方式を選択し、しきい値未満であった場合、前記同期方式を選択することを特徴とする請求項1〜4のいずれか一つに記載のデータ移行処理プログラム。
  6. 複数の記録装置にアクセス可能なデータ移行処理装置であって、
    前記複数の記録装置の中の一の記録装置に対する更新用のデータ群を取得する取得手段と、
    前記取得手段によって取得された更新用のデータ群にそれぞれ設定されている各アドレスに基づいて、書込先となる前記各アドレスが共通する度合いを示す重複度を算出する算出手段と、
    前記算出手段によって算出された重複度に応じて、前記一の記録装置へ前記更新用のデータ群を送信するのと同時に他の記録装置へ前記更新用のデータ群を送信する同期方式と、前記一の記録装置へ前記更新用のデータ群を送信した後に当該一の記録装置から前記他の記録装置へ前記更新用のデータ群を送信させる非同期方式とのいずれか一方のデータ移行方式を選択する選択手段と、
    前記選択手段によって選択されたデータ移行方式を実行する実行手段と、
    を備えることを特徴とするデータ移行処理装置。
  7. 複数の記録装置にアクセス可能なコンピュータが、
    前記複数の記録装置の中の一の記録装置に対する更新用のデータ群を取得
    取得された更新用のデータ群にそれぞれ設定されている各アドレスに基づいて、書込先となる前記各アドレスが共通する度合いを示す重複度を算出し
    出された重複度に応じて、前記一の記録装置へ前記更新用のデータ群を送信するのと同時に他の記録装置へ前記更新用のデータ群を送信する同期方式と、前記一の記録装置へ前記更新用のデータ群を送信した後に当該一の記録装置から前記他の記録装置へ前記更新用のデータ群を送信させる非同期方式とのいずれか一方のデータ移行方式を選択
    択されたデータ移行方式を実行す
    処理を実行することを特徴とするデータ移行処理方法。
JP2008136596A 2008-05-26 2008-05-26 データ移行処理プログラム、データ移行処理装置およびデータ移行処理方法 Expired - Fee Related JP5092897B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008136596A JP5092897B2 (ja) 2008-05-26 2008-05-26 データ移行処理プログラム、データ移行処理装置およびデータ移行処理方法
US12/353,838 US8229995B2 (en) 2008-05-26 2009-01-14 Data transfer processing apparatus, data transfer processing method, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008136596A JP5092897B2 (ja) 2008-05-26 2008-05-26 データ移行処理プログラム、データ移行処理装置およびデータ移行処理方法

Publications (2)

Publication Number Publication Date
JP2009282902A JP2009282902A (ja) 2009-12-03
JP5092897B2 true JP5092897B2 (ja) 2012-12-05

Family

ID=41342878

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008136596A Expired - Fee Related JP5092897B2 (ja) 2008-05-26 2008-05-26 データ移行処理プログラム、データ移行処理装置およびデータ移行処理方法

Country Status (2)

Country Link
US (1) US8229995B2 (ja)
JP (1) JP5092897B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5092897B2 (ja) * 2008-05-26 2012-12-05 富士通株式会社 データ移行処理プログラム、データ移行処理装置およびデータ移行処理方法
US9684590B2 (en) 2010-10-25 2017-06-20 Seagate Technology Llc Storing corresponding data units in a common storage unit
US9619017B2 (en) * 2012-11-07 2017-04-11 Qualcomm Incorporated Techniques for utilizing a computer input device with multiple computers
JP6443070B2 (ja) * 2015-01-22 2018-12-26 日本電気株式会社 情報処理システム及び情報処理方法
WO2018113580A1 (zh) * 2016-12-19 2018-06-28 腾讯科技(深圳)有限公司 一种数据管理方法及服务器
TW202324986A (zh) * 2021-12-09 2023-06-16 韓商愛思開海力士有限公司 用於互連協定的錯誤處理的方法、控制器以及儲存裝置

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3014513A1 (de) * 1980-04-16 1981-10-22 Scantron GmbH & Co Elektronische Lesegeräte KG, 6000 Frankfurt Verfahren und vorrichtung zum indentifizieren von gegenstaenden
US4455654B1 (en) * 1981-06-05 1991-04-30 Test apparatus for electronic assemblies employing a microprocessor
JPS5960792A (ja) * 1982-09-30 1984-04-06 Fujitsu Ltd 半導体メモリ装置
US4670782A (en) * 1985-02-08 1987-06-02 Visual Information Institute, Inc. Television video pattern generator system
US4797815A (en) * 1985-11-22 1989-01-10 Paradyne Corporation Interleaved synchronous bus access protocol for a shared memory multi-processor system
US5465163A (en) * 1991-03-18 1995-11-07 Canon Kabushiki Kaisha Image processing method and apparatus for processing oversized original images and for synthesizing multiple images
JPH06318951A (ja) * 1993-01-07 1994-11-15 Toshiba Corp セル転送方法およびセル転送システム
US5737481A (en) * 1994-06-22 1998-04-07 Matsushita Electric Industrial Co., Ltd. Information recording method, information recording apparatus and information recording medium
US5682441A (en) * 1995-11-08 1997-10-28 Storm Technology, Inc. Method and format for storing and selectively retrieving image data
US7681005B1 (en) * 1996-01-11 2010-03-16 Micron Technology, Inc. Asynchronously-accessible memory device with mode selection circuitry for burst or pipelined operation
JP2916421B2 (ja) * 1996-09-09 1999-07-05 株式会社東芝 キャッシュフラッシュ装置およびデータ処理方法
US6094398A (en) * 1996-09-30 2000-07-25 Siemens Aktiengesellschaft DRAM including an address space divided into individual blocks having memory cells activated by row address signals
US5933655A (en) * 1996-09-30 1999-08-03 Allen-Bradley Company, Llc System for scheduling periodic events having varying rates by cascading a plurality of overlapping linked list data structure
JP2001501352A (ja) * 1996-09-30 2001-01-30 シーメンス アクチエンゲゼルシヤフト Dram
GB9702458D0 (en) * 1997-02-06 1997-03-26 British Telecomm Adaptive distributed information network
KR20050052484A (ko) * 1997-03-17 2005-06-02 마츠시타 덴끼 산교 가부시키가이샤 데이터 처리방법
US6081665A (en) * 1997-12-19 2000-06-27 Newmonics Inc. Method for efficient soft real-time execution of portable byte code computer programs
US6157991A (en) * 1998-04-01 2000-12-05 Emc Corporation Method and apparatus for asynchronously updating a mirror of a source device
US6199135B1 (en) * 1998-06-12 2001-03-06 Unisys Corporation Source synchronous transfer scheme for a high speed memory interface
US6298322B1 (en) * 1999-05-06 2001-10-02 Eric Lindemann Encoding and synthesis of tonal audio signals using dominant sinusoids and a vector-quantized residual tonal signal
US6697907B1 (en) * 2000-06-30 2004-02-24 Micron Technology, Inc. Hardware initialization of a synchronous memory
US6304497B1 (en) * 2000-06-30 2001-10-16 Micron Technology, Inc. Synchronous memory status register
US6505200B1 (en) * 2000-07-06 2003-01-07 International Business Machines Corporation Application-independent data synchronization technique
US6895421B1 (en) * 2000-10-06 2005-05-17 Intel Corporation Method and apparatus for effectively performing linear transformations
US6944168B2 (en) * 2001-05-04 2005-09-13 Slt Logic Llc System and method for providing transformation of multi-protocol packets in a data stream
US7042848B2 (en) * 2001-05-04 2006-05-09 Slt Logic Llc System and method for hierarchical policing of flows and subflows of a data stream
JP4083505B2 (ja) * 2001-08-27 2008-04-30 株式会社リコー 画像形成装置,プログラム更新方法および記録媒体
US20110238948A1 (en) * 2002-08-07 2011-09-29 Martin Vorbach Method and device for coupling a data processing unit and a data processing array
JP2004334434A (ja) * 2003-05-06 2004-11-25 Hitachi Ltd 双方向コピー制御機能を有する記憶装置システム
TWI237792B (en) * 2003-07-11 2005-08-11 Via Tech Inc Method and apparatus for updating simultaneously distributed webpage data of various languages, and storage medium therefor
JP2005100262A (ja) * 2003-09-26 2005-04-14 Seiko Epson Corp メモリ管理装置およびメモリ管理プログラム、並びにメモリ管理方法
US7779463B2 (en) * 2004-05-11 2010-08-17 The Trustees Of Columbia University In The City Of New York Systems and methods for correlating and distributing intrusion alert information among collaborating computer systems
GB2415335B (en) * 2004-06-15 2007-09-26 Toshiba Res Europ Ltd Wireless terminal dynamically programmable proxies
US9753754B2 (en) * 2004-12-22 2017-09-05 Microsoft Technology Licensing, Llc Enforcing deterministic execution of threads of guest operating systems running in a virtual machine hosted on a multiprocessor machine
JP2006236019A (ja) * 2005-02-25 2006-09-07 Hitachi Ltd データコピー方式の切替方法
US7565351B1 (en) * 2005-03-14 2009-07-21 Rockwell Automation Technologies, Inc. Automation device data interface
JP4699091B2 (ja) * 2005-05-31 2011-06-08 株式会社日立製作所 ディザスタリカバリ方法およびシステム
JP2007066154A (ja) * 2005-09-01 2007-03-15 Hitachi Ltd データをコピーして複数の記憶装置に格納するストレージシステム
US20070150138A1 (en) * 2005-12-08 2007-06-28 James Plante Memory management in event recording systems
WO2007068746A1 (en) * 2005-12-16 2007-06-21 Nemerix Sa Signal processor and signal processing method
US20060217984A1 (en) * 2006-01-18 2006-09-28 Eric Lindemann Critical band additive synthesis of tonal audio signals
WO2007095127A1 (en) * 2006-02-10 2007-08-23 Qualcomm Mems Technologies, Inc. Method and system for updating of displays showing deterministic content
US8073008B2 (en) * 2006-04-28 2011-12-06 Medtronic Minimed, Inc. Subnetwork synchronization and variable transmit synchronization techniques for a wireless medical device network
JP4906562B2 (ja) * 2007-04-02 2012-03-28 株式会社日立製作所 ストレージ装置及びボリューム復元方法
JP4994103B2 (ja) * 2007-05-08 2012-08-08 パナソニック株式会社 アドレス変換メモリアクセス機構を備える半導体装置
JP5092897B2 (ja) * 2008-05-26 2012-12-05 富士通株式会社 データ移行処理プログラム、データ移行処理装置およびデータ移行処理方法

Also Published As

Publication number Publication date
US20090292788A1 (en) 2009-11-26
JP2009282902A (ja) 2009-12-03
US8229995B2 (en) 2012-07-24

Similar Documents

Publication Publication Date Title
JP5092897B2 (ja) データ移行処理プログラム、データ移行処理装置およびデータ移行処理方法
US7089395B2 (en) Computer systems, virtual storage systems and virtual storage system operational methods
JP4519563B2 (ja) 記憶システム及びデータ処理システム
JP4434235B2 (ja) 計算機システムまたは計算機システムの性能管理方法
JP4170056B2 (ja) 複製ボリューム間でのバックアップ・リストア管理方法およびこの方法に用いる記憶制御装置
JP5565157B2 (ja) データ処理装置、データ処理方法、データ処理プログラムおよびストレージ装置
JP5583227B1 (ja) 物理ブロック間でデータをコピーするディスクアレイ装置、ディスクアレイコントローラ及び方法
US20050060507A1 (en) Remote storage disk control device with function to transfer commands to remote storage devices
JP2003330762A (ja) ストレージシステムの制御方法、ストレージシステム、スイッチ、及びプログラム
JP2007188277A (ja) 記憶制御装置及びそのデータ管理方法
EP3474129A1 (en) Storage system expanded data migration method and storage system
JP2009146228A (ja) バックアップ装置、バックアップ方法およびバックアッププログラム
JP2009064120A (ja) 検索システム
US8108637B2 (en) Information processing system, controlling method in information processing system, and managing apparatus to manage remote copy in consideration of saving power
US7650476B2 (en) System, method and computer program product for generating a consistent point in time copy of data
US20070245081A1 (en) Storage system and performance tuning method thereof
US20080005745A1 (en) Management server and server system
US10846012B2 (en) Storage system for minimizing required storage capacity during remote volume replication pair duplication
JPH07200187A (ja) ディスクアレイ装置
US10268411B1 (en) Policy and heuristic based conversion of write-optimized virtual disk format into read-optimized virtual disk format
JP2022033515A (ja) 記憶システム及び記憶制御方法
JP2022149305A (ja) ストレージシステム、ストレージシステムの移行方法
JPH09223047A (ja) コンピュータネットワークの制御方法
WO2014010011A1 (ja) プログラム、データ管理方法、および情報処理装置
JP2006235737A (ja) ストレージサブシステム及びストレージシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110217

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120523

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120730

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120903

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees