发明名称 System and method for reliable non-blocking messaging for multi-process application replication
摘要 A system, method, and computer readable medium for reliable messaging between two or more servers. 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. The reliable messaging ensures consistent ordered delivery of messages in the event that messages are lost; arrive out of order, or in duplicate. The messaging layer operates over TCP or UDP with our without multi-cast and broad-cast and requires no modification to applications, operating system or libraries.
申请公布号 US9128904(B1) 申请公布日期 2015.09.08
申请号 US201213632951 申请日期 2012.10.01
申请人 Open Invention Network, LLC 发明人 Havemose Allan
分类号 G06F11/00;G06F11/20 主分类号 G06F11/00
代理机构 Haynes and Boone, LLP 代理人 Haynes and Boone, LLP
主权项 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.
地址 Durham NC US