Systems and methods for decentralized service placement in a resource pool
First Claim
1. A method in computing device functioning as a leaf agent and as a child to a parent agent in a hierarchy of agents for enabling decentralized service placement, where each of the agents are executed by separate computing devices, the method comprising:
- receiving, at the leaf agent from the parent agent, a service request description that specifies resource requirements for a plurality of components of a service to be deployed;
generating, at the leaf agent, at least one solution encoding indicating possible placements of at least one of the plurality of components of the service request description that at least one computing device can provide local to the leaf agent while satisfying a resource requirement of the at least one of the plurality of components of the service; and
transmitting, by the leaf agent to the parent agent, the at least one solution encodings.
1 Assignment
0 Petitions
Accused Products
Abstract
Exemplary methods for distributed multi-component service placement in a resource pool include utilizing a hierarchy of agents associated with computing resources of a cloud architecture. A root agent in the hierarchy can receive service requests specifying resource requirements and optionally location or affinity constraints, transform these into service request descriptions, and pass the service request descriptions down through the hierarchy to arrive at leaf nodes. The leaf nodes can each, perhaps in parallel, generate solution encodings indicating possible placements of some or all of the components of the service request that one or more computing devices associated with each agent can locally provide while still satisfying the resource requirements. The generated solution encodings can be passed back up and be consolidated as they flow through the hierarchy, allowing the root agent to quickly and accurately determine whether the service request may be fulfilled, and optionally place the service.
-
Citations
20 Claims
-
1. A method in computing device functioning as a leaf agent and as a child to a parent agent in a hierarchy of agents for enabling decentralized service placement, where each of the agents are executed by separate computing devices, the method comprising:
-
receiving, at the leaf agent from the parent agent, a service request description that specifies resource requirements for a plurality of components of a service to be deployed; generating, at the leaf agent, at least one solution encoding indicating possible placements of at least one of the plurality of components of the service request description that at least one computing device can provide local to the leaf agent while satisfying a resource requirement of the at least one of the plurality of components of the service; and transmitting, by the leaf agent to the parent agent, the at least one solution encodings. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method executing by a computing device functioning as an intermediate agent and acting as a parent to a plurality of agents in a hierarchy and further acting as a child to a parent agent in the hierarchy, where each of the agents are executed by separate computing devices, the method for enabling decentralized service placement, the method comprising:
-
receiving, at the intermediate agent from the parent agent, a service request description that specifies resource requirements for a plurality of components of a service to be deployed; transmitting, by the intermediate agent, the service request description to the plurality of agents acting as children of the intermediate agent in the hierarchy; receiving, by the intermediate agent from the plurality of agents, a plurality of solution encodings generated by the plurality of agents, wherein each of the plurality of solution encodings indicates an aggregated set of possible placements of at least one of the plurality of components of the service request description that at least one computing devices associated with a corresponding agent or associated with all descendant agents of the corresponding agent can provide while satisfying resource requirements of the at least one of the plurality of components; and transmitting, by the intermediate agent to the parent agent, a merged solution encoding derived from the plurality of solutions encodings. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A method executing by a computing device functioning as a root agent and acting as a parent to a plurality of agents in a hierarchy, where each of the agents are executed by separate computing devices, the method for enabling decentralized service placement, the method comprising:
-
receiving a service request from a client indicating resource requirements for a service to be deployed including a plurality of components for the service; and transmitting a service request description based upon the service request to a plurality of intermediate agents of the hierarchy to be distributed to a plurality of leaf agents of the hierarchy; receiving at least one solution encoding corresponding to the service request description from the plurality of intermediate agents, wherein the at least one solution encoding is generated by at least one intermediate agent in the plurality of intermediate agents and indicates sets of possible placements of at least one of the plurality of components of the service request description that can be provided by a plurality of computing devices associated with the intermediate agent and a plurality of leaf agents that are descendants of the intermediate agent, where the plurality of computing devices satisfy resource requirements of the at least one of the plurality of components of the service, and determining, based upon the received at least one solution encoding, whether the service request can be placed using the plurality of computing devices. - View Dependent Claims (17, 18, 19, 20)
-
Specification