# US 10,455,007 B2 · Managing asset placement with respect to a distributed computing environment having a set of hosts

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

- Number: US 10,455,007 B2
- Document ID: US10455007B2
- Status: Granted
- Kind: B2
- Application number: 15/210,853
- Filed: 2016-07-14
- Published: 2018-01-18
- Granted: 2019-10-22
- Earliest claimed: 2016-07-14
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Bradley W. Fawcett; Jason A. Nikolai
- Web page: https://patentgrep.com/patent/US10455007B2

## CPC

- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- H04L 12/14: Charging, metering or billing arrangements specially adapted for data communications, e.g. authentication, authorisation and accounting [AAA] framework
- H04L 12/1428: {Invoice generation, e.g. customization, lay-out, database processing, algorithms for calculating the bill or formatting invoices as WWW pages (invoicing in general G06Q30/04)}
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/303: Terminal profiles
- H04M 15/31: {Distributed metering or calculation of charges}
- H04M 15/41: {Billing record details, i.e. parameters, identifiers, structure of call data record [CDR]}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)

## Abstract

Disclosed aspects relate to managing asset placement with respect to a distributed computing environment or a stream computing environment. A set of host computing resource requirement data is detected. The detection is with respect to an asset for placement to the distributed computing environment. The set of host computing resource requirement data is for the asset such as a set of stream operators or a set of processing elements. A set of computing resource profile data for a set of hosts is identified. By comparing the set of host computing resource requirement data for the asset and the set of computing resource profile data for the set of hosts, an asset placement arrangement is determined. Based on the asset placement arrangement, the asset is established.

## Claims

### Claim 1

A computer-implemented method for managing asset placement with respect to a distributed computing environment having a set of hosts, the method comprising:
detecting, with respect to an asset for placement to the distributed computing environment, a set of host computing resource requirement data for the asset, wherein the distributed computing environment includes a stream computing environment and the asset is a rookie in the stream computing environment;
identifying, with respect to the distributed computing environment, a set of computing resource profile data for the set of hosts;
comparing, using a determination engine of at least one host of the set of hosts, the set of host computing resource requirement data for the asset and the set of computing resource profile data for the set of hosts to automatically determine an asset placement arrangement;
establishing, based on the asset placement arrangement, the asset in the distributed computing environment;
monitoring the set of hosts to update the set of computing resource profile data;
updating, based on and in response to monitoring the set of hosts, the set of computing resource profile data;
analyzing, using the determination engine of the at least one host of the set of hosts, the set of computing resource profile data to predict an expected change to the set of computing resource profile data, wherein the expected change would result in not meeting a criterion;
resolving the expected change to the set of computing resource profile data; and
reformulating, based on the expected change to the set of computing resource profile data, the asset placement arrangement.

### Claim 2 (depends on 1)

The method of claim 1, wherein the distributed computing environment includes a stream computing environment.

### Claim 3 (depends on 2)

The method of claim 2, wherein the set of hosts is heterogeneous in nature.

### Claim 4 (depends on 2)

The method of claim 2, wherein the set of hosts has a configuration that is selected from the group consisting of:
a first host having a first operating system and a second host having a second operating system;
a first host having a first version of a first operating system and a second host having a second version of the first operating system; and
a first host having a first hardware architecture and a second host having a second hardware architecture.

### Claim 5 (depends on 2)

The method of claim 2, wherein the set of host computing resource requirement data for the asset is specified by an application writer.

### Claim 6 (depends on 2)

The method of claim 2, wherein comparing the set of host computing resource requirement data for the asset and the set of computing resource profile data for the set of hosts is performed by the set of hosts, and wherein the set of hosts is a single host.

### Claim 7 (depends on 2)

The method of claim 2, wherein the asset includes a set of processing elements.

### Claim 8 (depends on 2)

The method of claim 2, wherein the asset includes a set of stream operators.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
reformulating, based on and in response to updating the set of computing resource profile data, the asset placement arrangement; and
relocating, in response to updating the set of computing resource profile data and based on a reformulation of the asset placement arrangement, the asset to a different host of the set of hosts.

