Master-Slave Processor Architecture for Storage System Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In computer systems with multiple processors, existing peer-to-peer models are not well suited for certain data processing tasks, leading to inefficiencies in resource allocation and service request handling in data storage systems.
Innovation Solution
Implementing a method where one processor acts as an active processor while the other processors are passive, using state transition tables to determine processor roles based on driver communication status and system states, allowing for efficient I/O request processing and resource management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a peer-to-peer model is used where any processor may service incoming requests, then system redundancy and fault tolerance are improved, but resource allocation efficiency and service request handling performance deteriorate
Solution Approach 1:
The patent segments processor roles into primary and secondary categories, with the primary processor handling most service requests and the secondary processor providing backup support. This segmentation allows the system to maintain redundancy while improving request handling efficiency by concentrating processing work on a single active processor at any given time.
Solution Approach 2:
The patent implements dynamic role assignment where processors can transition between primary and secondary states based on system conditions, driver communication status, and failover events. This dynamic approach allows the system to adapt to changing conditions while maintaining optimal performance through controlled activation of backup processors only when necessary.
2Adaptability or versatility
If all processors execute all application modules, then processing flexibility is improved, but resource allocation efficiency and system performance deteriorate
Solution Approach 1:
The patent applies local quality by having different processors execute different portions of application modules based on their assigned roles. The primary processor executes the full set of application modules while secondary processors execute only specific portions relevant to their backup functions. This allows the system to maintain processing flexibility through distributed module execution while improving resource allocation efficiency by avoiding redundant full-module execution on all processors.
Data Source
AI summary
Described are techniques for executing an application on two or more processors. A first portion of one or more modules of the application is determined. A second portion of one or more modules of the application is determined. The first portion of modules is executed on each of the two or more processor. A first of said two or more processor is selected as an active processor. The second portion of modules is executed on the active processor and not on the other ones of said two or more processors.


