JP5717308B2 - マルチコア環境におけるプロセスマネージメント - Google Patents

マルチコア環境におけるプロセスマネージメント Download PDF

Info

Publication number
JP5717308B2
JP5717308B2 JP2014515794A JP2014515794A JP5717308B2 JP 5717308 B2 JP5717308 B2 JP 5717308B2 JP 2014515794 A JP2014515794 A JP 2014515794A JP 2014515794 A JP2014515794 A JP 2014515794A JP 5717308 B2 JP5717308 B2 JP 5717308B2
Authority
JP
Japan
Prior art keywords
display screen
core
electronic device
application program
display
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2014515794A
Other languages
English (en)
Other versions
JP2014518414A (ja
Inventor
修一 倉林
修一 倉林
吉田 尚史
尚史 吉田
孝典 鷹野
孝典 鷹野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Empire Technology Development LLC
Original Assignee
Empire Technology Development LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Empire Technology Development LLC filed Critical Empire Technology Development LLC
Publication of JP2014518414A publication Critical patent/JP2014518414A/ja
Application granted granted Critical
Publication of JP5717308B2 publication Critical patent/JP5717308B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Description

本明細書において別段の記載がない限り、このセクションにおいて説明されているアプローチは、本出願における特許請求の範囲に対する従来技術であるわけではなく、また、このセクションに含まれることによって従来技術であると認められるわけではない。
コンピューティングにおいては、マルチコアプロセッサが広く使用されている。典型的なマルチコアプロセッサは、複数の独立したコアを備えた単一のコンポーネントである。従来のオペレーティングシステム(OS)は、複数のプロセスを時分割様式で順次実行することができるマルチコア環境においてラウンドロビンまたはマルチレベルフィードバックキュースケジューリングメカニズムの変形を採用する場合がある。ラウンドロビンスケジューリングメカニズムによれば、OSは、アプリケーションプログラムの特定の特徴、またはエンドユーザの意図を考慮することなく、個々のコアのコンピューティング負荷をコントロールする。この点について、ラウンドロビンまたはマルチレベルフィードバックキュースケジューリングメカニズムでは、マルチコアプロセッサの機能は十分に利用されていない。
マルチコアプロセッサの機能を十分に利用するためには、アプリケーションプログラムを開発する際に、マルチコアプロセッサに適合された並列処理をあらかじめ考慮しておくことが必要である。具体的には、プログラム開発者が、マルチコアプロセッサに適合されたアプリケーションプログラムを開発することになる場合には、そのようなプログラム開発者は、アプリケーションプログラム内で並列に実行することができる複数の部分を抽出して、それらの部分を独立したプログラムモジュールとして再構築する必要がある。しかしながら、そのような再構築は、簡単な作業ではない。さらに、既存のアプリケーションプログラムを、マルチコアプロセッサに適合されたその他のプログラムへと自動的に変換することは不可能である。この点について、マルチコア環境においては、マルチコアプロセッサに適合されていないレガシーソフトウェアをマルチコアプロセッサ上で効率よく実行することが重要である。
マルチコア環境における直観的なプロセスマネージメントメカニズムに関するテクノロジーについて一般的に説明する。
本明細書に記載されているさまざまな例示的な電子デバイスは、第1のコアおよび第2のコアを備えたプロセッサと、オペレーティングシステムと、オペレーティングシステムに動作可能に結合されているプロセス/コア割り振りモジュールと、第1のディスプレイスクリーンおよび第2のディスプレイスクリーンを提供するように構成されている、プロセス/コア割り振りモジュールに動作可能に結合されたグラフィカルユーザインターフェースシステムであり、第1のディスプレイスクリーンおよび第2のディスプレイスクリーンが、第1のコアおよび第2のコアにそれぞれ関連付けられている、グラフィカルユーザインターフェースシステムとを含むことができる。
いくつかの例においては、本明細書に記載されている任意の例示的な電子デバイスによって実行することができる本明細書に記載されている任意の例示的な方法などの電子デバイスのための方法について説明する。それらの例示的な方法は、グラフィカルユーザインターフェースシステムによって、アプリケーションプログラムの少なくとも1つのプロセスに関連付けられているグラフィカル要素を第1のディスプレイスクリーン上に表示することであり、アプリケーションプログラムの少なくとも1つのプロセスが、第1のコアによって実行されること、プロセス/コア割り振りモジュールによって、第1のディスプレイスクリーンから第2のディスプレイスクリーンへのグラフィカル要素の移動を検知すること、およびオペレーティングシステムによって、アプリケーションプログラムの少なくとも1つのプロセスを第2のコアに割り振ることを含むことができる。
いくつかの例においては、プロセスマネージメントモジュールおよびプロセス/コア割り振りモジュールを利用するように適合することができる本明細書に記載されている任意の例示的な電子デバイスなどの電子デバイスについて説明する。プロセスマネージメントモジュールは、アプリケーションプログラムの少なくとも1つのプロセスを第1のコアまたは第2のコアのどちらかに割り振るように構成することができ、プロセス/コア割り振りモジュールは、プロセスマネージメントモジュールに動作可能に結合することができる。プロセス/コア割り振りモジュールは、第1のディスプレイスクリーンから第2のディスプレイスクリーンへのグラフィカル要素の移動を検知するように構成することができ、グラフィカル要素は、アプリケーションプログラムの少なくとも1つのプロセスに関連付けられており、アプリケーションプログラムの少なくとも1つのプロセスは、第1のコア上で実行される。プロセスマネージメントモジュールは、アプリケーションプログラムの少なくとも1つのプロセスに関連付けられているグラフィカル要素の移動の検知に基づいて、アプリケーションプログラムの少なくとも1つのプロセスを前記第2のコアに割り振るようにさらに構成することができる。
いくつかの例においては、電子デバイスにプロセス/コアの割り振りを実行させるためのプログラムを格納するように適合することができるコンピュータ可読ストレージ媒体について説明する。その電子デバイスは、本明細書においてさらに説明されているようなさまざまな特徴を含むことができる。そのプログラムは、第1のディスプレイスクリーンから第2のディスプレイスクリーンへのグラフィカル要素の移動を検知するように構成されているプロセス/コア割り振りモジュールであり、検知された移動に基づいてプロセス/コア割り振り命令を生成するように構成されている、プロセス/コア割り振りモジュールを含むことができる。グラフィカル要素は、アプリケーションプログラムの少なくとも1つのプロセスに関連付けることができる。第1のディスプレイスクリーンは、第1のコアに関連付けることができ、第2のディスプレイスクリーンは、第2のコアに関連付けることができる。プロセス/コア割り振り命令は、アプリケーションプログラムの少なくとも1つのプロセスを第2のコアに割り振るようオペレーティングシステムに命令するように構成することができる。
いくつかの例においては、プロセスマネージメントモジュールおよびプロセス/コア割り振りモジュールを利用するように適合することができる本明細書に記載されている任意の例示的な電子デバイスなどのポータブル電子デバイスについて説明する。プロセスマネージメントモジュールは、アプリケーションプログラムの少なくとも1つのプロセスを第1のコアまたは第2のコアのどちらかに割り振るように構成することができる。プロセス/コア割り振りモジュールは、プロセスマネージメントモジュールに動作可能に結合されており、プロセス/コア割り振りモジュールは、第1のディスプレイスクリーンから第2のディスプレイスクリーンへのグラフィカル要素の移動を検知するように構成することができ、グラフィカル要素は、アプリケーションプログラムの少なくとも1つのプロセスに関連付けられており、アプリケーションプログラムの少なくとも1つのプロセスは、第1のコア上で実行される。プロセスマネージメントモジュールは、アプリケーションプログラムの少なくとも1つのプロセスに関連付けられているグラフィカル要素の移動の検知に基づいて、アプリケーションプログラムの少なくとも1つのプロセスを第2のコアに割り振るようにさらに構成することができる。
前述の概要は、例示的なものにすぎず、いかなる形であれ限定することを意図するものではない。上述の例示的な態様、実施形態、および特徴に加えて、さらなる態様、実施形態、および特徴が、図面および以降の詳細な説明を参照することによって明らかになるであろう。
本開示の前述の特徴およびその他の特徴は、添付の図面とともに以降の説明および添付の特許請求の範囲を理解すれば、より完全に明らかになるであろう。これらの図面は、本開示によるいくつかの実施形態を示しているにすぎず、したがって、本開示の範囲を限定するものとみなされるべきではないということを理解して、添付の図面の使用を通じたさらなる具体性および詳細を伴って本開示について説明する。
本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを使用するように構成されている説明例のシステムを概略的に示す図である。 本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムにおいて採用されるデスクトップスクリーンの説明例を概略的に示す図である。 本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムにおいて採用されるデスクトップスクリーンの説明例を概略的に示す図である。 本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムとともに機能するように構成されているポータブル電子デバイスの説明例を概略的に示す図である。 本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムとともに機能するように構成されているポータブル電子デバイスの説明例を概略的に示す図である。 本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムとともに機能するように構成されているポータブル電子デバイスの説明例を概略的に示す図である。 本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを利用するように構成されている電子デバイスの説明例を示す概略ブロック図である。 本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを機能させるように適合されている方法を示す例示的な流れ図である。 本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを機能させるように構成することができる例示的なコンピューティングシステムを示す概略ブロック図である。 本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを機能させるために利用することができるコンピュータプログラム製品を示す図である。
以降の詳細な説明においては、添付の図面を参照し、それらの図面は、本明細書の一部を形成している。それらの図面においては、同様のシンボルは、文脈によって別段の内容が示されない限り、典型的には同様のコンポーネントを識別する。詳細な説明、図面、および特許請求の範囲に記載されている例示的な実施形態は、限定することを意図されてはいない。本明細書において提示されている主題の趣旨または範囲から逸脱することなく、その他の実施形態を利用することができ、その他の変更を行うことができる。一般的に本明細書において説明され図において示されている本開示の複数の態様は、さまざまな異なる構成で構成すること、代用すること、組み合わせること、分割すること、および設計することが可能であり、それらの構成のすべては、本明細書において明示的に考慮されているということが容易に理解できるであろう。
本開示は一般に、とりわけ、マルチコア環境におけるプロセスマネージメントに関連した方法、装置、システム、デバイス、およびコンピュータプログラム製品に引き付けられている。
かいつまんで言えば、マルチコア環境における直観的なプロセスマネージメントメカニズムに関するテクノロジーについて一般的に説明する。いくつかの例においては、複数のディスプレイスクリーンをマルチコアプロセッサの個々のコアに関連付けることができる。アプリケーションウィンドウまたはアプリケーションアイコンなど、アプリケーションプログラムに関連付けられているグラフィカル要素が、複数のディスプレイスクリーンのうちの1つの上に配置されている場合には、そのアプリケーションプログラムのプロセスを、マルチコアプロセッサの関連付けられているコアに割り振ること、および/またはマルチコアプロセッサの関連付けられているコアによって実行することが可能である。ユーザは、そのアプリケーションプログラムに関連付けられているグラフィカル要素を、ユーザインターフェースのドラッグアンドドロップオペレーション(または、その他のなんらかのオペレーション、たとえばカットアンドペーストなど)によって、ディスプレイスクリーンのうちの1つから別のディスプレイスクリーンへ効果的に移動させることができる。ユーザによるそのような操作を利用して、アプリケーションプログラムのプロセスが、別のディスプレイスクリーンに関連付けられているコアに割り振られるようにすることができ、ひいては、ユーザは、グラフィカル要素をディスプレイスクリーンどうしの間において移動させることによって、直観的にプロセスとコアの割り振りを管理して個々のコアの負荷をコントロールできるようになり得る。たとえば、ユーザが、スライド作成アプリケーションプログラムを介してプレゼンテーションスライド内に動画を組み込んでいる間に、Eメールアプリケーションプログラムを介して、Eメール内に含まれている大きなサイズの添付ファイルをダウンロードするような状況(Eメールアプリケーションプログラムおよびスライド作成アプリケーションプログラムの両方が、マルチコアプロセッサの1つのコアに割り振られている場合)は、スライド作成アプリケーションプログラムのオペレーションにおける停止をもたらす場合がある。そのようなケースにおいては、ユーザは、Eメールアプリケーションプログラムまたはスライド作成アプリケーションプログラムのどちらかをマルチコアプロセッサの別のコアに割り振ることを、対応するアプリケーションウィンドウを、マルチコアプロセッサのその別のコアに関連付けられている別のディスプレイスクリーンへ移動させることによって行うことができ、それによってユーザは、トラブルなく作業を続けることができる。
図1は、本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを使用するように構成されている説明例のシステムを概略的に示している。
示されているように、システム100は、マルチコアプロセッサ110を含むことができる。マルチコアプロセッサ110は、複数のプロセッサコア120−1、120−2、...、120−nを含むことができる。プロセッサコア120−1、120−2、...、120−nのそれぞれは、実際のコアまたはバーチャルコアとすることができる。
システム100は、複数のディスプレイスクリーン130−1、130−2、...、130−nをさらに含むことができる。いくつかの実施形態においては、ディスプレイスクリーン130−1、130−2、...、130−nを複数のディスプレイデバイス上にそれぞれ表示することができる。いくつかの実施形態においては、ディスプレイスクリーン130−1、130−2、...、130−nのすべてを単一のディスプレイデバイスにマップすることができる。そのようなケースにおいては、単一のディスプレイデバイスを用いて一度にディスプレイスクリーン130−1、130−2、...、130−nのうちの1つのみをアクティブにすることができ、または単一のディスプレイデバイス上に一度にディスプレイスクリーン130−1、130−2、...、130−nのうちの複数を表示することができる。
いくつかの実施形態においては、ディスプレイスクリーン130−1、130−2、...、130−nは、デスクトップスクリーンを含むことができる。その他のいくつかの実施形態においては、ディスプレイスクリーン130−1、130−2、...、130−nは、タスクバーを含むことができる。限定ではなく、例として、それらのタスクバーは、タッチスクリーンディスプレイデバイス上に表示することができる。
いくつかの実施形態においては、ディスプレイスクリーン130−1、130−2、...、130−nは、アプリケーションプログラムに関連付けられているグラフィカル要素140−1a、140−1b、140−2a、140−2b、...、140−naを表示することができる。いくつかの実施形態においては、グラフィカル要素140−1a、140−1b、140−2a、140−2b、...、140−naは、複数のアプリケーションウィンドウを含むことができ、それらのアプリケーションウィンドウのそれぞれは、1つのアプリケーションプログラムに関連付けられている。それぞれのアプリケーションウィンドウは、デスクトップスクリーンのうちの1つの上に表示することができる。その他のいくつかの実施形態においては、グラフィカル要素140−1a、140−1b、140−2a、140−2b、...、140−naは、複数のアプリケーションアイコンを含むことができ、それらのアプリケーションアイコンのそれぞれは、1つのアプリケーションプログラムに関連付けられている。それぞれのアプリケーションアイコンは、タスクバーのうちの1つの上に表示することができる。
いくつかの実施形態においては、ディスプレイスクリーン130−1、130−2、...、130−nのそれぞれは、プロセッサコア120−1、120−2、...、120−nのそれぞれに対応することができる。限定ではなく、例として、図1において示されているように、ディスプレイスクリーン130−1は、プロセッサコア120−1に対応することができ、ディスプレイスクリーン130−2は、プロセッサコア120−2に対応することができ、ディスプレイスクリーン130−nは、プロセッサコア120−nに対応することができる。いくつかの実施形態においては、ディスプレイスクリーン130−1、130−2、...、130−nのうちの1つの上にグラフィカル要素が表示されているアプリケーションプログラムの少なくとも1つのプロセスを、プロセッサコア120−1、120−2、...、120−nのうちの対応するプロセッサコアによって実行することができる。限定ではなく、例として、図1において示されているように、グラフィカル要素140−1aおよび140−1bに関連付けられているアプリケーションプログラムの少なくとも1つのプロセスをプロセッサコア120−1によって実行することができ、グラフィカル要素140−2aおよび140−2bに関連付けられているアプリケーションプログラムの少なくとも1つのプロセスをプロセッサコア120−2によって実行することができ、グラフィカル要素140−naに関連付けられているアプリケーションプログラムの少なくとも1つのプロセスをプロセッサコア120−nによって実行することができる。
いくつかの実施形態においては、ユーザは、グラフィカル要素140−1a、140−1b、140−2a、140−2b、...、140−naの場所をディスプレイスクリーン130−1、130−2、...、130−nの間において変更することによって、プロセス/コアの割り振りを管理することができる。限定ではなく、例として、ユーザが、ディスプレイスクリーン130−1上に配置されているグラフィカル要素140−1aをディスプレイスクリーン130−2へ効果的に移動させた場合、すなわち、グラフィカル要素140−1aが、ユーザ入力に基づいてディスプレイスクリーン130−1からディスプレイスクリーン130−2へ移動された場合には、グラフィカル要素140−1aに関連付けられているアプリケーションプログラムの少なくとも1つのプロセスを、ディスプレイスクリーン130−2に対応するプロセッサコア120−2に割り振って、そのプロセッサコア120−2によって実行することができる。
いくつかの実施形態においては、ユーザは、グラフィカルユーザインターフェースシステムを通じてグラフィカル要素140−1a、140−1b、140−2a、140−2b、...、140−naをディスプレイスクリーン130−1、130−2、...、130−nの間において効果的に移動させることができる。限定ではなく、例として、ユーザは、グラフィカル要素140−1aをディスプレイスクリーン130−1からドラッグして、グラフィカル要素140−1aをディスプレイスクリーン130−2内にドロップすることによって、グラフィカル要素140−1aをディスプレイスクリーン130−1からディスプレイスクリーン130−2へ効果的に移動させることができる。限定ではなく、例として、ユーザは、マウス、タッチスクリーン、タッチパッド、キーボード、トラックボール、ジョイスティック、またはその他の任意の入力デバイスなどのユーザインターフェースデバイスを介して、ドラッグアンドドロップを実行することができる。限定ではなく、例として、ユーザは、所定のジェスチャーを行うことによって、グラフィカル要素140−1aをディスプレイスクリーン130−1からディスプレイスクリーン130−2へ効果的に移動させることができる。すなわち、グラフィカル要素140−1aは、ユーザのジェスチャー入力に基づいてディスプレイスクリーン130−1からディスプレイスクリーン130−2へ移動させることができる。限定ではなく、例として、カメラ、タッチスクリーン、タッチパッド、ジャイロセンサおよび加速度計などのモーションセンサ、または、ジェスチャー認識機能を有するその他の任意の入力デバイスを介して、ジェスチャー入力を認識することができる。
図2は、本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを使用するように構成されているデスクトップスクリーンの説明例を概略的に示している。
図2を参照すると、ディスプレイデバイス200は、デスクトップスクリーン210−1、210−2、210−3、および210−4を一度に表示することができる。デスクトップスクリーン210−1、210−2、210−3、および210−4のそれぞれは、マルチコアプロセッサ内に含まれているプロセッサコアのうちの1つに関連付けることができる。いくつかの実施形態においては、アプリケーションウィンドウ220−1、220−2、220−3、および220−4は、デスクトップスクリーン210−1、210−2、210−3、および210−4の上にそれぞれ表示することができる。アプリケーションウィンドウ220−1、220−2、220−3、および220−4のそれぞれに対応する少なくとも1つのアプリケーションプログラムは、それぞれのデスクトップスクリーンに対応するそれぞれのプロセッサコアによって実行することができる。いくつかの実施形態においては、ユーザは、図1に関して上述したように、アプリケーションウィンドウ220−1、220−2、220−3、および220−4をデスクトップスクリーン210−1、210−2、210−3、および210−4の間において効果的に移動させることによって、アプリケーションプログラムの割り振りを管理することができる。
図2は、4つのデスクトップスクリーン210−1、210−2、210−3、および210−4がディスプレイデバイス200上に表示されていることを示しているが、任意の数のデスクトップスクリーンをディスプレイデバイス200上に表示することができるということを当業者なら理解するであろう。また、図2は、デスクトップスクリーン210−1、210−2、210−3、および210−4がディスプレイデバイス200上で2次元の平面に表示されていることを示しているが、デスクトップスクリーン210−1、210−2、210−3、および210−4はディスプレイデバイス200上で3次元の空間に表示することもできるということを当業者なら理解するであろう。
図3は、本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムにおいて採用されるデスクトップスクリーンの説明例を概略的に示している。
図3を参照すると、複数のディスプレイデバイス300−1、300−2、300−3、および300−4は、デスクトップスクリーン310−1、310−2、310−3、および310−4をそれぞれ表示することができる。デスクトップスクリーン310−1、310−2、310−3、および310−4のそれぞれは、マルチコアプロセッサ内に含まれているプロセッサコアのうちの1つに関連付けることができる。いくつかの実施形態においては、アプリケーションウィンドウ320−1、320−2、320−3、および320−4は、デスクトップスクリーン310−1、310−2、310−3、および310−4の上にそれぞれ表示することができる。アプリケーションウィンドウ320−1、320−2、320−3、および320−4のそれぞれに対応する少なくとも1つのアプリケーションプログラムは、それぞれのアプリケーションウィンドウに対応するそれぞれのプロセッサコアによって実行することができる。いくつかの実施形態においては、ユーザは、図1に関して上述したように、アプリケーションウィンドウ320−1、320−2、320−3、および320−4をデスクトップスクリーン310−1、310−2、310−3、および310−4の間において効果的に移動させることによって、アプリケーションプログラムの割り振りを管理することができる。図3は、4つのデスクトップスクリーン310−1、310−2、310−3、および310−4がディスプレイデバイス300−1、300−2、300−3、および300−4上に表示されていることを示しているが、任意の数のデスクトップスクリーンを任意の数のディスプレイデバイス上に表示することができるということを当業者なら理解するであろう。
図4〜図5は、本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムとともに機能するように構成されているポータブル電子デバイスの説明例を概略的に示している。
図4を参照すると、ポータブル電子デバイス400は、ディスプレイデバイス410と、複数のプロセッサコア(図示せず)を含むマルチコアプロセッサ(図示せず)とを含むことができる。限定ではなく、例として、ポータブル電子デバイス400は、セルラー電話デバイス、携帯情報端末デバイス、および/またはハンドヘルドビデオゲームデバイスから構成されているグループから選択することができる。
いくつかの実施形態においては、ディスプレイデバイス410は、タッチスクリーンディスプレイデバイスとすることができる。いくつかの実施形態においては、ディスプレイデバイス410は、タスクバー420および422と、アプリケーションプログラムにそれぞれ関連付けられているアプリケーションアイコン430、432、434、436、438、440、442、および444とを表示することができる。図4は、2個のタスクバー420および422と、8個のアプリケーションアイコン430、432、434、436、438、440、442、および444とがディスプレイデバイス410上に表示されていることを示しているが、任意の数のタスクバーと、任意の数のアプリケーションアイコンとをディスプレイデバイス410上に表示することができるということを当業者なら理解するであろう。また、図4は、2個のタスクバー420および422が、ポータブル電子デバイス400内に含まれているディスプレイデバイス410上に表示されていることを示しているが、1つのタスクバーは、ディスプレイデバイス410上に表示されており、その一方で、別のタスクバーは、ポータブル電子デバイス400に動作可能に結合されている外部ディスプレイデバイス上に表示されるということを当業者なら理解するであろう。
いくつかの実施形態においては、タスクバー420は、マルチコアプロセッサの第1のプロセッサコア(図示せず)に対応することができ、タスクバー422は、マルチコアプロセッサの第2のプロセッサコア(図示せず)に対応することができる。いくつかの実施形態においては、タスクバー420内に配置されているアプリケーションアイコンに関連付けられているいくつかのアプリケーションプログラムは、第1のプロセッサコアによって実行することができ、その一方で、タスクバー422内に配置されているアプリケーションアイコンに関連付けられているその他のアプリケーションプログラムは、第2のプロセッサコアによって実行することができる。たとえば、図4において示されているように、タスクバー420内に配置されているアプリケーションアイコン430、432、434、および436に関連付けられているアプリケーションプログラムは、第1のプロセッサコアによって実行することができ、その一方で、タスクバー422内に配置されているアプリケーションアイコン438、440、442、および444に関連付けられているその他のアプリケーションプログラムは、第2のプロセッサコアによって実行することができる。
いくつかの実施形態においては、ユーザは、アプリケーションアイコン430、432、434、436、438、440、442、および444をタスクバー420および422の間において効果的に移動させることによって、ポータブル電子デバイス400上で実行されるアプリケーションプログラムの割り振りを管理することができる。限定ではなく、例として、ユーザが、タスクバー420内に配置されているアプリケーションアイコン、たとえば、アプリケーションアイコン436をタスクバー422へ効果的に移動させた場合には、アプリケーションアイコン436に関連付けられているアプリケーションプログラムの少なくとも1つのプロセスを、タスクバー422に対応する第2のプロセッサコア(図示せず)に割り振って、その第2のプロセッサコアによって実行することができる。
いくつかの実施形態においては、ユーザは、グラフィカルユーザインターフェースシステムを通じてアプリケーションアイコン430、432、434、436、438、440、442、および444をタスクバー420および422の間において効果的に移動させることができる。限定ではなく、例として、ユーザは、アプリケーションアイコンをタスクバー420からドラッグして、アプリケーションアイコンをタスクバー422内にドロップすることによって、アプリケーションアイコンをタスクバー420からタスクバー422へ効果的に移動させることができる。限定ではなく、例として、ユーザは、所定のジェスチャーを行うことによって、アプリケーションアイコンをタスクバー420からタスクバー422へ効果的に移動させることができ、すなわち、アプリケーションアイコンは、ユーザのジェスチャー入力に基づいてタスクバー420からタスクバー422へ移動させることができる。限定ではなく、例として、ユーザは、アプリケーションアイコン430をドラッグして、円を描くことによって、アプリケーションアイコン432、434、および436を一括してタスクバー420からタスクバー422へ効果的に移動させること、すなわち、アプリケーションアイコン430を除いたその他のすべてのアプリケーションアイコンをタスクバー420からタスクバー422へ移動させることが可能である。ジェスチャー入力に基づいてアプリケーションアイコン432、434、および436をそのように移動させた例示的な結果が、図5において示されている。図5において示されている例では、タスクバー420内に配置されているアプリケーションアイコン430に関連付けられているアプリケーションプログラムの少なくとも1つのプロセスを第1のプロセッサコア(図示せず)によって実行することができ、その一方で、タスクバー422内に配置されているアプリケーションアイコン432、434、436、438、440、442、および444に関連付けられているアプリケーションプログラムの少なくとも1つのプロセスを第2のプロセッサコア(図示せず)によって実行することができる。
いくつかの実施形態においては、アプリケーションアイコン430、432、434、436、438、440、442、および444は、ポータブル電子デバイス400の動きに基づいてタスクバー420および422の間において移動させることができる。限定ではなく、例として、ポータブル電子デバイス400は、ジャイロセンサ(図示せず)を含むことができ、そのジャイロセンサは、ポータブル電子デバイス400の向きを検知するように構成することができる。ユーザがポータブル電子デバイス400を傾けた場合には、ジャイロセンサ(図示せず)は、ポータブル電子デバイス400の向きの変化を検知することができる。そのようなケースにおいては、アプリケーションアイコン430、432、434、436、438、440、442、および444は、ジャイロセンサ(図示せず)によって検知された向きの変化に基づいてタスクバー420および422の間において移動させることができる。限定ではなく、例として、ユーザは、アプリケーションアイコン430を指で押さえたままポータブル電子デバイス400を下に傾けることによって、アプリケーションアイコン432、434、および436を一括してタスクバー420からタスクバー422へ効果的に移動させること、すなわち、アプリケーションアイコン430を除いたその他のすべてのアプリケーションアイコンをタスクバー420からタスクバー422へ移動させることが可能である。ポータブル電子デバイス400の向きの変化に基づいてアプリケーションアイコン432、434、および436をそのように移動させた結果は、図5において示されている例と同様になると言える。
図6は、本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムとともに機能するように構成されている説明例のポータブル電子デバイスを概略的に示している。図6を参照すると、ポータブル電子デバイス400は、ディスプレイデバイス410と、複数のプロセッサコア(図示せず)を含むマルチコアプロセッサ(図示せず)とを含むことができる。
いくつかの実施形態においては、ディスプレイデバイス410は、タッチスクリーンディスプレイデバイスとすることができる。いくつかの実施形態においては、ディスプレイデバイス410は、複数のタスクバー620、622、および624と、アプリケーションプログラムにそれぞれ関連付けられている複数のアプリケーションアイコン630、632、634、636、638、640、642、644、646、648、650、652、および654とを表示することができる。限定ではなく、例として、図6において示されているように、アプリケーションアイコン630、632、634、636、638、640、および642は、タスクバー620内に配置することができ、アプリケーションアイコン644、646、648、および650は、タスクバー622内に配置することができ、アプリケーションアイコン652および654は、タスクバー624内に配置することができる。図6は、3個のタスクバーと、13個のアプリケーションアイコンとがディスプレイデバイス410上に表示されていることを示しているが、任意の数のタスクバーと、任意の数のアプリケーションアイコンとをディスプレイデバイス410上に表示することができるということを当業者なら理解するであろう。また、図6は、複数のタスクバーが、ポータブル電子デバイス400内に含まれているディスプレイデバイス410上に表示されていることを示しているが、それらのタスクバーのうちのいくつかは、ディスプレイデバイス410上に表示されており、その一方で、その他のタスクバーは、ポータブル電子デバイス400に動作可能に結合されている少なくとも1つの外部ディスプレイデバイス上に表示されるということを当業者なら理解するであろう。
いくつかの実施形態においては、タスクバー620は、マルチコアプロセッサの第1のプロセッサコア(図示せず)に対応することができ、タスクバー622は、マルチコアプロセッサの第2のプロセッサコア(図示せず)に対応することができ、タスクバー624は、マルチコアプロセッサの第3のプロセッサコア(図示せず)に対応することができる。そのようなケースにおいては、タスクバー620内に配置されているアプリケーションアイコンに関連付けられているいくつかのアプリケーションプログラムは、第1のプロセッサコアによって実行することができ、タスクバー622内に配置されているアプリケーションアイコンに関連付けられているその他のアプリケーションプログラムは、第2のプロセッサコアによって実行することができ、タスクバー624内に配置されているアプリケーションアイコンに関連付けられているその他のアプリケーションプログラムは、第3のプロセッサコアによって実行することができる。たとえば、図6において示されているように、タスクバー620内に配置されているアプリケーションアイコン630、632、634、636、638、640、および642に関連付けられているアプリケーションプログラムは、第1のプロセッサコアによって実行することができ、タスクバー622内に配置されているアプリケーションアイコン644、646、648、および650に関連付けられているアプリケーションプログラムは、第2のプロセッサコアによって実行することができ、タスクバー624内に配置されているアプリケーションアイコン652および654に関連付けられているアプリケーションプログラムは、第3のプロセッサコアによって実行することができる。
いくつかの実施形態においては、ユーザは、アプリケーションアイコン630、632、634、636、638、640、642、644、646、648、650、652、および654をタスクバー620、622、および624の間において効果的に移動させることによって、ポータブル電子デバイス400上で実行されるアプリケーションプログラムの割り振りを管理することができる。限定ではなく、例として、ユーザが、タスクバー620内に配置されているアプリケーションアイコン、たとえば、アプリケーションアイコン636をタスクバー622へ効果的に移動させた場合には、アプリケーションアイコン636に関連付けられているアプリケーションプログラムの少なくとも1つのプロセスを、タスクバー622に対応する第2のプロセッサコア(図示せず)に割り振って、その第2のプロセッサコアによって実行することができる。
いくつかの実施形態においては、タスクバー620、622、および624は、その所望の負荷ステータスを示すように選択されている色を伴ってレンダリングすることができる。限定ではなく、例として、あるタスクバーに対応するプロセッサコアが第1のステータス状態(たとえば、通常の状態)にある場合には、そのタスクバーは、第1の色(たとえば、緑色)でレンダリングすることができる。限定ではなく、例として、あるタスクバーに対応するプロセッサコアが第2のステータス状態(たとえば、比較的多数のプロセスがそのプロセッサコアに割り振られて、そのプロセッサコアによって実行されている、ビジーな状態)にある場合には、そのタスクバーは、第2の色(たとえば、黄色)でレンダリングすることができる。限定ではなく、例として、あるタスクバーに対応するプロセッサコアが第3のステータス状態(たとえば、非常に多数のプロセスがそのプロセッサコアに割り振られて、そのプロセッサコアによって実行されている、非常にビジーな状態)にある場合には、そのタスクバーは、第3の色(たとえば、赤色)でレンダリングすることができる。それらの色は、緑色、黄色、および赤色に限定されないということを当業者なら理解するであろう。その上、「通常」、「ビジー」、および「非常にビジー」という上述のステータス状態よりも多くのまたは少ないステータス状態も考えられる。
いくつかの実施形態においては、ディスプレイデバイス410は、コンテキストメニューバー660を表示するようにさらに構成することができる。限定ではなく、例として、ユーザは、たとえば、ディスプレイデバイス410を押したまま保持することなど、所定のジェスチャーを行うことによって、コンテキストメニューバー660の表示をトリガーすることができる。
いくつかの実施形態においては、コンテキストメニューバー660は、いくつかの所定のタスク割り当てスキームをユーザに提供するためのコンテキストメニューアイコン670、672、および674を含むことができる。限定ではなく、例として、コンテキストメニューアイコン670は、加重タスク割り当てスキームに関連付けることができ、コンテキストメニューアイコン672は、均等タスク割り当てスキームに関連付けることができ、コンテキストメニューアイコン674は、使用頻度タスク割り当てスキームに関連付けることができる。
限定ではなく、例として、ユーザがコンテキストメニューアイコン670(たとえば、加重タスク割り当てスキーム)を選択した場合には、アプリケーションプログラムの少なくとも1つのプロセスを、加重タスク割り当てスキームに従って、第1、第2、および第3のプロセッサコアに割り振って、第1、第2、および第3のプロセッサコアによって実行することができる。そのようなケースにおいては、1つのプロセッサコアに割り振られるプロセスの数は、別のプロセッサコアに割り振られるプロセスの数とは異なると言える。すなわち、第1、第2、および第3のプロセッサコアのそれぞれは、別々の数のプロセスを実行することができる。限定ではなく、例として、最も少ない数のプロセスを第1のプロセッサコアに割り振って、第1のプロセッサコアによって実行することができ、その一方で、最も多い数のプロセスを第3のプロセッサコアに割り振って、第3のプロセッサコアによって実行することができる。そのようなケースにおいては、第1のプロセッサコアは、最も速いスピードで機能することができ、その一方で、第3のプロセッサコアは、最も遅いスピードで機能することができる。
限定ではなく、例として、ユーザがコンテキストメニューアイコン672(たとえば、均等タスク割り当てスキーム)を選択した場合には、アプリケーションプログラムの少なくとも1つのプロセスを、均等タスク割り当てスキームに従って、第1、第2、および第3のプロセッサコアに割り振って、第1、第2、および第3のプロセッサコアによって実行することができる。そのようなケースにおいては、1つのプロセッサコアに割り振られるプロセスの数は、別のプロセッサコアに割り振られるプロセスの数とほとんど同じであると言える。すなわち、第1、第2、および第3のプロセッサコアは、同じまたは同等の数のプロセスを実行することができる。
限定ではなく、例として、ユーザがコンテキストメニューアイコン674(たとえば、使用頻度タスク割り当てスキーム)を選択した場合には、アプリケーションプログラムの少なくとも1つのプロセスが、使用頻度タスク割り当てスキームに従って、第1、第2、および第3のプロセッサコアに割り振られて、第1、第2、および第3のプロセッサコアによって実行される。そのようなケースにおいては、ユーザによって頻繁に使用されるアプリケーションプログラムに関連付けられているプロセスを、最も速いスピードで機能するプロセッサコアに割り振ることができる。
図7は、本明細書に記載されている少なくともいくつかの実施形態による、マルチコア環境におけるプロセスマネージメントメカニズムを利用するように構成されている電子デバイスの説明例の概略ブロック図を示している。示されているように、電子デバイス700は、プロセッサ710、メモリ720、グラフィカルユーザインターフェース(GUI)システム730、プロセス/コア割り振りモジュール740、およびオペレーティングシステム(OS)750を含むことができる。さまざまなコンポーネントは、別々のコンポーネントとして示されているが、所望の実施態様に応じて、さらなるコンポーネントへと分割すること、より少ないコンポーネントへと統合すること、または省略することが可能である。
プロセッサ710は、メモリ720内に格納されているアプリケーションプログラムの命令を実行するように構成することができる。いくつかの実施形態においては、プロセッサ710は、複数のプロセッサコア760−1、760−2、...、760−nを含むマルチコアプロセッサとすることができる。プロセッサコア760−1、760−2、...、760−nのそれぞれは、実際のコアまたはバーチャルコアとすることができる。
メモリ720は、プロセッサ710に動作可能に結合することができ、少なくとも1つのプロセスを含むアプリケーションプログラムを格納するように構成することができる。限定ではなく、例として、メモリ720は、揮発性メモリ(たとえばRAM)、不揮発性メモリ(たとえばROM、フラッシュメモリなど)、またはそれらの任意の組合せを含む任意のタイプのものとすることができる。
グラフィカルユーザインターフェースシステム730は、たとえば、デスクトップスクリーンまたはタスクバーなど、複数のディスプレイスクリーン(図示せず)を提供するように構成することができる。いくつかの実施形態においては、それらの複数のディスプレイスクリーンは、プロセッサコア760−1、760−2、...、760−nにそれぞれ対応することができる。
いくつかの実施形態においては、グラフィカルユーザインターフェースシステム730は、アプリケーションマネージメントモジュール770を含むことができる。アプリケーションマネージメントモジュール770は、メモリ720内に格納されているアプリケーションプログラムの少なくとも1つのプロセスに関連付けられているグラフィカル要素(たとえば、アプリケーションウィンドウまたはアプリケーションアイコンなど)の位置を管理するように構成することができる。
いくつかの実施形態においては、グラフィカルユーザインターフェースシステム730は、ディスプレイスクリーンマネージメントモジュール780をさらに含むことができる。ディスプレイスクリーンマネージメントモジュール780は、アプリケーションマネージメントモジュール770に動作可能に結合することができ、アプリケーションプログラムの少なくとも1つのプロセスと、複数のディスプレイスクリーンのうちの1つとの間における関連付けを管理するように構成することができる。
プロセス/コア割り振りモジュール740は、アプリケーションプログラムの少なくとも1つのプロセスに関連付けられているグラフィカル要素の、複数のディスプレイスクリーンの間における移動を検知するように構成することができる。いくつかの実施形態においては、プロセス/コア割り振りモジュール740は、ユーザ入力に基づいてグラフィカル要素の移動を検知するように構成することができる。限定ではなく、例として、そのユーザ入力は、第1のディスプレイスクリーンからのグラフィカル要素の移動の開始をドラッグまたはその他の形で引き起こして、それに続いて、第2のディスプレイスクリーンへのグラフィカル要素の移動の位置決めまたは終了をドロップまたはその他の形で引き起こすこと、とすることができる。
オペレーティングシステム750は、プロセスマネージメントモジュール790を含むことができる。プロセスマネージメントモジュール790は、アプリケーションプログラムの少なくとも1つのプロセスをプロセッサコア760−1、760−2、...、760−nのうちの1つに割り振るように構成することができる。いくつかの実施形態においては、第1のディスプレイスクリーンおよび第2のディスプレイスクリーンが、それぞれ第1のプロセッサコアおよび第2のプロセッサコアに対応していて、アプリケーションプログラムの少なくとも1つのプロセスに関連付けられているグラフィカル要素の、第1のディスプレイスクリーンから第2のディスプレイスクリーンへの移動が検知されるケースにおいては、プロセスマネージメントモジュール790は、グラフィカル要素の移動の検知に基づいて、アプリケーションプログラムのその少なくとも1つのプロセスを第2のコアに割り振ることができる。
いくつかの実施形態においては、プロセス/コアの割り振りをユーザに完全にコントロールさせる代わりに、ユーザは、タスクの優先度を指定することができ、プロセスマネージメントモジュール790は、指定された優先度を考慮して割り振りを実行することができる。
図8は、本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを機能させるように適合されている方法の例示的な流れ図を示している。図8における例示的な方法800は、たとえば、第1のコアおよび第2のコアを含むプロセッサと、オペレーティングシステムと、オペレーティングシステムに動作可能に結合されているプロセス/コア割り振りモジュールと、第1のコアおよび第2のコアにそれぞれ関連付けられている第1のディスプレイスクリーンおよび第2のディスプレイスクリーンを提供するように構成されている、プロセス/コア割り振りモジュールに動作可能に結合されたグラフィカルユーザインターフェースシステムとを含む電子デバイスを使用して、実施することができる。限定ではなく、例として、ディスプレイスクリーンは、デスクトップスクリーンまたはタスクバーを含むことができる。
方法800は、ブロックS810、S820、S830、S840、および/またはS850のうちの1つまたは複数によって示されているような1つまたは複数のオペレーション、アクション、または機能を含むことができる。さまざまなブロックは、別々のブロックとして示されているが、所望の実施態様に応じて、さらなるブロックへと分割すること、より少ないブロックへと統合すること、または省略することが可能である。方法800は、ブロックS810において開始することができる。
ブロックS810においては、電子デバイスは、第1のコアによって実行される、アプリケーションプログラムの少なくとも1つのプロセスに関連付けられているグラフィカル要素を第1のディスプレイスクリーン上に表示するように適合することができる。いくつかの実施形態においては、グラフィカルユーザインターフェースシステムが、そのグラフィカル要素を第1のディスプレイスクリーン上に表示することができる。限定ではなく、例として、そのグラフィカル要素は、デスクトップスクリーン上に表示されるアプリケーションウィンドウ、またはタスクバー上に表示されるアプリケーションアイコンを含むことができる。ブロックS810の後には、ブロックS820が続くことができる。
ブロックS820においては、電子デバイスは、第1のディスプレイスクリーンから第2のディスプレイスクリーンへのグラフィカル要素の移動を検知するように適合することができる。いくつかの実施形態においては、プロセス/コア割り振りモジュールが、グラフィカルユーザインターフェースシステムを通じたユーザ入力に基づいて、第1のディスプレイスクリーンから第2のディスプレイスクリーンへのグラフィカル要素の移動を検知することができる。いくつかの実施形態においては、そのユーザ入力は、第1のディスプレイスクリーンからのグラフィカル要素の移動の開始をドラッグまたはその他の形で引き起こして、それに続いて、第2のディスプレイスクリーンへのグラフィカル要素の移動の位置決めまたは終了をドロップまたはその他の形で引き起こすことを含むことができる。いくつかの実施形態においては、そのユーザ入力は、電子デバイス内に含まれているタッチスクリーンディスプレイデバイス上で検知されるジェスチャーに関連付けることができる。いくつかの実施形態においては、そのユーザ入力は、電子デバイス内に含まれているジャイロセンサによって検知される電子デバイスの動きに関連付けることができる。ブロックS820の後には、ブロックS830が続くことができる。
ブロックS830においては、電子デバイスは、プロセス/コア割り振り命令を生成するように適合することができる。いくつかの実施形態においては、プロセス/コア割り振りモジュールが、検知された移動に基づいてプロセス/コア割り振り命令を生成することができる。ブロックS830の後には、ブロックS840が続くことができる。
ブロックS840においては、電子デバイスは、アプリケーションプログラムの少なくとも1つのプロセスを第2のコアに割り振るように適合することができる。いくつかの実施形態においては、オペレーティングシステムが、プロセス/コア割り振りモジュールからプロセス/コア割り振り命令を受け取って、アプリケーションプログラムの少なくとも1つのプロセスを第2のコアに割り振ることができる。ブロックS840の後には、ブロックS850が続くことができる。
ブロックS850においては、電子デバイスは、第2のコアによってアプリケーションプログラムの少なくとも1つのプロセスを実行するように適合することができる。
図8は、デュアルコアプロセッサおよび2つのディスプレイスクリーンが、採用されている2つのコアにそれぞれ対応していることを示しているが、任意の数のコアおよび任意の数のディスプレイスクリーンを採用することができるということを当業者なら理解するであろう。また、図8は、ユーザがグラフィカル要素を第1のディスプレイスクリーンから第2のディスプレイスクリーンへ移動させることを示しているが、上述の例示的な方法は、ユーザがグラフィカル要素を第2のディスプレイスクリーンから第1のディスプレイスクリーンへ移動させるケースにおいても適切に適用することができるということを当業者なら理解するであろう。
本明細書において開示されているこの方法およびその他の方法にとって、これらの方法において実行される機能は、別の順序でも実施することができるということを当業者なら理解するであろう。さらに、概説されているステップおよびオペレーションは、例として提供されているにすぎず、それらのステップおよびオペレーションのうちのいくつかは、開示されている実施形態の本質を損なうことなく、任意選択とすること、より少ないステップおよびオペレーションへと統合すること、またはさらなるステップおよびオペレーションへと拡張することが可能である。
図9は、本明細書に記載されている少なくともいくつかの実施形態に従って構成されている、マルチコア環境におけるプロセスマネージメントメカニズムを機能させるように構成することができる例示的なコンピューティングシステムを示す概略ブロック図を示している。図9において示されているように、コンピュータ900は、プロセッサ910、メモリ920、および1つまたは複数のドライブ930を含むことができる。コンピュータ900は、従来のコンピュータシステム、組み込み型コントロールコンピュータ、ラップトップ、またはサーバコンピュータ、モバイルデバイス、セットトップボックス、キオスク、乗り物情報システム、モバイル電話、カスタマイズされたマシン、またはその他のハードウェアプラットフォームとして実装することができる。
ドライブ930およびそれらの関連付けられているコンピュータストレージ媒体は、コンピュータ900のためのコンピュータ可読命令、データ構造、プログラムモジュール、およびその他のデータの格納を提供することができる。ドライブ930は、グラフィカルユーザインターフェース(GUI)システム940、プロセス/コア割り振りモジュール950、オペレーティングシステム(OS)960、およびアプリケーションプログラム970を含むことができる。グラフィカルユーザインターフェース(GUI)システム940は、アプリケーションマネージメントモジュール942およびディスプレイスクリーンマネージメントモジュール944を含むことができる。オペレーティングシステム(OS)960は、プロセスマネージメントモジュール962を含むことができる。
コンピュータ900は、ユーザ入力デバイス980をさらに含むことができ、そのユーザ入力デバイス980を通じて、ユーザは、コマンドおよびデータを入力することができる。入力デバイスは、電子デジタイザ、カメラ、マイクロフォン、キーボード、および、一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティングデバイスを含むことができる。その他の入力デバイスは、ジョイスティック、ゲームパッド、衛星放送受信用アンテナ、スキャナなどを含むことができる。
これらおよびその他の入力デバイスは、システムバスに結合されているユーザ入力インターフェースを通じてプロセッサ910に結合することができるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)など、その他のインターフェースおよびバス構造によって結合することもできる。コンピュータ900などのコンピュータは、出力周辺インターフェース985などを通じて結合することができる、ディスプレイデバイスなどのその他の周辺出力デバイスを含むこともできる。
コンピュータ900は、ネットワークインターフェース990に結合されているリモートコンピュータなど、1つまたは複数のコンピュータへの論理接続を使用して、ネットワーク化された環境において機能することができる。そのリモートコンピュータは、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピアデバイス、またはその他の一般的なネットワークノードとすることができ、コンピュータ900に関連して上述した要素のうちの多くまたはすべてを含むことができる。
ネットワーキング環境は、オフィス、エンタープライズワイドエリアネットワーク(WAN)、ローカルエリアネットワーク(LAN)、イントラネット、およびインターネットにおいてよく見受けられる。LANまたはWLANネットワーキング環境において使用される場合には、コンピュータ900は、ネットワークインターフェース990またはアダプタを通じてLANに結合することができる。WANネットワーキング環境において使用される場合には、コンピュータ900は、典型的には、インターネットまたはネットワーク995などのWAN上で通信を確立するためのモデムまたはその他の手段を含む。WANは、インターネット、示されているネットワーク995、さまざまなその他のネットワーク、またはそれらの任意の組合せを含むことができる。コンピュータどうしの間において通信リンク、リング、メッシュ、バス、クラウド、またはネットワークを確立するためのその他のメカニズムを使用することもできるということがわかるであろう。
いくつかの実施形態においては、コンピュータ900は、ネットワーキング環境に結合することができる。コンピュータ900は、ドライブ930またはその他のストレージデバイスに関連付けられている1つまたは複数の物理的なコンピュータ可読ストレージ媒体の1つまたは複数のインスタンスを含むことができる。システムバスは、プロセッサ910がコンピュータ可読ストレージ媒体へ/からコードおよび/またはデータを読み取ることを可能にすることができる。それらの媒体は、任意の適切なテクノロジーを使用して実装されるストレージ要素の形態の装置に相当することができ、そうした任意の適切なテクノロジーとしては、半導体、磁性材料、光学媒体、電気ストレージ、電気化学ストレージ、またはその他の任意のそのようなストレージテクノロジーが含まれるが、それらには限定されない。それらの媒体は、RAM、ROM、フラッシュ、またはその他のタイプの揮発性もしくは不揮発性メモリテクノロジーとして特徴付けられているかどうかを問わず、メモリ920に関連付けられているコンポーネントに相当することができる。それらの媒体は、ストレージドライブ930として実装されるか、またはその他の形で実装されるかを問わず、セカンダリーストレージに相当することもできる。ハードドライブの実装形態は、ソリッドステートとして特徴付けることができ、または磁気的にエンコードされた情報を格納する回転媒体を含むことができる。
プロセッサ910は、任意の数のトランジスタまたはその他の回路素子から構築することができ、それらのトランジスタまたは回路素子は、個々にまたは集合的に任意の数の状態を担うことができる。より具体的には、プロセッサ910は、状態マシンまたは有限状態マシンとして機能することができる。そのようなマシンは、実行可能命令をロードすることによって、第2のマシン、または固有のマシンに変換することができる。それらのコンピュータ実行可能命令は、プロセッサ910が状態どうしの間においてどのように遷移するかを指定して、それによって、プロセッサ910を構成しているトランジスタまたはその他の回路素子を第1のマシンから第2のマシンへ変換することによって、プロセッサ910を変換することができる。いずれのマシンの状態も、ユーザ入力デバイス980、ネットワークインターフェース990、その他の周辺機器、その他のインターフェース、または1人もしくは複数のユーザもしくはその他の行為者から入力を受け取ることによって、変換することもできる。いずれのマシンも、プリンタ、スピーカー、ビデオディスプレイ、またはその他などのさまざまな出力デバイスの状態、またはさまざまな物理的な特徴を変換することもできる。
図10は、本明細書に記載されている少なくともいくつかの実施形態による、マルチコア環境におけるプロセスマネージメントメカニズムを機能させるために利用することができるコンピュータプログラム製品1000を示している。プログラム製品1000は、信号担持伝達媒体1002を含むことができる。信号担持媒体1002は、1つまたは複数の命令1004を含むことができ、それらの命令1004は、たとえば、プロセッサによって実行された場合に、図1〜図9に関して上述した機能を提供することができる。例として、命令1004は、第1のコアに対応する第1のディスプレイスクリーン上で第1のコアによって実行されるアプリケーションプログラムの少なくとも1つのプロセスに関連付けられているグラフィカル要素を表示するための1つもしくは複数の命令、第1のディスプレイスクリーンから、第2のコアに対応する第2のディスプレイスクリーンへのグラフィカル要素の移動を検知するための1つもしくは複数の命令、またはアプリケーションプログラムの少なくとも1つのプロセスを第2のコアに割り振るための1つもしくは複数の命令を含むことができる。したがって、たとえば図7を参照すると、電子デバイス700は、命令1004に応答して、図8において示されているブロックのうちの1つまたは複数に着手することができる。
いくつかの実装形態においては、信号担持媒体1002は、コンピュータ可読媒体1006を含むことができ、コンピュータ可読媒体1006は、ハードディスクドライブ、コンパクトディスク(CD)、デジタルビデオディスク(DVD)、デジタルテープ、メモリなどであるが、それらには限定されない。いくつかの実装形態においては、信号担持媒体1002は、記録可能媒体1008を含むことができ、記録可能媒体1008は、メモリ、R/W(read/write) CD、R/W DVDなどであるが、それらには限定されない。いくつかの実装形態においては、信号担持媒体1002は、通信媒体1010を含むことができ、通信媒体1010は、デジタル通信媒体および/またはアナログ通信媒体(たとえば、光ファイバケーブル、導波管、有線通信リンク、ワイヤレス通信リンク等)などであるが、それらには限定されない。したがって、たとえば、プログラム製品1000は、RF信号担持媒体1002によって電子デバイス700の1つまたは複数のモジュールに搬送することができ、この場合、信号担持媒体1002は、ワイヤレス通信媒体1010(たとえば、IEEE802.11標準に準拠しているワイヤレス通信媒体)によって搬送される。
本開示は、本出願において説明されている特定の実施形態の観点から限定されるものではなく、それらの実施形態は、さまざまな態様の例示として意図されている。当業者にとっては明らかであろうが、本開示の趣旨および範囲から逸脱することなく、多くの修正および変形を行うことができる。本明細書において列挙されている方法および装置に加えて、本開示の範囲内にある機能的に均等な方法および装置は、前述の説明から当業者にとって明らかであろう。そのような修正および変形は、添付の特許請求の範囲の範疇内に収まるように意図されている。本開示は、添付の特許請求の範囲、ならびに、そのような特許請求の範囲が付与される均等物の全範囲の観点によってのみ限定されるものである。本開示は、特定の方法、試薬、化合物、組成、または生体系(これらは、もちろん、さまざまなものでありうる)に限定されるものではないということを理解されたい。本明細書において使用されている用語は、特定の実施形態を説明することのみを目的としており、限定することを意図されているものではないということも理解されたい。
本明細書に記載された主題は、さまざまなコンポーネントをしばしば例示しており、これらのコンポーネントは、他のさまざまなコンポーネントに包含されるか、または他のさまざまなコンポーネントに接続される。そのように図示されたアーキテクチャは、単に例にすぎず、実際には、同じ機能を実現する多くの他のアーキテクチャが実装可能であることが理解されよう。概念的な意味で、同じ機能を実現するコンポーネントの任意の構成は、所望の機能が実現されるように効果的に「関連付け」される。したがって、特定の機能を実現するために組み合わされた、本明細書における任意の2つのコンポーネントは、アーキテクチャまたは中間のコンポーネントにかかわらず、所望の機能が実現されるように、お互いに「関連付け」されていると見ることができる。同様に、そのように関連付けされた任意の2つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に接続」または「動作可能に結合」されていると見なすこともでき、そのように関連付け可能な任意の2つのコンポーネントは、所望の機能を実現するために、互いに「動作可能に結合できる」と見なすこともできる。動作可能に結合できる場合の具体例には、物理的にかみ合わせ可能な、および/もしくは物理的に相互作用するコンポーネント、ならびに/またはワイヤレスに相互作用可能な、および/もしくはワイヤレスに相互作用するコンポーネント、ならびに/または論理的に相互作用する、および/もしくは論理的に相互作用可能なコンポーネントが含まれるが、それらに限定されない。
本明細書における実質的にすべての複数形および/または単数形の用語の使用に対して、当業者は、状況および/または用途に適切なように、複数形から単数形に、および/または単数形から複数形に変換することができる。さまざまな単数形/複数形の置き換えは、理解しやすいように、本明細書で明確に説明することができる。
通常、本明細書において、特に添付の特許請求の範囲(たとえば、添付の特許請求の範囲の本体部)において使用される用語は、全体を通じて「オープンな(open)」用語として意図されていることが、当業者には理解されよう(たとえば、用語「含む(including)」は、「含むがそれに限定されない(including but not limited to)」と解釈されるべきであり、用語「有する(having)」は、「少なくとも有する(having at least)」と解釈されるべきであり、用語「含む(includes)」は、「含むがそれに限定されない(includes but is not limited to)」と解釈されるべきである、など)。導入される請求項で具体的な数の記載が意図される場合、そのような意図は、当該請求項において明示的に記載されることになり、そのような記載がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。たとえば、理解の一助として、添付の特許請求の範囲は、導入句「少なくとも1つの(at least one)」および「1つまたは複数の(one or more)」を使用して請求項の記載を導くことを含む場合がある。しかし、そのような句の使用は、同一の請求項が、導入句「1つまたは複数の」または「少なくとも1つの」および「a」または「an」などの不定冠詞を含む場合であっても、不定冠詞「a」または「an」による請求項の記載の導入が、そのように導入される請求項の記載を含む任意の特定の請求項を、単に1つのそのような記載を含む実施形態に限定する、ということを示唆していると解釈されるべきではない(たとえば、「a」および/または「an」は、「少なくとも1つの」または「1つまたは複数の」を意味すると解釈されるべきである)。同じことが、請求項の記載を導入するのに使用される定冠詞の使用にも当てはまる。また、導入される請求項の記載で具体的な数が明示的に記載されている場合でも、そのような記載は、少なくとも記載された数を意味すると解釈されるべきであることが、当業者には理解されよう(たとえば、他の修飾語なしでの「2つの記載(two recitations)」の単なる記載は、少なくとも2つの記載、または2つ以上の記載を意味する)。さらに、「A、BおよびC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(たとえば、「A、B、およびCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。「A、B、またはC、などの少なくとも1つ」に類似の慣例表現が使用されている事例では、通常、そのような構文は、当業者がその慣例表現を理解するであろう意味で意図されている(たとえば、「A、B、またはCの少なくとも1つを有するシステム」は、Aのみ、Bのみ、Cのみ、AおよびBを共に、AおよびCを共に、BおよびCを共に、ならびに/またはA、B、およびCを共に、などを有するシステムを含むが、それに限定されない)。2つ以上の代替用語を提示する事実上いかなる離接する語および/または句も、明細書、特許請求の範囲、または図面のどこにあっても、当該用語の一方(one of the terms)、当該用語のいずれか(either of the terms)、または両方の用語(both terms)を含む可能性を企図すると理解されるべきであることが、当業者にはさらに理解されよう。たとえば、句「AまたはB」は、「A」または「B」あるいは「AおよびB」の可能性を含むことが理解されよう。
加えて、本開示の特徴または態様がマーカッシュグループの点から記載されている場合には、それによって、本開示は、そのマーカッシュグループの任意の個々のメンバーまたはメンバーのサブグループの点からも記載されているということを当業者なら認識するであろう。
当業者なら理解するであろうが、書面による説明を提供するという点からなど、ありとあらゆる目的のために、本明細書において開示されているすべての範囲は、ありとあらゆる可能なサブ範囲およびそれらのサブ範囲の組合せも包含する。列挙されているいかなる範囲も、その同じ範囲が、少なくとも2等分、3等分、4等分、5等分、10等分などへと分割されることを十分に記述するものとして、かつ可能にするものとして容易に認識することができる。非限定的な例として、本明細書において論じられているそれぞれの範囲は、下の3分の1、真ん中の3分の1、および上の3分の1などへと容易に分割することができる。やはり当業者なら理解するであろうが、たとえば「まで(up to)」、「少なくとも(at least)」などのすべての言葉は、挙げられている数を含み、上述のように後でサブ範囲へと分割することが可能な範囲を指す。最後に、当業者なら理解するであろうが、範囲は、それぞれの個々のメンバーを含む。したがって、たとえば、1〜3個のセルを有するグループは、1、2、または3個のセルを有するグループを指す。同様に、1〜5個のセルを有するグループは、1、2、3、4、または5個のセルを有するグループを指す、といった具合である。
本開示のさまざまな実施形態は、例示の目的で本明細書に記載されているということ、ならびに、本開示の範囲および趣旨から逸脱することなく、さまざまな修正を行うことができるということが、前述の内容からわかるであろう。したがって、本明細書において開示されているさまざまな実施形態は、限定することを意図するものではなく、真の範囲および趣旨は、添付の特許請求の範囲によって示されている。

Claims (41)

  1. 第1のコアおよび第2のコアを含むプロセッサと、オペレーティングシステムと、前記オペレーティングシステムに動作可能に結合されているプロセス/コア割り振りモジュールと、第1のディスプレイスクリーンおよび第2のディスプレイスクリーンを提供するように構成されている、前記プロセス/コア割り振りモジュールに動作可能に結合されたグラフィカルユーザインターフェースシステムであり、前記第1のディスプレイスクリーンおよび前記第2のディスプレイスクリーンが、前記第1のコアおよび前記第2のコアにそれぞれ関連付けられている、グラフィカルユーザインターフェースシステムとを含む電子デバイスのための方法であって、
    前記グラフィカルユーザインターフェースシステムによって、アプリケーションプログラムの少なくとも1つのプロセスに関連付けられているグラフィカル要素を前記第1のディスプレイスクリーン上に表示することであり、前記アプリケーションプログラムの前記少なくとも1つのプロセスが、前記第1のコアによって実行されること、
    前記プロセス/コア割り振りモジュールによって、前記第1のディスプレイスクリーンから前記第2のディスプレイスクリーンへの前記グラフィカル要素の移動を検知すること、および
    前記オペレーティングシステムによって、前記第1のディスプレイスクリーンから前記第2のディスプレイスクリーンへの前記グラフィカル要素の移動の検知に応じて、前記アプリケーションプログラムの前記少なくとも1つのプロセスを前記第1のコアから前記第2のコアに割り振ることを含む方法。
  2. 前記第1のコアおよび前記第2のコアのうちの少なくとも1つが、バーチャルコアを含む、請求項1に記載の方法。
  3. 前記第1のディスプレイスクリーンが、第1のデスクトップスクリーンに対応し、前記第2のディスプレイスクリーンが、前記第1のデスクトップスクリーンとは異なる第2のデスクトップスクリーンに対応する、請求項1に記載の方法。
  4. 前記アプリケーションプログラムの前記少なくとも1つのプロセスに関連付けられている前記グラフィカル要素が、前記第1のデスクトップスクリーンまたは前記第2のデスクトップスクリーンのどちらかの上に表示されるアプリケーションウィンドウを含む、請求項3に記載の方法。
  5. 前記第1のディスプレイスクリーンが、第1のディスプレイデバイス上に表示され、前記第2のディスプレイスクリーンが、前記第1のディスプレイデバイスとは異なる第2のディスプレイデバイス上に表示される、請求項1に記載の方法。
  6. 前記第1のディスプレイスクリーンおよび前記第2のディスプレイスクリーンが、単一のディスプレイデバイス上に同時に表示される、請求項1に記載の方法。
  7. 前記第1のディスプレイスクリーンまたは前記第2のディスプレイスクリーンのどちらかが、単一のディスプレイデバイス上に表示される、請求項1に記載の方法。
  8. 前記第1のディスプレイスクリーンが、第1のタスクバーに対応し、前記第2のディスプレイスクリーンが、第2のタスクバーに対応する、請求項1に記載の方法。
  9. 前記アプリケーションプログラムの前記少なくとも1つのプロセスに関連付けられている前記グラフィカル要素が、前記第1のタスクバーまたは前記第2のタスクバーのどちらかの上に表示されるアプリケーションアイコンを含む、請求項8に記載の方法。
  10. 前記電子デバイスが、タッチスクリーンディスプレイデバイスをさらに含み、前記第1のタスクバーおよび前記第2のタスクバーのうちの少なくとも1つが、前記タッチスクリーンディスプレイデバイス上に表示される、請求項8に記載の方法。
  11. 前記検知することが、前記グラフィカルユーザインターフェースシステムを通じたユーザ入力に基づく、請求項1に記載の方法。
  12. 前記ユーザ入力が、前記アプリケーションプログラムの前記少なくとも1つのプロセスに関連付けられている前記グラフィカル要素を前記第1のディスプレイスクリーンからドラッグして、それに続いて、前記アプリケーションプログラムの前記少なくとも1つのプロセスに関連付けられている前記グラフィカル要素を前記第2のディスプレイスクリーン内にドロップすることを含む、請求項11に記載の方法。
  13. 前記電子デバイスが、タッチスクリーンディスプレイデバイスをさらに含み、前記ユーザ入力が、前記タッチスクリーンディスプレイデバイス上で検知されるジェスチャーに関連付けられている、請求項11に記載の方法。
  14. 前記電子デバイスが、ジャイロセンサをさらに含み、前記ユーザ入力が、前記ジャイロセンサによって検知される前記電子デバイスの動きに関連付けられている、請求項11に記載の方法。
  15. 前記電子デバイスが、ポータブル電子デバイスである、請求項1に記載の方法。
  16. 前記ポータブル電子デバイスが、セルラー電話デバイス、携帯情報端末デバイス、およびハンドヘルドビデオゲームデバイスから構成されているグループから選択されたものである、請求項15に記載の方法。
  17. 第1のコアおよび第2のコアを含むプロセッサと、
    少なくとも1つのプロセスを含むアプリケーションプログラムを格納するように構成されている、前記プロセッサに動作可能に結合されたメモリと、
    第1のディスプレイスクリーンおよび第2のディスプレイスクリーンを提供するように構成されているグラフィカルユーザインターフェースシステムであり、前記第1のディスプレイスクリーンおよび前記第2のディスプレイスクリーンが、前記第1のコアおよび前記第2のコアにそれぞれ関連付けられている、グラフィカルユーザインターフェースシステムと、
    前記アプリケーションプログラムの前記少なくとも1つのプロセスを前記第1のコアまたは前記第2のコアのどちらかに割り振るように構成されているプロセスマネージメントモジュールと、
    前記プロセスマネージメントモジュールに動作可能に結合されているプロセス/コア割り振りモジュールと
    を含む電子デバイスであって、
    前記プロセス/コア割り振りモジュールが、前記第1のディスプレイスクリーンから前記第2のディスプレイスクリーンへのグラフィカル要素の移動を検知するように構成されており、前記グラフィカル要素が、前記アプリケーションプログラムの前記少なくとも1つのプロセスに関連付けられており、前記アプリケーションプログラムの前記少なくとも1つのプロセスが、前記第1のコア上で実行され、
    前記プロセスマネージメントモジュールが、前記アプリケーションプログラムの前記少なくとも1つのプロセスに関連付けられている前記グラフィカル要素の前記移動の前記検知に基づいて、前記アプリケーションプログラムの前記少なくとも1つのプロセスを前記第1のコアから前記第2のコアに割り振るようにさらに構成されている、電子デバイス。
  18. 前記第1のコアおよび前記第2のコアのうちの少なくとも1つが、バーチャルコアを含む、請求項17に記載の電子デバイス。
  19. 前記第1のディスプレイスクリーンが、第1のディスプレイデバイス上に表示され、前記第2のディスプレイスクリーンが、前記第1のディスプレイデバイスとは異なる第2のディスプレイデバイス上に表示される、請求項17に記載の電子デバイス。
  20. 前記第1のディスプレイスクリーンおよび前記第2のディスプレイスクリーンが、単一のディスプレイデバイス上に同時に表示される、請求項17に記載の電子デバイス。
  21. 前記第1のディスプレイスクリーンまたは前記第2のディスプレイスクリーンのどちらかが、単一のディスプレイデバイス上に表示される、請求項17に記載の電子デバイス。
  22. 前記第1のディスプレイスクリーンが、第1のデスクトップスクリーンに対応し、前記第2のディスプレイスクリーンが、前記第1のデスクトップスクリーンとは異なる第2のデスクトップスクリーンに対応し、前記アプリケーションプログラムの前記少なくとも1つのプロセスに関連付けられている前記グラフィカル要素が、前記第1のデスクトップスクリーンまたは前記第2のデスクトップスクリーンのどちらかの上に表示されるアプリケーションウィンドウを含む、請求項17に記載の電子デバイス。
  23. 前記第1のディスプレイスクリーンが、第1のタスクバーに対応し、前記第2のディスプレイスクリーンが、第2のタスクバーに対応し、前記アプリケーションプログラムの前記少なくとも1つのプロセスに関連付けられている前記グラフィカル要素が、前記第1のタスクバーまたは前記第2のタスクバーのどちらかの上に表示されるアプリケーションアイコンを含む、請求項17に記載の電子デバイス。
  24. 前記グラフィカルユーザインターフェースシステムが、
    前記アプリケーションプログラムの前記少なくとも1つのプロセスに関連付けられている前記グラフィカル要素の位置を管理するように構成されているアプリケーションマネージメントモジュールと、
    前記アプリケーションプログラムの前記少なくとも1つのプロセスと、前記第1および第2のディスプレイスクリーンのうちの1つとの間における関連付けを管理するように構成されている、前記アプリケーションマネージメントモジュールに動作可能に結合されたディスプレイスクリーンマネージメントモジュールとを含み、
    前記プロセス/コア割り振りモジュールが、前記アプリケーションマネージメントモジュールと、前記ディスプレイスクリーンマネージメントモジュールとの間においてやり取りされる信号に基づいて、前記アプリケーションプログラムの前記少なくとも1つのプロセスに関連付けられている前記グラフィカル要素の前記移動を検知するようにさらに構成されている、請求項17に記載の電子デバイス。
  25. 前記プロセス/コア割り振りモジュールが、ユーザ入力に基づいて、前記アプリケーションプログラムの前記少なくとも1つのプロセスに関連付けられている前記グラフィカル要素の前記移動を検知するようにさらに構成されている、請求項17に記載の電子デバイス。
  26. 前記ユーザ入力が、前記アプリケーションプログラムの前記少なくとも1つのプロセスに関連付けられている前記グラフィカル要素を前記第1のディスプレイスクリーンからドラッグして、それに続いて、前記アプリケーションプログラムの前記少なくとも1つのプロセスに関連付けられている前記グラフィカル要素を前記第2のディスプレイスクリーン内にドロップすることを含む、請求項25に記載の電子デバイス。
  27. 電子デバイスにプロセス/コアの割り振りを実行させるためのプログラムを格納しているコンピュータ可読ストレージ媒体であって、前記電子デバイスが、第1のコアおよび第2のコアを含むプロセッサと、オペレーティングシステムと、第1のディスプレイスクリーンおよび第2のディスプレイスクリーンを提供するように構成されているグラフィカルユーザインターフェースシステムとを含み、前記プログラムが、
    第1のディスプレイスクリーンから第2のディスプレイスクリーンへのグラフィカル要素の移動を検知するように構成されているプロセス/コア割り振りモジュールであり、前記検知された移動に基づいてプロセス/コア割り振り命令を生成するように構成されている、プロセス/コア割り振りモジュールを含み、
    前記グラフィカル要素が、アプリケーションプログラムの少なくとも1つのプロセスに関連付けられており、
    前記第1のディスプレイスクリーンが、前記第1のコアに関連付けられており、前記第2のディスプレイスクリーンが、前記第2のコアに関連付けられており、
    前記プロセス/コア割り振り命令が、前記第1のディスプレイスクリーンから前記第2のディスプレイスクリーンへの前記グラフィカル要素の移動の検知に応じて前記アプリケーションプログラムの前記少なくとも1つのプロセスを前記第1のコアから前記第2のコアに割り振るよう前記オペレーティングシステムに命令するように構成されている、コンピュータ可読ストレージ媒体。
  28. 前記オペレーティングシステムが、
    前記プロセス/コア割り振り命令に基づいて前記アプリケーションプログラムの前記少なくとも1つのプロセスを前記第2のコアに割り振るように構成されている、前記プロセス/コア割り振りモジュールに動作可能に結合されたプロセスマネージメントモジュールを含む、請求項27に記載のコンピュータ可読ストレージ媒体。
  29. 前記グラフィカルユーザインターフェースシステムが、
    前記アプリケーションプログラムの前記少なくとも1つに関連付けられている前記グラフィカル要素の位置を管理するように構成されているアプリケーションマネージメントモジュールと、
    前記アプリケーションプログラムの少なくとも1つと、前記第1および第2のディスプレイスクリーンのうちの1つとの間における関連付けを管理するように構成されている、前記アプリケーションマネージメントモジュールに動作可能に結合されたディスプレイスクリーンマネージメントモジュールとを含み、
    前記プロセス/コア割り振りモジュールが、前記アプリケーションマネージメントモジュールと、前記ディスプレイスクリーンマネージメントモジュールとの間においてやり取りされる信号に基づいて、前記アプリケーションプログラムの少なくとも1つのプロセスに関連付けられている前記グラフィカル要素の前記移動を検知するようにさらに構成されている、請求項27に記載のコンピュータ可読ストレージ媒体。
  30. 前記プロセス/コア割り振りモジュールが、前記グラフィカルユーザインターフェースシステムを通じたユーザ入力に基づいて、前記アプリケーションプログラムに関連付けられている前記グラフィカル要素の前記移動を検知するようにさらに構成されている、請求項27に記載のコンピュータ可読ストレージ媒体。
  31. 前記ユーザ入力が、前記アプリケーションプログラムの少なくとも1つに関連付けられている前記グラフィカル要素を前記第1のディスプレイスクリーンからドラッグして、それに続いて、前記アプリケーションプログラムの少なくとも1つに関連付けられている前記グラフィカル要素を前記第2のディスプレイスクリーン内にドロップすることを含む、請求項30に記載のコンピュータ可読ストレージ媒体。
  32. 第1のディスプレイデバイスと、
    第1のコアおよび第2のコアを含むプロセッサと、
    少なくとも1つのプロセスを含むアプリケーションプログラムを格納するように構成されている、前記プロセッサに動作可能に結合されたメモリと、
    第1のディスプレイスクリーンおよび第2のディスプレイスクリーンを提供するように構成されているグラフィカルユーザインターフェースシステムであり、前記第1のディスプレイスクリーンおよび前記第2のディスプレイスクリーンが、前記第1のコアおよび前記第2のコアにそれぞれ関連付けられている、グラフィカルユーザインターフェースシステムと、
    前記アプリケーションプログラムの前記少なくとも1つのプロセスを前記第1のコアまたは前記第2のコアのどちらかに割り振るように構成されているプロセスマネージメントモジュールと、
    前記プロセスマネージメントモジュールに動作可能に結合されているプロセス/コア割り振りモジュールと
    を含むポータブル電子デバイスであって、
    前記プロセス/コア割り振りモジュールが、前記第1のディスプレイスクリーンから前記第2のディスプレイスクリーンへのグラフィカル要素の移動を検知するように構成されており、前記グラフィカル要素が、前記アプリケーションプログラムの前記少なくとも1つのプロセスに関連付けられており、前記アプリケーションプログラムの前記少なくとも1つのプロセスが、前記第1のコア上で実行され、
    前記プロセスマネージメントモジュールが、前記アプリケーションプログラムの前記少なくとも1つのプロセスに関連付けられている前記グラフィカル要素の前記移動の前記検知に基づいて、前記アプリケーションプログラムの前記少なくとも1つのプロセスを前記第1のコアから前記第2のコアに割り振るようにさらに構成されている、ポータブル電子デバイス。
  33. 前記第1のディスプレイデバイスが、前記第1のディスプレイスクリーンと、前記第2のディスプレイスクリーンとの間において切り替わるように構成されている、請求項32に記載のポータブル電子デバイス。
  34. 第2のディスプレイデバイスをさらに含み、
    前記第1のディスプレイスクリーンが、前記第1のディスプレイデバイス上に表示され、前記第2のディスプレイスクリーンが、前記第2のディスプレイデバイス上に表示される、
    請求項32に記載のポータブル電子デバイス。
  35. 前記ポータブル電子デバイスが、外部ディスプレイデバイスに動作可能に結合されており、
    前記第1のディスプレイスクリーンおよび前記第2のディスプレイスクリーンのうちの一方が、前記第1のディスプレイデバイス上に表示され、
    前記第1のディスプレイスクリーンおよび前記第2のディスプレイスクリーンのうちの他方が、前記外部ディスプレイデバイス上に表示される、請求項32に記載のポータブル電子デバイス。
  36. 前記第1のコアおよび前記第2のコアのうちの少なくとも1つが、バーチャルコアを含む、請求項32に記載のポータブル電子デバイス。
  37. 前記第1のディスプレイスクリーンが、第1のタスクバーに対応し、前記第2のディスプレイスクリーンが、第2のタスクバーに対応し、前記アプリケーションプログラムの前記少なくとも1つのプロセスに関連付けられている前記グラフィカル要素が、前記第1のタスクバーまたは前記第2のタスクバーのどちらかの上に表示されるアプリケーションアイコンを含む、請求項32に記載のポータブル電子デバイス。
  38. 前記プロセス/コア割り振りモジュールが、前記グラフィカルユーザインターフェースシステムを通じたユーザ入力に基づいて、前記グラフィカル要素の前記移動を検知するようにさらに構成されている、請求項32に記載のポータブル電子デバイス。
  39. 前記第1のディスプレイデバイスが、タッチスクリーンディスプレイデバイスを含み、前記ユーザ入力が、前記タッチスクリーンディスプレイデバイス上で検知されるジェスチャーに関連付けられている、請求項38に記載のポータブル電子デバイス。
  40. ジャイロセンサをさらに含み、
    前記ユーザ入力が、前記ジャイロセンサによって検知される前記ポータブル電子デバイスの動きに関連付けられている、
    請求項38に記載のポータブル電子デバイス。
  41. 前記ポータブル電子デバイスが、セルラー電話デバイス、携帯情報端末デバイス、およびハンドヘルドビデオゲームデバイスから構成されているグループから選択されたものである、請求項32に記載のポータブル電子デバイス
JP2014515794A 2011-06-16 2011-06-16 マルチコア環境におけるプロセスマネージメント Expired - Fee Related JP5717308B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/040599 WO2012173622A1 (en) 2011-06-16 2011-06-16 Process management in a multi-core environment

Publications (2)

Publication Number Publication Date
JP2014518414A JP2014518414A (ja) 2014-07-28
JP5717308B2 true JP5717308B2 (ja) 2015-05-13

Family

ID=47353292

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014515794A Expired - Fee Related JP5717308B2 (ja) 2011-06-16 2011-06-16 マルチコア環境におけるプロセスマネージメント

Country Status (4)

Country Link
US (1) US8941605B2 (ja)
JP (1) JP5717308B2 (ja)
KR (1) KR101504137B1 (ja)
WO (1) WO2012173622A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11619671B2 (en) 2020-01-21 2023-04-04 Canon Kabushiki Kaisha Electronic apparatus and control method
US11668754B2 (en) 2020-01-21 2023-06-06 Canon Kabushiki Kaisha Battery device that provides a notification relating to a remaining charge capacity, and control method thereof

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9207717B2 (en) 2010-10-01 2015-12-08 Z124 Dragging an application to a screen using the application manager
US9213365B2 (en) 2010-10-01 2015-12-15 Z124 Method and system for viewing stacked screen displays using gestures
US20120256959A1 (en) * 2009-12-30 2012-10-11 Cywee Group Limited Method of controlling mobile device with touch-sensitive display and motion sensor, and mobile device
US20130080932A1 (en) * 2011-09-27 2013-03-28 Sanjiv Sirpal Secondary single screen mode activation through user interface toggle
US9104490B2 (en) * 2012-12-27 2015-08-11 Intel Corporation Methods, systems and apparatuses for processor selection in multi-processor systems
JP2014203309A (ja) * 2013-04-05 2014-10-27 オムロン株式会社 画像処理装置、制御方法およびプログラム
KR102153366B1 (ko) * 2013-08-30 2020-10-15 삼성전자 주식회사 전자 기기의 화면 전환 방법 및 장치
US9977785B2 (en) * 2014-01-03 2018-05-22 Legistek Corporation Method and computer-readable medium for presenting displayable content to an audience
WO2015152939A1 (en) * 2014-04-04 2015-10-08 Empire Technology Development Llc Instruction optimization using voltage-based functional performance variation
US20150317071A1 (en) * 2014-05-05 2015-11-05 Peter N. Moore Method and Computer-Readable Medium for Cueing the Display of Active Content to an Audience
JP2016035705A (ja) * 2014-08-04 2016-03-17 パナソニックIpマネジメント株式会社 表示装置、表示制御方法、及び表示制御プログラム
JP2016035706A (ja) * 2014-08-04 2016-03-17 パナソニックIpマネジメント株式会社 表示装置、表示制御方法、及び表示制御プログラム
KR102327803B1 (ko) * 2014-11-21 2021-11-17 삼성전자 주식회사 전력 소모를 줄이기 위한 전력 제어 방법 및 장치
KR101927424B1 (ko) * 2016-01-08 2018-12-10 한국전자통신연구원 멀티 코어 시스템에서 스케줄링 결과의 시각화 방법 및 장치
KR101907441B1 (ko) * 2016-11-29 2018-10-12 (주) 구름네트웍스 복수의 운영체제에서 주변 장치를 구동시키는 방법 및 장치
CN106791152B (zh) * 2016-12-30 2019-08-27 Oppo广东移动通信有限公司 一种通信方法及移动终端
FR3099262B1 (fr) * 2019-07-23 2023-10-20 Zodiac Aero Electric Système de traitement graphique de données
US20220075349A1 (en) * 2020-09-08 2022-03-10 Delta Tau Data Systems, Inc. Method and apparatus for multi-core processor management in a motion control system
CN112328197B (zh) * 2020-10-30 2024-01-05 北京数秦科技有限公司 多屏显示的方法、装置以及存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050096082A1 (en) * 2003-11-03 2005-05-05 Chin-Wei Chang Duo-display mobile phone
US20070094444A1 (en) 2004-06-10 2007-04-26 Sehat Sutardja System with high power and low power processors and thread transfer
JP2007241376A (ja) * 2006-03-06 2007-09-20 Fujitsu Ten Ltd 情報処理装置
US8281308B1 (en) * 2007-07-23 2012-10-02 Oracle America, Inc. Virtual core remapping based on temperature
US7987075B2 (en) 2008-06-30 2011-07-26 Hitachi, Ltd Apparatus and method to develop multi-core microcomputer-based systems
KR101482115B1 (ko) * 2008-07-07 2015-01-13 엘지전자 주식회사 자이로센서를 구비한 휴대 단말기 및 그 제어방법
US20100070931A1 (en) * 2008-09-15 2010-03-18 Sony Ericsson Mobile Communications Ab Method and apparatus for selecting an object
US20100251243A1 (en) 2009-03-27 2010-09-30 Qualcomm Incorporated System and method of managing the execution of applications at a portable computing device and a portable computing device docking station
KR101636570B1 (ko) * 2009-10-28 2016-07-20 엘지전자 주식회사 출력표시영역 제어 장치 및 방법
DE102009047024A1 (de) * 2009-11-23 2011-05-26 Beckhoff Automation Gmbh Parallelisierte Programmsteuerung
KR20110061285A (ko) * 2009-12-01 2011-06-09 삼성전자주식회사 휴대용 디바이스 및 이의 터치 패널 운용 방법

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11619671B2 (en) 2020-01-21 2023-04-04 Canon Kabushiki Kaisha Electronic apparatus and control method
US11668754B2 (en) 2020-01-21 2023-06-06 Canon Kabushiki Kaisha Battery device that provides a notification relating to a remaining charge capacity, and control method thereof

Also Published As

Publication number Publication date
US20120319965A1 (en) 2012-12-20
US8941605B2 (en) 2015-01-27
JP2014518414A (ja) 2014-07-28
WO2012173622A1 (en) 2012-12-20
KR20140012756A (ko) 2014-02-03
KR101504137B1 (ko) 2015-03-24

Similar Documents

Publication Publication Date Title
JP5717308B2 (ja) マルチコア環境におけるプロセスマネージメント
CN110663018B (zh) 多显示器设备中的应用启动
Li et al. Programming IoT devices by demonstration using mobile apps
US9124657B2 (en) Dynamic screen sharing for optimal performance
US9652030B2 (en) Navigation of a virtual plane using a zone of restriction for canceling noise
BR112015022863B1 (pt) Método e sistema de controle com múltiplas entradas e dispositivo eletrônico que suporta os mesmos
JP5329388B2 (ja) 追加可能な論理ディスプレイ用の仮想フレームバッファの動的形状管理
US20150138089A1 (en) Input devices and methods
KR20140027353A (ko) 이머시브 애플리케이션으로서의 데스크탑
JP2014123352A (ja) アプリケーションの保安性管理方法及びその電子装置
US10163245B2 (en) Multi-mode animation system
US10890982B2 (en) System and method for multipurpose input device for two-dimensional and three-dimensional environments
CN107301038A (zh) 应用生产设备、系统、方法和非临时性计算机可读媒介
KR20120020532A (ko) 오디오 신호 처리 방법 및 장치
WO2012093779A2 (ko) 사용자 터치와 입김을 활용한 멀티 모달 인터페이스 지원 사용자 단말과 그 제어 방법
CN104024983A (zh) 用于间接交互设备的交互模型
JP2017530350A (ja) 要求されたセンサ特性に基づく自動センサ選択
JP5574849B2 (ja) 情報処理装置及びその制御方法、プログラム
US20190302980A1 (en) Facilitating Movement of Graphical Objects across Separate Screens
US11093041B2 (en) Computer system gesture-based graphical user interface control
KR102378953B1 (ko) 규칙 기반 사용자 인터페이스 생성
JP2022551246A (ja) ポインタモードの動的スイッチング
US9274616B2 (en) Pointing error avoidance scheme
US11487425B2 (en) Single-hand wide-screen smart device management
KR101898162B1 (ko) 다중 센서감지를 통해 다른 기기로 추가기능 및 피드백을 제공하는 기기 및 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150220

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150311

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150316

R150 Certificate of patent or registration of utility model

Ref document number: 5717308

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees