Patent classifications
G06F11/1492
Dynamically adjusting the number of replicas of a file according to the probability that the file will be accessed within a distributed file system
In a data storage system with a number of replicas of a file set to one or more replicas, a timer is set to track a time since a last access to the file. Responsive to the timer matching a first timer window threshold, the timer is reset to count to a second timer window threshold and a number of replicas of the file are automatically reduced within the data storage system, wherein the probability that the file will be accessed prior to the first timer window threshold is greater than the probability that the file will be accessed after the first timer window threshold. Responsive to the timer matching the second timer window threshold, the timer is reset to count to a third timer window threshold. Responsive to receiving a read access prior to the timer reaching the third timer window threshold, the number of replicas of the file is increased and the timer reset to count to the second timer window threshold.
Apparatus and method of control flow integrity enforcement utilizing boundary checking
A computer device includes a memory. The computer device also includes at least one processor configured to execute a process and manage the memory for the process. The processor is further configured to execute one or more program instructions associated with an application, reach control flow transfer for the one or more program instructions, unwind a call stack associated with the one or more program instructions in response to a failure to meet a target control flow, identify an offending function call, and rewrite the offending function call. The rewritten function call includes a memory operation boundary check.
ELECTRONIC COMPUTER, ELECTRONIC SYSTEM, METHOD FOR MONITORING THE EXECUTION OF AN APPLICATION AND ASSOCIATED COMPUTER PROGRAM
The invention relates to an electronic system comprising an electronic computer, in the presence of an external request to execute a source application whose executable has been previously loaded within a first dedicated area of the memory, being at least configured to: instantiate a clone application of the source application by: duplicating the executable of the source application to create the executable of the clone application, and by storing it in a second area of the memory distinct from the one dedicated to the source application, and by generating a request, internal to the computer, to execute said at least one clone application, execute the source and clone(s) applications independently, generate a single output based on comparing the result of the execution of the source and clone(s) applications.
FAILURE RECOVERY IN A REPLICATION ENVIRONMENT
One example method includes performing replication operations and/or failure recovery operations for replication operations in a computing system using matrix clocks and replication controllers. The replication controller includes or has access to vectors of a matrix clock. The replication controller also includes a multiplexer. The multiplexer is configured as an m×n multiplexer using the matrix clock to determine m and n. The operation is performed using the configured multiplexer. This allows an imbalance of resources to be managed by the replication controller. The matrix clock can be updated, which may result in the multiplexer being reconfigured.
FAILURE RECOVERY IN A REPLICATION ENVIRONMENT
One example method includes performing replication operations and/or failure recovery operations for replication operations in a computing system using matrix clocks. Each node or process in a computing system is associated with a matrix clock that reflects streams required and/or available at the source and destination nodes. As the replication operation is performed, the matrix clocks are updated. When a failure is detected or when insufficient streams are available, the nodes may be throttled until sufficient streams are available. The matrix clocks facilitate a recovery line such that replication can resume when sufficient streams are available.
SELF HEALING FAST SYNC ANY POINT IN TIME REPLICATION SYSTEMS USING AUGMENTED MERKLE TREES
Replication operations of replicating data from a production site to a replica site. The replication is performed using independent Merkle trees. The Merkle trees are updated asynchronously using Merkle trees that have been augmented with a time-based value. The synchronization is verified by comprising root hashes of the independent Merkle trees at certain points in time. The replication and Merkle trees are self-healing and trigger a resynchronization when a discrepancy is discovered.
Processing Tasks in a Processing System
A method of processing an input task in a processing system involves duplicating the input task so as to form a first task and a second task; allocating memory including a first block of memory configured to store read-write data to be accessed during the processing of the first task; a second block of memory configured to store a copy of the read-write data to be accessed during the processing of the second task; and a third block of memory configured to store read-only data to be accessed during the processing of both the first task and the second task; and processing the first task and the second task at processing logic of the processing system so as to, respectively, generate first and second outputs.
Self healing fast sync any point in time replication systems using augmented Merkle trees
Replication operations of replicating data from a production site to a replica site. The replication is performed using independent Merkle trees. The Merkle trees are updated asynchronously using Merkle trees that have been augmented with a time-based value. The synchronization is verified by comprising root hashes of the independent Merkle trees at certain points in time. The replication and Merkle trees are self-healing and trigger a resynchronization when a discrepancy is discovered.
Streaming database cloning using cluster live mounts
A database can be instantly cloned from a source device to a target device by a cluster mapped to a database to be cloned. Nodes of the cluster are mapped over channels to directories of the database. Scripts are generated from one or more templates that specify the order and values to be executed to perform a database job, such as cloning the database to the target device using the mappings. To clone the database, a template can be executed that generates and populates scripts, which can be executed on the target device to provide a functioning cloned database using the mapped cluster.
System and Method for Modular Construction of Executable Programs Having Self-Contained Program Elements
A method for performing a fault tolerant automated sequence of computer implemented tasks including, presenting for selection by a user a plurality of pre-programmed elements, each pre-programmed element being independently executable relative each other pre-programmed element, receiving from the user a selection of one or more of the pre-programmed elements and a sequence for performing each pre-programmed element to form an exemplary routine, creating an instance of the exemplary routine, the instance of the exemplary routine including an instance of each of the selected pre-programmed elements arranged for performance in accordance with the sequence and configured to perform tasks defined by the pre-programmed elements and the sequence, initiating implementation of the instance of the exemplary routine by initiating performance of the instances of the pre-programmed elements in accordance with the sequence, and executing each instance of the pre-programmed elements according to the sequence.