JP2015176426A - Information processing device, information processing method, and information processing program - Google Patents

Information processing device, information processing method, and information processing program Download PDF

Info

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
Application number
JP2014053293A
Other languages
Japanese (ja)
Other versions
JP6369069B2 (en
Inventor
健一郎 石川
Kenichiro Ishikawa
健一郎 石川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2014053293A priority Critical patent/JP6369069B2/en
Publication of JP2015176426A publication Critical patent/JP2015176426A/en
Application granted granted Critical
Publication of JP6369069B2 publication Critical patent/JP6369069B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide an information processing device with which it is possible to reduce inconsistency occurring in a data value held by an information processing device in which a virtual device operates and liable to change in accordance with access by the virtual device, the inconsistency occurring due to the movement of the virtual device between the information processing devices.SOLUTION: This information processing device of the present invention has subject information storage means for storing subject data that is updated in accordance with access made by a virtual device executed by execution means for executing the virtual device and is correlated to the virtual device, and control means for performing a prescribed process on the subject data when the state of the virtual device executed by the execution means is detected that the state have changed by detection means, the detection means detecting a change of the state of the virtual device between an executed state and a state other than that.

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は、加えて、ディスクキャッシュなどのサービスを提供することができる。   Patent Document 1 describes a technique for sharing an I / O (Input / Output) device in an information processing apparatus including a plurality of processors. The information processing apparatus described in Patent Document 1 includes a plurality of partitions in which an OS (Operating System) is operated independently by at least one processor. The information processing apparatus described in Patent Document 1 further includes an I / O processor cell (hereinafter referred to as IOP (I / O Processor)). The IOP collectively processes input / output performed by a plurality of partitions. In addition, the IOP can provide services such as disk caching.

図17は、特許文献1に記載されている情報処理装置を模式的に表す図である。各クライアント装置が、前述のパーティションである。入出力装置が、前述のIOPである。各クライアント装置は、例えばネットワークを介して情報処理装置に接続されている外部装置に対する入力及び出力を、入出力装置を介して行う。外部装置は、情報処理装置の外部に存在する装置である。   FIG. 17 is a diagram schematically illustrating the information processing apparatus described in Patent Document 1. Each client device is the aforementioned partition. The input / output device is the aforementioned IOP. Each client device performs input and output to an external device connected to the information processing device via a network, for example, via the input / output device. The external device is a device that exists outside the information processing apparatus.

特許第4576398号Japanese Patent No. 4576398

情報処理装置において、コンピュータをエミュレートする技術が存在する。そのようなエミュレートされたコンピュータは、例えば、仮想装置あるいは仮想マシンと呼ばれる。情報処理装置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 information processing apparatuses 1 is called migration, for example. In the following description, migration is also simply referred to as “migration” or “movement”.

特許文献1の技術は、前述のクライアント装置が仮想装置である場合にも適用可能である。特許文献1の技術が適用された仮想装置が動作する情報処理装置では、例えば、仮想装置は、入出力装置を介して、他の装置にアクセスする。具体的には、仮想装置は、入出力装置に対して、他の装置が保持するデータに対するアクセスを要求するアクセス要求を送信する。アクセスは、例えば、データの読み出しや、データの書き込みである。仮想装置からアクセス要求を受信した入出力装置は、アクセス要求の対象である、他の装置が保持するデータに対して、そのアクセス要求に基づくアクセスを行う。そして、入出力装置は、行ったアクセスの結果を、アクセス要求を送信した仮想装置に送信する。   The technique of Patent Literature 1 can also be applied when the above-described client device is a virtual device. In an information processing apparatus in which a virtual device to which the technology of Patent Literature 1 is applied operates, for example, the virtual device accesses another device via an input / output device. Specifically, the virtual device transmits an access request for requesting access to data held by another device to the input / output device. The access is, for example, data reading or data writing. The input / output device that has received the access request from the virtual device performs access based on the access request to data held by another device that is the target of the access request. Then, the input / output device transmits the result of the access performed to the virtual device that transmitted the access request.

入出力装置が、他の装置へのアクセスにおけるキャッシュを提供する場合、入出力装置は、他の装置が保持する、仮想装置によるアクセス後のデータを、さらに、例えば入出力装置が備える記憶領域にコピーする。仮想装置がアクセスしたデータのコピーは、キャッシュとして、その記憶領域に保存される。仮想装置から、一度アクセスしたデータに対するアクセスを要求するアクセス要求を受信すると、入出力装置は、キャッシュとして記憶装置に格納されているデータに対してアクセスを行う。そして、入出力装置は、アクセスの結果を仮想装置に返信する。例えば、アクセス要求がデータの読み出し要求である場合入出力装置は、キャッシュからデータを読み出し、読み出したデータを仮想装置に送信する。アクセス要求がデータの書き込み要求である場合、入出力装置は、記憶装置にキャッシュとして格納されているデータのコピーを書き換える。そして、入出力装置は、例えば、書き込みの成功を表す信号を、仮想装置に送信する。   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 Patent Document 1 is applied to another information processing device. In this case, the data accessed by the virtual device remains as a cache in the storage area of the input / output device included in the information processing device that is the migration source of the virtual device. When the moved virtual device rewrites the data held by another device whose copy is saved as cache in the destination virtual device, the data held by that device and the data stored in the cache Inconsistencies occur between them. If the virtual device moves again to the information processing device that is the source and accesses the rewritten data while operating on another information processing device, an error may occur due to the mismatch. The technique of Patent Document 1 cannot prevent such inconsistency. In the above, the cache has been described as an example, but the same applies to data values that can be changed according to access by the virtual device held by the information processing device on which the virtual device capable of performing live migration operates. Inconsistencies can occur. For example, an information device that executes a virtual device and relays access by the running virtual device sets the priority of access to the virtual device according to the type and pattern of access from the virtual device to the external device There is a case. Such priorities change according to changes in access types and patterns. When the virtual device moves to another information processing device and returns from the other information processing device, if the access type or pattern changes, the priority order becomes inconsistent.

本発明の目的の一つは、仮想装置が動作する情報処理装置が保持する、仮想装置によるアクセスに応じて変化しうるデータ値に、仮想装置が情報処理装置間で移動することによって生じる不整合を軽減することができる情報処理装置を提供することにある。   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. .

図1は、第1、第2、第3の実施形態の情報処理システム100の構成の例を表すブロック図である。FIG. 1 is a block diagram illustrating an example of a configuration of an information processing system 100 according to the first, second, and third embodiments. 図2は、第1、第2、第3の実施形態の情報処理システム100の全体像を模式的に表すブロック図である。FIG. 2 is a block diagram schematically illustrating an overall image of the information processing system 100 according to the first, second, and third embodiments. 図3は、第1、第2、第3の実施形態の変形例の情報処理システム100Aの構成の例を表すブロック図である。FIG. 3 is a block diagram illustrating an example of a configuration of an information processing system 100A according to a modification of the first, second, and third embodiments. 図4は、複数の仮想装置20を実行する情報処理装置1の構成を模式的に表す図である。FIG. 4 is a diagram schematically illustrating the configuration of the information processing apparatus 1 that executes a plurality of virtual devices 20. 図5は、第1、第2、第3の実施形態の他の変形例である情報処理システム100Bの構成を表す図である。FIG. 5 is a diagram illustrating a configuration of an information processing system 100B that is another modification of the first, second, and third embodiments. 図6は、第1、第3の実施形態の情報処理装置1の、通常時における動作の例を表すフローチャートである。FIG. 6 is a flowchart showing an example of normal operation of the information processing apparatus 1 according to the first and third embodiments. 図7は、第1の実施形態の情報処理装置1の、仮想装置20に状態変化が生じる場合における動作の例を表すフローチャートである。FIG. 7 is a flowchart illustrating an example of the operation of the information processing apparatus 1 according to the first embodiment when a state change occurs in the virtual device 20. 図8は、第2の実施形態の情報処理装置1の、通常時の動作を表す第1のフローチャートである。FIG. 8 is a first flowchart showing the normal operation of the information processing apparatus 1 according to the second embodiment. 図9は、第2の実施形態の情報処理装置1の、通常時の動作を表す第2のフローチャートである。FIG. 9 is a second flowchart showing the normal operation of the information processing apparatus 1 according to the second embodiment. 図10は、第2の実施形態の情報処理装置1の、仮想装置20に状態変化が生じた場合における動作を表すフローチャートである。FIG. 10 is a flowchart illustrating the operation of the information processing apparatus 1 according to the second embodiment when a state change occurs in the virtual device 20. 図11は、第3の実施形態の情報処理装置1の、仮想装置20に状態変化が生じた場合における動作を表すフローチャートである。FIG. 11 is a flowchart illustrating the operation of the information processing apparatus 1 according to the third embodiment when a state change occurs in the virtual device 20. 図12は、第4、第5の実施形態の情報処理システム100Cの構成の例を表すブロック図である。FIG. 12 is a block diagram illustrating an example of a configuration of an information processing system 100C according to the fourth and fifth embodiments. 図13は、第4、第5の実施形態の情報処理システム100Cの全体像を模式的に表す図である。FIG. 13 is a diagram schematically illustrating an overall image of an information processing system 100C according to the fourth and fifth embodiments. 図14は、第4、第5の実施形態の情報処理装置1の、対象データを更新する場合における動作を表すフローチャートである。FIG. 14 is a flowchart showing the operation of the information processing apparatus 1 according to the fourth and fifth embodiments when the target data is updated. 図15は、第6実施形態の情報処理装置1Cの構成を表すブロック図である。FIG. 15 is a block diagram illustrating a configuration of an information processing apparatus 1C according to the sixth embodiment. 図16は、情報処理装置1、情報処理装置1A、情報処理装置1B、情報処理装置1Cを実現することができる、コンピュータ1000の構成の一例を表す図である。FIG. 16 is a diagram illustrating an example of a configuration of a computer 1000 that can implement the information processing device 1, the information processing device 1A, the information processing device 1B, and the information processing device 1C. 図17は、特許文献1に記載されている情報処理装置を模式的に表す図である。FIG. 17 is a diagram schematically illustrating the information processing apparatus described in Patent Document 1.

次に、本発明を模範的に実施する形態について図面を参照して詳細に説明する。以下に説明する実施形態は、特許請求の範囲に係る発明を限定しない。また実施形態の中で説明されている構成の組み合わせの全てが発明の構成に必須であるとは限らない。   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 information processing devices 1 and a storage device 3. Although the number of information processing apparatuses 1 depicted in FIG. 1 is two, the number of information processing apparatuses 1 is not limited to two. The information processing system 100 may include a plurality of storage devices 3. The plurality of information processing apparatuses 1 are connected so as to communicate with each other. Each information processing device 1 and the storage device 3 are connected to be communicable with each other.

図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 information processing devices 1 and a storage device 3 are connected by a communication network 4. A communication network in which a plurality of information processing devices 1 communicate with each other and a communication network in which each information processing device 1 and the storage device 3 communicate with each other may be different.

図1に示す例では、情報処理装置1は、実行部10と、検出部13とを含む。以下では、実行部10と検出部13とを含む情報処理装置1について説明する。しかし、情報処理装置1は、図3に示す例のように検出部13を含んでいなくてもよい。   In the example illustrated in FIG. 1, the information processing apparatus 1 includes an execution unit 10 and a detection unit 13. Hereinafter, the information processing apparatus 1 including the execution unit 10 and the detection unit 13 will be described. However, the information processing apparatus 1 may not include the detection unit 13 as in the example illustrated in FIG.

図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 information processing apparatus 1A instead of the information processing apparatus 1. When the information processing apparatus 1A and the information processing apparatus 1 are compared, the information processing apparatus 1A is different in that the detection unit 13 is not included. The information processing system 100A further includes a transition detection device 2. The transition detection device 2 includes a detection unit 13. The detection unit 13 included in the transition detection device 2 performs the same operation as the detection unit 13 included in each information processing device 1 in the information processing system 100. Then, the information processing system 100A performs the same operation as the information processing system 100.

実行部10は、仮想装置20及び入出力仮想装置16を実行する。実行部10は、例えば、仮想的なコンピュータをエミュレートするソフトウェアと、そのソフトウェアを実行する、情報処理装置1のプロセッサによって実現される。仮想装置20及び入出力仮想装置16は、実行部10によってエミュレートされる仮想的なコンピュータである。本実施形態の説明では、実行部10が、例えば仮想装置20をエミュレートすることを、「実行部10が仮想装置20を実行する」と表記する。同様に、実行部10が入出力仮想装置16をエミュレートすることを、「実行部10が入出力仮想装置16を実行する」と表記する。   The execution unit 10 executes the virtual device 20 and the input / output virtual device 16. The execution unit 10 is realized by, for example, software that emulates a virtual computer and a processor of the information processing apparatus 1 that executes the software. The virtual device 20 and the input / output virtual device 16 are virtual computers emulated by the execution unit 10. In the description of this embodiment, for example, the execution unit 10 emulating the virtual device 20 is referred to as “the execution unit 10 executes the virtual device 20”. Similarly, emulating the input / output virtual device 16 by the execution unit 10 is expressed as “the execution unit 10 executes the input / output virtual device 16”.

仮想装置20は、上述のように、実行部10によってエミュレートされた仮想的なコンピュータである、仮想マシンである。仮想装置20は、要求先装置に対してアクセスを要求するアクセス要求を送信する。要求先装置は、本実施形態では記憶装置3である。要求先装置は必ずしも記憶装置3でなくてもよい。本実施形態では、要求先が記憶装置3である場合の例について説明する。アクセス要求は、例えば、データを読み出す読み出し要求、又はデータを書き込む書き込み要求である。アクセス要求は、例えば、受信した装置が解釈することができる、要求するアクセスの内容を特定するアクセス命令である。以下の説明において、アクセス要求を、アクセス命令とも表記することにする。同様に、書き込み要求を、書き込み命令とも表記する。さらに、読み出し要求を、読み出し命令とも表記する。また、アクセス命令を生成することを、「アクセス命令を発行する」とも表記する。   The virtual device 20 is a virtual machine that is a virtual computer emulated by the execution unit 10 as described above. The virtual device 20 transmits an access request for requesting access to the request destination device. The request destination device is the storage device 3 in this embodiment. The request destination device is not necessarily the storage device 3. In the present embodiment, an example in which the request destination is the storage device 3 will be described. The access request is, for example, a read request for reading data or a write request for writing data. The access request is, for example, an access command that specifies the content of the requested access that can be interpreted by the receiving device. In the following description, an access request is also expressed as an access command. Similarly, a write request is also expressed as a write command. Further, the read request is also expressed as a read command. The generation of an access instruction is also referred to as “issue an access instruction”.

また、本実施形態では、仮想装置20は、複数の情報処理装置1の間における移動である移行が可能である。すなわち、実行部10は、その実行部10が実行している仮想装置20を、他の情報処理装置1に移行させることができる。前述のように、移行はマイグレーションとも呼ばれる。移行の方法として、既存の様々な方法を適用することができる。仮想装置20が行う移行は、ライブマイグレーションであってもよい。本実施形態の移行は、仮想装置20を停止させた状態で行われる移行であってもよい。   Further, in the present embodiment, the virtual device 20 is capable of migration that is movement among a plurality of information processing devices 1. That is, the execution unit 10 can transfer the virtual device 20 being executed by the execution unit 10 to another information processing apparatus 1. As mentioned above, migration is also called migration. Various existing methods can be applied as the migration method. The migration performed by the virtual device 20 may be live migration. The migration according to the present embodiment may be a migration performed in a state where the virtual device 20 is stopped.

図1に示す例では、実行部10が実行する仮想装置20の数は1である。しかし、実行部10は、図4に示す例のように、2台以上の仮想装置20を実行してもよい。   In the example illustrated in FIG. 1, the number of virtual devices 20 executed by the execution unit 10 is one. However, the execution unit 10 may execute two or more virtual devices 20 as in the example illustrated in FIG.

図4は、複数の仮想装置20を実行する情報処理装置1の構成を模式的に表す図である。図4に示す情報処理装置1が含む実行部10は、3台以上の仮想装置20を実行する。図4において、複数の仮想装置20は、仮想装置群21と表記されている。   FIG. 4 is a diagram schematically illustrating the configuration of the information processing apparatus 1 that executes a plurality of virtual devices 20. The execution unit 10 included in the information processing apparatus 1 illustrated in FIG. 4 executes three or more virtual devices 20. In FIG. 4, the plurality of virtual devices 20 are represented as a virtual device group 21.

検出部13は、仮想装置20の状態が、仮想装置20が実行部10によって実行されている状態と、それ以外の状態との間で変化する、状態変化を検出する。検出部13は、さらに、状態変化の種別を特定する。   The detection unit 13 detects a state change in which the state of the virtual device 20 changes between a state in which the virtual device 20 is being executed by the execution unit 10 and other states. The detection unit 13 further specifies the type of state change.

状態変化は、例えば、仮想装置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 virtual device 20 is activated, the virtual device 20 that has been operating stops operating, the virtual device 20 moves to another information processing device 1, or from another information processing device 1. For example, the virtual device 20 is migrated. The type of state change represents one of the above-described state changes, for example. The detection unit 13 identifies the virtual device 20 whose state has changed. The detection unit 13 may specify the identifier of the virtual device 20 whose state has changed. For example, the detection unit 13 may receive the identifier of the virtual device 20 whose state has changed and the type of state change from the execution unit 10. The detection unit 13 may further receive from the execution unit 10 the type of state change of the virtual device 20 whose state has changed. The type of state change may be, for example, the state of the virtual device 20 before and after the state change. The detection unit 13 may detect a change in the state of the virtual device 20 by another method.

検出部13は、例えば、複数の情報処理装置1のそれぞれにおいて、仮想装置20の状態変化を検出することにより、仮想装置20が情報処理装置1間で移動した場合における移動元の情報処理装置1と移動先の情報処理装置1とを特定すればよい。検出部13は、例えば、仮想装置20の識別子とその仮想装置20を実行する情報処理装置1の識別子との組み合わせを記憶することによって、どの情報処理装置1がどの仮想装置20を実行しているかを記憶していてもよい。検出部13は、それぞれの仮想装置20の移行の履歴を記憶していてもよい。検出部13は、例えば、仮想装置20の識別子と、その仮想装置20を実行した順番でソートされた情報処理装置1の識別子の列とを記憶すればよい。   For example, the detection unit 13 detects the state change of the virtual device 20 in each of the plurality of information processing devices 1, thereby causing the information processing device 1 that is the movement source when the virtual device 20 moves between the information processing devices 1. And the destination information processing apparatus 1 may be specified. For example, the detection unit 13 stores which combination of the identifier of the virtual device 20 and the identifier of the information processing device 1 that executes the virtual device 20, which information processing device 1 is executing which virtual device 20. May be stored. The detection unit 13 may store a migration history of each virtual device 20. The detection unit 13 may store, for example, the identifier of the virtual device 20 and the identifier column of the information processing device 1 sorted in the order in which the virtual device 20 is executed.

入出力仮想装置16は、対象情報記憶部11と、制御部12と、中継部14と、更新部15とを含む。入出力仮想装置16は、例えば、実行部10によってエミュレートされる仮想的なコンピュータが、そのコンピュータを、対象情報記憶部11と、制御部12と、中継部14と、更新部15として動作させるプログラムを実行することによって実現される。すなわち、入出力仮想装置16は、情報処理装置1のプロセッサが、情報処理装置1を対象情報記憶部11と、制御部12と、中継部14と、更新部15として動作させるプログラムを実行することによって、実現される。   The input / output virtual device 16 includes a target information storage unit 11, a control unit 12, a relay unit 14, and an update unit 15. In the input / output virtual device 16, for example, a virtual computer emulated by the execution unit 10 causes the computer to operate as the target information storage unit 11, the control unit 12, the relay unit 14, and the update unit 15. This is realized by executing the program. That is, the input / output virtual device 16 causes the processor of the information processing device 1 to execute a program that causes the information processing device 1 to operate as the target information storage unit 11, the control unit 12, the relay unit 14, and the update unit 15. It is realized by.

対象情報記憶部11は、実行部10によって実行される仮想装置20が行ったアクセスに応じて更新され、その仮想装置20に関連付けられているデータである対象データを記憶する。   The target information storage unit 11 stores the target data that is updated in accordance with the access performed by the virtual device 20 executed by the execution unit 10 and is associated with the virtual device 20.

制御部12は、検出部13によって、前述の状態変化が検出された場合、状態変化が検出された仮想装置20に関連付けられている対象データに対して、所定の処理を行う。   When the detection unit 13 detects the above-described state change, the control unit 12 performs predetermined processing on the target data associated with the virtual device 20 in which the state change is detected.

中継部14は、要求先装置に対してアクセスを要求するアクセス要求を、仮想装置20から受信する。そして、中継部14は、受信したアクセス要求によってアクセスが要求される要求先装置に対して、そのアクセス要求と、そのアクセス要求を送信した仮想装置20に関連付けられている対象データとに基づき、アクセスを行う。   The relay unit 14 receives an access request for requesting access to the request destination device from the virtual device 20. Then, the relay unit 14 accesses the request destination device to which access is requested by the received access request, based on the access request and the target data associated with the virtual device 20 that has transmitted the access request. I do.

更新部15は、中継部14が行ったアクセスに基づき、そのアクセスを要求するアクセス要求を送信した仮想装置20に関連付けられている対象データを更新する。   Based on the access performed by the relay unit 14, the update unit 15 updates the target data associated with the virtual device 20 that has transmitted the access request for requesting the access.

記憶装置3は、データを記憶する装置である。記憶装置3は、アクセス要求を受信した場合、受信したアクセス要求に応じた処理を実行する。例えば、アクセス要求が対象データを読み出す読み出し要求である場合、アクセス要求を受信した記憶装置3は、記憶している対象データを、アクセス要求の送信元に送信する。アクセス要求が対象データを書き込む書き込み要求である場合、アクセス要求を受信した記憶装置3は、アクセス要求によって書き込みを要求された対象データを記憶する。記憶装置3は、例えば、ファイルサーバであってもよい。   The storage device 3 is a device that stores data. When the storage device 3 receives an access request, the storage device 3 executes processing according to the received access request. For example, when the access request is a read request for reading the target data, the storage device 3 that has received the access request transmits the stored target data to the source of the access request. When the access request is a write request for writing target data, the storage device 3 that has received the access request stores the target data requested to be written by the access request. The storage device 3 may be a file server, for example.

本実施形態では、以上のように、仮想装置20は、入出力仮想装置16を介して、記憶装置3にアクセスする。入出力仮想装置16は、例えば、アクセス要求によってアクセスされるデータに対するキャッシュを行うキャッシュ装置として動作する。入出力仮想装置16は、例えば、仮想装置20の状態や行ったアクセス等に応じて設定された優先度に従った優先順位で、複数の仮想装置20が送信するアクセス要求を処理する順番を決める優先順位制御装置として動作してもよい。入出力仮想装置16は、それぞれの仮想装置20の状態や出力するデータ等に応じて決定された圧縮率で、仮想装置20が出力するデータを圧縮し、圧縮されたデータを送信先に送信する圧縮装置として動作してもよい。   In the present embodiment, as described above, the virtual device 20 accesses the storage device 3 via the input / output virtual device 16. For example, the input / output virtual device 16 operates as a cache device that caches data accessed by an access request. For example, the input / output virtual device 16 determines the order in which access requests transmitted by the plurality of virtual devices 20 are processed in the priority order according to the priority set in accordance with the state of the virtual device 20 and the access performed. It may operate as a priority control device. The input / output virtual device 16 compresses the data output from the virtual device 20 at a compression rate determined according to the state of each virtual device 20 and the data to be output, and transmits the compressed data to the transmission destination. It may operate as a compression device.

本実施形態では、入出力仮想装置16が、記憶装置3に格納されているデータに対するキャッシュを行うキャッシュ装置として機能する場合の例について説明する。入出力仮想装置16がキャッシュを行うキャッシュアルゴリズムとして、既存のさまざまなキャッシュアルゴリズムを適用することができる。入出力仮想装置16は、例えば以下の説明のように動作する。   In the present embodiment, an example will be described in which the input / output virtual device 16 functions as a cache device that caches data stored in the storage device 3. Various existing cache algorithms can be applied as cache algorithms for the input / output virtual device 16 to perform caching. The input / output virtual device 16 operates as described below, for example.

本実施形態では、アクセス要求は、記憶装置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 storage device 3 and a write request that is a request for writing the access target to the storage device 3. The access target is, for example, data. The above-described target data stored in the target information storage unit 11 is a copy of the access target that has been accessed. The access destination accessed based on the access request is a storage area in which an access target is stored. The access request includes an access destination identifier. The identifier of the access destination is an address in a storage area included in the storage device 3 that is a request destination device. The identifier of the access destination may be a combination of the identifier of the storage device 3 and the address of the storage area.

アクセス要求が読み出し要求である場合、アクセス先は、そのアクセス要求に基づき読み出されるアクセス対象が格納されている記憶領域である。以下の説明において、アクセス要求が読み出し要求である場合におけるアクセス先は、「読み出し元」とも表記する。アクセス要求が読み出し要求である場合、アクセス要求は、そのアクセス要求に基づき読み出されるアクセス対象が格納されている読み出し元の識別子を含む。読み出し元の識別子は、要求先装置である記憶装置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 storage device 3 that is a request destination device.

アクセス要求が書き込み要求である場合、アクセス先は、そのアクセス要求に基づきアクセス対象が書き込まれる記憶領域である。以下の説明において、アクセス要求が書き込み要求である場合におけるアクセス先は、「書き込み先」とも表記する。アクセス要求が書き込み要求である場合、アクセス要求は、例えば、そのアクセス要求に基づきアクセス対象が書き込まれる書き込み先の識別子を含む。書き込み先の識別子も同様に、例えば、要求先である記憶装置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 storage device 3 that is the request destination. When the access request is a write request, an access target that is data to be written is transmitted in addition to the access request. The access request may include an access target when the access request is a write request.

対象情報記憶部11は、アクセス要求に応じて読み出されたデータのコピーである対象データを、例えば、アクセス要求を送信した仮想装置20の識別子と、アクセス要求の要求先における、その対象データが読み出された読み出し元の識別子とに関連付けて記憶する。   The target information storage unit 11 stores the target data that is a copy of the data read in response to the access request, for example, the identifier of the virtual device 20 that transmitted the access request, and the target data at the request destination of the access request. The information is stored in association with the read-out identifier.

中継部14は、仮想装置20からアクセス要求を受信する。そして、中継部14は、受信したアクセス要求の種別を特定する。   The relay unit 14 receives an access request from the virtual device 20. Then, the relay unit 14 specifies the type of the received access request.

受信したアクセス要求が読み出し要求である場合、中継部14は、そのアクセス要求によって読み出されるデータであるアクセス対象全てのコピーが、対象情報記憶部11に格納されているか判定する。受信したアクセス要求によって読み出されるデータであるアクセス対象のコピーが、対象情報記憶部11に格納されている場合、中継部14は、対象情報記憶部11に格納されている、アクセス対象のコピーを読み出す。そして、中継部14は、読み出したアクセス対象のコピーをアクセス要求を送信したい仮想装置20に送信する。   When the received access request is a read request, the relay unit 14 determines whether all copies of the access target that is data read by the access request are stored in the target information storage unit 11. When the access target copy that is data read by the received access request is stored in the target information storage unit 11, the relay unit 14 reads the access target copy stored in the target information storage unit 11. . Then, the relay unit 14 transmits the read copy of the access target to the virtual device 20 to which an access request is to be transmitted.

受信したアクセス要求によって読み出されるデータであるアクセス対象の少なくとも一部のコピーが、対象情報記憶部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 information storage unit 11, the relay unit 14 reads the access target to the storage device 3 that is the request destination. Send a read request. The relay unit 14 transmits the access target transmitted from the storage device 3 to the virtual device 20.

受信したアクセス要求によって読み出されるデータであるアクセス対象のコピーが、対象情報記憶部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 information storage unit 11, the update unit 15 further converts the access target copy transmitted from the storage device 3 into the target data. Is stored in the target information storage unit 11. The update unit 15 associates the copy of the access target with, for example, the identifier of the virtual device 20 that transmitted the access request and the identifier of the read source from which the access target is read at the request destination of the access request. What is necessary is just to store in the object information storage part 11 as data.

受信したアクセス要求が書き込み要求である場合、中継部14は、受信した書き込み要求の要求先である記憶装置3に対して、受信したアクセス要求によって要求された書き込みを行う書き込み要求を送信する。   When the received access request is a write request, the relay unit 14 transmits a write request for performing the write requested by the received access request to the storage device 3 that is the request destination of the received write request.

中継部14が受信したアクセス要求が書き込み要求である場合、さらに、更新部15が、中継部14が受信したアクセス要求によって書き込まれるデータのコピーを、対象データとして対象情報記憶部11に格納する。   When the access request received by the relay unit 14 is a write request, the update unit 15 further stores a copy of data written by the access request received by the relay unit 14 in the target information storage unit 11 as target data.

以上では、便宜上、アクセス対象が仮想装置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 virtual device 20 and the access target copy is stored in the target information storage unit 11. However, either the access target or the access target copy may be transmitted to the virtual device 20. Similarly, either the access target or the access target copy may be stored in the target information storage unit 11.

また、以上の説明では、実行部10は、対象情報記憶部11、制御部12、中継部14、及び更新部15を含む、入出力仮想装置16を実行する。しかし、例えば図5に示す例のように、実行部10は入出力仮想装置16を実行しなくてもよい。   In the above description, the execution unit 10 executes the input / output virtual device 16 including the target information storage unit 11, the control unit 12, the relay unit 14, and the update unit 15. However, as in the example illustrated in FIG. 5, the execution unit 10 does not have to execute the input / output virtual device 16.

図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 execution unit 10 of the information processing system 100B does not execute the input / output virtual device 16. The information processing system 100B includes an input / output device 16A. The input / output device 16 </ b> A includes a target information storage unit 11, a control unit 12, a relay unit 14, and an update unit 15. The input / output device 16 </ b> A is a device that has the same function as the input / output virtual device 16 and is not a virtual machine executed by the execution unit 10.

次に、本実施形態の情報処理装置1の動作について、図面を参照して詳細に説明する。   Next, the operation of the information processing apparatus 1 according to the present embodiment will be described in detail with reference to the drawings.

図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 information processing apparatus 1 according to the present embodiment at normal time. The normal operation represents an operation when the virtual device 20 does not move. When the operation shown in FIG. 6 is started, the virtual device 20 issues an access command. As described above, the virtual device 20 is emulated by the execution unit 10. Therefore, it can be said that the operation by the virtual device 20 emulated by the execution unit 10 is the operation by the execution unit 10. However, hereinafter, the operation performed by the execution unit 10 by the virtual device 20 emulated by the execution unit 10 will be described as the operation performed by the virtual device 20.

仮想装置20は、記憶装置3に格納されているデータにアクセスするアクセス命令を発行する。そして、仮想装置20は、発行したアクセス命令を、入出力仮想装置16に送信する。   The virtual device 20 issues an access command for accessing data stored in the storage device 3. Then, the virtual device 20 transmits the issued access command to the input / output virtual device 16.

入出力仮想装置16の中継部14は、仮想装置20からアクセス命令を受信する(ステップS101)。   The relay unit 14 of the input / output virtual device 16 receives an access command from the virtual device 20 (step S101).

中継部14は、例えばアクセス命令を解釈することによって、アクセス命令の種類を判定する(ステップS102)。すなわち、中継部14は、受信したアクセス命令が書き込み命令であるか、読み出し命令であるかを判定する。   The relay unit 14 determines the type of the access command, for example, by interpreting the access command (step S102). That is, the relay unit 14 determines whether the received access command is a write command or a read command.

中継部14が受信したアクセス命令が書き込み命令である場合(ステップS103においてYes)、情報処理装置1の動作は、ステップS104に進む。中継部14が受信したアクセス命令が書き込み命令でない場合(ステップS103においてNo)、情報処理装置1の動作は、ステップS109に進む。   When the access command received by the relay unit 14 is a write command (Yes in step S103), the operation of the information processing apparatus 1 proceeds to step S104. When the access command received by the relay unit 14 is not a write command (No in step S103), the operation of the information processing apparatus 1 proceeds to step S109.

ステップS104において、更新部15は、対象情報記憶部11に格納されている、対象データを更新する。対象情報記憶部11は、アクセス命令によってアクセスが行われたデータ(すなわちアクセス対象)のコピーであるキャッシュを、対象データとして記憶する。言い換えると、本実施形態では、対象データは、アクセス対象のキャッシュである。すなわち、ステップS104において、更新部15は、対象情報記憶部11に格納されているキャッシュを書き換える。前述のように、対象データは、アクセス先の識別子と、仮想装置20の識別子に関連付けられていればよい。なお、以下の説明において、対象データが仮想装置20の識別子に関連付けられていることを、「対象データが仮想装置20に関連付けられている」とも表記する。   In step S104, the update unit 15 updates the target data stored in the target information storage unit 11. The target information storage unit 11 stores, as target data, a cache that is a copy of data accessed by an access command (that is, an access target). In other words, in the present embodiment, the target data is a cache to be accessed. That is, in step S104, the update unit 15 rewrites the cache stored in the target information storage unit 11. As described above, the target data only needs to be associated with the identifier of the access destination and the identifier of the virtual device 20. In the following description, the fact that the target data is associated with the identifier of the virtual device 20 is also expressed as “target data is associated with the virtual device 20”.

本実施形態のように対象データがキャッシュである場合、対象情報記憶部11は、例えば優先度等の属性を、対象データに関連付けて記憶していてもよい。対象データに関連付けられる優先度は、例えば、対象情報記憶部11に空きが無くなった場合に、消去する対象データを選択する際に使用する指標である。優先度は、本実施形態に適用可能なさまざまなキャッシュアルゴリズムのうち、本実施形態に適用されたキャッシュアルゴリズムに基づき選択されていればよい。例えば、更新部15が、優先度の付与と対象データの消去を行えばよい。   When the target data is a cache as in the present embodiment, the target information storage unit 11 may store attributes such as priority in association with the target data, for example. The priority associated with the target data is, for example, an index used when selecting target data to be deleted when the target information storage unit 11 runs out of space. The priority may be selected based on the cache algorithm applied to the present embodiment among various cache algorithms applicable to the present embodiment. For example, the update unit 15 may give priority and delete target data.

キャッシュアルゴリズムとして、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 update unit 15 may first determine whether it is necessary to rewrite at least one of the target data and the attribute of the target data. As a result of the determination, when it is necessary to rewrite at least one of the target data and the attribute of the target data, the update unit 15 may rewrite the target data, the attribute, or the target data and the attribute that need to be rewritten. In the description of the present embodiment, rewriting at least one of the target data and the attribute associated with the target data is referred to as “rewriting the cache” or “updating the cache”.

属性が上述の優先度である場合、更新部15は、アクセス要求に基づく書き込みによって、対象データの優先度が変化しないか判定すればよい。対象データの優先度が変化しない場合、更新部15は、優先度を書き換える必要がないと判定すればよい。その場合、更新部15は、優先度を書き換えなくてよい。対象データの優先度が変化する場合、更新部15は、優先度を書き換える必要があると判定すればよい。その場合、更新部15は、対象データの優先度を更新すればよい。   When the attribute is the above-described priority, the update unit 15 may determine whether the priority of the target data is changed by writing based on the access request. If the priority of the target data does not change, the update unit 15 may determine that it is not necessary to rewrite the priority. In that case, the update unit 15 does not have to rewrite the priority. When the priority of the target data changes, the update unit 15 may determine that the priority needs to be rewritten. In that case, the update unit 15 may update the priority of the target data.

さらに、更新部15は、書き込み命令であるアクセス命令が含むデータに基づき、対象データを書き換える必要があるか判定してもよい。判定の結果、対象データを書き換える必要がある場合、更新部15は、対象データを書き換えればよい。更新部15は、書き込み命令であるアクセス命令によって書き込まれるアクセス対象と、そのアクセス命令を発行した仮想装置20の識別子及びアクセス先の識別子に関連付けられている対象データとを比較すればよい。そして、比較したアクセス対象と対象データが異なる場合、更新部15は、対象データを書き換える必要があると判定すればよい。比較したアクセス対象と対象データが同じ場合、更新部15は、対象データを書き換える必要がないと判定すればよい。更新部15は、他の方法によって、対象データを書き換える必要があるか判定してもよい。   Furthermore, the update unit 15 may determine whether the target data needs to be rewritten based on data included in the access instruction that is a write instruction. If it is necessary to rewrite the target data as a result of the determination, the update unit 15 may rewrite the target data. The update unit 15 may compare the access target written by the access command that is a write command with the target data associated with the identifier of the virtual device 20 that issued the access command and the identifier of the access destination. If the compared access target and target data are different, the update unit 15 may determine that the target data needs to be rewritten. When the compared access target and target data are the same, the update unit 15 may determine that it is not necessary to rewrite the target data. The update unit 15 may determine whether the target data needs to be rewritten by another method.

次に、中継部14は、アクセス命令を記憶装置3に送信する(ステップS105)。仮想装置20が発行するアクセス命令が、記憶装置3が解釈することができる形式のアクセス命令である場合、中継部14は、受信したアクセス命令をそのまま送信すればよい。仮想装置20が発行するアクセス命令が、記憶装置3が解釈することができる形式のアクセス命令でない場合、中継部14は、受信したアクセス命令を、記憶装置3が解釈することができる形式に変換すればよい。そして、中継部14は、記憶装置3が解釈することができる形式に変換されたアクセス命令を送信すればよい。   Next, the relay unit 14 transmits an access command to the storage device 3 (step S105). When the access command issued by the virtual device 20 is an access command in a format that can be interpreted by the storage device 3, the relay unit 14 may transmit the received access command as it is. When the access command issued by the virtual device 20 is not an access command in a format that can be interpreted by the storage device 3, the relay unit 14 converts the received access command into a format that can be interpreted by the storage device 3. That's fine. And the relay part 14 should just transmit the access command converted into the format which the memory | storage device 3 can interpret.

アクセス命令は書き込み命令であるので、アクセス命令を受信した記憶装置3は、アクセス対象をアクセス先に書き込む。上述のように、アクセス対象は書き込まれるデータである。また、アクセス先は、記憶装置3が含む記憶領域における、アクセス対象が書き込まれる記憶領域である。記憶装置3は、アクセス対象であるデータの書き込みが終了すると、アクセス命令を送信した中継部14に対して終了信号を送信する。   Since the access command is a write command, the storage device 3 that has received the access command writes the access target in the access destination. As described above, the access target is data to be written. The access destination is a storage area in the storage area included in the storage device 3 in which an access target is written. When the storage device 3 finishes writing the data to be accessed, the storage device 3 transmits an end signal to the relay unit 14 that has transmitted the access command.

アクセス命令を送信した中継部14は、書き込みを終了した記憶装置3から終了信号を受信する(ステップS106)。終了信号を受信した中継部14は、アクセス要求を発行した仮想装置20に対して、終了信号を送信する(ステップS107)。アクセス要求を発行した仮想装置20は、終了信号を受信する(ステップS108)。ステップS108の後、情報処理装置1は、図6に示す動作を終了する。   The relay unit 14 that has transmitted the access command receives an end signal from the storage device 3 that has completed the writing (step S106). The relay unit 14 that has received the end signal transmits the end signal to the virtual device 20 that has issued the access request (step S107). The virtual device 20 that issued the access request receives the end signal (step S108). After step S108, the information processing apparatus 1 ends the operation illustrated in FIG.

中継部14が受信したアクセス命令が書き込み命令でない場合(ステップS103においてNo)、本実施形態では、アクセス命令は読み出し命令である。   When the access command received by the relay unit 14 is not a write command (No in step S103), in this embodiment, the access command is a read command.

その場合、まず、更新部15がキャッシュを書き換える(ステップS109)。更新部15は、ステップS104と同様に、まずキャッシュを書き換える必要があるか判定すればよい。そして、判定の結果、キャッシュを書き換える必要がある場合、更新部15は、キャッシュを書き換えればよい。キャッシュの書き換えは、上述のように、対象データに関連付けられている属性である優先度の書き換えを含む。   In that case, first, the update unit 15 rewrites the cache (step S109). The update unit 15 may determine whether or not it is necessary to rewrite the cache, similarly to step S104. If the cache needs to be rewritten as a result of the determination, the updating unit 15 may rewrite the cache. As described above, cache rewriting includes rewriting of priority, which is an attribute associated with target data.

さらに、更新部15は、アクセス要求によって読み出しが要求されたアクセス対象(すなわち読み出しの対象)の全てが、キャッシュとして対象情報記憶部11に格納されているか判定する(ステップS110)。以下の説明において、アクセス対象のコピーである対象データがキャッシュとして対象情報記憶部11に格納されていることを、「アクセス対象がキャッシュされている」と表記する。   Furthermore, the update unit 15 determines whether all access targets (that is, read targets) requested to be read by the access request are stored in the target information storage unit 11 as a cache (step S110). In the following description, the fact that target data that is a copy to be accessed is stored in the target information storage unit 11 as a cache is referred to as “access target is cached”.

読み出しの対象の全てがキャッシュされている場合(ステップS111においてYes)、情報処理装置1の動作はステップS112に進む。読み出しの対象の少なくとも一部がキャッシュされていない場合(ステップS111においてNo)、情報処理装置1の動作はステップS114に進む。   If all of the reading targets are cached (Yes in step S111), the operation of the information processing apparatus 1 proceeds to step S112. When at least a part of the read target is not cached (No in step S111), the operation of the information processing apparatus 1 proceeds to step S114.

読み出しの対象の全てがキャッシュされている場合(ステップS111においてYes)、中継部14は、読み出しの対象であるアクセス対象のコピーを、対象情報記憶部11から読み出す。読み出しの対象であるアクセス対象のコピーは、アクセス命令を発行した仮想装置20の識別子及びアクセス先の識別子に関連付けられている対象データである。   When all of the reading targets are cached (Yes in step S111), the relay unit 14 reads a copy of the access target that is the reading target from the target information storage unit 11. The copy of the access target that is the target of reading is target data associated with the identifier of the virtual device 20 that issued the access command and the identifier of the access destination.

中継部14は、読み出した対象データを、アクセス命令を発行した仮想装置20に送信する(ステップS113)。アクセス命令を発行した仮想装置20は、対象データを受信する。そして、図6に示す情報処理装置1の動作は終了する。   The relay unit 14 transmits the read target data to the virtual device 20 that issued the access command (step S113). The virtual device 20 that issued the access command receives the target data. Then, the operation of the information processing apparatus 1 shown in FIG.

読み出しの対象の少なくとも一部がキャッシュされていない場合(ステップS111においてNo)、中継部14は、記憶装置3にアクセス命令を転送する(ステップS114)。   When at least a part of the read target is not cached (No in step S111), the relay unit 14 transfers the access command to the storage device 3 (step S114).

仮想装置20が発行するアクセス命令の形式が、記憶装置3が解釈することができる形式でない場合、中継部14は、受信したアクセス命令の形式を記憶装置3が解釈することができる形式に変更する。そして、中継部14は、形式を変更したアクセス命令を、記憶装置3に送信する。アクセス命令を受信した記憶装置3は、アクセス先に格納されているアクセス対象を読み出す。記憶装置3は、読み出したアクセス対象を、中継部14に送信する。   When the format of the access command issued by the virtual device 20 is not in a format that can be interpreted by the storage device 3, the relay unit 14 changes the format of the received access command to a format that can be interpreted by the storage device 3. . The relay unit 14 transmits the access command whose format has been changed to the storage device 3. The storage device 3 that has received the access command reads out the access target stored in the access destination. The storage device 3 transmits the read access target to the relay unit 14.

アクセス命令によって読み出されるアクセス対象の一部がキャッシュされている場合、中継部14は、アクセス対象のうち、キャッシュされていない部分を読み出すアクセス命令を作成してもよい。そして、中継部14は、作成したアクセス命令を、記憶装置3に送信してもよい。   When a part of the access target read by the access command is cached, the relay unit 14 may create an access command that reads a portion of the access target that is not cached. Then, the relay unit 14 may transmit the created access command to the storage device 3.

中継部14は、記憶装置3から、読み出し命令であるアクセス命令によって読み出されるアクセス対象(すなわち、読み出しの対象)を、記憶装置3から受信する(ステップS115)。   The relay unit 14 receives from the storage device 3 an access target (that is, a read target) read from the storage device 3 by an access command that is a read command (step S115).

中継部14がアクセス対象を受信すると、更新部15が、そのアクセス対象に基づき、必要に応じてキャッシュを書き換える(ステップS116)。更新部15は、例えば、アクセス対象にコピーが対象データとして対象情報記憶部11に格納されていない部分が存在する場合、そのアクセス対象の部分のコピーを、対象データとして対象情報記憶部11に格納すればよい。前述のように、更新部15は、対象情報記憶部11に格納する対象データに、対象データがコピーされたアクセス対象を読み出すアクセス命令を発行した仮想装置20の識別子及びそのアクセス対象が読み出されたアクセス先の識別子を関連付ける。さらに、更新部15は、キャッシュアルゴリズムに応じて、仮想装置20が発行したアクセス命令におけるアクセス対象のコピーである対象データの優先度を変更する必要があるか判定する。優先度を変更する必要がある対象データが存在する場合、更新部15は、対象情報記憶部11に格納されている、その対象データの優先度を、その優先度に応じた方法で変更すればよい。   When the relay unit 14 receives the access target, the update unit 15 rewrites the cache as necessary based on the access target (step S116). For example, when there is a part that is not stored in the target information storage unit 11 as a target data copy, the update unit 15 stores a copy of the access target part in the target information storage unit 11 as target data. do it. As described above, the update unit 15 reads the identifier of the virtual device 20 that has issued the access command for reading the access target to which the target data is copied and the access target to the target data stored in the target information storage unit 11. Associate the identifier of the access destination. Furthermore, the update unit 15 determines whether the priority of the target data that is a copy of the access target in the access instruction issued by the virtual device 20 needs to be changed according to the cache algorithm. If there is target data whose priority needs to be changed, the update unit 15 may change the priority of the target data stored in the target information storage unit 11 by a method according to the priority. Good.

次に、中継部14は、アクセス命令による読み出しの対象であるアクセス対象を、そのアクセス命令を発行した仮想装置20に送信する(ステップS117)。アクセス対象の一部がキャッシュされている場合、中継部14は、対象情報記憶部11から読み出した対象データと、記憶装置3から受信した対象データの一部分とが組み合わされたアクセス対象を、アクセス命令を発行した仮想装置20に送信すればよい。アクセス命令を発行した仮想装置20は、アクセス対象を受信する。そして、情報処理装置1は、図6に示す動作を終了する。   Next, the relay unit 14 transmits the access target, which is the target of reading by the access command, to the virtual device 20 that issued the access command (step S117). When a part of the access target is cached, the relay unit 14 determines an access target in which the target data read from the target information storage unit 11 and a part of the target data received from the storage device 3 are combined. May be transmitted to the virtual device 20 that issued The virtual device 20 that issued the access command receives the access target. Then, the information processing apparatus 1 ends the operation illustrated in FIG.

仮想装置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 virtual device 20 writes to the storage device 3 is data that only the virtual device 20 uses, basically, the data that the virtual device 20 writes to the storage device 3 is information that executes the virtual device 20 The information processing apparatus 1 other than the processing apparatus 1 is not accessed. That is, basically, data written by the virtual device 20 to the storage device 3 is not rewritten by the information processing device 1 other than the information processing device 1 that executes the virtual device 20. Therefore, the data written in the storage device 3 by the virtual device 20 and the data written in the storage device 3 by the virtual device 20 stored in the target information storage unit 11 of the information processing device 1 that executes the virtual device 20. Is the same as the copy. That is, no inconsistency occurs between the data stored in the storage device 3 and the cache of the data.

しかし、例えば、情報処理装置1が実行する仮想装置20の数が多くなりすぎたことによって仮想装置20の性能が要求性能に達しない等の理由により、仮想装置20を他の情報処理装置1に移行させることがある。その場合、記憶装置3に格納されているデータと、そのデータのキャッシュとの間に、不整合が発生する可能性がある。   However, for example, because the performance of the virtual device 20 does not reach the required performance due to the excessive number of virtual devices 20 executed by the information processing device 1, the virtual device 20 is transferred to another information processing device 1. May be migrated. In that case, inconsistency may occur between the data stored in the storage device 3 and the cache of the data.

例えば、図1に示す右の情報処理装置1において動作する仮想装置20が、記憶装置3が記憶するデータにアクセスした場合、右の情報処理装置1の対象情報記憶部11に、仮想装置20がアクセスしたデータのコピーが記憶される。以下の説明において、対象情報記憶部11に格納されている、アクセスが行われたデータのコピーを、そのデータのキャッシュデータと表記することにする。仮想装置20が、記憶装置3に格納されているデータを書き換えた場合、書き換えられたデータのキャッシュデータも、データの書き換えに応じて更新される。従って、記憶装置3に格納されているデータと、右の情報処理装置1の対象情報記憶部11が記憶するキャッシュデータとの間に、不整合は発生しない。   For example, when the virtual device 20 operating in the right information processing apparatus 1 illustrated in FIG. 1 accesses data stored in the storage device 3, the virtual device 20 is stored in the target information storage unit 11 of the right information processing apparatus 1. A copy of the accessed data is stored. In the following description, a copy of the accessed data stored in the target information storage unit 11 is referred to as cache data of the data. When the virtual device 20 rewrites the data stored in the storage device 3, the cache data of the rewritten data is also updated according to the data rewrite. Therefore, no inconsistency occurs between the data stored in the storage device 3 and the cache data stored in the target information storage unit 11 of the right information processing device 1.

仮想装置20が、右の情報処理装置1から左の情報処理装置1に移行した場合、移行後に仮想装置20がアクセスした記憶装置3が記憶するデータのキャッシュデータは、移行後の仮想装置20が動作する左の情報処理装置1の対象情報記憶部11に格納される。移行後に記憶装置3が記憶装置3に格納されているデータを書き換えた場合、左の情報処理装置1の対象情報記憶部11が記憶する、書き換えられたデータのキャッシュデータは、更新される。   When the virtual device 20 is migrated from the right information processing device 1 to the left information processing device 1, the cache data of the data stored in the storage device 3 accessed by the virtual device 20 after the migration is stored in the virtual device 20 after the migration. It is stored in the target information storage unit 11 of the left information processing apparatus 1 that operates. When the storage device 3 rewrites the data stored in the storage device 3 after the migration, the cache data of the rewritten data stored in the target information storage unit 11 of the left information processing device 1 is updated.

書き換えられたデータのキャッシュデータは、移行前に仮想装置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 information storage unit 11 of the right information processing apparatus 1 in which the virtual apparatus 20 was operating before the migration. However, the cache data of the rewritten data stored in the target information storage unit 11 of the right information processing apparatus 1 is not updated even if the data is rewritten. The data stored in the target information storage unit 11 of the right information processing device 1 is a copy of the data stored in the storage device 3 before the migration. Therefore, the data rewritten after the migration stored in the storage device 3 and the cache data of the data rewritten after the migration stored in the target information storage unit 11 of the right information processing device 1 do not necessarily match. do not do. There may be a mismatch between the data stored in the storage device 3 and the cache data stored in the target information storage unit 11 of the right information processing device 1.

仮想装置20の移行に特に制限がなければ、仮想装置20が、さらに、左の情報処理装置1から右の情報処理装置1に移行する可能性がある。すなわち、記憶装置3に格納されているデータと、右の情報処理装置1の対象情報記憶部11に格納されているキャッシュデータとの間に、不整合が生じている状態で、仮想装置20が右の情報処理装置1に移行する可能性がある。仮想装置20が不整合が生じているキャッシュデータを使用した場合、仮想装置20は、その不整合のために正常に動作できない。   If there is no particular limitation on the migration of the virtual device 20, the virtual device 20 may further migrate from the left information processing device 1 to the right information processing device 1. That is, the virtual device 20 is in a state where there is a mismatch between the data stored in the storage device 3 and the cache data stored in the target information storage unit 11 of the right information processing device 1. There is a possibility of shifting to the right information processing apparatus 1. When the virtual device 20 uses cache data that is inconsistent, the virtual device 20 cannot operate normally due to the inconsistency.

仮想装置20がキャッシュデータの不整合のために正常に動作しないリスクを軽減するためには、不整合が生じている可能性があるキャッシュデータを仮想装置20が使用する可能性を減少させる処理を、例えば制御部12がキャッシュデータに対して行えばよい。   In order to reduce the risk that the virtual device 20 does not operate normally due to inconsistency of cache data, a process of reducing the possibility that the virtual device 20 uses cache data that may have inconsistency may be performed. For example, the control unit 12 may perform the cache data.

制御部12が、不整合が生じている可能性があるキャッシュデータを仮想装置20が使用する可能性を減少させる処理を、例えば、仮想装置20の状態変化が検出された場合に行えばよい。状態変化は、例えば、情報処理装置1において動作していなかった仮想装置20が、その情報処理装置1における動作を開始する動作開始である。動作開始は、例えば、他の情報処理装置1から仮想装置20が移動すること、及び仮想装置20が起動すること等を含む。他の情報処理装置1に移行した仮想装置20が戻ってくることも、動作開始に含まれる。状態変化は、例えば、情報処理装置1において動作していた仮想装置20が、その情報処理装置1における動作を停止する動作停止である。動作停止は、例えば、仮想装置20が他の情報処理装置1に移動すること、及び仮想装置20がシャットダウンなどによって動作を停止することを含む。検出部13が、例えば以上の状態変化のうちの、あらかじめ定められたいずれかが生じた仮想装置20を検出すればよい。   The control unit 12 may perform the process of reducing the possibility that the virtual device 20 uses cache data that may have inconsistency, for example, when a state change of the virtual device 20 is detected. The state change is, for example, an operation start in which the virtual device 20 that has not been operating in the information processing apparatus 1 starts an operation in the information processing apparatus 1. The operation start includes, for example, the movement of the virtual device 20 from another information processing device 1 and the activation of the virtual device 20. The return of the virtual device 20 that has been transferred to another information processing apparatus 1 is also included in the operation start. The state change is, for example, an operation stop in which the virtual device 20 that has been operating in the information processing apparatus 1 stops the operation in the information processing apparatus 1. The operation stop includes, for example, the movement of the virtual apparatus 20 to another information processing apparatus 1 and the stop of the operation of the virtual apparatus 20 due to a shutdown or the like. For example, the detection unit 13 may detect the virtual device 20 in which any one of the above-described state changes has occurred.

制御部12は、不整合が生じている可能性があるキャッシュデータを仮想装置20が使用する可能性を減少させる処理として、例えば以下の処理のいずれかを行えばよい。制御部12は、例えば、検出部13が状態変化を検出した仮想装置20に関連付けられているキャッシュデータを消去すればよい。制御部12は、例えば、検出部13が状態変化を検出した仮想装置20に関連付けられているキャッシュデータの、上述の優先度を、そのキャッシュデータが消去される順番が早くなるよう変更してもよい。制御部12は、例えば、検出部13が状態変化を検出した仮想装置20に関連付けられているキャッシュデータに対して、消去することを表すフラグを立ててもよい。その場合、中継部14は、消去することを表すフラグが立っているキャッシュデータを読み出さないよう設計されていればよい。さらに、中継部14が、消去することを表すフラグが立っているキャッシュデータを検出した場合、例えば更新部15が、検出された、消去することを表すフラグが立っているキャッシュデータを消去すればよい。あるいは、制御部12は、例えば、検出部13が状態変化を検出した仮想装置20に関連付けられているキャッシュデータを読み出し禁止に設定してもよい。その場合、中継部14は、読み出し禁止にされているキャッシュデータを読み出さないよう設計されていればよい。   The control unit 12 may perform, for example, one of the following processes as a process for reducing the possibility that the virtual device 20 uses cache data that may be inconsistent. For example, the control unit 12 may delete the cache data associated with the virtual device 20 in which the detection unit 13 has detected the state change. For example, the control unit 12 may change the above-described priority of the cache data associated with the virtual device 20 for which the detection unit 13 has detected the state change so that the order in which the cache data is deleted becomes earlier. Good. For example, the control unit 12 may set a flag indicating that the cache data associated with the virtual device 20 in which the detection unit 13 has detected the state change is erased. In that case, the relay unit 14 only needs to be designed so as not to read the cache data on which the flag indicating deletion is set. Further, when the relay unit 14 detects cache data that is flagged to be erased, for example, the update unit 15 erases the detected cache data that is flagged to be erased. Good. Alternatively, for example, the control unit 12 may set read prohibition on cache data associated with the virtual device 20 in which the detection unit 13 has detected a state change. In that case, the relay unit 14 may be designed not to read cache data that is prohibited from being read.

以上のように、制御部12は、検出部13が仮想装置20の所定の状態変化を検出した場合、状態変化が検出された仮想装置20に関連付けられているキャッシュデータに対して、所定の処理を行う。この所定の処理は、例えば上述された処理のいずれかである、不整合が生じている可能性があるキャッシュデータを仮想装置20が使用する可能性を減少させる処理である。キャッシュデータは、本実施形態における対象データである。   As described above, when the detection unit 13 detects a predetermined state change of the virtual device 20, the control unit 12 performs predetermined processing on the cache data associated with the virtual device 20 in which the state change is detected. I do. This predetermined process is, for example, one of the processes described above, and reduces the possibility that the virtual device 20 uses cache data that may be inconsistent. Cache data is target data in the present embodiment.

次に、仮想装置20に所定の状態変化が生じる場合における、情報処理装置1の動作の例について、図面を参照して詳細に説明する。以下の説明では、仮想装置20の所定の状態変化は、他の情報処理装置1に移行した仮想装置20が戻ってくることである。また、不整合が生じている可能性があるキャッシュデータを仮想装置20が使用する可能性を減少させる所定の処理は、状態変化が検出された仮想装置20に関連付けられているキャッシュデータを削除することである。   Next, an example of the operation of the information processing apparatus 1 when a predetermined state change occurs in the virtual apparatus 20 will be described in detail with reference to the drawings. In the following description, the predetermined state change of the virtual device 20 is that the virtual device 20 that has migrated to another information processing device 1 returns. In addition, the predetermined process for reducing the possibility that the virtual device 20 uses cache data that may cause inconsistency deletes the cache data associated with the virtual device 20 in which the state change is detected. That is.

図7は、本実施形態の情報処理装置1の、仮想装置20に状態変化が生じる場合における動作の例を表すフローチャートである。図7を使用して、情報処理装置1において起動した仮想装置20が他の情報処理装置1に移行した後、戻ってくる場合における、情報処理装置1の動作について説明する。   FIG. 7 is a flowchart illustrating an example of the operation of the information processing apparatus 1 according to the present embodiment when a state change occurs in the virtual device 20. The operation of the information processing apparatus 1 when the virtual apparatus 20 activated in the information processing apparatus 1 returns after being transferred to another information processing apparatus 1 will be described with reference to FIG.

まず、情報処理装置1において仮想装置20が起動すること、すなわち、実行部10が仮想装置20のエミュレートを開始した場合の情報処理装置1の動作について説明する。   First, the operation of the information processing apparatus 1 when the virtual apparatus 20 is activated in the information processing apparatus 1, that is, when the execution unit 10 starts emulating the virtual apparatus 20 will be described.

図7に示す動作において、検出部13は、継続的に、仮想装置20の状態変化の検出を行っている(ステップS201)。   In the operation illustrated in FIG. 7, the detection unit 13 continuously detects a state change of the virtual device 20 (step S201).

仮想装置20の状態変化が検出されない場合(ステップS202においてNo)、情報処理装置1の動作は、ステップS201に戻る。そして、検出部13は、仮想装置20の状態変化の検出を継続する。   When the state change of the virtual device 20 is not detected (No in step S202), the operation of the information processing device 1 returns to step S201. Then, the detection unit 13 continues to detect the state change of the virtual device 20.

仮想装置20の状態変化が検出された場合(ステップS202においてYes)、制御部12は、検出した状態変化が、仮想装置20の起動であるか判定する。仮想装置20の起動が検出された場合(ステップS203においてYes)、制御部12は、起動が検出された仮想装置20の識別子を特定する(ステップS204)。   When the state change of the virtual device 20 is detected (Yes in step S202), the control unit 12 determines whether the detected state change is activation of the virtual device 20. When the activation of the virtual device 20 is detected (Yes in Step S203), the control unit 12 specifies the identifier of the virtual device 20 in which the activation is detected (Step S204).

検出部13は、仮想装置20の状態変化に加えて、状態変化が検出された仮想装置20の識別子と、状態変化の種別とを検出する。前述のように、検出部13は、例えば実行部10から、状態が変化した仮想装置20の識別子と、状態変化の種別とを受信すればよい。そして、検出部13は、制御部12に対して、状態が変化した仮想装置20の識別子と、状態変化の種別とを送信すればよい。   In addition to the state change of the virtual device 20, the detection unit 13 detects the identifier of the virtual device 20 in which the state change is detected and the type of state change. As described above, the detection unit 13 may receive, for example, the identifier of the virtual device 20 whose state has changed and the type of state change from the execution unit 10. Then, the detection unit 13 may transmit the identifier of the virtual device 20 whose state has changed and the type of state change to the control unit 12.

制御部12は、起動が検出された仮想装置20の識別子を記憶する。そして、情報処理装置1の動作は、ステップS201に戻る。   The control unit 12 stores the identifier of the virtual device 20 from which activation has been detected. Then, the operation of the information processing apparatus 1 returns to step S201.

次に、情報処理装置1が実行している仮想装置20が、他の情報処理装置1に移動する場合の、情報処理装置1の動作について説明する。   Next, an operation of the information processing apparatus 1 when the virtual apparatus 20 executed by the information processing apparatus 1 moves to another information processing apparatus 1 will be described.

上述のように、検出部13は、仮想装置20の状態変化の検出を継続している(ステップS201)。情報処理装置1が実行している仮想装置20が、他の情報処理装置1に移動した場合、検出部13は、仮想装置20の状態変化を検出する(ステップS202においてYes)。検出された状態変化は、仮想装置20の起動ではない(ステップS203においてNo)。その場合、制御部12は、さらに、検出された状態変化が、仮想装置20が他の情報処理装置1に移動したことであるか判定する。制御部12は、検出部13から受信した状態変化の種別に基づいて判定すればよい。   As described above, the detection unit 13 continues to detect a change in the state of the virtual device 20 (step S201). When the virtual device 20 executed by the information processing device 1 moves to another information processing device 1, the detection unit 13 detects a state change of the virtual device 20 (Yes in step S202). The detected state change is not the activation of the virtual device 20 (No in step S203). In that case, the control unit 12 further determines whether the detected state change is that the virtual apparatus 20 has moved to another information processing apparatus 1. The control unit 12 may determine based on the type of state change received from the detection unit 13.

判定の結果、仮想装置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 virtual device 20 has moved to another information processing device 1 (Yes in step S205), the control unit 12 specifies the identifier of the virtual device 20 that has moved to the other information processing device 1. And the control part 12 memorize | stores the identified identifier of the virtual apparatus 20 as an identifier of the virtual apparatus 20 which moved to the other information processing apparatus 1 (step S206). After step S206, the operation of the information processing apparatus 1 returns to step S201. Then, the detection unit 13 continues to detect the state change of the virtual device 20.

次に、他の情報処理装置1に移動した仮想装置20が、再び戻ってきた場合における、情報処理装置1の動作について説明する。   Next, the operation of the information processing apparatus 1 when the virtual apparatus 20 moved to another information processing apparatus 1 returns again will be described.

上述のように、検出部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 detection unit 13 continues to detect a change in the state of the virtual device 20 (step S201). When the virtual device 20 moves from another information processing device 1 to the information processing device 1, the detection unit 13 detects a change in the state of the virtual device 20 (Yes in step S202). The detected state change is not the activation of the virtual device 20 (No in step S203). In that case, the control unit 12 further determines whether the detected state change is that the virtual apparatus 20 has moved to another information processing apparatus 1. As a result of the determination, if the virtual device 20 has not moved to another information processing device 1 (No in step S205), the control unit 12 determines whether the virtual device 20 has moved from the other information processing device 1. As a result of the determination, when the virtual device 20 has not moved from the other information processing device 1 to the information processing device 1 (No in step S207), the operation of the information processing device 1 returns to step S201. Then, the detection unit 13 continues to detect the state change of the virtual device 20.

判定の結果、仮想装置20が他の情報処理装置1から情報処理装置1に移動した場合(ステップS207においてYes)、制御部12は、他の情報処理装置1から移動した仮想装置20の識別子を特定する(ステップS208)。   As a result of the determination, when the virtual device 20 has moved from the other information processing device 1 to the information processing device 1 (Yes in step S207), the control unit 12 determines the identifier of the virtual device 20 moved from the other information processing device 1. Specify (step S208).

制御部12は、ステップS208において特定された、他の情報処理装置1から移動した仮想装置20の識別子が、他の情報処理装置1に移動した仮想装置20の識別子として記憶されているか判定する。   The control unit 12 determines whether or not the identifier of the virtual device 20 moved from the other information processing device 1 specified in step S208 is stored as the identifier of the virtual device 20 moved to the other information processing device 1.

特定された、他の情報処理装置1から移動した仮想装置20の識別子が、他の情報処理装置1に移動した仮想装置20の識別子として記憶されていない場合(ステップS209においてNo)、情報処理装置1は、図7に示す動作を終了する。あるいはこの場合、情報処理装置1の動作は、ステップS201に戻ってもよい。   When the identified identifier of the virtual device 20 moved from the other information processing device 1 is not stored as the identifier of the virtual device 20 moved to the other information processing device 1 (No in step S209), the information processing device 1 ends the operation shown in FIG. Alternatively, in this case, the operation of the information processing apparatus 1 may return to step S201.

特定された、他の情報処理装置1から移動した仮想装置20の識別子が、他の情報処理装置1に移動した仮想装置20の識別子として記憶されている場合(ステップS209においてYes)、情報処理装置1の動作は、ステップS210に進む。なお、仮想装置20が移動して行った移動先である他の情報処理装置1と、戻ってきた仮想装置20の移動元である他の情報処理装置1は、一致する必要はない。   When the identified identifier of the virtual device 20 moved from the other information processing device 1 is stored as the identifier of the virtual device 20 moved to the other information processing device 1 (Yes in step S209), the information processing device The operation of 1 proceeds to step S210. It should be noted that the other information processing apparatus 1 that is the destination of the movement of the virtual apparatus 20 and the other information processing apparatus 1 that is the movement source of the returned virtual apparatus 20 do not need to match.

ステップ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 control unit 12 performs predetermined processing on the target data associated with the virtual device 20 moved from the other information processing apparatus 1 (step S210). As described above, the target data associated with the virtual device 20 moved from the other information processing apparatus 1 is target data associated with the identifier of the virtual apparatus 20 moved from the other information processing apparatus 1. Further, the virtual device 20 that has moved from the other information processing device 1 in step S210 is the virtual device 20 that has returned to the other information processing device 1 after moving to the other information processing device 1. The target data is stored in the target information storage unit 11. Furthermore, the target data is the aforementioned cache data. The predetermined process is to delete the target data in the description shown in FIG. Therefore, in other words, in step S210, the control unit 12 moves the cache data (that is, the target data) associated with the virtual device 20 that has returned to the other information processing apparatus 1 to the target information storage unit 11 Delete from.

本実施形態には、仮想装置20が動作する情報処理装置1が保持する、仮想装置20によるアクセスに応じて変化しうる対象データに、仮想装置20が情報処理装置1間で移動することによって生じる不整合を軽減することができるという効果がある。   In the present embodiment, the virtual device 20 moves between the information processing devices 1 to the target data that can be changed according to the access by the virtual device 20 held by the information processing device 1 on which the virtual device 20 operates. There is an effect that inconsistencies can be reduced.

その理由は、制御部12が、対象情報記憶部11に格納され、状態変化が検出された仮想装置20に関連付けられている対象データに対して、所定の処理を行うからである。所定の処理は、例えば削除である。所定の処理は、状態変化が検出された仮想装置20が、処理が行われた対象データを使用する可能性を低減する処理であれば、削除以外の処理であってもよい。状態変化は、例えば、他の情報処理装置1に移動した後、戻ってくることである。状態変化は、他の状態変化であってもよい。   The reason is that the control unit 12 performs predetermined processing on the target data stored in the target information storage unit 11 and associated with the virtual device 20 in which the state change is detected. The predetermined process is, for example, deletion. The predetermined processing may be processing other than deletion as long as the virtual device 20 in which the state change is detected reduces the possibility of using the target data on which the processing has been performed. The state change is, for example, returning after moving to another information processing apparatus 1. The state change may be another state change.

<第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 update unit 15 of the present embodiment does not transmit the access request to the storage device 3 when all of the access targets to be written can be written as target data in the target information storage unit 11.

さらに、本実施形態の制御部12は、実行装置10が実行していた仮想装置20が、他の情報処理装置1に移動したことが検出された場合、例えば中継部14に移動通知を送信する。   Furthermore, when it is detected that the virtual device 20 executed by the execution device 10 has moved to another information processing device 1, the control unit 12 according to the present embodiment transmits a movement notification to the relay unit 14, for example. .

本実施形態の中継部14は、移動通知を受信した場合、対象情報記憶部11に格納されている対象データを、記憶装置3が記憶するデータに反映させる。   When receiving the movement notification, the relay unit 14 of the present embodiment reflects the target data stored in the target information storage unit 11 in the data stored in the storage device 3.

制御部12は、さらに、対象データの、記憶装置3が記憶するデータへの反映が終了した後、他の情報処理装置1に移動したことが検出された仮想装置20に関連付けられている対象データを消去する。   The control unit 12 further includes target data associated with the virtual device 20 that has been detected to have moved to another information processing device 1 after the reflection of the target data to the data stored in the storage device 3 is completed. Erase.

また、制御部12は、他の情報処理装置1に移動した仮想装置20の識別子を記憶しない。制御部12は、他の情報処理装置1から移動した仮想装置20の識別子と、記憶している、他の情報処理装置1に移動した仮想装置20の識別子とを比較しない。そして、制御部12は、他の情報処理装置1に移動した後、戻ってきた仮想装置20に関連付けられている対象データを消去しない。   Further, the control unit 12 does not store the identifier of the virtual device 20 that has moved to another information processing apparatus 1. The control unit 12 does not compare the identifier of the virtual device 20 moved from the other information processing device 1 with the stored identifier of the virtual device 20 moved to the other information processing device 1. Then, after moving to another information processing apparatus 1, the control unit 12 does not erase the target data associated with the returned virtual apparatus 20.

以上を除き、本実施形態の各構成要素は、同じ符号が付与された、第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 information storage unit 11 is cache data.

次に、本実施形態の情報処理装置1の動作について、図面を参照して詳細に説明する。   Next, the operation of the information processing apparatus 1 according to the present embodiment will be described in detail with reference to the drawings.

図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 information processing apparatus 1 according to this embodiment. 8 and FIG. 9 and FIG. 6 are different in that the operation of step S301 is included between step S104 and step S105 in FIG. As described above, FIG. 6 is a flowchart illustrating the normal operation of the information processing apparatus 1 according to the first embodiment. The operations of steps other than step S301 in FIG. 8 and FIG. 9 are the same as the operations of steps given the same reference numerals shown in FIG. Therefore, hereinafter, the operation in step S301 and the operation related to the operation in step S301 will be described, and description of other operations will be omitted.

ステップS104においてキャッシュを書き換えた後、更新部15は、アクセス要求に基づく全てのアクセス対象を、対象データとして対象情報記憶部11に書き込めたか判定する(ステップS301)。   After rewriting the cache in step S104, the updating unit 15 determines whether all access targets based on the access request have been written as target data in the target information storage unit 11 (step S301).

書き込み命令であるアクセス命令に基づく全てのアクセス対象を、対象データとして対象情報記憶部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 information storage unit 11 as target data (Yes in step S301), the relay unit 14 transmits an end signal to the virtual device 20 (step S107). ). Then, the virtual device 20 receives the end signal (step S108).

