Legal claims defining the scope of protection. Each claim is shown in both the original legal language and a plain English translation.
1. An enterprise disaster recovery system, comprising: a plurality of data disks; at least one data application to run on a host computing device to read data from at least one data disk of the plurality of data disks and to write data to the at least one data disk over a period of time; a recovery test engine to run on a recovery computing device to: generate in parallel a plurality of processing stacks corresponding to a respective plurality of previous points in time within the period of time, each processing stack operative to process a read command to read data at a designated address from a designated data disk of the plurality of data disks and return data at the designated address in an image of the designated data disk at the previous point in time corresponding to the processing stack; generate in parallel a plurality of write commands issued by the at least one data application to write data into designated addresses of designated data disks of the plurality of data disks; and log each write command received from the at least one data application into one of a plurality of write journals, each write journal corresponding to a respective previous point in time.
An enterprise disaster recovery system addresses the challenge of efficiently testing and validating data recovery processes across multiple historical states of a data storage system. The system includes a set of data disks and at least one data application running on a host computing device, which reads and writes data to these disks over time. A recovery test engine operates on a separate recovery computing device to simulate and test recovery scenarios. The engine generates multiple processing stacks in parallel, each corresponding to a distinct previous point in time within the operational period. These stacks process read commands by retrieving data from disk images captured at their respective historical points, allowing for accurate recovery testing at different states. Simultaneously, the engine generates write commands issued by the data application and logs them into separate write journals, each associated with a specific historical point. This parallel processing and journaling enable comprehensive testing of recovery procedures while maintaining consistency across different temporal states of the data. The system ensures that recovery operations can be validated against multiple historical configurations, improving reliability and reducing downtime risks.
2. The system of claim 1 , comprising the recovery test engine to stop operation of at least one processing stack of the plurality of processing stacks responsive to the receipt of a command to stop operation for the at least one processing stack.
A system for managing processing stacks in a computing environment addresses the challenge of efficiently controlling and recovering processing operations. The system includes multiple processing stacks, each configured to handle specific tasks or workloads. A recovery test engine monitors and manages these stacks, ensuring reliable operation. The system is designed to detect and respond to failures or errors within the processing stacks, allowing for recovery and continued operation. The recovery test engine can initiate tests to verify the integrity and functionality of the processing stacks, ensuring they operate correctly. In response to a command, the recovery test engine can stop the operation of one or more processing stacks, allowing for maintenance, updates, or troubleshooting without disrupting the entire system. This selective shutdown capability enhances system flexibility and reliability, enabling targeted interventions while maintaining overall system stability. The system may also include mechanisms to restart or reconfigure the processing stacks after the stop command is executed, ensuring seamless recovery and continued processing. The ability to control individual processing stacks independently improves fault isolation and system resilience, making the system suitable for high-availability environments.
3. The system of claim 1 , comprising the recovery test engine to start operation of at least one processing stack of the plurality of processing stacks responsive to the receipt of a command to start operation for the at least one processing stack.
This invention relates to a system for managing and recovering processing stacks in a computing environment. The system addresses the problem of efficiently starting and recovering processing stacks, which are groups of interconnected software components that handle specific tasks. The system includes a recovery test engine that initiates the operation of one or more processing stacks in response to a command. The recovery test engine ensures that the processing stacks are properly activated and can resume their intended functions after a failure or interruption. The system also includes a monitoring module that tracks the status of each processing stack, detecting any issues that may arise during operation. If a problem is detected, the recovery test engine can take corrective actions, such as restarting the affected processing stack or rerouting tasks to other available stacks. The system is designed to improve reliability and minimize downtime in environments where multiple processing stacks are deployed, such as cloud computing or distributed systems. The recovery test engine's ability to selectively start and manage individual processing stacks allows for flexible and efficient recovery operations, ensuring that critical tasks continue without significant disruption.
4. The system of claim 1 , comprising the recovery test engine to receive the plurality of previous points in time via an administrative user interface.
A system for data recovery testing includes a recovery test engine that simulates data loss scenarios and evaluates recovery processes. The system identifies a target data set and generates a plurality of previous points in time, each representing a snapshot of the target data set at different moments. The recovery test engine then tests the ability to restore the target data set to each of these previous points in time, ensuring data integrity and recovery reliability. The system also includes a user interface that allows an administrative user to input or select the plurality of previous points in time, enabling customization of the recovery test parameters. The recovery test engine may further analyze the test results to identify potential issues in the recovery process, such as data corruption or incomplete restorations. The system is designed to verify that backup and recovery mechanisms function correctly, reducing the risk of data loss in real-world scenarios. This approach helps organizations ensure their data protection strategies are effective and reliable.
5. The system of claim 1 , comprising the recovery test engine to receive, from the at least one data application corresponding to one processing stack of the plurality of processing stacks, a read command to read data at the designated address from the designated data disk.
A system for data recovery testing in distributed storage environments addresses the challenge of ensuring data integrity and reliability across multiple processing stacks and storage disks. The system includes a recovery test engine that interacts with data applications running on different processing stacks. When a data application issues a read command to retrieve data from a designated address on a specific data disk, the recovery test engine processes this request. The system is designed to verify that data can be accurately recovered from the designated disk, even in the presence of failures or disruptions. The recovery test engine may simulate or monitor actual recovery operations to assess the system's ability to maintain data consistency and availability. This ensures that the storage infrastructure can reliably handle read operations and recover data as expected, particularly in scenarios where data corruption, hardware failures, or network issues might occur. The system supports multiple processing stacks, allowing it to test recovery mechanisms across diverse computing environments and storage configurations. By validating data recovery processes, the system helps prevent data loss and ensures that applications can consistently access accurate and intact data.
6. The system of claim 1 , comprising the recovery test engine to process each processing stack of the plurality of processing stacks to return data at the designated address in an image of the designated data disk at the previous point in time corresponding to the processing stack.
This invention relates to data recovery systems, specifically for recovering data from a designated data disk at a previous point in time. The system addresses the challenge of retrieving data from a storage system that has undergone changes, such as updates or deletions, by allowing users to access historical versions of data. The system includes a recovery test engine that processes multiple processing stacks, each representing a different state of the data disk at various points in time. The recovery test engine extracts data from these stacks and returns it to a designated address in an image of the data disk, effectively restoring the disk to its state at a specific prior time. This enables users to recover lost or corrupted data, verify system integrity, or analyze historical data states. The system ensures accurate and efficient recovery by leveraging the processing stacks to reconstruct the disk image as it existed at the desired point in time. The invention is particularly useful in environments where data integrity and historical access are critical, such as enterprise storage systems, backup solutions, or forensic analysis tools.
7. The system of claim 1 , comprising the recovery test engine to receive a write command from the at least one data application to write data in the designated address of the designated data disk for the corresponding processing stack and to log the write command into the one of the plurality of write journals for a corresponding point in time, the one of the plurality of write journals including a dedicated virtual disk.
This invention relates to data storage systems, specifically a method for ensuring data integrity and recoverability in distributed storage environments. The system addresses the challenge of maintaining consistent and recoverable data states across multiple processing stacks and storage disks, particularly in scenarios where failures or disruptions may occur during write operations. The system includes a recovery test engine that monitors write commands issued by data applications. When an application sends a write command to store data at a designated address on a specific data disk, the recovery test engine logs this command into a dedicated virtual disk within a write journal. Each write journal corresponds to a specific point in time, allowing the system to track and verify the sequence of write operations. This logging mechanism ensures that even if a failure occurs during the write process, the system can reconstruct the intended data state by referencing the journal entries. The system also includes a processing stack that manages the execution of write operations across multiple data disks. The recovery test engine interacts with this stack to ensure that write commands are properly logged before being executed. The use of a dedicated virtual disk for journaling provides isolation and prevents corruption of the primary data storage, enhancing reliability. By maintaining a detailed log of write operations in a structured journal, the system enables efficient recovery and verification of data integrity, reducing the risk of data loss or inconsistency in distributed storage environments.
8. The system of claim 1 , comprising the recovery test engine to: determine, responsive to stoppage of operation of a first processing stack of the plurality of processing stacks, that a second processing stack of the plurality of processing stacks is running; and receive, from the second processing stack, responsive to the determination that the second processing stack is running, a read command to read data at the designated address from the designated data disk.
This invention relates to a system for managing data recovery in a distributed processing environment where multiple processing stacks operate on shared data storage. The problem addressed is ensuring data consistency and availability when one processing stack fails or stops operating, while other stacks remain active. The system includes a recovery test engine that monitors the operational status of the processing stacks. When a first processing stack stops operating, the recovery test engine detects that a second processing stack is still running. The second processing stack, upon detecting the failure of the first stack, issues a read command to access data from a designated data disk at a specified address. This allows the second processing stack to recover or continue processing the data that was being handled by the failed stack, ensuring uninterrupted data access and system reliability. The system may also include mechanisms for the second processing stack to verify the integrity of the data read from the disk, ensuring that the recovered data is accurate and consistent. The invention improves fault tolerance in distributed systems by enabling seamless recovery of data processing tasks when individual processing stacks fail.
9. The system of claim 1 , comprising the recovery test engine to stop operation of the plurality of processing stacks responsive to the determination that none of the plurality of processing stacks is running for a recovery test.
A system for managing processing stacks in a computing environment includes a recovery test engine that halts the operation of multiple processing stacks when none are actively running during a recovery test. The system monitors the status of the processing stacks to detect when all are inactive, triggering the recovery test engine to pause their operation. This ensures that the processing stacks are in a controlled state for testing purposes, preventing unintended execution or resource consumption. The recovery test engine may also include mechanisms to verify the state of the processing stacks before stopping them, ensuring that no critical operations are disrupted. The system is designed to improve the reliability and efficiency of recovery testing by ensuring that processing stacks are properly managed during test scenarios. This approach helps maintain system stability and reduces the risk of errors during recovery operations. The system may be implemented in various computing environments where processing stacks are used, such as distributed systems, cloud computing platforms, or high-availability applications. The recovery test engine's ability to halt processing stacks during recovery tests ensures that the system remains in a predictable state, facilitating accurate testing and validation of recovery procedures.
10. A method for testing enterprise disaster recovery, comprising: receiving an arbitrarily designated plurality of points in time for conducting data recovery tests in parallel; generating in parallel a plurality of processing stacks, each stack corresponding to one of the designated points in time, and each stack operative to receive a command issued by at least one data application to read data from a designated address from a designated data disk and to return data at the designated address in an image of the designated data disk at the designated point in time corresponding to the stack; generating in parallel a plurality of write commands issued by the at least one data application to write data into designated addresses of designated data disks; and logging the write commands received from the at least one data application into a plurality of write journals, each write journal corresponding to one of the designated points in time.
This invention relates to enterprise disaster recovery testing, specifically enabling parallel testing of data recovery at multiple historical points in time. The problem addressed is the inefficiency of traditional recovery testing, which typically requires sequential testing at different points, consuming significant time and resources. The solution involves a method that allows simultaneous testing of data recovery across multiple designated points in time, improving efficiency and reducing downtime. The method begins by receiving multiple arbitrary points in time for conducting recovery tests in parallel. For each point in time, a processing stack is generated, each stack corresponding to a specific point in time. These stacks are designed to handle read commands from data applications, retrieving data from designated disk addresses as it existed at the corresponding historical point in time. The stacks return data from disk images that represent the state of the disks at those specific points. Additionally, the method processes write commands issued by data applications to designated disk addresses. These write commands are logged into separate write journals, each corresponding to one of the designated points in time. This ensures that the integrity of the historical data is maintained while allowing parallel testing of recovery scenarios. The parallel processing of read and write operations across multiple points in time enhances the speed and accuracy of disaster recovery testing, making it more practical for enterprise environments.
11. The method of claim 10 , comprising stopping operation of any designated one of the stacks in response to receiving a command to stop operation of the designated stack.
This invention relates to a system for managing multiple stacks of computing resources, such as servers or virtual machines, to improve efficiency and reliability. The problem addressed is the need to dynamically control the operation of individual stacks within a distributed computing environment, particularly when certain stacks may need to be temporarily or permanently deactivated without disrupting the overall system. The method involves monitoring the status of multiple stacks and selectively stopping operation of a designated stack in response to a received command. The command may originate from an administrator, an automated monitoring system, or a scheduling algorithm. When the command is received, the system halts the designated stack's processes, releases its allocated resources, and ensures a graceful shutdown to prevent data loss or service interruption. The remaining stacks continue operating normally, maintaining system functionality while the deactivated stack is either repaired, updated, or replaced. This approach allows for targeted maintenance, load balancing, or failure recovery without requiring a full system shutdown. It is particularly useful in cloud computing, data centers, or any environment where high availability and resource optimization are critical. The method ensures that individual stacks can be managed independently, improving scalability and operational flexibility.
12. The method of claim 10 , comprising starting operation of at least one processing stack of the plurality of processing stacks responsive to receiving a command to start operation for the at least one processing stack.
A system and method for managing multiple processing stacks in a computing environment addresses the challenge of efficiently controlling and coordinating the operation of independent processing units. The invention provides a framework where a plurality of processing stacks, each capable of executing tasks independently, can be selectively activated or deactivated based on system demands or external commands. Each processing stack operates as a self-contained unit, handling its own processing tasks without direct interference from other stacks, which improves system modularity and fault isolation. The method includes monitoring the operational status of each stack and dynamically adjusting their states in response to commands or predefined conditions. When a command is received to start operation for one or more processing stacks, the system initiates the corresponding stacks, enabling them to begin processing tasks. This selective activation ensures optimal resource utilization and reduces unnecessary power consumption. The invention also supports graceful shutdown or suspension of stacks when they are no longer needed, further enhancing energy efficiency and system responsiveness. The system may include additional features such as load balancing, error handling, and inter-stack communication protocols to ensure seamless operation across the processing stacks. This approach is particularly useful in distributed computing, real-time systems, and environments requiring high availability and scalability.
13. The method of claim 10 , comprising receiving, from the at least one data application corresponding to one processing stack of the plurality of processing stacks, a read command to read data at the designated address from the designated data disk.
A method for managing data storage in a distributed computing environment involves coordinating multiple processing stacks to access data from designated storage locations. The method addresses the challenge of efficiently retrieving data in systems where multiple processing units or stacks interact with shared storage resources. The method includes receiving a read command from a data application associated with one of the processing stacks, where the command specifies a designated address on a designated data disk. The system processes this command to retrieve the requested data from the specified storage location. This approach ensures that data access operations are properly routed and executed within the distributed architecture, maintaining data consistency and system performance. The method may also involve additional steps such as validating the read command, determining the appropriate storage location, and handling any conflicts or errors that arise during the data retrieval process. By integrating these functions, the method supports reliable and efficient data access in complex computing environments.
14. The method of claim 10 , comprising processing each processing stack of the plurality of processing stacks to return data at the designated address in an image of the designated data disk at the previous point in time corresponding to the processing stack.
This invention relates to data recovery in storage systems, specifically for retrieving data from a designated data disk at a previous point in time. The problem addressed is the need to efficiently access historical data from a storage system, particularly in scenarios where data corruption or loss occurs and recovery from a prior state is required. The method involves processing multiple processing stacks, each representing a different point in time or state of the data disk. Each processing stack is analyzed to locate and return the data stored at a specified address within the disk image at the corresponding historical point in time. This allows for precise recovery of data as it existed at a specific prior state, ensuring data integrity and consistency. The processing stacks are generated and managed to maintain a record of disk states over time, enabling selective retrieval of data from any of these states. The method ensures that the data returned is accurate and corresponds to the exact state of the disk at the designated time, addressing challenges in data recovery and historical data access in storage systems. This approach is particularly useful in environments where data reliability and recovery are critical, such as enterprise storage systems or backup solutions.
15. The method of claim 10 , comprising receiving a write command from the at least one data application to write data in the designated address of the designated data disk for the corresponding processing stack and to log the write command into one of the plurality of write journals for a corresponding point in time.
A method for managing data storage in a distributed system involves handling write operations from data applications to ensure data consistency and reliability. The system includes multiple processing stacks, each associated with a designated data disk for storing data. When a write command is received from a data application, the method writes the data to the designated address on the specified data disk and simultaneously logs the write command into a write journal. The write journal records the command at a specific point in time, allowing for tracking and recovery of data changes. This ensures that write operations are both executed and documented, enabling system recovery in case of failures. The method supports multiple write journals, each corresponding to different points in time, providing a historical record of write operations. This approach enhances data integrity by maintaining a log of all write activities, which can be used for auditing, rollback, or recovery purposes. The system is designed to handle distributed storage environments where multiple applications interact with shared storage resources, ensuring that data modifications are properly tracked and recoverable.
16. The method of claim 10 , comprising generating in parallel the plurality of processing stacks, each stack operative to receive the command issued by at least one data application to read data from the designated address from the designated data disk of a server of a virtual protection group and to return data at the designated address in the image of the designated data disk of the server of the virtual protection group.
This invention relates to data processing in virtualized storage environments, specifically addressing the challenge of efficiently managing data access requests from multiple applications in a virtual protection group. The method involves generating multiple processing stacks in parallel, each designed to handle commands from at least one data application. These commands instruct the stacks to read data from a specified address on a designated data disk within a server of the virtual protection group. Each stack processes the request and returns the data from the specified address, presenting it in the form of an image of the designated data disk. The parallel processing stacks ensure that data access operations are distributed and executed concurrently, improving performance and reducing latency in virtualized storage systems. This approach is particularly useful in environments where multiple applications require simultaneous access to shared storage resources, ensuring efficient data retrieval without bottlenecks. The method optimizes resource utilization by leveraging parallelism, allowing for scalable and high-performance data management in virtualized infrastructures.
17. The method of claim 10 , comprising: determining, responsive to stopping operation of a first processing stack of the plurality of processing stacks, that a second processing stack of the plurality of processing stacks is running; and receiving, from the second processing stack, responsive to determining that the second processing stack is running, a read command to read data at the designated address from the designated data disk.
This invention relates to data processing systems with multiple processing stacks, addressing the challenge of maintaining data consistency and availability when one processing stack stops operating. The system includes a plurality of processing stacks that manage data storage and retrieval operations on a designated data disk. When a first processing stack stops operating, the system detects that a second processing stack is still running. The second processing stack then issues a read command to access data at a specified address on the data disk, ensuring continuous data access despite the failure of the first stack. The method ensures that the second processing stack can seamlessly take over data operations, preventing data loss or downtime. The invention is particularly useful in high-availability systems where uninterrupted data access is critical, such as in distributed computing or fault-tolerant storage environments. The system dynamically monitors stack statuses and redirects operations to active stacks, improving reliability and performance. The approach avoids the need for complex recovery mechanisms by leveraging existing operational stacks to maintain data integrity.
18. The method of claim 10 , comprising stopping operation of the plurality of processing stacks responsive to determining that none of the plurality of processing stacks is running for a recovery test.
This invention relates to a system for managing processing stacks in a computing environment, particularly for handling recovery tests. The system includes a plurality of processing stacks, each configured to execute tasks and communicate with other stacks. A monitoring module tracks the operational status of each stack, including whether they are actively running or idle. The system also includes a control module that manages the operation of the stacks based on their status. The method involves determining whether any of the processing stacks are running a recovery test. If none of the stacks are actively running such a test, the control module stops the operation of all processing stacks. This ensures that no unnecessary processing occurs when recovery tests are not in progress, conserving system resources. The system may also include mechanisms to restart the stacks when a recovery test is initiated or when other conditions require their operation. The invention addresses the problem of inefficient resource usage in computing systems where processing stacks remain active even when no critical tasks, such as recovery tests, are being performed. By stopping idle stacks, the system reduces power consumption and computational overhead, improving overall efficiency. The method ensures that processing stacks are only active when necessary, optimizing system performance.
19. The system of claim 1 , wherein the recovery test engine stops operation of at least one processing stack of the plurality of processing stacks responsive to the receipt of a command to stop operation.
This invention relates to a system for managing multiple processing stacks in a computing environment, particularly focusing on controlled recovery and testing of these stacks. The system includes a recovery test engine that monitors and manages the operation of a plurality of processing stacks, which are independent execution environments handling tasks such as data processing, communication, or application execution. The system addresses the challenge of ensuring reliable operation and recovery of these stacks, especially in scenarios where failures or performance issues occur. The recovery test engine is designed to initiate recovery procedures for one or more processing stacks when a failure or error condition is detected. These procedures may include restarting a stack, rolling back to a previous state, or reallocating resources to maintain system stability. Additionally, the engine can simulate failure conditions to test the resilience and recovery capabilities of the stacks, ensuring they can handle real-world disruptions. A key feature of the system is the ability to stop the operation of one or more processing stacks in response to a command. This allows for controlled shutdowns, maintenance, or testing without disrupting the entire system. The system may also include mechanisms to log recovery events, analyze performance metrics, and provide alerts or notifications to administrators, enhancing overall system reliability and maintainability. The invention is particularly useful in distributed computing, cloud environments, or any system where multiple independent processing units must operate reliably and recover from failures efficiently.
20. The system of claim 1 , comprising a journal manager to: receive the write commands from the at least one data application of a host site; and log the write commands onto one of the plurality of write journals, the one of the plurality of write journals including a dedicated virtual disk.
A system for managing data writes in a distributed storage environment addresses the challenge of ensuring data consistency and reliability across multiple storage nodes. The system includes a journal manager that receives write commands from one or more data applications running on a host site. The journal manager logs these write commands onto a dedicated virtual disk within a plurality of write journals. Each write journal is assigned to a specific virtual disk, allowing for organized and isolated logging of write operations. This approach improves data integrity by ensuring that write commands are recorded in a structured manner before being processed by the storage system. The system further includes a replication manager that replicates the logged write commands across multiple storage nodes to enhance fault tolerance and data availability. By separating the logging process from the actual data storage, the system reduces the risk of data loss and ensures that write operations are tracked and recoverable in case of failures. The use of dedicated virtual disks for each write journal simplifies management and improves performance by isolating write operations from other storage activities.
Unknown
May 12, 2020
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.