# US 2019/0317824 A1 · Deployment of services across clusters of nodes

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

- Number: US 2019/0317824 A1
- Document ID: US20190317824A1
- Status: Published application
- Kind: A1
- Application number: 15/950,821
- Filed: 2018-04-11
- Published: 2019-10-17
- Earliest claimed: 2018-04-11
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Ajay MANI; David A. Dion; Marcus F. Fontoura; Prajakta S. Patil; Saad Syed; Shailesh P. Joshi; Sushant P. Rewaskar; Vipins Gopinadhan; James Ernest Johnson
- Web page: https://patentgrep.com/patent/US20190317824A1

## CPC

- 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 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/48: Program initiating; Program switching, e.g. by interrupt
- G06F 9/5005: {to service a request}
- G06F 9/5072: {Grid computing}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

According to examples, a system may include a plurality of clusters of nodes and a plurality of container manager hardware processors, in which each of the container manager hardware processors may manage the nodes in a respective cluster of nodes. The system may also include at least one service manager hardware processor to manage deployment of customer services across multiple clusters of the plurality of clusters of nodes through the plurality of container manager hardware processors.

## Claims

### Claim 1

A system comprising:
a plurality of clusters of nodes;
a plurality of container manager hardware processors, wherein each of the container manager hardware processors is to manage the nodes in a respective cluster of nodes; and
at least one service manager hardware processor to manage deployment of customer services across multiple clusters of the plurality of clusters of nodes through the plurality of container manager hardware processors.

### Claim 2 (depends on 1)

The system of claim 1, wherein each of the plurality of container manager hardware processors manages an inventory of the nodes in the respective cluster of nodes.

### Claim 3 (depends on 1)

The system of claim 1, wherein the service manager hardware processor is further to:
receive requests regarding the customer services;
determine expected states for a plurality of the nodes based on the received requests; and
instruct at least one container manager hardware processor that manages the plurality of nodes to drive the plurality of nodes to the expected states.

### Claim 4 (depends on 3)

The system of claim 3, wherein the service manager hardware processor is separate from the plurality of container manager hardware processors and wherein the plurality of nodes span across multiple clusters of the plurality of clusters.

### Claim 5 (depends on 4)

The system of claim 4, wherein at least two container manager hardware processors are to drive the plurality of nodes in separate clusters to the expected states based on receipt of the instruction from the service manager hardware processor.

### Claim 6 (depends on 1)

The system of claim 1, wherein the service manager hardware processor is to determine an action to be taken on a customer service, the system further comprising:
a policy engine, wherein the service manager hardware processor is to send a request for approval of the determined action to the policy engine and wherein the policy engine is to determine whether to allow the determined action.

### Claim 7 (depends on 1)

The system of claim 1, wherein the at least one service manager hardware processor is further to separately handle write requests and read requests.

### Claim 8 (depends on 1)

The system of claim 1, wherein the at least service manager hardware processor hosts a plurality of microservices and wherein the plurality of microservices manages the deployment of customer services in slices and partitions.

### Claim 9

A service manager comprising:
at least one processor;
at least one memory on which is stored machine readable instructions that are to cause the at least one processor to:
receive a request to deploy a tenant service;
determine an allocated node for the tenant service from a pool of nodes that spans across multiple clusters of nodes, wherein a separate container manager manages the nodes in a respective cluster of nodes; and
send an instruction to the container manager that manages the allocated node to drive the allocated node to host the tenant service.

### Claim 10 (depends on 9)

The service manager of claim 9, wherein the machine readable instructions are further to cause the at least one processor to:
receive a second request to deploy a second tenant service;
determine a second allocated node for the second tenant service from the pool of nodes, the second allocated node being in a different cluster of nodes than the allocated node; and
send an instruction to a second container manager that manages the second allocated node to drive the second allocated node to host the second tenant service.

### Claim 11 (depends on 9)

The service manager of claim 9, wherein the machine readable instructions are further to cause the at least one processor to:
receive a request to execute an action on the tenant service;
send a request for approval to execute the action to a policy engine;
based on receipt of an approval to execute the action from the policy engine, instruct the container manager to execute the action; and
based on receipt of a denial to execute the action from the policy, deny the request to execute the action.

### Claim 12 (depends on 9)

The service manager of claim 9, wherein the machine readable instructions are further to cause the at least one processor to:
receive requests regarding a plurality of tenant services;
determine expected states for a plurality of nodes based on the received requests, wherein the plurality of nodes span across multiple clusters of nodes; and
instruct a plurality of container managers that manage the plurality of nodes to drive the plurality of nodes to the expected states.

### Claim 13 (depends on 9)

The service manager of claim 9, wherein the machine readable instructions are further to cause the at least one processor to:
separately handle write requests and read requests.

### Claim 14 (depends on 9)

The service manager of claim 9, wherein the machine readable instructions are further to cause the at least one processor to:
host a plurality of microservices and wherein the plurality of microservices manages a plurality of tenant services in slices.

### Claim 15 (depends on 9)

The service manager of claim 9, wherein the machine readable instructions are further to cause the at least one processor to:
host a plurality of microservices and wherein the plurality of microservices manages a plurality of tenant services in partitions.

### Claim 16

A method comprising:
receiving, by at least one processor, a request to deploy a first tenant service and a second tenant service;
determining, by the at least one processor, a first allocated node for the first tenant service and a second allocated node for the second tenant service from a pool of nodes that spans across multiple clusters of nodes, wherein a separate container manager manages the nodes in a respective cluster of nodes;
sending, by the at least one processor, an instruction to a first container manager that manages the first allocated node to drive the first allocated node to deploy the first tenant service; and
sending, by the at least one processor, an instruction to a second container manager that manages the second allocated node to drive the second allocated node to deploy the second tenant service.

### Claim 17 (depends on 16)

The method of claim 16, further comprising:
receiving a request to execute an action on the first tenant service;
sending a request for approval to execute the action to a policy engine;
based on receipt of an approval to execute the action from the policy engine, instructing the container manager to execute the action.

### Claim 18 (depends on 17)

The method of claim 17, further comprising:
based on receipt of a denial to execute the action from the policy engine, denying the request to execute the action.

### Claim 19 (depends on 16)

The method of claim 16, further comprising:
determining expected states for a plurality of nodes, wherein the plurality of nodes span across multiple clusters of nodes; and
instructing a plurality of container managers that manage the plurality of nodes to drive the plurality of nodes to the expected states.

### Claim 20 (depends on 16)

The method of claim 16, further comprising:
hosting a plurality of microservices that manages a plurality of tenant services in slices of tenant services and in partitions of tenant services.