アクセス要求に基づく全てのアクセス対象を、対象データとして対象情報記憶部11に書き込めなかった場合(ステップS301においてNo)、ステップS105以降の動作を行う。本実施形態におけるステップS105以降の動作は、図6に示す、第1の実施形態におけるステップS105以降の動作と同じである。   When all the access targets based on the access request cannot be written in the target information storage unit 11 as target data (No in step S301), the operations after step S105 are performed. The operation after step S105 in this embodiment is the same as the operation after step S105 in the first embodiment shown in FIG.

なお、ステップS104において、更新部15は、書き込み命令の基づき対象情報記憶部11に書き込みを行った対象データに、変更されたことを表すフラグを関連付けてもよい。   In step S104, the updating unit 15 may associate a flag indicating that the data has been changed with the target data written to the target information storage unit 11 based on the write command.

以上のように、本実施形態では、アクセス命令が書き込み命令である場合、アクセス命令によって書き込まれるデータであるアクセス対象を、対象情報記憶部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 information storage unit 11, the storage device 3 when the access command is received. Do not send access instructions to.

次に、本実施形態の情報処理装置1の、仮想装置20に状態変化が生じた場合における動作について、図面を参照して詳細に説明する。   Next, the operation of the information processing apparatus 1 according to the present embodiment when a state change occurs in the virtual device 20 will be described in detail with reference to the drawings.

図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 information processing apparatus 1 according to the present embodiment when a state change occurs in the virtual device 20. In the operation illustrated in FIG. 10, the operations in steps from step S201 to step S205 are the same as the operations of the steps assigned with the same numbers in the operation of the information processing apparatus 1 according to the first embodiment illustrated in FIG. 7. It is. In the operation illustrated in FIG. 10, if Yes in step S205, the operations in steps S401 and S402 are performed. In the following, the operations in steps S401 and S402 and the operations related to those steps will be mainly described.

本実施形態の検出部13も、仮想装置20の状態変化を、継続的に検出している(ステップS201)。仮想装置20の状態変化が検出され(ステップS202においてYes)、検出された状態変化が起動ではなく(ステップS203においてNo)、情報処理装置1の動作はステップS205に進む。さらに、検出された状態変化が、他の情報処理装置1への移動である場合(ステップS205においてYes)、情報処理装置1の動作はステップS401に進む。   The detection unit 13 of the present embodiment also continuously detects a change in the state of the virtual device 20 (step S201). A state change of the virtual device 20 is detected (Yes in step S202), and the detected state change is not activated (No in step S203), and the operation of the information processing apparatus 1 proceeds to step S205. Furthermore, when the detected state change is movement to another information processing apparatus 1 (Yes in step S205), the operation of the information processing apparatus 1 proceeds to step S401.

ステップS401において、中継部14は、他の情報処理装置1への移動が検出された仮想装置20に関連付けられている対象データを、記憶装置3に反映させる。すなわち、中継部14は、他の情報処理装置1への移動が検出された仮想装置20に関連付けられている対象データを、その対象データの関連付けられているアクセス先の識別子によって特定される、記憶装置3に含まれる記憶領域に書き込む。なお、上述のステップS104において、書き込みが行われた対象データに変更されたことを表すフラグが関連付けられている場合、中継部14は、変更されたことを表すフラグが関連付けられている対象データだけを、上述のように記憶装置3に書き込めばよい。   In step S <b> 401, the relay unit 14 causes the storage device 3 to reflect the target data associated with the virtual device 20 in which movement to another information processing device 1 is detected. In other words, the relay unit 14 stores the target data associated with the virtual device 20 in which the movement to the other information processing device 1 is detected by the identifier of the access destination associated with the target data. Write to a storage area included in the device 3. In addition, in the above-described step S104, when a flag indicating that the data has been changed is associated with the target data to which writing has been performed, the relay unit 14 performs only the target data associated with the flag that indicates that the data has been changed. May be written into the storage device 3 as described above.

ステップS401の動作の後、制御部12は、他の情報処理装置1に移動したことが検出された仮想装置20に関連付けられている対象データに、所定の処理を行う(ステップS402)。本実施形態における所定の処理は、例えば、図6に示すステップS210の動作の説明において述べた、不整合が生じている可能性があるキャッシュデータを仮想装置20が使用する可能性を減少させる処理のいずれかである。本実施形態における所定の処理は、例えば消去であってもよい。   After the operation in step S401, the control unit 12 performs predetermined processing on the target data associated with the virtual device 20 that has been detected to have moved to another information processing apparatus 1 (step S402). The predetermined processing in the present embodiment is, for example, processing for reducing the possibility that the virtual device 20 uses cache data that may have inconsistency described in the description of the operation in step S210 illustrated in FIG. One of them. The predetermined process in the present embodiment may be, for example, erasure.

