BACKGROUND OF THE INVENTION1. Field of the Invention
This invention relates to data replication and more particularly relates to replication of data management information.
2. Description of the Related Art
Data storage systems often store data that is vital to the operation of an organization. For example, a data storage system may store customer transaction information, account information, and the like. As a result, it is important that the stored data be reliably available.
A high availability data storage replication management system may organize data in copy sets. Each copy set may comprise one or more volumes, typically contained on a data storage system, in a copy services relationship. For example, a first and second logical volume may be in a copy services relationship with a third and fourth logical volume. The first logical volume may be copied to the third logical volume and the second logical volume may be copied to the fourth logical volume so that the third logical volume mirrors the first logical volume and the fourth logical volume mirrors the second logical volume.
One or more copy sets may be organized as a session. An active server may manage a plurality of sessions using a base table storing configuration parameters and a session table storing one or more sessions. The copy set information may by organized in a plurality of base tables and a plurality of session tables. In addition, a standby server may mirror the base table and the session table, and take over session management functions from the active server if the active server fails.
SUMMARY OF THE INVENTIONFrom the foregoing discussion, there is a need for an apparatus, system, and method that replicates the configuration and status information needed for a data replication management system to manage data replication. Beneficially, such an apparatus, system, and method would replicate the data needed by the data replication management system to multiple backup sites and hence may provide multiple high availability standby servers to an active server.
The present invention has been developed in response to the present state of the art, and in particular, in response to the problems and needs in the art that have not yet been fully solved by currently available data storage replication management systems. Accordingly, the present invention has been developed to provide an apparatus, system, and method for data replication management that overcome many or all of the above-discussed shortcomings in the art.
The apparatus for replicating data management information is provided with a plurality of modules configured to functionally execute the steps of replicating the base table, replicating first sessions, transferring management of the first sessions, and terminating management of the first sessions. These modules in the described embodiments include a base replication module, a session replication module, and a transfer module.
The base replication module replicates a base table on an active server to a first and second standby server. The base table comprises configuration parameters for storage devices, logical volumes, physical interconnections, logical interconnections, and logical subsystems of a storage system, and the like.
The session replication module replicates first sessions from a session table stored on the active server to the first standby server and second sessions to the second standby server. The session table stores a plurality of sessions. Each session comprises a plurality of copy sets. The active server manages the sessions using the base table and the session table, and the first and second standby servers do not manage the sessions.
The transfer module transfers management of the first sessions to the first standby server. Additionally, the transfer module terminates management of the first sessions by the active server.
A system of the present invention is also presented for replicating data management information. The system may be embodied in a data storage replication management system. In particular, the system, in one embodiment, includes an active server, a first standby server, a second standby server, a base replication module, a session replication module, and a transfer module.
The base replication module replicates a base table on the active server to the first and second standby server. The base table comprises configuration parameters for storage devices, logical volumes, physical interconnections, logical interconnections, and logical subsystems of a storage system, and the like.
The session replication module replicates first sessions from a session table stored on the active server to the first standby server and second sessions to the second standby server. The session table stores a plurality of sessions. Each session comprises a plurality of copy sets. The active server manages the sessions using the base table and the session table, and the first and second standby servers do not manage the sessions.
The transfer module transfers management of the first sessions to the first standby server. Additionally, the transfer module terminates management of the first sessions by the active server.
A method of the present invention is also presented for replication of data management information. The method in the disclosed embodiments substantially includes the steps to carry out the functions presented above with respect to the operation of the described apparatus and system. In one embodiment, the method includes replicating the base table, replicating first sessions, transferring management of the first sessions, and terminating management of the first sessions.
A base replication module replicates a base table on an active server to a first and second standby server. The base table comprises configuration parameters for storage devices, logical volumes, physical interconnections, logical interconnections, and logical subsystems of a storage system, and the like.
A session replication module replicates first sessions from a session table stored on the active server to the first standby server and second sessions to the second standby server. The session table stores a plurality of sessions. Each session comprises a plurality of copy sets. The active server manages the sessions using the base table and the session table, and the first and second standby servers do not manage the sessions.
A transfer module transfers management of the first sessions to the first standby server. Additionally, the transfer module may terminate management of the first sessions by the active server.
References throughout this specification to features, advantages, or similar language do not imply that all of the features and advantages that may be realized with the present invention should be or are in any single embodiment of the invention. Rather, language referring to the features and advantages is understood to mean that a specific feature, advantage, or characteristic described in connection with an embodiment is included in at least one embodiment of the present invention. Thus, discussion of the features and advantages, and similar language, throughout this specification may, but do not necessarily, refer to the same embodiment.
Furthermore, the described features, advantages, and characteristics of the invention may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize that the invention may be practiced without one or more of the specific features or advantages of a particular embodiment. In other instances, additional features and advantages may be recognized in certain embodiments that may not be present in all embodiments of the invention.
The present invention provides an apparatus, a system, and a method for replication of data management information. Beneficially, such an apparatus, a system, and a method would divide management information among a plurality of standby servers. These features and advantages of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.
BRIEF DESCRIPTION OF THE DRAWINGSIn order that the advantages of the invention will be readily understood, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments that are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings, in which:
FIG. 1 is a schematic block diagram illustrating one embodiment of a data storage system in accordance with the present invention;
FIG. 2 is a schematic block diagram illustrating one embodiment of a server system of the present invention;
FIG. 3 is a schematic block diagram illustrating one embodiment of a session table of the present invention;
FIG. 4 is a schematic block diagram illustrating one embodiment of a session specific management apparatus of the present invention;
FIG. 5 is a schematic flow chart diagram illustrating one embodiment of a data management information replication method of the present invention; and
FIG. 6 is a schematic block diagram illustrating one example of the first session table of the present invention.
DETAILED DESCRIPTION OF THE INVENTIONMany of the functional units described in this specification have been labeled as modules, in order to more particularly emphasize their implementation independence. Modules may include hardware circuits such as one or more processors with memory, Very Large Scale Integration (VLSI) circuits, gate arrays, programmable logic, and/or discrete components. The hardware circuits may perform hardwired logic functions, execute computer readable programs stored on tangible storage devices, and/or execute programmed functions. The computer readable programs may in combination with a computer system perform the functions of the invention.
Reference throughout this specification to “one embodiment,” “an embodiment,” or similar language means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment,” “in an embodiment,” and similar language throughout this specification may, but do not necessarily, all refer to the same embodiment.
Furthermore, the described features, structures, or characteristics of the invention may be combined in any suitable manner in one or more embodiments. In the following description, numerous specific details are provided, such as examples of programming, software modules, user selections, network transactions, database queries, database structures, hardware modules, hardware circuits, hardware chips, etc., to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention may be practiced without one or more of the specific details, or with other methods, components, materials, and so forth. In other instances, well-known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
FIG. 1 is a schematic block diagram illustrating one embodiment of a data storage system (DSS)100 in accordance with the present invention. TheDSS100 includes anetwork115, one or more servers130, and one or more storage subsystems140. Although, for simplicity only one (1)network115, three (3) servers130, and three (3) storage subsystems140 are shown, any number of those may be used in theDSS100.
The one or more servers130 may be configured as mainframe computers, blade centers comprising multiple blade servers, and the like. Any server130 of the plurality of the servers130 may act as an active server and the others as standby servers. In the past, there could be only one active server in theDSS100. The active server of theDSS100 may execute plurality data storage and replication commands. Each server130 may have its own memory to store the data in one form or another. TheDSS100 may communicate with one or more client computers (not shown) over thenetwork115. The one or more client computers are referred to as clients.
Each storage subsystem140 of theDSS100 may include one ormore storage controllers160 and one ormore storage devices170. Thestorage devices170 may be hard disk drives, optical storage devices, magnetic tape drives, micromechanical storage devices, holographic storage devices, and semiconductor storage devices. Alternatively, thestorage device170 may be configured as a just a bunch of disks (JBOD), a redundant array of independent disks (RAID), a tape library, a storage subsystem, a tape backup, a tape library, a compact disk read only memory (CD ROM) library, and the like. One of skill in the art will readily recognize that theDSS100 could also include other data processing devices such as bridges, scanners, printers, and the like.
The one ormore storage controllers160 of the storage subsystem140 may control the input/output (I/O) operations of data storage and replication. Thestorage controllers160 may network thestorage devices170 by one or the other method known to those skilled in the art.
Thestorage device170 may store the data for the plurality of the clients. Eachstorage device170 may communicate via a unidirectional or a bidirectional path with the plurality of servers130. The communication between the servers130 and thestorage device170 may be through cables or wired lines and/or wireless by methods known to those skilled in the art.
Thestorage devices170 may store the data in one or more files. For example, thestorage device170 may store the data in one or more files using a disk file systems such as file allocation table (FAT), new technology file system (NTFS), hierarchical file system (HFS), hierarchical file system plus (HFS+), second extended file system (ext2), third extended file system (ext3) and/or the like to store the files of certain size created by one or more clients110 in appropriate directories.
Thenetwork115 may comprise one or more nodes those may connect the servers130 for the data storage and replication. Thenetwork115 may be selected from a local area network (LAN), a wide area network (WAN), an Internet, an Ethernet network, a token ring network, or the like. The communication over thenetwork115 may be through cables, wired lines, and the like and/or wireless.
In one embodiment, theDSS100 provides data storage and data replication services for the plurality of clients. Thestorage controller160 may store, retrieve, and replicate the data from thestorage device170 as directed by a server130. In one embodiment, anactive server130amay direct thestorage controller160 to replicate data. A copy set may specify a source volume and target volume pair, each comprising astorage device170. Theactive server130amay direct the storage controller to replicate data from the source volume to the target volume using the information stored in the copy set.
FIG. 2 is a schematic block diagram illustrating one embodiment of aserver system200 of the present invention. The description of theserver system200 refers to elements ofFIG. 1, like numbers referring to like elements. Theserver system200 includes anactive server130a,afirst standby server130b,and asecond standby server130c. Although, for simplicity only one (1)active server130a, one (1)first standby server130b, and one (1)second standby server130care shown, theserver system200 may include one (1)active server130aand any number ofstandby servers130b-c.
Theactive server130a, thefirst standby server130b, and thesecond standby server130cmay be the servers130 of theFIG. 1. In the shown embodiment, theactive server130aincludes a first base table205aand a source session table210a. Thefirst standby server130bincludes a second base table205band a first session table210b, and thesecond standby server130cincludes a third base table205cand a second session table210c. The first and second session tables210b-cmay also be referred to as standby server session tables210b-c.
Although for simplicity the first base table205ais shown as a single table, the first base table205amay comprise a plurality of tables and related data structures. A data manager may create the first base table205a. The first base table205amay be a system table.
The first base table205astores configuration parameters forstorage devices170, logical volumes, physical interconnections, logical interconnections, logical subsystems of a storage system, and the like. The configuration parameters for thestorage devices170 may include information of a number ofstorage devices170 in each storage subsystem140, a number of independent disks in a RAID or the like, a storage capacity of each disk of the plurality ofstorage devices170, a number and storage capacities of logical volumes on the particular disk of thestorage device170, and/or the like. The logical volume may include one or more physical portions ofstorage devices170.
The configuration parameters for the physical interconnections may include information of the physical interconnections between the storage subsystems140 of theDSS100. The physical interconnections may be through an Ethernet channel, an InfiniBand, a Wi-Fi, or the like.
The configuration parameters for the logical interconnections may further include information of the logical interconnections in the form of copy services relationship between the plurality of storage subsystems140 of theDSS100. The logical interconnections may be through logical identifiers identifying source and destination addresses of the plurality of storage subsystems140 that are in the copy services relationship.
The first base table205amay also include a set of catalogue tables. For example, a database manager may create and maintain the set of catalogue tables configured as the first base table205a.
Although for simplicity, the source session table210ais shown as a single table, the source session table210amay comprise a plurality of tables and related data structures. The data manager may create the source session table210a. The source session table210amay include a plurality of rows. Each row of the source session table210amay include a plurality of columns. Each row of the source session table210amay correspond to a session. Each session of the source session table210amay include one or more copy sets. Each copy set may comprise one or more volumes in a copy services relationship.
The second base table205bon thefirst standby server130band the third base table205con thesecond standby server130cmay substantially be same as the first base table205aon theactive server130a. In one embodiment, the second and third base tables205b-cinclude the plurality of tables and related data structures of the first base table205a. The rows of the first base table205amay be replicated using the SQL commands that mirror the first base table205ato the second and third base tables205b-c.
In the shown embodiment, thefirst standby server130band thesecond standby server130cinclude the first session table210band the second session table210crespectively. In one embodiment, the first and second session tables210b-cinclude the plurality of tables and related data structures of the source session table210a. However, the data stored in first and second session tables210b-cis not equivalent to the data stored on the source session table210a. Rows of the first session table210bmay substantially replicate some rows of the source session table210aon theactive server130awhile rows of the second session table210cmay substantially replicate other rows of the source session table210a. In one embodiment, some rows are not replicated.
Theactive server130amay mirror some of the writes of the source session table210ato create the first session table210bon thefirst standby server130band may mirror other writes to create the second session table210cas well on thesecond standby server130c. The source session table210a, the first session table210b, and the second session table210cmay be updated as well. For example, the first session table210bon thefirst standby server130bmay be the global mirror image and the second session table210con thesecond standby server130cmay be the metro mirror image of the source session table210a.
FIG. 3 is a schematic block diagram illustrating one embodiment of a session table210 of the present invention. The description of the session table210 refers to elements ofFIGS. 1-2, like numbers referring to like elements. The session table210 includes a plurality of rows305a-f. Although, for simplicity only six (6) rows305a-fare shown, the session table210 may include any number of rows305. The shown session table210 may be the source session table210aon theactive server130a, the first session table210bon thefirst standby server130b, or the second session table210bon thesecond standby server130c.
The session table210 may be stored in the memory of a server130. Each row305 of the session table210 may include a session identifier (ID)310 in a first column and a copy set315 in a second column. Each row305 of the session table210 may represent a session.
In the shown embodiment, each row305 includes the session ID310 which for example maybe thefirst session ID310a, thesecond session ID310b, or thethird session ID310cand the copy set315 which for example may be the first, second, third, fourth, fifth, or sixth copy set315a-f. The session ID310 maybe a unique identifier in the form of a hash comprising a concatenation of a hash value derived from the desired service level and/or the hash value derived from the one of the sessions.
For example, the session ID310 may be constructed by operating a hash function on a string of characters identifying the desired service level according to which the session is desired to be stored to create a first hash value, and concatenating the result with the further result of operating a different hash function on the binary contents, the name, or a string representing otherwise defined properties of the session to create a second hash value. For example, thefirst session ID310amay be the unique identifier WNX2878Y for the first copy set315a, the second copy set315b, and the fifth copy set315e, thesecond session ID310bmay be the unique identifier LKR5973Y for the fourth copy set315d, and thethird session ID310cmay be the unique identifier NTR5698J for the third copy set315cand the sixth copy set315f.
Each copy set315 may comprise one or more volumes in a copy services relationship. TheDSS100 may use for example a Flash Copy Version 1 to create a consistent point-in-time copy across multiple volumes, and even across the plurality of storage subsystem140, thus managing the consistency of dependent writes.
FIG. 4 is a schematic block diagram illustrating one embodiment of a session specific management apparatus400 of the present invention. TheDSS100 ofFIG. 1 may embody the apparatus400. The description of apparatus400 refers to elements ofFIGS. 1-3, like numbers referring to like elements. The apparatus400 includes abase replication module415, asession replication module420, asynchronization module425, and atransfer module435.
In an embodiment, each copy set315 defines a source volume and at least one target volume in a copy services relationship. For example, the first copy set315amay define the first volume of the second disk of thesecond storage device170 of the first storage subsystem140 as the source volume and the first volume of the first disk of thethird storage device170 of the first storage subsystem140 as the target volume in the copy services relationship.
Thebase replication module415 replicates the first base table205ato afirst standby server130band asecond standby server130c. Thefirst standby server130band thesecond standby server130cmay be thestandby server130b-cofFIGS. 1 and 2. The replicated first standby server base table205band the second standby server base table205cmay be substantially the same as the first base table205a.
In an embodiment, thebase replication module415 replicates the first base table205ato thefirst standby server130band thesecond standby server130cusing SQL commands. The SQL commands may include SQL SELECT and INSERT statements. Alternatively, thebase replication module415 may employ a peer to peer remote copy process as is well known to those of skill in the art.
Thesession replication module420 replicates first sessions from the session table210 to thefirst standby server130band second sessions to thesecond standby server130c. In an embodiment, thesession replication module420 replicates the first sessions and the second sessions to thefirst standby server130band thesecond standby server130cusing SQL commands. The SQL commands may include SELECT and INSERT statements. For example, thesession replication module420 may replicate the first sessions represented by the first, third, andfifth rows305a,305c,305eof the session table210 to thefirst standby server130band the second sessions represented by thefourth row305dof the session table210 to thesecond standby server130cusing SQL SELECT and INSERT statements.
The first andsecond standby servers130b-cdo not manage the sessions. For example, theactive server130amay manage the sessions represented by the first, second, fourth, andfifth rows305a,305b,305d,305erespectively of the session table210. Thefirst standby server130bmay be configured to assume management of the sessions represented by the first, second, fourth, andfifth rows305a,305b,305d,305eof the session table210. Thesession replication module420 comprises computer readable program stored on the tangible storage device, executed by the processor.
In an embodiment, thesynchronization module425 synchronizes the first base table205awith the second and third base tables205b-c. Thesynchronization module425 may synchronize the first base table205awith the standby server base tables205b-cto mirror any update of the rows of the first base table205awith the corresponding rows of the standby server base tables205b-cat regular intervals of time. Thesynchronization module425 may use SQL UPDATE, SELECT and INSERT statements to synchronize the first base table205awith the standby server base tables205b-c. For example, thesynchronization module425 may synchronize the first base table205awith the second and third base tables205b-cusing SQL UPDATE, SELECT and INSERT statements to mirror any update of the first andfifth rows305a,305eof the first base table205aas updates are made to the first base table205a.
Additionally, in an embodiment, thesynchronization module425 further synchronizes the first sessions of the active server session table210awith the first standby server session table210band the second sessions of the active server session table210awith the second standby server session table210c. Thesynchronization module425 may synchronize the first sessions of the active server session table210awith the first standby server session table210bto mirror any update of the rows representing the first sessions of the active server session table210awith the corresponding rows representing the first sessions of the first standby server session table210band the second sessions of the active server session table210awith the second standby server session table210cto mirror any update of the rows representing the second sessions of the active server session table210awith the corresponding rows representing the second sessions of the second standby server session table210cat regular intervals of time.
Thesynchronization module425 may use SQL UPDATE, SELECT or DELETE statements to synchronize the source session table210awith the standby server session tables210b-c. For example, thesynchronization module425 may synchronize the first sessions represented by the first, second, andfifth rows305a,305b,305eof the active server source session table210awith the first standby server session table210band the second sessions represented by thefourth row305dof the active server source session table210awith the second standby server session table210cusing SQL UPDATE, SELECT and INSERT statements. Thesynchronization module425 comprises computer readable program stored on the tangible storage device, executed by the processor.
Thetransfer module435 transfers management of the first sessions to thefirst standby server130b. In an embodiment, thetransfer module435 transfers management of the first sessions in response to a user command. For example, noticing a failure of theactive server130a, the user may initiate the user command, and in response to the user command, thetransfer module435 may transfer management of the first sessions represented by the first, second, andfifth rows305a,305b,305eof the active server source session table210ato thefirst standby server130b.
In another embodiment, thetransfer module435 transfers management of the first sessions in response to a failure of theactive server130a. For example, in response to the failure of theactive server130a, thetransfer module435 may automatically transfer management of the first sessions represented by the first, second, andfifth rows305a,305b,305eof the active server source session table210ato thefirst standby server130b.
For example, thetransfer module435 may transfer management of the first sessions represented by the first, second, andfifth rows305a,305b,305eof the active server source session table210ato reduce a processing load on theactive server130a. Thetransfer module435 may transfer management of the first sessions to thefirst standby server130bto reduce the processing load on theactive server130a.
Additionally, thetransfer module435 terminates management of the first sessions by theactive server130a. For example, if thetransfer module435 transfers the management of the first sessions to thefirst standby server130b, thetransfer module435 may further terminate management of the first sessions by theactive server130a. Thetransfer module435 comprises computer readable program stored on the tangible storage device, executed by the processor.
After management of the first sessions is transferred to thefirst standby server130b, thesynchronization module425 further synchronizes the first sessions of the second session table210bwith the source session table210a. However, thesynchronization module425 continues to synchronize the first base table205ato the second base table205b.
The schematic flow chart diagram that follows is generally set forth as a logical flow chart diagram. As such, the depicted order and labeled steps are indicative of one embodiment of the presented method. Other steps and methods may be conceived that are equivalent in function, logic, or effect to one or more steps, or portions thereof, of the illustrated method. Additionally, the format and symbols employed are provided to explain the logical steps of the method and are understood not to limit the scope of the method. Although various arrow types and line types may be employed in the flow chart diagrams, they are understood not to limit the scope of the corresponding method. Indeed, some arrows or other connectors may be used to indicate only the logical flow of the method. For instance, an arrow may indicate a waiting or monitoring period of unspecified duration between enumerated steps of the depicted method. Additionally, the order in which a particular method occurs may or may not strictly adhere to the order of the corresponding steps shown.
FIG. 5 is a schematic flow chart illustrating one embodiment of a data managementinformation replication method500. Themethod500 substantially includes the steps to carry out the functions presented above with respect to the operation of describedDSS100 and apparatus400 ofFIGS. 1 and 4. The description ofmethod500 refers to elements ofFIGS. 1-4, like numbers referring to the like elements. In one embodiment, themethod500 is implemented with a computer program product comprising a computer readable medium having a computer readable program. The computer program product in combination with the computing system may be capable of performing themethod500. The computer program readable medium may be executed by one or more of the plurality of servers130.
For simplicity, themethod500 is described for a first andsecond standby server130b-c. However, one of skill in the art will recognize that present invention may be practiced with any number of standby servers. For example, themethod500 may employ three standby servers.
Themethod500 starts and in an embodiment, thebase replication module415replicates515 the base table205 to thefirst standby server130band thesecond standby server130c. The base table205 includes configuration parameters for storage devices, logical volumes, physical interconnections, logical interconnections, and logical subsystems of a storage system, and the like.
Thebase replication module415 may replicate515 the base table205 using SQL commands. In an embodiment, thebase replication module415replicates515 the first base table205ato thefirst standby server130band thesecond standby server130cby reading an updated row from the first base table205a, constructing a SQL command for the row, wherein the SQL command is configured to insert data of the active server base table row in a standby server base table row, and applying the SQL command to the standby servers' base tables205b-c. Thebase replication module415 may replicate515 the base table205 as the base table205 is updated.
Thesession replication module420replicates520 first sessions from the session table210ato thefirst standby server130b. The session table210astores a plurality of sessions. Each session comprises a plurality of copy sets. Theactive server130amanages the sessions using the base table205aand the session table210a. The first andsecond standby servers130b-cdo not manage the sessions. Thesession replication module420 may replicate520 the first sessions using SQL commands.
Additionally, thesession replication module420replicates525 second sessions to thesecond standby server130c. Thesession replication module420 may replicate525 the second sessions using SQL commands.
Thesynchronization module425 may synchronize530 the first base table205awith the standby server base tables205b-c. In an embodiment, thesynchronization module425 synchronizes530 the first base table205awith the standby server base tables205b-cby receiving an update for a row of the first base table205aand sending the update to a specifiedstandby server130b-c. In one embodiment, the update is a SQL command.
Thetransfer module435 determines540 whether to transfer management of the first sessions to thefirst standby server130b. For example, thetransfer module435 may automatically determine540 to transfer management of the first sessions represented by the first, second, andfifth rows305a,305b,305eof the session table210ato thefirst standby server130bin response to an excessive processing load on theactive server130a.
If thetransfer module435 determines540 not to transfer management of the first sessions to thefirst standby server130b, themethod500 loops to thestep530. If thetransfer module435 determines540 to transfer management of the first sessions to thefirst standby server130b, thetransfer module435transfers545 management of the first sessions to thefirst standby server130b.
In an embodiment, thetransfer module435transfers545 management of the first sessions in response to a user command. In another embodiment, thetransfer module435 transfers management of the first sessions in response to a failure of theactive server130a. In one more embodiment, thetransfer module435 transfers management of the first sessions to reduce a processing load on theactive server130a.
Thetransfer module435 may transfer545 management of the first sessions to thefirst standby server130bby sending a message to theactive server130a, changing theactive server130ato not manage the first sessions, changing thestandby server130bto manage the first sessions, and replicating the standby server first sessions to the active server session table210a. For example, on receiving the user command, thetransfer module435 may automatically send a message to not manage the first sessions to theactive server130a, send a message to thefirst standby server130bto change thefirst standby server130bto manage the first sessions, and direct thesession replication module420 to replicate the standby server first sessions to the active server session table210a.
Additionally, thetransfer module435 terminates550 management of the first sessions by theactive server130a. For example, thetransfer module435 may automatically terminate550 management of the first sessions represented by the first, second, andfifth rows305a,305b,305eof the session table210 by theactive server130aon detecting thetransfer module435 transferred management of the first sessions to thefirst standby server130b. Thus themethod500 replicates data management information by replicating the first sessions of the active server source session table210ato thefirst standby server130band the second sessions of the source session table210ato thesecond server130c. The workload of theactive server130amay be shared with thefirst standby server130bor thesecond standby server130cor both the first andsecond standby servers130b-cmay assume session management from theactive server130a.
FIG. 6 is a schematic block diagram illustrating one example of the first session table210bof the present invention. The description of the first session table210brefers to elements ofFIGS. 1-5, like numbers referring to like elements. The first session table210bincludes a plurality of rows605a-c. Each row605 may represent the replicated first sessions represented by the first, second, andfifth rows305a,305b,305eof the active server session table210a. Although, for simplicity only three (3) rows605a-care shown, the first session table210bmay include any number of rows605. The shown first session table210bmay be the first session table210bon thefirst standby server130bcreated, replicated, updated by themethod500.
The first session table210bmay be stored in the memory of thefirst standby server130b. In the shown embodiment, each row605 includes thefirst session ID310aand the copy set which for example are the first, second, or fifth copy set315a,315b,315c.
The session table module410 may create510 the first session table210baccording to schema of the session table210a. Thesession replication module420 may replicate520 the first, second, andfifth rows305a,305b,305eof the active server session table210ato the first, second, andthird rows605a,605b,605cof the first standby server session table210b.
Thesynchronization module425 may synchronize535 the first, second, andfifth rows305a,305b,305erepresenting first sessions of active server session table210awith the first, second, andthird rows605a,605b,605cof the first standby server session table210bto mirror any update of any column of each row305 representing first sessions of the active server session table210awith the corresponding first, second, orthird rows605a,605b,605cof the first standby server session table210b.
The present invention provides an apparatus, a system, and a method for replication of data management information. Beneficially, such an apparatus, a system, and a method would divide management information among a plurality of the standby servers130. The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.