In general, embodiments of the present invention relate to backing up and restoring data on a storage device. Specifically, embodiments of the present invention relate to automatically mirroring added or modified data located on a local storage device to a secondary storage device.
Backing up data and personal files (often together referred to as “personal data” herein) from computer storage disks has been a well-known practice for many years. Backup is the activity of copying files or databases so that they will be preserved in case of equipment failure or other catastrophe. Backup is usually a routine part of the operation of large businesses with mainframes, as well as the administration of smaller business computers. For personal computer users, backup is also necessary so that a user does not lose important personal data including family photos, home videos, music libraries, tax information, and the like.
Personal computer users can consider local backup or cloud backup. Two major reasons exist why data needs to be backed up. The first reason is that the disk hardware may fail, resulting in an inability to access any of the valuable data stored on the disk. This disastrous type of event is often referred to as a catastrophic failure. In this case, assuming that backups have been performed, the files may be restored from the most recent backup. Fortunately, new computer disks and controllers have become more reliable over the years, but the possibility of such a disaster still cannot be ignored. The second reason for backup is that a user may inadvertently delete or overwrite important data files. This type of problem is usually much more common than a catastrophic hardware failure, and only the destroyed file(s) are typically restored from the backup medium to the original disk.
Cloud backup, also known as online backup, is a strategy for backing up data that involves sending a copy of the data over the Internet to an off-site server. Cloud storage can bring some significant risks. A user can lose access to the account, data can become corrupted, or the cloud service provider can delete it either by accident or deliberately because the user has not paid the bills. Also, the personal data in a cloud-based backup system might be readable by other people and may be vulnerable to hacking or failures at the cloud service provider.
Embodiments of the present invention provide a system for backing up personal data between two mated (i.e., paired) network attached storage (NAS) devices. The system includes a local storage device and a secondary storage device that communicate over a network (e.g., the Internet) via a network connection. Any data added or modified on the local storage device will be automatically mirrored (i.e., copied) to the secondary storage device, which may be located at a secure remote site, pursuant to a data mirroring technique.
A first aspect of the present invention provides a data mirroring system, comprising: a first storage device configured to connect to a network, wherein the first storage device is assigned a network address; a second storage device configured to connect to the network, wherein the second storage device is assigned a network address; the first storage device is further configured to retrieve the network address of the second storage device from an information source; and the first storage device is further configured to send data changes made on the first storage device to the second storage device via the network based on the network address of the second storage device.
A second aspect of the present invention provides an intelligent storage device, comprising: a storage area configured to store data; an interface module configured to connect to a network; an intelligence module configured to receive a network address assigned to the intelligent storage device; the intelligence module further configured to retrieve a network address assigned to a secondary storage device from an information source; an intelligence module further configured to send data changes made on the intelligent storage device to the secondary storage device over the network based on the network address of the secondary storage device.
A third aspect of the present invention provides a method for data mirroring, comprising: connecting a first storage device to a network; connecting a second storage device to the network; assigning a network address to the first storage device; assigning a network address to the second storage device; writing the network address of the first storage device to an information resource; writing the network address of the second storage device to an information resource; receiving the network address of the second storage device at the first storage device; and mirroring data changes made on the first storage device to the second storage device via the network based on the network address of the second storage device.
These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings in which:
The drawings are not necessarily to scale. The drawings are merely schematic representations, not intended to portray specific parameters of the invention. The drawings are intended to depict only typical embodiments of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements.
Illustrative embodiments will now be described more fully herein with reference to the accompanying drawings, in which exemplary embodiments are shown. This disclosure may, however, be embodied in many different forms and should not be construed as limited to the exemplary embodiments set forth herein. Rather, these exemplary embodiments are provided so that this disclosure will be thorough and complete and will fully convey the scope of this disclosure to those skilled in the art. In the description, details of well-known features and techniques may be omitted to avoid unnecessarily obscuring the presented embodiments.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of this disclosure. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. Furthermore, the use of the terms “a”, “an”, etc., do not denote a limitation of quantity, but rather denote the presence of at least one of the referenced items. The term “set” is intended to mean a quantity of at least one. It will be further understood that the terms “comprises” and/or “comprising”, or “includes” and/or “including”, when used in this specification, specify the presence of stated features, regions, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, regions, integers, steps, operations, elements, components, and/or groups thereof.
Embodiments are described herein with reference to cross-sectional or perspective illustrations that are schematic illustrations of idealized embodiments (and intermediate structures). As such, variations from the shapes of the illustrations as a result, for example, of manufacturing techniques and/or tolerances are to be expected. Thus, embodiments should not be construed as limited to the particular shapes of regions illustrated herein but are to include deviations in shapes that result, for example, from manufacturing. For example, an edge or corner region illustrated as having sharp edges may have somewhat rounded or curved features. Likewise, elements illustrated as circular or spherical may be oval in shape or may have certain straight or flattened portions. Thus, the regions illustrated in the figures are schematic in nature, and their shapes are not intended to illustrate the actual shape of a region or element of a device and are not intended to limit the scope of the disclosed embodiments.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this inventive concept belongs. It will be further understood that terms such as those defined in commonly used dictionaries should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
The storage of electronic data has evolved over time. During the early development of the computer, storage of electronic data was limited to individual computers. Electronic data was stored in the Random Access Memory (RAM) or some other storage medium such as a magnetic tape or hard drive that was a part of the computer itself.
Later, with the advent of network computing, the storage of electronic data gradually migrated from the individual computer to stand-alone storage devices accessible via a network. These individual network storage devices soon evolved into networked tape drives, optical libraries, Redundant Arrays of Inexpensive Disks (RAID), CD-ROM jukeboxes, and other devices. Common architectures also include network attached storage devices (NAS devices) that are coupled to a particular network (or networks) that are used to provide dedicated storage for various storage operations that may be required by a particular network (e.g., backup operations, archiving, and other storage operations including the management and retrieval of such information).
Users of typical computer systems commonly maintain quantities of highly important personal data (e.g., photos, videos, music, financial information) and expend time and money to protect the data against unavailability resulting from unintentional or unexpected loss. One technique for maintaining redundant data copies is termed data mirroring, in which computer system users maintain at least two copies of valuable data. In one example, one copy of the data is maintained locally and a second copy of the data is maintained at a remote location.
Embodiments of the present invention provide a system for backing up personal data between two mated (i.e., paired) network attached storage (NAS) devices. The system includes a local storage device and a secondary storage device that communicate over a network (e.g., the Internet) via a network connection. Any data added or modified on the local storage device will be automatically mirrored (i.e., copied) to the secondary storage device, which may be located at a secure remote site, pursuant to a data mirroring technique.
Network 108 may include any type or combination of local area network (LAN), a wide area network (WAN), an Intranet, the Internet, or the like. Also, each NAS device may be coupled to the network 108 using any type of wired or wireless connection medium. For example, wired mediums may include Ethernet, fiber channel, a modem connected to plain old telephone service (POTS), and the like. Wireless connection mediums may include a satellite link, a modem link through a cellular service, a wireless link such as Wi-Fi™, a wireless connection using a wireless communication protocol such as IEEE 802.11 (wireless Ethernet), Bluetooth, and the like.
In a typical communication network, a computing device (e.g., a server or a personal computer) is capable of connecting to one or more devices (e.g., storage devices, printers, displays, projectors, cameras, etc.). Accordingly, in one example, the first NAS device 102 may receive read and write access requests from a computing device, such as a personal computer. In another example, the second NAS device 104 may also receive read and write access requests from a computing device.
Information resource 106 may be any document or other information resource that can be accessed by the storage devices. In one example, the information resource 106 is an external Internet web page.
Processing unit 208 collects and routes signals representing outputs from external devices 218 (e.g., a keyboard, a pointing device, a display, a graphical user interface, etc.) to intelligence tool 212. The signals can be transmitted over a LAN and/or a WAN (e.g., T1, T3, 56 kb, X.25), broadband connections (ISDN, Frame Relay, ATM), wireless links (802.11, Bluetooth, etc.), and so on. In some embodiments, the signals may be encrypted using, for example, trusted key-pair encryption. Different external devices may transmit information using different communication pathways, such as Ethernet or wireless networks, direct serial or parallel connections, USB, Firewire®, Bluetooth®, or other proprietary interfaces. (Firewire is a registered trademark of Apple Computer, Inc. Bluetooth is a registered trademark of Bluetooth Special Interest Group (SIG)).
In general, processing unit 208 executes computer program code, such as program code for intelligence tool 212, which is stored in memory 210. While executing computer program code, processing unit 208 can read and/or write data to/from memory 210. Although not shown, intelligent storage device 202 could also include I/O interfaces that communicate with one or more external devices 218 that enable a user to interact with intelligent storage device 202.
The intelligence module 206 performs various intelligent functions described in detail below. The term “module” may be defined to include one or more executable modules. As described herein, the modules are defined to include software, hardware, or some combination thereof executable by a processor or processing device. Software modules may include instructions stored in the storage device that are executable by the processor or processing device. Hardware modules may include various devices, components, circuits, gates, circuit boards, and the like, that are executable, directed, and/or controlled for performance by the processor or processing device
In the example set forth below with reference to
The local NAS device 302 contains the uniform resource locator (URL) of the web page 306. The URL of the web page 306 may be located in a modified basic input-output system (BIOS) of the each of the storage devices. An intelligence module (not shown) of the local NAS device 302 receives the URL of the web page 306, logs in to the web page 106, and writes its IP address to the web page 306. Similarly, an intelligence module (not shown) of the remote NAS device 304 receives the URL of the web page 306, logs in to the web page 106, and writes its IP address to the web page 306.
The local NAS device 302 reads the IP address of the secondary NAS device 304 from the web page 306. The local NAS device 102 sends (i.e., synchronizes) data updates performed on the local NAS device 102 to the remote NAS device 304 using the IP address of the remote NAS device 304 that was read. Data changes may include any information related to a combination of data addition(s), data update(s), and data delete(s) made to data stored on the local storage device.
Data changes may be mirrored synchronously or asynchronously. In one example, data changes are mirrored synchronously. Synchronous mirroring writes to both the primary and second NAS devices at the same time. With the synchronous option, the transaction is not complete until it is echoed to the second NAS device. Asynchronous mirroring allows the first NAS device to be updated immediately and the second NAS device to be updated as bandwidth allows. The information is cached and sent later, as network resources become available.
With the asynchronous option, data change synchronization is complete if it is echoed within a specified time frame. In the event of a failed Internet connection, the data on the remote NAS device 304 after the failure timestamp is untrusted. When the link fails and is restored, buffers on both ends of the link are flushed, and a recovery process is initiated from the last trusted timestamp. The NAS devices back up one another to prevent data loss in case of one device failing. A non-paired storage device (due to mate failing or no connection) can be used as a single drive. Any changes to non-paired devices may be mirrored when an Internet connection is provided.
It should be noted that, in the process flow chart of
The foregoing description of various aspects of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed and, obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to a person skilled in the art are intended to be included within the scope of the invention as defined by the accompanying claims.
Number | Name | Date | Kind |
---|---|---|---|
5764903 | Yu | Jun 1998 | A |
6560641 | Powderly et al. | May 2003 | B1 |
6609151 | Khanna et al. | Aug 2003 | B1 |
6829654 | Jungck | Dec 2004 | B1 |
6985935 | Zhang et al. | Jan 2006 | B1 |
7177887 | Yang et al. | Feb 2007 | B2 |
7293096 | Foltak et al. | Nov 2007 | B1 |
7398421 | Limaye et al. | Jul 2008 | B1 |
7418439 | Wong | Aug 2008 | B2 |
7526459 | Flinn | Apr 2009 | B2 |
7600105 | Tseng | Oct 2009 | B2 |
7627775 | Kern et al. | Dec 2009 | B2 |
7647460 | Wilson et al. | Jan 2010 | B1 |
8150800 | Webman et al. | Apr 2012 | B2 |
8298087 | Smith | Oct 2012 | B1 |
8793334 | Bathija | Jul 2014 | B1 |
8850174 | Mahmoud | Sep 2014 | B1 |
20020078233 | Biliris et al. | Jun 2002 | A1 |
20020133539 | Monday | Sep 2002 | A1 |
20020194313 | Brannock | Dec 2002 | A1 |
20040034617 | Kaku | Feb 2004 | A1 |
20040034671 | Kodama | Feb 2004 | A1 |
20040078467 | Grosner et al. | Apr 2004 | A1 |
20040078602 | Rothbarth et al. | Apr 2004 | A1 |
20050246576 | Takayama | Nov 2005 | A1 |
20050278383 | Kazar et al. | Dec 2005 | A1 |
20060200539 | Kappler et al. | Sep 2006 | A1 |
20060248294 | Nedved et al. | Nov 2006 | A1 |
20060253731 | Petruzzo | Nov 2006 | A1 |
20070074290 | Kobayashi | Mar 2007 | A1 |
20070088702 | Fridella et al. | Apr 2007 | A1 |
20070168713 | Kern et al. | Jul 2007 | A1 |
20070282951 | Selimis et al. | Dec 2007 | A1 |
20080229098 | Ishak | Sep 2008 | A1 |
20090037717 | Hanes | Feb 2009 | A1 |
20090062010 | Iwata | Mar 2009 | A1 |
20090288084 | Astete et al. | Nov 2009 | A1 |
20110258248 | Jackson | Oct 2011 | A1 |
20110258320 | Jackson | Oct 2011 | A1 |
20120044836 | Sivavakeesar et al. | Feb 2012 | A1 |
20120084364 | Sivavakeesar | Apr 2012 | A1 |
20120122592 | Stafford | May 2012 | A1 |
20120166578 | Hong | Jun 2012 | A1 |
20120178536 | Oh | Jul 2012 | A1 |
20120244948 | Dhillon | Sep 2012 | A1 |
20120265976 | Spiers et al. | Oct 2012 | A1 |
20120297158 | Hua et al. | Nov 2012 | A1 |
20130007741 | Britsch et al. | Jan 2013 | A1 |
20130053118 | Schueller | Feb 2013 | A1 |
20130159251 | Skrenta et al. | Jun 2013 | A1 |
20130297608 | Etoh | Nov 2013 | A1 |
20140052948 | Qiu | Feb 2014 | A1 |
20140244777 | Catalano et al. | Aug 2014 | A1 |
20140250294 | Ali | Sep 2014 | A1 |
20140298003 | Ali et al. | Oct 2014 | A1 |
20140359259 | Ali et al. | Dec 2014 | A1 |
20150143064 | Bhargava et al. | May 2015 | A1 |
Number | Date | Country |
---|---|---|
2 498 958 | Nov 2006 | CA |
101201767 | Jun 2008 | CN |
Number | Date | Country | |
---|---|---|---|
20140244777 A1 | Aug 2014 | US |