JP2019144932A - Information processing device, information processing system, information processing method, and program - Google Patents

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

Info

Publication number
JP2019144932A
JP2019144932A JP2018029587A JP2018029587A JP2019144932A JP 2019144932 A JP2019144932 A JP 2019144932A JP 2018029587 A JP2018029587 A JP 2018029587A JP 2018029587 A JP2018029587 A JP 2018029587A JP 2019144932 A JP2019144932 A JP 2019144932A
Authority
JP
Japan
Prior art keywords
data
cache
information processing
storage device
processing apparatus
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
JP2018029587A
Other languages
Japanese (ja)
Other versions
JP7110615B2 (en
Inventor
彰郎 中野
Akio Nakano
彰郎 中野
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 JP2018029587A priority Critical patent/JP7110615B2/en
Publication of JP2019144932A publication Critical patent/JP2019144932A/en
Application granted granted Critical
Publication of JP7110615B2 publication Critical patent/JP7110615B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System Of A Hierarchy Structure (AREA)

Abstract

To reduce access to a memory device.SOLUTION: An information processing device of the present invention includes: a cache connected to a memory device and storing data; classifying means for classifying data into multiple use data to be used by a plurality of virtual machines or independent use data to be used by a single virtual machine; and data storage means for storing data in the cache in a case of the multiple use data and storing data in the memory device in a case of the independent use data.SELECTED DRAWING: Figure 1

Description

本発明は、データの処理に関し、特に、記憶装置にデータの保存する処理に関する。   The present invention relates to data processing, and more particularly to processing for storing data in a storage device.

コンピュータなどの情報処理装置は、可用性を高めるため、仮想マシンを動作させる仮想化基盤を備え、その仮想化基盤上で動作する仮想マシンにおいて所定のオペレーティングシステム及びアプリケーションを動作させる(例えば、特許文献1を参照)。   In order to increase availability, an information processing apparatus such as a computer includes a virtualization platform that operates a virtual machine, and operates a predetermined operating system and application in the virtual machine that operates on the virtualization platform (for example, Patent Document 1). See).

仮想マシンにおける通常の動作において、仮想マシンは、それぞれの仮想マシン毎に、記憶装置に確保された領域に接続する仮想的な接続機能を用いて、仮想的な記憶装置に対するアクセスを実現している。各仮想マシンは、他の仮想マシンと独立に動作する。そのため、複数の仮想マシンが通常のアプリケーションなどを実行している場合、仮想マシンからの記憶装置へのアクセスは、同時に多数発生する可能性が低く、分散されている。   In normal operation of a virtual machine, the virtual machine achieves access to the virtual storage device by using a virtual connection function for connecting to an area secured in the storage device for each virtual machine. . Each virtual machine operates independently of other virtual machines. For this reason, when a plurality of virtual machines are executing normal applications or the like, a large number of accesses to the storage device from the virtual machines are unlikely to occur at the same time and are distributed.

特表2012−527704号公報Special table 2012-527704 gazette

オペレーティングシステム及びアプリケーションは、バグの修正、又は、セキュリティの向上などのため、修正が必要となる場合がある。この修正は、オペレーティングシステムなどを実行している仮想マシンに、パッチファイルとして配布される。   The operating system and application may need to be corrected to correct bugs or improve security. This fix is distributed as a patch file to virtual machines running the operating system.

パッチファイルとして配布されるファイルの一例として、Hotfixがある。Hotfixは、使用を停止できないソフトウェア(例えば、オペレーティングシステム)に、危険度が高い深刻な脆弱性が発見された場合に提供されるファイルである。そのため、Hotfixは、対象となるオペレーティングシステムが動作する全ての仮想マシンに、可能な限り早急に配布される必要がある。   One example of a file distributed as a patch file is Hotfix. Hotfix is a file provided when a serious vulnerability with a high risk is found in software (for example, an operating system) that cannot be stopped. Therefore, Hotfix needs to be distributed as soon as possible to all virtual machines on which the target operating system operates.

また、アプリケーションが動作に用いるデータの更新としても、所定のデータが、ファイルとして仮想マシンに配布される。例えば、ウィルス対策アプリケーションに対して、ウィルスの検出に用いるウィルスパターンファイルが、配布される。特に危険度の高いウィルスが発見された場合、そのウィルスに対応したウィルスパターンファイルは、ウィルス対策アプリケーションが動作する全ての仮想マシンに、早急に配布される必要がある。なお、ウィルスパターンファイルへの追加用データファイル、及び、ウィルスパターンファイルの修正用のファイルは、「セキュリティ・パッチ」と呼ばれる場合がある。   In addition, predetermined data is distributed as a file to a virtual machine as an update of data used by an application for operation. For example, a virus pattern file used for virus detection is distributed to the antivirus application. In particular, when a virus with a high risk level is found, a virus pattern file corresponding to the virus needs to be immediately distributed to all virtual machines on which the antivirus application operates. Note that the data file for adding to the virus pattern file and the file for correcting the virus pattern file may be referred to as “security patch”.

このように、Hotfixのようなファイルは、複数の仮想マシンに対して、同時並行的に配布される必要がある。このようなファイルの配布は、元となるファイルに対して、複数の仮想マシンが、同時並行的に、アクセスすることとなる。その結果、元となるファイルを保存している記憶装置に対して、複数の仮想マシンからの多数のアクセスが、同時並行的に発生する。その結果、その記憶装置への過剰な負荷が、発生する可能性があった。   Thus, a file such as Hotfix needs to be distributed to a plurality of virtual machines in parallel. In such file distribution, a plurality of virtual machines simultaneously access the original file in parallel. As a result, a large number of accesses from a plurality of virtual machines occur simultaneously in parallel with respect to the storage device storing the original file. As a result, an excessive load on the storage device may occur.

また、記憶装置は、一般的に、アクセスに対する処理を並行的にではなく、連続的に処理する。そのため、記憶装置への同時並行的な多数のアクセスの発生は、記憶装置において多くの処理の待ち合わせを発生させ、システム全体における処理の遅延を発生させる可能性があった。   In addition, the storage device generally processes access processing continuously, not in parallel. For this reason, the occurrence of many simultaneous accesses to the storage device may cause many processing waits in the storage device and may cause processing delay in the entire system.

特許文献1に記載の発明は、仮想マシンのデータに対する要求数を低減するようにメモリのマッピングを操作するものであり、記憶装置に同時並行的に発生するアクセスを改善するものではない。   The invention described in Patent Document 1 operates memory mapping so as to reduce the number of requests for data of a virtual machine, and does not improve access that occurs simultaneously in a storage device.

本発明の目的は、上記問題点を解決し、記憶装置への同時並行的なアクセスの発生を低減する情報処理装置などを提供することにある。   An object of the present invention is to provide an information processing apparatus that solves the above-described problems and reduces the occurrence of concurrent access to a storage device.

本発明の一形態における情報処理装置は、記憶装置に接続され、データを保存するキャッシュと、データを、複数の仮想マシンが使用する多重使用データ、又は、一の仮想マシンが使用する単独使用データに分類する分類手段と、多重使用データの場合にデータをキャッシュに保存し、単独使用データの場合にデータを記憶装置に保存するデータ保存手段とを含む。   An information processing apparatus according to one embodiment of the present invention is connected to a storage device and stores a cache for storing data, multiple use data used by a plurality of virtual machines, or single use data used by one virtual machine And a data storage unit that stores data in a cache in the case of multiple use data and stores data in a storage device in the case of single use data.

本発明の一形態における情報処理システムは、上記の情報処理装置と、記憶装置と、情報処理装置を記憶装置に接続するネットワークとを含む。   An information processing system according to an aspect of the present invention includes the above information processing device, a storage device, and a network that connects the information processing device to the storage device.

本発明の一形態における情報処理方法は、記憶装置に接続され、データを保存するキャッシュを含む情報処理装置が、データを、複数の仮想マシンが使用する多重使用データ、又は、一の仮想マシンが使用する単独使用データに分類し、多重使用データの場合にデータをキャッシュに保存し、単独使用データの場合にデータを記憶装置に保存する。   An information processing method according to one embodiment of the present invention includes an information processing device that is connected to a storage device and includes a cache that stores data. The data is classified into single use data to be used, and data is stored in a cache in the case of multiple use data, and data is stored in a storage device in the case of single use data.

本発明の一形態におけるプログラムは、記憶装置に接続され、データを保存するキャッシュを含むコンピュータに、データを、複数の仮想マシンが使用する多重使用データ、又は、一の仮想マシンが使用する単独使用データに分類する処理と、多重使用データの場合にデータをキャッシュに保存し、単独使用データの場合にデータを記憶装置に保存する処理とを実行させる。   The program according to one embodiment of the present invention is a computer connected to a storage device and including a cache for storing data, and the data is used by multiple virtual machines used by a plurality of virtual machines or by a single virtual machine. A process of classifying the data into data and a process of storing data in a cache in the case of multiple use data and storing data in a storage device in the case of single use data are executed.

本発明に基づけば、記憶装置への同時並行的なアクセスの発生を低減するとの効果を奏することができる。   According to the present invention, it is possible to reduce the occurrence of concurrent access to the storage device.

図1は、本発明における第1の実施形態に係る情報処理装置を含む情報処理システムの構成の一例を示すブロック図である。FIG. 1 is a block diagram showing an example of the configuration of an information processing system including an information processing apparatus according to the first embodiment of the present invention. 図2は、第1の実施形態に係る仮想マシンにおけるデータの書き込み動作の一例を示すフロー図とである。FIG. 2 is a flowchart illustrating an example of a data write operation in the virtual machine according to the first embodiment. 図3は、第1の実施形態に係るデータ保存部におけるデータを保存する動作の一例を示すフロー図である。FIG. 3 is a flowchart illustrating an example of an operation of storing data in the data storage unit according to the first embodiment. 図4は、第1の実施形態に係るキャッシュにおけるデータを保存する動作の一例を示すフロー図である。FIG. 4 is a flowchart showing an example of an operation for storing data in the cache according to the first embodiment. 図5は、第1の実施形態に係るキャッシュにおけるデータの書き出しの動作の一例を示すフロー図である。FIG. 5 is a flowchart showing an example of an operation of writing data in the cache according to the first embodiment. 図6は、第1の実施形態に係る多重化部における多重化の依頼を送信する動作の一例を示すフロー図である。FIG. 6 is a flowchart illustrating an example of an operation of transmitting a multiplexing request in the multiplexing unit according to the first embodiment. 図7は、第1の実施形態に係る多重化部における多重化の依頼を受信した際の動作の一例を示すフロー図である。FIG. 7 is a flowchart illustrating an example of an operation when receiving a multiplexing request in the multiplexing unit according to the first embodiment. 図8は、第1の実施形態に係るキャッシュが保存するデータを管理する情報の一例を示す図である。FIG. 8 is a diagram illustrating an example of information for managing data stored in the cache according to the first embodiment. 図9は、第1の実施形態に係る分類ルールの一例を示す図である。FIG. 9 is a diagram illustrating an example of a classification rule according to the first embodiment. 図10は、第1の実施形態に係る情報処理装置の概要の構成の一例を示すブロック図である。FIG. 10 is a block diagram illustrating an example of a schematic configuration of the information processing apparatus according to the first embodiment. 図11は、第1の実施形態に係る情報処理装置のハードウェア構成の一例を示すブロック図である。FIG. 11 is a block diagram illustrating an example of a hardware configuration of the information processing apparatus according to the first embodiment.

