The present invention relates to the field of computing. More specifically, the present invention relates to the field of implementing a virtual recovery server.
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.
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.
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.
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 continuous 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.
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 continuous 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.
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 continuous 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.
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 continuous 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.
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.
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 continuous 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.
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.
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.
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.
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.
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.
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.
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.
| Number | Name | Date | Kind |
|---|---|---|---|
| 4866635 | Kahn et al. | Sep 1989 | A |
| 5602990 | Leete | Feb 1997 | A |
| 5649196 | Woodhill et al. | Jul 1997 | A |
| 5659743 | Adams et al. | Aug 1997 | A |
| 5787409 | Seiffert et al. | Jul 1998 | A |
| 5802364 | Senator et al. | Sep 1998 | A |
| 5812751 | Ekrot et al. | Sep 1998 | A |
| 5835911 | Nakagawa et al. | Nov 1998 | A |
| 5897635 | Torres et al. | Apr 1999 | A |
| 5933647 | Aronberg et al. | Aug 1999 | A |
| 5950010 | Hesse et al. | Sep 1999 | A |
| 5974547 | Klimenko | Oct 1999 | A |
| 6012152 | Douik et al. | Jan 2000 | A |
| 6029196 | Lenz | Feb 2000 | A |
| 6067582 | Smith et al. | May 2000 | A |
| 6144959 | Anderson et al. | Nov 2000 | A |
| 6170065 | Kobata et al. | Jan 2001 | B1 |
| 6189101 | Dusenbury, Jr. | Feb 2001 | B1 |
| 6209089 | Selitrennikoff et al. | Mar 2001 | B1 |
| 6212660 | Joeressen et al. | Apr 2001 | B1 |
| 6282711 | Halpern et al. | Aug 2001 | B1 |
| 6301612 | Selitrennikoff et al. | Oct 2001 | B1 |
| 6314428 | Brew et al. | Nov 2001 | B1 |
| 6317761 | Landsman et al. | Nov 2001 | B1 |
| 6349137 | Hunt et al. | Feb 2002 | B1 |
| 6356915 | Chtchetkine et al. | Mar 2002 | B1 |
| 6363400 | Chtchetkine et al. | Mar 2002 | B1 |
| 6366296 | Boreczky et al. | Apr 2002 | B1 |
| 6378035 | Parry et al. | Apr 2002 | B1 |
| 6421777 | Pierre-Louis et al. | Jul 2002 | B1 |
| 6449658 | Lafe et al. | Sep 2002 | B1 |
| 6459499 | Tomat | Oct 2002 | B1 |
| 6463530 | Sposato | Oct 2002 | B1 |
| 6473794 | Guheen et al. | Oct 2002 | B1 |
| 6477531 | Sullivan et al. | Nov 2002 | B1 |
| 6490677 | Aguilar et al. | Dec 2002 | B1 |
| 6536037 | Barrese et al. | Mar 2003 | B1 |
| 6553375 | Huang et al. | Apr 2003 | B1 |
| 6556950 | Schwenke et al. | Apr 2003 | B1 |
| 6606744 | Mikurak | Aug 2003 | B1 |
| 6625651 | Swartz et al. | Sep 2003 | B1 |
| 6625754 | Aguilar et al. | Sep 2003 | B1 |
| 6633782 | Schleiss et al. | Oct 2003 | B1 |
| 6636857 | Thomas et al. | Oct 2003 | B2 |
| 6654797 | Kamper | Nov 2003 | B1 |
| 6654801 | Mann et al. | Nov 2003 | B2 |
| 6694375 | Beddus et al. | Feb 2004 | B1 |
| 6697852 | Ryu | Feb 2004 | B1 |
| 6704886 | Gill et al. | Mar 2004 | B1 |
| 6718464 | Cromer et al. | Apr 2004 | B2 |
| 6728530 | Heinonen et al. | Apr 2004 | B1 |
| 6735625 | Ponna | May 2004 | B1 |
| 6751658 | Haun et al. | Jun 2004 | B1 |
| 6757729 | Devarakonda et al. | Jun 2004 | B1 |
| 6816462 | Booth, III et al. | Nov 2004 | B1 |
| 6816882 | Conner et al. | Nov 2004 | B1 |
| 6820180 | McBrearty et al. | Nov 2004 | B2 |
| 6871210 | Subramanian | Mar 2005 | B1 |
| 6880108 | Gusler et al. | Apr 2005 | B1 |
| 6885481 | Dawe | Apr 2005 | B1 |
| 6886020 | Zahavi et al. | Apr 2005 | B1 |
| 6915343 | Brewer et al. | Jul 2005 | B1 |
| 6954853 | Wang et al. | Oct 2005 | B2 |
| 6954930 | Drake et al. | Oct 2005 | B2 |
| 6959235 | Abdel-Malek et al. | Oct 2005 | B1 |
| 6985967 | Hipp | Jan 2006 | B1 |
| 7003560 | Mullen et al. | Feb 2006 | B1 |
| 7003663 | Lagosanto et al. | Feb 2006 | B2 |
| 7024471 | George et al. | Apr 2006 | B2 |
| 7058698 | Chatterjee et al. | Jun 2006 | B2 |
| 7080118 | Hildebrand | Jul 2006 | B2 |
| 7143307 | Witte et al. | Nov 2006 | B1 |
| 7149698 | Guheen et al. | Dec 2006 | B2 |
| 7175078 | Ban et al. | Feb 2007 | B2 |
| 7178166 | Taylor et al. | Feb 2007 | B1 |
| 7194445 | Chan et al. | Mar 2007 | B2 |
| 7200779 | Coss, Jr. et al. | Apr 2007 | B1 |
| 7210143 | Or et al. | Apr 2007 | B2 |
| 7237122 | Kadam et al. | Jun 2007 | B2 |
| 7260597 | Hofrichter et al. | Aug 2007 | B1 |
| 7287053 | Bodin | Oct 2007 | B2 |
| 7328367 | Ukai et al. | Feb 2008 | B2 |
| 7337311 | Chen et al. | Feb 2008 | B2 |
| 7392046 | Leib et al. | Jun 2008 | B2 |
| 7401125 | Uchida et al. | Jul 2008 | B1 |
| 7480822 | Arbon et al. | Jan 2009 | B1 |
| 7487383 | Bensinger | Feb 2009 | B2 |
| 7512584 | Keith, Jr. | Mar 2009 | B2 |
| 7571467 | Priestley et al. | Aug 2009 | B1 |
| 7627694 | Sreenivasan et al. | Dec 2009 | B2 |
| 7698487 | Rothman et al. | Apr 2010 | B2 |
| 7788524 | Wing et al. | Aug 2010 | B2 |
| 20010037323 | Moulton et al. | Nov 2001 | A1 |
| 20010049793 | Sugimoto | Dec 2001 | A1 |
| 20020013827 | Edstrom et al. | Jan 2002 | A1 |
| 20020035674 | Vetrivelkumaran et al. | Mar 2002 | A1 |
| 20020049764 | Boothby et al. | Apr 2002 | A1 |
| 20020083183 | Pujare et al. | Jun 2002 | A1 |
| 20020087625 | Toll et al. | Jul 2002 | A1 |
| 20020087963 | Eylon et al. | Jul 2002 | A1 |
| 20020091763 | Shah et al. | Jul 2002 | A1 |
| 20020094868 | Tuck et al. | Jul 2002 | A1 |
| 20020104080 | Woodard et al. | Aug 2002 | A1 |
| 20020107920 | Hotti | Aug 2002 | A1 |
| 20020107945 | George et al. | Aug 2002 | A1 |
| 20020116585 | Scherr | Aug 2002 | A1 |
| 20020124092 | Urien | Sep 2002 | A1 |
| 20020138640 | Raz et al. | Sep 2002 | A1 |
| 20020157089 | Patel et al. | Oct 2002 | A1 |
| 20020161868 | Paul et al. | Oct 2002 | A1 |
| 20020188941 | Cicciarelli et al. | Dec 2002 | A1 |
| 20030005096 | Paul et al. | Jan 2003 | A1 |
| 20030033379 | Civanlar et al. | Feb 2003 | A1 |
| 20030036882 | Harper et al. | Feb 2003 | A1 |
| 20030037328 | Cicciarelli et al. | Feb 2003 | A1 |
| 20030041136 | Cheline et al. | Feb 2003 | A1 |
| 20030046371 | Falkner | Mar 2003 | A1 |
| 20030051128 | Rodriguez et al. | Mar 2003 | A1 |
| 20030055878 | Fletcher et al. | Mar 2003 | A1 |
| 20030078960 | Murren et al. | Apr 2003 | A1 |
| 20030110188 | Howard et al. | Jun 2003 | A1 |
| 20030126242 | Chang | Jul 2003 | A1 |
| 20030191730 | Adkins et al. | Oct 2003 | A1 |
| 20030204562 | Hwang | Oct 2003 | A1 |
| 20030233383 | Koskimies | Dec 2003 | A1 |
| 20030233493 | Boldon et al. | Dec 2003 | A1 |
| 20040010716 | Childress et al. | Jan 2004 | A1 |
| 20040068554 | Bales et al. | Apr 2004 | A1 |
| 20040073787 | Ban et al. | Apr 2004 | A1 |
| 20040093492 | Daude et al. | May 2004 | A1 |
| 20040104927 | Husain et al. | Jun 2004 | A1 |
| 20040107273 | Biran et al. | Jun 2004 | A1 |
| 20040123153 | Wright et al. | Jun 2004 | A1 |
| 20040148306 | Moulton et al. | Jul 2004 | A1 |
| 20040180721 | Rowe | Sep 2004 | A1 |
| 20040193876 | Donley et al. | Sep 2004 | A1 |
| 20040201604 | Kraenzel et al. | Oct 2004 | A1 |
| 20040236843 | Wing et al. | Nov 2004 | A1 |
| 20040243928 | Hesmer et al. | Dec 2004 | A1 |
| 20050027846 | Wolfe et al. | Feb 2005 | A1 |
| 20050033808 | Cheng et al. | Feb 2005 | A1 |
| 20050044197 | Lai | Feb 2005 | A1 |
| 20050044544 | Slivka et al. | Feb 2005 | A1 |
| 20050060281 | Bucher et al. | Mar 2005 | A1 |
| 20050108297 | Rollin et al. | May 2005 | A1 |
| 20050108546 | Lehew et al. | May 2005 | A1 |
| 20050108593 | Purushothaman et al. | May 2005 | A1 |
| 20050144218 | Heintz | Jun 2005 | A1 |
| 20050149729 | Zimmer et al. | Jul 2005 | A1 |
| 20050160289 | Shay | Jul 2005 | A1 |
| 20050193245 | Hayden et al. | Sep 2005 | A1 |
| 20050198196 | Bohn et al. | Sep 2005 | A1 |
| 20050216524 | Gomes et al. | Sep 2005 | A1 |
| 20050216902 | Schaefer | Sep 2005 | A1 |
| 20050226059 | Kavuri et al. | Oct 2005 | A1 |
| 20050256952 | Mouhanna et al. | Nov 2005 | A1 |
| 20050262503 | Kane | Nov 2005 | A1 |
| 20050268145 | Hufferd et al. | Dec 2005 | A1 |
| 20050273486 | Keith, Jr. | Dec 2005 | A1 |
| 20050283606 | Williams | Dec 2005 | A1 |
| 20050286435 | Ogawa et al. | Dec 2005 | A1 |
| 20060021040 | Boulanger et al. | Jan 2006 | A1 |
| 20060031377 | Ng et al. | Feb 2006 | A1 |
| 20060031407 | Dispensa et al. | Feb 2006 | A1 |
| 20060031529 | Keith, Jr. | Feb 2006 | A1 |
| 20060041641 | Breiter et al. | Feb 2006 | A1 |
| 20060041759 | Kaliski, Jr. et al. | Feb 2006 | A1 |
| 20060047716 | Keith, Jr. | Mar 2006 | A1 |
| 20060047946 | Keith, Jr. | Mar 2006 | A1 |
| 20060074943 | Nakano et al. | Apr 2006 | A1 |
| 20060095705 | Wichelman et al. | May 2006 | A1 |
| 20060129459 | Mendelsohn | Jun 2006 | A1 |
| 20060143709 | Brooks et al. | Jun 2006 | A1 |
| 20060149955 | Velhal et al. | Jul 2006 | A1 |
| 20060179061 | D'Souza et al. | Aug 2006 | A1 |
| 20060224544 | Keith, Jr. | Oct 2006 | A1 |
| 20060224545 | Keith, Jr. | Oct 2006 | A1 |
| 20060233310 | Adams, Jr. et al. | Oct 2006 | A1 |
| 20070078982 | Aidun et al. | Apr 2007 | A1 |
| 20070094269 | Mikesell et al. | Apr 2007 | A1 |
| 20070143374 | D'Souza et al. | Jun 2007 | A1 |
| 20070174658 | Takamoto et al. | Jul 2007 | A1 |
| 20070174690 | Kambara et al. | Jul 2007 | A1 |
| 20070185936 | Derk et al. | Aug 2007 | A1 |
| 20070233633 | Keith, Jr. | Oct 2007 | A1 |
| 20070239905 | Banerjee et al. | Oct 2007 | A1 |
| 20070271290 | Keith, Jr. | Nov 2007 | A1 |
| 20070271428 | Atluri | Nov 2007 | A1 |
| 20070274315 | Keith | Nov 2007 | A1 |
| 20070276836 | Chatterjee et al. | Nov 2007 | A1 |
| 20080016387 | Bensinger | Jan 2008 | A1 |
| 20080034019 | Cisler et al. | Feb 2008 | A1 |
| 20080034071 | Wilkinson et al. | Feb 2008 | A1 |
| 20080077622 | Keith | Mar 2008 | A1 |
| 20080077630 | Keith | Mar 2008 | A1 |
| 20080127294 | Keith | May 2008 | A1 |
| 20080209142 | Obernuefemann | Aug 2008 | A1 |
| 20080216168 | Larson et al. | Sep 2008 | A1 |
| 20080294860 | Stakutis et al. | Nov 2008 | A1 |
| 20080313632 | Kumar et al. | Dec 2008 | A1 |
| 20090094362 | Huff | Apr 2009 | A1 |
| 20100050011 | Takamoto et al. | Feb 2010 | A1 |
| Entry |
|---|
| http://www.backup.com. |
| http://www.swapdrive.com/sdbackup.asp. |
| http://www.macrovision.com/products/flexnet—installshield/installshield/overview/index.shtml, pp. 1-3. |
| http://macrovision.com/products/flexnet—installshield/installshield/index.shtml, pp. 1-2. |
| http:/ www.stealthbits.com/, pp. 1-2. |
| http://www.microsoft.com/technet/prodtetchnol/windows2000serv/maintain/featusability/inmnwp.mspx, pp. 1-36. |
| http://en.wikipedia.org/wik/Expert—system, pp. 1-9. |
| http://www.pctools.com/registry-mechanic, pp. 1-2. |
| IEEE100 The Authoritative Dictionary of IEEE Standards Terms, Seventh Edition, Jan. 2003, 3 pages. |
| Vmware, VMware Infrastructure Architecture Overview, Jun. 14, 2006, http:/www.vmware.com/resourse/techresources/, pp. 1-14. |
| Vmware, Using VMware Infrastructure for Backup and Restore, Oct. 26, 2006, http:/www.vmware.com/resourse/techresources/, pp. 1-20. |
| Bandwidth Capping at Source http://www.24onlinebilling.com/download/whitepapers/Bandwidth%20Capping%20At%20Source.pdf pp. 1-9. |
| IBM Corporation, AFS: “User Guide”, First Edition, Version 3.6. Apr. 2000, pp. 112. |
| Shepler et al. “RFC 3530—Network File System (NFS) version 4 Protocol”, Standards Track, Apr. 2003, pp. 278, http://tools.ietf.org/html/rfc3530#page-119. |
| Microsoft@ Computer Dictionary, Fifth Edition, 2002, 3 pages. |
| Tridgell, A., “Efficient Algorithms for Sorting and Synchronization,” Thesis, The Australian National University, Feb. 1999, 106 pages. |
| MacDonald, J.P., “File System Support for Delta Compression,” University of California at Berkeley, Dept. of Electrical Engineering and Computer Sciences, May 19, 2000, 32 pages. |
| Muthitacharoen et al., “A Low-bandwidth Network File System,” MIT Laboratory for Computer Science and NYU Department of Computer Science, 2001, 14 pages. |
| Yu et al., “Scalable network resource management for large scale Virtual Private Networks,” Simulation Modeling Practice and Theory, 12 (2004) pp. 263-285. |
| Cisco PIX “Configuring an IPSec Tunnel Between a Cisco Secure PIX Firewall and a Checkpoint NG Firewall,” May 12, 2006, document ID 23785. |
| Random House Unabridged Dictionary, “device: meaning and definitions,” 1997, Random House Inc., retrieved via “http://dictionary.infoplease.com/device.”. |
| Microsoft Press, Microsoft® Computer Dictionary, Fifth Edition, May 1, 2002, p. 39. |
| Definition of Plug-in (computing) from http:/en.wikipedia.org/wiki/Plug-in—(computing), printed Jun. 18, 2011, 1 page. |
| Plug-in definition from Wikipedia, http://en.wikipedia.org/wiki/Plug-in—(computing) printed Nov. 6, 2011, 5 pages. |