JP6285905B2 - 持続性および回復性のあるワーカー・プロセス - Google Patents
持続性および回復性のあるワーカー・プロセス Download PDFInfo
- Publication number
- JP6285905B2 JP6285905B2 JP2015503285A JP2015503285A JP6285905B2 JP 6285905 B2 JP6285905 B2 JP 6285905B2 JP 2015503285 A JP2015503285 A JP 2015503285A JP 2015503285 A JP2015503285 A JP 2015503285A JP 6285905 B2 JP6285905 B2 JP 6285905B2
- Authority
- JP
- Japan
- Prior art keywords
- worker
- application
- worker process
- execution
- virtual environment
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 328
- 230000008569 process Effects 0.000 title claims description 259
- 230000002085 persistent effect Effects 0.000 title description 8
- 238000012545 processing Methods 0.000 claims description 40
- 238000003860 storage Methods 0.000 claims description 26
- 238000004891 communication Methods 0.000 claims description 19
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000012986 modification Methods 0.000 description 16
- 230000004048 modification Effects 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 12
- 230000002688 persistence Effects 0.000 description 10
- 230000008901 benefit Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000002195 synergetic effect Effects 0.000 description 2
- 244000035744 Hura crepitans Species 0.000 description 1
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Description
デバイス固有の処理としてではなく、バーチャル・マシン内のアプリケーションの実行は、実行中にアプリケーションの互換性および安全性を容易にすることができる。
A.序文
コンピューティングの分野では、多くのシナリオが、デバイス固有のコンピューティング環境ではなく、仮想環境において、デバイス上のアプリケーションの実行を必要とする。第1の実施例として、webブラウザーは、JavaScriptおよびハイパーテキスト・マークアップ言語(HTML)のようなデバイス非依存のコードを実行するために標準化プラットフォームを提供することができる。第2の実施例として、Javaバーチャル・マシンは、汎用コンピューティング・デバイスとJavaアプリケーションを代理するデバイス固有の機能(例えば、汎用メモリの割り当て要求のデバイスのメモリ・モデルへの変換)との間のブリッジを提供することができる。第3の実施例として、第1のデバイス固有の環境に対して設計されるコードは、第2のデバイス内で第1のデバイスのシミュレーションを提供するエミュレーターを通じて、完全な第2のデバイス上で実行することができる。第4の実施例として、信頼性のないコードが、「サンドボックス」即ち人工機械(artificial machine)内で実行することができ、その結果、悪意のある動作が人工機械へと分離されることになり、人工機械上での信頼性のないコードの効果は、デバイスへの損傷のリスクを伴うことなくデバイスによって評価することができる。
デバイス104は、コンピューティング環境108内で或るデバイス・イベント・モニタリング118を適用することができる。デバイス・イベント116を検出すると、仮想環境110内でデバイス・イベント通知120をワーカー・プロセス114にデリバリすることができる。このようにして、デバイス104は、アプリケーション112が、仮想環境110内でワーカー・プロセス114を呼び出すのを可能にし、アプリケーション112のフォアグラウンド処理を中断することなく様々な種別のバックグラウンド処理を遂行することができる。図1の例示のシナリオ100で示すモデルは、正確に、ハイパーテキスト・マークアップ言語(HTML)の最近のバージョンに示される「ウェブ・ワーカー」モデルを説明するものと認められよう。ここでは、JavaScriptのスクリプトは、当該スクリプトと共にwebブラウザー内で実行される「ウェブ・ワーカー」プロセスにおいてバックグラウンド・プロセスを呼び出すことができる。
B.提示する技術
本明細書に提示する技術は、仮想環境において実行するアプリケーション112を代理して、ワーカー・プロセスの持続性および/または回復性を改良するためのものである。これらの技術(また、図1の例示のシナリオ100に示した技術のような他の技術とは対照的に)により、仮想環境110内でワーカー・プロセス114を実行するよりはむしろ、デバイス104が、アプリケーション112を代理するものの仮想環境110の外部にあるワーカー・プロセス114を実行することができる。更には、デバイスがアプリケーション112を終了するとき(一時的若しくは無期限にアプリケーション112を停止するか、またはアプリケーション112の実行を完了または中止するとき)、デバイス104はアプリケーション112に関連付けられる1つ以上のワーカー・プロセス114を終了するのを控えることができる。このようにして、デバイス104は、アプリケーション112が現在実行しない間でさえ、アプリケーション112のコンピューター処理の提供を継続する持続的なワーカー・プロセス114の実行を可能にすることができる。
C.例示的実施形態
図3は、本明細書に提示する技術の例示の第1の実施形態について示し、デバイス104の仮想環境110において実行するアプリケーション112を代理して処理を実行する例示の方法300について示す。例示の方法300は、例えば、メモリ回路、ハード・ディスク・ドライブのプラッタ、ソリッド・ステート・ストレージ・デバイス、または磁気若しくは光ディスクのようなデバイスのメモリ・コンポーネントに格納される命令のセットとして実施することができ、また、デバイスが有するプロセッサーで実行するときに、本明細書に提示する技術によりデバイスを動作させるように組織することができる。例示の方法300は、302で始まり、デバイスのプロセッサー上での命令の実行304を伴う。具体的には、これらの命令は、アプリケーション112から要求を受け取ると、実行イベントを含むワーカー・プロセス114を実行し、仮想環境110の外部においてワーカー・プロセス114の実行を開始する(306)ように構成することができる。命令はまた、アプリケーション112の終了を検出すると、ワーカー・プロセス114の終了を控える(308)ように構成することができる。命令はまた、ワーカー・プロセス114が実行イベントを遂行すると、アプリケーション112に、ワーカー・プロセス114の実行イベントについて通知する(310)ように構成することができる。アプリケーション112に代わる処理を完了すると、例示の方法300は、本明細書に提示する技術によりアプリケーション112を代理するワーカー・プロセス114の実行を提示するものであり、312において終了する。
D.変更例
本明細書において検討する技術は多くの態様における変更と共に考案することができる。幾らかの変更例は、追加の利点を提示することができ、および/またはこれらの若しくは他の技術における他の変更例に関する不利な点を低減させることができる。更に、幾らかのバリエーションを組み合わせて実施することができ、また、幾らかの組み合せは、利点の付加および/または相乗効果的な協働による不利な点の低減を特徴とすることができる。当該変更例は、様々な実施形態(例えば、図3の例示の方法300および図4の例示のシステム408)に組み込み、このような実施形態に個々および/または相乗効果的な利点を与えることができる。
D.シナリオ
これら技術が有する実施形態内で変更できる第1の態様はシナリオに関し、このような技術を利用できる。
他の代替として、ワーカー・プロセス・ホスト202は、同一のデバイス上のwebブラウザー内で実行するアプリケーション112を代理して持続的なバックグラウンド処理を実行するように構成されるローカルなwebサーバーを含むことができる。更に、ワーカー・プロセス114は、Node.jsサーバー・サイドのJavaScript(登録商標)環境を利用するJavaScript(登録商標)のスクリプトを含むことができる。
D2.ワーカー・プロセス・ホスティング
本明細書に提示する技術について実施形態間で変更できる第2の態様は、仮想環境110の外側でワーカー・プロセス114の実行をホストする方法を含む。すなわち、ワーカー・プロセス114がアプリケーション112から受け取られ、仮想環境110の外側で実行される一方で、ワーカー・プロセス114が、ある種別のプロセス・ホスト無しで仮想環境110の外側で実行するのを可能にする。何故ならば、この結果として、デバイス104のコンピューティング環境108内においてネイティブ・プロセスとして任意の信頼性のないコードを実行するからである。したがって、仮想環境110から分離されるにも拘わらず、ワーカー・ホスト114の実行は、様々な種別のホスティング・サービスをワーカー・プロセス114に提供するワーカー・ホスト・コンポーネント410によって対応する(attend)ことができる。
D3.ワーカー・プロセスの持続性および回復性
これらの技術の実施形態間を変更することができる第3の態様は、ワーカー・プロセス114の持続性に関係している。アプリケーション112の終了を検出すると、ワーカー・プロセス114の実行を終了するのを控えることに加え、本明細書に提示する技術では、ワーカー・プロセス114の持続性および回復性を容易にする付加的な技術を利用することができる。
D4.アプリケーション通知
これら技術についての実施形態間を変更することができる第4の態様は、関連するワーカー・プロセス114が実行イベント406を遂行すると、アプリケーション112に通知する手法を含む。
E.コンピューティング環境
図8および以降の検討では、本明細書に記載する1つ以上のプロビジョンの実施形態を実施するための適切なコンピューティング環境について簡潔で包括的な説明を行う。図8の動作環境は、適切な動作環境の一例のみにすぎず、使用範囲または動作環境の機能に関して如何なる限定を示唆することを意図するものではない。コンピューティング・デバイスの例には、パーソナル・コンピュータ、サーバー・コンピュータ、ハンドヘルドまたはラップトップ・デバイス、モバイル・デバイス(例えば移動体電話、パーソナル携帯情報機器(PDA)、メディア・プレーヤなど)、マルチプロセッサー・システム、コンシューマー電子機器、ミニ・コンピューター、メインフレーム・コンピューター、上記システムまたはデバイスのいずれかを含む分散コンピューティング環境等を含むが、これらに限定されるものではない。
F.用語の使用
本主題について構造上の特徴および/または方法論的な行為に特化して言語により説明してきたが、添付の特許請求の範囲において規定される主題は、必ずしも上記の特定の特徴や行為には限定されないことを理解すべきである。それよりかはむしろ、上記の特定の特徴および行為は、特許請求を実施する例示の形態として開示するものである。
加えて、本出願および添付の特許請求の範囲で用いる「a」および「an」は、全般的に、他に特定されない場合または単数の形態に向けられることがコンテキストから明らかでない場合には、「1またはそれ以上」を意味するものと解釈することができる。
Claims (20)
- プロセッサーを有するデバイスの仮想環境においてアプリケーションを代理して処理を実行する方法であって、命令を前記プロセッサー上で実行するステップを含み、前記命令が、
実行イベントを伴うワーカー・プロセスを実行するためにアプリケーションから要求を受け取ると、前記仮想環境の外部において前記ワーカー・プロセスの実行を開始し、
前記アプリケーションの終了を検出すると、前記ワーカー・プロセスの終了を控え、
前記ワーカー・プロセスが前記実行イベントを遂行すると、前記ワーカー・プロセスの実行イベントについて前記アプリケーションに通知する
ように構成される、方法。 - 請求項1記載の方法において、前記実行イベントが、
コンピューター・プロセスの完了、
タイムアウト、
前記デバイスのユーザーからのユーザー入力の検出、および
前記デバイスのデバイス・イベントの検出
を含む実行イベント・セットから選択される、方法。 - 請求項1記載の方法において、前記命令が更に、前記仮想環境を終了すると、前記ワーカー・プロセスを終了するのを控えるように構成される、方法。
- 請求項1記載の方法において、前記命令が更に、
前記アプリケーションの終了を検出した後に前記アプリケーションの再開を検出すると、
終了の前に前記アプリケーションによって開始される、少なくとも1つの識別されるワーカー・プロセスを識別し、
前記アプリケーションを、前記少なくとも1つの識別されるワーカー・プロセスと再接続するように構成される、方法。 - 請求項1記載の方法であって、更に、
前記アプリケーションが終了したかを判定することを含み、
および
前記アプリケーションが終了したと判定すると、前記仮想環境において前記アプリケーションを再開するように前記アプリケーションが通知される、方法。 - 請求項1記載の方法であって、
前記アプリケーションからの前記要求によってコールバックが特定され、
前記アプリケーションに通知することが、前記ワーカー・プロセスが前記実行イベントを遂行すると、前記アプリケーションの前記コールバックを伴うことを含む、方法。 - 請求項1記載の方法であって、
前記デバイスがコンピューティング環境を有し、
前記アプリケーションの終了が、前記デバイスの前記コンピューティング環境を再スタートしている間に発生される、方法。 - 請求項7記載の方法であって、前記命令が更に、前記デバイスの前記コンピューティング環境を再スタートした後に、前記仮想環境の外部において前記ワーカー・プロセスの実行を再開するように構成される、方法。
- 請求項1記載の方法であって、
前記デバイスが、該デバイスとはリモートにある第2デバイス上で実行するリモート・プロセスと前記ワーカー・プロセスで通信可能であり、
前記命令が更に、前記第2デバイス上で実行する前記リモート・プロセスを前記ワーカー・プロセスと接続する要求を受け取ると、前記リモート・プロセスを前記ワーカー・プロセスと接続するように構成される、方法。 - デバイスのアプリケーションを代理して処理を実行するためのシステムであって、
少なくとも1つのアプリケーションが前記デバイス上で実行している仮想環境と、
前記仮想環境の外部において前記デバイス上で実行するワーカー・ホスト・コンポーネントであって、
実行イベントを伴うワーカー・プロセスを実行するために、要求をアプリケーションから受け取ると、前記仮想環境の外部において前記ワーカー・プロセスの実行を開始し、
前記アプリケーションの終了を検出すると、前記ワーカー・プロセスの終了を控え、
前記ワーカー・プロセスが前記実行イベントを遂行すると、前記ワーカー・プロセスの前記実行イベントについて前記アプリケーションに通知する
ように構成される、ワーカー・ホスト・コンポーネントと
を備える、システム。 - 請求項10記載のシステムにおいて、
前記仮想環境がwebブラウザーを含み、
前記アプリケーションがwebアプリケーションを含み、
前記ワーカー・プロセスが前記webブラウザーの外部で実行するwebワーカーを含む、システム。 - 請求項11記載のシステムにおいて、前記ワーカー・ホスト・コンポーネントが、前記webブラウザーのクロス・ドメイン・セキュリティ・ポリシに従って、前記ワーカー・プロセスの実行を制限するように構成される、システム。
- 請求項11記載のシステムにおいて、前記ワーカー・ホスト・コンポーネントが、ローカル・webサーバー・プロセスとして前記ワーカー・プロセスを実行するように構成されるローカルwebサーバーを備える、システム。
- 請求項10記載のシステムにおいて、
前記ワーカー・ホスト・コンポーネントが、前記デバイスのコンピューティング環境で実行するバックグラウンド・サービスを含み、
前記デバイスが前記コンピューティング環境を再スタートすると、前記ワーカー・ホスト・コンポーネントが自動的に再スタートするように構成される、システム。 - 請求項10記載のシステムであって、更に、
ワーカー・ホスト管理コンポーネントであって、前記ワーカー・ホスト・コンポーネントにおけるワーカー・ホスト・コンポーネント故障を検出すると、
前記ワーカー・ホスト・コンポーネントを終了し、
前記デバイスのコンピューティング環境において前記ワーカー・ホスト・コンポーネントの実行を再始し、
前記ワーカー・ホスト・コンポーネントによるワーカー・プロセスの実行を再開する
ように構成されるワーカー・ホスト管理コンポーネントを備える、システム。 - 請求項10記載のシステムにおいて、前記ワーカー・ホスト・コンポーネントが、
前記ワーカー・プロセスをサービスから受け取るように構成され、
前記ワーカー・ホスト・コンポーネントが、
前記デバイスのコンピューティング環境を再スタートした後に、前記サービスから第2ワーカー・プロセスを要求し、
前記サービスから前記第2ワーカー・プロセスを受け取ると、前記仮想環境の外部において前記第2ワーカー・プロセスの実行を開始する
ことにより、前記ワーカー・プロセスの実行が再開される、システム。 - 請求項10記載のシステムにおいて、
前記ワーカー・プロセスを第1サービスから受け取り、
前記仮想環境の外部における前記ワーカー・プロセスの実行が、前記ワーカー・プロセスと前記第1サービス以外のサービスとの間で通信を制限することを含む、システム。 - 命令を含むコンピューター可読ストレージ媒体であって、前記命令が、仮想環境を含むデバイスのプロセッサー上で実行するときに、前記デバイスに、
実行イベントを伴うワーカー・プロセスを実行するために、要求をアプリケーションから受け取ると、前記仮想環境の外部において前記ワーカー・プロセスの実行を開始し、
前記アプリケーションの終了を検出すると、前記ワーカー・プロセスの終了を控え、
前記ワーカー・プロセスが前記実行イベントを遂行すると、前記ワーカー・プロセスの前記実行イベントについて前記アプリケーションに通知する
ことにより、前記仮想環境においてアプリケーションを代理して処理を実行させる、コンピューター可読ストレージ媒体。 - 請求項18記載のコンピューター可読ストレージ媒体において、前記仮想環境の外部において前記ワーカー・プロセスの実行を開始することが、
前記仮想環境の外部において前記ワーカー・プロセスの実行を開始するオファーをユーザーに提示すること、および
前記ユーザーから前記オファーの承認を受け取ると、前記仮想環境の外部において前記ワーカー・プロセスの実行を開始することを含む、コンピューター可読ストレージ媒体。 - 請求項18記載のコンピューター可読ストレージ媒体において、
前記デバイスがコンピューティング環境を有し、
前記ワーカー・プロセスの実行イベントについて前記アプリケーションに通知することが、前記デバイスのコンピューティング環境において、前記仮想環境および前記アプリケーションをフォアグラウンド提示にすることを含む、コンピューター可読ストレージ媒体。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261617474P | 2012-03-29 | 2012-03-29 | |
US61/617,474 | 2012-03-29 | ||
US13/713,536 US9092247B2 (en) | 2012-03-29 | 2012-12-13 | Persistent and resilient worker processes |
US13/713,536 | 2012-12-13 | ||
PCT/US2013/031115 WO2013148223A1 (en) | 2012-03-29 | 2013-03-14 | Persistent and resilient worker processes |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015515682A JP2015515682A (ja) | 2015-05-28 |
JP2015515682A5 JP2015515682A5 (ja) | 2016-04-28 |
JP6285905B2 true JP6285905B2 (ja) | 2018-02-28 |
Family
ID=49236850
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015503285A Active JP6285905B2 (ja) | 2012-03-29 | 2013-03-14 | 持続性および回復性のあるワーカー・プロセス |
Country Status (7)
Country | Link |
---|---|
US (2) | US9092247B2 (ja) |
EP (1) | EP2831796B1 (ja) |
JP (1) | JP6285905B2 (ja) |
KR (1) | KR102076379B1 (ja) |
CN (2) | CN104205109B (ja) |
TW (2) | TWI587219B (ja) |
WO (1) | WO2013148223A1 (ja) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110179303A1 (en) * | 2010-01-15 | 2011-07-21 | Microsoft Corporation | Persistent application activation and timer notifications |
US20130091197A1 (en) | 2011-10-11 | 2013-04-11 | Microsoft Corporation | Mobile device as a local server |
US9700240B2 (en) | 2012-12-14 | 2017-07-11 | Microsoft Technology Licensing, Llc | Physical activity inference from environmental metrics |
US9600351B2 (en) | 2012-12-14 | 2017-03-21 | Microsoft Technology Licensing, Llc | Inversion-of-control component service models for virtual environments |
US11397520B2 (en) | 2013-08-01 | 2022-07-26 | Yogesh Chunilal Rathod | Application program interface or page processing method and device |
US20150199312A1 (en) * | 2014-01-14 | 2015-07-16 | Futurewei Technologies Inc. | System and method to share a web thread during page transitions in a web browser |
US9430212B2 (en) * | 2014-02-10 | 2016-08-30 | Netflix, Inc. | Automatically generating volume images and launching virtual computing instances |
US9189264B1 (en) * | 2014-06-09 | 2015-11-17 | Western Digital Technologies, Inc. | Notification propagation in virtual computing environment |
CN105335171B (zh) * | 2014-06-24 | 2019-05-10 | 北京奇虎科技有限公司 | 应用程序常驻操作系统后台的方法及装置 |
US9619773B2 (en) * | 2014-09-15 | 2017-04-11 | Sap Portals Israel Ltd. | Systems and methods for code instrumentation for analytics |
US9361140B1 (en) * | 2014-12-11 | 2016-06-07 | International Business Machines Corporation | Isolating applications in server environment |
US9870266B2 (en) * | 2015-07-30 | 2018-01-16 | Nasdaq, Inc. | Background job processing framework |
US10659340B2 (en) | 2016-01-28 | 2020-05-19 | Oracle International Corporation | System and method for supporting VM migration between subnets in a high performance computing environment |
KR102138421B1 (ko) * | 2018-05-30 | 2020-07-28 | 주식회사 티파이브온라인 | 멀티스레드 지원을 위한 크로스플랫폼 시스템 및 운용방법 |
US11055110B2 (en) * | 2018-06-05 | 2021-07-06 | Microsoft Technology Licensing, Llc | Operating system service for persistently executing programs |
KR102492996B1 (ko) * | 2018-06-08 | 2023-01-31 | 삼성전자주식회사 | 외부 입력을 이용하여 백그라운드 태스크를 처리하는 전자 장치 및 그 저장 매체 |
US11422829B1 (en) | 2021-11-17 | 2022-08-23 | Morgan Stanley Services Group Inc. | Systems and methods for resilient service worker bridge |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6463446B1 (en) * | 1998-02-26 | 2002-10-08 | Sun Microsystems, Inc. | Method and apparatus for transporting behavior in an event-based distributed system |
TW200404449A (en) * | 2002-06-12 | 2004-03-16 | Vuico L L C | System and method for implementing virtual mobile messaging services |
JP4112319B2 (ja) * | 2002-09-06 | 2008-07-02 | 日本電信電話株式会社 | プロセス再開方法、プロセス再開装置、プロセス再開プログラム |
US7559065B1 (en) | 2003-12-31 | 2009-07-07 | Emc Corporation | Methods and apparatus providing an event service infrastructure |
CN1677352A (zh) * | 2004-03-30 | 2005-10-05 | 京瓷株式会社 | 移动电话终端、及其程序管理方法和相应的计算机程序 |
US20060136933A1 (en) * | 2004-12-17 | 2006-06-22 | Microsoft Corporation | Server-side eventing for managed server applications |
US7877101B1 (en) | 2006-12-28 | 2011-01-25 | Marvell International Ltd. | Locating a WLAN station using signal propagation delay |
US20070240157A1 (en) * | 2006-04-10 | 2007-10-11 | Nokia Corporation | Method, apparatus, mobile terminal and computer program product for safe application termination in a virtual machine |
DE102006049646B3 (de) | 2006-10-20 | 2008-06-19 | Siemens Ag | Verfahren und Sendevorrichtung zum gesicherten Erstellen und Versenden einer elektronischen Nachricht sowie Verfahren und Empfangsvorrichtung zum gesicherten Empfangen und Verarbeiten einer elektronischen Nachricht |
US8065659B1 (en) | 2007-05-30 | 2011-11-22 | Google Inc. | Method and apparatus for executing scripts within a web browser |
KR101478619B1 (ko) | 2008-02-27 | 2015-01-06 | 삼성전자주식회사 | 가상화 기술을 이용한 데이터 입출력 방법 및 장치 |
US8424082B2 (en) | 2008-05-08 | 2013-04-16 | Google Inc. | Safely executing an untrusted native code module on a computing device |
US8024732B2 (en) * | 2008-07-28 | 2011-09-20 | Microsoft Corporation | State separation for application changes |
CN101414277B (zh) | 2008-11-06 | 2010-06-09 | 清华大学 | 一种基于虚拟机的按需增量恢复容灾系统及方法 |
WO2011040849A1 (en) * | 2009-10-01 | 2011-04-07 | Telefonaktiebolaget L M Ericsson (Publ) | A method and arrangement for managing persistent rich internet applications |
US20110154441A1 (en) | 2009-12-18 | 2011-06-23 | Electronics And Telecommunications Research Institute | Online development environment server, online marketplace server, online development environment constituting method, and developed application providing method |
US8621628B2 (en) * | 2010-02-25 | 2013-12-31 | Microsoft Corporation | Protecting user mode processes from improper tampering or termination |
US8468542B2 (en) | 2010-03-04 | 2013-06-18 | Microsoft Corporation | Virtual environment for server applications, such as web applications |
US8370899B2 (en) | 2010-08-11 | 2013-02-05 | Emc Corporation | Disposable browser for commercial banking |
US20130091197A1 (en) | 2011-10-11 | 2013-04-11 | Microsoft Corporation | Mobile device as a local server |
US9075672B2 (en) | 2011-10-21 | 2015-07-07 | Microsoft Technology Licensing, Llc | Monadic evaluation of injected query compositions |
-
2012
- 2012-12-13 US US13/713,536 patent/US9092247B2/en active Active
-
2013
- 2013-02-26 TW TW105138342A patent/TWI587219B/zh not_active IP Right Cessation
- 2013-02-26 TW TW102106712A patent/TWI573075B/zh not_active IP Right Cessation
- 2013-03-14 WO PCT/US2013/031115 patent/WO2013148223A1/en active Application Filing
- 2013-03-14 EP EP13767775.3A patent/EP2831796B1/en active Active
- 2013-03-14 JP JP2015503285A patent/JP6285905B2/ja active Active
- 2013-03-14 CN CN201380017713.2A patent/CN104205109B/zh active Active
- 2013-03-14 CN CN201610515498.4A patent/CN106127036B/zh active Active
- 2013-03-14 KR KR1020147027267A patent/KR102076379B1/ko active IP Right Grant
-
2015
- 2015-07-28 US US14/811,761 patent/US9600353B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
EP2831796A4 (en) | 2016-01-13 |
EP2831796B1 (en) | 2019-01-09 |
CN106127036B (zh) | 2019-05-10 |
TW201709059A (zh) | 2017-03-01 |
TW201349118A (zh) | 2013-12-01 |
US9092247B2 (en) | 2015-07-28 |
US20150331726A1 (en) | 2015-11-19 |
KR20140138803A (ko) | 2014-12-04 |
EP2831796A1 (en) | 2015-02-04 |
US9600353B2 (en) | 2017-03-21 |
CN104205109B (zh) | 2017-12-19 |
JP2015515682A (ja) | 2015-05-28 |
US20130263127A1 (en) | 2013-10-03 |
CN106127036A (zh) | 2016-11-16 |
KR102076379B1 (ko) | 2020-02-11 |
WO2013148223A1 (en) | 2013-10-03 |
TWI573075B (zh) | 2017-03-01 |
CN104205109A (zh) | 2014-12-10 |
TWI587219B (zh) | 2017-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6285905B2 (ja) | 持続性および回復性のあるワーカー・プロセス | |
US11223704B2 (en) | Event service for local client applications through local server | |
TWI559153B (zh) | 分散式計算架構 | |
US9658747B2 (en) | Virtual tabs supporting web content suspension | |
JP5960262B2 (ja) | 接続型スタンバイのためのプロセスの一時停止及び/又は制限 | |
CA2901042C (en) | Non-precise garbage collection in non-cooperative systems | |
US20150095758A1 (en) | Web content suspension compatibility and suspended web content lifetime | |
JP6088531B2 (ja) | ローカルサーバーを通じたローカルクライアントアプリケーションのためのイベントサービス | |
JP2013516711A (ja) | 電子デバイスにおける電力を制御するシステムおよび方法 | |
JP6385471B2 (ja) | 移行および遠隔ランタイム統合 | |
WO2011089223A2 (en) | Efficient multi-core processing of events | |
US20110023036A1 (en) | Switching process types in a process engine | |
US11983558B2 (en) | Migrating applications between containers during modern standby | |
EP2972848A1 (en) | Durable program execution |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160308 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160308 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170213 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170321 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170621 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20171004 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171128 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171219 |
|
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: 20180104 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180202 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6285905 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
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 |