# US 8,474,056 B2 · Method and apparatus for token-based virtual machine recycling

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,474,056 B2
- Document ID: US8474056B2
- Status: Granted
- Kind: B2
- Application number: 13/210,167
- Filed: 2011-08-15
- Published: 2013-02-21
- Granted: 2013-06-25
- Earliest claimed: 2011-08-15
- Assignees: Bank of America Corporation
- Applicants: Rakesh Radhakrishnan; Cynthia Ann Frick; Radu Marian; Abdulkader Omar Barbir; Rajat P. Badhwar
- Inventors: Rakesh Radhakrishnan; Cynthia Ann Frick; Radu Marian; Abdulkader Omar Barbir; Rajat P. Badhwar
- Web page: https://patentgrep.com/patent/US8474056B2

## CPC

- G06F 21/34: involving the use of external additional devices, e.g. dongles or smart cards
- G06F 21/35: communicating wirelessly
- G06F 21/53: by executing in a restricted environment, e.g. sandbox or secure virtual machine
- G06F 2221/2129: Authenticate client device independently of the user
- G06F 2221/2137: Time limited access, e.g. to a computer or data
- G06F 2221/2151: Time stamp
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

According to one embodiment, an apparatus may store a virtual machine token associated with a virtual machine running on a particular device and a secure image of the virtual machine. The virtual machine token may include a timestamp indicating when the virtual machine was established. The apparatus may receive a token indicating that the particular device is attempting to access a resource. In response, checking the validity of the virtual machine running on the particular device based at least in part upon the timestamp associated with the virtual machine token and a time threshold associated with the virtual machine. If the virtual machine is invalid, then the apparatus may communicate at least one token to initiate the recycling of the virtual machine by replacing the invalid virtual machine with the stored secure image of the virtual machine.

## Claims

### Claim 1

An apparatus comprising:
a memory operable to:
store a virtual machine token associated with a virtual machine running on a particular device, the virtual machine token comprising a timestamp indicating when the virtual machine was established;
store a secure image of the virtual machine; and a processor operable to:
receive a token indicating that the particular device is attempting to access a resource;
in response to receiving the token, check the validity of the virtual machine running on the particular device based at least in part upon the timestamp associated with the virtual machine token and a time threshold associated with the virtual machine, wherein the time threshold identifies a period of time during which the virtual machine is valid;
determine that the virtual machine is invalid when the time threshold associated with the virtual machine exceeds a current time;
when the virtual machine is invalid, then communicate at least one token to initiate the recycling of the virtual machine by replacing the invalid virtual machine with the stored secure image of the virtual machine;
recycle the virtual machine by replacing the invalid virtual machine with the stored secure image of the virtual machine;
wait for completion of running of at least one pending process by the virtual machine prior to recycling the virtual machine, wherein the memory is further operable to store a secure copy of the at least one pending process; and
recover the secure copy of the at least one pending process after recycling the virtual machine.

### Claim 2 (depends on 1)

The apparatus of claim 1, the processor further operable to grant the particular device access to the requested resource if the virtual machine is valid.

### Claim 3 (depends on 1)

The apparatus of claim 1, the processor further operable to:
receive a hard token associated with the particular device; and
check the validity of the virtual machine in response to receiving the hard token.

### Claim 4 (depends on 1)

The apparatus of claim 1, the memory further operable to store at least one token-based rule that is applied to determine that the virtual machine is invalid, wherein the communication of the at least one token to initiate the recycling of the virtual machine is in response to the determination that the virtual machine is invalid.

### Claim 5 (depends on 1)

The apparatus of claim 1, the processor further operable to, in response to receiving the token, check the status of a flag, wherein the flag is on if the virtual machine is invalid.

### Claim 6

A method for recycling a virtual machine running on a device, comprising:
storing a virtual machine token associated with a virtual machine running on a particular device, the virtual machine token comprising a timestamp indicating when the virtual machine was established;
storing a secure image of the virtual machine;
receiving a token indicating that the particular device is attempting to access a resource;
in response to receiving the token, checking the validity of the virtual machine running on the particular device based at least in part upon the timestamp associated with the virtual machine token and a time threshold associated with the virtual machine, wherein the time threshold identifies a period of time during which the virtual machine is valid;
determining that the virtual machine is invalid when the time threshold associated with the virtual machine exceeds a current time;
when the virtual machine is invalid, then communicating at least one token to initiate the recycling of the virtual machine by replacing the invalid virtual machine with the stored secure image of the virtual machine;
recycling the virtual machine by replacing the invalid virtual machine with the stored secure image of the virtual machine;
waiting for completion of running of at least one pending process by the virtual machine prior to recycling the virtual machine;
storing a secure copy of the at least one pending process; and
recovering the secure copy of the at least one pending process after recycling the virtual machine.

### Claim 7 (depends on 6)

The method of claim 6, further comprising granting the particular device access to the requested resource if the virtual machine is valid.

### Claim 8 (depends on 6)

The method of claim 6, further comprising:
receiving a hard token associated with the particular device; and
checking the validity of the virtual machine in response to receiving the hard token.

### Claim 9 (depends on 6)

The method of claim 6, further comprising storing at least one token-based rule that is applied to determine that the virtual machine is invalid, wherein the communication of the at least one token to initiate the recycling of the virtual machine is in response to the determination that the virtual machine is invalid.

### Claim 10 (depends on 6)

The method of claim 6, further comprising:
in response to receiving the token, checking the status of a flag, wherein the flag is on if the virtual machine is invalid.

### Claim 11

One or more computer-readable non-transitory storage media embodying software that is operable when executed to:
store a virtual machine token associated with a virtual machine running on a particular device, the virtual machine token comprising a timestamp indicating when the virtual machine was established;
store a secure image of the virtual machine; and
receive a token indicating that the particular device is attempting to access a resource;
in response to receiving the token, check the validity of the virtual machine running on the particular device based at least in part upon the timestamp associated with the virtual machine token and a time threshold associated with the virtual machine, wherein the time threshold identifies a period of time during which the virtual machine is valid;
determine that the virtual machine is invalid when the time threshold associated with the virtual machine exceeds a current time;
when the virtual machine is invalid, then communicate at least one token to initiate the recycling of the virtual machine by replacing the invalid virtual machine with the stored secure image of the virtual machine;
recycle the virtual machine by replacing the invalid virtual machine with the stored secure image of the virtual machine;
wait for completion of running of at least one pending process by the virtual machine prior to recycling the virtual machine;
store a secure copy of the at least one pending process; and
recover the secure copy of the at least one pending process after recycling the virtual machine.

### Claim 12 (depends on 11)

The media of claim 11 embodying software further operable to grant the particular device access to the requested resource if the virtual machine is valid.

### Claim 13 (depends on 11)

The media of claim 11 embodying software further operable to:
receive a hard token associated with the particular device; and
check the validity of the virtual machine in response to receiving the hard token.

### Claim 14 (depends on 11)

The media of claim 11 embodying software further operable to store at least one token-based rule that is applied to determine that the virtual machine is invalid, wherein the communication of the at least one token to initiate the recycling of the virtual machine is in response to the determination that the virtual machine is invalid.

### Claim 15 (depends on 11)

The media of claim 11 embodying software further operable to, in response to receiving the token, check the status of a flag, wherein the flag is on if the virtual machine is invalid.
