Senior Fitness - Exercise and Nutrition for Aging Men and Women
FREE Article Feed for your website.
Home Ownership Magazine
Party Planning Information
Article Marketing Resources
Bio-Medical Research Article Database
Informative Articles on Life, Love and Happiness
Tutorials on Business to Writing
Famous Quotes from Famous People
Song Lyric Information
New US Patent Information
Comprehensive List of Content by Category
Online Auctions and Shopping Related Articles
Article Search
Most Recent Articles
Title: Abundant extracellular products and methods for their production and use
Patent Number: 6,818,223 Issued on 11/16/2004 to Horwitz,   et al.

Title: Block copolymer and polymeric luminescent element
Patent Number: 7,125,930 Issued on 10/24/2006 to Noguchi,   et al.

Title: Paint compositions for elastomers
Patent Number: 7,125,927 Issued on 10/24/2006 to Thenault,   et al.

Title: Semiconductor memory device having self-timing circuit
Patent Number: 6,870,777 Issued on 03/22/2005 to Maki

Title: Manipulation unit
Patent Number: 6,860,169 Issued on 03/01/2005 to Shinozaki

Title: Substrate for use in semiconductor manufacturing and method of making same
Patent Number: 7,102,209 Issued on 09/05/2006 to Bayan,   et al.

Title: Tricycle push handle arrangement
Patent Number: 6,918,606 Issued on 07/19/2005 to Petrishe

Title: Separating device
Patent Number: 6,880,809 Issued on 04/19/2005 to Stephen,   et al.

Title: Aircraft seat electrical quick disconnect
Patent Number: 7,083,437 Issued on 08/01/2006 to Mackness

Title: Optical cross-connect device with transparency
Patent Number: 6,829,436 Issued on 12/07/2004 to Koh,   et al.

Title: Reduction of hair growth
Patent Number: 7,160,921 Issued on 01/09/2007 to Hwang,   et al.

Title: Optical fiber preform and the method of producing the same
Patent Number: 6,827,883 Issued on 12/07/2004 to Koumura,   et al.

Title: Digital high frequency power detection circuit
Patent Number: 6,999,735 Issued on 02/14/2006 to Khorram

Title: Apparatus for processing continuously fed elongate material
Patent Number: 6,820,392 Issued on 11/23/2004 to Helwig,   et al.

Title: Hemihydrate of a selective functional M1 muscarine receptor agonist
Patent Number: 7,160,922 Issued on 01/09/2007 to Bush,   et al.

Title: Printed circuit board module and disconnect bow
Patent Number: 7,083,447 Issued on 08/01/2006 to Greiser

Title: Method of increasing bone density or treating osteoporosis
Patent Number: 7,160,916 Issued on 01/09/2007 to Fu,   et al.

Title: PCI-PCMCIA smart card reader
Patent Number: 6,826,628 Issued on 11/30/2004 to Huang

Title: Magneto-optical information reproducing apparatus
Patent Number: 6,801,478 Issued on 10/05/2004 to Nishimoto

Title: Multi-path detection circuit and method for a CDMA receiver
Patent Number: 7,075,974 Issued on 07/11/2006 to Ohsuge

Title: Nitrosated and nitrosylated compounds and compositions and their use for treating respiratory disorders
Patent Number: 7,160,920 Issued on 01/09/2007 to Garvey,   et al.

Title: Method and devices for tissue reconfiguration
Patent Number: 6,835,200 Issued on 12/28/2004 to Laufer,   et al.

Title: Decomposing surfactant
Patent Number: 7,160,925 Issued on 01/09/2007 to Andersson

Title: Error monitoring system and method
Patent Number: 7,036,070 Issued on 04/25/2006 to Ozdemir

Title: Liquid crystal display device having protuberance with base area .ltoreq.5% of one pixel to control liquid crystal molecule orientation
Patent Number: 6,801,286 Issued on 10/05/2004 to Yamaguchi,   et al.

Title: Wind power plant
Patent Number: 7,061,133 Issued on 06/13/2006 to Leijon,   et al.

Title: Texaphyrin coordination compounds and uses thereof
Patent Number: 7,160,873 Issued on 01/09/2007 to Magda,   et al.

Title: Display unit, drive circuit, amorphous silicon thin-film transistor, and method of driving OLED
Patent Number: 7,102,202 Issued on 09/05/2006 to Kobayashi,   et al.

Title: Humanized immunoglobulin reactive with b7-2 and methods of treatment therewith
Patent Number: 6,827,934 Issued on 12/07/2004 to Co,   et al.

Title: Telescoping and locking lever arm
Patent Number: 7,007,569 Issued on 03/07/2006 to Jermyn

Title: External shutter for electrospray ionization mass spectrometry
Patent Number: 6,828,550 Issued on 12/07/2004 to Griffey,   et al.

Title: Pleuromutilin derivatives
Patent Number: 7,160,907 Issued on 01/09/2007 to Elder,   et al.

Title: Method and apparatus for retrieving multimedia data using shape information
Patent Number: 6,807,303 Issued on 10/19/2004 to Kim,   et al.

Title: Substituted indole oxo-acetyl amino acetic acid derivatives as inhibitors of plasminogen activator inhibitor (PAI-1)
Patent Number: 7,160,918 Issued on 01/09/2007 to Elokdah,   et al.

Title: Finding location and ranging explorer
Patent Number: 7,061,366 Issued on 06/13/2006 to Bell,   et al.

Title: Snapfit for fixing roller and roller assembly of office automation machine having the same
Patent Number: 7,155,139 Issued on 12/26/2006 to Hong

Title: Reflective liquid crystal displays having multilayer rear substrates
Patent Number: 6,801,280 Issued on 10/05/2004 to Kwok,   et al.

Title: Method for providing a current collector with bare regions to facilitate winding
Patent Number: 6,828,059 Issued on 12/07/2004 to Miller,   et al.

Title: Diarylcycloalkyl derivatives, process for their preparation and their use as pharmaceuticals
Patent Number: 7,160,911 Issued on 01/09/2007 to Goerlitzer,   et al.

Title: Flashing device
Patent Number: 7,083,296 Issued on 08/01/2006 to Chiang

Title: Position measuring system with multiple bar mirrors
Patent Number: 6,864,963 Issued on 03/08/2005 to Chen,   et al.

Title: System, method and computer readable medium for performing an aggregate database query
Patent Number: 7,062,494 Issued on 06/13/2006 to Kulkarni

Title: Heterocyclic compounds having antibacterial activity: process for their preparation and pharmaceutical compositions containing them
Patent Number: 7,160,912 Issued on 01/09/2007 to Selvakumar,   et al.

Title: C7 lactyloxy-substituted taxanes
Patent Number: 7,160,919 Issued on 01/09/2007 to Holton,   et al.

Title: Power control device and method for a motorcycle
Patent Number: 7,086,379 Issued on 08/08/2006 to Blomenberg,   et al.

Title: Semiconductor device including field-effect transistor
Patent Number: 7,102,203 Issued on 09/05/2006 to Fujiwara,   et al.

Title: Preparation of ophthalmic compositions
Patent Number: 6,828,356 Issued on 12/07/2004 to Su,   et al.

Title: Dynamic anticancer platinum compounds
Patent Number: 7,160,908 Issued on 01/09/2007 to Shaw

Title: Scintillator coatings having barrier protection, light transmission, and light reflection properties
Patent Number: 6,996,209 Issued on 02/07/2006 to Marek

Title: Method and device for connecting display panel substrates
Patent Number: 6,801,269 Issued on 10/05/2004 to Matsumoto

Title: Optical pulse duration extender
Patent Number: 7,035,012 Issued on 04/25/2006 to Govorkov,   et al.

Title: Chip package structure
Patent Number: 7,061,103 Issued on 06/13/2006 to Chen,   et al.

Title: Protein conjugates with a water-soluble biocompatible, biodegradable polymer
Patent Number: 7,160,924 Issued on 01/09/2007 to Kinstler,   et al.

Title: Toaster pastry
Patent Number: 6,827,958 Issued on 12/07/2004 to Brown,   et al.

Title: Wavelength conversion laser apparatus
Patent Number: 7,075,965 Issued on 07/11/2006 to Hashimoto,   et al.

Title: Developer supply container
Patent Number: 7,155,138 Issued on 12/26/2006 to Yamada

Title: Data transformation architecture
Patent Number: 6,826,627 Issued on 11/30/2004 to Sjollema,   et al.

Title: Method for establishing secure communication link between computers of virtual private network
Patent Number: 6,826,616 Issued on 11/30/2004 to Larson,   et al.

Title: Method and system for aggregation of reward points for payment of auctioned items
Patent Number: 6,829,586 Issued on 12/07/2004 to Postrel

Title: Door jamb
Patent Number: 7,043,883 Issued on 05/16/2006 to Cederberg,   et al.

Title: High pressure fuel accumulator
Patent Number: 7,040,289 Issued on 05/09/2006 to Nigrin,   et al.

Title: Module cam and method for aligning and fastening tool
Patent Number: 7,043,956 Issued on 05/16/2006 to Higuchi,   et al.

Title: Methods and kit for treating Parkinson's disease
Patent Number: 7,160,913 Issued on 01/09/2007 to Schneider

Title: Semiconductor device isolated resistive zone
Patent Number: 6,828,636 Issued on 12/07/2004 to Fujiishi,   et al.

Title: Optical disc device and control method using preceding sub-beam to detect a disc defect
Patent Number: 7,095,693 Issued on 08/22/2006 to Sasaki,   et al.

Title: Methods for Agrobacterium-mediated transformation
Patent Number: 6,822,144 Issued on 11/23/2004 to Zhao,   et al.

Title: Rear-mounted gimbal for supporting test head
Patent Number: 6,828,774 Issued on 12/07/2004 to Bosy,   et al.

Title: Rules analyzer system and method for evaluating and ranking exact and probabilistic search rules in an enterprise database
Patent Number: 6,829,604 Issued on 12/07/2004 to Tifft

Title: Organic electroluminescence device and display device
Patent Number: 6,831,408 Issued on 12/14/2004 to Hirano,   et al.

Title: Short-acting benzodiazepines
Patent Number: 7,160,880 Issued on 01/09/2007 to Feldman,   et al.

Title: Method of aligning a wafer and masks
Patent Number: 6,828,071 Issued on 12/07/2004 to Nin

Title: Information-processing apparatus, information-processing method and storage medium
Patent Number: 7,062,477 Issued on 06/13/2006 to Fujiwara,   et al.

Title: Anti-sickling agents
Patent Number: 7,160,910 Issued on 01/09/2007 to Safo,   et al.

Title: Heated protective window for an optical scanning device
Patent Number: 7,059,530 Issued on 06/13/2006 to Gagne,   et al.

Title: Programmable SONET framing
Patent Number: 7,075,953 Issued on 07/11/2006 to Keller

Data processing system including storage systems Number:7,076,620 from the United States Patent and Trademark Office (PTO) owispatent

Home    Author Login    Submit Article    Article Search    Add Your Link    Edit Your Link    Contact Us    Advertising    Disclaimer

   

 
Web LinkGrinder.com

Top Breaking News
     Peru Mine Workers End Week-Long Strike by VOA News
     Israel, Hezbollah Move Toward Prisoner Swap by Robert Berger
     US to Sign Missile Defense Deal with Czech Republic by VOA News

Title: Data processing system including storage systems

Abstract: A data processing system includes a first storage system including a first host and a first storage subsystem. The first host has access to a first copy manager that is operable to manage a data replication operation. A second storage system includes a second host and a second storage subsystem. The second host has access to a second copy manager that is operable to manage a data replication operation. A first communication link is coupled to the first storage system and the second storage system to exchange management information between the first and second storage systems in order to manage the data replication operation. A data transfer path is configured to transfer data stored in the first storage subsystem to the second storage subsystem and replicate the data of the first storage subsystem in the second storage subsystem. The data transfer path is different from the first communication link.

Patent Number: 7,076,620 Issued on 07/11/2006 to Takeda,   et al.


Inventors: Takeda; Takahiko (Minamiashigara, JP); Asaka; Yoshihiro (Odawara, JP); Yamagami; Kenji (Odawara, JP); Suzuki; Katsuyoshi (Odawara, JP); Shirogane; Tetsuya (Yokohama, JP)
Assignee: Hitachi, Ltd. (Tokyo, JP)
Appl. No.: 603076
Filed: June 23, 2003


Foreign Application Priority Data

Feb 27, 2003 [JP] 2003-050244

Current U.S. Class: 711/161 ; 707/202; 707/203; 707/204; 711/162
Current International Class: G06F 12/06 (20060101)
Field of Search: 711/161,162 707/202


References Cited [Referenced By]

U.S. Patent Documents
5155845 October 1992 Beal et al.
5170480 December 1992 Mohan et al.
5307481 April 1994 Shimazaki et al.
5379418 January 1995 Shimazaki et al.
5459857 October 1995 Ludlam et al.
5544347 August 1996 Yanai et al.
5720029 February 1998 Kern et al.
5734818 March 1998 Kern et al.
5742792 April 1998 Yanai
5901327 May 1999 Ofek
5933653 August 1999 Ofek
6044444 March 2000 Ofek
6092066 July 2000 Ofek
6101497 August 2000 Ofek
6157991 December 2000 Arnon
6173377 January 2001 Yanai et al.
6324654 November 2001 Wahl et al.
6338126 January 2002 Ohran
6360306 March 2002 Bergsten
6363462 March 2002 Bergsten
6393538 May 2002 Murayama
6446175 September 2002 West et al.
6446176 September 2002 West et al.
6477627 November 2002 Ofek
6496908 December 2002 Kamvysselis et al.
6526487 February 2003 Ohran
6549920 April 2003 Obara
6560617 May 2003 Winger
6609183 August 2003 Ohran
6636981 October 2003 Barnett et al.
6732124 May 2004 Koseki et al.
2002/0133511 September 2002 Hostetter
2002/0194442 December 2002 Yanai et al.
2003/0115224 June 2003 Obrara
Foreign Patent Documents
1115225 Jul., 2001 EP
62-274448 Nov., 1987 JP
02-037418 Feb., 1990 JP
07-191811 Jul., 1995 JP

Other References

Lyon "Tandem's Remote Data Facility," IEEE Feb.-Mar. 1990, pp. 562-567 (1990). cited by other.

Primary Examiner: Padmanabhan; Mano
Assistant Examiner: Walter; Craig E
Attorney, Agent or Firm: Mattingly, Stanger, Malur & Brundidge, P.C.

Claims



What is claimed is:

1. A data processing system, comprising: a first storage system including a first host and a first storage subsystem, wherein the first host has a first copy manager, the first copy manager being operable to manage a data replication operation, and the first storage subsystem is a disk array device including a first storage controller and first disk devices; a second storage system including a second host and a second storage subsystem, wherein the second host has a second copy manager, the second copy manager being operable to manage a data replication operation, and the second storage subsystem is a disk array device including a second storage controller and second disk devices; a first communication link coupling the first host and the second host to exchange management information between the first host and the second host to manage the data replication operation, the management information including first control information transmitted from the first host to the second host; and a data transfer path coupling the first storage subsystem and the second storage subsystem, which is configured to transfer data stored in the first storage subsystem to the second storage subsystem to replicate the data of the first storage subsystem in the second storage subsystem, the data transfer path being different from the first communication link, wherein the second host is configured to cause execution of the second copy manager to transfer the data from the first storage subsystem to the second storage subsystem and transfer a copy request by using the first control information received from the first host through the first communication link, wherein the second storage subsystem is configured to receive the copy request from the second host, and transmit a data transfer request to the first storage subsystem, and wherein the first storage subsystem is configured to transmit data stored in the first storage subsystem to the second storage subsystem via the data transfer path upon receiving the data transfer request from the second storage subsystem.

2. The data processing system of claim 1, wherein the first storage subsystem includes a first storage area in the first disk devices for storing data, and a second storage area in the first disk devices for storing a journal, the first storage controller being configured to write data to the first storage area according to requests from the first host and update any data image change in the first storage area to the second storage area, wherein the first storage controller is further configured to receive the data transfer request from the second storage subsystem and transfer the journal from the second storage area to the second storage subsystem via the data transfer path upon receiving the data transfer request from the second storage subsystem, the journal including journal data and metadata.

3. The data processing system of claim 2, wherein the second storage subsystem includes a third storage area in the second disk devices for storing the journal received from the first storage subsystem, and a fourth storage area in the second disk devices for storing data that have been restored using the journal received from the first storage subsystem, the restored data corresponding to the data stored in the first storage area, the journal including an update journal.

4. The data processing system of claim 3, wherein the data transfer path includes a storage area network, the first storage area being a logical volume associated with one or more first disk devices and the second storage area being a logical volume associated with one or more second disk drive devices, wherein the journal includes a base journal or a marker journal, or both.

5. The data processing system of claim 3, further comprising: a third storage system including a third host and a third storage subsystem, the third host having a third copy manager, the third host being coupled to the first host via a communication link, the third storage subsystem being a disk array system including a third storage controller and third disks, and the third storage subsystem being coupled to the first storage subsystem via a data transfer path, wherein the third storage subsystem is configured to receive the journal from the first storage subsystem and obtain the restored data from the journal if the second storage subsystem is unable to receive the journal or obtain the restored data.

6. The data processing system of claim 5, wherein the first host has an access to a candidate list including one or more potential storage systems that can receive the journal and obtain the restored data in place of the second storage system if the second storage system experiences a failure.

7. The data processing system of claim 1, wherein the first copy manager and the second copy managers are asynchronous copy managers, and the first storage subsystem and the second storage subsystems are provided in remote locations from each other.

8. A data processing system, comprising: a first storage system including a first host and a first storage subsystem, the first host having access to a first copy manager, the first copy manager being operable to manage a data replication operation; a second storage system including a second host and a second storage subsystem, the second host having access to a second copy manager, the second copy manager being operable to manage a data replication operation; a first communication link coupling the first host and the second host to exchange management information between the first and second hosts to manage the data replication operation, the management information including first control information transmitted from the first host to the second host; and a data transfer path configured to transfer data stored in the first storage subsystem to the second storage subsystem and replicate the data of the first storage subsystem in the second storage subsystem, the data transfer path being different from the first communication link, wherein the second host is configured to cause execution of the second copy manager using the first control information to initiate transfer of the data from the first storage subsystem to the second storage subsystem, wherein the data transfer path includes a first data link coupling the first storage system to a first external storage device for transferring the data from the first storage system to the first external storage device, wherein the data transfer path further includes a second data link coupling the second storage system to a second external storage device, the second external storage device configured to receive the data from the first storage system stored in the first external storage device, so that the data from the first storage system can be transferred to the second storage system.