なお、本実施形態の情報処理装置1は、ステップS205において、仮想装置20の状態変化が、仮想装置20が動作している状態から、その仮想装置20が動作していない状態への変化である場合に、ステップS401の動作を行ってもよい。   In the information processing apparatus 1 according to the present embodiment, in step S205, the state change of the virtual device 20 is a change from a state in which the virtual device 20 is operating to a state in which the virtual device 20 is not operating. In such a case, the operation of step S401 may be performed.

以上で説明した本実施形態には、第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 virtual device 20 has moved to another information processing device 1, the relay unit 14 writes in the storage device 3 when receiving the access command issued by the virtual device 20. Data that has not been written is written to the storage device 3. Then, after the writing by the relay unit 14 is completed, the control unit 12 performs a predetermined process. Accordingly, the virtual device 20 moved by another information processing device 1 due to the inconsistency between the data stored in the storage device 3 and the cache data of the data stored in the source information processing device 1. Can reduce the risk of malfunction.

本実施形態には、さらに、仮想装置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 virtual device 20 until the processing for the access command is completed.

その理由は、アクセス命令によって書き込まれる対象データを、全て対象情報記憶部11に書き込めた場合、中継部14は、そのアクセス命令の受信時において、そのアクセス命令によって書き込まれる対象データを記憶装置3に書き込まないからである。   The reason is that when all the target data written by the access command can be written to the target information storage unit 11, the relay unit 14 stores the target data written by the access command in the storage device 3 when receiving the access command. It is because it does not write.

