JP7378356B2 - Information processing device and program - Google Patents
Information processing device and program Download PDFInfo
- Publication number
- JP7378356B2 JP7378356B2 JP2020102617A JP2020102617A JP7378356B2 JP 7378356 B2 JP7378356 B2 JP 7378356B2 JP 2020102617 A JP2020102617 A JP 2020102617A JP 2020102617 A JP2020102617 A JP 2020102617A JP 7378356 B2 JP7378356 B2 JP 7378356B2
- Authority
- JP
- Japan
- Prior art keywords
- guest
- host
- user
- information
- operating system
- 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.)
- Active
Links
- 230000010365 information processing Effects 0.000 title claims description 72
- 238000000034 method Methods 0.000 claims description 47
- 230000026676 system process Effects 0.000 claims 1
- 230000004044 response Effects 0.000 description 39
- 230000005856 abnormality Effects 0.000 description 19
- 101100048435 Caenorhabditis elegans unc-18 gene Proteins 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Description
本発明は、情報処理装置、及びプログラムに関する。 The present invention relates to an information processing device and a program.
従来より、ホストOS上で複数の仮想マシンシステムを起動して利用できるサーバ仮想化技術が知られている(非特許文献1)。 BACKGROUND ART Server virtualization technology that allows multiple virtual machine systems to be activated and used on a host OS has been known (Non-Patent Document 1).
しかしながら、上記従来の技術では、ホストOSとゲストOSとは、互いに異なるシステムとして動作しており、ホストOSのユーザ権限の設定とゲストOSのユーザ権限の設定とは一般に異なる。 However, in the above-mentioned conventional technology, the host OS and the guest OS operate as mutually different systems, and the user authority settings of the host OS and the user authority settings of the guest OS are generally different.
このためホストOSのファイルシステム内のファイルをゲストOSが共有するように設定した場合、ゲストOS上で動作するアプリケーションは、ホストOSのユーザ権限を考慮せずにファイルシステム上のファイルにアクセスしてしまう可能性がある。 Therefore, if files in the file system of the host OS are set to be shared by the guest OS, applications running on the guest OS may access files on the file system without considering user privileges of the host OS. There is a possibility that it will be stored away.
本発明は上記実情に鑑みて為されたもので、ホストOSにおけるユーザ権限の設定を考慮した処理をゲストOSで行うことのできる情報処理装置及びプログラムを提供することを、その目的の一つとする。 The present invention has been made in view of the above-mentioned circumstances, and one of its objects is to provide an information processing device and a program that can perform processing in a guest OS that takes into account user authority settings in the host OS. .
上記従来例の問題点を解決する本発明の一態様は、情報処理装置であって、ストレージ部と、ホストオペレーティングシステムの処理を実行するとともに、仮想マシンとしての処理を実行するホスト側処理手段と、ゲストオペレーティングシステムの処理を実行するとともに、当該ホスト側処理手段が実行する仮想マシン上で、所定の処理を実行するゲスト側処理手段とを、含むコントローラ部と、を有し、前記コントローラ部は、前記ホスト側処理手段としての処理において、ホストオペレーティングシステムのユーザの認証情報と、前記ストレージ部に格納されたファイルごとの、ホストオペレーティングシステムの各ユーザのアクセス権情報とを、前記ゲスト側処理手段からアクセス可能な状態で保持し、前記ゲスト側処理手段としての処理において、アプリケーションプログラムの処理として、ユーザからのアクセスを受けて、前記ホストオペレーティングシステムが管理するユーザの認証情報を参照して当該ユーザを認証するコントローラ部であることとしたものである。 One aspect of the present invention that solves the problems of the conventional example described above is an information processing device that includes a storage unit, a host-side processing unit that executes processing of a host operating system, and processing as a virtual machine. , a controller unit that includes a guest-side processing unit that executes a process of a guest operating system and a guest-side processing unit that executes a predetermined process on a virtual machine executed by the host-side processing unit, the controller unit In the processing as the host-side processing means, the guest-side processing means uses authentication information of the user of the host operating system and access right information of each user of the host operating system for each file stored in the storage unit. In the processing as the guest-side processing means, when the application program receives access from the user, it refers to the user authentication information managed by the host operating system and authenticates the user. The controller section is designed to authenticate users.
このように構成したので、ゲストOSが、ホストOSにおけるユーザ権限の設定を考慮した処理を行うことが可能となる。 With this configuration, the guest OS can perform processing that takes into account the user authority settings in the host OS.
また前記コントローラ部のホスト側処理手段は、さらに、前記ストレージ部に格納されたファイルごとの、ホストオペレーティングシステムの前記ユーザのアクセス権情報を、前記ゲスト側処理手段からアクセス可能な状態で保持し、前記コントローラ部のホスト側処理手段は、ホストオペレーティングシステムが管理する前記ストレージ部内のファイルシステムの少なくとも一部を、前記ゲスト側処理手段からアクセス可能に設定し、前記コントローラ部のゲスト側処理手段は、ゲストオペレーティングシステム上で動作するアプリケーションプログラムの処理として、前記ホストオペレーティングシステムによりアクセス可能に設定された前記ストレージ部内のファイルシステムに保持されたファイルのアクセス権を、前記アクセス権情報に基づいて判断することとしてもよい。 Further, the host side processing means of the controller section further holds access right information of the user of the host operating system for each file stored in the storage section in a state that is accessible from the guest side processing means, The host-side processing means of the controller section sets at least a part of the file system in the storage section managed by the host operating system to be accessible from the guest-side processing means, and the guest-side processing means of the controller section: As a process of an application program running on a guest operating system, determining the access right of a file held in a file system in the storage section that is set to be accessible by the host operating system based on the access right information. You can also use it as
これにより、ゲストOSが、ホストOSにおけるユーザ権限の設定を考慮した処理を行うことが可能となる。 This allows the guest OS to perform processing that takes into account the user authority settings in the host OS.
さらに前記コントローラ部のホスト側処理手段は、ホストオペレーティングシステムが管理する前記ストレージ部内のファイルシステムの少なくとも一部を、前記ゲスト側処理手段からNFSマウントによりアクセス可能に設定し、前記コントローラ部のゲスト側処理手段は、前記アクセス可能に設定された、前記ストレージ部内のホストオペレーティングシステムのファイルシステムの少なくとも一部をNFSマウントして、ゲストオペレーティングシステム上で動作するアプリケーションプログラムの利用に供することとしてもよい。 Furthermore, the host-side processing means of the controller section sets at least a part of the file system in the storage section managed by the host operating system to be accessible from the guest-side processing means by NFS mounting, and The processing means may NFS mount at least a part of the file system of the host operating system in the storage section that is set to be accessible, and make it available for use by an application program running on the guest operating system.
これによると、ゲストOSは、ホストOSの管理下にあるファイルシステムの少なくとも一部に対して、ネットワークを介してアクセス可能となる。 According to this, the guest OS can access at least part of the file system under the control of the host OS via the network.
さらに前記コントローラ部のゲスト側処理手段により実行される、ゲストオペレーティングシステム上で動作するアプリケーションプログラムには、前記ホストオペレーティングシステムによりアクセス可能に設定された前記ストレージ部内のファイルシステムに保持されたファイルを検索する検索アプリケーションを含んでもよい。 Furthermore, an application program running on a guest operating system executed by the guest side processing means of the controller section searches for files held in a file system in the storage section that is set to be accessible by the host operating system. It may also include a search application for searching.
このようにすれば、ホストOS上で動作しない検索アプリケーションを用いて、ホストOSが管理するファイルシステム上のファイルを、ホストOSにおけるユーザ権限の設定を考慮しつつ検索することが可能となる。 In this way, it becomes possible to use a search application that does not run on the host OS to search for files on the file system managed by the host OS while taking into consideration the user authority settings on the host OS.
また本発明の別の態様は、ストレージ部とコントローラ部とを備えた情報処理装置の制御方法であって、前記コントローラ部が、ホストオペレーティングシステムの処理を実行するとともに、仮想マシンとしての処理を実行するホスト側処理工程と、ゲストオペレーティングシステムの処理を実行するとともに、当該ホスト側処理工程で実行する仮想マシン上で、所定の処理を実行するゲスト側処理工程とを実行し、前記コントローラ部は、前記ホスト側処理工程において、ホストオペレーティングシステムのユーザの認証情報と、前記ストレージ部に格納されたファイルごとの、ホストオペレーティングシステムの各ユーザのアクセス権情報とを、前記ゲスト側処理工程でアクセス可能な状態で保持し、前記ゲスト側処理工程において、アプリケーションプログラムの処理として、ユーザからのアクセスを受けて、前記ホストオペレーティングシステムが管理するユーザの認証情報を参照して当該ユーザを認証することとしたものである。 Another aspect of the present invention is a method for controlling an information processing apparatus including a storage unit and a controller unit, wherein the controller unit executes processing of a host operating system and also executes processing as a virtual machine. and a guest side processing step that executes a process of a guest operating system and a predetermined process on a virtual machine executed in the host side processing step, and the controller unit: In the host side processing step, the authentication information of the user of the host operating system and the access right information of each user of the host operating system for each file stored in the storage unit are made accessible in the guest side processing step. state, and in the guest-side processing step, as a process of the application program, upon receiving access from a user, the user is authenticated by referring to the user authentication information managed by the host operating system. It is.
さらに本発明の別の態様はプログラムであって、ストレージ部と、コントローラ部とを備えるコンピュータを、前記コントローラ部が、ホストオペレーティングシステムの処理を実行するとともに、仮想マシンとしての処理を実行するホスト側処理手段と、ゲストオペレーティングシステムの処理を実行するとともに、当該ホスト側処理手段が実行する仮想マシン上で、所定の処理を実行するゲスト側処理手段と、として機能させ、前記ホスト側処理手段として機能させる際に、前記ホストオペレーティングシステムのユーザの認証情報と、前記ストレージ部に格納されたファイルごとの、ホストオペレーティングシステムの各ユーザのアクセス権情報とを、前記ゲスト側処理手段からアクセス可能な状態で保持させ、前記ゲスト側処理手段として機能させる際に、アプリケーションプログラムの処理として、ユーザからのアクセスを受けて、前記ホストオペレーティングシステムが管理するユーザの認証情報を参照して当該ユーザを認証させることとしたものである。 Furthermore, another aspect of the present invention is a program, in which a computer including a storage unit and a controller unit is installed on a host side where the controller unit executes processing of a host operating system and also executes processing as a virtual machine. and a guest-side processing means that executes processing of a guest operating system and executes predetermined processing on a virtual machine executed by the host-side processing means, and functions as the host-side processing means. At the time of the process, the authentication information of the user of the host operating system and the access right information of each user of the host operating system for each file stored in the storage unit are made accessible to the guest side processing means. When the computer is stored and functions as the guest-side processing means, the process of the application program is to receive access from a user and authenticate the user by referring to user authentication information managed by the host operating system. This is what I did.
本発明によると、ゲストOSが、ホストOSにおけるユーザ権限の設定を考慮した処理を行うことが可能となる。 According to the present invention, it becomes possible for the guest OS to perform processing that takes into consideration the settings of user authority in the host OS.
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る情報処理装置1は、図1に例示するように、制御部11と、主記憶部12と、インタフェース部13と、ストレージ部14と、ネットワーク通信部15とを含んで構成される。ここでは制御部11,主記憶部12,インタフェース部(I/F)13,及びネットワーク通信部15が本発明のコントローラ部に相当する。
Embodiments of the present invention will be described with reference to the drawings. The information processing device 1 according to the embodiment of the present invention includes a
制御部11は、CPU等のプログラム制御デバイスであり、主記憶部12に格納されたプログラムに従って動作する。本実施の形態の一例では、この制御部11は、第1のオペレーティングシステム(以下、ホストOSと呼ぶ)としての動作を行うとともに、この第1のオペレーティングシステム上で、仮想マシンシステム(VM)としての処理を実行している。さらに制御部11は、仮想マシンシステム上で、第2のオペレーティングシステム(以下、ゲストOSと呼ぶ)を動作させている。
The
制御部11は、ホストOSと、ゲストOSとのそれぞれのオペレーティングシステム上で、それぞれ対応するアプリケーションプログラムの処理を実行している。この制御部11の処理の具体的な内容については後に述べる。
The
主記憶部12は、メモリデバイス等であり、制御部11によって実行されるプログラムを格納する。このプログラムは、ストレージ部14に設定されたシステム領域内から読み出されて主記憶部12に格納される。またこの主記憶部12は、制御部11のワークメモリとしても動作する。
The
インタフェース部13は、制御部11と、ストレージ部14との間に介在し、制御部11から入力される指示に従い、ストレージ部14に対してデータの書き込み、あるいはストレージ部14からのデータの読み出しの処理を実行する。
The
ストレージ部14は、ハードディスクドライブ(HDD)やSSD(Solid State Drive)等のディスクデバイスであり、種々のデータを保持する。本実施の形態の一例では、このストレージ部14は、その記憶領域が、プログラム記憶領域14aと、システム領域14bと、ユーザデータ領域14cとに分けられている。
The
このうちプログラム記憶領域14aには、ホストOSのプログラム及び、ホストOS上で実行されるアプリケーションプログラム等が格納される。
Among these, the
また、システム領域14bには、ゲストOS用のファイルシステムのイメージファイルや、そのバックアップ、及び、ユーザデータ領域14c内の各ファイルやディレクトリへのユーザごとのアクセス権の情報やユーザの登録認証情報等が格納される。本実施の形態において特徴的なことの一つは、ゲストOS用のファイルシステムのイメージファイルのインストール用イメージ(初期イメージ)のデータをバックアップとして、仮想マシンシステムが利用するファイルシステムのイメージファイルとは別に保持していることである。
The
ユーザデータ領域14cには、少なくとも一つのディレクトリ(以下、便宜的に共有ディレクトリと呼ぶ)が格納され、各共有ディレクトリ以下にユーザデータであるファイルが格納される。
The
ネットワーク通信部15は、複数のネットワークインタフェースLAN1,LAN2…(以下、区別の必要がないときには符号をLANと省略して表記する)を含む。このネットワーク通信部15は、いずれかのネットワークインタフェースLANを介してネットワークに接続され、制御部11から入力される指示に従って、ネットワーク上のコンピュータ装置(自己自身を含む)との間で情報を送受する。
The
本実施の形態の一例では、このネットワーク通信部15は、3つのネットワークインタフェースLAN1,LAN2,LAN3を備えるものとする。ここでLAN1はゲストOSによってIPアドレス等、通信パラメータの設定が行われ、ゲストOSによって制御されるものとする。また、LAN2,LAN3は、ホストOSによってIPアドレス等、通信パラメータの設定が行われ、ホストOSによって制御されるものとする。
In one example of this embodiment, the
つまり、ゲストOS上のアプリケーションプログラム等は、ネットワークインタフェースLAN1を介してネットワーク上のコンピュータ装置との間で情報を送受する。本実施の形態の例では、ゲストOSは、その内部に論理的に仮想ネットワークインタフェース(仮想NIC)を設定する。そして仮想マシンシステムは、この仮想ネットワークインタフェースを介して送信するよう指示されたデータを、ネットワークインタフェースLAN1へパススルー(そのまま出力)する。また仮想マシンシステムは、ネットワークインタフェースLAN1に到来したデータを、ゲストOSが設定した仮想ネットワークインタフェースにパススルーする。 That is, application programs and the like on the guest OS send and receive information to and from computer devices on the network via the network interface LAN1. In the example of this embodiment, the guest OS logically sets a virtual network interface (virtual NIC) therein. The virtual machine system then passes through (outputs as is) the data instructed to be transmitted via this virtual network interface to the network interface LAN1. Furthermore, the virtual machine system passes through data arriving at the network interface LAN1 to the virtual network interface set by the guest OS.
また、この例では、ホストOS上のアプリケーションプログラム等は、ネットワークインタフェースLAN2またはLAN3を介してネットワーク上のコンピュータ装置との間で情報を送受する。 Further, in this example, application programs and the like on the host OS send and receive information to and from computer devices on the network via the network interface LAN2 or LAN3.
次にここで、制御部11の動作について説明する。本実施の形態の制御部11は、機能的には、図2に例示するように、ホストOSを実行してホストOSとしての動作を行うとともに、ホストOS上でのアプリケーションプログラムに従って動作を行うホスト側処理部20と、ゲストOSを実行してゲストOSとしての動作を行うとともに、ゲストOS上でのアプリケーションプログラムに従って動作を行うゲスト側処理部30とを含む。
Next, the operation of the
またホスト側処理部20は、ファイル管理部21と、仮想マシンシステム部22と、ゲストOS管理部23と、を機能的に含む。ゲスト側処理部30は、ファイルシステム共有処理部31と、ファイル検索部32と、応答処理部33と、を機能的に含んで構成される。
Further, the host-
ファイル管理部21は、ネットワーク上の他の情報処理装置(パーソナルコンピュータ等)から、そのユーザの指示によるアクセスの要求を受け入れる。ファイル管理部21は、当該アクセスの要求元である情報処理装置のユーザを認証する。この認証は、当該ユーザのユーザ名やパスワード等の認証情報を上記情報処理装置から受けて、予めストレージ部14のシステム領域14b内に格納されている登録認証情報に記録されているユーザ名、パスワードと比較するなどの従来知られた方法で行われてよい。
The
ファイル管理部21は、認証したユーザが操作する上記他の情報処理装置から、ストレージ部14のユーザデータ領域14cへのユーザデータの書き込みや、ユーザデータ領域14cに格納されたユーザデータの読み出しの要求を受け入れる。
The
本実施の形態の一例では、ユーザデータ領域14cには共有ディレクトリが生成されている。またシステム領域14bには、共有ディレクトリごとに、共有ディレクトリを特定する情報と、当該共有ディレクトリ内のユーザデータ(ファイル)に関する各ユーザの読み出し可否、及び書き込み可否を表す情報とを関連付けたアクセス権情報が格納されている。またここで共有ディレクトリを特定する情報は、共有ディレクトリのパス名でよい。
In an example of this embodiment, a shared directory is created in the
ファイル管理部21は、認証したユーザが操作する上記他の情報処理装置からユーザデータ(種々のファイル)とその格納先である共有ディレクトリを特定する情報とを受け入れたときには、このアクセス権情報を参照して、上記認証したユーザが上記情報で特定される格納先の共有ディレクトリ(格納先)に書き込み可能となっているか否かを調べる。そして当該ユーザが格納先へ書き込み可能と設定されているときに、ファイル管理部21は、上記受け入れたユーザデータを、格納先の共有ディレクトリに格納する。
When the
またファイル管理部21は、認証したユーザが操作する上記他の情報処理装置からユーザデータを特定する情報(共有ディレクトリの指定を含むパス名でよい)を受け入れたときには、このアクセス権情報を参照して、上記認証したユーザが上記情報で特定される共有ディレクトリ(読み出し元)からデータを読み出し可能となっているか否かを調べる。そして当該ユーザが読み出し元から読み出し可能と設定されているときに、ファイル管理部21は、上記受け入れた情報で特定されるユーザデータを、読み出し元の共有ディレクトリから読み出して、上記他の情報処理装置宛に、ネットワークを介して送出する。
Further, when the
つまり、本実施の形態の一例では、各ファイルに対するアクセス権は、当該ファイルを内包する共有ディレクトリのアクセス権情報に基づいて定められるものとしている。 That is, in one example of this embodiment, the access right to each file is determined based on the access right information of the shared directory containing the file.
また、このファイル管理部21は、管理者として設定されたユーザによる上記アクセス権情報の書き換えや、ユーザデータの移動や削除等の処理も行うが、このファイル管理部21は、いわゆるNAS(Network Attached Storage)としての動作を実現するものであり、広く知られたものであるので、ここでの詳細な説明は省略する。
The
仮想マシンシステム部22は、例えばKVM(Kernel-based Virtual Machine)/QEMUなど、ホストOS上で動作する仮想マシンシステムプログラムを用いて実現される。この仮想マシンシステム部22は、仮想的なCPU、仮想的なメモリや仮想的な入出力インタフェース、並びに、仮想的なネットワークインタフェース(仮想NIC)としての機能を提供し、この上でゲストOSを動作させる。
The virtual
本実施の形態の例では、仮想マシンシステム部22は、仮想的なファイルシステム(VirtFSなど)を設定して、情報処理装置1のストレージ部14のうち、システム領域14bと、ユーザデータ領域14cとへの、ゲストOSからのアクセスを実現する。これによりホスト側処理部20は、ホストOSにおけるユーザの認証情報(ユーザ名等)と、ストレージ部14のユーザデータ領域14cに格納されたファイルごとの、ホストOS側で設定した各ユーザのアクセス権の情報とを、ゲスト側処理部30で実行されるゲストOSからアクセス可能な状態とする。
In the example of the present embodiment, the virtual
また、仮想マシンシステム部22は、システム領域14b内に格納されている仮想マシンシステム用のファイルシステムイメージのファイルを、仮想マシンシステムに論理的に接続された仮想的なディスクデバイス内のファイルシステムとしてマウントし、当該ファイルシステムイメージに記録されているゲストOSのプログラムを起動する。また、このファイルシステムイメージには、ゲストOS上で実行されるアプリケーションプログラム等のデータも記録される。
Additionally, the virtual
また本実施の形態の例では、仮想マシンシステム部22は、論理的な仮想ネットワークインタフェースを少なくとも一つ提供する。
Further, in the example of this embodiment, the virtual
ゲストOS管理部23は、ゲスト側処理部30に対して、所定のタイミングごと(例えば定期的なタイミングごと)に繰り返して状態情報の要求を送出する。またこのゲストOS管理部23は、ゲスト側処理部30から当該送出した状態情報の要求に対する応答を待機する。ゲストOS管理部23は、応答を待機している時間を計時し、この時間が予め定めた時間しきい値を超えたときに、状態情報が得られなかったものとして、後に説明する異常時処理を実行する。
The guest
またこのゲストOS管理部23は、上記時間しきい値を超える前にゲスト側処理部30から状態情報の要求に対する応答を受け入れると、当該応答の内容が異常を表すものであるか否かを判断する。ここでゲストOS管理部23は、当該応答の内容が異常を表すものでなければ、また次のタイミングで状態情報の要求を送出するまで待機する。一方、ゲストOS管理部23は、上記受け入れた応答の内容が異常を表すものであれば、次の異常時処理を実行する。
Furthermore, if the guest
ゲストOS管理部23は、状態情報の要求に応答して状態情報が得られなかった場合、あるいは、得られた状態情報が異常を表すものである場合に、異常時処理として、次の処理を実行する。
If no status information is obtained in response to a request for status information, or if the acquired status information indicates an abnormality, the guest
すなわちゲストOS管理部23は、ゲスト側処理部30に対して、ゲストOSの再起動を実行するよう指示する。この指示は例えばゲストOSに対するリブートの指示として行うことができる。
That is, the guest
ゲストOS管理部23は、再起動を実行するよう指示した後も、所定のタイミングごと(例えば定期的なタイミングごと)に繰り返して状態情報の要求を送出する。そして、ゲストOS管理部23は、再起動を実行するよう指示した後、予め定めた時間(再起動待機時間)が経過した後も、状態情報の要求に応答して状態情報が得られなかった場合、あるいは、得られた状態情報が異常を表すものである場合には、ゲストOSの初期化を行う。
The guest
具体的にゲストOS管理部23は、ゲストOSの初期化を行うときには、仮想マシンシステム部22の動作を停止させる。次にゲストOS管理部23は、システム領域14b内に格納されている仮想マシンシステム用のファイルシステムイメージのファイルを削除して、システム領域14b内に格納されている仮想マシンシステム用のファイルシステムイメージのバックアップ(初期イメージ)のファイルを複写する。この複写して得られたファイルは、新たな仮想マシンシステム用のファイルシステムイメージのファイルとなる。
Specifically, the guest
つまり、これによりゲストOS管理部23は、ゲストOSを含む仮想マシンシステムの再インストールを実行する。
In other words, the guest
そして、ゲストOS管理部23は、改めて仮想マシンシステム部22を起動する。この場合仮想マシンシステム部22は、新たに初期イメージとなった仮想マシンシステム用のファイルシステムイメージを用いて再起動することとなる。
Then, the guest
ゲスト側処理部30のファイルシステム共有処理部31は、ホストOS側上で動作する仮想マシンシステム部22が提供する仮想的なファイルシステム(例えばVirtFS)を介してホストOSの管理下にあるストレージ部14のファイルシステムを、ゲストOSのファイルシステムとしてマウント(アクセス可能な状態と)する。
The file system
本実施の形態では、このファイルシステム共有処理部31は、ストレージ部14内のシステム領域14b、及びユーザデータ領域14cをゲストOS側にマウントすることとする。
In this embodiment, the file system
なお本実施の形態では、ホストOSにおけるユーザ設定は、ゲストOSにおけるユーザ設定と同一としていないため、ホストOSのユーザのアクセス権は、ゲストOS側では無視することして設定する。この設定下では、ゲストOS側からは、任意のユーザアカウントの権限で動作するコマンドが、ホストOS側のストレージ部14のシステム領域14b、及びユーザデータ領域14c内のすべてのファイルに対してアクセス可能な状態となる。
Note that in this embodiment, the user settings on the host OS are not the same as the user settings on the guest OS, so the access rights of the host OS user are set to be ignored on the guest OS side. Under this setting, from the guest OS side, commands that operate with the authority of any user account can access all files in the
またこのファイルシステム共有処理部31は、後に説明するファイル検索部32(アプリケーションプログラム)から、ファイルの検索を要求したユーザを特定する情報(ユーザ名)と、そのユーザのパスワードの情報とを含む認証情報の入力を受け入れる。
The file system
ファイルシステム共有処理部31は、ストレージ部14内のシステム領域14bに格納されているホストOSの登録認証情報を参照し、当該登録認証情報に記録されているユーザ名、パスワードと、上記ファイル検索部32から受け入れたユーザ名及びパスワードとを比較して、ファイル検索部32のユーザを認証する。
The file system
ここで認証に成功したときには、ファイルシステム共有処理部31は、ストレージ部14内のシステム領域14bに格納されている、ホストOSによって管理されているアクセス権の情報を参照して、認証したユーザに関するアクセス権情報を読み出す。
When the authentication is successful here, the file system
ファイルシステム共有処理部31は、当該読み出したアクセス権情報に基づいて、認証したユーザに対して読み出しが許可されている共有ディレクトリを特定する情報をファイル検索部32に出力する。そしてファイルシステム共有処理部31は、当該情報で特定される共有ディレクトリ下のファイルのみを検索対象とするよう、ファイル検索部32に対して指示する。
Based on the read access right information, the file system
またこのファイルシステム共有処理部31は、ファイル検索部32のユーザの認証に失敗したときには、ファイル検索部32に対して認証が失敗した旨の情報を出力する。あるいは、ファイル検索部32のユーザの認証に失敗したときには、ファイルシステム共有処理部31は、ゲストユーザ(ユーザ名の設定のないユーザ)に対してアクセスが許可されている共有ディレクトリを特定する情報を、ファイル検索部32に対して出力する。
Further, when the file system
ファイル検索部32は、仮想マシンシステム部22が提供している仮想ネットワークインタフェースを介してネットワーク上のユーザから、ストレージ部14のユーザデータ領域14c内のユーザデータの検索の要求を受け入れる。ファイル検索部32は、当該検索の要求を行ったユーザに対してユーザ名とパスワードとの入力を求め、入力されたユーザ名及びパスワードを、ファイルシステム共有処理部31に出力する。
The
ファイル検索部32は、ファイルシステム共有処理部31から検索の対象となるファイルを内包する共有ディレクトリを特定する情報の入力を受けると、検索の要求を行ったユーザに対して検索のキーとなる情報の入力を求める。なお、ファイル検索部32は、ウェブページをユーザに対して提示することで、これらの情報の入力を求めることとすればよい。
When the
ユーザが検索のキーとなる情報を入力すると、ファイル検索部32は、当該検索のキーとなる情報を用いて、ファイルシステム共有処理部31から入力される情報で特定される、ストレージ部14のユーザデータ領域14c内にある共有ディレクトリ下のファイルを検索する。そしてファイル検索部32は、当該検索の結果を、検索の要求を行ったユーザに対して提示する。
When the user inputs search key information, the
この検索の処理は、例えばアパッチソフトウエア財団により提供されているアパッチ・ソーラー(Apache Solr(商標))等の検索システムを用いて行われる処理と同様のものであってもよいので、ここでの詳しい説明は省略する。 This search process may be similar to the process performed using a search system such as Apache Solr (trademark) provided by the Apache Software Foundation, so it will not be described here. Detailed explanation will be omitted.
このファイル検索部32等のアプリケーションプログラムは、その処理のために用いる、ファイルのインデックス情報や動作の設定情報などの種々の情報(以下、プリファレンス情報と呼ぶ)を生成するが、本実施の形態では、このファイル検索部32等のアプリケーションプログラムは、このプリファレンス情報を、ホストOS側上で動作する仮想マシンシステム部22が提供する仮想的なファイルシステムを介してホストOSストレージ部14のシステム領域14bに直接的に書き込むこととする。これにより、上述したゲストOSの初期化が行われた場合にも、ファイル検索部32等のアプリケーションプログラム等の動作に必要なプリファレンス情報が、初期化前の状態で維持されることとなる。
The application program such as the
なお、ここでのプリファレンス情報には上述のような情報のほか、アプリケーションプログラムが生成するデータ等種々のものを含んでよい。例えば、アプリケーションプログラムが生成する文書、画像データ、音声データなどのメディアデータ、計算結果や機械的な学習データなどの演算により得られる種々のデータ、その他のデータを含んでもよい。 Note that the preference information here may include various types of information, such as data generated by an application program, in addition to the information described above. For example, it may include documents generated by application programs, media data such as image data and audio data, various data obtained by calculations such as calculation results and mechanical learning data, and other data.
また本実施の形態では、このファイル検索部32は、ファイルシステム共有処理部31から認証が失敗した旨の情報が入力されたときには、検索の要求を行ったユーザに対して、入力した認証情報が誤っている旨の情報を提示し、再度、ユーザ名とパスワードとの入力を求める。
Further, in this embodiment, when the file system
応答処理部33は、ホスト側処理部20のゲストOS管理部23から状態情報の要求を受け入れて、当該要求に応答して状態情報を送出するものである。本実施の形態の一例では、この応答処理部33は、HTTP(Hyper-Text Transfer Protocol)により状態情報の要求を受け入れ、また、当該要求に応答して状態情報を送出する。この場合、応答処理部33は、例えば仮想ネットワークインタフェースと、ネットワークインタフェースLAN1と、ネットワークと、ネットワークインタフェースLAN2(またはLAN3)とを介してホスト側処理部20のゲストOS管理部23との間で要求や応答の送受を行う。
The
この応答処理部33は、ホスト側処理部20のゲストOS管理部23から状態情報の要求を受け入れると、ファイル検索部32等予め定められたアプリケーションプログラムの動作の状況(プロセスの状況)を調べる。
Upon accepting a request for status information from the guest
応答処理部33は、当該ファイル検索部32等予め定められたアプリケーションプログラムの動作の状況が、異常を示すものである場合(例えばプロセスが動作していない、メモリ消費量が予め定めたしきい値を超えている、プロセスの状態が終了後の所定処理を待機した状態のままであるなど)に、異常である旨の状態情報を、ホスト側処理部20のゲストOS管理部23に対して送出する。
When the operating status of a predetermined application program such as the
また応答処理部33は、ファイル検索部32等予め定められたアプリケーションプログラムの動作の状況が、異常を示すものでなければ、正常である旨の状態情報を、ホスト側処理部20のゲストOS管理部23に対して送出する。
Further, if the operating status of a predetermined application program such as the
なお、そもそもゲストOSが正常に動作していない場合や、応答処理部33が起動していない(異常終了している)などの場合には、この応答処理部33は上記要求に対する応答を送出できないこととなる。
Note that if the guest OS is not operating normally in the first place, or if the
[動作]
本実施の形態の情報処理装置1は、基本的に以上の構成を備えており、次のように動作する。ここでの例では、情報処理装置1は、ストレージ部14内にユーザのユーザデータを格納している。またこの情報処理装置1は、ホストOSを動作させるとともに、このホストOS上で、さらに仮想マシンシステムを動作させ、この仮想マシンシステム内でゲストOSを動作させる。
[motion]
The information processing device 1 of this embodiment basically has the above configuration and operates as follows. In this example, the information processing device 1 stores user data of the user in the
情報処理装置1は、ホストOS上で動作するプログラムによりNASとして動作し、ネットワークを介して、ユーザが利用するパーソナルコンピュータPCから、ユーザデータの書き込み(格納)指示や、ストレージ部14内に格納したユーザデータの読み出し指示を受け入れる。
The information processing device 1 operates as a NAS by a program running on the host OS, and receives user data write (storage) instructions from a personal computer PC used by the user via the network, and the information stored in the
ここで情報処理装置1のネットワークインタフェースLAN1は、仮想マシンシステム上で動作するゲストOSがネットワーク上のPC等と通信をするためのインタフェースとして設定される。また、ネットワークインタフェースLAN2,3は、ホストOSがネットワーク上のPC等と通信をするためのインタフェースとして設定される。 Here, the network interface LAN1 of the information processing device 1 is set as an interface for a guest OS running on the virtual machine system to communicate with a PC or the like on the network. Further, the network interfaces LAN2 and LAN3 are set as interfaces for the host OS to communicate with PCs and the like on the network.
また以下の例では、ストレージ部14は、その記憶領域が、プログラム記憶領域14aと、システム領域14bと、ユーザデータ領域14cとに分けられているものとする。またそのシステム領域14bには、ユーザの認証をするための登録認証情報と、ユーザごとのユーザデータ領域14c内の共有ディレクトリへのアクセス権を記録したアクセス権情報とが格納されているものとする。
In the following example, it is assumed that the storage area of the
さらに本実施の形態では、このシステム領域14bには、仮想マシンシステム用のファイルシステムイメージのファイルが格納される。このファイルに記録されている仮想的なファイルシステムには、ゲストOSやゲストOS上で動作するアプリケーションプログラム、及びそれらが利用する種々のデータが格納されている。
Furthermore, in this embodiment, the
またシステム領域14bには、仮想マシンシステム用のファイルシステムイメージのバックアップ(初期イメージ)が格納されているものとする。この初期イメージは、ゲストOSや、その上で動作するアプリケーション等をインストールした直後の状態のイメージに相当するものであり、予め動作が保証された状態にあるものとする。
It is also assumed that a backup (initial image) of a file system image for the virtual machine system is stored in the
情報処理装置1は、ネットワークインタフェースLAN2またはLAN3を介して、ユーザが利用するパーソナルコンピュータPCからユーザデータに係る書き込みあるいは読み出しの指示を受け入れる。情報処理装置1は、当該アクセスの要求元であるPCのユーザを、ストレージ部14のシステム領域14bに格納された登録認証情報を用いて認証する。
The information processing device 1 receives instructions for writing or reading user data from a personal computer PC used by a user via a network interface LAN2 or LAN3. The information processing device 1 authenticates the user of the PC that is the source of the access request using the registered authentication information stored in the
情報処理装置1は、ユーザの認証に成功すると、当該ユーザから受け入れた指示を参照する。ここでユーザから受け入れた指示が例えば格納先の共有ディレクトリを特定した、ユーザデータの格納指示であった場合、当該特定された共有ディレクトリに対して、当該ユーザが書き込みの権限を有しているか否かを、当該ユーザに対して予め定められているアクセス権情報に基づいて判断する。そして当該ユーザが上記特定された共有ディレクトリへ書き込み可能と設定されているときに、情報処理装置1は、上記受け入れたユーザデータを、格納先として特定された共有ディレクトリに格納する。 When the information processing device 1 successfully authenticates the user, it refers to the instruction accepted from the user. If the instruction accepted from the user here is, for example, an instruction to store user data that specifies a shared directory as a storage destination, whether or not the user has write permission to the specified shared directory. This is determined based on access right information predetermined for the user. When the user is set to be able to write to the specified shared directory, the information processing device 1 stores the accepted user data in the specified shared directory as a storage destination.
また情報処理装置1は、認証に成功したユーザから受け入れた指示がユーザデータを特定する情報(共有ディレクトリの指定を含むパス名でよい)と、当該情報で特定されるユーザデータを読み出す指示であったときには、当該ユーザに対して予め定められているアクセス権情報を参照して、上記認証したユーザが上記情報で特定される共有ディレクトリ(読み出し元)からデータを読み出し可能となっているか否かを調べる。そして当該ユーザが読み出し元から読み出し可能と設定されているときに、情報処理装置1は、上記受け入れた情報で特定されるユーザデータを、読み出し元の共有ディレクトリから読み出して、ユーザの使用するPC宛に、ネットワークを介して送出する。 Furthermore, the information processing device 1 determines whether the instruction accepted from the user who has successfully authenticated is information for identifying user data (which may be a path name including a shared directory specification) and an instruction to read the user data specified by the information. When the above-mentioned authenticated user is able to read data from the shared directory (read source) specified by the above-mentioned information by referring to the access right information predetermined for the user, investigate. Then, when the user is set to be able to read from the read source, the information processing device 1 reads the user data specified by the accepted information from the read source shared directory and sends it to the PC used by the user. , and then send it out over the network.
一方、情報処理装置1は、ゲストOS側の処理として、例えばファイル検索のアプリケーションプログラムを動作させているものとする。このような例は、ホストOSに対応するがゲストOS上では動作しないNAS機能のためのアプリケーションプログラムと、ゲストOS上では動作するがホストOS上では動作しないファイル検索アプリケーションとを一つの情報処理装置1上で動作させる場合が相当する。 On the other hand, it is assumed that the information processing device 1 is running, for example, a file search application program as a process on the guest OS side. In such an example, an application program for the NAS function that is compatible with the host OS but does not run on the guest OS, and a file search application that runs on the guest OS but not on the host OS are combined into one information processing device. This corresponds to the case where it is operated on 1.
ゲストOSは、ホストOS上で動作する仮想マシンシステム上で動作し、ホストOSにより管理されているストレージ部14内のシステム領域14b、及びユーザデータ領域14cをゲストOS側にマウントする。既に述べたように、このときホストOSにおけるユーザ設定は、ゲストOSにおけるユーザ設定と同一としていないため、ホストOSのユーザのアクセス権は、ゲストOS側では無視することして設定する。従ってゲストOS上の任意のユーザアカウントの権限で動作するコマンドからは、ホストOS側のストレージ部14のシステム領域14b、及びユーザデータ領域14c内のすべてのファイルに対してアクセス可能な状態となる。
The guest OS operates on a virtual machine system running on the host OS, and mounts the
ファイル検索など、ホストOSの管理下にあるユーザデータ領域14c等に格納されたファイルに対し、ゲストOS上のアプリケーションプログラムからアクセスする場合、情報処理装置1は、図3に例示するように動作する。
When an application program on the guest OS accesses a file stored in the
すなわち情報処理装置1は、ゲストOSがネットワーク上のPC等との通信に用いているネットワークインタフェースLAN1を介して、ユーザのPCから、例えばストレージ部14のユーザデータ領域14c内のユーザデータの検索の要求を受け入れる(S1)。
That is, the information processing device 1 performs a search for user data in the
情報処理装置1は、当該検索の要求を行ったユーザに対してユーザ名とパスワードとの入力を求め(S2)、ユーザ名及びパスワード等の認証情報が入力されると、当該認証情報と、ストレージ部14内のシステム領域14bに格納されているホストOSの登録認証情報とを比較して、ユーザを認証する(S3)。以下では、ここで認証に成功したものとする。
The information processing device 1 requests the user who made the search request to input a user name and password (S2), and when authentication information such as a user name and password is input, the information processing device 1 stores the authentication information and the storage. The user is authenticated by comparing the registered authentication information of the host OS stored in the
情報処理装置1は、ストレージ部14内のシステム領域14bに格納されている、ホストOSによって管理されているアクセス権の情報を参照して、認証したユーザに関するアクセス権情報を読み出す(S4)。
The information processing device 1 refers to the access right information managed by the host OS, which is stored in the
そして情報処理装置1は、当該読み出したアクセス権情報に基づいて、認証したユーザに対して読み出しが許可されている、ユーザデータ領域14c内の共有ディレクトリを特定する(S5)。そして情報処理装置1は、ステップS5で特定した共有ディレクトリ内のファイルを検索の対象として設定する(S6)。
Based on the read access right information, the information processing device 1 identifies a shared directory in the
また情報処理装置1は、検索の要求を行ったユーザに対して検索のキーとなる情報の入力を求め(S7)、ユーザが検索のキーとなる情報を入力すると(S8)、当該検索のキーとなる情報を用いて、ステップS6で検索の対象としたファイルのうちから、入力された検索のキーに合致するファイルを検索する(検索処理:S9)。そして情報処理装置1は、ステップS9における検索処理の結果を、検索の要求を行ったユーザに対して送出して提示する(S10)。 In addition, the information processing device 1 requests the user who made the search request to input information that will be the key for the search (S7), and when the user inputs the information that will be the key for the search (S8), the information processing device 1 Using the information, a file matching the input search key is searched from among the files searched in step S6 (search process: S9). The information processing device 1 then sends and presents the results of the search process in step S9 to the user who made the search request (S10).
本実施の形態のこの例によると、ゲストOS側のアプリケーションプログラムが、ホストOS側のユーザの認証情報、及び、ファイルやディレクトリに対してホストOSが利用するアクセス権の設定情報を参照して、当該認証情報により認証されたユーザに対し、当該参照した設定情報で定められるアクセス権の範囲で処理を実行するので、ホストOSのユーザ権限の設定とゲストOSのユーザ権限の設定とが異なっていても、ゲストOS上で動作するアプリケーションプログラムが、ホストOSのユーザ権限を考慮してファイルシステム上のファイルにアクセスできるようになる。 According to this example of the present embodiment, an application program on the guest OS side refers to user authentication information on the host OS side and setting information of access rights used by the host OS for files and directories. Since the process is executed for the user authenticated using the relevant authentication information within the scope of the access rights defined by the referenced setting information, the user rights settings of the host OS and the user rights of the guest OS may differ. Also, application programs running on the guest OS can access files on the file system while taking into account the user privileges of the host OS.
また本実施の形態の情報処理装置1は、ホストOS上のアプリケーションプログラムの動作として、ゲストOSの動作状況を監視し、ゲストOS上のアプリケーションプログラムによって提供されるサービスを維持する。 Furthermore, the information processing device 1 of this embodiment monitors the operating status of the guest OS as the operation of the application program on the host OS, and maintains the service provided by the application program on the guest OS.
この目的のため、ゲストOS上では、ホストOS側から状態情報の要求を受け入れて、当該要求に応答して状態情報を送出する処理を実行する。本実施の形態の一例では、この状態情報の要求は、ホストOS側から、ネットワークを介してゲストOS側へ送出され、ゲストOS側では、当該要求への応答を、ネットワークを介してホストOS側へ送出する。またここでは、この要求や応答の送受を、HTTPなど広く知られたプロトコルを用いて行う。 For this purpose, the guest OS executes a process of accepting a request for status information from the host OS and sending the status information in response to the request. In one example of this embodiment, a request for this status information is sent from the host OS side to the guest OS side via the network, and the guest OS side sends a response to the request to the host OS side via the network. Send to. Here, the requests and responses are sent and received using a widely known protocol such as HTTP.
情報処理装置1は、ゲストOS側の処理として、ホストOS側から状態情報の要求を受信するごとに、ファイル検索のアプリケーションプログラム等、予め定められたアプリケーションプログラムのプロセスの状況を調べる。そして情報処理装置1は、当該プロセスの状況が、異常を示すものである場合には、異常である旨の状態情報を、また、当該プロセスの状況が、異常を示すものでなければ、正常である旨の状態情報を、ホストOS側に送出する。 As a process on the guest OS side, the information processing device 1 checks the status of a process of a predetermined application program, such as a file search application program, every time it receives a request for status information from the host OS side. Then, if the status of the process indicates an abnormality, the information processing device 1 transmits status information indicating that the process is abnormal; Sends status information to the host OS side.
既に述べたように、ゲストOSが正常に動作していない場合や、上記応答のためのプロセスが正常に動作していない場合には、上記要求に対する応答は送出されない。 As already mentioned, if the guest OS is not operating normally or if the process for the response is not operating normally, the response to the request is not sent.
この例では、情報処理装置1は、ホストOS上でゲストOSを管理するためのアプリケーションプログラム等を実行しており、図4に例示する処理を行う。以下の処理はホストOS上での処理として行われる。 In this example, the information processing device 1 executes an application program or the like for managing the guest OS on the host OS, and performs the processing illustrated in FIG. 4 . The following processing is performed on the host OS.
情報処理装置1は、ゲストOSがネットワークとの通信に用いているネットワークインタフェースLAN1宛に、所定のタイミングごと(例えば定期的なタイミングごと)に繰り返して状態情報の要求を送出する(S11)。 The information processing device 1 repeatedly sends a request for status information at predetermined timings (for example, at regular timings) to the network interface LAN1 used by the guest OS to communicate with the network (S11).
そして情報処理装置1は、当該要求に対する応答を待機し、予め定めた時間しきい値を超えるまでに(つまりタイムアウト前に)、状態情報が得られたか否かを判断する(S12)。 The information processing device 1 then waits for a response to the request, and determines whether the status information has been obtained before a predetermined time threshold is exceeded (that is, before timeout) (S12).
ここでタイムアウト前にゲストOS側から、ネットワークを介して状態情報の要求に対する応答を受け入れると(S12:Yes)、情報処理装置1は、当該応答の内容が異常を表すものであるか否かを判断する(S13)。 Here, if a response to the request for status information is accepted from the guest OS side via the network before timeout (S12: Yes), the information processing device 1 determines whether the content of the response indicates an abnormality or not. A judgment is made (S13).
情報処理装置1は、ステップS13において、応答の内容が異常を表すものであれば(S13:Yes)、ステップS14に移行する。またこの情報処理装置1は、ステップS12においてタイムアウト前にゲストOS側から、ネットワークを介して状態情報の要求に対する応答がない場合(S12:No)も、ステップS14に移行して処理を続ける。 If the content of the response indicates an abnormality in step S13 (S13: Yes), the information processing device 1 moves to step S14. Further, even if there is no response from the guest OS to the request for status information via the network before timeout in step S12 (S12: No), the information processing device 1 moves to step S14 and continues the process.
情報処理装置1は、ステップS14の処理として、ゲストOSに対して再起動を実行するよう指示する(S14)。そして情報処理装置1は、予め定められた、再起動にかかる時間だけ待機し、状態情報の要求を送出する(S15)。 As the process of step S14, the information processing device 1 instructs the guest OS to reboot (S14). Then, the information processing device 1 waits for a predetermined time required for rebooting, and then sends a request for status information (S15).
情報処理装置1は、当該要求に対する応答を待機し、予め定めた時間しきい値を超えるまでに(つまりタイムアウト前に)、状態情報が得られたか否かを判断する(S16)。 The information processing device 1 waits for a response to the request, and determines whether status information has been obtained before a predetermined time threshold is exceeded (that is, before timeout) (S16).
ここでタイムアウト前にゲストOS側から、ネットワークを介して状態情報の要求に対する応答を受け入れると(S16:Yes)、情報処理装置1は、当該応答の内容が異常を表すものであるか否かを判断する(S17)。 Here, if a response to the request for status information is accepted from the guest OS side via the network before timeout (S16: Yes), the information processing device 1 determines whether the content of the response indicates an abnormality or not. A judgment is made (S17).
情報処理装置1は、ステップS17において、応答の内容が異常を表すものであれば(S17:Yes)、ステップS18に移行する。またこの情報処理装置1は、ステップS16においてタイムアウト前にゲストOS側から、ネットワークを介して状態情報の要求に対する応答がない場合(S16:No)も、ステップS18に移行して処理を続ける。 If the content of the response indicates an abnormality in step S17 (S17: Yes), the information processing device 1 moves to step S18. Further, even if there is no response from the guest OS to the request for status information via the network before timeout in step S16 (S16: No), the information processing device 1 moves to step S18 and continues the process.
情報処理装置1は、ステップS18の処理として、ゲストOSの初期化を行う(S18)。このゲストOSの初期化は次のように行われる。具体的に情報処理装置1は、ホストOS上で動作する仮想マシンシステムの動作を停止させ、システム領域14b内に格納されている仮想マシンシステム用のファイルシステムイメージのファイルを削除して、システム領域14b内に格納されている仮想マシンシステム用のファイルシステムイメージのバックアップ(初期イメージ)のファイルを複写して、ゲストOSを含む仮想マシンシステムの再インストールを実行する。そして情報処理装置1は、改めて仮想マシンシステムを、ホストOS上で起動する。その後、情報処理装置1は、ステップS11に戻って処理を続ける。
The information processing device 1 initializes the guest OS as the process of step S18 (S18). Initialization of this guest OS is performed as follows. Specifically, the information processing device 1 stops the operation of the virtual machine system running on the host OS, deletes the file system image file for the virtual machine system stored in the
一方、情報処理装置1は、ステップS13またはステップS17において、応答の内容が異常を示すものでなければ(S13,S17:No)、ステップS11に戻って処理を続ける。 On the other hand, if the content of the response does not indicate an abnormality in step S13 or step S17 (S13, S17: No), the information processing device 1 returns to step S11 and continues the process.
これにより本実施の形態では、ホストOSからゲストOS上のプロセスの異常や、ゲストOS自体の異常を検出でき、当該異常に対応する処理を実行してゲストOS上で提供されるサービスの可用性を向上する。 As a result, in this embodiment, the host OS can detect an abnormality in a process on the guest OS or an abnormality in the guest OS itself, and execute processing corresponding to the abnormality to improve the availability of services provided on the guest OS. improves.
[ローカルブリッジの設定]
また本実施の形態のここまでの説明では、情報処理装置1上で実行されるホストOS及びゲストOS間は、仮想的なファイルシステムでストレージ部14の記憶領域の少なくとも一部を共有するほか、ネットワークインタフェースLAN1,2,3を介して通信を行って、以上の処理を実行していた。しかしながら本実施の形態はこれに限られない。
[Local bridge settings]
In addition, in the description of this embodiment so far, the host OS and guest OS executed on the information processing device 1 share at least part of the storage area of the
例えば、ホストOS上で動作する仮想マシンシステムは、仮想的なネットワークブリッジを設定してもよい。この例では、ホストOSとゲストOSとはそれぞれ仮想的なネットワークインタフェースを設定して、この仮想的なネットワークブリッジに接続する。これにより、ホストOSとゲストOSとは、この仮想的なネットワークブリッジを介して、HTTP等の種々のプロトコルを用いたネットワーク通信を行うことが可能となる。 For example, a virtual machine system running on a host OS may set up a virtual network bridge. In this example, the host OS and the guest OS each set a virtual network interface and connect to this virtual network bridge. This allows the host OS and guest OS to perform network communication using various protocols such as HTTP via this virtual network bridge.
この例では従って、ホストOS上のゲストOS管理部23と、ゲストOS上の応答処理部33とは、この仮想的なネットワークブリッジを介して要求と応答とを送受してもよい。
Therefore, in this example, the guest
なお、この場合、ホストOS及びゲストOSは、物理的なネットワークインタフェースLAN1,2,3に対して割り当てたIPアドレスが(DHCPサーバ等により)設定された後、仮想的なネットワークブリッジに接続するための仮想的なネットワークインタフェースのIPアドレスを設定する。このとき、ホストOS及びゲストOSは、ネットワークインタフェースLAN1,2,3に対して割り当てたIPアドレスのネットワークアドレスと、仮想的なネットワークインタフェースのIPアドレスのネットワークアドレスとを異ならせる。これにより、ネットワーク上に同じIPアドレスの装置が複数出現することによるトラブルを防止する。 In this case, the host OS and guest OS connect to the virtual network bridge after the IP addresses assigned to the physical network interfaces LAN1, 2, and 3 are set (by a DHCP server, etc.). Set the IP address of the virtual network interface. At this time, the host OS and the guest OS make the network addresses of the IP addresses assigned to the network interfaces LAN1, 2, and 3 different from the network addresses of the IP addresses of the virtual network interfaces. This prevents troubles caused by multiple devices having the same IP address appearing on the network.
[NFSの利用]
またハードウェア上の理由など、何らかの原因により、仮想的なファイルシステムを介しての検索処理等の動作が実用的な速度に達しない場合には、NFSを利用してもよい。
[Using NFS]
Further, if operations such as search processing through a virtual file system cannot reach practical speed due to some reason such as hardware reasons, NFS may be used.
この例では、ホスト側処理部20が実行するホストOSが、ホストOS自身の管理するストレージ部14内のファイルシステムの少なくとも一部を、ゲスト側処理部30の管理下で実行されるアプリケーションプログラム等からNFSマウントによりアクセス可能に設定する。
In this example, the host OS executed by the host
そしてゲスト側処理部30が実行するゲストOSが、上記仮想的なネットワークブリッジを介して、あるいはネットワークインタフェースLAN1及びLAN2またはLAN3を介してネットワークファイルシステム(NFS)により、ストレージ部14のユーザデータ領域14cを、ゲストOS側にマウントする。
Then, the guest OS executed by the guest-
この例においても、ゲストOS側では、ファイルシステム共有処理部31の動作により、ファイル検索部32にアクセスしたユーザを、ホストOS側の登録認証情報を利用して認証する。またファイルシステム共有処理部31は、NFSマウントしたストレージ部14のユーザデータ領域14c内の共有ディレクトリのうち、認証したユーザに対して読み出し可能としてアクセス権が設定されている(ホストOS側でアクセス権が設定されている)共有ディレクトリ内のファイルのみを検索の対象とするよう、ファイル検索部32に指示する。
In this example as well, on the guest OS side, the file system
また本実施の形態のこの例では、ストレージ部14のシステム領域14bに、NFSマウントに用いるための設定情報(NFSルートの情報等)を記録してゲストOSから参照可能としておく。またこのストレージ部14のシステム領域14bには、ここまでに説明した情報のほか、ゲストOSから参照する必要がある情報、例えば、ネットワーク設定(参加ドメイン名など)を記録しておくこととする。
Further, in this example of the present embodiment, setting information for use in NFS mounting (NFS root information, etc.) is recorded in the
1 情報処理装置、11 制御部、12 主記憶部、13 インタフェース部、14 ストレージ部、15 ネットワーク通信部、20 ホスト側処理部、21 ファイル管理部、22 仮想マシンシステム部、23 ゲストOS管理部、30 ゲスト側処理部、31 ファイルシステム共有処理部、32 ファイル検索部、33 応答処理部。
1 information processing device, 11 control unit, 12 main storage unit, 13 interface unit, 14 storage unit, 15 network communication unit, 20 host side processing unit, 21 file management unit, 22 virtual machine system unit, 23 guest OS management unit, 30 Guest side processing unit, 31 File system sharing processing unit, 32 File search unit, 33 Response processing unit.
Claims (6)
ストレージ部と、
ホストオペレーティングシステムの処理を実行するとともに、仮想マシンとしての処理を実行するホスト側処理手段と、ゲストオペレーティングシステムの処理を実行するとともに、当該ホスト側処理手段が実行する仮想マシン上で、所定の処理を実行するゲスト側処理手段とを、含むコントローラ部と、を有し、
前記コントローラ部は、前記ホスト側処理手段としての処理において、ホストオペレーティングシステムのユーザの認証情報と、前記ストレージ部に格納されたファイルごとの、ホストオペレーティングシステムの各ユーザのアクセス権情報とを、前記ゲスト側処理手段からアクセス可能な状態で保持し、
前記ゲスト側処理手段としての処理において、アプリケーションプログラムの処理として、ユーザからのアクセスを受けて、前記ホストオペレーティングシステムが管理するユーザの認証情報を参照して当該ユーザを認証するコントローラ部である、情報処理装置。 An information processing device,
storage section,
A host-side processing means that executes the processing of the host operating system and executes processing as a virtual machine, and a host-side processing means that executes the processing of the guest operating system and executes predetermined processing on the virtual machine executed by the host-side processing means. a controller unit including a guest-side processing means for executing;
In processing as the host-side processing means, the controller section stores the authentication information of the user of the host operating system and the access right information of each user of the host operating system for each file stored in the storage section. Retain it in a state that is accessible from the guest side processing means,
In the processing as the guest side processing means, as the processing of the application program, the information is a controller unit that receives access from a user and authenticates the user by referring to user authentication information managed by the host operating system. Processing equipment.
前記コントローラ部のホスト側処理手段は、さらに、前記ストレージ部に格納されたファイルごとの、ホストオペレーティングシステムの前記ユーザのアクセス権情報を、前記ゲスト側処理手段からアクセス可能な状態で保持し、
前記コントローラ部のホスト側処理手段は、ホストオペレーティングシステムが管理する前記ストレージ部内のファイルシステムの少なくとも一部を、前記ゲスト側処理手段からアクセス可能に設定し、
前記コントローラ部のゲスト側処理手段は、ゲストオペレーティングシステム上で動作するアプリケーションプログラムの処理として、前記ホストオペレーティングシステムによりアクセス可能に設定された前記ストレージ部内のファイルシステムに保持されたファイルのアクセス権を、前記アクセス権情報に基づいて判断する情報処理装置。 The information processing device according to claim 1,
The host side processing means of the controller section further holds access right information of the user of the host operating system for each file stored in the storage section in a state that is accessible from the guest side processing means,
The host side processing means of the controller section sets at least a part of the file system in the storage section managed by the host operating system to be accessible from the guest side processing means,
The guest-side processing means of the controller unit, as a process of an application program running on the guest operating system, acquires access rights to files held in a file system in the storage unit that are set to be accessible by the host operating system. An information processing device that makes a determination based on the access right information.
前記コントローラ部のホスト側処理手段は、ホストオペレーティングシステムが管理する前記ストレージ部内のファイルシステムの少なくとも一部を、前記ゲスト側処理手段からNFSマウントによりアクセス可能に設定し、
前記コントローラ部のゲスト側処理手段は、前記アクセス可能に設定された、前記ストレージ部内のホストオペレーティングシステムのファイルシステムの少なくとも一部をNFSマウントして、ゲストオペレーティングシステム上で動作するアプリケーションプログラムの利用に供する情報処理装置。 The information processing device according to claim 2,
The host side processing means of the controller section sets at least a part of the file system in the storage section managed by the host operating system to be accessible from the guest side processing means by NFS mounting,
The guest-side processing means of the controller unit NFS-mounts at least a part of the file system of the host operating system in the storage unit, which is set to be accessible, for use by an application program running on the guest operating system. Information processing equipment provided.
前記コントローラ部のゲスト側処理手段により実行される、ゲストオペレーティングシステム上で動作するアプリケーションプログラムには、前記ホストオペレーティングシステムによりアクセス可能に設定された前記ストレージ部内のファイルシステムに保持されたファイルを検索する検索アプリケーションを含む情報処理装置。 The information processing device according to claim 2 or 3,
The application program running on the guest operating system, which is executed by the guest side processing means of the controller unit, searches for files held in a file system in the storage unit that is set to be accessible by the host operating system. An information processing device including a search application.
前記コントローラ部が、
ホストオペレーティングシステムの処理を実行するとともに、仮想マシンとしての処理を実行するホスト側処理工程と、
ゲストオペレーティングシステムの処理を実行するとともに、当該ホスト側処理工程で実行する仮想マシン上で、所定の処理を実行するゲスト側処理工程とを実行し、
前記コントローラ部は、前記ホスト側処理工程において、ホストオペレーティングシステムのユーザの認証情報と、前記ストレージ部に格納されたファイルごとの、ホストオペレーティングシステムの各ユーザのアクセス権情報とを、前記ゲスト側処理工程でアクセス可能な状態で保持し、
前記ゲスト側処理工程において、アプリケーションプログラムの処理として、ユーザからのアクセスを受けて、前記ホストオペレーティングシステムが管理するユーザの認証情報を参照して当該ユーザを認証する情報処理装置の制御方法。 A method for controlling an information processing device including a storage unit and a controller unit, the method comprising:
The controller section is
a host-side processing step that executes processing of the host operating system as well as processing as a virtual machine;
Executing a guest operating system process and a guest side processing step that executes a predetermined process on a virtual machine executed in the host side processing step,
In the host side processing step, the controller unit transmits the authentication information of the user of the host operating system and the access right information of each user of the host operating system for each file stored in the storage unit to the guest side process. remain accessible in the process,
In the guest-side processing step, the information processing apparatus receives access from a user and authenticates the user by referring to user authentication information managed by the host operating system as processing of an application program.
前記コントローラ部が、ホストオペレーティングシステムの処理を実行するとともに、仮想マシンとしての処理を実行するホスト側処理手段と、
ゲストオペレーティングシステムの処理を実行するとともに、当該ホスト側処理手段が実行する仮想マシン上で、所定の処理を実行するゲスト側処理手段と、
として機能させ、
前記ホスト側処理手段として機能させる際に、前記ホストオペレーティングシステムのユーザの認証情報と、前記ストレージ部に格納されたファイルごとの、ホストオペレーティングシステムの各ユーザのアクセス権情報とを、前記ゲスト側処理手段からアクセス可能な状態で保持させ、
前記ゲスト側処理手段として機能させる際に、アプリケーションプログラムの処理として、ユーザからのアクセスを受けて、前記ホストオペレーティングシステムが管理するユーザの認証情報を参照して当該ユーザを認証させるプログラム。
A computer comprising a storage section and a controller section,
a host-side processing unit in which the controller unit executes processing of a host operating system and processing as a virtual machine;
a guest-side processing means that executes a process of a guest operating system and a predetermined process on a virtual machine executed by the host-side processing means;
function as
When functioning as the host side processing means, authentication information of the user of the host operating system and access right information of each user of the host operating system for each file stored in the storage unit are processed by the guest side processing means. be kept accessible from means;
When functioning as the guest-side processing means, the program receives access from a user and authenticates the user by referring to user authentication information managed by the host operating system, as a process of the application program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020102617A JP7378356B2 (en) | 2020-06-12 | 2020-06-12 | Information processing device and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020102617A JP7378356B2 (en) | 2020-06-12 | 2020-06-12 | Information processing device and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021196837A JP2021196837A (en) | 2021-12-27 |
JP7378356B2 true JP7378356B2 (en) | 2023-11-13 |
Family
ID=79195524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020102617A Active JP7378356B2 (en) | 2020-06-12 | 2020-06-12 | Information processing device and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7378356B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150220709A1 (en) | 2014-02-06 | 2015-08-06 | Electronics Telecommunications Research Institute | Security-enhanced device based on virtualization and the method thereof |
JP2017187993A (en) | 2016-04-07 | 2017-10-12 | オムロン株式会社 | Control device, control method, and program |
JP2017215745A (en) | 2016-05-31 | 2017-12-07 | 株式会社東芝 | Data processor, data processing method and program |
JP2018032310A (en) | 2016-08-26 | 2018-03-01 | コニカミノルタ株式会社 | Image forming apparatus, image forming system, method for controlling image forming apparatus, and program |
-
2020
- 2020-06-12 JP JP2020102617A patent/JP7378356B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150220709A1 (en) | 2014-02-06 | 2015-08-06 | Electronics Telecommunications Research Institute | Security-enhanced device based on virtualization and the method thereof |
JP2017187993A (en) | 2016-04-07 | 2017-10-12 | オムロン株式会社 | Control device, control method, and program |
JP2017215745A (en) | 2016-05-31 | 2017-12-07 | 株式会社東芝 | Data processor, data processing method and program |
JP2018032310A (en) | 2016-08-26 | 2018-03-01 | コニカミノルタ株式会社 | Image forming apparatus, image forming system, method for controlling image forming apparatus, and program |
Also Published As
Publication number | Publication date |
---|---|
JP2021196837A (en) | 2021-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10261800B2 (en) | Intelligent boot device selection and recovery | |
US8924703B2 (en) | Secure virtualization environment bootable from an external media device | |
EP2483799B1 (en) | Portable desktop device and method of host computer system hardware recognition and configuration | |
TWI547875B (en) | Converting machines to virtual machines | |
US10379891B2 (en) | Apparatus and method for in-memory-based virtual desktop service | |
US8805951B1 (en) | Virtual machines and cloud storage caching for cloud computing applications | |
US7590648B2 (en) | Template-based development of servers | |
US7353355B1 (en) | System and method for rapid restoration of server from backup | |
US20060155837A1 (en) | Diskless computer operation management system | |
US20060173912A1 (en) | Automated deployment of operating system and data space to a server | |
US7797288B2 (en) | Use of server instances and processing elements to define a server | |
US10999266B2 (en) | Secret keys management in a virtualized data-center | |
US20110225449A1 (en) | Method of Achieving High Reliability of Network Boot Computer System | |
US20150095597A1 (en) | High performance intelligent virtual desktop infrastructure using volatile memory arrays | |
JP2009536375A (en) | ISCSI boot drive system and method for an extensible internet engine | |
JP2010257274A (en) | Storage management system and storage management method in virtualization environment | |
CN1834912A (en) | ISCSI bootstrap driving system and method for expandable internet engine | |
US10079895B2 (en) | Auto detecting remote session protocol for remote access | |
JP7378356B2 (en) | Information processing device and program | |
JP2021196836A (en) | Information processing apparatus and program | |
US10747567B2 (en) | Cluster check services for computing clusters | |
Shaw et al. | Linux Installation and Configuration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230207 |
|
TRDD | Decision of grant or rejection written | ||
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20231011 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20231017 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20231031 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7378356 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |