# US 2019/0171502 A1 · Detecting co-resident services in a container cloud

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

- Number: US 2019/0171502 A1
- Document ID: US20190171502A1
- Status: Published application
- Kind: A1
- Application number: 15/828,585
- Filed: 2017-12-01
- Published: 2019-06-06
- Earliest claimed: 2017-12-01
- Assignees: International Business Machines Corporation
- Applicants: International Business Machines Corporation
- Inventors: Alisa Arno; Yuji Watanabe; Ai Yoshino
- Web page: https://patentgrep.com/patent/US20190171502A1

## CPC

- G06F 9/546: {Message passing systems or structures, e.g. queues}
- G06F 9/5016: {the resource being the memory}
- G06F 9/5027: {the resource being a machine, e.g. CPUs, Servers, Terminals}
- G06F 9/5072: {Grid computing}
- 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)}
- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

In an approach to detection of co-location of container services, a method may include receiving, by a first program in a first cloud container on a first host, a bit string over a side channel within a trial period of time. The method may also include determining whether a key corresponding to the bit string matches a pre-determined key corresponding to a second program in a second cloud container. The method may further include determining whether the second cloud container is located on the first host based, at least in part, on whether the key corresponding to the bit string matches the pre-determined key. The side channel may include a first resource on the first host that is accessible by cloud containers located on the first host and the bit string is received by monitoring the first resource for activity indicative of bit values.

## Claims

### Claim 1

A method, comprising:
receiving, by a first program in a first cloud container on a first host, a bit string over a side channel within a trial period of time, wherein the side channel includes a first resource on the first host that is accessible by cloud containers located on the first host, and wherein the bit string is received by monitoring the first resource for activity indicative of bit values;
determining, by the first program, whether a key corresponding to the bit string matches a pre-determined key corresponding to a second program in a second cloud container; and
determining, by the first program, whether the second cloud container is located on the first host based, at least in part, on whether the key corresponding to the bit string matches the pre-determined key.

### Claim 2 (depends on 1)

The method of claim 1, wherein determining whether the shared key matches a pre-determined key comprises:
determining, by the first program, the key corresponding to the bit string by decoding the bit string using a predetermined error correcting code; and
determining, by the first program, whether the key corresponding to the bit string matches the pre-determined key.

### Claim 3 (depends on 1)

The method of claim 1, further comprising receiving, by the first program, a shared key from the second program in the second cloud container, wherein the shared key is the pre-determined key.

### Claim 4 (depends on 1)

The method of claim 1, further comprising receiving, by the first program, a shared key as part of a container specification file, wherein the shared key is the pre-determined key.

### Claim 5 (depends on 1)

The method of claim 1, wherein a high load on the first resource for a fixed period of time is indicative of a bit value equal of one and wherein a low load on the first resource for a fixed period of time is indicative of a bit value equal of zero.

### Claim 6 (depends on 5)

The method of claim 5, wherein the first resource includes a processor, wherein a high load on the first resource includes performing processor-intensive operations on the processor for the fixed period of time, and wherein a low load on the first resource includes performing a low amount of operation calls on the processor for the fixed period of time.

### Claim 7 (depends on 5)

The method of claim 5, wherein the first resource includes a volatile memory, wherein a high load on the first resource includes utilizing a high amount of the allocated memory for the fixed period of time, and wherein a low load on the first resource includes utilizing a low amount of allocated memory for the fixed period of time.

### Claim 8 (depends on 5)

The method of claim 5, wherein the first resource includes a non-volatile memory, wherein a high load on the first resource includes utilizing a high amount of storage storing a large object in the non-volatile memory for the fixed period of time, and wherein a low load on the first resource includes utilizing a low amount of storage for the fixed period of time.

### Claim 9