<第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 virtual device 20 is a preset state change type, the control unit 12 of the present embodiment is associated with the virtual device 20 in which the state change is detected. A predetermined process is performed on the target data. A plurality of status types may be set in advance. In this case, the control unit 12 of the present embodiment, when the detected state change type of the virtual device 20 is one of the preset state change types, the virtual device in which the state change is detected A predetermined process may be performed on the target data associated with 20.

状態変化の種別は、第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 information processing apparatus 1.

次に、本実施形態の情報処理装置1の動作について、図面を参照して詳細に説明する。   Next, the operation of the information processing apparatus 1 according to the present embodiment will be described in detail with reference to the drawings.

図6は、本実施形態の情報処理装置1の、通常時における動作の例を表すフローチャートである。本実施形態の情報処理装置1の、通常時における動作は、第1の実施形態の情報処理装置1の通常時における動作と同じである。従って、本実施形態の情報処理装置1の通常時における動作の説明は省略する。   FIG. 6 is a flowchart illustrating an example of the operation of the information processing apparatus 1 according to the present embodiment at normal time. The normal operation of the information processing apparatus 1 of the present embodiment is the same as the normal operation of the information processing apparatus 1 of the first embodiment. Therefore, the description of the normal operation of the information processing apparatus 1 of the present embodiment is omitted.

図11は、本実施形態の情報処理装置1の、仮想装置20の状態が変化した場合における動作を表すフローチャートである。ステップS201及びステップS202の動作は、第1の実施形態における、ステップS201及びステップS202の動作と同じである。従って、これらの動作の説明は省略する。   FIG. 11 is a flowchart showing the operation of the information processing apparatus 1 according to the present embodiment when the state of the virtual device 20 changes. The operations in step S201 and step S202 are the same as the operations in step S201 and step S202 in the first embodiment. Therefore, description of these operations is omitted.

ステップS501において、制御部12は、検出された、仮想装置20の状態変化の種別が、あらかじめ設定されている状態変化の種別と同じか判定する。複数の状態種別が設定されている場合、制御部12は、検出された、仮想装置20の状態変化の種別が、あらかじめ設定されている状態変化の種別のいずれかと同じか判定する。   In step S501, the control unit 12 determines whether the detected state change type of the virtual device 20 is the same as the state change type set in advance. When a plurality of state types are set, the control unit 12 determines whether the detected state change type of the virtual device 20 is the same as one of the preset state change types.

検出された、仮想装置20の状態変化の種別が、あらかじめ設定されているいずれの状態変化の種別とも同じでない場合(ステップS501においてNo)、制御部12は、検出された状態変化に応じて定められている処理を行う(ステップS502)。ステップS502における動作は、例えば、図7に示すステップS204あるいはステップS206における動作である。検出された状態変化に応じて定められている処理が存在しない場合、制御部12は、ステップS502における動作を行わなくてよい。   When the detected state change type of the virtual device 20 is not the same as any of the preset state change types (No in step S501), the control unit 12 determines the state change according to the detected state change. The process is performed (step S502). The operation in step S502 is, for example, the operation in step S204 or step S206 shown in FIG. When there is no processing defined according to the detected state change, the control unit 12 does not have to perform the operation in step S502.

検出された、仮想装置20の状態変化の種別が、あらかじめ設定されているいずれかの状態変化の種別と同じである場合(ステップS501においてYes)、情報処理装置1の動作は、ステップS503に進む。以下の説明において、あらかじめ設定されているいずれかの状態変化の種別と同じ種別の状態変化が検出された仮想装置20を、対象仮想装置と表記する。   If the detected state change type of the virtual device 20 is the same as any of the preset state change types (Yes in step S501), the operation of the information processing apparatus 1 proceeds to step S503. . In the following description, a virtual device 20 in which a state change of the same type as any of the preset state change types is detected is referred to as a target virtual device.

ステップS503において、例えば制御部12が、対象仮想装置に関連付けられている、対象情報記憶部11に格納されている対象データに対して、所定の処理を行う。ステップS503における所定の処理は、図7に示すステップS210の動作における所定の処理と同じであればよい。ステップS503において所定の処理を行う構成要素は、制御部12に限られない。例えば、ステップS503における所定の処理は、図10に示すステップS401の動作及びステップS402の動作であってもよい。図10に示す例では、ステップS401の動作は中継部14によって行われる。そして、ステップS402の動作は制御部12によって行われる。   In step S503, for example, the control unit 12 performs a predetermined process on the target data stored in the target information storage unit 11 associated with the target virtual device. The predetermined process in step S503 may be the same as the predetermined process in the operation of step S210 illustrated in FIG. The component that performs the predetermined processing in step S503 is not limited to the control unit 12. For example, the predetermined process in step S503 may be the operation in step S401 and the operation in step S402 shown in FIG. In the example illustrated in FIG. 10, the operation in step S <b> 401 is performed by the relay unit 14. The operation in step S402 is performed by the control unit 12.

以上で説明した本実施形態には、第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 target device 3 </ b> A instead of the storage device 3. The target device 3C may be an information processing device such as a server. The target device 3C may be a storage device. In the present embodiment, the target device 3C is the aforementioned request destination device.

図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 information processing apparatuses 1. Similarly, the information processing system 100C may include a plurality of target devices 3A. Each information processing system 100C and each target device 3C are connected via a communication network 4, for example.

本実施形態では、仮想装置20は、中継部14を介して、対象装置3Cに対してアクセスを行う。アクセスは、例えば、何らかのデータの送信及び受信の少なくともいずれかを行う通信であればよい。データは、例えば、対象装置3Cに対する命令や、対象装置3Cからの命令であってもよい。   In the present embodiment, the virtual device 20 accesses the target device 3 </ b> C via the relay unit 14. The access may be, for example, communication that performs at least one of transmission and reception of some data. The data may be, for example, a command for the target device 3C or a command from the target device 3C.

本実施形態では、仮想装置20に対して設定された通信に関する優先順位が、仮想装置20の識別子に関連付けられて、対象データとして対象情報記憶部11に格納される。すなわち、本実施形態では、対象データは仮想装置20の通信に関する優先順位である。   In the present embodiment, the priority order regarding communication set for the virtual device 20 is associated with the identifier of the virtual device 20 and stored in the target information storage unit 11 as target data. That is, in the present embodiment, the target data is a priority order related to the communication of the virtual device 20.

中継部14は、仮想装置20からデータを受信し、受信したデータを対象装置3Cに送信する出力を行う。中継部14は、対象装置3Cからデータを受信し、受信したデータを仮想装置20に送信する入力を行う。中継部14は、複数の仮想装置20が、これらの入力及び出力を含む通信を行う場合、仮想装置20に関連付けられている優先順位が高いほど優先して、仮想装置20が行う通信の処理を行う。中継部14は、例えば、優先順位が高さに応じた広さの通信帯域を仮想装置20に割り当てればよい。中継部14は、例えば、複数の仮想装置20が同時に通信を行おうとする場合、優先度が高い仮想装置20の通信の処理が完了した後、優先度が低い仮想装置20による通信に対する処理を行ってもよい。優先順位に応じた優先度で仮想装置20の通信を処理する方法は、以上の方法ではない、他の方法であってもよい。   The relay unit 14 receives data from the virtual device 20, and outputs the received data to the target device 3C. The relay unit 14 receives data from the target device 3 </ b> C and performs input to transmit the received data to the virtual device 20. When a plurality of virtual devices 20 perform communication including these inputs and outputs, the relay unit 14 prioritizes the communication processing performed by the virtual device 20 as the priority associated with the virtual device 20 increases. Do. For example, the relay unit 14 may assign a communication band having a priority corresponding to a high priority to the virtual device 20. For example, when a plurality of virtual devices 20 try to communicate at the same time, the relay unit 14 performs processing for communication by the virtual device 20 having a low priority after completing the processing of the virtual device 20 having a high priority. May be. The method of processing the communication of the virtual device 20 with the priority according to the priority order may be another method other than the above method.

更新部15は、例えば、仮想装置20の状態や、仮想装置20が行っている処理の内容や、仮想装置20が行う通信の種類に応じて、各仮想装置20の優先順位を決定する。更新部15が、仮想装置20の優先順位を決定するために使用するパラメータを、以下の説明において、仮想装置20に関する状態と表記する。更新部15は、仮想装置20に関する状態を検出し、検出された、仮想装置20に関する状態に基づき、優先順位を決定する。そして、更新部15は、決定された優先順位を、仮想装置20の識別子に関連付けて、対象データとして対象情報記憶部11に格納する。更新部15が仮想装置20の優先順位を決定する方法は、あらかじめ決められていればよい。更新部15は、優先順位の更新を、例えば、制御部12から指示を受信した場合に行う。更新部15は、さらに、例えば、仮想装置20からの指示を受信した場合に、優先順位の更新を行ってもよい。仮想装置20は、例えば、行っている処理の内容や、行っている通信の種類が変わった場合、更新部15に優先順位を更新する指示を送信するよう設定されていればよい。   The update unit 15 determines the priority order of each virtual device 20 according to, for example, the state of the virtual device 20, the content of processing performed by the virtual device 20, and the type of communication performed by the virtual device 20. The parameters used by the updating unit 15 to determine the priority order of the virtual devices 20 are referred to as states relating to the virtual devices 20 in the following description. The update unit 15 detects a state related to the virtual device 20 and determines a priority order based on the detected state related to the virtual device 20. Then, the update unit 15 stores the determined priority order in the target information storage unit 11 as target data in association with the identifier of the virtual device 20. The method by which the update unit 15 determines the priority order of the virtual devices 20 may be determined in advance. The update unit 15 updates the priority when, for example, an instruction is received from the control unit 12. For example, the update unit 15 may update the priority when receiving an instruction from the virtual device 20. For example, the virtual device 20 only needs to be set to transmit an instruction to update the priority order to the update unit 15 when the content of the processing being performed or the type of communication being performed has changed.

仮想装置20にあらかじめ決められた種別の状態変化が生じたことが検出部13によって検出された場合、制御部12は、仮想装置20の優先順位を更新するよう、更新部15に対して指示することによって、各仮想装置20の優先順位を更新する。   When the detection unit 13 detects that a state change of a predetermined type has occurred in the virtual device 20, the control unit 12 instructs the update unit 15 to update the priority order of the virtual device 20. As a result, the priority of each virtual device 20 is updated.

図14は、本実施形態の情報処理装置1の、対象データを更新する場合における動作を表すフローチャートである。図14の動作は、例えば、制御部12あるいはいずれかの仮想装置20からの指示によって開始される。   FIG. 14 is a flowchart showing the operation of the information processing apparatus 1 according to the present embodiment when the target data is updated. The operation of FIG. 14 is started by an instruction from the control unit 12 or any one of the virtual devices 20, for example.

まず、更新部15が、仮想装置20に関する状態を検出する(ステップS601)。   First, the update unit 15 detects a state related to the virtual device 20 (step S601).

次に、更新部15が、検出された、仮想装置20に関する状態に基づき、仮想装置20に関連付けられている対象データを更新する(ステップS602)。   Next, the update unit 15 updates the target data associated with the virtual device 20 based on the detected state relating to the virtual device 20 (step S602).

次に、本実施形態の情報装置1の、仮想装置20に状態変化が生じた場合における動作について、図面を参照して詳細に説明する。   Next, an operation of the information device 1 according to the present embodiment when a state change occurs in the virtual device 20 will be described in detail with reference to the drawings.

図11は、本実施形態の情報装置1の、仮想装置20に状態変化が生じた場合における動作を表すフローチャートである。   FIG. 11 is a flowchart showing the operation of the information device 1 according to the present embodiment when a state change occurs in the virtual device 20.

本実施形態の情報処理装置1の、仮想装置20に状態変化が生じた場合における動作は、ステップS503における所定の処理の内容を除いて、第3の実施形態の情報処理装置1の、仮想装置20に状態変化が生じた場合における動作と同じである。   The operation of the information processing apparatus 1 according to the present embodiment when a state change occurs in the virtual apparatus 20 is the same as that of the information processing apparatus 1 according to the third embodiment except for the contents of the predetermined processing in step S503. This is the same as the operation when a state change occurs in 20.

ステップS503において、更新部15が、対象情報記憶部11に格納されている、対象データである優先順位を更新する処理を行う。   In step S <b> 503, the update unit 15 performs a process of updating the priority order that is target data stored in the target information storage unit 11.

以上で説明した本実施形態には、第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 information storage unit 11 is a compression setting value set in each virtual device 20. The compression setting value is a value that specifies a compression method, such as a compression algorithm used for compression or a parameter in compression processing. The compression set value may be determined in advance.

各仮想装置20は、中継部14を介して、対象装置3Cと通信を行う。   Each virtual device 20 communicates with the target device 3 </ b> C via the relay unit 14.

中継部14は、仮想装置20が対象装置3Cに送信するデータを受信すると、受信したデータを、その仮想装置20に関連付けられている対象データである圧縮設定値に基づく圧縮方法で、圧縮する。   When the relay unit 14 receives data transmitted from the virtual device 20 to the target device 3C, the relay unit 14 compresses the received data by a compression method based on a compression setting value that is target data associated with the virtual device 20.

更新部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 update unit 15 determines each virtual device based on the compression rate set for each virtual device 20, the type of data transmitted by the virtual device 20, the amount of computing resources that can be used for compression, and the like. The compression setting value for 20 is determined. The update unit 15 may receive the compression rate set for the virtual device 20 and the type of data transmitted by the virtual device 20 from the virtual device 20. In the present embodiment, the compression rate set for the virtual device 20, the type of data transmitted by the virtual device 20, and the like are the states related to the virtual device 20 described above. The virtual device 20 only needs to be designed to transmit the set compression rate, the type of data to be transmitted, and the like to the update unit 15 in response to a request. The update unit 15 may acquire a calculation resource that can be used for compression from, for example, the execution unit 10. The update unit 15 further uses the average compression rate, the average resource usage, and the like when compression is performed based on various parameters that can be set using each of the available compression algorithms. Thus, the compression setting value may be determined. The updating unit 15 stores in advance an average compression rate, an average resource usage, and the like when compression is performed based on various parameters that can be set using each of the available compression algorithms. It only has to be. Various existing methods can be used as a method for the update unit 15 to select a compression algorithm and parameters. For example, when the update unit 15 receives an instruction from the control unit 12 or any one of the virtual devices 20, the update unit 15 may determine the compression setting value and store the determined compression setting value in the state information storage unit 11. For example, when the type of data to be transmitted is changed, the virtual device 20 may transmit an instruction to update the compression setting value to the update unit 15.

制御部12は、いずれかの仮想装置20の状態変化が検出されると、更新部15に圧縮設定値を更新する指示を送信することによって、対象情報記憶部11に格納されている圧縮設定値を更新すればよい。   When the state change of any of the virtual devices 20 is detected, the control unit 12 transmits an instruction to update the compression setting value to the updating unit 15 to thereby store the compression setting value stored in the target information storage unit 11. Should be updated.

次に、本実施形態の情報処理装置1の動作について、図面を参照して詳細に説明する。   Next, the operation of the information processing apparatus 1 according to the present embodiment will be described in detail with reference to the drawings.

図14は、本実施形態の情報処理装置1の、対象データを更新する場合における動作を表すフローチャートである。図14の動作は、例えば、制御部12やいずれかの仮想装置20からの指示によって開始される。   FIG. 14 is a flowchart showing the operation of the information processing apparatus 1 according to the present embodiment when the target data is updated. The operation in FIG. 14 is started by an instruction from the control unit 12 or any one of the virtual devices 20, for example.

まず、更新部15が、仮想装置20に関する状態を検出する(ステップS601)。   First, the update unit 15 detects a state related to the virtual device 20 (step S601).

次に、更新部15が、検出された、仮想装置20に関する状態に基づき、仮想装置20に関連付けられている対象データを更新する(ステップS602)。   Next, the update unit 15 updates the target data associated with the virtual device 20 based on the detected state relating to the virtual device 20 (step S602).

次に、本実施形態の情報装置1の、仮想装置20に状態変化が生じた場合における動作について、図面を参照して詳細に説明する。   Next, an operation of the information device 1 according to the present embodiment when a state change occurs in the virtual device 20 will be described in detail with reference to the drawings.

図11は、本実施形態の情報装置1の、仮想装置20に状態変化が生じた場合における動作を表すフローチャートである。   FIG. 11 is a flowchart showing the operation of the information device 1 according to the present embodiment when a state change occurs in the virtual device 20.

本実施形態の情報処理装置1の、仮想装置20に状態変化が生じた場合における動作は、ステップS503における所定の処理の内容を除いて、第3の実施形態の情報処理装置1の、仮想装置20に状態変化が生じた場合における動作と同じである。   The operation of the information processing apparatus 1 according to the present embodiment when a state change occurs in the virtual apparatus 20 is the same as that of the information processing apparatus 1 according to the third embodiment except for the contents of the predetermined processing in step S503. This is the same as the operation when a state change occurs in 20.

ステップS503において、更新部15が、対象情報記憶部11に格納されている、対象データである圧縮設定値を更新する処理を行う。   In step S <b> 503, the update unit 15 performs a process of updating the compression setting value that is target data stored in the target information storage unit 11.

以上で説明した本実施形態には、第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 information processing apparatus 1 </ b> C according to the present embodiment.

図15を参照すると、本実施形態の情報処理装置1Cは、仮想装置20を実行する実行部10によって実行される前記仮想装置20が行ったアクセスに応じて更新され、前記仮想装置20に関連付けられている対象データを記憶する対象情報記憶部11と、前記実行部10が実行する前記仮想装置20の状態が、実行されている状態とそれ以外の状態との間で変化する状態変化を検出する検出部13によって、前記仮想装置20の前記状態変化が検出された場合、前記対象データに対して所定の処理を行う制御部12と、を備える。   Referring to FIG. 15, the information processing apparatus 1 </ b> C according to the present embodiment is updated according to the access performed by the virtual device 20 executed by the execution unit 10 that executes the virtual device 20, and is associated with the virtual device 20. The target information storage unit 11 that stores the target data being detected, and the state of the virtual device 20 that is executed by the execution unit 10 detects a state change that changes between the state being executed and the other state And a control unit 12 that performs a predetermined process on the target data when the state change of the virtual device 20 is detected by the detection unit 13.

以上で説明した本実施形態には、第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 information processing device 1, the information processing device 1A, the information processing device 1B, and the information processing device 1C are respectively a computer and a program for controlling the computer, dedicated hardware, or a program for controlling the computer and the computer and dedicated hardware. It can be realized by a combination of

図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 computer 1000 that can implement the information processing device 1, the information processing device 1A, the information processing device 1B, and the information processing device 1C. Referring to FIG. 16, a computer 1000 includes a processor 1001, a memory 1002, a storage device 1003, and an I / O (Input / Output) interface 1004. The computer 1000 can access the recording medium 1005. The memory 1002 and the storage device 1003 are storage devices such as a RAM (Random Access Memory) and a hard disk, for example. The recording medium 1005 is, for example, a storage device such as a RAM or a hard disk, a ROM (Read Only Memory), or a portable recording medium. The storage device 1003 may be the recording medium 1005. The processor 1001 can read and write data and programs from and to the memory 1002 and the storage device 1003. The processor 1001 can access, for example, the storage device 3 and the target device 3A via the I / O interface 1004. The processor 1001 can access the recording medium 1005. The recording medium 1005 stores a program that causes the computer 1000 to operate as the information processing apparatus 1, the information processing apparatus 1A, the information processing apparatus 1B, or the information processing apparatus 1C.

プロセッサ1001は、記録媒体1005に格納されている、コンピュータ1000を、情報処理装置1、情報処理装置1A、情報処理装置1B、又は情報処理装置1Cとして動作させるプログラムを、メモリ1002にロードする。そして、プロセッサ1001が、メモリ1002にロードされたプログラムを実行することにより、コンピュータ1000は、情報処理装置1、情報処理装置1A、情報処理装置1B、又は情報処理装置1Cとして動作する。   The processor 1001 loads a program stored in the recording medium 1005 that causes the computer 1000 to operate as the information processing apparatus 1, the information processing apparatus 1 </ b> A, the information processing apparatus 1 </ b> B, or the information processing apparatus 1 </ b> C into the memory 1002. Then, when the processor 1001 executes the program loaded in the memory 1002, the computer 1000 operates as the information processing apparatus 1, the information processing apparatus 1A, the information processing apparatus 1B, or the information processing apparatus 1C.

実行部10、制御部12、検出部13、中継部14、更新部15は、例えば、プログラムを記憶する記録媒体1005からメモリ1002に読み込まれた、各部の機能を実現することができる専用のプログラムと、そのプログラムを実行するプロセッサ1001により実現することができる。また、対象情報記憶部11は、コンピュータ1000が含むメモリ1002やハードディスク装置等の記憶装置1003により実現することができる。あるいは、実行部10、対象情報記憶部11、制御部12、検出部13、中継部14、更新部15の一部又は全部を、各部の機能を実現する専用の回路によって実現することもできる。   The execution unit 10, the control unit 12, the detection unit 13, the relay unit 14, and the update unit 15 are dedicated programs that can realize the functions of the respective units that are read from the recording medium 1005 that stores the program into the memory 1002, for example. And a processor 1001 that executes the program. The target information storage unit 11 can be realized by the memory 1002 included in the computer 1000 or a storage device 1003 such as a hard disk device. Alternatively, some or all of the execution unit 10, the target information storage unit 11, the control unit 12, the detection unit 13, the relay unit 14, and the update unit 15 can be realized by a dedicated circuit that realizes the function of each unit.

以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。   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 Information processing device 2 Transition detection device 3 Storage device 3A Target device 4 Communication network 10 Execution unit 11 Target information storage unit 12 Control unit 13 Detection unit 14 Relay unit 15 Update unit 16 Input / output virtual device 16A Input Output device 20 Virtual device 21 Virtual device group 100, 100A, 100B, 100C Information processing system 1000 Computer 1001 Processor 1002 Memory 1003 Storage device 1004 I / O interface 1005 Recording medium

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.
前記実行手段を備える、請求項1乃至7のいずれかに記載の情報処理装置と、前記要求先装置とを含み、
前記検出手段を備える
情報処理システム。
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.
JP2014053293A 2014-03-17 2014-03-17 Information processing apparatus, information processing method, and information processing program Active JP6369069B2 (en)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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