Abstract:
A writing application on a computing device can reference a tail pointer to write messages to message buffers that a peer-to-peer data link replicates in memory of another computing device. The message buffers are divided into at least two queue segments, where each segment has several buffers. Messages are read from the buffers by a reading application on one of the computing devices using an advancing head pointer by reading a message from a next message buffer when determining that the next message buffer has been newly written. The tail pointer is advanced from one message buffer to another within a same queue segment after writing messages. The tail pointer is advanced from a message buffer of a current queue segment to a message buffer of a next queue segment when determining that the head pointer does not indicate any of the buffers of the next queue segment.
Abstract:
A first remote memory access link is established between a first communications interface card on the first computing device and a second communications interface card on the second computing device. In response to an error associated with the first remote memory access link, messages are copied from a segmented queue associated with the first communications interface card to a segmented queue associated with a third communications interface card on the first computing device. A second remote memory access link between the third communications interface card and a fourth communications interface card is activated on the second computing device, and messages are resent from the segmented queue associated with the third communications interface card to the fourth communications interface card through the second remote memory access link. The second computing device discards duplicate received messages, if any.
Abstract:
The present specification provides a high availability system. In one aspect a replicator is situated between a plurality of servers and a network. Each server is configured to execute a plurality of identical message processors. The replicator is configured to forward messages to two or more of the identical message processors, and to accept a response to the message as being valid if there is a quorum of identical responses.
Abstract:
One aspect of the present invention provides a system for failover comprising at least one client selectively connectable to one of at least two interconnected servers via a network connection. In a normal state, one of the servers is designated a primary server when connected to the client and a remainder of the servers are designated as backup servers when not connected to the client. The at least one client is configured to send messages to the primary server. The servers are configured to process the messages using at least one service that is identical in each of the servers. The services are unaware of whether a server respective to the service is operating as the primary server or the backup server. The servers are further configured to maintain a library, or the like, that indicates whether a server is the primary server or a server is the backup server. The services within each server are to make external calls via its respective library. The library in the primary server is configured to complete the external calls and return results of the external calls to the service in the primary server and to forward results of the external calls to the service in the backup server. The library in the secondary server does not make external calls but simply forwards the results of the external calls, as received from the primary server, to the service in the secondary server when requested to do so by the service in the secondary server.
Abstract:
The present invention provides a novel system and method for failover. In an embodiment, a primary server and a backup server are available to a plurality of clients. Messages containing requests are processed by the primary server, while a mirror image of transaction records generated by the processing of those requests is maintained in volatile memory of both the primary server and the backup server. In this mode of operation, the volatile memory is periodically flushed to non-volatile memory.
Abstract:
A failover system, server, method, and computer readable medium are provided. The system includes a primary server for communicating with a client machine and a backup server. The primary server includes a primary session manager, a primary dispatcher a primary order processing engine and a primary verification engine. The method involves receiving an input message, obtaining deterministic information, processing the input message and replicating the input message along with the deterministic information.
Abstract:
A server and method for processing data records are provided. The server includes an operating system running on a dedicated processor core, a memory storage facility, a first application process thread running on a first dedicated core and a second application process thread running on a second dedicated core. The dedicated cores are in communication with the memory storage facility and configured to run threads autonomously. The method involves scheduling non-deterministic threads, initiating an application process, storing data, and running process threads autonomously from the operating system.
Abstract:
One aspect of the present invention provides a system for failover compri sing at least one client selectively connectable to one of at least two inte rconnected servers via a network connection. In a normal state, one of the s ervers is designated a primary server when connected to the client and a rem ainder of the servers are designated as backup servers when not connected to the client. The at least one client is configured to send messages to the p rimary server. The servers are configured to process the messages using at l east one service that is identical in each of the servers. The services are unaware of whether a server respective to the service is operating as the pr imary server or the backup server. The servers are further configured to mai ntain a library, or the like, that indicates whether a server is the primary server or a server is the backup server. The services within each server ar e to make external calls via its respective library. The library in the prim ary server is configured to complete the external calls and return results o f the external calls to the service in the primary server and to forward res ults of the external calls to the service in the backup server. The library in the secondary server does not make external calls but simply forwards the results of the external calls, as received from the primary server, to the service in the secondary server when requested to do so by the service in th e secondary server.