付属の図面では、同様のコンポーネント及び/または特徴は、同じ参照ラベルを有し得る。さらに、同じタイプのさまざまなコンポーネントは、同様のコンポーネントの中で区別する文字で参照ラベルをたどることによって、区別することができる。第1の参照ラベルのみが本明細書で使用される場合、説明は、第2の参照ラベルに関係なく、同じ第1の参照ラベルを有する同様のコンポーネントのいずれか1つに適用可能である。
本明細書で提示するものは、デバイスの実施形態である。デバイスは、携帯電話または他のスマートデバイスなど通信デバイスであり得る。デバイスは、いくつかのユニークなディスプレイ構成を提供するように方向付けられた2つの画面を含み得る。さらに、デバイスは、ユニークな方法でユーザ入力を受信することができる。デバイスの総合的な設計及び機能性は、デバイスをより有用に及びより効果的にするユーザ経験を高めることを実現する。
機械的な特徴:
図1A〜1Jは、本開示の実施形態によるデバイス100を示す。以下でさらに詳細に説明されるように、デバイス100は、多くの異なる方法で配置することができ、そのそれぞれが異なる機能性をユーザに提供する。デバイス100は、その両方がタッチセンサ式の一次画面104と二次画面108とを含む複数画面デバイスである。実施形態では、画面104及び108の前面全体は、タッチセンサ式であり得、ユーザが画面104及び108の前面に触れることによって入力を受信することができる。一次画面104は、タッチセンサ式ディスプレイ110を含み、タッチセンサ式ディスプレイ110は、タッチセンサ式であることに加えて、ユーザに情報を表示することも行う。二次画面108は、タッチセンサ式ディスプレイ114を含み、タッチセンサ式ディスプレイ114もまたユーザに情報を表示する。他の実施形態では、画面104及び108は、2つ以上のディスプレイエリアを含み得る。
また、一次画面104は、ユーザが構成可能なエリア112の一部に触れる際の特定の入力用に構成済みの構成可能なエリア112も含む。二次画面108もまた、特定の入力用に構成済みの構成可能なエリア116を含む。エリア112a及び116aは、ユーザが以前に表示された情報を閲覧することを望むことを示す「バック」入力を受信するよう構成済みである。エリア112b及び116bは、ユーザがメニューからオプションを閲覧することを望むことを示す「メニュー」入力を受信するよう構成済みである。エリア112c及び116cは、ユーザが「ホーム」ビューに関連付けられた情報を閲覧することを望むことを示す「ホーム」入力を受信するよう構成済みである。他の実施形態では、エリア112a〜c及び116a〜cは、上記で説明される構成に加えて、デバイス100の特徴の制御を含む他のタイプの特定の入力用に構成することができ、いくつかの非限定的な例としては、全体的なシステムパワーの調整、音量の調整、輝度の調整、振動の調整、表示アイテムの選択(画面104または108のいずれか)、カメラの操作、マイクロホンの操作及び通話の開始/終了が挙げられる。また、いくつかの実施形態では、エリア112a〜c及び116a〜cは、デバイス100上で実行するアプリケーション及び/またはタッチセンサ式ディスプレイ110及び/または114上に表示される情報に応じて特定の入力用に構成することができる。
タッチセンサ式に加えて、一次画面104及び二次画面108は、ユーザが画面のディスプレイエリアに触れる必要なく、ユーザから入力を受信するエリアも含む。例えば、一次画面104は、ジェスチャ捕捉エリア120を含み、二次画面108は、ジェスチャ捕捉エリア124を含む。これらのエリアは、例えば、ユーザが実際にディスプレイエリアの表面に触れる必要なく、ユーザによって行われたジェスチャを認識することにより、入力を受信することができる。タッチセンサ式ディスプレイ110及び114と比較すると、ジェスチャ捕捉エリア120及び124は、一般には、表示画像をレンダリングすることはできない。
2つの画面104及び108は、ヒンジ128で接続され、ヒンジ128は、図1C(デバイス100の背面図を示す)で明確に示される。図1A〜1Jに示される実施形態では、ヒンジ128は、画面104と108とを接続する中央のヒンジであり、その結果、ヒンジを閉じると、画面104と108は、図1B(デバイス100の正面図を示す)に示されるように並置される(すなわち、隣り合わせになる)。ヒンジ128を開いて、2つの画面104及び108を相対的に互いに異なる配置にすることができる。以下でさらに詳細に説明するように、デバイス100は、画面104及び108の相対位置に応じて異なる機能性を有し得る。
図1Dは、デバイス100の右側を示す。図1Dに示されるように、二次画面108は、その側面にカードスロット132とポート136も含む。実施形態では、カードスロット132は、加入者識別モジュール(SIM)を含む異なるタイプのカードを収容する。実施形態では、ポート136は、ディスプレイ、キーボードまたは印刷デバイスなどの他の周辺デバイスにデバイス100を接続することを可能にする入力/出力ポート(I/Oポート)である。理解できるように、これらは単なる例示の一部であり、他の実施形態では、デバイス100は、追加のメモリデバイスを収容するための及び/または他の周辺デバイスを接続するためのスロット及びポートなどの他のスロット及びポートを含み得る。また、図1Dには、例えば、ユーザのヘッドホンまたはヘッドセットの利用を可能にするチップ、リング、スリーブ(TRS)コネクタを収容する音声ジャック140も示されている。
また、デバイス100は、多数のボタン158も含む。例えば、図1Eは、デバイス100の左側を示す。図1Eに示されるように、一次画面104の側面は、3つのボタン144、148及び152を含み、これらのボタンは、特定の入力用に構成することができる。例えば、ボタン144、148及び152は、組み合わせて、または単独で、デバイス100の多くの態様を制御するよう構成することができる。いくつかの非限定的な例としては、全体的なシステムパワー、音量、輝度、振動、表示アイテムの選択(画面104または108のいずれか)、カメラ、マイクロホン及び通話の開始/終了が挙げられる。いくつかの実施形態では、別々のボタンの代わりに、2つのボタンを組み合わせてロッカーボタンにすることができる。この構成は、音量または輝度などの特徴を制御するようにボタンが構成された状況において有用である。ボタン144、148及び152に加えて、デバイス100は、デバイス100の上側を示す図1Fに示されるようなボタン156も含む。一実施形態では、ボタン156は、デバイス100への全体的なシステムパワーの制御に使用されるオン/オフボタンとして構成される。他の実施形態では、ボタン156は、システムパワーの制御に加えてまたはシステムパワーの制御の代わりに、デバイス100の他の態様を制御するよう構成される。いくつかの実施形態では、ボタン144、148、152及び156のうちの1つまたは複数は、異なるユーザコマンドをサポートすることができる。一例として、通常のプレスは、一般に、約1秒未満の持続時間を有し、クイックタップに似ている。中程度のプレスは、一般に、1秒以上だが約12秒未満の持続時間を有する。長時間のプレス(長押し)は、一般に、約12秒以上の持続時間を有する。ボタンの機能は、通常、現時点でそれぞれのディスプレイ110及び114に焦点が合わせられているアプリケーションに特有である。例えば、通話アプリケーションでは、特定のボタンに応じて、通常の、中程度のまたは長時間のプレスは、通話終了、通話音量の増加、通話音量の減少、マイクロホンのミュートの切り替えを意味し得る。例えば、カメラまたは映像アプリケーションでは、特定のボタンに応じて、通常の、中程度のまたは長時間のプレスは、ズーム拡大、ズーム縮小、写真撮影または映像記録を意味し得る。
また、デバイス100には、多くのハードウェアコンポーネントが存在する。図1Cに示されるように、デバイス100は、スピーカ160とマイクロホン164とを含む。また、デバイス100は、カメラ168(図1B)も含む。それに加えて、デバイス100は、2つの位置センサ172a及び172bを含み、位置センサ172a及び172bは、画面104及び108の相対位置の決定に使用される。一実施形態では、位置センサ172a及び172bは、ホール効果センサである。しかし、他の実施形態では、ホール効果センサに加えて、またはホール効果センサの代わりに、他のセンサを使用することができる。また、デバイス100の一部として、加速度計176を含めて、デバイス100の向き及び/または画面104及び108の向きを決定することもできる。デバイス100に含めることができる追加の内部のハードウェアコンポーネントについては、図2に関連して、以下で説明する。
デバイス100の総合的な設計は、他の通信デバイスで利用不可能な追加の機能性の提供を可能にする。機能性のいくつかは、デバイス100が有し得るさまざまな位置及び向きに基づく。図1B〜1Gに示されるように、デバイス100は、画面104と108が並置される「開」位置で操作することができる。この位置により、ユーザに情報を表示するための大きなディスプレイエリアが可能になる。デバイス100が開位置にあると位置センサ172a及び172bが決定すると、位置センサ172a及び172bは、両方の画面104及び108上での情報の表示などの異なるイベントのトリガに使用することができる信号を生成することができる。追加のイベントは、デバイス100が横向き位置(図示せず)と対向する縦向き位置(図1B)にあると加速度計176が決定した場合にトリガすることができる。
開位置に加えて、デバイス100は、図1Hに示されるような「閉」位置も有し得る。この場合もやはり、位置センサ172a及び172bは、デバイス100が「閉」位置にあることを示す信号を生成することができる。これにより、画面104及び/または108上に表示された情報の変化をもたらすイベントをトリガすることができる。例えば、デバイス100が「閉」位置にある場合、ユーザは1つの画面しか閲覧できないため、デバイス100は、画面のうちの1つ、例えば、画面108上での情報の表示を停止するようにプログラムすることができる。他の実施形態では、デバイス100が「閉」位置にあることを示す、位置センサ172a及び172bによって生成された信号は、電話の発呼に応答するようにデバイス100をトリガすることができる。「閉」位置は、携帯電話としてデバイス100を利用する場合にも好ましい位置であり得る。
デバイス100は、図1Iに示されるような「イーゼル」位置でも使用することができる。「イーゼル」位置では、画面104及び108は、互いに角度をなして外側を向いた状態であり、画面104及び108の縁は実質的に水平である。この位置では、デバイス100は、両方の画面104及び108上で情報を表示するよう構成することができ、二人のユーザが同時にデバイス100と情報のやり取りを行うことを可能にする。デバイス100が「イーゼル」位置にある場合、センサ172a及び172bは、画面104及び108が互いに角度をなして配置されていることを示す信号を生成することができ、加速度計176は、画面104及び108の縁が実質的に水平となるようにデバイス100が配置されたことを示す信号を生成することができる。次いで、信号を組み合わせて使用し、画面104及び108上での情報の表示の変化をトリガするイベントを生成することができる。
図1Jは、「変形イーゼル」位置のデバイス100を示す。「変形イーゼル」位置では、画面104または108のうちの1つは、スタンドとして使用され、テーブルなどの物体の表面上に下を向いた状態に置かれる。この位置は、横向きでユーザに情報を表示する便利な方法を提供する。イーゼル位置と同様に、デバイス100が「変形イーゼル」位置にある場合、位置センサ172a及び172bは、画面104及び108が互いに角度をなして配置されていることを示す信号を生成する。加速度計176は、画面104及び108のうちの1つが下を向いた状態で、実質的に水平となるようにデバイス100が配置されたことを示す信号を生成することになる。次いで、信号を使用して、画面104及び108の情報の表示の変化をトリガするイベントを生成することができる。例えば、ユーザはその画面を見ることができないため、下向きの画面上には情報は表示されない可能性がある。
また、移行状態も可能である。画面が閉じているまたは折り畳まれている(開位置から)ことを位置センサ172a及びb及び/または加速度計が示す場合は、閉への移行状態が認識される。逆に、画面が開いているまたは折り畳まれている(閉位置から)ことを位置センサ172a及びbが示す場合は、開への移行状態が認識される。閉及び開への移行状態は、通常、時間に基づくか、または感知された開始点からの最大持続時間を有する。通常、閉及び開状態のうちの1つが進行中のときは、ユーザ入力は不可能である。このように、閉または開動作中のユーザによる画面との偶発的な接触は、ユーザ入力として誤って解釈されることはない。実施形態では、デバイス100が閉じている場合は、別の移行状態が可能である。この追加の移行状態により、デバイス100が閉じている場合は、例えば、画面110、114上でのダブルタップなどの何らかのユーザ入力に基づいて、ある画面104から第2の画面108にディスプレイを切り替えることが可能になる。
理解できるように、デバイス100に関する説明は、単なる例示を目的として行われ、実施形態は、図1A〜1Jに示され、上記で説明される特定の機械的な特徴に制限されない。他の実施形態では、デバイス100は、1つまたは複数の追加のボタン、スロット、ディスプレイエリア、ヒンジ及び/またはロック機構を含む追加の特徴を含み得る。それに加えて、実施形態では、上記で説明される特徴は、デバイス100の異なる部分に位置し得、それでも同様の機能性を提供することができる。したがって、図1A〜1J及び上記で提供される説明は、非限定的である。
ハードウェアの特徴:
図2は、本開示の実施形態によるデバイス100のコンポーネントを示す。一般に、デバイス100は、一次画面104と二次画面108とを含む。一次画面104及びそのコンポーネントは、通常、開位置または状態でも閉位置または状態でも有効化される一方で、二次画面108及びそのコンポーネントは、通常、開状態では有効化されるが、閉状態では無効化される。しかし、閉状態であっても、ユーザまたはアプリケーションがトリガするインタラプト(通話アプリケーションまたはカメラアプリケーションオペレーションに応じてなど)は、適切なコマンドによって、アクティブ画面を変更することも、一次画面104を無効化して二次画面108を有効化することもできる。各画面104、108は、タッチセンサ式であり得、異なる動作エリアを含み得る。例えば、それぞれのタッチセンサ式画面104及び108内の第1の動作エリアは、タッチセンサ式ディスプレイ110、114を含み得る。一般に、タッチセンサ式ディスプレイ110、114は、フルカラーのタッチセンサ式ディスプレイを含み得る。それぞれのタッチセンサ式画面104及び108内の第2のエリアは、ジェスチャ捕捉領域120、124を含み得る。ジェスチャ捕捉領域120、124は、タッチセンサ式ディスプレイ110、114のエリア外のエリアまたは領域を含み得、そのエリアまたは領域は、例えば、ユーザによって提供されるジェスチャの形での入力の受信が可能である。しかし、ジェスチャ捕捉領域120、124は、表示機能または能力を実行することができる画素を含まない。
タッチセンサ式画面104及び108の第3の領域は、構成可能なエリア112、116を含み得る。構成可能なエリア112、116は、入力を受信することができ、表示または制限された表示能力を有する。実施形態では、構成可能なエリア112、116は、異なる入力オプションをユーザに提示することができる。例えば、構成可能なエリア112、116は、ボタンまたは他の関連付けられるアイテムを表示することができる。その上、表示されたボタンのアイデンティティ、または、タッチセンサ式画面104もしくは108の構成可能なエリア112、116内に表示されているボタンがあるかどうかは、デバイス100が使用される及び/または操作されるコンテキストから決定することができる。例示的な実施形態では、タッチセンサ式画面104及び108は、ユーザに視覚出力を提供することができるタッチセンサ式画面104及び108の少なくともそれらの領域に広がる液晶ディスプレイデバイスと、ユーザから入力を受信することができるタッチセンサ式画面104及び108のそれらの領域にわたる容量性入力マトリックスとを含む。
1つまたは複数のディスプレイコントローラ216a、216bは、入力(タッチセンサ式)及び出力(表示)機能を含むタッチセンサ式画面104及び108のオペレーションを制御するために設けることができる。図2に示される例示的な実施形態では、別々のタッチスクリーンコントローラ216aまたは216bが各タッチスクリーン104及び108に設けられる。代替の実施形態によれば、共通のまたは共有されたタッチスクリーンコントローラ216を使用して、含まれるタッチセンサ式画面104及び108の各々を制御することができる。さらなる他の実施形態によれば、タッチスクリーンコントローラ216の機能は、プロセッサ204などの他のコンポーネントに組み込むことができる。
プロセッサ204は、アプリケーションプログラミングまたは命令を実行するための汎用のプログラム可能プロセッサまたはコントローラを含み得る。少なくともいくつかの実施形態によれば、プロセッサ204は、複数のプロセッサコアを含む、及び/または、複数の仮想プロセッサを実装することができる。さらなる他の実施形態によれば、プロセッサ204は、複数の物理的プロセッサを含み得る。具体的な例として、プロセッサ204は、特別に構成された特定用途向け集積回路(ASIC)もしくは他の集積回路、デジタル信号プロセッサ、コントローラ、配線電子もしくは論理回路、プログラム可能論理デバイスもしくはゲートアレイ、専用コンピュータ、または、同様のものを含み得る。プロセッサ204は、一般に、デバイス100のさまざまな機能を実装するプログラミングコードまたは命令を実行するように機能する。
また、通信デバイス100は、プロセッサ204によるアプリケーションプログラミングまたは命令の実行に関連して使用するための、ならびに、プログラム命令及び/またはデータを一時的または長期に格納するための、メモリ208も含み得る。例として、メモリ208は、RAM、DRAM、SDRAMまたは他のソリッドステートメモリを含み得る。その代替としてまたはそれに加えて、データストレージ212を設けることができる。メモリ208と同様に、データストレージ212は、1つまたは複数のソリッドステートメモリデバイスを含み得る。その代替としてまたはそれに加えて、データストレージ212は、ハードディスクドライブまたは他のランダムアクセスメモリを含み得る。
通信機能または能力をサポートする際、デバイス100は、携帯電話モジュール228を含み得る。例として、携帯電話モジュール228は、セルラネットワーク上で音声、マルチメディア及び/またはデータ転送をサポートすることができるGSM(登録商標)、CDMA、FDMA及び/またはアナログ携帯電話トランシーバを含み得る。その代替としてまたはそれに加えて、デバイス100は、追加のまたは他の無線通信モジュール232を含み得る。例として、他の無線通信モジュール232は、ワイファイ(Wi−Fi)、ブルートゥース(Bluetooth)(登録商標)、ワイマックス(WiMax)、赤外線または他の無線通信リンクを含み得る。携帯電話モジュール228及び他の無線通信モジュール232は、それぞれが、共有または専用アンテナ224と関連付けられることができる。
ポートインタフェース252を含めることができる。ポートインタフェース252は、ドックなどの他のデバイスまたはコンポーネントとのデバイス100の相互接続をサポートする独自のまたはユニバーサルポートを含み得、他のデバイスまたはコンポーネントは、デバイス100に不可欠なものへの追加のまたはそれとは異なる能力を含んでも含まなくともよい。デバイス100と別のデバイスまたはコンポーネントとの間での通信信号の交換のサポートに加えて、ドッキングポート136及び/またはポートインタフェース252は、デバイス100へのまたはデバイス100からの電力の供給をサポートすることができる。また、ポートインタフェース252は、デバイス100と接続されたデバイスまたはコンポーネントとの間の通信または他の相互作用を制御するためのドッキングモジュールを含むインテリジェントな要素も含む。
入力/出力モジュール248及び関連ポートを含めて、例えば、他の通信デバイス、サーバデバイス及び/または周辺デバイスとの有線ネットワークまたはリンク上での通信をサポートすることができる。入力/出力モジュール248の例としては、イーサネット(登録商標)ポート、ユニバーサルシリアルバス(USB)ポート、電気電子技術者協会(IEEE)1394または他のインタフェースが挙げられる。
音声入力/出力インタフェース/デバイス244を含めて、相互接続されたスピーカまたは他のデバイスにアナログ音声を提供したり、接続されたマイクロホンまたは他のデバイスからアナログ音声入力を受信したりすることができる。一例として、音声入力/出力インタフェース/デバイス244は、関連アンプとアナログデジタル変換器とを含み得る。その代替としてまたはそれに加えて、デバイス100は、外部のスピーカまたはマイクロホンを相互接続するための統合音声入力/出力デバイス256及び/または音声ジャックを含み得る。例えば、統合スピーカ及び統合マイクロホンを提供し、近接通話またはスピーカフォンオペレーションをサポートすることができる。
ハードウェアボタン158を含めて、例えば、ある制御動作に関連して使用することができる。例としては、図1A〜1Jと併せて説明されるように、マスタ電源スイッチ、音量調節などが挙げられる。カメラなどの1つまたは複数の画像捕捉インタフェース/デバイス240を含めて、静止及び/またはビデオ画像を捕捉することができる。その代替としてまたはそれに加えて、画像捕捉インタフェース/デバイス240は、スキャナまたはコードリーダを含み得る。画像捕捉インタフェース/デバイス240は、フラッシュまたは他の光源などの追加の要素を含むか、または追加の要素と関連付けられることができる。
また、デバイス100は、全地球側位システム(GPS)受信機236も含み得る。本発明の実施形態によれば、GPS受信機236は、デバイス100の他のコンポーネントに絶対位置情報を提供できるGPSモジュールをさらに含み得る。また、加速度計176も含めることができる。例えば、ユーザへの情報の表示及び/または他の機能に関連して、加速度計176からの信号を使用して、その情報をユーザに表示するための方向及び/または形式を決定することができる。
また、本発明の実施形態は、1つまたは複数の位置センサ172を含み得る。位置センサ172は、互いに対するタッチセンサ式画面104及び108の位置を示す信号を提供することができる。例えば、ユーザインタフェースアプリケーションへの入力としてこの情報を提供し、動作モード、すなわち、タッチセンサ式ディスプレイ110、114及び/または他のデバイス100オペレーションの特性を決定することができる。例として、画面位置センサ172は、一連のホール効果センサ、複数の位置スイッチ、光スイッチ、ホイートストンブリッジ、電位差計、または、タッチスクリーンが置かれている複数の相対位置を示す信号を提供することができる他の構成を含み得る。
デバイス100のさまざまなコンポーネント間の通信は、1つまたは複数のバス222によって行うことができる。それに加えて、電源及び/または電力制御モジュール260からデバイス100のコンポーネントに電力を供給することができる。電力制御モジュール260は、例えば、バッテリ、AC/DC変換器、電力制御ロジック及び/または外部の電源にデバイス100を相互接続するためのポートを含み得る。
デバイスの状態:
図3A及び3Bは、デバイス100の例示的な状態を表す。多くの例示的な状態が示され、第1の状態から第2の状態へ移行するが、例示的な状態を示す図は、すべての可能な状態及び/またはすべての可能な第1の状態から第2の状態への移行を包含するわけではないことを理解されたい。図3で示されるように、状態間のさまざまな矢印(円で表された状態によって示される)は、デバイス100に起こる物理的変化を表す。物理的変化は、ハードウェア及びソフトウェアの1つまたは複数によって検出され、その検出により、ハードウェア及び/またはソフトウェアインタラプトの1つまたは複数がトリガされ、デバイス100の1つまたは複数の機能の制御及び/または管理に使用される。
図3Aで示されるように、12の例示的な「物理的」状態があり、それらは、閉304、移行308(または開への移行状態)、イーゼル312、変形イーゼル316、開320、着信/発信通話または通信324、画像/映像捕捉328、移行332(または閉への移行状態)、横向き340、ドッキング336、ドッキング344及び横向き348である。各例示的な状態の隣にあるのは、デバイス100の物理的状態の表現であるが、状態324及び328は例外であり、状態324及び328では、一般に、状態は、電話用の国際的なアイコン及びカメラ用のアイコンによってそれぞれ象徴化される。
状態304では、デバイスは閉状態であり、デバイス100は、一般に、一次画面104と二次画面108が異なる面で背中合わせの状態で、縦向き方向に方向付けられる(図1Hを参照)。閉状態から、デバイス100は、例えば、ドッキング状態336または横向き状態340に入ることができ、ドッキング状態336では、デバイス100はドッキングステーションやドッキングケーブルと結合されるか、または、一般に1つもしくは複数の他のデバイスもしくは周辺機器とドッキングされるかもしくは関連付けられ、横向き状態340では、一次画面104はユーザに面し、一次画面104と二次画面108は背中合わせの状態でデバイス100が一般に方向付けされる。
また、閉状態では、デバイスは、移行状態に移動することができ、移行状態では、デバイスは閉じたままであるが、ディスプレイは、例えば、画面110、114上でのダブルタップなどのユーザ入力に基づいて、ある画面104から別の画面108に移動する。さらに別の実施形態は、両面状態(bilateral state)を含む。両面状態では、デバイスは閉じたままであるが、単一のアプリケーションが少なくとも1つのウィンドウを第1のディスプレイ110と第2のディスプレイ114の両方に表示する。第1及び第2のディスプレイ110、114に示されるウィンドウは、アプリケーション及びそのアプリケーションの状態に基づいて、同じであっても異なっていてもよい。例えば、カメラで画像を取得する間、デバイスは、第1のディスプレイ110上でファインダを表示することができ、第2のディスプレイ114上で被写体のプレビュー(全画面及び左から右へミラーリング)を表示する。
閉状態304から半開状態またはイーゼル状態312への移行状態である状態308では、デバイス100は、一次画面104及び二次画面108をヒンジと一致する軸のポイントの周りで回転させて開いた状態で示される。イーゼル状態312に入ると、一次画面104及び二次画面108は、例えば、デバイス100がイーゼル様構成で表面上に位置することができるように、互いに分離される。
変形イーゼル位置として知られる状態316では、デバイス100は、互いにイーゼル状態312と同様の相対関係にある一次画面104及び二次画面108を有し、その違いは、示されるように、一次画面104または二次画面108のうちの1つが表面上に配置されることである。
状態320は開状態であり、開状態では、一次画面104及び二次画面108は、一般に、同じ平面上にある。開状態から、デバイス100は、ドッキング状態344または開横向き状態348に移行することができる。開状態320では、一次画面104及び二次画面108は、一般に、縦向きのような状態にあるが、横向き状態348では、一次画面104及び二次画面108は、一般に、横向きのような状態にある。
状態324は、デバイス100でそれぞれ着信通話を受けるまたは発信通話をかける場合などの通信状態の例示である。明確には示されていないが、デバイス100は、図3に示されるいかなる状態からも着信/発信通話状態324へ移行できることを理解されたい。同様に、画像/映像捕捉状態328もまた、図3に示される他のいかなる状態からも入ることができ、画像/映像捕捉状態328では、デバイス100は、映像捕捉デバイス240を備えたカメラ及び/またはビデオを介して、1つまたは複数の画像を撮影することができる。
移行状態332は、一次画面104及び二次画面108が、例えば、閉状態304に入るために、互いに向かって閉じている状態を例示的に示す。
図3Bは、キーを参照して、第1の状態から第2の状態への移行を検出するために受信された入力を示す。図3Bでは、状態のさまざまな組合せが示されており、一般に、列の一部は、縦向き状態352や横向き状態356を対象とし、行の一部は、縦向き状態360と横向き状態364を対象とする。
図3Bでは、キーは、「H」が1つまたは複数のホール効果センサからの入力を表し、「A」が1つまたは複数の加速度計からの入力を表し、「T」がタイマからの入力を表し、「P」が通信トリガ入力を表し、「I」が画像及び/または映像捕捉要求入力を表すことを示す。したがって、表の中央部分376では、デバイス100がどのように第1の物理的な状態から第2の物理的な状態への移行を検出するかを表す入力または入力の組合せが示される。
論じられるように、表の中央部分376では、受信した入力により、例えば、縦向き開状態から横向きイーゼル状態への移行(太字の「HAT」で示される)の検出が可能になる。この例示的な縦向き開状態から横向きイーゼル状態への移行の場合、ホール効果センサ(「H」)、加速度計(「A」)及びタイマ(「T」)入力が必要とされ得る。タイマ入力は、例えば、プロセッサに関連付けられた時計から得ることができる。
縦向き及び横向き状態に加えて、ドッキング信号372の受信に基づいてトリガされるドッキング状態368も示される。上記で論じられるように、図3に関連して、ドッキング信号は、デバイス100を、1つまたは複数の他のデバイス100、アクセサリ、周辺機器、スマートドックまたは同様のものと接続することによってトリガすることができる。
ユーザ相互作用:
図4A〜4Hは、画面104、108によって認識することができるジェスチャ入力のさまざまなグラフィカルな表現を描写する。ジェスチャは、指などのユーザの身体部分ばかりではなく、画面104、108の接触感知部分によって感知することができるスタイラスなどの他のデバイスによっても行うことができる。一般に、ジェスチャは、どこでジェスチャが行われるか(ディスプレイ110、114上に直接またはジェスチャ捕捉領域120、124のいずれか)に基づいて、異なって解釈される。例えば、ディスプレイ110、114内のジェスチャは、デスクトップまたはアプリケーションを対象とし、ジェスチャ捕捉領域120、124内のジェスチャは、システム用として解釈され得る。
図4A〜4Hを参照すると、ジェスチャの第1のタイプ(タッチジェスチャ420)は、選択された時間長の間、画面104、108上に実質的に静止する。円428は、画面の接触感知部分の特定の位置で受信されたタッチまたは他の接触タイプを表す。円428は、境界432を含み得、その厚さは、接触位置において実質的に静止した状態で接触が保持された時間長を示す。例えば、タップ420(または短時間のプレス)は、長時間のプレス424に対する(または通常のプレスに対する)境界432bより薄い境界432aを有する。長時間のプレス424は、タップ420より長い時間の間、画面上に実質的に静止した状態のままの接触を伴う可能性がある。理解されるように、異なって定義されたジェスチャは、接触停止前または画面上での移動前のタッチが静止した状態のままの時間長に応じて登録することができる。
図4Cを参照すると、画面104、108上でのドラッグジェスチャ400は、最初の接触(円428によって表される)に、選択された方向への接触移動436が伴う。最初の接触428は、境界432によって表される特定の時間量の間、画面104、108上で静止した状態のままであり得る。ドラッグジェスチャは、通常、ユーザが第1の位置でアイコン、ウィンドウまたは他の表示画像に接触し、その後、選択された表示画像に対して所望の新しい第2の位置に向かうドラッグ方向に接触を移動させる必要がある。接触移動は、直線である必要はないが、接触が第1から第2の位置に実質的に連続したものである限り、いかなる経路の移動もあり得る。
図4Dを参照すると、画面104、108上でのフリックジェスチャ404は、最初の接触(円428によって表される)に、選択された方向への短縮された接触移動436(ドラッグジェスチャと比較して)が伴う。実施形態では、フリックは、ドラッグジェスチャと比較して、ジェスチャの最後の動きに対してより高い退出速度を有する。フリックジェスチャは、例えば、最初の接触に続く指スナップであり得る。ドラッグジェスチャと比較すると、フリックジェスチャは、一般に、表示画像の第1の位置から既定の第2の位置まで、画面104、108との連続的な接触を必要としない。接触した表示画像は、フリックジェスチャによって、既定の第2の位置に向かうフリックジェスチャ方向に移動される。両方のジェスチャは、一般に、第1の位置から第2の位置に表示画像を移動させることができるが、画面上での接触の持続時間及び移動距離は、一般に、ドラッグジェスチャよりもフリックジェスチャの方が短い。
図4Eを参照すると、画面104、108上でのピンチジェスチャ408が描写されている。ピンチジェスチャ408は、例えば、第1の指によって画面104、108に第1の接触428aを行い、例えば、第2の指によって画面104、108に第2の接触428bを行うことによって着手することができる。第1及び第2の接触428a、bは、共通の画面104、108の共通の接触感知部分によって、共通の画面104もしくは108の異なる接触感知部分によって、または、異なる画面の異なる接触感知部分によって、検出することができる。第1の接触428aは、境界432aによって表されるように、第1の時間量の間保持され、第2の接触428bは、境界432bによって表されるように、第2の時間量の間保持される。第1及び第2の時間量は、一般に、実質的に同じであり、第1及び第2の接触428a、bは、一般に、実質的に同時に起こる。また、第1及び第2の接触428a、bは、一般に、それぞれ、対応する第1及び第2の接触移動436a、bを含む。第1及び第2の接触移動436a、bは、一般に、対向方向である。別の言い方をすれば、第1の接触移動436aは、第2の接触428bに向かう方向にあり、第2の接触移動436bは、第1の接触428aに向かう方向にある。より簡単な言い方をすれば、ピンチジェスチャ408は、ユーザの指がピンチ動作で画面104、108に触れることによって実現することができる。
図4Fを参照すると、画面104、108上でのスプレッドジェスチャ410が描写されている。スプレッドジェスチャ410は、例えば、第1の指で画面104、108に第1の接触428aを行い、例えば、第2の指で画面104、108に第2の接触428bを行うことによって着手することができる。第1及び第2の接触428a、bは、共通の画面104、108の共通の接触感知部分によって、共通の画面104もしくは108の異なる接触感知部分によって、または、異なる画面の異なる接触感知部分によって、検出することができる。第1の接触428aは、境界432aによって表されるように、第1の時間量の間保持され、第2の接触428bは、境界432bによって表されるように、第2の時間量の間保持される。第1及び第2の時間量は、一般に、実質的に同じであり、第1及び第2の接触428a、bは、一般に、実質的に同時に起こる。また、第1及び第2の接触428a、bは、一般に、それぞれ、対応する第1及び第2の接触移動436a、bを含む。第1及び第2の接触移動436a、bは、一般に、共通の方向である。別の言い方をすれば、第1及び第2の接触移動436a、bは、第1及び第2の接触428a、bから遠ざかる方向にある。より簡単な言い方をすれば、スプレッドジェスチャ410は、ユーザの指がスプレッド動作で画面104、108に触れることによって実現することができる。
上記のジェスチャは、図4G及び4Hによって示されるものなど、任意の方法で組み合わせて、決定された機能的な結果を生成することができる。例えば、図4Gでは、タップジェスチャ420と、タップジェスチャ420から遠ざかる方向へのドラッグまたはフリックジェスチャ412とが組み合わされている。図4Hでは、タップジェスチャ420と、タップジェスチャ420に向かう方向へのドラッグまたはフリックジェスチャ412とが組み合わされている。
ジェスチャを受信するという機能的な結果は、デバイス100、ディスプレイ110、114もしくは画面104、108の状態、ジェスチャに関連付けられたコンテキスト、または、ジェスチャの感知位置を含む多くの要因に応じて異なり得る。デバイスの状態は、一般に、デバイス100の構成、ディスプレイ方向ならびにデバイス100で受信されるユーザ及び他の入力のうちの1つまたは複数を指す。コンテキストは、一般に、アプリケーションが単一画面アプリケーションであろうが、複数画面アプリケーションであろうが、及び、アプリケーションが1つまたは複数の画面に1つまたは複数のウィンドウを表示する複数画面アプリケーションであろうが、1つまたは複数のスタックに1つまたは複数のウィンドウを表示する複数画面アプリケーションであろうが、ジェスチャによって選択された特定のアプリケーション及び現時点で実行しているアプリケーションの部分のうちの1つまたは複数を指す。ジェスチャの感知位置は、一般に、感知されたジェスチャ位置座標セットが、タッチセンサ式ディスプレイ110、114上にあるかまたはジェスチャ捕捉領域120、124にあるか、感知されたジェスチャ位置座標セットが、共通のディスプレイもしくは画面104、108に関連付けられているか、または異なるディスプレイもしくは画面104、108に関連付けられているか、及び/または、ジェスチャ捕捉領域のどの部分が感知されたジェスチャ位置座標セットを含むかを指す。
タップは、タッチセンサ式ディスプレイ110、114で受信する場合、例えば、対応するアプリケーションの実行の開始または終了、ウィンドウの最大化または最小化、スタック内でのウィンドウの並べ換え、及び、キーボード表示または他の表示画像などによるユーザ入力の提供のためにアイコンを選択する際に使用することができる。ドラッグは、タッチセンサ式ディスプレイ110、114で受信する場合、例えば、ディスプレイ内の所望の位置へアイコンもしくはウィンドウを移動する、ディスプレイ上でスタックを並べ換える、または、両ディスプレイをスパンする(その結果、選択したウィンドウは各ディスプレイの部分を同時に占有する)際に使用することができる。フリックは、タッチセンサ式ディスプレイ110、114またはジェスチャ捕捉領域120、124で受信する場合、例えば、第1のディスプレイから第2のディスプレイへウィンドウを移動する、または、両ディスプレイをスパンする(その結果、選択したウィンドウは各ディスプレイの部分を同時に占有する)際に使用することができる。しかし、ドラッグジェスチャとは異なり、フリックジェスチャは、一般に、特定のユーザ選択位置へ表示画像を移動する際には使用されないが、ユーザによる構成が不可能なデフォルト位置へ表示画像を移動する際には使用される。
ピンチジェスチャは、タッチセンサ式ディスプレイ110、114またはジェスチャ捕捉領域120、124で受信する場合、ウィンドウの表示エリアもしくはサイズを最小化もしくは増加する(通常、共通のディスプレイで全体を受信する場合)、各ディスプレイ上のスタックの最上部に表示されるウィンドウを他のディスプレイのスタックの最上部に切り替える(通常、異なるディスプレイまたは画面で受信する場合)、または、アプリケーションマネージャを表示する(スタックにウィンドウを表示する「ポップアップウィンドウ」)際に使用することができる。スプレッドジェスチャは、タッチセンサ式ディスプレイ110、114またはジェスチャ捕捉領域120、124で受信する場合、ウィンドウの表示エリアもしくはサイズを最大化もしくは減少する、各ディスプレイ上のスタックの最上部に表示されるウィンドウを他のディスプレイのスタックの最上部に切り替える(通常、異なるディスプレイまたは画面で受信する場合)、または、アプリケーションマネージャを表示する(同じまたは異なる画面上の画面外ジェスチャ捕捉領域で受信する場合)際に使用することができる。
図4Gの組み合わされたジェスチャは、共通のディスプレイまたは画面104、108内の共通のディスプレイ捕捉領域で受信する場合、ジェスチャを受信するディスプレイに一定の第1のスタックに第1のウィンドウスタック位置を保持する一方で、第2のウィンドウスタック位置を第2のウィンドウスタックに並べ替えて、ジェスチャを受信するディスプレイにウィンドウを含める際に使用することができる。図4Hの組み合わされたジェスチャは、共通のディスプレイもしくは画面104、108または異なるディスプレイもしくは画面内の異なるディスプレイ捕捉領域で受信する場合、ジェスチャのタップ部分を受信するディスプレイに一定の第1のウィンドウスタックに第1のウィンドウスタック位置を保持する一方で、第2のウィンドウスタック位置を第2のウィンドウスタックに並べ替えて、フリックまたはドラッグジェスチャを受信するディスプレイにウィンドウを含める際に使用することができる。先行例における特定のジェスチャ及びジェスチャ捕捉領域は、機能的な結果の対応するセットと関連付けられてきたが、これらの関連性は、いかなる方法でも再定義でき、ジェスチャ及び/またはジェスチャ捕捉領域及び/または機能的な結果間で異なる関連性を生成できることを理解されたい。
ファームウェア及びソフトウェア:
メモリ508は、1つまたは複数のソフトウェアコンポーネントを格納することができ、プロセッサ504は、それを実行することができる。これらのコンポーネントは、少なくとも1つのオペレーティングシステム(OS)516、アプリケーションマネージャ562、デスクトップ566及び/またはアプリケーションストア560からの1つもしくは複数のアプリケーション564a及び/または564bを含み得る。OS 516は、以前に図2と併せて説明された、フレームワーク520、1つもしくは複数のフレームバッファ548、1つもしくは複数のドライバ512及び/またはカーネル518を含み得る。OS 516は、プログラム及びデータからなる任意のソフトウェアであり得、プログラム及びデータは、コンピュータハードウェアリソースを管理し、さまざまなアプリケーション564の実行のための共通のサービスを提供する。OS 516は、任意のオペレーティングシステムであり得、少なくともいくつかの実施形態では、これらに限定されないが、リナックス(Linux)(登録商標)、アンドロイド(Android)(登録商標)、アイフォンOS(iPhone OS)(iOS(登録商標))、ウィンドウズフォン7(Windows Phone 7)(登録商標)などを含むモバイルデバイス専用である。OS 516は、本明細書に記載されるように、1つまたは複数のオペレーションを実行することによって、電話に機能性を提供するよう動作可能である。
アプリケーション564は、ユーザのための特定の機能性を実行する任意の高レベルのソフトウェアであり得る。アプリケーション564は、Eメールクライアント、ウェブブラウザ、テキストメッセージアプリケーション、ゲーム、メディアプレーヤ、オフィススイートなどのプログラムを含み得る。アプリケーション564は、アプリケーションストア560に格納することができ、アプリケーションストア560は、アプリケーション564を格納するための任意のメモリまたはデータストレージ及びそれに関連付けられた管理ソフトウェアを表し得る。実行された時点で、アプリケーション564は、メモリ508の異なるエリアで実行することができる。
フレームワーク520は、デバイス上で実行されている複数のタスクの相互作用を可能にする任意のソフトウェアまたはデータであり得る。実施形態では、フレームワーク520の少なくとも部分及び以下で説明する個別のコンポーネントは、OS 516またはアプリケーション564の一部と見なすことができる。しかし、それらのコンポーネントはそのように限定されないことを除けば、これらの部分は、フレームワーク520の一部として説明される。フレームワーク520は、これらに限定されないが、複数ディスプレイ管理(MDM)モジュール524、サーフェスキャッシュモジュール528、ウィンドウ管理モジュール532、入力管理モジュール536、タスク管理モジュール540、アプリケーションモデルマネージャ542、ディスプレイコントローラ、1つもしくは複数のフレームバッファ548、タスクスタック552、1つもしくは複数のウィンドウスタック550(ディスプレイエリア内のウィンドウ及び/またはデスクトップの論理構成である)及び/またはイベントバッファ556を含み得る。
MDMモジュール524は、デバイスの画面上でアプリケーションまたは他のデータの表示を管理するよう動作可能な1つまたは複数のモジュールを含む。MDMモジュール524の実施形態は、図5Bと併せて説明する。実施形態では、MDMモジュール524は、ドライバ512などの他のOS 516コンポーネントから及びアプリケーション564から入力を受信し、常にデバイス100の状態を決定する。入力は、アプリケーションの優先度及び要件ならびにユーザ動作に応じてディスプレイをどのように構成して割り当てるかを決定する際にMDMモジュール524を支援する。ディスプレイ構成に対する決定がなされた時点で、MDMモジュール524は、アプリケーション564とディスプレイとを結合することができる。次いで、1つまたは複数の他のコンポーネントに構成を提供して、ディスプレイでウィンドウを生成することができる。
サーフェスキャッシュモジュール528は、ウィンドウの1つまたは複数の画像を格納またはキャッシュするための任意のメモリまたはストレージ及びそれに関連付けられたソフトウェアを含む。一連のアクティブ及び/または非アクティブウィンドウ(またはデスクトップ表示などの他の表示オブジェクト)は、各ディスプレイに関連付けられ得る。アクティブウィンドウ(または他の表示オブジェクト)が現時点で表示されている。非アクティブウィンドウ(または他の表示オブジェクト)は、ある時点で開かれ、表示されていたが、現時点では表示されていない。ユーザ経験を高めるため、ウィンドウをアクティブ状態から非アクティブ状態へ移行する前に、ウィンドウ(または他の表示オブジェクト)の最後に生成された画像の「スクリーンショット」を格納することができる。サーフェスキャッシュモジュール528は、現時点で表示されていないウィンドウ(または他の表示オブジェクト)の最後のアクティブ画像のビットマップを格納するよう動作可能であり得る。したがって、サーフェスキャッシュモジュール528は、データストアに非アクティブウィンドウ(または他の表示オブジェクト)の画像を格納する。
実施形態では、ウィンドウ管理モジュール532は、それぞれのディスプレイ上でアクティブであるまたは非アクティブであるウィンドウ(または他の表示オブジェクト)を管理するよう動作可能である。ウィンドウ管理モジュール532は、MDMモジュール524、OS 516または他のコンポーネントからの情報に基づいて、ウィンドウ(または他の表示オブジェクト)がいつ可視であるかまたは非アクティブであるかを決定する。次いで、ウィンドウ管理モジュール532は、不可視ウィンドウ(または他の表示オブジェクト)を「非アクティブ状態」に置き、タスク管理モジュールタスク管理540と併せて、アプリケーションのオペレーションを一時停止する。さらに、ウィンドウ管理モジュール532は、MDMモジュール524との協働相互作用を通じて、ウィンドウ(または他の表示オブジェクト)にディスプレイ識別子を割り当てることも、ウィンドウ(または他の表示オブジェクト)に関連付けられたデータの1つまたは複数の他のアイテムを管理することもできる。また、ウィンドウ管理モジュール532は、アプリケーション564、タスク管理モジュール540、または、ウィンドウ(または他の表示オブジェクト)と相互作用するかもしくは関連付けられた他のコンポーネントに格納された情報を提供することもできる。また、ウィンドウ管理モジュール532は、動作空間内のウィンドウフォーカス及びディスプレイ座標に基づいて、入力タスクをウィンドウと関連付けることもできる。
入力管理モジュール536は、デバイスで起こるイベントを管理するよう動作可能である。イベントは、例えば、ユーザとのユーザインタフェース相互作用などのウィンドウ環境への任意の入力である。入力管理モジュール536は、イベントを受信し、イベントをイベントバッファ556に論理的に格納する。イベントは、そのようなユーザインタフェース相互作用を、画面104、108がユーザからタッチ信号を受信した場合に起こる「ダウンイベント」、ユーザの指が画面を横切って移動していることを画面104、108が決定した場合に起こる「移動イベント」、ユーザが画面104、108に触れるのを止めたことを画面104、108が決定した場合に起こる「アップイベント」などとして含み得る。これらのイベントは、入力管理モジュール536によって、受信され、格納され、他のモジュールに転送される。また、入力管理モジュール536は、デバイス上で利用可能なすべての物理的及び仮想ディスプレイの集大成である動作空間に画面入力をマッピングすることもできる。
動作空間は、一緒に「タイル化」してデバイス100の物理的寸法を模倣した、すべてのタッチセンサ式ディスプレイ110、114を含む仮想化空間である。例えば、デバイス100が展開されている場合は、動作空間サイズは960×800であり得、これは、両方のタッチセンサ式ディスプレイ110、114の組み合わされたディスプレイエリア内の画素数であり得る。ユーザが位置(40,40)で第1のタッチセンサ式ディスプレイ110に触れる場合、全画面ウィンドウは、位置(40,40)でタッチイベントを受信することができる。ユーザが位置(40,40)で第2のタッチセンサ式ディスプレイ114に触れる場合、全画面ウィンドウは、位置(520,40)でタッチイベントを受信することができるが、その理由は、第2のタッチセンサ式ディスプレイ114は第1のタッチセンサ式ディスプレイ110の右側にあり、したがって、デバイス100は、第1のタッチセンサ式ディスプレイ110の幅の分、すなわち、480画素分だけ、そのタッチにオフセットを設けることができるためである。ドライバ512からの位置情報でハードウェアイベントが起こる場合、デバイスの向き及び状態に基づいてイベントの位置が異なり得るため、フレームワーク520は、物理的位置を動作空間にアップスケールすることができる。動作空間は、それが教示するすべて及びすべての目的のためにその全体が参照により本明細書に組み込まれる、2011年7月20日に出願された「複数の入力デバイスに及ぶジェスチャ入力を受信するためのシステム及び方法(Systems and Methods for Receiving Gesture Inputs Spanning Multiple Input Devices)」と称する米国特許出願第13/187,026号明細書に記載されるようなものであり得る。
タスクは、アプリケーションであり得、サブタスクは、ユーザが、例えば、電話をする、写真を撮る、Eメールを送信するまたはマップを見るなど何かを行うために情報のやり取りを行うことができるウィンドウを提供するアプリケーションコンポーネントであり得る。各タスクには、ユーザインタフェースを描くためのウィンドウを与えることができる。ウィンドウは、通常、ディスプレイ(例えば、タッチセンサ式ディスプレイ110、114)全体を占めるが、ディスプレイ110、114より小さく、他のウィンドウ上で浮動してもよい。アプリケーションは、通常、互いに緩やかに結合された複数のサブタスクからなる。通常、アプリケーション内の1つのタスクが「メイン」タスクとして指定され、最初にアプリケーションに着手する際にユーザに提示される。次いで、各タスクは、別のタスクまたはサブタスクを開始して、異なる動作を実行することができる。
タスク管理モジュール540は、デバイスによって実行することができる1つまたは複数のアプリケーション564のオペレーションを管理するよう動作可能である。したがって、タスク管理モジュール540は、信号を受信して、アプリケーションストア560に格納されたアプリケーションまたはアプリケーションサブタスクの着手、一時停止、終了などを行うことができる。次いで、タスク管理モジュール540は、アプリケーション564の1つまたは複数のタスクまたはサブタスクのインスタンスを作成し、アプリケーション564のオペレーションを開始することができる。さらに、タスク管理モジュール540は、ユーザ入力の結果または協働フレームワーク520コンポーネントからの信号の結果、タスクまたはサブタスクの着手、一時停止または終了を行うことができる。タスク管理モジュール540は、アプリケーションの着手からアプリケーションの終了までのアプリケーション(タスク及びサブタスク)のライフサイクルの管理に対する責任を有する。
タスク管理モジュール540の処理は、タスクスタック552によって容易にし、タスクスタック552は、タスク管理モジュール540に関連付けられた論理構造である。タスクスタック552は、デバイス100上のすべてのタスク及びサブタスクの状態を維持する。オペレーティングシステム516の一部のコンポーネントがタスクまたはサブタスクにそのライフサイクルにおける移行を行わせる必要がある場合、OS 516コンポーネントは、タスク管理モジュール540に通知することができる。次いで、タスク管理モジュール540は、識別情報を使用してタスクスタック552においてタスクまたはサブタスクを位置付け、タスクがどのようなライフサイクル移行を実行する必要があるかを示す信号をタスクまたはサブタスクに送信する。移行についてタスクまたはサブタスクに通知することにより、タスクまたはサブタスクは、ライフサイクル状態移行の準備を行うことができる。次いで、タスク管理モジュール540は、タスクまたはサブタスクに対する状態移行を実行することができる。実施形態では、状態移行は、終了が必要な場合に、OSカーネル518をトリガしてタスクを終了することを伴う場合がある。
さらに、タスク管理モジュール540は、ウィンドウ管理モジュール532からの情報に基づいて、アプリケーション564を一時停止することができる。アプリケーション564の一時停止により、メモリ内のアプリケーションデータを維持することができるが、ウィンドウまたはユーザインタフェースのレンダリングからアプリケーション564を制限することも停止することもある。再びアプリケーションがアクティブ状態になった時点で、タスク管理モジュール540は、再び、アプリケーションをトリガして、そのユーザインタフェースをレンダリングすることができる。実施形態では、タスクが一時停止されれば、タスクは、タスクの終了が行われる場合は、タスクの状態を保存することができる。一時停止状態では、アプリケーションウィンドウはユーザから見えないため、アプリケーションタスクは、入力を受信することはできない。
フレームバッファ548は、ユーザインタフェースのレンダリングに使用される論理構造である。フレームバッファ548は、OSカーネル518によって作成及び破壊され得る。しかし、ディスプレイコントローラ544は、可視ウィンドウに対し、画像データをフレームバッファ548に書き込むことができる。フレームバッファ548は、1つの画面または複数の画面に関連付けられ得る。画面とのフレームバッファ548の関連性は、OSカーネル518との相互作用によって動的に制御することができる。複合ディスプレイは、複数の画面を単一のフレームバッファ548と関連付けることによって作成することができる。次いで、アプリケーションのウィンドウのユーザインタフェースのレンダリングに使用されるグラフィカルなデータは、複合ディスプレイに対し、単一のフレームバッファ548に書き込むことができ、それは複数画面104、108に出力される。ディスプレイコントローラ544は、アプリケーションのユーザインタフェースを、特定のディスプレイ110、114にマッピングされたフレームバッファ548の一部に移動させることができ、したがって、1つの画面104または108上にのみユーザインタフェースを表示することができる。ディスプレイコントローラ544は、ユーザインタフェースの制御を複数のアプリケーションに拡大し、フレームバッファ548またはその一部と関連付けられるだけの数のディスプレイに対してユーザインタフェースを制御することができる。この手法は、ディスプレイコントローラ544上のソフトウェアコンポーネントで使用中の複数の物理的画面104、108を補整する。
アプリケーションマネージャ562は、ウィンドウ環境に対するプレゼンテーション層を提供するアプリケーションである。したがって、アプリケーションマネージャ562は、タスク管理モジュール540によるレンダリングのためのグラフィカルなモデルを提供する。同様に、デスクトップ566は、アプリケーションストア560に対するプレゼンテーション層を提供する。したがって、デスクトップは、レンダリング用にウィンドウ管理モジュール556に提供することができるアプリケーションストア560内のアプリケーション564用の選択可能なアプリケーションアイコンを有する表面のグラフィカルなモデルを提供する。
さらに、フレームワークは、アプリケーションモデルマネージャ(AMM)542を含み得る。アプリケーションマネージャ562は、AMM 542とインタフェースをとることができる。実施形態では、AMM 542は、アプリケーションの状態(実行中または一時停止中)に関する状態変化情報をデバイス100から受信する。AMM 542は、サーフェスキャッシュモジュール528からのビットマップ画像を活動中(実行中または一時停止中)のタスクと関連付けることができる。さらに、AMM 542は、タスク管理モジュール540内で維持されている論理的ウィンドウスタックを、ディスプレイ外のジェスチャ捕捉エリア120を使用してウィンドウをより分ける際にユーザが捉える線形(「フィルムストリップ」または「トランプ一組」)組織に変換することができる。さらに、AMM 542は、実行中のアプリケーションのリストを、アプリケーションマネージャ562に提供することができる。
MDMモジュール524の実施形態を図5Bに示す。MDMモジュール524は、これらに限定されないが、デバイスの向き、デバイス100は開いているかまたは閉じているか、どのアプリケーション564を実行しているか、どのようにアプリケーション564を表示するか、ユーザはどの動作を行っているか、表示されているタスクなどを含むデバイスのための環境の状態を決定するよう動作可能である。ディスプレイを構成するため、MDMモジュール524は、図6A〜6Jと併せて説明されるように、これらの環境要因を解釈し、ディスプレイ構成を決定する。次いで、MDMモジュール524は、アプリケーション564または他のデバイスコンポーネントをディスプレイと結合することができる。次いで、ディスプレイコントローラ544及び/またはOS 516内の他のコンポーネントに構成を送信し、ディスプレイを生成することができる。MDMモジュール524は、これらに限定されないが、ディスプレイ構成モジュール568、優先度モジュール572、デバイス状態モジュール574、ジェスチャモジュール576、要件モジュール580、イベントモジュール584及び/または結合モジュール588のうちの1つまたは複数を含み得る。
ディスプレイ構成モジュール568は、ディスプレイ用のレイアウトを決定する。実施形態では、ディスプレイ構成モジュール568は、環境因子を決定することができる。環境因子は、1つまたは複数の他のMDMモジュール524からまたは他のソースから受信することができる。次いで、ディスプレイ構成モジュール568は、因子のリストからディスプレイに最適な構成を決定することができる。可能な構成及びそれに関連付けられた因子のいくつかの実施形態については、図6A〜6Fと併せて説明する。
優先度モジュール572は、アプリケーション564または他のコンポーネントの表示優先度を決定するよう動作可能である。例えば、アプリケーションは、単一またはデュアルディスプレイに対する優先度を有し得る。優先度モジュール572は、アプリケーションの表示優先度を決定することができ(例えば、アプリケーションの優先度設定を検査することによって)、デバイス100が好ましいモードに対応することができる状態にある場合は、アプリケーション564がモード(例えば、単一画面、二重画面、最大など)を変更することを可能にする場合がある。しかし、いくつかのユーザインタフェース方針は、そのモードが利用可能であっても、モードを認めない場合がある。デバイスの構成が変化すると、優先度を見直して、アプリケーション564に対してより良いディスプレイ構成を実現できるかどうかを決定することができる。
デバイス状態モジュール574は、デバイスの状態を決定または受信するよう動作可能である。デバイスの状態は、図3A及び3Bと併せて説明されるようなものであり得る。デバイスの状態は、ディスプレイ構成モジュール568で使用して、ディスプレイの構成を決定することができる。このように、デバイス状態モジュール574は、入力を受信し、デバイスの状態を解釈することができる。次いで、状態情報は、ディスプレイ構成モジュール568に提供される。
ジェスチャモジュール576は、MDMモジュール524の一部として示されるが、実施形態では、ジェスチャモジュール576は、MDMモジュール524から分離された別々のフレームワーク520コンポーネントであり得る。実施形態では、ジェスチャモジュール576は、ユーザインタフェースの任意の部分でユーザが何らかの動作を行っているかどうかを決定するよう動作可能である。代替の実施形態では、ジェスチャモジュール576は、構成可能なエリア112、116のみからユーザインタフェース動作を受信する。ジェスチャモジュール576は、入力管理モジュール536を用いて、構成可能なエリア112、116(または、場合により、他のユーザインタフェースエリア)上で起こるタッチイベントを受信することができ、タッチイベントを解釈して(方向、速度、距離、持続時間及びさまざまな他のパラメータを使用して)ユーザがどのようなジェスチャを実行しているかを決定することができる。ジェスチャが解釈されると、ジェスチャモジュール576は、ジェスチャの処理に着手することができ、他のフレームワーク520コンポーネントと協働して、必要なウィンドウアニメーションを管理することができる。ジェスチャモジュール576は、アプリケーションモデルマネージャ542と協働して、どのアプリケーションが実行中(アクティブまたは一時停止)か、及び、ユーザジェスチャが実行される際にアプリケーションが現れなければならない順番に関する状態情報を収集する。また、ジェスチャモジュール576は、ビットマップ(サーフェスキャッシュモジュール528から)及びライブウィンドウへの参照を受信することができ、その結果、ジェスチャが起こると、ジェスチャモジュール576は、ディスプレイ110、114を横切ってウィンドウを移動させる方法をディスプレイコントローラ544に指示することができる。したがって、一時停止されたアプリケーションは、それらのウィンドウがディスプレイ110、114を横切って移動すると、実行しているように見える。
さらに、ジェスチャモジュール576は、タスク管理モジュール540または入力管理モジュール536のいずれかからタスク情報を受信することができる。ジェスチャは、図4A〜4Hと併せて定義されるようなものであり得る。例えば、ウィンドウの移動により、ディスプレイは、ウィンドウの移動を示す一連のディスプレイフレームをレンダリングする。そのようなユーザインタフェース相互作用に関連付けられたジェスチャは、ジェスチャモジュール576で受信し解釈することができる。次いで、ユーザジェスチャについての情報はタスク管理モジュール540に送信され、タスクのディスプレイ結合が修正される。
優先度モジュール572と同様の要件モジュール580は、アプリケーション564または他のコンポーネントに対するディスプレイ要件を決定するよう動作可能である。アプリケーションは、観察しなければならないディスプレイ要件セットを有し得る。いくつかのアプリケーションは、特定のディスプレイ方向を必要とする。例えば、アプリケーション「アングリバード(Angry Birds)」は、横向きでのみ表示することができる。この種のディスプレイ要件は、要件モジュール580によって決定または受信することができる。デバイスの向きが変更されると、要件モジュール580は、アプリケーション564に対するディスプレイ要件を再び主張することができる。ディスプレイ構成モジュール568は、要件モジュール580によって提供されるアプリケーション表示要件に従ったディスプレイ構成を生成することができる。
ジェスチャモジュール576と同様のイベントモジュール584は、ユーザインタフェースに影響を及ぼし得るアプリケーションまたは他のコンポーネントで起こる1つまたは複数のイベントを決定するよう動作可能である。したがって、イベントモジュール584は、イベントバッファ556またはタスク管理モジュール540のいずれかからイベント情報を受信することができる。これらのイベントは、タスクがどのようにディスプレイと結合されるか変更することができる。イベントモジュール584は、他のフレームワーク520コンポーネントから状態変化情報を収集し、その状態変化情報に応じて作用され得る。一例では、電話が開かれるか、または閉じられる場合、または方向変化が生じる場合、新しいメッセージが二次画面にレンダリングされる。このイベントに基づく状態変化は、イベントモジュール584により受信され、解釈されることができる。次いで、イベントについての情報は、ディスプレイ構成モジュール568に送信され、ディスプレイの構成を修正することができる。
結合モジュール588は、アプリケーション564または他のコンポーネントをディスプレイ構成モジュール568によって決定された構成と結合するよう動作可能である。結合は、メモリ内で、各アプリケーションに対するディスプレイ構成をアプリケーションの表示及びモードと関連付ける。したがって、結合モジュール588は、アプリケーションをそのアプリケーションに対するディスプレイ構成(例えば、横向き、縦向き、複数画面など)と関連付けることができる。次いで、結合モジュール588は、ディスプレイ識別子をディスプレイに割り当てることができる。ディスプレイ識別子は、アプリケーションをデバイス100の特定のディスプレイと関連付ける。次いで、この結合は、格納され、ディスプレイコントローラ544、OS 516の他のコンポーネントまたは他のコンポーネントに提供され、ディスプレイが適正にレンダリングされる。結合は、動的であり、イベント、ジェスチャ、状態変化、アプリケーション優先度または要件などに関連付けられた構成変更に基づいて、変更することも更新することもできる。
ユーザインタフェース構成:
ここで図6A〜Jを参照し、デバイス100によって可能となったさまざまなタイプの出力構成について以下で説明する。
図6A及び6Bは、第1の状態にあるデバイス100の2つの異なる出力構成を描写する。具体的には、図6Aは、閉縦向き状態304にあるデバイス100を描写し、データは、一次画面104に表示される。この例では、デバイス100は、第1の縦向き構成604でタッチセンサ式ディスプレイ110を介してデータを表示する。理解できるように、第1の縦向き構成604は、デスクトップまたはオペレーティングシステムホーム画面のみを表示することができる。あるいは、デバイス100が第1の縦向き構成604でデータを表示している間、1つまたは複数のウィンドウを縦向きで提示することができる。
図6Bは、依然として閉縦向き状態304にあるデバイス100を描写するが、代わりに、データは、二次画面108に表示される。この例では、デバイス100は、第2の縦向き構成608でタッチセンサ式ディスプレイ114を介してデータを表示する。
第1または第2の縦向き構成604、608のいずれかで同様のまたは異なるデータを表示することが可能である場合がある。また、ユーザジェスチャ(例えば、ダブルタップジェスチャ)、メニュー選択または他の手段をデバイス100に提供することによって、第1の縦向き構成604と第2の縦向き構成608との間を移行することが可能である場合もある。また、他の適切なジェスチャを使用して、構成間を移行することもできる。その上、デバイス100がどの状態に移動されるかに応じて、第1または第2の縦向き構成604、608から本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もある。
代替の出力構成は、第2の状態にあるデバイス100によって対応することができる。具体的には、図6Cは、第3の縦向き構成を描写し、データは、一次画面104と二次画面108の両方に同時に表示される。第3の縦向き構成は、デュアル縦向き(PD)出力構成と呼ばれる場合がある。PD出力構成では、一次画面104のタッチセンサ式ディスプレイ110は、第1の縦向き構成604でデータを描写する一方で、二次画面108のタッチセンサ式ディスプレイ114は、第2の縦向き構成608でデータを描写する。第1の縦向き構成604と第2の縦向き構成608の同時プレゼンテーションは、デバイス100が開縦向き状態320にある場合に起こり得る。この構成では、デバイス100は、1つのアプリケーションウィンドウを1つのディスプレイ110または114に、2つのアプリケーションウィンドウを(それぞれのディスプレイ110及び114に1つずつ)、1つのアプリケーションウィンドウと1つのデスクトップを、または、1つのデスクトップを表示することができる。また、他の構成も可能である場合がある。デバイス100がどの状態に移動されるかに応じて、構成604、608の同時表示から本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もあることを理解されたい。その上、この状態にある間、アプリケーションの表示優先度により、両ディスプレイがアクティブであり、同じアプリケーションで異なるウィンドウを表示する両面モードにデバイスが置かれる場合がある。例えば、カメラアプリケーションは、一面でファインダ及び制御を表示することができる一方で、他面は被写体で見ることができるミラーリングされたプレビューを表示する。また、2人のプレーヤによる同時プレーを伴うゲームも、両面モードを利用することができる。
図6D及び6Eは、第3の状態にあるデバイス100の2つのさらなる出力構成を描写する。具体的には、図6Dは、閉横向き状態340にあるデバイス100を描写し、データは、一次画面104に表示される。この例では、デバイス100は、第1の横向き構成612でタッチセンサ式ディスプレイ110を介してデータを表示する。本明細書に記載される他の構成に類似して、第1の横向き構成612は、デスクトップ、ホーム画面、アプリケーションデータを表示する1つもしくは複数のウィンドウまたは同様のものを表示することができる。
図6Eは、依然として閉横向き状態340にあるデバイス100を描写するが、代わりに、データは、二次画面108に表示される。この例では、デバイス100は、第2の横向き構成616でタッチセンサ式ディスプレイ114を介してデータを表示する。第1または第2の横向き構成612、616のいずれかで同様のまたは異なるデータを表示することが可能である場合がある。ツイスト及びタップジェスチャまたはフリップ及びスライドジェスチャの一方または両方をデバイス100に提供することによって、第1の横向き構成612と第2の横向き構成616との間を移行することが可能である場合もある。また、他の適切なジェスチャを使用して、構成間を移行することもできる。その上、デバイス100がどの状態に移動されるかに応じて、第1または第2の横向き構成612、616から本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もある。
図6Fは、第3の横向き構成を描写し、データは、一次画面104と二次画面108の両方に同時に表示される。第3の横向き構成は、デュアル横向き(LD)出力構成と呼ばれる場合がある。LD出力構成では、一次画面104のタッチセンサ式ディスプレイ110は、第1の横向き構成612でデータを描写する一方で、二次画面108のタッチセンサ式ディスプレイ114は、第2の横向き構成616でデータを描写する。第1の横向き構成612と第2の横向き構成616の同時プレゼンテーションは、デバイス100が開横向き状態340にある場合に起こり得る。デバイス100がどの状態に移動されるかに応じて、構成612、616の同時表示から本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もあることを理解されたい。
図6G及び6Hは、さらに別の状態にあるデバイス100の2つの図を描写する。具体的には、デバイス100は、イーゼル状態312にあるものとして描写される。図6Gは、第1のイーゼル出力構成618をタッチセンサ式ディスプレイ110に表示できることを示す。図6Hは、第2のイーゼル出力構成620をタッチセンサ式ディスプレイ114に表示できることを示す。デバイス100は、第1のイーゼル出力構成618または第2のイーゼル出力構成620のいずれかを個別に描写するよう構成することができる。あるいは、イーゼル出力構成618、620の両方を同時に提示することができる。いくつかの実施形態では、イーゼル出力構成618、620は、横向き出力構成612、616と同様でも同一でもよい。また、デバイス100は、変形イーゼル状態316にある間、イーゼル出力構成618、620の一方または両方を表示するよう構成することができる。イーゼル出力構成618、620の同時利用は、2人用のゲーム(例えば、バトルシップ(Battleship)(登録商標)、チェス、チェッカなど)、2人以上のユーザが同じデバイス100及び他のアプリケーションを共有する複数ユーザ会議を容易にできることを理解されたい。理解できるように、デバイス100がどの状態に移動されるかに応じて、構成618、620の一方または両方のディスプレイから本明細書に記載される他の任意の構成へデバイス100を移行することが可能である場合もある。
図6Iは、デバイス100が開縦向き状態320にある間に対応することができるさらなる別の出力構成を描写する。具体的には、デバイス100は、本明細書で縦向きマックス(PMax)構成624と呼ばれる縦向き構成で、両方のタッチセンサ式ディスプレイ110、114にわたって単一の連続画像を提示するよう構成することができる。この構成では、データ(例えば、単一画像、アプリケーション、ウィンドウ、アイコン、ビデオなど)は、分割して、タッチセンサ式ディスプレイの1つに部分的に表示する一方で、データの他の部分を他のタッチセンサ式ディスプレイに表示することができる。Pmax構成624は、デバイス100上に特定の画像を表示するためのより大きな表示及び/またはより良好な解像度を容易にすることができる。他の出力構成と同様に、デバイス100がどの状態に移動されるかに応じて、Pmax構成624から本明細書に記載される他の任意の出力構成へデバイス100を移行することが可能である場合がある。
図6Jは、デバイス100が開横向き状態348にある間に対応することができるさらなる別の出力構成を描写する。具体的には、デバイス100は、本明細書で横向きマックス(LMax)構成628と呼ばれる横向き構成で、両方のタッチセンサ式ディスプレイ110、114にわたって単一の連続画像を提示するよう構成することができる。この構成では、データ(例えば、単一画像、アプリケーション、ウィンドウ、アイコン、ビデオなど)は、分割して、タッチセンサ式ディスプレイの1つに部分的に表示する一方で、データの他の部分を他のタッチセンサ式ディスプレイに表示することができる。Lmax構成628は、デバイス100上に特定の画像を表示するためのより大きな表示及び/またはより良好な解像度を容易にすることができる。他の出力構成と同様に、デバイス100がどの状態に移動されるかに応じて、Lmax構成628から本明細書に記載される他の任意の出力構成へデバイス100を移行することが可能である場合がある。
図7A及び7Bに示されるように、デバイス100は、少なくとも1つのウィンドウスタック700でデスクトップ及びウィンドウのうちの少なくとも一つを管理する。ウィンドウスタック700は、複数画面デバイスに対するアクティブ及び非アクティブウィンドウのうちの少なくとも一つ又は表示オブジェクトの論理構成である。例えば、ウィンドウスタック700は、トランプ一組又はレンガの積み重ねと論理的に同様であってもよく、図7A及び7Bに示されるように、1つ又は複数のウィンドウ又は表示オブジェクト(例えば、デスクトップ)は、順番に配置される。アクティブウィンドウは、タッチセンサ式ディスプレイ110、114の少なくとも1つに現時点で表示されているウィンドウである。例えば、ウィンドウ1 708は、アクティブウィンドウであり、タッチセンサ式ディスプレイ114のうちの1つのみに表示される。図7Aに示される実施形態では、デバイス100は、閉状態304において、構成608でウィンドウ1 708を表示している。非アクティブウィンドウは、開かれ、表示されていたが、現時点ではアクティブウィンドウの「背後」にあり、表示されていないウィンドウである。実施形態では、非アクティブウィンドウは、一時停止中であるアプリケーション用であってもよく、したがって、ウィンドウはアクティブコンテンツを表示していない。例えば、ウィンドウ2 712及びウィンドウ3 716は非アクティブウィンドウである。
ウィンドウスタック700は、さまざまな構成又は組織構造を有し得る。図7Aに示される実施形態では、デバイス100は、閉状態304で、第2の縦向き構成608にあり、デバイス100は、第1のタッチセンサ式ディスプレイ114に関連付けられた第1のスタック704を含む。したがって、各タッチセンサ式ディスプレイ114は、関連付けられたウィンドウスタック704を有し得る。他の実施形態では、複合ディスプレイの全体を包含する単一のウィンドウスタックが存在する。複合ディスプレイは、2つのタッチセンサ式ディスプレイ110、114を含む表示スペース全体を定義する論理的構造である。デバイス100は、複合ディスプレイの一部又は全体を占有するようにウィンドウ又は表示オブジェクトがサイズ変更される場合、複合ディスプレイに対して単一のスタックを有し得る。したがって、スタック704は、より大きな複合ウィンドウスタックの一部を表すことができ、デバイス100は閉状態304であるため、その一部は示されていない。
図7Bでは、2つのウィンドウスタック(又はウィンドウスタックの2つの部分)704、724は、各々のスタック704、724に配置された異なる数のウィンドウ又は表示オブジェクトを有し得る。さらに、2つのウィンドウスタック704、724は、異なる方法で識別し、別々に管理することもできる。図7Aに示されるように、第1のウィンドウスタック704は、第1のウィンドウ708から次のウィンドウ712へ、そして最後のウィンドウ716へ、そして最終的にデスクトップ720(実施形態ではウィンドウスタック704の「最下部」である)へと順番に配置することができる。実施形態では、デスクトップ720下のウィンドウスタックにアプリケーションウィンドウを配置することができ、また、デスクトップ又は他の方向への変更中に、デスクトップ720を他のウィンドウ上のスタックの「最上部」へ持ってくることができるため、デスクトップ720は常に「最下部」であるとは限らない。例えば、図7Bに示されるように、デバイス100を開状態320へ移行させる。デバイス100は、図6Cに示されるようなディスプレイ構成へと移行する。そのため、タッチセンサ式ディスプレイ110は、タッチセンサ式ディスプレイ110と関連付けられるウィンドウを有さない。したがって、デスクトップ720は、タッチセンサ式ディスプレイ110に対して表示される。したがって、第2のスタック724は、デスクトップ720を含めることができ、実施形態では、単一のデスクトップエリアであり、デスクトップ720は、両方のウィンドウスタック704とウィンドウスタック724のすべてのウィンドウ下にある。2つのウィンドウスタック又は2つの部分704、724を有する単一のウィンドウスタックを管理するための論理データ構造は、図8と併せて説明されるようなものであり得る。
デバイスを開いた後のウィンドウスタック704の構成を図7C〜7Eに示す。ウィンドウスタック704は、3つの「立体」図で示される。図7Cでは、ウィンドウスタック704/724の上面を示す。ウィンドウスタック704/724の2つの隣接する側面は、図7D及び7Eに示す。この実施形態では、ウィンドウスタック704/724は、レンガの積み重ねに似ている。ウィンドウは、互いに積み重ねられる。図7Cは、ウィンドウスタック704/724を上方から見ているため、複合ディスプレイ728の異なる部分においてウィンドウスタック704/724の最上部のウィンドウのみが見える。デスクトップ720又はウィンドウは、複合ディスプレイ728の一部又は全体を占有することができる。図7Cは、複合ディスプレイ728を示す。複合ディスプレイ728は、タッチセンサ式ディスプレイ110、114の全体のディスプレイエリアを包含するか又は含む。複合ディスプレイ728のサイズは、デバイス100の向きに基づいて変更することができる。例えば、閉状態の場合のデバイス100の複合ディスプレイ728のサイズは、図7Aに示されるように、タッチセンサ式ディスプレイ110又は114のうちの1つのエリアのみを含み得る。複合ディスプレイ728は、図7B及び7Cに示されるように、デバイス100が開かれると、タッチセンサ式ディスプレイ110、114両方を含むように拡大される。いくつかのウィンドウ又は表示オブジェクトは、複合ディスプレイ728と関連付けられ、複合ディスプレイ728の寸法が変化すると、ウィンドウ又は表示オブジェクトの寸法も変化する。実施形態では、そのような一表示オブジェクトは、デスクトップ720であってもよく、デバイス100が開かれて複合ディスプレイ728全体を占めると同時に、その寸法が変化し得る。
示される実施形態では、デスクトップ720がウィンドウスタック704/724の最下部の表示オブジェクト、ウィンドウ又は「レンガ」である。そこから、ウィンドウ1 708、ウィンドウ2 712及びウィンドウ3 716が積層される。ウィンドウ1 708、ウィンドウ2 712及びウィンドウ3 716は、複合ディスプレイ728のほんの一部を占有する。したがって、スタック724の別の部分は、デスクトップ718のみを含む。複合ディスプレイ728の任意の部分の最上部のウィンドウ又は表示オブジェクトのみが実際にレンダリングされ、表示される。したがって、図7Cの上面図に示されるように、ウィンドウスタック704/724の異なる部分の最上部にあることによって、ウィンドウ1 708及びデスクトップ718が表示される。ウィンドウは、寸法変更して、複合ディスプレイ728のほんの一部を占有し、ウィンドウスタック704の下方のウィンドウを「見えるようにする」ことができる。例えば、デスクトップ718は、スタックにおいて、ウィンドウ1 708、ウィンドウ2 712及びウィンドウ3 716の下方にあるが、依然として表示されている。ウィンドウ及びデスクトップのこの構成は、ウィンドウスタック704の最上部のウィンドウを表示している際にデバイスが開かれる場合に起こる。
デスクトップ718がスタック内のどこにどのように配置されるかは、デバイス100の向き、どのプログラム、機能、ソフトウェアなどがデバイス100上で実行されているかについてのコンテキスト、デバイス100が開かれた際にどのようにスタックが配置されるかなどに依存し得る。デスクトップ718又は他のウィンドウと関連付けられた論理データ構造は、デバイス100を開いた際に変化しない場合があるが、論理データ構造は、ウィンドウ及びデスクトップを表示する方法を決定することができる。ユーザインタフェース又は他のイベント若しくはタスクがスタックの配置を変化させると、配置の変化を反映するため、ウィンドウ又はデスクトップの論理的構造が変更され得る。
図7A〜7Cとは異なる構成からデバイスが開かれたために変更されたウィンドウスタック構成724の別の実施形態を図7F〜7Jに示す。図7Fに示される実施形態では、デバイス100は閉状態304であり、構成608でウィンドウ1 708を表示している。ウィンドウ2 712及びウィンドウ3 716は、非アクティブウィンドウである。図7Fに示される実施形態では、デバイス100は、閉状態304で、第1の縦向き構成604にあり、デバイス100は、第1のタッチセンサ式ディスプレイ110に関連付けられた第2のスタック724を含む。したがって、タッチセンサ式ディスプレイ110は、関連付けられたウィンドウスタック724を有し得る。他の実施形態では、複合ディスプレイの全体を包含する単一のウィンドウスタックが存在する。デバイス100は、複合ディスプレイの一部又は全体を占有するようにウィンドウ又は表示オブジェクトがサイズ変更される場合、複合ディスプレイに対して単一のスタックを有し得る。したがって、スタック724は、より大きな複合ディスプレイスタックの一部を表し得、デバイス100は閉状態304であるため、その一部は示されていない。
図7Gでは、2つのウィンドウスタック(又はウィンドウスタックの2つの部分)704、724は、各々のスタック704、724に配置された異なる数のウィンドウ又は表示オブジェクトを有し得る。さらに、2つのウィンドウスタック704、724は、異なる方法で識別し、別々に管理することもできる。図7Fに示されるように、第2のウィンドウスタック724は、第1のウィンドウ708から次のウィンドウ712へ、そして最後のウィンドウ716へ、そして最終的にデスクトップ720(実施形態ではウィンドウスタック704の「最下部」である)へと順番に配置することができる。実施形態では、デスクトップ720下のウィンドウスタックにアプリケーションウィンドウを配置することができ、また、方向の変更中など、デスクトップ720を他のウィンドウ上のスタックの「最上部」へ持ってくることができるため、デスクトップ720は常に「最下部」であるとは限らない。例えば、図7Gに示されるように、デバイス100を開状態320へ移行させる。デバイス100は、図6Cに示されるようなディスプレイ構成へと移行する。そのため、タッチセンサ式ディスプレイ114は、タッチセンサ式ディスプレイ114と関連付けられるウィンドウを有さない。したがって、デスクトップ720は、タッチセンサ式ディスプレイ114に対して表示される。したがって、第2のスタック704は、デスクトップ720を含めることができ、実施形態では、単一のデスクトップエリアであり、デスクトップ720は、両方のウィンドウスタック704とウィンドウスタック724のすべてのウィンドウ下にある。2つのウィンドウスタック又は2つの部分704、724を有する単一のウィンドウスタックを管理するための論理データ構造は、図8と併せて説明されるようなものであり得る。
デバイスを開いた後のウィンドウスタック724の構成を図7H〜7Jに示す。ウィンドウスタック704は、3つの「立体」図で示される。図7Hでは、ウィンドウスタック704/724の上面を示す。ウィンドウスタック704/724の2つの隣接する「側面」は、図7I及び7Jに示す。この実施形態では、ウィンドウスタック704/724は、レンガの積み重ねに似ている。ウィンドウは、互いに積み重ねられる。図7Hは、ウィンドウスタック704/724を上方から見ているため、複合ディスプレイ728の異なる部分においてウィンドウスタック704/724の最上部のウィンドウ/表示オブジェクトのみが見える。デスクトップ720又はウィンドウは、複合ディスプレイ728の一部又は全体を占有することができる。
示される実施形態では、デスクトップ720がウィンドウスタック704/724の最下部の表示オブジェクト、ウィンドウ又は「レンガ」である。そこから、ウィンドウ1 708、ウィンドウ2 712及びウィンドウ3 716が積層される。ウィンドウ1 708、ウィンドウ2 712及びウィンドウ3 716は、複合ディスプレイ728のほんの一部を占有する。したがって、スタック724の別の部分は、デスクトップ718のみを含む。複合ディスプレイ728の任意の部分の最上部のウィンドウ又は表示オブジェクトのみが実際にレンダリングされ、表示される。したがって、図7Hの上面図に示されるように、ウィンドウスタック704/724の異なる部分の最上部にあることによって、ウィンドウ1 708及びデスクトップ720が表示される。ウィンドウは、寸法変更して、複合ディスプレイ728のほんの一部を占有し、ウィンドウスタック704の下方のウィンドウを「見えるようにする」ことができる。例えば、デスクトップ718は、スタックにおいて、ウィンドウ1 708、ウィンドウ2 712及びウィンドウ3 716の下方にあるが、依然として表示されている。ウィンドウ及びデスクトップのこの構成は、ウィンドウスタック704の最上部のウィンドウを表示している際にデバイスが開かれる場合に起こる。
デスクトップ718がスタック内のどこにどのように配置されるかは、デバイス100の向き、どのプログラム、機能、ソフトウェアなどがデバイス100上で実行されているかについてのコンテキスト、デバイス100が開かれた際にどのようにスタックが配置されるかなどに依存し得る。デスクトップ718又は他のウィンドウと関連付けられた論理データ構造は、デバイス100を開いた際に変化しない場合があるが、論理データ構造は、ウィンドウ及びデスクトップを表示する方法を決定することができる。ユーザインタフェース又は他のイベント若しくはタスクがスタックの配置を変化させると、配置の変化を反映するため、ウィンドウ又はデスクトップの論理的構造が変更され得る。
ウィンドウスタック内のウィンドウまたはデスクトップの配置を管理するための論理データ構造800を図8に示す。論理データ構造800は、オブジェクト、記録、ファイルなどにかかわらず、データの格納に使用される任意のデータ構造であり得る。論理データ構造800は、プロトコルまたは規格にかかわらず、いかなるタイプのデータベースまたはデータ格納システムにも格納することができる。実施形態では、論理データ構造800は、情報の容易な格納及び回収を可能にする論理構成でデータを格納する1つまたは複数の部分、フィールド、属性などを含む。以下では、これらの1つまたは複数の部分、フィールド、属性などを単なるフィールドとして説明するものとする。フィールドは、ウィンドウ識別子804、寸法808、スタック位置識別子812、ディスプレイ識別子816及び/またはアクティブインジケータ820に対するデータを格納することができる。ウィンドウスタック内の各ウィンドウは、関連する論理データ構造800を有し得る。図8では、単一の論理データ構造800が示されているが、楕円824によって表されるように、ウィンドウスタックで使用されるより多くのまたはより少ない論理データ構造800が存在し得る(スタック内のウィンドウまたはデスクトップの数に基づいて)。さらに、楕円828によって表されるように、図8に示されるものより多くのまたはより少ないフィールドが存在し得る。
ウィンドウ識別子804は、ウィンドウスタック内の他のウィンドウ又は表示オブジェクトとの関連で、関連ウィンドウ又は表示オブジェクトを独自に識別する任意の識別子(ID)を含み得る。ウィンドウ識別子804は、グローバル一意識別子(GUID)、数値ID、英数字IDまたは他のタイプの識別子であり得る。実施形態では、ウィンドウ識別子804は、開くことができるウィンドウの数に基づく1桁、2桁または任意の桁数であり得る。代替の実施形態では、ウィンドウ識別子804のサイズは、開いているウィンドウの数に基づいて変化し得る。ウィンドウが開いている間、ウィンドウ識別子804は、静的で、不変のままであり得る。
寸法808は、複合ディスプレイ704のウィンドウ又は表示オブジェクトの寸法を含み得る。例えば、寸法808は、ウィンドウ又は表示オブジェクトの2つ以上の角部の座標を含むことも、1つの座標ならびにウィンドウ又は表示オブジェクトの幅及び高さに対する寸法を含むこともある。これらの寸法808は、ウィンドウ又は表示オブジェクトが複合ディスプレイ704のどの部分を占有することができるかを描写することができ、それは、複合ディスプレイ704全体でも、複合ディスプレイ704のほんの一部でもあり得る。例えば、ウィンドウ1 708は、図7C〜7Hに示されるように、ウィンドウ1 708が複合ディスプレイ728のディスプレイエリアのほんの一部を占有することを示す寸法808を有し得る。ウィンドウがウィンドウスタック内で移動されるかまたは挿入されると、寸法808は変化し得る。
スタック位置識別子812は、ウィンドウ又は表示オブジェクトのスタック内での位置を識別することができるか、または、リストもしくはスタックなどのデータ構造内のウィンドウの制御記録から推定することができる任意の識別子であり得る。スタック位置識別子812は、GUID、数値ID、英数字IDまたは他のタイプの識別子であり得る。各ウィンドウまたはデスクトップは、スタック位置識別子812を含み得る。例えば、図7Aの実施形態に示されるように、スタック1 704のウィンドウ1 708は、ウィンドウ708がスタック 704の第1のウィンドウであり、アクティブウィンドウであることを特定する1のスタック位置識別子812を有し得る。同様に、ウィンドウ2 712は、ウィンドウ2 712がスタック 704の第2のウィンドウであることを表す2のスタック位置識別子812を有し得る。したがって、スタックのタイプに応じて、スタック位置識別子812は、スタック内でのウィンドウ又は表示オブジェクトの位置を表すことができる。
ディスプレイ識別子816は、第1のディスプレイ110もしくは第2のディスプレイ114、または、両方のディスプレイで構成された複合ディスプレイ728などの特定のディスプレイにウィンドウ又は表示オブジェクトが関連付けられていることを特定することができる。図7Aに示されるように、このディスプレイ識別子816は複数スタックシステムで必要とされない場合があるが、ディスプレイ識別子816は、図7Bの連続スタック内のウィンドウ又は表示オブジェクトが特定のディスプレイに表示されているかどうかを示すことができる。したがって、デスクトップ720は、図7Cにおいて、2つの部分を有し得る。第1の部分は、第1のディスプレイ110に対するディスプレイ識別子816を有し得る一方で、第2の部分は、第2のディスプレイ114に対するディスプレイ識別子816を有し得る。しかし、代替の実施形態では、デスクトップ720は、ディスプレイ識別子816が複合ディスプレイ728を特定したことを表す単一のディスプレイ識別子816を有し得る。
ディスプレイ識別子816と同様に、アクティブインジケータ820は、スタック位置1のウィンドウ又は表示オブジェクトがアクティブであり、表示されているため、図7Aのデュアルスタックシステムで必要とされない場合がある。代替の実施形態では、アクティブインジケータ820は、スタック内のどのウィンドウが表示されているかを示すことができる。したがって、ウィンドウ1 708は、示され、かつ単一のアクティブインジケータ820を有し得る。アクティブインジケータ820は、ウィンドウ又は表示オブジェクトがアクティブであるかまたは表示されていることを表す簡単なフラグまたはビットであり得る。
ウィンドウスタックを作成するための方法900の実施形態を図9に示す。図9では、方法900の工程の一般的な順番を示す。一般に、方法900は、開始動作904で始まり、終了動作924で終了する。方法900は、図9に示されるものより多くのまたはより少ない工程を含むことも、異なる形で工程の順番を整えることもできる。方法900は、コンピュータシステムによって実行され、コンピュータ可読媒体で符号化されるかまたは格納される一連のコンピュータ実行可能命令として実行することができる。以下では、図1〜8と併せて説明されるシステム、コンポーネント、モジュール、ソフトウェア、データ構造、ユーザインタフェースなどを参照して、方法900を説明する。
図3A〜3Bで説明されるように、ステップ908では、複数画面デバイス100は方向変化を受信することができ、それにより、デバイス100を閉状態304から開状態320へ変化させる。方向変化は、ホール効果センサ、タイマなどからのハードウェア入力によって検出及び信号伝達することができる。方向変化は、タスク管理モジュール540で受信し、複数ディスプレイ管理モジュール524に送信することができる。複数ディスプレイ管理モジュール524は、変化を解釈して、閉縦向きディスプレイ604、608から開縦向きディスプレイ(図6Cに示されるように)に又は閉横向きディスプレイ612、616から開横向き構成(図6Fに示されるように、図6A〜6Fと併せて説明されるように)に、ディスプレイの構成を変化させることができる。実施形態では、タスク管理モジュール540は、複数ディスプレイ管理モジュール524に作用されるタスクスタック552にユーザインタフェース相互作用を置く。さらに、タスク管理モジュール540は、複数ディスプレイ管理モジュール524からの情報を待ち、ウィンドウ管理モジュール532に命令を送信して、ウィンドウスタック704にウィンドウを作成する。
ステップ912では、複数ディスプレイ管理モジュール524は、タスク管理モジュール540から命令を受信すると、デスクトップ786を明示するかどうかを決定する。実施形態では、デスクトップ786は、デバイス100が開かれる前は、ウィンドウスタック704/724の最下部であり得る。しかし、デバイス100は、スタック704/724の最後のウィンドウを表示し得る。言い換えれば、スタック704/724の最上部のウィンドウが表示されており、開状態において新たに露出したディスプレイを占めることができるウィンドウはない。例えば、図7Aでは、ウィンドウ1 708の「左側」にはウィンドウはない。そのため、複数ディスプレイ管理モジュール524は、図7Bに示されるように、ディスプレイ110にデスクトップ720を提示する必要がある。デスクトップ720は、一般に、複合ディスプレイ728全体に広がるため、別のウィンドウがデスクトップ720を覆わない限り、デスクトップ720は、開かれたデバイス100上に常に表示される。図7B及び7Fに示されるように、デスクトップ720を覆うウィンドウはないため、複数ディスプレイ管理モジュール524は、開かれたディスプレイにデスクトップ720を表示することを決定する。
実施形態では、複数ディスプレイ管理モジュール524のデバイス状態モジュール574は、デバイスがどのように方向付けられているか、又は、デバイスがどの状態にあるか(例えば、開状態、閉状態、縦向き状態など)を決定することができる。さらに、優先度モジュール572及び要件モジュール580のうちの少なくとも一方は、デスクトップ786の優先度に基づいて、デスクトップ786をどのように表示するかを決定することができる。次いで、ディスプレイ構成モジュール568は、デバイス状態モジュール574、優先度モジュール572及び他のフレームワークコンポーネント520のうちの少なくとも一方からの入力を使用して、現時点におけるウィンドウスタック704/724を評価することができる。他のウィンドウは移動しないため、新しいディスプレイに示されているデスクトップ720は、通常、ウィンドウスタック704/724の他のウィンドウに影響を及ぼさない。しかし、複合ディスプレイ728全体を占めるようにデスクトップ720が修正され、デバイス100を開くと同時に拡大されるため、デスクトップ720の寸法808は変化し得る。
可視性アルゴリズムは、実施形態では、複合ディスプレイ728のすべての部分に対して、どのウィンドウ/表示オブジェクトがスタック704/724の最上部にあるかを決定する。例えば、可視性アルゴリズムは、図7B又は7Fで見られるように、デバイス100が開かれてから、スタック704の一方の部分でデスクトップ786が明示されていることを決定する。さらに、図7B又は7Fで見られるように、スタック704の他方の部分でウィンドウ1 708が表示されている。どこでデスクトップ720を明示するかを決定すると、ディスプレイ構成モジュール568は、デスクトップ720に対するディスプレイ寸法808、ディスプレイ識別子816及びスタック位置識別子812のうちの少なくとも一方を変更することができる。次いで、複数ディスプレイ管理モジュール524は、寸法808、ディスプレイ識別子816及びスタック位置識別子812のうちの少なくとも一方をタスク管理モジュール540に返送することができる。
実施形態では、タスク管理モジュール540は、寸法808、ディスプレイ識別子816、スタック位置識別子812、及び他の情報のうちの少なくとも1つ及び命令を送信し、ウィンドウ管理モジュール532にデスクトップ786をレンダリングする。ステップ920では、ウィンドウ管理モジュール532及びタスク管理モジュール540は、論理データ構造800を変更することができる。タスク管理モジュール540とウィンドウ管理モジュール532は両方とも、ウィンドウスタック704/724のコピーを管理することができる。これらのウィンドウスタック704/724のコピーは、ウィンドウ管理モジュール532とタスク管理モジュール540との間の通信を通じて、同期化することも、同様に保持することもできる。したがって、ウィンドウ管理モジュール532及びタスク管理モジュール540は、複数ディスプレイ管理モジュール524によって決定された情報に基づいて、デスクトップ720及び1つ又は複数のウィンドウに対する寸法808、ディスプレイ識別子816及びスタック位置識別子812のうちの少なくとも一方を変更することができる。次いで、論理データ構造800は、ウィンドウ管理モジュール532とタスク管理モジュール540の両方で格納することができる。さらに、ウィンドウ管理モジュール532及びタスク管理モジュール540は、その後、ウィンドウスタック704/724及び論理データ構造800を管理することができる。
複数画面デバイスに関連するウィンドウスタックに関連して、本開示の例示的なシステム及び方法について説明してきた。しかし、本開示を不必要に曖昧にすることを避けるため、前の記述では多くの公知の構造及びデバイスを省略する。この省略は、特許請求の範囲を限定するものと解釈してはならない。具体的な詳細は、本開示の理解を与えるために記載する。しかし、本開示は、本明細書に記載される具体的な詳細の域を超えるさまざまな方法で実施できることを理解されたい。
その上、本明細書に示される例示的な態様、実施形態及び/または構成は、並置されるシステムのさまざまなコンポーネントを示すが、システムのあるコンポーネントは、LAN及び/またはインターネットなどの分散型ネットワークの遠方部に、または、専用システム内で遠隔設置することができる。したがって、システムのコンポーネントを図5A及び図5のソフトウェアモジュール等の1つまたは複数のデバイスに組み合わせることも、アナログ及び/もしくはデジタルの電気通信ネットワーク、パケット交換ネットワーク、または、回路交換ネットワークなどの分散型ネットワークの特定のノード上に並置することもできることを理解されたい。前の記述から、演算効率のため、システムのコンポーネントは、システムのオペレーションに影響を及ぼすことなく、コンポーネントの分散型ネットワーク内のいずれの位置にも配置できることが理解されよう。例えば、さまざまなコンポーネントは、PBX及びメディアサーバ、ゲートウェイなどのスイッチに、1つもしくは複数の通信デバイスに、1つもしくは複数のユーザの構内で、または、それらのいくつかの組合せで配置することができる。同様に、システムの1つまたは複数の機能部分は、電気通信デバイスと関連コンピューティングデバイスとの間で分散させることが可能である。
その上、要素を接続するさまざまなリンクは、有線リンクでも無線リンクでも、その任意の組合せでも、接続された要素への及び接続された要素からのデータの供給及び/または通信が可能な他の任意の公知のまたは後に開発された要素でもあり得ることを理解されたい。これらの有線または無線リンクは、保護されたリンクでもあり得、暗号化された情報を通信できる場合もある。リンクとして使用される伝送媒体は、例えば、同軸ケーブル、銅線及び光ファイバを含む任意の適切な電気信号のキャリアであり得、電波及び赤外線データ通信中に生成されるものなどの音波または光波の形をとることができる。
また、イベントの特定のシーケンスとの関連でフローチャートについて論じ示してきたが、開示される実施形態、構成及び態様のオペレーションに実質的に影響を及ぼすことなく、このシーケンスに対する変更、追加及び省略が起こり得ることを理解されたい。
本開示の多くの変形形態及び変更形態を使用することができる。他のものを提供することなく、本開示のいくつかの特徴を提供することも可能であろう。例えば、一変更形態では、ウィンドウスタック700は、トランプ一組ではなくカルーセルまたはローロデックスに類似している。従って、ウィンドウは、一つのタッチセンサ式ディスプレイ110から別のタッチセンサ式ディスプレイ114に循環する。例えば、ウィンドウが右に押され、別のウィンドウの背後のスタックの最後に位置することとなる。スタックが継続して右方向に動く場合、第1のタッチセンサ式ディスプレイ110で開かれていたウィンドウが最終的に第2のタッチセンサ式ディスプレイ上に現れることになる。スタックのこれらの動き及び変化は、上記のように説明した方法及び論理データ構造を用いて管理される。別の実施形態では、ウィンドウスタックについて他の配置であってもよい。
さらなる別の実施形態では、本開示のシステム及び方法は、専用コンピュータ、プログラムされたマイクロプロセッサもしくはマイクロコントローラ及び周辺集積回路素子、ASICもしくは他の集積回路、デジタル信号プロセッサ、個別素子回路などの配線電子もしくは論理回路、PLD、PLA、FPGA、PALなどのプログラム可能論理デバイスもしくはゲートアレイ、専用コンピュータ、任意の同等な手段、または、同様のものと併せて実施することができる。一般に、本明細書に示される方法論の実施が可能な任意のデバイスまたは手段を使用して、本開示のさまざまな態様を実施することができる。開示される実施形態、構成及び態様に使用できる例示的なハードウェアは、コンピュータ、携帯用デバイス、電話(例えば、携帯電話、インターネット可能な、デジタル、アナログ、ハイブリッド及び他のもの)、及び、当技術分野で知られている他のハードウェアを含む。これらのデバイスのいくつかは、プロセッサ(例えば、単一または複数のマイクロプロセッサ)、メモリ、不揮発性記憶装置、入力デバイス及び出力デバイスを含む。その上、これらに限定されないが、分散処理もしくはコンポーネント/オブジェクト分散処理、並列処理、または、仮想マシン処理を含む代替のソフトウェア実装形態は、本明細書に記載される方法を実施するよう構築することもできる。
さらなる別の実施形態では、開示される方法は、さまざまなコンピュータまたはワークステーションプラットフォームで使用することができるポータブルソースコードを提供するオブジェクトまたはオブジェクト指向ソフトウェア開発環境を使用するソフトウェアと併せて容易に実施することができる。あるいは、開示されるシステムは、標準論理回路またはVLSI設計を使用してハードウェアで部分的または完全に実装することができる。本開示に従ってシステムの実装にソフトウェアまたはハードウェアを使用するかどうかは、システムの速度及び/または効率要件、特定の機能、ならびに、利用する特定のソフトウェアまたはハードウェアシステムまたはマイクロプロセッサまたはマイクロコンピュータシステムに依存する。
さらなる別の実施形態では、開示される方法は、記憶媒体に格納することができ、コントローラ及びメモリと協働してプログラムされた汎用コンピュータ、専用コンピュータ、マイクロプロセッサ及び同様のもの上で実行されるソフトウェアで部分的に実施することができる。これらの例では、本開示のシステム及び方法は、アプレット、ジャバ(JAVA)(登録商標)またはCGIスクリプトなどのパーソナルコンピュータに組み込まれたプログラムとして、サーバまたはコンピュータワークステーション上に常駐するリソースとして、専用測定システム、システムコンポーネントまたは同様のものに組み込まれたルーチンとして実施することができる。また、システムは、ソフトウェア及び/またはハードウェアシステムにシステム及び/または方法を物理的に組み込むことによっても実装することができる。
本開示は、特定の規格及びプロトコルを参照して、態様、実施形態及び/または構成で実装されるコンポーネント及び機能について説明するが、態様、実施形態及び/または構成は、そのような規格及びプロトコルに制限されない。本明細書で言及されない他の同様の規格及びプロトコルも存在し、本開示に含まれるものと考えられる。その上、本明細書で言及される規格及びプロトコルならびに本明細書で言及されない他の同様の規格及びプロトコルは、本質的に同じ機能を有するより速いまたはより効果的な均等物に定期的に取って代わられる。同じ機能を有するそのような置換規格及びプロトコルは、本開示に含まれる均等物と考えられる。
さまざまな態様、実施形態及び/または構成での本開示は、本明細書に描写及び記載されるように実質的にコンポーネント、方法、プロセス、システム及び/または装置を含み、さまざまな態様、実施形態、構成実施形態、サブコンビネーション及び/またはそのサブセットを含む。当業者であれば、本開示を理解した後で、開示される態様、実施形態及び/または構成をどのように作成し使用するか理解されよう。さまざまな態様、実施形態及び/または構成での本開示は、本明細書に描写及び/または記載されていないアイテムなしで、または、本明細書のさまざまな態様、実施形態及び/または構成で、デバイス及びプロセスを提供することを含み、例えば、性能を向上させ、容易に実装を実現し、及び/または、実装コストを削減するために、前のデバイスまたはプロセスで使用された可能性があるようなアイテムがない場合も含む。
前述の論考は、例示と説明を目的として提示してきた。前述は、本明細書に開示される1つまたは複数の形態に本開示を制限することを意図しない。前述の発明を実施するための形態では、例えば、本開示を合理化する目的で、1つまたは複数の態様、実施形態及び/または構成で、本開示のさまざまな特徴が一緒に分類される。本開示の態様、実施形態及び/または構成の特徴は、上記で論じられたもの以外の代替の態様、実施形態及び/または構成で組み合わせることができる。本開示のこの方法は、請求項が各請求項に明確に列挙されているものより多くの特徴を要求するという意図を反映するものとして解釈してはならない。むしろ、以下の請求項が反映するように、発明の態様は、単一の前述の開示される態様、実施形態及び/または構成のすべての特徴よりも少ないことにある。したがって、以下の請求項は、本明細書によって、この発明を実施するための形態に組み込まれ、各請求項は、本開示の別々の好ましい実施形態としてそれ自体を主張する。
その上、説明には1つまたは複数の態様、実施形態及び/または構成の説明、ならびに、ある変形形態及び変更形態が含まれるが、例えば、本開示を理解した後で、当業者の技能及び知識の範囲内となり得るように、他の変形形態、組合せ及び変更形態は本開示の範囲内である。許可される範囲の代替の態様、実施形態及び/または構成を含む権利を得ることを意図し、そのような代替の、交換可能な及び/または均等な構造、機能、範囲または工程が本明細書で開示されるか否かにかかわらず、いかなる特許可能な対象物も公的に献納することを意図することなく、特許請求されたものに対する代替の、交換可能な及び/または均等な構造、機能、範囲または工程を含む。