(57)【要約】  請求される対象事項は、アプリケーションが強制終了され、かつ／あるいは終了されたコンピューティング環境においてバックスタック上のアプリケーションの維持とアプリケーションの再起動とに作用する、システム及び／又は方法を提供する。バックスタックは、コンピューティング環境、又はコンピューティング環境を用いるユーザによって、直近に使用され、あるいはその他の方法で呼び出されたアプリケーションのリストを含む。１つの実施形態において、コンピューティング環境は、グラフィカルユーザインタフェース（ＧＵＩ）を含み、ＧＵＩにおいて、ユーザは、強制終了され、あるいはその他の方法で終了されたアプリケーションの再起動を含め、アプリケーションと対話するための意図的なジェスチャに関与することができる。こうした再起動を意図するユーザコマンドに基づいて、コンピューティング環境は、強制終了されたアプリケーションに関連付けられた一時的なＵＩ画面をユーザに提示することができ、強制終了されたアプリケーションを実行するためのコミット信号に基づいて、より完全に機能する画面を提示することができる。
2015507805.tif 000002
【特許請求の範囲】
【請求項１】
コンピューティング環境において、アプリリストに、強制終了されたアプリケーションを維持する方法であって、前記コンピューティング環境は、１又は複数のプロセッサと、コンピュータ読取可能メモリと、入力及び出力コンポーネントと、ユーザにとって利用可能なアプリケーションの表現を提供するユーザインタフェース（ＵＩ）と、アプリケーションのロード、起動、実行を管理するオペレーティングシステムとを含み、当該方法は、
アプリリスト内の１組のアプリケーションのリストを更新するステップであり、前記アプリケーションは前記コンピューティング環境においてユーザにとって利用可能である、ステップと、
前記アプリケーションのうち１つが、実行している状態から強制終了された状態に遷移するとき、前記の強制終了されたアプリケーションを前記アプリリストに維持するステップと、
前記アプリリストから前記の強制終了されたアプリケーションを選択するコマンドを示すユーザからの信号に基づいて、前記の強制終了されたアプリケーションに関連付けられる一時的なＵＩ画面を作成するステップと、
前記ＵＩの少なくとも一部分に前記一時的なＵＩ画面を提示するステップであり、前記一時的なＵＩ画面は前記ＵＩ上で前記ユーザによってドラッグされることができる、ステップと、
前記コンピューティング環境からのコミット信号に基づいて、前記一時的なＵＩ画面を、以前に実行していた前記アプリケーションに関連付けられる通常のＵＩ画面で置換するステップと、
を含む、方法。
【請求項２】
前記アプリリストは、最も直近に使用されたアプリケーションのグループのリストを含み、前記グループは、現在動作しているアプリケーションと強制終了されたアプリケーションとを含む、請求項１に記載の方法。
【請求項３】
前記ユーザからの前記信号はグループの１つを含み、該グループは、タッチセンサ式画面上のジェスチャ、マウスジェスチャ、キーボードジェスチャ、ボイスアクティベーション信号、アイトラッキング信号を含む、請求項１又は請求項２に記載の方法。
【請求項４】
前記の強制終了されたアプリケーションに関連付けられる前記一時的なＵＩ画面は、実行しているときに前記アプリケーションに関連付けられるＵＩ画面より少ないグラフィックのコンテンツを含む画面を含む、請求項１乃至３のうちいずれか１項に記載の方法。
【請求項５】
前記の強制終了されたアプリケーションに関連付けられる前記一時的なＵＩ画面は、実行しているときに前記アプリケーションに関連付けられるＵＩ画面より少ない機能性を含む画面を含む、請求項１乃至４のうちいずれか１項に記載の方法。
【請求項６】
ユーザのためのコンピューティング環境であって、当該コンピューティング環境はさらに、
プロセッサと、
前記プロセッサにより実行可能であるアプリケーションを記憶することができるコンピュータ読取可能メモリと、
入力及び出力コンポーネントと、
前記ユーザからの入力コマンドに応答する複数のアプリケーションと、
前記ユーザにビジュアル情報を提示するグラフィカルユーザインタフェース（ＧＵＩ）と、
前記アプリケーションの実行と他の起こり得る状態との管理のためのオペレーティングシステムと、
を含み、
前記オペレーティングシステムは、さらに、
前記ユーザから入力信号を受け入れて、直近に使用され、かつ現在は強制終了された状態であるアプリケーションに切り替えることができるスイッチャコンポーネントと、
当該コンピューティング環境によって直近に使用されたアプリケーションのリストを含むバックスタックコンポーネントと、
前記バックスタックコンポーネント内の強制終了されたアプリケーションを再起動するコマンドを示す意図的なジェスチャを前記ユーザが与えたところの、前記強制終了されたアプリケーションについて、前記ＧＵＩ上にレンダリング可能な一時的なＵＩ画面を作成することができるスプラッシュ画面コンポーネントであり、さらに、前記一時的なＵＩ画面は、再起動の前に、前記ＧＵＩ上で前記ユーザによって移動されることができる、スプラッシュ画面コンポーネントと、
を含む、コンピューティング環境。
【請求項７】
当該コンピューティング環境は、タッチセンサ式ディスプレイ画面をさらに含み、前記ユーザは、前記タッチセンサ式ディスプレイ画面上に、前記強制終了されたアプリケーションを再起動するコマンドを示すスワイプするジェスチャを与えることができる、請求項６に記載のコンピューティング環境。
【請求項８】
前記スワイプするジェスチャは、タッチするジェスチャをさらに含み、したがって、前記タッチするジェスチャの終了条件が、当該コンピューティング環境に、前記強制終了されたアプリケーションを再起動するコミット信号を示す、請求項７に記載のコンピューティング環境。
【請求項９】
前記一時的なＵＩ画面は、実行しているときに前記アプリケーションに関連付けられるＵＩ画面より少ないグラフィックのコンテンツを含む画面を含む、請求項６乃至８のうちいずれか１項に記載のコンピューティング環境。
【請求項１０】
前記強制終了されたアプリケーションに関連付けられる前記一時的なＵＩ画面は、実行しているときに前記アプリケーションに関連付けられるＵＩ画面より少ない機能性を含む画面を含む、請求項６乃至９のうちいずれか１項に記載のコンピューティング環境。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションが強制終了され、あるいは終了されたコンピューティング環境においてバックスタック及び／又はより一般的にはアプリケーションリスト（「アプリリスト」）上のアプリケーションの維持とアプリケーションの再起動とに作用する、システム及び方法に関する。
【背景技術】
【０００２】
オペレーティングシステム（ＯＳ）は通常、コンピューティングシステムにおいて、ハードウェアリソースの管理とアプリケーションソフトウェアに対する共通サービスの提供とを担当する。オペレーティングシステムは、所与のコンピューティング環境及び／又はプラットフォーム上の実行可能アプリケーションのロード、起動及び実行に作用する。アプリケーションは、その動作の過程において、計画されているか計画されていないかにかかわらず、種々のメカニズム、例えば、ユーザ入力、時限のイベント、デッドロック又は他の方法を通じて、終了され、あるいはその他の方法で強制終了される場合がある。
【０００３】
今日のコンピューティングプラットフォーム及び／又は環境において、多数のアプリケーション（何らかの実行状態にあるもの）がオペレーティングシステムによって追跡され、ユーザは、通常、グラフィカルユーザインタフェース（ＧＵＩ）を介してアプリケーションと対話することができる。ユーザは、キーストローク及び／又は他の意図的な行為を介して、どのような、及びどのアプリケーションがアクティブに動作しているのかを見て、知ることができる。加えて、ユーザは、こうしたキーストローク及び／又は他の意図的な行為を介して、特に、視覚化された、分割された、及び／又はマルチコアのコンピューティング環境において、上記のようなアプリケーションを切り替えることが可能である。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
現代のオペレーティングシステムにおいて、動作していた及び／又は実行していたアプリケーションであって、現在は（ユーザ又はオペレーティングシステムによって）強制終了され、あるいはその他の方法で終了された可能性がある、アプリケーションは、バックスタックにおいてアクセス可能とすること又はユーザが対話できるためのオプションとして提示されることが容易にできない。
【課題を解決するための手段】
【０００５】
下記は、本明細書において説明されるいくつかの態様の基本的な理解を提供するために、発明（innovation）の簡易化された要約を提示するものである。この要約は、請求される対象事項の広範な概観ではない。この要約は、請求される対象事項の重要な又は必須の要素を特定するものでもなく、対象発明の範囲を線引きするものでもない。その唯一の目的は、後に提示される、より詳細な説明の前置きとして、簡易化された形で請求される対象事項のいくつかの概念を提示することである。
【０００６】
本願のいくつかの実施形態は、アプリケーションが強制終了され、あるいは終了されたコンピューティング環境においてバックスタック及び／又はより一般的にはアプリケーションリスト（「アプリリスト」）上のアプリケーションの維持とアプリケーションの再起動とに作用する、システム及び／又は方法を提供する。バックスタックは、コンピューティング環境、又はコンピューティング環境を用いるユーザによって、直近に使用され、あるいはその他の方法で呼び出されたアプリケーションのリストを含む。本願を目的として、用語の「アプリリスト」は、ユーザにとって利用可能なアプリケーションが、最も直近に使用された（ＭＲＵ）などの任意の特定の順序であることが必要とされないとき、用語の「バックスタック」に十分となり得る。
【０００７】
１つの実施形態において、コンピューティング環境は、グラフィカルユーザインタフェース（ＧＵＩ）を含み、ＧＵＩにおいて、ユーザは、強制終了され、あるいはその他の方法で終了されたアプリケーションの再起動を含め、アプリケーションと対話するための意図的なジェスチャに関与することができる。こうした切り替え及び／又は再起動を意図するユーザコマンドに基づいて、コンピューティング環境は、強制終了されたアプリケーションに関連付けられた一時的なＵＩ画面をユーザに提示することができ、強制終了されたアプリケーションを実行するためのコミット信号に基づいて、より完全に機能する画面を提示することができる。
【０００８】
１つの実施形態において、コミット信号及び／又はコマンドは、ユーザによる第２のジェスチャで提示されることができる。ユーザの第１のジェスチャが、現在動作しているアプリケーションを、強制終了されたアプリケーションを用いて「切り替えること」を示し得るとき、上記のようなコミット信号は、第２のジェスチャとして、コンピューティング環境のための追加の制御点を与えることができる。ユーザが、強制終了されたアプリケーションを「再起動」しないことを最終的に決定し得るとき、ユーザからの第２のコミットジェスチャが、強制終了されたアプリケーションを再起動することをコンピューティング環境に示す。
【０００９】
以下で、本願において提示される図面と関連して本明細書が解釈されると、本システムの他の特性及び態様が提示される。
【図面の簡単な説明】
【００１０】
例示的な実施形態が、図面のうち参照されている図において示される。本明細書に開示される実施形態及び図は限定的ではなく例示的と見なされるべきものである。
【図１】現代のユーザが利用可能な様々なコンピューティング環境を表す。
【図２】後のユーザ対話のための、強制終了された及び／又は終了されたアプリケーションのバックスタック上での維持に作用し得る、システム及びそのコンポーネントのブロック図の１つの実施形態である。
【図３】コンピューティング環境における強制終了された及び／又は終了されたアプリケーションの対処及び／又は処理のフローチャートの１つの実施形態である。
【図４】コンピューティング環境における強制終了された及び／又は終了されたアプリケーションの対処及び／又は処理のタイミング／プロセスフローチャートの１つの実施形態である。
【図５Ａ】強制終了され、かつ／あるいはその他の方法で終了されたアプリケーションをバックスタックから再起動することをユーザがどのように経験し得るかを表す一続きのＧＵＩ画面を示す。
【図５Ｂ】強制終了され、かつ／あるいはその他の方法で終了されたアプリケーションをバックスタックから再起動することをユーザがどのように経験し得るかを表す一続きのＧＵＩ画面を示す。
【図５Ｃ】強制終了され、かつ／あるいはその他の方法で終了されたアプリケーションをバックスタックから再起動することをユーザがどのように経験し得るかを表す一続きのＧＵＩ画面を示す。
【図５Ｄ】強制終了され、かつ／あるいはその他の方法で終了されたアプリケーションをバックスタックから再起動することをユーザがどのように経験し得るかを表す一続きのＧＵＩ画面を示す。
【図５Ｅ】強制終了され、かつ／あるいはその他の方法で終了されたアプリケーションをバックスタックから再起動することをユーザがどのように経験し得るかを表す一続きのＧＵＩ画面を示す。
【図５Ｆ】強制終了され、かつ／あるいはその他の方法で終了されたアプリケーションをバックスタックから再起動することをユーザがどのように経験し得るかを表す一続きのＧＵＩ画面を示す。
【図６Ａ】強制終了され、かつ／あるいはその他の方法で終了されたアプリケーションをバックスタックから再起動することをユーザがどのように経験し得るかを表す別の一続きのＧＵＩ画面を示す。
【図６Ｂ】強制終了され、かつ／あるいはその他の方法で終了されたアプリケーションをバックスタックから再起動することをユーザがどのように経験し得るかを表す別の一続きのＧＵＩ画面を示す。
【図６Ｃ】強制終了され、かつ／あるいはその他の方法で終了されたアプリケーションをバックスタックから再起動することをユーザがどのように経験し得るかを表す別の一続きのＧＵＩ画面を示す。
【発明を実施するための形態】
【００１１】
本明細書において、用語の「コンポーネント」「システム」「インタフェース」及び同様のものは、コンピュータ関連のエンティティや、ハードウェア、ソフトウェア（例えば、実行中のもの）及び／又はファームウェアのいずれかを示すものである。例えば、コンポーネントは、プロセッサ上で動作中のプロセス、プロセッサ、オブジェクト、実行可能ファイル、プログラム及び／又はコンピュータとすることができる。例示として、サーバ上で動作しているアプリケーションとサーバとの双方がコンポーネントであってよい。１又は複数のコンポーネントがプロセス内に存在することができ、コンポーネントは、１つのコンピュータ上に位置し、かつ／あるいは複数のコンピュータ間で分散されることができる。
【００１２】
請求される対象事項は、図面を参照して説明され、図面において全体を通じて、同様の参照番号を用いて同様の要素を示す。下記の説明において、解説の目的で、本対象発明の完全な理解を与えるために、多数の特定の詳細が説明される。しかしながら、請求される対象事項は、こうした特定の詳細なしに実施することができることが、明らかであろう。他の例において、周知の構造及び装置は、本対象発明の説明を容易にするために、ブロック図形式で示されている。
【００１３】
導入
コンピューティング環境の通常の操作の過程で、典型的なユーザ（又は複数ユーザ）は、いつでも、いくつかのアプリケーション（別法として、１又は複数の「アプリ」とも呼ばれる）を動作中及び／又は実行中とし得る。これらのアプリケーションは、ユーザインタフェース（ＵＩ）、及びより一般的にはＧＵＩを介して、制御され、かつ／あるいは制御可能とすることができる。アプリケーションは、一式のアイコン、タイル又は同様のもので、ユーザに対して表現可能とすることができる。加えて、こうしたアプリケーションとその表現とは、複数の入力／出力装置又は機構、例えば、タッチスクリーンインタフェース、マウス、キーボード、ボイスアクティベーション、アイトラッキング、及び／又は当分野において知られる任意の他の手段又は機構を介して、制御され、かつ／あるいは制御可能とすることができる。コンピューティング環境は、通常、コンピューティング環境のオペレーティングシステムにおいて、こうしたアプリケーションの実行と状態とを管理する。
【００１４】
図１は、典型的なコンピューティング環境を示す。ユーザ１０２は、グループ１０４に表されるものなどの、複数のコンピューティングプラットフォームと対話する（interact）ことができる。こうしたコンピューティングプラットフォームには、ＰＣ、ラップトップ、スマートデバイス、スマートフォン、端末、又は種々のコンピューティングコンポーネントと通信することができる任意の他の既知の物理的な装置を含むことができる。上記装置の各々は、複数のソフトウェア及び／又はファームウェアレイヤ１０６を介して、直接的又は間接的に制御することができる。上記のようなレイヤはさらに、ＵＩ若しくはＧＵＩ１０８及び／又はオペレーティングシステム１１０を含むことができる。アプリケーションは、ユーザによって直接的又は間接的に制御されるか又は制御可能であるかにかかわらず、通常はオペレーティングシステムによって管理される。
【００１５】
こうしたアプリケーションは、「フォアグラウンド」において（すなわち、ユーザが容易に気付き、同期的に及び／又はリアルタイムで動作することができる）、あるいは「バックグラウンド」において（すなわち、ユーザが容易に又は明らかに気付くものではなく、非同期的に及び／又は非リアルタイムで動作することができる）、動作することができる。これらアプリケーションは、それら自体は、動作しているか、又は何らかの実行状態（例えば、ユーザにより起動中、ロード中、実行中、一時中断された、終了中、終了された、又は同様のもの）にあるが、一式のキーストローク及び／又は任意の他の意図的な行為（例えば、タッチセンサ式画面上の複数のタッチ）を介して、いつでもユーザから分かり、かつ／あるいはアクセス可能とすることができる。
【００１６】
上記のようなアプリケーションのこうした列挙及び／又は表示は、「バックスタック」として知られる、オペレーティングシステムにより使用されるデータ構造に、記憶し、又はその他の方法で維持することができる。ユーザがバックスタックとどのように対話することができるのかの単なる一例として、マイクロソフトウィンドウズ（登録商標）オペレーティングシステム（バージョン７、又は他の以前のバージョン）におけるＡＬＴ‐ＴＡＢ又はＷＩＮＤＯＷＳ(登録商標)‐ＴＡＢのキーストロークが、通常、ユーザが対話したい可能性があるアクティブなアプリケーションのすべての表現につき、ユーザに対して画面上にビジュアル表示を、しばしば、最も直近に使用された（ＭＲＵ）順序で、作成する。
【００１７】
現代のオペレーティングシステムにおいて、動作していた及び／又は実行していたアプリケーションであって、現在は（ユーザ又はオペレーティングシステムによって）強制終了され、あるいはその他の方法で終了された可能性がある、アプリケーションは、バックスタックにおいてアクセス可能とすること又はユーザが対話できるためのオプションとして提示されることが容易にできない。
【００１８】
本願を目的として、用語の「強制終了される（killed）」及び「終了される」は、アプリケーションの状態として互換的に用いることができる。双方の用語は、そのライフタイムの終了に達したアプリケーションを示す。通常、このことは、アプリケーションがもはやＣＰＵ時間を受け取るようにスケジュールされることができないことを意味する。一般に、この状態に達する少なくとも２つの経路があり得る。第１に、アプリケーションは、例えば、実行可能ファイルがその「メイン」関数から戻ったとき、アプリケーションの最後の命令を返す可能性がある（すなわち、実行すべき後続のコードが存在しないところの停止状態に達する）。第２の方法は、ＯＳがアプリケーションを「強制終了する」ことである。これは、通常、プロセス自体の外部にある何か、例えば、ユーザコマンド終了、予期せぬアプリケーションクラッシュ若しくは終了、又は同様のものによって、引き起こされる可能性がある。
【００１９】
次に、強制終了され、かつ／あるいはその他の方法で終了されており、ユーザが対話する可能性があるアプリケーションを維持するシステム及び方法のいくつかの実施形態を説明していく。いくつかの実施形態において、コンポーネントが上記のような維持のために説明され、さらに、こうしたアプリケーションの表現が、対話（interaction）のため、例えば、上記のようなアプリケーションを再起動するため、ＧＵＩを介してユーザに提示されることができる。
【００２０】
強制終了されたアプリケーション
バックスタックは、ユーザに、一貫性のある、迅速な切り替えメカニズムを提供する。強制終了されたアプリケーションをバックスタック内で扱うための追加のコンポーネント又はメカニズムを追加することは、望ましくは、この全体的なユーザエクスペリエンスを損なうべきではない。
【００２１】
アプリケーションは、バックスタックにいる間に、様々な理由で終了され、あるいは強制終了される可能性がある。例えば、正常終了が生じる可能性があり、例えば、コンピューティングプラットフォーム上のメモリが少ない状態が、直近に使用されたアプリを終了する可能性がある。さらに、アプリケーションは、例えば、画面上で、バックスタック内で、又はアプリケーションを切り替えている間に、クラッシュ又はハングする可能性がある。
【００２２】
さらに、ユーザアカウントを切り替えることで、一時中断されたアプリを終了してメモリを解放することができる。ユーザアカウントが切り替わるとき、システムは、アプリを一時停止し、次いで終了して（又は、単にバックスタック内のアプリを終了して）、新しいアクティブユーザのためにメモリを解放することができる。ユーザが元のユーザセッションに切り替えて戻るとき、通常、元のユーザがそのバックスタック内に有していたアプリのすべてが、なくなっていることになる。
【００２３】
アプリケーションが強制終了されることになる他の理由には、（１）アプリが不十分な状態にあるため、切り替え時に終了したいアプリであること、（２）特別なプライバシーのため、切り替え時に終了したいアプリであること（例えば、バンキングアプリケーション又は同様のもの）、（３）ロケール変更、又はランタイム環境の他の変更であって、上記変更を設定するためにアプリケーションを強制終了することを必要とし得るもの、を含む。
【００２４】
強制終了されたアプリケーションを扱い、かつ／あるいは管理するための堅牢なシステムを設計することにおいて、アプリケーションがユーザから視認可能である間に強制終了された場合、強制終了された及び／又はクラッシュしたアプリケーションは、バックスタック内ですぐ次のアプリになることが、望ましい場合がある。加えて、アプリケーションをバックスタック内にある間に強制終了することは、バックスタック又はその内容を破壊し、又はその他の方法で破損するものではないことに関して、率直でなければならない。
【００２５】
ユーザエクスペリエンス例
次に、本願に従って作られたシステムのいくつかの実施形態が強制終了されたアプリケーションをバックスタック内でどのように扱うことができるのかを説明していく。第１の例として、ユーザは、スタートに行って、何らかの好きなアプリ、例えば、天気、ＩＥ及び株価などを起動することができる。いったんユーザがこれらアプリを起動すると、スタートに戻ってこれらアプリを切り替えるのではなく、ユーザは、バックスタックを用いて迅速にこれらアプリに戻ることができる。時に、ユーザは、自身の直近に使用されたアプリのうち１つについて、それが準備できていないことを示すような「一時的な」ＵＩ（すなわち、間に合わせのスプラッシュ画面、又は部分的なスプラッシュ画面）を目にする可能性がある。しかしながら、ユーザがこの一時的なＵＩを画面上に出したままとするとき、アプリケーションは、迅速に起動し、以前にユーザが置いていた場所に戻る。
【００２６】
別の例において、ユーザは、アプリケーションの画面上のクラッシュを経験する可能性がある。例えば、本願の１つの実施形態において、ユーザが時事ニュースを読んでいる、すなわち、おそらくユーザは新聞アプリを読んでいると仮定する。ユーザは、読む新聞記事を選択することができ、このことがアプリをクラッシュさせるおそれがあり、したがって、ユーザに壁紙画面を提示することになる。ユーザは、アプリがクラッシュしていることを素早く悟り、タッチセンサ式画面の左端からスワイプすること（又は、他の意図的なジェスチャ）ができ、このスワイプが新聞のアプリを戻し、該アプリを起動する。したがって、本実施形態において、ユーザは、クラッシュしたアプリを復帰させるためにランチャ画面に戻ることを要求されない。代わって、本願実施形態は、ユーザがクラッシュしたアプリを単一のジェスチャで復帰させることを可能にすることができる。
【００２７】
終了されたアプリの操作及び配置
本システムの１つの実施形態において、強制終了された及び／又は終了されたアプリケーションは、動作中のアプリケーションがなされ得るのと同様に、ユーザによって操作され、かつ／あるいは配置されることができる。これに関し、強制終了された及び／又は終了されたアプリケーションは、（１）「切り替えられる」、（２）「スナップされる」、（３）「破棄される」、及び／又は（４）「取り除かれる」（pruned）などの種々のユーザコマンドに応答することができる。他のユーザコマンドがあり得、こうした他の又は別のコマンドは本願の範囲内として考えられることを、十分理解されたい。
【００２８】
解説を目的として、ユーザは、アプリケーションを「切り替える」ことができる。すなわち、フォアグラウンド内で動作しており、かつＵＩを介してユーザに提示されている１つのアプリケーションが、別のアプリケーションによって、フォアグラウンド内で置換され、かつＵＩを介してユーザに提示されることができる。ユーザは、アプリケーションを「スナップ」することができ、したがって、ここで「スナップされた」アプリケーションは、フォアグラウンドとユーザに対する提示とを、別のアプリケーションと共有する。ユーザは、アプリケーションを「破棄する」ことができ、したがって、「破棄された」アプリケーションはもはやＵＩを介してユーザに提示されることはできず、しかしながら廃棄されたアプリケーションは、（終了されない限り）まだ実行中であり、バックスタックに維持されることができる。ユーザは、アプリケーションを「取り除く」ことができ、したがって、「取り除かれた」アプリケーションは終了される。取り除かれたアプリケーションが動作している場合、取り除きは、アプリケーションを終了させ、バックスタックから除去させることになる。取り除かれたアプリケーションがすでに強制終了されている場合、取り除きは、アプリケーションをバックスタックから除去させることになる。
【００２９】
これらユーザコマンドの各々は、例えば、タッチセンサ式ディスプレイ画面上で行われるジェスチャを介することを含めて、任意の既知の方法でコンピューティング環境に送ることができる。例えば、切り替える及び／又はスナップするコマンドは、例えば画面の左端又は右端からの、スワイプするジェスチャで達成することができる。破棄するコマンドは、アプリケーションを表しているＵＩの一部分をタッチすることと、アプリケーションをバックスタックに戻すように「放ること」とによって、達成することができる。取り除くコマンドは、アプリケーションを提示しているＵＩの一部分にタッチすることと、アプリケーションを画面の底部などの場所に「放ること」とによって、達成することができる。他のジェスチャが当然ながらあり得、適切なジェスチャが、ユーザに知られており、かつ適当なユーザエクスペリエンスのために一貫性を有していれば、十分である。
【００３０】
他の実施形態において、本願に従ってなされるシステムは、強制終了されるアプリケーションに関して下記の特徴を有することができる。（１）アプリがバックスタックにある間に終了された場合、アプリはバックスタックに残ることになる（１つの実施形態において、アプリが動作していたときと同一の、バックスタック内の位置になる）；（２）強制終了されたアプリは、一時的なビジュアルを含むスプラッシュ画面を用いて表すことができる；（３）強制終了されたアプリは、任意の他のアプリのように（実行中であるか、又は任意の他の適切な状態かにかかわらず）、切り替え、スナップし、破棄し、かつ／あるいは取り除くことができる（あるいは、任意の他のあり得るユーザコマンドを、例えばＵＩを介して、アプリケーションに与えることができる）；（４）強制終了されたアプリは、所与のイベントに対して、例えば、切り替えタイムアウトが生じたとき、アクティブ化することができる。各例において、コンピューティング環境は、強制終了されたアプリの一時的な表現を提示することが可能であり、したがって、この一時的な表現が、実行中のアプリケーションのように操作され、配置されることができる。こうした例において、一時的な表現は、強制終了されたアプリが再起動される前に、例えば、アプリウィンドウとして、デスクトップ上に（又は他の場所に）位置付けることができる。
【００３１】
さらに他の実施形態において、本願に従ってなされるシステムは、クラッシュ又はハングのいずれかをなすアプリケーションに関して下記の特徴を有することができる。（１）画面上のアプリがクラッシュした場合、ユーザは、所望のバックグラウンドに移行されることができ、クラッシュしたアプリは、バックスタック内ですぐ次のものとなり、そのスプラッシュ画面とともに表されることになる；（２）バックスタックを介してアプリを切り替えて戻している間にそのアプリがクラッシュ又はハングした場合、ユーザは、所望のバックグラウンドに移行されることができ、ハングした／クラッシュしたアプリはバックスタック内ですぐ次のものとなる。
【００３２】
さらに他の実施形態において、本願に従ってなされるシステムは、アプリケーションの画面上の表現に関して下記の特徴を有することができる。（１）バックスタック内にいる間に、強制終了され、あるいは終了されたアプリをユーザが切り替えるとき、このアプリは、該アプリが画面上にもたらされるときに作成される一時的なビジュアルを用いて表されることになる；（２）強制終了されたアプリケーションが画面上でアクティブ化される場合、スプラッシュ画面の一時的なビジュアルが引き継がれ、したがって、遷移がスムーズに生じる；（３）ユーザが、強制終了されたアプリから他へ切り替える場合、スプラッシュ画面の一時的なビジュアルは破壊することができる。
【００３３】
いくつかの実施形態とその態様及び特徴のうちいくらかとを説明してきたが、次に、いくつかの他の実施形態を開示する。図２は、強制終了され、かつ／あるいはその他の方法で終了されたアプリケーションを、ユーザに対する提示と後続の再起動及び実行とのため維持する能力があるコンポーネントを含むシステム（２００）の一部分を表す。システム２００は、複数の入力コマンド、例えば、タッチスワイプ、マウスクリック、キーボードストローク又は同様のものを入力として受け入れるスイッチャコンポーネント２０２を含む。ユーザコマンドは、複数の状態、例えば、実行している、強制終了された、終了された、又は同様のものといった状態にあるアプリケーションのリストを見るように作ることができる。このリストには、バックスタックコンポーネント２０４によって提示される任意の適切なデータ構造（アプリリスト）を含むことができる。
【００３４】
スイッチャコンポーネント２０２は、切り替えセッションのライフタイムを管理する。セッションが始まるとき、スイッチャ２０２は、現在のバックスタックのスナップショットを作成することができる。追加の切り替えが、このスタックをさらに通じてユーザを移動させ、このセッションを延ばすことができる。セッションは、ユーザがアプリと対話したとき、又は切り替えにおける短いタイムアウトの後に、終了する。スイッチャコンポーネント２０２は、アプリケーションのアクティブ化と起動との管理に役立つアプリマネージャ２０６及びアクティブ化マネージャ２０８とやりとりする。
【００３５】
非動作アプリケーションへの切り替えを支援するために、スイッチャは、現在動作していないアプリケーションについてのスプラッシュ画面を予め作成することができる。このウィンドウは、特に、強制終了されたアプリケーションについて、現在実行しているウィンドウ及び／又はＵＩ画面がまったく存在しない場合、アプリビジュアル２１０及びスプラッシュ画面２１２によって作成することができる。ユーザが非動作中アプリへの切り替えをコミットしたとき、スイッチャは、このウィンドウをウィンドウアクティブ化コンテキストに引き継ぐ。アプリが再起動されたとき、アクティブ化コードは、新しいスプラッシュ画面を作成することに代わって、既存のウィンドウを再利用することができる。切り替えモードの終了において、ユーザが一時的なビジュアルに関連付けられたアプリを起動しなかった場合、スイッチャは上記ウィンドウを破棄することになる。
【００３６】
切り替えている間、本システムは、切り替えに作用する２つのコントロール、すなわち、アプリビジュアルとドロップフィードバックとを作成することができる。１つの実施形態において、ドロップフィードバックコントロールの１つのインスタンスだけが、スイッチャによって１回に使用されることができる。加えて、スイッチャによって作成されるアプリビジュアルのインスタンスは３つ以上存在しなくてよく、大抵１回に１つだけ存在する。
【００３７】
図３は、上記で説明されたとおりのＧＵＩ及びオペレーティングシステムを有するシステムの１つの実施形態についての、１つのハイレベルのフローチャートを表す。本システムは、３００において始まり、３０２において、意図的なユーザ行為、例えば、タッチセンサ式画面の端からのドラッグによって、アプリケーションの始動を可能にすることができる。本システムは、３０４において、バックスタックからアプリケーションを取得しようと試み、３０６において、アプリケーションが現在動作しているのかどうかを検出するものである。そうでない場合、次いで、本システムは、３０８において、アプリケーションのためのスプラッシュ画面を作成することができる。そして、３１０において、いずれにせよ（すなわち、アプリケーションが動作していたか否かにかかわらず）、本システムは、アプリケーションのためのサムネイルを取得することができる。
【００３８】
３１２において、本システムは、ユーザの入力の有無にかかわらず、サムネイルを位置付けることができる。加えて、３１４において、本システムは、例えば、アプリケーションのＵＩ画面が画面上でどこに存在することができるのかに関して、入力データを取得することができる。ステップ３１６において、本システムは、アプリケーションがドラッグされているのかどうかを問い合わせ、又はその他の方法で監視することができ、もしそうである場合、本システムは、ステップ３１２から繰り返すことができる。
【００３９】
いったんアプリケーションがドラッグされている状態ではなくなると、３１８において、本システムは、フォアグラウンドＵＩ及び／又は処理を上記アプリケーションに切り替えることができる。ステップ３２０において、本システムは、切り替える入力又はコミットを待機することができる。１つの実施形態において、「コミット」コマンド及び／又は信号は、ユーザが切り替えを終えたかどうかの決定を示す。例えば、これは、ユーザが現在のアプリと対話することを意図しているという強い自信をシステムが持つポイントとすることができる。現在のアプリがスプラッシュ画面によって表される場合、これは、アプリが再起動されることになるときである。
【００４０】
他の実施形態が、コミットのための種々のトリガを選択することができる。例えば、コミットは、（１）スプラッシュ画面が画面上に配置されると同時に、（２）任意のタイムアウト時に、（３）一時的なビジュアルとの対話のときに、又は（４）コミットすることに関連付けられた任意のユーザ入力に基づいて、適用することができる。他の実装例が、トリガの組み合わせ、又は他の上記のような適切なトリガを使用することができることを、十分理解されたい。「コミット」に関連付けられているトリガ又はコマンドがどのようなものであれ、コンピューティング環境は、ユーザ意図が明確になるまで起動を遅延すべきものであれば、十分となる。起動することがＣＰＵ及びディスク使用において高価になる可能性があるとき、不必要な起動を回避することが望ましい場合がある。３２２においてコミットがない場合、本システムはステップ３０４に続くことになる。しかしながら、ステップ３２２においてコミットがある場合、３２４において、本システムは、アプリケーションが動作しているかどうかに関して確認することができる。そうである場合、３２８において、本システムは完了する。そうでない場合、３２６において、本システムは、アプリケーションを起動し、一時的なＵＩを、アプリケーションの通常の機能的なスプラッシュ画面で置換することになる。
【００４１】
図４は、スイッチャコンポーネント、スプラッシュ画面コンポーネント及びアクティブ化マネージャコンポーネントにおける処理のフローを表す、１つのハイレベルのタイミング図を表す。図示されるとおり、アプリケーションのドラッグを検出すると、スイッチャコンポーネントは、必要に応じて（特に、アプリケーションが現在実行中でない場合）、一時的なＵＩを作成するようにスプラッシュ画面コンポーネントに信号を送信することができる。加えて、スイッチャコンポーネントは、位置とＵＩ画面の表示とについての信号を、スプラッシュ画面コンポーネントに送信することができる。
【００４２】
スイッチャコンポーネントがコミット信号を検出した場合、スイッチャコンポーネントは、再起動アプリケーション信号を、アクティブ化マネージャコンポーネントに送信することができ、応答として、アクティブ化マネージャコンポーネントは、スワップ信号を、スプラッシュ画面コンポーネントに送信することができる。スワップ信号は、一時的なビジュアルの配置が実際のアプリケーションで置換されることに作用することができる。いったんアプリケーションが自身を表すことが可能になると、一時的なビジュアルは必要とされず、この一時的なビジュアルを破壊してリソースを解放することができる。
【００４３】
別法として、スイッチャコンポーネントがドラッグキャンセル信号を検出した場合、スイッチャコンポーネントは、スプラッシュ画面コンポーネントに、クリーンアップ信号を送信することができる。このケースにおいて、ユーザが一時的なビジュアルに切り替えないことを選択した場合、一時的なビジュアルはもはや必要とされず、そのリソースは解放することができる。
【００４４】
ユーザインタフェース例
図５Ａ乃至５Ｆは、強制終了され、かつ／あるいはその他の方法で終了されたアプリケーションをバックスタックから再起動することをユーザがどのように経験し得るかを表す一続きのＧＵＩ画面を示す。ユーザは、いくつかのコンピューティング環境の中でアプリケーションを動作させており、第１のアプリケーション５０２（例えば、図５Ａに表されているシャッターウェブ（Shutter  Web）とその関連するＵＩ）を動作させていると仮定する。さらに、コンピューティング環境には、アクティブなタッチセンサ式画面及びＧＵＩを（例えば、図示されるとおり、動作中アプリケーション＃１のためのタッチセンサ式コマンド５１６とともに）含むことを仮定し、ユーザは、タッチセンサ式画面の左端からスワイプするモーション又はジェスチャとして図５Ｂに表されるような、意図的なジェスチャによって、バックスタックが提供する強制終了されたアプリケーションにアクセスしようと試みることができる。
【００４５】
一時的なＵＩ画面（強制終了されたアプリケーションを表す）が５０４において視認可能となり、ユーザの指はポイント５０６に保持されている。ユーザは、保持された指を介して、一時的なＵＩ画面を、画面上の新しい場所に移動させることができる（例えば、図５Ｂに表されるとおり、右に移動させる）。さらに、こうしたタッチするジェスチャは、ＵＩ画面に対してなされ（又は、その他の方法で関連付けられ）、ユーザからコンピューティング環境へ、ユーザがアプリケーションの実行開始を希望するというコミット信号を伝えることができる。いくつかの実施形態において、タッチするジェスチャの終了位置は、実行を開始するか（例えば、タッチセンサ式ディスプレイ画面内の何らかの中間点で、保持されたユーザの指が減速し、かつ／あるいは停止する場合）、あるいは実行を開始しないか（例えば、ユーザの指が十分に減速せず、かつ／あるいはユーザがスワイプするジェスチャを続けて仮想の「速度」をＵＩ画面に知らせて、タッチセンサ式ディスプレイ画面の表面を去る場合）のいずれかをなすようにコンピューティング環境に信号を知らせることができる。
【００４６】
他の実施形態において、「ビジュアルをドロップする」という方法を、ユーザ意図に関連付けることができる。例えば、ビジュアルがドロップされるところの画面の種々の領域は、種々のふるまいに関連付けることができる。いくつかの実施形態において、端の近くにビジュアルをドロップすることは、アプリが画面上にもたらされるべきでないことを示すことができる。他の場所にドロップすることは、アプリが画面上にもたらされるべきであることを示すことができる。ドロップのおおよその場所は、画面のどの場所をアプリが占有すべきかを決定することができる。
【００４７】
１つの実施形態において、一時的なＵＩ画面は、強制終了されたアプリケーションが何であるのかのいくらかのしるし、例えば、「天気」（又は、任意の他の適切なアプリ＃２）のような一時的な（及び、おそらく形だけの）アイコン５０８を含むことができる。一時的なＵＩ画面及び／又はアイコンは、ＵＩ画面が実行され、あるいはその他の方法で機能しているときにアプリケーションに通常関連付けられているＵＩ画面より少ないグラフィックの情報及び／又は機能性を有する画面とすることができる。オペレーティングシステムは、ユーザが一時的なＵＩ画面をドラッグする距離及び／又は場所によって、強制終了されたアプリケーションの提示を、別様に（それがユーザに見えるとおりに）処理することができる。図５Ｄに見られるとおり、ユーザは、一時的なＵＩ画面を特定の位置にドラッグしている（例えば、全画面の中央部分を過ぎた５１０）。このことは、間もなく再起動されるものである強制終了されたアプリケーションが全画面を消費することになるとユーザが意図していることを、オペレーティングシステムとの双方に示すことができる。
【００４８】
図５Ｅは、この例において、一時的なＵＩ画面５１２が全画面領域を消費しているとおり、再起動している強制終了されたアプリケーションが全画面を占有するものであることを表している。図５Ｆにおいて、オペレーティングシステムは、ここで、完全に機能している通常のＵＩ画面５１４で表されるとおり、天気アプリケーション（又は、任意の他の適切なアプリ＃２）を成功裏に起動しており、現在実行している。
【００４９】
図６Ａ乃至６Ｃは、強制終了され、かつ／あるいはその他の方法で終了されたアプリケーションをバックスタックから再起動することをユーザがどのように経験し得るかを表す、別の一続きのＧＵＩ画面を示す。図６Ａは、再びになるが、画面の一部分で現在実行している１つのアプリケーション６０２を有するユーザの画面を示している。画面の左手部分に、実行し、かつＵＩ画面をユーザに提示するための、別のアプリケーション向けの領域が存在している。保持されたユーザの指が円形要素で表され、強制終了されたアプリケーション６０４（及び、その関連する一時的なＵＩ）は、上記左手部分の範囲内で、図６Ｂの場所６０６にドラッグされている。図６Ｃは、システムが、強制終了されたアプリケーションを再起動しており、６０８において画面の上記部分と機能しているアプリケーションの完全なＵＩ画面との範囲内で現在実行していることを、表している。
【００５０】
３つ以上のアプリがいつでも画面上に出現することができることを他の実施形態が許容し得ることを、十分理解されたい。こうした他の実施形態は、画面上にアプリをレイアウトするための他のルールを選択することができる。例えば、これら実施形態は、重ね合わせられたウィンドウを含んでも含まなくてもよく、あるいは表示されるアプリの数又はこうしたアプリのサイズについて制限する。位置付けるルールが、アプリを起動する前にこのアプリを位置付ける何らかの方法に作用すれば、本願の目的に対して十分である。
【００５１】
上記で説明されたことには、本対象発明の例を含む。当然ながら、請求される対象事項を説明する目的でコンポーネント又は方法論のあらゆる考えられる組み合わせを説明することは不可能であり、しかしながら、本対象発明の多くのさらなる組み合わせ及び置換があり得ることが当業者には理解されよう。したがって、請求される対象事項は、添付された請求項の主旨及び範囲に入るすべてのこうした調整、変更、変形を包含するものである。
【００５２】
特に、上記で説明されたコンポーネント、装置、回路、システム及び同様のものにより実行される種々の機能について、こうしたコンポーネントを説明するために使用される用語（「手段」への参照を含む）は、特に指定のない限り、本願において解説された請求される対象事項の例示的な態様内の機能を実行する開示された構造とは構造的に同等でないとしても、説明されたコンポーネントの指定された機能を実行する（例えば、機能的に均等な）任意のコンポーネントに対応するものである。これに関し、本発明には、請求される対象事項の種々の方法の動作及び／又はイベントを実行するためのシステムとコンピュータ実行可能命令を有するコンピュータ読取可能媒体とを含むことを、さらに認識されたい。
【００５３】
加えて、本対象発明の特定の特性が、単にいくつかの実装例のうちの１つに関して開示されているが、こうした特性は、任意の所与又は特定の応用のために所望され得、有利であり得るとおり、他の実装例の１つ以上の他の特性と組み合わせることができる。さらに、用語の「含む」及び「含んでいる」並びにそれらの変形が本明細書又は特許請求の範囲のいずれかで使用される限りでは、これらの用語は「備える」という用語と同様の方法で包括的であるものとする。
【図２】
2015507805.tif 000003
【図３】
2015507805.tif 000004
【図４】
2015507805.tif 000005
【図５Ａ】
2015507805.tif 000006
【図５Ｂ】
2015507805.tif 000007
【図５Ｃ】
2015507805.tif 000008
【図５Ｄ】
2015507805.tif 000009
【図５Ｅ】
2015507805.tif 000010
【図５Ｆ】
2015507805.tif 000011
【図６Ａ】
2015507805.tif 000012
【図６Ｂ】
2015507805.tif 000013
【図６Ｃ】
2015507805.tif 000014
【図１】
2015507805.tif 000015
【国際調査報告】
2015507805.tif 000016
2015507805.tif 000017
2015507805.tif 000018
2015507805.tif 000019
2015507805.tif 000020
2015507805.tif 000021
2015507805.tif 000022