Collaborative Cloud Resource Scheduling via Filter Chains
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing cloud platforms face challenges in efficiently scheduling logical resources across multiple infrastructure services, leading to poor utilization and performance issues due to independent execution of schedulers, which results in higher inter-service dependencies and complexity.
Innovation Solution
Implementing a filter scheduler with multiple filter chains in each IaaS service, allowing for collaborative scheduling through serially connected filters, including reference filters that trigger execution in other services, to determine the best resource candidates for hosting logical resources with minimal inter-service coupling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If a common scheduler is used for multiple IaaS services, then joint scheduling capability is improved, but inter-service control traffic and state sharing increase
Solution Approach 1:
The patent segments the scheduling function by maintaining separate schedulers for each IaaS service (compute, networking, storage) rather than using a single common scheduler. Each service scheduler operates independently with its own filtering and selection logic, eliminating the need for extensive inter-service control traffic and state sharing while still enabling coordinated resource allocation through service-level independence.
Solution Approach 2:
The patent introduces resource candidates as an intermediary mechanism that enables coordination between service schedulers. Each scheduler maintains a local set of resource candidates that can be shared or referenced by other services, allowing joint scheduling decisions to be made through this intermediary structure without requiring direct complex communication between schedulers.
2Reliability
If a hierarchy of schedulers is used, then centralized coordination is improved, but scheduling efficiency deteriorates due to serialized invocation
Solution Approach 1:
The patent segments the scheduling hierarchy into peer service schedulers that operate simultaneously rather than in a serialized hierarchical manner. Each service scheduler independently filters and selects resources from local resource candidates, enabling parallel processing and eliminating the bottleneck of serialized invocation while maintaining coordination through shared resource candidate structures.
Solution Approach 2:
The patent allows each service scheduler to perform partial scheduling actions independently by filtering resource candidates according to service-specific criteria. This partial action approach enables concurrent scheduling operations across multiple services without requiring a single centralized scheduler to perform all actions sequentially, thereby improving overall scheduling efficiency.
3Ease of manufacture
If independent schedulers execute tasks separately, then service independence is improved, but resource utilization deteriorates
Solution Approach 1:
The patent makes resource candidates universal by maintaining them as shared data structures that can be accessed and filtered by multiple service schedulers. This allows service-independent schedulers to operate with their own filtering logic while simultaneously improving resource utilization through shared access to the same resource candidate pool, enabling both service independence and efficient resource allocation.
Solution Approach 2:
The patent implements feedback mechanisms where service schedulers monitor resource allocation outcomes and adjust their filtering criteria accordingly. This feedback loop enables independent schedulers to learn from each other's actions and make better scheduling decisions, improving overall resource utilization while maintaining service independence through localized decision-making.
Data Source
AI summary
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.