9. A method for performing a remote replication in a data processing system including a first storage system including a first host and a first storage subsystem and a second storage system including a second host and a second storage subsystem, the method comprising: transmitting a completion notification from the second storage subsystem to the second host to inform the second host that the second storage subsystem has finished receiving first information from the first storage subsystem via a data transfer link coupling the first and second storage subsystems; receiving at the second storage subsystem a restore command from the second host to obtain second information using the first information, the second information being associated with the first information; and performing a restoration process to obtain the second information at the second storage subsystem upon receiving the restore command, the second information being a copy of data stored in the first storage subsystem, wherein the first and second hosts are coupled to each other via a communication link to transmit or receive management information relating to the remote replication method.

10. The method of claim 9, further comprising: storing the second information in a first storage area of the first storage subsystem according to an instruction of the first host; thereafter, storing the first information that is associated with the second information in a second storage area of the first storage subsystem; and informing the first host that the first storage subsystem is ready to transfer the first information to the second storage subsystem once a given amount of the first information is stored in the second storage area, wherein a data transfer notification is sent from the first host to the second host informing the second host that the first storage subsystem is ready to transfer the first information to the second storage subsystem, wherein the first information is a journal, the journal including journal data and metadata, the journal data corresponding to the second information.

11. A method for storing data in a storage system, the method comprising: storing data in a first storage area in a first storage subsystem of a first storage system according to an instruction of a first host associated with the first storage subsystem, the first storage system including the first host and the first subsystem; storing an update journal in a second storage area in the first storage subsystem, the update journal corresponding to the data stored in the first storage area, the update journal including journal data and metadata; notifying the first host that the first storage subsystem is ready to transfer the update journal to a second storage system, so that the first host can inform the second storage system via a first communication link that the first storage subsystem is ready to transfer the update journal to the second storage system, the first communication link being configured to exchange management information between the first host and the second storage system; and transferring a journal including the update journal to the second storage system via a data transfer path that is different from the first communication link.

12. The method of claim 11, wherein the second storage system including a second host and a second storage subsystem, the first communication link being an IP network, the data path being a Fibre Channel, the first and second storage subsystems being disk array devices, the method further comprising: storing a base journal in the second storage area that is derived from at least a portion of initial data that had been stored in the first storage area prior to the storing-data-in-a-first-storage-area step, the journal transferred to the second storage system further including the base journal; receiving a notification at the first host from the second host via the first communication link coupling the first and second hosts, the notification informing the first host that the journal has been received by the second storage subsystem; transmitting an instruction to the first storage subsystem from the first host to prepare the second storage area for storing new information therein.

13. A computer readable medium for managing a data processing system, the medium comprising: code for storing data in a first storage area in a first storage subsystem of a first storage system according to an instruction of the a first host that is associated with the first storage subsystem, the first storage system including the first host and the first subsystem; code for storing a journal in a second storage area in the first storage subsystem, the journal corresponding to the data stored in the first storage area, the journal including journal data and metadata; code for notifying the first host that the first storage subsystem is ready to transfer the journal to a second storage system, so that the first host, in turn, can notify the second storage system via a first communication link that the first storage subsystem is ready to transfer the journal to the second storage system, the first communication link being configured to exchange management information between the first host and the second storage system; and code for transferring the journal information to the second storage system via a data transfer path that is different from the first communication link.

14. A storage subsystem provided in a data processing system, the data processing system including a first storage system and a second storage system, the first storage system including a host and the storage subsystem, wherein the storage system comprising: a storage controller to communicate with the host that is coupled to a remote host of a remote storage system via a first communication link, the first communication link being configured to exchange management information between the host of the storage subsystem and the remote host of the remote storage system; a first storage area to store data according to an instruction of the host of the storage subsystem; a second storage area to store a journal corresponding to the data stored in the first storage area, the journal including journal data and metadata; and a communication interface coupled to a second communication link, the second communication link coupling the storage subsystem and a remote storage unit of the remote storage system, the second communication link being configured to transfer the journal to the remote storage unit and being different than the first communication link, wherein the storage subsystem is configured to notify the host when the storage subsystem is ready to transfer the journal stored in the second storage area to the remote storage unit.

15. A data processing system, comprising: a primary storage system including a primary host and a primary storage subsystem, the primary storage subsystem being configured to perform an asynchronous remote replication procedure, the primary storage subsystem including a first storage area for storing data and a second storage area for storing a journal corresponding to the data; a secondary storage system including a secondary host and a secondary storage subsystem, the secondary subsystem being configured to perform an asynchronous remote replication procedure, the secondary storage subsystem including a third storage for receiving and storing the journal from the primary storage subsystem and a fourth storage for storing data that has been restored using the journal received from the primary storage subsystem, the restored data being a copy of the data stored in the first storage area; a first communication link coupling the primary host and the secondary host to exchange management information; and a second communication link coupling the primary storage subsystem and the secondary storage subsystem to exchange data between the primary and secondary storage subsystems, wherein the primary host is configured to provide management information about the journal stored in the second storage area to the secondary host via the first communication link; wherein the secondary host is configured to instruct the secondary storage subsystem to obtain the restored data from the journal received from the primary storage subsystem upon receiving a notification that a receipt of the journal has been completed from secondary storage subsystem, wherein the primary storage subsystem is configured to retrieve the journal from the second storage area and transfer the journal to the secondary storage system via the second communication link upon receiving a data transfer request or determining a predetermined condition has been satisfied.

16. The data processing system of claim 15, wherein the primary storage subsystem is manufactured by a first vendor and the secondary subsystem is manufactured by a second vendor different from the first vendor, the first and second communication links being the same communication network.
Description



BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a technology where data stored in a first storage system is replicated in a second storage system.

2. Description of Related Art

In recent years, in order to offer a continuing service to customers at all times, a technology relating to remote replication has become important, so that a data processing system offers storage service even when a primary storage system experiences a failure. U.S. Pat. No. 5,170,480 to Mohan discloses a technology where information in the first information processing system is replicated in a second information processing system. In Mohan, a computer included in a first information processing system (hereinafter, "primary host") coupled to a disk array device (hereinafter, "primary disk array device") transmits data stored in the primary disk array device to a disk array device (hereinafter, "secondary disk array device") included in a second information processing system through a communication line and a computer included in the secondary information processing system (hereinafter, "secondary host").

On the other hand, due to development of computer networks, information processing systems owned by business enterprises become more complicated. As a result, the requirement for collective management of apparatuses connected to a network is increasing. As a technology satisfying such a demand, there has been devised a technology called virtualization where a plurality of storage subsystems connected with one another through a network, such as a Fibre Channel or the Internet, are managed collectively and are provided to the user as a virtually single or plural storage subsystems. Thereby, the user of the information processing system can use the plurality of storage subsystems as if it were a single storage subsystem.

As used herein, the term "storage subsystem" refers to the storage apparatus such as a hard disk drive, an aggregate of a plurality of hard disk drives, a disk array device wherein a control unit controls a plurality of hard disk drives, etc.

As used herein, the term "storage system" and "site" both refers to the system comprised of one or more host computers and one or more storage subsystems connected to them.

A host computer may be referred to as "host".

A storage device may be referred to as "storage".

SUMMARY OF THE INVENTION

Here, consider a case where the Mohan's technology is applied to a complicated information processing system.

In Mohan, the data stored in both disk array devices is transferred between the primary host and the secondary host. That is, each host is used as a path for the data transfer. Further, each host connected to the network retains information on a plurality of disk array devices connected to the network (network address etc.).

Therefore any one of a large number of the existing disk array devices is selected by each host appropriately and data is easily replicated in a selected disk array. In particular, in the case where the Mohan's technology is applied to the virtualization, a device that controls the virtualization (computer or switch) and hosts can be brought into cooperation with one another. However, since the data stored in each disk array device is transferred through a communication link between the hosts, there is a problem that channel load of the hosts and traffic of the line connecting the hosts increase.

One embodiment of this invention is directed to solve the above problem. A primary host and a secondary host monitor statuses of storage subsystems connected to the hosts, for example, each of the primary and secondary disk array devices, based on software operating on each host. Further, the primary or secondary host directs the data transfer between disk array devices to the primary or secondary disk array device if needed. Moreover, each host exchanges information for performing the data transfer between the disk array devices by inter-host communication. On the other hand, data stored in each disk array device is transferred between the disk array devices directly. A configuration where the data is transferred by using a removable storage medium such as a tape device rather than the private line is possible.

In another implementation, the primary disk array device stores information for updating data stored in the primary disk array device as "journal" (updating history). More specifically, the journal is the record comprised of a copy of the data used for updating and metadata. Furthermore, the primary disk array device is so configured as to transfer this journal to the secondary disk array device according to instructions of the primary and secondary hosts. The secondary disk array device updates the data stored in the secondary disk array device similarly to the update method performed in the primary disk array device, i.e., by using the journal received from the primary disk array device according to instructions of the secondary host. Updating in the primary disk array device is reproduced in the secondary disk array device, so the latter updating (in the secondary disk array device) may be referred to as "restore".

In still another implementation, it may be applicable that journal is transferred by issuing a journal copy instruction to the primary disk array device.

In yet another implementation, it may also be applicable that the disk array device connected to each host is a storage subsystem that is virtualized by a device for controlling the virtualization. In this case, the data transfer is performed between devices each for controlling the virtualization or by each storage subsystems connected to the device for controlling the virtualization.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a hardware configuration of a data processing system according to one embodiment of the present invention.

FIG. 2 is a flowchart showing an outline of operations performed in the data processing system of FIG. 1 according to one embodiment of the present invention.

FIG. 3 shows operations of acquisition, copy and restore processing of the journal in the one embodiment data processing system disclosed in FIG. 1.

FIG. 4 shows a PVOL and a primary journal volume 2222A that are used in the embodiment of FIG. 1.

FIG. 5 shows correspondence of the journal data areas of a primary journal volume and of a secondary journal volume.

FIG. 6 is a flowchart showing the details of acquisition, copy and restore processing of the journal according to one embodiment of the present embodiment.

FIG. 7 shows a data processing system according to another embodiment of the present invention system;

FIG. 8 shows a data processing system according to yet another embodiment of the present invention.

FIG. 9 shows a data processing system according to yet another embodiment of the present invention.

FIG. 10 shows a logical configuration of the data processing system of FIG. 1.

FIG. 11 shows a data processing system according to yet another embodiment of the present invention.

FIG. 12 shows a data processing system according to yet another embodiment of the present invention.

FIG. 13 shows a data processing system according to yet another embodiment of the present invention.

FIG. 14 shows a data processing system according to yet another embodiment of the present invention.

FIG. 15 shows a data processing system according to yet another embodiment of the present invention.

FIG. 16 shows a table of including address information of disk array devices comprising a virtual storage volume that has been associated with a host in a virtualization server 300B of FIG. 13.

FIG. 17 shows a secondary journal volume and a SVOL that are used by the data processing system of FIG. 1.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 shows a hardware configuration of a data processing system 50 according to a first embodiment of this invention.

This data processing system comprises a first storage system 10 (hereinafter, "primary storage system" or "primary site") having a primary host 100A and a primary storage subsystem or disk array device 200A, a second storage system 20 (hereinafter, "secondary storage system" or "secondary site") having a secondary host 100B and a secondary storage subsystem or disk array device 200B, and a remote console 40. In the embodiments disclosed herein, disk array devices are used as the storage subsystems for illustration purposes. The storage subsystems may be storage devices other than disk array devices and are not limited thereto. The primary site and the primary disk array devices may be referred to as a first site and a first disk array device, respectively. Similarly, the secondary site and the secondary disk array devices may be referred to as a second site and a second disk array device, respectively.

Each host 100 (the primary host 100A and the secondary host 100B) is a computer that has a CPU 110, a main memory 120, and an input/output (I/O) processing device 130. For example, it may be a workstation, a microcomputer, a mainframe computer, or the like.

Each disk array device 200 (the primary disk array device 200A and the secondary disk array device 200B) has a storage controller 210, a plurality of disk units 220, and an SVP (Service Processor) 230. The storage controller 210 has a host adapter 211, cache memory 212, a disk adapter 213, a processor 214, and control memory 215.

The primary host 100A is connected with the primary disk array device 200A and the secondary host 100B is connected with the secondary disk array device 200B, respectively, with a Fibre Channel 66. The CPU 110 and the main memory 120 of each host 100 are connected to the host adapter 211 of the disk array device 200 through the I/O processing device 130 and the Fibre Channel 66.

Further, the primary disk array device 200A and the secondary disk array device 200B are connected with each other through a Fibre Channel 68. The primary disk array device and the secondary disk array device may be provided within the same room, or building. Alternatively, they may be separated by a considerable distance to safeguard against both devices experiencing a common failure at the same time. If the distance between the primary site 10 and the secondary site 20 is long, that is, the distance exceeds the data transferable distance of the Fibre Channel 68, the disk array devices may be connected through a long-distance communication link, such as, ATM through extender devices in addition to the Fibre Channel 68.

The remote console 40 is also a computer that has a CPU and a main memory. The remote console 40, the primary host 100A, the secondary host 100B, the primary disk array device 200A, and the secondary disk array device 200B are interconnected through an IP network 48, such as LAN (Local Area Network) or WAN (Wide Area Network). That is, the data processing system 50 includes at least two communication links coupling the primary and secondary storage systems, the Fibre Channel 68 linking the disk array devices 200A and 200B and the IP network 48 linking the hosts 100A and 100B. In the present embodiment, these two communication links are of different technologies, as explained above. However, the communication links 48 and 66 may be of the same technology, e.g., both may be an IP network.

FIG. 10 shows a logical configuration of the data processing system of FIG. 1.

In each host 100, an asynchronous copy manager 150 that is a program for controlling the data transfer between the disk array devices 200 is executed on the CPU 110. The asynchronous copy manager 150 is stored in the main memory 120. Each host 100 executing the asynchronous copy manager 150 manages respective disk array device 200 with respect to operations relating to the journal processing (e.g., acquisition and transfer of the journal, and restoration of data using the journal) in response to a user's request inputted to each host 100 directly or via a network, or a request that has been prearranged. The details of journal processing will be described later.

Further, the asynchronous copy managers 150 of the hosts 100 communicate with together during the journal processing using an IP network 48 and exchange management information that are needed to facilitate the journal processing, e.g., journal creation state, which will be described later.

On a storage controller 210 of each disk array device 200, a copy program 2110 and a journal-backup/restore program 2120 are executed by the processor 214. These programs are stored in control memory 215. The journal-backup/restore program 2120 is composed of a journal backup program and a journal restore program. Moreover, the storage controller 210 handles I/O requests to the disk device 220 based on instructions from the hosts in addition to the copy program 2110 and the journal-backup/restore program 2120.

The disk device 220 includes or is associated with one or more logical storage areas (volumes). These logical volumes are used as a data volume area 2210 or a journal volume area 2222, as desired by the user.

By executing the asynchronous copy manager 150, each host 100 controls execution of the journal-backup/restore program 2120 and the copy program 2110 provided for each disk array device 200. In each host 100, application programs 152 used by the user and a program serving as a disk array device control interface (hereinafter, "RAID manager") are executed by the CPU 110 of each host 100. Moreover, the asynchronous copy manager 150 and the RAID manager exchange information mutually using an inter-program communication.

On the remote console 40, a program 42 called a remote console storage navigator is executed. The remote console 40 performs management of constituent members of the data processing system of this embodiment, more specifically, the hosts 100 and the disk array devices 200, by executing the program 42. The program 42 is stored in the main memory of the remote console 40.

The programs explained so far are installed in a storage medium associated with each device, e.g., a removable storage medium, such as a compact disk and a magnetic-optical disk, or through the IP network 48.

FIG. 2 is a flowchart showing the outline of operations of the data processing system of the first embodiment.

At step 9100, by using a graphical user interface ("GUI"), which is included in either the host 100 or the remote console 40, the user inputs a pair generation command to the host 100 (either of the primary host 100A or the secondary host 100B may be used). The pair generation command is a command that associates a first volume (hereinafter, "PVOL") 2212 of the primary disk array device 200A, which is targeted for journal acquisition, and a second volume (hereinafter, "SVOL") 2214 of the secondary disk array device 200B, which is a replication pair of PVOL.

The host 100 that received the pair generation command controls the first and second disk array devices 200A and 200B, so that a volume 2222A for storing a journal of the PVOL 2212 (hereinafter, "journal volume") is allocated in the primary disk array device 200A and a journal volume 2222B for storing a journal of the SVOL 2214 is allocated in the secondary disk array device 200B (Step 9110). A pair of PVOL 2212 and the journal volume 2222A assigned to PVOL 2212 is referred to as a journal group, and a pair of SVOL 2214 and the journal volume 2222B assigned to SVOL 2214 is called a journal group. A journal group is also cited as "journal pair". And the pair generation command also defines the association of the journal pair of PVOL and the journal pair of SVOL. This association (i.e. pair of journal pairs) is cited as "device group".

Each of the PVOL and SVOL may include only one volume, or may be a group of two or more volumes (volume group). A user specifies a volume group at the time of inputting the pair generation command. Each disk array device 200 is provided with a capability, so that the specified volume group may be treated as a single virtual volume and may perform journal processing (described later) as if it were using a single volume. The journal volume may be a volume group as well.

In this embodiment, the first host 100A primarily controls the first disk array device 200A, and the secondary host 100B primarily controls the secondary disk array device 200B. Therefore, when the secondary host 100B receives the pair generation command, the secondary host 100B transfers information required by the first disk array device 200A among pieces of information included in the pair generation command (information for specifying a device group) to the primary host 100A through the IP network 48. Similarly, when the first or primary host 100A receives the pair generation command, the primary host 100A transfers information required by the secondary disk array device 200B to the secondary host 100B.

As methods for allocating a journal volume, at least the following two methods may be used for the present embodiment: (1) at the time of inputting the pair generation command, the user itself specifies the journal volume; and (2) the host 100 selects an unused logical volume arbitrarily and uses it. For example, the following procedures are taken. First, in each disk array device 200, unused logical volumes are managed in the respective control memory 215 as a journal volume pool for future user as the journal volumes.

Each disk array device 200 notifies information on the logical volumes registered in the journal volume pool, for example, physical addresses in the disk array device 200A, the storage capacity of the physical volume, etc. to the respective host 100. The host 100 that received the pair generation command selects an appropriate volume as the journal volume based on the information notified by the disk array device. In one implementation, it does not matter whether the selected volume is a single volume or a volume group, i.e., a plurality of volumes. If it is a plurality of volumes, the volumes are treated as a single virtual volume.

The user can specify whether or not a normal application executed on the host 100 is capable of issuing I/O request to the journal volume. There are two cases: (1) one is that a volume allocated on the disk device 220 used for normal I/O processing is selected as the journal volume; and (2) the other is that a volume that the host 100 cannot use for the normal I/O processing is selected as the journal volume.

In the former case, the journal can be seen from a normal application on the host 100 or from another host connected to the disk array device 200 through the Fibre Channel. Therefore, acquisition and control of statistics on the journal can be performed by a normal application, but there is possibility of destroying the journal erroneously.

In the latter case, the journal of the host 100 is allowed to be seen only when the host 100 executing the asynchronous copy manager 150 makes each disk array device 200 execute the journal restore program or the copy program. Therefore, the journal is not destroyed by the normal I/O processing performed by the host 100.

Thereafter, a journal processing is performed, e.g., in the first storage system 10 (Step 9120). The journal processing includes an acquisition operation 9122, a copy operation 9124, and a restoration operation 9126. The journal acquisition operation or process 9122 involves the primary disk array device 200A acquiring the journal for PVOL 2212 after receiving a journal acquisition start command from the primary host 100. After receiving the command, the primary disk array device. 200A commence storing journal data and metadata in the journal volume 2222A (Step 9220) after each write operation to PVOL 2212 (Steps 9200 and 9210). The journal data is a copy of the data written or updated according to the write command. The metadata provides information relating to a time when the update data is stored in the PVOL 2212, the storing address of the written (updated) data, address of the corresponding journal data in the journal data area, and the length of the data. A journal is composed of the journal data and corresponding metadata.

After the journal acquisition processing has been started, each host 100 executes the asynchronous copy manager 150, and controls journal copy processing periodically. The journal copy processing relates to transferring of the journal between the first and second disk array devices 200A and 200B. The journal copy process 9124 is initiated when the primary host 100A decides that the journal needs to be copied (e.g., a predetermined amount of information has been stored in the journal volume 2222A in the primary disk device 200A) according to the information on journal creation state acquired from the primary disk drive 200A (details will be described later). The primary host 100A, in turn, notifies the secondary host 100B via the link 48.

Thereupon, the secondary host 100B then transmits a copy request ("journal copy request command") to the secondary disk array device 200B to initiate journal transfer from the primary disk array device 200A (Step 9300).

After receiving the journal copy request command, the secondary disk array device 200B issues a data read request to the primary disk array device 200A (Step 9310). The primary disk array device 200A transmits the requested data to the secondary disk array device 200B by executing the copy program 2110. Details of the journal copy processing will be described later.

On the other hand, the data that had been stored in PVOL 2212 before the journal acquisition process was started is not transferred to the secondary disk array device 200B even when the journal copy processing was started. Therefore, it is necessary to copy these data (hereafter "initial data") to SVOL 2214 from PVOL 2212. In the present embodiment, an initial copy process is used to transfer the initial data from the PVOL 2212 to SVOL 2214 (Step 9130). The initial data are transferred sequentially from the volume head area to the end of PVOL 2212 according to instructions of the host 100. This process may also be performed by allowing each disk array device 200 itself to execute the copy program 2110.

The initial copy and the journal copy processing may be performed asynchronously and in parallel. That is, the initial copy can be performed anytime after PVOL 2212 and SVOL 2214 have been specified based on the pair generation command, regardless of whether or not the journal acquisition process and the journal copy process has been performed or is being performed. However, as long as the initial copy has not been completed, the contents of SVOL 2214 does not reflects PVOL 2212 even if the restoration process 9126 has been performed at the secondary disk array device 200B. The restore or restoration process involves updating or coping the data of PVOL 2212 in the SVOL 2214 using the journal that have been received from the primary disk array device 200A according to the copy process 9124.

In one implementation, the initial copy initiated by the secondary disk array device 200B issuing one or plural read commands to the primary disk array device 200A in order to reduce the load of the primary disk array device 200A.

Once all initial data have been copied into SVOL 2214 of the secondary disk array device 200B, the copy program 2110B reports completion of the initial copy to the secondary host 100B. Thereafter, an accurate recovery of data in the secondary site 20 becomes possible. Generally, the initial copy is started after the start of the journal acquisition processing.

The journal acquisition process 9122 may be stopped by a command ("journal acquisition stop command") from the host 100A to the primary disk array device 200A.

After receiving a journal restore request command from the secondary host 100B (Step 9400), the secondary disk array device 200B restores the data stored in the SVOL 2214 by using the journal stored in the journal volume 2222B (Step 9410). This process is referred to as a journal restore process. The details of journal restore process will be described later.

FIG. 3 illustrates journal acquisition, journal copy, and journal restore processes according to the first embodiment of the invention. These processes are controlled by respective hosts 100A and 100B by executing the asynchronous copy manager 150. The primary disk array device 200A executes the journal backup program 2122 in the journal-backup/restore program 2120. By executing the journal backup program 2122, the primary disk array device 200A stores a copy of the data that is to be written in PVOL 2212, in the journal volume 2222A, as journal data. The primary disk array device 200A also stores metadata in the journal volume 2222A as part of the journal. The above step is referred to as the journal acquisition process 9122.

The secondary disk array device 200B performs the journal restore process 9126 by executing a journal restore program 2124 in the journal-backup/restore program 2120. The journal restore program 2124 restores journal in the journal volume 2222B, so that the data volume 2214 reflects the updated data image of PVOL 2212.

Hereafter, the journal acquisition, copy and restore processes will be explained using block diagrams of FIG. 3.

When the journal acquisition process for the data volume 2210 is started in the primary disk array device 200A, the primary disk array device 200A creates the journal and stores it in the journal volume 2222A according to write operation 5100 from the primary host 100A to PVOL 2212 (Step 5200).

The primary host 100A acquires information on journal creation state (e.g., storage size of the journals in the journal volume) from the primary disk array device 200A by issuing a journal-creation-state-acquisition command to the primary disk array device 200A by executing the asynchronous copy manager 150 (Step 5300).

The primary host 100A communicates the acquired information on the journal creation state to the secondary host 100B via the IP network 48, so that the remote replication process can be coordinated by the two host devices (Step 5000). One of the use of this information is to notify the hosts 100A and 100B as to when the journal in the journal volume 2222A is ready to be copied to the secondary disk device 200B.

The secondary host 100B executes the asynchronous copy manager 150 and issues the journal copy request command to the secondary disk array device 200B in accordance with an instruction from the user inputted through GUI or a predetermined schedule or via a notification from the primary host 100A (Step 5400).

The journal copy request command includes information specifying the journal (plurality of journals can be applied) to be copied, the journal volume in which that journal is stored, and the disk array device 200 having that journal volume. The request also includes information specifying the destination journal volume where the copied journal is to be stored.

The storage controller 210B of the secondary disk array device 200B receives the journal copy request command and issues a read command to the primary disk array device 200A by executing the copy program (Step 5500). The primary disk array device 200A receives the read command and transmits the journal specified by the read command to the secondary disk array device 200B (Step 5600). An area wherein the transmitted journal was stored is purged, so that a new journal may be stored therein.

Upon receipt of the journal, the secondary disk array device 200B stores the journal in the journal volume 2222B specified by the journal copy request command. Subsequently, the secondary host 100B issues the journal restore request command to the secondary disk array device 200B (Step 5700).

The secondary disk array device 200B receives the journal restore request command and executes the journal restore program 2124, thereby restoring data from the journal volume 2222B to SVOL 2214 (Step 5800). An area wherein the restored journal has been stored is purged, so that a new journal can be stored.

The host 100 executing the asynchronous copy manager 150 can perform host fail over. That is, in the case where the primary host 100A becomes unavailable for a certain reason and cannot continue with the journal copy process, the secondary host 100B may perform the functions of the primary host 100A as well.

In one implementation, the primary disk array device is coupled to a plurality of primary hosts, as in a storage area network. The journal acquisition and other processes disclosed above may be performed in such a configuration with some modification, as will be understood by one skilled in the art.

FIG. 4 shows correspondence of a PVOL 2212 and a journal volume 2222A used in this embodiment. Hereafter, the journal volume 2222A is called a primary journal volume, and the journal volume 2222B is called a secondary journal volume. Both data structures are fundamentally the same.

Generally, each of PVOL, SVOL and the journal volumes is managed in units of a predetermined logical block, e.g., 512 KB. Each of the logical blocks is given a logical block address (hereinafter, "LBA").

The primary journal volume has a metadata area 7100 and a journal data area 7200. In the journal data area 7200, the previously described journal data 7210, i.e., the copy of data 5110 stored in PVOL by the write command, is stored. In the metadata area 7100, the previously described metadata 7110, i.e., information indicating a time when each update data is stored in PVOL 2212, the storing address 7112 of the written (updated) data, address 7114 of the corresponding journal data 7210 in the journal data area 7200, and the length of the data, are stored.

Each address can be expressed with LBA and the length of data can be expressed with the number of logical blocks. Moreover, the address of data can be expressed as the difference from the base address (head LBA) of the area journal data area or metadata area), i.e., offset. Further, while the length of the metadata is fixed (e.g., 64 Byte), the length of the journal data is not fixed as it depends on the updated data by the write command in the present embodiment.

At the time of defining the journal group, each disk array device 200 performs setup of the metadata area 7100 and the journal data area 7200 for the journal volume 2222 to be set up. At this time, a head LBA and block count of each area are specified. Each host 100 executes the asynchronous copy manager 150 and issues a command (journal group composition acquisition command) that requests information on the set-up area (head LBA, block count) to the disk array device 200. This allows each host 100 to acquire information on the metadata area 7100 and the journal data area 7200 that each disk array device 200 has set.

FIG. 17 shows correspondence of a secondary journal volume 2222B and SVOL 2214 used in this embodiment. The secondary journal volume also has a metadata area 7100 and a journal data area 7200. In the metadata area 7100, the metadata 7110B, which is copied from the metadata area of the primary journal volume 2222A, is stored. In the journal data area 7200, the journal data 7210B, which corresponds to the metadata 7110B and copied from the journal data area of the primary journal volume, is stored.

While the metadata is the information about the update of PVOL 2212, its address information 7114 shows the address of the corresponding journal data 7210, which is copied to the journal data area in the secondary journal volume. Further, by copying journal data 7210 from the journal data area 7200 of the secondary journal volume 2222B to the address in SVOL 2214 corresponding to the address 7112, the update of PVOL 2212 can be reflected in SVOL 2214.

FIG. 5 shows the journal data areas of the primary journal volume and of the secondary journal volume according to the present embodiment.

The primary journal volume and the secondary journal volume are addressed with LBAs, and each LBA is brought into correspondence in a 1-to-1 manner.

The journal data area 7200 that the primary journal volume has is differentiated into a journal-stored area 2232, 2233, and 2234, in which the journal data are stored, and an already-purged area 2231 in which no journal data is stored. The already-purged area is used for storing new journal data of PVOL 2212.

The journal data area 7200 that the secondary journal volume has is differentiated into: an already-restored area 4231 in which the journal data having already been used for restore for SVOL is stored (or no journal data is stored); an in-restore area 4232 in which the journal data specified as a target of journal restore for SVOL is stored; an already-read area 4233 in which the journal data that are not being targeted for a journal restore process is stored; and an in-read area 4234 in which the journal data being transferred from the primary journal volume is stored.

The already-purged area 2231 of the primary journal volume is brought into correspondence with part of the in-restore area 4232 or the already-restored area 4231 of the secondary journal volume.

The journal-stored area of the primary journal volume is brought into correspondence with the already-read area 4233, the in-read area 4234, or part of the already-restored area 4231. Here, the journal-stored area 2232 that corresponds to the already-read area 4233 can be purged because the journal has already been transmitted to the secondary disk array device 200B. Moreover, the journal data stored in the journal-stored area 2233 that corresponds to the in-read area 4234 preferabl


Free Web Sudoku Puzzles.
Solve with your browser.
  1 6   7 8 5    
      1 4   2    
      2       7  
    1   6     8  
      3   4      
  5     9   4    
  8       9      
    4   1 3      
    9 8 2   1 4  
What is it?



Add Your Site · Terms Of Service · Privacy Policy


DISCLAIMER
Linkgrinder is a free service that searches the Internet and indexes all files found so that you may search quickly and easily for shared files. These files are created and made available individually by users whose identity we are not aware of and who we have no control over. In essence we function like a search engine tool; these files ARE NOT STORED OR SERVED BY OUR NETWORK. We are not responsible for any materials obtained by using our service. We do not monitor any of the contents of these files. These files may contain viruses, illegal materials, materials inappropriate for minors, offensive files and the like. BY USING OUR SERVICE, YOU ASSUME FULL RESPONSIBILITY FOR DOWNLOADING THESE MATERIALS AND WILL INDEMNIFY US FOR ANY DAMAGES THAT MAY BE INCURRED.

For More Specific Information VIEW OUR TERMS OF SERVICE.

Thank you and Enjoy!