JP2006107500A - ソフトウェアの実行中にソフトウェアを更新すること - Google Patents
ソフトウェアの実行中にソフトウェアを更新すること Download PDFInfo
- Publication number
- JP2006107500A JP2006107500A JP2005287700A JP2005287700A JP2006107500A JP 2006107500 A JP2006107500 A JP 2006107500A JP 2005287700 A JP2005287700 A JP 2005287700A JP 2005287700 A JP2005287700 A JP 2005287700A JP 2006107500 A JP2006107500 A JP 2006107500A
- Authority
- JP
- Japan
- Prior art keywords
- service
- software
- client
- instance
- mode
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 claims abstract description 90
- 238000012545 processing Methods 0.000 claims abstract description 17
- 230000008569 process Effects 0.000 claims abstract description 16
- 238000012360 testing method Methods 0.000 claims description 19
- 230000007704 transition Effects 0.000 claims description 11
- 230000008859 change Effects 0.000 claims description 3
- 238000009434 installation Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 7
- 238000007726 management method Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000013523 data management Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000000116 mitigating effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000004622 sleep time Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 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/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
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- 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
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45562—Creating, deleting, cloning virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
【課題】ソフトウェアの実行中に、動的にソフトウェアを更新するシステム、方法、およびコンピュータ読み取り可能記憶媒体を提供する。
【解決手段】1本のソフトウェアまたはデータ構造を更新するためにクライアントの要求の処理が停止される時間が延びるのを回避するため、本発明の様々な実施形態が、元の1本のソフトウェアまたはデータ構造を更新する代わりに、その1本のソフトウェアのインスタンスまたはそのデータ構造のインスタンスを更新する。これにより、元の1本のソフトウェアまたはデータ構造は、中断することなくクライアントの要求を処理できる。元の1本のソフトウェアまたはデータ構造は以降の動作を終了し、一方、更新されたインスタンスは、コンテキストを失わずにクライアントの要求を処理し始める。
【選択図】図2
【解決手段】1本のソフトウェアまたはデータ構造を更新するためにクライアントの要求の処理が停止される時間が延びるのを回避するため、本発明の様々な実施形態が、元の1本のソフトウェアまたはデータ構造を更新する代わりに、その1本のソフトウェアのインスタンスまたはそのデータ構造のインスタンスを更新する。これにより、元の1本のソフトウェアまたはデータ構造は、中断することなくクライアントの要求を処理できる。元の1本のソフトウェアまたはデータ構造は以降の動作を終了し、一方、更新されたインスタンスは、コンテキストを失わずにクライアントの要求を処理し始める。
【選択図】図2
Description
本発明は、一般に、ソフトウェアリリースに関し、より詳細には、ソフトウェアの実行中に、ソフトウェアに新しい機能を追加し、またはソフトウェア内のエラーを修正するために、動的にソフトウェアを更新することに関する。
大きな企業では、企業が所有するコンピュータシステムのネットワークによってコンピューティング資源が相互接続されており、この資源が企業の様々なコンピューティングの要求を満たしている。このネットワークは、様々は地理的場所にまたがることができる。企業の内部ユーザ(従業員)ならびに外部クライアント(顧客)にとって、企業のコンピューティング資源は、可用性が高く、さらに安全性も高い必要がある。実際には、時々これら2つの要求は、互いに背反することがある。たとえば、コンピューティング資源を安全にするには、セキュリティパッチをインストールするためにそのコンピューティング資源をしばしば停止させる必要がある。一方、コンピューティング資源を継続的に容易に利用可能にしておくには、コンピューティング資源をめったに停止すべきではない。図1に、これらおよびその他の問題がより詳細に示してある。
企業ネットワーク100はクライアント102を含んでおり、クライアント102は、ユーザがネットワーク104を介して相互接続された共用コンピューティング資源にアクセスするのに用いられるコンピュータである。企業ネットワーク100のこれらのコンピューティング資源は、サーバA 106など1つまたは複数のサーバによって提供され、オンラインサービスがその上で稼動している。サーバA 106上で実行されるオンラインサービスをより安全にするために、企業はしばしば、方針として、管理者110が、報告または発見された脆弱性に対するセキュリティフィクス(security fix)を用いてオンラインサービスにパッチを当てるよう決めている。このようなパッチは、テストマシンの役目を果たすサーバB 108上で稼動しているオンラインサービス(更新対象サービス)のコピーに、パッチをインストールし適用することによって実施される。管理者110は、その導入(deployment)の際に更新済みサービスが問題を起こす可能性を低く抑えるために、その企業のコンピューティング方針に従って、更新済みサービスを検査し確認する。更新済みサービスがテストされるサーバB 108は、オンラインサービスがクライアント102にサービスを提供しているサーバA 106とは物理的に異なるマシンである。更新済みサービスがサーバB 108上でのテストに合格した後、管理者110は、サーバA 106を一定の時間、停止することによってパッチを導入(deploy)する。その間、オンラインサービスは、クライアント102には利用不能になる。次いで、そのパッチがオンラインサービスに適用され、その後、クライアント102にサービスを再び提供するためにサーバA 106が起動される。
パッチをインストールするためにサーバA 106を停止する際の問題は、サーバA 106を停止した時点でサービスコンテキスト(service context)が失われ、無効なままとなることである。サービスコンテキストとは、クライアント102が、サーバA 106上で稼動しているオンラインサービスに対して要求または何らかの情報を提供した状態のことである。クライアント102は、オンラインサービスがその要求を処理すること、または提供された情報に関して何らかの計算を行うことを期待している。オンラインサービスが停止されたとき、そのようなサービスコンテキストは破棄される。オンラインサービスにパッチを当ててサーバA 106が再び起動されたとき、サーバA 106は、クライアント102が前に何を提供していたかを思い出すことができる可能性は低い。というのは、多くのサービスは、サービスコンテキストを永続的に記憶せず、あるいはサーバA 106の再起動によって生じる遅延が長すぎてクライアント102には許容できないからである。たとえば、クライアント102は、サーバA 106が停止する直前に、検索照会をオンラインサービスに送信していたかもしれない。オンラインサービスがパッチを当てられて再びアクティブになったとき、オンラインサービスによって先の照会に対する応答が提供されず、その結果クライアント102は困惑することになる。別の解決策は、高価ではあるが、サーバ106をミラーするための追加の処理能力を付加することによってサーバに冗長性を組み込んだクラスタベースのサーバプラットフォーム上で、オンラインサービスを稼動することである。しかし、これにより、機器を調達するコストだけでなく、機器を運用するコストも増大する。
安全性の高いソフトウェアの、ユーザに対する可用性を高くしながら、安全性の高いソフトウェアに対する高まりつつある要求を満足させるという問題を解決することなくしては、企業ネットワーク100によって望ましいコンピューティング経験がもたらされるということをユーザは信用しなくなり、そのために、市場において企業ネットワーク100の縮小を求める要求が生じる恐れがある。
したがって、既存システムに関する上記その他の問題を回避し、または軽減しながら、ソフトウェアを動的に更新するためのシステム、方法、およびコンピュータ読み取り可能記憶媒体が求められている。
本発明によれば、ソフトウェアを動的に更新するためのシステム、方法、およびコンピュータ読み取り可能記憶媒体が提供される。本発明のシステムの形態は、クライアントの要求を処理するサーバとして働くコンピュータシステムを含んでいる。このコンピュータシステムは、コンピュータシステム上で実行される、クライアントの要求を処理する1本のソフトウェアを含んでおり、この1本のソフトウェアは、クライアントによって提供されるコンテキストを受け取ることができる。このコンピュータシステムはさらに、この1本のソフトウェアの新規リリースで更新された、この1本のソフトウェアのインスタンスを含んでいる。テストを実行できるようにするために、この1本のソフトウェアのインスタンスは、コンピュータシステム上でこの1本のソフトウェアと同時に実行され、その後、この1本のソフトウェアのインスタンスは実行され、この1本のソフトウェアはクライアントによって提供されたコンテキストを失わずに終了する。
本発明の他の諸態様によれば、本発明のもう1つのシステムの形態は、あるサービスモードから別のサービスモードへの移行を制御するための(コンピュータシステム内で実行される)複数本のソフトウェアを含んでいる。この複数本のソフトウェアは、クライアントの要求を処理するためのサービスを含む。このサービスは、サービスがハンドオフロック(handoff lock)を取得し、サービスの状態をエクスポートできるようにする複数のモードのうちの1つのモードを含む。この複数本のソフトウェアには、特定のモードに関連する割当コールバックルーチンを呼び出すことにより、サービスがその特定のモードに入るようにするための、サービス制御マネージャが含まれる。特定の1つのモードには、サービスがハンドオフロックを取得し、サービスの状態をエクスポートできるようにするカスタマイズ可能モードが含まれる。
本発明の他の諸態様によれば、本発明のコンピュータ読み取り可能記憶媒体の形態には、サービスの状態をエクスポートするためにコンピュータシステムによって使用されるデータ構造がその上に記憶された、コンピュータ読み取り可能記憶媒体を含んでいる。このデータ構造は、クライアントにサービスを提供する際にサービスによって生成される内部コンテキストに関する情報を示す、サービス内部コンテキストタグを含む。このデータ構造はさらに、サービスの実行を求める要求中にクライアントによって提供される外部コンテキストに関する情報を示す、クライアント外部コンテキストタグを含む。
本発明の他の諸態様によれば、コンピュータシステム上に実装される方法は、コンピュータシステム上で稼動する第1のゲストオペレーティングシステム上で稼動している、クライアントの要求を処理する第1のサービスに対する更新を受け取ることを含む。この方法はさらに、第1のサービスの状態を含むファイルを生成するために、第1のサービスによって状態ハンドオフ(state handoff)を実行することを含む。このファイルは、コンピュータシステム上で稼動する第2のゲストオペレーティングシステム上で稼動している第1のサービスのインスタンスへエクスポートされる。この方法はさらに、クライアントの要求を処理するために、受け取られた更新によって更新された第1のサービスのインスタンスを実行することを含み、クライアントによって第1のサービスに対して提供されたコンテキストを失わずに第1のサービスを終了することを含む。
本発明の上記の諸態様およびそれに付随する利点の多くは、以下の詳細な説明を添付の図面と併せて参照することによってより良く理解されるので、より容易にその価値が認められよう。
1本のソフトウェアまたはデータ構造を更新するためにクライアントの要求の処理が停止される時間が長くなるのを回避するため、本発明の様々な実施形態は、元の1本のソフトウェアまたはデータ構造を更新する代わりに、その1本のソフトウェアのインスタンスまたはデータ構造のインスタンスを更新する。これにより、元の1本のソフトウェアまたはデータ構造は、中断せずにクライアントの要求を処理することができるようになる。この1本のソフトウェアの更新されたインスタンス、またはデータ構造の更新されたインスタンスが検査および確認に満足のゆくように合格すると、本発明の様々な実施形態により、元の1本のソフトウェアまたはデータ構造を一時的に停止して、その状態を更新されたインスタンスにエクスポートできるようになる。元の1本のソフトウェアまたはデータ構造は、さらなる動作によって終了し、更新されたインスタンスは、コンテキストを失わずにクライアントの要求に対する処理を始める。用語「1本のソフトウェア」は、アプリケーションモードで稼動するサービス、特権モードで稼動するサービス、またはアプリケーションモードもしくは特権モードで稼動するサービスの一部(たとえばコードフラグメント(code fragment))を含んでいる。
サービスをその実行中に動的に更新できるシステム200を図2に示す。システム200は、ネットワーク204を介してサーバ206と通信するクライアント202を含む。クライアント202とサーバ206は共に、クライアント/サーバアーキテクチャと呼ばれる一種のコンピュータネットワークアーキテクチャを形成する。クライアント202とサーバ206から構成されるクライアント/サーバアーキテクチャは、議論の的であるインテリジェンス(disputed intelligence)を利用する構成であり、サーバ206と個々のクライアント202はいずれもインテリジェンスのあるプログラム可能なデバイスとして扱われ、したがってそれぞれのコンピューティング能力がすべて利用される。これは、2つの別々のコンポーネントである「フロントエンド」クライアント202と「バックエンド」サーバ206の間で、検索処理などのコンピューティングタスクの処理を分割することによって行われる。クライアント202は、(旧アーキテクチャに見られる「ダム」端末と対比して)それ自体が完全なスタンドアロンのパーソナルコンピュータであるが、コンピューティングタスクを開始するためのすべての能力および機能をそのユーザに提供する。サーバ206は、別のパーソナルコンピュータ、ミニコン、またはメインフレームとすることができ、データ記憶、データ管理、クライアント間の情報共有、高度なネットワーク管理、セキュリティ機能、クライアント202などのクライアントによって要求される様々なコンピューティングタスクの処理など、タイムシェアリング環境でミニコンおよびメインフレームによって提供される従来の能力を提供することによって、クライアント202の機能を高める。
ネットワーク204は、通信設備によって接続されている、一群のコンピュータおよび関連装置である。ネットワーク204は、同軸もしくはその他のケーブルなどの永続的接続、または電話もしくはその他の通信リンクによって行われる一時的接続を含むことができる。ネットワーク204は、数台のコンピュータ、プリンタ、およびその他の装置からなるLAN(ローカルエリアネットワーク)と同じくらい小さくてもよく、あるいは広大な地理的範囲にまたがって分散されている多くの小型および大型のコンピュータ(WANすなわちワイドエリアネットワーク)から構成されてもよい。WANの例示的な1つの実装はインターネットであり、これは、互いに通信を行うためにTCP/IPプロトコル群を使用するネットワークおよびゲートウェイの世界的な集合体である。インターネットの中核は、データおよびメッセージを経路指定する数千もの商業用、政府用、教育用、およびその他のコンピュータシステムを含む主要なノード間またはホスト間の、高速データ通信線のバックボーンである。1つまたは複数のインターネットノードは、インターネットを危険に陥らせずに、あるいはインターネット上の通信を停止させずにオフラインになることができる。というのも、単一のコンピュータまたはネットワークがインターネット全体を制御しているわけではないからである。
本発明の様々な実施形態を使用すると、サーバ206を停止せずに、オンラインサービスを仮想的に更新して更新済みサービスを生成することができ、したがって、オンラインサービスがクライアント202に対して中断せずに引き続きサービスを提供することが可能になる。管理者208は、オンラインサービスがクライアント202によって要求されるコンピューティングタスクを引き続き実行する間に、更新済みサービスをテストすることができる。更新済みサービスが(導入された場合に)システム200に問題を発生させる可能性が低いと管理者208が納得したとき、管理者208は、更新済みサービスにクライアント202の要求の処理を開始させることができ、一方、オンラインサービスはアンインストールされるが、クライアント202は変更があったとは気づかない。本発明の様々な実施形態により、オンラインサービスによって記憶された状態が、クライアント202が依拠しているコンテキストを失わずに、更新済みサービスにシームレスに転送される。
本発明の様々な実施形態の仮想更新機能を使用して、管理者208は、オペレーティングシステムのインスタンスとして稼動するオンラインサービスの新規インスタンスを作成し、これ自体は、そのオンラインサービスおよびそのオンラインサービスが稼動しているオペレーティングシステムと並列に稼動する。管理者208は、オンラインサービス(更新対象サービス)のインスタンスに更新をインストールし、適用する。次に、管理者208はテストを行い、テストが合格であれば、管理者208は、更新済みサービスをシステム200に導入できると判定する。次いで管理者208は、オンラインサービスに、オンラインサービスのインスタンスへのコンテキストハンドオフを実行させる。コンテキストハンドオフが完了すると、このコンテキストハンドオフの直前のオンラインサービスが中断した時点で、更新サービスの実行が開始される。
図3Aには、オンラインサービスと更新済みサービスをどちらも実行できるサーバ206をより詳細に示してある。サーバ206は、複数個のハードウェア302を含み、これはサーバ206の物理的構成要素であり、中央処理装置(図示せず)およびメモリ、ならびにプリンタ、モデム、入力デバイスなどの周辺機器を含んでいる。中央処理装置、メモリ、ディスク領域、周辺機器など上述のハードウェア資源の割当ておよび使用を制御するホストオペレーティングシステム304が、ハードウェア302の上で稼動している。ホストオペレーティングシステム304は、ゲストオペレーティングシステムおよび他のアプリケーションが依拠する、核となる1本のソフトウェアである。ホストオペレーティングシステム304で稼動しているのは仮想サーバ306であり、このサーバは、仮想マシン310A、310Bを管理する仮想化サービスと、ハードウェアエミュレーション用のソフトウェアインフラストラクチャを提供する。
仮想マシン310A、310Bは、各仮想マシン310A、310B用の仮想ハードウェアとして働く、仮想のデバイスの組を含む。第1および第2のゲストオペレーティングシステムは、各仮想マシン310A、310B中で稼動するが、最終的にはハードウェア302によって実行される適切なハードウェア命令に翻訳される様々な命令および通信が、仮想サーバ306によってシミュレートされることは、十分に認識されない。仮想サーバ306は、本質的に、好ましくは、ホストオペレーティングシステム304の特権モードで稼動する、マルチスレッドサービスであり、仮想マシン310A、310Bのそれぞれが独自の実行スレッドで実行される。ホストオペレーティングシステム304は、中央処理装置の資源および時間のスケジューリングならびにデバイスドライバを提供すると共に、ハードウェア302へのアクセスを提供するが、仮想サーバ306は、ゲストオペレーティングシステムを実行できる様々なマシン(仮想マシン310A、310B)の錯覚を生み出すソフトウェアインフラストラクチャを保持する。
オンラインサービス312Aは、第1のゲストオペレーティングシステム上で実行され、次に第1のゲストオペレーティングシステムが仮想マシン310A上で実行される。更新されたオンラインサービスのインスタンスは、更新済みサービス312Bであり、これは第2のゲストオペレーティングシステム上で稼動し、次に第2のゲストオペレーティングシステムが仮想マシン310B上で実行される。管理者208は、仮想化技術を使用して、クライアント202と通信を行うために、オンラインサービス312Aが依拠する同じハードウェア302上で、更新済みサービス312Bをテストすることができる。本発明の様々な実施形態では、内部コンテキストおよび外部コンテキストを含む、オンラインサービス312Aの状態を、第1のゲストオペレーティングシステムによって取得できるようにし、このような状態を、仮想マシン310Aと310Bの間の適切なプロセス間通信機構(たとえばパイプやキュー)によって第2のゲストオペレーティングシステムに転送できるようにする。その後、オンラインサービス312Aが実行を終了し、更新済みサービス312Bの実行が開始されたときにコンテキストが失われないように、更新済みサービス312Bの状態が、オンラインサービスの状態に設定される。
図3Bは、インストールモード、開始モード、休止モード、停止モード、アンインストールモードなど、サービス318が入り得る様々なモードを管理するサービス制御マネージャ316の使用法を示す。各モードに関連するのは、サービス制御マネージャ316によって呼び出すことができる割当て可能コールバックルーチンである。サービス制御マネージャ316が、コールバックルーチンの1つを使用してサービスを呼び出した後、サービス318が各モードに入る。サービス制御マネージャ316は、適切な操作制御機構のうちでも、とりわけコンソール314または自動化スクリプト(図示せず)によって制御することができる。ONPAUSE()ルーチン318A、ONHANDOFF()ルーチン318B、ONSTOP()ルーチン318Cなど、サービス318と関連する一部のコールバックルーチンを示してある。たとえば、サービス制御マネージャ316がONPAUSE()ルーチン318Aを呼び出すと、サービス318は(クライアント202からさらに要求を受信するのを中止し)休止モードに入り、このモードで、ONPAUSE()ルーチン318Aによって指定される様々な命令が実行される。
一実施形態では、サービス制御マネージャ316がカスタムコマンドを呼び出すことができ、そのカスタムコマンド内で任意のどんなコールバックルーチンもそのカスタムコマンドに関連付けできる場合、ONHANDOFF()ルーチン318Bをカスタムコマンドと関連付け、その結果、サービス318の様々なモードをハンドオフモードを含むように拡張することができる。サービス318がハンドオフモードに入ったとき、ONHANDOFF()ルーチン318Bに関連する命令を実行して、更新済みサービス312Bにインポートするために、第1のサービス312Aの状態をエクスポートすることができる。もう1つの実施形態では、カスタムコマンドを使用する代わりに、新しいハンドオフ状態をサービス318などのサービスの一部とすることができる場合、ONHANDOFF()ルーチン318Bをそのモードに関連付けることができる。この特定の例では、好ましくは、ONHANDOFF()ルーチン318Bの命令の1つにより、サービスが休止され、したがって、クライアント202からの追加の要求が受信されなくなり、一方、サービスの提供をオンラインサービス312Aから更新済みサービス312Bに切り換える準備が行われる。
図3Cは、上記で論じたハンドオフモードの間に更新済みサービス312Bにエクスポートされる、オンラインサービス312Aの状態を含むファイルを示す。このファイルは、どんな適切な言語で書いたものでもよい。1つの適切な言語として、XML(拡張可能なマーク付け言語)など、カスタマイズ可能なタグベース言語がある。図3Cに示すファイルの生成をもたらす以下の例を検討する。オンラインサービス312Aは、ポート5452上で、クライアント202からの要求をリスニングする。クライアント202は、文字列(「hello world」)をオンラインサービス312Aに送る。オンラインサービス312Aは、この文字列、現在のタイムスタンプ(ここでは12:53)、クライアントIPアドレス(ここでは16.12.10.10)、およびクライアントポート5452を、クライアント外部コンテキストとして記憶する。オンラインサービス312A内では、内部的に、ワーカスレッド(worker thread)が35秒おきに起動して、クライアントコンテキストのリストを調査する。クライアントコンテキストが所定の時間よりも長く記憶されている場合、ワーカスレッドは、あらかじめクライアント202によってオンラインサービス312Aに提供された文字列「hello world」をもつパケットをクライアント202に送信する。
オンラインサービス312Aの内部コンテキストとクライアントの外部コンテキストはどちらも、図3Cに示すファイル中にエクスポートすることができる。このファイルは、開始タグ<SERVICE_INTERNAL_CONTEXT>320A、およびその対となる終了タグ</SERVICE_INTERNAL_CONTEXT>320Bを含む。タグ320Aと320Bの間には、タグ<WORKER_THREAD_SLEEP_TIME>322A、およびその対となる終了タグ</WORKER_THREAD_SLEEP_TIME>322Bが含まれる。行324に、ワーカスレッドのスリープタイムを示すための数値「35」が表されている。このファイルはまた、開始タグ<CLIENT_EXTERNAL_CONTEXT>326A、およびその対となる終了タグ</CLIENT_EXTERNAL_CONTEXT>326Bも含む。タグ326Aと326Bの間に、別の開始タグ<CONTEXT>328A、およびその対となる終了タグ</CONTEXT>328Bが入れ子になる。行330で、タグ328Aと328Bの間に、タグ<IP>およびその対となる終了タグ</IP>が含まれる。IPアドレス16.12.10.10は、タグ<IP>とその終了タグ</IP>の間に入れられる。行332は、タグ<PORT>とその対となる終了タグ</PORT>の間にあるポート番号5452を表す。行334で、時間「12:53」が、タグ<TIMESTAMP>とその対となる終了タグ</TTMESTAMP>の間に入っている。行336は、タグ<STRING>とその対となる終了タグ</STRING>の間に入っている、クライアント202によって提供される文字列「hello world」を含む。上記で論じたファイルに関する詳細については、そのファイルがサービスの内部および外部の両コンテキストを取り込む概念を示すために提示されたものであり、サービスの状態の捕捉が図3Cに示した特定の種類の情報に限定、または制限されるものではないという点で理解されるべきものである。
図4A〜4Hは、サービスが稼動している間にサービスを動的に更新する方法400を示す。わかりやすくするために、方法400の以下の説明では、クライアント202、サーバ206(図2);ハードウェア302、ホストオペレーティングシステム304、仮想サーバ306、仮想マシン310A、310B、オンラインサービス312A、および更新済みサービス312B(図3A);図3Cに示すカスタマイズ可能なタグベースファイルなど、システム200に関して示した様々な構成要素を参照する。方法400は、開始ブロックから、移行端点(「端点A」)と終了端点(「端点B」)の間で定義される1組の方法ステップ402に進む。この1組の方法ステップ402では、オンラインサービス312Aなど、ゲストオペレーティングシステム上で稼動する第1のサービスへの更新が受け取られる。
以下の数ステップでは、本発明の様々な実施形態が実行可能になるように、仮想化技術の開始について論じる。方法400では、端点A(図4B)から、ホストオペレーティングシステム304を開始する。ブロック408を参照のこと。ブロック410において、この方法では、ホストオペレーティングシステム304内で稼動している仮想サーバ306を開始する。方法400では、ブロック412に進み、ここで仮想マシン310Aなど第1の仮想マシンと、この第1の仮想マシンに特有な仮想のデバイスの第1の組を開始する。方法400では、第1の仮想マシンで稼動する第1のゲストオペレーティングシステムを開始する。ブロック414を参照のこと。この方法では、ブロック416において、クライアント202などのクライアントにサービスを提供するために第1のゲストオペレーティングシステム上で稼動する、オンラインサービス312Aなど第1のサービスを開始する。ブロック418において、クライアントは、(要求や要求に関連する情報などの)外部コンテキストを第1のサービスに送信する。方法400は次いで、別の移行端点(「端点A1」)に進む。
方法400は、端点A1(図4C)からブロック420に進み、ここでオンラインサービス312Aなど第1のサービスが、各クライアントに対する外部コンテキストを別々に記憶する。図3Cのタグ328A、328Bの内容を参照のこと。次に、第1のサービスが、クライアントのサービスに関する内部コンテキストを生成し記憶する。ブロック422を参照のこと。また、タグ320A、320Bの内容も参照のこと。ブロック424において、第1のサービスへの更新が利用可能なことを示す通知が受け取られる。方法400では、次いでブロック426に進み、ここで仮想マシン310Bなど第2の仮想マシンと、第2の仮想マシンに特有な仮想化デバイスの第2の組を開始する。この方法では、第2の仮想マシンで稼動する、第2のゲストオペレーティングシステムを開始する。ブロック428を参照のこと。この方法では、ブロック430において、更新をインストールし、更新された第1のサービスのコピー(更新済みサービス312Bなど第2のサービス)を実行する。(好ましくは、第2のサービスは、第1のサービスと同時に実行される。)方法400は、次いで別の移行端点(「端点A2」)に進む。
方法400では、端点A2(図4D)からブロック432に進み、ここでたとえば管理者208によって、第2のゲストオペレーティングシステム上で稼動する第2のサービスがテストされる。判断ブロック434において、第2のサービスが導入される用意ができているかどうかを判定するテストが行われる。方法400では、判断ブロック434でのテストの回答がNOの場合、ブロック432に戻り、ここで上述の処理ステップが繰り返される。方法400では、判断ブロック434でのテストの回答がYESの場合、続いて終了端点Bに進む。
方法400では、端点B(図4A)から、移行端点(「端点C」)と終了端点(「端点D」)の間に定義される1組の方法ステップ404に進む。この1組の方法ステップ404は、第1のサービスが、(第2のサービスまたは更新済みサービス312Bである)第1のサービスのインスタンスへの状態ハンドオフを実行する。方法400では、端点C(図4D)からブロック436に進み、ここで第1のサービスがハンドオフモードに入る。この方法では、第1のサービスが、さらなるクライアント要求または外部コンテキストを受け取ることを休止する。ブロック438を参照のこと(例示的な一方法は、サービス制御マネージャ316に、ONPAUSE()ルーチン318Aを呼び出させることである)。次いで方法400では、続いて別の移行端点(「端点C1」)に進む。
この方法は、端点C1(図4E)から始まり、ハンドオフ中に第1のサービスのモードが変化しないようにするために、そのサービスに対する、グローバルロックであるハンドオフロックが取得される。ブロック440を参照のこと。この方法では、ブロック442において、第2のサービスに引き渡すべき、各クライアントの外部コンテキストを見つける。この方法では、好ましくは、第2のサービスにエクスポートする必要のあるどんなクライアント外部コンテキストも見つけるべきである。方法400はブロック444に進み、ここで第2のサービスに引き渡すべき第1のサービスの内部コンテキストを見つける。この方法は、場合によっては、いくつかのワーカスレッド、内部キュー、サービス管理データ構造などの内部詳細(internal details)を含むことができる。この方法は、外部コンテキストおよび内部コンテキスト(合わせて、状態と呼ぶ)を、カスタマイズ可能なタグベースのファイルにエクスポートする。ブロック446を参照のこと。(説明目的でのみ、図3Cにおいてファイルが例として示されている。)次に、この方法は、ブロック448において、第1のサービス上における既存のネットワーク接続を第2のサービスにマッピングするように、第1のサービスのネットワークスタックを変更する。(既存のネットワーク接続を再マッピングするために、仮想サーバ306および仮想マシン310A、310Bを含む仮想化機構が、アプリケーションプログラミングインターフェースを公開することが好ましい。)次に、方法400は、別の移行端点(「端点C2」)に進む。
方法400は、端点C2(図4F)からブロック450に進み、ここで第2のサービスがクライアントからの要求を受信可能になるように、第1のサービスのリスニングポートが第2のサービスのリスニングポートにリダイレクトされる。第1のサービスが、パイプやキューなどのプロセス間通信により、第2のゲストオペレーティングシステム上で稼動しているサービス管理マネージャ316などのサービス管理マネージャに、第2のサービスの状態を消去するよう要求する。ブロック452を参照のこと(これは、第2のサービスのONSTOP()ルーチン318Cを呼び出すことによって実現できることが好ましい)。次に、ブロック454において、第1のサービスが、第2のゲストオペレーティングシステム上で稼動するサービス管理マネージャに、第2のサービスをコンテキスト受取りモードに切り替えるよう要求する。次に、方法400はブロック456に進み、ここで第1のサービスが第2のサービスに、第1のサービスの状態を含むカスタマイズ可能なタグベースのファイルを引き渡す。その後、方法400は別の移行端点(「端点C3」)に進む。
この方法は端点C3(図4G)から始まり、第2のサービスが、カスタマイズ可能なタグベースのファイルを受け取り、そのサービス自体を、カスタマイズ可能なタグベースのファイルによって指定された状態に初期化する。ブロック460を参照のこと(ネットワークインターフェースに結び付いたネットワークプロトコルを効果的に初期化するために、第2のサービスが様々なデータ構造を下位のネットワーク層で初期化することが好ましい)。判断ブロック462において、第2のサービスが初期化を終了したかどうかを判定するテストが実行される。判断ブロック462でのテストの回答がNOの場合、方法400は、ブロック460に戻り、ここで上述の処理ステップが繰り返される。そうではない場合、判断ブロック462でのテストの回答がYESであり、第2のサービスは、この第1のサービスに、初期化が成功したことを通知する。ブロック464を参照のこと。次にブロック466において、第1のサービスは、第2のサービスに動作を開始するようにメッセージを送る。その後、方法400は別の移行端点(「端点C4」)に進む。
方法400は、端点C4(図4H)から判断ブロック468に進み、ここで第2のサービスが肯定応答を返したかどうかを判定するテストが実行される。判断ブロック468でのテストの回答がNOの場合、方法400は、その回答がYESになるまでループする。判断ブロック468でのテストの回答がYESの場合、第1のサービスは、第1のサービスの更新が成功したことを示す。ブロック470を参照のこと。ブロック472において、第1のサービスが、ハンドオフロックをリリースする。次いで方法400では、アンインストールされる準備として、第1のサービスが、それ以降の実行を止める。ブロック474を参照のこと。(この方法は、サービス管理マネージャ316が、ONSTOP()ルーチン318Cと、第1のサービスをアンインストールするための別のルーチンを呼び出すことが好ましい。)次いで、第1のサービスがアンインストールされる。ブロック476を参照のこと。その後、方法400は終了端点Dに進む。
方法400は、端点D(図4A)から、1つの移行端点(「端点E」)ともう1つの移行端点(「端点F」)の間で定義される1組の方法ステップ406に進む。この1組の方法ステップ406により、更新によって修正された、第1のサービスのインスタンス(第2のサービスまたは更新済みサービス312B)が実行され、第1のサービスのクライアントにサービスを提供することができる。その後、方法400は実行を終了する。
本発明の好ましい実施形態を図示し説明してきたが、これに関して本発明の趣旨および範囲から逸脱せずに様々な変更を行えることが理解されよう。
Claims (20)
- クライアントの要求を処理するためのサーバとして働くコンピュータシステムであって、
クライアントの要求を処理するために前記コンピュータシステム上で実行され、前記クライアントによって提供されるコンテキストを受け取ることが可能である1本のソフトウェアと、
前記1本のソフトウェアの新しいリリースで更新された、前記1本のソフトウェアのインスタンスと
を含み、前記1本のソフトウェアの前記インスタンスは、テストを実行できるように、前記コンピュータシステム上で前記1本のソフトウェアと同時に実行され、その後、前記1本のソフトウェアの前記インスタンスは実行され、前記1本のソフトウェアは、前記クライアントによって提供された前記コンテキストを失わずに終了することを特徴とするコンピュータシステム。 - 前記1本のソフトウェアは、第1のゲストオペレーティングシステム上で稼動しており、前記1本のソフトウェアの前記インスタンスは、第2のゲストオペレーティングシステム上で稼動していることを特徴とする請求項1に記載のコンピュータシステム。
- 前記第1のゲストオペレーティングシステムは、第1の仮想マシン上で稼動しており、前記第2のゲストオペレーティングシステムは、第2の仮想マシン上で稼動していることを特徴とする請求項2に記載のコンピュータシステム。
- 前記第1のゲストオペレーティングシステム、および前記第2のゲストオペレーティングシステムは、ハードウェアのエミュレーションを提供する仮想サーバによって管理されることを特徴とする請求項3に記載のコンピュータシステム。
- 前記仮想サーバは、ハードウェアと直接通信するホストオペレーティングシステムのサービスとして実行されることを特徴とする請求項4に記載のコンピュータシステム。
- コンピュータシステムにおいて実行され、あるサービスモードから別のサービスモードへの移行を制御するための複数本のソフトウェアであって、
クライアントの要求を処理するためのサービスであって、ハンドオフロックを取得し、サービスの状態をエクスポートすることができるようにする、複数のモードのうちの1つのモードを含むサービスと、
特定のモードに関連する割り当てられたコールバックルーチンを呼び出すことによって、前記サービスを前記特定のモードに入るようにするためのサービス制御マネージャと
を含み、ある特定のモードは、前記サービスが前記ハンドオフロックを取得し、前記サービスの状態をエクスポートできるようにする、カスタマイズ可能なモードを含むことを特徴とするソフトウェア。 - 前記サービスの状態を受け取る、前記サービスのインスタンスをさらに含み、前記サービスに新しい機能を追加し、または前記サービス中のエラーを訂正するように、前記サービスの新しいリリースによって前記サービスの前記インスタンスが更新されることを特徴とする請求項6に記載の複数本のソフトウェア。
- 前記モードは、前記サービスがクライアントからさらなる要求を受信するのを止める休止モードを含むことを特徴とする請求項7に記載の複数本のソフトウェア。
- 前記モードは、前記サービス管理マネージャによって前記サービスが開始および停止される開始モードおよび停止モードを含むことを特徴とする請求項8に記載の複数本のソフトウェア。
- 前記モードは、前記サービス管理マネージャによって前記サービスがインストールおよびアンインストールされるインストールモードおよびアンインストールモードを含むことを特徴とする請求項9に記載の複数本のソフトウェア。
- サービスの状態をエクスポートするためにコンピューティングシステムによって使用されるデータ構造が記憶されているコンピュータ読み取り可能記憶媒体であって、前記データ構造は、
クライアントにサービスを提供する際に前記サービスによって生成される内部コンテキストに関する情報を示すサービス内部コンテキストタグと、
サービスの実行を要求する際に前記クライアントによって提供される外部コンテキストに関する情報を示すクライアント外部コンテキストタグと
を含むことを特徴とするコンピュータ読み取り可能記憶媒体。 - 前記データ構造は、カスタマイズ可能なタグベースの言語から形成されることを特徴とする請求項11に記載のコンピュータ読み取り可能記憶媒体。
- コンピュータシステム上で実装される方法であって、
前記コンピュータシステム上で稼動する第1のゲストオペレーティングシステム上で稼動している第1のサービスへの更新を受け取ることであって、前記第1のサービスはクライアントの要求を実行すること、
前記第1のサービスの状態を含むファイルを生成するために、前記第1のサービスによって状態ハンドオフを実行することであって、前記コンピュータシステム上で稼動する第2のゲストオペレーティングシステム上で稼動している前記第1のサービスのインスタンスへ前記ファイルはエクスポートされること、および、
クライアントの要求を処理するために、前記受け取られた更新によって更新された、前記第1のサービスの前記インスタンスによって実行し、前記クライアントによって前記第1のサービスに提供された前記コンテキストを失わずに前記第1のサービスを終了すること
を含むことを特徴とする方法。 - 前記状態ハンドオフを実行する前記動作の前に、前記更新で前記第1のサービスの前記インスタンスをテストすることをさらに含むことを特徴とする請求項13に記載の方法。
- テストする前記動作の後で、前記状態ハンドオフを実行する前記動作の前に、前記第1のサービスがハンドオフモードに入るようにすることをさらに含むことを特徴とする請求項14に記載の方法。
- 前記第1のサービスが、クライアントからさらなる要求を受け取らないようにするために、前記第1のサービスを休止することをさらに含むことを特徴とする請求項15に記載の方法。
- 前記第1のサービスの状態を変更しないようにするために、ハンドオフロックを取得することをさらに含み、前記ハンドオフロックを取得する前記動作は、前記第1のサービスの状態を含む前記ファイルを生成する前記動作の前に行われることを特徴とする請求項16に記載の方法。
- 前記ファイルを生成する前記動作は、前記第1のサービスの内部コンテキストおよび外部コンテキストを含むタグを有する、カスタマイズ可能なタグベースのファイルを生成する動作を含むことを特徴とする請求項17に記載の方法。
- クライアントの要求を前記第1のサービスの前記インスタンスにリダイレクトできるように、ネットワーク接続を再マッピングし、前記第1のサービスから前記第1のサービスの前記インスタンスへのポートをリスニングすることをさらに含むことを特徴とする請求項18に記載の方法。
- 前記第1のサービスの前記インスタンスが、前記第1のサービスの状態のハンドオフが成功したことを示すとき、前記第1のサービスによって前記ハンドオフロックが解放されることを特徴とする請求項19に記載の方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/955,641 US8146073B2 (en) | 2004-09-30 | 2004-09-30 | Updating software while it is running |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006107500A true JP2006107500A (ja) | 2006-04-20 |
Family
ID=35527431
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005287700A Pending JP2006107500A (ja) | 2004-09-30 | 2005-09-30 | ソフトウェアの実行中にソフトウェアを更新すること |
Country Status (5)
Country | Link |
---|---|
US (1) | US8146073B2 (ja) |
EP (1) | EP1643361A3 (ja) |
JP (1) | JP2006107500A (ja) |
KR (1) | KR20060051932A (ja) |
CN (1) | CN1770121A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009110505A (ja) * | 2007-09-17 | 2009-05-21 | Symantec Corp | コンピュータプログラムにパッチを当てるシステム及び方法 |
JP2009217395A (ja) * | 2008-03-07 | 2009-09-24 | Nec Corp | 仮想サーバソフトウェア更新システム、仮想サーバソフトウェア更新方法、サーバ、及びサーバ用プログラム |
JP2009277217A (ja) * | 2008-03-31 | 2009-11-26 | Symantec Corp | 仮想ソフトウェアサブレイヤの動的挿入および除去 |
JP2017534107A (ja) * | 2014-09-30 | 2017-11-16 | アマゾン テクノロジーズ インコーポレイテッド | 動的コードデプロイメント及びバージョニング |
Families Citing this family (149)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006146679A (ja) * | 2004-11-22 | 2006-06-08 | Hitachi Ltd | 情報処理装置の制御方法、情報処理装置、及びプログラム |
WO2006110991A1 (en) * | 2005-04-18 | 2006-10-26 | Research In Motion Limited | Method and system for controlling software version updates |
EP1872214A4 (en) * | 2005-04-18 | 2008-04-23 | Research In Motion Ltd | IMPLEMENTING CUSTOMIZABLE SERVICES AS WIRELESS APPLICATIONS |
US20070106993A1 (en) * | 2005-10-21 | 2007-05-10 | Kenneth Largman | Computer security method having operating system virtualization allowing multiple operating system instances to securely share single machine resources |
US7840398B2 (en) * | 2006-03-28 | 2010-11-23 | Intel Corporation | Techniques for unified management communication for virtualization systems |
US20080126792A1 (en) * | 2006-09-19 | 2008-05-29 | Herington Daniel E | Systems and methods for achieving minimal rebooting during system update operations |
US8776041B2 (en) * | 2007-02-05 | 2014-07-08 | Microsoft Corporation | Updating a virtual machine monitor from a guest partition |
US8874425B2 (en) | 2007-03-22 | 2014-10-28 | The Invention Science Fund I, Llc | Implementing performance-dependent transfer or execution decisions from service emulation indications |
US8495708B2 (en) * | 2007-03-22 | 2013-07-23 | The Invention Science Fund I, Llc | Resource authorizations dependent on emulation environment isolation policies |
US9558019B2 (en) | 2007-03-22 | 2017-01-31 | Invention Science Fund I, Llc | Coordinating instances of a thread or other service in emulation |
US20080234998A1 (en) * | 2007-03-22 | 2008-09-25 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Coordinating instances of a thread or other service in emulation |
US8438609B2 (en) | 2007-03-22 | 2013-05-07 | The Invention Science Fund I, Llc | Resource authorizations dependent on emulation environment isolation policies |
US9378108B2 (en) * | 2007-03-22 | 2016-06-28 | Invention Science Fund I, Llc | Implementing performance-dependent transfer or execution decisions from service emulation indications |
US20080235000A1 (en) * | 2007-03-22 | 2008-09-25 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Implementing security control practice omission decisions from service emulation indications |
US20080235001A1 (en) * | 2007-03-22 | 2008-09-25 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Implementing emulation decisions in response to software evaluations or the like |
DE102007041652A1 (de) * | 2007-09-03 | 2009-03-05 | Abb Research Ltd. | Einrichtung und Verfahren zur Durchführung von Hardware-Anpassungen an einem Server in einem verteilten Computersystem mit wenigstens zwei Servern |
DE102007041653A1 (de) * | 2007-09-03 | 2009-03-05 | Abb Research Ltd. | Einrichtung und Verfahren zur Durchführung von Server-Software-Updates in einem verteilten Computersystem mit wenigstens zwei Servern |
JP4983521B2 (ja) * | 2007-10-04 | 2012-07-25 | 富士通株式会社 | ソフトウェア更新検証装置、方法及びプログラム |
KR100883208B1 (ko) * | 2007-12-13 | 2009-02-13 | 성균관대학교산학협력단 | 가상화 기술을 기반으로 하여 소프트웨어의 업데이트가가능한 이동통신 단말기 및 그 업데이트 방법 |
US9720674B1 (en) | 2008-05-05 | 2017-08-01 | Open Invention Network, Llc | Automating application of software patches to a server having a virtualization layer |
US8185884B2 (en) * | 2008-06-23 | 2012-05-22 | Novell, Inc. | System and method for offline updation of software in virtual machine (VM) images |
EP2214101A1 (de) | 2009-01-29 | 2010-08-04 | Siemens Aktiengesellschaft | Verändern von Objekten einer Anwendung |
US8689206B2 (en) * | 2009-03-05 | 2014-04-01 | International Business Machines Corporation | Isolating operating system in-memory modules using error injection |
US20110053583A1 (en) * | 2009-08-31 | 2011-03-03 | Ramesh Parmar | User initiated virtual mobile management |
US8972781B2 (en) * | 2009-04-20 | 2015-03-03 | Aetherpal Inc. | Session recovery during virtual mobile management |
US20100299664A1 (en) * | 2009-05-21 | 2010-11-25 | Salesforce.Com, Inc. | System, method and computer program product for pushing an application update between tenants of a multi-tenant on-demand database service |
US8589904B2 (en) * | 2009-08-10 | 2013-11-19 | Symantec Corporation | Systems and methods for updating a software product |
US8918093B2 (en) | 2009-08-31 | 2014-12-23 | Aetherpal Inc. | User initiated virtual mobile management |
JP5430298B2 (ja) * | 2009-09-03 | 2014-02-26 | サンデン株式会社 | 自動販売機の制御装置 |
US9589114B2 (en) * | 2010-01-05 | 2017-03-07 | Microsoft Technology Licensing, Llc | Policy for digital rights management |
US20110265072A1 (en) * | 2010-04-27 | 2011-10-27 | Jack Matthew | Dynamic Installation of Files for Running Programs |
JP2012069088A (ja) * | 2010-06-25 | 2012-04-05 | Toshiba Corp | 医用情報処理装置及びソフトウェア配信システム |
US8296267B2 (en) | 2010-10-20 | 2012-10-23 | Microsoft Corporation | Upgrade of highly available farm server groups |
US9075661B2 (en) * | 2010-10-20 | 2015-07-07 | Microsoft Technology Licensing, Llc | Placing objects on hosts using hard and soft constraints |
US8417737B2 (en) * | 2010-10-20 | 2013-04-09 | Microsoft Corporation | Online database availability during upgrade |
US8386501B2 (en) | 2010-10-20 | 2013-02-26 | Microsoft Corporation | Dynamically splitting multi-tenant databases |
US8751656B2 (en) | 2010-10-20 | 2014-06-10 | Microsoft Corporation | Machine manager for deploying and managing machines |
US20120102480A1 (en) * | 2010-10-20 | 2012-04-26 | Microsoft Corporation | High availability of machines during patching |
US8799453B2 (en) | 2010-10-20 | 2014-08-05 | Microsoft Corporation | Managing networks and machines for an online service |
US8850550B2 (en) | 2010-11-23 | 2014-09-30 | Microsoft Corporation | Using cached security tokens in an online service |
US9721030B2 (en) | 2010-12-09 | 2017-08-01 | Microsoft Technology Licensing, Llc | Codeless sharing of spreadsheet objects |
US8473957B2 (en) * | 2010-12-13 | 2013-06-25 | Microsoft Corporation | Architecture for providing on-demand and background processing |
JP5655677B2 (ja) * | 2011-04-04 | 2015-01-21 | 富士通株式会社 | ハイパーバイザ置き換え方法および情報処理装置 |
KR101254208B1 (ko) * | 2011-06-17 | 2013-04-18 | 인크로스 주식회사 | 이동 단말기의 애플리케이션 실시간 업데이트 방법 |
US8819660B2 (en) * | 2011-06-29 | 2014-08-26 | Microsoft Corporation | Virtual machine block substitution |
EP3660673A1 (en) * | 2012-03-22 | 2020-06-03 | Irdeto B.V. | Updating software components |
US8972964B2 (en) * | 2012-07-26 | 2015-03-03 | Unisys Corporation | Dynamic firmware updating system for use in translated computing environments |
CN103838947B (zh) * | 2012-11-26 | 2016-12-21 | 北京新媒传信科技有限公司 | 一种实现应用割接的方法和装置 |
GB2510874B (en) | 2013-02-15 | 2020-09-16 | Ncr Corp | Server system supporting remotely managed IT services |
US8739151B1 (en) * | 2013-03-15 | 2014-05-27 | Genetec Inc. | Computer system using in-service software upgrade |
CN104182241A (zh) * | 2013-05-24 | 2014-12-03 | 华为终端有限公司 | 一种网页应用程序更新方法及通信设备 |
CN104423989B (zh) * | 2013-09-02 | 2017-11-28 | 联想(北京)有限公司 | 一种应用更新方法及电子设备 |
US9626180B2 (en) | 2013-12-16 | 2017-04-18 | International Business Machines Corporation | Live operating system update mechanisms |
US9098375B2 (en) * | 2013-12-23 | 2015-08-04 | Verizon Patent And Licensing Inc. | Automatic management of software patch installation |
US20150286505A1 (en) * | 2014-04-03 | 2015-10-08 | Oracle International Corporation | Computing system resource provisioning |
US9430223B2 (en) | 2014-09-25 | 2016-08-30 | International Business Machines Corporation | Live operating system update mechanisms |
US10048974B1 (en) | 2014-09-30 | 2018-08-14 | Amazon Technologies, Inc. | Message-based computation request scheduling |
US9600312B2 (en) | 2014-09-30 | 2017-03-21 | Amazon Technologies, Inc. | Threading as a service |
US9323556B2 (en) | 2014-09-30 | 2016-04-26 | Amazon Technologies, Inc. | Programmatic event detection and message generation for requests to execute program code |
US9146764B1 (en) | 2014-09-30 | 2015-09-29 | Amazon Technologies, Inc. | Processing event messages for user requests to execute program code |
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
US9830193B1 (en) | 2014-09-30 | 2017-11-28 | Amazon Technologies, Inc. | Automatic management of low latency computational capacity |
KR102079701B1 (ko) * | 2014-10-30 | 2020-02-20 | 에스케이텔레콤 주식회사 | 가상화 정보 처리 장치의 소프트웨어 업그레이드 방법 |
US9413626B2 (en) | 2014-12-05 | 2016-08-09 | Amazon Technologies, Inc. | Automatic management of resource sizing |
US10318271B2 (en) | 2015-01-05 | 2019-06-11 | Irdeto Canada Corporation | Updating software components in a program |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9727725B2 (en) | 2015-02-04 | 2017-08-08 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9588790B1 (en) | 2015-02-04 | 2017-03-07 | Amazon Technologies, Inc. | Stateful virtual compute system |
US9785476B2 (en) | 2015-04-08 | 2017-10-10 | Amazon Technologies, Inc. | Endpoint management system and virtual compute system |
US9930103B2 (en) | 2015-04-08 | 2018-03-27 | Amazon Technologies, Inc. | Endpoint management system providing an application programming interface proxy service |
CN106301820B (zh) * | 2015-05-15 | 2020-03-10 | 阿里巴巴集团控股有限公司 | 一种基于网络连接服务的升级方法和装置 |
US9928108B1 (en) | 2015-09-29 | 2018-03-27 | Amazon Technologies, Inc. | Metaevent handling for on-demand code execution environments |
US10042660B2 (en) | 2015-09-30 | 2018-08-07 | Amazon Technologies, Inc. | Management of periodic requests for compute capacity |
US10754701B1 (en) | 2015-12-16 | 2020-08-25 | Amazon Technologies, Inc. | Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions |
US9830449B1 (en) | 2015-12-16 | 2017-11-28 | Amazon Technologies, Inc. | Execution locations for request-driven code |
US9811434B1 (en) | 2015-12-16 | 2017-11-07 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
US9811363B1 (en) | 2015-12-16 | 2017-11-07 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
US9830175B1 (en) | 2015-12-16 | 2017-11-28 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
US10013267B1 (en) | 2015-12-16 | 2018-07-03 | Amazon Technologies, Inc. | Pre-triggers for code execution environments |
US10067801B1 (en) | 2015-12-21 | 2018-09-04 | Amazon Technologies, Inc. | Acquisition and maintenance of compute capacity |
US10002026B1 (en) | 2015-12-21 | 2018-06-19 | Amazon Technologies, Inc. | Acquisition and maintenance of dedicated, reserved, and variable compute capacity |
US9910713B2 (en) | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
US10021605B2 (en) * | 2016-01-13 | 2018-07-10 | Uber Technologies, Inc. | Non-interrupted handoff of real-time network-distributed services |
CN105791007B (zh) * | 2016-03-01 | 2019-06-14 | 中国银联股份有限公司 | 金融网络接入系统 |
US11132213B1 (en) | 2016-03-30 | 2021-09-28 | Amazon Technologies, Inc. | Dependency-based process of pre-existing data sets at an on demand code execution environment |
US10162672B2 (en) | 2016-03-30 | 2018-12-25 | Amazon Technologies, Inc. | Generating data streams from pre-existing data sets |
US10891145B2 (en) | 2016-03-30 | 2021-01-12 | Amazon Technologies, Inc. | Processing pre-existing data sets at an on demand code execution environment |
US10282229B2 (en) | 2016-06-28 | 2019-05-07 | Amazon Technologies, Inc. | Asynchronous task management in an on-demand network code execution environment |
US9952896B2 (en) | 2016-06-28 | 2018-04-24 | Amazon Technologies, Inc. | Asynchronous task management in an on-demand network code execution environment |
US10102040B2 (en) | 2016-06-29 | 2018-10-16 | Amazon Technologies, Inc | Adjusting variable limit on concurrent code executions |
US10868883B2 (en) * | 2016-06-29 | 2020-12-15 | Nicira, Inc. | Upgrading a proxy that decouples network connections from an application during application's downtime |
US10587673B2 (en) * | 2016-06-29 | 2020-03-10 | Nicira, Inc. | Decoupling network connections from an application while the application is temporarily down |
US10277708B2 (en) | 2016-06-30 | 2019-04-30 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
US10203990B2 (en) | 2016-06-30 | 2019-02-12 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
US10230712B2 (en) | 2016-09-12 | 2019-03-12 | Microsoft Technology Licensing, Llc | Binary experimentation on running web servers |
US10884787B1 (en) | 2016-09-23 | 2021-01-05 | Amazon Technologies, Inc. | Execution guarantees in an on-demand network code execution system |
US10061613B1 (en) | 2016-09-23 | 2018-08-28 | Amazon Technologies, Inc. | Idempotent task execution in on-demand network code execution systems |
US11119813B1 (en) | 2016-09-30 | 2021-09-14 | Amazon Technologies, Inc. | Mapreduce implementation using an on-demand network code execution system |
US10341438B2 (en) * | 2017-03-17 | 2019-07-02 | Verizon Patent ad Licensing Inc. | Deploying and managing containers to provide a highly available distributed file system |
US10261780B2 (en) | 2017-05-01 | 2019-04-16 | Google Llc | Transparent upgrade of a system service or application |
US10303492B1 (en) | 2017-12-13 | 2019-05-28 | Amazon Technologies, Inc. | Managing custom runtimes in an on-demand code execution system |
US10564946B1 (en) | 2017-12-13 | 2020-02-18 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10733085B1 (en) | 2018-02-05 | 2020-08-04 | Amazon Technologies, Inc. | Detecting impedance mismatches due to cross-service calls |
US10353678B1 (en) | 2018-02-05 | 2019-07-16 | Amazon Technologies, Inc. | Detecting code characteristic alterations due to cross-service calls |
US10831898B1 (en) | 2018-02-05 | 2020-11-10 | Amazon Technologies, Inc. | Detecting privilege escalations in code including cross-service calls |
US10572375B1 (en) | 2018-02-05 | 2020-02-25 | Amazon Technologies, Inc. | Detecting parameter validity in code including cross-service calls |
US10725752B1 (en) | 2018-02-13 | 2020-07-28 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10776091B1 (en) | 2018-02-26 | 2020-09-15 | Amazon Technologies, Inc. | Logging endpoint in an on-demand code execution system |
US10853115B2 (en) | 2018-06-25 | 2020-12-01 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
US10649749B1 (en) | 2018-06-26 | 2020-05-12 | Amazon Technologies, Inc. | Cross-environment application of tracing information for improved code execution |
US11146569B1 (en) | 2018-06-28 | 2021-10-12 | Amazon Technologies, Inc. | Escalation-resistant secure network services using request-scoped authentication information |
US10949237B2 (en) | 2018-06-29 | 2021-03-16 | Amazon Technologies, Inc. | Operating system customization in an on-demand network code execution system |
US11099870B1 (en) | 2018-07-25 | 2021-08-24 | Amazon Technologies, Inc. | Reducing execution times in an on-demand network code execution system using saved machine states |
US11099917B2 (en) | 2018-09-27 | 2021-08-24 | Amazon Technologies, Inc. | Efficient state maintenance for execution environments in an on-demand code execution system |
US11243953B2 (en) | 2018-09-27 | 2022-02-08 | Amazon Technologies, Inc. | Mapreduce implementation in an on-demand network code execution system and stream data processing system |
US11943093B1 (en) | 2018-11-20 | 2024-03-26 | Amazon Technologies, Inc. | Network connection recovery after virtual machine transition in an on-demand network code execution system |
US10884812B2 (en) | 2018-12-13 | 2021-01-05 | Amazon Technologies, Inc. | Performance-based hardware emulation in an on-demand network code execution system |
US11010188B1 (en) | 2019-02-05 | 2021-05-18 | Amazon Technologies, Inc. | Simulated data object storage using on-demand computation of data objects |
US11861386B1 (en) | 2019-03-22 | 2024-01-02 | Amazon Technologies, Inc. | Application gateways in an on-demand network code execution system |
US11119809B1 (en) | 2019-06-20 | 2021-09-14 | Amazon Technologies, Inc. | Virtualization-based transaction handling in an on-demand network code execution system |
US11190609B2 (en) | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US11159528B2 (en) | 2019-06-28 | 2021-10-26 | Amazon Technologies, Inc. | Authentication to network-services using hosted authentication information |
US11115404B2 (en) | 2019-06-28 | 2021-09-07 | Amazon Technologies, Inc. | Facilitating service connections in serverless code executions |
US11386230B2 (en) | 2019-09-27 | 2022-07-12 | Amazon Technologies, Inc. | On-demand code obfuscation of data in input path of object storage service |
US11250007B1 (en) | 2019-09-27 | 2022-02-15 | Amazon Technologies, Inc. | On-demand execution of object combination code in output path of object storage service |
US11394761B1 (en) | 2019-09-27 | 2022-07-19 | Amazon Technologies, Inc. | Execution of user-submitted code on a stream of data |
US10908927B1 (en) | 2019-09-27 | 2021-02-02 | Amazon Technologies, Inc. | On-demand execution of object filter code in output path of object storage service |
US11656892B1 (en) | 2019-09-27 | 2023-05-23 | Amazon Technologies, Inc. | Sequential execution of user-submitted code and native functions |
US10996961B2 (en) | 2019-09-27 | 2021-05-04 | Amazon Technologies, Inc. | On-demand indexing of data in input path of object storage service |
US11263220B2 (en) | 2019-09-27 | 2022-03-01 | Amazon Technologies, Inc. | On-demand execution of object transformation code in output path of object storage service |
US11360948B2 (en) | 2019-09-27 | 2022-06-14 | Amazon Technologies, Inc. | Inserting owner-specified data processing pipelines into input/output path of object storage service |
US11055112B2 (en) | 2019-09-27 | 2021-07-06 | Amazon Technologies, Inc. | Inserting executions of owner-specified code into input/output path of object storage service |
US11106477B2 (en) | 2019-09-27 | 2021-08-31 | Amazon Technologies, Inc. | Execution of owner-specified code during input/output path to object storage service |
US11023311B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | On-demand code execution in input path of data uploaded to storage service in multiple data portions |
US11550944B2 (en) | 2019-09-27 | 2023-01-10 | Amazon Technologies, Inc. | Code execution environment customization system for object storage service |
US11023416B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | Data access control system for object storage service based on owner-defined code |
US11416628B2 (en) | 2019-09-27 | 2022-08-16 | Amazon Technologies, Inc. | User-specific data manipulation system for object storage service based on user-submitted code |
US11119826B2 (en) | 2019-11-27 | 2021-09-14 | Amazon Technologies, Inc. | Serverless call distribution to implement spillover while avoiding cold starts |
US10942795B1 (en) | 2019-11-27 | 2021-03-09 | Amazon Technologies, Inc. | Serverless call distribution to utilize reserved capacity without inhibiting scaling |
US11714682B1 (en) | 2020-03-03 | 2023-08-01 | Amazon Technologies, Inc. | Reclaiming computing resources in an on-demand code execution system |
US11188391B1 (en) | 2020-03-11 | 2021-11-30 | Amazon Technologies, Inc. | Allocating resources to on-demand code executions under scarcity conditions |
US11775640B1 (en) | 2020-03-30 | 2023-10-03 | Amazon Technologies, Inc. | Resource utilization-based malicious task detection in an on-demand code execution system |
US11593270B1 (en) | 2020-11-25 | 2023-02-28 | Amazon Technologies, Inc. | Fast distributed caching using erasure coded object parts |
US11550713B1 (en) | 2020-11-25 | 2023-01-10 | Amazon Technologies, Inc. | Garbage collection in distributed systems using life cycled storage roots |
US11388210B1 (en) | 2021-06-30 | 2022-07-12 | Amazon Technologies, Inc. | Streaming analytics using a serverless compute system |
WO2023043564A1 (en) * | 2021-09-15 | 2023-03-23 | Microsoft Technology Licensing, Llc. | Secret rotation in a cloud service |
US11979496B2 (en) | 2021-09-15 | 2024-05-07 | Microsoft Technology Licensing, Llc | Secret rotation in a cloud service |
US11968280B1 (en) | 2021-11-24 | 2024-04-23 | Amazon Technologies, Inc. | Controlling ingestion of streaming data to serverless function executions |
US12015603B2 (en) | 2021-12-10 | 2024-06-18 | Amazon Technologies, Inc. | Multi-tenant mode for serverless code execution |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002328813A (ja) * | 2001-04-27 | 2002-11-15 | Hitachi Ltd | プログラム修正方法 |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5155837A (en) * | 1989-03-02 | 1992-10-13 | Bell Communications Research, Inc. | Methods and apparatus for software retrofitting |
US5410703A (en) * | 1992-07-01 | 1995-04-25 | Telefonaktiebolaget L M Ericsson | System for changing software during computer operation |
US5359730A (en) * | 1992-12-04 | 1994-10-25 | International Business Machines Corporation | Method of operating a data processing system having a dynamic software update facility |
US5664195A (en) * | 1993-04-07 | 1997-09-02 | Sequoia Systems, Inc. | Method and apparatus for dynamic installation of a driver on a computer system |
US6138274A (en) * | 1998-01-23 | 2000-10-24 | Lucent Technologies, Inc. | Method and apparatus for updating an online computer program |
DE19810802A1 (de) * | 1998-03-12 | 1999-09-16 | Ericsson Telefon Ab L M | Störungsfreies Aktualisieren von Daten |
US6070012A (en) * | 1998-05-22 | 2000-05-30 | Nortel Networks Corporation | Method and apparatus for upgrading software subsystems without interrupting service |
US6154878A (en) * | 1998-07-21 | 2000-11-28 | Hewlett-Packard Company | System and method for on-line replacement of software |
US6199203B1 (en) * | 1998-07-21 | 2001-03-06 | Hewlett-Packard Company | Memory management techniques for on-line replaceable software |
US6314567B1 (en) * | 1998-11-13 | 2001-11-06 | Hewlett-Packard Company | Apparatus and method for transferring state data when performing on-line replacement of a running program code and data |
US7062765B1 (en) * | 1999-05-25 | 2006-06-13 | Realnetworks, Inc. | System and method for updating information via a network |
US6698017B1 (en) * | 1999-07-16 | 2004-02-24 | Nortel Networks Limited | Software migration on an active processing element |
US6629315B1 (en) * | 2000-08-10 | 2003-09-30 | International Business Machines Corporation | Method, computer program product, and system for dynamically refreshing software modules within an actively running computer system |
US20020073409A1 (en) * | 2000-12-13 | 2002-06-13 | Arne Lundback | Telecommunications platform with processor cluster and method of operation thereof |
US20030018950A1 (en) | 2001-06-02 | 2003-01-23 | Malcom Sparks | Dynamic redeploying environment for the rapid iterative development of software applications |
NO20021247D0 (no) * | 2002-03-13 | 2002-03-13 | Ericsson Telefon Ab L M | Fremgangsmåte og system for oppgradering av programvare |
US7174547B2 (en) * | 2002-03-25 | 2007-02-06 | Ciena Corporation | Method for updating and restoring operating software in an active region of a network element |
US20030191870A1 (en) | 2002-04-02 | 2003-10-09 | Dominic Duggan | Method and apparatus for updating software libraries |
US20040010786A1 (en) * | 2002-07-11 | 2004-01-15 | Microsoft Corporation | System and method for automatically upgrading a software application |
US7000229B2 (en) * | 2002-07-24 | 2006-02-14 | Sun Microsystems, Inc. | Method and system for live operating environment upgrades |
US7216343B2 (en) * | 2002-09-20 | 2007-05-08 | International Business Machines Corporation | Method and apparatus for automatic updating and testing of software |
US6978452B2 (en) * | 2003-04-02 | 2005-12-20 | Beach Unlimited Llc | Upgrading digital media servers |
WO2004092951A2 (en) * | 2003-04-18 | 2004-10-28 | Sap Ag | Managing a computer system with blades |
WO2004104825A1 (en) * | 2003-05-15 | 2004-12-02 | Applianz Technologies, Inc. | Systems and methods of creating and accessing software simulated computers |
US20050044301A1 (en) * | 2003-08-20 | 2005-02-24 | Vasilevsky Alexander David | Method and apparatus for providing virtual computing services |
US20050216920A1 (en) * | 2004-03-24 | 2005-09-29 | Vijay Tewari | Use of a virtual machine to emulate a hardware device |
US7886293B2 (en) * | 2004-07-07 | 2011-02-08 | Intel Corporation | Optimizing system behavior in a virtual machine environment |
-
2004
- 2004-09-30 US US10/955,641 patent/US8146073B2/en active Active
-
2005
- 2005-09-28 EP EP05108955A patent/EP1643361A3/en not_active Withdrawn
- 2005-09-29 CN CNA2005101087446A patent/CN1770121A/zh active Pending
- 2005-09-30 KR KR1020050092072A patent/KR20060051932A/ko not_active Application Discontinuation
- 2005-09-30 JP JP2005287700A patent/JP2006107500A/ja active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002328813A (ja) * | 2001-04-27 | 2002-11-15 | Hitachi Ltd | プログラム修正方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009110505A (ja) * | 2007-09-17 | 2009-05-21 | Symantec Corp | コンピュータプログラムにパッチを当てるシステム及び方法 |
JP2009217395A (ja) * | 2008-03-07 | 2009-09-24 | Nec Corp | 仮想サーバソフトウェア更新システム、仮想サーバソフトウェア更新方法、サーバ、及びサーバ用プログラム |
JP2009277217A (ja) * | 2008-03-31 | 2009-11-26 | Symantec Corp | 仮想ソフトウェアサブレイヤの動的挿入および除去 |
JP2017534107A (ja) * | 2014-09-30 | 2017-11-16 | アマゾン テクノロジーズ インコーポレイテッド | 動的コードデプロイメント及びバージョニング |
Also Published As
Publication number | Publication date |
---|---|
EP1643361A3 (en) | 2008-02-06 |
US20060075076A1 (en) | 2006-04-06 |
US8146073B2 (en) | 2012-03-27 |
KR20060051932A (ko) | 2006-05-19 |
EP1643361A2 (en) | 2006-04-05 |
CN1770121A (zh) | 2006-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2006107500A (ja) | ソフトウェアの実行中にソフトウェアを更新すること | |
US20210382859A1 (en) | System and method for connection concentration in a database environment | |
US11316800B2 (en) | Method and system for managing applications | |
US11294699B2 (en) | Dynamically scaled hyperconverged system establishing minimum supported interoperable communication protocol between clusters in a cluster group | |
CN107534571B (zh) | 用于管理虚拟网络功能的方法、系统和计算机可读介质 | |
US20180039507A1 (en) | System and method for management of a virtual machine environment | |
US6966060B1 (en) | Method and system for remote client installation | |
US9571332B2 (en) | Methods and apparatuses for remote application provisioning automation over virtualized IT infrastructure | |
WO2019184164A1 (zh) | 自动部署Kubernetes从节点的方法、装置、终端设备及可读存储介质 | |
EP3276488A1 (en) | Deployment system for multi-node applications | |
WO2019184116A1 (zh) | 自动搭建Kubernetes主节点的方法、装置、终端设备及可读存储介质 | |
US11163669B1 (en) | Measuring test coverage during phased deployments of software updates | |
US20090328030A1 (en) | Installing a management agent with a virtual machine | |
US11693687B1 (en) | Lifecycle management of VNFC software modules | |
US11966768B2 (en) | Apparatus and method for multi-cloud service platform | |
US11573819B2 (en) | Computer-implemented method for reducing service disruption times for a universal customer premise equipment, uCPE, device with resource constraint in a network functions virtualization, NFV, network infrastructure | |
US20060294354A1 (en) | Image-based system maintenance | |
US20160217019A1 (en) | Partitioned application environment | |
US20210326162A1 (en) | Lifecycle management of a vnfc included in a multi-vnfc vdu | |
US20230138867A1 (en) | Methods for application deployment across multiple computing domains and devices thereof | |
US9483326B2 (en) | Non-invasive upgrades of server components in cloud deployments | |
US20210067599A1 (en) | Cloud resource marketplace | |
US20240007340A1 (en) | Executing on-demand workloads initiated from cloud services in a software-defined data center | |
US11853783B1 (en) | Identifying hosts for dynamically enabling specified features when resuming operation of a virtual compute instance | |
CN115185699A (zh) | 提供商网络服务扩展 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080930 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110812 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120120 |