JP2010517161A - デバイス用シングル・スレッド・アーキテクチャにおけるアプリケーションの切り替え - Google Patents

デバイス用シングル・スレッド・アーキテクチャにおけるアプリケーションの切り替え Download PDF

Info

Publication number
JP2010517161A
JP2010517161A JP2009547206A JP2009547206A JP2010517161A JP 2010517161 A JP2010517161 A JP 2010517161A JP 2009547206 A JP2009547206 A JP 2009547206A JP 2009547206 A JP2009547206 A JP 2009547206A JP 2010517161 A JP2010517161 A JP 2010517161A
Authority
JP
Japan
Prior art keywords
application
applications
user
task
launched
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2009547206A
Other languages
English (en)
Other versions
JP2010517161A5 (ja
Inventor
クマー アガルワル,ニティン
クロニン,マイケル
パテル,ニシャ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Agere Systems LLC
Original Assignee
Agere Systems LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Agere Systems LLC filed Critical Agere Systems LLC
Publication of JP2010517161A publication Critical patent/JP2010517161A/ja
Publication of JP2010517161A5 publication Critical patent/JP2010517161A5/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/54Link editing before load time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/482Application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons

Abstract

オペレーティング・システムがすべてのアプリケーションに対して1つだけのタスクを実行するように、アプリケーション切り替えフレームワークの制御下、デバイス上で複数のアプリケーションを同時に立ち上げるための方法およびシステムが、提供される。シングル・タスクが、オペレーティング・システムの制御下で実行される。アプリケーション・マネージャが、タスク内で実行される。1つまたは複数アプリケーションが、アプリケーション・マネージャの制御下、タスク内で立ち上げられる。アプリケーションの1つが、ユーザの制御下、立ち上げられたアプリケーション間を切り替えることによって現在のアプリケーションにされる。アプリケーション記述子のリストが、すべての立ち上げられたアプリケーションに対して管理され、切り替え時、1つのアプリケーションのアプリケーション記述子が、そのアプリケーションをユーザに対して画面上で表示するために使用される。各々のアプリケーション記述子は、立ち上げられたアプリケーションのフォームを含有する。アプリケーション記述子の各々は、1つのルートまたは親フォームを有する複数のフォームのツリーを含有する。フォームは、ユーザに表示される画像である。画像は、テキスト、図、ビットマップ、またはメニューからなる。

Description

本発明は、携帯デバイスのためのアプリケーション切り替え方法に関し、より詳細には、マルチタスク処理能力を有さない携帯デバイスのためのアプリケーション切り替え装置に関する。
携帯電話、PDAなどの携帯情報デバイスにおける技術の進歩により、これらのデバイスは、ゲーム、デジタル写真、音声再生、ならびにインターネット接続および多くの他の機能などの通信など、数多くの機能を実行することが可能になっている。したがって、携帯デバイスは、多機能なデバイスになってきており、多くの用途を有している。
それ故、ユーザは、複数のアプリケーションを同時に使用することを望むことがある。以前より、複数のアプリケーションを同時に立ち上げるために、マルチタスク処理オペレーティング・システムが使用されてきており、ここでは、すべてのアプリケーションが別個のタスクとして管理されている。したがって、ユーザが異なるアプリケーションに切り替えることを望んだとき、他のアプリケーションを表示することが、事実上、タスク・スイッチとなる。
この方法に関する問題は、各々のアプリケーションがタスクとして定義されているので、数多くのオーバーヘッドが必要とされていたことである。アプリケーションの開発および保守は、処理環境に関する詳細な知識を必要としていたため煩雑なものになり、そのために開発コストが増大していた。また、より複雑なオペレーティング・システムが必要とされていたため、実行時コストもさらに膨らんでいた。そのため、ユーザ・インターフェースが煩雑になり、オペレーティング・システムの初期化およびシャットダウンに時間がかかるためにデバイスの起動およびシャットダウン時間がより長くなり、より多くのバッテリが消費されるようになっている。また、製造コストもより高くなり、メモリ内におけるタスクの管理が多くなることにより大きなメモリが必要とされ、シンビアン(Symbian)などのより複雑なオペレーティング・システムがより高いライセンスコストを伴い、より多くのMIPS(100万命令/秒)が必要になっていた。
したがって、多くのアプリケーションを同時に立ち上げ、複数のアプリケーションをランニングコストおよび開発コストを低く抑えるシングル・タスク内で立ち上げることを可能にしながらも、ユーザがデバイス上で複数のアプリケーション間の切り替えを行うことを可能にする能力をユーザに提供する、アプリケーションの切り替えのためのフレームワークが必要とされている。
本発明の一実施形態によれば、オペレーティング・システムが、すべてのアプリケーションに対して1つだけのタスクを実行するように、複数のアプリケーションが、アプリケーション切り替えフレームワークの制御下、デバイス上で立ち上げられる。このシングル・タスクは、オペレーティング・システムの制御下で実行される。アプリケーション・マネージャが、このタスク内で実行される。1つまたは複数のアプリケーションが、このタスク内において、アプリケーション・マネージャの制御下で立ち上げられる。アプリケーションの1つは、ユーザ制御下で、立ち上げられたアプリケーション間を切り替えることによって現在のアプリケーションにされる。
アプリケーション記述子のリストが、すべての立ち上げられたアプリケーションに対して管理される。切り替え時、1つのアプリケーションのアプリケーション記述子が、アプリケーションをユーザに対して画面上で表示するために使用される。各々のアプリケーション記述子は、立ち上げられたアプリケーションのフォームを含有する。アプリケーション記述子の各々は、1つのルートまたは親フォームを有する複数のフォームのツリーを含有する。フォームは、ユーザに表示される画像である。この画像は、テキスト、図、ビットマップまたはメニューからなる。
デバイスの電源が入れられると、すべてのアプリケーションは、初期化されるが立ち上げられない。アプリケーションは、立ち上げられた後に閉じられることがある。
アプリケーションの1つが、ユーザに対して画面上で表示され得る。ユーザには、アプリケーションの1つに対する制御が与えられ得る。
本発明の上記および他の利点は、以下の詳細な説明および添付の図を参照することにより、当業者に明確になるであろう。
従来のマルチタスク処理を用いて複数のアプリケーションを同時に立ち上げる例示的なオペレーティング・システムのレベル図である。 従来のマルチタスク処理を使用するオペレーティング・システムのための例示的なユーザ・インターフェースを示す図である。 本発明の1つの実施形態によるアプリケーション切り替えフレームワークの図である。 本発明の1つの実施形態によるオペレーティング・システムのためのユーザ・インターフェースを示す図である。 本発明の1つの実施形態による立ち上げられたアプリケーションのアプリケーション記述子のスタックの図である。 本発明の1つの実施形態によるアプリケーションのフォームのツリーの図である。 本発明の1つの実施形態によるアプリケーションのライフ・サイクルの図である。 アプリケーションをアクティブにするように立ち上げるためのステップの詳細を示すフロー図である。 すでに立ち上げられたアプリケーション間で、1つを現在のアプリケーションにするために切り替えるためのステップの詳細を示すフロー図である。 デバイスを起動または開始するためのステップの詳細を示すフロー図である。 デバイスの電源を切るためのステップの詳細を示すフロー図である。 携帯デバイスのハイレベルのブロック図である。
次に図1を参照すると、従来のマルチタスク処理を用いて同時に立ち上げられた複数のアプリケーションのオペレーティング・システムのレベル図が示される。オペレーティング・システム100が、示されている。オペレーティング・システム100は、アプリケーション層102およびプロトコル・スタック層104を有する。アプリケーション層102では、アプリケーション106が、立ち上げられる。アプリケーション106のすべてが、別個の独立したタスクとして立ち上げられる。また、プロトコル・スタック層104では、プロトコル・スタック108が、別個のタスクとして別々に管理される。各々のアプリケーション106は、別々に互いのアプリケーション106に独立して立ち上げられる。オペレーティング・システムは、アプリケーション106の各々を独立して認識し、制御する。
次に図2を参照すると、図1に示すような従来のマルチタスク処理およびアプリケーション切り替えを用いるオペレーティング・システムのためのユーザ・インターフェースが示される。ユーザ・インターフェース202は、ユーザに、オペレーティング・システム100内で現在立ち上げられているアプリケーション206の1つを選択するための選択肢を与える。ユーザにはまた、「アクティブを閉じる」212(画面上に示されるアプリケーション)を選択してアクティブなアプリケーションを閉じる、または「すべてを閉じる」210を選択してアプリケーションのすべてを閉じる選択肢も与えられる。
したがって、ユーザが、現在立ち上げられているアプリケーションのリスト上でアプリケーション206の1つを選択する場合、オペレーティング・システムは、選択されたアプリケーションを表示させ、前に使用されたアプリケーションを実際に閉じることなく、そのアプリケーションに対するユーザ制御を与える。
次に図3を参照すると、本発明の1つの実施形態による、立ち上げられた複数のアプリケーションのオペレーティング・システムのレベル図が示される。オペレーティング・システム300が、示されている。オペレーティング・システム300は、アプリケーション層302およびプロトコル・スタック層304を有する。アプリケーション層302には、アプリケーション切り替えフレームワークのアプリケーション・マネージャ(Application Switching Framework Application Manager)が存在する。シングル・タスク306が、オペレーティング・システム300のアプリケーション層302内で実行される。アプリケーション307が、タスク306の内部で立ち上げられ、それによってオペレーティング・システムは、アプリケーション307ではなくタスク306だけを認識し、それと対話するようになる。アプリケーション307のすべては、タスク306の内部で立ち上げられ、タスク306は、オペレーティング・システムの制御下にあるため、アプリケーション307を、オペレーティング・システムによって認識することができず、オペレーティング・システムは、1つのタスク、すなわちタスク306のみを実行していると考える。したがって、アプリケーション307は、タスク306の内側またはその内部で立ち上げられていると言うことができる。
アプリケーション・マネージャ305は、アプリケーション307を制御する。アプリケーション307はすべて、アプリケーション・マネージャ305の制御下にある。アプリケーション・マネージャ305は、アプリケーション307を調整し、管理する。アプリケーション・マネージャ305はまた、アプリケーション307を立ち上げるためのサポートも提供する。各々のアプリケーション307は、それ自体をアプリケーション・マネージャ305に登録しなければならない。
プロトコル・スタック層304では、プロトコル・スタック308が、別個のタスクとして管理される。プロトコル・スタックのタスクは、デバイスの通信部分の役割を担う。多くのアプリケーションは、これらのタスクによってサービスされる(たとえば電話をかけるための)通信システムを必要とする。309は、タスク間通信機構である。これは、タスク間の通信を提供するために使用される。すべてのタスクは、ユーザに対してデバイスの機能を提供するように一貫して実行する役割を担う。これは、互いとの通信を容易にする機構である。タスク間通信機構309は、すべてのタスクに接続され、各々のタスクの一部として実装される論理モジュールである。どのタスクも、任意の他のタスクに制御およびデータ情報を有するメッセージを送信することができる。各々のタスクは、任意の他のタスクからメッセージを受信することができる。タスクAが、タスクBにメッセージを送ることを望むとき、タスクAは、タスクBのメールボックス内に(制御およびデータ情報を有する)メッセージを落とす。タスクBは、必要とされるとき、多くの他のメッセージおよびタスクAからのメッセージもまた含有し得るそのメールボックスからメッセージを読み取る。
次に図4を参照すると、本発明のアプリケーション・スイッチャのためのユーザ・インターフェース402が示される。ユーザは、ユーザ・インターフェース402を用いて、オペレーティング・システム300内で現在立ち上げられている複数のアプリケーション307のうちの1つを選択することができる。したがって、ユーザが、ユーザ・インターフェース402内で現在立ち上げられているアプリケーション307のリスト上でアプリケーション307の1つを選択しようとした場合、アプリケーション・スイッチャは、選択されたアプリケーション307に切り替えることができ、このようにして、前に使用されたアプリケーション307を実際に閉じることなく、アプリケーション307の1つから離れるようにユーザおよび表示の制御を切り替えることができる。アプリケーション・スイッチャは、アプリケーション・マネージャ305を用いてアプリケーション307間を切り替える。
図5は、本発明の1つの実施形態による立ち上げられたアプリケーションのためのアプリケーション記述子のスタックの図である。アプリケーション・マネージャ305は、立ち上げられたアプリケーション307のためのアプリケーション記述子604のスタック602を保持する。アプリケーション記述子604は、アプリケーション307の必要な詳細のすべてをアプリケーション・マネージャ305に与える。アプリケーション・マネージャ305は、すべての立ち上げられた複数のアプリケーション307のアプリケーション記述子604のスタック602を管理する。これにより、ユーザは、複数のアプリケーション307を立ち上げることが可能になる。ユーザは、複数のアプリケーション307を1つずつ立ち上げることができる。このようにして、すべての立ち上げられたアプリケーション307は、リスト内において互いの上部に重なり合い、図6に示すようにスタックを形成する。スタック602の最上位のアプリケーション記述子604は、現在のアプリケーション307に対するアプリケーション記述子604である。これは、現在表示されているアプリケーションであり、ユーザが現在制御を有する対象のアプリケーションである。
アプリケーション・マネージャ305は、以下の図9を参照して説明するように、このスタック602内のアプリケーション記述子604を、ユーザの要求通りに移動させることができる。各々のアプリケーション記述子604は、複数のアプリケーション307のすべてのフォームへのアクセスを与える。フォームは、ユーザに対して画面上で表示される画像であり、この画像は、テキスト、図、ビットマップおよびメニューなどからなる。フォームは、アプリケーション307がユーザに伝える必要がある情報のすべてを含有する。立ち上げられたアプリケーション307は、複数のフォームからなる。
図6は、本発明の1つの実施形態によるメッセージ通信アプリケーションのフォームの例示的なツリーの図である。ユーザが、図6に示すようにメッセージ通信プログラム307などのプログラム307を使用するとき、メッセージ通信プログラム307のフォーム702は、互いにリンクされて図6に示すようにツリー704を形成する。メッセージ通信アプリケーション307内には、ツリー704を形成する5つのフォーム702が存在する。各々のフォーム702は、どのフォームがその前に来るか、どのフォームがその後に来るかを知っている。たとえば、Eメール・ビューア・フォーム702(c)の場合、そのとき見ていたEメールに返信するためのEメール・コンポーザ・フォーム702(d)がその後に続き、Eメール・メッセージを見る前にそれらのリストを調べるためのインボックス・フォーム702(b)がその前に存在することを知っている。アプリケーション・マネージャ305は、どのアプリケーション記述子604を使用すべきかを知っており、各々のアプリケーション記述子604は、どのようにしてそれ自体のフォーム702をディスプレイ上で表示するかを知っている。これにより、正確な情報がディスプレイ上に示されることが可能になる。
したがって、各々のアプリケーションは、1つのルート/親フォーム(または1つのウインドウ)を有する複数のフォーム(または複数のウインドウ)のツリーであるが、アプリケーション記述子は、他の情報を含有することができる。アプリケーション間の切り替えを可能にするために、アプリケーション記述子(またはコンテキスト)のリストが、管理され、ここでは、各々のアプリケーション記述子(またはコンテキスト)は、1つの開かれた(または立ち上げられた)アプリケーションのフォーム(またはウインドウ)を含有している。所与の時間に、1つのアプリケーションが現在のアプリケーションになり、ユーザが別のアプリケーションへの切り替えを望むときはいつでも、アプリケーション・マネージャは、適切なアプリケーション記述子(またはコンテキスト)をスタックの最上位に移動させ、画面上にそのフォーム(またはウインドウ)を表示し、それによってユーザがアプリケーションを制御することを可能にする。
次に図7を参照すると、アプリケーション307のライフ・サイクルの図が示される。アプリケーション307のライフ・サイクルは、状態802から開始する。この状態では、デバイスの電源は、切られており、アプリケーション307は、立ち上げられず、初期化されていない。矢印803によって示すようにデバイスの電源が入れられ、起動されると、アプリケーション307のすべてが初期化され、したがってそれらの状態は、状態804に変化する。状態804では、アプリケーション307は、アクティブではなく、それらが立ち上げられるまで使用することはできない。アプリケーション307が、矢印805によって示すように(図9を参照して以下に説明するように)立ち上げられると、アプリケーション307の状態は、状態806に変化し、ここではアプリケーション307は、現在、立ち上げられた状態になっており、したがって(図10を参照して以下に説明するように)ユーザによって現在のアプリケーションにすることができる。状態806を有するアプリケーション307は、アクティブであるため、ユーザは、(図10を参照して以下に説明するように)再立ち上げ無しにそれらの間を切り替えることができる。アプリケーション307が、矢印807によって示すように閉じられた場合、アプリケーションの状態は、状態804に戻り、ここではアプリケーション307はもはやアクティブでなく、初期化されているが立ち上げられておらず、したがってアプリケーション307は、再び立ち上げられるまで使用することができない。デバイスが、矢印808および809によって示すようにシャットダウンされると、804の状態を有し、初期化されているが立ち上げられていない、あるいは806の状態を有し、初期化され立ち上げられているすべての複数のアプリケーション307の状態は、状態802に戻り、ここでは、アプリケーション307は、立ち上げられず、初期化されていない。
次に図8を参照すると、アプリケーションをアクティブにするように立ち上げるためのステップの詳細を説明するフロー図が示される。フロー図は、ステップ902で開始する。ステップ904において、ユーザは、アプリケーション・ランチャを立ち上げる。ステップ906において、ユーザは、アプリケーション307から立ち上げられるアプリケーションを選択する。ステップ908において、アプリケーション・ランチャは、アプリケーション・マネージャによって閉じられる。ステップ910において、ユーザが立ち上げを望むアプリケーションが、現在アクティブであるかどうかが判定される。ユーザが立ち上げを望むアプリケーションが、現在アクティブである場合、ユーザが立ち上げを望むアプリケーションは、ステップ912において現在のアプリケーションとされ、次いで、このプロセスは、ステップ913で終了する。
ユーザが立ち上げを望むアプリケーションが、現在アクティブでない場合、ステップ914において、現在のアプリケーションに対して、それがもはや現在のアプリケーションではないことが通知される。次いでステップ915において、選択されたアプリケーションのアプリケーション記述子が、スタックの最上位に移動される。その後、ステップ916において、アプリケーションを立ち上げるための立ち上げ機能が、検索される。ステップ918において、立ち上げ機能は、表示されるフォームを生成し、立ち上げられたアプリケーションを現在のアプリケーションにするように実行される。このプロセスは、ステップ920で終了する。
このようにして、ユーザは、ユーザが必要と考えるアプリケーション307を立ち上げる。したがって、立ち上げられたアプリケーションのすべては、図9を参照して以下で説明するようにそれらの間で切り替えることができる。
次に図9を参照すると、すでに立ち上げられているアプリケーション間で、1つを現在のアプリケーションにするために切り替えるためのステップの詳細を説明するフロー図が示される。このプロセスは、ステップ1000で開始する。ステップ1002において、ユーザは、アプリケーション・スイッチャを立ち上げる。ステップ1004において、ユーザは、アクティブなアプリケーションのリストから、ユーザが現在使用することを望むアプリケーションを選択する。ステップ1006では、現在のアプリケーションに対して、それがもはや現在のアプリケーションでないことが通知される。ステップ1008において、前の現在のアプリケーションが、アプリケーション記述子のスタックの最下位に移動される。
ステップ1010において、選択されたアプリケーションが、新しい現在のアプリケーションにされる。ステップ1012において、新しい現在のアプリケーションは、アプリケーション記述子のスタックの最上位に移動される。ステップ1014において、現在のアプリケーションに対して、その新しい状態が通知される。ステップ1016において、アプリケーション・スイッチャが閉じられる。このプロセスは、ステップ1018で終了する。
このようにして、ユーザは、立ち上げられたアプリケーション間を切り替えることができる。ユーザが、立ち上げられてないアプリケーションに切り替えることを望む場合、ユーザは図8を参照して示すようにアプリケーションを立ち上げる必要がある。
次に図10を参照すると、デバイスを起動または開始するためのステップの詳細を説明するフロー図が示される。このプロセスは、アプリケーション307のすべてを初期化するが、それらを立ち上げない。プロセスは、ステップ1202で開始する。ステップ1204において、アプリケーションが、登録されたアプリケーションのリストから選択される。ステップ1205において、初期化されていないアプリケーションがリスト上に残存しているかどうかが判定される。初期化されていないアプリケーションがリスト上に多数存在する場合、ステップ1210において、そのアプリケーション記述子が、登録されたアプリケーションのリストから検索される。
次いで、ステップ1212において、初期化機能が、そのアプリケーションのアプリケーション記述子から検索される。次いで、ステップ1214において、そのアプリケーションが、初期化機能を実行することによって初期化される。次いでプロセスは、ステップ1205に戻る。ステップ1205において、初期化されていないアプリケーションがリスト上に残存しないと判定される場合、プロセスは、アイドルの画面アプリケーションが立ち上げられるステップ1206に移る。このプロセスは、ステップ1208で終了する。
次に図11を参照すると、デバイスの電源を切るためのステップの詳細を説明するフロー図が示される。プロセスは、すべてのアクティブなアプリケーションを閉じ、次いで、デバイスの電源を切る前に非初期化する。このプロセスは、ステップ1302で開始する。ステップ1304において、次のアプリケーションが、アクティブなアプリケーションのスタックから検索される。ステップ1306において、アクティブなアプリケーションのすべてが、閉じられているかどうかが判定される。すべてのアクティブなアプリケーションが閉じられていると判定された場合、ステップ1308において、そのアプリケーションに対して、もはやアクティブなアプリケーションではないことが通知される。次いでステップ1310において、そのアプリケーションが、アクティブなアプリケーションのスタックから取り除かれ、プロセスは、ステップ1306に戻る。
すべてのアクティブなアプリケーションが、ステップ1306において閉じられたと判定された場合、プロセスは、ステップ1312に移り、ここでは、次のアプリケーションが、初期化されたアプリケーションのリストから検索される。ステップ1314において、すべてのアプリケーションが、非初期化されているかどうかが判定される。アプリケーションのすべてが非初期化されていない場合、プロセスは、ステップ1316に移り、ここでは、アプリケーション記述子が、初期化されたアプリケーションのリストから検索される。次いで、ステップ1318において、非初期化機能が、そのアプリケーション記述子から検索される。次いで、ステップ1320において、アプリケーションは、アプリケーションの非初期化機能を実行することによって非初期化される。次いで、このプロセスは、ステップ1314に移る。ステップ1314において、アプリケーションのすべてが、非初期化されていると判定された場合、このプロセスは、ステップ1322で終了する。
本明細書において説明したオペレーティング・システムおよびアプリケーション・マネージャは、適切にプログラミングされたデバイスを用いて実装され得る。そのようなデバイスは、当技術分野では良く知られており、たとえば、既知のプロセッサ、メモリ装置、ストレージ・デバイス、コンピュータ・ソフトウエア、および他の構成要素を用いて実装され得る。そのようなデバイスすなわち電話の例のハイレベルのブロック図が、図12に示される。電話1102は、プロセッサ1104を含有し、このプロセッサ1104は、電話1102の全体のオペレーションを定義するプログラム命令を実行することによってそのようなオペレーションを制御する。プログラム命令は、ストレージ・デバイス1112(たとえばフラッシュRAM)内に格納することができ、プログラム命令の実行が望まれるときにメモリ1110内にロードすることができる。
したがって、電話の機能は、メモリ1110および/またはストレージ1112内に格納されたプログラム命令によって定義され、その機能は、プログラム命令を実行するプロセッサ1104によって制御される。電話1102はまた、ネットワークを介して他のデバイスと通信するための1つまたは複数の無線送受信機1106およびアンテナ1105も含む。電話1102はまた、キーパッド1108、ディスプレイ1107、ならびにスピーカおよびマイク1109を含み、これは、電話1102とユーザの対話を可能にするデバイス(たとえばキーボード、マウス、ボタンなど)を示している。当業者は、実際の電話の実装には、他の構成要素も同様に含有されるはずであること、および図12は、例示的な目的でそのような電話の構成要素の一部のハイレベルな図であることを認識するであろう。
上述の詳細な説明は、すべての点において、制限的ではなく説明的および例示的であると理解されるものであり、本明細書において開示された本発明の範囲は、詳細な説明からではなく、特許法によって許容された全範囲に従って解釈される特許請求の範囲から決定されるものである。本明細書において図示され、説明された実施形態は、本発明の原理を例示するものにすぎないこと、および本発明の範囲および趣旨を逸脱することなく、さまざまな改変形態が、当業者によって実施され得ることを理解されたい。当業者は、本発明の範囲および趣旨から逸脱することなくさまざまな他の機能の組合せを実施することができる。

Claims (21)

  1. デバイス上で複数のアプリケーションを立ち上げるための方法であって、
    オペレーティング・システムの制御下でタスクを実行するステップと、
    前記タスク内でアプリケーション・マネージャを実行するステップと、
    前記アプリケーション・マネージャの制御下、前記タスク内で1つまたは複数のアプリケーションを立ち上げるステップと、
    前記アプリケーションの1つを現在のアプリケーションにするために、ユーザ制御下で前記アプリケーション間を切り替えるステップとを含む方法。
  2. 前記アプリケーションに関連するアプリケーション記述子のリストを管理するステップをさらに含み、
    ユーザ制御下で前記アプリケーション間を切り替えるステップが、1つの前記アプリケーションの前記アプリケーション記述子に基づいて表示を生成するステップを含む、請求項1に記載の方法。
  3. 各々のアプリケーション記述子が、立ち上げられたアプリケーションのフォームを含有する、請求項2に記載の方法。
  4. 前記アプリケーション記述子の各々が、1つのルートまたは親フォームを有する複数のフォームのツリーである、請求項3に記載の方法。
  5. フォームが、前記ユーザに表示される画像である、請求項4に記載の方法。
  6. 前記画像が、テキスト、図、ビットマップ、またはメニューからなる、請求項5に記載の方法。
  7. 前記携帯デバイスの電源が入れられたとき、すべての前記アプリケーションが、初期化されるが立ち上げられない、請求項1に記載の方法。
  8. 前記アプリケーションの1つに対する制御をユーザに与えるステップをさらに含む、請求項1に記載の方法。
  9. デバイス上で複数のアプリケーションを立ち上げるためのシステムであって、
    オペレーティング・システムの制御下でタスクを実行するための手段と、
    前記タスク内でアプリケーション・マネージャを実行するための手段と、
    前記アプリケーション・マネージャの制御下、前記タスク内でアプリケーションの1つまたは複数を立ち上げるための手段と、
    前記アプリケーションの1つを現在のアプリケーションにするために、ユーザ制御下で前記アプリケーション間を切り替えるための手段とを備えるシステム。
  10. 前記アプリケーションに関連するアプリケーション記述子のリストを管理するための手段をさらに備え、
    ユーザ制御下で前記アプリケーション間を切り替える前記手段が、1つの前記アプリケーションの前記アプリケーション記述子をユーザに対して画面上で示すための手段を備える、請求項9に記載のシステム。
  11. 各々のアプリケーション記述子が、前記立ち上げられたアプリケーションのフォームを含有する、請求項9に記載のシステム。
  12. 前記アプリケーション記述子の各々が、1つのルートまたは親フォームを有する複数のフォームのツリーである、請求項11に記載のシステム。
  13. フォームが、前記ユーザに表示される画像である、請求項12に記載のシステム。
  14. 前記画像が、テキスト、図、ビットマップ、またはメニューからなる、請求項13に記載のシステム。
  15. 前記携帯デバイスの電源が入れられたとき、すべての前記アプリケーションが、初期化されるが立ち上げられない、請求項9に記載のシステム。
  16. 前記アプリケーションの1つに対する制御をユーザに与える手段をさらに備える、請求項9に記載のシステム。
  17. 携帯デバイスであって、
    オペレーティング・システムと、
    前記オペレーティング・システムの制御下で実行するように構成されたタスクと、
    前記タスク内で実行するように構成されたアプリケーション・マネージャと、
    前記アプリケーション・マネージャの制御下、前記タスク内で立ち上がるように構成された1つまたは複数のアプリケーションと、
    前記アプリケーションの1つを現在のアプリケーションにするためのユーザ制御とを備える携帯デバイス。
  18. ディスプレイと、
    前記アプリケーションに関連するアプリケーション記述子とをさらに備え、前記ディスプレイが、1つの前記アプリケーションの前記アプリケーション記述子をユーザに対して前記ディスプレイ上で示すように構成される、請求項17に記載の携帯デバイス。
  19. 前記アプリケーション記述子を備えるフォームをさらに備える、請求項18に記載の携帯デバイス。
  20. 前記アプリケーション記述子の各々が、1つのルートまたは親フォームを有する複数のフォームのツリーである、請求項19に記載の携帯デバイス。
  21. フォームが、前記ディスプレイ上で前記ユーザに表示される画像である、請求項19に記載の携帯デバイス。
JP2009547206A 2007-01-23 2007-01-23 デバイス用シングル・スレッド・アーキテクチャにおけるアプリケーションの切り替え Pending JP2010517161A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2007/001739 WO2008091248A1 (en) 2007-01-23 2007-01-23 Application switching in a single threaded architecture for devices

Publications (2)

Publication Number Publication Date
JP2010517161A true JP2010517161A (ja) 2010-05-20
JP2010517161A5 JP2010517161A5 (ja) 2011-03-03

Family

ID=39644740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009547206A Pending JP2010517161A (ja) 2007-01-23 2007-01-23 デバイス用シングル・スレッド・アーキテクチャにおけるアプリケーションの切り替え

Country Status (5)

Country Link
US (1) US8819682B2 (ja)
EP (1) EP2126695A4 (ja)
JP (1) JP2010517161A (ja)
KR (1) KR20100014823A (ja)
WO (1) WO2008091248A1 (ja)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101430519B1 (ko) * 2007-09-04 2014-08-18 삼성전자주식회사 휴대 단말기 및 그의 대기화면에서의 어플리케이션 실행방법
KR101763595B1 (ko) 2010-11-16 2017-08-01 엘지전자 주식회사 모니터링 서비스를 위한 데이터를 처리하는 네트워크 tv의 제어 방법 및 상기 네트워크 tv
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US10631246B2 (en) 2011-02-14 2020-04-21 Microsoft Technology Licensing, Llc Task switching on mobile devices
US8893033B2 (en) 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
KR101209951B1 (ko) * 2011-06-10 2012-12-07 주식회사 캐스트이즈 안드로이드 어플리케이션 실행 요청에 따른 어플리케이션별 연계 작업 사전 수행 장치 및 방법
US9417754B2 (en) * 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US9223472B2 (en) 2011-12-22 2015-12-29 Microsoft Technology Licensing, Llc Closing applications
US10007554B2 (en) * 2013-03-13 2018-06-26 Microsoft Technology Licensing, Llc Task scheduling based on user interaction
US9715282B2 (en) 2013-03-29 2017-07-25 Microsoft Technology Licensing, Llc Closing, starting, and restarting applications
CN103796066B (zh) 2014-01-21 2017-08-04 上海晨思电子科技有限公司 一种智能电视系统及其关机和开机方法
KR102298602B1 (ko) 2014-04-04 2021-09-03 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 확장가능한 애플리케이션 표시
WO2015154273A1 (en) 2014-04-10 2015-10-15 Microsoft Technology Licensing, Llc Collapsible shell cover for computing device
KR20160143784A (ko) 2014-04-10 2016-12-14 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 컴퓨팅 디바이스용 슬라이더 커버
US20160077709A1 (en) * 2014-09-12 2016-03-17 Microsoft Corporation Actionable item switcher
CN106662891B (zh) 2014-10-30 2019-10-11 微软技术许可有限责任公司 多配置输入设备
CN106126322A (zh) * 2016-06-14 2016-11-16 深圳市万普拉斯科技有限公司 应用启动控制方法及装置
US11055110B2 (en) * 2018-06-05 2021-07-06 Microsoft Technology Licensing, Llc Operating system service for persistently executing programs

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005005909A (ja) * 2003-06-10 2005-01-06 Sony Ericsson Mobilecommunications Japan Inc 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器
JP2005284906A (ja) * 2004-03-30 2005-10-13 Kyocera Corp 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608395A (en) * 1994-06-22 1997-03-04 The Hugh Macmillan Rehabilitation Centre Simplified computer access system
US5974438A (en) * 1996-12-31 1999-10-26 Compaq Computer Corporation Scoreboard for cached multi-thread processes
US6098169A (en) * 1997-12-23 2000-08-01 Intel Corporation Thread performance analysis by monitoring processor performance event registers at thread switch
US6986141B1 (en) 1998-03-10 2006-01-10 Agere Systems Inc. Context controller having instruction-based time slice task switching capability and processor employing the same
US6931544B1 (en) * 1998-12-18 2005-08-16 The Sco Group, Inc. Method and apparatus for executing multiple JAVA(™) applications on a single JAVA(™) virtual machine
US6401155B1 (en) * 1998-12-22 2002-06-04 Philips Electronics North America Corporation Interrupt/software-controlled thread processing
US6823517B1 (en) 2000-01-27 2004-11-23 Andrew E. Kalman Multi-tasking-real-time operating system for microprocessors with limited memory that constrains context switching to occur only at task level
JP3674453B2 (ja) 2000-04-14 2005-07-20 株式会社デンソー 対話型ユーザインターフェース装置
US6938251B1 (en) * 2000-09-29 2005-08-30 Sprint Communications Company L.P. Deferred-Synchronous messaging software in a non-threaded environment
US20020137543A1 (en) * 2001-03-23 2002-09-26 Murnaghan Matthew J. Handheld wireless communication device
US6957071B1 (en) 2001-07-18 2005-10-18 Cisco Technology, Inc. Method and system for managing wireless bandwidth resources
EP1286549A3 (en) * 2001-08-21 2003-04-02 Canal+ Technologies Société Anonyme Receiver/decoder and module for use with a receiver/decoder
JP3758554B2 (ja) * 2001-10-31 2006-03-22 ソニー株式会社 情報提供システム及び情報提供方法、記憶媒体、並びにコンピュータ・プログラム
JP2003162355A (ja) 2001-11-26 2003-06-06 Sony Corp タスクの表示切り替え方法及び携帯機器及び携帯通信機器
US7349688B2 (en) 2001-12-07 2008-03-25 Ntt Docomo, Inc. Mobile communications terminal, application program execution state control method, and execution state control computer program product
JP4039851B2 (ja) 2001-12-07 2008-01-30 株式会社エヌ・ティ・ティ・ドコモ 移動通信端末、アプリケーションプログラムの実行状態制御方法、アプリケーションプログラム、及びアプリケーションプログラムを記録した記録
JP4054572B2 (ja) * 2001-12-17 2008-02-27 キヤノン株式会社 アプリケーション実行システム
US7003332B2 (en) * 2002-10-17 2006-02-21 Harris Corporation Method and system for decreasing power-on time for software-defined radios
JP4205980B2 (ja) * 2003-03-28 2009-01-07 株式会社エヌ・ティ・ティ・ドコモ 端末装置およびプログラム
US7509487B2 (en) * 2003-09-29 2009-03-24 Gemalto Inc. Secure networking using a resource-constrained device
US20050107073A1 (en) * 2003-11-13 2005-05-19 Michael Cheiky Multimedia data streaming in a single threaded mobile communication device operating environment
US7631307B2 (en) * 2003-12-05 2009-12-08 Intel Corporation User-programmable low-overhead multithreading
US7730479B2 (en) * 2004-03-30 2010-06-01 Kyocera Corporation Cell-phone terminal, program management method and computer program of same
US7950018B2 (en) * 2004-07-21 2011-05-24 International Business Machines Corporation Synchronizing execution using a single-threaded scripting model
US20060047495A1 (en) * 2004-09-01 2006-03-02 Jesus Sanchez Analyzer for spawning pairs in speculative multithreaded processor
US20080005438A1 (en) * 2004-12-30 2008-01-03 Bin Xing Methods and Apparatuses to Maintain Multiple Execution Contexts
CN101103617A (zh) * 2005-01-31 2008-01-09 诺基亚公司 阻止由事件引起的运行中的应用的中断的方法和设备
US7761853B2 (en) * 2005-02-25 2010-07-20 Kyocera Corporation Portable terminal device, method for restoring program, method for terminating program, and computer program therefor
US7581192B2 (en) * 2005-03-31 2009-08-25 Microsoft Corporation Method and apparatus for application window grouping and management
US7509094B2 (en) * 2005-06-30 2009-03-24 Modu Ltd. Wireless telecommunication device and uses thereof
US7973967B2 (en) * 2006-11-16 2011-07-05 Canon Kabushiki Kaisha Pseudo-multithread framework for XPSDrv filter pipeline
US8078188B2 (en) * 2007-01-16 2011-12-13 Qualcomm Incorporated User selectable audio mixing

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005005909A (ja) * 2003-06-10 2005-01-06 Sony Ericsson Mobilecommunications Japan Inc 競合管理プログラム,競合管理プログラムが記憶された記憶媒体,競合管理方法及び電子機器
JP2005284906A (ja) * 2004-03-30 2005-10-13 Kyocera Corp 携帯電話端末装置及びプログラム管理方法並びにそのコンピュータプログラム

Also Published As

Publication number Publication date
US20100138834A1 (en) 2010-06-03
KR20100014823A (ko) 2010-02-11
US8819682B2 (en) 2014-08-26
WO2008091248A1 (en) 2008-07-31
EP2126695A1 (en) 2009-12-02
EP2126695A4 (en) 2010-05-05

Similar Documents

Publication Publication Date Title
JP2010517161A (ja) デバイス用シングル・スレッド・アーキテクチャにおけるアプリケーションの切り替え
CN105955766B (zh) 应用预加载方法及装置
KR101677956B1 (ko) 이용자 인터페이스를 갖는 모바일 디바이스
KR101359058B1 (ko) 이동 디바이스에서 멀티태스킹을 지원하기 위한 방법
US20160342290A1 (en) Method for displaying applications and electronic device thereof
US9361132B2 (en) System and method for providing application-based user interface features on a computing device
EP1463279B1 (en) Terminal device with suspend/resume function and related computer program product
US20090031243A1 (en) Method and apparatus for controlling display of windows
US20100058045A1 (en) Method and apparatus for fast booting a portable computing device allowing for immediate operation
WO2016025657A1 (en) Quick navigation of message conversation history
KR20090037954A (ko) 이동 장치에서 단축 키의 보유
CN102065178A (zh) 应用功能的快捷启动方法和移动终端
KR20080070683A (ko) 이동장치상에 정보를 디스플레이하는 시스템
CN105930213B (zh) 应用运行方法及装置
CN104281478B (zh) 更新应用程序的方法及装置
US20090125839A1 (en) Method and apparatus for controlling display of windows
WO2006035658A1 (ja) 携帯通信機器、および携帯通信機器用アプリケーション実行環境ソフトウェア
WO2022048491A1 (zh) 应用运行方法、装置和电子设备
CN106991005A (zh) 操作系统的切换方法及装置
CN111857531A (zh) 移动终端及其文件显示方法
CN111459565A (zh) 一种客户端页面渲染的方法、装置及移动终端
CN106980481B (zh) 一种图像显示方法及设备
CN108958824A (zh) 应用程序的启动方法、装置、电子设备及存储介质
EP2466458B1 (en) Application launching control on a mobile device
CN107943533B (zh) 图像获取方法、装置、存储介质及电子设备

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20120501

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20120510

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120710

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121225

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130325

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130625

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140326

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140513

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20140627

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140729

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140801