×

System and method for transparent consistent application-replication of multi-process multi-threaded applications

  • US 8,589,953 B1
  • Filed: 08/06/2010
  • Issued: 11/19/2013
  • Est. Priority Date: 08/06/2010
  • Status: Expired due to Fees
First Claim
Patent Images

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 host with a host operating system;

    an interception layer on the primary application configured to intercept calls to the host operating system and to shared libraries and configured to generate replication messages based on said intercepted calls;

    a messaging engine for the primary application sending 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;

    one or more additional messaging engines for each backup application configured to receive said replication messages from the primary application; and

    backup interception layers corresponding to each backup application configured to intercept calls to the operating system and shared libraries, wherein information to be ordered is retrieved from the one or more messaging engines for each backup application,wherein each intercepted operating system or shared library call is assigned a unique method identifier, and each replication message contains at least the method identifier, process identifier, thread identifier and a sequence number, and replica consistency is provided based on the ordered information for each backup application as on the primary application; and

    wherein a call order of the primary application is imposed for said each backup application when incoming replication messages are sorted by sequence number, and replication messages are delivered with matching method, process and thread identifiers with a sequence number exactly one larger than the most recent delivered message.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×