JP5795349B2 - アプリケーションをローカルで起動すべきかまたはリモートでウェブアプとして起動すべきかを決定する装置 - Google Patents

アプリケーションをローカルで起動すべきかまたはリモートでウェブアプとして起動すべきかを決定する装置 Download PDF

Info

Publication number
JP5795349B2
JP5795349B2 JP2013044567A JP2013044567A JP5795349B2 JP 5795349 B2 JP5795349 B2 JP 5795349B2 JP 2013044567 A JP2013044567 A JP 2013044567A JP 2013044567 A JP2013044567 A JP 2013044567A JP 5795349 B2 JP5795349 B2 JP 5795349B2
Authority
JP
Japan
Prior art keywords
instance
communication device
mobile communication
application program
program
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.)
Expired - Fee Related
Application number
JP2013044567A
Other languages
English (en)
Other versions
JP2013152732A (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 JP2013152732A publication Critical patent/JP2013152732A/ja
Application granted granted Critical
Publication of JP5795349B2 publication Critical patent/JP5795349B2/ja
Expired - Fee Related 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
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5019Workload prediction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5022Workload threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

開示する実施形態は、ウェブアプリケーションに関する。
携帯電話は、一層複雑なアプリケーションプログラムを実行するようになった。複雑なアプリケーションプログラムの例としては、ビデオメッセージングプログラム、移動テレビジョン視聴プログラム、および3次元マルチユーザビデオゲームプログラムがある。携帯電話の現代のユーザは、ただ無線電話通話を行うために携帯電話を使用するのではないことが多い。そうではなく、ユーザは、他のリモートコンピュータによって、その上で提供されるサービスおよびデータと対話し、アクセスするための入出力装置として携帯電話を使用する。一例では、複数ユーザの各々の携帯電話がビデオゲームアプリケーションプログラムのコピーを実行する。携帯電話は、直接にまたは中央コンピュータを介して互いに通信し、それによりユーザは、すべて共通の仮想環境で同じマルチユーザビデオゲームをすることができる。
しかしながら、携帯電話上でそのような複雑なアプリケーションプログラムを実行することは、携帯電話のリソースの大部分を消費することがある。携帯電話リソースの例としては、電池容量、メモリ容量、および処理能力がある。複雑なアプリケーションプログラムを実行することは、利用可能な電池容量の多くを占有することがある。実際、ビデオゲームをすると、多大な電池エネルギーを使用するので、携帯電話が携帯電話として通信するための十分な電池エネルギーが残っていないことがある。あるいは、ビデオゲームをすると、その結果放電された電池が、通常の持続時間の携帯電話呼出しのために携帯電話に電力供給することができないほど放電されていることを、ユーザが認識せずに、電池エネルギーを急速に消費するがある。
複雑なアプリケーションは大量の利用可能な電池エネルギーを使用するだけでなく、複雑なアプリケーションプログラムは携帯電話の利用可能なランダムアクセスメモリ(RAM)の大部分を使用することがある。携帯電話を使用してマルチユーザビデオゲームをしている場合、利用可能なメモリの大半がビデオゲームアプリケーションによって使用されるので、携帯電話は別のアプリケーションプログラムを同時に呼び出すことができないことがある。複雑なアプリケーションプログラムを実行することは、携帯電話の中央処理装置(CPU)の利用可能な処理能力の大部分を必要とし、使用することもある。携帯電話を使用してマルチユーザビデオゲームをしている場合、携帯電話の処理能力の大半が使用されるので、別のアプリケーションプログラムを所望の処理速度または応答性で実行することができないことがある。
これらの問題のいくつかは、複雑なアプリケーションプログラムをリモートコンピュータ上で実行し、携帯電話をアプリケーションと対話するための入出力装置として使用することによって対処できる。リモートコンピュータと対話するために使用される携帯電話上で実行されるブラウザソフトウェアは、携帯電話上で複雑なアプリケーションプログラムを実行した場合にその複雑なアプリケーションプログラムが使用するであろうリソースよりも使用するリソースの量が少ない。したがって、携帯電話におけるリソースの使用量が減少する。携帯電話上で実行されるブラウザは、リモートコンピュータ上で実行されているアプリケーションとワールドワイドウェブ上で通信するために使用されるので、リモートコンピュータ上で実行されるアプリケーションプログラムは「ウェブブラウザアプリケーション」、「ウェブアプリケーション」または「ウェブアプ(Webapp)」と呼ばれる。(「サーバファーム」と呼ばれることがある)コンピュータのクラスタ上で実行されるそのようなアプリケーションへのインターネットアクセスは、携帯電話ユーザがウェブアプとして使用する料金と引き換えに提供されることがある。一例では、マルチユーザビデオゲームのアプリケーションプログラムは、そのようなサーバファーム中のコンピュータ上で実行されている。携帯電話上で複雑なアプリケーションプログラムを実行して大量の携帯電話リソースを消費するのではなく、ユーザは、携帯電話上でブラウザを実行するだけで、サーバファーム中のコンピュータ上で実行されている複雑なアプリケーションプログラムと対話する。
しかしながら、リモートコンピュータ上でそのような複雑なアプリケーションプログラムを実行することが常に望ましいというわけではない。コストの問題、または通信遅延もしくは信頼性の問題、または特定の状況において携帯電話上での複雑なアプリケーションの実行が有利となる他の問題が存在することがある。携帯電話のリソースが、そのようなアプリケーションプログラムの使用によって酷使されて乏しくなった場合、携帯電話上で利用可能な予備リソースの量はわずかしかないことがある。たとえば、より高い優先順位のアプリケーションを次いで使用しようとする場合、リソース使用量の総量が携帯電話上の利用可能なリソースの総量を超え得るとき、そのより高い優先順位のアプリケーションプログラムを呼び出すことができないことがある。また、この状況ではリソースが極めて多用されるので、着信携帯電話を受信しようとするとき、携帯電話には、その呼出しを受信するための十分なリソースがない。リソースを管理すること、ならびに所与の状況においてどのアプリケーションプログラムをウェブアプとしてオフロードすべきか、およびどのアプリケーションプログラムをオフロードすべきではないかまたは呼び出さないかを決定することが、煩わしく困難なことがある。
移動通信装置(たとえば、携帯電話)上で実行されているユーティリティプログラムが、アプリケーションプログラムの第1のインスタンスをローカルで該移動通信装置上で起動すべきか、または該アプリケーションプログラムの第2のインスタンスをリモートでウェブアプリケーション(以下「ウェブアプ」)として起動すべきかを決定する。この決定は、少なくとも一部は、第1のインスタンスを該移動通信装置上で起動し実行しようとした場合、第1のインスタンスがどの位の量のリソースを消費するかの推定値に基づく。リソースの例としては、電池容量または電池エネルギー使用量、メモリ容量またはメモリ使用量、および処理パワー容量または使用量がある。一例では、現在実行中のアプリケーションおよびアプリケーションプログラムの第1のインスタンスを実行することによって消費される特定のリソースの総量がしきい値量を超え得る場合、ユーティリティプログラムは、移動通信装置上のブラウザプログラムを使用してアプリケーションプログラムの第2のインスタンスをリモートでウェブアプとして起動するか、さもなければ、ユーティリティプログラムはアプリケーションプログラムの第1のインスタンスをローカルで起動させる。ユーティリティプログラムは、起動のタイプを決定するために移動通信装置のオペレーティングシステムと対話する。
いくつかの実施形態では、第1のインスタンスと第2のインスタンスは同じプログラムである。一実施形態では、第1のインスタンスは、限られたリソースを有する装置上で実行するようにカスタマイズされ適合されたアプリケーションの簡略版である。一方、第2のインスタンスは、移動通信装置のリソース制約を有しないリモートコンピュータ上での実行に適する。
ユーティリティプログラムはグラフィカルユーザインターフェース(GUI)を有し、それによって移動通信装置のユーザはユーティリティプログラムの動作を設定し、カスタマイズすることができる。GUIは、たとえば、アプリケーションをリモートでウェブアプとして起動する決定を行う条件を変更するために使用できる。ユーザは、GUIを使用して特定のアプリケーションのオフロードを無効化することができる。
特定の例では、GUIは、ユーザによる適切なプロンプトに応答して移動通信装置のディスプレイ上にリソース使用量テーブルを表示させる。このテーブルは、移動通信装置上で実行中のすべてのアプリケーションプログラムを記載している。さらに、このテーブルは、起動しようとしているアプリケーションプログラムを記載している。記載されている各アプリケーションプログラムについて、テーブルはリソースの各タイプの使用量値を含む。起動しようとしているアプリケーションプログラムの場合、使用量値は使用量の推定値である。使用量の推定値とは、アプリケーションプログラムの第1のインスタンスをローカルで移動通信装置上で実行した場合に発生するであろう使用量である。少なくとも一部は、現在実行中のアプリケーションプログラムのリソース使用量値と、起動しようとしているアプリケーションプログラムのリソース使用量の推定値とに基づいて、ユーティリティプログラムは、起動しようとしているアプリケーションプログラムを移動通信装置上で実行すべきか、または移動通信装置上で実行すべきではないかを決定する。この決定が、アプリケーションプログラムを移動通信装置上で実行すべきではないという決定である場合、ユーティリティプログラムは、移動通信装置上のブラウザプログラムを使用してアプリケーションプログラムの第2のインスタンスをリモートでウェブアプとして起動する。このシナリオでは、アプリケーションプログラムの第2のインスタンスは、アプリケーションプログラムの一部が移動通信装置上で実行され、アプリケーションプログラムの別の一部がリモートで実行されるように分割されることがない。アプリケーションプログラムの第2のインスタンスのいかなる部分も移動通信装置上で実行されない。しかしながら、決定が、アプリケーションプログラムを移動通信装置上で実行すべきであるという決定である場合、ユーティリティは、アプリケーションプログラムの第1のインスタンスをローカルで移動通信装置上で起動させる。アプリケーションプログラムの第1のインスタンスは、移動通信装置とリモートコンピュータとの間で分割されない。アプリケーションプログラムの第1のインスタンスのいかなる部分もリモートコンピュータ上では実行されない。
いくつかの実施形態では、ユーティリティプログラムは、いくつかのリソース使用量条件下において、リモートコンピュータ上でのアプリケーションプログラムの第2のインスタンスの実行を終了することができる。アプリケーションプログラムの第1のインスタンスは、第2のインスタンスが終了したときの状態にある移動通信装置上で起動される。したがって、アプリケーションプログラムの実行は、ユーティリティプログラムの制御下でリモートコンピュータから元に移動する。
上記は概要であり、したがって当然、詳細の簡略化、一般化および省略を含んでおり、したがって、概要は例示的なものにすぎず、限定的なものではないことを当業者には言うまでもない。特許請求の範囲のみによって定義される、本明細書で説明する装置および/またはプロセスの他の態様、発明的特徴、および利点は、本明細書に記載する非限定的な詳細な説明において明らかになるであろう。
新規の一態様による新規のユーティリティプログラムを実行する移動通信装置を示す正面図。 新規のユーティリティプログラムの動作を示す簡略化されたフローチャート。 図1の移動通信装置内およびリモートコンピュータ上で実行されているソフトウェアを示す図。 図3の移動通信装置、図3のリモートコンピュータ、およびその2つの間の通信パスを示す図。 図4の移動通信装置と図4のリモートコンピュータとの間で行われる一連の通信を示す図。
図1は、新規の一態様による移動通信装置100の正面図である。この例における移動通信装置100は、アンテナ101と、内蔵マイクロホン102と、スピーカ103と、ディスプレイ104と、QWERTYキーパッド105とを有する携帯電話である。移動通信装置100内の電子回路は、数ある部品の中でもとりわけ、RFトランシーバ回路と、デジタルベースバンドプロセッサ集積回路と、1つまたは複数の充電式電池と、電力管理集積回路とを含む。図1は平面図であり、この回路は移動通信装置100の筐体内に含まれているので、この回路は図1に示されていない。ベースバンドプロセッサ集積回路は、ある量の半導体メモリと、デジタルプロセッサとを含む。半導体メモリは、プロセッサ上で実行可能であるプロセッサ実行可能命令のプログラムを記憶するプロセッサ可読媒体である。プロセッサは、メモリにアクセスし、メモリからプロセッサ実行可能命令のオペレーティングシステムプログラムを実行する。プロセッサはアプリケーション層プログラムを実行することもできる。図1の例では、「WP」と示されたワード処理プログラムと、「EMAIL」と示された電子メールおよびカレンダーおよびコンタクトマネージャプログラムと、「GAME」と示された3次元マルチユーザビデオゲームと、「BROWSER」と示されたウェブブラウザプログラムと、新規のユーティリティプログラムとを含む、プロセッサ上で実行されている複数のそのようなアプリケーション層プログラムがある。ユーティリティプログラムの実行により、グラフィカルユーザインターフェース(GUI)が与えられ、それによって移動通信装置100のユーザは、ユーティリティプログラムの出力を閲覧することができ、ユーティリティプログラムと対話し、ユーティリティプログラムを設定することができる。ユーティリティプログラムの1つの動作モードでは、GUIはリソース使用量テーブル106をディスプレイ104に表示させる。
リソース使用量テーブル106は、携帯電話上で実行中の様々なプログラムのリストを最左列中に含む。「SYSTEM」エントリは、オペレーティングシステムおよび新規のユーティリティアプリケーションプログラムを指す。ユーティリティプログラムは、アプリケーション層プログラムであるが、オペレーティングシステムに緊密に結合されており、したがってオペレーティングシステムの一部として記載されている。記載されたプログラムの各々について、リソース使用量テーブル106は、使用中であるか、さもなければプログラムに割り当てられているか、またはプログラムによって予約されているリソースの量を示す数値を含む。図1の例では、(ディスプレイ上に「BATT」と記載されている)電池電力使用量と、(「MEM」と記載されている)メモリ使用量と、(「CPU」と記載されている)処理能力使用量という3つの異なるリソースが記載されている。たとえば、「EMAIL」と示された電子メールプログラムは、電力使用量リソース「BATT」を3単位、メモリ使用量リソース「MEM」を2単位、および処理能力リソース「CPU」を1単位使用しているのが示されている。リソース使用量テーブル106の最下行は、3つのリソースの各々のしきい値を記載している。リソース使用量テーブル106中の使用量値およびしきい値の単位は互いに正規化されている。一例では、しきい値は、ユーザが変更することができない固定値である。別の例では、GUIにより、移動通信装置100のユーザは、所定の範囲内でしきい値を手作業で変更することが可能になる。
リソース使用量テーブル106の最右列は、プログラムの各々が、リモートコンピュータ上でウェブアプとして実行されるようにオフロードされているかどうかの表示を含む。図1の例では、ビデオゲームアプリケーション「GAME」はリモートコンピュータ上で実行中であり、携帯電話100のブラウザおよび携帯電話ハードウェア自体は、リモートコンピュータ上のリモートで実行されているゲームプログラムと対話するために使用されている。アプリケーションプログラム「GAME」がオフロードされていることは、最右列のチェックマークで示されている。GUIにより、ユーザは、記載されたプログラムのうちの選択された1つのオフロードを手作業で無効化することができる。図1の例では、ユーザは、「EMAIL」と示された電子メールプログラムのオフロードを無効化してある。「オフロード無効化」状態は、リソース使用可能テーブル106中の最右列に×印で示されている。
移動通信装置100の通常の動作では、ユーティリティプログラムはリソース使用量テーブル106を表示させない。そうではなく、リソース使用量テーブル106は、ユーティリティプログラムへの適切なユーザプロンプトに応答して表示される。このようにして、ユーザは、GUIを使用してプロンプトを入力し、それによってテーブル106を表示させ、次いでGUIおよびテーブルを使用してユーティリティと対話し、次いで、テーブル106がもはや表示されないようにする適切なプロンプトを入力することが可能である。ただし、テーブル106が表示されていなくても、ユーティリティプログラムはバックグラウンドで実行され続ける。
図2は、新規の一態様による方法を示す簡略化されたフローチャートである。本方法は、図1の移動通信装置100を使用して実施される。最初に、プロセッサは、オペレーティングシステムプログラムおよび新規のユーティリティアプリケーションプログラム、ならびに数個の他のアプリケーションプログラムを実行している。各プログラムは、3つのリソース「BATT」、「MEM」および「CPU」の各々のある量を消費する。ステップ201の前の最初の状態では、図1に記載された「WP」、「EMAIL」および「BROWSER」のアプリケーションが実行されている。ただし、「GAME」アプリケーションは実行されていない。したがって、ディスプレイ104は、「GAME」エントリを有する行が存在しないこと以外は、図1の通りに表示される。総電力使用量(リソース「BATT」)は10使用量単位であることに留意されたい。総メモリ使用量(リソース「MEM」)も10使用量単位である。総処理能力使用量(リソース「CPU」)は6使用量単位である。したがって、3つの使用量合計はすべて、それらのそれぞれのしきい値である。
次いで、ユーザは、「GAME」と示されたマルチユーザビデオゲームアプリケーションプログラムを呼び出す動作をとる。ユーザは、たとえば、ディスプレイ104上に表示されているビデオゲームのアイコンGAMEを選択する。オペレーティングシステムは、この状態を検出し、GAMEアプリケーションを呼び出す要求をユーティリティプログラムに発行する。ユーティリティプログラムは呼出し要求を受け取る(ステップ201)。
次に(ステップ202)、ユーティリティプログラムは、アプリケーション層プログラムを実行しようとした場合にアプリケーション層プログラムによって消費されるであろう各リソースの量を推定する。一例では、新規のアプリケーションプログラムによって消費されるであろう処理能力は、過去の経験的データによって判断される。たとえば、GAMEプログラムを事前に実行するたびに、平均してCPU処理能力の6使用量単位が消費された場合、この平均使用量値6が推定CPU使用量値として記憶され、使用される。すでに実行されている他のプログラムによって実際に使用される処理能力の量は、多数の適切な方法のうちのいずれか1つによって求めることができる。たとえば、ユーティリティプログラムまたはオペレーティングシステムは、CPUの活動をチェックするためにCPUに周期的に割り込むことができる。粗い例では、低い優先順位のタスクをCPUに周期的に発行し、オペレーティングシステムがタスクの実行を可能にしたかどうかについてのデータを収集する。オペレーティングシステムは、ユーティリティプログラムが使用できるCPU使用量データを出力する。このデータは、従来のWindows(登録商標)オペレーティングシステムのタスクマネージャがCPU使用量データを収集及び出力する方法で、収集及び出力される。
電力消費の推定量(リソース「BATT」)は、過去の経験的データによって同様に求めることができる。携帯電話内の電力管理集積回路(PMIC:power management integrated circuit)は、離散的な時々に、電池電圧をモニタすることができる。測定電圧の変化はエネルギー消費量を示す。選択された個々のアプリケーションプログラムが実行されているとき、または個々のアプリケーションプログラムの選択されたサブグループが実行されているときに、電池電圧を分析することによって、個々の各アプリケーションプログラムの電池エネルギー消費に関する情報が収集される。
メモリ使用量の推定量(リソース「MEM」)は、過去の経験的データによって同様に求めることができる。各アプリケーション層プログラムに割り当てられたメモリ量は、概してオペレーティングシステムに知られている。これらの使用量値はユーティリティプログラムに供給される。GAMEアプリケーションプログラムが実行されるたびに6使用量単位を消費した場合、この次にGAMEプログラムが実行されるときにも6使用量単位を消費する可能性があるという推定になる。実行中の様々なアプリケーションプログラムの実際のメモリ使用量は、上述したように、オペレーティングシステムによって出力され、ユーティリティプログラムによって使用される。したがって、図2の方法のこの時点で、図1のリソース使用量テーブル106中に記載されたすべての使用量値はユーティリティプログラムに知られている。
次に(ステップ203)、各リソースについて、呼び出そうとするアプリケーションプログラムの推定使用量を、実行中の他のプログラムのリソース使用量値に加算する。本例では、BATTリソースについての合計は16単位である。「MEM」リソースについての合計も16単位である。処理能力リソース「CPU」についての合計は12単位である。
次に(ステップ204)、起動しようとしているアプリケーションプログラムを、移動通信装置上で起動し実行すべきか、またはリモートコンピュータ上で起動し実行すべきかについての決定を行う。この決定は、少なくとも一部は、1)起動しようとしているアプリケーションのリソース使用量の推定値と、2)移動通信装置100上で現在実行中の他のプログラムによって消費されるリソースの量とに基づく。図2のユーティリティプログラムの例では、ステップ203で求めた3つのリソースのいずれかの合計が、そのリソースの対応する所定のしきい値を超える場合、起動しようとしているアプリケーションプログラムを移動通信装置100上で実行すべきではなく、アプリケーションプログラムのインスタンスをウェブアプとしてリモートコンピュータ上で実行すべきであると決定する。
3つのリソースの各々についてステップ203で決定された合計が、その対応するしきい値を下回る場合、処理はステップ205に進む。ユーティリティプログラムは、オペレーティングシステムと通信し、アプリケーションプログラム(この場合はGAMEプログラム)を移動通信装置上で起動させる。その後(ステップ206)、アプリケーションプログラムは移動通信装置100上で通常通り実行される。
しかしながら、本例では、「BATT」リソースの合計は16であり、「BATT」リソースの対応するしきい値は15である。同じく、「MEM」リソースの合計は16であり、「MEM」リソースの対応するしきい値は15である。したがって、ステップ204の決定は、GAMEアプリケーションプログラムを移動通信装置上で起動するのではなく、クライアントインターフェースを呼び出す(ステップ207)という決定になる。クライアントインターフェースは、移動通信装置のウェブブラウザプログラムに組み込まれたインターフェースソフトウェアである。このようにクライアントインターフェースがブラウザに組み込まれている場合、ブラウザは、リモートコンピュータ上の対応するホストインターフェースと通信するために使用できる。クライアントインターフェースは、キーパッドキー押し情報などのユーザ入力を捕捉し、それらのユーザ入力をインターネット上でホストインターフェースに通信する。ホストインターフェースは、リモートコンピュータ上で実行されているアプリケーションプログラムにユーザ入力を供給し、その結果、リモートコンピュータ上で実行されているアプリケーションプログラムには、ユーザ入力が通常通りローカルで生成されたかのように見える。表示データなどアプリケーションプログラムから出力されたデータは、インターネット上でホストインターフェースを介して反対方向に進み、ブラウザおよびクライアントインターフェースに至る。ブラウザは、リモートコンピュータに対してローカルなディスプレイ上に表示データを通常表示するのと同様の方法で、移動通信装置100のディスプレイ104上に表示データを表示する。このクライアントインターフェースおよび関連するホストインターフェースソフトウェアは従来のウェブアプソフトウェアである。このインターフェースソフトウェアの一例は、フロリダ州フォートローダーデールのCitrix Systems社から入手可能である。
クライアントインターフェースを呼び出した後(ステップ207)、ユーティリティプログラムは、クライアントインターフェースおよびホストインターフェースを介して動作し、GAMEアプリケーションプログラムをリモートコンピュータ上で起動させる(ステップ208)。その後、GAMEアプリケーションプログラムがリモートコンピュータ上で実行される(ステップ209)。GAMEアプリケーションプログラムは、これまで移動通信装置100上で実行されることはなかった。GAMEアプリケーションプログラムは、アプリケーションの一部が移動通信装置上で実行され、当該GAMEアプリケーションプログラムの別の一部がリモートサーバ上で実行されるように分割されなかった。GAMEアプリケーションプログラムのインスタンスはウェブアプとしてリモートコンピュータ上で実行され、移動通信装置上のブラウザおよび移動通信装置ハードウェアはウェブアプと対話するのに使用される。この例では、移動通信装置上で実行されるアプリケーションプログラムのインスタンスと、リモートコンピュータ上で実行されるアプリケーションプログラムのインスタンスとは、移動通信装置上にあるインスタンスは、異なるプロセッサ上で実行され、低減された機能を有し、したがってリモートコンピュータと比較して限られたリソースを有する移動通信装置上で十分な速度で実行できる点が異なる。
図3は、移動通信装置100およびリモートコンピュータ107中で実行されているソフトウェアを示す図である。移動通信装置100上で実行されているソフトウェアは、BREW(Binary Runtime Environment for Wireless)タイプのアプリケーションプログラミングインターフェース109を有するオペレーティングシステム108を含む。水平の破線110は、オペレーティングシステム108と、オペレーティングシステム上で実行されるアプリケーション層プログラム111〜113との間のインターフェースを表す。アプリケーションプログラム111は、起動しようとしているアプリケーションプログラムの第1のインスタンスである。アプリケーションプログラム112は新規のユーティリティプログラムである。ユーティリティプログラム112は、GUIを提供し表示データを出力しユーザ入力を受け取るので、ここではアプリケーション層プログラムとして示されている。しかしながら、ユーティリティプログラム112は、オペレーティングシステム108の一部と見なすこともできる。アプリケーションプログラム113は、クライアントインターフェース機能114が組み込まれているウェブブラウザである。
リモートコンピュータ107上で実行されているソフトウェアは、オペレーティングシステム115、起動しようとしているアプリケーションプログラムの第2のインスタンス116、およびホストインターフェース機能117を含む。リモートコンピュータ107は、コンピュータリソースのサーバファームの一部であるコンピュータである。アプリケーションプログラムの第2のインスタンス116は、移動通信装置100のユーザがウェブアプとして使用できる。破線の矢印118は、移動通信装置100からリモートコンピュータ107への情報フローを表す。この情報フローは、ユーザがキーパッド105のどのキーを押したかに関するキー押し情報などのユーザエントリデータおよび入力情報を含む。この情報は、移動通信装置100から、無線リンク(たとえばCDMA無線リンク)上を進み、他のネットワークおよびインターネットを介して、サーバファームおよびリモートコンピュータ107に至る。破線の矢印119は、リモートコンピュータ107から移動通信装置100への情報フローを表す。この情報フローは、リモートコンピュータ119上で実行されているアプリケーションプログラムの第2のインスタンス116によって出力された表示データを含む。この表示データは、リモートコンピュータ107のモニタもしくはスクリーンまたは他のディスプレイ上に表示されるのではなく、インターネットおよび無線リンク上で移動通信装置100に通信される。移動通信装置100上のブラウザ113は、情報をレンダリングし、それにより情報が移動通信装置100のディスプレイ104上に表示される。
図4は、移動通信装置100、リモートコンピュータ107、およびその2つの間の通信の図である。「A」、「U」、「B」および「OS」と標示された移動通信装置100中のブロックは、それぞれ、起動しようとしているアプリケーションプログラムの第1のインスタンス、ユーティリティプログラム、クライアントインターフェースを有するブラウザ、およびオペレーティングシステムを示す。これらのプログラムは、半導体メモリ中に記憶され、上述の移動通信装置100のプロセッサによって実行される。「PMIC」と標示されたブロック120は、電力管理集積回路である。電力管理集積回路120は充電式電池121に結合されている。電力管理集積回路120は、電池電圧をモニタし、プロセッサに電池情報を供給する。電池情報は、いくつかの実施形態では、電池電圧とすることができる。他の実施形態では、電池情報は、電池に蓄えられているエネルギー量、または電池電力消費率もしくは現在の消費率の指示とすることができる。
リモートコンピュータ107は、サーバファーム122中にあるいくつかのコンピュータのうちの1つである。リモートコンピュータ107内で「A」と標示されたブロック123は、起動しようとしているアプリケーションプログラムの第2のインスタンスを示す。アプリケーションプログラムのこの第2のインスタンスは、リモートでウェブアプとしてリモートコンピュータ107上で実行できるプログラムである。
移動通信装置100とリモートコンピュータ107との間の通信は、無線リンク124、携帯電話ネットワーク125(この場合はCDMAネットワーク)、および広域ネットワーク(WAN)126を通過する。WAN126、CDMAネットワーク125、および無線リンク124はすべて、インターネット127の一部と見なすことができる。矢印128は、移動通信装置110から、リモートコンピュータ107上で実行されているウェブアプに至るユーザエントリ情報を表す。矢印129は、リモートコンピュータ107上で実行されているウェブアプによって出力され、リモートコンピュータ107から移動通信装置110に至る表示データを表す。
図5は、1つのシナリオにおける移動通信装置100とリモートコンピュータ107との間で行われる一連の通信を示す。図中の時間は、上から下に進行する。上部の矢印130は、アプリケーション実行要求を表す。これは、アプリケーションプログラムの第2のインスタンスをリモートコンピュータ上で起動させる通信である。いくつかの例では、アプリケーション実行要求は、移動通信装置100の電話番号を含む。次の矢印131は、アプリケーションプログラムの第2のインスタンスが起動されたことをリモートコンピュータ107が確認するための肯定応答通信を表す。相対的により濃くより太い矢印として示された矢印131は、リモートコンピュータ107から移動通信装置110への通信が、移動通信装置100からリモートコンピュータ107への反対方向への情報フローよりも多くの情報転送を伴う比較的広帯域の通信であることを示すものである。続く複数個の矢印の対132はアプリケーションストリーミングを表す。ユーザ入力が、リモートコンピュータ107上で実行されているウェブアプに通信され、その結果、新規の表示データがウェブアプから出力され、表示のために元の移動通信装置100に戻される。矢印133と矢印134との最後の対は、移動通信装置100中のユーティリティプログラムがリモートコンピュータ107上でのウェブアプ実行を終了させることを表す。一例では、リモートコンピュータ107は、実行を終了し、肯定応答134を送信することに加えて、ウェブアプの実行の状態に関する追加のステータス情報を移動通信装置100に送信する。このステータス情報は、次いでアプリケーションが終了したときのアプリケーション状態でアプリケーションの実行を再開するために移動通信装置100上で使用できる。ユーザの視点からは、アプリケーションは、アプリケーションプログラムの実行場所が決して変化しないかのように実行され続ける。GUIは、ユーティリティプログラムがウェブアプ実行を終了させる条件を変更するために使用できる。
一実施形態では、アプリケーション実行要求は要求元の移動通信装置の電話番号を含む。サーバファームの操作者は、移動通信装置ユーザの電話番号の情報を維持し、関連するユーザ課金情報をも維持する。アプリケーション実行要求がサーバファームで受信されると、着信要求中の電話番号を使用して、関連する課金情報を特定し、提供しているウェブアプアプリケーションプログラムの使用に対して移動通信装置のユーザに課金する。あるいは、電話番号以外の識別情報をアプリケーション実行要求中に埋め込み、この識別情報を使用して、操作者がウェブアプアプリケーションプログラムの使用に対してユーザに課金できるようにする。
いくつかの実施形態では、リモートコンピュータ上で実行される第2のアプリケーションプログラムがある。この第2のアプリケーションプログラムは、ウェブアプ表示データとともに広告情報を元のクライアントインターフェースへの通信に含めることをホストインターフェースに行わせる。移動通信装置上で実行されるクライアントインターフェースおよびブラウザは、通信を受信し、ウェブアプ表示データとともに広告を移動通信装置のディスプレイ上にレンダリングさせる。別の例では、第2のアプリケーションプログラムは、リモートコンピュータと移動通信装置との間に通信があるとき、移動通信装置中に広告情報がロードされ記憶されることを引き起こす。アプリケーションプログラムの第1のインスタンスがローカルで移動通信装置上で呼び出されたとき、記憶されていた広告情報がアプリケーションプログラムの表示データとともに自動的に表示される。呼出し時に移動通信装置とサーバファームのリモートコンピュータとの間に通信がない場合であってもこの表示は行われる。
いくつかの特定の実施形態について説明の目的で上述したが、本特許文書の教示は、一般的な適用可能性を有し、上述した特定の実施形態に限定されない。移動通信装置の例としては、携帯電話、携帯情報端末(PDA)、ラップトップコンピュータ、タブレットパーソナルコンピュータ、スマートフォン、またはウェブブラウザを実行する任意の移動装置がある。したがって、説明した特定の実施形態の様々な特徴の様々な修正形態、適応形態、および組合せは、以下の特許請求の範囲から逸脱せずに実施できる。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[1](a)移動通信装置上で使用されているリソースの第1の量を示す第1の値を記憶すること、
(b)起動しようとしているアプリケーションプログラムのローカルインスタンスが前記移動通信装置上で実行された場合に、前記ローカルインスタンスが使用するであろう前記リソースの第2の量を示す第2の値を記憶すること、
(c)少なくとも一部を前記第1の値および前記第2の値に基づいて、起動しようとしている前記アプリケーションプログラムを前記移動通信装置上で実行すべきか、または前記移動通信装置上で実行すべきではないかを決定することと、
(d)(c)での前記決定が、前記アプリケーションプログラムを前記移動通信装置上で実行すべきであるという決定である場合、前記アプリケーションプログラムの前記ローカルインスタンスを前記移動通信装置上で起動させることと、
(e)(c)での前記決定が、前記アプリケーションプログラムを前記移動通信装置上で実行すべきではないという決定である場合、1)前記アプリケーションプログラムのリモートインスタンスをリモートコンピュータ上で起動させること、および2)広域ネットワーク上で前記リモートインスタンスと対話し、前記リモートインスタンスによって出力されるデータを閲覧するために前記移動通信装置のユーザが使用できるウェブブラウザを前記移動通信装置上で実行すること、を含む方法。
[2]前記アプリケーションプログラムの前記リモートインスタンスはウェブアプであり、前記広域ネットワークはインターネットを含み、前記移動通信装置は携帯電話であり、(a)〜(e)は、前記携帯電話上で実行されているユーティリティプログラムによって実行される、[1]記載の方法。
[3]前記ユーティリティプログラムはグラフィカルユーザインターフェース(GUI)を有する、[2]記載の方法。
[4]前記GUIは、(c)での前記決定が、前記第1および第2の値とは無関係に、前記アプリケーションプログラムを前記移動通信装置上で実行すべきであるという決定になることを指定するために使用できる、[3]記載の方法。
[5]前記GUIはアプリケーションプログラムのリストを前記移動通信装置のディスプレイ上に表示させ、前記GUIはリソース量値の関連付けられたリストを前記ディスプレイ上に表示させ、リソース量値の前記リスト中の各リソース量値が、アプリケーションプログラムの前記リスト中の前記アプリケーションプログラムの各々に関連付けられる、[3]記載の方法。
[6](c)は、前記第1の値と前記第2の値との合計が予め定められたしきい値を超えるかどうかを決定することを含み、前記合計が前記予め定められたしきい値を超えると決定された場合、(c)で前記アプリケーションプログラムを前記移動通信装置上で実行すべきではないと決定する、[1]記載の方法。
[7]前記リソースは、電池容量、メモリ容量、処理能力容量、電池使用量、メモリ使用量、および処理能力使用量を含むグループから選択される、[1]記載の方法。
[8]前記アプリケーションプログラムは、マルチユーザ電子ゲーム、ビデオゲーム、ビデオ編集プログラム、ビデオメッセージングプログラム、および計算集約的な財務分析プログラムを含むグループから選択される、[1]記載の方法。
[9](a)移動通信装置上で、アプリケーションプログラムの第1のインスタンスをローカルで前記移動通信装置上で起動すべきか、または前記アプリケーションプログラムの第2のインスタンスをリモートでウェブアプとして起動すべきかの決定を行うこと、
を含み、
前記決定は、少なくとも一部が、前記アプリケーションの前記第1のインスタンスを前記移動通信装置上で起動し実行しようとした場合、前記アプリケーションプログラムの前記第1のインスタンスがどの位の量のリソースを消費するかの推定値に基づく、方法。
[10](b)前記移動通信装置のディスプレイ上に、アプリケーションプログラムのリストを表示すること、
をさらに含み、前記リスト中の前記アプリケーションプログラムは、前記移動通信装置上で実行されているアプリケーションプログラムを含み、前記リスト中の前記アプリケーションプログラムは、リモートでウェブアプとして実行されているアプリケーションプログラムを含み、前記移動通信装置上で実行されているユーティリティプログラムは、前記リスト中の前記アプリケーションプログラムを決定し、(a)での前記決定をも行う、[9]記載の方法。
[11]前記移動通信装置はブラウザプログラムを実行する携帯電話であり、前記ブラウザプログラムは、前記ウェブアプから受信された表示データをレンダリングするために使用される、[9]記載の方法。
[12]アプリケーションプログラムの第1のインスタンス、ウェブブラウザ、およびユーティリティプログラムを記憶するメモリと、
前記ユーティリティプログラムを実行するプロセッサと、
を備える移動通信装置であって、
前記ユーティリティプログラムの実行は、前記アプリケーションプログラムの前記第1のインスタンスをローカルで前記移動通信装置上で起動するかどうか、または前記アプリケーションプログラムの第2のインスタンスをリモートでリモートコンピュータ上でウェブアプとして起動するかどうかを決定し、
前記決定は、少なくとも一部を、前記アプリケーションプログラムを前記移動通信装置上で起動し実行しようとした場合、前記アプリケーションプログラムが消費するであろうリソースの量に基づいて行われる、移動通信装置。
[13]アプリケーションプログラムのリストを表示するディスプレイ、をさらに備え、
前記リストは、前記リスト中に記載された前記アプリケーションプログラムの各々のリソース量値をも含み、前記プロセッサによる前記ユーティリティプログラムの実行は、前記リストを前記ディスプレイ上に表示させる、[12]記載の移動通信装置。
[14]前記決定が、前記アプリケーションプログラムの前記第1のインスタンスを前記移動通信装置上で起動し実行しようとした場合、前記リソースの使用量しきい値を超えるかどうかを決定することを含む、[12]記載の移動通信装置。
[15]電池と、
前記電池に結合された電力管理集積回路と、
をさらに備え、
前記電力管理集積回路は前記プロセッサに電池情報を提供し、前記プロセッサは、前記使用量しきい値を超えるかどうかの決定に前記電池情報を使用する、[14]記載の移動通信装置。
[16]前記アプリケーションプログラムの前記第2のインスタンスがリモートでウェブアプとして起動された場合、前記アプリケーションプログラムの前記第2のインスタンスのいかなる部分も前記移動通信装置上では実行されない、[12]記載の移動通信装置。
[17]ウェブブラウザ、およびアプリケーションプログラムの第1のインスタンスを記憶するメモリと、
前記アプリケーションプログラムの前記第1のインスタンスをローカルで前記移動通信装置上で起動するかどうか、または前記アプリケーションプログラムの第2のインスタンスをリモートでリモートコンピュータ上でウェブアプとして起動するかどうかを決定する手段と、
を備える移動通信装置。
[18]前記決定は、少なくとも一部を、前記アプリケーションプログラムの前記第1のインスタンスを前記移動通信装置上で起動し実行しようとした場合、前記第1のインスタンスが消費すると推定されるリソースの量に基づいて行われる、[17]記載の移動通信装置。
[19]前記移動通信装置はグラフィカルユーザインターフェースを有し、前記グラフィカルユーザインターフェースは、前記手段がアプリケーションプログラムをリモートでウェブアプとして起動すると決定する条件を変更するために使用できる、[17]記載の移動通信装置。
[20]前記手段は、前記リモートコンピュータ上でのウェブアプの実行を終了する能力を有する、[17]記載の移動通信装置。
[21](a)アプリケーションプログラムのローカルインスタンスを移動通信装置上で実行した場合、前記ローカルインスタンスが使用するであろうリソースの量を示す情報を維持し、
(a)前記ローカルインスタンスをローカルで移動通信装置上で起動すべきか、または前記アプリケーションプログラムのリモートインスタンスをウェブアプとして前記移動通信装置から使用することができるようにリモートで起動すべきかを決定する、複数のステップを実行するための、プロセッサ読取可能な媒体上に記憶されたプロセッサ実行可能な命令セットであって、
前記決定は、少なくとも一部は、(a)で維持された前記情報に基づき、前記プロセッサ読取可能な媒体は前記移動通信装置の一部である、プロセッサ実行可能な命令セット。

Claims (20)

  1. (a)起動しようとしているアプリケーションプログラムのローカルインスタンスを備える移動通信装置上で使用されているリソースの第1の量を示す第1の値を記憶すること、
    (b)前記アプリケーションプログラムの前記ローカルインスタンスが前記移動通信装置上で実行された場合に、前記ローカルインスタンスが使用するであろう前記リソースの第2の量を示す第2の値を記憶すること、
    (c)前記第1の値および前記第2の値に基づいて、起動しようとしている前記アプリケーションプログラムを前記移動通信装置上で実行すべきか、または前記移動通信装置上で実行すべきではないかを決定することと、
    (d)(c)での前記決定が、前記アプリケーションプログラムを前記移動通信装置上で実行すべきであるという決定である場合、前記アプリケーションプログラムの前記ローカルインスタンスを前記移動通信装置上で起動させることと、
    (e)(c)での前記決定が、前記アプリケーションプログラムを前記移動通信装置上で実行すべきではないという決定である場合、1)モートコンピュータ上で、前記ローカルインスタンスの前記アプリケーションプログラムと同じアプリケーションプログラムのリモートインスタンスを起動させること、前記リモートインスタンスは前記リモートコンピュータに備えられ、および2)広域ネットワーク上で前記リモートインスタンスと対話し、前記リモートインスタンスによって出力されるデータを閲覧するために前記移動通信装置のユーザが使用できるウェブブラウザを前記移動通信装置上で実行すること、
    (f)前記アプリケーションプログラムの実行場所を前記リモートコンピュータから前記移動通信装置へ移すことと、前記移すことは、
    前記リモートコンピュータ上の前記リモートインスタンスの実行が終了したときに、前記リモートインスタンスが終了したときの前記アプリケーションプログラムの状態で前記アプリケーションプログラムの実行を再開するために、前記リモートインスタンスの実行の状態に関するステータス情報を使用して、前記リモートインスタンスが終了したときの前記アプリケーションプログラムの状態で前記ローカルインスタンスを前記移動通信装置上で実行すること、を備え、前記ステータス情報は、前記リモートインスタンスの実行が終了したときに前記移動通信装置において受信される、
    を含み、
    前記ローカルインスタンスは、前記リモートコンピュータと比較して限定されたリソースを有する前記移動通信装置上で十分な速度で実行できるように前記リモートインスタンスよりも低減された機能を有する、方法。
  2. 前記アプリケーションプログラムの前記リモートインスタンスはウェブアプであり、前記広域ネットワークはインターネットを含み、前記移動通信装置は携帯電話であり、前記移動通信装置はユーティリティプログラムを実行し、前記ユーティリティプログラムは前記移動通信装置に前記(a)〜(e)を実行させる、請求項1記載の方法。
  3. 前記ユーティリティプログラムはグラフィカルユーザインターフェース(GUI)を有する、請求項2記載の方法。
  4. 前記GUIは、(c)での前記決定が、前記第1および第2の値とは無関係に、前記アプリケーションプログラムを前記移動通信装置上で実行すべきであるという決定になることを指定するために使用できる、請求項3記載の方法。
  5. 前記GUIはアプリケーションプログラムのリストを前記移動通信装置のディスプレイ上に表示させ、前記GUIはリソース量値の関連付けられたリストを前記ディスプレイ上に表示させ、リソース量値の前記リスト中の各リソース量値が、アプリケーションプログラムの前記リスト中の前記アプリケーションプログラムの各々に関連付けられる、請求項3記載の方法。
  6. (c)は、前記第1の値と前記第2の値との合計が予め定められたしきい値を超えるかどうかを決定することを含み、前記合計が前記予め定められたしきい値を超えると決定された場合、(c)で前記アプリケーションプログラムを前記移動通信装置上で実行すべきではないと決定する、請求項1記載の方法。
  7. 前記リソースは、電池容量、メモリ容量、処理能力容量、電池使用量、メモリ使用量、および処理能力使用量を含むグループから選択される、請求項1記載の方法。
  8. 前記アプリケーションプログラムは、マルチユーザ電子ゲーム、ビデオゲーム、ビデオ編集プログラム、ビデオメッセージングプログラム、および計算集約的な財務分析プログラムを含むグループから選択される、請求項1記載の方法。
  9. (a)アプリケーションプログラムの第1のインスタンスを備える移動通信装置上で、前記アプリケーションプログラムの前記第1のインスタンスをローカルで前記移動通信装置上で起動すべきか、またはリモートコンピュータ上で、前記第1のインスタンスの前記アプリケーションプログラムと同じアプリケーションプログラムの第2のインスタンスをリモートでウェブアプとして起動すべきかの決定を行うことと、前記第2のインスタンスは前記リモートコンピュータに備えられ、
    前記第1のインスタンスは、前記リモートコンピュータと比較して限定されたリソースを有する前記移動通信装置上で十分な速度で実行できるように前記第2のインスタンスよりも低減された機能を有する、
    前記決定は、前記移動通信装置上で使用されているリソース量を示す第1の値と、前記アプリケーションプログラムの前記第1のインスタンスを前記移動通信装置上で起動し実行しようとした場合、前記アプリケーションプログラムの前記第1のインスタンスが消費するであろうリソースの量を示す第2の値とに基づき、
    前記決定を行うことは、前記第1の値と前記第2の値の加算値が使用量しきい値以下の場合、前記第1のインスタンスをローカルで前記移動通信装置上で起動すると決定し、前記加算値が前記使用量しきい値を超える場合、前記第2のインスタンスを前記リモートコンピュータ上で起動すると決定することを含み、
    (b)前記アプリケーションプログラムの実行場所を前記リモートコンピュータから前記移動通信装置へ移すことと、前記移すことは、前記リモートコンピュータ上の前記第2のインスタンスの実行が終了したときに、前記第2のインスタンスが終了したときの前記アプリケーションプログラムの状態で前記アプリケーションプログラムの実行を再開するために、前記第2のインスタンスの実行の状態に関するステータス情報を使用して、前記第2のインスタンスが終了したときの前記アプリケーションプログラムの状態で前記第1のインスタンスを前記移動通信装置上で実行すること、を備え、前記ステータス情報は、前記第2のインスタンスの実行が終了したときに前記移動通信装置において受信される、
    を含む方法。
  10. (c)前記移動通信装置のディスプレイ上に、アプリケーションプログラムのリストを表示すること、
    をさらに含み、前記リスト中の前記アプリケーションプログラムは、前記移動通信装置上で実行されているアプリケーションプログラムを含み、前記リスト中の前記アプリケーションプログラムは、リモートでウェブアプとして実行されているアプリケーションプログラムを含み、前記移動通信装置上で実行されているユーティリティプログラムは、前記リスト中の前記アプリケーションプログラムが選択されると、前記移動通信装置に(a)での前記決定を行わせる、請求項9記載の方法。
  11. 前記移動通信装置はブラウザプログラムを実行する携帯電話であり、前記ブラウザプログラムは、前記移動通信装置に前記ウェブアプから受信された表示データをレンダリングさせる、請求項9記載の方法。
  12. アプリケーションプログラムの第1のインスタンス、ウェブブラウザ、およびユーティリティプログラムを記憶するメモリと、
    前記ユーティリティプログラムを実行するプロセッサと、
    を備える移動通信装置であって、
    前記ユーティリティプログラムは、前記プロセッサに、前記アプリケーションプログラムの前記第1のインスタンスをローカルで前記移動通信装置上で起動するかどうか、またはリモートコンピュータ上で、前記第1のインスタンスの前記アプリケーションプログラムと同じアプリケーションプログラムの第2のインスタンスをリモートでウェブアプとして起動するかどうかを決定させ、前記第2のインスタンスは前記リモートコンピュータに備えられ、
    前記第1のインスタンスは、前記リモートコンピュータと比較して限定されたリソースを有する前記移動通信装置上で十分な速度で実行できるように前記第2のインスタンスよりも低減された機能を有し、
    前記決定は、前記移動通信装置上で使用されているリソース量を示す第1の値と、前記アプリケーションプログラムを前記移動通信装置上で起動し実行しようとした場合、前記アプリケーションプログラムが消費するであろうリソースの量を示す第2の値とに基づいて行われ、
    前記ユーティリティプログラムは、前記プロセッサに、
    前記第1の値と前記第2の値の加算値が使用量しきい値以下の場合、前記第1のインスタンスをローカルで前記移動通信装置上で起動すると決定させ、前記加算値が前記使用量しきい値を超える場合、前記第2のインスタンスを前記リモートコンピュータ上で起動すると決定させ、
    前記アプリケーションプログラムの実行場所を前記リモートコンピュータから前記移動通信装置へ移させ、前記移すことは、前記リモートコンピュータ上の前記第2のインスタンスの実行が終了したときに、前記第2のインスタンスが終了したときの前記アプリケーションプログラムの状態で前記アプリケーションプログラムの実行を再開するために、前記第2のインスタンスの実行の状態に関するステータス情報を使用して、前記第2のインスタンスが終了したときの前記アプリケーションプログラムの状態で前記第1のインスタンスを前記移動通信装置上で実行すること、を含み、前記ステータス情報は、前記第2のインスタンスの実行が終了したときに前記移動通信装置において受信される、移動通信装置。
  13. アプリケーションプログラムのリストを表示するディスプレイ、をさらに備え、
    前記リストは、前記リスト中に記載された前記アプリケーションプログラムの各々のリソース量値をも含み、前記プロセッサによる前記ユーティリティプログラムの実行は、前記リストを前記ディスプレイ上に表示させる、請求項12記載の移動通信装置。
  14. 電池と、
    前記電池に結合された電力管理集積回路と、
    をさらに備え、
    前記電力管理集積回路は前記プロセッサに電池情報を提供し、前記プロセッサは、前記使用量しきい値を超えるかどうかの決定に前記電池情報を使用する、請求項12記載の移動通信装置。
  15. 前記アプリケーションプログラムの前記第2のインスタンスがリモートでウェブアプとして起動された場合、前記アプリケーションプログラムの前記第2のインスタンスのいかなる部分も前記移動通信装置上では実行されない、請求項12記載の移動通信装置。
  16. ウェブブラウザ、およびアプリケーションプログラムの第1のインスタンスを記憶するメモリと、
    前記アプリケーションプログラムの前記第1のインスタンスをローカルで移動通信装置上で起動するかどうか、またはリモートコンピュータ上で、前記第1のインスタンスの前記アプリケーションプログラムと同じアプリケーションプログラムの第2のインスタンスをリモートでウェブアプとして起動するかどうかを決定するプロセッサと、前記第2のインスタンスは前記リモートコンピュータに備えられ、
    を備え、
    前記第1のインスタンスは、前記リモートコンピュータと比較して限定されたリソースを有する前記移動通信装置上で十分な速度で実行できるように前記第2のインスタンスよりも低減された機能を有し、
    前記決定は、前記移動通信装置上で使用されているリソース量を示す第1の値と、前記アプリケーションプログラムを前記移動通信装置上で起動し実行しようとした場合、前記アプリケーションプログラムの前記第1のインスタンスが消費するであろうリソースの量を示す第2の値とに基づいて行われ、
    前記プロセッサは、前記第1の値と前記第2の値の加算値が使用量しきい値以下の場合、前記第1のインスタンスをローカルで前記移動通信装置上で起動すると決定し、前記加算値が前記使用量しきい値を超える場合、前記第2のインスタンスを前記リモートコンピュータ上で起動すると決定し、
    前記プロセッサは、前記アプリケーションプログラムの実行場所を前記リモートコンピュータから前記移動通信装置へ移し、前記移すことは、前記リモートコンピュータ上の前記第2のインスタンスの実行が終了したときに、前記第2のインスタンスが終了したときの前記アプリケーションプログラムの状態で前記アプリケーションプログラムの実行を再開するために、前記第2のインスタンスの実行の状態に関するステータス情報を使用して、前記第2のインスタンスが終了したときの前記アプリケーションプログラムの状態で前記第1のインスタンスを前記移動通信装置上で実行すること、を含み、前記ステータス情報は、前記第2のインスタンスの実行が終了したときに前記移動通信装置において受信される、移動通信装置。
  17. 前記移動通信装置はグラフィカルユーザインターフェースを有し、前記グラフィカルユーザインターフェースは、前記プロセッサがアプリケーションプログラムをリモートでウェブアプとして起動すると決定する条件を変更するために使用できる、請求項16記載の移動通信装置。
  18. 前記プロセッサは、前記リモートコンピュータ上でのウェブアプの実行を終了する能力を有する、請求項16記載の移動通信装置。
  19. (a)アプリケーションプログラムのローカルインスタンスを移動通信装置上で実行した場合、前記ローカルインスタンスが使用するであろうリソースの量を示す第1の値を維持し、
    (b)前記ローカルインスタンスをローカルで移動通信装置上で起動すべきか、またはリモートコンピュータ上で、前記ローカルインスタンスの前記アプリケーションプログラムと同じアプリケーションプログラムのリモートインスタンスをウェブアプとしてリモートで起動すべきかを決定する、複数のステップをプロセッサに実行させるプロセッサ実行可能なプログラムであって、前記リモートインスタンスは前記リモートコンピュータに備えられ、
    前記ローカルインスタンスは、前記リモートコンピュータと比較して限定されたリソースを有する前記移動通信装置上で十分な速度で実行できるように前記リモートインスタンスよりも低減された機能を有し、
    前記決定は、前記移動通信装置上で使用されているリソース量を示す第2の値と、(a)で維持された前記第1の値とに基づき、
    前記複数のステップは、
    前記第1の値と前記第2の値の加算値が使用量しきい値以下の場合、前記ローカルインスタンスをローカルで前記移動通信装置上で起動すると決定するステップと、
    前記加算値が前記使用量しきい値を超える場合、前記リモートインスタンスを前記リモートコンピュータ上で起動すると決定するステップと、
    前記アプリケーションプログラムの実行場所を前記リモートコンピュータから前記移動通信装置へ移すステップと、前記移すステップは、前記リモートコンピュータ上の前記リモートインスタンスの実行が終了したときに、前記リモートインスタンスが終了したときの前記アプリケーションプログラムの状態で前記アプリケーションプログラムの実行を再開するために、前記リモートインスタンスの実行の状態に関するステータス情報を使用して、前記リモートインスタンスが終了したときの前記アプリケーションプログラムの状態で前記ローカルインスタンスを前記移動通信装置上で実行するステップを含み、前記ステータス情報は、前記リモートインスタンスの実行が終了したときに前記移動通信装置において受信される、
    を含むプログラム。
  20. 請求項19記載のプログラムを記憶したプロセッサ読み取り可能記憶媒体。
JP2013044567A 2007-04-25 2013-03-06 アプリケーションをローカルで起動すべきかまたはリモートでウェブアプとして起動すべきかを決定する装置 Expired - Fee Related JP5795349B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/739,991 US8355709B2 (en) 2006-10-23 2007-04-25 Device that determines whether to launch an application locally or remotely as a webapp
US11/739,991 2007-04-25

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2010506535A Division JP2010527057A (ja) 2007-04-25 2008-04-25 アプリケーションをローカルで起動すべきかまたはリモートでウェブアプとして起動すべきかを決定する装置

Publications (2)

Publication Number Publication Date
JP2013152732A JP2013152732A (ja) 2013-08-08
JP5795349B2 true JP5795349B2 (ja) 2015-10-14

Family

ID=39598417

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2010506535A Withdrawn JP2010527057A (ja) 2007-04-25 2008-04-25 アプリケーションをローカルで起動すべきかまたはリモートでウェブアプとして起動すべきかを決定する装置
JP2013044567A Expired - Fee Related JP5795349B2 (ja) 2007-04-25 2013-03-06 アプリケーションをローカルで起動すべきかまたはリモートでウェブアプとして起動すべきかを決定する装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2010506535A Withdrawn JP2010527057A (ja) 2007-04-25 2008-04-25 アプリケーションをローカルで起動すべきかまたはリモートでウェブアプとして起動すべきかを決定する装置

Country Status (7)

Country Link
US (1) US8355709B2 (ja)
EP (1) EP2149086B1 (ja)
JP (2) JP2010527057A (ja)
KR (1) KR101195695B1 (ja)
CN (2) CN105426246A (ja)
TW (1) TW200910211A (ja)
WO (1) WO2008134559A1 (ja)

Families Citing this family (82)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060085787A1 (en) * 2004-09-15 2006-04-20 Nokia Corporation Method for providing a rapid response to an application launch request
US8472934B2 (en) * 2007-11-28 2013-06-25 Nokia Corporation Portable apparatus, method and user interface
WO2010007913A1 (ja) * 2008-07-15 2010-01-21 ミツミ電機株式会社 携帯機器、電池パック、半導体装置、表示制御方法、表示制御プログラム
US8060604B1 (en) * 2008-10-10 2011-11-15 Sprint Spectrum L.P. Method and system enabling internet protocol multimedia subsystem access for non internet protocol multimedia subsystem applications
US9154942B2 (en) 2008-11-26 2015-10-06 Free Stream Media Corp. Zero configuration communication between a browser and a networked media device
US10419541B2 (en) 2008-11-26 2019-09-17 Free Stream Media Corp. Remotely control devices over a network without authentication or registration
US9986279B2 (en) 2008-11-26 2018-05-29 Free Stream Media Corp. Discovery, access control, and communication with networked services
US10334324B2 (en) 2008-11-26 2019-06-25 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US10631068B2 (en) 2008-11-26 2020-04-21 Free Stream Media Corp. Content exposure attribution based on renderings of related content across multiple devices
US8180891B1 (en) 2008-11-26 2012-05-15 Free Stream Media Corp. Discovery, access control, and communication with networked services from within a security sandbox
US10567823B2 (en) 2008-11-26 2020-02-18 Free Stream Media Corp. Relevant advertisement generation based on a user operating a client device communicatively coupled with a networked media device
US9519772B2 (en) 2008-11-26 2016-12-13 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US10977693B2 (en) 2008-11-26 2021-04-13 Free Stream Media Corp. Association of content identifier of audio-visual data with additional data through capture infrastructure
US9961388B2 (en) 2008-11-26 2018-05-01 David Harrison Exposure of public internet protocol addresses in an advertising exchange server to improve relevancy of advertisements
US10880340B2 (en) 2008-11-26 2020-12-29 Free Stream Media Corp. Relevancy improvement through targeting of information based on data gathered from a networked device associated with a security sandbox of a client device
US9000558B2 (en) * 2009-01-19 2015-04-07 Broadcom Corporation Wafer-level flip chip package with RF passive element/ package signal connection overlay
US7970830B2 (en) * 2009-04-01 2011-06-28 Honeywell International Inc. Cloud computing for an industrial automation and manufacturing system
AU2012100328A4 (en) * 2009-08-14 2012-04-19 Google Llc Providing a user with feedback regarding power consumption in battery-operated electronic devices
US8280456B2 (en) * 2009-08-14 2012-10-02 Google Inc. Providing a user with feedback regarding power consumption in battery-operated electronic devices
US8538484B2 (en) * 2009-08-14 2013-09-17 Google Inc. Providing a user with feedback regarding power consumption in battery-operated electronic devices
KR101718890B1 (ko) * 2009-12-04 2017-03-22 삼성전자주식회사 컨텐트에 대한 예상 소비 전력 정보를 제공하는 방법 및 그 장치
KR101721539B1 (ko) * 2010-02-11 2017-03-30 삼성전자주식회사 휴대 단말기의 ui 제공 방법 및 장치
US20120317408A1 (en) * 2010-02-25 2012-12-13 Nokia Corporation Method and Apparatus for Changing an Operational Characteristic of a Device in Order to Adjust the Power Consumption Level
JP5353797B2 (ja) * 2010-04-01 2013-11-27 富士通モバイルコミュニケーションズ株式会社 携帯情報端末及び信号処理方法
US10019216B2 (en) 2010-04-07 2018-07-10 Lenovo Innovations Limited (Hong Kong) Information processing terminal and control method thereof
KR101657545B1 (ko) * 2010-05-11 2016-09-19 엘지전자 주식회사 휴대 단말기 및 그 동작 방법
EP2390756A1 (en) 2010-05-25 2011-11-30 Samsung Electronics Co., Ltd. Method and apparatus for managing an application being executed in a portable terminal
JP5569269B2 (ja) * 2010-09-06 2014-08-13 ソニー株式会社 端末装置、情報処理システム、依頼先選択方法、及びプログラム
CA2809899A1 (en) * 2010-09-07 2012-03-15 Apptui Inc. Control of computing devices and user interfaces
US9413624B2 (en) 2010-09-29 2016-08-09 Blackberry Limited Method and device for providing system status information
EP2450794B1 (en) * 2010-10-22 2018-08-29 Orange Method for allowing distributed running of an application and related device and inference engine
EP2450792B1 (en) 2010-10-22 2020-01-15 Orange Method for allowing distributed running of an application and related pre-processing unit
US9152218B2 (en) * 2010-12-22 2015-10-06 Intel Corporation Framework for runtime power monitoring and management
US10108386B2 (en) * 2011-02-04 2018-10-23 Qualcomm Incorporated Content provisioning for wireless back channel
US10003672B2 (en) * 2011-02-09 2018-06-19 Cisco Technology, Inc. Apparatus, systems and methods for deployment of interactive desktop applications on distributed infrastructures
KR101102621B1 (ko) * 2011-06-13 2012-01-16 오퍼니티 주식회사 스마트 기기의 콘텐츠 배경 영역을 이용한 광고 서비스 제공 방법
US9526086B1 (en) * 2011-08-23 2016-12-20 Sprint Communications Company L.P. Application data rate limiting in a wireless communication device
CN103019837A (zh) * 2011-09-27 2013-04-03 中国移动通信集团公司 资源调度方法、装置及终端设备
US8359389B1 (en) * 2011-10-11 2013-01-22 Google Inc. Monitoring application program resource consumption
JP2013115670A (ja) * 2011-11-30 2013-06-10 Sony Corp 撮像装置、その制御方法およびプログラム
US20130166594A1 (en) * 2011-12-23 2013-06-27 T-Mobile Usa Inc. Advertisement, Feature and Data Provisioning Based on Dialed Numbers and Other Addresses
JP5705757B2 (ja) * 2012-01-24 2015-04-22 日本電信電話株式会社 アプリケーション実行装置、システム、及びプログラム
US8768419B2 (en) * 2012-01-26 2014-07-01 Verizon Patent And Licensing Inc. Mobile battery partitioning system and method
JP5120989B1 (ja) * 2012-02-15 2013-01-16 春佳 西守 通信システム
US9098357B2 (en) * 2012-04-11 2015-08-04 Nokia Technologies Oy Method and apparatus for activity management across multiple devices
CN102750217B (zh) * 2012-05-30 2017-01-25 宇龙计算机通信科技(深圳)有限公司 一种应用程序图标的显示方法、装置及终端设备
US8997104B2 (en) * 2012-06-29 2015-03-31 Time Warner Cable Enterprises Llc System and method for managing performance of a mobile device
GB2505412A (en) * 2012-08-28 2014-03-05 Ibm Collaborative modified consensus workload distribution between computing nodes
US8515499B1 (en) * 2012-09-10 2013-08-20 Google Inc. Estimating remaining use time of mobile computing devices
WO2014043864A1 (zh) * 2012-09-19 2014-03-27 华为技术有限公司 应用调用的方法及操作系统、浏览器
CN103812887A (zh) * 2012-11-09 2014-05-21 财团法人资讯工业策进会 文件开启方法以及系统
US11372536B2 (en) 2012-11-20 2022-06-28 Samsung Electronics Company, Ltd. Transition and interaction model for wearable electronic device
US10185416B2 (en) 2012-11-20 2019-01-22 Samsung Electronics Co., Ltd. User gesture input to wearable electronic device involving movement of device
US10423214B2 (en) 2012-11-20 2019-09-24 Samsung Electronics Company, Ltd Delegating processing from wearable electronic device
US8994827B2 (en) 2012-11-20 2015-03-31 Samsung Electronics Co., Ltd Wearable electronic device
US10551928B2 (en) 2012-11-20 2020-02-04 Samsung Electronics Company, Ltd. GUI transitions on wearable electronic device
US11237719B2 (en) * 2012-11-20 2022-02-01 Samsung Electronics Company, Ltd. Controlling remote electronic device with wearable electronic device
JP6463598B2 (ja) * 2012-11-20 2019-02-06 三星電子株式会社Samsung Electronics Co.,Ltd. 着用式電子デバイスからのプロセッシングの委任
US11157436B2 (en) 2012-11-20 2021-10-26 Samsung Electronics Company, Ltd. Services associated with wearable electronic device
CN103838586A (zh) * 2012-11-20 2014-06-04 财团法人资讯工业策进会 文件开启的系统及方法
US10175739B2 (en) 2013-01-29 2019-01-08 Avago Technologies International Sales Pte. Limited Wearable device-aware supervised power management for mobile platforms
EP2767905A1 (en) * 2013-02-15 2014-08-20 Samsung Electronics Co., Ltd Terminal apparatus, server, browser of terminal apparatus operating system and method of operating browser
KR102185692B1 (ko) * 2013-02-15 2020-12-02 삼성전자주식회사 단말 장치, 서버, 단말 장치의 브라우저 구동 시스템, 단말 장치의 브라우저 구동 방법
US9594411B2 (en) * 2013-02-28 2017-03-14 Qualcomm Incorporated Dynamic power management of context aware services
US9510193B2 (en) * 2013-03-15 2016-11-29 Qualcomm Incorporated Wireless networking-enabled personal identification system
GB2516833A (en) 2013-07-31 2015-02-11 Ibm Running software application with dynamic action delegation
CN104426921B (zh) * 2013-08-20 2018-04-10 阿里巴巴集团控股有限公司 展现网络应用程序文档的方法、移动终端、浏览器及系统
CN103595758B (zh) * 2013-10-11 2017-03-08 北京奇虎科技有限公司 推荐软件的方法及装置
US10691332B2 (en) 2014-02-28 2020-06-23 Samsung Electronics Company, Ltd. Text input on an interactive display
US9535770B2 (en) * 2014-03-14 2017-01-03 Samsung Electronics Co., Ltd. Electronic system with offloading mechanism and method of operation thereof
KR20150108695A (ko) * 2014-03-18 2015-09-30 삼성전자주식회사 디바이스의 메모리 관리 방법 및 장치
CN104199701A (zh) * 2014-09-01 2014-12-10 安一恒通(北京)科技有限公司 一种在浏览器中启动应用的方法及装置
CN105068802B (zh) * 2015-08-06 2018-10-02 中国科学院软件研究所 一种跨设备运行的Web应用软件实现系统和方法
CN105468407B (zh) * 2015-11-19 2018-11-06 国云科技股份有限公司 一种自动发现并按序运行启动类的方法
US10334075B2 (en) * 2016-05-23 2019-06-25 Citrix Systems, Inc. Virtual browser integration
CN106790341B (zh) * 2016-09-08 2019-11-22 大连海事大学 移动Web服务应用的自适应部署方法
US11030827B2 (en) * 2018-01-12 2021-06-08 Ford Global Technologies, Llc Method and apparatus for dynamic distributed services redistribution
US10817281B2 (en) * 2018-10-29 2020-10-27 Sap Se Packaged application resources for mobile applications
CN111381960A (zh) * 2018-12-29 2020-07-07 中兴通讯股份有限公司 终端任务的处理方法、装置、存储介质及电子装置
US11689637B2 (en) * 2019-10-14 2023-06-27 Qualcomm Incorporated Local cache management in edge networks
CN114546324B (zh) * 2020-11-11 2024-09-17 上海哔哩哔哩科技有限公司 音频处理方法及装置
US11868748B2 (en) * 2021-07-30 2024-01-09 Informatica Llc Method, apparatus, and computer-readable medium for intelligent execution of a solution on a computer network

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6141759A (en) 1997-12-10 2000-10-31 Bmc Software, Inc. System and architecture for distributing, monitoring, and managing information requests on a computer network
EP1117035A1 (en) * 2000-01-14 2001-07-18 Sun Microsystems, Inc. Runtime environment component services
US20030013483A1 (en) * 2001-07-06 2003-01-16 Ausems Michiel R. User interface for handheld communication device
US6990662B2 (en) 2001-10-31 2006-01-24 Hewlett-Packard Development Company, L.P. Method and system for offloading execution and resources for resource-constrained networked devices
CN1653419A (zh) * 2002-05-17 2005-08-10 皇家飞利浦电子股份有限公司 在浏览器上呈现第一媒体类型内容
AU2003230776A1 (en) * 2002-06-24 2004-01-06 Docomo Communications Laboratories Usa, Inc. Mobile application environment
US7331048B2 (en) 2003-04-04 2008-02-12 International Business Machines Corporation Backfill scheduling of applications based on data of the applications
US20050033751A1 (en) * 2003-08-07 2005-02-10 Jonathan Maron Web service management leveraging a single process service framework
US20050060704A1 (en) 2003-09-17 2005-03-17 International Business Machines Corporation Managing processing within computing environments including initiation of virtual machines
JP2005141669A (ja) 2003-11-10 2005-06-02 Nippon Telegr & Teleph Corp <Ntt> グリッドコンピューティング及びグリッドコンピューティングにおける負荷分散方法
KR100556913B1 (ko) 2003-12-17 2006-03-03 엘지전자 주식회사 이동 통신 단말기의 배터리 용량에 따른 스트리밍 서비스방법
US8458691B2 (en) 2004-04-15 2013-06-04 International Business Machines Corporation System and method for dynamically building application environments in a computational grid
US20050240765A1 (en) 2004-04-22 2005-10-27 International Business Machines Corporation Method and apparatus for authorizing access to grid resources
US7380129B2 (en) 2004-04-22 2008-05-27 International Business Machines Corporation Method and apparatus for detecting grid intrusions
US7464160B2 (en) 2004-06-17 2008-12-09 International Business Machines Corporation Provisioning grid services to maintain service level agreements
US7421402B2 (en) 2004-08-19 2008-09-02 International Business Machines Corp. Tier-based dynamic incentive arbitration in an on-demand computing environment
US7712100B2 (en) 2004-09-14 2010-05-04 International Business Machines Corporation Determining a capacity of a grid environment to handle a required workload for a virtual grid job request
JP4257857B2 (ja) 2004-09-22 2009-04-22 インターナショナル・ビジネス・マシーンズ・コーポレーション データ処理システムおよびデータ処理方法
US20060106689A1 (en) 2004-11-15 2006-05-18 International Business Machines Corporation Method and apparatus for documenting a contribution of a remotely accessed computing resource to a recipient organization
US7472079B2 (en) 2005-01-12 2008-12-30 International Business Machines Corporation Computer implemented method for automatically controlling selection of a grid provider for a grid job
US7548977B2 (en) * 2005-02-11 2009-06-16 International Business Machines Corporation Client / server application task allocation based upon client resources
US7676584B2 (en) * 2005-05-17 2010-03-09 Kid Group Llc Method and apparatus for providing games and content
JP4839715B2 (ja) * 2005-07-27 2011-12-21 富士ゼロックス株式会社 シンクライアントシステム
US8151323B2 (en) * 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US20080026746A1 (en) * 2006-07-26 2008-01-31 Appaji Anuradha K Modular Mobile Device

Also Published As

Publication number Publication date
WO2008134559A1 (en) 2008-11-06
CN105426246A (zh) 2016-03-23
EP2149086A1 (en) 2010-02-03
CN101663647A (zh) 2010-03-03
KR20100007907A (ko) 2010-01-22
EP2149086B1 (en) 2017-03-29
JP2010527057A (ja) 2010-08-05
TW200910211A (en) 2009-03-01
US8355709B2 (en) 2013-01-15
KR101195695B1 (ko) 2012-10-29
US20080268828A1 (en) 2008-10-30
JP2013152732A (ja) 2013-08-08

Similar Documents

Publication Publication Date Title
JP5795349B2 (ja) アプリケーションをローカルで起動すべきかまたはリモートでウェブアプとして起動すべきかを決定する装置
US10182018B2 (en) Resource management based on device-specific or user-specific resource usage profiles
KR102245025B1 (ko) 메모리 반환 방법 및 장치
US9678797B2 (en) Dynamic resource management for multi-process applications
US20210389973A1 (en) Electronic device and method for operating the same
US9201693B2 (en) Quota-based resource management
US10101910B1 (en) Adaptive maximum limit for out-of-memory-protected web browser processes on systems using a low memory manager
CN110333947A (zh) 一种游戏应用的分包资源加载方法、装置、设备及介质
WO2017184347A1 (en) Adaptive doze to hibernate
CN109032805A (zh) 一种弹性扩缩容方法、装置、服务器及存储介质
US11593166B2 (en) User presence prediction driven device management
US10248321B1 (en) Simulating multiple lower importance levels by actively feeding processes to a low-memory manager
CN116578422A (zh) 资源分配方法和电子设备
CN103197944A (zh) 一种应用程序的进程的性能确定方法和计算机系统
CN117632460A (zh) 一种负载调节方法及终端设备
CN110209491B (zh) 一种资源管理方法、装置、服务器及存储介质
CN114040378A (zh) 应用的编排方法、装置、计算机设备和存储介质
CN117891618B (zh) 人工智能模型训练平台的资源任务处理方法及装置
US20170228269A1 (en) Proxies for native code access

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140605

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140610

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150625

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: 20150714

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150812

R150 Certificate of patent or registration of utility model

Ref document number: 5795349

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees