SYSTEM AND METHOD FOR HIGH AVAILABILITY DATA REPLICATION
First Claim
1. A data replication method, comprising:
- intercepting, using first computer program instructions operating in a first file server kernel space, a file I/O event;
sending, using the first computer program instructions operating in the first file server kernel space, the file I/O event to a second file server;
submitting, using the first computer program instructions operating in the first file server kernel space, the file I/O event to a first file system program operating in a first file server user space;
receiving, using second computer program instructions operating in a second file server kernel space, the file I/O event;
recording, using the second computer program instructions operating in the second file server kernel space, the file I/O event in a second file server memory;
sending, using the second computer program instructions operating in the second file server kernel space, an acknowledge message to the first file server indicating the file I/O event received by the second file server has been recorded; and
notifying a user land in the first file server that the file I/O event has been successfully processed, using the first computer program instructions operating in the first file server kernel space, upon the condition that the acknowledge message is received by the first file server and the first file system program has completed processing the file I/O event in the first file server.
1 Assignment
0 Petitions
Accused Products
Abstract
A data replication system and method is disclosed in which a master file server uses a first filter in a kernel space to intercept a file I/O events, send the file I/O events over a first network, for example a local area network, to a second filter in a kernel space of a first replica file server, and submit the file I/O event to a file system program in user space of the master file server to be processed. The second filter records the file I/O event in a memory of the second file server and sends an acknowledge message to the first filter indicating the file I/O event received by the second filter has been recorded in the replica file server. The first filter notifies user land in the first file server that the file I/O event has been processed if the first filter has received the acknowledge message and the file system program has completed processing the file I/O event in the first file server. In one embodiment, a data replication engine in the first replica file server replicates data stored in the first replica file server to a second replica file server in a location remote from the second replica file server, using a second network, for example a wide area network.
-
Citations
20 Claims
-
1. A data replication method, comprising:
-
intercepting, using first computer program instructions operating in a first file server kernel space, a file I/O event; sending, using the first computer program instructions operating in the first file server kernel space, the file I/O event to a second file server; submitting, using the first computer program instructions operating in the first file server kernel space, the file I/O event to a first file system program operating in a first file server user space; receiving, using second computer program instructions operating in a second file server kernel space, the file I/O event; recording, using the second computer program instructions operating in the second file server kernel space, the file I/O event in a second file server memory; sending, using the second computer program instructions operating in the second file server kernel space, an acknowledge message to the first file server indicating the file I/O event received by the second file server has been recorded; and notifying a user land in the first file server that the file I/O event has been successfully processed, using the first computer program instructions operating in the first file server kernel space, upon the condition that the acknowledge message is received by the first file server and the first file system program has completed processing the file I/O event in the first file server. - View Dependent Claims (2, 3)
-
-
4. A data replication system, comprising:
-
a first computing system including a first operating system, a first memory, a first data storage device, wherein the first operating system maintains in the first memory a first kernel space to support a first kernel land, and a first user space to support a first user land, the first user land used to execute a first file system program to receive a first file I/O event and process the first file I/O event to record data in the first data storage device; a second computing system including a second operating system, a second memory, a second data storage device, wherein the second operating system maintains in the second memory a second kernel space to support a second kernel land, and a second user space to support a second user land, the second user land used to execute a second file system program to receive the first file I/O event and process the first file I/O event to store data in the second data storage device; a first filter in the first kernel space and a second filter in the second kernel space, the second filter including a socket in the second kernel land to listen for communications from the first filter; the first filter including first computer program instructions to execute on the first computing system to receive the first file I/O event, send the first file I/O event to the second filter, send the first file I/O event to the first file system program, and listen for an acknowledge message from the second filter that the recording of the first file I/O event has been completed by the second file system program; the second filter including second computer program instructions to execute on the second computing system to listen for the first file I/O event sent by the first filter, record the first I/O event in the second memory, and send the acknowledge message to the first filter after the recording of the file I/O event has been completed by second file system; the first computer program instructions of the first filter including instructions to notify the first user land that the I/O event has been processed if the I/O event has been successfully processed by the first file system program and the acknowledge message has been received by the first filter; and a thread in the second kernel space and including computer program instructions to move the first file I/O event from the second memory to the second file system program to be processed. - View Dependent Claims (5, 6, 7, 8, 9, 10)
-
-
11. A data replication method, comprising:
-
first computer program instructions operating in a kernel space of a first file server to intercept a file I/O event, send the file I/O event to a second file server, and submit the file I/O event to a first file system program operating in a first file server user space; and the first computer program instructions further operating to notify a user land in the first file server that the file I/O event has been successfully processed if an acknowledge message is received from the second file server and the first file system program has completed processing the file I/O event in the first file server, wherein the acknowledge message is sent by a filter operating in a kernel space of the second file server and indicates the file I/O event has been recorded by the second file server. - View Dependent Claims (12, 13, 14)
-
-
15. A computer program product comprising computer instructions recorded on a non-transitory storage medium, the computer program instructions operative when executed on a first file server to:
-
operate from a kernel space of the first file server to intercept a file I/O event, send the file I/O event to a second file server, and submit the file I/O event to a first file system program that operates in a first file server user space; and operate from the kernel space of the first file server to notify a user land in the first file server that the file I/O event has been successfully processed if an acknowledge message is received from the second file server and the first file system program has completed processing the file I/O event in the first file server, wherein the acknowledge message is sent by a filter operating in a kernel space of the second file server and indicates the file I/O event has been recorded by the second file server. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification