JP4137124B2 - 仮想マシンのための動的なサービス・レジストリ - Google Patents

仮想マシンのための動的なサービス・レジストリ Download PDF

Info

Publication number
JP4137124B2
JP4137124B2 JP2005518881A JP2005518881A JP4137124B2 JP 4137124 B2 JP4137124 B2 JP 4137124B2 JP 2005518881 A JP2005518881 A JP 2005518881A JP 2005518881 A JP2005518881 A JP 2005518881A JP 4137124 B2 JP4137124 B2 JP 4137124B2
Authority
JP
Japan
Prior art keywords
virtual machine
registry
service
services
monitor
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
JP2005518881A
Other languages
English (en)
Other versions
JP2006519423A (ja
Inventor
ナゥアーヘイズ,ロバート
ロビンソン,スコット
Original Assignee
インテル コーポレイション
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 インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2006519423A publication Critical patent/JP2006519423A/ja
Application granted granted Critical
Publication of JP4137124B2 publication Critical patent/JP4137124B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/465Distributed object oriented systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4541Directories for service discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W60/00Affiliation to network, e.g. registration; Terminating affiliation with the network, e.g. de-registration
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45566Nested virtual machines
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/46Indexing scheme relating to G06F9/46
    • G06F2209/462Lookup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本出願は、本発明の譲受人に共通に譲渡された、2002年12月27日に出願された“Dynamic Service Registry〔動的なサービス・レジストリ〕”と題する同時係属出願第10/330,597号の一部継続である。
本発明は一般にはサービス・レジストリに関するものである。より詳細には、レジストリにおいて公開されるサービスを提供または所望する仮想マシン(VM:virtual machine)の生成、サスペンド、削除に反応する動的なサービス・レジストリを提供することに関するものである。
有線や無線のイントラネット、インターネット、広域ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)などを含みうるネットワークには、他のデバイスにサービス、機能、リソースを提供したり所望したりする多くのデバイスがつながっている可能性がある。特定のサービスを提供しているデバイスをみつけることはしばしば難しい。デバイスやそのサービスをみつけて追跡するのを容易にするために、さまざまな「ウェブ・サービス」または「ディレクトリ・サービス」技術が実装されてきた。
「ウェブ・サービス」の用語は、異なる企業からのネットワーク・アプリケーション、サービス、リソースを、ワールド・ワイド・ウェブ・コンソーシアム(W3C:World Wide Web Consortium)規格やインターネット技術特別調査委員会(IETF:Internet Engineering Task Force)規格のような公開規格を使ってネットワーク上で記述し、発見し、統合する標準化された方法を表す。使われる規格にはXML(Extensible Markup Language)、SOAP(Simple Object Access Protocol)、WSDL(Web Services Description Language)、UDDI(Universal Description, Discovery and Integration)などがある。ウェブ・サービスは自己完結したモジュール・アプリケーションであって、直接他のウェブ・サービス、アプリケーション、またはシステム・ソフトウェアと通信することができる。
UDDIとは、企業が自分たちのサービスを記述し、他の企業やサービスを発見し、いかにして事業が関わりあうかについての情報を共有することができるようにする世界規模でのレジストリ〔登録簿〕の集合体のための、プラットフォームによらない開かれた枠組みを利用した業界提案規格である。残念ながら、UDDIの世界性は、提供されているサービスをみつけだすための単一の情報源を提供してくれるものの、UDDIは無効になった項目を自動的に同定して除去する機能を欠いている。UDDIはデバイスが簡単に自らを登録して提供または所望するサービス、機能、リソースを公開できるようにするが、UDDIはデバイスが行儀よく振る舞い、当該サービスが提供されなくなったときにはそのデータをデータベースから除去することを期待している。残念ながら、デバイスが突然利用不能になった場合、無効になったレジストリ項目がそのデバイスと関連付けられたまま残りうる。
したがって、伝統的なレジストリ環境は、任意に生成、サスペンド、破棄されうる仮想マシン(VM:virtual machine)のような一過性のデバイスには適さない。サスペンドや破棄というのは、デバイスが適正にその登録情報の面倒を見ることなく突如としてネットワークから切り離されるのと同等だからである。
本発明の特徴や利点は本発明の以下の詳細な記述から明らかとなるであろう。
レジストリは、サービスおよびリソースを公開し、発見し、提供・利用することを容易にする(以後、まとめて「登録」と称する)。リソースはカプセル化されて公開され、サービスとして使われうるので、直接あるいは文脈によって別途指定されない限り、「サービス」の用語は「リソース」も含むものと意図されている。図示されている実施形態では、ネットワーク上に多くのレジストリがありえ、他のレジストリと完全に同期を保っている(すなわちコヒーレントな)ものもあれば、一部の登録情報を非公開にすることを選んでいるものもありうる。本発明はさまざまなディレクトリ・サービス、ウェブ・サービス、UDDIレジストリ、マイクロソフト社の.NETサービスなどとともに用いうる。特許請求の範囲において、「レジストリ」の用語は考えられるこれらさまざまなレジストリおよびその等価物を指すことが意図されている。しかし、解説の便宜上、以下の詳細な記述はUDDIレジストリに的を絞っている。当業者には、時がたつにつれ代わりのレジストリまたはサービスが出てくるであろうこと、ここに記載される思想はそれにも適用可能であることが理解されることであろう。
ネットワーク環境においては、さまざまな理由によりデバイスが突如としてネットワーク上に出現したり、消滅したり、改めて出現したりすることがありうる。そのようなデバイスは本明細書および特許請求の範囲では「一過性のデバイス」と称される。「一過性のデバイス」という語句は、携帯型パソコン、携帯情報端末(PDA:personal digital assistant)を含む従来型のモバイル機器のような物理的にはっきりした機械ならびにハードウェア・プロセッサ・エミュレーション、ソフトウェア・マシン・エミュレーションまたは仮想マシン(VM)のような論理デバイスまたは仮想デバイスのいずれをも幅広く包摂することが意図されている。以下の記述は仮想マシン(VM)とUDDIレジストリのようなレジストリとの間の関わりあいに焦点を当てている。当業者には、以下の記述が他の一過性デバイスおよびレジストリ環境に対しても適用できることがわかるであろう。
VMは、たとえばプロセッサの動作モードの場合のようにハードウェアで、あるいはランタイム環境の場合のようにソフトウェアで、エミュレートしたマシンまたはエミュレートしたプラットフォームのいずれでもよい。VMは命令セットならびに他のプラットフォーム・リソースもしくはデバイスまたはその両方を含んでいてもよい。VMは共有ファイルシステムに向けてシリアライズされ(たとえば、状態チェックポイント)、あるいはネットワークを通じて送り出され、別のマシンに移され、デシリアライズされ(たとえば、チェックポイントからの状態元)、その別のマシンをホストとすることができる。仮想マシンの新しいホスト・デバイスへの移行は、その仮想マシンのサービスまたはリソースをレジストリから登録解除し、その仮想マシンのサービスまたはリソースを新しいホスト・デバイスに関連して前記レジストリに改めて登録することに関わるものでもよい。単一の物理デバイスが複数のVMを持っている(すなわち、ホストする)こともありうる。VMはまた物理ネットワーク接続に加えて、あるいはその代わりに仮想ネットワークを利用することもありうる。VMは、そのVMM(Virtual Machine Monitor[仮想マシン・モニタ]またはVirtual Machine Manager[仮想マシン・マネージャ])がインスタンスを生成した、あるいは該VMを再開したために、ネットワーク上に現れたり、改めて現れたりしうる。VMはVMMが該VMをシャットダウンしたりインスタンスを破棄したり(サスペンド)あるいはその他の仕方で該VMを利用不能にしたりするとネットワークから消えることがありうる。サスペンドしたり破棄したりその他の仕方でVMを利用不能にすることは、別のVMが走れるようにする(たとえば、ホストのプロセッサ、メモリ、記憶装置などにアクセスできるようにする)ために、また該VMがもはや用途がなくなったとき(たとえば、処理を終えたり、提供しているサービスが必要とされなくなったりしたとき)、普通に行われる。
VMは同じ物理デバイス内にある他のVMと、他の物理デバイス上にあるVMと、あるいは単に他の物理デバイスと通信しうる。ある実施形態では、特定の物理デバイスをホストとする複数のVMは、非公開の仮想(最適化された)ネットワーク上で通信しあうことができる。この場合、仮想化ソフトウェア(実装によって、しばしば前記VMMや当該ホストOS)は別の仕方で動作しうる。たとえば、ホスト・デバイスの外では外部には見えない仮想ローカル・ネットワークを通じてより効率的にVM間通信ができるようにするなどである。
図1は、VMが事前の予告なしに任意にサスペンド、破棄その他の方法で利用不能になることを許容しつつUDDIのような従来型のレジストリ環境へのVMの統合をサポートする例となるシステム100の図解である。示されているのは一つまたは複数のVM104のホストとなるデバイス102、それにサーバー、ワークステーション、モバイル機器、PDAなどのような従来型のネットワーク利用可能デバイス106〜108、そしてローカル・レジストリ110である。デバイス102、106〜110はマイクロソフト社のUDDIサーバーのようなグローバル・レジストリ112とネットワーク114によって通信可能な形で結合されている。前記ローカル・レジストリは他のネットワーク・デバイスとは別個のものとして示されているものの、物理的か仮想かを問わずネットワーク・デバイスの一つに組み込まれていることもできる。たとえば、図2のデバイス200参照。
さらに、ローカル・レジストリ110とグローバル・レジストリ112に加え、公共ネットワークおよび非公開ネットワークのあちこちにほかにも多くのレジストリ(図示せず)があって、それぞれがローカル・デバイスもしくはリモート・デバイスまたはその両方のためにサービス登録データを保存していてもよい。このような複数のレジストリは、あるレジストリに登録すればその後別のレジストリから登録データが取得できるよう、同期が保たれていてもよい。あるいはまた、ローカル・レジストリ110のような一部のレジストリは、その登録情報の一部または全部をグローバル・レジストリ112のような他のレジストリに対して非公開にしておくことを選択してもよい。たとえば、通信路116がイントラネットのような非公開なローカル・ネットワークであってネットワーク114によっては一般にはアクセスできないものとすると、該ローカル・ネットワーク上のデバイスが主として一過性のデバイスであることが知られていれば、そのようなデバイスの登録情報のローカル・レジストリ110への登録を制限して、一過性の登録情報を前記グローバル・レジストリ112まで不必要に伝搬させないようにすることは助けとなりうる。非公開ネットワークはしばしば、そのネットワーク・ドメインの外のエンティティに公開されたり、アクセスされたりするべきではない非公開サービスのホストともなっていることであろう。これは多くの企業やSOHO(small office,home office)のネットワークについてあてはまる。
ある実施形態では、一つまたは複数のレジストリが連合して単一のローカル・レジストリとして動作しうる。そのような場合、一部のレジストリ項目は効率目的などのために重複して持たれる一方、一つのレジストリにのみ存在する項目もある。たとえば重複項目は、ネットワーク上で持続する頻繁に使われるサービスに対応するもので、一過性の、あるいはたまにしか用いられないサービスは特定のレジストリのみに存在するなどである。
図2は図1のデバイス102の例としての実施形態200の図解である。図に示されているように、該デバイスはOS(オペレーティング・システム)202を有しており、該デバイスは、該デバイスの仮想マシン(VM)206〜210の提供するサービスもしくは所望するサービスまたはその両方の登録情報を保存するための動的に更新可能なレジストリ204を有しうる。VMはハードウェア、ソフトウェア、あるいは両者の何らかの組み合わせによって実装しうる。VMは他のネットワーク・デバイスにはネットワーク上にある物理的なデバイスのように見える。従来型のVM環境の場合と同様、VMは、ホスト・デバイス102のハードウェアおよびOS202へのフック222を有するVMM(Virtual Machine ManagerまたはVirtual Machine Monitor)218と関連して動作する。たとえば、VMMは何らかのホストOSのサービスを利用することもできる。各VMもOSを持っていてもよい(図示せず)。
本明細書および特許請求の範囲において使われる「フック」という用語は受動または能動インターフェース(たとえば、ポーリングされたAPI、メモリ位置またはサブルーチン・コールバック)、通知、メッセージ、割り込み、そしてその関連するハンドラなどのような機構をいう。これらのそれぞれは全体的なシステム設計に重要な重点の置き方が違っているが、当業者であれば組み込むことができるであろう。たとえば、VMMがVMを破棄するとき、レジストリ・エージェントにそのVMに関連付けられているすべてのサービス項目を除去するか利用不能とマークするよう通知する。これはしばしばそのVMのIPアドレスやホスト名でありうる。
従来型のデバイスの場合と同様、図示されているVM206〜210は、ウェブ・サービスのようなサービスを提供する、ソフトウェア・サーバーまたはその他のハードウェアもしくはソフトウェア・コンポーネントを含みうる。前記VMはまた、それ自身が所望するサービスや他のVMが所望するサービスを有しうる。これらの提供されるサービスもしくは所望されるサービスまたはその両方はまとめてサービス212〜216として識別される。これらのサービスは従来より、たとえばUDDIプロトコルに従って、内部レジストリ204またはその他のレジストリ、たとえば図1の要素110、112に登録される。VM中のサーバーは同じサービスの(たとえば、ホストが、何らかの仕方でパフォーマンスを「スライスする」のにVM技術を使っているサーバーである場合)あるいは異なる諸サービスの(たとえば、ホストが、所望するサービスをそれぞれ実行している異なるユーザーにVM環境を提供する場合)複数のインスタンスを提供することができる。ホスト102自身によって提供されるウェブ・サービスのセットもあってもよい。
ホスト102も、VM206〜210も、サービスやリソースの公開、発見ならびに提供もしくは利用またはその両方を望みうることは理解されるであろう。動的に更新されるレジストリ204は登録情報を集計しており、サービス/リソースの生産者と消費者の間をとりもつ役割をする。ホストOSは図ではレジストリのホストであるかのように示されているが、ある実施形態ではVMがホストOSと連絡を取りつつもその外でレジストリのホストとなる。それによりホストOSを万一のレジストリの不安定から隔離しているのである。レジストリは、たとえば図1のローカル・レジストリ110を使うことによって、当該デバイスの外に維持してもよい。所望されたサービスは、内部レジストリ204、ローカル・レジストリまたはグローバル・レジストリ112中の同定登録情報を通じて満たされうる。VMは優れた隔離容器であるから、いくつかの複雑なアプリケーションが複数のVMにまたがって分配され、そのそれぞれが別個のマシンがするように協力しつつプロジェクトを分担しうる。内部レジストリ204またはローカル・レジストリ110は、障害検出、フェイルオーバー、負荷分散などのようなさまざまな恩恵を提供するよう構成しうることは理解されるであろう。よって、レジストリはそのようなサービスを複数のVMにまたがって提供しうる。
当業界では理解されているように、VMはVMM218と共同で動作する。VMMはデバイス・ハードウェア220の上で動作し、VMによるその物理的デバイス・ハードウェアへのアクセスを制御・調停する。図示した実施形態では、VMMはまたVMのホストOS202のリソースへのアクセスも制御する。VMMはVM206〜210の完全な孤立化を許容するようにも、VMの一部または全部の間でデータ共有を許容するようにも、所望されるセキュリティ方針に応じて構成できる。VMMの実装には、ホスト上でのソフトウェアで、ハードウェアで、あるいはその組み合わせで行うことを含み、さまざまな方法があることは理解されるであろう。たとえば、VMMはアプリケーションおよびデバイス・ドライバなどとして(たとえば、カリフォルニアのVMware社によるVMWare)、OS202の一部として、あるいはチップセットもしくはマイクロプロセッサの一部として実装しうる。
従来型のVMMとは対照的に、図示した実施形態では、VMM218はVMの状態を監視し、監視で得られた情報に基づいてVMサービス212〜216の登録および登録解除をさせるよう、自動的にレジストリへの通知を発するように構成されている(たとえば図5参照)。内部レジストリ204またはローカル・レジストリ110は、VMまたはVMMからVMへのプロトコル(たとえばVM状態遷移)についてのVMM状態を監視して適切なレジストリ更新を決定することを通じて動的なものとされる。ある実施形態では、VMM218は少なくともVM生成、破棄、サスペンド要求ならびにレジストリ公開・登録解除要求(たとえばUDDI要求)を監視して、VM状態の変化によってレジストリ登録情報が影響を受けているVMを同定する。ある実施形態では、OSフック222が、公開・登録解除要求に関係するOSコールを監視し、レジストリ登録情報の変化を実装するために用いられる。OS202およびレジストリ204はサービスの登録または登録解除を求めるVMMによる通知に応ずるものと想定される。さらなる実施形態(図示せず)では、VM自身が他のVM(サブVM)のホストとなり、そのサブVMによって提供または所望されるサービスやリソースを公開しうる。そのような実施形態は入れ子状のVMを何階層でも含むことができる。
VM状態変化に基づいて登録情報を自動的に処理できるようにすることによって、たとえばVMの移行が容易になる。VMおよびその内容がファイルシステムまたはネットワークに向けてシリアライズされ、それからおそらくは異なる物理ホストまたはリモート位置にある別の物理ホストの上で改めてインスタンス生成される。サスペンドが起こると、VMの登録情報は自動的に登録解除され、再開されたときにその登録情報が自動的に改めて登録される。
図2は、VMがホストOS202のリソースを利用することを想定しているものの、図3、4、5はそれに代わる実施例を示すものである。
図3は、ホストが特定のOSを持たず、代わりに各VM302〜308がVMおよびそれ自身のOS318〜324によって所望または提供されるサービス310〜316を有している、VM/VMMの実施例を示している。それぞれのOSは同じでも、類似でも、互いに異なるものでもよい。この実施形態では、VMMはホスト・デバイスのハードウェア328の上で動作し、このVMMがホスト・デバイスのハードウェアへの各VMおよびそのOSのアクセスを管理する。
この実施形態では、VMM326とさまざまなVMのOS318〜324(またはサービス・モジュール310〜316)との間のフックによって、VMMは、VM302〜308によって提供されるサービスもしくは所望されるサービスまたはその両方310〜316の登録情報を監視することが可能になる。動的なレジストリは、たとえば上で図2との関連で議論したように、この監視に基づいて実装されうる。
図4はもう一つの実施例400を示している。ここでは、図3の場合と同様、ホストは特定のOSを持たず、その代わりに別個のVM402〜408があって、それぞれのVMがそのVMによって所望または提供されるサービス410〜416を持っており、それぞれのVMが自前のOS418〜424を持っている。
この実施例では、「薄っぺらな」VMM426がホスト・デバイスのハードウェア428の上で動作しており、これがハードウェアへのVMのアクセスを管理している。薄っぺらなVMMを持つことは、効率、信頼性、検証可能性のために望ましいことでありうる。VM、OSをホストとするドライバ、または関連する管理ハードウェア(たとえば差し込み基板、コンピュータ、プロセッサなど)に存在しうる管理パーティションは、VMMと特別な関係、パーミッションまたはインターフェースを持つ。管理パーティションはVMの状態についての情報をVMMから得、レジストリに通知するために適切な行動をとる。管理パーティションはVMMと共同して該VMMを開始し、停止し、補給する権限を有しているものと想定されている。
VMMが単純であるほど、実装時の誤りが生じ、複数のVMにまたがって間欠的に起こりうる同定困難な問題につながる可能性が少なくなる。こうして、VMMは管理パーティション430を通じてある種の動作の負担を減らしたり、改善したりしうるのである。管理パーティションはたとえばより複雑な方針を実装してもよい。その際、サービス・レジストリ更新を行うのに必要な情報はVMMが管理パーティションに提供できる。ベースとなる機構(検出器、トリガーなど)はVMM内にあり、行動するためのコードは管理パーティション内にあるのである。簡素なVMMのさらなる恩恵は、頻繁な更新が起こる可能性が減るため、VMMをハードウェアで実装することがより容易にできることである。
図3の場合と同様、この実施形態でも、管理パーティション430とさまざまなVMのOS418〜424との間のフックによって、管理パーティションは、薄っぺらなVMM426と共同して、VM402〜408によって提供されるサービスもしくは所望されるサービスまたはその両方410〜416の登録情報を監視できる。動的なレジストリは、たとえば上で図2との関連で議論したように、この監視に基づいて実装されうる。
図5は、図2の実施形態に基づいて動作するVMMによって実行される動作の例としてのフローチャートを示している。
ある実施形態では、VMMはVMの状態に関係するイベントを監視する(500)。VMMは、所与のVMのグローバルな実行状態、ならびに、あるデバイスの物理的および仮想(たとえばエミュレートされた)リソースおよびサービスへのそのVMのアクセスを直接制御する。前記の監視がホストまたはVMのOSまたはそれ以外の場所のコンポーネントによって補強されたり実行されたりすることも可能であることは理解されるであろう。この図示された実施形態では、VMMはインスタンス生成502、破棄514、サスペンド506、VMの動作状態の変化を示すその他のイベント512を監視している。たとえば、VMMがあるVMのインスタンスを生成したとすると(502)、VMMはそのVMによって提供、所望されるあらゆるサービスをログに記録する(504)。すなわち、VMのインスタンスが生成されるときには、そのVMはウェブ・サービス・サーバーを開始し、次いで提供・所望されるサービスを図2の内部レジストリ204のようなレジストリに登録するのである。記録された(504)サービスは、VMMがVMが利用不能であることを検出したときに、適正にサービスをレジストリから登録解除するために使用される。
ある実施形態では、VMが利用不能であることの検出は、仮想マシンに残り有効期間を関連付けることによって達成されうる。残り有効期間はレジストリによって維持してもよい。前記仮想マシンまたはその中のサービス・プロバイダによる通信が監視される。残り有効期間内に仮想マシンまたはその中のサービス・プロバイダが通信を行わなければ、仮想マシンのサービスおよびリソースがレジストリから自動的に登録解除される。残り有効期間内にレジストリが前記仮想マシンから通信を受け取れば、それに反応して前記残り有効期間がリセットされる。
たとえば、UDDIの場合では、公告要求は監視され、ログに記録されうる。監視は、透明な形でネットワーク・トラフィックを見張り、UDDI公告要求を同定することでよい。VMMは、物理ネットワーク構成ならびにVMによって使われるあらゆる仮想のデバイス上ネットワークについて、これらのネットワーク・リソースへのアクセスの交通整理をするので、観察機能および制御機能を持っている。あるいはまた、ウェブ・サービスその他のサーバーが直接監視者、たとえばVMMに通知するよう構成されていてもよいし、あるいはミドルウェア(たとえば.NETまたはJava(登録商標)クラス)がサービス可用性を公告するよう呼び出されたときに監視者に通知するよう構成されていてもよいし、あるいは監視者が既知のVMによって提供されるサービスがないかどうか定期的にレジストリをポーリングしてもよいし、監視者が公告要求を追跡できなくてもその代わりにVMの不作動(サスペンドまたは破棄)に際してレジストリに「そのVMによって公告されているあらゆるサービス」を削除するよう言いつけてもよい。
このように、VMMが、サスペンド・イベントまたはVMがスリープ状態になるとかスワップによりメモリから出されるなどといったVMを利用不能にする他の何らかのイベントを検出した(506、512)場合には、その結果としてVMMがレジストリにそのVMによって提供されるサービスを削除するよう通知する(508)ことがありうる。そのようにしてレジストリに挙げられているサービスの一覧が最新であり、決して無効でないように保つのである。ある実施形態では、VMを登録解除する前に、VMMがまずVM登録情報を保持するフラグが立っているかどうかを調べる(510)よう構成されていてもよい。すなわち、VMが利用不能に見えた場合でも一部の一過性デバイスの登録情報はレジストリ中に残ることができるようにしたほうが望ましい場合があるのである。たとえば、VMはそのサービスが要求されるまでサスペンド状態に保持しておくことができる。サスペンド状態にあるVMはメモリ中にあってもよいし、図6の記憶装置608のような非揮発性記憶装置に記憶されていてもよい。そのような場合、たとえばVMが破棄されるのでない限りその登録情報を維持することが望ましい。
VMMが破棄イベントを検出(514)した場合には、図示されている実施形態では、破棄されたVMに関連付けられた登録情報は今や無効であると想定される。よって、VMMはレジストリにそのVMのサービスを登録解除するよう通知する(508)。しかしながら、登録情報保留状態と同じように、破棄されたVMの登録情報が保持されるように、VM登録情報にある状態を関連付けることもできる。もし登録情報が保持されようとしていないか、あるいは破棄イベントが検出(514)されていなければ、処理は仮想マシンの監視(500)を続けることができる。
上記は、レジストリがデバイス内部のものであろうと図1のローカル・レジストリ110のようなローカル・レジストリであろうと、VMのサービスの登録解除はVMMがレジストリに指示するよう構成されていることを想定していたが、監視が厳密にVMM単独でではなく、VMMと協働するレジストリ自身またはOSのコンポーネントによって実行されてもよいことに注意しておく。たとえば、VMMがレジストリに通知するのではなく、ローカル・レジストリがVMM(または管理モジュールのようなVMMのエージェント)と一緒に監視/通信し、それに従って自らを更新することもできる。レジストリ204のような内部レジストリについては、レジストリ204がフック222を使ってVMMを監視したり問い合わせをしたりすることによってVM状態を追跡してもよい。ローカル・レジストリ110のような外部のレジストリについては、ある実施形態ではホスト・デバイス(または仮想マシン)上にソフトウェアがあってVMによって発される公告/削除メッセージを監視し、VMMと対話してVMの動作状態を決定するのでもよい。この場合、前記ソフトウェアがレジストリにしかるべく自らを更新するよう通知する。
図6および下記の議論は、解説されている本発明のある側面を実装しうる好適な環境について、簡単な一般的説明を与えることを意図したものである。
以下で使われる「ホスト・マシン」の語句は単一のマシンまたは通信可能な形で結合された複数のマシンもしくはデバイスが共同して動作するシステムを広く包摂することを意図している。例としてのホスト・マシンには、図1の物理的デバイス102、106〜110ならびにパソコン、ワークステーション、サーバーなどがある。ホスト・マシンのハードウェアは、仮想マシン104、206〜210、302〜308、402〜408によって、VMMもしくはVM管理モジュールまたはその両方の動作および方針に従ってアクセス可能である。
典型的には、ホスト・マシン600はシステム・バス602を有し、これにプロセッサ604、メモリ606(たとえばランダム・アクセス・メモリ[RAM]、読み出し専用メモリ[ROM]またはその他の状態保存媒体)、記憶装置608、ビデオ・インターフェース610そして入出力インターフェース・ポート612が接続されている。ホスト・マシンやその仮想マシンは、少なくとも部分的にはキーボード、マウスなどのような従来型の入力装置からの入力によって、また他のマシンから受け取る指令、バーチャル・リアリティ(VR)環境との相互作用、バイオメトリック・フィードバックその他の入力源もしくは信号によって、制御されうる。
ホスト・マシンは、プログラム可能またはプログラム可能でない論理素子または論理アレイ、カスタムIC(Application Specific Integrated Circuits)、組み込みマイコン、ICカードなどのような組み込みコントローラを含みうる。ホスト・マシンや仮想マシンは、ネットワーク・インターフェース618、モデム620その他の通信可能な結合を通じて一つまたは複数のリモート・マシン614、616への一つまたは複数の接続を利用していてもよい。複数のホスト・マシンやその仮想マシンが図1のネットワーク114のような物理ネットワークや論理ネットワーク622によって相互接続されていてもよい。そうしたネットワークには、イントラネット、インターネット、ローカル・エリア・ネットワーク、広域ネットワークなどが含まれうる。当業者には、ネットワーク622との通信にはさまざまな有線や無線の短距離または長距離の媒体およびプロトコルを利用することが可能で、無線周波(RF)、衛星、マイクロ波、IEEE(IEEE:Institute of Electrical and Electronics Engineers[アメリカ電気電子通信学会])802.11、ブルートゥース、光、赤外、ケーブル、レーザーなどが含まれることが理解できるであろう。
本発明は付随するデータを参照することによって、あるいはそれとの関連で記述することもできる。前記付随するデータは、関数、手続き、データ構造、アプリケーション・プログラムなど、ホスト・マシン600やその仮想マシンによってアクセスされたときに、該ホスト・マシンやその仮想マシンがタスクを実行したり抽象データ型もしくは低レベルのハードウェア環境を定義したりする結果を起こすものである。付随するデータは、たとえば、揮発性メモリや不揮発性メモリ606に、あるいは記憶装置608およびその付随する記憶媒体に保存されうる。前記記憶媒体にはハードディスク、フロッピー(登録商標)ディスク、光記憶媒体、テープ、フラッシュメモリ、メモリースティック、デジタルビデオディスク、生体記憶媒体などが含まれる。付随するデータは、ネットワーク622を含む伝送環境を通じて、パケット、シリアル・データ、パラレル・データ、伝搬信号などの形で届けられることができ、圧縮または暗号化されたフォーマットで使われることもある。付随するデータは分散環境において使われることもでき、単一プロセッサまたはマルチプロセッサのマシンによってアクセスするために、ローカルに、あるいはリモートに、あるいはその両方に保存されうる。
このように、たとえば図示した実施形態との関連でホスト・マシン600が図2の仮想マシン206〜210の登録情報を保存する図2の動的なレジストリを具体化したものであると想定すると、リモート・マシン614はホスト・マシンやその仮想マシンによって利用されうるリソースを提供するサーバー、表示装置、プリンタなどでありうる。その一方、リモート・マシン616のほうは仮想マシン206〜210の一つによって提供されているサービスを求めているデバイスでありうる。リモート・マシン614、616はマシン600またはその仮想マシンについて議論した要素の多くまたは全部を含みうること、一過性のデバイスも永続的なデバイスも他者のサービスやリソースの公開、発見ならびに提供/利用を望みうることは理解されるであろう。動的に更新されるレジストリはサービス/リソースを集計し、生産者と消費者の間をとりもつために使用されうる。
本発明の原理を解説用の実施形態を参照しつつ記述し、例解してきたが、解説されている実施形態はそのような原則から外れることなく構成および詳細において修正しうることは認識されるであろう。そして、これまでの議論は特定の実施形態に焦点を当ててきたものの、他の構成も考えられる。特に、「ある実施形態では」「別の実施形態では」などの表現がここでは使われているが、これらの語句は一般的に実施形態の可能性を言うことを意図したものであり、特定の実施形態の構成に本発明を限定することを意図したものではない。ここでの用法では、これらの言葉は同じ実施形態を指すこともあれば異なる実施形態を指すこともあり、それらは組み合わせて他の実施形態とすることもできるものである。
したがって、ここで記載された実施形態の実に多様な入れ替えに鑑みて、この詳細な記載は解説のためのみを意図したものであり、本発明の範囲を限定するものと解してはならない。したがって、本発明としての請求は、特許請求の範囲と精神およびその等価物の範囲内にはいりうるあらゆるそのような修正を含むものである。
VMが事前の予告なしに任意に中断または破棄されることを許容しつつ従来型のレジストリ環境へのVMの統合をサポートする例となるシステムの図解である。 図1のデバイス102の実施例の図解である。 図1のデバイス102の別の実施例の図解である。 図1のデバイス102の別の実施例の図解である。 VMの状態に基づいてVMサービスを自動的に登録したり登録解除したりするための例としてのフローチャートである。 本発明のある諸側面を実装しうる好適な計算機環境の図解である。
符号の説明
104 仮想マシン
106 デバイス
108 デバイス
112 グローバル・レジストリ
110 ローカル・レジストリ
114 ネットワーク
202 OS
204 レジストリ
206 仮想マシン(VM)
208 仮想マシン
210 仮想マシン
212 提供・所望するサービス
214 提供・所望するサービス
216 提供・所望するサービス
218 仮想マシン・モニタ/マネージャ(VMM)
220 デバイス・ハードウェア
302 仮想マシン(VM)
304 仮想マシン(VM)
306 仮想マシン
308 仮想マシン
310 提供・所望するサービス
312 提供・所望するサービス
314 提供・所望するサービス
316 提供・所望するサービス
318 VM OS
320 VM OS
322 VM OS
324 VM OS
326 仮想マシン・モニタ/マネージャ(VMM)
328 デバイス・ハードウェア
402 VM
404 VM
406 VM
408 VM
410 提供・所望するサービス
412 提供・所望するサービス
414 提供・所望するサービス
416 提供・所望するサービス
418 VM OS
420 VM OS
422 VM OS
424 VM OS
426 薄っぺらなVMM
428 デバイス・ハードウェア
430 VM管理パーティション
500 仮想マシン(VM)を監視
502 インスタンス生成?
504 提供・所望するサービスを記録
506 中断?
508 レジストリに提供・所望するサービスの登録解除を通知
510 登録情報を保持?
512 他に利用不能のものは?
514 破棄?
604 プロセッサ
606 メモリ
608 記憶装置
610 ビデオ・インターフェース
612 入出力ポート
618 ネットワーク・インターフェース
620 モデム
622 ネットワーク
614 リモートのマシン
616 リモートのマシン

Claims (21)

  1. サービスまたはリソースを公開する登録者のための検索可能なあるレジストリに仮想マシンのサービスまたはリソースを登録する方法であって:
    仮想マシンのインスタンス生成を監視し、
    前記仮想マシンによって公開されるサービスまたはリソースを決定し、
    前記仮想マシンのサービスまたはリソースを自動的に前記レジストリに登録し、該登録が前記公開されるサービスまたはリソースを識別する仮想マシンについての登録情報を生成することを含むものであることを特徴とする方法。
  2. 前記仮想マシンが利用不能になったときに前記レジストリから前記仮想マシンのサービスまたはリソースを自動的に登録解除する、
    ことをさらに有することを特徴とする、請求項1記載の方法。
  3. 前記仮想マシンに該仮想マシンが利用不能であることを示す動作状態の変化がないかどうかを監視し、
    前記の動作状態の変化に反応して自動的に記レジストリから前記仮想マシンのサービスまたはリソースの登録解除を実行する、
    ことをさらに有することを特徴とする、請求項2記載の方法。
  4. 前記の動作状態の変化が前記仮想マシンがサスペンドまたは破棄されるといううちから選択された一つであることを特徴とする、請求項3記載の方法。
  5. 仮想マシン残り有効期間を関連付け、
    前記仮想マシンまたはその中のサービス・プロバイダによる通信を監視し、
    前記残り有効期間内に前記の仮想マシンまたはその中のサービス・プロバイダが通信を行わなければ、自動的に前記レジストリから前記仮想マシンのサービスおよびリソースを登録解除する、
    ことをさらに有することを特徴とする、請求項1記載の方法。
  6. 請求項5記載の方法であって、前記残り有効期間がレジストリによって維持されており、
    レジストリが前記仮想マシンから通信を受け取り、前記残り有効期間をリセットすることでそれに反応することをさらに有することを特徴とする方法。
  7. 前記レジストリおよび前記仮想マシンを単一のデバイス内に配する、
    ことをさらに有することを特徴とする、請求項1記載の方法。
  8. 前記単一のデバイスが管理パーティションと、仮想マシン・モニタと、前記管理パーティションが前記仮想マシン・モニタに該仮想マシンの動作状態についての問い合わせを発することができるようにするフックとを有することを特徴とする、請求項7記載の方法。
  9. 前記レジストリおよび前記仮想マシンを、OSと、仮想マシン・モニタと、前記OSが前記仮想マシン・モニタに該仮想マシンの動作状態についての問い合わせを発することができるようにする通信フックとを有する単一のデバイス内に配する、
    ことをさらに有することを特徴とする、請求項1記載の方法。
  10. 前記レジストリおよび前記仮想マシンを、OSと、仮想マシン・モニタと、前記OSが前記仮想マシン・モニタによって該仮想マシンの動作状態について通知を受けることができるようにする通信フックとを有する単一のデバイス内に配する、
    ことをさらに有することを特徴とする、請求項1記載の方法。
  11. 前記レジストリおよび前記仮想マシンを、ホストOSと、仮想マシン・モニタと、前記仮想マシンが前記ホストOSに前記仮想マシンによって前記レジストリに登録されているサービスについての問い合わせを発することができるようにする通信フックとを有する単一のデバイス内に配し、
    前記仮想デバイスのインスタンス生成後に前記仮想マシンによって前記レジストリに登録されたサービスを前記仮想マシン・モニタによって記録し、
    前記仮想マシンが利用不能であることを前記仮想マシン・モニタによって決定し、
    前記ホストOSに前記仮想マシンのサービスおよびリソースを登録解除するよう通知する、
    ことをさらに有することを特徴とする、請求項1記載の方法。
  12. 記レジストリから前記仮想マシンのサービスまたはリソースを登録解除し、
    前記仮想マシンを新しいホスト・デバイスに移行させ
    記レジストリに前記新しいホスト・デバイスに関連しての前記仮想マシンのサービスまたはリソースを改めて登録する、
    ことをさらに有することを特徴とする、請求項1記載の方法。
  13. レジストリをその内に配されて有する第一のデバイスと、
    前記レジストリに登録すべきサービスまたはリソースを公開するよう動作する第一の仮想マシンおよび前記仮想マシンが利用不能な場合に前記仮想マシンのサービスおよびリソースを登録解除するよう前記レジストリに通知するよう構成されている仮想マシン・モニタとを内に配されて有する第二のデバイス、
    とを有することを特徴とするシステム。
  14. サスペンドまたは破棄されたときには前記仮想マシンが利用不能であることを特徴とする、請求項13記載のシステム。
  15. レジストリ、第一の仮想マシンおよび第一の仮想マシン・モニタを内に配されて有する第一のデバイスと、
    第二の仮想マシンおよび第二の仮想マシン・モニタを内に配されて有する第二のデバイスとを有し、
    前記第一および前記第二の仮想マシンが前記レジストリに登録するためにサービスまたはリソースを公開するよう動作し、前記第一および第二の仮想マシン・モニタがそれぞれ第一または第二の仮想マシンが利用不能となった場合に当該仮想マシンのサービスおよびリソースを登録解除するよう前記レジストリに通知するよう動作することを特徴とする、システム。
  16. 前記第一および第二の仮想マシンがその仮想マシン・モニタによってサスペンドまたは破棄されたときに利用不能と見なされることを特徴とする、請求項15記載のシステム。
  17. 付随するデータを有する機械アクセス可能媒体を有するデバイスであって、前記データはアクセスされたときにマシンが:
    仮想マシンのインスタンス生成を監視し、
    前記仮想マシンによって公開されるサービスまたはリソースを決定し、
    前記仮想マシンのサービスまたはリソースを自動的に前記レジストリに登録し、該登録が前記公開されるサービスまたはリソースを識別する仮想マシンについての登録情報を生成することを含むようにすることを実行する結果を生じることを特徴とするデバイス
  18. 請求項17記載のデバイスであって、前記機械アクセス可能媒体が、アクセスされたときに前記マシンが:
    前記仮想マシンが利用不能になったときに前記レジストリから前記仮想マシンのサービスまたはリソースを自動的に登録解除する、
    ことを実行する結果を生じるデータをさらに含むことを特徴とするデバイス
  19. 請求項17記載のデバイスであって、前記機械アクセス可能媒体が、アクセスされたときに前記マシンが:
    前記仮想マシンに該仮想マシンが利用不能であることを示す動作状態の変化がないかどうかを監視し、
    前記の動作状態の変化に反応して自動的に前記レジストリから前記仮想マシンのサービスまたはリソースの登録解除を実行する、
    ことを実行する結果を生じるデータをさらに含むことを特徴とするデバイス
  20. 前記の動作状態の変化が前記仮想マシンがサスペンドまたは破棄されるといううちから選択された一つであることを特徴とする、請求項19記載のデバイス
  21. 請求項17記載のデバイスであって、前記機械アクセス可能媒体が、アクセスされたときに前記マシンが:
    仮想マシン残り有効期間を関連付け、
    前記仮想マシンによる通信を監視し、
    前記残り有効期間内に前記の仮想マシンが通信を行わなければ、自動的に前記レジストリから前記仮想マシンのサービスまたはリソースを登録解除する、
    ことを実行する結果を生じるデータをさらに含むことを特徴とするデバイス
JP2005518881A 2003-03-21 2004-02-25 仮想マシンのための動的なサービス・レジストリ Expired - Fee Related JP4137124B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/393,810 US7962545B2 (en) 2002-12-27 2003-03-21 Dynamic service registry for virtual machines
PCT/US2004/005662 WO2004095272A1 (en) 2003-03-21 2004-02-25 Dynamic service registry for virtual machines

Publications (2)

Publication Number Publication Date
JP2006519423A JP2006519423A (ja) 2006-08-24
JP4137124B2 true JP4137124B2 (ja) 2008-08-20

Family

ID=33309430

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005518881A Expired - Fee Related JP4137124B2 (ja) 2003-03-21 2004-02-25 仮想マシンのための動的なサービス・レジストリ

Country Status (8)

Country Link
US (1) US7962545B2 (ja)
JP (1) JP4137124B2 (ja)
KR (1) KR100817641B1 (ja)
CN (1) CN1761944B (ja)
DE (1) DE112004000200T5 (ja)
GB (1) GB2414580B (ja)
TW (1) TWI258287B (ja)
WO (1) WO2004095272A1 (ja)

Families Citing this family (184)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US7966078B2 (en) 1999-02-01 2011-06-21 Steven Hoffberg Network media appliance system and method
US7631196B2 (en) 2002-02-25 2009-12-08 Intel Corporation Method and apparatus for loading a trustable operating system
US9177337B2 (en) * 2003-04-16 2015-11-03 Eileen Chu Hing Methods and systems for providing a customized network
US10069808B2 (en) 2003-04-16 2018-09-04 Eileen Chu Hing Methods and systems for providing a customized network
US7316019B2 (en) * 2003-04-24 2008-01-01 International Business Machines Corporation Grouping resource allocation commands in a logically-partitioned system
US7415708B2 (en) * 2003-06-26 2008-08-19 Intel Corporation Virtual machine management using processor state information
US20050044408A1 (en) * 2003-08-18 2005-02-24 Bajikar Sundeep M. Low pin count docking architecture for a trusted platform
US8079034B2 (en) * 2003-09-15 2011-12-13 Intel Corporation Optimizing processor-managed resources based on the behavior of a virtual machine monitor
US7934020B1 (en) 2003-09-19 2011-04-26 Vmware, Inc. Managing network data transfers in a virtual computer system
US7913226B2 (en) * 2003-10-01 2011-03-22 Hewlett-Packard Development Company, L.P. Interposing a virtual machine monitor and devirtualizing computer hardware at runtime
US7793287B2 (en) * 2003-10-01 2010-09-07 Hewlett-Packard Development Company, L.P. Runtime virtualization and devirtualization of I/O devices by a virtual machine monitor
US20050132362A1 (en) * 2003-12-10 2005-06-16 Knauerhase Robert C. Virtual machine management using activity information
US8037314B2 (en) 2003-12-22 2011-10-11 Intel Corporation Replacing blinded authentication authority
US7457870B1 (en) * 2004-02-27 2008-11-25 Packeteer, Inc. Methods, apparatuses and systems facilitating classification of web services network traffic
US7774456B1 (en) * 2004-02-27 2010-08-10 Packeteer, Inc. Methods, apparatuses and systems facilitating classification of web services network traffic
WO2005089241A2 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing object triggers
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US8156490B2 (en) * 2004-05-08 2012-04-10 International Business Machines Corporation Dynamic migration of virtual machine computer programs upon satisfaction of conditions
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US7530064B2 (en) * 2004-09-21 2009-05-05 Hewlett-Packard Development Company, L.P. Method and apparatus for automated registry clean-up
US7620984B2 (en) * 2004-10-06 2009-11-17 Hewlett-Packard Development Company, L.P. Method of managing computer system
CA2586763C (en) 2004-11-08 2013-12-17 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US7685635B2 (en) * 2005-03-11 2010-03-23 Microsoft Corporation Systems and methods for multi-level intercept processing in a virtual machine environment
EP1866767B1 (en) 2005-03-16 2018-04-18 III Holdings 12, LLC Automatic workload transfer to an on-demand center
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
US7899788B2 (en) * 2005-04-01 2011-03-01 Microsoft Corporation Using a data protection server to backup and restore data on virtual servers
US20110258320A1 (en) * 2005-04-07 2011-10-20 Adaptive Computing Enterprises, Inc. Elastic management of compute resources between a web server and an on-demand compute environment
EP1872249B1 (en) 2005-04-07 2016-12-07 Adaptive Computing Enterprises, Inc. On-demand access to compute resources
US7363463B2 (en) * 2005-05-13 2008-04-22 Microsoft Corporation Method and system for caching address translations from multiple address spaces in virtual machines
KR100739715B1 (ko) * 2005-07-12 2007-07-13 삼성전자주식회사 웹서비스 정책 합의를 수행하는 장치 및 방법
WO2007011167A1 (en) * 2005-07-21 2007-01-25 Kyungpook National University Industry-Academic Cooperation Foundation Virtual storage system and method for searching file based on ad-hoc network
US8327353B2 (en) 2005-08-30 2012-12-04 Microsoft Corporation Hierarchical virtualization with a multi-level virtualization mechanism
CN100399274C (zh) * 2005-09-19 2008-07-02 联想(北京)有限公司 一种虚拟机系统输入/输出设备动态分配的方法及其设备
JP4839049B2 (ja) * 2005-09-20 2011-12-14 クラリオン株式会社 情報処理装置および表示画面制御方法
US8028295B2 (en) 2005-09-30 2011-09-27 Intel Corporation Apparatus, system, and method for persistent user-level thread
US20070079307A1 (en) * 2005-09-30 2007-04-05 Puneet Dhawan Virtual machine based network carriers
US8909946B2 (en) 2005-11-15 2014-12-09 Microsoft Corporation Efficient power management of a system with virtual machines
US7428582B2 (en) * 2005-12-29 2008-09-23 American Express Travel Related Services Company, Inc Semantic interface for publishing a web service to and discovering a web service from a web service registry
US7926054B2 (en) * 2006-03-03 2011-04-12 Novell, Inc. System, method, and computer-readable medium for virtual machine instantiation from an external peripheral device
US7840398B2 (en) * 2006-03-28 2010-11-23 Intel Corporation Techniques for unified management communication for virtualization systems
US8191062B2 (en) * 2006-03-31 2012-05-29 Intel Corporation System for processor frequency governors to govern a processor frequency by deriving CPU utilization information based on the state of virtual machine monitor
US7996834B2 (en) * 2006-04-14 2011-08-09 Microsoft Corporation Virtual machine self-service restrictions
US8286174B1 (en) 2006-04-17 2012-10-09 Vmware, Inc. Executing a multicomponent software application on a virtualized computer platform
US8161475B2 (en) * 2006-09-29 2012-04-17 Microsoft Corporation Automatic load and balancing for virtual machines to meet resource requirements
US8612971B1 (en) 2006-10-17 2013-12-17 Manageiq, Inc. Automatic optimization for virtual systems
US9086917B1 (en) 2006-10-17 2015-07-21 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US8949826B2 (en) * 2006-10-17 2015-02-03 Managelq, Inc. Control and management of virtual systems
US8949825B1 (en) 2006-10-17 2015-02-03 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US9015703B2 (en) 2006-10-17 2015-04-21 Manageiq, Inc. Enforcement of compliance policies in managed virtual systems
US8458695B2 (en) 2006-10-17 2013-06-04 Manageiq, Inc. Automatic optimization for virtual systems
US8234640B1 (en) 2006-10-17 2012-07-31 Manageiq, Inc. Compliance-based adaptations in managed virtual systems
US9038062B2 (en) * 2006-10-17 2015-05-19 Manageiq, Inc. Registering and accessing virtual systems for use in a managed system
US9697019B1 (en) 2006-10-17 2017-07-04 Manageiq, Inc. Adapt a virtual machine to comply with system enforced policies and derive an optimized variant of the adapted virtual machine
US8752045B2 (en) 2006-10-17 2014-06-10 Manageiq, Inc. Methods and apparatus for using tags to control and manage assets
US8234641B2 (en) * 2006-10-17 2012-07-31 Managelq, Inc. Compliance-based adaptations in managed virtual systems
US8185893B2 (en) * 2006-10-27 2012-05-22 Hewlett-Packard Development Company, L.P. Starting up at least one virtual machine in a physical machine by a load balancer
US8296760B2 (en) * 2006-10-27 2012-10-23 Hewlett-Packard Development Company, L.P. Migrating a virtual machine from a first physical machine in response to receiving a command to lower a power mode of the first physical machine
JP4947441B2 (ja) * 2006-11-02 2012-06-06 日本電気株式会社 マルチプロセッサシステム、マルチプロセッサシステムにおけるシステム構成方法及びそのプログラム
US20080114748A1 (en) * 2006-11-13 2008-05-15 Richard Varner Peer review system and method therefor
US8336046B2 (en) * 2006-12-29 2012-12-18 Intel Corporation Dynamic VM cloning on request from application based on mapping of virtual hardware configuration to the identified physical hardware resources
US9946982B2 (en) * 2007-02-28 2018-04-17 Red Hat, Inc. Web-based support subscriptions
CN101272295B (zh) * 2007-03-21 2012-01-25 联想(北京)有限公司 支持多投影源的虚拟网络投影系统及方法
US8219995B2 (en) * 2007-03-28 2012-07-10 International Business Machins Corporation Capturing hardware statistics for partitions to enable dispatching and scheduling efficiency
US8819673B1 (en) * 2007-05-24 2014-08-26 United Services Automobile Association (Usaa) Systems and methods for java virtual machine management
US8146098B2 (en) * 2007-09-07 2012-03-27 Manageiq, Inc. Method and apparatus for interfacing with a computer user via virtual thumbnails
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
JP4678396B2 (ja) * 2007-09-25 2011-04-27 日本電気株式会社 仮想マシンモニタをモニタするコンピュータとその方法、および仮想マシンモニタモニタプログラム
US8539098B2 (en) 2007-10-17 2013-09-17 Dispersive Networks, Inc. Multiplexed client server (MCS) communications and systems
US8560634B2 (en) 2007-10-17 2013-10-15 Dispersive Networks, Inc. Apparatus, systems and methods utilizing dispersive networking
US8127291B2 (en) * 2007-11-02 2012-02-28 Dell Products, L.P. Virtual machine manager for managing multiple virtual machine configurations in the scalable enterprise
US8418173B2 (en) 2007-11-27 2013-04-09 Manageiq, Inc. Locating an unauthorized virtual machine and bypassing locator code by adjusting a boot pointer of a managed virtual machine in authorized environment
US8407688B2 (en) * 2007-11-27 2013-03-26 Managelq, Inc. Methods and apparatus for storing and transmitting historical configuration data associated with information technology assets
JP5642338B2 (ja) * 2008-03-10 2014-12-17 富士通株式会社 ジョブ管理プログラムおよびジョブ管理方法
US8336099B2 (en) * 2008-05-08 2012-12-18 International Business Machines Corporation Methods, hardware products, and computer program products for implementing introspection data comparison utilizing hypervisor guest introspection data
JP4342595B1 (ja) * 2008-05-09 2009-10-14 株式会社東芝 情報処理装置、情報処理システム、および暗号化情報管理方法
US8935692B2 (en) * 2008-05-22 2015-01-13 Red Hat, Inc. Self-management of virtual machines in cloud-based networks
US8327355B2 (en) * 2008-07-15 2012-12-04 International Business Machines Corporation Method, computer program product, and hardware product for supporting virtual machine guest migration overcommit
JP4653230B2 (ja) * 2008-09-22 2011-03-16 株式会社エヌ・ティ・ティ・ドコモ Api検査装置及び状態監視装置
US8621485B2 (en) * 2008-10-07 2013-12-31 International Business Machines Corporation Data isolation in shared resource environments
JP4729611B2 (ja) * 2008-10-30 2011-07-20 株式会社エヌ・ティ・ティ・ドコモ イベントキュー管理装置及びイベントキュー管理方法
US20100115508A1 (en) * 2008-10-30 2010-05-06 Lenovo Plug-in architecture for hypervisor-based system
CN101436966B (zh) * 2008-12-23 2011-06-01 北京航空航天大学 虚拟机环境下的网络监控与分析系统
WO2010079772A1 (ja) * 2009-01-07 2010-07-15 日本電気株式会社 シンクライアントシステム、シンクライアント実施方法、及びシンクライアント用プログラム
US20100180092A1 (en) * 2009-01-09 2010-07-15 Vmware, Inc. Method and system of visualization of changes in entities and their relationships in a virtual datacenter through a log file
US8776090B2 (en) * 2009-02-17 2014-07-08 Broadcom Corporation Method and system for network abstraction and virtualization for a single operating system (OS)
JP5166318B2 (ja) * 2009-02-24 2013-03-21 株式会社東芝 情報を処理する装置、方法およびプログラム
US8826269B2 (en) * 2009-06-15 2014-09-02 Microsoft Corporation Annotating virtual application processes
US9210065B2 (en) * 2009-06-22 2015-12-08 Alcatel Lucent Providing cloud-based services using dynamic network virtualization
US8285672B2 (en) * 2009-10-29 2012-10-09 Oracle International Corporation Declarative federation of registries
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US9122537B2 (en) * 2009-10-30 2015-09-01 Cisco Technology, Inc. Balancing server load according to availability of physical resources based on the detection of out-of-sequence packets
US10268522B2 (en) 2009-11-30 2019-04-23 Red Hat, Inc. Service aggregation using graduated service levels in a cloud network
JP5708937B2 (ja) 2010-01-08 2015-04-30 日本電気株式会社 構成情報管理システム、構成情報管理方法、及び構成情報管理用プログラム
US8868987B2 (en) * 2010-02-05 2014-10-21 Tripwire, Inc. Systems and methods for visual correlation of log events, configuration changes and conditions producing alerts in a virtual infrastructure
US8566823B2 (en) 2010-02-05 2013-10-22 Tripwire, Inc. Systems and methods for triggering scripts based upon an alert within a virtual infrastructure
US8875129B2 (en) * 2010-02-05 2014-10-28 Tripwire, Inc. Systems and methods for monitoring and alerting events that virtual machine software produces in a virtual infrastructure
JP2011198299A (ja) * 2010-03-23 2011-10-06 Fujitsu Ltd プログラム、コンピュータ、通信装置および通信制御システム
US9104837B1 (en) 2012-06-18 2015-08-11 Bromium, Inc. Exposing subset of host file systems to restricted virtual machines based on upon performing user-initiated actions against host files
US9148428B1 (en) 2011-05-25 2015-09-29 Bromium, Inc. Seamless management of untrusted data using virtual machines
US9116733B2 (en) 2010-05-28 2015-08-25 Bromium, Inc. Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity
US10310696B1 (en) 2010-05-28 2019-06-04 Bromium, Inc. Supporting a consistent user interface within a virtualized environment
US9386021B1 (en) 2011-05-25 2016-07-05 Bromium, Inc. Restricting network access to untrusted virtual machines
US8972980B2 (en) * 2010-05-28 2015-03-03 Bromium, Inc. Automated provisioning of secure virtual execution environment using virtual machine templates based on requested activity
US9135038B1 (en) 2010-05-28 2015-09-15 Bromium, Inc. Mapping free memory pages maintained by a guest operating system to a shared zero page within a machine frame
US9767274B2 (en) 2011-11-22 2017-09-19 Bromium, Inc. Approaches for efficient physical to virtual disk conversion
US10095530B1 (en) 2010-05-28 2018-10-09 Bromium, Inc. Transferring control of potentially malicious bit sets to secure micro-virtual machine
US9354939B2 (en) * 2010-05-28 2016-05-31 Red Hat, Inc. Generating customized build options for cloud deployment matching usage profile against cloud infrastructure options
US9239909B2 (en) 2012-01-25 2016-01-19 Bromium, Inc. Approaches for protecting sensitive data within a guest operating system
US9558051B1 (en) 2010-05-28 2017-01-31 Bormium, Inc. Inter-process communication router within a virtualized environment
US8752047B2 (en) 2010-05-28 2014-06-10 Bromium, Inc. Automated management of virtual machines to process untrusted data based on client policy information
US8010993B1 (en) * 2010-07-14 2011-08-30 Domanicom Corp. Devices, systems, and methods for enabling reconfiguration of services supported by a network of devices
US8612646B2 (en) * 2010-07-14 2013-12-17 William G. Bartholomay Devices, systems, and methods for multiplexing one or more services at a customer premises
US8010992B1 (en) * 2010-07-14 2011-08-30 Domanicom Corp. Devices, systems, and methods for providing increased security when multiplexing one or more services at a customer premises
US8782434B1 (en) 2010-07-15 2014-07-15 The Research Foundation For The State University Of New York System and method for validating program execution at run-time
EP2609522A4 (en) * 2010-08-26 2014-10-29 Telcordia Tech Inc SYSTEM, METHOD AND PROGRAM FOR VIRTUALIZING AND MANAGING A TELECOMMUNICATIONS INFRASTRUCTURE
JP5417287B2 (ja) * 2010-09-06 2014-02-12 株式会社日立製作所 計算機システム、及び、計算機システムの制御方法
TWI537828B (zh) * 2010-12-21 2016-06-11 萬國商業機器公司 虛擬機管理的方法及其電腦系統之裝置和電腦程式
US8762780B2 (en) * 2010-12-23 2014-06-24 Mitel Networks Corporation Conducting an application-aware test in a virtual environment
US8910154B2 (en) * 2010-12-23 2014-12-09 Mitel Networks Corporation Obtaining diagnostic information in a virtual environment
US8955110B1 (en) 2011-01-14 2015-02-10 Robert W. Twitchell, Jr. IP jamming systems utilizing virtual dispersive networking
US8941659B1 (en) 2011-01-28 2015-01-27 Rescon Ltd Medical symptoms tracking apparatus, methods and systems
US8990823B2 (en) 2011-03-10 2015-03-24 International Business Machines Corporation Optimizing virtual machine synchronization for application software
US8713088B2 (en) * 2011-03-27 2014-04-29 Hewlett-Packard Development Company, L.P. Identifying users of remote sessions
US9921860B1 (en) 2011-05-25 2018-03-20 Bromium, Inc. Isolation of applications within a virtual machine
US8839245B1 (en) 2012-06-18 2014-09-16 Bromium, Inc. Transferring files using a virtualized application
US10846396B1 (en) 2011-05-25 2020-11-24 Hewlett-Packard Development Company, L.P. Downloading data in a dedicated virtual machine
US10546118B1 (en) 2011-05-25 2020-01-28 Hewlett-Packard Development Company, L.P. Using a profile to provide selective access to resources in performing file operations
US8843924B2 (en) 2011-06-17 2014-09-23 International Business Machines Corporation Identification of over-constrained virtual machines
US8966084B2 (en) 2011-06-17 2015-02-24 International Business Machines Corporation Virtual machine load balancing
US8949428B2 (en) 2011-06-17 2015-02-03 International Business Machines Corporation Virtual machine load balancing
DE102011107169A1 (de) * 2011-07-13 2013-01-17 Kuka Roboter Gmbh Steuerung eines Roboter
US20130055294A1 (en) * 2011-08-29 2013-02-28 Christopher Diebner Extensible framework which enables the management of disparately located heterogeneous systems requiring command and control, situational awareness, operations management and other specific capabilities
US9081594B1 (en) * 2011-09-30 2015-07-14 Emc Corporation Managing data storage systems in virtual systems based on storage awareness
EP2579175A1 (en) * 2011-10-03 2013-04-10 Gemalto SA Secure element comprising separated containers and corresponding method
TWI456502B (zh) * 2011-12-01 2014-10-11 Univ Tunghai 虛擬機叢集之動態資源分配方法
US9183015B2 (en) * 2011-12-19 2015-11-10 Vmware, Inc. Hibernate mechanism for virtualized java virtual machines
US9245108B1 (en) 2012-03-13 2016-01-26 Bromium, Inc. Dynamic adjustment of the file format to identify untrusted files
WO2013140522A1 (ja) 2012-03-19 2013-09-26 富士通株式会社 情報処理システム,情報処理方法,プログラム
US9195518B1 (en) * 2012-03-27 2015-11-24 Vmware, Inc. System and method for communicating production virtual machine access events to a service appliance in a virtualized environment
US9129124B2 (en) * 2012-04-12 2015-09-08 Hewlett-Packard Development Company, L.P. Dynamic provisioning of virtual systems
US9098578B2 (en) * 2012-04-17 2015-08-04 Red Hat Israel, Ltd. Interactive search monitoring in a virtual machine environment
US9727534B1 (en) 2012-06-18 2017-08-08 Bromium, Inc. Synchronizing cookie data using a virtualized browser
US9384026B1 (en) 2012-06-18 2016-07-05 Bromium, Inc. Sharing and injecting cookies into virtual machines for retrieving requested web pages
US10095662B1 (en) 2012-06-18 2018-10-09 Bromium, Inc. Synchronizing resources of a virtualized browser
US9201850B1 (en) 2012-06-18 2015-12-01 Bromium, Inc. Composing the display of a virtualized web browser
US11023088B2 (en) 2012-06-18 2021-06-01 Hewlett-Packard Development Company, L.P. Composing the display of a virtualized web browser
US9734131B1 (en) 2012-06-18 2017-08-15 Bromium, Inc. Synchronizing history data across a virtualized web browser
EP2693335A1 (en) * 2012-07-31 2014-02-05 Myriad Group AG Method and system for pseudo-virtualization of application running environment on a host server
US9063721B2 (en) 2012-09-14 2015-06-23 The Research Foundation For The State University Of New York Continuous run-time validation of program execution: a practical approach
US9069782B2 (en) 2012-10-01 2015-06-30 The Research Foundation For The State University Of New York System and method for security and privacy aware virtual machine checkpointing
US9170834B2 (en) 2012-10-31 2015-10-27 Google Inc. Metadata-based virtual machine configuration
KR101567879B1 (ko) * 2013-05-07 2015-11-20 건국대학교 산학협력단 가상머신 상태 진단 시스템
US9292328B2 (en) 2013-05-24 2016-03-22 Bromium, Inc. Management of supervisor mode execution protection (SMEP) by a hypervisor
US9811364B2 (en) * 2013-06-13 2017-11-07 Microsoft Technology Licensing, Llc Thread operation across virtualization contexts
US8769480B1 (en) * 2013-07-11 2014-07-01 Crossflow Systems, Inc. Integrated environment for developing information exchanges
EP3029904B1 (en) * 2013-08-28 2020-07-08 Huawei Technologies Co., Ltd. Data transmission processing method and apparatus
US10599565B2 (en) 2013-12-24 2020-03-24 Hewlett-Packard Development Company, L.P. Hypervisor managing memory addressed above four gigabytes
US9882787B2 (en) 2014-01-09 2018-01-30 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Service management in appliance-based solutions
US10430614B2 (en) 2014-01-31 2019-10-01 Bromium, Inc. Automatic initiation of execution analysis
US10042684B2 (en) * 2014-04-30 2018-08-07 Google Llc Software development kit platform
US9680873B1 (en) 2014-06-30 2017-06-13 Bromium, Inc. Trusted network detection
US9690609B2 (en) * 2014-07-15 2017-06-27 Ca, Inc. Provenance in cloud computing systems
US10311122B1 (en) 2014-08-22 2019-06-04 Bromium, Inc. On-demand unprotected mode access
US10228958B1 (en) * 2014-12-05 2019-03-12 Quest Software Inc. Systems and methods for archiving time-series data during high-demand intervals
KR101630088B1 (ko) * 2014-12-18 2016-06-13 한양대학교 산학협력단 가상머신의 라이프사이클 모니터링 방법 및 그 장치
US10341203B2 (en) * 2015-01-02 2019-07-02 Gigamon Inc. Policy tracking in a network that includes virtual devices
CN105991694B (zh) * 2015-02-05 2019-11-15 阿里巴巴集团控股有限公司 一种实现分布式服务调用的方法与设备
US9582298B2 (en) * 2015-03-20 2017-02-28 Amazon Technologies, Inc. Executing commands within virtual machine instances
CN106155812A (zh) 2015-04-28 2016-11-23 阿里巴巴集团控股有限公司 一种对虚拟主机的资源管理的方法、装置、系统及电子设备
US9785474B2 (en) * 2015-07-23 2017-10-10 International Business Machines Corporation Managing a shared pool of configurable computing resources using a set of scaling factors and a set of workload resource data
US10169086B2 (en) 2015-09-13 2019-01-01 International Business Machines Corporation Configuration management for a shared pool of configurable computing resources
US11061706B2 (en) 2017-01-06 2021-07-13 Cisco Technology, Inc. Method of tracking usage of virtual machines
EP3612972A4 (en) * 2017-04-18 2021-01-20 BankVault Pty Ltd VIRTUAL MACHINERY - COMPUTER-IMPLEMENTED SECURITY PROCEDURES AND SYSTEMS
TWI643129B (zh) * 2017-08-22 2018-12-01 廣積科技股份有限公司 融合運用系統架構
US10904330B2 (en) * 2018-07-10 2021-01-26 Vmware, Inc. Systems, methods and apparatus to manage services in distributed systems
CN109086122A (zh) * 2018-08-16 2018-12-25 郑州云海信息技术有限公司 一种虚拟机的监控方法、装置和存储介质
US10929205B2 (en) * 2018-10-29 2021-02-23 Lockheed Martin Corporation Triggered automated operations for spaceborne and airborne nodes
CN109726078B (zh) * 2018-12-28 2022-12-06 广东亿迅科技有限公司 一种无侵入jvm线程堆栈采集的方法及装置
US11275601B2 (en) * 2019-04-25 2022-03-15 EMC IP Holding Company LLC System and method for auto recovery of deleted virtual machines identified through comparison of virtual machine management application snapshots and having corresponding backups at a storage device
US20230101885A1 (en) * 2021-09-24 2023-03-30 Red Hat, Inc. Reliable device assignment for virtual machine based containers

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3657665B2 (ja) * 1995-02-14 2005-06-08 富士通株式会社 共用メモリに結合される複数の計算機システム及び共用メモリに結合される複数の計算機システムの制御方法
US6708171B1 (en) * 1996-04-23 2004-03-16 Sun Microsystems, Inc. Network proxy
US7127526B1 (en) * 2000-03-20 2006-10-24 Nortel Networks Limited Method and apparatus for dynamically loading and managing software services on a network device
US6922685B2 (en) * 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US7401131B2 (en) * 2000-05-22 2008-07-15 Verizon Business Global Llc Method and system for implementing improved containers in a global ecosystem of interrelated services
US7496637B2 (en) * 2000-05-31 2009-02-24 Oracle International Corp. Web service syndication system
US20030033443A1 (en) * 2001-03-01 2003-02-13 Nikolay Igotti Virtual machine integration application program interface
US7257815B2 (en) * 2001-09-05 2007-08-14 Microsoft Corporation Methods and system of managing concurrent access to multiple resources
US7213246B1 (en) * 2002-03-28 2007-05-01 Veritas Operating Corporation Failing over a virtual machine
JP2005063304A (ja) * 2003-08-19 2005-03-10 Nf Corp 関数発生装置

Also Published As

Publication number Publication date
TW200425693A (en) 2004-11-16
CN1761944B (zh) 2010-11-24
KR100817641B1 (ko) 2008-03-27
GB0513158D0 (en) 2005-08-03
DE112004000200T5 (de) 2005-12-22
CN1761944A (zh) 2006-04-19
KR20050117572A (ko) 2005-12-14
GB2414580A (en) 2005-11-30
WO2004095272A1 (en) 2004-11-04
JP2006519423A (ja) 2006-08-24
US7962545B2 (en) 2011-06-14
TWI258287B (en) 2006-07-11
US20040128670A1 (en) 2004-07-01
GB2414580B (en) 2006-08-02

Similar Documents

Publication Publication Date Title
JP4137124B2 (ja) 仮想マシンのための動的なサービス・レジストリ
US20210232467A1 (en) Server clustering in a computing-on-demand system
US10853121B2 (en) Virtual machine recovery in shared memory architecture
US10990467B2 (en) Accessing computing resource attributes of an external service provider
US20050198303A1 (en) Dynamic virtual machine service provider allocation
JP3777032B2 (ja) 分散ネットワークおよびリソースを見つける方法
EP3008580B1 (en) Distributed lock management in a cloud computing environment
US7512668B2 (en) Message-oriented middleware server instance failover
US8458466B2 (en) System and method for handling cross-platform system call in a hybrid system
US20050132367A1 (en) Method, apparatus and system for proxying, aggregating and optimizing virtual machine information for network-based management
US20060095551A1 (en) Extensible service processor architecture
US6957427B1 (en) Remote object activation in a distributed system
Gamache et al. Windows NT clustering service
US7331050B2 (en) System and method for communicating information between application programs
US20210067599A1 (en) Cloud resource marketplace
US11422862B1 (en) Serverless computation environment with persistent storage
US12008390B1 (en) Persistent execution environment
Cahill et al. Implementing the Comandos Virtual Machine

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20071023

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080107

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080603

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110613

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120613

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130613

Year of fee payment: 5

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

LAPS Cancellation because of no payment of annual fees