(57)【要約】【課題】簡単な操作でプログラムの実行優先度を変更する。【解決手段】複数のプログラムを並行して実行する情報処理装置１は、検出部１１および制御部１２を有する。検出部１１が、表示画面２０に対する指示位置の軌跡が所定の形状を描くような指示操作を検出すると、制御部１２は、実行中の複数のプログラム＃１，＃２のうちの少なくとも１つのプログラムの実行優先度を変更する。制御部１２は、例えば、検出された指示操作によって指示された表示画面２０上の位置と、実行中の複数のプログラム＃１，＃２のそれぞれに対応する表示ウィンドウ２１，２２の表示画面２０上の表示範囲との位置関係に基づいて、実行優先度を変更するプログラムを選択する。【選択図】図１
2014078161.tif 000002
【特許請求の範囲】
【請求項１】
複数のプログラムを並行して実行する情報処理装置において、
表示画面に対する指示位置の軌跡が所定の形状を描くような指示操作を検出する検出部と、
前記指示操作が検出されると、実行中の複数のプログラムのうちの少なくとも１つのプログラムの実行優先度を変更する制御部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記制御部は、検出された前記指示操作によって指示された前記表示画面上の位置と、前記実行中の複数のプログラムのそれぞれに対応する表示ウィンドウの前記表示画面上の表示範囲との位置関係に基づいて、前記実行中の複数のプログラムからプログラムを選択し、選択したプログラムの実行優先度を変更することを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記制御部は、検出された前記指示操作によって指示された位置が含まれる表示ウィンドウに対応するプログラムを選択することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記検出部は、指示位置の軌跡が第１の形状を描くような第１の指示操作と、指示位置の軌跡が第２の形状を描くような第２の指示操作のいずれかを検出し、
前記制御部は、前記第１の指示操作が検出された場合、選択したプログラムの実行優先度を高くし、前記第２の指示操作が検出された場合、選択したプログラムの実行優先度を低くする、
ことを特徴とする請求項２または３記載の情報処理装置。
【請求項５】
前記第１の指示操作は、指示位置を所定方向に移動させる操作であり、前記第２の指示操作は、指示位置を前記第１の指示操作とは逆方向に移動させる操作であることを特徴とする請求項４記載の情報処理装置。
【請求項６】
前記制御部は、前記第１の指示操作が検出された場合、選択したプログラムに対応する表示ウィンドウを最前面に表示させることを特徴とする請求項４または５記載の情報処理装置。
【請求項７】
前記制御部は、検出された前記指示操作によって指示された位置がいずれの表示ウィンドウの表示範囲にも含まれない場合、前記実行中の複数のプログラムのそれぞれの実行優先度の変更操作を受け付けるための操作ウィンドウを表示し、前記操作ウィンドウに基づいて変更が要求されたプログラムの実行優先度を変更することを特徴とする請求項２〜６のいずれか１項に記載の情報処理装置。
【請求項８】
複数のプログラムを並行して実行する情報処理装置における実行優先度変更方法であって、
表示画面に対する指示位置の軌跡が所定の形状を描くような指示操作を検出すると、実行中の複数のプログラムのうちの少なくとも１つのプログラムの実行優先度を変更する、
ことを特徴とする実行優先度変更方法。
【請求項９】
複数のプログラムを並行して実行するコンピュータに、
表示画面に対する指示位置の軌跡が所定の形状を描くような指示操作を検出すると、実行中の複数のプログラムの中から、実行優先度を変更するプログラムを少なくとも１つ選択する、
処理を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、実行優先度変更方法およびプログラムに関する。
【背景技術】
【０００２】
近年、マルチタスクを実現可能なＯＳ（Operating System）プログラムを実行するコンピュータが普及している。マルチタスクとは、１台のコンピュータで同時に複数のアプリケーションソフトウェアなどのプログラムを並行して実行する機能である。また、マルチタスクを実現する方法として、例えば、ＯＳが、プログラムの重要度・緊急度などに基づいて実行の優先度を付与し、付与した実行優先度に基づいて実行するプログラムを選択する方法がある。
【０００３】
なお、優先度を制御する他の技術としては、次のようなものがある。例えば、情報処理系アプリケーションプログラムより制御処理系アプリケーションプログラムを優先的に１サイクル実行して制御処理を行うと共に、休止命令の実行により一定時間だけ制御処理系アプリケーションプログラムの実行を休止して情報処理系アプリケーションプログラムを実行することを繰り返す技術がある。
【０００４】
また、例えば、電子計算機が自動で優先度を切り替えようとするときに優先度切り替えの判断材料となる計算機負荷を一定周期で測定し、切り替えるタイミングを判断することで、計算機が高負荷になっても、選択のマンマシンインターフェース処理については速やかに処理ができる技術がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平９−２５１３８９号公報
【特許文献２】特開平９−１３８７０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
複数のプログラムが実行中の状況において、ユーザが任意のプログラムの実行優先度を変更したい場合がある。例えば、動画像をスムーズに再生させるために、動画像再生プログラムの実行優先度を高くしたい場合などがある。しかしながら、プログラムの実行優先度を変更するための操作は簡単ではないという問題があった。
【０００７】
１つの側面では、本発明は、プログラムの実行優先度を簡単な操作で変更できる情報処理装置、実行優先度変更方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
１つの案では、複数のプログラムを並行して実行する情報処理装置が提供される。この情報処理装置は、検出部および制御部を有する。検出部は、表示画面に対する指示位置の軌跡が所定の形状を描くような指示操作を検出する。制御部は、上記の指示操作が検出されると、実行中の複数のプログラムのうちの少なくとも１つのプログラムの実行優先度を変更する。
【０００９】
また、１つの案では、上記情報処理装置と同様の処理を実行する実行優先度変更方法が提供される。
さらに、１つの案では、複数のプログラムを並行して実行するコンピュータに、次のような処理を実行させるプログラムが提供される。このプログラムは、表示画面に対する指示位置の軌跡が所定の形状を描くような指示操作を検出すると、実行中の複数のプログラムの中から、実行優先度を変更するプログラムを少なくとも１つ選択する処理を、上記のコンピュータに実行させる。
【発明の効果】
【００１０】
１態様によれば、プログラムの実行優先度を簡単な操作で変更できる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態の情報処理装置を示す図である。
【図２】第２の実施の形態の端末装置を示す図である。
【図３】端末装置のプログラム構成および機能の例を示す図である。
【図４】実行優先度の変更例を示すフローチャートである。
【図５】端末装置の操作例を示す図である。
【図６】端末装置の操作例を示す図である。
【図７】第３の実施の形態の端末装置の操作例を示す図である。
【図８】優先度変更ウィンドウの表示処理例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本実施の形態を図面を参照して説明する。
［第１の実施の形態］
図１は、第１の実施の形態の情報処理装置を示す図である。情報処理装置１は、プログラムを実行可能なコンピュータなどの装置である。
【００１３】
情報処理装置１は、複数のプログラムを並行して実行する機能を有する。また、情報処理装置１は、実行中のプログラムの実行優先度を制御することができる。例えば、情報処理装置１は、あるプログラムの実行優先度を高くすることで、そのプログラムの実行速度を上げることができる。
【００１４】
また、情報処理装置１は、表示装置２に接続することができる。表示装置２は、情報処理装置１の命令に従い、画像を表示する。なお、表示装置２は、情報処理装置１と一体に設けられていてもよい。
【００１５】
情報処理装置１は、検出部１１および制御部１２を有する。検出部１１および制御部１２の処理は、例えば、情報処理装置１が備えるプロセッサが所定のプログラムを実行することで実現される。
【００１６】
検出部１１は、表示装置２の表示画面２０に対する指示操作を監視し、指示位置の軌跡が所定の形状を描くような特定の指示操作を検出する。指示操作とは、表示画面２０上の指示位置を指定する入力操作であり、本実施の形態では例として、図１に示すように、表示画面２０上に表示された指示画像２０ａ（例えばマウスカーソル）の表示位置を指定する入力操作であるものとする。
【００１７】
また、検出部１１によって検出される特定の指示操作としては、指示位置の軌跡がどのような形状を描くものでも割り当てることができる。本実施の形態では例として、図１に示すように、指示画像２０ａの表示位置を所定方向に回転移動させる指示操作とする。
【００１８】
制御部１２は、検出部１１によって特定の指示操作が検出されると、実行中の複数のプログラムのうちの少なくとも１つのプログラムの実行優先度を変更する。実行優先度を変更するプログラムは、任意の規則に従って選択される。例えば、実行中の各プログラムに対応する表示ウィンドウが表示画面２０に表示されている場合、制御部１２は、最前面に表示されている表示ウィンドウに対応するプログラムの実行優先度を変更する。あるいは、制御部１２は、検出された特定の指示操作によって指示された位置と、各ウィンドウの表示画面２０上の表示範囲との位置関係に基づいて、実行優先度を変更するプログラムを選択してもよい。
【００１９】
このように、特定の指示操作が検出されると、実行中の複数のプログラムのうちの少なくとも１つのプログラムの実行優先度が変更されることで、ユーザは、指示位置を移動させるという簡単な操作でプログラムの実行優先度を変更することができる。
【００２０】
次に、特定の指示操作によって指示された位置と、各表示ウィンドウの表示画面２０上の表示範囲との位置関係に基づいて、実行優先度を変更するプログラムが選択される場合の処理例について説明する。以下の例では、特定の指示操作によって指示された位置に含まれる表示ウィンドウに対応するプログラムが選択されて、選択されたプログラムの実行優先度が変更されるものとする。また、特定の指示操作は、指示位置を回転させる指示操作であるものとする。さらに、図１に示すように、表示画面２０には、表示ウィンドウ２１，２２が表示されているものとする。表示ウィンドウ２１は、実行中のプログラム＃１に対応する。また、表示ウィンドウ２２は、実行中のプログラム＃２に対応する。
【００２１】
まず、例えば、プログラム＃１に対応する表示ウィンドウ２１の表示範囲内で指示画像２０ａの表示位置を回転移動する指示操作がされる（ステップＳ１）。すると、検出部１１は、指示画像２０ａの表示位置を移動する指示操作を検出し、検出した指示操作が指示位置を回転させる操作であると判定する（ステップＳ２）。次に、制御部１２は、検出された指示操作によって指示された表示画面２０上の位置が含まれる表示ウィンドウ２１に対応するプログラム＃１を選択する。そして、制御部１２は、選択したプログラム＃１の実行優先度を変更する。例えば、選択したプログラム＃１の実行優先度を上げる（ステップＳ３）。
【００２２】
以上の処理例によれば、情報処理装置１が、指示画像２０ａの表示位置の回転移動など、表示画面２０に対する指示位置の軌跡が所定の形状を描くような特定の指示操作を検出し、検出された特定の指示操作によって指示された表示画面２０上の位置と実行中のプログラム＃１，＃２に対応する表示ウィンドウの表示画面２０上の表示範囲との位置関係に基づきプログラムを選択し、選択したプログラムの実行優先度を変更する。これにより、ユーザは簡単な操作で実行中の所望のプログラムの実行優先度を変更できる。
【００２３】
なお、表示装置２は、タッチパネル型入力装置（以下、タッチパネル）を備えてもよい。その場合、検出部１１は、タッチパネル上のタッチ操作を指示操作として検出してもよい。また、この場合、特定の指示操作は、タッチ操作の指示位置を回転移動させる操作など、タッチパネルに接触させたままその接触位置の軌跡が所定の形状を描くような任意の操作とすることができる。
【００２４】
［第２の実施の形態］
次に、端末装置がカーソル操作により実行優先度を変更する例について説明する。
図２は、第２の実施の形態の端末装置を示す図である。端末装置１００は、マルチタスクを実現可能なＯＳプログラムを実行するコンピュータである。端末装置１００は、例えば、タブレットＰＣ（Personal Computer）などの携帯端末装置でもよい。端末装置１００は、プロセッサ１０１、ＲＡＭ（Random Access Memory）１０２、フラッシュメモリ１０３、ディスプレイ１０４、タッチパネル１０５、入力信号処理部１０６、ディスクドライブ１０７および通信インタフェース１０８を有する。上記ユニットは、端末装置１００内でバス１０９に接続されている。
【００２５】
プロセッサ１０１は、プログラムの命令を実行する演算器を含む装置である。プロセッサ１０１は、フラッシュメモリ１０３に記憶されているプログラムやデータの少なくとも一部をＲＡＭ１０２にロードしてプログラムを実行する。なお、プロセッサ１０１は複数のプロセッサコアを備えてもよい。また、端末装置１００は、複数のプロセッサを備えてもよい。また、端末装置１００は、複数のプロセッサまたは複数のプロセッサコアを用いて並列処理を行ってもよい。また、２以上のプロセッサの集合、ＦＰＧＡ（Field Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）などの専用回路、２以上の専用回路の集合、プロセッサと専用回路の組合せなどを「プロセッサ」と呼んでもよい。
【００２６】
ＲＡＭ１０２は、プロセッサ１０１が実行するプログラムやプログラムから参照されるデータを一時的に記憶する揮発性メモリである。なお、端末装置１００は、ＲＡＭ以外の種類のメモリを備えてもよく、複数個の揮発性メモリを備えてもよい。
【００２７】
フラッシュメモリ１０３は、ＯＳプログラムやアプリケーションソフトウェアなどのプログラムおよびデータを記憶する不揮発性の記憶装置である。なお、端末装置１００は、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）などの他の種類の記憶装置を備えてもよく、複数個の不揮発性の記憶装置を備えてもよい。
【００２８】
ディスプレイ１０４は、プロセッサ１０１からの命令に従って画像を表示する。ディスプレイ１０４としては、液晶ディスプレイ（ＬＣＤ：Liquid Crystal Display）や有機ＥＬ（Electro Luminescence）ディスプレイなどを用いることができる。
【００２９】
タッチパネル１０５は、ディスプレイ１０４に重ねて設けられており、ディスプレイ１０４に対するユーザのタッチ操作を検出してタッチ位置を入力信号としてプロセッサ１０１に通知する。タッチ操作には、タッチペンなどのポインティングデバイスまたはユーザの指が用いられる。タッチ位置の検出方式には、例えば、マトリクススイッチ方式、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式、静電容量方式など様々な検出方式があり、いずれの方式を採用してもよい。
【００３０】
入力信号処理部１０６は、端末装置１００に接続された入力デバイス３１から入力信号を取得し、プロセッサ１０１に通知する。入力デバイス３１としては、マウスなどのポインティングデバイス、キーボードなどを用いることができる。
【００３１】
ディスクドライブ１０７は、記録媒体３２に記録されたプログラムやデータを読み取る駆動装置である。記録媒体３２として、例えば、フレキシブルディスク（ＦＤ：Flexible Disk）やＨＤＤなどの磁気ディスク、ＣＤ（Compact Disc）やＤＶＤ（Digital Versatile Disc）などの光ディスク、光磁気ディスク（ＭＯ：Magneto-Optical disk）を使用できる。ディスクドライブ１０７は、プロセッサ１０１からの命令に従って、記録媒体３２から読み取ったプログラムやデータをＲＡＭ１０２またはフラッシュメモリ１０３に格納する。
【００３２】
通信インタフェース１０８は、ネットワーク３０を介して他の情報処理装置と通信を行う。
なお、プロセッサ１０１に実行させるプログラムは、フラッシュメモリ１０３に他の記憶装置からコピーするようにしてもよい。また、プロセッサ１０１に実行させるプログラムは、通信インタフェース１０８がネットワーク３０からダウンロードするようにしてもよい。
【００３３】
また、端末装置１００は、ディスクドライブ１０７または通信インタフェース１０８の少なくとも一方を備えていなくてもよく、タッチパネル１０５と入力信号処理部１０６のいずれかを備えていればよい。また、入力デバイス３１は、端末装置１００の筐体と一体に形成されていてもよい。
【００３４】
図３は、端末装置のプログラム構成および機能の例を示す図である。端末装置１００では、ソフトウェア＃３，＃４、ＯＳプログラム１１０および監視プログラム１２０が、プロセッサ１０１によって実行される。
【００３５】
ソフトウェア＃３，＃４は、ＯＳプログラム１１０の実行環境下で実行されるアプリケーションプログラムである。ソフトウェア＃３，＃４は、例えば、ウイルス対策ソフトウェアや動画像再生ソフトウェアでもよい。
【００３６】
ソフトウェア＃３が実行されたとき、ディスプレイ１０４には、このソフトウェア＃３に対応する１つ以上の表示ウィンドウが表示される。ソフトウェア＃４に関しても同様である。また、ソフトウェア＃３，＃４以外のアプリケーションプログラムに関しても、その実行により１つ以上の表示ウィンドウが表示されてよい。
【００３７】
また、ソフトウェア＃３，＃４は、監視プログラム１２０の実行により実行優先度の変更対象となるアプリケーションプログラムである。以下、監視プログラム１２０の実行により実行優先度の変更対象となるアプリケーションプログラムを「対象ソフトウェア」と呼ぶ。対象ソフトウェアの数は任意であり、監視プログラム１２０以外のすべてのアプリケーションプログラムを対象ソフトウェアとすることができる。
【００３８】
ＯＳプログラム１１０は、端末装置１００上の各ハードウェアリソースやソフトウェア＃３，＃４などのアプリケーションプログラムの実行などを管理するプログラムである。ＯＳプログラム１１０は、端末装置１００に、ソフトウェア＃３，＃４などの複数のアプリケーションプログラムを並行して実行させることが可能なマルチタスクＯＳプログラムである。また、ＯＳプログラム１１０は、アプリケーションプログラムの実行優先度の制御処理を実現する。
【００３９】
監視プログラム１２０は、ユーザによる特定の指示操作に応じて、ソフトウェア＃３，＃４などの実行中のアプリケーションプログラムの実行優先度の変更要求を行うためのプログラムである。本実施の形態では、監視プログラム１２０は、アプリケーションプログラムの一種であるものとするが、監視プログラム１２０は、例えば、ＯＳプログラム１１０の一部であってもよい。
【００４０】
端末装置１００は、表示制御部１１１、優先度管理部１１２、操作検出部１２１、位置情報取得部１２２および優先度制御部１２３を有する。ここで、表示制御部１１１および優先度管理部１１２の処理は、端末装置１００のプロセッサ１０１がＯＳプログラム１１０を実行することで実現される。一方、操作検出部１２１、位置情報取得部１２２および優先度制御部１２３の処理は、端末装置１００のプロセッサ１０１が監視プログラム１２０を実行することで実現される。
【００４１】
表示制御部１１１は、マウスなどの入力デバイスからの指示操作に応じて、表示画面上にマウスカーソルを表示させる。また、表示制御部１１１は、実行中のアプリケーションプログラムのそれぞれに対応する表示ウィンドウの表示制御を行う。例えば、表示制御部１１１は、表示ウィンドウの表示範囲の制御、表示ウィンドウ毎の前後関係やアクティブ、非アクティブの制御などを行う。
【００４２】
優先度管理部１１２は、実行中のアプリケーションプログラムの実行優先度を制御する。優先度管理部１１２は、例えば、各アプリケーションプログラムのスレッドのスケジューリングを調整することで、実行優先度を制御する。
【００４３】
例えば、各アプリケーションプログラムに対応するプロセスや、プロセス内の各スレッドには、優先度を示す情報があらかじめ付与されている。優先度管理部１１２は、実行するスレッドに対し、そのスレッドやスレッドに対応するプロセスに付与された優先度に基づいて実行優先度を割り当てる。そして、優先度管理部１１２は、実行優先度が最も高いスレッドをＣＰＵに実行させる。また、優先度管理部１１２は、実行優先度が高いスレッドが実行待ち状態（例えば、メッセージ待ち状態）である場合には、その次に実行優先度が高いスレッドをＣＰＵに実行させる。このようにして、実行優先度の高いスレッドに対応するアプリケーションプログラムほど優先的に実行されるようになり、そのアプリケーションプログラムの実行速度が高速化される。
【００４４】
さらに、優先度管理部１１２は、例えば、ユーザの操作入力や、優先度制御部１２３からの要求に応じて、指定されたアプリケーションプログラムに対応するスレッドの実行優先度を、現在の優先度から変更することもできる。
【００４５】
操作検出部１２１は、表示制御部１１１から指示操作による指示位置（ここでは、マウスカーソルの表示位置）の通知を受けて、ユーザの指示操作を解析し、所定の指示操作の検出の有無を判定する。所定の指示操作には、例えば、マウスカーソルの表示位置を回転移動させる指示操作（以下、回転移動操作）がある。なお、回転移動操作には、タッチパネル１０５上を触れる指示操作の指示位置を回転移動させるタッチ操作が含まれてもよい。
【００４６】
位置情報取得部１２２は、表示制御部１１１から、回転移動操作によるディスプレイ１０４上の指示位置、および、実行中の対象ソフトウェアに対応する表示ウィンドウのディスプレイ１０４上の表示範囲を取得する。
【００４７】
優先度制御部１２３は、取得したディスプレイ１０４上の指示位置および取得した表示ウィンドウのディスプレイ１０４上の表示範囲に基づいて、実行優先度を変更させる対象ソフトウェアを選択する。そして、優先度制御部１２３は、回転移動操作の回転移動方向に基づき、優先度管理部１１２に対して、選択した対象ソフトウェアの実行優先度の変更を要求する。例えば、回転移動操作の回転移動方向が時計回りの場合、選択した対象ソフトウェアの優先度を上げるように要求する。また、回転移動操作の回転移動方向が反時計回りの場合、選択した対象ソフトウェアの優先度を下げるように要求する。
【００４８】
図４は、実行優先度の変更例を示すフローチャートである。図４において、端末装置１００は、ディスプレイ１０４上のマウスカーソルの表示位置を変更する指示操作を受けるものとする。また、以下の説明では、ＯＳのインタフェース処理で使用される情報として、マイクロソフト社のＷｉｎｄｏｗｓ（登録商標）で使用される関数を例示する。
【００４９】
（ステップＳ１１）監視プログラム１２０は、例えば、ＯＳプログラム１１０の起動に伴って起動し、常駐状態になる。
（ステップＳ１２）操作検出部１２１は、表示制御部１１１からの通知に基づき、マウスカーソルの表示位置を変更する指示操作を検出したかを判定する。操作検出部１２１は、例えば、ＧｅｔＣｕｒｓｏｒＰｏｓ関数を用いることで、表示制御部１１１からマウスカーソルの表示位置を取得することができる。指示操作を検出した場合、処理をステップＳ１３へ進める。指示操作を検出していない場合、処理をステップＳ１２へ進める。
【００５０】
（ステップＳ１３）操作検出部１２１は、検出した指示操作が回転移動操作であるか判定する。指示操作が回転移動操作である場合、処理をステップＳ１４へ進める。指示操作が回転移動操作でない場合、処理をステップＳ１２へ進める。なお、操作検出部１２１は、回転移動操作における指示位置の回転方向についても認識する。
【００５１】
（ステップＳ１４）位置情報取得部１２２は、ＥｎｕｍＷｉｎｄｏｗｓ関数を用いて、実行中の対象ソフトウェアのそれぞれに対応する表示ウィンドウの一覧を表示制御部１１１から取得する。そして、取得した各表示ウィンドウの表示範囲を、ＧｅｔＷｉｎｄｏｗＲｅｃｔ関数を用いて表示制御部１１１から取得する。このとき、位置情報取得部１２２は、各表示ウィンドウに対応する対象ソフトウェアも認識する。
【００５２】
（ステップＳ１５）優先度制御部１２３は、ステップＳ１３で取得した指示操作によるディスプレイ１０４上の指示位置が、取得した各対象ソフトウェアのそれぞれに対応する表示ウィンドウの表示範囲のいずれかに含まれるか判定する。このとき判定の対象となる指示位置は、例えば、回転移動操作であると判定された時点の指示位置とすることができる。あるいは、回転移動操作の開始時点の指示位置、回転移動操作の途中（例えば中間点）の指示位置、回転移動操作が開始されてから終了するまでの全体の指示位置のいずれかとすることもできる。
【００５３】
指示位置が表示ウィンドウの表示範囲のいずれかに含まれる場合、処理をステップＳ１６へ進める。指示位置が表示ウィンドウのいずれの表示範囲にも含まれない場合、処理をステップＳ１２へ進める。
【００５４】
（ステップＳ１６）優先度制御部１２３は、ステップＳ１５で指示位置が含まれると判定された表示ウィンドウを選択する。
（ステップＳ１７）優先度制御部１２３は、ステップＳ１３で判定された回転移動操作の回転移動方向が実行優先度を上げる方向（例えば、時計回り）か判定する。回転移動操作の回転移動方向が実行優先度を上げる方向であれば、処理をステップＳ１８へ進める。回転移動操作の回転移動方向が実行優先度を上げる方向でなければ、処理をステップＳ２０へ進める。
【００５５】
（ステップＳ１８）優先度制御部１２３は、ＥｎａｂｌｅＷｉｎｄｏｗ関数を用いて、ステップＳ１６で選択した表示ウィンドウを最前面（foreground）にするように表示制御部１１１に要求する。選択された表示ウィンドウが最前面になっていない場合、表示制御部１１１は、要求に応じて、選択された表示ウィンドウを最前面に表示させる。
【００５６】
なお、このステップＳ１８において表示ウィンドウを最前面にするか否かは、例えば、表示ウィンドウに対応するソフトウェアごとにあらかじめ決められていてもよい。
（ステップＳ１９）優先度制御部１２３は、ＧｅｔＰｒｉｏｒｉｔｙＣｌａｓｓ関数を用いて、ステップＳ１６で選択した表示ウィンドウに対応する対象ソフトウェアの現在の実行優先度を優先度管理部１１２から取得する。優先度制御部１２３は、ＳｅｔＰｒｉｏｒｉｔｙＣｌａｓｓ関数を用いて、取得した現在の実行優先度より所定段階高い実行優先度を指定して、選択した表示ウィンドウに対応する対象ソフトウェアの実行優先度の設定変更を優先度管理部１１２に要求する。そして、処理をステップＳ１２へ進める。優先度管理部１１２は、優先度制御部１２３からの要求に応じて、選択された対象ソフトウェアの実行優先度を指定された値に変更する。これにより、選択された対象ソフトウェアの実行優先度が所定段階だけ高くなる。
【００５７】
（ステップＳ２０）優先度制御部１２３は、ＧｅｔＰｒｉｏｒｉｔｙＣｌａｓｓ関数を用いて、ステップＳ１６で選択した表示ウィンドウに対応する対象ソフトウェアの現在の実行優先度を優先度管理部１１２から取得する。優先度制御部１２３は、ＳｅｔＰｒｉｏｒｉｔｙＣｌａｓｓ関数を用いて、取得した現在の実行優先度より所定段階低い実行優先度を指定して、選択した表示ウィンドウに対応する対象ソフトウェアの実行優先度の設定変更を優先度管理部１１２に要求する。そして、処理をステップＳ１２へ進める。優先度管理部１１２は、優先度制御部１２３からの要求に応じて、選択された対象ソフトウェアの実行優先度を指定された値に変更する。これにより、選択された対象ソフトウェアの実行優先度が所定段階だけ低くなる。
【００５８】
図５〜図６は、端末装置の操作例を示す図である。図５の上段の状態、および図６の状態では、ディスプレイ１０４の表示画面には、表示ウィンドウ１０４ａが表示ウィンドウ１０４ｂの前面に重なって表示されている。表示ウィンドウ１０４ａは、実行中のソフトウェア＃３に対応する。また、表示ウィンドウ１０４ｂは、実行中のソフトウェア＃４に対応する。
【００５９】
図５の上段の状態で、ソフトウェア＃４に対応する表示ウィンドウ１０４ｂの表示範囲内で時計回りの回転移動操作１０４ｃが実施されたとする。すると、図５の下段に示すように、表示ウィンドウ１０４ｂは、ステップＳ１７の処理（図４参照）により最前面に表示される。そして、表示ウィンドウ１０４ｂに対応するソフトウェア＃４の実行優先度は上がる。
【００６０】
一方、図６のように、ソフトウェア＃４に対応する表示ウィンドウ１０４ｂの表示範囲内で図５上段と逆の方向である反時計回りの回転移動操作１０４ｄが実施された場合、表示ウィンドウ１０４ｂに対応するソフトウェア＃４の実行優先度は下がる。
【００６１】
このように、実行優先度を上げるための指示操作と下げるための指示操作とを、指示位置の変更方向のみが逆の操作としたことで、ユーザは、実行優先度を上げるか下げるかを直感的に指定することができる。また、例えば、ユーザは、実行優先度を上げたいソフトウェアを間違って指定した場合に、逆方向の指示操作を行うことで、実行優先度を上げるための間違った操作を簡単に取り消すことができる。
【００６２】
さらに、図５〜図６において、例えば、ソフトウェア＃３がウイルス対策ソフトウェア、ソフトウェア＃４が動画像再生ソフトウェアの場合、以下の状況が考えられる。
（１）ウイルスチェックには時間がかかってもよいが、動画像の再生はスムーズに実行したい。
【００６３】
（２）動画像再生ソフトウェアによる動画像の再生はコマ落ちが発生してもよいが、ウイルス対策ソフトウェアによるウイルスチェックを早く終わらせたい。
このようなとき、図５のように、動画像再生ソフトウェア（ソフトウェア＃４）の表示範囲内で時計回りの回転移動操作１０４ｃを実施することで、（１）に対応することができる。この場合、動画像再生ソフトウェアに対応する表示ウィンドウ１０４ｂが最前面に表示されることで、再生される動画像をユーザが即座に閲覧できるようになり、利便性が向上する。一方、図６のように、動画像再生ソフトウェア（ソフトウェア＃４）の表示範囲内で反時計回りの回転移動操作１０４ｄを実施することで、（２）に対応することができる。
【００６４】
第２の実施の形態によれば、端末装置１００は、マウスカーソルの移動操作やタッチ操作によるディスプレイ１０４上の所定の指示操作を検出する。次に、端末装置１００は、所定の指示操作によるディスプレイ１０４上の指示位置が含まれる表示ウィンドウに対応するソフトウェアを選択する。そして、端末装置１００は、選択したソフトウェアの実行優先度を変更する。これにより、ユーザは、簡単な操作で所望のソフトウェアの実行優先度を変更させることができる。
【００６５】
例えば、近年のＯＳプログラムには、実行中のタスクの一覧を表示して、実行優先度を変更したいタスクの選択を受け付ける機能を実現するものがある。しかし、このようなタスク選択画面では、アプリケーションプログラムとタスクとの関係がわからないため、プログラムの知識の少ないユーザは、所望のアプリケーションプログラムの実行優先度を変更させることが難しい。第２の実施の形態によれば、タスクの選択画面を用いて実行優先度を変更する方法と比べ、実行優先度を変更したいアプリケーションプログラムを直感的に選択できる。
【００６６】
なお、以上の第２の実施の形態では、実行優先度を上げるための指示操作と下げるための指示操作とを、指示位置の変更方向のみが逆の操作としたが、例えば、各指示操作として指示位置の動き方が全く異なる指示操作が割り当てられてもよい。
【００６７】
［第３の実施の形態］
次に、第３の実施の形態について説明する。第３の実施の形態において、前述の第２の実施の形態との相違点を主に説明し、共通する点の説明を省略する。
【００６８】
第３の実施の形態において、回転移動操作によるディスプレイ１０４上の指示位置が実行中のソフトウェアに対応するいずれの表示ウィンドウの表示範囲にも含まれない場合、優先度制御部１２３は、ディスプレイ１０４に実行中の任意のソフトウェアの実行優先度を変更可能にするウィンドウを表示する。
【００６９】
図７は、第３の実施の形態の端末装置の操作例を示す図である。図７上段では、ディスプレイ１０４に表示ウィンドウ１０４ａ，１０４ｂが表示されている。表示ウィンドウ１０４ａは、ソフトウェア＃３に対応し、表示ウィンドウ１０４ｂは、ソフトウェア＃４に対応する。この状態で、表示ウィンドウ１０４ａ，１０４ｂのいずれの表示範囲にも含まれない位置で回転移動操作１０４ｅが実施されたとする。
【００７０】
すると、図７下段のように、ディスプレイ１０４に優先度変更ウィンドウ１４０が表示される。優先度変更ウィンドウ１４０は、優先度制御部１２３によりディスプレイ１０４上に表示される表示ウィンドウである。優先度変更ウィンドウ１４０は、端末装置１００が実行中のソフトウェアの一覧を表示する。また、優先度変更ウィンドウ１４０は、実行中のソフトウェア毎に「上げる」ボタンおよび「下げる」ボタンを有する。「上げる」ボタンが押下されたとき、優先度制御部１２３は、押下されたボタンに対応するソフトウェアの優先度を所定段階上げるように要求する。また、「下げる」ボタンが押下されたとき、優先度制御部１２３は、押下されたボタンに対応するソフトウェアの優先度を所定段階下げるように要求する。
【００７１】
例えば、図７下段において、「上げる」ボタン１４１および「下げる」ボタン１４３は、ソフトウェア＃３に対応する。また、「上げる」ボタン１４２および「下げる」ボタン１４４は、ソフトウェア＃４に対応する。
【００７２】
このとき、優先度制御部１２３は、「上げる」ボタン１４１が押下されたときソフトウェア＃３の実行優先度を上げ、「下げる」ボタン１４３が押下されたときソフトウェア＃３の実行優先度を下げるように、優先度管理部１１２に要求する。また、優先度制御部１２３は、「上げる」ボタン１４２が押下されたときソフトウェア＃４の実行優先度を上げ、「下げる」ボタン１４４が押下されたときソフトウェア＃４の実行優先度を下げるように、優先度管理部１１２に要求する。
【００７３】
図８は、優先度変更ウィンドウの表示処理例を示すフローチャートである。この図８は、図４のフローチャートの一部の処理ステップを変更したものである。図８では、図４と同様の処理が行われる処理ステップには同じ符号を付している。
【００７４】
優先度制御部１２３は、図４のステップＳ１３で取得した回転移動操作１０４ｅにおけるディスプレイ１０４上の指示位置が、図４のステップＳ１４で取得した各ソフトウェアのそれぞれに対応する表示ウィンドウの表示範囲のいずれかに含まれるかを判定する（ステップＳ１５）。取得した指示操作のディスプレイ１０４上の指示位置が、取得した各ソフトウェアのそれぞれに対応する表示ウィンドウのいずれの表示範囲にも含まれない場合、優先度制御部１２３は、処理を図４のステップＳ１２へ進める代わりに、ステップＳ２１〜ステップＳ２５の処理を実行する。
【００７５】
（ステップＳ２１）優先度制御部１２３は、優先度管理部１１２から実行中のソフトウェアの一覧を取得して優先度変更ウィンドウ１４０を生成し、ディスプレイ１０４に表示する。
【００７６】
（ステップＳ２２）優先度制御部１２３は、優先度変更ウィンドウ１４０上のボタンが押下されたことを検出する。
（ステップＳ２３）優先度制御部１２３は、押下されたボタンが「上がる」ボタンか判定する。「上がる」ボタンの場合、処理をステップＳ２４へ進める。押下されたボタンが「上がる」ボタンでない場合（すなわち、「下がる」ボタンが押下された場合）、処理をステップＳ２５へ進める。
【００７７】
（ステップＳ２４）優先度制御部１２３は、押下されたボタンに対応するソフトウェアの優先度を所定段階上げるように、優先度管理部１１２に要求する。具体的な処理手順は、図４のステップＳ１９と同様である。そして、処理をステップＳ１２へ進める。
【００７８】
（ステップＳ２５）優先度制御部１２３は、押下されたボタンに対応するソフトウェアの優先度を所定段階下げるように、優先度管理部１１２に要求する。具体的な処理手順は、図４のステップＳ２０と同様である。そして、処理をステップＳ１２へ進める。
【００７９】
第３の実施の形態によれば、回転移動操作におけるディスプレイ１０４上の指示位置が表示中のソフトウェアのそれぞれに対応する表示ウィンドウのいずれの表示範囲にも含まれない場合は、表示中の各ソフトウェアの実行優先度を変更可能にする優先度変更ウィンドウ１４０を表示させる。これにより、回転移動操作におけるディスプレイ１０４上の指示位置が表示中のソフトウェアに対応する表示ウィンドウのいずれの表示範囲にも含まれない場合でも、実行中のソフトウェアの優先度を変更できる。
【００８０】
なお、第３の実施の形態の変形例として、操作を検出したディスプレイ１０４上の指示位置が表示中のソフトウェアのいずれの表示範囲にも含まれない場合、優先度制御部１２３は、例えば、前回変更したソフトウェアの実行優先度を変更前に戻してもよい。あるいは、表示中の各ソフトウェアの実行優先度を、優先度管理部１１２が決定した実行優先度（例えば、ＯＳプログラム１１０の起動後に優先度制御部１２３から初回に優先度変更要求を受ける前の実行優先度）に戻してもよい。
【００８１】
このように、回転移動操作におけるディスプレイ１０４上の指示位置が表示中のソフトウェアのそれぞれに対応する表示ウィンドウのいずれの表示範囲にも含まれない場合は、表示中の各ソフトウェアの実行優先度を変更可能にする優先度変更ウィンドウ１４０を表示させる。これにより、回転移動操作におけるディスプレイ１０４上の指示位置が表示中のソフトウェアに対応する表示ウィンドウのいずれの表示範囲にも含まれない場合に、実行優先度変更のための任意の処理を割り当てておくことで、操作性を高めることができる。
【００８２】
なお、前述のように、第１の実施の形態の情報処理は、情報処理装置１にプログラムを実行させることで実現でき、第２，第３の実施の形態の情報処理は、端末装置１００にプログラムを実行させることで実現できる。このようなプログラムは、コンピュータ読み取り可能な記録媒体（例えば、記録媒体３２）に記録しておくことができる。記録媒体としては、例えば、磁気ディスク、光ディスク、光磁気ディスク、半導体メモリなどを使用できる。磁気ディスクには、ＦＤおよびＨＤＤが含まれる。光ディスクには、ＣＤ、ＣＤ−Ｒ（Recordable）／ＲＷ（Rewritable）、ＤＶＤおよびＤＶＤ−Ｒ／ＲＷが含まれる。
【００８３】
プログラムを流通させる場合、例えば、当該プログラムを記録した可搬記録媒体が提供される。また、プログラムを他のコンピュータの記憶装置に格納しておき、ネットワーク３０経由でプログラムを配布することもできる。コンピュータは、例えば、可搬記録媒体に記録されたプログラムまたは他のコンピュータから受信したプログラムを、記憶装置（例えば、フラッシュメモリ１０３）に格納し、当該記憶装置からプログラムを読み込んで実行する。ただし、可搬記録媒体から読み込んだプログラムを直接実行してもよく、他のコンピュータからネットワーク３０を介して受信したプログラムを直接実行してもよい。また、上記の情報処理の少なくとも一部を、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ、ＰＬＤ（Programmable Logic Device）などの電子回路で実現することも可能である。
【００８４】
以上の各実施の形態に関し、さらに以下の付記を開示する。
（付記１）  複数のプログラムを並行して実行する情報処理装置において、
表示画面に対する指示位置の軌跡が所定の形状を描くような指示操作を検出する検出部と、
前記指示操作が検出されると、実行中の複数のプログラムのうちの少なくとも１つのプログラムの実行優先度を変更する制御部と、
を有することを特徴とする情報処理装置。
【００８５】
（付記２）  前記制御部は、検出された前記指示操作によって指示された前記表示画面上の位置と、前記実行中の複数のプログラムのそれぞれに対応する表示ウィンドウの前記表示画面上の表示範囲との位置関係に基づいて、前記実行中の複数のプログラムからプログラムを選択し、選択したプログラムの実行優先度を変更することを特徴とする付記１記載の情報処理装置。
【００８６】
（付記３）  前記制御部は、検出された前記指示操作によって指示された位置が含まれる表示ウィンドウに対応するプログラムを選択することを特徴とする付記２記載の情報処理装置。
【００８７】
（付記４）  前記検出部は、指示位置の軌跡が第１の形状を描くような第１の指示操作と、指示位置の軌跡が第２の形状を描くような第２の指示操作のいずれかを検出し、
前記制御部は、前記第１の指示操作が検出された場合、選択したプログラムの実行優先度を高くし、前記第２の指示操作が検出された場合、選択したプログラムの実行優先度を低くする、
ことを特徴とする付記２または３記載の情報処理装置。
【００８８】
（付記５）  前記第１の指示操作は、指示位置を所定方向に移動させる操作であり、前記第２の指示操作は、指示位置を前記第１の指示操作とは逆方向に移動させる操作であることを特徴とする付記４記載の情報処理装置。
【００８９】
（付記６）  前記制御部は、前記第１の指示操作が検出された場合、選択したプログラムに対応する表示ウィンドウを最前面に表示させることを特徴とする付記４または５記載の情報処理装置。
【００９０】
（付記７）  前記制御部は、検出された前記指示操作によって指示された位置がいずれの表示ウィンドウの表示範囲にも含まれない場合、前記実行中の複数のプログラムのそれぞれの実行優先度の変更操作を受け付けるための操作ウィンドウを表示し、前記操作ウィンドウに基づいて変更が要求されたプログラムの実行優先度を変更することを特徴とする付記２〜６のいずれか１つに記載の情報処理装置。
【００９１】
（付記８）  複数のプログラムを並行して実行する情報処理装置における実行優先度変更方法であって、
表示画面に対する指示位置の軌跡が所定の形状を描くような指示操作を検出すると、実行中の複数のプログラムのうちの少なくとも１つのプログラムの実行優先度を変更する、
ことを特徴とする実行優先度変更方法。
【００９２】
（付記９）  前記実行優先度の変更では、検出された前記指示操作によって指示された前記表示画面上の位置と、前記実行中の複数のプログラムのそれぞれに対応する表示ウィンドウの前記表示画面上の表示範囲との位置関係に基づいて、前記実行中の複数のプログラムからプログラムを選択し、選択したプログラムの実行優先度を変更することを特徴とする付記８記載の実行優先度変更方法。
【００９３】
（付記１０）  前記実行優先度の変更では、検出された前記指示操作によって指示された位置が含まれる表示ウィンドウに対応するプログラムを選択することを特徴とする付記９記載の実行優先度変更方法。
【００９４】
（付記１１）  前記指示操作の検出では、指示位置の軌跡が第１の形状を描くような第１の指示操作と、指示位置の軌跡が第２の形状を描くような第２の指示操作のいずれかを検出し、
前記実行優先度の変更では、前記第１の指示操作が検出された場合、選択したプログラムの実行優先度を高くし、前記第２の指示操作が検出された場合、選択したプログラムの実行優先度を低くする、
ことを特徴とする付記９または１０記載の実行優先度変更方法。
【００９５】
（付記１２）  前記第１の指示操作は、指示位置を所定方向に移動させる操作であり、前記第２の指示操作は、指示位置を前記第１の指示操作とは逆方向に移動させる操作であることを特徴とする付記１１記載の実行優先度変更方法。
【００９６】
（付記１３）  前記第１の指示操作が検出された場合、選択したプログラムに対応する表示ウィンドウを最前面に表示させる、
処理をさらに含むことを特徴とする付記１１または１２記載の実行優先度変更方法。
【００９７】
（付記１４）  検出された前記指示操作によって指示された位置がいずれの表示ウィンドウの表示範囲にも含まれない場合、前記実行中の複数のプログラムのそれぞれの実行優先度の変更操作を受け付けるための操作ウィンドウを表示し、前記操作ウィンドウに基づいて変更が要求されたプログラムの実行優先度を変更する、
処理をさらに含むことを特徴とする付記１０〜１３のいずれか１つに記載の実行優先度変更方法。
【００９８】
（付記１５）  複数のプログラムを並行して実行するコンピュータに、
表示画面に対する指示位置の軌跡が所定の形状を描くような指示操作を検出すると、実行中の複数のプログラムの中から、実行優先度を変更するプログラムを少なくとも１つ選択する、
処理を実行させることを特徴とするプログラム。
【００９９】
（付記１６）  前記プログラムの選択では、検出された前記指示操作によって指示された前記表示画面上の位置と、前記実行中の複数のプログラムのそれぞれに対応する表示ウィンドウの前記表示画面上の表示範囲との位置関係に基づいて、前記実行中の複数のプログラムから実行優先度を変更するプログラムを選択することを特徴とする付記１５記載のプログラム。
【０１００】
（付記１７）  前記プログラムの選択では、検出された前記指示操作によって指示された位置が含まれる表示ウィンドウに対応するプログラムを選択することを特徴とする付記１６記載のプログラム。
【０１０１】
（付記１８）  前記指示操作の検出では、指示位置の軌跡が第１の形状を描くような第１の指示操作と、指示位置の軌跡が第２の形状を描くような第２の指示操作のいずれかを検出し、
前記プログラムの選択では、前記第１の指示操作が検出された場合、実行優先度を高くするプログラムを選択し、前記第２の指示操作が検出された場合、実行優先度を低くするプログラムを選択する、
ことを特徴とする付記１６または１７記載のプログラム。
【０１０２】
（付記１９）  前記第１の指示操作は、指示位置を所定方向に移動させる操作であり、前記第２の指示操作は、指示位置を前記第１の指示操作とは逆方向に移動させる操作であることを特徴とする付記１８記載のプログラム。
【０１０３】
（付記２０）  前記コンピュータに、
前記第１の指示操作が検出された場合、選択したプログラムに対応する表示ウィンドウを最前面に表示させる、
処理をさらに実行させることを特徴とする付記１８または１９記載のプログラム。
【符号の説明】
【０１０４】
１  情報処理装置
１１  検出部
１２  制御部
２  表示装置
２０  表示画面
２０ａ  指示画像
２１，２２  表示ウィンドウ
＃１，＃２  プログラム
【図１】
2014078161.tif 000003
【図２】
2014078161.tif 000004
【図３】
2014078161.tif 000005
【図４】
2014078161.tif 000006
【図５】
2014078161.tif 000007
【図６】
2014078161.tif 000008
【図７】
2014078161.tif 000009
【図８】
2014078161.tif 000010