(57)【要約】  コンピュータプラットフォームに常駐する1つまたは複数のアプリケーション、ワイヤレス通信インターフェース、ディスプレイ、および少なくともディスプレイ上に現れるユーザインターフェースを有する、ワイヤレス通信デバイス。コンピュータプラットフォームに常駐する1つまたは複数のアプリケーションおよび/または調停者は、ユーザインターフェースがディスプレイの制御権を争うとき、所定の基準に基づいて、コンピュータプラットフォームに常駐する1つまたは複数のアプリケーションのどのユーザインターフェースがディスプレイを制御するかを決定することができる。別の実施形態では、どのアプリケーションがディスプレイを制御するかの決定に従わないアプリケーションは終了され得る。ワイヤレス通信デバイスの複数のディスプレイのうちのあるディスプレイをどのアプリケーションが制御できるかを決定するための、方法が実行され得る。ディスプレイの制御権の変更があるときに、ユーザ入力データをアプリケーションと関連付けるための、方法が実行され得る。
2016539432.tif 000002
【特許請求の範囲】
【請求項１】
ワイヤレス通信デバイスに常駐する複数のアプリケーションのうちのあるアプリケーションに複数のディスプレイの各々の制御権を割り当てる方法であって、
2つ以上のアプリケーションを同時に呼び出す第1の通知イベントを受け取ったことに応答して、所定の基準に基づいて前記複数のディスプレイの1つを制御する前記複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するステップと、
前記調停者を介して、前記第1のアプリケーションが前記複数のディスプレイの前記1つを制御することを決定したことに応答して、前記複数のアプリケーションのうちの第2のアプリケーションに関する活動が検出されるかどうかを判定するステップと、
前記第2のアプリケーションに関する前記活動を検出したことに応答して、前記第2のアプリケーションに対する優先順序で、前記複数のディスプレイの実行可能なディスプレイのリストを並べるステップと、
前記複数のディスプレイの実行可能なディスプレイの前記並べられたリスト中のディスプレイを選択するステップと、
前記選択されたディスプレイが第3のアプリケーションによって使用されているかどうかを判定するステップと、
前記選択されたディスプレイが前記第3のアプリケーションによって使用されていないと判定したことに応答して、前記選択されたディスプレイのフォアグラウンドの制御権を割り当てるフラグを前記第2のアプリケーションに送るステップとを備える、方法。
【請求項２】
前記選択されたディスプレイが前記第3のアプリケーションによって使用されており、前記第3のアプリケーションの優先順位が前記第2のアプリケーションの優先順位よりも低いと判定したことに応答して、前記選択されたディスプレイの前記フォアグラウンドの前記制御権を割り当てる前記フラグを前記第2のアプリケーションに送るステップをさらに備える、請求項1に記載の方法。
【請求項３】
前記活動が、第2の通知イベント、前記第2のアプリケーションと関連付けられる登録情報内で示されるあらかじめ定められたイベント、例外への遭遇、前記複数のアプリケーションの1つの優先順位の変化、前記調停者への新たなアプリケーションの登録、前記複数のアプリケーションの1つの動作状態の変化、前記複数のアプリケーションの1つによるディスプレイのフォアグラウンドの制御権の喪失、および前記複数のディスプレイの1つの活動状態の変化の、少なくとも1つである、請求項1に記載の方法。
【請求項４】
前記選択されたディスプレイが前記複数のアプリケーションの前記第3のアプリケーションによって使用されており、前記第3のアプリケーションの前記優先順位が前記第2のアプリケーションの前記優先順位よりも高いと判定したことに応答して、前記選択されたディスプレイに対する待ち行列に前記第2のアプリケーションを追加するステップをさらに備える、請求項1に記載の方法。
【請求項５】
前記ワイヤレス通信デバイスのコンピュータプラットフォームの起動、前記複数のアプリケーションの各々のアクティブ化、および登録要求の受取りの1つに応答して、前記調停者に前記複数のアプリケーションの各々を登録するステップをさらに備え、前記調停者に前記複数のアプリケーションの各々を登録するステップが、前記複数のアプリケーションの各々に対する登録情報を記憶するステップを備える、請求項1に記載の方法。
【請求項６】
前記複数のアプリケーションの個々のアプリケーションに対する前記登録情報が、識別情報、優先順位、ネットワーク要件、前記個々のアプリケーションの優先順位が動的に変更され得るかどうかの指示、前記個々のアプリケーションが前記複数のディスプレイの二次的なディスプレイ上で使用され得るかどうかの指示、および前記個々のアプリケーションがバックグラウンド対応であるかどうかの指示の、少なくとも1つを含む、請求項5に記載の方法。
【請求項７】
動的な優先順位の変更に登録されている前記複数のアプリケーションの各々の優先順位を再計算するステップをさらに備える、請求項6に記載の方法。
【請求項８】
前記複数のディスプレイの各々の状態情報を記憶するステップであって、前記状態情報が、動作条件、動作要件、およびディスプレイ優先順位を少なくとも含む、ステップと、
前記ワイヤレス通信デバイスの現在の条件を示す情報についてセンサにポーリングするステップと、
前記記憶されている状態情報と、前記ワイヤレス通信デバイスの前記現在の条件を示す前記情報とに基づいて、前記複数のディスプレイの各々の実行可能性を評価するステップと、
前記ワイヤレス通信デバイスの前記現在の条件を示す前記情報に基づいて、前記複数のディスプレイの各々とのユーザ対話を評価するステップと、
前記複数のディスプレイの各々の前記評価された実行可能性と前記評価されたユーザ対話の少なくとも1つに基づいて、前記複数のディスプレイの各々の前記優先順位を再計算するステップとをさらに備える、請求項1に記載の方法。
【請求項９】
前記ワイヤレス通信デバイスの前記現在の条件が、サーミスタセンサのデータに基づく周辺温度、カメラのデータに基づく周辺の明るさ、GPSのデータに基づくデバイスの高度、ジャイロスコープセンサのデータに基づくデバイスの動き、前記ジャイロスコープセンサのデータに基づくデバイスの傾き、タッチスクリーンへのユーザ入力、および、前記カメラのデータまたはマイクロフォンのデータに基づくユーザの身元の少なくとも1つを含む、請求項8に記載の方法。
【請求項１０】
前記ユーザ対話が、目の追跡に基づいてユーザがディスプレイを見ていること、頭の追跡に基づいて前記ユーザがディスプレイを見ていること、および前記ユーザがディスプレイに触れていることの少なくとも1つを示す、請求項8に記載の方法。
【請求項１１】
前記複数のディスプレイの各々の前記評価された実行可能性および前記評価されたユーザ対話の少なくとも1つに基づいて前記複数のディスプレイの各々の前記優先順位を再計算するステップが、前記複数のディスプレイの各々の前記評価された実行可能性および前記評価されたユーザ対話の少なくとも1つに基づいて、前記複数のディスプレイの各々の前記優先順位を前記複数のアプリケーションの各々に対して再計算するステップを備える、請求項8に記載の方法。
【請求項１２】
ユーザの意図に従ってユーザ入力データをワイヤレス通信デバイスに常駐する複数のアプリケーションと関連付ける方法であって、
2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、所定の基準に基づいて前記ワイヤレス通信デバイスのディスプレイを制御する前記複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するステップと、
前記第1のアプリケーションが前記ディスプレイを制御すると前記調停者を介して決定したことに応答して、前記複数のアプリケーション中の前記第1のアプリケーションから前記複数のアプリケーション中の第2のアプリケーションへの前記ディスプレイの制御権の変更を検出するステップと、
前記ディスプレイの前記制御権の前記検出された変更の前に受け取られる第1の入力と、前記ディスプレイの前記制御権の前記検出された変更の後で受け取られる第2の入力とを特定するステップと、
前記第1の入力が、前記ディスプレイの前記制御権の前記検出された変更から第1の時間閾値以内に受け取られたかどうかを判定するステップと、
前記第2の入力が、前記ディスプレイの前記制御権の前記検出された変更から第2の時間閾値以内に受け取られたかどうかを判定するステップと、
前記第1の入力が前記第1の時間閾値以内に受け取られなかった、または前記第2の入力が前記第2の時間閾値以内に受け取られなかったと判定したことに応答して、前記第2の入力を前記第2のアプリケーションと関連付けるステップとを備える、方法。
【請求項１３】
前記第1の入力および前記第2の入力がともに、タッチ入力、テキスト入力、話される入力、または視覚的な入力の1つである、請求項12に記載の方法。
【請求項１４】
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力を前記第1のアプリケーションと関連付けるステップをさらに備える、請求項12に記載の方法。
【請求項１５】
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力を前記第1のアプリケーションおよび前記第2のアプリケーションの1つと関連付けるためのユーザ選択入力を要求するプロンプトをレンダリングするステップと、
ユーザインターフェースを介して前記ユーザ選択入力を受け取るステップと、
前記受け取られたユーザ選択入力に基づいて、前記第2の入力を前記第1のアプリケーションと前記第2のアプリケーションの1つと関連付けるステップとをさらに備える、請求項12に記載の方法。
【請求項１６】
前記第1の入力が口頭の入力であり、
前記プロンプトが第2の音であり、
前記ディスプレイの前記制御権の前記変更を検出する前に第1の音をレンダリングするステップをさらに備える、請求項15に記載の方法。
【請求項１７】
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第1の入力および前記第2の入力の内容を評価するステップと、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記制御権の前記検出された変更に関して前記第2のアプリケーションの起動時間を評価するステップと、
前記評価された内容と前記評価された起動時間の少なくとも1つに基づいて、前記第2の入力を前記第1のアプリケーションまたは前記第2のアプリケーションと関連付けるステップとをさらに備える、請求項12に記載の方法。
【請求項１８】
前記内容が、文法、綴り、句読点、フォーマット、状況、および解釈された意味の少なくとも1つである、請求項17に記載の方法。
【請求項１９】
前記第2の入力がタッチ入力であり、前記方法が、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力に対応する前記第2のアプリケーションの第2のユーザインターフェース要素を特定するステップと、
前記第2のアプリケーションの前記特定された第2のユーザインターフェース要素が前記第1のアプリケーションの第1のユーザインターフェース要素と同時に存在するかどうかを判定するステップと、
前記特定された第2のユーザインターフェース要素が前記第1のユーザインターフェース要素と同時に存在すると判定したことに応答して、前記第2の入力を前記第1のアプリケーションと関連付けるステップとをさらに備える、請求項12に記載の方法。
【請求項２０】
ワイヤレス通信デバイスに常駐する複数のアプリケーションを制御する方法であって、
2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、前記複数のアプリケーションのうちの第1のアプリケーションが所定の基準に基づいて前記ワイヤレス通信デバイスのディスプレイを制御すると、調停者を介して判定するステップと、
前記複数のアプリケーションのうちの前記第1のアプリケーションが前記ディスプレイを制御するという前記調停者を介した前記判定に、前記複数のアプリケーションのうちの第2のアプリケーションが従わなかったかどうかを判定するステップと、
前記複数のアプリケーションのうちの前記第2のアプリケーションが従わなかったと判定したことに応答して、前記第2のアプリケーションを終了するステップとを備える、方法。
【請求項２１】
2つ以上のアプリケーションを同時に呼び出す第1の通知イベントを受け取ったことに応答して、所定の基準に基づいて複数のディスプレイの1つを制御する複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するための手段と、
前記調停者を介して、前記第1のアプリケーションが前記複数のディスプレイの前記1つを制御することを決定したことに応答して、前記複数のアプリケーションのうちの第2のアプリケーションに関する活動が検出されるかどうかを判定するための手段と、
前記第2のアプリケーションに関する前記活動を検出したことに応答して、前記第2のアプリケーションに対する優先順序で、前記複数のディスプレイの実行可能なディスプレイのリストを並べるための手段と、
前記複数のディスプレイの実行可能なディスプレイの前記並べられたリスト中のディスプレイを選択するための手段と、
前記選択されたディスプレイが第3のアプリケーションによって使用されているかどうかを判定するための手段と、
前記選択されたディスプレイが前記第3のアプリケーションによって使用されていないと判定したことに応答して、前記選択されたディスプレイのフォアグラウンドの制御権を割り当てるフラグを前記第2のアプリケーションに送るための手段とを備える、ワイヤレス通信デバイス。
【請求項２２】
前記選択されたディスプレイが前記第3のアプリケーションによって使用されており、前記第3のアプリケーションの優先順位が前記第2のアプリケーションの優先順位よりも低いと判定したことに応答して、前記選択されたディスプレイの前記フォアグラウンドの前記制御権を割り当てる前記フラグを前記第2のアプリケーションに送るための手段をさらに備える、請求項21に記載のワイヤレス通信デバイス。
【請求項２３】
前記活動が、第2の通知イベント、前記第2のアプリケーションと関連付けられる登録情報内で示されるあらかじめ定められたイベント、例外への遭遇、前記複数のアプリケーションの1つの優先順位の変化、前記調停者への新たなアプリケーションの登録、前記複数のアプリケーションの1つの動作状態の変化、前記複数のアプリケーションの1つによるディスプレイのフォアグラウンドの制御権の喪失、および前記複数のディスプレイの1つの活動状態の変化の、少なくとも1つである、請求項21に記載のワイヤレス通信デバイス。
【請求項２４】
前記選択されたディスプレイが前記複数のアプリケーションの前記第3のアプリケーションによって使用されており、前記第3のアプリケーションの前記優先順位が前記第2のアプリケーションの前記優先順位よりも高いと判定したことに応答して、前記選択されたディスプレイに対する待ち行列に前記第2のアプリケーションを追加するための手段をさらに備える、請求項21に記載のワイヤレス通信デバイス。
【請求項２５】
前記ワイヤレス通信デバイスのコンピュータプラットフォームの起動、前記複数のアプリケーションの各々のアクティブ化、および登録要求の受取りの1つに応答して、前記調停者に前記複数のアプリケーションの各々を登録するための手段をさらに備え、
前記調停者に前記複数のアプリケーションの各々を登録するための手段が、前記複数のアプリケーションの各々に対する登録情報を記憶するための手段を備える、請求項21に記載のワイヤレス通信デバイス。
【請求項２６】
前記複数のアプリケーションの個々のアプリケーションに対する前記登録情報が、識別情報、優先順位、ネットワーク要件、前記個々のアプリケーションの優先順位が動的に変更され得るかどうかの指示、前記個々のアプリケーションが前記複数のディスプレイの二次的なディスプレイ上で使用され得るかどうかの指示、および前記個々のアプリケーションがバックグラウンド対応であるかどうかの指示の、少なくとも1つを含む、請求項25に記載のワイヤレス通信デバイス。
【請求項２７】
動的な優先順位の変更に登録されている前記複数のアプリケーションの各々の優先順位を再計算するための手段をさらに備える、請求項26に記載のワイヤレス通信デバイス。
【請求項２８】
前記複数のディスプレイの各々の状態情報を記憶するための手段であって、前記状態情報が、動作条件、動作要件、およびディスプレイ優先順位を少なくとも含む、手段と、
前記ワイヤレス通信デバイスの現在の条件を示す情報についてセンサにポーリングするための手段と、
前記記憶されている状態情報と、前記ワイヤレス通信デバイスの前記現在の条件を示す前記情報とに基づいて、前記複数のディスプレイの各々の実行可能性を評価するための手段と、
前記ワイヤレス通信デバイスの前記現在の条件を示す前記情報に基づいて、前記複数のディスプレイの各々とのユーザ対話を評価するための手段と、
前記複数のディスプレイの各々の前記評価された実行可能性と前記評価されたユーザ対話の少なくとも1つに基づいて、前記複数のディスプレイの各々の前記優先順位を再計算するための手段とをさらに備える、請求項21に記載のワイヤレス通信デバイス。
【請求項２９】
前記ワイヤレス通信デバイスの前記現在の条件が、サーミスタセンサのデータに基づく周辺温度、カメラのデータに基づく周辺の明るさ、GPSのデータに基づくデバイスの高度、ジャイロスコープセンサのデータに基づくデバイスの動き、前記ジャイロスコープセンサのデータに基づくデバイスの傾き、タッチスクリーンへのユーザ入力、および、前記カメラのデータまたはマイクロフォンのデータに基づくユーザの身元の少なくとも1つを含む、請求項28に記載のワイヤレス通信デバイス。
【請求項３０】
前記ユーザ対話が、目の追跡に基づいてユーザがディスプレイを見ていること、頭の追跡に基づいて前記ユーザがディスプレイを見ていること、および前記ユーザがディスプレイに触れていることの少なくとも1つを示す、請求項28に記載のワイヤレス通信デバイス。
【請求項３１】
前記複数のディスプレイの各々の前記評価された実行可能性および前記評価されたユーザ対話の少なくとも1つに基づいて前記複数のディスプレイの各々の前記優先順位を再計算するための手段が、前記複数のディスプレイの各々の前記評価された実行可能性および前記評価されたユーザ対話の少なくとも1つに基づいて、前記複数のディスプレイの各々の前記優先順位を前記複数のアプリケーションの各々に対して再計算するための手段を備える、請求項28に記載のワイヤレス通信デバイス。
【請求項３２】
2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、所定の基準に基づいて前記ワイヤレス通信デバイスのディスプレイを制御する複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するための手段と、
前記第1のアプリケーションが前記ディスプレイを制御すると前記調停者を介して決定したことに応答して、前記複数のアプリケーション中の前記第1のアプリケーションから前記複数のアプリケーション中の第2のアプリケーションへの前記ディスプレイの制御権の変更を検出するための手段と、
前記ディスプレイの前記制御権の前記検出された変更の前に受け取られる第1の入力と、前記ディスプレイの前記制御権の前記検出された変更の後で受け取られる第2の入力とを特定するための手段と、
前記第1の入力が、前記ディスプレイの前記制御権の前記検出された変更から第1の時間閾値以内に受け取られたかどうかを判定するための手段と、
前記第2の入力が、前記ディスプレイの前記制御権の前記検出された変更から第2の時間閾値以内に受け取られたかどうかを判定するための手段と、
前記第1の入力が前記第1の時間閾値以内に受け取られなかった、または前記第2の入力が前記第2の時間閾値以内に受け取られなかったと判定したことに応答して、前記第2の入力を前記第2のアプリケーションと関連付けるための手段とを備える、ワイヤレス通信デバイス。
【請求項３３】
前記第1の入力および前記第2の入力がともに、タッチ入力、テキスト入力、話される入力、または視覚的な入力の1つである、請求項32に記載のワイヤレス通信デバイス。
【請求項３４】
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力を前記第1のアプリケーションと関連付けるための手段をさらに備える、請求項32に記載のワイヤレス通信デバイス。
【請求項３５】
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力を前記第1のアプリケーションおよび前記第2のアプリケーションの1つと関連付けるためのユーザ選択入力を要求するプロンプトをレンダリングするための手段と、
ユーザインターフェースを介して前記ユーザ選択入力を受け取るための手段と、
前記受け取られたユーザ選択入力に基づいて、前記第2の入力を前記第1のアプリケーションと前記第2のアプリケーションの1つと関連付けるための手段とをさらに備える、請求項32に記載のワイヤレス通信デバイス。
【請求項３６】
前記第1の入力が口頭の入力であり、
前記プロンプトが第2の音であり、
前記ディスプレイの前記制御権の前記変更を検出する前に第1の音をレンダリングするための手段をさらに備える、請求項35に記載のワイヤレス通信デバイス。
【請求項３７】
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第1の入力および前記第2の入力の内容を評価するための手段と、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記制御権の前記検出された変更に関して前記第2のアプリケーションの起動時間を評価するための手段と、
前記評価された内容と前記評価された起動時間の少なくとも1つに基づいて、前記第2の入力を前記第1のアプリケーションまたは前記第2のアプリケーションと関連付けるための手段とをさらに備える、請求項32に記載のワイヤレス通信デバイス。
【請求項３８】
前記内容が、文法、綴り、句読点、フォーマット、状況、および解釈された意味の少なくとも1つである、請求項37に記載のワイヤレス通信デバイス。
【請求項３９】
前記第2の入力がタッチ入力であり、前記ワイヤレス通信デバイスが、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力に対応する前記第2のアプリケーションの第2のユーザインターフェース要素を特定するための手段と、
前記第2のアプリケーションの前記特定された第2のユーザインターフェース要素が前記第1のアプリケーションの第1のユーザインターフェース要素と同時に存在するかどうかを判定するための手段と、
前記特定された第2のユーザインターフェース要素が前記第1のユーザインターフェース要素と同時に存在すると判定したことに応答して、前記第2の入力を前記第1のアプリケーションと関連付けるための手段とをさらに備える、請求項32に記載のワイヤレス通信デバイス。
【請求項４０】
2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、複数のアプリケーションのうちの第1のアプリケーションが所定の基準に基づいて前記ワイヤレス通信デバイスのディスプレイを制御すると、調停者を介して判定するための手段と、
前記複数のアプリケーションのうちの前記第1のアプリケーションが前記ディスプレイを制御するという前記調停者を介した前記判定に、前記複数のアプリケーションのうちの第2のアプリケーションが従わなかったかどうかを判定するための手段と、
前記複数のアプリケーションのうちの前記第2のアプリケーションが従わなかったと判定したことに応答して、前記第2のアプリケーションを終了するための手段とを備える、ワイヤレス通信デバイス。
【請求項４１】
メモリと、
前記メモリに結合されたプロセッサとを備え、前記プロセッサが、
2つ以上のアプリケーションを同時に呼び出す第1の通知イベントを受け取ったことに応答して、所定の基準に基づいて複数のディスプレイの1つを制御する複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するステップと、
前記調停者を介して、前記第1のアプリケーションが前記複数のディスプレイの前記1つを制御することを決定したことに応答して、前記複数のアプリケーションのうちの第2のアプリケーションに関する活動が検出されるかどうかを判定するステップと、
前記第2のアプリケーションに関する前記活動を検出したことに応答して、前記第2のアプリケーションに対する優先順序で、前記複数のディスプレイの実行可能なディスプレイのリストを並べるステップと、
前記複数のディスプレイの実行可能なディスプレイの前記並べられたリスト中のディスプレイを選択するステップと、
前記選択されたディスプレイが第3のアプリケーションによって使用されているかどうかを判定するステップと、
前記選択されたディスプレイが前記第3のアプリケーションによって使用されていないと判定したことに応答して、前記選択されたディスプレイのフォアグラウンドの制御権を割り当てるフラグを前記第2のアプリケーションに送るステップと
を備える動作を実行するようにプロセッサ実行可能命令によって構成される、ワイヤレス通信デバイス。
【請求項４２】
前記選択されたディスプレイが前記第3のアプリケーションによって使用されており、前記第3のアプリケーションの優先順位が前記第2のアプリケーションの優先順位よりも低いと判定したことに応答して、前記プロセッサが、前記選択されたディスプレイの前記フォアグラウンドの前記制御権を割り当てる前記フラグを前記第2のアプリケーションに送るステップをさらに備えるプロセッサ実行可能命令によって構成される、請求項41に記載のワイヤレス通信デバイス。
【請求項４３】
前記活動が、第2の通知イベント、前記第2のアプリケーションと関連付けられる登録情報内で示されるあらかじめ定められたイベント、例外への遭遇、前記複数のアプリケーションの1つの優先順位の変化、前記調停者への新たなアプリケーションの登録、前記複数のアプリケーションの1つの動作状態の変化、前記複数のアプリケーションの1つによるディスプレイのフォアグラウンドの制御権の喪失、および前記複数のディスプレイの1つの活動状態の変化の、少なくとも1つである、請求項41に記載のワイヤレス通信デバイス。
【請求項４４】
前記選択されたディスプレイが前記複数のアプリケーションの前記第3のアプリケーションによって使用されており、前記第3のアプリケーションの前記優先順位が前記第2のアプリケーションの前記優先順位よりも高いと判定したことに応答して、前記プロセッサが、前記選択されたディスプレイに対する待ち行列に前記第2のアプリケーションを追加するステップをさらに備えるプロセッサ実行可能命令によって構成される、請求項41に記載のワイヤレス通信デバイス。
【請求項４５】
前記プロセッサが、前記ワイヤレス通信デバイスのコンピュータプラットフォームの起動、前記複数のアプリケーションの各々のアクティブ化、および登録要求の受取りの1つに応答して、前記調停者に前記複数のアプリケーションの各々を登録するステップをさらに備えるプロセッサ実行可能命令によって構成され、
前記調停者に前記複数のアプリケーションの各々を登録するステップが、前記複数のアプリケーションの各々に対する登録情報を記憶するステップを備えるように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項41に記載のワイヤレス通信デバイス。
【請求項４６】
前記複数のアプリケーションの個々のアプリケーションに対する前記登録情報が、識別情報、優先順位、ネットワーク要件、前記個々のアプリケーションの優先順位が動的に変更され得るかどうかの指示、前記個々のアプリケーションが前記複数のディスプレイの二次的なディスプレイ上で使用され得るかどうかの指示、および前記個々のアプリケーションがバックグラウンド対応であるかどうかの指示の、少なくとも1つを含む、請求項45に記載のワイヤレス通信デバイス。
【請求項４７】
前記プロセッサが、動的な優先順位の変更に登録されている前記複数のアプリケーションの各々の優先順位を再計算するステップをさらに備えるプロセッサ実行可能命令によって構成される、請求項46に記載のワイヤレス通信デバイス。
【請求項４８】
前記プロセッサが、
前記複数のディスプレイの各々の状態情報を記憶するステップであって、前記状態情報が、動作条件、動作要件、およびディスプレイ優先順位を少なくとも含む、ステップと、
前記ワイヤレス通信デバイスの現在の条件を示す情報についてセンサにポーリングするステップと、
前記記憶されている状態情報と、前記ワイヤレス通信デバイスの前記現在の条件を示す前記情報とに基づいて、前記複数のディスプレイの各々の実行可能性を評価するステップと、
前記ワイヤレス通信デバイスの前記現在の条件を示す前記情報に基づいて、前記複数のディスプレイの各々とのユーザ対話を評価するステップと、
前記複数のディスプレイの各々の前記評価された実行可能性と前記評価されたユーザ対話の少なくとも1つに基づいて、前記複数のディスプレイの各々の前記優先順位を再計算するステップとをさらに備えるプロセッサ実行可能命令によって構成される、請求項41に記載のワイヤレス通信デバイス。
【請求項４９】
前記ワイヤレス通信デバイスの前記現在の条件が、サーミスタセンサのデータに基づく周辺温度、カメラのデータに基づく周辺の明るさ、GPSのデータに基づくデバイスの高度、前記ジャイロスコープセンサのデータに基づくデバイスの動き、ジャイロスコープセンサのデータに基づくデバイスの傾き、タッチスクリーンへのユーザ入力、および、前記カメラのデータまたはマイクロフォンのデータに基づくユーザの身元の少なくとも1つを含む、請求項48に記載のワイヤレス通信デバイス。
【請求項５０】
前記ユーザ対話が、目の追跡に基づいてユーザがディスプレイを見ていること、頭の追跡に基づいて前記ユーザがディスプレイを見ていること、および前記ユーザがディスプレイに触れていることの少なくとも1つを示す、請求項48に記載のワイヤレス通信デバイス。
【請求項５１】
前記複数のディスプレイの各々の前記評価された実行可能性および前記評価されたユーザ対話の少なくとも1つに基づいて前記複数のディスプレイの各々の前記優先順位を再計算するステップが、前記複数のディスプレイの各々の前記評価された実行可能性および前記評価されたユーザ対話の少なくとも1つに基づいて、前記複数のディスプレイの各々の前記優先順位を前記複数のアプリケーションの各々に対して再計算するステップを備えるように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項48に記載のワイヤレス通信デバイス。
【請求項５２】
メモリと、
前記メモリに結合されたプロセッサとを備え、前記プロセッサが、
2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、所定の基準に基づいて前記ワイヤレス通信デバイスのディスプレイを制御する複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するステップと、
前記第1のアプリケーションが前記ディスプレイを制御すると前記調停者を介して決定したことに応答して、前記複数のアプリケーション中の前記第1のアプリケーションから前記複数のアプリケーション中の第2のアプリケーションへの前記ディスプレイの制御権の変更を検出するステップと、
前記ディスプレイの前記制御権の前記検出された変更の前に受け取られる第1の入力と、前記ディスプレイの前記制御権の前記検出された変更の後で受け取られる第2の入力とを特定するステップと、
前記第1の入力が、前記ディスプレイの前記制御権の前記検出された変更から第1の時間閾値以内に受け取られたかどうかを判定するステップと、
前記第2の入力が、前記ディスプレイの前記制御権の前記検出された変更から第2の時間閾値以内に受け取られたかどうかを判定するステップと、
前記第1の入力が前記第1の時間閾値以内に受け取られなかった、または前記第2の入力が前記第2の時間閾値以内に受け取られなかったと判定したことに応答して、前記第2の入力を前記第2のアプリケーションと関連付けるステップと
を備える動作を実行するようにプロセッサ実行可能命令によって構成される、ワイヤレス通信デバイス。
【請求項５３】
前記第1の入力および前記第2の入力がともに、タッチ入力、テキスト入力、話される入力、または視覚的な入力の1つである、請求項52に記載のワイヤレス通信デバイス。
【請求項５４】
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記プロセッサが、前記第2の入力を前記第1のアプリケーションと関連付けるステップをさらに備えるプロセッサ実行可能命令によって構成される、請求項52に記載のワイヤレス通信デバイス。
【請求項５５】
前記プロセッサが、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力を前記第1のアプリケーションおよび前記第2のアプリケーションの1つと関連付けるためのユーザ選択入力を要求するプロンプトをレンダリングするステップと、
ユーザインターフェースを介して前記ユーザ選択入力を受け取るステップと、
前記受け取られたユーザ選択入力に基づいて、前記第2の入力を前記第1のアプリケーションと前記第2のアプリケーションの1つと関連付けるステップとをさらに備えるプロセッサ実行可能命令によって構成される、請求項52に記載のワイヤレス通信デバイス。
【請求項５６】
前記第1の入力が口頭の入力であり、
前記プロンプトが第2の音であり、
前記プロセッサが、前記ディスプレイの前記制御権の前記変更を検出する前に第1の音をレンダリングするステップをさらに備えるプロセッサ実行可能命令によって構成される、請求項55に記載のワイヤレス通信デバイス。
【請求項５７】
前記プロセッサが、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第1の入力および前記第2の入力の内容を評価するステップと、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記制御権の前記検出された変更に関して前記第2のアプリケーションの起動時間を評価するステップと、
前記評価された内容と前記評価された起動時間の少なくとも1つに基づいて、前記第2の入力を前記第1のアプリケーションまたは前記第2のアプリケーションと関連付けるステップとをさらに備えるプロセッサ実行可能命令によって構成される、請求項52に記載のワイヤレス通信デバイス。
【請求項５８】
前記内容が、文法、綴り、句読点、フォーマット、状況、および解釈された意味の少なくとも1つである、請求項57に記載のワイヤレス通信デバイス。
【請求項５９】
前記第2の入力がタッチ入力であり、前記プロセッサが、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力に対応する前記第2のアプリケーションの第2のユーザインターフェース要素を特定するステップと、
前記第2のアプリケーションの前記特定された第2のユーザインターフェース要素が前記第1のアプリケーションの第1のユーザインターフェース要素と同時に存在するかどうかを判定するステップと、
前記特定された第2のユーザインターフェース要素が前記第1のユーザインターフェース要素と同時に存在すると判定したことに応答して、前記第2の入力を前記第1のアプリケーションと関連付けるステップとをさらに備えるプロセッサ実行可能命令によって構成される、請求項52に記載のワイヤレス通信デバイス。
【請求項６０】
メモリと、
前記メモリに結合されたプロセッサとを備え、前記プロセッサが、
2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、複数のアプリケーションのうちの第1のアプリケーションが所定の基準に基づいて前記ワイヤレス通信デバイスのディスプレイを制御すると、調停者を介して判定するステップと、
前記複数のアプリケーションのうちの前記第1のアプリケーションが前記ディスプレイを制御するという前記調停者を介した前記判定に、前記複数のアプリケーションのうちの第2のアプリケーションが従わなかったかどうかを判定するステップと、
前記複数のアプリケーションのうちの前記第2のアプリケーションが従わなかったと判定したことに応答して、前記第2のアプリケーションを終了するステップと
を備える動作を実行するように、プロセッサ実行可能命令によって構成される、ワイヤレス通信デバイス。
【請求項６１】
プロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記プロセッサ実行可能ソフトウェア命令が、プロセッサに、
2つ以上のアプリケーションを同時に呼び出す第1の通知イベントを受け取ったことに応答して、所定の基準に基づいて複数のディスプレイの1つを制御する複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するステップと、
前記調停者を介して、前記第1のアプリケーションが前記複数のディスプレイの前記1つを制御することを決定したことに応答して、前記複数のアプリケーションのうちの第2のアプリケーションに関する活動が検出されるかどうかを判定するステップと、
前記第2のアプリケーションに関する前記活動を検出したことに応答して、前記第2のアプリケーションに対する優先順序で、前記複数のディスプレイの実行可能なディスプレイのリストを並べるステップと、
前記複数のディスプレイの実行可能なディスプレイの前記並べられたリスト中のディスプレイを選択するステップと、
前記選択されたディスプレイが第3のアプリケーションによって使用されているかどうかを判定するステップと、
前記選択されたディスプレイが前記第3のアプリケーションによって使用されていないと判定したことに応答して、前記選択されたディスプレイのフォアグラウンドの制御権を割り当てるフラグを前記第2のアプリケーションに送るステップとを備える動作を実行させるように構成される、非一時的プロセッサ可読記憶媒体。
【請求項６２】
前記選択されたディスプレイが前記第3のアプリケーションによって使用されており、前記第3のアプリケーションの優先順位が前記第2のアプリケーションの優先順位よりも低いと判定したことに応答して、前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、前記選択されたディスプレイの前記フォアグラウンドの前記制御権を割り当てる前記フラグを前記第2のアプリケーションに送るステップをさらに備える動作を実行させるように構成される、請求項61に記載の非一時的プロセッサ可読記憶媒体。
【請求項６３】
前記活動が、第2の通知イベント、前記第2のアプリケーションと関連付けられる登録情報内で示されるあらかじめ定められたイベント、例外への遭遇、前記複数のアプリケーションの1つの優先順位の変化、前記調停者への新たなアプリケーションの登録、前記複数のアプリケーションの1つの動作状態の変化、前記複数のアプリケーションの1つによるディスプレイのフォアグラウンドの制御権の喪失、および前記複数のディスプレイの1つの活動状態の変化の、少なくとも1つである、請求項61に記載の非一時的プロセッサ可読記憶媒体。
【請求項６４】
前記選択されたディスプレイが前記複数のアプリケーションの前記第3のアプリケーションによって使用されており、前記第3のアプリケーションの前記優先順位が前記第2のアプリケーションの前記優先順位よりも高いと判定したことに応答して、前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、前記選択されたディスプレイに対する待ち行列に前記第2のアプリケーションを追加するステップをさらに備える動作を実行させるように構成される、請求項61に記載の非一時的プロセッサ可読記憶媒体。
【請求項６５】
前記記憶されているプロセッサ実行可能ソフトウェア命令が、コンピュータプラットフォームの起動、前記複数のアプリケーションの各々のアクティブ化、および登録要求の受取りの1つに応答して、前記プロセッサに、前記調停者へ前記複数のアプリケーションの各々を登録するステップをさらに備える動作を実行させるように構成され、
前記調停者に前記複数のアプリケーションの各々を登録するステップが、前記複数のアプリケーションの各々に対する登録情報を記憶するステップを備えるように、前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに動作を実行させるように構成される、請求項61に記載の非一時的プロセッサ可読記憶媒体。
【請求項６６】
前記複数のアプリケーションの個々のアプリケーションに対する前記登録情報が、識別情報、優先順位、ネットワーク要件、前記個々のアプリケーションの優先順位が動的に変更され得るかどうかの指示、前記個々のアプリケーションが前記複数のディスプレイの二次的なディスプレイ上で使用され得るかどうかの指示、および前記個々のアプリケーションがバックグラウンド対応であるかどうかの指示の、少なくとも1つを含む、請求項65に記載の非一時的プロセッサ可読記憶媒体。
【請求項６７】
前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、動的な優先順位の変更に登録されている前記複数のアプリケーションの各々の優先順位を再計算するステップをさらに備える動作を実行させるように構成される、請求項66に記載の非一時的プロセッサ可読記憶媒体。
【請求項６８】
前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、
前記複数のディスプレイの各々の状態情報を記憶するステップであって、前記状態情報が、動作条件、動作要件、およびディスプレイ優先順位を少なくとも含む、ステップと、
ワイヤレス通信デバイスの現在の条件を示す情報についてセンサにポーリングするステップと、
前記記憶されている状態情報と、前記ワイヤレス通信デバイスの前記現在の条件を示す前記情報とに基づいて、前記複数のディスプレイの各々の実行可能性を評価するステップと、
前記ワイヤレス通信デバイスの前記現在の条件を示す前記情報に基づいて、前記複数のディスプレイの各々とのユーザ対話を評価するステップと、
前記複数のディスプレイの各々の前記評価された実行可能性と前記評価されたユーザ対話の少なくとも1つに基づいて、前記複数のディスプレイの各々の前記優先順位を再計算するステップとをさらに備える動作を実行させるように構成される、請求項61に記載の非一時的プロセッサ可読記憶媒体。
【請求項６９】
前記ワイヤレス通信デバイスの前記現在の条件が、サーミスタセンサのデータに基づく周辺温度、カメラのデータに基づく周辺の明るさ、GPSのデータに基づくデバイスの高度、ジャイロスコープセンサのデータに基づくデバイスの動き、前記ジャイロスコープセンサのデータに基づくデバイスの傾き、タッチスクリーンへのユーザ入力、および、前記カメラのデータまたはマイクロフォンのデータに基づくユーザの身元の少なくとも1つを含む、請求項68に記載の非一時的プロセッサ可読記憶媒体。
【請求項７０】
前記ユーザ対話が、目の追跡に基づいてユーザがディスプレイを見ていること、頭の追跡に基づいて前記ユーザがディスプレイを見ていること、および前記ユーザがディスプレイに触れていることの少なくとも1つを示す、請求項68に記載の非一時的プロセッサ可読記憶媒体。
【請求項７１】
前記複数のディスプレイの各々の前記評価された実行可能性および前記評価されたユーザ対話の少なくとも1つに基づいて前記複数のディスプレイの各々の前記優先順位を再計算するステップが、前記複数のディスプレイの各々の前記評価された実行可能性および前記評価されたユーザ対話の少なくとも1つに基づいて、前記複数のディスプレイの各々の前記優先順位を前記複数のアプリケーションの各々に対して再計算するステップを備えるように、前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに動作を実行させるように構成される、請求項68に記載の非一時的プロセッサ可読記憶媒体。
【請求項７２】
プロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記プロセッサ実行可能ソフトウェア命令が、プロセッサに、
2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、所定の基準に基づいてワイヤレス通信デバイスのディスプレイを制御する複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するステップと、
前記第1のアプリケーションが前記ディスプレイを制御すると前記調停者を介して決定したことに応答して、前記複数のアプリケーション中の前記第1のアプリケーションから前記複数のアプリケーション中の第2のアプリケーションへの前記ディスプレイの制御権の変更を検出するステップと、
前記ディスプレイの前記制御権の前記検出された変更の前に受け取られる第1の入力と、前記ディスプレイの前記制御権の前記検出された変更の後で受け取られる第2の入力とを特定するステップと、
前記第1の入力が、前記ディスプレイの前記制御権の前記検出された変更から第1の時間閾値以内に受け取られたかどうかを判定するステップと、
前記第2の入力が、前記ディスプレイの前記制御権の前記検出された変更から第2の時間閾値以内に受け取られたかどうかを判定するステップと、
前記第1の入力が前記第1の時間閾値以内に受け取られなかった、または前記第2の入力が前記第2の時間閾値以内に受け取られなかったと判定したことに応答して、前記第2の入力を前記第2のアプリケーションと関連付けるステップとを備える動作を実行させるように構成される、非一時的プロセッサ可読記憶媒体。
【請求項７３】
前記第1の入力および前記第2の入力がともに、タッチ入力、テキスト入力、話される入力、または視覚的な入力の1つである、請求項72に記載の非一時的プロセッサ可読記憶媒体。
【請求項７４】
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、前記第2の入力を前記第1のアプリケーションと関連付けるステップをさらに備える動作を実行させるように構成される、請求項72に記載の非一時的プロセッサ可読記憶媒体。
【請求項７５】
前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力を前記第1のアプリケーションおよび前記第2のアプリケーションの1つと関連付けるためのユーザ選択入力を要求するプロンプトをレンダリングするステップと、
ユーザインターフェースを介して前記ユーザ選択入力を受け取るステップと、
前記受け取られたユーザ選択入力に基づいて、前記第2の入力を前記第1のアプリケーションと前記第2のアプリケーションの1つと関連付けるステップとをさらに備える動作を実行させるように構成される、請求項72に記載の非一時的プロセッサ可読記憶媒体。
【請求項７６】
前記第1の入力が口頭の入力であり、
前記プロンプトが第2の音であり、
前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、前記ディスプレイの前記制御権の前記変更を検出する前に第1の音をレンダリングするステップをさらに備える動作を実行させるように構成される、請求項75に記載の非一時的プロセッサ可読記憶媒体。
【請求項７７】
前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第1の入力および前記第2の入力の内容を評価するステップと、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記制御権の前記検出された変更に関して前記第2のアプリケーションの起動時間を評価するステップと、
前記評価された内容と前記評価された起動時間の少なくとも1つに基づいて、前記第2の入力を前記第1のアプリケーションまたは前記第2のアプリケーションと関連付けるステップとをさらに備える動作を実行させるように構成される、請求項72に記載の非一時的プロセッサ可読記憶媒体。
【請求項７８】
前記内容が、文法、綴り、句読点、フォーマット、状況、および解釈された意味の少なくとも1つである、請求項77に記載の非一時的プロセッサ可読記憶媒体。
【請求項７９】
前記第2の入力がタッチ入力であり、前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力に対応する前記第2のアプリケーションの第2のユーザインターフェース要素を特定するステップと、
前記第2のアプリケーションの前記特定された第2のユーザインターフェース要素が前記第1のアプリケーションの第1のユーザインターフェース要素と同時に存在するかどうかを判定するステップと、
前記特定された第2のユーザインターフェース要素が前記第1のユーザインターフェース要素と同時に存在すると判定したことに応答して、前記第2の入力を前記第1のアプリケーションと関連付けるステップとをさらに備える動作を実行させるように構成される、請求項72に記載の非一時的プロセッサ可読記憶媒体。
【請求項８０】
プロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記プロセッサ実行可能ソフトウェア命令が、プロセッサに、
2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、複数のアプリケーションのうちの第1のアプリケーションが所定の基準に基づいてワイヤレス通信デバイスのディスプレイを制御すると、調停者を介して判定するステップと、
前記複数のアプリケーションのうちの前記第1のアプリケーションが前記ディスプレイを制御するという前記調停者を介した前記判定に、前記複数のアプリケーションのうちの第2のアプリケーションが従わなかったかどうかを判定するステップと、
前記複数のアプリケーションのうちの前記第2のアプリケーションが従わなかったと判定したことに応答して、前記第2のアプリケーションを終了するステップとを備える動作を実行させるように構成される、非一時的プロセッサ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願
本出願は、その内容全体が参照によって本明細書に組み込まれる、2008年6月5日に出願された「WIRELESS COMMUNICATION DEVICE HAVING DETERMINISTIC CONTROL OF FOREGROUND ACCESS OF THE USER INTERFACE」という表題の米国仮出願第12/134,129号の一部継続出願である。
【０００２】
本発明は、ポータブルワイヤレス通信デバイスに関する。より詳細には、本発明は、常駐アプリケーションのどのユーザインターフェースがデバイスのディスプレイを制御するかを確定的に制御できる、ワイヤレス通信デバイスに関する。
【背景技術】
【０００３】
現代のワイヤレス通信ネットワークでは、ワイヤレス通信デバイスの多くが、オペレーティングシステム、およびコンピュータプラットフォーム上で個々にまたは並列に実行され得るソフトウェアアプリケーションとともに、常駐コンピュータプラットフォームを有する。ソフトウェアアプリケーションは、ワイヤレス通信デバイスの固有のディスプレイに表示されることが多いワイヤレス通信デバイスの常駐ユーザインターフェースの制御権を争うことがあり、ユーザインターフェースの制御権を獲得しようとする実行中のアプリケーションの競合により、いくつかの問題が生じ得る。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
たとえば、イベントを他の常駐アプリケーションに送るための通知機構を有するオペレーティングシステムでは、オペレーティングシステムは通常、通知を使用して、着信した通信の受信、様々なアプリケーションの実行、および固有のハードウェアコンポーネントの状態のようなイベントを複数のソフトウェアアプリケーションにブロードキャストすることができる。常駐ソフトウェアアプリケーションは、共通のオペレーティングシステムのアプリケーションプログラミングインターフェース(「API」)を使用して、通知に登録することができる。また、常駐ソフトウェアアプリケーションは、意図した通りに、「通知」クラスを実装し、通知を他のソフトウェアアプリケーションに送ることができる。アプリケーションがイベントを受け取ると、常駐ソフトウェアアプリケーションは通常、自由に活動し、API上でフォアグラウンドに来る。
【０００５】
ある特定のイベントを扱うことができる複数のアプリケーションがあり、それらのすべてがUIのフォアグラウンドに来ることを望む場合、1つの問題が発生する。これは、スラッシングと、各アプリケーションがフォアグラウンドに来ようとする望ましくないユーザの挙動とを引き起こし得るので、オペレーティングシステムは、いずれのアプリケーションもUIの一番上にとどまらせないことがある。この問題に対する1つの従来技術の解決法は、ブロードキャストイベントモデルの結果として、単にフォアグラウンドスラッシングを許可することであった。しかしながら、アプリケーションがUIを獲得してUI上に表示される任意の指定された順序がアプリケーションにはあり、優先度の高いアプリケーションが優先度の低いアプリケーションと制御権を争ったままにされるので、単にUIをスラッシングさせることは望ましくない。
【０００６】
したがって、複数のアプリケーションが同時に呼び出され、UIの制御権を争う場合に、複数の常駐アプリケーションのいずれがUIの制御権を有し得るかを制御するための、ワイヤレス通信デバイスのためのシステムおよび方法を提供することが有利であり得る。そのようなシステムおよび方法は、制御権を決定する際に多大なデバイスリソースを利用することなく、どのアプリケーションがUIを有し得るかを優先順位付けることが可能であるべきである。したがって、本発明が主に対象とするのは、UIの常駐アプリケーションの制御権を決定するような、ワイヤレス通信デバイスのシステムおよび方法である。
【課題を解決するための手段】
【０００７】
簡単に説明すると、ローカルコンピュータプラットフォームに常駐する1つまたは複数のアプリケーションを有し、少なくともあるワイヤレス通信インターフェースとディスプレイとを含む、ワイヤレス通信デバイスが本明細書で提供される。各アプリケーションは、ユーザと対話するために使用するユーザインターフェースを有する。コンピュータプラットフォームに常駐する調停者アプリケーションは、優先順位付け方式、直近に使用されたアルゴリズムのような所定の基準に基づいて、または複数のアプリケーションを呼び出すイベントの性質に基づいて、どのアプリケーションが自身のユーザインターフェースをフォアグラウンドに持って来ることができるかを制御する。
【０００８】
一実施形態では、ワイヤレス通信デバイスのコンピュータプラットフォーム上の常駐アプリケーションのどのユーザインターフェースがディスプレイを制御するかを決定する方法であって、ユーザインターフェースがワイヤレス通信デバイスのディスプレイ上に少なくとも現れ、ワイヤレス通信デバイスのユーザがそのユーザインターフェースを通じて常駐アプリケーションと対話する、方法は、ワイヤレス通信デバイスのディスプレイにユーザインターフェースを表示するステップであって、ディスプレイがコンピュータプラットフォームに常駐する1つまたは複数のアプリケーションのユーザインターフェースによって選択的に制御されるように構成される、ステップと、次いで、ディスプレイを制御するための常駐アプリケーションの1つまたは複数からの要求を、コンピュータプラットフォームに常駐する調停者において受け取るステップ、および、所定の基準に基づいて、1つまたは複数の常駐アプリケーションのユーザインターフェースのうちのどのアプリケーションがユーザインターフェースを制御するかを、調停者において決定するステップのいずれかとを含み、または、1つまたは複数の常駐アプリケーションがディスプレイの制御権の優先順位を示す優先順位データを含む場合、1つまたは複数の常駐アプリケーションは、どのアプリケーションのどのユーザインターフェースがディスプレイを制御するかを決定することができる。
【０００９】
別の実施形態では、複数のディスプレイの各々の制御権をワイヤレス通信デバイスに常駐する複数のアプリケーションのうちのあるアプリケーションに割り当てる方法は、2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、所定の基準に基づいて複数のディスプレイの1つを制御する複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するステップと、複数のディスプレイの1つを第1のアプリケーションが制御するという調停者を介した決定に応答して、複数のアプリケーションのうちの第2のアプリケーションに関連する活動が検出されるかどうかを判定するステップと、第2のアプリケーションに関連する活動を検出したことに応答して、第2のアプリケーションに対する優先順序で、複数のディスプレイのうちの実行可能なディスプレイのリストを並べるステップと、複数のディスプレイのうちの実行可能なディスプレイの並べられたリスト中のディスプレイを選択するステップと、選択されたディスプレイが第3のアプリケーションによって使用されているかどうかを判定するステップと、選択されたディスプレイが第3のアプリケーションによって使用されていないと判定したことに応答して、選択されたディスプレイのフォアグラウンドの制御権を割り当てるフラグを第2のアプリケーションに送るステップとを含み得る。
【００１０】
別の実施形態では、ユーザの意図に従って、ユーザ入力データをワイヤレス通信デバイスに常駐する複数のアプリケーションと関連付ける方法は、2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、所定の基準に基づいてワイヤレス通信デバイスのディスプレイを制御する複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するステップと、第1のアプリケーションがディスプレイを制御するという調停者を介した決定に応答して、複数のアプリケーションの中の第1のアプリケーションから複数のアプリケーションの中の第2のアプリケーションへのディスプレイの制御権の変更を検出するステップと、ディスプレイの制御権の検出された変更の前に受け取られる第1の入力と、ディスプレイの制御権の検出された変更の後で受け取られる第2の入力とを特定するステップと、第1の入力がディスプレイの制御権の検出された変更から第1の時間閾値以内に受け取られたかどうかを判定するステップと、第2の入力がディスプレイの制御権の検出された変更から第2の時間閾値以内に受け取られたかどうかを判定するステップと、第1の入力が第1の時間閾値以内に受け取られなかった、または第2の入力が第2の時間閾値以内に受け取られなかったと判定したことに応答して、第2の入力を第2のアプリケーションと関連付けるステップとを含み得る。
【００１１】
別の実施形態では、ワイヤレス通信デバイスに常駐する複数のアプリケーションを制御する方法は、2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、所定の基準に基づいてワイヤレス通信デバイスのディスプレイを制御する複数のアプリケーションのうちの第1のアプリケーションを、管理上の特権を有する調停者アプリケーションのような調停者を介して決定するステップと、複数のアプリケーションのうちの第1のアプリケーションがディスプレイを制御するという調停者を介した決定に、複数のアプリケーションのうちの第2のアプリケーションが従わなかったかどうかを判定するステップと、複数のアプリケーションのうちの第2のアプリケーションが従わなかったと判定したことに応答して、第2のアプリケーションを終了するステップとを含み得る。
【００１２】
したがって、本システムおよび本方法は、ディスプレイの制御におけるスラッシングを最小限にするために、呼出しイベントによって引き起こされるような、複数の呼び出されたまたはアクティブな常駐UIアプリケーションのいずれの1つがディスプレイの制御権を有し得るかを制御することの能力をワイヤレス通信デバイスに与えるという点で、有利である。種々のワイヤレス環境における実装を可能にする、アプリケーションによるディスプレイの制御権を優先順位付けるためのいくつかの実施形態がある。ディスプレイの制御権の決定はしたがって、ディスプレイの制御権を調停する際に多大なデバイスの処理リソースを割く必要なく達成され得る。
【００１３】
本発明の他の目的、特徴、および利点は、図面の簡単な説明、発明を実施するための形態、および特許請求の範囲の検討後に明らかになり得る。
【００１４】
本明細書に組み込まれ本明細書の一部を構成する添付の図面は、上で与えられた全般的な説明および以下で与えられる詳細な説明とともに、本発明の例示的な実施形態を示し、本発明の特徴を説明する役割を果たす。
【図面の簡単な説明】
【００１５】
【図１】PTTグループメンバーのワイヤレス遠隔通信デバイス間のグループ通信サーバ制御通信を有する、共通のセルラー遠隔通信構成におけるワイヤレスネットワークの一実施形態の代表的な図である。
【図２】プッシュツートーク(PTT)能力とともにここで示される、ワイヤレス遠隔通信デバイスのコンピュータプラットフォームを示すブロック図である。
【図３Ａ】複数の他のデバイス常駐アプリケーションにイベント通知を送るワイヤレス通信デバイスの常駐アプリケーションのブロック図である。
【図３Ｂ】図3Aと同様であるが、調停者がイベント通知も受け取り、UIを制御する際にアプリケーションが優先権を有することを示すための通知を受け取る他のアプリケーションの1つにフラグを送る、ブロック図である。
【図４】主要なディスプレイの制御権を争う複数の常駐アプリケーションインターフェース(API)を伴うワイヤレス通信デバイスのためのUIの表示の一実施形態の代表的な図である。
【図５】複数の呼び出されたワイヤレス通信デバイスの常駐アプリケーションの間でディスプレイ制御権の優先順位を決定する調停者のための方法の一実施形態のプロセスフロー図である。
【図６】ディスプレイの制御権を求めるアプリケーション中に存在する優先順位データに基づいて、複数の呼び出されたワイヤレス通信デバイスの常駐アプリケーションの間でディスプレイ制御権の優先順位を決定する方法の一実施形態のプロセスフロー図である。
【図７Ａ】複数のディスプレイのフォアグラウンドの制御権を割り当てる(または調停する)ための、ワイヤレス通信デバイスのための実施形態の方法のプロセスフロー図である。
【図７Ｂ】複数のディスプレイのフォアグラウンドの制御権を割り当てる(または調停する)ための、ワイヤレス通信デバイスのための実施形態の方法のプロセスフロー図である。
【図８】複数のディスプレイの優先順位を再計算するための、ワイヤレス通信デバイスのためのある実施形態の方法のプロセスフロー図である。
【図９Ａ】デバイスがユーザ入力を受け取るときに第2のアプリケーションがフォアグラウンドに来る、ワイヤレス通信デバイスのためのユーザインターフェースの表示の代表的な図である。
【図９Ｂ】受け取られたユーザ入力をタイミング情報に基づいて第1または第2のアプリケーションと関連付けるための、ワイヤレス通信デバイスのためのある実施形態の方法のプロセスフロー図である。
【図１０Ａ】デバイスがユーザ入力を受け取るときに第2のアプリケーションがフォアグラウンドに来ることに応答して、プロンプトダイアログボックスをレンダリングするワイヤレス通信デバイスのためのユーザインターフェースの表示の代表的な図である。
【図１０Ｂ】受け取られたユーザ入力をプロンプトダイアログボックスに対応する選択入力に基づいて第1または第2のアプリケーションと関連付けるための、ワイヤレス通信デバイスのためのある実施形態の方法のプロセスフロー図である。
【図１１Ａ】第2のアプリケーションがフォアグラウンドに来るのと同時の、受け取られたユーザ入力の処理に応答して、プロンプトダイアログボックスをレンダリングするワイヤレス通信デバイスのためのユーザインターフェースのディスプレイの代表的な図である。
【図１１Ｂ】受け取られたユーザ入力を受け取られたユーザ入力の内容の評価に基づいて第1または第2のアプリケーションと関連付けるための、ワイヤレス通信デバイスのためのある実施形態の方法のプロセスフロー図である。
【図１２】受け取られたユーザ入力を第1および第2のアプリケーションのユーザインターフェース要素の位置に基づいて第1または第2のアプリケーションと関連付けるための、ワイヤレス通信デバイスのためのある実施形態の方法のプロセスフロー図である。
【図１３】調停者による優先順位の決定に反してワイヤレス通信デバイスのフォアグラウンドの制御権を得た不従順なアプリケーションを終了するための、ワイヤレス通信デバイスのためのある実施形態の方法のプロセスフロー図である。
【図１４】様々な実施形態とともに使用するのに適した、スマートフォンワイヤレス通信デバイスのシステムブロック図である。
【発明を実施するための形態】
【００１６】
様々な実施形態が、添付図面を参照して詳細に説明され得る。可能なときには必ず、図面全体を通じて、同一のまたは同様の部分を指すために同一の参照番号が使用され得る。特定の例および実装形態へと行われる言及は、説明を目的とし、本発明の範囲または特許請求の範囲を限定することは意図されない。
【００１７】
この説明では、「通信デバイス」、「ワイヤレスデバイス」、「ワイヤレス通信デバイス」、「PTT通信デバイス」、「ハンドヘルドデバイス」、「モバイルデバイス」、および「ハンドセット」という用語は互換的に使用される。「呼」および「通信」という用語も、互換的に使用される。本明細書で使用される「アプリケーション」という用語は、実行可能なソフトウェアファイルおよび実行不可能なソフトウェアファイル、生データ、統合されたデータ、パッチ、および他のコードセグメントを包含することが意図される。「例示的」という用語は、開示される要素または実施形態が例にすぎず、ユーザのいかなる選好も示さないことを意味する。すべての形態の呼出し、実行、呼、およびデータ交換を含むように、アプリケーション間の対話のすべての方法が、本明細書において包含されることが意図される。さらに、同じ番号は、いくつかの図面を通して同じ要素を指し、冠詞「a」および「the」は、本明細書において別段に規定されていない限り、複数への言及を含む。
【００１８】
全体を通じて同様の数字が同様の要素を表す図面を参照すると、図1は、ワイヤレス通信デバイス70、72、74、76の間で通信が発生する、共通のセルラー遠隔通信構成におけるワイヤレスネットワークを伴うシステム10の一実施形態の代表的な図である。ここで、システム10はまた、プッシュツートーク(PTT)システムをサポートする一連のグループ通信コンピュータデバイス(グループ通信サーバ)32を含む。ワイヤレスネットワークは例示的なものにすぎず、ワイヤレスネットワークは、遠隔モジュールが無線を通じて、互いに通信する、かつ/または、限定はされないがワイヤレスネットワークキャリアおよび/もしくはサーバを含むワイヤレスネットワークのコンポーネントとの間で通信する、任意のシステムを含み得る。一連のグループ通信サーバ32はここではグループ通信サーバのローカルエリアネットワーク(LAN)50に接続されるものとして示されるが、他のコンピュータデバイスが、ネットワーク上の任意のコンポーネントに機能を提供するためにLAN 50にアクセス可能であり得る。ワイヤレス通信デバイス70、72、74、76は、データサービスオプションを使用して、グループ通信サーバ32からのパケットデータセッションを要求することができる。
【００１９】
グループ通信サーバ32のようなバックオフィスコンピュータデバイスが、ここではキャリアネットワーク54上に存在するものとして示されるパケットデータサービスノード(PDSN)52のような、ワイヤレスサービスプロバイダのPDSNに接続される。各PDSN 52は、パケット制御機能(PCF)62を通じて、基地局60の基地局コントローラ64とインターフェースし得る。PCF 62は通常、基地局60の中に位置する。キャリアネットワーク54は、メッセージングサービスコントローラ(MSC)58に送られる(一般的にはデータパケットの形態の)メッセージを制御する。キャリアネットワーク54は、ネットワーク、インターネットおよび/またはPOTS(「基本電話サービス」)によってMSC 58と通信する。通常、キャリアネットワーク54とMSC 58との間のネットワークまたはインターネット接続はデータを転送し、POTSは音声情報を転送する。MSC 58は、1つまたは複数の基地局60に接続され得る。キャリアネットワークと同様の方式で、MSC 58は通常、データ転送のためのネットワークおよび/またはインターネットと、音声情報のためのPOTSとの両方によって、branch-to-source(BTS) 66に接続される。BTS 66は最終的に、ショートメッセージングサービス(SMS)、または当技術分野で知られている他の無線を通じた方法によって、ワイヤレス通信デバイス70、72、74、76(たとえば、携帯電話)のようなワイヤレスデバイスとの間で、メッセージをワイヤレスにブロードキャストし、受信する。キャリアの境界および/またはPTT事業者ネットワークの境界は、本明細書で説明されるようなデータの共有を阻害または妨害しないことにも留意されたい。
【００２０】
ワイヤレス電話(図2の74)のような携帯電話およびモバイル遠隔通信デバイスは、計算能力の向上を伴って製造されており、パーソナルコンピュータおよびハンドヘルドPDAと同等になってきている。これらの「スマート」携帯電話は、ソフトウェア開発者が、ワイヤレス通信デバイスのプロセッサ上でダウンロード可能であり実行可能であるソフトウェアアプリケーションを作成することを可能にする。携帯電話74のようなワイヤレス通信デバイスは、ウェブページ、アプレット、MIDlet、ゲーム、およびデータのような多くのタイプのアプリケーションをダウンロードすることができる。通信グループを指定したワイヤレス通信デバイスでは、ワイヤレス通信デバイスは、セットの他のメンバーと直接接続し、音声通信およびデータ通信に関与し得る。しかしながら、すべてのそのような直接通信は、グループ通信サーバ32を通じて、またはその制御下で行われ得る。デバイスのすべてのデータパケットが、必ずしもグループ通信サーバ32自体を通じて移動しなければならないとは限らないが、グループ通信サーバ32は通常、通信グループのメンバーを認識する、かつ/または、通信グループのメンバーの識別情報を取り出せる、もしくは通信グループ12のメンバーの識別情報を別のコンピュータデバイスに向けることができる、唯一のキャリアネットワーク54のコンポーネントで通常あり得るので、通信を最終的に制御することが可能である。サーバ側のLAN 50上に、またはワイヤレスネットワーク全体に、または一般にインターネット上に存在するコンピュータコンポーネントの数は限定されないことを理解されたい。
【００２１】
ワイヤレス通信デバイス間の音声通信に加えて、JPEG、TIFなどの画像、MP3、MP4、WAVなどのようなオーディオファイルを含めるために、グラフィクスメディアのような他のメディアが送信され得る。メディアはまた、マルチメディアアプリケーション(Powerpoint、MOVファイルなど)のようなストリーミングメディアであり得る。グループに向けられるメディアはまた、ストリーミングメディア、または、ホストされたゲームもしくは私的な電子広告板のような、ワイヤレス通信ネットワーク上の別のコンピュータデバイス上の対話型のセッションであり得る。また、PTT通信について、グループに向けられる通信は、実質的にリアルタイムの、または遅れた、通信グループのメンバー間の半複信のオーディオおよび/またはビデオ会議であり得る。
【００２２】
図2は、ワイヤレス通信デバイス74が、デバイスの対象セット、すなわち通信グループの他のメンバーへの直接通信を開くプッシュツートーク(PUU)ボタン78とともに具現化された携帯電話である、一実施形態を示すブロック図である。ワイヤレス通信デバイス74はまた、ワイヤレス通信デバイス74のユーザに対するグラフィクスディスプレイ80を有するものとして示される。ワイヤレス通信デバイス74は、音声パケットおよびデータパケットを扱い、グループに向けられるメディアを含むようにワイヤレスネットワークにわたって送信されるソフトウェアアプリケーションを受け取り実行できる、コンピュータプラットフォーム82を含む。コンピュータプラットフォーム82は、コンポーネントの中でもとりわけ、特定用途向け集積回路(「ASIC」)84、または他のプロセッサ、マイクロプロセッサ、論理回路、プログラム可能ゲートアレイ、または他のデータ処理デバイスを含む。ASIC 84は、ワイヤレス通信デバイス74の製造の時点で設置され、普通は更新可能ではない。ASIC 84または他のプロセッサは、アプリケーションプログラミングインターフェース(「API」)レイヤ86を実行し、APIレイヤ86は、常駐アプリケーション環境を含み、ASIC 84にロードされるオペレーティングシステムを含み得る。常駐アプリケーション環境は、ワイヤレス通信デバイス74のメモリ88中の任意の常駐プログラムとインターフェースする。常駐アプリケーション環境の例は、ワイヤレス通信デバイスプラットフォームのためにQUALCOMM(登録商標)によって開発された、「binary runtime environment for wireless」(BREW(登録商標))ソフトウェアである。
【００２３】
ここで示されるように、ワイヤレス通信デバイス74は、グラフィクスディスプレイ80を伴う携帯電話74であり得るが、モバイルデバイス76のような、当技術分野で知られているようなコンピュータプラットフォーム82、またはさらには、ワイヤレス通信ポータルを有する別個のコンピュータプラットフォーム82を伴う任意のワイヤレス通信デバイスでもあってよく、そうでなければ、ネットワークまたはインターネットへの有線接続を有し得る。さらに、メモリ88は、読取り専用メモリまたはランダムアクセスメモリ(RAMおよびROM)、EPROM、EEPROM、フラッシュカード、またはコンピュータプラットフォームに対して一般的な任意のメモリからなり得る。コンピュータプラットフォーム82はまた、メモリ88においてアクティブに使用されないソフトウェアアプリケーションの記憶のために、ローカルデータベース90を含み得る。ローカルデータベース90は通常、1つまたは複数のフラッシュメモリセルからなるが、磁気メディア、EPROM、EEPROM、光学メディア、テープ、またはソフトディスクもしくはハードディスクのような、当技術分野で知られているような任意の二次的記憶デバイスまたは三次的記憶デバイスであってよい。グラフィクスディスプレイ80は、本明細書でより完全に説明されるようなファイルプレビューを含むように、進行中のグループ呼についての情報だけではなく、グループに向けられるメディアについての情報も提示することができる。
【００２４】
ワイヤレス通信デバイス74のこの実施形態では、コンピュータプラットフォーム82はまた、ワイヤレス通信デバイス74からの直接の通信チャネルを開き得る直接通信インターフェースまたはワイヤレス通信インターフェース92を含む。直接通信インターフェースまたはワイヤレス通信インターフェース92はまた、ワイヤレス通信デバイス74へ、またはそれから送信される音声およびデータを通常は搬送する、ワイヤレス通信デバイス74の標準的な通信インターフェースの一部であり得る。直接通信インターフェースまたはワイヤレス通信インターフェース92は通常、当技術分野で知られているようなハードウェアからなる。
【００２５】
概して、ワイヤレス通信デバイス74は、コンピュータプラットフォーム82に常駐する1つまたは複数のアプリケーションを有し、コンピュータプラットフォーム82はまた、ワイヤレス通信インターフェース92、ディスプレイ80、およびユーザインターフェースを含み、ユーザインターフェースは少なくともディスプレイ80に現れ(一例は図4に示されるユーザインターフェース140である)、ワイヤレス通信デバイス74のユーザはユーザインターフェースを通じてコンピュータプラットフォーム82と対話する。各アプリケーションはユーザインターフェースを有し、一実施形態では、調停者(図3Bの128)は、コンピュータプラットフォーム82に常駐し、所定の基準に基づいて、1つまたは複数のUIアプリケーションのうちのどのアプリケーションがディスプレイ80を制御するかを決定するように構成され得る。所定の基準の例は、優先順位リスト、ユーザインターフェースを再び制御するためにユーザインターフェースを制御することを最後のアプリケーションに許可すること(直近使用アルゴリズム)、制御権の決定がアプリケーションのクラスに基づくようにクラスを1つまたは複数のアプリケーションに割り当てること、特定のタイプのデータがユーザインターフェースにおいて扱われることに基づいてユーザインターフェースの制御を許可すること、およびそのタイプのデータがワイヤレス通信デバイス92において受け取られることに基づいて制御を許可することである。他の実施形態では、常駐アプリケーション自体が、調停者128と同じ方式で所定の基準を使用して、単独で、または調停者128とともに、優先順位を決定することができる。
【００２６】
図3Aは、ワイヤレス通信デバイスの常駐アプリケーション(アプリケーションA)100が、UIアプリケーションB 102、UIアプリケーションC 104、およびUIアプリケーションD 106としてここでは示される複数の他のデバイス常駐アプリケーションにイベント通知を送るブロック図である。それらは同時に呼び出されるので、UIアプリケーション102、104、106のいずれかが、イベント通知をいつ得たかに応じてディスプレイ80のフォアグラウンドに来ることができ(図4のように)、ディスプレイの制御権の任意の調停を伴わない最悪の場合には、アプリケーションは、互いにオーバーライドを続けてUIスラッシングを引き起こし得る。しかしながら、図3Bに示されるように調停者128が存在すると、複数の同時の、かつ進行中である可能性のある、複数のアプリケーションからの要求に対するUIの制御権は、UIのスラッシングを少なくとも減らすように、好ましくは防ぐように、調停者128によって決定され得る。
【００２７】
図3Bは、図3Aと同様であるが、UIアプリケーションB 122、UIアプリケーションC 124、およびUIアプリケーションD 126とともに、UIアプリケーションA 120からもイベント通知を受け取る調停者128が具現化された、ブロック図である。調停者128は、本明細書でさらに説明されるように所定の基準に基づいて、イベント通知を考慮してどのUIアプリケーションがフォアグラウンドに来るべきかを決定し、または、イベント通知の受信の時間においてその決定を行うことができる。調停者128は次いで、ここではアプリケーションC 124として示される、ディスプレイを制御するための優先権を有すると決定されたUIアプリケーションにフラグを送ることができ、常駐オペレーティングシステムは、調停者フラグを有する別のアプリケーションがオペレーティングシステムにおいて受け取られるまで、アプリケーションC 124がディスプレイを制御することを許可し得る。代替的に、フォアグラウンドに来ることを望む各アプリケーションは、ディスプレイのフォアグラウンドを得るための許可について調停者128に問い合わせることができる。
【００２８】
図4は、複数の常駐UIアプリケーションが、UI(またはUIアプリケーション)140の制御権とUI上での主要な表示とを争う、ワイヤレス通信デバイス74のディスプレイの一実施形態の代表的な図である。ここで、主要なUI 140は、「着信グループ通信」インターフェース146であり、他のインターフェース142および144はUIアプリケーションのバックグラウンドにとどまる。ここで示されるインターフェースは、ユーザインターフェース中の一般的なグラフィクスインターフェースである、「ウィンドウ型の」構成にある。本明細書で説明されるUI制御の方法は、ユーザがコンピュータプラットフォーム82にアクセスするための、他のUIシステムおよび表示方式、制御インターフェースに等しく適用可能である。
【００２９】
一実施形態では、調停者128は、アプリケーションの提供された「優先順位リスト」を利用することができ、この場合、アプリケーションA 120は、クラスIDのリストが場合によってはネットワークキャリアまたは他のエンティティによって提供されることを可能にするように、自身のコードを変更させている。クラスIDのこのリストは、UI 140のフォアグラウンドに来ることが許可されるべきであるアプリケーションの優先順序で提供される。たとえば、フォアグラウンドに来ることに関して、アプリケーションC 124がアプリケーションB 122またはアプリケーションD 126よりも高い優先順位を有するべきであることを選択することがあり、アプリケーションのすべてへのイベントのブロードキャストの後で、ブロードキャストはまた、イベント通知ペイロードにおいてアプリケーションC 124に対する選択されたクラスIDを一覧にする。アプリケーションがイベント通知を受け取るとき、アプリケーションは通常、クラスIDがペイロードにおいて送られるものと一致するかどうかを確認し、一致する場合、フォアグラウンドに来るべきである。この実施形態では、クラスIDが各アプリケーションに対して明らかであり得るので、調停者128はUIの制御権を検証するだけでよく、実際に制御権を付与する必要はない。しかしながら、この実施形態は、各常駐アプリケーションがクラスIDを理解するように構成されなければならない可能性があるので、余分なオーバーヘッドを必要とする。
【００３０】
UI 140の制御権を決定するための別の実施形態は、簡単なアルゴリズムを使用することであり、たとえば、特定のイベントクラス(警告、呼出し、存在など)のイベントを受け入れるためにフォアグラウンドに来るべき最後のアプリケーションを有することは、フォアグラウンドに来るべき次のアプリケーションである。そのような実施形態では、アプリケーションA 120は、イベントとともに最後の既知のフォアグラウンドアプリケーションクラスIDをブロードキャストすることができ、受信アプリケーションは、自身固有のクラスIDを提示された最後の既知のフォアグラウンドアプリケーションのクラスIDと比較し、それら2つが一致する場合にのみUI 140のフォアグラウンドに来るように勧告される。しかしながら、これは、最後の既知のフォアグラウンドアプリケーションがない場合(フレッシュスタートアップ)、またはどのアプリケーションが最後に制御権を持っていたかが明らかではないのでデフォルトの優先順位クラスが依然として使用されるべきであるときの、初期のスラッシングのような、「端の場合」の問題を引き起こし得る。
【００３１】
別の実施形態では、アプリケーションの好ましい制御は自動的に設定される。アプリケーション自体が、特定のイベントクラス(警告、呼出し、存在など)のイベントを処理するためにフォアグラウンドへ来る主要なアプリケーションとして、自身を登録することができる。そのような実施形態では、アプリケーションは、特定のイベントクラスに対して現在登録されているアプリケーションのためのクラスIDを取り出し、記憶されているクラスIDを自分自身によって上書きするかどうかについての決定を行うことができる。何も記憶されていない場合、アプリケーションは、特定のイベントクラスに対する主要なフォアグラウンドアプリケーションとして、自身固有のクラスIDを設定することができる。さらなる実施形態では、イベントのタイプおよび呼び出されている活動に基づく提供されたリストがあってよく、たとえば、アプリケーションA 120におけるMIMEタイプのリストを提供する。MIMEタイプのこのセットはその順序で提供されてよく、アプリケーションA 120は、イベント通知のペイロードに含まれる最高の優先順位のMIMEタイプとともに、イベントをすべてのアプリケーションにブロードキャストすることができる。アプリケーションがこのイベントを受け取るとき、アプリケーションは通常、含まれるMIMEタイプが提供されたものと一致するかどうかを確認し、一致する場合にのみフォアグラウンドに来ることができる。本質的に、この実施形態はクラスIDの代わりにMIMEタイプを使用する。しかしながら、この実施形態を実装するために、複数のアプリケーションが通常は協力し、それらのクラスIDがイベントにおいて送られたものと一致しない場合はフォアグラウンドに通常は来ず、これは各モジュールにおいて追加のプログラミングを必要とする。
【００３２】
図5は、複数の呼び出されたワイヤレス通信デバイスの常駐アプリケーションの間でディスプレイ80の制御権の優先順位を決定する調停者128のための方法の一実施形態のフローチャートである。調停者128は、ブロック150(またはステップ150)によって示されるイベントの通知を受け取り、そして、決定ブロック152において示されるように、2つ以上のアプリケーションが呼び出されるどうかについての判定が行われる。決定ブロック152において2つ以上のアプリケーションが呼び出されない場合、終了ブロック154において示されるように、調停プロセスは終了する。そうではなく、決定ブロック152において2つ以上のアプリケーションが呼び出される場合、次いで、決定ブロック156において示されるように、アプリケーションに対する所定の優先順位があるかどうかについての決定が行われ、所定の優先順位がある場合、終了ブロック162において示されるように、調停は終了する。
【００３３】
そうではなく、決定ブロック156において所定の優先の基準がない場合、ブロック158(またはステップ158)において示されるように、ディスプレイ80を獲得するアプリケーションの優先順位が決定され、次いで、ブロック160(またはステップ160)において示されるように、ディスプレイ80を制御するためにフラグが優先アプリケーションに送られ、終了ブロック162において示されるように、調停は再び終了する。ブロック158(またはステップ158)において、上で述べられたような方法、または上の方法の任意の組合せによって、優先順位が決定され得る。
【００３４】
図6は、ディスプレイ80の制御権を求めるアプリケーション中に存在する優先順位データに基づいて、複数の呼び出されたワイヤレス通信デバイスの常駐アプリケーションの間でディスプレイ制御権の優先順位を決定するための方法の一実施形態のフローチャートである。通知イベントは、あらかじめ定められた処理ブロック170によって示されるように発生し、次いで、決定ブロック172において示されるように、2つ以上のアプリケーションが呼び出されるどうかについての判定が行われる。決定ブロック172において2つ以上のアプリケーションが呼び出されない場合、調停プロセスは必要とされず、終了ブロック174において示されるように、プロセスは終了する。そうではなく、決定ブロック172において2つ以上のアプリケーションが呼び出される場合、次いで、決定ブロック176において示されるように、ディスプレイ80の制御を試みているアプリケーション中に所定の優先順位データが存在するかどうかについての決定が行われ、所定の優先順位データが存在しない場合、終了ブロック182において示されるように、調停は終了する。そうではなく、決定ブロック176において所定の優先の基準が存在する場合、ブロック178(またはステップ178)において示されるように、ディスプレイ80を獲得する優先順位が最高のアプリケーションが決定され、次いで、ブロック180(またはステップ180)において示されるように、ディスプレイ80を制御するためにフラグが最高の優先順位のアプリケーションに送られ、終了ブロック182において示されるように、プロセスは再び終了する。代替的に、ブロック178(またはステップ178)において、上で述べられたような方法、または上の方法の任意の組合せによって、優先順位が決定され得る。
【００３５】
したがって、ワイヤレス通信デバイス74は、ワイヤレス通信デバイス74のコンピュータプラットフォーム82のどの常駐アプリケーションがワイヤレス通信デバイス74のディスプレイ80を制御するかを決定する、進歩性のある方法を提供し、ユーザインターフェース140は少なくとも、ワイヤレス通信デバイス74のディスプレイ80上に現れ、ワイヤレス通信デバイス74のユーザはユーザインターフェース140を通じてコンピュータプラットフォーム82と対話し、対話することは、ワイヤレス通信デバイス74のディスプレイ80上にユーザインターフェース140を表示することを含み、ユーザインターフェース140は、コンピュータプラットフォーム82に常駐する1つまたは複数のアプリケーションによって選択的に制御されるように構成されることが、理解され得る。一実施形態では、方法は、ディスプレイ80を制御するための要求を、常駐アプリケーションの1つまたは複数から、コンピュータプラットフォーム82に常駐する調停者128において受け取るステップと、次いで、調停者128において、所定の基準に基づいて、1つまたは複数の常駐アプリケーションのどのアプリケーションがディスプレイ80を制御するかを決定するステップとを含む。
【００３６】
一実施形態では、1つまたは複数の常駐アプリケーションの各々がディスプレイ80を制御するためのアプリケーションの優先順位を決定する優先順位データを含む場合、方法は、ユーザインターフェース140の表示の後に、図3Aに示されるように、1つまたは複数の常駐アプリケーションのうちの複数を呼び出すステップと、各々の呼び出されたアプリケーション内の優先順位データに基づいて、1つまたは複数の常駐アプリケーションのどのアプリケーションがディスプレイ80を制御するかを決定するステップとを含む。そのような決定は、ディスプレイ80を制御するためのアプリケーションの優先順位を決定するクラス識別子の使用に基づいてよく、または代替的に、複数の呼び出されたアプリケーションの1つが優先順位データに基づいてディスプレイ80の制御権を獲得することに基づいてよい。この実施形態では、優先順位データのランキングは好ましくは、スラッシングを減らし、または好ましくは防ぐために、最高の優先順位のアプリケーションに対するディスプレイの制御権を保つことができる。
【００３７】
調停者128によって具現化されるとき、所定の基準に基づいて1つまたは複数の常駐アプリケーションのどのアプリケーションがディスプレイ80を制御するかを決定するステップは、ディスプレイ80を制御することを試みるアプリケーションのための優先順位リストを利用するステップである。代替的に、調停者128において、所定の基準に基づいて1つまたは複数の常駐アプリケーションのどのアプリケーションがディスプレイ80を制御するかを決定するステップは、最後のアプリケーションがディスプレイ80を再び制御するためのディスプレイ80を制御することを許可するステップであり得る。また、調停者128において、所定の基準に基づいて1つまたは複数の常駐アプリケーションのどのアプリケーションがディスプレイ80を制御するかを決定するステップは、あるクラスを1つまたは複数のアプリケーションに割り当てるステップであってよく、制御権を決定するステップは、アプリケーションのクラスに基づく。さらに、調停者128において、1つまたは複数の常駐アプリケーションのどのアプリケーションがディスプレイ80を制御するかを決定するステップは、ユーザインターフェース140において扱われているデータのタイプに基づいてディスプレイ80の制御を許可するステップであってよく、または、ワイヤレス通信インターフェース92において受信されているデータのタイプに基づいてよい。
【００３８】
方法はさらに、ユーザインターフェース140においてワイヤレス通信デバイス74のユーザにデータを表示するステップを含んでよく、ユーザインターフェース140がディスプレイ80上のインターフェース140のようなディスプレイ画面である場合、方法は、API 142、144、146のようなグラフィクス情報を、ディスプレイ80においてワイヤレス通信デバイス74のユーザに表示するステップを含み得る。代替的に、ユーザインターフェースが、ユーザがコンピュータプラットフォーム82にアクセスするための制御インターフェースである場合、方法はさらに、デバイス機能を制御するために、ディスプレイ画面80においてワイヤレス通信デバイス74のユーザにグラフィクス情報を表示するステップを含み得る。ユーザインターフェース140が、ユーザインターフェース140を選択的に制御するように構成される1つまたは複数のユーザインターフェースアプリケーションを含む場合、調停者128はさらに、ウィンドウ化されたAPI 142、144、146のような1つまたは複数のユーザインターフェースアプリケーションにディスプレイ80の制御を選択的に許可するように構成され得る。
【００３９】
上で説明された図5のブロック160および図6のブロック180を参照して上で説明されたように、ワイヤレス通信デバイスは、フラグ(または他のメッセージ)を優先アプリケーションに送るように構成され得る。様々な実施形態において、ワイヤレス通信デバイスは、コンピュータプラットフォームの常駐アプリケーションがディスプレイを制御できない(またはフォアグラウンドに来られない)ことを示す、メッセージ、フラグ、または他の信号を、それらのアプリケーションに送信するように構成され得る。具体的には、ワイヤレス通信デバイスは、調停者などを介して、あるアプリケーションがワイヤレス通信デバイスのバックグラウンドにおいて非アクティブなアプリケーションまたは保留されたアプリケーションとして動作すべきであることを示す、保留メッセージを送信することができる。たとえば、図5のブロック158または図6のブロック178における動作を使用して優先アプリケーションを決定した後で、ワイヤレス通信デバイスは、フラグを優先アプリケーションに送信し、保留メッセージをワイヤレス通信デバイスのプロセッサ上で実行されるすべての他のアプリケーションに送信することができる。このようにして、アプリケーションは、ディスプレイを制御できる(またはフォアグラウンドに来ることができる)優先アプリケーションであるかどうかにかかわらず、そのようなメッセージまたは信号を通じて、ワイヤレス通信デバイスによる調停動作の結果を受け取ることができる。
【００４０】
様々な実施形態において、ワイヤレス通信デバイスは、上で説明された調停動作を修正および/またはサポートするための動作を実行することができる。具体的には、ワイヤレス通信デバイスは、下で説明されるような方法700、750、800、950、1050、1150、1200、および1300を実行することができる。様々な実施形態において、下で説明される方法の動作は、上で説明された調停動作と組み合わせて、またはその一部として実行され得る。たとえば、ワイヤレス通信デバイスは、調停者などを介して、図5のブロック150〜160または図6のブロック170〜180における動作を実行した後で、下で説明されるような、方法950、1050、1150、1200、または1300の動作のいずれかまたはすべてを実行することができる。
【００４１】
さらに、様々な実施形態では、ワイヤレス通信デバイスは、上で説明されたように、調停者を介して下で説明される様々な方法の動作を実行するように構成され得る。たとえば、ワイヤレス通信デバイスは、ワイヤレス通信デバイスのプロセッサ上で実行される調停者アプリケーション(またはアプリ)を介して、または代替的に、ワイヤレス通信デバイスのオペレーティングシステムの一部である調停者プロセス、ルーチン、スレッド、ソフトウェア、もしくは他の命令を介して、方法700、750、800、950、1050、1150、1200、または1300のいずれかの動作の任意の組合せを実行することができる。したがって、下で説明されるワイヤレス通信デバイスの任意の動作は、そのような調停者を介して実行されると見なされ得る。
【００４２】
図7A〜図8は、ワイヤレス通信デバイスのプロセッサ上で実行されるアプリケーションによって制御され得る複数のディスプレイを管理するための、ワイヤレス通信デバイスのための実施形態の方法700、750、および800を示す。様々な実施形態において、ワイヤレス通信デバイスは、ワイヤレス通信デバイスのプロセッサ上で実行されるアプリケーションに対応する情報(たとえば、画像、写真、およびユーザインターフェース要素)をレンダリングするために複数のディスプレイを含み、それに結合され、または別様にそれを利用するように構成され得る。たとえば、ワイヤレス通信デバイスは、クラムシェル型のモバイルデバイスの要素(たとえば、筐体の覆い、側部、半分など)が閉じられているときにアプリケーション情報をレンダリングするための小さなディスプレイ、およびクラムシェル型のモバイルデバイスが開かれているときの大きなディスプレイのような、複数の画面を含むクラムシェル型のモバイルデバイス(たとえば、携帯電話)であり得る。別の例として、ワイヤレス通信デバイスは、筐体の前側の第1のタッチスクリーンディスプレイと、筐体の裏側に埋め込まれた第2のタッチスクリーンディスプレイとを含み得る。下でより詳細に論じられる図14は、複数のディスプレイを含むワイヤレス通信デバイスの例を示す。
【００４３】
ある実施形態では、ワイヤレス接続または有線接続を介して、ワイヤレス通信デバイスはまた、他のディスプレイ(たとえば、ポータブルラップトップコンピュータ、デスクトップコンピュータ、より大きな画像全体をレンダリングするために組み合わせて使用される複数のLCDモニタなど)、またはディスプレイを有する他のワイヤレス通信デバイス(たとえば、ワイヤレス通信デバイスに結合された別のスマートフォン)に接続され、または繋がれ得る。様々な実施形態では、複数のディスプレイは、単一のディスプレイ(たとえば、広告板のようなより大きな画像全体を表示するために組み合わせて使用される複数のモニタ)内の異なる区画、象限、またはピクセル範囲を指し得る。たとえば、ワイヤレス通信デバイスは、複数のデスクトップ、環境、またはフォアグラウンドアプリケーションをレンダリングするための、単一のタッチスクリーンディスプレイのスペースを分割することができる。
【００４４】
図7A〜図8を参照して下で説明された実施形態の方法700、750、および800は、ワイヤレス通信デバイスのコンピューティングプラットフォームに常駐するアプリケーションが、優先順位情報に基づいて複数のディスプレイの1つを制御することをどのように許可され得るかを管理するために、調停者などを介して、ワイヤレス通信デバイスによって実行され得る。たとえば、ワイヤレス通信デバイスは、ワイヤレス通信デバイス上で実行されるどの他のアプリケーションがディスプレイのフォアグラウンドに来ることができるかを所定の基準に基づいて管理するための方法700、750を、プロセッサ上で実行される調停者アプリケーション(またはアプリ)を介して実行することができる。
【００４５】
図7Aは、複数のディスプレイのフォアグラウンドの制御権を割り当てる(または調停する)ための、ワイヤレス通信デバイスのためのある実施形態の方法700を示す。言い換えると、ワイヤレス通信デバイスは、デバイスに登録されたアプリケーションの優先順位を比較することによって、どのアプリケーションが複数のディスプレイの各々のフォアグラウンドに来ることができるかを、決定することができる。ある実施形態では、ワイヤレス通信デバイス上で動作する複数の各アプリケーションの優先順位は、デバイスのオペレーティングシステムまたは調停者に登録され得る。たとえば、主要なディスプレイのフォアグラウンドの制御権をより優先順位の高いアプリケーションが有するとき、ワイヤレス通信デバイスは、より優先順位の低いアプリケーションに二次的なディスプレイの制御権を割り当てることができる。別の例として、ワイヤレス通信デバイスは、主要なディスプレイを制御するには十分に重要ではない中間の優先順位のアプリケーションに配慮して、優先順位の低いアプリケーションが二次的なディスプレイを制御するのを阻止することができる。
【００４６】
ブロック701において、ワイヤレス通信デバイスは、ワイヤレス通信デバイス上で実行されるアプリケーションの記述情報を含む登録情報を記憶することなどによって、アプリケーションを登録することができる。登録されたアプリケーションは、ワイヤレス通信デバイスのコンピュータプラットフォームに常駐するものと見なされ得る。ワイヤレス通信デバイスは、ワイヤレス通信デバイスの起動時に、アプリケーションから登録要求を受け取ったことに応答して、または、アプリケーションがインストールされるとき、起動されるとき、もしくは別様にアクティブ化されるときに(たとえば、実行時に、またはアプリケーションのアクティベーションにおいて)動的に、アプリケーションを登録することができる。ある実施形態では、アプリケーションは、イベント通知を受け取ったことに応答して、調停者を介してワイヤレス通信デバイスによって登録され得る。
【００４７】
ワイヤレス通信デバイスのコンピュータプラットフォームに常駐するアプリケーションの登録において、ワイヤレス通信デバイスで実行される調停者アプリケーション(またはOSプロセス)がアクセス可能であるデータテーブルまたはデータベースなどに、様々な登録情報がアプリケーションに関連して記憶され得る。具体的には、各々の登録されたアプリケーションは、識別情報(たとえば、アプリケーションID)、デフォルトの優先順位(たとえば、高い、低い、重要など)、アプリケーションのネットワーク要件(たとえば、インターネットアクセス、ある要求されるサービス品質(QoS)、ブロードキャストまたはマルチキャストが必要とされること、全地球測位システム(GPS)が必要とされることなど)、図7Bを参照して下で論じられるようにアプリケーションの優先順位が動的に変更され得るかどうかの指示(たとえば、調停者は動作条件に基づいて優先順位を高から低に動的に変更し得る、など)、およびアプリケーションが二次的ディスプレイ(たとえば、補助的なタッチスクリーンなど)において使用され得るかどうかの指示と関連付けられ得る。
【００４８】
加えて、各々の登録されたアプリケーションは、登録されたアプリケーションがワイヤレス通信デバイスのバックグラウンドにおいて実行されることが可能であるかどうかの指示(すなわち、「バックグラウンド対応」または「バックグラウンド非対応」)と関連付けられ得る。たとえば、ビデオ通話アプリケーション(たとえば、QCHAT(登録商標))が、「バックグラウンド対応」であるものとしてワイヤレス通信デバイス(および調停者)に登録しており、カメラアプリケーションがディスプレイのフォアグラウンドを制御しながら(またはフォアグラウンドにおいて実行されながら)ビデオ通話が後で受信されるとき、ワイヤレス通信デバイスは、調停者を介して、カメラアプリケーションがフォアグラウンドの制御を続けることを許可してよく、一方、ビデオ通知アプリケーションはバックグラウンドでの実行を続ける。別の例として、ビデオ通話アプリケーションがバックグラウンド対応の指示を伴わずに登録される(すなわち、「バックグラウンド非対応」インジケータとともに登録される)とき、ワイヤレス通信デバイスは、ビデオ通話アプリケーションがカメラアプリケーションよりも高い優先順位レベルで登録されているとき、カメラアプリケーションを中止し、ディスプレイのフォアグラウンドの制御権をビデオ通話アプリケーションが得るのを認めることができる。ある実施形態では、ワイヤレス通信デバイスは、ビデオ通話アプリケーションがバックグラウンドで実行されるプロセスとして呼を行っていることを示すトーンのような、ビデオ通話の状態および/または発言制御権を示し得る、トーン、音楽、または他の音を、放出またはレンダリングするように構成され得る。
【００４９】
様々な登録されているアプリケーションの登録情報は、ワイヤレス通信デバイスがアプリケーションを評価するためにアクセスし得る、データ記録内のデータ、ビット、変数、記述文字列、または任意の他のデータとして記憶され得る。ある実施形態では、アプリケーションがバックグラウンド対応かどうかの指示のような登録情報は、アプリケーション、ワイヤレス通信デバイス、および/または調停者と関連付けられるユーザ選好に基づき得る。たとえば、ユーザ選好は、アプリケーションがデフォルトの/主要な画面上にのみレンダリングされ得ること、または、アプリケーションがワイヤレス通信デバイス上でバックグラウンドプロセスとして常に実行され得る(または決して実行され得ない)ことを示すユーザ選好が、特定のアプリケーションに対して設定され得る。
【００５０】
図7Aに戻ると、判定ブロック702において、ワイヤレス通信デバイスは、第1のアプリケーションに関する活動が検出されるかどうかを判定することができる。たとえば、上で説明されたように、ワイヤレス通信デバイスは、調停者を介して、調停者に登録されるアプリケーションを呼び出すことができる通知イベントまたは他のメッセージが受信されるときを検出することができる。そのような検出された活動は、各々の個々の登録されたアプリケーションに対するあらかじめ定められたイベントであってよく、またはすべてのアプリケーションに共通であってよい。第1のアプリケーションに関連し得る検出された活動は、例外への遭遇、登録されたアプリケーションと関連付けられる記憶されている情報の変化の検出(たとえば、優先順位の変化)、および/または、様々な条件に応答して受信されるイベント通知/信号/割込み/または他のメッセージの受信、たとえば、調停者への新たなアプリケーションの登録、アプリケーションの動作状態(たとえば、保留、アクティブなど)または登録情報(たとえば、優先順位クラスなど)の変化、ディスプレイのフォアグラウンドの制御権をアプリケーションが要求すること、アプリケーションによるディスプレイのフォアグラウンドの制御権の喪失、およびディスプレイの活動状態の変化(たとえば、主要なディスプレイが利用可能になった、など)を含み得る。
【００５１】
ある実施形態では、ワイヤレス通信デバイスは、第1のアプリケーションおよび/または第1のアプリケーションのクラスもしくは優先順位を特定する、ビットまたは他のインジケータに基づいて、受信されたメッセージが第1のアプリケーションに関連があると判定することができる。代替的に、任意の受信されたメッセージが、任意の起動されたアプリケーションおよび/またはアクティブなアプリケーション(たとえば、ワイヤレス通信デバイスのバックグラウンド/フォアグラウンドで実行されているアプリケーション)に関連があり得る。様々な実施形態において、ワイヤレス通信デバイスは、すべての登録されているアプリケーションを評価して、任意のそのような検出された活動(たとえば、メッセージの受信)に対する関連性を判定することができる。
【００５２】
ワイヤレス通信デバイスが第1のアプリケーションに関連する活動を検出しない場合(すなわち、判定ブロック702=「No」)、ワイヤレス通信デバイスは、ブロック701において、アプリケーションを登録するための動作を続けることができる。たとえば、ワイヤレス通信デバイスは、アプリケーションを継続的または定期的に登録し、通知イベントを監視することができる。ワイヤレス通信デバイスが第1のアプリケーションに関連する活動を検出する場合(すなわち、判定ブロック702=「Yes」)、ブロック704において、ワイヤレス通信デバイスは、ディスプレイの優先順序で、第1のアプリケーションに対するすべての実行可能なディスプレイのリストを特定する(または並べる)ことができる。たとえば、ワイヤレス通信デバイスは、適切に機能しており(すなわち、故障していない、修理中ではない、など)現在使用されている、ワイヤレス通信デバイスと関連付けられるすべてのタッチスクリーン、LCDスクリーン、および他のディスプレイユニットを特定することができる。言い換えると、実行可能なディスプレイの特定されたリストは、第1のアプリケーションがフォアグラウンドに来ることができるすべての可能性のあるディスプレイのリストであり得る。
【００５３】
ある実施形態では、ワイヤレス通信デバイスは、第1のアプリケーションと関連付けられる登録情報に基づいてリストを特定することができる。たとえば、第1のアプリケーションが複数のディスプレイをサポートしないことを第1のアプリケーションの登録情報が示す場合、ワイヤレス通信デバイスは、デバイスのデフォルトのディスプレイまたは主要なディスプレイのみを含むリストを特定することができる。別の例として、ワイヤレス通信デバイスは、第1のアプリケーションの登録情報を評価して好ましいディスプレイの優先順位を見出すことができ、それに従ってリストを特定することができる。別の実施形態では、ワイヤレス通信デバイスは、ディスプレイを使用するのに必要とされる電力を評価することによって、実行可能なディスプレイのリストを特定することができる。具体的には、ワイヤレス通信デバイスは、デバイスの利用可能なバッテリー電力を評価して、非アクティブ化されている二次的なディスプレイが第1のアプリケーションによる制御のためにアクティブ化され得る(または電源を入れられ得る)かどうかを判定することができる。ワイヤレス通信デバイスは、第1のアプリケーションによるそのような二次的なディスプレイの電力消費を推定することができ、推定された消費量を閾値と比較して、二次的ディスプレイをアクティブ化することが可能かどうかを判定することができる。
【００５４】
実行可能なディスプレイのリストのディスプレイ順序は、様々なディスプレイに関する、あらかじめ定められた記憶されている情報(たとえば、ディスプレイユニットの優先順位の分類を記述する情報を有するデータベース)、ユーザ選好、活動(たとえば、ディスプレイがどの程度頻繁に使用されるか)、および第1のアプリケーションに対する有用性に基づき得る。たとえば、実行可能なディスプレイのリストは、デフォルトの(または主要な)タッチスクリーンから二次的なディスプレイまで順番になっていてよい。別の例として、実行可能なディスプレイのリストは、解像度またはレンダリングの品質(たとえば、HD、SD、白黒など)の降順で提示されてよい。さらに別の例として、リストは、第1のアプリケーションと関連付けられる特定のタイプのデータ(たとえば、ビデオ、テキストなど)を最良にレンダリングすることが可能な順序で、ディスプレイを並べることができる。様々な実施形態において、第1のアプリケーションに対する特定されたリストは、他の登録されたアプリケーションに対する特定されたリストとは異なり得る。たとえば、ワイヤレス通信デバイスは、第1のアプリケーションの登録された情報に基づいて、OLEDまたはLEDスクリーンが第1のアプリケーション(たとえば、ビデオゲーム)に対する最高のディスプレイ優先順位を有することを特定することができるが、第2のアプリケーション(たとえば、写真エディタ)に対してはディスプレイ優先順位が最高であるものとしてタッチスクリーンを特定することができる。
【００５５】
ブロック706において、ワイヤレス通信デバイスは、実行可能なディスプレイの特定されたリストから次のディスプレイを選択することができる。ワイヤレス通信デバイスがブロック706における動作を初めて実行する際には、次のディスプレイは、実行可能なディスプレイの特定されたリスト中の最初のディスプレイ(すなわち、第1のアプリケーションに対する最高のディスプレイ優先順位を有するディスプレイ)であってよい。たとえば、ワイヤレス通信デバイスはまず、第1のアプリケーションを評価するためにデフォルトの(または主要な)ディスプレイを選択することができる。判定ブロック708において、ワイヤレス通信デバイスは、選択されたディスプレイが第2のアプリケーションによって使用されているかどうかを判定することができる。選択されたディスプレイが第2のアプリケーションによって使用されていない場合(すなわち、判定ブロック708=「No」)、ブロック716において、ワイヤレス通信デバイスは、選択されたディスプレイのフォアグラウンドの制御権を第1のアプリケーションに割り当てるフラグ(または他の信号)を送ることができる。
【００５６】
選択されたディスプレイが第2のアプリケーションによって使用されている場合(すなわち、判定ブロック708=「Yes」)、判定ブロック710において、ワイヤレス通信デバイスは、第2のアプリケーションの優先順位が第1のアプリケーションよりも高いかどうかを判定することができる。ワイヤレス通信デバイスは、たとえば、優先順位クラスまたは他の特性を比較してより優先順位の高いアプリケーションを特定することによって、第1のアプリケーションおよび第2のアプリケーションの登録情報を比較することができる。ワイヤレス通信デバイスは、図5〜図6のブロック158および/または178を参照して上で説明されたものと同様の動作を実行して、どのアプリケーションがより高い優先順位を有するかを判定することができる。
【００５７】
第2のアプリケーションがより高い優先順位を有しない場合(すなわち、判定ブロック710=「No」)、任意選択のブロック718において、ワイヤレス通信デバイスは、たとえば、選択されたディスプレイのフォアグラウンドの制御権から第2のアプリケーションが除去されることを示すビットを記憶することによって、第2のアプリケーションの状態を変更することができる。ある実施形態では、状態の変更は、第2のアプリケーションの状態変化を示すメッセージまたは信号(たとえば、保留メッセージ)をワイヤレス通信デバイスが送り、それによって、方法700の実行を引き起こして可能であれば第2のアプリケーションを別のディスプレイに割り当て直すことによって、達成され得る。ワイヤレス通信デバイスは次いで、ブロック716の動作を続けることができる。
【００５８】
第2のアプリケーションがより高い優先順位を有する場合(すなわち、判定ブロック710=「Yes」)、判定ブロック712において、ワイヤレス通信デバイスは、実行可能なディスプレイの特定されたリスト中に選択すべき次のディスプレイがあるかどうかを判定することができる。言い換えると、ワイヤレス通信デバイスは、実行可能なディスプレイの特定されたリスト中の次にディスプレイ優先順位が高いディスプレイに第1のアプリケーションを割り当てるための別の繰り返しにおいて、ブロック706の動作を実行するかどうかを判定することができる。実行可能なディスプレイの特定されたリスト中に選択すべき次のディスプレイがない場合(すなわち、判定ブロック712=「No」)、ブロック714において、ワイヤレス通信デバイスは、ディスプレイの待ち行列に第1のアプリケーションを追加することができる。たとえば、第1のアプリケーションは、主要なディスプレイ、または実行可能なディスプレイの特定されたリスト中の任意のディスプレイが利用可能になるまで、保留され得る。上で説明されたように、ワイヤレス通信デバイスは、ディスプレイが利用可能になるときにメッセージまたは信号を受信することができ、それに応答して、方法700の動作を実行して第1のアプリケーションをあるディスプレイに割り当てることができる。
【００５９】
ある実施形態では、ワイヤレス通信デバイスは、方法700を実行して、順序付けられたディスプレイの関連するリスト中の異なるディスプレイに、連続的にアプリケーションを割り当てることができる。言い換えると、あるディスプレイ(たとえば、デフォルトの、主要な、優先順位の高い)が利用可能になったことを示すメッセージまたは信号を受信したことに応答して、ワイヤレス通信デバイスは、方法700における動作を実行して、二次的なディスプレイを制御するアプリケーションがそのディスプレイに割り当て直され得るかどうかを判定することができる。たとえば、より優先順位の高い第2のアプリケーションが終了し、前面のディスプレイ(すなわち、デフォルトのまたは主要なディスプレイ)の制御権を失うとき、ワイヤレス通信デバイスは、ワイヤレス通信デバイスの筐体の裏側の二次的なディスプレイに以前に割り当てられていたより優先順位の低い第1のアプリケーションが前面のディスプレイに割り当て直され得るかどうかを判定することができる。
【００６０】
図7Bは、複数のディスプレイのフォアグラウンドの制御権を割り当てる(または調停する)ための、ワイヤレス通信デバイスのためのある実施形態の方法750を示す。方法750は、ワイヤレス通信デバイスに常駐しており調停者によって管理されるように登録される、様々なアプリケーションの優先順位を更新する(または再計算する)ための動作を含むことを除き、上で説明された方法700と同様である。ブロック701において、ワイヤレス通信デバイスは、ワイヤレス通信デバイス上で実行されるアプリケーションの記述情報を記憶することなどによって、アプリケーションを登録することができる。
【００６１】
ブロック752において、ワイヤレス通信デバイスは、あらかじめ定められたイベントに応答して、動的な優先順位の変更に登録されているアプリケーションの優先順位を再計算する(または優先順位の変更を実行する)ことができる。上で説明されたように、様々なアプリケーションの登録においてワイヤレス通信デバイスによって記憶される登録情報は、アプリケーションの優先順位が動的に変更され得るかどうかの指示を含み得る。言い換えると、登録情報は、調停者アプリケーションまたはOSルーチンなどを介して、ワイヤレス通信デバイスによって優先順位が変更されることにアプリケーションが同意しているかどうかを示し得る。緊急通話のアプリケーションのようないくつかのアプリケーションは、不変の優先順位を有してよく、ワイヤレス通信デバイスによる動的な優先順位の変更を許可することに登録されなくてよい。
【００６２】
様々な実施形態において、ワイヤレス通信デバイスによって一般にアクセス可能なデータに(たとえば、調停者アプリケーションと関連付けられるメモリに)、または代替的に、個々の登録されたアプリケーションの登録情報内に、あらかじめ定められたイベントが記憶され得る。あらかじめ定められたイベントは、特定のアプリケーションの優先順位の再計算を引き起こし得る、条件、タイマー、メッセージ(または受信されるメッセージのタイプ)、または他の状況を含み得る。たとえば、あるアプリケーションに対する登録情報は、期間(たとえば、ミリ秒、秒、分など)ごとに、および/またはある数のプロセッサクロック周期(または信号)ごとに1回、ワイヤレス通信デバイスがあるアプリケーションの優先順位を再計算すべきであることを示し得る。別の例として、ワイヤレス通信デバイスは、アプリケーションの登録または起動を検出したことに基づいて、あるアプリケーションの優先順位変更動作を実行することができる。ある実施形態では、ワイヤレス通信デバイスは、アドレス帳アプリケーションに対応する、タッチスクリーン上でのタップまたはテキストのタイピング入力のような、検出されたユーザ入力に基づいて、アプリケーションに対する優先順位変更動作を実行することができる。
【００６３】
別の実施形態では、ワイヤレス通信デバイスは、デバイスの動作パラメータの変更に基づいて、アプリケーションの優先順位変更動作を実行することができる。たとえば、アプリケーションは、ワイヤレス通信デバイスがワイドエリアネットワーク(WAN)への接続を失うこと、WANへの接続を得ること、セルラーネットワークのサービス活動の変化を検出すること、および/またはあるアクセスポイントに接続することのような、ネットワーク接続性の変化をワイヤレス通信デバイスが検出したことに応答して、優先順位が変更され得る。別の例として、アプリケーションは、ワイヤレス通信デバイスが短距離ワイヤレス信号(たとえば、Bluetooth（登録商標）など)を受信すること、および/または利用可能な電力の変化(たとえば、利用可能なバッテリー持続時間があらかじめ定められた閾値未満であること、電源に接続されたことなど)を検出することに応答して、優先順位が変更され得る。別の実施形態では、ワイヤレス通信デバイスは、登録されているアプリケーションの状態変化(たとえば、保留される、アクティブ化される、ディスプレイの制御権から除去されるなど)を検出したことに応答して、アプリケーションの優先順位を再計算することができる。たとえば、ワイヤレス通信デバイスは、アプリケーションがアイドル状態のスクリーンを有するとき、通常は優先順位の高いビデオ通話アプリケーションの優先順位を低くすることができる。
【００６４】
ある実施形態を例示するための例として、ワイヤレス通信デバイスは、動的な優先順位変更に登録される2つのアプリケーション、すなわち、ネットワーク接続を必要とし最初は高い優先順位とともに登録され得るビデオ通話アプリケーションと、ネットワーク接続を必要とせず最初は低い優先順位とともに登録され得るカメラアプリケーションとを、プロセッサ上で実行することができる。ビデオ通話アプリケーションが起動されるとき、ワイヤレス通信デバイスは調停者を介して、利用可能なセルラーネットワーク接続がなく(すなわち、カバレッジがなく)、したがってビデオ通話アプリケーションが一時的に動作不可能であり得ることを、検出することができる。そのような条件では、ワイヤレス通信デバイスは、調停者を介して、カメラがワイヤレス通信デバイスのディスプレイのフォアグラウンドの制御権を失い得る状況を避けるために、ビデオ通話アプリケーションよりも高い優先順位を有するようにカメラアプリケーションの優先順位を動的に変更することができる。
【００６５】
ある実施形態を例示するための別の例として、ワイヤレス通信デバイスは、動的な優先順位変更に登録される2つのアプリケーション、すなわち、最初は高い優先順位とともに登録され得るビデオ通話アプリケーションと、最初は低い優先順位とともに登録され得るアドレス帳アプリケーションとを、プロセッサ上で実行することができる。ワイヤレス通信デバイスは、アドレス帳アプリケーションがディスプレイのフォアグラウンドを制御しているとき、ユーザ入力を検出することがあり、結果として、ビデオ通話アプリケーションが起動されても、または着信する呼を受信しても、入力を妨げるのを避けるために、アドレス帳アプリケーションの優先順位を上げることができる。
【００６６】
アプリケーションの再計算(または優先順位変更)動作は、各アプリケーションに対する新たな優先順位の値を決定するための、様々な重み付け方式、規則のセット、比較考量因子、モデル、式、および他の考慮事項を使用することができる。さらに、1つのアプリケーションの優先順位変更は、ワイヤレス通信デバイスが別のアプリケーションの優先順位を再計算することを引き起こし得る。たとえば、最高の優先順位を有するものとして第1のアプリケーションを再計算したことに応答して、ワイヤレス通信デバイスは(調停者を介して)、以前に優先順位が最高であった第2のアプリケーションの優先順位を再計算することができる。
【００６７】
図7Bに戻ると、判定ブロック702において、ワイヤレス通信デバイスは、第1のアプリケーションに関する活動が検出されるかどうかを判定することができる。具体的には、ワイヤレス通信デバイスは、優先順位の変化が登録されたアプリケーションに対して発生したかどうかを判定することができる。たとえば、第1のアプリケーションがディスプレイに対する待ち行列の中にある場合、ワイヤレス通信デバイスは、第1のアプリケーションよりも優先順位が高い任意のアプリケーションの優先順位が変更されているかどうかを判定することができる。別の例として、第1のアプリケーションがディスプレイに対する待ち行列の中にある場合、または、第1のアプリケーションが現在は好ましいディスプレイの制御下にない場合、ワイヤレス通信デバイスは、デバイスのディスプレイのいずれか、特に、登録情報に基づく第1のアプリケーションに対して好ましいディスプレイが利用可能になったかどうかを判定することができる。
【００６８】
ワイヤレス通信デバイスが第1のアプリケーションに関連する活動を検出しない場合(すなわち、判定ブロック702=「No」)、ワイヤレス通信デバイスは、ブロック701において、アプリケーションを登録するための動作を続けることができる。ワイヤレス通信デバイスが第1のアプリケーションに関連する活動を検出する場合(すなわち、判定ブロック=「Yes」)、ブロック704において、ワイヤレス通信デバイスは、ディスプレイ優先順序で、第1のアプリケーションに対するすべての実行可能なディスプレイのリストを特定することができる。ブロック706において、ワイヤレス通信デバイスは、すべての実行可能なディスプレイの特定されたリストから次のディスプレイを選択することができる。判定ブロック708において、ワイヤレス通信デバイスは、選択されたディスプレイが第2のアプリケーションによって使用されているかどうかを判定することができる。選択されたディスプレイが第2のアプリケーションによって使用されていない場合(すなわち、判定ブロック708=「No」)、ブロック716において、ワイヤレス通信デバイスは、選択されたディスプレイのフォアグラウンドの制御権を第1のアプリケーションに割り当てるフラグを送ることができる。選択されたディスプレイが第2のアプリケーションによって使用されている場合(すなわち、判定ブロック708=「Yes」)、判定ブロック710において、ワイヤレス通信デバイスは、第2のアプリケーションの優先順位が第1のアプリケーションよりも高いかどうかを判定することができる。第2のアプリケーションがより高い優先順位を有しない場合(すなわち、判定ブロック710=「No」)、任意選択のブロック718において、ワイヤレス通信デバイスは、第2のアプリケーションの状態を変更することができ、次いでブロック716の動作に続くことができる。第2のアプリケーションがより高い優先順位を有する場合(すなわち、判定ブロック710=「Yes」)、判定ブロック712において、ワイヤレス通信デバイスは、すべての実行可能なディスプレイのリスト中に選択すべき次のディスプレイがあるかどうかを判定することができる。すべての実行可能なディスプレイのリスト中に選択すべき次のディスプレイがない場合(すなわち、判定ブロック712=「No」)、ブロック714において、ワイヤレス通信デバイスは、ディスプレイの待ち行列に第1のアプリケーションを追加することができる。
【００６９】
図8は、複数のディスプレイの優先順位を再計算するための、ワイヤレス通信デバイスのためのある実施形態の方法800を示す。図7Bを参照して上で説明された登録されたアプリケーションの優先順位の再計算と同様に、ワイヤレス通信デバイスは、登録されたアプリケーションによって制御され得るデバイスの様々なディスプレイの優先順位情報を更新するように構成され得る。たとえば、子供がデバイスの左側のデフォルトの(または優先順位が最高の)画面を使用して漫画を見ており、父親がデバイスの右側の二次的な画面を使用して仕事をしていることを示す、カメラのデータを使用した顔認識データに基づいて、ワイヤレス通信デバイスは(調停者を介して)、右側の二次的な画面が新たなデフォルト(または優先順位が最高の)ディスプレイとなるように優先順位を変更することができる。別の例として、デフォルトの画面が故障している、または正しく動作しないことを示す、記憶されている情報に基づいて、ワイヤレス通信デバイスは、以前のデフォルトが修理されるまで、二次的な画面がデフォルトの画面となるように優先順位を変更することができる。方法800を実行して、ワイヤレス通信デバイスは、状況および/または使用法に基づいて、ディスプレイをより適切に制御するようにアプリケーションに指示することができる。
【００７０】
ブロック802において、ワイヤレス通信デバイスは、デバイスのすべてのディスプレイの状態情報を記憶することができる。たとえば、ワイヤレス通信デバイスは、データベースまたはシステム変数内に、動作要件(たとえば、電力消費パラメータ、レンダリングされ得るデータのタイプ、最良にレンダリングされ得るデータのタイプなど)、ディスプレイの優先順位またはランク(たとえば、デフォルト、二次的など)、寸法(または可視領域)、および、ワイヤレス通信デバイスに接続され、またはそうでなければそれによって制御される複数のディスプレイの各々に関する動作条件または機能の指示(たとえば、故障している、正しく動作しない、標準状態であるなど)を示す、インジケータまたは他の記述的情報を記憶することができる。ある実施形態では、状態情報は、たとえば、ユーザの選好またはランクの昇順に並べられることによって、ディスプレイの優先順位によって並べられ得る。様々な実施形態では、ワイヤレス通信デバイスは、登録されたアプリケーションの各々に対する複数のディスプレイの各々のための状態情報を記憶することができる。たとえば、ワイヤレス通信デバイスは、ワイヤレス通信デバイスのコンピュータプラットフォームに常駐する複数のアプリケーションの各々に対する、ディスプレイの各々のための個別のランク付けされたリストを記憶することができる。
【００７１】
ブロック804において、ワイヤレス通信デバイスは、現在の条件についての情報に関する、デバイスのセンサにポーリングすることができる。ワイヤレス通信デバイスは、カメラ、マイクロフォン、サーミスタ、加速度計、ジャイロスコープ、およびタッチ感知面のような、様々なセンサを含み得る。ワイヤレス通信デバイスは、デバイスのディスプレイの実行可能性を評価するために使用され得る環境または使用状況と、デバイスのユーザがどのようにデバイスと対話しているかということとを示す、センサデータを集めることができる。たとえば、ワイヤレス通信デバイスは、加速度計センサのデータを評価して、ディスプレイを優先順位付ける際に有用な状況的な情報を特定することができる。センサデータを使用して、ワイヤレス通信デバイスは、サーミスタセンサのデータに基づく周辺温度、カメラのデータに基づく周辺の明るさ、加速度計/ジャイロスコープセンサのデータに基づく現在のデバイスの運動または動き、ジャイロスコープセンサのデータに基づくデバイスの傾き、GPSデータに基づくデバイスの高度、タッチスクリーン入力に基づくユーザ入力、およびカメラのデータ(たとえば、現在のユーザの顔から記録された画像データ)またはマイクロフォンのデータ(たとえば、現在のユーザの声から記録されたオーディオデータ)に基づく現在のユーザの身元のような、ディスプレイを使用することに関連する様々な条件を評価することができる。
【００７２】
ブロック806において、ワイヤレス通信デバイスは、記憶されている状態情報および/またはポーリングされたセンサデータに基づいて、ディスプレイの実行可能性を評価することができる。たとえば、あるLCDスクリーンに対する記憶されている状態情報に基づいて、ワイヤレス通信デバイスは、そのスクリーンが大量の電力を消費する(power-hungry)(または大量のバッテリー電力を必要とする)かどうか、高温で動作しているかどうか、ある解像能力(たとえば、標準品位(SD)、高品位(HD)など)を有するかどうか、タッチ感知機能を有するかどうか、および/または現在適切に機能しているかどうか(たとえば、故障しているなど)を査定することができる。ワイヤレス通信デバイスは、様々なディスプレイの記憶されている状態情報を、時刻のような現在の条件と比較することができる。さらに、ワイヤレス通信デバイスは、たとえば、ディスプレイの発光能力を示す記憶されている情報を周辺の明るさと比較して、ディスプレイ上にレンダリングされるアプリケーションをユーザがどの程度良好に見ることができるかを特定することによって、様々なディスプレイの記憶されている状態情報をセンサデータと比較することができる。たとえば、ワイヤレス通信デバイスは、加速度計からの現在の運動データを画面の可視領域と比較して、ユーザが歩いている/走っている/座っている間に特定のアプリケーションをレンダリングするときにその画面がどの程度有用であり得るかを特定することができる。
【００７３】
ブロック808において、ワイヤレス通信デバイスは、ポーリングされたセンサデータに基づいて、ディスプレイとのユーザ対話を評価することができる。たとえば、タッチ感知画面への検出されたタッチ入力を評価することによって、ワイヤレス通信デバイスは、様々な画面に関するユーザの活動を推定することができる。ワイヤレス通信デバイスは、検出されたユーザ入力に基づいて、現在最も使用されているディスプレイまたは最も好まれているディスプレイを決定することができる。ワイヤレス通信デバイスはまた、カメラのデータを使用して目の追跡および/または頭の追跡を実行して、ユーザがより頻繁に見ている特定の画面を特定することができる。たとえば、ワイヤレス通信デバイスは、目の追跡に基づいてユーザが複数のディスプレイのいずれかを見ているかどうかを示す、頭の追跡に基づいてユーザが複数のディスプレイのいずれかを見ているかどうかを示す、かつ/またはユーザが複数のディスプレイのいずれかに触れているかどうかを示す、ユーザ対話情報を決定することができる。ある実施形態では、ワイヤレス通信デバイスは、現在の使用法を決定するために、ジャイロスコープセンサのデータを評価して、デバイスがどのように持たれているかを特定することができる。たとえば、デバイスが上向きに持たれていることをセンサデータが示す場合、ワイヤレス通信デバイスは、ユーザがデバイスの背面の画面ではなく前面の画面を見ている確率を査定することができる。様々な実施形態において、デバイスとのユーザの対話がある期間にわたって解釈され得るので、ワイヤレス通信デバイスは、その時間にデバイスにおいて収集または記録され記憶されるセンサデータを利用することができる。
【００７４】
ブロック810において、ワイヤレス通信デバイスは、ディスプレイの実行可能性の評価および/またはディスプレイとのユーザの対話の評価のような評価に基づいて、ディスプレイの優先順位を再計算することができる。たとえば、ある期間にわたるあるディスプレイとのユーザの対話が増加したという評価に基づいて、ワイヤレス通信デバイスは、そのディスプレイの優先順位を上げる(たとえば、そのディスプレイをデフォルトのディスプレイまたは優先ディスプレイにする)ことができる。ディスプレイの再計算(または優先順位変更)動作は、各ディスプレイに対する新たな優先順位の値を決定するための、様々な重み付け方式、規則のセット、比較考量因子、モデル、式、および他の考慮事項を使用することができる。たとえば、一貫性のない運動センサのデータに基づいて、ワイヤレス通信デバイスは、ユーザがジョギングをしているときに大きな画面にレンダリングされるアプリケーションがより見やすくなるように、大きな画面がデフォルトのディスプレイとなるように優先順位を変更することができる。別の例として、ワイヤレス通信デバイスは、デバイスのバッテリーの残量を考慮すると、デバイスが耐え得るよりも多くの電力をデフォルトの画面が必要とすることを示す状態情報に基づいて、そのデフォルトの画面の優先順位が複数のディスプレイの中で最低となるように優先順位を変更することができる。
【００７５】
ある実施形態では、複数のディスプレイ中のディスプレイの1つまたは複数の優先順位は、ディスプレイの優先順位の変化に応答して、更新されまたは別様に変更され得る。たとえば、デフォルトの(または最も重要な)ディスプレイとして第1のディスプレイの優先順位を変更したことに応答して、ワイヤレス通信デバイスは必然的に、デフォルトのディスプレイであった第2のディスプレイの優先順位を下げる(または優先順位を変更する)ことができる。ブロック812において、ワイヤレス通信デバイスは、たとえば、データベース内のディスプレイと関連付けられるデータ記録、システム変数、または調停者がアクセス可能であり得る他のデータを更新することによって、ディスプレイの再計算された優先順位を記憶することができる。任意選択のブロック814において、ワイヤレス通信デバイスは、あらかじめ定められた秒数、分数などのような、ある期間待機し、次いで、ブロック804において開始する動作を繰り返すことができる。
【００７６】
ある実施形態では、方法800は、図7A〜図7Bを参照して上で説明されたブロック704の動作の間に、ワイヤレス通信デバイスによって実行され得る。たとえば、ワイヤレス通信デバイスは、上で説明された評価、さらには、特定のアプリケーションと関連付けられる登録情報(たとえば、そのアプリケーションに対してレンダリングされるべきデータのタイプなど)に基づいて、特定の登録されているアプリケーションに対してデバイスのディスプレイの優先順位を変更するように構成され得る。言い換えると、各々の登録されているアプリケーションは、優先順位が変更され得るワイヤレス通信デバイスのすべてのディスプレイに対するディスプレイ優先順位リストと関連付けられ得る。
【００７７】
図9A〜図12は、複数のアプリケーションがディスプレイを制御することと同時に発生するユーザ入力を明確にするための、ワイヤレス通信デバイスのための実施形態を示す。様々な実施形態の利益がなければ、後続のアプリケーションは、ディスプレイのフォアグラウンドに対する制御権を後続のアプリケーションが得ることをワイヤレス通信デバイスが許可するとき、前のアプリケーション動作を妨害し得る。具体的には、ワイヤレス通信デバイスが、ディスプレイの制御権を得るための第1のアプリケーションおよび第2のアプリケーションの「ポップアップ」と関連付けられるユーザ入力(たとえば、タイピングされたテキスト、音声コマンド、視覚的なジェスチャーなど)を受け取っているとき、様々な実施形態が有効でなければ、ユーザ入力はユーザの意図に反して第2のアプリケーションに与えられ得る。たとえば、電子メールクライアントにおいてテキスト入力を受け取っている間、ワイヤレス通信デバイスは、予期されないテキストを受け取ったことに応答して、ビデオ通話アプリケーションがフォアグラウンドに来ることを許可し、テキスト入力の焦点をビデオ通話アプリケーションに移すことがある。別の例として、ワイヤレス通信デバイスは、ビデオアプリケーションを起動することがあり、次いで、ビデオアプリケーションのローディング中にフォアグラウンドの制御権を電子メールクライアントに与えることがあるが、そのビデオアプリケーションが、ワイヤレス通信デバイスの中央に予期せずにポップアップして電子メールクライアントに対するテキスト入力の語を受け取ることがある。さらに別の例として、ビデオ通話アプリケーションのためのボイスツーテキスト(voice-to-text)(または音声コマンド)入力が、スケジューリングされたイベントの発生に基づいてディスプレイをポップアップするカレンダーアプリケーションに意図せずに適用され得る。ユーザは、アプリケーションがいつポップアップしてディスプレイの制御権を得ることができるかを知らないことがあるので、新たなアプリケーションがディスプレイの制御権を得ることと時間的に非常に近く(たとえば、0.5秒以内などに)受け取られるユーザ入力が前のアプリケーションに与えられるべきであると考えるには、十分な理由があり得る。
【００７８】
図9Aは、デバイスが第1のアプリケーションに向けられたユーザ入力を受け取るときに、第1のアプリケーションのための第1のユーザインターフェース902をワイヤレス通信デバイスがレンダリングし、第2のアプリケーションのための第2のユーザインターフェース906がフォアグラウンドに来る、ディスプレイ904を示す。上で説明されたように、第2のアプリケーションは、ワイヤレス通信デバイスが着信イベントまたは時限イベントを受け取ったことに応答して、またはプロセスがちょうど完了したとき(たとえば、バックグラウンドでローディングしていたアプリケーションが最終的に起動したとき)、フォアグラウンドに来る(すなわち、ディスプレイの制御権を得る)ことができる。
【００７９】
ある例示的な説明として、ワイヤレス通信デバイスのユーザは、テキスト入力「Hello world」を第1のアプリケーションの第1のユーザインターフェース902に入力することを意図することがある。第1のユーザインターフェース902は、タッチパッドまたはソフトキーボードを介してワイヤレス通信デバイスにタイピングされる入力のような、第1の入力テキスト「Hello wo」と関連付けられるものとして示されている。第1のユーザインターフェース902は、第1の入力テキストが受け取られた(またはタイピングされた)時点では第1のアプリケーションがワイヤレス通信デバイスのフォアグラウンドを制御していたので、第1の入力テキストと関連付けられ得る。第2のユーザインターフェース906は、第2の入力テキスト「rld」と関連付けられるものとして示されており、さらに、ワイヤレス通信デバイスに対する入力の焦点を有するように示されている(カーソル要素908によって図9Aに示されている)。第2のユーザインターフェース906は、第2の入力テキストが受け取られた(またはタイピングされた)時点では第2のアプリケーションがワイヤレス通信デバイスのフォアグラウンドを制御していたので、第2の入力テキストと関連付けられ得る。言い換えると、ワイヤレス通信デバイスが第1の入力テキスト「Hello wo」を受け取ることと第2の入力テキスト「rld」を受け取ることとの間に、第2のアプリケーションがワイヤレス通信デバイスのフォアグラウンドに来て、焦点は第1のアプリケーションから変化した。
【００８０】
図9Bは、受け取られたユーザ入力をタイミング情報に基づいて第1または第2のアプリケーションと関連付けるための、ワイヤレス通信デバイスのためのある実施形態の方法950を示す。たとえば、ワイヤレス通信デバイスは、調停者を介して、入力が受け取られアプリケーションの焦点が移された様々な時間を評価することによって、受け取られたユーザ入力に対する意図される対象アプリケーションを推測するための動作を実行することができる。様々な実施形態では、方法950は、図5〜図6を参照して上で説明された方法の一部としてワイヤレス通信デバイスによって実行され得る。たとえば、ワイヤレス通信デバイスは、調停者を介して、図5のブロック160または図6のブロック180における動作を実行した後で、方法950を実行することができる。
【００８１】
ブロック952において、ワイヤレス通信デバイスは、フォアグラウンド(またはディスプレイ)の制御権の、第1のアプリケーションから第2のアプリケーションへの変更を検出することができる。たとえば、第2のアプリケーションは、図5のブロック160または図6のブロック180における動作についてのフラグを調停者が送った先のビデオ通話アプリケーションであり得る。ワイヤレス通信デバイスはまた、第2のアプリケーションがフォアグラウンドの制御権を得たときの0.5秒単位の時間のような、制御権の変更と関連付けられる時間を特定して記憶することができる。様々な実施形態において、ワイヤレス通信デバイスは、オペレーティングシステムテーブル、システム変数、または、現在の制御側アプリケーションとともに制御権が制御側アプリケーションによって得られた時間を示す他の記憶されている情報を評価することによって、変更を検出することができる。ある実施形態では、制御権の変更は、第2のアプリケーションがフォアグラウンドの制御権を得たことに応答して生成される妨害または他の信号に基づいて検出され得る。ある実施形態では、制御権の変更は、焦点インジケータの変更を評価することによって検出され得る(たとえば、焦点は、ユーザ入力を挿入する目的で、あるユーザインターフェースから別のユーザインターフェースに移され得る)。
【００８２】
ブロック953において、ワイヤレス通信デバイスは、制御権の変更の前に発生する第1の入力と、制御権の変更の後に発生する第2の入力とを特定することができる。ワイヤレス通信デバイスは、ある期間にわたってデバイスによって受け取られるユーザ入力の値または活動を記憶し、バッファされた入力と関連付けられる受取り時間の情報に基づいて第1および第2の入力を特定する、メモリ中の一時的記憶位置のような入力バッファを評価することができる。たとえば、受け取られるユーザ入力は、受取り時間、および/またはユーザ入力の受取り時間においてフォアグラウンドを制御している(すなわち、焦点を有する)アプリケーションに関連して記憶され得る。代替的に、ワイヤレス通信デバイスは、異なるアプリケーションに対する様々なバッファ、アレイ、または他のデータ構造を使用するように構成され得る。たとえば、ワイヤレス通信デバイスは、フォアグラウンドを制御する以前のアプリケーションと関連付けられる第1のバッファに記憶されているデータとして第1の入力を特定することができ、フォアグラウンドを制御する現在のアプリケーションと関連付けられる第2のバッファに記憶されているデータとして第2の入力を特定することができる。ある実施形態では、第1の入力は、制御権の変更よりも前に受け取られたユーザ入力の部分(たとえば、直近に受け取られた部分)のみであり得る。たとえば、第1の入力は、制御権の変更の前に、しかしテキストの流れの中の句読点、スペース記号、改行、または他の論理的分割物の後に受け取られるテキスト入力として、特定され得る。ある実施形態では、ワイヤレス通信デバイスは、マウスクリック、タッチ、またはキーボードのイベントのような検出された入力イベントを利用して、第1および第2の入力を受け取った時間を特定することができる。様々な実施形態において、ユーザ入力は、タッチ入力(たとえば、押圧、スワイプ、タップなど)、テキスト入力(たとえば、タイピングされた語など)、話される入力または口頭の入力(たとえば、音声コマンドなど)、および/または視覚的入力(たとえば、ジェスチャーなど)であってよい。
【００８３】
第2のアプリケーションは、ユーザが入力(たとえば、テキスト、音声など)を入力してからある時間の後に第2のアプリケーションがフォアグラウンドの制御権を得るとき、進行中のユーザ入力を妨害しているとは見なされないことがある。したがって、判定ブロック954において、ワイヤレス通信デバイスは、第1の入力が制御権の変更から第1の時間閾値以内に受け取られたかどうかを判定することができる。言い換えると、第1の入力の受取りと制御権の変更の検出との間の時間が第1の時間閾値を超えるとき、次いで第2の入力は、第1の入力の続きである可能性は高くないことがある(すなわち、ユーザは第2のアプリケーションと関連付けられるものとして第2の入力を意図していたと推測され得る)。第1の時間閾値は、0.5秒のようなあらかじめ定められた値であってよく、かつ/またはユーザ選好に基づいてよい。ある実施形態では、ワイヤレス通信デバイスは、あらかじめ定められた第1の時間閾値を、特定された第1の入力と関連付けられる受取り時間と制御権の変更の時間との差を表す計算された値と比較することができる。制御権の変更から第1の時間閾値の外側で第1の入力が受け取られた場合(すなわち、判定ブロック954=「No」)、ブロック960において、ワイヤレス通信デバイスは、第2の入力を第2のアプリケーションと関連付けることができる。たとえば、第2のアプリケーションがフォアグラウンドの制御権を得るよりもある秒数(たとえば30秒など)前に第1の入力が受け取られたとき、ワイヤレス通信デバイスは、第2のアプリケーションに向けられたものとして第2の入力を解釈することができる。
【００８４】
制御権の変更から第1の時間閾値以内に第1の入力が受け取られた場合(すなわち、判定ブロック954=「Yes」)、判定ブロック956において、ワイヤレス通信デバイスは、第2の入力が制御権の変更から第2の時間閾値以内に発生したかどうかを判定することができる。言い換えると、制御権の変更の検出と第2の入力の受取りとの間の時間が第2の時間閾値を超えるとき、次いで第2の入力は、第1の入力の続きではないと推定され得る(すなわち、ユーザは第2のアプリケーションと関連付けられるものとして第2の入力を意図していたと推測され得る)。判定ブロック956における動作は、ワイヤレス通信デバイスが第1の入力の受取り時間ではなく第2の入力の受取り時間を使用してあらかじめ定められた第2の閾値と比較すべき時間枠を計算し得ることを除き、判定ブロック954を参照して上で説明された動作と同様であり得る。様々な実施形態において、第1の時間閾値および第2の時間閾値は同じ値であり得る。
【００８５】
第2の時間閾値の外側で第2の入力が受け取られた場合(すなわち、判定ブロック956=「No」)、ブロック960において、ワイヤレス通信デバイスは、第2の入力を第2のアプリケーションと関連付けることができる。しかしながら、第2の時間閾値内で第2の入力が受け取られた場合(すなわち、判定ブロック956=「Yes」)、ブロック958において、ワイヤレス通信デバイスは、第2の入力を第1のアプリケーションと関連付けることができる。言い換えると、ワイヤレス通信デバイスは、第2のアプリケーションがフォアグラウンドの制御権を得たことによって第1のアプリケーションに対するユーザ入力が妨害されたと判定することができるので、第2の入力は第1のアプリケーションと関連付けられ得る。任意選択のブロック962において、ワイヤレス通信デバイスは、フォアグラウンドの制御権を第1のアプリケーションに返すことができる。たとえば、調停者を介して、ワイヤレス通信デバイスは、ユーザ入力が妨害されたという判定に基づいて、フォアグラウンドを制御するための優先権を第1のアプリケーションが有することを示すフラグを、第1のアプリケーションに送ることができる。
【００８６】
様々な実施形態において、判定ブロック954〜956の動作を実行する代わりに、ワイヤレス通信デバイスは、第1の入力を受け取る時間と第2の入力を受け取る時間との間の時間をあらかじめ定められた閾値と単に比較するように構成され得る。たとえば、制御権の変更の前に第1の入力が受け取られ、制御権の変更の後に第2の入力が受け取られたとワイヤレス通信デバイスが判定すると、ワイヤレス通信デバイスは、2回の受取りの間の測定された時間を比較して、第2の入力が第2のアプリケーションと関連付けられ得るかどうかを判定するだけでよい。
【００８７】
様々な実施形態において、ワイヤレス通信デバイスは、受け取られたユーザ入力(たとえば、音声、テキスト、ジェスチャーなど)が第1のアプリケーションに向けられているか第2のアプリケーションに向けられているかを判定するための、様々な因子、規則のセット、比較考量試験、重み付け方式、および他の論理を利用することができる。たとえば、上で説明されたような時間の測定結果を評価することに加えて、ワイヤレス通信デバイスはまた、ノーオペレーションタッチイベントおよび検出されたタッチ入力の位置を評価して、受け取られたユーザ入力(たとえば、タイピングされたテキストの流れ)に対応するデバイスのフォアグラウンドの焦点をユーザが変更することを意図したかどうかを判定することができる。例示として、ワイヤレス通信デバイスは、第2のアプリケーションのテキストボックスと同時に発生するタッチ入力が検出されたかどうかを特定して、第2の入力に対する焦点の変化が意図的であったかどうかを判定することができる。
【００８８】
第1のアプリケーションおよび第2のアプリケーションに向けられるユーザ入力を明確にするための別の技法は、追加のユーザ入力(または選択入力)を要求または要請するプロンプトダイアログボックスを生成するステップを含み得る。図10Aは、第1のアプリケーションのための第1のユーザインターフェース902をワイヤレス通信デバイスがレンダリングし、第2のアプリケーションのための第2のユーザインターフェース1003がフォアグラウンドに来て、プロンプトダイアログボックス1002が明確化入力のための選択入力を要請する、ある実施形態のディスプレイ904を示す。
【００８９】
ある例として、ワイヤレス通信デバイスのユーザは、テキスト入力「Hello world」を第1のアプリケーションの第1のユーザインターフェース902に入力することを意図することがある。第1のユーザインターフェース902は、タッチパッドまたはソフトキーボードを介してワイヤレス通信デバイスにタイピングされる入力のような、第1の入力テキスト「Hello wo」と関連付けられるものとして示されている。第1のユーザインターフェース902は、第1の入力テキストが受け取られた(またはタイピングされた)時点では第1のアプリケーションがワイヤレス通信デバイスのフォアグラウンドを制御していたので、第1の入力テキストと関連付けられ得る。
【００９０】
第2のユーザインターフェース1003は、関連する入力を何ら有しないものとして図10Aにおいて示されている。しかしながら、プロンプトダイアログボックス1002は、第2の入力テキスト「rld」とともに、第2の入力テキストと関連付けられるべきアプリケーションを選ぶようにユーザに促す矢印UI要素1004、1005を含み得る。具体的には、第1の矢印UI要素1004は、選択されると第2の入力テキストを第1のアプリケーションと関連付けるように構成されてよく、第2の矢印UI要素1005は、選択されると第2の入力テキストを第2のアプリケーションと関連付けるように構成されてよい。
【００９１】
図10Bは、受け取られたユーザ入力をタイミング情報およびユーザからの選択入力に基づいて第1または第2のアプリケーションと関連付けるための、ワイヤレス通信デバイスのためのある実施形態の方法1050を示す。方法1050は、ユーザが応答し得るプロンプトを使用することによってユーザ入力を明確にするための動作を含み得ることを除き、上で説明された方法950と同様である。たとえば、ワイヤレス通信デバイスは、調停者を介して、様々なタイミングの測定結果を評価することによって、ユーザ入力に対する意図された対象アプリケーションを推測するための動作を実行することができ、ユーザからの選択入力を要請または要求するプロンプト(たとえば、ポップアップダイアログボックス、トーン、映像など)をさらにレンダリングすることができる。様々な実施形態では、方法1050は、図5〜図6を参照して上で説明された方法の一部としてワイヤレス通信デバイスによって実行され得る。たとえば、ワイヤレス通信デバイスは、調停者を介して、図5のブロック160または図6のブロック180における動作を実行した後で、方法1050を実行することができる。
【００９２】
ブロック952において、ワイヤレス通信デバイスは、フォアグラウンドの制御権の、第1のアプリケーションから第2のアプリケーションへの変更を検出することができる。ブロック953において、ワイヤレス通信デバイスは、制御権の変更の前に発生する第1の入力と、制御権の変更の後に発生する第2の入力とを特定することができる。判定ブロック954において、ワイヤレス通信デバイスは、第1の入力が制御権の変更から第1の時間閾値以内に受け取られたかどうかを判定することができる。制御権の変更から第1の時間閾値の外側で第1の入力が受け取られた場合(すなわち、判定ブロック954=「No」)、ブロック960において、ワイヤレス通信デバイスは、第2の入力を第2のアプリケーションと関連付けることができる。制御権の変更から第1の時間閾値以内に第1の入力が受け取られた場合(すなわち、判定ブロック954=「Yes」)、判定ブロック956において、ワイヤレス通信デバイスは、第2の入力が制御権の変更から第2の時間閾値以内に発生したかどうかを判定することができる。第2の時間閾値の外側で第2の入力が受け取られた場合(すなわち、判定ブロック956=「No」)、ブロック960において、ワイヤレス通信デバイスは、第2の入力を第2のアプリケーションと関連付けることができる。
【００９３】
しかしながら、第2の時間閾値内に第2の入力が受け取られた場合(すなわち、判定ブロック956=「Yes」)、ブロック1052において、ワイヤレス通信デバイスは、第2の入力を関連付けるための後続のユーザ選択入力を要求するプロンプト情報をレンダリングすることができる。たとえば、ワイヤレス通信デバイスは、第2の入力に対する意図されるアプリケーションを決定するためにさらなるユーザ入力が必要とされていることを示す、ポップアップダイアログボックス、音(たとえば、音楽サンプル、トーン、チャープ、自動可聴メッセージなど)、および/または映像(たとえば、表示されるテキストメッセージ、レンダリングされる記号など)をレンダリングすることができる。レンダリングされるプロンプト情報は、図9Bを参照して上で説明されたような純粋に時間に基づく決定に対する改善であると見なされ得る。言い換えると、第2のアプリケーションがフォアグラウンドの制御権を得てから第2の時間枠の後以内に第2の入力が受け取られたことと、制御権の変更が発生するよりも第1の時間枠の前以内に第1の入力が受け取られたこととをワイヤレス通信デバイスが決定するときにのみ、プロンプト情報は生成され得る。このようにして、プロンプト情報は、ユーザの意図が特に曖昧である(すなわち、第2の入力の受取りが制御の変更と第1の入力の受取りのいずれかに対して時間的に非常に近い)状況のみにおいてレンダリングされ得る。ある実施形態では、ワイヤレス通信デバイスが入力を明確にするためにプロンプト情報をレンダリングするように構成されるとき、第1の時間閾値および第2の時間閾値は、ユーザ選好に基づいてより長い(またはより短い)時間枠を表してよい。
【００９４】
ある実施形態では、ワイヤレス通信デバイスは、制御権の変更を示すことができユーザがデバイスを見ていないときでもユーザに聞こえ得る、可聴のプロンプト情報をレンダリングすることができる。たとえば、ユーザがスピーチツーテキスト(speech-to-text)または音声コマンドモードを介して、ワイヤレス通信デバイス上で実行されている第1のアプリケーション(たとえば、ノートパッドアプリケーション)に入力を行っているとき、ユーザはワイヤレス通信デバイスのディスプレイを見ていないことがあるので、第2のアプリケーション(たとえば、時限式のカレンダーのポップアップ)がフォアグラウンドの制御権を得るときを見ていないことがある。よって、ユーザに通知するために、ワイヤレス通信デバイスは、制御権の変更(または焦点の変更)を示す、特別なトーン、チャープ、音楽、音、またはメッセージ(たとえば、「第2のアプリケーションに切り替えました」)を放出することができる。ある実施形態では、音声入力(たとえば、スピーチツーテキスト入力、音声コマンドモードの間の音声データ、通話のための音声データなど)を受け取ると、ワイヤレス通信デバイスは、フォアグラウンドを現在制御しているアプリケーションを示すバックグラウンド音を定期的にレンダリングすることができる。たとえば、ワイヤレス通信デバイスは、第1のアプリケーションがフォアグラウンドにある間に第1の固有のバックグラウンドノイズまたはトーンを放出することができ、第2のアプリケーションがフォアグラウンドにある間に第2の固有のバックグラウンドノイズまたはトーンを放出することができる。
【００９５】
判定ブロック1054において、ワイヤレス通信デバイスは、第2の入力が第1のアプリと関連付けられることを示す選択入力(またはユーザ選択入力)が受け取られるかどうかを判定することができる。たとえば、ワイヤレス通信デバイスは、第2の入力(たとえば、テキスト「rld」)を第1のアプリケーションと関連付けることに対応する、ポップアップダイアログボックス上の矢印UI要素に対応するタッチ入力または他のボタンの押下を検出するかどうかを判定することができる。別の例として、ワイヤレス通信デバイスは、第2の入力が第1のアプリケーションと関連付けられることを示す音声コマンド(たとえば、「元に戻す」、「第1のアプリケーションを続けて!」、「第1に戻る」など)を検出するかどうかを判定することができる。さらに別の例として、ワイヤレス通信デバイスは、第2の入力が第1のアプリケーションと関連付けられることを示すあらかじめ定められた視覚的なジェスチャーコマンド(たとえば、ユーザがある方向へ手をスワイプすることを表すカメラにより撮影された画像、ユーザがある手信号を行っていることを表す画像、ユーザが顔をしかめている/笑っていることを表す画像など)を検出するかどうかを判定することができる。様々な実施形態において、ワイヤレス通信デバイスは、画像処理、顔認識、自然言語処理、および/または他の発話分析のためのソフトウェア、方法、またはルーチンを使用して、受け取られた選択入力を処理するように構成され得る。ワイヤレス通信デバイスはさらに、第2の入力が第2の(または第1の)アプリケーションと関連付けられることを選択入力が示すかどうかを判定するために、受け取られた選択入力(たとえば、話された語、画面上でのジェスチャーなど)を記憶されているライブラリまたは既知のパターン、語、画像、および記号と比較するように構成され得る。
【００９６】
ある実施形態では、ワイヤレス通信デバイスは、制御権の変更を無効にする、特別な音声コマンドまたは画面上でのジェスチャーのようなある選択入力を受け取るように構成され得る。言い換えると、ワイヤレス通信デバイスは、第1のアプリケーションがフォアグラウンドにある間に、どのような状況でも現在の焦点および関連する入力が妨害されるべきではないことをあらかじめワイヤレス通信デバイス(および調停者)に知らせる、音声コマンド、話される語句、または物理的なジェスチャー(たとえば、手信号、スワイプなど)を受け取り、または記録することができる。たとえば、フォアグラウンドでの第1のアプリケーションのビデオ通話の実行の間、ワイヤレス通信デバイスは、ビデオ通話が完了するまで焦点が変更されるべきではないことを示す音声コマンド(たとえば、「終わるまで通話を続けて!」)を記録することができる。
【００９７】
第2の入力が第1のアプリケーションと関連付けられることを示す選択入力が受け取られない場合(すなわち、判定ブロック1054=「No」)、ブロック960において、ワイヤレス通信デバイスは、第2の入力を第2のアプリケーションと関連付けることができる。しかしながら、第2の入力が第1のアプリケーションと関連付けられることを示す選択入力が受け取られる場合(すなわち、判定ブロック1054=「Yes」)、ブロック958において、ワイヤレス通信デバイスは、第2の入力を第1のアプリケーションと関連付けることができる。
【００９８】
図11Aは、第1のアプリケーションのための第1のユーザインターフェース1102をワイヤレス通信デバイスがレンダリングし、第2のアプリケーションのための第2のユーザインターフェース1106がフォアグラウンドに来て、カーソル要素908が焦点を第2のユーザインターフェース1106にあるものとして示す、ディスプレイ904を示す。図9Aにおいて上で示された例とは異なり、2つのインターフェース1102、1106へのテキスト入力は、語または語句の中間で分離されていない。代わりに、テキストの意味または内容に基づいて、第1の入力テキスト「少し待って」は、ユーザが第1のユーザインターフェース1102(たとえば、第1のビデオ通話アプリケーション)との対話を一時的に止めることを意図していることを示す可能性があり、第2の入力テキスト「今大丈夫?」は、ユーザが第2のユーザインターフェース1106(たとえば、第2のビデオ通話アプリケーション)との対話を開始することを意図していることを示す可能性がある。しかしながら、第1の入力テキストを受け取る時間と第2の入力テキストを受け取る時間との間の時間があらかじめ定められた閾値より短い(たとえば、ユーザが夢中で友人にテキストを送っているときにウィンドウを高速に入れ替えまたは切り替える)場合、ワイヤレス通信デバイスは、第2の入力テキストを第2のユーザインターフェース1106と適切に関連付けない可能性がある。下で説明される実施形態の方法1150は、フォアグラウンドの制御権の変更が発生したときに、受け取られた入力を適切に関連付けるためにワイヤレス通信デバイスが実行し得る追加の評価を示す。
【００９９】
図11Bは、受け取られたユーザ入力の内容の評価に基づいて受け取られたユーザ入力を第1または第2のアプリケーションと関連付けるための、ワイヤレス通信デバイスのためのある実施形態の方法1150を示す。方法1150は、焦点の切替えまたはフォアグラウンドの制御権の変更に関して、受け取られたユーザ入力の意味および/または状況を評価することによって、ユーザ入力を明確にするための動作を含み得ることを除き、上で説明された方法950および1050と同様である。たとえば、テキストのユーザ入力が、受取り時間(すなわち、ユーザ入力がワイヤレス通信デバイスにタイプされたとき)のみに基づいて第1または第2のアプリケーションと明らかに関連付けられ得ないとき、ワイヤレス通信デバイスは、テキストのユーザ入力の意味を評価して、ユーザ入力を様々なアプリケーションと関連付けるための状況的な手がかりをユーザ入力が含むかどうかを判定することができる。別の例として、ワイヤレス通信デバイスは、第2のアプリケーションと関連付けられるものとしてユーザが入力を意図したかどうかを判定するために、第2のアプリケーションの起動の時間を、第2のアプリケーションが実際にポップアップする(すなわち、フォアグラウンドの制御権または焦点を得る)時間と比較することができる。様々な実施形態では、方法1150は、図5〜図6を参照して上で説明された方法の一部としてワイヤレス通信デバイスによって実行され得る。たとえば、ワイヤレス通信デバイスは、調停者を介して、図5のブロック160または図6のブロック180における動作を実行した後で、方法1150を実行することができる。
【０１００】
ブロック952において、ワイヤレス通信デバイスは、フォアグラウンドの制御権の、第1のアプリケーションから第2のアプリケーションへの変更を検出することができる。ブロック953において、ワイヤレス通信デバイスは、制御権の変更の前に発生する第1の入力と、制御権の変更の後に発生する第2の入力とを特定することができる。判定ブロック954において、ワイヤレス通信デバイスは、第1の入力が制御権の変更から第1の時間閾値以内に受け取られたかどうかを判定することができる。制御権の変更から第1の時間閾値の外側で第1の入力が受け取られた場合(すなわち、判定ブロック954=「No」)、ブロック960において、ワイヤレス通信デバイスは、第2の入力を第2のアプリケーションと関連付けることができる。制御権の変更から第1の時間閾値以内に第1の入力が受け取られた場合(すなわち、判定ブロック954=「Yes」)、判定ブロック956において、ワイヤレス通信デバイスは、第2の入力が制御権の変更から第2の時間閾値以内に発生したかどうかを判定することができる。第2の時間閾値の外側で第2の入力が受け取られた場合(すなわち、判定ブロック956=「No」)、ブロック960において、ワイヤレス通信デバイスは、第2の入力を第2のアプリケーションと関連付けることができる。
【０１０１】
しかしながら、第2の時間閾値内に第2の入力が受け取られた場合(すなわち、判定ブロック956=「Yes」)、ブロック1152において、ワイヤレス通信デバイスは、第1および第2の入力の内容を評価することができる。評価されるべき内容は、第1の入力および第2の入力の、文法、綴り、句読点、フォーマット、状況、および解釈される意味を含み得る。ワイヤレス通信デバイスは、自然言語処理、発話認識、および/またはパターン照合ルーチンを実行して、入力の内容を解釈し、第1の入力と第2の入力がつながるかどうかを判定することができる。たとえば、ワイヤレス通信デバイスは、これらの入力を評価して、第2の入力(たとえば、「rld」)が第1の入力(たとえば、「Hello Wo」)の続きであると判定することができる。別の例として、ワイヤレス通信デバイスは、第1の入力が最後のまたは終局の口述または語(たとえば、「少し待って」)を示す話された入力であり、第2の入力が別の通信を示す異なる話された入力(たとえば、「やあ、今大丈夫?」)であると判定することができる。評価に基づいて、ワイヤレス通信デバイスは、第1の入力および第2の入力が全体として意味をなすか、またはそうでなければ第1のアプリケーションとの使用に適しているかどうかを解釈することができる。
【０１０２】
様々な実施形態において、入力の内容(たとえば、文法、言葉遣い、句読点、フォーマット、綴り、書式、および入力の状況的なまたは解釈された意味)が、第1の入力および/または第2の入力が第1のアプリケーションおよび/またはアプリケーションと関連するかどうかを判定するために、ワイヤレス通信デバイスによって評価され得る。ワイヤレス通信デバイスは、入力を評価して、部分的な語および語句を特定し、かつ/または、アプリケーション固有の内容または書式を入力が含む(たとえば、第2の入力が第2のアプリケーションの名前または第2のアプリケーションとのみ関連付けられる連絡先の名前を含み得る、など)かどうかを特定することができる。たとえば、ワイヤレス通信デバイスは、第1のアプリケーション(たとえば、スクリプトエディタアプリ)ではなく第2のアプリケーション(たとえば、ビジネス電子メールクライアント)とともに使用するために名前が記憶されているビジネスパートナーの名前を第2の入力が挙げるときを検出することができる。別の例として、ワイヤレス通信デバイスは、ビジネス電子メールクライアントではなくSMSメッセージングアプリケーションのみにおいてユーザによって使用され得るスラング(たとえば、「lol」)または他のくだけた省略形(たとえば、文章の最初に大文字がないことなど)を第2の入力が含むときを検出することができる。
【０１０３】
ある実施形態では、ワイヤレス通信デバイスはさらに、第2のアプリケーション内で使用されるべきデータのフォーマットまたは予想されるタイプに関して、第2の入力の内容を解釈することができる。たとえば、ワイヤレス通信デバイスは、話された語の第2の入力(たとえば、「こんにちは」)が第2のアプリケーションに対する入力要素として適切である、または正しいかどうか(たとえば、「こんにちは」が請求先アドレスに関するウェブフォームテキストフィールドへ入力されるのにふさわしいか)を評価することができる。別の例として、第2の入力が都市の名前(たとえば、サンディエゴ)である場合、ワイヤレス通信デバイスは、第2のアプリケーションに焦点を有するテキストボックスに対して第2の入力が適切であると判定することができる。
【０１０４】
ブロック1154において、ワイヤレス通信デバイスは、たとえば、第2のアプリケーションの起動時間と制御権の変更との間に経過した時間を見出すことによって、第2のアプリケーションの起動と制御権の変更(または焦点の切替え)の時間との間の時間を評価することができる。ワイヤレス通信デバイスは、第2のアプリケーションの起動、第1および/または第2の入力の受取り、ならびに制御権の変更の順序で解釈することができる。たとえば、ワイヤレス通信デバイスは、ブラウザアプリの起動の時間、タイピングされたテキストが受け取られたとき、および、ブラウザアプリが実際にポップアップしたときを評価して、タイピングされたテキストがブラウザに向けられたかどうかを解釈することができる。ある実施形態では、ワイヤレス通信デバイスは、第2のアプリケーションが起動されたときと、第2のアプリケーションがフォアグラウンドの制御権を得たときとの間の時間が長いほど、第2の入力が第2のアプリケーションと関連付けられる可能性は低くなると、判定することができる。言い換えると、第2のアプリケーションが起動時間(たとえば、ユーザが実行可能をクリックした時間など)からローディングするのに長い時間がかかるとき、ワイヤレス通信デバイスは、ユーザが第2のアプリケーションを待機している間にマルチタスキングを行っている中で、第1のアプリケーションと関連付けられる入力を受け取ることがある。たとえば、第1のアプリケーション(たとえば、ノートパッド)に高速にタイピングしているユーザは、タイピングしながら第2のアプリケーション(たとえば、ブラウザアプリ)を起動し、第2のアプリケーションが完全にロードされてフォアグラウンドを制御するのを待機しながら第1のアプリケーションでのタイピングを続けることがある。別の例として、第2のアプリケーションが数分前(たとえば、10分前など)に起動された場合、ワイヤレス通信デバイスは、第1のアプリケーションと関連付けられる可能性が高いものとして第2の入力テキストを評価することができる。しかしながら、第2のアプリケーションがわずか数秒前に起動された場合、ワイヤレス通信デバイスは、第2のアプリケーションと関連付けられる可能性が高いものとして第2の入力テキストを評価することができる。
【０１０５】
様々な実施形態において、ワイヤレス通信デバイスは、第2のアプリケーションを起動するためのユーザの活動の新しさおよび/または順序を評価することができる。具体的には、ワイヤレス通信デバイスは、ソフトキーボードまたはボタン上で受け取られたユーザ入力、ユーザが第2のアプリケーションの起動をアクティブに開始したかどうか(たとえば、起動が自動的にスケジューリングされたものであったかユーザ入力の結果であったか)、第2のアプリケーションの起動と制御権の変更との間のユーザの活動または入力、第2のアプリケーションの新たな画面に対応するユーザ入力(たとえば、ボタン押下)を受け取ることと第2のアプリケーションの起動時間との間の時間、第1のアプリケーションの以前の画面における最後の入力と後続のボタン押下との間の時間を評価することができる。非限定的な例示として、第2のアプリケーションを起動するためのユーザ入力の検出、第2のアプリケーションが起動されてからフォアグラウンドの制御権を得るまでに通常は長い時間がかかることを示す履歴情報、第1のアプリケーション(たとえば、電話アプリ)を起動するための別のユーザ入力の検出、タイピングされたテキスト入力(たとえば、電話番号)の受取り、および第2のアプリケーションへの制御権の最終的な変更に基づいて、ワイヤレス通信デバイスは、ボタン押下がすべて確実であると判定し、ユーザが第1のアプリケーションによって呼を開始することを意図する可能性が高いと結論付けることができる。
【０１０６】
ある実施形態では、ワイヤレス通信デバイスはまた、ワイヤレス通信デバイスのコンピュータプラットフォームに常駐する様々なアプリケーションの平均の起動時間およびロード時間を記述するデータのような、記憶されている履歴情報(たとえば、経験則)を評価することができる。以前の経験を評価することに基づいて、ワイヤレス通信デバイスは、第2のアプリケーションがポップアップするときをユーザが概略的に知り得るのでそれに従って自身の入力のタイミングを合わせたであろう確率を決定することができる。たとえば、ワイヤレス通信デバイスは、起動からフォアグラウンドを制御するまでのウェブブラウザアプリケーションの今回の時間を、そのウェブブラウザアプリケーションについての過去の平均ロード時間と比較して、ユーザが第2の入力テキストデータをウェブブラウザアプリケーションと関連付けられるものとして想定した可能性があるかどうかを判定することができる。
【０１０７】
判定ブロック1156において、ワイヤレス通信デバイスは、たとえば、ブロック1152〜1154の動作を参照して上で説明された評価からの結論を使用することによって、評価(すなわち、評価された内容および/または評価された起動時間)に基づいて、ユーザがフォアグラウンドの焦点を切り替えることを意図したかどうかを判定することができる。言い換えると、ワイヤレス通信デバイスは、入力の解釈および/または第2のアプリケーションの起動時間を使用して、ユーザが第2の入力を第2のアプリケーションに提供することを意図していたかどうかを推測することができる。ワイヤレス通信デバイスは、この判定を行うための、様々な規則のセット、比較考量システム、重み付け方式、および決定式を利用することができる。たとえば、第1の入力(たとえば、「少し待って」というタイピングされたテキスト)が第2の入力(たとえば、「今大丈夫?」というタイピングされたテキスト)に関連しないことを示す第1の入力および第2の入力の言語分析の評価に基づいて、ユーザは焦点の切替えを意図しなかったとワイヤレス通信デバイスは判定することができる。別の例として、ワイヤレス通信デバイスが第1および第2の入力の表現の意図された意味を明確に判定することができない(たとえば、受け取られた入力が、ランダムな文字である、綴りに誤りがある、知られていない省略表現を使用しているように見えるなど)とき、ワイヤレス通信デバイスは、第2のアプリケーションの起動と第2のアプリケーションがフォアグラウンドの制御権を得た時間との間の時間の評価により重みを置くことができる。
【０１０８】
評価に基づいてユーザが入力ウィンドウを切り替えることを意図したと判定されない場合(すなわち、判定ブロック1156=「No」)、ブロック960において、ワイヤレス通信デバイスは、第2の入力を第2のアプリケーションと関連付けることができる。しかしながら、評価に基づいてユーザが入力ウィンドウを切り替えることを意図したと判定される場合(すなわち、判定ブロック1156=「Yes」)、ブロック958において、ワイヤレス通信デバイスは、第2の入力を第1のアプリケーションと関連付けることができる。
【０１０９】
様々な実施形態において、ワイヤレス通信デバイスは、第2の入力が関連付けられるべきであるアプリケーションを決定するために、タイミング情報の様々な評価(すなわち、判定ブロック954〜956およびブロック1154における動作)と組み合わせて、またはその代わりに、第1および第2の入力の内容を評価することができる。たとえば、ワイヤレス通信デバイスは、第1の入力の受取りと第2の入力の受取りとの間の時間にかかわらず、第2の入力が第1のアプリケーションと関連付けられるかどうかを判定するために、第1および第2のタイピングされた入力の文法および/または語の意味のみを評価することができる。別の例として、ワイヤレス通信デバイスは、第2の入力と関連付けられるアプリケーションを特定する際の複数の因子の1つとして、起動と制御権の変更との間の時間の評価を使用することができる。別の例として、第1の入力が第1の時間閾値内にないと判定され、かつ/または第2の入力が第2の時間閾値以内にないと判定されるときであっても、ワイヤレス通信デバイスは、第1および第2の入力の内容を評価して、ユーザが第2の入力を第2のアプリケーションに与えられるものとして意図していたかどうかを判定するように構成され得る。
【０１１０】
図12は、第1および第2のアプリケーションのユーザインターフェース要素の位置に基づいて、受け取られたユーザ入力を第1または第2のアプリケーションと関連付けるための、ワイヤレス通信デバイスのためのある実施形態の方法1200を示す。アプリケーションは、ユーザインターフェース要素(たとえば、ソフトボタンなど)について標準的なレイアウトを使用することができる。たとえば、第1のアプリケーションは、第1のユーザインターフェースウィンドウの右上部分に「検索」ボタンを有してよく、第2のアプリケーションは第2のユーザインターフェースウィンドウの右上部分に「削除」ボタンを有してよい。ユーザがそのようなユーザインターフェース要素と対話している間に、焦点が予期せずに切り替えられるとき、意図されない活動が実行されることがある。たとえば、ユーザが第1のアプリケーションの「検索ボタン」を押す直前に、第2のアプリケーションがウィンドウをポップアップしてフォアグラウンドを制御することがあり、ユーザは、ワイヤレス通信デバイスのタッチスクリーン上で「検索」ボタンと同じ場所に位置する「削除」ボタンを誤って押す可能性がある。方法1200は、第2のアプリケーションの意図されないUI活動を避けるために、第1および第2のアプリケーションのユーザ要素が同時に併置されるときのユーザの意図を決定するための、ワイヤレス通信デバイスのための動作を含み得る。様々な実施形態では、方法1200は、図5〜図6を参照して上で説明された方法の一部としてワイヤレス通信デバイスによって実行され得る。たとえば、ワイヤレス通信デバイスは、調停者を介して、図5のブロック160または図6のブロック180における動作を実行した後で、方法1200を実行することができる。
【０１１１】
ブロック952において、ワイヤレス通信デバイスは、フォアグラウンドウィンドウの制御権の、第1のアプリケーションから第2のアプリケーションへの変更を検出することができる。ブロック1202において、ワイヤレス通信デバイスは、ユーザインターフェースへのタッチ入力のような、制御権の変更の後に発生する第2の入力を特定することができる。任意選択のブロック1203において、ワイヤレス通信デバイスは、制御権の変更の前に発生する第1の入力を特定することができる。ブロック1202〜1203の動作はブロック953を参照して上で説明されたものと同様であり得るが、第1の入力を特定するための動作は、ユーザがワイヤレス通信デバイスによって関連付けられる必要のある単一の入力(すなわち、第2の入力)しか提供しないことがあるので、任意選択であり得る。
【０１１２】
任意選択の判定ブロック954において、ワイヤレス通信デバイスは、第1の入力が制御権の変更から第1の時間閾値以内に受け取られたかどうかを判定することができる。制御権の変更からの第1の時間閾値の外側で第1の入力が受け取られた場合(すなわち、任意選択の判定ブロック954=「No」)、ブロック960において、ワイヤレス通信デバイスは、第2の入力を第2のアプリケーションと関連付けることができる。制御権の変更から第1の時間閾値以内に第1の入力が受け取られた場合(すなわち、任意選択の判定ブロック954=「Yes」)、判定ブロック956において、ワイヤレス通信デバイスは、第2の入力が制御権の変更から第2の時間閾値以内に発生したかどうかを判定することができる。たとえば、ワイヤレス通信デバイスは、第2のアプリケーションへの制御権の変更から、あるミリ秒数、秒数などの間にユーザインターフェース要素の押下が検出されたかどうかを判定することができる。別の例として、ワイヤレス通信デバイスは、検出されたUIボタンイベントの時間(またはタイムスタンプ)を、第2のアプリケーションがフォアグラウンドの制御権を得た時間と比較することができる。第2の時間閾値の外側で第2の入力が受け取られた場合(すなわち、判定ブロック956=「No」)、ブロック960において、ワイヤレス通信デバイスは、第2の入力を第2のアプリケーションと関連付けることができる。たとえば、UI要素の押下のイベントは、第2のアプリケーションがフォアグラウンドの制御権を得てから数秒後に検出されたので、ワイヤレス通信デバイスは、その押下が第2のアプリケーションに向けられたものであったと判定することができる。
【０１１３】
しかしながら、第2の時間閾値内に第2の入力が受け取られた場合(すなわち、判定ブロック956=「Yes」)、ブロック1204において、ワイヤレス通信デバイスは、第2の入力(たとえば、検出されたユーザインターフェース(UI)タッチ入力)と同時に存在する第2のアプリケーションのUI要素を特定することができる。たとえば、ワイヤレス通信デバイスは、第2の入力(たとえば、あるx軸座標およびy軸座標を有する検出されたUI入力)と関連付けられる画面座標を、第2のアプリケーションに対してレンダリングされる様々なUI要素に対応するディスプレイの領域と比較することができる。言い換えると、ワイヤレス通信デバイスは、ユーザがクリックした、押した、または別様に第2の入力について関わった、ソフトボタン、テキストフィールド、または他のレンダリングされた要素を特定することができる。ある実施形態では、ワイヤレス通信デバイスは、ラスタ情報または他のグラフィクスデータを評価してUI要素を特定することができる。
【０１１４】
判定ブロック1206において、ワイヤレス通信デバイスは、第2のアプリケーションの特定されたUI要素が第1のアプリケーションのUI要素と同時に存在するかどうかを判定することができる。たとえば、ワイヤレス通信デバイスは、特定されたUI要素の画面座標を、第1のアプリケーションとともに以前にフォアグラウンドにあったすべてのUI要素と比較することができる。ワイヤレス通信デバイスは、ある閾値を利用して、第1のアプリケーションのあらゆる同様の位置のUI要素を決定することができる(すなわち、特定される第2のアプリケーションUI要素は、一致するように第1のアプリケーションUI要素の上に厳密に位置している必要はなくてもよい)。特定されたUI要素が第1のアプリケーションのUI要素と同時に存在しない場合(すなわち、判定ブロック1206=「No」)、ブロック960において、ワイヤレス通信デバイスは、第2の入力を第2のアプリケーションと関連付けることができる。言い換えると、第2のアプリケーションがフォアグラウンドの制御権を得てからある時間以内に第2の入力(たとえば、UIタッチ入力)が受け取られたが、第1のアプリケーションのための同様の位置のUI要素がなかったので、ワイヤレス通信デバイスは、ユーザが第2のアプリケーションと対話することを意図していた可能性が高いと推測することができる。
【０１１５】
しかしながら、特定されたUI要素が第1のアプリケーションのUI要素と同時に存在する場合(すなわち、判定ブロック1206=「Yes」)、ブロック958において、ワイヤレス通信デバイスは、第2の入力を第1のアプリケーションと関連付けることができる。言い換えると、第2のアプリケーションがフォアグラウンドの制御権を得てからある時間以内に第2の入力(たとえば、UIタッチ入力)が受け取られ、第1および第2のアプリケーションが同様の位置のUI要素を有していたので、ワイヤレス通信デバイスは、ユーザが第1のアプリケーションと対話することを意図していた可能性が高いと推測することができる。様々な実施形態において、ワイヤレス通信デバイスは、第2のアプリケーションの起動からの時間のような様々な他の要因を利用して、第2の入力が第2のアプリケーションに向けられたか第1のアプリケーションに向けられたかを判定することができる。
【０１１６】
上で説明されたように、様々な実施形態において、主要なアプリケーションがフォアグラウンド(またはディスプレイ)を制御している間、複数のアプリケーションが、バックグラウンドプロセス(または保留されたアプリケーション)としてワイヤレス通信デバイスのプロセッサ上で同時に実行されていることがある。たとえば、第2のアプリケーションは、第1のアプリケーションがフォアグラウンドを制御しているので、ワイヤレス通信デバイスのバックグラウンドにおいて保留され得る(または保留モードで実行するように構成され得る)。保留されているアプリケーションはアクティブではない(たとえば、フォアグラウンドを制御していない)ことがあるが、任意の保留されているアプリケーションが、たとえば上で説明されたような調停者からのフラグを受け取ったことに応答して、アクティブになってフォアグラウンドに来ることができる。たとえば、SMSメッセージの受信に対応する通知イベントをオペレーティングシステムから受け取ったことに応答して、調停者(または調停者アプリケーション)は、フォアグラウンドを制御するように第1のアプリケーションに通知し(すなわち、第1のアプリケーションがフォアグラウンドにおいてアクティブなままであるように指示される)、第2のアプリケーションがフォアグラウンドに来るのを禁止する(すなわち、第2のアプリケーションはバックグラウンドにおいて非アクティブなままであるように指示される)ことができる。
【０１１７】
しかしながら、非アクティブなアプリケーションはそれでも、調停者の活動とは無関係に、フォアグラウンドに来ようとすることがある。たとえば、フォアグラウンドへ来ることを第2のアプリケーションに許可するフラグを調停者から受け取らなかった第2のアプリケーションが、それでも、フォアグラウンドの制御権を得るための動作を実行することがある。そのような非従順な(または「悪党」)アプリケーションは、調停者ではなく、アプリケーションが利用可能なデータまたは選好に基づいて、調停者の優先順位の決定を覆そうとすることがある。たとえば、非従順なアプリケーションは、アプリケーションが通常はランダムな時刻にフォアグラウンドの制御権を得ることを示す、ローカルの、隠された、または登録されていない構成情報を記憶していることがある。そのような場合、ワイヤレス通信デバイスは、非従順なアプリケーションを終了することができる。様々な実施形態において、そのような終了は、ワイヤレス通信デバイスのオペレーティングシステムの一部であり得る、または別様には、調停者が他のアプリケーションを直接制御することを可能にし得る管理上の特権を有する、調停者を介して、ワイヤレス通信デバイスによって実行され得る。
【０１１８】
図13は、調停者による優先順位の決定に反してワイヤレス通信デバイスのフォアグラウンドの制御権を得た不従順なアプリケーションを終了するための、ワイヤレス通信デバイスのためのある実施形態の方法の1300を示す。言い換えると、通知イベントを受け取ったことに応答して調停動作を実行した後で、ワイヤレス通信デバイスは、調停に従わない動作をその後に実行するあらゆるアプリケーションを、落とし、保留し、または別様に終了することができる。たとえば、フォアグラウンドを制御して受け取られたユーザ入力(たとえば、「Hello Wo」)を処理することをワイヤレス通信デバイスが(調停者を介して)第1のアプリケーションに許可した後で、第2のアプリケーションがフォアグラウンドに来るとき、ワイヤレス通信デバイスは、第2のアプリケーションを終了し、あらゆるその後で受け取られるユーザ入力(たとえば、「rld」)を第1のアプリケーションに与えることができる。様々な実施形態では、方法1300は、図5〜図6を参照して上で説明された方法の一部としてワイヤレス通信デバイスによって実行され得る。たとえば、ワイヤレス通信デバイスは、調停者を介して、図5のブロック160または図6のブロック180における動作を実行した後で、方法1300を実行することができる。
【０１１９】
判定ブロック1302において、ワイヤレス通信デバイスは、たとえば調停者からの優先フラグを受け取ることなくフォアグラウンドに来ることによって、非従順なアプリケーションがフォアグラウンドを制御するように活動したかどうかを判定することができる。ある実施形態では、上で説明されたように、ワイヤレス通信デバイスは、フォアグラウンドを現在制御しているアプリケーションの識別情報を、調停動作を介して決定された優先アプリケーションの識別情報と定期的に比較することによって、この判定を行うことができる。別の実施形態では、ワイヤレス通信デバイスは、制御権の変更もしくは他の状態変更を検出したこと、または予測されないイベント通知(たとえば、焦点の切替えを示す信号など)を受け取ったことに応答して、フォアグラウンドを現在制御しているアプリケーションの識別情報を、調停者を介して決定された優先アプリケーションの識別情報と比較することによって、この判定を行うことができる。非従順なアプリケーションがフォアグラウンドを制御するように活動したと判定されない場合(すなわち、判定ブロック1302=「No」)、ワイヤレス通信デバイスは、他のイベント通知を監視して処理するための動作を続けることができる。
【０１２０】
しかしながら、非従順なアプリケーションがフォアグラウンドを制御するように活動したと判定される場合(すなわち、判定ブロック1302=「Yes」)、ブロック1304において、ワイヤレス通信デバイスは、たとえば終了信号または保留メッセージを非従順なアプリケーションに送ることによって、非従順なアプリケーションを終了する(または落とす)ことができる。ある実施形態では、ワイヤレス通信デバイスは、調停者を介して、非従順なアプリケーションを終了して落とすだけではなく、非従順なアプリケーションが再び実行するのを禁止することもできる。たとえば、非従順なアプリケーションの終了からある期間(たとえば、ミリ秒、秒など)に、ワイヤレス通信デバイスは調停者を介して、起動する、および/またはフォアグラウンドを制御するための、非従順なアプリケーションによる後続の試みを監視することができ、ブロック1304の動作を繰り返すことができる。任意選択のブロック1306において、ワイヤレス通信デバイスは、図5または図6を参照して上で説明された動作を介して決定された優先アプリケーションのような、優先権を有するアプリケーションにフラグを再び送ることができる。
【０１２１】
非従順なアプリケーションは、調停者などを介して、ワイヤレス通信デバイスによって送られる保留メッセージを覆すように構成され得る。たとえば、調停者アプリが利用可能ではない情報に基づいて、非従順なアプリケーションは、フォアグラウンドの制御権を維持するために、受け取られた保留メッセージまたは終了信号を無視することがある。この事例は、ワイヤレス通信デバイスが更新されたソフトウェアを有しないとき(たとえば、古い調停者ルーチン、アプリ、またはソフトウェア)に発生し得る。
【０１２２】
図14は、様々な実施形態とともに使用するのに適した、スマートフォンワイヤレス通信デバイス1400のシステムブロック図である。スマートフォンワイヤレス通信デバイス1400は、内部メモリ1402およびスピーカー1454に結合されたプロセッサ1401を含み得る。内部メモリ1402は揮発性または不揮発性メモリであってもよく、また、セキュアなメモリおよび/または暗号化されたメモリであっても、またはセキュアではないメモリおよび/または暗号化されていないメモリであっても、あるいはそれらの任意の組合せであってもよい。また、プロセッサ1401は、抵抗性感知タッチスクリーン、静電容量感知タッチスクリーン、赤外線感知タッチスクリーンなどのような第1のディスプレイ1403に結合され得る。ある実施形態では、スマートフォンワイヤレス通信デバイス1400の第1のディスプレイ1403は、タッチスクリーン機能を有する必要はない。ある実施形態では、スマートフォンワイヤレス通信デバイス1400はまた、別のタッチスクリーンまたはLEDスクリーンのような、プロセッサ1401に結合された第2のディスプレイ1460を含み得る。様々な実施形態において、第2のディスプレイ1460は、スマートフォンワイヤレス通信デバイスがヒンジ機構を利用して「クラムシェル」のように閉じるように構成されるときなどには、非アクティブ状態となるように隠されまたは閉じられるように構成され得る。代替的に、第2のディスプレイ1460は、スマートフォンワイヤレス通信デバイス1400のケースもしくは筐体に添えられた、または埋め込まれたディスプレイユニットであってよい。たとえば、第2のディスプレイ1460は、ワイヤレス通信デバイス1400の筐体の裏側の第2の画面であってよい。他の実施形態では、第2のディスプレイ1460は、有線接続またはワイヤレス接続(図示されず)を介してスマートフォンワイヤレス通信デバイス1400に繋がれ得る。
【０１２３】
スマートフォンワイヤレス通信デバイス1400は、たとえばWiFiローカルエリアネットワークまたはワイドエリアネットワークを通じて通信するための、電磁放射(またはワイヤレス信号)を送受信するための、1つまたは複数の無線信号送受信機1405(たとえば、Peanut、Bluetooth（登録商標）、Zigbee（登録商標）、WiFi、RF無線など)およびアンテナ1404を有し得る。送受信機1118およびアンテナ1108は、プロセッサ1401に結合されてよく、様々なワイヤレス送信プロトコルスタック/インターフェースを実装するために、上で言及された回路とともに使用され得る。ある実施形態では、スマートフォンワイヤレス通信デバイス1400は、セルラーネットワークを介した通信を可能にする、セルラーネットワークワイヤレスモデムチップ1415を含み得る。スマートフォンワイヤレス通信デバイス1400は通常、ユーザ入力を受け取るためのメニュー選択ボタンまたはロッカースイッチ1408も含み得る。加えて、スマートフォンワイヤレス通信デバイス1400は、サーミスタ1462、加速度計1410、ジャイロスコープ1411、マイクロフォン1412、およびカメラ1413のような、プロセッサ1401に結合された様々なセンサを含み得る。加えて、スマートフォンワイヤレス通信デバイス1400は、プロセッサ1401に結合されたGPS受信機チップ1414を含み得る。
【０１２４】
プロセッサ84および1401は、上で説明された様々な実施形態の機能を含む、種々の機能を実行するようにソフトウェア命令(アプリケーション)によって構成され得る、任意のプログラマブルマイクロプロセッサ、マイクロコンピュータ、またはマルチプロセッサチップであり得る。様々なデバイスでは、1つのプロセッサをワイヤレス通信機能専用とし、1つのプロセッサを他のアプリケーションの実行専用とするなど、複数のプロセッサが設けられてもよい。一般的には、ソフトウェアアプリケーションは、それらがアクセスされ、プロセッサ84および1401にロードされる前に、内部メモリ88および1402内に記憶され得る。プロセッサ84および1401は、アプリケーションソフトウェア命令を記憶するのに十分な内部メモリを含み得る。多くのデバイスでは、内部メモリは、揮発性メモリ、またはフラッシュメモリのような不揮発性メモリ、または両方の混合であり得る。本明細書では、メモリへの一般的な言及は、様々なデバイスに差し込まれる内部メモリまたはリムーバブルメモリと、プロセッサ84および1401の中のメモリとを含む、プロセッサ84および1401によってアクセス可能なメモリを指す。
【０１２５】
上述の方法の説明およびプロセスフロー図は、単に説明のための例として提供されており、様々な実施形態のステップが提示された順序で実行されなければならないことを要求または暗示することは意図されない。当業者によって理解され得るように、上述の実施形態におけるステップの順序は、任意の順序で実行され得る。「したがって」、「次いで」、「次に」、などのような単語は、ステップの順序を限定することを意図しておらず、これらの単語は、単に、方法の説明を通じて読者を導くために使用される。さらに、たとえば、冠詞「a」、「an」、または「the」を使用して要素を単数で特許請求するどの参照も、要素を単数に限定するものとして解釈されるべきではない。
【０１２６】
本明細書で開示された実施形態に関して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、プロセッサ実行可能命令、コンピュータソフトウェア、または両方の組合せとして実装され得る。ハードウェアおよびソフトウェアのこの互換性を明確に説明するために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、上では全般にそれらの機能の観点で説明されている。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、具体的な適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明された機能を具体的な適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を引き起こすものと解釈されるべきではない。
【０１２７】
本明細書で開示された実施形態に関して説明された様々な例示的な論理、論理ブロック、モジュール、および回路を実装するために使用されるハードウェアは、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理、個別ハードウェアコンポーネント、または本明細書で説明された機能を実行するように設計されたそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替的に、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラまたは状態機械であり得る。また、プロセッサは、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと関連した1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。代替的に、いくつかのステップまたは方法は、所与の機能に固有の回路によって実行され得る。
【０１２８】
モバイル通信デバイスおよび他のコンピュータプラットフォーム上で実行可能である方法を鑑みると、方法はしたがって、非一時的コンピュータ可読媒体(または非一時的プロセッサ可読記憶媒体)に常駐するプログラムによって実行されてよく、プログラムは、コンピュータプラットフォームを有するモバイルデバイスまたは他のコンピュータデバイスに、方法のステップを実行するように指示する。非一時的コンピュータ可読媒体は、サーバのメモリであってよく、または接続可能なデータベース中にあってよい。さらに、非一時的コンピュータ可読媒体は、当技術分野において知られている磁気ディスクもしくはテープ、光ディスク、ハードディスク、フラッシュメモリ、または他の記憶媒体のような、ワイヤレス通信デバイスのコンピュータプラットフォーム上にロード可能な二次的記憶媒体中にあってもよい。
【０１２９】
1つまたは複数の例示的実施形態では、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装され得る。ソフトウェアで実装される場合、機能は、1つもしくは複数の命令(たとえば、プロセッサ実行可能命令またはプロセッサ実行可能ソフトウェア命令)またはコードとして、非一時的コンピュータ可読媒体(または非一時的プロセッサ可読記憶媒体)上に記憶され得る。非一時的コンピュータ可読媒体は、コンピュータプログラムの1つの場所から別の場所への転送を容易にする任意の媒体を含むコンピュータ記憶媒体を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であってよい。限定ではなく例として、そのような非一時的コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形式で所望のプログラムコードを搬送もしくは記憶するために使用されコンピュータによってアクセスされ得る任意の他の媒体を含み得る。ディスク(diskおよびdisc)は、本明細書において使用されるときに、コンパクトディスク(disc)(CD)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、フロッピー（登録商標）ディスク(disk)およびブルーレイディスク(disc)を含み、diskは通常、データを磁気的に再生し、一方、discは、レーザを用いてデータを光学的に再生する。上記の組合せは、また、非一時的コンピュータ可読媒体の範囲内に含まれるべきである。
【０１３０】
本発明は特に、本発明の好ましい実施形態を参照して示され説明されてきたが、形式および詳細における様々な変更が、以下の特許請求の範囲において述べられるような本発明の範囲から逸脱することなく行われ得ることが、当業者により理解され得る。したがって、本発明は、本明細書で示される実施形態に限定されることを意図されず、以下の特許請求の範囲および本明細書で開示される原理および新規の特徴と一致する最も広い範囲を与えられるべきである。さらに、本発明の要素は、単数形で記載または特許請求されている場合があるが、単数形に限定することが明示的に述べられていない限り、複数形も考えられる。
【符号の説明】
【０１３１】
10  システム
32  グループ通信サーバ
50  LAN
52  PDSN
54  キャリアネットワーク
58  MSC
60  基地局
62  PCF
64  BSC
66  BTS
70  ワイヤレス通信デバイス
72  ワイヤレス通信デバイス
74  ワイヤレス通信デバイス
76  ワイヤレス通信デバイス
80  グラフィクスディスプレイ
82  コンピュータプラットフォーム
84  ASIC
86  API
88  メモリ
90  ローカルデータベース
92  ワイヤレス通信インターフェース
100  アプリケーションA
102  アプリケーションB
104  アプリケーションC
106  アプリケーションD
120  アプリケーションA
122  アプリケーションB
124  アプリケーションC
126  アプリケーションD
140  ユーザインターフェース
142  インターフェース
144  インターフェース
146  着信グループ通信インターフェース
700  方法
750  方法
800  方法
902  第1のユーザインターフェース
904  ディスプレイ
906  第2のユーザインターフェース
908  カーソル要素
950  方法
1002  プロンプトダイアログボックス
1003  第2のユーザインターフェース
1004  矢印UI要素
1005  矢印UI要素
1050  方法
1102  第1のユーザインターフェース
1106  第2のユーザインターフェース
1150  方法
1200  方法
1400  スマートフォンワイヤレス通信デバイス
1401  プロセッサ
1402  内部メモリ
1403  第1のディスプレイ
1404  アンテナ
1405  無線信号送受信機
1408  ロッカースイッチ
1410  加速度計
1411  ジャイロスコープ
1412  マイクロフォン
1413  カメラ
1414  GPS受信機チップ
1415  セルラーネットワークワイヤレスモデムチップ
1454  スピーカー
1460  第2のディスプレイ
1462  サーミスタ
【図１】
2016539432.tif 000003
【図２】
2016539432.tif 000004
【図３Ａ】
2016539432.tif 000005
【図３Ｂ】
2016539432.tif 000006
【図４】
2016539432.tif 000007
【図５】
2016539432.tif 000008
【図６】
2016539432.tif 000009
【図７Ａ】
2016539432.tif 000010
【図７Ｂ】
2016539432.tif 000011
【図８】
2016539432.tif 000012
【図９Ａ】
2016539432.tif 000013
【図９Ｂ】
2016539432.tif 000014
【図１０Ａ】
2016539432.tif 000015
【図１０Ｂ】
2016539432.tif 000016
【図１１Ａ】
2016539432.tif 000017
【図１１Ｂ】
2016539432.tif 000018
【図１２】
2016539432.tif 000019
【図１３】
2016539432.tif 000020
【図１４】
2016539432.tif 000021
【手続補正書】
【提出日】平成28年8月1日(2016.8.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ワイヤレス通信デバイスに常駐する複数のアプリケーションのうちのあるアプリケーションに複数のディスプレイの各々の制御権を割り当てる方法であって、
2つ以上のアプリケーションを同時に呼び出す第1の通知イベントを受け取ったことに応答して、所定の基準に基づいて前記複数のディスプレイの1つを制御する前記複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するステップと、
前記調停者を介して、前記第1のアプリケーションが前記複数のディスプレイの前記1つを制御することを決定したことに応答して、前記複数のアプリケーションのうちの第2のアプリケーションに関する活動が検出されるかどうかを判定するステップと、
前記第2のアプリケーションに関する前記活動を検出したことに応答して、前記第2のアプリケーションに対する優先順序で、前記複数のディスプレイの実行可能なディスプレイのリストを並べるステップと、
前記複数のディスプレイの実行可能なディスプレイの前記並べられたリスト中のディスプレイを選択するステップと、
前記選択されたディスプレイが第3のアプリケーションによって使用されているかどうかを判定するステップと、
前記選択されたディスプレイが前記第3のアプリケーションによって使用されていないと判定したことに応答して、前記選択されたディスプレイのフォアグラウンドの制御権を割り当てるフラグを前記第2のアプリケーションに送るステップとを備える、方法。
【請求項２】
前記選択されたディスプレイが前記第3のアプリケーションによって使用されており、前記第3のアプリケーションの優先順位が前記第2のアプリケーションの優先順位よりも低いと判定したことに応答して、前記選択されたディスプレイの前記フォアグラウンドの前記制御権を割り当てる前記フラグを前記第2のアプリケーションに送るステップをさらに備える、請求項1に記載の方法。
【請求項３】
前記活動が、第2の通知イベント、前記第2のアプリケーションと関連付けられる登録情報内で示されるあらかじめ定められたイベント、例外への遭遇、前記複数のアプリケーションの1つの優先順位の変化、前記調停者への新たなアプリケーションの登録、前記複数のアプリケーションの1つの動作状態の変化、前記複数のアプリケーションの1つによるディスプレイのフォアグラウンドの制御権の喪失、および前記複数のディスプレイの1つの活動状態の変化の、少なくとも1つである、請求項1に記載の方法。
【請求項４】
前記選択されたディスプレイが前記複数のアプリケーションの前記第3のアプリケーションによって使用されており、前記第3のアプリケーションの優先順位が前記第2のアプリケーションの優先順位よりも高いと判定したことに応答して、前記選択されたディスプレイに対する待ち行列に前記第2のアプリケーションを追加するステップをさらに備える、請求項1に記載の方法。
【請求項５】
前記ワイヤレス通信デバイスのコンピュータプラットフォームの起動、前記複数のアプリケーションの各々のアクティブ化、および登録要求の受取りの1つに応答して、前記調停者に前記複数のアプリケーションの各々を登録するステップをさらに備え、前記調停者に前記複数のアプリケーションの各々を登録するステップが、前記複数のアプリケーションの各々に対する登録情報を記憶するステップを備える、請求項1に記載の方法。
【請求項６】
前記複数のアプリケーションの個々のアプリケーションに対する前記登録情報が、識別情報、優先順位、ネットワーク要件、前記個々のアプリケーションの優先順位が動的に変更され得るかどうかの指示、前記個々のアプリケーションが前記複数のディスプレイの二次的なディスプレイ上で使用され得るかどうかの指示、および前記個々のアプリケーションがバックグラウンド対応であるかどうかの指示の、少なくとも1つを含む、請求項5に記載の方法。
【請求項７】
動的な優先順位の変更に登録されている前記複数のアプリケーションの各々の優先順位を再計算するステップをさらに備える、請求項6に記載の方法。
【請求項８】
前記複数のディスプレイの各々の状態情報を記憶するステップであって、前記状態情報が、動作条件、動作要件、およびディスプレイ優先順位を少なくとも含む、ステップと、
前記ワイヤレス通信デバイスの現在の条件を示す情報についてセンサにポーリングするステップと、
前記記憶されている状態情報と、前記ワイヤレス通信デバイスの前記現在の条件を示す前記情報とに基づいて、前記複数のディスプレイの各々の実行可能性を評価するステップと、
前記ワイヤレス通信デバイスの前記現在の条件を示す前記情報に基づいて、前記複数のディスプレイの各々とのユーザ対話を評価するステップと、
前記複数のディスプレイの各々の前記評価された実行可能性と前記評価されたユーザ対話の少なくとも1つに基づいて、前記複数のディスプレイの各々の優先順位を再計算するステップとをさらに備える、請求項1に記載の方法。
【請求項９】
前記ワイヤレス通信デバイスの前記現在の条件が、サーミスタセンサのデータに基づく周辺温度、カメラのデータに基づく周辺の明るさ、GPSのデータに基づくデバイスの高度、ジャイロスコープセンサのデータに基づくデバイスの動き、前記ジャイロスコープセンサのデータに基づくデバイスの傾き、タッチスクリーンへのユーザ入力、および、前記カメラのデータまたはマイクロフォンのデータに基づくユーザの身元の少なくとも1つを含む、請求項8に記載の方法。
【請求項１０】
前記ユーザ対話が、目の追跡に基づいてユーザがディスプレイを見ていること、頭の追跡に基づいて前記ユーザがディスプレイを見ていること、および前記ユーザがディスプレイに触れていることの少なくとも1つを示す、請求項8に記載の方法。
【請求項１１】
前記複数のディスプレイの各々の前記評価された実行可能性および前記評価されたユーザ対話の少なくとも1つに基づいて前記複数のディスプレイの各々の優先順位を再計算するステップが、前記複数のディスプレイの各々の前記評価された実行可能性および前記評価されたユーザ対話の少なくとも1つに基づいて、前記複数のディスプレイの各々の優先順位を前記複数のアプリケーションの各々に対して再計算するステップを備える、請求項8に記載の方法。
【請求項１２】
ユーザの意図に従ってユーザ入力データをワイヤレス通信デバイスに常駐する複数のアプリケーションと関連付ける方法であって、
2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、所定の基準に基づいて前記ワイヤレス通信デバイスのディスプレイを制御する前記複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するステップと、
前記第1のアプリケーションが前記ディスプレイを制御すると前記調停者を介して決定したことに応答して、前記複数のアプリケーション中の前記第1のアプリケーションから前記複数のアプリケーション中の第2のアプリケーションへの前記ディスプレイの制御権の変更を検出するステップと、
前記ディスプレイの前記制御権の前記検出された変更の前に受け取られる第1の入力と、前記ディスプレイの前記制御権の前記検出された変更の後で受け取られる第2の入力とを特定するステップと、
前記第1の入力が、前記ディスプレイの前記制御権の前記検出された変更から第1の時間閾値以内に受け取られたかどうかを判定するステップと、
前記第2の入力が、前記ディスプレイの前記制御権の前記検出された変更から第2の時間閾値以内に受け取られたかどうかを判定するステップと、
前記第1の入力が前記第1の時間閾値以内に受け取られなかった、または前記第2の入力が前記第2の時間閾値以内に受け取られなかったと判定したことに応答して、前記第2の入力を前記第2のアプリケーションと関連付けるステップとを備える、方法。
【請求項１３】
前記第1の入力および前記第2の入力がともに、タッチ入力、テキスト入力、話される入力、または視覚的な入力の1つである、請求項12に記載の方法。
【請求項１４】
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力を前記第1のアプリケーションと関連付けるステップをさらに備える、請求項12に記載の方法。
【請求項１５】
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力を前記第1のアプリケーションおよび前記第2のアプリケーションの1つと関連付けるためのユーザ選択入力を要求するプロンプトをレンダリングするステップと、
ユーザインターフェースを介して前記ユーザ選択入力を受け取るステップと、
前記受け取られたユーザ選択入力に基づいて、前記第2の入力を前記第1のアプリケーションと前記第2のアプリケーションの1つと関連付けるステップとをさらに備える、請求項12に記載の方法。
【請求項１６】
前記第1の入力が口頭の入力であり、
前記プロンプトが第2の音であり、
前記ディスプレイの前記制御権の前記変更を検出する前に第1の音をレンダリングするステップをさらに備える、請求項15に記載の方法。
【請求項１７】
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第1の入力および前記第2の入力の内容を評価するステップと、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記制御権の前記検出された変更に関して前記第2のアプリケーションの起動時間を評価するステップと、
前記評価された内容と前記評価された起動時間の少なくとも1つに基づいて、前記第2の入力を前記第1のアプリケーションまたは前記第2のアプリケーションと関連付けるステップとをさらに備える、請求項12に記載の方法。
【請求項１８】
前記内容が、文法、綴り、句読点、フォーマット、状況、および解釈された意味の少なくとも1つである、請求項17に記載の方法。
【請求項１９】
前記第2の入力がタッチ入力であり、前記方法が、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力に対応する前記第2のアプリケーションの第2のユーザインターフェース要素を特定するステップと、
前記第2のアプリケーションの前記特定された第2のユーザインターフェース要素が前記第1のアプリケーションの第1のユーザインターフェース要素と同時に存在するかどうかを判定するステップと、
前記特定された第2のユーザインターフェース要素が前記第1のユーザインターフェース要素と同時に存在すると判定したことに応答して、前記第2の入力を前記第1のアプリケーションと関連付けるステップとをさらに備える、請求項12に記載の方法。
【請求項２０】
ワイヤレス通信デバイスに常駐する複数のアプリケーションを制御する方法であって、
2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、前記複数のアプリケーションのうちの第1のアプリケーションが所定の基準に基づいて前記ワイヤレス通信デバイスのディスプレイを制御すると、調停者を介して判定するステップと、
前記複数のアプリケーションのうちの前記第1のアプリケーションが前記ディスプレイを制御するという前記調停者を介した前記判定に、前記複数のアプリケーションのうちの第2のアプリケーションが従わなかったかどうかを判定するステップと、
前記複数のアプリケーションのうちの前記第2のアプリケーションが従わなかったと判定したことに応答して、前記第2のアプリケーションを終了するステップとを備える、方法。
【請求項２１】
2つ以上のアプリケーションを同時に呼び出す第1の通知イベントを受け取ったことに応答して、所定の基準に基づいて複数のディスプレイの1つを制御する複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するための手段と、
前記調停者を介して、前記第1のアプリケーションが前記複数のディスプレイの前記1つを制御することを決定したことに応答して、前記複数のアプリケーションのうちの第2のアプリケーションに関する活動が検出されるかどうかを判定するための手段と、
前記第2のアプリケーションに関する前記活動を検出したことに応答して、前記第2のアプリケーションに対する優先順序で、前記複数のディスプレイの実行可能なディスプレイのリストを並べるための手段と、
前記複数のディスプレイの実行可能なディスプレイの前記並べられたリスト中のディスプレイを選択するための手段と、
前記選択されたディスプレイが第3のアプリケーションによって使用されているかどうかを判定するための手段と、
前記選択されたディスプレイが前記第3のアプリケーションによって使用されていないと判定したことに応答して、前記選択されたディスプレイのフォアグラウンドの制御権を割り当てるフラグを前記第2のアプリケーションに送るための手段とを備える、ワイヤレス通信デバイス。
【請求項２２】
前記選択されたディスプレイが前記第3のアプリケーションによって使用されており、前記第3のアプリケーションの優先順位が前記第2のアプリケーションの優先順位よりも低いと判定したことに応答して、前記選択されたディスプレイの前記フォアグラウンドの前記制御権を割り当てる前記フラグを前記第2のアプリケーションに送るための手段をさらに備える、請求項21に記載のワイヤレス通信デバイス。
【請求項２３】
前記活動が、第2の通知イベント、前記第2のアプリケーションと関連付けられる登録情報内で示されるあらかじめ定められたイベント、例外への遭遇、前記複数のアプリケーションの1つの優先順位の変化、前記調停者への新たなアプリケーションの登録、前記複数のアプリケーションの1つの動作状態の変化、前記複数のアプリケーションの1つによるディスプレイのフォアグラウンドの制御権の喪失、および前記複数のディスプレイの1つの活動状態の変化の、少なくとも1つである、請求項21に記載のワイヤレス通信デバイス。
【請求項２４】
前記選択されたディスプレイが前記複数のアプリケーションの前記第3のアプリケーションによって使用されており、前記第3のアプリケーションの優先順位が前記第2のアプリケーションの優先順位よりも高いと判定したことに応答して、前記選択されたディスプレイに対する待ち行列に前記第2のアプリケーションを追加するための手段をさらに備える、請求項21に記載のワイヤレス通信デバイス。
【請求項２５】
前記ワイヤレス通信デバイスのコンピュータプラットフォームの起動、前記複数のアプリケーションの各々のアクティブ化、および登録要求の受取りの1つに応答して、前記調停者に前記複数のアプリケーションの各々を登録するための手段をさらに備え、
前記調停者に前記複数のアプリケーションの各々を登録するための手段が、前記複数のアプリケーションの各々に対する登録情報を記憶するための手段を備える、請求項21に記載のワイヤレス通信デバイス。
【請求項２６】
前記複数のアプリケーションの個々のアプリケーションに対する前記登録情報が、識別情報、優先順位、ネットワーク要件、前記個々のアプリケーションの優先順位が動的に変更され得るかどうかの指示、前記個々のアプリケーションが前記複数のディスプレイの二次的なディスプレイ上で使用され得るかどうかの指示、および前記個々のアプリケーションがバックグラウンド対応であるかどうかの指示の、少なくとも1つを含む、請求項25に記載のワイヤレス通信デバイス。
【請求項２７】
動的な優先順位の変更に登録されている前記複数のアプリケーションの各々の優先順位を再計算するための手段をさらに備える、請求項26に記載のワイヤレス通信デバイス。
【請求項２８】
前記複数のディスプレイの各々の状態情報を記憶するための手段であって、前記状態情報が、動作条件、動作要件、およびディスプレイ優先順位を少なくとも含む、手段と、
前記ワイヤレス通信デバイスの現在の条件を示す情報についてセンサにポーリングするための手段と、
前記記憶されている状態情報と、前記ワイヤレス通信デバイスの前記現在の条件を示す前記情報とに基づいて、前記複数のディスプレイの各々の実行可能性を評価するための手段と、
前記ワイヤレス通信デバイスの前記現在の条件を示す前記情報に基づいて、前記複数のディスプレイの各々とのユーザ対話を評価するための手段と、
前記複数のディスプレイの各々の前記評価された実行可能性と前記評価されたユーザ対話の少なくとも1つに基づいて、前記複数のディスプレイの各々の優先順位を再計算するための手段とをさらに備える、請求項21に記載のワイヤレス通信デバイス。
【請求項２９】
前記ワイヤレス通信デバイスの前記現在の条件が、サーミスタセンサのデータに基づく周辺温度、カメラのデータに基づく周辺の明るさ、GPSのデータに基づくデバイスの高度、ジャイロスコープセンサのデータに基づくデバイスの動き、前記ジャイロスコープセンサのデータに基づくデバイスの傾き、タッチスクリーンへのユーザ入力、および、前記カメラのデータまたはマイクロフォンのデータに基づくユーザの身元の少なくとも1つを含む、請求項28に記載のワイヤレス通信デバイス。
【請求項３０】
前記ユーザ対話が、目の追跡に基づいてユーザがディスプレイを見ていること、頭の追跡に基づいて前記ユーザがディスプレイを見ていること、および前記ユーザがディスプレイに触れていることの少なくとも1つを示す、請求項28に記載のワイヤレス通信デバイス。
【請求項３１】
前記複数のディスプレイの各々の前記評価された実行可能性および前記評価されたユーザ対話の少なくとも1つに基づいて前記複数のディスプレイの各々の優先順位を再計算するための手段が、前記複数のディスプレイの各々の前記評価された実行可能性および前記評価されたユーザ対話の少なくとも1つに基づいて、前記複数のディスプレイの各々の優先順位を前記複数のアプリケーションの各々に対して再計算するための手段を備える、請求項28に記載のワイヤレス通信デバイス。
【請求項３２】
ワイヤレス通信デバイスであって、
2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、所定の基準に基づいて前記ワイヤレス通信デバイスのディスプレイを制御する複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するための手段と、
前記第1のアプリケーションが前記ディスプレイを制御すると前記調停者を介して決定したことに応答して、前記複数のアプリケーション中の前記第1のアプリケーションから前記複数のアプリケーション中の第2のアプリケーションへの前記ディスプレイの制御権の変更を検出するための手段と、
前記ディスプレイの前記制御権の前記検出された変更の前に受け取られる第1の入力と、前記ディスプレイの前記制御権の前記検出された変更の後で受け取られる第2の入力とを特定するための手段と、
前記第1の入力が、前記ディスプレイの前記制御権の前記検出された変更から第1の時間閾値以内に受け取られたかどうかを判定するための手段と、
前記第2の入力が、前記ディスプレイの前記制御権の前記検出された変更から第2の時間閾値以内に受け取られたかどうかを判定するための手段と、
前記第1の入力が前記第1の時間閾値以内に受け取られなかった、または前記第2の入力が前記第2の時間閾値以内に受け取られなかったと判定したことに応答して、前記第2の入力を前記第2のアプリケーションと関連付けるための手段とを備える、ワイヤレス通信デバイス。
【請求項３３】
前記第1の入力および前記第2の入力がともに、タッチ入力、テキスト入力、話される入力、または視覚的な入力の1つである、請求項32に記載のワイヤレス通信デバイス。
【請求項３４】
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力を前記第1のアプリケーションと関連付けるための手段をさらに備える、請求項32に記載のワイヤレス通信デバイス。
【請求項３５】
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力を前記第1のアプリケーションおよび前記第2のアプリケーションの1つと関連付けるためのユーザ選択入力を要求するプロンプトをレンダリングするための手段と、
ユーザインターフェースを介して前記ユーザ選択入力を受け取るための手段と、
前記受け取られたユーザ選択入力に基づいて、前記第2の入力を前記第1のアプリケーションと前記第2のアプリケーションの1つと関連付けるための手段とをさらに備える、請求項32に記載のワイヤレス通信デバイス。
【請求項３６】
前記第1の入力が口頭の入力であり、
前記プロンプトが第2の音であり、
前記ディスプレイの前記制御権の前記変更を検出する前に第1の音をレンダリングするための手段をさらに備える、請求項35に記載のワイヤレス通信デバイス。
【請求項３７】
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第1の入力および前記第2の入力の内容を評価するための手段と、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記制御権の前記検出された変更に関して前記第2のアプリケーションの起動時間を評価するための手段と、
前記評価された内容と前記評価された起動時間の少なくとも1つに基づいて、前記第2の入力を前記第1のアプリケーションまたは前記第2のアプリケーションと関連付けるための手段とをさらに備える、請求項32に記載のワイヤレス通信デバイス。
【請求項３８】
前記内容が、文法、綴り、句読点、フォーマット、状況、および解釈された意味の少なくとも1つである、請求項37に記載のワイヤレス通信デバイス。
【請求項３９】
前記第2の入力がタッチ入力であり、前記ワイヤレス通信デバイスが、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力に対応する前記第2のアプリケーションの第2のユーザインターフェース要素を特定するための手段と、
前記第2のアプリケーションの前記特定された第2のユーザインターフェース要素が前記第1のアプリケーションの第1のユーザインターフェース要素と同時に存在するかどうかを判定するための手段と、
前記特定された第2のユーザインターフェース要素が前記第1のユーザインターフェース要素と同時に存在すると判定したことに応答して、前記第2の入力を前記第1のアプリケーションと関連付けるための手段とをさらに備える、請求項32に記載のワイヤレス通信デバイス。
【請求項４０】
ワイヤレス通信デバイスであって、
2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、複数のアプリケーションのうちの第1のアプリケーションが所定の基準に基づいて前記ワイヤレス通信デバイスのディスプレイを制御すると、調停者を介して判定するための手段と、
前記複数のアプリケーションのうちの前記第1のアプリケーションが前記ディスプレイを制御するという前記調停者を介した前記判定に、前記複数のアプリケーションのうちの第2のアプリケーションが従わなかったかどうかを判定するための手段と、
前記複数のアプリケーションのうちの前記第2のアプリケーションが従わなかったと判定したことに応答して、前記第2のアプリケーションを終了するための手段とを備える、ワイヤレス通信デバイス。
【請求項４１】
メモリと、
前記メモリに結合されたプロセッサとを備え、前記プロセッサが、
2つ以上のアプリケーションを同時に呼び出す第1の通知イベントを受け取ったことに応答して、所定の基準に基づいて複数のディスプレイの1つを制御する複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するステップと、
前記調停者を介して、前記第1のアプリケーションが前記複数のディスプレイの前記1つを制御することを決定したことに応答して、前記複数のアプリケーションのうちの第2のアプリケーションに関する活動が検出されるかどうかを判定するステップと、
前記第2のアプリケーションに関する前記活動を検出したことに応答して、前記第2のアプリケーションに対する優先順序で、前記複数のディスプレイの実行可能なディスプレイのリストを並べるステップと、
前記複数のディスプレイの実行可能なディスプレイの前記並べられたリスト中のディスプレイを選択するステップと、
前記選択されたディスプレイが第3のアプリケーションによって使用されているかどうかを判定するステップと、
前記選択されたディスプレイが前記第3のアプリケーションによって使用されていないと判定したことに応答して、前記選択されたディスプレイのフォアグラウンドの制御権を割り当てるフラグを前記第2のアプリケーションに送るステップと
を備える動作を実行するようにプロセッサ実行可能命令によって構成される、ワイヤレス通信デバイス。
【請求項４２】
前記選択されたディスプレイが前記第3のアプリケーションによって使用されており、前記第3のアプリケーションの優先順位が前記第2のアプリケーションの優先順位よりも低いと判定したことに応答して、前記プロセッサが、前記選択されたディスプレイの前記フォアグラウンドの前記制御権を割り当てる前記フラグを前記第2のアプリケーションに送るステップをさらに備えるプロセッサ実行可能命令によって構成される、請求項41に記載のワイヤレス通信デバイス。
【請求項４３】
前記活動が、第2の通知イベント、前記第2のアプリケーションと関連付けられる登録情報内で示されるあらかじめ定められたイベント、例外への遭遇、前記複数のアプリケーションの1つの優先順位の変化、前記調停者への新たなアプリケーションの登録、前記複数のアプリケーションの1つの動作状態の変化、前記複数のアプリケーションの1つによるディスプレイのフォアグラウンドの制御権の喪失、および前記複数のディスプレイの1つの活動状態の変化の、少なくとも1つである、請求項41に記載のワイヤレス通信デバイス。
【請求項４４】
前記選択されたディスプレイが前記複数のアプリケーションの前記第3のアプリケーションによって使用されており、前記第3のアプリケーションの優先順位が前記第2のアプリケーションの優先順位よりも高いと判定したことに応答して、前記プロセッサが、前記選択されたディスプレイに対する待ち行列に前記第2のアプリケーションを追加するステップをさらに備えるプロセッサ実行可能命令によって構成される、請求項41に記載のワイヤレス通信デバイス。
【請求項４５】
前記プロセッサが、前記ワイヤレス通信デバイスのコンピュータプラットフォームの起動、前記複数のアプリケーションの各々のアクティブ化、および登録要求の受取りの1つに応答して、前記調停者に前記複数のアプリケーションの各々を登録するステップをさらに備えるプロセッサ実行可能命令によって構成され、
前記調停者に前記複数のアプリケーションの各々を登録するステップが、前記複数のアプリケーションの各々に対する登録情報を記憶するステップを備えるように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項41に記載のワイヤレス通信デバイス。
【請求項４６】
前記複数のアプリケーションの個々のアプリケーションに対する前記登録情報が、識別情報、優先順位、ネットワーク要件、前記個々のアプリケーションの優先順位が動的に変更され得るかどうかの指示、前記個々のアプリケーションが前記複数のディスプレイの二次的なディスプレイ上で使用され得るかどうかの指示、および前記個々のアプリケーションがバックグラウンド対応であるかどうかの指示の、少なくとも1つを含む、請求項45に記載のワイヤレス通信デバイス。
【請求項４７】
前記プロセッサが、動的な優先順位の変更に登録されている前記複数のアプリケーションの各々の優先順位を再計算するステップをさらに備えるプロセッサ実行可能命令によって構成される、請求項46に記載のワイヤレス通信デバイス。
【請求項４８】
前記プロセッサが、
前記複数のディスプレイの各々の状態情報を記憶するステップであって、前記状態情報が、動作条件、動作要件、およびディスプレイ優先順位を少なくとも含む、ステップと、
前記ワイヤレス通信デバイスの現在の条件を示す情報についてセンサにポーリングするステップと、
前記記憶されている状態情報と、前記ワイヤレス通信デバイスの前記現在の条件を示す前記情報とに基づいて、前記複数のディスプレイの各々の実行可能性を評価するステップと、
前記ワイヤレス通信デバイスの前記現在の条件を示す前記情報に基づいて、前記複数のディスプレイの各々とのユーザ対話を評価するステップと、
前記複数のディスプレイの各々の前記評価された実行可能性と前記評価されたユーザ対話の少なくとも1つに基づいて、前記複数のディスプレイの各々の優先順位を再計算するステップとをさらに備えるプロセッサ実行可能命令によって構成される、請求項41に記載のワイヤレス通信デバイス。
【請求項４９】
前記ワイヤレス通信デバイスの前記現在の条件が、サーミスタセンサのデータに基づく周辺温度、カメラのデータに基づく周辺の明るさ、GPSのデータに基づくデバイスの高度、ジャイロスコープセンサのデータに基づくデバイスの動き、前記ジャイロスコープセンサのデータに基づくデバイスの傾き、タッチスクリーンへのユーザ入力、および、前記カメラのデータまたはマイクロフォンのデータに基づくユーザの身元の少なくとも1つを含む、請求項48に記載のワイヤレス通信デバイス。
【請求項５０】
前記ユーザ対話が、目の追跡に基づいてユーザがディスプレイを見ていること、頭の追跡に基づいて前記ユーザがディスプレイを見ていること、および前記ユーザがディスプレイに触れていることの少なくとも1つを示す、請求項48に記載のワイヤレス通信デバイス。
【請求項５１】
前記複数のディスプレイの各々の前記評価された実行可能性および前記評価されたユーザ対話の少なくとも1つに基づいて前記複数のディスプレイの各々の優先順位を再計算するステップが、前記複数のディスプレイの各々の前記評価された実行可能性および前記評価されたユーザ対話の少なくとも1つに基づいて、前記複数のディスプレイの各々の優先順位を前記複数のアプリケーションの各々に対して再計算するステップを備えるように、前記プロセッサがプロセッサ実行可能命令によって構成される、請求項48に記載のワイヤレス通信デバイス。
【請求項５２】
ワイヤレス通信デバイスであって、
メモリと、
前記メモリに結合されたプロセッサとを備え、前記プロセッサが、
2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、所定の基準に基づいて前記ワイヤレス通信デバイスのディスプレイを制御する複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するステップと、
前記第1のアプリケーションが前記ディスプレイを制御すると前記調停者を介して決定したことに応答して、前記複数のアプリケーション中の前記第1のアプリケーションから前記複数のアプリケーション中の第2のアプリケーションへの前記ディスプレイの制御権の変更を検出するステップと、
前記ディスプレイの前記制御権の前記検出された変更の前に受け取られる第1の入力と、前記ディスプレイの前記制御権の前記検出された変更の後で受け取られる第2の入力とを特定するステップと、
前記第1の入力が、前記ディスプレイの前記制御権の前記検出された変更から第1の時間閾値以内に受け取られたかどうかを判定するステップと、
前記第2の入力が、前記ディスプレイの前記制御権の前記検出された変更から第2の時間閾値以内に受け取られたかどうかを判定するステップと、
前記第1の入力が前記第1の時間閾値以内に受け取られなかった、または前記第2の入力が前記第2の時間閾値以内に受け取られなかったと判定したことに応答して、前記第2の入力を前記第2のアプリケーションと関連付けるステップと
を備える動作を実行するようにプロセッサ実行可能命令によって構成される、ワイヤレス通信デバイス。
【請求項５３】
前記第1の入力および前記第2の入力がともに、タッチ入力、テキスト入力、話される入力、または視覚的な入力の1つである、請求項52に記載のワイヤレス通信デバイス。
【請求項５４】
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記プロセッサが、前記第2の入力を前記第1のアプリケーションと関連付けるステップをさらに備えるプロセッサ実行可能命令によって構成される、請求項52に記載のワイヤレス通信デバイス。
【請求項５５】
前記プロセッサが、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力を前記第1のアプリケーションおよび前記第2のアプリケーションの1つと関連付けるためのユーザ選択入力を要求するプロンプトをレンダリングするステップと、
ユーザインターフェースを介して前記ユーザ選択入力を受け取るステップと、
前記受け取られたユーザ選択入力に基づいて、前記第2の入力を前記第1のアプリケーションと前記第2のアプリケーションの1つと関連付けるステップとをさらに備えるプロセッサ実行可能命令によって構成される、請求項52に記載のワイヤレス通信デバイス。
【請求項５６】
前記第1の入力が口頭の入力であり、
前記プロンプトが第2の音であり、
前記プロセッサが、前記ディスプレイの前記制御権の前記変更を検出する前に第1の音をレンダリングするステップをさらに備えるプロセッサ実行可能命令によって構成される、請求項55に記載のワイヤレス通信デバイス。
【請求項５７】
前記プロセッサが、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第1の入力および前記第2の入力の内容を評価するステップと、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記制御権の前記検出された変更に関して前記第2のアプリケーションの起動時間を評価するステップと、
前記評価された内容と前記評価された起動時間の少なくとも1つに基づいて、前記第2の入力を前記第1のアプリケーションまたは前記第2のアプリケーションと関連付けるステップとをさらに備えるプロセッサ実行可能命令によって構成される、請求項52に記載のワイヤレス通信デバイス。
【請求項５８】
前記内容が、文法、綴り、句読点、フォーマット、状況、および解釈された意味の少なくとも1つである、請求項57に記載のワイヤレス通信デバイス。
【請求項５９】
前記第2の入力がタッチ入力であり、前記プロセッサが、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力に対応する前記第2のアプリケーションの第2のユーザインターフェース要素を特定するステップと、
前記第2のアプリケーションの前記特定された第2のユーザインターフェース要素が前記第1のアプリケーションの第1のユーザインターフェース要素と同時に存在するかどうかを判定するステップと、
前記特定された第2のユーザインターフェース要素が前記第1のユーザインターフェース要素と同時に存在すると判定したことに応答して、前記第2の入力を前記第1のアプリケーションと関連付けるステップとをさらに備えるプロセッサ実行可能命令によって構成される、請求項52に記載のワイヤレス通信デバイス。
【請求項６０】
ワイヤレス通信デバイスであって、
メモリと、
前記メモリに結合されたプロセッサとを備え、前記プロセッサが、
2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、複数のアプリケーションのうちの第1のアプリケーションが所定の基準に基づいて前記ワイヤレス通信デバイスのディスプレイを制御すると、調停者を介して判定するステップと、
前記複数のアプリケーションのうちの前記第1のアプリケーションが前記ディスプレイを制御するという前記調停者を介した前記判定に、前記複数のアプリケーションのうちの第2のアプリケーションが従わなかったかどうかを判定するステップと、
前記複数のアプリケーションのうちの前記第2のアプリケーションが従わなかったと判定したことに応答して、前記第2のアプリケーションを終了するステップと
を備える動作を実行するように、プロセッサ実行可能命令によって構成される、ワイヤレス通信デバイス。
【請求項６１】
プロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記プロセッサ実行可能ソフトウェア命令が、プロセッサに、
2つ以上のアプリケーションを同時に呼び出す第1の通知イベントを受け取ったことに応答して、所定の基準に基づいて複数のディスプレイの1つを制御する複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するステップと、
前記調停者を介して、前記第1のアプリケーションが前記複数のディスプレイの前記1つを制御することを決定したことに応答して、前記複数のアプリケーションのうちの第2のアプリケーションに関する活動が検出されるかどうかを判定するステップと、
前記第2のアプリケーションに関する前記活動を検出したことに応答して、前記第2のアプリケーションに対する優先順序で、前記複数のディスプレイの実行可能なディスプレイのリストを並べるステップと、
前記複数のディスプレイの実行可能なディスプレイの前記並べられたリスト中のディスプレイを選択するステップと、
前記選択されたディスプレイが第3のアプリケーションによって使用されているかどうかを判定するステップと、
前記選択されたディスプレイが前記第3のアプリケーションによって使用されていないと判定したことに応答して、前記選択されたディスプレイのフォアグラウンドの制御権を割り当てるフラグを前記第2のアプリケーションに送るステップとを備える動作を実行させるように構成される、非一時的プロセッサ可読記憶媒体。
【請求項６２】
前記選択されたディスプレイが前記第3のアプリケーションによって使用されており、前記第3のアプリケーションの優先順位が前記第2のアプリケーションの優先順位よりも低いと判定したことに応答して、前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、前記選択されたディスプレイの前記フォアグラウンドの前記制御権を割り当てる前記フラグを前記第2のアプリケーションに送るステップをさらに備える動作を実行させるように構成される、請求項61に記載の非一時的プロセッサ可読記憶媒体。
【請求項６３】
前記活動が、第2の通知イベント、前記第2のアプリケーションと関連付けられる登録情報内で示されるあらかじめ定められたイベント、例外への遭遇、前記複数のアプリケーションの1つの優先順位の変化、前記調停者への新たなアプリケーションの登録、前記複数のアプリケーションの1つの動作状態の変化、前記複数のアプリケーションの1つによるディスプレイのフォアグラウンドの制御権の喪失、および前記複数のディスプレイの1つの活動状態の変化の、少なくとも1つである、請求項61に記載の非一時的プロセッサ可読記憶媒体。
【請求項６４】
前記選択されたディスプレイが前記複数のアプリケーションの前記第3のアプリケーションによって使用されており、前記第3のアプリケーションの優先順位が前記第2のアプリケーションの優先順位よりも高いと判定したことに応答して、前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、前記選択されたディスプレイに対する待ち行列に前記第2のアプリケーションを追加するステップをさらに備える動作を実行させるように構成される、請求項61に記載の非一時的プロセッサ可読記憶媒体。
【請求項６５】
前記記憶されているプロセッサ実行可能ソフトウェア命令が、コンピュータプラットフォームの起動、前記複数のアプリケーションの各々のアクティブ化、および登録要求の受取りの1つに応答して、前記プロセッサに、前記調停者へ前記複数のアプリケーションの各々を登録するステップをさらに備える動作を実行させるように構成され、
前記調停者に前記複数のアプリケーションの各々を登録するステップが、前記複数のアプリケーションの各々に対する登録情報を記憶するステップを備えるように、前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに動作を実行させるように構成される、請求項61に記載の非一時的プロセッサ可読記憶媒体。
【請求項６６】
前記複数のアプリケーションの個々のアプリケーションに対する前記登録情報が、識別情報、優先順位、ネットワーク要件、前記個々のアプリケーションの優先順位が動的に変更され得るかどうかの指示、前記個々のアプリケーションが前記複数のディスプレイの二次的なディスプレイ上で使用され得るかどうかの指示、および前記個々のアプリケーションがバックグラウンド対応であるかどうかの指示の、少なくとも1つを含む、請求項65に記載の非一時的プロセッサ可読記憶媒体。
【請求項６７】
前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、動的な優先順位の変更に登録されている前記複数のアプリケーションの各々の優先順位を再計算するステップをさらに備える動作を実行させるように構成される、請求項66に記載の非一時的プロセッサ可読記憶媒体。
【請求項６８】
前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、
前記複数のディスプレイの各々の状態情報を記憶するステップであって、前記状態情報が、動作条件、動作要件、およびディスプレイ優先順位を少なくとも含む、ステップと、
ワイヤレス通信デバイスの現在の条件を示す情報についてセンサにポーリングするステップと、
前記記憶されている状態情報と、前記ワイヤレス通信デバイスの前記現在の条件を示す前記情報とに基づいて、前記複数のディスプレイの各々の実行可能性を評価するステップと、
前記ワイヤレス通信デバイスの前記現在の条件を示す前記情報に基づいて、前記複数のディスプレイの各々とのユーザ対話を評価するステップと、
前記複数のディスプレイの各々の前記評価された実行可能性と前記評価されたユーザ対話の少なくとも1つに基づいて、前記複数のディスプレイの各々の優先順位を再計算するステップとをさらに備える動作を実行させるように構成される、請求項61に記載の非一時的プロセッサ可読記憶媒体。
【請求項６９】
前記ワイヤレス通信デバイスの前記現在の条件が、サーミスタセンサのデータに基づく周辺温度、カメラのデータに基づく周辺の明るさ、GPSのデータに基づくデバイスの高度、ジャイロスコープセンサのデータに基づくデバイスの動き、前記ジャイロスコープセンサのデータに基づくデバイスの傾き、タッチスクリーンへのユーザ入力、および、前記カメラのデータまたはマイクロフォンのデータに基づくユーザの身元の少なくとも1つを含む、請求項68に記載の非一時的プロセッサ可読記憶媒体。
【請求項７０】
前記ユーザ対話が、目の追跡に基づいてユーザがディスプレイを見ていること、頭の追跡に基づいて前記ユーザがディスプレイを見ていること、および前記ユーザがディスプレイに触れていることの少なくとも1つを示す、請求項68に記載の非一時的プロセッサ可読記憶媒体。
【請求項７１】
前記複数のディスプレイの各々の前記評価された実行可能性および前記評価されたユーザ対話の少なくとも1つに基づいて前記複数のディスプレイの各々の優先順位を再計算するステップが、前記複数のディスプレイの各々の前記評価された実行可能性および前記評価されたユーザ対話の少なくとも1つに基づいて、前記複数のディスプレイの各々の優先順位を前記複数のアプリケーションの各々に対して再計算するステップを備えるように、前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに動作を実行させるように構成される、請求項68に記載の非一時的プロセッサ可読記憶媒体。
【請求項７２】
プロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記プロセッサ実行可能ソフトウェア命令が、プロセッサに、
2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、所定の基準に基づいてワイヤレス通信デバイスのディスプレイを制御する複数のアプリケーションのうちの第1のアプリケーションを、調停者を介して決定するステップと、
前記第1のアプリケーションが前記ディスプレイを制御すると前記調停者を介して決定したことに応答して、前記複数のアプリケーション中の前記第1のアプリケーションから前記複数のアプリケーション中の第2のアプリケーションへの前記ディスプレイの制御権の変更を検出するステップと、
前記ディスプレイの前記制御権の前記検出された変更の前に受け取られる第1の入力と、前記ディスプレイの前記制御権の前記検出された変更の後で受け取られる第2の入力とを特定するステップと、
前記第1の入力が、前記ディスプレイの前記制御権の前記検出された変更から第1の時間閾値以内に受け取られたかどうかを判定するステップと、
前記第2の入力が、前記ディスプレイの前記制御権の前記検出された変更から第2の時間閾値以内に受け取られたかどうかを判定するステップと、
前記第1の入力が前記第1の時間閾値以内に受け取られなかった、または前記第2の入力が前記第2の時間閾値以内に受け取られなかったと判定したことに応答して、前記第2の入力を前記第2のアプリケーションと関連付けるステップとを備える動作を実行させるように構成される、非一時的プロセッサ可読記憶媒体。
【請求項７３】
前記第1の入力および前記第2の入力がともに、タッチ入力、テキスト入力、話される入力、または視覚的な入力の1つである、請求項72に記載の非一時的プロセッサ可読記憶媒体。
【請求項７４】
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、前記第2の入力を前記第1のアプリケーションと関連付けるステップをさらに備える動作を実行させるように構成される、請求項72に記載の非一時的プロセッサ可読記憶媒体。
【請求項７５】
前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力を前記第1のアプリケーションおよび前記第2のアプリケーションの1つと関連付けるためのユーザ選択入力を要求するプロンプトをレンダリングするステップと、
ユーザインターフェースを介して前記ユーザ選択入力を受け取るステップと、
前記受け取られたユーザ選択入力に基づいて、前記第2の入力を前記第1のアプリケーションと前記第2のアプリケーションの1つと関連付けるステップとをさらに備える動作を実行させるように構成される、請求項72に記載の非一時的プロセッサ可読記憶媒体。
【請求項７６】
前記第1の入力が口頭の入力であり、
前記プロンプトが第2の音であり、
前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、前記ディスプレイの前記制御権の前記変更を検出する前に第1の音をレンダリングするステップをさらに備える動作を実行させるように構成される、請求項75に記載の非一時的プロセッサ可読記憶媒体。
【請求項７７】
前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第1の入力および前記第2の入力の内容を評価するステップと、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記制御権の前記検出された変更に関して前記第2のアプリケーションの起動時間を評価するステップと、
前記評価された内容と前記評価された起動時間の少なくとも1つに基づいて、前記第2の入力を前記第1のアプリケーションまたは前記第2のアプリケーションと関連付けるステップとをさらに備える動作を実行させるように構成される、請求項72に記載の非一時的プロセッサ可読記憶媒体。
【請求項７８】
前記内容が、文法、綴り、句読点、フォーマット、状況、および解釈された意味の少なくとも1つである、請求項77に記載の非一時的プロセッサ可読記憶媒体。
【請求項７９】
前記第2の入力がタッチ入力であり、前記記憶されているプロセッサ実行可能ソフトウェア命令が、前記プロセッサに、
前記第1の入力が前記第1の時間閾値以内に受け取られ、かつ、前記第2の入力が前記第2の時間閾値以内に受け取られたと判定したことに応答して、前記第2の入力に対応する前記第2のアプリケーションの第2のユーザインターフェース要素を特定するステップと、
前記第2のアプリケーションの前記特定された第2のユーザインターフェース要素が前記第1のアプリケーションの第1のユーザインターフェース要素と同時に存在するかどうかを判定するステップと、
前記特定された第2のユーザインターフェース要素が前記第1のユーザインターフェース要素と同時に存在すると判定したことに応答して、前記第2の入力を前記第1のアプリケーションと関連付けるステップとをさらに備える動作を実行させるように構成される、請求項72に記載の非一時的プロセッサ可読記憶媒体。
【請求項８０】
プロセッサ実行可能ソフトウェア命令を記憶した非一時的プロセッサ可読記憶媒体であって、前記プロセッサ実行可能ソフトウェア命令が、プロセッサに、
2つ以上のアプリケーションを同時に呼び出す通知イベントを受け取ったことに応答して、複数のアプリケーションのうちの第1のアプリケーションが所定の基準に基づいてワイヤレス通信デバイスのディスプレイを制御すると、調停者を介して判定するステップと、
前記複数のアプリケーションのうちの前記第1のアプリケーションが前記ディスプレイを制御するという前記調停者を介した前記判定に、前記複数のアプリケーションのうちの第2のアプリケーションが従わなかったかどうかを判定するステップと、
前記複数のアプリケーションのうちの前記第2のアプリケーションが従わなかったと判定したことに応答して、前記第2のアプリケーションを終了するステップとを備える動作を実行させるように構成される、非一時的プロセッサ可読記憶媒体。
【国際調査報告】
2016539432.tif 000022
2016539432.tif 000023
2016539432.tif 000024
2016539432.tif 000025
2016539432.tif 000026