次に、本発明の実施形態について図面を参照して説明する。   Next, embodiments of the present invention will be described with reference to the drawings.

なお、各図面は、本発明の実施形態を説明するためのものである。ただし、本発明は、各図面の記載に限られるわけではない。また、各図面の同様の構成には、同じ番号を付し、その繰り返しの説明を、省略する場合がある。また、以下の説明に用いる図面において、本発明の説明に関係しない部分の構成については、記載を省略し、図示しない場合もある。   Each drawing is for explaining an embodiment of the present invention. However, the present invention is not limited to the description of each drawing. Moreover, the same number is attached | subjected to the same structure of each drawing, and the repeated description may be abbreviate | omitted. Further, in the drawings used for the following description, the description of the configuration of the part not related to the description of the present invention is omitted, and there are cases where it is not illustrated.

なお、以下の説明において、保存対象を示す用語として「データ」を用いる。ただし、保存対象は、個別のデータに限定されない。保存対象は、データの集合(例えば、配列、構造体、ファイル、フォルダ、又は、記憶装置を論理的に分割した論理ユニット(又はパーティション))でもよい。以下、これらをまとめて「データ」と呼ぶ。   In the following description, “data” is used as a term indicating a storage target. However, the storage target is not limited to individual data. The storage target may be a collection of data (for example, an array, a structure, a file, a folder, or a logical unit (or partition) obtained by logically dividing a storage device). Hereinafter, these are collectively referred to as “data”.

<第1の実施形態>
以下、図面を参照して、第1の実施形態について説明する。
<First Embodiment>
The first embodiment will be described below with reference to the drawings.

[構成の説明]
まず、第1の実施形態に係る情報処理装置100の構成について、図面を参照して説明する。
[Description of configuration]
First, the configuration of the information processing apparatus 100 according to the first embodiment will be described with reference to the drawings.

図1は、本発明における第1の実施形態に係る情報処理装置100を含む情報処理システム10の構成の一例を示すブロック図である。   FIG. 1 is a block diagram illustrating an example of a configuration of an information processing system 10 including an information processing apparatus 100 according to the first embodiment of the present invention.

図1に示されているように、情報処理システム10は、情報処理装置100と、記憶装置200と、ネットワーク400とを含む。   As illustrated in FIG. 1, the information processing system 10 includes an information processing device 100, a storage device 200, and a network 400.

ネットワーク400は、情報処理装置100と記憶装置200とを接続する。ネットワーク400は、限定されない。例えば、ネットワーク400は、情報処理装置100と記憶装置200とを接続する専用ネットワーク(例えば、Storage Area Network(SAN))でもよい。あるいは、ネットワーク400は、汎用の通信網(例えば、Loca Area Network(LAN)、インターネット、又は、電話回線)でもよい。   The network 400 connects the information processing apparatus 100 and the storage device 200. The network 400 is not limited. For example, the network 400 may be a dedicated network (for example, Storage Area Network (SAN)) that connects the information processing apparatus 100 and the storage device 200. Alternatively, the network 400 may be a general-purpose communication network (for example, a Loca Area Network (LAN), the Internet, or a telephone line).

記憶装置200は、情報処理装置100から受信したデータを保存し、保存したデータを情報処理装置100に送信する。記憶装置200は、限定されない。例えば、記憶装置200は、磁気ディスク装置、Solid State Drive(SSD)、光磁気ディスク装置、又は、それらの装置の組合せ(例えば、ディスクアレイ装置)である。   The storage device 200 stores the data received from the information processing device 100 and transmits the stored data to the information processing device 100. The storage device 200 is not limited. For example, the storage device 200 is a magnetic disk device, a solid state drive (SSD), a magneto-optical disk device, or a combination of these devices (for example, a disk array device).

情報処理装置100は、記憶装置200に接続されている。図1に示されているように、複数の情報処理装置100が、記憶装置200に接続されていてもよい。ただし、一つの情報処理装置100が、記憶装置200に接続されていてもよい。   The information processing apparatus 100 is connected to the storage device 200. As illustrated in FIG. 1, a plurality of information processing devices 100 may be connected to the storage device 200. However, one information processing apparatus 100 may be connected to the storage device 200.

また、情報処理装置100は、一つに限らず、複数の記憶装置200に接続されていてもよい。   The information processing apparatus 100 is not limited to one, and may be connected to a plurality of storage devices 200.

情報処理装置100は、仮想化基盤106と、仮想マシン101とを含む。   The information processing apparatus 100 includes a virtualization platform 106 and a virtual machine 101.

仮想化基盤106は、一つ又は複数の仮想マシン101に実行環境を提供する。例えば、仮想化基盤106は、仮想マシン101に対して、データを保存する記憶装置200を仮想化した記憶装置としての機能を提供する。仮想化した記憶装置は、ネットワークストレージとしての機能を備えていてもよい。例えば、仮想化した記憶装置は、複数の仮想マシン101からアクセス可能であってもよい。   The virtualization platform 106 provides an execution environment for one or a plurality of virtual machines 101. For example, the virtualization platform 106 provides the virtual machine 101 with a function as a storage device that virtualizes the storage device 200 that stores data. The virtualized storage device may have a function as a network storage. For example, a virtualized storage device may be accessible from a plurality of virtual machines 101.

さらに、仮想化基盤106は、仮想マシン101に対して他の機能を提供してもよい。例えば、仮想化基盤106は、仮想マシン101に対して、仮想化した通信機能を提供してもよい。   Further, the virtualization platform 106 may provide other functions to the virtual machine 101. For example, the virtualization platform 106 may provide a virtualized communication function for the virtual machine 101.

仮想化基盤106は、図1に示されていないプロセッサ及びメモリなどのハードウェアと、所定のソフトウェアとを用いて実現される。   The virtualization platform 106 is realized using hardware such as a processor and a memory not shown in FIG. 1 and predetermined software.

仮想マシン101は、仮想化基盤106において、一般的なコンピュータとしての機能を実現する。例えば、仮想マシン101は、図示していない所定のオペレーティングシステムを実行し、そのオペレーティングシステム上において各種のアプリケーションを実行する。仮想マシン101は、単独のアプリケーションの実行に限らず、複数のアプリケーションで構成されたジョブを実行してもよい。   The virtual machine 101 realizes a function as a general computer in the virtualization platform 106. For example, the virtual machine 101 executes a predetermined operating system (not shown) and executes various applications on the operating system. The virtual machine 101 is not limited to executing a single application, and may execute a job including a plurality of applications.

さらに、仮想マシン101は、他の仮想マシン101と連携してもよい。例えば、いずれか一の仮想マシン101が、仮想化基盤106が提供する通信機能を用いて、ウィルス対策アプリケーションのメーカーからウィルスパターンファイル(セキュリティ・パッチ)を入手し、他の仮想マシン101に配布してもよい。あるいは、いずれか一の仮想マシン101が、通信機能を用いて、オペレーティングシステムのメーカーからHotfixを入手し、他の仮想マシン101に配布してもよい。   Further, the virtual machine 101 may cooperate with other virtual machines 101. For example, any one virtual machine 101 uses a communication function provided by the virtualization platform 106 to obtain a virus pattern file (security patch) from the manufacturer of the anti-virus application, and distributes it to other virtual machines 101. May be. Alternatively, any one of the virtual machines 101 may obtain Hotfix from the manufacturer of the operating system using a communication function and distribute it to other virtual machines 101.

仮想マシン101は、仮想化基盤106と同様に、図1に示されていないプロセッサ及びメモリなどのハードウェアと、所定のソフトウェアとを用いて実現される。   Similar to the virtualization platform 106, the virtual machine 101 is realized using hardware such as a processor and a memory that are not shown in FIG. 1 and predetermined software.

さらに、第1の実施形態に係る情報処理装置100の構成の詳細を説明する。   Further, details of the configuration of the information processing apparatus 100 according to the first embodiment will be described.

まず、仮想マシン101の詳細を説明する。   First, details of the virtual machine 101 will be described.

仮想マシン101は、分類部103と、仮想ディスクドライバ105とを含む。   The virtual machine 101 includes a classification unit 103 and a virtual disk driver 105.

分類部103は、仮想化基盤106に保存を依頼するデータを、分類する。例えば、仮想マシン101が、新たなファイルを作成した場合、仮想マシン101は、作成したファイルを保存する。この場合、分類部103は、ファイルを分類する。   The classification unit 103 classifies data that is requested to be stored in the virtualization platform 106. For example, when the virtual machine 101 creates a new file, the virtual machine 101 stores the created file. In this case, the classification unit 103 classifies the file.

あるいは、仮想マシン101が、他の装置から取得したファイルを他の仮想マシン101に配布するために、ネットワークストレージ機能を備えた仮想的な記憶装置にファイルを保存する。この場合も、分類部103は、ファイルを分類する。   Alternatively, the virtual machine 101 stores the file in a virtual storage device having a network storage function in order to distribute the file acquired from the other device to the other virtual machine 101. Also in this case, the classification unit 103 classifies the file.

なお、分類部103は、仮想マシン101が保存する全てのデータを分類してもよいし、所定の種類のデータを分類してもよい。   The classification unit 103 may classify all data stored in the virtual machine 101 or may classify a predetermined type of data.

分類の詳細としては、分類部103は、保存するデータを、複数の仮想マシン101が使用するデータ、又は、その仮想マシン101が単独で使用するデータに分類する。   As the details of the classification, the classification unit 103 classifies the data to be stored into data used by a plurality of virtual machines 101 or data used independently by the virtual machines 101.

以下、複数の仮想マシン101が使用するデータを、「多重使用データ」と呼ぶ。複数の仮想マシン101は、一つの情報処理装置100において動作する仮想マシン101に限らない。複数の仮想マシン101は、複数の情報処理装置100において動作する仮想マシン101でもよい。   Hereinafter, data used by a plurality of virtual machines 101 is referred to as “multiple use data”. The plurality of virtual machines 101 is not limited to the virtual machine 101 that operates in one information processing apparatus 100. The plurality of virtual machines 101 may be virtual machines 101 that operate on the plurality of information processing apparatuses 100.

また、仮想マシン101が単独で使用するデータを、「単独使用データ」と呼ぶ。   Further, data that the virtual machine 101 uses independently is referred to as “single use data”.

多重使用データの一例は、オペレーティングシステムが用いるファイル、オペレーティングシステムの上で動作するアプリケーションが用いるファイル、又はアプリケーションが利用するライブラリである。多重使用ファイルのより具体的な一例は、セキュリティ・パッチ及びHotfixである。   An example of the multiple use data is a file used by the operating system, a file used by an application operating on the operating system, or a library used by the application. More specific examples of multi-use files are security patches and hotfixes.

単独使用データの一例は、仮想マシン101の動作状態を保存するログファイルである。   An example of the single use data is a log file that stores the operation state of the virtual machine 101.

分類部103は、所定のルールを用いてデータを分類する。   The classification unit 103 classifies data using a predetermined rule.

図9は、第1の実施形態に係る分類ルールの一例を示す図である。図9は、ファイルを分類の単位とした場合の例である。   FIG. 9 is a diagram illustrating an example of a classification rule according to the first embodiment. FIG. 9 shows an example in which a file is used as a classification unit.

「多重使用ファイル」が、多重使用データと判定されるファイルのルールである。[フォルダ]に示されているフォルダに含まるファイルは、多重使用データと判定される。[拡張子]に示されている拡張子を含むファイルは、多重使用データと判定される。   “Multiple use file” is a rule of a file that is determined to be multiuse data. Files included in the folder indicated in [Folder] are determined to be multi-use data. A file including the extension shown in [Extension] is determined to be multiple use data.

「単独使用ファイル」が、単独使用データと判定されるファイルのルールである。[フォルダ]に示されているフォルダに含まるファイルは、単独使用データと判定される。[拡張子]に示されている拡張子を含むファイルは、単独使用データと判定される。   The “single use file” is a rule of a file that is determined as single use data. The file included in the folder shown in [Folder] is determined as single use data. A file including the extension shown in [Extension] is determined as single use data.

分類部103は、ファイルに関する上記以外の情報を用いてもよい。例えば、属性が読み取り専用のファイルは、多くから参照されるファイルである場合が多い。そこで、分類部103は、読み取り専用の属性のファイルを多重使用ファイルに分類してもよい。   The classification unit 103 may use information other than the above regarding the file. For example, a file whose attribute is read-only is often a file referenced by many. Therefore, the classification unit 103 may classify the read-only attribute file as a multiple use file.

このように、分類部103は、ファイルが保存されている位置(例えば、フォルダ)、ファイルの名称(例えば、拡張子)、及び/又は、属性(例えば、読み取り専用の属性)を用いてファイルを分類してもよい。   In this way, the classification unit 103 uses the location (for example, folder) where the file is stored, the name of the file (for example, extension), and / or the attribute (for example, read-only attribute) to classify the file. You may classify.

図1を参照した説明に戻る。   Returning to the description with reference to FIG.

分類部103は、分類した結果をデータに付与してもよい。分類結果の付与の具体的なやり方は、データの所定の位置に結果を含ませることである。   The classification unit 103 may add the classified result to the data. A specific way of assigning the classification result is to include the result at a predetermined position of the data.

データに結果を付与する場合、分類部103は、直接的にデータに分類した結果を付与してもよく、次に説明する仮想ディスクドライバ105に付与を依頼してもよい。   When assigning a result to data, the classification unit 103 may directly assign the result of classification to data, or may request the virtual disk driver 105 described below to give the result.

仮想ディスクドライバ105は、仮想マシン101に対して、仮想化基盤106が提供する仮想化した記憶装置に対するデータの仲介機能(データを送信する機能とデータを受信する機能)を提供する。さらに、仮想ディスクドライバ105は、分類部103が分類した結果とともにデータを仮想化基盤106に送信する。データが分類結果を含む場合、仮想ディスクドライバ105は、データを仮想化基盤106に送信する。データが分類結果を含まない場合、仮想ディスクドライバ105は、分類結果とデータとを、仮想化基盤106に送信する。   The virtual disk driver 105 provides the virtual machine 101 with a data mediating function (a function for transmitting data and a function for receiving data) for the virtualized storage device provided by the virtualization platform 106. Furthermore, the virtual disk driver 105 transmits data to the virtualization platform 106 together with the result of classification by the classification unit 103. When the data includes the classification result, the virtual disk driver 105 transmits the data to the virtualization platform 106. When the data does not include the classification result, the virtual disk driver 105 transmits the classification result and the data to the virtualization platform 106.

仮想化した記憶装置とは、仮想化基盤106が記憶装置200及びキャッシュ107を仮想化して、仮想マシン101に提供する記憶装置である。   The virtualized storage device is a storage device that the virtualization infrastructure 106 virtualizes the storage device 200 and the cache 107 and provides to the virtual machine 101.

次に、仮想化基盤106の詳細を説明する。   Next, details of the virtualization platform 106 will be described.

仮想化基盤106は、データ保存部120と、キャッシュ107と、送受信キュー109と、多重化部108とを含む。   The virtualization platform 106 includes a data storage unit 120, a cache 107, a transmission / reception queue 109, and a multiplexing unit 108.

キャッシュ107は、仮想マシン101から保存を依頼されたデータの少なくとも一部を保存する。キャッシュ107は、仮想化基盤106が動作する情報処理装置100のメモリを用いて構成される。キャッシュ107は、複数の仮想マシン101からアクセス可能である。キャッシュ107は、複数の仮想マシン101から共有可能な領域を備えている共有キャッシュである。   The cache 107 stores at least a part of data requested to be stored by the virtual machine 101. The cache 107 is configured using a memory of the information processing apparatus 100 on which the virtualization platform 106 operates. The cache 107 can be accessed from a plurality of virtual machines 101. The cache 107 is a shared cache having an area that can be shared by a plurality of virtual machines 101.

仮想マシン101で動作するアプリケーションなどからのキャッシュ107へのアクセスは、記憶装置200へのアクセスに対して高速である。一般的に、キャッシュ107に対するアクセス時間は、記憶装置200に対するアクセス時間に比べ、数十分の一から数百分の一である。そのため、キャッシュ107へのアクセスにおける待ち合わせが発生しても、待ち合わせ時間は短い。その結果、キャッシュ107へのアクセスは、記憶装置200へのアクセスに比べ、競合が発生しにくい。   Access to the cache 107 from an application running on the virtual machine 101 is faster than access to the storage device 200. In general, the access time for the cache 107 is tens of times to one hundredths compared to the access time for the storage device 200. For this reason, even when waiting for access to the cache 107 occurs, the waiting time is short. As a result, access to the cache 107 is less likely to cause contention than access to the storage device 200.

以下の説明において、キャッシュ107は、キャッシュ107におけるデータを管理する機能を含む。例えば、以下の説明において、キャッシュ107は、保存しているデータを記憶装置200に書き出す処理を実行する。ただし、これは、第1の実施形態を限定するものではない。例えば、情報処理装置100は、図示しないキャッシュ107を制御するキャッシュ制御部を備えていてもよい。この場合、キャッシュ制御部が、キャッシュ107におけるデータの移動などを制御する。   In the following description, the cache 107 includes a function for managing data in the cache 107. For example, in the following description, the cache 107 executes a process of writing stored data to the storage device 200. However, this does not limit the first embodiment. For example, the information processing apparatus 100 may include a cache control unit that controls the cache 107 (not shown). In this case, the cache control unit controls data movement in the cache 107.

キャッシュ107におけるデータの構造は、限定されない。キャッシュ107におけるデータの構造は、仮想化基盤106の仕様に沿って決定されればよい。   The data structure in the cache 107 is not limited. The data structure in the cache 107 may be determined according to the specifications of the virtualization platform 106.

なお、キャッシュ107に保存されたデータは、一般的に、バックグラウンドで動作する保存処理が、所定の周期、又は、所定のタイミングで、所定のキャッシュ・アルゴリズムを用いて記憶装置200に書き込む。情報処理装置100は、一般的なキャッシュ・アルゴリズムを用いればよい。キャッシュ・アルゴリズムは、例えば、Least Recently Used(LRU)、又は、Least Frequently Used(LFU)である。   The data stored in the cache 107 is generally written into the storage device 200 by a storage process that operates in the background using a predetermined cache algorithm at a predetermined cycle or a predetermined timing. The information processing apparatus 100 may use a general cache algorithm. The cache algorithm is, for example, Last Recently Used (LRU), or Last Frequently Used (LFU).

なお、キャッシュ107は、キャッシュ107における空き領域が所定の量より少なくなるまで、記憶装置200に書き出したデータを保持してもよい。   Note that the cache 107 may hold data written to the storage device 200 until the free area in the cache 107 becomes smaller than a predetermined amount.

送受信キュー109は、記憶装置200に保存するデータを送信し、記憶装置200から保存しているデータを受信するキューである。送受信キュー109は、記憶装置200と情報処理装置100との間における処理の時間的な差を吸収するため、データの先入れ先出し処理を実行する。なお、送受信キュー109は、データの先入れ先出し処理に加え、優先度に基づいた処理を実行してもよい。   The transmission / reception queue 109 is a queue that transmits data stored in the storage device 200 and receives data stored in the storage device 200. The transmission / reception queue 109 executes a first-in first-out process of data in order to absorb a time difference in processing between the storage device 200 and the information processing apparatus 100. The transmission / reception queue 109 may execute processing based on priority in addition to data first-in first-out processing.

データ保存部120は、仮想マシン101から、分類結果とともにデータを受信すると、分類結果を基にデータをキャッシュ107又は記憶装置200に保存する。   When the data storage unit 120 receives data from the virtual machine 101 together with the classification result, the data storage unit 120 stores the data in the cache 107 or the storage device 200 based on the classification result.

具体的には、データ保存部120は、次のように動作する。   Specifically, the data storage unit 120 operates as follows.

「多重使用データ」は、複数の仮想マシン101から同時並行的にアクセスされる。記憶装置200への同時並行的なアクセスを避けるため、データ保存部120は、多重使用データに分類されたデータをキャッシュ107(共有キャッシュ)に保存する。   The “multiple use data” is accessed in parallel from a plurality of virtual machines 101. In order to avoid simultaneous access to the storage device 200, the data storage unit 120 stores data classified as multiple use data in the cache 107 (shared cache).

「単独使用データ」は、仮想マシン101から同時並行的にはアクセスされない。そこで、「単独使用データ」の場合、データ保存部120は、送受信キュー109を介して、単独使用データに分類されたデータを記憶装置200に保存する。   The “single use data” is not accessed from the virtual machine 101 concurrently. Therefore, in the case of “single use data”, the data storage unit 120 stores data classified as single use data in the storage device 200 via the transmission / reception queue 109.

キャッシュ107は、メモリを用いて構成されている。メモリは、情報処理装置100の電源断などでデータが消失する可能性がある。信頼性を向上するためには、キャッシュ107に保存されているデータは、望ましくは、他の情報処理装置100などとで多重化された方がよい。   The cache 107 is configured using a memory. Data in the memory may be lost when the information processing apparatus 100 is powered off. In order to improve the reliability, the data stored in the cache 107 is preferably multiplexed with another information processing apparatus 100 or the like.

また、複数の装置がデータを共有する場合、一般的なシステムでは、共有されるデータは、複数の装置からアクセス可能な記憶装置に保存される。この場合、複数の装置が、その記憶装置にアクセスする。その結果、記憶装置への同時並行的なアクセスが発生する可能性がある。   When a plurality of devices share data, in a general system, the shared data is stored in a storage device accessible from the plurality of devices. In this case, a plurality of devices access the storage device. As a result, concurrent access to the storage device may occur.

しかし、他の情報処理装置100がキャッシュ107にそのデータを保存すると、他の情報処理装置100において動作する仮想マシン101は、そのデータへのアクセスとして、キャッシュ107へのアクセスを実行する。その結果、他の情報処理装置100から記憶装置200へのアクセスが低減される。   However, when the other information processing apparatus 100 stores the data in the cache 107, the virtual machine 101 operating in the other information processing apparatus 100 executes access to the cache 107 as access to the data. As a result, access from the other information processing apparatus 100 to the storage device 200 is reduced.

そこで、多重化部108は、他の情報処理装置100にデータの保存を依頼して、キャッシュ107に保存したデータの多重化を実行する。多重化部108は、図示しない所定の通信網を介して他の情報処理装置100の多重化部108との通信を実現している。   Therefore, the multiplexing unit 108 requests the other information processing apparatus 100 to store the data, and executes the multiplexing of the data stored in the cache 107. The multiplexing unit 108 realizes communication with the multiplexing unit 108 of another information processing apparatus 100 via a predetermined communication network (not shown).

多重化部108は、キャッシュ107にデータが保存されると、他の情報処理装置100に対して、そのデータを他の情報処理装置100のキャッシュ107に保存することを依頼する。   When data is stored in the cache 107, the multiplexing unit 108 requests another information processing apparatus 100 to store the data in the cache 107 of the other information processing apparatus 100.

多重化部108は、キャッシュ107に保存された全てのデータではなく、一部のデータを多重化してもよい。例えば、仮想マシン101は、処理速度を関係で、その仮想マシン101が単独で一時的に使用するデータをキャッシュ107に保存する場合がある。この場合、多重化部108は、そのデータを多重化しなくてもよい。   The multiplexing unit 108 may multiplex some data instead of all the data stored in the cache 107. For example, the virtual machine 101 may store data used temporarily by the virtual machine 101 alone in the cache 107 in relation to the processing speed. In this case, the multiplexing unit 108 may not multiplex the data.

あるいは、多重化部108は、所定の基準を基に、保存を依頼する情報処理装置100を選択してもよい。例えば、多重化部108は、データを作成した仮想マシン101、又は、仮想マシン101において動作するジョブがデータを共有する情報処理装置100に対して、多重化を依頼してもよい。   Alternatively, the multiplexing unit 108 may select the information processing apparatus 100 that requests storage based on a predetermined criterion. For example, the multiplexing unit 108 may request multiplexing to the virtual machine 101 that created the data or the information processing apparatus 100 that shares data with a job that operates in the virtual machine 101.

さらに、多重化部108は、保存を依頼するデータを管理するための情報を保持してもよい。例えば、他の情報処理装置100が、所定の処理を終了するまで、多重化の依頼に応答できない場合がある。そこで、多重化部108は、多重化の依頼先となる情報処理装置100毎に、データの多重化を依頼するための管理情報(例えば、リスト)を作成し、管理情報に沿って多重化を依頼してもよい。   Further, the multiplexing unit 108 may hold information for managing data requested to be saved. For example, the other information processing apparatus 100 may not be able to respond to the multiplexing request until the predetermined processing is completed. Therefore, the multiplexing unit 108 creates management information (for example, a list) for requesting data multiplexing for each information processing apparatus 100 that is a request destination of multiplexing, and performs multiplexing according to the management information. You may ask.

多重化部108は、他の情報処理装置100から、データのキャッシュ107への保存の依頼を受信すると、依頼元の情報処理装置100と関連付けてそのデータをキャッシュ107に保存する。多重化部108は、依頼されたデータと依頼元の情報処理装置100とを関連付けた情報を保持する。   When the multiplexing unit 108 receives a request to store data in the cache 107 from another information processing apparatus 100, the multiplexing unit 108 stores the data in the cache 107 in association with the requesting information processing apparatus 100. The multiplexing unit 108 holds information in which the requested data is associated with the requesting information processing apparatus 100.

既に説明したとおり、他の情報処理装置100がキャッシュ107にデータを保存すると、他の情報処理装置100において動作する仮想マシン101からそのデータへのアクセスは、キャッシュ107へのアクセスとなる。その結果、他の情報処理装置100から記憶装置200へのアクセスが、低減される。   As already described, when another information processing apparatus 100 stores data in the cache 107, access to the data from the virtual machine 101 operating in the other information processing apparatus 100 becomes access to the cache 107. As a result, access from other information processing apparatuses 100 to the storage device 200 is reduced.

さらに、多重化部108は、キャッシュ107に保存したデータを記憶装置200に書き出した場合、保存を依頼した他の情報処理装置100に、データを記憶装置200に保存したことを通知してもよい。その際、多重化部108は、記憶装置200に書き出したデータについて、他の情報処理装置100に、データの削除を依頼してもよい。つまり、多重化部108は、記憶装置200に書き出したデータの多重化をやめてもよい。この場合、他の情報処理装置100におけるキャッシュ107の使用可能容量が、増加する。なお、他の情報処理装置100において動作する仮想マシン101がそのデータを使用中の場合、他の情報処理装置100は、その仮想マシン101がデータの使用を終了するまで、キャッシュ107にデータを保存してもよい。   Further, when the data stored in the cache 107 is written to the storage device 200, the multiplexing unit 108 may notify the other information processing device 100 that has requested the storage that the data has been stored in the storage device 200. . At that time, the multiplexing unit 108 may request the other information processing apparatus 100 to delete the data written to the storage device 200. That is, the multiplexing unit 108 may stop multiplexing data written to the storage device 200. In this case, the usable capacity of the cache 107 in the other information processing apparatus 100 increases. When the virtual machine 101 operating in the other information processing apparatus 100 is using the data, the other information processing apparatus 100 stores the data in the cache 107 until the virtual machine 101 finishes using the data. May be.

多重化部108は、キャッシュ107に保存したデータの保存が必要なくなった場合(例えば、そのデータを使用したジョブ又はアプリケーションの終了)、データの保存を依頼した他の情報処理装置100に、保存したデータの削除を依頼する。他の情報処理装置100の多重化部108は、削除の依頼を受けたデータを削除する。ただしこの場合も、他の情報処理装置100において動作する仮想マシン101がそのデータを使用中の場合、他の情報処理装置100は、その仮想マシン101がデータの使用を終了するまで、キャッシュ107にデータを保存してもよい。   When the data stored in the cache 107 is no longer necessary (for example, when the job or application using the data ends), the multiplexing unit 108 stores the data in the other information processing apparatus 100 that requested the data storage. Request deletion of data. The multiplexing unit 108 of the other information processing apparatus 100 deletes the data for which the deletion request has been received. However, also in this case, when the virtual machine 101 operating in another information processing apparatus 100 is using the data, the other information processing apparatus 100 stores the data in the cache 107 until the virtual machine 101 finishes using the data. Data may be saved.

[動作の説明]
次に、第1の実施形態に係る情報処理装置100の動作について、図面を参照して説明する。
[Description of operation]
Next, the operation of the information processing apparatus 100 according to the first embodiment will be described with reference to the drawings.

図2は、第1の実施形態に係る仮想マシン101におけるデータの書き込み動作の一例を示すフロー図である。   FIG. 2 is a flowchart illustrating an example of a data write operation in the virtual machine 101 according to the first embodiment.

仮想マシン101においてデータの書き込みが発生した場合、分類部103は、所定の分類ルール(例えば、図9に示されている分類ルール)に基づいて、データを、多重使用データ又は単独使用データに分類する(ステップS321)。   When data is written in the virtual machine 101, the classification unit 103 classifies the data into multiple use data or single use data based on a predetermined classification rule (for example, the classification rule shown in FIG. 9). (Step S321).

データが多重使用データの場合(ステップS322でYes)、分類部103は、データに「多重使用データ」を示す分類結果を付与する(ステップS323)。   If the data is multi-use data (Yes in step S322), the classification unit 103 assigns a classification result indicating “multi-use data” to the data (step S323).

データが単独使用データの場合(ステップS322でNo)、分類部103は、データに「単独使用データ」を示す分類結果を付与する(ステップS324)。   If the data is single use data (No in step S322), the classification unit 103 gives a classification result indicating “single use data” to the data (step S324).

分類部103が分類結果を付与するやり方は、限定されない。例えば、情報処理装置100は、仮想マシン101が仮想化基盤106に送信するデータにおいて未使用の領域に、分類結果として使用する領域(例えば、フラグ)を確保してもよい。あるいは、情報処理装置100は、データの形式を拡張して、新たな領域を追加してもよい。   The manner in which the classification unit 103 gives the classification result is not limited. For example, the information processing apparatus 100 may reserve an area (for example, a flag) to be used as a classification result in an unused area in data transmitted from the virtual machine 101 to the virtualization platform 106. Alternatively, the information processing apparatus 100 may expand the data format and add a new area.

なお、仮想マシン101は、分類結果をデータに付与せず、別情報として動作してもよい。例えば、分類部103は、分類結果とデータとを仮想ディスクドライバ105に渡してもよい。   Note that the virtual machine 101 may operate as separate information without attaching the classification result to the data. For example, the classification unit 103 may pass the classification result and data to the virtual disk driver 105.

仮想ディスクドライバ105は、仮想化基盤106に、分類結果とデータとを送信し、データの保存を依頼する(ステップS325)。   The virtual disk driver 105 transmits the classification result and data to the virtualization platform 106, and requests data storage (step S325).

図3は、第1の実施形態に係るデータ保存部120におけるデータを保存する動作の一例を示すフロー図である。   FIG. 3 is a flowchart illustrating an example of an operation of storing data in the data storage unit 120 according to the first embodiment.

仮想化基盤106のデータ保存部120は、仮想マシン101からデータの保存の依頼を受けると、データとともに送信された分類結果を確認する(ステップS331)。   When receiving the data storage request from the virtual machine 101, the data storage unit 120 of the virtualization platform 106 confirms the classification result transmitted together with the data (step S331).

分類結果が多重使用データの場合(ステップS332でYes)、データ保存部120は、データをキャッシュ107に保存する。   If the classification result is multiple use data (Yes in step S332), the data storage unit 120 stores the data in the cache 107.

分類結果が単独使用データの場合(ステップS332でNo)、データ保存部120は、データを送受信キュー109に登録する(ステップS334)。   If the classification result is single use data (No in step S332), the data storage unit 120 registers the data in the transmission / reception queue 109 (step S334).

送受信キュー109は、登録されたデータを記憶装置200に保存する(ステップS335)。   The transmission / reception queue 109 stores the registered data in the storage device 200 (step S335).

図4は、第1の実施形態に係るキャッシュ107におけるデータを保存する動作の一例を示すフロー図である。図4に示されている動作において、キャッシュ107は、データの重複を回避する。キャッシュ107は、重複回避のため、ハッシュ値を用いる。なお、キャッシュ107は、重複回避のために別のやり方を用いてもよい。   FIG. 4 is a flowchart showing an example of an operation for storing data in the cache 107 according to the first embodiment. In the operation shown in FIG. 4, the cache 107 avoids duplication of data. The cache 107 uses a hash value to avoid duplication. Note that the cache 107 may use another method for avoiding duplication.

