JP2010238130A - Information processing apparatus and control method - Google Patents
Information processing apparatus and control method Download PDFInfo
- Publication number
- JP2010238130A JP2010238130A JP2009087699A JP2009087699A JP2010238130A JP 2010238130 A JP2010238130 A JP 2010238130A JP 2009087699 A JP2009087699 A JP 2009087699A JP 2009087699 A JP2009087699 A JP 2009087699A JP 2010238130 A JP2010238130 A JP 2010238130A
- Authority
- JP
- Japan
- Prior art keywords
- virtual
- guest
- host
- control means
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
【課題】専用OSの採用により高セキュリティを担保したゲストOS上のプログラムから通信をする際に、ゲストOS専用のドライバが新たに必要なこと。
【解決手段】仮想マシン113は、仮想RAM上に仮想RAMディスクを作成する。仮想マシン113は、携帯端末200から読み出したゲストOS115およびゲストOSアプリ116を仮想RAMディスクに記憶する。ゲストOS115は、仮想RAMディスクから起動される。ゲストOS115とホストOS111との間にブリッジを確立する。ゲストOSアプリ116がネットワークを介した通信を行う際、ホストOS111のドライバを用いて携帯端末200およびネットワークを介した通信を行う。
【選択図】図3A driver dedicated to a guest OS is newly required when communicating from a program on the guest OS that ensures high security by adopting a dedicated OS.
A virtual machine 113 creates a virtual RAM disk on a virtual RAM. The virtual machine 113 stores the guest OS 115 and the guest OS application 116 read from the mobile terminal 200 in a virtual RAM disk. The guest OS 115 is activated from the virtual RAM disk. A bridge is established between the guest OS 115 and the host OS 111. When the guest OS application 116 performs communication via the network, the host OS 111 uses the driver of the host OS 111 to perform communication via the mobile terminal 200 and the network.
[Selection] Figure 3
Description
本発明は、情報処理装置およびその制御方法に関する。 The present invention relates to an information processing apparatus and a control method thereof.
近年、企業内にてテレワークが促進され、社内だけではなくサテライトオフィスや、自宅にて仕事を行うワークスタイルが登場してきた。できる限り社内と同じ環境で仕事をするために、社外からセキュアに社内IT資産(サーバ、情報処理端末等)を利用できる仕組みとしてシンクライアントが利用されている。 In recent years, telework has been promoted in companies, and not only in-house but also in satellite offices and work styles for working at home have appeared. In order to work in the same environment as possible inside the company, thin clients are used as a mechanism that allows internal IT resources (servers, information processing terminals, etc.) to be used securely from outside the company.
例えば、特許文献1は、シンクライアント端末として機能させるために、認証情報などを記憶した耐タンパストレージ機能を有したストレージデバイスを挿入し、サーバに対して遠隔操作させることを開示している。また、特許文献2は、ユーザ用仮想マシンとサーバ代替仮想マシンという2つの仮想マシンを有するクライアント装置において、ユーザ用仮想マシンからパケットを送出する際に、サーバ代替仮想マシンにおいてパケットを解析し、ネットワーク上のサーバにパケットを送る場合には、サーバ代替仮想マシンのドライバを用いてパケットを送出することを開示している。 For example, Patent Literature 1 discloses that a storage device having a tamper-resistant storage function that stores authentication information and the like is inserted in order to function as a thin client terminal, and the server is remotely operated. Further, Patent Document 2 discloses that a client device having two virtual machines, a user virtual machine and a server substitute virtual machine, analyzes the packet in the server substitute virtual machine when sending the packet from the user virtual machine, In the case of sending a packet to the above server, it is disclosed that the packet is sent using the driver of the server substitute virtual machine.
本発明は、ゲストOSを記憶した単一の携帯端末と接続され、ドライバを含むホストOSを記憶した情報処理装置において、ホストOSのドライバの元で携帯端末を通信の中継装置として用いて、高セキュリティを担保しつつ、ゲストOS上のプログラムが通信を行う技術を提供する。 The present invention relates to an information processing apparatus connected to a single mobile terminal storing a guest OS and storing a host OS including a driver, using the mobile terminal as a communication relay apparatus under the host OS driver. A technology is provided in which a program on a guest OS communicates while ensuring security.
本発明は、制御手段と、ゲストOS、および前記ゲストOS上で動作し、ネットワークを介した通信を行うゲストアプリケーションプログラムを記憶した携帯端末と接続するインターフェースと、仮想マシンを起動するための仮想化プログラム、前記携帯端末を用いた通信を行うためのドライバプログラムを含むホストOS、および前記ホストOSと前記ゲストOSとの間にブリッジを確立するためのブリッジプログラムを記憶した記憶手段とを有し、前記制御手段が、前記記憶手段から読み出した前記ホストOSを起動し、前記制御手段が、前記ホストOS上で前記仮想化プログラムを実行し、仮想制御手段および仮想RAMを有する仮想マシンを起動し、前記仮想制御手段が、前記仮想RAM上に仮想RAMディスクを作成し、前記仮想制御手段が、前記携帯端末から読み出した前記ゲストOSおよび前記ゲストアプリケーションプログラムを前記仮想RAMディスクに記憶し、前記仮想制御手段が、前記仮想RAMディスクから前記ゲストOSを起動し、前記制御手段が、前記ブリッジプログラムを実行し、前記ゲストOSと前記ホストOSとの間に前記ブリッジを確立し、前記仮想制御手段が、前記ゲストアプリケーションプログラムにより前記ネットワークを介した通信を行う際、前記ホストOSの前記ドライバを用いて前記携帯端末および前記ネットワークを介した通信を行うことを特徴とする情報処理装置を提供する。
この情報処理装置によれば、ゲストOS専用のドライバを用いなくても、ゲストOS上のプログラムから通信をすることができる。
The present invention relates to a control unit, a guest OS, an interface that operates on the guest OS and that stores a guest application program that performs communication via a network, and a virtualization for starting a virtual machine A host OS including a program, a driver program for performing communication using the portable terminal, and a storage unit storing a bridge program for establishing a bridge between the host OS and the guest OS, The control unit starts the host OS read from the storage unit, the control unit executes the virtualization program on the host OS, and starts a virtual machine having virtual control unit and virtual RAM; The virtual control means creates a virtual RAM disk on the virtual RAM, and The control means stores the guest OS and the guest application program read from the portable terminal in the virtual RAM disk, the virtual control means starts the guest OS from the virtual RAM disk, and the control means includes: The bridge program is executed, the bridge is established between the guest OS and the host OS, and the virtual control unit performs communication via the network by the guest application program. Provided is an information processing apparatus that performs communication via the mobile terminal and the network using a driver.
According to this information processing apparatus, it is possible to communicate from a program on the guest OS without using a driver dedicated to the guest OS.
好ましい態様において、前記携帯端末は、前記情報処理装置の外部記憶装置として機能するための第1のモードと前記情報処理装置が前記ネットワークを介した通信を中継する中継装置として機能するための第2のモードとを切り換え可能であり、前記仮想制御手段は、前記第1のモードの前記携帯端末を前記外部記憶装置として使用可能とするマウント処理を行い、前記マウント処理の後で、前記仮想制御手段は、前記携帯端末から前記ゲストOSおよび前記ゲストアプリケーションプログラムを読み出してもよい。
この情報処理装置によれば、携帯端末を外部記憶装置として用いて携帯端末に記憶されたゲストOSを起動することができる。
In a preferred aspect, the portable terminal has a first mode for functioning as an external storage device of the information processing apparatus, and a second mode for the information processing apparatus to function as a relay apparatus that relays communication via the network. The virtual control means performs a mounting process that enables the portable terminal in the first mode to be used as the external storage device, and after the mounting process, the virtual control means May read the guest OS and the guest application program from the portable terminal.
According to this information processing apparatus, the guest OS stored in the portable terminal can be activated using the portable terminal as an external storage device.
別の好ましい態様において、前記仮想制御手段は、前記第1のモードの前記携帯端末を前記外部記憶装置として使用不可能とするアンマウント処理を行い、前記仮想制御手段は、前記アンマウント処理の後で、前記通信を行ってもよい。
この情報処理装置によれば、携帯端末を外部記憶装置として用いた後に中継装置として用いることができる。
In another preferred aspect, the virtual control means performs an unmount process for disabling the portable terminal in the first mode as the external storage device, and the virtual control means performs the unmount process after the unmount process, The communication may be performed.
According to this information processing device, the mobile terminal can be used as a relay device after being used as an external storage device.
さらに別の好ましい態様において、前記仮想化プログラムが、前記ホストOSと前記ゲストOSとを切り換える切り替え処理を含み、前記記憶手段が、前記切り替え処理を禁止する制御プログラムを記憶し、前記制御手段が、前記ゲストOSが起動された後で、前記制御プログラムを実行し、前記切り換え処理を禁止してもよい。
この情報処理装置によれば、切り換え処理を禁止する構成を有しない場合と比較してゲストOSのセキュリティを高めることができる。
In still another preferred aspect, the virtualization program includes a switching process for switching between the host OS and the guest OS, the storage unit stores a control program for prohibiting the switching process, and the control unit includes: After the guest OS is activated, the control program may be executed to prohibit the switching process.
According to this information processing apparatus, it is possible to increase the security of the guest OS as compared with a case where there is no configuration for prohibiting the switching process.
また、本発明は、制御手段と、ゲストOS、および前記ゲストOS上で動作し、ネットワークを介した通信を行うゲストアプリケーションプログラムを記憶した携帯端末と接続するインターフェースと、仮想マシンを起動するための仮想化プログラム、前記携帯端末を用いた通信を行うためのドライバプログラムを含むホストOS、および前記ホストOSと前記ゲストOSとの間にブリッジを確立するためのブリッジプログラムを記憶した記憶手段とを有する情報処理装置の制御方法であって、前記制御手段が、前記記憶手段から読み出した前記ホストOSを起動するステップと、前記制御手段が、前記ホストOS上で前記仮想化プログラムを実行し、仮想制御手段および仮想RAMを有する仮想マシンを起動するステップと、前記仮想制御手段が、前記仮想RAM上に仮想RAMディスクを作成するステップと、前記仮想制御手段が、前記携帯端末から読み出した前記ゲストOSおよび前記ゲストアプリケーションプログラムを前記仮想RAMディスクに記憶するステップと、前記仮想制御手段が、前記仮想RAMディスクから前記ゲストOSを起動するステップと、前記制御手段が、前記ブリッジプログラムを実行し、前記ゲストOSと前記ホストOSとの間に前記ブリッジを確立するステップと、前記仮想制御手段が、前記ゲストアプリケーションプログラムにより前記ネットワークを介した通信を行う際、前記ホストOSの前記ドライバを用いて前記携帯端末および前記ネットワークを介した通信を行うステップとを有する制御方法を提供する。
この制御方法によれば、ゲストOS専用のドライバを用いなくても、ゲストOS上のプログラムから通信をすることができる。
Further, the present invention provides a control unit, a guest OS, an interface that operates on the guest OS, and that is connected to a portable terminal that stores a guest application program that performs communication via a network, and for starting a virtual machine A host OS including a virtualization program, a driver program for performing communication using the portable terminal, and storage means for storing a bridge program for establishing a bridge between the host OS and the guest OS A method of controlling an information processing apparatus, wherein the control unit starts up the host OS read from the storage unit, and the control unit executes the virtualization program on the host OS, and performs virtual control. A virtual machine having means and virtual RAM, and the virtual control A step of creating a virtual RAM disk on the virtual RAM; a step of storing the guest OS and the guest application program read from the portable terminal by the virtual control unit in the virtual RAM disk; A step of starting the guest OS from the virtual RAM disk; a step of executing the bridge program to establish the bridge between the guest OS and the host OS; When the virtual control means performs communication via the network by the guest application program, the control method includes the step of performing communication via the mobile terminal and the network using the driver of the host OS. .
According to this control method, it is possible to communicate from a program on the guest OS without using a driver dedicated to the guest OS.
1.構成
1−1.通信システム
図1は、一実施形態に係る通信システムの構成を示す図である。この通信システムは、情報処理装置100と、携帯端末200と、ネットワーク300と、サーバ400とを有する。情報処理装置100と携帯端末200とは、例えばUSB(Universal Serial Bus)ケーブルにより接続されている。情報処理装置100は、携帯端末200およびネットワーク300を介してサーバ400と通信を行う。
1. Configuration 1-1. Communication System FIG. 1 is a diagram illustrating a configuration of a communication system according to an embodiment. This communication system includes an
1−2.情報処理装置100
図2は、情報処理装置100のハードウェア構成を示すブロック図である。情報処理装置100は、CPU(Central Processing Unit)101、RAM(Random Access Memory)102、デバイスコントローラ103、BIOS(Basic Input/Output System)・ROM(Read Only Memory)104、近距離有線通信部105およびHDD106を有する。なお、図示していないが、情報処理装置100は、キーボード等の入力装置(操作部)や、ディスプレイなどの表示装置、ROMなどを有している。
1-2.
FIG. 2 is a block diagram illustrating a hardware configuration of the
CPU101は、情報処理装置100の構成要素を制御する制御装置である。RAM102は、OSやアプリケーションなどのソフトウェアが展開される揮発性の記憶装置である。また、RAM102には、CPU101からの指示のもと、RAMディスクとして用いられるRAMディスク領域102aが形成される。「RAMディスク」とは、RAM102の一部に確保された領域を、OSが利用可能なファイルシステム(仮想的な外部記憶装置)として利用する仕組みのこと、または、この仮想的な外部記憶装置をいう。
ファイル等が読み出される。
The
Files etc. are read out.
デバイスコントローラ103は、BIOSやドライバの読み込みや、携帯端末200の制御、RAMディスク領域102aの制御を行う制御装置である。BIOS・ROM104は、BIOSを記憶する記憶装置である。近距離有線通信部105は、携帯端末200と通信するためのインターフェースである。近距離有線通信部105は、USB規格に準拠したコネクタを有しており、このコネクタに接続されたUSBケーブルを介して携帯端末200と通信(データや信号の送受信)をする。HDD106は、不揮発性の外部記憶装置である。HDD106は、OS(Operating System)、アプリケーションプログラムなどのプログラムや、各種データを記憶する。
The
図3は、情報処理装置100のソフトウェア構成を示す図である。ホストOS111は、基本的な機能を提供し、情報処理装置100全体を管理する基本ソフトウェアである。VMM112は、情報処理装置100上に仮想マシンを形成するためのソフトウェアである。仮想マシンとは、物理的に単一のコンピュータ装置内に仮想的に形成されるコンピュータ装置をいう。この例で、VMM112は、ホストOS111上で動作する。仮想マシン113および仮想マシン114は、VMM112により形成された仮想マシンである。ゲストOS115は、仮想マシン113上で動作するOSである。ゲストOSアプリ116は、ゲストOS115上で動作するアプリケーションプログラム、例えばウェブブラウザである。ゲストOS117は、仮想マシン114上で動作するOSである。ゲストOSアプリ118は、ゲストOS117上で動作するアプリケーションプログラムである。制御アプリ119は、VMM112を制御するためのアプリケーションプログラムである。この例で、制御アプリ119は、ホストOS111上で動作する。ホストOSアプリ120は、ホストOS111上で動作するアプリケーションプログラムである(広義には、制御アプリ119はホストOSアプリ120の一種である)。
FIG. 3 is a diagram illustrating a software configuration of the
図4は、仮想マシン113の構成を示す図である。仮想マシン113は、仮想CPU131、仮想RAM132、仮想デバイスコントローラ133、仮想BIOS・ROM134および仮想近距離有線通信部135を有する。これらは、仮想的な構成であるが、それぞれ、CPU101、RAM102、デバイスコントローラ103、BIOS・ROM104および近距離有線通信部105に相当する機能を有する。仮想マシン114についても同様である。この例で、仮想マシン113はいわゆるシンクライアントであるので、HDDのような不揮発性の外部記憶装置を有していない。
FIG. 4 is a diagram illustrating the configuration of the
1−3.携帯端末200
図5は、携帯端末200の機能構成を示すブロック図である。この例で、携帯端末200は携帯電話機である。携帯端末200は、情報処理装置100に接続されると、メモリ201またはモデム202として機能する。メモリ201は、情報処理装置100の外部記憶装置としての機能である。モデム202は、情報処理装置100がネットワーク300を介した通信を行う際に用いられるモデムとしての機能である。情報処理装置100と接続されると、携帯端末200は、メモリ201またはモデム202のいずれか一方として機能する。携帯端末200がメモリ201として機能しているとき、携帯端末200は「メモリモード」であるという。携帯端末200がモデム202として機能しているとき、携帯端末200は「モデムモード」であるという。メモリモードとモデムモードの切り替えは排他的に行われ、一方のモードで機能しているときは他方の機能を使うことはできない。
1-3.
FIG. 5 is a block diagram illustrating a functional configuration of the
コントローラ203は、メモリ201およびモデム202を切り換える処理(以下「切り換え処理」という)を行う。切り換え処理は、例えばユーザによる操作に応じて行われる。近距離有線通信部204は、情報処理装置100と通信するためのインターフェースである。近距離有線通信部204は、USB規格に準拠したコネクタを有しており、このコネクタに接続されたUSBケーブルを介して情報処理装置100と通信をする。USIM(Universal Subscriber Identity Module)205は、携帯端末200のユーザの加入者情報等を記憶するメモリモジュールである。USIM205は、携帯端末200に着脱可能である。またこの例で、USIM205は、認証キーを記憶している。認証キーは、情報処理装置100におけるユーザの認証に用いられる。
The
なお、図示は省略するが、携帯端末200は、CPU、RAM、ROM、外部記憶装置、通信インターフェースといったハードウェア構成を有している。CPUがプログラムを実行してこれらのハードウェア構成を制御することにより、図5の機能構成が実現される。
Although not shown, the
2.動作
図6A−6Bは、情報処理装置100の動作を説明するシーケンス図である。図6A−6Bにおいて、情報処理装置100のハードウェア構成はまとめて「ハードウェア」として記載されている。また、ハードウェア以外に、ホストOS111や制御アプリ119等のソフトウェアモジュールが処理の主体として記載されているが、これは、このソフトウェアモジュール(に含まれる命令群)を実行しているCPU101が、RAM102等のハードウェア構成を制御し、このソフトウェアモジュールの機能として処理を行うことを意味する。
2. Operation FIGS. 6A-6B are sequence diagrams illustrating the operation of the
ステップS101において、情報処理装置100の電源がオンされる。CPU101は、BIOSに記憶されている情報に従って、ホストOS111を起動する(ステップS102)。ホストOS111の起動後、ホストOS111の設定またはユーザの操作により、制御アプリ119が起動する(ステップS103)。制御アプリ119は、VMM112を起動する(ステップS104)。VMM112は、仮想マシン113を起動する(ステップS105)。
In step S101, the
起動されると、仮想マシン113は、VMM112に対しゲストOS115のブートを指令する(ステップS106)。ブート指令を受けると、VMM112は、デバイスコントローラ103に対しゲストOS115のブートを指令する(ステップS107)。ブート指令を受けると、ハードウェアは、携帯端末200との間で、ゲストOS115の起動に用いられるデータを送受信する(ステップS108およびS109)。
When activated, the
ステップS108およびS109の処理は、具体的には、例えば以下の処理を含む。デバイスコントローラ103は、携帯端末200に対する読み出し(DiskRR)を行う。携帯端末200は、DiskRRに対する応答としてMBR(Master Boot Record)をデバイスコントローラ103に送る。MBRは、ブート先を特定する情報を含む。デバイスコントローラ103は、MBRを、VMM112を介して仮想マシン113の仮想CPU131に送る。仮想CPU131は、MBRを読み込み、読み込んだMBRに基づいてブート先を特定する。この例では、ブート先としてメモリ201(携帯端末200)が指定される。仮想CPU131は、特定されたブート先に対して、BL(Boot Loader)の読み込みを指令する。BLは、ゲストOS115起動のための初期化処理に用いられる情報、ゲストOS115のコア部分(の命令群)およびゲストOS115を起動する手順を記載したプログラム(以下「手順プログラム」という)を含む。この例では、CPU131は、VMM112およびデバイスコントローラ103を介して携帯端末200にBLの読み込みを指令する。この指令を受けると、携帯端末200は、BLをデバイスコントローラ103およびVMM112を介して仮想CPU131に送る。仮想CPU131は、BLを読み込み、読み込んだBLに含まれる手順プログラムに従って初期化処理を行う。初期化処理が完了すると、仮想CPU131は、ゲストOS115のコア部分を起動する。ゲストOS115のコア部分を起動すると、仮想CPU131は、VMM112を介して、デバイスコントローラ103にRAMディスクの作成を要求する。
Specifically, the processes of steps S108 and S109 include the following processes, for example. The
この要求を受けると、デバイスコントローラ103は、仮想マシン113にRAMディスクの作成の要求をする。この要求は、VMM112を介して(ステップS110)、仮想マシン113に送られる(ステップS111)。
Upon receiving this request, the
RAMディスク作成の要求を受けると、仮想マシン113は、RAMディスクを作成する(ステップS112)。詳細には以下のとおりである。仮想CPU131は、仮想デバイスコントローラ133に、RAMディスクの作成を指令する。この指令を受けると、仮想デバイスコントローラ133は、仮想RAM132上に仮想RAMディスク132aを作成する。この例で、仮想RAMディスク132aは、初期スクリプト用の領域およびOS本体用の領域を含む。この例で、初期スクリプト用の領域およびOS本体用の領域は、それぞれ別のRAMディスク(仮想RAMディスク132a−1および仮想RAMディスク132a−2)として認識される。「初期スクリプト」とは、ゲストOS115本体を仮想RAMディスク132a(仮想RAMディスク132a−2)に転送および起動するためのスクリプトをいう。仮想CPU131は、仮想RAMディスク132a−1をマウントするよう仮想デバイスコントローラ133に要求する。この要求を受けて、仮想デバイスコントローラ133は、仮想RAMディスク132a−1をマウントする。ここで、「マウント」とは、周辺機器(この場合は仮想RAMディスク132a−1)をコンピュータ(この場合は仮想マシン113)に認識させ、使用可能なように設定することをいう。仮想CPU131は、初期スクリプトの展開を、仮想デバイスコントローラ133に要求する。この要求を受けると、仮想デバイスコントローラ133は、仮想RAMディスク132a−1上に初期スクリプトを展開する。仮想CPU131は、仮想RAMディスク132a−1から初期スクリプトを読み込み、初期スクリプトを起動する。
Upon receiving a request for creating a RAM disk, the
初期スクリプトが起動されると、仮想CPU131は、仮想RAMディスク132a−2をマウントするよう仮想デバイスコントローラ133に指令する。この指令を受けると、仮想デバイスコントローラ133は、仮想RAMディスク132a−2をマウントする。さらに、仮想CPU131は、メモリ201(メモリモードで動作している携帯端末200)を外部記憶装置としてマウントするように、仮想デバイスコントローラ133に指令する。この指令を受けると、仮想デバイスコントローラ133は、VMM112およびデバイスコントローラ103を介して、携帯端末200をマウントする。
When the initial script is activated, the
RAMディスクの作成が完了すると、仮想マシン113は、RAMディスクの作成が完了した旨をVMM112に通知する(ステップS113)。RAMディスクの作成が完了した旨を通知されると、VMM112は、ゲストOS115の読み込みをデバイスコントローラ103を介して(ステップS114)、携帯端末200に指令する(ステップS115)。この指令を受けると、携帯端末200は、ゲストOS115のファイル(ゲストOS115本体)を、デバイスコントローラ103(ステップS116)およびVMM112を介して(ステップS117)、仮想マシン113に送信する(ステップS118)。仮想マシン113の仮想デバイスコントローラ133は、転送されたゲストOS115本体を仮想RAMディスク132a(詳細には仮想RAMディスク132a−2)に展開する(ステップS119)。ゲストOS115本体を展開すると、仮想CPU131は、ゲストOS115本体を起動する(ステップS120)。ゲストOS115本体の起動に際して、仮想デバイスコントローラ133は、仮想RAMディスク132a−2にOS用ファイルを展開する。
When the creation of the RAM disk is completed, the
また、ゲストOS115と同時に、またはゲストOS115の後に、ゲストOSアプリ116のファイルも仮想RAMディスク132aに転送される。
The file of the
ゲストOS115の転送が完了すると、仮想CPU131は、メモリモードの携帯端末200のアンマウント処理を行う。ここで、携帯端末200の「アンマウント」とは、携帯端末200を外部記憶装置として認識することをやめ、外部記憶装置として使用できないように設定することをいう。
When the transfer of the
携帯端末200においては、メモリモードからモデムモードへの切り替えが行われる(ステップS122)。この切り換えは、例えば、ユーザの操作に応じて行われる。あるいは、この切り換えは、ゲストOS115の起動が完了した後や、メモリモードの携帯端末200がアンマウントされた後に、情報処理装置100からの指示に応じて自動的に行われてもよい。
In
モデムモードへの切り替えが完了すると、携帯端末200は、モデムポートの確立をデバイスコントローラ103に要求する(ステップS123)。この要求を受けると、デバイスコントローラ103は、モデムポートの確立をホストOS111に要求する(ステップS124)。モデムポートの確立を要求されると、ホストOS111は、通信ドライバの読み込みをデバイスコントローラ103に要求する(ステップS125)。この要求を受けると、デバイスコントローラ103は、HDD106から通信ドライバを読み込む(ステップS126)。この通信ドライバは、ホストOS111上で動作し、携帯端末200をモデムとして用いて通信を行うためのドライバである。
When the switching to the modem mode is completed, the
デバイスコントローラ103が通信ドライバを読み込むと、制御アプリ119は、ゲストOS115とホストOS111との間にブリッジを確立する(ステップS127)。「ブリッジ」とは、ホストOS111(仮想マシン113)がホストOS111を制御するための(仮想的な)伝送路、または、この伝送を行うためのソフトウェアモジュールをいう。ハードウェアとの間でブリッジを確立する相手(この例では仮想マシン113)は、制御アプリ119の設定により定められている。ソフトウェアモジュールとしてのブリッジは、VMM112の機能の一部として提供される。あるいは、ブリッジは、VMM112とは別のソフトウェアとして提供されてもよい。
When the
ブリッジが確立されると、制御アプリ119は、仮想マシン113をアクティブにする。「仮想マシン113をアクティブにする」とは、情報処理装置100のディスプレイに表示される画面が仮想マシン113による画面となり、キーボードの操作が仮想マシン113に入力される状態となることをいう。仮想マシン113をアクティブにすると、制御アプリ119は、ディスプレイロック処理を行う。「ディスプレイロック処理」とは、アクティブな仮想マシン(または物理マシン)を変更できないようにする処理をいう。多くの場合、VMM112は、アクティブな仮想マシンを切り換える機能を有しているが、「ディスプレイロック処理」は、この機能を無効にすることを意味する。
When the bridge is established, the
モデムポートが確立されると、仮想CPU131は、携帯端末200から認証キーを取得する。この例では、携帯端末200のUSIM205に記憶されている加入者情報および識別情報が認証キーとして取得される。仮想CPU131は、携帯端末200から取得した認証キーを、あらかじめ記憶している認証キーと比較する。両者が一致すると判断された場合、仮想マシン113は、携帯端末200(すなわち、携帯端末200のユーザ)が正当であると判断する。携帯端末200が正当であると判断されると、仮想マシン113は、ユーザの操作を受け付ける状態となる。両者が一致しないと判断された場合、仮想マシン113は、携帯端末200が不当であると判断する。携帯端末200が不当であると判断されると、仮想マシン113は、仮想マシン113をシャットダウンするための操作以外の操作を受け付けない状態となる。なお、この例で、仮想マシン113は、携帯端末200をモデムとして認識している。仮想マシン113は、モデムと通信する際の標準命令体系であるATコマンドにより携帯端末200と通信することにより、認証キーを取得する。
When the modem port is established, the
仮想マシン113においては、ゲストOSアプリ116が起動される(ステップS128)。ゲストOSアプリ116は、例えば、ゲストOS115が起動した後で自動的に起動するように設定されている。あるいは、ゲストOSアプリ116は、ユーザの操作に応じて起動されてもよい。ゲストOSアプリ116の起動は、ゲストOS115と同様に行われる。
In the
ゲストOSアプリ116は、インターネットアクセスを要求する。この要求は、ブリッジにより、すなわち、仮想マシン113(ステップS130)およびVMM112を介して(ステップS131)、ホストOS111に送られる。インターネットアクセスを要求されると、デバイスコントローラ103は、通信ドライバを起動する(ステップS132)。この通信ドライバは、ホストOS111上で動作する。
The
デバイスコントローラ103は、通信ドライバの制御下で、近距離有線通信部105に通信を要求する。近距離有線通信部105は、携帯端末200に通信を要求する。携帯端末200は、この要求に応じてダイヤル発信を行い、サーバ400とのコネクションを確立する(ステップS133)。コネクションを確立すると、携帯端末200は、接続が完了した旨を近距離有線通信部105に通知する。近距離有線通信部105は、接続が完了した旨をデバイスコントローラ103に通知する。デバイスコントローラ103は、接続が完了した旨を仮想マシン113に通知する。こうして、ゲストOSアプリ116は、サーバ400との通信が可能になる。
The
仮想RAMディスク132aを用いて起動されたゲストOS115上で起動されたゲストOSアプリ116は、必要に応じて仮想RAMディスク132aに記憶されているプログラムファイルを読み込む。本実施形態によれば、ゲストOS115が起動された後に、外部記憶装置として機能している携帯端末200からゲストOS115の実行に必要なプログラムファイルを取得する必要がない。ゲストOS115が起動された後では、携帯端末200はモデムとして用いられる。すなわち、1台の携帯端末200を、シンクライアントのための仮想マシン113の起動用などの外部記憶装置および通信手段として機能させることができる。また、仮想RAMディスクを使った環境により仮想マシンをハードディスクレスPC化する事で、仮想システムのセキュリティ向上が可能になる。さらに、ゲストOS115専用のドライバを用いなくても、ネットワークを介した通信が行われる。
The
3.他の実施形態
本発明は上述の実施形態に限定されるものではなく、種々の変形実施が可能である。以下、変形例をいくつか説明する。以下で説明する変形例のうち2つ以上のものが組み合わせて用いられてもよい。
3. Other Embodiments The present invention is not limited to the above-described embodiments, and various modifications can be made. Hereinafter, some modifications will be described. Two or more of the modifications described below may be used in combination.
3−1.変形例1
上述の実施形態においては、情報処理装置100(物理マシン)においてはCPU101とデバイスコントローラ103とが処理を分担していたが、物理的に単一のプロセッサが、CPU101とデバイスコントローラ103とが行った処理を行ってもよい。あるいは、実施形態においてCPU101またはデバイスコントローラ103が行うものとして説明した処理を、物理的に2つ以上のプロセッサが協働して行ってもよい。要は、物理的には1つまたは2つ以上のプロセッサが、実施形態でCPU101とデバイスコントローラ103とが行うものとして説明した処理を行う制御手段として機能すればよい。仮想CPU131と仮想デバイスコントローラ133についても同様である。
3-1. Modification 1
In the above-described embodiment, the
3−2.変形例2
仮想デバイスコントローラ133とデバイスコントローラ103との処理の分担は実施形態で説明したものに限定されない。実施形態において仮想デバイスコントローラ133が行うものとして説明された処理の一部を、デバイスコントローラ103が実行してもよい。その逆も同様である。
3-2. Modification 2
The sharing of processing between the
3−3.変形例3
メモリ201(携帯端末200)のマウント処理のタイミングは、実施形態で説明したものに限定されない。ゲストOS115やゲストOSアプリ116のファイル等、必要なファイルを転送する前であれば、どのタイミングでマウント処理が行われてもよい。同様に、メモリ201のアンマウント処理のタイミングは、実施形態で説明したものに限定されない。ゲストOS115やゲストOSアプリ116のファイル等、必要なファイルを転送した後であれば、どのタイミングでアンマウント処理が行われてもよい。
3-3. Modification 3
The timing of the mounting process of the memory 201 (mobile terminal 200) is not limited to that described in the embodiment. The mounting process may be performed at any timing as long as necessary files such as the files of the
3−4.変形例4
ゲストOS115およびゲストOSアプリ116の一方または双方は、圧縮された状態で仮想RAMディスク132aに記憶されていてもよい。この場合において、ゲストOS115またはゲストOSアプリ116のファイルを使用するときは、仮想CPU131は、圧縮されたファイルを解凍し、仮想RAMディスク132aに展開する。仮想CPU131は、展開されたファイルを仮想RAMディスク132aから読み込み、実行する。
3-4. Modification 4
One or both of the
3−5.変形例5
ゲストOS115のファイルの構成は実施形態で説明したものに限定されない。実施形態では、ゲストOS115が、コア部分(初期スクリプト)および本体部分に分けられている例を説明したが、ゲストOS115は単一の部分で構成されてもよいし、3つ以上の部分で構成されてもよい。仮想RAMディスク132aは、ゲストOS115のファイルの構成に応じた数に区分されてもよい。ゲストOSアプリ116についても同様である。
3-5. Modification 5
The file configuration of the
100…情報処理装置、101…CPU、102…RAM、103…デバイスコントローラ、104…BIOS・ROM、105…近距離有線通信部、106…HDD、111…ホストOS、112…VMM、113…仮想マシン、114…仮想マシン、115…ゲストOS、116…ゲストOSアプリ、117…ゲストOS、118…ゲストOSアプリ、119…制御アプリ、120…ホストOSアプリ、131…仮想CPU、132…仮想RAM、133…仮想デバイスコントローラ、134…仮想BIOS・ROM、135…仮想近距離有線通信部、200…携帯端末、201…メモリ、202…モデム、203…コントローラ、204…近距離有線通信部、205…USIM、300…ネットワーク、400…サーバ
DESCRIPTION OF
Claims (5)
ゲストOS、および前記ゲストOS上で動作し、ネットワークを介した通信を行うゲストアプリケーションプログラムを記憶した携帯端末と接続するインターフェースと、
仮想マシンを起動するための仮想化プログラム、前記携帯端末を用いた通信を行うためのドライバプログラムを含むホストOS、および前記ホストOSと前記ゲストOSとの間にブリッジを確立するためのブリッジプログラムを記憶した記憶手段と
を有し、
前記制御手段が、前記記憶手段から読み出した前記ホストOSを起動し、
前記制御手段が、前記ホストOS上で前記仮想化プログラムを実行し、仮想制御手段および仮想RAMを有する仮想マシンを起動し、
前記仮想制御手段が、前記仮想RAM上に仮想RAMディスクを作成し、
前記仮想制御手段が、前記携帯端末から読み出した前記ゲストOSおよび前記ゲストアプリケーションプログラムを前記仮想RAMディスクに記憶し、
前記仮想制御手段が、前記仮想RAMディスクから前記ゲストOSを起動し、
前記制御手段が、前記ブリッジプログラムを実行し、前記ゲストOSと前記ホストOSとの間に前記ブリッジを確立し、
前記仮想制御手段が、前記ゲストアプリケーションプログラムにより前記ネットワークを介した通信を行う際、前記ホストOSの前記ドライバを用いて前記携帯端末および前記ネットワークを介した通信を行う
ことを特徴とする情報処理装置。 Control means;
An interface for connecting to a guest OS and a mobile terminal that operates on the guest OS and stores a guest application program that performs communication via a network;
A virtualization program for starting a virtual machine, a host OS including a driver program for performing communication using the portable terminal, and a bridge program for establishing a bridge between the host OS and the guest OS Memorized storage means, and
The control means starts up the host OS read from the storage means,
The control means executes the virtualization program on the host OS, starts a virtual machine having virtual control means and virtual RAM,
The virtual control means creates a virtual RAM disk on the virtual RAM;
The virtual control means stores the guest OS and the guest application program read from the mobile terminal in the virtual RAM disk;
The virtual control means boots the guest OS from the virtual RAM disk;
The control means executes the bridge program to establish the bridge between the guest OS and the host OS;
The virtual control means performs communication via the portable terminal and the network using the driver of the host OS when the guest application program performs communication via the network. .
前記仮想制御手段は、前記第1のモードの前記携帯端末を前記外部記憶装置として使用可能とするマウント処理を行い、
前記マウント処理の後で、前記仮想制御手段は、前記携帯端末から前記ゲストOSおよび前記ゲストアプリケーションプログラムを読み出す
ことを特徴とする請求項1に記載の情報処理装置。 The portable terminal has a first mode for functioning as an external storage device of the information processing apparatus and a second mode for the information processing apparatus to function as a relay apparatus that relays communication via the network. Switchable,
The virtual control means performs a mounting process that enables the portable terminal in the first mode to be used as the external storage device.
The information processing apparatus according to claim 1, wherein after the mounting process, the virtual control unit reads the guest OS and the guest application program from the portable terminal.
前記仮想制御手段は、前記アンマウント処理の後で、前記通信を行う
ことを特徴とする請求項2に記載の情報処理装置。 The virtual control means performs an unmount process for disabling the portable terminal in the first mode as the external storage device,
The information processing apparatus according to claim 2, wherein the virtual control unit performs the communication after the unmount process.
前記記憶手段が、前記切り替え処理を禁止する制御プログラムを記憶し、
前記制御手段が、前記ゲストOSが起動された後で、前記制御プログラムを実行し、前記切り換え処理を禁止する
ことを特徴とする請求項1−3のいずれかの項に記載の情報処理装置。 The virtualization program includes a switching process for switching between the host OS and the guest OS;
The storage means stores a control program for prohibiting the switching process;
The information processing apparatus according to any one of claims 1 to 3, wherein the control unit executes the control program after the guest OS is activated, and prohibits the switching process.
前記制御手段が、前記記憶手段から読み出した前記ホストOSを起動するステップと、
前記制御手段が、前記ホストOS上で前記仮想化プログラムを実行し、仮想制御手段および仮想RAMを有する仮想マシンを起動するステップと、
前記仮想制御手段が、前記仮想RAM上に仮想RAMディスクを作成するステップと、
前記仮想制御手段が、前記携帯端末から読み出した前記ゲストOSおよび前記ゲストアプリケーションプログラムを前記仮想RAMディスクに記憶するステップと、
前記仮想制御手段が、前記仮想RAMディスクから前記ゲストOSを起動するステップと、
前記制御手段が、前記ブリッジプログラムを実行し、前記ゲストOSと前記ホストOSとの間に前記ブリッジを確立するステップと、
前記仮想制御手段が、前記ゲストアプリケーションプログラムにより前記ネットワークを介した通信を行う際、前記ホストOSの前記ドライバを用いて前記携帯端末および前記ネットワークを介した通信を行うステップと
を有する制御方法。 A control unit, a guest OS, an interface that operates on the guest OS and stores a guest application program that performs communication via a network, and a virtual program for starting a virtual machine; Control method for information processing apparatus, comprising: host OS including driver program for performing communication using terminal; and storage means storing bridge program for establishing bridge between host OS and guest OS Because
The control means starting the host OS read from the storage means;
The control means executing the virtualization program on the host OS and starting a virtual machine having virtual control means and virtual RAM;
The virtual control means creating a virtual RAM disk on the virtual RAM;
The virtual control means storing the guest OS and the guest application program read from the portable terminal in the virtual RAM disk;
The virtual control means starting the guest OS from the virtual RAM disk;
The control means executing the bridge program to establish the bridge between the guest OS and the host OS;
The virtual control means includes a step of performing communication via the mobile terminal and the network using the driver of the host OS when the guest application program performs communication via the network.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009087699A JP4918112B2 (en) | 2009-03-31 | 2009-03-31 | Information processing apparatus and control method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2009087699A JP4918112B2 (en) | 2009-03-31 | 2009-03-31 | Information processing apparatus and control method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2010238130A true JP2010238130A (en) | 2010-10-21 |
| JP4918112B2 JP4918112B2 (en) | 2012-04-18 |
Family
ID=43092367
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2009087699A Expired - Fee Related JP4918112B2 (en) | 2009-03-31 | 2009-03-31 | Information processing apparatus and control method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4918112B2 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014235501A (en) * | 2013-05-31 | 2014-12-15 | 株式会社日立製作所 | Control method of storage device, storage device and information processing device |
| CN119293875A (en) * | 2023-10-20 | 2025-01-10 | 智识神工(上海)信息技术股份有限公司 | A secure portable device and system for protecting user data |
Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2005318455A (en) * | 2004-04-30 | 2005-11-10 | Kyocera Corp | Mobile communication terminal device, communication system, and communication method |
| JP2006185446A (en) * | 2004-12-22 | 2006-07-13 | Microsoft Corp | Replicated virtual machine |
| JP2007514238A (en) * | 2003-12-18 | 2007-05-31 | インテル・コーポレーション | Virtual network interface |
| JP2007243344A (en) * | 2006-03-06 | 2007-09-20 | Ntt Docomo Inc | Communication method, connection management server, and mobile phone |
| JP2008052714A (en) * | 2006-07-25 | 2008-03-06 | Ntt Docomo Inc | Multiple operating system switching control device and computer system |
| JP2008146566A (en) * | 2006-12-13 | 2008-06-26 | Hitachi Ltd | Computer, virtual device control method and program thereof |
| JP2009026031A (en) * | 2007-07-19 | 2009-02-05 | Hitachi Ltd | Thin client system, information processing method, and information processing program |
-
2009
- 2009-03-31 JP JP2009087699A patent/JP4918112B2/en not_active Expired - Fee Related
Patent Citations (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2007514238A (en) * | 2003-12-18 | 2007-05-31 | インテル・コーポレーション | Virtual network interface |
| JP2005318455A (en) * | 2004-04-30 | 2005-11-10 | Kyocera Corp | Mobile communication terminal device, communication system, and communication method |
| JP2006185446A (en) * | 2004-12-22 | 2006-07-13 | Microsoft Corp | Replicated virtual machine |
| JP2007243344A (en) * | 2006-03-06 | 2007-09-20 | Ntt Docomo Inc | Communication method, connection management server, and mobile phone |
| JP2008052714A (en) * | 2006-07-25 | 2008-03-06 | Ntt Docomo Inc | Multiple operating system switching control device and computer system |
| JP2008146566A (en) * | 2006-12-13 | 2008-06-26 | Hitachi Ltd | Computer, virtual device control method and program thereof |
| JP2009026031A (en) * | 2007-07-19 | 2009-02-05 | Hitachi Ltd | Thin client system, information processing method, and information processing program |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2014235501A (en) * | 2013-05-31 | 2014-12-15 | 株式会社日立製作所 | Control method of storage device, storage device and information processing device |
| CN119293875A (en) * | 2023-10-20 | 2025-01-10 | 智识神工(上海)信息技术股份有限公司 | A secure portable device and system for protecting user data |
Also Published As
| Publication number | Publication date |
|---|---|
| JP4918112B2 (en) | 2012-04-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8316133B2 (en) | Thin client system using session managing server and session managing method | |
| US7032053B2 (en) | System and method for loading, executing, and adapting a portable running operation system from a removable module to multiple computer systems | |
| US7225440B2 (en) | System and method for manufacturing and updating insertable portable operating system module | |
| US7225448B2 (en) | System and method for hibernating application state data on removable module | |
| US20050050339A1 (en) | System and method for securing a portable processing module | |
| CN108206842B (en) | Cloud desktop remote access method and system | |
| US20070106776A1 (en) | Information processing system and method of assigning information processing device | |
| CN102170473A (en) | Resource sharing system, mobile terminal and resource sharing method | |
| WO2007105279A1 (en) | Portable communication apparatus | |
| JP4918112B2 (en) | Information processing apparatus and control method | |
| US10379872B1 (en) | Method for creation of a device driver for a peripheral device | |
| KR101201095B1 (en) | Portable computing environment | |
| JP4909332B2 (en) | Information processing apparatus and device recognition method | |
| US7120789B2 (en) | System and method for portable on-demand central processing unit | |
| JP5166307B2 (en) | Connection device utilization system and method | |
| JP2008004010A (en) | COMMUNICATION DEVICE AND ITS CONTROL METHOD | |
| JP6043615B2 (en) | Function use control device, function use control method, function use control program | |
| CN101131641B (en) | User interface management apparatus and method for reacting to system state change | |
| US20070245359A1 (en) | Communication control apparatus, communication control program, and communication driver registration method | |
| KR20040061052A (en) | Usb apparatus having a remote control function and remote controlling method thereof | |
| JP5812504B2 (en) | Thin client terminal system | |
| US20050038945A1 (en) | System and method for interfacing a portale processing unit with computer system | |
| CN101336412B (en) | Method for installing auxiliary unit on computer | |
| JP2021196837A (en) | Information processor and program | |
| CN118449855B (en) | Network configuration method and electronic equipment |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110225 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110308 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110509 |
|
| A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20110719 |
|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20111019 |
|
| A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20111024 |
|
| 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: 20120124 |
|
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120127 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150203 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4918112 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |