JP5347016B2 - Method and system for efficiently managing and configuring virtual servers - Google Patents
Method and system for efficiently managing and configuring virtual servers Download PDFInfo
- Publication number
- JP5347016B2 JP5347016B2 JP2011500869A JP2011500869A JP5347016B2 JP 5347016 B2 JP5347016 B2 JP 5347016B2 JP 2011500869 A JP2011500869 A JP 2011500869A JP 2011500869 A JP2011500869 A JP 2011500869A JP 5347016 B2 JP5347016 B2 JP 5347016B2
- Authority
- JP
- Japan
- Prior art keywords
- virtual server
- configuration
- user
- manager
- interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims description 75
- 230000004044 response Effects 0.000 claims description 10
- 238000013515 script Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 11
- 230000005540 biological transmission Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000027455 binding Effects 0.000 description 4
- 238000009739 binding Methods 0.000 description 4
- 238000013341 scale-up Methods 0.000 description 4
- 238000009434 installation Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 102100020775 Adenylosuccinate lyase Human genes 0.000 description 2
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- IRLPACMLTUPBCL-KQYNXXCUSA-N 5'-adenylyl sulfate Chemical compound C1=NC=2C(N)=NC=NC=2N1[C@@H]1O[C@H](COP(O)(=O)OS(O)(=O)=O)[C@@H](O)[C@H]1O IRLPACMLTUPBCL-KQYNXXCUSA-N 0.000 description 1
- 101150012579 ADSL gene Proteins 0.000 description 1
- 108700040193 Adenylosuccinate lyases Proteins 0.000 description 1
- 101000666896 Homo sapiens V-type immunoglobulin domain-containing suppressor of T-cell activation Proteins 0.000 description 1
- 102100038282 V-type immunoglobulin domain-containing suppressor of T-cell activation Human genes 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012508 change request Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- IJJVMEJXYNJXOJ-UHFFFAOYSA-N fluquinconazole Chemical compound C=1C=C(Cl)C=C(Cl)C=1N1C(=O)C2=CC(F)=CC=C2N=C1N1C=NC=N1 IJJVMEJXYNJXOJ-UHFFFAOYSA-N 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000002269 spontaneous effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000000859 sublimation Methods 0.000 description 1
- 230000008022 sublimation Effects 0.000 description 1
- 239000000725 suspension Substances 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- WFKWXMTUELFFGS-UHFFFAOYSA-N tungsten Chemical compound [W] WFKWXMTUELFFGS-UHFFFAOYSA-N 0.000 description 1
- 229910052721 tungsten Inorganic materials 0.000 description 1
- 239000010937 tungsten Substances 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
Description
(背景)
ホスト型仮想サーバサービスは、顧客が仮想サーバインスタンスの基礎となるハードウェアを所有または管理することを要求することなく、ユーザによって特定されるソフトウェアを実行する仮想サーバを、ユーザがインスタンス化することを可能にする。例えば、Amazon EC2を含む、仮想サーバサービスは、ユーザが、必要性に合致するように種々の異なる構成の多数の仮想サーバをインスタンス化することを可能にしてもよい。
(background)
Hosted virtual server services allow users to instantiate virtual servers that run software specified by the user without requiring the customer to own or manage the hardware underlying the virtual server instance. to enable. For example, virtual server services, including Amazon EC2, may allow users to instantiate a number of differently configured virtual servers to meet their needs.
多くの仮想サーバサービスは、ユーザによって提供されるブート可能なイメージから、仮想サーバのインスタンス化を可能にする。これらのイメージは、ユーザの所望のサーバソフトウェアのセットを含有してもよい。いくつかの仮想サーバサービスは、公開APIまたはウェブインターフェース等を通して、ユーザによって提供されるブート可能なイメージから、仮想サーバの遠隔インスタンス化を可能にする。遠隔インスタンス化能力は、原則として、変更要求または他の要因に基づいて、ユーザが、インスタンス化された仮想サーバの数を率に応じてスケールアップまたはスケールダウンさせることを可能にする。しかしながら、通常は、個人的にサーバを監視し、追加サーバを起動する時を決定し、それらを手動で構成することは実用的ではない。 Many virtual server services allow instantiation of a virtual server from a bootable image provided by a user. These images may contain the user's desired set of server software. Some virtual server services allow remote instantiation of a virtual server from a bootable image provided by a user, such as through a public API or web interface. The remote instantiation capability, in principle, allows a user to scale up or down the number of instantiated virtual servers depending on the rate based on change requests or other factors. However, it is usually impractical to personally monitor the server, determine when to start additional servers, and configure them manually.
(概要)
本開示は、ホスト型仮想サーバサービスにおける仮想サーバ構成を配備し、管理する、より迅速で効率的な方法を提供するステップに関する。広義には、ウェブインターフェースは、特定の種類の仮想サーバが第三者ホスト型仮想サーバサービス上でインスタンス化または終了される条件を、ユーザが設定することを可能にする。例えば、ユーザは、既存の仮想サーバ上の負荷が所定の閾値を超える度に、新規仮想サーバをインスタンス化することを希望してもよい。ウェブインターフェースはまた、ユーザが複数のホスト型仮想サーバサービスの中から選ぶことを可能にしてもよい。ウェブインターフェースはさらに、ユーザが、動的変数をインスタンス化された仮想サーバの構成に組み込むことを可能にしてもよい。
(Overview)
The present disclosure relates to providing a faster and more efficient way to deploy and manage virtual server configurations in a hosted virtual server service. In a broad sense, the web interface allows a user to set conditions under which a particular type of virtual server is instantiated or terminated on a third party hosted virtual server service. For example, the user may wish to instantiate a new virtual server each time the load on the existing virtual server exceeds a predetermined threshold. The web interface may also allow the user to choose from multiple hosted virtual server services. The web interface may further allow a user to incorporate dynamic variables into the configuration of the instantiated virtual server.
一局面では、本開示は、ホスト型仮想サーバサービスに構成およびインスタンス化インターフェースを提供するための方法に関する。一実施形態では、方法は、ホスト型仮想サーバサービスにインターフェースを提供するステップであって、インターフェースは、ユーザが複数の仮想サーバ構成の中から仮想サーバ構成を選択するための入力と、ユーザが、仮想サーバを動的にインスタンス化するための方針であって、少なくとも1つの条件を含む方針を設定するための入力とを含む、ステップと、少なくとも1つの条件が満たされていることを決定するステップと、選択された仮想サーバ構成に従って仮想サーバをインスタンス化する命令を、ホスト型仮想サーバサービスに伝送するステップとを含む。いくつかの実施形態では、方法は、ユーザ指定変数の値をインスタンス化された仮想サーバに伝送するステップを含んでもよい。いくつかの実施形態では、方法は、測定に応じて、1つ以上の仮想サーバを終了するステップを含んでもよい。いくつかの実施形態では、方法は、ユーザ定義の方針に基づいて仮想サーバをインスタンス化するように、多数のホスト型仮想サーバサービスの中から選択するステップを含んでもよい。 In one aspect, the present disclosure relates to a method for providing a configuration and instantiation interface to a hosted virtual server service. In one embodiment, the method comprises providing an interface to a hosted virtual server service, the interface comprising: an input for a user to select a virtual server configuration from a plurality of virtual server configurations; A step for dynamically instantiating a virtual server, the method comprising: an input for setting a policy that includes at least one condition; and determining that at least one condition is met And transmitting an instruction to instantiate the virtual server according to the selected virtual server configuration to the hosted virtual server service. In some embodiments, the method may include transmitting the value of the user specified variable to the instantiated virtual server. In some embodiments, the method may include terminating one or more virtual servers in response to the measurement. In some embodiments, the method may include selecting from among a number of hosted virtual server services to instantiate the virtual server based on a user-defined policy.
別の局面では、本開示は、ホスト型仮想サーバサービスに構成およびインスタンス化インターフェースを提供するためのシステムに関する。一実施形態では、システムは、ホスト型仮想サーバサービスにインターフェースを提供する、ウェブサーバであって、インターフェースは、ユーザが複数の仮想サーバ構成の中から仮想サーバ構成を選択するための入力手段と、ユーザが、仮想サーバを動的にインスタンス化するための方針であって、少なくとも1つの条件を含む方針を設定するための入力手段とを含む、ウェブサーバと、少なくとも1つの条件が満たされていることを決定し、選択された仮想サーバ構成に従って仮想サーバをインスタンス化する命令を、ホスト型仮想サーバサービスに伝送する、ウェブサーバと通信している計算デバイスとを含む。
例えば、本発明は以下の項目を提供する。
(項目1)
ホスト型仮想サーバサービスに構成およびインスタンス化インターフェースを提供するための方法であって、該方法は、
計算デバイス上で実行するホスト型仮想サーバサービスにインターフェースを提供することであって、該インターフェースは、
i.ユーザが、第2のユーザによって作成される少なくとも1つの仮想サーバ構成を含む、複数の仮想サーバ構成の中から、1つの仮想サーバ構成を選択するための入力手段と、
ii.ユーザが、仮想サーバを動的にインスタンス化するための方針であって、該方針は少なくとも1つの条件を含む方針を設定するための入力手段と
を含む、ことと、
該少なくとも1つの条件が満たされていることを決定することと、
該選択された仮想サーバ構成に従って仮想サーバをインスタンス化する命令を、該ホスト型仮想サーバサービスに伝送することと
を含む、方法。
(項目2)
上記インターフェースはさらに、ユーザが少なくとも1人の他のユーザと作成された仮想サーバ構成を共有することを可能にする、入力手段を含む、項目1に記載の方法。
(項目3)
インターフェースを提供することは、複数のホスト型仮想サーバサービスにインターフェースを提供することを含み、該インターフェースは、
i.ユーザが、第2のユーザによって作成される少なくとも1つの仮想サーバ構成を含む、複数の仮想サーバ構成の中から、1つの仮想サーバ構成を選択するための入力手段と、
ii.ユーザが、仮想サーバを動的にインスタンス化するための方針であって、該方針は少なくとも1つの条件を含む方針を設定するための入力手段と、
iii.ユーザが、該複数のホスト型仮想サーバサービスのうちの1つを選択するための入力手段と
を含む、項目1に記載の方法。
(項目4)
命令を伝送することは、上記選択された仮想サーバ構成に従って仮想サーバをインスタンス化する命令を、上記選択されたホスト型仮想サーバサービスに伝送することを含む、項目3に記載の方法。
(項目5)
複数のホスト型仮想サーバサービスに構成およびインスタンス化インターフェースを提供するための方法であって、該方法は、
a.複数のホスト型仮想サーバサービスにインターフェースを提供することであって、該インターフェースは、
i.ユーザが、複数の仮想サーバ構成の中から1つの仮想サーバ構成を選択するための入力手段と、
ii.ユーザが、該複数のホスト型仮想サーバサービスの中から選択するための第1の方針を設定するための入力手段と、
iii.ユーザが、仮想サーバを動的にインスタンス化するための第2の方針であって、該方針は少なくとも1つの条件を含む方針を設定するための入力手段と、
を含む、ことと、
b.該少なくとも1つの条件が満たされていることを決定することと、
c.該第1の方針に従って該複数のホスト型仮想サーバサービスのうちの1つを選択することと、
d.該選択された仮想サーバ構成に従って仮想サーバをインスタンス化する命令を、該選択されたホスト型仮想サーバサービスに伝送することと
を含む、方法。
(項目6)
上記第1の方針および上記第2の方針のうちの少なくとも1つによって、価格、性能、地理的場所、管轄権、第2のサービスへの近接性、および技術的能力のうちの少なくとも1つを特定することをさらに含む、項目5に記載の方法。
(項目7)
ホスト型仮想サーバサービスに構成およびインスタンス化インターフェースを提供するためのシステムであって、
ホスト型仮想サーバサービスにインターフェースを提供する、ウェブサーバであって、該インターフェースは、
i.ユーザが、複数の仮想サーバ構成の中から1つの仮想サーバ構成を選択するための入力手段と、
ii.ユーザが、仮想サーバを動的にインスタンス化するための方針であって、該方針は少なくとも1つの条件を含む方針を設定するための入力手段と、
iii.ユーザが他のユーザと作成された仮想サーバ構成を共有することを可能にする、入力手段と、
を含む、ウェブサーバと、
該少なくとも1つの条件が満たされていることを決定し、該選択された仮想サーバ構成に従って仮想サーバをインスタンス化する命令を、該ホスト型仮想サーバサービスに伝送する、該ウェブサーバと通信している計算デバイスと
を含む、システム。
In another aspect, the present disclosure relates to a system for providing a configuration and instantiation interface to a hosted virtual server service. In one embodiment, the system is a web server that provides an interface to a hosted virtual server service, the interface comprising: an input means for a user to select a virtual server configuration from a plurality of virtual server configurations; A web server that includes a policy for a user to dynamically instantiate a virtual server and includes an input means for setting a policy that includes at least one condition, and at least one condition is satisfied And a computing device in communication with the web server that transmits to the hosted virtual server service instructions to determine and instantiate the virtual server according to the selected virtual server configuration.
For example, the present invention provides the following items.
(Item 1)
A method for providing a configuration and instantiation interface to a hosted virtual server service, the method comprising:
Providing an interface to a hosted virtual server service running on a computing device, the interface comprising:
i. An input means for a user to select one virtual server configuration from among a plurality of virtual server configurations, including at least one virtual server configuration created by a second user;
ii. A policy for a user to dynamically instantiate a virtual server, the policy being an input means for setting a policy including at least one condition;
Including, and
Determining that the at least one condition is satisfied;
Transmitting an instruction to instantiate a virtual server according to the selected virtual server configuration to the hosted virtual server service;
Including a method.
(Item 2)
The method of
(Item 3)
Providing an interface includes providing an interface to a plurality of hosted virtual server services, the interface comprising:
i. An input means for a user to select one virtual server configuration from among a plurality of virtual server configurations, including at least one virtual server configuration created by a second user;
ii. A policy for a user to dynamically instantiate a virtual server, the policy being an input means for setting a policy including at least one condition;
iii. An input means for a user to select one of the plurality of host-type virtual server services;
The method according to
(Item 4)
4. The method of
(Item 5)
A method for providing a configuration and instantiation interface to a plurality of hosted virtual server services, the method comprising:
a. Providing an interface to a plurality of hosted virtual server services, the interface comprising:
i. An input means for a user to select one virtual server configuration from a plurality of virtual server configurations;
ii. An input means for a user to set a first policy for selecting from among the plurality of host-type virtual server services;
iii. A second policy for a user to dynamically instantiate a virtual server, the policy being an input means for setting a policy including at least one condition;
Including, and
b. Determining that the at least one condition is satisfied;
c. Selecting one of the plurality of hosted virtual server services according to the first policy;
d. Transmitting an instruction to instantiate a virtual server according to the selected virtual server configuration to the selected hosted virtual server service;
Including a method.
(Item 6)
According to at least one of the first policy and the second policy, at least one of price, performance, geographical location, jurisdiction, proximity to a second service, and technical capability. 6. The method of
(Item 7)
A system for providing a configuration and instantiation interface to a hosted virtual server service,
A web server that provides an interface to a hosted virtual server service, the interface comprising:
i. An input means for a user to select one virtual server configuration from a plurality of virtual server configurations;
ii. A policy for a user to dynamically instantiate a virtual server, the policy being an input means for setting a policy including at least one condition;
iii. An input means that allows a user to share a virtual server configuration created with other users;
Including a web server,
Communicating with the web server that determines that the at least one condition is met and transmits an instruction to instantiate a virtual server according to the selected virtual server configuration to the hosted virtual server service With computing devices
Including the system.
本開示の先述および他の目的、局面、特徴、および利点は、添付図面と併せて解釈される以下の説明を参照することによって、より明白となり、より良く理解されてもよい。
(詳細な説明)
ここで図1Aを参照すると、仮想サーバの管理を可能にする、ネットワーク設定の一実施形態のブロック図が示されている。概要すると、ユーザ局102が、ユーザにウェブインターフェースを表示し、ユーザから仮想サーバマネージャ100(本明細書では単純に「マネージャ」とも呼ばれる)に構成情報を伝送する。仮想サーバマネージャ100は、仮想サーバインスタンス110a、110b、110c(概して110)のインスタンス化、構成、および終了を管理する。マネージャ100は、インスタンス110またはホスト型仮想サーバサービス120から受信される任意のデータを監視してもよい。
(Detailed explanation)
Referring now to FIG. 1A, a block diagram of one embodiment of network configuration that enables management of virtual servers is shown. In summary, the
ここではさらに詳細に、依然として図1Aを参照すると、仮想サーバマネージャ100は、1つ以上の仮想サーバイメージおよび付随構成情報を受信することが可能である、任意のコンピュータデバイスを含んでもよい。いくつかの実施形態では、仮想サーバマネージャは、単一のサーバを含んでもよく、他の実施形態では、仮想サーバマネージャ100は、サーバクラスタを含んでもよい。いくつかの実施形態では、マネージャ100は、構成情報および/または仮想サーバイメージを記憶するための1つ以上の関連データベースを有してもよい。マネージャ100の異なるユーザが、他のユーザによって記憶されたイメージに干渉することなく、種々のイメージを記憶することができるように、これらのデータベースは、ユーザによって分離されてもよい。いくつかの実施形態では、ユーザは、マネージャ100上に記憶されたイメージおよび/または構成情報を共有できるようになってもよい。
Still referring to FIG. 1A in further detail,
いくつかの実施形態では、仮想サーバマネージャ100は、定期的に操作されてもよい。例えば、企業は、ユーザがマネージャ上に1つ以上のイメージを記憶すること、およびホスト型サービス上の1つ以上のサーバをインスタンス化するためにマネージャを使用することに課金してもよい。いくつかの実施形態では、仮想サーバマネージャ100は、仮想サーバサービスから独立した実体によって操作されてもよい。いくつかの実施形態では、ユーザ局は、ウェブインターフェースを介してマネージャ100と通信してもよい。例えば、マネージャ100は、多数の企業に対するウェブインターフェースを提供して、ホスト型仮想サーバサービス上の仮想サーバ配備を管理してもよい。例えば、マネージャ100を実行する企業は、企業が仮想サーバを始動する際にマネージャ100のサービスを使用することに、均一料金を請求してもよい。または、例えば、マネージャ100を実行する企業は、マネージャ100を使用して、いくつのベースイメージまたは構成プロファイルが作成および/または記憶されるかに基づいて、比例配分料金を請求してもよい。または、例えば、マネージャ100を実行する企業は、仮想サーバを操作し、インスタンス化する際にマネージャによって提供される制御機能の使用に対して、月額料金を請求してもよい。または、例えば、マネージャ100を実行する企業は、管理された任意の仮想サーバが実行されてきた時間量に基づいて、料金を請求してもよい。
In some embodiments, the
仮想サーバサービス120は、仮想サーバサービス120がホストするリソース上の仮想サーバを、1人以上のユーザがインスタンス化することを可能にする、任意のサービスを含んでもよい。仮想サーバサービスの例は、Amazon,Inc.提供のEC2サービス、およびXCalibre Communications Ltd.提供のFLEXISCALEを含む。いくつかの実施形態では、マネージャ100は、単一の仮想サーバサービスと連動するように特異的に設計されてもよい。他の実施形態では、マネージャ100は、複数の仮想サーバサービスにインターフェースを提供してもよい。
ここで図1Bを参照すると、マシンイメージから構成可能な仮想サーバインスタンスの作成を可能にする、ネットワーク設定の一実施形態が示されている。概要すると、ユーザ局102が、ブートストラップサーバ115上に作成されるブートイメージを特定する、ユーザから入力を受け取る。次いで、ベースサーバイメージが仮想サーバマネージャ100に送信される。別の時に、構成情報が、ユーザ局102または異なるユーザ局102から受信されてもよい。仮想サーバマネージャ100は、仮想サーバサービス120に、ブートイメージのインスタンスをインスタンス化する命令を送信する。インスタンス110の準備ができていると決定した後、マネージャ100は、受信した構成情報を仮想サーバインスタンスに送信する。このように、仮想サーバインスタンスの構成は、サーバイメージを構築する過程から分断される。
Referring now to FIG. 1B, one embodiment of a network setting is shown that allows creation of a configurable virtual server instance from a machine image. In summary, the
ここではさらに詳細に、依然として図1Bを参照すると、ユーザ局102は、ユーザが仮想サーバのブートイメージを作成するための任意の機能性を提供してもよい。いくつかの実施形態では、ユーザ局102は、仮想サーバイメージをコンパイルあるいは生成する、ブートストラップサーバ115と連結されてもよい。他の実施形態では、仮想サーバイメージは、ユーザ局102自体の上で作成されてもよい。ユーザ局102およびブートストラップサーバ115の両方は、任意の計算デバイスを含んでもよい。
Now in further detail, still referring to FIG. 1B, the
ユーザ局、マネージャ100、および仮想サーバサービス120は、任意の方式で、かつ任意の1つまたは複数のネットワークを介して接続されてもよい。接続および接続に含まれるネットワークは、インターネット、ローカルネットワーク、ウェブサーバ、ファイルサーバ、ルータ、データベース、コンピュータ、サーバ、ネットワークアプライアンス、または情報を送受信することが可能な任意の他の計算デバイスを含んでもよい。ネットワークは、ケーブル、赤外線ポート、無線信号、または複数の計算デバイスを接続する任意の他の手段を介して接続される、計算デバイスを含んでもよい。ネットワークおよびネットワークに接続される任意のデバイスは、SSL、BitTorrent、HTML、XML、RDP、ICA、FTP、HTTP、SIP、XMPP(Jabberとしても知られている)、TCP、IP、UDP、IPX、SPX、NetBIOS、NetBEUI、SMB、SMTP、Ethernet(登録商標)、ARCNET、ファイバ分散データインターフェース(Fiber Distributed Data Interface/FDDI)、RS232、IEEE 802.11、IEEE 802.11a、IEEE 802.11b、IEEE 802.11g、IEEE 802.11n、WiMax、および直接非同期接続、またはこれらの任意の組み合わせおよび/または拡張を無制限に含む、計算デバイス間または計算デバイス内で通信するために使用される任意の通信プロトコルを介して、通信してもよい。ネットワークは、AMPS、TDMA、CDMA、GSM、GPRS、またはUMTSを含む、携帯デバイス間で通信するために使用される任意の1つまたは複数のプロトコルを利用する、携帯電話ネットワークを含んでもよい。
The user station, the
図2Aおよび2Bは、クライアント102またはサーバの実施形態を実践するために有用な計算デバイス200のブロック図を描写する。クライアント102およびサーバは、任意の種類および形態のネットワーク上で通信し、本明細書で説明される動作を行うことが可能なコンピュータ、ネットワークデバイスまたはアプライアンス等の、任意の種類および形態の計算デバイスとして配備され、および/またはその上で実行されてもよい。図2Aおよび2Bに示されるように、各計算デバイス200は、中央処理装置221と、メインメモリユニット222とを含む。図2Aに示されるように、計算デバイス200は、視覚表示デバイス224、キーボード226、および/またはマウス等のポインティングデバイス227を含んでもよい。図2Bに示されるように、各計算デバイス200はまた、1つ以上の入力/出力デバイス230a−230b(概して、数字230を使用して参照される)、および中央処理装置221と通信しているキャッシュメモリ240等の、追加オプション要素を含んでもよい。
2A and 2B depict block diagrams of a
中央処理装置221は、メインメモリユニット222からフェッチされた命令に応答し、それらを処理する、任意の論理回路である。多くの実施形態では、中央処理装置は、Intel Corporation(Mountain View,California)製造のもの、Motorola Corporation(Schaumburg,Illinois)製造のもの、Transmeta Corporation(Santa Clara,California)製造のもの、RS/6000プロセッサであって、International Business Machines(White Plains,New York)製造のもの、またはAdvanced Micro Devices(Sunnyvale,California)製造のもの等の、マイクロプロセッサユニットによって提供される。計算デバイス200は、これらのプロセッサのうちのいずれか、または本明細書で説明されるように動作することが可能な任意の他のプロセッサに基づいてもよい。
The
メインメモリユニット222は、スタティックランダムアクセスメモリ(SRAM)、バーストSRAMまたは同期バーストSRAM(BSRAM)、ダイナミックランダムアクセスメモリ(DRAM)、高速ページモードDRAM(FPM DRAM)、強化DRAM(EDRAM)、拡張データ出力RAM(EDO RAM)、拡張データ出力DRAM(EDO DRAM)、バースト拡張データ出力DRAM(BEDO DRAM)、強化DRAM(EDRAM)、同期DRAM(SDRAM)、JEDEC SRAM、PC200 SDRAM、ダブルデータレートSDRAM(DDR SDRAM)、強化SDRAM(ESDRAM)、同期リンクDRAM(SLDRAM)、Direct Rambus DRAM(DRDRAM)、または強誘電RAM(FRAM)等の、データを記憶し、任意の記憶場所がマイクロプロセッサ221によって直接アクセスされることを可能にすることができる、1つ以上のメモリチップであってもよい。メインメモリ222は、上記のメモリチップのうちのいずれか、または本明細書で説明されるように動作することが可能である、任意の他の利用可能なメモリチップに基づいてもよい。図2Aに示された実施形態では、プロセッサ221は、システムバス250を介してメインメモリ222と通信する(以下でより詳細に説明される)。図2Bは、プロセッサがメモリポート203を介してメインメモリ222と直接通信する、計算デバイス200の実施形態を描写する。例えば、図2Bでは、メインメモリ222は、DRDRAMであってもよい。
The
図2Bは、裏面バスと呼ばれることもある2次バスを介して、メインプロセッサ221がキャッシュメモリ240と通信する、実施形態を描写する。他の実施形態では、メインプロセッサ221は、システムバス250を使用して、キャッシュメモリ240と通信する。キャッシュメモリ240は、通常は、メインメモリ222よりも速い応答時間を有し、通常は、SRAM、BSRAM、またはEDRAMによって提供される。図2Bに示された実施形態では、プロセッサ221は、ローカルシステムバス250を介して、種々のI/Oデバイス230と通信する。中央処理装置221をI/Oデバイス230のうちのいずれかに接続するために、VESA VLバス、ISAバス、EISAバス、マイクロチャネルアーキテクチャ(MicroChannel Architecture/MCA)バス、PCIバス、PCI−Xバス、PCI−Expressバス、またはNuBusを含む、種々のバスが使用されてもよい。I/Oデバイスがビデオディスプレイ224である実施形態について、プロセッサ221は、ディスプレイ224と通信するために、アドバンストグラフィックスポート(Advanced Graphics Port/AGP)を使用してもよい。図2Bは、HyperTransport、Rapid I/O、またはInfiniBandを介して、メインプロセッサ221がI/Oデバイス230bと直接通信する、コンピュータ200の実施形態を描写する。図2Bはまた、ローカルバスおよび直接通信が混合している実施形態も描写し、プロセッサ221は、I/Oデバイス230bと直接通信しながら、ローカル相互接続バスを使用してI/Oデバイス230aと通信する。
FIG. 2B depicts an embodiment in which
計算デバイス200は、3.5インチディスク、5.25インチディスク、またはZIPディスク等のフロッピー(登録商標)ディスクを受容するためのフロッピー(登録商標)ディスクドライブ、CD−ROMドライブ、CD−R/RWドライブ、DVD−ROMドライブ、種々の形式のテープドライブ、USBデバイス、ハードドライブ、または、ソフトウェアおよびプログラムまたはその複数部分をインストールするために好適な任意の他のデバイス等の、任意の好適なインストールデバイス216をサポートしてもよい。計算デバイス200はさらに、オペレーティングシステムおよび他の関連ソフトウェアを記憶するため、およびアプリケーションソフトウェアプログラムを記憶するために、1つ以上のハードディスクドライブまたは独立ディスク冗長アレイ、フラッシュメモリ、またはEEPROM等の記憶デバイスを含んでもよい。随意で、インストールデバイス216のうちのいずれかは、記憶デバイスとしても使用することができる。加えて、オペレーティングシステムおよびソフトウェアは、ブート可能な媒体、例えば、knoppix.netからGNU/Linux配布として入手可能なGNU/Linux用のブート可能なCDである、KNOPPIX(登録商標)等のブート可能なCDから実行することができる。
The
さらに、計算デバイス200は、標準電話回線、LANまたはWANリンク(例えば、802.11、T1、T3、56kb、X.25、SNA、DECNET)、ブロードバンド接続(例えば、ISDN、フレームリレー、ATM、Gigabit Ethernet(登録商標)、Ethernet(登録商標)−over−SONET、ADSL、SDSL)、無線接続、あるいは上記のうちのいずれかまたは全ての何らかの組み合わせを含むがそれらに限定されない、種々の接続を通して、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、またはインターネットにインターフェース接続するネットワークインターフェース218を含んでもよい。接続は、種々の通信プロトコルを使用して確立することができる。一実施形態では、計算デバイス200は、Secure Socket Layer(SSL)またはTransport Layer Security(TLS)、またはCitrix Systems,Inc.(Ft.Lauderdale,Florida)製造のCitrix Gateway Protocol等の、任意の種類および/または形態のゲートウェイまたはトンネリングプロトコルを介して他の計算デバイス200と通信する。ネットワークインターフェース218は、内蔵ネットワークアダプタ、ネットワークインターフェースカード、PCMCIAネットワークカード、カードバスネットワークアダプタ、無線ネットワークアダプタ、USBネットワークアダプタ、モデム、または通信および本明細書で説明される動作を行うことが可能な任意の種類のネットワークに計算デバイス200をインターフェース接続するために好適な任意の他のデバイスを含んでもよい。
Further, the
多種多様なI/Oデバイス230a−230nが、計算デバイス200に存在してもよい。入力デバイスは、キーボード、マウス、トラックパッド、トラックボール、マイクロホン、および描画タブレットを含む。出力デバイスは、ビデオディスプレイ、スピーカ、インクジェットプリンタ、レーザプリンタ、および昇華型プリンタを含む。I/Oデバイスは、図2Aに示されるようなI/Oコントローラ223によって制御されてもよい。I/Oコントローラは、キーボード226およびポインティングデバイス227、例えば、マウスまたは光学ペン等の、1つ以上のI/Oデバイスを制御してもよい。さらに、I/Oデバイスはまた、計算デバイス200用の記憶および/またはインストール媒体216を提供してもよい。さらに他の実施形態では、計算デバイス200は、Twintech Industry,Inc.(Los Alamitos,California)製造のUSBフラッシュドライブ系のデバイス等の、ハンドヘルドUSB記憶デバイスを受容するUSB接続を提供してもよい。
A wide variety of I / O devices 230 a-230 n may exist in
いくつかの実施形態では、計算デバイス200は、それぞれ、同じまたは異なる種類および/または形態であってもよい、複数の表示デバイス224a−224nを含むか、またはそれらに接続されてもよい。そのようなものとして、I/Oデバイス230a−230nおよび/またはI/Oコントローラ223のうちのいずれかは、計算デバイス200による複数の表示デバイス224a−224nの接続および使用をサポートし、可能にし、または提供するように、任意の種類および/または形態の好適なハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせを含んでもよい。例えば、計算デバイス200は、表示デバイス224a−224nをインターフェース接続し、通信し、接続し、あるいは使用するように、任意の種類および/または形態のビデオアダプタ、ビデオカード、ドライバ、および/またはライブラリを含んでもよい。一実施形態では、ビデオアダプタは、複数の表示デバイス224a−224nにインターフェース接続するように、複数のコネクタを含んでもよい。他の実施形態では、計算デバイス200は、複数のビデオアダプタを含んでもよく、各ビデオアダプタが表示デバイス224a−224nのうちの1つ以上に接続される。いくつかの実施形態では、計算デバイス200のオペレーティングシステムの任意の部分が、複数の表示デバイス224a−224nを使用するために構成されてもよい。他の実施形態では、表示デバイス224a−224nのうちの1つ以上は、例えば、ネットワークを介して計算デバイス200に接続される、計算デバイス200aおよび200b等の、1つ以上の他の計算デバイスによって提供されてもよい。これらの実施形態は、計算デバイス200用の第2の表示デバイス224aとして別のコンピュータの表示デバイスを使用するように設計および構築される、任意の種類のソフトウェアを含んでもよい。当業者であれば、計算デバイス200が複数の表示デバイス224a−224nを有するように構成されてもよい、種々の方法および実施形態を認識し、理解するであろう。
In some embodiments, the
さらなる実施形態では、I/Oデバイス230は、システムバス250と、USBバス、Apple Desktop Bus、RS−232直列接続、SCSIバス、Fire Wireバス、Fire Wire 800バス、Ethernet(登録商標)バス、AppleTalkバス、Gigabit Ethernet(登録商標)バス、非同期転送モード(Asynchronous Transfer Mode)バス、HIPPIバス、Super HIPPIバス、SerialPlusバス、SCI/LAMPバス、FibreChannelバス、またはシリアルアタッチド小型コンピュータシステムインターフェースバス等の外部通信バスとの間の橋渡しをしてもよい。
In a further embodiment, the I / O device 230 includes a
図2Aおよび2Bで描写された種類の計算デバイス200は、通常は、タスクのスケジューリングおよびシステムリソースへのアクセスを制御する、オペレーティングシステムの制御下で動作する。計算デバイス200は、MICROSOFT WINDOWS(登録商標)オペレーティングシステムのバージョンのうちのいずれか、Unix(登録商標)およびLinuxオペレーティングシステムの異なるリリース、Macintoshコンピュータ用のMAC OSの任意のバージョン、任意の組み込みオペレーティングシステム、任意のリアルタイムオペレーティングシステム、任意のオープンソースオペレーティングシステム、任意の専用オペレーティングシステム、携帯計算デバイス用の任意のオペレーティングシステム、または計算デバイス上で作動し、本明細書で説明される動作を行うことが可能な任意の他のオペレーティングシステム等の、任意のオペレーティングシステムを実行することができる。通常のオペレーティングシステムは、とりわけ、その全てがMicrosoft Corporation(Redmond,Washington)製である、WINDOWS(登録商標) 3.x、WINDOWS(登録商標) 95、WINDOWS(登録商標) 98、WINDOWS(登録商標) 2000、WINDOWS(登録商標) NT 3.51、WINDOWS(登録商標) NT 4.0、WINDOWS(登録商標) CE、WINDOWS(登録商標) XP、およびWINDOWS(登録商標) VISTA、Apple Computer(Cupertino,California)製のMACOS、International Business Machines(Armonk,New York)製のOS/2、およびCaldera Corp.(Salt Lake City,Utah)配布の無料で入手可能なオペレーティングシステムであるLinux、または任意の種類および/または形態のUnix(登録商標)オペレーティングシステムを含む。
A
コンピュータシステム200は、任意のワークステーション、デスクトップコンピュータ、ラップトップまたはノートブックコンピュータ、サーバ、手持ち式コンピュータ、携帯電話または他の携帯用電気通信デバイス、メディア再生デバイス、ゲームシステム、携帯計算デバイス、または、通信が可能であり、かつ本明細書で説明される動作を行うのに十分なプロセッサ能力およびメモリ容量を有する、任意の他の種類および/または形態の計算、電気通信、またはメディアデバイスとなり得る。例えば、コンピュータシステム200は、Apple Computer(Cupertino,California)製のIPOD群デバイスの中のデバイス、Sony Corporation(Tokyo,Japan)製のPLAYSTATION 2、PLAYSTATION 3、またはPERSONAL PLAYSTATION PORTABLE(PSP)デバイス、Nintendo Co.,Ltd.(Kyoto,Japan)製のNINTENDO DS、NINTENDO GAMEBOY、NINTENDO GAMEBOY ADVANCED、またはNINTENDO REVOLUTIONデバイス、またはMicrosoft Corporation(Redmond,Washington)製のXBOXまたはXBOX 360デバイスを含んでもよい。
The
携帯デバイスを含む実施形態について、デバイスは、その全てがMotorola Corp.(Schaumburg,Illinois)製である、i55sr、i58sr、i85s、またはi88s、Kyocera(Kyoto,Japan)製の6035または7135、またはSamsung Electronics Co.,Ltd.(Seoul,Korea)製のi300またはi330等の、JAVA(登録商標)使用可能携帯電話であってもよい。携帯デバイスを含む他の実施形態では、携帯デバイスは、その全てがpalmOne, Inc.(Milpitas,California)製である、Tungsten W、VII、VIIx、i705等のPalmOSオペレーティングシステムの制御下で動作する、携帯情報端末(PDA)であってもよい。さらなる実施形態では、クライアント102は、その全てがHewlett−Packard Corporation(Palo Alto,California)製である、iPAQ 4155、iPAQ 5555、iPAQ 1945、iPAQ 2215、およびiPAQ 4255、ViewSonic(Walnut,California)製のViewSonic V36、またはToshiba America,Inc.(New York,New York)製のToshiba PocketPC e405等の、PocketPCオペレーティングシステムの制御下で動作する、携帯情報端末(PDA)であってもよい。さらに他の実施形態では、携帯デバイスは、その全てがpalmOne, Inc.(Milpitas,California)製である、Treo 180、Treo 270、Treo 600、Treo 650、Treo 700、またはTreo 700w、またはApple Computer製のIPHONE群のデバイス等の、複合PDA/電話デバイスである。さらに他の実施形態では、携帯デバイスは、Motorola Corp.製のMPx200等の、PocketPCオペレーティングシステムの制御下で動作する携帯電話である。さらに他の実施形態では、携帯デバイスは、無線通信能力を伴う携帯ゲームデバイスを含んでもよい。通常の携帯デバイスは、プロセッサおよびメインメモリを含む、図2Aおよび2Bにおいて上記で説明される要素の多くを含んでもよい。
For embodiments that include portable devices, all of the devices are Motorola Corp. (Schaumburg, Illinois), i55sr, i58sr, i85s, or i88s, Kyocera (Kyoto, Japan) 6035 or 7135, or Samsung Electronics Co. , Ltd., Ltd. It may be a JAVA (registered trademark) usable mobile phone such as i300 or i330 manufactured by (Seoul, Korea). In other embodiments, including a portable device, the portable device is all of palmOne, Inc. It may be a personal digital assistant (PDA) made under the control of a PalmOS operating system such as Tungsten W, VII, VIIx, i705 manufactured by (Milpitas, California). In a further embodiment, the
ここで図3を参照すると、マシンイメージからの構成可能な仮想サーバインスタンスの作成を促進するための方法を示す、フロー図が示されている。概要すると、方法は、ベースマシンイメージであって、所望の仮想サーバ能力のブート可能なサブセットと、構成マネージャとを含む、ベースマシンイメージを生成するステップ(ステップ301)と、少なくとも1つの仮想サーバ上でベースマシンイメージをインスタンス化する命令を伝送するステップ(ステップ303)と、インスタンス化された仮想サーバの構成マネージャが構成情報を受信する準備ができていることを決定するステップ(ステップ305)と、インスタンス化された仮想サーバの構成情報を構成マネージャに伝送するステップ(ステップ307)とを含む。 Referring now to FIG. 3, a flow diagram is shown that illustrates a method for facilitating the creation of a configurable virtual server instance from a machine image. In summary, the method includes generating a base machine image (step 301) that includes a bootable subset of a desired virtual server capability and a configuration manager; and on the at least one virtual server. Transmitting a command to instantiate a base machine image (step 303), determining that the configuration manager of the instantiated virtual server is ready to receive configuration information (step 305), Transmitting the instantiated virtual server configuration information to the configuration manager (step 307).
ここではさらに詳細に、依然として図3を参照すると、所望の仮想サーバ能力のブート可能なサブセットと、構成マネージャとを含む、ベースマシンイメージは、任意の方式で作成されてもよい(ステップ301)。ブート可能なサブセットは、オペレーティングシステム、HTTPサーバ、ファイル解凍/開梱ユーティリティ、スクリプト言語サポート、および暗号化/暗号解読ユーティリティを無制限に含む、仮想サーバ能力の任意のサブセットを含んでもよい。いくつかの実施形態では、マシンイメージは、仮想サーバ能力を含む構築過程に構成マネージャを含むことによって、作成されてもよい。他の実施形態では、マシンイメージは、既存のマシンイメージを修正することによって作成されてもよい。これらの実施形態では、構成マネージャは、そのマシンイメージからブートされる実行中の仮想サーバ上に既に存在していてもよく、または、インストールされてもよく、次いで、新規マシンイメージが、実行中の仮想サーバから取り出されてもよい。構成マネージャは、インスタンス化の後に仮想サーバを構成するための任意のユーティリティを含んでもよい。いくつかの実施形態では、ユーザがマシンイメージ内に含むことを選択するために、単一の構成マネージャがマネージャ100によって提供されてもよい。他の実施形態では、複数の構成マネージャが提供されてもよい。複数の構成マネージャは、古いバージョンを保持して、既存のサーバ構成が以前通りに稼働することを確実にしながら、構成マネージャへの機能強化をサポートするために使用されてもよい。複数の構成マネージャはまた、複数のオペレーティングシステム(例えば、Linux、FreeBSD、Solaris)をサポートするため、または1つのオペレーティングシステムの複数のバージョン(例えば、RedHat Linux、Debian Linux、およびUbuntu Linux、またはSolaris 10およびOpenSolaris)をサポートするために使用されてもよい。
Still referring to FIG. 3 in further detail, a base machine image, including a bootable subset of desired virtual server capabilities and a configuration manager, may be created in any manner (step 301). The bootable subset may include any subset of virtual server capabilities, including unlimited operating systems, HTTP servers, file decompression / unpacking utilities, script language support, and encryption / decryption utilities. In some embodiments, the machine image may be created by including a configuration manager in the build process that includes virtual server capabilities. In other embodiments, the machine image may be created by modifying an existing machine image. In these embodiments, the configuration manager may already exist or be installed on a running virtual server that is booted from that machine image, and then the new machine image is running It may be retrieved from the virtual server. The configuration manager may include any utility for configuring the virtual server after instantiation. In some embodiments, a single configuration manager may be provided by the
いくつかの実施形態では、ユーザは、多数の異なるマシンイメージを作成できるようになってもよい。例えば、ユーザは、それぞれ異なるオペレーティングシステムで、多数の仮想サーバベースマシンイメージを作成することを希望してもよい。次いで、ユーザは、オペレーティングシステムのそれぞれの上で実行するカスタマイズされた仮想サーバインスタンスを作成するために、これらのイメージのそれぞれを使用してもよい。 In some embodiments, the user may be able to create many different machine images. For example, a user may wish to create multiple virtual server base machine images, each with a different operating system. The user may then use each of these images to create a customized virtual server instance that runs on each of the operating systems.
ベースマシンイメージが作成された後に、少なくとも1つの仮想サーバ上でベースマシンイメージをインスタンス化する命令が、任意の方式で伝送されてもよい(ステップ303)。いくつかの実施形態では、命令は、マネージャ100から仮想サーバサービス120に伝送されてもよい。いくつかの実施形態では、この伝送は、ユーザによって開始されてもよい。例えば、マネージャ100は、それによってユーザが1つ以上の仮想サーバサービス上の多数の仮想サーバにアクセスし、管理することができる、ウェブページを提供してもよい。ユーザは、マネージャ100を通して、特定のマシンイメージをインスタンス化する命令を送信することができる。次いで、マネージャ100は、適切なベースイメージを選択し、イメージをインスタンス化するように仮想サーバサービスに命令を送信してもよい。
After the base machine image is created, instructions for instantiating the base machine image on at least one virtual server may be transmitted in any manner (step 303). In some embodiments, the instructions may be transmitted from the
いくつかの実施形態では、仮想サーバをインスタンス化する命令は、自動的に送信されてもよい。これらの実施形態では、命令の送信を誘起するために、仮想サーバ自体、他のサーバ、マネージャ100、または上記のデータの任意の組み合わせからの任意の構成または監視データを使用することができる。例えば、マネージャ100は、多数のサーバの使用量、負荷、または利用が閾値を超えた場合、または所要の仮想サーバが故障した場合に、所与のマシンイメージを自動的にインスタンス化する命令を有してもよい。
In some embodiments, the instruction to instantiate the virtual server may be sent automatically. In these embodiments, any configuration or monitoring data from the virtual server itself, other servers,
いくつかの実施形態では、インスタンス化命令は、インスタンス化される予定のサーバに対する1つ以上のパラメータを含んでもよい。例えば、インスタンス化命令は、マネージャ100が特定のインスタンス化を後で識別することができるように、通し番号または他の識別子を含んでもよい。または、例えば、インスタンス化命令は、新たにインスタンス化されたサーバがインスタンス化時に接続するアドレスを有するように、マネージャ100のアドレスを含んでもよい。
In some embodiments, the instantiation instructions may include one or more parameters for the server that is to be instantiated. For example, the instantiation instructions may include a serial number or other identifier so that
命令を伝送した後、マネージャ100は、任意の方式で、インスタンス化された仮想サーバの構成マネージャが構成情報を受信する準備ができていることを決定してもよい(ステップ305)。いくつかの実施形態では、マネージャ100は、インスタンス化されたサーバから接続要求を受信するのを待ってもよい。他の実施形態では、マネージャ100は、成功するまでインスタンス化されたサーバへの接続を周期的に要求してもよい。いくつかの実施形態では、マネージャ100は、ホスト型仮想サーバサービスを通して提供されるサービスを使用して、インスタンス化されたサーバの状態を監視してもよい。
After transmitting the command, the
一実施形態では、インスタンス化されたサーバは、マネージャ100とのHTTPSセッションを開始してもよい。インスタンス化されたサーバは、マシンの現状とともに、それに与えられた通し番号をマネージャ100に渡してもよい。次いで、マネージャ100は、通し番号が、インスタンス化する命令をマネージャが送信した通し番号に対応することを検証してもよい。他の実施形態では、インスタンス化された仮想サーバは、TCP/IPソースアドレスおよび/またはインスタンスに与えられたホスト型仮想サーバサービス識別子を含む、任意の他の手段によって識別されてもよい。
In one embodiment, the instantiated server may initiate an HTTPS session with the
準備状況が決定された後に、インスタンス化された仮想サーバの構成情報が、任意の方式で伝送されてもよい(ステップ307)。一実施形態では、構成情報は、マネージャ100から伝送されてもよい。
After the preparation status is determined, the configuration information of the instantiated virtual server may be transmitted by an arbitrary method (step 307). In one embodiment, configuration information may be transmitted from the
構成情報は、実行ファイル、ファイル、パラメータ、ならびに他の仮想サーバインスタンスの記憶場所および種類を無制限に含む、機能する仮想サーバインスタンスによって使用されてもよい、任意の情報を含んでもよい。一実施形態では、伝送される構成情報は、実行可能なスクリプトの順序付きリスト、各スクリプトに対応するファイルを指すURLのリスト、および実行中にスクリプトによって使用され、アクセスされてもよい、一式の入力変項束縛を含んでもよい。この実施形態では、各スクリプトに対応するファイルは、構成ファイル、インストールするアプリケーションパッケージ、実行可能ファイル、およびアプリケーションデータ(例えば、データベーススナップショット)を無制限に含む、各スクリプトによって利用される任意のファイルを含んでもよい。 The configuration information may include any information that may be used by a functioning virtual server instance, including unlimited number of executable files, files, parameters, and storage locations and types of other virtual server instances. In one embodiment, the transmitted configuration information is an ordered list of executable scripts, a list of URLs pointing to files corresponding to each script, and a set of which may be used and accessed by the script during execution It may contain input variable bindings. In this embodiment, the file corresponding to each script is any file utilized by each script, including unlimited configuration files, application packages to install, executable files, and application data (eg, database snapshots). May be included.
構成情報が伝送された後に、仮想サーバインスタンスは、受信した構成情報を実装するために必要な任意のステップを講じてもよい。以下の実施例は、マネージャ100が、実行可能なスクリプトの順序付きリスト、各スクリプトに対応するファイルを指すURLのリスト、および一式の入力変項束縛を伝送している、上記で説明される実施形態を引き続き述べる。
After the configuration information is transmitted, the virtual server instance may take any steps necessary to implement the received configuration information. The following example is an embodiment as described above in which the
インスタンスは、最初に、ローカルファイルシステムの中の実行可能ファイルの中へ各スクリプトを入れ、ローカルファイルシステムにも記憶するように、提供されたURLから、構成ファイルに名前が付けられた各添付ファイルをダウンロードしてもよい。添付ファイルはそれぞれ、各スクリプトの別個のディレクトリに記憶されてもよい。次いで、各スクリプトが順に実行されてもよく、各スクリプトは、スクリプトによって要求される入力変項束縛に渡される。これらの束縛は、マシンイメージid、インスタンスid、インスタンスに割り当てられたIPアドレス、およびスクリプトの添付ファイルの記憶場所等の、多数のグローバル変数を含んでもよい。エラーが発生した(例えば、スクリプトがエラーを伴って存在する)場合、過程が途中停止されてもよい。 The instance first puts each script into an executable file in the local file system and stores each attachment attached to the configuration file from the provided URL so that it is also stored in the local file system. May be downloaded. Each attachment may be stored in a separate directory for each script. Each script may then be executed in turn, with each script being passed to the input variable binding required by the script. These bindings may include a number of global variables such as machine image id, instance id, IP address assigned to the instance, and script attachment storage location. If an error occurs (eg, the script exists with an error), the process may be stopped halfway.
いくつかの実施形態では、構成過程の実行自体が、構成過程の初期ステップによって決定されてもよい。例えば、構成スクリプトが、以降の構成スクリプトで使用される入力パラメータを生じてもよい。または、例えば、構成スクリプトは、一式の構成スクリプトのうちのどれが、どのような順番で実行されるべきかを決定するように実行してもよい。いくつかの実施形態では、構成過程は、起動され、終了され、あるいは構成過程に基づいて影響を受ける、1つ以上の他の仮想サーバを特定してもよい。これらの実施形態では、構成過程を実行する仮想サーバは、影響を受けるサーバに信号を直接送信してもよく、または、仮想サーバは、マネージャ100に命令を送信してもよい。
In some embodiments, the execution of the configuration process itself may be determined by the initial steps of the configuration process. For example, a configuration script may produce input parameters that are used in subsequent configuration scripts. Or, for example, the configuration script may be executed to determine which of the set of configuration scripts should be executed in what order. In some embodiments, the configuration process may identify one or more other virtual servers that are activated, terminated, or affected based on the configuration process. In these embodiments, the virtual server performing the configuration process may send a signal directly to the affected server, or the virtual server may send an instruction to the
構成が完成した後に、インスタンスは、全てのスクリプトがエラーなしで実行された場合は「成功」、スクリプトがエラーを伴って終了した場合は「標準」である、構成過程の結果をマネージャ100に信号伝達してもよい。この信号伝達は、任意の方式で行われてもよく、構成情報を転送するために使用される、同じ方法および/または接続を使用してもよい。加えて、トラブルシューティングの目的で、インスタンスは、例えば、UNIX(登録商標)標準出力および各スクリプトのエラー出力を含む、任意の数の構成状態の更新を伝送してもよい。
After the configuration is complete, the instance signals the result of the configuration process to the
別の構成例を挙げると、多重サーバ構成を配備する時に、第2のサーバの状態に依存する情報で1つのサーバを構成することがしばしば必要である。例えば、第1のサーバは、第2のサーバに接続する必要があってもよく、この目的で、第2のサーバのIPアドレスを知る必要があってもよい。これらの場合において、第1および第2のサーバが実質的に同時に起動された場合、または2つのサーバに相互依存性がある場合(そのような場合において、他のサーバが必要とする情報を生じる前に、両方のサーバが他のサーバからの情報を待つ必要があれば、デッドロックが発生する場合がある)に、特定の課題に直面する場合がある。そのようなサーバ間依存性は、不完全な情報を構成マネージャに伝送することによって対処されてもよい。具体的には、ある入力が「欠落している」としてマークされてもよい。構成マネージャは、構成ステップを続行するが、各特定スクリプトを実行する前に、全ての必要入力の存在をチェックする。1つまたは複数の入力が欠落している場合、構成マネージャは、それが有してもよい任意の状態情報をマネージャ100に伝送し、次いで、欠落入力値について、マネージャ100に周期的にクエリを行う。欠落値を受信すると、スクリプトの実行を続行する。
As another configuration example, when deploying a multi-server configuration, it is often necessary to configure one server with information that depends on the state of the second server. For example, the first server may need to connect to the second server and may need to know the IP address of the second server for this purpose. In these cases, if the first and second servers are started at substantially the same time, or if the two servers are interdependent (in such cases, the information that other servers need is generated) If both servers need to wait for information from other servers before, a deadlock may occur), which may face certain challenges. Such inter-server dependencies may be addressed by transmitting incomplete information to the configuration manager. Specifically, an input may be marked as “missing”. The configuration manager continues with the configuration steps, but checks for the presence of all required inputs before executing each specific script. If one or more inputs are missing, the configuration manager transmits any status information that it may have to the
多重サーバ構成では、サーバ間の依存性が経時的に変化してもよい。上記の実施例を引き続き述べると、第2のサーバが故障し、置換サーバが起動された場合、依存情報を更新するように、第1のサーバの構成が変更される必要がある。加えて、構成情報を再読するように、ある過程が信号伝達または再開される必要があってもよい。一実施形態では、初期構成後、構成マネージャは、周期的にマネージャ100にポーリングして、再構成活動が必要とされるかどうかを問い合わせることができる。もしそうであれば、ポーリングへのマネージャ100の応答は、ブート時に伝送される種類と同様の構成情報を含有してもよく、構成マネージャは、要求されたスクリプトを同じ様式で実行して、仮想サーバ構成を更新する。別の実施形態では、周期的に構成マネージャをポーリングさせる代わりに、マネージャ100がサーバへの接続を開放して、要求された情報を送信することができる。
In a multiple server configuration, dependencies between servers may change over time. Continuing with the above example, if the second server fails and the replacement server is activated, the configuration of the first server needs to be changed to update the dependency information. In addition, certain processes may need to be signaled or restarted to reread the configuration information. In one embodiment, after initial configuration, the configuration manager can periodically poll the
ここで図4を参照すると、マシンイメージから構成可能な仮想サーバインスタンスを作成するのに要する時間を削減するための方法の一実施形態のフロー図が示されている。概要すると、方法は、第1のベースイメージであって、所望の仮想サーバ能力のブート可能なサブセットを含む、第1のベースイメージを生成するステップ(ステップ401)と、第1のベースイメージのサーバ構成を完成させる、一式の構成命令を生成するステップ(ステップ403)と、ベースイメージを使用して仮想サーバをインスタンス化するステップ(ステップ405)と、インスタンス化された仮想サーバに一式の構成命令のサブセットを適用するステップ(ステップ407)と、構成された仮想サーバから第2のベースイメージを生成するステップ(ステップ409)と、少なくとも1つの第2の仮想サーバ上で第2のベースマシンイメージをインスタンス化する命令を伝送するステップ(ステップ411)と、インスタンス化された第2の仮想サーバの構成マネージャが構成情報を受信する準備ができていることを決定するステップ(ステップ413)と、構成命令のサブセットに含まれない、一式の構成命令からの構成命令を含む構成情報を、インスタンス化された第2の仮想サーバに伝送するステップ(ステップ415)とを含む。 Referring now to FIG. 4, a flow diagram of one embodiment of a method for reducing the time required to create a configurable virtual server instance from a machine image is shown. In summary, the method includes generating a first base image (step 401) that is a first base image and includes a bootable subset of desired virtual server capabilities; and a server of the first base image Generating a set of configuration instructions for completing the configuration (step 403), instantiating a virtual server using the base image (step 405), and a set of configuration instructions for the instantiated virtual server. Applying a subset (step 407), generating a second base image from the configured virtual server (step 409), and instantiating the second base machine image on at least one second virtual server A step (step 411) of transmitting a command to be converted, and an instance Determining that the configuration manager of the configured second virtual server is ready to receive configuration information (step 413), and configuring instructions from the set of configuration instructions not included in the subset of configuration instructions. Transmitting the included configuration information to the instantiated second virtual server (step 415).
ここではさらに詳細に、依然として図4を参照すると、上記で説明されるような、マネージャ100を使用して仮想サーバをインスタンス化する過程は、伝送される構成情報の量および実行されるスクリプトの数に応じて、追加時間を要してもよい。したがって、構成情報のサブセットの中に構築したベースイメージを作成することが望ましくてもよい。図4に示された方法は、そのような修正されたベースイメージを効率的に形成し、インスタンス化するために使用されてもよい。
Now in further detail, still referring to FIG. 4, the process of instantiating a virtual server using the
第1のベースイメージであって、所望の仮想サーバ能力のブート可能なサブセットを含む、第1のベースイメージが、任意の方法を使用して生成されてもよい(ステップ401)。第1のベースイメージは、上記で説明される技法のうちのいずれかを使用して作成されてもよい。 A first base image that includes a bootable subset of the desired virtual server capabilities may be generated using any method (step 401). The first base image may be created using any of the techniques described above.
第1のベースイメージのサーバ構成を完成させる、一式の構成命令を生成するが、任意の方式で生成されてもよい(ステップ403)。一式の構成命令は、スクリプト、パラメータ、および関連ファイルを無制限に含む、本明細書で説明される構成情報のうちのいずれかを含んでもよい。いくつかの実施形態では、構成命令は、所望の構成を特定するユーザ入力に応じて、自動的に生成されてもよい。いくつかの実施形態では、構成命令は、ウェブインターフェースを介してユーザ入力を受信することに応じて、マネージャ100によって生成されてもよい。
A set of configuration instructions is generated that completes the server configuration of the first base image, but may be generated in any manner (step 403). The set of configuration instructions may include any of the configuration information described herein, including without limitation scripts, parameters, and associated files. In some embodiments, the configuration instructions may be automatically generated in response to user input specifying the desired configuration. In some embodiments, the configuration instructions may be generated by
次いで、仮想サーバが、任意の方式でベースイメージを使用してインスタンス化されてもよい(ステップ405)。いくつかの実施形態では、仮想サーバは、ホスト型仮想サーバサービス上でインスタンス化されてもよい。他の実施形態では、仮想サーバは、試験または構築環境内でインスタンス化されてもよい。さらに他の実施形態では、仮想サーバは、マネージャ100上でインスタンス化されてもよい。
The virtual server may then be instantiated using the base image in any manner (step 405). In some embodiments, the virtual server may be instantiated on a hosted virtual server service. In other embodiments, the virtual server may be instantiated within a test or build environment. In yet other embodiments, the virtual server may be instantiated on the
インスタンス化の後に、一式の構成命令のサブセットが、インスタンス化された仮想サーバに適用されてもよい(ステップ407)。いくつかの実施形態では、マネージャ100が、構成命令のサブセットをインスタンス化された仮想サーバに伝送してもよい。一式の構成命令のサブセットは、任意の方式で選択されてもよい。いくつかの実施形態では、ユーザがサブセットを選択してもよい。いくつかの実施形態では、サブセットは、サブセットの中の命令がどれだけ普及しているかに基づいて選択されてもよい。例えば、サブセットは、最もよく使用された構成命令を含んでもよい。他の実施形態では、サブセットは、インスタンス化された仮想サーバによって、命令をどれだけ迅速に実行することができるかに基づいて選択されてもよい。例えば、サブセットは、仮想サーバによって実行されるのに最長の時間を要する構成命令を含んでもよい。
Following instantiation, a subset of the set of configuration instructions may be applied to the instantiated virtual server (step 407). In some embodiments, the
次いで、第2のベースイメージが、構成された仮想サーバから生成されてもよい(ステップ409)。第2のベースイメージは、ベースイメージを生成するための任意の技法によって形成されてもよい。いくつかの実施形態では、実行可能コード、および構成された仮想サーバを含む添付ファイルでコピーが作られている間に、構成された仮想サーバは、実行を一時停止または停止してもよい。 A second base image may then be generated from the configured virtual server (step 409). The second base image may be formed by any technique for generating a base image. In some embodiments, the configured virtual server may pause or stop execution while the copy is made with executable code and an attachment that includes the configured virtual server.
次いで、少なくとも1つの第2の仮想サーバ上で第2のベースマシンイメージをインスタンス化する命令が、伝送されてもよい(ステップ411)。一実施形態では、第2のベースマシンイメージをインスタンス化する命令は、マネージャ100からホスト型仮想サーバサービスに伝送されてもよい。例えば、命令は、ユーザ要求への直接応答の中で、またはユーザによって設定される自動インスタンス化過程のサブセットとして、ホスト型仮想サーバサービスに伝送されてもよい。
Then, an instruction to instantiate a second base machine image on at least one second virtual server may be transmitted (step 411). In one embodiment, the instruction to instantiate the second base machine image may be transmitted from the
次いで、マネージャ100が、インスタンス化された第2の仮想サーバの構成マネージャが構成情報を受信する準備ができていることを決定してもよい(ステップ413)。この決定は、例えば、第2の仮想サーバを実行する構成マネージャからの伝送を受信するステップを含む、本明細書で説明される任意の技法またはシステムを使用して行われてもよい。
The
決定後、マネージャ100は、構成命令のサブセットに含まれない、一式の構成命令からの構成命令を含む構成情報を、インスタンス化された第2の仮想サーバに伝送してもよい(ステップ415)。構成命令の伝送は、任意の方式で、かつ任意の1つまたは複数のプロトコルを使用して行われてもよい。第2の仮想サーバが構成命令を受信した後に、第2の仮想サーバは、本明細書で説明される任意の技法を使用して構成命令を適用してもよい。
After the determination,
ここで図5A、5B、5C、5D、5E、5F、および5Gを参照すると、ホスト型仮想サーバサービスへの構成およびインスタンス化インターフェースの一実施形態のスクリーンショット例が示されている。これらの図のそれぞれを、以下の図6A、6B、および7の説明と併せて詳細に論議する。 Referring now to FIGS. 5A, 5B, 5C, 5D, 5E, 5F, and 5G, screenshots of one embodiment of a configuration and instantiation interface to a hosted virtual server service are shown. Each of these figures is discussed in detail in conjunction with the description of FIGS. 6A, 6B, and 7 below.
ここで図6Aを参照すると、ホスト型仮想サーバサービスに構成およびインスタンス化インターフェースを提供するための方法の第1の実施形態のフロー図が示されている。概要すると、マネージャ100が、ホスト型仮想サーバサービスにインターフェースを提供してもよい(ステップ601)。インターフェースは、ユーザが複数の仮想サーバ構成の中から仮想サーバ構成を選択するための入力と、ユーザが、仮想サーバを動的にインスタンス化するための方針であって、少なくとも1つの条件を含む方針を設定するための入力とを含む。次いで、マネージャ100は、少なくとも1つの条件が満たされていることを決定し(ステップ603)、選択された仮想サーバ構成に従って仮想サーバをインスタンス化する命令を、ホスト型仮想サーバサービスに伝送してもよい(ステップ605)。
Referring now to FIG. 6A, a flow diagram of a first embodiment of a method for providing a configuration and instantiation interface to a hosted virtual server service is shown. In summary, the
ここではさらに詳細に、依然として図6Aを参照すると、ホスト型仮想サーバサービスへのインターフェースが、任意の方式で提供されてもよい。いくつかの実施形態では、インターフェースは、ウェブベースのグラフィカルインターフェースを含んでもよい。そのようなインターフェースは、HTML、Java(登録商標)スクリプト、XML、画像、テキスト、Java(登録商標) Applets、および/またはSVGの任意の組み合わせを無制限に含む、ウェブブラウザを介して表示されることが可能な任意のグラフィカルインターフェースを含んでもよい。他の実施形態では、インターフェースは、コマンドラインインターフェースを含んでもよい。さらに他の実施形態では、インターフェースは、画像およびテキストの入力の組み合わせであってもよい。インターフェースは、マネージャ100、ユーザ局102、またはそれらの任意の組み合わせを無制限に含む、任意の1つまたは複数の計算デバイスによって提供されてもよい。例えば、マネージャ100は、多数のウェブページをユーザ局102に伝送してもよく、ユーザ局は、ページを表示し、ユーザ入力をマネージャ100に返送してもよい。
Now in further detail, still referring to FIG. 6A, an interface to a hosted virtual server service may be provided in any manner. In some embodiments, the interface may include a web-based graphical interface. Such an interface may be displayed via a web browser, including any combination of HTML, Java script, XML, images, text, Java Applets, and / or SVG. May include any graphical interface capable of. In other embodiments, the interface may include a command line interface. In still other embodiments, the interface may be a combination of image and text input. The interface may be provided by any one or more computing devices including, without limitation,
インターフェースは、ユーザが複数の仮想サーバ構成の中から仮想サーバ構成を選択するための任意の入力を含んでもよい。いくつかの実施形態では、ユーザは、メニューより、多数の構成の中から選択してもよい。他の実施形態では、ユーザは、1つ以上の仮想サーバ構成の名前を入力してもよい。さらに他の実施形態では、ユーザは、変数、構成スクリプト、およびサーバイメージを無制限に含む、仮想サーバ構成に対応する任意のデータを、選択のサブセットとして伝送してもよい。例えば、メニューが、以前にアップロードされたサーバ構成の中から選択する、または新規仮想サーバイメージおよび/または構成をアップロードする選択肢を提供してもよい。いくつかの実施形態では、インターフェースは、ユーザが、他のユーザによって作成および共有された仮想サーバ構成から選択することを可能にしてもよい。例えば、ユーザは、電子商取引サイトをホストするための特に有用な構成を作成してもよい。次いで、ユーザは、その構成を共有と指定し、従って、他のユーザがその構成を使用することを可能にしてもよい。いくつかの実施形態では、使用は、ライセンス条件および/または構成の作者への支払が前提となってもよい。 The interface may include any input for the user to select a virtual server configuration from a plurality of virtual server configurations. In some embodiments, the user may select from a number of configurations from a menu. In other embodiments, the user may enter the name of one or more virtual server configurations. In yet other embodiments, the user may transmit any data corresponding to the virtual server configuration, including unlimited variables, configuration scripts, and server images, as a subset of the selection. For example, a menu may provide an option to select from previously uploaded server configurations or upload a new virtual server image and / or configuration. In some embodiments, the interface may allow a user to select from virtual server configurations created and shared by other users. For example, a user may create a particularly useful configuration for hosting an electronic commerce site. The user may then specify that configuration as shared, thus allowing other users to use the configuration. In some embodiments, use may be predicated on licensing terms and / or payment to the author of the configuration.
図5Aを再度参照すると、ユーザが複数の公的および私的サーバ構成の中から選択することを可能にする、メニュー例が示されている。私的サーバ構成は、ユーザによって作成および/または修正されていてもよい。公的/プレミアムサーバ構成は、他者によって作成および共有されたサーバ構成、またはインターフェースの管理者によって利用可能となるサーバ構成を表してもよい。いくつかの実施形態では、ある公的/プレミアムサーバ構成の使用に対して、ユーザに課せられる料金があってもよい。 Referring back to FIG. 5A, an example menu is shown that allows the user to select from multiple public and private server configurations. Private server configurations may be created and / or modified by the user. The public / premium server configuration may represent a server configuration created and shared by others, or a server configuration that is made available by an interface administrator. In some embodiments, there may be a fee charged to the user for the use of certain public / premium server configurations.
図5Bを参照すると、インターフェースはまた、ユーザが、サーバ構成と関連する1つ以上のブートスクリプトを閲覧することを可能にしてもよい。次いで、ユーザは、ブートスクリプトを閲覧、選択、除去、または修正することが可能であってもよい。ユーザはまた、ユーザによって作成されるスクリプトおよび公的に利用可能となるスクリプトの両方を含む、スクリプトをサーバ構成に追加することが可能であってもよい。 Referring to FIG. 5B, the interface may also allow a user to view one or more boot scripts associated with the server configuration. The user may then be able to view, select, remove, or modify the boot script. The user may also be able to add scripts to the server configuration, including both scripts created by the user and scripts made publicly available.
インターフェースはまた、ユーザが、仮想サーバを動的にインスタンス化するための方針であって、少なくとも1つの条件を含む方針を設定するための任意の入力を含んでもよい。方針は、条件および活動の任意の組み合わせを含んでもよい。条件は、仮想サーバ使用量、ホスト型仮想サーバサービスパラメータ、時刻、日付、仮想サーバに対する伝送の受信、メッセージ待ち行列の状態(例えば、サイズまたは経年数)、および仮想サーバ上で実行するアプリケーションから送信される信号(すなわち、アプリケーションは、追加サーバが必要とされる時を内部で決定してもよい)を無制限に含む、任意の1つまたは複数の変数に関してもよい。仮想サーバ利用に関する条件は、プロセッサ負荷、帯域幅使用量、動作中の接続、メモリ負荷、最大応答時間、および平均応答時間ディスク利用、システム温度および他の環境要因、メモリエラー率、ディスクエラー/再試行率、電力供給レベル等のハードウェア健全指標を無制限に含む、任意のパラメータまたは仮想サーバ使用量のパラメータの組み合わせを使用してもよい。 The interface may also include any input for a user to set a policy for dynamically instantiating a virtual server that includes at least one condition. A policy may include any combination of conditions and activities. Conditions include virtual server usage, hosted virtual server service parameters, time, date, reception of transmissions to the virtual server, message queue status (eg size or age), and transmission from applications running on the virtual server May be related to any one or more variables, including without limitation the signal being played (i.e., the application may internally determine when additional servers are needed). Conditions regarding virtual server usage include processor load, bandwidth usage, active connections, memory load, maximum response time, and average response time disk usage, system temperature and other environmental factors, memory error rate, disk error / replay Any parameter or combination of virtual server usage parameters including unlimited hardware health indicators such as trial rate, power supply level, etc. may be used.
ここで図5Cを参照すると、ユーザが方針および条件を選択することを可能にする、インターフェース例が示されている。図5Cは、仮想サーバを管理するために有効化されてもよい条件とともに、多数の方針を示す。例えば、第1の方針は、仮想サーバのcpuアイドル時間が3分間にわたって50%を下回ると、「スケールアップ」イベントを引き起こす。スケールアップイベントは、マネージャ100によって受信されてもよく(または、マネージャ100が仮想サーバを直接監視している場合はマネージャ100によって生成される)、次いで、マネージャが、現在高負荷である仮想サーバの新規イメージをインスタンス化するように、仮想サーバサービスに命令を送信してもよい。図5Cのリストの中の第2の方針は、仮想サーバのcpuアイドル時間が10分間にわたって80%以上に上昇すると、「スケールダウン」イベントを引き起こす。スケールダウンイベントは、マネージャ100によって受信されてもよく(または、マネージャ100が仮想サーバを直接監視している場合はマネージャ100によって生成される)、次いで、マネージャが、活用されていない仮想サーバのインスタンスを除去するように、仮想サーバサービスに命令を送信してもよい。例えば、第3の方針は、仮想サーバが1分以上にわたって不動状態であれば危機的イベントが生成されることを指図する。危機的イベントは、マネージャ100によって受信される(または、マネージャ100が仮想サーバを直接監視している場合はマネージャ100によって生成される)か、または記録されてもよく、または、マネージャ100が、危機的イベントの対処のための特定手順を有してもよい。
Referring now to FIG. 5C, an example interface is shown that allows a user to select policies and conditions. FIG. 5C illustrates a number of policies, along with conditions that may be enabled to manage virtual servers. For example, the first policy triggers a “scale up” event when the virtual server cpu idle time falls below 50% for 3 minutes. The scale-up event may be received by the manager 100 (or generated by the
いくつかの実施形態では、条件は、1つ以上の仮想サーバの故障に関してもよい。例えば、条件は、実行中の仮想サーバインスタンスの故障時に、新規仮想サーバのインスタンス化を提供してもよい。これらの実施形態では、故障は、クラッシュ、実行の一時停止、通信障害、メッセージへの応答の失敗、要求へのサービス提供の失敗、破損、および/または不本意のシャットダウンを無制限に含む、仮想サーバの任意の種類の故障を含んでもよい。いくつかの実施形態では、条件は、仮想サーバの予測された故障に関してもよい。これらの実施形態では、故障は、エラーチェックコード(ECC)によるメモリのエラー率等、またはディスクの種々のエラー率(通常は、SMART基準を使用して監視される)等の、回復可能なエラー率に基づく手段を無制限に含む、任意の手段によって予測されてもよい。故障はまた、回復不可能なエラー、例えば、自発的なマシンのリブートに基づいて予測されてもよい。例えば、方針は、5〜20回の予期しないリブート(通常は、ハードウェアチェックによって開始される)の後に、サーバを閉鎖し、置換サーバをインスタンス化してもよい。 In some embodiments, the condition may relate to the failure of one or more virtual servers. For example, the condition may provide for instantiation of a new virtual server upon failure of a running virtual server instance. In these embodiments, the virtual server includes an unlimited number of crashes, suspension of execution, communication failure, failure to respond to messages, failure to service requests, corruption, and / or unintentional shutdown. Any type of failure may be included. In some embodiments, the condition may relate to a predicted failure of the virtual server. In these embodiments, the failure is a recoverable error, such as an error check code (ECC) memory error rate or various disk error rates (usually monitored using SMART criteria). It may be predicted by any means including, but not limited to, rate based means. Failures may also be predicted based on unrecoverable errors, such as spontaneous machine reboots. For example, the policy may close the server and instantiate a replacement server after 5-20 unexpected reboots (usually initiated by a hardware check).
例えば、方針は、閾値を上回る仮想サーバ使用量の条件が真である時はいつでも、新規仮想サーバをインスタンス化する活動を特定してもよい。または、例えば、方針は、午後7時に多数の仮想サーバインスタンスを終了させる活動を特定してもよい。いくつかの実施形態では、方針は、所与の時に維持する仮想サーバの総数を特定してもよい。例えば、方針は、午前6時に少なくとも4つのサーバが作動していなければならず、それが0〜4つのサーバの起動を必要としてもよいことを規定してもよい。方針はまた、例えば、総費用を限定するように、多くても20のサーバが作動していてもよいことを表すこともできる。いくつかの実施形態では、方針は、例えば、全てのサーバにわたって毎秒果たされる最小限のリクエストが100/秒を上回る場合に、複数のサーバの状態を組み合わせ、次いで、追加サーバを起動してもよい。他の実施形態では、上記の方針の任意の組み合わせが適用されてもよい。例えば、方針は、午前7時に少なくとも4つのサーバが作動していること、平均CPU利用が実行中のサーバについて40%以上であれば、1つの追加サーバが起動されること、および、任意の時点で多くても10のサーバが作動していてもよいことを要求してもよい。 For example, a policy may specify an activity to instantiate a new virtual server whenever a virtual server usage condition above a threshold is true. Or, for example, a policy may specify an activity to terminate multiple virtual server instances at 7 pm. In some embodiments, the policy may specify the total number of virtual servers that are maintained at a given time. For example, a policy may specify that at least 4 servers must be running at 6 am and that it may require 0 to 4 servers to be started. The policy may also represent that at most 20 servers may be operating, for example, to limit the total cost. In some embodiments, the policy may combine the states of multiple servers and then launch additional servers, for example, if the minimum requests made every second across all servers exceeds 100 / second . In other embodiments, any combination of the above policies may be applied. For example, the policy is that at least 7 servers are running at 7 am, if an average CPU utilization is 40% or more of the running server, one additional server is started, and any time You may request that at most 10 servers may be active.
図5Dおよび5Eは、ユーザが方針を編集および作成することを可能にする、インターフェース例を描写する。方針を構成する際に、ユーザは、リアルタイム監視データが収集されるファイルの中の変数を選択してもよい。ユーザは、方針に対する変数、条件、閾値、持続時間、および段階的拡大活動を選択してもよい。ユーザ選択は、メニュー、チェックボックス、テキストボックス、リンク、ドラッグ・アンド・ドロップ・インターフェース、およびスライダを無制限に含む、任意の入力を介して達成されてもよい。 FIGS. 5D and 5E depict example interfaces that allow a user to edit and create policies. In configuring the policy, the user may select variables in the file from which real-time monitoring data is collected. The user may select variables, conditions, thresholds, durations, and staged expansion activities for the policy. User selection may be accomplished via any input, including unlimited menus, checkboxes, text boxes, links, drag and drop interfaces, and sliders.
図5Fは、ユーザが一連のサーバのアレイに対する方針を設定することを可能にする、インターフェース例を描写する。例えば、アレイは、変更が行われる前に、サーバのどの部分がアレイを増大または縮小するイベントを生成しなければならないかを定義する、弾性閾値を有してもよい。示された実施例では、それぞれ、サーバの少なくとも51%に対して、それぞれ、スケールアップイベントまたはスケールダウンイベントが生成される場合に、アレイが増大または縮小される。アレイは、所定数のサーバによって増大または縮小されてもよく、一度に作動してもよい仮想サーバの数に確かな上限および下限を有してもよい。アレイはまた、サイズ変更イベントの間に必要とされるクールダウン時間を有してもよい。 FIG. 5F depicts an example interface that allows a user to set a policy for an array of servers. For example, the array may have an elasticity threshold that defines which portion of the server must generate an event that will increase or decrease the array before changes are made. In the illustrated embodiment, the array is increased or decreased when a scale up event or a scale down event is generated, respectively, for at least 51% of the servers, respectively. The array may be scaled up or down by a predetermined number of servers and may have certain upper and lower bounds on the number of virtual servers that may operate at one time. The array may also have a cool down time required during a resize event.
ここで図5Gを参照すると、いくつかの実施形態では、1つ以上の仮想サーバインスタンスの使用統計値をユーザに示す、表示が提供されてもよい。表示は、グラフ、ヒストグラム、チャート、アニメーション、およびテキストを無制限に含む、任意の統計値を任意の形式で提示してもよい。いくつかの実施形態では、表示は、ユーザが1つ以上のポリシーを構成する際に使用することを所望する、特定のパラメータを示してもよい。例えば、ユーザは、1ヶ月の期間にわたるCPU利用傾向を調べて、CPU利用に基づいて追加サーバインスタンスを追加する方針に対する閾値を決定してもよい。 Referring now to FIG. 5G, in some embodiments, a display may be provided that shows the user usage statistics for one or more virtual server instances. The display may present any statistics in any format, including unlimited graphs, histograms, charts, animations, and text. In some embodiments, the display may indicate certain parameters that the user desires to use when configuring one or more policies. For example, the user may examine CPU usage trends over a period of one month and determine a threshold for a policy of adding additional server instances based on CPU usage.
先に図6Bを参照すると、いくつかの実施形態では、インターフェースが、インスタンス化の時にプロパティに基づいて決定される値とともに、1つ以上の構成変数の入力を受け取ってもよい(ステップ601a)。プロパティは、他のインスタンス化された仮想サーバの名前、アドレス、および構成情報、ホスト型仮想サーバサービスのプロパティ、マネージャ100のプロパティ、1つ以上のインスタンス化された仮想サーバの利用パラメータ、またはサーバの起動を誘起した正確な条件を無制限に含む、インスタンス化時に決定される任意の値を含んでもよい。
Referring previously to FIG. 6B, in some embodiments, the interface may receive one or more configuration variable inputs along with values that are determined based on properties at the time of instantiation (
図6Aを再度参照すると、次いで、マネージャ100が、任意の方式で、少なくとも1つの条件を満たされていることを決定してもよい(ステップ603)。いくつかの実施形態では、マネージャ100は、ホスト型仮想サーバサービスからデータを受信して、条件が満たされているかどうかを決定してもよい。他の実施形態では、マネージャ100は、システム時間をチェックすること等によって、条件が満たされていることを内部で決定してもよい。さらに他の実施形態では、マネージャ100は、1つ以上のインスタンス化された仮想サーバからデータを受信することによって、条件が満たされていることを決定してもよい。
Referring back to FIG. 6A, the
条件が満たされた後に、マネージャ100は、選択された仮想サーバ構成に従って仮想サーバをインスタンス化する命令を、ホスト型仮想サーバサービスに伝送してもよい(ステップ605)。命令は、仮想サーバの構成またはインスタンス化に関する任意の情報を含んでもよい。いくつかの実施形態では、命令は、命令が伝送される時に決定される1つ以上の変数を含んでもよい。さらに他の実施形態では、命令は、本明細書で説明される任意の方式でインスタンス化された仮想サーバを構成する、構成マネージャで、仮想サーバをインスタンス化することであってもよい。
After the condition is met, the
先に図6Bを参照すると、いくつかの実施形態では、命令を伝送した後、マネージャ100は、1つ以上の変数の値を決定してもよい(ステップ607)。次いで、マネージャ100は、それらの変数の値を、インスタンス化された仮想サーバに伝送してもよい。
Referring previously to FIG. 6B, in some embodiments, after transmitting the instruction,
ここで図7を参照すると、複数のホスト型仮想サーバサービスに構成およびインスタンス化インターフェースを提供するための方法が示されている。概要すると、示された方法は、複数のホスト型仮想サーバサービスの中から選択するための方針の入力を受け取るインターフェースを付加して、図6Aおよび6Bの方法と同様である(ステップ601b)。次いで、方法は、方針に従って、仮想サーバをインスタンス化するように、複数のホスト型仮想サーバサービスのうちの1つを選択するステップを含んでもよい(ステップ705)。
Referring now to FIG. 7, a method for providing a configuration and instantiation interface for a plurality of hosted virtual server services is shown. In summary, the method shown is similar to the method of FIGS. 6A and 6B, with the addition of an interface that receives policy input for selecting among multiple hosted virtual server services (
依然として図7を参照すると、インターフェースが、本明細書で説明される任意の方式で提供されてもよい(ステップ601b)。インターフェースは、ホスト型仮想サーバサービスの中から選択するための方針をユーザが特定するための任意の入力を含んでもよい。方針は、性能、費用、使用量、および待ち時間を無制限に含む、仮想サーバサービスの任意の属性を特定してもよい。例えば、方針は、どのサービスが最良の性能/費用トーレドオフを提供するかに基づいて、複数のサービスの中から選択してもよい。または、例えば、方針は、インスタンス化される仮想サーバの種類に基づいて、複数のサービスの中から選択してもよい。
Still referring to FIG. 7, an interface may be provided in any manner described herein (
条件が満たされた後(ステップ603)、次いで、マネージャが、第1の方針に従って、複数のホスト型仮想サーバサービスのうちの1つを選択してもよい(ステップ705)。マネージャは、選択を行う過程で、任意の情報を受信し、任意の要求を送信し、または任意のパラメータを計算してもよい。次いで、マネージャは、インスタンス化命令を選択されたサービスに伝送してもよい(ステップ605)。 After the condition is met (step 603), the manager may then select one of a plurality of hosted virtual server services according to the first policy (step 705). In the process of making a selection, the manager may receive any information, send any request, or calculate any parameters. The manager may then transmit the instantiation instruction to the selected service (step 605).
具体的な好ましい実施形態を参照して、本開示を具体的に示し、説明したが、添付の請求項によって規定されるような本開示の精神および範囲から逸脱することなく、形態および詳細の種々の変更がそれに行われてもよいことが、当業者によって理解されるべきである。 Although the disclosure has been particularly shown and described with reference to specific preferred embodiments, various forms and details can be made without departing from the spirit and scope of the disclosure as defined by the appended claims. It should be understood by those skilled in the art that changes may be made to it.
Claims (26)
a.仮想サーバマネージャによって、複数のホスト型仮想サーバサービスにインターフェースを提供することであって、該複数のホスト型仮想サーバサービスの各々は、複数の物理的マシンを含み、該複数の物理的マシンは、それぞれ、1つ以上の仮想サーバをホストし、該インターフェースは、
i.ユーザが、複数の仮想サーバ構成の中から、1つの仮想サーバ構成を選択することを可能にする入力手段であって、各仮想サーバ構成は、ブートイメージと構成情報とを含む、入力手段と、
ii.ユーザが、仮想サーバを動的にインスタンス化するための方針を設定するための入力手段であって、該方針は、少なくとも1つの条件を含む、入力手段と
を含む、ことと、
b.該仮想サーバマネージャによって、該少なくとも1つの条件が満たされていることを決定することと、
c.該仮想サーバマネージャによって、該選択された仮想サーバ構成を構成するブートイメージに従って仮想サーバをインスタンス化する命令を、該複数のホスト型仮想サーバサービスのうちの1つに伝送することと、
d.該仮想サーバマネージャによって、該複数のホスト型仮想サーバサービスのうちの該1つを構成する該物理的マシンのうちの1つにおける該ブートイメージのインスタンス化が完了していることを決定することと、
e.該仮想サーバマネージャによって、該構成情報を該インスタンス化されたブートイメージに伝送することと
を含む、方法。 A method for providing a configuration and instantiation interface to a hosted virtual server service, the method comprising:
a. The virtual server manager, comprising: providing an interface to multiple hosted virtual server services, each hosted virtual server service the plurality of comprises a plurality of physical machines, physical machines plurality of, each host one or more virtual servers, the interface,
i. An input unit that allows a user to select one virtual server configuration from among a plurality of virtual server configurations, each virtual server configuration including a boot image and configuration information;
ii. An input means for a user to set a policy for dynamically instantiating a virtual server, the policy including an input means including at least one condition;
b. Determining by the virtual server manager that the at least one condition is satisfied;
c. Transmitting, by the virtual server manager, an instruction to instantiate a virtual server according to a boot image constituting the selected virtual server configuration to one of the plurality of host-type virtual server services;
d. By the virtual server manager, determining that the instantiation of in one said boot image of the physical machine which constitutes the one the one of the plurality of hosted virtual server service is completed ,
e. Transmitting the configuration information to the instantiated boot image by the virtual server manager.
g.該決定された値を前記インスタンス化された仮想サーバに伝送するステップと
をさらに含む、請求項12に記載の方法。 f. Determining a value for each of the identified at least one configuration variable;
g. 13. The method of claim 12, further comprising: transmitting the determined value to the instantiated virtual server.
g.該決定された値を前記インスタンス化された仮想サーバに伝送するステップと
をさらに含む、請求項14に記載の方法。 f. Determining a value for each of the identified at least one configuration variable;
g. 15. The method of claim 14, further comprising: transmitting the determined value to the instantiated virtual server.
a.仮想サーバマネージャによって、複数の物理的マシンを含む複数のホスト型仮想サーバサービスにインターフェースを提供することであって、該複数の物理的マシンの各々は、1つ以上の仮想サービスをホストし、該インターフェースは、
i.ユーザが、複数の仮想サーバ構成の中から、1つの仮想サーバ構成を選択することを可能にする入力手段であって、各仮想サーバ構成は、ブートイメージと構成情報とを含む、入力手段と、
ii.ユーザが、該複数のホスト型仮想サーバサービスの中から選択するための第1の方針を設定するための入力手段と、
iii.仮想サーバを動的にインスタンス化するための第2の方針をユーザが設定するための入力手段であって、該方針は、少なくとも1つの条件を含む、入力手段と
を含む、ことと、
b.該仮想サーバマネージャによって、該少なくとも1つの条件が満たされていることを決定することと、
c.該仮想サーバマネージャによって、該第1の方針に従って、該複数のホスト型仮想サーバサービスのうちの1つを選択することと、
d.該仮想サーバマネージャによって、該選択された仮想サーバ構成を構成するブートイメージに従って仮想サーバをインスタンス化する命令を、該選択されたホスト型仮想サーバサービスに伝送することと、
e.該仮想サーバマネージャによって、該複数のホスト型仮想サーバサービスのうちの選択された1つを構成する該物理的マシンのうちの1つにおける該ブートイメージのインスタンス化が完了していることを決定することと、
f.該仮想サーバマネージャによって、該構成情報を該インスタンス化されたブートイメージに伝送することと
を含む、方法。 A method for providing a configuration and instantiation interface to a plurality of hosted virtual server services, the method comprising:
a. The virtual server manager, comprising: providing an interface to multiple hosted virtual server service including a plurality of physical machines, each of the plurality of physical machines, host one or more virtual services, the The interface is
i. Input means that allows a user to select one virtual server configuration from among a plurality of virtual server configurations, each virtual server configuration including a boot image and configuration information;
ii. An input means for a user to set a first policy for selecting from among the plurality of host-type virtual server services;
iii. The second strategy for dynamically instantiating virtual servers an input means for a user to set, comprising a needle comprises at least one condition, and an input unit, and that,
b. Determining by the virtual server manager that the at least one condition is satisfied;
c. Selecting one of the plurality of hosted virtual server services according to the first policy by the virtual server manager;
d. By the virtual server manager, a transmitting instructions to instantiate a virtual server according to the boot image constituting the virtual server configuration that is the selected, to the selected host virtual server service,
e. The virtual server manager determines that the boot image has been instantiated on one of the physical machines that make up a selected one of the plurality of hosted virtual server services. And
f. Transmitting the configuration information to the instantiated boot image by the virtual server manager.
複数のホスト型仮想サーバサービスにインターフェースを提供するウェブサーバであって、該複数のホスト型仮想サーバサービスの各々は、複数の物理的マシンを含み、該複数の物理的マシンは、それぞれ、少なくとも1つの仮想サーバをホストし、該インターフェースは、
i.ユーザが、複数の仮想サーバ構成の中から、1つの仮想サーバ構成を選択することを可能にする入力手段であって、各仮想サーバ構成は、ブートイメージと構成情報とを含む、入力手段と、
ii.ユーザが、仮想サーバを動的にインスタンス化するための方針を設定するための入力手段であって、該方針は、少なくとも1つの条件を含む、入力手段と
を含む、ウェブサーバと、
該ウェブサーバと通信する計算デバイスであって、該計算デバイスは、該少なくとも1つの条件が満たされていることを決定することと、該選択された仮想サーバ構成を構成するブートイメージに従って仮想サーバをインスタンス化する命令を、該複数のホスト型仮想サーバサービスのうちの1つに伝送することとを行う、計算デバイスと、
仮想サーバマネージャであって、該仮想サーバマネージャは、該複数のホスト型仮想サーバサービスのうちの選択された1つを構成する該物理的マシンのうちの1つにおける該ブートイメージのインスタンス化が完了していることを決定し、該構成情報を該インスタンス化されたブートイメージに伝送する、仮想サーバマネージャと
を含む、システム。 A system for providing a configuration and instantiation interface to a hosted virtual server service, the system comprising:
A web server that provides an interface to a plurality of host-type virtual server services , each of the plurality of host-type virtual server services including a plurality of physical machines, each of the plurality of physical machines being at least one Hosting two virtual servers , the interface
i. An input unit that allows a user to select one virtual server configuration from among a plurality of virtual server configurations, each virtual server configuration including a boot image and configuration information;
ii. An input means for a user to set a policy for dynamically instantiating a virtual server, the policy including an input means including at least one condition;
A computing device that communicates with the web server, wherein the computing device determines that the at least one condition is met and configures a virtual server according to a boot image that constitutes the selected virtual server configuration. instructions to instantiate, performing the transmitting to one of the hosted virtual server service of the plurality, and computing devices,
A virtual server manager that completes instantiation of the boot image on one of the physical machines comprising a selected one of the plurality of hosted virtual server services And a virtual server manager for determining that the configuration information is transmitted to the instantiated boot image.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/050,865 US8489995B2 (en) | 2008-03-18 | 2008-03-18 | Systems and methods for efficiently managing and configuring virtual servers |
US12/050,865 | 2008-03-18 | ||
PCT/US2009/036764 WO2009117288A1 (en) | 2008-03-18 | 2009-03-11 | Methods and systems for efficiently managing and configuring virtual servers |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2011523472A JP2011523472A (en) | 2011-08-11 |
JP2011523472A5 JP2011523472A5 (en) | 2013-04-11 |
JP5347016B2 true JP5347016B2 (en) | 2013-11-20 |
Family
ID=40790523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011500869A Active JP5347016B2 (en) | 2008-03-18 | 2009-03-11 | Method and system for efficiently managing and configuring virtual servers |
Country Status (6)
Country | Link |
---|---|
US (4) | US8489995B2 (en) |
EP (1) | EP2255506A1 (en) |
JP (1) | JP5347016B2 (en) |
AU (2) | AU2009225796B2 (en) |
CA (1) | CA2715020C (en) |
WO (1) | WO2009117288A1 (en) |
Families Citing this family (60)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11037151B1 (en) | 2003-08-19 | 2021-06-15 | Stamps.Com Inc. | System and method for dynamically partitioning a postage evidencing system |
US8825109B2 (en) * | 2008-02-15 | 2014-09-02 | Blackberry Limited | Policy-based data routing for a multi-mode device |
US8972978B2 (en) * | 2008-05-02 | 2015-03-03 | Skytap | Multitenant hosted virtual machine infrastructure |
US8484355B1 (en) * | 2008-05-20 | 2013-07-09 | Verizon Patent And Licensing Inc. | System and method for customer provisioning in a utility computing platform |
US10079716B2 (en) | 2009-03-04 | 2018-09-18 | Amazon Technologies, Inc. | User controlled environment updates in server cluster |
US8595714B1 (en) * | 2009-03-04 | 2013-11-26 | Amazon Technologies, Inc. | User controlled environment updates in server cluster |
JP5361659B2 (en) | 2009-10-27 | 2013-12-04 | キヤノン株式会社 | Information processing system, information processing system control method, and program thereof |
US10089797B1 (en) | 2010-02-25 | 2018-10-02 | Stamps.Com Inc. | Systems and methods for providing localized functionality in browser based postage transactions |
US9842308B1 (en) | 2010-02-25 | 2017-12-12 | Stamps.Com Inc. | Systems and methods for rules based shipping |
JP5648902B2 (en) * | 2010-09-30 | 2015-01-07 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Method for managing snapshots of virtual server and apparatus embodying the method |
US9053339B2 (en) * | 2010-10-27 | 2015-06-09 | Hytrust, Inc. | System and method for secure storage of virtual machines |
US9152293B2 (en) * | 2010-12-09 | 2015-10-06 | Verizon Patent And Licensing Inc. | Server IP addressing in a computing-on-demand system |
JP5444257B2 (en) * | 2011-01-11 | 2014-03-19 | 日本電信電話株式会社 | Software image distribution method, repository apparatus, server, and system |
EP2678773B1 (en) * | 2011-02-23 | 2019-12-18 | Level 3 Communications, LLC | Analytics management |
US8954542B2 (en) * | 2011-06-14 | 2015-02-10 | Avaya Inc. | Method and system for transmitting and receiving configuration and registration information for session initiation protocol devices |
JPWO2013027331A1 (en) * | 2011-08-25 | 2015-03-05 | 日本電気株式会社 | Information processing apparatus, information processing method, and program |
US8761101B1 (en) * | 2011-10-13 | 2014-06-24 | Excelfore Corporation | Network based machine-to-machine system for monitoring |
US9274838B2 (en) * | 2011-12-22 | 2016-03-01 | Netapp, Inc. | Dynamic instantiation and management of virtual caching appliances |
KR20130074401A (en) * | 2011-12-26 | 2013-07-04 | 삼성전자주식회사 | Computing apparatus having multi-level scheduler based on multi-core and scheduling method thereof |
US9351176B2 (en) * | 2012-01-09 | 2016-05-24 | Qualcomm Incorporated | Phase and amplitude tracking in the presence of a walking pilot signal |
US9043784B2 (en) | 2012-01-12 | 2015-05-26 | Red Hat, Inc. | Management of inter-dependent configurations of virtual machines in a cloud |
US9098345B2 (en) * | 2012-02-01 | 2015-08-04 | Softlayer Technologies, Inc. | System and method for portable and flexible deployment of servers |
TW201336264A (en) * | 2012-02-16 | 2013-09-01 | Hon Hai Prec Ind Co Ltd | Method for increasing virtual machines |
US9055067B1 (en) * | 2012-03-26 | 2015-06-09 | Amazon Technologies, Inc. | Flexible-location reservations and pricing for network-accessible resource capacity |
US9760928B1 (en) * | 2012-03-26 | 2017-09-12 | Amazon Technologies, Inc. | Cloud resource marketplace for third-party capacity |
US9069606B2 (en) * | 2012-05-08 | 2015-06-30 | Adobe Systems Incorporated | Autonomous application-level auto-scaling in a cloud |
US9952909B2 (en) | 2012-06-20 | 2018-04-24 | Paypal, Inc. | Multiple service classes in a shared cloud |
GB2507779A (en) * | 2012-11-09 | 2014-05-14 | Ibm | Terminating a virtual machine in response to user inactivity in a cloud computing environment |
CA2911614C (en) * | 2013-05-08 | 2019-10-29 | Amazon Technologies, Inc. | User-influenced placement of virtual machine instances |
US9665387B2 (en) | 2013-05-08 | 2017-05-30 | Amazon Technologies, Inc. | User-influenced placement of virtual machine instances |
US20150052382A1 (en) * | 2013-08-14 | 2015-02-19 | Netapp, Inc. | Failover methods and systems for a virtual machine environment |
JP5855057B2 (en) * | 2013-09-04 | 2016-02-09 | キヤノン株式会社 | Information processing system, system, information processing system control method, and program thereof |
US20150074659A1 (en) * | 2013-09-06 | 2015-03-12 | Vmware, Inc. | Methods and Apparatus to Perform Web-Based Installations and/or Upgrade Architectures for Enterprise Software |
JP6310689B2 (en) * | 2013-12-16 | 2018-04-11 | 株式会社日立製作所 | Management server and management server control method |
US10476809B1 (en) * | 2014-03-12 | 2019-11-12 | Amazon Technologies, Inc. | Moving virtual machines using migration profiles |
JP2015194810A (en) | 2014-03-31 | 2015-11-05 | 富士通株式会社 | Scale-out method, system, information processor, management device, and program |
EP3158686B1 (en) * | 2014-06-26 | 2020-01-08 | Huawei Technologies Co., Ltd. | System and method for virtual network function policy management |
US9979674B1 (en) * | 2014-07-08 | 2018-05-22 | Avi Networks | Capacity-based server selection |
US10754821B2 (en) * | 2014-07-29 | 2020-08-25 | Hewlett Packard Enterprise Development Lp | Virtual file server |
CN104243563B (en) * | 2014-09-03 | 2017-11-24 | 河海大学 | A kind of parallel system quick deployment method towards AWS platforms |
WO2016050495A1 (en) | 2014-10-03 | 2016-04-07 | British Telecommunications Public Limited Company | Operation of data network |
US10463957B2 (en) * | 2015-03-17 | 2019-11-05 | Amazon Technologies, Inc. | Content deployment, scaling, and telemetry |
US10757168B2 (en) * | 2015-11-13 | 2020-08-25 | Verizon Patent And Licensing, Inc. | Mechanism for exchanging order data |
US10001981B2 (en) * | 2016-05-26 | 2018-06-19 | At&T Intellectual Property I, L.P. | Autonomous server installation |
CA3036711A1 (en) * | 2016-10-03 | 2018-04-12 | Stratus Digital Systems | Transient transaction server |
US20190114630A1 (en) | 2017-09-29 | 2019-04-18 | Stratus Digital Systems | Transient Transaction Server DNS Strategy |
US10372520B2 (en) | 2016-11-22 | 2019-08-06 | Cisco Technology, Inc. | Graphical user interface for visualizing a plurality of issues with an infrastructure |
US10739943B2 (en) | 2016-12-13 | 2020-08-11 | Cisco Technology, Inc. | Ordered list user interface |
JP6957194B2 (en) * | 2016-12-13 | 2021-11-02 | キヤノン株式会社 | Service system, its control method, and its program |
CN107741853A (en) * | 2017-09-20 | 2018-02-27 | 深圳市买买提乐购金融服务有限公司 | A kind of method, system and the information management platform of deployment services device |
US10678574B1 (en) * | 2017-11-01 | 2020-06-09 | Amazon Technologies, Inc. | Reconfiguration rate-control |
US10862867B2 (en) | 2018-04-01 | 2020-12-08 | Cisco Technology, Inc. | Intelligent graphical user interface |
US11467882B2 (en) * | 2018-12-21 | 2022-10-11 | Target Brands, Inc. | Methods and systems for rapid deployment of configurable computing resources |
CN110299984A (en) * | 2019-06-05 | 2019-10-01 | 上海易点时空网络有限公司 | Idle discovery method and device suitable for vehicle mounted multimedia |
CN110448232B (en) * | 2019-08-14 | 2021-05-18 | 成都普诺思博科技有限公司 | Intelligent cleaning robot management system based on cloud platform |
US11016799B1 (en) * | 2020-01-30 | 2021-05-25 | Coupang Corp. | Systems and methods for centralization of server initialization information |
US11669361B1 (en) * | 2021-04-01 | 2023-06-06 | Ai-Blockchain, Inc. | System, method and program product for optimizing computer processing power in cloud computing systems |
CN113076109B (en) * | 2021-04-08 | 2023-07-04 | 成都安恒信息技术有限公司 | Cross-platform script language deployment method |
CN115914371B (en) * | 2022-10-31 | 2024-08-27 | 蚂蚁区块链科技(上海)有限公司 | Instance starting and message forwarding method and device |
CN117370066B (en) * | 2023-12-08 | 2024-03-15 | 杭州沃趣科技股份有限公司 | Method, device, equipment and storage medium for recovering server cluster |
Family Cites Families (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6974A (en) * | 1849-12-25 | William o | ||
US91792A (en) * | 1869-06-22 | Improvement in water-wheels | ||
US179955A (en) * | 1876-07-18 | Improvement in weather-boarding | ||
US103150A (en) * | 1870-05-17 | cushman | ||
US49786A (en) * | 1865-09-05 | Improvement in springs | ||
US52016A (en) * | 1866-01-16 | Improvement in bow-irons for carriages | ||
US34416A (en) * | 1862-02-18 | Churn | ||
US233455A (en) * | 1880-10-19 | Rotary plow | ||
US78467A (en) * | 1868-06-02 | James mont-gome by | ||
EP1021917A4 (en) | 1997-03-31 | 2002-05-15 | Broadband Associates | Method and system for providing a presentation on a network |
US7441045B2 (en) | 1999-12-13 | 2008-10-21 | F5 Networks, Inc. | Method and system for balancing load distribution on a wide area network |
US7139728B2 (en) * | 1999-12-30 | 2006-11-21 | Rod Rigole | Systems and methods for online selection of service providers and management of service accounts |
US7047301B2 (en) | 2000-01-31 | 2006-05-16 | F5 Networks, Inc. | Method and system for enabling persistent access to virtual servers by an LDNS server |
JP3833117B2 (en) * | 2000-01-31 | 2006-10-11 | 富士通株式会社 | Server determination method and apparatus |
US6978232B1 (en) * | 2000-06-30 | 2005-12-20 | Interland, Inc. | Method and system of demonstrating a service that provides computerized transactions using a computer network |
WO2002003220A2 (en) * | 2000-07-05 | 2002-01-10 | Ernst & Young Llp | Method and apparatus for providing computer services |
US7865596B2 (en) | 2000-11-02 | 2011-01-04 | Oracle America, Inc. | Switching system for managing storage in digital networks |
US7299276B1 (en) | 2000-12-14 | 2007-11-20 | Cisco Technology, Inc. | Technique for monitoring health of network device using data format verification |
JP2002202959A (en) * | 2000-12-28 | 2002-07-19 | Hitachi Ltd | Virtual computer system for performing dynamic resource distribution |
US7102996B1 (en) | 2001-05-24 | 2006-09-05 | F5 Networks, Inc. | Method and system for scaling network traffic managers |
US7574496B2 (en) * | 2001-11-30 | 2009-08-11 | Surgient, Inc. | Virtual server cloud interfacing |
US7085921B2 (en) * | 2001-12-31 | 2006-08-01 | Hewlett-Packard Development Company, L.P. | Embedded OS PXE server |
US20030149755A1 (en) | 2002-02-06 | 2003-08-07 | Emek Sadot | Client-controlled load balancer |
JP4119162B2 (en) * | 2002-05-15 | 2008-07-16 | 株式会社日立製作所 | Multiplexed computer system, logical computer allocation method, and logical computer allocation program |
US7080378B1 (en) * | 2002-05-17 | 2006-07-18 | Storage Technology Corporation | Workload balancing using dynamically allocated virtual servers |
US7318100B2 (en) | 2003-04-14 | 2008-01-08 | Riverbed Technology, Inc. | Cooperative proxy auto-discovery and connection interception |
AU2003280629A1 (en) * | 2002-11-01 | 2004-05-25 | Matsushita Electric Industrial Co., Ltd. | Service software acquiring method, system and electronic communication device used therefor |
US8209680B1 (en) * | 2003-04-11 | 2012-06-26 | Vmware, Inc. | System and method for disk imaging on diverse computers |
US8776050B2 (en) * | 2003-08-20 | 2014-07-08 | Oracle International Corporation | Distributed virtual machine monitor for managing multiple virtual resources across multiple physical nodes |
US7302053B2 (en) * | 2003-12-01 | 2007-11-27 | International Business Machines Corporation | System and method for providing a communication session |
JP4448719B2 (en) * | 2004-03-19 | 2010-04-14 | 株式会社日立製作所 | Storage system |
JP4050249B2 (en) * | 2004-05-20 | 2008-02-20 | 株式会社エヌ・ティ・ティ・データ | Virtual machine management system |
US20060155912A1 (en) * | 2005-01-12 | 2006-07-13 | Dell Products L.P. | Server cluster having a virtual server |
US8583770B2 (en) * | 2005-02-16 | 2013-11-12 | Red Hat, Inc. | System and method for creating and managing virtual services |
US7433935B1 (en) | 2005-04-29 | 2008-10-07 | Hewlett-Packard Development Company, L.P. | Self-adapting plug-in service |
US20070008974A1 (en) | 2005-07-07 | 2007-01-11 | International Business Machines Corporation | Method, apparatus and computer program product for network services |
US7590989B2 (en) | 2005-07-08 | 2009-09-15 | Microsoft Corporation | Load balancer management |
US20070174429A1 (en) | 2006-01-24 | 2007-07-26 | Citrix Systems, Inc. | Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment |
US7853945B2 (en) * | 2006-02-22 | 2010-12-14 | Michael Kramer | Integrated computer server imaging |
US7840398B2 (en) | 2006-03-28 | 2010-11-23 | Intel Corporation | Techniques for unified management communication for virtualization systems |
JP4434168B2 (en) * | 2006-03-30 | 2010-03-17 | 日本電気株式会社 | On-demand client service system, management method thereof, and program |
US8190682B2 (en) * | 2006-03-31 | 2012-05-29 | Amazon Technologies, Inc. | Managing execution of programs by multiple computing systems |
US7904899B2 (en) * | 2006-06-20 | 2011-03-08 | Intuit Inc. | Third-party customization of a configuration file |
US8572721B2 (en) | 2006-08-03 | 2013-10-29 | Citrix Systems, Inc. | Methods and systems for routing packets in a VPN-client-to-VPN-client connection via an SSL/VPN network appliance |
US8312120B2 (en) | 2006-08-22 | 2012-11-13 | Citrix Systems, Inc. | Systems and methods for providing dynamic spillover of virtual servers based on bandwidth |
US7720931B2 (en) | 2006-10-13 | 2010-05-18 | International Business Machines Corporation | System and method of remotely managing and loading artifacts |
US8484656B2 (en) | 2007-03-12 | 2013-07-09 | Citrix Systems, Inc. | Systems and methods for providing global server load balancing of heterogeneous devices |
US7941599B2 (en) * | 2007-03-23 | 2011-05-10 | Kace Networks, Inc. | IT automation appliance imaging system and method |
US7702971B2 (en) * | 2007-06-06 | 2010-04-20 | Dell Products L.P. | System and method for predictive failure detection |
US7383327B1 (en) * | 2007-10-11 | 2008-06-03 | Swsoft Holdings, Ltd. | Management of virtual and physical servers using graphic control panels |
US7991989B2 (en) * | 2007-12-20 | 2011-08-02 | Dell Product L.P. | System and method for OS boot image provisioning based on user identity to enable mobile users |
WO2009108943A2 (en) | 2008-02-29 | 2009-09-03 | Doyenz Incorporated | Automation for virtualized it environments |
-
2008
- 2008-03-18 US US12/050,865 patent/US8489995B2/en active Active
-
2009
- 2009-03-11 WO PCT/US2009/036764 patent/WO2009117288A1/en active Application Filing
- 2009-03-11 AU AU2009225796A patent/AU2009225796B2/en active Active
- 2009-03-11 JP JP2011500869A patent/JP5347016B2/en active Active
- 2009-03-11 EP EP09722682A patent/EP2255506A1/en not_active Withdrawn
- 2009-03-11 CA CA2715020A patent/CA2715020C/en not_active Expired - Fee Related
-
2012
- 2012-04-20 US US13/452,161 patent/US20120203884A1/en not_active Abandoned
- 2012-04-20 US US13/452,740 patent/US8504920B2/en active Active
- 2012-06-29 US US13/538,820 patent/US8601375B2/en active Active
-
2014
- 2014-06-27 AU AU2014203514A patent/AU2014203514B2/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
US8504920B2 (en) | 2013-08-06 |
AU2014203514A1 (en) | 2014-07-17 |
AU2014203514B2 (en) | 2016-05-19 |
US8601375B2 (en) | 2013-12-03 |
CA2715020C (en) | 2016-01-05 |
US8489995B2 (en) | 2013-07-16 |
EP2255506A1 (en) | 2010-12-01 |
US20090241030A1 (en) | 2009-09-24 |
US20120203884A1 (en) | 2012-08-09 |
US20120265863A1 (en) | 2012-10-18 |
AU2009225796A1 (en) | 2009-09-24 |
US20120198345A1 (en) | 2012-08-02 |
AU2009225796B2 (en) | 2014-03-27 |
CA2715020A1 (en) | 2009-09-24 |
JP2011523472A (en) | 2011-08-11 |
WO2009117288A1 (en) | 2009-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5347016B2 (en) | Method and system for efficiently managing and configuring virtual servers | |
US10042628B2 (en) | Automated upgrade system for a service-based distributed computer system | |
US9069438B2 (en) | Allocating virtual machines according to user-specific virtual machine metrics | |
JP6144346B2 (en) | Scaling virtual machine instances | |
JP5680961B2 (en) | Integrated provision of physical and virtual images | |
US9116715B2 (en) | Systems and methods for efficiently booting and configuring virtual servers | |
US8909767B2 (en) | Cloud federation in a cloud computing environment | |
US9965294B2 (en) | Methods, devices, and systems for establishing, setting-up, and maintaining a virtual computer infrastructure | |
US20170171026A1 (en) | Configuring a cloud from aggregate declarative configuration data | |
CN110908753B (en) | Intelligent fusion cloud desktop server, client and system | |
JP2018513510A (en) | Dynamic configuration of data volumes | |
TW200828118A (en) | Method and process for using common preinstallation environment for heterogeneous operating systems | |
CN113485830A (en) | Micro-service automatic capacity expansion method for power grid monitoring system | |
US10073689B2 (en) | Managing application lifecycles within a federation of distributed software applications | |
KR20180080791A (en) | Method for automatically configuring virtualized network function, and network function virtualization management and orchestration for the same | |
CN112152988B (en) | Method, system, computer device and medium for asynchronous NBMP request processing | |
US11853783B1 (en) | Identifying hosts for dynamically enabling specified features when resuming operation of a virtual compute instance | |
US20240028098A1 (en) | Session preservation for automated power management | |
Frid et al. | Open Source SaaS Cloud Platforms: Concepts, Virtualization Overhead and Deployment Issues |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120312 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120312 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120604 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130215 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130626 |
|
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: 20130719 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130819 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5347016 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |