Repository Scan Coordination for Parallel Conflict-Free Scanning
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing code scanning tools operate independently, leading to slowed down operations due to uncoordinated scanning and potential conflicts when multiple scanners are used simultaneously.
Innovation Solution
A repository scanning coordinator manages parallel scanning of multiple source code repositories by multiple scanners, preventing simultaneous scanning of any one repository by more than one scanner, and coordinating scanner operations through a library API to ensure efficient and conflict-free scanning.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If multiple independent scanners are used to scan source code repositories, then scanning coverage is improved, but scanning speed deteriorates due to uncoordinated operations and conflicts
Solution Approach 1:
A coordinator service is introduced as an intermediary between multiple scanners and the source code repositories. The coordinator receives scan requests from multiple scanners, manages the scan queue, assigns repositories to scanners, and tracks scan status. This intermediary resolves conflicts by ensuring that only one scanner accesses a repository at a time while allowing multiple scanners to operate in parallel on different repositories, thereby maintaining both comprehensive coverage and high scanning speed.
2Productivity
If multiple scanners operate simultaneously on the same repository, then scanning throughput is improved, but system stability deteriorates due to conflicts and collisions
Solution Approach 1:
The coordinator service performs preliminary actions by establishing a scan queue and pre-assigning repositories to scanners before actual scanning begins. It checks the availability of each repository and assigns it to a scanner in advance, preventing multiple scanners from attempting to access the same repository simultaneously. This preliminary coordination ensures system stability while maintaining high throughput by keeping all scanners continuously occupied with assigned tasks.
3Reliability
If sequential scanning is used to avoid conflicts, then system stability is improved, but scanning time increases
Solution Approach 1:
The system dynamically adjusts the scanning operation mode based on repository availability. When a repository is available, the coordinator assigns it to a scanner for parallel processing. When a repository is being scanned, the coordinator queues additional scan requests. This dynamic management allows the system to maximize parallel scanning when possible (reducing time) while maintaining stability by preventing conflicts through the queueing mechanism.
Data Source
AI summary
A repository scanning coordinator is disclosed herein. The repository scanning coordinator manages parallel scanning of multiple source code repositories by multiple scanners, while also avoiding conflicts by preventing simultaneous scanning of any one single source code repository by more than one scanner at a time.


