Title: Method and apparatus for providing host resources for an electronic commerce site
Abstract: A method and apparatus for detecting a change in the operational status of a first host computer and automatically configuring a second host computer to provide additional computing resources that replace or complement the first host computer. In one embodiment, a controller is provided that is capable of detecting a malfunction or failure of the first computer and automatically configuring a second host computer to replace the first host computer. In another embodiment, the controller is capable of detecting changes in the performance of the first host computer and automatically configuring a second host computer to provide additional computing resources for the first host computer. In a further embodiment, both of these techniques can be used to support an electronic commerce site and provide the electronic commerce site with failsafe operation and virtually unlimited computational resources.
Patent Number: 6,898,727 Issued on 05/24/2005 to Wang,   et al.
| Inventors:
|
Wang; Yao (Shrewsbury, MA);
Chehadeh; Mohamed (Watertown, MA);
Vu; Quang (Southborough, MA)
|
| Assignee:
|
EMC Corporation (Hopkinton, MA)
|
| Appl. No.:
|
533025 |
| Filed:
|
March 22, 2000 |
| Current U.S. Class: |
714/4; 714/6; 714/7 |
| Intern'l Class: |
G06F 011/00 |
| Field of Search: |
714/4,6,10,15,24,47,7
|
References Cited [Referenced By]
U.S. Patent Documents
Primary Examiner: Iqbal; Nadeem
Assistant Examiner: Bonura; Timothy M.
Attorney, Agent or Firm: Wolf, Greenfield & Sacks, P.C.
Claims
1. A method of performing electronic commerce, comprising acts of:
hosting an electronic commerce site on a first host computer;
detecting a change in operation of the electronic commerce site; and
automatically configuring a second host computer to host at least a portion of
the electronic commerce site on the second host computer in response to the act
of detecting;
wherein the act of detecting includes an act of detecting at least one of a failure
and a malfunction of the electronic commerce site;
wherein the first host computer is coupled to at least one first storage device
that is accessible to the first host computer and in which data of the first host
computer is stored; and
wherein the act of automatically configuring the second host computer includes
an act of:
replicating the data of the first host computer from the at least one first storage
device to at least one second storage device that is accessible to the second host
computer, wherein the act of replicating the data includes an act of making the
data available to the second host computer without the first host computer copying
the data from the at least one first storage device and without the second host
computer copying the data to the at least one second storage device.
2. The method of claim 1, wherein the act of detecting includes an act of detecting
a decrease in performance of the electronic commerce site.
3. The method of claim 2, wherein the first host computer is coupled to at least
one first storage device that is accessible to the first host computer and in which
data of the first host computer is stored, and wherein the act of automatically
configuring the second host computer includes an act of:
replicating the data of the first host computer from the at least one first storage
device to at least one second storage device that is accessible to the second host
computer.
4. The method of claim 3, wherein the act of automatically configuring further
includes an act of:
transforming at least a portion of the replicated data of the first host computer
for use with the second host computer when the second host computer is not identical
to the first host computer.
5. The method of claim 1, wherein the electronic commerce site is a first electronic
commerce site, the method further comprising acts of:
hosting a second electronic commerce site on a third host computer;
detecting a change in operation of the second electronic commerce site; and
automatically configuring the second host computer to host at least a portion
of the second electronic commerce site on the second host computer in response
to the act of detecting.
6. The method of claim 1, wherein the electronic commerce site is a first electronic
commerce site, the method further comprising acts of:
hosting a second electronic commerce site on a third host computer;
detecting a change in operation of the second electronic commerce site; and
automatically configuring a fourth host computer to host at least a portion of
the second electronic commerce site on the fourth host computer in response to
the act of detecting.
7. A method of performing electronic commerce, comprising acts of:
hosting an electronic commerce site on a first host computer;
detecting a change in operation of the electronic commerce site; and
automatically configuring a second host computer to host at least a portion of
the electronic commerce site on the second host computer in response to the act
of detecting;
wherein the act of detecting includes an act of detecting at least one of a failure
and a malfunction of the electronic commerce site;
wherein the first host computer is coupled to at least one first storage device
that is accessible to the first host computer and in which data of the first host
computer is stored; and
wherein the act of automatically configuring the second host computer includes
acts of:
replicating the data of the first host computer from the at least one first storage
device to at least one second storage device that is accessible to the second host
computer; and
modifying a network address of the second host computer to be different than
a network address of the first host computer.
8. The method of claim 7, further comprising an act of:
modifying a network director to redirect communications addressed to the network
address of the first host computer to the network address of the second host computer.
9. A method of performing electronic commerce, comprising acts of:
hosting an electronic commerce site on a first host computer;
detecting a change in operation of the electronic commerce site; and
automatically configuring a second host computer to host at least a portion of
the electronic commerce site on the second host computer in response to the act
of detecting;
wherein the act of detecting includes an act of detecting a decrease in performance
of the electronic commerce site;
wherein the first host computer is coupled to at least one first storage device
that is accessible to the first host computer and in which data of the first host
computer is stored, and
wherein the act of automatically configuring the second host computer includes
an act of:
replicating the data of the first host computer from the at least one first storage
device to at least one second storage device that is accessible to the second host
computer, wherein the act of replicating the data includes an act of making the
data available to the second host computer without the first host computer copying
the data from the at least one first storage device and without the second host
computer copying the data to the at least one second storage device.
10. The method of claim 9, wherein the act of detecting includes an act of detecting
at least one of a failure and a malfunction of the electronic commerce site.
11. The method of claim 10, further comprising an act of automatically shutting
down the first host computer in response to the act of detecting.
12. The method of claim 10, wherein the first host computer is coupled to at
least one first storage device that is accessible to the first host computer and
in which data of the first host computer is stored, and wherein the act of automatically
configuring the second host computer includes an act of:
replicating the data of the first host computer from the at least one first storage
device to at least one second storage device that is accessible to the second host
computer.
13. The method of claim 12, wherein the act of automatically configuring the
second host computer further includes an act of:
bringing the second host computer on line using the replicated data.
14. The method of claim 12, wherein the act of replicating the data includes
an act of replicating the data from the at least one first storage device that
is located in a first storage system to the at least one second storage device
that is located in a second storage system.
15. The method of claim 12, wherein the act of automatically configuring the
second host computer further includes an act of:
transforming at least a portion of the replicated data of the first host computer
for use with the second host computer when the second host computer is not identical
to the first host computer.
16. A method of performing electronic commerce, comprising acts of:
hosting an electronic commerce site on a first host computer;
detecting a change in operation of the electronic commerce site; and
automatically configuring a second host computer to host at least a portion of
the electronic commerce site on the second host computer in response to the act
of detecting,
wherein the act of detecting includes an act of detecting a decrease in performance
of the electronic commerce site;
wherein the first host computer is coupled to at least one first storage device
that is accessible to the first host computer and in which data of the first host
computer is stored, and
wherein the act of automatically configuring the second host computer includes
an act of:
replicating the data of the first host computer from the at least one first storage
device to at least one second storage device that is accessible to the second host
computer, wherein the act of replicating the data includes an act of replicating
all of the data that is used by the first host computer and stored on the at least
one first storage device to the at least one second storage device, and wherein
the act of automatically configuring further includes acts of:
modifying a portion of the replicated data that corresponds to configurable parameters
of the first host computer; and
bringing the second host computer on line using the replicated data and the modified
portion of the replicated data.
17. The method of claim 16, wherein the act of modifying the portion of the replicated
data includes an act of modifying the portion of the replicated data that corresponds
to a network address of the first host computer to correspond to a different network
address, the method further comprising an act of:
modifying a network director to redirect at least one communication addressed
to the network address of the first host computer to the different network address.
18. The method of claim 16, wherein the act of modifying the portion of the replicated
data includes an act of modifying the portion of the replicated data that corresponds
to a network address of the first host computer to correspond to a different network
address, the method further comprising an act of:
modifying a network director to redirect only communications addressed to the
network address of the first host computer that do not modify the replicated data
to the different network address.
19. A method of performing electronic commerce, comprising acts of:
hosting an electronic commerce site on a first host computer;
detecting a change in operation of the electronic commerce site; and
automatically configuring a second host computer to host at least a portion of
the electronic commerce site on the second host computer in response to the act
of detecting;
wherein the act of detecting includes an act of detecting a decrease in performance
of the electronic commerce site;
wherein the first host computer is coupled to at least one first storage device
that is accessible to the first host computer and in which data of the first host
computer is stored, and
wherein the act of automatically configuring the second host computer includes
an act of:
replicating the data of the first host computer from the at least one first storage
device to at least one second storage device that is accessible to the second host
computer, wherein act of replicating the data includes an act of:
replicating only a portion of the data that is used by the first host computer
and stored on the at least one first storage device to the at least one second
storage device, the portion of the data corresponding to data of the electronic
commerce site that can be used by the second host computer without modification.
20. The method of claim 3, wherein the act of automatically configuring further
includes an act of:
bringing the second host computer on line using the replicated portion of the
data.
21. The method of claim 20, further comprising an act of:
modifying a network director to redirect at least one communication addressed
to a network address of the first host computer to a network address of the second
host computer.
22. The method of claim 3, wherein the act of replicating the data includes an
act of replicating the data from the at least one first storage device that is
located in a first storage system to the at least one second storage device that
is located in a second storage system.
23. A method of performing electronic commerce, comprising acts of:
hosting an electronic commerce site on a first host computer;
detecting a change in operation of the electronic commerce site; and
automatically configuring a second host computer to host at least a portion of
the electronic commerce site on the second host computer in response to the act
of detecting;
wherein the act of detecting includes an act of detecting a decrease in performance
of the electronic commerce site;
wherein the first host computer is coupled to at least one first storage device
that is accessible to the first host computer and in which data of the first host
computer is stored; and
wherein the act of automatically configuring the second host computer includes
acts of:
replicating the data of the first host computer from the at least one first storage
device to at least one second storage device that is accessible to the second host
computer, wherein the act of replicating the data includes an act of replicating
the data from the at least one first storage device that is located in a first
storage system to the at least one second storage device that is located in a second
storage system; and
modifying a network address of the second host computer to be different than
a network address of the first host computer.
24. The method of claim 23, further comprising an act of:
modifying a network director to redirect at least one communication addressed
to the network address of the first host computer to the network address of the
second host computer.
25. A method of performing electronic commerce, comprising acts of:
hosting an electronic commerce site on a first host computer;
detecting a change in operation of the electronic commerce site, wherein the
act of detecting includes an act of detecting a decrease in performance of the
electronic commerce site;
automatically configuring a second host computer to host at least a portion of
the electronic commerce site on the second host computer in response to the act
of detecting;
detecting a further decrease in the performance of the electronic commerce site
subsequent to the act of automatically configuring the second host computer; and
automatically configuring a third host computer to host at least another portion
of the electronic commerce site on the third host computer in response to the act
of detecting the further decrease in the performance.
26. A computer system, comprising:
a first host computer that hosts an electronic commerce site;
a second host computer; and
a controller, operatively coupled to the first host computer and the second host
computer, that automatically configures the second host computer to host at least
a portion of the electronic commerce site on the second host computer in response
to a change in operation of the electronic commerce site, wherein the controller
automatically configures the second host computer to host the portion of the electronic
commerce site on the second host computer in response to a detection of at least
one of a failure, a malfunction, and a change in performance of the electronic
commerce site.
27. The computer system of claim 26, further comprising:
a relay that is operatively coupled to a power source, the first host computer,
and the controller, the relay switching, in response to an instruction from the
controller, between a first position in which power from the power source is provided
to the first host computer and a second position in which power from the power
source is not provided to the first host computer.
28. The computer system of claim 26, further comprising:
a relay that is operatively coupled to a power source, the second host computer,
and the controller, the relay switching, in response to an instruction from the
controller, between a first position in which power from the power source is not
provided to the second host computer and a second position in which power from
the power source is provided to the second host computer.
29. The computer system of claim 26, further comprising:
a storage system that is operatively coupled to the first host computer and the
controller, the storage system mirroring data of the first host computer from a
first storage device that is accessible to the first host computer to a second
storage device that is accessible to the second host computer.
30. The computer system of claim 29, wherein the storage system is a first storage
system, the computer system further comprising:
a second storage system that is operatively coupled to the second host computer
and the controller;
wherein the first storage device is located in the first storage system and the
second storage device is located in the second storage system.
31. The computer system of claim 30, wherein the first host computer is coupled
to a first network having a first subnet address and the second host computer is
coupled to a second network having a second subnet address that is different than
the first subnet address.
32. The computer system of claim 31, wherein the controller includes means for
modifying a portion of the mirrored data that corresponds to a network address
of the first host computer to correspond to a different address.
33. The computer system of claim 31 further comprising:
a network director, coupled to the first host computer and the controller, that
redirects, in response to an instruction from the controller, communications sent
to a network address of the first host computer to a network address of the second
host computer.
34. The computer system of claim 26, further comprising:
a storage system that is operatively coupled to the first host computer and the
controller, the storage system including a first storage device that stores data
of the first host computer;
wherein the controller includes means for replicating the data of the first computer
from the first storage device to a second storage device that is accessible to
the second host computer.
35. The computer system of claim 34, wherein the storage system is a first storage
system, the computer system further comprising:
a second storage system that is operatively coupled to the second host computer
and the controller;
wherein the first storage device is located in the first storage system and the
second storage device is located in the second storage system.
36. The computer system of claim 34, wherein the controller further includes
a transformation engine that transforms at least a portion of the replicated data
for use by the second host computer.
37. The computer system of claim 26, further comprising:
a storage system that is operatively coupled to the first host computer and the
controller, the storage system including a first storage device that stores data
of the first host computer;
wherein the controller includes means for replicating a portion of the data of
the first computer from the first storage device to a second storage device that
is accessible to the second host computer, the portion of data corresponding to
the portion of the electronic commerce site.
38. The computer system of claim 26, wherein the controller includes:
means for detecting at least one of a failure, a malfunction, and a change in
performance of the electronic commerce site.
39. A computer system, comprising:
a first host computer that hosts an electronic commerce site;
a second host computer;
a controller, operatively coupled to the first host computer and the second host
computer, that automatically configures the second host computer to host at least
a portion of the electronic commerce site on the second host computer in response
to a change in operation of the electronic commerce site;
a first storage system that is operatively coupled to the first host computer
and the controller, the first storage system including a first storage device that
stores data of the first host computer, wherein the controller includes means for
replicating the data of the first computer from the first storage device to a second
storage device that is accessible to the second host computer; and
a second storage system that is operatively coupled to the second host computer
and the controller, wherein the first storage device is located in the first storage
system and the second storage device is located in the second storage system, and
wherein the first host computer is coupled to a first network having a first
subnet address and the second host computer is coupled to a second network having
a second subnet address that is different than the first subnet address.
40. The computer system of claim 39, wherein the controller includes means for
modifying a portion of the replicated data that corresponds to a network address
of the first host computer to correspond to a different address.
41. A computer system, comprising:
a first host computer that hosts an electronic commerce site;
a second host computer;
a controller, operatively coupled to the first host computer and the second host
computer, that automatically configures the second host computer to host at least
a portion of the electronic commerce site on the second host computer in response
to a change in operation of the electronic commerce site;
a first storage system that is operatively coupled to the first host computer
and the controller, the first storage system including a first storage device that
stores data of the first host computer, wherein the controller includes means for
replicating the data of the first computer from the first storage device to a second
storage device that is accessible to the second host computer;
a second storage system that is operatively coupled to the second host computer
and the controller, wherein the first storage device is located in the first storage
system and the second storage device is located in the second storage system; and
a network director, coupled to the first host computer and the controller, that
redirects, in response to an instruction from the controller, communications sent
to a network address of the first host computer to a network address of the second
host computer.
42. A computer system, comprising:
a first host computer that hosts an electronic commerce site;
a second host computer;
a controller, operatively coupled to the first host computer and the second host
computer, that automatically configures the second host computer to host at least
a portion of the electronic commerce site on the second host computer in response
to a change in operation of the electronic commerce site; and
a storage system that is operatively coupled to the first host computer and includes
a storage processor;
wherein the controller executes on the storage processor of the storage system.
43. A storage system for use with a first host computer and a second host computer,
the storage system comprising:
at least one first storage device to store data of the first host computer corresponding
to an electronic commerce site hosted by the first host computer;
a controller that is coupled to the at least one first storage device, wherein
the controller, when operatively coupled to the first host computer and the second
host computer, automatically configures the second host computer to use at least
a portion of the data of the first host computer that corresponds to the electronic
commerce site to host a portion of the electronic commerce site on the second host
computer in response to a change in operation of the electronic commerce site;
and
wherein the controller executes on the storage processor of the storage system.
44. The storage system of claim 43, wherein the controller includes means for
detecting at least one of a failure, a malfunction, and a change in performance
of the electronic commerce site.
45. The storage system of claim 43, further comprising:
at least one second storage device that is coupled to the second host computer
and the controller;
wherein the controller includes means for replicating the portion of the data
of the first host computer that corresponds to the electronic commerce site from
the at least one first storage device to the at least one second storage device.
46. The storage system of claim 45, wherein the storage system is a networked
storage system that includes a first storage system and a second storage system,
each coupled to a network, and wherein the at least one first storage device is
located in the first storage system and the at least one second storage device
is located in the second storage system.
47. A storage system for use with a first host computer and a second host computer,
the storage system comprising:
at least one first storage device to store data of the first host computer corresponding
to an electronic commerce site hosted by the first host computer;
a controller that is coupled to the at least one first storage device, wherein
the controller, when operatively coupled to the first host computer and the second
host computer, automatically configures the second host computer to use at least
a portion of the data of the first host computer that corresponds to the electronic
commerce site to host a portion of the electronic commerce site on the second host
computer in response to a chance in operation of the electronic commerce site;
and
at least one second storage device that is coupled to the second host computer
and the controller;
wherein the controller includes means for replicating the portion of the data
of the first host computer that corresponds to the electronic commerce site from
the at least one first storage device to the at least one second storage device,
and wherein the means for replicating includes means for replicating the portion
of the data of the first host computer that corresponds to the electronic commerce
site without either of the first host computer and the second host computer copying
the portion of data from the at least one first storage device or to the at least
one second storage device.
48. A storage system for use with a first host computer and a second host computer,
the storage system comprising:
at least one first storage device to store data of the first host computer corresponding
to an electronic commerce site hosted by the first host computer;
a controller that is coupled to the at least one first storage device, wherein
the controller, when operatively coupled to the first host computer and the second
host computer, automatically configures the second host computer to use at least
a portion of the data of the first host computer that corresponds to the electronic
commerce site to host a portion of the electronic commerce site on the second host
computer in response to a change in operation of the electronic commerce site;
at least one second storage device that is coupled to the second host computer
and the controller; and
a backup storage device that stores a backup copy of the portion of the data
of the first host computer that corresponds to the electronic commerce site;
wherein the controller includes means for replicating the portion of the data
of the first host computer that corresponds to the electronic commerce site from
the at least one first storage device to the at least one second storage device,
wherein the means for replicating includes means for replicating the portion of
the data the backup storage device to the at least one second storage device when
the portion of the data that is stored on the at least one first storage device
is corrupted or unavailable.
Description
FIELD OF THE INVENTION
The present invention is directed to information storage systems, and more particularly,
to an information storage system that is capable of detecting a change in the operational
status of a first host computer and changing the operation of a second host computer
in response to the detected change.
DESCRIPTION OF THE RELATED ART
Providing replacement computer resources for a failed computer resource
is termed site failover. Site failover is but one conventional example of a renewable
host resource. Site failover from one computer system to another has historically
been an expensive and labor intensive procedure. For example, to provide site failover
for a first or primary computer system, a complete secondary or failover computer
system was traditionally required. In the event of a failure of the primary computer
system, the failover computer system would be brought up for use as a temporary
replacement of the primary computer system, while the primary computer system was repaired.
To ensure that the failover computer system was a viable replacement for the
primary
computer system, data on the primary computer system would be periodically copied
or backed up to the failover computer system for use in the event of failure of
the primary computer system. Typically this back up would be performed manually
over a network, or by tape, CD, or diskette. To facilitate site failover, the primary
and failover computer systems were typically required to be identical, in terms
of both hardware and software. In addition, to ensure that the failover computer
system would be ready when needed, the failover computer system was typically maintained
in an off state, until needed for replacing the primary computer system upon the
failure of the primary computer system.
Years ago, site failures were typically due to a failure of the storage system
to which a host computer was attached, rather than a failure of the host computer
itself. This is because the storage system was frequently one of the least reliable
components of the computer system. With the advent or more reliable storage systems
featuring more reliable disk drives and other storage devices, data mirroring,
data striping, etc., site failures are now more frequently caused by a failure
in the host computer, rather than the storage system to which it is attached.
The use of more reliable storage systems has reduced some of the labor associated
with site failover. Even so, some amount of manual intervention is still required.
For example, when a failure occurs in a primary host computer, a new failover host
computer still needs to be manually brought up in its stead. This typically requires
powering down the primary host computer and the storage system, reconfiguring cables
that were previously connected between the primary host computer and the storage
system to reconnect them between the failover host computer and the storage system,
powering on the failover host computer system and the storage system, and then
bringing the failover host computer up on-line as a replacement for the primary
host computer.
Although the use of more reliable storage systems can dispense with the
need for a complete failover computer system (i.e., failover host computer and
failover storage system), conventional methods of site failover are expensive.
For example, because some amount of manual intervention is still involved, conventional
methods of site failover require skilled personnel to be on hand while the primary
host computer is operational to effect site failover, when necessary. In addition,
most conventional methods of site failover still require that the primary host
computer and the failover host computer be identically configured in terms of both
hardware and software to facilitate site failover. This duplication of resources
is expensive, both initially and in terms of upgrades. For example, when advances
in computer technology render a primary host computer obsolete, the identically
configured failover host computer is also rendered obsolete. Furthermore, because
the failover host computer is typically maintained in a powered-off state until
needed, a great deal of computing resources are wasted.
SUMMARY OF THE INVENTION
According to one aspect of the present invention, a method and apparatus
for automatically configuring additional resources for a host computer is described.
In one embodiment, a method is provided that includes acts of detecting a change
in operation of a first host computer, and automatically configuring a second host
computer to provide additional computational resources for the first host computer
in response to the act of detecting.
According to another embodiment of the present invention, a computer system
is provided. The computer system includes a first host computer, a second host
computer, and a controller that is operatively coupled to the first host computer
and the second host computer. The controller automatically configures the second
host computer to provide additional computational resources for the first host
computer in response to a change in operation of the first host computer.
According to another embodiment of the present invention, a computer system
is provided that includes a first host computer, a second host computer, and configuration
means, coupled to the first host computer and the second host computer, for automatically
configuring the second host computer to provide additional computational resources
for the first host computer in response to a change in operation of the first host computer.
According to another embodiment of the present invention, a storage system
for use with a first host computer and a second host computer is provided. The
storage system includes a first storage device to store data of the first host
computer, and a controller that is coupled to the first storage device. The controller,
when operatively coupled to the first host computer and the second host computer,
automatically configures the second host computer to use the data of the first
host computer and provide additional computational resources for the first host
computer in response to a change in operation of the first host computer.
According to another aspect of the present invention, a method and apparatus
for performing load balancing is described. In one embodiment, a method is provided
that includes acts of detecting a decrease in performance of a first host computer,
and automatically configuring a second host computer to provide additional computational
resources for the first host computer in response to the act of detecting.
According to another embodiment of the present invention, a computer system
is provided. The computer system includes a first host computer, a second host
computer, and a controller that is operatively coupled to the first host computer
and the second host computer. The controller automatically configures the second
host computer to provide additional computational resources for the first host
computer in response to a decrease in performance of the first host computer.
According to another embodiment of the present invention, a computer system
is provided that includes a first host computer, a second host computer, and configuration
means, coupled to the first host computer and the second host computer, for automatically
configuring the second host computer to provide additional computational resources
for the first host computer in response to a decrease in performance of the first
host computer.
According to another embodiment of the present invention, a storage system
for use with a first host computer and a second host computer is provided. The
storage system includes a first storage device to store data of the first host
computer, and a controller that is coupled to the first storage device. The controller,
when operatively coupled to the first host computer and the second host computer,
automatically configures the second host computer to use the data of the first
host computer and provide additional computational resources for the first host
computer in response to a decrease in performance of the first host computer.
According to a further aspect of the present invention, a method and apparatus
for performing electronic commerce is described. In one embodiment, a method of
performing electronic commerce includes acts of hosting an electronic commerce
site on a first host computer, detecting a change in operation of the electronic
commerce site, and automatically configuring a second host computer to host at
least a portion of the electronic commerce site on the second host computer in
response to the act of detecting.
According to another embodiment of the present invention, a computer system
is provided. The computer system includes a first host computer that hosts an electronic
commerce site, a second host computer, and a controller that is operatively coupled
to the first host computer and the second host computer. The controller automatically
configures the second host computer to host at least a portion of the electronic
commerce site on the second host computer in response to a change in operation
of the electronic commerce site.
According to another embodiment of the present invention, a storage system
for use with a first host computer and a second host computer is provided. The
storage system includes at least one first storage device to store data of the
first host computer corresponding to an electronic commerce site hosted by the
first host computer, and a controller that is coupled to the at least one first
storage device. The controller when operatively coupled to the first host computer
and the second host computer, automatically configures the second host computer
to use at least a portion of the data of the first host computer that corresponds
to the electronic commerce site to host a portion of the electronic commerce site
on the second host computer in response to a change in operation of the electronic
commerce site.
BRIEF DESCRIPTION OF THE DRAWINGS
Illustrative, non-limiting embodiments of the present invention are
described by way of example with reference to the accompanying drawings, in which:
FIG. 1 illustrates a networked computer environment that includes two host computers
that are coupled to a storage system and a controller that is capable of performing
site failover from one host computer to the other according to one embodiment of
the present invention;
FIG. 2A is a flow diagram of a site failover routine that can be performed by
the controller of FIG. 1 according to one embodiment of the present invention;
FIG. 2B is a flow diagram of another site failover routine that can be performed
by the controller of FIG. 1 according to another embodiment of the present invention;
FIG. 2C is a flow diagram of another site failover routine that can be performed
by the controller of FIG. 1 according to yet another embodiment of the present invention;
FIG. 3 illustrates a networked computer environment that includes two host computers
that are coupled to different storage systems and a controller that is capable
of performing site failover from one host computer to the other according to another
embodiment of the present invention;
FIG. 4 is a flow diagram of a site failover routine that can be performed by
the controller of FIG. 3 according to an embodiment of the present invention;
FIG. 5 illustrates a networked computer environment that includes two host computers
that are coupled to different storage systems on different networks and a controller
that is capable of performing site failover from one host computer to the other
according to another embodiment of the present invention;
FIG. 6 is a flow diagram of a site failover routine that can be performed by
the controller of FIG. 5 according to an embodiment of the present invention;
FIG. 7 illustrates a networked computer environment that includes two differently
configured host computers that are coupled to a storage system and a controller
that is capable of performing site failover from one host computer to the other
according to another embodiment of the present invention;
FIG. 8 is a flow diagram of a site failover routine that can be performed by
the controller of FIG. 7 according to one embodiment of the present invention;
FIG. 9 is a flow diagram of another site failover routine that can be performed
by the controller of FIG. 7 according to another embodiment of the present invention;
FIG. 10 illustrates a networked computer environment that includes a number
of different computer sites that are coupled to different storage systems and a
controller that is capable of performing site failover from one computer site to
another according to another embodiment of the present invention;
FIG. 11 is a flow diagram of a load balancing routine that can be performed
by the controller of FIG. 1 according to another embodiment of the present invention;
FIG. 12 illustrates a networked computer environment that includes an electronic
commerce site and a controller that is capable of providing additional host resources
according to an embodiment of the present invention; and
FIG. 13 is a flow diagram of a load balancing routine that can be used to provide
additional host resources for an electronic commerce site.
DETAILED DESCRIPTION
Embodiments of the present invention will be understood more completely
through the following detailed description which should be read in conjunction
with the attached drawings in which similar reference numbers indicate similar structures.
Embodiments of the present invention are broadly directed to a method
and apparatus for providing renewable host resources in a networked computing environment.
Within this disclosure, the term "networked computer environment" includes any
computing environment in which a plurality of host computers are connected to one
or more storage systems in such a manner that the storage system(s) can communicate
with each of the host computers. One type of network in which embodiments of the
present invention may be used is a Fibre Channel network, although the present
invention is not so limited. For example, other network configurations and protocols
may be used, such as Ethernet, FDDI, Token Ring, etc. Embodiments of the present
invention may be used in Local Area Networks (LANS) as well as Wide Area Networks
(WANS), with no requirement that the host computers or the storage system(s) reside
in the same physical location, the same network segment, or even in the same network.
Moreover, embodiments of the present invention may also be used with conventional
point-to-point storage connections, such as SCSI, ESCON, etc. that are not typically
viewed as a "network". In this regard, all that is necessary is that the storage
system be capable of communicating with each host computer that is part of the
renewable host resource environment, as will be described further below.
According to one aspect of the present invention, renewable host resources
are provided that can be automatically (e.g., without any manual intervention by
a system administrator or other personnel) configured and put into use when a change
in the operational status of a host computer is detected. In one embodiment of
the present invention, these renewable host resources are provided in the form
of a secondary or failover host computer that can be automatically configured and
brought on line to replace a failing primary host computer. In other embodiments
of the present invention, the renewable host resources do not replace a primary
host computer, but rather complement the operation of a primary host computer.
In particular, these other embodiments of the present invention permit additional
host computing resources to be dynamically configured and then added to and/or
removed from the computer network dependent upon an operational status of the primary
host computer. For example, when processing activity, memory utilization, etc.
on a primary host computer reaches a threshold where the performance of the primary
host computer is impacted, one or more additional host computers can be configured
and brought on line to share the computational load.
According to a further aspect of the present invention, there is no requirement
that the primary host computer or the secondary host computer(s) be identically
configured, either in software or hardware. Furthermore, although embodiments of
the present invention are described in terms of primary and secondary host computers,
the present invention is not so limited. In this regard, the present invention
may be used to provide renewable host resources for a computer site that includes
a plurality of host computers. Moreover, as with individual host computers, the
present invention is not limited to computer sites that reside in the same physical
or network location, as primary and secondary computer sites may reside in different
geographic locations.
FIG. 1 depicts one illustrative networked computing environment in which embodiments
of the present invention may be used. As shown in FIG. 1, networked computing environment
100 includes a primary host computer
110 and a secondary host computer
120. As used herein, the term "host computer" refers to any computer that
includes at least one processor, such as a personal computer (PC), a workstation,
a mainframe, a networked client, etc., that is capable of communicating with other
devices, such as a storage system or other host computers. The primary and secondary
host computers
110,
120 communicate with each other over a communication
network
140, such as Ethernet, Token Ring, Fibre Channel, etc. Each of the
host computers
110,
120 is also connected to a storage system
130
by a respective connection
145A,
145B. Connections
145A and
145B may include a bus connection, such as SCSI or ESCON, or may include
networked connections such as Fibre Channel. There is no requirement that connection
145A use the same type of connection or protocol as connection
145B.
For example, connection
145A may use a point-to-point connection such as
SCSI, while connection
145B may use a network connection such as Fibre Channel.
Moreover, it should be appreciated that connections
145A and
145B
may be implemented via the communication network
140.
As shown in FIG. 1, storage system
130 includes one or more storage devices
135 (e.g., disk drives) to service the storage needs of the host computers
110,
120. Storage devices
135 may include one or more disks
of a recording medium, such as a magnetic recording medium or an optical recording
medium. The storage devices may also include solid state storage devices, such
as RAM-disks, as an alternative to or in addition to, more conventional forms of
recording media. One example of a storage system that may be used with embodiments
of the present invention is the SYMMETRIX line of storage systems available from
EMC Corporation of Hopkinton, Mass. The SYMMETRIX line of storage systems is described
in numerous publications from EMC corporation, including the SYMMETRIX model 55XX
product manual, P-N200-810-550, rev. F, February, 1996. However, it should be appreciated
that the present invention is not limited to the use of a SYMMETRIX storage system,
as other storage systems may alternatively be used.
Storage system
130 also includes one or more port adapters
132A,
132B to connect to the primary and secondary host computers
110,
120, a storage processor or controller
133, and one or more disk
adapters (not shown) that are operatively coupled to the storage devices
135.
As the detailed structure of the storage system
130 is not necessary to
understanding the present invention, and as the invention is not limited to any
particular structure, further description of the storage system
130 is omitted herein.
According to one aspect of the present invention, computing environment
100 also includes a controller
160 that is operatively coupled to
the primary host computer
110, the secondary host computer
120, and
the storage system
130. In one embodiment of the present invention, the
controller
160 is implemented in software executing on storage processor
133. In this embodiment, the controller
160 communicates with the
primary and secondary host computers over connections
145A and
145B.
As noted above, connections
145A and
145B may be point-to-point connections
such as SCSI, ESCON, or network connections, such as Fibre Channel. Alternatively,
controller
160 may be implemented separately from the storage system
130,
for example, in a separate processor, as shown in FIG.
1. Where controller
160 is implemented separately from the storage system
130, controller
160 may communicate with the primary host computer
110, the secondary
host computer
120, and the storage system
130 over connections
165A,
165B, and
165C as shown in dotted line form. Connections
165A,
165B, and
165C may be separate point-to-point connections, or network
connections. Indeed, all that is necessary is that controller
160 be capable
of communicating with the primary host computer
110, the secondary host
computer
120, and the storage system
130.
Controller
160 is capable of automatically detecting a change in
the operational status of the primary host computer
110 and, in response
to this change in operational status, automatically altering the operational status
of the secondary host computer
120. As used herein, the term "automatically"
means without any manual intervention by a system administrator or other personnel.
According to one embodiment of the present invention, controller
160 periodically
queries the primary host computer
110 to determine its operational status.
Based upon the response to this query, or the lack of a response to this query
within a predetermined timeframe, the controller
160 can determine whether
the operational status of the secondary host computer should be changed to provide
additional host resources to complement or replace those provided by the primary
host computer
110.
According to one embodiment to the present invention, controller
160
may be configured as a failover controller to configure and bring on-line secondary
host computer
120 as a replacement for primary host computer
110
in the event that primary host computer
110 fails. When a failure of the
primary host computer
110 is detected, controller
160 configures
the secondary host computer
120 as a replacement for the primary host computer
110, shuts down the primary host computer
110, and then brings the
secondary host computer
120 on line as a replacement to the primary host
computer
110. Although controller
160 is capable of detecting the
failure of the primary host computer
110, the controller
160 can
also be capable of detecting malfunctions or other errors in the primary host computer
110 that do not amount to a complete failure. For example, malfunctions
that may be detected include CPU errors or memory errors on the primary host computer
110, the malfunctioning of a network controller, an I/O controller, or adapter,
or any other type of malfunction indicative of a diminished operational capacity
of the primary host computer
110. In particular, in one embodiment of the
present invention, controller
160 is capable of detecting malfunctions in
the primary host computer
110 that are indicative of an imminent failure
of the primary host computer
110. By detecting the imminent failure of the
primary host computer
110 prior to actual failure, any data that is stored
locally on the primary host computer
110 can be written to the storage system
130, and the primary host computer
110 can be shut down in an orderly
manner. This reduces the possibility of lost data.
According to another embodiment of the present invention, an agent
162
is provided for the primary host computer
110 and communicates with the
controller
160. In one embodiment, the agent
162 is implemented in
software that executes on a processor in the primary host computer
110.
The agent
162 monitors the operation of the primary host computer
110
and reports any errors to the controller
160. For example, agent
162
can monitor system error messages generated by the primary host computer
110
and report these messages to the controller
160. Alternatively, or in addition
to monitoring error messages, the agent
162 can periodically run diagnostic
tests on the primary host computer
110 to verify the operation of the primary
host computer
110. It should be appreciated that varying levels of diagnostic
tests may be run at different time intervals. For example, relatively quick diagnostic
routines that are capable of detecting serious problems may be executed at shorter
time intervals, while more extensive diagnostic routines capable of detecting less
obvious or severe problems may be executed at longer time intervals. The agent
162 may include sophisticated detection routines that are capable of identifying
a series of relatively minor errors that, over time, may indicate the imminent
failure of one or more components of the primary host computer
110.
In one embodiment, the agent
162 is programmed to send a status report
to the controller
160 at predetermined periodic intervals, irrespective
of whether errors have been detected on the primary host computer
110. In
this embodiment, when a status report has not been received by the controller
160
at an expected interval, the controller
160 assumes that the primary host
computer
110 has failed and responds appropriately. As previously described,
when a failure is detected by the controller
160, the controller
160
may shut down the primary host computer
110 and configure the secondary
host computer
120 to act in its stead.
According to one e