发明名称 System and method for dynamic transparent consistent application-replication of multi-process multi-threaded applications
摘要 A system, method, and computer readable medium for consistent and transparent replication of multi process multi threaded applications. The computer readable medium includes computer-executable instructions for execution by a processing system. Primary applications runs on primary hosts and one or more replicated instances of each primary application run on one or more backup hosts. Replica consistency between primary application and its replicas is provided by imposing the execution ordering of the primary on all its replicas. The execution ordering on a primary is captured by intercepting calls to the operating system and libraries, sending replication messages to its replicas, and using interception on the replicas to enforce said captured primary execution order. Replication consistency is provided without requiring modifications to the application, operating system or libraries.
申请公布号 US9135127(B1) 申请公布日期 2015.09.15
申请号 US201012887208 申请日期 2010.09.21
申请人 Open Invention Network, LLC 发明人 Havemose Allan
分类号 G06F13/00;G06F11/00;G06F11/20 主分类号 G06F13/00
代理机构 Haynes and Boone, LLP 代理人 Haynes and Boone, LLP
主权项 1. A system for providing replica consistency between a primary application and one or more backup applications, the system comprising: computer system memory comprising one or more memory locations configured to store the primary application; one or more Central Processing Units (CPUs) operatively connected to said computer system memory and configured to execute said primary application on a primary host with a host operating system; an interception layer on the primary application configured to intercept access to processes and threads and generate replication messages based on said interception, wherein said intercepted access includes one or more of creating threads, destroying threads, managing threads, creating processes, destroying processes, and managing processes; a messaging engine on the primary application configured to send said replication messages to the one or more backup applications; one or more backup hosts each with a host operating system and each comprising: computer system memory comprising one or more memory locations configured to store one or more backup applications, and one or more Central Processing Units (CPUs) operatively connected to said computer system memory and configured to execute said one or more backup applications; an additional messaging engine for each backup application configured to receive said replication messages from the primary application; and backup interception layers corresponding to each backup application, said backup interception layers configured to intercept access to processes and threads, wherein ordering information is retrieved from the additional messaging engines for each backup application; wherein each instance of creating and destroying threads and processes are assigned a unique Method ID, and each replication message contains at least the Method ID, a process ID, a thread ID and a sequence number; wherein interceptors for said each instance of creating and destroying threads and processes send unique replication messages with said unique Method IDs to the one or more backups; wherein said unique replication messages are used on the one or more backup applications to maintain mappings between a primary process ID and thread ID pair and a corresponding process ID and thread ID pair on the one or more backup applications; and wherein replica consistency is provided by imposing the same event ordering on each backup application as on the primary application.
地址 Durham NC US