WO2017052541A1 - Communication path loss - Google Patents

Communication path loss Download PDF

Info

Publication number
WO2017052541A1
WO2017052541A1 PCT/US2015/051807 US2015051807W WO2017052541A1 WO 2017052541 A1 WO2017052541 A1 WO 2017052541A1 US 2015051807 W US2015051807 W US 2015051807W WO 2017052541 A1 WO2017052541 A1 WO 2017052541A1
Authority
WO
WIPO (PCT)
Prior art keywords
communication path
data
client
primary
data storage
Prior art date
Application number
PCT/US2015/051807
Other languages
French (fr)
Inventor
Sheridan Kooyers
Original Assignee
Hewlett Packard Enterprise Development Lp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Enterprise Development Lp filed Critical Hewlett Packard Enterprise Development Lp
Priority to PCT/US2015/051807 priority Critical patent/WO2017052541A1/en
Publication of WO2017052541A1 publication Critical patent/WO2017052541A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2038Error 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 processing functionality is redundant with a single idle spare processing component
    • 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/202Error 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 processing functionality is redundant
    • G06F11/2048Error 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 processing functionality is redundant where the redundant components share neither address space nor persistent storage
    • 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/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)

Abstract

Examples disclosed herein relate to detecting a loss of communication from a client at a first network path, wherein the first network path is designated a primary network path. A determination may be made as to whether a second network path is receiving communication from the client, wherein the second network path is designated a secondary network path. In response to determining that the secondary network path is receiving communication from the client, the second network path may be designated as the primary network path.

Description

COMMUNICATION PATH LOSS
BACKGROUND
[0001 ] Data is often sent from numerous client devices to a storage device and/or multiple storage devices. In some situations, the storage devices may comprise primary and secondary storage devices that may replicate the data between them.
BRIEF DESCRIPTION OF THE DRAWINGS
[0002] In the accompanying drawings, like numerals refer to like components or blocks. The following detailed description references the drawings, wherein:
[0003] FIG. 1 is a block diagram of an example data communication device;
[0004] FIG. 2 is a flowchart of an example of a method for providing data communication; and
[0005] FIG. 3 is a block diagram of an example system for providing data communication.
DETAILED DESCRIPTION
[0006] In many data center or cloud environments data may be replicated to secondary or tertiary sites for disaster tolerance and high availability applications. Application servers may be deployed across multiple geographical sites with access to local and remote storage devices via redundant communication paths such as Storage Area Networks (SAN). Such storage devices may transparently failover client communications to a secondary site when a primary storage device fails. However, if there is a SAN failure or other server site failure, such that the application server loses access to the primary storage device, intervention may be required at the server site to restore data communication. [0007] Implementations consistent with this disclosure may allow the storage device to detect the communication failure scenario and automatically switch the server to access to an available secondary communication path. For example, data flow may be monitored on the active/primary and standby/secondary input/output (I/O) paths between the application servers and data storage devices. The primary I/O communication path may receive data directly from a client application server then replicate that data to other storage devices. The other storage devices may, for example, be accessible to the client server via the secondary I/O communication path and may be located in a different data center. In this environment, SCSI Asymmetic Logical Unit Access (ALUA) states may be used to control I/O access to the data devices by presenting the primary and secondary I/O paths to the client servers using the same World Wide Name (WWN).
[0008] Normally, data received from the client server on the secondary communication path is rejected, as data is expected to be replicated to the storage device on the secondary path from the storage device on the primary path rather than received directly from the client server. If the data communication on the primary I/O communication path becomes zero, however, and data begins to be received on the secondary I/O communication path, for a threshold period of time, the primary and secondary communication paths may be switched. Thus the secondary path may be re-designated as the primary communication path, allowing data to be received and stored while the original primary path may be re-designated as a secondary communication path. The secondary/backup storage device becomes the new primary storage device so that data is serviced by only one storage device to maintain data consistency. The primary and secondary storage devices may periodically share ALUA state and data communication information so that communication path state changes occur within maximum I/O service times to facilitate transparent failover of I/O workloads.
[0009] Referring now to the drawings, FIG. 1 is a block diagram of an example data communication device 100 consistent with disclosed implementations. Data communication device 100 may comprise a processor 1 10 and a non-transitory machine-readable storage medium 120. Data communication device 100 may comprise a computing device such as a server computer, a desktop computer, a laptop computer, a handheld computing device, a smart phone, a tablet computing device, a mobile phone, a network device (e.g., a switch and/or router), or the like.
[0010] Processor 1 10 may comprise a central processing unit (CPU), a semiconductor-based microprocessor, a programmable component such as a complex programmable logic device (CPLD) and/or field-programmable gate array (FPGA), or any other hardware device suitable for retrieval and execution of instructions stored in machine-readable storage medium 120. In particular, processor 1 10 may fetch, decode, and execute a plurality of detect loss of data instructions 132, communication path determination instructions 134, and communication path designation instructions 136 to implement the functionality described in detail below.
[001 1 ] Executable instructions may comprise logic stored in any portion and/or component of machine-readable storage medium 120 and executable by processor 1 10. The machine-readable storage medium 120 may comprise both volatile and/or nonvolatile memory and data storage components. Volatile components are those that do not retain data values upon loss of power. Nonvolatile components are those that retain data upon a loss of power.
[0012] The machine-readable storage medium 120 may comprise, for example, random access memory (RAM), read-only memory (ROM), hard disk drives, solid- state drives, USB flash drives, memory cards accessed via a memory card reader, floppy disks accessed via an associated floppy disk drive, optical discs accessed via an optical disc drive, magnetic tapes accessed via an appropriate tape drive, and/or other memory components, and/or a combination of any two and/or more of these memory components. In addition, the RAM may comprise, for example, static random access memory (SRAM), dynamic random access memory (DRAM), and/or magnetic random access memory (MRAM) and other such devices. The ROM may comprise, for example, a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), and/or other like memory device. [0013] Detect loss of data instructions 132 may detect a loss of data from a client 150 at a first communication path 160, wherein the first communication path is designated a primary communication path. The designation of a communication path as a primary and/or secondary communication path may use, for example, ALUA state designations. Client 150 may, for example, comprise a computing device such as an application server. First communication path 160 may comprise a path over a network to allow communication of data between client 150 and device 100. Client 150 may provide data for storage to a primary data storage device, such as device 100.
[0014] Communication path determination instructions 134 may determine whether a second communication path (not shown) is receiving data from the client 150, wherein the second communication path is designated a secondary communication path. In some implementations, communication path determination instructions 134 may determine whether the first communication path 160 has ceased receiving data from the client 150. For example, client 150 may detect that first communication path 160 is no longer active, such as may occur with a network disruption between client 150 and device 100. Device 100 may communicate with another computing device, such as a storage device at another data center, to determine whether client 150 is trying to send data on the secondary communication path to the other data center and/or other storage device by querying the other storage device via a network.
[0015] In some implementations, the disruption to first communication path 160 may affect the ability of device 100 to communicate with the secondary storage device as well. In such occurrences, device 100 may automatically designate itself as a secondary device instead of the primary device. Once communication path 160 to client 150 is restored, client 150 may be instructed to resume treating first communication path 160 as the primary communication path or may be informed that first communication path 160 should be designated a secondary communication path.
[0016] Communication path designation instructions 136 may, in response to determining that the secondary communication path is receiving data from the client 150, designate the second communication path as the primary communication path. For example, device 100 and a second device, such as another storage device at another data center, may communicate with each other and agree to designate the other storage device as primary while device 100 is designated as secondary. These designations may comprise, for example, ALUA states. The new primary storage device may continue to receive data from client 150 on the newly designated primary communication path.
[0017] Communication path designation instructions 136 may further comprise instructions to designate the first communication path 160 as the secondary communication path. In some implementations, the second communication path may comprise one of a plurality of available designated secondary communication paths. In some implementations, each of the plurality of designated secondary communication paths may be associated with a priority value, with the highest priority value secondary path becoming the new primary path. In some implementations, communication path designation instructions 136 may further comprise instructions to change a data replication direction between the primary data storage device and the secondary data storage device. For example, device 100 may replicate data received from client 150 to secondary storage devices while acting as a primary storage device. Once first communication path 160 has been designated as a secondary communication path, however, device 100 may begin receiving replicated data from the storage device associated with the newly designated primary communication path.
[0018] FIG. 2 is a flowchart of an example method 200 for data communication consistent with disclosed implementations. Although execution of method 200 is described below with reference to the components of device 100, other suitable components for execution of method 200 may be used.
[0019] Method 200 may begin in stage 205 and proceed to stage 210 where device 100 may designate a first communication path between a client and a first data storage device as a primary communication path. For example, ALUA states may be used to inform a client and/or multiple clients of which of a plurality of available storage devices and communication paths to those storage devices should be treated as primary/active. A primary communication path may be used to submit all data for storage.
[0020] Method 200 may then advance to stage 215 where device 100 may designate a second communication path between a client and a second data storage device as a secondary communication path. For example, ALUA states may be used to inform a client and/or multiple clients of that each of a plurality of available storage devices and communication paths not designated as primary should be treated as secondary/standby. A secondary communication path may be used to submit data for storage after a primary communication path has failed.
[0021 ] Method 200 may then advance to stage 220 where device 100 may establish a data replication direction from the first data storage device to the second data storage device. For example, the primary data storage device may send copies of data received from the client to the secondary data storage devices.
[0022] Method 200 may then advance to stage 225 where device 100 may detect a loss of the first communication path between the client and the first data storage device. For example, detect loss of data instructions 132 may detect a loss of data from a client 150 at a first communication path 160, wherein the first communication path is designated a primary communication path. The designation of a communication path as a primary and/or secondary communication path may use, for example, ALUA state designations. Client 150 may, for example, comprise a computing device such as an application server. First communication path 160 may comprise a path over a network to allow communication of data between client 150 and device 100. Client 150 may provide data for storage to a primary data storage device, such as device 100.
[0023] In some implementations, detecting the loss of the first communication path between the client and the first data storage device may comprise detecting the client providing data to the second data storage device instead of the first data storage device. For example, communication path determination instructions 134 may determine whether a second communication path is receiving data from the client 150, wherein the second communication path is designated a secondary communication path. In some implementations, communication path determination instructions 134 may determine whether the first communication path 160 has ceased receiving data from the client 150. For example, client 150 may detect that first communication path 160 is no longer active, such as may occur with a network disruption between client 150 and device 100. Device 100 may communicate with another computing device, such as a storage device at another data center, to determine whether client 150 is trying to send data on the secondary communication path to the other data center and/or other storage device by querying the other storage device via a network.
[0024] In some implementations, the disruption to first communication path 160 may affect the ability of device 100 to communicate with the secondary storage device as well. In such occurrences, device 100 may automatically designate itself as a secondary device instead of the primary device. Once communication path 160 to client 150 is restored, client 150 may be instructed to resume treating first communication path 160 as the primary communication path or may be informed that first communication path 160 should be designated a secondary communication path.
[0025] Communication path designation instructions 136 may further comprise instructions to designate the first communication path 160 as the secondary communication path. In some implementations, the second communication path may comprise one of a plurality of available designated secondary communication paths. In some implementations, each of the plurality of designated secondary communication paths may be associated with a priority value, with the highest priority value secondary path becoming the new primary path. In some implementations, communication path designation instructions 136 may further comprise instructions to change a data replication direction between the primary data storage device and the secondary data storage device. For example, device 100 may replicate data received from client 150 to secondary storage devices while acting as a primary storage device. Once first communication path 160 has been designated as a secondary communication path, however, device 100 may begin receiving replicated data from the storage device associated with the newly designated primary communication path.
[0026] For example, communication path designation instructions 136 may further comprise instructions to designate the first communication path 160 as the secondary communication path. In some implementations, the second communication path may comprise one of a plurality of available designated secondary communication paths. In some implementations, each of the plurality of designated secondary communication paths may be associated with a priority value, with the highest priority value secondary path becoming the new primary path and the former primary path becoming a new secondary path. In some implementations, communication path designation instructions 136 may further comprise instructions to change a data replication direction between the primary data storage device and the secondary data storage device. For example, device 100 may replicate data received from client 150 to secondary storage devices while acting as a primary storage device. Once first communication path 160 has been designated as a secondary communication path, however, device 100 may begin receiving replicated data from the storage device associated with the newly designated primary communication path.
[0027] In some implementations, re-designating the second communication path as the primary communication path may comprise informing the client to use the second communication path as the primary network path. In some implementations, re-designating the second communication path as the primary communication path may comprise identifying a second client using the first communication path as the primary communication path and informing the second client to use the second communication path as the primary communication path.
[0028] Method 200 may then advance to stage 225 where device 100 may reestablishing the data replication direction from the second data storage device to the first data storage device. For example, the second data storage device may begin sending copies of the data received from the client to the first data storage device. [0029] If a loss and/or failure of the primary communication path is detected at stage 225, method 200 may advance to stage 230 where device 100 may redesignate the second communication path as the primary network path. For example, communication path designation instructions 136 may, in response to determining that the secondary communication path is receiving data from the client 150, designate the second communication path as the primary communication path. For example, device 100 and a second device, such as another storage device at another data center, may communicate with each other and agree to designate the other storage device as primary while device 100 is designated as secondary. These designations may comprise, for example, ALUA states. The new primary storage device may continue to receive data from client 150 on the newly designated primary communication path.
[0030] Method 200 may then advance to stage 235 where device 100 may reestablish the data replication direction from the second data storage device to the first data storage device. For example, the second data storage device may send a message to the first data storage device instructing the first data storage device to begin accepting replicated data from the second data storage device instead of accepting only original data from the client.
[0031 ] If no loss of communication path is detected at stage 225, or after the data replication direction has been re-established, method 200 may end at stage 250.
[0032] FIG. 3 is a block diagram of an example system 300 for providing data communication. System 300 may comprise a client 315 coupled to a network 318 providing a first communication path 320 to a first storage engine 325 and a second communication path 322 to a second storage engine 340. First storage engine 325 may comprise a server comprising a first data storage 330 and second storage engine 340 may similarly comprise a server comprising a second data storage 350. The servers may be situated at the same and/or geographically separated data centers. First storage engine 325 and second storage engine 340 may comprise a server communication path 335 that may allow for data replication (i.e., copying of data stored in one data storage to another data storage) and inter-server communication. In some implementations, server communication path 335 may utilize network 318 and/or may utilize a separate communication medium.
[0033] In some implementations, first storage engine 325 may receive a primary storage designation.
[0034] First storage engine 325 may begin to receive data for storage from a client 315 on a primary communication path 320 and provide the data received for storage for replication to a second data storage engine 340 via a server communication path 335.
[0035] Upon detection of an interruption in the receipt of data for storage from the client 315, first data storage engine may determine whether the second data storage engine 340 is receiving data for storage from the client 315 on a secondary communication path 322. For example, detecting the loss of the first communication path 320 between the client 315 and the first data storage engine 325 may comprise detecting the client 315 providing data to the second data storage engine 340 instead of the first data storage engine 325. For example, communication path determination instructions 134 may determine whether a second communication path 322 is receiving data from the client 315, wherein the second communication path 322 is designated a secondary communication path. In some implementations, communication path determination instructions 134 may determine whether the first communication path 320 has ceased receiving data from the client 315. For example, client 315 may detect that first communication path 320 is no longer active, such as may occur with a network 318 disruption between client 315 and first data storage engine 325. First data storage engine 325 may communicate with second data storage engine 340 at another data center, to determine whether client 315 is trying to send data on the secondary communication path 322 to the other data center and/or other storage device by querying the other storage device.
[0036] In response to determining that the secondary data storage engine 340 is receiving data for storage from the client 315 on a secondary communication path 322, the first data storage engine 325 may inform and/or designate the second data storage engine 340 as the primary data storage engine and cause the second data storage engine 340 to send the data received from the client 315 by the second data storage engine 340 to the first data storage engine 325 for replication. For example, server communication path 335 may be used to copy data received from the client 315 from second data storage 350 to first data storage 330.
[0037] Data storage engines 325, 340 may implement communication path designation instructions 136 that, in response to determining that the secondary communication path is receiving data from the client 150, designate the second communication path as the primary communication path. For example, device 100 and a second device, such as another storage device at another data center, may communicate with each other and agree to designate the other storage device as primary while device 100 is designated as secondary. These designations may comprise, for example, ALUA states. The new primary storage device may continue to receive data from client 150 on the newly designated primary communication path.
[0038] Communication path designation instructions 136 may further comprise instructions to designate the first communication path 160 as the secondary communication path. In some implementations, the second communication path may comprise one of a plurality of available designated secondary communication paths. In some implementations, each of the plurality of designated secondary communication paths may be associated with a priority value, with the highest priority value secondary path becoming the new primary path. In some implementations, communication path designation instructions 136 may further comprise instructions to change a data replication direction between the primary data storage device and the secondary data storage device. For example, device 100 may replicate data received from client 150 to secondary storage devices while acting as a primary storage device. Once first communication path 160 has been designated as a secondary communication path, however, device 100 may begin receiving replicated data from the storage device associated with the newly designated primary communication path. [0039] The disclosed examples may include systems, devices, computer- readable storage media, and methods for data communication. For purposes of explanation, certain examples are described with reference to the components illustrated in the Figures. The functionality of the illustrated components may overlap, however, and may be present in a fewer or greater number of elements and components. Further, all or part of the functionality of illustrated elements may coexist or be distributed among several geographically dispersed locations. Moreover, the disclosed examples may be implemented in various environments and are not limited to the illustrated examples.
[0040] Moreover, as used in the specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context indicates otherwise. Additionally, although the terms first, second, etc. may be used herein to describe various elements, these elements should not be limited by these terms. Instead, these terms are only used to distinguish one element from another.
[0041] Further, the sequence of operations described in connection with the Figures are examples and are not intended to be limiting. Additional or fewer operations or combinations of operations may be used or may vary without departing from the scope of the disclosed examples. Thus, the present disclosure merely sets forth possible examples of implementations, and many variations and modifications may be made to the described examples. All such modifications and variations are intended to be included within the scope of this disclosure and protected by the following claims.

