×

System and method for reliable non-blocking messaging for multi-process application replication

  • US 9,128,904 B1
  • Filed: 10/01/2012
  • Issued: 09/08/2015
  • Est. Priority Date: 08/06/2010
  • Status: Expired due to Fees
First Claim
Patent Images

1. A system, comprising:

  • a primary host computer with computer system memory configured to store a primary application which is configured to be executed on said primary host computer with an operating system, wherein said primary application is comprised of one or more processes and each process is comprised of one or more threads;

    one or more central processing units (CPUs) for said primary host computer operatively connected to said computer system memory and configured to execute said primary application;

    one or more interceptors configured to intercept calls to the operating system and configured to generate replication messages based on said intercepted calls, wherein said intercepted calls include at least one of process calls, thread calls, resource calls including calls to Input/Output resources, lock calls including calls to mutexes, semaphores, futexes, critical sections and monitors;

    a messaging layer for said primary application configured to transmit said replication messages to one or more backup applications;

    one or more backup host computers each with computer system memory configured to store the one or more backup applications that execute on said one or more backup hosts each with a corresponding operating system;

    one or more CPUs for each one or more backup hosts operatively connected to said computer system memory for each backup host and configured to execute said one or more backup applications;

    one or more additional interceptors that intercept calls to said one or more backup operating systems; and

    an additional messaging layer for each one or more of the backup applications which are configured to receive said replication messages; and

    wherein each replication message generated for the primary application contains a unique replication sequence number which is one larger than the replication sequence number for the previously sent replication message; and

    wherein said replication messages received are sorted by replication sequence number and an order of replication messages by sorted sequence number is used to impose a same order of events on the one or more backup application as on the primary application.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×