A computer program product, comprising:
one or more computer readable storage devices and program instructions stored on the one or more computer readable storage devices, the stored program instructions comprising:
program instructions to receive a bit string over a side channel within a trial period of time, wherein the side channel includes a first resource on the first host that is accessible by cloud containers located on the first host, and wherein the bit string is received by monitoring the first resource for activity indicative of bit values;
program instructions to determine whether a key corresponding to the bit string matches a pre-determined key corresponding to a second program in a second cloud container; and
program instructions to determine whether the second cloud container is located on the first host based, at least in part, on whether the key corresponding to the bit string matches the pre-determined key.

### Claim 10 (depends on 9)

The computer program product of claim 9, wherein the program instructions to determining whether the shared key matches a pre-determined key comprises:
program instructions to determine the key corresponding to the bit string by decoding the bit string using a predetermined error correcting code; and
program instructions to determine whether the key corresponding to the bit string matches the pre-determined key.

### Claim 11 (depends on 9)

The computer program product of claim 9, wherein a high load on the first resource for a fixed period of time is indicative of a bit value equal of one and wherein a low load on the first resource for a fixed period of time is indicative of a bit value equal of zero.

### Claim 12 (depends on 11)

The computer program product of claim 11, wherein the first resource includes a processor, wherein a high load on the first resource includes performing processor-intensive operations on the processor for the fixed period of time, and wherein a low load on the first resource includes performing a low amount of operation calls on the processor for the fixed period of time.

### Claim 13 (depends on 11)

The computer program product of claim 11, wherein the first resource includes a volatile memory, wherein a high load on the first resource includes utilizing a high amount of the allocated memory for the fixed period of time, and wherein a low load on the first resource includes utilizing a low amount of allocated memory for the fixed period of time.

### Claim 14 (depends on 11)

The computer program product of claim 11, wherein the first resource includes a non-volatile memory, wherein a high load on the first resource includes utilizing a high amount of storage storing a large object in the non-volatile memory for the fixed period of time, and wherein a low load on the first resource includes utilizing a low amount of storage for the fixed period of time.

### Claim 15

A computer system, comprising:
one or more computer processors;
one or more computer readable storage devices;
program instructions stored on the one or more computer readable storage devices for execution by at least one of the one or more computer processors, the stored program instructions comprising:
program instructions to receive a bit string over a side channel within a trial period of time, wherein the side channel includes a first resource on the first host that is accessible by cloud containers located on the first host, and wherein the bit string is received by monitoring the first resource for activity indicative of bit values;
program instructions to determine whether a key corresponding to the bit string matches a pre-determined key corresponding to a second program in a second cloud container; and
program instructions to determine whether the second cloud container is located on the first host based, at least in part, on whether the key corresponding to the bit string matches the pre-determined key.

### Claim 16 (depends on 15)

The computer system of claim 15, wherein the program instructions to determining whether the shared key matches a pre-determined key comprises:
program instructions to determine the key corresponding to the bit string by decoding the bit string using a predetermined error correcting code; and
program instructions to determine whether the key corresponding to the bit string matches the pre-determined key.

### Claim 17 (depends on 15)

The computer system of claim 15, wherein a high load on the first resource for a fixed period of time is indicative of a bit value equal of one and wherein a low load on the first resource for a fixed period of time is indicative of a bit value equal of zero.

### Claim 18 (depends on 17)

The computer system of claim 17, wherein the first resource includes a processor, wherein a high load on the first resource includes performing processor-intensive operations on the processor for the fixed period of time, and wherein a low load on the first resource includes performing a low amount of operation calls on the processor for the fixed period of time.

### Claim 19 (depends on 17)

The computer system of claim 17, wherein the first resource includes a volatile memory, wherein a high load on the first resource includes utilizing a high amount of the allocated memory for the fixed period of time, and wherein a low load on the first resource includes utilizing a low amount of allocated memory for the fixed period of time.

### Claim 20 (depends on 17)

The computer system of claim 17, wherein the first resource includes a non-volatile memory, wherein a high load on the first resource includes utilizing a high amount of storage storing a large object in the non-volatile memory for the fixed period of time, and wherein a low load on the first resource includes utilizing a low amount of storage for the fixed period of time.
