The present invention relates generally to computer systems, more specifically to transferring data.
Data backup systems can backup data from a variety of data servers. Some of these data servers may have proprietary data transfer protocol that can be used in a limited fashion. One example of such proprietary protocol is NDMP (Network Data Management Protocol), such as that used by NAS appliances. Another example is a third party data server that may use its own proprietary software that allows data to be transferred out and managed within its parameters. Data backup systems are typically not multi-protocol compliant and that is often a disadvantage when data server technology and data management protocols change. It would be desirable to backup data on these data servers in a manner that is upgradable, more reliable, and consistent with the data backup management of other data servers.
Various embodiments of the invention are disclosed in the following detailed description and the accompanying drawings.
The invention can be implemented in numerous ways, including as a process, an apparatus, a system, a composition of matter, a computer readable medium such as a computer readable storage medium or a computer network wherein program instructions are sent over optical or electronic communication links. In this specification, these implementations, or any other form that the invention may take, may be referred to as techniques. In general, the order of the steps of disclosed processes may be altered within the scope of the invention.
A detailed description of one or more embodiments of the invention is provided below along with accompanying figures that illustrate the principles of the invention. The invention is described in connection with such embodiments, but the invention is not limited to any embodiment. The scope of the invention is limited only by the claims and the invention encompasses numerous alternatives, modifications and equivalents. Numerous specific details are set forth in the following description in order to provide a thorough understanding of the invention. These details are provided for the purpose of example and the invention may be practiced according to the claims without some or all of these specific details. For the purpose of clarity, technical material that is known in the technical fields related to the invention has not been described in detail so that the invention is not unnecessarily obscured.
Backup client data server 102B is also shown to include a proxy 104. The proxy 104 can be spawned anywhere in the system of
The second protocol may allow additional functionality not provided in the first protocol. For example, the second protocol may upgrade faster than the first protocol and using the proxy can allow the data server to claim the benefit of the additional functionality allowed in the upgraded protocol. Accordingly, the data server's functionality can be upgraded via the use of the proxy. Another example of additional functionality is that the second protocol may have built in reliability that is not available in the first protocol. For example, the second protocol may have levels of reliability such that if one data transport method fails then the next possible way of transporting data is automatically employed. For example, the second protocol may have a first reliability level using LAN, a second level using ISAVE, and a third level using direct file access (DFA). In contrast, the data server sending the data to the proxy may be using the first protocol which does not currently use this multilevel built-in reliability. Further examples of additional functionality include tape alerts and the use of common device interface (CDI). Likewise, NDMP currently does not offer functionality such as multiplexing to tape or backup to disk. These functionalities can be offered in the second protocol used by the proxy to send the data to the storage node. Functionality is used herein to include any feature that can used in data management, such as reliability features, connectivity features, and any other feature that might be used. Although NDMP is used as an example for the first protocol, the proxy can be used with any data server that might benefit from additional functionalities.
In this example, the data server behaves as though the proxy was the storage device, the backup server behaves as though the proxy was its client, and the storage device behaves as though the proxy was its client.
If the proxy has been spawned (502), a request for a save session is sent to the backup server (505). It then listens to the connection and finds a port IP (506) in this example. The spawner of the proxy is then given the port IP (508). The proxy receives data through the selected port IP address and writes the data to a requested location, such as a specific storage node or device. (512). For example, the proxy receives data from a data server and writes the data to a particular storage device. It is determined whether the connection is broken, or whether the spawner has ordered the proxy to stop (514). If either the connection is broken or the proxy receives orders to stop, then it stops collecting data and the backup session ends (516).
The proxy can receive a data stream from any source and can write the data to any location requested of it. Accordingly, the proxy can be used in the relaying of any data sent to it via a first protocol and sending out using a second protocol.
Although the foregoing embodiments have been described in some detail for purposes of clarity of understanding, the invention is not limited to the details provided. There are many alternative ways of implementing the invention. The disclosed embodiments are illustrative and not restrictive.
Number | Name | Date | Kind |
---|---|---|---|
5469573 | McGill et al. | Nov 1995 | A |
5673322 | Pepe et al. | Sep 1997 | A |
5751997 | Kullick et al. | May 1998 | A |
6253248 | Nakai et al. | Jun 2001 | B1 |
6263454 | Gold et al. | Jul 2001 | B1 |
6546425 | Hanson et al. | Apr 2003 | B1 |
6549992 | Armangau et al. | Apr 2003 | B1 |
6704786 | Gupta et al. | Mar 2004 | B1 |
6718383 | Hebert | Apr 2004 | B1 |
6810409 | Fry et al. | Oct 2004 | B1 |
6862622 | Jorgensen | Mar 2005 | B2 |
6901493 | Maffezzoni | May 2005 | B1 |
6920501 | Chu et al. | Jul 2005 | B2 |
7127479 | Tsaur et al. | Oct 2006 | B2 |
7895334 | Tu et al. | Feb 2011 | B1 |
20010039586 | Primak et al. | Nov 2001 | A1 |
20020156921 | Dutta et al. | Oct 2002 | A1 |
20040019823 | Gere | Jan 2004 | A1 |
20040221101 | Voorhees et al. | Nov 2004 | A1 |
20050033988 | Chandrashekhar et al. | Feb 2005 | A1 |
20050086427 | Fozard et al. | Apr 2005 | A1 |
20050138091 | Bono | Jun 2005 | A1 |
20050165867 | Barton et al. | Jul 2005 | A1 |