JP2015176426A - Information processing device, information processing method, and information processing program - Google Patents
Information processing device, information processing method, and information processing program Download PDFInfo
- Publication number
- JP2015176426A JP2015176426A JP2014053293A JP2014053293A JP2015176426A JP 2015176426 A JP2015176426 A JP 2015176426A JP 2014053293 A JP2014053293 A JP 2014053293A JP 2014053293 A JP2014053293 A JP 2014053293A JP 2015176426 A JP2015176426 A JP 2015176426A
- Authority
- JP
- Japan
- Prior art keywords
- virtual device
- information processing
- access
- target
- virtual
- 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
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 291
- 238000003672 processing method Methods 0.000 title claims description 5
- 230000008859 change Effects 0.000 claims abstract description 119
- 238000001514 detection method Methods 0.000 claims abstract description 59
- 238000000034 method Methods 0.000 claims abstract description 46
- 230000008569 process Effects 0.000 claims abstract description 28
- 238000012545 processing Methods 0.000 claims description 28
- 230000005012 migration Effects 0.000 claims description 24
- 238000013508 migration Methods 0.000 claims description 24
- 230000007704 transition Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 3
- 230000002596 correlated effect Effects 0.000 abstract 1
- 230000006835 compression Effects 0.000 description 32
- 238000007906 compression Methods 0.000 description 32
- 238000010586 diagram Methods 0.000 description 23
- 238000004891 communication Methods 0.000 description 15
- 230000000694 effects Effects 0.000 description 13
- 230000004913 activation Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000005192 partition Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
Description
本発明は、仮想装置に関連付けられている情報を処理する情報処理技術に関する。 The present invention relates to an information processing technique for processing information associated with a virtual device.
特許文献1には、複数のプロセッサを備える情報処理装置において、I/O(Input/Output)デバイスを共有する技術が記載されている。特許文献1に記載されている情報処理装置は、それぞれ独立に、少なくとも1つのプロセッサによってOS(Operating System)が動作する複数のパーティションを含む。特許文献1に記載されている情報処理装置は、さらに、I/Oプロセッサセル(以下、IOP(I/O Processor)と表記される)を含む。IOPは、複数のパーティションが行う入出力をまとめて処理する。IOPは、加えて、ディスクキャッシュなどのサービスを提供することができる。
図17は、特許文献1に記載されている情報処理装置を模式的に表す図である。各クライアント装置が、前述のパーティションである。入出力装置が、前述のIOPである。各クライアント装置は、例えばネットワークを介して情報処理装置に接続されている外部装置に対する入力及び出力を、入出力装置を介して行う。外部装置は、情報処理装置の外部に存在する装置である。
FIG. 17 is a diagram schematically illustrating the information processing apparatus described in
情報処理装置において、コンピュータをエミュレートする技術が存在する。そのようなエミュレートされたコンピュータは、例えば、仮想装置あるいは仮想マシンと呼ばれる。情報処理装置1間で仮想装置を移動させる技術は、例えば、マイグレーションと呼ばれる。以下の説明において、マイグレーションは単に「移行」あるいは「移動」とも表記する。
There is a technology for emulating a computer in an information processing apparatus. Such an emulated computer is called, for example, a virtual device or a virtual machine. A technique for moving a virtual device between the
特許文献1の技術は、前述のクライアント装置が仮想装置である場合にも適用可能である。特許文献1の技術が適用された仮想装置が動作する情報処理装置では、例えば、仮想装置は、入出力装置を介して、他の装置にアクセスする。具体的には、仮想装置は、入出力装置に対して、他の装置が保持するデータに対するアクセスを要求するアクセス要求を送信する。アクセスは、例えば、データの読み出しや、データの書き込みである。仮想装置からアクセス要求を受信した入出力装置は、アクセス要求の対象である、他の装置が保持するデータに対して、そのアクセス要求に基づくアクセスを行う。そして、入出力装置は、行ったアクセスの結果を、アクセス要求を送信した仮想装置に送信する。
The technique of
入出力装置が、他の装置へのアクセスにおけるキャッシュを提供する場合、入出力装置は、他の装置が保持する、仮想装置によるアクセス後のデータを、さらに、例えば入出力装置が備える記憶領域にコピーする。仮想装置がアクセスしたデータのコピーは、キャッシュとして、その記憶領域に保存される。仮想装置から、一度アクセスしたデータに対するアクセスを要求するアクセス要求を受信すると、入出力装置は、キャッシュとして記憶装置に格納されているデータに対してアクセスを行う。そして、入出力装置は、アクセスの結果を仮想装置に返信する。例えば、アクセス要求がデータの読み出し要求である場合入出力装置は、キャッシュからデータを読み出し、読み出したデータを仮想装置に送信する。アクセス要求がデータの書き込み要求である場合、入出力装置は、記憶装置にキャッシュとして格納されているデータのコピーを書き換える。そして、入出力装置は、例えば、書き込みの成功を表す信号を、仮想装置に送信する。 When the input / output device provides a cache for access to another device, the input / output device further stores the data after the access by the virtual device held by the other device, for example, in a storage area included in the input / output device make a copy. A copy of the data accessed by the virtual device is stored in the storage area as a cache. When an access request for requesting access to data once accessed is received from the virtual device, the input / output device accesses the data stored in the storage device as a cache. Then, the input / output device returns the access result to the virtual device. For example, when the access request is a data read request, the input / output device reads data from the cache and transmits the read data to the virtual device. If the access request is a data write request, the input / output device rewrites a copy of the data stored as a cache in the storage device. Then, for example, the input / output device transmits a signal indicating the success of writing to the virtual device.
仮想装置が上述のライブマイグレーションを行えるのであれば、キャッシュを提供する、特許文献1の技術が適用された情報処理装置から、他の情報処理装置に、その仮想装置が移動する場合がある。その場合、仮想装置の移動元である情報処理装置が含む入出力装置の記憶領域には、その仮想装置がアクセスしたデータが、キャッシュとしてそのまま残る。移動した仮想装置が、移動先の仮想装置において、コピーがキャッシュとして保存されている、他の装置が保持するデータを書き換えた場合、その装置が保持するデータとキャッシュに格納されているデータとの間に、不整合が生じる。その仮想装置が移動元である情報処理装置に再び移動し、他の情報処理装置で動作している間に書き換えたデータにアクセスした場合、その不整合によってエラーが生じることがある。特許文献1の技術では、そのような不整合の発生を防ぐことはできない。以上では、キャッシュを例に説明を行ったが、ライブマイグレーションを行うことができる仮想装置が動作する情報処理装置が保持する、その仮想装置によるアクセスに応じて変化し得るデータ値においても、同様に不整合が生じる可能性がある。例えば、仮想装置を実行し、実行中の仮想装置によるアクセスを中継する情報装置が、仮想装置から外部装置へのアクセスの種類やパターンに応じて、仮想装置に対してアクセスの優先順位を設定する場合がある。このような優先順位は、アクセスの種類やパターンの変化に応じて変化する。仮想装置が、他の情報処理装置に移動し、他の情報処理装置から戻った場合に、そのアクセスの種類やパターンが変化していると、優先順位に不整合が生じる。
If the virtual device can perform the above-described live migration, the virtual device may move from the information processing device that provides the cache to which the technology of
本発明の目的の一つは、仮想装置が動作する情報処理装置が保持する、仮想装置によるアクセスに応じて変化しうるデータ値に、仮想装置が情報処理装置間で移動することによって生じる不整合を軽減することができる情報処理装置を提供することにある。 One of the objects of the present invention is an inconsistency caused by movement of a virtual device between information processing devices to a data value held by the information processing device on which the virtual device operates and which can change according to access by the virtual device It is an object of the present invention to provide an information processing apparatus that can reduce the above-described problem.
本発明の情報処理装置は、仮想装置を実行する実行手段によって実行される前記仮想装置が行ったアクセスに応じて更新され、前記仮想装置に関連付けられている対象データを記憶する対象情報記憶手段と、前記実行手段が実行する前記仮想装置の状態が、実行されている状態とそれ以外の状態との間で変化する状態変化を検出する検出手段によって、前記仮想装置の前記状態変化が検出された場合、前記対象データに対して所定の処理を行う制御手段と、を備える。 An information processing apparatus according to the present invention includes a target information storage unit that stores target data that is updated in accordance with an access performed by the virtual device and executed by the execution unit that executes the virtual device, and that is associated with the virtual device. The state change of the virtual device is detected by a detection unit that detects a state change in which the state of the virtual device executed by the execution unit changes between the state being executed and the other state. A control means for performing a predetermined process on the target data.
本発明の情報処理方法は、仮想装置を実行する実行手段によって実行される前記仮想装置が行ったアクセスに応じて更新され、前記仮想装置に関連付けられている対象データを対象情報記憶手段に記憶し、前記実行手段が実行する前記仮想装置の状態が、実行されている状態とそれ以外の状態との間で変化する状態変化を検出する検出手段によって、前記仮想装置の前記状態変化が検出された場合、前記対象データに対して所定の処理を行う。 The information processing method according to the present invention stores, in a target information storage unit, target data that is updated according to an access made by the virtual device and executed by the execution unit that executes the virtual device, and is associated with the virtual device. The state change of the virtual device is detected by a detection unit that detects a state change in which the state of the virtual device executed by the execution unit changes between the state being executed and the other state. In this case, a predetermined process is performed on the target data.
本発明の情報処理プログラムは、コンピュータを、仮想装置を実行する実行手段によって実行される前記仮想装置が行ったアクセスに応じて更新され、前記仮想装置に関連付けられている対象データを記憶する対象情報記憶手段と、前記実行手段が実行する前記仮想装置の状態が、実行されている状態とそれ以外の状態との間で変化する状態変化を検出する検出手段によって、前記仮想装置の前記状態変化が検出された場合、前記対象データに対して所定の処理を行う制御手段と、して動作させる。 The information processing program of the present invention is a target information that stores target data that is updated in accordance with an access made by the virtual device executed by an execution unit that executes the virtual device and is associated with the virtual device. The state change of the virtual device is detected by a detecting unit that detects a state change in which the state of the virtual device executed by the storage unit and the execution unit is changed between the state being executed and the other state. If it is detected, it is operated as a control means for performing a predetermined process on the target data.
本発明には、仮想装置が動作する情報処理装置が保持する、仮想装置によって書き換えられるデータに、仮想装置が情報処理装置間で移動することによって生じる不整合を軽減することができるという効果がある。 The present invention has an effect that it is possible to reduce inconsistency caused by movement of a virtual device between information processing devices to data rewritten by the virtual device held by the information processing device on which the virtual device operates. .
次に、本発明を模範的に実施する形態について図面を参照して詳細に説明する。以下に説明する実施形態は、特許請求の範囲に係る発明を限定しない。また実施形態の中で説明されている構成の組み合わせの全てが発明の構成に必須であるとは限らない。 Next, exemplary embodiments of the present invention will be described in detail with reference to the drawings. The embodiments described below do not limit the invention according to the claims. In addition, not all combinations of configurations described in the embodiments are essential for the configuration of the invention.
<第1の実施形態>
まず、本発明の第1の実施形態について、図面を参照して詳細に説明する。
<First Embodiment>
First, a first embodiment of the present invention will be described in detail with reference to the drawings.
図1は、本実施形態の情報処理システム100の構成の例を表すブロック図である。 FIG. 1 is a block diagram illustrating an example of a configuration of an information processing system 100 according to the present embodiment.
図1を参照すると、情報処理システム100は、複数の情報処理装置1と、記憶装置3とを含む。図1に描かれている情報処理装置1の台数は2であるが、情報処理装置1の数は2に限られない。また、情報処理システム100は、複数の記憶装置3を含んでいてもよい。複数の情報処理装置1は、互いに通信可能に接続されている。それぞれの情報処理装置1と、記憶装置3とは、互いに通信可能に接続されている。
Referring to FIG. 1, the information processing system 100 includes a plurality of
図2は、本実施形態の情報処理システム100の全体像を模式的に表すブロック図である。図2に示す例では、複数の情報処理装置1と記憶装置3とが、通信ネットワーク4によって接続されている。複数の情報処理装置1が互いに通信を行う通信ネットワークと、それぞれの情報処理装置1と記憶装置3とが通信を行う通信ネットワークは、異なっていてもよい。
FIG. 2 is a block diagram schematically showing an overall image of the information processing system 100 of the present embodiment. In the example shown in FIG. 2, a plurality of
図1に示す例では、情報処理装置1は、実行部10と、検出部13とを含む。以下では、実行部10と検出部13とを含む情報処理装置1について説明する。しかし、情報処理装置1は、図3に示す例のように検出部13を含んでいなくてもよい。
In the example illustrated in FIG. 1, the
図3は、本実施形態の変形例の情報処理システム100Aの構成の例を表すブロック図である。図3に示す情報処理システム100Aと図1に示す情報処理システム100とを比較すると、情報処理システム100Aは、情報処理装置1の代わりに情報処理装置1Aを含む。情報処理装置1Aと情報処理装置1とを比較すると、情報処理装置1Aは検出部13を含まない点が異なる。情報処理システム100Aは、さらに、移行検出装置2を含む。そして、移行検出装置2が検出部13を含む。移行検出装置2が含む検出部13は、情報処理システム100において各情報処理装置1が含む検出部13を同じ動作を行う。そして、情報処理システム100Aは、情報処理システム100と同等の動作を行う。
FIG. 3 is a block diagram illustrating an example of a configuration of an information processing system 100A according to a modification of the present embodiment. When the information processing system 100A illustrated in FIG. 3 is compared with the information processing system 100 illustrated in FIG. 1, the information processing system 100A includes the
実行部10は、仮想装置20及び入出力仮想装置16を実行する。実行部10は、例えば、仮想的なコンピュータをエミュレートするソフトウェアと、そのソフトウェアを実行する、情報処理装置1のプロセッサによって実現される。仮想装置20及び入出力仮想装置16は、実行部10によってエミュレートされる仮想的なコンピュータである。本実施形態の説明では、実行部10が、例えば仮想装置20をエミュレートすることを、「実行部10が仮想装置20を実行する」と表記する。同様に、実行部10が入出力仮想装置16をエミュレートすることを、「実行部10が入出力仮想装置16を実行する」と表記する。
The
仮想装置20は、上述のように、実行部10によってエミュレートされた仮想的なコンピュータである、仮想マシンである。仮想装置20は、要求先装置に対してアクセスを要求するアクセス要求を送信する。要求先装置は、本実施形態では記憶装置3である。要求先装置は必ずしも記憶装置3でなくてもよい。本実施形態では、要求先が記憶装置3である場合の例について説明する。アクセス要求は、例えば、データを読み出す読み出し要求、又はデータを書き込む書き込み要求である。アクセス要求は、例えば、受信した装置が解釈することができる、要求するアクセスの内容を特定するアクセス命令である。以下の説明において、アクセス要求を、アクセス命令とも表記することにする。同様に、書き込み要求を、書き込み命令とも表記する。さらに、読み出し要求を、読み出し命令とも表記する。また、アクセス命令を生成することを、「アクセス命令を発行する」とも表記する。
The
また、本実施形態では、仮想装置20は、複数の情報処理装置1の間における移動である移行が可能である。すなわち、実行部10は、その実行部10が実行している仮想装置20を、他の情報処理装置1に移行させることができる。前述のように、移行はマイグレーションとも呼ばれる。移行の方法として、既存の様々な方法を適用することができる。仮想装置20が行う移行は、ライブマイグレーションであってもよい。本実施形態の移行は、仮想装置20を停止させた状態で行われる移行であってもよい。
Further, in the present embodiment, the
図1に示す例では、実行部10が実行する仮想装置20の数は1である。しかし、実行部10は、図4に示す例のように、2台以上の仮想装置20を実行してもよい。
In the example illustrated in FIG. 1, the number of
図4は、複数の仮想装置20を実行する情報処理装置1の構成を模式的に表す図である。図4に示す情報処理装置1が含む実行部10は、3台以上の仮想装置20を実行する。図4において、複数の仮想装置20は、仮想装置群21と表記されている。
FIG. 4 is a diagram schematically illustrating the configuration of the
検出部13は、仮想装置20の状態が、仮想装置20が実行部10によって実行されている状態と、それ以外の状態との間で変化する、状態変化を検出する。検出部13は、さらに、状態変化の種別を特定する。
The
状態変化は、例えば、仮想装置20が起動すること、動作していた仮想装置20が動作を停止すること、他の情報処理装置1に仮想装置20が移行すること、他の情報処理装置1から仮想装置20が移行してくることなどである。状態変化の種別は、例えば以上の、状態変化のいずれかを表す。検出部13は、状態が変化した仮想装置20を特定する。検出部13は、状態が変化した仮想装置20の識別子を特定すればよい。検出部13は、例えば、状態が変化した仮想装置20の識別子と、状態変化の種別とを、実行部10から受信すればよい。検出部13は、さらに、状態が変化した仮想装置20の、状態変化の種別を、実行部10から受信してもよい。状態変化の種別は、例えば、状態変化の前後における、仮想装置20の状態であってもよい。検出部13は、他の方法によって仮想装置20の状態変化を検出してもよい。
For example, the status change may occur when the
検出部13は、例えば、複数の情報処理装置1のそれぞれにおいて、仮想装置20の状態変化を検出することにより、仮想装置20が情報処理装置1間で移動した場合における移動元の情報処理装置1と移動先の情報処理装置1とを特定すればよい。検出部13は、例えば、仮想装置20の識別子とその仮想装置20を実行する情報処理装置1の識別子との組み合わせを記憶することによって、どの情報処理装置1がどの仮想装置20を実行しているかを記憶していてもよい。検出部13は、それぞれの仮想装置20の移行の履歴を記憶していてもよい。検出部13は、例えば、仮想装置20の識別子と、その仮想装置20を実行した順番でソートされた情報処理装置1の識別子の列とを記憶すればよい。
For example, the
入出力仮想装置16は、対象情報記憶部11と、制御部12と、中継部14と、更新部15とを含む。入出力仮想装置16は、例えば、実行部10によってエミュレートされる仮想的なコンピュータが、そのコンピュータを、対象情報記憶部11と、制御部12と、中継部14と、更新部15として動作させるプログラムを実行することによって実現される。すなわち、入出力仮想装置16は、情報処理装置1のプロセッサが、情報処理装置1を対象情報記憶部11と、制御部12と、中継部14と、更新部15として動作させるプログラムを実行することによって、実現される。
The input / output
対象情報記憶部11は、実行部10によって実行される仮想装置20が行ったアクセスに応じて更新され、その仮想装置20に関連付けられているデータである対象データを記憶する。
The target
制御部12は、検出部13によって、前述の状態変化が検出された場合、状態変化が検出された仮想装置20に関連付けられている対象データに対して、所定の処理を行う。
When the
中継部14は、要求先装置に対してアクセスを要求するアクセス要求を、仮想装置20から受信する。そして、中継部14は、受信したアクセス要求によってアクセスが要求される要求先装置に対して、そのアクセス要求と、そのアクセス要求を送信した仮想装置20に関連付けられている対象データとに基づき、アクセスを行う。
The
更新部15は、中継部14が行ったアクセスに基づき、そのアクセスを要求するアクセス要求を送信した仮想装置20に関連付けられている対象データを更新する。
Based on the access performed by the
記憶装置3は、データを記憶する装置である。記憶装置3は、アクセス要求を受信した場合、受信したアクセス要求に応じた処理を実行する。例えば、アクセス要求が対象データを読み出す読み出し要求である場合、アクセス要求を受信した記憶装置3は、記憶している対象データを、アクセス要求の送信元に送信する。アクセス要求が対象データを書き込む書き込み要求である場合、アクセス要求を受信した記憶装置3は、アクセス要求によって書き込みを要求された対象データを記憶する。記憶装置3は、例えば、ファイルサーバであってもよい。
The
本実施形態では、以上のように、仮想装置20は、入出力仮想装置16を介して、記憶装置3にアクセスする。入出力仮想装置16は、例えば、アクセス要求によってアクセスされるデータに対するキャッシュを行うキャッシュ装置として動作する。入出力仮想装置16は、例えば、仮想装置20の状態や行ったアクセス等に応じて設定された優先度に従った優先順位で、複数の仮想装置20が送信するアクセス要求を処理する順番を決める優先順位制御装置として動作してもよい。入出力仮想装置16は、それぞれの仮想装置20の状態や出力するデータ等に応じて決定された圧縮率で、仮想装置20が出力するデータを圧縮し、圧縮されたデータを送信先に送信する圧縮装置として動作してもよい。
In the present embodiment, as described above, the
本実施形態では、入出力仮想装置16が、記憶装置3に格納されているデータに対するキャッシュを行うキャッシュ装置として機能する場合の例について説明する。入出力仮想装置16がキャッシュを行うキャッシュアルゴリズムとして、既存のさまざまなキャッシュアルゴリズムを適用することができる。入出力仮想装置16は、例えば以下の説明のように動作する。
In the present embodiment, an example will be described in which the input / output
本実施形態では、アクセス要求は、記憶装置3からアクセス対象を読み出す要求である読み出し要求と、記憶装置3にアクセス対象を書き込む要求である書き込み要求である。アクセス対象は、例えばデータである。対象情報記憶部11に格納されている上述の対象データは、アクセスが行われたアクセス対象のコピーである。アクセス要求に基づきアクセスされるアクセス先は、アクセス対象が格納されている記憶領域である。アクセス要求は、アクセス先の識別子を含む。アクセス先の識別子は、要求先装置である記憶装置3が含む記憶領域におけるアドレスである。アクセス先の識別子は、記憶装置3の識別子と、記憶領域のアドレスとの組み合わせであってもよい。
In the present embodiment, the access requests are a read request that is a request for reading an access target from the
アクセス要求が読み出し要求である場合、アクセス先は、そのアクセス要求に基づき読み出されるアクセス対象が格納されている記憶領域である。以下の説明において、アクセス要求が読み出し要求である場合におけるアクセス先は、「読み出し元」とも表記する。アクセス要求が読み出し要求である場合、アクセス要求は、そのアクセス要求に基づき読み出されるアクセス対象が格納されている読み出し元の識別子を含む。読み出し元の識別子は、要求先装置である記憶装置3が含む記憶領域におけるアドレスである。
When the access request is a read request, the access destination is a storage area in which an access target that is read based on the access request is stored. In the following description, the access destination when the access request is a read request is also referred to as “read source”. When the access request is a read request, the access request includes a read source identifier in which an access target read based on the access request is stored. The identifier of the read source is an address in a storage area included in the
アクセス要求が書き込み要求である場合、アクセス先は、そのアクセス要求に基づきアクセス対象が書き込まれる記憶領域である。以下の説明において、アクセス要求が書き込み要求である場合におけるアクセス先は、「書き込み先」とも表記する。アクセス要求が書き込み要求である場合、アクセス要求は、例えば、そのアクセス要求に基づきアクセス対象が書き込まれる書き込み先の識別子を含む。書き込み先の識別子も同様に、例えば、要求先である記憶装置3が含む記憶領域におけるアドレスである。アクセス要求が書き込み要求である場合、アクセス要求に加えて、書き込まれるデータであるアクセス対象が送信される。アクセス要求は、そのアクセス要求が書き込み要求である場合、アクセス対象を含んでいてもよい。
When the access request is a write request, the access destination is a storage area in which an access target is written based on the access request. In the following description, the access destination when the access request is a write request is also expressed as “write destination”. When the access request is a write request, the access request includes, for example, a write destination identifier to which an access target is written based on the access request. Similarly, the identifier of the write destination is, for example, an address in the storage area included in the
対象情報記憶部11は、アクセス要求に応じて読み出されたデータのコピーである対象データを、例えば、アクセス要求を送信した仮想装置20の識別子と、アクセス要求の要求先における、その対象データが読み出された読み出し元の識別子とに関連付けて記憶する。
The target
中継部14は、仮想装置20からアクセス要求を受信する。そして、中継部14は、受信したアクセス要求の種別を特定する。
The
受信したアクセス要求が読み出し要求である場合、中継部14は、そのアクセス要求によって読み出されるデータであるアクセス対象全てのコピーが、対象情報記憶部11に格納されているか判定する。受信したアクセス要求によって読み出されるデータであるアクセス対象のコピーが、対象情報記憶部11に格納されている場合、中継部14は、対象情報記憶部11に格納されている、アクセス対象のコピーを読み出す。そして、中継部14は、読み出したアクセス対象のコピーをアクセス要求を送信したい仮想装置20に送信する。
When the received access request is a read request, the
受信したアクセス要求によって読み出されるデータであるアクセス対象の少なくとも一部のコピーが、対象情報記憶部11に格納されていない場合、中継部14は、要求先である記憶装置3に、アクセス対象を読み出す読み出し要求を送信する。中継部14は、記憶装置3から送信されたアクセス対象を、仮想装置20に送信する。
If at least a part of the copy of the access target that is the data read by the received access request is not stored in the target
受信したアクセス要求によって読み出されるデータであるアクセス対象のコピーが、対象情報記憶部11に格納されていない場合、さらに、更新部15が、記憶装置3から送信されたアクセス対象のコピーを、対象データとして対象情報記憶部11に格納する。更新部15は、アクセス対象のコピーを、例えば、アクセス要求を送信した仮想装置20の識別子と、アクセス要求の要求先における、そのアクセス対象が読み出された読み出し元の識別子とに関連付けて、対象データとして対象情報記憶部11に格納すればよい。
When the access target copy that is the data read by the received access request is not stored in the target
受信したアクセス要求が書き込み要求である場合、中継部14は、受信した書き込み要求の要求先である記憶装置3に対して、受信したアクセス要求によって要求された書き込みを行う書き込み要求を送信する。
When the received access request is a write request, the
中継部14が受信したアクセス要求が書き込み要求である場合、さらに、更新部15が、中継部14が受信したアクセス要求によって書き込まれるデータのコピーを、対象データとして対象情報記憶部11に格納する。
When the access request received by the
以上では、便宜上、アクセス対象が仮想装置20に送信され、アクセス対象のコピーが対象情報記憶部11に格納されるとして説明を行った。しかし、アクセス対象及びアクセス対象のコピーのどちらが仮想装置20に送信されてもよい。同様に、アクセス対象及びアクセス対象のコピーのどちらが対象情報記憶部11に格納されてもよい。
In the above, for the sake of convenience, the description has been given on the assumption that the access target is transmitted to the
また、以上の説明では、実行部10は、対象情報記憶部11、制御部12、中継部14、及び更新部15を含む、入出力仮想装置16を実行する。しかし、例えば図5に示す例のように、実行部10は入出力仮想装置16を実行しなくてもよい。
In the above description, the
図5は、本実施形態の他の変形例である情報処理システム100Bの構成を表す図である。情報処理システム100Bの実行部10は、入出力仮想装置16を実行しない。情報処理システム100Bは、入出力装置16Aを含む。そして、入出力装置16Aが、対象情報記憶部11、制御部12、中継部14、及び更新部15を含む。入出力装置16Aは、入出力仮想装置16と同じ機能を持ち、実行部10によって実行される仮想マシンではない装置である。
FIG. 5 is a diagram illustrating a configuration of an information processing system 100B that is another modification of the present embodiment. The
次に、本実施形態の情報処理装置1の動作について、図面を参照して詳細に説明する。
Next, the operation of the
図6は、本実施形態の情報処理装置1の、通常時における動作の例を表すフローチャートである。通常時における動作は、仮想装置20が移動しない場合における動作を表す。図6に示す動作が開始される際、仮想装置20がアクセス命令を発行する。前述のように、仮想装置20は、実行部10によってエミュレートされている。従って、実行部10がエミュレートする仮想装置20による動作は、実行部10による動作であると言える。しかし、以下では、実行部10がエミュレートする仮想装置20によって、実行部10が行う動作を、仮想装置20が行う動作として説明する。
FIG. 6 is a flowchart illustrating an example of the operation of the
仮想装置20は、記憶装置3に格納されているデータにアクセスするアクセス命令を発行する。そして、仮想装置20は、発行したアクセス命令を、入出力仮想装置16に送信する。
The
入出力仮想装置16の中継部14は、仮想装置20からアクセス命令を受信する(ステップS101)。
The
中継部14は、例えばアクセス命令を解釈することによって、アクセス命令の種類を判定する(ステップS102)。すなわち、中継部14は、受信したアクセス命令が書き込み命令であるか、読み出し命令であるかを判定する。
The
中継部14が受信したアクセス命令が書き込み命令である場合(ステップS103においてYes)、情報処理装置1の動作は、ステップS104に進む。中継部14が受信したアクセス命令が書き込み命令でない場合(ステップS103においてNo)、情報処理装置1の動作は、ステップS109に進む。
When the access command received by the
ステップS104において、更新部15は、対象情報記憶部11に格納されている、対象データを更新する。対象情報記憶部11は、アクセス命令によってアクセスが行われたデータ(すなわちアクセス対象)のコピーであるキャッシュを、対象データとして記憶する。言い換えると、本実施形態では、対象データは、アクセス対象のキャッシュである。すなわち、ステップS104において、更新部15は、対象情報記憶部11に格納されているキャッシュを書き換える。前述のように、対象データは、アクセス先の識別子と、仮想装置20の識別子に関連付けられていればよい。なお、以下の説明において、対象データが仮想装置20の識別子に関連付けられていることを、「対象データが仮想装置20に関連付けられている」とも表記する。
In step S104, the
本実施形態のように対象データがキャッシュである場合、対象情報記憶部11は、例えば優先度等の属性を、対象データに関連付けて記憶していてもよい。対象データに関連付けられる優先度は、例えば、対象情報記憶部11に空きが無くなった場合に、消去する対象データを選択する際に使用する指標である。優先度は、本実施形態に適用可能なさまざまなキャッシュアルゴリズムのうち、本実施形態に適用されたキャッシュアルゴリズムに基づき選択されていればよい。例えば、更新部15が、優先度の付与と対象データの消去を行えばよい。
When the target data is a cache as in the present embodiment, the target
キャッシュアルゴリズムとして、LRU(Least Recently Used)が適用されている場合、優先度は、例えば、対象データに対する最後のアクセスからの経過時間の長さを表す指標である。キャッシュアルゴリズムとして、LFU(Least Frequently Used)が適用されている場合、優先度は、例えば、対象データに対するアクセスの頻度である。キャッシュアルゴリズム及び優先度の組み合わせは、以上の組み合わせ以外であってもよい。優先度は、キャッシュアルゴリズムに応じて選択されていればよい。 When LRU (Least Recently Used) is applied as the cache algorithm, the priority is, for example, an index representing the length of time elapsed from the last access to the target data. When LFU (Least Frequently Used) is applied as the cache algorithm, the priority is, for example, the frequency of access to the target data. The combination of the cache algorithm and the priority may be other than the above combination. The priority may be selected according to the cache algorithm.
更新部15は、ステップS104において、まず、対象データ及びその対象データの属性の少なくともいずれかを書き換える必要があるか判定してもよい。判定の結果、対象データ及びその対象データの属性の少なくともいずれかを書き換える必要がある場合、更新部15は、書き換える必要がある、対象データ、属性、又は、対象データ及び属性を書き換えればよい。本実施形態の説明において、対象データ及びその対象データに関連付けられている属性の少なくともいずれかを書き換えることを、「キャッシュを書き換える」あるいは「キャッシュを更新する」と表記する。
In step S104, the
属性が上述の優先度である場合、更新部15は、アクセス要求に基づく書き込みによって、対象データの優先度が変化しないか判定すればよい。対象データの優先度が変化しない場合、更新部15は、優先度を書き換える必要がないと判定すればよい。その場合、更新部15は、優先度を書き換えなくてよい。対象データの優先度が変化する場合、更新部15は、優先度を書き換える必要があると判定すればよい。その場合、更新部15は、対象データの優先度を更新すればよい。
When the attribute is the above-described priority, the
さらに、更新部15は、書き込み命令であるアクセス命令が含むデータに基づき、対象データを書き換える必要があるか判定してもよい。判定の結果、対象データを書き換える必要がある場合、更新部15は、対象データを書き換えればよい。更新部15は、書き込み命令であるアクセス命令によって書き込まれるアクセス対象と、そのアクセス命令を発行した仮想装置20の識別子及びアクセス先の識別子に関連付けられている対象データとを比較すればよい。そして、比較したアクセス対象と対象データが異なる場合、更新部15は、対象データを書き換える必要があると判定すればよい。比較したアクセス対象と対象データが同じ場合、更新部15は、対象データを書き換える必要がないと判定すればよい。更新部15は、他の方法によって、対象データを書き換える必要があるか判定してもよい。
Furthermore, the
次に、中継部14は、アクセス命令を記憶装置3に送信する(ステップS105)。仮想装置20が発行するアクセス命令が、記憶装置3が解釈することができる形式のアクセス命令である場合、中継部14は、受信したアクセス命令をそのまま送信すればよい。仮想装置20が発行するアクセス命令が、記憶装置3が解釈することができる形式のアクセス命令でない場合、中継部14は、受信したアクセス命令を、記憶装置3が解釈することができる形式に変換すればよい。そして、中継部14は、記憶装置3が解釈することができる形式に変換されたアクセス命令を送信すればよい。
Next, the
アクセス命令は書き込み命令であるので、アクセス命令を受信した記憶装置3は、アクセス対象をアクセス先に書き込む。上述のように、アクセス対象は書き込まれるデータである。また、アクセス先は、記憶装置3が含む記憶領域における、アクセス対象が書き込まれる記憶領域である。記憶装置3は、アクセス対象であるデータの書き込みが終了すると、アクセス命令を送信した中継部14に対して終了信号を送信する。
Since the access command is a write command, the
アクセス命令を送信した中継部14は、書き込みを終了した記憶装置3から終了信号を受信する(ステップS106)。終了信号を受信した中継部14は、アクセス要求を発行した仮想装置20に対して、終了信号を送信する(ステップS107)。アクセス要求を発行した仮想装置20は、終了信号を受信する(ステップS108)。ステップS108の後、情報処理装置1は、図6に示す動作を終了する。
The
中継部14が受信したアクセス命令が書き込み命令でない場合(ステップS103においてNo)、本実施形態では、アクセス命令は読み出し命令である。
When the access command received by the
その場合、まず、更新部15がキャッシュを書き換える(ステップS109)。更新部15は、ステップS104と同様に、まずキャッシュを書き換える必要があるか判定すればよい。そして、判定の結果、キャッシュを書き換える必要がある場合、更新部15は、キャッシュを書き換えればよい。キャッシュの書き換えは、上述のように、対象データに関連付けられている属性である優先度の書き換えを含む。
In that case, first, the
さらに、更新部15は、アクセス要求によって読み出しが要求されたアクセス対象(すなわち読み出しの対象)の全てが、キャッシュとして対象情報記憶部11に格納されているか判定する(ステップS110)。以下の説明において、アクセス対象のコピーである対象データがキャッシュとして対象情報記憶部11に格納されていることを、「アクセス対象がキャッシュされている」と表記する。
Furthermore, the
読み出しの対象の全てがキャッシュされている場合(ステップS111においてYes)、情報処理装置1の動作はステップS112に進む。読み出しの対象の少なくとも一部がキャッシュされていない場合(ステップS111においてNo)、情報処理装置1の動作はステップS114に進む。
If all of the reading targets are cached (Yes in step S111), the operation of the
読み出しの対象の全てがキャッシュされている場合(ステップS111においてYes)、中継部14は、読み出しの対象であるアクセス対象のコピーを、対象情報記憶部11から読み出す。読み出しの対象であるアクセス対象のコピーは、アクセス命令を発行した仮想装置20の識別子及びアクセス先の識別子に関連付けられている対象データである。
When all of the reading targets are cached (Yes in step S111), the
中継部14は、読み出した対象データを、アクセス命令を発行した仮想装置20に送信する(ステップS113)。アクセス命令を発行した仮想装置20は、対象データを受信する。そして、図6に示す情報処理装置1の動作は終了する。
The
読み出しの対象の少なくとも一部がキャッシュされていない場合(ステップS111においてNo)、中継部14は、記憶装置3にアクセス命令を転送する(ステップS114)。
When at least a part of the read target is not cached (No in step S111), the
仮想装置20が発行するアクセス命令の形式が、記憶装置3が解釈することができる形式でない場合、中継部14は、受信したアクセス命令の形式を記憶装置3が解釈することができる形式に変更する。そして、中継部14は、形式を変更したアクセス命令を、記憶装置3に送信する。アクセス命令を受信した記憶装置3は、アクセス先に格納されているアクセス対象を読み出す。記憶装置3は、読み出したアクセス対象を、中継部14に送信する。
When the format of the access command issued by the
アクセス命令によって読み出されるアクセス対象の一部がキャッシュされている場合、中継部14は、アクセス対象のうち、キャッシュされていない部分を読み出すアクセス命令を作成してもよい。そして、中継部14は、作成したアクセス命令を、記憶装置3に送信してもよい。
When a part of the access target read by the access command is cached, the
中継部14は、記憶装置3から、読み出し命令であるアクセス命令によって読み出されるアクセス対象(すなわち、読み出しの対象)を、記憶装置3から受信する(ステップS115)。
The
中継部14がアクセス対象を受信すると、更新部15が、そのアクセス対象に基づき、必要に応じてキャッシュを書き換える(ステップS116)。更新部15は、例えば、アクセス対象にコピーが対象データとして対象情報記憶部11に格納されていない部分が存在する場合、そのアクセス対象の部分のコピーを、対象データとして対象情報記憶部11に格納すればよい。前述のように、更新部15は、対象情報記憶部11に格納する対象データに、対象データがコピーされたアクセス対象を読み出すアクセス命令を発行した仮想装置20の識別子及びそのアクセス対象が読み出されたアクセス先の識別子を関連付ける。さらに、更新部15は、キャッシュアルゴリズムに応じて、仮想装置20が発行したアクセス命令におけるアクセス対象のコピーである対象データの優先度を変更する必要があるか判定する。優先度を変更する必要がある対象データが存在する場合、更新部15は、対象情報記憶部11に格納されている、その対象データの優先度を、その優先度に応じた方法で変更すればよい。
When the
次に、中継部14は、アクセス命令による読み出しの対象であるアクセス対象を、そのアクセス命令を発行した仮想装置20に送信する(ステップS117)。アクセス対象の一部がキャッシュされている場合、中継部14は、対象情報記憶部11から読み出した対象データと、記憶装置3から受信した対象データの一部分とが組み合わされたアクセス対象を、アクセス命令を発行した仮想装置20に送信すればよい。アクセス命令を発行した仮想装置20は、アクセス対象を受信する。そして、情報処理装置1は、図6に示す動作を終了する。
Next, the
仮想装置20が記憶装置3に書き込むデータが、その仮想装置20のみが使用するデータであれば、基本的に、仮想装置20が記憶装置3に書き込んだデータが、その仮想装置20を実行する情報処理装置1以外の情報処理装置1からアクセスされることはない。すなわち、基本的に、仮想装置20が記憶装置3に書き込んだデータが、その仮想装置20を実行する情報処理装置1以外の情報処理装置1によって書き換えられることはない。従って、仮想装置20が記憶装置3に書き込んだデータと、その仮想装置20を実行する情報処理装置1の対象情報記憶部11に格納されている、その仮想装置20が記憶装置3に書き込んだデータのコピーとは、同一である。すなわち、記憶装置3に格納されているデータと、そのデータのキャッシュとの間に、不整合は発生しない。
If the data that the
しかし、例えば、情報処理装置1が実行する仮想装置20の数が多くなりすぎたことによって仮想装置20の性能が要求性能に達しない等の理由により、仮想装置20を他の情報処理装置1に移行させることがある。その場合、記憶装置3に格納されているデータと、そのデータのキャッシュとの間に、不整合が発生する可能性がある。
However, for example, because the performance of the
例えば、図1に示す右の情報処理装置1において動作する仮想装置20が、記憶装置3が記憶するデータにアクセスした場合、右の情報処理装置1の対象情報記憶部11に、仮想装置20がアクセスしたデータのコピーが記憶される。以下の説明において、対象情報記憶部11に格納されている、アクセスが行われたデータのコピーを、そのデータのキャッシュデータと表記することにする。仮想装置20が、記憶装置3に格納されているデータを書き換えた場合、書き換えられたデータのキャッシュデータも、データの書き換えに応じて更新される。従って、記憶装置3に格納されているデータと、右の情報処理装置1の対象情報記憶部11が記憶するキャッシュデータとの間に、不整合は発生しない。
For example, when the
仮想装置20が、右の情報処理装置1から左の情報処理装置1に移行した場合、移行後に仮想装置20がアクセスした記憶装置3が記憶するデータのキャッシュデータは、移行後の仮想装置20が動作する左の情報処理装置1の対象情報記憶部11に格納される。移行後に記憶装置3が記憶装置3に格納されているデータを書き換えた場合、左の情報処理装置1の対象情報記憶部11が記憶する、書き換えられたデータのキャッシュデータは、更新される。
When the
書き換えられたデータのキャッシュデータは、移行前に仮想装置20が動作していた右の情報処理装置1の対象情報記憶部11にも格納されている可能性がある。しかし、右の情報処理装置1の対象情報記憶部11に格納されている、書き換えられたデータのキャッシュデータは、データが書き換えられても更新されない。右の情報処理装置1の対象情報記憶部11に格納されているデータは、移行前に記憶装置3に格納されていたデータのコピーである。従って、記憶装置3に格納されている、移行後に書き換えられたデータと、右の情報処理装置1の対象情報記憶部11に格納されている、移行後に書き換えられたデータのキャッシュデータは、必ずしも一致しない。記憶装置3に格納されているデータと、右の情報処理装置1の対象情報記憶部11に格納されているキャッシュデータとの間に、不整合が生じている可能性がある。
There is a possibility that the cache data of the rewritten data is also stored in the target
仮想装置20の移行に特に制限がなければ、仮想装置20が、さらに、左の情報処理装置1から右の情報処理装置1に移行する可能性がある。すなわち、記憶装置3に格納されているデータと、右の情報処理装置1の対象情報記憶部11に格納されているキャッシュデータとの間に、不整合が生じている状態で、仮想装置20が右の情報処理装置1に移行する可能性がある。仮想装置20が不整合が生じているキャッシュデータを使用した場合、仮想装置20は、その不整合のために正常に動作できない。
If there is no particular limitation on the migration of the
仮想装置20がキャッシュデータの不整合のために正常に動作しないリスクを軽減するためには、不整合が生じている可能性があるキャッシュデータを仮想装置20が使用する可能性を減少させる処理を、例えば制御部12がキャッシュデータに対して行えばよい。
In order to reduce the risk that the
制御部12が、不整合が生じている可能性があるキャッシュデータを仮想装置20が使用する可能性を減少させる処理を、例えば、仮想装置20の状態変化が検出された場合に行えばよい。状態変化は、例えば、情報処理装置1において動作していなかった仮想装置20が、その情報処理装置1における動作を開始する動作開始である。動作開始は、例えば、他の情報処理装置1から仮想装置20が移動すること、及び仮想装置20が起動すること等を含む。他の情報処理装置1に移行した仮想装置20が戻ってくることも、動作開始に含まれる。状態変化は、例えば、情報処理装置1において動作していた仮想装置20が、その情報処理装置1における動作を停止する動作停止である。動作停止は、例えば、仮想装置20が他の情報処理装置1に移動すること、及び仮想装置20がシャットダウンなどによって動作を停止することを含む。検出部13が、例えば以上の状態変化のうちの、あらかじめ定められたいずれかが生じた仮想装置20を検出すればよい。
The
制御部12は、不整合が生じている可能性があるキャッシュデータを仮想装置20が使用する可能性を減少させる処理として、例えば以下の処理のいずれかを行えばよい。制御部12は、例えば、検出部13が状態変化を検出した仮想装置20に関連付けられているキャッシュデータを消去すればよい。制御部12は、例えば、検出部13が状態変化を検出した仮想装置20に関連付けられているキャッシュデータの、上述の優先度を、そのキャッシュデータが消去される順番が早くなるよう変更してもよい。制御部12は、例えば、検出部13が状態変化を検出した仮想装置20に関連付けられているキャッシュデータに対して、消去することを表すフラグを立ててもよい。その場合、中継部14は、消去することを表すフラグが立っているキャッシュデータを読み出さないよう設計されていればよい。さらに、中継部14が、消去することを表すフラグが立っているキャッシュデータを検出した場合、例えば更新部15が、検出された、消去することを表すフラグが立っているキャッシュデータを消去すればよい。あるいは、制御部12は、例えば、検出部13が状態変化を検出した仮想装置20に関連付けられているキャッシュデータを読み出し禁止に設定してもよい。その場合、中継部14は、読み出し禁止にされているキャッシュデータを読み出さないよう設計されていればよい。
The
以上のように、制御部12は、検出部13が仮想装置20の所定の状態変化を検出した場合、状態変化が検出された仮想装置20に関連付けられているキャッシュデータに対して、所定の処理を行う。この所定の処理は、例えば上述された処理のいずれかである、不整合が生じている可能性があるキャッシュデータを仮想装置20が使用する可能性を減少させる処理である。キャッシュデータは、本実施形態における対象データである。
As described above, when the
次に、仮想装置20に所定の状態変化が生じる場合における、情報処理装置1の動作の例について、図面を参照して詳細に説明する。以下の説明では、仮想装置20の所定の状態変化は、他の情報処理装置1に移行した仮想装置20が戻ってくることである。また、不整合が生じている可能性があるキャッシュデータを仮想装置20が使用する可能性を減少させる所定の処理は、状態変化が検出された仮想装置20に関連付けられているキャッシュデータを削除することである。
Next, an example of the operation of the
図7は、本実施形態の情報処理装置1の、仮想装置20に状態変化が生じる場合における動作の例を表すフローチャートである。図7を使用して、情報処理装置1において起動した仮想装置20が他の情報処理装置1に移行した後、戻ってくる場合における、情報処理装置1の動作について説明する。
FIG. 7 is a flowchart illustrating an example of the operation of the
まず、情報処理装置1において仮想装置20が起動すること、すなわち、実行部10が仮想装置20のエミュレートを開始した場合の情報処理装置1の動作について説明する。
First, the operation of the
図7に示す動作において、検出部13は、継続的に、仮想装置20の状態変化の検出を行っている(ステップS201)。
In the operation illustrated in FIG. 7, the
仮想装置20の状態変化が検出されない場合(ステップS202においてNo)、情報処理装置1の動作は、ステップS201に戻る。そして、検出部13は、仮想装置20の状態変化の検出を継続する。
When the state change of the
仮想装置20の状態変化が検出された場合(ステップS202においてYes)、制御部12は、検出した状態変化が、仮想装置20の起動であるか判定する。仮想装置20の起動が検出された場合(ステップS203においてYes)、制御部12は、起動が検出された仮想装置20の識別子を特定する(ステップS204)。
When the state change of the
検出部13は、仮想装置20の状態変化に加えて、状態変化が検出された仮想装置20の識別子と、状態変化の種別とを検出する。前述のように、検出部13は、例えば実行部10から、状態が変化した仮想装置20の識別子と、状態変化の種別とを受信すればよい。そして、検出部13は、制御部12に対して、状態が変化した仮想装置20の識別子と、状態変化の種別とを送信すればよい。
In addition to the state change of the
制御部12は、起動が検出された仮想装置20の識別子を記憶する。そして、情報処理装置1の動作は、ステップS201に戻る。
The
次に、情報処理装置1が実行している仮想装置20が、他の情報処理装置1に移動する場合の、情報処理装置1の動作について説明する。
Next, an operation of the
上述のように、検出部13は、仮想装置20の状態変化の検出を継続している(ステップS201)。情報処理装置1が実行している仮想装置20が、他の情報処理装置1に移動した場合、検出部13は、仮想装置20の状態変化を検出する(ステップS202においてYes)。検出された状態変化は、仮想装置20の起動ではない(ステップS203においてNo)。その場合、制御部12は、さらに、検出された状態変化が、仮想装置20が他の情報処理装置1に移動したことであるか判定する。制御部12は、検出部13から受信した状態変化の種別に基づいて判定すればよい。
As described above, the
判定の結果、仮想装置20が他の情報処理装置1に移動した場合(ステップS205においてYes)、制御部12は、他の情報処理装置1に移動した仮想装置20の識別子を特定する。そして、制御部12は、特定された、仮想装置20の識別子を、他の情報処理装置1に移動した仮想装置20の識別子として記憶する(ステップS206)。ステップS206の後、情報処理装置1の動作はステップS201に戻る。そして、検出部13は、仮想装置20の状態変化の検出を継続する。
As a result of the determination, when the
次に、他の情報処理装置1に移動した仮想装置20が、再び戻ってきた場合における、情報処理装置1の動作について説明する。
Next, the operation of the
上述のように、検出部13は、仮想装置20の状態変化の検出を継続している(ステップS201)。仮想装置20が他の情報処理装置1から情報処理装置1に移動した場合、検出部13は、仮想装置20の状態変化を検出する(ステップS202においてYes)。検出された状態変化は、仮想装置20の起動ではない(ステップS203においてNo)。その場合、制御部12は、さらに、検出された状態変化が、仮想装置20が他の情報処理装置1に移動したことであるか判定する。判定の結果、仮想装置20が他の情報処理装置1に移動していない場合(ステップS205においてNo)、制御部12は、仮想装置20が他の情報処理装置1から移動したか判定する。判定の結果、仮想装置20が他の情報処理装置1から情報処理装置1に移動していない場合(ステップS207においてNo)、情報処理装置1の動作は、ステップS201に戻る。そして、検出部13は仮想装置20の状態変化の検出を継続する。
As described above, the
判定の結果、仮想装置20が他の情報処理装置1から情報処理装置1に移動した場合(ステップS207においてYes)、制御部12は、他の情報処理装置1から移動した仮想装置20の識別子を特定する(ステップS208)。
As a result of the determination, when the
制御部12は、ステップS208において特定された、他の情報処理装置1から移動した仮想装置20の識別子が、他の情報処理装置1に移動した仮想装置20の識別子として記憶されているか判定する。
The
特定された、他の情報処理装置1から移動した仮想装置20の識別子が、他の情報処理装置1に移動した仮想装置20の識別子として記憶されていない場合(ステップS209においてNo)、情報処理装置1は、図7に示す動作を終了する。あるいはこの場合、情報処理装置1の動作は、ステップS201に戻ってもよい。
When the identified identifier of the
特定された、他の情報処理装置1から移動した仮想装置20の識別子が、他の情報処理装置1に移動した仮想装置20の識別子として記憶されている場合(ステップS209においてYes)、情報処理装置1の動作は、ステップS210に進む。なお、仮想装置20が移動して行った移動先である他の情報処理装置1と、戻ってきた仮想装置20の移動元である他の情報処理装置1は、一致する必要はない。
When the identified identifier of the
ステップS210において、制御部12は、他の情報処理装置1から移動した仮想装置20に関連付けられている対象データに対して、所定の処理を行う(ステップS210)。前述のように、他の情報処理装置1から移動した仮想装置20に関連付けられている対象データは、他の情報処理装置1から移動した仮想装置20の識別子に関連付けられている対象データである。また、ステップS210において他の情報処理装置1から移動した仮想装置20は、他の情報処理装置1に移動した後、戻ってきた仮想装置20である。対象データは、対象情報記憶部11に格納されている。さらに、対象データは、前述のキャッシュデータである。そして、所定の処理は、図7に示す説明においては、対象データを削除することである。従って、言い換えると、ステップS210において、制御部12は、他の情報処理装置1に移動した後、戻ってきた仮想装置20に関連付けられているキャッシュデータ(すなわち対象データ)を、対象情報記憶部11から削除する。
In step S210, the
本実施形態には、仮想装置20が動作する情報処理装置1が保持する、仮想装置20によるアクセスに応じて変化しうる対象データに、仮想装置20が情報処理装置1間で移動することによって生じる不整合を軽減することができるという効果がある。
In the present embodiment, the
その理由は、制御部12が、対象情報記憶部11に格納され、状態変化が検出された仮想装置20に関連付けられている対象データに対して、所定の処理を行うからである。所定の処理は、例えば削除である。所定の処理は、状態変化が検出された仮想装置20が、処理が行われた対象データを使用する可能性を低減する処理であれば、削除以外の処理であってもよい。状態変化は、例えば、他の情報処理装置1に移動した後、戻ってくることである。状態変化は、他の状態変化であってもよい。
The reason is that the
<第2の実施形態>
次に、本発明の第2の実施形態について、図面を参照して詳細に説明する。
<Second Embodiment>
Next, a second embodiment of the present invention will be described in detail with reference to the drawings.
図1は、本実施形態の情報処理システム100の構成を表すブロック図である。本実施形態の情報処理システム100の構成は、第1の実施形態の情報処理システム100の構成と同じである。 FIG. 1 is a block diagram illustrating a configuration of an information processing system 100 according to the present embodiment. The configuration of the information processing system 100 of the present embodiment is the same as the configuration of the information processing system 100 of the first embodiment.
本実施形態の更新部15は、アクセス要求が書き込み要求である場合、書き込まれるアクセス対象の全てを、対象情報記憶部11に対象データとして書き込めた場合、記憶装置3にアクセス要求を送信しない。
When the access request is a write request, the
さらに、本実施形態の制御部12は、実行装置10が実行していた仮想装置20が、他の情報処理装置1に移動したことが検出された場合、例えば中継部14に移動通知を送信する。
Furthermore, when it is detected that the
本実施形態の中継部14は、移動通知を受信した場合、対象情報記憶部11に格納されている対象データを、記憶装置3が記憶するデータに反映させる。
When receiving the movement notification, the
制御部12は、さらに、対象データの、記憶装置3が記憶するデータへの反映が終了した後、他の情報処理装置1に移動したことが検出された仮想装置20に関連付けられている対象データを消去する。
The
また、制御部12は、他の情報処理装置1に移動した仮想装置20の識別子を記憶しない。制御部12は、他の情報処理装置1から移動した仮想装置20の識別子と、記憶している、他の情報処理装置1に移動した仮想装置20の識別子とを比較しない。そして、制御部12は、他の情報処理装置1に移動した後、戻ってきた仮想装置20に関連付けられている対象データを消去しない。
Further, the
以上を除き、本実施形態の各構成要素は、同じ符号が付与された、第1の実施形態の構成要素と同じである。また、第1の実施形態と同様に、本実施形態においても、対象情報記憶部11に格納されている対象データは、キャッシュデータである。
Except for the above, each component of the present embodiment is the same as the component of the first embodiment to which the same reference numerals are given. Similarly to the first embodiment, in this embodiment, the target data stored in the target
次に、本実施形態の情報処理装置1の動作について、図面を参照して詳細に説明する。
Next, the operation of the
図8及び図9は、本実施形態の情報処理装置1の、通常時の動作を表すフローチャートである。図8及び図9と、図6とを比較すると、図9におけるステップS104とステップS105の間に、ステップS301の動作が含まれる点が異なる。前述のように、図6は、第1の実施形態の情報処理装置1の通常時の動作を表すフローチャートである。図8及び図9における、ステップS301以外のステップの動作は、図6に示す、同じ符号が付与されたステップの動作と同じである。従って、以下では、ステップS301の動作及びステップS301の動作に関連する動作の説明を行い、他の動作についての説明は省略する。
8 and 9 are flowcharts showing the normal operation of the
ステップS104においてキャッシュを書き換えた後、更新部15は、アクセス要求に基づく全てのアクセス対象を、対象データとして対象情報記憶部11に書き込めたか判定する(ステップS301)。
After rewriting the cache in step S104, the updating
書き込み命令であるアクセス命令に基づく全てのアクセス対象を、対象データとして対象情報記憶部11に書き込めた場合(ステップS301においてYes)、中継部14は、仮想装置20に終了信号を送信する(ステップS107)。そして、仮想装置20が、終了信号を受信する(ステップS108)。
When all the access targets based on the access command, which is a write command, can be written in the target
アクセス要求に基づく全てのアクセス対象を、対象データとして対象情報記憶部11に書き込めなかった場合(ステップS301においてNo)、ステップS105以降の動作を行う。本実施形態におけるステップS105以降の動作は、図6に示す、第1の実施形態におけるステップS105以降の動作と同じである。
When all the access targets based on the access request cannot be written in the target
なお、ステップS104において、更新部15は、書き込み命令の基づき対象情報記憶部11に書き込みを行った対象データに、変更されたことを表すフラグを関連付けてもよい。
In step S104, the updating
以上のように、本実施形態では、アクセス命令が書き込み命令である場合、アクセス命令によって書き込まれるデータであるアクセス対象を、対象情報記憶部11に書き込めた場合、アクセス命令受信時においては記憶装置3にアクセス命令を送信しない。
As described above, in the present embodiment, when the access command is a write command, when the access target that is data written by the access command can be written to the target
次に、本実施形態の情報処理装置1の、仮想装置20に状態変化が生じた場合における動作について、図面を参照して詳細に説明する。
Next, the operation of the
図10は、本実施形態の情報処理装置1の、仮想装置20に状態変化が生じた場合における動作を表すフローチャートである。図10に示す動作において、ステップS201からステップS205までのステップにおける動作は、図7に示す、第1の実施形態の情報処理装置1の動作における、同じ番号が付与されているステップの動作と同じである。図10に示す動作では、ステップS205においてYesである場合、ステップS401及びステップS402の動作が行われる。以下では、主に、ステップS401及びステップS402の動作と、それらのステップに関連する動作とについて説明する。
FIG. 10 is a flowchart illustrating the operation of the
本実施形態の検出部13も、仮想装置20の状態変化を、継続的に検出している(ステップS201)。仮想装置20の状態変化が検出され(ステップS202においてYes)、検出された状態変化が起動ではなく(ステップS203においてNo)、情報処理装置1の動作はステップS205に進む。さらに、検出された状態変化が、他の情報処理装置1への移動である場合(ステップS205においてYes)、情報処理装置1の動作はステップS401に進む。
The
ステップS401において、中継部14は、他の情報処理装置1への移動が検出された仮想装置20に関連付けられている対象データを、記憶装置3に反映させる。すなわち、中継部14は、他の情報処理装置1への移動が検出された仮想装置20に関連付けられている対象データを、その対象データの関連付けられているアクセス先の識別子によって特定される、記憶装置3に含まれる記憶領域に書き込む。なお、上述のステップS104において、書き込みが行われた対象データに変更されたことを表すフラグが関連付けられている場合、中継部14は、変更されたことを表すフラグが関連付けられている対象データだけを、上述のように記憶装置3に書き込めばよい。
In step S <b> 401, the
ステップS401の動作の後、制御部12は、他の情報処理装置1に移動したことが検出された仮想装置20に関連付けられている対象データに、所定の処理を行う(ステップS402)。本実施形態における所定の処理は、例えば、図6に示すステップS210の動作の説明において述べた、不整合が生じている可能性があるキャッシュデータを仮想装置20が使用する可能性を減少させる処理のいずれかである。本実施形態における所定の処理は、例えば消去であってもよい。
After the operation in step S401, the
なお、本実施形態の情報処理装置1は、ステップS205において、仮想装置20の状態変化が、仮想装置20が動作している状態から、その仮想装置20が動作していない状態への変化である場合に、ステップS401の動作を行ってもよい。
In the
以上で説明した本実施形態には、第1の実施形態と同じ効果がある。その理由は、第1の実施形態の効果が生じる理由と同じである。ただし、本実施形態では、仮想装置20が他の情報処理装置1に移動したことが検出された場合、中継部14は、その仮想装置20が発行したアクセス命令の受信時において記憶装置3に書き込まれなかったデータを、記憶装置3に書き込む。そして、中継部14による書き込みが終了した後、制御部12は、所定の処理を行う。従って、記憶装置3が記憶するデータと、移動元の情報処理装置1が記憶する、そのデータのキャッシュデータとの間に不整合が存在することによる、他の情報処理装置1移動した仮想装置20が誤動作するリスクを軽減することができる。
The present embodiment described above has the same effect as the first embodiment. The reason is the same as the reason for the effect of the first embodiment. However, in the present embodiment, when it is detected that the
本実施形態には、さらに、仮想装置20から書き込み命令であるアクセス命令を受信してから、そのアクセス命令に対する処理が完了するまでの時間を短縮できるという効果がある。
The present embodiment further has an effect that it is possible to shorten the time from the reception of an access command, which is a write command, from the
その理由は、アクセス命令によって書き込まれる対象データを、全て対象情報記憶部11に書き込めた場合、中継部14は、そのアクセス命令の受信時において、そのアクセス命令によって書き込まれる対象データを記憶装置3に書き込まないからである。
The reason is that when all the target data written by the access command can be written to the target
<第3の実施形態>
次に、本発明の第3の実施形態について、図面を参照して詳細に説明する。
<Third Embodiment>
Next, a third embodiment of the present invention will be described in detail with reference to the drawings.
図1は、本実施形態の情報処理システム100の構成の例を表すブロック図である。本実施形態の情報処理システム100の構成は、第1の実施形態の情報処理システム100の構成と同じである。 FIG. 1 is a block diagram illustrating an example of a configuration of an information processing system 100 according to the present embodiment. The configuration of the information processing system 100 of the present embodiment is the same as the configuration of the information processing system 100 of the first embodiment.
本実施形態の制御部12は、検出された仮想装置20の状態変化の種別が、あらかじめ設定されている状態変化の種別である場合、その状態変化が検出された仮想装置20に関連付けられている対象データに対して、所定の処理を行う。なお、複数の状態の種別があらかじめ設定されていてもよい。その場合、本実施形態の制御部12は、検出された仮想装置20の状態変化の種別が、あらかじめ設定されている状態変化の種別のいずれかである場合、その状態変化が検出された仮想装置20に関連付けられている対象データに対して、所定の処理を行えばよい。
When the detected state change type of the
状態変化の種別は、第1の実施形態の説明において述べた状態変化の種別と同じである。あらかじめ設定されている状態変化の種別は、例えば、情報処理装置1の設計者、管理者、あるいはユーザによって設定されればよい。
The type of state change is the same as the type of state change described in the description of the first embodiment. The type of state change set in advance may be set by, for example, the designer, administrator, or user of the
次に、本実施形態の情報処理装置1の動作について、図面を参照して詳細に説明する。
Next, the operation of the
図6は、本実施形態の情報処理装置1の、通常時における動作の例を表すフローチャートである。本実施形態の情報処理装置1の、通常時における動作は、第1の実施形態の情報処理装置1の通常時における動作と同じである。従って、本実施形態の情報処理装置1の通常時における動作の説明は省略する。
FIG. 6 is a flowchart illustrating an example of the operation of the
図11は、本実施形態の情報処理装置1の、仮想装置20の状態が変化した場合における動作を表すフローチャートである。ステップS201及びステップS202の動作は、第1の実施形態における、ステップS201及びステップS202の動作と同じである。従って、これらの動作の説明は省略する。
FIG. 11 is a flowchart showing the operation of the
ステップS501において、制御部12は、検出された、仮想装置20の状態変化の種別が、あらかじめ設定されている状態変化の種別と同じか判定する。複数の状態種別が設定されている場合、制御部12は、検出された、仮想装置20の状態変化の種別が、あらかじめ設定されている状態変化の種別のいずれかと同じか判定する。
In step S501, the
検出された、仮想装置20の状態変化の種別が、あらかじめ設定されているいずれの状態変化の種別とも同じでない場合(ステップS501においてNo)、制御部12は、検出された状態変化に応じて定められている処理を行う(ステップS502)。ステップS502における動作は、例えば、図7に示すステップS204あるいはステップS206における動作である。検出された状態変化に応じて定められている処理が存在しない場合、制御部12は、ステップS502における動作を行わなくてよい。
When the detected state change type of the
検出された、仮想装置20の状態変化の種別が、あらかじめ設定されているいずれかの状態変化の種別と同じである場合(ステップS501においてYes)、情報処理装置1の動作は、ステップS503に進む。以下の説明において、あらかじめ設定されているいずれかの状態変化の種別と同じ種別の状態変化が検出された仮想装置20を、対象仮想装置と表記する。
If the detected state change type of the
ステップS503において、例えば制御部12が、対象仮想装置に関連付けられている、対象情報記憶部11に格納されている対象データに対して、所定の処理を行う。ステップS503における所定の処理は、図7に示すステップS210の動作における所定の処理と同じであればよい。ステップS503において所定の処理を行う構成要素は、制御部12に限られない。例えば、ステップS503における所定の処理は、図10に示すステップS401の動作及びステップS402の動作であってもよい。図10に示す例では、ステップS401の動作は中継部14によって行われる。そして、ステップS402の動作は制御部12によって行われる。
In step S503, for example, the
以上で説明した本実施形態には、第1の実施形態と同じ効果がある。その理由は、第1の実施形態の効果が生じる理由と同じである。 The present embodiment described above has the same effect as the first embodiment. The reason is the same as the reason for the effect of the first embodiment.
<第4の実施形態>
次に、本発明の第4の実施形態について、図面を参照して詳細に説明する。
<Fourth Embodiment>
Next, a fourth embodiment of the present invention will be described in detail with reference to the drawings.
図12は、本実施形態の情報処理システム100Cの構成の例を表すブロック図である。図12と図1を比較すると、本実施形態の情報処理システム100Cは、記憶装置3の代わりに対象装置3Aを含む点が、第1の実施形態の情報処理システム100と異なる。対象装置3Cは、サーバなどの情報処理装置であってもよい。対象装置3Cは、記憶装置であってもよい。本実施形態では、対象装置3Cが前述の要求先装置である。
FIG. 12 is a block diagram illustrating an example of the configuration of the information processing system 100C according to the present embodiment. Comparing FIG. 12 and FIG. 1, the information processing system 100 </ b> C of the present embodiment is different from the information processing system 100 of the first embodiment in that it includes the
図13は、本実施形態の情報処理システム100Cの全体像を模式的に表す図である。図13に示すように、情報処理システム100Cは、複数の情報処理装置1を含んでいてもよい。同様に、情報処理システム100Cは、複数の対象装置3Aを含んでいてもよい。各情報処理システム100Cと各対象装置3Cとは、例えば通信ネットワーク4を介して接続されている。
FIG. 13 is a diagram schematically illustrating an overall image of the information processing system 100C according to the present embodiment. As illustrated in FIG. 13, the information processing system 100 </ b> C may include a plurality of
本実施形態では、仮想装置20は、中継部14を介して、対象装置3Cに対してアクセスを行う。アクセスは、例えば、何らかのデータの送信及び受信の少なくともいずれかを行う通信であればよい。データは、例えば、対象装置3Cに対する命令や、対象装置3Cからの命令であってもよい。
In the present embodiment, the
本実施形態では、仮想装置20に対して設定された通信に関する優先順位が、仮想装置20の識別子に関連付けられて、対象データとして対象情報記憶部11に格納される。すなわち、本実施形態では、対象データは仮想装置20の通信に関する優先順位である。
In the present embodiment, the priority order regarding communication set for the
中継部14は、仮想装置20からデータを受信し、受信したデータを対象装置3Cに送信する出力を行う。中継部14は、対象装置3Cからデータを受信し、受信したデータを仮想装置20に送信する入力を行う。中継部14は、複数の仮想装置20が、これらの入力及び出力を含む通信を行う場合、仮想装置20に関連付けられている優先順位が高いほど優先して、仮想装置20が行う通信の処理を行う。中継部14は、例えば、優先順位が高さに応じた広さの通信帯域を仮想装置20に割り当てればよい。中継部14は、例えば、複数の仮想装置20が同時に通信を行おうとする場合、優先度が高い仮想装置20の通信の処理が完了した後、優先度が低い仮想装置20による通信に対する処理を行ってもよい。優先順位に応じた優先度で仮想装置20の通信を処理する方法は、以上の方法ではない、他の方法であってもよい。
The
更新部15は、例えば、仮想装置20の状態や、仮想装置20が行っている処理の内容や、仮想装置20が行う通信の種類に応じて、各仮想装置20の優先順位を決定する。更新部15が、仮想装置20の優先順位を決定するために使用するパラメータを、以下の説明において、仮想装置20に関する状態と表記する。更新部15は、仮想装置20に関する状態を検出し、検出された、仮想装置20に関する状態に基づき、優先順位を決定する。そして、更新部15は、決定された優先順位を、仮想装置20の識別子に関連付けて、対象データとして対象情報記憶部11に格納する。更新部15が仮想装置20の優先順位を決定する方法は、あらかじめ決められていればよい。更新部15は、優先順位の更新を、例えば、制御部12から指示を受信した場合に行う。更新部15は、さらに、例えば、仮想装置20からの指示を受信した場合に、優先順位の更新を行ってもよい。仮想装置20は、例えば、行っている処理の内容や、行っている通信の種類が変わった場合、更新部15に優先順位を更新する指示を送信するよう設定されていればよい。
The
仮想装置20にあらかじめ決められた種別の状態変化が生じたことが検出部13によって検出された場合、制御部12は、仮想装置20の優先順位を更新するよう、更新部15に対して指示することによって、各仮想装置20の優先順位を更新する。
When the
図14は、本実施形態の情報処理装置1の、対象データを更新する場合における動作を表すフローチャートである。図14の動作は、例えば、制御部12あるいはいずれかの仮想装置20からの指示によって開始される。
FIG. 14 is a flowchart showing the operation of the
まず、更新部15が、仮想装置20に関する状態を検出する(ステップS601)。
First, the
次に、更新部15が、検出された、仮想装置20に関する状態に基づき、仮想装置20に関連付けられている対象データを更新する(ステップS602)。
Next, the
次に、本実施形態の情報装置1の、仮想装置20に状態変化が生じた場合における動作について、図面を参照して詳細に説明する。
Next, an operation of the
図11は、本実施形態の情報装置1の、仮想装置20に状態変化が生じた場合における動作を表すフローチャートである。
FIG. 11 is a flowchart showing the operation of the
本実施形態の情報処理装置1の、仮想装置20に状態変化が生じた場合における動作は、ステップS503における所定の処理の内容を除いて、第3の実施形態の情報処理装置1の、仮想装置20に状態変化が生じた場合における動作と同じである。
The operation of the
ステップS503において、更新部15が、対象情報記憶部11に格納されている、対象データである優先順位を更新する処理を行う。
In step S <b> 503, the
以上で説明した本実施形態には、第1の実施形態と同じ効果がある。その理由は、第1の実施形態の効果が生じる理由と同じである。 The present embodiment described above has the same effect as the first embodiment. The reason is the same as the reason for the effect of the first embodiment.
<第5の実施形態>
次に、本発明の第5の実施形態について、図面を参照して詳細に説明する。
<Fifth Embodiment>
Next, a fifth embodiment of the present invention will be described in detail with reference to the drawings.
図12は、本実施形態の情報処理システム100Cの構成の例を表すブロック図である。本実施形態の情報処理システム100Cの構成は、第4の実施形態の情報処理システム100Cの構成と同じである。 FIG. 12 is a block diagram illustrating an example of the configuration of the information processing system 100C according to the present embodiment. The configuration of the information processing system 100C of the present embodiment is the same as the configuration of the information processing system 100C of the fourth embodiment.
本実施形態では、対象情報記憶部11に格納されている対象データは、それぞれの仮想装置20に設定されている圧縮設定値である。圧縮設定値は、例えば、圧縮に使用される圧縮アルゴリズムや、圧縮処理におけるパラメータ等の、圧縮方法を特定する値である。圧縮設定値は、あらかじめ定められていればよい。
In the present embodiment, the target data stored in the target
各仮想装置20は、中継部14を介して、対象装置3Cと通信を行う。
Each
中継部14は、仮想装置20が対象装置3Cに送信するデータを受信すると、受信したデータを、その仮想装置20に関連付けられている対象データである圧縮設定値に基づく圧縮方法で、圧縮する。
When the
更新部15は、例えば、各仮想装置20に対して設定されている圧縮率、仮想装置20が送信するデータの種類、圧縮に使用することができる計算資源の量等に基づき、それぞれの仮想装置20に対する圧縮設定値を決定する。更新部15は、仮想装置20に対して設定されている圧縮率、仮想装置20が送信するデータの種類などを、仮想装置20から受信すればよい。本実施形態では、仮想装置20に対して設定されている圧縮率、仮想装置20が送信するデータの種類などが、上述の、仮想装置20に関する状態である。仮想装置20は、要求に応じて、設定されている圧縮率や送信するデータの種類などを、更新部15に送信するよう設計されていればよい。更新部15は、圧縮に使用することができる計算資源を、例えば実行部10から取得すればよい。更新部15は、さらに、使用可能なそれぞれの圧縮アルゴリズムを使用して、設定可能なさまざまなパラメータに基づき圧縮を行う場合における、平均的な圧縮率や、平均的な資源使用量などを、使用して、圧縮設定値を決定してもよい。更新部15は、使用可能なそれぞれの圧縮アルゴリズムを使用して、設定可能なさまざまなパラメータに基づき圧縮を行う場合における、平均的な圧縮率や、平均的な資源使用量などを、あらかじめ保持していればよい。更新部15が圧縮アルゴリズムやパラメータを選択する方法として、既存のさまざまな方法を使用することができる。更新部15は、例えば、制御部12やいずれかの仮想装置20から指示を受信した場合に、圧縮設定値を決定し、決定した圧縮設定値を状態情報記憶部11に格納すればよい。仮想装置20は、例えば、送信するデータの種類が変更された場合に、更新部15に対して、圧縮設定値を更新する指示を送信すればよい。
For example, the
制御部12は、いずれかの仮想装置20の状態変化が検出されると、更新部15に圧縮設定値を更新する指示を送信することによって、対象情報記憶部11に格納されている圧縮設定値を更新すればよい。
When the state change of any of the
次に、本実施形態の情報処理装置1の動作について、図面を参照して詳細に説明する。
Next, the operation of the
図14は、本実施形態の情報処理装置1の、対象データを更新する場合における動作を表すフローチャートである。図14の動作は、例えば、制御部12やいずれかの仮想装置20からの指示によって開始される。
FIG. 14 is a flowchart showing the operation of the
まず、更新部15が、仮想装置20に関する状態を検出する(ステップS601)。
First, the
次に、更新部15が、検出された、仮想装置20に関する状態に基づき、仮想装置20に関連付けられている対象データを更新する(ステップS602)。
Next, the
次に、本実施形態の情報装置1の、仮想装置20に状態変化が生じた場合における動作について、図面を参照して詳細に説明する。
Next, an operation of the
図11は、本実施形態の情報装置1の、仮想装置20に状態変化が生じた場合における動作を表すフローチャートである。
FIG. 11 is a flowchart showing the operation of the
本実施形態の情報処理装置1の、仮想装置20に状態変化が生じた場合における動作は、ステップS503における所定の処理の内容を除いて、第3の実施形態の情報処理装置1の、仮想装置20に状態変化が生じた場合における動作と同じである。
The operation of the
ステップS503において、更新部15が、対象情報記憶部11に格納されている、対象データである圧縮設定値を更新する処理を行う。
In step S <b> 503, the
以上で説明した本実施形態には、第1の実施形態と同じ効果がある。その理由は、第1の実施形態の効果が生じる理由と同じである。 The present embodiment described above has the same effect as the first embodiment. The reason is the same as the reason for the effect of the first embodiment.
<第6の実施形態>
次に、本発明の第6の実施形態について、図面を参照して詳細に説明する。
<Sixth Embodiment>
Next, a sixth embodiment of the present invention will be described in detail with reference to the drawings.
図15は、本実施形態の情報処理装置1Cの構成を表すブロック図である。
FIG. 15 is a block diagram illustrating a configuration of the
図15を参照すると、本実施形態の情報処理装置1Cは、仮想装置20を実行する実行部10によって実行される前記仮想装置20が行ったアクセスに応じて更新され、前記仮想装置20に関連付けられている対象データを記憶する対象情報記憶部11と、前記実行部10が実行する前記仮想装置20の状態が、実行されている状態とそれ以外の状態との間で変化する状態変化を検出する検出部13によって、前記仮想装置20の前記状態変化が検出された場合、前記対象データに対して所定の処理を行う制御部12と、を備える。
Referring to FIG. 15, the
以上で説明した本実施形態には、第1の実施形態と同じ効果がある。その理由は、第1の実施形態の効果が生じる理由と同じである。 The present embodiment described above has the same effect as the first embodiment. The reason is the same as the reason for the effect of the first embodiment.
情報処理装置1、情報処理装置1A、情報処理装置1B、情報処理装置1Cは、それぞれ、コンピュータ及びコンピュータを制御するプログラム、専用のハードウェア、又は、コンピュータ及びコンピュータを制御するプログラムと専用のハードウェアの組合せにより実現することができる。
The
図16は、情報処理装置1、情報処理装置1A、情報処理装置1B、情報処理装置1Cを実現することができる、コンピュータ1000の構成の一例を表す図である。図16を参照すると、コンピュータ1000は、プロセッサ1001と、メモリ1002と、記憶装置1003と、I/O(Input/Output)インタフェース1004とを含む。また、コンピュータ1000は、記録媒体1005にアクセスすることができる。メモリ1002と記憶装置1003は、例えば、RAM(Random Access Memory)、ハードディスクなどの記憶装置である。記録媒体1005は、例えば、RAM、ハードディスクなどの記憶装置、ROM(Read Only Memory)、可搬記録媒体である。記憶装置1003が記録媒体1005であってもよい。プロセッサ1001は、メモリ1002と、記憶装置1003に対して、データやプログラムの読み出しと書き込みを行うことができる。プロセッサ1001は、I/Oインタフェース1004を介して、例えば、記憶装置3や対象装置3Aにアクセスすることができる。プロセッサ1001は、記録媒体1005にアクセスすることができる。記録媒体1005には、コンピュータ1000を、情報処理装置1、情報処理装置1A、情報処理装置1B、又は情報処理装置1Cとして動作させるプログラムが格納されている。
FIG. 16 is a diagram illustrating an example of a configuration of a
プロセッサ1001は、記録媒体1005に格納されている、コンピュータ1000を、情報処理装置1、情報処理装置1A、情報処理装置1B、又は情報処理装置1Cとして動作させるプログラムを、メモリ1002にロードする。そして、プロセッサ1001が、メモリ1002にロードされたプログラムを実行することにより、コンピュータ1000は、情報処理装置1、情報処理装置1A、情報処理装置1B、又は情報処理装置1Cとして動作する。
The
実行部10、制御部12、検出部13、中継部14、更新部15は、例えば、プログラムを記憶する記録媒体1005からメモリ1002に読み込まれた、各部の機能を実現することができる専用のプログラムと、そのプログラムを実行するプロセッサ1001により実現することができる。また、対象情報記憶部11は、コンピュータ1000が含むメモリ1002やハードディスク装置等の記憶装置1003により実現することができる。あるいは、実行部10、対象情報記憶部11、制御部12、検出部13、中継部14、更新部15の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。
The
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。 The present invention has been described above with reference to the embodiments, but the present invention is not limited to the above embodiments. Various changes that can be understood by those skilled in the art can be made to the configuration and details of the present invention within the scope of the present invention.
1、1A、1B、1C 情報処理装置
2 移行検出装置
3 記憶装置
3A 対象装置
4 通信ネットワーク
10 実行部
11 対象情報記憶部
12 制御部
13 検出部
14 中継部
15 更新部
16 入出力仮想装置
16A 入出力装置
20 仮想装置
21 仮想装置群
100、100A、100B、100C 情報処理システム
1000 コンピュータ
1001 プロセッサ
1002 メモリ
1003 記憶装置
1004 I/Oインタフェース
1005 記録媒体
1, 1A, 1B, 1C
Claims (14)
前記実行手段が実行する前記仮想装置の状態が、実行されている状態とそれ以外の状態との間で変化する状態変化を検出する検出手段によって、前記仮想装置の前記状態変化が検出された場合、前記対象データに対して所定の処理を行う制御手段と、
を備える情報処理装置。 Target information storage means for storing target data associated with the virtual device, updated according to the access performed by the virtual device executed by the execution means for executing the virtual device;
When the state change of the virtual device is detected by a detection unit that detects a state change in which the state of the virtual device executed by the execution unit changes between the state being executed and the other state Control means for performing predetermined processing on the target data;
An information processing apparatus comprising:
請求項1に記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the detection unit detects a transition that is a movement of the virtual device between the execution unit and another information processing apparatus as the state change.
前記アクセス要求によって要求された前記アクセスに基づき、前記アクセス要求を送信した前記仮想装置の関連付けられている前記対象データを更新する更新手段と、
を含む請求項1又は2に記載の情報処理装置。 The access request is received from the virtual device that transmits the access request for requesting the access to the request destination device, and based on the access request and the target data associated with the virtual device, to the request destination device A relay means for accessing
Updating means for updating the target data associated with the virtual device that has transmitted the access request based on the access requested by the access request;
The information processing apparatus according to claim 1, comprising:
請求項1乃至3のいずれかに記載の情報処理装置。 The target data is cache data to be accessed, wherein the access target to be accessed is further associated with a storage location where the access target is stored in the request destination device. Information processing device.
請求項4に記載の情報処理装置。 When the migration of the virtual device from the execution unit to another execution device is detected, the control unit changes the access target stored in the storage location associated with the target data to the access unit. The information processing apparatus according to claim 4, wherein the predetermined process is performed on the target data after updating the target to be the same as the target data.
前記制御手段は、前記仮想装置の識別子を受信するのに応じて、当該識別子によって特定される仮想装置に関連付けられた前記対象データに対して、前記所定の処理を行う
請求項1乃至5のいずれかに記載の情報処理装置。 The detection means further specifies the virtual device in which the state change is detected, and transmits an identifier of the specified virtual device to the control means,
The control unit performs the predetermined process on the target data associated with the virtual device specified by the identifier in response to receiving the identifier of the virtual device. An information processing apparatus according to claim 1.
請求項1乃至6のいずれかに記載の情報処理装置。 The information processing apparatus according to claim 1, wherein the execution unit executes an input / output virtual device that is a virtual device that operates as the target information storage unit and the control unit.
前記検出手段を備える
情報処理システム。 The information processing apparatus according to claim 1, comprising the execution unit, and the request destination apparatus.
An information processing system comprising the detection means.
前記実行手段が実行する前記仮想装置の状態が、実行されている状態とそれ以外の状態との間で変化する状態変化を検出する検出手段によって、前記仮想装置の前記状態変化が検出された場合、前記対象データに対して所定の処理を行う、
情報処理方法。 Updated according to the access performed by the virtual device executed by the execution means for executing the virtual device, and stores the target data associated with the virtual device in the target information storage unit,
When the state change of the virtual device is detected by a detection unit that detects a state change in which the state of the virtual device executed by the execution unit changes between the state being executed and the other state , Performing predetermined processing on the target data;
Information processing method.
請求項9に記載の情報処理方法。 The information processing method according to claim 9, wherein the detection unit detects, as the state change, a transition that is a movement of the virtual device between the execution unit and another information processing device.
前記アクセス要求によって要求された前記アクセスに基づき、前記アクセス要求を送信した前記仮想装置の関連付けられている前記対象データを更新する、
請求項9又は10に記載の情報処理方法。 The access request is received from the virtual device that transmits the access request for requesting the access to the request destination device, and based on the access request and the target data associated with the virtual device, to the request destination device Access
Updating the target data associated with the virtual device that transmitted the access request based on the access requested by the access request;
The information processing method according to claim 9 or 10.
仮想装置を実行する実行手段によって実行される前記仮想装置が行ったアクセスに応じて更新され、前記仮想装置に関連付けられている対象データを記憶する対象情報記憶手段と、
前記実行手段が実行する前記仮想装置の状態が、実行されている状態とそれ以外の状態との間で変化する状態変化を検出する検出手段によって、前記仮想装置の前記状態変化が検出された場合、前記対象データに対して所定の処理を行う制御手段と、
して動作させる情報処理プログラム。 Computer
Target information storage means for storing target data associated with the virtual device, updated according to the access performed by the virtual device executed by the execution means for executing the virtual device;
When the state change of the virtual device is detected by a detection unit that detects a state change in which the state of the virtual device executed by the execution unit changes between the state being executed and the other state Control means for performing predetermined processing on the target data;
Information processing program to be operated.
前記実行手段と他の情報処理装置との間における前記仮想装置の移動である移行を、前記状態変化として検出する前記検出手段と、
して動作させる請求項12に記載の情報処理プログラム。 Computer
The detection means for detecting, as the state change, a transition that is the movement of the virtual device between the execution means and another information processing apparatus;
The information processing program according to claim 12, which is operated as described above.
要求先装置への前記アクセスを要求するアクセス要求を送信する前記仮想装置から前記アクセス要求を受信し、当該アクセス要求と前記仮想装置に関連付けられている前記対象データとに基づき、前記要求先装置へのアクセスを行う中継手段と、
前記アクセス要求によって要求された前記アクセスに基づき、前記アクセス要求を送信した前記仮想装置の関連付けられている前記対象データを更新する更新手段と、
して動作させる請求項12又は13に記載の情報処理プログラム。 Computer
The access request is received from the virtual device that transmits the access request for requesting the access to the request destination device, and based on the access request and the target data associated with the virtual device, to the request destination device A relay means for accessing
Updating means for updating the target data associated with the virtual device that has transmitted the access request based on the access requested by the access request;
The information processing program according to claim 12 or 13, wherein the information processing program is operated.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014053293A JP6369069B2 (en) | 2014-03-17 | 2014-03-17 | Information processing apparatus, information processing method, and information processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014053293A JP6369069B2 (en) | 2014-03-17 | 2014-03-17 | Information processing apparatus, information processing method, and information processing program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015176426A true JP2015176426A (en) | 2015-10-05 |
JP6369069B2 JP6369069B2 (en) | 2018-08-08 |
Family
ID=54255549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014053293A Active JP6369069B2 (en) | 2014-03-17 | 2014-03-17 | Information processing apparatus, information processing method, and information processing program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6369069B2 (en) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07105091A (en) * | 1993-10-01 | 1995-04-21 | Hitachi Ltd | Device and method for controlling cache |
JP2010282447A (en) * | 2009-06-05 | 2010-12-16 | Hitachi Ltd | Virtual computer system, access control method for the same, and communication device |
US20110314224A1 (en) * | 2010-06-16 | 2011-12-22 | Arm Limited | Apparatus and method for handling access operations issued to local cache structures within a data processing apparatus |
US20120210043A1 (en) * | 2011-02-15 | 2012-08-16 | IO Turbine, Inc. | Systems and Methods for Managing Data Input/Output Operations |
US20140068197A1 (en) * | 2012-08-31 | 2014-03-06 | Fusion-Io, Inc. | Systems, methods, and interfaces for adaptive cache persistence |
-
2014
- 2014-03-17 JP JP2014053293A patent/JP6369069B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07105091A (en) * | 1993-10-01 | 1995-04-21 | Hitachi Ltd | Device and method for controlling cache |
JP2010282447A (en) * | 2009-06-05 | 2010-12-16 | Hitachi Ltd | Virtual computer system, access control method for the same, and communication device |
US20110314224A1 (en) * | 2010-06-16 | 2011-12-22 | Arm Limited | Apparatus and method for handling access operations issued to local cache structures within a data processing apparatus |
JP2013528879A (en) * | 2010-06-16 | 2013-07-11 | アーム・リミテッド | Apparatus and method for handling access operations performed on a local cache structure in a data processing apparatus |
US20120210043A1 (en) * | 2011-02-15 | 2012-08-16 | IO Turbine, Inc. | Systems and Methods for Managing Data Input/Output Operations |
US20140068197A1 (en) * | 2012-08-31 | 2014-03-06 | Fusion-Io, Inc. | Systems, methods, and interfaces for adaptive cache persistence |
WO2014036307A1 (en) * | 2012-08-31 | 2014-03-06 | Fusion-Io, Inc. | Systems, methods, and interfaces for adaptive persistence |
JP2015535355A (en) * | 2012-08-31 | 2015-12-10 | フュージョン−アイオー・インコーポレーテッド | Adaptive persistence system, method and interface |
Also Published As
Publication number | Publication date |
---|---|
JP6369069B2 (en) | 2018-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3027756C (en) | Systems and methods for efficient distribution of stored data objects | |
US10698829B2 (en) | Direct host-to-host transfer for local cache in virtualized systems wherein hosting history stores previous hosts that serve as currently-designated host for said data object prior to migration of said data object, and said hosting history is checked during said migration | |
US10635323B2 (en) | Managing storage system | |
US9507732B1 (en) | System and method for cache management | |
US10838829B2 (en) | Method and apparatus for loading data from a mirror server and a non-transitory computer readable storage medium | |
US20170206218A1 (en) | Method and apparatus for data deduplication in cloud based storage system | |
US10891074B2 (en) | Key-value storage device supporting snapshot function and operating method thereof | |
WO2015118865A1 (en) | Information processing device, information processing system, and data access method | |
US20220027327A1 (en) | Distributed vfs with shared page cache | |
CN107832097B (en) | Data loading method and device | |
US20160314051A1 (en) | Management and utilization of fault domains in distributed cache systems | |
JP6033420B2 (en) | Storage system and storage system control method | |
JP5673396B2 (en) | Information processing system, information processing program, and information processing method | |
US11256434B2 (en) | Data de-duplication | |
US10073657B2 (en) | Data processing apparatus, data processing method, and computer program product, and entry processing apparatus | |
EP3136245B1 (en) | Computer | |
JP6369069B2 (en) | Information processing apparatus, information processing method, and information processing program | |
JP6740719B2 (en) | Information processing apparatus, information processing method, and program | |
KR102456017B1 (en) | Apparatus and method for file sharing between applications | |
KR101834082B1 (en) | Apparatus and method of managing multi solid state disk system | |
KR20210043001A (en) | Hybrid memory system interface | |
JP2013109404A (en) | Information processing device | |
JP7110615B2 (en) | Information processing device, information processing system, information processing method, and program | |
US20220050779A1 (en) | Memory disposition device, memory disposition method, and recording medium storing memory disposition program | |
KR101058059B1 (en) | Mounting device of embedded file system and its method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171031 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171121 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180119 |
|
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: 20180612 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180625 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6369069 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |