IP Library Granted Patent US 10,587,471
Granted Patent B1
US 10,587,471 · App. 14/109,803 · Granted Mar 10, 2020

Criterion-based computing instance activation

Inventors: Gavin Alexander Bramhill (Western Cape, ZA); Andries Petrus Johannes Dippenaar (Western Cape, ZA); Mathew Daniel (Gauteng, ZA)
Assignee: Amazon Technologies, Inc.
H04L41/082G06F9/5088
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,587,471
App. No.
14/109,803
Granted
Mar 10, 2020
Kind
B1
Abstract

Method and apparatus for activating a computing instance are disclosed. In the method and apparatus, a computing instance is activated if received traffic addressed to the computing instance is determined to satisfy one or more conditions for computing instance activation. Following activation, the data may be sent to the computing instance for processing.

Claims (62)

1. A computer-implemented method, comprising:

receiving, from a customer of a computing resource service provider for which a virtual machine instance is hosted, one or more activation criteria, the one or more activation criteria specifying one or more conditions to activate the virtual machine instance based at least in part on obtained traffic specifying a network address of the virtual machine instance;

on a condition that the virtual machine instance is not active, associating the network address with a monitoring entity, the monitoring entity managing the network address by at least evaluating the obtained traffic at a network location different from the network location of the virtual machine instance during an interval of time the virtual machine instance was active to determine whether the one or more activation criteria are met;

propagating updated routing information to at least one routing device of the computing resource service provider to update routing information to reflect that the monitoring entity is managing the network address; and

on a condition that the one or more activation criteria are met:

obtaining, for the virtual machine instance, configuration information specifying an operational state of the virtual machine instance, the configuration information generated at a time at which the virtual machine instance was deactivated;

selecting, based at least in part on the configuration information, a physical host to instantiate the virtual machine instance;

transmitting, to the physical host, the configuration information to cause the physical host to instantiate the virtual machine instance to cause the virtual machine instance to become active and to have the operational state, whereby as a result of becoming active the virtual machine instance being available to process the obtained traffic; and

sending the obtained traffic to the virtual machine instance to process the obtained traffic.

2. The computer-implemented method of claim 1 , wherein:

the one or more conditions to activate the virtual machine instance are detected by the monitoring entity and include at least one of a protocol type, a packet count, a packet content, a source port address, a destination port address, a network address, a host address, a time of receipt and a rate of receipt associated with one or more packets of the obtained traffic; and

the one or more activation criteria are met if the one or more packets satisfy the one or more conditions to activate the virtual machine instance.

3. The computer-implemented method of claim 1 , wherein the configuration information specifies at least one of a computational power, memory size or software configuration associated with the virtual machine instance.

4. The computer-implemented method of claim 1 , wherein on a condition that the one or more activation criteria are not met, the method further comprises discarding a portion of the obtained traffic, the discarded portion being excluded from usage in evaluating whether subsequently obtained traffic satisfies an activation condition.

5. The computer-implemented method of claim 1 , wherein the method further comprises, on a condition that the one or more activation criteria are met:

sending an indication to the customer that the one or more activation criteria are met; and

causing the virtual machine instance to become active on a condition that an acknowledgement is received from the customer.

6. The computer-implemented method of claim 1 , wherein transmitting, to the physical host, the configuration information to cause the physical host to instantiate the virtual machine instance further includes launching one or more workflows that specify a set of operations to instantiate the virtual machine instance on the physical host.

7. A system, comprising:

a compute service implemented by one or more computer systems including processors and memory, wherein the memory includes instructions that upon execution by the processors cause the compute service to at least:

obtain, through an application programming interface (API) call, one or more criteria to activate a virtual machine instance under control of the compute service and instantiated using individual physical hosts of a plurality of physical hosts;

as a result of the virtual machine instance being deactivated, assign a network address associated with the virtual machine instance to a computing instance responsible for monitoring the network address while the virtual machine is inactive;

update routing information so that data directed to the network address is routed to the computing instance;

obtain the data being addressed to the network address associated with the virtual machine instance;

evaluate, at the computing instance, the data to determine whether the one or more criteria to activate the virtual machine instance are met; and

if the one or more criteria are met:

obtain configuration information of the virtual machine instance;

select, based at least in part on the configuration information and from the plurality of physical hosts, a physical host to instantiate the virtual machine instance; and

provide, to the physical host, the configuration information to cause the physical host to instantiate the virtual machine instance, to cause the virtual machine instance to become active.

8. The system of claim 7 , wherein the one or more criteria to activate the virtual machine instance specify one or more of a protocol type of a data packet, a number of data packets, a packet content, a source port associated with the data packet, a destination port associated with the data packet, a network address, a host address, a time of receipt of the packet and a rate of receipt of the packet.

9. The system of claim 7 , wherein the compute service further:

excludes data associated with at least one of port scanning, probing, or networking mapping from evaluation in determining whether the one or more criteria to activate the virtual machine instance are met; and

deletes at least a portion of the obtained data if the one or more criteria are not met.

10. The system of claim 7 , wherein the compute service further:

tracks one or more activation times associated with the virtual machine instance, the one or more activation times representing historical activation times of the virtual machine instance; and

reserves computing resources for the virtual machine instance based at least in part on an analysis of the one or more activation times.

11. The system of claim 7 , wherein:

the one or more criteria to activate the virtual machine instance are received from a customer; and

the compute service further, if the one or more criteria are met, generates an indication that the one or more activation criteria are available to the customer.

12. The system of claim 11 , wherein the compute service further causes the virtual machine instance to become active and transmits the data to the virtual machine instance, to process the data, on a condition that an acknowledgement is received from the customer.

13. The system of claim 7 , further comprising a usage tracking service that:

as a result of the virtual machine instance becoming active, monitors utilization metrics of the virtual machine instance; and

causes the virtual machine instance to be deactivated based at least in part on the utilization metrics.

14. A non-transitory computer-readable storage medium storing thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:

obtain one or more data packets specifying a network address assigned to a virtual machine instance;

associate the network address with a computing instance based at least in part on the virtual machine instance being in a hibernated state;

generate an update to a routing table as a result of associating the network address with the computing instance, the update when applied by one or more routing devices to the routing table causing the one or more data packets to be routed to the computing instance;

generate a determination to activate the virtual machine instance based at least in part on the one or more data packets satisfying one or more conditions to activate the virtual machine instance, the one or more conditions specifying at least one of a packet count, a packet type, or a port number associated with the one or more data packets;

obtain, based at least in part on the determination, configuration information corresponding to the virtual machine instance;

select, based at least in part on the configuration information, a host to activate the virtual machine instance; and

cause a request to activate the virtual machine instance to be sent to the physical host, the request including the configuration information.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the instructions further cause the computer system to track one or more activation times associated with the virtual machine instance, the one or more activation times representing historical activation times of the virtual machine instance.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the instructions further cause the computer system to reserve computing resources for the virtual machine instance based at least in part on an analysis of the one or more activation times.

17. The non-transitory computer-readable storage medium of claim 14 , wherein the one or more conditions further specify at least one of a network address, a host address, a time of receipt, or a rate of receipt of the one or more data packets.

18. The non-transitory computer-readable storage medium of claim 14 , wherein:

a data packet of the one or more data packets is associated with a lifespan timer; and

the instructions that cause the computer system to generate the determination to activate the virtual machine instance further cause the computer system to exclude the data packet from the determination on a condition that the lifespan timer is expired.

19. The non-transitory computer-readable storage medium of claim 14 , wherein the instructions further cause the computer system to receive the one or more conditions to activate the virtual machine instance from a customer.

20. The non-transitory computer-readable storage medium of claim 19 , wherein the instructions further cause the computer system to:

send an indication to the customer that the one or more data packets satisfy the one or more conditions to activate the virtual machine instance; and

activate the virtual machine instance on a condition that an acknowledgement is received from the customer.

21. The non-transitory computer-readable storage medium of claim 14 , wherein the instructions further cause the computer system to activate the virtual machine instance based at least in part on the configuration information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 5, 2015
From: BRAMHILL, GAVIN ALEXANDER; DIPPENAAR, ANDRIES PETRUS JOHANNES; DANIEL, MATHEW
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 035841/0381 →
Cited By (1)
US 12,683,884