JP5125659B2 - 情報処理装置、情報処理方法及びコンピュータプログラム - Google Patents

情報処理装置、情報処理方法及びコンピュータプログラム Download PDF

Info

Publication number
JP5125659B2
JP5125659B2 JP2008076433A JP2008076433A JP5125659B2 JP 5125659 B2 JP5125659 B2 JP 5125659B2 JP 2008076433 A JP2008076433 A JP 2008076433A JP 2008076433 A JP2008076433 A JP 2008076433A JP 5125659 B2 JP5125659 B2 JP 5125659B2
Authority
JP
Japan
Prior art keywords
application
information
execution means
guest
cooperation
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.)
Expired - Fee Related
Application number
JP2008076433A
Other languages
English (en)
Other versions
JP2009230549A (ja
Inventor
孝一 矢崎
和明 二村
勇 山田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2008076433A priority Critical patent/JP5125659B2/ja
Priority to US12/393,601 priority patent/US8966489B2/en
Publication of JP2009230549A publication Critical patent/JP2009230549A/ja
Application granted granted Critical
Publication of JP5125659B2 publication Critical patent/JP5125659B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Description

本発明は、仮想化技術が適用され、仮想的に複数の装置としての動作を提供することができる情報処理装置、情報処理方法及びコンピュータプログラムに関する。
アプリケーショプログラム(以下、アプリケーションともいう)は通常、オペレーティングシステム(以下、OS)毎に提供される。また、従来の情報処理装置においては、1つの装置上で1つのOSのみを動作させる使用形態が多く、このような使用形態では、ユーザは、使用するアプリケーション毎にOS(情報処理装置)を使い分ける必要があった。
また、複数のアプリケーションを相互に連携させて1つのサービスを提供するシステムがある。このようなシステムは、一のアプリケーションが他のアプリケーションの実行結果を用いて動作することによってシステム全体としての動作を行なう構成である。このようなシステムにおいて、全てのアプリケーションが同一のOSで実行可能である場合、1つの情報処理装置での提供が可能である。しかし、各アプリケーションが異なるOS用のアプリケーションである場合、各アプリケーションに対応した複数の情報処理装置を用いる必要がある。
そこで、1つの情報処理装置を論理的に分割し、仮想的に複数の独立した情報処理装置(仮想マシン)として動作するように構成できる仮想化技術が普及している(例えば、特許文献1参照)。このように、1つの情報処理装置によって複数の仮想マシンの動作を実現することにより、異なるOSで実行される複数のアプリケーションを連携させて実現されるシステムを1つの情報処理装置によって実現することができる。また、このような構成とすることにより、複数の情報処理装置を実際に用いる場合と比較して運用コストを低減させることができる。なお、このような仮想化技術は、マイクロプロセッサの技術向上に伴い、スーパーコンピュータ及びサーバコンピュータのみならずパーソナルコンピュータ(以下、PC)にも適用されつつある。
仮想化技術を用いた情報処理装置では、異なるOSがそれぞれのアプリケーションを実行させるので、それぞれのアプリケーションの動作環境が、他のアプリケーションの動作環境に影響を与えない。また、1つのOSが不正終了した場合であっても、他のOSが実行中のアプリケーションには影響を与えないので、システム品質を向上させることができる。
特開2005−157786号公報
上述したように、仮想化技術を用いた情報処理装置では、仮想的に複数の独立した仮想マシンのそれぞれに適切なアプリケーションを実行させることができるので、複数のアプリケーションを連携させて実現するシステムであっても、1つの情報処理装置によって動作させることができる。
しかし、このようなシステムを動作させる場合、各仮想マシンが実行するアプリケーションを連携させるために、ユーザが各種の設定処理及び起動処理等を個別に行なう必要があり、ユーザの操作負担が大きく、利便性が悪い。例えば、システムを起動させる際には、ユーザは、各仮想マシンが実行する各アプリケーションが連携するように各仮想マシンにおける動作条件を設定すると共に、設定された動作条件に従って各仮想マシンを起動させ、各仮想マシンの起動後、各仮想マシンに各アプリケーションを起動させる必要がある。また、システムを終了させる際には、ユーザは、各仮想マシンにおける各アプリケーションを終了させ、各アプリケーションの終了後、各仮想マシンを終了させる必要がある。
本発明は斯かる事情に鑑みてなされたものであり、その目的とするところは、複数のアプリケーションを連携させて実現するシステムにおいて、各仮想マシンが実行するアプリケーションを連携させるために、ユーザが各種の設定処理及び起動処理等を個別に行なう必要がなく、ユーザの操作負担を軽減して利便性を向上させることが可能な情報処理装置、情報処理方法及びコンピュータプログラムを提供することにある。
本願に開示する情報処理装置は、その複数で主処理を実行し、それぞれが副処理を実行する複数の実行手段を備える情報処理装置であって、実行手段の複数を用いて実行される主処理毎に、実行手段のそれぞれに対する動作条件を示す設定情報と、実行手段のそれぞれが実行する副処理間の関係を示す連携情報とを含む動作情報が予め記憶している。情報処理装置は、記憶してある動作情報から、前記実行手段のそれぞれに対する動作条件を示す設定情報を取得し、取得した設定情報に基づいて、前記実行手段のそれぞれの動作状態を設定する。また、本願に開示する情報処理装置は、記憶してある動作情報から、前記実行手段のそれぞれが実行する副処理間の関係を示す連携情報を取得し、取得した連携情報に従って前記実行手段のそれぞれを実行させることによって前記主処理を実行する。
本願に開示する情報処理装置によれば、予め用意してある動作情報から、実行手段のそれぞれに対する動作条件を示す設定情報と、実行手段のそれぞれが実行する副処理間の関係を示す連携情報とを取得する。これにより、実行手段のそれぞれに対する動作条件及び実行手段のそれぞれにおける副処理間の連携情報を個別に設定する必要がない。
開示の情報処理装置では、実行手段のそれぞれに対する動作条件及び実行手段のそれぞれにおける副処理間の連携情報を個別に設定する必要がないので、主処理のアプリケーションを実行させるユーザは、主処理毎に動作情報を生成しておけばよく、ユーザの操作負担を軽減することができる。
以下に、本発明に係る情報処理装置を、その実施形態を示す図面に基づいて詳述する。図1は本発明に係る情報処理装置の構成を示すブロック図である。本実施形態の情報処理装置10は、本発明に係るコンピュータプログラムを例えばPCに読み取らせて実行させることによって実現される。なお、専用の装置によって情報処理装置10を構成するようにしてもよい。
本実施形態の情報処理装置10は、CPU1、Read Only Memory(ROM)2、Random Access Memory(RAM)3、Hard Disk Drive(HDD)4、操作部5、表示部6、通信部7等の各種ハードウェアを備えており、それぞれはバス1aを介して相互に接続されている。CPU1は、ROM2又はHDD4に予め記憶してある制御プログラムを適宜RAM3に読み出して実行すると共に、上述したハードウェア各部の動作を制御する。
CPU1は、後述するようにHDD4に格納されているハイパーバイザプログラム20、メインOSプログラム30、ゲストOSプログラム40をそれぞれRAM3に読み出して実行し、ハイパーバイザ21、メインOS31、ゲストOS41,42(図3,4参照)として動作する。CPU1は、ハイパーバイザプログラム20を実行することにより、論理的に複数のCPU1として動作する。CPU1は、マルチコアCPUであり、ハイパーバイザ21、メインOS31及びゲストOS41,42がそれぞれ物理的に異なるCPUコア上に分散して動作するように最適に設計されている。なお、CPU1はマルチコアCPUとは限らず、シングルコアCPUでもよい。
ROM2は、本実施形態の情報処理装置10を本発明の情報処理装置として動作させるために必要な種々の制御プログラムを予め格納している。RAM3は、例えばStatic RAM(SRAM)、Dynamic RAM(DRAM)又はフラッシュメモリ等であり、CPU1による制御プログラムの実行時に発生する種々のデータを一時的に記憶する。
HDD4は大容量の記憶装置である。HDD4は、本実施形態の情報処理装置10を本発明の情報処理装置として動作させるために必要な種々の制御プログラム、図2に示すようなアプリケーション動作ファイル51、各種のデータ等を格納している。また、HDD4は、CPU1が読み出して実行する制御プログラムとして、ハイパーバイザプログラム20、メインOSプログラム30、ゲストOSプログラム40及びアプリケーションプログラム50等を格納している。
ハイパーバイザプログラム20は、情報処理装置10において複数のOS(メインOS31、ゲストOS41,42)が動作する仮想化技術を実現するためのソフトウェアプログラムである。CPU1は、ハイパーバイザプログラム20を実行することによりハイパーバイザ21として動作し、情報処理装置10が論理的に複数の情報処理装置として動作する仮想化環境を提供する。これにより、情報処理装置10において論理的に複数の独立した仮想マシンが動作することが可能となる。
CPU1は、ハイパーバイザ21として動作することにより、各ソフトウェアとハードウェア資源との間の管理を実現し、各OS(メインOS31、ゲストOS41,42)への各ハードウェアの割り当て、各OSに対応するハードウェアの動作の基本的な制御を行なう。
また、ハイパーバイザ21は、メインOS31からの指示に従って、対応するゲストOSプログラム40を読み出して実行させることにより、ゲストOS41,42を起動させる。この場合、ハイパーバイザ21は、各ゲストOS41,42によって利用されるハードウェア、即ち、RAM3、HDD4、操作部5、表示部6、通信部7の割り当て制御等を行なう。なお、CPU1も、ハイパーバイザ21自身、メインOS31及びゲストOS41,42のそれぞれにCPUコア単位に割り当てられる。
なお、RAM3は、CPU1がメインOS31、ゲストOS41,42として動作する際に、メインOS31、ゲストOS41,42毎の設定情報を記憶するためにも使用される。従って、RAM3も、ハイパーバイザ21によって論理的に複数のRAM3に分割され、ハイパーバイザ21、メインOS31、ゲストOS41,42のそれぞれに割り当てられる。
メインOSプログラム30及びゲストOSプログラム40は、ユーザが操作できるCommand User Interface(CUI)、Graphic User Interface(GUI)を持つWindows (登録商標)、Linux等のOSソフトウェアである。CPU1は、メインOSプログラム30を実行することによりメインOS31として動作し、各種処理を実行する実行手段の1つとして機能する。メインOSプログラム30は、実行した処理に応じて表示すべきCUI,GUI等を含む表示画面を生成し、表示部6に表示させる。また、メインOS31は、操作部5からの制御信号を受け付け、受け付けた制御信号に応じて各種処理を実行する。
なお、情報処理装置10に電源が投入され、情報処理装置10のハードウェア各部の起動が完了した場合、CPU1は、ハイパーバイザプログラム20及びメインOSプログラム30を実行し、ハイパーバイザ21の動作を開始すると共にメインOS31の動作環境(メイン仮想マシン)をユーザに提供する。
CPU1は、ゲストOSプログラム40を実行することによりゲストOS41,42として動作し、各種処理を実行する実行手段の1つとして機能する。ゲストOSプログラム40は、実行した処理に応じて表示すべきCUI,GUI等を含む表示画面を生成し、表示部6に表示させる。なお、ハイパーバイザ21が、メインOS31からの指示に従ってゲストOSプログラム40を実行してゲストOS41,42を起動させることによって、ゲストOS41,42の動作環境(仮想マシン)をユーザに提供することができる。
ハイパーバイザ21は、各ゲストOS41,42の動作を正常に維持する機能、例えば、各ゲストOS41,42の起動及び終了を制御する機能、各ゲストOS41,42へのハードウェアの割り当てを行なう機能、各ゲストOS41,42に適切なアプリケーションを実行させる機能、各ゲストOS41,42が実行中のアプリケーションの動作状態を管理する機能等を有する。また、ハイパーバイザ21は、各ゲストOS41,42間の接続を中継する機能、各ゲストOS41,42と外部ネットワークとの接続を中継する機能等を有する。
アプリケーションプログラム50は、メインOS31又はゲストOS41,42によって実行されるソフトウェアプログラムである。アプリケーションプログラム50は、外部メモリ(図示せず)又は通信部7を介して情報処理装置10に読み取らせてHDD4に格納させてもよい。アプリケーション動作ファイル51は、ユーザが情報処理装置10を使用して作成してもよく、ユーザが外部の装置で作成したアプリケーション動作ファイル51を外部メモリ(図示せず)又は通信部7を介して情報処理装置10に読み取らせてHDD4に格納させてもよい。
操作部5は、キーボード及びマウス等であり、ユーザが情報処理装置10を操作するために必要な各種の操作キーを備えている。ユーザにより各操作キーが操作された場合、操作部5は操作された操作キーに対応した制御信号をCPU1(メインOS31)へ送出し、CPU1(メインOS31)は操作部5から取得した制御信号に対応した処理を実行する。
表示部6は、液晶ディスプレイ又はCathode Ray Tube(CRT)ディスプレイ等であり、CPU1(メインOS31、ゲストOS41,42)からの指示に従って、情報処理装置10の動作状態、操作部5を介して入力された情報、ユーザに対して通知すべき情報等を表示する。
通信部7は、例えばネットワークカードを備え、Local Area Network(LAN)等のネットワークを介して外部の装置と通信を行なうためのハードウェアである。
図2はアプリケーション動作ファイル51の内容を示す模式図である。なお、以下では、メインOS31の動作環境を使用中のユーザが、LANに接続するためのネットワーク接続アプリケーションをメインOS31に実行させた場合の処理を例に本発明を説明する。なお、ここでのネットワーク接続アプリケーションは、ユーザ認証を行なうためのユーザ認証アプリケーションを実行させ、正当なユーザであることが認証された場合にLANへの接続を行なうソフトウェアである。
また、ネットワーク接続アプリケーションは第1ゲストOS41用のアプリケーションであり、ユーザ認証アプリケーションは第2ゲストOS42用のアプリケーションであり、2つのアプリケーションはメインOS31用のアプリケーションではないものとする。なお、メインOS31、ゲストOS41,42はそれぞれ、例えば、Windows Vista、Windows XP、Linux等であり、それぞれ異なるOSである。
アプリケーション動作ファイル51には、図2に示すように、実行すべきアプリケーションのそれぞれについて、実行させるゲストOS41,42の情報、ゲストOS41,42に割り当てられる仮想LANインタフェース(仮想LANI/F)の情報等を含むアプリケーション情報が記載される。また、アプリケーション動作ファイル51には、各ゲストOS41,42で実行されるアプリケーション間の連携を示すアプリケーション間連携情報と、各ゲストOS41,42間の連携を示すゲストOS間連携情報とが記載される。アプリケーション動作ファイル51は、ネットワーク接続アプリケーションを実行させる前に所定のルールに従ってユーザが作成しておく。
以下に、上述した構成の情報処理装置10において、CPU1が、ROM2又はHDD4に格納されている各種の制御プログラムを実行することによって実現される機能について説明する。図3及び図4は情報処理装置10の機能を示す機能ブロック図である。なお、図3及び図4は、情報処理装置10が仮想化技術により複数の情報処理装置として動作する原理を示している。
図3及び図4には、情報処理装置10で、CPU1、RAM3、HDD4、操作部5、表示部6、通信部7等を含むハードウェア上で、ハイパーバイザ21の動作により、メインOS31(メイン仮想マシン)及びゲストOS41,42(仮想マシン)がそれぞれ独立して実行可能となっていることが示されている。
本実施形態の情報処理装置1において、CPU1は、ROM2又はHDD4に格納されている各種の制御プログラムを実行することによって、ハイパーバイザ21、メインOS31、ゲストOS41,42等の各機能を実現する。また、ハイパーバイザ21は、ハイパーバイザプログラム20に含まれるモジュールにより、ゲストOS動作管理部22、仮想マシンハードウェア管理部23、アプリケーション動作管理部24、アプリケーション連携管理部25等の各機能を有する。
メインOS31は、メインOSプログラム30に含まれるモジュールにより、設定ファイル生成部32の機能を有する。また、ゲストOS41,42のそれぞれは、それぞれのゲストOSプログラム40に含まれるモジュールにより、アプリケーション状態監視部41a,42aの機能を有する。
本実施形態の情報処理装置10において、メインOS31の動作環境(メイン仮想マシン)を使用中のユーザは、情報処理装置10をLANに接続させたい場合、ネットワーク接続アプリケーションの実行をメインOS31に指示する。メインOS31は、ネットワーク接続アプリケーション(主処理のサービス)の動作に関する情報が記載されたアプリケーション動作ファイル51をHDD4から、自身に割り当てられたRAM3に読み出す。そして、メインOS31の設定ファイル生成部(設定情報取得手段、連携情報取得手段)32は、自身に割り当てられたRAM3に読み出されたアプリケーション動作ファイル51から、ゲストOS設定ファイル33及び連携設定ファイル34を生成する。
図5はゲストOS設定ファイル33及び連携設定ファイル34の内容を示す模式図である。なお、図5(a)はゲストOS設定ファイル33に含まれる仮想マシン情報テーブルを示しており、図5(b)はゲストOS設定ファイル33に含まれる連携情報テーブルを示している。また、図5(c)は連携設定ファイル34を示している。
ゲストOS設定ファイル33の仮想マシン情報テーブルには、それぞれのゲストOS41,42に対する動作条件を示す設定情報が記載されている。具体的には、仮想マシン情報テーブルには、図5(a)に示すように、それぞれのアプリケーションを実行させる仮想マシン毎に、仮想マシンを識別するための仮想マシンID(IDentifier)、仮想マシンにおけるゲストOSを識別するためのゲストOS−ID及び仮想LANI/Fを識別するための仮想LANI/F−ID及び各仮想LANI/Fのポート番号等を含む仮想マシン情報が記載されている。
ゲストOS設定ファイル33の連携情報テーブルには、それぞれのゲストOS41,42間の連携(接続)関係を示す連携情報が記載されている。具体的には、連携情報テーブルには、図5(b)に示すように、それぞれの連携情報の連携情報IDに対応させて、仮想マシン間において連携(接続)される2つの仮想LANI/Fの仮想LANI/F−ID及びポート番号が記載されている。
連携設定ファイル34には、それぞれのゲストOS41,42が実行するアプリケーション(副処理)間の関係を示す連携情報が記載されている。具体的には、連携設定ファイル34には、図5(c)に示すように、それぞれのゲストOS41,42毎に、ゲストOS−ID、ゲストOS41,42に実行させるアプリケーションを識別するためのアプリケーションID、アプリケーションの優先順位、アプリケーション間を連携するために他の仮想マシン(ゲストOS41,42)に連携(接続)される仮想LANI/Fのポート番号が記載されている。
設定ファイル生成部32は、アプリケーション動作ファイル51に記載されたアプリケーション情報毎に、仮想マシン情報を生成し、ゲストOS設定ファイル33に登録する。例えば、設定ファイル生成部32は、アプリケーション動作ファイル51に記載された1つ目のアプリケーション情報に基づいて、第1ゲストOS41、第2LANI/F43、第3LANI/F44及び第4LANI/F45を含む第1仮想マシンを示す仮想マシン情報を生成してゲストOS設定ファイル33に登録する。
また、設定ファイル生成部32は、アプリケーション動作ファイル51に記載された1つ目のアプリケーション情報に基づいて、第1ゲストOS41のゲストOS−IDと、ネットワーク接続アプリケーション(第1アプリケーション)のアプリケーションIDとを対応付けて連携設定ファイル34に登録する。
次に、設定ファイル生成部32は、アプリケーション動作ファイル51に記載された2つ目のアプリケーション情報に基づいて、第2ゲストOS42及び第5LANI/F46を含む第2仮想マシンを示す仮想マシン情報を生成してゲストOS設定ファイル33に登録する。また、設定ファイル生成部32は、アプリケーション動作ファイル51に記載された2つ目のアプリケーション情報に基づいて、第2ゲストOS42のゲストOS−IDと、ユーザ認証アプリケーション(第2アプリケーション)のアプリケーションIDとを対応付けて連携設定ファイル34に登録する。
なお、連携設定ファイル34に登録される優先順位は、本実施形態では、アプリケーション動作ファイル51において、各アプリケーションのアプリケーション情報の記載順番とする。従って、アプリケーション動作ファイル51に1番目にアプリケーション情報が記載されているネットワーク接続アプリケーションの優先順位を1番とし、2番目にアプリケーション情報が記載されているユーザ認証アプリケーションの優先順位を2番とする。
しかし、例えば、アプリケーション動作ファイル51に各アプリケーションに対する優先順位を記載しておく構成としてもよく、この場合、アプリケーション動作ファイル51に記載された優先順位を連携設定ファイル34に登録される優先順位とすればよい。
次に、設定ファイル生成部32は、アプリケーション動作ファイル51に記載されたアプリケーション間連携情報に基づいて、それぞれのゲストOS41,42において、他のゲストOS41,42と連携されるLANI/F43,46に割り当てられたポート番号を連携設定ファイル34に登録する。
なお、図2に示したアプリケーション動作ファイル51では、アプリケーション間連携情報として、ポート番号が9002の第2LANI/F43と、ポート番号が9005の第5LANI/F46とが連携されることが記載されている。従って、設定ファイル生成部32は、連携設定ファイル34の各ゲストOS41,42に対応するポート番号の欄にそれぞれ9002,9005を登録する。
更に、設定ファイル生成部32は、アプリケーション動作ファイル51に記載されたゲストOS間連携情報に基づいて、それぞれのゲストOS41,42(仮想マシン)間の連携関係を示す連携情報を生成し、ゲストOS設定ファイル33の連携情報テーブルに登録する。なお、図2に示したアプリケーション動作ファイル51では、ゲストOS間連携情報として、ポート番号が9001の第1LANI/F36と、ポート番号が9003の第3LANI/F44とが連携されていることが記載されている。従って、設定ファイル生成部32は、ゲストOS設定ファイル33の連携情報テーブルに、第1LANI/F36と第3LANI/F44との連携関係を示す連携情報IDが1の連携情報を登録する。
同様に、設定ファイル生成部32は、ゲストOS設定ファイル33の連携情報テーブルに、第2LANI/F43と第5LANI/F46との連携関係を示す連携情報IDが2の連携情報、第4LANI/F45と外部ネットワークとの連携関係を示す連携情報IDが3の連携情報を登録する。なお、外部ネットワークを示す情報としては、例えば、通信部7のネットワークカードに割り当てられたMedia Access Control(MAC)アドレスを用いてもよい。
メインOS31は、設定ファイル生成部32によって生成されたゲストOS設定ファイル33及び連携設定ファイル34をハイパーバイザ21へ送出する。ハイパーバイザ21は、メインOS31から取得したゲストOS設定ファイル33をゲストOS動作管理部22及び仮想マシンハードウェア管理部23へ入力し、連携設定ファイル34をアプリケーション動作管理部24及びアプリケーション連携管理部25に入力する。
ハイパーバイザ21のゲストOS動作管理部22は、ゲストOS設定ファイル33の仮想マシン情報テーブルの内容に基づいて、対応するゲストOSプログラム40を実行させ、それぞれのゲストOS41,42を起動させる。ハイパーバイザ21の仮想マシンハードウェア管理部23は、ゲストOS設定ファイル33の仮想マシン情報テーブルの内容に基づいて、ゲストOS動作管理部22が起動させたゲストOS41,42に、それぞれ対応する仮想LANI/F43,44,45,46を割り当てる。また、仮想マシンハードウェア管理部23は、ゲストOS設定ファイル33の連携情報テーブルの内容に基づいて、それぞれ連携すべき仮想LANI/F間をブリッジする。
これにより、ハイパーバイザ(設定手段)21は、ゲストOS設定ファイル33の仮想マシン情報テーブルに登録された仮想マシン情報に対応した仮想マシンをそれぞれ起動させることができる。また、ゲストOS設定ファイル33の連携情報テーブルに登録された連携情報に基づいて、連携させるべき仮想マシン間を連携させることができる。
ゲストOS41,42のアプリケーション状態監視部(監視手段)41a,42aは、それぞれのゲストOS41,42が実行するアプリケーションの動作状態を監視し、監視結果をハイパーバイザ21のアプリケーション連携管理部25に通知する。
具体的には、アプリケーション状態監視部41aは、第1ゲストOS41が実行する第1アプリケーションプログラム(ネットワーク接続アプリケーション)50aの動作状態を監視し、その監視結果をアプリケーション連携管理部25に通知する。また、アプリケーション状態監視部42aは、第2ゲストOS42が実行する第2アプリケーションプログラム(ユーザ認証アプリケーション)50bの動作状態を監視し、その監視結果をアプリケーション連携管理部25に通知する。
なお、本実施形態では、アプリケーション状態監視部41a,42aを実現するためのモジュールをゲストOSプログラム40に含めておき、ゲストOS41,42の起動と共にアプリケーション状態監視部41a,42aを起動させる構成である。この構成のほかに、例えば、アプリケーション状態監視部41a,42aを実現するためのモジュールをゲストOSプログラム40とは別にHDD4に格納させておき、ゲストOS41,42の起動後に、HDD4からロードしてゲストOS41,42に実行させるようにしてもよい。
アプリケーション状態監視部41a,42aのそれぞれは、ゲストOS41,42の起動と共に起動(動作を開始)した場合、その旨をハイパーバイザ21のアプリケーション連携管理部25に通知する。ハイパーバイザ21のアプリケーション連携管理部25は、各ゲストOS41,42のアプリケーション状態監視部41a,42aの起動完了を確認すると、その旨をアプリケーション動作管理部24に通知する。
アプリケーション動作管理部24は、ゲストOS41,42及びゲストOS41,42のアプリケーション状態監視部41a,42aが起動したことを確認すると、連携設定ファイル34の内容に基づいて、各ゲストOS41,42に、それぞれ対応するアプリケーションプログラム50a,50bを起動させる。
具体的には、アプリケーション動作管理部24は、連携設定ファイル34に登録されている優先順位が1番のアプリケーション及びこのアプリケーションを実行させるゲストOS41,42を特定する。そして、アプリケーション動作管理部24は、特定したゲストOS41,42に、特定したアプリケーションプログラム50a,50bを起動させる。ここでは、優先順位が1番のアプリケーションとして、第1ゲストOS41にネットワーク接続アプリケーション50aを起動させる。
アプリケーション動作管理部24は、第1ゲストOS41のアプリケーション状態監視部41aから通知される監視結果に基づいて、ネットワーク接続アプリケーション50aの起動が完了したか否かを判断し、ネットワーク接続アプリケーション50aの起動が完了するまで待機する。ネットワーク接続アプリケーション50aの起動が完了した場合、アプリケーション動作管理部24は、次に優先順位の高いアプリケーション及びこのアプリケーションを実行させるゲストOS41,42を特定する。
ここでは、優先順位が2番のアプリケーションとして、ユーザ認証アプリケーション50bと、ユーザ認証アプリケーション50bを実行させる第2ゲストOS42とを特定し、第2ゲストOS42にネットワーク接続アプリケーション50aを起動させる。アプリケーション動作管理部24は、第2ゲストOS42のアプリケーション状態監視部42aから通知される監視結果に基づいて、ユーザ認証アプリケーション50bの起動が完了したか否かを判断し、ユーザ認証アプリケーション50bの起動が完了するまで待機する。
アプリケーション動作管理部24は、連携設定ファイル34に登録された全てのアプリケーションプログラム50の起動が完了するまで、上述した処理を繰り返す。全てのアプリケーションプログラム50の起動が完了した場合、アプリケーション動作管理部24は、優先順位が1番のアプリケーションを実行させる第1ゲストOS41のアプリケーション状態監視部41aに対して、他のアプリケーションを実行させる他のゲストOS42との間の通信路が確保されているかを問い合わせる。
アプリケーション動作管理部24は、アプリケーション状態監視部41aから通信路が確保されていることを通知された場合、その旨をアプリケーション連携管理部25へ通知する。なお、第1ゲストOS41及び第2ゲストOS42間の通信路が確保された場合、第1ゲストOS41及び第2ゲストOS42のそれぞれによって実行されるアプリケーション50a,50b間において連携が取れるので、アプリケーション50a,50bによる処理を開始できる。
即ち、ここでは、第1ゲストOS41がネットワーク接続アプリケーション50aの実行を開始し、第2ゲストOS42がユーザ認証アプリケーション50bの実行を開始することにより、ユーザ認証アプリケーション50bを含むネットワーク接続アプリケーション50aの実行が開始される。アプリケーション連携管理部25は、アプリケーション状態監視部41a,42aからの監視結果に基づいて、ネットワーク接続アプリケーション50a及びユーザ認証アプリケーション50bの動作状況を把握し、必要に応じて、ネットワーク接続アプリケーション50a及びユーザ認証アプリケーション50bの処理結果をゲストOS41,42間で中継する。
このように、アプリケーション連携管理部25は、連携設定ファイル34に従って、ゲストOS41,42のそれぞれにアプリケーション50a,50bを実行させることによって、ユーザ認証アプリケーション50bを含むネットワーク接続アプリケーション50a(主処理)を実行させる制御手段として動作する。
上述した処理により、ユーザが、ネットワーク接続アプリケーション50aの開始を指示することによって、ゲストOS41,42を起動させると共に、第1ゲストOS41にネットワーク接続アプリケーション50aを実行させ、第2ゲストOS42にユーザ認証アプリケーション50bを実行させることができる。よって、従来では、ゲストOS41,42を個別に起動させるための操作、アプリケーションプログラム50a,50bを個別に起動させるための操作を行なう必要があったが、このような操作が不要となる。従って、ユーザの操作性を向上させることができる。
以下に、上述したようにゲストOS41,42が、連携されつつそれぞれのアプリケーションプログラム50a,50bを実行している状態で、アプリケーションプログラム50a,50bを終了させる場合にハイパーバイザ21が行なう処理について説明する。まず、ユーザがネットワーク接続アプリケーション50aの終了指示を行なった場合の処理について説明する。
ユーザが、メインOS31の動作環境において操作部5を介してネットワーク接続アプリケーション50aの終了指示を行なった場合、ハイパーバイザ21は、メインOS31を介してネットワーク接続アプリケーション50aの終了指示を受け付ける。ハイパーバイザ21のアプリケーション動作管理部24は、連携設定ファイル34の内容に基づいて、最も優先順位が低いアプリケーションを特定し、特定したアプリケーションを終了させる。ここでは、優先順位が2番のユーザ認証アプリケーション50bが特定されて終了される。
アプリケーション動作管理部24は、第2ゲストOS42のアプリケーション状態監視部42aから通知される監視結果に基づいて、ユーザ認証アプリケーション50bが終了したか否かを判断し、ユーザ認証アプリケーション50bが終了するまで待機する。ユーザ認証アプリケーション50bが終了した場合、アプリケーション動作管理部24は、次に優先順位が低いアプリケーションを特定し、特定したアプリケーションを終了させる。ここでは、優先順位が1番のネットワーク接続アプリケーション50aが特定されて終了される。
アプリケーション動作管理部24は、第1ゲストOS41のアプリケーション状態監視部41aから通知される監視結果に基づいて、ネットワーク接続アプリケーション50aが終了したか否かを判断し、ネットワーク接続アプリケーション50aが終了するまで待機する。アプリケーション動作管理部24は、連携設定ファイル34に登録された全てのアプリケーションプログラム50が終了するまで、上述した処理を繰り返す。全てのアプリケーションプログラム50が終了した場合、アプリケーション動作管理部24は、その旨をゲストOS動作管理部22に通知する。
ゲストOS動作管理部22は、全てのアプリケーションプログラム50が終了した旨をアプリケーション動作管理部24から通知された場合、ゲストOS41,42の動作を終了させると共に、ゲストOS41,42に割り当てられていたハードウェア各部のゲストOS41,42への割り当てを開放する。
上述した処理により、ユーザが、ネットワーク接続アプリケーション50aを終了させることによって、第1ゲストOS41が実行するネットワーク接続アプリケーション50aだけでなく、第2ゲストOS42が実行するユーザ認証アプリケーション50bを終了させることができる。また同時に、第1ゲストOS41及び第2ゲストOS42も終了させることができる。よって、従来では、アプリケーションプログラム50a,50bを個別に終了させるための操作、ゲストOS41,42を個別に終了させるための操作を行なう必要があったが、このような操作が不要となる。従って、ユーザの操作性を向上させることができる。
次に、いずれかのアプリケーションプログラム50が何らかの理由で不正に終了した場合にハイパーバイザ21が行なう処理について説明する。ハイパーバイザ21のアプリケーション動作管理部24は、アプリケーション状態監視部41a,42aからの監視結果に基づいて、アプリケーションプログラム50a,50bの動作状況を監視している。
いずれかのアプリケーション状態監視部41a,42aからアプリケーションプログラム50a,50bが終了したことを通知された場合、アプリケーション動作管理部24は、連携設定ファイル34の内容に基づいて、現在動作中のアプリケーションプログラム50a,50bに、終了したアプリケーションプログラム50a,50bよりも優先順位が高いアプリケーションが有るか否かを判断する。
アプリケーション動作管理部24は、終了したアプリケーションプログラム50a,50bよりも優先順位が高いアプリケーションが無いと判断した場合、全てのアプリケーションプログラム50a,50bを終了させる。これは、ユーザによってアプリケーションの終了が指示された可能性があるためである。なお、全てのアプリケーションプログラム50a,50bを終了させる手順は、上述したように、連携設定ファイル34の内容に基づいて、優先順位の低いアプリケーションから順に終了させる。
そして、全てのアプリケーションプログラム50a,50bが終了した後に、ゲストOS動作管理部22が、全てのゲストOS41,42の動作を終了させると共に、ゲストOS41,42に割り当てられていたハードウェア各部のゲストOS41,42への割り当てを開放する。
一方、終了したアプリケーションプログラム50a,50bよりも優先順位が高いアプリケーションが有る場合、優先順位が低いアプリケーション50a,50bのみが何らかの理由で不正終了した可能性が高いため、アプリケーション動作管理部24は、このアプリケーション50a,50bを再度起動させる。なお、ここでは、ネットワーク接続アプリケーション50aは優先順位が1番であるので、終了したアプリケーションは、ユーザ認証アプリケーション50bであるとする。
アプリケーション動作管理部24は、アプリケーション状態監視部42aから通知される監視結果に基づいて、アプリケーションプログラム50bの起動が完了したか否かを判断し、起動が完了するまで待機する。アプリケーションプログラム50bの起動が完了した場合、アプリケーション動作管理部24は、優先順位が1番のアプリケーションを実行させる第1ゲストOS41のアプリケーション状態監視部41aに対して、他のアプリケーションを実行させる他のゲストOS42との間の通信路が確保されているかを問い合わせる。
アプリケーション動作管理部24は、アプリケーション状態監視部41aから通信路が確保されていることを通知された場合、その旨をアプリケーション連携管理部25へ通知し、アプリケーション50a,50bによる処理が再開される。
上述した処理により、いずれかのアプリケーションプログラム50が不正に終了した場合であっても、終了したアプリケーションプログラム50のみを再度起動させることにより、他のアプリケーションプログラム50の処理に影響を与えない。よって、異なるアプリケーションプログラム50を異なるゲストOS41,42に実行させる環境において、それぞれのゲストOS41,42の動作環境が他のゲストOS41,42の動作環境に影響を与えないので、各アプリケーションプログラム50を安定して動作させることができる。
以下に、本実施形態の情報処理装置10において、複数のOS(ゲストOS)にそれぞれ異なるアプリケーション(副処理)を実行させることによって主処理のアプリケーションを情報処理装置10に実行させる際の処理についてフローチャートに基づいて説明する。図6及び図7はアプリケーション開始時の処理の手順を示すフローチャートである。なお、以下の処理は、情報処理装置10のROM2又はHDD4に格納してある制御プログラムに従ってCPU1(ハイパーバイザ21、メインOS31、ゲストOS41,42等)によって実行される。
情報処理装置10のCPU1(メインOS31)は、ユーザが操作部5を操作することによって主処理のアプリケーションの実行が指示された場合、このアプリケーションに対応するアプリケーション動作ファイル51をRAM3に読み込む(S1)。CPU1(メインOS31の設定ファイル生成部32)は、RAM3に読み込んだアプリケーション動作ファイル51から、それぞれのゲストOS41,42に対する動作条件を示すゲストOS設定ファイル33を生成する(S2)。
また、CPU1は、RAM3に読み込んだアプリケーション動作ファイル51から、それぞれのゲストOS41,42が実行するアプリケーション間の関係を示す連携情報を示す連携設定ファイル34を生成する(S3)。
CPU1(ハイパーバイザ21のゲストOS動作管理部22)は、生成したゲストOS設定ファイル33に基づいて、それぞれのゲストOSプログラム40を実行させてゲストOS41,42を起動させる(S4)。なお、CPU1(仮想マシンハードウェア管理部23)は、ゲストOS41,42を起動させると共に、起動させたゲストOS41,42に、それぞれ対応する仮想LANI/F43,44,45,46を割り当てる。
CPU1は、ゲストOS設定ファイル33に登録されている全てのゲストOS41,42が起動したか否かを判断しており(S5)、起動していないと判断した場合(S5:NO)、ステップS4へ処理を戻し、全てのゲストOS41,42が起動するまで待機する。全てのゲストOS41,42が起動したと判断した場合(S5:YES)、CPU1は、ゲストOS41,42のそれぞれのアプリケーション状態監視部41a,42aが起動したか否かを判断する(S6)。
アプリケーション状態監視部41a,42aが起動していないと判断した場合(S6:NO)、CPU1は、全てのアプリケーション状態監視部41a,42aが起動するまで待機する。全てのアプリケーション状態監視部41a,42aが起動したと判断した場合(S6:YES)、CPU1(アプリケーション動作管理部24)は、連携設定ファイル34に基づいて、優先順位が1番のアプリケーション50を特定し、特定したアプリケーション50を対応するゲストOS41,42に起動させる(S7)。
CPU1は、対応するゲストOS41,42のアプリケーション状態監視部41a,42aから通知される監視結果に基づいて、優先順位が1番のアプリケーション50の起動が完了したか否かを判断する(S8)。優先順位が1番のアプリケーション50の起動が完了していないと判断した場合(S8:NO)、CPU1は、このアプリケーション50の起動が完了するまで待機する。優先順位が1番のアプリケーション50の起動が完了したと判断した場合(S8:YES)、CPU1は、連携設定ファイル34に基づいて、起動すべきアプリケーション50がまだ有るか否かを判断する(S9)。
起動すべきアプリケーション50が有ると判断した場合(S9:YES)、CPU1は、連携設定ファイル34に基づいて、優先順位が次(ここでは2番)のアプリケーション50を特定し、特定したアプリケーション50を対応するゲストOS41,42に起動させる(S10)。CPU1は、ステップS8へ処理を戻し、このアプリケーション50の起動が完了したか否かを判断し(S8)、このアプリケーション50の起動が完了するまで待機する。
起動すべきアプリケーション50が無いと判断した場合(S9:NO)、CPU1は、優先順位が1番のアプリケーション50を実行させるゲストOS41(又は42)のアプリケーション状態監視部41a(又は42a)に対して、他のアプリケーションを実行させる他のゲストOS42(又は41)との間の通信路が確保されているかを問い合わせる。CPU1は、アプリケーション状態監視部41a(又は42a)からの応答に基づいて、ゲストOS41,42間の通信路が確保されたか否かを判断する(S11)。
CPU1は、通信路が確保されていないと判断した場合(S11:NO)、通信路が確保されるまで待機する。CPU1は、通信路が確保されたと判断した場合(S11:YES)、主処理のアプリケーションの動作を開始させ(S12)、主処理のアプリケーションの動作を開始するための処理を終了する。
以下に、本実施形態の情報処理装置10において、上述したように複数のOS(ゲストOS)にそれぞれ異なるアプリケーション(副処理)を実行させることによって主処理のアプリケーションの実行中に情報処理装置10が行なう処理についてフローチャートに基づいて説明する。図8及び図9はアプリケーション実行中の処理の手順を示すフローチャートである。なお、以下の処理は、情報処理装置10のROM2又はHDD4に格納してある制御プログラムに従ってCPU1(ハイパーバイザ21、メインOS31、ゲストOS41,42等)によって実行される。
情報処理装置10のCPU1(メインOS31)は、ユーザが操作部5を操作することによって主処理のアプリケーションの終了が指示されたか否かを判断しており(S21)、指示されたと判断した場合(S21:YES)、ステップS28へ処理を移行する。アプリケーションの終了が指示されていないと判断した場合(S21:NO)、CPU1(ハイパーバイザ21のアプリケーション動作管理部24)は、アプリケーション状態監視部41a,42aから通知される監視結果に基づいて、いずれかのアプリケーション50が終了したか否かを判断する(S22)。
いずれのアプリケーション50も終了していないと判断した場合(S22:NO)、CPU1は、ステップS21へ処理を戻す。いずれかのアプリケーション50が終了したと判断した場合(S22:YES)、CPU1は、連携設定ファイル34に基づいて、現在動作中のアプリケーション50に、終了したアプリケーションプログラム50よりも優先順位が高いアプリケーション50が有るか否かを判断する(S23)。
CPU1は、優先順位が高いアプリケーション50が無いと判断した場合(S23:NO)、ステップS28へ処理を移行する。優先順位が高いアプリケーション50が有ると判断した場合(S23:YES)、CPU1は、終了したアプリケーション50を再度起動させる(S24)。CPU1は、アプリケーション状態監視部41a(又は42a)から通知される監視結果に基づいて、アプリケーション50の起動が完了したか否かを判断し(S25)、起動が完了していないと判断した場合(S25:NO)、待機する。
CPU1は、アプリケーション50の起動が完了したと判断した場合(S25:YES)、ゲストOS41,42間の通信路が確保されているか否かを判断し(S26)、通信路が確保されていないと判断した場合(S26:NO)、待機する。通信路が確保されたと判断した場合(S26:YES)、CPU1は、主処理のアプリケーションの動作を再開させ(S27)、上述した処理を終了する。
アプリケーションの終了が指示されたと判断した場合(S21:YES)、又は優先順位が高いアプリケーション50が無いと判断した場合(S23:NO)、CPU1(アプリケーション動作管理部24)は、連携設定ファイル34に基づいて、最も優先順位が低いアプリケーション50を特定する(S28)。CPU1は、特定したアプリケーション50を終了させ(S29)、まだ起動中のアプリケーション50が有るか否かを判断する(S30)。
起動中のアプリケーション50が有ると判断した場合(S30:YES)、CPU1は、ステップS28へ処理を戻し、次に優先順位が低いアプリケーションを特定し(S28)、特定したアプリケーションを終了させる(S29)。CPU1は、起動中の全てのアプリケーション50が終了するまでステップS28〜S30の処理を繰り返し、起動中のアプリケーション50が無いと判断した場合(S30:NO)、ゲストOS設定ファイル33に登録してある全てのゲストOS41,42の動作を終了させる(S31)。
なお、CPU1(仮想マシンハードウェア管理部23)は、それぞれのゲストOS41,42に割り当てられていたハードウェア各部のゲストOS41,42への割り当てを開放する。
CPU1は、全てのゲストOS41,42の動作が終了したか否かを判断しており(S32)、終了していないと判断した場合(S32:NO)、ステップS31へ処理を戻し待機する。CPU1は、全てのゲストOS41,42の動作が終了したと判断した場合(S32:YES)、複数のOS(ゲストOS)にそれぞれ異なるアプリケーション(副処理)を実行させることによって実行中であった主処理のアプリケーションの動作を終了させる。
上述した実施形態では、アプリケーション動作ファイル51からゲストOS設定ファイル33及び連携設定ファイル34を生成する設定ファイル生成部32の機能をメインOS31が有する構成を例に説明した。この構成に対して、例えば設定ファイル生成部32の機能をハイパーバイザ21に持たせてもよい。
また、上述した実施形態では、第1ゲストOS41にネットワーク接続アプリケーション50aのみを実行させ、第2ゲストOS42にユーザ認証アプリケーション50bのみを実行させる構成であった。このような構成に限られず、例えば、同一のゲストOSに複数のアプリケーションを実行させる場合であっても、同様の処理によって実現が可能であることは勿論である。
また、本願に開示する情報処理装置の制御手段は、連携情報が示す副処理間の関係に基づく順序で、実行手段のそれぞれを起動させる手段と、実行手段のそれぞれが起動した後、実行手段のそれぞれが実行する副処理間の通信路を設定する手段とを備える。このような構成によれば、異なるOS上で動作するアプリケーション同士の起動順序を1つの連携情報が示す副処理間の関係で管理することができ、ユーザによるアプリケーションの起動管理の負担を軽減することが期待できる。
また、本願に開示する情報処理装置は、実行手段のそれぞれにおける動作状態を監視する監視手段を備え、制御手段は、監視手段が監視する各実行手段の動作状態と、連携情報取得手段が取得した連携情報とに基づいて、実行手段のそれぞれの動作を制御する。このような構成によれば、監視手段が副処理間の関係を理解して、異なるOS上で動作するアプリケーションを制御して1つのアプリケーション動作のように見せることとなる。その結果、ユーザはこのシステムのためにアプリケーションを別途用意する必要がなく、アプリケーションの調達に関するコストを削減することが期待できる。
また、本願に開示する情報処理装置の連携情報は、実行手段のそれぞれが実行する処理の優先度を含んでおり、制御手段は、連携情報に含まれる優先度に従って、実行手段のそれぞれを実行させる。このような構成によれば、異なるOS上で動作するアプリケーション同士の起動順序を1つの連携情報が示す副処理間の関係で記載することができ、かつ、起動順序が明確になっているので、アプリケーション同士の連携動作が完了しているかどうかを確認しながら自動的に起動させることができるため、アプリケーションの起動トラブルを軽減させることが期待できる。
また、本願に開示する情報処理装置は、主処理を実行するための実行手段のいずれかの動作が終了した場合、連携情報に含まれる優先度に基づいて、動作を終了した実行手段が実行する処理よりも優先度の高い処理を行なう実行手段が動作中であるか否かを判断する手段を備え、制御手段は、動作を終了した実行手段が実行する処理よりも優先度の高い処理を行なう実行手段が動作中であると判断された場合、動作を終了した実行手段を起動させる。このような構成によれば、連携情報が示す副処理間の関係を正しい状態として、異なるOS上で動作するアプリケーション・OSの異常状態検出、及び復旧をすることができ、トラブル発生時にユーザが行なう操作負担を軽減することが期待できる。
本発明に係る情報処理装置の構成を示すブロック図である。 アプリケーション動作ファイルの内容を示す模式図である。 情報処理装置の機能を示す機能ブロック図である。 情報処理装置の機能を示す機能ブロック図である。 ゲストOS設定ファイル及び連携設定ファイルの内容を示す模式図である。 アプリケーション開始時の処理の手順を示すフローチャートである。 アプリケーション開始時の処理の手順を示すフローチャートである。 アプリケーション実行中の処理の手順を示すフローチャートである。 アプリケーション実行中の処理の手順を示すフローチャートである。
符号の説明
10 情報処理装置
1 CPU
21 ハイパーバイザ(設定手段)
25 アプリケーション連携管理部(制御手段)
31 メインOS(実行手段)
32 設定ファイル生成部(設定情報取得手段、連携情報取得手段)
41,42 ゲストOS(実行手段)
41a,42a アプリケーション状態監視部(監視手段)

Claims (8)

  1. その複数で主処理を実行し、それぞれが副処理を実行する複数の実行手段と、
    実行手段の複数によって実行される主処理毎に、前記実行手段のそれぞれに対する動作条件を示す設定情報と、前記実行手段のそれぞれが実行する副処理間の関係を示す連携情報を含む動作情報が予め記憶してある記憶部と、
    前記記憶部に記憶してある動作情報から、前記実行手段のそれぞれに対する動作条件を示す設定情報を取得する設定情報取得手段と、
    該設定情報取得手段が取得した設定情報に基づいて、前記実行手段のそれぞれの動作状態を設定する設定手段と、
    前記記憶部に記憶してある動作情報から、前記実行手段のそれぞれが実行する副処理間の関係を示す連携情報を取得する連携情報取得手段と、
    該連携情報取得手段が取得した連携情報に従って前記実行手段のそれぞれを実行させることによって前記主処理を実行する制御手段と
    を備える情報処理装置。
  2. 前記制御手段は、
    前記連携情報が示す副処理間の関係に基づく順序で、前記実行手段のそれぞれを起動させる手段と、
    前記実行手段のそれぞれが起動した後、前記実行手段のそれぞれが実行する副処理間の通信路を設定する手段と
    を備える請求項1に記載の情報処理装置。
  3. 前記実行手段のそれぞれにおける動作状態を監視する監視手段を備え、
    前記制御手段は、前記監視手段が監視する各実行手段の動作状態と、前記連携情報取得手段が取得した連携情報とに基づいて、前記実行手段のそれぞれの動作を制御する請求項1又は2に記載の情報処理装置。
  4. 前記連携情報は、前記実行手段のそれぞれが実行する処理の優先度を含んでおり、
    前記制御手段は、前記連携情報に含まれる優先度に従って、前記実行手段のそれぞれを実行させる請求項1乃至3のいずれかひとつに記載の情報処理装置。
  5. 前記主処理を実行するための実行手段のいずれかの動作が終了した場合、前記連携情報に含まれる優先度に基づいて、動作を終了した実行手段が実行する処理よりも優先度の高い処理を行なう実行手段が動作中であるか否かを判断する手段を備え、
    前記制御手段は、動作を終了した実行手段が実行する処理よりも優先度の高い処理を行なう実行手段が動作中であると判断された場合、動作を終了した実行手段を起動させる請求項4に記載の情報処理装置。
  6. 前記設定情報は、前記実行手段のそれぞれに対応するハードウェア資源及びソフトウェア資源の割り当てを示す情報である請求項1乃至5のいずれかひとつに記載の情報処理装置。
  7. その複数で主処理を実行し、それぞれが副処理を実行する複数の実行手段を備える情報処理装置による情報処理方法であって、
    前記情報処理装置は、前記実行手段の複数によって実行される主処理毎に、前記実行手段のそれぞれに対する動作条件を示す設定情報と、前記実行手段のそれぞれが実行する副処理間の関係を示す連携情報とを含む動作情報が予め記憶してある記憶部を有しており、
    前記記憶部に記憶してある動作情報から、前記実行手段のそれぞれに対する動作条件を示す設定情報を取得する設定情報取得ステップと、
    該設定情報取得ステップで取得した設定情報に基づいて、前記実行手段のそれぞれの動作状態を設定する設定ステップと、
    前記記憶部に記憶してある動作情報から、前記実行手段のそれぞれが実行する副処理間の関係を示す連携情報を取得する連携情報取得ステップと、
    該連携情報取得ステップで取得した連携情報に従って前記実行手段のそれぞれを実行させることによって前記主処理を実行するステップと
    を含む情報処理方法。
  8. コンピュータに、その複数で主処理を実行し、それぞれが副処理を実行する複数の実行手段を動作させるためのコンピュータプログラムであって
    前記コンピュータは、前記実行手段の複数によって実行される主処理毎に、前記実行手段のそれぞれに対する動作条件を示す設定情報と、前記実行手段のそれぞれが実行する副処理間の関係を示す連携情報とを含む動作情報が予め記憶してある記憶部を有しており、
    前記コンピュータに、
    前記記憶部に記憶してある動作情報から、前記実行手段のそれぞれに対する動作条件を示す設定情報を取得する設定情報取得ステップと、
    該設定情報取得ステップで取得した設定情報に基づいて、前記実行手段のそれぞれの動作状態を設定する設定ステップと、
    前記記憶部に記憶してある動作情報から、前記実行手段のそれぞれが実行する副処理間の関係を示す連携情報を取得する連携情報取得ステップと、
    該連携情報取得ステップで取得した連携情報に従って前記実行手段のそれぞれを実行させることによって前記主処理を実行するステップと
    を実行させるためのコンピュータプログラム。
JP2008076433A 2008-03-24 2008-03-24 情報処理装置、情報処理方法及びコンピュータプログラム Expired - Fee Related JP5125659B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008076433A JP5125659B2 (ja) 2008-03-24 2008-03-24 情報処理装置、情報処理方法及びコンピュータプログラム
US12/393,601 US8966489B2 (en) 2008-03-24 2009-02-26 Information processing device, information processing method, and computer product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008076433A JP5125659B2 (ja) 2008-03-24 2008-03-24 情報処理装置、情報処理方法及びコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2009230549A JP2009230549A (ja) 2009-10-08
JP5125659B2 true JP5125659B2 (ja) 2013-01-23

Family

ID=41090032

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008076433A Expired - Fee Related JP5125659B2 (ja) 2008-03-24 2008-03-24 情報処理装置、情報処理方法及びコンピュータプログラム

Country Status (2)

Country Link
US (1) US8966489B2 (ja)
JP (1) JP5125659B2 (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2756289C (en) 2009-04-01 2016-02-02 Nicira Networks, Inc. Method and apparatus for implementing and managing virtual switches
JP2011145912A (ja) * 2010-01-15 2011-07-28 Fujitsu Ltd 仮想計算機を使用したクライアントシステム、仮想計算機を使用したクライアント制御方法及びそのプログラム
WO2011117958A1 (ja) * 2010-03-20 2011-09-29 株式会社Pfu 仮想マシン管理装置、仮想マシン管理方法、及びプログラム
JP5615082B2 (ja) * 2010-08-05 2014-10-29 株式会社Nttドコモ 情報処理端末及び画面切替制御方法
US8363656B2 (en) * 2010-09-15 2013-01-29 International Business Machines Corporation Multiple virtual machines sharing a single IP address
WO2012127627A1 (ja) * 2011-03-22 2012-09-27 富士通株式会社 情報装置、画面切替え方法、及び画面切替えプログラム
JP2012216008A (ja) * 2011-03-31 2012-11-08 Nec Corp 仮想計算機装置及び仮想計算機装置の制御方法
US20180074843A1 (en) * 2011-03-31 2018-03-15 P4tents1, LLC System, method, and computer program product for linking devices for coordinated operation
US8914876B2 (en) * 2011-05-05 2014-12-16 Ebay Inc. System and method for transaction security enhancement
JP5561241B2 (ja) * 2011-05-25 2014-07-30 株式会社デンソー マイクロコンピュータ
JP5729146B2 (ja) * 2011-06-03 2015-06-03 富士通株式会社 情報端末装置、情報端末装置の制御方法およびプログラム
JP5903822B2 (ja) * 2011-09-30 2016-04-13 富士通株式会社 設定制御装置、設定制御方法および設定制御プログラム
TW201319827A (zh) * 2011-11-04 2013-05-16 Inventec Corp 執行多重作業系統的方法及電子裝置
EP2748714B1 (en) 2011-11-15 2021-01-13 Nicira, Inc. Connection identifier assignment and source network address translation
JP2014048730A (ja) * 2012-08-29 2014-03-17 Fujitsu Ltd 情報処理装置及び制御方法
JP6182855B2 (ja) * 2012-12-04 2017-08-23 株式会社リコー 画像処理システム及び情報同期方法
US10554760B2 (en) * 2013-09-29 2020-02-04 Xiaomi Inc. Method and networking equipment for acquiring feature information
KR20150108695A (ko) * 2014-03-18 2015-09-30 삼성전자주식회사 디바이스의 메모리 관리 방법 및 장치
US10261814B2 (en) 2014-06-23 2019-04-16 Intel Corporation Local service chaining with virtual machines and virtualized containers in software defined networking
CN105791073B (zh) * 2014-12-23 2019-07-19 华为技术有限公司 一种虚拟化网络中业务部署的方法和装置
JP6163170B2 (ja) * 2015-01-09 2017-07-12 エヌ・ティ・ティ・コミュニケーションズ株式会社 サービス連携システム、サービス連携装置、端末装置、サービス連携方法及びサービス連携プログラム
DE102015214376A1 (de) * 2015-07-29 2017-02-02 Robert Bosch Gmbh Verfahren und Vorrichtung zur On-Board-Diagnose bei einem Steuergerät mit einem Hypervisor und mindestens einem unter dem Hypervisor betriebenen Gastsystem
JP6593110B2 (ja) * 2015-11-02 2019-10-23 コニカミノルタ株式会社 画像形成装置および画像形成装置で実行されるプログラム
JP6615726B2 (ja) 2016-09-16 2019-12-04 株式会社東芝 情報処理装置、情報処理方法及びプログラム
JP6971578B2 (ja) * 2017-01-23 2021-11-24 キヤノン株式会社 情報処理装置及びその制御方法
JP6990994B2 (ja) * 2017-05-26 2022-01-12 キヤノン株式会社 情報処理装置、その制御方法、及びプログラム
JP6777050B2 (ja) * 2017-09-21 2020-10-28 株式会社デンソー 仮想化システム、仮想化プログラム、及び、記憶媒体
JP7151631B2 (ja) * 2019-06-11 2022-10-12 株式会社デンソー 車両用制御装置、車両用表示システム、及び車両用表示制御方法
JP6852762B2 (ja) * 2019-08-06 2021-03-31 コニカミノルタ株式会社 画像形成装置および画像形成装置で実行される調停プログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001142725A (ja) 1999-11-17 2001-05-25 Fujitsu Ten Ltd 情報処理装置
JP2002182560A (ja) * 2000-12-12 2002-06-26 Hitachi Ltd 暗号処理機能を備えた情報サーバ装置
JP2002366914A (ja) * 2001-06-05 2002-12-20 Dainippon Printing Co Ltd マルチプラットフォーム型icカード
US7191440B2 (en) * 2001-08-15 2007-03-13 Intel Corporation Tracking operating system process and thread execution and virtual machine execution in hardware or in a virtual machine monitor
JP3708853B2 (ja) * 2001-09-03 2005-10-19 松下電器産業株式会社 マルチプロセッサシステムおよびプログラム制御方法
US7167916B2 (en) * 2002-08-30 2007-01-23 Unisys Corporation Computer OS dispatcher operation with virtual switching queue and IP queues
EP1418501A1 (fr) * 2002-11-08 2004-05-12 Dunes Technologies S.A. Méthode d'administration d'applications sur des machines virtuelles
US7251815B2 (en) * 2003-04-29 2007-07-31 International Business Machines Corporation Multiple virtual machines sharing processor and work queue in memory having program/dispatch functions for assigning and accessing work items while the virtual machine was not idle
JP2005157786A (ja) 2003-11-26 2005-06-16 Aaron Japan Kk アプリケーション試験システム
TWI299468B (en) * 2004-09-06 2008-08-01 Matsushita Electric Ind Co Ltd Debug system for debugging multi-task system and a circuit device connected with a host computer
JP2006127461A (ja) * 2004-09-29 2006-05-18 Sony Corp 情報処理装置、通信処理方法、並びにコンピュータ・プログラム
US20060184937A1 (en) * 2005-02-11 2006-08-17 Timothy Abels System and method for centralized software management in virtual machines
US7516252B2 (en) * 2005-06-08 2009-04-07 Intel Corporation Port binding scheme to create virtual host bus adapter in a virtualized multi-operating system platform environment
JP4955943B2 (ja) * 2005-06-28 2012-06-20 クラリオン株式会社 情報端末および計算機資源管理方法
DE602006006574D1 (de) * 2005-07-01 2009-06-10 Ibm Verfahren und System zur Verwaltung virtueller Instanzen eines an ein Netzwerk angeschlossenen physischen Ports
US7395416B1 (en) * 2006-09-12 2008-07-01 International Business Machines Corporation Computer processing system employing an instruction reorder buffer
JP2008108075A (ja) * 2006-10-25 2008-05-08 Matsushita Electric Ind Co Ltd タスク切替え制御方法及びコンピュータシステム
US8095932B2 (en) * 2007-08-14 2012-01-10 Intel Corporation Providing quality of service via thread priority in a hyper-threaded microprocessor

Also Published As

Publication number Publication date
US8966489B2 (en) 2015-02-24
US20090240924A1 (en) 2009-09-24
JP2009230549A (ja) 2009-10-08

Similar Documents

Publication Publication Date Title
JP5125659B2 (ja) 情報処理装置、情報処理方法及びコンピュータプログラム
JP4921384B2 (ja) メモリを1台のバーチャル・マシンからもう一方へダイナミックに再割り当てする方法、装置及びシステム
US8448174B2 (en) Information processing device, information processing method, and recording medium
JP4487920B2 (ja) ブート制御方法および計算機システム並びにその処理プログラム
US6591358B2 (en) Computer system with operating system functions distributed among plural microcontrollers for managing device resources and CPU
TWI506445B (zh) 用於虛擬作業系統的直接記憶體存取篩選器的電腦系統、方法及電腦可讀取儲存媒體
US7992032B2 (en) Cluster system and failover method for cluster system
JP5212360B2 (ja) 制御プログラム、制御システムおよび制御方法
US20100192214A1 (en) Information processing apparatus, information processing method, and recording medium including computer program
US20110029971A1 (en) Information processing apparatus, image processing method and computer program
JP5149732B2 (ja) 仮想計算機システム
JP2011510380A (ja) アプリケーションにおける処理によるコンテンツの分離
JP2007233815A (ja) 情報処理システムおよび情報処理装置の割当管理方法
JP4957765B2 (ja) ソフトウェアプログラム実行装置、ソフトウェアプログラム実行方法、及びプログラム
JP2008107966A (ja) 計算機システム
US20100229114A1 (en) User Interface for Interaction with Virtual Machine
US20120311490A1 (en) Methods for launching applications with efficient user impression
KR20180135645A (ko) 가상 데스크탑 통합 운영 장치 및 방법
JPH1139143A (ja) 演算装置、該装置の制御方法、前記装置の制御プログラムを記憶した記憶媒体、演算装置を利用した電子回路装置、該装置の制御方法、前記装置の制御プログラムを記憶した記憶媒体
JP4883492B2 (ja) 仮想マシン管理システムおよび計算機、並びに、プログラム
JPH11288366A (ja) 情報処理方法及び装置並びに記憶媒体
JP2006252097A (ja) 情報処理システム、情報処理装置及び情報処理方法、並びにコンピュータ・プログラム
JP5637934B2 (ja) 仮想化装置、仮想化装置制御方法、仮想化装置制御プログラム
WO2022249240A1 (ja) 起動システム及び起動方法
JP2002287986A (ja) サーバ計算機、分散処理環境システム、プログラムおよび分散処理環境方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101119

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120131

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120326

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120823

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5125659

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees