US8914666B2 - Remote data mirroring system - Google Patents

Remote data mirroring system Download PDF

Info

Publication number
US8914666B2
US8914666B2 US13/151,289 US201113151289A US8914666B2 US 8914666 B2 US8914666 B2 US 8914666B2 US 201113151289 A US201113151289 A US 201113151289A US 8914666 B2 US8914666 B2 US 8914666B2
Authority
US
United States
Prior art keywords
data
disaster
records
storage unit
storage device
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
US13/151,289
Other versions
US20110231366A1 (en
Inventor
Alex Winokur
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Axxana Israel Ltd
Original Assignee
Axxana Israel Ltd
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
Priority claimed from PCT/IL2006/000453 external-priority patent/WO2006111958A2/en
Application filed by Axxana Israel Ltd filed Critical Axxana Israel Ltd
Priority to US13/151,289 priority Critical patent/US8914666B2/en
Assigned to AXXANA (ISRAEL) LTD. reassignment AXXANA (ISRAEL) LTD. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: WINOKUR, ALEX
Publication of US20110231366A1 publication Critical patent/US20110231366A1/en
Priority to US13/948,179 priority patent/US9195397B2/en
Application granted granted Critical
Publication of US8914666B2 publication Critical patent/US8914666B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1441Resetting or repowering
    • 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/2071Error 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 using a plurality of controllers
    • G06F11/2074Asynchronous techniques
    • 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/2002Error 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 interconnections or communication control functionality are redundant
    • G06F11/2012Error 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 interconnections or communication control functionality are redundant and using different communication protocols

Definitions

  • the present invention relates generally to data protection systems, and particularly to methods and systems for protecting mirrored data against disaster events using disaster-proof temporary storage devices.
  • SRDF Symmetrix Remote Data Facility
  • IBM Corporation offers a number of business continuity solutions, including mirroring products. Further details regarding these products are available at www-03.ibm.com/servers/storage/solutions/business_continuity.
  • Some known data protection applications use synchronous mirroring methods, in which a transaction is considered complete only after both primary and secondary storage devices successfully store the data. This requirement introduces significant latency into the transaction, in particular when the secondary site is located far away from the primary site. In some cases, the maximum tolerable latency limits the maximum separation between the primary and secondary sites.
  • asynchronous mirroring methods In order to reduce the transaction latency and enable large separation between the primary and secondary sites, some known data protection applications use asynchronous mirroring methods, in which the transaction is acknowledged as soon as the data is successfully stored in the primary storage device. The interaction with the secondary storage device may be continued in parallel.
  • asynchronous mirroring does not provide guaranteed storage of the data in the secondary storage device, and in some cases data may be lost in the event of disaster.
  • embodiments of the present invention provide improved methods and systems for data protection.
  • the methods, systems and devices described hereinbelow enable guaranteed low latency data mirroring at both primary and secondary storage devices, regardless of the latency and/or separation between the storage devices.
  • the data to be protected may be received from one or more data sources, such as information technology (IT), telephony, security and surveillance systems.
  • IT information technology
  • data is sent for storage in primary and secondary storage devices.
  • a record related to the data is temporarily cached in a secure storage device until the data is successfully stored in the secondary storage device.
  • the secure storage device is constructed so as to withstand disaster events while protecting the cached data.
  • a storage device is considered to be “disaster-proof” if it is designed so that the data it stores will, with high probability, remain intact and fully recoverable even under conditions typical of disaster events, such as the events listed above and similar events. Such conditions may cause destruction of computer equipment or data stored in such equipment in proximity to the storage device.
  • the secure storage device is recovered and the records cached in it are used to reconstruct the data in the secondary storage devices.
  • the data protection system uses one or more environmental sensors for early detection of a developing or approaching disaster event. Methods for further improving data protection using early disaster detection are described hereinbelow.
  • a method for data protection including:
  • temporarily storing the record includes sending an acknowledgement to the one or more data sources responsively to a successful caching of the record in the disaster-proof storage unit, without waiting to receive the indication of the successful storage of the data in the secondary storage device, so as to reduce a transaction latency associated with the storage of the data.
  • temporarily storing the record includes receiving an acknowledgement from the secondary storage device acknowledging the successful storage of the data in the secondary storage device, and deleting the record from the disaster-proof storage unit responsively to the acknowledgement.
  • reconstructing the data includes retrieving the disaster-proof storage unit following the event, extracting the record from the disaster-proof storage unit and writing the data associated with the record to the secondary storage device.
  • Writing the data may include remotely connecting the disaster-proof storage unit to the secondary storage device.
  • the disaster-proof storage unit includes a removable memory device for holding the record, and reconstructing the data includes, when the disaster-proof storage unit is damaged by the event, removing the memory device from the disaster-proof storage unit and installing the memory device in another unit for readout of the record.
  • the method includes detecting the event using a detection mechanism in the disaster-proof storage unit, and modifying operation of the disaster-proof storage unit responsively to detecting the event.
  • Detecting the event may include detecting at least one of a loss of external electrical power supply and a communication failure at the disaster-proof storage unit.
  • modifying the operation includes transmitting the record from the disaster-proof storage unit over a wireless communication link.
  • temporarily storing the record includes storing the record in two or more disaster-proof storage units, and transmitting the record includes transmitting two or more different parts of the record respectively from the two or more disaster-proof storage units over respective wireless links so as to shorten a transmission time of the record.
  • modifying the operation includes transmitting a homing signal from the disaster-proof storage unit, so as to enable location and retrieval of the disaster-proof storage unit.
  • reconstructing the data includes:
  • Sensing the environmental condition may include accepting a manual indication from a user that indicates the event.
  • temporarily storing the record includes sending an acknowledgement message responsively to a successful storage of the record in the disaster-proof storage unit, and, after predicting the event, refraining from sending subsequent acknowledgement messages so as to avoid accepting additional data from the one or more data sources.
  • the method includes refraining from sending subsequent data for storage in the primary storage device. Additionally or alternatively, after predicting the event, the method includes temporarily storing in the disaster-proof storage unit only subsequent records associated with data originating from a subset of the one or more data sources.
  • temporarily storing the record includes avoiding exceeding a memory capacity in the disaster-proof storage unit by matching the memory capacity with at least one of a maximum allowed size of data pending for acknowledgement by the secondary storage device and a maximum number of write commands pending for storage in the secondary storage device.
  • temporarily storing the record includes including in the record additional information related to the data, the additional information includes at least one of an address of an originating data source, an address of the primary storage device, a time stamp indicating an acceptance time of the data and a storage address intended for the data in the primary storage device.
  • a method for data protection including:
  • the at least part of the data that is relevant to investigation of disaster events includes at least one of surveillance images, access control information and data originating from a telephony system. Additionally or alternatively, the at least part of the data that is relevant to investigation of disaster events includes data accepted at a time immediately preceding an occurrence of the event.
  • a method for data protection including:
  • a method for data protection including:
  • a system for data protection including:
  • one or more data sources which are arranged to send data for storage
  • a disaster-proof storage unit adjacent to the primary storage device, which is arranged to temporarily store a record associated with the data while awaiting an indication of a successful storage of the data in the secondary storage device, and when an event damaging at least some of the data in the primary storage device occurs, to provide the record so as to enable reconstruction of the data using the record stored in the disaster-proof storage unit and at least part of the data stored in the secondary storage device.
  • the system includes:
  • an environmental sensor which is arranged to sense an environmental condition in a vicinity of the primary storage device
  • a processor which is arranged to predict the event responsively to the sensed environmental condition and, after predicting the event, to instruct the disaster-proof storage unit to transmit the record using at least one of a wired connection and a wireless connection.
  • apparatus for protecting data sent for storage in primary and secondary storage devices including:
  • a disaster-proof storage unit which includes:
  • a disaster-proof enclosure which is arranged to protect components contained therein against disaster events
  • a memory device contained in the enclosure, which is arranged to temporarily hold a record associated with the data while awaiting an indication of successful storage of the data in the secondary storage device;
  • control unit which is arranged, when an event damaging at least some of the data in the primary storage device occurs, to provide the record so as to enable reconstruction of the data using the record stored in the memory device and at least part of the data stored in the secondary storage device;
  • a sensor which is arranged to sense an environmental condition in a vicinity of the primary storage device
  • a protection processor which is arranged to predict the event responsively to the sensed environmental condition and, responsively to predicting the event, to instruct the disaster-proof storage unit to transmit the record so as to protect the data.
  • a computer software product for data protection including a computer-readable medium, in which program instructions are stored, which instructions, when read by a computer, cause the computer to accept data from one or more data sources sent for storage in primary and secondary storage devices, and to temporarily store a record associated with the data in a disaster-proof storage unit adjacent to the primary storage device, while awaiting an indication of successful storage of the data in the secondary storage device.
  • FIGS. 1A-1C are block diagrams that schematically illustrate systems for data protection, in accordance with embodiments of the present invention.
  • FIG. 2 is a block diagram that schematically illustrates a secure storage unit, in accordance with an embodiment of the present invention
  • FIG. 3 is a schematic, pictorial illustration of a secure storage unit, in accordance with an embodiment of the present invention.
  • FIGS. 4 and 5 are flow charts that schematically illustrate methods for data protection, in accordance with embodiments of the present invention.
  • a mirroring application accepts a write command from a requesting application.
  • the command typically comprises a storage instruction indicating data to be stored and the memory location in which to store it.
  • the mirroring application issues write commands to both the primary and secondary storage devices.
  • the mirroring application waits until both storage devices store the data. Only when acknowledgements are received from both storage devices, the mirroring application acknowledges the write command to the requesting application, and only then the command is considered successful.
  • synchronous mirroring methods offer a high level of reliability because they guarantee that the data is successfully stored in both storage devices before the write command is regarded as completed.
  • the latency associated with synchronous write operations is often problematic, in particular when the secondary storage device is located far away from the mirroring application. (In the description that follows, it is assumed that the primary storage device and the mirroring application are both located at a primary site adjacent to the requesting application. The secondary storage device is assumed to be located at a distant, secondary site. Although this configuration is common in many practical systems, the embodiments described hereinbelow may be adapted for use in any other geographical layout of the system, as well.)
  • the requesting application Since, in a synchronic transaction, the requesting application does not receive an acknowledgement of the write command until an acknowledgement is received from the secondary storage device, the entire transaction is delayed by at least the round-trip propagation delay between the mirroring application and the secondary site.
  • the secondary storage device is located hundreds of miles away from the primary site.
  • the communication path connecting the mirroring application with the secondary storage device may comprise various network elements, links and other communication media which introduce additional latency. Acknowledgement mechanisms in the communication protocols used further increase the latency.
  • the overall round-trip delay can reach one minute or more. Such latency often degrades the system performance, and may be prohibitive in some applications.
  • the maximum latency that can be tolerated limits the distance between the primary and secondary site, thereby degrading the disaster resilience of the system.
  • some known data protection methods use asynchronous mirroring methods.
  • the requesting application issues a write command to the mirroring application.
  • the mirroring application sends a write command to the primary storage device, and in addition caches the command in its local memory.
  • the mirroring application receives an acknowledgment from the primary storage device, it acknowledges the successful completion of the operation to the requesting application, and the command is considered successful.
  • the mirroring application sends a write command to the secondary storage device.
  • the mirroring application deletes the cached command from its local memory.
  • asynchronous mirroring does not offer guaranteed storage at both storage devices. If a disaster event occurs before the interaction with the secondary storage device is completed, the last write commands to the secondary storage device may be lost. In other words, all the data for which an acknowledgement was received from the primary storage device, but not from the secondary storage device, is assumed to be lost.
  • embodiments of the present invention provide improved methods and systems for data protection.
  • the methods, systems and devices described hereinbelow enable guaranteed low latency data mirroring at both storage devices, regardless of the distance and/or latency associated with storage in the secondary storage device.
  • FIG. 1A is a block diagram that schematically illustrates a system 20 for protecting data of an organization against disaster events, in accordance with an embodiment of the present invention.
  • Disaster events may comprise any event that affects the organization, and in particular the data storage of the organization.
  • a disaster event may comprise, for example, an earthquake, a storm, a fire, a flood or a terrorist attack.
  • a system failure such as a computer system failure or a power outage that affects the data storage of the organization, can also be regarded as a disaster event.
  • an information technology (IT) system may use and/or produce data that is valuable to the organization. Additionally or alternatively, data produced by various systems in the organization can be valuable for investigating the disaster event. For example, the source, destination and/or contents of telephone conversations held immediately before or during the disaster may prove valuable. As another example, information gathered from security and surveillance systems before and during a terrorist attack, such as video images and data acquired by access control systems may also be considered valuable.
  • IT information technology
  • Data sources 24 stores data produced and/or used by one or more data sources 24 .
  • data sources 24 may comprise, for example, an application server of an information technology (IT) system of the organization, a telephony system such as a Private Automatic Branch Exchange (PABX) or telephony switch, a surveillance system of the organization such as a closed-circuit television (CCTV) system, an access control system, and/or any other system that produces data.
  • IT information technology
  • PABX Private Automatic Branch Exchange
  • CCTV closed-circuit television
  • access control system an access control system
  • system 20 mirrors (i.e., replicates) the data and stores it in two or more storage devices.
  • system 20 comprises a primary storage device 28 and a secondary storage device 32 .
  • the two storage devices hold replicas of the organization data, in a configuration commonly known as a mirrored configuration.
  • Storage devices 28 and 32 may comprise disks, magnetic tapes, computer memory devices, and/or devices based on any other suitable storage technology.
  • the storage devices comprise internal processors that perform local data storage and retrieval-related functions.
  • system 20 can be implemented using only a single storage device, for example for protecting the data acquired from security systems immediately before a terrorist attack.
  • the primary and secondary storage devices are physically located at two separate sites.
  • the sites are chosen to be sufficiently distant from one another, so that a disaster event in one of the sites will be unlikely to affect the other.
  • regulatory restrictions recommend a separation greater than 200 miles, although any other suitable distance can also be used.
  • the primary storage device is collocated with the data sources at a local site, and the secondary storage device is located at a remote site.
  • a mirroring application 36 performs mirroring of the data, i.e., stores replicas of the data produced by data sources 24 in the primary and the secondary storage devices.
  • the mirroring application accepts write commands from data sources 24 , the commands comprising or pointing to data to be stored.
  • the mirroring application stores the data in the primary and secondary storage devices, using methods which will be described below.
  • the mirroring application runs on the CPU of the primary storage device.
  • application 36 may run on a separate processor.
  • the mirroring application acknowledges each write command to the originating data source 24 when it receives an acknowledgement from the primary storage device, without waiting for a similar acknowledgement from the secondary storage device.
  • the mirroring application sends the data for temporary storage in one or more secure storage units 48 .
  • a protection processor 44 is connected to mirroring application 36 .
  • the term “connected to the mirroring application” is used to describe a connection for the exchange of data and control information with the processor or computing platform running the mirroring application, whether the same as or separate from the processor of the primary storage device.
  • processor 44 emulates an additional storage device connected to a port of mirroring application 36 .
  • FIGS. 1B and 1C Alternative system configurations are shown in FIGS. 1B and 1C below.
  • Processor 44 communicates with application 36 using a suitable communication link, such as an optical fiber link, an Internet Protocol (IP) link or a bus such as a peripheral component interconnect (PCI) bus.
  • a suitable communication link such as an optical fiber link, an Internet Protocol (IP) link or a bus such as a peripheral component interconnect (PCI) bus.
  • processor 44 is typically located adjacent to the mirroring application.
  • the mirroring application is typically configured to forward every write command it accepts, as well as any acknowledgments it receives, to processor 44 .
  • Processor 44 may communicate with application 36 using any suitable protocol, such as the small computer systems interface (SCSI), network file system (NFS) and common internet file system (CIFS) protocols, which are commonly used for communication between servers and storage devices.
  • SCSI small computer systems interface
  • NFS network file system
  • CIFS common internet file system
  • processor 44 comprises a general-purpose computer, which is programmed in software to carry out the functions described herein.
  • the software may be downloaded to the computer in electronic form, over a network, for example, or it may alternatively be supplied to the computer on tangible media, such as CD-ROM.
  • processor 44 may be implemented internally to the primary storage device.
  • Processor 44 is connected to one or more secure storage units 48 .
  • two or more units 48 are deployed at different locations at or around the primary site, so as to increase the probability that a least one of them will survive a disaster event.
  • processor 44 stores a respective record in each of units 48 .
  • the record is cached in units 48 until an acknowledgement indicating successful storage is received from device 32 .
  • processor 44 deletes the corresponding record from units 48 .
  • Processor 44 may communicate with units 48 using any suitable interface, such as a universal serial bus (USB) interface.
  • units 48 are mapped as virtual storage drives of processor 44 .
  • the communication interface also provides electrical power for powering the secure storage units.
  • units 48 are constructed in a durable manner, so as to enable them to withstand disaster events while protecting the cached data.
  • An exemplary mechanical construction of a secure storage unit is shown in FIG. 3 below.
  • At least one of the secure storage units is retrieved.
  • the records stored in the retrieved units are used to reconstruct the data in the secondary storage device.
  • a recovery processor 56 is connected to the secondary storage device.
  • a retrieved secure storage unit is connected to the recovery processor.
  • the recovery processor extracts the records stored in the unit and uses them to reconstruct the data in the secondary storage device.
  • the records stored in units 48 at or adjacent to the primary site, survive and are used to reconstruct the data following the event.
  • secure storage units 48 enable system 20 to provide low latency write commands, regardless of the distance to the secondary storage device.
  • the system provides guaranteed mirroring of the data at both storage devices.
  • the data can be recovered and reconstructed within a relatively short time frame after retrieving at least one operational unit 48 .
  • some of the records stored in the retrieved unit 48 correspond to data that was only assumed to be lost, but in reality was written successfully to the secondary storage device. In most practical cases, however, no further action is required since rewriting data that already exists in the storage device does not affect the consistency of the data.
  • the operation of the protection processor and secure storage units is transparent to the mirroring application and to the data sources.
  • processor 44 and units 48 can be installed as an add-on to a known mirroring application or other data protection system.
  • protection processor 44 may listen to the acknowledgement messages arriving from the secondary storage device. When an acknowledgement of a particular write command is received by processor 44 , the processor deletes the corresponding record from unit 48 . However, in some system configurations it is complicated or otherwise undesirable to intercept the acknowledgement messages by processor 44 .
  • the mirroring application can be duplicated by duplicating the overflow avoidance policy of the mirroring application, without explicitly listening to the acknowledgement messages sent from the secondary storage device.
  • some mirroring applications manage a finite size buffer of pending write commands, i.e., write commands that were sent to the secondary storage device but are not yet acknowledged. When this buffer is full, the mirroring application refuses to accept additional write commands from the data sources.
  • memory 60 of unit 48 can be dimensioned to hold at least the same number of records as the maximum number of write commands in the mirroring application buffer.
  • the minoring application can be configured so that its buffer size matches the size of memory 60 . Because the size of memory 60 and the size of the minoring application buffer are matched, when a new write command is sent to processor 44 , the oldest record in unit 48 can be safely deleted.
  • mirroring applications are configured to allow a maximum number of pending write commands, without necessarily holding a buffer.
  • the mirroring application tracks the number of write commands sent to the secondary storage device and the number of acknowledgements received, and maintains a current count of unacknowledged (i.e., pending) write commands. When the number of pending write commands reaches a predetermined limit, no additional write commands are accepted from the data sources.
  • the size of memory 60 can be dimensioned to match the maximum number of pending write commands.
  • the mirroring application can be configured so that the maximum allowed number of pending write commands matches the size of memory 60 .
  • any other suitable mechanism can be used to avoid overflow in memory 60 by matching the size of memory 60 with the maximum size of data pending to be acknowledged by the secondary storage device.
  • the data can be reconstructed quickly, without physically connecting the retrieved unit 48 directly to the recovery processor at the secondary storage site.
  • Such embodiments may be useful, for example, in situations in which the secondary site is far away from the primary site (from which unit 48 was retrieved).
  • the retrieved unit 48 is connected to a remote computer (not shown in the figure), which is remotely connected to recovery processor 56 using any suitable communication link, such as over the Internet.
  • the records stored in the retrieved unit are then transmitted via the remote computer to the recovery processor.
  • the records transmitted between the remote computer and the recovery processor are encrypted, so as to maintain data security when communicating over wireless channels and over public media such as the Internet.
  • the records are already encrypted by protection processor 44 before they are stored in unit 48 .
  • Any software needed for extracting and/or transmitting the records may be stored in the memory of unit 48 along with the records, so that any computer having Internet access (or other access means) and a suitable interface for connecting to unit 48 can be used as a remote computer.
  • one or more environmental sensors 52 are installed at or near the primary storage device and connected to protection processor 44 .
  • the sensors are used for sensing environmental conditions, which may provide early detection, or prediction, of a developing disaster event.
  • sensors 52 may comprise temperature sensors that sense a rising temperature at or near the primary storage device.
  • sensors 52 may comprise seismographic sensors that sense the vibrations associated with a developing earthquake.
  • one of sensors 52 may comprise a manual switch or other input device that enables a user to manually indicate an approaching disaster to the protection processor.
  • the input device may be located at the primary site, at the secondary site or at any other suitable location.
  • sensors 52 may comprise any other suitable sensor type that enables early prediction of developing disaster conditions.
  • system 20 uses the early disaster detection to further improve the protection of the data. An exemplary method for data protection that uses early disaster detection is shown in FIG. 5 below.
  • FIGS. 1B and 1C are block diagrams that schematically illustrate alternative configurations of system 20 , in accordance with embodiments of the present invention.
  • protection processor 44 is introduced in-band, in the communication link connecting data sources 24 with mirroring application 36 .
  • all write commands from the data sources pass through processor 44 .
  • the protection processor is inserted in communication link 40 connecting the mirroring application and the secondary storage device.
  • mirroring application 36 performs synchronous mirroring to protection processor 44
  • processor 44 performs asynchronous mirroring to secondary storage device 32 .
  • Note that only one secure storage unit 48 is shown in FIGS. 1B and 1C , and that sensors 52 and recovery processor 56 are omitted from these figures. These omissions are intended purely for the sake of simplicity, and any or all of these elements may be included in any of the system configurations, as appropriate.
  • FIGS. 1A-1C are exemplary configurations. Other configurations will be apparent to those skilled in the art.
  • mirroring application 36 may be integrated with protection processor 44 on a single computing platform.
  • one or more secure storage units 48 can be used to protect the data of a single storage device, with no mirroring application.
  • the functions of protection processor 44 and secure storage unit 48 can be carried out by a single disaster-proof unit, which may also carry out the functions of mirroring application 36 .
  • the combined unit may be constructed, for example, as a disaster-proof drawer or rack in the primary site, or as a durable enclosure similar to the configuration of FIG. 3 below.
  • FIGS. 1A-1C also present several alternatives of synchronous and asynchronous mirroring protocols.
  • mirroring application 36 may perform synchronous mirroring to protection processor 44 , and asynchronous minoring to secondary storage device 32 .
  • the mirroring application performs synchronous mirroring to protection processor 44
  • processor 44 performs asynchronous mirroring to the secondary storage device.
  • FIG. 2 is a block diagram that schematically illustrates secure storage unit 48 , in accordance with an embodiment of the present invention.
  • Unit 48 comprises a memory 60 , which holds records corresponding to write commands, as described above.
  • Memory 60 may comprise, for example, a non-volatile memory device such as a flash device or an electrically erasable programmable read only memory (EEPROM) device.
  • EEPROM electrically erasable programmable read only memory
  • memory 60 may comprise any other suitable non-volatile or battery-backed memory device.
  • Memory 60 may comprise one or more memory devices.
  • Unit 48 comprises a control unit 64 , which performs the various data storage and management functions of secure storage unit 48 .
  • Control unit 64 may comprise a microprocessor running suitable software. Alternatively, control unit 64 may be implemented in hardware, or using a combination of hardware and software elements.
  • An interface circuit 68 such as a USB interface circuit, handles the physical interface between unit 48 and application 36 . In embodiments in which supply voltage is provided to unit 48 from protection processor 44 , circuit 68 provides this voltage to the various elements of unit 48 .
  • unit 48 comprises a homing device 72 , coupled to a homing antenna 74 .
  • Homing device 72 comprises a transmitter or transponder, which transmits a radio frequency (RF) homing signal in order to enable unit 48 to be located and retrieved following a disaster event.
  • RF radio frequency
  • homing device 72 begins to operate when unit 48 detects that a disaster event occurred.
  • control unit 64 of unit 48 comprises a detection mechanism that detects disaster events.
  • the detection mechanism may detect the absence of electrical power and/or communication with processor 44 , conclude that a disaster even occurred, and as a result activate homing device 72 .
  • Device 72 may comprise an active, passive or semi-active homing device.
  • homing device 72 is powered by a power source 82 .
  • Power source 82 may comprise a rechargeable battery, which is charged by electrical power provided via interface 68 during normal system operation. Alternatively, power source 82 may comprise any other suitable battery. In some embodiments, power source 82 is used to power control unit 64 and/or memory 60 .
  • unit 48 comprises a wireless transmitter 76 coupled to a communication antenna 78 .
  • Transmitter 76 is typically powered by power source 82 .
  • Transmitter 76 is used for transmitting the records stored in memory 60 to a wireless receiver 84 , when the communication between unit 48 and processor 44 is broken due to a disaster event.
  • transmitter 76 and antenna 78 serve as alternative communication means for transmitting information from unit 48 .
  • data stored in the secure storage unit can be retrieved and reconstructed within minutes.
  • the other retrieval methods which involve physically locating and retrieving the secure storage unit and may involve detaching memory 60 from the unit, may sometimes take several hours or even days.
  • Transmitter 76 may comprise, for example, a cellular transmitter, a WiMax transmitter, or any other suitable data transmitter type.
  • Wireless receiver 84 is coupled to a receiving antenna 85 .
  • Receiver 84 and antenna 85 may be connected to secondary storage device 32 or to recovery processor 56 .
  • An exemplary data protection method that uses the alternative communication link is shown in FIG. 5 below.
  • the wireless transmitter in each unit 48 is typically assigned a different communication channel so as to avoid collisions among the transmissions of neighboring wireless transmitters. Additionally or alternatively, similar channel coordination may be performed for the homing devices 72 of neighboring units 48 .
  • receiver 84 may be configured to receive two or more wireless channels in parallel. When the two or more secure storage units begin transmitting, the receiver may choose to receive these transmissions simultaneously, thus receiving different parts of the data from each of the secure storage units.
  • different transmitters 76 in different units 48 may be configured to transmit on different networks (e.g., cellular networks of different service providers). This network diversity increases the likelihood of successful data transfer even when a particular wireless network fails during the disaster.
  • networks e.g., cellular networks of different service providers.
  • the functions of homing device 72 , transmitter 76 , and antennas 74 and 78 can be performed by a single transmitter and a single antenna.
  • a single transmitter and a single antenna For example, several methods are known in the art for determining the position of a cellular transmitter. Such methods can be used to locate wireless transmitter 76 when it transmits data from unit 48 , thus eliminating the need for a separate homing device.
  • FIG. 3 is a schematic, pictorial illustration of secure storage unit 48 , in accordance with an embodiment of the present invention.
  • unit 48 is packaged in a reinforced, disaster-proof enclosure 86 .
  • enclosure 86 may comprise a hermetically-sealed, fire-proof, vibration/shock-proof, lightning-proof, radiation-proof, vandal-proof and/or water resistant enclosure.
  • system 20 comprises two or more such units 48 , in order to increase the probability of at least one unit surviving the disaster event.
  • Interface circuit 68 in this embodiment comprising a USB connector, is shown on the front panel of the unit.
  • Control unit 64 , homing device 72 and transmitter 76 are assembled on three printed circuit boards (PCB), mounted on a motherboard 90 .
  • Memory 60 in the present example in mounted on the PCB of control unit 64 .
  • Power source 82 in the present example comprising a battery, is mounted on motherboard 90 adjacent to the PCBs.
  • Antennas 74 and 78 are shown mounted on the top panel.
  • the mechanical outline of FIG. 3 is shown purely as an exemplary configuration. Any other suitable mechanical and/or electrical configuration can also be used.
  • a disaster event may damage unit 48 and prevent its connection to the recovery machine, even though the data stored in memory 60 is unharmed.
  • the USB connector may be damaged.
  • memory 60 (and possibly additional elements of unit 48 ) is made easily detachable from enclosure 86 .
  • memory 60 can be easily removed and mounted in another unit 48 . Then, the unit can be connected to the recovery processor and its data retrieved.
  • memory 60 may comprise a removable memory card inserted into a suitable socket in unit 48 , such as is used in digital cameras.
  • homing device 72 and/or transmitter 76 can be assembled as detachable units, so that these units can be replaced to suit different communication standards, local frequency allocations and/or other regulatory constraints.
  • antenna 74 and/or antenna 78 is normally folded or otherwise fitted inside enclosure 86 , so as to reduce its exposure to the disaster event. In these embodiments, only after the disaster event is detected, the antenna is unfolded or otherwise extended out of enclosure 86 to enable transmission. Further additionally or alternatively, any other suitable configuration of unit 48 can be used. As previously noted, the disaster event can be detected by control unit 64 by detecting a loss of communication and/or electrical power.
  • FIG. 4 is a flow chart that schematically illustrates a method for data protection, in accordance with an embodiment of the present invention.
  • the description below outlines a typical transaction in which data is replicated and stored in the primary and secondary storage devices.
  • the data is temporarily cached in secure storage devices 48 .
  • the method begins with mirroring application 36 accepting a write command from one of data sources 24 , in the present example a server-based IT application, at a command acceptance step 100 .
  • the write command comprises data to be stored.
  • the mirroring application sends the data to primary storage device 28 , at a primary sending step 102 . After the primary storage device successfully stores the data, it sends an acknowledgement back to the mirroring application.
  • the mirroring application accepts the acknowledgement, at a primary acknowledgement reception step 104 .
  • Protection processor 44 accepts the write command and stores it in one or more of secure storage devices 48 , at a secure caching step 106 .
  • processor 44 either intercepts the write commands sent over communication link 40 , monitors the communication between mirroring application and the data sources, or receives all write commands by forwarding from the mirroring application. After accepting the write command, processor 44 produces a respective record and stores the record in the secure storage devices.
  • the secure storage devices typically acknowledge the successful completion of the storage operation.
  • the record in addition to the data to be stored, the record comprises additional information.
  • additional information may comprise, for example, a communication address of the data source that originated the write command, a communication address of the primary storage device, a time stamp indicating the time in which the write command was accepted, a storage address in the primary storage device intended for the data, and/or any additional parameters associated with the write command.
  • the mirroring application Before, during or after the temporary storage of the record in units 48 , the mirroring application sends the data for storage in secondary storage device 32 , at a secondary sending step 108 . Provided that the records are successfully stored in units 48 , the mirroring application sends an acknowledgement to the originating data source 24 , at an asynchronous acknowledgement step 110 .
  • Processor 44 checks whether an acknowledgement from the secondary storage device was received, at a secondary acknowledgement checking step 112 . Until such acknowledgement is received, processor 44 maintains the respective record cached in secure storage units 48 , possibly handling other write commands meanwhile. When an acknowledgement is received from secondary storage device 32 , processor 44 deletes the respective record from units 48 , at a record deletion step 114 .
  • the sequence of steps 100 - 114 above describes the processing of a single write command.
  • mirroring application 36 and protection processor 44 simultaneously process multiple such sequences corresponding to multiple write commands.
  • the sequence of steps above can be carried out in different orders. For example, once a write command is received by the mirroring application, the data can be sent to the primary and secondary storage devices, and only then a record may be stored in units 48 . Some of the steps can be carried out in parallel. For example, storing the write command in the secure storage unit can be performed in parallel to sending the command to the primary and/or secondary storage device.
  • the data protection method carried out by processor 44 is described by the following pseudo-code:
  • memory 60 in units 48 has a finite size and can only accommodate a finite number of records.
  • processor 44 checks whether sufficient memory space is available in memory 60 to hold the new record. If insufficient memory is available, processor 44 deletes one or more previous records from memory 60 in order to free memory space for the new record. In some embodiments, the processor deletes the oldest records in memory 60 .
  • the memory management process carried out by processor 44 can be described by the following pseudo-code:
  • FIG. 5 is a flow chart that schematically illustrates a method for data protection using early disaster detection, in accordance with another embodiment of the present invention.
  • the method begins with protection processor 44 predicting a developing or approaching disaster event (or a manual activation by a user), at an early detection step 120 .
  • processor 44 analyzes the environmental conditions sensed by sensors 52 , as described above, and detects a developing disaster event responsively to the sensed conditions.
  • processor 44 instructs the mirroring application to stop forwarding write commands to the primary storage device, at a write rejection step 122 . Stopping the write operations is particularly important in earthquake conditions, since performing write operations in the presence of mechanical shocks and vibrations may be harmful to the storage device.
  • processor 44 Since processor 44 predicts that the primary site is about to be hit by a disaster event, it instructs the mirroring application to stop accepting write commands from data sources 24 . In some embodiments, the protection processor stops sending acknowledgements to the mirroring application. As a result, the mirroring application stops accepting new write commands from data sources 24 . The protection processor can also use the acknowledgement mechanism to control the rate in which write commands are accepted from the data sources after predicting the disaster event.
  • some data sources e.g., security cameras
  • other data sources e.g., IT systems
  • data whose storage is allowed to continue is written to secure storage unit 48 until memory 60 is full.
  • processor 44 Having detected an approaching disaster event, processor 44 attempts to use the remaining time for transmitting the data cached in units 48 before the disaster event hits the primary site.
  • Processor 44 retrieves the records stored in units 48 , at a record retrieval step 124 .
  • Processor 44 then checks whether the primary communication connection with the secondary site (i.e., communication link 40 ) is still operative, at a primary communication checking step 126 . As long as link 40 remains operative, processor 44 uses this link to transmit the records to the secondary site, at a primary transmission step 128 .
  • processor 44 instructs units 48 to transmit the records using the alternative communication link, i.e., using wireless transmitters 76 , at an alternative transmission step 130 . Additionally or alternatively, as noted above, if a particular unit 48 senses a loss of communication and/or electrical power, it begins transmitting the records stored in memory 60 using transmitter 76 .
  • a secure storage unit can be used for temporarily and securely storing the data produced in the system between periodic backup operations.
  • This automated mechanism can replace the known practice of manually placing backup tapes or disks in a disaster-proof safe or at a distant location.

Abstract

A method for data protection includes accepting data for storage from one or more data sources (24). The data is sent for storage in a primary storage device (28) and in a secondary storage device (32). While awaiting an indication of successful storage of the data in the secondary storage device, a record associated with the data is temporarily stored in a disaster-proof storage unit (48) adjacent to the primary storage device. When an event damaging at least some of the data in the primary storage device occurs, the data is reconstructed using the record stored in the disaster-proof storage unit and at least part of the data stored in the secondary storage device.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 12/721,580, filed Mar. 11, 2010, which is a continuation of U.S. patent application Ser. No. 10/585,587, filed Jul. 10, 2006, now U.S. Pat. No. 7,707,453, which was filed in the U.S. National Phase of PCT Patent Application PCT/IL2006/000453, filed Apr. 10, 2006, which claims the benefit of U.S. Provisional Patent Applications 60/673,664, filed Apr. 20, 2005, and 60/729,112, filed Oct. 20, 2005. The disclosures of all these related applications are incorporated herein by reference.
FIELD OF THE INVENTION
The present invention relates generally to data protection systems, and particularly to methods and systems for protecting mirrored data against disaster events using disaster-proof temporary storage devices.
BACKGROUND OF THE INVENTION
Various methods and systems are known in the art for protecting data in computer systems against disasters such as earthquakes, storms, floods, fires and terrorist attacks. Some solutions involve replicating (mirroring) the data in a primary and a secondary storage device.
For example, EMC Corporation (Hopkinton, Mass.) offers a family of remote storage replication solutions called Symmetrix Remote Data Facility (SRDF) for disaster recovery and business continuity. The SRDF product family includes both synchronous and asynchronous solutions. Further details regarding the SRDF products are available at www.emc.com/products/networking/srdf.jsp.
As another example, IBM Corporation (Armonk, N.Y.) offers a number of business continuity solutions, including mirroring products. Further details regarding these products are available at www-03.ibm.com/servers/storage/solutions/business_continuity.
SUMMARY OF THE INVENTION
Some known data protection applications use synchronous mirroring methods, in which a transaction is considered complete only after both primary and secondary storage devices successfully store the data. This requirement introduces significant latency into the transaction, in particular when the secondary site is located far away from the primary site. In some cases, the maximum tolerable latency limits the maximum separation between the primary and secondary sites.
In order to reduce the transaction latency and enable large separation between the primary and secondary sites, some known data protection applications use asynchronous mirroring methods, in which the transaction is acknowledged as soon as the data is successfully stored in the primary storage device. The interaction with the secondary storage device may be continued in parallel. However, asynchronous mirroring does not provide guaranteed storage of the data in the secondary storage device, and in some cases data may be lost in the event of disaster.
In view of these shortcomings of synchronous and asynchronous mirroring methods, embodiments of the present invention provide improved methods and systems for data protection. The methods, systems and devices described hereinbelow enable guaranteed low latency data mirroring at both primary and secondary storage devices, regardless of the latency and/or separation between the storage devices. The data to be protected may be received from one or more data sources, such as information technology (IT), telephony, security and surveillance systems.
In some embodiments, data is sent for storage in primary and secondary storage devices. A record related to the data is temporarily cached in a secure storage device until the data is successfully stored in the secondary storage device. In some embodiments, the secure storage device is constructed so as to withstand disaster events while protecting the cached data. In the context of the present patent application and in the claims, a storage device is considered to be “disaster-proof” if it is designed so that the data it stores will, with high probability, remain intact and fully recoverable even under conditions typical of disaster events, such as the events listed above and similar events. Such conditions may cause destruction of computer equipment or data stored in such equipment in proximity to the storage device.
If an event affecting at least some of the data occurs, the secure storage device is recovered and the records cached in it are used to reconstruct the data in the secondary storage devices.
In some embodiments, the data protection system uses one or more environmental sensors for early detection of a developing or approaching disaster event. Methods for further improving data protection using early disaster detection are described hereinbelow.
There is therefore provided, in accordance with an embodiment of the present invention, a method for data protection, including:
accepting data for storage from one or more data sources;
sending the data for storage in a primary storage device and in a secondary storage device;
while awaiting an indication of successful storage of the data in the secondary storage device, temporarily storing a record associated with the data in a disaster-proof storage unit adjacent to the primary storage device; and
when an event damaging at least some of the data in the primary storage device occurs, reconstructing the data using the record stored in the disaster-proof storage unit and at least part of the data stored in the secondary storage device.
In an embodiment, temporarily storing the record includes sending an acknowledgement to the one or more data sources responsively to a successful caching of the record in the disaster-proof storage unit, without waiting to receive the indication of the successful storage of the data in the secondary storage device, so as to reduce a transaction latency associated with the storage of the data.
Additionally or alternatively, temporarily storing the record includes receiving an acknowledgement from the secondary storage device acknowledging the successful storage of the data in the secondary storage device, and deleting the record from the disaster-proof storage unit responsively to the acknowledgement.
In another embodiment, reconstructing the data includes retrieving the disaster-proof storage unit following the event, extracting the record from the disaster-proof storage unit and writing the data associated with the record to the secondary storage device. Writing the data may include remotely connecting the disaster-proof storage unit to the secondary storage device.
In yet another embodiment, the disaster-proof storage unit includes a removable memory device for holding the record, and reconstructing the data includes, when the disaster-proof storage unit is damaged by the event, removing the memory device from the disaster-proof storage unit and installing the memory device in another unit for readout of the record.
In still another embodiment, the method includes detecting the event using a detection mechanism in the disaster-proof storage unit, and modifying operation of the disaster-proof storage unit responsively to detecting the event. Detecting the event may include detecting at least one of a loss of external electrical power supply and a communication failure at the disaster-proof storage unit. In an embodiment, modifying the operation includes transmitting the record from the disaster-proof storage unit over a wireless communication link.
In another embodiment, temporarily storing the record includes storing the record in two or more disaster-proof storage units, and transmitting the record includes transmitting two or more different parts of the record respectively from the two or more disaster-proof storage units over respective wireless links so as to shorten a transmission time of the record.
In yet another embodiment, modifying the operation includes transmitting a homing signal from the disaster-proof storage unit, so as to enable location and retrieval of the disaster-proof storage unit.
In an embodiment, reconstructing the data includes:
sensing an environmental condition using an environmental sensor;
predicting the event responsively to the sensed environmental condition; and
after predicting the event, transmitting the record from the disaster-proof storage unit using at least one of a wired connection and a wireless connection.
Sensing the environmental condition may include accepting a manual indication from a user that indicates the event.
In an embodiment, temporarily storing the record includes sending an acknowledgement message responsively to a successful storage of the record in the disaster-proof storage unit, and, after predicting the event, refraining from sending subsequent acknowledgement messages so as to avoid accepting additional data from the one or more data sources.
In another embodiment, after predicting the event, the method includes refraining from sending subsequent data for storage in the primary storage device. Additionally or alternatively, after predicting the event, the method includes temporarily storing in the disaster-proof storage unit only subsequent records associated with data originating from a subset of the one or more data sources.
In still another embodiment, temporarily storing the record includes avoiding exceeding a memory capacity in the disaster-proof storage unit by matching the memory capacity with at least one of a maximum allowed size of data pending for acknowledgement by the secondary storage device and a maximum number of write commands pending for storage in the secondary storage device.
Additionally or alternatively, temporarily storing the record includes including in the record additional information related to the data, the additional information includes at least one of an address of an originating data source, an address of the primary storage device, a time stamp indicating an acceptance time of the data and a storage address intended for the data in the primary storage device.
There is additionally provided, in accordance with an embodiment of the present invention, a method for data protection, including:
accepting data for storage from one or more data sources;
sending the data for storage in a storage device;
temporarily storing records associated with at least part of the data that is relevant to investigation of disaster events in a disaster-proof storage unit; and
when an event damaging at least some of the data in the storage device occurs, investigating the event using the records stored in the disaster-proof storage unit.
In an embodiment, the at least part of the data that is relevant to investigation of disaster events includes at least one of surveillance images, access control information and data originating from a telephony system. Additionally or alternatively, the at least part of the data that is relevant to investigation of disaster events includes data accepted at a time immediately preceding an occurrence of the event.
There is also provided, in accordance with an embodiment of the present invention, a method for data protection, including:
accepting data from a data source for storage in a primary storage device;
periodically sending the data for backup in a backup storage device by means of a sequence of backup operations;
temporarily storing in a disaster-proof storage unit records associated with at least part of the data that is accepted during a time interval between successive backup operations in the sequence; and
when an event damaging at least some of the data in the primary storage device occurs during the time interval, reconstructing the data using the records stored in the disaster-proof storage unit.
There is further provided, in accordance with an embodiment of the present invention, a method for data protection, including:
accepting data for storage from a data source;
sending the data for storage in a primary storage device, while mirroring the data in a secondary storage device;
temporarily storing at least part of the data in a disaster-proof storage unit at a site of the primary storage device; and
when an event damaging at least some of the data in the primary storage device occurs at the site, reconstructing the data using the at least part of the data stored in the disaster-proof storage unit.
There is also provided, in accordance with an embodiment of the present invention, a system for data protection, including:
one or more data sources, which are arranged to send data for storage;
primary and secondary storage devices, which are arranged to hold the data;
a disaster-proof storage unit adjacent to the primary storage device, which is arranged to temporarily store a record associated with the data while awaiting an indication of a successful storage of the data in the secondary storage device, and when an event damaging at least some of the data in the primary storage device occurs, to provide the record so as to enable reconstruction of the data using the record stored in the disaster-proof storage unit and at least part of the data stored in the secondary storage device.
In an embodiment, the system includes:
an environmental sensor, which is arranged to sense an environmental condition in a vicinity of the primary storage device; and
a processor, which is arranged to predict the event responsively to the sensed environmental condition and, after predicting the event, to instruct the disaster-proof storage unit to transmit the record using at least one of a wired connection and a wireless connection.
There is additionally provided, in accordance with an embodiment of the present invention, apparatus for protecting data sent for storage in primary and secondary storage devices, including:
a disaster-proof storage unit, which includes:
a disaster-proof enclosure, which is arranged to protect components contained therein against disaster events;
a memory device contained in the enclosure, which is arranged to temporarily hold a record associated with the data while awaiting an indication of successful storage of the data in the secondary storage device; and
a control unit, which is arranged, when an event damaging at least some of the data in the primary storage device occurs, to provide the record so as to enable reconstruction of the data using the record stored in the memory device and at least part of the data stored in the secondary storage device;
a sensor, which is arranged to sense an environmental condition in a vicinity of the primary storage device; and
a protection processor, which is arranged to predict the event responsively to the sensed environmental condition and, responsively to predicting the event, to instruct the disaster-proof storage unit to transmit the record so as to protect the data.
There is also provided, in accordance with an embodiment of the present invention, a computer software product for data protection, the product including a computer-readable medium, in which program instructions are stored, which instructions, when read by a computer, cause the computer to accept data from one or more data sources sent for storage in primary and secondary storage devices, and to temporarily store a record associated with the data in a disaster-proof storage unit adjacent to the primary storage device, while awaiting an indication of successful storage of the data in the secondary storage device.
The present invention will be more fully understood from the following detailed description of the embodiments thereof, taken together with the drawings in which:
BRIEF DESCRIPTION OF THE DRAWINGS
FIGS. 1A-1C are block diagrams that schematically illustrate systems for data protection, in accordance with embodiments of the present invention;
FIG. 2 is a block diagram that schematically illustrates a secure storage unit, in accordance with an embodiment of the present invention;
FIG. 3 is a schematic, pictorial illustration of a secure storage unit, in accordance with an embodiment of the present invention; and
FIGS. 4 and 5 are flow charts that schematically illustrate methods for data protection, in accordance with embodiments of the present invention.
DETAILED DESCRIPTION OF EMBODIMENTS
In a typical synchronous mirroring transaction, a mirroring application accepts a write command from a requesting application. The command typically comprises a storage instruction indicating data to be stored and the memory location in which to store it. In response, the mirroring application issues write commands to both the primary and secondary storage devices. The mirroring application waits until both storage devices store the data. Only when acknowledgements are received from both storage devices, the mirroring application acknowledges the write command to the requesting application, and only then the command is considered successful.
On one hand, synchronous mirroring methods offer a high level of reliability because they guarantee that the data is successfully stored in both storage devices before the write command is regarded as completed. On the other hand, the latency associated with synchronous write operations is often problematic, in particular when the secondary storage device is located far away from the mirroring application. (In the description that follows, it is assumed that the primary storage device and the mirroring application are both located at a primary site adjacent to the requesting application. The secondary storage device is assumed to be located at a distant, secondary site. Although this configuration is common in many practical systems, the embodiments described hereinbelow may be adapted for use in any other geographical layout of the system, as well.)
Since, in a synchronic transaction, the requesting application does not receive an acknowledgement of the write command until an acknowledgement is received from the secondary storage device, the entire transaction is delayed by at least the round-trip propagation delay between the mirroring application and the secondary site.
In many practical cases, the secondary storage device is located hundreds of miles away from the primary site. Moreover, the communication path connecting the mirroring application with the secondary storage device may comprise various network elements, links and other communication media which introduce additional latency. Acknowledgement mechanisms in the communication protocols used further increase the latency. In some cases, the overall round-trip delay can reach one minute or more. Such latency often degrades the system performance, and may be prohibitive in some applications. In some cases, the maximum latency that can be tolerated limits the distance between the primary and secondary site, thereby degrading the disaster resilience of the system.
In order to overcome the latency and distance limitations associated with synchronous mirroring, some known data protection methods use asynchronous mirroring methods. In a typical asynchronous mirroring transaction, the requesting application issues a write command to the mirroring application. The mirroring application sends a write command to the primary storage device, and in addition caches the command in its local memory. As soon as the mirroring application receives an acknowledgment from the primary storage device, it acknowledges the successful completion of the operation to the requesting application, and the command is considered successful. At some stage of the process, the mirroring application sends a write command to the secondary storage device. When the secondary storage device performs and acknowledges the command, the mirroring application deletes the cached command from its local memory.
In an asynchronous transaction, only the latency associated with the primary storage device is felt by the requesting application. The interaction between the mirroring application and the secondary storage device often occurs after the requesting application has already received an acknowledgement and has considered the write operation successfully completed.
Thus, when using asynchronous mirroring, the transaction latency is not affected by the distance to the secondary storage device, enabling any distance to be used. On the other hand, asynchronous mirroring does not offer guaranteed storage at both storage devices. If a disaster event occurs before the interaction with the secondary storage device is completed, the last write commands to the secondary storage device may be lost. In other words, all the data for which an acknowledgement was received from the primary storage device, but not from the secondary storage device, is assumed to be lost.
In view of the shortcomings of synchronous and asynchronous mirroring methods, as described above, embodiments of the present invention provide improved methods and systems for data protection. The methods, systems and devices described hereinbelow enable guaranteed low latency data mirroring at both storage devices, regardless of the distance and/or latency associated with storage in the secondary storage device.
System Description
FIG. 1A is a block diagram that schematically illustrates a system 20 for protecting data of an organization against disaster events, in accordance with an embodiment of the present invention. Disaster events may comprise any event that affects the organization, and in particular the data storage of the organization. A disaster event may comprise, for example, an earthquake, a storm, a fire, a flood or a terrorist attack. In some cases, a system failure, such as a computer system failure or a power outage that affects the data storage of the organization, can also be regarded as a disaster event.
Different organizations have different data types that should be protected in the event of a disaster. For example, an information technology (IT) system may use and/or produce data that is valuable to the organization. Additionally or alternatively, data produced by various systems in the organization can be valuable for investigating the disaster event. For example, the source, destination and/or contents of telephone conversations held immediately before or during the disaster may prove valuable. As another example, information gathered from security and surveillance systems before and during a terrorist attack, such as video images and data acquired by access control systems may also be considered valuable.
System 20 stores data produced and/or used by one or more data sources 24. In some embodiments, data sources 24 may comprise, for example, an application server of an information technology (IT) system of the organization, a telephony system such as a Private Automatic Branch Exchange (PABX) or telephony switch, a surveillance system of the organization such as a closed-circuit television (CCTV) system, an access control system, and/or any other system that produces data.
In order to protect the data, system 20 mirrors (i.e., replicates) the data and stores it in two or more storage devices. In some embodiments, system 20 comprises a primary storage device 28 and a secondary storage device 32. The two storage devices hold replicas of the organization data, in a configuration commonly known as a mirrored configuration. Storage devices 28 and 32 may comprise disks, magnetic tapes, computer memory devices, and/or devices based on any other suitable storage technology. In some embodiments, the storage devices comprise internal processors that perform local data storage and retrieval-related functions. Although the description that follows refers to two storage devices, other implementations of system 20 may comprise a higher number of storage devices. System 20 can be implemented using only a single storage device, for example for protecting the data acquired from security systems immediately before a terrorist attack.
Typically, the primary and secondary storage devices are physically located at two separate sites. The sites are chosen to be sufficiently distant from one another, so that a disaster event in one of the sites will be unlikely to affect the other. In some embodiments, regulatory restrictions recommend a separation greater than 200 miles, although any other suitable distance can also be used. In the example of FIG. 1A, the primary storage device is collocated with the data sources at a local site, and the secondary storage device is located at a remote site.
A mirroring application 36 performs mirroring of the data, i.e., stores replicas of the data produced by data sources 24 in the primary and the secondary storage devices. Typically, the mirroring application accepts write commands from data sources 24, the commands comprising or pointing to data to be stored. The mirroring application stores the data in the primary and secondary storage devices, using methods which will be described below. In the exemplary embodiment of FIG. 1A, the mirroring application runs on the CPU of the primary storage device. Alternatively, application 36 may run on a separate processor.
In some embodiments, the mirroring application acknowledges each write command to the originating data source 24 when it receives an acknowledgement from the primary storage device, without waiting for a similar acknowledgement from the secondary storage device. Unlike known asynchronous mirroring methods, in order to ensure that no data is lost until it is safely stored in the secondary storage device as well, the mirroring application sends the data for temporary storage in one or more secure storage units 48.
In some embodiments, a protection processor 44 is connected to mirroring application 36. (In the description that follows, the term “connected to the mirroring application” is used to describe a connection for the exchange of data and control information with the processor or computing platform running the mirroring application, whether the same as or separate from the processor of the primary storage device.) In the exemplary system configuration of FIG. 1A, processor 44 emulates an additional storage device connected to a port of mirroring application 36. Alternative system configurations are shown in FIGS. 1B and 1C below.
Processor 44 communicates with application 36 using a suitable communication link, such as an optical fiber link, an Internet Protocol (IP) link or a bus such as a peripheral component interconnect (PCI) bus. In order to enable small transaction latency, processor 44 is typically located adjacent to the mirroring application. The mirroring application is typically configured to forward every write command it accepts, as well as any acknowledgments it receives, to processor 44. Processor 44 may communicate with application 36 using any suitable protocol, such as the small computer systems interface (SCSI), network file system (NFS) and common internet file system (CIFS) protocols, which are commonly used for communication between servers and storage devices.
Typically, processor 44 comprises a general-purpose computer, which is programmed in software to carry out the functions described herein. The software may be downloaded to the computer in electronic form, over a network, for example, or it may alternatively be supplied to the computer on tangible media, such as CD-ROM. In some embodiments, processor 44 may be implemented internally to the primary storage device.
Processor 44 is connected to one or more secure storage units 48. In some embodiments, two or more units 48 are deployed at different locations at or around the primary site, so as to increase the probability that a least one of them will survive a disaster event. Typically, for every write operation sent or to be sent to secondary storage device 32, processor 44 stores a respective record in each of units 48. The record is cached in units 48 until an acknowledgement indicating successful storage is received from device 32. Once an acknowledgement of a particular write command is received from the secondary storage device, processor 44 deletes the corresponding record from units 48. Processor 44 may communicate with units 48 using any suitable interface, such as a universal serial bus (USB) interface. In some embodiments, units 48 are mapped as virtual storage drives of processor 44. In some embodiments, the communication interface also provides electrical power for powering the secure storage units.
In some embodiments, units 48 are constructed in a durable manner, so as to enable them to withstand disaster events while protecting the cached data. An exemplary mechanical construction of a secure storage unit is shown in FIG. 3 below.
After a disaster event hits the primary site, at least one of the secure storage units is retrieved. The records stored in the retrieved units are used to reconstruct the data in the secondary storage device. In some embodiments, a recovery processor 56 is connected to the secondary storage device. A retrieved secure storage unit is connected to the recovery processor. The recovery processor extracts the records stored in the unit and uses them to reconstruct the data in the secondary storage device. Unlike known mirroring methods in which all the data located in the primary site is assumed to be destroyed by the disaster event, the records stored in units 48, at or adjacent to the primary site, survive and are used to reconstruct the data following the event.
As can be appreciated, the use of secure storage units 48 enables system 20 to provide low latency write commands, regardless of the distance to the secondary storage device. At the same time, the system provides guaranteed mirroring of the data at both storage devices. Typically, the data can be recovered and reconstructed within a relatively short time frame after retrieving at least one operational unit 48.
In some cases, some of the records stored in the retrieved unit 48 correspond to data that was only assumed to be lost, but in reality was written successfully to the secondary storage device. In most practical cases, however, no further action is required since rewriting data that already exists in the storage device does not affect the consistency of the data.
In some embodiments, the operation of the protection processor and secure storage units is transparent to the mirroring application and to the data sources. Thus, processor 44 and units 48 can be installed as an add-on to a known mirroring application or other data protection system.
In order to provide a high level of protection and reliability, it is desirable to avoid overflow in memory 60 of unit 48, so that records are not lost. Generally, a record can be safely deleted from unit 48 when the corresponding write command has been successfully carried out by the secondary storage device. There are several alternative methods of indicating to protection processor 44 when it is permitted to delete a record from unit 48, sometimes depending on the functionality of the mirroring application.
In some embodiments, protection processor 44 may listen to the acknowledgement messages arriving from the secondary storage device. When an acknowledgement of a particular write command is received by processor 44, the processor deletes the corresponding record from unit 48. However, in some system configurations it is complicated or otherwise undesirable to intercept the acknowledgement messages by processor 44.
Alternatively, it is sometimes possible to avoid overflow in unit 48 by duplicating the overflow avoidance policy of the mirroring application, without explicitly listening to the acknowledgement messages sent from the secondary storage device. For example, some mirroring applications manage a finite size buffer of pending write commands, i.e., write commands that were sent to the secondary storage device but are not yet acknowledged. When this buffer is full, the mirroring application refuses to accept additional write commands from the data sources. In these embodiments, memory 60 of unit 48 can be dimensioned to hold at least the same number of records as the maximum number of write commands in the mirroring application buffer. Similarly, given a particular unit 48 having a certain memory size, the minoring application can be configured so that its buffer size matches the size of memory 60. Because the size of memory 60 and the size of the minoring application buffer are matched, when a new write command is sent to processor 44, the oldest record in unit 48 can be safely deleted.
Other mirroring applications are configured to allow a maximum number of pending write commands, without necessarily holding a buffer. In other words, the mirroring application tracks the number of write commands sent to the secondary storage device and the number of acknowledgements received, and maintains a current count of unacknowledged (i.e., pending) write commands. When the number of pending write commands reaches a predetermined limit, no additional write commands are accepted from the data sources. In these embodiments, the size of memory 60 can be dimensioned to match the maximum number of pending write commands. Alternatively, the mirroring application can be configured so that the maximum allowed number of pending write commands matches the size of memory 60.
Additionally or alternatively, any other suitable mechanism can be used to avoid overflow in memory 60 by matching the size of memory 60 with the maximum size of data pending to be acknowledged by the secondary storage device.
In some embodiments, the data can be reconstructed quickly, without physically connecting the retrieved unit 48 directly to the recovery processor at the secondary storage site. Such embodiments may be useful, for example, in situations in which the secondary site is far away from the primary site (from which unit 48 was retrieved). In these embodiments, the retrieved unit 48 is connected to a remote computer (not shown in the figure), which is remotely connected to recovery processor 56 using any suitable communication link, such as over the Internet. The records stored in the retrieved unit are then transmitted via the remote computer to the recovery processor.
In some embodiments, the records transmitted between the remote computer and the recovery processor are encrypted, so as to maintain data security when communicating over wireless channels and over public media such as the Internet. Typically, the records are already encrypted by protection processor 44 before they are stored in unit 48. Any software needed for extracting and/or transmitting the records may be stored in the memory of unit 48 along with the records, so that any computer having Internet access (or other access means) and a suitable interface for connecting to unit 48 can be used as a remote computer.
In some embodiments, one or more environmental sensors 52 are installed at or near the primary storage device and connected to protection processor 44. The sensors are used for sensing environmental conditions, which may provide early detection, or prediction, of a developing disaster event. For example, sensors 52 may comprise temperature sensors that sense a rising temperature at or near the primary storage device. Additionally or alternatively, sensors 52 may comprise seismographic sensors that sense the vibrations associated with a developing earthquake. In some embodiments, one of sensors 52 may comprise a manual switch or other input device that enables a user to manually indicate an approaching disaster to the protection processor. The input device may be located at the primary site, at the secondary site or at any other suitable location. Further additionally or alternatively, sensors 52 may comprise any other suitable sensor type that enables early prediction of developing disaster conditions. In some embodiments, system 20 uses the early disaster detection to further improve the protection of the data. An exemplary method for data protection that uses early disaster detection is shown in FIG. 5 below.
FIGS. 1B and 1C are block diagrams that schematically illustrate alternative configurations of system 20, in accordance with embodiments of the present invention. In the configuration of FIG. 1B, protection processor 44 is introduced in-band, in the communication link connecting data sources 24 with mirroring application 36. In this embodiment, all write commands from the data sources pass through processor 44. In the configuration of FIG. 1C, the protection processor is inserted in communication link 40 connecting the mirroring application and the secondary storage device. In this configuration, mirroring application 36 performs synchronous mirroring to protection processor 44, and processor 44 performs asynchronous mirroring to secondary storage device 32. Note that only one secure storage unit 48 is shown in FIGS. 1B and 1C, and that sensors 52 and recovery processor 56 are omitted from these figures. These omissions are intended purely for the sake of simplicity, and any or all of these elements may be included in any of the system configurations, as appropriate.
The system configurations of FIGS. 1A-1C are exemplary configurations. Other configurations will be apparent to those skilled in the art. For example, mirroring application 36 may be integrated with protection processor 44 on a single computing platform. In some embodiments, one or more secure storage units 48 can be used to protect the data of a single storage device, with no mirroring application. As another example, the functions of protection processor 44 and secure storage unit 48 can be carried out by a single disaster-proof unit, which may also carry out the functions of mirroring application 36. The combined unit may be constructed, for example, as a disaster-proof drawer or rack in the primary site, or as a durable enclosure similar to the configuration of FIG. 3 below.
The configurations of FIGS. 1A-1C also present several alternatives of synchronous and asynchronous mirroring protocols. For example, in FIG. 1A, mirroring application 36 may perform synchronous mirroring to protection processor 44, and asynchronous minoring to secondary storage device 32. In FIG. 1C, however, the mirroring application performs synchronous mirroring to protection processor 44, and processor 44 performs asynchronous mirroring to the secondary storage device.
FIG. 2 is a block diagram that schematically illustrates secure storage unit 48, in accordance with an embodiment of the present invention. Unit 48 comprises a memory 60, which holds records corresponding to write commands, as described above. Memory 60 may comprise, for example, a non-volatile memory device such as a flash device or an electrically erasable programmable read only memory (EEPROM) device. Alternatively, memory 60 may comprise any other suitable non-volatile or battery-backed memory device. Memory 60 may comprise one or more memory devices.
Unit 48 comprises a control unit 64, which performs the various data storage and management functions of secure storage unit 48. Control unit 64 may comprise a microprocessor running suitable software. Alternatively, control unit 64 may be implemented in hardware, or using a combination of hardware and software elements. An interface circuit 68, such as a USB interface circuit, handles the physical interface between unit 48 and application 36. In embodiments in which supply voltage is provided to unit 48 from protection processor 44, circuit 68 provides this voltage to the various elements of unit 48.
In some embodiments, unit 48 comprises a homing device 72, coupled to a homing antenna 74. Homing device 72 comprises a transmitter or transponder, which transmits a radio frequency (RF) homing signal in order to enable unit 48 to be located and retrieved following a disaster event. Typically, homing device 72 begins to operate when unit 48 detects that a disaster event occurred.
In some embodiments, control unit 64 of unit 48 comprises a detection mechanism that detects disaster events. For example, the detection mechanism may detect the absence of electrical power and/or communication with processor 44, conclude that a disaster even occurred, and as a result activate homing device 72. Device 72 may comprise an active, passive or semi-active homing device.
In some embodiments, homing device 72 is powered by a power source 82. Power source 82 may comprise a rechargeable battery, which is charged by electrical power provided via interface 68 during normal system operation. Alternatively, power source 82 may comprise any other suitable battery. In some embodiments, power source 82 is used to power control unit 64 and/or memory 60.
In some embodiments, unit 48 comprises a wireless transmitter 76 coupled to a communication antenna 78. Transmitter 76 is typically powered by power source 82. Transmitter 76 is used for transmitting the records stored in memory 60 to a wireless receiver 84, when the communication between unit 48 and processor 44 is broken due to a disaster event. As such, transmitter 76 and antenna 78 serve as alternative communication means for transmitting information from unit 48. Using the wireless channel, data stored in the secure storage unit can be retrieved and reconstructed within minutes. The other retrieval methods, which involve physically locating and retrieving the secure storage unit and may involve detaching memory 60 from the unit, may sometimes take several hours or even days.
Transmitter 76 may comprise, for example, a cellular transmitter, a WiMax transmitter, or any other suitable data transmitter type. Wireless receiver 84 is coupled to a receiving antenna 85. Receiver 84 and antenna 85 may be connected to secondary storage device 32 or to recovery processor 56. An exemplary data protection method that uses the alternative communication link is shown in FIG. 5 below.
In some embodiments in which two or more secure storage units are used in a redundant configuration, such as in the configuration of FIG. 1A above, the wireless transmitter in each unit 48 is typically assigned a different communication channel so as to avoid collisions among the transmissions of neighboring wireless transmitters. Additionally or alternatively, similar channel coordination may be performed for the homing devices 72 of neighboring units 48.
In order to shorten the time needed for transferring the data over the wireless channel, receiver 84 may be configured to receive two or more wireless channels in parallel. When the two or more secure storage units begin transmitting, the receiver may choose to receive these transmissions simultaneously, thus receiving different parts of the data from each of the secure storage units.
When two or more secure storage units 48 are used, different transmitters 76 in different units 48 may be configured to transmit on different networks (e.g., cellular networks of different service providers). This network diversity increases the likelihood of successful data transfer even when a particular wireless network fails during the disaster.
In some embodiments, the functions of homing device 72, transmitter 76, and antennas 74 and 78 can be performed by a single transmitter and a single antenna. For example, several methods are known in the art for determining the position of a cellular transmitter. Such methods can be used to locate wireless transmitter 76 when it transmits data from unit 48, thus eliminating the need for a separate homing device.
FIG. 3 is a schematic, pictorial illustration of secure storage unit 48, in accordance with an embodiment of the present invention. In the exemplary mechanical configuration of FIG. 3, unit 48 is packaged in a reinforced, disaster-proof enclosure 86. In some embodiments, enclosure 86 may comprise a hermetically-sealed, fire-proof, vibration/shock-proof, lightning-proof, radiation-proof, vandal-proof and/or water resistant enclosure. As noted above, in some embodiments system 20 comprises two or more such units 48, in order to increase the probability of at least one unit surviving the disaster event.
Interface circuit 68, in this embodiment comprising a USB connector, is shown on the front panel of the unit. Control unit 64, homing device 72 and transmitter 76 are assembled on three printed circuit boards (PCB), mounted on a motherboard 90. Memory 60 in the present example in mounted on the PCB of control unit 64. Power source 82, in the present example comprising a battery, is mounted on motherboard 90 adjacent to the PCBs. Antennas 74 and 78 are shown mounted on the top panel. The mechanical outline of FIG. 3 is shown purely as an exemplary configuration. Any other suitable mechanical and/or electrical configuration can also be used.
In some scenarios, a disaster event may damage unit 48 and prevent its connection to the recovery machine, even though the data stored in memory 60 is unharmed. For example, the USB connector may be damaged. In order to enable access to the data, in some embodiments, memory 60 (and possibly additional elements of unit 48) is made easily detachable from enclosure 86. In these embodiments, memory 60 can be easily removed and mounted in another unit 48. Then, the unit can be connected to the recovery processor and its data retrieved. For example, memory 60 may comprise a removable memory card inserted into a suitable socket in unit 48, such as is used in digital cameras.
Additionally or alternatively, homing device 72 and/or transmitter 76 can be assembled as detachable units, so that these units can be replaced to suit different communication standards, local frequency allocations and/or other regulatory constraints.
In some embodiments, antenna 74 and/or antenna 78 is normally folded or otherwise fitted inside enclosure 86, so as to reduce its exposure to the disaster event. In these embodiments, only after the disaster event is detected, the antenna is unfolded or otherwise extended out of enclosure 86 to enable transmission. Further additionally or alternatively, any other suitable configuration of unit 48 can be used. As previously noted, the disaster event can be detected by control unit 64 by detecting a loss of communication and/or electrical power.
Protection Method Descriptions
FIG. 4 is a flow chart that schematically illustrates a method for data protection, in accordance with an embodiment of the present invention. The description below outlines a typical transaction in which data is replicated and stored in the primary and secondary storage devices. In order to ensure guaranteed storage in the secondary storage device, the data is temporarily cached in secure storage devices 48.
The method begins with mirroring application 36 accepting a write command from one of data sources 24, in the present example a server-based IT application, at a command acceptance step 100. The write command comprises data to be stored. The mirroring application sends the data to primary storage device 28, at a primary sending step 102. After the primary storage device successfully stores the data, it sends an acknowledgement back to the mirroring application. The mirroring application accepts the acknowledgement, at a primary acknowledgement reception step 104.
Protection processor 44 accepts the write command and stores it in one or more of secure storage devices 48, at a secure caching step 106. Depending on the system configuration used, processor 44 either intercepts the write commands sent over communication link 40, monitors the communication between mirroring application and the data sources, or receives all write commands by forwarding from the mirroring application. After accepting the write command, processor 44 produces a respective record and stores the record in the secure storage devices. The secure storage devices typically acknowledge the successful completion of the storage operation.
In some embodiments, in addition to the data to be stored, the record comprises additional information. Such additional information may comprise, for example, a communication address of the data source that originated the write command, a communication address of the primary storage device, a time stamp indicating the time in which the write command was accepted, a storage address in the primary storage device intended for the data, and/or any additional parameters associated with the write command.
Before, during or after the temporary storage of the record in units 48, the mirroring application sends the data for storage in secondary storage device 32, at a secondary sending step 108. Provided that the records are successfully stored in units 48, the mirroring application sends an acknowledgement to the originating data source 24, at an asynchronous acknowledgement step 110.
Processor 44 checks whether an acknowledgement from the secondary storage device was received, at a secondary acknowledgement checking step 112. Until such acknowledgement is received, processor 44 maintains the respective record cached in secure storage units 48, possibly handling other write commands meanwhile. When an acknowledgement is received from secondary storage device 32, processor 44 deletes the respective record from units 48, at a record deletion step 114.
The sequence of steps 100-114 above describes the processing of a single write command. Typically, mirroring application 36 and protection processor 44 simultaneously process multiple such sequences corresponding to multiple write commands. In some embodiments, the sequence of steps above can be carried out in different orders. For example, once a write command is received by the mirroring application, the data can be sent to the primary and secondary storage devices, and only then a record may be stored in units 48. Some of the steps can be carried out in parallel. For example, storing the write command in the secure storage unit can be performed in parallel to sending the command to the primary and/or secondary storage device.
In some embodiments, the data protection method carried out by processor 44 is described by the following pseudo-code:
FOR every write operation received from a data source DO
  {Allocate a buffer frame within memory 60 of units 48 and
  return a pointer to this buffer denoted BufferFrame.
    Write the corresponding record to the buffer pointed to
  by BufferFrame.}
Of course, memory 60 in units 48 has a finite size and can only accommodate a finite number of records. In some embodiments, before storing a newly-created record, processor 44 checks whether sufficient memory space is available in memory 60 to hold the new record. If insufficient memory is available, processor 44 deletes one or more previous records from memory 60 in order to free memory space for the new record. In some embodiments, the processor deletes the oldest records in memory 60. In some embodiments, the memory management process carried out by processor 44 can be described by the following pseudo-code:
IF free buffer entries within memory 60 exist THEN
  {Allocate a free entry buffer for new record.
   Return pointer BufferFrame pointing to the free buffer.}
ELSE
  {Locate record X having data which resides in memory 60 for
  the longest period of time.
  Discard record X from memory 60.
  Allocate a free buffer entry to new record.
  Return BufferFrame pointing to free buffer entry.}
When performing recovery of the data using the records stored in units 60, the data recovery process can be described by the following pseudo-code:
FOR the data in each record stored in memory 60
DO
  {Read the data of each record in the order in which it was
  originally stored.
  Based on the storage address in the record, write the data to
  the appropriate address in the secondary storage device.}
FIG. 5 is a flow chart that schematically illustrates a method for data protection using early disaster detection, in accordance with another embodiment of the present invention. The method begins with protection processor 44 predicting a developing or approaching disaster event (or a manual activation by a user), at an early detection step 120. In some embodiments, processor 44 analyzes the environmental conditions sensed by sensors 52, as described above, and detects a developing disaster event responsively to the sensed conditions.
When a developing disaster event is detected, processor 44 instructs the mirroring application to stop forwarding write commands to the primary storage device, at a write rejection step 122. Stopping the write operations is particularly important in earthquake conditions, since performing write operations in the presence of mechanical shocks and vibrations may be harmful to the storage device.
Since processor 44 predicts that the primary site is about to be hit by a disaster event, it instructs the mirroring application to stop accepting write commands from data sources 24. In some embodiments, the protection processor stops sending acknowledgements to the mirroring application. As a result, the mirroring application stops accepting new write commands from data sources 24. The protection processor can also use the acknowledgement mechanism to control the rate in which write commands are accepted from the data sources after predicting the disaster event.
In some embodiments, in particular when some of the data sent by data sources 24 is considered important for investigating the disaster event, some data sources (e.g., security cameras) may still be allowed to store data while other data sources (e.g., IT systems) may be declined. In these embodiments, data whose storage is allowed to continue is written to secure storage unit 48 until memory 60 is full.
Having detected an approaching disaster event, processor 44 attempts to use the remaining time for transmitting the data cached in units 48 before the disaster event hits the primary site. Processor 44 retrieves the records stored in units 48, at a record retrieval step 124. Processor 44 then checks whether the primary communication connection with the secondary site (i.e., communication link 40) is still operative, at a primary communication checking step 126. As long as link 40 remains operative, processor 44 uses this link to transmit the records to the secondary site, at a primary transmission step 128.
Otherwise, if the primary link is already inoperative, processor 44 instructs units 48 to transmit the records using the alternative communication link, i.e., using wireless transmitters 76, at an alternative transmission step 130. Additionally or alternatively, as noted above, if a particular unit 48 senses a loss of communication and/or electrical power, it begins transmitting the records stored in memory 60 using transmitter 76.
Although the embodiments described herein mainly address the use of a secure storage unit for guaranteed mirroring of data, the methods, systems and devices described herein can also be used in additional applications. For example, in some systems data is being backed-up periodically to a storage device. A secure storage unit can be used for temporarily and securely storing the data produced in the system between periodic backup operations. This automated mechanism can replace the known practice of manually placing backup tapes or disks in a disaster-proof safe or at a distant location.
It will thus be appreciated that the embodiments described above are cited by way of example, and that the present invention is not limited to what has been particularly shown and described hereinabove. Rather, the scope of the present invention includes both combinations and sub-combinations of the various features described hereinabove, as well as variations and modifications thereof which would occur to persons skilled in the art upon reading the foregoing description and which are not disclosed in the prior art.

Claims (29)

The invention claimed is:
1. A method for data protection, comprising:
in a system that comprises only a single storage device, accepting from one or more data sources data that is sent for storage only in the single storage device;
storing the accepted data in the single storage device at a site;
temporarily storing records associated with the accepted data in a disaster-proof storage unit at or adjacent to the site, including deleting one or more previous records from the disaster-proof storage unit so as to free memory space in the disaster-proof storage unit for storing the records, such that when an event damaging at least some of the data in the single storage device occurs, the disaster-proof storage unit only holds the records associated with the data that was accepted during a limited period preceding occurrence of the event; and
in response to the event, extracting the records from the disaster-proof storage unit and acting upon the extracted records.
2. The method according to claim 1, wherein accepting the data comprises accepting transactions from one or more application servers.
3. The method according to claim 1, wherein acting upon the extracted records comprises investigating the event.
4. The method according to claim 1, wherein the data accepted during the limited period comprises surveillance images.
5. The method according to claim 1, wherein the data accepted during the limited period comprises access control information.
6. The method according to claim 1, wherein the data accepted during the limited period comprises information originating from a telephony system.
7. The method according to claim 1, wherein storing the records comprises storing first records associated with at least part of the data that is relevant to investigation of the event, and second records associated with transactions accepted from one or more Information Technology (IT) systems.
8. The method according to claim 7, wherein storing the records comprises giving priority to the first records over the second records in access to the disaster-proof storage unit.
9. Apparatus for data protection, comprising:
a disaster-proof storage unit, enclosed in a reinforced disaster-proof enclosure; and
a protection processor, which is configured to accept from one or more data sources data that is sent for storage only in a single storage device, and to temporarily store records associated with the data in the disaster-proof storage unit at or adjacent to a site of the single storage device, including deleting one or more previous records from the disaster-proof storage unit so as to free memory space in the disaster-proof storage unit for storing the records, such that when an event damaging at least some of the data in the single storage disk occurs, the disaster-proof storage unit holds only the records associated with the data that was accepted during a limited period preceding occurrence of the event.
10. the apparatus according to claim 9, and comprising a recovery processor, which is configured to recover the data in the single storage device that was damaged by the event using the extracted records.
11. The apparatus according to claim 9, wherein the protection processor is configured to accept the data by accepting transactions from one or more application servers.
12. The apparatus according to claim 9, wherein the data accepted during the predefined time period comprises data that is relevant to investigation of the event.
13. the apparatus according to claim 9, wherein the data accepted during the limited period comprises surveillance images.
14. the apparatus according to claim 9, wherein the data accepted during the limited period comprises access control information.
15. the apparatus according to claim 9, wherein the data accepted during the limited period comprises information originating from a telephony system.
16. The apparatus according to claim 9, wherein the protection processor is configured to store first records associated with at least part of the data that is relevant to investigation of the event, and second records associated with transactions accepted from one or more Information Technology (IT) systems.
17. The apparatus according to claim 16, wherein the protection processor is configured to give priority to the first records over the second records in access to the disaster-proof storage unit.
18. The method according to claim 8, wherein giving priority to the first records comprises, upon detecting that the event is approaching, continuing to store the first records in the disaster-proof storage unit while declining to store the second records.
19. The apparatus according to claim 17, wherein the protection processor is configured, upon detecting that the event is approaching, to continue to store the first records in the disaster-proof storage unit while declining to store the second records.
20. The apparatus according to claim 9, further comprising a sensor configured to detect a developing disaster event at the site, and provide, upon detection, a disaster warning to the protection processor.
21. The apparatus of claim 9, wherein the reinforced enclosure is hermetically sealed.
22. A method for data protection, comprising:
accepting from one or more data sources data that is sent for storage only in a single storage device;
storing the accepted data in the single storage device at the site;
temporarily storing records associated with the accepted data in a disaster-proof storage unit, enclosed in a reinforced disaster-proof enclosure which does not encompass the single storage device, at or adjacent to the site, including deleting one or more previous records from the disaster-proof storage unit so as to free memory space in the disaster-proof storage unit for storing the records, such that when an event damaging at least some of the data in the single storage device occurs, the disaster-proof storage unit holds the only records associated with the data that was accepted during a limited period preceding occurrence of the event; and
in response to the event, extracting the records from the disaster-proof storage unit and acting upon the extracted records.
23. The method of claim 22, wherein the reinforced enclosure is hermetically sealed.
24. The method of claim 22, wherein the disaster-proof storage unit is enclosed in the reinforced enclosure together with a homing device.
25. The method of claim 22, wherein the disaster-proof storage unit is enclosed in the reinforced enclosure together with a transmitter.
26. The method of claim 22, wherein the disaster-proof storage unit is mounted detachably in the reinforced enclosure.
27. The method of claim 22, wherein the reinforced enclosure includes therein an antenna in a folded state, wherein the antenna is configured to be unfolded for transmission in case of a disaster.
28. The method of claim 22, wherein the temporarily stored records include time stamps of respective write times of the data.
29. The method of claim 22, wherein the temporarily stored records include communication addresses of the data sources.
US13/151,289 2005-04-20 2011-06-02 Remote data mirroring system Expired - Fee Related US8914666B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/151,289 US8914666B2 (en) 2005-04-20 2011-06-02 Remote data mirroring system
US13/948,179 US9195397B2 (en) 2005-04-20 2013-07-23 Disaster-proof data recovery

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US67366405P 2005-04-20 2005-04-20
US72911205P 2005-10-20 2005-10-20
PCT/IL2006/000453 WO2006111958A2 (en) 2005-04-20 2006-04-10 Remote data mirroring system
US10/585,587 US7707453B2 (en) 2005-04-20 2006-04-10 Remote data mirroring system
US12/721,580 US7996709B2 (en) 2005-04-20 2010-03-11 Remote data mirroring system
US13/151,289 US8914666B2 (en) 2005-04-20 2011-06-02 Remote data mirroring system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/721,580 Continuation US7996709B2 (en) 2005-04-20 2010-03-11 Remote data mirroring system

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/948,179 Continuation-In-Part US9195397B2 (en) 2005-04-20 2013-07-23 Disaster-proof data recovery

Publications (2)

Publication Number Publication Date
US20110231366A1 US20110231366A1 (en) 2011-09-22
US8914666B2 true US8914666B2 (en) 2014-12-16

Family

ID=39406055

Family Applications (3)

Application Number Title Priority Date Filing Date
US10/585,587 Expired - Fee Related US7707453B2 (en) 2005-04-20 2006-04-10 Remote data mirroring system
US12/721,580 Expired - Fee Related US7996709B2 (en) 2005-04-20 2010-03-11 Remote data mirroring system
US13/151,289 Expired - Fee Related US8914666B2 (en) 2005-04-20 2011-06-02 Remote data mirroring system

Family Applications Before (2)

Application Number Title Priority Date Filing Date
US10/585,587 Expired - Fee Related US7707453B2 (en) 2005-04-20 2006-04-10 Remote data mirroring system
US12/721,580 Expired - Fee Related US7996709B2 (en) 2005-04-20 2010-03-11 Remote data mirroring system

Country Status (3)

Country Link
US (3) US7707453B2 (en)
EP (2) EP2395432B1 (en)
CN (1) CN100543691C (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10379958B2 (en) 2015-06-03 2019-08-13 Axxana (Israel) Ltd. Fast archiving for database systems
US10592326B2 (en) 2017-03-08 2020-03-17 Axxana (Israel) Ltd. Method and apparatus for data loss assessment
US10769028B2 (en) 2013-10-16 2020-09-08 Axxana (Israel) Ltd. Zero-transaction-loss recovery for database systems

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9195397B2 (en) 2005-04-20 2015-11-24 Axxana (Israel) Ltd. Disaster-proof data recovery
US7707453B2 (en) * 2005-04-20 2010-04-27 Axxana (Israel) Ltd. Remote data mirroring system
US7840992B1 (en) * 2006-09-28 2010-11-23 Emc Corporation System and method for environmentally aware data protection
WO2008067075A2 (en) * 2006-10-20 2008-06-05 Citrix Systems, Inc. Systems and methods for responding to the occurrence of an event
WO2008119129A1 (en) * 2007-04-02 2008-10-09 Pip Technology Pty Ltd Systems methods and apparatuses for providing applications style functionality to a user
WO2009047751A2 (en) * 2007-10-08 2009-04-16 Axxana (Israel) Ltd. Fast data recovery system
US20090141435A1 (en) * 2007-11-29 2009-06-04 Barrett Kreiner Containers for transporting data from a first physical location to a second physical location
WO2009141752A2 (en) * 2008-05-19 2009-11-26 Axxana (Israel) Ltd. Resilient data storage in the presence of replication faults and rolling disasters
US20100162032A1 (en) * 2008-12-23 2010-06-24 David Dodgson Storage availability using cryptographic splitting
US8289694B2 (en) * 2009-01-05 2012-10-16 Axxana (Israel) Ltd. Disaster-proof storage unit having transmission capabilities
JP4719802B2 (en) * 2009-03-09 2011-07-06 富士通株式会社 Storage management device, storage management method and storage system
WO2011067702A1 (en) 2009-12-02 2011-06-09 Axxana (Israel) Ltd. Distributed intelligent network
CN102096636B (en) * 2009-12-15 2013-07-03 杭州华三通信技术有限公司 Data storage management method and data storage management device
US20130332413A1 (en) * 2012-06-07 2013-12-12 International Business Machines Corporation Reducing data transfers while eliminating data loss for asynchronous replication of databases
CN103886384B (en) * 2012-12-20 2018-10-19 伊姆西公司 method and system for data protection
EP2962203A4 (en) * 2013-02-27 2016-11-09 Hewlett Packard Entpr Dev Lp Selecting a backup type based on changed data
US9251010B2 (en) 2013-03-13 2016-02-02 International Business Machines Corporation Caching backed-up data locally until successful replication
EP3234796A4 (en) * 2014-12-16 2018-07-04 Telefonaktiebolaget LM Ericsson (publ) Computer servers for datacenter management
US9875042B1 (en) * 2015-03-31 2018-01-23 EMC IP Holding Company LLC Asynchronous replication
JP6623692B2 (en) * 2015-11-02 2019-12-25 富士通株式会社 Log information collection system, log information collection program and log information collection method
US10013320B2 (en) 2016-06-14 2018-07-03 Oracle International Corporation Systems and methods for support log cache device removal through standard user interfaces
US10506202B2 (en) * 2017-11-20 2019-12-10 Cisco Technology, Inc. System and method for protecting critical data on camera systems from physical attack
US11176016B1 (en) * 2020-09-22 2021-11-16 International Business Machines Corporation Detecting and managing anomalies in underground sensors for agricultural applications

Citations (114)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3140847A (en) * 1961-05-15 1964-07-14 Jr Henry P Ames Ejectable flight recorder
EP0420425A2 (en) 1989-09-25 1991-04-03 International Business Machines Corporation A data processing system and method for updating a database therein
US5027104A (en) 1990-02-21 1991-06-25 Reid Donald J Vehicle security device
JPH05233413A (en) 1992-02-19 1993-09-10 Nec Corp File recovery system
GB2273180A (en) 1992-12-02 1994-06-08 Ibm Database backup and recovery.
US5546533A (en) 1992-12-10 1996-08-13 Fujitsu Limited Dynamic device reconfiguration having restricted main storage access for subsystem employing magnetic units
US5623597A (en) 1995-06-15 1997-04-22 Elonex Ip Holdings Ltd. Secure data storage system for a computer wherein a heat transfer apparatus cools a data storage unit in a fireproof safe in absence of a fire and ceases transfer in the event of a fire
US5680579A (en) * 1994-11-10 1997-10-21 Kaman Aerospace Corporation Redundant array of solid state memory devices
US5724501A (en) 1996-03-29 1998-03-03 Emc Corporation Quick recovery of write cache in a fault tolerant I/O system
US5799141A (en) 1995-06-09 1998-08-25 Qualix Group, Inc. Real-time data protection system and method
US5841768A (en) 1996-06-27 1998-11-24 Interdigital Technology Corporation Method of controlling initial power ramp-up in CDMA systems by using short codes
US5889935A (en) 1996-05-28 1999-03-30 Emc Corporation Disaster control features for remote data mirroring
RU2128854C1 (en) 1996-08-30 1999-04-10 Летно-исследовательский институт им.М.М.Громова System of crew support in risky situations
US6105078A (en) 1997-12-18 2000-08-15 International Business Machines Corporation Extended remote copying system for reporting both active and idle conditions wherein the idle condition indicates no updates to the system for a predetermined time period
US6144999A (en) 1998-05-29 2000-11-07 Sun Microsystems, Incorporated Method and apparatus for file system disaster recovery
US6158833A (en) 1999-09-11 2000-12-12 Schwab Corporation Fire-resistant computer storage apparatus
US6173377B1 (en) 1993-04-23 2001-01-09 Emc Corporation Remote data mirroring
US6226651B1 (en) 1998-03-27 2001-05-01 International Business Machines Corporation Database disaster remote site recovery
US6260125B1 (en) 1998-12-09 2001-07-10 Ncr Corporation Asynchronous write queues, reconstruction and check-pointing in disk-mirroring applications
US6298290B1 (en) * 1999-12-30 2001-10-02 Niles Parts Co., Ltd. Memory apparatus for vehicle information data
US6324654B1 (en) * 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
US20010047412A1 (en) 2000-05-08 2001-11-29 Weinman Joseph B. Method and apparatus for maximizing distance of data mirrors
WO2001097030A1 (en) 2000-06-05 2001-12-20 Miralink Corporation Flexible remote data mirroring
US6389552B1 (en) 1998-12-31 2002-05-14 At&T Corp Methods and systems for remote electronic vaulting
US6400730B1 (en) 1999-03-10 2002-06-04 Nishan Systems, Inc. Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network
US20020162112A1 (en) 2001-02-21 2002-10-31 Vesta Broadband Services, Inc. PC-based virtual set-top box for internet-based distribution of video and other data
US20020176417A1 (en) 2001-04-18 2002-11-28 Brocade Communications Systems, Inc. Fibre channel zoning by device name in hardware
US20020188392A1 (en) * 1992-05-05 2002-12-12 Breed David S. Telematics system
US20030014523A1 (en) 2001-07-13 2003-01-16 John Teloh Storage network data replicator
US20030093541A1 (en) 2001-09-28 2003-05-15 Lolayekar Santosh C. Protocol translation in a storage system
US20030097607A1 (en) 2001-11-21 2003-05-22 Bessire Michael L. System and method for ensuring the availability of a storage system
US6574538B2 (en) * 2000-07-26 2003-06-03 Yazaki Corporation Operational condition recording apparatus and operating control system utilizing it
US6580450B1 (en) * 2000-03-22 2003-06-17 Accurate Automation Corporation Vehicle internal image surveillance, recording and selective transmission to an active communications satellite
US20030115324A1 (en) 1998-06-30 2003-06-19 Steven M Blumenau Method and apparatus for providing data management for a storage system coupled to a network
US20030204597A1 (en) 2002-04-26 2003-10-30 Hitachi, Inc. Storage system having virtualized resource
US6658590B1 (en) 2000-03-30 2003-12-02 Hewlett-Packard Development Company, L.P. Controller-based transaction logging system for data recovery in a storage area network
RU2221177C2 (en) 2001-09-03 2004-01-10 Тихомиров Александр Григорьевич Device to protect objects from impact loads
US20040012316A1 (en) 2000-08-16 2004-01-22 Davis William P. Fire-safe electronic data storage protection device
US6684306B1 (en) * 1999-12-16 2004-01-27 Hitachi, Ltd. Data backup in presence of pending hazard
US20040030837A1 (en) 2002-08-07 2004-02-12 Geiner Robert Vaughn Adjusting timestamps to preserve update timing information for cached data objects
US20040044865A1 (en) 2000-03-31 2004-03-04 Sicola Stephen J. Method for transaction command ordering in a remote data replication system
US20040044649A1 (en) 2002-08-28 2004-03-04 Nec Corporation Data copying system, relaying device, data transfer/reception system and program for copying of data in storage unit
US20040059844A1 (en) 2002-09-20 2004-03-25 Woodhead Industries, Inc. Network active I/O module with removable memory unit
US20040064639A1 (en) 2000-03-30 2004-04-01 Sicola Stephen J. Controller-based remote copy system with logical unit grouping
US20040083245A1 (en) 1995-10-16 2004-04-29 Network Specialists, Inc. Real time backup system
JP2004164094A (en) 2002-11-11 2004-06-10 Basu Plus One:Kk Data safe
US20040153717A1 (en) 2002-11-07 2004-08-05 Duncan Kurt A. Apparatus and method for enhancing data availability by implementing inter-storage-unit communication
US20040193802A1 (en) 2003-03-25 2004-09-30 Emc Corporation Reading virtual ordered writes at local storage device
US6816480B1 (en) 1999-09-20 2004-11-09 Intel Corporation Data terminal apparatus
US20040230352A1 (en) 2002-11-22 2004-11-18 Monroe David A. Record and playback system for aircraft
US20040260873A1 (en) 2003-06-17 2004-12-23 Hitachi, Ltd. Method and apparatus for managing replication volumes
US20050005001A1 (en) 2003-03-28 2005-01-06 Hitachi, Ltd. Cluster computing system and its failover method
US20050015657A1 (en) 2003-06-27 2005-01-20 Hitachi, Ltd. Data center system and method for controlling the same
US20050027892A1 (en) 1999-11-11 2005-02-03 Miralink Corporation Flexible remote data mirroring
US6859865B2 (en) 2001-11-09 2005-02-22 Nortel Networks Limited System and method for removing latency effects in acknowledged data transfers
WO2005022292A2 (en) 2003-05-06 2005-03-10 Argo-Tech Corporation Tracking system and associated method
JP2005071068A (en) 2003-08-25 2005-03-17 Renesas Technology Corp Storage device
US6954875B2 (en) 2001-03-12 2005-10-11 Honeywell International Inc. Method of recovering a flight critical computer after a radiation event
US20050243609A1 (en) 2004-05-03 2005-11-03 Yang Ken Q Adaptive cache engine for storage area network including systems and methods related thereto
US6976186B1 (en) 2002-08-27 2005-12-13 At&T Corp. Asymmetric data mirroring
US20050280421A1 (en) 2003-08-27 2005-12-22 Nec Mobiling, Ltd. Earthquarke prediction method and system thereof
US20060025897A1 (en) 2004-07-30 2006-02-02 Shostak Oleksandr T Sensor assemblies
US20060031468A1 (en) 2004-06-01 2006-02-09 Rajeev Atluri Secondary data storage and recovery system
US20060051157A1 (en) * 2004-09-09 2006-03-09 International Business Machines Corporation Systems, methods, and media for backing up a computer system
US7020743B2 (en) 2003-02-24 2006-03-28 Sun Microsystems, Inc. Atomic remote memory operations in cache mirroring storage systems
US20060072580A1 (en) 2004-10-01 2006-04-06 Dropps Frank R Method and system for transferring data drectly between storage devices in a storage area network
US20060075148A1 (en) 2004-09-21 2006-04-06 Hitachi Ltd. Method of and system for testing remote storage
US7065589B2 (en) 2003-06-23 2006-06-20 Hitachi, Ltd. Three data center remote copy system with journaling
US7111189B1 (en) 2000-03-30 2006-09-19 Hewlett-Packard Development Company, L.P. Method for transaction log failover merging during asynchronous operations in a data storage network
US7114094B2 (en) 2004-01-09 2006-09-26 Hitachi, Ltd. Information processing system for judging if backup at secondary site is necessary upon failover
US7120834B1 (en) 2002-03-29 2006-10-10 Marvell International Ltd. Fast port failover in a network switch
WO2006111958A2 (en) 2005-04-20 2006-10-26 Axxana (Israel) Ltd. Remote data mirroring system
US20060274755A1 (en) 2001-06-15 2006-12-07 Broadcom Corporation Switch assisted frame aliasing for storage virtualization
US7148802B2 (en) 2003-10-14 2006-12-12 Paul Abbruscato Direction finder and locator
US20060284214A1 (en) 2005-06-17 2006-12-21 Macronix International Co., Ltd. Thin film fuse phase change cell with thermal isolation layer and manufacturing method
US7185228B2 (en) 2003-01-27 2007-02-27 Hitachi, Ltd. Method for controlling information processing system and information processing system
US7188292B2 (en) 2003-09-26 2007-03-06 Nortel Networks Limited Data mirroring system
US20070079088A1 (en) 2005-10-05 2007-04-05 Akira Deguchi Information processing system, control method for information processing system, and storage system
US20070094467A1 (en) 2005-10-20 2007-04-26 Yasuo Yamasaki Method for rolling back from snapshot with log
US20070124789A1 (en) 2005-10-26 2007-05-31 Sachson Thomas I Wireless interactive communication system
US20070198613A1 (en) 2005-11-28 2007-08-23 Anand Prahlad User interfaces and methods for managing data in a metabase
US20070226438A1 (en) 2005-12-19 2007-09-27 Andrei Erofeev Rolling cache configuration for a data replication system
US20070266197A1 (en) 2005-09-09 2007-11-15 International Business Machines Corporation Device for, method of, and program for dynamically switching modes for writing transaction data into disk
US7302506B2 (en) 2004-12-22 2007-11-27 Hitachi, Ltd. Storage system
US20080004904A1 (en) 2006-06-30 2008-01-03 Tran Bao Q Systems and methods for providing interoperability among healthcare devices
US20080001128A1 (en) 2004-01-27 2008-01-03 Goldfire Sprl Flexible Wall Having Fire Resistant Properties
US20080061963A1 (en) 2006-09-13 2008-03-13 Trackpoint Systems, Llc Device, system and method for tracking mobile assets
US20080104443A1 (en) 2006-10-30 2008-05-01 Hiroaki Akutsu Information system, data transfer method and data protection method
WO2008049703A1 (en) 2006-10-26 2008-05-02 Goldfire Sprl Fire-proof cover
US7383405B2 (en) 2004-06-30 2008-06-03 Microsoft Corporation Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity
US7386376B2 (en) * 2002-01-25 2008-06-10 Intelligent Mechatronic Systems, Inc. Vehicle visual and non-visual data recording system
US20080177964A1 (en) 2007-01-24 2008-07-24 Hitachi, Ltd. Remote copy system
US20080201390A1 (en) 2007-02-15 2008-08-21 Yahoo! Inc. High-availability and data protection of oltp databases
US20080263363A1 (en) 2007-01-22 2008-10-23 Spyrus, Inc. Portable Data Encryption Device with Configurable Security Functionality and Method for File Encryption
US7451355B1 (en) 2003-04-23 2008-11-11 Network Appliance, Inc. System and method for logging disk failure analysis in disk nonvolatile memory
US20080297346A1 (en) 2001-12-28 2008-12-04 Private Pallet Security Systems, Llc Mini pallet-box moving container
US20090007192A1 (en) 2007-06-28 2009-01-01 Gajendra Prasad Singh On board wireless digital entertainment, communication and information system for mass transportation medium
US7478266B2 (en) 2001-05-21 2009-01-13 Mudalla Technology, Inc. Method and apparatus for fast transaction commit over unreliable networks
US7487311B2 (en) 2006-04-21 2009-02-03 Hewlett-Packard Development Company, L.P. System and method for asynchronous backup of virtual disks in a distributed storage array
US20090094425A1 (en) 2007-10-08 2009-04-09 Alex Winokur Fast data recovery system
US7548560B1 (en) 2006-02-27 2009-06-16 Qlogic, Corporation Method and system for checking frame-length in fibre channel frames
US7577807B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
US7577724B1 (en) 2006-03-28 2009-08-18 Emc Corporation Methods and apparatus associated with advisory generation
US20090216969A1 (en) 2005-04-20 2009-08-27 Axxana (Israel) Ltd. Remote data mirroring system
US20090287967A1 (en) 2008-05-19 2009-11-19 Axxana (Israel) Ltd. Resilient Data Storage in the Presence of Replication Faults and Rolling Disasters
US20090313503A1 (en) 2004-06-01 2009-12-17 Rajeev Atluri Systems and methods of event driven recovery management
US7668177B1 (en) 2006-12-28 2010-02-23 Qlogic, Corporation Method and system for quality of service in host bus adapters
US7707460B2 (en) 2005-04-20 2010-04-27 International Business Machines Corporation Method, apparatus and program storage device for protecting data writes in a data storage device
US20100172084A1 (en) 2009-01-05 2010-07-08 Axxana (Israel) Ltd Disaster-Proof Storage Unit Having Transmission Capabilities
WO2010079447A1 (en) 2009-01-12 2010-07-15 Axxana (Israel) Ltd Disaster-proof data recovery
US7797582B1 (en) 2004-02-04 2010-09-14 Netapp, Inc. Method and system for storing data using a continuous data protection system
WO2011015970A1 (en) 2009-08-04 2011-02-10 Axxana (Israel) Ltd. Data gap management in a remote data mirroring system
WO2011067702A1 (en) 2009-12-02 2011-06-09 Axxana (Israel) Ltd. Distributed intelligent network
US20130016721A1 (en) 2001-04-30 2013-01-17 Bill David S Generating Multiple Data Steams From a Single Data Source

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL139628A0 (en) * 2000-11-12 2002-02-10 Eci Telecom Ltd Data mirroring restoration in a distributed system

Patent Citations (118)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3140847A (en) * 1961-05-15 1964-07-14 Jr Henry P Ames Ejectable flight recorder
EP0420425A2 (en) 1989-09-25 1991-04-03 International Business Machines Corporation A data processing system and method for updating a database therein
US5027104A (en) 1990-02-21 1991-06-25 Reid Donald J Vehicle security device
JPH05233413A (en) 1992-02-19 1993-09-10 Nec Corp File recovery system
US20020188392A1 (en) * 1992-05-05 2002-12-12 Breed David S. Telematics system
GB2273180A (en) 1992-12-02 1994-06-08 Ibm Database backup and recovery.
US5594900A (en) 1992-12-02 1997-01-14 International Business Machines Corporation System and method for providing a backup copy of a database
US5546533A (en) 1992-12-10 1996-08-13 Fujitsu Limited Dynamic device reconfiguration having restricted main storage access for subsystem employing magnetic units
US20040073831A1 (en) 1993-04-23 2004-04-15 Moshe Yanai Remote data mirroring
US6173377B1 (en) 1993-04-23 2001-01-09 Emc Corporation Remote data mirroring
US5680579A (en) * 1994-11-10 1997-10-21 Kaman Aerospace Corporation Redundant array of solid state memory devices
US5799141A (en) 1995-06-09 1998-08-25 Qualix Group, Inc. Real-time data protection system and method
US5623597A (en) 1995-06-15 1997-04-22 Elonex Ip Holdings Ltd. Secure data storage system for a computer wherein a heat transfer apparatus cools a data storage unit in a fireproof safe in absence of a fire and ceases transfer in the event of a fire
US20040083245A1 (en) 1995-10-16 2004-04-29 Network Specialists, Inc. Real time backup system
US5724501A (en) 1996-03-29 1998-03-03 Emc Corporation Quick recovery of write cache in a fault tolerant I/O system
US5889935A (en) 1996-05-28 1999-03-30 Emc Corporation Disaster control features for remote data mirroring
US5841768A (en) 1996-06-27 1998-11-24 Interdigital Technology Corporation Method of controlling initial power ramp-up in CDMA systems by using short codes
RU2128854C1 (en) 1996-08-30 1999-04-10 Летно-исследовательский институт им.М.М.Громова System of crew support in risky situations
US6105078A (en) 1997-12-18 2000-08-15 International Business Machines Corporation Extended remote copying system for reporting both active and idle conditions wherein the idle condition indicates no updates to the system for a predetermined time period
US6226651B1 (en) 1998-03-27 2001-05-01 International Business Machines Corporation Database disaster remote site recovery
US6324654B1 (en) * 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
US6144999A (en) 1998-05-29 2000-11-07 Sun Microsystems, Incorporated Method and apparatus for file system disaster recovery
US20030115324A1 (en) 1998-06-30 2003-06-19 Steven M Blumenau Method and apparatus for providing data management for a storage system coupled to a network
US6260125B1 (en) 1998-12-09 2001-07-10 Ncr Corporation Asynchronous write queues, reconstruction and check-pointing in disk-mirroring applications
US6389552B1 (en) 1998-12-31 2002-05-14 At&T Corp Methods and systems for remote electronic vaulting
US6400730B1 (en) 1999-03-10 2002-06-04 Nishan Systems, Inc. Method and apparatus for transferring data between IP network devices and SCSI and fibre channel devices over an IP network
US6158833A (en) 1999-09-11 2000-12-12 Schwab Corporation Fire-resistant computer storage apparatus
US6816480B1 (en) 1999-09-20 2004-11-09 Intel Corporation Data terminal apparatus
US20050027892A1 (en) 1999-11-11 2005-02-03 Miralink Corporation Flexible remote data mirroring
US6684306B1 (en) * 1999-12-16 2004-01-27 Hitachi, Ltd. Data backup in presence of pending hazard
US6298290B1 (en) * 1999-12-30 2001-10-02 Niles Parts Co., Ltd. Memory apparatus for vehicle information data
US6580450B1 (en) * 2000-03-22 2003-06-17 Accurate Automation Corporation Vehicle internal image surveillance, recording and selective transmission to an active communications satellite
US7111189B1 (en) 2000-03-30 2006-09-19 Hewlett-Packard Development Company, L.P. Method for transaction log failover merging during asynchronous operations in a data storage network
US6658590B1 (en) 2000-03-30 2003-12-02 Hewlett-Packard Development Company, L.P. Controller-based transaction logging system for data recovery in a storage area network
US20040064639A1 (en) 2000-03-30 2004-04-01 Sicola Stephen J. Controller-based remote copy system with logical unit grouping
US20040044865A1 (en) 2000-03-31 2004-03-04 Sicola Stephen J. Method for transaction command ordering in a remote data replication system
US20010047412A1 (en) 2000-05-08 2001-11-29 Weinman Joseph B. Method and apparatus for maximizing distance of data mirrors
WO2001097030A1 (en) 2000-06-05 2001-12-20 Miralink Corporation Flexible remote data mirroring
US6574538B2 (en) * 2000-07-26 2003-06-03 Yazaki Corporation Operational condition recording apparatus and operating control system utilizing it
US20040012316A1 (en) 2000-08-16 2004-01-22 Davis William P. Fire-safe electronic data storage protection device
US20020162112A1 (en) 2001-02-21 2002-10-31 Vesta Broadband Services, Inc. PC-based virtual set-top box for internet-based distribution of video and other data
US6954875B2 (en) 2001-03-12 2005-10-11 Honeywell International Inc. Method of recovering a flight critical computer after a radiation event
US20020176417A1 (en) 2001-04-18 2002-11-28 Brocade Communications Systems, Inc. Fibre channel zoning by device name in hardware
US20130016721A1 (en) 2001-04-30 2013-01-17 Bill David S Generating Multiple Data Steams From a Single Data Source
US7478266B2 (en) 2001-05-21 2009-01-13 Mudalla Technology, Inc. Method and apparatus for fast transaction commit over unreliable networks
US20060274755A1 (en) 2001-06-15 2006-12-07 Broadcom Corporation Switch assisted frame aliasing for storage virtualization
US20030014523A1 (en) 2001-07-13 2003-01-16 John Teloh Storage network data replicator
RU2221177C2 (en) 2001-09-03 2004-01-10 Тихомиров Александр Григорьевич Device to protect objects from impact loads
US20030093541A1 (en) 2001-09-28 2003-05-15 Lolayekar Santosh C. Protocol translation in a storage system
US6859865B2 (en) 2001-11-09 2005-02-22 Nortel Networks Limited System and method for removing latency effects in acknowledged data transfers
US20030097607A1 (en) 2001-11-21 2003-05-22 Bessire Michael L. System and method for ensuring the availability of a storage system
US20080297346A1 (en) 2001-12-28 2008-12-04 Private Pallet Security Systems, Llc Mini pallet-box moving container
US7386376B2 (en) * 2002-01-25 2008-06-10 Intelligent Mechatronic Systems, Inc. Vehicle visual and non-visual data recording system
US7120834B1 (en) 2002-03-29 2006-10-10 Marvell International Ltd. Fast port failover in a network switch
US20030204597A1 (en) 2002-04-26 2003-10-30 Hitachi, Inc. Storage system having virtualized resource
US6842825B2 (en) 2002-08-07 2005-01-11 International Business Machines Corporation Adjusting timestamps to preserve update timing information for cached data objects
US20040030837A1 (en) 2002-08-07 2004-02-12 Geiner Robert Vaughn Adjusting timestamps to preserve update timing information for cached data objects
US6976186B1 (en) 2002-08-27 2005-12-13 At&T Corp. Asymmetric data mirroring
US20040044649A1 (en) 2002-08-28 2004-03-04 Nec Corporation Data copying system, relaying device, data transfer/reception system and program for copying of data in storage unit
US20040059844A1 (en) 2002-09-20 2004-03-25 Woodhead Industries, Inc. Network active I/O module with removable memory unit
US20040153717A1 (en) 2002-11-07 2004-08-05 Duncan Kurt A. Apparatus and method for enhancing data availability by implementing inter-storage-unit communication
JP2004164094A (en) 2002-11-11 2004-06-10 Basu Plus One:Kk Data safe
US20040230352A1 (en) 2002-11-22 2004-11-18 Monroe David A. Record and playback system for aircraft
US7185228B2 (en) 2003-01-27 2007-02-27 Hitachi, Ltd. Method for controlling information processing system and information processing system
US7020743B2 (en) 2003-02-24 2006-03-28 Sun Microsystems, Inc. Atomic remote memory operations in cache mirroring storage systems
US20040193802A1 (en) 2003-03-25 2004-09-30 Emc Corporation Reading virtual ordered writes at local storage device
US20050005001A1 (en) 2003-03-28 2005-01-06 Hitachi, Ltd. Cluster computing system and its failover method
US7451355B1 (en) 2003-04-23 2008-11-11 Network Appliance, Inc. System and method for logging disk failure analysis in disk nonvolatile memory
WO2005022292A2 (en) 2003-05-06 2005-03-10 Argo-Tech Corporation Tracking system and associated method
US20040260873A1 (en) 2003-06-17 2004-12-23 Hitachi, Ltd. Method and apparatus for managing replication volumes
US7065589B2 (en) 2003-06-23 2006-06-20 Hitachi, Ltd. Three data center remote copy system with journaling
US20050015657A1 (en) 2003-06-27 2005-01-20 Hitachi, Ltd. Data center system and method for controlling the same
JP2005071068A (en) 2003-08-25 2005-03-17 Renesas Technology Corp Storage device
US20050280421A1 (en) 2003-08-27 2005-12-22 Nec Mobiling, Ltd. Earthquarke prediction method and system thereof
US7577807B2 (en) 2003-09-23 2009-08-18 Symantec Operating Corporation Methods and devices for restoring a portion of a data store
US7188292B2 (en) 2003-09-26 2007-03-06 Nortel Networks Limited Data mirroring system
US7148802B2 (en) 2003-10-14 2006-12-12 Paul Abbruscato Direction finder and locator
US7114094B2 (en) 2004-01-09 2006-09-26 Hitachi, Ltd. Information processing system for judging if backup at secondary site is necessary upon failover
US20080001128A1 (en) 2004-01-27 2008-01-03 Goldfire Sprl Flexible Wall Having Fire Resistant Properties
US7797582B1 (en) 2004-02-04 2010-09-14 Netapp, Inc. Method and system for storing data using a continuous data protection system
US20050243609A1 (en) 2004-05-03 2005-11-03 Yang Ken Q Adaptive cache engine for storage area network including systems and methods related thereto
US20060031468A1 (en) 2004-06-01 2006-02-09 Rajeev Atluri Secondary data storage and recovery system
US20090313503A1 (en) 2004-06-01 2009-12-17 Rajeev Atluri Systems and methods of event driven recovery management
US7383405B2 (en) 2004-06-30 2008-06-03 Microsoft Corporation Systems and methods for voluntary migration of a virtual machine between hosts with common storage connectivity
US20060025897A1 (en) 2004-07-30 2006-02-02 Shostak Oleksandr T Sensor assemblies
US20060051157A1 (en) * 2004-09-09 2006-03-09 International Business Machines Corporation Systems, methods, and media for backing up a computer system
US20060075148A1 (en) 2004-09-21 2006-04-06 Hitachi Ltd. Method of and system for testing remote storage
US20060072580A1 (en) 2004-10-01 2006-04-06 Dropps Frank R Method and system for transferring data drectly between storage devices in a storage area network
US7302506B2 (en) 2004-12-22 2007-11-27 Hitachi, Ltd. Storage system
US7707460B2 (en) 2005-04-20 2010-04-27 International Business Machines Corporation Method, apparatus and program storage device for protecting data writes in a data storage device
US20090216969A1 (en) 2005-04-20 2009-08-27 Axxana (Israel) Ltd. Remote data mirroring system
US20100169706A1 (en) 2005-04-20 2010-07-01 Axxana (Israel) Ltd Remote data mirroring system
WO2006111958A2 (en) 2005-04-20 2006-10-26 Axxana (Israel) Ltd. Remote data mirroring system
US20060284214A1 (en) 2005-06-17 2006-12-21 Macronix International Co., Ltd. Thin film fuse phase change cell with thermal isolation layer and manufacturing method
US20070266197A1 (en) 2005-09-09 2007-11-15 International Business Machines Corporation Device for, method of, and program for dynamically switching modes for writing transaction data into disk
US20070079088A1 (en) 2005-10-05 2007-04-05 Akira Deguchi Information processing system, control method for information processing system, and storage system
US20070094467A1 (en) 2005-10-20 2007-04-26 Yasuo Yamasaki Method for rolling back from snapshot with log
US20070124789A1 (en) 2005-10-26 2007-05-31 Sachson Thomas I Wireless interactive communication system
US20070198613A1 (en) 2005-11-28 2007-08-23 Anand Prahlad User interfaces and methods for managing data in a metabase
US20070226438A1 (en) 2005-12-19 2007-09-27 Andrei Erofeev Rolling cache configuration for a data replication system
US7548560B1 (en) 2006-02-27 2009-06-16 Qlogic, Corporation Method and system for checking frame-length in fibre channel frames
US7577724B1 (en) 2006-03-28 2009-08-18 Emc Corporation Methods and apparatus associated with advisory generation
US7487311B2 (en) 2006-04-21 2009-02-03 Hewlett-Packard Development Company, L.P. System and method for asynchronous backup of virtual disks in a distributed storage array
US20080004904A1 (en) 2006-06-30 2008-01-03 Tran Bao Q Systems and methods for providing interoperability among healthcare devices
US20080061963A1 (en) 2006-09-13 2008-03-13 Trackpoint Systems, Llc Device, system and method for tracking mobile assets
WO2008049703A1 (en) 2006-10-26 2008-05-02 Goldfire Sprl Fire-proof cover
US20080104443A1 (en) 2006-10-30 2008-05-01 Hiroaki Akutsu Information system, data transfer method and data protection method
US7668177B1 (en) 2006-12-28 2010-02-23 Qlogic, Corporation Method and system for quality of service in host bus adapters
US20080263363A1 (en) 2007-01-22 2008-10-23 Spyrus, Inc. Portable Data Encryption Device with Configurable Security Functionality and Method for File Encryption
US20080177964A1 (en) 2007-01-24 2008-07-24 Hitachi, Ltd. Remote copy system
US20080201390A1 (en) 2007-02-15 2008-08-21 Yahoo! Inc. High-availability and data protection of oltp databases
US20090007192A1 (en) 2007-06-28 2009-01-01 Gajendra Prasad Singh On board wireless digital entertainment, communication and information system for mass transportation medium
US20090094425A1 (en) 2007-10-08 2009-04-09 Alex Winokur Fast data recovery system
US20090287967A1 (en) 2008-05-19 2009-11-19 Axxana (Israel) Ltd. Resilient Data Storage in the Presence of Replication Faults and Rolling Disasters
US20100172084A1 (en) 2009-01-05 2010-07-08 Axxana (Israel) Ltd Disaster-Proof Storage Unit Having Transmission Capabilities
WO2010079447A1 (en) 2009-01-12 2010-07-15 Axxana (Israel) Ltd Disaster-proof data recovery
WO2011015970A1 (en) 2009-08-04 2011-02-10 Axxana (Israel) Ltd. Data gap management in a remote data mirroring system
WO2011067702A1 (en) 2009-12-02 2011-06-09 Axxana (Israel) Ltd. Distributed intelligent network

Non-Patent Citations (42)

* Cited by examiner, † Cited by third party
Title
"Flexible Min-K: Product Information", Thermal Ceramics Inc, Jan. 2008.
ANSI/INCITS standard 269-1996, "Information Technology-SCSI-3 Fibre Channel Protocol (FCP)", American National Standards Institute (ANSI) and the International Committee for Information Technology Standards (INCITS), Apr. 8, 1996.
ANSI/INCITS standard 269-1996, "Information Technology—SCSI-3 Fibre Channel Protocol (FCP)", American National Standards Institute (ANSI) and the International Committee for Information Technology Standards (INCITS), Apr. 8, 1996.
Chinese Patent Application No. 200680017546.1 Official Action dated Dec. 26, 2008.
EMC Corporation, "EMS SRDF Family: High-Performance remote replication for business continuity", USA (Sep. 6, 2006).
EP Application # 11150100.3 Partial Search Report dated Mar. 1, 2011.
EP Patent Application # 08789728.6 Search Report dated Jan. 16, 2012.
EP Patent Application # 09750209.0 Search Report dated Jan. 18, 2012.
EP Patent Application # 11178916.0 Search Report dated Nov. 10, 2011.
European Patent Application # 11150100.3 Extended Search Report dated Sep. 26, 2012.
European Patent Application No. 06728254.1 Official Action dated Jan. 22, 2010.
European Patent Application No. 06728254.1 Official Action dated Sep. 3, 2009.
European Patent Application No. 06728254.1 Summons to Attend Oral Proceedings dated Jun. 8, 2010.
European Patent Application No. 06728254.1 Supplementary Search Report dated Aug. 19, 2009.
Firetrust, "FireTrust Technology", Brussels, Belgium, 2009.
Goldfire Ltd., "Technology and Solutions Developed for Our Clients", Brussels, Belgium, 2009.
IBM Corporation, "Storage Solutions: Data Encryption within the Drive Itself", USA (Sep. 6, 2006).
International Application No. PCT/IB2014/060689 Search Report dated Jul. 28, 2014.
International Application No. PCT/IL2006/000453 Search Report dated Mar. 9, 2007.
International Application No. PCT/IL2008/001052 Search Report dated Nov. 19, 2008.
International Application PCT/IB2009/051919 Search Report dated Oct. 16, 2009.
International Application PCT/IB2009/055961 Search Report dated Jun. 24, 2010.
International Application PCT/IB2010/050041 Search Report dated Jun. 8, 2010.
International Application PCT/IB2010/053427 Search Report dated Dec. 27, 2010.
Japanese Application # 2008-507263 Official Action dated Jul. 1, 2011.
Nadporojski, G., "Review of GSM-telephone Benefon Twin+", published on http://www.ixbt.com, Jan. 9, 2001.
Russian Patent Application # 2009126283 Official Action dated Sep. 7, 2010.
Russian Patent Application # 2011117119 Office Action dated Sep. 10, 2012.
Russian Patent Application No. 2007141777 Official Action dated May 6, 2009.
Russian Patent Application No. 2009126283 Official Action dated Mar. 1, 2011.
U.S. Appl. No. 10/585,587 Official Action dated Aug. 20, 2009.
U.S. Appl. No. 10/585,587 Official Action dated Dec. 7, 2009.
U.S. Appl. No. 12/228,315 Official Action dated Feb. 18, 2011.
U.S. Appl. No. 12/228,315 Official Action dated Sep. 9, 2010.
U.S. Appl. No. 12/463,438 Official Action dated Mar. 4, 2011.
U.S. Appl. No. 12/647,565 Official Action dated Jan. 23, 2012.
U.S. Appl. No. 12/721,580 Official Action dated Feb. 23, 2011.
U.S. Appl. No. 12/721,580 Official Action dated Sep. 28, 2010.
U.S. Appl. No. 13/132,921 Office Action dated Jun. 20, 2013.
U.S. Appl. No. 13/382,926 Office Action dated Aug. 12, 2014.
U.S. Appl. No. 13/382,926 Office Action dated Jan. 31, 2014.
U.S. Appl. No. 13/395,673 Office Action dated Dec. 31, 2013.

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10769028B2 (en) 2013-10-16 2020-09-08 Axxana (Israel) Ltd. Zero-transaction-loss recovery for database systems
US10379958B2 (en) 2015-06-03 2019-08-13 Axxana (Israel) Ltd. Fast archiving for database systems
US10592326B2 (en) 2017-03-08 2020-03-17 Axxana (Israel) Ltd. Method and apparatus for data loss assessment

Also Published As

Publication number Publication date
US7707453B2 (en) 2010-04-27
EP2328089B1 (en) 2014-07-09
EP2328089A2 (en) 2011-06-01
EP2328089A3 (en) 2012-10-24
US7996709B2 (en) 2011-08-09
EP2395432B1 (en) 2013-07-24
US20090216969A1 (en) 2009-08-27
EP2395432A1 (en) 2011-12-14
CN101180610A (en) 2008-05-14
US20110231366A1 (en) 2011-09-22
US20100169706A1 (en) 2010-07-01
CN100543691C (en) 2009-09-23

Similar Documents

Publication Publication Date Title
US8914666B2 (en) Remote data mirroring system
EP1875350B1 (en) Remote data mirroring system
US7984327B2 (en) Fast data recovery system
US5537533A (en) System and method for remote mirroring of digital data from a primary network server to a remote network server
US8015436B2 (en) Resilient data storage in the presence of replication faults and rolling disasters
US6763436B2 (en) Redundant data storage and data recovery system
US7694177B2 (en) Method and system for resynchronizing data between a primary and mirror data storage system
US20080077686A1 (en) System and Method for Replication of Network State for Transparent Recovery of Network Connections
US9195397B2 (en) Disaster-proof data recovery
CN103942252B (en) A kind of method and system for recovering data
US7496787B2 (en) Systems and methods for checkpointing
US20130332416A1 (en) Reducing data transfers while eliminating data loss for asynchronous replication of databases
AU2006297142A1 (en) No data loss IT disaster recovery over extended distances
US11556400B2 (en) Handling large messages via pointer and log
WO2014170810A1 (en) Synchronously mirroring very fast storage arrays
US10929431B2 (en) Collision handling during an asynchronous replication
US20110264954A1 (en) Disaster-proof data recovery
US20180004761A1 (en) Managing manifests for replication
US20180004617A1 (en) Managing sets of transactions for replication

Legal Events

Date Code Title Description
AS Assignment

Owner name: AXXANA (ISRAEL) LTD., ISRAEL

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:WINOKUR, ALEX;REEL/FRAME:026374/0130

Effective date: 20100222

STCF Information on status: patent grant

Free format text: PATENTED CASE

FEPP Fee payment procedure

Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.)

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551)

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20221216