キャッシュ107は、データ保存部120から保存するためのデータを受け取ると以下の動作を実行する(ステップS341)。   When the cache 107 receives the data to be stored from the data storage unit 120, the cache 107 performs the following operation (step S341).

キャッシュ107は、受信したデータが、既にキャッシュ107に保存済みのデータであるか否かを確認する(ステップS342)。より詳細には、キャッシュ107は、次のような確認を実行する。まず、キャッシュ107は、保存を依頼されたデータ(依頼データ)のハッシュ値を算出する。そして、キャッシュ107は、キャッシュ107に保存されているデータ(保存済みのデータ)のハッシュ値と、算出した依頼データのハッシュ値とを比較する。   The cache 107 checks whether or not the received data is already stored in the cache 107 (step S342). More specifically, the cache 107 performs the following confirmation. First, the cache 107 calculates a hash value of data requested to be stored (request data). Then, the cache 107 compares the hash value of the data (stored data) stored in the cache 107 with the calculated hash value of the request data.

データのハッシュ値が一致した場合、キャッシュ107は、保存済みのデータと依頼データと比較する。   When the hash values of the data match, the cache 107 compares the stored data with the request data.

保存済みデータと依頼データとが一致した場合、キャッシュ107は、保存済みデータがあると判定する。   If the saved data and the requested data match, the cache 107 determines that there is saved data.

ハッシュ値が一致しない場合又はデータが一致しない場合、キャッシュ107は、保存済みのデータがないと判定する。   If the hash values do not match or the data do not match, the cache 107 determines that there is no stored data.

データが保存されている場合(ステップS342でYes)、キャッシュ107は、処理を終了する。なお、構造体のように、データが複数の内容を含み、キャッシュ107が一部の内容が一致した場合に一致と判定する場合、キャッシュ107は、受信したデータを用いて、保存済みのデータを更新する(ステップS343)。   If the data is stored (Yes in step S342), the cache 107 ends the process. Note that, when the data includes a plurality of contents and the cache 107 matches part of the contents as in the structure, the cache 107 uses the received data to store the stored data. Update (step S343).

データが保存されていない場合(ステップS342でNo)、キャッシュ107は、データを保存できるか否かを確認する(ステップS344)。具体的には、キャッシュ107は、データを保存するための空き領域がキャッシュ107にあるか否かを確認する。   When data is not stored (No in step S342), the cache 107 checks whether the data can be stored (step S344). Specifically, the cache 107 checks whether or not there is a free area for storing data in the cache 107.

保存する空き領域がない場合(ステップS344でNo)、キャッシュ107は、所定の手法に沿って、キャッシュ107に保存されているデータの一部を記憶装置200に書き出す(ステップS345)。キャッシュ107は、所定の手法として、LRU又はLFUなど、バックグラウンドで動作するキャッシュ・アルゴリズムと同じ手法を用いればよい。そして、キャッシュ107は、書き出したデータの領域を開放する。そして、キャッシュ107は、ステップS344に戻る。つまり、キャッシュ107は、受信したデータを保存できるまで、領域の開放を繰り返す。   If there is no free space to be stored (No in step S344), the cache 107 writes a part of the data stored in the cache 107 to the storage device 200 in accordance with a predetermined method (step S345). The cache 107 may use the same technique as the cache algorithm that operates in the background, such as LRU or LFU, as a predetermined technique. Then, the cache 107 releases the written data area. Then, the cache 107 returns to step S344. That is, the cache 107 repeats releasing the area until the received data can be stored.

保存する空き領域がある場合(ステップS344でYes)、キャッシュ107は、受信したデータを保存する(ステップS346)。   If there is a free area to be saved (Yes in step S344), the cache 107 saves the received data (step S346).

キャッシュ107は、適宜、保存するデータに関する管理情報を更新する。   The cache 107 updates management information regarding data to be stored as appropriate.

なお、キャッシュ107が重複の回避を管理しない場合、キャッシュ107は、ステップS342及びステップS343を含まなくてもよい。   Note that if the cache 107 does not manage avoidance of duplication, the cache 107 may not include step S342 and step S343.

図8は、第1の実施形態に係るキャッシュ107が保存するデータを管理する情報の一例を示す図である。   FIG. 8 is a diagram illustrating an example of information for managing data stored in the cache 107 according to the first embodiment.

図8に示されている管理情報は、キャッシュ107が所定のデータのブロックを用いてデータを管理する場合の管理情報である。管理情報は、キャッシュ107に保存されてもよく、図示しない情報処理装置100における他のメモリに保存されてもよい。   The management information shown in FIG. 8 is management information when the cache 107 manages data using a predetermined block of data. The management information may be stored in the cache 107 or may be stored in another memory in the information processing apparatus 100 (not shown).

管理情報は、ブロック識別子と、依頼先識別子と、先頭アドレスとを含む。さらに、管理情報は、保存するデータに関する情報の組を少なくとも一つ含む。情報の組は、次アドレスと、データアドレスと、フラグと、依頼元識別子と、ハッシュ値とを含む。   The management information includes a block identifier, a request destination identifier, and a head address. Furthermore, the management information includes at least one set of information related to data to be stored. The set of information includes a next address, a data address, a flag, a request source identifier, and a hash value.

ただし、図8に示されている管理情報及び情報の組は、例示である。管理情報及び情報の組は、他の情報を含んでもよい。管理情報及び情報の組は、情報の一部を含まなくてもよい。管理情報及び情報の組は、キャッシュ107の管理のやり方に沿って決定される。   However, the management information and the set of information shown in FIG. 8 are examples. The set of management information and information may include other information. The set of management information and information may not include part of the information. Management information and a set of information are determined in accordance with the management method of the cache 107.

ブロック識別子は、ブロックを一意に識別するための識別子(管理情報の識別子)である。ブロック識別子は、他の情報を含んでもよい。例えば、ブロックに種別がある場合、ブロック識別子は、種別を含んでもよい。   The block identifier is an identifier (management information identifier) for uniquely identifying a block. The block identifier may include other information. For example, when the block has a type, the block identifier may include the type.

依頼先識別子は、データを保存しているキャッシュ107を含む情報処理装置100の識別子である。他の情報処理装置100の多重化部108から多重化を依頼されたデータの場合、キャッシュ107を含む情報処理装置100は、依頼先となる。そのため、図8は、キャッシュ107を含む情報処理装置100の識別子を「依頼先識別子」と表現している。   The request destination identifier is an identifier of the information processing apparatus 100 including the cache 107 that stores data. In the case of data requested to be multiplexed by the multiplexing unit 108 of another information processing apparatus 100, the information processing apparatus 100 including the cache 107 is a request destination. Therefore, FIG. 8 expresses the identifier of the information processing apparatus 100 including the cache 107 as “request destination identifier”.

先頭アドレスは、最初の情報の組が保存されているアドレスである。なお、図8に示されている管理情報において、組の大きさは、一定である。そのため、先頭アドレスは、最初の組の開始アドレスを保持する。組の大きさが変化する場合、先頭アドレスは、最初の組の開始アドレスに加え、組に長さを含んでもよい。ただし、情報の組が、長さを含んでもよい。   The start address is an address where the first set of information is stored. In the management information shown in FIG. 8, the size of the set is constant. For this reason, the start address holds the start address of the first set. When the size of the set changes, the start address may include the length of the set in addition to the start address of the first set. However, the set of information may include a length.

次アドレスは、次の組のアドレスである。次アドレスは、先頭アドレスと同様に、組の長さを含んでもよい。   The next address is the next set of addresses. The next address may include the length of the set as with the head address.

次の組がない場合、次アドレスは、次の組がないことを示す情報(例えば、自分のアドレス、又は、ブランク)を保持する。   If there is no next set, the next address holds information indicating that there is no next set (for example, own address or blank).

データアドレスは、キャッシュ107におけるデータの保存アドレスである。   The data address is a data storage address in the cache 107.

フラグは、キャッシュ107に保存されているデータが記憶装置200に保存されたか否かを示す情報である。仮想マシン101からの依頼を基にキャッシュ107に保存されたデータのフラグの初期状態は、「未保存」である。キャッシュ107に保存されたデータが記憶装置200に保存されると、フラグは、「未保存」から「保存済み」に変更される。なお、キャッシュ107に保存されたデータが記憶装置200から読み出したデータの場合、フラグの初期値は「保存済み」である。また、キャッシュ107において「保存済み」のデータを変更した場合、フラグは、「未保存」に変更される。   The flag is information indicating whether data saved in the cache 107 is saved in the storage device 200. The initial state of the flag of the data saved in the cache 107 based on the request from the virtual machine 101 is “unsaved”. When the data saved in the cache 107 is saved in the storage device 200, the flag is changed from “not saved” to “saved”. When the data stored in the cache 107 is data read from the storage device 200, the initial value of the flag is “saved”. In addition, when “saved” data is changed in the cache 107, the flag is changed to “unsaved”.

フラグは、キャッシュ107におけるデータと、記憶装置200におけるデータとが一致しているか否かを示す情報である。   The flag is information indicating whether the data in the cache 107 matches the data in the storage device 200.

依頼元識別子は、データの保存を依頼した情報処理装置100の識別子である。自装置の仮想マシン101のデータの場合、依頼元識別子は、自装置の識別子となる。他の情報処理装置100の多重化部108から保存を依頼されたデータの場合、依頼元識別子は、依頼してきた情報処理装置100の識別子である。   The request source identifier is an identifier of the information processing apparatus 100 that has requested storage of data. In the case of data of the virtual machine 101 of the own device, the request source identifier is the identifier of the own device. In the case of data requested to be stored by the multiplexing unit 108 of another information processing apparatus 100, the request source identifier is the identifier of the information processing apparatus 100 that has requested.

依頼元識別子は、他の情報を含んでもよい。例えば、依頼元識別子は、情報処理装置100の識別子に加え、仮想マシン101の識別子を含んでもよい。   The request source identifier may include other information. For example, the request source identifier may include the identifier of the virtual machine 101 in addition to the identifier of the information processing apparatus 100.

ハッシュ値は、保存されているデータのハッシュ値である。   The hash value is a hash value of stored data.

図5は、第1の実施形態に係るキャッシュ107におけるデータの書き出しの動作の一例を示すフロー図である。   FIG. 5 is a flowchart showing an example of the data write operation in the cache 107 according to the first embodiment.

キャッシュ107は、バックグラウンドの動作として所定の周期、又は、所定のタイミングにおいて、次に説明する動作を実行する。さらに、キャッシュ107は、データ保存部120からデータの保存を依頼されたときに保存する領域がない場合にも、ステップS353以降の動作を実行して領域を確保する。   The cache 107 executes the operation described below at a predetermined cycle or a predetermined timing as a background operation. Further, even when there is no area to be saved when the data saving unit 120 is requested to save data, the cache 107 executes the operation after step S353 to secure the area.

キャッシュ107は、キャッシュ107において領域の開放が必要か否かを確認する(ステップS351)。領域の開放が必要か否かの判定条件は、キャッシュ107を管理するやり方に沿って決定されればよい。例えば、開放が必要な場合とは、キャッシュ107の空き領域が、所定の閾値より少ない場合である。あるいは、開放が必要な場合とは、キャッシュ107に保存されているデータに対して、所定の時間を越えてアクセスがない場合である。   The cache 107 checks whether it is necessary to release the area in the cache 107 (step S351). The condition for determining whether or not the area needs to be released may be determined in accordance with the way of managing the cache 107. For example, the case where release is necessary is a case where the free area of the cache 107 is smaller than a predetermined threshold. Alternatively, the case where the release is necessary is a case where the data stored in the cache 107 is not accessed for a predetermined time.

領域の開放が必要でない場合(ステップS352でNo)、キャッシュ107は、動作を終了する。   If it is not necessary to release the area (No in step S352), the cache 107 ends the operation.

領域の開放が必要な場合(ステップS352でYes)、キャッシュ107は、記憶装置200に書き出すデータを選択する(ステップS353)。キャッシュ107は、所定のキャッシュ・アルゴリズム(例えば、LRU又はLFU)を用いてデータを選択する。   If the area needs to be released (Yes in step S352), the cache 107 selects data to be written to the storage device 200 (step S353). The cache 107 selects data using a predetermined cache algorithm (for example, LRU or LFU).

キャッシュ107は、選択したデータを記憶装置200に書き出す。具体的には、キャッシュ107は、選択してデータを送受信キュー109に追加する(ステップS354)。   The cache 107 writes the selected data to the storage device 200. Specifically, the cache 107 selects and adds data to the transmission / reception queue 109 (step S354).

キャッシュ107は、データが送受信キュー109から記憶装置200に保存されると、選択したデータ(書き出したデータ)の領域を開放する(ステップS355)。なお、キャッシュ107は、データを送受信キュー109に追加したときに、領域を開放してもよい。   When the data is stored in the storage device 200 from the transmission / reception queue 109, the cache 107 releases the area of the selected data (written data) (step S355). Note that the cache 107 may release the area when data is added to the transmission / reception queue 109.

なお、キャッシュ107は、適宜、キャッシュ107に保存するデータに関する管理情報を更新する。   Note that the cache 107 appropriately updates management information regarding data stored in the cache 107.

さらに、キャッシュ107は、送受信キュー109の状態を基づいて、動作を変更してもよい。   Further, the cache 107 may change the operation based on the state of the transmission / reception queue 109.

例えば、キャッシュ107は、送受信キュー109に積まれたデータ量に応じて、送受信キュー109に追加するデータ量を変更してもよい。具体的には、キャッシュ107は、送受信キュー109に積まれたデータ量が所定の閾値より少ない場合に追加するデータ量を、送受信キュー109に積まれたデータ量がその閾値より多い場合に比べ、多くしてもよい。   For example, the cache 107 may change the amount of data added to the transmission / reception queue 109 according to the amount of data accumulated in the transmission / reception queue 109. Specifically, the cache 107 compares the amount of data to be added when the amount of data accumulated in the transmission / reception queue 109 is smaller than a predetermined threshold with respect to the case where the amount of data accumulated in the transmission / reception queue 109 is larger than the threshold. May be more.

図6は、第1の実施形態に係る多重化部108における多重化の依頼を送信する動作の一例を示すフロー図である。   FIG. 6 is a flowchart illustrating an example of an operation of transmitting a multiplexing request in the multiplexing unit 108 according to the first embodiment.

多重化部108は、データ保存部120において、多重使用データと分類されたデータがキャッシュ107に保存されたか否かを確認する(ステップS361)。ここにおけるデータの保存は、データの追加及びデータの更新を含む。   The multiplexing unit 108 checks whether or not the data classified as the multiple use data in the data storage unit 120 is stored in the cache 107 (step S361). The storage of data here includes addition of data and update of data.

データが保存されていない場合(ステップS361でNo)、多重化部108は、処理を終了する。   If no data is stored (No in step S361), the multiplexing unit 108 ends the process.

データが保存された場合(ステップS361でYes)、多重化部108は、他の情報処理装置100の多重化部108に、多重使用データと分類されてキャッシュ107に保存されたデータの保存を依頼する(ステップS362)。依頼の際、多重化部108は、データとともに情報処理装置100の識別子を送信する。   If the data has been saved (Yes in step S361), the multiplexing unit 108 requests the multiplexing unit 108 of the other information processing apparatus 100 to save the data classified into the multiple use data and saved in the cache 107. (Step S362). When making a request, the multiplexing unit 108 transmits the identifier of the information processing apparatus 100 together with the data.

図7は、第1の実施形態に係る多重化部108における多重化の依頼を受信した際の動作の一例を示すフロー図である。   FIG. 7 is a flowchart illustrating an example of an operation when a multiplexing request is received in the multiplexing unit 108 according to the first embodiment.

多重化部108は、他の情報処理装置100の多重化部108から依頼を受信する(ステップS371)。   The multiplexing unit 108 receives a request from the multiplexing unit 108 of the other information processing apparatus 100 (step S371).

その依頼を基に、多重化部108は、データをキャッシュ107に保存する(ステップS372)。多重化部108は、データとともに受け取った他の情報処理装置100の識別子をデータと関連付けて保存する。   Based on the request, the multiplexing unit 108 stores the data in the cache 107 (step S372). The multiplexing unit 108 stores the identifier of the other information processing apparatus 100 received together with the data in association with the data.

なお、情報処理装置100は、信頼性を向上させるため、他の情報処理装置100から受け取りキャッシュ107に保存したデータを記憶装置200にも保存してよい。なお、保存を依頼した情報処理装置100においてデータの多重化が不要となった場合、多重化部108は、他の情報処理装置100から保存を依頼されたデータを、キャッシュ107(及び、記憶装置200)から削除する。   Note that the information processing apparatus 100 may store data received from another information processing apparatus 100 and stored in the cache 107 in the storage device 200 in order to improve reliability. When the information processing apparatus 100 that has requested storage does not require data multiplexing, the multiplexing unit 108 stores the data requested to be stored by another information processing apparatus 100 in the cache 107 (and storage device). 200).

[効果の説明]
次に第1の実施形態に係る情報処理装置100に効果を説明する。
[Description of effects]
Next, effects of the information processing apparatus 100 according to the first embodiment will be described.

第1の実施形態に係る情報処理装置100は、記憶装置200への同時並行的なアクセスの発生を低減するとの効果を得ることができる。   The information processing apparatus 100 according to the first embodiment can obtain the effect of reducing the occurrence of concurrent access to the storage device 200.

その理由は、次のとおりである。   The reason is as follows.

情報処理装置100は、記憶装置200に接続されている。情報処理装置100は、仮想マシン101と、仮想化基盤106とを含む。仮想マシン101は、分類部103を含む。分類部103は、データを、複数の仮想マシン101が使用する多重使用データ、又は、一の仮想マシン101が使用する単独使用データに分類する。仮想化基盤106は、キャッシュ107と、データ保存部120とを含む。キャッシュ107は、データを保存する。データ保存部120は、多重使用データの場合にデータをキャッシュ107に保存し、単独使用データの場合にデータを記憶装置200に保存する。   The information processing apparatus 100 is connected to the storage device 200. The information processing apparatus 100 includes a virtual machine 101 and a virtualization platform 106. The virtual machine 101 includes a classification unit 103. The classification unit 103 classifies the data into multiple use data used by a plurality of virtual machines 101 or single use data used by one virtual machine 101. The virtualization platform 106 includes a cache 107 and a data storage unit 120. The cache 107 stores data. The data storage unit 120 stores data in the cache 107 in the case of multiple use data, and stores data in the storage device 200 in the case of single use data.

仮想マシン101は、さらに、仮想ディスクドライバ105を含む。仮想ディスクドライバ105は、データを仲介する。具体的には、仮想ディスクドライバ105は、分類の結果とデータとを仮想化基盤106に送信する。   The virtual machine 101 further includes a virtual disk driver 105. The virtual disk driver 105 mediates data. Specifically, the virtual disk driver 105 transmits the classification result and data to the virtualization platform 106.

仮想化基盤106は、さらに、送受信キュー109を含む。送受信キュー109は、データを記憶装置200に送信する。具体的には、送受信キュー109は、記憶装置200に同期してデータを送信する。   The virtualization platform 106 further includes a transmission / reception queue 109. The transmission / reception queue 109 transmits data to the storage device 200. Specifically, the transmission / reception queue 109 transmits data in synchronization with the storage device 200.

データ保存部120は、分類部103の分類結果を基に、複数の仮想マシン101からアクセスされるデータ(多重使用データ)をキャッシュ107に保存する。そのため、複数の仮想マシン101からそのデータへのアクセスは、キャッシュ107へのアクセスとなる。その結果、記憶装置200への同時並行的なアクセスの発生は、低減される。   The data storage unit 120 stores data (multiple use data) accessed from the plurality of virtual machines 101 in the cache 107 based on the classification result of the classification unit 103. Therefore, access to the data from a plurality of virtual machines 101 is access to the cache 107. As a result, the occurrence of concurrent access to the storage device 200 is reduced.

さらに、情報処理装置100は、キャッシュ107に保存されたデータの信頼性を向上するとの効果を奏する。   Further, the information processing apparatus 100 has an effect of improving the reliability of data stored in the cache 107.

その理由は、多重化部108が、他の情報処理装置100に、キャッシュ107に保存されたデータの保存を依頼するためである。   The reason is that the multiplexing unit 108 requests the other information processing apparatus 100 to save the data saved in the cache 107.

さらに、他の情報処理装置100は、上記の多重化部108の動作を基にデータをキャッシュ107に保存する。そのため、他の情報処理装置100におけるそのデータへのアクセスは、記憶装置200へのアクセスではなく、他の情報処理装置100のキャッシュ107へのアクセスとなる。その結果、情報処理装置100は、さらに記憶装置200へのアクセスを低減するとの効果を奏することができる。   Further, the other information processing apparatus 100 stores the data in the cache 107 based on the operation of the multiplexing unit 108 described above. Therefore, access to the data in the other information processing apparatus 100 is not access to the storage device 200 but access to the cache 107 of the other information processing apparatus 100. As a result, the information processing apparatus 100 can achieve an effect of further reducing access to the storage device 200.

また、データ保存部120は、複数の仮想マシン101からアクセスされるデータをキャッシュ107に保存する。データ保存部120は、一つの仮想マシン101からアクセスされるデータを記憶装置200に保存する。そのため、仮想マシン101の全てのデータをキャッシュ107に保存する場合に比べ、情報処理装置100は、キャッシュ107において必要される容量を削減できる。   In addition, the data storage unit 120 stores data accessed from the plurality of virtual machines 101 in the cache 107. The data storage unit 120 stores data accessed from one virtual machine 101 in the storage device 200. Therefore, the information processing apparatus 100 can reduce the capacity required for the cache 107 as compared to the case where all the data of the virtual machine 101 is stored in the cache 107.

[実施形態の概要]
ここまで説明した仮想マシン101及び仮想化基盤106に含まれる構成の位置は、一例である。これらの構成の位置は、変更となってもよい。例えば、データ保存部120は、各仮想マシン101に含まれていてもよい。
[Outline of Embodiment]
The positions of the configurations included in the virtual machine 101 and the virtualization infrastructure 106 described so far are examples. The positions of these configurations may be changed. For example, the data storage unit 120 may be included in each virtual machine 101.

図面を参照して第1の実施形態に係る情報処理装置100の概要を説明する。   An overview of the information processing apparatus 100 according to the first embodiment will be described with reference to the drawings.

図10は、第1の実施形態に係る情報処理装置100の概要の一例である情報処理装置150の構成を示すブロック図である。   FIG. 10 is a block diagram illustrating a configuration of an information processing device 150 that is an example of an overview of the information processing device 100 according to the first embodiment.

情報処理装置150は、記憶装置200に接続されている。情報処理装置150は、キャッシュ107と、分類部103と、データ保存部120とを含む。キャッシュ107は、データを保存する。分類部103は、データを、複数の仮想マシン101が使用する多重使用データ、又は、一の仮想マシン101が使用する単独使用データに分類する。データ保存部120は、多重使用データの場合にデータをキャッシュ107に保存し、単独使用データの場合にデータを記憶装置200に保存する。   The information processing device 150 is connected to the storage device 200. The information processing apparatus 150 includes a cache 107, a classification unit 103, and a data storage unit 120. The cache 107 stores data. The classification unit 103 classifies the data into multiple use data used by a plurality of virtual machines 101 or single use data used by one virtual machine 101. The data storage unit 120 stores data in the cache 107 in the case of multiple use data, and stores data in the storage device 200 in the case of single use data.

このように構成された情報処理装置150は、情報処理装置100と同様の効果を得ることができる。   The information processing apparatus 150 configured as described above can obtain the same effects as the information processing apparatus 100.

その理由は、情報処理装置150の各構成が、情報処理装置100の構成と同様に動作するためである。   The reason is that each configuration of the information processing apparatus 150 operates in the same manner as the configuration of the information processing apparatus 100.

なお、情報処理装置150は、本発明の実施形態における最小構成である。   The information processing apparatus 150 is the minimum configuration in the embodiment of the present invention.

[ハードウェア構成]
次に、情報処理装置100及び150のハードウェア構成について、情報処理装置100を用いて説明する。
[Hardware configuration]
Next, the hardware configuration of the information processing apparatuses 100 and 150 will be described using the information processing apparatus 100.

例えば、情報処理装置100の各構成部は、ハードウェア回路で構成されてもよい。   For example, each component of the information processing apparatus 100 may be configured with a hardware circuit.

あるいは、情報処理装置100において、各構成部は、ネットワークを介して接続した複数の装置を用いて、構成されてもよい。   Alternatively, in the information processing device 100, each component may be configured using a plurality of devices connected via a network.

あるいは、情報処理装置100において、複数の構成部は、1つのハードウェアで構成されてもよい。   Alternatively, in the information processing apparatus 100, the plurality of components may be configured with a single piece of hardware.

あるいは、情報処理装置100は、プロセッサと、メモリとを含むコンピュータ装置として実現されてもよい。プロセッサは、例えば、Central Processing Unit(CPU)、又は、Micro Processing Unit(MPU)である。メモリは、例えば、Read Only Memory(ROM)と、Random Access Memory(RAM)である。   Alternatively, the information processing apparatus 100 may be realized as a computer apparatus including a processor and a memory. The processor is, for example, a central processing unit (CPU) or a micro processing unit (MPU). The memory is, for example, a read only memory (ROM) and a random access memory (RAM).

情報処理装置100は、上記構成に加え、さらに、入出力接続回路(IOC:Input and Output Circuit)を含むコンピュータ装置として実現されてもよい。情報処理装置100は、上記構成に加え、さらに、ネットワークインターフェース回路(NIC:Network Interface Circuit)を含むコンピュータ装置として実現されてもよい。   In addition to the above configuration, the information processing apparatus 100 may be realized as a computer apparatus that further includes an input / output connection circuit (IOC: Input and Output Circuit). The information processing apparatus 100 may be realized as a computer apparatus including a network interface circuit (NIC: Network Interface Circuit) in addition to the above configuration.

図11は、第1の実施形態に係る情報処理装置100のハードウェア構成の一例である情報処理装置600の構成を示すブロック図である。   FIG. 11 is a block diagram illustrating a configuration of an information processing apparatus 600 that is an example of a hardware configuration of the information processing apparatus 100 according to the first embodiment.

情報処理装置600は、CPU610と、ROM620と、RAM630と、内部記憶装置640と、IOC650と、NIC680とを含み、コンピュータ装置を構成している。   The information processing apparatus 600 includes a CPU 610, a ROM 620, a RAM 630, an internal storage device 640, an IOC 650, and a NIC 680, and constitutes a computer device.

CPU610は、ROM620からプログラムを読み込む。そして、CPU610は、読み込んだプログラムに基づいて、RAM630と、内部記憶装置640と、IOC650と、NIC680とを制御する。そして、CPU610を含むコンピュータは、これらの構成を制御し、図1に示されている、仮想マシン101と、仮想化基盤106としての各機能を実現する。   The CPU 610 reads a program from the ROM 620. The CPU 610 controls the RAM 630, the internal storage device 640, the IOC 650, and the NIC 680 based on the read program. The computer including the CPU 610 controls these configurations, and implements the functions as the virtual machine 101 and the virtualization platform 106 illustrated in FIG.

CPU610は、各機能を実現する際に、RAM630又は内部記憶装置640を、プログラムの一時記憶媒体として使用してもよい。   When realizing each function, the CPU 610 may use the RAM 630 or the internal storage device 640 as a temporary storage medium for the program.

また、CPU610は、コンピュータで読み取り可能にプログラムを記憶した記憶媒体700が含むプログラムを、図示しない記憶媒体読み取り装置を用いて読み込んでもよい。あるいは、CPU610は、NIC680を介して、図示しない外部の装置からプログラムを受け取り、RAM630又は内部記憶装置640に保存して、保存したプログラムを基に動作してもよい。   The CPU 610 may read a program included in the storage medium 700 that stores the program so as to be readable by a computer using a storage medium reading device (not shown). Alternatively, the CPU 610 may receive a program from an external device (not shown) via the NIC 680, store the program in the RAM 630 or the internal storage device 640, and operate based on the stored program.

ROM620は、CPU610が実行するプログラム及び固定的なデータを記憶する。ROM620は、例えば、P−ROM(Programmable−ROM)又はフラッシュROMである。   The ROM 620 stores programs executed by the CPU 610 and fixed data. The ROM 620 is, for example, a P-ROM (Programmable-ROM) or a flash ROM.

RAM630は、CPU610が実行するプログラム及びデータを一時的に記憶する。RAM630は、例えば、D−RAM(Synamic−RAM)である。RAM630の一部は、キャッシュ107として動作する。   The RAM 630 temporarily stores programs executed by the CPU 610 and data. The RAM 630 is, for example, a D-RAM (Dynamic-RAM). A part of the RAM 630 operates as the cache 107.

内部記憶装置640は、情報処理装置600が長期的に保存するデータ及びプログラムを記憶する。また、内部記憶装置640は、CPU610の一時記憶装置として動作してもよい。内部記憶装置640は、例えば、ハードディスク装置、光磁気ディスク装置、SSD又はディスクアレイ装置である。   The internal storage device 640 stores data and programs that the information processing device 600 saves over a long period of time. Further, the internal storage device 640 may operate as a temporary storage device for the CPU 610. The internal storage device 640 is, for example, a hard disk device, a magneto-optical disk device, an SSD, or a disk array device.

ここで、ROM620と内部記憶装置640は、不揮発性(non−transitory)の記憶媒体である。一方、RAM630は、揮発性(transitory)の記憶媒体である。そして、CPU610は、ROM620、内部記憶装置640、又は、RAM630に記憶されているプログラムを基に動作可能である。つまり、CPU610は、不揮発性記憶媒体又は揮発性記憶媒体を用いて動作可能である。   Here, the ROM 620 and the internal storage device 640 are non-transitory storage media. Meanwhile, the RAM 630 is a volatile storage medium. The CPU 610 can operate based on a program stored in the ROM 620, the internal storage device 640, or the RAM 630. That is, the CPU 610 can operate using a nonvolatile storage medium or a volatile storage medium.

IOC650は、CPU610と、入力機器660及び表示機器670とのデータを仲介する。IOC650は、例えば、IOインターフェースカード又はUSB(Universal Serial Bus)カードである。さらに、IOC650は、USBのような有線に限らず、無線を用いてもよい。   The IOC 650 mediates data between the CPU 610, the input device 660, and the display device 670. The IOC 650 is, for example, an IO interface card or a USB (Universal Serial Bus) card. Further, the IOC 650 is not limited to a wired connection such as a USB, but may be wireless.

入力機器660は、情報処理装置600の操作者からの入力指示を受け取る機器である。入力機器660は、例えば、キーボード、マウス又はタッチパネルである。   The input device 660 is a device that receives an input instruction from an operator of the information processing apparatus 600. The input device 660 is, for example, a keyboard, a mouse, or a touch panel.

表示機器670は、情報処理装置600の操作者に情報を表示する機器である。表示機器670は、例えば、液晶ディスプレイである。   The display device 670 is a device that displays information to the operator of the information processing apparatus 600. The display device 670 is a liquid crystal display, for example.

NIC680は、ネットワークを介した、図示しない外部の装置とのデータのやり取りを中継する。NIC680は、例えば、LANカードである。さらに、NIC680は、有線に限らず、無線を用いてもよい。NIC680は、送受信キュー109の一部として動作してもよい。   The NIC 680 relays data exchange with an external device (not shown) via a network. The NIC 680 is, for example, a LAN card. Furthermore, the NIC 680 is not limited to a wired line, and may use wireless. The NIC 680 may operate as a part of the transmission / reception queue 109.

このように構成された情報処理装置600は、情報処理装置100と同様の効果を得ることができる。   The information processing apparatus 600 configured as described above can obtain the same effects as the information processing apparatus 100.

その理由は、情報処理装置600のCPU610が、プログラムに基づいて情報処理装置100における各構成と同様の機能を実現できるためである。   The reason is that the CPU 610 of the information processing apparatus 600 can realize the same functions as the components of the information processing apparatus 100 based on the program.

以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成及び詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。   While the present invention has been described with reference to the embodiments, 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.

本発明は、仮想マシン、及び/又は仮想デスクトップなどを用いる情報処理装置において利用可能である。   The present invention can be used in an information processing apparatus using a virtual machine and / or a virtual desktop.

