U.S. patent application number 11/840833 was filed with the patent office on 2008-03-13 for apparatus for facilitating disaster recovery.
This patent application is currently assigned to International Business Machines Corporation. Invention is credited to John Paul Agombar, Christopher Barry Beeken, Carlos Francisco Fuente, Stephanie Machleidt, Simon Walsh.
Application Number | 20080065847 11/840833 |
Document ID | / |
Family ID | 37081154 |
Filed Date | 2008-03-13 |
United States Patent
Application |
20080065847 |
Kind Code |
A1 |
Agombar; John Paul ; et
al. |
March 13, 2008 |
APPARATUS FOR FACILITATING DISASTER RECOVERY
Abstract
An apparatus, method, and computer program for facilitating
disaster recovery of a first computer system, wherein first data
residing on a first storage device associated with the first
computer system is recoverable from second data residing on a
second storage device associated with a second computer system and
wherein the second storage device is operable to have an associated
state of powered up or powered down. A receiver receives an update
operation for updating the second storage device. A processor
updates anon-volatile storage means with the update operation,
prior to update of the second storage device, wherein the
non-volatile storage means is associated with the second computer
system.
Inventors: |
Agombar; John Paul;
(Winchester, GB) ; Beeken; Christopher Barry;
(Chandlers Ford, GB) ; Fuente; Carlos Francisco;
(Portsmouth, GB) ; Machleidt; Stephanie; (Andover,
GB) ; Walsh; Simon; (Hayling Island, GB) |
Correspondence
Address: |
Kunzler & McKenzie
8 EAST BROADWAY
SUITE 600
SALT LAKE CITY
UT
84111
US
|
Assignee: |
International Business Machines
Corporation
Armonk
NY
|
Family ID: |
37081154 |
Appl. No.: |
11/840833 |
Filed: |
August 17, 2007 |
Current U.S.
Class: |
711/162 |
Current CPC
Class: |
G06F 11/2071
20130101 |
Class at
Publication: |
711/162 |
International
Class: |
G06F 12/00 20060101
G06F012/00 |
Foreign Application Data
Date |
Code |
Application Number |
Aug 17, 2006 |
GB |
GB0616375.2 |
Claims
1. A method for facilitating disaster recovery of a first computer
system, wherein: first data residing on a first storage device
associated with the first computer system is recoverable from
second data residing on a second storage device associated with a
second computer system and wherein the second storage device is
operable to have an associated state of powered up or powered down,
the method comprising the steps of: receiving an update operation
for updating the second storage device; and updating a non-volatile
storage means with the update operation, prior to update of the
second storage device, wherein the non-volatile storage means is
associated with the second computer system.
2. A method as claimed in claim 1, wherein the second computer
system is remote from the first computer system.
3. A method as claimed in claim 2, further comprising the step of:
updating, in response to the second storage device having an
associated state of powered up, the second storage device with the
update operation.
4. A method as claimed in claim 3, further comprising the step of:
accessing state data associated with the second storage device.
5. A method as claimed in claim 4, further comprising the step of:
using the state data to determine whether the second storage device
is powered up or powered down.
6. A method as claimed in claims 5, further comprising the step of:
powering up, prior to update of the second storage device and in
response to the second storage device having an associated state of
powered down, the second storage device.
7. A method as claimed in claim 6, further comprising the step of:
performing analysis associated with powering up the second storage
device, prior to update of the second storage device, in response
to the second storage device having an associated state of powered
down.
8. A method as claimed in claim 7, further comprising the step of:
comparing one or more values associated with powering up the second
storage device with a threshold.
9. A method as claimed in claim 8, further comprising the step of:
accessing a rule base comprising a rule associated with powering up
the second storage device.
10. A method as claimed in claim 9, further comprising the step of:
invoking, in response to the step of performing analysis, a power
up of the second storage device.
11. A method as claimed in claim 10, further comprising the step
of: synchronizing the non-volatile storage means with the second
storage device, prior to disaster recovery.
12. A computer program comprising program code means stored on a
tangible storage device and adapted to perform all the steps of
claim 1 when said program is run on a computer.
Description
CROSS-REFERENCES TO RELATED APPLICATIONS
[0001] This application claims priority to the Great Britain patent
application no. GB0616375.2 entitled "AN APPARATUS FOR FACILITATING
DISASTER RECOVERY" and filed on Aug. 17, 2006 for John Paul Agombar
et al., which is incorporated herein by reference.
[0002] This Application is related to U.S. Patent Application No.
______, filed on Aug. 17, 2007, titled AN APPARATUS FOR
FACILITATING DISASTER RECOVERY for John Paul Agombar, et al., IBM
Docket Number GB920060055US1, which is herein incorporated by
reference.
BACKGROUND OF THE INVENTION
[0003] 1. Field of the Invention
[0004] The present invention relates to an apparatus for
facilitating disaster recovery.
[0005] 2. Description of the Related Art
[0006] A disaster (e.g. a computer virus; a terrorist attack on a
building; a natural disaster such as an earthquake etc.) can pose
serious risks to business operations. For example, data loss;
financial losses (e.g. loss of revenue); long term losses (e.g.
loss of market share); recovery costs (e.g. cost of replacing
infrastructure, computer hardware/software etc.) etc.
[0007] Thus, many businesses today have disaster recovery (DR)
systems that can be put in place in the event of a disaster. An
example of a prior art DR system 100 is shown in FIG. 1, wherein a
primary site 105 (e.g. a factory, a bank etc.) comprises a computer
system 110 operable to manipulate data e.g. typically by performing
write operations. However, it should be understood that any number
of other operations can be performed e.g. software update etc. It
should also be understood that typically, read operations are not
subject to DR.
[0008] The data represents a primary storage image 115 stored on
one or more primary storage devices e.g. shared storage arrays;
tape libraries; disk storage etc. at the primary site 105. In
response to the write operation, the primary storage device is
updated by issuing the write operation to the primary storage
device.
[0009] The DR system also comprises a secondary storage image 125
located at a secondary site 120. Preferably, the secondary site 120
is located remotely from the primary site 105 such that in the
event of a disaster (e.g. an earthquake), the secondary site 120 is
not affected.
[0010] The secondary storage image 125 is a replica of the primary
storage image 115 and is stored on one or more secondary storage
devices e.g. shared storage arrays; tape libraries; disk storage
and the like at the secondary site 120. It should be understood
that the secondary storage image need not be an exact replica of
the primary storage image. For example, the secondary storage image
can comprise a subset of the primary storage image (e.g. wherein
the subset comprises the most important data of the primary storage
image). The one or more secondary storage devices correspond to the
one or more primary storage devices. It should be understood that a
direct correspondence need not occur. It should be understood that
the one or more secondary storage devices are always online.
[0011] In response to a write operation against the primary storage
image 115, the primary storage image 115 is updated. Furthermore,
the write operation is transmitted over a data transportation
system 130 (e.g. Ethernet; fibre channel etc.) to the secondary
storage image 125.
[0012] Preferably, an acknowledgement indicating receipt of the
write operation is transmitted to the computer system 110. In
response to receipt of the acknowledgement, a user at the computer
system 110 can perform further operations against the primary
storage image 115. In response to receipt of the write operation,
the secondary storage image 125 is also updated by issuing the
write operation to a secondary storage device.
[0013] In the event of a disaster, it is ensured that a last
completed write operation has been executed against the secondary
storage image 125 (i.e. wherein the write operation is the last
complete write operation before the disaster occurred). The
secondary storage image 125 is then used for DR purposes (e.g. data
associated with the secondary storage image 125 is read; data
associated with the secondary storage image 125 is used to recover
some/all of the primary storage image 115 etc.).
[0014] Costs associated with maintaining a DR system can be very
high. For example, there are financial and environmental costs
associated with supplying energy to the secondary site 120 for
powering the secondary site 120, powering and cooling the secondary
storage devices etc. In another example, financial costs are
associated with housing the secondary site 120. In yet another
example, financial costs are associated with housing the secondary
storage devices i.e. as cooling equipment for the secondary storage
devices can require space, the secondary storage devices cannot be
densely housed.
[0015] As a DR system may be used rarely, if at all, a business can
find these costs disproportionate. Furthermore, if secondary
storage devices at the secondary site 120 are low performance
storage devices, a write operation executed against the secondary
storage image 125 can take time to complete. This is due to the low
performance of the secondary storage devices.
[0016] There is a need to provide a DR system which is cost
effective, efficient and highly available.
SUMMARY OF THE INVENTION
[0017] From the foregoing discussion, there is a need for an
apparatus, method, and computer program that facilitates disaster
recovery. Beneficially, such an apparatus and method would update
non-volatile storage with an update operation.
[0018] The present invention has been developed in response to the
present state of the art, and in particular, in response to the
problems and needs in the art that have not yet been fully solved
by currently available disaster recovery methods. Accordingly, the
present invention has been developed to provide an apparatus,
method, and computer program for facilitating disaster recovery
that overcome many or all of the above-discussed shortcomings in
the art.
[0019] According to a first aspect the present invention provides
an apparatus for facilitating disaster recovery of a first computer
system, wherein first data residing on a first storage device
associated with the first computer system is recoverable from
second data residing on a second storage device associated with a
second computer system and wherein the second storage device is
operable to have an associated state of powered up or powered down.
A receiver receives an update operation for updating the second
storage device. A processor updates a non-volatile storage means
with the update operation, prior to update of the second storage
device, wherein the non-volatile storage means is associated with
the second computer system. It should be understood that the update
operation can comprise a write operation.
[0020] According to a second aspect the present invention provides
a method for facilitating disaster recovery of a first computer
system, wherein first data residing on a first storage device
associated with the first computer system is recoverable from
second data residing on a second storage device associated with a
second computer system and wherein the second storage device is
operable to have an associated state of powered up or powered down.
The method comprises the steps of a receiver receiving an update
operation for updating the second storage device; and a processor
updating a non-volatile storage means with the update operation,
prior to update of the second storage device, wherein the
non-volatile storage means is associated with the second computer
system.
[0021] According to a third aspect the present invention provides a
computer program comprising program code means adapted to perform
all the steps of the method described above when said program is
run on a computer.
BRIEF DESCRIPTION OF THE DRAWINGS
[0022] In order that the advantages of the invention will be
readily understood, a more particular description of the invention
briefly described above will be rendered by reference to specific
embodiments that are illustrated in the appended drawings.
Understanding that these drawings depict only typical embodiments
of the invention and are not therefore to be considered to be
limiting of its scope, the invention will be described and
explained with additional specificity and detail through the use of
the accompanying drawings, in which:
[0023] FIG. 1 is a block diagram of a prior art disaster recovery
system;
[0024] FIG. 2 is a block diagram of a disaster recovery system
according to the preferred embodiment;
[0025] FIG. 3 is a block diagram of a disaster recovery apparatus
according to the preferred embodiment;
[0026] FIG. 4 is a representation of a rule associated with
powering up a secondary storage device according to the preferred
embodiment;
[0027] FIG. 5A is a flow chart showing the operational steps
involved in a first process according to the preferred
embodiment;
[0028] FIG. 5B is a flow chart showing the operational steps
involved in a second process according to the preferred
embodiment;
[0029] FIG. 5C is a flow chart showing the operational steps
involved in a third process according to the preferred
embodiment;
[0030] FIG. 5D is a flow chart showing the operational steps
involved in a fourth process according to the preferred embodiment;
and
[0031] FIG. 5E is a flow chart showing the operational steps
involved in a fifth process according to the preferred
embodiment.
DETAILED DESCRIPTION OF THE INVENTION
[0032] A preferred embodiment will now be described with reference
to FIGS. 2-5E. An example of a DR system 200 is shown in FIG. 2,
wherein a primary site 205 (e.g. a factory, a bank etc.) comprises
a computer system 210 operable to manipulate data e.g. typically by
performing write operations. A write operation is handled by a
primary Storage Controller (SC) 270 associated with a storage area
network (SAN).
[0033] A SAN is a network whose primary purpose is the transfer of
data between computer systems and storage elements. In a SAN,
storage devices are centralized and interconnected. A SAN is a
high-speed network that allows the establishment of direct
communications between storage devices and host computers within
the distance supported by the communication infrastructure. A SAN
can be shared between servers or dedicated to one server. It can be
local or geographically distributed.
[0034] SANs enable storage to be externalized from the servers and
centralized elsewhere. This allows data to be shared among multiple
servers. Data sharing enables access of common data for processing
by multiple computer platforms or servers.
[0035] The host server infrastructure of a SAN can include a
mixture of server platforms. The storage infrastructure includes
storage devices which are attached directly to the SAN network.
SANs can interconnect storage interfaces together into many network
configurations.
[0036] The data manipulated at the computer system 210 represents a
primary storage image stored on a plurality of physical primary
storage devices (Storage Device 1 SD1, Storage Device 2 SD2 and
Storage Device 3 SD3) at the primary site 205. The plurality of
primary storage devices can be shared storage arrays; tape
libraries; disk storage etc. In response to the write operation, a
primary storage device is updated by the primary SC 270 by issuing
the write operation to the primary storage device.
[0037] It should be understood that the primary site 205 may also
comprise a directory accessible by the primary SC 270. Preferably,
the primary SC 270 writes data to the directory wherein the data
comprises data associated with the write operation (e.g. "write
operation issued" or "write operation not issued").
[0038] The DR system 200 also comprises a data transport system 225
(e.g. Ethernet, fibre channel etc.) for transmitting the write
operation from the primary SC 270 to a DR apparatus 220 at the
secondary site 215. Preferably, the secondary site 215 is located
remotely from the primary site 205. The secondary site 215 is a
replica of the primary site 205. It should be understood that the
secondary site need not be an exact replica of the primary
site.
[0039] The DR apparatus 220 represents a stack of components
wherein data flows through the stack. As shown in FIG. 3, the DR
apparatus 220 comprises a receiver 230 and a first write processor
235 operable to communicate with each other.
[0040] The DR apparatus 220 also comprises a second write processor
240 operable to communicate with the first write processor 235; an
analyzer 245 and a controller 250. The second write processor 240
is also operable to communicate with a plurality of physical
secondary storage devices (Storage Device 4 SD4, Storage Device 5
SD5 and Storage Device 6 SD6). For example, the second write
processor 240 receives execution data from the plurality of
secondary storage devices (i.e. wherein the execution data
indicates whether a secondary storage device is online or offline).
It should be understood that although two write processors have
been shown, any number of write processors can be implemented.
[0041] The analyzer 245 is operable to communicate with the second
write processor 240 and the controller 250. The controller 250 is
operable to communicate with the plurality of secondary storage
devices.
[0042] The DR apparatus 220 also comprises an area of non-volatile
memory 255 and a log 260, together termed herein as "a high
performance cache" (HPC) 275. The HPC 275 is accessible by the
first write processor 235 and the second write processor 240.
[0043] Preferably, the non-volatile memory 255 has an associated
high performance. Preferably, the non-volatile memory 255 can cache
data associated with the primary storage image (i.e. data residing
across all three primary storage devices). Alternatively, a
plurality of non-volatile memories 255 is provided. Preferably, the
non-volatile memory 255 is always available. It should be
understood that the non-volatile memory 255 can reside on any
number of computer systems (e.g. in a remote computer system,
within a SC etc.). It should be understood that although the
non-volatile memory 255 and the log 260 are depicted as two
separate storage means, the non-volatile memory 255 and the log 260
can reside on any number of storage means.
[0044] The DR apparatus 220 also comprises a rule base 265 for
storing a rule, wherein the rule base 265 is accessible by the
analyzer 245. A secondary storage image which is a replica of the
primary storage image is stored on the plurality of physical
secondary storage devices (Storage Device 4 SD4, Storage Device 5
SD5 and Storage Device 6 SD6). The plurality of secondary storage
devices can be shared storage arrays; tape libraries; disk storage;
etc. It should be understood that the secondary storage image need
not be an exact replica of the primary storage image.
[0045] The secondary storage devices correspond to the plurality of
primary storage devices (Storage Device 1 SD 1, Storage Device 2
SD2 and Storage Device 3 SD3 respectively). It should be understood
that a direct correspondence need not occur. For example, in a
virtualization environment, a logical view of storage is separated
from its physical implementation. This enables physical changes to
be made without changing the logical view. Thus, for example, by
using a virtualization function associated with a secondary SC at
the secondary site 215, the secondary storage image can be stored
across varying and multiple secondary storage devices. A user at
the primary site 205 is not aware of the configuration of the
physical secondary storage devices. It should be understood that
virtualization can be provided for at least one of the primary site
205 and the secondary site 215. Alternatively, as described in the
examples herein, virtualization need not be provided.
[0046] According to a preferred embodiment, it should be understood
that the plurality of secondary storage devices need not always be
online--as will be described in more detail herein.
[0047] A process according to the preferred embodiment will now be
described with reference to FIGS. 2-5E. In a first example, the
primary SC 270 maps SD1 to SD4. With reference to FIG. 5A, in the
first example, a user uses the computer system 210 at the primary
site 205 to perform step 500 a write operation against the primary
storage image, in a first example, against a subset of the primary
storage image residing on SD1.
[0048] The write operation is represented as a primary data block.
The primary data block comprises data content and location
information associated with a location of the primary storage
device (i.e. SD1) on which the subset of the primary storage image
is stored.
[0049] In response to the write operation, SD 1 is updated step 505
by the primary SC 270 by issuing the write operation to SD1. The
primary SC 270 updates the directory with data associated with the
primary data block and status data associated with status of the
primary data block (i.e. write operation issued). The primary SC
270 transmits step 510 the write operation over the data transport
system 225 to the DR apparatus 220 where it is received step 515 by
the receiver 230.
[0050] Mapping data associated with the secondary storage device
(e.g. an identifier of the secondary storage device, namely, "SD4")
mapped to the primary storage device is also transmitted by the
primary SC 270 to the receiver 230.
[0051] The receiver 230 can transmit an acknowledgement to the
computer system 210 at the primary site 205 in response to receipt
of the write operation. Thus, the user, in response to receipt of
the acknowledgement, can perform further write operations.
[0052] In response to receipt of the write operation, the first
write processor 235 uses the mapping data to query the second write
processor 240 in order to determine step 520 whether the mapped
secondary storage device (i.e. SD4) is online. The second write
processor 240 uses the mapping data and execution data to determine
whether the mapped secondary storage device is online.
[0053] If SD4 is online, the first write processor 235 passes the
write operation and mapping data to the second write processor 240.
Alternatively, before passing the write operation and mapping data
to the second write processor 240, the first write processor 235
updates the non-volatile memory 255 by issuing the write operation
to the non-volatile memory 255.
[0054] With reference to FIG. 5B, the second write processor 240
updates step 525 SD4 by issuing the write operation to SD4. The
second write processor 240 updates the log 260 with data associated
with the write operation (i.e. write operation issued).
[0055] Data associated with the update of SD4 is passed to the
receiver 230. The receiver 230 can transmit an acknowledgement to
the computer system 210 at the primary site 205 in response to
update of a secondary storage device. The subset of the secondary
storage image held on SD4 (as well as, for example, subsets of the
secondary storage image held on at least one of SD5 and SD6) can
now be used for DR purposes.
[0056] For example, the subset can be at least one of: read for DR
purposes; written to one or more primary storage devices if the one
or more primary storage devices are available after the disaster
occurred; written to one or more storage devices at a third site;
used to create a temporary primary site--in this case, the
non-volatile memory 255 is brought offline and each secondary
storage device is brought online permanently. Preferably, the
temporary primary site is converted back to a secondary site, once
a new primary site is created.
[0057] Once a secondary storage device has been updated, existing
power down mechanisms can power down the secondary storage device
(and any remaining online secondary storage devices).
Advantageously, power consumption is saved. In the event of a
disaster, the secondary storage devices can be powered up.
[0058] If a disaster occurs at the primary site 205, the second
write processor 240 checks the log 260 in order to determine status
data associated with a last write operation. A last operation can
comprise the last write operation received at the DR apparatus 220
prior to the disaster occurring. Alternatively, a last operation
can comprise the last write operation acknowledged by the DR
apparatus 220 prior to the disaster occurring. Specifically, the
second write processor 240 checks the log 260 in order to determine
whether the last write operation was updated at a secondary storage
device.
[0059] If the second write processor 240 determines that a last
write operation has been updated against SD4, the updated data
residing in SD4 (as well as, for example, data residing on at least
one of SD5 and SD6) can be used for DR purposes. If the second
write processor 240 determines that a last write operation has not
been updated against SD4, in one example, the second write
processor 240 updates SD4 by issuing the write operation to SD4.
Thus, the updated data residing in SD4 (as well as, for example,
data residing on at least one of SD5 and SD6) can be used for DR
purposes.
[0060] Alternatively, in another example, the second write
processor 240 does not update the secondary storage device. Rather,
the data residing in the non-volatile memory 255 itself can be used
for DR purposes.
[0061] If in response to step 520, the first write processor 235
determines that SD4 is offline, with reference to FIG. 5C, the
first write processor 235 updates step 530 the non-volatile memory
255 by issuing the write operation to the non-volatile memory 255.
The first write processor 235 updates the log 260 with data
associated with the write operation (i.e. write operation
issued).
[0062] Data associated with update of the non-volatile memory 255
is passed to the receiver 230. The receiver 230 can transmit an
acknowledgement to the computer system 210 at the primary site 205
in response to update of the non-volatile memory 255. The first
write processor 235 passes mapping data to the second write
processor 240.
[0063] Preferably, in response to the update of the non-volatile
memory 255, the second write processor 240 uses the mapping data
and execution data to determine step 535 whether the mapped
secondary storage device (i.e. SD4) is online e.g. SD4 may have
been brought online after step 520 was executed. If SD4 is online,
the first write processor 235 passes the write operation to the
second write processor 240 and step 525 in FIG. 5B is executed as
described above.
[0064] If SD4 is offline, with reference to FIG. 5D, the second
write processor 240 is operable to invoke the controller 250. The
controller 250 is operable to bring step 540 SD4 online. In
response to SD4 being brought online, the first write processor 235
passes the write operation to the second write processor 240 and
step 525 in FIG. 5B is executed as described above. In a second
example, the primary SC 270 maps SD1 to SD4.
[0065] With reference to FIG. 5A, steps 500 to 520 are executed as
described above. In the second example, the first write processor
235 determines step 520 that SD4 is offline.
[0066] With reference to FIG. 5E, in the second example, in
response to a determination that SD4 is offline, the analyzer 245
performs step 545 analysis. The analyzer accesses a threshold
configurable by an administrator, a system etc. The threshold is
associated with power consumption and has a value of 20 W (Watts).
It should be understood that threshold can be associated with any
number of other parameters e.g. a size of data already residing on
a secondary storage device; a rate of increase of a size of data
already residing on a secondary storage device etc.
[0067] The analyzer 245 also communicates with the second write
processor 240 to obtain execution data associated with the
remaining secondary storage devices (i.e. SD5 and SD6). In the
second example, SD5 is offline and SD6 is online.
[0068] The analyzer 245 also determines a power consumption value
(e.g. wherein the power consumption value is supplied by existing
DR mechanisms) associated with each secondary storage device when
online. In the second example, each secondary storage device has an
associated power consumption value of 20 W (Watts) when online.
[0069] The analyzer 245 also determines a current power consumption
value associated with the mapped secondary storage device (i.e.
SD4) and the remaining online secondary storage device (i.e. SD6).
In the second example, SD4 has an associated power consumption
value of 0 W (as SD4 is offline) and SD6 has an associated power
consumption value of 20 W (as SD6 is online).
[0070] The analyzer 245 analyses the power consumption value
associated with an online secondary storage device and the current
power consumption values associated with SD4 and SD6 in order to
determine whether bringing SD4 online will exceed the power
consumption threshold. If the analyzer 245 determines that bringing
SD4 online will not exceed the power consumption threshold,
preferably, the analyzer 245 invokes the controller 250 which is
operable to bring step 540 SD4 online.
[0071] In response to SD4 being brought online, the first write
processor 235 passes the write operation and mapping data to the
second write processor 240. The second write processor 240 updates
step 525 SD4 by issuing the write operation to SD4. The second
write processor 240 updates the log 260 with data associated with
the write operation (i.e. write operation issued).
[0072] It should be understood that once the mapped secondary
storage device has been updated, it (e.g. SD4) (and any remaining
online secondary storage devices (e.g. SD6)) can be powered down,
advantageously, saving power. The updated data residing in SD4 (as
well as, for example, data residing on at least one of SD5 and SD6)
can be used for DR purposes.
[0073] However, in the second example, the analyzer 245 determines
that bringing SD4 online would result in a further current power
consumption value of 40 W (Watts) in total (i.e. as SD4 would have
an associated power consumption value of 20 W (Watts) when online
and SD6 has a current power consumption value of 20 W). Thus, the
analyzer 245 determines that the further current power consumption
value of 40 W would exceed the power consumption threshold of 30
W.
[0074] In the second example, in response to determining that
bringing SD4 online will exceed the power consumption threshold,
the analyzer 245 performs step 545 further analysis and accesses
one or more pre-configurable rules stored in a rule base 265 e.g.
Rule 1 shown in FIG. 4. It should be understood that the rule
depicted is for exemplary purposes only.
[0075] According to Rule 1, the analyzer 245 communicates with the
second write processor 240 to obtain execution data and determines
that a remaining secondary storage device is online (i.e. SD6). In
response to SD6 being online, the second write processor 240
updates SD6 (according to a first "invoke" sub-rule) by issuing the
write operation to SD6. The second write processor 240 updates the
log 260 with data associated with the write operation (i.e. write
operation issued) (according to a first "update" sub-rule).
[0076] A representation of the log is shown below:
[0077] Log:
[0078] Write operation issued against SD6
[0079] The analyzer 245 monitors data in order to determine
(according to a "determine" sub-rule) when the secondary storage
device can be brought online. In one example, the analyzer 245
receives first data from administrator_1, that is, an explicit
command to bring SD4 online. In another example the analyzer 245
receives second data from administrator_1, that is, a re-configured
threshold (e.g. the threshold having a value of 80 W (Watts)) such
that that by bringing SD4 online, the power consumption threshold
is not exceeded.
[0080] In response to determining that the secondary storage device
can be brought online, the analyzer 245 is operable to invoke the
controller 250 (according to a second "invoke" sub-rule). The
controller 250 is operable to bring step 540 SD4 online. In
response to SD4 being brought online, the first write processor 235
passes the write operation and mapping data to the second write
processor 240.
[0081] The second write processor 240 updates step 525 (according
to a third "invoke" sub-rule) SD4 by issuing the write operation to
SD4. The second write processor 240 updates the log 260 with data
associated with the write operation (i.e. write operation issued)
(according to a second "update" sub-rule). A representation of the
log is shown below:
[0082] Log:
[0083] Write operation issued against SD6
[0084] Write operation issued against SD4
[0085] Once the mapped secondary storage device has been updated,
it (e.g. SD4) (and any remaining online secondary storage devices
(e.g. SD6)) can be powered down, advantageously, saving power. The
updated data residing in SD4 (as well as, for example, data
residing on at least one of SD5 and SD6) can be used for DR
purposes.
[0086] If the analyzer 245 determines that another secondary
storage device is not online, this means that all secondary storage
devices are offline and bringing one secondary storage device
online would exceed the power consumption threshold. This is not
desirable for a DR system wherein secondary storage devices need to
be made available to be usable for DR purposes.
[0087] Thus, preferably the analyzer 245 transmits an alert to an
administrator (i.e. administrator_1) (according to a "transmit"
sub-rule). Preferably, in response to receipt of the alert,
administrator_1 re-configures the power consumption threshold such
that by bringing one or more secondary storage device online, the
power consumption threshold is not exceeded.
[0088] In the first and second examples, a secondary storage device
is updated in response to update of the non-volatile memory 255.
That is, if a secondary storage device is online, the secondary
storage device is updated by issuing the write operation to the
secondary storage device. If a secondary storage device is not
online, the secondary storage device is brought online and updated
or another secondary storage device that is already online is
updated.
[0089] Alternatively, update of a secondary storage device can
occur in response to a further event (i.e. an event in addition to
update of the non-volatile memory 255). For example, a further
event comprises the non-volatile memory 255 being full. In another
example, a further event comprises a time value e.g. a time value
associated with increased or decreased activity at the primary site
(e.g. 18:00 daily). In yet another example, a further event
comprises a disaster occurring.
[0090] Advantageously, the embodiment helps to reduce costs
associated with maintaining a DR system. For example, as the
secondary storage devices need not always be online, costs
associated with powering, cooling etc. the secondary storage
devices are reduced. Furthermore, as cooling requirements are
decreased, the secondary storage devices can be more densely
housed. Furthermore, by the provision of a high performance
non-volatile memory 255, there is a decreased need to provide high
performance (and therefore, expensive) secondary storage
devices.
[0091] Advantageously, according to the embodiment, although
secondary storage devices can be low performance storage devices,
as a write operation is executed against the non-volatile memory
255 (wherein the non-volatile memory has an associated high
performance), the write operation is completed quickly. Thus, an
acknowledgement can be promptly transmitted back to the primary
site and a user can perform further operations against the primary
storage image.
[0092] Advantageously, the embodiment provides for a highly
available DR system, as the non-volatile memory 255 is always
available and as at least one of: the non-volatile memory 255 and
the secondary storage devices is updated so as to be usable for DR
purposes. Advantageously, the embodiment provides for a DR system
which is cost effective, efficient and highly available.
[0093] It will be clear to one of ordinary skill in the art that
all or part of the method of the preferred embodiments of the
present invention may suitably and usefully be embodied in a logic
apparatus, or a plurality of logic apparatus, comprising logic
elements arranged to perform the steps of the method and that such
logic elements may comprise hardware components, firmware
components or a combination thereof.
[0094] It will be equally clear to one of skill in the art that all
or part of a logic arrangement according to the preferred
embodiments of the present invention may suitably be embodied in a
logic apparatus comprising logic elements to perform the steps of
the method, and that such logic elements may comprise components
such as logic gates in, for example a programmable logic array or
application-specific integrated circuit. Such a logic arrangement
may further be embodied in enabling elements for temporarily or
permanently establishing logic structures in such an array or
circuit using, for example, a virtual hardware descriptor language,
which may be stored and transmitted using fixed or transmittable
carrier media.
[0095] It will be appreciated that the method and arrangement
described above may also suitably be carried out fully or partially
in software running on one or more processors (not shown in the
figures), and that the software may be provided in the form of one
or more computer program elements carried on any suitable
data-carrier (also not shown in the figures) such as a magnetic or
optical disk or the like. Channels for the transmission of data may
likewise comprise storage media of all descriptions as well as
signal-carrying media, such as wired or wireless signal-carrying
media.
[0096] The present invention may further suitably be embodied as a
computer program product for use with a computer system. Such an
implementation may comprise a series of computer-readable
instructions either fixed on a tangible medium, such as a computer
readable medium, for example, diskette, CD-ROM, ROM, or hard disk,
or transmittable to a computer system, via a modem or other
interface device, over either a tangible medium, including but not
limited to optical or analogue communications lines, or intangibly
using wireless techniques, including but not limited to microwave,
infrared or other transmission techniques. The series of computer
readable instructions embodies all or part of the functionality
previously described herein.
[0097] Those skilled in the art will appreciate that such computer
readable instructions can be written in a number of programming
languages for use with many computer architectures or operating
systems. Further, such instructions may be stored using any memory
technology, present or future, including but not limited to,
semiconductor, magnetic, or optical, or transmitted using any
communications technology, present or future, including but not
limited to optical, infrared, or microwave. It is contemplated that
such a computer program product may be distributed as a removable
medium with accompanying printed or electronic documentation, for
example, shrink-wrapped software, pre-loaded with a computer
system, for example, on a system ROM or fixed disk, or distributed
from a server or electronic bulletin board over a network, for
example, the Internet or World Wide Web.
[0098] In an alternative embodiment, the present invention may be
realized in the form of computer implemented method of deploying a
service comprising steps of deploying computer program code
operable to, when deployed into a computer infrastructure and
executed thereon, cause said computer system to perform all the
steps of the described method.
[0099] It will be clear to one skilled in the art that many
improvements and modifications can be made to the foregoing
exemplary embodiment without departing from the scope of the
present invention.
* * * * *