Patent US6163856A successfully refreshed from Google Patents.
← Back to Patent Explorer
US6163856A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for file system disaster recovery

Assignee: Oracle America Inc
•
Filing: 1998-05-29
•
Granted: 2000-12-19
•
Expires: 2018-05-29
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A file disaster recovery system that employs geographical replication of data from a local site to remote site in a such a manner that file requests from clients of the local site can be handled by a file server on the remote site following a failover from the local site to the remote site. Geographical data replication software running on a local server checkpoints to a log in local stable storage all information on file operations that change the file state of the local file system. According to a selected mode, the local geographical data replication software flushes information in the log pertaining to the file operations since the last flush to the remote site. At the remote site, compatible remote geographical data replication software running on a remote file server receives the flushed log and replicates in sequence order the file operations represented in the flushed log. The results of the operations are stored on remote stable storage. The local and remote servers can be clusters or single servers. There is no need for commonality, except for operating and file systems, between the local and remote sites. Because operations are replicated and not low level, formatted data, the local and remote stable file storage can be completely different.

Inventors

  • 👤 David Dion
  • 👤 Yousef A. Khalidi
  • 👤 Madhusudhan Talluri
  • 👤 Anil Swaroop

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 13:43
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/07; G06F11/16; G06F11/20; G06F11/2053; G06F11/2056; G06F11/2071; G06F11/2064

Claims Analysis

Total Claims: 52
Claim 1
Independent Claim 322 words
A geographical data replication system comprising: a local site having at least one local server running a first file system, at least one client and first stable file storage, the local server being configured to serve via the first file system file requests from the at least one client; a remote site having at least one remote server running a second file system and second stable file storage; a network connecting the local and remote sites; the local server, being configured to intercept the file requests and to determine which of the file requests is one of a first set of file requests that will alter file state of the first file system; a log file stored on the first stable file storage in which the local server writes operations and data required to replicate changes to the file state of the first file system resulting from performing the first set of file requests, the local server being configured to periodically flush the log file to the remote site; a first identifier maintained by the first file system for each of the files on the first stable file storage, the first identifier being transmitted by the local server to the remote server for each of the flushed files; a second identifier maintained by the second file system for each of the flushed files replicated on the remote server; and a mapping table on the remote server that maintains a mapping between the first and second identifiers enabling the remote server to serve the requests from the clients; the remote server being configured to update state of the second file system in accordance with the flushed log file by performing the operations on the data represented in the flushed log file; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the requests from the clients with little or no loss of file state.
Claim 2
Dependent Claim 322 words
A geographical data replication system comprising: a local site having at least one local server running a first file system, at least one client and first stable file storage, the local server being configured to serve via the first file system file requests from the at least one client; a remote site having at least one remote server running a second file system and second stable file storage; a network connecting the local and remote sites; the local server, being configured to intercept the file requests and to determine which of the file requests is one of a first set of file requests that will alter file state of the first file system; a log file stored on the first stable file storage in which the local server writes operations and data required to replicate changes to the file state of the first file system resulting from performing the first set of file requests, the local server being configured to periodically flush the log file to the remote site; a first identifier maintained by the first file system for each of the files on the first stable file storage, the first identifier being transmitted by the local server to the remote server for each of the flushed files; a second identifier maintained by the second file system for each of the flushed files replicated on the remote server; and a mapping table on the remote server that maintains a mapping between the first and second identifiers enabling the remote server to serve the requests from the clients; the remote server being configured to update state of the second file system in accordance with the flushed log file by performing the operations on the data represented in the flushed log file; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the requests from the clients with little or no loss of file state.
Claim 3
Dependent Claim 26 words
The geographical data replication system of claim 1, wherein the second stable file storage is not required to be identical to the first stable file storage.
Claim 4
Dependent Claim 62 words
The geographical data replication system of claim 1, wherein the local site includes a cache that the first file system uses to satisfy the requests before applying the requests to the first stable file storage; such that the local server is configured to intercept only those file requests that are applied by the first file system to the first stable file storage.
Claim 5
Dependent Claim 17 words
The geographical data replication system of claim 1, wherein the first and second file systems are PXFS.
Claim 6
Dependent Claim 41 words
The geographical data replication system of claim 4, wherein: the first identifier is a persistent local identifier of the flushed file on the local site; and the second identifier is a remote identifier of the flushed file on the remote site.
Claim 7
Dependent Claim 90 words
The geographical data replication system of claim 4, wherein: the first identifier includes a persistent local directory identifier of a directory on the local site in which the flushed file is stored and a persistent local name identifier associated with a name on the local site identifying the flushed file; and the second identifier includes a remote directory identifier of a directory on the remote site in which the flushed file is stored and a remote name identifier associated with a name on the remote site identifying the flushed file.
Claim 8
Dependent Claim 324 words
A geographical data replication system comprising: a local site having at least one local server running a first file system, at least one client and first stable file storage, the local server being configured to serve via the first file system file requests from the at least one client; a remote site having at least one remote server running a second file system and second stable file storage; a network connecting the local and remote sites; the local server, being configured to intercept the file requests and to determine which of the file requests is one of a first set of file requests that will alter file state of the first file system; and a log file stored on the first stable file storage in which the local server writes operations and data required to replicate changes to the file state of the first file system resulting from performing the first set of file requests, the local server being configured to periodically flush the log file to the remote site; the remote server being configured to update state of the second file system in accordance with the flushed log file by performing the operations on the data represented in the flushed log file; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the requests from the clients with little or no loss of file state; wherein the first and second file systems are PXFS; the first set of file requests that will alter state of the first file system include selected file data methods file attribute methods and directory methods; the file data methods include page -- out; write -- out; sync; uiowrite; and fsync; the file attribute methods include: set -- attributes; set -- secattr; ioctl; and the directory methods include: create -- fobj; remove -- fobj; create -- symlink; rename -- fobj; link -- fobj; create -- dir; and remove -- dir.
Claim 9
Dependent Claim 324 words
A geographical data replication system comprising: a local site having at least one local server running a first file system, at least one client and first stable file storage, the local server being configured to serve via the first file system file requests from the at least one client; a remote site having at least one remote server running a second file system and second stable file storage; a network connecting the local and remote sites; the local server, being configured to intercept the file requests and to determine which of the file requests is one of a first set of file requests that will alter file state of the first file system; and a log file stored on the first stable file storage in which the local server writes operations and data required to replicate changes to the file state of the first file system resulting from performing the first set of file requests, the local server being configured to periodically flush the log file to the remote site; the remote server being configured to update state of the second file system in accordance with the flushed log file by performing the operations on the data represented in the flushed log file; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the requests from the clients with little or no loss of file state; wherein the first and second file systems are PXFS; the first set of file requests that will alter state of the first file system include selected file data methods file attribute methods and directory methods; the file data methods include page -- out; write -- out; sync; uiowrite; and fsync; the file attribute methods include: set -- attributes; set -- secattr; ioctl; and the directory methods include: create -- fobj; remove -- fobj; create -- symlink; rename -- fobj; link -- fobj; create -- dir; and remove -- dir.
Claim 10
Dependent Claim 54 words
The geographical data replication system of claim 1, wherein the log comprises: a plurality of records, each of the records including: a body holding file information identifying, among other things, a respective file operation and its associated data, and a file header enabling the geographical replication systems to decode the log, including the body.
Claim 11
Dependent Claim 40 words
The geographical data replication system of claim 8, wherein the local server includes a log anchor indicating: which of the records in the log file were last flushed; and location of next record to be written to the log file.
Claim 12
Dependent Claim 31 words
The geographical data replication system of claim 1, wherein the local and remote servers operate in respective modes that define the file state coherency between the local and the remote sites.
Claim 13
Dependent Claim 19 words
The geographical data replication system of claim 10, wherein the file state is one of 1-safe, 2-safe and very-safe.
Claim 14
Dependent Claim 17 words
The geographical data replication system of claim 1, wherein the data comprises one of; partitions; and files.
Claim 15
Dependent Claim 21 words
The geographical data replication system of claim 1, wherein the local server comprises one of: a cluster; and a single server.
Claim 16
Independent Claim 250 words
A method for geographical data replication that can be implemented in a computer network including a local site with a local server and at least one client configured to issue file requests to a first file system run by the local server and a remote site with a remote server running a second file system that is interoperable with the first file system, comprising: the local server: intercepting the file requests; determining which of the file requests is one of a first set of file requests that will alter file state of the first file system; writing to a persistent log file operations and data required to replicate changes to the file state of the first file system resulting from performing the first set of file requests; periodically flushing the log file to the remote site; and transmitting to the remote server for each of the flushed files a first identifier maintained by the first file system for each of the files on the first stable file storage; and the remote server: updating state of the second file system in accordance with the flushed log file; and mapping the first identifier to a second identifier maintained by the second file system for each of the flushed files, enabling the remote server to serve the requests from the clients; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the requests from the clients with little or no loss of file state.
Claim 17
Independent Claim 250 words
A method for geographical data replication that can be implemented in a computer network including a local site with a local server and at least one client configured to issue file requests to a first file system run by the local server and a remote site with a remote server running a second file system that is interoperable with the first file system, comprising: the local server: intercepting the file requests; determining which of the file requests is one of a first set of file requests that will alter file state of the first file system; writing to a persistent log file operations and data required to replicate changes to the file state of the first file system resulting from performing the first set of file requests; periodically flushing the log file to the remote site; and transmitting to the remote server for each of the flushed files a first identifier maintained by the first file system for each of the files on the first stable file storage; and the remote server: updating state of the second file system in accordance with the flushed log file; and mapping the first identifier to a second identifier maintained by the second file system for each of the flushed files, enabling the remote server to serve the requests from the clients; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the requests from the clients with little or no loss of file state.
Claim 18
Dependent Claim 27 words
the method of claim 14, wherein the updating step performed by the remote server comprises: performing the operations on the data represented in the flushed log file.
Claim 19
Dependent Claim 57 words
The method of claim 14, wherein: the local site includes a cache that the first file system uses to satisfy the requests before applying the requests to a first stable file storage; and the intercepting step is only performed on those file requests that are applied by the first file system to the first stable file storage.
Claim 20
Dependent Claim 14 words
The method of claim 16 wherein the first and second file systems are PXFS.
Claim 21
Dependent Claim 38 words
The method of claim 17, wherein: the first identifier is a persistent local identifier of the flushed file on the local site; and the second identifier is a remote identifier of the flushed file on the remote site.
Claim 22
Dependent Claim 87 words
The method of claim 20, wherein: the first identifier includes a persistent local directory identifier of a directory on the local site in which the flushed file is stored and a persistent local name identifier associated with a name on the local site identifying the flushed file; and the second identifier includes a remote directory identifier of a directory on the remote site in which the flushed file is stored and a remote name identifier associated with a name on the remote site identifying the flushed file.
Claim 23
Independent Claim 276 words
A method for geographical data replication that can be implemented in a computer network including a local site with a local server and at least one client configured to issue file requests to a first file system run by the local server and a remote site with a remote server running a second file system that is interoperable with the first file system, comprising: the local server: intercepting the file requests; determining which of the file requests is one of a first set of file requests that will alter file state of the first file system; writing to a persistent log file operations and data required to replicate changes to the file state of the first file system resulting from performing the first set of file requests; and periodically flushing the log file to the remote site; and the remote server: updating state of the second file system in accordance with the flushed log file; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the requests from the clients with little or no loss of file state; wherein the first set of file requests that will alter state of the first file system include selected file data methods, file attribute methods, and directory methods; the first and second file systems are PXFS; the file data methods include page -- out; write -- out; sync; uiowrite; and fsync; the file attribute methods include: set -- attributes; set -- secattr; ioctl; and the directory methods include: create -- fobj; remove -- fobj; create -- symlink; rename -- fobj; ink -- fobj; create -- dir; and remove -- dir.
Claim 24
Independent Claim 276 words
A method for geographical data replication that can be implemented in a computer network including a local site with a local server and at least one client configured to issue file requests to a first file system run by the local server and a remote site with a remote server running a second file system that is interoperable with the first file system, comprising: the local server: intercepting the file requests; determining which of the file requests is one of a first set of file requests that will alter file state of the first file system; writing to a persistent log file operations and data required to replicate changes to the file state of the first file system resulting from performing the first set of file requests; and periodically flushing the log file to the remote site; and the remote server: updating state of the second file system in accordance with the flushed log file; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the requests from the clients with little or no loss of file state; wherein the first set of file requests that will alter state of the first file system include selected file data methods, file attribute methods, and directory methods; the first and second file systems are PXFS; the file data methods include page -- out; write -- out; sync; uiowrite; and fsync; the file attribute methods include: set -- attributes; set -- secattr; ioctl; and the directory methods include: create -- fobj; remove -- fobj; create -- symlink; rename -- fobj; ink -- fobj; create -- dir; and remove -- dir.
Claim 25
Dependent Claim 52 words
The method of claim 14, wherein the log file comprises: a plurality of records, each of the records including: a body holding file information identifying, among other things, a respective file operation and its associated data, and a file header enabling the geographical replication systems to decode the log, including the body.
Claim 26
Dependent Claim 38 words
The method of claim 21, further comprising: the local server maintaining a log anchor indicating: which of the records in the log file were last flushed; and location of next record to be written to the log file.
Claim 27
Dependent Claim 29 words
The method of claim 14, further comprising: the local and remote servers operating in respective modes that define the file state coherency between the local and the remote sites.
Claim 28
Dependent Claim 16 words
The method of claim 23, wherein the file state is one of 1-safe, 2-safe and very-safe.
Claim 29
Dependent Claim 14 words
The method of claim 14, wherein the data comprises one of; partitions; and files.
Claim 30
Dependent Claim 18 words
The method of claim 14, wherein the local server comprises one of: a cluster; and a single server.
Claim 31
Dependent Claim 306 words
A computer program product for providing geographical data replication in a computer network including a local site with a local server and at least one client configured to issue file requests to a first file system run by the local server and a remote site with a remote server running a second file system that is interoperable, the first file system maintaining a first identifier for each file on the first stable file storage, the computer program product including a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: local geographical data replication software that configures the local server to: intercept the file requests; determine which of the file requests is one of a first set of file requests that will alter file state of the first file system; write to a persistent log file operations and data required to replicate changes to the file state of the first file system resulting from performing the first set of file requests; periodically flush the log file to the remote site; and pass to the remote server the first identifier for each of the flushed files; and remote geographical replication software that configures the remote server to: update state of the second file system in accordance with the flushed log file by performing the operations on the data represented in the flushed log file, maintain a second identifier for each of the flushed files replicated on the remote server, and maintain a mapping table on the remote server that maintains a mapping between the first and second identifiers, enabling the remote server to serve the requests from the clients; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the requests from the clients with little or no loss of file state.
Claim 32
Dependent Claim 306 words
A computer program product for providing geographical data replication in a computer network including a local site with a local server and at least one client configured to issue file requests to a first file system run by the local server and a remote site with a remote server running a second file system that is interoperable, the first file system maintaining a first identifier for each file on the first stable file storage, the computer program product including a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: local geographical data replication software that configures the local server to: intercept the file requests; determine which of the file requests is one of a first set of file requests that will alter file state of the first file system; write to a persistent log file operations and data required to replicate changes to the file state of the first file system resulting from performing the first set of file requests; periodically flush the log file to the remote site; and pass to the remote server the first identifier for each of the flushed files; and remote geographical replication software that configures the remote server to: update state of the second file system in accordance with the flushed log file by performing the operations on the data represented in the flushed log file, maintain a second identifier for each of the flushed files replicated on the remote server, and maintain a mapping table on the remote server that maintains a mapping between the first and second identifiers, enabling the remote server to serve the requests from the clients; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the requests from the clients with little or no loss of file state.
Claim 33
Dependent Claim 25 words
The computer program product of claim 27, wherein the second stable file storage is not required to be identical to the first stable file storage.
Claim 34
Dependent Claim 59 words
The computer program product of claim 27, wherein: the local site includes a cache that the first file system uses to satisfy the requests before applying the requests to a first stable file storage; and the local server is configured to intercept only those requests that are applied by the first file system to the first stable file storage.
Claim 35
Dependent Claim 16 words
The computer program product of claim 27, wherein the first and second file systems are PXFS.
Claim 36
Dependent Claim 40 words
The computer program product of claim 30, wherein: the first identifier is a persistent local identifier of the flushed file on the local site; and the second identifier is a remote identifier of the flushed file on the remote site.
Claim 37
Dependent Claim 89 words
The computer program product of claim 30, wherein: the first identifier includes a persistent local directory identifier of a directory on the local site in .which the flushed file is stored and a persistent local name identifier associated with a name on the local site identifying the flushed file; and the second identifier includes a remote directory identifier of a directory on the remote site in which the flushed file is stored and a remote name identifier associated with a name on the remote site identifying the flushed file.
Claim 38
Dependent Claim 34 words
The computer program product of claim 27, wherein the first set of file requests that will alter state of the first file system include selected: file data methods; file attribute methods; and directory methods.
Claim 39
Dependent Claim 323 words
A computer program product A computer program product for providing geographical data replication in a computer network including a local site with a local server and at least one client configured to issue file requests to a first file system run by the local server and a remote site with a remote server running a second file system that is interoperable, the computer program product including a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: local geographical data replication software that configures the local server to: intercept the file requests; determine which of the file requests is one of a first set of file requests that will alter file state of the first file system; write to a persistent log file operations and data required to replicate chances to the file state of the first file system resulting from performing the first set of file requests; and periodically flush the log file to the remote site; and remote geographical replication software that configures the remote server to: update state of the second file system in accordance with the flushed log file by performing the operations on the data represented in the flushed log file; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the requests from the clients with little or no loss of file state; wherein the first set of file requests that will alter state of the first file system include selected file data methods, file attribute methods and directory methods; the first and second file systems are PXFS: the file data methods include page -- out; write -- out; sync; uiowrite; and fsync; the file attribute methods include: set -- attributes; set -- secattr; ioctl; and the directory methods include: create -- fobj; remove -- fobj; create -- symlink; rename -- fobj; link -- fobj; create -- dir; and remove -- dir.
Claim 40
Dependent Claim 323 words
A computer program product A computer program product for providing geographical data replication in a computer network including a local site with a local server and at least one client configured to issue file requests to a first file system run by the local server and a remote site with a remote server running a second file system that is interoperable, the computer program product including a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: local geographical data replication software that configures the local server to: intercept the file requests; determine which of the file requests is one of a first set of file requests that will alter file state of the first file system; write to a persistent log file operations and data required to replicate chances to the file state of the first file system resulting from performing the first set of file requests; and periodically flush the log file to the remote site; and remote geographical replication software that configures the remote server to: update state of the second file system in accordance with the flushed log file by performing the operations on the data represented in the flushed log file; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the requests from the clients with little or no loss of file state; wherein the first set of file requests that will alter state of the first file system include selected file data methods, file attribute methods and directory methods; the first and second file systems are PXFS: the file data methods include page -- out; write -- out; sync; uiowrite; and fsync; the file attribute methods include: set -- attributes; set -- secattr; ioctl; and the directory methods include: create -- fobj; remove -- fobj; create -- symlink; rename -- fobj; link -- fobj; create -- dir; and remove -- dir.
Claim 41
Dependent Claim 55 words
The computer program product of claim 27, wherein the log file comprises: a plurality of records, each of the records including: a body holding file information identifying, among other things, a respective file operation and its associated data, and a file header enabling the local and remote servers to decode the log, including the body.
Claim 42
Dependent Claim 42 words
The computer program product of claim 35, wherein the local server is configured to maintain a log anchor indicating: which of the records in the log file were last flushed; and location of next record to be written to the log file.
Claim 43
Dependent Claim 33 words
The computer program product of claim 36, wherein the local and remote servers are configured to operate in respective modes that define the file state coherency between the local and the remote sites.
Claim 44
Dependent Claim 18 words
The computer program product of claim 37, wherein the file state is one of 1-safe, 2-safe and very-safe.
Claim 45
Dependent Claim 16 words
The computer program product of claim 27, wherein the data comprises one of; partitions; and files.
Claim 46
Dependent Claim 20 words
The computer program product of claim 27, wherein the local server comprises one of: a cluster; and a single server.
Claim 47
Dependent Claim 219 words
A geographical data replication system comprising: a local server configured to intercept file requests directed to a first file system and to determine which of the file requests is one of a first set of file requests that will alter file state of the first file system and to maintain a first identifier for each file in the first file system; and a persistent log file in which the local server writes operations and data required to replicate changes to the file state of the first file system resulting from performing the first set of file requests, the local server being configured to periodically flush the log file to a remote server; the remote server being configured to: update state of a second file system in accordance with the flushed log file by performing the operations on the data represented in the flushed log file, maintain a second identifier for each of the files flushed to the remote server, and maintain a mapping table on the remote server that maintains a mapping between the first and second identifiers, enabling the remote server to serve the requests from the clients; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the file requests with little or no loss of file state.
Claim 48
Dependent Claim 219 words
A geographical data replication system comprising: a local server configured to intercept file requests directed to a first file system and to determine which of the file requests is one of a first set of file requests that will alter file state of the first file system and to maintain a first identifier for each file in the first file system; and a persistent log file in which the local server writes operations and data required to replicate changes to the file state of the first file system resulting from performing the first set of file requests, the local server being configured to periodically flush the log file to a remote server; the remote server being configured to: update state of a second file system in accordance with the flushed log file by performing the operations on the data represented in the flushed log file, maintain a second identifier for each of the files flushed to the remote server, and maintain a mapping table on the remote server that maintains a mapping between the first and second identifiers, enabling the remote server to serve the requests from the clients; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the file requests with little or no loss of file state.
Claim 49
Independent Claim 193 words
A method for geographical data replication, comprising: on a local server: intercepting file requests directed to a first file system; determining which of the file requests is one of a first set of file requests that will alter file state of the first file system; writing to a persistent log file operations and data required to replicate changes to the file state of the first file system resulting from performing the first set of file requests; maintain a first identifier for each file in the first file system, and periodically flushing the log file to a remote server; and on a remote server: updating state of the second file system in accordance with the flushed log file, maintaining a second identifier for each of the files flushed to the remote server, and maintaining a mapping table on the remote server that maintains a mapping between the first and second identifiers, enabling the remote server to serve the requests from the clients; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the requests from the clients with little or no loss of file state.
Claim 50
Independent Claim 193 words
A method for geographical data replication, comprising: on a local server: intercepting file requests directed to a first file system; determining which of the file requests is one of a first set of file requests that will alter file state of the first file system; writing to a persistent log file operations and data required to replicate changes to the file state of the first file system resulting from performing the first set of file requests; maintain a first identifier for each file in the first file system, and periodically flushing the log file to a remote server; and on a remote server: updating state of the second file system in accordance with the flushed log file, maintaining a second identifier for each of the files flushed to the remote server, and maintaining a mapping table on the remote server that maintains a mapping between the first and second identifiers, enabling the remote server to serve the requests from the clients; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the requests from the clients with little or no loss of file state.
Claim 51
Dependent Claim 243 words
A computer program product for providing geographical data replication, the computer program product including a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: local geographical data replication software that configures a local server to: intercept file requests directed to a first file system; determine which of the file requests is one of a first set of file requests that will alter file state of the first file system; write to a persistent log file operations and data required to replicate changes to the file state of the first file system resulting from performing the first set of file requests; maintain a first identifier for each file in the first file system, and periodically flush the log file to a remote server; and remote geographical replication software that configures the remote server to: update state of a second file system in accordance with the flushed log file by performing the operations on the data represented in the flushed log file, maintain a second identifier for each of the files flushed to the remote server, and maintain a mapping table on the remote server that maintains a mapping between the first and second identifiers, enabling the remote server to serve the requests from the clients; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the requests from the clients with little or no loss of file state.
Claim 52
Dependent Claim 243 words
A computer program product for providing geographical data replication, the computer program product including a computer readable storage medium and a computer program mechanism embedded therein, the computer program mechanism comprising: local geographical data replication software that configures a local server to: intercept file requests directed to a first file system; determine which of the file requests is one of a first set of file requests that will alter file state of the first file system; write to a persistent log file operations and data required to replicate changes to the file state of the first file system resulting from performing the first set of file requests; maintain a first identifier for each file in the first file system, and periodically flush the log file to a remote server; and remote geographical replication software that configures the remote server to: update state of a second file system in accordance with the flushed log file by performing the operations on the data represented in the flushed log file, maintain a second identifier for each of the files flushed to the remote server, and maintain a mapping table on the remote server that maintains a mapping between the first and second identifiers, enabling the remote server to serve the requests from the clients; such that, whenever failover occurs from the local to the remote server, the remote server is able to serve the requests from the clients with little or no loss of file state.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2003-12-19 2004-06-19 2004-12-19 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2007-12-19 2008-06-19 2008-12-19 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2011-12-19 2012-06-19 2012-12-19 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag