(57)【特許請求の範囲】
【請求項１】
第１のオペレーティングシステムを実行する第１の処理部または第２のオペレーティングシステムを実行する第２の処理部を選択的にユーザーインターフェースへ切り替える切り替え部と、前記第１のオペレーティングシステム上で動作する第１のアプリケーションプログラムが前記第２のオペレーティングシステム上で動作する第２のアプリケーションプログラムに対応付けられたデータテーブルを記憶する記憶部と、を備える情報処理装置の制御方法であって、
前記情報処理装置が、アプリケーションプログラムの起動に関する情報をサーバ装置に送信し、
前記サーバ装置が、前記情報処理装置から受信した情報に基づいてアプリケーションプログラム間を関連付ける処理を行い、処理結果を前記情報処理装置に送信し、
前記情報処理装置が、前記サーバ装置から受信した処理結果に基づいて前記データテーブルを更新し、前記切り替え部が前記第１の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記データテーブルにおいて起動中の前記第１のアプリケーションプログラムに対応付けられた前記第２のアプリケーションプログラムを起動させることを特徴とする、情報処理装置の制御方法。
【請求項２】
前記サーバ装置は、複数の前記情報処理装置から受信した情報に対する統計処理を行ってアプリケーションプログラム間を関連付ける処理を行うことを特徴とする、
請求項１記載の情報処理装置の制御方法。
【請求項３】
前記サーバ装置は、複数の前記情報処理装置のうち一の情報処理装置から受信した情報から導出されるアプリケーションプログラム間の関連付けと、複数の前記情報処理装置から受信した情報に対する統計処理を行って得られるアプリケーションプログラム間の関連付けが一致しない場合には、該一致しないアプリケーションプログラム間の関連付けの双方を該当する情報処理装置に送信し、
前記該当する情報処理装置は、前記サーバ装置から受信したアプリケーションプログラム間の関連付けの双方を前記データテーブルに記憶させ、前記データテーブルにおいて起動中の前記第１のアプリケーションプログラムに対応付けられた前記第２のアプリケーションプログラムが複数存在する場合には、該複数の第２のアプリケーションプログラムのいずれか起動させるかユーザが決定する操作を受け付けることを特徴とする、
請求項２記載の情報処理装置の制御方法。
【請求項４】
第１のオペレーティングシステムを実行する第１の処理部と、
第２のオペレーティングシステムを実行する第２の処理部と、
前記第１の処理部または前記第２の処理部を選択的にユーザーインターフェースへ切り替える切り替え部と、
前記第１のオペレーティングシステム上で動作する第１のアプリケーションプログラムが前記第２のオペレーティングシステム上で動作する第２のアプリケーションプログラムに対応付けられたデータテーブルを記憶する記憶部と、
前記アプリケーションプログラムの起動に関する情報をサーバ装置に送信する起動情報送信部と、を備え、
前記サーバ装置において行われるアプリケーションプログラム間を関連付ける処理の結果を前記サーバ装置から受信し、該処理結果に基づいて前記データテーブルを更新し、
前記切り替え部が前記第１の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記データテーブルにおいて起動中の前記第１のアプリケーションプログラムに対応付けられた前記第２のアプリケーションプログラムを起動させることを特徴とする、
情報処理装置。
【請求項５】
第１のオペレーティングシステムを実行する第１の処理部または第２のオペレーティングシステムを実行する第２の処理部を選択的にユーザーインターフェースへ切り替える切り替え部と、前記第１のオペレーティングシステム上で動作する第１のアプリケーションプログラムが前記第２のオペレーティングシステム上で動作する第２のアプリケーションプログラムに対応付けられたデータテーブルを記憶する記憶部と、を備える情報処理装置の制御プログラムであって、
前記情報処理装置に、
アプリケーションプログラムの起動に関する情報をサーバ装置に送信させ、
前記サーバ装置において行われるアプリケーションプログラム間を関連付ける処理の結果を前記サーバ装置から受信し、該受信した処理結果に基づいて前記データテーブルを更新させ、
前記切り替え部が前記第１の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記データテーブルにおいて起動中の前記第１のアプリケーションプログラムに対応付けられた前記第２のアプリケーションプログラムを起動させることを特徴とする、情報処理装置の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置の制御方法、情報処理装置の制御プログラム、及び情報処理装置に関する。
【背景技術】
【０００２】
従来、複数のオペレーティングシステム（以下、ＯＳと表記する）を搭載した情報処理装置が知られている。ＯＳを切り替え可能とすることによって、ユーザは各ＯＳに依存するアプリケーションプログラム（以下、アプリと表記する）を一台の情報処理装置で利用することが可能となり、情報処理装置の利便性が向上する。
【０００３】
図１は、二種類のＯＳを搭載するデュアルＯＳ端末（情報処理装置）のユーザによる使用態様を例示した図である。まず、時点（１）において、ユーザは第１のＯＳ上で動作するアプリによって動画鑑賞を行っている。次に、時点（２）において、ユーザは鑑賞した動画の編集を行いたいと考える。仮に、動画編集に関するアプリは、第２のＯＳの方が充実しているものとすると、ユーザは第２のＯＳに切り替えたいと考えることが想定される。従って、時点（３）において、ユーザは、ＯＳ並びに表示画面等を手動で第２のＯＳ側に切り替える。時点（４）において第２のＯＳが起動した後、ユーザは、動画編集に関するアプリを探して起動させる。そして、時点（５）において、起動させたアプリによって動画編集が可能となる。
【０００４】
係る技術に関連し、動作環境を排他的に切り替えることが可能な情報処理装置が知られている。この情報処理装置では、第１のＯＳと第２のＯＳのうちいずれか一方が動作できるように動作環境を切り替えている。また、この情報処理装置では、ＯＳを切り替える際には、実行中のＯＳをユーザが一度終了させた後、情報処理装置の起動時に切り替えを指示している。また、この情報処理装置では、第１のＯＳの実行中に所定のメッセージが記憶装置に格納された場合、その後、電源投入や再起動が行われると、メッセージを実行すべきＯＳ（例えば第２のＯＳ）の動作を開始させている。
【０００５】
また、テレビのチャネルの切替えなどを遠隔操作するリモートコントロール装置が知られている。この装置では、リモコンを操作する者の操作パターンやその者の個人情報（趣味等）、操作履歴に基づく統計情報等を利用して、例えば電源オンの後に特定のチャンネルを自動的に選択する処理を行っている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−２０２６９１号公報
【特許文献２】特開２００６−２１１５４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の情報処理装置は、ユーザがＯＳを切り替える際に手動で再起動等を行ったり、切り替えを指示するためのボタンを押したりする必要があるため、手間や時間を要するものであった。また、切り替えられたＯＳ上で所望のアプリを探して起動させるために、更に手間や時間を要するものであった。
【０００８】
特許文献１に記載の情報処理装置は、起動時に選択されるＯＳを自動的に決定することはできるものの、ＯＳを切り替える際にはユーザの操作が必要であり、またアプリを選択する手間を要する点は同様である。
【０００９】
このように、従来の情報処理装置では、ＯＳやアプリの切り替えに関する利便性が十分でなかった。
【００１０】
また、特許文献２に記載の装置は、オペレーティングシステムやアプリケーションプログラムを制御対象としておらず、情報処理装置の制御に関する技術に適用するのが困難である。
【００１１】
一つの側面では、本発明は、情報処理装置の利便性を向上させることを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するための一態様は、
第１のオペレーティングシステムを実行する第１の処理部または第２のオペレーティングシステムを実行する第２の処理部を選択的にユーザーインターフェースへ切り替える切り替え部と、前記第１のオペレーティングシステム上で動作する第１のアプリケーションプログラムが前記第２のオペレーティングシステム上で動作する第２のアプリケーションプログラムに対応付けられたデータテーブルを記憶する記憶部と、を備える情報処理装置の制御方法であって、
前記情報処理装置が、アプリケーションプログラムの起動に関する情報をサーバ装置に送信し、
前記サーバ装置が、前記情報処理装置から受信した情報に基づいてアプリケーションプログラム間を関連付ける処理を行い、処理結果を前記情報処理装置に送信し、
前記情報処理装置が、前記サーバ装置から受信した処理結果に基づいて前記データテーブルを更新し、前記切り替え部が前記第１の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記データテーブルにおいて起動中の前記第１のアプリケーションプログラムに対応付けられた前記第２のアプリケーションプログラムを起動させることを特徴とする、情報処理装置の制御方法である。
【発明の効果】
【００１３】
一実施態様によれば、情報処理装置の利便性を向上させることができる。
【図面の簡単な説明】
【００１４】
【図１】二種類のＯＳを搭載するデュアルＯＳ端末（情報処理装置）のユーザによる使用態様を例示した図である。
【図２】本発明の一実施例に係る情報処理装置１のハードウエア構成例である。
【図３】本発明の第１実施例に係る情報処理装置１及びサーバ装置５００の機能構成例である。
【図４】関連アプリデータローカルテーブル１２０の一例である。
【図５】情報処理装置１によって実行される処理の流れを示すシーケンス図である。
【図６】他ＯＳアプリ起動コマンド生成部１０８によって実行される処理の流れを示すフローチャートである。
【図７】第２のＯＳ２００側のアプリ状態監視部２０２、アプリ起動／終了処理部２０４、及びアプリ起動コマンド解読部２０６によって実行される処理の流れを示すフローチャートである。
【図８】自動切替／完了通知制御部１０６によって実行される処理の流れを示すフローチャートである。
【図９】サーバ装置５００が情報処理装置１から受信する起動アプリログ及び切替情報を統合した起動アプリログ統合データ５０８と、これに基づき生成される関連アプリデータマスターテーブル５０４の一例である。
【図１０】第１実施例に係るサーバ装置５００により実行される処理の流れを示すフローチャートである。
【図１１】情報処理装置１によって実行される関連アプリデータローカルテーブル１２０の更新を含めた全体処理の流れを示すフローチャートの一例である。
【図１２】本発明の第２実施例に係る情報処理装置１〜ｎ、及びサーバ装置５００の機能構成例である。
【図１３】関連アプリデータマスターテーブル５０４（１）〜（３）に基づいて関連アプリデータ統計テーブル５１４が生成される様子を示す図である。
【図１４】関連アプリデータテーブル選択部５１０によってアプリの組が選択される様子を示す図である。
【図１５】情報処理装置１〜３から収集した起動アプリログに基づいてサーバ装置５００が統計処理を行った結果、情報処理装置４の関連アプリデータローカルテーブル１２０（４）が更新される様子を示す図である。
【図１６】第２実施例に係るサーバ装置５００により実行される処理の流れを示すフローチャートである。
【図１７】自動切替設定情報に応じてアプリ切替を行う際の処理の流れを示すフローチャートの一例である。
【図１８】本発明の第３実施例に係る情報処理装置１〜ｎ、及びサーバ装置５００の機能構成例である。
【図１９】関連アプリデータマスターテーブル生成部５０２により関連アプリデータマスターテーブル５０４が生成される様子を示す図である。
【図２０】関連アプリデータマスターテーブル５０４（１）〜（３）に基づいて関連アプリデータ統計テーブル５１４が生成される様子を示す図である。
【図２１】情報処理装置１〜３から収集した起動アプリログに基づいてサーバ装置５００が統計処理を行った結果、情報処理装置１の関連アプリデータローカルテーブル１２０（１）が更新される様子を示す図である。
【図２２】第３実施例に係るサーバ装置５００により実行される処理の流れを示すフローチャートである。
【図２３】第３実施例に係るサーバ装置３００により実行される、関連アプリデータ統計テーブルの作成と、関連アプリデータマスターテーブル５０４との比較に関するフローチャートである。
【図２４】他の実施例に係る情報処理装置の機能構成例である。
【発明を実施するための形態】
【００１５】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【００１６】
＜第１実施例＞
以下、図面を参照し、本発明の第１実施例に係る情報処理装置の制御方法、情報処理装置の制御プログラム、及び情報処理装置について説明する。
【００１７】
［ハードウエア構成］
図２は、本発明の第１実施例に係る情報処理装置１のハードウエア構成例である。情報処理装置１は、例えば、ＣＰＵ（Central  Processing  Unit）１０と、ドライブ装置１２と、補助記憶装置１６と、メモリ装置１８と、インターフェース装置２０と、入力装置２２と、表示装置２４と、を備える。これらの構成要素は、バスやシリアル回線等を介して接続されている。
【００１８】
ＣＰＵ１０は、例えば、プログラムカウンタや命令デコーダ、各種演算器、ＬＳＵ（Load  Store  Unit）、汎用レジスタ等を有するプロセッサである。
【００１９】
ドライブ装置１２は、記憶媒体１４からプログラムやデータを読み込み可能な装置である。プログラムを記録した記憶媒体１４がドライブ装置１２に装着されると、プログラムが記憶媒体１４からドライブ装置１２を介して補助記憶装置１６にインストールされる。記憶媒体１４は、例えば、ＣＤ（Compact  Disc）、ＤＶＤ（Digital  Versatile  Disc）、ＵＳＢ（Universal  Serial  Bus）メモリ等の可搬型の記憶媒体である。また、補助記憶装置１６は、例えば、ＨＤＤ（Hard  Disk  Drive）やフラッシュメモリである。
【００２０】
プログラムのインストールは、上記のように記憶媒体１４を用いる他、インターフェース装置２０がネットワークを介して他のコンピュータよりダウンロードし、補助記憶装置１６にインストールすることによって行うこともできる。ネットワークは、インターネット、ＬＡＮ（Local  Area  Network）、無線ネットワーク等である。また、プログラムは、情報処理装置１の出荷時に、予め補助記憶装置１６やＲＯＭ（Read  Only  Memory）等に格納されていてもよい。
【００２１】
このようにしてインストール又は予め格納されたプログラムをＣＰＵ１０が実行することにより、図２に示す態様の情報処理装置が、本実施例の情報処理装置１として機能することができる。
【００２２】
メモリ装置１８は、例えば、ＲＡＭ（Random  Access  Memory）やＥＥＰＲＯＭ（Electrically  Erasable  and  Programmable  Read  Only  Memory）である。インターフェース装置２０は、上記ネットワークとの接続等を制御する。
【００２３】
入力装置２２は、例えば、キーボード、マウス、ボタン、タッチパッド、タッチパネル、マイク等である。また、表示装置２４は、例えば、ＬＣＤ（Liquid  Crystal  Display）やＣＲＴ（Cathode  Ray  Tube）等の表示装置である。情報処理装置１は、表示装置２４の他、プリンタ、スピーカ等の他の種類の出力装置を備えてもよい。
【００２４】
サーバ装置５００は、情報処理装置１と同様のコンピュータである。
【００２５】
［機能構成］
図３は、本発明の第１実施例に係る情報処理装置１及びサーバ装置５００の機能構成例である。情報処理装置１は、第１のＯＳ１００と第２のＯＳ２００が、プラットフォーム５０を共用して動作可能となっている。プラットフォーム５０には、例えばＣＰＵ１０、ドライブ装置１２、補助記憶装置１６、メモリ装置１８、インターフェース装置２０等のうち少なくとも一部が含まれる。なお、本実施例において、特許請求の範囲における第１の処理部と第２の処理部は、第１のＯＳ１００と第２のＯＳ２００をそれぞれ実行する仮想的な処理部に対応する。
【００２６】
また、特許請求の範囲におけるユーザーインターフェースの一例である入力装置２２、表示装置２４には、入出力切替部２６が接続される。入出力切替部２６は、各ＯＳからの指示に応じて、入出力切替信号を入力装置２２及び表示装置２４に出力し、入力装置２２及び表示装置２４をいずれかのＯＳに対応付ける。例えば、入出力切替部２６は、第１のＯＳ１００による表示画面と、第２のＯＳ２００による表示画面のいずれかを選択的に表示装置２４に表示させるように切り替える。また、入出力切替部２６は、入力装置２２への入力内容が、第１のＯＳ１００と第２のＯＳ２００のいずれか一方に反映されるように切り替える。また、入出力切替部２６は、このような対応付けの変更を行ったタイミングに関する情報（以下、切替情報と称する）を、サーバ装置５００に送信する。
【００２７】
なお、入出力切替部２６は、表示画面全体を選択的に切り替えるのに代えて、例えばいずれか一方のＯＳによる表示画面をメイン部分に、他方のＯＳによる表示画面をサブ部分に表示するものとしてもよい。
【００２８】
また、本実施例において第１のＯＳ１００と第２のＯＳ２００は、基本的にはいずれか一方が選択されて動作するが、時分割等によって並行動作することもできる。第１のＯＳ１００と第２のＯＳ２００が並行動作する期間においても、表示装置２４はいずれかのＯＳによる表示画面を選択的に表示する。
【００２９】
第１のＯＳ１００上では、アプリ状態監視部１０２、アプリ起動／終了処理部１０４、自動切替／完了通知制御部１０６、他ＯＳアプリ起動コマンド生成部１０８、入出力自動切替設定部１１０、アプリ１１２が動作する。また、第１のＯＳ１００上では、入力制御部１１４、画面出力構成部１１６、起動アプリケーションログ送信部１１８等が動作する。他ＯＳアプリ起動コマンド生成部１０８は、補助記憶装置１６やメモリ装置１８等に格納された関連アプリデータローカルテーブル１２０を参照可能である。第１のＯＳ１００は、例えばAndroid（登録商標）である。
【００３０】
第２のＯＳ２００上では、アプリ状態監視部２０２、アプリ起動／終了処理部２０４、アプリ起動コマンド解読部２０６、アプリ２０８、入力制御部２１０、画面出力構成部２１２、起動アプリログ送信部２１４等が動作する。第２のＯＳ２００は、例えばWindows（登録商標）である。
【００３１】
各ＯＳ上で動作する機能ブロックは、補助記憶装置１６やＲＯＭ等に格納されたプログラム・ソフトウエアをＣＰＵ１０が実行することにより機能する。なお、これらの機能ブロックが明確に分離したプログラムによって実現される必要はなく、サブルーチンや関数として他のプログラムによって呼び出されるものであってもよい。また、機能ブロックの一部が、ＩＣ（Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等のハードウエア手段であっても構わない。
【００３２】
アプリ１１２、及びアプリ２０８は、例えば、インターネットブラウザ、メーラ、動画再生アプリ、動画編集アプリ、静止画像閲覧アプリ、静止画像編集アプリ、文書編集アプリ、表計算アプリ、ノートパッド等であり、それぞれのＯＳ上で動作可能である。本実施例では、各ＯＳ上で動作するアプリ群を、それぞれアプリ１１２、２０８と総称する。
【００３３】
ここで、第２のＯＳ２００は、想定される消費電力が第１のＯＳ１００に比して大きいものとなっている。ＯＳを中心として構築されるシステムの想定される消費電力は、ＣＰＵの作動周波数、ソフトウエアの単位時間あたりの平均的なＣＰＵ使用率・処理時間、供給電圧、単位時間あたりの平均的なメモリの使用量等によって決定される。また、ＯＳを中心として構築されるシステムの想定される消費電力は、同一の処理を実行するのに消費する電力によって決定される。本実施例では、第２のＯＳ２００として採用されているWindowsよりも簡易な処理を行うことが多く、ソフトウエアの単位時間あたりの平均的なＣＰＵ使用率・処理時間、単位時間あたりの平均的なメモリの使用量がWindowsよりも小さく、同一の処理を実行するのに消費する電力がWindowsより小さいAndroidが第１のＯＳ１００として採用されているため、第２のＯＳ２００の消費電力が第１のＯＳ１００に比して大きいことが想定される。
【００３４】
アプリ状態監視部１０２は、アプリ１１２の状態を監視し、アプリ１１２の起動時及び終了時に、その旨を知らせるアプリ起動／終了情報を、他ＯＳアプリ起動コマンド生成部１０８に出力する。アプリ状態監視部１０２は、アプリ起動／終了処理部１０４から入力されるアプリ起動／終了情報を参照してアプリ１１２の状態を認識する。
【００３５】
アプリ起動／終了処理部１０４は、入力装置２４に対してなされたユーザ操作を入力制御部１１４が検知すると、これに応じてアプリ１１２の起動処理及び終了処理を実行する。
【００３６】
自動切替／完了通知制御部１０６は、アプリ状態監視部２０２からアプリ起動／終了通知情報を受信し、他ＯＳアプリ起動コマンド生成部１０８からアプリ起動コマンドが入力される。自動切替／完了通知制御部１０６は、後述するように、アプリ２０８の起動完了通知情報を表示装置２４に表示させたり、入出力切替情報を入出力切替部２６に送信したりする制御を行う。自動切替／完了通知制御部１０６は、係る制御の内容を、入出力自動切替設定部１１０から入力される自動切替設定情報に応じて切り替える。こうした制御の詳細については、後述する。
【００３７】
他ＯＳアプリ起動コマンド生成部１０８は、アプリ状態監視部１０２から入力されたアプリ起動／終了情報を用いて関連アプリデータローカルテーブル１２０を検索し、起動されたアプリ１１２に関連するアプリ２０８を抽出する。他ＯＳアプリ起動コマンド生成部１０８は、アプリ状態監視部２０２から受信したアプリ起動／終了通知情報を参照し、起動されたアプリ１１２、すなわち入力装置２２、表示装置２４が対応付けられているアプリ１１２に関連するアプリ２０８が起動されているかどうかを判断する。他ＯＳアプリ起動コマンド生成部１０８は、起動されたアプリ１１２に関連するアプリ２０８が起動されていなければ、他ＯＳアプリ起動コマンドを生成し、アプリ起動コマンド解読部２０６及び自動切替／完了通知制御部１０６に出力する。
【００３８】
関連アプリデータローカルテーブル１２０は、アプリ１１２に含まれるアプリが、アプリ２０８に含まれるアプリのうち、ユーザの使用上関連すると考えられるアプリに対応付けられたデータテーブルである。図４は、関連アプリデータローカルテーブル１２０の一例である。
【００３９】
図示するように、関連アプリデータローカルテーブル１２０では、例えばImage  Viewerが、関連するPhoto  Shop（登録商標）に対応付けられている。また、関連アプリデータローカルテーブル１２０では、例えばBlu-ray（登録商標）  Disc再生リスト表示アプリが、Win  DVD（登録商標）に対応付けられている。また、関連アプリデータローカルテーブル１２０では、例えばExcel  Viewerアプリが、MICROSOFT  Excel（登録商標）及びMICROSOFT（登録商標）  Wordに対応付けられている。
【００４０】
関連アプリデータローカルテーブル１２０の初期内容は、情報処理装置１の出荷時に予め決定されていてもよいし、ユーザによって設定がなされてもよい。いずれの場合も、関連アプリデータローカルテーブル１２０の内容は、サーバ装置５００から受信するデータに基づいて更新される。
【００４１】
なお、関連アプリデータローカルテーブル１２０は、アプリ１１２に含まれるアプリとアプリ２０８に含まれるアプリが一対一で対応付けられている必要はなく、一のアプリ１１２に複数のアプリ２０８が対応付けられてもよい。また、複数のアプリ１１２に一の（或いは複数の）アプリ２０８が対応付けられてもよい。
【００４２】
入出力自動切替設定部１１０は、ユーザによる入力装置２２を用いた操作を検知し、この操作に応じて決定される、自動切替／完了通知制御部１０６の制御モードを指示するための自動切替設定情報を保持する。自動切替設定情報は、アプリ２０８が起動完了したことを表示した後、第２のＯＳ２００側に自動的に切り替えるかどうかを決定するフラグである。そして、入出力自動切替設定部１１０は、自動切替設定情報を自動切替／完了通知制御部１０６に出力する。
【００４３】
入力制御部１１４は、入出力切替部２６が入力装置２２及び表示装置２４を第１のＯＳ１００側に対応付けているときに、入力装置２２に対してなされたユーザの入力を検知して各機能ブロックに出力する。
【００４４】
画面出力構成部１１６は、第１のＯＳ１００又はアプリ１１２による画面構成を決定し、決定した画面構成を、入出力切替部２６を介して表示装置２４に送信する。
【００４５】
起動アプリログ送信部１１８は、第１のＯＳ１００上で起動したアプリ１１２の起動タイミングに関する情報（以下、起動アプリログと称する）をサーバ装置５００に送信する。
【００４６】
アプリ状態監視部２０２は、アプリ２０８の状態を監視し、アプリ２０８の起動時及び終了時等に、その旨を通知するためのアプリ起動／終了通知情報を、自動切替／完了通知制御部２０６に送信する。アプリ状態監視部２０２は、アプリ起動／終了処理部２０４から入力されるアプリ起動／終了情報を参照してアプリ２０８の状態を認識する。
【００４７】
アプリ起動／終了処理部２０４は、入力装置２４に対してなされたユーザ操作、或いはアプリ起動コマンド解読部２０６から入力されるアプリ起動指示情報に応じて、アプリ２０８の起動処理及び終了処理を実行する。
【００４８】
アプリ起動コマンド解読部２０６は、他ＯＳアプリ起動コマンド生成部１０８から入力されるアプリ起動コマンドを解読し、解読結果に応じてアプリ起動／終了処理部２０４にアプリ起動指示を出力する。
【００４９】
入力制御部２１０は、入出力切替部２６が入力装置２２及び表示装置２４を第２のＯＳ２００側に対応付けているときに、入力装置２２に対してなされたユーザの入力を検知して各機能ブロックに出力する。
【００５０】
画面出力構成部２１２は、第２のＯＳ２００又はアプリ２０８による画面構成を決定し、決定した画面構成を、入出力切替部２６を介して表示装置２４に送信する。
【００５１】
起動アプリログ送信部２１４は、第２のＯＳ２００上で起動したアプリ２０８の起動タイミングに関する情報（以下、起動アプリログと称する）をサーバ装置５００に送信する。
【００５２】
［他ＯＳのアプリを自動起動させる処理］
以下、本実施例の情報処理装置１により行われる、他ＯＳのアプリを自動起動させる処理（他ＯＳアプリ自動起動処理）について、シーケンス図及びフローチャートを用いて説明する。
【００５３】
（シーケンス図）
図５は、情報処理装置１によって実行される処理の流れを示すシーケンス図である。なお、判定処理等の詳細についてはフローチャートにおいて説明し、シーケンス図においては処理の概要について説明する。
【００５４】
まず、第１のＯＳ１００上でアプリ１１２が起動する（Ｓ３００）。アプリ１１２が起動すると、アプリ状態監視部１０２から他ＯＳアプリ起動コマンド生成部１０８にアプリ起動情報が入力される。他ＯＳアプリ起動コマンド生成部１０８は、アプリ起動情報が入力されると、関連アプリデータローカルテーブル１２０を検索する（Ｓ３０２）。
【００５５】
起動されたアプリ１１２に関連するアプリ２０８が関連アプリデータローカルテーブル１２０上に存在する場合、他ＯＳアプリ起動コマンド生成部１０８は、アプリ起動コマンドを生成する（Ｓ３０４）。また、他ＯＳアプリ起動コマンド生成部１０８は、生成したアプリ起動コマンドを第２のＯＳ２００側に送信する（Ｓ３０６）。なお、アプリ起動コマンドは、自動切替／完了通知制御部１０６にも出力される。
【００５６】
第２のＯＳ２００は、アプリ起動コマンドが入力されると、例えばスリープ状態から通常起動状態に移行する。そして、アプリ起動コマンド解読部２０６が、アプリ起動コマンドを解読する（Ｓ３０８）。アプリ起動コマンド解読部２０６は、アプリ起動コマンドを解読した結果、起動すべきアプリ２０８を指定したアプリ起動指示情報を、アプリ起動／終了処理部２０４に出力する。
【００５７】
アプリ起動／終了処理部２０４は、アプリ起動指示情報が入力されると、指定されたアプリ２０８の起動を開始する（Ｓ３１０）。アプリ２０８の起動が完了すると（Ｓ３１２）、アプリ状態監視部２０２がアプリ起動（完了）通知情報を、第１のＯＳ１００側の自動切替／完了通知制御部１０６に送信する（Ｓ３１４）。
【００５８】
自動切替／完了通知制御部１０６は、アプリ起動（完了）通知情報を受信すると、係る起動がアプリ起動コマンドによるものである場合は、該当するアプリ２０８が起動完了したことを表示するように表示装置２４に指示する（Ｓ３１６）。
【００５９】
ここで、Ｓ３００においてアプリ１１２が起動してからＳ３１６でアプリ２０８が起動完了したことが表示されるまでの期間Ｔ１の間は、第１のＯＳ１００による表示画面が表示装置２４により表示され、ユーザはアプリ２０８の使用を継続することができる。すなわち、アプリ１１２に関連するアプリ２０８の自動起動処理は、ユーザから見てバックグラウンドで実行される。これによって、ユーザはＯＳやアプリの切替処理が完了するまで待つ必要が無くなり、ユーザにとっての利便性が向上する。
【００６０】
自動切替／完了通知制御部１０６は、更に、予め入出力自動切替設定部１１０から入力されている自動切替設定情報を参照する（Ｓ３１８）。自動切替設定情報がEnableとなっている場合、自動切替／完了通知制御部１０６は、入力装置２２及び表示装置２４を第２のＯＳ２００側に対応付けることを指示する入出力切替信号を出力するように、入出力切替部２６に指示する（Ｓ３２０）。この際に、自動切替／完了通知制御部１０６は、アプリ起動／終了処理部１０４に対し、アプリ１１２の終了処理を行うように指示してもよい。
【００６１】
Ｓ３２０の処理によって、表示装置２４の表示画面が第２のＯＳ２００による表示画面に切り替わり、入力装置２２への入力内容が第２のＯＳ２００に反映されることになるため、ユーザがアプリ２０８を使用可能な状態となる（Ｓ３２２）。
【００６２】
一方、自動切替／完了通知制御部１０６は、自動切替設定情報がDisableとなっている場合は、Ｓ３２０の処理を行わず、他ＯＳアプリ自動起動処理を終了する。この場合、情報処理装置１は、ユーザによる入力装置２２に対するＯＳの切替操作を受け付ける。ユーザは、入力装置２２に対してＯＳの切替操作を行うことにより、第２のＯＳ２００を起動させてアプリ２０８を使用することができる。
【００６３】
係る処理によって、ユーザがＯＳを切り替える際に手動で再起動等を行ったり、切り替えを指示するためのボタンを押したりする必要性を、ユーザの意志（自動切替設定）によって省略することができる。また、切り替えられたＯＳ上で所望のアプリを探して起動させる手間や時間を省略することができる。従って、係る処理を実行する情報処理装置１は、ユーザにとっての利便性を向上させることができる。
【００６４】
（フローチャート）
図６〜８は、図５のシーケンス図で説明した処理を、機能ブロック毎（或いは機能ブロック群毎）にフローチャートの形式で示したものである。
【００６５】
図６は、他ＯＳアプリ起動コマンド生成部１０８によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【００６６】
まず、他ＯＳアプリ起動コマンド生成部１０８は、アプリ１１２が起動したことを示すアプリ起動情報が入力されたか否かを判定する（Ｓ４００）。他ＯＳアプリ起動コマンド生成部１０８は、アプリ起動情報が入力されなかった場合は、本フローチャートの１ルーチンを終了する。
【００６７】
アプリ起動情報が入力された場合、他ＯＳアプリ起動コマンド生成部１０８は、関連アプリデータローカルテーブル１２０を検索し、アプリ起動情報が示すアプリ１１２に関連するアプリ２０８が存在するか否かを判定する（Ｓ４０２）。他ＯＳアプリ起動コマンド生成部１０８は、関連アプリデータローカルテーブル１２０上に、アプリ起動情報が示すアプリ１１２に関連するアプリ２０８が存在しない場合は、本フローチャートの１ルーチンを終了する。なお、本判定処理に、「該当するアプリ２０８が未起動であること」をand条件として加えてもよい。すなわち、「アプリ起動情報が示すアプリ１１２に関連するアプリ２０８が存在し、且つ該当するアプリ２０８が未起動であるか否かを判定する」としてもよい。
【００６８】
関連アプリデータローカルテーブル１２０上に、アプリ起動情報が示すアプリ１１２に関連するアプリ２０８が存在する場合、他ＯＳアプリ起動コマンド生成部１０８は、該当するアプリ２０８の起動を指示するアプリ起動コマンドを生成する（Ｓ４０４）。また、他ＯＳアプリ起動コマンド生成部１０８は、生成したアプリ起動コマンドを第２のＯＳ２００側のアプリ起動コマンド解読部２０６に送信する（Ｓ４０６）。
【００６９】
図７は、第２のＯＳ２００側のアプリ状態監視部２０２、アプリ起動／終了処理部２０４、及びアプリ起動コマンド解読部２０６によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【００７０】
まず、アプリ起動コマンド解読部２０６は、アプリ起動コマンドを受信したか否かを判定する（Ｓ４２０）。アプリ起動コマンドを受信しなかった場合は、本フローチャートの１ルーチンを終了する。
【００７１】
アプリ起動コマンドを受信した場合、アプリ起動コマンド解読部２０６は、アプリ起動コマンドを解読し（Ｓ４２２）、アプリ起動指示情報をアプリ起動／終了処理部２０４に出力する。
【００７２】
アプリ起動／終了処理部２０４は、アプリ起動指示情報により指定されたアプリ２０８を起動させる（Ｓ４２４）。アプリ起動／終了処理部２０４は、アプリ２０８の起動が完了すると、その旨を示すアプリ起動（完了）情報をアプリ状態監視部２０２に出力する。
【００７３】
アプリ状態監視部２０２は、Ｓ４２４で起動開始されたアプリ２０８の起動が完了すると（Ｓ４２６）、アプリ起動（完了）通知情報を、第１のＯＳ１００側の自動切替／完了通知制御部１０６に送信する（Ｓ４２８）。
【００７４】
図８は、自動切替／完了通知制御部１０６によって実行される処理の流れを示すフローチャートである。本フローチャートは、例えば所定周期で繰り返し実行される。
【００７５】
まず、自動切替／完了通知制御部１０６は、アプリ起動（完了）通知情報を受信したか否かを判定する（Ｓ４４０）。自動切替／完了通知制御部１０６は、アプリ起動（完了）通知情報を受信しなかった場合は、本フローチャートの１ルーチンを終了する。
【００７６】
アプリ起動（完了）通知情報を受信した場合、自動切替／完了通知制御部１０６は、係る起動が、アプリ起動コマンドによる起動であるか否かを判定する（Ｓ４４２）。本判定は、例えば、アプリ起動（完了）通知情報の受信の所定時間前から現在までの間に、他ＯＳアプリ起動コマンド生成部１０８から該当するアプリ起動コマンドが入力されていたか否かを判定することによって行うことができる。また、本判定は、アプリ起動（完了）通知情報にアプリ起動コマンドによる起動か否かを示す情報が付加されている場合、係る情報を参照することによって行うことができる。自動切替／完了通知制御部１０６は、アプリ起動コマンドによる起動でない場合は、本フローチャートの１ルーチンを終了する。
【００７７】
なお、アプリ起動コマンドによる起動でない場合（ユーザの何らかの操作による起動である場合）にも、アプリ２０８の起動完了を表示させるようにしてもよく、この場合、Ｓ４４２の判定は必須でない。
【００７８】
アプリ起動コマンドによる起動である場合、自動切替／完了通知制御部１０６は、該当するアプリ２０８が起動完了したことを表示するように表示装置２４に指示する（Ｓ４４４）。
【００７９】
次に、自動切替／完了通知制御部１０６は、予め入出力自動切替設定部１１０から入力されている自動切替設定情報がEnableとなっているか否かを判定する（Ｓ４４６）。自動切替／完了通知制御部２０６は、自動切替設定情報がEnableとなっていない場合は、本フローチャートの１ルーチンを終了する。
【００８０】
自動切替設定情報がEnableとなっている場合、自動切替／完了通知制御部２０６は、入力装置２２及び表示装置２４を第２のＯＳ２００側に対応付けることを指示する入出力切替信号を出力するように、入出力切替部２６に指示する（Ｓ４４８）。すなわち、入力装置２２及び表示装置２４を第２のＯＳ２００側に切り替える。
【００８１】
［関連アプリデータローカルテーブルの更新、全体フロー］
以下、関連アプリデータローカルテーブル１２０の更新処理について説明する。関連アプリデータローカルテーブル１２０の更新処理は、サーバ装置５００の機能を利用して行われる。サーバ装置５００は、機能構成として、関連アプリデータマスターテーブル生成部５０２と、関連アプリデータマスターテーブル５０４と、関連アプリデータ通知部５０６と、を備える。
【００８２】
図９は、サーバ装置５００が情報処理装置１から受信する起動アプリログ及び切替情報を統合した起動アプリログ統合データ５０８と、これに基づき生成される関連アプリデータマスターテーブル５０４の一例である。
【００８３】
起動アプリログ送信部１１８は、第１のＯＳ１００側のアプリ１１２のうち、起動したアプリ１１２の種類と起動時刻を含む起動アプリログをサーバ装置５００に送信する。起動アプリログ送信部２１４は、第２のＯＳ２００側のアプリ２０８のうち、起動したアプリ２０８の種類と起動時刻を含む起動アプリログをサーバ装置５００に送信する。
【００８４】
また、入出力切替部２６は、画面出力切替を行った時刻を含む切替情報をサーバ装置５００に送信する。
【００８５】
サーバ装置５００は、これらの受信した情報を統合し、図９に示す起動アプリログ統合データ５０８を作成する。
【００８６】
更に、サーバ装置５００（関連アプリデータマスターテーブル生成部５０２）は、起動アプリログ統合データ５０８に基づき、アプリ間を関連付ける処理を行って関連アプリデータマスターテーブル５０４を生成する。
【００８７】
サーバ装置５００は、例えば、（１）アプリ１１２の終了から所定時間以内にアプリ２０８が起動された場合、（２）アプリ１１２の起動中に画面出力切替を伴ってアプリ２０８が起動された場合に、アプリ１１２とアプリ２０８に関連性があると判断する。そして、サーバ装置５００は、関連性があると判断したアプリ１１２とアプリ２０８の対を関連アプリデータマスターテーブル５０４に登録する。サーバ装置５００は、図９に示した例では、アプリ１１２に含まれるアプリＡとアプリ２０８に含まれるアプリＢ、及びアプリ１１２に含まれるアプリＸとアプリ２０８に含まれるアプリＹに、それぞれ関連性があると判断する。
【００８８】
そして、サーバ装置５００（関連アプリデータ通知部５０６）は、関連アプリデータマスターテーブル生成部５０２が生成した関連アプリデータマスターテーブル５０４を、情報処理装置１に送信する。
【００８９】
図１０は、第１実施例に係るサーバ装置５００により実行される処理の流れを示すフローチャートである。
【００９０】
まず、サーバ装置５００は、第１のＯＳ１００側の起動アプリログを取得し（Ｓ５００）、第２のＯＳ２００側の起動アプリログを取得し（Ｓ５０２）、切替情報を取得する（Ｓ５０４）。
【００９１】
次に、サーバ装置５００は、取得した起動アプリログと切替情報から情報処理装置１の起動アプリログ統合データ５０８を作成する（Ｓ５０６）。
【００９２】
次に、サーバ装置５００は、各ＯＳ上のアプリ間で関連性があるか否かを判定する（Ｓ５０８）。各ＯＳ上のアプリ間で関連性が無い場合、サーバ装置５００は、Ｓ５００に戻り次の情報を取得する。アプリ間の関連性は、例えば前述した規則に従って判定される。
【００９３】
各ＯＳ上のアプリ間で関連性がある場合、サーバ装置５００は、各アプリを関連付けて関連アプリデータマスターテーブル５０４に登録し（Ｓ５１０）、情報処理装置１に対して関連アプリデータマスターテーブル５０４を送信する（Ｓ５１２）。
【００９４】
情報処理装置１では、受信した関連アプリデータマスターテーブル５０４に基づいて、関連アプリデータローカルテーブル１２０を更新する。関連アプリデータローカルテーブル１２０の更新は、例えば受信した関連アプリデータマスターテーブル５０４をそのまま上書き保存することによって行われてもよいし、情報処理装置１上のローカルデータの一部を消去せずに保持してもよい。
【００９５】
図１１は、情報処理装置１によって実行される関連アプリデータローカルテーブル１２０の更新を含めた全体処理の流れを示すフローチャートの一例である。なお、Ｓ６１２〜Ｓ６２０の各処理の詳細については、図５〜８において既に説明した通りである。
【００９６】
まず、情報処理装置１は、いずれかのアプリが起動されたか否かを判定し（Ｓ６００）、いずれかのアプリが起動された場合には、起動アプリログ送信部１１８又は起動アプリログ送信部２１４がアプリ起動ログをサーバ装置５００に送信する（Ｓ６０２）。
【００９７】
次に、情報処理装置１は、表示画面の切替が行われたか否かを判定し（Ｓ６０４）、表示画面の切替が行われた場合には、入出力切替部２６が切替情報をサーバ装置５００に送信する（Ｓ６０６）。
【００９８】
次に、情報処理装置１は、関連アプリデータマスターテーブル５０４を受信したか否かを判定し（Ｓ６０８）、関連アプリデータマスターテーブル５０４を受信した場合には、関連アプリデータローカルテーブル１２０を更新する（Ｓ６１０）。
【００９９】
次に、情報処理装置１は、アプリ１１２が起動中であるか否かを判定し（Ｓ６１２）、アプリ１１２が起動中である場合には、関連アプリデータローカルテーブル１２０に該当するアプリ１１２が存在するか否かを判定する（Ｓ６１４）。
【０１００】
関連アプリデータローカルテーブル１２０に該当するアプリ１１２が存在する場合、情報処理装置１は、関連アプリデータローカルテーブル１２０において当該アプリに対応付けられたアプリ２０８を起動させる（Ｓ６１６）。
【０１０１】
そして、情報処理装置１は、アプリ２０８の起動が完了するまで待機し（Ｓ６１８）、アプリ２０８の起動が完了するとユーザへの通知や自動切替を行う（Ｓ６２０）。
【０１０２】
このような処理によって、アプリ１１２とアプリ２０８の関連付けが適切になされ、ユーザが普段から連続して使用しているアプリについては、煩わしい操作をユーザに強いることなく、スムーズなアプリの切替を行うことができる。この結果、情報処理装置１の利便性を向上させることができる。
【０１０３】
［まとめ］
以上説明した本実施例の情報処理装置の制御方法、情報処理装置の制御プログラム、及び情報処理装置によれば、情報処理装置の利便性を向上させることができる。
【０１０４】
＜第２実施例＞
以下、図面を参照し、本発明の第２実施例に係る情報処理装置の制御方法、情報処理装置の制御プログラム、及び情報処理装置について説明する。
【０１０５】
図１２は、本発明の第２実施例に係る情報処理装置１〜ｎ、及びサーバ装置５００の機能構成例である。図示するように、本実施例では、複数の情報処理装置１〜ｎとサーバ装置５００が協働して情報処理システムを構成する。各情報処理装置の有するハードウエア構成及び機能構成は第１実施例と共通するため、入出力切替部２６、起動アプリログ送信部１１８、２１４、関連アプリデータローカルテーブル１２０を除き、図示を省略する。
【０１０６】
第２実施例に係るサーバ装置５００は、各情報処理装置１〜ｎに対応した関連アプリデータマスターテーブル生成部５０２（１）〜５０２（ｎ）と関連アプリデータマスターテーブル５０４（１）〜５０４（ｎ）を備える。また、第２実施例に係るサーバ装置５００は、各情報処理装置１〜ｎに対応した関連アプリデータテーブル選択部５１０（１）〜５１０（ｎ）と、関連アプリデータ通知部５０６（１）〜５０６（ｎ）を備える。更に、第２実施例に係るサーバ装置５００は、関連アプリデータ統計テーブル生成部５１２と、関連アプリデータ統計テーブル５１４を備える。以下、対応する情報処理装置を区別しないときは、（）書きを省略し、単に関連アプリデータテーブル選択部５１０等と表記する。
【０１０７】
関連アプリデータ統計テーブル生成部５１２は、各情報処理装置１〜ｎに対応して生成された関連アプリデータマスターテーブル５０４（１）〜５０４（ｎ）に対して統計処理を行い、関連アプリデータ統計テーブル５１４を生成する。各関連アプリデータマスターテーブル５０４の生成手法は、第１実施例と同様であるため、説明を省略する。
【０１０８】
図１３は、関連アプリデータマスターテーブル５０４（１）〜（３）に基づいて関連アプリデータ統計テーブル５１４が生成される様子を示す図である。図示するように、関連アプリデータ統計テーブル生成部５１２は、各関連アプリデータマスターテーブルに記述されたアプリの組に対して、アプリ１１２を基準として、アプリ１１２がどのアプリ２０８に関連付けられるかの割合を統計値として算出する。
【０１０９】
関連アプリデータテーブル選択部５１０は、関連アプリデータ統計テーブル５１４から、アプリ１１２を含む複数のアプリの組のうち、例えば最も統計値の大きいアプリの組を選択する。図１４は、関連アプリデータテーブル選択部５１０によってアプリの組が選択される様子を示す図である。
【０１１０】
関連アプリデータ通知部５０６は、対応する関連アプリデータテーブル選択部５１０が選択したアプリの組を集めたデータを、対応する情報処理装置に送信する。図１５は、情報処理装置１〜３から収集した起動アプリログに基づいてサーバ装置５００が統計処理を行った結果、情報処理装置４の関連アプリデータローカルテーブル１２０（４）が更新される様子を示す図である。
【０１１１】
図１６は、第２実施例に係るサーバ装置５００により実行される処理の流れを示すフローチャートである。
【０１１２】
まず、関連アプリデータ統計テーブル生成部５１２が、各情報処理装置についての関連アプリデータマスターテーブル５０４を取得する（Ｓ７００）。
【０１１３】
次に、関連アプリデータ統計テーブル生成部５１２が、各関連アプリデータマスターテーブル５０４において関連付けされている各アプリの組み合わせの割合を算出する（Ｓ７０２）。本ステップの処理は、前述のようにアプリ１１２を基準として、アプリ１１２がどのアプリ２０８に関連付けられているかの割合を算出することにより行われる。
【０１１４】
次に、関連アプリデータ統計テーブル生成部５１２が、算出した割合を含むアプリの統計情報を、関連アプリデータ統計テーブル５１４に登録する（Ｓ７０４）。
【０１１５】
次に、各関連アプリデータ選択部が、関連アプリデータ統計テーブル５１４を参照し（Ｓ７０６）、統計値の高いアプリの組が、対応する関連アプリデータマスターテーブル５０４と一致するか否かを判定する（Ｓ７０８）。
【０１１６】
各関連アプリデータ選択部５１０は、統計値の高いアプリの組が関連アプリデータマスターテーブル５０４と一致する場合には、関連アプリデータマスターテーブル５０４に格納されたアプリの組を関連アプリデータ通知部５０６に送信する（Ｓ７１０）。一方、一致しない場合には、各関連アプリデータ選択部５１０は、例えば関連アプリデータマスターテーブル５０４に格納されたアプリの組と、統計値の高いアプリの組の双方を関連アプリデータ通知部５０６に送信する（Ｓ７１２）。
【０１１７】
そして、関連アプリデータ通知部５０６が、受信したアプリの組を、対応する情報処理装置に送信する（Ｓ７１４）。なお、この際に関連アプリデータ通知部５０６は、各アプリの組に関する統計値、及びいずれのアプリの組が統計値の高いアプリの組であるかを示す識別子等を併せて送信してもよい。
【０１１８】
このようにサーバ装置５００における統計処理を経て生成されたアプリの組に関する情報を受信すると、各情報処理装置では、受信した情報に基づいて関連アプリデータローカルテーブル１２０を更新する。
【０１１９】
上記のようにサーバ装置５００から受信する情報には、あるアプリ１１２に対して複数のアプリ２０８が対応付けられている場合があり得る（図１６のＳ７１２参照）。この場合、情報処理装置では、例えばユーザが選択可能なアプリ２０８のダイアログを表示し、ユーザが選択した方のアプリ２０８を起動させるものとしてもよい。また、サーバ装置５００における統計処理によって選択されたアプリの組が所定の条件を満たす場合には、ダイアログを表示せず、当該アプリの組に基づいて決定されるアプリ２０８を起動させてもよい。所定の条件とは、例えば統計値が閾値（例えば８０［％］程度）以上である場合等である。また、自動切替設定情報がDisableとなっている場合には、ユーザが選択可能なアプリ２０８のダイアログを表示してユーザが選択した方のアプリ２０８を起動させ、自動切替設定情報がEnableとなっている場合は自動的にアプリ２０８を起動させてもよい。
【０１２０】
図１７は、自動切替設定情報に応じてアプリ切替を行う際の処理の流れを示すフローチャートの一例である。
【０１２１】
まず、情報処理装置は、自動切替設定がEnableとなっているかDisableとなっているかを判定する（Ｓ８００）。
【０１２２】
自動切替設定がDisableとなっている場合、情報処理装置は、関連アプリデータローカルテーブル１２０から起動中のアプリ１１２に関連付けられた一以上のアプリ２０８（候補となるアプリ２０８）を抽出し、統計値と共に表示する（Ｓ８０２）。
【０１２３】
そして、情報処理装置は、ユーザがいずれかのアプリ２０８を選択するまで待機し（Ｓ８０４）。他ＯＳアプリ起動コマンドを第２のＯＳ２００側に送信する（Ｓ８０６）。
【０１２４】
一方、情報処理装置は、自動切替設定がEnableとなっている場合には、アプリ２０８の表示を行わず、単に他ＯＳアプリ起動コマンドを第２のＯＳ２００側に送信する（Ｓ８０６）。なお、情報処理装置は、自動切替設定がEnableとなっている場合であっても、サーバ装置５００における統計処理によって選択されたアプリの組の統計値が閾値未満であるような場合には、Ｓ８０２に進み、候補となるアプリ２０８を表示してもよい。
【０１２５】
このような処理によって、アプリ１１２とアプリ２０８の関連付けが適切になされ、ユーザが普段から連続して使用しているアプリについては、煩わしい操作をユーザに強いることなく、スムーズなアプリの切替を行うことができる。また、他の情報処理装置における起動アプリログを反映したアプリの組についての情報がサーバ装置５００から入力されるため、あるユーザが今まで知らなかった関連するアプリの組に関して提示がなされ、情報処理装置の利便性を更に向上させることができる。
【０１２６】
［まとめ］
以上説明した本実施例の情報処理装置の制御方法、情報処理装置の制御プログラム、及び情報処理装置によれば、情報処理装置の利便性を向上させることができる。
【０１２７】
＜第３実施例＞
以下、図面を参照し、本発明の第３実施例に係る情報処理装置の制御方法、情報処理装置の制御プログラム、及び情報処理装置について説明する。
【０１２８】
図１８は、本発明の第３実施例に係る情報処理装置１〜ｎ、及びサーバ装置５００の機能構成例である。図示するように、本実施例は、複数の情報処理装置１〜ｎとサーバ装置５００が協働して情報処理システムを構成する。各情報処理装置の有するハードウエア構成及び機能構成は第１実施例と共通するため、入出力切替部２６、起動アプリログ送信部１１８、２１４、関連アプリデータローカルテーブル１２０を除き、図示及び説明を省略する。
【０１２９】
第３実施例に係るサーバ装置５００は、各情報処理装置１〜ｎに対応したログデータ蓄積部５１６（１）〜５１６（ｎ）を備える。その他の構成に関しては第２実施例と同様であるため、同一の符号を付して説明する。以下、対応する情報処理装置を区別しないときは、（）書きを省略し、単に関連アプリデータテーブル選択部５１０等と表記する。
【０１３０】
第３実施例に係る関連アプリデータマスターテーブル生成部５０２は、ログデータ蓄積部５１６が起動アプリログを蓄積して作成した起動アプリログ統合データ５０８に基づいて、統計値が付与された関連アプリデータマスターテーブル５０４を生成する。
【０１３１】
図１９は、関連アプリデータマスターテーブル生成部５０２により関連アプリデータマスターテーブル５０４が生成される様子を示す図である。第３実施例の関連アプリデータマスターテーブル生成部５０２は、起動アプリログ統合データ５０８におけるアプリの出現頻度に基づいて、アプリ１１２を基準として、アプリ１１２がどのアプリ２０８に関連付けられるかの割合を統計値として算出する。
【０１３２】
第２実施例では、関連アプリデータマスターテーブル５０４は、各情報処理装置について、あるアプリ１１２に一のアプリ２０８のみが関連付けられたものであった。これに対し、第３実施例における関連アプリデータマスターテーブル５０４は、各情報処理装置について、あるアプリ１１２に関連付けられるアプリ２０８は複数存在することがあり、各アプリ２０８に対して統計値が付与されたものとなる。
【０１３３】
これに対し関連アプリデータ統計テーブル生成部５１２は、各関連アプリデータマスターテーブル５０４に付与された統計値を反映させて関連アプリデータ統計テーブル５１４を生成する。図２０は、関連アプリデータマスターテーブル５０４（１）〜（３）に基づいて関連アプリデータ統計テーブル５１４が生成される様子を示す図である。
【０１３４】
係る処理の結果、関連アプリデータ統計テーブル５１４は、各情報処理装置における起動アプリの偏りを反映したものとなり、より正確にアプリ間の関連性を再現したものとなる。
【０１３５】
そして、第３実施例に係る関連アプリデータ選択部５１０は、関連アプリデータマスターテーブル５０４における統計値を、関連アプリデータ統計テーブル５１４よりも優先して反映させ、情報処理装置に送信するアプリの組を選択する。図２１は、情報処理装置１〜３から収集した起動アプリログに基づいてサーバ装置５００が統計処理を行った結果、情報処理装置１の関連アプリデータローカルテーブル１２０（１）が更新される様子を示す図である。図示するように、関連アプリデータローカルテーブル１２０（１）では、アプリＡに関連付けられたアプリ２０８に関しては、自己が送信した起動アプリログに準じた統計値が付与されている。一方、関連アプリデータマスターテーブル５０４（１）に含まれていないアプリＸに関連付けられたアプリ２０８に関しては、関連アプリデータ統計テーブル５１４に準じた統計値が付与されている。この結果、ユーザが連続して起動させたアプリの関連性を優先しつつ、他の情報処理装置から収集した起動アプリログを適度に反映させた内容で関連アプリデータローカルテーブル１２０が更新される。
【０１３６】
図２２は、第３実施例に係るサーバ装置５００により実行される処理の流れを示すフローチャートである。
【０１３７】
まず、サーバ装置５００は、第１のＯＳ１００側の起動アプリログを取得し（Ｓ９００）、第２のＯＳ２００側の起動アプリログを取得し（Ｓ９０２）、切替情報を取得する（Ｓ９０４）。
【０１３８】
次に、サーバ装置５００は、取得した起動アプリログをログデータ蓄積部５１６に蓄積し、起動アプリログ統合データ５０８を作成する（Ｓ９０６）。
【０１３９】
次に、サーバ装置５００は、一定量のログがログデータ蓄積部５１６に蓄積されているか否かを判定する（Ｓ９０８）。一定量のログがログデータ蓄積部５１６に蓄積されていない場合、サーバ装置５００は、Ｓ９００に戻り次のデータを取得する。
【０１４０】
一定量のログがログデータ蓄積部５１６に蓄積されると、関連アプリデータマスターテーブル生成部５０２が、統計値が付与された関連アプリデータマスターテーブル５０４を生成する（Ｓ９１０）。
【０１４１】
図２３は、第３実施例に係るサーバ装置３００により実行される、関連アプリデータ統計テーブルの作成と、関連アプリデータマスターテーブル５０４との比較に関するフローチャートである。
【０１４２】
まず、関連アプリデータ統計テーブル生成部５１２が、各情報処理装置についての関連アプリデータマスターテーブル５０４の情報を取得する（Ｓ１０００）。
【０１４３】
次に、関連アプリデータ統計テーブル生成部５１２は、各関連アプリデータマスターテーブル５０４について関連付けされているアプリの組み合わせの割合を集計し、全体としてのアプリの組み合わせの割合を算出する（Ｓ１００２）。
【０１４４】
次に、関連アプリデータ統計テーブル生成部５１２は、算出したアプリの組み合わせの割合を関連アプリデータ統計テーブル５１４に登録する（Ｓ１００４）。なお、関連アプリデータ統計テーブル生成部５１２は、既に関連アプリデータ統計テーブル５１４に登録されている割合に、今回Ｓ１００２で算出した割合を追加して再度平均を求める等して、関連アプリデータ統計テーブル５１４を更新してもよい。
【０１４５】
次に、関連アプリデータ選択部５１０が、関連アプリデータ統計テーブル５１４と関連アプリデータマスターテーブル５０４を比較して、使用割合が高いアプリの組に関する情報を関連アプリデータ通知部５０６に送信する（Ｓ１００６）。
【０１４６】
次に、関連アプリデータ通知部５０６が、情報処理装置に対してアプリの組に関する情報を送信する（Ｓ１００８）。
【０１４７】
サーバ装置５００からアプリの組に関する情報を受信した後の情報処理装置の処理については、第２実施例と同様であるため、詳細な説明を省略する。情報処理装置は、自動切替設定や統計値の比較等に基づき、ユーザにアプリ２０８の起動を提案したり、自動的に起動させたりする。
【０１４８】
このような処理によって、アプリ１１２とアプリ２０８の関連付けが適切になされ、ユーザが普段から連続して使用しているアプリについては、煩わしい操作をユーザに強いることなく、スムーズなアプリの切替を行うことができる。また、他の情報処理装置における起動アプリログを反映したアプリの組についての情報がサーバ装置５００から入力されるため、あるユーザが今まで知らなかった関連するアプリの組に関して提示がなされ、情報処理装置の利便性を更に向上させることができる。
【０１４９】
［まとめ］
以上説明した本実施例の情報処理装置の制御方法、情報処理装置の制御プログラム、及び情報処理装置によれば、情報処理装置の利便性を向上させることができる。
【０１５０】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【０１５１】
例えば、上記各実施例では、アプリ１１２からアプリ２０８への切替についてのみ言及したが、アプリ２０８からアプリ１１２への切替についても同様の処理が行われてもよい。
【０１５２】
また、第１のＯＳ１００と第２のＯＳ２００が同じプラットフォーム上で動作することを例示したが、第１のＯＳ１００と第２のＯＳ２００が異なるプラットフォーム上で動作するものであってもよい。図２４は、他の実施例に係る情報処理装置の機能構成例である。本図では、第１のＯＳ１００はプラットフォーム５１上で動作し、第２のＯＳ２００はプラットフォーム５２上で動作する。係る構成では、第１のＯＳ１００が起動状態である間、第２のＯＳ２００は電源をオフにして休止状態とされることができる。従って、第１のＯＳ１００上で動作する他ＯＳ起動状態判断部１２２が第２のＯＳ２００の起動状態を判断し、第１のＯＳ１００からアプリ２０８の起動指示を行うのに先立って、第２のＯＳ２００の起動を第２のＯＳ用電源制御部２１６に要求する。
【０１５３】
以上の説明に関し、さらに以下の項を開示する。
（付記１）
第１のオペレーティングシステムを実行する第１の処理部または第２のオペレーティングシステムを実行する第２の処理部を選択的にユーザーインターフェースへ切り替える切り替え部と、前記第１のオペレーティングシステム上で動作する第１のアプリケーションプログラムが前記第２のオペレーティングシステム上で動作する第２のアプリケーションプログラムに対応付けられたデータテーブルを記憶する記憶部と、を備える情報処理装置の制御方法であって、
前記情報処理装置が、アプリケーションプログラムの起動に関する情報をサーバ装置に送信し、
前記サーバ装置が、前記情報処理装置から受信した情報に基づいてアプリケーションプログラム間を関連付ける処理を行い、処理結果を前記情報処理装置に送信し、
前記情報処理装置が、前記サーバ装置から受信した処理結果に基づいて前記データテーブルを更新し、前記切り替え部が前記第１の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記データテーブルにおいて起動中の前記第１のアプリケーションプログラムに対応付けられた前記第２のアプリケーションプログラムを起動させることを特徴とする、情報処理装置の制御方法。
（付記２）
前記サーバ装置は、複数の前記情報処理装置から受信した情報に対する統計処理を行ってアプリケーションプログラム間を関連付ける処理を行うことを特徴とする、
付記１記載の情報処理装置の制御方法。
（付記３）
前記サーバ装置は、複数の前記情報処理装置のうち一の情報処理装置から受信した情報から導出されるアプリケーションプログラム間の関連付けと、複数の前記情報処理装置から受信した情報に対する統計処理を行って得られるアプリケーションプログラム間の関連付けが一致しない場合には、該一致しないアプリケーションプログラム間の関連付けの双方を該当する情報処理装置に送信し、
前記該当する情報処理装置は、前記サーバ装置から受信したアプリケーションプログラム間の関連付けの双方を前記データテーブルに記憶させ、前記データテーブルにおいて起動中の前記第１のアプリケーションプログラムに対応付けられた前記第２のアプリケーションプログラムが複数存在する場合には、該複数の第２のアプリケーションプログラムのいずれか起動させるかユーザが決定する操作を受け付けることを特徴とする、
付記２記載の情報処理装置の制御方法。
（付記４）
第１のオペレーティングシステムを実行する第１の処理部と、
第２のオペレーティングシステムを実行する第２の処理部と、
前記第１の処理部または前記第２の処理部を選択的にユーザーインターフェースへ切り替える切り替え部と、
前記第１のオペレーティングシステム上で動作する第１のアプリケーションプログラムが前記第２のオペレーティングシステム上で動作する第２のアプリケーションプログラムに対応付けられたデータテーブルを記憶する記憶部と、
前記アプリケーションプログラムの起動に関する情報をサーバ装置に送信する起動情報送信部と、を備え、
前記サーバ装置において行われるアプリケーションプログラム間を関連付ける処理の結果を前記サーバ装置から受信し、該処理結果に基づいて前記データテーブルを更新し、
前記切り替え部が前記第１の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記データテーブルにおいて起動中の前記第１のアプリケーションプログラムに対応付けられた前記第２のアプリケーションプログラムを起動させることを特徴とする、
情報処理装置。
（付記５）
前記サーバ装置は、複数の前記情報処理装置から受信した情報に対する統計処理を行ってアプリケーションプログラム間を関連付ける処理を行うことを特徴とする、
付記４記載の情報処理装置。
（付記６）
前記サーバ装置は、複数の前記情報処理装置のうち一の情報処理装置から受信した情報から導出されるアプリケーションプログラム間の関連付けと、複数の前記情報処理装置から受信した情報に対する統計処理を行って得られるアプリケーションプログラム間の関連付けが一致しない場合には、該一致しないアプリケーションプログラム間の関連付けの双方を該当する情報処理装置に送信し、
前記該当する情報処理装置は、前記サーバ装置から受信したアプリケーションプログラム間の関連付けの双方を前記データテーブルに記憶させ、前記データテーブルにおいて起動中の前記第１のアプリケーションプログラムに対応付けられた前記第２のアプリケーションプログラムが複数存在する場合には、該複数の第２のアプリケーションプログラムのいずれか起動させるかユーザが決定する操作を受け付けることを特徴とする、
付記５記載の情報処理装置。
（付記７）
第１のオペレーティングシステムを実行する第１の処理部または第２のオペレーティングシステムを実行する第２の処理部を選択的にユーザーインターフェースへ切り替える切り替え部と、前記第１のオペレーティングシステム上で動作する第１のアプリケーションプログラムが前記第２のオペレーティングシステム上で動作する第２のアプリケーションプログラムに対応付けられたデータテーブルを記憶する記憶部と、を備える情報処理装置の制御プログラムであって、
前記情報処理装置に、
アプリケーションプログラムの起動に関する情報をサーバ装置に送信させ、
前記サーバ装置において行われるアプリケーションプログラム間を関連付ける処理の結果を前記サーバ装置から受信し、該受信した処理結果に基づいて前記データテーブルを更新させ、
前記切り替え部が前記第１の処理部を前記ユーザーインターフェースへ切り替えた状態で、前記データテーブルにおいて起動中の前記第１のアプリケーションプログラムに対応付けられた前記第２のアプリケーションプログラムを起動させることを特徴とする、情報処理装置の制御プログラム。
（付記８）
前記サーバ装置は、複数の前記情報処理装置から受信した情報に対する統計処理を行ってアプリケーションプログラム間を関連付ける処理を行うことを特徴とする、
付記７記載の情報処理装置の制御プログラム。
（付記９）
前記サーバ装置は、複数の前記情報処理装置のうち一の情報処理装置から受信した情報から導出されるアプリケーションプログラム間の関連付けと、複数の前記情報処理装置から受信した情報に対する統計処理を行って得られるアプリケーションプログラム間の関連付けが一致しない場合には、該一致しないアプリケーションプログラム間の関連付けの双方を該当する情報処理装置に送信し、
前記該当する情報処理装置は、前記サーバ装置から受信したアプリケーションプログラム間の関連付けの双方を前記データテーブルに記憶させ、前記データテーブルにおいて起動中の前記第１のアプリケーションプログラムに対応付けられた前記第２のアプリケーションプログラムが複数存在する場合には、該複数の第２のアプリケーションプログラムのいずれか起動させるかユーザが決定する操作を受け付けることを特徴とする、
付記８記載の情報処理装置の制御プログラム。
【符号の説明】
【０１５４】
１      情報処理装置
１０    ＣＰＵ
１２    ドライブ装置
１４    記憶媒体
１６    補助記憶装置
１８    メモリ装置
２０    インターフェース装置
２２    入力装置
２４    表示装置
２６    入出力切替部
５０、５１、５２  プラットフォーム
１００  第１のＯＳ
１０２  アプリ状態監視部
１０４  アプリ起動／終了処理部
１０６  自動切替／完了通知制御部
１０８  他ＯＳアプリ起動コマンド生成部
１１０  入出力自動切替設定部
１１２  アプリ
１１４  入力制御部
１１６  画面出力構成部
１１８  起動アプリログ送信部
１２０  関連アプリデータローカルテーブル
２００  第２のＯＳ
２０２  アプリ状態監視部
２０４  アプリ起動／終了処理部
２０６  アプリ起動コマンド解読部
２０８  アプリ
２１０  入力制御部
２１２  画面出力構成部
２１４  起動アプリログ送信部
５００  サーバ装置
５０２  関連アプリマスターテーブル生成部
５０４  関連アプリマスターテーブル
５０６  関連アプリデータ通知部
５０８  起動アプリログ統合データ
５１０  関連アプリデータテーブル選択部
５１２  関連アプリデータ統計テーブル生成部
５１４  関連アプリデータ統計テーブル
５１６  ログデータ蓄積部
【図１】
0005786730.tif 000002
【図２】
0005786730.tif 000003
【図３】
0005786730.tif 000004
【図４】
0005786730.tif 000005
【図５】
0005786730.tif 000006
【図６】
0005786730.tif 000007
【図７】
0005786730.tif 000008
【図８】
0005786730.tif 000009
【図９】
0005786730.tif 000010
【図１０】
0005786730.tif 000011
【図１１】
0005786730.tif 000012
【図１２】
0005786730.tif 000013
【図１３】
0005786730.tif 000014
【図１４】
0005786730.tif 000015
【図１５】
0005786730.tif 000016
【図１６】
0005786730.tif 000017
【図１７】
0005786730.tif 000018
【図１８】
0005786730.tif 000019
【図１９】
0005786730.tif 000020
【図２０】
0005786730.tif 000021
【図２１】
0005786730.tif 000022
【図２２】
0005786730.tif 000023
【図２３】
0005786730.tif 000024
【図２４】
0005786730.tif 000025