JP2016035669A - データ移行方法及びデータ移行装置 - Google Patents

データ移行方法及びデータ移行装置 Download PDF

Info

Publication number
JP2016035669A
JP2016035669A JP2014158381A JP2014158381A JP2016035669A JP 2016035669 A JP2016035669 A JP 2016035669A JP 2014158381 A JP2014158381 A JP 2014158381A JP 2014158381 A JP2014158381 A JP 2014158381A JP 2016035669 A JP2016035669 A JP 2016035669A
Authority
JP
Japan
Prior art keywords
data
cache
cache data
migration
management information
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
JP2014158381A
Other languages
English (en)
Other versions
JP6365085B2 (ja
Inventor
温 二宮
Atsushi Ninomiya
温 二宮
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 JP2014158381A priority Critical patent/JP6365085B2/ja
Priority to US14/795,917 priority patent/US10001921B2/en
Publication of JP2016035669A publication Critical patent/JP2016035669A/ja
Application granted granted Critical
Publication of JP6365085B2 publication Critical patent/JP6365085B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0893Caches characterised by their organisation or structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • G06F12/0868Data transfer between cache memory and other subsystems, e.g. storage devices or host systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/28Using a specific disk cache architecture
    • G06F2212/283Plural cache memories

Abstract

【課題】効率的にジョブマイグレーションを行うことができるデータ移行方法及びデータ移行装置を提供する。【解決手段】第1のキャッシュデータが記憶された第1のキャッシュメモリを制御する第1の制御部は,第1のキャッシュメモリ上の第1のキャッシュデータの記憶位置を示す情報と,第1のキャッシュメモリにおける所定のデータサイズのブロック毎に,ブロックに対応するキャッシュデータの更新に応じて更新されたキャッシュデータに対応する第1のデータが更新されたか否かを示す情報と,を含む第1の管理情報を作成し,第1の制御部は,第1のキャッシュデータにアクセスするプログラムが他のノードに移行する際に,移行後のプログラムがアクセス可能な第2のキャッシュメモリを制御する第2の制御部に,第1の管理情報を送信する。【選択図】図10

Description

本発明は,データ移行方法及びデータ移行装置に関する。
稼働中の業務システム等において,例えば,予めスケジューリングされたタイミングでジョブの実行が行われる。ジョブは,例えば,コンピュータ(以下,ノードとも呼ぶ)のリソース(例えば,CPUやメモリ等)を使用して動作するプログラムの集合体であり,これらのプログラムが連携して動作することによって処理結果を得るものである。
このようなジョブの実行中において,例えば,ジョブが実行するノードのリソース(メモリやディスク等)の状況に応じて,ジョブが実行されるノードを変更する必要がある場合がある。この場合,運用管理者は,例えば,移行前のノードで実行されるジョブのプロセスを停止し,ジョブが実行するために必要な情報(例えば,ジョブの管理情報やユーザに関する情報等)を移行先のノードに移行する。そして,運用管理者は,さらに,移行先のノードにおいて,移行したジョブのプロセスの実行を再開する(以下,この処理をジョブマイグレーションとも呼ぶ)。これにより,ノードのリソースの状況に応じて,ジョブを実行するノードを柔軟に変更することが可能になる。(例えば,特許文献1乃至2参照)。
特開2012−234564号公報 特開2011−210151号公報
上記のようなジョブの実行中において,例えば,外部記憶装置(以下,単に記憶装置とも呼ぶ)に記憶されたデータへのアクセスが発生した場合,データアクセスを管理するファイルシステムは,アクセスされたデータをノード内のメモリに記憶する場合がある(以下,メモリに記憶されたデータをキャッシュデータとも呼ぶ)。これにより,ジョブが以前アクセスしたデータに再度アクセスする場合に,記憶装置にアクセスすることなくデータを取得することが可能になる。そのため,ジョブによるデータアクセスの効率化を図ることが可能になる。また,ジョブがキャッシュデータを更新した場合,ファイルシステムは,所定のタイミングでキャッシュデータと記憶装置に記憶されたデータとを同期させる。これにより,ジョブがキャッシュデータを更新する毎に記憶装置へのアクセスが発生することを防止することができる。
ここで,ファイルシステムは,ジョブマイグレーションが実行される場合において,ジョブマイグレーションを行う前に,キャッシュデータと記憶装置に記憶されたデータとの同期処理を行う。これにより,ファイルシステムは,ジョブマイグレーションの実行前後でデータの整合性を合わせることが可能になる。そして,ジョブマイグレーションが実行されたジョブ(以下,移行後ジョブとも呼ぶ)は,処理の再開後,記憶装置にアクセスを行うことにより必要なデータを取得する。
しかし,例えば,キャッシュデータと記憶装置に記憶されたデータとの差異が大きい場合,データの同期に時間を要するため,ジョブマイグレーションの完了が遅れる場合がある。また,ジョブマイグレーションが実行された場合,移行後ジョブは,ジョブマイグレーション前にメモリ上に記憶されていたデータについても記憶装置に再度アクセスする必要がある。したがって,ジョブマイグレーションの実行された場合,移行後ジョブによるデータアクセスの効率が低下する。
そこで,一つの実施の形態の目的は,効率的にジョブマイグレーションを行うことができるデータ移行方法及びデータ移行装置を提供することにある。
実施の形態の一つの側面によれば,記憶装置に記憶された第1のデータからキャッシュされた第1のキャッシュデータの移行方法であって,
前記第1のキャッシュデータが記憶された第1のキャッシュメモリを制御する第1の制御部は,前記第1のキャッシュメモリ上の前記第1のキャッシュデータの記憶位置を示す情報と,前記第1のキャッシュメモリにおける所定のデータサイズのブロック毎に,該ブロックに対応するキャッシュデータの更新に応じて該更新されたキャッシュデータに対応する前記第1のデータが更新されたか否かを示す情報と,を含む第1の管理情報を作成し,
前記第1の制御部は,前記第1のキャッシュデータにアクセスするプログラムが他のノードに移行する際に,移行後の前記プログラムがアクセス可能な第2のキャッシュメモリを制御する第2の制御部に,前記第1の管理情報を送信し,
前記第2の制御部は,受信した前記第1の管理情報を参照して,前記第1のキャッシュメモリから前記第1のキャッシュデータを取得し,該取得した第1のキャッシュデータを前記第2のキャッシュメモリに記憶し,
前記第2の制御部は,受信した前記第1の管理情報を参照して,前記記憶した第1のキャッシュデータのうち,前記第1のデータが更新されていないことを示す前記ブロックに対応するキャッシュデータを特定し,該特定したキャッシュデータに基づいて前記第1のデータの更新を行う。
一つの側面によれば,効率的にジョブマイグレーションを行うことができる。
情報処理システムの全体構成を示す図である。 物理マシンによるデータアクセスを説明する図である。 物理マシンによるデータアクセスを説明する図である。 物理マシンによるデータアクセスを説明する図である。 物理マシンによるデータアクセスを説明する図である。 物理マシンによるデータアクセスを説明する図である。 物理マシンのハードウエア構成を示す図である。 図7の物理マシンの機能ブロック図である。 図7の物理マシンの機能ブロック図である。 第1の実施の形態におけるデータ移行処理の概略を示すフローチャート図である。 第1の実施の形態におけるデータ移行処理の概略を説明する図である。 第1の実施の形態におけるデータ移行処理の概略を説明する図である。 第1の実施の形態におけるデータ移行処理の詳細を示すフローチャート図である。 第1の実施の形態におけるデータ移行処理の詳細を示すフローチャート図である。 第1の実施の形態におけるデータ移行処理を説明する図である。 第1の実施の形態におけるデータ移行処理を説明する図である。 第1の実施の形態におけるデータ移行処理を説明する図である。 第2の実施の形態におけるデータ移行処理を示すフローチャート図である。 第2の実施の形態におけるデータ移行処理を説明する図である。 第3の実施の形態におけるデータ移行処理を示すフローチャート図である。 第4の実施の形態におけるデータ移行処理を示すフローチャート図である。 第5の実施の形態におけるデータ移行処理を示すフローチャート図である。 第5の実施の形態におけるデータ移行処理を説明する図である。
[情報処理システムの構成]
図1は,情報処理システムの全体構成を示す図である。図1に示す情報処理システム10は,物理マシン1と,記憶媒体2とが設けられている。そして,情報処理システム10には,例えば,図1に示すように,インターネットやイントラネット等のネットワークを介して,利用者端末3からアクセスが可能になっている。
物理マシン1は,例えば,利用者にサービスを提供する業務システムが構築される物理マシンである。そして,物理マシン1内のCPUにおいてジョブが動作することにより,利用者に対するサービスの提供を実現するための各処理を行う。また,このジョブは,例えば,処理の実行に伴って記憶媒体2に記憶されたデータ(以下,第1のデータとも呼ぶ)の読み込み,または記憶媒体2へのデータの書き込みを行う。なお,図1の例においては,情報処理システム10において3台の物理マシンが設けられている場合について説明するが,これ以外の数の物理マシンが設けられているものであってもよい。
[物理マシンにデータアクセス]
次に,図1に示す物理マシン1によるデータアクセスの具体例を説明する。図2から図6は,物理マシンによるデータアクセスを説明する図である。
図2は,物理マシン1A及び物理マシン1Bの構成を説明する図である。図2における物理マシン1A及び物理マシン1Bは,図1に示す物理マシン1に対応する。図2に示す例において,物理マシン1AのCPUでは,ジョブ(以下,JOBとも呼ぶ)11A,12A,13Aと,ミドルウエア14Aと,ファイルシステム15A(以下,第1の制御部15Aとも呼ぶ)とが動作する。そして,物理マシン1Aのハードウエア(例えば,メモリ)には,記憶領域であるキャッシュ領域16A(以下,キャッシュメモリ16A,第1のキャッシュメモリ16Aとも呼ぶ)が設けられている。また,図2に示す例において,物理マシン1BのCPUでは,ジョブ11B,12Bと,ミドルウエア14Bと,ファイルシステム15B(以下,第2の制御部15Bとも呼ぶ)とが動作する。そして,物理マシン1Bのハードウエアには,記憶領域であるキャッシュ領域16B(以下,キャッシュメモリ16B,第2のキャッシュメモリ16Bとも呼ぶ)が設けられている。なお,図2に示す例において,ミドルウエア14A,ファイルシステム15Aは,例えば,物理マシン1A内のOS上で動作する機能である。また,ミドルウエア14B,ファイルシステム15Bは,例えば,物理マシン1B内のOS上で動作する機能である。
図2に示す例において,ミドルウエア14Aは,物理マシン1AのOS上で動作するジョブ11A,12A,13Aから記憶媒体2内のデータへのアクセス要求を受信した場合に,例えば,ファイルシステム15Aにデータのアクセス要求を行う。そして,ファイルシステム15Aは,ミドルウエア14Aからデータのアクセス要求を受けた場合に,キャッシュ領域16Aにアクセスする。したがって,アクセス要求を受けているデータがキャッシュ領域16Aに記憶されている場合,ファイルシステム15Aは,記憶媒体2にアクセスすることなく,キャッシュ領域16Aに記憶されているデータをジョブに返す。
すなわち,キャッシュ領域16Aには,例えば,ジョブ11A,12A,13Aが以前アクセスした記憶媒体2内のデータが記憶されている。そのため,ファイルシステム15Aは,ジョブから以前にアクセスしたデータへのアクセス要求があった場合,記憶媒体2にアクセスすることなくデータを取得することが可能になる。これにより,ファイルシステム15Aは,データアクセスの効率を高めることが可能になる。なお,ミドルウエア14B,ファイルシステム14B,キャッシュ領域16Bの機能は,それぞれミドルウエア14A,ファイルシステム14A,キャッシュ領域16Aと同じであるため,説明を省略する。
一方,図3に示すように,ジョブからアクセス要求があったデータがキャッシュ領域16Aに記憶されていない場合,ファイルシステム15Aは,記憶媒体2にアクセスを行い,アクセス要求があったデータを取得する。
また,図2に示す例において,ジョブがキャッシュ領域16Aに記憶されたデータの更新(データの書き込み)を行う場合がある。この場合,キャッシュ領域16Aに記憶されたデータと,記憶媒体2に記憶されたデータとの間に差異が生じる。そのため,ファイルシステム15Aは,例えば,図4に示すように,所定のタイミングで,キャッシュ領域16A内における更新されたデータを記憶媒体2に記憶する(以下,これを書き戻しとも呼ぶ)。この所定のタイミングは,例えば,キャッシュ領域16A内に記憶可能な領域がなくなった場合であってよい。これにより,ジョブがキャッシュ領域16に記憶されたデータのみを更新した場合に,キャッシュ領域16Aに記憶されたデータと,記憶媒体2に記憶されたデータとを同期させることが可能になる。
[ジョブマイグレーション]
次に,ジョブマイグレーションについて説明する。図5及び図6は,ジョブマイグレーションの具体例を説明する図である。ジョブマイグレーションは,例えば,ジョブが使用することができるノードのリソースの状況により,ジョブが実行されるノードを変更することである。具体的に,例えば,運用管理者によって,移行前のノードで実行されるジョブのプロセスを停止し,ジョブが実行するために必要な情報を移行先のノードに移行する。そして,移行先のノードにおいて,移行したジョブのプロセスの実行を再開させることによって行われる。これにより,ノードのリソースの状況に応じて,ジョブを実行するノードを柔軟に変更することが可能になる。
ここで,ファイルシステムは,ジョブマイグレーションが実行される場合,ジョブマイグレーションを行う前に,キャッシュデータと記憶装置に記憶されたデータとの同期処理を行う。これにより,ファイルシステムは,ジョブマイグレーションの実行前後でデータの整合性を合わせることが可能になる。そして,移行後ジョブは,処理の再開後,記憶装置にアクセスを行うことにより必要なデータを取得する。
具体的に,図5に示す例は,物理マシン1A内で動作していたジョブ13Aが物理マシン1Bに移行する(ジョブマイグレーションを実行する)場合の例である。図5に示すように,例えば,ミドルウエア14Aがジョブ13Aのジョブマイグレーションの開始を検知した場合,ミドルウエア14Aは,その旨をファイルシステム15Aに通知する。そして,ファイルシステム15Aは,キャッシュ領域16Aに記憶されたデータと記憶媒体2に記憶されたデータの同期を行う。すなわち,ファイルシステム15Aは,例えば,キャッシュ領域16Aに記憶されたデータのうち,記憶媒体2に書き戻されていないデータについて書き戻しを行う。これにより,移行後のジョブ13Aは,物理マシン1Bでの動作の開始後,記憶媒体2にアクセスすることにより,キャッシュ領域16Aに記憶されていたデータにアクセスをすることが可能になる。
しかし,上記のようなジョブマイグレーションが行われる場合において,例えば,キャッシュ領域に記憶されたデータと,記憶媒体に記憶されたデータとの差異が大きい場合,データの同期が完了するまでに多くの時間を要する場合がある。
また,ジョブマイグレーションの完了後,移行後ジョブであるジョブ13Aからデータのアクセス要求があった場合,ファイルシステム15Bは,図6に示すように,初めに,キャッシュ領域16Bにアクセスを行う。ここで,ジョブマイグレーションが実行された直後において,キャッシュ領域16Bには,キャッシュ領域16Aに記憶されていたデータ(ジョブ13Aがアクセスしていたデータ)は記憶されていない。そのため,ファイルシステム15Bは,この場合,ジョブ13Aからデータアクセス要求に応じて,記憶媒体2にアクセスする必要がある。すなわち,ファイルシステム15Bは,この場合,キャッシュ領域16Aに記憶されていたデータについても記憶媒体2から再度取得する必要がある。そのため,ジョブマイグレーションが行われる毎に,ジョブによるデータのアクセス効率が低下する。
そこで,本実施の形態では,ジョブの移行元ノード(物理マシン1A)は,他のノードへ移行するジョブがアクセスするキャッシュデータに関する情報を,ジョブの移行先ノード(物理マシン1B)に送信する。そして,ジョブの移行先ノードは,受信したキャッシュデータに関する情報に基づいて,ジョブの移行元ノードからキャッシュデータを取得して記憶する。これにより,キャッシュデータと記憶媒体2に記憶されたデータとの同期を行うことなく,ジョブマイグレーションを行うことが可能になる。そして,ジョブマイグレーションの実行時において,ジョブの移行元ノードから移行先ノードへキャッシュデータを直接移行させることが可能になる。
[物理マシンのハードウエア構成]
次に,物理マシン1A及び物理マシン1Bの構成について説明する。図7は,物理マシンのハードウエア構成を示す図である。物理マシン1Aは,プロセッサであるCPU101Aと,メモリ102Aと,外部インターフェース(I/Oユニット)103Aと,記憶媒体104Aと,記憶媒体105Aとを有する。各部は,バス106Aを介して互いに接続される。記憶媒体104Aは,例えば,記憶媒体104A内のプログラム格納領域(図示しない)に,各プログラムを記憶する。このプログラムは,例えば,記憶媒体105A内のキャッシュ領域140Aに記憶されたキャッシュデータを他の物理マシンに移行するための処理(以下,データ移行処理とも呼ぶ)を行うためのプログラム110Aである。CPU101Aは,図7に示すように,プログラム110Aの実行時に,プログラム110Aを記憶媒体104Aからメモリ102Aにロードし,プログラム110Aと協働してデータ移行処理を行う。そして,CPU101Aは,例えば,プログラム110Aの実行時に,必要に応じて記憶媒体2にアクセスする。また,記憶媒体104Aは,例えば,データ移行処理を行う際に用いられる情報を記憶する情報格納領域130Aを有する。なお,キャッシュ領域140Aは,例えば,図2等におけるキャッシュ領域16Aに対応する。
また,物理マシン1Bは,プロセッサであるCPU101Bと,メモリ102Bと,外部インターフェース(I/Oユニット)103Bと,記憶媒体104Bと,記憶媒体105Bとを有する。各部は,バス106Bを介して互いに接続される。また,記憶媒体104Bは,例えば,データ移行処理を行う際に用いられる情報を記憶する情報格納領域130Bを有し,記憶媒体105Bは,例えば,キャッシュ領域140Bを有する。その他の構成については,物理マシン1Aと同様であるため,詳細な説明を省略する。
[物理マシンのソフトウエア構成]
図8及び図9は,図7の物理マシンの機能ブロック図である。CPU101Aは,プログラム110Aと協働することにより,例えば,アクセス要求部111Aと,ファイル管理部112Aと,管理データ作成部113Aと,管理データ記憶部114Aとして機能する。また,CPU101Aは,プログラム110Aと協働することにより,例えば,移行検知部115Aと,データ転送部116Aと,データ取得部117Aとして動作する。また,情報格納領域130Aには,例えば,管理データ131A(以下,管理情報131A,第1の管理情報131Aとも呼ぶ)が記憶されており,キャッシュ領域140Aには,キャッシュデータ141A(以下,第1のキャッシュデータ141Aとも呼ぶ)が記憶されている。なお,図2等におけるミドルウエア14Aには,例えば,アクセス要求部111Aが対応する。また,図2等におけるファイルシステム15Aには,例えば,ファイル管理部112Aと,管理データ作成部113Aと,管理データ記憶部114Aと,移行検知部115Aと,データ転送部116Aと,データ取得部117Aとが対応する。
そして,CPU101Bは,プログラム110Bと協働することにより,例えば,アクセス要求部111Bと,ファイル管理部112Bと,管理データ作成部113Bと,管理データ記憶部114Bとして機能する。また,CPU101Bは,プログラム110Bと協働することにより,例えば,移行検知部115Bと,データ転送部116Bと,データ取得部117Bとして動作する。また,情報格納領域130Bには,例えば,管理データ131B(以下,管理情報131B,第2の管理情報131Bとも呼ぶ)が記憶されており,キャッシュ領域140Bには,キャッシュデータ141B(以下,第2のキャッシュデータ141Bとも呼ぶ)が記憶されている。なお,図2におけるミドルウエア14Bには,例えば,アクセス要求部111Bが対応する。また,図2におけるファイルシステム15Bには,例えば,ファイル管理部112Bと,管理データ作成部113Bと,管理データ記憶部114Bと,移行検知部115Bと,データ転送部116Bと,データ取得部117Bとが対応する。以下,図2等に示すように,物理マシン1Aで動作するジョブが物理マシン1Bに移行する場合について説明する。
アクセス要求部111Aは,例えば,ジョブからデータのアクセス要求または更新要求を受信した場合に,後述するファイル管理部112Aに,データのアクセス要求または更新要求を行う。また,アクセス要求部111Aは,例えば,ジョブから記憶媒体2へのデータの書き戻し要求を受信した場合に,後述するファイル管理部112Aに,データの書き戻し要求を行う。アクセス要求部111Bの機能もこれと同様である。
ファイル管理部112Aは,例えば,キャッシュデータ141Aが記憶されたキャッシュ領域140A(以下,第1のキャッシュメモリ140Aとも呼ぶ)の制御を行う。具体的に,ファイル管理部112Aは,例えば,アクセス要求部111Aから受信したデータのアクセス要求に基づき,キャッシュ領域140Aまたは記憶媒体2にアクセスし,アクセス要求されたデータの取得を行う。また,ファイル管理部112Aは,例えば,アクセス要求部111Aから受信したデータの更新要求に基づき,キャッシュ領域140Aにアクセスし,更新要求があったデータの更新を行う。さらに,ファイル管理部112Aは,例えば,アクセス要求部111Aから受信したデータの書き戻し要求に基づき,キャッシュ領域140Aにアクセスし,キャッシュ領域140Aに記憶されたデータを記憶媒体2に書き戻す。ファイル管理部112Bの機能もこれと同様である。
管理データ作成部113Aは,例えば,キャッシュデータ141Aに関する管理データ131Aを作成する。管理データ131Aは,例えば,キャッシュ領域140A上のキャッシュデータ141Aの記憶位置を示す情報を含む情報である。また,管理データ131Aは,例えば,キャッシュ領域140Aにおける所定のデータサイズのブロック毎に,各ブロックに対応するキャッシュデータの更新に応じて,更新されたキャッシュデータに対応する記憶媒体2内のデータが更新されたか否かを示す情報を含む。所定のデータサイズは,例えば,4(KB)である。管理データ131Aの詳細については後述する。また,管理データ記憶部114Aは,例えば,管理データ作成部113Aが作成した管理データ131Aを情報格納領域130Aに記憶する。管理データ作成部113B及び管理データ記憶部114Bの機能もこれと同様である。
移行検知部115Aは,例えば,ジョブマイグレーションが実行される(実行された)場合に,これを検知する。移行検知部115Aは,例えば,ジョブマイグレーションが実行される際に,その旨の通知をジョブマイグレーションが実行される(実行された)ジョブから受信することにより検知するものであってもよい。移行検知部115Bの機能もこれと同様である。
データ転送部116Aは,例えば,移行検知部115Aがジョブマイグレーションの実行を検知した場合に,管理データ作成部113Aが作成した管理データ131Aを物理マシン1Bのデータ取得部117Bに送信する。そして,物理マシン1Bのデータ取得部117Bが管理データ131Aを受信した場合,物理マシン1B内のファイル管理部112Bは,例えば,受信した管理データ131Aを参照し,キャッシュ領域140Aからキャッシュデータ141Aを取得する。さらに,ファイル管理部112Bは,取得したキャッシュデータ141Aをキャッシュ領域140B(以下,第2のキャッシュメモリ140Bとも呼ぶ)に記憶する。すなわち,この場合,物理マシン1Aは,物理マシン1Bに管理データ131Aを送信し,物理マシン1Bは,受信した管理データ131Aを参照して,物理マシン1Aからキャッシュデータ141Aを取得する。そして,ファイル管理部112Bは,その後,記憶したキャッシュデータ141Aのうち,記憶媒体2のデータが更新されていないことを示すブロックに対応するキャッシュデータを特定し,その特定したキャッシュデータに基づいて記憶媒体2のデータの更新を行う。
また,データ転送部116Bは,例えば,移行検知部115Bがジョブマイグレーションの実行を検知した場合に,管理データ作成部113Bが作成した管理データ131Bをデータ取得部117Aに送信するものであってもよい。管理データ131Bは,例えば,キャッシュ領域140Bにキャッシュデータ141Aを記憶する際に,キャッシュデータ141Aの記憶位置を示す情報を含む情報である。そして,この場合,データ転送部116Aは,データ取得部117Aが受信した管理データ131Bを参照して,キャッシュデータ141Aを物理マシン1B内のデータ取得部117Bに送信し,キャッシュ領域140Bに記憶する。すなわち,この場合,物理マシン1Bは,物理マシン1Aに管理データ131Bを送信し,物理マシン1Aが管理データ131Bを参照して物理マシン1Bにキャッシュデータ141Aを送信する。
[第1の実施の形態]
次に,第1の実施の形態について説明する。図10は,第1の実施の形態におけるデータ移行処理の概略を示すフローチャート図である。また,図11及び図12は,第1の実施の形態におけるデータ移行処理の概略を説明する図である。図11及び図12を参照しながら図10のデータ移行処理の概略について説明する。なお,以下,図5等で説明した場合と同様に,物理マシン1Aで動作するジョブ13Aが物理マシン1Bへのジョブマイグレーションを実行する場合を説明する。また,図11及び図12においては,既に説明した図2等と異なる点について説明する。
初めに,物理マシン1A(物理マシン1A内の第1の制御部15A)は,例えば,物理マシン1Aで動作するジョブが他のノードへのジョブマイグレーションを実行するまで待機する(S1のNO)。そして,ジョブマイグレーションの実行を検知した場合(S1のYES),物理マシン1Aは,管理データ131Aを作成する(S2)。そして,物理マシン1Aは,図11に示すように,管理データ131Aを物理マシン1Bに送信する(S3)。
一方,物理マシン1B(物理マシン1B内の第2の制御部15B)は,物理マシン1Aから管理データ131Aを受信するまで待機する(S11のNO)。そして,物理マシン1Aから管理データ131Aを受信したときに(S11のYES),物理マシン1Bは,図11に示すように,管理データ131Aを参照して物理マシン1A内のキャッシュ領域140Aに記憶されたキャッシュデータ141Aにアクセスして取得する(S12)。さらに,物理マシン1Bは,取得したキャッシュデータ141Aをキャッシュ領域140Bに記憶する(S13)。すなわち,本実施の形態における物理マシン1Aは,ジョブマイグレーションの実行時において,キャッシュデータ141Aの記憶位置を示す情報を含む管理データ131Aを物理マシン1Bに送信する。そのため,物理マシン1Bは,受信した管理データ131Aを参照することにより,物理マシン1Aに直接アクセスし,キャッシュデータ141Aを取得することが可能になる。
図10に戻り,物理マシン1Bは,例えば,受信した管理データ131Aを参照して,キャッシュ領域140Aに記憶されたキャッシュデータ141Aのうち,記憶媒体2内のデータが更新されていないことを示すブロックに対応するキャッシュデータを特定する。そして,物理マシン1Bは,例えば,特定したキャッシュデータに基づいて記憶媒体2内のデータを更新する(S14)。すなわち,物理マシン1Bが受信する管理データ131Aは,各ブロックに対応するキャッシュデータが記憶媒体2に書き戻されているか否かを示す情報を有している。そのため,物理マシン1Bは,管理データ131Aを参照することにより,キャッシュデータ141Aのうち,記憶媒体2に書き戻されていないキャッシュデータを特定することができる。そして,物理マシン1Bは,例えば,図11に示すように,ジョブマイグレーションの完了後,特定したキャッシュデータを記憶媒体2に書き戻すことが可能になる(S14)。これにより,物理マシン1Aは,ジョブマイグレーションの実行前において,キャッシュ領域140Aのキャッシュデータ141Aと記憶媒体2内のデータとを同期させる必要がなくなる。そのため,ジョブマイグレーションの実行に要する時間を短縮させることが可能になる。
さらに,図12に示すように,ジョブマイグレーションの完了後に物理マシン1Bで動作を開始(再開)したジョブ13Aは,物理マシン1Aに記憶されていたキャッシュデータ141Aがキャッシュ領域140Bに記憶されている状態で動作を開始することが可能になる。そのため,ジョブ13Aは,キャッシュデータ141Aにアクセスする場合,記憶媒体2にアクセスする必要がなくなる。これにより,ジョブマイグレーションを行ったジョブによるデータアクセスの効率の低下を防止することが可能になる。
このように,第1の実施の形態によれば,キャッシュデータ141Aが記憶されたキャッシュ領域140Aを制御する第1の制御部15Aは,管理データ131Aを作成する。そして,第1の制御部15Aは,キャッシュデータ141Aにアクセスするプログラム(ジョブ)が他のノードに移行する際に,移行後のプログラムがアクセス可能なキャッシュ領域140Bを制御する第2の制御部15Bに,管理データ131Aを送信する。さらに,第2の制御部15Bは,受信した管理データ131Aを参照して,キャッシュ領域140Aからキャッシュデータ141Aを取得し,取得したキャッシュデータ141Aをキャッシュ領域140Bに記憶する。これにより,ジョブマイグレーションに要する時間を短縮することが可能になる。また,ジョブマイグレーションの完了後において,ジョブによるデータのアクセス効率の低下を防止することが可能になる。
なお,本実施の形態におけるデータ移行処理は,物理マシン1Bが物理マシン1Aに管理データ131Bを送信し,受信した管理データ131Bに基づき,物理マシン1Aがキャッシュデータ141Aを物理マシン1Bに送信するものであってもよい。さらに,この場合,物理マシン1Aが物理マシン1Bに管理データ131Aを送信し,物理マシン1Bがキャッシュデータ141Aのうち,記憶媒体2に書き戻されていないキャッシュデータを書き戻すものであってもよい。
[第1の実施の形態の詳細]
次に,第1の実施の形態の詳細について説明する。図13及び図14は,第1の実施の形態におけるデータ移行処理の詳細を説明するフローチャート図である。また,図15から図17は,第1の実施の形態におけるデータ移行処理の詳細を説明する図である。図15から図17を参照しながら,図13及び図14のデータ移行処理の詳細を説明する。なお,以下,物理マシン1Aがキャッシュデータ141Aの移行を行う場合において,キャッシュデータ141Aに含まれる全てのキャッシュデータを物理マシン1Bに送信するものとして説明を行う。
[第1の物理マシンにおいて実行されるデータ移行処理]
初めに,物理マシン1Aにおいて実行されるデータ移行処理について説明する。物理マシン1Aの管理データ作成部113Aは,例えば,所定の条件に合致した場合に,管理データ131Aを作成する(S20)。この所定の条件は,記憶媒体2内のデータがキャッシュ領域140Aにキャッシュされるときに作成され,情報格納領域130Aに記憶されるものであってよい。また,物理マシン1Aのファイル管理部112Aが新たなデータ(例えば,記憶媒体2内に新たに記憶されたデータ)が存在していることを検知したときに,その新たなデータに対応する管理データ131Aを作成するものであってよい。すなわち,管理データ131Aは,ファイル管理部112Aが記憶媒体2内のデータとキャッシュデータ141Aとの対応を管理するために作成されるものであってよい。管理データ131Aの具体例については後述する。
そして,物理マシン1Aのアクセス要求部111Aは,例えば,物理マシン1Aで動作するジョブ(例えば,図2等におけるジョブ13A)が他のノードへのジョブマイグレーションを実行することを検知するまで待機する(S21のNO)。そして,ジョブマイグレーションの実行を検知した場合(S21のYES),管理データ作成部113Aは,例えば,管理データ131Aを複製し,複製した管理データ131A(以下,送信用管理データ131Cとも呼ぶ)の更新を行う。具体的に,管理データ作成部113Aは,例えば,送信用管理データ131Cに含まれるキャッシュ領域140A上のキャッシュデータ141Aの記憶アドレスに関する情報を削除する(S22)。そして,物理マシン1Aのデータ転送部116Aは,例えば,更新した送信用管理データ131Cを物理マシン1Bに送信する(S23)。すなわち,詳細については後述するが,送信用管理データ131Cは,物理マシン1Bへの送信後,物理マシン1Bにおけるキャッシュデータ141Bと記憶媒体2に記憶されたデータとの対応を管理するための管理データ131Bの一部として機能する。そのため,管理データ作成部113Aは,送信用管理データ131Cから,物理マシン1Aでのキャッシュデータ141Aの記憶アドレスに関する情報を削除する。これにより,送信用管理データ131Cが管理データ131Bの一部としての機能を開始した場合,物理マシン1Bは,管理データ131Bによって管理されたキャッシュデータのうち,物理マシン1Aから移行するキャッシュデータを特定することが可能になる。
[移行元ノードの管理データの具体例]
図15は,物理マシン1Aで作成される管理データ131Aの具体例である。図15(A)は,S20において管理データ作成部113Aが作成した管理データ131Aの具体例であり,図15(B)は,S22において管理データ作成部113Aが更新した管理データ131Aの具体例である。
図15に示す管理データ131Aは,例えば,管理データ131Aを識別する識別IDと,ジョブマイグレーションが行われた場合に,管理データ131Aに対応するキャッシュデータ141Aが移行されたか否かを示す移行フラグとを項目として有している。また,図15に示す管理データ131Aは,キャッシュデータ141Aの移行元ノードを識別する移行元ノードIDと,キャッシュデータ141Aの移行先ノードを識別する移行先ノードIDとを項目として有している。また,図15に示す管理データ131Aは,キャッシュデータ141Aが更新されたときに記憶媒体2への書き戻しが完了したか否かを示す書き戻しフラグを項目として有している。また,図15に示す管理データ131Aは,キャッシュデータ141Aに対応するデータが含まれる記憶媒体2内のファイルを識別するファイルIDを項目として有している。さらに,図15に示す管理データ131Aは,キャッシュデータ141Aに対応するデータのファイル内におけるオフセットを示すオフセット情報と,キャッシュデータ141Aのキャッシュメモリ内における記憶位置を示す記憶アドレスとを項目として有している。
具体的に,図15(A)における管理データ131Aは,ジョブマイグレーションが行われる前の状態であるため,移行フラグ,移行元ノードID,移行先ノードIDの項目に情報が設定されていない。また,例えば,図15(A)の例において識別IDが「1」である管理データ131Aには,書き戻しフラグとして,記憶媒体2への書き戻しが完了していることを示す「済」が設定されている。さらに,識別IDが「1」である管理データ131Aは,ファイル識別IDとして「File1−3」が設定されており,オフセット情報として「2000」が設定されており,記憶アドレスとして「0x11223344」が設定されている。また,例えば,図15(A)の例において識別IDが「4」である管理データ131Aには,書き戻しフラグとして,記憶媒体2への書き戻しが完了していないことを示す「未」が設定されている。すなわち,ファイル管理部112Aは,例えば,管理データ131A内の記憶アドレスを参照することにより,キャッシュデータ141Aの記憶位置を特定することが可能になる。また,ファイル管理部112Aは,例えば,管理データ131A内のファイル識別ID及びオフセット情報を参照することにより,記憶媒体2内のデータの記憶位置を特定することが可能になる。さらに,ファイル管理部112Aは,管理データ131Aにより,キャッシュデータ141Aと記憶媒体2内のデータとを対応して管理することが可能になる。なお,図15(A)におけるその他の情報については,上記で説明した情報と同様であるため説明を省略する。
そして,図15(B)示す管理データ131Aは,物理マシン1Aのアクセス要求部111Aが,ジョブマイグレーションの実行を検知した後の管理データ131Aである。そのため,図15(B)に示す管理データ131Aには,ジョブマイグレーションに関する情報である移行元ノードID,移行先ノードIDの項目に情報が設定されている。具体的に,図15(B)の例において識別IDが「1」である管理データ131Aには,移行フラグとして,キャッシュデータの移行が完了していないことを示す「未」が設定されている。さらに,図15(B)の例において識別IDが「1」である管理データ131Aには,移行元IDとして,「No.1」が設定されており,移行先IDとして「No.2」が設定されている。すなわち,図15(B)の管理データ131Aが示すキャッシュデータ141Aは,ジョブマイグレーションの実行に伴い,ノード「No.1」からノード「No.2」に移行する(移行した)ことを示している。また,図15(B)に示す管理データ131Aは,図15(A)に示す管理データ131Aと異なり,記憶アドレスに設定された情報が削除されている。なお,以下,ノード「No.1」は物理マシン1Aに対応し,ノード「No.2」は物理マシン1Bに対応するものとして説明する。また,図15(B)におけるその他の情報については,上記で説明した情報と同様であるため説明を省略する。
[第2の物理マシンにおいて実行されるデータ移行処理]
次に,物理マシン1Bにおいて実行されるデータ移行処理について説明する。物理マシン1Bの管理データ作成部113Bは,例えば,所定の条件に合致した場合に,管理データ131Bを作成する(S30)。すなわち,物理マシン1Aにおいて管理データ131Aが記憶媒体2に記憶されたデータとキャッシュデータ141Aとを対応させて管理しているのと同様に,管理データ131Bは,記憶媒体2に記憶されたデータとキャッシュデータ141Bとを対応させて管理する。なお,所定の条件は,例えば,物理マシン1Aの管理データ作成部113Aが管理データ131Aを作成する条件と同じものであってよい。
また,物理マシン1Bのデータ取得部117Bは,例えば,物理マシン1Aから送信用管理データ131Cを受信するまで待機する(S31のNO)。そして,送信用管理データ131Cを受信した場合,物理マシン1Bのファイル管理部112Bは,例えば,物理マシン1Aから取得するキャッシュデータ141Aを記憶するための記憶領域を確保する(S32)。具体的に,この記憶領域は,ファイル管理部112Bが管理するキャッシュデータ141Bが記憶されているキャッシュ領域140B内の記憶領域であってよい。そして,管理データ作成部113Bは,例えば,送信用管理データ131Cを含むように管理データ131Bを更新する(S33)。すなわち,管理データ作成部113Bは,例えば,受信した送信用管理データ131Cを管理データ131Bの一部として機能させる。以下,管理データ131Bの具体例について説明する。
[移行先ノードの管理データの具体例(1)]
図16は,物理マシン1Bで作成される管理データ131Bの具体例である。図16(A)は,S30において管理データ作成部113Bが作成した管理データの具体例であり,図16(B)は,S33において管理データ作成部113Aが更新した管理データの具体例である。
図16に示す管理データ131Bは,図15において説明した管理データ131Aと同じ項目を有している。具体的に,図16(A)に示す管理データ131Bは,図15(A)に示す管理データ131Aと同様に,移行フラグ,移行元ノードID,移行先ノードIDの項目に情報が設定されていない。また,例えば,図16(A)の例において識別IDが「1」である管理データ131Bには,書き戻しフラグとして「済」が設定されている。さらに,図16(A)の例において識別IDが「1」である管理データ131Bには,ファイル識別IDとして「File2−1」が設定されており,オフセット情報として「1700」が設定されており,記憶アドレスとして「0x55443322」が設定されている。なお,図16(A)におけるその他の情報については,上記で説明した情報と同様であるため説明を省略する。
そして,図16(B)における管理データ131Bは,S33において管理データ作成部113Bが更新した管理データの具体例である。図16(B)における管理データ131Bにおいて,識別IDが「1」から「4」である管理データ131Bは,それぞれ,図15(B)の例における識別IDが「1」から「4」である管理データ131A(送信用管理データ131C)に対応する。そして,図16(B)における管理データ131Bにおいて,識別IDが「5」から「7」である管理データ131Bは,それぞれ,図16(A)の例における識別IDが「1」から「3」である管理データ131Bに対応する。
すなわち,図16(B)における管理データ131Bは,図16(A)における管理データ131Bの状態から,図15(B)における管理データ131A(送信用管理データC)を含む形で更新されている。これにより,ファイル管理部112Bは,キャッシュデータ141Aの移行が完了した後,キャッシュデータ141Aをキャッシュデータ141Bと同様に管理することが可能になる。具体的に,管理データ131Aは,キャッシュデータ141Aのうち,記憶媒体2への書戻しが完了していないキャッシュデータに関する情報を含んでいる。そのため,図16(B)に示す管理データ131Bは,キャッシュデータ141Aのうち,書戻しが完了しているキャッシュデータと,書戻しが完了していないキャッシュデータとを区別して管理することが可能になる。したがって,物理マシン1Aのファイル管理部112Aは,ジョブマイグレーションが実行された際に,キャッシュデータ141Aと記憶媒体2に記憶されたデータとを同期することなく,物理マシン間で直接キャッシュデータの移行を行うことが可能になる。
図14に戻り,データ取得部117Bは,例えば,物理マシン1A内のキャッシュ領域140Aに記憶された管理データ131Aにアクセスを行う(S34)。すなわち,S31においてデータ取得部117Bが送信用管理データ131Cを受信してから,後述するS35においてデータ取得部117Bが管理データ131Bを参照してキャッシュデータ141Aを取得するまでに,タイムラグがある可能性がある。この場合,キャッシュデータ141Aを取得する前に,キャッシュデータ141Aが記憶されているキャッシュ領域140A内の記憶位置が変更されている可能性がある。そのため,データ取得部117Bは,例えば,キャッシュデータ141Aの取得を行う際に,管理データ131B内の情報に基づき物理マシン1Aに記憶されている管理データ131Aを参照し,キャッシュデータ141Aへのアクセスを行う。これにより,キャッシュデータ141Aを取得する前に,キャッシュデータ141Aが記憶されているキャッシュ領域140A内の記憶位置が変更された場合であっても,データ取得部117Bは,キャッシュデータ141Aの取得を行うことが可能になる。
具体的に,例えば,同じキャッシュデータを管理する管理データ131Aと管理データ131Bとは,ファイル識別ID及びオフセット情報については同じ情報が設定されている。これは,ジョブマイグレーションの実行に伴ってキャッシュデータが移行した場合においても,そのキャッシュデータに対応する記憶媒体2内のデータの記憶位置に変更がないためである。したがって,ファイル管理部112Bは,例えば,図16(B)に示す管理データ131Bのうち,識別IDが「3」である管理データのファイル識別IDである「File2−3」とオフセットIDである「1100」を参照する。そして,図16(A)に示す管理データ131Aから,ファイル識別IDが「File2−3」であって,オフセットIDが「1100」である管理データを検索する。これにより,ファイル管理部112Bは,管理データ131B内の情報に基づき,管理データ131A内における対応する情報を取得することが可能になる。
図14に戻り,データ取得部117Bは,例えば,管理データ131Bに対応する管理データ131Aに基づき,物理マシン1A内のキャッシュ領域140Aに記憶されたキャッシュデータ141を取得する(S35)。続いて,ファイル管理部112Bは,例えば,データ取得部117Bが取得したキャッシュデータ141Aをキャッシュ領域140Bに記憶する(S36)。ここで,管理データ作成部113Bは,キャッシュデータ141Aをキャッシュ領域140Bに記憶する場合,図17に示すように,管理データ131Bの記憶アドレスに,キャッシュデータ141Aが記憶されたキャッシュ領域140B内の記憶位置を示す情報を記憶する。具体的に,管理データ作成部113Bは,例えば,図17に示すように,識別IDが「1」である管理データ131Bに,記憶アドレスとして「0x99887766」を記憶する。さらに,管理データ作成部113Bは,図17に示すように,移行フラグ,移行元ノードID,移行先ノードIDの情報を削除する。これにより,管理データ作成部113Bは,キャッシュ領域140Bに記憶されたキャッシュデータ141Aとキャッシュ領域140Bに記憶されているキャッシュデータ141Bとを同じように管理することが可能になる。図17におけるその他の情報についても同様であるため説明を省略する。
なお,移行後ジョブは,例えば,図14に示すフローチャートにおけるS36の後だけでなく,図14に示すフローチャートにおけるS33の後であってS34の前に動作を開始するものであってよい。すなわち,移行後ジョブは,キャッシュデータ141Aが物理マシン1B内のキャッシュ領域140Bに移行する前に動作を再開するものであってよい。そして,この場合,データ取得部117Bは,移行後ジョブからキャッシュデータ141Aに含まれるデータにアクセス要求があったときに,初めて,キャッシュ領域140Aに記憶されているキャッシュデータ141Aの全部または一部を取得するものであってよい。
図14に戻り,ファイル管理部112Bは,例えば,所定のタイミングで管理データ131Bを参照し,キャッシュデータ141Aのうち,記憶媒体2への書戻しが完了していないキャッシュデータを特定する。そして,ファイル管理部112Bは,例えば,記憶媒体2への書戻しを行う(S40)。この所定のタイミングは,例えば,キャッシュ領域140B内の記憶領域に空きがなくなった場合等であってよい。
[第2の実施の形態]
次に,第2の実施の形態について説明する。図18は,第2の実施の形態におけるデータ移行処理を示すフローチャートである。また,図19は,第2の実施の形態におけるデータ移行処理を説明する図である。図19を参照しながら,図18のデータ移行処理について説明する。
第2の実施の形態では,ファイル管理部112A,112Bは,所定のデータサイズ(例えば,4(KB))のブロック毎にキャッシュデータを管理する。そして,例えば,キャッシュ領域140A上のキャッシュデータ141Aのうち,所定の条件に合致したキャッシュデータのみを物理マシン1Bに移行する。これにより,ジョブマイグレーションに伴って,必要性が高いキャッシュデータから順に移行を行うことができる。また,物理マシン1Aは,物理マシン1Bに最低限移行する必要があるキャッシュデータの移行のみ行うことができる。そのため,ジョブマイグレーションが完了するまでに要する処理時間をさらに短縮させることが可能になる。以下,図14のS34,S35の詳細を説明することにより,第2の実施の形態のデータ移行処理の詳細を説明する。また,以下,図14のS34,S35の処理をデータ取得処理とも呼ぶ。なお,第2の実施の形態におけるその他の処理については,図13及び図14において説明した第1の実施の形態の処理を同じであるため,ここでは説明を省略する。
図18において,初めに,物理マシン1Bのデータ取得部117Bは,例えば,図14のS31において受信した管理データ131Aのうち,最初のブロックに記憶されたキャッシュデータ141Aに関する情報を参照する(S41)。すなわち,第2の実施の形態では,データ取得部117Bは,キャッシュデータ141Aの移行を行う際に,管理データ131Aを参照し,キャッシュデータを移行する必要があるか否かをブロック単位で判定する。なお,以下,データ取得部117Bが判定を行っているブロックを判定ブロックとも呼ぶ。
次に,データ取得部117Bは,判定ブロックに対応する管理データ131Aの記憶アドレスの情報が削除されているか否かを判定する(S42)。そして,記憶アドレスの情報が削除されている場合(S42のYES),データ取得部117Bは,例えば,図14のS34と同様に,物理マシン1A内に記憶された管理データ131Aにアクセスする(S43)。さらに,データ取得部117Bは,例えば,アクセスした物理マシン1A内の管理データ131Aを参照して,判定ブロックに記憶されたキャッシュデータを取得する(S44)。一方,記憶アドレスの情報が削除されていない場合(S42のNO),データ取得部117Bは,判定ブロックに記憶されたキャッシュデータの取得を行わない。すなわち,図14のS31においてデータ取得部117Bが管理データ131Aを受信した後であって,S44においてデータ取得部117Bがキャッシュデータ141Aを取得するまでの間に,物理マシン1Bにおいて移行したジョブの動作が開始する場合がある。そして,S44においてデータ取得部117Bがキャッシュデータ141Aを取得するまでの間に動作を開始したジョブが,キャッシュデータ141Aに含まれるデータと同じデータを記憶媒体2から取得する場合がある。この場合,ジョブが記憶媒体2から取得したデータは,キャッシュ領域140B上に記憶されるため,データ取得部117Bは,同じデータを物理マシン1Aから取得する必要はなくなる。したがって,この場合,データ取得部117Bは,キャッシュデータ141Aのうち,キャッシュ領域140B上に記憶されていないキャッシュデータのみを移行することにより,キャッシュデータの移行に要するCPUの処理負担や時間を削減することが可能になる。
図18に戻り,データ取得部117Bは,例えば,管理データ131Bを参照し,全てのブロックに記憶されたキャッシュデータの判定が終了した場合(S45のYES),データ取得処理を終了する。一方,判定が終了していないブロックに記憶されたキャッシュデータの判定が終了していない場合には(S45のNO),データ取得部117Bは,例えば,次のブロックを参照し(S46),データ取得処理を継続する。以下,第2の実施の形態におけるデータ移行処理の具体例を説明する。なお,以下,管理データ131Bの識別IDは,それぞれ各ブロックに対応しているものとして説明を行う。
図19は,データ取得部117Bが物理マシン1Aからキャッシュデータ141Aを取得する前に,移行後ジョブが記憶媒体2にアクセスした場合を説明する図である。具体的に,図19は,図16(B)の状態の後,ジョブが記憶媒体2にアクセスし,識別IDが「3」であるデータがキャッシュ領域140Bに記憶された場合の例である。そのため,識別IDが「3」である管理データ131Bの記憶アドレスには,ジョブがアクセスした記憶媒体2内のデータが記憶されたキャッシュ領域140B上の記憶アドレスである「0x00112233」が記憶されている。さらに,識別IDが「3」である管理データ131Bの移行フラグ,移行元ノードID,移行先ノードIDの情報は削除されている。これにより,データ取得部117Bがキャッシュデータ141Aを取得する場合,データ取得部117Bは,管理データ131Bを参照し,識別IDが「3」である管理データ131Bに対応するキャッシュデータを取得する必要がないと判定することが可能になる。
すなわち,第2の実施形態におけるデータ移行処理では,データ取得部117Bは,キャッシュデータ141Aのうち,管理データ131Bの記憶アドレスが削除されているブロックに記憶されたキャッシュデータのみの移行を行う。これにより,データ取得部117Bは,移行後ジョブがアクセスしてキャッシュ領域140Bに記憶されたデータを,物理マシン1Aから取得することを防止することができる。そのため,キャッシュデータの移行に要するCPUの処理負担や時間をさらに削減することが可能になる。
[第3の実施の形態]
次に,第3の実施の形態について説明する。図20は,第3の実施の形態におけるデータ移行処理を示すフローチャートである。
第3の実施の形態では,第2の実施の形態と異なり,データ取得部117Bは,管理データ131Bのうち,ジョブマイグレーションの実行に伴って移行するキャッシュデータに関する管理データを特定する。そして,データ取得部117Bは,ジョブマイグレーションの実行に伴って移行するキャッシュデータのみを移行する。これにより,第2の実施の形態の場合と同様に,データ取得部117Bは,移行後ジョブがアクセスしてキャッシュ領域140Bに記憶されたデータについて,物理マシン1Aから取得することを防止することが可能になる。以下,第2の実施の形態と同様に,図14のS34,S35の詳細を説明することにより,第3の実施の形態のデータ移行処理の詳細を説明する。
図20において,初めに,物理マシン1Bのデータ取得部117Bは,第2の実施の形態と同様に,例えば,図14のS31において受信した管理データ131Aのうち,最初のブロックに記憶されたキャッシュデータ141Aに関する情報を参照する(S51)。そして,データ取得部117Bは,第2の実施の形態と異なり,判定ブロックに対応する管理データ131Aが,ジョブマイグレーションに伴って物理マシン1Bに移行するキャッシュデータであるか否かを判定する(S52)。具体的に,データ取得部117Bは,例えば,移行フラグ,移行元ノードID,移行先ノードIDに情報が設定されている管理データ131Bに対応するキャッシュデータを,移行する必要があるキャッシュデータとして特定する。これにより,データ取得部117Bは,移行後ジョブによるアクセスに応じてキャッシュ領域140Bに記憶されたキャッシュデータを,物理マシン1Aから取得することを防止することができる。
そして,ジョブマイグレーションに伴って移行するキャッシュデータである場合(S52のYES),データ取得部117Bは,第2の実施の形態と同様に,例えば,物理マシン1A内に記憶された管理データ131Aにアクセスする(S53)。そして,データ取得部117Bは,例えば,アクセスした管理データ131Aを参照して,キャッシュデータ141Aのうち,判定ブロックに記憶されたキャッシュデータを取得する(S54)。一方,ジョブマイグレーションに伴って物理マシン1Bに移行するキャッシュデータではない場合(S52のNO),データ取得部117Bは,判定ブロックに記憶されたキャッシュデータ141Aの取得を行わない。第3の実施の形態のその他の処理は,第2の実施の形態の処理と同じであるため,ここでは説明を省略する。
すなわち,第3の実施形態におけるデータ移行処理では,データ取得部117Bは,キャッシュデータ141Aのうち,ジョブマイグレーションの実行に伴って移行するキャッシュデータのみの移行を行う。これにより,データ取得部117Bは,第2の実施の形態と同様に,移行後ジョブがアクセスしてキャッシュ領域140Bに記憶されたデータを,物理マシン1Aから取得することを防止することができる。そのため,キャッシュデータの移行に要するCPUの処理負担や時間をさらに削減することが可能になる。
[第4の実施の形態]
次に,第4の実施の形態について説明する。図21は,第4の実施の形態におけるデータ移行処理を示すフローチャートである。
第4の実施の形態では,第2の実施の形態と異なり,データ取得部117Bは,管理データ131Bを参照し,キャッシュ領域140Aに記憶されたキャッシュデータ141Aのうち,記憶媒体2に書き戻されていないキャッシュデータを特定する。そして,データ取得部117Bは,記憶媒体2に書き戻されていないキャッシュデータのみを移行する。これにより,キャッシュデータ141A,141Bと記憶媒体2に記憶されたデータとの間で整合性を確保するために必要な最低限のキャッシュデータのみを移行することが可能になる。そのため,ジョブマイグレーションに要するCPUの処理負担や時間を削減することが可能になる。以下,第2の実施の形態と同様に,図14のS34,S35の詳細を説明することにより,第4の実施の形態のデータ移行処理の詳細を説明する。
図21において,初めに,物理マシン1Bのデータ取得部117Bは,第2の実施の形態と同様に,例えば,図14のS31において受信した管理データ131Aのうち,最初のブロックに記憶されたキャッシュデータ141Aに関する情報を参照する(S61)。そして,データ取得部117Bは,第2の実施の形態と異なり,判定ブロックに対応する管理データ131Aの書戻しフラグが「済」であるか否かを確認する。これにより,データ取得部117Bは,キャッシュデータ141Aのうち,記憶媒体2への書戻しが完了していないキャッシュデータが記憶されているブロックを特定することが可能になる。
そして,記憶媒体2への書戻しが完了していないキャッシュデータである場合(S62のYES),データ取得部117Bは,第2の実施の形態と同様に,例えば,物理マシン1A内に記憶された管理データ131Aにアクセスする(S63)。そして,データ取得部117Bは,例えば,アクセスした管理データ131Aを参照して,キャッシュデータ141Aのうち,判定ブロックに記憶されたキャッシュデータを取得する(S64)。一方,記憶媒体2への書戻しが完了していないキャッシュデータでない場合(S62のNO),データ取得部117Bは,判定ブロックに記憶されたキャッシュデータ141Aの取得を行わない。第4の実施の形態のその他の処理は,第2の実施の形態の処理と同じであるため,ここでは説明を省略する。
すなわち,第4の実施形態におけるデータ移行処理では,データ取得部117Bは,キャッシュデータ141Aのうち,記憶媒体2に書き戻されていないキャッシュデータのみの移行を行う。これにより,データ取得部117Bは,ジョブマイグレーションの実行前後において,ジョブがアクセスするデータの内容の整合性を合わせることが可能になる。
[第5の実施の形態]
次に,第5の実施の形態について説明する。図22は,第5の実施の形態におけるデータ移行処理を示すフローチャートである。また,図23は,第5の実施の形態におけるデータ移行処理を説明する図である。図23を参照しながら,図22のデータ移行処理を説明する。
第5の実施の形態では,データ取得部117Bは,管理データ131Bを参照し,キャッシュデータ141Aのうち,ジョブマイグレーションを行う前のジョブによって最後にアクセスされた時間が,所定時間よりも後であるキャッシュデータを特定する。これにより,データ取得部117Bは,キャッシュ領域140Aに記憶されたキャッシュデータ141Aのうち,マイグレーションを行ったジョブによりアクセスされる可能性の高いキャッシュデータの取得を行うことができる。そのため,ジョブマイグレーションに要するCPUの処理負担や時間を削減することが可能になる。以下,第2の実施の形態と同様に,図14のS34,S35の詳細を説明することにより,第5の実施の形態のデータ移行処理の詳細を説明する。
初めに,第5の実施の形態における管理データ131Bの具体例を説明する。図23は,第5の実施の形態における管理データ131Bの具体例である。
図23に示す管理データ131Bは,例えば,図19(A)に示す管理データ131に対して,ジョブが最後にキャッシュデータ141Aにアクセスした時間を示すアクセス時間を項目として有している。具体的に,例えば,識別IDが「1」である管理データ131Bは,アクセス時間として「2014年6月30日18時15分12秒」を設定している。この管理データ131Bのアクセス時間は,例えば,管理データ作成部113A,113Bが,ジョブによるキャッシュデータのアクセスがあったことを検知した場合に設定するものであってよい。図23のその他の情報については,上記の内容と同じであるため説明を省略する。
次に,第5の実施の形態におけるデータ移行処理の詳細を説明する。図22において,初めに,物理マシン1Bのデータ取得部117Bは,第2の実施の形態と同様に,例えば,図14のS31において受信した管理データ131Aのうち,最初のブロックに記憶されたキャッシュデータ141Aに関する情報を参照する(S71)。そして,データ取得部117Bは,第2の実施の形態と異なり,判定ブロックに対応する管理データ131Bのアクセス時間が所定の時間よりも後であるか否かを判定する(S72)。なお,この所定の時間は,例えば,現在時間の3時間前等であってよい。これにより,データ取得部117Bは,所定の時間よりも後にジョブによってアクセスされたキャッシュデータを特定することが可能になる。
そして,アクセス時間が所定の時間よりも後である場合(S72のYES),データ取得部117Bは,第2の実施の形態と同様に,例えば,物理マシン1A内に記憶された管理データ131Aにアクセスする(S73)。そして,データ取得部117Bは,例えば,アクセスした管理データ131Aを参照して,キャッシュデータ141Aのうち,判定ブロックに記憶されたキャッシュデータを取得する(S74)。一方,アクセス時間が所定の時間よりも前である場合(S72のNO),データ取得部117Bは,判定ブロックに記憶されたキャッシュデータ141Aの取得を行わない。第5の実施の形態のその他の処理は,第2の実施の形態の処理と同じであるため,ここでは説明を省略する。
なお,第5の実施の形態において,データ取得部117は,第4の実施の形態で説明した場合と同様に,キャッシュデータ141Aのうち,記憶媒体2に書き戻されていないキャッシュデータについては移行を行うことが好ましい。これにより,データ取得部117Bは,ジョブマイグレーションの実行前後において,ジョブがアクセスするデータの内容の整合性を合わせることが可能になる。
すなわち,第5の実施形態におけるデータ移行処理では,データ取得部117Bは,キャッシュデータ141Aのうち,ジョブによって最後にアクセスされた所定の時間よりも後であるキャッシュデータのみの移行を行う。これにより,データ取得部117Bは,移行後ジョブがアクセスする可能性が高いキャッシュデータのみを移行することが可能になる。そのため,キャッシュデータの移行に要するCPUの処理負担や時間をさらに削減させることが可能になる。また,移行後ジョブによるデータアクセスの効率低下を防ぐことが可能になる。
以上の実施の形態をまとめると,以下の付記のとおりである。
(付記1)
記憶装置に記憶された第1のデータからキャッシュされた第1のキャッシュデータのデータ移行方法であって,
前記第1のキャッシュデータが記憶された第1のキャッシュメモリを制御する第1の制御部は,前記第1のキャッシュメモリ上の前記第1のキャッシュデータの記憶位置を示す情報と,前記第1のキャッシュメモリにおける所定のデータサイズのブロック毎に,該ブロックに対応するキャッシュデータの更新に応じて該更新されたキャッシュデータに対応する前記第1のデータが更新されたか否かを示す情報と,を含む第1の管理情報を作成し,
前記第1の制御部は,前記第1のキャッシュデータにアクセスするプログラムが他のノードに移行する際に,移行後の前記プログラムがアクセス可能な第2のキャッシュメモリを制御する第2の制御部に,前記第1の管理情報を送信し,
前記第2の制御部は,受信した前記第1の管理情報を参照して,前記第1のキャッシュメモリから前記第1のキャッシュデータを取得し,該取得した第1のキャッシュデータを前記第2のキャッシュメモリに記憶し,
前記第2の制御部は,受信した前記第1の管理情報を参照して,前記記憶した第1のキャッシュデータのうち,前記第1のデータが更新されていないことを示す前記ブロックに対応するキャッシュデータを特定し,該特定したキャッシュデータに基づいて前記第1のデータの更新を行う,
データ移行方法。
(付記2)
付記1において,
前記第1の管理情報を送信する工程の後,前記第1の制御部は,前記第1のメモリキャッシュにおける第1のキャッシュデータの記憶位置が変更された場合,前記第1の管理情報に含まれる前記第1のキャッシュデータの記憶位置を示す情報を更新し,
前記第1のキャッシュデータを記憶する工程では,前記第2の制御部は,前記更新された第1の管理情報を参照して,前記第1のキャッシュデータの取得を行うデータ移行方法。
(付記3)
付記1において,
前記第1の管理情報を送信する工程の前に,前記第2の制御部は,前記第2にキャッシュメモリ上の第2のキャッシュデータの記憶位置を示す情報を含む第2の管理情報を作成し,
前記第1の管理情報を送信する工程では,前記第2の制御部は,受信した前記第1の管理情報に,前記第1のキャッシュデータを記憶する第2のキャッシュメモリ上の記憶位置を設定し,該設定した第1の管理情報を含むように前記第2の管理情報を更新し,
前記第1のキャッシュデータを記憶する工程では,前記第2の制御部は,前記更新した第2の管理情報を参照して前記第1のキャッシュデータを取得し,該取得した第1のキャッシュデータを前記第2のキャッシュデータ内の少なくとも一部として記憶するデータ移行方法。
(付記4)
付記3において,
前記キャッシュデータを記憶する工程では,前記第2の制御部は,前記第2のメモリキャッシュに記憶されたキャッシュデータのうち,前記第2の管理情報に,前記第1のデータが更新されていないことを示す情報が設定された前記ブロックに対応するキャッシュデータの取得を行うデータ移行方法。
(付記5)
付記3において,
前記第1及び第2の管理情報は,それぞれ前記第1または第2のキャッシュメモリにおける所定のデータサイズのブロック毎に,キャッシュデータが記憶されているか否かを示す情報を含み,
前記第1の管理情報を送信する工程では,前記第1の制御部は,前記送信する第1の管理情報に,全ての前記ブロックにキャッシュデータが記憶されていないことを示す情報を設定し,
前記第1のキャッシュデータを記憶する工程では,前記第2の制御部は,前記第2にメモリキャッシュに記憶されたキャッシュデータのうち,前記第2の管理情報にキャッシュデータが記憶されていないことを示す情報が設定された前記ブロックに対応するキャッシュデータの取得を行い,該取得したキャッシュデータに対応する前記ブロックにキャッシュデータが記憶されていることを示す情報を前記第2の管理情報に設定するデータ移行方法。
(付記6)
付記3において,
前記第1及び第2の管理情報は,それぞれ前記第1または第2のキャッシュメモリにおける所定のデータサイズのブロック毎に,該ブロックに対応するキャッシュデータが他のノードから移行したキャッシュデータであるか否かを示す情報を含み,
前記キャッシュデータを記憶する工程では,前記第2の制御部は,前記第2のメモリキャッシュに記憶されたキャッシュデータのうち,前記第2の管理情報に,他のノードから移行したキャッシュデータであることを示す情報が設定された前記ブロックに対応するキャッシュデータの取得を行うデータ移行方法。
(付記7)
付記3において,
前記第1及び第2の管理情報は,それぞれ前記第1または第2のキャッシュメモリにおける所定のデータサイズのブロック毎に,該ブロックに対応するキャッシュデータが移行前の前記プログラムによって最後にアクセスされた時間を示す情報を含み,
前記第2の制御部は,前記第2のメモリキャッシュに記憶されたキャッシュデータのうち,前記第2の管理情報に,最後にアクセスされた時間として,所定の時間よりも後の時間が設定された前記ブロックに対応するキャッシュデータの取得を行うデータ移行方法。
(付記8)
記憶装置に記憶された第1のデータからキャッシュされたキャッシュデータが記憶されたキャッシュメモリと,
前記キャッシュメモリを制御し,前記キャッシュメモリ上の前記キャッシュデータの記憶位置を示す情報と,前記キャッシュメモリにおける所定のデータサイズのブロック毎に,該ブロックに対応するキャッシュデータの更新に応じて該更新されたキャッシュデータに対応する前記第1のデータが更新されたか否かを示す情報と,を含む第1の管理情報を作成し,前記キャッシュデータにアクセスするプログラムが他のノードに移行する際に,移行後の前記プログラムがアクセス可能な他のキャッシュメモリを制御する他の制御部に,前記第1の管理情報を送信する制御部と,を有する,
データ移行装置。
(付記9)
記憶装置に記憶された第1のデータからキャッシュされたキャッシュデータが記憶されたキャッシュメモリと,
他のキャッシュメモリ上の他のキャッシュデータの記憶位置を示す情報と,前記他のキャッシュメモリにおける所定のデータサイズのブロック毎に,該ブロックに対応するキャッシュデータの更新に応じて該更新されたキャッシュデータに対応する前記第1のデータが更新されたか否かを示す情報と,を含む第1の管理情報を,他の制御部から受信し,該受信した第1の管理情報を参照して,前記他のキャッシュメモリから前記他のキャッシュデータを取得し,該取得した他のキャッシュデータを前記キャッシュメモリに記憶し,前記受信した前記第1の管理情報を参照して,前記記憶したキャッシュデータのうち,前記第1のデータが更新されていないことを示す前記ブロックに対応するキャッシュデータを特定し,該特定したキャッシュデータに基づいて前記第1のデータの更新を行う制御部と,を有する,
データ移行装置。
1,1A,1B:物理マシン 2:記憶媒体
14A,14B:ミドルウエア 15A,15B:ファイルシステム
16A,16B:キャッシュ領域

Claims (8)

  1. 記憶装置に記憶された第1のデータからキャッシュされた第1のキャッシュデータのデータ移行方法であって,
    前記第1のキャッシュデータが記憶された第1のキャッシュメモリを制御する第1の制御部は,前記第1のキャッシュメモリ上の前記第1のキャッシュデータの記憶位置を示す情報と,前記第1のキャッシュメモリにおける所定のデータサイズのブロック毎に,該ブロックに対応するキャッシュデータの更新に応じて該更新されたキャッシュデータに対応する前記第1のデータが更新されたか否かを示す情報と,を含む第1の管理情報を作成し,
    前記第1の制御部は,前記第1のキャッシュデータにアクセスするプログラムが他のノードに移行する際に,移行後の前記プログラムがアクセス可能な第2のキャッシュメモリを制御する第2の制御部に,前記第1の管理情報を送信し,
    前記第2の制御部は,受信した前記第1の管理情報を参照して,前記第1のキャッシュメモリから前記第1のキャッシュデータを取得し,該取得した第1のキャッシュデータを前記第2のキャッシュメモリに記憶し,
    前記第2の制御部は,受信した前記第1の管理情報を参照して,前記記憶した第1のキャッシュデータのうち,前記第1のデータが更新されていないことを示す前記ブロックに対応するキャッシュデータを特定し,該特定したキャッシュデータに基づいて前記第1のデータの更新を行う,
    データ移行方法。
  2. 請求項1において,
    前記第1の管理情報を送信する工程の後,前記第1の制御部は,前記第1のメモリキャッシュにおける第1のキャッシュデータの記憶位置が変更された場合,前記第1の管理情報に含まれる前記第1のキャッシュデータの記憶位置を示す情報を更新し,
    前記第1のキャッシュデータを記憶する工程では,前記第2の制御部は,前記更新された第1の管理情報を参照して,前記第1のキャッシュデータの取得を行うデータ移行方法。
  3. 請求項1において,
    前記第1の管理情報を送信する工程の前に,前記第2の制御部は,前記第2にキャッシュメモリ上の第2のキャッシュデータの記憶位置を示す情報を含む第2の管理情報を作成し,
    前記第1の管理情報を送信する工程では,前記第2の制御部は,受信した前記第1の管理情報に,前記第1のキャッシュデータを記憶する第2のキャッシュメモリ上の記憶位置を設定し,該設定した第1の管理情報を含むように前記第2の管理情報を更新し,
    前記第1のキャッシュデータを記憶する工程では,前記第2の制御部は,前記更新した第2の管理情報を参照して前記第1のキャッシュデータを取得し,該取得した第1のキャッシュデータを前記第2のキャッシュデータ内の少なくとも一部として記憶するデータ移行方法。
  4. 請求項3において,
    前記第1及び第2の管理情報は,それぞれ前記第1または第2のキャッシュメモリにおける所定のデータサイズのブロック毎に,キャッシュデータが記憶されているか否かを示す情報を含み,
    前記第1の管理情報を送信する工程では,前記第1の制御部は,前記送信する第1の管理情報に,全ての前記ブロックにキャッシュデータが記憶されていないことを示す情報を設定し,
    前記第1のキャッシュデータを記憶する工程では,前記第2の制御部は,前記第2にメモリキャッシュに記憶されたキャッシュデータのうち,前記第2の管理情報にキャッシュデータが記憶されていないことを示す情報が設定された前記ブロックに対応するキャッシュデータの取得を行い,該取得したキャッシュデータに対応する前記ブロックにキャッシュデータが記憶されていることを示す情報を前記第2の管理情報に設定するデータ移行方法。
  5. 請求項3において,
    前記第1及び第2の管理情報は,それぞれ前記第1または第2のキャッシュメモリにおける所定のデータサイズのブロック毎に,該ブロックに対応するキャッシュデータが他のノードから移行したキャッシュデータであるか否かを示す情報を含み,
    前記キャッシュデータを記憶する工程では,前記第2の制御部は,前記第2のメモリキャッシュに記憶されたキャッシュデータのうち,前記第2の管理情報に,他のノードから移行したキャッシュデータであることを示す情報が設定された前記ブロックに対応するキャッシュデータの取得を行うデータ移行方法。
  6. 請求項3において,
    前記第1及び第2の管理情報は,それぞれ前記第1または第2のキャッシュメモリにおける所定のデータサイズのブロック毎に,該ブロックに対応するキャッシュデータが移行前の前記プログラムによって最後にアクセスされた時間を示す情報を含み,
    前記第2の制御部は,前記第2のメモリキャッシュに記憶されたキャッシュデータのうち,前記第2の管理情報に,最後にアクセスされた時間として,所定の時間よりも後の時間が設定された前記ブロックに対応するキャッシュデータの取得を行うデータ移行方法。
  7. 記憶装置に記憶された第1のデータからキャッシュされたキャッシュデータが記憶されたキャッシュメモリと,
    前記キャッシュメモリを制御し,前記キャッシュメモリ上の前記キャッシュデータの記憶位置を示す情報と,前記キャッシュメモリにおける所定のデータサイズのブロック毎に,該ブロックに対応するキャッシュデータの更新に応じて該更新されたキャッシュデータに対応する前記第1のデータが更新されたか否かを示す情報と,を含む第1の管理情報を作成し,前記キャッシュデータにアクセスするプログラムが他のノードに移行する際に,移行後の前記プログラムがアクセス可能な他のキャッシュメモリを制御する他の制御部に,前記第1の管理情報を送信する制御部と,を有する,
    データ移行装置。
  8. 記憶装置に記憶された第1のデータからキャッシュされたキャッシュデータが記憶されたキャッシュメモリと,
    他のキャッシュメモリ上の他のキャッシュデータの記憶位置を示す情報と,前記他のキャッシュメモリにおける所定のデータサイズのブロック毎に,該ブロックに対応するキャッシュデータの更新に応じて該更新されたキャッシュデータに対応する前記第1のデータが更新されたか否かを示す情報と,を含む第1の管理情報を,他の制御部から受信し,該受信した第1の管理情報を参照して,前記他のキャッシュメモリから前記他のキャッシュデータを取得し,該取得した他のキャッシュデータを前記キャッシュメモリに記憶し,前記受信した前記第1の管理情報を参照して,前記記憶したキャッシュデータのうち,前記第1のデータが更新されていないことを示す前記ブロックに対応するキャッシュデータを特定し,該特定したキャッシュデータに基づいて前記第1のデータの更新を行う制御部と,を有する,
    データ移行装置。
JP2014158381A 2014-08-04 2014-08-04 データ移行方法及びデータ移行装置 Active JP6365085B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014158381A JP6365085B2 (ja) 2014-08-04 2014-08-04 データ移行方法及びデータ移行装置
US14/795,917 US10001921B2 (en) 2014-08-04 2015-07-10 Data migration method and data migration device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014158381A JP6365085B2 (ja) 2014-08-04 2014-08-04 データ移行方法及びデータ移行装置

Publications (2)

Publication Number Publication Date
JP2016035669A true JP2016035669A (ja) 2016-03-17
JP6365085B2 JP6365085B2 (ja) 2018-08-01

Family

ID=55180063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014158381A Active JP6365085B2 (ja) 2014-08-04 2014-08-04 データ移行方法及びデータ移行装置

Country Status (2)

Country Link
US (1) US10001921B2 (ja)
JP (1) JP6365085B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106484858B (zh) * 2016-10-09 2019-12-06 腾讯科技(北京)有限公司 热点内容推送方法和装置
KR102387935B1 (ko) * 2017-10-23 2022-04-15 삼성전자주식회사 공용 메모리 영역 및 전용 메모리 영역을 포함하는 데이터 저장 장치
CN109582223B (zh) 2018-10-31 2023-07-18 华为技术有限公司 一种内存数据迁移的方法及装置
CN116974468B (zh) * 2023-07-18 2024-02-20 广东华原网络工程有限公司 一种基于大数据的设备数据存储管理方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013511079A (ja) * 2009-11-16 2013-03-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想マシンの対称型ライブ・マイグレーション
US20140068183A1 (en) * 2012-08-31 2014-03-06 Fusion-Io, Inc. Systems, methods, and interfaces for adaptive persistence

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0235529A (ja) 1988-07-25 1990-02-06 Hitachi Ltd チェックポイントダンプ取得方式
JPH04180143A (ja) 1990-11-14 1992-06-26 Nec Corp メモリフリーズ制御装置
US5185861A (en) * 1991-08-19 1993-02-09 Sequent Computer Systems, Inc. Cache affinity scheduler
JP3135714B2 (ja) 1992-10-29 2001-02-19 株式会社東芝 チェックポイントリスタート方式
JPH07271620A (ja) 1994-03-30 1995-10-20 Mitsubishi Electric Corp ソフトウェア回復方式
US7124203B2 (en) * 2000-07-10 2006-10-17 Oracle International Corporation Selective cache flushing in identity and access management systems
JP2003216491A (ja) * 2002-01-23 2003-07-31 Hitachi Ltd 階層キャッシュ制御方法
US7100089B1 (en) * 2002-09-06 2006-08-29 3Pardata, Inc. Determining differences between snapshots
US7778960B1 (en) * 2005-10-20 2010-08-17 American Megatrends, Inc. Background movement of data between nodes in a storage cluster
AU2006331932B2 (en) * 2005-12-19 2012-09-06 Commvault Systems, Inc. Systems and methods for performing data replication
US8209307B2 (en) * 2009-03-31 2012-06-26 Commvault Systems, Inc. Systems and methods for data migration in a clustered file system
US8612439B2 (en) * 2009-06-30 2013-12-17 Commvault Systems, Inc. Performing data storage operations in a cloud storage environment, including searching, encryption and indexing
JP5284905B2 (ja) * 2009-08-12 2013-09-11 富士通株式会社 データ移行方法、及びプログラム
JP5491934B2 (ja) 2010-03-30 2014-05-14 株式会社日立ソリューションズ サーバ装置、及び情報処理システムの制御方法、並びにプログラム
US8555019B2 (en) * 2010-09-08 2013-10-08 International Business Machines Corporation Using a migration cache to cache tracks during migration
US8645654B1 (en) * 2011-06-29 2014-02-04 Emc Corporation Selecting physical storage in data storage systems
JP5742542B2 (ja) * 2011-07-25 2015-07-01 富士通株式会社 ストレージ装置及びその負荷状態低減方法
US9367453B1 (en) * 2011-09-30 2016-06-14 Emc Corporation System and method for migrating cache data
US9032160B1 (en) * 2011-12-29 2015-05-12 Emc Corporation Continuous data replication
US8930947B1 (en) * 2011-12-30 2015-01-06 Emc Corporation System and method for live migration of a virtual machine with dedicated cache
JP5518143B2 (ja) 2012-08-03 2014-06-11 株式会社エヌ・ティ・ティ・データ 仮想マシンの移行方法、サーバ、プログラム、及び、仮想マシンシステム
US9792150B1 (en) * 2013-06-28 2017-10-17 Veritas Technologies Llc Detecting site change for migrated virtual machines
US20150195141A1 (en) * 2014-01-06 2015-07-09 Siegfried Luft Apparatus and method for data center migration

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013511079A (ja) * 2009-11-16 2013-03-28 インターナショナル・ビジネス・マシーンズ・コーポレーション 仮想マシンの対称型ライブ・マイグレーション
US20140068183A1 (en) * 2012-08-31 2014-03-06 Fusion-Io, Inc. Systems, methods, and interfaces for adaptive persistence
JP2015535355A (ja) * 2012-08-31 2015-12-10 フュージョン−アイオー・インコーポレーテッド 適応持続性システム、方法、インタフェース

Also Published As

Publication number Publication date
US20160034197A1 (en) 2016-02-04
JP6365085B2 (ja) 2018-08-01
US10001921B2 (en) 2018-06-19

Similar Documents

Publication Publication Date Title
KR102628362B1 (ko) 컨테이너화된 환경에서 클러스터의 라이브 마이그레이션
US9311199B2 (en) Replaying jobs at a secondary location of a service
US10838829B2 (en) Method and apparatus for loading data from a mirror server and a non-transitory computer readable storage medium
JP5251002B2 (ja) 分散処理プログラム、分散処理方法、分散処理装置、および分散処理システム
US8738883B2 (en) Snapshot creation from block lists
KR101644666B1 (ko) 장치와 웹 서비스 간에 브라우저 캐시를 동기화하는 프로그래밍 모델
JP2019016135A (ja) 情報処理システム、情報処理システムの制御プログラム及び情報処理システムの制御方法
US20080028402A1 (en) Method of setting operation environment and computer system
JP2016508349A (ja) クラスタ境界にわたるサービス移行
CN113196237A (zh) 计算系统中的容器迁移
JP6365085B2 (ja) データ移行方法及びデータ移行装置
CN110520844A (zh) 云管理平台、虚拟机管理方法及其系统
JP2004234114A (ja) 計算機システム、計算機装置、オペレーティングシステムの移送方法及びプログラム
US20150212898A1 (en) Data migration method and systems
US9710298B2 (en) Information processing system, storage apparatus, and program
JP5975003B2 (ja) 仮想化制御装置、仮想化システム、仮想化方法、および、仮想化制御プログラム。
JP2010237742A (ja) 仮想マシンサーバ、仮想マシン制御方法及び仮想マシン制御プログラム
CN105302662B (zh) 一种多机备份的方法和系统
US20210248108A1 (en) Asynchronous data synchronization and reconciliation
JP2019101467A (ja) ストレージシステム及びストレージシステムにおけるデータアクセス方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180320

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180510

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180618

R150 Certificate of patent or registration of utility model

Ref document number: 6365085

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150