Layered Services Architecture Rules Engine Workflow Sequencing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-availability storage systems become increasingly complex, leading to overwhelming programming requirements as the number of complex tasks increases, making it difficult to efficiently execute these tasks.
Innovation Solution
A computer-implemented method using a layered services architecture with a rules engine to process control plane requests by identifying mandatory services and sequencing them into a workflow, which includes services such as navigator, transit, copier, zero detect, and IO coordinator services to manage data operations and conflicts.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If the number of complex tasks performed on high-availability storage systems increases, then the system capability improves, but the programming complexity becomes overwhelming
Solution Approach 1:
The patent segments complex storage tasks into discrete, independently manageable service components within a service graph architecture. Each service (e.g., copy service, migrate service, zero-copy service) represents a modular unit that can be independently programmed, deployed, and maintained. This segmentation allows the system to handle complex tasks by composing multiple simple service units rather than programming monolithic complex logic, thereby improving system capability while keeping individual service programming manageable.
Solution Approach 2:
The patent introduces a service graph as an intermediary layer between the control plane and data plane, which automatically orchestrates and coordinates multiple discrete services. The service graph acts as a mediator that manages the complexity of task execution by handling service discovery, routing, and coordination automatically. This intermediary architecture enables the system to execute complex workflows without requiring direct programming of complex coordination logic, thus improving versatility while reducing programming burden.
2Adaptability or versatility
If more discrete services are added to the layered services architecture, then the system can perform more complex tasks, but the complexity of managing and sequencing these services increases
Solution Approach 1:
The patent implements a dynamic service graph that can automatically adapt its structure and routing based on real-time system conditions and task requirements. The service graph dynamically selects and sequences appropriate services from the available discrete services based on the specific task at hand, rather than following fixed predetermined paths. This dynamic approach allows the system to leverage multiple discrete services for enhanced capability while the service graph automatically manages the complexity of service selection and sequencing.
Solution Approach 2:
The service graph employs self-service mechanisms where services automatically register themselves, discover their dependencies, and configure their own routing paths within the service graph. Each discrete service can independently declare its capabilities and requirements, and the service graph automatically integrates them into appropriate workflows. This self-organizing behavior reduces the manual management overhead despite having numerous discrete services available.
Data Source
AI summary
A method, computer program product, and computing system for receiving an control plane request on a layered services architecture that includes a plurality of discrete services and a rules engine. The control plane request is processed with the rules engine to identify one or more mandatory services, chosen from the plurality of discrete services, required to process the control plane request. The one or more mandatory services are sequenced to form a services workflow. The control plane request is processed based upon the services workflow.


