U.S. patent application number 13/802389 was filed with the patent office on 2013-08-01 for virtual recovery server.
This patent application is currently assigned to MAXSP CORPORATION. The applicant listed for this patent is MaxSP Corporation. Invention is credited to Robert O. Keith, Jr..
Application Number | 20130198559 13/802389 |
Document ID | / |
Family ID | 48049281 |
Filed Date | 2013-08-01 |
United States Patent
Application |
20130198559 |
Kind Code |
A1 |
Keith, Jr.; Robert O. |
August 1, 2013 |
VIRTUAL RECOVERY SERVER
Abstract
A virtual recovery server is described herein. The virtual
recovery server is a software implementation on a storage server
which generates a virtual server to replace a physical server when
the physical server becomes inaccessible. While the physical server
is inaccessible, the virtual recovery server is able to mimic the
actions and data contained on the physical server. Thus, when users
attempt to access an application or data that is on the physical
server, they will not experience an interruption and will continue
to access the information as if the physical server were up and
running. The virtual recovery server is able to run for up to a
number of days. When a new or repaired physical server is available
the virtual recovery server is deleted after the data acquired by
the virtual server is transmitted to the new physical server.
Inventors: |
Keith, Jr.; Robert O.;
(Modesto, CA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
MaxSP Corporation; |
Sunnyvale |
CA |
US |
|
|
Assignee: |
MAXSP CORPORATION
Sunnyvale
CA
|
Family ID: |
48049281 |
Appl. No.: |
13/802389 |
Filed: |
March 13, 2013 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11644451 |
Dec 21, 2006 |
8423821 |
|
|
13802389 |
|
|
|
|
Current U.S.
Class: |
714/4.11 |
Current CPC
Class: |
G06F 11/2097 20130101;
G06F 11/1484 20130101; G06F 11/201 20130101; G06F 11/2038 20130101;
G06F 11/2028 20130101; G06F 11/1662 20130101 |
Class at
Publication: |
714/4.11 |
International
Class: |
G06F 11/20 20060101
G06F011/20 |
Claims
1-48. (canceled)
49. A system for providing network stability and data reliability,
comprising: a. a first server; b. a second server coupled to the
first server wherein the second server comprises a memory device
and stores first server data received from the first server on the
memory device; and c. a virtual server generated by the second
server when the first server fails, wherein the virtual server
performs the functions of the first server.
50. The system as claimed in claim 49 wherein the second server is
a storage server.
51. The system as claimed in claim 49 wherein the first server
backs up the first server data onto the second server using a
continuous backup scheme.
52. The system as claimed in claim 49 wherein the second server
stores a system image of the first server.
53. The system as claimed in claim 52 wherein the second server
transfers the system image to the virtual server when generating
the virtual server.
54. The system as claimed in claim 53 wherein the virtual server
transfers the system image to a replacement server for the first
server.
55. The system as claimed in claim 49 wherein the virtual server
mimics the first server.
56. The system as claimed in claim 49 wherein the virtual server is
activated in real-time.
57. The system as claimed in claim 49 wherein the first server is
accessible by customers.
58. The system as claimed in claim 49 wherein the virtual server is
generated in response to the failure of the first server.
59. A method of providing network stability and data reliability,
comprising: a. backing up first server data from a first server to
a second server; b. generating a virtual server when the first
server fails; and c. serving the first server data utilizing the
virtual server until the first server is replaced.
60. The method as claimed in claim 59 further comprising replacing
the failed server.
61. The method as claimed in claim 59 further comprising deleting
the activated virtual server.
62. The method as claimed in claim 59 wherein the second server is
a storage server.
63. The method as claimed in claim 59 wherein the first server
backs up the first server data onto the second server using a
continuous backup scheme.
64. The method as claimed in claim 59 further comprising storing a
system image of the first server on the second server.
65. The method as claimed in claim 64 further comprising
transferring the system image from the second server to the virtual
server when generating the virtual server, wherein the system image
corresponds to the failed first server.
66. The method as claimed in claim 65 further comprising
transferring the system image from the virtual server to a
replacement server for the failed first server.
67. The method as claimed in claim 59 wherein serving data
utilizing the virtual server includes mimicking the failed first
server before the server failed.
68. The method as claimed in claim 59 wherein generating the
virtual server is in real-time.
69. The method as claimed in claim 59 wherein the first server is
accessible by customers.
70. The method as claimed in claim 59 wherein the first server is
one of a set of first servers.
71. An apparatus for providing network stability and data
reliability, comprising: a. a storage component; b. a data backup
application stored on the storage component for backing up server
data received from a server; and c. a virtual machine application
stored on the storage component for generating a virtual server
when the server fails.
72. The apparatus as claimed in claim 71 wherein a server image is
pre-installed on the storage component.
73. The apparatus as claimed in claim 72 wherein the server image
corresponds to the server.
74. The apparatus as claimed in claim 71 wherein a plurality of
server images are pre-installed on the storage component.
75. The apparatus as claimed in claim 71 wherein a server image is
acquired from the server.
76. A system for providing network stability and data reliability,
comprising: a. a first server; b. a second server coupled to the
first server wherein the second server comprises a memory device
and stores first server data received from the first server on the
memory device; and c. a virtual server, wherein the virtual server
performs functions of the first serve and further wherein the
second server is configured to activate the virtual server upon
detecting characteristics of the first server indicating an
increase in a likelihood of failure of the first server.
77. A method of providing network stability and data reliability,
comprising: a. backing up first server data from a first server to
a second server; b. activating a virtual server upon detecting
characteristics of the first server indicating an increase in a
likelihood of failure of the first server; and c. serving the first
server data utilizing the virtual server until the first server is
replaced.
78. An apparatus for providing network stability and data
reliability, comprising: a. a storage component; b. a data backup
application stored on the storage component for backing up server
data received from a server; and c. a virtual machine application
stored on the storage component for activating a virtual server
upon detecting characteristics of the first server indicating an
increase in a likelihood of failure of the first server.
79. An apparatus for providing network stability and data
reliability, comprising: a. a storage component; b. a data backup
application stored on the storage component for backing up server
data received from a server; and c. a virtual machine application
stored on the storage component for activating a virtual server
when the server fails, wherein the data backup application
continues to back up data after the server files while the virtual
server runs.
Description
FIELD OF THE INVENTION
[0001] The present invention relates to the field of computing.
More specifically, the present invention relates to the field of
implementing a virtual recovery server.
BACKGROUND OF THE INVENTION
[0002] A typical network requires the use of one or more servers to
store, distribute and process data. Furthermore, the network
implements a backup system to save data in the event a server loses
data whether it be due to a virus, software issue or hardware
failure. Although the data is backed up, that does not remedy the
problem of the server being inaccessible as a result of a
malfunction. Once a server fails, an administrator has to replace
the server with another server which is a process that could take a
few hours or days if a new server needs to be purchased. With a
server down, data stored on that server is likely inaccessible
which causes problems such as a website being unavailable. It has
been estimated that millions of dollars are lost due to system
inaccessibility. Furthermore, there is a significant effect on
reputation when a company's website is down. Moreover, for Local
Area Networks (LANs) within an organization, a server being down
would halt productivity if employees are unable to access their
data.
[0003] A solution of ensuring that the server information is
continuously available is to utilize a dedicated backup server for
each server. While that works well with one server, it becomes a
high cost solution with multiple servers as each server typically
costs many thousands of dollars.
SUMMARY OF THE INVENTION
[0004] A virtual recovery server is described herein. The virtual
recovery server is a software implementation on a storage server
which generates a virtual server to replace a physical server when
the physical server becomes inaccessible. While the physical server
is inaccessible, the virtual recovery server is able to mimic the
actions and data contained on the physical server. Thus, when users
attempt to access an application or data that is on the physical
server, they will not experience an interruption and will continue
to access the information as if the physical server were up and
running. The virtual recovery server is able to run for up to a
number of days. When a new or repaired physical server is available
the virtual recovery server is deleted after the data acquired by
the virtual server is transmitted to the new physical server.
[0005] In one aspect, a system for providing network stability and
data reliability comprises a first server, a second server coupled
to the first server wherein the second server stores data received
from the first server and a virtual server activated by the second
server when the first server fails, wherein the virtual server
performs functions of the first server. The second server is a
storage server. The first server backs up the data onto the second
server using a continous backup scheme. The second server stores a
system image of the first server. The second server transfers the
system image to the virtual server when generating the virtual
server. The virtual server transfers the system image to a
replacement server for the first server. The virtual server mimics
the first server. The virtual server is activated in real-time. The
second server continues to back up the data while running the
virtual server. The first server is accessible by customers.
[0006] In another aspect, a system for providing network stability
and data reliability comprises a set of first servers, a second
server coupled to the set of first servers wherein the second
server stores data received from the set of first servers and a
virtual server activated for each failed server in the set of first
servers, wherein the virtual server is activated by the second
server and further wherein the virtual server performs functions of
each failed server. The second server is a storage server. The set
of first servers back up the data onto the second server using a
continous backup scheme. The second server stores a system image of
each server of the set of first servers. The second server
transfers the system image to the virtual server when generating
the virtual server, further wherein the system image corresponds to
the failed server of the set of first servers. The virtual server
transfers the system image to a replacement server for the failed
server of the set of first servers. The virtual server mimics the
failed server of the set of first servers before the server failed.
The virtual server is activated in real-time. The second server
continues to back up the data while running the virtual server. The
set of first servers are accessible by customers.
[0007] In yet another aspect, a method of providing network
stability and data reliability comprises backing up data from a
first server to a second server, activating a virtual server when
the first servers fails and serving the data utilizing the virtual
server until the first server is replaced. The method further
comprises replacing the failed server. The method further comprises
deleting the activated virtual server. The second server is a
storage server. The first server backs up the data onto the second
server using a continous backup scheme. The method further
comprises storing a system image of the first server on the second
server. The method further comprises transferring the system image
from the second server to the virtual server when generating the
virtual server, wherein the system image corresponds to the failed
first server. The method further comprises transferring the system
image from the virtual server to a replacement server for the
failed first server. Serving data utilizing the virtual server
includes mimicking the failed first server before the server
failed. Generating the virtual server is in real-time. The second
server continues to back up the data while running the virtual
server. The first server is accessible by customers. The first
server is one of a set of first servers.
[0008] In yet another aspect, a network of devices for providing
network stability and data reliability comprises a set of first
servers, a second server coupled to the set of first servers,
wherein the second server stores data received from the set of
first servers and generates a virtual server for each failed server
in the set of first servers and further wherein the virtual server
performs functions of each failed server, a regional data center
coupled to the second server for backing up the data regionally and
a remote data center coupled to the regional data center for
backing up the data remotely. The second server is a storage
server. The set of first servers back up the data onto the second
server using a continous backup scheme. The second server stores a
system image of each server of the set of first servers. The second
server transfers the system image to the virtual server when
generating the virtual server, further wherein the system image
corresponds to the failed server of the set of first servers. The
virtual server transfers the system image to a replacement server
for the failed server of the set of first servers. The virtual
server mimics the failed server of the set of first servers before
the server failed. The virtual server is activated in real-time.
The second server continues to back up the data while running the
virtual server. The set of first servers are accessible by
customers.
[0009] In another aspect, an apparatus for providing network
stability and data reliability comprises a storage component, a
data backup application stored on the storage component for backing
up data received from a server and a virtual machine application
stored on the storage component for generating a virtual server
when the server fails. A server image is pre-installed on the
storage component. The server image corresponds to the server. A
plurality of server images are pre-installed on the storage
component. A server image is acquired from the server.
BRIEF DESCRIPTION OF THE DRAWINGS
[0010] FIG. 1A illustrates a graphical representation of a server
configuration.
[0011] FIG. 1B illustrates a graphical representation of an
embodiment of the present invention.
[0012] FIG. 2 illustrates a block diagram of a storage server of
the present invention.
[0013] FIG. 3 illustrates a flow chart of utilizing a virtual
server of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT
[0014] A virtual recovery server is described herein. A server
configuration includes one or more servers in addition to a storage
server or a backup server. Using a continous backup scheme, the one
or more servers continuously back up their data on the storage
server. The storage server stores all of the relevant application
and user data corresponding to each server. The storage server also
stores and is aware of the environment on each server. For
instance, if one of the servers is a SQL server, the storage server
contains the necessary software and/or image to replicate the SQL
server. The virtual recovery server is generated using virtual
machine technology and backup technology. The storage server
generates the virtual server to replace a physical server when the
physical server fails. The virtual server becomes a temporary
replacement server in real-time (e.g. instantaneously aside from
set up time) so that the change is seamless.
[0015] While running the virtual server, the storage server still
performs backup processes. As described, the storage server is
aware of each server's environment, and thus is able to represent a
virtual server that is the same as the faulty server. While the
physical server is inaccessible, the virtual recovery server is
able to mimic the actions and data contained on the physical
server. Thus, when users attempt to access an application or data
that is on the physical server, they will not experience an
interruption and will continue to access the information as if the
physical server were up and running. The virtual recovery server is
able to run for up to many days. Then, when a new physical server
or repaired server is available, the virtual server is no longer
needed. To incorporate the new server into the system quickly and
easily, the server image of the virtual server is sent to the new
server.
[0016] In the event that more than one server fails at roughly the
same time, the storage server is able to generate a virtual
recovery server corresponding to each server. Therefore, multiple
virtual recovery servers are able to be generated if needed.
[0017] FIG. 1A illustrates a graphical representation of a server
configuration. A storage server 100 backs up data from servers 102,
104, 106. The servers 102, 104, 106 continously back up data to the
storage server 100. In some embodiments, the backup is performed by
taking snapshots or images of each of the servers 102, 104, 106 on
a periodic basis, such as, every hour and transmitting the
snapshots to the storage server 100. In other embodiments, the
snapshots are taken more or less often depending on how critical
the data is. Furthermore, the data is able to be backed up by means
other than snapshots. The storage server 100 is any storage
implementation such as a server with dedicated storage or a set of
Redundant Array of Inexpensive Disks (RAIDs). In embodiments where
it is crucial to ensure that the backed up data is even more
secure, the data is sent via a network 108 to a regional data
center 110 and a remote data center 112. The regional data center
110 backs up the data in a location relatively near the servers
102, 104, 106, while the remote data center 112 is remotely stored
to back up the data in case of an earthquake or other disaster that
destroys data in one area but not in a remote area.
[0018] FIG. 1B illustrates a graphical representation of an
embodiment of the present invention. As described in FIG. 1A, the
storage server 100 is available for backing up data from the
servers 102, 104, 106. Within the storage server 100 is also the
capability to generate a virtual server 114. As shown in FIG. 1B,
the server 104' has failed and is inaccessible. Therefore, the
storage server 100 generates the virtual server 114 to temporarily
take the place of the faulty server 104'. The virtual server 114
mimics the faulty server 104' by taking the configuration and data
from the storage server 100 and generating a server using that
information. By generating the virtual server 114 which appears to
be the same entity as the faulty server 104', users who attempt to
access data or applications on the faulty server 104' will not
experience any issues. The virtual server 114 acts the same as the
faulty server 104' before it failed. In embodiments where it is
crucial to ensure that the backed up data is secured not only once,
but multiple times, the data is sent via a network 108 to a
regional data center 110 and a remote data center 112.
[0019] A variety of people, such as customers and employees, are
able to utilize the servers 102, 104, 106 but possibly for
different purposes. For example, in a small office setting for a
software/web development company, each employees' computer is
coupled to a central server so that projects are able to be shared
easily between developers. Furthermore, another server is also
available, however this server is utilized by customers over the
Internet who visit the company's interactive website. On the
interactive website, customers are able to download the company's
software products, search for information about the company and
store personal data including photographs and web logs. Both
servers are backed up by a storage server which contains separate
images of each server. The images are updated as often as desired
to ensure that data is not lost. The storage server also contains
virtual machine applications to enable generation of virtual
servers. If the project server fails, a virtual server is generated
by the storage server using the image of the failed project server
before it failed. Therefore, the virtual server is virtually
identical to the failed server in appearance to the developers when
they continue accessing the server. If the customer server fails, a
virtual server is also generated by the storage server; however
this time the image used is from the failed customer server before
it failed. Thus customers will not notice any change when they
access the company's website. When a new hardware server or
repaired server is coupled to the network, one of the virtual
servers, preferably the one corresponding to the server that failed
first, transfers the image to the new hardware server and the
virtual server is deleted. The other virtual server continues to
run until its replacement server is installed. The above example is
not meant to limit the invention in any way. Particularly, although
only two servers were described, any number of servers are able to
be implemented by the present invention.
[0020] FIG. 2 illustrates a block diagram of a storage server of
the present invention. A storage server 200 contains standard
server components including a network interface 202, a memory 204,
a central processing unit 206, a system bus 208 and storage 210 in
addition to other standard computing components. Furthermore, the
storage server 200 is able to have multiple of each of these
components, for example many servers have more than one central
processing unit 206. The storage 210 is able to be any storage
implementation such as a hard disk drive, RAID, or another form of
storage. Contained within the storage are applications for data
backup 212 and virtual machine generation 214. The data backup
application(s) 212 manage the back up of the data that is contained
on the servers 102, 104, 106 (FIG. 1A). The virtual machine
generation application(s) 214 generates a virtual server when one
or more of the servers 102, 104, 106 (FIG. 1A) fails. In some
embodiments, the storage server 200 also contains images 216 of the
servers 102, 104, 106 (FIG. 1A). In other embodiments, the images
are acquired after the server is coupled to the network.
[0021] FIG. 3 illustrates a flow chart of utilizing a virtual
server of the present invention. In the step 300, data is backed up
on a storage server from the one or more servers. In the step 302,
an image of each of the one or more servers is stored on the
storage server. Upon failure of any of the one or more servers, a
virtual server is generated to temporarily replace the failed
server, in the step 304. The virtual server is generated using the
backed up image of the failed server. In the step 306, the
generated virtual server continues serving data until the failed
server is replaced. In the step 308, the failed server is replaced
and in the step 310, the image on the virtual server is copied to
the replacement server for another smooth transition. The generated
virtual server is then deleted, in the step 312. In some
embodiments, the process automatically occurs; whereas, in other
embodiments an administrator initiates and maintains the
process.
[0022] The present invention is utilized by installing the
appropriate applications on a storage or backup server which then
generates a virtual server when a server within a network fails.
Failures include hardware and software issues that make the server
inaccessible. The applications then take care of backing up
necessary system, application and user data. In addition, the
applications generate the virtual server when a server fails and
supply the virtual server with the proper data. After the virtual
server is generated, it is available for use while the server it
replaced. However, once a replacement or repaired server is coupled
to the network, the virtual server transfers the data to the
replacement server and is no longer needed. Therefore, by utilizing
the present invention, one or more servers within a network are
able to fail, yet virtual servers will take their place while
replacement servers are being retrieved. Thus, there is minimal
downtime for each server.
[0023] In operation, the present invention provides a temporary
backup virtual server when a physical server fails. One or more
servers operate by serving information to users, where serving
includes hosting a website, providing/storing data, executing
applications or anything a server is capable of doing. Furthermore,
each of these servers typically has a dedicated task or at least
partitioned tasks, so that one server may be deemed a SQL server
while another is focused on a different aspect of serving. A
storage or backup server is utilized to back up these servers. The
storage server utilizes any backup technology but preferably
receives images of each server. When one or more of the servers
fails, the storage server generates a separate virtual server for
each failed server using virtual machine technology. Additionally,
the image of that specific server is used to generate the virtual
server, so that the virtual server replicates the failed server.
Therefore, the failed server is only down for a short amount of
time while the virtual server is being generated. Once the virtual
server is running, users should experience no difference than if
the physical server were still running. Once a replacement server
arrives or the failed server is repaired, this replacement or
repaired server is coupled to the network. Since there is no rush
to install the new server, preferably the replacement is installed
at a time when activity on the server is low and users are informed
of a short period of downtime. The virtual server transfers the
image to the replacement, so that again, users experience no change
in functionality and the replacement server joins the network
without causing problems.
[0024] In addition to utilizing the virtual recover server when a
server has failed, the virtual recovery server is able to detect
when a server is about to fail, so that the virtual recovery server
is able to be generated before the server fails. With such a
detection, it is possible to have zero downtime. A failing server
is able to be detected in a number of ways such as by monitoring
the system environment. For example, if the server's internal
temperature is reaching a dangerously high temperature, that is an
indicator that the server is about to shut down, and thus the
virtual recovery server should take over. Other methods of
detecting a failing server are possible.
[0025] The present invention has been described in terms of
specific embodiments incorporating details to facilitate the
understanding of principles of construction and operation of the
invention. Such reference herein to specific embodiments and
details thereof is not intended to limit the scope of the claims
appended hereto. It will be readily apparent to one skilled in the
art that other various modifications may be made in the embodiment
chosen for illustration without departing from the spirit and scope
of the invention as defined by the claims.
* * * * *