IP Library › Granted Patent US 10,505,832
Granted Patent B2
US 10,505,832 · App. 15/591,683 · Granted Dec 10, 2019

Resource coordinate system for data centers

Inventors: Peter Eberlein (Malsch, DE); Volker Driesen (Heidelberg, DE)
Assignee: SAP SE
H04L43/0876H04L41/12H04L41/22H04L41/065
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,505,832
App. No.
15/591,683
Granted
Dec 10, 2019
Kind
B2
Abstract

Embodiments allow identifying unique locations, proximity, and constraints of various individualization resource units in a data center. A plurality of processes may compete for available resources (e.g., CPU, network bandwidth, memory) in a shared environment, which may be virtualized (e.g., comprising host, VM, container, application server instance resource units). A scheduling infrastructure determines individualization unit locations according to an identifier reflecting resource hierarchies. For each process, the data sending infrastructure sends location data as an ID stack to a central monitoring instance for analysis. That central monitoring instance can reference the resource location information to identify process proximity and competition for resources constraining process performance. Resource location information in the form of coordinates provided by the ID stack, offer valuable information regarding resource consumption and other information relevant for process monitoring. Embodiments may be particularly useful in diagnosing bottlenecks arising from processes sharing resource units in virtualized environments.

Claims (65)

1. A computer-implemented method comprising:

an in-memory database of an in-memory database assigning unique identifiers to each of a plurality of resources within a hierarchy of a computing environment to define location information;

the in-memory database engine storing the location information in the in-memory database;

the in-memory database engine determining from the location information, a first set of resources consumed by a first process based upon a first identifier stack comprising one or more of the unique identifiers;

the in-memory database engine determining from the location information, a second set of resources consumed by a second process based upon a second identifier stack comprising one or more of the unique identifiers;

the in-memory database engine comparing the first identifier stack with the second identifier stack to determine a proximity between the first process and the second process;

the in-memory database engine communicating the proximity for display;

the in-memory database engine receiving from a modeling infrastructure, a constraint of one resource of the first set of resources;

the in-memory database engine storing the constraint in the in-memory database; and

the the in-memory database revealing the one resource as a performance bottleneck of the first process based upon the constraint by,

looping over layers of the first set of resources to look in a current layer for processes with competing resources,

if the current layer is a layer with higher layers above, then sum iteratively processes with a same identifier on the current layer, and

determine that the sum matches the constraint.

2. The method of claim 1 wherein:

the computing environment comprises a virtualization computing environment; and

the constraint comprises a number of virtual machines supported by a hardware central processing unit.

3. The method of claim 1 wherein:

the computing environment comprises a network topology including a switch; and

the constraint comprises a bandwidth of the switch.

4. The method of claim 1 wherein:

the computing environment comprises a common resource shared between the first process and the second process; and

the constraint comprises a number of operations per second of the common resource.

5. The method of claim 4 wherein the common resource comprises an input-output device.

6. The method of claim 5 wherein the common resource comprises a memory.

7. The method of claim 1 wherein:

the computing environment comprises a virtualization computing environment; and

the hierarchy comprises a virtual machine.

8. A non-transitory computer readable storage medium embodying a computer program for:

an in-memory database engine of an in-memory database assigning unique identifiers to each of a plurality of resources within a hierarchy of a computing environment to define location information;

the in-memory database engine storing the location information in the in-memory database;

the in-memory database engine determining from the location information, a first set of resources consumed by a first process based upon a first identifier stack comprising one or more of the unique identifiers;

the in-memory database engine determining from the location information, a second set of resources consumed by a second process based upon a second identifier stack comprising one or more of the unique identifiers;

the in-memory database engine comparing the first identifier stack with the second identifier stack to determine a proximity between the first process and the second process;

the in-memory database engine communicating the proximity for display;

the in-memory database engine receiving from a modeling infrastructure, a constraint of one resource of the first set of resources;

the in-memory database engine storing the constraint in the in-memory database;

the in-memory database revealing the one resource as a performance bottleneck of the first process based upon the constraint by,

looping over layers of the first set of resources to look in a current layer for processes with competing resources,

if the current layer is a layer with higher layers above, then sum iteratively processes with a same identifier on the current layer, and

determine that the sum matches the constraint.

9. The non-transitory computer readable storage medium of claim 8 wherein:

the computing environment comprises a virtualization computing environment; and

the hierarchy comprises a virtual machine.

10. A computer program product embodied on a non-transitory computer readable storage medium and comprising:

one or more processors;

a software program, executable on said computer program product, the software program configured to cause an in-memory database engine to:

assign unique identifiers to each of a plurality of resources within a hierarchy of a computing environment to define location information;

store the location information in an in-memory database;

determine from the location information, a first set of resources consumed by a first process based upon a first identifier stack comprising one or more of the unique identifiers;

determining from the location information, a second set of resources consumed by a second process based upon a second identifier stack comprising one or more of the unique identifiers;

compare the first identifier stack with the second identifier stack to determine a proximity between the first process and the second process;

communicate the proximity for display;

receive a constraint of one resource of the first set of resources;

store the constraint in the in-memory database; and

reveal the one resource as a performance bottleneck based upon the constraint by

looping over layers of the first set of resources to look in a current layer for processes with competing resources,

if the current layer is a layer with higher layers above, then sum iteratively processes with a same identifier on the current layer, and

determine that the sum matches the constraint.

11. The computer program product of claim 10 wherein:

the computing environment comprises a virtualization computing environment; and

the hierarchy comprises a virtual machine.

12. The computer program product of claim 10 wherein:

the computing environment comprises a network topology including a switch; and

the constraint comprises a bandwidth of the switch.

13. The computer program product of claim 10 wherein the constraint comprises a number of operations per second of the one resource.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 10, 2017
From: EBERLEIN, PETER; DRIESEN, VOLKER
To: SAP SE
Reel/Frame 042326/0241 →
Continuity (1)
Related Publication 20180331927A1 · Nov 15, 2018
Cited By (4)
US 12,499,116 US 12,541,616 US 12,561,225 US 12,689,626