System and method for fibrechannel fail-over through port spoofing
Abstract
In a system for appliance back-up, a primary appliance is coupled to a network, whereby the primary appliance receives requests or commands and sends a status message over the network to a standby appliance, which indicates that the primary appliance is operational. If the standby appliance does not receive the status message or the status message is invalid, the standby appliance writes a shutdown message to a storage device. The primary appliance then reads the shutdown message stored in the storage device and disables itself from processing requests or commands. When the primary appliance completes these tasks, it disables communication connections and writes a shutdown completion message to the storage device. The standby appliance reads the shutdown completion message from the storage device and initiates a start-up procedure. This procedure causes the address of the standby appliance to be identical to the primary appliance address, and the standby appliance processes the requests or commands in place of the primary appliance.
Claims
exact text as granted — not AI-modified1. A system for appliance back-up comprising:
a network;
a storage device coupled to the network; and
a primary appliance and a standby appliance coupled to the network, the primary appliance receiving requests or commands and sending a status message via the network to the standby appliance indicating that the primary appliance is operational,
wherein if the standby appliance does not receive the status message or the status message is invalid:
the standby appliance writes a shutdown message to a the storage device,
the primary appliance reads the shutdown message stored in the storage device and disables itself from processing requests or commands, and
the standby appliance causes a standby appliance address to be identical to a primary appliance address and processes the requests or commands.
2. The system of claim 1 , wherein the primary appliance completes tasks and disables communication connections.
3. The system of claim 2 , wherein the primary appliance writes a shutdown completion message to the storage device.
4. The system of claim 3 , wherein the standby appliance reads the shutdown completion message from the storage device and initiates a start-up procedure.
5. The system of claim 1 , wherein the primary appliance includes a primary application and the standby appliance includes a standby application, the standby application being identical to the primary application.
6. The system of claim 1 , wherein the primary appliance includes a first fibrechannel adapter having associated therewith the primary appliance address and the standby appliance includes a second fibrechannel adapter having associated therewith the standby appliance address.
7. A method for appliance back-up comprising:
sending a status message from a primary appliance to a standby appliance indicating that the primary appliance is operational;
if the standby appliance does not receive the status message or the status message is invalid:
writing a shutdown message to a storage device;
reading the shutdown message stored in the storage device;
disabling the primary appliance from processing requests or commands;
causing a standby appliance address to be identical to a primary appliance address; and
causing the standby appliance to process the requests or commands.
8. The method of claim 7 , wherein the disabling further comprises completing tasks and disabling communication connections.
9. The method of claim 7 , wherein the disabling further comprises writing a shutdown completion message to the storage device.
10. The method of claim 9 , further comprising:
reading the shutdown completion message from the storage device; and
initiating a start-up procedure.
11. The method of claim 7 , wherein the primary appliance includes a primary application and the standby appliance includes a standby application, identical to the primary application, for processing the requests or commands.
12. A method for appliance back-up comprising:
monitoring a primary appliance for an indication of a failure, the primary appliance having a primary appliance address,
wherein if the failure occurs:
writing a message to a storage device;
in response to the message, disabling the primary appliance from processing requests or commands;
causing a standby appliance address of a standby appliance to be identical to the primary appliance address; and
processing the requests or commands.
13. The method of claim 12 , wherein the monitoring further comprises sending a status message to the standby appliance indicating that the primary appliance is operational.
14. The method of claim 12 , wherein the monitoring further comprises sending a status request message to the primary appliance and receiving an update status message from the primary appliance.
15. The method of claim 13 , wherein the failure is the status message is not sent to the standby appliance.
16. The method of claim 13 , wherein the message is written if the standby appliance does not receive the status message or the status message is invalid.
17. The method of claim 16 wherein the disabling further comprises completing tasks and disabling communication connections.
18. The method of claim 17 , wherein the disabling further comprises writing a shutdown completion message to the storage device.
19. The method of claim 18 , further comprising:
reading the shutdown completion message from the storage device; and
initiating a start-up procedure.
20. The method of claim 14 , wherein the message is written if the standby appliance does not receive the update status message or the update status message is invalid.
21. The method of claim 20 , wherein the disabling further comprises completing tasks and disabling communication connections.
22. The method of claim 21 , wherein the disabling further comprises writing a shutdown completion message to the storage device.
23. The method of claim 12 , wherein the standby appliance address and the primary appliance address are world wide port names.
24. The method of claim 12 , wherein the primary appliance includes a primary application and the standby appliance includes a standby application, identical to the primary application, for processing the requests or commands.
25. The system of claim 1, wherein:
the standby appliance monitors the status of the primary appliance via a communications link; and the standby appliance writes the shutdown message to the storage device if the communications link is broken.
26. The method of claim 7, comprising writing the shutdown message to the storage device if a communications link between the standby appliance and the primary appliance is broken.
27. A communications system, comprising:
at least one storage device; a first appliance configured to receive requests or commands for communicating with one or more of the at least one storage devices via a first communications link, the first appliance having a first appliance address; and a second appliance configured to:
transmit, at selected times, messages to the first appliance via a second communications link different from the first communications link;
wherein:
the first appliance is further configured to:
communicate with one or more of the at least one storage devices in response to a received request or command; and
in response to each message received from the second appliance, provide an indication to the second appliance of a status of the first appliance via the second communications link; and
the second appliance is further configured to:
monitor the status of the first appliance based, at least in part, on the indications received from the first appliance;
determine whether a proper indication is received in response to each message;
assume an emulation address comprising the first appliance address in order to receive the requests or commands addressed to the first appliance, based, at least in part, on a failure to receive a proper indication;
process the requests or commands addressed to the first appliance, after assuming the emulation address;
continue to monitor the status of the first appliance, after assuming the emulation address;
if failure to receive a proper indication from the first appliance is due to a problem relating to the first appliance, determine that the problem has been resolved; and
transmit to the first appliance via the second communications link information directing the first appliance to resume receiving requests and commands directed to the first appliance address, when the second appliance determines that the problem has been resolved; and
the first appliance is further configured to resume receiving requests and commands directed to the first appliance address, in response to the information.
28. The system of claim 27, wherein the indication comprises a message.
29. The system of claim 27, wherein the indication comprises failure to receive the message.
30. The system of claim 27, wherein the status relates to whether the first appliance is operational.
31. The system of claim 27, wherein:
the first appliance and the second appliance communicate via a link.
32. The system of claim 31, wherein:
the second appliance is configured to send a heartbeat to the first appliance, via the link; and the first appliance is configured to send the indication in response to the heartbeat, via the link.
33. The system of claim 27, wherein the second appliance is further configured to cause the first appliance to disable itself, based at least in part, on the indication.
34. The system of claim 33, wherein:
the second appliance is configured to cause the first appliance to disable itself, by writing a message to one of the at least one storage devices.
35. The system of claim 34, wherein:
the second appliance is configured to write the message to the storage device if a communications link between the second appliance and the first appliance fails.
36. The system of claim 33, wherein:
the second appliance is configured to cause the first appliance to disable itself by informing the first appliance over the link.
37. The system of claim 33, wherein:
the first appliance is configured to continue to provide an indication to the second appliance of the status of the first appliance after being disabled; and the second appliance is further configured to: instruct the first appliance to begin a start-up procedure, based, at least in part, on the indication, after disabling of the first appliance.
38. The system of claim 27, wherein:
the first and second appliances are coupled to a network.
39. The system of claim 27, wherein the second appliance stores information relating to the first address, before the second appliance determines that the first appliance is not operational.
40. The system of claim 27, wherein the first and second appliance addresses comprise, at least in part, a worldwide port name.
41. The system of claim 27, wherein the emulation address and the first appliance address are the same.
42. The system of claim 27, wherein:
the first appliance comprises a first fibrechannel adapter having associated therewith the first appliance address; and the second appliance comprises a second fibrechannel adapter having associated therewith the second appliance address.
43. The communications system of claim 27, wherein the first appliance is further configured to:
continue to provide indications to the second appliance of the status of the first appliance; and the second appliance is configured to determine that the problem has been resolved based, at least in part, on the indications.
44. A communications system, comprising:
a network; at least one storage device; a first appliance coupled to the network via a first communications link, to receive requests or commands for communicating with one or more of the at least one storage device, the first appliance having a first appliance address; and a second appliance coupled to the network; wherein the first appliance is configured to:
communicate with one or more of the at least one storage devices, based, at least in part, on the requests or commands; and
provide an indication to the second appliance indicating a status of the first appliance; and
the second appliance is configured to:
determine a status of the first appliance, based, at least in part, on the indication;
assume an emulation address comprising the first appliance address to receive the requests or commands directed to the first appliance, based at least in part, on the indication;
process the requests or commands addressed to the first appliance after assuming the emulation address;
cause the first appliance to disconnect itself from the network based at least in part, on the second status;
determine a second status of the first appliance after the first appliance is disconnected from the network; and
instruct the first appliance via a second communications link different from the first communications link, to connect itself to the network based, at least in part, on the second status.
45. The system of claim 44, wherein:
the first appliance is configured to continue to provide an indication to the second appliance of the second status of the first appliance; and the second appliance is further configured to: instruct the first appliance to begin a start-up procedure to resume reception and processing of requests or commands, based, at least in part, on the indication.
46. The system of claim 44, further comprising:
a communications link between the first appliance and the second appliance.
47. The system of claim 46, wherein:
the second appliance is configured to send a heartbeat to the first appliance, via the link; and the first appliance is configured to send the indication in response to the heartbeat, via the link.
48. The system of claim 46, wherein the second appliance is configured to write a message to the storage device to cause the first appliance to disable itself, if the link is broken.
49. The communications system of claim 44, wherein:
the first appliance is configured to provide the indication to the second appliance via the second communications link.
50. The communications system of claim 49, wherein:
the second appliance causes the first appliance to disconnect itself from the network by instructing the first appliance via the second communications link.
51. The communications system of claim 44, wherein:
the second appliance causes the first appliance to disconnect itself from the network by instructing the first appliance via the second communications link.
52. A system comprising
a first device configured to process requests or commands received from a network, via a first communications link, the first device having a first address; and a second device configured to:
determine a status of the first device;
assume an emulation address including, at least in part, the first address, based, at least in part, on the determination;
cause the first device to disconnect itself from the network based, at least in part, on the determination;
determine a second status of the first device after the first device disconnects from the network; and
instruct the first device via a second communications link different from the first communications link, to connect itself to the network based, at least in part, on the second status.
53. The system of claim 52, wherein the second device is further figured to:
process requests or commands addressed to the first device, after assuming the emulation address.
54. A method of operating a communications system comprising a first appliance to process requests or commands received from a network via a first communications link and a second appliance, the method comprising:
determining by a second appliance a status of a first appliance; assuming by the second appliance an address associated with the first appliance, based, at least in part, on the status; processing requests or commands addressed to the first appliance, by the second appliance, after assuming the address; causing the first appliance to disconnect itself from the network based, at least in part, on the determination, by the second appliance; determining by the second appliance a second status of the appliance after the first appliance is disconnected from the network; and instructing the first appliance via a second communications link different from the first communications link, to begin a start-up procedure to resume reception and processing of requests or commands based, at least in part, on the second status, by the second appliance.
55. The method of claim 54, comprising:
assuming by the second appliance a same address as the first appliance.
56. The method of claim 54, comprising:
determining the status of the first appliance based, at least in part, on an indication from the first appliance.
57. The method of claim 54, wherein the indication comprises a message.
58. The method of claim 54, wherein the indication comprises failure to receive a message.
59. The method of claim 54, wherein:
the first appliance and the second appliance communicate via a link.
60. The method of claim 59, further comprising:
sending a heartbeat between the first appliance and the second appliance, via the link; sending an acknowledgement of the heartbeat between the first appliance and the second appliance; and disabling the first appliance if either or both of the heartbeat or the acknowledgement are not received by the second appliance.
61. The method of claim 59, further comprising:
detecting a break in the link; and writing a message to a storage device to disable the first appliance, if a break in the link is detected.
62. The method of claim 54, further comprising:
receiving by the second appliance a request or command addressed to the first appliance after the second appliance assumes the address; and processing, by the second appliance, the request or command.
63. The method system of claim 54, further comprising:
disabling the first appliance, based, at least in part on the indication.
64. The method of claim 63, further comprising:
continuing to receive an indication of the status of the first appliance by the second appliance, after causing the first appliance to disconnect itself from the network.
65. A communications system, comprising:
at least one storage device; a first appliance to receive requests or commands for communicating with one or more of the at least one storage devices, the first appliance having a first appliance address; and
a second appliance;
wherein the first appliance is configured to:
communicate with one or more of the at least one storage devices in response to a received request or command; and
provide an indication to the second appliance of a status of the first appliance; and
the second appliance is configured to:
determine a status of the first appliance based, at least in part, on the indication;
assume an emulation address comprising the first appliance address in order to receive the requests or commands addressed to the first appliance, based, at least in part, on the indication;
process the requests or commands addressed to the first appliance, after assuming the emulation address; and
write a message to one of the at least one storage devices to cause the first appliance to disable itself, based at least in part, on the indication.
66. The system of claim 65, wherein:
the second appliance is configured to write the message to the storage device if a communications link between the second appliance and the first appliance fails.
67. The communications system of claim 65, wherein:
the network comprises a fibrechannel network.
68. The communications system of claim 67, wherein:
the first appliance includes a first fibrechannel adaptor having associated therewith the first appliance address; and the second appliance includes a second fibrechannel adaptor having associated therewith the emulation address.
69. The communications system of claim 68, wherein:
the first appliance address comprises a first world wide port name (“WWPN”).
70. A communications system, comprising:
a network; at least one storage device; a first appliance coupled to the network, to receive requests or commands for communicating with one or more of the at least one storage devices, the first appliance having a first appliance address; a second appliance coupled to the network; and a communications link between the first appliance and the second appliance wherein the first appliance is configured to:
communicate with one or more of the at least one storage devices, based, at least in part, on the requests or commands; and
provide an indication to the second appliance indicating a status of the first appliance; and
the second appliance is configured to:
determine a status of the first appliance, based, at least in part, on the indication;
assume an emulation address comprising the first appliance address to receive the requests or commands directed to the first appliance, based at least in part, on the indication;
process the requests or commands addressed to the first appliance after assuming the emulation address; and
writing a message to the storage device to cause the first appliance to disable itself from processing requests or commands, if the link is broken.
71. The communications system of claim 70, wherein:
the network comprises a fibrechannel network.
72. The communications system of claim 71, wherein:
the first appliance includes a first fibrechannel adaptor having associated therewith the first appliance address; and the second appliance includes a second fibrechannel adaptor having associated therewith the emulation address.
73. The communications system of claim 72, wherein:
the first appliance address comprises a first world wide port name (“WWPN”).
74. A communications system, comprising:
at least one storage device; a first appliance having a first appliance address, the first appliance being configured to:
receive requests or commands for communicating with one or more of the at least one storage devices via a first communications link; and
a second appliance configured to:
transmit, at selected times, messages to the first appliance via a second communications link different from the first communications link; and
wherein:
the first appliance is further configured to:
communicate with one or more of the at least one storage devices in response to a received request or command;
in response to each message received from the second appliance, provide an indication to the second appliance of a status of the first appliance via the second communications link; and
inform the second appliance, via the second communications link, of a problem relating to an operation of the first appliance, if the first appliance detects a problem relating to the operation of the first appliance; and
the second appliance is further configured to:
assume an emulation address comprising the first appliance address in order to receive the requests or commands addressed to the first appliance, if informed of a problem relating to the operation of the first appliance;
process the requests or commands addressed to the first appliance, after assuming the emulation address; and
instruct the first appliance via the second communications link to begin a start-up procedure, if informed that the problem has been repaired.
75. The communications system of claim 74, wherein:
the first appliance is further configured to inform the second appliance that the problem has been repaired.
76. The communications system of claim 75, wherein:
the first appliance is further configured to inform the second appliance that the problem has been repaired, via the second communications link.
77. The communications system of claim 74, wherein the second appliance is further configured to de-activate itself from receiving requests or commands addressed to the first appliance, after instructing the first appliance to begin the start-up procedure.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.