(57)【特許請求の範囲】
【請求項１】
第１のコアおよび第２のコアを含むプロセッサと、オペレーティングシステムと、前記オペレーティングシステムに動作可能に結合されているプロセス／コア割り振りモジュールと、第１のディスプレイスクリーンおよび第２のディスプレイスクリーンを提供するように構成されている、前記プロセス／コア割り振りモジュールに動作可能に結合されたグラフィカルユーザインターフェースシステムであり、前記第１のディスプレイスクリーンおよび前記第２のディスプレイスクリーンが、前記第１のコアおよび前記第２のコアにそれぞれ関連付けられている、グラフィカルユーザインターフェースシステムとを含む電子デバイスのための方法であって、
前記グラフィカルユーザインターフェースシステムによって、アプリケーションプログラムの少なくとも１つのプロセスに関連付けられているグラフィカル要素を前記第１のディスプレイスクリーン上に表示することであり、前記アプリケーションプログラムの前記少なくとも１つのプロセスが、前記第１のコアによって実行されること、
前記プロセス／コア割り振りモジュールによって、前記第１のディスプレイスクリーンから前記第２のディスプレイスクリーンへの前記グラフィカル要素の移動を検知すること、および
前記オペレーティングシステムによって、前記第１のディスプレイスクリーンから前記第２のディスプレイスクリーンへの前記グラフィカル要素の移動の検知に応じて、前記アプリケーションプログラムの前記少なくとも１つのプロセスを前記第１のコアから前記第２のコアに割り振ることを含む方法。
【請求項２】
前記第１のコアおよび前記第２のコアのうちの少なくとも１つが、バーチャルコアを含む、請求項１に記載の方法。
【請求項３】
前記第１のディスプレイスクリーンが、第１のデスクトップスクリーンに対応し、前記第２のディスプレイスクリーンが、前記第１のデスクトップスクリーンとは異なる第２のデスクトップスクリーンに対応する、請求項１に記載の方法。
【請求項４】
前記アプリケーションプログラムの前記少なくとも１つのプロセスに関連付けられている前記グラフィカル要素が、前記第１のデスクトップスクリーンまたは前記第２のデスクトップスクリーンのどちらかの上に表示されるアプリケーションウィンドウを含む、請求項３に記載の方法。
【請求項５】
前記第１のディスプレイスクリーンが、第１のディスプレイデバイス上に表示され、前記第２のディスプレイスクリーンが、前記第１のディスプレイデバイスとは異なる第２のディスプレイデバイス上に表示される、請求項１に記載の方法。
【請求項６】
前記第１のディスプレイスクリーンおよび前記第２のディスプレイスクリーンが、単一のディスプレイデバイス上に同時に表示される、請求項１に記載の方法。
【請求項７】
前記第１のディスプレイスクリーンまたは前記第２のディスプレイスクリーンのどちらかが、単一のディスプレイデバイス上に表示される、請求項１に記載の方法。
【請求項８】
前記第１のディスプレイスクリーンが、第１のタスクバーに対応し、前記第２のディスプレイスクリーンが、第２のタスクバーに対応する、請求項１に記載の方法。
【請求項９】
前記アプリケーションプログラムの前記少なくとも１つのプロセスに関連付けられている前記グラフィカル要素が、前記第１のタスクバーまたは前記第２のタスクバーのどちらかの上に表示されるアプリケーションアイコンを含む、請求項８に記載の方法。
【請求項１０】
前記電子デバイスが、タッチスクリーンディスプレイデバイスをさらに含み、前記第１のタスクバーおよび前記第２のタスクバーのうちの少なくとも１つが、前記タッチスクリーンディスプレイデバイス上に表示される、請求項８に記載の方法。
【請求項１１】
前記検知することが、前記グラフィカルユーザインターフェースシステムを通じたユーザ入力に基づく、請求項１に記載の方法。
【請求項１２】
前記ユーザ入力が、前記アプリケーションプログラムの前記少なくとも１つのプロセスに関連付けられている前記グラフィカル要素を前記第１のディスプレイスクリーンからドラッグして、それに続いて、前記アプリケーションプログラムの前記少なくとも１つのプロセスに関連付けられている前記グラフィカル要素を前記第２のディスプレイスクリーン内にドロップすることを含む、請求項１１に記載の方法。
【請求項１３】
前記電子デバイスが、タッチスクリーンディスプレイデバイスをさらに含み、前記ユーザ入力が、前記タッチスクリーンディスプレイデバイス上で検知されるジェスチャーに関連付けられている、請求項１１に記載の方法。
【請求項１４】
前記電子デバイスが、ジャイロセンサをさらに含み、前記ユーザ入力が、前記ジャイロセンサによって検知される前記電子デバイスの動きに関連付けられている、請求項１１に記載の方法。
【請求項１５】
前記電子デバイスが、ポータブル電子デバイスである、請求項１に記載の方法。
【請求項１６】
前記ポータブル電子デバイスが、セルラー電話デバイス、携帯情報端末デバイス、およびハンドヘルドビデオゲームデバイスから構成されているグループから選択されたものである、請求項１５に記載の方法。
【請求項１７】
第１のコアおよび第２のコアを含むプロセッサと、
少なくとも１つのプロセスを含むアプリケーションプログラムを格納するように構成されている、前記プロセッサに動作可能に結合されたメモリと、
第１のディスプレイスクリーンおよび第２のディスプレイスクリーンを提供するように構成されているグラフィカルユーザインターフェースシステムであり、前記第１のディスプレイスクリーンおよび前記第２のディスプレイスクリーンが、前記第１のコアおよび前記第２のコアにそれぞれ関連付けられている、グラフィカルユーザインターフェースシステムと、
前記アプリケーションプログラムの前記少なくとも１つのプロセスを前記第１のコアまたは前記第２のコアのどちらかに割り振るように構成されているプロセスマネージメントモジュールと、
前記プロセスマネージメントモジュールに動作可能に結合されているプロセス／コア割り振りモジュールと
を含む電子デバイスであって、
前記プロセス／コア割り振りモジュールが、前記第１のディスプレイスクリーンから前記第２のディスプレイスクリーンへのグラフィカル要素の移動を検知するように構成されており、前記グラフィカル要素が、前記アプリケーションプログラムの前記少なくとも１つのプロセスに関連付けられており、前記アプリケーションプログラムの前記少なくとも１つのプロセスが、前記第１のコア上で実行され、
前記プロセスマネージメントモジュールが、前記アプリケーションプログラムの前記少なくとも１つのプロセスに関連付けられている前記グラフィカル要素の前記移動の前記検知に基づいて、前記アプリケーションプログラムの前記少なくとも１つのプロセスを前記第１のコアから前記第２のコアに割り振るようにさらに構成されている、電子デバイス。
【請求項１８】
前記第１のコアおよび前記第２のコアのうちの少なくとも１つが、バーチャルコアを含む、請求項１７に記載の電子デバイス。
【請求項１９】
前記第１のディスプレイスクリーンが、第１のディスプレイデバイス上に表示され、前記第２のディスプレイスクリーンが、前記第１のディスプレイデバイスとは異なる第２のディスプレイデバイス上に表示される、請求項１７に記載の電子デバイス。
【請求項２０】
前記第１のディスプレイスクリーンおよび前記第２のディスプレイスクリーンが、単一のディスプレイデバイス上に同時に表示される、請求項１７に記載の電子デバイス。
【請求項２１】
前記第１のディスプレイスクリーンまたは前記第２のディスプレイスクリーンのどちらかが、単一のディスプレイデバイス上に表示される、請求項１７に記載の電子デバイス。
【請求項２２】
前記第１のディスプレイスクリーンが、第１のデスクトップスクリーンに対応し、前記第２のディスプレイスクリーンが、前記第１のデスクトップスクリーンとは異なる第２のデスクトップスクリーンに対応し、前記アプリケーションプログラムの前記少なくとも１つのプロセスに関連付けられている前記グラフィカル要素が、前記第１のデスクトップスクリーンまたは前記第２のデスクトップスクリーンのどちらかの上に表示されるアプリケーションウィンドウを含む、請求項１７に記載の電子デバイス。
【請求項２３】
前記第１のディスプレイスクリーンが、第１のタスクバーに対応し、前記第２のディスプレイスクリーンが、第２のタスクバーに対応し、前記アプリケーションプログラムの前記少なくとも１つのプロセスに関連付けられている前記グラフィカル要素が、前記第１のタスクバーまたは前記第２のタスクバーのどちらかの上に表示されるアプリケーションアイコンを含む、請求項１７に記載の電子デバイス。
【請求項２４】
前記グラフィカルユーザインターフェースシステムが、
前記アプリケーションプログラムの前記少なくとも１つのプロセスに関連付けられている前記グラフィカル要素の位置を管理するように構成されているアプリケーションマネージメントモジュールと、
前記アプリケーションプログラムの前記少なくとも１つのプロセスと、前記第１および第２のディスプレイスクリーンのうちの１つとの間における関連付けを管理するように構成されている、前記アプリケーションマネージメントモジュールに動作可能に結合されたディスプレイスクリーンマネージメントモジュールとを含み、
前記プロセス／コア割り振りモジュールが、前記アプリケーションマネージメントモジュールと、前記ディスプレイスクリーンマネージメントモジュールとの間においてやり取りされる信号に基づいて、前記アプリケーションプログラムの前記少なくとも１つのプロセスに関連付けられている前記グラフィカル要素の前記移動を検知するようにさらに構成されている、請求項１７に記載の電子デバイス。
【請求項２５】
前記プロセス／コア割り振りモジュールが、ユーザ入力に基づいて、前記アプリケーションプログラムの前記少なくとも１つのプロセスに関連付けられている前記グラフィカル要素の前記移動を検知するようにさらに構成されている、請求項１７に記載の電子デバイス。
【請求項２６】
前記ユーザ入力が、前記アプリケーションプログラムの前記少なくとも１つのプロセスに関連付けられている前記グラフィカル要素を前記第１のディスプレイスクリーンからドラッグして、それに続いて、前記アプリケーションプログラムの前記少なくとも１つのプロセスに関連付けられている前記グラフィカル要素を前記第２のディスプレイスクリーン内にドロップすることを含む、請求項２５に記載の電子デバイス。
【請求項２７】
電子デバイスにプロセス／コアの割り振りを実行させるためのプログラムを格納しているコンピュータ可読ストレージ媒体であって、前記電子デバイスが、第１のコアおよび第２のコアを含むプロセッサと、オペレーティングシステムと、第１のディスプレイスクリーンおよび第２のディスプレイスクリーンを提供するように構成されているグラフィカルユーザインターフェースシステムとを含み、前記プログラムが、
第１のディスプレイスクリーンから第２のディスプレイスクリーンへのグラフィカル要素の移動を検知するように構成されているプロセス／コア割り振りモジュールであり、前記検知された移動に基づいてプロセス／コア割り振り命令を生成するように構成されている、プロセス／コア割り振りモジュールを含み、
前記グラフィカル要素が、アプリケーションプログラムの少なくとも１つのプロセスに関連付けられており、
前記第１のディスプレイスクリーンが、前記第１のコアに関連付けられており、前記第２のディスプレイスクリーンが、前記第２のコアに関連付けられており、
前記プロセス／コア割り振り命令が、前記第１のディスプレイスクリーンから前記第２のディスプレイスクリーンへの前記グラフィカル要素の移動の検知に応じて前記アプリケーションプログラムの前記少なくとも１つのプロセスを前記第１のコアから前記第２のコアに割り振るよう前記オペレーティングシステムに命令するように構成されている、コンピュータ可読ストレージ媒体。
【請求項２８】
前記オペレーティングシステムが、
前記プロセス／コア割り振り命令に基づいて前記アプリケーションプログラムの前記少なくとも１つのプロセスを前記第２のコアに割り振るように構成されている、前記プロセス／コア割り振りモジュールに動作可能に結合されたプロセスマネージメントモジュールを含む、請求項２７に記載のコンピュータ可読ストレージ媒体。
【請求項２９】
前記グラフィカルユーザインターフェースシステムが、
前記アプリケーションプログラムの前記少なくとも１つに関連付けられている前記グラフィカル要素の位置を管理するように構成されているアプリケーションマネージメントモジュールと、
前記アプリケーションプログラムの少なくとも１つと、前記第１および第２のディスプレイスクリーンのうちの１つとの間における関連付けを管理するように構成されている、前記アプリケーションマネージメントモジュールに動作可能に結合されたディスプレイスクリーンマネージメントモジュールとを含み、
前記プロセス／コア割り振りモジュールが、前記アプリケーションマネージメントモジュールと、前記ディスプレイスクリーンマネージメントモジュールとの間においてやり取りされる信号に基づいて、前記アプリケーションプログラムの少なくとも１つのプロセスに関連付けられている前記グラフィカル要素の前記移動を検知するようにさらに構成されている、請求項２７に記載のコンピュータ可読ストレージ媒体。
【請求項３０】
前記プロセス／コア割り振りモジュールが、前記グラフィカルユーザインターフェースシステムを通じたユーザ入力に基づいて、前記アプリケーションプログラムに関連付けられている前記グラフィカル要素の前記移動を検知するようにさらに構成されている、請求項２７に記載のコンピュータ可読ストレージ媒体。
【請求項３１】
前記ユーザ入力が、前記アプリケーションプログラムの少なくとも１つに関連付けられている前記グラフィカル要素を前記第１のディスプレイスクリーンからドラッグして、それに続いて、前記アプリケーションプログラムの少なくとも１つに関連付けられている前記グラフィカル要素を前記第２のディスプレイスクリーン内にドロップすることを含む、請求項３０に記載のコンピュータ可読ストレージ媒体。
【請求項３２】
第１のディスプレイデバイスと、
第１のコアおよび第２のコアを含むプロセッサと、
少なくとも１つのプロセスを含むアプリケーションプログラムを格納するように構成されている、前記プロセッサに動作可能に結合されたメモリと、
第１のディスプレイスクリーンおよび第２のディスプレイスクリーンを提供するように構成されているグラフィカルユーザインターフェースシステムであり、前記第１のディスプレイスクリーンおよび前記第２のディスプレイスクリーンが、前記第１のコアおよび前記第２のコアにそれぞれ関連付けられている、グラフィカルユーザインターフェースシステムと、
前記アプリケーションプログラムの前記少なくとも１つのプロセスを前記第１のコアまたは前記第２のコアのどちらかに割り振るように構成されているプロセスマネージメントモジュールと、
前記プロセスマネージメントモジュールに動作可能に結合されているプロセス／コア割り振りモジュールと
を含むポータブル電子デバイスであって、
前記プロセス／コア割り振りモジュールが、前記第１のディスプレイスクリーンから前記第２のディスプレイスクリーンへのグラフィカル要素の移動を検知するように構成されており、前記グラフィカル要素が、前記アプリケーションプログラムの前記少なくとも１つのプロセスに関連付けられており、前記アプリケーションプログラムの前記少なくとも１つのプロセスが、前記第１のコア上で実行され、
前記プロセスマネージメントモジュールが、前記アプリケーションプログラムの前記少なくとも１つのプロセスに関連付けられている前記グラフィカル要素の前記移動の前記検知に基づいて、前記アプリケーションプログラムの前記少なくとも１つのプロセスを前記第１のコアから前記第２のコアに割り振るようにさらに構成されている、ポータブル電子デバイス。
【請求項３３】
前記第１のディスプレイデバイスが、前記第１のディスプレイスクリーンと、前記第２のディスプレイスクリーンとの間において切り替わるように構成されている、請求項３２に記載のポータブル電子デバイス。
【請求項３４】
第２のディスプレイデバイスをさらに含み、
前記第１のディスプレイスクリーンが、前記第１のディスプレイデバイス上に表示され、前記第２のディスプレイスクリーンが、前記第２のディスプレイデバイス上に表示される、
請求項３２に記載のポータブル電子デバイス。
【請求項３５】
前記ポータブル電子デバイスが、外部ディスプレイデバイスに動作可能に結合されており、
前記第１のディスプレイスクリーンおよび前記第２のディスプレイスクリーンのうちの一方が、前記第１のディスプレイデバイス上に表示され、
前記第１のディスプレイスクリーンおよび前記第２のディスプレイスクリーンのうちの他方が、前記外部ディスプレイデバイス上に表示される、請求項３２に記載のポータブル電子デバイス。
【請求項３６】
前記第１のコアおよび前記第２のコアのうちの少なくとも１つが、バーチャルコアを含む、請求項３２に記載のポータブル電子デバイス。
【請求項３７】
前記第１のディスプレイスクリーンが、第１のタスクバーに対応し、前記第２のディスプレイスクリーンが、第２のタスクバーに対応し、前記アプリケーションプログラムの前記少なくとも１つのプロセスに関連付けられている前記グラフィカル要素が、前記第１のタスクバーまたは前記第２のタスクバーのどちらかの上に表示されるアプリケーションアイコンを含む、請求項３２に記載のポータブル電子デバイス。
【請求項３８】
前記プロセス／コア割り振りモジュールが、前記グラフィカルユーザインターフェースシステムを通じたユーザ入力に基づいて、前記グラフィカル要素の前記移動を検知するようにさらに構成されている、請求項３２に記載のポータブル電子デバイス。
【請求項３９】
前記第１のディスプレイデバイスが、タッチスクリーンディスプレイデバイスを含み、前記ユーザ入力が、前記タッチスクリーンディスプレイデバイス上で検知されるジェスチャーに関連付けられている、請求項３８に記載のポータブル電子デバイス。
【請求項４０】
ジャイロセンサをさらに含み、
前記ユーザ入力が、前記ジャイロセンサによって検知される前記ポータブル電子デバイスの動きに関連付けられている、
請求項３８に記載のポータブル電子デバイス。
【請求項４１】
前記ポータブル電子デバイスが、セルラー電話デバイス、携帯情報端末デバイス、およびハンドヘルドビデオゲームデバイスから構成されているグループから選択されたものである、請求項３２に記載のポータブル電子デバイス。
【発明の詳細な説明】
【背景技術】
【０００１】
本明細書において別段の記載がない限り、このセクションにおいて説明されているアプローチは、本出願における特許請求の範囲に対する従来技術であるわけではなく、また、このセクションに含まれることによって従来技術であると認められるわけではない。
【０００２】
コンピューティングにおいては、マルチコアプロセッサが広く使用されている。典型的なマルチコアプロセッサは、複数の独立したコアを備えた単一のコンポーネントである。従来のオペレーティングシステム（ＯＳ）は、複数のプロセスを時分割様式で順次実行することができるマルチコア環境においてラウンドロビンまたはマルチレベルフィードバックキュースケジューリングメカニズムの変形を採用する場合がある。ラウンドロビンスケジューリングメカニズムによれば、ＯＳは、アプリケーションプログラムの特定の特徴、またはエンドユーザの意図を考慮することなく、個々のコアのコンピューティング負荷をコントロールする。この点について、ラウンドロビンまたはマルチレベルフィードバックキュースケジューリングメカニズムでは、マルチコアプロセッサの機能は十分に利用されていない。
【０００３】
マルチコアプロセッサの機能を十分に利用するためには、アプリケーションプログラムを開発する際に、マルチコアプロセッサに適合された並列処理をあらかじめ考慮しておくことが必要である。具体的には、プログラム開発者が、マルチコアプロセッサに適合されたアプリケーションプログラムを開発することになる場合には、そのようなプログラム開発者は、アプリケーションプログラム内で並列に実行することができる複数の部分を抽出して、それらの部分を独立したプログラムモジュールとして再構築する必要がある。しかしながら、そのような再構築は、簡単な作業ではない。さらに、既存のアプリケーションプログラムを、マルチコアプロセッサに適合されたその他のプログラムへと自動的に変換することは不可能である。この点について、マルチコア環境においては、マルチコアプロセッサに適合されていないレガシーソフトウェアをマルチコアプロセッサ上で効率よく実行することが重要である。
【発明の概要】
【０００４】
マルチコア環境における直観的なプロセスマネージメントメカニズムに関するテクノロジーについて一般的に説明する。
【０００５】
本明細書に記載されているさまざまな例示的な電子デバイスは、第１のコアおよび第２のコアを備えたプロセッサと、オペレーティングシステムと、オペレーティングシステムに動作可能に結合されているプロセス／コア割り振りモジュールと、第１のディスプレイスクリーンおよび第２のディスプレイスクリーンを提供するように構成されている、プロセス／コア割り振りモジュールに動作可能に結合されたグラフィカルユーザインターフェースシステムであり、第１のディスプレイスクリーンおよび第２のディスプレイスクリーンが、第１のコアおよび第２のコアにそれぞれ関連付けられている、グラフィカルユーザインターフェースシステムとを含むことができる。
【０００６】
いくつかの例においては、本明細書に記載されている任意の例示的な電子デバイスによって実行することができる本明細書に記載されている任意の例示的な方法などの電子デバイスのための方法について説明する。それらの例示的な方法は、グラフィカルユーザインターフェースシステムによって、アプリケーションプログラムの少なくとも１つのプロセスに関連付けられているグラフィカル要素を第１のディスプレイスクリーン上に表示することであり、アプリケーションプログラムの少なくとも１つのプロセスが、第１のコアによって実行されること、プロセス／コア割り振りモジュールによって、第１のディスプレイスクリーンから第２のディスプレイスクリーンへのグラフィカル要素の移動を検知すること、およびオペレーティングシステムによって、アプリケーションプログラムの少なくとも１つのプロセスを第２のコアに割り振ることを含むことができる。
【０００７】
いくつかの例においては、プロセスマネージメントモジュールおよびプロセス／コア割り振りモジュールを利用するように適合することができる本明細書に記載されている任意の例示的な電子デバイスなどの電子デバイスについて説明する。プロセスマネージメントモジュールは、アプリケーションプログラムの少なくとも１つのプロセスを第１のコアまたは第２のコアのどちらかに割り振るように構成することができ、プロセス／コア割り振りモジュールは、プロセスマネージメントモジュールに動作可能に結合することができる。プロセス／コア割り振りモジュールは、第１のディスプレイスクリーンから第２のディスプレイスクリーンへのグラフィカル要素の移動を検知するように構成することができ、グラフィカル要素は、アプリケーションプログラムの少なくとも１つのプロセスに関連付けられており、アプリケーションプログラムの少なくとも１つのプロセスは、第１のコア上で実行される。プロセスマネージメントモジュールは、アプリケーションプログラムの少なくとも１つのプロセスに関連付けられているグラフィカル要素の移動の検知に基づいて、アプリケーションプログラムの少なくとも１つのプロセスを前記第２のコアに割り振るようにさらに構成することができる。
【０００８】
いくつかの例においては、電子デバイスにプロセス／コアの割り振りを実行させるためのプログラムを格納するように適合することができるコンピュータ可読ストレージ媒体について説明する。その電子デバイスは、本明細書においてさらに説明されているようなさまざまな特徴を含むことができる。そのプログラムは、第１のディスプレイスクリーンから第２のディスプレイスクリーンへのグラフィカル要素の移動を検知するように構成されているプロセス／コア割り振りモジュールであり、検知された移動に基づいてプロセス／コア割り振り命令を生成するように構成されている、プロセス／コア割り振りモジュールを含むことができる。グラフィカル要素は、アプリケーションプログラムの少なくとも１つのプロセスに関連付けることができる。第１のディスプレイスクリーンは、第１のコアに関連付けることができ、第２のディスプレイスクリーンは、第２のコアに関連付けることができる。プロセス／コア割り振り命令は、アプリケーションプログラムの少なくとも１つのプロセスを第２のコアに割り振るようオペレーティングシステムに命令するように構成することができる。
【０００９】
いくつかの例においては、プロセスマネージメントモジュールおよびプロセス／コア割り振りモジュールを利用するように適合することができる本明細書に記載されている任意の例示的な電子デバイスなどのポータブル電子デバイスについて説明する。プロセスマネージメントモジュールは、アプリケーションプログラムの少なくとも１つのプロセスを第１のコアまたは第２のコアのどちらかに割り振るように構成することができる。プロセス／コア割り振りモジュールは、プロセスマネージメントモジュールに動作可能に結合されており、プロセス／コア割り振りモジュールは、第１のディスプレイスクリーンから第２のディスプレイスクリーンへのグラフィカル要素の移動を検知するように構成することができ、グラフィカル要素は、アプリケーションプログラムの少なくとも１つのプロセスに関連付けられており、アプリケーションプログラムの少なくとも１つのプロセスは、第１のコア上で実行される。プロセスマネージメントモジュールは、アプリケーションプログラムの少なくとも１つのプロセスに関連付けられているグラフィカル要素の移動の検知に基づいて、アプリケーションプログラムの少なくとも１つのプロセスを第２のコアに割り振るようにさらに構成することができる。
【００１０】
前述の概要は、例示的なものにすぎず、いかなる形であれ限定することを意図するものではない。上述の例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴が、図面および以降の詳細な説明を参照することによって明らかになるであろう。
【００１１】
本開示の前述の特徴およびその他の特徴は、添付の図面とともに以降の説明および添付の特許請求の範囲を理解すれば、より完全に明らかになるであろう。これらの図面は、本開示によるいくつかの実施形態を示しているにすぎず、したがって、本開示の範囲を限定するものとみなされるべきではないということを理解して、添付の図面の使用を通じたさらなる具体性および詳細を伴って本開示について説明する。
【図面の簡単な説明】
【００１２】
【図１】本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを使用するように構成されている説明例のシステムを概略的に示す図である。
【図２】本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムにおいて採用されるデスクトップスクリーンの説明例を概略的に示す図である。
【図３】本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムにおいて採用されるデスクトップスクリーンの説明例を概略的に示す図である。
【図４】本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムとともに機能するように構成されているポータブル電子デバイスの説明例を概略的に示す図である。
【図５】本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムとともに機能するように構成されているポータブル電子デバイスの説明例を概略的に示す図である。
【図６】本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムとともに機能するように構成されているポータブル電子デバイスの説明例を概略的に示す図である。
【図７】本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを利用するように構成されている電子デバイスの説明例を示す概略ブロック図である。
【図８】本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを機能させるように適合されている方法を示す例示的な流れ図である。
【図９】本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを機能させるように構成することができる例示的なコンピューティングシステムを示す概略ブロック図である。
【図１０】本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを機能させるために利用することができるコンピュータプログラム製品を示す図である。
【発明を実施するための形態】
【００１３】
以降の詳細な説明においては、添付の図面を参照し、それらの図面は、本明細書の一部を形成している。それらの図面においては、同様のシンボルは、文脈によって別段の内容が示されない限り、典型的には同様のコンポーネントを識別する。詳細な説明、図面、および特許請求の範囲に記載されている例示的な実施形態は、限定することを意図されてはいない。本明細書において提示されている主題の趣旨または範囲から逸脱することなく、その他の実施形態を利用することができ、その他の変更を行うことができる。一般的に本明細書において説明され図において示されている本開示の複数の態様は、さまざまな異なる構成で構成すること、代用すること、組み合わせること、分割すること、および設計することが可能であり、それらの構成のすべては、本明細書において明示的に考慮されているということが容易に理解できるであろう。
【００１４】
本開示は一般に、とりわけ、マルチコア環境におけるプロセスマネージメントに関連した方法、装置、システム、デバイス、およびコンピュータプログラム製品に引き付けられている。
【００１５】
かいつまんで言えば、マルチコア環境における直観的なプロセスマネージメントメカニズムに関するテクノロジーについて一般的に説明する。いくつかの例においては、複数のディスプレイスクリーンをマルチコアプロセッサの個々のコアに関連付けることができる。アプリケーションウィンドウまたはアプリケーションアイコンなど、アプリケーションプログラムに関連付けられているグラフィカル要素が、複数のディスプレイスクリーンのうちの１つの上に配置されている場合には、そのアプリケーションプログラムのプロセスを、マルチコアプロセッサの関連付けられているコアに割り振ること、および／またはマルチコアプロセッサの関連付けられているコアによって実行することが可能である。ユーザは、そのアプリケーションプログラムに関連付けられているグラフィカル要素を、ユーザインターフェースのドラッグアンドドロップオペレーション（または、その他のなんらかのオペレーション、たとえばカットアンドペーストなど）によって、ディスプレイスクリーンのうちの１つから別のディスプレイスクリーンへ効果的に移動させることができる。ユーザによるそのような操作を利用して、アプリケーションプログラムのプロセスが、別のディスプレイスクリーンに関連付けられているコアに割り振られるようにすることができ、ひいては、ユーザは、グラフィカル要素をディスプレイスクリーンどうしの間において移動させることによって、直観的にプロセスとコアの割り振りを管理して個々のコアの負荷をコントロールできるようになり得る。たとえば、ユーザが、スライド作成アプリケーションプログラムを介してプレゼンテーションスライド内に動画を組み込んでいる間に、Ｅメールアプリケーションプログラムを介して、Ｅメール内に含まれている大きなサイズの添付ファイルをダウンロードするような状況（Ｅメールアプリケーションプログラムおよびスライド作成アプリケーションプログラムの両方が、マルチコアプロセッサの１つのコアに割り振られている場合）は、スライド作成アプリケーションプログラムのオペレーションにおける停止をもたらす場合がある。そのようなケースにおいては、ユーザは、Ｅメールアプリケーションプログラムまたはスライド作成アプリケーションプログラムのどちらかをマルチコアプロセッサの別のコアに割り振ることを、対応するアプリケーションウィンドウを、マルチコアプロセッサのその別のコアに関連付けられている別のディスプレイスクリーンへ移動させることによって行うことができ、それによってユーザは、トラブルなく作業を続けることができる。
【００１６】
図１は、本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを使用するように構成されている説明例のシステムを概略的に示している。
【００１７】
示されているように、システム１００は、マルチコアプロセッサ１１０を含むことができる。マルチコアプロセッサ１１０は、複数のプロセッサコア１２０−１、１２０−２、．．．、１２０−ｎを含むことができる。プロセッサコア１２０−１、１２０−２、．．．、１２０−ｎのそれぞれは、実際のコアまたはバーチャルコアとすることができる。
【００１８】
システム１００は、複数のディスプレイスクリーン１３０−１、１３０−２、．．．、１３０−ｎをさらに含むことができる。いくつかの実施形態においては、ディスプレイスクリーン１３０−１、１３０−２、．．．、１３０−ｎを複数のディスプレイデバイス上にそれぞれ表示することができる。いくつかの実施形態においては、ディスプレイスクリーン１３０−１、１３０−２、．．．、１３０−ｎのすべてを単一のディスプレイデバイスにマップすることができる。そのようなケースにおいては、単一のディスプレイデバイスを用いて一度にディスプレイスクリーン１３０−１、１３０−２、．．．、１３０−ｎのうちの１つのみをアクティブにすることができ、または単一のディスプレイデバイス上に一度にディスプレイスクリーン１３０−１、１３０−２、．．．、１３０−ｎのうちの複数を表示することができる。
【００１９】
いくつかの実施形態においては、ディスプレイスクリーン１３０−１、１３０−２、．．．、１３０−ｎは、デスクトップスクリーンを含むことができる。その他のいくつかの実施形態においては、ディスプレイスクリーン１３０−１、１３０−２、．．．、１３０−ｎは、タスクバーを含むことができる。限定ではなく、例として、それらのタスクバーは、タッチスクリーンディスプレイデバイス上に表示することができる。
【００２０】
いくつかの実施形態においては、ディスプレイスクリーン１３０−１、１３０−２、．．．、１３０−ｎは、アプリケーションプログラムに関連付けられているグラフィカル要素１４０−１ａ、１４０−１ｂ、１４０−２ａ、１４０−２ｂ、．．．、１４０−ｎａを表示することができる。いくつかの実施形態においては、グラフィカル要素１４０−１ａ、１４０−１ｂ、１４０−２ａ、１４０−２ｂ、．．．、１４０−ｎａは、複数のアプリケーションウィンドウを含むことができ、それらのアプリケーションウィンドウのそれぞれは、１つのアプリケーションプログラムに関連付けられている。それぞれのアプリケーションウィンドウは、デスクトップスクリーンのうちの１つの上に表示することができる。その他のいくつかの実施形態においては、グラフィカル要素１４０−１ａ、１４０−１ｂ、１４０−２ａ、１４０−２ｂ、．．．、１４０−ｎａは、複数のアプリケーションアイコンを含むことができ、それらのアプリケーションアイコンのそれぞれは、１つのアプリケーションプログラムに関連付けられている。それぞれのアプリケーションアイコンは、タスクバーのうちの１つの上に表示することができる。
【００２１】
いくつかの実施形態においては、ディスプレイスクリーン１３０−１、１３０−２、．．．、１３０−ｎのそれぞれは、プロセッサコア１２０−１、１２０−２、．．．、１２０−ｎのそれぞれに対応することができる。限定ではなく、例として、図１において示されているように、ディスプレイスクリーン１３０−１は、プロセッサコア１２０−１に対応することができ、ディスプレイスクリーン１３０−２は、プロセッサコア１２０−２に対応することができ、ディスプレイスクリーン１３０−ｎは、プロセッサコア１２０−ｎに対応することができる。いくつかの実施形態においては、ディスプレイスクリーン１３０−１、１３０−２、．．．、１３０−ｎのうちの１つの上にグラフィカル要素が表示されているアプリケーションプログラムの少なくとも１つのプロセスを、プロセッサコア１２０−１、１２０−２、．．．、１２０−ｎのうちの対応するプロセッサコアによって実行することができる。限定ではなく、例として、図１において示されているように、グラフィカル要素１４０−１ａおよび１４０−１ｂに関連付けられているアプリケーションプログラムの少なくとも１つのプロセスをプロセッサコア１２０−１によって実行することができ、グラフィカル要素１４０−２ａおよび１４０−２ｂに関連付けられているアプリケーションプログラムの少なくとも１つのプロセスをプロセッサコア１２０−２によって実行することができ、グラフィカル要素１４０−ｎａに関連付けられているアプリケーションプログラムの少なくとも１つのプロセスをプロセッサコア１２０−ｎによって実行することができる。
【００２２】
いくつかの実施形態においては、ユーザは、グラフィカル要素１４０−１ａ、１４０−１ｂ、１４０−２ａ、１４０−２ｂ、．．．、１４０−ｎａの場所をディスプレイスクリーン１３０−１、１３０−２、．．．、１３０−ｎの間において変更することによって、プロセス／コアの割り振りを管理することができる。限定ではなく、例として、ユーザが、ディスプレイスクリーン１３０−１上に配置されているグラフィカル要素１４０−１ａをディスプレイスクリーン１３０−２へ効果的に移動させた場合、すなわち、グラフィカル要素１４０−１ａが、ユーザ入力に基づいてディスプレイスクリーン１３０−１からディスプレイスクリーン１３０−２へ移動された場合には、グラフィカル要素１４０−１ａに関連付けられているアプリケーションプログラムの少なくとも１つのプロセスを、ディスプレイスクリーン１３０−２に対応するプロセッサコア１２０−２に割り振って、そのプロセッサコア１２０−２によって実行することができる。
【００２３】
いくつかの実施形態においては、ユーザは、グラフィカルユーザインターフェースシステムを通じてグラフィカル要素１４０−１ａ、１４０−１ｂ、１４０−２ａ、１４０−２ｂ、．．．、１４０−ｎａをディスプレイスクリーン１３０−１、１３０−２、．．．、１３０−ｎの間において効果的に移動させることができる。限定ではなく、例として、ユーザは、グラフィカル要素１４０−１ａをディスプレイスクリーン１３０−１からドラッグして、グラフィカル要素１４０−１ａをディスプレイスクリーン１３０−２内にドロップすることによって、グラフィカル要素１４０−１ａをディスプレイスクリーン１３０−１からディスプレイスクリーン１３０−２へ効果的に移動させることができる。限定ではなく、例として、ユーザは、マウス、タッチスクリーン、タッチパッド、キーボード、トラックボール、ジョイスティック、またはその他の任意の入力デバイスなどのユーザインターフェースデバイスを介して、ドラッグアンドドロップを実行することができる。限定ではなく、例として、ユーザは、所定のジェスチャーを行うことによって、グラフィカル要素１４０−１ａをディスプレイスクリーン１３０−１からディスプレイスクリーン１３０−２へ効果的に移動させることができる。すなわち、グラフィカル要素１４０−１ａは、ユーザのジェスチャー入力に基づいてディスプレイスクリーン１３０−１からディスプレイスクリーン１３０−２へ移動させることができる。限定ではなく、例として、カメラ、タッチスクリーン、タッチパッド、ジャイロセンサおよび加速度計などのモーションセンサ、または、ジェスチャー認識機能を有するその他の任意の入力デバイスを介して、ジェスチャー入力を認識することができる。
【００２４】
図２は、本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを使用するように構成されているデスクトップスクリーンの説明例を概略的に示している。
【００２５】
図２を参照すると、ディスプレイデバイス２００は、デスクトップスクリーン２１０−１、２１０−２、２１０−３、および２１０−４を一度に表示することができる。デスクトップスクリーン２１０−１、２１０−２、２１０−３、および２１０−４のそれぞれは、マルチコアプロセッサ内に含まれているプロセッサコアのうちの１つに関連付けることができる。いくつかの実施形態においては、アプリケーションウィンドウ２２０−１、２２０−２、２２０−３、および２２０−４は、デスクトップスクリーン２１０−１、２１０−２、２１０−３、および２１０−４の上にそれぞれ表示することができる。アプリケーションウィンドウ２２０−１、２２０−２、２２０−３、および２２０−４のそれぞれに対応する少なくとも１つのアプリケーションプログラムは、それぞれのデスクトップスクリーンに対応するそれぞれのプロセッサコアによって実行することができる。いくつかの実施形態においては、ユーザは、図１に関して上述したように、アプリケーションウィンドウ２２０−１、２２０−２、２２０−３、および２２０−４をデスクトップスクリーン２１０−１、２１０−２、２１０−３、および２１０−４の間において効果的に移動させることによって、アプリケーションプログラムの割り振りを管理することができる。
【００２６】
図２は、４つのデスクトップスクリーン２１０−１、２１０−２、２１０−３、および２１０−４がディスプレイデバイス２００上に表示されていることを示しているが、任意の数のデスクトップスクリーンをディスプレイデバイス２００上に表示することができるということを当業者なら理解するであろう。また、図２は、デスクトップスクリーン２１０−１、２１０−２、２１０−３、および２１０−４がディスプレイデバイス２００上で２次元の平面に表示されていることを示しているが、デスクトップスクリーン２１０−１、２１０−２、２１０−３、および２１０−４はディスプレイデバイス２００上で３次元の空間に表示することもできるということを当業者なら理解するであろう。
【００２７】
図３は、本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムにおいて採用されるデスクトップスクリーンの説明例を概略的に示している。
【００２８】
図３を参照すると、複数のディスプレイデバイス３００−１、３００−２、３００−３、および３００−４は、デスクトップスクリーン３１０−１、３１０−２、３１０−３、および３１０−４をそれぞれ表示することができる。デスクトップスクリーン３１０−１、３１０−２、３１０−３、および３１０−４のそれぞれは、マルチコアプロセッサ内に含まれているプロセッサコアのうちの１つに関連付けることができる。いくつかの実施形態においては、アプリケーションウィンドウ３２０−１、３２０−２、３２０−３、および３２０−４は、デスクトップスクリーン３１０−１、３１０−２、３１０−３、および３１０−４の上にそれぞれ表示することができる。アプリケーションウィンドウ３２０−１、３２０−２、３２０−３、および３２０−４のそれぞれに対応する少なくとも１つのアプリケーションプログラムは、それぞれのアプリケーションウィンドウに対応するそれぞれのプロセッサコアによって実行することができる。いくつかの実施形態においては、ユーザは、図１に関して上述したように、アプリケーションウィンドウ３２０−１、３２０−２、３２０−３、および３２０−４をデスクトップスクリーン３１０−１、３１０−２、３１０−３、および３１０−４の間において効果的に移動させることによって、アプリケーションプログラムの割り振りを管理することができる。図３は、４つのデスクトップスクリーン３１０−１、３１０−２、３１０−３、および３１０−４がディスプレイデバイス３００−１、３００−２、３００−３、および３００−４上に表示されていることを示しているが、任意の数のデスクトップスクリーンを任意の数のディスプレイデバイス上に表示することができるということを当業者なら理解するであろう。
【００２９】
図４〜図５は、本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムとともに機能するように構成されているポータブル電子デバイスの説明例を概略的に示している。
【００３０】
図４を参照すると、ポータブル電子デバイス４００は、ディスプレイデバイス４１０と、複数のプロセッサコア（図示せず）を含むマルチコアプロセッサ（図示せず）とを含むことができる。限定ではなく、例として、ポータブル電子デバイス４００は、セルラー電話デバイス、携帯情報端末デバイス、および／またはハンドヘルドビデオゲームデバイスから構成されているグループから選択することができる。
【００３１】
いくつかの実施形態においては、ディスプレイデバイス４１０は、タッチスクリーンディスプレイデバイスとすることができる。いくつかの実施形態においては、ディスプレイデバイス４１０は、タスクバー４２０および４２２と、アプリケーションプログラムにそれぞれ関連付けられているアプリケーションアイコン４３０、４３２、４３４、４３６、４３８、４４０、４４２、および４４４とを表示することができる。図４は、２個のタスクバー４２０および４２２と、８個のアプリケーションアイコン４３０、４３２、４３４、４３６、４３８、４４０、４４２、および４４４とがディスプレイデバイス４１０上に表示されていることを示しているが、任意の数のタスクバーと、任意の数のアプリケーションアイコンとをディスプレイデバイス４１０上に表示することができるということを当業者なら理解するであろう。また、図４は、２個のタスクバー４２０および４２２が、ポータブル電子デバイス４００内に含まれているディスプレイデバイス４１０上に表示されていることを示しているが、１つのタスクバーは、ディスプレイデバイス４１０上に表示されており、その一方で、別のタスクバーは、ポータブル電子デバイス４００に動作可能に結合されている外部ディスプレイデバイス上に表示されるということを当業者なら理解するであろう。
【００３２】
いくつかの実施形態においては、タスクバー４２０は、マルチコアプロセッサの第１のプロセッサコア（図示せず）に対応することができ、タスクバー４２２は、マルチコアプロセッサの第２のプロセッサコア（図示せず）に対応することができる。いくつかの実施形態においては、タスクバー４２０内に配置されているアプリケーションアイコンに関連付けられているいくつかのアプリケーションプログラムは、第１のプロセッサコアによって実行することができ、その一方で、タスクバー４２２内に配置されているアプリケーションアイコンに関連付けられているその他のアプリケーションプログラムは、第２のプロセッサコアによって実行することができる。たとえば、図４において示されているように、タスクバー４２０内に配置されているアプリケーションアイコン４３０、４３２、４３４、および４３６に関連付けられているアプリケーションプログラムは、第１のプロセッサコアによって実行することができ、その一方で、タスクバー４２２内に配置されているアプリケーションアイコン４３８、４４０、４４２、および４４４に関連付けられているその他のアプリケーションプログラムは、第２のプロセッサコアによって実行することができる。
【００３３】
いくつかの実施形態においては、ユーザは、アプリケーションアイコン４３０、４３２、４３４、４３６、４３８、４４０、４４２、および４４４をタスクバー４２０および４２２の間において効果的に移動させることによって、ポータブル電子デバイス４００上で実行されるアプリケーションプログラムの割り振りを管理することができる。限定ではなく、例として、ユーザが、タスクバー４２０内に配置されているアプリケーションアイコン、たとえば、アプリケーションアイコン４３６をタスクバー４２２へ効果的に移動させた場合には、アプリケーションアイコン４３６に関連付けられているアプリケーションプログラムの少なくとも１つのプロセスを、タスクバー４２２に対応する第２のプロセッサコア（図示せず）に割り振って、その第２のプロセッサコアによって実行することができる。
【００３４】
いくつかの実施形態においては、ユーザは、グラフィカルユーザインターフェースシステムを通じてアプリケーションアイコン４３０、４３２、４３４、４３６、４３８、４４０、４４２、および４４４をタスクバー４２０および４２２の間において効果的に移動させることができる。限定ではなく、例として、ユーザは、アプリケーションアイコンをタスクバー４２０からドラッグして、アプリケーションアイコンをタスクバー４２２内にドロップすることによって、アプリケーションアイコンをタスクバー４２０からタスクバー４２２へ効果的に移動させることができる。限定ではなく、例として、ユーザは、所定のジェスチャーを行うことによって、アプリケーションアイコンをタスクバー４２０からタスクバー４２２へ効果的に移動させることができ、すなわち、アプリケーションアイコンは、ユーザのジェスチャー入力に基づいてタスクバー４２０からタスクバー４２２へ移動させることができる。限定ではなく、例として、ユーザは、アプリケーションアイコン４３０をドラッグして、円を描くことによって、アプリケーションアイコン４３２、４３４、および４３６を一括してタスクバー４２０からタスクバー４２２へ効果的に移動させること、すなわち、アプリケーションアイコン４３０を除いたその他のすべてのアプリケーションアイコンをタスクバー４２０からタスクバー４２２へ移動させることが可能である。ジェスチャー入力に基づいてアプリケーションアイコン４３２、４３４、および４３６をそのように移動させた例示的な結果が、図５において示されている。図５において示されている例では、タスクバー４２０内に配置されているアプリケーションアイコン４３０に関連付けられているアプリケーションプログラムの少なくとも１つのプロセスを第１のプロセッサコア（図示せず）によって実行することができ、その一方で、タスクバー４２２内に配置されているアプリケーションアイコン４３２、４３４、４３６、４３８、４４０、４４２、および４４４に関連付けられているアプリケーションプログラムの少なくとも１つのプロセスを第２のプロセッサコア（図示せず）によって実行することができる。
【００３５】
いくつかの実施形態においては、アプリケーションアイコン４３０、４３２、４３４、４３６、４３８、４４０、４４２、および４４４は、ポータブル電子デバイス４００の動きに基づいてタスクバー４２０および４２２の間において移動させることができる。限定ではなく、例として、ポータブル電子デバイス４００は、ジャイロセンサ（図示せず）を含むことができ、そのジャイロセンサは、ポータブル電子デバイス４００の向きを検知するように構成することができる。ユーザがポータブル電子デバイス４００を傾けた場合には、ジャイロセンサ（図示せず）は、ポータブル電子デバイス４００の向きの変化を検知することができる。そのようなケースにおいては、アプリケーションアイコン４３０、４３２、４３４、４３６、４３８、４４０、４４２、および４４４は、ジャイロセンサ（図示せず）によって検知された向きの変化に基づいてタスクバー４２０および４２２の間において移動させることができる。限定ではなく、例として、ユーザは、アプリケーションアイコン４３０を指で押さえたままポータブル電子デバイス４００を下に傾けることによって、アプリケーションアイコン４３２、４３４、および４３６を一括してタスクバー４２０からタスクバー４２２へ効果的に移動させること、すなわち、アプリケーションアイコン４３０を除いたその他のすべてのアプリケーションアイコンをタスクバー４２０からタスクバー４２２へ移動させることが可能である。ポータブル電子デバイス４００の向きの変化に基づいてアプリケーションアイコン４３２、４３４、および４３６をそのように移動させた結果は、図５において示されている例と同様になると言える。
【００３６】
図６は、本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムとともに機能するように構成されている説明例のポータブル電子デバイスを概略的に示している。図６を参照すると、ポータブル電子デバイス４００は、ディスプレイデバイス４１０と、複数のプロセッサコア（図示せず）を含むマルチコアプロセッサ（図示せず）とを含むことができる。
【００３７】
いくつかの実施形態においては、ディスプレイデバイス４１０は、タッチスクリーンディスプレイデバイスとすることができる。いくつかの実施形態においては、ディスプレイデバイス４１０は、複数のタスクバー６２０、６２２、および６２４と、アプリケーションプログラムにそれぞれ関連付けられている複数のアプリケーションアイコン６３０、６３２、６３４、６３６、６３８、６４０、６４２、６４４、６４６、６４８、６５０、６５２、および６５４とを表示することができる。限定ではなく、例として、図６において示されているように、アプリケーションアイコン６３０、６３２、６３４、６３６、６３８、６４０、および６４２は、タスクバー６２０内に配置することができ、アプリケーションアイコン６４４、６４６、６４８、および６５０は、タスクバー６２２内に配置することができ、アプリケーションアイコン６５２および６５４は、タスクバー６２４内に配置することができる。図６は、３個のタスクバーと、１３個のアプリケーションアイコンとがディスプレイデバイス４１０上に表示されていることを示しているが、任意の数のタスクバーと、任意の数のアプリケーションアイコンとをディスプレイデバイス４１０上に表示することができるということを当業者なら理解するであろう。また、図６は、複数のタスクバーが、ポータブル電子デバイス４００内に含まれているディスプレイデバイス４１０上に表示されていることを示しているが、それらのタスクバーのうちのいくつかは、ディスプレイデバイス４１０上に表示されており、その一方で、その他のタスクバーは、ポータブル電子デバイス４００に動作可能に結合されている少なくとも１つの外部ディスプレイデバイス上に表示されるということを当業者なら理解するであろう。
【００３８】
いくつかの実施形態においては、タスクバー６２０は、マルチコアプロセッサの第１のプロセッサコア（図示せず）に対応することができ、タスクバー６２２は、マルチコアプロセッサの第２のプロセッサコア（図示せず）に対応することができ、タスクバー６２４は、マルチコアプロセッサの第３のプロセッサコア（図示せず）に対応することができる。そのようなケースにおいては、タスクバー６２０内に配置されているアプリケーションアイコンに関連付けられているいくつかのアプリケーションプログラムは、第１のプロセッサコアによって実行することができ、タスクバー６２２内に配置されているアプリケーションアイコンに関連付けられているその他のアプリケーションプログラムは、第２のプロセッサコアによって実行することができ、タスクバー６２４内に配置されているアプリケーションアイコンに関連付けられているその他のアプリケーションプログラムは、第３のプロセッサコアによって実行することができる。たとえば、図６において示されているように、タスクバー６２０内に配置されているアプリケーションアイコン６３０、６３２、６３４、６３６、６３８、６４０、および６４２に関連付けられているアプリケーションプログラムは、第１のプロセッサコアによって実行することができ、タスクバー６２２内に配置されているアプリケーションアイコン６４４、６４６、６４８、および６５０に関連付けられているアプリケーションプログラムは、第２のプロセッサコアによって実行することができ、タスクバー６２４内に配置されているアプリケーションアイコン６５２および６５４に関連付けられているアプリケーションプログラムは、第３のプロセッサコアによって実行することができる。
【００３９】
いくつかの実施形態においては、ユーザは、アプリケーションアイコン６３０、６３２、６３４、６３６、６３８、６４０、６４２、６４４、６４６、６４８、６５０、６５２、および６５４をタスクバー６２０、６２２、および６２４の間において効果的に移動させることによって、ポータブル電子デバイス４００上で実行されるアプリケーションプログラムの割り振りを管理することができる。限定ではなく、例として、ユーザが、タスクバー６２０内に配置されているアプリケーションアイコン、たとえば、アプリケーションアイコン６３６をタスクバー６２２へ効果的に移動させた場合には、アプリケーションアイコン６３６に関連付けられているアプリケーションプログラムの少なくとも１つのプロセスを、タスクバー６２２に対応する第２のプロセッサコア（図示せず）に割り振って、その第２のプロセッサコアによって実行することができる。
【００４０】
いくつかの実施形態においては、タスクバー６２０、６２２、および６２４は、その所望の負荷ステータスを示すように選択されている色を伴ってレンダリングすることができる。限定ではなく、例として、あるタスクバーに対応するプロセッサコアが第１のステータス状態（たとえば、通常の状態）にある場合には、そのタスクバーは、第１の色（たとえば、緑色）でレンダリングすることができる。限定ではなく、例として、あるタスクバーに対応するプロセッサコアが第２のステータス状態（たとえば、比較的多数のプロセスがそのプロセッサコアに割り振られて、そのプロセッサコアによって実行されている、ビジーな状態）にある場合には、そのタスクバーは、第２の色（たとえば、黄色）でレンダリングすることができる。限定ではなく、例として、あるタスクバーに対応するプロセッサコアが第３のステータス状態（たとえば、非常に多数のプロセスがそのプロセッサコアに割り振られて、そのプロセッサコアによって実行されている、非常にビジーな状態）にある場合には、そのタスクバーは、第３の色（たとえば、赤色）でレンダリングすることができる。それらの色は、緑色、黄色、および赤色に限定されないということを当業者なら理解するであろう。その上、「通常」、「ビジー」、および「非常にビジー」という上述のステータス状態よりも多くのまたは少ないステータス状態も考えられる。
【００４１】
いくつかの実施形態においては、ディスプレイデバイス４１０は、コンテキストメニューバー６６０を表示するようにさらに構成することができる。限定ではなく、例として、ユーザは、たとえば、ディスプレイデバイス４１０を押したまま保持することなど、所定のジェスチャーを行うことによって、コンテキストメニューバー６６０の表示をトリガーすることができる。
【００４２】
いくつかの実施形態においては、コンテキストメニューバー６６０は、いくつかの所定のタスク割り当てスキームをユーザに提供するためのコンテキストメニューアイコン６７０、６７２、および６７４を含むことができる。限定ではなく、例として、コンテキストメニューアイコン６７０は、加重タスク割り当てスキームに関連付けることができ、コンテキストメニューアイコン６７２は、均等タスク割り当てスキームに関連付けることができ、コンテキストメニューアイコン６７４は、使用頻度タスク割り当てスキームに関連付けることができる。
【００４３】
限定ではなく、例として、ユーザがコンテキストメニューアイコン６７０（たとえば、加重タスク割り当てスキーム）を選択した場合には、アプリケーションプログラムの少なくとも１つのプロセスを、加重タスク割り当てスキームに従って、第１、第２、および第３のプロセッサコアに割り振って、第１、第２、および第３のプロセッサコアによって実行することができる。そのようなケースにおいては、１つのプロセッサコアに割り振られるプロセスの数は、別のプロセッサコアに割り振られるプロセスの数とは異なると言える。すなわち、第１、第２、および第３のプロセッサコアのそれぞれは、別々の数のプロセスを実行することができる。限定ではなく、例として、最も少ない数のプロセスを第１のプロセッサコアに割り振って、第１のプロセッサコアによって実行することができ、その一方で、最も多い数のプロセスを第３のプロセッサコアに割り振って、第３のプロセッサコアによって実行することができる。そのようなケースにおいては、第１のプロセッサコアは、最も速いスピードで機能することができ、その一方で、第３のプロセッサコアは、最も遅いスピードで機能することができる。
【００４４】
限定ではなく、例として、ユーザがコンテキストメニューアイコン６７２（たとえば、均等タスク割り当てスキーム）を選択した場合には、アプリケーションプログラムの少なくとも１つのプロセスを、均等タスク割り当てスキームに従って、第１、第２、および第３のプロセッサコアに割り振って、第１、第２、および第３のプロセッサコアによって実行することができる。そのようなケースにおいては、１つのプロセッサコアに割り振られるプロセスの数は、別のプロセッサコアに割り振られるプロセスの数とほとんど同じであると言える。すなわち、第１、第２、および第３のプロセッサコアは、同じまたは同等の数のプロセスを実行することができる。
【００４５】
限定ではなく、例として、ユーザがコンテキストメニューアイコン６７４（たとえば、使用頻度タスク割り当てスキーム）を選択した場合には、アプリケーションプログラムの少なくとも１つのプロセスが、使用頻度タスク割り当てスキームに従って、第１、第２、および第３のプロセッサコアに割り振られて、第１、第２、および第３のプロセッサコアによって実行される。そのようなケースにおいては、ユーザによって頻繁に使用されるアプリケーションプログラムに関連付けられているプロセスを、最も速いスピードで機能するプロセッサコアに割り振ることができる。
【００４６】
図７は、本明細書に記載されている少なくともいくつかの実施形態による、マルチコア環境におけるプロセスマネージメントメカニズムを利用するように構成されている電子デバイスの説明例の概略ブロック図を示している。示されているように、電子デバイス７００は、プロセッサ７１０、メモリ７２０、グラフィカルユーザインターフェース（ＧＵＩ）システム７３０、プロセス／コア割り振りモジュール７４０、およびオペレーティングシステム（ＯＳ）７５０を含むことができる。さまざまなコンポーネントは、別々のコンポーネントとして示されているが、所望の実施態様に応じて、さらなるコンポーネントへと分割すること、より少ないコンポーネントへと統合すること、または省略することが可能である。
【００４７】
プロセッサ７１０は、メモリ７２０内に格納されているアプリケーションプログラムの命令を実行するように構成することができる。いくつかの実施形態においては、プロセッサ７１０は、複数のプロセッサコア７６０−１、７６０−２、．．．、７６０−ｎを含むマルチコアプロセッサとすることができる。プロセッサコア７６０−１、７６０−２、．．．、７６０−ｎのそれぞれは、実際のコアまたはバーチャルコアとすることができる。
【００４８】
メモリ７２０は、プロセッサ７１０に動作可能に結合することができ、少なくとも１つのプロセスを含むアプリケーションプログラムを格納するように構成することができる。限定ではなく、例として、メモリ７２０は、揮発性メモリ（たとえばＲＡＭ）、不揮発性メモリ（たとえばＲＯＭ、フラッシュメモリなど）、またはそれらの任意の組合せを含む任意のタイプのものとすることができる。
【００４９】
グラフィカルユーザインターフェースシステム７３０は、たとえば、デスクトップスクリーンまたはタスクバーなど、複数のディスプレイスクリーン（図示せず）を提供するように構成することができる。いくつかの実施形態においては、それらの複数のディスプレイスクリーンは、プロセッサコア７６０−１、７６０−２、．．．、７６０−ｎにそれぞれ対応することができる。
【００５０】
いくつかの実施形態においては、グラフィカルユーザインターフェースシステム７３０は、アプリケーションマネージメントモジュール７７０を含むことができる。アプリケーションマネージメントモジュール７７０は、メモリ７２０内に格納されているアプリケーションプログラムの少なくとも１つのプロセスに関連付けられているグラフィカル要素（たとえば、アプリケーションウィンドウまたはアプリケーションアイコンなど）の位置を管理するように構成することができる。
【００５１】
いくつかの実施形態においては、グラフィカルユーザインターフェースシステム７３０は、ディスプレイスクリーンマネージメントモジュール７８０をさらに含むことができる。ディスプレイスクリーンマネージメントモジュール７８０は、アプリケーションマネージメントモジュール７７０に動作可能に結合することができ、アプリケーションプログラムの少なくとも１つのプロセスと、複数のディスプレイスクリーンのうちの１つとの間における関連付けを管理するように構成することができる。
【００５２】
プロセス／コア割り振りモジュール７４０は、アプリケーションプログラムの少なくとも１つのプロセスに関連付けられているグラフィカル要素の、複数のディスプレイスクリーンの間における移動を検知するように構成することができる。いくつかの実施形態においては、プロセス／コア割り振りモジュール７４０は、ユーザ入力に基づいてグラフィカル要素の移動を検知するように構成することができる。限定ではなく、例として、そのユーザ入力は、第１のディスプレイスクリーンからのグラフィカル要素の移動の開始をドラッグまたはその他の形で引き起こして、それに続いて、第２のディスプレイスクリーンへのグラフィカル要素の移動の位置決めまたは終了をドロップまたはその他の形で引き起こすこと、とすることができる。
【００５３】
オペレーティングシステム７５０は、プロセスマネージメントモジュール７９０を含むことができる。プロセスマネージメントモジュール７９０は、アプリケーションプログラムの少なくとも１つのプロセスをプロセッサコア７６０−１、７６０−２、．．．、７６０−ｎのうちの１つに割り振るように構成することができる。いくつかの実施形態においては、第１のディスプレイスクリーンおよび第２のディスプレイスクリーンが、それぞれ第１のプロセッサコアおよび第２のプロセッサコアに対応していて、アプリケーションプログラムの少なくとも１つのプロセスに関連付けられているグラフィカル要素の、第１のディスプレイスクリーンから第２のディスプレイスクリーンへの移動が検知されるケースにおいては、プロセスマネージメントモジュール７９０は、グラフィカル要素の移動の検知に基づいて、アプリケーションプログラムのその少なくとも１つのプロセスを第２のコアに割り振ることができる。
【００５４】
いくつかの実施形態においては、プロセス／コアの割り振りをユーザに完全にコントロールさせる代わりに、ユーザは、タスクの優先度を指定することができ、プロセスマネージメントモジュール７９０は、指定された優先度を考慮して割り振りを実行することができる。
【００５５】
図８は、本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを機能させるように適合されている方法の例示的な流れ図を示している。図８における例示的な方法８００は、たとえば、第１のコアおよび第２のコアを含むプロセッサと、オペレーティングシステムと、オペレーティングシステムに動作可能に結合されているプロセス／コア割り振りモジュールと、第１のコアおよび第２のコアにそれぞれ関連付けられている第１のディスプレイスクリーンおよび第２のディスプレイスクリーンを提供するように構成されている、プロセス／コア割り振りモジュールに動作可能に結合されたグラフィカルユーザインターフェースシステムとを含む電子デバイスを使用して、実施することができる。限定ではなく、例として、ディスプレイスクリーンは、デスクトップスクリーンまたはタスクバーを含むことができる。
【００５６】
方法８００は、ブロックＳ８１０、Ｓ８２０、Ｓ８３０、Ｓ８４０、および／またはＳ８５０のうちの１つまたは複数によって示されているような１つまたは複数のオペレーション、アクション、または機能を含むことができる。さまざまなブロックは、別々のブロックとして示されているが、所望の実施態様に応じて、さらなるブロックへと分割すること、より少ないブロックへと統合すること、または省略することが可能である。方法８００は、ブロックＳ８１０において開始することができる。
【００５７】
ブロックＳ８１０においては、電子デバイスは、第１のコアによって実行される、アプリケーションプログラムの少なくとも１つのプロセスに関連付けられているグラフィカル要素を第１のディスプレイスクリーン上に表示するように適合することができる。いくつかの実施形態においては、グラフィカルユーザインターフェースシステムが、そのグラフィカル要素を第１のディスプレイスクリーン上に表示することができる。限定ではなく、例として、そのグラフィカル要素は、デスクトップスクリーン上に表示されるアプリケーションウィンドウ、またはタスクバー上に表示されるアプリケーションアイコンを含むことができる。ブロックＳ８１０の後には、ブロックＳ８２０が続くことができる。
【００５８】
ブロックＳ８２０においては、電子デバイスは、第１のディスプレイスクリーンから第２のディスプレイスクリーンへのグラフィカル要素の移動を検知するように適合することができる。いくつかの実施形態においては、プロセス／コア割り振りモジュールが、グラフィカルユーザインターフェースシステムを通じたユーザ入力に基づいて、第１のディスプレイスクリーンから第２のディスプレイスクリーンへのグラフィカル要素の移動を検知することができる。いくつかの実施形態においては、そのユーザ入力は、第１のディスプレイスクリーンからのグラフィカル要素の移動の開始をドラッグまたはその他の形で引き起こして、それに続いて、第２のディスプレイスクリーンへのグラフィカル要素の移動の位置決めまたは終了をドロップまたはその他の形で引き起こすことを含むことができる。いくつかの実施形態においては、そのユーザ入力は、電子デバイス内に含まれているタッチスクリーンディスプレイデバイス上で検知されるジェスチャーに関連付けることができる。いくつかの実施形態においては、そのユーザ入力は、電子デバイス内に含まれているジャイロセンサによって検知される電子デバイスの動きに関連付けることができる。ブロックＳ８２０の後には、ブロックＳ８３０が続くことができる。
【００５９】
ブロックＳ８３０においては、電子デバイスは、プロセス／コア割り振り命令を生成するように適合することができる。いくつかの実施形態においては、プロセス／コア割り振りモジュールが、検知された移動に基づいてプロセス／コア割り振り命令を生成することができる。ブロックＳ８３０の後には、ブロックＳ８４０が続くことができる。
【００６０】
ブロックＳ８４０においては、電子デバイスは、アプリケーションプログラムの少なくとも１つのプロセスを第２のコアに割り振るように適合することができる。いくつかの実施形態においては、オペレーティングシステムが、プロセス／コア割り振りモジュールからプロセス／コア割り振り命令を受け取って、アプリケーションプログラムの少なくとも１つのプロセスを第２のコアに割り振ることができる。ブロックＳ８４０の後には、ブロックＳ８５０が続くことができる。
【００６１】
ブロックＳ８５０においては、電子デバイスは、第２のコアによってアプリケーションプログラムの少なくとも１つのプロセスを実行するように適合することができる。
【００６２】
図８は、デュアルコアプロセッサおよび２つのディスプレイスクリーンが、採用されている２つのコアにそれぞれ対応していることを示しているが、任意の数のコアおよび任意の数のディスプレイスクリーンを採用することができるということを当業者なら理解するであろう。また、図８は、ユーザがグラフィカル要素を第１のディスプレイスクリーンから第２のディスプレイスクリーンへ移動させることを示しているが、上述の例示的な方法は、ユーザがグラフィカル要素を第２のディスプレイスクリーンから第１のディスプレイスクリーンへ移動させるケースにおいても適切に適用することができるということを当業者なら理解するであろう。
【００６３】
本明細書において開示されているこの方法およびその他の方法にとって、これらの方法において実行される機能は、別の順序でも実施することができるということを当業者なら理解するであろう。さらに、概説されているステップおよびオペレーションは、例として提供されているにすぎず、それらのステップおよびオペレーションのうちのいくつかは、開示されている実施形態の本質を損なうことなく、任意選択とすること、より少ないステップおよびオペレーションへと統合すること、またはさらなるステップおよびオペレーションへと拡張することが可能である。
【００６４】
図９は、本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを機能させるように構成することができる例示的なコンピューティングシステムを示す概略ブロック図を示している。図９において示されているように、コンピュータ９００は、プロセッサ９１０、メモリ９２０、および１つまたは複数のドライブ９３０を含むことができる。コンピュータ９００は、従来のコンピュータシステム、組み込み型コントロールコンピュータ、ラップトップ、またはサーバコンピュータ、モバイルデバイス、セットトップボックス、キオスク、乗り物情報システム、モバイル電話、カスタマイズされたマシン、またはその他のハードウェアプラットフォームとして実装することができる。
【００６５】
ドライブ９３０およびそれらの関連付けられているコンピュータストレージ媒体は、コンピュータ９００のためのコンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの格納を提供することができる。ドライブ９３０は、グラフィカルユーザインターフェース（ＧＵＩ）システム９４０、プロセス／コア割り振りモジュール９５０、オペレーティングシステム（ＯＳ）９６０、およびアプリケーションプログラム９７０を含むことができる。グラフィカルユーザインターフェース（ＧＵＩ）システム９４０は、アプリケーションマネージメントモジュール９４２およびディスプレイスクリーンマネージメントモジュール９４４を含むことができる。オペレーティングシステム（ＯＳ）９６０は、プロセスマネージメントモジュール９６２を含むことができる。
【００６６】
コンピュータ９００は、ユーザ入力デバイス９８０をさらに含むことができ、そのユーザ入力デバイス９８０を通じて、ユーザは、コマンドおよびデータを入力することができる。入力デバイスは、電子デジタイザ、カメラ、マイクロフォン、キーボード、および、一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイスを含むことができる。その他の入力デバイスは、ジョイスティック、ゲームパッド、衛星放送受信用アンテナ、スキャナなどを含むことができる。
【００６７】
これらおよびその他の入力デバイスは、システムバスに結合されているユーザ入力インターフェースを通じてプロセッサ９１０に結合することができるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス（ＵＳＢ）など、その他のインターフェースおよびバス構造によって結合することもできる。コンピュータ９００などのコンピュータは、出力周辺インターフェース９８５などを通じて結合することができる、ディスプレイデバイスなどのその他の周辺出力デバイスを含むこともできる。
【００６８】
コンピュータ９００は、ネットワークインターフェース９９０に結合されているリモートコンピュータなど、１つまたは複数のコンピュータへの論理接続を使用して、ネットワーク化された環境において機能することができる。そのリモートコンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピアデバイス、またはその他の一般的なネットワークノードとすることができ、コンピュータ９００に関連して上述した要素のうちの多くまたはすべてを含むことができる。
【００６９】
ネットワーキング環境は、オフィス、エンタープライズワイドエリアネットワーク（ＷＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、イントラネット、およびインターネットにおいてよく見受けられる。ＬＡＮまたはＷＬＡＮネットワーキング環境において使用される場合には、コンピュータ９００は、ネットワークインターフェース９９０またはアダプタを通じてＬＡＮに結合することができる。ＷＡＮネットワーキング環境において使用される場合には、コンピュータ９００は、典型的には、インターネットまたはネットワーク９９５などのＷＡＮ上で通信を確立するためのモデムまたはその他の手段を含む。ＷＡＮは、インターネット、示されているネットワーク９９５、さまざまなその他のネットワーク、またはそれらの任意の組合せを含むことができる。コンピュータどうしの間において通信リンク、リング、メッシュ、バス、クラウド、またはネットワークを確立するためのその他のメカニズムを使用することもできるということがわかるであろう。
【００７０】
いくつかの実施形態においては、コンピュータ９００は、ネットワーキング環境に結合することができる。コンピュータ９００は、ドライブ９３０またはその他のストレージデバイスに関連付けられている１つまたは複数の物理的なコンピュータ可読ストレージ媒体の１つまたは複数のインスタンスを含むことができる。システムバスは、プロセッサ９１０がコンピュータ可読ストレージ媒体へ／からコードおよび／またはデータを読み取ることを可能にすることができる。それらの媒体は、任意の適切なテクノロジーを使用して実装されるストレージ要素の形態の装置に相当することができ、そうした任意の適切なテクノロジーとしては、半導体、磁性材料、光学媒体、電気ストレージ、電気化学ストレージ、またはその他の任意のそのようなストレージテクノロジーが含まれるが、それらには限定されない。それらの媒体は、ＲＡＭ、ＲＯＭ、フラッシュ、またはその他のタイプの揮発性もしくは不揮発性メモリテクノロジーとして特徴付けられているかどうかを問わず、メモリ９２０に関連付けられているコンポーネントに相当することができる。それらの媒体は、ストレージドライブ９３０として実装されるか、またはその他の形で実装されるかを問わず、セカンダリーストレージに相当することもできる。ハードドライブの実装形態は、ソリッドステートとして特徴付けることができ、または磁気的にエンコードされた情報を格納する回転媒体を含むことができる。
【００７１】
プロセッサ９１０は、任意の数のトランジスタまたはその他の回路素子から構築することができ、それらのトランジスタまたは回路素子は、個々にまたは集合的に任意の数の状態を担うことができる。より具体的には、プロセッサ９１０は、状態マシンまたは有限状態マシンとして機能することができる。そのようなマシンは、実行可能命令をロードすることによって、第２のマシン、または固有のマシンに変換することができる。それらのコンピュータ実行可能命令は、プロセッサ９１０が状態どうしの間においてどのように遷移するかを指定して、それによって、プロセッサ９１０を構成しているトランジスタまたはその他の回路素子を第１のマシンから第２のマシンへ変換することによって、プロセッサ９１０を変換することができる。いずれのマシンの状態も、ユーザ入力デバイス９８０、ネットワークインターフェース９９０、その他の周辺機器、その他のインターフェース、または１人もしくは複数のユーザもしくはその他の行為者から入力を受け取ることによって、変換することもできる。いずれのマシンも、プリンタ、スピーカー、ビデオディスプレイ、またはその他などのさまざまな出力デバイスの状態、またはさまざまな物理的な特徴を変換することもできる。
【００７２】
図１０は、本明細書に記載されている少なくともいくつかの実施形態による、マルチコア環境におけるプロセスマネージメントメカニズムを機能させるために利用することができるコンピュータプログラム製品１０００を示している。プログラム製品１０００は、信号担持伝達媒体１００２を含むことができる。信号担持媒体１００２は、１つまたは複数の命令１００４を含むことができ、それらの命令１００４は、たとえば、プロセッサによって実行された場合に、図１〜図９に関して上述した機能を提供することができる。例として、命令１００４は、第１のコアに対応する第１のディスプレイスクリーン上で第１のコアによって実行されるアプリケーションプログラムの少なくとも１つのプロセスに関連付けられているグラフィカル要素を表示するための１つもしくは複数の命令、第１のディスプレイスクリーンから、第２のコアに対応する第２のディスプレイスクリーンへのグラフィカル要素の移動を検知するための１つもしくは複数の命令、またはアプリケーションプログラムの少なくとも１つのプロセスを第２のコアに割り振るための１つもしくは複数の命令を含むことができる。したがって、たとえば図７を参照すると、電子デバイス７００は、命令１００４に応答して、図８において示されているブロックのうちの１つまたは複数に着手することができる。
【００７３】
いくつかの実装形態においては、信号担持媒体１００２は、コンピュータ可読媒体１００６を含むことができ、コンピュータ可読媒体１００６は、ハードディスクドライブ、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）、デジタルテープ、メモリなどであるが、それらには限定されない。いくつかの実装形態においては、信号担持媒体１００２は、記録可能媒体１００８を含むことができ、記録可能媒体１００８は、メモリ、Ｒ／Ｗ（ｒｅａｄ／ｗｒｉｔｅ）  ＣＤ、Ｒ／Ｗ  ＤＶＤなどであるが、それらには限定されない。いくつかの実装形態においては、信号担持媒体１００２は、通信媒体１０１０を含むことができ、通信媒体１０１０は、デジタル通信媒体および／またはアナログ通信媒体（たとえば、光ファイバケーブル、導波管、有線通信リンク、ワイヤレス通信リンク等）などであるが、それらには限定されない。したがって、たとえば、プログラム製品１０００は、ＲＦ信号担持媒体１００２によって電子デバイス７００の１つまたは複数のモジュールに搬送することができ、この場合、信号担持媒体１００２は、ワイヤレス通信媒体１０１０（たとえば、ＩＥＥＥ８０２．１１標準に準拠しているワイヤレス通信媒体）によって搬送される。
【００７４】
本開示は、本出願において説明されている特定の実施形態の観点から限定されるものではなく、それらの実施形態は、さまざまな態様の例示として意図されている。当業者にとっては明らかであろうが、本開示の趣旨および範囲から逸脱することなく、多くの修正および変形を行うことができる。本明細書において列挙されている方法および装置に加えて、本開示の範囲内にある機能的に均等な方法および装置は、前述の説明から当業者にとって明らかであろう。そのような修正および変形は、添付の特許請求の範囲の範疇内に収まるように意図されている。本開示は、添付の特許請求の範囲、ならびに、そのような特許請求の範囲が付与される均等物の全範囲の観点によってのみ限定されるものである。本開示は、特定の方法、試薬、化合物、組成、または生体系（これらは、もちろん、さまざまなものでありうる）に限定されるものではないということを理解されたい。本明細書において使用されている用語は、特定の実施形態を説明することのみを目的としており、限定することを意図されているものではないということも理解されたい。
【００７５】
本明細書に記載された主題は、さまざまなコンポーネントをしばしば例示しており、これらのコンポーネントは、他のさまざまなコンポーネントに包含されるか、または他のさまざまなコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例にすぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の２つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の２つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的にかみ合わせ可能な、および／もしくは物理的に相互作用するコンポーネント、ならびに／またはワイヤレスに相互作用可能な、および／もしくはワイヤレスに相互作用するコンポーネント、ならびに／または論理的に相互作用する、および／もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
【００７６】
本明細書における実質的にすべての複数形および／または単数形の用語の使用に対して、当業者は、状況および／または用途に適切なように、複数形から単数形に、および／または単数形から複数形に変換することができる。さまざまな単数形／複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
【００７７】
通常、本明細書において、特に添付の特許請求の範囲（たとえば、添付の特許請求の範囲の本体部）において使用される用語は、全体を通じて「オープンな（ｏｐｅｎ）」用語として意図されていることが、当業者には理解されよう（たとえば、用語「含む（ｉｎｃｌｕｄｉｎｇ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｉｎｇ  ｂｕｔ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきであり、用語「有する（ｈａｖｉｎｇ）」は、「少なくとも有する（ｈａｖｉｎｇ  ａｔ  ｌｅａｓｔ）」と解釈されるべきであり、用語「含む（ｉｎｃｌｕｄｅｓ）」は、「含むがそれに限定されない（ｉｎｃｌｕｄｅｓ  ｂｕｔ  ｉｓ  ｎｏｔ  ｌｉｍｉｔｅｄ  ｔｏ）」と解釈されるべきである、など）。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも１つの（ａｔ  ｌｅａｓｔ  ｏｎｅ）」および「１つまたは複数の（ｏｎｅ  ｏｒ  ｍｏｒｅ）」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「１つまたは複数の」または「少なくとも１つの」および「ａ」または「ａｎ」などの不定冠詞を含む場合であっても、不定冠詞「ａ」または「ａｎ」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に１つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない（たとえば、「ａ」および／または「ａｎ」は、「少なくとも１つの」または「１つまたは複数の」を意味すると解釈されるべきである）。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう（たとえば、他の修飾語なしでの「２つの記載（ｔｗｏ  ｒｅｃｉｔａｔｉｏｎｓ）」の単なる記載は、少なくとも２つの記載、または２つ以上の記載を意味する）。さらに、「Ａ、ＢおよびＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（たとえば、「Ａ、Ｂ、およびＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステムを含むが、それに限定されない）。「Ａ、Ｂ、またはＣ、などの少なくとも１つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている（たとえば、「Ａ、Ｂ、またはＣの少なくとも１つを有するシステム」は、Ａのみ、Ｂのみ、Ｃのみ、ＡおよびＢを共に、ＡおよびＣを共に、ＢおよびＣを共に、ならびに／またはＡ、Ｂ、およびＣを共に、などを有するシステ���を含むが、それに限定されない）。２つ以上の代替用語を提示する事実上いかなる離接する語および／または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方（ｏｎｅ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、当該用語のいずれか（ｅｉｔｈｅｒ  ｏｆ  ｔｈｅ  ｔｅｒｍｓ）、または両方の用語（ｂｏｔｈ  ｔｅｒｍｓ）を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句「ＡまたはＢ」は、「Ａ」または「Ｂ」あるいは「ＡおよびＢ」の可能性を含むことが理解されよう。
【００７８】
加えて、本開示の特徴または態様がマーカッシュグループの点から記載されている場合には、それによって、本開示は、そのマーカッシュグループの任意の個々のメンバーまたはメンバーのサブグループの点からも記載されているということを当業者なら認識するであろう。
【００７９】
当業者なら理解するであろうが、書面による説明を提供するという点からなど、ありとあらゆる目的のために、本明細書において開示されているすべての範囲は、ありとあらゆる可能なサブ範囲およびそれらのサブ範囲の組合せも包含する。列挙されているいかなる範囲も、その同じ範囲が、少なくとも２等分、３等分、４等分、５等分、１０等分などへと分割されることを十分に記述するものとして、かつ可能にするものとして容易に認識することができる。非限定的な例として、本明細書において論じられているそれぞれの範囲は、下の３分の１、真ん中の３分の１、および上の３分の１などへと容易に分割することができる。やはり当業者なら理解するであろうが、たとえば「まで（ｕｐ  ｔｏ）」、「少なくとも（ａｔ  ｌｅａｓｔ）」などのすべての言葉は、挙げられている数を含み、上述のように後でサブ範囲へと分割することが可能な範囲を指す。最後に、当業者なら理解するであろうが、範囲は、それぞれの個々のメンバーを含む。したがって、たとえば、１〜３個のセルを有するグループは、１、２、または３個のセルを有するグループを指す。同様に、１〜５個のセルを有するグループは、１、２、３、４、または５個のセルを有するグループを指す、といった具合である。
【００８０】
本開示のさまざまな実施形態は、例示の目的で本明細書に記載されているということ、ならびに、本開示の範囲および趣旨から逸脱することなく、さまざまな修正を行うことができるということが、前述の内容からわかるであろう。したがって、本明細書において開示されているさまざまな実施形態は、限定することを意図するものではなく、真の範囲および趣旨は、添付の特許請求の範囲によって示されている。
【図１】
0005717308.tif 000002
【図２】
0005717308.tif 000003
【図３】
0005717308.tif 000004
【図４】
0005717308.tif 000005
【図５】
0005717308.tif 000006
【図６】
0005717308.tif 000007
【図７】
0005717308.tif 000008
【図８】
0005717308.tif 000009
【図９】
0005717308.tif 000010
【図１０】
0005717308.tif 000011