Distributed computing system clustering model providing soft real-time responsiveness and continuous availability
First Claim
1. A distributed computing system, comprising:
- a primary server having a primary virtual shared memory;
a back-up server having a back-up virtual shared memory, said primary server periodically providing a state table to said back-up server in order to synchronize said virtual shared memory and said back-up virtual shared memory; and
at least one client coupled to said primary server and said back-up server through a network, said at least one client comprising at least one worker process adapted to independently perform an operation on at least one data object disposed within at least one of said primary virtual shared memory and said back-up virtual shared memory without a predetermined assignment of said at least one worker process to said at least one data object;
wherein, upon either said primary server or said back-up server being unavailable, said at least one worker process performs said operation on said at least one data object disposed within a remaining available one of said primary virtual shared memory or said back-up virtual shared memory; and
wherein, data objects corresponding to real-time data processing requirements are continuously added to at least one of said primary virtual shared memory and said back-up virtual shared memory for operation on by said at least one worker process, and are continuously withdrawn from said at least one of said primary virtual shared memory and said back-up virtual shared memory following completion of said operations.
1 Assignment
0 Petitions
Accused Products
Abstract
A distributed computing system comprises a primary server having a primary virtual shared memory and a back-up server having a back-up virtual shared memory. The primary server periodically provides a state table to the back-up server in order to synchronize the virtual shared memory and the back-up virtual shared memory. A plurality of client computer resources are coupled to the primary server and the back-up server through a network architecture. The client computer resources further comprise plural worker processes each adapted to independently perform an operation on a data object disposed within the primary virtual shared memory without a predetermined assignment between the worker process and the data object. Upon an unavailability of either the primary server or the back-up server, the worker process performs the operation on the corresponding data object disposed within the back-up virtual shared memory. The client computer resources further comprise plural input/output (I/O) ports adapted to receive incoming data packets and transmit outgoing data packets.
74 Citations
17 Claims
-
1. A distributed computing system, comprising:
-
a primary server having a primary virtual shared memory;
a back-up server having a back-up virtual shared memory, said primary server periodically providing a state table to said back-up server in order to synchronize said virtual shared memory and said back-up virtual shared memory; and
at least one client coupled to said primary server and said back-up server through a network, said at least one client comprising at least one worker process adapted to independently perform an operation on at least one data object disposed within at least one of said primary virtual shared memory and said back-up virtual shared memory without a predetermined assignment of said at least one worker process to said at least one data object;
wherein, upon either said primary server or said back-up server being unavailable, said at least one worker process performs said operation on said at least one data object disposed within a remaining available one of said primary virtual shared memory or said back-up virtual shared memory; and
wherein, data objects corresponding to real-time data processing requirements are continuously added to at least one of said primary virtual shared memory and said back-up virtual shared memory for operation on by said at least one worker process, and are continuously withdrawn from said at least one of said primary virtual shared memory and said back-up virtual shared memory following completion of said operations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
grabbing a first data object having a predefined pattern from at least one of said primary virtual shared memory and said back-up virtual shared memory;
processing said grabbed first data object in accordance with a predefined function; and
returning a modified first data object to at least one of said primary virtual shared memory and said back-up virtual shared memory.
-
-
6. The distributed computing system of claim 1, wherein said primary server further comprises a persistent storage device, said at least one data object being selectively stored in said persistent storage device if said operation performed by said at least one worker process and said at least one data object is creating said at least one data object and if said at least one worker process performs a second operation that identifies said at least one data object as persistent.
-
7. The distributed computing system of claim 1, wherein said primary server provides said state table to said back-up server upon the change in state of any data object within said virtual shared memory.
-
8. The distributed computing system of claim 1, wherein said at least one data object further comprises plural types of data objects.
-
9. The distributed computing system of claim 1, wherein said at least one worker process further comprises plural types of worker processes.
-
10. The method of claim 1, wherein said at least one data object further comprises a tuple.
-
11. A method for processing data, comprising:
-
placing plural data objects corresponding to real-time data processing requirements on a primary virtual shared memory;
synchronizing a back-up virtual shared memory with said primary virtual shared memory;
executing at least one worker process on at least one of said plural data objects disposed within said primary virtual shared memory without a predetermined assignment of said worker process to said data object;
withdrawing said at least one of said plural data objects from said primary virtual shared memory following completion of said at least one worker process; and
upon said primary virtual shared memory being unavailable, executing said worker process automatically on said data object disposed within said back-up virtual shared memory. - View Dependent Claims (12, 13, 14, 15, 16, 17)
grabbing a first data object having a predefined pattern from said primary virtual shared memory;
processing said first data object in accordance with a predefined function; and
returning a second data object based on a modification of said first data object to said primary virtual shared memory.
-
-
15. The method of claim 11, further comprising selectively storing at least one of said plural data objects in a non-volatile memory if an operation performed by a first worker process on said at least one of said data objects is creating said at least one of said plural data objects and if said first worker process performs a second operation that identifies said at least one of said plural data objects as persistent.
-
16. The method of claim 11, further comprising transferring a state table between said primary virtual shared memory and said back-up virtual shared memory.
-
17. The method of claim 11, wherein said plural data objects comprise a plurality of tuples.
Specification