10 情報処理システム
100 情報処理装置
101 仮想マシン
103 分類部
105 仮想ディスクドライバ
106 仮想化基盤
107 キャッシュ
108 多重化部
109 送受信キュー
120 データ保存部
150 情報処理装置
200 記憶装置
400 ネットワーク
600 情報処理装置
610 CPU
620 ROM
630 RAM
640 内部記憶装置
650 IOC
660 入力機器
670 表示機器
680 NIC
700 記憶媒体
DESCRIPTION OF SYMBOLS 10 Information processing system 100 Information processing apparatus 101 Virtual machine 103 Classification | category part 105 Virtual disk driver 106 Virtualization infrastructure 107 Cache 108 Multiplexing part 109 Transmission / reception queue 120 Data storage part 150 Information processing apparatus 200 Storage apparatus 400 Network 600 Information processing apparatus 610 CPU
620 ROM
630 RAM
640 Internal storage device 650 IOC
660 Input device 670 Display device 680 NIC
700 storage media

Claims (10)

記憶装置に接続され、
データを保存するキャッシュと、
前記データを、複数の仮想マシンが使用する多重使用データ、又は、一の前記仮想マシンが使用する単独使用データに分類する分類手段と、
前記多重使用データの場合に前記データを前記キャッシュに保存し、前記単独使用データの場合に前記データを前記記憶装置に保存するデータ保存手段と
を含む
情報処理装置。
Connected to the storage device,
A cache to store data,
Classifying means for classifying the data into multiple use data used by a plurality of virtual machines or single use data used by one virtual machine;
A data storage unit that stores the data in the cache in the case of the multiple use data, and stores the data in the storage device in the case of the single use data.
前記仮想マシンと、
前記仮想マシンを動作させる仮想化基盤と
を備え、
前記仮想マシンが、
前記分類手段と、
分類した結果と前記データとを前記仮想化基盤に送信するデータ仲介手段と
を含み、
前記仮想化基盤が、
前記キャッシュと、
前記記憶装置に前記データを送信するデータ送信手段と
を含み、
前記データ保存手段が、前記結果が前記単独使用データの場合に前記データ送信手段を用いて前記データを前記記憶装置に保存する
請求項1に記載の情報処理装置。
The virtual machine;
A virtualization platform for operating the virtual machine,
The virtual machine is
The classification means;
Data mediating means for transmitting the classified result and the data to the virtualization platform,
The virtualization infrastructure is
The cache;
Data transmitting means for transmitting the data to the storage device,
The information processing apparatus according to claim 1, wherein the data storage unit stores the data in the storage device using the data transmission unit when the result is the single use data.
前記仮想化基盤が、
前記キャッシュに前記データを保存した場合、他の情報処理装置に、前記データの保存を依頼し、
他の情報処理装置から前記データの保存を依頼された場合、依頼された前記データを前記キャッシュに保存する
多重化手段をさらに含む請求項2に記載の情報処理装置。
The virtualization infrastructure is
When the data is stored in the cache, the other information processing device is requested to store the data,
The information processing apparatus according to claim 2, further comprising: a multiplexing unit that stores the requested data in the cache when the other data processing apparatus requests the storage of the data.
請求項1ないし3のいずれか1項に記載の前記情報処理装置と、
前記記憶装置と、
前記情報処理装置を前記記憶装置に接続するネットワークと
を含む情報処理システム。
The information processing apparatus according to any one of claims 1 to 3,
The storage device;
An information processing system comprising: a network connecting the information processing device to the storage device.
記憶装置に接続され、
データを保存するキャッシュを含む情報処理装置が、
前記データを、複数の仮想マシンが使用する多重使用データ、又は、一の前記仮想マシンが使用する単独使用データに分類し、
前記多重使用データの場合に前記データを前記キャッシュに保存し、前記単独使用データの場合に前記データを前記記憶装置に保存する
情報処理方法。
Connected to the storage device,
An information processing apparatus including a cache for storing data is
The data is classified into multiple use data used by a plurality of virtual machines or single use data used by one virtual machine,
An information processing method, wherein the data is stored in the cache in the case of the multiple use data, and the data is stored in the storage device in the case of the single use data.
前記仮想マシンと、
前記仮想マシンを動作させる仮想化基盤と
を備え、
前記仮想マシンが、
前記データを、前記多重使用データ、又は、前記単独使用データに分類し、
分類した結果と前記データとを前記仮想化基盤に送信し、
前記仮想化基盤が、
前記キャッシュを含み、
前記多重使用データの場合に前記データを前記キャッシュに保存し、前記単独使用データの場合に前記データを前記記憶装置に保存する
請求項5に記載の情報処理方法。
The virtual machine;
A virtualization platform for operating the virtual machine,
The virtual machine is
Classifying the data into the multiple use data or the single use data;
Send the classification result and the data to the virtualization platform,
The virtualization infrastructure is
Including the cache;
The information processing method according to claim 5, wherein the data is stored in the cache in the case of the multiple use data, and the data is stored in the storage device in the case of the single use data.
前記仮想化基盤が、
前記キャッシュに前記データを保存した場合、他の情報処理装置に、前記データの保存を依頼し、
他の情報処理装置から前記データの保存を依頼された場合、依頼された前記データを前記キャッシュに保存する
請求項6に記載の情報処理方法。
The virtualization infrastructure is
When the data is stored in the cache, the other information processing device is requested to store the data,
The information processing method according to claim 6, wherein when requested to save the data from another information processing apparatus, the requested data is saved in the cache.
記憶装置に接続され、
データを保存するキャッシュを含むコンピュータに、
前記データを、複数の仮想マシンが使用する多重使用データ、又は、一の前記仮想マシンが使用する単独使用データに分類する処理と、
前記多重使用データの場合に前記データを前記キャッシュに保存し、前記単独使用データの場合に前記データを前記記憶装置に保存する処理と
を実行させるプログラム。
Connected to the storage device,
On the computer that contains the cache that stores the data,
A process of classifying the data into multiple use data used by a plurality of virtual machines or single use data used by one virtual machine;
A program for storing the data in the cache in the case of the multi-use data and for storing the data in the storage device in the case of the single use data.
前記仮想マシンとしての処理と、
前記仮想マシンを動作させる仮想化基盤としての処理と
を備え、
前記仮想マシンとしての処理が、
前記データを、前記多重使用データ、又は、前記単独使用データに分類する処理と、
分類した結果と前記データとを前記仮想化基盤に送信する処理と、
を含み、
前記仮想化基盤としての処理が、
前記キャッシュとしての処理と、
前記多重使用データの場合に前記データを前記キャッシュに保存し、前記単独使用データの場合に前記データを前記記憶装置に保存する処理と
を含む請求項8に記載のプログラム。
Processing as the virtual machine;
And a process as a virtualization platform for operating the virtual machine,
The process as the virtual machine is
A process of classifying the data into the multiple use data or the single use data;
Processing for transmitting the classified result and the data to the virtualization platform;
Including
The process as the virtualization platform is
Processing as the cache;
The program according to claim 8, further comprising: storing the data in the cache in the case of the multiple use data, and storing the data in the storage device in the case of the single use data.
前記仮想化基盤としての処理が、
前記キャッシュに前記データを保存した場合、他の情報処理装置に、前記データの保存を依頼する処理と、
他の情報処理装置から前記データの保存を依頼された場合、依頼された前記データを前記キャッシュに保存する
請求項9に記載のプログラム。
The process as the virtualization platform is
When the data is stored in the cache, a process for requesting the other information processing apparatus to store the data;
The program according to claim 9, wherein when requested to save the data from another information processing apparatus, the requested data is saved in the cache.
JP2018029587A 2018-02-22 2018-02-22 Information processing device, information processing system, information processing method, and program Active JP7110615B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018029587A JP7110615B2 (en) 2018-02-22 2018-02-22 Information processing device, information processing system, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018029587A JP7110615B2 (en) 2018-02-22 2018-02-22 Information processing device, information processing system, information processing method, and program

Publications (2)

Publication Number Publication Date
JP2019144932A true JP2019144932A (en) 2019-08-29
JP7110615B2 JP7110615B2 (en) 2022-08-02

Family

ID=67772485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018029587A Active JP7110615B2 (en) 2018-02-22 2018-02-22 Information processing device, information processing system, information processing method, and program

Country Status (1)

Country Link
JP (1) JP7110615B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683782A (en) * 1992-03-30 1994-03-25 Internatl Business Mach Corp <Ibm> Method of data processing control and computer system
JPH09259042A (en) * 1996-03-25 1997-10-03 Hitachi Ltd Method and device for memory management
JP2012527704A (en) * 2009-05-19 2012-11-08 ヴイエムウェア インク Shortcut I / O in virtual machine system
US20170003999A1 (en) * 2015-06-30 2017-01-05 Symantec Corporation Data access accelerator

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0683782A (en) * 1992-03-30 1994-03-25 Internatl Business Mach Corp <Ibm> Method of data processing control and computer system
JPH09259042A (en) * 1996-03-25 1997-10-03 Hitachi Ltd Method and device for memory management
JP2012527704A (en) * 2009-05-19 2012-11-08 ヴイエムウェア インク Shortcut I / O in virtual machine system
US20170003999A1 (en) * 2015-06-30 2017-01-05 Symantec Corporation Data access accelerator

Also Published As

Publication number Publication date
JP7110615B2 (en) 2022-08-02

Similar Documents

Publication Publication Date Title
US10579364B2 (en) Upgrading bundled applications in a distributed computing system
US10552337B2 (en) Memory management and device
US10496613B2 (en) Method for processing input/output request, host, server, and virtual machine
US10838829B2 (en) Method and apparatus for loading data from a mirror server and a non-transitory computer readable storage medium
WO2019237791A1 (en) Virtualized cache implementation method and physical machine
US20180307535A1 (en) Computer system and method for controlling computer
US20140012940A1 (en) Systems, Methods and Apparatus for a Virtual Machine Cache
EP3885903A1 (en) Cloud desktop upgrade method, device, cloud server, and storage medium
KR20120068454A (en) Apparatus for processing remote page fault and method thereof
US20150220481A1 (en) Arithmetic processing apparatus, information processing apparatus, and control method of arithmetic processing apparatus
JP2019057151A (en) Memory system and control method
US9021208B2 (en) Information processing device, memory management method, and computer-readable recording medium
WO2015118865A1 (en) Information processing device, information processing system, and data access method
US20190340120A1 (en) Method, apparatus for data management, and non-transitory computer-readable storage medium for storing program
WO2017126003A1 (en) Computer system including plurality of types of memory devices, and method therefor
US11675545B2 (en) Distributed storage system and storage control method
CN107832097B (en) Data loading method and device
JP6311365B2 (en) Storage area management device, storage area management method, and storage area management program
JPWO2008149657A1 (en) I / O control system, I / O control method, and I / O control program
US10430287B2 (en) Computer
JP2013015990A (en) Information processing system, information processing program and information processing method
JP7110615B2 (en) Information processing device, information processing system, information processing method, and program
US10824640B1 (en) Framework for scheduling concurrent replication cycles
US9594701B2 (en) Information processing apparatus, information processing method, and non-transitory computer readable medium
CN114185815A (en) Method, equipment and system for realizing memory key value storage

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210115

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20211020

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20211227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220204

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220704

R151 Written notification of patent or utility model registration

Ref document number: 7110615

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151