### Claim 10 (depends on 9)

The method of claim 9, wherein the different host has a different operating system and a different hardware architecture.

### Claim 11 (depends on 2)

The method of claim 2, further comprising:
preventing, with respect to the asset placement arrangement, placement of the asset on a first host of the set of hosts when a first computing resource profile data for the first host does not achieve the set of host computing resource requirement data for the asset; and
initiating, with respect to the asset placement arrangement, placement of the asset to a second host of the set of hosts when a second computing resource profile data for the second host achieves the set of host computing resource requirement data for the asset.

### Claim 12 (depends on 2)

The method of claim 2, wherein the detecting, the identifying, the determining, and the establishing each occur in an automated fashion without user intervention.

### Claim 13 (depends on 7)

The method of claim 7, further comprising:
receiving a stream of tuples to be processed by the set of processing elements operating on the set of hosts; and
processing, using the set of processing elements operating on the set of hosts, the stream of tuples.

### Claim 14 (depends on 13)

The method of claim 13, further comprising:
metering use of the asset; and
generating an invoice based on the metered use.

### Claim 15

A system for managing asset placement with respect to a distributed computing environment having a set of hosts, the system comprising:
a memory having a set of computer readable computer instructions, and a processor for executing the set of computer readable instructions, the set of computer readable instructions including:
detecting, with respect to an asset for placement to the distributed computing environment, a set of host computing resource requirement data for the asset, wherein the distributed computing environment includes a stream computing environment and the asset is a rookie in the stream computing environment;
identifying, with respect to the distributed computing environment, a set of computing resource profile data for the set of hosts;
comparing, using a determination engine of at least one host of the set of hosts, the set of host computing resource requirement data for the asset and the set of computing resource profile data for the set of hosts to automatically determine an asset placement arrangement;
establishing, based on the asset placement arrangement, the asset in the distributed computing environment;
monitoring the set of hosts to update the set of computing resource profile data;
updating, based on and in response to monitoring the set of hosts, the set of computing resource profile data;
analyzing, using the determination engine of the at least one host of the set of hosts, the set of computing resource profile data to predict an expected change to the set of computing resource profile data, wherein the expected change would result in not meeting a criterion;
resolving the expected change to the set of computing resource profile data; and
reformulating, based on the expected change to the set of computing resource profile data, the asset placement arrangement.

### Claim 16

A computer program product for managing asset placement with respect to a distributed computing environment having a set of hosts, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, wherein the computer readable storage medium is not a transitory signal per se, the program instructions executable by a processor to cause the processor to perform a method comprising:
detecting, with respect to an asset for placement to the distributed computing environment, a set of host computing resource requirement data for the asset, wherein the distributed computing environment includes a stream computing environment and the asset is a rookie in the stream computing environment;
identifying, with respect to the distributed computing environment, a set of computing resource profile data for the set of hosts;
comparing, using a determination engine of at least one host of the set of hosts, the set of host computing resource requirement data for the asset and the set of computing resource profile data for the set of hosts to automatically determine an asset placement arrangement;
establishing, based on the asset placement arrangement, the asset in the distributed computing environment;
monitoring the set of hosts to update the set of computing resource profile data;
updating, based on and in response to monitoring the set of hosts, the set of computing resource profile data;
analyzing, using the determination engine of the at least one host of the set of hosts, the set of computing resource profile data to predict an expected change to the set of computing resource profile data, wherein the expected change would result in not meeting a criterion;
resolving the expected change to the set of computing resource profile data; and
reformulating, based on the expected change to the set of computing resource profile data, the asset placement arrangement.

### Claim 17 (depends on 16)

The computer program product of claim 16, wherein at least one of:
the program instructions are stored in the computer readable storage medium in a data processing system, and wherein the program instructions were downloaded over a network from a remote data processing system; or
the program instructions are stored in the computer readable storage medium in a server data processing system, and wherein the program instructions are downloaded over a network to a remote data processing system for use in a second computer readable storage medium with the remote data processing system.
