説明

電子計算機及びソフトウェアによるユーザインタフェースの実現方法

【課題】ユーザが常に利用する必要があるユーザインタフェース(UI)を別OS上に実装することで、作業中のOSの応答速度が低下した場合や設定変更によりUIが画面上から消えた場合にも、別OS上のUIを利用可能にする。
【解決手段】ソフトウェアによるUIを提供する電子計算機が、第一及び第二のOSと、第一のOS上の第一の設定変更UIアプリケーションと、第二のOS上で実行され第一の設定変更UIアプリケーションによって提供されるUI機能の一部と同等の機能を提供する第二の設定変更UIアプリケーションと、からの命令に従って動作し、第二の設定変更UIアプリケーションに従って設定変更の要求を入力する機能と、要求された設定変更を第一のOSに従って実施する機能と、第二の設定変更UIアプリケーションに従って当該設定変更の結果を出力する機能と、を具備するように構成される。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ソフトウェアによるユーザインタフェース(User Interface:UI)を提供する電子計算機(コンピュータ)に関する。
【背景技術】
【0002】
ユーザと電子計算機とが情報の受け渡しをするのを実現するために、電子計算機はユーザインタフェースを提供する。一般に、OS(Operating System:オペレーティングシステム)上で動作する通常のソフトウェアがユーザインタフェースを表示装置の画面上に表示する。また、ハードウェア機能の一部については、ハードウェアによるインタフェース、例えば、ボリューム調節ボタン、電源ボタン等が用意されている。
【0003】
ソフトウェアによるインタフェースの場合、状況によっては利用することができない、反応が遅い、といった問題がある。例えば、第一に、OSやアプリケーション(Application)がハングアップすると利用することができない。第二に、システムの負荷が高い場合には応答が遅くなる。第三に、誤操作等により設定が変更された場合、表示画面上のいつもの場所にインタフェースが存在しなくなる。一方、ハードウェアによるインタフェースの場合、固定されていて拡張性に乏しい、という問題が存在する。
【0004】
このような問題を解決することを目的とするものではないが、仮想マシン(Virtual Machine:VM)という技術がある。図1に示されるように、仮想マシンは、他のアプリケーション(AP)と同様にホストOS上の一つのプロセスとして実行される。したがって、通常のアプリケーションと同様に、仮想マシン上のゲストOSを一時的に停止させることも可能である。また、仮想マシン上のゲストOSの応答速度が低下しても、ホストOS側は影響を受けない。現行の仮想マシン製品では、仮想マシンの設定項目として、仮想化されているデバイスレベル(サウンド、ネットワーク等)で有効無効を切り替えることが可能である。
【0005】
なお、本発明に関連する先行技術文献として、下記特許文献1には、第一のOSと他のOSが管理するハードウェア資源を分割する手順と、他のOSを起動する手順と、実行OSを切替える手順と、割り込み要因により割り込み処理するOSを決定し、適切な割り込みハンドラを起動する手順とにより、複数のOSの同時実行を実現するマルチOS構成方法が開示されている。
【0006】
また、下記特許文献2には、ハードウェア資源が分離独立した上で動作する第二のOSにより、第一のOSの障害を判断し検出して、重要なデータを引き継いで第一のOSの自動再立ち上げを行う、異種OS間制御による障害復旧方法が開示されている。
【0007】
また、下記特許文献3には、仮想計算機の定義及び仮想計算機に対する操作指示を行うための仮想計算機制御スクリーンの表示制御を行う制御用仮想計算機を設け、仮想計算機制御プログラムが入力装置からの画面切り替え指示に応じて、各仮想計算機の各画面スクリーン又は仮想計算機制御スクリーンのいずれかをディスプレイ画面上に排他的に表示する仮想計算機システムが開示されている。
【0008】
【特許文献1】特開平11−149385号公報
【特許文献2】特開2001−101034号公報
【特許文献3】特開2002−318699号公報
【発明の開示】
【発明が解決しようとする課題】
【0009】
本発明は、上述した問題点に鑑みてなされたものであり、その目的は、ユーザが常に利用する必要があるユーザインタフェースを別OS上に実装することで、作業中のOSの応答速度が低下した場合や、設定変更によりユーザインタフェースが画面上から消えた場合にも、別OS上のユーザインタフェースを利用することができる電子計算機を提供することにある。
【課題を解決するための手段】
【0010】
上記目的を達成するために、本発明によれば、ソフトウェアによるユーザインタフェースを提供する電子計算機であって、第一及び第二のOSと、前記第一のOS上で実行される第一の設定変更ユーザインタフェースアプリケーションと、前記第二のOS上で実行され、前記第一の設定変更ユーザインタフェースアプリケーションによって提供されるユーザインタフェース機能の一部と同等の機能を提供する第二の設定変更ユーザインタフェースアプリケーションと、からの命令に従って動作し、前記第二の設定変更ユーザインタフェースアプリケーションに従って設定変更の要求を入力する機能と、要求された設定変更を前記第一のOSに従って実施する機能と、前記第二の設定変更ユーザインタフェースアプリケーションに従って当該設定変更の結果を出力する機能と、を具備することを特徴とする電子計算機が提供される。
【0011】
一つの好適な態様では、前記第二のOS上のプロセスとして仮想マシンが実行されることで前記第二のOSがホストOSとして機能し、前記第一のOSが前記仮想マシン上でゲストOSとして実行される。
【0012】
一つの好適な態様では、前記第二の設定変更ユーザインタフェースアプリケーションによって提供されるユーザインタフェースが常に表示画面の同じ位置に表示される。
【0013】
一つの好適な態様では、前記第一のOSが通常の作業用のOSとして使用される。
【0014】
また、本発明によれば、上述のように電子計算機を機能させるためのプログラム、及び、上述の電子計算機において実施される方法が提供される。
【発明の効果】
【0015】
本発明による電子計算機にあっては、ユーザに対し即時に応答する必要があるユーザインタフェースを第二のOS側にも設けることができるため、システムの負荷が高い、アプリケーションがハングアップしている等、システムが正常に動作していない場合にも、ユーザが実行したい設定変更作業を第二のOS側ですぐに実行することが可能となる。また、第一のOS側でのユーザインタフェース設定変更が、第二のOS側に影響しない。
【発明を実施するための最良の形態】
【0016】
以下、添付図面を参照して本発明の実施形態について説明する。図2は、本発明による電子計算機の一実施形態としてのノート型パーソナルコンピュータ(PC)の外観を示す図である。このノート型PCは、プロセッサ、メモリ等を内部に備えるとともに、ユーザとの間の入出力装置としてキーボード210、ディスプレイ220等を備える。プロセッサは、メモリにロードされたソフトウェアからの命令に従って処理を実行する。
【0017】
図3は、図2に示されるノート型PCのソフトウェア構成を示す図である。図3において、符号310は管理用ホストOS(第二のOS)、符号320はホストOS310上の一つのプロセスとして実行される仮想マシン、符号330は仮想マシン320上で実行される作業用ゲストOS(第一のOS)、をそれぞれ示す。
【0018】
また、符号340は、ゲストOS330上で実行される第一の設定変更ユーザインタフェース(UI)アプリケーションを示し、符号350は、ホストOS310上で実行され、第一の設定変更ユーザインタフェース(UI)アプリケーション340によって提供されるユーザインタフェース(UI)機能の一部と同等の機能を提供する第二の設定変更ユーザインタフェース(UI)アプリケーションを示す。
【0019】
図3に示されるように、仮想マシン(VM)技術を利用することで、通常使用されるOSをVM上の作業用ゲストOS330としてインストールすることができる。そして、ユーザが常に利用する必要があるユーザインタフェース(UI)を管理するアプリケーション350が管理用ホストOS310側に用意される。例えば、管理用ホストOS310には、ゲストOS330側の設定変更UIアプリケーション340の一部、例えば、サウンドのボリュームコントロール等がアプリケーション350として実装される。
【0020】
なお、図2におけるディスプレイ220の表示画面の中で、符号222は、作業用ゲストOS330による表示部分を示し、一方、符号224は、管理用ホストOS310上の第二の設定変更UIアプリケーション350による表示部分を示す。
【0021】
図4は、図3に示されるソフトウェア構成の下での設定変更動作について説明するための図である。仮想マシン(VM)技術におけるゲストOSとホストOSとは、仮想ネットワークを介して通信することができる。管理用ホストOS310側の第二の設定変更UIアプリケーション350は、作業用ゲストOS330内の設定変更サービス332とネットワークで通信し、設定変更UIによる設定変更操作に関する通知を行なう。設定変更サービス332は、その通知に従って実際のゲストOS330側の設定を変更する。
【0022】
すなわち、設定変更サービス332は、ユーザのマウス/キーボード操作をエミュレートしてゲストOS330上の第一の設定変更UIアプリケーション340を操作するか、あるいは、直接、OS標準のAPI(Application Programming Interface)を通じて設定変更を行なう。ホストOS310側の第二の設定変更UIアプリケーション350は、ユーザの操作に対して処理を実行したというフィードバックをユーザに返す。以下、具体的な処理の手順について説明する。
【0023】
図5は、ホストOS310側の第二の設定変更UIアプリケーション350の処理手順を示すフローチャートである。まず、作業用ゲストOS330側の設定変更サービス332を起動する(ステップ502)。次いで、サービス332が起動中であるか否かを判断する(ステップ504)。起動中でない場合には、処理を終了する。
【0024】
一方、サービス332が起動中であれば、ホストOS側の設定変更UIを画面の一部224に表示する(ステップ506)。次いで、当該設定変更UIによる設定変更操作を受けて、その要求を入力する(ステップ508)。次いで、作業用ゲストOS330側の設定変更サービス332へ設定変更を要求する(ステップ510)。
【0025】
当該要求を受けたサービス332の処理については、後述する。最後に、サービス332から当該設定変更の結果を受信して、設定変更UIへフィードバックする(ステップ512)。その後、ステップ504に戻り、以上の処理を繰り返す。
【0026】
一方、図6は、ゲストOS330における設定変更サービス332の処理手順を示すフローチャートである。まず、ホストOS310側の第二の設定変更UIアプリケーション350から設定変更要求を受信する(ステップ602)。
【0027】
次いで、受信された要求に従って設定変更を実施する(ステップ604)。最後に、ホストOS310側の第二の設定変更UIアプリケーション350へ変更結果を返して(ステップ606)、処理を終了する。
【0028】
本発明では、通常利用されるゲストOSの負荷が高く、マウス操作等に対する応答が悪い場合などにも、ホストOS側の設定変更UIから必要な操作を行うことができる。通常、OSの負荷が高い場合には、UI操作に対する応答が悪くなるためにユーザの意図した操作ができているのかどうか分からずユーザを混乱させてしまう。本発明では、ホストOS側の設定変更UIはゲストOSの状態によらずフィードバックを返すことができるため、こういった問題を解決することができる。
【0029】
また、一般のOSの設定変更UIは意図せずに隠れてしまうことがあり、初心者ユーザへのサポートの観点から問題になる。管理用ホストOS側の設定変更UIを画面上の常に同じ位置に表示することで、この問題も解決することができる。
【0030】
具体的には、本発明によれば、ミーティング中に大きなボリュームで音楽やアラームを再生してしまった場合に、すぐに再生を停止したり、ボリュームを小さくしたりすることができる。また、機密情報などを表示している画面を、すぐに切り替えたり、隠したりすることができる。また、日本語入力切替のインタフェースを常に同じ場所に存在させることが可能となる。
【0031】
以上、本発明を特にその好ましい実施の形態を参照して詳細に説明した。本発明の容易な理解のため、本発明の具体的な形態を以下に付記する。
【0032】
(付記1) ソフトウェアによるユーザインタフェースを提供する電子計算機であって、
第一及び第二のOSと、
前記第一のOS上で実行される第一の設定変更ユーザインタフェースアプリケーションと、
前記第二のOS上で実行され、前記第一の設定変更ユーザインタフェースアプリケーションによって提供されるユーザインタフェース機能の一部と同等の機能を提供する第二の設定変更ユーザインタフェースアプリケーションと、
からの命令に従って動作し、
前記第二の設定変更ユーザインタフェースアプリケーションに従って設定変更の要求を入力する機能と、
要求された設定変更を前記第一のOSに従って実施する機能と、
前記第二の設定変更ユーザインタフェースアプリケーションに従って当該設定変更の結果を出力する機能と、
を具備することを特徴とする電子計算機。
【0033】
(付記2) 前記第二のOS上のプロセスとして仮想マシンが実行されることで前記第二のOSがホストOSとして機能し、前記第一のOSが前記仮想マシン上でゲストOSとして実行される、付記1に記載の電子計算機。
【0034】
(付記3) 前記第二の設定変更ユーザインタフェースアプリケーションによって提供されるユーザインタフェースが常に表示画面の同じ位置に表示される、付記1に記載の電子計算機。
【0035】
(付記4) 前記第一のOSが通常の作業用のOSとして使用される、付記1に記載の電子計算機。
【0036】
(付記5) ソフトウェアによるユーザインタフェースを提供する機能を電子計算機に実現させるプログラムであって、
第一及び第二のOSと、
前記第一のOS上で実行される第一の設定変更ユーザインタフェースアプリケーションと、
前記第二のOS上で実行され、前記第一の設定変更ユーザインタフェースアプリケーションによって提供されるユーザインタフェース機能の一部と同等の機能を提供する第二の設定変更ユーザインタフェースアプリケーションと、
を備え、
前記第二の設定変更ユーザインタフェースアプリケーションが、設定変更の要求を入力する機能を前記電子計算機に実現させ、
前記第一のOSが、要求された設定変更を実施する機能を前記電子計算機に実現させ、
前記第二の設定変更ユーザインタフェースアプリケーションが、当該設定変更の結果を出力する機能を前記電子計算機に実現させる、
ことを特徴とするプログラム。
【0037】
(付記6) 前記第二のOS上のプロセスとして実行される仮想マシンを更に備え、前記第二のOSがホストOSとして機能し、前記第一のOSが前記仮想マシン上でゲストOSとして実行される、付記5に記載のプログラム。
【0038】
(付記7) 前記第二の設定変更ユーザインタフェースアプリケーションが、ユーザインタフェースを常に表示画面の同じ位置に表示する機能を前記電子計算機に実現させる、付記5に記載のプログラム。
【0039】
(付記8) 前記第一のOSが通常の作業用のOSとして使用される、付記5に記載のプログラム。
【0040】
(付記9) ソフトウェアによるユーザインタフェースを提供する機能を電子計算機に実現させるプログラムであって、
OSと、前記OS上で実行される設定変更ユーザインタフェースアプリケーションと、を備え、
他のOSから要求された設定変更を実施する機能を前記電子計算機に実現させる、
ことを特徴とするプログラム。
【0041】
(付記10) ソフトウェアによるユーザインタフェースを提供する機能を電子計算機に実現させるプログラムであって、
OSと、前記OS上で実行される設定変更ユーザインタフェースアプリケーションと、を備え、
設定変更の要求を入力して他のOSに対し当該設定変更の実施を要求する機能と、当該設定変更の結果を出力する機能と、を前記電子計算機に実現させる、
ことを特徴とするプログラム。
【0042】
(付記11) 前記設定変更ユーザインタフェースアプリケーションが、ユーザインタフェースを常に表示画面の同じ位置に表示する機能を前記電子計算機に実現させる、付記10に記載のプログラム。
【0043】
(付記12) 電子計算機においてソフトウェアによるユーザインタフェースを実現する方法であって、
前記電子計算機が、第一及び第二のOSと、前記第一のOS上で実行される第一の設定変更ユーザインタフェースアプリケーションと、前記第二のOS上で実行され、前記第一の設定変更ユーザインタフェースアプリケーションによって提供されるユーザインタフェース機能の一部と同等の機能を提供する第二の設定変更ユーザインタフェースアプリケーションと、を実装するステップと、
前記第二の設定変更ユーザインタフェースアプリケーションが、設定変更の要求を入力する機能を前記電子計算機に実現させるステップと、
前記第一のOSが、要求された設定変更を実施する機能を前記電子計算機に実現させるステップと、
前記第二の設定変更ユーザインタフェースアプリケーションが、当該設定変更の結果を出力する機能を前記電子計算機に実現させるステップと、
を具備することを特徴とする方法。
【0044】
(付記13) 前記第二のOS上のプロセスとして仮想マシンが実行されることで前記第二のOSがホストOSとして機能し、前記第一のOSが前記仮想マシン上でゲストOSとして実行される、付記12に記載の方法。
【0045】
(付記14) 前記第二の設定変更ユーザインタフェースアプリケーションが、ユーザインタフェースを常に表示画面の同じ位置に表示する機能を前記電子計算機に実現させる、付記12に記載の方法。
【0046】
(付記15) 前記第二のOSが通常の作業用のOSとして使用される、付記12に記載の方法。
【図面の簡単な説明】
【0047】
【図1】仮想マシンについて説明するための図である。
【図2】本発明による電子計算機の一実施形態としてのノート型パーソナルコンピュータ(PC)の外観を示す図である。
【図3】図2に示されるノート型PCのソフトウェア構成を示す図である。
【図4】図3に示されるソフトウェア構成の下での設定変更動作について説明するための図である。
【図5】ホストOS側の第二の設定変更UIアプリケーションの処理手順を示すフローチャートである。
【図6】ゲストOSにおける設定変更サービスの処理手順を示すフローチャートである。
【符号の説明】
【0048】
210 キーボード
220 ディスプレイ
310 管理用ホストOS
320 仮想マシン
330 作業用ゲストOS
332 設定変更サービス
340 第一の設定変更ユーザインタフェースアプリケーション
350 第二の設定変更ユーザインタフェースアプリケーション

【特許請求の範囲】
【請求項1】
ソフトウェアによるユーザインタフェースを提供する電子計算機であって、
第一及び第二のOSと、
前記第一のOS上で実行される第一の設定変更ユーザインタフェースアプリケーションと、
前記第二のOS上で実行され、前記第一の設定変更ユーザインタフェースアプリケーションによって提供されるユーザインタフェース機能の一部と同等の機能を提供する第二の設定変更ユーザインタフェースアプリケーションと、
からの命令に従って動作し、
前記第二の設定変更ユーザインタフェースアプリケーションに従って設定変更の要求を入力する機能と、
要求された設定変更を前記第一のOSに従って実施する機能と、
前記第二の設定変更ユーザインタフェースアプリケーションに従って当該設定変更の結果を出力する機能と、
を具備することを特徴とする電子計算機。
【請求項2】
前記第二のOS上のプロセスとして仮想マシンが実行されることで前記第二のOSがホストOSとして機能し、前記第一のOSが前記仮想マシン上でゲストOSとして実行される、請求項1に記載の電子計算機。
【請求項3】
前記第二の設定変更ユーザインタフェースアプリケーションによって提供されるユーザインタフェースが常に表示画面の同じ位置に表示される、請求項1に記載の電子計算機。
【請求項4】
前記第一のOSが通常の作業用のOSとして使用される、請求項1に記載の電子計算機。
【請求項5】
ソフトウェアによるユーザインタフェースを提供する機能を電子計算機に実現させるプログラムであって、
OSと、前記OS上で実行される設定変更ユーザインタフェースアプリケーションと、を備え、
他のOSから要求された設定変更を実施する機能を前記電子計算機に実現させる、
ことを特徴とするプログラム。
【請求項6】
ソフトウェアによるユーザインタフェースを提供する機能を電子計算機に実現させるプログラムであって、
OSと、前記OS上で実行される設定変更ユーザインタフェースアプリケーションと、を備え、
設定変更の要求を入力して他のOSに対し当該設定変更の実施を要求する機能と、当該設定変更の結果を出力する機能と、を前記電子計算機に実現させる、
ことを特徴とするプログラム。
【請求項7】
前記設定変更ユーザインタフェースアプリケーションが、ユーザインタフェースを常に表示画面の同じ位置に表示する機能を前記電子計算機に実現させる、請求項6に記載のプログラム。
【請求項8】
電子計算機においてソフトウェアによるユーザインタフェースを実現する方法であって、
前記電子計算機が、第一及び第二のOSと、前記第一のOS上で実行される第一の設定変更ユーザインタフェースアプリケーションと、前記第二のOS上で実行され、前記第一の設定変更ユーザインタフェースアプリケーションによって提供されるユーザインタフェース機能の一部と同等の機能を提供する第二の設定変更ユーザインタフェースアプリケーションと、を実装するステップと、
前記第二の設定変更ユーザインタフェースアプリケーションが、設定変更の要求を入力する機能を前記電子計算機に実現させるステップと、
前記第一のOSが、要求された設定変更を実施する機能を前記電子計算機に実現させるステップと、
前記第二の設定変更ユーザインタフェースアプリケーションが、当該設定変更の結果を出力する機能を前記電子計算機に実現させるステップと、
を具備することを特徴とする方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate