Server Scheduling Tool with Resource Conflict Detection
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Servers often lack sufficient resources at scheduled execution times, leading to job failures, as clients and servers cannot anticipate the server's load, resulting in unscheduled jobs being executed and potential overloading.
Innovation Solution
A server scheduling tool that calculates resource requirements based on historical data to schedule jobs, proposes new execution times for conflicting jobs, and requests additional resources from the cloud if necessary, ensuring sufficient resources are available and assigning permission identifiers to prevent unscheduled executions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the server schedules jobs based on client requests without resource prediction, then the scheduling process is simple and fast, but the server may lack sufficient resources at execution time causing job failures
Solution Approach 1:
The system performs preliminary actions by calculating resource requirements for each job before scheduling, using historical data to predict resource consumption. This advance resource assessment ensures that the server has sufficient resources allocated before job execution, preventing job failures due to resource unavailability.
Solution Approach 2:
The system implements feedback mechanisms by continuously monitoring actual resource consumption against predicted resource requirements. This feedback loop allows the system to refine its resource prediction accuracy over time, improving job execution reliability while maintaining efficient scheduling operations.
2Productivity
If the server accepts all scheduled jobs without conflict detection, then the scheduling process is efficient, but the server may become overloaded when multiple jobs execute simultaneously
Solution Approach 1:
The system performs preliminary conflict detection by comparing the resource requirements of scheduled jobs with the server's available capacity before execution. This advance conflict identification prevents server overload by rejecting or rescheduling jobs that would cause resource conflicts, maintaining server stability.
Solution Approach 2:
The system uses feedback from resource monitoring to dynamically adjust scheduling decisions. When resource conflicts are detected, the system provides feedback to reschedule jobs or request additional cloud resources, ensuring server stability while maintaining high scheduling efficiency.
3Adaptability or versatility
If the server allows unscheduled jobs to execute, then the system is flexible and responsive, but unauthorized or unscheduled jobs may consume resources and cause overloading
Solution Approach 1:
The system introduces permission identifiers as an intermediary mechanism between job requests and execution. Each scheduled job is assigned a unique permission identifier that acts as a credential. This intermediary control ensures that only authorized, scheduled jobs can execute, preventing unauthorized resource consumption while maintaining system flexibility.
Solution Approach 2:
The system implements self-service validation where clients must present the correct permission identifier to execute a job. This self-service mechanism automatically prevents unscheduled jobs from running without requiring constant server intervention, maintaining both security and efficiency.
Data Source
AI summary
An apparatus includes a memory and a hardware processor. The memory stores one or more scheduling histories. The processor receives a first list from a first client device and a second list from a second client device. The first list includes a first job and the second list includes a second job. The processor calculates a first resource requirement to execute the first job and a second resource requirement to execute the second job. The processor determines that a conflict exists between the first job and the second job and in response, communicates messages to the first and second client devices indicating the conflict and proposed times for executing the jobs. The processor determines based on responses to the messages, execution times for the first and second jobs, assigns permission identifiers to the first and second jobs, and communicates a schedule.


