情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラム
【課題】情報処理装置の利便性を向上させること。
【解決手段】第1のオペレーティングシステムを実行する第1の処理部または第2のオペレーティングシステムを実行する第2の処理部を選択的にユーザーインターフェースへ切り替える切り替え部が第1の処理部をユーザーインターフェースへ切り替えた状態で、第1のオペレーティングシステム上で動作する第1のアプリケーションプログラムに基づいて第2のオペレーティングシステム上で動作する第2のアプリケーションプログラムを起動させ、第2のアプリケーションプログラムの起動完了に基づいて、切り替え部を制御する処理を実行する情報処理装置。
【解決手段】第1のオペレーティングシステムを実行する第1の処理部または第2のオペレーティングシステムを実行する第2の処理部を選択的にユーザーインターフェースへ切り替える切り替え部が第1の処理部をユーザーインターフェースへ切り替えた状態で、第1のオペレーティングシステム上で動作する第1のアプリケーションプログラムに基づいて第2のオペレーティングシステム上で動作する第2のアプリケーションプログラムを起動させ、第2のアプリケーションプログラムの起動完了に基づいて、切り替え部を制御する処理を実行する情報処理装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムに関する。
【背景技術】
【0002】
従来、複数のオペレーティングシステム(以下、OSと表記する)を搭載した情報処理装置が知られている。OSを切り替え可能とすることによって、ユーザは各OSに依存するアプリケーションプログラム(以下、アプリと表記する)を一台の情報処理装置で利用すること等が可能となり、情報処理装置の利便性が向上する。
【0003】
図1は、二種類のOSを搭載するデュアルOS端末(情報処理装置)のユーザによる使用態様を例示した図である。まず、時点(1)において、ユーザは第1のOS上で動作するアプリによって動画鑑賞を行っている。次に、時点(2)において、ユーザは鑑賞した動画の編集を行いたいと考える。仮に、動画編集に関するアプリは、第2のOSの方が充実しているものとすると、ユーザは第2のOSに切り替えたいと考えることが想定される。従って、時点(3)において、ユーザは、OS並びに表示画面等を手動で第2のOS側に切り替える。時点(4)において第2のOSが起動した後、ユーザは、動画編集に関するアプリを探して起動させる。そして、時点(5)において、起動させたアプリによって動画編集が可能となる。
【0004】
係る技術に関連し、動作環境を排他的に切り替えることが可能な情報処理装置が知られている(例えば、特許文献1参照)。特許文献1記載の情報処理装置では、第1のOSと第2のOSのうちいずれか一方が動作できるように動作環境を切り替えている。また、特許文献1記載の情報処理装置では、OSを切り替える際には、実行中のOSをユーザが一度終了させた後、情報処理装置の起動時に切り替えを指示するものとしている。また、特許文献1記載の情報処理装置では、第1のOSの実行中に所定のメッセージが記憶装置に格納された場合、その後、電源投入や再起動が行われると、メッセージを実行すべきOS(例えば第2のOS)の動作を開始させている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−202691号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の情報処理装置は、ユーザがOSを切り替える際に手動で再起動等を行ったり、切り替えを指示するためのボタンを押したりする必要があるため、手間や時間を要するものであった。また、切り替えられたOS上で所望のアプリを探して起動させるために、更に手間や時間を要するものであった。
【0007】
特許文献1に記載の情報処理装置は、起動時に選択されるOSを自動的に決定することはできるものの、OSを切り替える際にはユーザの操作が必要であり、手間を要する点は同じである。また、OSやアプリの切り替え時間をユーザが待つ必要があるという問題は解消されない。
【0008】
このように、従来の情報処理装置では、OSやアプリの切り替えに関する利便性が十分でなかった。
【0009】
1つの側面では、本発明は、情報処理装置の利便性を向上させることを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するための一態様は、
第1のオペレーティングシステムを実行する第1の処理部と、
第2のオペレーティングシステムを実行する第2の処理部と、
前記第1の処理部または前記第2の処理部を操作するユーザーインターフェースと、
前記第1の処理部または前記第2の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備え、
前記切り替え部が前記第1の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第1のオペレーティングシステム上で動作する第1のアプリケーションプログラムに基づいて前記第2のオペレーティングシステム上で動作する第2のアプリケーションプログラムを起動させ、
該第2のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を実行する情報処理装置である。
【発明の効果】
【0011】
1実施態様によれば、情報処理装置の利便性を向上させることができる。
【図面の簡単な説明】
【0012】
【図1】二種類のOSを搭載するデュアルOS端末(情報処理装置)のユーザによる使用態様を例示した図である。
【図2】本発明の一実施例に係る情報処理装置1のハードウエア構成例である。
【図3】本発明の第1実施例に係る情報処理装置1の機能構成例である。
【図4】関連アプリデータテーブル114の一例である。
【図5】情報処理装置1によって実行される処理の流れを示すシーケンス図である。
【図6】他OSアプリ起動コマンド生成部108によって実行される処理の流れを示すフローチャートである。
【図7】アプリ状態監視部202、アプリ起動/終了処理部204、及びアプリ起動コマンド解読部206によって実行される処理の流れを示すフローチャートである。
【図8】自動切替/完了通知制御部106によって実行される処理の流れを示すフローチャートである。
【図9】本発明の第2実施例に係る情報処理装置2の機能構成例である。
【図10】情報処理装置2によって実行される処理の流れを示すシーケンス図である。
【図11】他OSアプリ起動コマンド生成部108によって実行される処理の流れを示すフローチャートである。
【図12】第2のOS用電源制御部210によって実行される第2のOS200の起動処理の流れを示すフローチャートである。
【図13】第2のOS用電源制御部210によって実行される第2のOS100の終了処理の流れを示すフローチャートである。
【図14】アプリ状態監視部202、アプリ起動/終了処理部204、及びアプリ起動コマンド解読部206によって実行される処理の流れを示すフローチャートである。
【図15】自動切替/完了通知制御部106によって実行される処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【0014】
<第1実施例>
以下、図面を参照し、本発明の第1実施例に係る情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムについて説明する。
【0015】
[ハードウエア構成]
図2は、本発明の一実施例に係る情報処理装置1のハードウエア構成例である。情報処理装置1は、例えば、CPU(Central Processing Unit)10と、ドライブ装置12と、補助記憶装置16と、メモリ装置18と、インターフェース装置20と、入力装置22と、表示装置24と、を備える。これらの構成要素は、バスやシリアル回線等を介して接続されている。
【0016】
CPU10は、例えば、プログラムカウンタや命令デコーダ、各種演算器、LSU(Load Store Unit)、汎用レジスタ等を有するプロセッサである。
【0017】
ドライブ装置12は、記憶媒体14からプログラムやデータを読み込み可能な装置である。プログラムを記録した記憶媒体14がドライブ装置12に装着されると、プログラムが記憶媒体14からドライブ装置12を介して補助記憶装置16にインストールされる。記憶媒体14は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、USB(Universal Serial Bus)メモリ等の可搬型の記憶媒体である。また、補助記憶装置16は、例えば、HDD(Hard Disk Drive)やフラッシュメモリである。
【0018】
プログラムのインストールは、上記のように記憶媒体14を用いる他、インターフェース装置20がネットワークを介して他のコンピュータよりダウンロードし、補助記憶装置16にインストールすることによって行うこともできる。ネットワークは、インターネット、LAN(Local Area Network)、無線ネットワーク等である。また、プログラムは、情報処理装置1の出荷時に、予め補助記憶装置16やROM(Read Only Memory)等に格納されていてもよい。
【0019】
このようにしてインストール又は予め格納されたプログラムをCPU10が実行することにより、図2に示す態様の情報処理装置が、本実施例の情報処理装置1として機能することができる。
【0020】
メモリ装置18は、例えば、RAM(Random Access Memory)やEEPROM(Electrically Erasable and Programmable Read Only Memory)である。インターフェース装置20は、上記ネットワークとの接続等を制御する。
【0021】
入力装置22は、例えば、キーボード、マウス、ボタン、タッチパッド、タッチパネル、マイク等である。また、表示装置24は、例えば、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)等の表示装置である。情報処理装置1は、表示装置24の他、プリンタ、スピーカ等の他の種類の出力装置を備えてもよい。
【0022】
[機能構成]
図3は、本発明の第1実施例に係る情報処理装置1の機能構成例である。情報処理装置1は、第1のOS100と第2のOS200が、プラットフォーム50を共用して動作可能となっている。プラットフォーム50には、例えばCPU10、ドライブ装置12、補助記憶装置16、メモリ装置18、インターフェース装置20等のうち少なくとも一部が含まれる。なお、本実施例において、特許請求の範囲における第1の処理部と第2の処理部は、第1のOS100と第2のOS200をそれぞれ実行する仮想的な処理部に対応する。
【0023】
また、特許請求の範囲におけるユーザーインターフェースの一例である入力装置22、表示装置24には、入出力切替部26が接続される。入出力切替部26は、各OSからの指示に応じて、入出力切替信号を入力装置22及び表示装置24に出力し、入力装置22及び表示装置24をいずれかのOSに対応付ける。例えば、入出力切替部26は、第1のOS100による表示画面及び第1のOS100が生成する表示データと、第2のOS200による表示画面及び第2のOS200が生成する表示データのいずれかを選択的に表示装置24に表示させるように切り替える。また、入出力切替部26は、入力装置22への入力内容が、第1のOS100と第2のOS200のいずれ一方に反映されるように切り替える。
【0024】
なお、入出力切替部26は、表示画面全体を選択的に切り替えるのに代えて、例えばいずれか一方のOSによる表示画面をメイン部分に、他方のOSによる表示画面をサブ部分に表示するものとしてもよい。この場合、特許請求の範囲における「表示部」は、上記「メイン部分」を指す。
【0025】
また、本実施例において第1のOS100と第2のOS200は、基本的にはいずれか一方が選択されて動作するが、時分割等によって並行動作することもできる。第1のOS100と第2のOS200が並行動作する期間においても、表示装置24はいずれかのOSによる表示画面を選択的に表示する。
【0026】
第1のOS100上では、アプリ状態監視部102、アプリ起動/終了処理部104、自動切替/完了通知制御部106、他OSアプリ起動コマンド生成部108、入出力自動切替設定部110、アプリ112等が動作する。他OSアプリ起動コマンド生成部108は、補助記憶装置16やメモリ装置18等に格納された関連アプリデータテーブル114を参照可能である。第1のOS100は、例えばAndroid(登録商標)である。
【0027】
第2のOS200上では、アプリ状態監視部202、アプリ起動/終了処理部204、アプリ起動コマンド解読部206、アプリ208等が動作する。第2のOS200は、例えばWindows(登録商標)である。
【0028】
各OS上で動作する機能ブロックは、補助記憶装置16やROM等に格納されたプログラム・ソフトウエアをCPU10が実行することにより機能する。なお、これらの機能ブロックが明確に分離したプログラムによって実現される必要はなく、サブルーチンや関数として他のプログラムによって呼び出されるものであってもよい。また、機能ブロックの一部が、IC(Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウエア手段であっても構わない。
【0029】
アプリ112、及びアプリ208は、例えば、インターネットブラウザ、メーラ、動画再生アプリ、動画編集アプリ、静止画像閲覧アプリ、静止画像編集アプリ、文書編集アプリ、表計算アプリ、ノートパッド等であり、それぞれのOS上で動作可能である。本実施例では、各OS上で動作するアプリ群を、それぞれアプリ112、208と総称する。
【0030】
ここで、第2のOS200は、想定される消費電力が第1のOS100に比して大きいものとなっている。OSを中心として構築されるシステムの想定される消費電力は、CPUの作動周波数、ソフトウエアの単位時間あたりの平均的なCPU使用率・処理時間、供給電圧、単位時間あたりの平均的なメモリの使用量等によって決定される。また、OSを中心として構築されるシステムの想定される消費電力は、同一の処理を実行するのに消費する電力によって決定される。本実施例では、第2のOS200として採用されているWindowsよりも簡易な処理を行うことが多く、ソフトウエアの単位時間あたりの平均的なCPU使用率・処理時間、単位時間あたりの平均的なメモリの使用量がWindowsよりも小さく、同一の処理を実行するのに消費する電力がWindowsより小さいAndroidが第1のOS100として採用されているため、第2のOS200の消費電力が第1のOS100に比して大きいことが想定される。
【0031】
アプリ状態監視部102は、アプリ112の状態を監視し、アプリ112の起動時及び終了時に、その旨を知らせるアプリ起動/終了情報を、他OSアプリ起動コマンド生成部108に出力する。アプリ状態監視部102は、アプリ起動/終了処理部104から入力されるアプリ起動/終了情報を参照してアプリ112の状態を認識する。
【0032】
アプリ起動/終了処理部104は、入力装置24に対してなされたユーザ操作に応じて、アプリ112の起動処理及び終了処理を実行する。
【0033】
自動切替/完了通知制御部106は、アプリ状態監視部202からアプリ起動/終了通知情報を受信し、他OSアプリ起動コマンド生成部108からアプリ起動コマンドが入力される。自動切替/完了通知制御部106は、後述するように、アプリ208の起動完了通知情報を表示装置24に表示させたり、入出力切替情報を入出力切替部26に送信したりする制御を行う。自動切替/完了通知制御部106は、係る制御の内容を、入出力自動切替設定部110から入力される自動切替設定情報に応じて切り替える。こうした制御の詳細については、後述する。
【0034】
他OSアプリ起動コマンド生成部108は、アプリ状態監視部102から入力されたアプリ起動/終了情報を用いて関連アプリデータテーブル114を検索し、起動されたアプリ112に関連するアプリ208を抽出する。他OSアプリ起動コマンド生成部108は、アプリ状態監視部202から受信したアプリ起動/終了通知情報を参照し、起動されたアプリ112、すなわち入力装置22、表示装置24が対応付けられているアプリ112に関連するアプリ208が起動されているかどうかを判断する。他OSアプリ起動コマンド生成部108は、起動されたアプリ112に関連するアプリ208が起動されていなければ、他OSアプリ起動コマンドを生成し、アプリ起動コマンド解読部206及び自動切替/完了通知制御部106に出力する。
【0035】
関連アプリデータテーブル114は、アプリ112に含まれるアプリが、アプリ208に含まれるアプリのうち、ユーザの使用上関連すると考えられるアプリに対応付けられたデータテーブルである。図4は、関連アプリデータテーブル114の一例である。
【0036】
図示するように、関連アプリデータテーブル114では、例えばImage Viewerが、関連するPhoto Shop(登録商標)に対応付けられている。Photo Shopは、Image Viewerを使用しているユーザが、きめ細やかな編集処理をしたいためPhoto Shopを使用したくなる可能性が高いため、Image Viewerと関連する。
【0037】
また、関連アプリデータテーブル114では、例えばBlu-ray(登録商標) Disc再生リスト表示アプリが、Win DVD(登録商標)に対応付けられている。Win DVDは、Blu-ray Disc再生リスト表示アプリではBlu-ray Discの再生を行うことができないため、ユーザがWin DVDを使用したくなる可能性が高いという理由で、Blu-ray Disc再生リスト表示アプリと関連する。
【0038】
また、関連アプリデータテーブル114では、例えばExcel Viewerアプリが、MICROSOFT Excel(登録商標)及びMICROSOFT(登録商標) Wordに対応付けられている。MICROSOFT Excelは、Excel ViewerアプリではVBAがサポートされていないため、ユーザがMICROSOFT Excelを使用したくなる可能性が高いという理由で、Excel Viewerアプリと関連する。また、MICROSOFT Wordは、MICROSOFT Excel等で計算したデータを文書に使用したくなる可能性が高いため、Excel Viewerアプリと関連する。
【0039】
なお、関連アプリデータテーブル114は、アプリ112に含まれるアプリとアプリ208に含まれるアプリが一対一で対応付けられている必要はなく、一のアプリ112に複数のアプリ208が対応付けられてもよい。また、複数のアプリ112に一の(或いは複数の)アプリ208が対応付けられてもよい。
【0040】
入出力自動切替設定部110は、ユーザによる入力装置22を用いた操作を検知し、この操作に応じて決定される、自動切替/完了通知制御部106の制御モードを指示するための自動切替設定情報を保持する。自動切替設定情報は、アプリ208が起動完了したことを表示した後、第2のOS200側に自動的に切り替えるかどうかを決定するフラグである。そして、入出力自動切替設定部110は、自動切替設定情報を自動切替/完了通知制御部106に出力する。
【0041】
アプリ状態監視部202は、アプリ208の状態を監視し、アプリ208の起動時及び終了時等に、その旨を通知するためのアプリ起動/終了通知情報を、自動切替/完了通知制御部206に送信する。アプリ状態監視部202は、アプリ起動/終了処理部204から入力されるアプリ起動/終了情報を参照してアプリ208の状態を認識する。
【0042】
アプリ起動/終了処理部204は、入力装置24に対してなされたユーザ操作、或いはアプリ起動コマンド解読部206から入力されるアプリ起動指示情報に応じて、アプリ208の起動処理及び終了処理を実行する。
【0043】
アプリ起動コマンド解読部206は、他OSアプリ起動コマンド生成部108から入力されるアプリ起動コマンドを解読し、解読結果に応じてアプリ起動/終了処理部204にアプリ起動指示を出力する。
【0044】
[他OSのアプリを自動起動させる処理]
以下、本実施例の情報処理装置1により行われる、他OSのアプリを自動起動させる処理(他OSアプリ自動起動処理)について、シーケンス図及びフローチャートを用いて説明する。
【0045】
(シーケンス図)
図5は、情報処理装置1によって実行される処理の流れを示すシーケンス図である。なお、判定処理等の詳細についてはフローチャートにおいて説明し、シーケンス図においては処理の概要について説明する。
【0046】
まず、第1のOS100上でアプリ112が起動する(S300)。アプリ112が起動すると、アプリ状態監視部102から他OSアプリ起動コマンド生成部108にアプリ起動情報が入力される。他OSアプリ起動コマンド生成部108は、アプリ起動情報が入力されると、関連アプリデータテーブル114を検索する(S302)。
【0047】
起動されたアプリ112に関連するアプリ208が関連アプリデータテーブル114上に存在する場合、他OSアプリ起動コマンド生成部108は、アプリ起動コマンドを生成する(S304)。また、他OSアプリ起動コマンド生成部108は、生成したアプリ起動コマンドを第2のOS200側に送信する(S306)。なお、アプリ起動コマンドは、自動切替/完了通知制御部106にも出力される。
【0048】
第2のOS200は、アプリ起動コマンドが入力されると、例えばスリープ状態から通常起動状態に移行する。そして、アプリ起動コマンド解読部206が、アプリ起動コマンドを解読する(S308)。アプリ起動コマンド解読部206は、起動すべきアプリ208を指定したアプリ起動指示情報を、アプリ起動/終了処理部204に出力する。
【0049】
アプリ起動/終了処理部204は、アプリ起動指示情報が入力されると、指定されたアプリ208の起動を開始する(S310)。アプリ208の起動が完了すると(S312)、アプリ状態監視部202がアプリ起動(完了)通知情報を、第1のOS100側の自動切替/完了通知制御部106に送信する(S314)。
【0050】
自動切替/完了通知制御部106は、アプリ起動(完了)通知情報を受信すると、係る起動がアプリ起動コマンドによるものである場合は、該当するアプリ208が起動完了したことを表示するように表示装置24に指示する(S316)。
【0051】
ここで、S300においてアプリ112が起動してからS316でアプリ208が起動完了したことが表示されるまでの期間T1の間は、第1のOS100による表示画面が表示装置24により表示され、ユーザはアプリ208の使用を継続することができる。すなわち、アプリ112に関連するアプリ208の自動起動処理は、ユーザから見てバックグラウンドで実行される。これによって、ユーザはOSやアプリの切替処理が完了するまで待つ必要が無くなり、ユーザにとっての利便性が向上する。
【0052】
自動切替/完了通知制御部106は、更に、予め入出力自動切替設定部110から入力されている自動切替設定情報を参照する(S318)。自動切替設定情報がEnableとなっている場合、自動切替/完了通知制御部106は、入力装置22及び表示装置24を第2のOS200側に対応付けることを指示する入出力切替信号を出力するように、入出力切替部26に指示する(S320)。この際に、自動切替/完了通知制御部106は、アプリ起動/終了処理部104に対し、アプリ112の終了処理を行うように指示してもよい。
【0053】
S320の処理によって、表示装置24の表示画面が第2のOS200による表示画面に切り替わり、入力装置22への入力内容が第2のOS200に反映されることになるため、ユーザがアプリ208を使用可能な状態となる(S322)。
【0054】
一方、自動切替/完了通知制御部106は、自動切替設定情報がDisableとなっている場合は、S320の処理を行わず、他OSアプリ自動起動処理を終了する。この場合、情報処理装置1は、ユーザによる入力装置22に対するOSの切替操作を受け付ける。ユーザは、入力装置22に対してOSの切替操作を行うことにより、第2のOS200を起動させてアプリ208を使用することができる。
【0055】
なお、本実施例において、特許請求の範囲における「第2のアプリケーションプログラムの起動完了に基づいて、切り替え部を制御する処理」は、該当するアプリ208が起動完了したことを表示するように表示装置24に指示する処理、及び、自動切替設定情報がEnableとなっている場合に入力装置22及び表示装置24を第2のOS200側に対応付けることを指示する入出力切替信号を出力する処理又はユーザによる入力装置22に対するOSの切替操作を受け付ける処理に対応する。
【0056】
係る処理によって、ユーザがOSを切り替える際に手動で再起動等を行ったり、切り替えを指示するためのボタンを押したりする必要性を、ユーザの意志(自動切替設定)によって省略することができる。また、切り替えられたOS上で所望のアプリを探して起動させる手間や時間を省略することができる。従って、係る処理を実行する情報処理装置1は、ユーザにとっての利便性を向上させることができる。
【0057】
(フローチャート)
図6〜8は、図5のシーケンス図で説明した処理を、機能ブロック毎(或いは機能ブロック群毎)にフローチャートの形式で示したものである。
【0058】
図6は、他OSアプリ起動コマンド生成部108によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【0059】
まず、他OSアプリ起動コマンド生成部108は、アプリ112が起動したことを示すアプリ起動情報が入力されたか否かを判定する(S400)。他OSアプリ起動コマンド生成部108は、アプリ起動情報が入力されなかった場合は、本フローチャートの1ルーチンを終了する。
【0060】
アプリ起動情報が入力された場合、他OSアプリ起動コマンド生成部108は、関連アプリデータテーブル114を検索し、アプリ起動情報が示すアプリ112に関連するアプリ208が存在するか否かを判定する(S402)。他OSアプリ起動コマンド生成部108は、関連アプリデータテーブル114上に、アプリ起動情報が示すアプリ112に関連するアプリ208が存在しない場合は、本フローチャートの1ルーチンを終了する。なお、本判定処理に、「該当するアプリ208が未起動であること」をand条件として加えてもよい。すなわち、「アプリ起動情報が示すアプリ112に関連するアプリ208が存在し、且つ該当するアプリ208が未起動であるか否かを判定する」としてもよい。
【0061】
関連アプリデータテーブル114上に、アプリ起動情報が示すアプリ112に関連するアプリ208が存在する場合、他OSアプリ起動コマンド生成部108は、該当するアプリ208の起動を指示するアプリ起動コマンドを生成する(S404)。また、他OSアプリ起動コマンド生成部108は、生成したアプリ起動コマンドを第2のOS200側のアプリ起動コマンド解読部206に送信する(S406)。
【0062】
図7は、第2のOS200側のアプリ状態監視部202、アプリ起動/終了処理部204、及びアプリ起動コマンド解読部206によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【0063】
まず、アプリ起動コマンド解読部206は、アプリ起動コマンドを受信したか否かを判定する(S420)。アプリ起動コマンドを受信しなかった場合は、本フローチャートの1ルーチンを終了する。
【0064】
アプリ起動コマンドを受信した場合、アプリ起動コマンド解読部206は、アプリ起動コマンドを解読し(S422)、アプリ起動指示情報をアプリ起動/終了処理部204に出力する。
【0065】
アプリ起動/終了処理部204は、アプリ起動指示情報により指定されたアプリ208を起動させる(S424)。アプリ起動/終了処理部204は、アプリ208の起動が完了すると、その旨を示すアプリ起動(完了)情報をアプリ状態監視部202に出力する。
【0066】
アプリ状態監視部202は、S424で起動開始されたアプリ208の起動が完了すると(S426)、アプリ起動(完了)通知情報を、第1のOS100側の自動切替/完了通知制御部106に送信する(S428)。
【0067】
図8は、自動切替/完了通知制御部106によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【0068】
まず、自動切替/完了通知制御部106は、アプリ起動(完了)通知情報を受信したか否かを判定する(S440)。自動切替/完了通知制御部106は、アプリ起動(完了)通知情報を受信しなかった場合は、本フローチャートの1ルーチンを終了する。
【0069】
アプリ起動(完了)通知情報を受信した場合、自動切替/完了通知制御部106は、係る起動が、アプリ起動コマンドによる起動であるか否かを判定する(S442)。本判定は、例えば、アプリ起動(完了)通知情報の受信の所定時間前から現在までの間に、他OSアプリ起動コマンド生成部108から該当するアプリ起動コマンドが入力されていたか否かを判定することによって行うことができる。また、本判定は、アプリ起動(完了)通知情報にアプリ起動コマンドによる起動か否かを示す情報が付加されている場合、係る情報を参照することによって行うことができる。自動切替/完了通知制御部106は、アプリ起動コマンドによる起動でない場合は、本フローチャートの1ルーチンを終了する。
【0070】
なお、アプリ起動コマンドによる起動でない場合(ユーザの何らかの操作による起動である場合)にも、アプリ208の起動完了を表示させるようにしてもよく、この場合、S442の判定は必須でない。
【0071】
アプリ起動コマンドによる起動である場合、自動切替/完了通知制御部106は、該当するアプリ208が起動完了したことを表示するように表示装置24に指示する(S444)。
【0072】
次に、自動切替/完了通知制御部106は、予め入出力自動切替設定部110から入力されている自動切替設定情報がEnableとなっているか否かを判定する(S446)。自動切替/完了通知制御部206は、自動切替設定情報がEnableとなっていない場合は、本フローチャートの1ルーチンを終了する。
【0073】
自動切替設定情報がEnableとなっている場合、自動切替/完了通知制御部206は、入力装置22及び表示装置24を第2のOS200側に対応付けることを指示する入出力切替信号を出力するように、入出力切替部26に指示する(S448)。すなわち、入力装置22及び表示装置24を第2のOS200側に切り替える。
【0074】
[消費電力との関係等]
以上の説明では、専ら第1のOS100側から第2のOS200側へのアプリやOSの切り替えについて説明した。第2のOS200は、想定される消費電力が第1のOS100に比して大きいため、例えば初期状態では第1のOS100を起動させ、必要に応じて第2のOS200を起動させるという用い方によって、情報処理装置1の消費電力を抑制することができる。また、これに限らず、情報処理装置1は、第2のOS200側から第1のOS100側へのアプリやOSの切り替えについても、同様に行うものであってもよい。
【0075】
[まとめ]
以上説明した本実施例の情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムによれば、ユーザにとっての利便性を向上させることができる。
【0076】
また、初期状態では電力消費の小さい第1のOS100を起動させ、必要に応じて電力消費の大きい第2のOS200を起動させるという用い方によって、情報処理装置の消費電力を抑制することができる。
【0077】
<第2実施例>
以下、図面を参照し、本発明の第2実施例に係る情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムについて説明する。
【0078】
[ハードウエア/機能構成]
ハードウエア構成については、基本的には第1実施例と同様であるため、図2を参照することとして図示及び説明を省略する。以下、第1実施例と共通する構成要素については同一の符号を付し、基本機能等についての説明を省略する。
【0079】
図9は、本発明の第2実施例に係る情報処理装置2の機能構成例である。情報処理装置2は、第1のOS100と第2のOS200が、別々のプラットフォーム51、52を利用して動作可能となっている。第1のプラットフォーム51は、例えばARM(登録商標)アーキテクチャに基づくプラットフォームである。第2のプラットフォーム52は、例えばインテル(登録商標)アーキテクチャに基づくプラットフォームである。第2のプラットフォームは第1のプラットフォームに比べて単位時間辺りの最大処理能力が高いものをもちいてもよい。第1のプラットフォームは第2のプラットフォームに比べて、同一の処理を実行するのに消費する電力が低いものを用いてもよい。各プラットフォームには、それぞれ専用のCPU10が含まれ、更に、ドライブ装置12、補助記憶装置16、メモリ装置18、インターフェース装置20等のうち一部が含まれ得る。複数のCPU10がプラットフォームを形成するものとして、例えばマルチコア・プロセッサが好適に適用される。
【0080】
入力装置22、表示装置24、入出力切替部26の関係については、第1実施例と同様である。
【0081】
また、第2実施例において第1のOS100と第2のOS200は、基本的にはいずれか一方が選択されて動作するが、それぞれのプラットフォームを利用して並行動作することもできる。第1のOS100と第2のOS200が並行動作する期間においても、表示装置24はいずれかのOSによる表示画面を選択的に表示する。
【0082】
第2実施例の情報処理装置2における第1のOS100上では、アプリ状態監視部102、アプリ起動/終了処理部104、自動切替/完了通知制御部106、他OSアプリ起動コマンド生成部108、入出力自動切替設定部110、アプリ112、他OS起動状態判断部116等が動作する。なお、図示しない第1のOS用電源制御部が存在してもよいし、後述する第2のOS用電源制御部210がプラットフォーム51に対する供給電力も制御する(第1のOS100と第2のOS200で共用される)ものとしてもよい。他OSアプリ起動コマンド生成部108は、補助記憶装置16やメモリ装置18等に格納された関連アプリデータテーブル114を参照可能である。第1のOS100は、例えばAndroidである。
【0083】
他OSアプリ起動コマンド生成部108は、アプリ状態監視部102から入力されたアプリ起動/終了情報を用いて関連アプリデータテーブル114を検索し、起動されたアプリ112に関連するアプリ208を抽出する。他OSアプリ起動コマンド生成部108は、アプリ起動/終了通知情報を参照し、起動されたアプリ112に関連するアプリ208が起動されていなければ、他OS起動状態判断部116から入力されている他OS起動状態情報を参照して以下の処理を行う。
【0084】
第2のOS200が起動されていない場合、他OSアプリ起動コマンド生成部108は、他OS起動依頼情報を他OS起動状態判断部116に、他OSアプリ起動コマンドをアプリ起動コマンド解読部206及び自動切替/完了通知制御部106に出力・送信する。一方、第2のOS200が起動されている場合、他OSアプリ起動コマンド生成部108は、他OSアプリ起動コマンドをアプリ起動コマンド解読部206及び自動切替/完了通知制御部106に出力・送信する。
【0085】
他OS起動状態判断部116は、PC電源制御部210から第2のOS起動/終了通知情報を受信し、第2のOS起動/終了通知情報に基づく内容の他OS起動状態情報を、他OSアプリ起動コマンド生成部108に出力する。また、他OS起動状態判断部116は、他OSアプリ起動コマンド生成部108から他OS起動依頼情報が入力されると、第2のOS起動コマンドを、第2のOS用電源制御部210に送信する。
【0086】
一方、第2のOS200上では、アプリ状態監視部202、アプリ起動/終了処理部204、アプリ起動コマンド解読部206、アプリ208等が動作する。第2のOS200は、例えばWindowである。
【0087】
また、第2実施例の情報処理装置2は、第2のOS200側の構成要素として、第2のOS用電源制御部210を備える。第2のOS用電源制御部210は、プラットフォーム52に対する供給電力を制御する。また、第2のOS用電源制御部210は、第2のOS200の起動/終了状態を示す第2のOS起動/終了通知情報を、第1のOS100側の他OS起動状態判断部116に送信する。
【0088】
アプリ112、アプリ208、関連アプリデータテーブル114の内容については第1実施例と同様である。また、電源制御部210、他OSアプリ起動コマンド生成部108、他OS起動状態判断部116を除く各構成要素の機能については第1実施例と同様である。従って、これらについての説明は省略する。
【0089】
第2実施例においても、第2のOS200は、想定される消費電力が第1のOS100に比して大きいものとなっている。第2実施例では、前述のように第1のOS100と第2のOS200でプラットフォームが異なるため、CPU周波数や供給電圧等が異なる場合があり、想定される消費電力の相違は第1実施例に比して大きいものとなり得る。このため、初期状態では第1のOS100を起動させ、必要に応じて第2のOS200を起動させることにより消費電力を抑制できるという効果は、第1実施例よりも大きいものとなり得る。
【0090】
[他OSのアプリを自動起動させる処理]
以下、本実施例の情報処理装置2により行われる、他OSのアプリを自動起動させる処理(他OSアプリ自動起動処理)について、シーケンス図及びフローチャートを用いて説明する。
【0091】
(シーケンス図)
図10は、情報処理装置2によって実行される処理の流れを示すシーケンス図である。なお、判定処理等の詳細についてはフローチャートにおいて説明し、シーケンス図においては処理の概要について説明する。
【0092】
まず、第1のOS100上でアプリ112が起動する(S500)。アプリ112が起動すると、アプリ状態監視部102から他OSアプリ起動コマンド生成部108にアプリ起動情報が入力される。他OSアプリ起動コマンド生成部108は、アプリ起動情報が入力されると、関連アプリデータテーブル114を検索する(S502)。
【0093】
起動されたアプリ112に関連するアプリ208が関連アプリデータテーブル114上に存在する場合、他OSアプリ起動コマンド生成部108は、他OS起動状態情報により第2のOS200の起動状態を確認する(S504)。
【0094】
第2のOS200が起動していない場合、他OSアプリ起動コマンド生成部108は、他OS起動状態判断部116に指示して、第2のOS起動コマンドを第2のOS用電源制御部210に送信させる(S506)。
【0095】
第2のOS用電源制御部210は、プラットフォーム52への電源供給及び第2のOS200の起動が完了すると、第2のOS起動(完了)通知情報を他OS起動状態判断部116に送信する(S508)。
【0096】
第2のOS起動(完了)通知情報を受信すると、他OS起動状態判断部116は、他OS起動状態情報(起動完了)を、他OSアプリ起動コマンド生成部108に出力する。他OSアプリ起動コマンド生成部108は、他OS起動状態情報(起動完了)が入力されると、アプリ起動コマンドを生成し(S510)、アプリ起動コマンドをアプリ起動コマンド解読部206に送信する(S512)。ここで、アプリ起動コマンドは、自動切替/完了通知制御部106にも出力される。
【0097】
以下、第1実施例と同様に、アプリ起動コマンド解読部206がアプリ起動コマンドを解読する(S514)。アプリ起動コマンド解読部206は、起動すべきアプリ208を指定したアプリ起動指示情報をアプリ起動/終了処理部204に出力する。アプリ起動/終了処理部204は、アプリ起動指示情報が入力されると、指定されたアプリ208の起動を開始する(S516)。アプリ208の起動が完了すると(S518)、アプリ状態監視部202がアプリ起動(完了)通知情報を、第1のOS100側の自動切替/完了通知制御部106に送信する(S520)。自動切替/完了通知制御部106は、アプリ起動(完了)通知情報を受信すると、係る起動がアプリ起動コマンドによるものである場合は、該当するアプリ208が起動完了したことを表示するように表示装置24に指示する(S522)。
【0098】
ここで、S500においてアプリ112が起動してからS522でアプリ208が起動完了したことが表示されるまでの期間T2の間は、第1のOS100による表示画面が表示装置24により表示され、ユーザはアプリ208の使用を継続することができる。すなわち、アプリ112に関連するアプリ208の自動起動処理は、ユーザから見てバックグラウンドで実行される。これによって、ユーザはOSやアプリの切替処理が完了するまで待つ必要が無くなり、ユーザにとっての利便性が向上する。
【0099】
自動切替/完了通知制御部106は、更に、予め入出力自動切替設定部110から入力されている自動切替設定情報を参照する(S524)。自動切替設定情報がEnableとなっている場合は、入力装置22及び表示装置24を第2のOS200側に対応付けることを指示する入出力切替信号を出力するように、入出力切替部26に指示する(S526)。この際に、自動切替/完了通知制御部106は、アプリ起動/終了処理部104に対し、アプリ112の終了を指示してもよい。
【0100】
S526の処理によって、表示装置24の表示画面が第2のOS200による表示画面に切り替わり、入力装置22への入力内容が第2のOS200に反映されることになるため、ユーザはアプリ208を使用可能となる(S528)。
【0101】
一方、自動切替/完了通知制御部106は、自動切替設定情報がDisableとなっている場合は、S526の処理を行わず、他OSアプリ自動起動処理を終了する。この場合、ユーザは、入力装置22に対してOSの切替操作を行うことにより、第2のOS200を起動させてアプリ208を使用することができる。
【0102】
係る処理によって、ユーザがOSを切り替える際に手動で再起動等を行ったり、切り替えを指示するためのボタンを押したりする必要性を、ユーザの意志(自動切替設定)によって省略することができる。また、切り替えられたOS上で所望のアプリを探して起動させる手間や時間を省略することができる。従って、係る処理を実行する情報処理装置2は、ユーザにとっての利便性を向上させることができる。
【0103】
(フローチャート)
図11〜15は、図10のシーケンス図で説明した処理を、機能ブロック毎(或いは機能ブロック群毎)にフローチャートの形式で示したものである。
【0104】
図11は、他OSアプリ起動コマンド生成部108によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【0105】
まず、他OSアプリ起動コマンド生成部108は、アプリ112が起動したことを示すアプリ起動情報が入力されたか否かを判定する(S600)。他OSアプリ起動コマンド生成部108は、アプリ起動情報が入力されなかった場合は、本フローチャートの1ルーチンを終了する。
【0106】
アプリ起動情報が入力された場合、他OSアプリ起動コマンド生成部108は、関連アプリデータテーブル114を検索し、アプリ起動情報が示すアプリ112に関連するアプリ208が存在するか否かを判定する(S602)。他OSアプリ起動コマンド生成部108は、関連アプリデータテーブル114上に、アプリ起動情報が示すアプリ112に関連するアプリ208が存在しない場合は、本フローチャートの1ルーチンを終了する。なお、本判定処理は、「該当するアプリ208が未起動であること」をand条件として加えてもよい。すなわち、「アプリ起動情報が示すアプリ112に関連するアプリ208が存在し、且つ該当するアプリ208が未起動であるか否かを判定する」としてもよい。
【0107】
アプリ112に関連するアプリ208が存在する場合、他OSアプリ起動コマンド生成部108は、他OS起動状態判断部116から入力されている他OS起動状態情報を参照して、第2のOS200が起動しているか否かを判定する(S604)。
【0108】
第2のOS200が起動していない場合、他OSアプリ起動コマンド生成部108は、他OS起動依頼情報を他OS起動状態判断部116に出力し、第2のOS起動コマンドを第2のOS用電源制御部210に送信させる(S606)。これによって、他OS起動状態判断部116が第2のOS200側の第2のOS用電源制御部210に第2のOS起動コマンドを送信する。そして、他OSアプリ起動コマンド生成部108は、他OS起動状態判断部116から入力される他OS起動状態情報(起動完了)によって第2のOS200の起動完了が確認されるまで待機する(S608)。
【0109】
続いて、他OSアプリ起動コマンド生成部108は、該当するアプリ208の起動を指示するアプリ起動コマンドを生成し(S610)、生成したアプリ起動コマンドを第2のOS200側のアプリ起動コマンド解読部206に送信する(S612)。
【0110】
図12は、第2のOS用電源制御部210によって実行される第2のOS200の起動処理の流れを示すフローチャートである。本フローチャートは、第2のOS200がシャットダウンされたときに開始される。
【0111】
まず、第2のOS用電源制御部210は、他OS起動状態判断部116から第2のOS起動コマンドを受信するまで待機する(S620)。
【0112】
他OS起動状態判断部116から第2のOS起動コマンドを受信すると、第2のOS用電源制御部210は、プラットフォーム52に対する電力供給を開始する(S622)。なお、S620、S622の処理は、スリープ電源等を利用して行うことができる。
【0113】
次に、第2のOS用電源制御部210は、第2のOS200の起動を開始し(S624)、第2のOS200の起動が完了するまで待機する(S626)。第2のOS用電源制御部210は、第2のOS200の起動が完了すると、第2のOS起動(完了)通知情報を他OS起動状態判断部116に送信する(S628)。
【0114】
図13は、第2のOS用電源制御部210によって実行される第2のOS200の終了処理の流れを示すフローチャートである。本フローチャートは、第2のOS200が起動された状態で、ユーザ操作等により第2のOS200のシャットダウンが指示されたときに開始される。
【0115】
まず、第2のOS用電源制御部210は、第2のOS200のシャットダウン処理を開始し(S630)、第2のOS200のシャットダウン処理が完了するまで待機する(S632)。第2のOS用電源制御部210は、第2のOS200のシャットダウン処理が完了すると、第2のOS終了通知情報を他OS起動状態判断部116に送信する(S634)。
【0116】
図14は、第2のOS200側のアプリ状態監視部202、アプリ起動/終了処理部204、及びアプリ起動コマンド解読部206によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【0117】
まず、アプリ起動コマンド解読部206は、アプリ起動コマンドを受信したか否かを判定する(S640)。アプリ起動コマンドを受信しなかった場合は、本フローチャートの1ルーチンを終了する。
【0118】
アプリ起動コマンドを受信した場合、アプリ起動コマンド解読部206は、アプリ起動コマンドを解読し(S642)、アプリ起動指示情報をアプリ起動/終了処理部204に出力する。
【0119】
アプリ起動/終了処理部204は、アプリ起動指示情報により指定されたアプリ208を起動させる(S644)。
【0120】
アプリ状態監視部202は、S644で起動開始されたアプリ208の起動が完了するまで待機し(S646)、アプリ208の起動が完了すると、アプリ起動(完了)通知情報を、第1のOS100側の自動切替/完了通知制御部106に送信する(S648)。
【0121】
図15は、自動切替/完了通知制御部106によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【0122】
まず、自動切替/完了通知制御部106は、アプリ起動(完了)通知情報を受信したか否かを判定する(S660)。自動切替/完了通知制御部106は、アプリ起動(完了)通知情報を受信しなかった場合は、本フローチャートの1ルーチンを終了する。
【0123】
アプリ起動(完了)通知情報を受信した場合、自動切替/完了通知制御部106は、係る起動がアプリ起動コマンドによる起動であるか否かを判定する(S662)。本判定は、例えば、アプリ起動(完了)通知情報の受信の所定時間前から現在までの間に、他OSアプリ起動コマンド生成部108から該当するアプリ起動コマンドが入力されていたか否かを判定することによって行うことができる。また、本判定は、アプリ起動(完了)通知情報にアプリ起動コマンドによる起動か否かを示す情報が付加されている場合、係る情報を参照することによって行うことができる。自動切替/完了通知制御部106は、アプリ起動コマンドによる起動でない場合は、本フローチャートの1ルーチンを終了する。
【0124】
なお、アプリ起動コマンドによる起動でない場合(ユーザの何らかの操作による場合)にも、アプリ208の起動完了を表示させるようにしてもよく、この場合、S662の判定は必須でない。
【0125】
アプリ起動コマンドによる起動である場合、自動切替/完了通知制御部106は、該当するアプリ208が起動完了したことを表示するように表示装置24に指示する(S664)。
【0126】
次に、自動切替/完了通知制御部106は、予め入出力自動切替設定部110から入力されている自動切替設定情報がEnableとなっているか否かを判定する(S666)。自動切替/完了通知制御部106は、自動切替設定情報がEnableとなっていない場合は、本フローチャートの1ルーチンを終了する。
【0127】
自動切替設定情報がEnableとなっている場合、自動切替/完了通知制御部106は、入力装置22及び表示装置24を第2のOS200側に対応付けることを指示する入出力切替信号を出力するように、入出力切替部26に指示する(S668)。すなわち、入力装置22及び表示装置24を第2のOS200側に切り替える。
【0128】
[まとめ]
以上説明した本実施例の情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムによれば、ユーザにとっての利便性を向上させることができる。
【0129】
また、初期状態では電力消費の小さい第1のOS100を起動させ、必要に応じて電力消費の大きい第2のOS200を起動させるという用い方によって、情報処理装置の消費電力を抑制することができる。
【0130】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0131】
例えば、アプリ208がバックグラウンドで起動完了したことを表示するように表示装置24に指示した後に、入力装置22及び表示装置24を第2のOS200側に切り替えるものとしたが、表示を省略して切り替えのみ行うものとしてもよい。
【0132】
また、各種情報を受信したか否かを確認する処理を各機能ブロックが定期的に行うものとして記載したが、各種情報が割り込み通知され、受信時に自動的に処理が開始されるものとしてもよい。
【0133】
以上の説明に関し、さらに以下の項を開示する。
(付記1)
第1のオペレーティングシステムを実行する第1の処理部と、
第2のオペレーティングシステムを実行する第2の処理部と、
前記第1の処理部または前記第2の処理部を操作するユーザーインターフェースと、
前記第1の処理部または前記第2の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備え、
前記切り替え部が前記第1の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第1のオペレーティングシステム上で動作する第1のアプリケーションプログラムに基づいて前記第2のオペレーティングシステム上で動作する第2のアプリケーションプログラムを起動させ、
該第2のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を実行する情報処理装置。
(付記2)
前記第1のアプリケーションプログラムが前記第2のアプリケーションプログラムに対応付けられたデータテーブルを記憶する記憶部を備え、
前記第2のアプリケーションプログラムを起動する処理は、前記ユーザーインターフェースの動作を伴う前記第1のアプリケーションプログラムに基づいて、前記第2のアプリケーションプログラムを前記データテーブルから抽出し、該抽出した前記第2のアプリケーションプログラムを起動させる処理であることを特徴とする、付記1記載の情報処理装置。
(付記3)
ユーザによる前記切り替え部の切り替え指示を受け付ける受付部と、
前記切り替え部に対して自動的にオペレーティングシステムを切り替える指示の有効無効を決定するフラグを保持した保持手段と、を備え、
前記第2のアプリケーションプログラムの起動完了に基づいて、
前記フラグが有効である場合に前記切り替え部を制御する処理は、前記第2の処理部へ切り替えるよう前記切り替え部を制御する処理であり、
前記フラグが無効である場合に前記切り替え部を制御する処理は、前記入力受付部に対してなされた前記切り替え指示に応じて、前記第2の処理部へ切り替えるよう前記切り替え部を制御する処理であることを特徴とする、付記1記載の情報処理装置。
(付記4)
ユーザによる前記切り替え部の切り替え指示を受け付ける受付部を備え、
前記切り替え部を制御する処理は、前記受付部の操作をうながすメッセージを前記第1のオペレーティングシステムから前記ユーザーインターフェースへ出力させる処理である付記1記載の情報処理装置。
(付記5)
前記第1のオペレーティングシステムは、前記第2のオペレーティングシステムに比して想定される消費電力が小さいことを特徴とする、
付記1ないし4のいずれか1項記載の情報処理装置。
(付記6)
前記第1のオペレーティングシステムと前記第2のオペレーティングシステムは、異なるプラットフォーム上で動作し、
前記第2のアプリケーションプログラムを起動する処理は、前記第2のアプリケーションプログラムを起動するのに先だって、前記第2のオペレーティングシステムを起動させる処理であることを特徴とする、
付記1ないし5のいずれか1項記載の情報処理装置。
(付記7)
第1のオペレーティングシステムを実行する第1の処理部と、第2のオペレーティングシステムを実行する第2の処理部と、前記第1の処理部または前記第2の処理部を操作するユーザーインターフェースと、前記第1の処理部または前記第2の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備える情報処理装置の制御方法であって、
前記切り替え部が前記第1の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第1のオペレーティングシステム上で動作する第1のアプリケーションプログラムに基づいて前記第2のオペレーティングシステム上で動作する第2のアプリケーションプログラムを起動させ、
該第2のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を実行することを特徴とする、情報処理装置の制御方法。
(付記8)
第1のオペレーティングシステムを実行する第1の処理部と、第2のオペレーティングシステムを実行する第2の処理部と、前記第1の処理部または前記第2の処理部を操作するユーザーインターフェースと、前記第1の処理部または前記第2の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備える情報処理装置の制御プログラムであって、
前記切り替え部が前記第1の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第1のオペレーティングシステム上で動作する第1のアプリケーションプログラムに基づいて前記第2のオペレーティングシステム上で動作する第2のアプリケーションプログラムを起動させ、
該第2のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を前記情報処理装置に実行させることを特徴とする、情報処理装置の制御プログラム。
【符号の説明】
【0134】
1、2 情報処理装置
10 CPU
12 ドライブ装置
14 記憶媒体
16 補助記憶装置
18 メモリ装置
20 インターフェース装置
22 入力装置
24 表示装置
50、51、52 プラットフォーム
100 第1のOS
102 アプリ状態監視部
104 アプリ起動/終了処理部
106 自動切替/完了通知制御部
108 他OSアプリ起動コマンド生成部
110 入出力自動切替設定部
112 アプリ
114 関連アプリデータテーブル
116 他OS起動状態判断部
200 第2のOS
202 アプリ状態監視部
204 アプリ起動/終了処理部
206 アプリ起動コマンド解読部
208 アプリ
210 第1のOS用電源制御部
【技術分野】
【0001】
本発明は、情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムに関する。
【背景技術】
【0002】
従来、複数のオペレーティングシステム(以下、OSと表記する)を搭載した情報処理装置が知られている。OSを切り替え可能とすることによって、ユーザは各OSに依存するアプリケーションプログラム(以下、アプリと表記する)を一台の情報処理装置で利用すること等が可能となり、情報処理装置の利便性が向上する。
【0003】
図1は、二種類のOSを搭載するデュアルOS端末(情報処理装置)のユーザによる使用態様を例示した図である。まず、時点(1)において、ユーザは第1のOS上で動作するアプリによって動画鑑賞を行っている。次に、時点(2)において、ユーザは鑑賞した動画の編集を行いたいと考える。仮に、動画編集に関するアプリは、第2のOSの方が充実しているものとすると、ユーザは第2のOSに切り替えたいと考えることが想定される。従って、時点(3)において、ユーザは、OS並びに表示画面等を手動で第2のOS側に切り替える。時点(4)において第2のOSが起動した後、ユーザは、動画編集に関するアプリを探して起動させる。そして、時点(5)において、起動させたアプリによって動画編集が可能となる。
【0004】
係る技術に関連し、動作環境を排他的に切り替えることが可能な情報処理装置が知られている(例えば、特許文献1参照)。特許文献1記載の情報処理装置では、第1のOSと第2のOSのうちいずれか一方が動作できるように動作環境を切り替えている。また、特許文献1記載の情報処理装置では、OSを切り替える際には、実行中のOSをユーザが一度終了させた後、情報処理装置の起動時に切り替えを指示するものとしている。また、特許文献1記載の情報処理装置では、第1のOSの実行中に所定のメッセージが記憶装置に格納された場合、その後、電源投入や再起動が行われると、メッセージを実行すべきOS(例えば第2のOS)の動作を開始させている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2005−202691号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、従来の情報処理装置は、ユーザがOSを切り替える際に手動で再起動等を行ったり、切り替えを指示するためのボタンを押したりする必要があるため、手間や時間を要するものであった。また、切り替えられたOS上で所望のアプリを探して起動させるために、更に手間や時間を要するものであった。
【0007】
特許文献1に記載の情報処理装置は、起動時に選択されるOSを自動的に決定することはできるものの、OSを切り替える際にはユーザの操作が必要であり、手間を要する点は同じである。また、OSやアプリの切り替え時間をユーザが待つ必要があるという問題は解消されない。
【0008】
このように、従来の情報処理装置では、OSやアプリの切り替えに関する利便性が十分でなかった。
【0009】
1つの側面では、本発明は、情報処理装置の利便性を向上させることを目的とする。
【課題を解決するための手段】
【0010】
上記目的を達成するための一態様は、
第1のオペレーティングシステムを実行する第1の処理部と、
第2のオペレーティングシステムを実行する第2の処理部と、
前記第1の処理部または前記第2の処理部を操作するユーザーインターフェースと、
前記第1の処理部または前記第2の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備え、
前記切り替え部が前記第1の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第1のオペレーティングシステム上で動作する第1のアプリケーションプログラムに基づいて前記第2のオペレーティングシステム上で動作する第2のアプリケーションプログラムを起動させ、
該第2のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を実行する情報処理装置である。
【発明の効果】
【0011】
1実施態様によれば、情報処理装置の利便性を向上させることができる。
【図面の簡単な説明】
【0012】
【図1】二種類のOSを搭載するデュアルOS端末(情報処理装置)のユーザによる使用態様を例示した図である。
【図2】本発明の一実施例に係る情報処理装置1のハードウエア構成例である。
【図3】本発明の第1実施例に係る情報処理装置1の機能構成例である。
【図4】関連アプリデータテーブル114の一例である。
【図5】情報処理装置1によって実行される処理の流れを示すシーケンス図である。
【図6】他OSアプリ起動コマンド生成部108によって実行される処理の流れを示すフローチャートである。
【図7】アプリ状態監視部202、アプリ起動/終了処理部204、及びアプリ起動コマンド解読部206によって実行される処理の流れを示すフローチャートである。
【図8】自動切替/完了通知制御部106によって実行される処理の流れを示すフローチャートである。
【図9】本発明の第2実施例に係る情報処理装置2の機能構成例である。
【図10】情報処理装置2によって実行される処理の流れを示すシーケンス図である。
【図11】他OSアプリ起動コマンド生成部108によって実行される処理の流れを示すフローチャートである。
【図12】第2のOS用電源制御部210によって実行される第2のOS200の起動処理の流れを示すフローチャートである。
【図13】第2のOS用電源制御部210によって実行される第2のOS100の終了処理の流れを示すフローチャートである。
【図14】アプリ状態監視部202、アプリ起動/終了処理部204、及びアプリ起動コマンド解読部206によって実行される処理の流れを示すフローチャートである。
【図15】自動切替/完了通知制御部106によって実行される処理の流れを示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【0014】
<第1実施例>
以下、図面を参照し、本発明の第1実施例に係る情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムについて説明する。
【0015】
[ハードウエア構成]
図2は、本発明の一実施例に係る情報処理装置1のハードウエア構成例である。情報処理装置1は、例えば、CPU(Central Processing Unit)10と、ドライブ装置12と、補助記憶装置16と、メモリ装置18と、インターフェース装置20と、入力装置22と、表示装置24と、を備える。これらの構成要素は、バスやシリアル回線等を介して接続されている。
【0016】
CPU10は、例えば、プログラムカウンタや命令デコーダ、各種演算器、LSU(Load Store Unit)、汎用レジスタ等を有するプロセッサである。
【0017】
ドライブ装置12は、記憶媒体14からプログラムやデータを読み込み可能な装置である。プログラムを記録した記憶媒体14がドライブ装置12に装着されると、プログラムが記憶媒体14からドライブ装置12を介して補助記憶装置16にインストールされる。記憶媒体14は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、USB(Universal Serial Bus)メモリ等の可搬型の記憶媒体である。また、補助記憶装置16は、例えば、HDD(Hard Disk Drive)やフラッシュメモリである。
【0018】
プログラムのインストールは、上記のように記憶媒体14を用いる他、インターフェース装置20がネットワークを介して他のコンピュータよりダウンロードし、補助記憶装置16にインストールすることによって行うこともできる。ネットワークは、インターネット、LAN(Local Area Network)、無線ネットワーク等である。また、プログラムは、情報処理装置1の出荷時に、予め補助記憶装置16やROM(Read Only Memory)等に格納されていてもよい。
【0019】
このようにしてインストール又は予め格納されたプログラムをCPU10が実行することにより、図2に示す態様の情報処理装置が、本実施例の情報処理装置1として機能することができる。
【0020】
メモリ装置18は、例えば、RAM(Random Access Memory)やEEPROM(Electrically Erasable and Programmable Read Only Memory)である。インターフェース装置20は、上記ネットワークとの接続等を制御する。
【0021】
入力装置22は、例えば、キーボード、マウス、ボタン、タッチパッド、タッチパネル、マイク等である。また、表示装置24は、例えば、LCD(Liquid Crystal Display)やCRT(Cathode Ray Tube)等の表示装置である。情報処理装置1は、表示装置24の他、プリンタ、スピーカ等の他の種類の出力装置を備えてもよい。
【0022】
[機能構成]
図3は、本発明の第1実施例に係る情報処理装置1の機能構成例である。情報処理装置1は、第1のOS100と第2のOS200が、プラットフォーム50を共用して動作可能となっている。プラットフォーム50には、例えばCPU10、ドライブ装置12、補助記憶装置16、メモリ装置18、インターフェース装置20等のうち少なくとも一部が含まれる。なお、本実施例において、特許請求の範囲における第1の処理部と第2の処理部は、第1のOS100と第2のOS200をそれぞれ実行する仮想的な処理部に対応する。
【0023】
また、特許請求の範囲におけるユーザーインターフェースの一例である入力装置22、表示装置24には、入出力切替部26が接続される。入出力切替部26は、各OSからの指示に応じて、入出力切替信号を入力装置22及び表示装置24に出力し、入力装置22及び表示装置24をいずれかのOSに対応付ける。例えば、入出力切替部26は、第1のOS100による表示画面及び第1のOS100が生成する表示データと、第2のOS200による表示画面及び第2のOS200が生成する表示データのいずれかを選択的に表示装置24に表示させるように切り替える。また、入出力切替部26は、入力装置22への入力内容が、第1のOS100と第2のOS200のいずれ一方に反映されるように切り替える。
【0024】
なお、入出力切替部26は、表示画面全体を選択的に切り替えるのに代えて、例えばいずれか一方のOSによる表示画面をメイン部分に、他方のOSによる表示画面をサブ部分に表示するものとしてもよい。この場合、特許請求の範囲における「表示部」は、上記「メイン部分」を指す。
【0025】
また、本実施例において第1のOS100と第2のOS200は、基本的にはいずれか一方が選択されて動作するが、時分割等によって並行動作することもできる。第1のOS100と第2のOS200が並行動作する期間においても、表示装置24はいずれかのOSによる表示画面を選択的に表示する。
【0026】
第1のOS100上では、アプリ状態監視部102、アプリ起動/終了処理部104、自動切替/完了通知制御部106、他OSアプリ起動コマンド生成部108、入出力自動切替設定部110、アプリ112等が動作する。他OSアプリ起動コマンド生成部108は、補助記憶装置16やメモリ装置18等に格納された関連アプリデータテーブル114を参照可能である。第1のOS100は、例えばAndroid(登録商標)である。
【0027】
第2のOS200上では、アプリ状態監視部202、アプリ起動/終了処理部204、アプリ起動コマンド解読部206、アプリ208等が動作する。第2のOS200は、例えばWindows(登録商標)である。
【0028】
各OS上で動作する機能ブロックは、補助記憶装置16やROM等に格納されたプログラム・ソフトウエアをCPU10が実行することにより機能する。なお、これらの機能ブロックが明確に分離したプログラムによって実現される必要はなく、サブルーチンや関数として他のプログラムによって呼び出されるものであってもよい。また、機能ブロックの一部が、IC(Integrated Circuit)やFPGA(Field Programmable Gate Array)等のハードウエア手段であっても構わない。
【0029】
アプリ112、及びアプリ208は、例えば、インターネットブラウザ、メーラ、動画再生アプリ、動画編集アプリ、静止画像閲覧アプリ、静止画像編集アプリ、文書編集アプリ、表計算アプリ、ノートパッド等であり、それぞれのOS上で動作可能である。本実施例では、各OS上で動作するアプリ群を、それぞれアプリ112、208と総称する。
【0030】
ここで、第2のOS200は、想定される消費電力が第1のOS100に比して大きいものとなっている。OSを中心として構築されるシステムの想定される消費電力は、CPUの作動周波数、ソフトウエアの単位時間あたりの平均的なCPU使用率・処理時間、供給電圧、単位時間あたりの平均的なメモリの使用量等によって決定される。また、OSを中心として構築されるシステムの想定される消費電力は、同一の処理を実行するのに消費する電力によって決定される。本実施例では、第2のOS200として採用されているWindowsよりも簡易な処理を行うことが多く、ソフトウエアの単位時間あたりの平均的なCPU使用率・処理時間、単位時間あたりの平均的なメモリの使用量がWindowsよりも小さく、同一の処理を実行するのに消費する電力がWindowsより小さいAndroidが第1のOS100として採用されているため、第2のOS200の消費電力が第1のOS100に比して大きいことが想定される。
【0031】
アプリ状態監視部102は、アプリ112の状態を監視し、アプリ112の起動時及び終了時に、その旨を知らせるアプリ起動/終了情報を、他OSアプリ起動コマンド生成部108に出力する。アプリ状態監視部102は、アプリ起動/終了処理部104から入力されるアプリ起動/終了情報を参照してアプリ112の状態を認識する。
【0032】
アプリ起動/終了処理部104は、入力装置24に対してなされたユーザ操作に応じて、アプリ112の起動処理及び終了処理を実行する。
【0033】
自動切替/完了通知制御部106は、アプリ状態監視部202からアプリ起動/終了通知情報を受信し、他OSアプリ起動コマンド生成部108からアプリ起動コマンドが入力される。自動切替/完了通知制御部106は、後述するように、アプリ208の起動完了通知情報を表示装置24に表示させたり、入出力切替情報を入出力切替部26に送信したりする制御を行う。自動切替/完了通知制御部106は、係る制御の内容を、入出力自動切替設定部110から入力される自動切替設定情報に応じて切り替える。こうした制御の詳細については、後述する。
【0034】
他OSアプリ起動コマンド生成部108は、アプリ状態監視部102から入力されたアプリ起動/終了情報を用いて関連アプリデータテーブル114を検索し、起動されたアプリ112に関連するアプリ208を抽出する。他OSアプリ起動コマンド生成部108は、アプリ状態監視部202から受信したアプリ起動/終了通知情報を参照し、起動されたアプリ112、すなわち入力装置22、表示装置24が対応付けられているアプリ112に関連するアプリ208が起動されているかどうかを判断する。他OSアプリ起動コマンド生成部108は、起動されたアプリ112に関連するアプリ208が起動されていなければ、他OSアプリ起動コマンドを生成し、アプリ起動コマンド解読部206及び自動切替/完了通知制御部106に出力する。
【0035】
関連アプリデータテーブル114は、アプリ112に含まれるアプリが、アプリ208に含まれるアプリのうち、ユーザの使用上関連すると考えられるアプリに対応付けられたデータテーブルである。図4は、関連アプリデータテーブル114の一例である。
【0036】
図示するように、関連アプリデータテーブル114では、例えばImage Viewerが、関連するPhoto Shop(登録商標)に対応付けられている。Photo Shopは、Image Viewerを使用しているユーザが、きめ細やかな編集処理をしたいためPhoto Shopを使用したくなる可能性が高いため、Image Viewerと関連する。
【0037】
また、関連アプリデータテーブル114では、例えばBlu-ray(登録商標) Disc再生リスト表示アプリが、Win DVD(登録商標)に対応付けられている。Win DVDは、Blu-ray Disc再生リスト表示アプリではBlu-ray Discの再生を行うことができないため、ユーザがWin DVDを使用したくなる可能性が高いという理由で、Blu-ray Disc再生リスト表示アプリと関連する。
【0038】
また、関連アプリデータテーブル114では、例えばExcel Viewerアプリが、MICROSOFT Excel(登録商標)及びMICROSOFT(登録商標) Wordに対応付けられている。MICROSOFT Excelは、Excel ViewerアプリではVBAがサポートされていないため、ユーザがMICROSOFT Excelを使用したくなる可能性が高いという理由で、Excel Viewerアプリと関連する。また、MICROSOFT Wordは、MICROSOFT Excel等で計算したデータを文書に使用したくなる可能性が高いため、Excel Viewerアプリと関連する。
【0039】
なお、関連アプリデータテーブル114は、アプリ112に含まれるアプリとアプリ208に含まれるアプリが一対一で対応付けられている必要はなく、一のアプリ112に複数のアプリ208が対応付けられてもよい。また、複数のアプリ112に一の(或いは複数の)アプリ208が対応付けられてもよい。
【0040】
入出力自動切替設定部110は、ユーザによる入力装置22を用いた操作を検知し、この操作に応じて決定される、自動切替/完了通知制御部106の制御モードを指示するための自動切替設定情報を保持する。自動切替設定情報は、アプリ208が起動完了したことを表示した後、第2のOS200側に自動的に切り替えるかどうかを決定するフラグである。そして、入出力自動切替設定部110は、自動切替設定情報を自動切替/完了通知制御部106に出力する。
【0041】
アプリ状態監視部202は、アプリ208の状態を監視し、アプリ208の起動時及び終了時等に、その旨を通知するためのアプリ起動/終了通知情報を、自動切替/完了通知制御部206に送信する。アプリ状態監視部202は、アプリ起動/終了処理部204から入力されるアプリ起動/終了情報を参照してアプリ208の状態を認識する。
【0042】
アプリ起動/終了処理部204は、入力装置24に対してなされたユーザ操作、或いはアプリ起動コマンド解読部206から入力されるアプリ起動指示情報に応じて、アプリ208の起動処理及び終了処理を実行する。
【0043】
アプリ起動コマンド解読部206は、他OSアプリ起動コマンド生成部108から入力されるアプリ起動コマンドを解読し、解読結果に応じてアプリ起動/終了処理部204にアプリ起動指示を出力する。
【0044】
[他OSのアプリを自動起動させる処理]
以下、本実施例の情報処理装置1により行われる、他OSのアプリを自動起動させる処理(他OSアプリ自動起動処理)について、シーケンス図及びフローチャートを用いて説明する。
【0045】
(シーケンス図)
図5は、情報処理装置1によって実行される処理の流れを示すシーケンス図である。なお、判定処理等の詳細についてはフローチャートにおいて説明し、シーケンス図においては処理の概要について説明する。
【0046】
まず、第1のOS100上でアプリ112が起動する(S300)。アプリ112が起動すると、アプリ状態監視部102から他OSアプリ起動コマンド生成部108にアプリ起動情報が入力される。他OSアプリ起動コマンド生成部108は、アプリ起動情報が入力されると、関連アプリデータテーブル114を検索する(S302)。
【0047】
起動されたアプリ112に関連するアプリ208が関連アプリデータテーブル114上に存在する場合、他OSアプリ起動コマンド生成部108は、アプリ起動コマンドを生成する(S304)。また、他OSアプリ起動コマンド生成部108は、生成したアプリ起動コマンドを第2のOS200側に送信する(S306)。なお、アプリ起動コマンドは、自動切替/完了通知制御部106にも出力される。
【0048】
第2のOS200は、アプリ起動コマンドが入力されると、例えばスリープ状態から通常起動状態に移行する。そして、アプリ起動コマンド解読部206が、アプリ起動コマンドを解読する(S308)。アプリ起動コマンド解読部206は、起動すべきアプリ208を指定したアプリ起動指示情報を、アプリ起動/終了処理部204に出力する。
【0049】
アプリ起動/終了処理部204は、アプリ起動指示情報が入力されると、指定されたアプリ208の起動を開始する(S310)。アプリ208の起動が完了すると(S312)、アプリ状態監視部202がアプリ起動(完了)通知情報を、第1のOS100側の自動切替/完了通知制御部106に送信する(S314)。
【0050】
自動切替/完了通知制御部106は、アプリ起動(完了)通知情報を受信すると、係る起動がアプリ起動コマンドによるものである場合は、該当するアプリ208が起動完了したことを表示するように表示装置24に指示する(S316)。
【0051】
ここで、S300においてアプリ112が起動してからS316でアプリ208が起動完了したことが表示されるまでの期間T1の間は、第1のOS100による表示画面が表示装置24により表示され、ユーザはアプリ208の使用を継続することができる。すなわち、アプリ112に関連するアプリ208の自動起動処理は、ユーザから見てバックグラウンドで実行される。これによって、ユーザはOSやアプリの切替処理が完了するまで待つ必要が無くなり、ユーザにとっての利便性が向上する。
【0052】
自動切替/完了通知制御部106は、更に、予め入出力自動切替設定部110から入力されている自動切替設定情報を参照する(S318)。自動切替設定情報がEnableとなっている場合、自動切替/完了通知制御部106は、入力装置22及び表示装置24を第2のOS200側に対応付けることを指示する入出力切替信号を出力するように、入出力切替部26に指示する(S320)。この際に、自動切替/完了通知制御部106は、アプリ起動/終了処理部104に対し、アプリ112の終了処理を行うように指示してもよい。
【0053】
S320の処理によって、表示装置24の表示画面が第2のOS200による表示画面に切り替わり、入力装置22への入力内容が第2のOS200に反映されることになるため、ユーザがアプリ208を使用可能な状態となる(S322)。
【0054】
一方、自動切替/完了通知制御部106は、自動切替設定情報がDisableとなっている場合は、S320の処理を行わず、他OSアプリ自動起動処理を終了する。この場合、情報処理装置1は、ユーザによる入力装置22に対するOSの切替操作を受け付ける。ユーザは、入力装置22に対してOSの切替操作を行うことにより、第2のOS200を起動させてアプリ208を使用することができる。
【0055】
なお、本実施例において、特許請求の範囲における「第2のアプリケーションプログラムの起動完了に基づいて、切り替え部を制御する処理」は、該当するアプリ208が起動完了したことを表示するように表示装置24に指示する処理、及び、自動切替設定情報がEnableとなっている場合に入力装置22及び表示装置24を第2のOS200側に対応付けることを指示する入出力切替信号を出力する処理又はユーザによる入力装置22に対するOSの切替操作を受け付ける処理に対応する。
【0056】
係る処理によって、ユーザがOSを切り替える際に手動で再起動等を行ったり、切り替えを指示するためのボタンを押したりする必要性を、ユーザの意志(自動切替設定)によって省略することができる。また、切り替えられたOS上で所望のアプリを探して起動させる手間や時間を省略することができる。従って、係る処理を実行する情報処理装置1は、ユーザにとっての利便性を向上させることができる。
【0057】
(フローチャート)
図6〜8は、図5のシーケンス図で説明した処理を、機能ブロック毎(或いは機能ブロック群毎)にフローチャートの形式で示したものである。
【0058】
図6は、他OSアプリ起動コマンド生成部108によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【0059】
まず、他OSアプリ起動コマンド生成部108は、アプリ112が起動したことを示すアプリ起動情報が入力されたか否かを判定する(S400)。他OSアプリ起動コマンド生成部108は、アプリ起動情報が入力されなかった場合は、本フローチャートの1ルーチンを終了する。
【0060】
アプリ起動情報が入力された場合、他OSアプリ起動コマンド生成部108は、関連アプリデータテーブル114を検索し、アプリ起動情報が示すアプリ112に関連するアプリ208が存在するか否かを判定する(S402)。他OSアプリ起動コマンド生成部108は、関連アプリデータテーブル114上に、アプリ起動情報が示すアプリ112に関連するアプリ208が存在しない場合は、本フローチャートの1ルーチンを終了する。なお、本判定処理に、「該当するアプリ208が未起動であること」をand条件として加えてもよい。すなわち、「アプリ起動情報が示すアプリ112に関連するアプリ208が存在し、且つ該当するアプリ208が未起動であるか否かを判定する」としてもよい。
【0061】
関連アプリデータテーブル114上に、アプリ起動情報が示すアプリ112に関連するアプリ208が存在する場合、他OSアプリ起動コマンド生成部108は、該当するアプリ208の起動を指示するアプリ起動コマンドを生成する(S404)。また、他OSアプリ起動コマンド生成部108は、生成したアプリ起動コマンドを第2のOS200側のアプリ起動コマンド解読部206に送信する(S406)。
【0062】
図7は、第2のOS200側のアプリ状態監視部202、アプリ起動/終了処理部204、及びアプリ起動コマンド解読部206によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【0063】
まず、アプリ起動コマンド解読部206は、アプリ起動コマンドを受信したか否かを判定する(S420)。アプリ起動コマンドを受信しなかった場合は、本フローチャートの1ルーチンを終了する。
【0064】
アプリ起動コマンドを受信した場合、アプリ起動コマンド解読部206は、アプリ起動コマンドを解読し(S422)、アプリ起動指示情報をアプリ起動/終了処理部204に出力する。
【0065】
アプリ起動/終了処理部204は、アプリ起動指示情報により指定されたアプリ208を起動させる(S424)。アプリ起動/終了処理部204は、アプリ208の起動が完了すると、その旨を示すアプリ起動(完了)情報をアプリ状態監視部202に出力する。
【0066】
アプリ状態監視部202は、S424で起動開始されたアプリ208の起動が完了すると(S426)、アプリ起動(完了)通知情報を、第1のOS100側の自動切替/完了通知制御部106に送信する(S428)。
【0067】
図8は、自動切替/完了通知制御部106によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【0068】
まず、自動切替/完了通知制御部106は、アプリ起動(完了)通知情報を受信したか否かを判定する(S440)。自動切替/完了通知制御部106は、アプリ起動(完了)通知情報を受信しなかった場合は、本フローチャートの1ルーチンを終了する。
【0069】
アプリ起動(完了)通知情報を受信した場合、自動切替/完了通知制御部106は、係る起動が、アプリ起動コマンドによる起動であるか否かを判定する(S442)。本判定は、例えば、アプリ起動(完了)通知情報の受信の所定時間前から現在までの間に、他OSアプリ起動コマンド生成部108から該当するアプリ起動コマンドが入力されていたか否かを判定することによって行うことができる。また、本判定は、アプリ起動(完了)通知情報にアプリ起動コマンドによる起動か否かを示す情報が付加されている場合、係る情報を参照することによって行うことができる。自動切替/完了通知制御部106は、アプリ起動コマンドによる起動でない場合は、本フローチャートの1ルーチンを終了する。
【0070】
なお、アプリ起動コマンドによる起動でない場合(ユーザの何らかの操作による起動である場合)にも、アプリ208の起動完了を表示させるようにしてもよく、この場合、S442の判定は必須でない。
【0071】
アプリ起動コマンドによる起動である場合、自動切替/完了通知制御部106は、該当するアプリ208が起動完了したことを表示するように表示装置24に指示する(S444)。
【0072】
次に、自動切替/完了通知制御部106は、予め入出力自動切替設定部110から入力されている自動切替設定情報がEnableとなっているか否かを判定する(S446)。自動切替/完了通知制御部206は、自動切替設定情報がEnableとなっていない場合は、本フローチャートの1ルーチンを終了する。
【0073】
自動切替設定情報がEnableとなっている場合、自動切替/完了通知制御部206は、入力装置22及び表示装置24を第2のOS200側に対応付けることを指示する入出力切替信号を出力するように、入出力切替部26に指示する(S448)。すなわち、入力装置22及び表示装置24を第2のOS200側に切り替える。
【0074】
[消費電力との関係等]
以上の説明では、専ら第1のOS100側から第2のOS200側へのアプリやOSの切り替えについて説明した。第2のOS200は、想定される消費電力が第1のOS100に比して大きいため、例えば初期状態では第1のOS100を起動させ、必要に応じて第2のOS200を起動させるという用い方によって、情報処理装置1の消費電力を抑制することができる。また、これに限らず、情報処理装置1は、第2のOS200側から第1のOS100側へのアプリやOSの切り替えについても、同様に行うものであってもよい。
【0075】
[まとめ]
以上説明した本実施例の情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムによれば、ユーザにとっての利便性を向上させることができる。
【0076】
また、初期状態では電力消費の小さい第1のOS100を起動させ、必要に応じて電力消費の大きい第2のOS200を起動させるという用い方によって、情報処理装置の消費電力を抑制することができる。
【0077】
<第2実施例>
以下、図面を参照し、本発明の第2実施例に係る情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムについて説明する。
【0078】
[ハードウエア/機能構成]
ハードウエア構成については、基本的には第1実施例と同様であるため、図2を参照することとして図示及び説明を省略する。以下、第1実施例と共通する構成要素については同一の符号を付し、基本機能等についての説明を省略する。
【0079】
図9は、本発明の第2実施例に係る情報処理装置2の機能構成例である。情報処理装置2は、第1のOS100と第2のOS200が、別々のプラットフォーム51、52を利用して動作可能となっている。第1のプラットフォーム51は、例えばARM(登録商標)アーキテクチャに基づくプラットフォームである。第2のプラットフォーム52は、例えばインテル(登録商標)アーキテクチャに基づくプラットフォームである。第2のプラットフォームは第1のプラットフォームに比べて単位時間辺りの最大処理能力が高いものをもちいてもよい。第1のプラットフォームは第2のプラットフォームに比べて、同一の処理を実行するのに消費する電力が低いものを用いてもよい。各プラットフォームには、それぞれ専用のCPU10が含まれ、更に、ドライブ装置12、補助記憶装置16、メモリ装置18、インターフェース装置20等のうち一部が含まれ得る。複数のCPU10がプラットフォームを形成するものとして、例えばマルチコア・プロセッサが好適に適用される。
【0080】
入力装置22、表示装置24、入出力切替部26の関係については、第1実施例と同様である。
【0081】
また、第2実施例において第1のOS100と第2のOS200は、基本的にはいずれか一方が選択されて動作するが、それぞれのプラットフォームを利用して並行動作することもできる。第1のOS100と第2のOS200が並行動作する期間においても、表示装置24はいずれかのOSによる表示画面を選択的に表示する。
【0082】
第2実施例の情報処理装置2における第1のOS100上では、アプリ状態監視部102、アプリ起動/終了処理部104、自動切替/完了通知制御部106、他OSアプリ起動コマンド生成部108、入出力自動切替設定部110、アプリ112、他OS起動状態判断部116等が動作する。なお、図示しない第1のOS用電源制御部が存在してもよいし、後述する第2のOS用電源制御部210がプラットフォーム51に対する供給電力も制御する(第1のOS100と第2のOS200で共用される)ものとしてもよい。他OSアプリ起動コマンド生成部108は、補助記憶装置16やメモリ装置18等に格納された関連アプリデータテーブル114を参照可能である。第1のOS100は、例えばAndroidである。
【0083】
他OSアプリ起動コマンド生成部108は、アプリ状態監視部102から入力されたアプリ起動/終了情報を用いて関連アプリデータテーブル114を検索し、起動されたアプリ112に関連するアプリ208を抽出する。他OSアプリ起動コマンド生成部108は、アプリ起動/終了通知情報を参照し、起動されたアプリ112に関連するアプリ208が起動されていなければ、他OS起動状態判断部116から入力されている他OS起動状態情報を参照して以下の処理を行う。
【0084】
第2のOS200が起動されていない場合、他OSアプリ起動コマンド生成部108は、他OS起動依頼情報を他OS起動状態判断部116に、他OSアプリ起動コマンドをアプリ起動コマンド解読部206及び自動切替/完了通知制御部106に出力・送信する。一方、第2のOS200が起動されている場合、他OSアプリ起動コマンド生成部108は、他OSアプリ起動コマンドをアプリ起動コマンド解読部206及び自動切替/完了通知制御部106に出力・送信する。
【0085】
他OS起動状態判断部116は、PC電源制御部210から第2のOS起動/終了通知情報を受信し、第2のOS起動/終了通知情報に基づく内容の他OS起動状態情報を、他OSアプリ起動コマンド生成部108に出力する。また、他OS起動状態判断部116は、他OSアプリ起動コマンド生成部108から他OS起動依頼情報が入力されると、第2のOS起動コマンドを、第2のOS用電源制御部210に送信する。
【0086】
一方、第2のOS200上では、アプリ状態監視部202、アプリ起動/終了処理部204、アプリ起動コマンド解読部206、アプリ208等が動作する。第2のOS200は、例えばWindowである。
【0087】
また、第2実施例の情報処理装置2は、第2のOS200側の構成要素として、第2のOS用電源制御部210を備える。第2のOS用電源制御部210は、プラットフォーム52に対する供給電力を制御する。また、第2のOS用電源制御部210は、第2のOS200の起動/終了状態を示す第2のOS起動/終了通知情報を、第1のOS100側の他OS起動状態判断部116に送信する。
【0088】
アプリ112、アプリ208、関連アプリデータテーブル114の内容については第1実施例と同様である。また、電源制御部210、他OSアプリ起動コマンド生成部108、他OS起動状態判断部116を除く各構成要素の機能については第1実施例と同様である。従って、これらについての説明は省略する。
【0089】
第2実施例においても、第2のOS200は、想定される消費電力が第1のOS100に比して大きいものとなっている。第2実施例では、前述のように第1のOS100と第2のOS200でプラットフォームが異なるため、CPU周波数や供給電圧等が異なる場合があり、想定される消費電力の相違は第1実施例に比して大きいものとなり得る。このため、初期状態では第1のOS100を起動させ、必要に応じて第2のOS200を起動させることにより消費電力を抑制できるという効果は、第1実施例よりも大きいものとなり得る。
【0090】
[他OSのアプリを自動起動させる処理]
以下、本実施例の情報処理装置2により行われる、他OSのアプリを自動起動させる処理(他OSアプリ自動起動処理)について、シーケンス図及びフローチャートを用いて説明する。
【0091】
(シーケンス図)
図10は、情報処理装置2によって実行される処理の流れを示すシーケンス図である。なお、判定処理等の詳細についてはフローチャートにおいて説明し、シーケンス図においては処理の概要について説明する。
【0092】
まず、第1のOS100上でアプリ112が起動する(S500)。アプリ112が起動すると、アプリ状態監視部102から他OSアプリ起動コマンド生成部108にアプリ起動情報が入力される。他OSアプリ起動コマンド生成部108は、アプリ起動情報が入力されると、関連アプリデータテーブル114を検索する(S502)。
【0093】
起動されたアプリ112に関連するアプリ208が関連アプリデータテーブル114上に存在する場合、他OSアプリ起動コマンド生成部108は、他OS起動状態情報により第2のOS200の起動状態を確認する(S504)。
【0094】
第2のOS200が起動していない場合、他OSアプリ起動コマンド生成部108は、他OS起動状態判断部116に指示して、第2のOS起動コマンドを第2のOS用電源制御部210に送信させる(S506)。
【0095】
第2のOS用電源制御部210は、プラットフォーム52への電源供給及び第2のOS200の起動が完了すると、第2のOS起動(完了)通知情報を他OS起動状態判断部116に送信する(S508)。
【0096】
第2のOS起動(完了)通知情報を受信すると、他OS起動状態判断部116は、他OS起動状態情報(起動完了)を、他OSアプリ起動コマンド生成部108に出力する。他OSアプリ起動コマンド生成部108は、他OS起動状態情報(起動完了)が入力されると、アプリ起動コマンドを生成し(S510)、アプリ起動コマンドをアプリ起動コマンド解読部206に送信する(S512)。ここで、アプリ起動コマンドは、自動切替/完了通知制御部106にも出力される。
【0097】
以下、第1実施例と同様に、アプリ起動コマンド解読部206がアプリ起動コマンドを解読する(S514)。アプリ起動コマンド解読部206は、起動すべきアプリ208を指定したアプリ起動指示情報をアプリ起動/終了処理部204に出力する。アプリ起動/終了処理部204は、アプリ起動指示情報が入力されると、指定されたアプリ208の起動を開始する(S516)。アプリ208の起動が完了すると(S518)、アプリ状態監視部202がアプリ起動(完了)通知情報を、第1のOS100側の自動切替/完了通知制御部106に送信する(S520)。自動切替/完了通知制御部106は、アプリ起動(完了)通知情報を受信すると、係る起動がアプリ起動コマンドによるものである場合は、該当するアプリ208が起動完了したことを表示するように表示装置24に指示する(S522)。
【0098】
ここで、S500においてアプリ112が起動してからS522でアプリ208が起動完了したことが表示されるまでの期間T2の間は、第1のOS100による表示画面が表示装置24により表示され、ユーザはアプリ208の使用を継続することができる。すなわち、アプリ112に関連するアプリ208の自動起動処理は、ユーザから見てバックグラウンドで実行される。これによって、ユーザはOSやアプリの切替処理が完了するまで待つ必要が無くなり、ユーザにとっての利便性が向上する。
【0099】
自動切替/完了通知制御部106は、更に、予め入出力自動切替設定部110から入力されている自動切替設定情報を参照する(S524)。自動切替設定情報がEnableとなっている場合は、入力装置22及び表示装置24を第2のOS200側に対応付けることを指示する入出力切替信号を出力するように、入出力切替部26に指示する(S526)。この際に、自動切替/完了通知制御部106は、アプリ起動/終了処理部104に対し、アプリ112の終了を指示してもよい。
【0100】
S526の処理によって、表示装置24の表示画面が第2のOS200による表示画面に切り替わり、入力装置22への入力内容が第2のOS200に反映されることになるため、ユーザはアプリ208を使用可能となる(S528)。
【0101】
一方、自動切替/完了通知制御部106は、自動切替設定情報がDisableとなっている場合は、S526の処理を行わず、他OSアプリ自動起動処理を終了する。この場合、ユーザは、入力装置22に対してOSの切替操作を行うことにより、第2のOS200を起動させてアプリ208を使用することができる。
【0102】
係る処理によって、ユーザがOSを切り替える際に手動で再起動等を行ったり、切り替えを指示するためのボタンを押したりする必要性を、ユーザの意志(自動切替設定)によって省略することができる。また、切り替えられたOS上で所望のアプリを探して起動させる手間や時間を省略することができる。従って、係る処理を実行する情報処理装置2は、ユーザにとっての利便性を向上させることができる。
【0103】
(フローチャート)
図11〜15は、図10のシーケンス図で説明した処理を、機能ブロック毎(或いは機能ブロック群毎)にフローチャートの形式で示したものである。
【0104】
図11は、他OSアプリ起動コマンド生成部108によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【0105】
まず、他OSアプリ起動コマンド生成部108は、アプリ112が起動したことを示すアプリ起動情報が入力されたか否かを判定する(S600)。他OSアプリ起動コマンド生成部108は、アプリ起動情報が入力されなかった場合は、本フローチャートの1ルーチンを終了する。
【0106】
アプリ起動情報が入力された場合、他OSアプリ起動コマンド生成部108は、関連アプリデータテーブル114を検索し、アプリ起動情報が示すアプリ112に関連するアプリ208が存在するか否かを判定する(S602)。他OSアプリ起動コマンド生成部108は、関連アプリデータテーブル114上に、アプリ起動情報が示すアプリ112に関連するアプリ208が存在しない場合は、本フローチャートの1ルーチンを終了する。なお、本判定処理は、「該当するアプリ208が未起動であること」をand条件として加えてもよい。すなわち、「アプリ起動情報が示すアプリ112に関連するアプリ208が存在し、且つ該当するアプリ208が未起動であるか否かを判定する」としてもよい。
【0107】
アプリ112に関連するアプリ208が存在する場合、他OSアプリ起動コマンド生成部108は、他OS起動状態判断部116から入力されている他OS起動状態情報を参照して、第2のOS200が起動しているか否かを判定する(S604)。
【0108】
第2のOS200が起動していない場合、他OSアプリ起動コマンド生成部108は、他OS起動依頼情報を他OS起動状態判断部116に出力し、第2のOS起動コマンドを第2のOS用電源制御部210に送信させる(S606)。これによって、他OS起動状態判断部116が第2のOS200側の第2のOS用電源制御部210に第2のOS起動コマンドを送信する。そして、他OSアプリ起動コマンド生成部108は、他OS起動状態判断部116から入力される他OS起動状態情報(起動完了)によって第2のOS200の起動完了が確認されるまで待機する(S608)。
【0109】
続いて、他OSアプリ起動コマンド生成部108は、該当するアプリ208の起動を指示するアプリ起動コマンドを生成し(S610)、生成したアプリ起動コマンドを第2のOS200側のアプリ起動コマンド解読部206に送信する(S612)。
【0110】
図12は、第2のOS用電源制御部210によって実行される第2のOS200の起動処理の流れを示すフローチャートである。本フローチャートは、第2のOS200がシャットダウンされたときに開始される。
【0111】
まず、第2のOS用電源制御部210は、他OS起動状態判断部116から第2のOS起動コマンドを受信するまで待機する(S620)。
【0112】
他OS起動状態判断部116から第2のOS起動コマンドを受信すると、第2のOS用電源制御部210は、プラットフォーム52に対する電力供給を開始する(S622)。なお、S620、S622の処理は、スリープ電源等を利用して行うことができる。
【0113】
次に、第2のOS用電源制御部210は、第2のOS200の起動を開始し(S624)、第2のOS200の起動が完了するまで待機する(S626)。第2のOS用電源制御部210は、第2のOS200の起動が完了すると、第2のOS起動(完了)通知情報を他OS起動状態判断部116に送信する(S628)。
【0114】
図13は、第2のOS用電源制御部210によって実行される第2のOS200の終了処理の流れを示すフローチャートである。本フローチャートは、第2のOS200が起動された状態で、ユーザ操作等により第2のOS200のシャットダウンが指示されたときに開始される。
【0115】
まず、第2のOS用電源制御部210は、第2のOS200のシャットダウン処理を開始し(S630)、第2のOS200のシャットダウン処理が完了するまで待機する(S632)。第2のOS用電源制御部210は、第2のOS200のシャットダウン処理が完了すると、第2のOS終了通知情報を他OS起動状態判断部116に送信する(S634)。
【0116】
図14は、第2のOS200側のアプリ状態監視部202、アプリ起動/終了処理部204、及びアプリ起動コマンド解読部206によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【0117】
まず、アプリ起動コマンド解読部206は、アプリ起動コマンドを受信したか否かを判定する(S640)。アプリ起動コマンドを受信しなかった場合は、本フローチャートの1ルーチンを終了する。
【0118】
アプリ起動コマンドを受信した場合、アプリ起動コマンド解読部206は、アプリ起動コマンドを解読し(S642)、アプリ起動指示情報をアプリ起動/終了処理部204に出力する。
【0119】
アプリ起動/終了処理部204は、アプリ起動指示情報により指定されたアプリ208を起動させる(S644)。
【0120】
アプリ状態監視部202は、S644で起動開始されたアプリ208の起動が完了するまで待機し(S646)、アプリ208の起動が完了すると、アプリ起動(完了)通知情報を、第1のOS100側の自動切替/完了通知制御部106に送信する(S648)。
【0121】
図15は、自動切替/完了通知制御部106によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【0122】
まず、自動切替/完了通知制御部106は、アプリ起動(完了)通知情報を受信したか否かを判定する(S660)。自動切替/完了通知制御部106は、アプリ起動(完了)通知情報を受信しなかった場合は、本フローチャートの1ルーチンを終了する。
【0123】
アプリ起動(完了)通知情報を受信した場合、自動切替/完了通知制御部106は、係る起動がアプリ起動コマンドによる起動であるか否かを判定する(S662)。本判定は、例えば、アプリ起動(完了)通知情報の受信の所定時間前から現在までの間に、他OSアプリ起動コマンド生成部108から該当するアプリ起動コマンドが入力されていたか否かを判定することによって行うことができる。また、本判定は、アプリ起動(完了)通知情報にアプリ起動コマンドによる起動か否かを示す情報が付加されている場合、係る情報を参照することによって行うことができる。自動切替/完了通知制御部106は、アプリ起動コマンドによる起動でない場合は、本フローチャートの1ルーチンを終了する。
【0124】
なお、アプリ起動コマンドによる起動でない場合(ユーザの何らかの操作による場合)にも、アプリ208の起動完了を表示させるようにしてもよく、この場合、S662の判定は必須でない。
【0125】
アプリ起動コマンドによる起動である場合、自動切替/完了通知制御部106は、該当するアプリ208が起動完了したことを表示するように表示装置24に指示する(S664)。
【0126】
次に、自動切替/完了通知制御部106は、予め入出力自動切替設定部110から入力されている自動切替設定情報がEnableとなっているか否かを判定する(S666)。自動切替/完了通知制御部106は、自動切替設定情報がEnableとなっていない場合は、本フローチャートの1ルーチンを終了する。
【0127】
自動切替設定情報がEnableとなっている場合、自動切替/完了通知制御部106は、入力装置22及び表示装置24を第2のOS200側に対応付けることを指示する入出力切替信号を出力するように、入出力切替部26に指示する(S668)。すなわち、入力装置22及び表示装置24を第2のOS200側に切り替える。
【0128】
[まとめ]
以上説明した本実施例の情報処理装置、情報処理装置の制御方法、及び情報処理装置の制御プログラムによれば、ユーザにとっての利便性を向上させることができる。
【0129】
また、初期状態では電力消費の小さい第1のOS100を起動させ、必要に応じて電力消費の大きい第2のOS200を起動させるという用い方によって、情報処理装置の消費電力を抑制することができる。
【0130】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0131】
例えば、アプリ208がバックグラウンドで起動完了したことを表示するように表示装置24に指示した後に、入力装置22及び表示装置24を第2のOS200側に切り替えるものとしたが、表示を省略して切り替えのみ行うものとしてもよい。
【0132】
また、各種情報を受信したか否かを確認する処理を各機能ブロックが定期的に行うものとして記載したが、各種情報が割り込み通知され、受信時に自動的に処理が開始されるものとしてもよい。
【0133】
以上の説明に関し、さらに以下の項を開示する。
(付記1)
第1のオペレーティングシステムを実行する第1の処理部と、
第2のオペレーティングシステムを実行する第2の処理部と、
前記第1の処理部または前記第2の処理部を操作するユーザーインターフェースと、
前記第1の処理部または前記第2の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備え、
前記切り替え部が前記第1の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第1のオペレーティングシステム上で動作する第1のアプリケーションプログラムに基づいて前記第2のオペレーティングシステム上で動作する第2のアプリケーションプログラムを起動させ、
該第2のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を実行する情報処理装置。
(付記2)
前記第1のアプリケーションプログラムが前記第2のアプリケーションプログラムに対応付けられたデータテーブルを記憶する記憶部を備え、
前記第2のアプリケーションプログラムを起動する処理は、前記ユーザーインターフェースの動作を伴う前記第1のアプリケーションプログラムに基づいて、前記第2のアプリケーションプログラムを前記データテーブルから抽出し、該抽出した前記第2のアプリケーションプログラムを起動させる処理であることを特徴とする、付記1記載の情報処理装置。
(付記3)
ユーザによる前記切り替え部の切り替え指示を受け付ける受付部と、
前記切り替え部に対して自動的にオペレーティングシステムを切り替える指示の有効無効を決定するフラグを保持した保持手段と、を備え、
前記第2のアプリケーションプログラムの起動完了に基づいて、
前記フラグが有効である場合に前記切り替え部を制御する処理は、前記第2の処理部へ切り替えるよう前記切り替え部を制御する処理であり、
前記フラグが無効である場合に前記切り替え部を制御する処理は、前記入力受付部に対してなされた前記切り替え指示に応じて、前記第2の処理部へ切り替えるよう前記切り替え部を制御する処理であることを特徴とする、付記1記載の情報処理装置。
(付記4)
ユーザによる前記切り替え部の切り替え指示を受け付ける受付部を備え、
前記切り替え部を制御する処理は、前記受付部の操作をうながすメッセージを前記第1のオペレーティングシステムから前記ユーザーインターフェースへ出力させる処理である付記1記載の情報処理装置。
(付記5)
前記第1のオペレーティングシステムは、前記第2のオペレーティングシステムに比して想定される消費電力が小さいことを特徴とする、
付記1ないし4のいずれか1項記載の情報処理装置。
(付記6)
前記第1のオペレーティングシステムと前記第2のオペレーティングシステムは、異なるプラットフォーム上で動作し、
前記第2のアプリケーションプログラムを起動する処理は、前記第2のアプリケーションプログラムを起動するのに先だって、前記第2のオペレーティングシステムを起動させる処理であることを特徴とする、
付記1ないし5のいずれか1項記載の情報処理装置。
(付記7)
第1のオペレーティングシステムを実行する第1の処理部と、第2のオペレーティングシステムを実行する第2の処理部と、前記第1の処理部または前記第2の処理部を操作するユーザーインターフェースと、前記第1の処理部または前記第2の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備える情報処理装置の制御方法であって、
前記切り替え部が前記第1の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第1のオペレーティングシステム上で動作する第1のアプリケーションプログラムに基づいて前記第2のオペレーティングシステム上で動作する第2のアプリケーションプログラムを起動させ、
該第2のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を実行することを特徴とする、情報処理装置の制御方法。
(付記8)
第1のオペレーティングシステムを実行する第1の処理部と、第2のオペレーティングシステムを実行する第2の処理部と、前記第1の処理部または前記第2の処理部を操作するユーザーインターフェースと、前記第1の処理部または前記第2の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備える情報処理装置の制御プログラムであって、
前記切り替え部が前記第1の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第1のオペレーティングシステム上で動作する第1のアプリケーションプログラムに基づいて前記第2のオペレーティングシステム上で動作する第2のアプリケーションプログラムを起動させ、
該第2のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を前記情報処理装置に実行させることを特徴とする、情報処理装置の制御プログラム。
【符号の説明】
【0134】
1、2 情報処理装置
10 CPU
12 ドライブ装置
14 記憶媒体
16 補助記憶装置
18 メモリ装置
20 インターフェース装置
22 入力装置
24 表示装置
50、51、52 プラットフォーム
100 第1のOS
102 アプリ状態監視部
104 アプリ起動/終了処理部
106 自動切替/完了通知制御部
108 他OSアプリ起動コマンド生成部
110 入出力自動切替設定部
112 アプリ
114 関連アプリデータテーブル
116 他OS起動状態判断部
200 第2のOS
202 アプリ状態監視部
204 アプリ起動/終了処理部
206 アプリ起動コマンド解読部
208 アプリ
210 第1のOS用電源制御部
【特許請求の範囲】
【請求項1】
第1のオペレーティングシステムを実行する第1の処理部と、
第2のオペレーティングシステムを実行する第2の処理部と、
前記第1の処理部または前記第2の処理部を操作するユーザーインターフェースと、
前記第1の処理部または前記第2の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備え、
前記切り替え部が前記第1の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第1のオペレーティングシステム上で動作する第1のアプリケーションプログラムに基づいて前記第2のオペレーティングシステム上で動作する第2のアプリケーションプログラムを起動させ、
該第2のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を実行する情報処理装置。
【請求項2】
前記第1のアプリケーションプログラムが前記第2のアプリケーションプログラムに対応付けられたデータテーブルを記憶する記憶部を備え、
前記第2のアプリケーションプログラムを起動する処理は、前記ユーザーインターフェースの動作を伴う前記第1のアプリケーションプログラムに基づいて、前記第2のアプリケーションプログラムを前記データテーブルから抽出し、該抽出した前記第2のアプリケーションプログラムを起動させる処理であることを特徴とする、請求項1記載の情報処理装置。
【請求項3】
ユーザによる前記切り替え部の切り替え指示を受け付ける受付部と、
前記切り替え部に対して自動的にオペレーティングシステムを切り替える指示の有効無効を決定するフラグを保持した保持手段と、を備え、
前記第2のアプリケーションプログラムの起動完了に基づいて、
前記フラグが有効である場合に前記切り替え部を制御する処理は、前記第2の処理部へ切り替えるよう前記切り替え部を制御する処理であり、
前記フラグが無効である場合に前記切り替え部を制御する処理は、前記入力受付部に対してなされた前記切り替え指示に応じて、前記第2の処理部へ切り替えるよう前記切り替え部を制御する処理であることを特徴とする、請求項1記載の情報処理装置。
【請求項4】
ユーザによる前記切り替え部の切り替え指示を受け付ける受付部を備え、
前記切り替え部を制御する処理は、前記受付部の操作をうながすメッセージを前記第1のオペレーティングシステムから前記ユーザーインターフェースへ出力させる処理である請求項1記載の情報処理装置。
【請求項5】
前記第1のオペレーティングシステムは、前記第2のオペレーティングシステムに比して想定される消費電力が小さいことを特徴とする、
請求項1ないし4のいずれか1項記載の情報処理装置。
【請求項6】
前記第1のオペレーティングシステムと前記第2のオペレーティングシステムは、異なるプラットフォーム上で動作し、
前記第2のアプリケーションプログラムを起動する処理は、前記第2のアプリケーションプログラムを起動するのに先だって、前記第2のオペレーティングシステムを起動させる処理であることを特徴とする、
請求項1ないし5のいずれか1項記載の情報処理装置。
【請求項7】
第1のオペレーティングシステムを実行する第1の処理部と、第2のオペレーティングシステムを実行する第2の処理部と、前記第1の処理部または前記第2の処理部を操作するユーザーインターフェースと、前記第1の処理部または前記第2の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備える情報処理装置の制御方法であって、
前記切り替え部が前記第1の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第1のオペレーティングシステム上で動作する第1のアプリケーションプログラムに基づいて前記第2のオペレーティングシステム上で動作する第2のアプリケーションプログラムを起動させ、
該第2のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を実行することを特徴とする、情報処理装置の制御方法。
【請求項8】
第1のオペレーティングシステムを実行する第1の処理部と、第2のオペレーティングシステムを実行する第2の処理部と、前記第1の処理部または前記第2の処理部を操作するユーザーインターフェースと、前記第1の処理部または前記第2の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備える情報処理装置の制御プログラムであって、
前記切り替え部が前記第1の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第1のオペレーティングシステム上で動作する第1のアプリケーションプログラムに基づいて前記第2のオペレーティングシステム上で動作する第2のアプリケーションプログラムを起動させ、
該第2のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を前記情報処理装置に実行させることを特徴とする、情報処理装置の制御プログラム。
【請求項1】
第1のオペレーティングシステムを実行する第1の処理部と、
第2のオペレーティングシステムを実行する第2の処理部と、
前記第1の処理部または前記第2の処理部を操作するユーザーインターフェースと、
前記第1の処理部または前記第2の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備え、
前記切り替え部が前記第1の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第1のオペレーティングシステム上で動作する第1のアプリケーションプログラムに基づいて前記第2のオペレーティングシステム上で動作する第2のアプリケーションプログラムを起動させ、
該第2のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を実行する情報処理装置。
【請求項2】
前記第1のアプリケーションプログラムが前記第2のアプリケーションプログラムに対応付けられたデータテーブルを記憶する記憶部を備え、
前記第2のアプリケーションプログラムを起動する処理は、前記ユーザーインターフェースの動作を伴う前記第1のアプリケーションプログラムに基づいて、前記第2のアプリケーションプログラムを前記データテーブルから抽出し、該抽出した前記第2のアプリケーションプログラムを起動させる処理であることを特徴とする、請求項1記載の情報処理装置。
【請求項3】
ユーザによる前記切り替え部の切り替え指示を受け付ける受付部と、
前記切り替え部に対して自動的にオペレーティングシステムを切り替える指示の有効無効を決定するフラグを保持した保持手段と、を備え、
前記第2のアプリケーションプログラムの起動完了に基づいて、
前記フラグが有効である場合に前記切り替え部を制御する処理は、前記第2の処理部へ切り替えるよう前記切り替え部を制御する処理であり、
前記フラグが無効である場合に前記切り替え部を制御する処理は、前記入力受付部に対してなされた前記切り替え指示に応じて、前記第2の処理部へ切り替えるよう前記切り替え部を制御する処理であることを特徴とする、請求項1記載の情報処理装置。
【請求項4】
ユーザによる前記切り替え部の切り替え指示を受け付ける受付部を備え、
前記切り替え部を制御する処理は、前記受付部の操作をうながすメッセージを前記第1のオペレーティングシステムから前記ユーザーインターフェースへ出力させる処理である請求項1記載の情報処理装置。
【請求項5】
前記第1のオペレーティングシステムは、前記第2のオペレーティングシステムに比して想定される消費電力が小さいことを特徴とする、
請求項1ないし4のいずれか1項記載の情報処理装置。
【請求項6】
前記第1のオペレーティングシステムと前記第2のオペレーティングシステムは、異なるプラットフォーム上で動作し、
前記第2のアプリケーションプログラムを起動する処理は、前記第2のアプリケーションプログラムを起動するのに先だって、前記第2のオペレーティングシステムを起動させる処理であることを特徴とする、
請求項1ないし5のいずれか1項記載の情報処理装置。
【請求項7】
第1のオペレーティングシステムを実行する第1の処理部と、第2のオペレーティングシステムを実行する第2の処理部と、前記第1の処理部または前記第2の処理部を操作するユーザーインターフェースと、前記第1の処理部または前記第2の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備える情報処理装置の制御方法であって、
前記切り替え部が前記第1の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第1のオペレーティングシステム上で動作する第1のアプリケーションプログラムに基づいて前記第2のオペレーティングシステム上で動作する第2のアプリケーションプログラムを起動させ、
該第2のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を実行することを特徴とする、情報処理装置の制御方法。
【請求項8】
第1のオペレーティングシステムを実行する第1の処理部と、第2のオペレーティングシステムを実行する第2の処理部と、前記第1の処理部または前記第2の処理部を操作するユーザーインターフェースと、前記第1の処理部または前記第2の処理部を選択的に前記ユーザーインターフェースへ切り替える切り替え部と、を備える情報処理装置の制御プログラムであって、
前記切り替え部が前記第1の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記第1のオペレーティングシステム上で動作する第1のアプリケーションプログラムに基づいて前記第2のオペレーティングシステム上で動作する第2のアプリケーションプログラムを起動させ、
該第2のアプリケーションプログラムの起動完了に基づいて、前記切り替え部を制御する処理を前記情報処理装置に実行させることを特徴とする、情報処理装置の制御プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2013−105391(P2013−105391A)
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願番号】特願2011−249900(P2011−249900)
【出願日】平成23年11月15日(2011.11.15)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願日】平成23年11月15日(2011.11.15)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]