JP2008500647A - アプリケーションを再起動するときに、アプリケーション状態の履歴情報を使用する方法、ソフトウェア、および装置 - Google Patents

アプリケーションを再起動するときに、アプリケーション状態の履歴情報を使用する方法、ソフトウェア、および装置 Download PDF

Info

Publication number
JP2008500647A
JP2008500647A JP2007515374A JP2007515374A JP2008500647A JP 2008500647 A JP2008500647 A JP 2008500647A JP 2007515374 A JP2007515374 A JP 2007515374A JP 2007515374 A JP2007515374 A JP 2007515374A JP 2008500647 A JP2008500647 A JP 2008500647A
Authority
JP
Japan
Prior art keywords
application
information
computing device
history information
application state
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.)
Granted
Application number
JP2007515374A
Other languages
English (en)
Other versions
JP4740238B2 (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2008500647A publication Critical patent/JP2008500647A/ja
Application granted granted Critical
Publication of JP4740238B2 publication Critical patent/JP4740238B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

コンピューティングデバイス上での第1のアプリケーションの実行と関係付けられた動的なアプリケーション状態情報の履歴スナップショットを含む、アプリケーション状態の履歴情報を保存するシステム。アプリケーション状態の履歴情報は、第1のアプリケーションの後の再起動で使用するために保存される。
【選択図】 図1

Description

本発明は、概ね、ソフトウェアアプリケーションを再起動すること、より具体的には、多数のソフトウェアアプリケーションの制御された再起動に関する。
技術における進歩は、より小型で、より強力なパーソナルコンピューティングデバイスをもたらした。例えば、現在、小型で、軽量で、ユーザによって容易に持ち運びされることができる種々の携帯型無線電話、パーソナルディジタルアシスタント(personal digital assistant, PDA)、およびページングデバイスが存在する。一般に、これらのデバイスは、厳しく資源を制約されている。例えば、スクリーンサイズ、使用可能なメモリおよびファイルシステム空間の量、入力および出力能力の量、並びに処理能力は、各々、デバイスの小さいサイズによって制限され得る。
幾つかのデバイスまたはプラットフォームは、アプリケーションの1つのインスタンスのみを可能にする。このような場合は、一度に、アプリケーションの1つのバージョンのみが実行され得る。したがって、1つのインスタンスに限定されている現在実行しているアプリケーションを再実行する試みに応答して、アプリケーションの現在のバージョンを終了し、新しいものを開始しなければならないか、または現在実行しているバージョンが実行を継続することを許されるときは、再実行に対する要求が拒絶されなければならない。
幾つかのデバイスは、マルチプルフレームであり、ユーザに表示される異なるアプリケーションのウインドウイングを可能にしている。このようなデバイスは、一般に、アプリケーションを1つのインスタンスに限定しない。したがって、アプリケーション自体が、自分自身を1つのインスタンスに限定しない限り、デバイスは、システムに、このようなアプリケーションの多数のインスタンスの実行を可能にすることを許す。このようなシステムにおいて、任意の1つの特定のアプリケーションの少なくとも2つのインスタンスが同時にアクティブである状態は、各このようなアプリケーションを現在実行している状態に維持するのに、全システム資源が必要とされることを要求する。他のシステムは、シングルフレームのシステムであり、ここでは、1つのみのアプリケーションが現在のアプリケーションであると見なされる、すなわち、言い換えると、1つのみのアプリケーションが、現在の焦点をもつと見なされる。現在のアプリケーションは、通常、全ユーザの入力および出力の対話を受信し、与える。一般に、このようなシステムは、任意の1時点において、関係付けられたディスプレイ上で1つのみのアプリケーションを見えるようにすることによって特徴付けられる。現在のアプリケーションとして見なされるアプリケーションと、新しい現在のアプリケーションになるように目標にされている新しいアプリケーションとの間で移動(traversal)があると、新しい目標のアプリケーションが、現在のアプリケーションになり、このような目標のアプリケーションが、対応するフレームを埋める。
アプリケーションは、しばしば、異なるモードをもち、ここで、モードは、所与のフレームにおいて見ることができるものを定めている。幾つかのアプリケーションは、多数のモードの中の任意の1つにおいて開始され(マルチモーダル(multi-modal))、一方で、他のアプリケーションは、1つのモードのみにおいて開始され得る(シングルモーダル(single-modal))。したがって、シングルモーダルのアプリケーションは、常に、同じ1つの予め定められた状態において実行を始める。すなわち、アプリケーションが起動されるときは必ず、アプリケーションは、同じユーザインターフェース(user-interface, U/I)のスクリーンをユーザに表示し、ユーザに同じ機能的動作を与える。例えば、コンピュータゲームは、しばしば、シングルモーダルタイプであるように設計され、起動されるとき、このようなアプリケーションは、ユーザに、ゲームの同じスタートアップビュー、一般に、ゲームの標準開始点を表示する。対照的に、マルチモーダルアプリケーションは、多数の予め定められた状態の中の任意の1つにおいて実行を開始することができるアプリケーションである。したがって、このようなアプリケーションが、希望のモードに依存して、起動されるとき、このようなアプリケーションは、ユーザに、1つの特定の希望のモードおよびアプリケーションの機能の両者を表示する。例えば、幾つかの電子メールプログラムは、マルチモーダルアプリケーションとして設計され、ここでは、1つのモードは、例えば、“作成”モードであり、一方で、別のモードは、例えば、“新しいメールの読み出し”モードである。したがって、電子メールプログラムは、起動されるとき、所与のモードの一方において実行するように開始されなければならない。
マルチモーダルアプリケーションが、1つのインスタンスの環境において起動されるとき、このようなアプリケーションは、それらの所与の多数のモードの1つにおいて実行を開始しなければならない。しかしながら、1つのインスタンスの環境において、異なるモードへの切り換えが望まれるときは、マルチモーダルアプリケーションを再起動して、新しいモードにおいて実行を始めなければならない。再起動されると、前のモードの情報は失われ、したがって、このようなアプリケーションの再実行または再起動時に、検索されることができない。したがって、アプリケーションの異なるモードの各々は、別々のアプリケーションとして与えられなければならず、自分自身のメモリ、ファイルシステム、等の消費を要求する。したがって、異なるモード間における切り換え前に、希望のアプリケーションが実行されていても、同じアプリケーションが、新しいモードにおける別のアプリケーションとして再び実行されなければならない。シャットダウンおよびスタートアップアプリケーションのプロセスは、各々、とくに厳しく資源を制約されたデバイスにおいて、制限された資源を相当に使用することを必要とする。
幾つかのアプリケーションは、ある特定の動的なアプリケーション状態情報が、そのようなアプリケーションの有用性に影響を与え得る多数の状態をもつことが知られている。このような情報は、アプリケーションモードではなく、ユーザインターフェースデータ情報と呼ばれ得る。このようなユーザインターフェースデータ情報は、例えば、このようなアプリケーションを動作しているユーザにとって有用なブラウザアプリケーションからのプログラムの正方向および逆方向のリンク情報を含むことができる。ブラウザが使用され、正方向および逆方向リンクを集めたものが生成されるとき、および新しいブラウザアプリケーションが最初のブラウザアプリケーション内から実行されるとき、新しいブラウザ内の動作は、正方向および逆方向リンクなしに始まり、ユーザが最初のブラウザアプリケーション上で前のリンクに行きたいとき、ユーザは、このような動作を行うオプションを与えられないであろう。
他のアプリケーションを起動するアプリケーションは、一般に、制限された動作能力をもつ。例えば、前の現在のアプリケーションによって呼び出されたアプリケーションが終了するとき、このようなシステムは、前の現在のアプリケーションへの後方追跡(または、再起動)を与えない。同様に、現在のシステムは、前の現在のアプリケーションの任意の再起動のための履歴情報を通さない。現在、例えば、電子メールアプリケーションが、現在、現在のアプリケーションとして“作成”モードで実行している少なくとも1つの電子メールアプリケーションにおいて、このようなモードである間に、デバイスが、新しい電子メールメッセージの受信の通知を受信すると、新しい電子メールアプリケーションが実行され、新しい電子メールが表示される。さらに加えて、少なくとも1つの電子メールアプリケーションにおいて、同じ状況のもとで、アプリケーションは、新しいモードにおいてアプリケーションを実行するのではなく、その代りに、現在のアプリケーションを現在のものとして維持し、電子メール通知メッセージを無視する。
したがって、アプリケーションの再起動を支援するデバイスまたはプラットフォーム、あるいはこの両者であって、再起動が、このようなアプリケーションの前の起動と関係付けられている同じモードおよび/または状態情報を使用して、アプリケーションを実行することを含むものが、当技術において必要とされている。さらに加えて、アプリケーションの追加のインスタンスを開始する必要なしに、マルチモードアプリケーションの再起動を支援するデバイスまたはプラットフォームも、当技術において必要とされている。
本明細書に開示されている実施形態は、上述の必要に対処しており、例えば、方法、ソフトウェア、および装置が、アプリケーション状態の履歴情報の保存を含めて、コンピューティングデバイス上でアプリケーションを制御し、実行するのに使用される1つ以上の実施形態を含む。アプリケーション状態の履歴情報は、第1のアプリケーションの実行と関係付けられた動的なアプリケーション状態情報の履歴スナップショットを含む。さらに、このような保存されているアプリケーション状態の履歴情報は、第1のアプリケーションの再起動時に、後で使用するために保存される。さらに加えて、このような実施形態には、コンピューティングデバイス上での第2のアプリケーションの起動も含まれる。
少なくとも1つの実施形態では、方法、ソフトウェア、および装置は、保存されているアプリケーション状態の履歴情報を検索するのに使用される。アプリケーション状態の履歴情報は、コンピューティングデバイス上で前に実行した前の第1のアプリケーションと関係付けられた動的なアプリケーション状態情報の履歴スナップショットを含む。さらに加えて、実施形態は、検索されたアプリケーション状態の履歴情報を使用して、コンピューティングデバイス上で前の第1のアプリケーションを再起動する。
少なくとも1つの実施形態では、方法、ソフトウェア、および装置は、コンピューティングデバイス上で実行している第1のアプリケーションを出て、一方で第1のアプリケーションと関係付けられたアプリケーション状態の履歴情報を保存するのに使用される。第2のアプリケーションは、第1のアプリケーションを出ることに応答して起動される。さらに加えて、第2のアプリケーションを出る。第1のアプリケーションと関係付けられた保存されているアプリケーション状態の履歴情報が検索される。コンピューティングデバイス上の第1のアプリケーションは、第2のアプリケーションを出ることに応答して、再起動される。第1のアプリケーションは、検索されたアプリケーション状態の履歴情報を使用して、再起動される。
少なくとも1つの実施形態では、コンピューティングデバイス上で第1のアプリケーションを実行するのに使用される方法、ソフトウェア、および装置を含む。第1のアプリケーションから第2のアプリケーションへの呼び出しが生成される。第2のアプリケーションへの呼び出しを検出することに応答して、第1のアプリケーションを出る。第1のアプリケーションと関係付けられたアプリケーション状態の履歴情報は、第2のアプリケーションへの呼び出しに応答して保存される。さらに加えて、第2のアプリケーションは、第2のアプリケーションへの呼び出しに応答して起動される。実施形態は、第2のアプリケーションの終了を検出する。第1のアプリケーションと関係付けられた保存されているアプリケーション状態の履歴情報は、第2のアプリケーションの終了を検出することに応答して検索される。実施形態は、第2のアプリケーションの終了を検出することに応答して、検索されたアプリケーション状態の履歴情報を使用して、第1のアプリケーションを再起動する。
少なくとも1つの実施形態には、メモリと、メモリに記憶されていて、動的なアプリケーション状態情報を生成するように動作可能なアプリケーションと、アプリケーションが実行されるメモリに記憶されているランタイム環境と、メモリに結合されていて、アプリケーション状態の履歴情報を保存するためのコードを実行するように動作可能なプロセッサとを使用する方法、ソフトウェア、および装置が含まれる。なお、アプリケーション状態の履歴情報は、動的なアプリケーション状態情報の履歴スナップショットを含む。動的なアプリケーション状態情報は、コンピューティングデバイス上で現在実行しているアプリケーションと関係付けられている。実施形態において、アプリケーション状態の履歴情報は、コンピューティングデバイス上で現在実行しているアプリケーションを後で再起動するのに使用される。
少なくとも1つの実施形態は、メモリと、メモリに記憶されていて、動的なアプリケーション状態情報を生成するように動作可能なアプリケーションと、アプリケーションが実行されるランタイム環境と、メモリに結合されていて、保存されているアプリケーション状態の履歴情報を検索するためのコードを実行するように動作可能なプロセッサとを使用する方法、ソフトウェア、および装置を含む。アプリケーション状態の履歴情報は、前の目標のアプリケーションと関係付けられた動的なアプリケーション状態情報の履歴スナップショットを含み、前の目標のアプリケーションは、コンピューティングデバイス上で前に実行していたものである。
少なくとも1つの実施形態の少なくとも1つの長所は、前のモードまたは状態、あるいはこの両者において、前に実行していたアプリケーションへ戻るイグジット(exiting)機能を支援する能力を与えることを含む。さらに、少なくとも1つの実施形態の少なくとも1つの長所は、同じアプリケーションの再起動を試みるときに、現在実行しているプログラムのアクティブな実行を保持する能力を与えることを含む。少なくとも1つの実施形態の少なくとも1つの長所は、異なるモードを使用して、同じアプリケーションを後で呼び出すときに、マルチモーダルアプリケーションの1つのみのインスタンスを維持する能力を与えることを含む。少なくとも1つの実施形態の少なくとも1つの長所は、アプリケーションの実行を開始することなく、前に実行していたアプリケーションへ戻るデバイスの能力と共に、メモリおよびプロセッサの資源を保存すること、およびより良いユーザ経験を与えることを含む。
本発明の他の態様、長所、および特徴は、次のセクション、すなわち、図面の簡単な説明(Brief Description of the Drawing)、発明を実施するための最良の形態(Detailed Description)、および特許請求の範囲(Claims)を含む、出願全体を詳しく調べた後に、明らかになるであろう。
本明細書に記載されている実施形態の上述の態様およびそれに伴う長所は、次の詳細な説明を参照することによって、添付の図面と共に採用するときに、より容易に明らかになるであろう。
“例示的”という用語は、本明細書において、“例、事例、または実例としての役割を果たす”ことを意味するために使用されている。本明細書に記載されている何れの実施形態も、他の実施形態よりも好ましいまたは好都合であると、必ずしも、解釈されると限らない。
次の詳細な記述は、コンピューティングデバイス上でアプリケーションを実行するのに使用される方法、ソフトウェア、および装置を記載しており、アプリケーション状態の履歴情報を使用して、コンピューティングデバイス上でのアプリケーションの実行を制御するための方法、ソフトウェア、および装置を含む。1つ以上の実施形態では、コンピューティングデバイスは、埋め込まれた制御装置および制限された資源(すなわち、制限されたメモリ容量、ディスプレイ領域、およびファイルシステム空間)をもち、コンピューティングデバイスは、常駐アプリケーションの実行を制御するときに、アプリケーション状態の履歴情報を使用するように動作する。
1つ以上の実施形態において、コンピューティングデバイス上でアプリケーションを実行するのに使用されるシステムは、コンピューティングデバイス上で実行しているランタイム環境と対話し、これは、例えば、一般化された呼び出しをデバイス専用の資源に与えることによって、デバイスの動作を単純化するのに使用される。1つのこのようなランタイム環境は、カリフォルニア州サンディエゴのQUALCOMM,Inc.によって開発されたBinary Runtime Enviroment for Wireless(登録商標)(BREW)(商標)のソフトウェアプラットフォームである。次の記述では、コンピューティングデバイス上でアプリケーションを実行するのに使用されるシステムは、BREWソフトウェアプラットフォームのような、ランタイム環境を実行するポータブルデバイス上で実施されると仮定される。しかしながら、コンピューティングデバイス上でアプリケーションを実行するのに使用されるシステムの1つ以上の実施形態は、コンピューティングデバイス上でのアプリケーションの実行を制御する他のタイプのランタイム環境で使用するのに適している。
図1は、コンピューティングデバイス100の1つの例示的な実施形態を示している。本明細書において使用されているように、“コンピューティングデバイス”は、メモリに記憶されているソフトウェアモジュールを実行する1つ以上のプロセッシング回路、例えば、マイクロプロセッサ、ディジタル信号プロセッサ(digital signal processor, DSP)、マイクロコントローラ、携帯型無線電話、パーソナルディジタルアシスタント(personal digital assistant, PDA)、ページングデバイス、あるいはハードウェア、メモリに記憶されているソフトウェア、および/またはアプリケーションが維持されているファームウェアの任意の適切な組み合わせを含む。デバイスは、メモリ102、ネットワークのI/Oインターフェース104、ユーザのI/Oインターフェース106、プロセッサ108、およびバス110を含んでいる。メモリ102はRAMの1つの連続したユニットとして示されているが、他の実施形態は、メモリ102として、多数の位置および多数のタイプのメモリを使用する。ネットワークのI/Oインターフェース104は、バス110を介してネットワークに接続された全デバイスへ入力および出力を与える。ユーザのI/Oインターフェース106は、コンピューティングデバイス100のユーザへ入力および出力を与える。プロセッサ108は、バス110を介して与えられる命令およびデータに対して動作する。
メモリ102内には、第1のアプリケーション112、第2のアプリケーション114、ランタイム環境116、動的なアプリケーション状態情報118、およびアプリケーション状態の履歴情報120が置かれている。第1のアプリケーション112および第2のアプリケーション114は、コンピューティングデバイス100に適合するアプリケーションを表し、ランタイム環境116との対話ができる。既に記載したように、ランタイム環境116は、コンピューティングデバイス上で、例えば、一般化された呼び出しをデバイス専用の資源に与えることによって、デバイスの動作を単純化するように実行する。示されているランタイム環境は、BREW(商標)であるが、他の例示的な実施形態では、同様の機能性を与える他のランタイム環境116が使用される。
動的なアプリケーション状態情報118は、このようなデバイス上でアプリケーションを実行するときに使用される情報の全てまたは一部を含む。動的なアプリケーション状態情報118は、アプリケーションの実行中に更新されるか、または変更されることができるデータである。このような動的なアプリケーション状態情報118は、特定のアプリケーション識別子、アプリケーションモード情報、ユーザインターフェースデータ情報、並びに可変の、レジスタおよび他の記憶データ構造に記憶され得る他の同様の情報の任意の1つ以上を含み得る。
アプリケーション識別子は、特定のアプリケーションを固有に識別する情報を含んでいる。したがって、一般に、各アプリケーション識別子は、アプリケーションコードの固有の組を表すであろう。しかしながら、1つの例示的な実施形態では、同じコードをもつアプリケーションが、別のアプリケーション識別子を与えられ、その結果、そのアプリケーションは、システムによって互いに全く無関係であるように扱われる。
アプリケーションモード情報は、例えば、同じアプリケーションの異なる別個の機能的側面(例えば、電子メールプログラムの作成モードおよび新しいメールの読み出しモード)を表し、アプリケーションの表示または機能的な動作、あるいはこの両者は、同じアプリケーションの異なる部分間で相当に異なる。前のアプリケーションモードは、例えば、第1のアプリケーション112から第2のアプリケーション114へ呼び出しのために、またはそれを予期して、前に中断されたアプリケーションモードである。一般に、前のモード内容は、第2のアプリケーションから戻るとき、第1のアプリケーションを後で再起動するときに使用するために、アプリケーションの履歴に記憶される。
ユーザインターフェースデータ情報は、例えば、その潜在的な実行に影響を与えるアプリケーションによって生成されるか、または使用される、ほとんどのデータを表す。比較的に重要なユーザインターフェースデータ情報の1つの例は、ブラウザアプリケーションと関連して記憶される情報を含み、これは、ブラウザアプリケーションによって前に訪問されたウェブページを表すリンクのリストを含む。このような情報は、それがプログラムの使用に相当に影響を与えるという点で比較的重要である。例えば、正方向および逆方向リンクは、通常、比較的によく使用され、大抵のブラウザがもっている比較的に非常に貴重な特徴であることが知られている。ユーザインターフェースデータ情報の別の例は、リスト位置マーカを含み、その結果、アプリケーションが再開されると、同じリストを、しかもリスト内の同じ位置を表示し得る。このように、ユーザインターフェースデータ情報は、アプリケーションを出るときに失われるであろう情報であって、対応するアプリケーションの再実行時に自動的にロードされる価値があると考えられ得る種々の情報を含み得る。
アプリケーション状態の履歴情報120は、動的なアプリケーション状態情報118において使用可能な情報のタイプを含む。したがって、アプリケーション状態の履歴情報120は、特定のさらに前の時点に存在していた動的なアプリケーション状態情報118を表す。したがって、アプリケーション状態の履歴情報118は、前の時点からの古くなった動的なアプリケーション状態情報118を反映している。このような情報は履歴であるが、これは、このような情報が、デバイスの現在の状態に等しくないことを意味しているのではなく、むしろ、単に、前の時間における動的なアプリケーション状態情報118の状態を反映する履歴のスナップショットを表し、その後で、デバイスは、通常、このような値を自由に変更する。
示されているように、第1のアプリケーション112、第2のアプリケーション114、およびランタイム環境116は、各々、アプリケーション状態の履歴情報120を保存するためのコード122と、アプリケーション状態の履歴情報120を検索するためのコード124との両者を含むコードのオプションの組を含む。このようなコードは、このようなアプリケーションおよびランタイム環境の各々にオプションで存在することが示されているが、多数の例示的な実施形態は、このようなアプリケーションおよびランタイム環境全体で、このようなコードを任意の組み合わせで置くことを含む。例えば、1つの実施形態では、ランタイム環境116は、アプリケーション状態の履歴情報120を保存するためのコード122と、第1および第2のアプリケーション112および114の両者からのアプリケーション状態の履歴情報120を検索するためのコード124との両者によって呼び出されるモジュールを含む。一般に重要なことは、コードが少なくとも1つの位置に存在すること、およびこのようなコードが、保存および検索の両者を行い、その結果、アプリケーション状態の履歴情報120が、前に実行していたアプリケーションの再実行を制御するのに使用できることである。
最後に、現在のアプリケーションの指標126および前の現在のアプリケーションの指標128も示されている。対応する時間フレームにおいて、例えば、第2のアプリケーション114は現在のものであり、一方で、第1のアプリケーション112は前の現在のアプリケーションである。既に記載したように、コンピューティングデバイス100は、任意の時間点において、1つのみのアプリケーションが現在のものであることを許すので、1つのみのアプリケーション(すなわち、第2のアプリケーション114)が、任意の一時点において現在のアプリケーションであると正しく示すことができる。
図2は、コンピューティングデバイス上でアプリケーションを実行するフローチャートの1つの例示的な実施形態200を示している。具体的には、図2は、このようなアプリケーションを実行するときのアプリケーション状態の履歴情報120の使用を記載している。プロセスは、ステップ202において始まり、ここでは、アプリケーションの最初の実行204が始まる。通常、アプリケーションの最初の実行は、このようなアプリケーションへのやがてやって来る呼び出しの検出またはアプリケーション自体内での命令の実際の実行であると考えられ得る。
ステップ204におけるアプリケーションの最初の実行に続いて、ステップ206において実行のタイプを検出する。ここで、実行が、“起動”であるか、または“再起動”であるかについて判断される。なお、“起動”は、まだ出たことがないアプリケーションへの最初の呼び出しを表し、“再起動”は、後で出るプログラムからのイグジット(exit)からの戻りに基づく、アプリケーションへの後の呼び出しを表す。言い換えると、前のアプリケーションからの逆方向の戻りのために、アプリケーションへの呼び出しが行われるとき、このような動作は、“再起動”であり、一方で、別のアプリケーションからの正方向の呼び出しは、“起動”を表す。
起動が検出されるときは、プロセスは続いて、ステップ208において、動的なアプリケーション状態情報118を最初のデフォルト設定に設定する。ここで、データアプリケーションは、このようなアプリケーションの何れの前の状態の履歴も反映していない最初の状態から開始するように設定されている。しかしながら、再起動が検出されるときは、その代わりに、プロセスは続いて、ステップ210において、アプリケーションは、動的なアプリケーション状態情報118を、対応するアプリケーション状態の履歴情報120に設定し、アプリケーションを前に出たときに提示された設定を反映するアプリケーションの前の状態に初期設定される。しかしながら、他の実施形態は、再起動時に、例えば、アプリケーションが常に最初の設定に初期設定されるときは、動的なアプリケーション状態情報118を、アプリケーションをさらに前に出たときに提示されたデータ以外のデータに割り当てるか、または設定する。起動または再起動ステップ208および210に続くのは、ステップ212におけるアプリケーションの実行を継続するステップである。
アプリケーションがステップ212において実行し続ける一方で、アプリケーションは監視され、ステップ214においてアプリケーションの実行状況の迫っている損失を検出するか、またはステップ218においてアプリケーションの終了を検出する。起動または再起動の検出と同様に、このような検出は、アプリケーション自体の中で、またはその外で行うことができる。1つの実施形態では、実行状況の迫っている損失の検出は、別のアプリケーションへの呼び出しを行なう呼び出しタイプのコマンドと関係付けられたコンピュータの命令によって検出される。別の実施形態では、検出は、ランタイム環境のような現在のアプリケーションの外で、呼び出されたアプリケーションで、または他の同様の位置で行われる。さらに加えて、1つの実施形態は、アプリケーション内のイグジットタイプの命令と関係付けられたコードによって、アプリケーションの終了を検出する。しかしながら、他の実施形態は、ランタイム環境、戻ったアプリケーション、または他の同様の位置において、このような終了を検出する。1つの実施形態では、システムは、実行状況の迫っている損失のアプリケーションを通知する。
ステップ214において実行状況の迫っている損失が検出されると、ステップ216において、動的なアプリケーション状態情報118が、アプリケーション状態の履歴情報120に保存される。ステップ216における動的なアプリケーション状態情報118のこのような保存、またはステップ218におけるアプリケーションの終了の検出に続いて、ステップ220においてプロセスが終わる。
図3は、コンピューティングデバイス100の1つの例示的な実施形態300を、アプリケーションの呼び出しとシステムに関係する情報との間の相互関係を表示するテーブルの形で示している。システムに関係する情報は、4列で示されており、列1には、アプリケーション実行順序302および関係付けられたアプリケーションモード304、列2には、現在実行しているアプリケーション306および対応するアプリケーションモード304、列3には、アクティブなインスタンス308、列4には、アプリケーション状態の履歴情報120があり、これは、前の目標のアプリケーション312、さらに前の目標のアプリケーション314、前のモード情報316、および前のユーザインターフェースデータ情報318を含んでいる。さらに、テーブルの行は、異なる目標のアプリケーション340、342、344および346への、およびそこからの、異なるアプリケーションの呼び出しおよび戻り(320、322、324、326、328、330、332、334、336、および338)、または起動および再起動に対応する異なる状態を反映している。
示されているように、プロセスは、ノード348において始まり、ここでは、電子メールアプリケーション340への呼び出しが、“作成”モード350において開始される。その結果、現在実行しているアプリケーション306は、電子メールアプリケーション340になり、現在のアプリケーションモード304は、“作成”モード350になる。このとき、アクティブなインスタンス308は、電子メールアプリケーション340を含んでおり、一方で、アプリケーション状態の履歴情報120は、空のままである。
次に、現在実行しているアプリケーション306(電子メール340)は、呼び出し322を行って、電子メールアプリケーション340の同じ目標のアプリケーションとしてであるが、“新しいメールの読み出し”352の新しいモードで起動する。これは、例えば、ユーザが新しい電子メールを作成して、送ることを試みているときに行われるが、一方で、このようなプロセスにおいて、新しいメールメッセージを受信する。1つの実施形態では、システムは、同じアプリケーションへの呼び出しを検出し、応答して、電子メールアプリケーション340を、現在実行しているアプリケーション306として維持する。その結果、唯一のアクティブなインスタンス308は、前の電子メールアプリケーション340として留まる。しかしながら、“作成”モード350における電子メールアプリケーション340を出ると、システムは、アプリケーション状態の履歴情報120を、アプリケーション識別子(電子メールアプリケーション340)およびアプリケーションモード(“作成”350)で更新する。
次に、現在実行しているアプリケーション306(電子メールアプリケーション340)は、呼び出し324を行って、目標のアプリケーション(ゲームアプリケーション342)を起動する。これは、例えば、電子メールアプリケーション340が、新しいメールの読み出しモード352であるときに、ゲームアプリケーション342へのリンクを含む電子メールメッセージを表示し、次に、ユーザがゲームアプリケーション342を実行することを選択するときに行われ得る。応答して、ゲームアプリケーション342のための新しいアクティブなインスタンスが、電子メールアプリケーション340のための既にアクティブなインスタンスに加えられる。さらに加えて、アプリケーション状態の履歴情報120は、前の目標のアプリケーション312(電子メールアプリケーション340)および前のモード情報(“新しいメールの読み出し”352)で埋められる。
ゲームアプリケーション342を実行している一方で、ユーザは、例えば、現在のゲームアプリケーション342の実行を取り消すことを要求し、その結果、呼び出し326が実行され、前のモード情報316(“新しいメールの読み出し”モード352)を使用して、前の目標のアプリケーション312(電子メールアプリケーション340)を再起動する。現在実行しているアプリケーション306は、“新しいメールの読み出し”352の現在のモードをもつ電子メールアプリケーション340に設定される。アクティブなインスタンス308として、ゲームアプリケーション342が削除され、唯一の現在アクティブなインスタンス308として、電子メールアプリケーション340を残す。さらに加えて、アプリケーション状態の履歴情報120は、前のモード情報316(“新しいメールの読み出し”)を含む前の目標のアプリケーション312(電子メール)を削除することによって更新される。
次に、“新しいメールの読み出し”モード352における電子メールアプリケーション340に戻って、ユーザは、例えば、ブラウザアプリケーション344のための実行可能なアイコンを含む、電子メールを読み出すことを選択し得る。次に、ユーザは、例えば、ブラウザアプリケーション344へのリンクを実行して、その実行を開始し得る。例えば、1つの実施形態では、実行時に、ブラウザは、ブラウザの電子メールページのデフォルトのホームアプリケーションで、自分自身を初期設定する。現在実行しているアプリケーション306は、ブラウザアプリケーション344になり、アクティブなインスタンス308は、ブラウザアプリケーション344を含むように拡張される。さらに加えて、アプリケーション状態の履歴情報120は、“新しいメールの読み出し”352のアプリケーションモードと共に、電子メールアプリケーション340への新しいエントリを含むように更新される。
1つの実施形態では、ブラウザアプリケーション344は、電子メールページを実行し、ここでは、ユーザは、ワードプロセッサの文書を含む電子メールを読み出す。次に、ユーザは、文書を開き、そうするときに、目標のアプリケーションへの起動330を開始し、ここでは、関係付けられたワードプロセッサ(word processor, WP)のアプリケーション346が実行を始め得る。開始されると、アクティブなインスタンス308は、ワードプロセッサのアプリケーション346の新しいエントリを受信する。さらに加えて、アプリケーション状態の履歴情報120は、ブラウザアプリケーション344のための新しいエントリを、ブラウザの電子メールのページ354と、ブラウザアプリケーション344と関係付けられた逆方向および正方向のリンク356とを識別する情報を含むユーザインターフェースデータ情報と共に含むように更新される。
ワードプロセッサのアプリケーション346内から動作において、イグジットは、システムによって検出される。イグジットを検出すると、システムは、戻りの呼び出し332を実行し、これは、前のユーザインターフェースのデータ情報318を使用して、(ブラウザアプリケーション344への参照を含んでいる)前の目標アプリケーション312を再起動し、その結果、ブラウザアプリケーション344が実行され、ブラウザの電子メールページ354であるウェブページに初期設定され、ここで、関係付けられたブラウザリンクは、さらに前に保存された対応する逆方向および正方向リンク356に設定される。現在実行しているアプリケーション306は、ブラウザアプリケーション344になる。現在アクティブなインスタンス308は、ワードプロセッシングアプリケーション346を削除する。さらに加えて、アプリケーション状態の履歴情報120は、前のU/Iデータ情報318(ブラウザの電子メールページと、逆方向および正方向リンク)を含む前の目標のアプリケーション312(ブラウザ)を削除して、更新される。
ここで、ブラウザアプリケーション344を実行すると、システムは、そこからのイグジットを検出し得る。イグジットを検出すると、システムは、戻りの呼び出し334を実行し、これは、前のモード情報316を使用して、(現在、電子メールアプリケーション340への参照を含んでいる)前の目標アプリケーション312を再起動し、その結果、電子メールアプリケーション340は、“新しいメールの読み出し”モード352において実行される。現在実行しているアプリケーション306は、電子メールアプリケーション340になる。次に、現在アクティブなインスタンス308は、ブラウザアプリケーション344の削除を経験する。さらに加えて、アプリケーション状態の履歴情報120は、前の目標アプリケーション312の削除で更新される。
電子メールアプリケーション340を実行すると、システムは、そこからイグジットを検出し得る。イグジットを検出すると、システムは、戻りの呼び出し336を実行し、これは、前のモード情報316を使用して、(現在、電子メールアプリケーション340への参照を含んでいる)目標アプリケーション312を再起動し、その結果、電子メールアプリケーション340は、“作成”モード350において再起動される。1つの実施形態では、システムは、電子メールアプリケーションを、同じアプリケーションの再起動が試みられるときに、現在実行しているアプリケーションとして検出し、応答して、このようなアプリケーションを現在のものとして維持し、一方で、単に、新しいモード情報をこのアプリケーションへ送る。現在実行しているアプリケーション306は、電子メールアプリケーション340のままであるが、ここでは、“作成”350のアプリケーションモードをもつ。現在アクティブなインスタンスは、変更されないままである。アプリケーション状態の履歴情報120は、その最後の前の目標のアプリケーション312のエントリを削除して更新される。
最後に、電子メールアプリケーション340を実行する一方で、システムは、そこからの最終的なイグジットを検出し得る。イグジットを検出すると、システムは、イグジット338を実行し、ノード358において、一連のネストにされたアプリケーションの呼び出しを終える。アプリケーション状態の履歴情報が、任意の追加のエントリにないので、システムは、少なくとも、ネストにされた呼び出しの終了に気付く。最後のアプリケーションを出ると、現在実行しているアプリケーション306も、アクティブなインスタンス308もない。
図3には示されていないが、1つの例示的な実施形態は、単に前の、または単に次のアプリケーションに制限されないアプリケーションの起動および再起動を与える。例えば、1つの実施形態では、アプリケーションおよび対応するアプリケーション状態の履歴情報120の全リストは、アプリケーションが現われるリスト内の位置に関係なく選択されるように、ユーザにとって使用可能である。
図4は、コンピューティングデバイス100上でアプリケーションを実行する方法の1つの例示的な実施形態400を示している。具体的には、図4は、ノード402における開始後に、ステップ404が実行される方法を記載しており、ここで、方法は、アプリケーション状態の履歴情報120を保存し、これは、第1のアプリケーション112を後で再起動するときに使用するための、コンピューティングデバイス100上での第1のアプリケーション112の実行と関係付けられた動的なアプリケーション状態情報118の履歴スナップショットを含んでいる。ステップ404に続いて、ステップ406が示されており、ここで、方法は、コンピューティングデバイス100上で第2のアプリケーション114を起動する。第2のステップに続くのは、終了ノード408で示されている方法の終了である。
さらに加えて、図4は、多数のオプションの基準およびステップ408、410、412、414、416、418、420、422、424、426、および428も示している。具体的には、オプションの基準およびステップ408、410、412、414、および416は、各々、ステップ404を変更し、残りのオプションの基準およびステップは、ステップ406を変更する。第1のステップ404は、オプションで変更され(408)、第2のアプリケーション114の起動に依存して保存する。ステップ404は、さらに、オプションで変更され(410)、その結果、アプリケーション状態の履歴情報120は、モード情報416を含み、これは、固有の機能モードに関係する情報の履歴スナップショットを含む。ステップ404は、さらに、オプションで変更され(412)、その結果、アプリケーション状態の履歴情報120は、ユーザインターフェースデータ情報418を含み、これは、動的なユーザインターフェースのデータに関係する情報118の履歴スナップショットを含む。ステップ404は、さらに、オプションで変更され(414)、その結果、アプリケーション状態の履歴情報120は、関係付けられたアプリケーションの、他のアプリケーションに対する連続する順番を示す。ステップ404は、さらに、オプションで変更され(416)、その結果、コンピューティングデバイス100は、無線デバイスである。
ステップ406も、オプションで変更され(418)、さらに、アプリケーションの実行の開始を無視する。ステップ406は、さらに、オプションで変更され(420)、コンピューティングデバイス100上での第1のアプリケーションの実行を選択的に維持する。ステップ406は、さらに、オプションで変更され(420および422)、第1のアプリケーション112と関係付けられたアプリケーション状態の履歴情報120と、第2のアプリケーション114と関係付けられた情報との間における整合情報を検出する。ステップ406は、さらに、オプションで変更され(420、422、および424)、ここでは、整合情報は、アプリケーション識別情報である。ステップ406は、さらに、オプションで変更され(426)、第1のアプリケーション112のための実行状況の迫っている損失を検出することに依存して、起動する。ステップ406は、さらに、オプションで変更され(428)、起動は、第1のアプリケーションによって開始される。
図5は、コンピューティングデバイス100上でアプリケーションを実行する方法の1つの例示的な実施形態500を示している。具体的には、図5は、ノード502における開始後に、ステップ504が実行され、コンピューティングデバイス100上で前に実行した前の第1のアプリケーション112と関係付けられた動的なアプリケーション状態情報118の履歴スナップショットを含む、保存されているアプリケーション状態の履歴情報120を検索する。ステップ504に続くのは、ステップ506であり、ここでは、方法は、検索されたアプリケーション状態の履歴情報118を使用して、コンピューティングデバイス100上で第1のアプリケーション112を再起動する。第2のステップに続くのは、終了ノード508で示されている方法の終了である。
さらに加えて、図5は、多数のオプションの基準およびステップ510、512、514、516、518、520、522、524、および528も示している。具体的には、オプションの基準およびステップ510、512、514、516、および518は、各々、ステップ504を変更し、残りのオプションの基準およびステップは、ステップ506を変更する。第1のステップ504は、オプションで変更され(510)、その結果、アプリケーション状態の履歴情報120は、モード情報304を含み、これは、固有の機能モードに関係する情報の履歴スナップショットを含む。ステップ504は、さらにオプションで変更され(510および512)、モード情報304を使用して、動的なアプリケーション状態情報118を再び初期設定する。ステップ504は、さらにオプションで変更され(514)、その結果、アプリケーション状態の履歴情報は、アプリケーション ユーザ インターフェース データ情報を含み、これは、動的なユーザインターフェースデータに関係する情報の履歴スナップショットを含む。ステップ504は、さらにオプションで変更され(514および516)、アプリケーション ユーザ インターフェース データ情報を使用し、動的なアプリケーション状態情報を再び初期設定する。ステップ504は、さらにオプションで変更され(518)、その結果、コンピューティングデバイス100は無線デバイスである。
ステップ506は、オプションで変更され(520)、任意のアプリケーションの実行の開始を無視する。ステップ506は、さらにオプションで変更され(522)、コンピューティングデバイス100上で現在実行しているアプリケーションを、前の第1のアプリケーション112として選択的に維持する。ステップ506は、さらにオプションで変更され(522および524)、現在実行しているアプリケーションと関係付けられた動的なアプリケーション状態情報と、前の第2のアプリケーションと関係付けられた検索されたアプリケーション状態の履歴情報との間における整合情報を検出する。ステップ506は、さらにオプションで変更され(522、524、および526)、ここでは、整合情報は、アプリケーション識別情報である。ステップ506は、さらにオプションで変更され(528)、アプリケーション状態の履歴情報120を使用して、動的なアプリケーション状態情報118を再び初期設定する。
図6は、コンピューティングデバイス100上でアプリケーションを実行する方法の1つの例示的な実施形態600を示している。具体的には、図6は、ノード602における開始後に、ステップ604が実行され、コンピューティングデバイス100上で実行している第1のアプリケーション112を出る方法を記載している。ステップ604に続くのは、ステップ606であり、ここでは、方法は、第1のアプリケーション112と関係付けられたアプリケーション状態の履歴情報120を保存する。
1つの実施形態では、第1のアプリケーション112が第2のアプリケーション114を呼び出すときのみ、アプリケーション状態の履歴情報120が実際に保存される(すなわち、ネストにされた呼び出しが行われるまで、“返り”の履歴は必要ない)。しかしながら、他の実施形態では、アプリケーションは、呼び出しが第2のアプリケーション114に対して行われる前に、そのような情報を保存する必要を予測することができる(すなわち、アプリケーション状態の履歴情報120を前の目標のアプリケーション情報312で埋める前に、第1のアプリケーション112が第2のアプリケーション114を呼び出すまで待たない)が、このようなシナリオは、不要であったかもしれないメモリの使用および処理時間を必要とするので、効率のより悪いアプローチである。
ステップ606に続くのは、ステップ608であり、ここでは、方法は、第1のアプリケーション112を出ることに応答して、第2のアプリケーション114を起動する。ステップ608に続くのは、ステップ610であり、ここでは、方法は、第2のアプリケーション114を出る。ステップ610に続くのは、ステップ612であり、ここでは、方法は、第1のアプリケーション112と関係付けられた保存されているアプリケーション状態の履歴情報120を検索する。ステップ612に続くのは、ステップ614であり、ここでは、方法は、第2のアプリケーション114を出ることに応答して、検索されたアプリケーション状態の履歴情報120を使用して、コンピューティングデバイス100上で第1のアプリケーション112を再び起動する。ステップ614に続くのは、終了ノード616であり、これは、方法の終了を表わす。
ステップ604、608、および614の3つは、オプションで、4つの追加の制限618、620、622、および624によって変更される。ステップ604は、オプションで変更され(618)、その結果、コンピューティングデバイス100は無線デバイスである。ステップ608は、オプションで変更され(620)、第1のアプリケーション112と第2のアプリケーション114との間における整合するアプリケーション識別情報を検出することに応答して、第1のアプリケーション112の実行を選択的に維持する。ステップ614は、オプションで変更され(622)、第1のアプリケーション112と第2のアプリケーション114との間における整合するアプリケーション識別情報を検出することに応答して、第2のアプリケーション112の実行を選択的に維持する。ステップ614は、さらにオプションで変更され(624)、アプリケーション状態の履歴情報120を使用して、前に出た第1のアプリケーション112と関係付けられた前のアプリケーション状態の履歴情報312で、第1のアプリケーション112を再び初期設定する。
図7は、コンピューティングデバイス100上でアプリケーションを実行する方法の1つの例示的な実施形態700を示している。具体的には、図7は、ノード702における開始後に、ステップ704が実行され、コンピューティングデバイス100上で第1のアプリケーション112を実行する方法を記載している。ステップ704に続くのは、ステップ706であり、ここでは、方法は、第1のアプリケーション112からの第2のアプリケーション114への呼び出しを生成する。ステップ706に続くのは、ステップ708であり、ここでは、方法は、第2のアプリケーション114への呼び出しを検出することに応答して、第1のアプリケーション112を出る。ステップ708に続くのは、ステップ710であり、ここでは、方法は、第2のアプリケーション114への呼び出しに応答して、第1のアプリケーション112と関係付けられたアプリケーション状態の履歴情報120を保存する。ステップ710に続くのは、ステップ712であり、ここでは、方法は、第2のアプリケーション114への呼び出しに応答して、第2のアプリケーション114を起動する。ステップ712に続くのは、ステップ714であり、ここでは、方法は、第2のアプリケーション114の終了を検出する。ステップ714に続くのは、ステップ716であり、ここでは、方法は、第2のアプリケーション114の終了を検出することに応答して、第1のアプリケーション112と関係付けられた保存されているアプリケーション状態の履歴情報120を検索する。ステップ716に続くのは、ステップ718であり、ここでは、方法は、第2のアプリケーション114の終了を検出することに応答して、検索されたアプリケーション状態の履歴情報120を使用して、第1のアプリケーション112を再起動する。ステップ718に続くのは、終了ノード720であり、これは、方法の終了を表す。
ステップ704、712、および718の3つは、オプションで、3つの追加の制限722、724、および726によって変更される。ステップ704は、オプションで変更され(722)、その結果、コンピューティングデバイス100は無線デバイスである。ステップ712は、オプションで変更され(724)、第1のアプリケーション112と第2のアプリケーション114との間における整合するアプリケーション識別情報を検出することに応答して、第1のアプリケーション112の実行を選択的に維持する。ステップ718は、オプションで変更され(726)、第1のアプリケーション112と第2のアプリケーション114との間における整合するアプリケーション識別情報を検出することに応答して、第2のアプリケーション114の実行を選択的に維持する。
当業者は、本明細書に開示されている実施形態に関連して記載されている種々の例示的な論理ブロック、モジュール、回路、およびアルゴリズムのステップが、電子ハードウェア、コンピュータソフトウェア、または両者の組合せとして実施され得ることも分かるであろう。ハードウェアとソフトウェアとのこの互換性を明白に示すために、種々の例示的な構成要素、ブロック、モジュール、回路、およびステップは、それらの機能性に関して、上述で概ね記載された。このような機能性がハードウェアとして実施されるか、またはソフトウェアとして実施されるかは、システム全体に課された個々の用途および設計の制約に依存する。熟練した技能をもつ者は、各個々の用途のために種々のやり方で、記載された機能性を実施し得るが、このような実施の決定は、本発明の範囲からの逸脱を招くものとして解釈されるべきではない。
本明細書に開示されている実施形態に関連して記載された方法またはアルゴリズムのステップは、ハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、または2つの組合せにおいて直接的に具体化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、取り外し可能ディスク、CD−ROM、または当技術において知られている記憶媒体の何か他の形態の中に存在し得る。例示的な記憶媒体はプロセッサに接続され、プロセッサが記憶媒体から情報を読み出し、かつそこへ情報を書き込むことができるようにする。その代りに、記憶媒体は、プロセッサと一体構成であってもよい。プロセッサおよび記憶媒体は、ASIC内に存在し得る。ASICは、ユーザ端末に存在し得る。その代りに、プロセッサおよび記憶媒体は、ユーザ端末におけるディスクリートな構成要素として存在し得る。
開示された実施形態のこれまでの記述は、当業者が本発明を作成または使用できるようにするために与えられている。当業者には、これらの実施形態に対する種々の変更は容易に明らかになり、本明細書に定められている一般的な原理は、本発明の意図および範囲から逸脱することなく、他の実施形態に適用され得る。したがって、本発明は、本明細書に示されている実施形態に制限されることを意図されず、本明細書に開示されている原理および斬新な特徴に一致する最も幅広い範囲にしたがうことを意図されている。
アプリケーション状態の履歴情報を使用して、アプリケーションを実行するコンピューティングデバイスの1つの実施形態を示す図。 アプリケーション状態の履歴情報を使用して、コンピューティングデバイス上でアプリケーションを実行する方法を反映するフローチャートの1つの実施形態を示す図。 例示的な動的なアプリケーション状態情報のステップごとの内容を含む、コンピューティングデバイス上でアプリケーションを実行する方法を反映するデータテーブルの1つの実施形態を示す図。 アプリケーション状態の履歴情報の保存、および第2のアプリケーションの起動を含む、コンピューティングデバイス上でアプリケーションを実行する方法の1つの実施形態を示す図。 アプリケーション状態の履歴情報の検索、および前の第1のアプリケーションの再起動を含む、コンピューティングデバイス上でアプリケーションを実行する方法の1つの実施形態を示す図。 アプリケーション状態の履歴情報を使用して、コンピューティングデバイス上でアプリケーションを実行する方法の1つの実施形態を示す図。 アプリケーション状態の履歴情報を使用して、コンピューティングデバイス上でアプリケーションを実行する方法の1つの実施形態を示す図。

Claims (42)

  1. コンピューティングデバイス上でアプリケーションを実行する方法であって、
    第1のアプリケーションの後の再起動で使用するために、コンピューティングデバイス上での第1のアプリケーションの実行と関係付けられた動的なアプリケーション状態情報の履歴スナップショットを含む、アプリケーション状態の履歴情報を保存することと、
    コンピューティングデバイス上で第2のアプリケーションを起動することとを含む方法。
  2. 第2のアプリケーションを起動するステップが、アプリケーションの実行の開始を選択的に無視する請求項1記載の方法。
  3. 第2のアプリケーションを起動するステップが、コンピューティングデバイス上での第1のアプリケーションの実行を選択的に維持するステップをさらに含む請求項1記載の方法。
  4. 第1のアプリケーションの実行を選択的に維持するステップが、第1のアプリケーションと関係付けられたアプリケーション状態の履歴情報と、第2のアプリケーションと関係付けられた情報との間における整合情報を検出するステップをさらに含む請求項3記載の方法。
  5. 整合情報が、アプリケーション識別情報である請求項4記載の方法。
  6. アプリケーション状態の履歴情報を保存するステップが、第2のアプリケーションを起動するステップに依存する請求項1記載の方法。
  7. 第2のアプリケーションを起動するステップが、第1のアプリケーションの実行状況のやがてやって来る損失を検出するステップに依存する請求項1記載の方法。
  8. アプリケーション状態の履歴情報が、固有の機能モードに関係する情報の履歴スナップショットを含むモード情報を含む請求項1記載の方法。
  9. アプリケーション状態の履歴情報が、動的なユーザインターフェースデータに関係する情報の履歴スナップショットを含むユーザインターフェースデータ情報を含む請求項1記載の方法。
  10. アプリケーション状態の履歴情報が、関係付けられたアプリケーションの、他のアプリケーションに対する連続する順番を示す請求項1記載の方法。
  11. 第2のアプリケーションの起動が、第1のアプリケーションによって開始される請求項1記載の方法。
  12. コンピューティングデバイスが、無線デバイスである請求項1記載の方法。
  13. コンピューティングデバイス上でアプリケーションを実行する方法であって、
    コンピューティングデバイス上で前に実行した前の第1のアプリケーションと関係付けられた動的なアプリケーション状態情報の履歴スナップショットを含む、保存されているアプリケーション状態の履歴情報を検索することと、
    検索されたアプリケーション状態の履歴情報を使用して、コンピューティングデバイス上で前の第1のアプリケーションを再起動することとを含む方法。
  14. 前の第1のアプリケーションを再起動するステップが、任意のアプリケーションの実行の開始を無視する請求項13記載の方法。
  15. 前の第1のアプリケーションを再起動するステップが、コンピューティングデバイス上で現在実行しているアプリケーションを、前の第1のアプリケーションとして選択的に維持するステップをさらに含む請求項13記載の方法。
  16. コンピューティングデバイス上で現在実行しているアプリケーションを前の第2のアプリケーションとして選択的に維持するステップが、現在実行しているアプリケーションと関係付けられた動的なアプリケーション状態の情報と、前の第2のアプリケーションと関係付けられた検索されたアプリケーション状態の履歴情報の間における整合情報を検出するステップをさらに含む請求項15記載の方法。
  17. 整合情報が、アプリケーション識別情報である請求項16記載の方法。
  18. 前の第1のアプリケーションを再起動するステップが、アプリケーション状態の履歴情報を使用して、動的なアプリケーション状態情報を再起動するステップをさらに含む請求項13記載の方法。
  19. アプリケーション状態の履歴情報が、固有の機能モードに関係する情報の履歴スナップショットを含むモード情報を含む請求項13記載の方法。
  20. モード情報を使用して、動的なアプリケーション状態情報を再び初期設定するステップをさらに含む請求項19記載の方法。
  21. アプリケーション状態の履歴情報が、動的なユーザ インターフェース データに関係する情報の履歴スナップショットを含むアプリケーション ユーザ インターフェース データ情報を含む請求項13記載の方法。
  22. アプリケーション ユーザ インターフェース データ情報を使用して、動的なアプリケーション状態情報を再び初期設定するステップをさらに含む請求項21記載の方法。
  23. コンピューティングデバイスが、無線デバイスである請求項13記載の方法。
  24. コンピューティングデバイス上でアプリケーションを実行する方法であって、
    コンピューティングデバイス上で実行している第1のアプリケーションを出ることと、
    第1のアプリケーションと関係付けられたアプリケーション状態の履歴情報を保存することと、
    第1のアプリケーションを出ることに応答して、第2のアプリケーションを起動することと、
    第2のアプリケーションを出ることと、
    第1のアプリケーションと関係付けられた保存されているアプリケーション状態の履歴情報を検索することと、
    第2のアプリケーションを出ることに応答して、検索されたアプリケーション状態の履歴情報を使用して、コンピューティングデバイス上で第1のアプリケーションを再起動することとを含む方法。
  25. 第2のアプリケーションを起動するステップが、第1のアプリケーションと第2のアプリケーションとの間における整合するアプリケーションの識別情報を検出することに応答して、第1のアプリケーションの実行を選択的に維持するステップをさらに含む請求項24記載の方法。
  26. 第1のアプリケーションを再起動するステップが、第1のアプリケーションと第2のアプリケーションとの間における整合するアプリケーション識別情報を検出することに応答して、第2のアプリケーションの実行を選択的に維持するステップをさらに含む請求項24記載の方法。
  27. 第1のアプリケーションを再起動するステップが、アプリケーション状態の履歴情報を使用して、第1のアプリケーションを、前に出た第1のアプリケーションと関係付けられた前の状態の履歴情報で再び初期設定するステップをさらに含む請求項24記載の方法。
  28. コンピューティングデバイスが、無線デバイスである請求項24記載の方法。
  29. コンピューティングデバイス上でアプリケーションを実行する方法であって、
    コンピューティングデバイス上で第1のアプリケーションを実行することと、
    第1のアプリケーションから第2のアプリケーションへの呼び出しを生成することと、
    第2のアプリケーションへの呼び出しを検出することに応答して、第1のアプリケーションを出ることと、
    第2のアプリケーションへの呼び出しに応答して、第1のアプリケーションと関係付けられたアプリケーション状態の履歴情報を保存することと、
    第2のアプリケーションへの呼び出しに応答して、第2のアプリケーションを起動することと、
    第2のアプリケーションの終了を検出することと、
    第2のアプリケーションの終了を検出することに応答して、第1のアプリケーションと関係付けられた保存されているアプリケーション状態の履歴情報を検索することと、
    第2のアプリケーションの終了を検出することに応答して、検索されたアプリケーション状態の履歴情報を使用して、第1のアプリケーションを再起動することとを含む方法。
  30. 第2のアプリケーションを起動するステップが、第1のアプリケーションと第2のアプリケーションの間における整合するアプリケーションの識別情報を検出することに応答して、第1のアプリケーションの実行を選択的に維持するステップをさらに含む請求項29記載の方法。
  31. 第1のアプリケーションを再起動するステップが、第1のアプリケーションと第2のアプリケーションとの間における整合するアプリケーションの識別情報を検出することに応答して、第2のアプリケーションの実行を選択的に維持するステップをさらに含む請求項29記載の方法。
  32. コンピューティングデバイスが、無線デバイスである請求項32記載の方法。
  33. メモリと、
    メモリに記憶されていて、動的なアプリケーション状態情報を生成するように動作可能なアプリケーションと、
    アプリケーションが実行されるメモリに記憶されているランタイム環境と、
    メモリに結合されていて、コンピューティングデバイス上で現在実行しているアプリケーションの後の再起動で使用するために、コンピューティングデバイス上で現在実行しているアプリケーションと関係付けられた動的なアプリケーション状態情報の履歴スナップショットを含む、アプリケーション状態の履歴情報を保存するためのコードを実行するように動作可能なプロセッサとを含むコンピューティングデバイス。
  34. アプリケーション状態の履歴情報を保存するためのコードが、アプリケーションおよびランタイム環境の少なくとも一方に置かれている請求項33記載のコンピューティングデバイス。
  35. コンピューティングデバイスが、無線デバイスである請求項33記載のコンピューティングデバイス。
  36. メモリと、
    メモリに記憶されていて、動的なアプリケーション状態情報を生成するように動作可能なアプリケーションと、
    アプリケーションが実行されるランタイム環境と、
    メモリに結合されていて、コンピューティングデバイス上で前に実行したアプリケーションと関係付けられた動的なアプリケーション状態情報の履歴スナップショットを含む、保存されているアプリケーション状態の履歴情報を検索するためのコードを実行するように動作可能なプロセッサとを含むコンピューティングデバイス。
  37. アプリケーション状態の履歴情報を検索するためのコードが、アプリケーションおよびランタイム環境の少なくとも一方に置かれている請求項36記載のコンピューティングデバイス。
  38. コンピューティングデバイスが、無線デバイスである請求項36記載のコンピューティングデバイス。
  39. コンピュータ読み出し可能媒体上で具体化されるコンピュータプログラムであって、コンピュータプログラムは、アプリケーションの履歴情報を保存することができ、
    第1のアプリケーションの後の再起動で使用するために、コンピューティングデバイス上での第1のアプリケーションの実行と関係付けられた動的なアプリケーション状態情報の履歴スナップショットを含む、アプリケーション状態の履歴情報を保存するように動作可能なコードと、
    コンピューティングデバイス上で第2のアプリケーションを起動するように動作可能なコードとを含むコンピュータプログラム。
  40. コンピュータ読み出し可能媒体上で具体化されるコンピュータプログラムであって、コンピュータプログラムは、アプリケーションの履歴情報を検索することができ、
    コンピューティングデバイス上で前に実行していた前の第1のアプリケーションと関係付けられた動的なアプリケーション状態情報の履歴スナップショットを含む、保存されているアプリケーション状態の履歴情報を検索するように動作可能なコードと、
    検索されたアプリケーション状態の履歴情報を使用して、コンピューティングデバイス上で前の第1のアプリケーションを再起動するように動作可能なコードとを含むコンピュータプログラム。
  41. 第1のアプリケーションの後の再起動で使用するために、コンピューティングデバイス上での第1のアプリケーションの実行と関係付けられた動的なアプリケーション状態の情報の履歴スナップショットを含む、アプリケーション状態の履歴情報を保存する手段と、
    コンピューティングデバイス上で第2のアプリケーションを起動する手段とを含むコンピューティングデバイス。
  42. コンピューティングデバイス上で前に実行していた前の第1のアプリケーションと関係付けられた動的なアプリケーション状態情報の履歴スナップショットを含む、保存されているアプリケーション状態の履歴情報を検索する手段と、
    検索されたアプリケーション状態の履歴情報を使用して、コンピューティングデバイス上で前の第1のアプリケーションを再起動する手段とを含むコンピューティングデバイス。
JP2007515374A 2004-05-26 2005-05-26 アプリケーションを再起動するときに、アプリケーション状態の履歴情報を使用する方法、ソフトウェア、および装置 Active JP4740238B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/854,982 US7484220B2 (en) 2004-05-26 2004-05-26 Method, software and apparatus for using application state history information when re-launching applications
US10/854,982 2004-05-26
PCT/US2005/018672 WO2005119445A1 (en) 2004-05-26 2005-05-26 Method, software and apparatus for using application state history information when re-launching applications

Publications (2)

Publication Number Publication Date
JP2008500647A true JP2008500647A (ja) 2008-01-10
JP4740238B2 JP4740238B2 (ja) 2011-08-03

Family

ID=35426903

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007515374A Active JP4740238B2 (ja) 2004-05-26 2005-05-26 アプリケーションを再起動するときに、アプリケーション状態の履歴情報を使用する方法、ソフトウェア、および装置

Country Status (13)

Country Link
US (1) US7484220B2 (ja)
EP (1) EP1769351B1 (ja)
JP (1) JP4740238B2 (ja)
KR (2) KR100934883B1 (ja)
CN (1) CN1977246B (ja)
AU (1) AU2005250858A1 (ja)
BR (1) BRPI0511551A (ja)
CA (1) CA2567088A1 (ja)
IL (1) IL179310A0 (ja)
MX (1) MXPA06013666A (ja)
RU (1) RU2006146048A (ja)
TW (1) TW200611197A (ja)
WO (1) WO2005119445A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130143089A (ko) * 2010-11-18 2013-12-30 구글 인코포레이티드 컴퓨팅 객체의 콘텍스트 히스토리
JP2015528932A (ja) * 2012-06-08 2015-10-01 アルカテル−ルーセント ネットワーク・ナビゲーションを管理するためのシステムおよび方法

Families Citing this family (58)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9715252B2 (en) * 2011-08-24 2017-07-25 Z124 Unified desktop docking behavior for window stickiness
US9405459B2 (en) 2011-08-24 2016-08-02 Z124 Unified desktop laptop dock software operation
US9268518B2 (en) 2011-09-27 2016-02-23 Z124 Unified desktop docking rules
US7574591B2 (en) * 2006-01-12 2009-08-11 Microsoft Corporation Capturing and restoring application state after unexpected application shutdown
US7716461B2 (en) * 2006-01-12 2010-05-11 Microsoft Corporation Capturing and restoring application state after unexpected application shutdown
US20080079695A1 (en) * 2006-10-03 2008-04-03 Nicholas Martin Method and Program for a Personalized Mouse
US9286306B2 (en) * 2007-03-14 2016-03-15 Canon Kabushiki Kaisha Document image management device and document image management method
US7979685B1 (en) 2007-11-27 2011-07-12 Oracle America, Inc. Multiple instruction execution mode resource-constrained device
US8949671B2 (en) * 2008-01-30 2015-02-03 International Business Machines Corporation Fault detection, diagnosis, and prevention for complex computing systems
US8874491B2 (en) 2008-06-30 2014-10-28 Nokia Corporation Task history user interface using a clustering algorithm
US20090327953A1 (en) * 2008-06-30 2009-12-31 Nokia Corporation Unified navigation model between multiple applications
US7975176B2 (en) * 2008-08-06 2011-07-05 International Business Machines Corporation Application failure recovery
US8291261B2 (en) * 2008-11-05 2012-10-16 Vulcan Technologies Llc Lightweight application-level runtime state save-and-restore utility
US8479202B2 (en) * 2009-02-06 2013-07-02 International Business Machines Corporation Method and system for autonomic application program spawning in a computing environment
US7941700B2 (en) * 2009-03-02 2011-05-10 Microsoft Corporation Operating system-based application recovery
US20100229100A1 (en) * 2009-03-03 2010-09-09 Sprint Spectrum L.P. Methods and Systems for Storing and Accessing Application History
JP5102823B2 (ja) 2009-12-21 2012-12-19 インターナショナル・ビジネス・マシーンズ・コーポレーション 総テスト時間を最小にするようにテストシナリオを最適化するテスト支援装置、テスト装置、テスト支援方法及びコンピュータプログラム
US9830889B2 (en) * 2009-12-31 2017-11-28 Nvidia Corporation Methods and system for artifically and dynamically limiting the display resolution of an application
KR20110089012A (ko) * 2010-01-29 2011-08-04 삼성전자주식회사 전자책 단말기 및 그의 멀티태스킹 히스토리 제공방법
US8719400B2 (en) * 2010-03-02 2014-05-06 International Business Machines Corporation Flexible delegation of management function for self-managing resources
KR20110106716A (ko) * 2010-03-23 2011-09-29 삼성전자주식회사 프로그램 컴파일러, 설치 장치, 및 설치 방법
KR101657545B1 (ko) * 2010-05-11 2016-09-19 엘지전자 주식회사 휴대 단말기 및 그 동작 방법
WO2011152833A1 (en) * 2010-06-04 2011-12-08 Empire Technology Development Llc Agent-less follow-me service for cloud-based applications
JP4937385B2 (ja) * 2010-07-20 2012-05-23 株式会社東芝 情報処理装置および表示領域の配置方法
CN101969502A (zh) * 2010-10-13 2011-02-09 华为终端有限公司 一种移动终端业务恢复的方法及一种移动终端
TW201241640A (en) * 2011-02-14 2012-10-16 Microsoft Corp Dormant background applications on mobile devices
US20120260202A1 (en) * 2011-04-11 2012-10-11 Microsoft Corporation Customized launching of applications
US8635673B2 (en) * 2011-06-17 2014-01-21 International Business Machines Corporation Dynamic application adaptation in software-as-a-service platform
US9182935B2 (en) 2011-09-27 2015-11-10 Z124 Secondary single screen mode activation through menu option
CN102467404A (zh) * 2011-10-14 2012-05-23 海尔集团技术研发中心 一种基于物理内存实现软件快速切换的方法及装置
US9164544B2 (en) 2011-12-09 2015-10-20 Z124 Unified desktop: laptop dock, hardware configuration
US9262250B2 (en) 2011-12-12 2016-02-16 Crashlytics, Inc. System and method for data collection and analysis of information relating to mobile applications
US9087154B1 (en) * 2011-12-12 2015-07-21 Crashlytics, Inc. System and method for providing additional functionality to developer side application in an integrated development environment
US9703680B1 (en) 2011-12-12 2017-07-11 Google Inc. System and method for automatic software development kit configuration and distribution
KR101419852B1 (ko) * 2012-04-03 2014-07-15 삼성전자주식회사 메신저 애플리케이션에서 사용 가능한 북마크 기능을 위한 방법 및 그 전자 장치
CN103577253B (zh) * 2012-07-30 2018-07-20 腾讯科技(深圳)有限公司 应用程序的处理方法和装置
US9207972B2 (en) * 2013-03-14 2015-12-08 International Business Machines Corporation Meta-application management in a multitasking environment
CN105051776B (zh) * 2013-03-25 2021-02-09 索尼公司 信息处理设备、信息处理***和信息处理方法
US9787820B2 (en) * 2013-08-07 2017-10-10 Linkedin Corporation Navigating between a mobile application and a mobile browser
US11347754B1 (en) 2013-09-26 2022-05-31 Twitter, Inc. Context aware application manager
US10282451B1 (en) 2013-09-26 2019-05-07 Twitter, Inc. Context aware application manager
US10551995B1 (en) * 2013-09-26 2020-02-04 Twitter, Inc. Overlay user interface
US9760417B2 (en) * 2014-03-10 2017-09-12 Microsoft Technology Licensing, Llc Application dehydration and rehydration during application-to-application calls
US9779149B2 (en) * 2014-03-19 2017-10-03 Vmware, Inc. Multi mode extendable object selector
US9292367B2 (en) * 2014-04-08 2016-03-22 Microsoft Corporation Efficient migration of client-side web state
CN104166592B (zh) * 2014-07-23 2018-08-24 百度在线网络技术(北京)有限公司 一种在用户设备中用于管理断点信息的方法和装置
US10521074B2 (en) * 2014-07-31 2019-12-31 Dell Products, Lp System and method for a back stack in a multi-application environment
US9734000B2 (en) * 2015-06-18 2017-08-15 Microsoft Technology Licensing, Llc Seamless transitions between applications and devices
US20170097743A1 (en) * 2015-10-05 2017-04-06 Quixey, Inc. Recommending Applications
CN105425997B (zh) * 2015-11-11 2019-02-05 Oppo广东移动通信有限公司 一种用户终端重启后的界面显示方法及用户终端
US10725805B2 (en) * 2015-11-25 2020-07-28 International Business Machines Corporation Provisioning based on workload displacement
US10049167B2 (en) * 2015-12-31 2018-08-14 Samsung Electronics Co., Ltd. System for transforming mobile app into addressable network for stateless access
CN105912226A (zh) * 2016-04-11 2016-08-31 北京小米移动软件有限公司 应用程序中页面的显示方法及装置
US10242165B2 (en) 2016-10-24 2019-03-26 Google Llc Optimized security selections
KR20180080484A (ko) 2017-01-04 2018-07-12 엘지전자 주식회사 이동 단말기
JP6874706B2 (ja) * 2018-02-07 2021-05-19 オムロン株式会社 アプリケーションプログラムを生成する方法、装置、プログラム
WO2020248751A1 (en) * 2019-06-12 2020-12-17 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Mobile terminal for managing one or more recently used applications, and a method for same
CN114327179B (zh) * 2021-11-30 2022-12-16 荣耀终端有限公司 应用启动方法、电子设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319595A (ja) * 1996-05-27 1997-12-12 Matsushita Electric Ind Co Ltd マルチタスク制御装置
JP2002152328A (ja) * 2000-11-07 2002-05-24 Nec Corp 携帯端末、該携帯端末における表示切換方法、及び表示切換プログラムを記録した記録媒体
JP2002175191A (ja) * 2000-12-05 2002-06-21 Kenwood Corp 電子機器
JP2003169372A (ja) * 2001-11-30 2003-06-13 J-Phone Co Ltd 携帯通信機器
JP2003319020A (ja) * 2002-04-24 2003-11-07 Kyocera Corp 携帯端末
JP2004080195A (ja) * 2002-08-13 2004-03-11 Toshiba Corp 移動無線端末装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ATE157182T1 (de) * 1989-06-19 1997-09-15 Digital Equipment Corp Anordnung zur integration von anwendungsprogrammen in einem digitalen datenverarbeitungssystem
JPH06236284A (ja) * 1991-10-21 1994-08-23 Intel Corp コンピュータシステム処理状態を保存及び復元する方法及びコンピュータシステム
KR100251962B1 (ko) * 1997-12-29 2000-04-15 윤종용 웹 비디오 폰에서 메모리 스와핑 방법
US6917963B1 (en) * 1999-10-05 2005-07-12 Veritas Operating Corporation Snapshot image for the application state of unshareable and shareable data
CA2386200A1 (en) * 1999-10-12 2001-04-19 Autodesk, Inc. Geographic maps on a personal digital assistant (pda) and server
US6670974B1 (en) * 1999-10-12 2003-12-30 Gateway, Inc. Persistent usage context
US7200848B1 (en) * 2000-05-09 2007-04-03 Sun Microsystems, Inc. Migrating processes using data representation language representations of the processes in a distributed computing environment
US6934755B1 (en) * 2000-06-02 2005-08-23 Sun Microsystems, Inc. System and method for migrating processes on a network
JP2003162355A (ja) * 2001-11-26 2003-06-06 Sony Corp タスクの表示切り替え方法及び携帯機器及び携帯通信機器
US20050034124A1 (en) 2003-03-27 2005-02-10 House Eric Edward Mechanism for simultaneously operating multiple applications on a personal digital assistant implementing a palm operating system
US7336940B2 (en) * 2003-11-07 2008-02-26 Andrew Corporation Frequency conversion techniques using antiphase mixing
US20050102675A1 (en) 2003-11-10 2005-05-12 Parkyn Nicholas D. Method for managing execution of a process based on available services

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09319595A (ja) * 1996-05-27 1997-12-12 Matsushita Electric Ind Co Ltd マルチタスク制御装置
JP2002152328A (ja) * 2000-11-07 2002-05-24 Nec Corp 携帯端末、該携帯端末における表示切換方法、及び表示切換プログラムを記録した記録媒体
JP2002175191A (ja) * 2000-12-05 2002-06-21 Kenwood Corp 電子機器
JP2003169372A (ja) * 2001-11-30 2003-06-13 J-Phone Co Ltd 携帯通信機器
JP2003319020A (ja) * 2002-04-24 2003-11-07 Kyocera Corp 携帯端末
JP2004080195A (ja) * 2002-08-13 2004-03-11 Toshiba Corp 移動無線端末装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130143089A (ko) * 2010-11-18 2013-12-30 구글 인코포레이티드 컴퓨팅 객체의 콘텍스트 히스토리
KR20150023950A (ko) * 2010-11-18 2015-03-05 구글 인코포레이티드 컴퓨팅 객체의 콘텍스트 히스토리
KR101949998B1 (ko) * 2010-11-18 2019-04-22 구글 엘엘씨 컴퓨팅 객체의 콘텍스트 히스토리
JP2015528932A (ja) * 2012-06-08 2015-10-01 アルカテル−ルーセント ネットワーク・ナビゲーションを管理するためのシステムおよび方法

Also Published As

Publication number Publication date
KR20090101391A (ko) 2009-09-25
MXPA06013666A (es) 2007-03-23
KR20070034523A (ko) 2007-03-28
KR100934883B1 (ko) 2010-01-06
BRPI0511551A (pt) 2008-01-02
WO2005119445A1 (en) 2005-12-15
US20050268301A1 (en) 2005-12-01
EP1769351B1 (en) 2020-04-15
RU2006146048A (ru) 2008-07-10
EP1769351A4 (en) 2009-01-07
TW200611197A (en) 2006-04-01
JP4740238B2 (ja) 2011-08-03
CN1977246B (zh) 2010-10-27
US7484220B2 (en) 2009-01-27
IL179310A0 (en) 2007-03-08
CA2567088A1 (en) 2005-12-15
EP1769351A1 (en) 2007-04-04
CN1977246A (zh) 2007-06-06
AU2005250858A1 (en) 2005-12-15

Similar Documents

Publication Publication Date Title
JP4740238B2 (ja) アプリケーションを再起動するときに、アプリケーション状態の履歴情報を使用する方法、ソフトウェア、および装置
KR101780052B1 (ko) 정보처리 시스템에서 운영체제 전환방법
CN107329792B (zh) 一种Docker容器启动方法及装置
TWI450090B (zh) 關於改變程式之啟動列表以判定電腦系統性能是否增進之方法及系統
CN102214113A (zh) 一种操作***升级方法、装置及终端
JP2013025426A (ja) 画像出力装置及びそのプログラム
CN108958807B (zh) 一种终端***启动方法及终端
JP2010217945A (ja) アプリケーション動作調整システム
CN110399167B (zh) 固件启动方法及装置、设备、存储介质
KR100857824B1 (ko) 모바일 플랫폼 기반의 램 상주 어플리케이션 실행 관리방법
JP2005222366A (ja) 自動復帰方法/プログラム/プログラム記録媒体、処理装置
JP6317058B2 (ja) 情報処理装置、情報処理システム、情報処理プログラム、および情報処理方法
JP2017162311A (ja) スマート装置、優先処理方法及び優先処理プログラム
TWI480801B (zh) 安裝即時啓動作業系統方法
JP4425321B1 (ja) 情報処理装置、情報処理方法、及びプログラム
JP2005092708A (ja) ソフトウェア更新システム及びソフトウェア更新方法並びにコンピュータプログラム
JPH1153176A (ja) 電子計算機の環境選択方法
JP2003044284A (ja) コンピュータ装置の起動方法および起動用プログラム
WO2021166588A1 (ja) 電子機器
JPWO2006001050A1 (ja) コンピュータ起動方法、プログラム、記憶媒体及び情報処理装置
JP2018198059A (ja) 遠隔デスクトップサービスを提供する方法、遠隔デスクトップの動作方法、および遠隔デスクトップサービスを制御する方法
CN103309691A (zh) 信息处理设备及其快速启动方法
KR20120030573A (ko) 부팅 프로세스 중에 파일들을 로딩하기 위한 방법, 장치 및 컴퓨터 판독가능 저장 매체
JP2007265230A (ja) 情報処理装置及びそのファイル読み込み方法
CN114356799A (zh) 数据存储方法、装置、***与计算机可读存储介质

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090813

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090825

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20091125

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20091202

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100706

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101006

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101014

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20101108

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20101115

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101202

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110329

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110428

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4740238

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250