# US 8,752,045 B2 · Methods and apparatus for using tags to control and manage assets

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

- Number: US 8,752,045 B2
- Document ID: US8752045B2
- Status: Granted
- Kind: B2
- Application number: 11/945,757
- Filed: 2007-11-27
- Published: 2008-06-05
- Granted: 2014-06-10
- Earliest claimed: 2006-10-17
- Assignees: ManageIQ, Inc.
- Applicants: Joseph Fitzgerald; Oleg Barenboim; Gregg Tanzillo
- Inventors: Joseph Fitzgerald; Oleg Barenboim; Gregg Tanzillo
- Web page: https://patentgrep.com/patent/US8752045B2

## CPC

- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 21/6218: {to a system of files or objects, e.g. local or distributed file system or database}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

By implementing various types of tags, easy management and control of assets in a business system is enabled. These assets may be virtual machines, hardware assets, personnel assets, etc. System tags are determined and associated with an asset automatically. Virtual tags and dynamic tags are tags that do not contain the information sought—rather, these tags contain instructions about how to determine the tag value associated with an asset. Management tags are user-entered tags indicating information about an asset based on the knowledge of an individual. These tags can be combined using Boolean algebraic operators, resulting in a tag-based algebra system, which enables a Tag-Based Query Language for searching a universe of assets based on the associated tags. Additionally, tag-based algebra enables access control based on tags associated with a user, assets in a universe of assets, and enables policies to be enforced in a universe of assets.

## Claims

### Claim 1

A method for using tags to manage virtual machines, the method comprising:
storing a plurality of virtual machines in a first location on at least one physical host machine;
associating a plurality of tags with the plurality of virtual machines, wherein each of the plurality of tags are associated with respective metadata representing a virtual machine characteristic, the plurality of tags including at least one of a dynamic tag and a virtual tag, the at least one of the dynamic tag and the virtual tag including a namespace indicative of (i) a second location storing the respective metadata representing the virtual machine characteristic, wherein the second location is outside the plurality of virtual machines in the first location, and (ii) a call to at least one of a program and a database at the second location to obtain the respective metadata representing the virtual machine characteristic from the second location; and
storing the plurality of tags in a third location, wherein the third location is (i) outside the plurality of virtual machines in the first location and (ii) separate from the second location storing the respective metadata representing the virtual machine characteristic, and wherein the tags associated with the plurality of virtual machines allows the plurality of virtual machines to be queried using a tag-based query language, wherein the tag-based query language uses Boolean algebra to find all sets of tags which, when combined with the query, results in a truth value of true.

### Claim 2 (depends on 1)

The method of claim 1, wherein at least one of the plurality of the tags are associated with at least one of the plurality of virtual machines automatically.

### Claim 3 (depends on 1)

The method of claim 1, wherein at least one of the plurality of tags are associated with at least one of the plurality of virtual machines based on at least one user inputted value.

### Claim 4 (depends on 1)

The method of claim 1, wherein at least one of the plurality of tags are associated with at least one of the plurality of virtual machines by a user, wherein the user selects the tags to be associated with the plurality of virtual machines from a predefined set of tags.

### Claim 5 (depends on 1)

The method of claim 1, wherein at least one of the plurality of tags associated with at least one of the plurality of virtual machines are virtual tags, the virtual tags containing pointers to data in a database.

### Claim 6 (depends on 1)

The method of claim 1, wherein at least one of the plurality of tags associated with at least one of the plurality of virtual machines are dynamic tags, the dynamic tags referencing data via a web service call.

### Claim 7 (depends on 1)

The method of claim 1, wherein at least one of the plurality of tags associated with at least one of the plurality of virtual machines are derived from an asset related to the at least one virtual machine.

### Claim 8 (depends on 1)

The method of claim 1, wherein the tags associated with the plurality of virtual machines may be combined using Boolean algebra to enable the combination of tags to be applied to a set of tags to result in a truth value.

### Claim 9 (depends on 1)

The method of claim 1, wherein the tags associated with the plurality of virtual machines allows access to the plurality of virtual machines to be controlled using a tag-based access control, the tag-based access control determining whether a user is authorized to access an asset based on a truth value resulting from the combination of a Boolean algebra expression and a set of tags.

### Claim 10 (depends on 1)

The method of claim 1, wherein the tags associated with the plurality of virtual machines allow for management of the plurality of virtual machines using tag-based policies, wherein the enforceability of the tag-based policies is determined by a truth value resulting from the combination of a Boolean algebra expression and a set of tags associated with a virtual machine.

### Claim 11

A method for using tags to manage assets, wherein the assets are managed by a management system, the method comprising:
associating a plurality of tags with the plurality of assets, which are in a first location, wherein each of the plurality of tags are associated with respective metadata representing an asset characteristic, the plurality of tags including at least one of a dynamic tag and a virtual tag, the at least one of the dynamic tag and the virtual tag including a namespace indicative of (i) a second location of the respective metadata representing the asset characteristic, wherein the second location is outside the plurality of assets in the first location, and (ii) a call to at least one of a program and a database at the second location to obtain the respective metadata representing the asset characteristic from the second location;
storing the plurality of tags in a third location, wherein the third location is (i) outside the plurality of assets in the first location and (ii) separate from the second location of the respective metadata representing the asset characteristic; and
the management system using the plurality of tags to manage the assets, wherein the tags associated with the plurality of assets allows the plurality of assets to be queried using a tag-based query language, wherein the tag-based query language uses Boolean algebra to find all sets of tags which, when combined with the query, results in a truth value of true.

### Claim 12 (depends on 11)

The method of claim 11, wherein at least one of the plurality of tags are automatically associated with at least one of the plurality of assets.

### Claim 13 (depends on 11)

The method of claim 11, wherein at least one of the plurality of assets associated with the plurality of tags include at least one of users, hosts, storage facilities, policies, and relationships.

### Claim 14 (depends on 11)

The method of claim 11, wherein at least one of the plurality of tags are stored in at least one of a database and a systems management partition.
