WO1997035269A1 - Multi-host decision support system - Google Patents

Multi-host decision support system Download PDF

Info

Publication number
WO1997035269A1
WO1997035269A1 PCT/US1997/004366 US9704366W WO9735269A1 WO 1997035269 A1 WO1997035269 A1 WO 1997035269A1 US 9704366 W US9704366 W US 9704366W WO 9735269 A1 WO9735269 A1 WO 9735269A1
Authority
WO
WIPO (PCT)
Prior art keywords
copy
database
support
data storage
storage system
Prior art date
Application number
PCT/US1997/004366
Other languages
French (fr)
Inventor
Yoav Raz
Philip Tamer
Original Assignee
Emc Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Emc Corporation filed Critical Emc Corporation
Priority to AU23341/97A priority Critical patent/AU2334197A/en
Priority to KR1019980707420A priority patent/KR100674642B1/en
Priority to EP97916074A priority patent/EP0954807A4/en
Priority to JP53364697A priority patent/JP3958795B2/en
Publication of WO1997035269A1 publication Critical patent/WO1997035269A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1466Management of the backup or restore process to make the backup process non-disruptive
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2066Optimisation of the communication load
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99955Archiving or backup

Definitions

  • the invention relates generally to decision support systems.
  • Decision support systems are typically used to generate information for supporting decisions, such as business decisions.
  • Decision-support systems analyze and evaluate data that is accumulated in the course of business operations.
  • the data might be marketing or sales data, it might be computer operations information, or it might be financial transaction information such as is generated through online transaction processing (OLTP) which is commonly used today by banks to provide their financial services to their customers.
  • OLTP online transaction processing
  • massive amounts of data are involved and the decision-support system performs very complex queries on that data.
  • Decision-support systems are frequently used to discover trends hidden in massive amounts of data, to detect market opportunities and to generally assist in long term strategic and business planing decisions.
  • At the heart of many decision-support system is a software program that performs the data analysis.
  • decision-support software that is available commercially and there is an equally large number of custom designed programs that have been generated in-house. These programs range in complexity from a simple two-dimensional spreadsheet program to much more sophisticated programs that can manipulate data in many dimensions.
  • DSS programs are used to access data for purposes of decision making, data analysis, forecasting, and time-series analysis.
  • the programs help users to answer — what-if ⁇ questions, to generate financial models, and to extract useful information that might be hidden within often massive amounts of complex data.
  • a wide variety of tools can be found among these DSS programs to perform these functions. These tools provide analysis in forms ranging from very simple measures such as totals, averages, and variances to the very complex measures including for example scatter plots, stem-and-leaf plots, and other probability plots.
  • Other DSS tools exist which perform correlations, moving averages, trend curve fitting, risk analysis, regression analysis, and critical path analysis. The list of tools that are found in DSS programs is very long and reflects the almost limitless ways that data can be analyzed.
  • the invention is a method of implementing decision support in an environment including a data storage system to which a plurality of host processors is connected and in which is stored a database.
  • the method including the steps of through a selected one of the host processors, updating the database on an ongoing basis; and through a different one of the host processors, reading the database for the purpose of implementing decision support functions, wherein the updating and the reading of the database are allowed to take place concurrently without imposing any locks on the database.
  • the invention is a method of implementing decision support in an environment including a data storage system and a plurality of host processors at least some of which are connected to the data storage system, and wherein the data storage system stores a working database.
  • the method includes the steps of, through a selected one of the host processors. updating the working database on an ongoing basis; while the working database is being updated on an ongoing basis, generating or maintaining a copy of the working database; using the copy of the database to generate a support copy of the database; and through a different one of the host processors, using the support copy for the purpose of implementing decision support functions.
  • Preferred embodiments include the following features.
  • the first-mentioned copy is a snapshot of the contents of the working database taken at a time t 0 .
  • the method also includes the steps of mirroring the working database to produce a mirror copy thereof, wherein the mirror copy is the first-mentioned copy and wherein the step of generating the support copy includes disconnecting the mirror copy from the working database at time t 0 ; and generating the support copy from the disconnected mirror copy.
  • the step of generating the support copy further includes the steps of shutting down the working database; and after the working database has become quiet, disconnecting the mirror copy from the working database. Alternatively, if the database is not caused to become quiet before disconnecting, the step of generating the support copy from the disconnected copy involves making the disconnected copy consistent.
  • the method further includes the steps of, after using the support copy for decision support functions, reconnecting the support copy to the working database; and resynchronizing the support copy with the working copy so that it again becomes a mirror copy of the working database.
  • the method further includes the steps of, after using the support copy for decision support functions, generating a modified support copy by backing out changes which have occurred to the support copy as a result of using it for decision support functions; reconnecting the modified support copy to the working database; and resynchronizing the modified support copy with the working copy so that it again becomes a mirror copy of the working database.
  • the plurality of host processors includes a first host processor and a second host processor, wherein the first mentioned data storage system is a local data storage system which is connected to a remote data storage system through a data communications link, and wherein the first host processor is connected to the local data storage system and the second host processor is connected to the remote data storage system.
  • the method further includes the steps of mirroring the working database to the remote data storage system to produce a remote database that is a mirror of the working database, wherein the step of mirroring is performed over the data communications link and wherein the updating and the mirroring take place concurrently so that changes made to the local database are recorded in the remote database on an ongoing basis, and wherein the support copy is derived from the remote database and wherein the second host processor uses the support copy for the purpose of implementing decision support functions.
  • the method further includes the steps of initiating a concurrent copy of the working database at time t 0 to generate a remote copy thereof on the remote data storage system, wherein the support copy is derived from the remote copy; and through the second host processor, reading the support copy for the purpose of implementing decision support functions.
  • the remote copy represents the value of the data within the working database at time t 0 , and the updating and the concurrent copying take place concurrently.
  • the invention is particularly useful for performing decision-support functions with very large databases (e.g. 10's of gigabytes of data) .
  • FIG. 1 is a block diagram of a system which can be used to implement the invention
  • Fig. 2 is a block diagram of the internal structure of the data storage systems that are shown in Fig. 1;
  • Fig. 3 presents the steps for generating a decision support copy by using the backup recovery facility
  • Fig. 4 presents the steps for generating a decision support copy by using the mirroring capability
  • Fig. 5 presents the steps for generating a decision support copy of a database and subsequently resynchronizing it with the original copy of the database
  • Fig. 6 presents the steps for bringing the decision support copy to a consistent state prior to resynchronizing it with the original database.
  • FIG. 1 A system which will be used to describe the various aspects of the invention is shown in Fig. 1. It includes two data storage systems 10 and 12, which are located at geographically remote locations from each other. Data storage systems 10 and 12 will be referred to hereinafter as the primary and the secondary data storage systems, respectively.
  • a plurality of host processors 14(1) through 14(n) are connected to primary data storage system 10 and a different plurality of host processors 16(1) through 16(m) are connected to data storage system 12.
  • the two systems are connected to each other through a high speed communication link 18 over which data can be transferred between the two systems.
  • host processors 14(i) are each connected to data storage system 10 through respective host connections 20(1) through 20(n). To simplify the discussion, only a single host connection is shown for each host processor. It should be understood, however, that there could in fact be multiple connections between the data storage system and a processor.
  • Data storage system 10 which is identical to data storage system 12, contains the physical memory in which the data (e.g. the records of the database) is stored.
  • data storage systems 10 and 12 are the Symmetrix ⁇ 5XXX series family of products from EMC Corporation of Hopkinton, MA, which are high performance integrated cache disk arrays designed for online data storage.
  • Symmetrix ⁇ 5XXX series family of products from EMC Corporation of Hopkinton, MA, which are high performance integrated cache disk arrays designed for online data storage.
  • the following details about the internal structure and operation of data storage system 10 generally refer to the Symmetrix ⁇ data storage systems. However, it should be understood that data storage systems of other known architectures may also be used.
  • Data storage system 10 includes multiple arrays of disk devices 22 and a system memory 24.
  • a portion of system memory 24 implements cache memory 26.
  • the multiple arrays of disk devices 22 provide a permanent data storage area and cache memory 26 provides a temporary data storage area.
  • Each disk device 22 includes a head-disk assembly, a microprocessor, and a data buffer which enables the data storage system to provide for parallel processing of data.
  • system memory 24 is implemented by high-speed random-access semiconductor memory.
  • cache index directory 28 which provides an indication of what data is stored in cache memory 26 and the address of that data in cache memory 26.
  • Cache index directory 28 is organized as a hierarchy of tables for devices, cylinders, and tracks of data records, as further described in U.S. 5,206,939, issued April 27, 1993, and incorporated herein by reference.
  • Channel director 32 which handles I/O requests from host processors 14, contains a microprocessor that processes commands and data from host processors 14 and manages accesses to cache memory 26. It uses cache index directory 28 which is stored in cache memory 26 to determine whether the request can be satisfied out of the cache or whether the data must be obtained from disk devices 22. The particular data that is stored in cache memory is determined by the data access patterns of the data base applications that are running.
  • Channel directors 32 write data from host processors 14 into cache memory 26 and update cache index directory 28. They also access cache index directory 26 and read data from cache memory 24 for transfer to host processors 14.
  • Disk adapter 34 interfaces to multiple SCSI buses 38 to which disk device arrays 22 are connected.
  • Disk director 36 manages accesses to the disks within disk device arrays 22.
  • Disk Director 36 stages data from the disk device arrays to cache memory 26 and it updates cache index directory 28, accordingly. It also de-stages or writes-back data from ⁇ written-to ⁇ blocks in cache memory 26 to the disk device arrays and again updates cache index directory 28, accordingly.
  • Disk adapters 34 and channel adapters 30 access system memory 24 through a high-speed, parallel line system bus 40.
  • System memory 24 is implemented by multiple memory boards. Only one accesses to any given memory board may occur at any given time, however, multiple memory boards may be accessed at the same time to support concurrent operations.
  • Data storage system 10 can be configured into multiple logical volumes. Typically, a volume corresponds to a single disk device.
  • a service console 50 within data storage system 10 enables the user to configure the data storage, i.e., to define the logical volumes and to specify which logical volumes are accessible through which host connections 20.
  • High speed link 18 is constructed in accordance with the ESCON architecture of IBM, an architecture that is known to persons skilled in the art.
  • High speed link 18 includes a dual optical fiber connection that uses serial data transmission. Independent processing units at either end of the connection control data movement from the connection to storage.
  • data storage system 10 includes a disk adapter 34 and a disk director 36, which couple internal bus 40 within the data storage system to high speed link 18. Similar components are present in the other data storage system.
  • Data storage systems 10 and 12 can be configured to implement local mirroring and/or remote mirroring, according to which duplicate copies of a logical volume or logical volumes are maintained on two separate physical disks. These capabilities are supported on commercially available systems such as, for example, the previously mentioned Symmetrix 5XXX series of data storage systems sold by EMC, Corp. In these systems, the remote mirroring capability and its associated features are referred to as the remote data facility (RDF) .
  • RDF remote data facility
  • data storage system 10 when data storage system 10 is configured to implement local mirroring, it generates and maintains the two copies of data by writing all modified data to two different disk devices within the same data storage system and it does this in a manner that is transparent to the host processors. Everything that is written to one volume is also written to a mirror volume and reads occur to both volumes, whichever produces the faster response.
  • the data storage system handles write operations to a mirrored logical volume as normal write operations.
  • the disk adapters destage the data to both devices in the mirrored pair maintaining the identical copies of the data.
  • the importance of the mirroring feature to the present invention is that it enables the user to generate and maintain logically identical copies of portions of the database on two different disk devices within the data storage system.
  • data storage system 10 When the database has been shutdown, then the snapshot of the database (i.e., a copy of its contents at that time) will be consistent. The relevance of this will become apparent shortly.
  • data storage system 10 When data storage system 10 is configured to implement remote data mirroring, it generates and maintains a duplicate copy on the remote data storage system which is connected to the other end of high speed link 18.
  • the transfer of data over high speed link 18 operates in one of two modes, namely, a real-time mode and an asynchronous mode.
  • the real-time mode the system copies data to the remote system during I/O at the primary system and it completes the copy before an I/O completion signal is sent to the host processing system.
  • the asynchronous mode the data is copied to the remote system asynchronously from the time that the primary system returns the I/O completion signal.
  • a system which implements the remote data mirroring is described in greater detail in U.S. Patent Application Serial No.
  • the data storage systems also implements another facility for generating a snapshot or copy of the state of the database at a given time.
  • this facility is referred to as a backup recovery facility (or BRF) .
  • BRF backup recovery facility
  • the feature is also commercially available from International Business Machines (IBM) and is generally referred to as the concurrent copy capability.
  • IBM International Business Machines
  • the backup recovery capability enables the user to generate a backup copy of the database onto a disk or tape without requiring a halt to all updating of the database by the database application while the backup copy is being made. Since generating a backup copy can take a considerable amount of time, not having to halt the updating of the database during copying greatly improves the performance of the database applications.
  • the copy reflects the state of the database at the time that the backup recovery facility is started and it does not contain any of the updates that took place within the database while the copy was being made. If the backup recovery facility is initiated at a point in time when all pending transactions have been completed and before any new transactions have begun (i.e., when the database has been shutdown or become quiet) , the data in the copy will be fully consistent.
  • the present embodiments employ the backup recovery facility technique to generate a copy of the database within the data storage system itself. This copy is then used to support DSS.
  • the copy can be made in one of two ways.
  • the first way is to simply use the backup recovery facility technique to first generate a backup copy on disk and then write the backup copy back to other volume(s) within the data storage system.
  • the backup recovery facility can be performed within the data storage system itself so that the copy is made directly on the other volumes without having to first make a backup copy on external medium.
  • the latter approach would be quicker and more efficient; however, the first approach can be implemented without having to modify the data storage system internally.
  • the backup recovery copy or what shall also be referred to hereinafter as the concurrent copy, is generated as follows. Assume that there is a volume that is undergoing modifications.
  • the activity is gracefully halted, i.e., all pending transactions are allowed to go to completion and all new transactions are halted.
  • the backup recovery facility is initiated and it begins to generate a copy of the database.
  • database activity is allowed to resume.
  • the source data i.e., the data in the volumes being copied
  • the system allocates buffer space in cache memory to contain modified data.
  • the backup recovery facility copies the modified portions of the volumes first so that the buffer contents can be transferred into the original volumes.
  • the copy that is being generated reflects the state of the data in the database at the time that the backup recovery facility was invoked.
  • the generation of the concurrent copy can be done at a rate of about 5-10 MB/sec in the Symmetrix 5XXX series data storage systems, which is the limit of the internal SCSI interface that is used.
  • the isolation level of the copy will be 3, i.e., it will have the highest achievable consistency.
  • the decision- support functions are performed by using the same data storage system through which the database updating functions are performed.
  • the portion of system shown in Fig. 1 which is relevant to this example is data storage system 10 with the plurality of host processors that are connected to it.
  • host processor 14(1) is performing updating functions to a database that is stored in a volume 80 within the data storage system.
  • Data storage system 10 is configured to permit the other host processors 14(2)- 1 (n) to share volume 80 with host processor 14(1).
  • the database is spread across multiple volumes in data storage system 10 in which case, data storage system 10 would be configured to permit all of the other host processors to share all of those volumes with host processor 14(1). But for simplicity we will assume that the database is contained within a single volume.
  • host processor 14(1) is permitted to both write data to and read data from the shared volume 80.
  • the other host processors 14(2)-14(n) by a restriction that may be enforced either at the host processor level or within the data storage system itself, are only permitted to read data from shared volume 80.
  • host processor 14(1) might be performing regular database work, e.g. online transaction processing or excepting update batches; while the remaining host processors 1 (2)-14(n) are performing decision-support functions, for which only read capability is required and used.
  • a dirty read occurs when data is read before the transaction that is updating the data is complete. Thus, the data may not be valid since the transaction before completing may again change the data or invalidate it.
  • an isolation level of 3 i.e., the highest isolation level
  • the database application is gracefully shut down (step 100) .
  • the backup recovery facility is invoked and the generation of a concurrent copy on another shared volume 82 within data storage system 10 is begun (step 102) .
  • the database application is allowed to resume its work on the database (step 104) .
  • the concurrent copy will be complete and then decision support is begun using that copy (step 106) . Since the concurrent copy is a snapshot of the original database taken at time t 0 , the updating that takes place within the original database as the copy is being made will have no affect on the concurrent copy and thus will have no affect on the DSS functions.
  • a third example utilizes the local mirroring capability of the data storage systems.
  • the data storage system invokes the local mirroring feature to generate locally a mirror copy of the source database (step 110) . Since the copy is generated as a mirror copy, it remains current as long as it is connected to the source copy.
  • the mirror copy is disconnected from the source copy (step 114) . Since it may be important to have a fully consistent copy, it may be desirable to first perform a graceful shutdown of the database system before disconnecting the mirror copy so that at the time of disconnection, the mirror copy is fully consistent (step 112) . After the mirror copy has been disconnected, the database application can be allowed to proceed with processing transactions in the source database (116) and decision support functions can be initiated using the disconnected mirror copy (step 118) .
  • a fourth example involves two data storage systems 10 and 12 which communicate with each other over the high-speed link 18.
  • host processor 14(1) is updating the database that is stored in volume 80 within data storage system 10.
  • host processors 16(1)- 16(m) which are connected to data storage system 12, are performing the DSS functions.
  • an alternative approach avoids using the mirroring capability on the original database in volume 80. Instead, a concurrent copy is generated locally in volume 82 using the BRF facility and this is remotely mirrored to secondary data storage system 12.
  • the recovery capabilities that are available in many database applications operate by generating and maintaining a log of all transactions.
  • the log is used after a system failure to back out transactions in database that were not committed, i.e., to rollback the database to a consistent state.
  • the log typically includes such information as the identity of the transaction, the new and old values of the items that were modified by the transaction, and an indication of whether the effect of the transaction was committed to the stored database.
  • To rollback the stopped database the log is run over the database using an algorithm which backs out the incompleted transactions. After the log is run over the database (i.e., after the database is recovered) , then all transactions that were committed are reflected in the recovered copy of the database and the effects of all transactions that were not completed are removed from the copy of the database.
  • Fig. 4 can be modified as shown in Fig. 5.
  • remote mirroring or RDF is used to - 21 - generate the copy (step 120) .
  • step 120 remote mirroring or RDF is used to - 21 - generate the copy.
  • step 122 the remote mirror copy so that it can be used for decision support
  • step 124 The recovery facility is then used to bring the resulting copy to a consistent state (step 124) , after which it can be used for decision support (step 126) .
  • Symmetrix data storage units use two link paths. If one path between the local and the remote data storage units fails, the systems use the other path for communication of data to the target database. If both paths fail, then the source volume continues to write to its source database and it also marks all updated tracks. When the link is restored, the local unit resynchronizes the remote database by transferring the marked data to the target volumes. This feature can also be used to efficiently and quickly resynchronize the remote database with the local database even when the disconnection is deliberate, instead of through an unexpected link failure.
  • the above-described procedure can further include the step of reconnecting the decision support copy to the original database (i.e. , the active database) (step 128) .
  • the decision support copy is resynchronized with the original database using the facilities just described (step 130) . It is the case that many current database systems do not provide read-only capabilities.
  • writes are occurring to it.
  • the writes are typically in one of two forms, namely, administrative operations such as time stamping of data that is read, and writing of intermediate results which occur as part of carrying out the queries requested by the decision support functions.
  • the decision support function causes the remote database to become unsynchronized with the local database (i.e., the original or active database) even if no new transactions are processed in the local database. If such a database system is being used, the decision support database will need to be rolled back to an earlier state before reconnection to and resynchronization with the active database can occur. That is, resynchronizing also requires that all changes to the remote database must be backed out to bring it to the state in which it was in at the instant that it was disconnected from the local database. This function can be readily accomplished again by using the transaction log, as is done in the Symmetrix 5XXX series of data storage systems. Referring to Fig. 6, before reconnecting to the source database, the transaction log is used to back out all changes that were written to the database (step 132) . Then, it is reconnected to the source (step 134) , and resynchronized with the active database (step 136) .
  • the decision support functions can also be performed by another process that is running on the same host as the process that is actively using the database.
  • both functions could be performed by separate processes running on the same host.
  • the advantage of using multiple hosts is that approach provides greater scalability than does the use of a single host processor. Nevertheless, the functions that were described above can be performed with multiple processes running on a single processor (e.g. an SMP or symmetric multiprocessor system
  • the remote mirroring capability can be used to generate mirror copies at multiple remote sites. And decision support functions can then be run at each of the multiple sites.
  • the support copy that is created in the manner described above can also be used to generate a backup copy.
  • the support copy would be passed to an external storage device 11, such as a tape drive (see Fig. 1) . If the disconnected copy is inconsistent (i.e, if it is created without allowing the database to become quiet) then in addition to storing the support copy on the external storage device, one also stores the recovery log associated with that copy and with which the backup copy can be made consistent.

Abstract

A method of implementing decision support in an environment including a data storage system (10) and a plurality of host processors (14 and 16), at least some of which are connected to the data storage system (10), wherein the data storage system (10) stores a working database (80), the method including the steps of: through a selected one of the plurality of host processors (14), updating the working database (80) on an ongoing basis; while the working database (80) is being updated on an ongoing basis, generating a copy of the working database (90); using the copy of the database (90) to generate a support copy of the database; and through a different one of the plurality of host processors (16), using the support copy for the purpose of implementing decision support functions.

Description

MULTI-HOST DECISION SUPPORT SYSTEM Background of the Invention The invention relates generally to decision support systems.
Decision support systems (DSS) , as their name implies, are typically used to generate information for supporting decisions, such as business decisions. Decision-support systems analyze and evaluate data that is accumulated in the course of business operations. For example, the data might be marketing or sales data, it might be computer operations information, or it might be financial transaction information such as is generated through online transaction processing (OLTP) which is commonly used today by banks to provide their financial services to their customers. Typically, massive amounts of data are involved and the decision-support system performs very complex queries on that data.
Decision-support systems are frequently used to discover trends hidden in massive amounts of data, to detect market opportunities and to generally assist in long term strategic and business planing decisions. At the heart of many decision-support system is a software program that performs the data analysis. There is a considerable quantity of decision-support software that is available commercially and there is an equally large number of custom designed programs that have been generated in-house. These programs range in complexity from a simple two-dimensional spreadsheet program to much more sophisticated programs that can manipulate data in many dimensions.
These programs are used to access data for purposes of decision making, data analysis, forecasting, and time-series analysis. The programs help users to answer what-ifΫ questions, to generate financial models, and to extract useful information that might be hidden within often massive amounts of complex data. A wide variety of tools can be found among these DSS programs to perform these functions. These tools provide analysis in forms ranging from very simple measures such as totals, averages, and variances to the very complex measures including for example scatter plots, stem-and-leaf plots, and other probability plots. Other DSS tools exist which perform correlations, moving averages, trend curve fitting, risk analysis, regression analysis, and critical path analysis. The list of tools that are found in DSS programs is very long and reflects the almost limitless ways that data can be analyzed.
Summary of the Invention
In general, in one aspect, the invention is a method of implementing decision support in an environment including a data storage system to which a plurality of host processors is connected and in which is stored a database. The method including the steps of through a selected one of the host processors, updating the database on an ongoing basis; and through a different one of the host processors, reading the database for the purpose of implementing decision support functions, wherein the updating and the reading of the database are allowed to take place concurrently without imposing any locks on the database.
In general, in another aspect, the invention is a method of implementing decision support in an environment including a data storage system and a plurality of host processors at least some of which are connected to the data storage system, and wherein the data storage system stores a working database. The method includes the steps of, through a selected one of the host processors. updating the working database on an ongoing basis; while the working database is being updated on an ongoing basis, generating or maintaining a copy of the working database; using the copy of the database to generate a support copy of the database; and through a different one of the host processors, using the support copy for the purpose of implementing decision support functions. Preferred embodiments include the following features. The first-mentioned copy is a snapshot of the contents of the working database taken at a time t0. The method also includes the steps of mirroring the working database to produce a mirror copy thereof, wherein the mirror copy is the first-mentioned copy and wherein the step of generating the support copy includes disconnecting the mirror copy from the working database at time t0; and generating the support copy from the disconnected mirror copy. The step of generating the support copy further includes the steps of shutting down the working database; and after the working database has become quiet, disconnecting the mirror copy from the working database. Alternatively, if the database is not caused to become quiet before disconnecting, the step of generating the support copy from the disconnected copy involves making the disconnected copy consistent. Also in preferred embodiments, the method further includes the steps of, after using the support copy for decision support functions, reconnecting the support copy to the working database; and resynchronizing the support copy with the working copy so that it again becomes a mirror copy of the working database. The method further includes the steps of, after using the support copy for decision support functions, generating a modified support copy by backing out changes which have occurred to the support copy as a result of using it for decision support functions; reconnecting the modified support copy to the working database; and resynchronizing the modified support copy with the working copy so that it again becomes a mirror copy of the working database.
Also, in preferred embodiments, the plurality of host processors includes a first host processor and a second host processor, wherein the first mentioned data storage system is a local data storage system which is connected to a remote data storage system through a data communications link, and wherein the first host processor is connected to the local data storage system and the second host processor is connected to the remote data storage system. In that system, the method further includes the steps of mirroring the working database to the remote data storage system to produce a remote database that is a mirror of the working database, wherein the step of mirroring is performed over the data communications link and wherein the updating and the mirroring take place concurrently so that changes made to the local database are recorded in the remote database on an ongoing basis, and wherein the support copy is derived from the remote database and wherein the second host processor uses the support copy for the purpose of implementing decision support functions. Alternatively, the method further includes the steps of initiating a concurrent copy of the working database at time t0 to generate a remote copy thereof on the remote data storage system, wherein the support copy is derived from the remote copy; and through the second host processor, reading the support copy for the purpose of implementing decision support functions. In this latter case, the remote copy represents the value of the data within the working database at time t0, and the updating and the concurrent copying take place concurrently. The invention is particularly useful for performing decision-support functions with very large databases (e.g. 10's of gigabytes of data) .
Other advantages and features will become apparent from the following description of the preferred embodiment and from the claims.
Brief Description of the Drawings Fig. 1 is a block diagram of a system which can be used to implement the invention; Fig. 2 is a block diagram of the internal structure of the data storage systems that are shown in Fig. 1;
Fig. 3 presents the steps for generating a decision support copy by using the backup recovery facility;
Fig. 4 presents the steps for generating a decision support copy by using the mirroring capability;
Fig. 5 presents the steps for generating a decision support copy of a database and subsequently resynchronizing it with the original copy of the database; and
Fig. 6 presents the steps for bringing the decision support copy to a consistent state prior to resynchronizing it with the original database..
Description of the Preferred Embodiments
A system which will be used to describe the various aspects of the invention is shown in Fig. 1. It includes two data storage systems 10 and 12, which are located at geographically remote locations from each other. Data storage systems 10 and 12 will be referred to hereinafter as the primary and the secondary data storage systems, respectively. A plurality of host processors 14(1) through 14(n) are connected to primary data storage system 10 and a different plurality of host processors 16(1) through 16(m) are connected to data storage system 12. The two systems are connected to each other through a high speed communication link 18 over which data can be transferred between the two systems. Referring to Fig. 2, host processors 14(i) are each connected to data storage system 10 through respective host connections 20(1) through 20(n). To simplify the discussion, only a single host connection is shown for each host processor. It should be understood, however, that there could in fact be multiple connections between the data storage system and a processor.
Data storage system 10, which is identical to data storage system 12, contains the physical memory in which the data (e.g. the records of the database) is stored.
The particular manner in which the physical memory within storage system is implemented and how it is partitioned is not of central importance. Examples of commercially available products that can be used to implement data storage systems 10 and 12 are the Symmetrixϊ 5XXX series family of products from EMC Corporation of Hopkinton, MA, which are high performance integrated cache disk arrays designed for online data storage. The following details about the internal structure and operation of data storage system 10 generally refer to the Symmetrixϊ data storage systems. However, it should be understood that data storage systems of other known architectures may also be used.
Data storage system 10 includes multiple arrays of disk devices 22 and a system memory 24. A portion of system memory 24 implements cache memory 26. The multiple arrays of disk devices 22 provide a permanent data storage area and cache memory 26 provides a temporary data storage area. Each disk device 22 includes a head-disk assembly, a microprocessor, and a data buffer which enables the data storage system to provide for parallel processing of data. In the described embodiment, system memory 24 is implemented by high-speed random-access semiconductor memory. Within cache memory 26 there is a cache index directory 28 which provides an indication of what data is stored in cache memory 26 and the address of that data in cache memory 26. Cache index directory 28 is organized as a hierarchy of tables for devices, cylinders, and tracks of data records, as further described in U.S. 5,206,939, issued April 27, 1993, and incorporated herein by reference.
There is a group of channel adapters 30 and channel directors 32 that provide interfaces through which host processors 14 connect to data storage system 10. Each channel adapter 30 provides for direct attachment to the physical host connections. Channel director 32, which handles I/O requests from host processors 14, contains a microprocessor that processes commands and data from host processors 14 and manages accesses to cache memory 26. It uses cache index directory 28 which is stored in cache memory 26 to determine whether the request can be satisfied out of the cache or whether the data must be obtained from disk devices 22. The particular data that is stored in cache memory is determined by the data access patterns of the data base applications that are running. Channel directors 32 write data from host processors 14 into cache memory 26 and update cache index directory 28. They also access cache index directory 26 and read data from cache memory 24 for transfer to host processors 14. There is also a disk adapter 34 and a disk director 36 through which each disk device array 22 is connected to cache memory 26. Disk adapter 34 interfaces to multiple SCSI buses 38 to which disk device arrays 22 are connected. Disk director 36 manages accesses to the disks within disk device arrays 22. Disk Director 36 stages data from the disk device arrays to cache memory 26 and it updates cache index directory 28, accordingly. It also de-stages or writes-back data from ~~written-toΫ blocks in cache memory 26 to the disk device arrays and again updates cache index directory 28, accordingly.
Disk adapters 34 and channel adapters 30 access system memory 24 through a high-speed, parallel line system bus 40. System memory 24 is implemented by multiple memory boards. Only one accesses to any given memory board may occur at any given time, however, multiple memory boards may be accessed at the same time to support concurrent operations.
Data storage system 10 can be configured into multiple logical volumes. Typically, a volume corresponds to a single disk device. A service console 50 within data storage system 10 enables the user to configure the data storage, i.e., to define the logical volumes and to specify which logical volumes are accessible through which host connections 20.
High speed link 18 is constructed in accordance with the ESCON architecture of IBM, an architecture that is known to persons skilled in the art. High speed link 18 includes a dual optical fiber connection that uses serial data transmission. Independent processing units at either end of the connection control data movement from the connection to storage. More specifically, data storage system 10 includes a disk adapter 34 and a disk director 36, which couple internal bus 40 within the data storage system to high speed link 18. Similar components are present in the other data storage system.
Data storage systems 10 and 12 can be configured to implement local mirroring and/or remote mirroring, according to which duplicate copies of a logical volume or logical volumes are maintained on two separate physical disks. These capabilities are supported on commercially available systems such as, for example, the previously mentioned Symmetrix 5XXX series of data storage systems sold by EMC, Corp. In these systems, the remote mirroring capability and its associated features are referred to as the remote data facility (RDF) . In general, when data storage system 10 is configured to implement local mirroring, it generates and maintains the two copies of data by writing all modified data to two different disk devices within the same data storage system and it does this in a manner that is transparent to the host processors. Everything that is written to one volume is also written to a mirror volume and reads occur to both volumes, whichever produces the faster response. The data storage system handles write operations to a mirrored logical volume as normal write operations.
That is, data is written to cache memory. Then, the disk adapters destage the data to both devices in the mirrored pair maintaining the identical copies of the data.
Further details about one particular implementation of mirroring are presented in U.S. Patent Application Serial No. 07/587,253, incorporated herein by reference.
The importance of the mirroring feature to the present invention is that it enables the user to generate and maintain logically identical copies of portions of the database on two different disk devices within the data storage system.
Notice however, that at any given point in time, the database that is being actively updated, and thus also the mirror copy, is not fully consistent. This is because at any given time some transactions have not yet completed and thus the data in the database associated with those transactions may still change during the course of completing those transactions. To achieve a fully consistent database, it is necessary to allow all of the transactions to be completed before being any new transactions are begun. When the pending transactions are completed, the database will be consistent. A consistent state can be achieved by gracefully shutting down the database, i.e., by preventing new transactions from being initiated and letting the pending transactions to run to completion. Typically, commercially available database systems allow the user to shut down the database gracefully to achieve full consistency. After the database has been shutdown, then the snapshot of the database (i.e., a copy of its contents at that time) will be consistent. The relevance of this will become apparent shortly. When data storage system 10 is configured to implement remote data mirroring, it generates and maintains a duplicate copy on the remote data storage system which is connected to the other end of high speed link 18. During remote data mirroring, the transfer of data over high speed link 18 operates in one of two modes, namely, a real-time mode and an asynchronous mode. In the real-time mode, the system copies data to the remote system during I/O at the primary system and it completes the copy before an I/O completion signal is sent to the host processing system. In the asynchronous mode, the data is copied to the remote system asynchronously from the time that the primary system returns the I/O completion signal. A system which implements the remote data mirroring is described in greater detail in U.S. Patent Application Serial No.
08/052,039, entitled Remote Data Mirroring, filed April 23, 1993, and incorporated herein by reference.
The data storage systems also implements another facility for generating a snapshot or copy of the state of the database at a given time. On the previously - 11 - mentioned Symmetrix 5XXX series data storage systems, this facility is referred to as a backup recovery facility (or BRF) . The feature is also commercially available from International Business Machines (IBM) and is generally referred to as the concurrent copy capability. In general, the backup recovery capability enables the user to generate a backup copy of the database onto a disk or tape without requiring a halt to all updating of the database by the database application while the backup copy is being made. Since generating a backup copy can take a considerable amount of time, not having to halt the updating of the database during copying greatly improves the performance of the database applications. In addition, even though copying and updating take place concurrently, the copy reflects the state of the database at the time that the backup recovery facility is started and it does not contain any of the updates that took place within the database while the copy was being made. If the backup recovery facility is initiated at a point in time when all pending transactions have been completed and before any new transactions have begun (i.e., when the database has been shutdown or become quiet) , the data in the copy will be fully consistent. The present embodiments employ the backup recovery facility technique to generate a copy of the database within the data storage system itself. This copy is then used to support DSS. The copy can be made in one of two ways. The first way is to simply use the backup recovery facility technique to first generate a backup copy on disk and then write the backup copy back to other volume(s) within the data storage system. Alternatively, the backup recovery facility can be performed within the data storage system itself so that the copy is made directly on the other volumes without having to first make a backup copy on external medium. Clearly, the latter approach would be quicker and more efficient; however, the first approach can be implemented without having to modify the data storage system internally. In general, the backup recovery copy, or what shall also be referred to hereinafter as the concurrent copy, is generated as follows. Assume that there is a volume that is undergoing modifications. Before making the concurrent copy the activity is gracefully halted, i.e., all pending transactions are allowed to go to completion and all new transactions are halted. When the database has become quiet, i.e., it has reached a totally consistent state, the backup recovery facility is initiated and it begins to generate a copy of the database. After the backup recovery facility is initiated, database activity is allowed to resume. Thus, as the copy is being generated, updates to the data will be taking place. However, the source data (i.e., the data in the volumes being copied) is not overwritten until the original version of the data has been copied to disk or tape. When the backup recovery facility is initiated, the system allocates buffer space in cache memory to contain modified data. As long as that buffer is not full, writes that are attempted to portions of the volumes that have not yet been copied are directed to the buffer rather than to the volume. When the relevant portions of the original database has been copied, the contents of the buffer corresponding to those portions are read into the volumes. If the buffer becomes full, the system creates a sidefile to hold the original data from the affected track in the volume. Thus, when a write is attempted to a track that has not yet been copied, the contents of that track are copied to the sidefile and then the new value is written to the track. In other words, a temporary concurrent copy of the affected records is made to the sidefile. The sidefile is then read to the copy that is being generated and after the records have been read from the sidefile, the values are cleared from the sidefile to make room for other records.
The backup recovery facility copies the modified portions of the volumes first so that the buffer contents can be transferred into the original volumes.
As should be readily apparent, with this concurrent copy technique even if the data in the volumes is being modified as the copy is being made, the copy that is being generated reflects the state of the data in the database at the time that the backup recovery facility was invoked. The generation of the concurrent copy can be done at a rate of about 5-10 MB/sec in the Symmetrix 5XXX series data storage systems, which is the limit of the internal SCSI interface that is used. Using the backup recovery facility, the isolation level of the copy will be 3, i.e., it will have the highest achievable consistency.
We will now describe several different modes of supporting DSS using the above-described facilities and one or both of the data storage systems shown in Fig. l.
Example #1:
In this example, we assume that the decision- support functions are performed by using the same data storage system through which the database updating functions are performed. In other words, the portion of system shown in Fig. 1 which is relevant to this example is data storage system 10 with the plurality of host processors that are connected to it. We further assume that host processor 14(1) is performing updating functions to a database that is stored in a volume 80 within the data storage system. Data storage system 10 is configured to permit the other host processors 14(2)- 1 (n) to share volume 80 with host processor 14(1). Of course, it could also be the case that the database is spread across multiple volumes in data storage system 10 in which case, data storage system 10 would be configured to permit all of the other host processors to share all of those volumes with host processor 14(1). But for simplicity we will assume that the database is contained within a single volume.
In accordance with the first example, host processor 14(1) is permitted to both write data to and read data from the shared volume 80. In contrast, the other host processors 14(2)-14(n), by a restriction that may be enforced either at the host processor level or within the data storage system itself, are only permitted to read data from shared volume 80. Thus, for example, host processor 14(1) might be performing regular database work, e.g. online transaction processing or excepting update batches; while the remaining host processors 1 (2)-14(n) are performing decision-support functions, for which only read capability is required and used.
Since only one host processor is writing to the database, no lock manager is needed to coordinate the accesses to the database by the other host processors. More specifically, though there may need to be intrahost locks for read/write accesses coming from the one host processor, there need not be interhost locks for the other host processors. Thus, reading of the data within the database for purposes of decision-support can take place concurrently with the updating of the database bvy the one host processor. That is, all of the host processors can operate concurrently, assuming that the above-described restriction on only allowing host processor 14(1) to perform updating is honored. Stated differently, the read accesses by the host processors that are performing decision-support can be done concurrently with the writing of data by host processor 14(1). Under these conditions (i.e., assuming that the DSS reads occur concurrently with the writes performed by host processor 14(1)), there will of course be some "dirty readsΫ. A dirty read occurs when data is read before the transaction that is updating the data is complete. Thus, the data may not be valid since the transaction before completing may again change the data or invalidate it.
If dirty data is used to perform projections, statistical analysis or other DSS functions, it can impact the quality of the results. However, on databases that are large, the occurrence of dirty reads is so small in comparison to the amount of data that is being processed to perform the DSS functions that the impact of such dirty reads will tend to be minimal. Assuming that dirty reads do occur, it is possible to typically achieve an isolation level of 1 in the copied data. (Note that the quality of the data is characterized by three isolation levels, namely, l, 2, and 3, with 3 being the highest isolation level or the most consistent data.) For many purposes, an isolation level of 1 is acceptable. Thus, there may be no significant advantage to imposing a lock management function to simply prevent some dirty reads. Moreover, a substantial price is paid for demanding a higher isolation level. In online transaction processing, data is typically being modified and updated intensively and on an ongoing basis. If a locking protocol must be used, this will typically result in records being locked when the updating application needs to update those records. This will significantly lower throughput and degrade performance of the database application.
Of course, if the updating of the database is halted (e.g. the OLTP is stopped) , then an isolation level of 3 (i.e., the highest isolation level) will be achievable.
Thus, in the first example we simply allow host processors which are performing DSS to read data from the database while another host processor is updating the database and without the imposition of any locking protocol. Of course, as soon as multiple host processors are permitted start to write to the database at the same time, it will become necessary to provide the services of a lock manager. This will significantly slow down the regular database functions that are being performed by the host processors that are modifying the database. Nevertheless, even under those circumstances the host processors that are performing DSS still do not require the services of a lock manager to perform their reads of the database.
Example #2;
We can increase the isolation level of the first example to level 3 (i.e., produce fully consistent data) by using the backup recovery facility feature to locally generate a duplicate copy of the database. In accordance with this alternative approach, referring to Fig. 3, the database application is gracefully shut down (step 100) . Once the database has become quiet at some time tn, the backup recovery facility is invoked and the generation of a concurrent copy on another shared volume 82 within data storage system 10 is begun (step 102) . After the backup recovery facility has been invoked, the database application is allowed to resume its work on the database (step 104) . At some later time, the concurrent copy will be complete and then decision support is begun using that copy (step 106) . Since the concurrent copy is a snapshot of the original database taken at time t0, the updating that takes place within the original database as the copy is being made will have no affect on the concurrent copy and thus will have no affect on the DSS functions.
Example #3:
A third example utilizes the local mirroring capability of the data storage systems. In this case, referring to Fig. 4, the data storage system invokes the local mirroring feature to generate locally a mirror copy of the source database (step 110) . Since the copy is generated as a mirror copy, it remains current as long as it is connected to the source copy. When it is necessary to run decision support, the mirror copy is disconnected from the source copy (step 114) . Since it may be important to have a fully consistent copy, it may be desirable to first perform a graceful shutdown of the database system before disconnecting the mirror copy so that at the time of disconnection, the mirror copy is fully consistent (step 112) . After the mirror copy has been disconnected, the database application can be allowed to proceed with processing transactions in the source database (116) and decision support functions can be initiated using the disconnected mirror copy (step 118) .
Example #4:
A fourth example involves two data storage systems 10 and 12 which communicate with each other over the high-speed link 18. In this case, we assume as before that host processor 14(1) is updating the database that is stored in volume 80 within data storage system 10. However, this time we assume that host processors 16(1)- 16(m), which are connected to data storage system 12, are performing the DSS functions.
To make the data available for performing the DSS functions on data storage system 12, we use the remote mirroring capabilities to generate a mirror of the database on a volume 90 in secondary data storage system 12. Then, host processors 16(1)-16(m) use the remote mirror copy of the database in volume 90 for performing their DSS functions. In essence the procedure is the same as is shown in Fig. 4 except that in this case the mirror copy is created on the remote system.
The advantage of this is that the copy of the database that is used for decision-support is being generated concurrently with the primary database. Thus, it is always immediately available to host processors 16(l)-16(m). This completely avoids the delay and expense that is associated with generating a complete copy of the entire database at one time and then getting that copy into the secondary data storage system. This approach would be particularly attractive to companies with offices that are scattered over widely separated geographical locations. Currently, those companies typically function as follows. They perform updating (e.g. OLTP) at one site and they perform decision support at another remotely located site. To get the data to the remote site for DSS, they copy the data onto a tape every night and send the tape (e.g. by Federal Express) to the remote site. This is selected as the attractive alternative because other methods of communicating the massive amounts of data that are typically involved are too expensive in terms of the time that would be required for such a data transfer using current technology. The data on the tape is then downloaded onto the system at the remote site and it is then used for DSS. Example #5;
Since mirroring the original database may be undesirable because of the resulting degradation to the speed and performance of the updating functions, an alternative approach avoids using the mirroring capability on the original database in volume 80. Instead, a concurrent copy is generated locally in volume 82 using the BRF facility and this is remotely mirrored to secondary data storage system 12.
In the above examples, producing a consistent state in the copy involved gracefully shutting down the database application before disconnecting the mirror copy or before initiating the BRF. This implies a certain amount of inefficiency because there will be a period during which new transactions will not be accepted for processing. Many database systems typically include recovery capabilities which can be used to generate a fully consistent copy of the database without having to perform a graceful shut down. The recovery capabilities are made available to recover from a system crash which might occur during active processing of transactions. After a crash the database will typically be in an inconsistent state, i.e., some transactions will have been pending at the time of the crash and thus data in the database will be inconsistent. The recovery techniques bring it back to a consistent state.
In general, the recovery capabilities that are available in many database applications operate by generating and maintaining a log of all transactions. The log is used after a system failure to back out transactions in database that were not committed, i.e., to rollback the database to a consistent state. The log typically includes such information as the identity of the transaction, the new and old values of the items that were modified by the transaction, and an indication of whether the effect of the transaction was committed to the stored database. To rollback the stopped database, the log is run over the database using an algorithm which backs out the incompleted transactions. After the log is run over the database (i.e., after the database is recovered) , then all transactions that were committed are reflected in the recovered copy of the database and the effects of all transactions that were not completed are removed from the copy of the database.
There are many approaches and algorithms for performing database recovery. Generally, commercially available database systems implement one or more such techniques. Various database recovery techniques are well known in the art and some of them are described in detail in many publicly available references. For such descriptions, we refer the reader to the public literature on database systems and transaction processing including, for example, Fundamental of Database Svstems. by Ramez Elmasri and Shamkant B. Navathe, published by The Benjamin/Cummings Publishing Company, Inc. , Redwood City, California, (1989); and Transaction Processing. Concepts and Technigues. by Jim Gray and Andreas Reuter, Morgan Kaufmann Publishers, San Francisco, California (1993) .
With the recovery capability, it is possible to disconnect the mirror copy or initiate BRF without having to shut down the database. The resulting snapshot of the database will, of course, likely be inconsistent, just as it would be if the system had unexpectedly crashed. The transaction log and the recovery algorithm can then be used to bring it to a consistent state.
With the aid of the recovery tools, the process illustrated in Fig. 4 can be modified as shown in Fig. 5. In this example, remote mirroring or RDF is used to - 21 - generate the copy (step 120) . At some point it will be necessary to disconnect the remote mirror copy so that it can be used for decision support (step 122) . The recovery facility is then used to bring the resulting copy to a consistent state (step 124) , after which it can be used for decision support (step 126) .
After the decision support copy has been used for awhile, it will tend to become outdated as more transactions are processed in the active database (e.g. the OLTP copy) . Thus, it will eventually be necessary to generate a new copy. A brute force way is to simply generate another copy from the beginning by running the backup recovery facility again or by constructing another mirror, as described above. A more efficient method, however, is to resynchronize the outdated decision support copy with the original database. This can be accomplished by again using capabilities that are supported on commercially available data storage systems, such as the Symmetrix 5XXX series data storage system. With particular reference to the Symmetrix systems, they support a feature which enables the system to recover from a link failure during remote mirroring. The feature is part of its remote data facility (RDF)
As noted above, Symmetrix data storage units use two link paths. If one path between the local and the remote data storage units fails, the systems use the other path for communication of data to the target database. If both paths fail, then the source volume continues to write to its source database and it also marks all updated tracks. When the link is restored, the local unit resynchronizes the remote database by transferring the marked data to the target volumes. This feature can also be used to efficiently and quickly resynchronize the remote database with the local database even when the disconnection is deliberate, instead of through an unexpected link failure.
As shown in Fig. 5, the above-described procedure can further include the step of reconnecting the decision support copy to the original database (i.e. , the active database) (step 128) . After reconnection is established, the decision support copy is resynchronized with the original database using the facilities just described (step 130) . It is the case that many current database systems do not provide read-only capabilities. Thus, as the disconnected remote database is being used for decision support, writes are occurring to it. The writes are typically in one of two forms, namely, administrative operations such as time stamping of data that is read, and writing of intermediate results which occur as part of carrying out the queries requested by the decision support functions. In other words, the decision support function causes the remote database to become unsynchronized with the local database (i.e., the original or active database) even if no new transactions are processed in the local database. If such a database system is being used, the decision support database will need to be rolled back to an earlier state before reconnection to and resynchronization with the active database can occur. That is, resynchronizing also requires that all changes to the remote database must be backed out to bring it to the state in which it was in at the instant that it was disconnected from the local database. This function can be readily accomplished again by using the transaction log, as is done in the Symmetrix 5XXX series of data storage systems. Referring to Fig. 6, before reconnecting to the source database, the transaction log is used to back out all changes that were written to the database (step 132) . Then, it is reconnected to the source (step 134) , and resynchronized with the active database (step 136) .
It should be understood that the decision support functions can also be performed by another process that is running on the same host as the process that is actively using the database. In other words, even though we have described the embodiments as utilizing at least two hosts, one for updating the database (e.g. performing OLTP) and the other for performing decision support, both functions could be performed by separate processes running on the same host. The advantage of using multiple hosts is that approach provides greater scalability than does the use of a single host processor. Nevertheless, the functions that were described above can be performed with multiple processes running on a single processor (e.g. an SMP or symmetric multiprocessor system
Other embodiments are within the following claims. For example, the remote mirroring capability can be used to generate mirror copies at multiple remote sites. And decision support functions can then be run at each of the multiple sites.
In addition, the support copy that is created in the manner described above can also be used to generate a backup copy. In that case, the support copy would be passed to an external storage device 11, such as a tape drive (see Fig. 1) . If the disconnected copy is inconsistent (i.e, if it is created without allowing the database to become quiet) then in addition to storing the support copy on the external storage device, one also stores the recovery log associated with that copy and with which the backup copy can be made consistent.
What is claimed is:

Claims

Claims :
1. A method of implementing decision support in an environment including a data storage system to which a plurality of host processors is connected, wherein said data storage system stores a database, said method comprising: through a selected one of said plurality of host processors, updating said database on an ongoing basis; and through a different one of said plurality of host processors, reading said database for the purpose of implementing decision support functions, wherein the updating and the reading of said database are allowed to take place concurrently without imposing any interhost locks on said database.
2. A method of implementing decision support in an environment including a data storage system and a plurality of host processors at least some of which are connected to the data storage system, wherein said data storage system stores a working database, said method comprising: through a selected one of said plurality of host processors, updating said working database on an ongoing basis; while said working database is being updated on an ongoing basis, generating a copy of said working database; using the copy of the database to generate a support copy of the database; and through a different one of said plurality of host processors, using said support copy for the purpose of implementing decision support functions.
3. The method of claim 2 wherein said first- mentioned copy is a snapshot of the contents of said working database taken at a time t0.
4. The method of claim 3 further comprising mirroring said working database to produce a mirror copy thereof, wherein said mirror copy is said first-mentioned copy and wherein the step of generating the support copy comprises: disconnecting the mirror copy from the working database at time t0; and generating the support copy from the disconnected mirror copy.
5. The method of claim 4 wherein the step of generating the support copy further comprises: shutting down the working database; and after the working database has become quiet, disconnecting the mirror copy from the working database.
6. The method of claim 4 wherein the step of generating the support copy from the disconnected copy comprises making the disconnected copy consistent.
7. The method of claim 6 further comprising the steps of: after using said support copy for decision support functions, reconnecting the support copy to the working database; and resynchronizing the support copy with the working copy so that it again becomes a mirror copy of the working database.
8. The method of claim 6 further comprising the steps of: after using said support copy for decision support functions, generating a modified support copy by backing out changes which have occurred to the support copy as a result of using it for decision support functions; reconnecting the modified support copy to the working database; and resynchronizing the modified support copy with the working copy so that it again becomes a mirror copy of the working database.
9. The method of claim 4 wherein the plurality of host processors includes a first host processor and a second host processor, wherein the first mentioned data storage system is a local data storage system which is connected to a remote data storage system through a data communications link, and wherein the first host processor is connected to the local data storage system and the second host processor is connected to the remote data storage system, said method further comprising: mirroring said working database to the remote data storage system to produce a remote database that is a mirror of said working database, wherein the step of mirroring is performed over the data communications link and wherein the updating and the mirroring take place concurrently so that changes made to the local database are recorded in the remote database on an ongoing basis, wherein said support copy is derived from said remote database and wherein second host processor uses said support copy for the purpose of implementing decision support functions.
10. The method of claim 9 further comprising: disconnecting the remote database copy from the working database; and generating the support copy from the disconnected mirror copy.
11. The method of claim 10 wherein the step of generating the support copy further comprises: shutting down the working database; and after the working database has become quiet, disconnecting the mirror copy from the working database.
12. The method of claim 10 wherein the step of generating the support copy from the disconnected copy comprises making the disconnected copy consistent.
13. The method of claim 11 further comprising the steps of: after using said support copy for decision support functions, reconnecting the support copy to the working database; and resynchronizing the support copy with the working copy so that it again becomes a mirror copy of the working database.
14. The method of claim 13 further comprising the steps of: after using said support copy for decision support functions, generating a modified support copy by backing out changes which have occurred to the support copy as a result of using it for decision support functions; reconnecting the modified support copy to the working database; and resynchronizing the modified support copy with the working copy so that it again becomes a mirror copy of the working database.
15. The method of claim 3 wherein the step of generating said first-mentioned copy comprises initiating a concurrent copy of said working database at time t0 to generate a local copy thereof, said local copy representing the value of the data within said working database at time t0, and wherein said updating and said concurrent copying take place concurrently and wherein said support copy is derived from said concurrent copy.
16. The method of claim 3 wherein the plurality of host processors includes a first host processor and a second host processor, wherein the first mentioned data storage system is a local data storage system which is connected to a remote data storage system through a data communications link, and wherein the first host processor is connected to the local data storage system and the second host processor is connected to the remote data storage system, said method further comprising: initiating a concurrent copy of said working database at time t0 to generate a remote copy thereof on said remote data storage system, said remote copy representing the value of the data within said working database at time t0, and wherein said updating and said concurrent copying take place concurrently, and wherein said support copy is derived from said remote copy; and through said second host processor, reading said support copy for the purpose of implementing decision support functions.
138842.B11
PCT/US1997/004366 1996-03-19 1997-03-19 Multi-host decision support system WO1997035269A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
AU23341/97A AU2334197A (en) 1996-03-19 1997-03-19 Multi-host decision support system
KR1019980707420A KR100674642B1 (en) 1996-03-19 1997-03-19 Multihost Decision Support System
EP97916074A EP0954807A4 (en) 1996-03-19 1997-03-19 Multi-host decision support system
JP53364697A JP3958795B2 (en) 1996-03-19 1997-03-19 Multi-host decision support system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/617,689 1996-03-19
US08/617,689 US5852715A (en) 1996-03-19 1996-03-19 System for currently updating database by one host and reading the database by different host for the purpose of implementing decision support functions

Publications (1)

Publication Number Publication Date
WO1997035269A1 true WO1997035269A1 (en) 1997-09-25

Family

ID=24474634

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1997/004366 WO1997035269A1 (en) 1996-03-19 1997-03-19 Multi-host decision support system

Country Status (6)

Country Link
US (2) US5852715A (en)
EP (1) EP0954807A4 (en)
JP (1) JP3958795B2 (en)
KR (1) KR100674642B1 (en)
AU (1) AU2334197A (en)
WO (1) WO1997035269A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1999050747A1 (en) * 1998-04-01 1999-10-07 Emc Corporation Method and apparatus for asynchronously updating a mirror of a source device
WO2001053945A2 (en) * 2000-01-19 2001-07-26 Storage Technology Corporation Method and apparatus for transferring data between a primary storage system and a secondary storage system using a bridge volume
EP1146440A2 (en) * 2000-04-11 2001-10-17 Hitachi, Ltd. Computer system with a plurality of database management systems
WO2004023308A1 (en) * 2002-08-29 2004-03-18 Fujitsu Limited Data extracting method and data extracting device
KR101137053B1 (en) * 2004-06-29 2012-04-19 마이크로소프트 코포레이션 Concurrent transactions and page synchronization
US8321721B2 (en) 2003-08-14 2012-11-27 Compellent Technologies Virtual disk drive system and method
US8332433B2 (en) 2010-10-18 2012-12-11 Verisign, Inc. Database synchronization and validation
US9489150B2 (en) 2003-08-14 2016-11-08 Dell International L.L.C. System and method for transferring data between different raid data storage types for current data and replay data

Families Citing this family (224)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
CA2201679A1 (en) 1996-04-15 1997-10-15 Raju C. Bopardikar Video data storage
GB2312319B (en) 1996-04-15 1998-12-09 Discreet Logic Inc Video storage
US5857208A (en) * 1996-05-31 1999-01-05 Emc Corporation Method and apparatus for performing point in time backup operation in a computer system
JPH10207754A (en) * 1997-01-16 1998-08-07 Fujitsu Ltd Duplication system for updating system data base
FI105870B (en) * 1997-03-21 2000-10-13 Nokia Networks Oy A method for preventing inconsistency between data in the master center and the backup center
US6081875A (en) * 1997-05-19 2000-06-27 Emc Corporation Apparatus and method for backup of a disk storage system
US7031987B2 (en) * 1997-05-30 2006-04-18 Oracle International Corporation Integrating tablespaces with different block sizes
US6122645A (en) * 1997-08-25 2000-09-19 Lucent Technologies, Inc. System and method for physically versioning data in a main memory database
DE69802294T2 (en) * 1997-08-29 2002-05-16 Hewlett Packard Co SYSTEMS FOR DATA BACKUP AND RECOVERY
US6223269B1 (en) * 1997-09-27 2001-04-24 Emc Corporation Stacked mapped storage system
US6341333B1 (en) * 1997-10-06 2002-01-22 Emc Corporation Method for transparent exchange of logical volumes in a disk array storage device
US6016536A (en) * 1997-11-13 2000-01-18 Ye-Te Wu Method for backing up the system files in a hard disk drive
US6078932A (en) * 1998-01-13 2000-06-20 International Business Machines Corporation Point-in-time backup utilizing multiple copy technologies
US6397229B1 (en) * 1998-02-02 2002-05-28 International Business Machines Corporation Storage-controller-managed outboard incremental backup/restore of data
US6901493B1 (en) * 1998-02-24 2005-05-31 Adaptec, Inc. Method for protecting data of a computer system
US6065018A (en) * 1998-03-04 2000-05-16 International Business Machines Corporation Synchronizing recovery log having time stamp to a remote site for disaster recovery of a primary database having related hierarchial and relational databases
US6631477B1 (en) * 1998-03-13 2003-10-07 Emc Corporation Host system for mass storage business continuance volumes
WO1999063441A1 (en) * 1998-06-05 1999-12-09 Mylex Corporation Snapshot backup strategy
US6883063B2 (en) 1998-06-30 2005-04-19 Emc Corporation Method and apparatus for initializing logical objects in a data storage system
US6393540B1 (en) 1998-06-30 2002-05-21 Emc Corporation Moving a logical object from a set of source locations to a set of destination locations using a single command
US6282602B1 (en) 1998-06-30 2001-08-28 Emc Corporation Method and apparatus for manipulating logical objects in a data storage system
US7383294B1 (en) 1998-06-30 2008-06-03 Emc Corporation System for determining the mapping of logical objects in a data storage system
US6542909B1 (en) * 1998-06-30 2003-04-01 Emc Corporation System for determining mapping of logical objects in a computer system
US7756986B2 (en) * 1998-06-30 2010-07-13 Emc Corporation Method and apparatus for providing data management for a storage system coupled to a network
US6253209B1 (en) * 1998-07-07 2001-06-26 International Business Machines Corporation Method for parallel, remote administration of mirrored and alternate volume groups in a distributed data processing system
US6195695B1 (en) * 1998-10-27 2001-02-27 International Business Machines Corporation Data processing system and method for recovering from system crashes
US6397125B1 (en) * 1998-12-18 2002-05-28 International Business Machines Corporation Method of and apparatus for performing design synchronization in a computer system
US6317805B1 (en) * 1998-12-18 2001-11-13 Emc Corporation Data transfer interface having protocol conversion device and upper, lower, middle machines: with middle machine arbitrating among lower machine side requesters including selective assembly/disassembly requests
KR100309803B1 (en) * 1998-12-26 2001-12-17 서평원 Database Synchronization System and Method between Network Management System and Managed Equipment
US6230217B1 (en) * 1998-12-30 2001-05-08 Raytheon Company Data storage system having a host computer coupled to bank of disk drives through interface comprising plurality of directors, buses, and a PCB connectors
US7107395B1 (en) * 1998-12-31 2006-09-12 Emc Corporation Apparatus and methods for operating a computer storage system
US6549988B1 (en) 1999-01-22 2003-04-15 Ilya Gertner Data storage system comprising a network of PCs and method using same
US8225002B2 (en) 1999-01-22 2012-07-17 Network Disk, Inc. Data storage and data sharing in a network of heterogeneous computers
US6826552B1 (en) * 1999-02-05 2004-11-30 Xfi Corporation Apparatus and methods for a computer aided decision-making system
US6513097B1 (en) * 1999-03-03 2003-01-28 International Business Machines Corporation Method and system for maintaining information about modified data in cache in a storage system for use during a system failure
US6643667B1 (en) 1999-03-19 2003-11-04 Hitachi, Ltd. System and method for replicating data
US6697960B1 (en) 1999-04-29 2004-02-24 Citibank, N.A. Method and system for recovering data to maintain business continuity
DE60043873D1 (en) * 1999-06-01 2010-04-08 Hitachi Ltd Method for data backup
US6463573B1 (en) * 1999-06-03 2002-10-08 International Business Machines Corporation Data processor storage systems with dynamic resynchronization of mirrored logical data volumes subsequent to a storage system failure
US6910053B1 (en) * 1999-06-18 2005-06-21 Sap Aktiengesellschaft Method for data maintenance in a network of partially replicated database systems
US6553401B1 (en) 1999-07-09 2003-04-22 Ncr Corporation System for implementing a high volume availability server cluster including both sharing volume of a mass storage on a local site and mirroring a shared volume on a remote site
US6453396B1 (en) * 1999-07-14 2002-09-17 Compaq Computer Corporation System, method and computer program product for hardware assisted backup for a computer mass storage system
US6493729B2 (en) * 1999-09-23 2002-12-10 International Business Machines Corporation Method and system to administer mirrored filesystems
US6421688B1 (en) * 1999-10-20 2002-07-16 Parallel Computers Technology, Inc. Method and apparatus for database fault tolerance with instant transaction replication using off-the-shelf database servers and low bandwidth networks
TW454120B (en) * 1999-11-11 2001-09-11 Miralink Corp Flexible remote data mirroring
US6931422B1 (en) * 1999-11-12 2005-08-16 International Business Machines Corporation Enhanced backup and recovery methodology
US6901582B1 (en) * 1999-11-24 2005-05-31 Quest Software, Inc. Monitoring system for monitoring the performance of an application
US6549992B1 (en) 1999-12-02 2003-04-15 Emc Corporation Computer data storage backup with tape overflow control of disk caching of backup data stream
US6618822B1 (en) * 2000-01-03 2003-09-09 Oracle International Corporation Method and mechanism for relational access of recovery logs in a database system
US6477628B1 (en) * 2000-01-28 2002-11-05 International Business Machines Corporation Backup copy achieving improved efficiency by waiting until rewind/unload command for bulk data copy
US6810396B1 (en) * 2000-03-09 2004-10-26 Emc Corporation Managed access of a backup storage system coupled to a network
US6643669B1 (en) * 2000-03-14 2003-11-04 Telefonaktiebolaget Lm Ericsson (Publ) Method for optimization of synchronization between a client's database and a server database
US8438594B1 (en) 2000-05-11 2013-05-07 Jlb Ventures Llc Method and system for 3-D enhanced advertising for TV broadcast of 2-D video
US7318107B1 (en) * 2000-06-30 2008-01-08 Intel Corporation System and method for automatic stream fail-over
US6938039B1 (en) 2000-06-30 2005-08-30 Emc Corporation Concurrent file across at a target file server during migration of file systems between file servers using a network file system access protocol
US6732125B1 (en) * 2000-09-08 2004-05-04 Storage Technology Corporation Self archiving log structured volume with intrinsic data protection
US6804819B1 (en) 2000-09-18 2004-10-12 Hewlett-Packard Development Company, L.P. Method, system, and computer program product for a data propagation platform and applications of same
US6708188B1 (en) 2000-09-19 2004-03-16 Bocada, Inc. Extensible method for obtaining an historical record of data backup activity (and errors) and converting same into a canonical format
US6640217B1 (en) 2000-09-19 2003-10-28 Bocada, Inc, Method for extracting and storing records of data backup activity from a plurality of backup devices
US6745210B1 (en) 2000-09-19 2004-06-01 Bocada, Inc. Method for visualizing data backup activity from a plurality of backup devices
WO2002025498A1 (en) * 2000-09-19 2002-03-28 Bocada, Inc. A method for visualizing data backup activity from a plurality of backup devices
US6823336B1 (en) 2000-09-26 2004-11-23 Emc Corporation Data storage system and method for uninterrupted read-only access to a consistent dataset by one host processor concurrent with read-write access by another host processor
US7334006B1 (en) * 2000-09-27 2008-02-19 Microsoft Corporation Off-line support for cumulative backups
US6631374B1 (en) * 2000-09-29 2003-10-07 Oracle Corp. System and method for providing fine-grained temporal database access
US6810491B1 (en) 2000-10-12 2004-10-26 Hitachi America, Ltd. Method and apparatus for the takeover of primary volume in multiple volume mirroring
US6854072B1 (en) 2000-10-17 2005-02-08 Continuous Computing Corporation High availability file server for providing transparent access to all data before and after component failover
US6499091B1 (en) * 2000-11-13 2002-12-24 Lsi Logic Corporation System and method for synchronizing data mirrored by storage subsystems
JP3823724B2 (en) * 2000-12-14 2006-09-20 日本電気株式会社 Three-dimensional aerial sightseeing improvement server, method thereof, and recording medium
US7260636B2 (en) 2000-12-22 2007-08-21 Emc Corporation Method and apparatus for preventing unauthorized access by a network device
US6868414B2 (en) * 2001-01-03 2005-03-15 International Business Machines Corporation Technique for serializing data structure updates and retrievals without requiring searchers to use locks
US6691139B2 (en) * 2001-01-31 2004-02-10 Hewlett-Packard Development Co., Ltd. Recreation of archives at a disaster recovery site
US6662281B2 (en) * 2001-01-31 2003-12-09 Hewlett-Packard Development Company, L.P. Redundant backup device
US6606690B2 (en) 2001-02-20 2003-08-12 Hewlett-Packard Development Company, L.P. System and method for accessing a storage area network as network attached storage
US6889228B1 (en) * 2001-03-29 2005-05-03 Network Appliance, Inc. Cascading support for mirrored volumes
JP3643084B2 (en) * 2001-03-30 2005-04-27 株式会社ソニー・コンピュータエンタテインメント Data monitoring system, method, computer program, and recording medium
GB2374749B (en) * 2001-04-20 2005-04-06 Discreet Logic Inc Image data processing
US6856992B2 (en) 2001-05-15 2005-02-15 Metatomix, Inc. Methods and apparatus for real-time business visibility using persistent schema-less data storage
US6925457B2 (en) 2001-07-27 2005-08-02 Metatomix, Inc. Methods and apparatus for querying a relational data store using schema-less queries
US7058637B2 (en) * 2001-05-15 2006-06-06 Metatomix, Inc. Methods and apparatus for enterprise application integration
US7890517B2 (en) * 2001-05-15 2011-02-15 Metatomix, Inc. Appliance for enterprise information integration and enterprise resource interoperability platform and methods
US7613806B2 (en) * 2001-06-28 2009-11-03 Emc Corporation System and method for managing replication sets of data distributed over one or more computer systems
GB2377284B (en) * 2001-07-02 2005-06-22 Sun Microsystems Inc Computer storage systems
US6968396B1 (en) 2001-07-26 2005-11-22 Openwave Systems Inc. Reloading of hypermedia pages by sending only changes
US6862671B1 (en) * 2001-08-06 2005-03-01 Lsi Logic Corporation System and method for optimizing establishment of mirrored data
WO2003017022A2 (en) * 2001-08-14 2003-02-27 Storeage Networking Technologies Asynchronous mirroring in a storage area network
US8606744B1 (en) 2001-09-28 2013-12-10 Oracle International Corporation Parallel transfer of data from one or more external sources into a database system
EP2503476A1 (en) * 2001-11-01 2012-09-26 Verisign, Inc. Method and system for updating a remote database
US6976139B2 (en) * 2001-11-14 2005-12-13 Emc Corporation Reversing a communication path between storage devices
US6862632B1 (en) * 2001-11-14 2005-03-01 Emc Corporation Dynamic RDF system for transferring initial data between source and destination volume wherein data maybe restored to either volume at same time other data is written
US20030140273A1 (en) * 2001-12-20 2003-07-24 Ajay Kamalvanshi Method and apparatus for fault tolerant persistency service on network device
US7152078B2 (en) * 2001-12-27 2006-12-19 Hitachi, Ltd. Systems, methods and computer program products for backup and restoring storage volumes in a storage area network
US7036043B2 (en) 2001-12-28 2006-04-25 Storage Technology Corporation Data management with virtual recovery mapping and backward moves
US6745303B2 (en) * 2002-01-03 2004-06-01 Hitachi, Ltd. Data synchronization of multiple remote storage
US7139932B2 (en) * 2002-01-03 2006-11-21 Hitachi, Ltd. Data synchronization of multiple remote storage after remote copy suspension
US7162596B2 (en) * 2002-01-11 2007-01-09 Hewlett-Packard Development Company, L.P. Remote mirrored disk pair resynchronization monitor
US7343585B1 (en) 2002-01-30 2008-03-11 Oracle International Corporation Operator approach for generic dataflow designs
US6826666B2 (en) * 2002-02-07 2004-11-30 Microsoft Corporation Method and system for transporting data content on a storage area network
US20030177306A1 (en) * 2002-03-14 2003-09-18 Cochran Robert Alan Track level snapshot
JP3898968B2 (en) * 2002-03-15 2007-03-28 インターナショナル・ビジネス・マシーンズ・コーポレーション Information recording method and information recording system
US7251713B1 (en) * 2002-03-18 2007-07-31 Xiotech Corporation System and method to transport data snapshots
US6795904B1 (en) * 2002-03-28 2004-09-21 Hewlett-Packard Development Company, L.P. System and method for improving performance of a data backup operation
US7464138B2 (en) * 2002-03-29 2008-12-09 International Business Machines Corporation Mirror queue in a shared queue environment
US6993635B1 (en) * 2002-03-29 2006-01-31 Intransa, Inc. Synchronizing a distributed mirror
AU2003241292A1 (en) * 2002-04-11 2003-10-27 Linuxcare, Inc. Managing multiple virtual machines
US7778958B2 (en) * 2002-04-11 2010-08-17 Quantum Corporation Recovery of data on a primary data volume
US7024420B2 (en) * 2002-04-30 2006-04-04 Bmc Software, Inc. Run-time access techniques for database images
US20030208511A1 (en) * 2002-05-02 2003-11-06 Earl Leroy D. Database replication system
US7043491B1 (en) 2002-05-08 2006-05-09 Oracle International Corporation Partition exchange technique for operating a data warehousing system
US7020656B1 (en) 2002-05-08 2006-03-28 Oracle International Corporation Partition exchange loading technique for fast addition of data to a data warehousing system
US7546364B2 (en) * 2002-05-16 2009-06-09 Emc Corporation Replication of remote copy data for internet protocol (IP) transmission
US6993676B2 (en) * 2002-06-12 2006-01-31 Sun Microsystems, Inc. Method and apparatus for fast initialization of redundant arrays of storage devices
US7379978B2 (en) * 2002-07-19 2008-05-27 Fiserv Incorporated Electronic item management and archival system and method of operating the same
US20050144189A1 (en) * 2002-07-19 2005-06-30 Keay Edwards Electronic item management and archival system and method of operating the same
US7389313B1 (en) * 2002-08-07 2008-06-17 Symantec Operating Corporation System and method for creating a snapshot copy of a database
US7024528B2 (en) * 2002-08-21 2006-04-04 Emc Corporation Storage automated replication processing
US20050160087A1 (en) * 2002-08-29 2005-07-21 Fujitsu Limited Data extractor and method of data extraction
CA2501847A1 (en) 2002-10-07 2004-04-22 Metatomix, Inc Methods and apparatus for identifying related nodes in a directed graph having named arcs
US7200625B2 (en) * 2002-10-18 2007-04-03 Taiwan Semiconductor Manufacturing Co., Ltd. System and method to enhance availability of a relational database
WO2004037994A2 (en) * 2002-10-22 2004-05-06 University Of Utah Research Foundation Managing biological databases
US7707188B2 (en) * 2002-12-20 2010-04-27 Schlumberger Technology Corporation System and method for electronic archival and retrieval of data
US20050004886A1 (en) * 2003-05-07 2005-01-06 Nathaniel Stahl Detection and reporting of computer viruses
US7302536B2 (en) * 2003-06-17 2007-11-27 Hitachi, Ltd. Method and apparatus for managing replication volumes
US7467168B2 (en) * 2003-06-18 2008-12-16 International Business Machines Corporation Method for mirroring data at storage locations
US7275177B2 (en) * 2003-06-25 2007-09-25 Emc Corporation Data recovery with internet protocol replication with or without full resync
US7567991B2 (en) * 2003-06-25 2009-07-28 Emc Corporation Replication of snapshot using a file system copy differential
EP1690210A2 (en) 2003-07-07 2006-08-16 Metatomix, Inc. Surveillance, monitoring and real-time events platform
US20050010663A1 (en) * 2003-07-11 2005-01-13 Tatman Lance A. Systems and methods for physical location self-awareness in network connected devices
US7243088B2 (en) * 2003-08-06 2007-07-10 Oracle International Corporation Database management system with efficient version control
US7873684B2 (en) * 2003-08-14 2011-01-18 Oracle International Corporation Automatic and dynamic provisioning of databases
US20050091286A1 (en) * 2003-09-12 2005-04-28 Adam Fineberg Tracking and replicating file system changes
US7415405B2 (en) * 2003-09-18 2008-08-19 International Business Machines Corporation Database script translation tool
US7035881B2 (en) * 2003-09-23 2006-04-25 Emc Corporation Organization of read-write snapshot copies in a data storage system
US7269588B1 (en) 2003-09-24 2007-09-11 Oracle International Corporation Neighborhood locking technique for increasing concurrency among transactions
US7346805B1 (en) * 2003-09-29 2008-03-18 Emc Corporation Protection of mirrored data
US7831550B1 (en) * 2003-09-30 2010-11-09 Symantec Operating Corporation Propagating results of a volume-changing operation to replicated nodes
US7555481B1 (en) 2003-10-28 2009-06-30 Oracle Corporation Method and apparatus for increasing transaction concurrency by early release of locks in groups
US7496723B1 (en) * 2003-12-15 2009-02-24 Symantec Operating Corporation Server-free archival of backup data
US20050154786A1 (en) * 2004-01-09 2005-07-14 International Business Machines Corporation Ordering updates in remote copying of data
US7478211B2 (en) * 2004-01-09 2009-01-13 International Business Machines Corporation Maintaining consistency for remote copy using virtualization
US7383463B2 (en) * 2004-02-04 2008-06-03 Emc Corporation Internet protocol based disaster recovery of a server
US20050177693A1 (en) * 2004-02-10 2005-08-11 Storeage Networking Technologies Asynchronous mirroring in a storage area network
US8311974B2 (en) 2004-02-20 2012-11-13 Oracle International Corporation Modularized extraction, transformation, and loading for a database
JP2005275812A (en) * 2004-03-24 2005-10-06 Canon Inc Information processor and control method thereof, control program and storage medium
US8554806B2 (en) 2004-05-14 2013-10-08 Oracle International Corporation Cross platform transportable tablespaces
US7571173B2 (en) 2004-05-14 2009-08-04 Oracle International Corporation Cross-platform transportable database
US8275951B2 (en) * 2004-06-10 2012-09-25 Hewlett-Packard Development Company, L.P. Local bitmaps for an array of redundant storage devices
JP2006004031A (en) * 2004-06-16 2006-01-05 Hitachi Ltd Data processing method, system, storage device method, and its processing program
US7797483B1 (en) * 2004-06-23 2010-09-14 Emc Corporation Write interceptor for tracking changes to disk image
US8229893B2 (en) * 2010-02-01 2012-07-24 Hitachi Data Systems Corporation Metadata management for fixed content distributed data storage
US7415470B2 (en) * 2004-08-12 2008-08-19 Oracle International Corporation Capturing and re-creating the state of a queue when migrating a session
US7502824B2 (en) * 2004-08-12 2009-03-10 Oracle International Corporation Database shutdown with session migration
US7299376B2 (en) * 2004-08-25 2007-11-20 International Business Machines Corporation Apparatus, system, and method for verifying backup data
JP4489550B2 (en) * 2004-09-30 2010-06-23 株式会社日立製作所 Backup data creation management method
US7739244B2 (en) * 2004-10-14 2010-06-15 Oracle International Corporation Operating logging for online recovery in shared memory information systems
JP4887618B2 (en) * 2004-11-19 2012-02-29 日本電気株式会社 Storage system, replication method and program thereof
US20060143028A1 (en) * 2004-12-23 2006-06-29 Jorn Altmann Network analysis system and method using business value
US20060143026A1 (en) * 2004-12-23 2006-06-29 Srinivasan Jagannathan Network usage analysis system using cost structure and revenue and method
US20060140369A1 (en) * 2004-12-23 2006-06-29 Jorn Altmann Network usage analysis system using revenue from customers in allocating reduced link capacity and method
US20060141983A1 (en) * 2004-12-23 2006-06-29 Srinivasan Jagannathan Network usage analysis system using customer and pricing information to maximize revenue and method
US20060143412A1 (en) * 2004-12-28 2006-06-29 Philippe Armangau Snapshot copy facility maintaining read performance and write performance
US7210060B2 (en) * 2004-12-30 2007-04-24 Emc Corporation Systems and methods for restoring data
US7526514B2 (en) * 2004-12-30 2009-04-28 Emc Corporation Systems and methods for dynamic data backup
US9176772B2 (en) * 2005-02-11 2015-11-03 Oracle International Corporation Suspending and resuming of sessions
US20060235863A1 (en) * 2005-04-14 2006-10-19 Akmal Khan Enterprise computer management
US7672979B1 (en) * 2005-04-22 2010-03-02 Symantec Operating Corporation Backup and restore techniques using inconsistent state indicators
US8103632B2 (en) 2005-04-22 2012-01-24 Microsoft Corporation Self-contained partial database backups
CN1869932A (en) * 2005-05-24 2006-11-29 中国银联股份有限公司 Computer processing system for implementing data update and data update method
US7610314B2 (en) * 2005-10-07 2009-10-27 Oracle International Corporation Online tablespace recovery for export
US7433902B2 (en) * 2005-11-15 2008-10-07 International Business Machines Corporation Non-disruptive backup copy in a database online reorganization environment
US7882079B2 (en) * 2005-11-30 2011-02-01 Oracle International Corporation Database system configured for automatic failover with user-limited data loss
US8056076B1 (en) 2006-03-31 2011-11-08 Vmware, Inc. Method and system for acquiring a quiesceing set of information associated with a virtual machine
US8151263B1 (en) 2006-03-31 2012-04-03 Vmware, Inc. Real time cloning of a virtual machine
US7376805B2 (en) * 2006-04-21 2008-05-20 Hewlett-Packard Development Company, L.P. Distributed storage array
US7979245B1 (en) 2006-05-17 2011-07-12 Quest Software, Inc. Model-based systems and methods for monitoring computing resource performance
JP4741976B2 (en) * 2006-05-17 2011-08-10 日本電気株式会社 Disk array device and data management method
US8190571B2 (en) 2006-06-07 2012-05-29 Microsoft Corporation Managing data with backup server indexing
US10339532B2 (en) * 2006-08-10 2019-07-02 Medcom Solutions, Inc. System and method for uniformly pricing items
US7680843B1 (en) 2006-09-26 2010-03-16 Symantec Operating Corporation Method and system to offload archiving process to a secondary system
US7979494B1 (en) 2006-11-03 2011-07-12 Quest Software, Inc. Systems and methods for monitoring messaging systems
US8909599B2 (en) * 2006-11-16 2014-12-09 Oracle International Corporation Efficient migration of binary XML across databases
US7917713B2 (en) * 2006-12-20 2011-03-29 International Business Machines Corporation Optimized data migration with a support processor
US7793148B2 (en) * 2007-01-12 2010-09-07 International Business Machines Corporation Using virtual copies in a failover and failback environment
US8832163B1 (en) 2007-09-14 2014-09-09 Emc Corporation Techniques for determining logical data objects corresponding to physical storage locations
US7882073B1 (en) * 2007-09-28 2011-02-01 Symantec Operating Corporation Backup agent for dynamically decomposing a database backup request to constituent files to facilitate backup restartability
US10572188B2 (en) * 2008-01-12 2020-02-25 Hewlett Packard Enterprise Development Lp Server-embedded distributed storage system
US8175863B1 (en) 2008-02-13 2012-05-08 Quest Software, Inc. Systems and methods for analyzing performance of virtual environments
JP5422147B2 (en) * 2008-07-08 2014-02-19 株式会社日立製作所 Remote copy system and remote copy method
US10481878B2 (en) * 2008-10-09 2019-11-19 Objectstore, Inc. User interface apparatus and methods
JP5002636B2 (en) * 2009-10-13 2012-08-15 株式会社日立製作所 Data processing apparatus and database management method
US8560575B2 (en) 2009-11-12 2013-10-15 Salesforce.Com, Inc. Methods and apparatus for selecting updates to associated records to publish on an information feed in an on-demand database service environment
WO2011060306A2 (en) * 2009-11-12 2011-05-19 Salesforce.Com, Inc. Enterprise level business information networking for changes in a database
US20110231602A1 (en) * 2010-03-19 2011-09-22 Harold Woods Non-disruptive disk ownership change in distributed storage systems
US8311986B2 (en) * 2010-09-16 2012-11-13 Mimosa Systems, Inc. Determining database record content changes
US8560554B2 (en) 2010-09-23 2013-10-15 Salesforce.Com, Inc. Methods and apparatus for selecting updates to associated records to publish on an information feed using importance weights in an on-demand database service environment
US20120101985A1 (en) 2010-10-25 2012-04-26 Salesforce.Com, Inc. Triggering actions in an information feed system
US8782007B1 (en) * 2010-12-31 2014-07-15 Emc Corporation Efficient data movement
US8799393B1 (en) 2010-12-31 2014-08-05 Emc Corporation Dynamic data movement
US9215142B1 (en) 2011-04-20 2015-12-15 Dell Software Inc. Community analysis of computing performance
US9443225B2 (en) 2011-07-18 2016-09-13 Salesforce.Com, Inc. Computer implemented methods and apparatus for presentation of feed items in an information feed to be displayed on a display device
US9589070B2 (en) 2011-10-10 2017-03-07 Salesforce.Com, Inc. Method and system for updating a filter logic expression representing a boolean filter
WO2013136371A1 (en) * 2012-03-15 2013-09-19 Hitachi, Ltd. Storage system and data management method
US9916592B2 (en) 2012-05-18 2018-03-13 Oracle International Corporation Method and system for implementing implicit follow and automatic unfollow
US20130339784A1 (en) * 2012-06-15 2013-12-19 International Business Machines Corporation Error recovery in redundant storage systems
US10333820B1 (en) 2012-10-23 2019-06-25 Quest Software Inc. System for inferring dependencies among computing systems
US9557879B1 (en) 2012-10-23 2017-01-31 Dell Software Inc. System for inferring dependencies among computing systems
US9244811B1 (en) * 2013-12-20 2016-01-26 Emc Corporation System and method for smart framework for network backup software debugging
US11005738B1 (en) 2014-04-09 2021-05-11 Quest Software Inc. System and method for end-to-end response-time analysis
US9479414B1 (en) 2014-05-30 2016-10-25 Dell Software Inc. System and method for analyzing computing performance
US9514013B2 (en) 2014-06-27 2016-12-06 International Business Machines Corporation Maintaining inactive copy relationships for secondary storages of active copy relationships having a common primary storage for use in case of a failure of the common primary storage
US10291493B1 (en) 2014-12-05 2019-05-14 Quest Software Inc. System and method for determining relevant computer performance events
US9274758B1 (en) 2015-01-28 2016-03-01 Dell Software Inc. System and method for creating customized performance-monitoring applications
US9996577B1 (en) 2015-02-11 2018-06-12 Quest Software Inc. Systems and methods for graphically filtering code call trees
US10187260B1 (en) 2015-05-29 2019-01-22 Quest Software Inc. Systems and methods for multilayer monitoring of network function virtualization architectures
US9921764B2 (en) 2015-06-30 2018-03-20 International Business Machines Corporation Using inactive copy relationships to resynchronize data between storages
US9727243B2 (en) 2015-06-30 2017-08-08 International Business Machines Corporation Using inactive copy relationships to resynchronize data between storages
US10200252B1 (en) 2015-09-18 2019-02-05 Quest Software Inc. Systems and methods for integrated modeling of monitored virtual desktop infrastructure systems
US10382544B2 (en) 2016-04-08 2019-08-13 International Business Machines Corporation Establishing reverse paths between servers in a copy environment
US10230601B1 (en) 2016-07-05 2019-03-12 Quest Software Inc. Systems and methods for integrated modeling and performance measurements of monitored virtual desktop infrastructure systems
US10769034B2 (en) * 2017-03-07 2020-09-08 Sap Se Caching DML statement context during asynchronous database system replication
US11887170B1 (en) 2018-07-11 2024-01-30 Medcom Solutions, Inc. Medical procedure charge restructuring tools and techniques
US10963353B2 (en) 2018-10-23 2021-03-30 Capital One Services, Llc Systems and methods for cross-regional back up of distributed databases on a cloud service
US11169974B1 (en) * 2020-05-08 2021-11-09 Sap Se Database setup using a master copy
CN113590049B (en) * 2021-09-28 2021-12-31 苏州浪潮智能科技有限公司 Storage volume cross-node cloning method, device, equipment and readable medium

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5495606A (en) * 1993-11-04 1996-02-27 International Business Machines Corporation System for parallel processing of complex read-only database queries using master and slave central processor complexes
US5592660A (en) * 1991-03-04 1997-01-07 Fujitsu Limited Database management system to alternately perform retrieval process and updating process

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0219963A (en) * 1988-07-08 1990-01-23 Hitachi Ltd Method and system for monitoring real time state
JPH02224060A (en) * 1989-02-27 1990-09-06 Hitachi Ltd Real time decision making supporting system
US5276867A (en) * 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data storage system with improved data migration
US5276860A (en) * 1989-12-19 1994-01-04 Epoch Systems, Inc. Digital data processor with improved backup storage
US5544347A (en) * 1990-09-24 1996-08-06 Emc Corporation Data storage system controlled remote data mirroring with respectively maintained data indices
US5212784A (en) * 1990-10-22 1993-05-18 Delphi Data, A Division Of Sparks Industries, Inc. Automated concurrent data backup system
JPH05324713A (en) * 1992-05-20 1993-12-07 Hitachi Ltd Method and system for natural language processing
JPH0689218A (en) * 1992-09-08 1994-03-29 Hitachi Ltd Backup system for multiplex writing volume
US5497483A (en) * 1992-09-23 1996-03-05 International Business Machines Corporation Method and system for track transfer control during concurrent copy operations in a data processing storage subsystem
GB2273180A (en) * 1992-12-02 1994-06-08 Ibm Database backup and recovery.
US5495601A (en) * 1992-12-11 1996-02-27 International Business Machines Corporation Method to off-load host-based DBMS predicate evaluation to a disk controller
US5581750A (en) * 1993-03-15 1996-12-03 International Business Machines Corporation System and method for improving data recovery performance
US5642496A (en) * 1993-09-23 1997-06-24 Kanfi; Arnon Method of making a backup copy of a memory over a plurality of copying sessions
JPH07210439A (en) * 1993-12-03 1995-08-11 Hitachi Ltd Storage device
US5799323A (en) * 1995-01-24 1998-08-25 Tandem Computers, Inc. Remote duplicate databased facility with triple contingency protection
US5740433A (en) * 1995-01-24 1998-04-14 Tandem Computers, Inc. Remote duplicate database facility with improved throughput and fault tolerance
US5857208A (en) * 1996-05-31 1999-01-05 Emc Corporation Method and apparatus for performing point in time backup operation in a computer system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5592660A (en) * 1991-03-04 1997-01-07 Fujitsu Limited Database management system to alternately perform retrieval process and updating process
US5495606A (en) * 1993-11-04 1996-02-27 International Business Machines Corporation System for parallel processing of complex read-only database queries using master and slave central processor complexes

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
DBMS, Vol. 8, No. 3, p54(4), KOOP PEGGY, "Replication at Work", issued March 1995. *
DIAS ET AL.: "Research issues on Data Engineering, 1992: Transactions and Query Processing", 2 February 1992, SECOND INTERNATIONAL WORKSHOP, article "An Intelligent Page Store for Concurrent Transaction and Query Processing"
See also references of EP0954807A4

Cited By (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003517652A (en) * 1998-04-01 2003-05-27 イーエムシー コーポレーション Apparatus and method for asynchronously updating mirroring of a source device
US6157991A (en) * 1998-04-01 2000-12-05 Emc Corporation Method and apparatus for asynchronously updating a mirror of a source device
GB2353122A (en) * 1998-04-01 2001-02-14 Emc Corp Method and apparatus for asynchronously updating a mirror of a source device
WO1999050747A1 (en) * 1998-04-01 1999-10-07 Emc Corporation Method and apparatus for asynchronously updating a mirror of a source device
GB2353122B (en) * 1998-04-01 2002-10-16 Emc Corp Method and apparatus for asynchronously updating a mirror of a source device
WO2001053945A2 (en) * 2000-01-19 2001-07-26 Storage Technology Corporation Method and apparatus for transferring data between a primary storage system and a secondary storage system using a bridge volume
WO2001053945A3 (en) * 2000-01-19 2002-03-07 Storage Technology Corp Method and apparatus for transferring data between a primary storage system and a secondary storage system using a bridge volume
US6535967B1 (en) 2000-01-19 2003-03-18 Storage Technology Corporation Method and apparatus for transferring data between a primary storage system and a secondary storage system using a bridge volume
EP1146440A3 (en) * 2000-04-11 2005-06-22 Hitachi, Ltd. Computer system with a plurality of database management systems
US7162503B2 (en) 2000-04-11 2007-01-09 Hitachi, Ltd. Computer system with plurality of database management systems
EP1146440A2 (en) * 2000-04-11 2001-10-17 Hitachi, Ltd. Computer system with a plurality of database management systems
WO2004023308A1 (en) * 2002-08-29 2004-03-18 Fujitsu Limited Data extracting method and data extracting device
US9047216B2 (en) 2003-08-14 2015-06-02 Compellent Technologies Virtual disk drive system and method
US8321721B2 (en) 2003-08-14 2012-11-27 Compellent Technologies Virtual disk drive system and method
US10067712B2 (en) 2003-08-14 2018-09-04 Dell International L.L.C. Virtual disk drive system and method
US8473776B2 (en) 2003-08-14 2013-06-25 Compellent Technologies Virtual disk drive system and method
US8555108B2 (en) 2003-08-14 2013-10-08 Compellent Technologies Virtual disk drive system and method
US8560880B2 (en) 2003-08-14 2013-10-15 Compellent Technologies Virtual disk drive system and method
US9489150B2 (en) 2003-08-14 2016-11-08 Dell International L.L.C. System and method for transferring data between different raid data storage types for current data and replay data
US9436390B2 (en) 2003-08-14 2016-09-06 Dell International L.L.C. Virtual disk drive system and method
US9021295B2 (en) 2003-08-14 2015-04-28 Compellent Technologies Virtual disk drive system and method
KR101137053B1 (en) * 2004-06-29 2012-04-19 마이크로소프트 코포레이션 Concurrent transactions and page synchronization
US8762331B2 (en) 2004-06-29 2014-06-24 Microsoft Corporation Concurrent transactions and page synchronization
US8838531B2 (en) 2010-10-18 2014-09-16 Verisign, Inc. Database synchronization and validation
US8332433B2 (en) 2010-10-18 2012-12-11 Verisign, Inc. Database synchronization and validation

Also Published As

Publication number Publication date
US5852715A (en) 1998-12-22
AU2334197A (en) 1997-10-10
EP0954807A4 (en) 2003-06-04
EP0954807A1 (en) 1999-11-10
KR100674642B1 (en) 2007-06-04
KR20000064698A (en) 2000-11-06
JP3958795B2 (en) 2007-08-15
JP2000507014A (en) 2000-06-06
US6035412A (en) 2000-03-07

Similar Documents

Publication Publication Date Title
US5852715A (en) System for currently updating database by one host and reading the database by different host for the purpose of implementing decision support functions
US6959369B1 (en) Method, system, and program for data backup
US5193162A (en) Cache memory with data compaction for use in the audit trail of a data processing system having record locking capabilities
US7921273B2 (en) Method, system, and article of manufacture for remote copying of data
US7577788B2 (en) Disk array apparatus and disk array apparatus control method
JP3149325B2 (en) Method and associated system for forming a consistency group to provide disaster recovery functionality
US7610318B2 (en) Autonomic infrastructure enablement for point in time copy consistency
US8005800B2 (en) Data storage system for fast reverse restore
US20040236983A1 (en) Method, apparatus and program storage device for maintaining data consistency and cache coherency during communications failures between nodes in a remote mirror pair
US7921080B2 (en) System and method for a backup parallel server data storage system
EP0902923B1 (en) Method for independent and simultaneous access to a common data set
US7124128B2 (en) Method, system, and program for managing requests to tracks subject to a relationship
EP0566964B1 (en) Method and system for sidefile status polling in a time zero backup copy process
US7111137B2 (en) Data storage systems and processes, such as one-way data mirror using write mirroring
US8166094B2 (en) Coordinated quiesce of a distributed file system
KR100450400B1 (en) A High Avaliability Structure of MMDBMS for Diskless Environment and data synchronization control method thereof
US7133983B2 (en) Method, system, and program for asynchronous copy
KR19980024086A (en) Computer system and file management methods
US7146526B2 (en) Data I/O system using a plurality of mirror volumes
Lin et al. A survey of distributed database checkpointing
Bhide et al. An efficient scheme for providing high availability
Riedel et al. When local becomes global: An application study of data consistency in a networked world
Bertrand Examining Hitachi Copy-on-Write Snapshot Software Capabilities

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE HU IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG US UZ VN

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH KE LS MW SD SZ UG AM AZ BY KG KZ MD RU TJ TM AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1019980707420

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 1997916074

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

NENP Non-entry into the national phase

Ref country code: CA

WWP Wipo information: published in national office

Ref document number: 1997916074

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1019980707420

Country of ref document: KR

WWR Wipo information: refused in national office

Ref document number: 1019980707420

Country of ref document: KR