(57)【要約】オペレーティング・システムがすべてのアプリケーションに対して１つだけのタスクを実行するように、アプリケーション切り替えフレームワークの制御下、デバイス上で複数のアプリケーションを同時に立ち上げるための方法およびシステムが、提供される。シングル・タスクが、オペレーティング・システムの制御下で実行される。アプリケーション・マネージャが、タスク内で実行される。１つまたは複数アプリケーションが、アプリケーション・マネージャの制御下、タスク内で立ち上げられる。アプリケーションの１つが、ユーザの制御下、立ち上げられたアプリケーション間を切り替えることによって現在のアプリケーションにされる。アプリケーション記述子のリストが、すべての立ち上げられたアプリケーションに対して管理され、切り替え時、１つのアプリケーションのアプリケーション記述子が、そのアプリケーションをユーザに対して画面上で表示するために使用される。各々のアプリケーション記述子は、立ち上げられたアプリケーションのフォームを含有する。アプリケーション記述子の各々は、１つのルートまたは親フォームを有する複数のフォームのツリーを含有する。フォームは、ユーザに表示される画像である。画像は、テキスト、図、ビットマップ、またはメニューからなる。
2010517161.tif 000002
【特許請求の範囲】
【請求項１】
デバイス上で複数のアプリケーションを立ち上げるための方法であって、
オペレーティング・システムの制御下でタスクを実行するステップと、
前記タスク内でアプリケーション・マネージャを実行するステップと、
前記アプリケーション・マネージャの制御下、前記タスク内で１つまたは複数のアプリケーションを立ち上げるステップと、
前記アプリケーションの１つを現在のアプリケーションにするために、ユーザ制御下で前記アプリケーション間を切り替えるステップとを含む方法。
【請求項２】
前記アプリケーションに関連するアプリケーション記述子のリストを管理するステップをさらに含み、
ユーザ制御下で前記アプリケーション間を切り替えるステップが、１つの前記アプリケーションの前記アプリケーション記述子に基づいて表示を生成するステップを含む、請求項１に記載の方法。
【請求項３】
各々のアプリケーション記述子が、立ち上げられたアプリケーションのフォームを含有する、請求項２に記載の方法。
【請求項４】
前記アプリケーション記述子の各々が、１つのルートまたは親フォームを有する複数のフォームのツリーである、請求項３に記載の方法。
【請求項５】
フォームが、前記ユーザに表示される画像である、請求項４に記載の方法。
【請求項６】
前記画像が、テキスト、図、ビットマップ、またはメニューからなる、請求項５に記載の方法。
【請求項７】
前記携帯デバイスの電源が入れられたとき、すべての前記アプリケーションが、初期化されるが立ち上げられない、請求項１に記載の方法。
【請求項８】
前記アプリケーションの１つに対する制御をユーザに与えるステップをさらに含む、請求項１に記載の方法。
【請求項９】
デバイス上で複数のアプリケーションを立ち上げるためのシステムであって、
オペレーティング・システムの制御下でタスクを実行するための手段と、
前記タスク内でアプリケーション・マネージャを実行するための手段と、
前記アプリケーション・マネージャの制御下、前記タスク内でアプリケーションの１つまたは複数を立ち上げるための手段と、
前記アプリケーションの１つを現在のアプリケーションにするために、ユーザ制御下で前記アプリケーション間を切り替えるための手段とを備えるシステム。
【請求項１０】
前記アプリケーションに関連するアプリケーション記述子のリストを管理するための手段をさらに備え、
ユーザ制御下で前記アプリケーション間を切り替える前記手段が、１つの前記アプリケーションの前記アプリケーション記述子をユーザに対して画面上で示すための手段を備える、請求項９に記載のシステム。
【請求項１１】
各々のアプリケーション記述子が、前記立ち上げられたアプリケーションのフォームを含有する、請求項９に記載のシステム。
【請求項１２】
前記アプリケーション記述子の各々が、１つのルートまたは親フォームを有する複数のフォームのツリーである、請求項１１に記載のシステム。
【請求項１３】
フォームが、前記ユーザに表示される画像である、請求項１２に記載のシステム。
【請求項１４】
前記画像が、テキスト、図、ビットマップ、またはメニューからなる、請求項１３に記載のシステム。
【請求項１５】
前記携帯デバイスの電源が入れられたとき、すべての前記アプリケーションが、初期化されるが立ち上げられない、請求項９に記載のシステム。
【請求項１６】
前記アプリケーションの１つに対する制御をユーザに与える手段をさらに備える、請求項９に記載のシステム。
【請求項１７】
携帯デバイスであって、
オペレーティング・システムと、
前記オペレーティング・システムの制御下で実行するように構成されたタスクと、
前記タスク内で実行するように構成されたアプリケーション・マネージャと、
前記アプリケーション・マネージャの制御下、前記タスク内で立ち上がるように構成された１つまたは複数のアプリケーションと、
前記アプリケーションの１つを現在のアプリケーションにするためのユーザ制御とを備える携帯デバイス。
【請求項１８】
ディスプレイと、
前記アプリケーションに関連するアプリケーション記述子とをさらに備え、前記ディスプレイが、１つの前記アプリケーションの前記アプリケーション記述子をユーザに対して前記ディスプレイ上で示すように構成される、請求項１７に記載の携帯デバイス。
【請求項１９】
前記アプリケーション記述子を備えるフォームをさらに備える、請求項１８に記載の携帯デバイス。
【請求項２０】
前記アプリケーション記述子の各々が、１つのルートまたは親フォームを有する複数のフォームのツリーである、請求項１９に記載の携帯デバイス。
【請求項２１】
フォームが、前記ディスプレイ上で前記ユーザに表示される画像である、請求項１９に記載の携帯デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯デバイスのためのアプリケーション切り替え方法に関し、より詳細には、マルチタスク処理能力を有さない携帯デバイスのためのアプリケーション切り替え装置に関する。
【背景技術】
【０００２】
携帯電話、ＰＤＡなどの携帯情報デバイスにおける技術の進歩により、これらのデバイスは、ゲーム、デジタル写真、音声再生、ならびにインターネット接続および多くの他の機能などの通信など、数多くの機能を実行することが可能になっている。したがって、携帯デバイスは、多機能なデバイスになってきており、多くの用途を有している。
【０００３】
それ故、ユーザは、複数のアプリケーションを同時に使用することを望むことがある。以前より、複数のアプリケーションを同時に立ち上げるために、マルチタスク処理オペレーティング・システムが使用されてきており、ここでは、すべてのアプリケーションが別個のタスクとして管理されている。したがって、ユーザが異なるアプリケーションに切り替えることを望んだとき、他のアプリケーションを表示することが、事実上、タスク・スイッチとなる。
【０００４】
この方法に関する問題は、各々のアプリケーションがタスクとして定義されているので、数多くのオーバーヘッドが必要とされていたことである。アプリケーションの開発および保守は、処理環境に関する詳細な知識を必要としていたため煩雑なものになり、そのために開発コストが増大していた。また、より複雑なオペレーティング・システムが必要とされていたため、実行時コストもさらに膨らんでいた。そのため、ユーザ・インターフェースが煩雑になり、オペレーティング・システムの初期化およびシャットダウンに時間がかかるためにデバイスの起動およびシャットダウン時間がより長くなり、より多くのバッテリが消費されるようになっている。また、製造コストもより高くなり、メモリ内におけるタスクの管理が多くなることにより大きなメモリが必要とされ、シンビアン（Ｓｙｍｂｉａｎ）などのより複雑なオペレーティング・システムがより高いライセンスコストを伴い、より多くのＭＩＰＳ（１００万命令／秒）が必要になっていた。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
したがって、多くのアプリケーションを同時に立ち上げ、複数のアプリケーションをランニングコストおよび開発コストを低く抑えるシングル・タスク内で立ち上げることを可能にしながらも、ユーザがデバイス上で複数のアプリケーション間の切り替えを行うことを可能にする能力をユーザに提供する、アプリケーションの切り替えのためのフレームワークが必要とされている。
【課題を解決するための手段】
【０００６】
本発明の一実施形態によれば、オペレーティング・システムが、すべてのアプリケーションに対して１つだけのタスクを実行するように、複数のアプリケーションが、アプリケーション切り替えフレームワークの制御下、デバイス上で立ち上げられる。このシングル・タスクは、オペレーティング・システムの制御下で実行される。アプリケーション・マネージャが、このタスク内で実行される。１つまたは複数のアプリケーションが、このタスク内において、アプリケーション・マネージャの制御下で立ち上げられる。アプリケーションの１つは、ユーザ制御下で、立ち上げられたアプリケーション間を切り替えることによって現在のアプリケーションにされる。
【０００７】
アプリケーション記述子のリストが、すべての立ち上げられたアプリケーションに対して管理される。切り替え時、１つのアプリケーションのアプリケーション記述子が、アプリケーションをユーザに対して画面上で表示するために使用される。各々のアプリケーション記述子は、立ち上げられたアプリケーションのフォームを含有する。アプリケーション記述子の各々は、１つのルートまたは親フォームを有する複数のフォームのツリーを含有する。フォームは、ユーザに表示される画像である。この画像は、テキスト、図、ビットマップまたはメニューからなる。
【０００８】
デバイスの電源が入れられると、すべてのアプリケーションは、初期化されるが立ち上げられない。アプリケーションは、立ち上げられた後に閉じられることがある。
【０００９】
アプリケーションの１つが、ユーザに対して画面上で表示され得る。ユーザには、アプリケーションの１つに対する制御が与えられ得る。
【００１０】
本発明の上記および他の利点は、以下の詳細な説明および添付の図を参照することにより、当業者に明確になるであろう。
【図面の簡単な説明】
【００１１】
【図１】従来のマルチタスク処理を用いて複数のアプリケーションを同時に立ち上げる例示的なオペレーティング・システムのレベル図である。
【図２】従来のマルチタスク処理を使用するオペレーティング・システムのための例示的なユーザ・インターフェースを示す図である。
【図３】本発明の１つの実施形態によるアプリケーション切り替えフレームワークの図である。
【図４】本発明の１つの実施形態によるオペレーティング・システムのためのユーザ・インターフェースを示す図である。
【図５】本発明の１つの実施形態による立ち上げられたアプリケーションのアプリケーション記述子のスタックの図である。
【図６】本発明の１つの実施形態によるアプリケーションのフォームのツリーの図である。
【図７】本発明の１つの実施形態によるアプリケーションのライフ・サイクルの図である。
【図８】アプリケーションをアクティブにするように立ち上げるためのステップの詳細を示すフロー図である。
【図９】すでに立ち上げられたアプリケーション間で、１つを現在のアプリケーションにするために切り替えるためのステップの詳細を示すフロー図である。
【図１０】デバイスを起動または開始するためのステップの詳細を示すフロー図である。
【図１１】デバイスの電源を切るためのステップの詳細を示すフロー図である。
【図１２】携帯デバイスのハイレベルのブロック図である。
【発明を実施するための形態】
【００１２】
次に図１を参照すると、従来のマルチタスク処理を用いて同時に立ち上げられた複数のアプリケーションのオペレーティング・システムのレベル図が示される。オペレーティング・システム１００が、示されている。オペレーティング・システム１００は、アプリケーション層１０２およびプロトコル・スタック層１０４を有する。アプリケーション層１０２では、アプリケーション１０６が、立ち上げられる。アプリケーション１０６のすべてが、別個の独立したタスクとして立ち上げられる。また、プロトコル・スタック層１０４では、プロトコル・スタック１０８が、別個のタスクとして別々に管理される。各々のアプリケーション１０６は、別々に互いのアプリケーション１０６に独立して立ち上げられる。オペレーティング・システムは、アプリケーション１０６の各々を独立して認識し、制御する。
【００１３】
次に図２を参照すると、図１に示すような従来のマルチタスク処理およびアプリケーション切り替えを用いるオペレーティング・システムのためのユーザ・インターフェースが示される。ユーザ・インターフェース２０２は、ユーザに、オペレーティング・システム１００内で現在立ち上げられているアプリケーション２０６の１つを選択するための選択肢を与える。ユーザにはまた、「アクティブを閉じる」２１２（画面上に示されるアプリケーション）を選択してアクティブなアプリケーションを閉じる、または「すべてを閉じる」２１０を選択してアプリケーションのすべてを閉じる選択肢も与えられる。
【００１４】
したがって、ユーザが、現在立ち上げられているアプリケーションのリスト上でアプリケーション２０６の１つを選択する場合、オペレーティング・システムは、選択されたアプリケーションを表示させ、前に使用されたアプリケーションを実際に閉じることなく、そのアプリケーションに対するユーザ制御を与える。
【００１５】
次に図３を参照すると、本発明の１つの実施形態による、立ち上げられた複数のアプリケーションのオペレーティング・システムのレベル図が示される。オペレーティング・システム３００が、示されている。オペレーティング・システム３００は、アプリケーション層３０２およびプロトコル・スタック層３０４を有する。アプリケーション層３０２には、アプリケーション切り替えフレームワークのアプリケーション・マネージャ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｗｉｔｃｈｉｎｇ  Ｆｒａｍｅｗｏｒｋ  Ａｐｐｌｉｃａｔｉｏｎ  Ｍａｎａｇｅｒ）が存在する。シングル・タスク３０６が、オペレーティング・システム３００のアプリケーション層３０２内で実行される。アプリケーション３０７が、タスク３０６の内部で立ち上げられ、それによってオペレーティング・システムは、アプリケーション３０７ではなくタスク３０６だけを認識し、それと対話するようになる。アプリケーション３０７のすべては、タスク３０６の内部で立ち上げられ、タスク３０６は、オペレーティング・システムの制御下にあるため、アプリケーション３０７を、オペレーティング・システムによって認識することができず、オペレーティング・システムは、１つのタスク、すなわちタスク３０６のみを実行していると考える。したがって、アプリケーション３０７は、タスク３０６の内側またはその内部で立ち上げられていると言うことができる。
【００１６】
アプリケーション・マネージャ３０５は、アプリケーション３０７を制御する。アプリケーション３０７はすべて、アプリケーション・マネージャ３０５の制御下にある。アプリケーション・マネージャ３０５は、アプリケーション３０７を調整し、管理する。アプリケーション・マネージャ３０５はまた、アプリケーション３０７を立ち上げるためのサポートも提供する。各々のアプリケーション３０７は、それ自体をアプリケーション・マネージャ３０５に登録しなければならない。
【００１７】
プロトコル・スタック層３０４では、プロトコル・スタック３０８が、別個のタスクとして管理される。プロトコル・スタックのタスクは、デバイスの通信部分の役割を担う。多くのアプリケーションは、これらのタスクによってサービスされる（たとえば電話をかけるための）通信システムを必要とする。３０９は、タスク間通信機構である。これは、タスク間の通信を提供するために使用される。すべてのタスクは、ユーザに対してデバイスの機能を提供するように一貫して実行する役割を担う。これは、互いとの通信を容易にする機構である。タスク間通信機構３０９は、すべてのタスクに接続され、各々のタスクの一部として実装される論理モジュールである。どのタスクも、任意の他のタスクに制御およびデータ情報を有するメッセージを送信することができる。各々のタスクは、任意の他のタスクからメッセージを受信することができる。タスクＡが、タスクＢにメッセージを送ることを望むとき、タスクＡは、タスクＢのメールボックス内に（制御およびデータ情報を有する）メッセージを落とす。タスクＢは、必要とされるとき、多くの他のメッセージおよびタスクＡからのメッセージもまた含有し得るそのメールボックスからメッセージを読み取る。
【００１８】
次に図４を参照すると、本発明のアプリケーション・スイッチャのためのユーザ・インターフェース４０２が示される。ユーザは、ユーザ・インターフェース４０２を用いて、オペレーティング・システム３００内で現在立ち上げられている複数のアプリケーション３０７のうちの１つを選択することができる。したがって、ユーザが、ユーザ・インターフェース４０２内で現在立ち上げられているアプリケーション３０７のリスト上でアプリケーション３０７の１つを選択しようとした場合、アプリケーション・スイッチャは、選択されたアプリケーション３０７に切り替えることができ、このようにして、前に使用されたアプリケーション３０７を実際に閉じることなく、アプリケーション３０７の１つから離れるようにユーザおよび表示の制御を切り替えることができる。アプリケーション・スイッチャは、アプリケーション・マネージャ３０５を用いてアプリケーション３０７間を切り替える。
【００１９】
図５は、本発明の１つの実施形態による立ち上げられたアプリケーションのためのアプリケーション記述子のスタックの図である。アプリケーション・マネージャ３０５は、立ち上げられたアプリケーション３０７のためのアプリケーション記述子６０４のスタック６０２を保持する。アプリケーション記述子６０４は、アプリケーション３０７の必要な詳細のすべてをアプリケーション・マネージャ３０５に与える。アプリケーション・マネージャ３０５は、すべての立ち上げられた複数のアプリケーション３０７のアプリケーション記述子６０４のスタック６０２を管理する。これにより、ユーザは、複数のアプリケーション３０７を立ち上げることが可能になる。ユーザは、複数のアプリケーション３０７を１つずつ立ち上げることができる。このようにして、すべての立ち上げられたアプリケーション３０７は、リスト内において互いの上部に重なり合い、図６に示すようにスタックを形成する。スタック６０２の最上位のアプリケーション記述子６０４は、現在のアプリケーション３０７に対するアプリケーション記述子６０４である。これは、現在表示されているアプリケーションであり、ユーザが現在制御を有する対象のアプリケーションである。
【００２０】
アプリケーション・マネージャ３０５は、以下の図９を参照して説明するように、このスタック６０２内のアプリケーション記述子６０４を、ユーザの要求通りに移動させることができる。各々のアプリケーション記述子６０４は、複数のアプリケーション３０７のすべてのフォームへのアクセスを与える。フォームは、ユーザに対して画面上で表示される画像であり、この画像は、テキスト、図、ビットマップおよびメニューなどからなる。フォームは、アプリケーション３０７がユーザに伝える必要がある情報のすべてを含有する。立ち上げられたアプリケーション３０７は、複数のフォームからなる。
【００２１】
図６は、本発明の１つの実施形態によるメッセージ通信アプリケーションのフォームの例示的なツリーの図である。ユーザが、図６に示すようにメッセージ通信プログラム３０７などのプログラム３０７を使用するとき、メッセージ通信プログラム３０７のフォーム７０２は、互いにリンクされて図６に示すようにツリー７０４を形成する。メッセージ通信アプリケーション３０７内には、ツリー７０４を形成する５つのフォーム７０２が存在する。各々のフォーム７０２は、どのフォームがその前に来るか、どのフォームがその後に来るかを知っている。たとえば、Ｅメール・ビューア・フォーム７０２（ｃ）の場合、そのとき見ていたＥメールに返信するためのＥメール・コンポーザ・フォーム７０２（ｄ）がその後に続き、Ｅメール・メッセージを見る前にそれらのリストを調べるためのインボックス・フォーム７０２（ｂ）がその前に存在することを知っている。アプリケーション・マネージャ３０５は、どのアプリケーション記述子６０４を使用すべきかを知っており、各々のアプリケーション記述子６０４は、どのようにしてそれ自体のフォーム７０２をディスプレイ上で表示するかを知っている。これにより、正確な情報がディスプレイ上に示されることが可能になる。
【００２２】
したがって、各々のアプリケーションは、１つのルート／親フォーム（または１つのウインドウ）を有する複数のフォーム（または複数のウインドウ）のツリーであるが、アプリケーション記述子は、他の情報を含有することができる。アプリケーション間の切り替えを可能にするために、アプリケーション記述子（またはコンテキスト）のリストが、管理され、ここでは、各々のアプリケーション記述子（またはコンテキスト）は、１つの開かれた（または立ち上げられた）アプリケーションのフォーム（またはウインドウ）を含有している。所与の時間に、１つのアプリケーションが現在のアプリケーションになり、ユーザが別のアプリケーションへの切り替えを望むときはいつでも、アプリケーション・マネージャは、適切なアプリケーション記述子（またはコンテキスト）をスタックの最上位に移動させ、画面上にそのフォーム（またはウインドウ）を表示し、それによってユーザがアプリケーションを制御することを可能にする。
【００２３】
次に図７を参照すると、アプリケーション３０７のライフ・サイクルの図が示される。アプリケーション３０７のライフ・サイクルは、状態８０２から開始する。この状態では、デバイスの電源は、切られており、アプリケーション３０７は、立ち上げられず、初期化されていない。矢印８０３によって示すようにデバイスの電源が入れられ、起動されると、アプリケーション３０７のすべてが初期化され、したがってそれらの状態は、状態８０４に変化する。状態８０４では、アプリケーション３０７は、アクティブではなく、それらが立ち上げられるまで使用することはできない。アプリケーション３０７が、矢印８０５によって示すように（図９を参照して以下に説明するように）立ち上げられると、アプリケーション３０７の状態は、状態８０６に変化し、ここではアプリケーション３０７は、現在、立ち上げられた状態になっており、したがって（図１０を参照して以下に説明するように）ユーザによって現在のアプリケーションにすることができる。状態８０６を有するアプリケーション３０７は、アクティブであるため、ユーザは、（図１０を参照して以下に説明するように）再立ち上げ無しにそれらの間を切り替えることができる。アプリケーション３０７が、矢印８０７によって示すように閉じられた場合、アプリケーションの状態は、状態８０４に戻り、ここではアプリケーション３０７はもはやアクティブでなく、初期化されているが立ち上げられておらず、したがってアプリケーション３０７は、再び立ち上げられるまで使用することができない。デバイスが、矢印８０８および８０９によって示すようにシャットダウンされると、８０４の状態を有し、初期化されているが立ち上げられていない、あるいは８０６の状態を有し、初期化され立ち上げられているすべての複数のアプリケーション３０７の状態は、状態８０２に戻り、ここでは、アプリケーション３０７は、立ち上げられず、初期化されていない。
【００２４】
次に図８を参照すると、アプリケーションをアクティブにするように立ち上げるためのステップの詳細を説明するフロー図が示される。フロー図は、ステップ９０２で開始する。ステップ９０４において、ユーザは、アプリケーション・ランチャを立ち上げる。ステップ９０６において、ユーザは、アプリケーション３０７から立ち上げられるアプリケーションを選択する。ステップ９０８において、アプリケーション・ランチャは、アプリケーション・マネージャによって閉じられる。ステップ９１０において、ユーザが立ち上げを望むアプリケーションが、現在アクティブであるかどうかが判定される。ユーザが立ち上げを望むアプリケーションが、現在アクティブである場合、ユーザが立ち上げを望むアプリケーションは、ステップ９１２において現在のアプリケーションとされ、次いで、このプロセスは、ステップ９１３で終了する。
【００２５】
ユーザが立ち上げを望むアプリケーションが、現在アクティブでない場合、ステップ９１４において、現在のアプリケーションに対して、それがもはや現在のアプリケーションではないことが通知される。次いでステップ９１５において、選択されたアプリケーションのアプリケーション記述子が、スタックの最上位に移動される。その後、ステップ９１６において、アプリケーションを立ち上げるための立ち上げ機能が、検索される。ステップ９１８において、立ち上げ機能は、表示されるフォームを生成し、立ち上げられたアプリケーションを現在のアプリケーションにするように実行される。このプロセスは、ステップ９２０で終了する。
【００２６】
このようにして、ユーザは、ユーザが必要と考えるアプリケーション３０７を立ち上げる。したがって、立ち上げられたアプリケーションのすべては、図９を参照して以下で説明するようにそれらの間で切り替えることができる。
【００２７】
次に図９を参照すると、すでに立ち上げられているアプリケーション間で、１つを現在のアプリケーションにするために切り替えるためのステップの詳細を説明するフロー図が示される。このプロセスは、ステップ１０００で開始する。ステップ１００２において、ユーザは、アプリケーション・スイッチャを立ち上げる。ステップ１００４において、ユーザは、アクティブなアプリケーションのリストから、ユーザが現在使用することを望むアプリケーションを選択する。ステップ１００６では、現在のアプリケーションに対して、それがもはや現在のアプリケーションでないことが通知される。ステップ１００８において、前の現在のアプリケーションが、アプリケーション記述子のスタックの最下位に移動される。
【００２８】
ステップ１０１０において、選択されたアプリケーションが、新しい現在のアプリケーションにされる。ステップ１０１２において、新しい現在のアプリケーションは、アプリケーション記述子のスタックの最上位に移動される。ステップ１０１４において、現在のアプリケーションに対して、その新しい状態が通知される。ステップ１０１６において、アプリケーション・スイッチャが閉じられる。このプロセスは、ステップ１０１８で終了する。
【００２９】
このようにして、ユーザは、立ち上げられたアプリケーション間を切り替えることができる。ユーザが、立ち上げられてないアプリケーションに切り替えることを望む場合、ユーザは図８を参照して示すようにアプリケーションを立ち上げる必要がある。
【００３０】
次に図１０を参照すると、デバイスを起動または開始するためのステップの詳細を説明するフロー図が示される。このプロセスは、アプリケーション３０７のすべてを初期化するが、それらを立ち上げない。プロセスは、ステップ１２０２で開始する。ステップ１２０４において、アプリケーションが、登録されたアプリケーションのリストから選択される。ステップ１２０５において、初期化されていないアプリケーションがリスト上に残存しているかどうかが判定される。初期化されていないアプリケーションがリスト上に多数存在する場合、ステップ１２１０において、そのアプリケーション記述子が、登録されたアプリケーションのリストから検索される。
【００３１】
次いで、ステップ１２１２において、初期化機能が、そのアプリケーションのアプリケーション記述子から検索される。次いで、ステップ１２１４において、そのアプリケーションが、初期化機能を実行することによって初期化される。次いでプロセスは、ステップ１２０５に戻る。ステップ１２０５において、初期化されていないアプリケーションがリスト上に残存しないと判定される場合、プロセスは、アイドルの画面アプリケーションが立ち上げられるステップ１２０６に移る。このプロセスは、ステップ１２０８で終了する。
【００３２】
次に図１１を参照すると、デバイスの電源を切るためのステップの詳細を説明するフロー図が示される。プロセスは、すべてのアクティブなアプリケーションを閉じ、次いで、デバイスの電源を切る前に非初期化する。このプロセスは、ステップ１３０２で開始する。ステップ１３０４において、次のアプリケーションが、アクティブなアプリケーションのスタックから検索される。ステップ１３０６において、アクティブなアプリケーションのすべてが、閉じられているかどうかが判定される。すべてのアクティブなアプリケーションが閉じられていると判定された場合、ステップ１３０８において、そのアプリケーションに対して、もはやアクティブなアプリケーションではないことが通知される。次いでステップ１３１０において、そのアプリケーションが、アクティブなアプリケーションのスタックから取り除かれ、プロセスは、ステップ１３０６に戻る。
【００３３】
すべてのアクティブなアプリケーションが、ステップ１３０６において閉じられたと判定された場合、プロセスは、ステップ１３１２に移り、ここでは、次のアプリケーションが、初期化されたアプリケーションのリストから検索される。ステップ１３１４において、すべてのアプリケーションが、非初期化されているかどうかが判定される。アプリケーションのすべてが非初期化されていない場合、プロセスは、ステップ１３１６に移り、ここでは、アプリケーション記述子が、初期化されたアプリケーションのリストから検索される。次いで、ステップ１３１８において、非初期化機能が、そのアプリケーション記述子から検索される。次いで、ステップ１３２０において、アプリケーションは、アプリケーションの非初期化機能を実行することによって非初期化される。次いで、このプロセスは、ステップ１３１４に移る。ステップ１３１４において、アプリケーションのすべてが、非初期化されていると判定された場合、このプロセスは、ステップ１３２２で終了する。
【００３４】
本明細書において説明したオペレーティング・システムおよびアプリケーション・マネージャは、適切にプログラミングされたデバイスを用いて実装され得る。そのようなデバイスは、当技術分野では良く知られており、たとえば、既知のプロセッサ、メモリ装置、ストレージ・デバイス、コンピュータ・ソフトウエア、および他の構成要素を用いて実装され得る。そのようなデバイスすなわち電話の例のハイレベルのブロック図が、図１２に示される。電話１１０２は、プロセッサ１１０４を含有し、このプロセッサ１１０４は、電話１１０２の全体のオペレーションを定義するプログラム命令を実行することによってそのようなオペレーションを制御する。プログラム命令は、ストレージ・デバイス１１１２（たとえばフラッシュＲＡＭ）内に格納することができ、プログラム命令の実行が望まれるときにメモリ１１１０内にロードすることができる。
【００３５】
したがって、電話の機能は、メモリ１１１０および／またはストレージ１１１２内に格納されたプログラム命令によって定義され、その機能は、プログラム命令を実行するプロセッサ１１０４によって制御される。電話１１０２はまた、ネットワークを介して他のデバイスと通信するための１つまたは複数の無線送受信機１１０６およびアンテナ１１０５も含む。電話１１０２はまた、キーパッド１１０８、ディスプレイ１１０７、ならびにスピーカおよびマイク１１０９を含み、これは、電話１１０２とユーザの対話を可能にするデバイス（たとえばキーボード、マウス、ボタンなど）を示している。当業者は、実際の電話の実装には、他の構成要素も同様に含有されるはずであること、および図１２は、例示的な目的でそのような電話の構成要素の一部のハイレベルな図であることを認識するであろう。
【００３６】
上述の詳細な説明は、すべての点において、制限的ではなく説明的および例示的であると理解されるものであり、本明細書において開示された本発明の範囲は、詳細な説明からではなく、特許法によって許容された全範囲に従って解釈される特許請求の範囲から決定されるものである。本明細書において図示され、説明された実施形態は、本発明の原理を例示するものにすぎないこと、および本発明の範囲および趣旨を逸脱することなく、さまざまな改変形態が、当業者によって実施され得ることを理解されたい。当業者は、本発明の範囲および趣旨から逸脱することなくさまざまな他の機能の組合せを実施することができる。
【図１】
2010517161.tif 000003
【図２】
2010517161.tif 000004
【図３】
2010517161.tif 000005
【図４】
2010517161.tif 000006
【図５】
2010517161.tif 000007
【図６】
2010517161.tif 000008
【図７】
2010517161.tif 000009
【図８】
2010517161.tif 000010
【図９】
2010517161.tif 000011
【図１０】
2010517161.tif 000012
【図１１】
2010517161.tif 000013
【図１２】
2010517161.tif 000014
【国際調査報告】
2010517161.tif 000015