Collaborative inter-service scheduling of logical resources in cloud platforms

US9473365B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9473365-B2
Application numberUS-201414273385-A
CountryUS
Kind codeB2
Filing dateMay 8, 2014
Priority dateMay 8, 2014
Publication dateOct 18, 2016
Grant dateOct 18, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The subject disclosure relates to a method for scheduling logical resources in cloud platforms. A cloud platform system identifies resource candidates for hosting a logical resource of a cloud service. The system filters the resource candidates by running them through a filter chain, a collection of serially connected filters. The filter chain may contain one or more reference filters that reference other filter chains. When the resource candidates encounter one of the reference filters, the other filter chains can be triggered and processed. The system selects one or more resources for hosting the logical resource from the filtered resource candidates.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: identifying, by a computer processor, a plurality of resource candidates capable of hosting a logical resource of a service; filtering, by the computer processor, the plurality of resource candidates based on a first filter of a first filter chain to yield a first set of filtered resource candidates, the first filter chain comprising a first set of serially connected filters, wherein the first filter of the first filter chain includes a reference to a second filter chain, the second filter chain comprising a second set of serially connected filters, different than the first set of serially connected filters; after filtering the plurality of resource candidates, filtering the first set of filtered resource candidates based on each filter in the second filter chain to yield a second set of filtered resource candidate; after filtering the first set of resource candidates, filtering the second set of resource candidates based on at least a second filter of the first filter chain to yield a third set of resource candidates, the second filter of the first filter chain being ordered after the first filter in the first filter chain; and selecting, from the third set of resource candidates, a resource for hosting the logical resource. 2. The method of claim 1 , wherein filtering the first set of filtered resource candidates based on each filter in the second filter chain comprises triggering a second scheduler to take control from a first scheduler to process the second filter chain. 3. The method of claim 2 , wherein triggering the second scheduler to process the second filter chain further comprises: transferring control to the second scheduler, wherein the second set of filtered resource candidates is filtered based on at least a second filter of the first filter chain upon the first scheduler gaining control back from the second scheduler. 4. The method of claim 3 , wherein the first scheduler is suspended after transferring control to the second scheduler and until gaining control from the second scheduler. 5. The method of claim 1 , wherein second filter chain is configured to instantiate a resource for the service. 6. The method of claim 1 , further comprising: assigning respective weights to the third set of filtered resource candidates; and selecting the resource based on the respective weights. 7. The method of claim 6 , wherein the respective weights are assigned on a basis of suitableness for hosting the logical resource. 8. The method of claim 6 , wherein the third set of filtered resource candidates are sorted based on the respective weights. 9. The method of claim 1 , wherein the resource is selected at random from the third set of filtered resource candidates. 10. The method of claim 1 , wherein at least one filter in the first filter chain is capable of accepting or rejecting one or more resource candidates of the plurality of resource candidates. 11. The method of claim 1 , wherein the second filter chain comprises at least one reference filter referencing a third filter chain. 12. The method of claim 1 , wherein the reference filter comprises a reference for at least one of a triggered scheduler, a triggered filter chain, or a filter chain index. 13. The method of claim 1 , further comprising: identifying the first filter chain by determining an entry-point filter chain for the service from a plurality of filter chains. 14. The method of claim 13 , wherein the entry-point filter chain is determined by a lookup in a hash table. 15. The method of claim 1 , further comprising: creating a context container for storing information used during an instantiation of the logical resource. 16. The method of claim 15 , wherein the first set of serially connected filters can modify the information stored in the context container. 17. The method of claim 15 , wherein the context container acts as a means of communication between the first filter chain and the second filter chain. 18. The method of claim 15 , further comprising: creating a copy of the context container and giving the second filter chain access to the copy of the context container. 19. A system comprising: one or more computer processors; and a memory storing instructions that, when executed by the one or more computer processors, cause the system to: identify, a plurality of resource candidates capable of hosting a logical resource of a service; filter the plurality of resource candidates based on a first filter of a first filter chain to yield a first set of filtered resource candidates, the first filter chain comprising a first set of serially connected filters, wherein the first filter of the first filter chain includes a reference to a second filter chain, the second filter chain comprising a second set of serially connected filters, different than the first set of serially connected filters; after filtering the plurality of resource candidates, filter the first set of filtered resource candidates based on each filter in the second filter chain to yield a second set of filtered resource candidate; after filtering the first set of resource candidates, filtering the second set of resource candidates based on at least a second filter of the first filter chain to yield a third set of resource candidates, the second filter of the first filter chain being ordered after the first filter in the first filter chain; and select, from the third set of resource candidates, a resource for hosting the logical resource. 20. A non-transitory computer-readable medium storing instructions that, when executed by a computing device, cause the computing device to: identify, a plurality of resource candidates capable of hosting a logical resource of a service; filter the plurality of resource candidates based on a first filter of a first filter chain to yield a first set of filtered resource candidates, the first filter chain comprising a first set of serially connected filters, wherein the first filter of the first filter chain includes a reference to a second filter chain, the second filter chain comprising a second set of serially connected filters, different than the first set of serially connected filters; after filtering the plurality of resource candidates, filter the first set of filtered resource candidates based on each filter in the second filter chain to yield a second set of filtered resource candidate; after filtering the first set of resource candidates, filtering the second set of resource candidates based on at least a second filter of the first filter chain to yield a third set of resource candidates, the second filter of the first filter chain being ordered after the first filter in the first filter chain; and select, from the third set of resource candidates, a resource for hosting the logical resource.

Assignees

Inventors

Classifications

  • Grid computing · CPC title

  • G06F9/5044Primary

    considering hardware capabilities · CPC title

  • H04L47/781Primary

    Centralised allocation of resources · CPC title

  • considering software capabilities, i.e. software resources associated or available to the machine · CPC title

  • in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9473365B2 cover?
The subject disclosure relates to a method for scheduling logical resources in cloud platforms. A cloud platform system identifies resource candidates for hosting a logical resource of a cloud service. The system filters the resource candidates by running them through a filter chain, a collection of serially connected filters. The filter chain may contain one or more reference filters that refe…
Who is the assignee on this patent?
Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/5044. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 18 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).