Claims

CLAIMS We claim:
1 . A non-transitory machine-readable storage medium comprising instructions to:
detect a loss of data from a client at a first communication path, wherein the first communication path is designated a primary communication path;
determine whether a second communication path is receiving data from the client, wherein the second communication path is designated a secondary communication path; and
in response to determining that the secondary communication path is receiving data from the client, designate the second communication path as the primary communication path.
2. The non-transitory machine-readable medium of claim 1 , wherein the instructions to designate the second communication path as the primary communication path comprise instructions to designate the first communication path as the secondary communication path.
3. The non-transitory machine-readable medium of claim 1 , wherein the second communication path comprises one of a plurality of designated secondary communication paths.
4. The non-transitory machine-readable medium of claim 1 , wherein the primary communication path is associated with a primary data storage device and the secondary communication path is associated with a secondary data storage device.
5. The non-transitory machine-readable medium of claim 4, wherein the data from the client comprises data for storage to the primary data storage device.
6. The non-transitory machine-readable medium of claim 4, wherein the instructions to designate the first communication path as the secondary communication path comprise instructions to change a data replication direction between the primary data storage device and the secondary data storage device.
7. The non-transitory machine-readable medium of claim 1 , wherein the instructions to determine whether the second communication path is receiving data from the client comprise instructions to determine whether the first communication path has ceased receiving data from the client.
8. A computer-implemented method, comprising:
designating a first communication path between a client and a first data storage device as a primary communication path;
designating a second communication path between a client and a second data storage device as a secondary communication path;
establishing a data replication direction from the first data storage device to the second data storage device;
detecting a loss of the first communication path between the client and the first data storage device; and
in response to detecting the loss of the first communication path: re-designating the second communication path as the primary network path, and
re-establishing the data replication direction from the second data storage device to the first data storage device.
9. The computer-implemented method of claim 8, wherein redesignating the second communication path as the primary communication path comprises informing the client to use the second communication path as the primary network path.
10. The computer-implemented method of claim 9, wherein redesignating the second communication path as the primary communication path comprises:
identifying a second client using the first communication path as the primary communication path; and
informing the second client to use the second communication path as the primary communication path.
1 1 . The computer-implemented method of claim 8, wherein detecting the loss of the first communication path between the client and the first data storage device comprises detecting the client providing data to the second data storage device instead of the first data storage device.
12. The computer-implemented method of claim 8, wherein the second communication path comprises one of a plurality of designated secondary communication paths.
13. The computer-implemented method of claim 12, wherein each of the plurality of designated secondary communication paths is associated with a priority value.
14. The computer-implemented method of claim 8, wherein the primary communication path designation and the secondary communication path designation each comprise asymmetric logical unit access (ALUA) states.
15. A system, comprising:
a first data storage engine to:
receive a primary storage designation,
receive data for storage from a client on a primary communication path,
provide the data received for storage for replication to a second data storage engine,
detect an interruption in the receipt of data for storage,
determine whether the second data storage engine is receiving data for storage from the client on a secondary communication path, and
in response to determining that the secondary data storage engine is receiving data for storage from the client on a secondary communication path:
designate the second data storage engine as the primary data storage engine, and
cause the second data storage engine to send the data received from the client by the second data storage engine to the first data storage engine for replication.
PCT/US2015/051807 2015-09-24 2015-09-24 Communication path loss WO2017052541A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/US2015/051807 WO2017052541A1 (en) 2015-09-24 2015-09-24 Communication path loss

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/051807 WO2017052541A1 (en) 2015-09-24 2015-09-24 Communication path loss

Publications (1)

Publication Number Publication Date
WO2017052541A1 true WO2017052541A1 (en) 2017-03-30

Family

ID=58386920

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2015/051807 WO2017052541A1 (en) 2015-09-24 2015-09-24 Communication path loss

Country Status (1)

Country Link
WO (1) WO2017052541A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040078632A1 (en) * 2002-10-21 2004-04-22 Infante Jon L. System with multiple path fail over, fail back and load balancing
US20050036442A1 (en) * 2001-05-16 2005-02-17 Saleh Ali Najib Method for restoring a virtual path in an optical network using 1:N protection
US20080288671A1 (en) * 2007-05-16 2008-11-20 Hitachi, Ltd. Virtualization by multipath management software for a plurality of storage volumes
US20110087787A1 (en) * 2002-03-26 2011-04-14 Clark Lubbers Data transfer protocol for data replication between multiple pairs of storage controllers on a san fabric
US20120170467A1 (en) * 2010-12-29 2012-07-05 Verizon Patent And Licensing Inc. Method and apparatus for providing virtual circuit protection and traffic validation

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050036442A1 (en) * 2001-05-16 2005-02-17 Saleh Ali Najib Method for restoring a virtual path in an optical network using 1:N protection
US20110087787A1 (en) * 2002-03-26 2011-04-14 Clark Lubbers Data transfer protocol for data replication between multiple pairs of storage controllers on a san fabric
US20040078632A1 (en) * 2002-10-21 2004-04-22 Infante Jon L. System with multiple path fail over, fail back and load balancing
US20080288671A1 (en) * 2007-05-16 2008-11-20 Hitachi, Ltd. Virtualization by multipath management software for a plurality of storage volumes
US20120170467A1 (en) * 2010-12-29 2012-07-05 Verizon Patent And Licensing Inc. Method and apparatus for providing virtual circuit protection and traffic validation

Similar Documents

Publication Publication Date Title
US11163653B2 (en) Storage cluster failure detection
US10078557B2 (en) Use of replicated copies to improve database backup performance
US9600553B1 (en) Distributed replication in cluster environments
US9832261B2 (en) Cloud consistency technology
US9769259B2 (en) Network storage systems having clustered RAIDs for improved redundancy and load balancing
EP2638469B1 (en) Detection and handling of alua preferences and state transitions by host
WO2019152122A1 (en) Systems and methods for performing computing cluster node switchover
US20190235979A1 (en) Systems and methods for performing computing cluster node switchover
US20140215265A1 (en) Data backup and recovery
US9015519B2 (en) Method and system for cluster wide adaptive I/O scheduling by a multipathing driver
CN106487486B (en) Service processing method and data center system
CN108351821B (en) Data recovery method and storage device
US10235249B1 (en) System and method for PaaS replication
WO2016060675A1 (en) Method and apparatus for managing data recovery of distributed storage system
US20150331753A1 (en) Method and apparatus of disaster recovery virtualization
EP2856317B1 (en) System and method for disaster recovery of multi-tier applications
CN107885622B (en) Handling Virtual Data Mover (VDM) failover conditions
US8484503B2 (en) Disaster recovery replication throttling in deduplication systems
US11086902B2 (en) Method and system for implementing a redo repeater
CN105988894A (en) Disaster tolerance technique of active-active mode
EP3516520B1 (en) Reducing recovery time of an application
US9841923B2 (en) Storage apparatus and storage system
US9880776B1 (en) Content-driven data protection method for multiple storage devices
CN104794012A (en) Switching technique based on disaster recovery
US11010266B1 (en) Dual isolation recovery for primary-secondary server architectures

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15904885

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15904885

Country of ref document: EP

Kind code of ref document: A1